commit bash-20051005 snapshot bash-3.1-beta
authorChet Ramey <chet.ramey@case.edu>
Sat, 3 Dec 2011 18:51:58 +0000 (13:51 -0500)
committerChet Ramey <chet.ramey@case.edu>
Sat, 3 Dec 2011 18:51:58 +0000 (13:51 -0500)
49 files changed:
CHANGES
CWRU/CWRU.chlog
CWRU/CWRU.chlog~
bashline.c
bashline.c.save [new file with mode: 0644]
bashline.c~
doc/bash.0
doc/bash.html
doc/bash.ps
doc/bashref.aux
doc/bashref.bt
doc/bashref.bts
doc/bashref.dvi
doc/bashref.html
doc/bashref.info
doc/bashref.log
doc/bashref.ps
doc/bashref.texi
doc/bashref.vr
doc/bashref.vrs
doc/builtins.0
doc/builtins.ps
doc/rbash.0
doc/rbash.ps
eval.c
jobs.c
jobs.c.trace [new file with mode: 0644]
lib/readline/bind.c
lib/readline/bind.c.save [new file with mode: 0644]
lib/readline/bind.c~
lib/readline/complete.c
lib/readline/complete.c~
lib/readline/doc/rltech.texi
lib/readline/doc/rltech.texi~
lib/readline/doc/version.texi
lib/readline/doc/version.texi~
lib/readline/isearch.c
lib/readline/isearch.c~
lib/readline/readline.h
lib/readline/readline.h~
lib/sh/snprintf.c
po/Makefile.in.in
po/bash.pot
po/en@boldquot.gmo
po/en@boldquot.po
po/en@quot.gmo
po/en@quot.po
po/readline.po
tests/RUN-ONE-TEST

diff --git a/CHANGES b/CHANGES
index c01698e..7deb764 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -81,7 +81,10 @@ y.  Changed the `-n' option to the `history' builtin to not reset the number of
     was intended to solve.
 
 z.  Improved the error message displayed when a shell script fails to execute
-    because the environment and size of command line arguments is too large.
+    because the environment and size of command line arguments are too large.
+
+aa. A small fix to make sure that $HISTCMD is evaluated whenever the shell is
+    saving commands to the history list, not just when HISTSIZE is defined.
 
 2.  Changes to Readline
 
index 5c791cf..99213cb 100644 (file)
@@ -12166,3 +12166,53 @@ bashhist.c
        - make $HISTCMD available anytime remember_on_history is non-zero,      
          which indicates that we're saving commands to the history, and
          let it evaluate to 1 if we're not
+
+                                  10/4
+                                  ----
+lib/sh/snprintf.c
+       - in floating(), make sure d != 0 before calling chkinfnan -- gcc on the
+         version of Solaris 9 I have translates 0 to -inf on the call
+
+[bash-3.1-beta1 frozen]
+
+                                  10/6
+                                  ----
+jobs.c
+       - set the_pipeline to NULL right away in cleanup_the_pipeline, and
+         dispose a copy of the pointer so we don't mess with the_pipeline
+         while we're in the process of destroying it
+       - block and unblock SIGCHLD around manipulating the_pipeline in
+         cleanup_the_pipeline  
+
+                                  10/7
+                                  ----
+[bash-3.1-beta1 released]
+
+lib/readline/isearch.c
+       - when switching directions, make sure we turn off the SF_REVERSE
+         flag in the search context's flags word if we're going from reverse
+         to forward i-search
+
+lib/readline/bind.c
+       - new function, rl_variable_value, returns a string representing a
+         bindable readline variable's value
+       - new auxiliary function, _rl_get_string_variable_value, encapsulates
+         everything needed to get a bindable string variable's value
+       - rewrote rl_variable_dumper to use _rl_get_string_variable_value
+
+lib/readline/readline.h
+       - new extern declaration for rl_variable_value
+
+lib/readline/doc/rltech.texi
+       - documented rl_variable_value
+
+bashline.c
+       - in command_word_completion_function, if readline sets
+         rl_completion_found_quote, but doesn't set rl_completion_quote_character,
+         we have an embedded quoted string or backslash-escaped character in
+         the passed text.  We need to dequote that before calling
+         filename_completion_function.  So far, this is in place only for
+         absolute program names (those containing a `/')
+       - in command_word_completion_function, use rl_variable_value to decide
+         whether or not we should ignore case, and use strncasecmp instead of
+         strncmp where appropriate
index 78fb9a2..e53aed1 100644 (file)
@@ -12159,3 +12159,56 @@ execute_cmd.c
        - in shell_execve, if the exec fails due to E2BIG or ENOMEM, just print
          the appropriate error message instead of checking out any interpreter
          specified with #!
+
+                                  9/30
+                                  ----
+bashhist.c
+       - make $HISTCMD available anytime remember_on_history is non-zero,      
+         which indicates that we're saving commands to the history, and
+         let it evaluate to 1 if we're not
+
+                                  10/4
+                                  ----
+lib/sh/snprintf.c
+       - in floating(), make sure d != 0 before calling chkinfnan -- gcc on the
+         version of Solaris 9 I have translates 0 to -inf on the call
+
+[bash-3.1-beta1 frozen]
+
+                                  10/6
+                                  ----
+jobs.c
+       - set the_pipeline to NULL right away in cleanup_the_pipeline, and
+         dispose a copy of the pointer so we don't mess with the_pipeline
+         while we're in the process of destroying it
+       - block and unblock SIGCHLD around manipulating the_pipeline in
+         cleanup_the_pipeline  
+
+                                  10/7
+                                  ----
+[bash-3.1-beta1 released]
+
+lib/readline/isearch.c
+       - when switching directions, make sure we turn off the SF_REVERSE
+         flag in the search context's flags word if we're going from reverse
+         to forward i-search
+
+lib/readline/bind.c
+       - new function, rl_variable_value, returns a string representing a
+         bindable readline variable's value
+       - new auxiliary function, _rl_get_string_variable_value, encapsulates
+         everything needed to get a bindable string variable's value
+       - rewrote rl_variable_dumper to use _rl_get_string_variable_value
+
+lib/readline/readline.h
+       - new extern declaration for rl_variable_value
+
+lib/readline/doc/rltech.texi
+       - documented rl_variable_value
+
+bashline.c
+       - in command_word_completion_function, if readline sets
+         rl_completion_found_quote, but doesn't set rl_completion_quote_character,
+         we have an embedded quoted string or backslash-escaped character in
+         the passed text.  We need to dequote that before calling
+         filename_completion_function
index 70da6b2..078492f 100644 (file)
@@ -1224,23 +1224,30 @@ command_word_completion_function (hint_text, state)
   static char *path = (char *)NULL;
   static char *val = (char *)NULL;
   static char *filename_hint = (char *)NULL;
-  static int path_index, hint_len, istate;
+  static char *dequoted_hint = (char *)NULL;
+  static int path_index, hint_len, dequoted_len, istate, igncase;
   static int mapping_over, local_index;
   static SHELL_VAR **varlist = (SHELL_VAR **)NULL;
 #if defined (ALIAS)
   static alias_t **alias_list = (alias_t **)NULL;
 #endif /* ALIAS */
+  char *temp;
 
   /* We have to map over the possibilities for command words.  If we have
      no state, then make one just for that purpose. */
   if (!state)
     {
+      if (dequoted_hint && dequoted_hint != hint)
+       free (dequoted_hint);
       if (hint)
        free (hint);
 
       mapping_over = 0;
       val = (char *)NULL;
 
+      temp = rl_variable_value ("completion-ignore-case");
+      igncase = strcmp (temp, "on") == 0;
+
       /* If this is an absolute program name, do not check it against
         aliases, reserved words, functions or builtins.  We must check
         whether or not it is unique, and, if so, whether that filename
@@ -1253,10 +1260,24 @@ command_word_completion_function (hint_text, state)
            hint = bash_tilde_expand (hint_text, 0);
          else
            hint = savestring (hint_text);
-         hint_len = strlen (hint);
+
+         dequoted_hint = hint;
+         /* If readline's completer found a quote character somewhere, but
+            didn't set the quote character, there must have been a quote
+            character embedded in the filename.  It can't be at the start of
+            the filename, so we need to dequote the filename before we look
+            in the file system for it. */
+         if (rl_completion_found_quote && rl_completion_quote_character == 0)
+           {
+             dequoted_hint = bash_dequote_filename (hint, 0);
+             free (hint);
+             hint = dequoted_hint;
+           }
+         dequoted_len = hint_len = strlen (hint);
 
          if (filename_hint)
            free (filename_hint);
+
          filename_hint = savestring (hint);
 
          mapping_over = 4;
@@ -1264,9 +1285,15 @@ command_word_completion_function (hint_text, state)
          goto inner;
        }
 
-      hint = savestring (hint_text);
-      hint_len = strlen (hint);
+      dequoted_hint = hint = savestring (hint_text);
+      dequoted_len = hint_len = strlen (hint);
 
+      if (rl_completion_found_quote && rl_completion_quote_character == 0)
+       {
+         dequoted_hint = bash_dequote_filename (hint, 0);
+         dequoted_len = strlen (dequoted_hint);
+       }
+      
       path = get_string_value ("PATH");
       path_index = dot_in_path = 0;
 
@@ -1393,7 +1420,6 @@ command_word_completion_function (hint_text, state)
        free (filename_hint);
 
       filename_hint = sh_makepath (current_path, hint, 0);
-
       free (current_path);
     }
 
@@ -1417,7 +1443,11 @@ command_word_completion_function (hint_text, state)
 
       if (absolute_program (hint))
        {
-         match = strncmp (val, hint, hint_len) == 0;
+         if (igncase == 0)
+           match = strncmp (val, hint, hint_len) == 0;
+         else
+           match = strncasecmp (val, hint, hint_len) == 0;
+
          /* If we performed tilde expansion, restore the original
             filename. */
          if (*hint_text == '~')
@@ -1450,7 +1480,10 @@ command_word_completion_function (hint_text, state)
          if (temp)
            {
              temp++;
-             freetemp = match = strncmp (temp, hint, hint_len) == 0;
+             if (igncase == 0)
+               freetemp = match = strncmp (temp, hint, hint_len) == 0;
+             else
+               freetemp = match = strncasecmp (temp, hint, hint_len) == 0;
              if (match)
                temp = savestring (temp);
            }
diff --git a/bashline.c.save b/bashline.c.save
new file mode 100644 (file)
index 0000000..f6ccd26
--- /dev/null
@@ -0,0 +1,3134 @@
+/* bashline.c -- Bash's interface to the readline library. */
+
+/* Copyright (C) 1987-2005 Free Software Foundation, Inc.
+
+   This file is part of GNU Bash, the Bourne Again SHell.
+
+   Bash is free software; you can redistribute it and/or modify it
+   under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 2, or (at your option)
+   any later version.
+
+   Bash is distributed in the hope that it will be useful, but WITHOUT
+   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+   or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
+   License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with Bash; see the file COPYING.  If not, write to the Free
+   Software Foundation, 59 Temple Place, Suite 330, Boston, MA 02111 USA. */
+
+#include "config.h"
+
+#if defined (READLINE)
+
+#include "bashtypes.h"
+#include "posixstat.h"
+
+#if defined (HAVE_UNISTD_H)
+#  include <unistd.h>
+#endif
+
+#if defined (HAVE_GRP_H)
+#  include <grp.h>
+#endif
+
+#if defined (HAVE_NETDB_H)
+#  include <netdb.h>
+#endif
+
+#include <stdio.h>
+#include "chartypes.h"
+#include "bashansi.h"
+#include "bashintl.h"
+
+#include "shell.h"
+#include "input.h"
+#include "builtins.h"
+#include "bashhist.h"
+#include "bashline.h"
+#include "execute_cmd.h"
+#include "findcmd.h"
+#include "pathexp.h"
+#include "builtins/common.h"
+#include <readline/rlconf.h>
+#include <readline/readline.h>
+#include <readline/history.h>
+
+#include <glob/glob.h>
+
+#if defined (ALIAS)
+#  include "alias.h"
+#endif
+
+#if defined (PROGRAMMABLE_COMPLETION)
+#  include "pcomplete.h"
+#endif
+
+/* These should agree with the defines for emacs_mode and vi_mode in
+   rldefs.h, even though that's not a public readline header file. */
+#ifndef EMACS_EDITING_MODE
+#  define NO_EDITING_MODE      -1
+#  define EMACS_EDITING_MODE    1
+#  define VI_EDITING_MODE       0
+#endif
+
+#if defined (BRACE_COMPLETION)
+extern int bash_brace_completion __P((int, int));
+#endif /* BRACE_COMPLETION */
+
+/* Forward declarations */
+
+/* Functions bound to keys in Readline for Bash users. */
+static int shell_expand_line __P((int, int));
+static int display_shell_version __P((int, int));
+static int operate_and_get_next __P((int, int));
+
+static int bash_ignore_filenames __P((char **));
+static int bash_ignore_everything __P((char **));
+
+#if defined (BANG_HISTORY)
+static char *history_expand_line_internal __P((char *));
+static int history_expand_line __P((int, int));
+static int tcsh_magic_space __P((int, int));
+#endif /* BANG_HISTORY */
+#ifdef ALIAS
+static int alias_expand_line __P((int, int));
+#endif
+#if defined (BANG_HISTORY) && defined (ALIAS)
+static int history_and_alias_expand_line __P((int, int));
+#endif
+
+/* Helper functions for Readline. */
+static void bash_directory_expansion __P((char **));
+static int bash_directory_completion_hook __P((char **));
+static int filename_completion_ignore __P((char **));
+static int bash_push_line __P((void));
+
+static void cleanup_expansion_error __P((void));
+static void maybe_make_readline_line __P((char *));
+static void set_up_new_line __P((char *));
+
+static int check_redir __P((int));
+static char **attempt_shell_completion __P((const char *, int, int));
+static char *variable_completion_function __P((const char *, int));
+static char *hostname_completion_function __P((const char *, int));
+static char *command_subst_completion_function __P((const char *, int));
+
+static void build_history_completion_array __P((void));
+static char *history_completion_generator __P((const char *, int));
+static int dynamic_complete_history __P((int, int));
+
+static void initialize_hostname_list __P((void));
+static void add_host_name __P((char *));
+static void snarf_hosts_from_file __P((char *));
+static char **hostnames_matching __P((char *));
+
+static void _ignore_completion_names __P((char **, sh_ignore_func_t *));
+static int name_is_acceptable __P((const char *));
+static int test_for_directory __P((const char *));
+static int return_zero __P((const char *));
+
+static char *bash_dequote_filename __P((char *, int));
+static char *quote_word_break_chars __P((char *));
+static char *bash_quote_filename __P((char *, int, char *));
+
+static int bash_execute_unix_command __P((int, int));
+static void init_unix_command_map __P((void));
+static int isolate_sequence __P((char *, int, int, int *));
+
+static int set_saved_history __P((void));
+
+#if defined (ALIAS)
+static int posix_edit_macros __P((int, int));
+#endif
+
+#if defined (PROGRAMMABLE_COMPLETION)
+static int find_cmd_start __P((int));
+static int find_cmd_end __P((int));
+static char *find_cmd_name __P((int));
+static char *prog_complete_return __P((const char *, int));
+
+static char **prog_complete_matches;
+#endif
+
+/* Variables used here but defined in other files. */
+#if defined (BANG_HISTORY)
+extern int hist_verify;
+#endif
+
+extern int current_command_line_count, last_command_exit_value;
+extern int posixly_correct, no_symbolic_links;
+extern char *current_prompt_string, *ps1_prompt;
+extern STRING_INT_ALIST word_token_alist[];
+extern sh_builtin_func_t *last_shell_builtin, *this_shell_builtin;
+
+/* SPECIFIC_COMPLETION_FUNCTIONS specifies that we have individual
+   completion functions which indicate what type of completion should be
+   done (at or before point) that can be bound to key sequences with
+   the readline library. */
+#define SPECIFIC_COMPLETION_FUNCTIONS
+
+#if defined (SPECIFIC_COMPLETION_FUNCTIONS)
+static int bash_specific_completion __P((int, rl_compentry_func_t *));
+
+static int bash_complete_filename_internal __P((int));
+static int bash_complete_username_internal __P((int));
+static int bash_complete_hostname_internal __P((int));
+static int bash_complete_variable_internal __P((int));
+static int bash_complete_command_internal __P((int));
+
+static int bash_complete_filename __P((int, int));
+static int bash_possible_filename_completions __P((int, int));
+static int bash_complete_username __P((int, int));
+static int bash_possible_username_completions __P((int, int));
+static int bash_complete_hostname __P((int, int));
+static int bash_possible_hostname_completions __P((int, int));
+static int bash_complete_variable __P((int, int));
+static int bash_possible_variable_completions __P((int, int));
+static int bash_complete_command __P((int, int));
+static int bash_possible_command_completions __P((int, int));
+
+static char *glob_complete_word __P((const char *, int));
+static int bash_glob_completion_internal __P((int));
+static int bash_glob_complete_word __P((int, int));
+static int bash_glob_expand_word __P((int, int));
+static int bash_glob_list_expansions __P((int, int));
+
+#endif /* SPECIFIC_COMPLETION_FUNCTIONS */
+
+static int edit_and_execute_command __P((int, int, int, char *));
+#if defined (VI_MODE)
+static int vi_edit_and_execute_command __P((int, int));
+static int bash_vi_complete __P((int, int));
+#endif
+static int emacs_edit_and_execute_command __P((int, int));
+
+/* Non-zero once initalize_readline () has been called. */
+int bash_readline_initialized = 0;
+
+/* If non-zero, we do hostname completion, breaking words at `@' and
+   trying to complete the stuff after the `@' from our own internal
+   host list. */
+int perform_hostname_completion = 1;
+
+/* If non-zero, we don't do command completion on an empty line. */
+int no_empty_command_completion;
+
+/* Set FORCE_FIGNORE if you want to honor FIGNORE even if it ignores the
+   only possible matches.  Set to 0 if you want to match filenames if they
+   are the only possible matches, even if FIGNORE says to. */
+int force_fignore = 1;
+
+static char *bash_completer_word_break_characters = " \t\n\"'@><=;|&(:";
+static char *bash_nohostname_word_break_characters = " \t\n\"'><=;|&(:";
+/* )) */
+
+static rl_hook_func_t *old_rl_startup_hook = (rl_hook_func_t *)NULL;
+
+static int dot_in_path = 0;
+
+/* What kind of quoting is performed by bash_quote_filename:
+       COMPLETE_DQUOTE = double-quoting the filename
+       COMPLETE_SQUOTE = single_quoting the filename
+       COMPLETE_BSQUOTE = backslash-quoting special chars in the filename
+*/
+#define COMPLETE_DQUOTE  1
+#define COMPLETE_SQUOTE  2
+#define COMPLETE_BSQUOTE 3
+static int completion_quoting_style = COMPLETE_BSQUOTE;
+
+/* Change the readline VI-mode keymaps into or out of Posix.2 compliance.
+   Called when the shell is put into or out of `posix' mode. */
+void
+posix_readline_initialize (on_or_off)
+     int on_or_off;
+{
+  if (on_or_off)
+    rl_variable_bind ("comment-begin", "#");
+#if defined (VI_MODE)
+  rl_bind_key_in_map (CTRL ('I'), on_or_off ? rl_insert : rl_complete, vi_insertion_keymap);
+#endif
+}
+
+/* When this function returns, rl_completer_word_break_characters points to
+   dynamically allocated memory. */
+int
+enable_hostname_completion (on_or_off)
+     int on_or_off;
+{
+  int old_value;
+  char *at, *nv, *nval;
+
+  old_value = perform_hostname_completion;
+
+  if (on_or_off)
+    {
+      perform_hostname_completion = 1;
+      rl_special_prefixes = "$@";
+    }
+  else
+    {
+      perform_hostname_completion = 0;
+      rl_special_prefixes = "$";
+    }
+
+  /* Now we need to figure out how to appropriately modify and assign
+     rl_completer_word_break_characters depending on whether we want
+     hostname completion on or off. */
+
+  /* If this is the first time this has been called
+     (bash_readline_initialized == 0), use the sames values as before, but
+     allocate new memory for rl_completer_word_break_characters. */
+
+  if (bash_readline_initialized == 0 &&
+      (rl_completer_word_break_characters == 0 || 
+       rl_completer_word_break_characters == rl_basic_word_break_characters))
+    {
+      if (on_or_off)
+       rl_completer_word_break_characters = savestring (bash_completer_word_break_characters);
+      else
+       rl_completer_word_break_characters = savestring (bash_nohostname_word_break_characters);
+    }
+  else
+    {
+      /* See if we have anything to do. */
+      at = strchr (rl_completer_word_break_characters, '@');
+      if ((at == 0 && on_or_off == 0) || (at != 0 && on_or_off != 0))
+        return old_value;
+
+      /* We have something to do.  Do it. */
+      nval = (char *)xmalloc (strlen (rl_completer_word_break_characters) + 1 + on_or_off);
+
+      if (on_or_off == 0)
+       {
+         /* Turn it off -- just remove `@' from word break chars.  We want
+            to remove all occurrences of `@' from the char list, so we loop
+            rather than just copy the rest of the list over AT. */
+         for (nv = nval, at = rl_completer_word_break_characters; *at; )
+           if (*at != '@')
+             *nv++ = *at++;
+           else
+             at++;
+         *nv = '\0';
+       }
+      else
+       {
+         nval[0] = '@';
+         strcpy (nval + 1, rl_completer_word_break_characters);
+        }
+
+      free (rl_completer_word_break_characters);
+      rl_completer_word_break_characters = nval;
+    }
+
+  return (old_value);
+}
+
+/* Called once from parse.y if we are going to use readline. */
+void
+initialize_readline ()
+{
+  rl_command_func_t *func;
+  char kseq[2];
+
+  if (bash_readline_initialized)
+    return;
+
+  rl_terminal_name = get_string_value ("TERM");
+  rl_instream = stdin;
+  rl_outstream = stderr;
+
+  /* Allow conditional parsing of the ~/.inputrc file. */
+  rl_readline_name = "Bash";
+
+  /* Add bindable names before calling rl_initialize so they may be
+     referenced in the various inputrc files. */
+  rl_add_defun ("shell-expand-line", shell_expand_line, -1);
+#ifdef BANG_HISTORY
+  rl_add_defun ("history-expand-line", history_expand_line, -1);
+  rl_add_defun ("magic-space", tcsh_magic_space, -1);
+#endif
+
+#ifdef ALIAS
+  rl_add_defun ("alias-expand-line", alias_expand_line, -1);
+#  ifdef BANG_HISTORY
+  rl_add_defun ("history-and-alias-expand-line", history_and_alias_expand_line, -1);
+#  endif
+#endif
+
+  /* Backwards compatibility. */
+  rl_add_defun ("insert-last-argument", rl_yank_last_arg, -1);
+
+  rl_add_defun ("operate-and-get-next", operate_and_get_next, -1);
+  rl_add_defun ("display-shell-version", display_shell_version, -1);
+  rl_add_defun ("edit-and-execute-command", emacs_edit_and_execute_command, -1);
+
+#if defined (BRACE_COMPLETION)
+  rl_add_defun ("complete-into-braces", bash_brace_completion, -1);
+#endif
+
+#if defined (SPECIFIC_COMPLETION_FUNCTIONS)
+  rl_add_defun ("complete-filename", bash_complete_filename, -1);
+  rl_add_defun ("possible-filename-completions", bash_possible_filename_completions, -1);
+  rl_add_defun ("complete-username", bash_complete_username, -1);
+  rl_add_defun ("possible-username-completions", bash_possible_username_completions, -1);
+  rl_add_defun ("complete-hostname", bash_complete_hostname, -1);
+  rl_add_defun ("possible-hostname-completions", bash_possible_hostname_completions, -1);
+  rl_add_defun ("complete-variable", bash_complete_variable, -1);
+  rl_add_defun ("possible-variable-completions", bash_possible_variable_completions, -1);
+  rl_add_defun ("complete-command", bash_complete_command, -1);
+  rl_add_defun ("possible-command-completions", bash_possible_command_completions, -1);
+  rl_add_defun ("glob-complete-word", bash_glob_complete_word, -1);
+  rl_add_defun ("glob-expand-word", bash_glob_expand_word, -1);
+  rl_add_defun ("glob-list-expansions", bash_glob_list_expansions, -1);
+#endif
+
+  rl_add_defun ("dynamic-complete-history", dynamic_complete_history, -1);
+
+  /* Bind defaults before binding our custom shell keybindings. */
+  if (RL_ISSTATE(RL_STATE_INITIALIZED) == 0)
+    rl_initialize ();
+
+  /* Bind up our special shell functions. */
+  rl_bind_key_if_unbound_in_map (CTRL('E'), shell_expand_line, emacs_meta_keymap);
+
+#ifdef BANG_HISTORY
+  rl_bind_key_if_unbound_in_map ('^', history_expand_line, emacs_meta_keymap);
+#endif
+
+  rl_bind_key_if_unbound_in_map (CTRL ('O'), operate_and_get_next, emacs_standard_keymap);
+  rl_bind_key_if_unbound_in_map (CTRL ('V'), display_shell_version, emacs_ctlx_keymap);
+
+  /* In Bash, the user can switch editing modes with "set -o [vi emacs]",
+     so it is not necessary to allow C-M-j for context switching.  Turn
+     off this occasionally confusing behaviour. */
+  kseq[0] = CTRL('J');
+  kseq[1] = '\0';
+  func = rl_function_of_keyseq (kseq, emacs_meta_keymap, (int *)NULL);
+  if (func == rl_vi_editing_mode)
+    rl_unbind_key_in_map (CTRL('J'), emacs_meta_keymap);
+  kseq[0] = CTRL('M');
+  func = rl_function_of_keyseq (kseq, emacs_meta_keymap, (int *)NULL);
+  if (func == rl_vi_editing_mode)
+    rl_unbind_key_in_map (CTRL('M'), emacs_meta_keymap);
+#if defined (VI_MODE)
+  rl_unbind_key_in_map (CTRL('E'), vi_movement_keymap);
+#endif
+
+#if defined (BRACE_COMPLETION)
+  rl_bind_key_if_unbound_in_map ('{', bash_brace_completion, emacs_meta_keymap); /*}*/
+#endif /* BRACE_COMPLETION */
+
+#if defined (SPECIFIC_COMPLETION_FUNCTIONS)
+  rl_bind_key_if_unbound_in_map ('/', bash_complete_filename, emacs_meta_keymap);
+  rl_bind_key_if_unbound_in_map ('/', bash_possible_filename_completions, emacs_ctlx_keymap);
+
+  /* Have to jump through hoops here because there is a default binding for
+     M-~ (rl_tilde_expand) */
+  kseq[0] = '~';
+  kseq[1] = '\0';
+  func = rl_function_of_keyseq (kseq, emacs_meta_keymap, (int *)NULL);
+  if (func == 0 || func == rl_tilde_expand)
+    rl_bind_keyseq_in_map (kseq, bash_complete_username, emacs_meta_keymap);
+
+  rl_bind_key_if_unbound_in_map ('~', bash_possible_username_completions, emacs_ctlx_keymap);
+
+  rl_bind_key_if_unbound_in_map ('@', bash_complete_hostname, emacs_meta_keymap);
+  rl_bind_key_if_unbound_in_map ('@', bash_possible_hostname_completions, emacs_ctlx_keymap);
+
+  rl_bind_key_if_unbound_in_map ('$', bash_complete_variable, emacs_meta_keymap);
+  rl_bind_key_if_unbound_in_map ('$', bash_possible_variable_completions, emacs_ctlx_keymap);
+
+  rl_bind_key_if_unbound_in_map ('!', bash_complete_command, emacs_meta_keymap);
+  rl_bind_key_if_unbound_in_map ('!', bash_possible_command_completions, emacs_ctlx_keymap);
+
+  rl_bind_key_if_unbound_in_map ('g', bash_glob_complete_word, emacs_meta_keymap);
+  rl_bind_key_if_unbound_in_map ('*', bash_glob_expand_word, emacs_ctlx_keymap);
+  rl_bind_key_if_unbound_in_map ('g', bash_glob_list_expansions, emacs_ctlx_keymap);
+
+#endif /* SPECIFIC_COMPLETION_FUNCTIONS */
+
+  kseq[0] = TAB;
+  kseq[1] = '\0';
+  func = rl_function_of_keyseq (kseq, emacs_meta_keymap, (int *)NULL);
+  if (func == 0 || func == rl_tab_insert)
+    rl_bind_key_in_map (TAB, dynamic_complete_history, emacs_meta_keymap);
+
+  /* Tell the completer that we want a crack first. */
+  rl_attempted_completion_function = attempt_shell_completion;
+
+  /* Tell the completer that we might want to follow symbolic links or
+     do other expansion on directory names. */
+  rl_directory_completion_hook = bash_directory_completion_hook;
+
+  /* Tell the filename completer we want a chance to ignore some names. */
+  rl_ignore_some_completions_function = filename_completion_ignore;
+
+  /* Bind C-xC-e to invoke emacs and run result as commands. */
+  rl_bind_key_if_unbound_in_map (CTRL ('E'), emacs_edit_and_execute_command, emacs_ctlx_keymap);
+#if defined (VI_MODE)
+  rl_bind_key_if_unbound_in_map ('v', vi_edit_and_execute_command, vi_movement_keymap);
+#  if defined (ALIAS)
+  rl_bind_key_if_unbound_in_map ('@', posix_edit_macros, vi_movement_keymap);
+#  endif
+
+  rl_bind_key_in_map ('\\', bash_vi_complete, vi_movement_keymap);
+  rl_bind_key_in_map ('*', bash_vi_complete, vi_movement_keymap);
+  rl_bind_key_in_map ('=', bash_vi_complete, vi_movement_keymap);
+#endif
+
+  rl_completer_quote_characters = "'\"";
+
+  /* This sets rl_completer_word_break_characters and rl_special_prefixes
+     to the appropriate values, depending on whether or not hostname
+     completion is enabled. */
+  enable_hostname_completion (perform_hostname_completion);
+
+  /* characters that need to be quoted when appearing in filenames. */
+  rl_filename_quote_characters = " \t\n\\\"'@<>=;|&()#$`?*[!:{";       /*}*/
+  rl_filename_quoting_function = bash_quote_filename;
+  rl_filename_dequoting_function = bash_dequote_filename;
+  rl_char_is_quoted_p = char_is_quoted;
+
+#if 0
+  /* This is superfluous and makes it impossible to use tab completion in
+     vi mode even when explicitly binding it in ~/.inputrc.  sv_strict_posix()
+     should already have called posix_readline_initialize() when
+     posixly_correct was set. */
+  if (posixly_correct)
+    posix_readline_initialize (1);
+#endif
+
+  bash_readline_initialized = 1;
+}
+
+/* On Sun systems at least, rl_attempted_completion_function can end up
+   getting set to NULL, and rl_completion_entry_function set to do command
+   word completion if Bash is interrupted while trying to complete a command
+   word.  This just resets all the completion functions to the right thing.
+   It's called from throw_to_top_level(). */
+void
+bashline_reinitialize ()
+{
+  tilde_initialize ();
+  rl_attempted_completion_function = attempt_shell_completion;
+  rl_completion_entry_function = NULL;
+  rl_directory_completion_hook = bash_directory_completion_hook;
+  rl_ignore_some_completions_function = filename_completion_ignore;
+}
+
+/* Contains the line to push into readline. */
+static char *push_to_readline = (char *)NULL;
+
+/* Push the contents of push_to_readline into the
+   readline buffer. */
+static int
+bash_push_line ()
+{
+  if (push_to_readline)
+    {
+      rl_insert_text (push_to_readline);
+      free (push_to_readline);
+      push_to_readline = (char *)NULL;
+      rl_startup_hook = old_rl_startup_hook;
+    }
+  return 0;
+}
+
+/* Call this to set the initial text for the next line to read
+   from readline. */
+int
+bash_re_edit (line)
+     char *line;
+{
+  FREE (push_to_readline);
+
+  push_to_readline = savestring (line);
+  old_rl_startup_hook = rl_startup_hook;
+  rl_startup_hook = bash_push_line;
+
+  return (0);
+}
+
+static int
+display_shell_version (count, c)
+     int count, c;
+{
+  rl_crlf ();
+  show_shell_version (0);
+  putc ('\r', rl_outstream);
+  fflush (rl_outstream);
+  rl_on_new_line ();
+  rl_redisplay ();
+  return 0;
+}
+
+/* **************************************************************** */
+/*                                                                 */
+/*                          Readline Stuff                         */
+/*                                                                 */
+/* **************************************************************** */
+
+/* If the user requests hostname completion, then simply build a list
+   of hosts, and complete from that forever more, or at least until
+   HOSTFILE is unset. */
+
+/* THIS SHOULD BE A STRINGLIST. */
+/* The kept list of hostnames. */
+static char **hostname_list = (char **)NULL;
+
+/* The physical size of the above list. */
+static int hostname_list_size;
+
+/* The number of hostnames in the above list. */
+static int hostname_list_length;
+
+/* Whether or not HOSTNAME_LIST has been initialized. */
+int hostname_list_initialized = 0;
+
+/* Initialize the hostname completion table. */
+static void
+initialize_hostname_list ()
+{
+  char *temp;
+
+  temp = get_string_value ("HOSTFILE");
+  if (temp == 0)
+    temp = get_string_value ("hostname_completion_file");
+  if (temp == 0)
+    temp = DEFAULT_HOSTS_FILE;
+
+  snarf_hosts_from_file (temp);
+
+  if (hostname_list)
+    hostname_list_initialized++;
+}
+
+/* Add NAME to the list of hosts. */
+static void
+add_host_name (name)
+     char *name;
+{
+  if (hostname_list_length + 2 > hostname_list_size)
+    {
+      hostname_list_size = (hostname_list_size + 32) - (hostname_list_size % 32);
+      hostname_list = strvec_resize (hostname_list, hostname_list_size);
+    }
+
+  hostname_list[hostname_list_length++] = savestring (name);
+  hostname_list[hostname_list_length] = (char *)NULL;
+}
+
+#define cr_whitespace(c) ((c) == '\r' || (c) == '\n' || whitespace(c))
+
+static void
+snarf_hosts_from_file (filename)
+     char *filename;
+{
+  FILE *file;
+  char *temp, buffer[256], name[256];
+  register int i, start;
+
+  file = fopen (filename, "r");
+  if (file == 0)
+    return;
+
+  while (temp = fgets (buffer, 255, file))
+    {
+      /* Skip to first character. */
+      for (i = 0; buffer[i] && cr_whitespace (buffer[i]); i++)
+       ;
+
+      /* If comment or blank line, ignore. */
+      if (buffer[i] == '\0' || buffer[i] == '#')
+       continue;
+
+      /* If `preprocessor' directive, do the include. */
+      if (strncmp (buffer + i, "$include ", 9) == 0)
+       {
+         char *incfile, *t;
+
+         /* Find start of filename. */
+         for (incfile = buffer + i + 9; *incfile && whitespace (*incfile); incfile++)
+           ;
+
+         /* Find end of filename. */
+         for (t = incfile; *t && cr_whitespace (*t) == 0; t++)
+           ;
+
+         *t = '\0';
+
+         snarf_hosts_from_file (incfile);
+         continue;
+       }
+
+      /* Skip internet address if present. */
+      if (DIGIT (buffer[i]))
+       for (; buffer[i] && cr_whitespace (buffer[i]) == 0; i++);
+
+      /* Gobble up names.  Each name is separated with whitespace. */
+      while (buffer[i])
+       {
+         for (; cr_whitespace (buffer[i]); i++)
+           ;
+         if (buffer[i] == '\0' || buffer[i] ==  '#')
+           break;
+
+         /* Isolate the current word. */
+         for (start = i; buffer[i] && cr_whitespace (buffer[i]) == 0; i++)
+           ;
+         if (i == start)
+           continue;
+         strncpy (name, buffer + start, i - start);
+         name[i - start] = '\0';
+         add_host_name (name);
+       }
+    }
+  fclose (file);
+}
+
+/* Return the hostname list. */
+char **
+get_hostname_list ()
+{
+  if (hostname_list_initialized == 0)
+    initialize_hostname_list ();
+  return (hostname_list);
+}
+
+void
+clear_hostname_list ()
+{
+  register int i;
+
+  if (hostname_list_initialized == 0)
+    return;
+  for (i = 0; i < hostname_list_length; i++)
+    free (hostname_list[i]);
+  hostname_list_length = 0;
+}
+
+/* Return a NULL terminated list of hostnames which begin with TEXT.
+   Initialize the hostname list the first time if neccessary.
+   The array is malloc ()'ed, but not the individual strings. */
+static char **
+hostnames_matching (text)
+     char *text;
+{
+  register int i, len, nmatch, rsize;
+  char **result;
+
+  if (hostname_list_initialized == 0)
+    initialize_hostname_list ();
+
+  if (hostname_list_initialized == 0)
+    return ((char **)NULL);
+
+  /* Special case.  If TEXT consists of nothing, then the whole list is
+     what is desired. */
+  if (*text == '\0')
+    {
+      result = strvec_create (1 + hostname_list_length);
+      for (i = 0; i < hostname_list_length; i++)
+       result[i] = hostname_list[i];
+      result[i] = (char *)NULL;
+      return (result);
+    }
+
+  /* Scan until found, or failure. */
+  len = strlen (text);
+  result = (char **)NULL;
+  for (i = nmatch = rsize = 0; i < hostname_list_length; i++)
+    {
+      if (STREQN (text, hostname_list[i], len) == 0)
+       continue;
+
+      /* OK, it matches.  Add it to the list. */
+      if (nmatch >= (rsize - 1))
+       {
+         rsize = (rsize + 16) - (rsize % 16);
+         result = strvec_resize (result, rsize);
+       }
+
+      result[nmatch++] = hostname_list[i];
+    }
+  if (nmatch)
+    result[nmatch] = (char *)NULL;
+  return (result);
+}
+
+/* The equivalent of the Korn shell C-o operate-and-get-next-history-line
+   editing command. */
+static int saved_history_line_to_use = -1;
+
+static int
+set_saved_history ()
+{
+  if (saved_history_line_to_use >= 0)
+    rl_get_previous_history (history_length - saved_history_line_to_use, 0);
+  saved_history_line_to_use = -1;
+  rl_startup_hook = old_rl_startup_hook;
+  return (0);
+}
+
+static int
+operate_and_get_next (count, c)
+     int count, c;
+{
+  int where;
+
+  /* Accept the current line. */
+  rl_newline (1, c);
+
+  /* Find the current line, and find the next line to use. */
+  where = where_history ();
+
+  if ((history_is_stifled () && (history_length >= history_max_entries)) ||
+      (where >= history_length - 1))
+    saved_history_line_to_use = where;
+  else
+    saved_history_line_to_use = where + 1;
+
+  old_rl_startup_hook = rl_startup_hook;
+  rl_startup_hook = set_saved_history;
+
+  return 0;
+}
+
+/* This vi mode command causes VI_EDIT_COMMAND to be run on the current
+   command being entered (if no explicit argument is given), otherwise on
+   a command from the history file. */
+
+#define VI_EDIT_COMMAND                "fc -e \"${VISUAL:-${EDITOR:-vi}}\""
+#define EMACS_EDIT_COMMAND     "fc -e \"${VISUAL:-${EDITOR:-emacs}}\""
+#define POSIX_VI_EDIT_COMMAND  "fc -e vi"
+
+static int
+edit_and_execute_command (count, c, editing_mode, edit_command)
+     int count, c, editing_mode;
+     char *edit_command;
+{
+  char *command;
+  int r, cclc, rrs;
+
+  rrs = rl_readline_state;
+  cclc = current_command_line_count;
+
+  /* Accept the current line. */
+  rl_newline (1, c);
+
+  if (rl_explicit_arg)
+    {
+      command = (char *)xmalloc (strlen (edit_command) + 8);
+      sprintf (command, "%s %d", edit_command, count);
+    }
+  else
+    {
+      /* Take the command we were just editing, add it to the history file,
+        then call fc to operate on it.  We have to add a dummy command to
+        the end of the history because fc ignores the last command (assumes
+        it's supposed to deal with the command before the `fc'). */
+      using_history ();
+      bash_add_history (rl_line_buffer);
+      bash_add_history ("");
+      history_lines_this_session++;
+      using_history ();
+      command = savestring (edit_command);
+    }
+
+  /* Now, POSIX.1-2001 and SUSv3 say that the commands executed from the
+     temporary file should be placed into the history.  We don't do that
+     yet. */
+  r = parse_and_execute (command, (editing_mode == VI_EDITING_MODE) ? "v" : "C-xC-e", SEVAL_NOHIST);
+
+  current_command_line_count = cclc;
+
+  /* Now erase the contents of the current line and undo the effects of the
+     rl_accept_line() above.  We don't even want to make the text we just
+     executed available for undoing. */
+  rl_line_buffer[0] = '\0';    /* XXX */
+  rl_point = rl_end = 0;
+  rl_done = 0;
+  rl_readline_state = rrs;
+
+  rl_forced_update_display ();
+
+  return r;
+}
+
+#if defined (VI_MODE)
+static int
+vi_edit_and_execute_command (count, c)
+     int count, c;
+{
+  if (posixly_correct)
+    return (edit_and_execute_command (count, c, VI_EDITING_MODE, POSIX_VI_EDIT_COMMAND));
+  else
+    return (edit_and_execute_command (count, c, VI_EDITING_MODE, VI_EDIT_COMMAND));
+}
+#endif /* VI_MODE */
+
+static int
+emacs_edit_and_execute_command (count, c)
+     int count, c;
+{
+  return (edit_and_execute_command (count, c, EMACS_EDITING_MODE, EMACS_EDIT_COMMAND));
+}
+
+#if defined (ALIAS)
+static int
+posix_edit_macros (count, key)
+     int count, key;
+{
+  int c;
+  char alias_name[3], *alias_value, *macro;
+
+  c = rl_read_key ();
+  alias_name[0] = '_';
+  alias_name[1] = c;
+  alias_name[2] = '\0';
+
+  alias_value = get_alias_value (alias_name);
+  if (alias_value && *alias_value)
+    {
+      macro = savestring (alias_value);
+      rl_push_macro_input (macro);
+    }
+  return 0;
+}
+#endif
+
+/* **************************************************************** */
+/*                                                                 */
+/*                     How To Do Shell Completion                  */
+/*                                                                 */
+/* **************************************************************** */
+
+#define COMMAND_SEPARATORS ";|&{(`"
+/* )} */ 
+
+static int
+check_redir (ti)
+     int ti;
+{
+  register int this_char, prev_char;
+
+  /* Handle the two character tokens `>&', `<&', and `>|'.
+     We are not in a command position after one of these. */
+  this_char = rl_line_buffer[ti];
+  prev_char = rl_line_buffer[ti - 1];
+
+  if ((this_char == '&' && (prev_char == '<' || prev_char == '>')) ||
+      (this_char == '|' && prev_char == '>'))
+    return (1);
+  else if ((this_char == '{' && prev_char == '$') || /* } */
+          (char_is_quoted (rl_line_buffer, ti)))
+    return (1);
+  return (0);
+}
+
+#if defined (PROGRAMMABLE_COMPLETION)
+/*
+ * XXX - because of the <= start test, and setting os = s+1, this can
+ * potentially return os > start.  This is probably not what we want to
+ * happen, but fix later after 2.05a-release.
+ */
+static int
+find_cmd_start (start)
+     int start;
+{
+  register int s, os;
+
+  os = 0;
+  while (((s = skip_to_delim (rl_line_buffer, os, COMMAND_SEPARATORS)) <= start) &&
+        rl_line_buffer[s])
+    os = s+1;
+  return os;
+}
+
+static int
+find_cmd_end (end)
+     int end;
+{
+  register int e;
+
+  e = skip_to_delim (rl_line_buffer, end, COMMAND_SEPARATORS);
+  return e;
+}
+
+static char *
+find_cmd_name (start)
+     int start;
+{
+  char *name;
+  register int s, e;
+
+  for (s = start; whitespace (rl_line_buffer[s]); s++)
+    ;
+
+  /* skip until a shell break character */
+  e = skip_to_delim (rl_line_buffer, s, "()<>;&| \t\n");
+
+  name = substring (rl_line_buffer, s, e);
+
+  return (name);
+}
+
+static char *
+prog_complete_return (text, matchnum)
+     const char *text;
+     int matchnum;
+{
+  static int ind;
+
+  if (matchnum == 0)
+    ind = 0;
+
+  if (prog_complete_matches == 0 || prog_complete_matches[ind] == 0)
+    return (char *)NULL;
+  return (prog_complete_matches[ind++]);
+}
+
+#endif /* PROGRAMMABLE_COMPLETION */
+
+/* Do some completion on TEXT.  The indices of TEXT in RL_LINE_BUFFER are
+   at START and END.  Return an array of matches, or NULL if none. */
+static char **
+attempt_shell_completion (text, start, end)
+     const char *text;
+     int start, end;
+{
+  int in_command_position, ti, saveti, qc;
+  char **matches, *command_separator_chars;
+
+  command_separator_chars = COMMAND_SEPARATORS;
+  matches = (char **)NULL;
+  rl_ignore_some_completions_function = filename_completion_ignore;
+
+  /* Determine if this could be a command word.  It is if it appears at
+     the start of the line (ignoring preceding whitespace), or if it
+     appears after a character that separates commands.  It cannot be a
+     command word if we aren't at the top-level prompt. */
+  ti = start - 1;
+  saveti = qc = -1;
+
+  while ((ti > -1) && (whitespace (rl_line_buffer[ti])))
+    ti--;
+
+#if 1
+  /* If this is an open quote, maybe we're trying to complete a quoted
+     command name. */
+  if (ti >= 0 && (rl_line_buffer[ti] == '"' || rl_line_buffer[ti] == '\''))
+    {
+      qc = rl_line_buffer[ti];
+      saveti = ti--;
+      while (ti > -1 && (whitespace (rl_line_buffer[ti])))
+       ti--;
+    }
+#endif
+      
+  in_command_position = 0;
+  if (ti < 0)
+    {
+      /* Only do command completion at the start of a line when we
+        are prompting at the top level. */
+      if (current_prompt_string == ps1_prompt)
+       in_command_position++;
+    }
+  else if (member (rl_line_buffer[ti], command_separator_chars))
+    {
+      in_command_position++;
+
+      if (check_redir (ti) == 1)
+       in_command_position = 0;
+    }
+  else
+    {
+      /* This still could be in command position.  It is possible
+        that all of the previous words on the line are variable
+        assignments. */
+    }
+
+  /* Check that we haven't incorrectly flagged a closed command substitution
+     as indicating we're in a command position. */
+  if (in_command_position && ti >= 0 && rl_line_buffer[ti] == '`' &&
+       *text != '`' && unclosed_pair (rl_line_buffer, end, "`") == 0)
+    in_command_position = 0;
+
+  /* Special handling for command substitution.  If *TEXT is a backquote,
+     it can be the start or end of an old-style command substitution, or
+     unmatched.  If it's unmatched, both calls to unclosed_pair will
+     succeed.  */
+  if (*text == '`' && 
+       (in_command_position || (unclosed_pair (rl_line_buffer, start, "`") &&
+                                unclosed_pair (rl_line_buffer, end, "`"))))
+    matches = rl_completion_matches (text, command_subst_completion_function);
+
+#if defined (PROGRAMMABLE_COMPLETION)
+  /* Attempt programmable completion. */
+  if (!matches && in_command_position == 0 && prog_completion_enabled &&
+      (progcomp_size () > 0) && current_prompt_string == ps1_prompt)
+    {
+      int s, e, foundcs;
+      char *n;
+
+      /* XXX - don't free the members */
+      if (prog_complete_matches)
+       free (prog_complete_matches);
+      prog_complete_matches = (char **)NULL;
+
+      s = find_cmd_start (start);
+      e = find_cmd_end (end);
+      n = find_cmd_name (s);
+      if (e > s && assignment (n, 0) == 0)
+       prog_complete_matches = programmable_completions (n, text, s, e, &foundcs);
+      else
+       foundcs = 0;
+      FREE (n);
+      /* XXX - if we found a COMPSPEC for the command, just return whatever
+        the programmable completion code returns, and disable the default
+        filename completion that readline will do unless the COPT_DEFAULT
+        option has been set with the `-o default' option to complete. */
+      if (foundcs)
+       {
+         /* If the user specified that the compspec returns filenames, make
+            sure that readline knows it. */
+         if (foundcs & COPT_FILENAMES)
+           rl_filename_completion_desired = 1;
+         /* If the user doesn't want a space appended, tell readline. */
+         if (foundcs & COPT_NOSPACE)
+           rl_completion_suppress_append = 1;
+         /* Turn what the programmable completion code returns into what
+            readline wants.  I should have made compute_lcd_of_matches
+            external... */
+         matches = rl_completion_matches (text, prog_complete_return);
+         if ((foundcs & COPT_DEFAULT) == 0)
+           rl_attempted_completion_over = 1;   /* no default */
+         if (matches || ((foundcs & COPT_BASHDEFAULT) == 0))
+           return (matches);
+       }
+    }
+#endif
+
+  if (matches == 0)
+    matches = bash_default_completion (text, start, end, qc, in_command_position);
+
+  return matches;
+}
+
+char **
+bash_default_completion (text, start, end, qc, in_command_position)
+     const char *text;
+     int start, end, qc, in_command_position;
+{
+  char **matches;
+
+  matches = (char **)NULL;
+
+  /* New posix-style command substitution or variable name? */
+  if (!matches && *text == '$')
+    {
+      if (qc != '\'' && text[1] == '(') /* ) */
+       matches = rl_completion_matches (text, command_subst_completion_function);
+      else
+       matches = rl_completion_matches (text, variable_completion_function);
+    }
+
+  /* If the word starts in `~', and there is no slash in the word, then
+     try completing this word as a username. */
+  if (!matches && *text == '~' && !xstrchr (text, '/'))
+    matches = rl_completion_matches (text, rl_username_completion_function);
+
+  /* Another one.  Why not?  If the word starts in '@', then look through
+     the world of known hostnames for completion first. */
+  if (!matches && perform_hostname_completion && *text == '@')
+    matches = rl_completion_matches (text, hostname_completion_function);
+
+  /* And last, (but not least) if this word is in a command position, then
+     complete over possible command names, including aliases, functions,
+     and command names. */
+  if (!matches && in_command_position)
+    {
+      if (start == 0 && end == 0 && text[0] == '\0' && no_empty_command_completion)
+       {
+         matches = (char **)NULL;
+         rl_ignore_some_completions_function = bash_ignore_everything;
+       }
+      else
+       {
+#define CMD_IS_DIR(x)  (absolute_pathname(x) == 0 && absolute_program(x) == 0 && *(x) != '~' && test_for_directory (x))
+
+         dot_in_path = 0;
+         matches = rl_completion_matches (text, command_word_completion_function);
+
+         /* If we are attempting command completion and nothing matches, we
+            do not want readline to perform filename completion for us.  We
+            still want to be able to complete partial pathnames, so set the
+            completion ignore function to something which will remove
+            filenames and leave directories in the match list. */
+         if (matches == (char **)NULL)
+           rl_ignore_some_completions_function = bash_ignore_filenames;
+         else if (matches[1] == 0 && CMD_IS_DIR(matches[0]) && dot_in_path == 0)
+           /* If we found a single match, without looking in the current
+              directory (because it's not in $PATH), but the found name is
+              also a command in the current directory, suppress appending any
+              terminating character, since it's ambiguous. */
+           {
+             rl_completion_suppress_append = 1;
+             rl_filename_completion_desired = 0;
+           }
+         else if (matches[0] && matches[1] && STREQ (matches[0], matches[1]) && CMD_IS_DIR (matches[0]))
+           /* There are multiple instances of the same match (duplicate
+              completions haven't yet been removed).  In this case, all of
+              the matches will be the same, and the duplicate removal code
+              will distill them all down to one.  We turn on
+              rl_completion_suppress_append for the same reason as above.
+              Remember: we only care if there's eventually a single unique
+              completion.  If there are multiple completions this won't
+              make a difference and the problem won't occur. */
+           {
+             rl_completion_suppress_append = 1;
+             rl_filename_completion_desired = 0;
+           }
+       }
+    }
+
+  /* This could be a globbing pattern, so try to expand it using pathname
+     expansion. */
+  if (!matches && glob_pattern_p (text))
+    {
+      matches = rl_completion_matches (text, glob_complete_word);
+      /* A glob expression that matches more than one filename is problematic.
+        If we match more than one filename, punt. */
+      if (matches && matches[1] && rl_completion_type == TAB)
+       {
+         strvec_dispose (matches);
+         matches = (char **)0;
+       }
+    }
+
+  return (matches);
+}
+
+/* This is the function to call when the word to complete is in a position
+   where a command word can be found.  It grovels $PATH, looking for commands
+   that match.  It also scans aliases, function names, and the shell_builtin
+   table. */
+char *
+command_word_completion_function (hint_text, state)
+     const char *hint_text;
+     int state;
+{
+  static char *hint = (char *)NULL;
+  static char *path = (char *)NULL;
+  static char *val = (char *)NULL;
+  static char *filename_hint = (char *)NULL;
+  static int path_index, hint_len, istate;
+  static int mapping_over, local_index;
+  static SHELL_VAR **varlist = (SHELL_VAR **)NULL;
+#if defined (ALIAS)
+  static alias_t **alias_list = (alias_t **)NULL;
+#endif /* ALIAS */
+  char *temp;
+
+  /* We have to map over the possibilities for command words.  If we have
+     no state, then make one just for that purpose. */
+  if (!state)
+    {
+      if (hint)
+       free (hint);
+
+      mapping_over = 0;
+      val = (char *)NULL;
+
+      /* If this is an absolute program name, do not check it against
+        aliases, reserved words, functions or builtins.  We must check
+        whether or not it is unique, and, if so, whether that filename
+        is executable. */
+      if (absolute_program (hint_text))
+       {
+         /* Perform tilde expansion on what's passed, so we don't end up
+            passing filenames with tildes directly to stat(). */
+         if (*hint_text == '~')
+           hint = bash_tilde_expand (hint_text, 0);
+         else
+           hint = savestring (hint_text);
+
+         /* If readline's completer found a quote character somewhere, but
+            didn't set the quote character, there must have been a quote
+            character embedded in the filename.  It can't be at the start of
+            the filename, so we need to dequote the filename before we look
+            in the file system for it. */
+         if (rl_completion_found_quote && rl_completion_quote_character == 0)
+           {
+             temp = bash_dequote_filename (hint, 0);
+             free (hint);
+             hint = temp;
+           }
+         hint_len = strlen (hint);
+
+         if (filename_hint)
+           free (filename_hint);
+
+         filename_hint = savestring (hint);
+
+         mapping_over = 4;
+         istate = 0;
+         goto inner;
+       }
+
+      hint = savestring (hint_text);
+      hint_len = strlen (hint);
+
+      path = get_string_value ("PATH");
+      path_index = dot_in_path = 0;
+
+      /* Initialize the variables for each type of command word. */
+      local_index = 0;
+
+      if (varlist)
+       free (varlist);
+
+      varlist = all_visible_functions ();
+
+#if defined (ALIAS)
+      if (alias_list)
+       free (alias_list);
+
+      alias_list = all_aliases ();
+#endif /* ALIAS */
+    }
+
+  /* mapping_over says what we are currently hacking.  Note that every case
+     in this list must fall through when there are no more possibilities. */
+
+  switch (mapping_over)
+    {
+    case 0:                    /* Aliases come first. */
+#if defined (ALIAS)
+      while (alias_list && alias_list[local_index])
+       {
+         register char *alias;
+
+         alias = alias_list[local_index++]->name;
+
+         if (STREQN (alias, hint, hint_len))
+           return (savestring (alias));
+       }
+#endif /* ALIAS */
+      local_index = 0;
+      mapping_over++;
+
+    case 1:                    /* Then shell reserved words. */
+      {
+       while (word_token_alist[local_index].word)
+         {
+           register char *reserved_word;
+
+           reserved_word = word_token_alist[local_index++].word;
+
+           if (STREQN (reserved_word, hint, hint_len))
+             return (savestring (reserved_word));
+         }
+       local_index = 0;
+       mapping_over++;
+      }
+
+    case 2:                    /* Then function names. */
+      while (varlist && varlist[local_index])
+       {
+         register char *varname;
+
+         varname = varlist[local_index++]->name;
+
+         if (STREQN (varname, hint, hint_len))
+           return (savestring (varname));
+       }
+      local_index = 0;
+      mapping_over++;
+
+    case 3:                    /* Then shell builtins. */
+      for (; local_index < num_shell_builtins; local_index++)
+       {
+         /* Ignore it if it doesn't have a function pointer or if it
+            is not currently enabled. */
+         if (!shell_builtins[local_index].function ||
+             (shell_builtins[local_index].flags & BUILTIN_ENABLED) == 0)
+           continue;
+
+         if (STREQN (shell_builtins[local_index].name, hint, hint_len))
+           {
+             int i = local_index++;
+
+             return (savestring (shell_builtins[i].name));
+           }
+       }
+      local_index = 0;
+      mapping_over++;
+    }
+
+  /* Repeatedly call filename_completion_function while we have
+     members of PATH left.  Question:  should we stat each file?
+     Answer: we call executable_file () on each file. */
+ outer:
+
+  istate = (val != (char *)NULL);
+
+  if (!istate)
+    {
+      char *current_path;
+
+      /* Get the next directory from the path.  If there is none, then we
+        are all done. */
+      if (!path || !path[path_index] ||
+         (current_path = extract_colon_unit (path, &path_index)) == 0)
+       return ((char *)NULL);
+
+      if (*current_path == 0)
+       {
+         free (current_path);
+         current_path = savestring (".");
+       }
+
+      if (*current_path == '~')
+       {
+         char *t;
+
+         t = bash_tilde_expand (current_path, 0);
+         free (current_path);
+         current_path = t;
+       }
+
+      if (current_path[0] == '.' && current_path[1] == '\0')
+       dot_in_path = 1;
+
+      if (filename_hint)
+       free (filename_hint);
+
+      filename_hint = sh_makepath (current_path, hint, 0);
+
+      free (current_path);
+    }
+
+ inner:
+  val = rl_filename_completion_function (filename_hint, istate);
+  istate = 1;
+
+  if (val == 0)
+    {
+      /* If the hint text is an absolute program, then don't bother
+        searching through PATH. */
+      if (absolute_program (hint))
+       return ((char *)NULL);
+
+      goto outer;
+    }
+  else
+    {
+      int match, freetemp;
+      char *temp;
+
+      if (absolute_program (hint))
+       {
+         match = strncmp (val, hint, hint_len) == 0;
+         /* If we performed tilde expansion, restore the original
+            filename. */
+         if (*hint_text == '~')
+           {
+             int l, tl, vl, dl;
+             char *rd;
+             vl = strlen (val);
+             tl = strlen (hint_text);
+#if 0
+             l = vl - hint_len;        /* # of chars added */
+#else
+             rd = savestring (filename_hint);
+             bash_directory_expansion (&rd);
+             dl = strlen (rd);
+             l = vl - dl;              /* # of chars added */
+             free (rd);
+#endif
+             temp = (char *)xmalloc (l + 2 + tl);
+             strcpy (temp, hint_text);
+             strcpy (temp + tl, val + vl - l);
+           }
+         else
+           temp = savestring (val);
+         freetemp = 1;
+       }
+      else
+       {
+         temp = strrchr (val, '/');
+
+         if (temp)
+           {
+             temp++;
+             freetemp = match = strncmp (temp, hint, hint_len) == 0;
+             if (match)
+               temp = savestring (temp);
+           }
+         else
+           freetemp = match = 0;
+       }
+
+      /* If we have found a match, and it is an executable file or a
+        directory name, return it. */
+      if (match && executable_or_directory (val))
+       {
+         free (val);
+         val = "";             /* So it won't be NULL. */
+         return (temp);
+       }
+      else
+       {
+         if (freetemp)
+           free (temp);
+         free (val);
+         goto inner;
+       }
+    }
+}
+
+/* Completion inside an unterminated command substitution. */
+static char *
+command_subst_completion_function (text, state)
+     const char *text;
+     int state;
+{
+  static char **matches = (char **)NULL;
+  static const char *orig_start;
+  static char *filename_text = (char *)NULL;
+  static int cmd_index, start_len;
+  char *value;
+
+  if (state == 0)
+    {
+      if (filename_text)
+       free (filename_text);
+      orig_start = text;
+      if (*text == '`')
+       text++;
+      else if (*text == '$' && text[1] == '(') /* ) */
+       text += 2;
+      /* If the text was quoted, suppress any quote character that the
+        readline completion code would insert. */
+      rl_completion_suppress_quote = 1;
+      start_len = text - orig_start;
+      filename_text = savestring (text);
+      if (matches)
+       free (matches);
+
+      /*
+       * At this point we can entertain the idea of re-parsing
+       * `filename_text' into a (possibly incomplete) command name and
+       * arguments, and doing completion based on that.  This is
+       * currently very rudimentary, but it is a small improvement.
+       */
+      for (value = filename_text + strlen (filename_text) - 1; value > filename_text; value--)
+        if (whitespace (*value) || member (*value, COMMAND_SEPARATORS))
+          break;
+      if (value <= filename_text)
+       matches = rl_completion_matches (filename_text, command_word_completion_function);
+      else
+       {
+         value++;
+         start_len += value - filename_text;
+         if (whitespace (value[-1]))
+           matches = rl_completion_matches (value, rl_filename_completion_function);
+         else
+           matches = rl_completion_matches (value, command_word_completion_function);
+       }
+
+      /* If there is more than one match, rl_completion_matches has already
+        put the lcd in matches[0].  Skip over it. */
+      cmd_index = matches && matches[0] && matches[1];
+
+      /* If there's a single match and it's a directory, set the append char
+        to the expected `/'.  Otherwise, don't append anything. */
+      if (matches && matches[0] && matches[1] == 0 && test_for_directory (matches[0]))
+       rl_completion_append_character = '/';
+      else
+       rl_completion_suppress_append = 1;
+    }
+
+  if (!matches || !matches[cmd_index])
+    {
+      rl_filename_quoting_desired = 0; /* disable quoting */
+      return ((char *)NULL);
+    }
+  else
+    {
+      value = (char *)xmalloc (1 + start_len + strlen (matches[cmd_index]));
+
+      if (start_len == 1)
+       value[0] = *orig_start;
+      else
+       strncpy (value, orig_start, start_len);
+
+      strcpy (value + start_len, matches[cmd_index]);
+
+      cmd_index++;
+      return (value);
+    }
+}
+
+/* Okay, now we write the entry_function for variable completion. */
+static char *
+variable_completion_function (text, state)
+     const char *text;
+     int state;
+{
+  static char **varlist = (char **)NULL;
+  static int varlist_index;
+  static char *varname = (char *)NULL;
+  static int namelen;
+  static int first_char, first_char_loc;
+
+  if (!state)
+    {
+      if (varname)
+       free (varname);
+
+      first_char_loc = 0;
+      first_char = text[0];
+
+      if (first_char == '$')
+       first_char_loc++;
+
+      if (text[first_char_loc] == '{')
+       first_char_loc++;
+
+      varname = savestring (text + first_char_loc);
+
+      namelen = strlen (varname);
+      if (varlist)
+       strvec_dispose (varlist);
+
+      varlist = all_variables_matching_prefix (varname);
+      varlist_index = 0;
+    }
+
+  if (!varlist || !varlist[varlist_index])
+    {
+      return ((char *)NULL);
+    }
+  else
+    {
+      char *value;
+
+      value = (char *)xmalloc (4 + strlen (varlist[varlist_index]));
+
+      if (first_char_loc)
+       {
+         value[0] = first_char;
+         if (first_char_loc == 2)
+           value[1] = '{';
+       }
+
+      strcpy (value + first_char_loc, varlist[varlist_index]);
+      if (first_char_loc == 2)
+       strcat (value, "}");
+
+      varlist_index++;
+      return (value);
+    }
+}
+
+/* How about a completion function for hostnames? */
+static char *
+hostname_completion_function (text, state)
+     const char *text;
+     int state;
+{
+  static char **list = (char **)NULL;
+  static int list_index = 0;
+  static int first_char, first_char_loc;
+
+  /* If we don't have any state, make some. */
+  if (state == 0)
+    {
+      FREE (list);
+
+      list = (char **)NULL;
+
+      first_char_loc = 0;
+      first_char = *text;
+
+      if (first_char == '@')
+       first_char_loc++;
+
+      list = hostnames_matching ((char *)text+first_char_loc);
+      list_index = 0;
+    }
+
+  if (list && list[list_index])
+    {
+      char *t;
+
+      t = (char *)xmalloc (2 + strlen (list[list_index]));
+      *t = first_char;
+      strcpy (t + first_char_loc, list[list_index]);
+      list_index++;
+      return (t);
+    }
+
+  return ((char *)NULL);
+}
+
+/*
+ * A completion function for service names from /etc/services (or wherever).
+ */
+char *
+bash_servicename_completion_function (text, state)
+     const char *text;
+     int state;
+{
+#if defined (__WIN32__) || defined (__OPENNT) || !defined (HAVE_GETSERVENT)
+  return ((char *)NULL);
+#else
+  static char *sname = (char *)NULL;
+  static struct servent *srvent;
+  static int snamelen, firstc;
+  char *value;
+  char **alist, *aentry;
+  int afound;
+
+  if (state == 0)
+    {
+      FREE (sname);
+      firstc = *text;
+
+      sname = savestring (text);
+      snamelen = strlen (sname);
+      setservent (0);
+    }
+
+  while (srvent = getservent ())
+    {
+      afound = 0;
+      if (snamelen == 0 || (STREQN (sname, srvent->s_name, snamelen)))
+       break;
+      /* Not primary, check aliases */
+      for (alist = srvent->s_aliases; aentry = *alist; alist++)
+       {
+         if (STREQN (sname, aentry, snamelen))
+           {
+             afound = 1;
+             break;
+           }
+       }
+
+      if (afound)
+       break;
+    }
+
+  if (srvent == 0)
+    {
+      endservent ();
+      return ((char *)NULL);
+    }
+
+  value = afound ? savestring (aentry) : savestring (srvent->s_name);
+  return value;
+#endif
+}
+
+/*
+ * A completion function for group names from /etc/group (or wherever).
+ */
+char *
+bash_groupname_completion_function (text, state)
+     const char *text;
+     int state;
+{
+#if defined (__WIN32__) || defined (__OPENNT) || !defined (HAVE_GRP_H)
+  return ((char *)NULL);
+#else
+  static char *gname = (char *)NULL;
+  static struct group *grent;
+  static int gnamelen;
+  char *value;
+
+  if (state == 0)
+    {
+      FREE (gname);
+      gname = savestring (text);
+      gnamelen = strlen (gname);
+
+      setgrent ();
+    }
+
+  while (grent = getgrent ())
+    {
+      if (gnamelen == 0 || (STREQN (gname, grent->gr_name, gnamelen)))
+        break;
+    }
+
+  if (grent == 0)
+    {
+      endgrent ();
+      return ((char *)NULL);
+    }
+
+  value = savestring (grent->gr_name);
+  return (value);
+#endif
+}
+
+/* Functions to perform history and alias expansions on the current line. */
+
+#if defined (BANG_HISTORY)
+/* Perform history expansion on the current line.  If no history expansion
+   is done, pre_process_line() returns what it was passed, so we need to
+   allocate a new line here. */
+static char *
+history_expand_line_internal (line)
+     char *line;
+{
+  char *new_line;
+  int old_verify;
+
+  old_verify = hist_verify;
+  hist_verify = 0;
+  new_line = pre_process_line (line, 0, 0);
+  hist_verify = old_verify;
+
+  return (new_line == line) ? savestring (line) : new_line;
+}
+#endif
+
+/* There was an error in expansion.  Let the preprocessor print
+   the error here. */
+static void
+cleanup_expansion_error ()
+{
+  char *to_free;
+#if defined (BANG_HISTORY)
+  int old_verify;
+
+  old_verify = hist_verify;
+  hist_verify = 0;
+#endif
+
+  fprintf (rl_outstream, "\r\n");
+  to_free = pre_process_line (rl_line_buffer, 1, 0);
+#if defined (BANG_HISTORY)
+  hist_verify = old_verify;
+#endif
+  if (to_free != rl_line_buffer)
+    FREE (to_free);
+  putc ('\r', rl_outstream);
+  rl_forced_update_display ();
+}
+
+/* If NEW_LINE differs from what is in the readline line buffer, add an
+   undo record to get from the readline line buffer contents to the new
+   line and make NEW_LINE the current readline line. */
+static void
+maybe_make_readline_line (new_line)
+     char *new_line;
+{
+  if (strcmp (new_line, rl_line_buffer) != 0)
+    {
+      rl_point = rl_end;
+
+      rl_add_undo (UNDO_BEGIN, 0, 0, 0);
+      rl_delete_text (0, rl_point);
+      rl_point = rl_end = rl_mark = 0;
+      rl_insert_text (new_line);
+      rl_add_undo (UNDO_END, 0, 0, 0);
+    }
+}
+
+/* Make NEW_LINE be the current readline line.  This frees NEW_LINE. */
+static void
+set_up_new_line (new_line)
+     char *new_line;
+{
+  int old_point, at_end;
+
+  old_point = rl_point;
+  at_end = rl_point == rl_end;
+
+  /* If the line was history and alias expanded, then make that
+     be one thing to undo. */
+  maybe_make_readline_line (new_line);
+  free (new_line);
+
+  /* Place rl_point where we think it should go. */
+  if (at_end)
+    rl_point = rl_end;
+  else if (old_point < rl_end)
+    {
+      rl_point = old_point;
+      if (!whitespace (rl_line_buffer[rl_point]))
+       rl_forward_word (1, 0);
+    }
+}
+
+#if defined (ALIAS)
+/* Expand aliases in the current readline line. */
+static int
+alias_expand_line (count, ignore)
+     int count, ignore;
+{
+  char *new_line;
+
+  new_line = alias_expand (rl_line_buffer);
+
+  if (new_line)
+    {
+      set_up_new_line (new_line);
+      return (0);
+    }
+  else
+    {
+      cleanup_expansion_error ();
+      return (1);
+    }
+}
+#endif
+
+#if defined (BANG_HISTORY)
+/* History expand the line. */
+static int
+history_expand_line (count, ignore)
+     int count, ignore;
+{
+  char *new_line;
+
+  new_line = history_expand_line_internal (rl_line_buffer);
+
+  if (new_line)
+    {
+      set_up_new_line (new_line);
+      return (0);
+    }
+  else
+    {
+      cleanup_expansion_error ();
+      return (1);
+    }
+}
+
+/* Expand history substitutions in the current line and then insert a
+   space (hopefully close to where we were before). */
+static int
+tcsh_magic_space (count, ignore)
+     int count, ignore;
+{
+  int dist_from_end, old_point;
+
+  old_point = rl_point;
+  dist_from_end = rl_end - rl_point;
+  if (history_expand_line (count, ignore) == 0)
+    {
+      /* Try a simple heuristic from Stephen Gildea <gildea@intouchsys.com>.
+        This works if all expansions were before rl_point or if no expansions
+        were performed. */
+      rl_point = (old_point == 0) ? old_point : rl_end - dist_from_end;
+      rl_insert (1, ' ');
+      return (0);
+    }
+  else
+    return (1);
+}
+#endif /* BANG_HISTORY */
+
+/* History and alias expand the line. */
+static int
+history_and_alias_expand_line (count, ignore)
+     int count, ignore;
+{
+  char *new_line;
+
+  new_line = 0;
+#if defined (BANG_HISTORY)
+  new_line = history_expand_line_internal (rl_line_buffer);
+#endif
+
+#if defined (ALIAS)
+  if (new_line)
+    {
+      char *alias_line;
+
+      alias_line = alias_expand (new_line);
+      free (new_line);
+      new_line = alias_line;
+    }
+#endif /* ALIAS */
+
+  if (new_line)
+    {
+      set_up_new_line (new_line);
+      return (0);
+    }
+  else
+    {
+      cleanup_expansion_error ();
+      return (1);
+    }
+}
+
+/* History and alias expand the line, then perform the shell word
+   expansions by calling expand_string.  This can't use set_up_new_line()
+   because we want the variable expansions as a separate undo'able
+   set of operations. */
+static int
+shell_expand_line (count, ignore)
+     int count, ignore;
+{
+  char *new_line;
+  WORD_LIST *expanded_string;
+
+  new_line = 0;
+#if defined (BANG_HISTORY)
+  new_line = history_expand_line_internal (rl_line_buffer);
+#endif
+
+#if defined (ALIAS)
+  if (new_line)
+    {
+      char *alias_line;
+
+      alias_line = alias_expand (new_line);
+      free (new_line);
+      new_line = alias_line;
+    }
+#endif /* ALIAS */
+
+  if (new_line)
+    {
+      int old_point = rl_point;
+      int at_end = rl_point == rl_end;
+
+      /* If the line was history and alias expanded, then make that
+        be one thing to undo. */
+      maybe_make_readline_line (new_line);
+      free (new_line);
+
+      /* If there is variable expansion to perform, do that as a separate
+        operation to be undone. */
+      new_line = savestring (rl_line_buffer);
+      expanded_string = expand_string (new_line, 0);
+      FREE (new_line);
+      if (expanded_string == 0)
+       {
+         new_line = (char *)xmalloc (1);
+         new_line[0] = '\0';
+       }
+      else
+       {
+         new_line = string_list (expanded_string);
+         dispose_words (expanded_string);
+       }
+
+      maybe_make_readline_line (new_line);
+      free (new_line);
+
+      /* Place rl_point where we think it should go. */
+      if (at_end)
+       rl_point = rl_end;
+      else if (old_point < rl_end)
+       {
+         rl_point = old_point;
+         if (!whitespace (rl_line_buffer[rl_point]))
+           rl_forward_word (1, 0);
+       }
+      return 0;
+    }
+  else
+    {
+      cleanup_expansion_error ();
+      return 1;
+    }
+}
+
+/* If FIGNORE is set, then don't match files with the given suffixes when
+   completing filenames.  If only one of the possibilities has an acceptable
+   suffix, delete the others, else just return and let the completer
+   signal an error.  It is called by the completer when real
+   completions are done on filenames by the completer's internal
+   function, not for completion lists (M-?) and not on "other"
+   completion types, such as hostnames or commands. */
+
+static struct ignorevar fignore =
+{
+  "FIGNORE",
+  (struct ign *)0,
+  0,
+  (char *)0,
+  (sh_iv_item_func_t *) 0,
+};
+
+static void
+_ignore_completion_names (names, name_func)
+     char **names;
+     sh_ignore_func_t *name_func;
+{
+  char **newnames;
+  int idx, nidx;
+  char **oldnames;
+  int oidx;
+
+  /* If there is only one completion, see if it is acceptable.  If it is
+     not, free it up.  In any case, short-circuit and return.  This is a
+     special case because names[0] is not the prefix of the list of names
+     if there is only one completion; it is the completion itself. */
+  if (names[1] == (char *)0)
+    {
+      if (force_fignore)
+       if ((*name_func) (names[0]) == 0)
+         {
+           free (names[0]);
+           names[0] = (char *)NULL;
+         }
+
+      return;
+    }
+
+  /* Allocate space for array to hold list of pointers to matching
+     filenames.  The pointers are copied back to NAMES when done. */
+  for (nidx = 1; names[nidx]; nidx++)
+    ;
+  newnames = strvec_create (nidx + 1);
+
+  if (force_fignore == 0)
+    {
+      oldnames = strvec_create (nidx - 1);
+      oidx = 0;
+    }
+
+  newnames[0] = names[0];
+  for (idx = nidx = 1; names[idx]; idx++)
+    {
+      if ((*name_func) (names[idx]))
+       newnames[nidx++] = names[idx];
+      else if (force_fignore == 0)
+       oldnames[oidx++] = names[idx];
+      else
+       free (names[idx]);
+    }
+
+  newnames[nidx] = (char *)NULL;
+
+  /* If none are acceptable then let the completer handle it. */
+  if (nidx == 1)
+    {
+      if (force_fignore)
+       {
+         free (names[0]);
+         names[0] = (char *)NULL;
+       }
+      else
+       free (oldnames);
+
+      free (newnames);
+      return;
+    }
+
+  if (force_fignore == 0)
+    {
+      while (oidx)
+       free (oldnames[--oidx]);
+      free (oldnames);
+    }
+
+  /* If only one is acceptable, copy it to names[0] and return. */
+  if (nidx == 2)
+    {
+      free (names[0]);
+      names[0] = newnames[1];
+      names[1] = (char *)NULL;
+      free (newnames);
+      return;
+    }
+
+  /* Copy the acceptable names back to NAMES, set the new array end,
+     and return. */
+  for (nidx = 1; newnames[nidx]; nidx++)
+    names[nidx] = newnames[nidx];
+  names[nidx] = (char *)NULL;
+  free (newnames);
+}
+
+static int
+name_is_acceptable (name)
+     const char *name;
+{
+  struct ign *p;
+  int nlen;
+
+  for (nlen = strlen (name), p = fignore.ignores; p->val; p++)
+    {
+      if (nlen > p->len && p->len > 0 && STREQ (p->val, &name[nlen - p->len]))
+       return (0);
+    }
+
+  return (1);
+}
+
+#if 0
+static int
+ignore_dot_names (name)
+     char *name;
+{
+  return (name[0] != '.');
+}
+#endif
+
+static int
+filename_completion_ignore (names)
+     char **names;
+{
+#if 0
+  if (glob_dot_filenames == 0)
+    _ignore_completion_names (names, ignore_dot_names);
+#endif
+
+  setup_ignore_patterns (&fignore);
+
+  if (fignore.num_ignores == 0)
+    return 0;
+
+  _ignore_completion_names (names, name_is_acceptable);
+
+  return 0;
+}
+
+/* Return 1 if NAME is a directory. */
+static int
+test_for_directory (name)
+     const char *name;
+{
+  struct stat finfo;
+  char *fn;
+
+  fn = bash_tilde_expand (name, 0);
+  if (stat (fn, &finfo) != 0)
+    {
+      free (fn);
+      return 0;
+    }
+  free (fn);
+  return (S_ISDIR (finfo.st_mode));
+}
+
+/* Remove files from NAMES, leaving directories. */
+static int
+bash_ignore_filenames (names)
+     char **names;
+{
+  _ignore_completion_names (names, test_for_directory);
+  return 0;
+}
+
+static int
+return_zero (name)
+     const char *name;
+{
+  return 0;
+}
+
+static int
+bash_ignore_everything (names)
+     char **names;
+{
+  _ignore_completion_names (names, return_zero);
+  return 0;
+}
+
+/* Simulate the expansions that will be performed by
+   rl_filename_completion_function.  This must be called with the address of
+   a pointer to malloc'd memory. */
+static void
+bash_directory_expansion (dirname)
+     char **dirname;
+{
+  char *d;
+
+  d = savestring (*dirname);
+
+  if (rl_directory_rewrite_hook)
+    (*rl_directory_rewrite_hook) (&d);
+
+  if (rl_directory_completion_hook && (*rl_directory_completion_hook) (&d))
+    {
+      free (*dirname);
+      *dirname = d;
+    }
+}
+  
+/* Handle symbolic link references and other directory name
+   expansions while hacking completion. */
+static int
+bash_directory_completion_hook (dirname)
+     char **dirname;
+{
+  char *local_dirname, *new_dirname, *t;
+  int return_value, should_expand_dirname;
+  WORD_LIST *wl;
+  struct stat sb;
+
+  return_value = should_expand_dirname = 0;
+  local_dirname = *dirname;
+
+#if 0
+  should_expand_dirname = xstrchr (local_dirname, '$') || xstrchr (local_dirname, '`');
+#else
+  if (xstrchr (local_dirname, '$'))
+    should_expand_dirname = 1;
+  else
+    {
+      t = xstrchr (local_dirname, '`');
+      if (t && unclosed_pair (local_dirname, strlen (local_dirname), "`") == 0)
+       should_expand_dirname = 1;
+    }
+#endif
+
+#if defined (HAVE_LSTAT)
+  if (should_expand_dirname && lstat (local_dirname, &sb) == 0)
+#else
+  if (should_expand_dirname && stat (local_dirname, &sb) == 0)
+#endif
+    should_expand_dirname = 0;
+
+  if (should_expand_dirname)  
+    {
+      new_dirname = savestring (local_dirname);
+      wl = expand_prompt_string (new_dirname, 0);      /* does the right thing */
+      if (wl)
+       {
+         *dirname = string_list (wl);
+         /* Tell the completer to replace the directory name only if we
+            actually expanded something. */
+         return_value = STREQ (local_dirname, *dirname) == 0;
+         free (local_dirname);
+         free (new_dirname);
+         dispose_words (wl);
+         local_dirname = *dirname;
+       }
+      else
+       {
+         free (new_dirname);
+         free (local_dirname);
+         *dirname = (char *)xmalloc (1);
+         **dirname = '\0';
+         return 1;
+       }
+    }
+
+  if (!no_symbolic_links && (local_dirname[0] != '.' || local_dirname[1]))
+    {
+      char *temp1, *temp2;
+      int len1, len2;
+
+      t = get_working_directory ("symlink-hook");
+      temp1 = make_absolute (local_dirname, t);
+      free (t);
+      temp2 = sh_canonpath (temp1, PATH_CHECKDOTDOT|PATH_CHECKEXISTS);
+      /* If we can't canonicalize, bail. */
+      if (temp2 == 0)
+       {
+         free (temp1);
+         return 1;
+       }
+      len1 = strlen (temp1);
+      if (temp1[len1 - 1] == '/')
+       {
+         len2 = strlen (temp2);
+         if (len2 > 2)         /* don't append `/' to `/' or `//' */
+           {
+             temp2 = (char *)xrealloc (temp2, len2 + 2);
+             temp2[len2] = '/';
+             temp2[len2 + 1] = '\0';
+           }
+       }
+      free (local_dirname);
+      *dirname = temp2;
+      free (temp1);
+    }
+  return (return_value);
+}
+
+static char **history_completion_array = (char **)NULL;
+static int harry_size;
+static int harry_len;
+
+static void
+build_history_completion_array ()
+{
+  register int i, j;
+  HIST_ENTRY **hlist;
+  char **tokens;
+
+  /* First, clear out the current dynamic history completion list. */
+  if (harry_size)
+    {
+      strvec_dispose (history_completion_array);
+      history_completion_array = (char **)NULL;
+      harry_size = 0;
+      harry_len = 0;
+    }
+
+  /* Next, grovel each line of history, making each shell-sized token
+     a separate entry in the history_completion_array. */
+  hlist = history_list ();
+
+  if (hlist)
+    {
+      for (i = 0; hlist[i]; i++)
+       {
+         /* Separate each token, and place into an array. */
+         tokens = history_tokenize (hlist[i]->line);
+
+         for (j = 0; tokens && tokens[j]; j++)
+           {
+             if (harry_len + 2 > harry_size)
+               history_completion_array = strvec_resize (history_completion_array, harry_size += 10);
+
+             history_completion_array[harry_len++] = tokens[j];
+             history_completion_array[harry_len] = (char *)NULL;
+           }
+         free (tokens);
+       }
+
+      /* Sort the complete list of tokens. */
+      qsort (history_completion_array, harry_len, sizeof (char *), (QSFUNC *)strvec_strcmp);
+    }
+}
+
+static char *
+history_completion_generator (hint_text, state)
+     const char *hint_text;
+     int state;
+{
+  static int local_index, len;
+  static const char *text;
+
+  /* If this is the first call to the generator, then initialize the
+     list of strings to complete over. */
+  if (state == 0)
+    {
+      local_index = 0;
+      build_history_completion_array ();
+      text = hint_text;
+      len = strlen (text);
+    }
+
+  while (history_completion_array && history_completion_array[local_index])
+    {
+      if (strncmp (text, history_completion_array[local_index++], len) == 0)
+       return (savestring (history_completion_array[local_index - 1]));
+    }
+  return ((char *)NULL);
+}
+
+static int
+dynamic_complete_history (count, key)
+     int count, key;
+{
+  int r;
+
+  rl_compentry_func_t *orig_func;
+  rl_completion_func_t *orig_attempt_func;
+
+  orig_func = rl_completion_entry_function;
+  orig_attempt_func = rl_attempted_completion_function;
+  rl_completion_entry_function = history_completion_generator;
+  rl_attempted_completion_function = (rl_completion_func_t *)NULL;
+
+  /* XXX - use rl_completion_mode here? */
+  if (rl_last_func == dynamic_complete_history)
+    r = rl_complete_internal ('?');
+  else
+    r = rl_complete_internal (TAB);
+
+  rl_completion_entry_function = orig_func;
+  rl_attempted_completion_function = orig_attempt_func;
+  return r;
+}
+
+#if defined (SPECIFIC_COMPLETION_FUNCTIONS)
+static int
+bash_complete_username (ignore, ignore2)
+     int ignore, ignore2;
+{
+  return bash_complete_username_internal (rl_completion_mode (bash_complete_username));
+}
+
+static int
+bash_possible_username_completions (ignore, ignore2)
+     int ignore, ignore2;
+{
+  return bash_complete_username_internal ('?');
+}
+
+static int
+bash_complete_username_internal (what_to_do)
+     int what_to_do;
+{
+  return bash_specific_completion (what_to_do, rl_username_completion_function);
+}
+
+static int
+bash_complete_filename (ignore, ignore2)
+     int ignore, ignore2;
+{
+  return bash_complete_filename_internal (rl_completion_mode (bash_complete_filename));
+}
+
+static int
+bash_possible_filename_completions (ignore, ignore2)
+     int ignore, ignore2;
+{
+  return bash_complete_filename_internal ('?');
+}
+
+static int
+bash_complete_filename_internal (what_to_do)
+     int what_to_do;
+{
+  rl_compentry_func_t *orig_func;
+  rl_completion_func_t *orig_attempt_func;
+  rl_icppfunc_t *orig_dir_func;
+  /*const*/ char *orig_rl_completer_word_break_characters;
+  int r;
+
+  orig_func = rl_completion_entry_function;
+  orig_attempt_func = rl_attempted_completion_function;
+  orig_dir_func = rl_directory_completion_hook;
+  orig_rl_completer_word_break_characters = rl_completer_word_break_characters;
+  rl_completion_entry_function = rl_filename_completion_function;
+  rl_attempted_completion_function = (rl_completion_func_t *)NULL;
+  rl_directory_completion_hook = (rl_icppfunc_t *)NULL;
+  rl_completer_word_break_characters = " \t\n\"\'";
+
+  r = rl_complete_internal (what_to_do);
+
+  rl_completion_entry_function = orig_func;
+  rl_attempted_completion_function = orig_attempt_func;
+  rl_directory_completion_hook = orig_dir_func;
+  rl_completer_word_break_characters = orig_rl_completer_word_break_characters;
+
+  return r;
+}
+
+static int
+bash_complete_hostname (ignore, ignore2)
+     int ignore, ignore2;
+{
+  return bash_complete_hostname_internal (rl_completion_mode (bash_complete_hostname));
+}
+
+static int
+bash_possible_hostname_completions (ignore, ignore2)
+     int ignore, ignore2;
+{
+  return bash_complete_hostname_internal ('?');
+}
+
+static int
+bash_complete_variable (ignore, ignore2)
+     int ignore, ignore2;
+{
+  return bash_complete_variable_internal (rl_completion_mode (bash_complete_variable));
+}
+
+static int
+bash_possible_variable_completions (ignore, ignore2)
+     int ignore, ignore2;
+{
+  return bash_complete_variable_internal ('?');
+}
+
+static int
+bash_complete_command (ignore, ignore2)
+     int ignore, ignore2;
+{
+  return bash_complete_command_internal (rl_completion_mode (bash_complete_command));
+}
+
+static int
+bash_possible_command_completions (ignore, ignore2)
+     int ignore, ignore2;
+{
+  return bash_complete_command_internal ('?');
+}
+
+static int
+bash_complete_hostname_internal (what_to_do)
+     int what_to_do;
+{
+  return bash_specific_completion (what_to_do, hostname_completion_function);
+}
+
+static int
+bash_complete_variable_internal (what_to_do)
+     int what_to_do;
+{
+  return bash_specific_completion (what_to_do, variable_completion_function);
+}
+
+static int
+bash_complete_command_internal (what_to_do)
+     int what_to_do;
+{
+  return bash_specific_completion (what_to_do, command_word_completion_function);
+}
+
+static char *globtext;
+static char *globorig;
+
+static char *
+glob_complete_word (text, state)
+     const char *text;
+     int state;
+{
+  static char **matches = (char **)NULL;
+  static int ind;
+  int glen;
+  char *ret, *ttext;
+
+  if (state == 0)
+    {
+      rl_filename_completion_desired = 1;
+      FREE (matches);
+      if (globorig != globtext)
+       FREE (globorig);
+      FREE (globtext);
+
+      ttext = bash_tilde_expand (text, 0);
+
+      if (rl_explicit_arg)
+       {
+         globorig = savestring (ttext);
+         glen = strlen (ttext);
+         globtext = (char *)xmalloc (glen + 2);
+         strcpy (globtext, ttext);
+         globtext[glen] = '*';
+         globtext[glen+1] = '\0';
+       }
+      else
+        globtext = globorig = savestring (ttext);
+
+      if (ttext != text)
+       free (ttext);
+
+      matches = shell_glob_filename (globtext);
+      if (GLOB_FAILED (matches))
+       matches = (char **)NULL;
+      ind = 0;
+    }
+
+  ret = matches ? matches[ind] : (char *)NULL;
+  ind++;
+  return ret;
+}
+
+static int
+bash_glob_completion_internal (what_to_do)
+     int what_to_do;
+{
+  return bash_specific_completion (what_to_do, glob_complete_word);
+}
+
+/* A special quoting function so we don't end up quoting globbing characters
+   in the word if there are no matches or multiple matches. */
+static char *
+bash_glob_quote_filename (s, rtype, qcp)
+     char *s;
+     int rtype;
+     char *qcp;
+{
+  if (globorig && qcp && *qcp == '\0' && STREQ (s, globorig))
+    return (savestring (s));
+  else
+    return (bash_quote_filename (s, rtype, qcp));
+}
+
+static int
+bash_glob_complete_word (count, key)
+     int count, key;
+{
+  int r;
+  rl_quote_func_t *orig_quoting_function;
+
+  if (rl_editing_mode == EMACS_EDITING_MODE)
+    rl_explicit_arg = 1;       /* force `*' append */
+  orig_quoting_function = rl_filename_quoting_function;
+  rl_filename_quoting_function = bash_glob_quote_filename;
+  
+  r = bash_glob_completion_internal (rl_completion_mode (bash_glob_complete_word));
+
+  rl_filename_quoting_function = orig_quoting_function;
+  return r;
+}
+
+static int
+bash_glob_expand_word (count, key)
+     int count, key;
+{
+  return bash_glob_completion_internal ('*');
+}
+
+static int
+bash_glob_list_expansions (count, key)
+     int count, key;
+{
+  return bash_glob_completion_internal ('?');
+}
+
+static int
+bash_specific_completion (what_to_do, generator)
+     int what_to_do;
+     rl_compentry_func_t *generator;
+{
+  rl_compentry_func_t *orig_func;
+  rl_completion_func_t *orig_attempt_func;
+  int r;
+
+  orig_func = rl_completion_entry_function;
+  orig_attempt_func = rl_attempted_completion_function;
+  rl_completion_entry_function = generator;
+  rl_attempted_completion_function = NULL;
+
+  r = rl_complete_internal (what_to_do);
+
+  rl_completion_entry_function = orig_func;
+  rl_attempted_completion_function = orig_attempt_func;
+
+  return r;
+}
+
+#endif /* SPECIFIC_COMPLETION_FUNCTIONS */
+
+#if defined (VI_MODE)
+/* Completion, from vi mode's point of view.  This is a modified version of
+   rl_vi_complete which uses the bash globbing code to implement what POSIX
+   specifies, which is to append a `*' and attempt filename generation (which
+   has the side effect of expanding any globbing characters in the word). */
+static int
+bash_vi_complete (count, key)
+     int count, key;
+{
+#if defined (SPECIFIC_COMPLETION_FUNCTIONS)
+  int p, r;
+  char *t;
+
+  if ((rl_point < rl_end) && (!whitespace (rl_line_buffer[rl_point])))
+    {
+      if (!whitespace (rl_line_buffer[rl_point + 1]))
+       rl_vi_end_word (1, 'E');
+      rl_point++;
+    }
+
+  /* Find boundaries of current word, according to vi definition of a
+     `bigword'. */
+  t = 0;
+  if (rl_point > 0)
+    {
+      p = rl_point;
+      rl_vi_bWord (1, 'B');
+      r = rl_point;
+      rl_point = p;
+      p = r;
+
+      t = substring (rl_line_buffer, p, rl_point);
+    }      
+
+  if (t && glob_pattern_p (t) == 0)
+    rl_explicit_arg = 1;       /* XXX - force glob_complete_word to append `*' */
+  FREE (t);
+
+  if (key == '*')      /* Expansion and replacement. */
+    r = bash_glob_expand_word (count, key);
+  else if (key == '=') /* List possible completions. */
+    r = bash_glob_list_expansions (count, key);
+  else if (key == '\\')        /* Standard completion */
+    r = bash_glob_complete_word (count, key);
+  else
+    r = rl_complete (0, key);
+
+  if (key == '*' || key == '\\')
+    rl_vi_start_inserting (key, 1, 1);
+
+  return (r);
+#else
+  return rl_vi_complete (count, key);
+#endif /* !SPECIFIC_COMPLETION_FUNCTIONS */
+}
+#endif /* VI_MODE */
+
+/* Filename quoting for completion. */
+/* A function to strip unquoted quote characters (single quotes, double
+   quotes, and backslashes).  It allows single quotes to appear
+   within double quotes, and vice versa.  It should be smarter. */
+static char *
+bash_dequote_filename (text, quote_char)
+     char *text;
+     int quote_char;
+{
+  char *ret, *p, *r;
+  int l, quoted;
+
+  l = strlen (text);
+  ret = (char *)xmalloc (l + 1);
+  for (quoted = quote_char, p = text, r = ret; p && *p; p++)
+    {
+      /* Allow backslash-quoted characters to pass through unscathed. */
+      if (*p == '\\')
+       {
+         *r++ = *++p;
+         if (*p == '\0')
+           break;
+         continue;
+       }
+      /* Close quote. */
+      if (quoted && *p == quoted)
+       {
+         quoted = 0;
+         continue;
+       }
+      /* Open quote. */
+      if (quoted == 0 && (*p == '\'' || *p == '"'))
+       {
+         quoted = *p;
+         continue;
+       }
+      *r++ = *p;
+    }
+  *r = '\0';
+  return ret;
+}
+
+/* Quote characters that the readline completion code would treat as
+   word break characters with backslashes.  Pass backslash-quoted
+   characters through without examination. */
+static char *
+quote_word_break_chars (text)
+     char *text;
+{
+  char *ret, *r, *s;
+  int l;
+
+  l = strlen (text);
+  ret = (char *)xmalloc ((2 * l) + 1);
+  for (s = text, r = ret; *s; s++)
+    {
+      /* Pass backslash-quoted characters through, including the backslash. */
+      if (*s == '\\')
+       {
+         *r++ = '\\';
+         *r++ = *++s;
+         if (*s == '\0')
+           break;
+         continue;
+       }
+      /* OK, we have an unquoted character.  Check its presence in
+        rl_completer_word_break_characters. */
+      if (xstrchr (rl_completer_word_break_characters, *s))
+       *r++ = '\\';
+      *r++ = *s;
+    }
+  *r = '\0';
+  return ret;
+}
+
+/* Quote a filename using double quotes, single quotes, or backslashes
+   depending on the value of completion_quoting_style.  If we're
+   completing using backslashes, we need to quote some additional
+   characters (those that readline treats as word breaks), so we call
+   quote_word_break_chars on the result.  This returns newly-allocated
+   memory. */
+static char *
+bash_quote_filename (s, rtype, qcp)
+     char *s;
+     int rtype;
+     char *qcp;
+{
+  char *rtext, *mtext, *ret;
+  int rlen, cs;
+
+  rtext = (char *)NULL;
+
+  /* If RTYPE == MULT_MATCH, it means that there is
+     more than one match.  In this case, we do not add
+     the closing quote or attempt to perform tilde
+     expansion.  If RTYPE == SINGLE_MATCH, we try
+     to perform tilde expansion, because single and double
+     quotes inhibit tilde expansion by the shell. */
+
+  mtext = s;
+  if (mtext[0] == '~' && rtype == SINGLE_MATCH)
+    mtext = bash_tilde_expand (s, 0);
+
+  cs = completion_quoting_style;
+  /* Might need to modify the default completion style based on *qcp,
+     since it's set to any user-provided opening quote.  We also change
+     to single-quoting if there is no user-provided opening quote and
+     the word being completed contains newlines, since those are not
+     quoted correctly using backslashes (a backslash-newline pair is
+     special to the shell parser). */
+  if (*qcp == '\0' && cs == COMPLETE_BSQUOTE && xstrchr (mtext, '\n'))
+    cs = COMPLETE_SQUOTE;
+  else if (*qcp == '"')
+    cs = COMPLETE_DQUOTE;
+  else if (*qcp == '\'')
+    cs = COMPLETE_SQUOTE;
+#if defined (BANG_HISTORY)
+  else if (*qcp == '\0' && history_expansion && cs == COMPLETE_DQUOTE &&
+          history_expansion_inhibited == 0 && xstrchr (mtext, '!'))
+    cs = COMPLETE_BSQUOTE;
+
+  if (*qcp == '"' && history_expansion && cs == COMPLETE_DQUOTE &&
+       history_expansion_inhibited == 0 && xstrchr (mtext, '!'))
+    {
+      cs = COMPLETE_BSQUOTE;
+      *qcp = '\0';
+    }
+#endif
+
+  switch (cs)
+    {
+    case COMPLETE_DQUOTE:
+      rtext = sh_double_quote (mtext);
+      break;
+    case COMPLETE_SQUOTE:
+      rtext = sh_single_quote (mtext);
+      break;
+    case COMPLETE_BSQUOTE:
+      rtext = sh_backslash_quote (mtext);
+      break;
+    }
+
+  if (mtext != s)
+    free (mtext);
+
+  /* We may need to quote additional characters: those that readline treats
+     as word breaks that are not quoted by backslash_quote. */
+  if (rtext && cs == COMPLETE_BSQUOTE)
+    {
+      mtext = quote_word_break_chars (rtext);
+      free (rtext);
+      rtext = mtext;
+    }
+
+  /* Leave the opening quote intact.  The readline completion code takes
+     care of avoiding doubled opening quotes. */
+  rlen = strlen (rtext);
+  ret = (char *)xmalloc (rlen + 1);
+  strcpy (ret, rtext);
+
+  /* If there are multiple matches, cut off the closing quote. */
+  if (rtype == MULT_MATCH && cs != COMPLETE_BSQUOTE)
+    ret[rlen - 1] = '\0';
+  free (rtext);
+  return ret;
+}
+
+/* Support for binding readline key sequences to Unix commands. */
+static Keymap cmd_xmap;
+
+static int
+bash_execute_unix_command (count, key)
+     int count;        /* ignored */
+     int key;
+{
+  Keymap ckmap;                /* current keymap */
+  Keymap xkmap;                /* unix command executing keymap */
+  register int i;
+  char *cmd;
+  sh_parser_state_t ps;
+
+  /* First, we need to find the right command to execute.  This is tricky,
+     because we might have already indirected into another keymap. */
+  ckmap = rl_get_keymap ();
+  if (ckmap != rl_executing_keymap)
+    {
+      /* bogus.  we have to search.  only handle one level of indirection. */
+      for (i = 0; i < KEYMAP_SIZE; i++)
+       {
+         if (ckmap[i].type == ISKMAP && (Keymap)ckmap[i].function == rl_executing_keymap)
+           break;
+       }
+      if (i < KEYMAP_SIZE)
+       xkmap = (Keymap)cmd_xmap[i].function;
+      else
+       {
+         rl_crlf ();
+         internal_error (_("bash_execute_unix_command: cannot find keymap for command"));
+         rl_forced_update_display ();
+         return 1;
+       }
+    }
+  else
+    xkmap = cmd_xmap;
+
+  cmd = (char *)xkmap[key].function;
+
+  if (cmd == 0)
+    {
+      rl_ding ();
+      return 1;
+    }
+
+  rl_crlf ();  /* move to a new line */
+
+  save_parser_state (&ps);
+
+  cmd = savestring (cmd);
+  parse_and_execute (cmd, "bash_execute_unix_command", SEVAL_NOHIST);
+
+  restore_parser_state (&ps);
+
+  /* and restore the readline buffer and display after command execution. */
+  rl_forced_update_display ();
+  return 0;
+}
+
+static void
+init_unix_command_map ()
+{
+  cmd_xmap = rl_make_bare_keymap ();
+}
+
+static int
+isolate_sequence (string, ind, need_dquote, startp)
+     char *string;
+     int ind, need_dquote, *startp;
+{
+  register int i;
+  int c, passc, delim;
+
+  for (i = ind; string[i] && whitespace (string[i]); i++)
+    ;
+  /* NEED_DQUOTE means that the first non-white character *must* be `"'. */
+  if (need_dquote && string[i] != '"')
+    {
+      builtin_error (_("%s: first non-whitespace character is not `\"'"), string);
+      return -1;
+    }
+
+  /* We can have delimited strings even if NEED_DQUOTE == 0, like the command
+     string to bind the key sequence to. */
+  delim = (string[i] == '"' || string[i] == '\'') ? string[i] : 0;
+    
+  if (startp)
+    *startp = delim ? ++i : i;
+
+  for (passc = 0; c = string[i]; i++)
+    {
+      if (passc)
+       {
+         passc = 0;
+         continue;
+       }
+      if (c == '\\')
+       {
+         passc++;
+         continue;
+       }
+      if (c == delim)
+       break;
+    }
+
+  if (delim && string[i] != delim)
+    {
+      builtin_error (_("no closing `%c' in %s"), delim, string);
+      return -1;
+    }
+
+  return i;
+}
+
+int
+bind_keyseq_to_unix_command (line)
+     char *line;
+{
+  Keymap kmap;
+  char *kseq, *value;
+  int i, kstart;
+
+  if (cmd_xmap == 0)
+    init_unix_command_map ();
+
+  kmap = rl_get_keymap ();
+
+  /* We duplicate some of the work done by rl_parse_and_bind here, but
+     this code only has to handle `"keyseq": ["]command["]' and can
+     generate an error for anything else. */
+  i = isolate_sequence (line, 0, 1, &kstart);
+  if (i < 0)
+    return -1;
+
+  /* Create the key sequence string to pass to rl_generic_bind */
+  kseq = substring (line, kstart, i);
+
+  for ( ; line[i] && line[i] != ':'; i++)
+    ;
+  if (line[i] != ':')
+    {
+      builtin_error (_("%s: missing colon separator"), line);
+      return -1;
+    }
+
+  i = isolate_sequence (line, i + 1, 0, &kstart);
+  if (i < 0)
+    return -1;
+
+  /* Create the value string containing the command to execute. */
+  value = substring (line, kstart, i);
+
+  /* Save the command to execute and the key sequence in the CMD_XMAP */
+  rl_generic_bind (ISMACR, kseq, value, cmd_xmap);
+
+  /* and bind the key sequence in the current keymap to a function that
+     understands how to execute from CMD_XMAP */
+  rl_bind_keyseq_in_map (kseq, bash_execute_unix_command, kmap);
+  
+  return 0;
+}
+
+/* Used by the programmable completion code.  Complete TEXT as a filename,
+   but return only directories as matches.  Dequotes the filename before
+   attempting to find matches. */
+char **
+bash_directory_completion_matches (text)
+     const char *text;
+{
+  char **m1;
+  char *dfn;
+  int qc;
+
+#if 0
+  qc = (text[0] == '"' || text[0] == '\'') ? text[0] : 0;
+#else
+  qc = rl_dispatching ? rl_completion_quote_character : 0;  
+#endif
+  dfn = bash_dequote_filename ((char *)text, qc);
+  m1 = rl_completion_matches (dfn, rl_filename_completion_function);
+  free (dfn);
+
+  if (m1 == 0 || m1[0] == 0)
+    return m1;
+  /* We don't bother recomputing the lcd of the matches, because it will just
+     get thrown away by the programmable completion code and recomputed
+     later. */
+  (void)bash_ignore_filenames (m1);
+  return m1;
+}
+
+char *
+bash_dequote_text (text)
+     const char *text;
+{
+  char *dtxt;
+  int qc;
+
+  qc = (text[0] == '"' || text[0] == '\'') ? text[0] : 0;
+  dtxt = bash_dequote_filename ((char *)text, qc);
+  return (dtxt);
+}
+#endif /* READLINE */
index ed33b53..b2041e8 100644 (file)
@@ -449,7 +449,11 @@ initialize_readline ()
 
 #endif /* SPECIFIC_COMPLETION_FUNCTIONS */
 
-  rl_bind_key_if_unbound_in_map (TAB, dynamic_complete_history, emacs_meta_keymap);
+  kseq[0] = TAB;
+  kseq[1] = '\0';
+  func = rl_function_of_keyseq (kseq, emacs_meta_keymap, (int *)NULL);
+  if (func == 0 || func == rl_tab_insert)
+    rl_bind_key_in_map (TAB, dynamic_complete_history, emacs_meta_keymap);
 
   /* Tell the completer that we want a crack first. */
   rl_attempted_completion_function = attempt_shell_completion;
@@ -798,6 +802,7 @@ operate_and_get_next (count, c)
 
 #define VI_EDIT_COMMAND                "fc -e \"${VISUAL:-${EDITOR:-vi}}\""
 #define EMACS_EDIT_COMMAND     "fc -e \"${VISUAL:-${EDITOR:-emacs}}\""
+#define POSIX_VI_EDIT_COMMAND  "fc -e vi"
 
 static int
 edit_and_execute_command (count, c, editing_mode, edit_command)
@@ -857,7 +862,10 @@ static int
 vi_edit_and_execute_command (count, c)
      int count, c;
 {
-  return (edit_and_execute_command (count, c, VI_EDITING_MODE, VI_EDIT_COMMAND));
+  if (posixly_correct)
+    return (edit_and_execute_command (count, c, VI_EDITING_MODE, POSIX_VI_EDIT_COMMAND));
+  else
+    return (edit_and_execute_command (count, c, VI_EDITING_MODE, VI_EDIT_COMMAND));
 }
 #endif /* VI_MODE */
 
@@ -1216,23 +1224,30 @@ command_word_completion_function (hint_text, state)
   static char *path = (char *)NULL;
   static char *val = (char *)NULL;
   static char *filename_hint = (char *)NULL;
-  static int path_index, hint_len, istate;
+  static char *dequoted_hint = (char *)NULL;
+  static int path_index, hint_len, dequoted_len, istate, igncase;
   static int mapping_over, local_index;
   static SHELL_VAR **varlist = (SHELL_VAR **)NULL;
 #if defined (ALIAS)
   static alias_t **alias_list = (alias_t **)NULL;
 #endif /* ALIAS */
+  char *temp;
 
   /* We have to map over the possibilities for command words.  If we have
      no state, then make one just for that purpose. */
   if (!state)
     {
+      if (dequoted_hint && dequoted_hint != hint)
+       free (dequoted_hint);
       if (hint)
        free (hint);
 
       mapping_over = 0;
       val = (char *)NULL;
 
+      temp = rl_variable_value ("completion-ignore-case");
+      igncase = strcmp (temp, "on") == 0;
+
       /* If this is an absolute program name, do not check it against
         aliases, reserved words, functions or builtins.  We must check
         whether or not it is unique, and, if so, whether that filename
@@ -1245,10 +1260,24 @@ command_word_completion_function (hint_text, state)
            hint = bash_tilde_expand (hint_text, 0);
          else
            hint = savestring (hint_text);
-         hint_len = strlen (hint);
+
+         dequoted_hint = hint;
+         /* If readline's completer found a quote character somewhere, but
+            didn't set the quote character, there must have been a quote
+            character embedded in the filename.  It can't be at the start of
+            the filename, so we need to dequote the filename before we look
+            in the file system for it. */
+         if (rl_completion_found_quote && rl_completion_quote_character == 0)
+           {
+             dequoted_hint = bash_dequote_filename (hint, 0);
+             free (hint);
+             hint = dequoted_hint;
+           }
+         dequoted_len = hint_len = strlen (hint);
 
          if (filename_hint)
            free (filename_hint);
+
          filename_hint = savestring (hint);
 
          mapping_over = 4;
@@ -1256,9 +1285,15 @@ command_word_completion_function (hint_text, state)
          goto inner;
        }
 
-      hint = savestring (hint_text);
-      hint_len = strlen (hint);
+      dequoted_hint = hint = savestring (hint_text);
+      dequoted_len = hint_len = strlen (hint);
 
+      if (rl_completion_found_quote && rl_completion_quote_character == 0)
+       {
+         dequoted_hint = bash_dequote_filename (hint, 0);
+         dequoted_len = strlen (dequoted_hint);
+       }
+      
       path = get_string_value ("PATH");
       path_index = dot_in_path = 0;
 
@@ -1385,7 +1420,6 @@ command_word_completion_function (hint_text, state)
        free (filename_hint);
 
       filename_hint = sh_makepath (current_path, hint, 0);
-
       free (current_path);
     }
 
index 226459c..aaf441e 100644 (file)
@@ -18,86 +18,87 @@ D\bDE\bES\bSC\bCR\bRI\bIP\bPT\bTI\bIO\bON\bN
        porates useful features from the _\bK_\bo_\br_\bn and _\bC shells (k\bks\bsh\bh and c\bcs\bsh\bh).
 
        B\bBa\bas\bsh\bh  is  intended  to be a conformant implementation of the IEEE POSIX
-       Shell and Tools specification (IEEE Working Group 1003.2).
+       Shell and Tools specification (IEEE Working Group 1003.2).  B\bBa\bas\bsh\bh can be
+       configured to be POSIX-conformant by default.
 
 O\bOP\bPT\bTI\bIO\bON\bNS\bS
-       In addition to the single-character shell  options  documented  in  the
-       description  of  the s\bse\bet\bt builtin command, b\bba\bas\bsh\bh interprets the following
+       In  addition  to  the  single-character shell options documented in the
+       description of the s\bse\bet\bt builtin command, b\bba\bas\bsh\bh interprets  the  following
        options when it is invoked:
 
-       -\b-c\bc _\bs_\bt_\br_\bi_\bn_\bg If the -\b-c\bc option is present,  then  commands  are  read  from
-                 _\bs_\bt_\br_\bi_\bn_\bg.   If  there  are arguments after the _\bs_\bt_\br_\bi_\bn_\bg, they are
+       -\b-c\bc _\bs_\bt_\br_\bi_\bn_\bg If  the  -\b-c\bc  option  is  present, then commands are read from
+                 _\bs_\bt_\br_\bi_\bn_\bg.  If there are arguments after the  _\bs_\bt_\br_\bi_\bn_\bg,  they  are
                  assigned to the positional parameters, starting with $\b$0\b0.
        -\b-i\bi        If the -\b-i\bi option is present, the shell is _\bi_\bn_\bt_\be_\br_\ba_\bc_\bt_\bi_\bv_\be.
        -\b-l\bl        Make b\bba\bas\bsh\bh act as if it had been invoked as a login shell (see
                  I\bIN\bNV\bVO\bOC\bCA\bAT\bTI\bIO\bON\bN below).
-       -\b-r\br        If  the  -\b-r\br  option  is present, the shell becomes _\br_\be_\bs_\bt_\br_\bi_\bc_\bt_\be_\bd
+       -\b-r\br        If the -\b-r\br option is present,  the  shell  becomes  _\br_\be_\bs_\bt_\br_\bi_\bc_\bt_\be_\bd
                  (see R\bRE\bES\bST\bTR\bRI\bIC\bCT\bTE\bED\bD S\bSH\bHE\bEL\bLL\bL below).
-       -\b-s\bs        If the -\b-s\bs option is present, or if no arguments remain  after
-                 option  processing,  then commands are read from the standard
-                 input.  This option allows the positional  parameters  to  be
+       -\b-s\bs        If  the -\b-s\bs option is present, or if no arguments remain after
+                 option processing, then commands are read from  the  standard
+                 input.   This  option  allows the positional parameters to be
                  set when invoking an interactive shell.
-       -\b-D\bD        A  list of all double-quoted strings preceded by $\b$ is printed
-                 on the standard output.  These are the strings that are  sub-
+       -\b-D\bD        A list of all double-quoted strings preceded by $\b$ is  printed
+                 on  the standard output.  These are the strings that are sub-
                  ject to language translation when the current locale is not C\bC
-                 or P\bPO\bOS\bSI\bIX\bX.  This implies the -\b-n\bn option; no  commands  will  be
+                 or  P\bPO\bOS\bSI\bIX\bX.   This  implies the -\b-n\bn option; no commands will be
                  executed.
        [\b[-\b-+\b+]\b]O\bO [\b[_\bs_\bh_\bo_\bp_\bt_\b__\bo_\bp_\bt_\bi_\bo_\bn]\b]
-                 _\bs_\bh_\bo_\bp_\bt_\b__\bo_\bp_\bt_\bi_\bo_\b is  one  of  the  shell options accepted by the
-                 s\bsh\bho\bop\bpt\bt  builtin  (see  S\bSH\bHE\bEL\bLL\bL  B\bBU\bUI\bIL\bLT\bTI\bIN\bN  C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS  below).    If
+                 _\bs_\bh_\bo_\bp_\bt_\b__\bo_\bp_\bt_\bi_\bo_\bis one of the  shell  options  accepted  by  the
+                 s\bsh\bho\bop\bpt\bt   builtin  (see  S\bSH\bHE\bEL\bLL\bL  B\bBU\bUI\bIL\bLT\bTI\bIN\bN  C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS  below).   If
                  _\bs_\bh_\bo_\bp_\bt_\b__\bo_\bp_\bt_\bi_\bo_\bn is present, -\b-O\bO sets the value of that option; +\b+O\bO
-                 unsets it.  If _\bs_\bh_\bo_\bp_\bt_\b__\bo_\bp_\bt_\bi_\bo_\bn is not supplied,  the  names  and
-                 values  of the shell options accepted by s\bsh\bho\bop\bpt\bt are printed on
-                 the standard output.  If the invocation  option  is  +\b+O\bO,  the
-                 output  is displayed in a format that may be reused as input.
-       -\b--\b-        A -\b--\b- signals the end of options and disables  further  option
-                 processing.   Any arguments after the -\b--\b- are treated as file-
+                 unsets  it.   If  _\bs_\bh_\bo_\bp_\bt_\b__\bo_\bp_\bt_\bi_\bo_\bn is not supplied, the names and
+                 values of the shell options accepted by s\bsh\bho\bop\bpt\bt are printed  on
+                 the  standard  output.   If  the invocation option is +\b+O\bO, the
+                 output is displayed in a format that may be reused as  input.
+       -\b--\b-        A  -\b--\b-  signals the end of options and disables further option
+                 processing.  Any arguments after the -\b--\b- are treated as  file-
                  names and arguments.  An argument of -\b- is equivalent to -\b--\b-.
 
-       B\bBa\bas\bsh\balso  interprets  a  number  of  multi-character  options.   These
-       options  must  appear  on  the command line before the single-character
+       B\bBa\bas\bsh\b also  interprets  a  number  of  multi-character  options.  These
+       options must appear on the command  line  before  the  single-character
        options to be recognized.
 
        -\b--\b-d\bde\beb\bbu\bug\bgg\bge\ber\br
               Arrange for the debugger profile to be executed before the shell
-              starts.   Turns  on extended debugging mode (see the description
-              of the e\bex\bxt\btd\bde\beb\bbu\bug\bg option to the s\bsh\bho\bop\bpt\bt  builtin  below)  and  shell
+              starts.  Turns on extended debugging mode (see  the  description
+              of  the  e\bex\bxt\btd\bde\beb\bbu\bug\bg  option  to the s\bsh\bho\bop\bpt\bt builtin below) and shell
               function tracing (see the description of the -\b-o\bo f\bfu\bun\bnc\bct\btr\bra\bac\bce\be option
               to the s\bse\bet\bt builtin below).
        -\b--\b-d\bdu\bum\bmp\bp-\b-p\bpo\bo-\b-s\bst\btr\bri\bin\bng\bgs\bs
-              Equivalent to -\b-D\bD, but the output is in the GNU _\bg_\be_\bt_\bt_\be_\bx_\bt p\bpo\b (por-
+              Equivalent  to -\b-D\bD, but the output is in the GNU _\bg_\be_\bt_\bt_\be_\bx_\bt p\bpo\bo (por-
               table object) file format.
        -\b--\b-d\bdu\bum\bmp\bp-\b-s\bst\btr\bri\bin\bng\bgs\bs
               Equivalent to -\b-D\bD.
-       -\b--\b-h\bhe\bel\blp\bp Display  a  usage  message  on standard output and exit success-
+       -\b--\b-h\bhe\bel\blp\bp Display a usage message on standard  output  and  exit  success-
               fully.
        -\b--\b-i\bin\bni\bit\bt-\b-f\bfi\bil\ble\be _\bf_\bi_\bl_\be
        -\b--\b-r\brc\bcf\bfi\bil\ble\be _\bf_\bi_\bl_\be
               Execute commands from _\bf_\bi_\bl_\be instead of the standard personal ini-
-              tialization  file  _\b~_\b/_\b._\bb_\ba_\bs_\bh_\br_\bc  if  the  shell is interactive (see
+              tialization file _\b~_\b/_\b._\bb_\ba_\bs_\bh_\br_\bc if  the  shell  is  interactive  (see
               I\bIN\bNV\bVO\bOC\bCA\bAT\bTI\bIO\bON\bN below).
 
        -\b--\b-l\blo\bog\bgi\bin\bn
               Equivalent to -\b-l\bl.
 
        -\b--\b-n\bno\boe\bed\bdi\bit\bti\bin\bng\bg
-              Do not use the GNU r\bre\bea\bad\bdl\bli\bin\bne\be library to read command  lines  when
+              Do  not  use the GNU r\bre\bea\bad\bdl\bli\bin\bne\be library to read command lines when
               the shell is interactive.
 
        -\b--\b-n\bno\bop\bpr\bro\bof\bfi\bil\ble\be
-              Do  not read either the system-wide startup file _\b/_\be_\bt_\bc_\b/_\bp_\br_\bo_\bf_\bi_\bl_\be or
-              any  of  the  personal  initialization  files   _\b~_\b/_\b._\bb_\ba_\bs_\bh_\b__\bp_\br_\bo_\bf_\bi_\bl_\be,
-              _\b~_\b/_\b._\bb_\ba_\bs_\bh_\b__\bl_\bo_\bg_\bi_\bn,  or  _\b~_\b/_\b._\bp_\br_\bo_\bf_\bi_\bl_\be.   By  default,  b\bba\bas\bsh\bh reads these
-              files when it is  invoked  as  a  login  shell  (see  I\bIN\bNV\bVO\bOC\bCA\bAT\bTI\bIO\bON\bN
+              Do not read either the system-wide startup file _\b/_\be_\bt_\bc_\b/_\bp_\br_\bo_\bf_\bi_\bl_\b or
+              any   of  the  personal  initialization  files  _\b~_\b/_\b._\bb_\ba_\bs_\bh_\b__\bp_\br_\bo_\bf_\bi_\bl_\be,
+              _\b~_\b/_\b._\bb_\ba_\bs_\bh_\b__\bl_\bo_\bg_\bi_\bn, or _\b~_\b/_\b._\bp_\br_\bo_\bf_\bi_\bl_\be.   By  default,  b\bba\bas\bsh\bh  reads  these
+              files  when  it  is  invoked  as  a  login shell (see I\bIN\bNV\bVO\bOC\bCA\bAT\bTI\bIO\bON\bN
               below).
 
        -\b--\b-n\bno\bor\brc\bc Do  not  read  and  execute  the  personal  initialization  file
-              _\b~_\b/_\b._\bb_\ba_\bs_\bh_\br_\bif the shell is interactive.  This  option  is  on  by
+              _\b~_\b/_\b._\bb_\ba_\bs_\bh_\br_\b if  the  shell  is interactive.  This option is on by
               default if the shell is invoked as s\bsh\bh.
 
        -\b--\b-p\bpo\bos\bsi\bix\bx
-              Change  the behavior of b\bba\bas\bsh\bh where the default operation differs
-              from the POSIX 1003.2 standard  to  match  the  standard  (_\bp_\bo_\bs_\bi_\bx
+              Change the behavior of b\bba\bas\bsh\bh where the default operation  differs
+              from  the  POSIX  1003.2  standard  to match the standard (_\bp_\bo_\bs_\bi_\bx
               _\bm_\bo_\bd_\be).
 
        -\b--\b-r\bre\bes\bst\btr\bri\bic\bct\bte\bed\bd
@@ -107,110 +108,110 @@ O\bOP\bPT\bTI\bIO\bON\bNS\bS
               Equivalent to  -\b-v\bv.
 
        -\b--\b-v\bve\ber\brs\bsi\bio\bon\bn
-              Show  version information for this instance of b\bba\bas\bsh\bh on the stan-
+              Show version information for this instance of b\bba\bas\bsh\bh on the  stan-
               dard output and exit successfully.
 
 A\bAR\bRG\bGU\bUM\bME\bEN\bNT\bTS\bS
        If arguments remain after option processing, and neither the -\b-c\bc nor the
-       -\b-s\b option  has  been supplied, the first argument is assumed to be the
-       name of a file containing shell commands.  If b\bba\bas\bsh\bh is invoked  in  this
-       fashion,  $\b$0\b0 is set to the name of the file, and the positional parame-
-       ters are set to the remaining arguments.  B\bBa\bas\bsh\bh reads and executes  com-
-       mands  from this file, then exits.  B\bBa\bas\bsh\bh's exit status is the exit sta-
-       tus of the last command executed in the script.   If  no  commands  are
-       executed,  the  exit status is 0.  An attempt is first made to open the
+       -\b-s\boption has been supplied, the first argument is assumed  to  be  the
+       name  of  a file containing shell commands.  If b\bba\bas\bsh\bh is invoked in this
+       fashion, $\b$0\b0 is set to the name of the file, and the positional  parame-
+       ters  are set to the remaining arguments.  B\bBa\bas\bsh\bh reads and executes com-
+       mands from this file, then exits.  B\bBa\bas\bsh\bh's exit status is the exit  sta-
+       tus  of  the  last  command executed in the script.  If no commands are
+       executed, the exit status is 0.  An attempt is first made to  open  the
        file in the current directory, and, if no file is found, then the shell
        searches the directories in P\bPA\bAT\bTH\bH for the script.
 
 I\bIN\bNV\bVO\bOC\bCA\bAT\bTI\bIO\bON\bN
-       A  _\bl_\bo_\bg_\bi_\bn _\bs_\bh_\be_\bl_\bl is one whose first character of argument zero is a -\b-, or
+       A _\bl_\bo_\bg_\bi_\bn _\bs_\bh_\be_\bl_\bl is one whose first character of argument zero is a -\b-,  or
        one started with the -\b--\b-l\blo\bog\bgi\bin\bn option.
 
-       An _\bi_\bn_\bt_\be_\br_\ba_\bc_\bt_\bi_\bv_\be shell is one started without  non-option  arguments  and
+       An  _\bi_\bn_\bt_\be_\br_\ba_\bc_\bt_\bi_\bv_\be  shell  is one started without non-option arguments and
        without the -\b-c\bc option whose standard input and error are both connected
-       to terminals (as determined by _\bi_\bs_\ba_\bt_\bt_\by(3)), or one started with  the  -\b-i\bi
-       option.   P\bPS\bS1\b1 is set and $\b$-\b- includes i\bi if b\bba\bas\bsh\bh is interactive, allowing
+       to  terminals  (as determined by _\bi_\bs_\ba_\bt_\bt_\by(3)), or one started with the -\b-i\bi
+       option.  P\bPS\bS1\b1 is set and $\b$-\b- includes i\bi if b\bba\bas\bsh\bh is interactive,  allowing
        a shell script or a startup file to test this state.
 
-       The following paragraphs describe how b\bba\bas\bsh\bh executes its startup  files.
-       If  any  of  the files exist but cannot be read, b\bba\bas\bsh\bh reports an error.
+       The  following paragraphs describe how b\bba\bas\bsh\bh executes its startup files.
+       If any of the files exist but cannot be read, b\bba\bas\bsh\bh  reports  an  error.
        Tildes are expanded in file names as described below under T\bTi\bil\bld\bde\be E\bEx\bxp\bpa\ban\bn-\b-
        s\bsi\bio\bon\bn in the E\bEX\bXP\bPA\bAN\bNS\bSI\bIO\bON\bN section.
 
-       When  b\bba\bas\bsh\bh is invoked as an interactive login shell, or as a non-inter-
-       active shell with the -\b--\b-l\blo\bog\bgi\bin\bn option, it first reads and executes  com-
-       mands  from  the file _\b/_\be_\bt_\bc_\b/_\bp_\br_\bo_\bf_\bi_\bl_\be, if that file exists.  After reading
+       When b\bba\bas\bsh\bh is invoked as an interactive login shell, or as a  non-inter-
+       active  shell with the -\b--\b-l\blo\bog\bgi\bin\bn option, it first reads and executes com-
+       mands from the file _\b/_\be_\bt_\bc_\b/_\bp_\br_\bo_\bf_\bi_\bl_\be, if that file exists.   After  reading
        that file, it looks for _\b~_\b/_\b._\bb_\ba_\bs_\bh_\b__\bp_\br_\bo_\bf_\bi_\bl_\be, _\b~_\b/_\b._\bb_\ba_\bs_\bh_\b__\bl_\bo_\bg_\bi_\bn, and _\b~_\b/_\b._\bp_\br_\bo_\bf_\bi_\bl_\be,
-       in  that order, and reads and executes commands from the first one that
-       exists and is readable.  The -\b--\b-n\bno\bop\bpr\bro\bof\bfi\bil\ble\be option may be  used  when  the
+       in that order, and reads and executes commands from the first one  that
+       exists  and  is  readable.  The -\b--\b-n\bno\bop\bpr\bro\bof\bfi\bil\ble\be option may be used when the
        shell is started to inhibit this behavior.
 
-       When  a  login  shell  exits, b\bba\bas\bsh\bh reads and executes commands from the
+       When a login shell exits, b\bba\bas\bsh\bh reads and  executes  commands  from  the
        file _\b~_\b/_\b._\bb_\ba_\bs_\bh_\b__\bl_\bo_\bg_\bo_\bu_\bt, if it exists.
 
-       When an interactive shell that is not a login shell  is  started,  b\bba\bas\bsh\bh
-       reads  and executes commands from _\b~_\b/_\b._\bb_\ba_\bs_\bh_\br_\bc, if that file exists.  This
-       may be inhibited by using the -\b--\b-n\bno\bor\brc\bc option.  The -\b--\b-r\brc\bcf\bfi\bil\ble\be _\bf_\bi_\bl_\b option
-       will  force  b\bba\bas\bsh\bh  to  read  and  execute commands from _\bf_\bi_\bl_\be instead of
+       When  an  interactive  shell that is not a login shell is started, b\bba\bas\bsh\bh
+       reads and executes commands from _\b~_\b/_\b._\bb_\ba_\bs_\bh_\br_\bc, if that file exists.   This
+       may  be inhibited by using the -\b--\b-n\bno\bor\brc\bc option.  The -\b--\b-r\brc\bcf\bfi\bil\ble\be _\bf_\bi_\bl_\be option
+       will force b\bba\bas\bsh\bh to read and  execute  commands  from  _\bf_\bi_\bl_\be  instead  of
        _\b~_\b/_\b._\bb_\ba_\bs_\bh_\br_\bc.
 
-       When b\bba\bas\bsh\bh is started non-interactively, to  run  a  shell  script,  for
+       When  b\bba\bas\bsh\bh  is  started  non-interactively,  to run a shell script, for
        example, it looks for the variable B\bBA\bAS\bSH\bH_\b_E\bEN\bNV\bV in the environment, expands
-       its value if it appears there, and uses the expanded value as the  name
-       of  a  file to read and execute.  B\bBa\bas\bsh\bh behaves as if the following com-
+       its  value if it appears there, and uses the expanded value as the name
+       of a file to read and execute.  B\bBa\bas\bsh\bh behaves as if the  following  com-
        mand were executed:
               if [ -n "$BASH_ENV" ]; then . "$BASH_ENV"; fi
-       but the value of the P\bPA\bAT\bTH\bH variable is not used to search for  the  file
+       but  the  value of the P\bPA\bAT\bTH\bH variable is not used to search for the file
        name.
 
-       If  b\bba\bas\bsh\bh  is  invoked  with  the name s\bsh\bh, it tries to mimic the startup
-       behavior of historical versions of s\bsh\bh as  closely  as  possible,  while
-       conforming  to the POSIX standard as well.  When invoked as an interac-
-       tive login shell, or a non-interactive shell with the  -\b--\b-l\blo\bog\bgi\bin\b option,
-       it  first  attempts  to read and execute commands from _\b/_\be_\bt_\bc_\b/_\bp_\br_\bo_\bf_\bi_\bl_\be and
-       _\b~_\b/_\b._\bp_\br_\bo_\bf_\bi_\bl_\be, in that order.  The  -\b--\b-n\bno\bop\bpr\bro\bof\bfi\bil\ble\be  option  may  be  used  to
-       inhibit  this  behavior.  When invoked as an interactive shell with the
-       name s\bsh\bh, b\bba\bas\bsh\bh looks for the variable E\bEN\bNV\bV, expands its value  if  it  is
-       defined,  and uses the expanded value as the name of a file to read and
+       If b\bba\bas\bsh\bh is invoked with the name s\bsh\bh, it  tries  to  mimic  the  startup
+       behavior  of  historical  versions  of s\bsh\bh as closely as possible, while
+       conforming to the POSIX standard as well.  When invoked as an  interac-
+       tive  login  shell, or a non-interactive shell with the -\b--\b-l\blo\bog\bgi\bin\bn option,
+       it first attempts to read and execute commands  from  _\b/_\be_\bt_\bc_\b/_\bp_\br_\bo_\bf_\bi_\bl_\b and
+       _\b~_\b/_\b._\bp_\br_\bo_\bf_\bi_\bl_\be,  in  that  order.   The  -\b--\b-n\bno\bop\bpr\bro\bof\bfi\bil\ble\be  option may be used to
+       inhibit this behavior.  When invoked as an interactive shell  with  the
+       name  s\bsh\bh,  b\bba\bas\bsh\bh  looks for the variable E\bEN\bNV\bV, expands its value if it is
+       defined, and uses the expanded value as the name of a file to read  and
        execute.  Since a shell invoked as s\bsh\bh does not attempt to read and exe-
-       cute  commands from any other startup files, the -\b--\b-r\brc\bcf\bfi\bil\ble\be option has no
-       effect.  A non-interactive shell invoked with  the  name  s\bsh\bh  does  not
-       attempt  to  read  any  other  startup files.  When invoked as s\bsh\bh, b\bba\bas\bsh\bh
+       cute commands from any other startup files, the -\b--\b-r\brc\bcf\bfi\bil\ble\be option has  no
+       effect.   A  non-interactive  shell  invoked  with the name s\bsh\bh does not
+       attempt to read any other startup files.   When  invoked  as  s\bsh\bh,  b\bba\bas\bsh\bh
        enters _\bp_\bo_\bs_\bi_\bx mode after the startup files are read.
 
-       When b\bba\bas\bsh\bh is started in _\bp_\bo_\bs_\bi_\bx mode, as with the  -\b--\b-p\bpo\bos\bsi\bix\bx  command  line
+       When  b\bba\bas\bsh\bh  is  started in _\bp_\bo_\bs_\bi_\bx mode, as with the -\b--\b-p\bpo\bos\bsi\bix\bx command line
        option, it follows the POSIX standard for startup files.  In this mode,
-       interactive shells expand the E\bEN\bNV\bV variable and commands  are  read  and
-       executed  from  the  file  whose  name is the expanded value.  No other
+       interactive  shells  expand  the E\bEN\bNV\bV variable and commands are read and
+       executed from the file whose name is  the  expanded  value.   No  other
        startup files are read.
 
-       B\bBa\bas\bsh\battempts to determine when it is being run  by  the  remote  shell
-       daemon,  usually  _\br_\bs_\bh_\bd.  If b\bba\bas\bsh\bh determines it is being run by _\br_\bs_\bh_\bd, it
-       reads and executes commands from _\b~_\b/_\b._\bb_\ba_\bs_\bh_\br_\bc, if that file exists and  is
+       B\bBa\bas\bsh\b attempts  to  determine  when it is being run by the remote shell
+       daemon, usually _\br_\bs_\bh_\bd.  If b\bba\bas\bsh\bh determines it is being run by  _\br_\bs_\bh_\bd,  it
+       reads  and executes commands from _\b~_\b/_\b._\bb_\ba_\bs_\bh_\br_\bc, if that file exists and is
        readable.  It will not do this if invoked as s\bsh\bh.  The -\b--\b-n\bno\bor\brc\bc option may
-       be used to inhibit this behavior, and the -\b--\b-r\brc\bcf\bfi\bil\ble\be option may  be  used
-       to  force  another  file to be read, but _\br_\bs_\bh_\bd does not generally invoke
+       be  used  to inhibit this behavior, and the -\b--\b-r\brc\bcf\bfi\bil\ble\be option may be used
+       to force another file to be read, but _\br_\bs_\bh_\bd does  not  generally  invoke
        the shell with those options or allow them to be specified.
 
        If the shell is started with the effective user (group) id not equal to
        the real user (group) id, and the -\b-p\bp option is not supplied, no startup
        files are read, shell functions are not inherited from the environment,
-       the  S\bSH\bHE\bEL\bLL\bLO\bOP\bPT\bTS\bS  variable, if it appears in the environment, is ignored,
+       the S\bSH\bHE\bEL\bLL\bLO\bOP\bPT\bTS\bS variable, if it appears in the environment,  is  ignored,
        and the effective user id is set to the real user id.  If the -\b-p\bp option
-       is  supplied  at  invocation, the startup behavior is the same, but the
+       is supplied at invocation, the startup behavior is the  same,  but  the
        effective user id is not reset.
 
 D\bDE\bEF\bFI\bIN\bNI\bIT\bTI\bIO\bON\bNS\bS
-       The following definitions are used throughout the rest  of  this  docu-
+       The  following  definitions  are used throughout the rest of this docu-
        ment.
        b\bbl\bla\ban\bnk\bk  A space or tab.
-       w\bwo\bor\brd\bd   A  sequence  of  characters  considered  as a single unit by the
+       w\bwo\bor\brd\bd   A sequence of characters considered as  a  single  unit  by  the
               shell.  Also known as a t\bto\bok\bke\ben\bn.
-       n\bna\bam\bme\be   A _\bw_\bo_\br_\bd consisting only of  alphanumeric  characters  and  under-
-              scores,  and beginning with an alphabetic character or an under-
+       n\bna\bam\bme\be   A  _\bw_\bo_\br_\bd  consisting  only  of alphanumeric characters and under-
+              scores, and beginning with an alphabetic character or an  under-
               score.  Also referred to as an i\bid\bde\ben\bnt\bti\bif\bfi\bie\ber\br.
        m\bme\bet\bta\bac\bch\bha\bar\bra\bac\bct\bte\ber\br
-              A character that, when unquoted, separates words.   One  of  the
+              A  character  that,  when unquoted, separates words.  One of the
               following:
               |\b|  &\b& ;\b; (\b( )\b) <\b< >\b> s\bsp\bpa\bac\bce\be t\bta\bab\bb
        c\bco\bon\bnt\btr\bro\bol\bl o\bop\bpe\ber\bra\bat\bto\bor\br
@@ -221,21 +222,21 @@ D\bDE\bEF\bFI\bIN\bNI\bIT\bTI\bIO\bON\bNS\bS
 R\bRE\bES\bSE\bER\bRV\bVE\bED\bD W\bWO\bOR\bRD\bDS\bS
        _\bR_\be_\bs_\be_\br_\bv_\be_\bd _\bw_\bo_\br_\bd_\bs are words that have a special meaning to the shell.  The
        following words are recognized as reserved when unquoted and either the
-       first word of a simple command (see S\bSH\bHE\bEL\bLL\bL G\bGR\bRA\bAM\bMM\bMA\bAR\bR below) or  the  third
+       first  word  of a simple command (see S\bSH\bHE\bEL\bLL\bL G\bGR\bRA\bAM\bMM\bMA\bAR\bR below) or the third
        word of a c\bca\bas\bse\be or f\bfo\bor\br command:
 
-       !\b c\bca\bas\bse\be  d\bdo\bo d\bdo\bon\bne\be e\bel\bli\bif\bf e\bel\bls\bse\be e\bes\bsa\bac\bc f\bfi\bi f\bfo\bor\br f\bfu\bun\bnc\bct\bti\bio\bon\bn i\bif\bf i\bin\bn s\bse\bel\ble\bec\bct\bt t\bth\bhe\ben\bn u\bun\bnt\bti\bil\bl
+       !\bc\bca\bas\bse\be  d\bdo\bo d\bdo\bon\bne\be e\bel\bli\bif\bf e\bel\bls\bse\be e\bes\bsa\bac\bc f\bfi\bi f\bfo\bor\br f\bfu\bun\bnc\bct\bti\bio\bon\bn i\bif\bf i\bin\bn s\bse\bel\ble\bec\bct\bt t\bth\bhe\ben\b u\bun\bnt\bti\bil\bl
        w\bwh\bhi\bil\ble\be {\b{ }\b} t\bti\bim\bme\be [\b[[\b[ ]\b]]\b]
 
 S\bSH\bHE\bEL\bLL\bL G\bGR\bRA\bAM\bMM\bMA\bAR\bR
    S\bSi\bim\bmp\bpl\ble\be C\bCo\bom\bmm\bma\ban\bnd\bds\bs
-       A _\bs_\bi_\bm_\bp_\bl_\be _\bc_\bo_\bm_\bm_\ba_\bn_\bd is a sequence of optional  variable  assignments  fol-
-       lowed  by  b\bbl\bla\ban\bnk\bk-separated  words and redirections, and terminated by a
+       A  _\bs_\bi_\bm_\bp_\bl_\be  _\bc_\bo_\bm_\bm_\ba_\bn_\bd  is a sequence of optional variable assignments fol-
+       lowed by b\bbl\bla\ban\bnk\bk-separated words and redirections, and  terminated  by  a
        _\bc_\bo_\bn_\bt_\br_\bo_\bl _\bo_\bp_\be_\br_\ba_\bt_\bo_\br.  The first word specifies the command to be executed,
-       and  is  passed  as  argument  zero.  The remaining words are passed as
+       and is passed as argument zero.  The  remaining  words  are  passed  as
        arguments to the invoked command.
 
-       The return value of a _\bs_\bi_\bm_\bp_\bl_\be _\bc_\bo_\bm_\bm_\ba_\bn_\bd is its exit status,  or  128+_\b if
+       The  return  value  of a _\bs_\bi_\bm_\bp_\bl_\be _\bc_\bo_\bm_\bm_\ba_\bn_\bd is its exit status, or 128+_\bn if
        the command is terminated by signal _\bn.
 
    P\bPi\bip\bpe\bel\bli\bin\bne\bes\bs
@@ -244,53 +245,53 @@ S\bSH\bHE\bEL\bLL\bL G\bGR\bRA\bAM\bMM\bMA\bAR\bR
 
               [t\bti\bim\bme\be [-\b-p\bp]] [ ! ] _\bc_\bo_\bm_\bm_\ba_\bn_\bd [ |\b| _\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b2 ... ]
 
-       The standard output of _\bc_\bo_\bm_\bm_\ba_\bn_\bd is connected via a pipe to the  standard
-       input  of  _\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b2.   This connection is performed before any redirec-
+       The  standard output of _\bc_\bo_\bm_\bm_\ba_\bn_\bd is connected via a pipe to the standard
+       input of _\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b2.  This connection is performed  before  any  redirec-
        tions specified by the command (see R\bRE\bED\bDI\bIR\bRE\bEC\bCT\bTI\bIO\bON\bN below).
 
        The return status of a pipeline is the exit status of the last command,
-       unless  the  p\bpi\bip\bpe\bef\bfa\bai\bil\bl  option  is enabled.  If p\bpi\bip\bpe\bef\bfa\bai\bil\bl is enabled, the
-       pipeline's return status is the value of the last  (rightmost)  command
-       to  exit  with a non-zero status, or zero if all commands exit success-
+       unless the p\bpi\bip\bpe\bef\bfa\bai\bil\bl option is enabled.  If  p\bpi\bip\bpe\bef\bfa\bai\bil\bl  is  enabled,  the
+       pipeline's  return  status is the value of the last (rightmost) command
+       to exit with a non-zero status, or zero if all commands  exit  success-
        fully.  If the reserved word !\b!  precedes a pipeline, the exit status of
-       that  pipeline  is the logical negation of the exit status as described
-       above.  The shell waits for all commands in the pipeline  to  terminate
+       that pipeline is the logical negation of the exit status  as  described
+       above.   The  shell waits for all commands in the pipeline to terminate
        before returning a value.
 
-       If  the  t\bti\bim\bme\be reserved word precedes a pipeline, the elapsed as well as
-       user and system time consumed by its execution are  reported  when  the
-       pipeline  terminates.   The -\b-p\bp option changes the output format to that
-       specified by POSIX.  The T\bTI\bIM\bME\bEF\bFO\bOR\bRM\bMA\bAT\bT variable may be  set  to  a  format
-       string  that  specifies how the timing information should be displayed;
+       If the t\bti\bim\bme\be reserved word precedes a pipeline, the elapsed as  well  as
+       user  and  system  time consumed by its execution are reported when the
+       pipeline terminates.  The -\b-p\bp option changes the output format  to  that
+       specified  by  POSIX.   The  T\bTI\bIM\bME\bEF\bFO\bOR\bRM\bMA\bAT\bT variable may be set to a format
+       string that specifies how the timing information should  be  displayed;
        see the description of T\bTI\bIM\bME\bEF\bFO\bOR\bRM\bMA\bAT\bT under S\bSh\bhe\bel\bll\bl V\bVa\bar\bri\bia\bab\bbl\ble\bes\bs below.
 
-       Each command in a pipeline is executed as a separate process (i.e.,  in
+       Each  command in a pipeline is executed as a separate process (i.e., in
        a subshell).
 
    L\bLi\bis\bst\bts\bs
-       A  _\bl_\bi_\bs_\bt  is a sequence of one or more pipelines separated by one of the
+       A _\bl_\bi_\bs_\bt is a sequence of one or more pipelines separated by one  of  the
        operators ;\b;, &\b&, &\b&&\b&, or |\b||\b|, and optionally terminated by one of ;\b;, &\b&, or
        <\b<n\bne\bew\bwl\bli\bin\bne\be>\b>.
 
        Of these list operators, &\b&&\b& and |\b||\b| have equal precedence, followed by ;\b;
        and &\b&,\b, which have equal precedence.
 
-       A sequence of one or more newlines may appear in a _\bl_\bi_\bs_\bt  instead  of  a
+       A  sequence  of  one or more newlines may appear in a _\bl_\bi_\bs_\bt instead of a
        semicolon to delimit commands.
 
-       If  a  command  is terminated by the control operator &\b&, the shell exe-
-       cutes the command in the _\bb_\ba_\bc_\bk_\bg_\br_\bo_\bu_\bn_\bd in a subshell.  The shell does  not
-       wait  for  the command to finish, and the return status is 0.  Commands
-       separated by a ;\b; are executed sequentially; the shell  waits  for  each
-       command  to terminate in turn.  The return status is the exit status of
+       If a command is terminated by the control operator &\b&,  the  shell  exe-
+       cutes  the command in the _\bb_\ba_\bc_\bk_\bg_\br_\bo_\bu_\bn_\bd in a subshell.  The shell does not
+       wait for the command to finish, and the return status is  0.   Commands
+       separated  by  a  ;\b; are executed sequentially; the shell waits for each
+       command to terminate in turn.  The return status is the exit status  of
        the last command executed.
 
-       The control operators &\b&&\b& and |\b||\b| denote AND lists and OR lists,  respec-
+       The  control operators &\b&&\b& and |\b||\b| denote AND lists and OR lists, respec-
        tively.  An AND list has the form
 
               _\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b1 &\b&&\b& _\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b2
 
-       _\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b is  executed if, and only if, _\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b1 returns an exit status
+       _\bc_\bo_\bm_\bm_\ba_\bn_\bd_\bis executed if, and only if, _\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b1 returns an  exit  status
        of zero.
 
        An OR list has the form
@@ -298,75 +299,75 @@ S\bSH\bHE\bEL\bLL\bL G\bGR\bRA\bAM\bMM\bMA\bAR\bR
               _\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b1 |\b||\b| _\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b2
 
 
-       _\bc_\bo_\bm_\bm_\ba_\bn_\bd_\bis executed if and only if _\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b1 returns  a  non-zero  exit
-       status.   The  return  status of AND and OR lists is the exit status of
+       _\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b is  executed  if and only if _\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b1 returns a non-zero exit
+       status.  The return status of AND and OR lists is the  exit  status  of
        the last command executed in the list.
 
    C\bCo\bom\bmp\bpo\bou\bun\bnd\bd C\bCo\bom\bmm\bma\ban\bnd\bds\bs
        A _\bc_\bo_\bm_\bp_\bo_\bu_\bn_\bd _\bc_\bo_\bm_\bm_\ba_\bn_\bd is one of the following:
 
-       (_\bl_\bi_\bs_\bt) _\bl_\bi_\bs_\bis executed in a subshell environment (see  C\bCO\bOM\bMM\bMA\bAN\bND\b E\bEX\bXE\bEC\bCU\bU-\b-
-              T\bTI\bIO\bON\b E\bEN\bNV\bVI\bIR\bRO\bON\bNM\bME\bEN\bNT\bT below).  Variable assignments and builtin com-
-              mands that affect the  shell's  environment  do  not  remain  in
-              effect  after  the  command completes.  The return status is the
+       (_\bl_\bi_\bs_\bt) _\bl_\bi_\bs_\b is  executed in a subshell environment (see C\bCO\bOM\bMM\bMA\bAN\bND\bD E\bEX\bXE\bEC\bCU\bU-\b-
+              T\bTI\bIO\bON\bE\bEN\bNV\bVI\bIR\bRO\bON\bNM\bME\bEN\bNT\bT below).  Variable assignments and builtin  com-
+              mands  that  affect  the  shell's  environment  do not remain in
+              effect after the command completes.  The return  status  is  the
               exit status of _\bl_\bi_\bs_\bt.
 
        { _\bl_\bi_\bs_\bt; }
-              _\bl_\bi_\bs_\bis simply executed in the current shell environment.   _\bl_\bi_\bs_\bt
-              must  be  terminated with a newline or semicolon.  This is known
-              as a _\bg_\br_\bo_\bu_\bp _\bc_\bo_\bm_\bm_\ba_\bn_\bd.  The return status is  the  exit  status  of
-              _\bl_\bi_\bs_\bt.   Note that unlike the metacharacters (\b( and )\b), {\b{ and }\b} are
+              _\bl_\bi_\bs_\b is simply executed in the current shell environment.  _\bl_\bi_\bs_\bt
+              must be terminated with a newline or semicolon.  This  is  known
+              as  a  _\bg_\br_\bo_\bu_\bp  _\bc_\bo_\bm_\bm_\ba_\bn_\bd.   The return status is the exit status of
+              _\bl_\bi_\bs_\bt.  Note that unlike the metacharacters (\b( and )\b), {\b{ and }\b are
               _\br_\be_\bs_\be_\br_\bv_\be_\bd _\bw_\bo_\br_\bd_\bs and must occur where a reserved word is permitted
-              to  be  recognized.   Since they do not cause a word break, they
+              to be recognized.  Since they do not cause a  word  break,  they
               must be separated from _\bl_\bi_\bs_\bt by whitespace.
 
        ((_\be_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn))
-              The _\be_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn is evaluated according  to  the  rules  described
-              below  under A\bAR\bRI\bIT\bTH\bHM\bME\bET\bTI\bIC\bC E\bEV\bVA\bAL\bLU\bUA\bAT\bTI\bIO\bON\bN.  If the value of the expres-
-              sion is non-zero, the return status is 0; otherwise  the  return
+              The  _\be_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn  is  evaluated  according to the rules described
+              below under A\bAR\bRI\bIT\bTH\bHM\bME\bET\bTI\bIC\bC E\bEV\bVA\bAL\bLU\bUA\bAT\bTI\bIO\bON\bN.  If the value of the  expres-
+              sion  is  non-zero, the return status is 0; otherwise the return
               status is 1.  This is exactly equivalent to l\ble\bet\bt "\b"_\be_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn"\b".
 
        [\b[[\b[ _\be_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn ]\b]]\b]
-              Return  a  status  of  0 or 1 depending on the evaluation of the
-              conditional expression _\be_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn.  Expressions are composed  of
-              the  primaries  described  below  under C\bCO\bON\bND\bDI\bIT\bTI\bIO\bON\bNA\bAL\bL E\bEX\bXP\bPR\bRE\bES\bSS\bSI\bIO\bON\bNS\bS.
-              Word splitting and pathname expansion are not performed  on  the
-              words  between  the  [\b[[\b[  and  ]\b]]\b]; tilde expansion, parameter and
-              variable expansion, arithmetic expansion, command  substitution,
-              process  substitution,  and quote removal are performed.  Condi-
+              Return a status of 0 or 1 depending on  the  evaluation  of  the
+              conditional  expression _\be_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn.  Expressions are composed of
+              the primaries described  below  under  C\bCO\bON\bND\bDI\bIT\bTI\bIO\bON\bNA\bAL\b E\bEX\bXP\bPR\bRE\bES\bSS\bSI\bIO\bON\bNS\bS.
+              Word  splitting  and pathname expansion are not performed on the
+              words between the [\b[[\b[ and  ]\b]]\b];  tilde  expansion,  parameter  and
+              variable  expansion, arithmetic expansion, command substitution,
+              process substitution, and quote removal are  performed.   Condi-
               tional operators such as -\b-f\bf must be unquoted to be recognized as
               primaries.
 
-              When  the  =\b==\b= and !\b!=\b= operators are used, the string to the right
+              When the =\b==\b= and !\b!=\b= operators are used, the string to  the  right
               of the operator is considered a pattern and matched according to
-              the  rules described below under P\bPa\bat\btt\bte\ber\brn\bn M\bMa\bat\btc\bch\bhi\bin\bng\bg.  If the shell
-              option n\bno\boc\bca\bas\bse\bem\bma\bat\btc\bch\bh is enabled, the match  is  performed  without
-              regard  to  the case of alphabetic characters.  The return value
-              is 0 if the string  matches  or  does  not  match  the  pattern,
-              respectively,  and  1 otherwise.  Any part of the pattern may be
+              the rules described below under P\bPa\bat\btt\bte\ber\brn\bn M\bMa\bat\btc\bch\bhi\bin\bng\bg.  If the  shell
+              option  n\bno\boc\bca\bas\bse\bem\bma\bat\btc\bch\bh  is  enabled, the match is performed without
+              regard to the case of alphabetic characters.  The  return  value
+              is  0  if  the  string  matches  or  does not match the pattern,
+              respectively, and 1 otherwise.  Any part of the pattern  may  be
               quoted to force it to be matched as a string.
 
-              An additional binary operator, =\b=~\b~, is available, with  the  same
-              precedence  as  =\b==\b=  and  !\b!=\b=.  When it is used, the string to the
-              right of the operator is considered an extended regular  expres-
+              An  additional  binary operator, =\b=~\b~, is available, with the same
+              precedence as =\b==\b= and !\b!=\b=.  When it is used,  the  string  to  the
+              right  of the operator is considered an extended regular expres-
               sion and matched accordingly (as in _\br_\be_\bg_\be_\bx(3)).  The return value
               is 0 if the string matches the pattern, and 1 otherwise.  If the
-              regular  expression  is syntactically incorrect, the conditional
+              regular expression is syntactically incorrect,  the  conditional
               expression's return value is 2.  If the shell option n\bno\boc\bca\bas\bse\bem\bma\bat\btc\bch\bh
               is enabled, the match is performed without regard to the case of
               alphabetic  characters.   Substrings  matched  by  parenthesized
-              subexpressions  within  the  regular expression are saved in the
-              array variable B\bBA\bAS\bSH\bH_\b_R\bRE\bEM\bMA\bAT\bTC\bCH\bH.  The element of  B\bBA\bAS\bSH\bH_\b_R\bRE\bEM\bMA\bAT\bTC\bCH\b with
+              subexpressions within the regular expression are  saved  in  the
+              array  variable  B\bBA\bAS\bSH\bH_\b_R\bRE\bEM\bMA\bAT\bTC\bCH\bH.  The element of B\bBA\bAS\bSH\bH_\b_R\bRE\bEM\bMA\bAT\bTC\bCH\bH with
               index 0 is the portion of the string matching the entire regular
-              expression.  The element of B\bBA\bAS\bSH\bH_\b_R\bRE\bEM\bMA\bAT\bTC\bCH\bH with  index  _\bn  is  the
-              portion  of the string matching the _\bnth parenthesized subexpres-
+              expression.   The  element  of  B\bBA\bAS\bSH\bH_\b_R\bRE\bEM\bMA\bAT\bTC\bCH\bH with index _\bn is the
+              portion of the string matching the _\bnth parenthesized  subexpres-
               sion.
 
-              Expressions may  be  combined  using  the  following  operators,
+              Expressions  may  be  combined  using  the  following operators,
               listed in decreasing order of precedence:
 
               (\b( _\be_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn )\b)
-                     Returns  the  value  of  _\be_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn.  This may be used to
+                     Returns the value of _\be_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn.  This  may  be  used  to
                      override the normal precedence of operators.
               !\b! _\be_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn
                      True if _\be_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn is false.
@@ -376,148 +377,148 @@ S\bSH\bHE\bEL\bLL\bL G\bGR\bRA\bAM\bMM\bMA\bAR\bR
                      True if either _\be_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn_\b1 or _\be_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn_\b2 is true.
 
               The &\b&&\b& and |\b||\b| operators do not evaluate _\be_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn_\b2 if the value
-              of  _\be_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn_\b1  is  sufficient to determine the return value of
+              of _\be_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn_\b1 is sufficient to determine the  return  value  of
               the entire conditional expression.
 
        f\bfo\bor\br _\bn_\ba_\bm_\be [ i\bin\bn _\bw_\bo_\br_\bd ] ; d\bdo\bo _\bl_\bi_\bs_\bt ; d\bdo\bon\bne\be
               The list of words following i\bin\bn is expanded, generating a list of
               items.  The variable _\bn_\ba_\bm_\be is set to each element of this list in
-              turn, and _\bl_\bi_\bs_\bt is executed each time.  If the i\bin\bn _\bw_\bo_\br_\bd  is  omit-
-              ted,  the  f\bfo\bor\br  command  executes  _\bl_\bi_\bs_\bt once for each positional
+              turn,  and  _\bl_\bi_\bs_\bt is executed each time.  If the i\bin\bn _\bw_\bo_\br_\bd is omit-
+              ted, the f\bfo\bor\br command executes  _\bl_\bi_\bs_\bt  once  for  each  positional
               parameter that is set (see P\bPA\bAR\bRA\bAM\bME\bET\bTE\bER\bRS\bS below).  The return status
-              is  the  exit  status of the last command that executes.  If the
+              is the exit status of the last command that  executes.   If  the
               expansion of the items following i\bin\bn results in an empty list, no
               commands are executed, and the return status is 0.
 
        f\bfo\bor\br (( _\be_\bx_\bp_\br_\b1 ; _\be_\bx_\bp_\br_\b2 ; _\be_\bx_\bp_\br_\b3 )) ; d\bdo\bo _\bl_\bi_\bs_\bt ; d\bdo\bon\bne\be
               First, the arithmetic expression _\be_\bx_\bp_\br_\b1 is evaluated according to
-              the rules described  below  under  A\bAR\bRI\bIT\bTH\bHM\bME\bET\bTI\bIC\bC  E\bEV\bVA\bAL\bLU\bUA\bAT\bTI\bIO\bON\bN.   The
-              arithmetic  expression  _\be_\bx_\bp_\br_\b2 is then evaluated repeatedly until
-              it evaluates to zero.  Each time _\be_\bx_\bp_\br_\b2 evaluates to  a  non-zero
-              value,  _\bl_\bi_\bs_\bt  is executed and the arithmetic expression _\be_\bx_\bp_\br_\b3 is
-              evaluated.  If any expression is omitted, it behaves  as  if  it
+              the  rules  described  below  under  A\bAR\bRI\bIT\bTH\bHM\bME\bET\bTI\bIC\bC E\bEV\bVA\bAL\bLU\bUA\bAT\bTI\bIO\bON\bN.  The
+              arithmetic expression _\be_\bx_\bp_\br_\b2 is then evaluated  repeatedly  until
+              it  evaluates  to zero.  Each time _\be_\bx_\bp_\br_\b2 evaluates to a non-zero
+              value, _\bl_\bi_\bs_\bt is executed and the arithmetic expression  _\be_\bx_\bp_\br_\b is
+              evaluated.   If  any  expression is omitted, it behaves as if it
               evaluates to 1.  The return value is the exit status of the last
               command in _\bl_\bi_\bs_\bt that is executed, or false if any of the expres-
               sions is invalid.
 
        s\bse\bel\ble\bec\bct\bt _\bn_\ba_\bm_\be [ i\bin\bn _\bw_\bo_\br_\bd ] ; d\bdo\bo _\bl_\bi_\bs_\bt ; d\bdo\bon\bne\be
               The list of words following i\bin\bn is expanded, generating a list of
-              items.  The set of expanded words is  printed  on  the  standard
-              error,  each  preceded  by a number.  If the i\bin\bn _\bw_\bo_\br_\bd is omitted,
-              the positional parameters are printed  (see  P\bPA\bAR\bRA\bAM\bME\bET\bTE\bER\bRS\b below).
-              The  P\bPS\bS3\b3 prompt is then displayed and a line read from the stan-
-              dard input.  If the line consists of a number  corresponding  to
-              one  of  the  displayed  words, then the value of _\bn_\ba_\bm_\be is set to
-              that word.  If the line is empty, the words and prompt are  dis-
+              items.   The  set  of  expanded words is printed on the standard
+              error, each preceded by a number.  If the i\bin\bn  _\bw_\bo_\br_\bd  is  omitted,
+              the  positional  parameters  are printed (see P\bPA\bAR\bRA\bAM\bME\bET\bTE\bER\bRS\bS below).
+              The P\bPS\bS3\b3 prompt is then displayed and a line read from the  stan-
+              dard  input.   If the line consists of a number corresponding to
+              one of the displayed words, then the value of  _\bn_\ba_\bm_\be  is  set  to
+              that  word.  If the line is empty, the words and prompt are dis-
               played again.  If EOF is read, the command completes.  Any other
-              value read causes _\bn_\ba_\bm_\be to be set to  null.   The  line  read  is
-              saved  in  the  variable R\bRE\bEP\bPL\bLY\bY.  The _\bl_\bi_\bs_\bt is executed after each
+              value  read  causes  _\bn_\ba_\bm_\be  to  be set to null.  The line read is
+              saved in the variable R\bRE\bEP\bPL\bLY\bY.  The _\bl_\bi_\bs_\bt is  executed  after  each
               selection until a b\bbr\bre\bea\bak\bk command is executed.  The exit status of
-              s\bse\bel\ble\bec\bct\b is the exit status of the last command executed in _\bl_\bi_\bs_\bt,
+              s\bse\bel\ble\bec\bct\bis the exit status of the last command executed in  _\bl_\bi_\bs_\bt,
               or zero if no commands were executed.
 
        c\bca\bas\bse\be _\bw_\bo_\br_\bd i\bin\bn [ [(] _\bp_\ba_\bt_\bt_\be_\br_\bn [ |\b| _\bp_\ba_\bt_\bt_\be_\br_\bn ] ... ) _\bl_\bi_\bs_\bt ;; ] ... e\bes\bsa\bac\bc
               A c\bca\bas\bse\be command first expands _\bw_\bo_\br_\bd, and tries to match it against
               each _\bp_\ba_\bt_\bt_\be_\br_\bn in turn, using the same matching rules as for path-
-              name expansion (see P\bPa\bat\bth\bhn\bna\bam\bme\be E\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn  below).   If  the  shell
-              option  n\bno\boc\bca\bas\bse\bem\bma\bat\btc\bch\bh  is  enabled, the match is performed without
-              regard to the case of alphabetic characters.  When  a  match  is
-              found,  the  corresponding  _\bl_\bi_\bs_\bt  is  executed.  After the first
-              match, no subsequent matches are attempted.  The exit status  is
+              name  expansion  (see  P\bPa\bat\bth\bhn\bna\bam\bme\be  E\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn below).  If the shell
+              option n\bno\boc\bca\bas\bse\bem\bma\bat\btc\bch\bh is enabled, the match  is  performed  without
+              regard  to  the  case of alphabetic characters.  When a match is
+              found, the corresponding _\bl_\bi_\bs_\bt  is  executed.   After  the  first
+              match,  no subsequent matches are attempted.  The exit status is
               zero if no pattern matches.  Otherwise, it is the exit status of
               the last command executed in _\bl_\bi_\bs_\bt.
 
        i\bif\bf _\bl_\bi_\bs_\bt; t\bth\bhe\ben\bn _\bl_\bi_\bs_\bt_\b; [ e\bel\bli\bif\bf _\bl_\bi_\bs_\bt; t\bth\bhe\ben\bn _\bl_\bi_\bs_\bt; ] ... [ e\bel\bls\bse\be _\bl_\bi_\bs_\bt; ] f\bfi\bi
-              The i\bif\bf _\bl_\bi_\bs_\bt is executed.  If its exit status is zero,  the  t\bth\bhe\ben\bn
-              _\bl_\bi_\bs_\b is  executed.   Otherwise,  each  e\bel\bli\bif\bf _\bl_\bi_\bs_\bt is executed in
-              turn, and if its exit status is  zero,  the  corresponding  t\bth\bhe\ben\bn
+              The  i\bif\bf  _\bl_\bi_\bs_\bt is executed.  If its exit status is zero, the t\bth\bhe\ben\bn
+              _\bl_\bi_\bs_\bis executed.  Otherwise, each  e\bel\bli\bif\bf  _\bl_\bi_\bs_\bt  is  executed  in
+              turn,  and  if  its  exit status is zero, the corresponding t\bth\bhe\ben\bn
               _\bl_\bi_\bs_\bt is executed and the command completes.  Otherwise, the e\bel\bls\bse\be
-              _\bl_\bi_\bs_\bis executed, if present.  The exit status is the exit  sta-
+              _\bl_\bi_\bs_\b is executed, if present.  The exit status is the exit sta-
               tus of the last command executed, or zero if no condition tested
               true.
 
        w\bwh\bhi\bil\ble\be _\bl_\bi_\bs_\bt; d\bdo\bo _\bl_\bi_\bs_\bt; d\bdo\bon\bne\be
        u\bun\bnt\bti\bil\bl _\bl_\bi_\bs_\bt; d\bdo\bo _\bl_\bi_\bs_\bt; d\bdo\bon\bne\be
-              The w\bwh\bhi\bil\ble\be command continuously executes the d\bdo\bo _\bl_\bi_\bs_\bt as  long  as
-              the  last  command  in _\bl_\bi_\bs_\bt returns an exit status of zero.  The
+              The  w\bwh\bhi\bil\ble\be  command continuously executes the d\bdo\bo _\bl_\bi_\bs_\bt as long as
+              the last command in _\bl_\bi_\bs_\bt returns an exit status  of  zero.   The
               u\bun\bnt\bti\bil\bl command is identical to the w\bwh\bhi\bil\ble\be command, except that the
-              test  is  negated;  the  d\bdo\bo _\bl_\bi_\bs_\bt is executed as long as the last
+              test is negated; the d\bdo\bo _\bl_\bi_\bs_\bt is executed as  long  as  the  last
               command in _\bl_\bi_\bs_\bt returns a non-zero exit status.  The exit status
-              of  the  w\bwh\bhi\bil\ble\be and u\bun\bnt\bti\bil\bl commands is the exit status of the last
+              of the w\bwh\bhi\bil\ble\be and u\bun\bnt\bti\bil\bl commands is the exit status of  the  last
               d\bdo\bo _\bl_\bi_\bs_\bt command executed, or zero if none was executed.
 
    S\bSh\bhe\bel\bll\bl F\bFu\bun\bnc\bct\bti\bio\bon\bn D\bDe\bef\bfi\bin\bni\bit\bti\bio\bon\bns\bs
-       A shell function is an object that is called like a simple command  and
-       executes  a  compound  command with a new set of positional parameters.
+       A  shell function is an object that is called like a simple command and
+       executes a compound command with a new set  of  positional  parameters.
        Shell functions are declared as follows:
 
        [ f\bfu\bun\bnc\bct\bti\bio\bon\bn ] _\bn_\ba_\bm_\be () _\bc_\bo_\bm_\bp_\bo_\bu_\bn_\bd_\b-_\bc_\bo_\bm_\bm_\ba_\bn_\bd [_\br_\be_\bd_\bi_\br_\be_\bc_\bt_\bi_\bo_\bn]
-              This defines a function named _\bn_\ba_\bm_\be.  The reserved word  f\bfu\bun\bnc\bct\bti\bio\bon\bn
-              is  optional.   If  the  f\bfu\bun\bnc\bct\bti\bio\bon\bn reserved word is supplied, the
-              parentheses are optional.  The _\bb_\bo_\bd_\by of the function is the  com-
-              pound  command  _\bc_\bo_\bm_\bp_\bo_\bu_\bn_\bd_\b-_\bc_\bo_\bm_\bm_\ba_\bn_\bd  (see C\bCo\bom\bmp\bpo\bou\bun\bnd\bd C\bCo\bom\bmm\bma\ban\bnd\bds\bs above).
-              That command is usually a _\bl_\bi_\bs_\bt of commands between { and },  but
-              may  be  any command listed under C\bCo\bom\bmp\bpo\bou\bun\bnd\bd C\bCo\bom\bmm\bma\ban\bnd\bds\bs above.  _\bc_\bo_\bm_\b-
+              This  defines a function named _\bn_\ba_\bm_\be.  The reserved word f\bfu\bun\bnc\bct\bti\bio\bon\bn
+              is optional.  If the f\bfu\bun\bnc\bct\bti\bio\bon\bn reserved  word  is  supplied,  the
+              parentheses  are optional.  The _\bb_\bo_\bd_\by of the function is the com-
+              pound command _\bc_\bo_\bm_\bp_\bo_\bu_\bn_\bd_\b-_\bc_\bo_\bm_\bm_\ba_\bn_\bd (see  C\bCo\bom\bmp\bpo\bou\bun\bnd\bd  C\bCo\bom\bmm\bma\ban\bnd\bds\b above).
+              That  command is usually a _\bl_\bi_\bs_\bt of commands between { and }, but
+              may be any command listed under C\bCo\bom\bmp\bpo\bou\bun\bnd\bd C\bCo\bom\bmm\bma\ban\bnd\bds\bs  above.   _\bc_\bo_\bm_\b-
               _\bp_\bo_\bu_\bn_\bd_\b-_\bc_\bo_\bm_\bm_\ba_\bn_\bd is executed whenever _\bn_\ba_\bm_\be is specified as the name
-              of  a  simple command.  Any redirections (see R\bRE\bED\bDI\bIR\bRE\bEC\bCT\bTI\bIO\bON\bN below)
-              specified when a function is  defined  are  performed  when  the
-              function  is executed.  The exit status of a function definition
+              of a simple command.  Any redirections (see  R\bRE\bED\bDI\bIR\bRE\bEC\bCT\bTI\bIO\bON\b below)
+              specified  when  a  function  is  defined are performed when the
+              function is executed.  The exit status of a function  definition
               is zero unless a syntax error occurs or a readonly function with
               the same name already exists.  When executed, the exit status of
-              a function is the exit status of the last  command  executed  in
+              a  function  is  the exit status of the last command executed in
               the body.  (See F\bFU\bUN\bNC\bCT\bTI\bIO\bON\bNS\bS below.)
 
 C\bCO\bOM\bMM\bME\bEN\bNT\bTS\bS
        In a non-interactive shell, or an interactive shell in which the i\bin\bnt\bte\ber\br-\b-
-       a\bac\bct\bti\biv\bve\be_\b_c\bco\bom\bmm\bme\ben\bnt\bts\boption to the  s\bsh\bho\bop\bpt\bt  builtin  is  enabled  (see  S\bSH\bHE\bEL\bLL\bL
-       B\bBU\bUI\bIL\bLT\bTI\bIN\b C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS  below), a word beginning with #\b# causes that word and
-       all remaining characters on that line to be  ignored.   An  interactive
-       shell  without  the  i\bin\bnt\bte\ber\bra\bac\bct\bti\biv\bve\be_\b_c\bco\bom\bmm\bme\ben\bnt\bts\bs option enabled does not allow
+       a\bac\bct\bti\biv\bve\be_\b_c\bco\bom\bmm\bme\ben\bnt\bts\b option  to  the  s\bsh\bho\bop\bpt\bt  builtin  is enabled (see S\bSH\bHE\bEL\bLL\bL
+       B\bBU\bUI\bIL\bLT\bTI\bIN\bC\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below), a word beginning with #\b# causes that  word  and
+       all  remaining  characters  on that line to be ignored.  An interactive
+       shell without the i\bin\bnt\bte\ber\bra\bac\bct\bti\biv\bve\be_\b_c\bco\bom\bmm\bme\ben\bnt\bts\bs option enabled  does  not  allow
        comments.  The i\bin\bnt\bte\ber\bra\bac\bct\bti\biv\bve\be_\b_c\bco\bom\bmm\bme\ben\bnt\bts\bs option is on by default in interac-
        tive shells.
 
 Q\bQU\bUO\bOT\bTI\bIN\bNG\bG
-       _\bQ_\bu_\bo_\bt_\bi_\bn_\b is used to remove the special meaning of certain characters or
-       words to the shell.  Quoting can be used to disable  special  treatment
+       _\bQ_\bu_\bo_\bt_\bi_\bn_\bis used to remove the special meaning of certain characters  or
+       words  to  the shell.  Quoting can be used to disable special treatment
        for special characters, to prevent reserved words from being recognized
        as such, and to prevent parameter expansion.
 
-       Each of the _\bm_\be_\bt_\ba_\bc_\bh_\ba_\br_\ba_\bc_\bt_\be_\br_\bs listed above under D\bDE\bEF\bFI\bIN\bNI\bIT\bTI\bIO\bON\bNS\bS  has  special
+       Each  of  the _\bm_\be_\bt_\ba_\bc_\bh_\ba_\br_\ba_\bc_\bt_\be_\br_\bs listed above under D\bDE\bEF\bFI\bIN\bNI\bIT\bTI\bIO\bON\bNS\bS has special
        meaning to the shell and must be quoted if it is to represent itself.
 
-       When  the command history expansion facilities are being used (see H\bHI\bIS\bS-\b-
+       When the command history expansion facilities are being used (see  H\bHI\bIS\bS-\b-
        T\bTO\bOR\bRY\bY E\bEX\bXP\bPA\bAN\bNS\bSI\bIO\bON\bN below), the _\bh_\bi_\bs_\bt_\bo_\br_\by _\be_\bx_\bp_\ba_\bn_\bs_\bi_\bo_\bn character, usually !\b!, must
        be quoted to prevent history expansion.
 
-       There  are  three  quoting  mechanisms:  the  _\be_\bs_\bc_\ba_\bp_\be  _\bc_\bh_\ba_\br_\ba_\bc_\bt_\be_\br, single
+       There are  three  quoting  mechanisms:  the  _\be_\bs_\bc_\ba_\bp_\be  _\bc_\bh_\ba_\br_\ba_\bc_\bt_\be_\br,  single
        quotes, and double quotes.
 
-       A non-quoted backslash (\\b\) is the _\be_\bs_\bc_\ba_\bp_\be _\bc_\bh_\ba_\br_\ba_\bc_\bt_\be_\br.  It  preserves  the
+       A  non-quoted  backslash (\\b\) is the _\be_\bs_\bc_\ba_\bp_\be _\bc_\bh_\ba_\br_\ba_\bc_\bt_\be_\br.  It preserves the
        literal value of the next character that follows, with the exception of
-       <newline>.  If a \\b\<newline> pair appears,  and  the  backslash  is  not
-       itself  quoted,  the \\b\<newline> is treated as a line continuation (that
+       <newline>.   If  a  \\b\<newline>  pair  appears, and the backslash is not
+       itself quoted, the \\b\<newline> is treated as a line  continuation  (that
        is, it is removed from the input stream and effectively ignored).
 
-       Enclosing characters in single quotes preserves the  literal  value  of
+       Enclosing  characters  in  single quotes preserves the literal value of
        each character within the quotes.  A single quote may not occur between
        single quotes, even when preceded by a backslash.
 
-       Enclosing characters in double quotes preserves the  literal  value  of
-       all  characters  within the quotes, with the exception of $\b$, `\b`, \\b\, and,
-       when history expansion is enabled, !\b!.  The characters $\b$  and  `\b retain
-       their  special meaning within double quotes.  The backslash retains its
-       special meaning only when followed by one of the following  characters:
-       $\b$,  `\b`,  "\b", \\b\, or <\b<n\bne\bew\bwl\bli\bin\bne\be>\b>.  A double quote may be quoted within double
+       Enclosing  characters  in  double quotes preserves the literal value of
+       all characters within the quotes, with the exception of $\b$, `\b`,  \\b\,  and,
+       when  history  expansion  is enabled, !\b!.  The characters $\b$ and `\b` retain
+       their special meaning within double quotes.  The backslash retains  its
+       special  meaning only when followed by one of the following characters:
+       $\b$, `\b`, "\b", \\b\, or <\b<n\bne\bew\bwl\bli\bin\bne\be>\b>.  A double quote may be quoted  within  double
        quotes by preceding it with a backslash.  If enabled, history expansion
-       will  be  performed  unless an !\b!  appearing in double quotes is escaped
+       will be performed unless an !\b!  appearing in double  quotes  is  escaped
        using a backslash.  The backslash preceding the !\b!  is not removed.
 
-       The special parameters *\b* and @\b@ have  special  meaning  when  in  double
+       The  special  parameters  *\b*  and  @\b@ have special meaning when in double
        quotes (see P\bPA\bAR\bRA\bAM\bME\bET\bTE\bER\bRS\bS below).
 
        Words of the form $\b$'_\bs_\bt_\br_\bi_\bn_\bg' are treated specially.  The word expands to
-       _\bs_\bt_\br_\bi_\bn_\bg, with backslash-escaped characters replaced as specified by  the
-       ANSI  C  standard.  Backslash escape sequences, if present, are decoded
+       _\bs_\bt_\br_\bi_\bn_\bg,  with backslash-escaped characters replaced as specified by the
+       ANSI C standard.  Backslash escape sequences, if present,  are  decoded
        as follows:
               \\b\a\ba     alert (bell)
               \\b\b\bb     backspace
@@ -529,285 +530,285 @@ Q\bQU\bUO\bOT\bTI\bIN\bNG\bG
               \\b\v\bv     vertical tab
               \\b\\\b\     backslash
               \\b\'\b'     single quote
-              \\b\_\bn_\bn_\bn   the eight-bit character whose value is  the  octal  value
+              \\b\_\bn_\bn_\bn   the  eight-bit  character  whose value is the octal value
                      _\bn_\bn_\bn (one to three digits)
-              \\b\x\bx_\bH_\bH   the  eight-bit  character  whose value is the hexadecimal
+              \\b\x\bx_\bH_\bH   the eight-bit character whose value  is  the  hexadecimal
                      value _\bH_\bH (one or two hex digits)
               \\b\c\bc_\bx    a control-_\bx character
 
-       The expanded result is single-quoted, as if the  dollar  sign  had  not
+       The  expanded  result  is  single-quoted, as if the dollar sign had not
        been present.
 
-       A  double-quoted  string  preceded  by a dollar sign ($\b$) will cause the
-       string to be translated according to the current locale.  If  the  cur-
-       rent  locale  is C\bC or P\bPO\bOS\bSI\bIX\bX, the dollar sign is ignored.  If the string
+       A double-quoted string preceded by a dollar sign  ($\b$)  will  cause  the
+       string  to  be translated according to the current locale.  If the cur-
+       rent locale is C\bC or P\bPO\bOS\bSI\bIX\bX, the dollar sign is ignored.  If  the  string
        is translated and replaced, the replacement is double-quoted.
 
 P\bPA\bAR\bRA\bAM\bME\bET\bTE\bER\bRS\bS
-       A _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is an entity that stores values.  It can be a _\bn_\ba_\bm_\be, a  num-
+       A  _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is an entity that stores values.  It can be a _\bn_\ba_\bm_\be, a num-
        ber, or one of the special characters listed below under S\bSp\bpe\bec\bci\bia\bal\bl P\bPa\bar\bra\bam\bm-\b-
-       e\bet\bte\ber\brs\bs.  A _\bv_\ba_\br_\bi_\ba_\bb_\bl_\be is a parameter denoted by a _\bn_\ba_\bm_\be.  A variable has  a
-       _\bv_\ba_\bl_\bu_\b and  zero or more _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\bs.  Attributes are assigned using the
-       d\bde\bec\bcl\bla\bar\bre\bbuiltin command (see d\bde\bec\bcl\bla\bar\bre\be below in S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\b C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS).
+       e\bet\bte\ber\brs\bs.   A _\bv_\ba_\br_\bi_\ba_\bb_\bl_\be is a parameter denoted by a _\bn_\ba_\bm_\be.  A variable has a
+       _\bv_\ba_\bl_\bu_\band zero or more _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\bs.  Attributes are assigned  using  the
+       d\bde\bec\bcl\bla\bar\bre\b builtin command (see d\bde\bec\bcl\bla\bar\bre\be below in S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS).
 
        A parameter is set if it has been assigned a value.  The null string is
-       a valid value.  Once a variable is set, it may be unset only  by  using
+       a  valid  value.  Once a variable is set, it may be unset only by using
        the u\bun\bns\bse\bet\bt builtin command (see S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below).
 
        A _\bv_\ba_\br_\bi_\ba_\bb_\bl_\be may be assigned to by a statement of the form
 
               _\bn_\ba_\bm_\be=[_\bv_\ba_\bl_\bu_\be]
 
-       If  _\bv_\ba_\bl_\bu_\be  is not given, the variable is assigned the null string.  All
-       _\bv_\ba_\bl_\bu_\be_\bundergo tilde expansion, parameter and variable expansion,  com-
-       mand  substitution, arithmetic expansion, and quote removal (see E\bEX\bXP\bPA\bAN\bN-\b-
+       If _\bv_\ba_\bl_\bu_\be is not given, the variable is assigned the null  string.   All
+       _\bv_\ba_\bl_\bu_\be_\b undergo tilde expansion, parameter and variable expansion, com-
+       mand substitution, arithmetic expansion, and quote removal (see  E\bEX\bXP\bPA\bAN\bN-\b-
        S\bSI\bIO\bON\bN below).  If the variable has its i\bin\bnt\bte\beg\bge\ber\br attribute set, then _\bv_\ba_\bl_\bu_\be
        is evaluated as an arithmetic expression even if the $((...)) expansion
-       is not used (see A\bAr\bri\bit\bth\bhm\bme\bet\bti\bic\bc E\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn below).  Word  splitting  is  not
-       performed,  with the exception of "\b"$\b$@\b@"\b" as explained below under S\bSp\bpe\bec\bci\bia\bal\bl
-       P\bPa\bar\bra\bam\bme\bet\bte\ber\brs\bs.  Pathname expansion is not  performed.   Assignment  state-
-       ments  may  also  appear  as  arguments to the a\bal\bli\bia\bas\bs, d\bde\bec\bcl\bla\bar\bre\be, t\bty\byp\bpe\bes\bse\bet\bt,
+       is  not  used  (see A\bAr\bri\bit\bth\bhm\bme\bet\bti\bic\bc E\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn below).  Word splitting is not
+       performed, with the exception of "\b"$\b$@\b@"\b" as explained below under  S\bSp\bpe\bec\bci\bia\bal\bl
+       P\bPa\bar\bra\bam\bme\bet\bte\ber\brs\bs.   Pathname  expansion  is not performed.  Assignment state-
+       ments may also appear as arguments  to  the  a\bal\bli\bia\bas\bs,  d\bde\bec\bcl\bla\bar\bre\be,  t\bty\byp\bpe\bes\bse\bet\bt,
        e\bex\bxp\bpo\bor\brt\bt, r\bre\bea\bad\bdo\bon\bnl\bly\by, and l\blo\boc\bca\bal\bl builtin commands.
 
-       In the context where an assignment statement is assigning a value to  a
+       In  the context where an assignment statement is assigning a value to a
        shell variable or array index, the += operator can be used to append to
        or add to the variable's previous value.  When += is applied to a vari-
-       able  for  which the integer attribute has been set, _\bv_\ba_\bl_\bu_\be is evaluated
-       as an arithmetic expression and added to the variable's current  value,
+       able for which the integer attribute has been set, _\bv_\ba_\bl_\bu_\be  is  evaluated
+       as  an arithmetic expression and added to the variable's current value,
        which is also evaluated.  When += is applied to an array variable using
-       compound assignment (see A\bAr\brr\bra\bay\bys\bs below), the  variable's  value  is  not
+       compound  assignment  (see  A\bAr\brr\bra\bay\bys\bs  below), the variable's value is not
        unset (as it is when using =), and new values are appended to the array
-       beginning at one greater than the array's maximum index.  When  applied
-       to  a  string-valued  variable,  _\bv_\ba_\bl_\bu_\be  is expanded and appended to the
+       beginning  at one greater than the array's maximum index.  When applied
+       to a string-valued variable, _\bv_\ba_\bl_\bu_\be is  expanded  and  appended  to  the
        variable's value.
 
    P\bPo\bos\bsi\bit\bti\bio\bon\bna\bal\bl P\bPa\bar\bra\bam\bme\bet\bte\ber\brs\bs
-       A _\bp_\bo_\bs_\bi_\bt_\bi_\bo_\bn_\ba_\bl _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is a parameter denoted by one  or  more  digits,
+       A  _\bp_\bo_\bs_\bi_\bt_\bi_\bo_\bn_\ba_\bl  _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br  is a parameter denoted by one or more digits,
        other than the single digit 0.  Positional parameters are assigned from
-       the shell's arguments when it is invoked, and may be  reassigned  using
-       the  s\bse\bet\bt builtin command.  Positional parameters may not be assigned to
-       with assignment statements.  The positional parameters are  temporarily
+       the  shell's  arguments when it is invoked, and may be reassigned using
+       the s\bse\bet\bt builtin command.  Positional parameters may not be assigned  to
+       with  assignment statements.  The positional parameters are temporarily
        replaced when a shell function is executed (see F\bFU\bUN\bNC\bCT\bTI\bIO\bON\bNS\bS below).
 
-       When  a  positional parameter consisting of more than a single digit is
+       When a positional parameter consisting of more than a single  digit  is
        expanded, it must be enclosed in braces (see E\bEX\bXP\bPA\bAN\bNS\bSI\bIO\bON\bN below).
 
    S\bSp\bpe\bec\bci\bia\bal\bl P\bPa\bar\bra\bam\bme\bet\bte\ber\brs\bs
-       The shell treats several parameters specially.   These  parameters  may
+       The  shell  treats  several parameters specially.  These parameters may
        only be referenced; assignment to them is not allowed.
-       *\b*      Expands  to  the positional parameters, starting from one.  When
-              the expansion occurs within double quotes, it expands to a  sin-
+       *\b*      Expands to the positional parameters, starting from  one.   When
+              the  expansion occurs within double quotes, it expands to a sin-
               gle word with the value of each parameter separated by the first
               character of the I\bIF\bFS\bS special variable.  That is, "$\b$*\b*" is equiva-
               lent to "$\b$1\b1_\bc$\b$2\b2_\bc.\b..\b..\b.", where _\bc is the first character of the value
-              of the I\bIF\bFS\bS variable.  If I\bIF\bFS\bS is unset, the parameters are  sepa-
-              rated  by  spaces.   If  I\bIF\bFS\bS  is null, the parameters are joined
+              of  the I\bIF\bFS\bS variable.  If I\bIF\bFS\bS is unset, the parameters are sepa-
+              rated by spaces.  If I\bIF\bFS\bS is  null,  the  parameters  are  joined
               without intervening separators.
-       @\b@      Expands to the positional parameters, starting from  one.   When
+       @\b@      Expands  to  the positional parameters, starting from one.  When
               the  expansion  occurs  within  double  quotes,  each  parameter
               expands to a separate word.  That is, "$\b$@\b@" is equivalent to "$\b$1\b1"
-              "$\b$2\b2"  ...   If the double-quoted expansion occurs within a word,
-              the expansion of the first parameter is joined with  the  begin-
-              ning  part  of  the original word, and the expansion of the last
-              parameter is joined with the last part  of  the  original  word.
-              When  there  are no positional parameters, "$\b$@\b@" and $\b$@\b@ expand to
+              "$\b$2\b2" ...  If the double-quoted expansion occurs within  a  word,
+              the  expansion  of the first parameter is joined with the begin-
+              ning part of the original word, and the expansion  of  the  last
+              parameter  is  joined  with  the last part of the original word.
+              When there are no positional parameters, "$\b$@\b@" and $\b$@\b@  expand  to
               nothing (i.e., they are removed).
        #\b#      Expands to the number of positional parameters in decimal.
-       ?\b?      Expands to the status of the most recently  executed  foreground
+       ?\b?      Expands  to  the status of the most recently executed foreground
               pipeline.
-       -\b-      Expands  to  the  current option flags as specified upon invoca-
-              tion, by the s\bse\bet\bt builtin command, or  those  set  by  the  shell
+       -\b-      Expands to the current option flags as  specified  upon  invoca-
+              tion,  by  the  s\bse\bet\bt  builtin  command, or those set by the shell
               itself (such as the -\b-i\bi option).
-       $\b$      Expands  to  the  process ID of the shell.  In a () subshell, it
-              expands to the process ID of the current  shell,  not  the  sub-
+       $\b$      Expands to the process ID of the shell.  In a  ()  subshell,  it
+              expands  to  the  process  ID of the current shell, not the sub-
               shell.
-       !\b!      Expands  to  the  process ID of the most recently executed back-
+       !\b!      Expands to the process ID of the most  recently  executed  back-
               ground (asynchronous) command.
-       0\b0      Expands to the name of the shell or shell script.  This  is  set
+       0\b0      Expands  to  the name of the shell or shell script.  This is set
               at shell initialization.  If b\bba\bas\bsh\bh is invoked with a file of com-
-              mands, $\b$0\b0 is set to the name of that file.  If b\bba\bas\bsh\bh  is  started
-              with  the  -\b-c\bc option, then $\b$0\b0 is set to the first argument after
-              the string to be executed, if one is present.  Otherwise, it  is
-              set  to  the file name used to invoke b\bba\bas\bsh\bh, as given by argument
+              mands,  $\b$0\b0  is set to the name of that file.  If b\bba\bas\bsh\bh is started
+              with the -\b-c\bc option, then $\b$0\b0 is set to the first  argument  after
+              the  string to be executed, if one is present.  Otherwise, it is
+              set to the file name used to invoke b\bba\bas\bsh\bh, as given  by  argument
               zero.
-       _\b_      At shell startup, set to the absolute pathname  used  to  invoke
-              the  shell or shell script being executed as passed in the envi-
-              ronment or argument list.  Subsequently,  expands  to  the  last
-              argument  to the previous command, after expansion.  Also set to
-              the full pathname used  to  invoke  each  command  executed  and
+       _\b_      At  shell  startup,  set to the absolute pathname used to invoke
+              the shell or shell script being executed as passed in the  envi-
+              ronment  or  argument  list.   Subsequently, expands to the last
+              argument to the previous command, after expansion.  Also set  to
+              the  full  pathname  used  to  invoke  each command executed and
               placed in the environment exported to that command.  When check-
-              ing mail, this parameter holds the name of the  mail  file  cur-
+              ing  mail,  this  parameter holds the name of the mail file cur-
               rently being checked.
 
    S\bSh\bhe\bel\bll\bl V\bVa\bar\bri\bia\bab\bbl\ble\bes\bs
        The following variables are set by the shell:
 
-       B\bBA\bAS\bSH\bH   Expands  to  the  full file name used to invoke this instance of
+       B\bBA\bAS\bSH\bH   Expands to the full file name used to invoke  this  instance  of
               b\bba\bas\bsh\bh.
        B\bBA\bAS\bSH\bH_\b_A\bAR\bRG\bGC\bC
-              An array variable whose values are the number of  parameters  in
+              An  array  variable whose values are the number of parameters in
               each frame of the current bash execution call stack.  The number
-              of parameters to  the  current  subroutine  (shell  function  or
-              script  executed  with  .\b. or s\bso\bou\bur\brc\bce\be) is at the top of the stack.
-              When a subroutine is executed, the number of  parameters  passed
+              of  parameters  to  the  current  subroutine  (shell function or
+              script executed with .\b. or s\bso\bou\bur\brc\bce\be) is at the top  of  the  stack.
+              When  a  subroutine is executed, the number of parameters passed
               is pushed onto B\bBA\bAS\bSH\bH_\b_A\bAR\bRG\bGC\bC.  The shell sets B\bBA\bAS\bSH\bH_\b_A\bAR\bRG\bGC\bC only when in
-              extended debugging mode (see the  description  of  the  e\bex\bxt\btd\bde\beb\bbu\bug\bg
+              extended  debugging  mode  (see  the description of the e\bex\bxt\btd\bde\beb\bbu\bug\bg
               option to the s\bsh\bho\bop\bpt\bt builtin below)
        B\bBA\bAS\bSH\bH_\b_A\bAR\bRG\bGV\bV
-              An  array  variable containing all of the parameters in the cur-
+              An array variable containing all of the parameters in  the  cur-
               rent bash execution call stack.  The final parameter of the last
-              subroutine  call is at the top of the stack; the first parameter
+              subroutine call is at the top of the stack; the first  parameter
               of the initial call is at the bottom.  When a subroutine is exe-
-              cuted,  the  parameters supplied are pushed onto B\bBA\bAS\bSH\bH_\b_A\bAR\bRG\bGV\bV.  The
-              shell sets B\bBA\bAS\bSH\bH_\b_A\bAR\bRG\bGV\bV only when in extended debugging  mode  (see
-              the  description  of  the  e\bex\bxt\btd\bde\beb\bbu\bug\bg  option to the s\bsh\bho\bop\bpt\bt builtin
+              cuted, the parameters supplied are pushed onto  B\bBA\bAS\bSH\bH_\b_A\bAR\bRG\bGV\bV.   The
+              shell  sets  B\bBA\bAS\bSH\bH_\b_A\bAR\bRG\bGV\bV only when in extended debugging mode (see
+              the description of the e\bex\bxt\btd\bde\beb\bbu\bug\bg  option  to  the  s\bsh\bho\bop\bpt\b builtin
               below)
        B\bBA\bAS\bSH\bH_\b_C\bCO\bOM\bMM\bMA\bAN\bND\bD
-              The command currently being executed or about  to  be  executed,
+              The  command  currently  being executed or about to be executed,
               unless the shell is executing a command as the result of a trap,
-              in which case it is the command executing at  the  time  of  the
+              in  which  case  it  is the command executing at the time of the
               trap.
        B\bBA\bAS\bSH\bH_\b_E\bEX\bXE\bEC\bCU\bUT\bTI\bIO\bON\bN_\b_S\bST\bTR\bRI\bIN\bNG\bG
               The command argument to the -\b-c\bc invocation option.
        B\bBA\bAS\bSH\bH_\b_L\bLI\bIN\bNE\bEN\bNO\bO
-              An  array  variable whose members are the line numbers in source
-              files   corresponding    to    each    member    of    F\bFU\bUN\bNC\bCN\bNA\bAM\bME\bE.
-              $\b${\b{B\bBA\bAS\bSH\bH_\b_L\bLI\bIN\bNE\bEN\bNO\bO[\b[_\b$_\bi]\b]}\b is  the line number in the source file where
-              $\b${\b{F\bFU\bUN\bNC\bCN\bNA\bAM\bME\bE[\b[_\b$_\bi_\bf_\bP]\b]}\b_\bw_\ba_\bs _\bc_\ba_\bl_\bl_\be_\bd_\b.   _\bT_\bh_\be  _\bc_\bo_\br_\br_\be_\bs_\bp_\bo_\bn_\bd_\bi_\bn_\bg  _\bs_\bo_\bu_\br_\bc_\b _\bf_\bi_\bl_\be
-              _\bn_\ba_\bm_\b _\bi_\bs  $\b${\b{B\bBA\bAS\bSH\bH_\b_S\bSO\bOU\bUR\bRC\bCE\bE[\b[_\b$_\bi]\b]}\b}.\b.   U\bUs\bse\be L\bLI\bIN\bNE\bEN\bNO\bO t\bto\bo o\bob\bbt\bta\bai\bin\bn t\bth\bhe\be c\bcu\bur\brr\bre\ben\bnt\bt
+              An array variable whose members are the line numbers  in  source
+              files    corresponding    to    each    member    of   F\bFU\bUN\bNC\bCN\bNA\bAM\bME\bE.
+              $\b${\b{B\bBA\bAS\bSH\bH_\b_L\bLI\bIN\bNE\bEN\bNO\bO[\b[_\b$_\bi]\b]}\bis the line number in the source  file  where
+              $\b${\b{F\bFU\bUN\bNC\bCN\bNA\bAM\bME\bE[\b[_\b$_\bi_\bf_\bP]\b]}\b _\bw_\ba_\bs  _\bc_\ba_\bl_\bl_\be_\bd_\b.   _\bT_\bh_\be  _\bc_\bo_\br_\br_\be_\bs_\bp_\bo_\bn_\bd_\bi_\bn_\bg _\bs_\bo_\bu_\br_\bc_\be _\bf_\bi_\bl_\be
+              _\bn_\ba_\bm_\b_\bi_\bs $\b${\b{B\bBA\bAS\bSH\bH_\b_S\bSO\bOU\bUR\bRC\bCE\bE[\b[_\b$_\bi]\b]}\b}.\b.  U\bUs\bse\be L\bLI\bIN\bNE\bEN\bNO\bO t\bto\bo  o\bob\bbt\bta\bai\bin\bn  t\bth\bhe\b c\bcu\bur\brr\bre\ben\bnt\bt
               l\bli\bin\bne\be n\bnu\bum\bmb\bbe\ber\br.\b.
        B\bBA\bAS\bSH\bH_\b_R\bRE\bEM\bMA\bAT\bTC\bCH\bH
-              An array variable whose members are assigned by  the  =\b=~\b binary
-              operator  to the [\b[[\b[ conditional command.  The element with index
-              0 is the portion of  the  string  matching  the  entire  regular
-              expression.   The  element  with  index  _\bn is the portion of the
+              An  array  variable  whose members are assigned by the =\b=~\b~ binary
+              operator to the [\b[[\b[ conditional command.  The element with  index
+              0  is  the  portion  of  the  string matching the entire regular
+              expression.  The element with index _\bn  is  the  portion  of  the
               string matching the _\bnth parenthesized subexpression.  This vari-
               able is read-only.
        B\bBA\bAS\bSH\bH_\b_S\bSO\bOU\bUR\bRC\bCE\bE
-              An  array variable whose members are the source filenames corre-
+              An array variable whose members are the source filenames  corre-
               sponding to the elements in the F\bFU\bUN\bNC\bCN\bNA\bAM\bME\bE array variable.
        B\bBA\bAS\bSH\bH_\b_S\bSU\bUB\bBS\bSH\bHE\bEL\bLL\bL
-              Incremented by one each time a subshell or subshell  environment
+              Incremented  by one each time a subshell or subshell environment
               is spawned.  The initial value is 0.
        B\bBA\bAS\bSH\bH_\b_V\bVE\bER\bRS\bSI\bIN\bNF\bFO\bO
               A readonly array variable whose members hold version information
-              for this instance of b\bba\bas\bsh\bh.  The values  assigned  to  the  array
+              for  this  instance  of  b\bba\bas\bsh\bh.  The values assigned to the array
               members are as follows:
-              B\bBA\bAS\bSH\bH_\b_V\bVE\bER\bRS\bSI\bIN\bNF\bFO\bO[\b[0]\b]        The  major version number (the _\br_\be_\bl_\be_\ba_\bs_\be).
-              B\bBA\bAS\bSH\bH_\b_V\bVE\bER\bRS\bSI\bIN\bNF\bFO\bO[\b[1]\b]        The minor version number (the  _\bv_\be_\br_\bs_\bi_\bo_\bn).
+              B\bBA\bAS\bSH\bH_\b_V\bVE\bER\bRS\bSI\bIN\bNF\bFO\bO[\b[0]\b]        The major version number (the  _\br_\be_\bl_\be_\ba_\bs_\be).
+              B\bBA\bAS\bSH\bH_\b_V\bVE\bER\bRS\bSI\bIN\bNF\bFO\bO[\b[1]\b]        The  minor version number (the _\bv_\be_\br_\bs_\bi_\bo_\bn).
               B\bBA\bAS\bSH\bH_\b_V\bVE\bER\bRS\bSI\bIN\bNF\bFO\bO[\b[2]\b]        The patch level.
               B\bBA\bAS\bSH\bH_\b_V\bVE\bER\bRS\bSI\bIN\bNF\bFO\bO[\b[3]\b]        The build version.
               B\bBA\bAS\bSH\bH_\b_V\bVE\bER\bRS\bSI\bIN\bNF\bFO\bO[\b[4]\b]        The release status (e.g., _\bb_\be_\bt_\ba_\b1).
               B\bBA\bAS\bSH\bH_\b_V\bVE\bER\bRS\bSI\bIN\bNF\bFO\bO[\b[5]\b]        The value of M\bMA\bAC\bCH\bHT\bTY\bYP\bPE\bE.
 
        B\bBA\bAS\bSH\bH_\b_V\bVE\bER\bRS\bSI\bIO\bON\bN
-              Expands  to  a string describing the version of this instance of
+              Expands to a string describing the version of this  instance  of
               b\bba\bas\bsh\bh.
 
        C\bCO\bOM\bMP\bP_\b_C\bCW\bWO\bOR\bRD\bD
-              An index into $\b${\b{C\bCO\bOM\bMP\bP_\b_W\bWO\bOR\bRD\bDS\bS}\b} of the word containing  the  current
+              An  index  into $\b${\b{C\bCO\bOM\bMP\bP_\b_W\bWO\bOR\bRD\bDS\bS}\b} of the word containing the current
               cursor position.  This variable is available only in shell func-
-              tions invoked by the  programmable  completion  facilities  (see
+              tions  invoked  by  the  programmable completion facilities (see
               P\bPr\bro\bog\bgr\bra\bam\bmm\bma\bab\bbl\ble\be C\bCo\bom\bmp\bpl\ble\bet\bti\bio\bon\bn below).
 
        C\bCO\bOM\bMP\bP_\b_L\bLI\bIN\bNE\bE
-              The  current  command  line.  This variable is available only in
-              shell functions  and  external  commands  invoked  by  the  pro-
-              grammable  completion  facilities  (see  P\bPr\bro\bog\bgr\bra\bam\bmm\bma\bab\bbl\ble\be C\bCo\bom\bmp\bpl\ble\bet\bti\bio\bon\bn
+              The current command line.  This variable is  available  only  in
+              shell  functions  and  external  commands  invoked  by  the pro-
+              grammable completion  facilities  (see  P\bPr\bro\bog\bgr\bra\bam\bmm\bma\bab\bbl\ble\b C\bCo\bom\bmp\bpl\ble\bet\bti\bio\bon\bn
               below).
 
        C\bCO\bOM\bMP\bP_\b_P\bPO\bOI\bIN\bNT\bT
-              The index of the current cursor position relative to the  begin-
-              ning  of the current command.  If the current cursor position is
+              The  index of the current cursor position relative to the begin-
+              ning of the current command.  If the current cursor position  is
               at the end of the current command, the value of this variable is
-              equal  to  $\b${\b{#\b#C\bCO\bOM\bMP\bP_\b_L\bLI\bIN\bNE\bE}\b}.   This  variable  is available only in
-              shell functions  and  external  commands  invoked  by  the  pro-
-              grammable  completion  facilities  (see  P\bPr\bro\bog\bgr\bra\bam\bmm\bma\bab\bbl\ble\be C\bCo\bom\bmp\bpl\ble\bet\bti\bio\bon\bn
+              equal to $\b${\b{#\b#C\bCO\bOM\bMP\bP_\b_L\bLI\bIN\bNE\bE}\b}.  This  variable  is  available  only  in
+              shell  functions  and  external  commands  invoked  by  the pro-
+              grammable completion  facilities  (see  P\bPr\bro\bog\bgr\bra\bam\bmm\bma\bab\bbl\ble\b C\bCo\bom\bmp\bpl\ble\bet\bti\bio\bon\bn
               below).
 
        C\bCO\bOM\bMP\bP_\b_W\bWO\bOR\bRD\bDB\bBR\bRE\bEA\bAK\bKS\bS
-              The set of characters that the Readline library treats  as  word
-              separators  when performing word completion.  If C\bCO\bOM\bMP\bP_\b_W\bWO\bOR\bRD\bDB\bBR\bRE\bEA\bAK\bKS\bS
-              is unset, it loses its special properties, even if it is  subse-
+              The  set  of characters that the Readline library treats as word
+              separators when performing word completion.  If  C\bCO\bOM\bMP\bP_\b_W\bWO\bOR\bRD\bDB\bBR\bRE\bEA\bAK\bKS\bS
+              is  unset, it loses its special properties, even if it is subse-
               quently reset.
 
        C\bCO\bOM\bMP\bP_\b_W\bWO\bOR\bRD\bDS\bS
-              An  array variable (see A\bAr\brr\bra\bay\bys\bs below) consisting of the individ-
-              ual words in the current command line.  This variable is  avail-
+              An array variable (see A\bAr\brr\bra\bay\bys\bs below) consisting of the  individ-
+              ual  words in the current command line.  This variable is avail-
               able only in shell functions invoked by the programmable comple-
               tion facilities (see P\bPr\bro\bog\bgr\bra\bam\bmm\bma\bab\bbl\ble\be C\bCo\bom\bmp\bpl\ble\bet\bti\bio\bon\bn below).
 
        D\bDI\bIR\bRS\bST\bTA\bAC\bCK\bK
               An array variable (see A\bAr\brr\bra\bay\bys\bs below) containing the current con-
-              tents  of  the directory stack.  Directories appear in the stack
-              in the order they are displayed by the d\bdi\bir\brs\bs builtin.   Assigning
+              tents of the directory stack.  Directories appear in  the  stack
+              in  the order they are displayed by the d\bdi\bir\brs\bs builtin.  Assigning
               to members of this array variable may be used to modify directo-
-              ries already in the stack, but the p\bpu\bus\bsh\bhd\bd and p\bpo\bop\bpd\bd builtins  must
+              ries  already in the stack, but the p\bpu\bus\bsh\bhd\bd and p\bpo\bop\bpd\bd builtins must
               be used to add and remove directories.  Assignment to this vari-
-              able will not change the  current  directory.   If  D\bDI\bIR\bRS\bST\bTA\bAC\bCK\b is
-              unset,  it  loses  its  special properties, even if it is subse-
+              able  will  not  change  the  current directory.  If D\bDI\bIR\bRS\bST\bTA\bAC\bCK\bK is
+              unset, it loses its special properties, even  if  it  is  subse-
               quently reset.
 
-       E\bEU\bUI\bID\bD   Expands to the effective user ID of the current  user,  initial-
+       E\bEU\bUI\bID\bD   Expands  to  the effective user ID of the current user, initial-
               ized at shell startup.  This variable is readonly.
 
        F\bFU\bUN\bNC\bCN\bNA\bAM\bME\bE
-              An  array  variable  containing the names of all shell functions
+              An array variable containing the names of  all  shell  functions
               currently in the execution call stack.  The element with index 0
               is the name of any currently-executing shell function.  The bot-
-              tom-most element is "main".  This variable exists  only  when  a
-              shell  function  is  executing.  Assignments to F\bFU\bUN\bNC\bCN\bNA\bAM\bME\bE have no
-              effect and return an error status.  If  F\bFU\bUN\bNC\bCN\bNA\bAM\bME\bE  is  unset,  it
-              loses  its special properties, even if it is subsequently reset.
-
-       G\bGR\bRO\bOU\bUP\bPS\bS An array variable containing the list of  groups  of  which  the
-              current  user is a member.  Assignments to G\bGR\bRO\bOU\bUP\bPS\bS have no effect
-              and return an error status.  If G\bGR\bRO\bOU\bUP\bPS\bS is unset,  it  loses  its
+              tom-most  element  is  "main".  This variable exists only when a
+              shell function is executing.  Assignments to  F\bFU\bUN\bNC\bCN\bNA\bAM\bME\bE  have  no
+              effect  and  return  an  error status.  If F\bFU\bUN\bNC\bCN\bNA\bAM\bME\bE is unset, it
+              loses its special properties, even if it is subsequently  reset.
+
+       G\bGR\bRO\bOU\bUP\bPS\bS An  array  variable  containing  the list of groups of which the
+              current user is a member.  Assignments to G\bGR\bRO\bOU\bUP\bPS\bS have no  effect
+              and  return  an  error status.  If G\bGR\bRO\bOU\bUP\bPS\bS is unset, it loses its
               special properties, even if it is subsequently reset.
 
        H\bHI\bIS\bST\bTC\bCM\bMD\bD
               The history number, or index in the history list, of the current
-              command.  If H\bHI\bIS\bST\bTC\bCM\bMD\bD is unset, it loses its special  properties,
+              command.   If H\bHI\bIS\bST\bTC\bCM\bMD\bD is unset, it loses its special properties,
               even if it is subsequently reset.
 
        H\bHO\bOS\bST\bTN\bNA\bAM\bME\bE
               Automatically set to the name of the current host.
 
        H\bHO\bOS\bST\bTT\bTY\bYP\bPE\bE
-              Automatically  set  to a string that uniquely describes the type
-              of machine on which b\bba\bas\bsh\bh is executing.  The default  is  system-
+              Automatically set to a string that uniquely describes  the  type
+              of  machine  on which b\bba\bas\bsh\bh is executing.  The default is system-
               dependent.
 
-       L\bLI\bIN\bNE\bEN\bNO\bO Each  time this parameter is referenced, the shell substitutes a
-              decimal number representing the current sequential  line  number
-              (starting  with  1)  within a script or function.  When not in a
-              script or function, the value substituted is not  guaranteed  to
+       L\bLI\bIN\bNE\bEN\bNO\bO Each time this parameter is referenced, the shell substitutes  a
+              decimal  number  representing the current sequential line number
+              (starting with 1) within a script or function.  When  not  in  a
+              script  or  function, the value substituted is not guaranteed to
               be meaningful.  If L\bLI\bIN\bNE\bEN\bNO\bO is unset, it loses its special proper-
               ties, even if it is subsequently reset.
 
        M\bMA\bAC\bCH\bHT\bTY\bYP\bPE\bE
-              Automatically set to a string that fully  describes  the  system
-              type  on  which  b\bba\bas\bsh\bh is executing, in the standard GNU _\bc_\bp_\bu_\b-_\bc_\bo_\bm_\b-
+              Automatically  set  to  a string that fully describes the system
+              type on which b\bba\bas\bsh\bh is executing, in the  standard  GNU  _\bc_\bp_\bu_\b-_\bc_\bo_\bm_\b-
               _\bp_\ba_\bn_\by_\b-_\bs_\by_\bs_\bt_\be_\bm format.  The default is system-dependent.
 
        O\bOL\bLD\bDP\bPW\bWD\bD The previous working directory as set by the c\bcd\bd command.
 
-       O\bOP\bPT\bTA\bAR\bRG\bG The value of the last option argument processed by  the  g\bge\bet\bto\bop\bpt\bts\bs
+       O\bOP\bPT\bTA\bAR\bRG\bG The  value  of the last option argument processed by the g\bge\bet\bto\bop\bpt\bts\bs
               builtin command (see S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below).
 
-       O\bOP\bPT\bTI\bIN\bND\bD The  index  of  the next argument to be processed by the g\bge\bet\bto\bop\bpt\bts\bs
+       O\bOP\bPT\bTI\bIN\bND\bD The index of the next argument to be processed  by  the  g\bge\bet\bto\bop\bpt\bts\bs
               builtin command (see S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below).
 
-       O\bOS\bST\bTY\bYP\bPE\bE Automatically set to a string that describes the operating  sys-
-              tem  on  which  b\bba\bas\bsh\bh is executing.  The default is system-depen-
+       O\bOS\bST\bTY\bYP\bPE\bE Automatically  set to a string that describes the operating sys-
+              tem on which b\bba\bas\bsh\bh is executing.  The  default  is  system-depen-
               dent.
 
        P\bPI\bIP\bPE\bES\bST\bTA\bAT\bTU\bUS\bS
-              An array variable (see A\bAr\brr\bra\bay\bys\bs below) containing a list  of  exit
-              status  values  from the processes in the most-recently-executed
+              An  array  variable (see A\bAr\brr\bra\bay\bys\bs below) containing a list of exit
+              status values from the processes in  the  most-recently-executed
               foreground pipeline (which may contain only a single command).
 
-       P\bPP\bPI\bID\bD   The process ID of the shell's parent.  This  variable  is  read-
+       P\bPP\bPI\bID\bD   The  process  ID  of the shell's parent.  This variable is read-
               only.
 
        P\bPW\bWD\bD    The current working directory as set by the c\bcd\bd command.
@@ -815,27 +816,27 @@ P\bPA\bAR\bRA\bAM\bME\bET\bTE\bER\bRS\bS
        R\bRA\bAN\bND\bDO\bOM\bM Each time this parameter is referenced, a random integer between
               0 and 32767 is generated.  The sequence of random numbers may be
               initialized by assigning a value to R\bRA\bAN\bND\bDO\bOM\bM.  If R\bRA\bAN\bND\bDO\bOM\bM is unset,
-              it loses its special properties,  even  if  it  is  subsequently
+              it  loses  its  special  properties,  even if it is subsequently
               reset.
 
-       R\bRE\bEP\bPL\bLY\bY  Set  to  the line of input read by the r\bre\bea\bad\bd builtin command when
+       R\bRE\bEP\bPL\bLY\bY  Set to the line of input read by the r\bre\bea\bad\bd builtin  command  when
               no arguments are supplied.
 
        S\bSE\bEC\bCO\bON\bND\bDS\bS
-              Each time this parameter is referenced, the  number  of  seconds
-              since  shell  invocation is returned.  If a value is assigned to
-              S\bSE\bEC\bCO\bON\bND\bDS\bS, the value returned upon subsequent  references  is  the
-              number  of seconds since the assignment plus the value assigned.
+              Each  time  this  parameter is referenced, the number of seconds
+              since shell invocation is returned.  If a value is  assigned  to
+              S\bSE\bEC\bCO\bON\bND\bDS\bS,  the  value  returned upon subsequent references is the
+              number of seconds since the assignment plus the value  assigned.
               If S\bSE\bEC\bCO\bON\bND\bDS\bS is unset, it loses its special properties, even if it
               is subsequently reset.
 
        S\bSH\bHE\bEL\bLL\bLO\bOP\bPT\bTS\bS
-              A  colon-separated  list of enabled shell options.  Each word in
-              the list is a valid argument  for  the  -\b-o\bo  option  to  the  s\bse\bet\bt
+              A colon-separated list of enabled shell options.  Each  word  in
+              the  list  is  a  valid  argument  for  the -\b-o\bo option to the s\bse\bet\bt
               builtin command (see S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below).  The options
-              appearing in S\bSH\bHE\bEL\bLL\bLO\bOP\bPT\bTS\bS are those reported as _\bo_\bn by s\bse\bet\bt  -\b-o\bo.   If
-              this  variable  is  in the environment when b\bba\bas\bsh\bh starts up, each
-              shell option in the list will  be  enabled  before  reading  any
+              appearing  in  S\bSH\bHE\bEL\bLL\bLO\bOP\bPT\bTS\bS are those reported as _\bo_\bn by s\bse\bet\bt -\b-o\bo.  If
+              this variable is in the environment when b\bba\bas\bsh\bh  starts  up,  each
+              shell  option  in  the  list  will be enabled before reading any
               startup files.  This variable is read-only.
 
        S\bSH\bHL\bLV\bVL\bL  Incremented by one each time an instance of b\bba\bas\bsh\bh is started.
@@ -843,202 +844,202 @@ P\bPA\bAR\bRA\bAM\bME\bET\bTE\bER\bRS\bS
        U\bUI\bID\bD    Expands to the user ID of the current user, initialized at shell
               startup.  This variable is readonly.
 
-       The following variables are used by the shell.   In  some  cases,  b\bba\bas\bsh\bh
+       The  following  variables  are  used by the shell.  In some cases, b\bba\bas\bsh\bh
        assigns a default value to a variable; these cases are noted below.
 
        B\bBA\bAS\bSH\bH_\b_E\bEN\bNV\bV
-              If  this parameter is set when b\bba\bas\bsh\bh is executing a shell script,
-              its value is interpreted as a filename  containing  commands  to
+              If this parameter is set when b\bba\bas\bsh\bh is executing a shell  script,
+              its  value  is  interpreted as a filename containing commands to
               initialize the shell, as in _\b~_\b/_\b._\bb_\ba_\bs_\bh_\br_\bc.  The value of B\bBA\bAS\bSH\bH_\b_E\bEN\bNV\bV is
-              subjected to  parameter  expansion,  command  substitution,  and
-              arithmetic  expansion  before  being interpreted as a file name.
+              subjected  to  parameter  expansion,  command  substitution, and
+              arithmetic expansion before being interpreted as  a  file  name.
               P\bPA\bAT\bTH\bH is not used to search for the resultant file name.
-       C\bCD\bDP\bPA\bAT\bTH\bH The search path for the c\bcd\bd command.  This is  a  colon-separated
-              list  of  directories  in  which the shell looks for destination
-              directories specified by the c\bcd\bd  command.   A  sample  value  is
+       C\bCD\bDP\bPA\bAT\bTH\bH The  search  path for the c\bcd\bd command.  This is a colon-separated
+              list of directories in which the  shell  looks  for  destination
+              directories  specified  by  the  c\bcd\bd  command.  A sample value is
               ".:~:/usr".
        C\bCO\bOL\bLU\bUM\bMN\bNS\bS
-              Used  by  the  s\bse\bel\ble\bec\bct\bt  builtin command to determine the terminal
-              width when printing selection  lists.   Automatically  set  upon
+              Used by the s\bse\bel\ble\bec\bct\bt builtin command  to  determine  the  terminal
+              width  when  printing  selection  lists.  Automatically set upon
               receipt of a SIGWINCH.
        C\bCO\bOM\bMP\bPR\bRE\bEP\bPL\bLY\bY
               An array variable from which b\bba\bas\bsh\bh reads the possible completions
-              generated by a shell function invoked by the  programmable  com-
+              generated  by  a shell function invoked by the programmable com-
               pletion facility (see P\bPr\bro\bog\bgr\bra\bam\bmm\bma\bab\bbl\ble\be C\bCo\bom\bmp\bpl\ble\bet\bti\bio\bon\bn below).
-       E\bEM\bMA\bAC\bCS\bS  If  b\bba\bas\bsh\bh  finds  this variable in the environment when the shell
-              starts with value "t", it assumes that the shell is  running  in
+       E\bEM\bMA\bAC\bCS\bS  If b\bba\bas\bsh\bh finds this variable in the environment  when  the  shell
+              starts  with  value "t", it assumes that the shell is running in
               an emacs shell buffer and disables line editing.
        F\bFC\bCE\bED\bDI\bIT\bT The default editor for the f\bfc\bc builtin command.
        F\bFI\bIG\bGN\bNO\bOR\bRE\bE
-              A  colon-separated  list  of  suffixes to ignore when performing
+              A colon-separated list of suffixes  to  ignore  when  performing
               filename completion (see R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE below).  A filename whose suf-
-              fix  matches  one of the entries in F\bFI\bIG\bGN\bNO\bOR\bRE\bE is excluded from the
+              fix matches one of the entries in F\bFI\bIG\bGN\bNO\bOR\bRE\bE is excluded  from  the
               list of matched filenames.  A sample value is ".o:~".
        G\bGL\bLO\bOB\bBI\bIG\bGN\bNO\bOR\bRE\bE
               A colon-separated list of patterns defining the set of filenames
               to be ignored by pathname expansion.  If a filename matched by a
-              pathname expansion pattern also matches one of the  patterns  in
+              pathname  expansion  pattern also matches one of the patterns in
               G\bGL\bLO\bOB\bBI\bIG\bGN\bNO\bOR\bRE\bE, it is removed from the list of matches.
        H\bHI\bIS\bST\bTC\bCO\bON\bNT\bTR\bRO\bOL\bL
-              A  colon-separated  list  of values controlling how commands are
-              saved on the history list.   If  the  list  of  values  includes
-              _\bi_\bg_\bn_\bo_\br_\be_\bs_\bp_\ba_\bc_\be,  lines  which  begin with a s\bsp\bpa\bac\bce\be character are not
-              saved in the history list.  A value of _\bi_\bg_\bn_\bo_\br_\be_\bd_\bu_\bp_\bs  causes  lines
+              A colon-separated list of values controlling  how  commands  are
+              saved  on  the  history  list.   If  the list of values includes
+              _\bi_\bg_\bn_\bo_\br_\be_\bs_\bp_\ba_\bc_\be, lines which begin with a s\bsp\bpa\bac\bce\be  character  are  not
+              saved  in  the history list.  A value of _\bi_\bg_\bn_\bo_\br_\be_\bd_\bu_\bp_\bs causes lines
               matching the previous history entry to not be saved.  A value of
               _\bi_\bg_\bn_\bo_\br_\be_\bb_\bo_\bt_\bh is shorthand for _\bi_\bg_\bn_\bo_\br_\be_\bs_\bp_\ba_\bc_\be and _\bi_\bg_\bn_\bo_\br_\be_\bd_\bu_\bp_\bs.  A value
               of _\be_\br_\ba_\bs_\be_\bd_\bu_\bp_\bs causes all previous lines matching the current line
-              to be removed from the history list before that line  is  saved.
-              Any  value  not in the above list is ignored.  If H\bHI\bIS\bST\bTC\bCO\bON\bNT\bTR\bRO\bOL\bL is
-              unset, or does not include a valid value, all lines read by  the
+              to  be  removed from the history list before that line is saved.
+              Any value not in the above list is ignored.  If  H\bHI\bIS\bST\bTC\bCO\bON\bNT\bTR\bRO\bOL\b is
+              unset,  or does not include a valid value, all lines read by the
               shell parser are saved on the history list, subject to the value
-              of H\bHI\bIS\bST\bTI\bIG\bGN\bNO\bOR\bRE\bE.  The second and subsequent lines of a  multi-line
-              compound  command  are  not tested, and are added to the history
+              of  H\bHI\bIS\bST\bTI\bIG\bGN\bNO\bOR\bRE\bE.  The second and subsequent lines of a multi-line
+              compound command are not tested, and are added  to  the  history
               regardless of the value of H\bHI\bIS\bST\bTC\bCO\bON\bNT\bTR\bRO\bOL\bL.
        H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bE
               The name of the file in which command history is saved (see H\bHI\bIS\bS-\b-
-              T\bTO\bOR\bRY\b below).   The default value is _\b~_\b/_\b._\bb_\ba_\bs_\bh_\b__\bh_\bi_\bs_\bt_\bo_\br_\by.  If unset,
-              the command history is  not  saved  when  an  interactive  shell
+              T\bTO\bOR\bRY\bbelow).  The default value is _\b~_\b/_\b._\bb_\ba_\bs_\bh_\b__\bh_\bi_\bs_\bt_\bo_\br_\by.   If  unset,
+              the  command  history  is  not  saved  when an interactive shell
               exits.
        H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bES\bSI\bIZ\bZE\bE
               The maximum number of lines contained in the history file.  When
-              this variable is assigned a value, the  history  file  is  trun-
-              cated,  if  necessary,  to  contain  no more than that number of
-              lines.  The default value is 500.   The  history  file  is  also
-              truncated  to  this  size  after  writing it when an interactive
+              this  variable  is  assigned  a value, the history file is trun-
+              cated, if necessary, to contain no  more  than  that  number  of
+              lines.   The  default  value  is  500.  The history file is also
+              truncated to this size after  writing  it  when  an  interactive
               shell exits.
        H\bHI\bIS\bST\bTI\bIG\bGN\bNO\bOR\bRE\bE
-              A colon-separated list of patterns used to decide which  command
-              lines  should  be  saved  on  the history list.  Each pattern is
-              anchored at the beginning of the line and must  match  the  com-
-              plete  line  (no  implicit  `*\b*'  is  appended).  Each pattern is
-              tested against the line after the checks specified  by  H\bHI\bIS\bST\bTC\bCO\bON\bN-\b-
-              T\bTR\bRO\bOL\b are  applied.   In  addition  to  the normal shell pattern
+              A  colon-separated list of patterns used to decide which command
+              lines should be saved on the  history  list.   Each  pattern  is
+              anchored  at  the  beginning of the line and must match the com-
+              plete line (no implicit  `*\b*'  is  appended).   Each  pattern  is
+              tested  against  the line after the checks specified by H\bHI\bIS\bST\bTC\bCO\bON\bN-\b-
+              T\bTR\bRO\bOL\bare applied.  In  addition  to  the  normal  shell  pattern
               matching characters, `&\b&' matches the previous history line.  `&\b&'
-              may  be  escaped  using  a  backslash;  the backslash is removed
+              may be escaped using  a  backslash;  the  backslash  is  removed
               before attempting a match.  The second and subsequent lines of a
               multi-line compound command are not tested, and are added to the
               history regardless of the value of H\bHI\bIS\bST\bTI\bIG\bGN\bNO\bOR\bRE\bE.
        H\bHI\bIS\bST\bTS\bSI\bIZ\bZE\bE
-              The number of commands to remember in the command  history  (see
+              The  number  of commands to remember in the command history (see
               H\bHI\bIS\bST\bTO\bOR\bRY\bY below).  The default value is 500.
        H\bHI\bIS\bST\bTT\bTI\bIM\bME\bEF\bFO\bOR\bRM\bMA\bAT\bT
-              If  this  variable  is  set and not null, its value is used as a
+              If this variable is set and not null, its value  is  used  as  a
               format string for _\bs_\bt_\br_\bf_\bt_\bi_\bm_\be(3) to print the time stamp associated
-              with  each  history  entry displayed by the h\bhi\bis\bst\bto\bor\bry\by builtin.  If
-              this variable is set, time stamps are  written  to  the  history
+              with each history entry displayed by the  h\bhi\bis\bst\bto\bor\bry\by  builtin.   If
+              this  variable  is  set,  time stamps are written to the history
               file so they may be preserved across shell sessions.
        H\bHO\bOM\bME\bE   The home directory of the current user; the default argument for
               the c\bcd\bd builtin command.  The value of this variable is also used
               when performing tilde expansion.
        H\bHO\bOS\bST\bTF\bFI\bIL\bLE\bE
-              Contains  the  name  of  a file in the same format as _\b/_\be_\bt_\bc_\b/_\bh_\bo_\bs_\bt_\bs
+              Contains the name of a file in the  same  format  as  _\b/_\be_\bt_\bc_\b/_\bh_\bo_\bs_\bt_\bs
               that should be read when the shell needs to complete a hostname.
-              The  list  of possible hostname completions may be changed while
-              the shell is running;  the  next  time  hostname  completion  is
-              attempted  after the value is changed, b\bba\bas\bsh\bh adds the contents of
-              the new file to the existing list.  If H\bHO\bOS\bST\bTF\bFI\bIL\bLE\bE is set, but  has
+              The list of possible hostname completions may be  changed  while
+              the  shell  is  running;  the  next  time hostname completion is
+              attempted after the value is changed, b\bba\bas\bsh\bh adds the contents  of
+              the  new file to the existing list.  If H\bHO\bOS\bST\bTF\bFI\bIL\bLE\bE is set, but has
               no value, b\bba\bas\bsh\bh attempts to read _\b/_\be_\bt_\bc_\b/_\bh_\bo_\bs_\bt_\bs to obtain the list of
-              possible hostname completions.   When  H\bHO\bOS\bST\bTF\bFI\bIL\bLE\bE  is  unset,  the
+              possible  hostname  completions.   When  H\bHO\bOS\bST\bTF\bFI\bIL\bLE\bE  is unset, the
               hostname list is cleared.
-       I\bIF\bFS\bS    The  _\bI_\bn_\bt_\be_\br_\bn_\ba_\bl  _\bF_\bi_\be_\bl_\bd  _\bS_\be_\bp_\ba_\br_\ba_\bt_\bo_\br  that is used for word splitting
-              after expansion and to split lines  into  words  with  the  r\bre\bea\bad\bd
+       I\bIF\bFS\bS    The _\bI_\bn_\bt_\be_\br_\bn_\ba_\bl _\bF_\bi_\be_\bl_\bd _\bS_\be_\bp_\ba_\br_\ba_\bt_\bo_\br that is  used  for  word  splitting
+              after  expansion  and  to  split  lines into words with the r\bre\bea\bad\bd
               builtin  command.   The  default  value  is  ``<space><tab><new-
               line>''.
        I\bIG\bGN\bNO\bOR\bRE\bEE\bEO\bOF\bF
               Controls the action of an interactive shell on receipt of an E\bEO\bOF\bF
               character as the sole input.  If set, the value is the number of
-              consecutive E\bEO\bOF\bF characters which must  be  typed  as  the  first
-              characters  on an input line before b\bba\bas\bsh\bh exits.  If the variable
-              exists but does not have a numeric value, or has no  value,  the
-              default  value  is  10.  If it does not exist, E\bEO\bOF\bF signifies the
+              consecutive  E\bEO\bOF\bF  characters  which  must  be typed as the first
+              characters on an input line before b\bba\bas\bsh\bh exits.  If the  variable
+              exists  but  does not have a numeric value, or has no value, the
+              default value is 10.  If it does not exist,  E\bEO\bOF\bF  signifies  the
               end of input to the shell.
        I\bIN\bNP\bPU\bUT\bTR\bRC\bC
-              The filename for  the  r\bre\bea\bad\bdl\bli\bin\bne\be  startup  file,  overriding  the
+              The  filename  for  the  r\bre\bea\bad\bdl\bli\bin\bne\be  startup  file, overriding the
               default of _\b~_\b/_\b._\bi_\bn_\bp_\bu_\bt_\br_\bc (see R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE below).
-       L\bLA\bAN\bNG\bG   Used  to  determine  the  locale  category  for any category not
+       L\bLA\bAN\bNG\bG   Used to determine the  locale  category  for  any  category  not
               specifically selected with a variable starting with L\bLC\bC_\b_.
-       L\bLC\bC_\b_A\bAL\bLL\bL This variable overrides the value of  L\bLA\bAN\bNG\bG  and  any  other  L\bLC\bC_\b_
+       L\bLC\bC_\b_A\bAL\bLL\bL This  variable  overrides  the  value  of L\bLA\bAN\bNG\bG and any other L\bLC\bC_\b_
               variable specifying a locale category.
        L\bLC\bC_\b_C\bCO\bOL\bLL\bLA\bAT\bTE\bE
-              This  variable  determines the collation order used when sorting
-              the results of pathname expansion, and determines  the  behavior
-              of   range   expressions,  equivalence  classes,  and  collating
+              This variable determines the collation order used  when  sorting
+              the  results  of pathname expansion, and determines the behavior
+              of  range  expressions,  equivalence  classes,   and   collating
               sequences within pathname expansion and pattern matching.
        L\bLC\bC_\b_C\bCT\bTY\bYP\bPE\bE
-              This variable determines the interpretation  of  characters  and
-              the  behavior of character classes within pathname expansion and
+              This  variable  determines  the interpretation of characters and
+              the behavior of character classes within pathname expansion  and
               pattern matching.
        L\bLC\bC_\b_M\bME\bES\bSS\bSA\bAG\bGE\bES\bS
-              This variable determines the locale used  to  translate  double-
+              This  variable  determines  the locale used to translate double-
               quoted strings preceded by a $\b$.
        L\bLC\bC_\b_N\bNU\bUM\bME\bER\bRI\bIC\bC
-              This  variable  determines  the  locale category used for number
+              This variable determines the locale  category  used  for  number
               formatting.
-       L\bLI\bIN\bNE\bES\bS  Used by the s\bse\bel\ble\bec\bct\bt  builtin  command  to  determine  the  column
-              length  for  printing  selection  lists.  Automatically set upon
+       L\bLI\bIN\bNE\bES\bS  Used  by  the  s\bse\bel\ble\bec\bct\bt  builtin  command  to determine the column
+              length for printing selection  lists.   Automatically  set  upon
               receipt of a SIGWINCH.
-       M\bMA\bAI\bIL\bL   If this parameter is set to a file name and the  M\bMA\bAI\bIL\bLP\bPA\bAT\bTH\b vari-
+       M\bMA\bAI\bIL\bL   If  this  parameter is set to a file name and the M\bMA\bAI\bIL\bLP\bPA\bAT\bTH\bH vari-
               able is not set, b\bba\bas\bsh\bh informs the user of the arrival of mail in
               the specified file.
        M\bMA\bAI\bIL\bLC\bCH\bHE\bEC\bCK\bK
-              Specifies how often (in seconds)  b\bba\bas\bsh\bh  checks  for  mail.   The
-              default  is  60 seconds.  When it is time to check for mail, the
-              shell does so before displaying the  primary  prompt.   If  this
-              variable  is  unset,  or  set  to  a  value that is not a number
+              Specifies  how  often  (in  seconds)  b\bba\bas\bsh\bh checks for mail.  The
+              default is 60 seconds.  When it is time to check for  mail,  the
+              shell  does  so  before  displaying the primary prompt.  If this
+              variable is unset, or set to  a  value  that  is  not  a  number
               greater than or equal to zero, the shell disables mail checking.
        M\bMA\bAI\bIL\bLP\bPA\bAT\bTH\bH
-              A  colon-separated  list  of  file names to be checked for mail.
+              A colon-separated list of file names to  be  checked  for  mail.
               The message to be printed when mail arrives in a particular file
-              may  be  specified  by separating the file name from the message
+              may be specified by separating the file name  from  the  message
               with a `?'.  When used in the text of the message, $\b$_\b_ expands to
               the name of the current mailfile.  Example:
               M\bMA\bAI\bIL\bLP\bPA\bAT\bTH\bH='/var/mail/bfox?"You  have  mail":~/shell-mail?"$_  has
               mail!"'
-              B\bBa\bas\bsh\bsupplies a default value for this variable, but  the  loca-
-              tion  of  the  user  mail files that it uses is system dependent
+              B\bBa\bas\bsh\b supplies  a default value for this variable, but the loca-
+              tion of the user mail files that it  uses  is  system  dependent
               (e.g., /var/mail/$\b$U\bUS\bSE\bER\bR).
        O\bOP\bPT\bTE\bER\bRR\bR If set to the value 1, b\bba\bas\bsh\bh displays error messages generated by
-              the  g\bge\bet\bto\bop\bpt\bts\bs builtin command (see S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below).
-              O\bOP\bPT\bTE\bER\bRR\bis initialized to 1 each time the shell is invoked  or  a
+              the g\bge\bet\bto\bop\bpt\bts\bs builtin command (see S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\b below).
+              O\bOP\bPT\bTE\bER\bRR\b is  initialized to 1 each time the shell is invoked or a
               shell script is executed.
-       P\bPA\bAT\bTH\bH   The  search  path for commands.  It is a colon-separated list of
-              directories in which the shell looks for commands  (see  C\bCO\bOM\bMM\bMA\bAN\bND\bD
-              E\bEX\bXE\bEC\bCU\bUT\bTI\bIO\bON\b below).   A  zero-length (null) directory name in the
+       P\bPA\bAT\bTH\bH   The search path for commands.  It is a colon-separated  list  of
+              directories  in  which the shell looks for commands (see C\bCO\bOM\bMM\bMA\bAN\bND\bD
+              E\bEX\bXE\bEC\bCU\bUT\bTI\bIO\bON\bbelow).  A zero-length (null) directory  name  in  the
               value of P\bPA\bAT\bTH\bH indicates the current directory.  A null directory
-              name  may  appear  as  two  adjacent colons, or as an initial or
-              trailing colon.  The default path is  system-dependent,  and  is
-              set  by  the administrator who installs b\bba\bas\bsh\bh.  A common value is
+              name may appear as two adjacent colons,  or  as  an  initial  or
+              trailing  colon.   The  default path is system-dependent, and is
+              set by the administrator who installs b\bba\bas\bsh\bh.  A common  value  is
               ``/usr/gnu/bin:/usr/local/bin:/usr/ucb:/bin:/usr/bin''.
        P\bPO\bOS\bSI\bIX\bXL\bLY\bY_\b_C\bCO\bOR\bRR\bRE\bEC\bCT\bT
-              If this variable is in the environment  when  b\bba\bas\bsh\bh  starts,  the
-              shell  enters _\bp_\bo_\bs_\bi_\bx _\bm_\bo_\bd_\be before reading the startup files, as if
-              the -\b--\b-p\bpo\bos\bsi\bix\bx invocation option had been supplied.  If it  is  set
-              while  the  shell is running, b\bba\bas\bsh\bh enables _\bp_\bo_\bs_\bi_\bx _\bm_\bo_\bd_\be, as if the
+              If  this  variable  is  in the environment when b\bba\bas\bsh\bh starts, the
+              shell enters _\bp_\bo_\bs_\bi_\bx _\bm_\bo_\bd_\be before reading the startup files, as  if
+              the  -\b--\b-p\bpo\bos\bsi\bix\bx  invocation option had been supplied.  If it is set
+              while the shell is running, b\bba\bas\bsh\bh enables _\bp_\bo_\bs_\bi_\bx _\bm_\bo_\bd_\be, as  if  the
               command _\bs_\be_\bt _\b-_\bo _\bp_\bo_\bs_\bi_\bx had been executed.
        P\bPR\bRO\bOM\bMP\bPT\bT_\b_C\bCO\bOM\bMM\bMA\bAN\bND\bD
               If set, the value is executed as a command prior to issuing each
               primary prompt.
-       P\bPS\bS1\b1    The  value  of  this parameter is expanded (see P\bPR\bRO\bOM\bMP\bPT\bTI\bIN\bNG\bG below)
-              and used as the primary prompt string.   The  default  value  is
+       P\bPS\bS1\b1    The value of this parameter is expanded  (see  P\bPR\bRO\bOM\bMP\bPT\bTI\bIN\bNG\b below)
+              and  used  as  the  primary prompt string.  The default value is
               ``\\b\s\bs-\b-\\b\v\bv\\b\$\b$ ''.
-       P\bPS\bS2\b2    The  value of this parameter is expanded as with P\bPS\bS1\b1 and used as
+       P\bPS\bS2\b2    The value of this parameter is expanded as with P\bPS\bS1\b1 and used  as
               the secondary prompt string.  The default is ``>\b> ''.
        P\bPS\bS3\b3    The value of this parameter is used as the prompt for the s\bse\bel\ble\bec\bct\bt
               command (see S\bSH\bHE\bEL\bLL\bL G\bGR\bRA\bAM\bMM\bMA\bAR\bR above).
-       P\bPS\bS4\b4    The  value  of  this  parameter  is expanded as with P\bPS\bS1\b1 and the
-              value is printed before each command  b\bba\bas\bsh\bh  displays  during  an
-              execution  trace.  The first character of P\bPS\bS4\b4 is replicated mul-
-              tiple times, as necessary, to indicate multiple levels of  indi-
+       P\bPS\bS4\b4    The value of this parameter is expanded  as  with  P\bPS\bS1\b1  and  the
+              value  is  printed  before  each command b\bba\bas\bsh\bh displays during an
+              execution trace.  The first character of P\bPS\bS4\b4 is replicated  mul-
+              tiple  times, as necessary, to indicate multiple levels of indi-
               rection.  The default is ``+\b+ ''.
        S\bSH\bHE\bEL\bLL\bL  The full pathname to the shell is kept in this environment vari-
-              able.  If it is not set when the shell starts, b\bba\bas\bsh\bh  assigns  to
+              able.   If  it is not set when the shell starts, b\bba\bas\bsh\bh assigns to
               it the full pathname of the current user's login shell.
        T\bTI\bIM\bME\bEF\bFO\bOR\bRM\bMA\bAT\bT
-              The  value of this parameter is used as a format string specify-
-              ing how the timing information for pipelines prefixed  with  the
-              t\bti\bim\bme\b reserved word should be displayed.  The %\b% character intro-
-              duces an escape sequence that is expanded to  a  time  value  or
-              other  information.  The escape sequences and their meanings are
+              The value of this parameter is used as a format string  specify-
+              ing  how  the timing information for pipelines prefixed with the
+              t\bti\bim\bme\breserved word should be displayed.  The %\b% character  intro-
+              duces  an  escape  sequence  that is expanded to a time value or
+              other information.  The escape sequences and their meanings  are
               as follows; the braces denote optional portions.
               %\b%%\b%        A literal %\b%.
               %\b%[\b[_\bp]\b][\b[l\bl]\b]R\bR  The elapsed time in seconds.
@@ -1046,169 +1047,169 @@ P\bPA\bAR\bRA\bAM\bME\bET\bTE\bER\bRS\bS
               %\b%[\b[_\bp]\b][\b[l\bl]\b]S\bS  The number of CPU seconds spent in system mode.
               %\b%P\bP        The CPU percentage, computed as (%U + %S) / %R.
 
-              The optional _\bp is a digit specifying the _\bp_\br_\be_\bc_\bi_\bs_\bi_\bo_\bn,  the  number
+              The  optional  _\bp is a digit specifying the _\bp_\br_\be_\bc_\bi_\bs_\bi_\bo_\bn, the number
               of fractional digits after a decimal point.  A value of 0 causes
               no decimal point or fraction to be output.  At most three places
-              after  the  decimal  point may be specified; values of _\bp greater
-              than 3 are changed to 3.  If _\bp is not specified, the value 3  is
+              after the decimal point may be specified; values  of  _\b greater
+              than  3 are changed to 3.  If _\bp is not specified, the value 3 is
               used.
 
-              The  optional l\bl specifies a longer format, including minutes, of
-              the form _\bM_\bMm_\bS_\bS._\bF_\bFs.  The value of _\bp determines  whether  or  not
+              The optional l\bl specifies a longer format, including minutes,  of
+              the  form  _\bM_\bMm_\bS_\bS._\bF_\bFs.   The value of _\bp determines whether or not
               the fraction is included.
 
-              If  this  variable  is not set, b\bba\bas\bsh\bh acts as if it had the value
-              $\b$'\b'\\b\n\bnr\bre\bea\bal\bl\\b\t\bt%\b%3\b3l\blR\bR\\b\n\bnu\bus\bse\ber\br\\b\t\bt%\b%3\b3l\blU\bU\\b\n\bns\bsy\bys\bs%\b%3\b3l\blS\bS'\b'.  If the value is null,  no
-              timing  information  is  displayed.  A trailing newline is added
+              If this variable is not set, b\bba\bas\bsh\bh acts as if it  had  the  value
+              $\b$'\b'\\b\n\bnr\bre\bea\bal\bl\\b\t\bt%\b%3\b3l\blR\bR\\b\n\bnu\bus\bse\ber\br\\b\t\bt%\b%3\b3l\blU\bU\\b\n\bns\bsy\bys\bs%\b%3\b3l\blS\bS'\b'.   If the value is null, no
+              timing information is displayed.  A trailing  newline  is  added
               when the format string is displayed.
 
-       T\bTM\bMO\bOU\bUT\bT  If set to a value greater than zero, T\bTM\bMO\bOU\bUT\bT  is  treated  as  the
+       T\bTM\bMO\bOU\bUT\bT  If  set  to  a  value greater than zero, T\bTM\bMO\bOU\bUT\bT is treated as the
               default timeout for the r\bre\bea\bad\bd builtin.  The s\bse\bel\ble\bec\bct\bt command termi-
               nates if input does not arrive after T\bTM\bMO\bOU\bUT\bT seconds when input is
-              coming  from  a terminal.  In an interactive shell, the value is
-              interpreted as the number of seconds to  wait  for  input  after
-              issuing  the  primary prompt.  B\bBa\bas\bsh\bh terminates after waiting for
+              coming from a terminal.  In an interactive shell, the  value  is
+              interpreted  as  the  number  of seconds to wait for input after
+              issuing the primary prompt.  B\bBa\bas\bsh\bh terminates after  waiting  for
               that number of seconds if input does not arrive.
 
-       T\bTM\bMP\bPD\bDI\bIR\bR If set, B\bBa\bas\bsh\bh uses its value as the name of a directory in  which
+       T\bTM\bMP\bPD\bDI\bIR\bR If  set, B\bBa\bas\bsh\bh uses its value as the name of a directory in which
               B\bBa\bas\bsh\bh creates temporary files for the shell's use.
 
        a\bau\but\bto\bo_\b_r\bre\bes\bsu\bum\bme\be
               This variable controls how the shell interacts with the user and
-              job control.  If this variable is set, single word  simple  com-
+              job  control.   If this variable is set, single word simple com-
               mands without redirections are treated as candidates for resump-
               tion of an existing stopped job.  There is no ambiguity allowed;
-              if  there  is more than one job beginning with the string typed,
-              the job most recently accessed  is  selected.   The  _\bn_\ba_\bm_\be  of  a
-              stopped  job, in this context, is the command line used to start
-              it.  If set to the value _\be_\bx_\ba_\bc_\bt, the string supplied  must  match
-              the  name  of  a  stopped  job exactly; if set to _\bs_\bu_\bb_\bs_\bt_\br_\bi_\bn_\bg, the
-              string supplied needs to match a substring  of  the  name  of  a
-              stopped  job.  The _\bs_\bu_\bb_\bs_\bt_\br_\bi_\bn_\bg value provides functionality analo-
-              gous to the %\b%?\b?  job identifier (see J\bJO\bOB\bB C\bCO\bON\bNT\bTR\bRO\bOL\bL below).  If  set
-              to  any  other  value, the supplied string must be a prefix of a
+              if there is more than one job beginning with the  string  typed,
+              the  job  most  recently  accessed  is  selected.  The _\bn_\ba_\bm_\be of a
+              stopped job, in this context, is the command line used to  start
+              it.   If  set to the value _\be_\bx_\ba_\bc_\bt, the string supplied must match
+              the name of a stopped job exactly;  if  set  to  _\bs_\bu_\bb_\bs_\bt_\br_\bi_\bn_\bg,  the
+              string  supplied  needs  to  match  a substring of the name of a
+              stopped job.  The _\bs_\bu_\bb_\bs_\bt_\br_\bi_\bn_\bg value provides functionality  analo-
+              gous  to the %\b%?\b?  job identifier (see J\bJO\bOB\bB C\bCO\bON\bNT\bTR\bRO\bOL\bL below).  If set
+              to any other value, the supplied string must be a  prefix  of  a
               stopped job's name; this provides functionality analogous to the
               %\b%_\bs_\bt_\br_\bi_\bn_\bg job identifier.
 
        h\bhi\bis\bst\btc\bch\bha\bar\brs\bs
-              The  two or three characters which control history expansion and
+              The two or three characters which control history expansion  and
               tokenization (see H\bHI\bIS\bST\bTO\bOR\bRY\bY E\bEX\bXP\bPA\bAN\bNS\bSI\bIO\bON\bN below).  The first character
-              is  the _\bh_\bi_\bs_\bt_\bo_\br_\by _\be_\bx_\bp_\ba_\bn_\bs_\bi_\bo_\bn character, the character which signals
-              the start of a history  expansion,  normally  `!\b!'.   The  second
-              character  is the _\bq_\bu_\bi_\bc_\bk _\bs_\bu_\bb_\bs_\bt_\bi_\bt_\bu_\bt_\bi_\bo_\bn character, which is used as
-              shorthand for re-running the previous command  entered,  substi-
-              tuting  one  string  for another in the command.  The default is
-              `^\b^'.  The optional third character is the character which  indi-
-              cates  that the remainder of the line is a comment when found as
-              the first character of a word, normally `#\b#'.  The  history  com-
+              is the _\bh_\bi_\bs_\bt_\bo_\br_\by _\be_\bx_\bp_\ba_\bn_\bs_\bi_\bo_\bn character, the character which  signals
+              the  start  of  a  history  expansion, normally `!\b!'.  The second
+              character is the _\bq_\bu_\bi_\bc_\bk _\bs_\bu_\bb_\bs_\bt_\bi_\bt_\bu_\bt_\bi_\bo_\bn character, which is used  as
+              shorthand  for  re-running the previous command entered, substi-
+              tuting one string for another in the command.   The  default  is
+              `^\b^'.   The optional third character is the character which indi-
+              cates that the remainder of the line is a comment when found  as
+              the  first  character of a word, normally `#\b#'.  The history com-
               ment character causes history substitution to be skipped for the
-              remaining words on the line.  It does not necessarily cause  the
+              remaining  words on the line.  It does not necessarily cause the
               shell parser to treat the rest of the line as a comment.
 
    A\bAr\brr\bra\bay\bys\bs
-       B\bBa\bas\bsh\b provides  one-dimensional  array  variables.  Any variable may be
+       B\bBa\bas\bsh\bprovides one-dimensional array variables.   Any  variable  may  be
        used as an array; the d\bde\bec\bcl\bla\bar\bre\be builtin will explicitly declare an array.
-       There  is no maximum limit on the size of an array, nor any requirement
-       that members be indexed or assigned contiguously.  Arrays  are  indexed
+       There is no maximum limit on the size of an array, nor any  requirement
+       that  members  be indexed or assigned contiguously.  Arrays are indexed
        using integers and are zero-based.
 
-       An  array is created automatically if any variable is assigned to using
-       the syntax _\bn_\ba_\bm_\be[_\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt]=_\bv_\ba_\bl_\bu_\be.   The  _\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt  is  treated  as  an
-       arithmetic  expression  that  must evaluate to a number greater than or
-       equal to zero.  To explicitly declare an array,  use  d\bde\bec\bcl\bla\bar\bre\be  -\b-a\b _\bn_\ba_\bm_\be
+       An array is created automatically if any variable is assigned to  using
+       the  syntax  _\bn_\ba_\bm_\be[_\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt]=_\bv_\ba_\bl_\bu_\be.   The  _\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt  is  treated as an
+       arithmetic expression that must evaluate to a number  greater  than  or
+       equal  to  zero.   To  explicitly declare an array, use d\bde\bec\bcl\bla\bar\bre\be -\b-a\ba _\bn_\ba_\bm_\be
        (see S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below).  d\bde\bec\bcl\bla\bar\bre\be -\b-a\ba _\bn_\ba_\bm_\be[\b[_\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt]\b] is also
        accepted; the _\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt is ignored.  Attributes may be specified for an
        array variable using the d\bde\bec\bcl\bla\bar\bre\be and r\bre\bea\bad\bdo\bon\bnl\bly\by builtins.  Each attribute
        applies to all members of an array.
 
-       Arrays  are  assigned  to  using  compound  assignments  of  the   form
-       _\bn_\ba_\bm_\be=(\b(value_\b ...  value_\bn)\b),  where  each  _\bv_\ba_\bl_\bu_\be  is  of  the form [_\bs_\bu_\bb_\b-
+       Arrays   are  assigned  to  using  compound  assignments  of  the  form
+       _\bn_\ba_\bm_\be=(\b(value_\b... value_\bn)\b),  where  each  _\bv_\ba_\bl_\bu_\be  is  of  the  form  [_\bs_\bu_\bb_\b-
        _\bs_\bc_\br_\bi_\bp_\bt]=_\bs_\bt_\br_\bi_\bn_\bg.  Only _\bs_\bt_\br_\bi_\bn_\bg is required.  If the optional brackets and
-       subscript  are supplied, that index is assigned to; otherwise the index
-       of the element assigned is the last index assigned to by the  statement
-       plus  one.   Indexing  starts at zero.  This syntax is also accepted by
-       the d\bde\bec\bcl\bla\bar\bre\be builtin.  Individual array  elements  may  be  assigned  to
+       subscript are supplied, that index is assigned to; otherwise the  index
+       of  the element assigned is the last index assigned to by the statement
+       plus one.  Indexing starts at zero.  This syntax is  also  accepted  by
+       the  d\bde\bec\bcl\bla\bar\bre\be  builtin.   Individual  array  elements may be assigned to
        using the _\bn_\ba_\bm_\be[_\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt]=_\bv_\ba_\bl_\bu_\be syntax introduced above.
 
-       Any  element  of  an  array may be referenced using ${_\bn_\ba_\bm_\be[_\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt]}.
+       Any element of an array may  be  referenced  using  ${_\bn_\ba_\bm_\be[_\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt]}.
        The braces are required to avoid conflicts with pathname expansion.  If
-       _\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\b is  @\b@  or *\b*, the word expands to all members of _\bn_\ba_\bm_\be.  These
-       subscripts differ only when the word appears within double quotes.   If
+       _\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bis @\b@ or *\b*, the word expands to all members  of  _\bn_\ba_\bm_\be.   These
+       subscripts  differ only when the word appears within double quotes.  If
        the word is double-quoted, ${_\bn_\ba_\bm_\be[*]} expands to a single word with the
-       value of each array member separated by the first character of the  I\bIF\bFS\bS
+       value  of each array member separated by the first character of the I\bIF\bFS\bS
        special variable, and ${_\bn_\ba_\bm_\be[@]} expands each element of _\bn_\ba_\bm_\be to a sep-
-       arate word.  When there are no array  members,  ${_\bn_\ba_\bm_\be[@]}  expands  to
-       nothing.   If  the  double-quoted  expansion  occurs within a word, the
-       expansion of the first parameter is joined with the beginning  part  of
-       the  original  word,  and the expansion of the last parameter is joined
-       with the last part of the original word.   This  is  analogous  to  the
-       expansion  of  the  special  parameters *\b* and @\b@ (see S\bSp\bpe\bec\bci\bia\bal\bl P\bPa\bar\bra\bam\bme\bet\bte\ber\brs\bs
-       above).  ${#_\bn_\ba_\bm_\be[_\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt]}  expands  to  the  length  of  ${_\bn_\ba_\bm_\be[_\bs_\bu_\bb_\b-
-       _\bs_\bc_\br_\bi_\bp_\bt]}.   If _\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt is *\b* or @\b@, the expansion is the number of ele-
-       ments in the array.  Referencing an array variable without a  subscript
+       arate  word.   When  there  are no array members, ${_\bn_\ba_\bm_\be[@]} expands to
+       nothing.  If the double-quoted expansion  occurs  within  a  word,  the
+       expansion  of  the first parameter is joined with the beginning part of
+       the original word, and the expansion of the last  parameter  is  joined
+       with  the  last  part  of  the original word.  This is analogous to the
+       expansion of the special parameters *\b* and  @\b@  (see  S\bSp\bpe\bec\bci\bia\bal\b P\bPa\bar\bra\bam\bme\bet\bte\ber\brs\bs
+       above).   ${#_\bn_\ba_\bm_\be[_\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt]}  expands  to  the  length  of ${_\bn_\ba_\bm_\be[_\bs_\bu_\bb_\b-
+       _\bs_\bc_\br_\bi_\bp_\bt]}.  If _\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt is *\b* or @\b@, the expansion is the number of  ele-
+       ments  in the array.  Referencing an array variable without a subscript
        is equivalent to referencing element zero.
 
-       The  u\bun\bns\bse\bet\bt  builtin  is  used to destroy arrays.  u\bun\bns\bse\bet\bt _\bn_\ba_\bm_\be[_\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt]
-       destroys the array element at index _\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt.  Care must be  taken  to
+       The u\bun\bns\bse\bet\bt builtin is used to  destroy  arrays.   u\bun\bns\bse\bet\b _\bn_\ba_\bm_\be[_\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt]
+       destroys  the  array element at index _\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt.  Care must be taken to
        avoid unwanted side effects caused by filename generation.  u\bun\bns\bse\bet\bt _\bn_\ba_\bm_\be,
-       where _\bn_\ba_\bm_\be is an array, or u\bun\bns\bse\bet\bt _\bn_\ba_\bm_\be[_\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt], where _\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt is  *\b*
+       where  _\bn_\ba_\bm_\be is an array, or u\bun\bns\bse\bet\bt _\bn_\ba_\bm_\be[_\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt], where _\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt is *\b*
        or @\b@, removes the entire array.
 
-       The  d\bde\bec\bcl\bla\bar\bre\be,  l\blo\boc\bca\bal\bl,  and r\bre\bea\bad\bdo\bon\bnl\bly\by builtins each accept a -\b-a\ba option to
-       specify an array.  The r\bre\bea\bad\bd builtin accepts a -\b-a\ba  option  to  assign  a
-       list  of  words  read from the standard input to an array.  The s\bse\bet\bt and
-       d\bde\bec\bcl\bla\bar\bre\bbuiltins display array values in a way that allows them  to  be
+       The d\bde\bec\bcl\bla\bar\bre\be, l\blo\boc\bca\bal\bl, and r\bre\bea\bad\bdo\bon\bnl\bly\by builtins each accept a  -\b-a\ba  option  to
+       specify  an  array.   The  r\bre\bea\bad\bd builtin accepts a -\b-a\ba option to assign a
+       list of words read from the standard input to an array.   The  s\bse\bet\b and
+       d\bde\bec\bcl\bla\bar\bre\b builtins  display array values in a way that allows them to be
        reused as assignments.
 
 E\bEX\bXP\bPA\bAN\bNS\bSI\bIO\bON\bN
        Expansion is performed on the command line after it has been split into
-       words.  There are seven kinds of expansion performed: _\bb_\br_\ba_\bc_\b _\be_\bx_\bp_\ba_\bn_\bs_\bi_\bo_\bn,
-       _\bt_\bi_\bl_\bd_\b _\be_\bx_\bp_\ba_\bn_\bs_\bi_\bo_\bn,  _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br  _\ba_\bn_\bd _\bv_\ba_\br_\bi_\ba_\bb_\bl_\be _\be_\bx_\bp_\ba_\bn_\bs_\bi_\bo_\bn, _\bc_\bo_\bm_\bm_\ba_\bn_\bd _\bs_\bu_\bb_\bs_\bt_\bi_\bt_\bu_\b-
+       words.   There are seven kinds of expansion performed: _\bb_\br_\ba_\bc_\be _\be_\bx_\bp_\ba_\bn_\bs_\bi_\bo_\bn,
+       _\bt_\bi_\bl_\bd_\b_\be_\bx_\bp_\ba_\bn_\bs_\bi_\bo_\bn, _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br _\ba_\bn_\bd _\bv_\ba_\br_\bi_\ba_\bb_\bl_\be  _\be_\bx_\bp_\ba_\bn_\bs_\bi_\bo_\bn,  _\bc_\bo_\bm_\bm_\ba_\bn_\b _\bs_\bu_\bb_\bs_\bt_\bi_\bt_\bu_\b-
        _\bt_\bi_\bo_\bn, _\ba_\br_\bi_\bt_\bh_\bm_\be_\bt_\bi_\bc _\be_\bx_\bp_\ba_\bn_\bs_\bi_\bo_\bn, _\bw_\bo_\br_\bd _\bs_\bp_\bl_\bi_\bt_\bt_\bi_\bn_\bg, and _\bp_\ba_\bt_\bh_\bn_\ba_\bm_\be _\be_\bx_\bp_\ba_\bn_\bs_\bi_\bo_\bn.
 
-       The order of expansions is: brace expansion, tilde  expansion,  parame-
-       ter,  variable  and arithmetic expansion and command substitution (done
+       The  order  of expansions is: brace expansion, tilde expansion, parame-
+       ter, variable and arithmetic expansion and command  substitution  (done
        in a left-to-right fashion), word splitting, and pathname expansion.
 
        On systems that can support it, there is an additional expansion avail-
        able: _\bp_\br_\bo_\bc_\be_\bs_\bs _\bs_\bu_\bb_\bs_\bt_\bi_\bt_\bu_\bt_\bi_\bo_\bn.
 
        Only brace expansion, word splitting, and pathname expansion can change
-       the number of words of the expansion; other expansions expand a  single
-       word  to a single word.  The only exceptions to this are the expansions
+       the  number of words of the expansion; other expansions expand a single
+       word to a single word.  The only exceptions to this are the  expansions
        of "$\b$@\b@" and "$\b${\b{_\bn_\ba_\bm_\be[\b[@\b@]\b]}\b}" as explained above (see P\bPA\bAR\bRA\bAM\bME\bET\bTE\bER\bRS\bS).
 
    B\bBr\bra\bac\bce\be E\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn
        _\bB_\br_\ba_\bc_\be _\be_\bx_\bp_\ba_\bn_\bs_\bi_\bo_\bn is a mechanism by which arbitrary strings may be gener-
-       ated.   This  mechanism is similar to _\bp_\ba_\bt_\bh_\bn_\ba_\bm_\be _\be_\bx_\bp_\ba_\bn_\bs_\bi_\bo_\bn, but the file-
+       ated.  This mechanism is similar to _\bp_\ba_\bt_\bh_\bn_\ba_\bm_\be _\be_\bx_\bp_\ba_\bn_\bs_\bi_\bo_\bn, but  the  file-
        names generated need not exist.  Patterns to be brace expanded take the
        form of an optional _\bp_\br_\be_\ba_\bm_\bb_\bl_\be, followed by either a series of comma-sep-
-       arated strings or a sequence expression between a pair of braces,  fol-
-       lowed  by  an  optional  _\bp_\bo_\bs_\bt_\bs_\bc_\br_\bi_\bp_\bt.   The preamble is prefixed to each
+       arated  strings or a sequence expression between a pair of braces, fol-
+       lowed by an optional _\bp_\bo_\bs_\bt_\bs_\bc_\br_\bi_\bp_\bt.  The  preamble  is  prefixed  to  each
        string contained within the braces, and the postscript is then appended
        to each resulting string, expanding left to right.
 
-       Brace  expansions  may  be nested.  The results of each expanded string
-       are not sorted;  left  to  right  order  is  preserved.   For  example,
+       Brace expansions may be nested.  The results of  each  expanded  string
+       are  not  sorted;  left  to  right  order  is  preserved.  For example,
        a{\b{d,c,b}\b}e expands into `ade ace abe'.
 
-       A  sequence  expression takes the form {\b{_\bx.\b..\b._\by}\b}, where _\bx and _\by are either
+       A sequence expression takes the form {\b{_\bx.\b..\b._\by}\b}, where _\bx and _\by  are  either
        integers or single characters.  When integers are supplied, the expres-
-       sion  expands  to each number between _\bx and _\by, inclusive.  When charac-
-       ters are supplied, the expression expands  to  each  character  lexico-
+       sion expands to each number between _\bx and _\by, inclusive.   When  charac-
+       ters  are  supplied,  the  expression expands to each character lexico-
        graphically between _\bx and _\by, inclusive.  Note that both _\bx and _\by must be
        of the same type.
 
        Brace expansion is performed before any other expansions, and any char-
-       acters  special to other expansions are preserved in the result.  It is
-       strictly textual.  B\bBa\bas\bsh\bh does not apply any syntactic interpretation  to
+       acters special to other expansions are preserved in the result.  It  is
+       strictly  textual.  B\bBa\bas\bsh\bh does not apply any syntactic interpretation to
        the context of the expansion or the text between the braces.
 
-       A  correctly-formed  brace  expansion must contain unquoted opening and
-       closing braces, and at least one unquoted comma  or  a  valid  sequence
-       expression.   Any incorrectly formed brace expansion is left unchanged.
+       A correctly-formed brace expansion must contain  unquoted  opening  and
+       closing  braces,  and  at  least one unquoted comma or a valid sequence
+       expression.  Any incorrectly formed brace expansion is left  unchanged.
        A {\b{ or ,\b, may be quoted with a backslash to prevent its being considered
-       part  of  a brace expression.  To avoid conflicts with parameter expan-
+       part of a brace expression.  To avoid conflicts with  parameter  expan-
        sion, the string $\b${\b{ is not considered eligible for brace expansion.
 
        This construct is typically used as shorthand when the common prefix of
@@ -1218,36 +1219,36 @@ E\bEX\bXP\bPA\bAN\bNS\bSI\bIO\bON\bN
        or
               chown root /usr/{ucb/{ex,edit},lib/{ex?.?*,how_ex}}
 
-       Brace  expansion  introduces  a  slight incompatibility with historical
-       versions of s\bsh\bh.  s\bsh\bh does not treat opening or closing braces  specially
-       when  they  appear as part of a word, and preserves them in the output.
-       B\bBa\bas\bsh\bremoves braces from words as a  consequence  of  brace  expansion.
-       For  example,  a word entered to s\bsh\bh as _\bf_\bi_\bl_\be_\b{_\b1_\b,_\b2_\b} appears identically in
-       the output.  The same word is output as _\bf_\bi_\bl_\be_\b1 _\bf_\bi_\bl_\be_\b2 after expansion  by
-       b\bba\bas\bsh\bh.   If strict compatibility with s\bsh\bh is desired, start b\bba\bas\bsh\bh with the
+       Brace expansion introduces a  slight  incompatibility  with  historical
+       versions  of s\bsh\bh.  s\bsh\bh does not treat opening or closing braces specially
+       when they appear as part of a word, and preserves them in  the  output.
+       B\bBa\bas\bsh\b removes  braces  from  words as a consequence of brace expansion.
+       For example, a word entered to s\bsh\bh as _\bf_\bi_\bl_\be_\b{_\b1_\b,_\b2_\b} appears  identically  in
+       the  output.  The same word is output as _\bf_\bi_\bl_\be_\b1 _\bf_\bi_\bl_\be_\b2 after expansion by
+       b\bba\bas\bsh\bh.  If strict compatibility with s\bsh\bh is desired, start b\bba\bas\bsh\bh with  the
        +\b+B\bB option or disable brace expansion with the +\b+B\bB option to the s\bse\bet\bt com-
        mand (see S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below).
 
    T\bTi\bil\bld\bde\be E\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn
-       If  a  word  begins  with an unquoted tilde character (`~\b~'), all of the
-       characters preceding the first unquoted slash (or  all  characters,  if
-       there  is no unquoted slash) are considered a _\bt_\bi_\bl_\bd_\be_\b-_\bp_\br_\be_\bf_\bi_\bx.  If none of
-       the characters in the tilde-prefix are quoted, the  characters  in  the
-       tilde-prefix  following the tilde are treated as a possible _\bl_\bo_\bg_\bi_\bn _\bn_\ba_\bm_\be.
-       If this login name is the null string, the tilde is replaced  with  the
-       value  of  the shell parameter H\bHO\bOM\bME\bE.  If H\bHO\bOM\bME\bE is unset, the home direc-
-       tory of the user executing the shell is  substituted  instead.   Other-
-       wise,  the  tilde-prefix is replaced with the home directory associated
+       If a word begins with an unquoted tilde character  (`~\b~'),  all  of  the
+       characters  preceding  the  first unquoted slash (or all characters, if
+       there is no unquoted slash) are considered a _\bt_\bi_\bl_\bd_\be_\b-_\bp_\br_\be_\bf_\bi_\bx.  If none  of
+       the  characters  in  the tilde-prefix are quoted, the characters in the
+       tilde-prefix following the tilde are treated as a possible _\bl_\bo_\bg_\bi_\b _\bn_\ba_\bm_\be.
+       If  this  login name is the null string, the tilde is replaced with the
+       value of the shell parameter H\bHO\bOM\bME\bE.  If H\bHO\bOM\bME\bE is unset, the  home  direc-
+       tory  of  the  user executing the shell is substituted instead.  Other-
+       wise, the tilde-prefix is replaced with the home  directory  associated
        with the specified login name.
 
-       If the tilde-prefix is a `~+', the value  of  the  shell  variable  P\bPW\bWD\bD
+       If  the  tilde-prefix  is  a  `~+', the value of the shell variable P\bPW\bWD\bD
        replaces the tilde-prefix.  If the tilde-prefix is a `~-', the value of
-       the shell variable O\bOL\bLD\bDP\bPW\bWD\bD, if it is set, is substituted.  If the  char-
-       acters  following  the tilde in the tilde-prefix consist of a number _\bN,
-       optionally prefixed by a `+' or a `-',  the  tilde-prefix  is  replaced
+       the  shell variable O\bOL\bLD\bDP\bPW\bWD\bD, if it is set, is substituted.  If the char-
+       acters following the tilde in the tilde-prefix consist of a  number  _\bN,
+       optionally  prefixed  by  a  `+' or a `-', the tilde-prefix is replaced
        with the corresponding element from the directory stack, as it would be
        displayed by the d\bdi\bir\brs\bs builtin invoked with the tilde-prefix as an argu-
-       ment.   If  the characters following the tilde in the tilde-prefix con-
+       ment.  If the characters following the tilde in the  tilde-prefix  con-
        sist of a number without a leading `+' or `-', `+' is assumed.
 
        If the login name is invalid, or the tilde expansion fails, the word is
@@ -1255,80 +1256,80 @@ E\bEX\bXP\bPA\bAN\bNS\bSI\bIO\bON\bN
 
        Each variable assignment is checked for unquoted tilde-prefixes immedi-
        ately following a :\b: or the first =\b=.  In these cases, tilde expansion is
-       also  performed.   Consequently,  one may use file names with tildes in
-       assignments to P\bPA\bAT\bTH\bH, M\bMA\bAI\bIL\bLP\bPA\bAT\bTH\bH, and C\bCD\bDP\bPA\bAT\bTH\bH, and the  shell  assigns  the
+       also performed.  Consequently, one may use file names  with  tildes  in
+       assignments  to  P\bPA\bAT\bTH\bH,  M\bMA\bAI\bIL\bLP\bPA\bAT\bTH\bH, and C\bCD\bDP\bPA\bAT\bTH\bH, and the shell assigns the
        expanded value.
 
    P\bPa\bar\bra\bam\bme\bet\bte\ber\br E\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn
        The `$\b$' character introduces parameter expansion, command substitution,
-       or arithmetic expansion.  The parameter name or symbol to  be  expanded
-       may  be enclosed in braces, which are optional but serve to protect the
-       variable to be expanded from characters immediately following it  which
+       or  arithmetic  expansion.  The parameter name or symbol to be expanded
+       may be enclosed in braces, which are optional but serve to protect  the
+       variable  to be expanded from characters immediately following it which
        could be interpreted as part of the name.
 
-       When  braces  are  used, the matching ending brace is the first `}\b}' not
-       escaped by a backslash or within a quoted string,  and  not  within  an
+       When braces are used, the matching ending brace is the  first  `}\b}'  not
+       escaped  by  a  backslash  or within a quoted string, and not within an
        embedded  arithmetic  expansion,  command  substitution,  or  parameter
        expansion.
 
        ${_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br}
-              The value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is substituted.  The braces are  required
-              when  _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br  is  a  positional  parameter with more than one
+              The  value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is substituted.  The braces are required
+              when _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is a positional  parameter  with  more  than  one
               digit, or when _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is followed by a character which is not
               to be interpreted as part of its name.
 
        If the first character of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is an exclamation point, a level of
-       variable indirection is introduced.  B\bBa\bas\bsh\bh uses the value of  the  vari-
-       able  formed  from  the  rest of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br as the name of the variable;
-       this variable is then expanded and that value is used in  the  rest  of
-       the  substitution,  rather than the value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br itself.  This is
+       variable  indirection  is introduced.  B\bBa\bas\bsh\bh uses the value of the vari-
+       able formed from the rest of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br as the  name  of  the  variable;
+       this  variable  is  then expanded and that value is used in the rest of
+       the substitution, rather than the value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br itself.   This  is
        known as _\bi_\bn_\bd_\bi_\br_\be_\bc_\bt _\be_\bx_\bp_\ba_\bn_\bs_\bi_\bo_\bn.  The exceptions to this are the expansions
-       of  ${!_\bp_\br_\be_\bf_\bi_\bx*} and ${!\b!_\bn_\ba_\bm_\be[_\b@]} described below.  The exclamation point
-       must immediately follow the left brace in order to  introduce  indirec-
+       of ${!_\bp_\br_\be_\bf_\bi_\bx*} and ${!\b!_\bn_\ba_\bm_\be[_\b@]} described below.  The exclamation  point
+       must  immediately  follow the left brace in order to introduce indirec-
        tion.
 
        In each of the cases below, _\bw_\bo_\br_\bd is subject to tilde expansion, parame-
-       ter expansion, command substitution, and  arithmetic  expansion.   When
-       not  performing substring expansion, b\bba\bas\bsh\bh tests for a parameter that is
-       unset or null; omitting the colon results in a test only for a  parame-
+       ter  expansion,  command  substitution, and arithmetic expansion.  When
+       not performing substring expansion, b\bba\bas\bsh\bh tests for a parameter that  is
+       unset  or null; omitting the colon results in a test only for a parame-
        ter that is unset.
 
        ${_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br:\b:-\b-_\bw_\bo_\br_\bd}
-              U\bUs\bse\b D\bDe\bef\bfa\bau\bul\blt\bt  V\bVa\bal\blu\bue\bes\bs.  If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is unset or null, the expan-
-              sion of _\bw_\bo_\br_\bd is substituted.  Otherwise, the value of  _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br
+              U\bUs\bse\bD\bDe\bef\bfa\bau\bul\blt\bt V\bVa\bal\blu\bue\bes\bs.  If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is unset or null,  the  expan-
+              sion  of _\bw_\bo_\br_\bd is substituted.  Otherwise, the value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br
               is substituted.
        ${_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br:\b:=\b=_\bw_\bo_\br_\bd}
-              A\bAs\bss\bsi\big\bgn\b D\bDe\bef\bfa\bau\bul\blt\bt  V\bVa\bal\blu\bue\bes\bs.   If  _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br  is  unset or null, the
+              A\bAs\bss\bsi\big\bgn\bD\bDe\bef\bfa\bau\bul\blt\bt V\bVa\bal\blu\bue\bes\bs.  If  _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br  is  unset  or  null,  the
               expansion of _\bw_\bo_\br_\bd is assigned to _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br.  The value of _\bp_\ba_\br_\ba_\bm_\b-
-              _\be_\bt_\be_\b is  then  substituted.   Positional parameters and special
+              _\be_\bt_\be_\bis then substituted.   Positional  parameters  and  special
               parameters may not be assigned to in this way.
        ${_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br:\b:?\b?_\bw_\bo_\br_\bd}
-              D\bDi\bis\bsp\bpl\bla\bay\bE\bEr\brr\bro\bor\br i\bif\bf N\bNu\bul\bll\bl o\bor\br U\bUn\bns\bse\bet\bt.  If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is null or  unset,
-              the  expansion  of  _\bw_\bo_\br_\bd (or a message to that effect if _\bw_\bo_\br_\bd is
-              not present) is written to the standard error and the shell,  if
+              D\bDi\bis\bsp\bpl\bla\bay\b E\bEr\brr\bro\bor\br i\bif\bf N\bNu\bul\bll\bl o\bor\br U\bUn\bns\bse\bet\bt.  If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is null or unset,
+              the expansion of _\bw_\bo_\br_\bd (or a message to that effect  if  _\bw_\bo_\br_\b is
+              not  present) is written to the standard error and the shell, if
               it is not interactive, exits.  Otherwise, the value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br
               is substituted.
        ${_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br:\b:+\b+_\bw_\bo_\br_\bd}
-              U\bUs\bse\bA\bAl\blt\bte\ber\brn\bna\bat\bte\be V\bVa\bal\blu\bue\be.  If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is null or unset, nothing  is
+              U\bUs\bse\b A\bAl\blt\bte\ber\brn\bna\bat\bte\be V\bVa\bal\blu\bue\be.  If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is null or unset, nothing is
               substituted, otherwise the expansion of _\bw_\bo_\br_\bd is substituted.
        ${_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br:\b:_\bo_\bf_\bf_\bs_\be_\bt}
        ${_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br:\b:_\bo_\bf_\bf_\bs_\be_\bt:\b:_\bl_\be_\bn_\bg_\bt_\bh}
-              S\bSu\bub\bbs\bst\btr\bri\bin\bng\b E\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn.\b.   Expands  to  up  to _\bl_\be_\bn_\bg_\bt_\bh characters of
-              _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\bstarting at the character  specified  by  _\bo_\bf_\bf_\bs_\be_\bt.   If
-              _\bl_\be_\bn_\bg_\bt_\b is omitted, expands to the substring of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br start-
+              S\bSu\bub\bbs\bst\btr\bri\bin\bng\bE\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn.\b.  Expands to  up  to  _\bl_\be_\bn_\bg_\bt_\bh  characters  of
+              _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\b starting  at  the  character specified by _\bo_\bf_\bf_\bs_\be_\bt.  If
+              _\bl_\be_\bn_\bg_\bt_\bis omitted, expands to the substring of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\b start-
               ing at the character specified by _\bo_\bf_\bf_\bs_\be_\bt.  _\bl_\be_\bn_\bg_\bt_\bh and _\bo_\bf_\bf_\bs_\be_\bt are
-              arithmetic   expressions   (see  A\bAR\bRI\bIT\bTH\bHM\bME\bET\bTI\bIC\bC  E\bEV\bVA\bAL\bLU\bUA\bAT\bTI\bIO\bON\bN  below).
-              _\bl_\be_\bn_\bg_\bt_\bmust evaluate to a number greater than or equal to  zero.
-              If  _\bo_\bf_\bf_\bs_\be_\bt  evaluates  to  a number less than zero, the value is
-              used as an offset from the end of the value  of  _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br.   If
-              _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\b is  @\b@,  the  result  is  _\bl_\be_\bn_\bg_\bt_\bh positional parameters
+              arithmetic  expressions  (see  A\bAR\bRI\bIT\bTH\bHM\bME\bET\bTI\bIC\bC   E\bEV\bVA\bAL\bLU\bUA\bAT\bTI\bIO\bON\b  below).
+              _\bl_\be_\bn_\bg_\bt_\b must evaluate to a number greater than or equal to zero.
+              If _\bo_\bf_\bf_\bs_\be_\bt evaluates to a number less than  zero,  the  value  is
+              used  as  an  offset from the end of the value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br.  If
+              _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\bis @\b@,  the  result  is  _\bl_\be_\bn_\bg_\bt_\bh  positional  parameters
               beginning at _\bo_\bf_\bf_\bs_\be_\bt.  If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is an array name indexed by @
-              or  *,  the  result is the _\bl_\be_\bn_\bg_\bt_\bh members of the array beginning
-              with ${_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br[_\bo_\bf_\bf_\bs_\be_\bt]}.  A negative _\bo_\bf_\bf_\bs_\be_\bt is taken  relative
-              to  one  greater  than the maximum index of the specified array.
-              Note that a negative offset must be separated from the colon  by
-              at  least  one  space to avoid being confused with the :- expan-
-              sion.  Substring indexing is zero-based  unless  the  positional
+              or *, the result is the _\bl_\be_\bn_\bg_\bt_\bh members of  the  array  beginning
+              with  ${_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br[_\bo_\bf_\bf_\bs_\be_\bt]}.  A negative _\bo_\bf_\bf_\bs_\be_\bt is taken relative
+              to one greater than the maximum index of  the  specified  array.
+              Note  that a negative offset must be separated from the colon by
+              at least one space to avoid being confused with  the  :-  expan-
+              sion.   Substring  indexing  is zero-based unless the positional
               parameters are used, in which case the indexing starts at 1.
 
        ${!\b!_\bp_\br_\be_\bf_\bi_\bx*\b*}
@@ -1338,63 +1339,63 @@ E\bEX\bXP\bPA\bAN\bNS\bSI\bIO\bON\bN
 
        ${!\b!_\bn_\ba_\bm_\be[_\b@]}
        ${!\b!_\bn_\ba_\bm_\be[_\b*]}
-              If _\bn_\ba_\bm_\be is an array variable,  expands  to  the  list  of  array
-              indices  (keys)  assigned  in  _\bn_\ba_\bm_\be.   If  _\bn_\ba_\bm_\be is not an array,
-              expands to 0 if _\bn_\ba_\bm_\be is set and null otherwise.  When _\b@ is  used
+              If  _\bn_\ba_\bm_\be  is  an  array  variable,  expands to the list of array
+              indices (keys) assigned in _\bn_\ba_\bm_\be.   If  _\bn_\ba_\bm_\be  is  not  an  array,
+              expands  to 0 if _\bn_\ba_\bm_\be is set and null otherwise.  When _\b@ is used
               and the expansion appears within double quotes, each key expands
               to a separate word.
 
        ${#\b#_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br}
-              The length in characters of the value of  _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br  is  substi-
-              tuted.   If  _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br  is  *\b* or @\b@, the value substituted is the
-              number of positional parameters.  If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is an array  name
-              subscripted  by  *\b*  or @\b@, the value substituted is the number of
+              The  length  in  characters of the value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is substi-
+              tuted.  If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is *\b* or @\b@, the  value  substituted  is  the
+              number  of positional parameters.  If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is an array name
+              subscripted by *\b* or @\b@, the value substituted is  the  number  of
               elements in the array.
 
        ${_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br#\b#_\bw_\bo_\br_\bd}
        ${_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br#\b##\b#_\bw_\bo_\br_\bd}
-              The _\bw_\bo_\br_\bd is expanded to produce a pattern just  as  in  pathname
+              The  _\bw_\bo_\br_\bd  is  expanded to produce a pattern just as in pathname
               expansion.  If the pattern matches the beginning of the value of
-              _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br, then the result of  the  expansion  is  the  expanded
+              _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br,  then  the  result  of  the expansion is the expanded
               value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br with the shortest matching pattern (the ``#\b#''
               case) or the longest matching pattern (the ``#\b##\b#'' case) deleted.
               If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is @\b@ or *\b*, the pattern removal operation is applied
-              to each positional parameter in turn, and the expansion  is  the
-              resultant  list.   If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is an array variable subscripted
-              with @\b@ or *\b*, the pattern removal operation is  applied  to  each
-              member  of the array in turn, and the expansion is the resultant
+              to  each  positional parameter in turn, and the expansion is the
+              resultant list.  If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is an array  variable  subscripted
+              with  @\b@  or  *\b*, the pattern removal operation is applied to each
+              member of the array in turn, and the expansion is the  resultant
               list.
 
        ${_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br%\b%_\bw_\bo_\br_\bd}
        ${_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br%\b%%\b%_\bw_\bo_\br_\bd}
-              The _\bw_\bo_\br_\bd is expanded to produce a pattern just  as  in  pathname
-              expansion.   If  the  pattern  matches a trailing portion of the
+              The  _\bw_\bo_\br_\bd  is  expanded to produce a pattern just as in pathname
+              expansion.  If the pattern matches a  trailing  portion  of  the
               expanded value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br, then the result of the expansion is
-              the  expanded value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br with the shortest matching pat-
-              tern (the ``%\b%'' case)  or  the  longest  matching  pattern  (the
-              ``%\b%%\b%''  case)  deleted.   If  _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br  is  @\b@ or *\b*, the pattern
-              removal operation is applied to  each  positional  parameter  in
-              turn,  and the expansion is the resultant list.  If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is
-              an array variable subscripted with @\b@ or *\b*, the  pattern  removal
-              operation  is  applied  to each member of the array in turn, and
+              the expanded value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br with the shortest matching  pat-
+              tern  (the  ``%\b%''  case)  or  the  longest matching pattern (the
+              ``%\b%%\b%'' case) deleted.  If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br  is  @\b@  or  *\b*,  the  pattern
+              removal  operation  is  applied  to each positional parameter in
+              turn, and the expansion is the resultant list.  If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\b is
+              an  array  variable subscripted with @\b@ or *\b*, the pattern removal
+              operation is applied to each member of the array  in  turn,  and
               the expansion is the resultant list.
 
        ${_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br/\b/_\bp_\ba_\bt_\bt_\be_\br_\bn/\b/_\bs_\bt_\br_\bi_\bn_\bg}
        ${_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br/\b//\b/_\bp_\ba_\bt_\bt_\be_\br_\bn/\b/_\bs_\bt_\br_\bi_\bn_\bg}
               The _\bp_\ba_\bt_\bt_\be_\br_\bn is expanded to produce a pattern just as in pathname
-              expansion.   _\bP_\ba_\br_\ba_\bm_\be_\bt_\be_\br is expanded and the longest match of _\bp_\ba_\bt_\b-
-              _\bt_\be_\br_\bagainst its value is replaced with _\bs_\bt_\br_\bi_\bn_\bg.   In  the  first
-              form,  only the first match is replaced.  The second form causes
-              all matches of _\bp_\ba_\bt_\bt_\be_\br_\bn to be replaced with _\bs_\bt_\br_\bi_\bn_\bg.   If  _\bp_\ba_\bt_\bt_\be_\br_\bn
-              begins  with  #\b#,  it must match at the beginning of the expanded
-              value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br.  If _\bp_\ba_\bt_\bt_\be_\br_\bn begins with %\b%, it must match  at
-              the  end of the expanded value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br.  If _\bs_\bt_\br_\bi_\bn_\bg is null,
-              matches of _\bp_\ba_\bt_\bt_\be_\br_\bn are deleted and the /\b/ following  _\bp_\ba_\bt_\bt_\be_\br_\b may
-              be  omitted.  If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is @\b@ or *\b*, the substitution operation
-              is applied to each positional parameter in turn, and the  expan-
-              sion  is  the resultant list.  If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is an array variable
-              subscripted with @\b@ or *\b*, the substitution operation  is  applied
-              to  each  member  of the array in turn, and the expansion is the
+              expansion.  _\bP_\ba_\br_\ba_\bm_\be_\bt_\be_\br is expanded and the longest match of  _\bp_\ba_\bt_\b-
+              _\bt_\be_\br_\b against  its  value is replaced with _\bs_\bt_\br_\bi_\bn_\bg.  In the first
+              form, only the first match is replaced.  The second form  causes
+              all  matches  of _\bp_\ba_\bt_\bt_\be_\br_\bn to be replaced with _\bs_\bt_\br_\bi_\bn_\bg.  If _\bp_\ba_\bt_\bt_\be_\br_\bn
+              begins with #\b#, it must match at the beginning  of  the  expanded
+              value  of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br.  If _\bp_\ba_\bt_\bt_\be_\br_\bn begins with %\b%, it must match at
+              the end of the expanded value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br.  If _\bs_\bt_\br_\bi_\bn_\bg is  null,
+              matches  of  _\bp_\ba_\bt_\bt_\be_\br_\bn are deleted and the /\b/ following _\bp_\ba_\bt_\bt_\be_\br_\bn may
+              be omitted.  If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is @\b@ or *\b*, the substitution  operation
+              is  applied to each positional parameter in turn, and the expan-
+              sion is the resultant list.  If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is an  array  variable
+              subscripted  with  @\b@ or *\b*, the substitution operation is applied
+              to each member of the array in turn, and the  expansion  is  the
               resultant list.
 
    C\bCo\bom\bmm\bma\ban\bnd\bd S\bSu\bub\bbs\bst\bti\bit\btu\but\bti\bio\bon\bn
@@ -1407,152 +1408,152 @@ E\bEX\bXP\bPA\bAN\bNS\bSI\bIO\bON\bN
               `\b`_\bc_\bo_\bm_\bm_\ba_\bn_\bd`\b`
 
        B\bBa\bas\bsh\bh performs the expansion by executing _\bc_\bo_\bm_\bm_\ba_\bn_\bd and replacing the com-
-       mand substitution with the standard output of  the  command,  with  any
+       mand  substitution  with  the  standard output of the command, with any
        trailing newlines deleted.  Embedded newlines are not deleted, but they
-       may be removed during word splitting.  The command  substitution  $\b$(\b(c\bca\bat\bt
+       may  be  removed during word splitting.  The command substitution $\b$(\b(c\bca\bat\bt
        _\bf_\bi_\bl_\be)\b) can be replaced by the equivalent but faster $\b$(\b(<\b< _\bf_\bi_\bl_\be)\b).
 
-       When  the  old-style  backquote form of substitution is used, backslash
-       retains its literal meaning except when followed by $\b$, `\b`,  or  \\b\.   The
+       When the old-style backquote form of substitution  is  used,  backslash
+       retains  its  literal  meaning except when followed by $\b$, `\b`, or \\b\.  The
        first backquote not preceded by a backslash terminates the command sub-
-       stitution.  When using the $(_\bc_\bo_\bm_\bm_\ba_\bn_\bd) form, all characters between  the
+       stitution.   When using the $(_\bc_\bo_\bm_\bm_\ba_\bn_\bd) form, all characters between the
        parentheses make up the command; none are treated specially.
 
        Command substitutions may be nested.  To nest when using the backquoted
        form, escape the inner backquotes with backslashes.
 
-       If the substitution appears within double quotes,  word  splitting  and
+       If  the  substitution  appears within double quotes, word splitting and
        pathname expansion are not performed on the results.
 
    A\bAr\bri\bit\bth\bhm\bme\bet\bti\bic\bc E\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn
-       Arithmetic  expansion allows the evaluation of an arithmetic expression
-       and the substitution of the result.  The format for  arithmetic  expan-
+       Arithmetic expansion allows the evaluation of an arithmetic  expression
+       and  the  substitution of the result.  The format for arithmetic expan-
        sion is:
 
               $\b$(\b((\b(_\be_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn)\b))\b)
 
-       The  _\be_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn  is  treated  as if it were within double quotes, but a
-       double quote inside the parentheses  is  not  treated  specially.   All
+       The _\be_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn is treated as if it were within  double  quotes,  but  a
+       double  quote  inside  the  parentheses  is not treated specially.  All
        tokens in the expression undergo parameter expansion, string expansion,
-       command substitution, and quote removal.  Arithmetic expansions may  be
+       command  substitution, and quote removal.  Arithmetic expansions may be
        nested.
 
-       The  evaluation  is performed according to the rules listed below under
+       The evaluation is performed according to the rules listed  below  under
        A\bAR\bRI\bIT\bTH\bHM\bME\bET\bTI\bIC\bC E\bEV\bVA\bAL\bLU\bUA\bAT\bTI\bIO\bON\bN.  If _\be_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn is invalid, b\bba\bas\bsh\bh prints a message
        indicating failure and no substitution occurs.
 
    P\bPr\bro\boc\bce\bes\bss\bs S\bSu\bub\bbs\bst\bti\bit\btu\but\bti\bio\bon\bn
-       _\bP_\br_\bo_\bc_\be_\bs_\b _\bs_\bu_\bb_\bs_\bt_\bi_\bt_\bu_\bt_\bi_\bo_\bn  is supported on systems that support named pipes
-       (_\bF_\bI_\bF_\bO_\bs) or the /\b/d\bde\bev\bv/\b/f\bfd\bd method of naming open files.  It takes the  form
-       of  <\b<(\b(_\bl_\bi_\bs_\bt)\b) or >\b>(\b(_\bl_\bi_\bs_\bt)\b).  The process _\bl_\bi_\bs_\bt is run with its input or out-
+       _\bP_\br_\bo_\bc_\be_\bs_\b_\bs_\bu_\bb_\bs_\bt_\bi_\bt_\bu_\bt_\bi_\bo_\bn is supported on systems that support  named  pipes
+       (_\bF_\bI_\bF_\bO_\bs)  or the /\b/d\bde\bev\bv/\b/f\bfd\bd method of naming open files.  It takes the form
+       of <\b<(\b(_\bl_\bi_\bs_\bt)\b) or >\b>(\b(_\bl_\bi_\bs_\bt)\b).  The process _\bl_\bi_\bs_\bt is run with its input or  out-
        put connected to a _\bF_\bI_\bF_\bO or some file in /\b/d\bde\bev\bv/\b/f\bfd\bd.  The name of this file
-       is  passed  as  an argument to the current command as the result of the
-       expansion.  If the >\b>(\b(_\bl_\bi_\bs_\bt)\b) form is used, writing to the file will  pro-
-       vide  input  for _\bl_\bi_\bs_\bt.  If the <\b<(\b(_\bl_\bi_\bs_\bt)\b) form is used, the file passed as
+       is passed as an argument to the current command as the  result  of  the
+       expansion.   If the >\b>(\b(_\bl_\bi_\bs_\bt)\b) form is used, writing to the file will pro-
+       vide input for _\bl_\bi_\bs_\bt.  If the <\b<(\b(_\bl_\bi_\bs_\bt)\b) form is used, the file  passed  as
        an argument should be read to obtain the output of _\bl_\bi_\bs_\bt.
 
-       When available, process substitution is performed  simultaneously  with
-       parameter  and variable expansion, command substitution, and arithmetic
+       When  available,  process substitution is performed simultaneously with
+       parameter and variable expansion, command substitution, and  arithmetic
        expansion.
 
    W\bWo\bor\brd\bd S\bSp\bpl\bli\bit\btt\bti\bin\bng\bg
-       The shell scans the results of parameter expansion,  command  substitu-
-       tion,  and arithmetic expansion that did not occur within double quotes
+       The  shell  scans the results of parameter expansion, command substitu-
+       tion, and arithmetic expansion that did not occur within double  quotes
        for _\bw_\bo_\br_\bd _\bs_\bp_\bl_\bi_\bt_\bt_\bi_\bn_\bg.
 
-       The shell treats each character of I\bIF\bFS\bS as a delimiter, and  splits  the
+       The  shell  treats each character of I\bIF\bFS\bS as a delimiter, and splits the
        results of the other expansions into words on these characters.  If I\bIF\bFS\bS
-       is unset, or its value is exactly <\b<s\bsp\bpa\bac\bce\be>\b><\b<t\bta\bab\bb>\b><\b<n\bne\bew\bwl\bli\bin\bne\be>\b>,  the  default,
-       then  any  sequence  of I\bIF\bFS\bS characters serves to delimit words.  If I\bIF\bFS\bS
-       has a value other than the default, then sequences  of  the  whitespace
-       characters  s\bsp\bpa\bac\bce\be  and  t\bta\bab\bb are ignored at the beginning and end of the
-       word, as long as the whitespace character is in the value  of  I\bIF\bFS\b (an
+       is  unset,  or its value is exactly <\b<s\bsp\bpa\bac\bce\be>\b><\b<t\bta\bab\bb>\b><\b<n\bne\bew\bwl\bli\bin\bne\be>\b>, the default,
+       then any sequence of I\bIF\bFS\bS characters serves to delimit  words.   If  I\bIF\bFS\bS
+       has  a  value  other than the default, then sequences of the whitespace
+       characters s\bsp\bpa\bac\bce\be and t\bta\bab\bb are ignored at the beginning and  end  of  the
+       word,  as  long  as the whitespace character is in the value of I\bIF\bFS\bS (an
        I\bIF\bFS\bS whitespace character).  Any character in I\bIF\bFS\bS that is not I\bIF\bFS\bS white-
-       space, along with any adjacent I\bIF\bFS\bS whitespace  characters,  delimits  a
-       field.   A  sequence  of I\bIF\bFS\bS whitespace characters is also treated as a
+       space,  along  with  any adjacent I\bIF\bFS\bS whitespace characters, delimits a
+       field.  A sequence of I\bIF\bFS\bS whitespace characters is also  treated  as  a
        delimiter.  If the value of I\bIF\bFS\bS is null, no word splitting occurs.
 
-       Explicit null arguments ("\b""\b" or '\b''\b')  are  retained.   Unquoted  implicit
+       Explicit  null  arguments  ("\b""\b"  or '\b''\b') are retained.  Unquoted implicit
        null arguments, resulting from the expansion of parameters that have no
-       values, are removed.  If a parameter with no value is  expanded  within
+       values,  are  removed.  If a parameter with no value is expanded within
        double quotes, a null argument results and is retained.
 
        Note that if no expansion occurs, no splitting is performed.
 
    P\bPa\bat\bth\bhn\bna\bam\bme\be E\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn
-       After  word  splitting,  unless  the -\b-f\bf option has been set, b\bba\bas\bsh\bh scans
-       each word for the characters *\b*, ?\b?, and [\b[.  If one of  these  characters
-       appears,  then  the word is regarded as a _\bp_\ba_\bt_\bt_\be_\br_\bn, and replaced with an
-       alphabetically sorted list of file names matching the pattern.   If  no
-       matching  file  names  are found, and the shell option n\bnu\bul\bll\blg\bgl\blo\bob\bb is dis-
-       abled, the word is left unchanged.  If the n\bnu\bul\bll\blg\bgl\blo\bob\bb option is set,  and
-       no  matches  are  found,  the  word  is removed.  If the f\bfa\bai\bil\blg\bgl\blo\bob\bb shell
-       option is set, and no matches are found, an error  message  is  printed
-       and  the  command  is  not executed.  If the shell option n\bno\boc\bca\bas\bse\beg\bgl\blo\bob\bb is
-       enabled, the match is performed without regard to the  case  of  alpha-
-       betic  characters.   When a pattern is used for pathname expansion, the
-       character `\b``\b`.\b.'\b''\b'  at the start of a  name  or  immediately  following  a
-       slash  must  be  matched explicitly, unless the shell option d\bdo\bot\btg\bgl\blo\bob\bb is
-       set.  When matching a pathname, the  slash  character  must  always  be
-       matched  explicitly.   In  other  cases,  the  `\b``\b`.\b.'\b''\b'   character is not
-       treated specially.  See the description  of  s\bsh\bho\bop\bpt\bt  below  under  S\bSH\bHE\bEL\bLL\bL
-       B\bBU\bUI\bIL\bLT\bTI\bIN\b C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS  for a description of the n\bno\boc\bca\bas\bse\beg\bgl\blo\bob\bb, n\bnu\bul\bll\blg\bgl\blo\bob\bb, f\bfa\bai\bil\bl-\b-
+       After word splitting, unless the -\b-f\bf option has  been  set,  b\bba\bas\bsh\b scans
+       each  word  for the characters *\b*, ?\b?, and [\b[.  If one of these characters
+       appears, then the word is regarded as a _\bp_\ba_\bt_\bt_\be_\br_\bn, and replaced  with  an
+       alphabetically  sorted  list of file names matching the pattern.  If no
+       matching file names are found, and the shell option  n\bnu\bul\bll\blg\bgl\blo\bob\bb  is  dis-
+       abled,  the word is left unchanged.  If the n\bnu\bul\bll\blg\bgl\blo\bob\bb option is set, and
+       no matches are found, the word  is  removed.   If  the  f\bfa\bai\bil\blg\bgl\blo\bob\b shell
+       option  is  set,  and no matches are found, an error message is printed
+       and the command is not executed.  If the  shell  option  n\bno\boc\bca\bas\bse\beg\bgl\blo\bob\b is
+       enabled,  the  match  is performed without regard to the case of alpha-
+       betic characters.  When a pattern is used for pathname  expansion,  the
+       character  `\b``\b`.\b.'\b''\b'   at  the  start  of a name or immediately following a
+       slash must be matched explicitly, unless the shell  option  d\bdo\bot\btg\bgl\blo\bob\b is
+       set.   When  matching  a  pathname,  the slash character must always be
+       matched explicitly.  In  other  cases,  the  `\b``\b`.\b.'\b''\b'   character  is  not
+       treated  specially.   See  the  description  of s\bsh\bho\bop\bpt\bt below under S\bSH\bHE\bEL\bLL\bL
+       B\bBU\bUI\bIL\bLT\bTI\bIN\bC\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS for a description of the n\bno\boc\bca\bas\bse\beg\bgl\blo\bob\bb,  n\bnu\bul\bll\blg\bgl\blo\bob\bb,  f\bfa\bai\bil\bl-\b-
        g\bgl\blo\bob\bb, and d\bdo\bot\btg\bgl\blo\bob\bb shell options.
 
-       The G\bGL\bLO\bOB\bBI\bIG\bGN\bNO\bOR\bRE\bE shell variable may be used to restrict the set  of  file
-       names  matching  a  _\bp_\ba_\bt_\bt_\be_\br_\bn.   If G\bGL\bLO\bOB\bBI\bIG\bGN\bNO\bOR\bRE\bE is set, each matching file
-       name that also matches one of the patterns  in  G\bGL\bLO\bOB\bBI\bIG\bGN\bNO\bOR\bRE\bE  is  removed
+       The  G\bGL\bLO\bOB\bBI\bIG\bGN\bNO\bOR\bRE\bE  shell variable may be used to restrict the set of file
+       names matching a _\bp_\ba_\bt_\bt_\be_\br_\bn.  If G\bGL\bLO\bOB\bBI\bIG\bGN\bNO\bOR\bRE\bE is  set,  each  matching  file
+       name  that  also  matches  one of the patterns in G\bGL\bLO\bOB\bBI\bIG\bGN\bNO\bOR\bRE\bE is removed
        from the list of matches.  The file names `\b``\b`.\b.'\b''\b'  and `\b``\b`.\b..\b.'\b''\b'  are always
-       ignored when G\bGL\bLO\bOB\bBI\bIG\bGN\bNO\bOR\bRE\bE is set and not null.  However, setting  G\bGL\bLO\bOB\bBI\bIG\bG-\b-
-       N\bNO\bOR\bRE\b to  a non-null value has the effect of enabling the d\bdo\bot\btg\bgl\blo\bob\bb shell
+       ignored  when G\bGL\bLO\bOB\bBI\bIG\bGN\bNO\bOR\bRE\bE is set and not null.  However, setting G\bGL\bLO\bOB\bBI\bIG\bG-\b-
+       N\bNO\bOR\bRE\bto a non-null value has the effect of enabling the  d\bdo\bot\btg\bgl\blo\bob\b shell
        option, so all other file names beginning with a `\b``\b`.\b.'\b''\b'  will match.  To
-       get  the  old  behavior  of ignoring file names beginning with a `\b``\b`.\b.'\b''\b',
-       make `\b``\b`.\b.*\b*'\b''\b'  one of the patterns in G\bGL\bLO\bOB\bBI\bIG\bGN\bNO\bOR\bRE\bE.  The d\bdo\bot\btg\bgl\blo\bob\bb option  is
+       get the old behavior of ignoring file names  beginning  with  a  `\b``\b`.\b.'\b''\b',
+       make  `\b``\b`.\b.*\b*'\b''\b'  one of the patterns in G\bGL\bLO\bOB\bBI\bIG\bGN\bNO\bOR\bRE\bE.  The d\bdo\bot\btg\bgl\blo\bob\bb option is
        disabled when G\bGL\bLO\bOB\bBI\bIG\bGN\bNO\bOR\bRE\bE is unset.
 
        P\bPa\bat\btt\bte\ber\brn\bn M\bMa\bat\btc\bch\bhi\bin\bng\bg
 
        Any character that appears in a pattern, other than the special pattern
-       characters described below, matches itself.  The NUL character may  not
-       occur  in  a pattern.  A backslash escapes the following character; the
-       escaping backslash is discarded when  matching.   The  special  pattern
+       characters  described below, matches itself.  The NUL character may not
+       occur in a pattern.  A backslash escapes the following  character;  the
+       escaping  backslash  is  discarded  when matching.  The special pattern
        characters must be quoted if they are to be matched literally.
 
        The special pattern characters have the following meanings:
 
        *\b*      Matches any string, including the null string.
        ?\b?      Matches any single character.
-       [\b[.\b..\b..\b.]\b]  Matches  any  one of the enclosed characters.  A pair of charac-
+       [\b[.\b..\b..\b.]\b]  Matches any one of the enclosed characters.  A pair  of  charac-
               ters separated by a hyphen denotes a _\br_\ba_\bn_\bg_\be _\be_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn; any char-
-              acter  that sorts between those two characters, inclusive, using
-              the current locale's collating sequence and  character  set,  is
-              matched.   If the first character following the [\b[ is a !\b!  or a ^\b^
-              then any character not enclosed is matched.  The  sorting  order
-              of  characters in range expressions is determined by the current
-              locale and the value of the L\bLC\bC_\b_C\bCO\bOL\bLL\bLA\bAT\bTE\bE shell variable,  if  set.
-              A  -\b- may be matched by including it as the first or last charac-
+              acter that sorts between those two characters, inclusive,  using
+              the  current  locale's  collating sequence and character set, is
+              matched.  If the first character following the [\b[ is a !\b!  or a  ^\b^
+              then  any  character not enclosed is matched.  The sorting order
+              of characters in range expressions is determined by the  current
+              locale  and  the value of the L\bLC\bC_\b_C\bCO\bOL\bLL\bLA\bAT\bTE\bE shell variable, if set.
+              A -\b- may be matched by including it as the first or last  charac-
               ter in the set.  A ]\b] may be matched by including it as the first
               character in the set.
 
-              Within  [\b[  and  ]\b],  _\bc_\bh_\ba_\br_\ba_\bc_\bt_\be_\br _\bc_\bl_\ba_\bs_\bs_\be_\bs can be specified using the
-              syntax [\b[:\b:_\bc_\bl_\ba_\bs_\bs:\b:]\b], where _\bc_\bl_\ba_\bs_\bs is one of  the  following  classes
+              Within [\b[ and ]\b], _\bc_\bh_\ba_\br_\ba_\bc_\bt_\be_\br _\bc_\bl_\ba_\bs_\bs_\be_\bs can  be  specified  using  the
+              syntax  [\b[:\b:_\bc_\bl_\ba_\bs_\bs:\b:]\b],  where  _\bc_\bl_\ba_\bs_\bs is one of the following classes
               defined in the POSIX.2 standard:
-              a\bal\bln\bnu\bum\b a\bal\blp\bph\bha\ba  a\bas\bsc\bci\bii\bi  b\bbl\bla\ban\bnk\bk  c\bcn\bnt\btr\brl\bl  d\bdi\big\bgi\bit\bt g\bgr\bra\bap\bph\bh l\blo\bow\bwe\ber\br p\bpr\bri\bin\bnt\bt p\bpu\bun\bnc\bct\bt
+              a\bal\bln\bnu\bum\ba\bal\blp\bph\bha\ba a\bas\bsc\bci\bii\bi b\bbl\bla\ban\bnk\bk c\bcn\bnt\btr\brl\bl  d\bdi\big\bgi\bit\bt  g\bgr\bra\bap\bph\bh  l\blo\bow\bwe\ber\br  p\bpr\bri\bin\bnt\b p\bpu\bun\bnc\bct\bt
               s\bsp\bpa\bac\bce\be u\bup\bpp\bpe\ber\br w\bwo\bor\brd\bd x\bxd\bdi\big\bgi\bit\bt
               A character class matches any character belonging to that class.
-              The  w\bwo\bor\brd\bd character class matches letters, digits, and the char-
+              The w\bwo\bor\brd\bd character class matches letters, digits, and the  char-
               acter _.
 
-              Within [\b[ and ]\b], an _\be_\bq_\bu_\bi_\bv_\ba_\bl_\be_\bn_\bc_\be _\bc_\bl_\ba_\bs_\bs can be specified using  the
-              syntax  [\b[=\b=_\bc=\b=]\b], which matches all characters with the same colla-
-              tion weight (as defined by the current locale) as the  character
+              Within  [\b[ and ]\b], an _\be_\bq_\bu_\bi_\bv_\ba_\bl_\be_\bn_\bc_\be _\bc_\bl_\ba_\bs_\bs can be specified using the
+              syntax [\b[=\b=_\bc=\b=]\b], which matches all characters with the same  colla-
+              tion  weight (as defined by the current locale) as the character
               _\bc.
 
               Within [\b[ and ]\b], the syntax [\b[.\b._\bs_\by_\bm_\bb_\bo_\bl.\b.]\b] matches the collating sym-
               bol _\bs_\by_\bm_\bb_\bo_\bl.
 
        If the e\bex\bxt\btg\bgl\blo\bob\bb shell option is enabled using the s\bsh\bho\bop\bpt\bt builtin, several
-       extended  pattern  matching operators are recognized.  In the following
+       extended pattern matching operators are recognized.  In  the  following
        description, a _\bp_\ba_\bt_\bt_\be_\br_\bn_\b-_\bl_\bi_\bs_\bt is a list of one or more patterns separated
        by a |\b|.  Composite patterns may be formed using one or more of the fol-
        lowing sub-patterns:
@@ -1570,48 +1571,48 @@ E\bEX\bXP\bPA\bAN\bNS\bSI\bIO\bON\bN
 
    Q\bQu\buo\bot\bte\be R\bRe\bem\bmo\bov\bva\bal\bl
        After the preceding expansions, all unquoted occurrences of the charac-
-       ters  \\b\,  '\b', and "\b" that did not result from one of the above expansions
+       ters \\b\, '\b', and "\b" that did not result from one of the  above  expansions
        are removed.
 
 R\bRE\bED\bDI\bIR\bRE\bEC\bCT\bTI\bIO\bON\bN
-       Before a command is executed, its input and output  may  be  _\br_\be_\bd_\bi_\br_\be_\bc_\bt_\be_\bd
-       using  a  special  notation  interpreted by the shell.  Redirection may
-       also be used to open and close files for the  current  shell  execution
+       Before  a  command  is executed, its input and output may be _\br_\be_\bd_\bi_\br_\be_\bc_\bt_\be_\bd
+       using a special notation interpreted by  the  shell.   Redirection  may
+       also  be  used  to open and close files for the current shell execution
        environment.  The following redirection operators may precede or appear
        anywhere within a _\bs_\bi_\bm_\bp_\bl_\be _\bc_\bo_\bm_\bm_\ba_\bn_\bd or may follow a _\bc_\bo_\bm_\bm_\ba_\bn_\bd.  Redirections
        are processed in the order they appear, from left to right.
 
-       In  the  following descriptions, if the file descriptor number is omit-
-       ted, and the first character of the redirection operator is <\b<, the  re-
-       direction  refers  to  the  standard input (file descriptor 0).  If the
-       first character of the  redirection  operator  is  >\b>,  the  redirection
+       In the following descriptions, if the file descriptor number  is  omit-
+       ted,  and the first character of the redirection operator is <\b<, the re-
+       direction refers to the standard input (file  descriptor  0).   If  the
+       first  character  of  the  redirection  operator  is >\b>, the redirection
        refers to the standard output (file descriptor 1).
 
-       The  word  following the redirection operator in the following descrip-
-       tions, unless otherwise noted, is subjected to brace  expansion,  tilde
+       The word following the redirection operator in the  following  descrip-
+       tions,  unless  otherwise noted, is subjected to brace expansion, tilde
        expansion, parameter expansion, command substitution, arithmetic expan-
-       sion, quote removal, pathname expansion, and  word  splitting.   If  it
+       sion,  quote  removal,  pathname  expansion, and word splitting.  If it
        expands to more than one word, b\bba\bas\bsh\bh reports an error.
 
-       Note  that  the order of redirections is significant.  For example, the
+       Note that the order of redirections is significant.  For  example,  the
        command
 
               ls >\b> dirlist 2>\b>&\b&1
 
-       directs both standard output and standard error to  the  file  _\bd_\bi_\br_\bl_\bi_\bs_\bt,
+       directs  both  standard  output and standard error to the file _\bd_\bi_\br_\bl_\bi_\bs_\bt,
        while the command
 
               ls 2>\b>&\b&1 >\b> dirlist
 
-       directs  only the standard output to file _\bd_\bi_\br_\bl_\bi_\bs_\bt, because the standard
-       error was duplicated as standard output before the standard output  was
+       directs only the standard output to file _\bd_\bi_\br_\bl_\bi_\bs_\bt, because the  standard
+       error  was duplicated as standard output before the standard output was
        redirected to _\bd_\bi_\br_\bl_\bi_\bs_\bt.
 
        B\bBa\bas\bsh\bh handles several filenames specially when they are used in redirec-
        tions, as described in the following table:
 
               /\b/d\bde\bev\bv/\b/f\bfd\bd/\b/_\bf_\bd
-                     If _\bf_\bd is a valid integer, file descriptor  _\bf_\bd  is  dupli-
+                     If  _\bf_\bd  is  a valid integer, file descriptor _\bf_\bd is dupli-
                      cated.
               /\b/d\bde\bev\bv/\b/s\bst\btd\bdi\bin\bn
                      File descriptor 0 is duplicated.
@@ -1621,22 +1622,22 @@ R\bRE\bED\bDI\bIR\bRE\bEC\bCT\bTI\bIO\bON\bN
                      File descriptor 2 is duplicated.
               /\b/d\bde\bev\bv/\b/t\btc\bcp\bp/\b/_\bh_\bo_\bs_\bt/\b/_\bp_\bo_\br_\bt
                      If _\bh_\bo_\bs_\bt is a valid hostname or Internet address, and _\bp_\bo_\br_\bt
-                     is an integer port number or service name, b\bba\bas\bsh\b attempts
+                     is  an integer port number or service name, b\bba\bas\bsh\bh attempts
                      to open a TCP connection to the corresponding socket.
               /\b/d\bde\bev\bv/\b/u\bud\bdp\bp/\b/_\bh_\bo_\bs_\bt/\b/_\bp_\bo_\br_\bt
                      If _\bh_\bo_\bs_\bt is a valid hostname or Internet address, and _\bp_\bo_\br_\bt
-                     is an integer port number or service name, b\bba\bas\bsh\b attempts
+                     is  an integer port number or service name, b\bba\bas\bsh\bh attempts
                      to open a UDP connection to the corresponding socket.
 
        A failure to open or create a file causes the redirection to fail.
 
-       Redirections  using file descriptors greater than 9 should be used with
-       care, as they may conflict with file descriptors the shell uses  inter-
+       Redirections using file descriptors greater than 9 should be used  with
+       care,  as they may conflict with file descriptors the shell uses inter-
        nally.
 
    R\bRe\bed\bdi\bir\bre\bec\bct\bti\bin\bng\bg I\bIn\bnp\bpu\but\bt
        Redirection of input causes the file whose name results from the expan-
-       sion of _\bw_\bo_\br_\bd to be opened for reading on  file  descriptor  _\bn,  or  the
+       sion  of  _\bw_\bo_\br_\bd  to  be  opened for reading on file descriptor _\bn, or the
        standard input (file descriptor 0) if _\bn is not specified.
 
        The general format for redirecting input is:
@@ -1644,27 +1645,27 @@ R\bRE\bED\bDI\bIR\bRE\bEC\bCT\bTI\bIO\bON\bN
               [_\bn]<\b<_\bw_\bo_\br_\bd
 
    R\bRe\bed\bdi\bir\bre\bec\bct\bti\bin\bng\bg O\bOu\but\btp\bpu\but\bt
-       Redirection  of  output  causes  the  file  whose name results from the
+       Redirection of output causes the  file  whose  name  results  from  the
        expansion of _\bw_\bo_\br_\bd to be opened for writing on file descriptor _\bn, or the
        standard output (file descriptor 1) if _\bn is not specified.  If the file
-       does not exist it is created; if it does exist it is truncated to  zero
+       does  not exist it is created; if it does exist it is truncated to zero
        size.
 
        The general format for redirecting output is:
 
               [_\bn]>\b>_\bw_\bo_\br_\bd
 
-       If  the  redirection operator is >\b>, and the n\bno\boc\bcl\blo\bob\bbb\bbe\ber\br option to the s\bse\bet\bt
-       builtin has been enabled, the redirection will fail if the  file  whose
-       name  results  from the expansion of _\bw_\bo_\br_\bd exists and is a regular file.
+       If the redirection operator is >\b>, and the n\bno\boc\bcl\blo\bob\bbb\bbe\ber\br option to  the  s\bse\bet\bt
+       builtin  has  been enabled, the redirection will fail if the file whose
+       name results from the expansion of _\bw_\bo_\br_\bd exists and is a  regular  file.
        If the redirection operator is >\b>|\b|, or the redirection operator is >\b> and
        the n\bno\boc\bcl\blo\bob\bbb\bbe\ber\br option to the s\bse\bet\bt builtin command is not enabled, the re-
        direction is attempted even if the file named by _\bw_\bo_\br_\bd exists.
 
    A\bAp\bpp\bpe\ben\bnd\bdi\bin\bng\bg R\bRe\bed\bdi\bir\bre\bec\bct\bte\bed\bd O\bOu\but\btp\bpu\but\bt
-       Redirection of output in  this  fashion  causes  the  file  whose  name
-       results  from  the expansion of _\bw_\bo_\br_\bd to be opened for appending on file
-       descriptor _\bn, or the standard output (file descriptor 1) if  _\bn  is  not
+       Redirection  of  output  in  this  fashion  causes  the file whose name
+       results from the expansion of _\bw_\bo_\br_\bd to be opened for appending  on  file
+       descriptor  _\bn,  or  the standard output (file descriptor 1) if _\bn is not
        specified.  If the file does not exist it is created.
 
        The general format for appending output is:
@@ -1673,11 +1674,11 @@ R\bRE\bED\bDI\bIR\bRE\bEC\bCT\bTI\bIO\bON\bN
 
 
    R\bRe\bed\bdi\bir\bre\bec\bct\bti\bin\bng\bg S\bSt\bta\ban\bnd\bda\bar\brd\bd O\bOu\but\btp\bpu\but\bt a\ban\bnd\bd S\bSt\bta\ban\bnd\bda\bar\brd\bd E\bEr\brr\bro\bor\br
-       B\bBa\bas\bsh\b allows both the standard output (file descriptor 1) and the stan-
-       dard error output (file descriptor 2) to  be  redirected  to  the  file
+       B\bBa\bas\bsh\ballows both the standard output (file descriptor 1) and the  stan-
+       dard  error  output  (file  descriptor  2) to be redirected to the file
        whose name is the expansion of _\bw_\bo_\br_\bd with this construct.
 
-       There  are  two  formats  for  redirecting standard output and standard
+       There are two formats for  redirecting  standard  output  and  standard
        error:
 
               &\b&>\b>_\bw_\bo_\br_\bd
@@ -1690,9 +1691,9 @@ R\bRE\bED\bDI\bIR\bRE\bEC\bCT\bTI\bIO\bON\bN
               >\b>_\bw_\bo_\br_\bd 2>\b>&\b&1
 
    H\bHe\ber\bre\be D\bDo\boc\bcu\bum\bme\ben\bnt\bts\bs
-       This  type  of  redirection  instructs the shell to read input from the
-       current source until a line containing  only  _\bw_\bo_\br_\bd  (with  no  trailing
-       blanks)  is seen.  All of the lines read up to that point are then used
+       This type of redirection instructs the shell to  read  input  from  the
+       current  source  until  a  line  containing only _\bw_\bo_\br_\bd (with no trailing
+       blanks) is seen.  All of the lines read up to that point are then  used
        as the standard input for a command.
 
        The format of here-documents is:
@@ -1701,18 +1702,18 @@ R\bRE\bED\bDI\bIR\bRE\bEC\bCT\bTI\bIO\bON\bN
                       _\bh_\be_\br_\be_\b-_\bd_\bo_\bc_\bu_\bm_\be_\bn_\bt
               _\bd_\be_\bl_\bi_\bm_\bi_\bt_\be_\br
 
-       No parameter expansion, command substitution, arithmetic expansion,  or
+       No  parameter expansion, command substitution, arithmetic expansion, or
        pathname expansion is performed on _\bw_\bo_\br_\bd.  If any characters in _\bw_\bo_\br_\bd are
-       quoted, the _\bd_\be_\bl_\bi_\bm_\bi_\bt_\be_\br is the result of quote removal on _\bw_\bo_\br_\bd,  and  the
-       lines  in the here-document are not expanded.  If _\bw_\bo_\br_\bd is unquoted, all
-       lines of the here-document are subjected to parameter  expansion,  com-
-       mand  substitution,  and arithmetic expansion.  In the latter case, the
-       character sequence \\b\<\b<n\bne\bew\bwl\bli\bin\bne\be>\b> is ignored, and \\b\ must be used  to  quote
+       quoted,  the  _\bd_\be_\bl_\bi_\bm_\bi_\bt_\be_\br is the result of quote removal on _\bw_\bo_\br_\bd, and the
+       lines in the here-document are not expanded.  If _\bw_\bo_\br_\bd is unquoted,  all
+       lines  of  the here-document are subjected to parameter expansion, com-
+       mand substitution, and arithmetic expansion.  In the latter  case,  the
+       character  sequence  \\b\<\b<n\bne\bew\bwl\bli\bin\bne\be>\b> is ignored, and \\b\ must be used to quote
        the characters \\b\, $\b$, and `\b`.
 
        If the redirection operator is <\b<<\b<-\b-, then all leading tab characters are
-       stripped from input lines and  the  line  containing  _\bd_\be_\bl_\bi_\bm_\bi_\bt_\be_\br.   This
-       allows  here-documents within shell scripts to be indented in a natural
+       stripped  from  input  lines  and  the line containing _\bd_\be_\bl_\bi_\bm_\bi_\bt_\be_\br.  This
+       allows here-documents within shell scripts to be indented in a  natural
        fashion.
 
    H\bHe\ber\bre\be S\bSt\btr\bri\bin\bng\bgs\bs
@@ -1728,20 +1729,20 @@ R\bRE\bED\bDI\bIR\bRE\bEC\bCT\bTI\bIO\bON\bN
               [_\bn]<\b<&\b&_\bw_\bo_\br_\bd
 
        is used to duplicate input file descriptors.  If _\bw_\bo_\br_\bd expands to one or
-       more digits, the file descriptor denoted by _\bn is made to be a  copy  of
-       that  file  descriptor.   If  the  digits in _\bw_\bo_\br_\bd do not specify a file
-       descriptor open for input, a redirection error occurs.  If _\bw_\bo_\br_\b evalu-
-       ates  to  -\b-,  file  descriptor _\bn is closed.  If _\bn is not specified, the
+       more  digits,  the file descriptor denoted by _\bn is made to be a copy of
+       that file descriptor.  If the digits in _\bw_\bo_\br_\bd  do  not  specify  a  file
+       descriptor  open for input, a redirection error occurs.  If _\bw_\bo_\br_\bd evalu-
+       ates to -\b-, file descriptor _\bn is closed.  If _\bn  is  not  specified,  the
        standard input (file descriptor 0) is used.
 
        The operator
 
               [_\bn]>\b>&\b&_\bw_\bo_\br_\bd
 
-       is used similarly to duplicate output file descriptors.  If  _\bn  is  not
-       specified,  the  standard  output  (file descriptor 1) is used.  If the
-       digits in _\bw_\bo_\br_\bd do not specify a file descriptor open for output, a  re-
-       direction  error  occurs.  As a special case, if _\bn is omitted, and _\bw_\bo_\br_\bd
+       is  used  similarly  to duplicate output file descriptors.  If _\bn is not
+       specified, the standard output (file descriptor 1)  is  used.   If  the
+       digits  in _\bw_\bo_\br_\bd do not specify a file descriptor open for output, a re-
+       direction error occurs.  As a special case, if _\bn is omitted,  and  _\bw_\bo_\br_\bd
        does not expand to one or more digits, the standard output and standard
        error are redirected as described previously.
 
@@ -1750,7 +1751,7 @@ R\bRE\bED\bDI\bIR\bRE\bEC\bCT\bTI\bIO\bON\bN
 
               [_\bn]<\b<&\b&_\bd_\bi_\bg_\bi_\bt-\b-
 
-       moves  the  file descriptor _\bd_\bi_\bg_\bi_\bt to file descriptor _\bn, or the standard
+       moves the file descriptor _\bd_\bi_\bg_\bi_\bt to file descriptor _\bn, or  the  standard
        input (file descriptor 0) if _\bn is not specified.  _\bd_\bi_\bg_\bi_\bt is closed after
        being duplicated to _\bn.
 
@@ -1758,7 +1759,7 @@ R\bRE\bED\bDI\bIR\bRE\bEC\bCT\bTI\bIO\bON\bN
 
               [_\bn]>\b>&\b&_\bd_\bi_\bg_\bi_\bt-\b-
 
-       moves  the  file descriptor _\bd_\bi_\bg_\bi_\bt to file descriptor _\bn, or the standard
+       moves the file descriptor _\bd_\bi_\bg_\bi_\bt to file descriptor _\bn, or  the  standard
        output (file descriptor 1) if _\bn is not specified.
 
    O\bOp\bpe\ben\bni\bin\bng\bg F\bFi\bil\ble\be D\bDe\bes\bsc\bcr\bri\bip\bpt\bto\bor\brs\bs f\bfo\bor\br R\bRe\bea\bad\bdi\bin\bng\bg a\ban\bnd\bd W\bWr\bri\bit\bti\bin\bng\bg
@@ -1766,107 +1767,107 @@ R\bRE\bED\bDI\bIR\bRE\bEC\bCT\bTI\bIO\bON\bN
 
               [_\bn]<\b<>\b>_\bw_\bo_\br_\bd
 
-       causes the file whose name is the expansion of _\bw_\bo_\br_\bd to  be  opened  for
-       both  reading and writing on file descriptor _\bn, or on file descriptor 0
+       causes  the  file  whose name is the expansion of _\bw_\bo_\br_\bd to be opened for
+       both reading and writing on file descriptor _\bn, or on file descriptor  0
        if _\bn is not specified.  If the file does not exist, it is created.
 
 A\bAL\bLI\bIA\bAS\bSE\bES\bS
-       _\bA_\bl_\bi_\ba_\bs_\be_\ballow a string to be substituted for a word when it is used  as
-       the  first  word  of  a  simple command.  The shell maintains a list of
-       aliases that may be set and unset with the a\bal\bli\bia\bas\bs  and  u\bun\bna\bal\bli\bia\bas\b builtin
-       commands  (see  S\bSH\bHE\bEL\bLL\bL  B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below).  The first word of each
-       simple command, if unquoted, is checked to see if it has an alias.   If
-       so,  that word is replaced by the text of the alias.  The characters /\b/,
-       $\b$, `\b`, and =\b= and any of the shell _\bm_\be_\bt_\ba_\bc_\bh_\ba_\br_\ba_\bc_\bt_\be_\br_\bs or  quoting  characters
+       _\bA_\bl_\bi_\ba_\bs_\be_\b allow a string to be substituted for a word when it is used as
+       the first word of a simple command.  The  shell  maintains  a  list  of
+       aliases  that  may  be set and unset with the a\bal\bli\bia\bas\bs and u\bun\bna\bal\bli\bia\bas\bs builtin
+       commands (see S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below).  The first  word  of  each
+       simple  command, if unquoted, is checked to see if it has an alias.  If
+       so, that word is replaced by the text of the alias.  The characters  /\b/,
+       $\b$,  `\b`,  and =\b= and any of the shell _\bm_\be_\bt_\ba_\bc_\bh_\ba_\br_\ba_\bc_\bt_\be_\br_\bs or quoting characters
        listed above may not appear in an alias name.  The replacement text may
-       contain any valid shell input,  including  shell  metacharacters.   The
-       first  word  of  the replacement text is tested for aliases, but a word
-       that is identical to an alias being expanded is not expanded  a  second
-       time.   This  means  that  one may alias l\bls\bs to l\bls\bs -\b-F\bF, for instance, and
-       b\bba\bas\bsh\bdoes not try to recursively expand the replacement text.   If  the
-       last  character  of  the  alias value is a _\bb_\bl_\ba_\bn_\bk, then the next command
+       contain  any  valid  shell  input, including shell metacharacters.  The
+       first word of the replacement text is tested for aliases,  but  a  word
+       that  is  identical to an alias being expanded is not expanded a second
+       time.  This means that one may alias l\bls\bs to l\bls\bs  -\b-F\bF,  for  instance,  and
+       b\bba\bas\bsh\b does  not try to recursively expand the replacement text.  If the
+       last character of the alias value is a _\bb_\bl_\ba_\bn_\bk,  then  the  next  command
        word following the alias is also checked for alias expansion.
 
        Aliases are created and listed with the a\bal\bli\bia\bas\bs command, and removed with
        the u\bun\bna\bal\bli\bia\bas\bs command.
 
-       There  is no mechanism for using arguments in the replacement text.  If
-       arguments are needed, a shell function should be  used  (see  F\bFU\bUN\bNC\bCT\bTI\bIO\bON\bNS\bS
+       There is no mechanism for using arguments in the replacement text.   If
+       arguments  are  needed,  a shell function should be used (see F\bFU\bUN\bNC\bCT\bTI\bIO\bON\bNS\bS
        below).
 
-       Aliases  are not expanded when the shell is not interactive, unless the
-       e\bex\bxp\bpa\ban\bnd\bd_\b_a\bal\bli\bia\bas\bse\bes\bshell option is set using s\bsh\bho\bop\bpt\bt (see the description  of
+       Aliases are not expanded when the shell is not interactive, unless  the
+       e\bex\bxp\bpa\ban\bnd\bd_\b_a\bal\bli\bia\bas\bse\bes\b shell option is set using s\bsh\bho\bop\bpt\bt (see the description of
        s\bsh\bho\bop\bpt\bt under S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below).
 
-       The  rules  concerning  the  definition and use of aliases are somewhat
-       confusing.  B\bBa\bas\bsh\bh always reads at  least  one  complete  line  of  input
-       before  executing  any  of  the  commands  on  that  line.  Aliases are
-       expanded when a command is read, not when it is  executed.   Therefore,
-       an  alias definition appearing on the same line as another command does
-       not take effect until the next line of input  is  read.   The  commands
+       The rules concerning the definition and use  of  aliases  are  somewhat
+       confusing.   B\bBa\bas\bsh\bh  always  reads  at  least  one complete line of input
+       before executing any  of  the  commands  on  that  line.   Aliases  are
+       expanded  when  a command is read, not when it is executed.  Therefore,
+       an alias definition appearing on the same line as another command  does
+       not  take  effect  until  the next line of input is read.  The commands
        following the alias definition on that line are not affected by the new
-       alias.  This behavior is also an issue  when  functions  are  executed.
-       Aliases  are  expanded when a function definition is read, not when the
-       function is executed, because a function definition is  itself  a  com-
+       alias.   This  behavior  is  also an issue when functions are executed.
+       Aliases are expanded when a function definition is read, not  when  the
+       function  is  executed,  because a function definition is itself a com-
        pound command.  As a consequence, aliases defined in a function are not
-       available until after that function is executed.  To  be  safe,  always
-       put  alias definitions on a separate line, and do not use a\bal\bli\bia\bas\bs in com-
+       available  until  after  that function is executed.  To be safe, always
+       put alias definitions on a separate line, and do not use a\bal\bli\bia\bas\bs in  com-
        pound commands.
 
        For almost every purpose, aliases are superseded by shell functions.
 
 F\bFU\bUN\bNC\bCT\bTI\bIO\bON\bNS\bS
-       A shell function, defined  as  described  above  under  S\bSH\bHE\bEL\bLL\b G\bGR\bRA\bAM\bMM\bMA\bAR\bR,
-       stores  a  series  of commands for later execution.  When the name of a
-       shell function is used as a simple command name, the list  of  commands
+       A  shell  function,  defined  as  described  above under S\bSH\bHE\bEL\bLL\bL G\bGR\bRA\bAM\bMM\bMA\bAR\bR,
+       stores a series of commands for later execution.  When the  name  of  a
+       shell  function  is used as a simple command name, the list of commands
        associated with that function name is executed.  Functions are executed
-       in the context of the current shell;  no  new  process  is  created  to
-       interpret  them  (contrast  this with the execution of a shell script).
-       When a function is executed, the arguments to the function  become  the
+       in  the  context  of  the  current  shell; no new process is created to
+       interpret them (contrast this with the execution of  a  shell  script).
+       When  a  function is executed, the arguments to the function become the
        positional parameters during its execution.  The special parameter #\b# is
-       updated to reflect the change.  Special parameter 0 is unchanged.   The
-       first  element of the F\bFU\bUN\bNC\bCN\bNA\bAM\bME\bE variable is set to the name of the func-
-       tion while the function is executing.  All other aspects of  the  shell
-       execution  environment  are identical between a function and its caller
+       updated  to reflect the change.  Special parameter 0 is unchanged.  The
+       first element of the F\bFU\bUN\bNC\bCN\bNA\bAM\bME\bE variable is set to the name of the  func-
+       tion  while  the function is executing.  All other aspects of the shell
+       execution environment are identical between a function and  its  caller
        with the exception that the D\bDE\bEB\bBU\bUG\bG and R\bRE\bET\bTU\bUR\bRN\bN traps (see the description
-       of  the t\btr\bra\bap\bp builtin under S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below) are not inher-
-       ited unless the function has been given the t\btr\bra\bac\bce\be  attribute  (see  the
-       description  of  the  d\bde\bec\bcl\bla\bar\bre\be  builtin below) or the -\b-o\bo f\bfu\bun\bnc\bct\btr\bra\bac\bce\be shell
-       option has been enabled with the s\bse\bet\bt builtin (in which case  all  func-
+       of the t\btr\bra\bap\bp builtin under S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below) are not  inher-
+       ited  unless  the  function has been given the t\btr\bra\bac\bce\be attribute (see the
+       description of the d\bde\bec\bcl\bla\bar\bre\be builtin below) or  the  -\b-o\bo  f\bfu\bun\bnc\bct\btr\bra\bac\bce\b shell
+       option  has  been enabled with the s\bse\bet\bt builtin (in which case all func-
        tions inherit the D\bDE\bEB\bBU\bUG\bG and R\bRE\bET\bTU\bUR\bRN\bN traps).
 
-       Variables  local to the function may be declared with the l\blo\boc\bca\bal\bl builtin
+       Variables local to the function may be declared with the l\blo\boc\bca\bal\b builtin
        command.  Ordinarily, variables and their values are shared between the
        function and its caller.
 
-       If  the  builtin command r\bre\bet\btu\bur\brn\bn is executed in a function, the function
-       completes and execution resumes with the next command after  the  func-
-       tion  call.   Any  command  associated with the R\bRE\bET\bTU\bUR\bRN\bN trap is executed
+       If the builtin command r\bre\bet\btu\bur\brn\bn is executed in a function,  the  function
+       completes  and  execution resumes with the next command after the func-
+       tion call.  Any command associated with the  R\bRE\bET\bTU\bUR\bRN\bN  trap  is  executed
        before execution resumes.  When a function completes, the values of the
-       positional  parameters  and the special parameter #\b# are restored to the
+       positional parameters and the special parameter #\b# are restored  to  the
        values they had prior to the function's execution.
 
-       Function names and definitions may be listed with the -\b-f\bf option to  the
+       Function  names and definitions may be listed with the -\b-f\bf option to the
        d\bde\bec\bcl\bla\bar\bre\be or t\bty\byp\bpe\bes\bse\bet\bt builtin commands.  The -\b-F\bF option to d\bde\bec\bcl\bla\bar\bre\be or t\bty\byp\bpe\be-\b-
-       s\bse\bet\bwill list the function names only (and optionally the  source  file
-       and  line  number, if the e\bex\bxt\btd\bde\beb\bbu\bug\bg shell option is enabled).  Functions
-       may be exported so that subshells automatically have them defined  with
-       the  -\b-f\bf  option  to  the e\bex\bxp\bpo\bor\brt\bt builtin.  Note that shell functions and
-       variables with the same name may result in  multiple  identically-named
+       s\bse\bet\b will  list the function names only (and optionally the source file
+       and line number, if the e\bex\bxt\btd\bde\beb\bbu\bug\bg shell option is  enabled).   Functions
+       may  be exported so that subshells automatically have them defined with
+       the -\b-f\bf option to the e\bex\bxp\bpo\bor\brt\bt builtin.  Note  that  shell  functions  and
+       variables  with  the same name may result in multiple identically-named
        entries in the environment passed to the shell's children.  Care should
        be taken in cases where this may cause a problem.
 
-       Functions may be recursive.  No limit  is  imposed  on  the  number  of
+       Functions  may  be  recursive.   No  limit  is imposed on the number of
        recursive calls.
 
 A\bAR\bRI\bIT\bTH\bHM\bME\bET\bTI\bIC\bC E\bEV\bVA\bAL\bLU\bUA\bAT\bTI\bIO\bON\bN
-       The  shell allows arithmetic expressions to be evaluated, under certain
-       circumstances (see the l\ble\bet\bt and d\bde\bec\bcl\bla\bar\bre\be builtin commands and  A\bAr\bri\bit\bth\bhm\bme\bet\bti\bic\bc
-       E\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn).   Evaluation  is done in fixed-width integers with no check
-       for overflow, though division by 0 is trapped and flagged as an  error.
-       The  operators  and their precedence, associativity, and values are the
-       same as in the C language.  The following list of operators is  grouped
-       into  levels  of  equal-precedence operators.  The levels are listed in
+       The shell allows arithmetic expressions to be evaluated, under  certain
+       circumstances  (see the l\ble\bet\bt and d\bde\bec\bcl\bla\bar\bre\be builtin commands and A\bAr\bri\bit\bth\bhm\bme\bet\bti\bic\bc
+       E\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn).  Evaluation is done in fixed-width integers with  no  check
+       for  overflow, though division by 0 is trapped and flagged as an error.
+       The operators and their precedence, associativity, and values  are  the
+       same  as in the C language.  The following list of operators is grouped
+       into levels of equal-precedence operators.  The levels  are  listed  in
        order of decreasing precedence.
 
        _\bi_\bd+\b++\b+ _\bi_\bd-\b--\b-
@@ -1894,39 +1895,39 @@ A\bAR\bRI\bIT\bTH\bHM\bME\bET\bTI\bIC\bC E\bEV\bVA\bAL\bLU\bUA\bAT\bTI\bIO\bON\bN
        _\be_\bx_\bp_\br_\b1 ,\b, _\be_\bx_\bp_\br_\b2
               comma
 
-       Shell variables are allowed as operands; parameter  expansion  is  per-
+       Shell  variables  are  allowed as operands; parameter expansion is per-
        formed before the expression is evaluated.  Within an expression, shell
-       variables may also be referenced by name without  using  the  parameter
-       expansion  syntax.  A shell variable that is null or unset evaluates to
+       variables  may  also  be referenced by name without using the parameter
+       expansion syntax.  A shell variable that is null or unset evaluates  to
        0 when referenced by name without using the parameter expansion syntax.
-       The  value  of a variable is evaluated as an arithmetic expression when
-       it is referenced, or when a variable which has been given  the  _\bi_\bn_\bt_\be_\bg_\be_\br
+       The value of a variable is evaluated as an arithmetic  expression  when
+       it  is  referenced, or when a variable which has been given the _\bi_\bn_\bt_\be_\bg_\be_\br
        attribute using d\bde\bec\bcl\bla\bar\bre\be -\b-i\bi is assigned a value.  A null value evaluates
-       to 0.  A shell variable need not have its integer attribute  turned  on
+       to  0.   A shell variable need not have its integer attribute turned on
        to be used in an expression.
 
        Constants with a leading 0 are interpreted as octal numbers.  A leading
-       0x or  0X  denotes  hexadecimal.   Otherwise,  numbers  take  the  form
-       [_\bb_\ba_\bs_\be_\b#]n,  where _\bb_\ba_\bs_\be is a decimal number between 2 and 64 representing
+       0x  or  0X  denotes  hexadecimal.   Otherwise,  numbers  take  the form
+       [_\bb_\ba_\bs_\be_\b#]n, where _\bb_\ba_\bs_\be is a decimal number between 2 and 64  representing
        the arithmetic base, and _\bn is a number in that base.  If _\bb_\ba_\bs_\be_\b# is omit-
-       ted,  then  base 10 is used.  The digits greater than 9 are represented
-       by the lowercase letters, the uppercase letters,  @,  and  _,  in  that
-       order.   If  _\bb_\ba_\bs_\be  is less than or equal to 36, lowercase and uppercase
+       ted, then base 10 is used.  The digits greater than 9  are  represented
+       by  the  lowercase  letters,  the  uppercase letters, @, and _, in that
+       order.  If _\bb_\ba_\bs_\be is less than or equal to 36,  lowercase  and  uppercase
        letters may be used interchangeably to represent numbers between 10 and
        35.
 
-       Operators  are  evaluated  in  order of precedence.  Sub-expressions in
-       parentheses are evaluated first and may override the  precedence  rules
+       Operators are evaluated in order  of  precedence.   Sub-expressions  in
+       parentheses  are  evaluated first and may override the precedence rules
        above.
 
 C\bCO\bON\bND\bDI\bIT\bTI\bIO\bON\bNA\bAL\bL E\bEX\bXP\bPR\bRE\bES\bSS\bSI\bIO\bON\bNS\bS
-       Conditional  expressions  are  used  by the [\b[[\b[ compound command and the
-       t\bte\bes\bst\band [\b[ builtin commands to test file attributes and perform  string
-       and  arithmetic comparisons.  Expressions are formed from the following
-       unary or binary primaries.  If any _\bf_\bi_\bl_\be argument to  one  of  the  pri-
+       Conditional expressions are used by the [\b[[\b[  compound  command  and  the
+       t\bte\bes\bst\b and [\b[ builtin commands to test file attributes and perform string
+       and arithmetic comparisons.  Expressions are formed from the  following
+       unary  or  binary  primaries.   If any _\bf_\bi_\bl_\be argument to one of the pri-
        maries is of the form _\b/_\bd_\be_\bv_\b/_\bf_\bd_\b/_\bn, then file descriptor _\bn is checked.  If
-       the _\bf_\bi_\bl_\be argument to  one  of  the  primaries  is  one  of  _\b/_\bd_\be_\bv_\b/_\bs_\bt_\bd_\bi_\bn,
-       _\b/_\bd_\be_\bv_\b/_\bs_\bt_\bd_\bo_\bu_\bt,  or _\b/_\bd_\be_\bv_\b/_\bs_\bt_\bd_\be_\br_\br, file descriptor 0, 1, or 2, respectively,
+       the  _\bf_\bi_\bl_\be  argument  to  one  of  the  primaries  is one of _\b/_\bd_\be_\bv_\b/_\bs_\bt_\bd_\bi_\bn,
+       _\b/_\bd_\be_\bv_\b/_\bs_\bt_\bd_\bo_\bu_\bt, or _\b/_\bd_\be_\bv_\b/_\bs_\bt_\bd_\be_\br_\br, file descriptor 0, 1, or 2,  respectively,
        is checked.
 
        Unless otherwise specified, primaries that operate on files follow sym-
@@ -1973,20 +1974,20 @@ C\bCO\bON\bND\bDI\bIT\bTI\bIO\bON\bNA\bAL\bL E\bEX\bXP\bPR\bRE\bES\bSS\bSI\bIO\bON\bNS\bS
        -\b-S\bS _\bf_\bi_\bl_\be
               True if _\bf_\bi_\bl_\be exists and is a socket.
        -\b-N\bN _\bf_\bi_\bl_\be
-              True if _\bf_\bi_\bl_\be exists and has been  modified  since  it  was  last
+              True  if  _\bf_\bi_\bl_\be  exists  and  has been modified since it was last
               read.
        _\bf_\bi_\bl_\be_\b1 -n\bnt\bt _\bf_\bi_\bl_\be_\b2
-              True  if  _\bf_\bi_\bl_\be_\b1  is  newer (according to modification date) than
+              True if _\bf_\bi_\bl_\be_\b1 is newer (according  to  modification  date)  than
               _\bf_\bi_\bl_\be_\b2, or if _\bf_\bi_\bl_\be_\b1 exists and _\bf_\bi_\bl_\be_\b2 does not.
        _\bf_\bi_\bl_\be_\b1 -o\bot\bt _\bf_\bi_\bl_\be_\b2
-              True if _\bf_\bi_\bl_\be_\b1 is older than _\bf_\bi_\bl_\be_\b2, or if _\bf_\bi_\bl_\be_\b2 exists and  _\bf_\bi_\bl_\be_\b1
+              True  if _\bf_\bi_\bl_\be_\b1 is older than _\bf_\bi_\bl_\be_\b2, or if _\bf_\bi_\bl_\be_\b2 exists and _\bf_\bi_\bl_\be_\b1
               does not.
        _\bf_\bi_\bl_\be_\b1 -\b-e\bef\bf _\bf_\bi_\bl_\be_\b2
-              True  if _\bf_\bi_\bl_\be_\b1 and _\bf_\bi_\bl_\be_\b2 refer to the same device and inode num-
+              True if _\bf_\bi_\bl_\be_\b1 and _\bf_\bi_\bl_\be_\b2 refer to the same device and inode  num-
               bers.
        -\b-o\bo _\bo_\bp_\bt_\bn_\ba_\bm_\be
-              True if shell option  _\bo_\bp_\bt_\bn_\ba_\bm_\be  is  enabled.   See  the  list  of
-              options  under  the  description  of  the  -\b-o\bo  option to the s\bse\bet\bt
+              True  if  shell  option  _\bo_\bp_\bt_\bn_\ba_\bm_\be  is  enabled.   See the list of
+              options under the description  of  the  -\b-o\bo  option  to  the  s\bse\bet\bt
               builtin below.
        -\b-z\bz _\bs_\bt_\br_\bi_\bn_\bg
               True if the length of _\bs_\bt_\br_\bi_\bn_\bg is zero.
@@ -2002,111 +2003,111 @@ C\bCO\bON\bND\bDI\bIT\bTI\bIO\bON\bNA\bAL\bL E\bEX\bXP\bPR\bRE\bES\bSS\bSI\bIO\bON\bNS\bS
               True if the strings are not equal.
 
        _\bs_\bt_\br_\bi_\bn_\bg_\b1 <\b< _\bs_\bt_\br_\bi_\bn_\bg_\b2
-              True  if  _\bs_\bt_\br_\bi_\bn_\bg_\b1  sorts before _\bs_\bt_\br_\bi_\bn_\bg_\b2 lexicographically in the
+              True if _\bs_\bt_\br_\bi_\bn_\bg_\b1 sorts before _\bs_\bt_\br_\bi_\bn_\bg_\b2  lexicographically  in  the
               current locale.
 
        _\bs_\bt_\br_\bi_\bn_\bg_\b1 >\b> _\bs_\bt_\br_\bi_\bn_\bg_\b2
-              True if _\bs_\bt_\br_\bi_\bn_\bg_\b1 sorts after  _\bs_\bt_\br_\bi_\bn_\bg_\b2  lexicographically  in  the
+              True  if  _\bs_\bt_\br_\bi_\bn_\bg_\b1  sorts  after _\bs_\bt_\br_\bi_\bn_\bg_\b2 lexicographically in the
               current locale.
 
        _\ba_\br_\bg_\b1 O\bOP\bP _\ba_\br_\bg_\b2
-              O\bOP\b is one of -\b-e\beq\bq, -\b-n\bne\be, -\b-l\blt\bt, -\b-l\ble\be, -\b-g\bgt\bt, or -\b-g\bge\be.  These arithmetic
-              binary operators return true if _\ba_\br_\bg_\b1 is equal to, not equal  to,
-              less  than, less than or equal to, greater than, or greater than
-              or equal to _\ba_\br_\bg_\b2, respectively.  _\bA_\br_\bg_\b1 and _\ba_\br_\bg_\b2 may  be  positive
+              O\bOP\bis one of -\b-e\beq\bq, -\b-n\bne\be, -\b-l\blt\bt, -\b-l\ble\be, -\b-g\bgt\bt, or -\b-g\bge\be.  These  arithmetic
+              binary  operators return true if _\ba_\br_\bg_\b1 is equal to, not equal to,
+              less than, less than or equal to, greater than, or greater  than
+              or  equal  to _\ba_\br_\bg_\b2, respectively.  _\bA_\br_\bg_\b1 and _\ba_\br_\bg_\b2 may be positive
               or negative integers.
 
 S\bSI\bIM\bMP\bPL\bLE\bE C\bCO\bOM\bMM\bMA\bAN\bND\bD E\bEX\bXP\bPA\bAN\bNS\bSI\bIO\bON\bN
-       When  a  simple  command  is executed, the shell performs the following
+       When a simple command is executed, the  shell  performs  the  following
        expansions, assignments, and redirections, from left to right.
 
-       1.     The words that the parser has  marked  as  variable  assignments
-              (those  preceding  the  command name) and redirections are saved
+       1.     The  words  that  the  parser has marked as variable assignments
+              (those preceding the command name) and  redirections  are  saved
               for later processing.
 
-       2.     The words that are not variable assignments or redirections  are
-              expanded.   If  any words remain after expansion, the first word
-              is taken to be the name of the command and the  remaining  words
+       2.     The  words that are not variable assignments or redirections are
+              expanded.  If any words remain after expansion, the  first  word
+              is  taken  to be the name of the command and the remaining words
               are the arguments.
 
        3.     Redirections are performed as described above under R\bRE\bED\bDI\bIR\bRE\bEC\bCT\bTI\bIO\bON\bN.
 
        4.     The text after the =\b= in each variable assignment undergoes tilde
               expansion, parameter expansion, command substitution, arithmetic
-              expansion, and quote removal before being assigned to the  vari-
+              expansion,  and quote removal before being assigned to the vari-
               able.
 
        If no command name results, the variable assignments affect the current
-       shell environment.  Otherwise, the variables are added to the  environ-
-       ment  of the executed command and do not affect the current shell envi-
-       ronment.  If any of the assignments attempts to assign  a  value  to  a
-       readonly  variable,  an error occurs, and the command exits with a non-
+       shell  environment.  Otherwise, the variables are added to the environ-
+       ment of the executed command and do not affect the current shell  envi-
+       ronment.   If  any  of  the assignments attempts to assign a value to a
+       readonly variable, an error occurs, and the command exits with  a  non-
        zero status.
 
-       If no command name results, redirections  are  performed,  but  do  not
-       affect  the  current shell environment.  A redirection error causes the
+       If  no  command  name  results,  redirections are performed, but do not
+       affect the current shell environment.  A redirection error  causes  the
        command to exit with a non-zero status.
 
-       If there is a command name left after expansion, execution proceeds  as
-       described  below.   Otherwise, the command exits.  If one of the expan-
-       sions contained a command substitution, the exit status of the  command
-       is  the  exit  status  of  the last command substitution performed.  If
+       If  there is a command name left after expansion, execution proceeds as
+       described below.  Otherwise, the command exits.  If one of  the  expan-
+       sions  contained a command substitution, the exit status of the command
+       is the exit status of the  last  command  substitution  performed.   If
        there were no command substitutions, the command exits with a status of
        zero.
 
 C\bCO\bOM\bMM\bMA\bAN\bND\bD E\bEX\bXE\bEC\bCU\bUT\bTI\bIO\bON\bN
-       After  a  command  has been split into words, if it results in a simple
-       command and an optional list of arguments, the  following  actions  are
+       After a command has been split into words, if it results  in  a  simple
+       command  and  an  optional list of arguments, the following actions are
        taken.
 
-       If  the  command name contains no slashes, the shell attempts to locate
-       it.  If there exists a shell function by that name,  that  function  is
-       invoked  as described above in F\bFU\bUN\bNC\bCT\bTI\bIO\bON\bNS\bS.  If the name does not match a
-       function, the shell searches for it in the list of shell builtins.   If
+       If the command name contains no slashes, the shell attempts  to  locate
+       it.   If  there  exists a shell function by that name, that function is
+       invoked as described above in F\bFU\bUN\bNC\bCT\bTI\bIO\bON\bNS\bS.  If the name does not match  a
+       function,  the shell searches for it in the list of shell builtins.  If
        a match is found, that builtin is invoked.
 
-       If  the name is neither a shell function nor a builtin, and contains no
-       slashes, b\bba\bas\bsh\bh searches each element of the P\bPA\bAT\bTH\bH for  a  directory  con-
-       taining  an  executable  file  by that name.  B\bBa\bas\bsh\bh uses a hash table to
-       remember the full pathnames of executable files (see h\bha\bas\bsh\bh  under  S\bSH\bHE\bEL\bLL\bL
-       B\bBU\bUI\bIL\bLT\bTI\bIN\b C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS  below).  A full search of the directories in P\bPA\bAT\bTH\bH is
-       performed only if the command is not found in the hash table.   If  the
-       search  is  unsuccessful, the shell prints an error message and returns
+       If the name is neither a shell function nor a builtin, and contains  no
+       slashes,  b\bba\bas\bsh\bh  searches  each element of the P\bPA\bAT\bTH\bH for a directory con-
+       taining an executable file by that name.  B\bBa\bas\bsh\bh uses  a  hash  table  to
+       remember  the  full pathnames of executable files (see h\bha\bas\bsh\bh under S\bSH\bHE\bEL\bLL\bL
+       B\bBU\bUI\bIL\bLT\bTI\bIN\bC\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below).  A full search of the directories in  P\bPA\bAT\bTH\b is
+       performed  only  if the command is not found in the hash table.  If the
+       search is unsuccessful, the shell prints an error message  and  returns
        an exit status of 127.
 
-       If the search is successful, or if the command  name  contains  one  or
+       If  the  search  is  successful, or if the command name contains one or
        more slashes, the shell executes the named program in a separate execu-
        tion environment.  Argument 0 is set to the name given, and the remain-
        ing arguments to the command are set to the arguments given, if any.
 
-       If  this  execution fails because the file is not in executable format,
-       and the file is not a directory, it is assumed to be a _\bs_\bh_\be_\bl_\bl _\bs_\bc_\br_\bi_\bp_\bt,  a
-       file  containing  shell commands.  A subshell is spawned to execute it.
-       This subshell reinitializes itself, so that the effect is as if  a  new
-       shell  had  been  invoked to handle the script, with the exception that
-       the locations of commands remembered by  the  parent  (see  h\bha\bas\bsh\b below
+       If this execution fails because the file is not in  executable  format,
+       and  the file is not a directory, it is assumed to be a _\bs_\bh_\be_\bl_\bl _\bs_\bc_\br_\bi_\bp_\bt, a
+       file containing shell commands.  A subshell is spawned to  execute  it.
+       This  subshell  reinitializes itself, so that the effect is as if a new
+       shell had been invoked to handle the script, with  the  exception  that
+       the  locations  of  commands  remembered  by the parent (see h\bha\bas\bsh\bh below
        under S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS) are retained by the child.
 
-       If  the program is a file beginning with #\b#!\b!, the remainder of the first
-       line specifies an interpreter for the program.  The shell executes  the
+       If the program is a file beginning with #\b#!\b!, the remainder of the  first
+       line  specifies an interpreter for the program.  The shell executes the
        specified interpreter on operating systems that do not handle this exe-
        cutable format themselves.  The arguments to the interpreter consist of
-       a  single optional argument following the interpreter name on the first
-       line of the program, followed by the name of the program,  followed  by
+       a single optional argument following the interpreter name on the  first
+       line  of  the program, followed by the name of the program, followed by
        the command arguments, if any.
 
 C\bCO\bOM\bMM\bMA\bAN\bND\bD E\bEX\bXE\bEC\bCU\bUT\bTI\bIO\bON\bN E\bEN\bNV\bVI\bIR\bRO\bON\bNM\bME\bEN\bNT\bT
-       The  shell  has an _\be_\bx_\be_\bc_\bu_\bt_\bi_\bo_\bn _\be_\bn_\bv_\bi_\br_\bo_\bn_\bm_\be_\bn_\bt, which consists of the follow-
+       The shell has an _\be_\bx_\be_\bc_\bu_\bt_\bi_\bo_\bn _\be_\bn_\bv_\bi_\br_\bo_\bn_\bm_\be_\bn_\bt, which consists of  the  follow-
        ing:
 
 
-       +\bo      open files inherited by the shell at invocation, as modified  by
+       +\bo      open  files inherited by the shell at invocation, as modified by
               redirections supplied to the e\bex\bxe\bec\bc builtin
 
-       +\bo      the  current  working directory as set by c\bcd\bd, p\bpu\bus\bsh\bhd\bd, or p\bpo\bop\bpd\bd, or
+       +\bo      the current working directory as set by c\bcd\bd, p\bpu\bus\bsh\bhd\bd, or  p\bpo\bop\bpd\bd,  or
               inherited by the shell at invocation
 
-       +\bo      the file creation mode mask as set by u\bum\bma\bas\bsk\bk  or  inherited  from
+       +\bo      the  file  creation  mode mask as set by u\bum\bma\bas\bsk\bk or inherited from
               the shell's parent
 
        +\bo      current traps set by t\btr\bra\bap\bp
@@ -2114,225 +2115,225 @@ C\bCO\bOM\bMM\bMA\bAN\bND\bD E\bEX\bXE\bEC\bCU\bUT\bTI\bIO\bON\bN E\bEN\bNV\bVI\bIR\bRO\bON\bNM\bME\bEN\bN
        +\bo      shell parameters that are set by variable assignment or with s\bse\bet\bt
               or inherited from the shell's parent in the environment
 
-       +\bo      shell functions defined during execution or inherited  from  the
+       +\bo      shell  functions  defined during execution or inherited from the
               shell's parent in the environment
 
-       +\bo      options  enabled  at  invocation (either by default or with com-
+       +\bo      options enabled at invocation (either by default  or  with  com-
               mand-line arguments) or by s\bse\bet\bt
 
        +\bo      options enabled by s\bsh\bho\bop\bpt\bt
 
        +\bo      shell aliases defined with a\bal\bli\bia\bas\bs
 
-       +\bo      various process IDs, including those  of  background  jobs,  the
+       +\bo      various  process  IDs,  including  those of background jobs, the
               value of $\b$$\b$, and the value of $\b$P\bPP\bPI\bID\bD
 
-       When  a  simple command other than a builtin or shell function is to be
-       executed, it is invoked in a separate execution environment  that  con-
-       sists  of the following.  Unless otherwise noted, the values are inher-
+       When a simple command other than a builtin or shell function is  to  be
+       executed,  it  is invoked in a separate execution environment that con-
+       sists of the following.  Unless otherwise noted, the values are  inher-
        ited from the shell.
 
 
-       +\bo      the shell's open files, plus  any  modifications  and  additions
+       +\bo      the  shell's  open  files,  plus any modifications and additions
               specified by redirections to the command
 
        +\bo      the current working directory
 
        +\bo      the file creation mode mask
 
-       +\bo      shell  variables  and  functions  marked  for export, along with
+       +\bo      shell variables and functions  marked  for  export,  along  with
               variables exported for the command, passed in the environment
 
        +\bo      traps caught by the shell are reset to the values inherited from
               the shell's parent, and traps ignored by the shell are ignored
 
-       A  command  invoked  in  this  separate  environment  cannot affect the
+       A command invoked  in  this  separate  environment  cannot  affect  the
        shell's execution environment.
 
-       Command substitution, commands grouped with parentheses, and  asynchro-
+       Command  substitution, commands grouped with parentheses, and asynchro-
        nous commands are invoked in a subshell environment that is a duplicate
-       of the shell environment, except that traps caught  by  the  shell  are
+       of  the  shell  environment,  except that traps caught by the shell are
        reset to the values that the shell inherited from its parent at invoca-
        tion.  Builtin commands that are invoked as part of a pipeline are also
        executed in a subshell environment.  Changes made to the subshell envi-
        ronment cannot affect the shell's execution environment.
 
-       If a command is followed by a &\b& and job  control  is  not  active,  the
-       default  standard  input  for  the command is the empty file _\b/_\bd_\be_\bv_\b/_\bn_\bu_\bl_\bl.
-       Otherwise, the invoked command inherits the  file  descriptors  of  the
+       If  a  command  is  followed  by a &\b& and job control is not active, the
+       default standard input for the command is  the  empty  file  _\b/_\bd_\be_\bv_\b/_\bn_\bu_\bl_\bl.
+       Otherwise,  the  invoked  command  inherits the file descriptors of the
        calling shell as modified by redirections.
 
 E\bEN\bNV\bVI\bIR\bRO\bON\bNM\bME\bEN\bNT\bT
-       When  a  program  is invoked it is given an array of strings called the
+       When a program is invoked it is given an array of  strings  called  the
        _\be_\bn_\bv_\bi_\br_\bo_\bn_\bm_\be_\bn_\bt.   This  is  a  list  of  _\bn_\ba_\bm_\be-_\bv_\ba_\bl_\bu_\be  pairs,  of  the  form
        _\bn_\ba_\bm_\be=_\bv_\ba_\bl_\bu_\be.
 
-       The  shell  provides  several  ways  to manipulate the environment.  On
+       The shell provides several ways  to  manipulate  the  environment.   On
        invocation, the shell scans its own environment and creates a parameter
-       for  each name found, automatically marking it for _\be_\bx_\bp_\bo_\br_\bt to child pro-
-       cesses.  Executed commands inherit the  environment.   The  e\bex\bxp\bpo\bor\brt\b and
-       d\bde\bec\bcl\bla\bar\bre\b -\b-x\bx  commands allow parameters and functions to be added to and
+       for each name found, automatically marking it for _\be_\bx_\bp_\bo_\br_\bt to child  pro-
+       cesses.   Executed  commands  inherit  the environment.  The e\bex\bxp\bpo\bor\brt\bt and
+       d\bde\bec\bcl\bla\bar\bre\b-\b-x\bx commands allow parameters and functions to be added  to  and
        deleted from the environment.  If the value of a parameter in the envi-
-       ronment  is  modified,  the  new value becomes part of the environment,
-       replacing the old.  The environment inherited by any  executed  command
-       consists  of the shell's initial environment, whose values may be modi-
-       fied in the shell, less any pairs removed by the  u\bun\bns\bse\bet\bt  command,  plus
+       ronment is modified, the new value becomes  part  of  the  environment,
+       replacing  the  old.  The environment inherited by any executed command
+       consists of the shell's initial environment, whose values may be  modi-
+       fied  in  the  shell, less any pairs removed by the u\bun\bns\bse\bet\bt command, plus
        any additions via the e\bex\bxp\bpo\bor\brt\bt and d\bde\bec\bcl\bla\bar\bre\be -\b-x\bx commands.
 
-       The  environment  for  any  _\bs_\bi_\bm_\bp_\bl_\be _\bc_\bo_\bm_\bm_\ba_\bn_\bd or function may be augmented
-       temporarily by prefixing it with parameter  assignments,  as  described
+       The environment for any _\bs_\bi_\bm_\bp_\bl_\be _\bc_\bo_\bm_\bm_\ba_\bn_\bd or  function  may  be  augmented
+       temporarily  by  prefixing  it with parameter assignments, as described
        above in P\bPA\bAR\bRA\bAM\bME\bET\bTE\bER\bRS\bS.  These assignment statements affect only the envi-
        ronment seen by that command.
 
-       If the -\b-k\bk option is set (see the s\bse\bet\bt builtin command below),  then  _\ba_\bl_\bl
-       parameter  assignments are placed in the environment for a command, not
+       If  the  -\b-k\bk option is set (see the s\bse\bet\bt builtin command below), then _\ba_\bl_\bl
+       parameter assignments are placed in the environment for a command,  not
        just those that precede the command name.
 
-       When b\bba\bas\bsh\bh invokes an external command, the variable _\b_  is  set  to  the
-       full  file  name of the command and passed to that command in its envi-
+       When  b\bba\bas\bsh\bh  invokes  an  external command, the variable _\b_ is set to the
+       full file name of the command and passed to that command in  its  envi-
        ronment.
 
 E\bEX\bXI\bIT\bT S\bST\bTA\bAT\bTU\bUS\bS
        For the shell's purposes, a command which exits with a zero exit status
-       has  succeeded.   An exit status of zero indicates success.  A non-zero
-       exit status indicates failure.  When a command terminates  on  a  fatal
+       has succeeded.  An exit status of zero indicates success.   A  non-zero
+       exit  status  indicates  failure.  When a command terminates on a fatal
        signal _\bN, b\bba\bas\bsh\bh uses the value of 128+_\bN as the exit status.
 
-       If  a  command  is  not  found, the child process created to execute it
-       returns a status of 127.  If a command is found but is not  executable,
+       If a command is not found, the child  process  created  to  execute  it
+       returns  a status of 127.  If a command is found but is not executable,
        the return status is 126.
 
        If a command fails because of an error during expansion or redirection,
        the exit status is greater than zero.
 
-       Shell builtin commands return a status of 0 (_\bt_\br_\bu_\be) if  successful,  and
-       non-zero  (_\bf_\ba_\bl_\bs_\be)  if an error occurs while they execute.  All builtins
+       Shell  builtin  commands return a status of 0 (_\bt_\br_\bu_\be) if successful, and
+       non-zero (_\bf_\ba_\bl_\bs_\be) if an error occurs while they execute.   All  builtins
        return an exit status of 2 to indicate incorrect usage.
 
-       B\bBa\bas\bsh\bitself returns the exit  status  of  the  last  command  executed,
-       unless  a  syntax  error occurs, in which case it exits with a non-zero
+       B\bBa\bas\bsh\b itself  returns  the  exit  status  of the last command executed,
+       unless a syntax error occurs, in which case it exits  with  a  non-zero
        value.  See also the e\bex\bxi\bit\bt builtin command below.
 
 S\bSI\bIG\bGN\bNA\bAL\bLS\bS
-       When b\bba\bas\bsh\bh is interactive, in the  absence  of  any  traps,  it  ignores
+       When  b\bba\bas\bsh\bh  is  interactive,  in  the  absence of any traps, it ignores
        S\bSI\bIG\bGT\bTE\bER\bRM\bM (so that k\bki\bil\bll\bl 0\b0 does not kill an interactive shell), and S\bSI\bIG\bGI\bIN\bNT\bT
-       is caught and handled (so that the w\bwa\bai\bit\bt builtin is interruptible).   In
-       all  cases,  b\bba\bas\bsh\bh  ignores  S\bSI\bIG\bGQ\bQU\bUI\bIT\bT.  If job control is in effect, b\bba\bas\bsh\bh
+       is  caught and handled (so that the w\bwa\bai\bit\bt builtin is interruptible).  In
+       all cases, b\bba\bas\bsh\bh ignores S\bSI\bIG\bGQ\bQU\bUI\bIT\bT.  If job control  is  in  effect,  b\bba\bas\bsh\bh
        ignores S\bSI\bIG\bGT\bTT\bTI\bIN\bN, S\bSI\bIG\bGT\bTT\bTO\bOU\bU, and S\bSI\bIG\bGT\bTS\bST\bTP\bP.
 
        Non-builtin commands run by b\bba\bas\bsh\bh have signal handlers set to the values
-       inherited  by  the  shell  from its parent.  When job control is not in
-       effect, asynchronous commands ignore S\bSI\bIG\bGI\bIN\bNT\bT and S\bSI\bIG\bGQ\bQU\bUI\bIT\bT in addition  to
-       these  inherited handlers.  Commands run as a result of command substi-
+       inherited by the shell from its parent.  When job  control  is  not  in
+       effect,  asynchronous commands ignore S\bSI\bIG\bGI\bIN\bNT\bT and S\bSI\bIG\bGQ\bQU\bUI\bIT\bT in addition to
+       these inherited handlers.  Commands run as a result of command  substi-
        tution ignore the keyboard-generated job control signals S\bSI\bIG\bGT\bTT\bTI\bIN\bN, S\bSI\bIG\bGT\bT-\b-
        T\bTO\bOU\bU, and S\bSI\bIG\bGT\bTS\bST\bTP\bP.
 
-       The  shell  exits by default upon receipt of a S\bSI\bIG\bGH\bHU\bUP\bP.  Before exiting,
-       an interactive shell  resends  the  S\bSI\bIG\bGH\bHU\bUP\bP  to  all  jobs,  running  or
+       The shell exits by default upon receipt of a S\bSI\bIG\bGH\bHU\bUP\bP.   Before  exiting,
+       an  interactive  shell  resends  the  S\bSI\bIG\bGH\bHU\bUP\bP  to  all  jobs, running or
        stopped.  Stopped jobs are sent S\bSI\bIG\bGC\bCO\bON\bNT\bT to ensure that they receive the
-       S\bSI\bIG\bGH\bHU\bUP\bP.  To prevent the shell from sending the signal to  a  particular
-       job,  it  should be removed from the jobs table with the d\bdi\bis\bso\bow\bwn\bn builtin
-       (see S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below) or  marked  to  not  receive  S\bSI\bIG\bGH\bHU\bUP\bP
+       S\bSI\bIG\bGH\bHU\bUP\bP.   To  prevent the shell from sending the signal to a particular
+       job, it should be removed from the jobs table with the  d\bdi\bis\bso\bow\bwn\b builtin
+       (see  S\bSH\bHE\bEL\bLL\bL  B\bBU\bUI\bIL\bLT\bTI\bIN\bN  C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS  below)  or marked to not receive S\bSI\bIG\bGH\bHU\bUP\bP
        using d\bdi\bis\bso\bow\bwn\bn -\b-h\bh.
 
-       If  the  h\bhu\bup\bpo\bon\bne\bex\bxi\bit\bt  shell  option has been set with s\bsh\bho\bop\bpt\bt, b\bba\bas\bsh\bh sends a
+       If the h\bhu\bup\bpo\bon\bne\bex\bxi\bit\bt shell option has been set with  s\bsh\bho\bop\bpt\bt,  b\bba\bas\bsh\bh  sends  a
        S\bSI\bIG\bGH\bHU\bUP\bP to all jobs when an interactive login shell exits.
 
-       If b\bba\bas\bsh\bh is waiting for a command to complete and receives a signal  for
+       If  b\bba\bas\bsh\bh is waiting for a command to complete and receives a signal for
        which a trap has been set, the trap will not be executed until the com-
-       mand completes.  When b\bba\bas\bsh\bh is waiting for an asynchronous  command  via
-       the  w\bwa\bai\bit\bt  builtin, the reception of a signal for which a trap has been
+       mand  completes.   When b\bba\bas\bsh\bh is waiting for an asynchronous command via
+       the w\bwa\bai\bit\bt builtin, the reception of a signal for which a trap  has  been
        set will cause the w\bwa\bai\bit\bt builtin to return immediately with an exit sta-
        tus greater than 128, immediately after which the trap is executed.
 
 J\bJO\bOB\bB C\bCO\bON\bNT\bTR\bRO\bOL\bL
-       _\bJ_\bo_\b _\bc_\bo_\bn_\bt_\br_\bo_\bl  refers  to  the ability to selectively stop (_\bs_\bu_\bs_\bp_\be_\bn_\bd) the
+       _\bJ_\bo_\b_\bc_\bo_\bn_\bt_\br_\bo_\bl refers to the ability to  selectively  stop  (_\bs_\bu_\bs_\bp_\be_\bn_\bd)  the
        execution of processes and continue (_\br_\be_\bs_\bu_\bm_\be) their execution at a later
-       point.   A  user  typically  employs  this  facility via an interactive
+       point.  A user typically  employs  this  facility  via  an  interactive
        interface supplied jointly by the system's terminal driver and b\bba\bas\bsh\bh.
 
-       The shell associates a _\bj_\bo_\bb with each pipeline.  It  keeps  a  table  of
-       currently  executing  jobs,  which may be listed with the j\bjo\bob\bbs\bs command.
-       When b\bba\bas\bsh\bh starts a job asynchronously (in the _\bb_\ba_\bc_\bk_\bg_\br_\bo_\bu_\bn_\bd), it prints  a
+       The  shell  associates  a  _\bj_\bo_\bb with each pipeline.  It keeps a table of
+       currently executing jobs, which may be listed with  the  j\bjo\bob\bbs\b command.
+       When  b\bba\bas\bsh\bh starts a job asynchronously (in the _\bb_\ba_\bc_\bk_\bg_\br_\bo_\bu_\bn_\bd), it prints a
        line that looks like:
 
               [1] 25647
 
        indicating that this job is job number 1 and that the process ID of the
        last process in the pipeline associated with this job is 25647.  All of
-       the  processes  in a single pipeline are members of the same job.  B\bBa\bas\bsh\bh
+       the processes in a single pipeline are members of the same  job.   B\bBa\bas\bsh\bh
        uses the _\bj_\bo_\bb abstraction as the basis for job control.
 
-       To facilitate the implementation of the user interface to job  control,
+       To  facilitate the implementation of the user interface to job control,
        the operating system maintains the notion of a _\bc_\bu_\br_\br_\be_\bn_\bt _\bt_\be_\br_\bm_\bi_\bn_\ba_\bl _\bp_\br_\bo_\bc_\be_\bs_\bs
        _\bg_\br_\bo_\bu_\bp _\bI_\bD.  Members of this process group (processes whose process group
        ID is equal to the current terminal process group ID) receive keyboard-
-       generated signals such as S\bSI\bIG\bGI\bIN\bNT\bT.  These processes are said  to  be  in
-       the  _\bf_\bo_\br_\be_\bg_\br_\bo_\bu_\bn_\bd.  _\bB_\ba_\bc_\bk_\bg_\br_\bo_\bu_\bn_\bd processes are those whose process group ID
+       generated  signals  such  as S\bSI\bIG\bGI\bIN\bNT\bT.  These processes are said to be in
+       the _\bf_\bo_\br_\be_\bg_\br_\bo_\bu_\bn_\bd.  _\bB_\ba_\bc_\bk_\bg_\br_\bo_\bu_\bn_\bd processes are those whose process group  ID
        differs from the terminal's; such processes are immune to keyboard-gen-
-       erated  signals.  Only foreground processes are allowed to read from or
+       erated signals.  Only foreground processes are allowed to read from  or
        write to the terminal.  Background processes which attempt to read from
        (write to) the terminal are sent a S\bSI\bIG\bGT\bTT\bTI\bIN\bN (\b(S\bSI\bIG\bGT\bTT\bTO\bOU\bU)\b) signal by the ter-
        minal driver, which, unless caught, suspends the process.
 
-       If the operating system on which b\bba\bas\bsh\bh is running supports job  control,
+       If  the operating system on which b\bba\bas\bsh\bh is running supports job control,
        b\bba\bas\bsh\bh contains facilities to use it.  Typing the _\bs_\bu_\bs_\bp_\be_\bn_\bd character (typ-
        ically ^\b^Z\bZ, Control-Z) while a process is running causes that process to
-       be  stopped  and  returns  control to b\bba\bas\bsh\bh.  Typing the _\bd_\be_\bl_\ba_\by_\be_\bd _\bs_\bu_\bs_\bp_\be_\bn_\bd
-       character (typically ^\b^Y\bY, Control-Y) causes the process  to  be  stopped
-       when  it  attempts  to  read input from the terminal, and control to be
-       returned to b\bba\bas\bsh\bh.  The user may then manipulate the state of this  job,
-       using  the  b\bbg\bg command to continue it in the background, the f\bfg\bg command
+       be stopped and returns control to b\bba\bas\bsh\bh.   Typing  the  _\bd_\be_\bl_\ba_\by_\be_\b _\bs_\bu_\bs_\bp_\be_\bn_\bd
+       character  (typically  ^\b^Y\bY,  Control-Y) causes the process to be stopped
+       when it attempts to read input from the terminal,  and  control  to  be
+       returned  to b\bba\bas\bsh\bh.  The user may then manipulate the state of this job,
+       using the b\bbg\bg command to continue it in the background, the  f\bfg\b command
        to continue it in the foreground, or the k\bki\bil\bll\bl command to kill it.  A ^\b^Z\bZ
        takes effect immediately, and has the additional side effect of causing
        pending output and typeahead to be discarded.
 
        There are a number of ways to refer to a job in the shell.  The charac-
        ter %\b% introduces a job name.  Job number _\bn may be referred to as %\b%n\bn.  A
-       job may also be referred to using a prefix of the name  used  to  start
-       it,  or  using a substring that appears in its command line.  For exam-
+       job  may  also  be referred to using a prefix of the name used to start
+       it, or using a substring that appears in its command line.   For  exam-
        ple, %\b%c\bce\be refers to a stopped c\bce\be job.  If a prefix matches more than one
-       job,  b\bba\bas\bsh\bh  reports an error.  Using %\b%?\b?c\bce\be, on the other hand, refers to
+       job, b\bba\bas\bsh\bh reports an error.  Using %\b%?\b?c\bce\be, on the other hand,  refers  to
        any job containing the string c\bce\be in its command line.  If the substring
-       matches  more  than one job, b\bba\bas\bsh\bh reports an error.  The symbols %\b%%\b% and
-       %\b%+\brefer to the shell's notion of the _\bc_\bu_\br_\br_\be_\bn_\bt _\bj_\bo_\bb, which  is  the  last
-       job  stopped  while  it  was  in the foreground or started in the back-
-       ground.  The _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs _\bj_\bo_\bb may be referenced using %\b%-\b-.  In  output  per-
+       matches more than one job, b\bba\bas\bsh\bh reports an error.  The symbols  %\b%%\b and
+       %\b%+\b refer  to  the shell's notion of the _\bc_\bu_\br_\br_\be_\bn_\bt _\bj_\bo_\bb, which is the last
+       job stopped while it was in the foreground  or  started  in  the  back-
+       ground.   The  _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs _\bj_\bo_\bb may be referenced using %\b%-\b-.  In output per-
        taining to jobs (e.g., the output of the j\bjo\bob\bbs\bs command), the current job
-       is always flagged with a +\b+, and the previous job with a -\b-.  A single  %
-       (with  no  accompanying  job  specification) also refers to the current
+       is  always flagged with a +\b+, and the previous job with a -\b-.  A single %
+       (with no accompanying job specification) also  refers  to  the  current
        job.
 
-       Simply naming a job can be used to bring it into the foreground: %\b%1\b is
-       a  synonym  for  `\b``\b`f\bfg\bg %\b%1\b1'\b''\b', bringing job 1 from the background into the
-       foreground.  Similarly, `\b``\b`%\b%1\b1 &\b&'\b''\b'  resumes  job  1  in  the  background,
+       Simply  naming a job can be used to bring it into the foreground: %\b%1\b1 is
+       a synonym for `\b``\b`f\bfg\bg %\b%1\b1'\b''\b', bringing job 1 from the  background  into  the
+       foreground.   Similarly,  `\b``\b`%\b%1\b1  &\b&'\b''\b'  resumes  job  1 in the background,
        equivalent to `\b``\b`b\bbg\bg %\b%1\b1'\b''\b'.
 
-       The  shell  learns immediately whenever a job changes state.  Normally,
+       The shell learns immediately whenever a job changes  state.   Normally,
        b\bba\bas\bsh\bh waits until it is about to print a prompt before reporting changes
-       in  a  job's status so as to not interrupt any other output.  If the -\b-b\bb
+       in a job's status so as to not interrupt any other output.  If  the  -\b-b\bb
        option to the s\bse\bet\bt builtin command is enabled, b\bba\bas\bsh\bh reports such changes
-       immediately.   Any  trap  on  S\bSI\bIG\bGC\bCH\bHL\bLD\bD  is  executed for each child that
+       immediately.  Any trap on S\bSI\bIG\bGC\bCH\bHL\bLD\bD  is  executed  for  each  child  that
        exits.
 
-       If an attempt to exit b\bba\bas\bsh\bh is made while jobs are  stopped,  the  shell
+       If  an  attempt  to exit b\bba\bas\bsh\bh is made while jobs are stopped, the shell
        prints a warning message.  The j\bjo\bob\bbs\bs command may then be used to inspect
        their status.  If a second attempt to exit is made without an interven-
-       ing  command, the shell does not print another warning, and the stopped
+       ing command, the shell does not print another warning, and the  stopped
        jobs are terminated.
 
 P\bPR\bRO\bOM\bMP\bPT\bTI\bIN\bNG\bG
        When executing interactively, b\bba\bas\bsh\bh displays the primary prompt P\bPS\bS1\b1 when
-       it  is  ready  to  read a command, and the secondary prompt P\bPS\bS2\b2 when it
-       needs more input to complete  a  command.   B\bBa\bas\bsh\bh  allows  these  prompt
-       strings  to  be  customized  by inserting a number of backslash-escaped
+       it is ready to read a command, and the secondary  prompt  P\bPS\bS2\b2  when  it
+       needs  more  input  to  complete  a  command.  B\bBa\bas\bsh\bh allows these prompt
+       strings to be customized by inserting  a  number  of  backslash-escaped
        special characters that are decoded as follows:
               \\b\a\ba     an ASCII bell character (07)
-              \\b\d\bd     the date in "Weekday Month Date" format (e.g.,  "Tue  May
+              \\b\d\bd     the  date  in "Weekday Month Date" format (e.g., "Tue May
                      26")
               \\b\D\bD{\b{_\bf_\bo_\br_\bm_\ba_\bt}\b}
-                     the  _\bf_\bo_\br_\bm_\ba_\bt  is  passed  to _\bs_\bt_\br_\bf_\bt_\bi_\bm_\be(3) and the result is
-                     inserted into the prompt string; an empty _\bf_\bo_\br_\bm_\ba_\b results
+                     the _\bf_\bo_\br_\bm_\ba_\bt is passed to _\bs_\bt_\br_\bf_\bt_\bi_\bm_\be(3)  and  the  result  is
+                     inserted  into the prompt string; an empty _\bf_\bo_\br_\bm_\ba_\bt results
                      in a locale-specific time representation.  The braces are
                      required
               \\b\e\be     an ASCII escape character (033)
@@ -2342,7 +2343,7 @@ P\bPR\bRO\bOM\bMP\bPT\bTI\bIN\bNG\bG
               \\b\l\bl     the basename of the shell's terminal device name
               \\b\n\bn     newline
               \\b\r\br     carriage return
-              \\b\s\bs     the name of the shell, the basename of  $\b$0\b0  (the  portion
+              \\b\s\bs     the  name  of  the shell, the basename of $\b$0\b0 (the portion
                      following the final slash)
               \\b\t\bt     the current time in 24-hour HH:MM:SS format
               \\b\T\bT     the current time in 12-hour HH:MM:SS format
@@ -2351,7 +2352,7 @@ P\bPR\bRO\bOM\bMP\bPT\bTI\bIN\bNG\bG
               \\b\u\bu     the username of the current user
               \\b\v\bv     the version of b\bba\bas\bsh\bh (e.g., 2.00)
               \\b\V\bV     the release of b\bba\bas\bsh\bh, version + patch level (e.g., 2.00.0)
-              \\b\w\bw     the current working  directory,  with  $\b$H\bHO\bOM\bME\b abbreviated
+              \\b\w\bw     the  current  working  directory,  with $\b$H\bHO\bOM\bME\bE abbreviated
                      with a tilde
               \\b\W\bW     the basename of the current working directory, with $\b$H\bHO\bOM\bME\bE
                      abbreviated with a tilde
@@ -2360,63 +2361,63 @@ P\bPR\bRO\bOM\bMP\bPT\bTI\bIN\bNG\bG
               \\b\$\b$     if the effective UID is 0, a #\b#, otherwise a $\b$
               \\b\_\bn_\bn_\bn   the character corresponding to the octal number _\bn_\bn_\bn
               \\b\\\b\     a backslash
-              \\b\[\b[     begin a sequence of non-printing characters, which  could
-                     be  used  to  embed  a terminal control sequence into the
+              \\b\[\b[     begin  a sequence of non-printing characters, which could
+                     be used to embed a terminal  control  sequence  into  the
                      prompt
               \\b\]\b]     end a sequence of non-printing characters
 
-       The command number and the history number are  usually  different:  the
-       history  number of a command is its position in the history list, which
-       may include commands  restored  from  the  history  file  (see  H\bHI\bIS\bST\bTO\bOR\bRY\bY
-       below),  while  the  command  number is the position in the sequence of
-       commands executed during the current shell session.  After  the  string
-       is  decoded,  it is expanded via parameter expansion, command substitu-
-       tion, arithmetic expansion, and quote removal, subject to the value  of
-       the  p\bpr\bro\bom\bmp\bpt\btv\bva\bar\brs\bs  shell option (see the description of the s\bsh\bho\bop\bpt\bt command
+       The  command  number  and the history number are usually different: the
+       history number of a command is its position in the history list,  which
+       may  include  commands  restored  from  the  history  file (see H\bHI\bIS\bST\bTO\bOR\bRY\bY
+       below), while the command number is the position  in  the  sequence  of
+       commands  executed  during the current shell session.  After the string
+       is decoded, it is expanded via parameter expansion,  command  substitu-
+       tion,  arithmetic expansion, and quote removal, subject to the value of
+       the p\bpr\bro\bom\bmp\bpt\btv\bva\bar\brs\bs shell option (see the description of the  s\bsh\bho\bop\bpt\b command
        under S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below).
 
 R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE
-       This is the library that handles reading input when using  an  interac-
+       This  is  the library that handles reading input when using an interac-
        tive shell, unless the -\b--\b-n\bno\boe\bed\bdi\bit\bti\bin\bng\bg option is given at shell invocation.
        By default, the line editing commands are similar to those of emacs.  A
-       vi-style  line  editing  interface is also available.  To turn off line
-       editing after the shell is running, use the +\b+o\bo e\bem\bma\bac\bcs\bs or +\b+o\bo  v\bvi\b options
+       vi-style line editing interface is also available.  To  turn  off  line
+       editing  after  the shell is running, use the +\b+o\bo e\bem\bma\bac\bcs\bs or +\b+o\bo v\bvi\bi options
        to the s\bse\bet\bt builtin (see S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below).
 
    R\bRe\bea\bad\bdl\bli\bin\bne\be N\bNo\bot\bta\bat\bti\bio\bon\bn
        In this section, the emacs-style notation is used to denote keystrokes.
-       Control keys are denoted by C-_\bk_\be_\by, e.g., C-n  means  Control-N.   Simi-
-       larly,  _\bm_\be_\bt_\ba  keys are denoted by M-_\bk_\be_\by, so M-x means Meta-X.  (On key-
-       boards without a _\bm_\be_\bt_\ba key, M-_\bx means ESC _\bx, i.e., press the Escape  key
+       Control  keys  are  denoted by C-_\bk_\be_\by, e.g., C-n means Control-N.  Simi-
+       larly, _\bm_\be_\bt_\ba keys are denoted by M-_\bk_\be_\by, so M-x means Meta-X.   (On  key-
+       boards  without a _\bm_\be_\bt_\ba key, M-_\bx means ESC _\bx, i.e., press the Escape key
        then the _\bx key.  This makes ESC the _\bm_\be_\bt_\ba _\bp_\br_\be_\bf_\bi_\bx.  The combination M-C-_\bx
-       means ESC-Control-_\bx, or press the Escape key then hold the Control  key
+       means  ESC-Control-_\bx, or press the Escape key then hold the Control key
        while pressing the _\bx key.)
 
        Readline commands may be given numeric _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs, which normally act as
-       a repeat count.  Sometimes, however, it is the  sign  of  the  argument
-       that  is  significant.   Passing  a negative argument to a command that
-       acts in the forward direction (e.g., k\bki\bil\bll\bl-\b-l\bli\bin\bne\be) causes that command  to
-       act  in  a  backward direction.  Commands whose behavior with arguments
+       a  repeat  count.   Sometimes,  however, it is the sign of the argument
+       that is significant.  Passing a negative argument  to  a  command  that
+       acts  in the forward direction (e.g., k\bki\bil\bll\bl-\b-l\bli\bin\bne\be) causes that command to
+       act in a backward direction.  Commands whose  behavior  with  arguments
        deviates from this are noted below.
 
-       When a command is described as _\bk_\bi_\bl_\bl_\bi_\bn_\bg text, the text deleted is  saved
+       When  a command is described as _\bk_\bi_\bl_\bl_\bi_\bn_\bg text, the text deleted is saved
        for possible future retrieval (_\by_\ba_\bn_\bk_\bi_\bn_\bg).  The killed text is saved in a
        _\bk_\bi_\bl_\bl _\br_\bi_\bn_\bg.  Consecutive kills cause the text to be accumulated into one
        unit, which can be yanked all at once.  Commands which do not kill text
        separate the chunks of text on the kill ring.
 
    R\bRe\bea\bad\bdl\bli\bin\bne\be I\bIn\bni\bit\bti\bia\bal\bli\biz\bza\bat\bti\bio\bon\bn
-       Readline is customized by putting commands in  an  initialization  file
-       (the  _\bi_\bn_\bp_\bu_\bt_\br_\bc  file).  The name of this file is taken from the value of
-       the I\bIN\bNP\bPU\bUT\bTR\bRC\bC variable.  If  that  variable  is  unset,  the  default  is
-       _\b~_\b/_\b._\bi_\bn_\bp_\bu_\bt_\br_\bc.   When a program which uses the readline library starts up,
+       Readline  is  customized  by putting commands in an initialization file
+       (the _\bi_\bn_\bp_\bu_\bt_\br_\bc file).  The name of this file is taken from the  value  of
+       the  I\bIN\bNP\bPU\bUT\bTR\bRC\bC  variable.   If  that  variable  is  unset, the default is
+       _\b~_\b/_\b._\bi_\bn_\bp_\bu_\bt_\br_\bc.  When a program which uses the readline library starts  up,
        the initialization file is read, and the key bindings and variables are
-       set.   There  are  only  a few basic constructs allowed in the readline
-       initialization file.  Blank lines are ignored.  Lines beginning with  a
-       #\b are  comments.   Lines  beginning with a $\b$ indicate conditional con-
+       set.  There are only a few basic constructs  allowed  in  the  readline
+       initialization  file.  Blank lines are ignored.  Lines beginning with a
+       #\bare comments.  Lines beginning with a  $\b$  indicate  conditional  con-
        structs.  Other lines denote key bindings and variable settings.
 
-       The default key-bindings may be changed with an  _\bi_\bn_\bp_\bu_\bt_\br_\bc  file.   Other
+       The  default  key-bindings  may be changed with an _\bi_\bn_\bp_\bu_\bt_\br_\bc file.  Other
        programs that use this library may add their own commands and bindings.
 
        For example, placing
@@ -2424,19 +2425,19 @@ R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE
               M-Control-u: universal-argument
        or
               C-Meta-u: universal-argument
-       into the _\bi_\bn_\bp_\bu_\bt_\br_\bc would make M-C-u execute the readline command  _\bu_\bn_\bi_\bv_\be_\br_\b-
+       into  the _\bi_\bn_\bp_\bu_\bt_\br_\bc would make M-C-u execute the readline command _\bu_\bn_\bi_\bv_\be_\br_\b-
        _\bs_\ba_\bl_\b-_\ba_\br_\bg_\bu_\bm_\be_\bn_\bt.
 
-       The  following  symbolic  character  names are recognized: _\bR_\bU_\bB_\bO_\bU_\bT, _\bD_\bE_\bL,
+       The following symbolic character names  are  recognized:  _\bR_\bU_\bB_\bO_\bU_\bT,  _\bD_\bE_\bL,
        _\bE_\bS_\bC, _\bL_\bF_\bD, _\bN_\bE_\bW_\bL_\bI_\bN_\bE, _\bR_\bE_\bT, _\bR_\bE_\bT_\bU_\bR_\bN, _\bS_\bP_\bC, _\bS_\bP_\bA_\bC_\bE, and _\bT_\bA_\bB.
 
-       In addition to command names, readline allows keys to  be  bound  to  a
+       In  addition  to  command  names, readline allows keys to be bound to a
        string that is inserted when the key is pressed (a _\bm_\ba_\bc_\br_\bo).
 
    R\bRe\bea\bad\bdl\bli\bin\bne\be K\bKe\bey\by B\bBi\bin\bnd\bdi\bin\bng\bgs\bs
-       The  syntax for controlling key bindings in the _\bi_\bn_\bp_\bu_\bt_\br_\bc file is simple.
-       All that is required is the name of the command or the text of a  macro
-       and  a key sequence to which it should be bound. The name may be speci-
+       The syntax for controlling key bindings in the _\bi_\bn_\bp_\bu_\bt_\br_\bc file is  simple.
+       All  that is required is the name of the command or the text of a macro
+       and a key sequence to which it should be bound. The name may be  speci-
        fied in one of two ways: as a symbolic key name, possibly with _\bM_\be_\bt_\ba_\b- or
        _\bC_\bo_\bn_\bt_\br_\bo_\bl_\b- prefixes, or as a key sequence.
 
@@ -2447,15 +2448,15 @@ R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE
               Meta-Rubout: backward-kill-word
               Control-o: "> output"
 
-       In the above example, _\bC_\b-_\bu is bound to the function  u\bun\bni\biv\bve\ber\brs\bsa\bal\bl-\b-a\bar\brg\bgu\bum\bme\ben\bnt\bt,
-       _\bM_\b-_\bD_\bE_\b is bound to the function b\bba\bac\bck\bkw\bwa\bar\brd\bd-\b-k\bki\bil\bll\bl-\b-w\bwo\bor\brd\bd, and _\bC_\b-_\bo is bound to
-       run the macro expressed on the right hand side (that is, to insert  the
+       In  the above example, _\bC_\b-_\bu is bound to the function u\bun\bni\biv\bve\ber\brs\bsa\bal\bl-\b-a\bar\brg\bgu\bum\bme\ben\bnt\bt,
+       _\bM_\b-_\bD_\bE_\bis bound to the function b\bba\bac\bck\bkw\bwa\bar\brd\bd-\b-k\bki\bil\bll\bl-\b-w\bwo\bor\brd\bd, and _\bC_\b-_\bo is bound  to
+       run  the macro expressed on the right hand side (that is, to insert the
        text ``> output'' into the line).
 
-       In  the  second  form,  "\b"k\bke\bey\bys\bse\beq\bq"\b":_\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\b-_\bn_\ba_\bm_\be or _\bm_\ba_\bc_\br_\bo, k\bke\bey\bys\bse\beq\bq differs
-       from k\bke\bey\byn\bna\bam\bme\be above in that strings denoting an entire key sequence  may
-       be  specified  by  placing the sequence within double quotes.  Some GNU
-       Emacs style key escapes can be used, as in the following  example,  but
+       In the second form, "\b"k\bke\bey\bys\bse\beq\bq"\b":_\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\b-_\bn_\ba_\bm_\be  or  _\bm_\ba_\bc_\br_\bo,  k\bke\bey\bys\bse\beq\b differs
+       from  k\bke\bey\byn\bna\bam\bme\be above in that strings denoting an entire key sequence may
+       be specified by placing the sequence within double  quotes.   Some  GNU
+       Emacs  style  key escapes can be used, as in the following example, but
        the symbolic character names are not recognized.
 
               "\C-u": universal-argument
@@ -2463,7 +2464,7 @@ R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE
               "\e[11~": "Function Key 1"
 
        In this example, _\bC_\b-_\bu is again bound to the function u\bun\bni\biv\bve\ber\brs\bsa\bal\bl-\b-a\bar\brg\bgu\bum\bme\ben\bnt\bt.
-       _\bC_\b-_\b_\bC_\b-_\br is bound to the function r\bre\be-\b-r\bre\bea\bad\bd-\b-i\bin\bni\bit\bt-\b-f\bfi\bil\ble\be, and _\bE_\bS_\bC _\b[ _\b1 _\b1 _\b is
+       _\bC_\b-_\b _\bC_\b-_\br is bound to the function r\bre\be-\b-r\bre\bea\bad\bd-\b-i\bin\bni\bit\bt-\b-f\bfi\bil\ble\be, and _\bE_\bS_\bC _\b[ _\b1 _\b1 _\b~ is
        bound to insert the text ``Function Key 1''.
 
        The full set of GNU Emacs style escape sequences is
@@ -2474,7 +2475,7 @@ R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE
               \\b\"\b"     literal "
               \\b\'\b'     literal '
 
-       In  addition  to  the GNU Emacs style escape sequences, a second set of
+       In addition to the GNU Emacs style escape sequences, a  second  set  of
        backslash escapes is available:
               \\b\a\ba     alert (bell)
               \\b\b\bb     backspace
@@ -2484,20 +2485,20 @@ R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE
               \\b\r\br     carriage return
               \\b\t\bt     horizontal tab
               \\b\v\bv     vertical tab
-              \\b\_\bn_\bn_\bn   the eight-bit character whose value is  the  octal  value
+              \\b\_\bn_\bn_\bn   the  eight-bit  character  whose value is the octal value
                      _\bn_\bn_\bn (one to three digits)
-              \\b\x\bx_\bH_\bH   the  eight-bit  character  whose value is the hexadecimal
+              \\b\x\bx_\bH_\bH   the eight-bit character whose value  is  the  hexadecimal
                      value _\bH_\bH (one or two hex digits)
 
        When entering the text of a macro, single or double quotes must be used
        to indicate a macro definition.  Unquoted text is assumed to be a func-
-       tion name.  In the macro body, the backslash  escapes  described  above
-       are  expanded.   Backslash  will quote any other character in the macro
+       tion  name.   In  the macro body, the backslash escapes described above
+       are expanded.  Backslash will quote any other character  in  the  macro
        text, including " and '.
 
-       B\bBa\bas\bsh\ballows the current readline key bindings to be displayed or  modi-
-       fied  with  the b\bbi\bin\bnd\bd builtin command.  The editing mode may be switched
-       during interactive use by using the -\b-o\bo option to the s\bse\bet\bt  builtin  com-
+       B\bBa\bas\bsh\b allows the current readline key bindings to be displayed or modi-
+       fied with the b\bbi\bin\bnd\bd builtin command.  The editing mode may  be  switched
+       during  interactive  use by using the -\b-o\bo option to the s\bse\bet\bt builtin com-
        mand (see S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below).
 
    R\bRe\bea\bad\bdl\bli\bin\bne\be V\bVa\bar\bri\bia\bab\bbl\ble\bes\bs
@@ -2507,8 +2508,11 @@ R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE
 
               s\bse\bet\bt _\bv_\ba_\br_\bi_\ba_\bb_\bl_\be_\b-_\bn_\ba_\bm_\be _\bv_\ba_\bl_\bu_\be
 
-       Except  where  noted, readline variables can take the values O\bOn\bn or O\bOf\bff\bf.
-       The variables and their default values are:
+       Except where noted, readline variables can take the values  O\bOn\bn  or  O\bOf\bff\bf
+       (without  regard  to  case).   Unrecognized variable names are ignored.
+       When a variable value is read, empty or null values, "on"  (case-insen-
+       sitive), and "1" are equivalent to O\bOn\bn.  All other values are equivalent
+       to O\bOf\bff\bf.  The variables and their default values are:
 
        b\bbe\bel\bll\bl-\b-s\bst\bty\byl\ble\be (\b(a\bau\bud\bdi\bib\bbl\ble\be)\b)
               Controls what happens when readline wants to ring  the  terminal
@@ -2554,7 +2558,7 @@ R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE
        e\bex\bxp\bpa\ban\bnd\bd-\b-t\bti\bil\bld\bde\be (\b(O\bOf\bff\bf)\b)
               If  set  to  o\bon\bn,  tilde  expansion  is  performed  when readline
               attempts word completion.
-       h\bhi\bis\bst\bto\bor\bry\by-\b-p\bpr\bre\bes\bse\ber\brv\bve\be-\b-p\bpo\boi\bin\bnt\bt
+       h\bhi\bis\bst\bto\bor\bry\by-\b-p\bpr\bre\bes\bse\ber\brv\bve\be-\b-p\bpo\boi\bin\bnt\bt (\b(O\bOf\bff\bf)\b)
               If set to o\bon\bn, the history code attempts to place  point  at  the
               same  location on each history line retrieved with p\bpr\bre\bev\bvi\bio\bou\bus\bs-\b-h\bhi\bis\bs-\b-
               t\bto\bor\bry\by or n\bne\bex\bxt\bt-\b-h\bhi\bis\bst\bto\bor\bry\by.
@@ -3395,8 +3399,8 @@ S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
               had been started with &\b&.  If _\bj_\bo_\bb_\bs_\bp_\be_\bc is not present, the shell's
               notion of the _\bc_\bu_\br_\br_\be_\bn_\bt _\bj_\bo_\bb is used.  b\bbg\bg _\bj_\bo_\bb_\bs_\bp_\be_\bc returns 0  unless
               run  when  job control is disabled or, when run with job control
-              enabled, if the last _\bj_\bo_\bb_\bs_\bp_\be_\bc was not found or was started  with-
-              out job control.
+              enabled, any specified _\bj_\bo_\bb_\bs_\bp_\be_\bc was  not  found  or  was  started
+              without job control.
 
        b\bbi\bin\bnd\bd [-\b-m\bm _\bk_\be_\by_\bm_\ba_\bp] [-\b-l\blp\bps\bsv\bvP\bPS\bSV\bV]
        b\bbi\bin\bnd\bd [-\b-m\bm _\bk_\be_\by_\bm_\ba_\bp] [-\b-q\bq _\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn] [-\b-u\bu _\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn] [-\b-r\br _\bk_\be_\by_\bs_\be_\bq]
@@ -4869,4 +4873,4 @@ B\bBU\bUG\bGS\bS
 
 
 
-GNU Bash-3.1-devel                2005 Jul 15                          BASH(1)
+GNU Bash-3.1-beta1                2005 Aug 27                          BASH(1)
index 1635663..5004b56 100644 (file)
@@ -2,7 +2,7 @@
 <TITLE>BASH(1) Manual Page</TITLE>
 </HEAD>
 <BODY><TABLE WIDTH=100%>
-<TH ALIGN=LEFT>BASH(1)<TH ALIGN=CENTER>2005 Mar 15<TH ALIGN=RIGHT>BASH(1)
+<TH ALIGN=LEFT>BASH(1)<TH ALIGN=CENTER>2005 Aug 27<TH ALIGN=RIGHT>BASH(1)
 </TABLE>
 <BR><A HREF="#index">Index</A>
 <HR>
@@ -58,6 +58,9 @@ shells (<B>ksh</B> and <B>csh</B>).
 
 is intended to be a conformant implementation of the IEEE
 POSIX Shell and Tools specification (IEEE Working Group 1003.2).
+<B>Bash</B>
+
+can be configured to be POSIX-conformant by default.
 <A NAME="lbAF">&nbsp;</A>
 <H2>OPTIONS</H2>
 
@@ -2561,6 +2564,11 @@ number of seconds to wait for input after issuing the primary prompt.
 
 terminates after waiting for that number of seconds if input does
 not arrive.
+<DT><B>TMPDIR</B>
+
+<DD>
+If set, <B>Bash</B> uses its value as the name of a directory in which
+<B>Bash</B> creates temporary files for the shell's use.
 <DT><B>auto_resume</B>
 
 <DD>
@@ -2707,6 +2715,8 @@ The
 
 builtin is used to destroy arrays.  <B>unset</B> <I>name</I>[<I>subscript</I>]
 destroys the array element at index <I>subscript</I>.
+Care must be taken to avoid unwanted side effects caused by filename
+generation.
 <B>unset</B> <I>name</I>, where <I>name</I> is an array, or
 <B>unset</B> <I>name</I>[<I>subscript</I>], where
 <I>subscript</I> is <B>*</B> or <B>@</B>, removes the entire array.
@@ -5943,8 +5953,13 @@ Except where noted, readline variables can take the values
 <B>On</B>
 
 or
-<B>Off</B>.
+<B>Off</B>
 
+(without regard to case).
+Unrecognized variable names are ignored.
+When a variable value is read, empty or null values, &quot;on&quot; (case-insensitive),
+and &quot;1&quot; are equivalent to <B>On</B>.  All other values are equivalent to
+<B>Off</B>.
 The variables and their default values are:
 <P>
 
@@ -6030,7 +6045,7 @@ arrow keys.
 <DD>
 If set to <B>on</B>, tilde expansion is performed when readline
 attempts word completion.
-<DT><B>history-preserve-point</B>
+<DT><B>history-preserve-point (Off)</B>
 
 <DD>
 If set to <B>on</B>, the history code attempts to place point at the
@@ -7664,6 +7679,8 @@ accepts
 <B>--</B>
 
 to signify the end of the options.
+For example, the <B>:</B>, <B>true</B>, <B>false</B>, and <B>test</B> builtins
+do not accept options.
 <P>
 
 <DL COMPACT>
@@ -7751,8 +7768,8 @@ If <I>jobspec</I> is not present, the shell's notion of the
 <I>jobspec</I>
 
 returns 0 unless run when job control is disabled or, when run with
-job control enabled, if the last <I>jobspec</I> was not found or was
-started without job control.
+job control enabled, any specified <I>jobspec</I> was not found
+or was started without job control.
 <DT><B>bind</B> [<B>-m</B> <I>keymap</I>] [<B>-lpsvPSV</B>]<DD>
 
 <DT><B>bind</B> [<B>-m</B> <I>keymap</I>] [<B>-q</B> <I>function</I>] [<B>-u</B> <I>function</I>] [<B>-r</B> <I>keyseq</I>]<DD>
@@ -8505,10 +8522,7 @@ dynamically determine whether or not <B>echo</B> expands these
 escape characters by default.
 <B>echo</B>
 
-does not interpret
-<B>--</B>
-
-to mean the end of options.
+does not interpret <B>--</B> to mean the end of options.
 <B>echo</B>
 
 interprets the following escape sequences:
@@ -9576,7 +9590,7 @@ Cause <B>read</B> to time out and return failure if a complete line of
 input is not read within <I>timeout</I> seconds.
 This option has no effect if <B>read</B> is not reading input from the
 terminal or a pipe.
-<DT><B>-u </B><I>fdFP</I>
+<DT><B>-u </B><I>fd</I>
 
 <DD>
 Read input from file descriptor <I>fd</I>.
@@ -10548,6 +10562,8 @@ Expressions are composed of the primaries described above under
 <FONT SIZE=-1><B>CONDITIONAL EXPRESSIONS</B>.
 
 </FONT>
+<B>test</B> does not accept any options, nor does it accept and ignore
+an argument of <B>--</B> as signifying the end of options.
 <P>
 
 
@@ -11487,6 +11503,6 @@ Array variables may not (yet) be exported.
 </DL>
 <HR>
 This document was created by man2html from bash.1.<BR>
-Time: 15 March 2005 17:27:07 EST
+Time: 03 October 2005 15:07:47 EDT
 </BODY>
 </HTML>
index 80990cc..3e4f9fb 100644 (file)
@@ -1,21 +1,23 @@
 %!PS-Adobe-3.0
-%%Creator: groff version 1.18.1
-%%CreationDate: Tue Mar 15 17:26:55 2005
+%%Creator: groff version 1.19.1
+%%CreationDate: Mon Oct  3 15:05:27 2005
 %%DocumentNeededResources: font Times-Roman
 %%+ font Times-Bold
 %%+ font Times-Italic
 %%+ font Courier
 %%+ font Symbol
-%%+ font Palatino-Roman
-%%+ font Palatino-Italic
-%%+ font Palatino-Bold
-%%DocumentSuppliedResources: procset grops 1.18 1
+%%DocumentSuppliedResources: procset grops 1.19 1
 %%Pages: 65
 %%PageOrder: Ascend
+%%DocumentMedia: Default 595 842 0 () ()
 %%Orientation: Portrait
 %%EndComments
+%%BeginDefaults
+%%PageMedia: Default
+%%EndDefaults
 %%BeginProlog
-%%BeginResource: procset grops 1.18 1
+%%BeginResource: procset grops 1.19 1
+%!PS-Adobe-3.0 Resource-ProcSet
 /setpacking where{
 pop
 currentpacking
@@ -116,16 +118,22 @@ TM setmatrix
 /Fr{
 setrgbcolor fill
 }bind def
+/setcmykcolor where{
+pop
 /Fk{
 setcmykcolor fill
 }bind def
+}if
 /Fg{
 setgray fill
 }bind def
 /FL/fill load def
 /LW/setlinewidth load def
 /Cr/setrgbcolor load def
+/setcmykcolor where{
+pop
 /Ck/setcmykcolor load def
+}if
 /Cg/setgray load def
 /RE{
 findfont
@@ -168,6 +176,7 @@ newpath
 /CNT countdictstack def
 userdict begin
 /showpage{}def
+/setpagedevice{}def
 }bind def
 /PEND{
 clear
@@ -180,14 +189,16 @@ pop
 setpacking
 }if
 %%EndResource
+%%EndProlog
+%%BeginSetup
+%%BeginFeature: *PageSize Default
+<< /PageSize [ 595 842 ] /ImagingBBox null >> setpagedevice
+%%EndFeature
 %%IncludeResource: font Times-Roman
 %%IncludeResource: font Times-Bold
 %%IncludeResource: font Times-Italic
 %%IncludeResource: font Courier
 %%IncludeResource: font Symbol
-%%IncludeResource: font Palatino-Roman
-%%IncludeResource: font Palatino-Italic
-%%IncludeResource: font Palatino-Bold
 grops begin/DEFS 1 dict def DEFS begin/u{.001 mul}bind def end/RES 72
 def/PL 841.89 def/LS false def/ENC0[/asciicircum/asciitilde/Scaron
 /Zcaron/scaron/zcaron/Ydieresis/trademark/quotesingle/Euro/.notdef
@@ -216,11 +227,9 @@ def/PL 841.89 def/LS false def/ENC0[/asciicircum/asciitilde/Scaron
 /egrave/eacute/ecircumflex/edieresis/igrave/iacute/icircumflex/idieresis
 /eth/ntilde/ograve/oacute/ocircumflex/otilde/odieresis/divide/oslash
 /ugrave/uacute/ucircumflex/udieresis/yacute/thorn/ydieresis]def
-/Palatino-Bold@0 ENC0/Palatino-Bold RE/Palatino-Italic@0 ENC0
-/Palatino-Italic RE/Palatino-Roman@0 ENC0/Palatino-Roman RE/Courier@0
-ENC0/Courier RE/Times-Italic@0 ENC0/Times-Italic RE/Times-Bold@0 ENC0
-/Times-Bold RE/Times-Roman@0 ENC0/Times-Roman RE
-%%EndProlog
+/Courier@0 ENC0/Courier RE/Times-Italic@0 ENC0/Times-Italic RE
+/Times-Bold@0 ENC0/Times-Bold RE/Times-Roman@0 ENC0/Times-Roman RE
+%%EndSetup
 %%Page: 1 1
 %%BeginPageSetup
 BP
@@ -245,16 +254,18 @@ Q/F2 10/Times-Bold@0 SF(bash)108 124.8 Q F0([options] [\214le])2.5 E F1
 (shells \()2.5 E F2(ksh)A F0(and)2.5 E F2(csh)2.5 E F0(\).)A F2(Bash)108
 211.2 Q F0 1.54(is intended to be a conformant implementation of the IE\
 EE POSIX Shell and T)4.04 F 1.54(ools speci\214cation)-.8 F(\(IEEE W)108
-223.2 Q(orking Group 1003.2\).)-.8 E F1(OPTIONS)72 240 Q F0 .52(In addi\
-tion to the single-character shell options documented in the descriptio\
-n of the)108 252 R F2(set)3.02 E F0 -.2(bu)3.02 G .52(iltin command,).2
-F F2(bash)108 264 Q F0(interprets the follo)2.5 E
-(wing options when it is in)-.25 E -.2(vo)-.4 G -.1(ke).2 G(d:).1 E F2
-<ad63>108 280.8 Q F3(string)4.166 E F0 .796(If the)12.354 F F2<ad63>
-3.296 E F0 .796(option is present, then commands are read from)3.296 F
-F3(string)3.296 E F0 5.796(.I).22 G 3.297(ft)-5.796 G .797(here are ar)
--3.297 F .797(guments after)-.18 F(the)158 292.8 Q F3(string)2.5 E F0
-2.5(,t).22 G(he)-2.5 E 2.5(ya)-.15 G
+223.2 Q(orking Group 1003.2\).)-.8 E F2(Bash)5 E F0
+(can be con\214gured to be POSIX-conformant by def)2.5 E(ault.)-.1 E F1
+(OPTIONS)72 240 Q F0 .52(In addition to the single-character shell opti\
+ons documented in the description of the)108 252 R F2(set)3.02 E F0 -.2
+(bu)3.02 G .52(iltin command,).2 F F2(bash)108 264 Q F0
+(interprets the follo)2.5 E(wing options when it is in)-.25 E -.2(vo)-.4
+G -.1(ke).2 G(d:).1 E F2<ad63>108 280.8 Q F3(string)4.166 E F0 .796
+(If the)12.354 F F2<ad63>3.296 E F0 .796
+(option is present, then commands are read from)3.296 F F3(string)3.296
+E F0 5.796(.I).22 G 3.297(ft)-5.796 G .797(here are ar)-3.297 F .797
+(guments after)-.18 F(the)158 292.8 Q F3(string)2.5 E F0 2.5(,t).22 G
+(he)-2.5 E 2.5(ya)-.15 G
 (re assigned to the positional parameters, starting with)-2.5 E F2($0)
 2.5 E F0(.)A F2<ad69>108 304.8 Q F0(If the)41.52 E F2<ad69>2.5 E F0
 (option is present, the shell is)2.5 E F3(inter)2.5 E(active)-.15 E F0
@@ -326,8 +337,7 @@ E F2(po)2.5 E F0(\(portable object\) \214le format.)2.5 E F2
 144 686.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 F2(\255\255login)108 703.2 Q F0
 (Equi)144 715.2 Q -.25(va)-.25 G(lent to).25 E F2<ad6c>2.5 E F0(.)A
-(GNU Bash-3.1-de)72 768 Q -.15(ve)-.25 G 123.59(l2).15 G(005 Mar 15)
--123.59 E(1)203.17 E 0 Cg EP
+(GNU Bash-3.1-beta1)72 768 Q(2005 Aug 27)122.91 E(1)202.89 E 0 Cg EP
 %%Page: 2 3
 %%BeginPageSetup
 BP
@@ -449,8 +459,7 @@ F(ariable)-.25 E F3 -.27(BA)108 679.2 S(SH_ENV).27 E F0 1.01(in the en)
 108 727.2 S 2.5(tt).2 G(he v)-2.5 E(alue of the)-.25 E F3 -.666(PA)2.5 G
 (TH)-.189 E F0 -.25(va)2.25 G
 (riable is not used to search for the \214le name.).25 E
-(GNU Bash-3.1-de)72 768 Q -.15(ve)-.25 G 123.59(l2).15 G(005 Mar 15)
--123.59 E(2)203.17 E 0 Cg EP
+(GNU Bash-3.1-beta1)72 768 Q(2005 Aug 27)122.91 E(2)202.89 E 0 Cg EP
 %%Page: 3 4
 %%BeginPageSetup
 BP
@@ -575,8 +584,7 @@ F1(Pipelines)87 679.2 Q F0(A)108 691.2 Q F2(pipeline)2.919 E F0 .419
 F F1(|)2.92 E F0 5.42(.T)C .42(he format for a pipeline)-5.42 F(is:)108
 703.2 Q([)144 720 Q F1(time)A F0([)2.5 E F1<ad70>A F0(]] [ ! ])A F2
 (command)2.5 E F0([)2.5 E F1(|)2.5 E F2(command2)2.5 E F0(... ])2.5 E
-(GNU Bash-3.1-de)72 768 Q -.15(ve)-.25 G 123.59(l2).15 G(005 Mar 15)
--123.59 E(3)203.17 E 0 Cg EP
+(GNU Bash-3.1-beta1)72 768 Q(2005 Aug 27)122.91 E(3)202.89 E 0 Cg EP
 %%Page: 4 5
 %%BeginPageSetup
 BP
@@ -696,8 +704,8 @@ A({)108 573.6 Q F1(list)2.5 E F0 2.5(;})C F1(list)3.89 E F0 .402
 F(SIONS)144 727.2 Q F5(.)A F0 -.8(Wo)5.633 G 1.133
 (rd splitting and pathname e).8 F 1.133
 (xpansion are not performed on the w)-.15 F 1.133(ords between the)-.1 F
-F3([[)3.632 E F0(GNU Bash-3.1-de)72 768 Q -.15(ve)-.25 G 123.59(l2).15 G
-(005 Mar 15)-123.59 E(4)203.17 E 0 Cg EP
+F3([[)3.632 E F0(GNU Bash-3.1-beta1)72 768 Q(2005 Aug 27)122.91 E(4)
+202.89 E 0 Cg EP
 %%Page: 5 6
 %%BeginPageSetup
 BP
@@ -834,8 +842,7 @@ F 1.538(played w)144 715.2 R 1.538(ords, then the v)-.1 F 1.538(alue of)
 F 1.537(ords and)-.1 F .065(prompt are displayed ag)144 727.2 R 2.565
 (ain. If)-.05 F .065(EOF is read, the command completes.)2.565 F(An)
 5.066 E 2.566(yo)-.15 G .066(ther v)-2.566 F .066(alue read causes)-.25
-F(GNU Bash-3.1-de)72 768 Q -.15(ve)-.25 G 123.59(l2).15 G(005 Mar 15)
--123.59 E(5)203.17 E 0 Cg EP
+F(GNU Bash-3.1-beta1)72 768 Q(2005 Aug 27)122.91 E(5)202.89 E 0 Cg EP
 %%Page: 6 7
 %%BeginPageSetup
 BP
@@ -971,9 +978,8 @@ F0 1.337(option is on by def)3.837 F 1.337(ault in)-.1 F(interacti)108
 (YE)-.315 G(XP)-3.594 E(ANSION)-.666 E F0(belo)3.595 E 1.345(w\), the)
 -.25 F F1(history e)108 715.2 Q(xpansion)-.2 E F0(character)2.5 E 2.5
 (,u)-.4 G(sually)-2.5 E F2(!)2.5 E F0 2.5(,m)C(ust be quoted to pre)-2.5
-E -.15(ve)-.25 G(nt history e).15 E(xpansion.)-.15 E(GNU Bash-3.1-de)72
-768 Q -.15(ve)-.25 G 123.59(l2).15 G(005 Mar 15)-123.59 E(6)203.17 E 0
-Cg EP
+E -.15(ve)-.25 G(nt history e).15 E(xpansion.)-.15 E(GNU Bash-3.1-beta1)
+72 768 Q(2005 Aug 27)122.91 E(6)202.89 E 0 Cg EP
 %%Page: 7 8
 %%BeginPageSetup
 BP
@@ -1094,8 +1100,7 @@ F0(belo)3.401 E 3.401(w\). W)-.25 F .901
 (alias)3.648 E F0(,)A F2(declar)3.648 E(e)-.18 E F0(,)A F2(typeset)3.648
 E F0(,)A F2(export)3.648 E F0(,)A F2 -.18(re)108 729.6 S(adonly).18 E F0
 2.5(,a)C(nd)-2.5 E F2(local)2.5 E F0 -.2(bu)2.5 G(iltin commands.).2 E
-(GNU Bash-3.1-de)72 768 Q -.15(ve)-.25 G 123.59(l2).15 G(005 Mar 15)
--123.59 E(7)203.17 E 0 Cg EP
+(GNU Bash-3.1-beta1)72 768 Q(2005 Aug 27)122.91 E(7)202.89 E 0 Cg EP
 %%Page: 8 9
 %%BeginPageSetup
 BP
@@ -1227,8 +1232,7 @@ F2 -.3(BA)108 672 S(SH_ARGC).3 E F0 1.039(An array v)144 684 R 1.039
 (cuted, the number of).15 F 1.525(parameters passed is pushed onto)144
 720 R F2 -.3(BA)4.024 G(SH_ARGC).3 E F0 6.524(.T)C 1.524(he shell sets)
 -6.524 F F2 -.3(BA)4.024 G(SH_ARGC).3 E F0 1.524(only when in)4.024 F
-(GNU Bash-3.1-de)72 768 Q -.15(ve)-.25 G 123.59(l2).15 G(005 Mar 15)
--123.59 E(8)203.17 E 0 Cg EP
+(GNU Bash-3.1-beta1)72 768 Q(2005 Aug 27)122.91 E(8)202.89 E 0 Cg EP
 %%Page: 9 10
 %%BeginPageSetup
 BP
@@ -1328,9 +1332,8 @@ F .667(If the)5.667 F .535
 (ilable only in shell functions and e).25 F 2.006(xternal commands)-.15
 F(in)144 721.2 Q -.2(vo)-.4 G -.1(ke).2 G 2.5(db).1 G 2.5(yt)-2.5 G
 (he programmable completion f)-2.5 E(acilities \(see)-.1 E F1(Pr)2.5 E
-(ogrammable Completion)-.18 E F0(belo)2.5 E(w\).)-.25 E(GNU Bash-3.1-de)
-72 768 Q -.15(ve)-.25 G 123.59(l2).15 G(005 Mar 15)-123.59 E(9)203.17 E
-0 Cg EP
+(ogrammable Completion)-.18 E F0(belo)2.5 E(w\).)-.25 E
+(GNU Bash-3.1-beta1)72 768 Q(2005 Aug 27)122.91 E(9)202.89 E 0 Cg EP
 %%Page: 10 11
 %%BeginPageSetup
 BP
@@ -1422,9 +1425,8 @@ F1(cd)2.5 E F0(command.)2.5 E F1(OPT)108 681.6 Q(ARG)-.9 E F0 1.627
 (The v)144 693.6 R 1.627(alue of the last option ar)-.25 F 1.627
 (gument processed by the)-.18 F F1(getopts)4.127 E F0 -.2(bu)4.127 G
 1.626(iltin command \(see).2 F F2(SHELL)4.126 E -.09(BU)144 705.6 S(IL)
-.09 E(TIN COMMANDS)-.828 E F0(belo)2.25 E(w\).)-.25 E(GNU Bash-3.1-de)72
-768 Q -.15(ve)-.25 G 123.59(l2).15 G(005 Mar 15)-123.59 E(10)198.17 E 0
-Cg EP
+.09 E(TIN COMMANDS)-.828 E F0(belo)2.25 E(w\).)-.25 E
+(GNU Bash-3.1-beta1)72 768 Q(2005 Aug 27)122.91 E(10)197.89 E 0 Cg EP
 %%Page: 11 12
 %%BeginPageSetup
 BP
@@ -1518,9 +1520,8 @@ en printing selection lists.).2 F
 (reads the possible completions generated by a shell function)3.348 F
 (in)144 705.6 Q -.2(vo)-.4 G -.1(ke).2 G 2.5(db).1 G 2.5(yt)-2.5 G
 (he programmable completion f)-2.5 E(acility \(see)-.1 E F1(Pr)2.5 E
-(ogrammable Completion)-.18 E F0(belo)2.5 E(w\).)-.25 E(GNU Bash-3.1-de)
-72 768 Q -.15(ve)-.25 G 123.59(l2).15 G(005 Mar 15)-123.59 E(11)198.17 E
-0 Cg EP
+(ogrammable Completion)-.18 E F0(belo)2.5 E(w\).)-.25 E
+(GNU Bash-3.1-beta1)72 768 Q(2005 Aug 27)122.91 E(11)197.89 E 0 Cg EP
 %%Page: 12 13
 %%BeginPageSetup
 BP
@@ -1639,8 +1640,7 @@ R F1(history)3.173 E F0 -.2(bu)3.172 G 3.172(iltin. If).2 F .672(this v)
 (adds the contents of the ne)3.215 F 3.215<778c>-.25 G .715(le to the e)
 -3.215 F .715(xisting list.)-.15 F(If)5.716 E F3(HOSTFILE)3.216 E F0
 .716(is set, b)2.966 F .716(ut has no v)-.2 F(alue,)-.25 E
-(GNU Bash-3.1-de)72 768 Q -.15(ve)-.25 G 123.59(l2).15 G(005 Mar 15)
--123.59 E(12)198.17 E 0 Cg EP
+(GNU Bash-3.1-beta1)72 768 Q(2005 Aug 27)122.91 E(12)197.89 E 0 Cg EP
 %%Page: 13 14
 %%BeginPageSetup
 BP
@@ -1746,8 +1746,8 @@ F F3 .359(SHELL B)144 636 R(UIL)-.09 E .359(TIN COMMANDS)-.828 F F0
 -.1 F 26.329(administrator who installs)144 708 R F1(bash)28.829 E F0
 31.329(.A)C 26.328(common v)-2.501 F 26.328(alue is)-.25 F/F4 10
 /Courier@0 SF(/usr/gnu/bin:/usr/local/bin:/usr/ucb:/bin:/usr/bin)144 720
-Q F0(.)A(GNU Bash-3.1-de)72 768 Q -.15(ve)-.25 G 123.59(l2).15 G
-(005 Mar 15)-123.59 E(13)198.17 E 0 Cg EP
+Q F0(.)A(GNU Bash-3.1-beta1)72 768 Q(2005 Aug 27)122.91 E(13)197.89 E 0
+Cg EP
 %%Page: 14 15
 %%BeginPageSetup
 BP
@@ -1842,987 +1842,994 @@ G(iltin.).2 E(The)144 577.2 Q F1(select)2.542 E F0 .042
 S .546(it for input after issuing the primary prompt.).1 F F1(Bash)5.546
 E F0 .546(terminates after w)3.046 F .546(aiting for that number of)-.1
 F(seconds if input does not arri)144 613.2 Q -.15(ve)-.25 G(.).15 E F1
-(auto_r)108 630 Q(esume)-.18 E F0 .531(This v)144 642 R .531
-(ariable controls ho)-.25 F 3.031(wt)-.25 G .531
-(he shell interacts with the user and job control.)-3.031 F .53
-(If this v)5.53 F .53(ariable is set,)-.25 F .538(single w)144 654 R
-.538(ord simple commands without redirections are treated as candidates\
- for resumption of an)-.1 F -.15(ex)144 666 S .367(isting stopped job)
-.15 F 5.367(.T)-.4 G .366(here is no ambiguity allo)-5.367 F .366
-(wed; if there is more than one job be)-.25 F .366(ginning with)-.15 F
-1.124(the string typed, the job most recently accessed is selected.)144
-678 R(The)6.125 E F2(name)3.985 E F0 1.125(of a stopped job, in this)
-3.805 F(conte)144 690 Q 1.133(xt, is the command line used to start it.)
--.15 F 1.133(If set to the v)6.133 F(alue)-.25 E F2 -.2(ex)3.633 G(act)
-.2 E F0 3.632(,t).68 G 1.132(he string supplied must)-3.632 F .624
-(match the name of a stopped job e)144 702 R .624(xactly; if set to)-.15
-F F2(substring)3.125 E F0 3.125(,t).22 G .625
-(he string supplied needs to match a)-3.125 F .885
-(substring of the name of a stopped job)144 714 R 5.884(.T)-.4 G(he)
--5.884 E F2(substring)3.724 E F0 -.25(va)3.604 G .884(lue pro).25 F .884
-(vides functionality analogous to)-.15 F(the)144 726 Q F1(%?)3.333 E F0
-.833(job identi\214er \(see)5.833 F F4 .834(JOB CONTR)3.334 F(OL)-.27 E
-F0(belo)3.084 E 3.334(w\). If)-.25 F .834(set to an)3.334 F 3.334(yo)
--.15 G .834(ther v)-3.334 F .834(alue, the supplied string)-.25 F
-(GNU Bash-3.1-de)72 768 Q -.15(ve)-.25 G 123.59(l2).15 G(005 Mar 15)
--123.59 E(14)198.17 E 0 Cg EP
+(TMPDIR)108 630 Q F0 .274(If set,)144 642 R F1(Bash)2.774 E F0 .274
+(uses its v)2.774 F .274(alue as the name of a directory in which)-.25 F
+F1(Bash)2.773 E F0 .273(creates temporary \214les for the)2.773 F
+(shell')144 654 Q 2.5(su)-.55 G(se.)-2.5 E F1(auto_r)108 670.8 Q(esume)
+-.18 E F0 .53(This v)144 682.8 R .53(ariable controls ho)-.25 F 3.03(wt)
+-.25 G .531(he shell interacts with the user and job control.)-3.03 F
+.531(If this v)5.531 F .531(ariable is set,)-.25 F .539(single w)144
+694.8 R .538(ord simple commands without redirections are treated as ca\
+ndidates for resumption of an)-.1 F -.15(ex)144 706.8 S .366
+(isting stopped job).15 F 5.366(.T)-.4 G .366(here is no ambiguity allo)
+-5.366 F .366(wed; if there is more than one job be)-.25 F .367
+(ginning with)-.15 F 1.125
+(the string typed, the job most recently accessed is selected.)144 718.8
+R(The)6.125 E F2(name)3.985 E F0 1.124(of a stopped job, in this)3.805 F
+(conte)144 730.8 Q 1.132(xt, is the command line used to start it.)-.15
+F 1.133(If set to the v)6.133 F(alue)-.25 E F2 -.2(ex)3.633 G(act).2 E
+F0 3.633(,t).68 G 1.133(he string supplied must)-3.633 F
+(GNU Bash-3.1-beta1)72 768 Q(2005 Aug 27)122.91 E(14)197.89 E 0 Cg EP
 %%Page: 15 16
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E .316(must be a pre\214x of a stopped job')144 84 R 2.816(sn)-.55
-G .316(ame; this pro)-2.816 F .315(vides functionality analogous to the)
--.15 F/F1 10/Times-Bold@0 SF(%)2.815 E/F2 10/Times-Italic@0 SF(string)A
-F0(job)2.815 E(identi\214er)144 96 Q(.)-.55 E F1(histchars)108 112.8 Q
-F0 2.069(The tw)144 124.8 R 4.57(oo)-.1 G 4.57(rt)-4.57 G 2.07
-(hree characters which control history e)-4.57 F 2.07(xpansion and tok)
--.15 F 2.07(enization \(see)-.1 F/F3 9/Times-Bold@0 SF(HIST)4.57 E(OR)
--.162 E(Y)-.315 E(EXP)144 136.8 Q(ANSION)-.666 E F0(belo)3.466 E 3.716
-(w\). The)-.25 F 1.216(\214rst character is the)3.716 F F2 1.215
-(history e)3.715 F(xpansion)-.2 E F0(character)3.715 E 3.715(,t)-.4 G
-1.215(he character which)-3.715 F .798(signals the start of a history e)
-144 148.8 R .798(xpansion, normally `)-.15 F F1(!)A F0 3.298('. The)B
-.798(second character is the)3.298 F F2(quic)3.298 E 3.298(ks)-.2 G
-(ubstitu-)-3.298 E(tion)144 160.8 Q F0(character)2.74 E 2.74(,w)-.4 G
-.239(hich is used as shorthand for re-running the pre)-2.74 F .239
-(vious command entered, substitut-)-.25 F .575
-(ing one string for another in the command.)144 172.8 R .575(The def)
-5.575 F .575(ault is `)-.1 F F1(^)A F0 3.075('. The)B .576
-(optional third character is the)3.076 F .223(character which indicates\
+-.35 E .625(match the name of a stopped job e)144 84 R .624
+(xactly; if set to)-.15 F/F1 10/Times-Italic@0 SF(substring)3.124 E F0
+3.124(,t).22 G .624(he string supplied needs to match a)-3.124 F .884
+(substring of the name of a stopped job)144 96 R 5.884(.T)-.4 G(he)
+-5.884 E F1(substring)3.724 E F0 -.25(va)3.604 G .885(lue pro).25 F .885
+(vides functionality analogous to)-.15 F(the)144 108 Q/F2 10
+/Times-Bold@0 SF(%?)3.334 E F0 .834(job identi\214er \(see)5.834 F/F3 9
+/Times-Bold@0 SF .834(JOB CONTR)3.334 F(OL)-.27 E F0(belo)3.084 E 3.334
+(w\). If)-.25 F .834(set to an)3.334 F 3.334(yo)-.15 G .834(ther v)
+-3.334 F .833(alue, the supplied string)-.25 F .315
+(must be a pre\214x of a stopped job')144 120 R 2.816(sn)-.55 G .316
+(ame; this pro)-2.816 F .316(vides functionality analogous to the)-.15 F
+F2(%)2.816 E F1(string)A F0(job)2.816 E(identi\214er)144 132 Q(.)-.55 E
+F2(histchars)108 148.8 Q F0 2.07(The tw)144 160.8 R 4.57(oo)-.1 G 4.57
+(rt)-4.57 G 2.07(hree characters which control history e)-4.57 F 2.07
+(xpansion and tok)-.15 F 2.07(enization \(see)-.1 F F3(HIST)4.569 E(OR)
+-.162 E(Y)-.315 E(EXP)144 172.8 Q(ANSION)-.666 E F0(belo)3.465 E 3.715
+(w\). The)-.25 F 1.215(\214rst character is the)3.715 F F1 1.216
+(history e)3.715 F(xpansion)-.2 E F0(character)3.716 E 3.716(,t)-.4 G
+1.216(he character which)-3.716 F .798(signals the start of a history e)
+144 184.8 R .798(xpansion, normally `)-.15 F F2(!)A F0 3.298('. The)B
+.798(second character is the)3.298 F F1(quic)3.298 E 3.298(ks)-.2 G
+(ubstitu-)-3.298 E(tion)144 196.8 Q F0(character)2.739 E 2.739(,w)-.4 G
+.239(hich is used as shorthand for re-running the pre)-2.739 F .24
+(vious command entered, substitut-)-.25 F .576
+(ing one string for another in the command.)144 208.8 R .575(The def)
+5.575 F .575(ault is `)-.1 F F2(^)A F0 3.075('. The)B .575
+(optional third character is the)3.075 F .223(character which indicates\
  that the remainder of the line is a comment when found as the \214rst \
-char)144 184.8 R(-)-.2 E 1.293(acter of a w)144 196.8 R 1.293
-(ord, normally `)-.1 F F1(#)A F0 3.793('. The)B 1.294
-(history comment character causes history substitution to be)3.794 F .38
-(skipped for the remaining w)144 208.8 R .38(ords on the line.)-.1 F
-.379(It does not necessarily cause the shell parser to treat)5.379 F
-(the rest of the line as a comment.)144 220.8 Q F1(Arrays)87 237.6 Q
-(Bash)108 249.6 Q F0(pro)2.958 E .458(vides one-dimensional array v)-.15
+char)144 220.8 R(-)-.2 E 1.294(acter of a w)144 232.8 R 1.294
+(ord, normally `)-.1 F F2(#)A F0 3.794('. The)B 1.293
+(history comment character causes history substitution to be)3.794 F
+.379(skipped for the remaining w)144 244.8 R .379(ords on the line.)-.1
+F .38(It does not necessarily cause the shell parser to treat)5.379 F
+(the rest of the line as a comment.)144 256.8 Q F2(Arrays)87 273.6 Q
+(Bash)108 285.6 Q F0(pro)2.958 E .458(vides one-dimensional array v)-.15
 F 2.958(ariables. An)-.25 F 2.958(yv)-.15 G .458
-(ariable may be used as an array; the)-3.208 F F1(declar)2.958 E(e)-.18
-E F0 -.2(bu)2.958 G(iltin).2 E .961(will e)108 261.6 R .961
-(xplicitly declare an array)-.15 F 5.961(.T)-.65 G .961
-(here is no maximum limit on the size of an array)-5.961 F 3.46(,n)-.65
-G .96(or an)-3.46 F 3.46(yr)-.15 G(equirement)-3.46 E
-(that members be inde)108 273.6 Q -.15(xe)-.15 G 2.5(do).15 G 2.5(ra)
+(ariable may be used as an array; the)-3.208 F F2(declar)2.958 E(e)-.18
+E F0 -.2(bu)2.958 G(iltin).2 E .96(will e)108 297.6 R .96
+(xplicitly declare an array)-.15 F 5.96(.T)-.65 G .961
+(here is no maximum limit on the size of an array)-5.96 F 3.461(,n)-.65
+G .961(or an)-3.461 F 3.461(yr)-.15 G(equirement)-3.461 E
+(that members be inde)108 309.6 Q -.15(xe)-.15 G 2.5(do).15 G 2.5(ra)
 -2.5 G(ssigned contiguously)-2.5 E 5(.A)-.65 G(rrays are inde)-5 E -.15
 (xe)-.15 G 2.5(du).15 G(sing inte)-2.5 E(gers and are zero-based.)-.15 E
-1.301(An array is created automatically if an)108 290.4 R 3.801(yv)-.15
-G 1.302(ariable is assigned to using the syntax)-4.051 F F2(name)3.802 E
-F0([)A F2(subscript)A F0(]=)A F2(value)A F0(.)A(The)108 302.4 Q F2
-(subscript)3.182 E F0 .342(is treated as an arithmetic e)3.522 F .342
-(xpression that must e)-.15 F -.25(va)-.25 G .341
-(luate to a number greater than or equal to).25 F 4.076(zero. T)108
-314.4 R 4.076(oe)-.8 G 1.577(xplicitly declare an array)-4.226 F 4.077
-(,u)-.65 G(se)-4.077 E F1(declar)4.077 E 4.077<65ad>-.18 G(a)-4.077 E F2
-(name)4.077 E F0(\(see)4.077 E F3 1.577(SHELL B)4.077 F(UIL)-.09 E 1.577
-(TIN COMMANDS)-.828 F F0(belo)3.827 E(w\).)-.25 E F1(declar)108 326.4 Q
-3.376<65ad>-.18 G(a)-3.376 E F2(name)3.376 E F1([)A F2(subscript)A F1(])
-A F0 .876(is also accepted; the)3.376 F F2(subscript)3.375 E F0 .875
-(is ignored.)3.375 F(Attrib)5.875 E .875(utes may be speci\214ed for an)
--.2 F(array v)108 338.4 Q(ariable using the)-.25 E F1(declar)2.5 E(e)
--.18 E F0(and)2.5 E F1 -.18(re)2.5 G(adonly).18 E F0 -.2(bu)2.5 G 2.5
+1.302(An array is created automatically if an)108 326.4 R 3.801(yv)-.15
+G 1.301(ariable is assigned to using the syntax)-4.051 F F1(name)3.801 E
+F0([)A F1(subscript)A F0(]=)A F1(value)A F0(.)A(The)108 338.4 Q F1
+(subscript)3.181 E F0 .341(is treated as an arithmetic e)3.521 F .342
+(xpression that must e)-.15 F -.25(va)-.25 G .342
+(luate to a number greater than or equal to).25 F 4.077(zero. T)108
+350.4 R 4.077(oe)-.8 G 1.577(xplicitly declare an array)-4.227 F 4.077
+(,u)-.65 G(se)-4.077 E F2(declar)4.077 E 4.077<65ad>-.18 G(a)-4.077 E F1
+(name)4.077 E F0(\(see)4.077 E F3 1.577(SHELL B)4.077 F(UIL)-.09 E 1.576
+(TIN COMMANDS)-.828 F F0(belo)3.826 E(w\).)-.25 E F2(declar)108 362.4 Q
+3.375<65ad>-.18 G(a)-3.375 E F1(name)3.375 E F2([)A F1(subscript)A F2(])
+A F0 .875(is also accepted; the)3.375 F F1(subscript)3.375 E F0 .875
+(is ignored.)3.375 F(Attrib)5.875 E .876(utes may be speci\214ed for an)
+-.2 F(array v)108 374.4 Q(ariable using the)-.25 E F2(declar)2.5 E(e)
+-.18 E F0(and)2.5 E F2 -.18(re)2.5 G(adonly).18 E F0 -.2(bu)2.5 G 2.5
 (iltins. Each).2 F(attrib)2.5 E(ute applies to all members of an array)
 -.2 E(.)-.65 E 1.647
-(Arrays are assigned to using compound assignments of the form)108 355.2
-R F2(name)4.147 E F0(=)A F1(\()A F0 -.25(va)C(lue).25 E F2(1)A F0 1.647
-(... v)4.147 F(alue)-.25 E F2(n)A F1(\))A F0 4.148(,w)C 1.648(here each)
--4.148 F F2(value)108 367.2 Q F0 .65(is of the form [)3.15 F F2
-(subscript)A F0(]=)A F2(string)A F0 5.65(.O)C(nly)-5.65 E F2(string)3.15
+(Arrays are assigned to using compound assignments of the form)108 391.2
+R F1(name)4.147 E F0(=)A F2(\()A F0 -.25(va)C(lue).25 E F1(1)A F0 1.647
+(... v)4.147 F(alue)-.25 E F1(n)A F2(\))A F0 4.147(,w)C 1.647(here each)
+-4.147 F F1(value)108 403.2 Q F0 .65(is of the form [)3.15 F F1
+(subscript)A F0(]=)A F1(string)A F0 5.65(.O)C(nly)-5.65 E F1(string)3.15
 E F0 .65(is required.)3.15 F .65(If the optional brack)5.65 F .65
-(ets and subscript are)-.1 F .276(supplied, that inde)108 379.2 R 2.776
-(xi)-.15 G 2.776(sa)-2.776 G .276(ssigned to; otherwise the inde)-2.776
-F 2.777(xo)-.15 G 2.777(ft)-2.777 G .277
-(he element assigned is the last inde)-2.777 F 2.777(xa)-.15 G .277
-(ssigned to)-2.777 F 1.394(by the statement plus one.)108 391.2 R(Inde)
-6.394 E 1.394(xing starts at zero.)-.15 F 1.393
-(This syntax is also accepted by the)6.394 F F1(declar)3.893 E(e)-.18 E
-F0 -.2(bu)3.893 G(iltin.).2 E(Indi)108 403.2 Q
-(vidual array elements may be assigned to using the)-.25 E F2(name)2.5 E
-F0([)A F2(subscript)A F0(]=)A F2(value)A F0(syntax introduced abo)2.5 E
--.15(ve)-.15 G(.).15 E(An)108 420 Q 3.575(ye)-.15 G 1.075
-(lement of an array may be referenced using ${)-3.575 F F2(name)A F0([)A
-F2(subscript)A F0 3.575(]}. The)B 1.076(braces are required to a)3.576 F
--.2(vo)-.2 G(id).2 E 1.542(con\215icts with pathname e)108 432 R 4.041
-(xpansion. If)-.15 F F2(subscript)4.041 E F0(is)4.041 E F1(@)4.041 E F0
-(or)4.041 E F1(*)4.041 E F0 4.041(,t)C 1.541(he w)-4.041 F 1.541(ord e)
--.1 F 1.541(xpands to all members of)-.15 F F2(name)4.041 E F0(.)A 1.056
-(These subscripts dif)108 444 R 1.056(fer only when the w)-.25 F 1.057
-(ord appears within double quotes.)-.1 F 1.057(If the w)6.057 F 1.057
-(ord is double-quoted,)-.1 F(${)108 456 Q F2(name)A F0 .521([*]} e)B
-.521(xpands to a single w)-.15 F .521(ord with the v)-.1 F .52
+(ets and subscript are)-.1 F .277(supplied, that inde)108 415.2 R 2.777
+(xi)-.15 G 2.777(sa)-2.777 G .277(ssigned to; otherwise the inde)-2.777
+F 2.777(xo)-.15 G 2.777(ft)-2.777 G .276
+(he element assigned is the last inde)-2.777 F 2.776(xa)-.15 G .276
+(ssigned to)-2.776 F 1.393(by the statement plus one.)108 427.2 R(Inde)
+6.393 E 1.393(xing starts at zero.)-.15 F 1.394
+(This syntax is also accepted by the)6.394 F F2(declar)3.894 E(e)-.18 E
+F0 -.2(bu)3.894 G(iltin.).2 E(Indi)108 439.2 Q
+(vidual array elements may be assigned to using the)-.25 E F1(name)2.5 E
+F0([)A F1(subscript)A F0(]=)A F1(value)A F0(syntax introduced abo)2.5 E
+-.15(ve)-.15 G(.).15 E(An)108 456 Q 3.576(ye)-.15 G 1.076
+(lement of an array may be referenced using ${)-3.576 F F1(name)A F0([)A
+F1(subscript)A F0 3.575(]}. The)B 1.075(braces are required to a)3.575 F
+-.2(vo)-.2 G(id).2 E 1.541(con\215icts with pathname e)108 468 R 4.041
+(xpansion. If)-.15 F F1(subscript)4.041 E F0(is)4.041 E F2(@)4.041 E F0
+(or)4.041 E F2(*)4.041 E F0 4.041(,t)C 1.541(he w)-4.041 F 1.541(ord e)
+-.1 F 1.541(xpands to all members of)-.15 F F1(name)4.042 E F0(.)A 1.057
+(These subscripts dif)108 480 R 1.057(fer only when the w)-.25 F 1.057
+(ord appears within double quotes.)-.1 F 1.056(If the w)6.056 F 1.056
+(ord is double-quoted,)-.1 F(${)108 492 Q F1(name)A F0 .52([*]} e)B .52
+(xpands to a single w)-.15 F .52(ord with the v)-.1 F .521
 (alue of each array member separated by the \214rst character)-.25 F
-1.374(of the)108 468 R F3(IFS)3.874 E F0 1.374(special v)3.624 F 1.375
-(ariable, and ${)-.25 F F2(name)A F0 1.375([@]} e)B 1.375
-(xpands each element of)-.15 F F2(name)3.875 E F0 1.375(to a separate w)
-3.875 F 3.875(ord. When)-.1 F 2.028(there are no array members, ${)108
-480 R F2(name)A F0 2.028([@]} e)B 2.028(xpands to nothing.)-.15 F 2.027
-(If the double-quoted e)7.028 F 2.027(xpansion occurs)-.15 F .758
-(within a w)108 492 R .759(ord, the e)-.1 F .759
+1.375(of the)108 504 R F3(IFS)3.875 E F0 1.375(special v)3.625 F 1.375
+(ariable, and ${)-.25 F F1(name)A F0 1.375([@]} e)B 1.375
+(xpands each element of)-.15 F F1(name)3.875 E F0 1.374(to a separate w)
+3.875 F 3.874(ord. When)-.1 F 2.027(there are no array members, ${)108
+516 R F1(name)A F0 2.028([@]} e)B 2.028(xpands to nothing.)-.15 F 2.028
+(If the double-quoted e)7.028 F 2.028(xpansion occurs)-.15 F .759
+(within a w)108 528 R .759(ord, the e)-.1 F .759
 (xpansion of the \214rst parameter is joined with the be)-.15 F .759
-(ginning part of the original w)-.15 F(ord,)-.1 E .516(and the e)108 504
+(ginning part of the original w)-.15 F(ord,)-.1 E .515(and the e)108 540
 R .516(xpansion of the last parameter is joined with the last part of t\
-he original w)-.15 F 3.015(ord. This)-.1 F .515(is analogous)3.015 F
-.227(to the e)108 516 R .228(xpansion of the special parameters)-.15 F
-F1(*)2.728 E F0(and)2.728 E F1(@)2.728 E F0(\(see)2.728 E F1 .228
-(Special P)2.728 F(arameters)-.1 E F0(abo)2.728 E -.15(ve)-.15 G 2.728
-(\). ${#).15 F F2(name)A F0([)A F2(subscript)A F0(]})A -.15(ex)108 528 S
-.886(pands to the length of ${).15 F F2(name)A F0([)A F2(subscript)A F0
-3.386(]}. If)B F2(subscript)3.386 E F0(is)3.386 E F1(*)3.386 E F0(or)
-3.386 E F1(@)3.386 E F0 3.386(,t)C .886(he e)-3.386 F .886
-(xpansion is the number of ele-)-.15 F .733(ments in the array)108 540 R
-5.733(.R)-.65 G .733(eferencing an array v)-5.733 F .733
-(ariable without a subscript is equi)-.25 F -.25(va)-.25 G .734
-(lent to referencing element).25 F(zero.)108 552 Q(The)108 568.8 Q F1
-(unset)2.767 E F0 -.2(bu)2.767 G .267(iltin is used to destro).2 F 2.767
-(ya)-.1 G(rrays.)-2.767 E F1(unset)5.267 E F2(name)2.767 E F0([)A F2
+he original w)-.15 F 3.016(ord. This)-.1 F .516(is analogous)3.016 F
+.228(to the e)108 552 R .228(xpansion of the special parameters)-.15 F
+F2(*)2.728 E F0(and)2.728 E F2(@)2.728 E F0(\(see)2.728 E F2 .228
+(Special P)2.728 F(arameters)-.1 E F0(abo)2.727 E -.15(ve)-.15 G 2.727
+(\). ${#).15 F F1(name)A F0([)A F1(subscript)A F0(]})A -.15(ex)108 564 S
+.886(pands to the length of ${).15 F F1(name)A F0([)A F1(subscript)A F0
+3.386(]}. If)B F1(subscript)3.386 E F0(is)3.386 E F2(*)3.386 E F0(or)
+3.386 E F2(@)3.386 E F0 3.386(,t)C .886(he e)-3.386 F .886
+(xpansion is the number of ele-)-.15 F .734(ments in the array)108 576 R
+5.734(.R)-.65 G .733(eferencing an array v)-5.734 F .733
+(ariable without a subscript is equi)-.25 F -.25(va)-.25 G .733
+(lent to referencing element).25 F(zero.)108 588 Q(The)108 604.8 Q F2
+(unset)2.766 E F0 -.2(bu)2.766 G .267(iltin is used to destro).2 F 2.767
+(ya)-.1 G(rrays.)-2.767 E F2(unset)5.267 E F1(name)2.767 E F0([)A F1
 (subscript)A F0 2.767(]d)C(estro)-2.767 E .267
-(ys the array element at inde)-.1 F(x)-.15 E F2(sub-)2.766 E(script)108
-580.8 Q F0(.)A F1(unset)5.3 E F2(name)2.8 E F0 2.8(,w)C(here)-2.8 E F2
-(name)2.8 E F0 .3(is an array)2.8 F 2.801(,o)-.65 G(r)-2.801 E F1(unset)
-2.801 E F2(name)2.801 E F0([)A F2(subscript)A F0 .301(], where)B F2
-(subscript)2.801 E F0(is)2.801 E F1(*)2.801 E F0(or)2.801 E F1(@)2.801 E
-F0 2.801(,r)C(emo)-2.801 E -.15(ve)-.15 G(s).15 E(the entire array)108
-592.8 Q(.)-.65 E(The)108 609.6 Q F1(declar)3.671 E(e)-.18 E F0(,)A F1
-(local)3.671 E F0 3.671(,a)C(nd)-3.671 E F1 -.18(re)3.671 G(adonly).18 E
-F0 -.2(bu)3.671 G 1.171(iltins each accept a).2 F F1<ad61>3.671 E F0
-1.17(option to specify an array)3.671 F 6.17(.T)-.65 G(he)-6.17 E F1
--.18(re)3.67 G(ad).18 E F0 -.2(bu)3.67 G(iltin).2 E .44(accepts a)108
-621.6 R F1<ad61>2.941 E F0 .441(option to assign a list of w)2.941 F
-.441(ords read from the standard input to an array)-.1 F 5.441(.T)-.65 G
-(he)-5.441 E F1(set)2.941 E F0(and)2.941 E F1(declar)2.941 E(e)-.18 E F0
--.2(bu)108 633.6 S(iltins display array v).2 E(alues in a w)-.25 E
+(ys the array element at inde)-.1 F(x)-.15 E F1(sub-)2.767 E(script)108
+616.8 Q F0 6.38(.C)C 1.38(are must be tak)-6.38 F 1.38(en to a)-.1 F -.2
+(vo)-.2 G 1.38(id unw).2 F 1.38(anted side ef)-.1 F 1.38
+(fects caused by \214lename generation.)-.25 F F2(unset)6.38 E F1(name)
+3.88 E F0(,)A(where)108 628.8 Q F1(name)2.5 E F0(is an array)2.5 E 2.5
+(,o)-.65 G(r)-2.5 E F2(unset)2.5 E F1(name)2.5 E F0([)A F1(subscript)A
+F0(], where)A F1(subscript)2.5 E F0(is)2.5 E F2(*)2.5 E F0(or)2.5 E F2
+(@)2.5 E F0 2.5(,r)C(emo)-2.5 E -.15(ve)-.15 G 2.5(st).15 G
+(he entire array)-2.5 E(.)-.65 E(The)108 645.6 Q F2(declar)3.67 E(e)-.18
+E F0(,)A F2(local)3.67 E F0 3.67(,a)C(nd)-3.67 E F2 -.18(re)3.67 G
+(adonly).18 E F0 -.2(bu)3.67 G 1.17(iltins each accept a).2 F F2<ad61>
+3.671 E F0 1.171(option to specify an array)3.671 F 6.171(.T)-.65 G(he)
+-6.171 E F2 -.18(re)3.671 G(ad).18 E F0 -.2(bu)3.671 G(iltin).2 E .441
+(accepts a)108 657.6 R F2<ad61>2.941 E F0 .441
+(option to assign a list of w)2.941 F .441
+(ords read from the standard input to an array)-.1 F 5.441(.T)-.65 G(he)
+-5.441 E F2(set)2.941 E F0(and)2.941 E F2(declar)2.94 E(e)-.18 E F0 -.2
+(bu)108 669.6 S(iltins display array v).2 E(alues in a w)-.25 E
 (ay that allo)-.1 E(ws them to be reused as assignments.)-.25 E/F4 10.95
-/Times-Bold@0 SF(EXP)72 650.4 Q(ANSION)-.81 E F0 .76(Expansion is perfo\
-rmed on the command line after it has been split into w)108 662.4 R 3.26
+/Times-Bold@0 SF(EXP)72 686.4 Q(ANSION)-.81 E F0 .76(Expansion is perfo\
+rmed on the command line after it has been split into w)108 698.4 R 3.26
 (ords. There)-.1 F .76(are se)3.26 F -.15(ve)-.25 G 3.26(nk).15 G .76
-(inds of)-3.26 F -.15(ex)108 674.4 S .369(pansion performed:).15 F F2
-(br)2.869 E .369(ace e)-.15 F(xpansion)-.2 E F0(,).24 E F2 .369(tilde e)
-2.869 F(xpansion)-.2 E F0(,).24 E F2(par)2.869 E .369
-(ameter and variable e)-.15 F(xpansion)-.2 E F0(,).24 E F2 .37
-(command sub-)2.869 F(stitution)108 686.4 Q F0(,).24 E F2(arithmetic e)
-2.5 E(xpansion)-.2 E F0(,).24 E F2(wor)2.5 E 2.5(ds)-.37 G(plitting)-2.5
-E F0 2.5(,a).22 G(nd)-2.5 E F2(pathname e)2.5 E(xpansion)-.2 E F0(.).24
-E .471(The order of e)108 703.2 R .471(xpansions is: brace e)-.15 F .471
-(xpansion, tilde e)-.15 F .471(xpansion, parameter)-.15 F 2.971(,v)-.4 G
-.47(ariable and arithmetic e)-3.221 F(xpansion)-.15 E
-(and command substitution \(done in a left-to-right f)108 715.2 Q
-(ashion\), w)-.1 E(ord splitting, and pathname e)-.1 E(xpansion.)-.15 E
-(GNU Bash-3.1-de)72 768 Q -.15(ve)-.25 G 123.59(l2).15 G(005 Mar 15)
--123.59 E(15)198.17 E 0 Cg EP
+(inds of)-3.26 F -.15(ex)108 710.4 S .37(pansion performed:).15 F F1(br)
+2.869 E .369(ace e)-.15 F(xpansion)-.2 E F0(,).24 E F1 .369(tilde e)
+2.869 F(xpansion)-.2 E F0(,).24 E F1(par)2.869 E .369
+(ameter and variable e)-.15 F(xpansion)-.2 E F0(,).24 E F1 .369
+(command sub-)2.869 F(stitution)108 722.4 Q F0(,).24 E F1(arithmetic e)
+2.5 E(xpansion)-.2 E F0(,).24 E F1(wor)2.5 E 2.5(ds)-.37 G(plitting)-2.5
+E F0 2.5(,a).22 G(nd)-2.5 E F1(pathname e)2.5 E(xpansion)-.2 E F0(.).24
+E(GNU Bash-3.1-beta1)72 768 Q(2005 Aug 27)122.91 E(15)197.89 E 0 Cg EP
 %%Page: 16 17
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E(On systems that can support it, there is an additional e)108 84 Q
+-.35 E .47(The order of e)108 84 R .471(xpansions is: brace e)-.15 F
+.471(xpansion, tilde e)-.15 F .471(xpansion, parameter)-.15 F 2.971(,v)
+-.4 G .471(ariable and arithmetic e)-3.221 F(xpansion)-.15 E
+(and command substitution \(done in a left-to-right f)108 96 Q
+(ashion\), w)-.1 E(ord splitting, and pathname e)-.1 E(xpansion.)-.15 E
+(On systems that can support it, there is an additional e)108 112.8 Q
 (xpansion a)-.15 E -.25(va)-.2 G(ilable:).25 E/F1 10/Times-Italic@0 SF
-(pr)2.5 E(ocess substitution)-.45 E F0(.)A 1.486(Only brace e)108 100.8
-R 1.486(xpansion, w)-.15 F 1.486(ord splitting, and pathname e)-.1 F
-1.487(xpansion can change the number of w)-.15 F 1.487(ords of the)-.1 F
--.15(ex)108 112.8 S 1.165(pansion; other e).15 F 1.165(xpansions e)-.15
-F 1.165(xpand a single w)-.15 F 1.165(ord to a single w)-.1 F 3.665
-(ord. The)-.1 F 1.164(only e)3.665 F 1.164(xceptions to this are the)
--.15 F -.15(ex)108 124.8 S(pansions of ").15 E/F2 10/Times-Bold@0 SF($@)
+(pr)2.5 E(ocess substitution)-.45 E F0(.)A 1.487(Only brace e)108 129.6
+R 1.487(xpansion, w)-.15 F 1.487(ord splitting, and pathname e)-.1 F
+1.487(xpansion can change the number of w)-.15 F 1.486(ords of the)-.1 F
+-.15(ex)108 141.6 S 1.164(pansion; other e).15 F 1.164(xpansions e)-.15
+F 1.164(xpand a single w)-.15 F 1.165(ord to a single w)-.1 F 3.665
+(ord. The)-.1 F 1.165(only e)3.665 F 1.165(xceptions to this are the)
+-.15 F -.15(ex)108 153.6 S(pansions of ").15 E/F2 10/Times-Bold@0 SF($@)
 A F0 2.5("a)C(nd ")-2.5 E F2(${)A F1(name)A F2([@]})A F0 2.5("a)C 2.5
 (se)-2.5 G(xplained abo)-2.65 E .3 -.15(ve \()-.15 H(see).15 E/F3 9
 /Times-Bold@0 SF -.666(PA)2.5 G(RAMETERS).666 E/F4 9/Times-Roman@0 SF
-(\).)A F2(Brace Expansion)87 141.6 Q F1(Br)108.58 153.6 Q .606(ace e)
+(\).)A F2(Brace Expansion)87 170.4 Q F1(Br)108.58 182.4 Q .606(ace e)
 -.15 F(xpansion)-.2 E F0 .606
 (is a mechanism by which arbitrary strings may be generated.)3.346 F
-.606(This mechanism is similar)5.606 F(to)108 165.6 Q F1 .415
+.606(This mechanism is similar)5.606 F(to)108 194.4 Q F1 .415
 (pathname e)2.915 F(xpansion)-.2 E F0 2.915(,b)C .415
 (ut the \214lenames generated need not e)-3.115 F 2.915(xist. P)-.15 F
 .415(atterns to be brace e)-.15 F .415(xpanded tak)-.15 F 2.915(et)-.1 G
-(he)-2.915 E .151(form of an optional)108 177.6 R F1(pr)2.651 E(eamble)
+(he)-2.915 E .152(form of an optional)108 206.4 R F1(pr)2.652 E(eamble)
 -.37 E F0 2.651(,f).18 G(ollo)-2.651 E .151
 (wed by either a series of comma-separated strings or a sequence e)-.25
-F(xpres-)-.15 E .563(sion between a pair of braces, follo)108 189.6 R
+F(xpres-)-.15 E .563(sion between a pair of braces, follo)108 218.4 R
 .563(wed by an optional)-.25 F F1(postscript)3.063 E F0 5.563(.T).68 G
 .563(he preamble is pre\214x)-5.563 F .563(ed to each string)-.15 F .659
 (contained within the braces, and the postscript is then appended to ea\
-ch resulting string, e)108 201.6 R .659(xpanding left to)-.15 F(right.)
-108 213.6 Q .719(Brace e)108 230.4 R .719(xpansions may be nested.)-.15
+ch resulting string, e)108 230.4 R .658(xpanding left to)-.15 F(right.)
+108 242.4 Q .718(Brace e)108 259.2 R .719(xpansions may be nested.)-.15
 F .719(The results of each e)5.719 F .719
 (xpanded string are not sorted; left to right order is)-.15 F(preserv)
-108 242.4 Q 2.5(ed. F)-.15 F(or e)-.15 E(xample, a)-.15 E F2({)A F0
-(d,c,b)A F2(})A F0 2.5(ee)C(xpands into `ade ace abe'.)-2.65 E 3.133(As)
-108 259.2 S .633(equence e)-3.133 F .633(xpression tak)-.15 F .633
-(es the form)-.1 F F2({)3.133 E F1(x)A F2(..)A F1(y)A F2(})A F0 3.133
-(,w)C(here)-3.133 E F1(x)3.133 E F0(and)3.134 E F1(y)3.134 E F0 .634
-(are either inte)3.134 F .634(gers or single characters.)-.15 F(When)
-5.634 E(inte)108 271.2 Q .402(gers are supplied, the e)-.15 F .402
+108 271.2 Q 2.5(ed. F)-.15 F(or e)-.15 E(xample, a)-.15 E F2({)A F0
+(d,c,b)A F2(})A F0 2.5(ee)C(xpands into `ade ace abe'.)-2.65 E 3.134(As)
+108 288 S .634(equence e)-3.134 F .634(xpression tak)-.15 F .634
+(es the form)-.1 F F2({)3.134 E F1(x)A F2(..)A F1(y)A F2(})A F0 3.134
+(,w)C(here)-3.134 E F1(x)3.134 E F0(and)3.134 E F1(y)3.133 E F0 .633
+(are either inte)3.133 F .633(gers or single characters.)-.15 F(When)
+5.633 E(inte)108 300 Q .401(gers are supplied, the e)-.15 F .401
 (xpression e)-.15 F .401(xpands to each number between)-.15 F F1(x)2.901
-E F0(and)2.901 E F1(y)2.901 E F0 2.901(,i)C(nclusi)-2.901 E -.15(ve)-.25
-G 5.401(.W).15 G .401(hen characters)-5.401 F .687(are supplied, the e)
-108 283.2 R .688(xpression e)-.15 F .688(xpands to each character le)
--.15 F .688(xicographically between)-.15 F F1(x)3.188 E F0(and)3.188 E
-F1(y)3.188 E F0 3.188(,i)C(nclusi)-3.188 E -.15(ve)-.25 G 5.688(.N).15 G
-(ote)-5.688 E(that both)108 295.2 Q F1(x)2.5 E F0(and)2.5 E F1(y)2.5 E
-F0(must be of the same type.)2.5 E .582(Brace e)108 312 R .582
-(xpansion is performed before an)-.15 F 3.082(yo)-.15 G .581(ther e)
--3.082 F .581(xpansions, and an)-.15 F 3.081(yc)-.15 G .581
-(haracters special to other e)-3.081 F(xpansions)-.15 E .015
-(are preserv)108 324 R .015(ed in the result.)-.15 F .015
-(It is strictly te)5.015 F(xtual.)-.15 E F2(Bash)5.016 E F0 .016
-(does not apply an)2.516 F 2.516(ys)-.15 G .016
-(yntactic interpretation to the con-)-2.516 F(te)108 336 Q(xt of the e)
--.15 E(xpansion or the te)-.15 E(xt between the braces.)-.15 E 3.633(Ac)
-108 352.8 S 1.133(orrectly-formed brace e)-3.633 F 1.132(xpansion must \
-contain unquoted opening and closing braces, and at least one)-.15 F
-3.44(unquoted comma or a v)108 364.8 R 3.441(alid sequence e)-.25 F
-5.941(xpression. An)-.15 F 5.941(yi)-.15 G 3.441
-(ncorrectly formed brace e)-5.941 F 3.441(xpansion is left)-.15 F 2.755
-(unchanged. A)108 376.8 R F2({)2.755 E F0(or)2.755 E F2(,)2.755 E F0
+E F0(and)2.902 E F1(y)2.902 E F0 2.902(,i)C(nclusi)-2.902 E -.15(ve)-.25
+G 5.402(.W).15 G .402(hen characters)-5.402 F .688(are supplied, the e)
+108 312 R .688(xpression e)-.15 F .688(xpands to each character le)-.15
+F .688(xicographically between)-.15 F F1(x)3.188 E F0(and)3.188 E F1(y)
+3.188 E F0 3.187(,i)C(nclusi)-3.187 E -.15(ve)-.25 G 5.687(.N).15 G(ote)
+-5.687 E(that both)108 324 Q F1(x)2.5 E F0(and)2.5 E F1(y)2.5 E F0
+(must be of the same type.)2.5 E .581(Brace e)108 340.8 R .581
+(xpansion is performed before an)-.15 F 3.081(yo)-.15 G .581(ther e)
+-3.081 F .581(xpansions, and an)-.15 F 3.082(yc)-.15 G .582
+(haracters special to other e)-3.082 F(xpansions)-.15 E .016
+(are preserv)108 352.8 R .016(ed in the result.)-.15 F .016
+(It is strictly te)5.016 F(xtual.)-.15 E F2(Bash)5.016 E F0 .015
+(does not apply an)2.516 F 2.515(ys)-.15 G .015
+(yntactic interpretation to the con-)-2.515 F(te)108 364.8 Q
+(xt of the e)-.15 E(xpansion or the te)-.15 E(xt between the braces.)
+-.15 E 3.632(Ac)108 381.6 S 1.132(orrectly-formed brace e)-3.632 F 1.132
+(xpansion must contain unquoted opening and closing braces, and at leas\
+t one)-.15 F 3.441(unquoted comma or a v)108 393.6 R 3.441
+(alid sequence e)-.25 F 5.941(xpression. An)-.15 F 5.941(yi)-.15 G 3.441
+(ncorrectly formed brace e)-5.941 F 3.44(xpansion is left)-.15 F 2.755
+(unchanged. A)108 405.6 R F2({)2.755 E F0(or)2.755 E F2(,)2.755 E F0
 .255(may be quoted with a backslash to pre)2.755 F -.15(ve)-.25 G .255
-(nt its being considered part of a brace e).15 F(xpres-)-.15 E 2.91
-(sion. T)108 388.8 R 2.91(oa)-.8 G -.2(vo)-3.11 G .41
+(nt its being considered part of a brace e).15 F(xpres-)-.15 E 2.911
+(sion. T)108 417.6 R 2.911(oa)-.8 G -.2(vo)-3.111 G .411
 (id con\215icts with parameter e).2 F .411(xpansion, the string)-.15 F
-F2(${)2.911 E F0 .411(is not considered eligible for brace e)2.911 F
-(xpan-)-.15 E(sion.)108 400.8 Q 1.476(This construct is typically used \
+F2(${)2.911 E F0 .41(is not considered eligible for brace e)2.911 F
+(xpan-)-.15 E(sion.)108 429.6 Q 1.476(This construct is typically used \
 as shorthand when the common pre\214x of the strings to be generated is)
-108 417.6 R(longer than in the abo)108 429.6 Q .3 -.15(ve ex)-.15 H
-(ample:).15 E(mkdir /usr/local/src/bash/{old,ne)144 446.4 Q -.65(w,)-.25
-G(dist,b).65 E(ugs})-.2 E(or)108 458.4 Q(cho)144 470.4 Q
+108 446.4 R(longer than in the abo)108 458.4 Q .3 -.15(ve ex)-.15 H
+(ample:).15 E(mkdir /usr/local/src/bash/{old,ne)144 475.2 Q -.65(w,)-.25
+G(dist,b).65 E(ugs})-.2 E(or)108 487.2 Q(cho)144 499.2 Q
 (wn root /usr/{ucb/{e)-.25 E(x,edit},lib/{e)-.15 E(x?.?*,ho)-.15 E(w_e)
--.25 E(x}})-.15 E .618(Brace e)108 487.2 R .618
+-.25 E(x}})-.15 E .618(Brace e)108 516 R .618
 (xpansion introduces a slight incompatibility with historical v)-.15 F
 .618(ersions of)-.15 F F2(sh)3.118 E F0(.)A F2(sh)5.618 E F0 .618
-(does not treat open-)3.118 F .248
-(ing or closing braces specially when the)108 499.2 R 2.748(ya)-.15 G
-.247(ppear as part of a w)-2.748 F .247(ord, and preserv)-.1 F .247
-(es them in the output.)-.15 F F2(Bash)5.247 E F0(remo)108 511.2 Q -.15
+(does not treat open-)3.118 F .247
+(ing or closing braces specially when the)108 528 R 2.747(ya)-.15 G .247
+(ppear as part of a w)-2.747 F .248(ord, and preserv)-.1 F .248
+(es them in the output.)-.15 F F2(Bash)5.248 E F0(remo)108 540 Q -.15
 (ve)-.15 G 3.53(sb).15 G 1.03(races from w)-3.53 F 1.03
 (ords as a consequence of brace e)-.1 F 3.53(xpansion. F)-.15 F 1.03
 (or e)-.15 F 1.03(xample, a w)-.15 F 1.03(ord entered to)-.1 F F2(sh)
-3.53 E F0(as)3.53 E F1(\214le{1,2})108 523.2 Q F0 .515
-(appears identically in the output.)3.015 F .515(The same w)5.515 F .515
-(ord is output as)-.1 F F1 .514(\214le1 \214le2)4.925 F F0 .514(after e)
-3.034 F .514(xpansion by)-.15 F F2(bash)3.014 E F0(.)A .436
-(If strict compatibility with)108 535.2 R F2(sh)2.936 E F0 .436
+3.53 E F0(as)3.53 E F1(\214le{1,2})108 552 Q F0 .514
+(appears identically in the output.)3.014 F .515(The same w)5.515 F .515
+(ord is output as)-.1 F F1 .515(\214le1 \214le2)4.925 F F0 .515(after e)
+3.035 F .515(xpansion by)-.15 F F2(bash)3.015 E F0(.)A .437
+(If strict compatibility with)108 564 R F2(sh)2.936 E F0 .436
 (is desired, start)2.936 F F2(bash)2.936 E F0 .436(with the)2.936 F F2
-(+B)2.936 E F0 .436(option or disable brace e)2.936 F .437
-(xpansion with the)-.15 F F2(+B)108 547.2 Q F0(option to the)2.5 E F2
-(set)2.5 E F0(command \(see)2.5 E F3(SHELL B)2.5 E(UIL)-.09 E
-(TIN COMMANDS)-.828 E F0(belo)2.25 E(w\).)-.25 E F2 -.18(Ti)87 564 S
-(lde Expansion).18 E F0 1.087(If a w)108 576 R 1.087(ord be)-.1 F 1.087
-(gins with an unquoted tilde character \(`)-.15 F F2(~)A F0 1.086
+(+B)2.936 E F0 .436(option or disable brace e)2.936 F .436
+(xpansion with the)-.15 F F2(+B)108 576 Q F0(option to the)2.5 E F2(set)
+2.5 E F0(command \(see)2.5 E F3(SHELL B)2.5 E(UIL)-.09 E(TIN COMMANDS)
+-.828 E F0(belo)2.25 E(w\).)-.25 E F2 -.18(Ti)87 592.8 S(lde Expansion)
+.18 E F0 1.086(If a w)108 604.8 R 1.086(ord be)-.1 F 1.086
+(gins with an unquoted tilde character \(`)-.15 F F2(~)A F0 1.087
 ('\), all of the characters preceding the \214rst unquoted)B .185(slash\
  \(or all characters, if there is no unquoted slash\) are considered a)
-108 588 R F1(tilde-pr)2.685 E(e\214x)-.37 E F0 5.185(.I)C 2.685(fn)
--5.185 G .185(one of the characters)-2.685 F .726(in the tilde-pre\214x\
- are quoted, the characters in the tilde-pre\214x follo)108 600 R .725
-(wing the tilde are treated as a possible)-.25 F F1(lo)108 612 Q .522
-(gin name)-.1 F F0 5.522(.I)C 3.022(ft)-5.522 G .522
+108 616.8 R F1(tilde-pr)2.685 E(e\214x)-.37 E F0 5.185(.I)C 2.685(fn)
+-5.185 G .185(one of the characters)-2.685 F .725(in the tilde-pre\214x\
+ are quoted, the characters in the tilde-pre\214x follo)108 628.8 R .726
+(wing the tilde are treated as a possible)-.25 F F1(lo)108 640.8 Q .523
+(gin name)-.1 F F0 5.523(.I)C 3.023(ft)-5.523 G .523
 (his login name is the null string, the tilde is replaced with the v)
--3.022 F .523(alue of the shell parameter)-.25 F F3(HOME)108 624 Q F4(.)
-A F0(If)4.787 E F3(HOME)2.787 E F0 .287
-(is unset, the home directory of the user e)2.537 F -.15(xe)-.15 G .286
-(cuting the shell is substituted instead.).15 F(Other)5.286 E(-)-.2 E(w\
+-3.023 F .522(alue of the shell parameter)-.25 F F3(HOME)108 652.8 Q F4
+(.)A F0(If)4.786 E F3(HOME)2.786 E F0 .287
+(is unset, the home directory of the user e)2.536 F -.15(xe)-.15 G .287
+(cuting the shell is substituted instead.).15 F(Other)5.287 E(-)-.2 E(w\
 ise, the tilde-pre\214x is replaced with the home directory associated \
-with the speci\214ed login name.)108 636 Q .092
-(If the tilde-pre\214x is a `~+', the v)108 652.8 R .092
+with the speci\214ed login name.)108 664.8 Q .093
+(If the tilde-pre\214x is a `~+', the v)108 681.6 R .092
 (alue of the shell v)-.25 F(ariable)-.25 E F3(PWD)2.592 E F0 .092
-(replaces the tilde-pre\214x.)2.342 F .093(If the tilde-pre\214x is)
-5.093 F 3.404(a`)108 664.8 S .904(~\255', the v)-3.404 F .904
+(replaces the tilde-pre\214x.)2.342 F .092(If the tilde-pre\214x is)
+5.092 F 3.403(a`)108 693.6 S .903(~\255', the v)-3.403 F .903
 (alue of the shell v)-.25 F(ariable)-.25 E F3(OLDPWD)3.404 E F4(,)A F0
-.904(if it is set, is substituted.)3.154 F .903(If the characters follo)
-5.903 F .903(wing the)-.25 F 1.641
-(tilde in the tilde-pre\214x consist of a number)108 676.8 R F1(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 1.438(replaced w\
+.904(if it is set, is substituted.)3.154 F .904(If the characters follo)
+5.904 F .904(wing the)-.25 F 1.642
+(tilde in the tilde-pre\214x consist of a number)108 705.6 R F1(N)4.142
+E F0 4.142(,o)C 1.642(ptionally pre\214x)-4.142 F 1.641
+(ed by a `+' or a `\255', the tilde-pre\214x is)-.15 F 1.437(replaced w\
 ith the corresponding element from the directory stack, as it w)108
-688.8 R 1.437(ould be displayed by the)-.1 F F2(dirs)3.937 E F0 -.2(bu)
-108 700.8 S .454(iltin in).2 F -.2(vo)-.4 G -.1(ke).2 G 2.954(dw).1 G
-.454(ith the tilde-pre\214x as an ar)-2.954 F 2.954(gument. If)-.18 F
-.454(the characters follo)2.954 F .455
-(wing the tilde in the tilde-pre\214x)-.25 F
-(consist of a number without a leading `+' or `\255', `+' is assumed.)
-108 712.8 Q(If the login name is in)108 729.6 Q -.25(va)-.4 G
-(lid, or the tilde e).25 E(xpansion f)-.15 E(ails, the w)-.1 E
-(ord is unchanged.)-.1 E(GNU Bash-3.1-de)72 768 Q -.15(ve)-.25 G 123.59
-(l2).15 G(005 Mar 15)-123.59 E(16)198.17 E 0 Cg EP
+717.6 R 1.438(ould be displayed by the)-.1 F F2(dirs)3.938 E F0 -.2(bu)
+108 729.6 S .455(iltin in).2 F -.2(vo)-.4 G -.1(ke).2 G 2.955(dw).1 G
+.455(ith the tilde-pre\214x as an ar)-2.955 F 2.954(gument. If)-.18 F
+.454(the characters follo)2.954 F .454
+(wing the tilde in the tilde-pre\214x)-.25 F(GNU Bash-3.1-beta1)72 768 Q
+(2005 Aug 27)122.91 E(16)197.89 E 0 Cg EP
 %%Page: 17 18
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E .167(Each v)108 84 R .167(ariable assignment is check)-.25 F .167
-(ed for unquoted tilde-pre\214x)-.1 F .167(es immediately follo)-.15 F
-.167(wing a)-.25 F/F1 10/Times-Bold@0 SF(:)2.667 E F0 .167
-(or the \214rst)2.667 F F1(=)2.666 E F0 5.166(.I)C(n)-5.166 E .281
-(these cases, tilde e)108 96 R .282(xpansion is also performed.)-.15 F
-(Consequently)5.282 E 2.782(,o)-.65 G .282
-(ne may use \214le names with tildes in assign-)-2.782 F(ments to)108
-108 Q/F2 9/Times-Bold@0 SF -.666(PA)2.5 G(TH)-.189 E/F3 9/Times-Roman@0
-SF(,)A F2(MAILP)2.25 E -.855(AT)-.666 G(H).855 E F3(,)A F0(and)2.25 E F2
-(CDP)2.5 E -.855(AT)-.666 G(H).855 E F3(,)A F0
+-.35 E
+(consist of a number without a leading `+' or `\255', `+' is assumed.)
+108 84 Q(If the login name is in)108 100.8 Q -.25(va)-.4 G
+(lid, or the tilde e).25 E(xpansion f)-.15 E(ails, the w)-.1 E
+(ord is unchanged.)-.1 E .166(Each v)108 117.6 R .167
+(ariable assignment is check)-.25 F .167(ed for unquoted tilde-pre\214x)
+-.1 F .167(es immediately follo)-.15 F .167(wing a)-.25 F/F1 10
+/Times-Bold@0 SF(:)2.667 E F0 .167(or the \214rst)2.667 F F1(=)2.667 E
+F0 5.167(.I)C(n)-5.167 E .282(these cases, tilde e)108 129.6 R .282
+(xpansion is also performed.)-.15 F(Consequently)5.282 E 2.782(,o)-.65 G
+.282(ne may use \214le names with tildes in assign-)-2.782 F(ments to)
+108 141.6 Q/F2 9/Times-Bold@0 SF -.666(PA)2.5 G(TH)-.189 E/F3 9
+/Times-Roman@0 SF(,)A F2(MAILP)2.25 E -.855(AT)-.666 G(H).855 E F3(,)A
+F0(and)2.25 E F2(CDP)2.5 E -.855(AT)-.666 G(H).855 E F3(,)A F0
 (and the shell assigns the e)2.25 E(xpanded v)-.15 E(alue.)-.25 E F1 -.1
-(Pa)87 124.8 S(rameter Expansion).1 E F0 1.606(The `)108 136.8 R F1($)A
-F0 4.106('c)C 1.606(haracter introduces parameter e)-4.106 F 1.605
-(xpansion, command substitution, or arithmetic e)-.15 F 4.105
-(xpansion. The)-.15 F .406(parameter name or symbol to be e)108 148.8 R
-.407(xpanded may be enclosed in braces, which are optional b)-.15 F .407
-(ut serv)-.2 F 2.907(et)-.15 G 2.907(op)-2.907 G(ro-)-2.907 E .033
-(tect the v)108 160.8 R .033(ariable to be e)-.25 F .033
-(xpanded from characters immediately follo)-.15 F .032
+(Pa)87 158.4 S(rameter Expansion).1 E F0 1.605(The `)108 170.4 R F1($)A
+F0 4.105('c)C 1.605(haracter introduces parameter e)-4.105 F 1.606
+(xpansion, command substitution, or arithmetic e)-.15 F 4.106
+(xpansion. The)-.15 F .407(parameter name or symbol to be e)108 182.4 R
+.407(xpanded may be enclosed in braces, which are optional b)-.15 F .406
+(ut serv)-.2 F 2.906(et)-.15 G 2.906(op)-2.906 G(ro-)-2.906 E .032
+(tect the v)108 194.4 R .032(ariable to be e)-.25 F .032
+(xpanded from characters immediately follo)-.15 F .033
 (wing it which could be interpreted as part)-.25 F(of the name.)108
-172.8 Q 1.189
+206.4 Q 1.19
 (When braces are used, the matching ending brace is the \214rst `)108
-189.6 R F1(})A F0 3.69('n)C 1.19(ot escaped by a backslash or within a)
--3.69 F 2.15(quoted string, and not within an embedded arithmetic e)108
-201.6 R 2.15(xpansion, command substitution, or parameter)-.15 F -.15
-(ex)108 213.6 S(pansion.).15 E(${)108 230.4 Q/F4 10/Times-Italic@0 SF
-(par)A(ameter)-.15 E F0(})A 1.204(The v)144 242.4 R 1.204(alue of)-.25 F
-F4(par)3.704 E(ameter)-.15 E F0 1.204(is substituted.)3.704 F 1.204
-(The braces are required when)6.204 F F4(par)4.955 E(ameter)-.15 E F0
-1.205(is a positional)4.435 F .264
-(parameter with more than one digit, or when)144 254.4 R F4(par)4.014 E
+223.2 R F1(})A F0 3.689('n)C 1.189
+(ot escaped by a backslash or within a)-3.689 F 2.15
+(quoted string, and not within an embedded arithmetic e)108 235.2 R 2.15
+(xpansion, command substitution, or parameter)-.15 F -.15(ex)108 247.2 S
+(pansion.).15 E(${)108 264 Q/F4 10/Times-Italic@0 SF(par)A(ameter)-.15 E
+F0(})A 1.205(The v)144 276 R 1.205(alue of)-.25 F F4(par)3.705 E(ameter)
+-.15 E F0 1.204(is substituted.)3.705 F 1.204
+(The braces are required when)6.204 F F4(par)4.954 E(ameter)-.15 E F0
+1.204(is a positional)4.434 F .264
+(parameter with more than one digit, or when)144 288 R F4(par)4.014 E
 (ameter)-.15 E F0 .264(is follo)3.494 F .264
 (wed by a character which is not to)-.25 F
-(be interpreted as part of its name.)144 266.4 Q 1.508
-(If the \214rst character of)108 283.2 R F4(par)4.009 E(ameter)-.15 E F0
+(be interpreted as part of its name.)144 300 Q 1.509
+(If the \214rst character of)108 316.8 R F4(par)4.009 E(ameter)-.15 E F0
 1.509(is an e)4.009 F 1.509(xclamation point, a le)-.15 F -.15(ve)-.25 G
-4.009(lo).15 G 4.009(fv)-4.009 G 1.509
-(ariable indirection is introduced.)-4.259 F F1(Bash)108 295.2 Q F0 .106
+4.009(lo).15 G 4.008(fv)-4.009 G 1.508
+(ariable indirection is introduced.)-4.258 F F1(Bash)108 328.8 Q F0 .106
 (uses the v)2.606 F .106(alue of the v)-.25 F .106
 (ariable formed from the rest of)-.25 F F4(par)2.606 E(ameter)-.15 E F0
 .106(as the name of the v)2.606 F .106(ariable; this v)-.25 F(ari-)-.25
-E .351(able is then e)108 307.2 R .351(xpanded and that v)-.15 F .352
+E .352(able is then e)108 340.8 R .352(xpanded and that v)-.15 F .351
 (alue is used in the rest of the substitution, rather than the v)-.25 F
-.352(alue of)-.25 F F4(par)2.852 E(ame-)-.15 E(ter)108 319.2 Q F0 2.52
-(itself. This)2.52 F .02(is kno)2.52 F .02(wn as)-.25 F F4(indir)2.52 E
-.02(ect e)-.37 F(xpansion)-.2 E F0 5.019(.T)C .019(he e)-5.019 F .019
-(xceptions to this are the e)-.15 F .019(xpansions of ${!)-.15 F F4(pr)A
-(e\214x)-.37 E F0 .019(*} and)B(${)108 331.2 Q F1(!)A F4(name)A F0([)A
-F4(@)A F0 .762(]} described belo)B 4.563 -.65(w. T)-.25 H .763(he e).65
-F .763(xclamation point must immediately follo)-.15 F 3.263(wt)-.25 G
-.763(he left brace in order to)-3.263 F(introduce indirection.)108 343.2
-Q .334(In each of the cases belo)108 360 R -.65(w,)-.25 G F4(wor)3.484 E
-(d)-.37 E F0 .334(is subject to tilde e)2.834 F .334
-(xpansion, parameter e)-.15 F .334(xpansion, command substitution,)-.15
-F 1.417(and arithmetic e)108 372 R 3.918(xpansion. When)-.15 F 1.418
-(not performing substring e)3.918 F(xpansion,)-.15 E F1(bash)3.918 E F0
-1.418(tests for a parameter that is)3.918 F(unset or null; omitting the\
- colon results in a test only for a parameter that is unset.)108 384 Q
-(${)108 400.8 Q F4(par)A(ameter)-.15 E F1<3aad>A F4(wor)A(d)-.37 E F0(})
-A F1 .723(Use Default V)144 412.8 R(alues)-.92 E F0 5.723(.I)C(f)-5.723
-E F4(par)4.473 E(ameter)-.15 E F0 .723(is unset or null, the e)3.953 F
-.722(xpansion of)-.15 F F4(wor)3.562 E(d)-.37 E F0 .722(is substituted.)
-3.992 F(Other)5.722 E(-)-.2 E(wise, the v)144 424.8 Q(alue of)-.25 E F4
-(par)3.75 E(ameter)-.15 E F0(is substituted.)3.23 E(${)108 436.8 Q F4
-(par)A(ameter)-.15 E F1(:=)A F4(wor)A(d)-.37 E F0(})A F1 2.004
-(Assign Default V)144 448.8 R(alues)-.92 E F0 7.004(.I)C(f)-7.004 E F4
-(par)5.754 E(ameter)-.15 E F0 2.005(is unset or null, the e)5.234 F
-2.005(xpansion of)-.15 F F4(wor)4.845 E(d)-.37 E F0 2.005
-(is assigned to)5.275 F F4(par)144 460.8 Q(ameter)-.15 E F0 5.279(.T).73
-G .279(he v)-5.279 F .279(alue of)-.25 F F4(par)4.029 E(ameter)-.15 E F0
-.278(is then substituted.)3.508 F .278
+.351(alue of)-.25 F F4(par)2.851 E(ame-)-.15 E(ter)108 352.8 Q F0 2.519
+(itself. This)2.519 F .019(is kno)2.519 F .019(wn as)-.25 F F4(indir)
+2.519 E .019(ect e)-.37 F(xpansion)-.2 E F0 5.019(.T)C .019(he e)-5.019
+F .02(xceptions to this are the e)-.15 F .02(xpansions of ${!)-.15 F F4
+(pr)A(e\214x)-.37 E F0 .02(*} and)B(${)108 364.8 Q F1(!)A F4(name)A F0
+([)A F4(@)A F0 .763(]} described belo)B 4.563 -.65(w. T)-.25 H .763
+(he e).65 F .763(xclamation point must immediately follo)-.15 F 3.263
+(wt)-.25 G .763(he left brace in order to)-3.263 F
+(introduce indirection.)108 376.8 Q .334(In each of the cases belo)108
+393.6 R -.65(w,)-.25 G F4(wor)3.484 E(d)-.37 E F0 .334
+(is subject to tilde e)2.834 F .334(xpansion, parameter e)-.15 F .334
+(xpansion, command substitution,)-.15 F 1.418(and arithmetic e)108 405.6
+R 3.918(xpansion. When)-.15 F 1.418(not performing substring e)3.918 F
+(xpansion,)-.15 E F1(bash)3.918 E F0 1.418
+(tests for a parameter that is)3.918 F(unset or null; omitting the colo\
+n results in a test only for a parameter that is unset.)108 417.6 Q(${)
+108 434.4 Q F4(par)A(ameter)-.15 E F1<3aad>A F4(wor)A(d)-.37 E F0(})A F1
+.722(Use Default V)144 446.4 R(alues)-.92 E F0 5.722(.I)C(f)-5.722 E F4
+(par)4.472 E(ameter)-.15 E F0 .723(is unset or null, the e)3.952 F .723
+(xpansion of)-.15 F F4(wor)3.563 E(d)-.37 E F0 .723(is substituted.)
+3.993 F(Other)5.723 E(-)-.2 E(wise, the v)144 458.4 Q(alue of)-.25 E F4
+(par)3.75 E(ameter)-.15 E F0(is substituted.)3.23 E(${)108 470.4 Q F4
+(par)A(ameter)-.15 E F1(:=)A F4(wor)A(d)-.37 E F0(})A F1 2.005
+(Assign Default V)144 482.4 R(alues)-.92 E F0 7.005(.I)C(f)-7.005 E F4
+(par)5.755 E(ameter)-.15 E F0 2.005(is unset or null, the e)5.235 F
+2.004(xpansion of)-.15 F F4(wor)4.844 E(d)-.37 E F0 2.004
+(is assigned to)5.274 F F4(par)144 494.4 Q(ameter)-.15 E F0 5.278(.T).73
+G .278(he v)-5.278 F .278(alue of)-.25 F F4(par)4.028 E(ameter)-.15 E F0
+.278(is then substituted.)3.508 F .279
 (Positional parameters and special param-)5.278 F
-(eters may not be assigned to in this w)144 472.8 Q(ay)-.1 E(.)-.65 E
-(${)108 484.8 Q F4(par)A(ameter)-.15 E F1(:?)A F4(wor)A(d)-.37 E F0(})A
-F1 .535(Display Err)144 496.8 R .535(or if Null or Unset)-.18 F F0 5.535
+(eters may not be assigned to in this w)144 506.4 Q(ay)-.1 E(.)-.65 E
+(${)108 518.4 Q F4(par)A(ameter)-.15 E F1(:?)A F4(wor)A(d)-.37 E F0(})A
+F1 .535(Display Err)144 530.4 R .535(or if Null or Unset)-.18 F F0 5.535
 (.I)C(f)-5.535 E F4(par)4.285 E(ameter)-.15 E F0 .535
 (is null or unset, the e)3.765 F .535(xpansion of)-.15 F F4(wor)3.035 E
-(d)-.37 E F0 .535(\(or a mes-)3.035 F .662(sage to that ef)144 508.8 R
-.662(fect if)-.25 F F4(wor)3.502 E(d)-.37 E F0 .661(is not present\) is\
- written to the standard error and the shell, if it is not)3.932 F
-(interacti)144 520.8 Q -.15(ve)-.25 G 2.5(,e).15 G 2.5(xits. Otherwise,)
+(d)-.37 E F0 .535(\(or a mes-)3.035 F .661(sage to that ef)144 542.4 R
+.661(fect if)-.25 F F4(wor)3.501 E(d)-.37 E F0 .662(is not present\) is\
+ written to the standard error and the shell, if it is not)3.931 F
+(interacti)144 554.4 Q -.15(ve)-.25 G 2.5(,e).15 G 2.5(xits. Otherwise,)
 -2.65 F(the v)2.5 E(alue of)-.25 E F4(par)2.5 E(ameter)-.15 E F0
-(is substituted.)2.5 E(${)108 532.8 Q F4(par)A(ameter)-.15 E F1(:+)A F4
-(wor)A(d)-.37 E F0(})A F1 .745(Use Alter)144 544.8 R .745(nate V)-.15 F
+(is substituted.)2.5 E(${)108 566.4 Q F4(par)A(ameter)-.15 E F1(:+)A F4
+(wor)A(d)-.37 E F0(})A F1 .745(Use Alter)144 578.4 R .745(nate V)-.15 F
 (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 556.8 Q F4(wor)2.84 E(d)-.37 E F0
-(is substituted.)3.27 E(${)108 568.8 Q F4(par)A(ameter)-.15 E F1(:)A F4
-(of)A(fset)-.18 E F0(})A(${)108 580.8 Q F4(par)A(ameter)-.15 E F1(:)A F4
-(of)A(fset)-.18 E F1(:)A F4(length)A F0(})A F1 .797
-(Substring Expansion.)144 592.8 R F0 .796(Expands to up to)5.797 F F4
+(xpan-)-.15 E(sion of)144 590.4 Q F4(wor)2.84 E(d)-.37 E F0
+(is substituted.)3.27 E(${)108 602.4 Q F4(par)A(ameter)-.15 E F1(:)A F4
+(of)A(fset)-.18 E F0(})A(${)108 614.4 Q F4(par)A(ameter)-.15 E F1(:)A F4
+(of)A(fset)-.18 E F1(:)A F4(length)A F0(})A F1 .796
+(Substring Expansion.)144 626.4 R F0 .796(Expands to up to)5.796 F F4
 (length)3.296 E F0 .796(characters of)3.296 F F4(par)3.296 E(ameter)-.15
-E F0 .796(starting at the character)3.296 F .228(speci\214ed by)144
-604.8 R F4(of)2.728 E(fset)-.18 E F0 5.228(.I)C(f)-5.228 E F4(length)
-2.728 E F0 .229(is omitted, e)2.729 F .229(xpands to the substring of)
--.15 F F4(par)2.729 E(ameter)-.15 E F0 .229(starting at the char)2.729 F
-(-)-.2 E .433(acter speci\214ed by)144 616.8 R F4(of)2.933 E(fset)-.18 E
+E F0 .797(starting at the character)3.296 F .229(speci\214ed by)144
+638.4 R F4(of)2.729 E(fset)-.18 E F0 5.229(.I)C(f)-5.229 E F4(length)
+2.729 E F0 .229(is omitted, e)2.729 F .229(xpands to the substring of)
+-.15 F F4(par)2.729 E(ameter)-.15 E F0 .228(starting at the char)2.728 F
+(-)-.2 E .432(acter speci\214ed by)144 650.4 R F4(of)2.933 E(fset)-.18 E
 F0(.)A F4(length)5.433 E F0(and)2.933 E F4(of)2.933 E(fset)-.18 E F0
-.433(are arithmetic e)2.933 F .433(xpressions \(see)-.15 F F2 .432
-(ARITHMETIC EV)2.933 F(ALU-)-1.215 E -.855(AT)144 628.8 S(ION).855 E F0
-(belo)2.576 E(w\).)-.25 E F4(length)5.326 E F0 .326(must e)2.826 F -.25
+.433(are arithmetic e)2.933 F .433(xpressions \(see)-.15 F F2 .433
+(ARITHMETIC EV)2.933 F(ALU-)-1.215 E -.855(AT)144 662.4 S(ION).855 E F0
+(belo)2.577 E(w\).)-.25 E F4(length)5.327 E F0 .327(must e)2.827 F -.25
 (va)-.25 G .326(luate to a number greater than or equal to zero.).25 F
-(If)5.327 E F4(of)2.827 E(fset)-.18 E F0 -.25(eva)2.827 G(luates).25 E
-.016(to a number less than zero, the v)144 640.8 R .015
+(If)5.326 E F4(of)2.826 E(fset)-.18 E F0 -.25(eva)2.826 G(luates).25 E
+.015(to a number less than zero, the v)144 674.4 R .015
 (alue is used as an of)-.25 F .015(fset from the end of the v)-.25 F
-.015(alue of)-.25 F F4(par)2.515 E(ameter)-.15 E F0 5.015(.I)C(f)-5.015
-E F4(par)144 652.8 Q(ameter)-.15 E F0(is)3.25 E F1(@)3.25 E F0 3.25(,t)C
+.016(alue of)-.25 F F4(par)2.516 E(ameter)-.15 E F0 5.016(.I)C(f)-5.016
+E F4(par)144 686.4 Q(ameter)-.15 E F0(is)3.25 E F1(@)3.25 E F0 3.25(,t)C
 .75(he result is)-3.25 F F4(length)3.25 E F0 .75
 (positional parameters be)3.25 F .75(ginning at)-.15 F F4(of)3.25 E
 (fset)-.18 E F0 5.75(.I)C(f)-5.75 E F4(par)3.25 E(ameter)-.15 E F0 .75
-(is an)3.25 F 1.835(array name inde)144 664.8 R -.15(xe)-.15 G 4.335(db)
-.15 G 4.335(y@o)-4.335 G 4.335(r*)-4.335 G 4.335(,t)-4.335 G 1.835
-(he result is the)-4.335 F F4(length)4.335 E F0 1.834
-(members of the array be)4.335 F 1.834(ginning with)-.15 F(${)144 676.8
-Q F4(par)A(ameter)-.15 E F0([)A F4(of)A(fset)-.18 E F0 2.61(]}. A)B(ne)
-2.61 E -.05(ga)-.15 G(ti).05 E -.15(ve)-.25 G F4(of)2.76 E(fset)-.18 E
-F0 .111(is tak)2.61 F .111(en relati)-.1 F .411 -.15(ve t)-.25 H 2.611
-(oo).15 G .111(ne greater than the maximum inde)-2.611 F 2.611(xo)-.15 G
-(f)-2.611 E .92(the speci\214ed array)144 688.8 R 5.92(.N)-.65 G .92
+(is an)3.25 F 1.834(array name inde)144 698.4 R -.15(xe)-.15 G 4.334(db)
+.15 G 4.334(y@o)-4.334 G 4.335(r*)-4.334 G 4.335(,t)-4.335 G 1.835
+(he result is the)-4.335 F F4(length)4.335 E F0 1.835
+(members of the array be)4.335 F 1.835(ginning with)-.15 F(${)144 710.4
+Q F4(par)A(ameter)-.15 E F0([)A F4(of)A(fset)-.18 E F0 2.611(]}. A)B(ne)
+2.611 E -.05(ga)-.15 G(ti).05 E -.15(ve)-.25 G F4(of)2.761 E(fset)-.18 E
+F0 .111(is tak)2.611 F .111(en relati)-.1 F .411 -.15(ve t)-.25 H 2.611
+(oo).15 G .11(ne greater than the maximum inde)-2.611 F 2.61(xo)-.15 G
+(f)-2.61 E .92(the speci\214ed array)144 722.4 R 5.92(.N)-.65 G .92
 (ote that a ne)-5.92 F -.05(ga)-.15 G(ti).05 E 1.22 -.15(ve o)-.25 H
 -.25(ff).15 G .92(set must be separated from the colon by at least one)
-.25 F .64(space to a)144 700.8 R -.2(vo)-.2 G .641
-(id being confused with the :- e).2 F 3.141(xpansion. Substring)-.15 F
-(inde)3.141 E .641(xing is zero-based unless the)-.15 F
-(positional parameters are used, in which case the inde)144 712.8 Q
-(xing starts at 1.)-.15 E(GNU Bash-3.1-de)72 768 Q -.15(ve)-.25 G 123.59
-(l2).15 G(005 Mar 15)-123.59 E(17)198.17 E 0 Cg EP
+.25 F(GNU Bash-3.1-beta1)72 768 Q(2005 Aug 27)122.91 E(17)197.89 E 0 Cg
+EP
 %%Page: 18 19
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E(${)108 84 Q/F1 10/Times-Bold@0 SF(!)A/F2 10/Times-Italic@0 SF(pr)
-A(e\214x)-.37 E F1(*)A F0(})A(${)108 96 Q F1(!)A F2(pr)A(e\214x)-.37 E
-F1(@)A F0(})A .42(Expands to the names of v)144 108 R .42
-(ariables whose names be)-.25 F .42(gin with)-.15 F F2(pr)2.92 E(e\214x)
--.37 E F0 2.92(,s)C .42(eparated by the \214rst character)-2.92 F
-(of the)144 120 Q/F3 9/Times-Bold@0 SF(IFS)2.5 E F0(special v)2.25 E
-(ariable.)-.25 E(${)108 136.8 Q F1(!)A F2(name)A F0([)A F2(@)A F0(]})A
-(${)108 148.8 Q F1(!)A F2(name)A F0([)A F2(*)A F0(]})A(If)144 160.8 Q F2
-(name)2.921 E F0 .421(is an array v)2.921 F .421(ariable, e)-.25 F .421
-(xpands to the list of array indices \(k)-.15 F -.15(ey)-.1 G .421
-(s\) assigned in).15 F F2(name)2.921 E F0 5.422(.I)C(f)-5.422 E F2(name)
-2.922 E F0 .238(is not an array)144 172.8 R 2.738(,e)-.65 G .238
-(xpands to 0 if)-2.888 F F2(name)2.738 E F0 .237
-(is set and null otherwise.)2.738 F(When)5.237 E F2(@)2.737 E F0 .237
-(is used and the e)2.737 F(xpansion)-.15 E
-(appears within double quotes, each k)144 184.8 Q .3 -.15(ey ex)-.1 H
-(pands to a separate w).15 E(ord.)-.1 E(${)108 201.6 Q F1(#)A F2(par)A
-(ameter)-.15 E F0(})A 1.391(The length in characters of the v)144 213.6
+-.35 E .641(space to a)144 84 R -.2(vo)-.2 G .641
+(id being confused with the :- e).2 F 3.141(xpansion. Substring)-.15 F
+(inde)3.141 E .64(xing is zero-based unless the)-.15 F
+(positional parameters are used, in which case the inde)144 96 Q
+(xing starts at 1.)-.15 E(${)108 112.8 Q/F1 10/Times-Bold@0 SF(!)A/F2 10
+/Times-Italic@0 SF(pr)A(e\214x)-.37 E F1(*)A F0(})A(${)108 124.8 Q F1(!)
+A F2(pr)A(e\214x)-.37 E F1(@)A F0(})A .42(Expands to the names of v)144
+136.8 R .42(ariables whose names be)-.25 F .42(gin with)-.15 F F2(pr)
+2.92 E(e\214x)-.37 E F0 2.92(,s)C .42(eparated by the \214rst character)
+-2.92 F(of the)144 148.8 Q/F3 9/Times-Bold@0 SF(IFS)2.5 E F0(special v)
+2.25 E(ariable.)-.25 E(${)108 165.6 Q F1(!)A F2(name)A F0([)A F2(@)A F0
+(]})A(${)108 177.6 Q F1(!)A F2(name)A F0([)A F2(*)A F0(]})A(If)144 189.6
+Q F2(name)2.922 E F0 .421(is an array v)2.922 F .421(ariable, e)-.25 F
+.421(xpands to the list of array indices \(k)-.15 F -.15(ey)-.1 G .421
+(s\) assigned in).15 F F2(name)2.921 E F0 5.421(.I)C(f)-5.421 E F2(name)
+2.921 E F0 .237(is not an array)144 201.6 R 2.737(,e)-.65 G .237
+(xpands to 0 if)-2.887 F F2(name)2.737 E F0 .238
+(is set and null otherwise.)2.737 F(When)5.238 E F2(@)2.738 E F0 .238
+(is used and the e)2.738 F(xpansion)-.15 E
+(appears within double quotes, each k)144 213.6 Q .3 -.15(ey ex)-.1 H
+(pands to a separate w).15 E(ord.)-.1 E(${)108 230.4 Q F1(#)A F2(par)A
+(ameter)-.15 E F0(})A 1.392(The length in characters of the v)144 242.4
 R 1.392(alue of)-.25 F F2(par)3.892 E(ameter)-.15 E F0 1.392
 (is substituted.)3.892 F(If)6.392 E F2(par)5.142 E(ameter)-.15 E F0(is)
-4.622 E F1(*)3.892 E F0(or)3.892 E F1(@)3.892 E F0 3.892(,t)C(he)-3.892
-E -.25(va)144 225.6 S 1.749
+4.622 E F1(*)3.891 E F0(or)3.891 E F1(@)3.891 E F0 3.891(,t)C(he)-3.891
+E -.25(va)144 254.4 S 1.748
 (lue substituted is the number of positional parameters.).25 F(If)6.749
-E F2(par)5.498 E(ameter)-.15 E F0 1.748(is an array name sub-)4.978 F
-(scripted by)144 237.6 Q F1(*)2.5 E F0(or)2.5 E F1(@)2.5 E F0 2.5(,t)C
+E F2(par)5.499 E(ameter)-.15 E F0 1.749(is an array name sub-)4.979 F
+(scripted by)144 266.4 Q F1(*)2.5 E F0(or)2.5 E F1(@)2.5 E F0 2.5(,t)C
 (he v)-2.5 E(alue substituted is the number of elements in the array)
--.25 E(.)-.65 E(${)108 254.4 Q F2(par)A(ameter)-.15 E F1(#)A F2(wor)A(d)
--.37 E F0(})A(${)108 266.4 Q F2(par)A(ameter)-.15 E F1(##)A F2(wor)A(d)
--.37 E F0(})A(The)144 278.4 Q F2(wor)3.33 E(d)-.37 E F0 .49(is e)3.76 F
-.491(xpanded to produce a pattern just as in pathname e)-.15 F 2.991
-(xpansion. If)-.15 F .491(the pattern matches)2.991 F .412(the be)144
-290.4 R .412(ginning of the v)-.15 F .411(alue of)-.25 F F2(par)2.911 E
+-.25 E(.)-.65 E(${)108 283.2 Q F2(par)A(ameter)-.15 E F1(#)A F2(wor)A(d)
+-.37 E F0(})A(${)108 295.2 Q F2(par)A(ameter)-.15 E F1(##)A F2(wor)A(d)
+-.37 E F0(})A(The)144 307.2 Q F2(wor)3.331 E(d)-.37 E F0 .491(is e)3.761
+F .491(xpanded to produce a pattern just as in pathname e)-.15 F 2.99
+(xpansion. If)-.15 F .49(the pattern matches)2.99 F .411(the be)144
+319.2 R .411(ginning of the v)-.15 F .411(alue of)-.25 F F2(par)2.911 E
 (ameter)-.15 E F0 2.911(,t).73 G .411(hen the result of the e)-2.911 F
-.411(xpansion is the e)-.15 F .411(xpanded v)-.15 F .411(alue of)-.25 F
-F2(par)145.25 302.4 Q(ameter)-.15 E F0 .607
-(with the shortest matching pattern \(the `)3.837 F(`)-.74 E F1(#)A F0
+.411(xpansion is the e)-.15 F .412(xpanded v)-.15 F .412(alue of)-.25 F
+F2(par)145.25 331.2 Q(ameter)-.15 E F0 .607
+(with the shortest matching pattern \(the `)3.838 F(`)-.74 E F1(#)A F0
 2.087 -.74('' c)D .607(ase\) or the longest matching pattern \(the).74 F
--.74(``)144 314.4 S F1(##).74 E F0 1.654 -.74('' c)D .174
-(ase\) deleted.).74 F(If)5.174 E F2(par)3.924 E(ameter)-.15 E F0(is)
-3.404 E F1(@)2.674 E F0(or)2.674 E F1(*)2.674 E F0 2.674(,t)C .173
-(he pattern remo)-2.674 F -.25(va)-.15 G 2.673(lo).25 G .173
-(peration is applied to each posi-)-2.673 F .654
-(tional parameter in turn, and the e)144 326.4 R .654
-(xpansion is the resultant list.)-.15 F(If)5.655 E F2(par)4.405 E
-(ameter)-.15 E F0 .655(is an array v)3.885 F(ariable)-.25 E .651
-(subscripted with)144 338.4 R F1(@)3.151 E F0(or)3.151 E F1(*)3.151 E F0
-3.151(,t)C .651(he pattern remo)-3.151 F -.25(va)-.15 G 3.151(lo).25 G
-.65(peration is applied to each member of the array in)-3.151 F
-(turn, and the e)144 350.4 Q(xpansion is the resultant list.)-.15 E(${)
-108 367.2 Q F2(par)A(ameter)-.15 E F1(%)A F2(wor)A(d)-.37 E F0(})A(${)
-108 379.2 Q F2(par)A(ameter)-.15 E F1(%%)A F2(wor)A(d)-.37 E F0(})A(The)
-144 391.2 Q F2(wor)2.618 E(d)-.37 E F0 .118(is e)2.618 F .119
+-.74(``)144 343.2 S F1(##).74 E F0 1.653 -.74('' c)D .173
+(ase\) deleted.).74 F(If)5.173 E F2(par)3.923 E(ameter)-.15 E F0(is)
+3.403 E F1(@)2.673 E F0(or)2.673 E F1(*)2.673 E F0 2.674(,t)C .174
+(he pattern remo)-2.674 F -.25(va)-.15 G 2.674(lo).25 G .174
+(peration is applied to each posi-)-2.674 F .655
+(tional parameter in turn, and the e)144 355.2 R .654
+(xpansion is the resultant list.)-.15 F(If)5.654 E F2(par)4.404 E
+(ameter)-.15 E F0 .654(is an array v)3.884 F(ariable)-.25 E .65
+(subscripted with)144 367.2 R F1(@)3.15 E F0(or)3.15 E F1(*)3.15 E F0
+3.15(,t)C .65(he pattern remo)-3.15 F -.25(va)-.15 G 3.151(lo).25 G .651
+(peration is applied to each member of the array in)-3.151 F
+(turn, and the e)144 379.2 Q(xpansion is the resultant list.)-.15 E(${)
+108 396 Q F2(par)A(ameter)-.15 E F1(%)A F2(wor)A(d)-.37 E F0(})A(${)108
+408 Q F2(par)A(ameter)-.15 E F1(%%)A F2(wor)A(d)-.37 E F0(})A(The)144
+420 Q F2(wor)2.619 E(d)-.37 E F0 .119(is e)2.619 F .119
 (xpanded to produce a pattern just as in pathname e)-.15 F 2.619
-(xpansion. If)-.15 F .119(the pattern matches a)2.619 F 2.402
-(trailing portion of the e)144 403.2 R 2.402(xpanded v)-.15 F 2.401
-(alue of)-.25 F F2(par)4.901 E(ameter)-.15 E F0 4.901(,t).73 G 2.401
-(hen the result of the e)-4.901 F 2.401(xpansion is the)-.15 F -.15(ex)
-144 415.2 S 1.152(panded v).15 F 1.152(alue of)-.25 F F2(par)4.902 E
+(xpansion. If)-.15 F .118(the pattern matches a)2.619 F 2.401
+(trailing portion of the e)144 432 R 2.401(xpanded v)-.15 F 2.401
+(alue of)-.25 F F2(par)4.901 E(ameter)-.15 E F0 4.901(,t).73 G 2.402
+(hen the result of the e)-4.901 F 2.402(xpansion is the)-.15 F -.15(ex)
+144 444 S 1.153(panded v).15 F 1.153(alue of)-.25 F F2(par)4.902 E
 (ameter)-.15 E F0 1.152(with the shortest matching pattern \(the `)4.382
-F(`)-.74 E F1(%)A F0 2.632 -.74('' c)D 1.153(ase\) or the longest).74 F
-.79(matching pattern \(the `)144 427.2 R(`)-.74 E F1(%%)A F0 2.27 -.74
+F(`)-.74 E F1(%)A F0 2.632 -.74('' c)D 1.152(ase\) or the longest).74 F
+.79(matching pattern \(the `)144 456 R(`)-.74 E F1(%%)A F0 2.27 -.74
 ('' c)D .79(ase\) deleted.).74 F(If)5.79 E F2(par)4.54 E(ameter)-.15 E
 F0(is)4.02 E F1(@)3.29 E F0(or)3.29 E F1(*)3.29 E F0 3.29(,t)C .79
 (he pattern remo)-3.29 F -.25(va)-.15 G 3.29(lo).25 G(pera-)-3.29 E
 1.758(tion is applied to each positional parameter in turn, and the e)
-144 439.2 R 1.758(xpansion is the resultant list.)-.15 F(If)6.759 E F2
-(par)145.25 451.2 Q(ameter)-.15 E F0 .089(is an array v)3.319 F .089
+144 468 R 1.758(xpansion is the resultant list.)-.15 F(If)6.758 E F2
+(par)145.25 480 Q(ameter)-.15 E F0 .088(is an array v)3.318 F .089
 (ariable subscripted with)-.25 F F1(@)2.589 E F0(or)2.589 E F1(*)2.589 E
-F0 2.589(,t)C .089(he pattern remo)-2.589 F -.25(va)-.15 G 2.588(lo).25
-G .088(peration is applied to)-2.588 F
-(each member of the array in turn, and the e)144 463.2 Q
-(xpansion is the resultant list.)-.15 E(${)108 480 Q F2(par)A(ameter)
--.15 E F1(/)A F2(pattern)A F1(/)A F2(string)A F0(})A(${)108 492 Q F2
+F0 2.589(,t)C .089(he pattern remo)-2.589 F -.25(va)-.15 G 2.589(lo).25
+G .089(peration is applied to)-2.589 F
+(each member of the array in turn, and the e)144 492 Q
+(xpansion is the resultant list.)-.15 E(${)108 508.8 Q F2(par)A(ameter)
+-.15 E F1(/)A F2(pattern)A F1(/)A F2(string)A F0(})A(${)108 520.8 Q F2
 (par)A(ameter)-.15 E F1(//)A F2(pattern)A F1(/)A F2(string)A F0(})A(The)
-144 504 Q F2(pattern)5.085 E F0 2.585(is e)5.085 F 2.585
+144 532.8 Q F2(pattern)5.085 E F0 2.585(is e)5.085 F 2.585
 (xpanded to produce a pattern just as in pathname e)-.15 F(xpansion.)
 -.15 E F2 -.8(Pa)7.585 G -.15(ra).8 G(meter).15 E F0(is)5.085 E -.15(ex)
-144 516 S 1.17(panded and the longest match of).15 F F2(pattern)3.67 E
-F0(ag)3.669 E 1.169(ainst its v)-.05 F 1.169(alue is replaced with)-.25
-F F2(string)3.669 E F0 6.169(.I)C 3.669(nt)-6.169 G 1.169(he \214rst)
--3.669 F 2.028(form, only the \214rst match is replaced.)144 528 R 2.028
+144 544.8 S 1.169(panded and the longest match of).15 F F2(pattern)3.669
+E F0(ag)3.669 E 1.169(ainst its v)-.05 F 1.17(alue is replaced with)-.25
+F F2(string)3.67 E F0 6.17(.I)C 3.67(nt)-6.17 G 1.17(he \214rst)-3.67 F
+2.028(form, only the \214rst match is replaced.)144 556.8 R 2.028
 (The second form causes all matches of)7.028 F F2(pattern)4.528 E F0
-2.029(to be)4.529 F 1.36(replaced with)144 540 R F2(string)3.86 E F0
+2.028(to be)4.528 F 1.36(replaced with)144 568.8 R F2(string)3.86 E F0
 6.36(.I)C(f)-6.36 E F2(pattern)3.86 E F0(be)3.86 E 1.36(gins with)-.15 F
 F1(#)3.86 E F0 3.86(,i)C 3.86(tm)-3.86 G 1.36(ust match at the be)-3.86
-F 1.36(ginning of the e)-.15 F(xpanded)-.15 E -.25(va)144 552 S .62
-(lue of).25 F F2(par)3.12 E(ameter)-.15 E F0 5.62(.I)C(f)-5.62 E F2
-(pattern)3.12 E F0(be)3.12 E .62(gins with)-.15 F F1(%)3.12 E F0 3.12
-(,i)C 3.121(tm)-3.12 G .621(ust match at the end of the e)-3.121 F .621
-(xpanded v)-.15 F .621(alue of)-.25 F F2(par)144 564 Q(ameter)-.15 E F0
-6.254(.I)C(f)-6.254 E F2(string)3.754 E F0 1.253(is null, matches of)
+F 1.36(ginning of the e)-.15 F(xpanded)-.15 E -.25(va)144 580.8 S .621
+(lue of).25 F F2(par)3.121 E(ameter)-.15 E F0 5.621(.I)C(f)-5.621 E F2
+(pattern)3.121 E F0(be)3.121 E .621(gins with)-.15 F F1(%)3.121 E F0
+3.121(,i)C 3.121(tm)-3.121 G .62(ust match at the end of the e)-3.121 F
+.62(xpanded v)-.15 F .62(alue of)-.25 F F2(par)144 592.8 Q(ameter)-.15 E
+F0 6.253(.I)C(f)-6.253 E F2(string)3.753 E F0 1.253(is null, matches of)
 3.753 F F2(pattern)3.753 E F0 1.253(are deleted and the)3.753 F F1(/)
-3.753 E F0(follo)3.753 E(wing)-.25 E F2(pattern)3.753 E F0 1.253(may be)
-3.753 F 2.678(omitted. If)144 576 R F2(par)3.928 E(ameter)-.15 E F0(is)
-3.408 E F1(@)2.678 E F0(or)2.678 E F1(*)2.679 E F0 2.679(,t)C .179
+3.753 E F0(follo)3.753 E(wing)-.25 E F2(pattern)3.753 E F0 1.254(may be)
+3.754 F 2.679(omitted. If)144 604.8 R F2(par)3.929 E(ameter)-.15 E F0
+(is)3.409 E F1(@)2.679 E F0(or)2.679 E F1(*)2.679 E F0 2.679(,t)C .178
 (he substitution operation is applied to each positional parameter)
--2.679 F .619(in turn, and the e)144 588 R .619
+-2.679 F .618(in turn, and the e)144 616.8 R .619
 (xpansion is the resultant list.)-.15 F(If)5.619 E F2(par)4.369 E
-(ameter)-.15 E F0 .618(is an array v)3.849 F .618
-(ariable subscripted with)-.25 F F1(@)144 600 Q F0(or)3.223 E F1(*)3.223
-E F0 3.223(,t)C .723(he substitution operation is applied to each membe\
-r of the array in turn, and the e)-3.223 F(xpan-)-.15 E
-(sion is the resultant list.)144 612 Q F1(Command Substitution)87 628.8
-Q F2 1.698(Command substitution)108 640.8 R F0(allo)4.198 E 1.697
-(ws the output of a command to replace the command name.)-.25 F 1.697
-(There are tw)6.697 F(o)-.1 E(forms:)108 652.8 Q F1($\()144 674.4 Q F2
-(command)A F1(\))1.666 E F0(or)108 686.4 Q F1(`)144 698.4 Q F2(command)A
-F1(`)A(Bash)108 715.2 Q F0 .019(performs the e)2.519 F .019
-(xpansion by e)-.15 F -.15(xe)-.15 G(cuting).15 E F2(command)2.519 E F0
-.02(and replacing the command substitution with the stan-)2.519 F .768
-(dard output of the command, with an)108 727.2 R 3.268(yt)-.15 G .768
-(railing ne)-3.268 F .768(wlines deleted.)-.25 F .768(Embedded ne)5.768
-F .768(wlines are not deleted, b)-.25 F(ut)-.2 E(GNU Bash-3.1-de)72 768
-Q -.15(ve)-.25 G 123.59(l2).15 G(005 Mar 15)-123.59 E(18)198.17 E 0 Cg
-EP
+(ameter)-.15 E F0 .619(is an array v)3.849 F .619
+(ariable subscripted with)-.25 F F1(@)144 628.8 Q F0(or)3.224 E F1(*)
+3.224 E F0 3.224(,t)C .723(he substitution operation is applied to each\
+ member of the array in turn, and the e)-3.224 F(xpan-)-.15 E
+(sion is the resultant list.)144 640.8 Q F1(Command Substitution)87
+657.6 Q F2 1.697(Command substitution)108 669.6 R F0(allo)4.197 E 1.697
+(ws the output of a command to replace the command name.)-.25 F 1.698
+(There are tw)6.698 F(o)-.1 E(forms:)108 681.6 Q F1($\()144 703.2 Q F2
+(command)A F1(\))1.666 E F0(or)108 715.2 Q F1(`)144 727.2 Q F2(command)A
+F1(`)A F0(GNU Bash-3.1-beta1)72 768 Q(2005 Aug 27)122.91 E(18)197.89 E 0
+Cg EP
 %%Page: 19 20
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E(the)108 84 Q 3.218(ym)-.15 G .718(ay be remo)-3.218 F -.15(ve)
--.15 G 3.218(dd).15 G .719(uring w)-3.218 F .719(ord splitting.)-.1 F
-.719(The command substitution)5.719 F/F1 10/Times-Bold@0 SF($\(cat)3.219
-E/F2 10/Times-Italic@0 SF(\214le)3.219 E F1(\))A F0 .719
-(can be replaced by the)3.219 F(equi)108 96 Q -.25(va)-.25 G(lent b).25
-E(ut f)-.2 E(aster)-.1 E F1($\(<)2.5 E F2(\214le)2.5 E F1(\))A F0(.)A
-1.724(When the old-style backquote form of substitution is used, backsl\
-ash retains its literal meaning e)108 112.8 R(xcept)-.15 E .314
-(when follo)108 124.8 R .314(wed by)-.25 F F1($)2.814 E F0(,)A F1(`)
-2.814 E F0 2.814(,o)C(r)-2.814 E F1(\\)2.814 E F0 5.314(.T)C .315(he \
+-.35 E/F1 10/Times-Bold@0 SF(Bash)108 84 Q F0 .02(performs the e)2.52 F
+.02(xpansion by e)-.15 F -.15(xe)-.15 G(cuting).15 E/F2 10
+/Times-Italic@0 SF(command)2.519 E F0 .019
+(and replacing the command substitution with the stan-)2.519 F .768
+(dard output of the command, with an)108 96 R 3.268(yt)-.15 G .768
+(railing ne)-3.268 F .768(wlines deleted.)-.25 F .768(Embedded ne)5.768
+F .768(wlines are not deleted, b)-.25 F(ut)-.2 E(the)108 108 Q 3.219(ym)
+-.15 G .719(ay be remo)-3.219 F -.15(ve)-.15 G 3.219(dd).15 G .719
+(uring w)-3.219 F .719(ord splitting.)-.1 F .719
+(The command substitution)5.719 F F1($\(cat)3.219 E F2(\214le)3.219 E F1
+(\))A F0 .718(can be replaced by the)3.219 F(equi)108 120 Q -.25(va)-.25
+G(lent b).25 E(ut f)-.2 E(aster)-.1 E F1($\(<)2.5 E F2(\214le)2.5 E F1
+(\))A F0(.)A 1.724(When the old-style backquote form of substitution is\
+ used, backslash retains its literal meaning e)108 136.8 R(xcept)-.15 E
+.315(when follo)108 148.8 R .315(wed by)-.25 F F1($)2.815 E F0(,)A F1(`)
+2.815 E F0 2.815(,o)C(r)-2.815 E F1(\\)2.815 E F0 5.315(.T)C .314(he \
 \214rst backquote not preceded by a backslash terminates the command su\
-b-)-5.314 F 3.887(stitution. When)108 136.8 R 1.387(using the $\()3.887
-F F2(command).833 E F0 3.887(\)f)1.666 G 1.386
-(orm, all characters between the parentheses mak)-3.887 F 3.886(eu)-.1 G
-3.886(pt)-3.886 G 1.386(he com-)-3.886 F
-(mand; none are treated specially)108 148.8 Q(.)-.65 E .894
-(Command substitutions may be nested.)108 165.6 R 2.494 -.8(To n)5.894 H
+b-)-5.315 F 3.886(stitution. When)108 160.8 R 1.386(using the $\()3.886
+F F2(command).833 E F0 3.886(\)f)1.666 G 1.387
+(orm, all characters between the parentheses mak)-3.886 F 3.887(eu)-.1 G
+3.887(pt)-3.887 G 1.387(he com-)-3.887 F
+(mand; none are treated specially)108 172.8 Q(.)-.65 E .894
+(Command substitutions may be nested.)108 189.6 R 2.494 -.8(To n)5.894 H
 .894(est when using the backquoted form, escape the inner back-).8 F
-(quotes with backslashes.)108 177.6 Q .422
-(If the substitution appears within double quotes, w)108 194.4 R .422
-(ord splitting and pathname e)-.1 F .422(xpansion are not performed)-.15
-F(on the results.)108 206.4 Q F1(Arithmetic Expansion)87 223.2 Q F0
-1.034(Arithmetic e)108 235.2 R 1.034(xpansion allo)-.15 F 1.034
+(quotes with backslashes.)108 201.6 Q .422
+(If the substitution appears within double quotes, w)108 218.4 R .422
+(ord splitting and pathname e)-.1 F .423(xpansion are not performed)-.15
+F(on the results.)108 230.4 Q F1(Arithmetic Expansion)87 247.2 Q F0
+1.035(Arithmetic e)108 259.2 R 1.035(xpansion allo)-.15 F 1.035
 (ws the e)-.25 F -.25(va)-.25 G 1.034(luation of an arithmetic e).25 F
-1.035(xpression and the substitution of the result.)-.15 F
-(The format for arithmetic e)108 247.2 Q(xpansion is:)-.15 E F1($\(\()
-144 264 Q F2 -.2(ex)C(pr).2 E(ession)-.37 E F1(\)\))A F0(The)108 280.8 Q
-F2 -.2(ex)2.666 G(pr).2 E(ession)-.37 E F0 .165
-(is treated as if it were within double quotes, b)2.906 F .165
-(ut a double quote inside the parentheses is not)-.2 F 1.074
-(treated specially)108 292.8 R 6.074(.A)-.65 G 1.074(ll tok)-6.074 F
+1.034(xpression and the substitution of the result.)-.15 F
+(The format for arithmetic e)108 271.2 Q(xpansion is:)-.15 E F1($\(\()
+144 288 Q F2 -.2(ex)C(pr).2 E(ession)-.37 E F1(\)\))A F0(The)108 304.8 Q
+F2 -.2(ex)2.665 G(pr).2 E(ession)-.37 E F0 .165
+(is treated as if it were within double quotes, b)2.905 F .166
+(ut a double quote inside the parentheses is not)-.2 F 1.075
+(treated specially)108 316.8 R 6.075(.A)-.65 G 1.074(ll tok)-6.075 F
 1.074(ens in the e)-.1 F 1.074(xpression under)-.15 F 1.074
-(go parameter e)-.18 F 1.074(xpansion, string e)-.15 F 1.075
-(xpansion, command)-.15 F(substitution, and quote remo)108 304.8 Q -.25
+(go parameter e)-.18 F 1.074(xpansion, string e)-.15 F 1.074
+(xpansion, command)-.15 F(substitution, and quote remo)108 328.8 Q -.25
 (va)-.15 G 2.5(l. Arithmetic).25 F -.15(ex)2.5 G
-(pansions may be nested.).15 E 1.379(The e)108 321.6 R -.25(va)-.25 G
+(pansions may be nested.).15 E 1.378(The e)108 345.6 R -.25(va)-.25 G
 1.378(luation is performed according to the rules listed belo).25 F
 3.878(wu)-.25 G(nder)-3.878 E/F3 9/Times-Bold@0 SF 1.378(ARITHMETIC EV)
 3.878 F(ALU)-1.215 E -.855(AT)-.54 G(ION).855 E/F4 9/Times-Roman@0 SF(.)
-A F0(If)5.878 E F2 -.2(ex)108 333.6 S(pr).2 E(ession)-.37 E F0(is in)
+A F0(If)5.879 E F2 -.2(ex)108 357.6 S(pr).2 E(ession)-.37 E F0(is in)
 2.74 E -.25(va)-.4 G(lid,).25 E F1(bash)2.5 E F0
 (prints a message indicating f)2.5 E(ailure and no substitution occurs.)
--.1 E F1(Pr)87 350.4 Q(ocess Substitution)-.18 E F2(Pr)108 362.4 Q .97
+-.1 E F1(Pr)87 374.4 Q(ocess Substitution)-.18 E F2(Pr)108 386.4 Q .971
 (ocess substitution)-.45 F F0 .971
-(is supported on systems that support named pipes \()3.47 F F2(FIFOs)A
-F0 3.471(\)o)C 3.471(rt)-3.471 G(he)-3.471 E F1(/de)3.471 E(v/fd)-.15 E
-F0 .971(method of)3.471 F .022(naming open \214les.)108 374.4 R .021
-(It tak)5.022 F .021(es the form of)-.1 F F1(<\()2.521 E F2(list)A F1
-(\)).833 E F0(or)2.521 E F1(>\()2.521 E F2(list)A F1(\)).833 E F0 5.021
-(.T)C .021(he process)-5.021 F F2(list)2.521 E F0 .021
-(is run with its input or output con-)2.521 F .058(nected to a)108 386.4
-R F2(FIFO)2.558 E F0 .058(or some \214le in)2.558 F F1(/de)2.558 E(v/fd)
+(is supported on systems that support named pipes \()3.471 F F2(FIFOs)A
+F0 3.47(\)o)C 3.47(rt)-3.47 G(he)-3.47 E F1(/de)3.47 E(v/fd)-.15 E F0
+.97(method of)3.47 F .021(naming open \214les.)108 398.4 R .021(It tak)
+5.021 F .021(es the form of)-.1 F F1(<\()2.521 E F2(list)A F1(\)).833 E
+F0(or)2.521 E F1(>\()2.521 E F2(list)A F1(\)).833 E F0 5.021(.T)C .021
+(he process)-5.021 F F2(list)2.521 E F0 .021
+(is run with its input or output con-)2.521 F .059(nected to a)108 410.4
+R F2(FIFO)2.559 E F0 .058(or some \214le in)2.559 F F1(/de)2.558 E(v/fd)
 -.15 E F0 5.058(.T)C .058(he name of this \214le is passed as an ar)
--5.058 F .059(gument to the current com-)-.18 F .131
-(mand as the result of the e)108 398.4 R 2.631(xpansion. If)-.15 F(the)
+-5.058 F .058(gument to the current com-)-.18 F .13
+(mand as the result of the e)108 422.4 R 2.63(xpansion. If)-.15 F(the)
 2.63 E F1(>\()2.63 E F2(list)A F1(\)).833 E F0 .13
-(form is used, writing to the \214le will pro)2.63 F .13(vide input for)
--.15 F F2(list)2.63 E F0(.)A(If the)108 410.4 Q F1(<\()2.5 E F2(list)A
-F1(\)).833 E F0(form is used, the \214le passed as an ar)2.5 E
+(form is used, writing to the \214le will pro)2.63 F .131
+(vide input for)-.15 F F2(list)2.631 E F0(.)A(If the)108 434.4 Q F1(<\()
+2.5 E F2(list)A F1(\)).833 E F0
+(form is used, the \214le passed as an ar)2.5 E
 (gument should be read to obtain the output of)-.18 E F2(list)2.5 E F0
-(.)A .896(When a)108 427.2 R -.25(va)-.2 G .896(ilable, process substit\
-ution is performed simultaneously with parameter and v).25 F .897
+(.)A .897(When a)108 451.2 R -.25(va)-.2 G .896(ilable, process substit\
+ution is performed simultaneously with parameter and v).25 F .896
 (ariable e)-.25 F(xpansion,)-.15 E
-(command substitution, and arithmetic e)108 439.2 Q(xpansion.)-.15 E F1
--.75(Wo)87 456 S(rd Splitting).75 E F0 1.143
-(The shell scans the results of parameter e)108 468 R 1.142
-(xpansion, command substitution, and arithmetic e)-.15 F 1.142
-(xpansion that)-.15 F(did not occur within double quotes for)108 480 Q
+(command substitution, and arithmetic e)108 463.2 Q(xpansion.)-.15 E F1
+-.75(Wo)87 480 S(rd Splitting).75 E F0 1.142
+(The shell scans the results of parameter e)108 492 R 1.143
+(xpansion, command substitution, and arithmetic e)-.15 F 1.143
+(xpansion that)-.15 F(did not occur within double quotes for)108 504 Q
 F2(wor)2.5 E 2.5(ds)-.37 G(plitting)-2.5 E F0(.).22 E .063
-(The shell treats each character of)108 496.8 R F3(IFS)2.563 E F0 .063
+(The shell treats each character of)108 520.8 R F3(IFS)2.563 E F0 .063
 (as a delimiter)2.313 F 2.563(,a)-.4 G .063
 (nd splits the results of the other e)-2.563 F .063(xpansions into w)
--.15 F(ords)-.1 E .628(on these characters.)108 508.8 R(If)5.628 E F3
-(IFS)3.128 E F0 .627(is unset, or its v)2.877 F .627(alue is e)-.25 F
-(xactly)-.15 E F1(<space><tab><newline>)3.127 E F0 3.127(,t)C .627
-(he def)-3.127 F .627(ault, then an)-.1 F(y)-.15 E 2.527(sequence of)108
-520.8 R F3(IFS)5.027 E F0 2.527(characters serv)4.777 F 2.527
+-.15 F(ords)-.1 E .627(on these characters.)108 532.8 R(If)5.627 E F3
+(IFS)3.127 E F0 .627(is unset, or its v)2.877 F .627(alue is e)-.25 F
+(xactly)-.15 E F1(<space><tab><newline>)3.127 E F0 3.128(,t)C .628
+(he def)-3.128 F .628(ault, then an)-.1 F(y)-.15 E 2.528(sequence of)108
+544.8 R F3(IFS)5.028 E F0 2.527(characters serv)4.778 F 2.527
 (es to delimit w)-.15 F 5.027(ords. If)-.1 F F3(IFS)5.027 E F0 2.527
-(has a v)4.777 F 2.527(alue other than the def)-.25 F 2.528(ault, then)
--.1 F .363(sequences of the whitespace characters)108 532.8 R F1(space)
+(has a v)4.777 F 2.527(alue other than the def)-.25 F 2.527(ault, then)
+-.1 F .362(sequences of the whitespace characters)108 556.8 R F1(space)
 2.863 E F0(and)2.863 E F1(tab)2.863 E F0 .363(are ignored at the be)
-2.863 F .362(ginning and end of the w)-.15 F .362(ord, as)-.1 F .334
-(long as the whitespace character is in the v)108 544.8 R .334(alue of)
--.25 F F3(IFS)2.834 E F0(\(an)2.584 E F3(IFS)2.834 E F0 .335
-(whitespace character\).)2.585 F(An)5.335 E 2.835(yc)-.15 G .335
-(haracter in)-2.835 F F3(IFS)2.835 E F0 .296(that is not)108 556.8 R F3
+2.863 F .363(ginning and end of the w)-.15 F .363(ord, as)-.1 F .335
+(long as the whitespace character is in the v)108 568.8 R .334(alue of)
+-.25 F F3(IFS)2.834 E F0(\(an)2.584 E F3(IFS)2.834 E F0 .334
+(whitespace character\).)2.584 F(An)5.334 E 2.834(yc)-.15 G .334
+(haracter in)-2.834 F F3(IFS)2.834 E F0 .295(that is not)108 580.8 R F3
 (IFS)2.795 E F0 .295(whitespace, along with an)2.545 F 2.795(ya)-.15 G
 (djacent)-2.795 E F3(IFS)2.795 E F0 .295
-(whitespace characters, delimits a \214eld.)2.545 F 2.795(As)5.295 G
-(equence)-2.795 E(of)108 568.8 Q F3(IFS)3.752 E F0 1.252
-(whitespace characters is also treated as a delimiter)3.502 F 6.252(.I)
+(whitespace characters, delimits a \214eld.)2.545 F 2.796(As)5.296 G
+(equence)-2.796 E(of)108 592.8 Q F3(IFS)3.753 E F0 1.252
+(whitespace characters is also treated as a delimiter)3.503 F 6.252(.I)
 -.55 G 3.752(ft)-6.252 G 1.252(he v)-3.752 F 1.252(alue of)-.25 F F3
-(IFS)3.752 E F0 1.253(is null, no w)3.502 F 1.253(ord splitting)-.1 F
-(occurs.)108 580.8 Q 1.8(Explicit null ar)108 597.6 R 1.8(guments \()
--.18 F F1 .833("").833 G F0(or)3.467 E F1 .833('')5.133 G F0 4.3(\)a)C
-1.8(re retained.)-4.3 F 1.799(Unquoted implicit null ar)6.8 F 1.799
-(guments, resulting from the)-.18 F -.15(ex)108 609.6 S .176
-(pansion of parameters that ha).15 F .476 -.15(ve n)-.2 H 2.676(ov).15 G
-.176(alues, are remo)-2.926 F -.15(ve)-.15 G 2.676(d. If).15 F 2.677(ap)
-2.677 G .177(arameter with no v)-2.677 F .177(alue is e)-.25 F .177
-(xpanded within)-.15 F(double quotes, a null ar)108 621.6 Q
-(gument results and is retained.)-.18 E(Note that if no e)108 638.4 Q
-(xpansion occurs, no splitting is performed.)-.15 E F1 -.1(Pa)87 655.2 S
-(thname Expansion).1 E F0 .371(After w)108 667.2 R .371
-(ord splitting, unless the)-.1 F F1<ad66>2.871 E F0 .371
-(option has been set,)2.871 F F1(bash)2.871 E F0 .37(scans each w)2.87 F
-.37(ord for the characters)-.1 F F1(*)2.87 E F0(,)A F1(?)2.87 E F0 2.87
-(,a)C(nd)-2.87 E F1([)2.87 E F0(.)A .677
-(If one of these characters appears, then the w)108 679.2 R .677
+(IFS)3.752 E F0 1.252(is null, no w)3.502 F 1.252(ord splitting)-.1 F
+(occurs.)108 604.8 Q 1.799(Explicit null ar)108 621.6 R 1.799
+(guments \()-.18 F F1 .833("").833 G F0(or)3.466 E F1 .833('')5.132 G F0
+4.3(\)a)C 1.8(re retained.)-4.3 F 1.8(Unquoted implicit null ar)6.8 F
+1.8(guments, resulting from the)-.18 F -.15(ex)108 633.6 S .177
+(pansion of parameters that ha).15 F .477 -.15(ve n)-.2 H 2.677(ov).15 G
+.177(alues, are remo)-2.927 F -.15(ve)-.15 G 2.676(d. If).15 F 2.676(ap)
+2.676 G .176(arameter with no v)-2.676 F .176(alue is e)-.25 F .176
+(xpanded within)-.15 F(double quotes, a null ar)108 645.6 Q
+(gument results and is retained.)-.18 E(Note that if no e)108 662.4 Q
+(xpansion occurs, no splitting is performed.)-.15 E F1 -.1(Pa)87 679.2 S
+(thname Expansion).1 E F0 .37(After w)108 691.2 R .37
+(ord splitting, unless the)-.1 F F1<ad66>2.87 E F0 .37
+(option has been set,)2.87 F F1(bash)2.87 E F0 .371(scans each w)2.871 F
+.371(ord for the characters)-.1 F F1(*)2.871 E F0(,)A F1(?)2.871 E F0
+2.871(,a)C(nd)-2.871 E F1([)2.871 E F0(.)A .678
+(If one of these characters appears, then the w)108 703.2 R .677
 (ord is re)-.1 F -.05(ga)-.15 G .677(rded as a).05 F F2(pattern)3.177 E
-F0 3.177(,a).24 G .678(nd replaced with an alphabeti-)-3.177 F 1.457
-(cally sorted list of \214le names matching the pattern.)108 691.2 R
-1.456(If no matching \214le names are found, and the shell)6.457 F
-(option)108 703.2 Q F1(nullglob)3.265 E F0 .765(is disabled, the w)3.265
+F0 3.177(,a).24 G .677(nd replaced with an alphabeti-)-3.177 F 1.456
+(cally sorted list of \214le names matching the pattern.)108 715.2 R
+1.457(If no matching \214le names are found, and the shell)6.457 F
+(option)108 727.2 Q F1(nullglob)3.265 E F0 .765(is disabled, the w)3.265
 F .765(ord is left unchanged.)-.1 F .765(If the)5.765 F F1(nullglob)
-3.265 E F0 .765(option is set, and no matches are)3.265 F .306
-(found, the w)108 715.2 R .306(ord is remo)-.1 F -.15(ve)-.15 G 2.806
-(d. If).15 F(the)2.805 E F1(failglob)2.805 E F0 .305
-(shell option is set, and no matches are found, an error message)2.805 F
-2.065(is printed and the command is not e)108 727.2 R -.15(xe)-.15 G
-4.565(cuted. If).15 F 2.065(the shell option)4.565 F F1(nocaseglob)4.565
-E F0 2.066(is enabled, the match is)4.566 F(GNU Bash-3.1-de)72 768 Q
--.15(ve)-.25 G 123.59(l2).15 G(005 Mar 15)-123.59 E(19)198.17 E 0 Cg EP
+3.265 E F0 .765(option is set, and no matches are)3.265 F
+(GNU Bash-3.1-beta1)72 768 Q(2005 Aug 27)122.91 E(19)197.89 E 0 Cg EP
 %%Page: 20 21
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E .225(performed without re)108 84 R -.05(ga)-.15 G .225
-(rd to the case of alphabetic characters.).05 F .224
-(When a pattern is used for pathname e)5.224 F(xpan-)-.15 E .428
-(sion, the character)108 96 R/F1 10/Times-Bold@0 SF -.63(``)2.928 G -.55
-(.').63 G(')-.08 E F0 .428(at the start of a name or immediately follo)
-5.428 F .429(wing a slash must be matched e)-.25 F(xplicitly)-.15 E(,)
--.65 E 1.443(unless the shell option)108 108 R F1(dotglob)3.943 E F0
-1.443(is set.)3.943 F 1.442
-(When matching a pathname, the slash character must al)6.443 F -.1(wa)
--.1 G 1.442(ys be).1 F .56(matched e)108 120 R(xplicitly)-.15 E 5.56(.I)
--.65 G 3.06(no)-5.56 G .56(ther cases, the)-3.06 F F1 -.63(``)3.06 G
--.55(.').63 G(')-.08 E F0 .56(character is not treated specially)5.56 F
-5.56(.S)-.65 G .56(ee the description of)-5.56 F F1(shopt)3.06 E F0
-(belo)108 132 Q 3.596(wu)-.25 G(nder)-3.596 E/F2 9/Times-Bold@0 SF 1.096
-(SHELL B)3.596 F(UIL)-.09 E 1.096(TIN COMMANDS)-.828 F F0 1.096
-(for a description of the)3.346 F F1(nocaseglob)3.596 E F0(,)A F1
-(nullglob)3.596 E F0(,)A F1(failglob)3.595 E F0 3.595(,a)C(nd)-3.595 E
-F1(dotglob)108 144 Q F0(shell options.)2.5 E(The)108 160.8 Q F2
-(GLOBIGNORE)2.63 E F0 .13(shell v)2.38 F .131
+-.35 E .305(found, the w)108 84 R .305(ord is remo)-.1 F -.15(ve)-.15 G
+2.805(d. If).15 F(the)2.805 E/F1 10/Times-Bold@0 SF(failglob)2.805 E F0
+.305(shell option is set, and no matches are found, an error message)
+2.805 F .929(is printed and the command is not e)108 96 R -.15(xe)-.15 G
+3.428(cuted. If).15 F .928(the shell option)3.428 F F1(nocaseglob)3.428
+E F0 .928(is enabled, the match is per)3.428 F(-)-.2 E .032
+(formed without re)108 108 R -.05(ga)-.15 G .032
+(rd to the case of alphabetic characters.).05 F .033
+(When a pattern is used for pathname e)5.033 F(xpansion,)-.15 E .105
+(the character)108 120 R F1 -.63(``)2.605 G -.55(.').63 G(')-.08 E F0
+.105(at the start of a name or immediately follo)5.105 F .104
+(wing a slash must be matched e)-.25 F(xplicitly)-.15 E 2.604(,u)-.65 G
+(nless)-2.604 E .887(the shell option)108 132 R F1(dotglob)3.387 E F0
+.887(is set.)3.387 F .888
+(When matching a pathname, the slash character must al)5.887 F -.1(wa)
+-.1 G .888(ys be matched).1 F -.15(ex)108 144 S(plicitly).15 E 6.166(.I)
+-.65 G 3.666(no)-6.166 G 1.166(ther cases, the)-3.666 F F1 -.63(``)3.666
+G -.55(.').63 G(')-.08 E F0 1.166(character is not treated specially)
+6.166 F 6.165(.S)-.65 G 1.165(ee the description of)-6.165 F F1(shopt)
+3.665 E F0(belo)3.665 E(w)-.25 E(under)108 156 Q/F2 9/Times-Bold@0 SF
+.477(SHELL B)2.977 F(UIL)-.09 E .477(TIN COMMANDS)-.828 F F0 .477
+(for a description of the)2.727 F F1(nocaseglob)2.978 E F0(,)A F1
+(nullglob)2.978 E F0(,)A F1(failglob)2.978 E F0 2.978(,a)C(nd)-2.978 E
+F1(dotglob)2.978 E F0(shell options.)108 168 Q(The)108 184.8 Q F2
+(GLOBIGNORE)2.631 E F0 .131(shell v)2.381 F .131
 (ariable may be used to restrict the set of \214le names matching a)-.25
-F/F3 10/Times-Italic@0 SF(pattern)2.631 E F0 5.131(.I).24 G(f)-5.131 E
-F2(GLO-)2.631 E(BIGNORE)108 172.8 Q F0 2.015(is set, each matching \214\
-le name that also matches one of the patterns in)4.265 F F2(GLOBIGNORE)
-4.515 E F0(is)4.264 E(remo)108 184.8 Q -.15(ve)-.15 G 2.503(df).15 G
-.003(rom the list of matches.)-2.503 F .003(The \214le names)5.003 F F1
+F/F3 10/Times-Italic@0 SF(pattern)2.63 E F0 5.13(.I).24 G(f)-5.13 E F2
+(GLO-)2.63 E(BIGNORE)108 196.8 Q F0 2.015(is set, each matching \214le \
+name that also matches one of the patterns in)4.264 F F2(GLOBIGNORE)
+4.515 E F0(is)4.265 E(remo)108 208.8 Q -.15(ve)-.15 G 2.504(df).15 G
+.004(rom the list of matches.)-2.504 F .003(The \214le names)5.003 F F1
 -.63(``)2.503 G -.55(.').63 G(')-.08 E F0(and)5.003 E F1 -.63(``)2.503 G
-(..).63 E -.63('')-.55 G F0 .004(are al)5.633 F -.1(wa)-.1 G .004
-(ys ignored when).1 F F2(GLOBIGNORE)2.504 E F0(is)2.254 E .046
-(set and not null.)108 196.8 R(Ho)5.046 E(we)-.25 E -.15(ve)-.25 G .846
--.4(r, s).15 H(etting).4 E F2(GLOBIGNORE)2.546 E F0 .046
-(to a non-null v)2.296 F .045(alue has the ef)-.25 F .045
-(fect of enabling the)-.25 F F1(dotglob)2.545 E F0 .613
-(shell option, so all other \214le names be)108 208.8 R .614
+(..).63 E -.63('')-.55 G F0 .003(are al)5.633 F -.1(wa)-.1 G .003
+(ys ignored when).1 F F2(GLOBIGNORE)2.503 E F0(is)2.253 E .045
+(set and not null.)108 220.8 R(Ho)5.045 E(we)-.25 E -.15(ve)-.25 G .845
+-.4(r, s).15 H(etting).4 E F2(GLOBIGNORE)2.545 E F0 .046
+(to a non-null v)2.296 F .046(alue has the ef)-.25 F .046
+(fect of enabling the)-.25 F F1(dotglob)2.546 E F0 .614
+(shell option, so all other \214le names be)108 232.8 R .614
 (ginning with a)-.15 F F1 -.63(``)3.114 G -.55(.').63 G(')-.08 E F0 .614
-(will match.)5.614 F 2.214 -.8(To g)5.614 H .614(et the old beha).8 F
-.614(vior of ignoring)-.2 F .457(\214le names be)108 220.8 R .457
+(will match.)5.614 F 2.213 -.8(To g)5.614 H .613(et the old beha).8 F
+.613(vior of ignoring)-.2 F .456(\214le names be)108 244.8 R .456
 (ginning with a)-.15 F F1 -.63(``)2.957 G -.55(.').63 G(')-.08 E F0
 2.957(,m)C(ak)-2.957 E(e)-.1 E F1 -.63(``)2.957 G(.*').63 E(')-.63 E F0
 .457(one of the patterns in)5.457 F F2(GLOBIGNORE)2.957 E/F4 9
-/Times-Roman@0 SF(.)A F0(The)4.957 E F1(dotglob)2.956 E F0 .456
-(option is)2.956 F(disabled when)108 232.8 Q F2(GLOBIGNORE)2.5 E F0
-(is unset.)2.25 E F1 -.1(Pa)108 249.6 S(tter).1 E 2.5(nM)-.15 G(atching)
--2.5 E F0(An)108 266.4 Q 3.138(yc)-.15 G .638(haracter that appears in \
+/Times-Roman@0 SF(.)A F0(The)4.957 E F1(dotglob)2.957 E F0 .457
+(option is)2.957 F(disabled when)108 256.8 Q F2(GLOBIGNORE)2.5 E F0
+(is unset.)2.25 E F1 -.1(Pa)108 273.6 S(tter).1 E 2.5(nM)-.15 G(atching)
+-2.5 E F0(An)108 290.4 Q 3.138(yc)-.15 G .638(haracter that appears in \
 a pattern, other than the special pattern characters described belo)
--3.138 F 1.938 -.65(w, m)-.25 H(atches).65 E 3.62(itself. The)108 278.4
+-3.138 F 1.938 -.65(w, m)-.25 H(atches).65 E 3.62(itself. The)108 302.4
 R 1.12(NUL character may not occur in a pattern.)3.62 F 3.62(Ab)6.12 G
 1.12(ackslash escapes the follo)-3.62 F 1.12(wing character; the)-.25 F
-.576(escaping backslash is discarded when matching.)108 290.4 R .576
+.576(escaping backslash is discarded when matching.)108 314.4 R .576
 (The special pattern characters must be quoted if the)5.576 F 3.076(ya)
--.15 G(re)-3.076 E(to be matched literally)108 302.4 Q(.)-.65 E
-(The special pattern characters ha)108 319.2 Q .3 -.15(ve t)-.2 H
-(he follo).15 E(wing meanings:)-.25 E F1(*)108 336 Q F0(Matches an)31 E
-2.5(ys)-.15 G(tring, including the null string.)-2.5 E F1(?)108 348 Q F0
+-.15 G(re)-3.076 E(to be matched literally)108 326.4 Q(.)-.65 E
+(The special pattern characters ha)108 343.2 Q .3 -.15(ve t)-.2 H
+(he follo).15 E(wing meanings:)-.25 E F1(*)108 360 Q F0(Matches an)31 E
+2.5(ys)-.15 G(tring, including the null string.)-2.5 E F1(?)108 372 Q F0
 (Matches an)31 E 2.5(ys)-.15 G(ingle character)-2.5 E(.)-.55 E F1([...])
-108 360 Q F0 .257(Matches an)21.84 F 2.757(yo)-.15 G .257
-(ne of the enclosed characters.)-2.757 F 2.757(Ap)5.257 G .257
-(air of characters separated by a h)-2.757 F .256(yphen denotes a)-.05 F
-F3 -.15(ra)144 372 S(ng).15 E 3.289(ee)-.1 G(xpr)-3.489 E(ession)-.37 E
-F0 3.289(;a)C 1.089 -.15(ny c)-3.289 H .789
+108 384 Q F0 .256(Matches an)21.84 F 2.756(yo)-.15 G .257
+(ne of the enclosed characters.)-2.756 F 2.757(Ap)5.257 G .257
+(air of characters separated by a h)-2.757 F .257(yphen denotes a)-.05 F
+F3 -.15(ra)144 396 S(ng).15 E 3.29(ee)-.1 G(xpr)-3.49 E(ession)-.37 E F0
+3.29(;a)C 1.09 -.15(ny c)-3.29 H .789
 (haracter that sorts between those tw).15 F 3.289(oc)-.1 G .789
-(haracters, inclusi)-3.289 F -.15(ve)-.25 G 3.29(,u).15 G .79
-(sing the cur)-3.29 F(-)-.2 E .35(rent locale')144 384 R 2.85(sc)-.55 G
-.35(ollating sequence and character set, is matched.)-2.85 F .349
-(If the \214rst character follo)5.349 F .349(wing the)-.25 F F1([)2.849
-E F0 .563(is a)144 396 R F1(!)3.063 E F0 .563(or a)5.563 F F1(^)3.063 E
-F0 .564(then an)3.063 F 3.064(yc)-.15 G .564
-(haracter not enclosed is matched.)-3.064 F .564
-(The sorting order of characters in range)5.564 F -.15(ex)144 408 S
+(haracters, inclusi)-3.289 F -.15(ve)-.25 G 3.289(,u).15 G .789
+(sing the cur)-3.289 F(-)-.2 E .349(rent locale')144 408 R 2.849(sc)-.55
+G .349(ollating sequence and character set, is matched.)-2.849 F .35
+(If the \214rst character follo)5.349 F .35(wing the)-.25 F F1([)2.85 E
+F0 .564(is a)144 420 R F1(!)3.064 E F0 .564(or a)5.564 F F1(^)3.064 E F0
+.564(then an)3.064 F 3.064(yc)-.15 G .564
+(haracter not enclosed is matched.)-3.064 F .563
+(The sorting order of characters in range)5.564 F -.15(ex)144 432 S
 1.102(pressions is determined by the current locale and the v).15 F
-1.102(alue of the)-.25 F F1(LC_COLLA)3.602 E(TE)-.95 E F0 1.102(shell v)
-3.602 F(ari-)-.25 E .088(able, if set.)144 420 R(A)5.088 E F1<ad>2.588 E
+1.102(alue of the)-.25 F F1(LC_COLLA)3.602 E(TE)-.95 E F0 1.103(shell v)
+3.603 F(ari-)-.25 E .089(able, if set.)144 444 R(A)5.089 E F1<ad>2.589 E
 F0 .088(may be matched by including it as the \214rst or last character\
- in the set.)2.588 F(A)5.089 E F1(])2.589 E F0 .089(may be)2.589 F
-(matched by including it as the \214rst character in the set.)144 432 Q
--.4(Wi)144 450 S(thin).4 E F1([)2.915 E F0(and)2.915 E F1(])2.915 E F0
-(,)A F3 -.15(ch)2.915 G(ar).15 E .415(acter classes)-.15 F F0 .415
+ in the set.)2.589 F(A)5.088 E F1(])2.588 E F0 .088(may be)2.588 F
+(matched by including it as the \214rst character in the set.)144 456 Q
+-.4(Wi)144 474 S(thin).4 E F1([)2.914 E F0(and)2.914 E F1(])2.914 E F0
+(,)A F3 -.15(ch)2.914 G(ar).15 E .414(acter classes)-.15 F F0 .415
 (can be speci\214ed using the syntax)2.915 F F1([:)2.915 E F3(class)A F1
-(:])A F0 2.914(,w)C(here)-2.914 E F3(class)2.914 E F0 .414(is one of)
-2.914 F(the follo)144 462 Q
+(:])A F0 2.915(,w)C(here)-2.915 E F3(class)2.915 E F0 .415(is one of)
+2.915 F(the follo)144 486 Q
 (wing classes de\214ned in the POSIX.2 standard:)-.25 E F1 5.421
-(alnum alpha ascii blank cntrl digit graph lo)144 474 R 5.421
-(wer print punct space upper w)-.1 F(ord)-.1 E(xdigit)144 486 Q F0 2.519
-(Ac)144 498 S .019(haracter class matches an)-2.519 F 2.519(yc)-.15 G
-.019(haracter belonging to that class.)-2.519 F(The)5.018 E F1 -.1(wo)
-2.518 G(rd).1 E F0 .018(character class matches)2.518 F
-(letters, digits, and the character _.)144 510 Q -.4(Wi)144 528 S(thin)
-.4 E F1([)3.546 E F0(and)3.546 E F1(])3.546 E F0 3.546(,a)C(n)-3.546 E
+(alnum alpha ascii blank cntrl digit graph lo)144 498 R 5.421
+(wer print punct space upper w)-.1 F(ord)-.1 E(xdigit)144 510 Q F0 2.518
+(Ac)144 522 S .018(haracter class matches an)-2.518 F 2.518(yc)-.15 G
+.019(haracter belonging to that class.)-2.518 F(The)5.019 E F1 -.1(wo)
+2.519 G(rd).1 E F0 .019(character class matches)2.519 F
+(letters, digits, and the character _.)144 534 Q -.4(Wi)144 552 S(thin)
+.4 E F1([)3.547 E F0(and)3.547 E F1(])3.547 E F0 3.547(,a)C(n)-3.547 E
 F3 1.046(equivalence class)3.546 F F0 1.046
-(can be speci\214ed using the syntax)3.546 F F1([=)3.547 E F3(c)A F1(=])
-A F0 3.547(,w)C 1.047(hich matches all)-3.547 F(characters with the sam\
+(can be speci\214ed using the syntax)3.546 F F1([=)3.546 E F3(c)A F1(=])
+A F0 3.546(,w)C 1.046(hich matches all)-3.546 F(characters with the sam\
 e collation weight \(as de\214ned by the current locale\) as the charac\
-ter)144 540 Q F3(c)2.5 E F0(.)A -.4(Wi)144 558 S(thin).4 E F1([)2.5 E F0
+ter)144 564 Q F3(c)2.5 E F0(.)A -.4(Wi)144 582 S(thin).4 E F1([)2.5 E F0
 (and)2.5 E F1(])2.5 E F0 2.5(,t)C(he syntax)-2.5 E F1([.)2.5 E F3
 (symbol)A F1(.])A F0(matches the collating symbol)2.5 E F3(symbol)2.5 E
-F0(.)A .705(If the)108 574.8 R F1(extglob)3.205 E F0 .705
-(shell option is enabled using the)3.205 F F1(shopt)3.205 E F0 -.2(bu)
-3.205 G .704(iltin, se).2 F -.15(ve)-.25 G .704(ral e).15 F .704
-(xtended pattern matching operators)-.15 F .255(are recognized.)108
-586.8 R .255(In the follo)5.255 F .255(wing description, a)-.25 F F3
+F0(.)A .704(If the)108 598.8 R F1(extglob)3.204 E F0 .705
+(shell option is enabled using the)3.204 F F1(shopt)3.205 E F0 -.2(bu)
+3.205 G .705(iltin, se).2 F -.15(ve)-.25 G .705(ral e).15 F .705
+(xtended pattern matching operators)-.15 F .256(are recognized.)108
+610.8 R .256(In the follo)5.256 F .256(wing description, a)-.25 F F3
 (pattern-list)2.755 E F0 .255
-(is a list of one or more patterns separated by a)2.755 F F1(|)2.756 E
+(is a list of one or more patterns separated by a)2.755 F F1(|)2.755 E
 F0(.)A(Composite patterns may be formed using one or more of the follo)
-108 598.8 Q(wing sub-patterns:)-.25 E F1(?\()144 622.8 Q F3
+108 622.8 Q(wing sub-patterns:)-.25 E F1(?\()144 646.8 Q F3
 (pattern-list).833 E F1(\)).833 E F0
-(Matches zero or one occurrence of the gi)180 634.8 Q -.15(ve)-.25 G 2.5
-(np).15 G(atterns)-2.5 E F1(*\()144 646.8 Q F3(pattern-list).833 E F1
-(\)).833 E F0(Matches zero or more occurrences of the gi)180 658.8 Q
--.15(ve)-.25 G 2.5(np).15 G(atterns)-2.5 E F1(+\()144 670.8 Q F3
+(Matches zero or one occurrence of the gi)180 658.8 Q -.15(ve)-.25 G 2.5
+(np).15 G(atterns)-2.5 E F1(*\()144 670.8 Q F3(pattern-list).833 E F1
+(\)).833 E F0(Matches zero or more occurrences of the gi)180 682.8 Q
+-.15(ve)-.25 G 2.5(np).15 G(atterns)-2.5 E F1(+\()144 694.8 Q F3
 (pattern-list).833 E F1(\)).833 E F0
-(Matches one or more occurrences of the gi)180 682.8 Q -.15(ve)-.25 G
-2.5(np).15 G(atterns)-2.5 E F1(@\()144 694.8 Q F3(pattern-list).833 E F1
-(\)).833 E F0(Matches one of the gi)180 706.8 Q -.15(ve)-.25 G 2.5(np)
-.15 G(atterns)-2.5 E(GNU Bash-3.1-de)72 768 Q -.15(ve)-.25 G 123.59(l2)
-.15 G(005 Mar 15)-123.59 E(20)198.17 E 0 Cg EP
+(Matches one or more occurrences of the gi)180 706.8 Q -.15(ve)-.25 G
+2.5(np).15 G(atterns)-2.5 E(GNU Bash-3.1-beta1)72 768 Q(2005 Aug 27)
+122.91 E(20)197.89 E 0 Cg EP
 %%Page: 21 22
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E/F1 10/Times-Bold@0 SF(!\()144 84 Q/F2 10/Times-Italic@0 SF
-(pattern-list).833 E F1(\)).833 E F0(Matches an)180 96 Q(ything e)-.15 E
+-.35 E/F1 10/Times-Bold@0 SF(@\()144 84 Q/F2 10/Times-Italic@0 SF
+(pattern-list).833 E F1(\)).833 E F0(Matches one of the gi)180 96 Q -.15
+(ve)-.25 G 2.5(np).15 G(atterns)-2.5 E F1(!\()144 108 Q F2(pattern-list)
+.833 E F1(\)).833 E F0(Matches an)180 120 Q(ything e)-.15 E
 (xcept one of the gi)-.15 E -.15(ve)-.25 G 2.5(np).15 G(atterns)-2.5 E
-F1(Quote Remo)87 112.8 Q -.1(va)-.1 G(l).1 E F0 1.081
-(After the preceding e)108 124.8 R 1.08
+F1(Quote Remo)87 136.8 Q -.1(va)-.1 G(l).1 E F0 1.08
+(After the preceding e)108 148.8 R 1.08
 (xpansions, all unquoted occurrences of the characters)-.15 F F1(\\)3.58
-E F0(,)A F1(')3.58 E F0 3.58(,a)C(nd)-3.58 E F1(")4.413 E F0 1.08
-(that did not result)4.413 F(from one of the abo)108 136.8 Q .3 -.15
+E F0(,)A F1(')3.58 E F0 3.58(,a)C(nd)-3.58 E F1(")4.413 E F0 1.081
+(that did not result)4.414 F(from one of the abo)108 160.8 Q .3 -.15
 (ve ex)-.15 H(pansions are remo).15 E -.15(ve)-.15 G(d.).15 E/F3 10.95
-/Times-Bold@0 SF(REDIRECTION)72 153.6 Q F0 .545(Before a command is e)
-108 165.6 R -.15(xe)-.15 G .545(cuted, its input and output may be).15 F
+/Times-Bold@0 SF(REDIRECTION)72 177.6 Q F0 .545(Before a command is e)
+108 189.6 R -.15(xe)-.15 G .545(cuted, its input and output may be).15 F
 F2 -.37(re)3.045 G(dir).37 E(ected)-.37 E F0 .545
-(using a special notation interpreted)3.815 F .617(by the shell.)108
-177.6 R .617(Redirection may also be used to open and close \214les for\
- the current shell e)5.617 F -.15(xe)-.15 G .616(cution en).15 F(viron-)
--.4 E 3.274(ment. The)108 189.6 R(follo)3.274 E .774
+(using a special notation interpreted)3.815 F .616(by the shell.)108
+201.6 R .617(Redirection may also be used to open and close \214les for\
+ the current shell e)5.616 F -.15(xe)-.15 G .617(cution en).15 F(viron-)
+-.4 E 3.275(ment. The)108 213.6 R(follo)3.275 E .774
 (wing redirection operators may precede or appear an)-.25 F .774
-(ywhere within a)-.15 F F2 .775(simple command)3.615 F F0(or)4.045 E
-(may follo)108 201.6 Q 2.5(wa)-.25 G F2(command)A F0 5(.R).77 G
+(ywhere within a)-.15 F F2 .774(simple command)3.614 F F0(or)4.044 E
+(may follo)108 225.6 Q 2.5(wa)-.25 G F2(command)A F0 5(.R).77 G
 (edirections are processed in the order the)-5 E 2.5(ya)-.15 G(ppear)
--2.5 E 2.5(,f)-.4 G(rom left to right.)-2.5 E .448(In the follo)108
-218.4 R .447(wing descriptions, if the \214le descriptor number is omit\
-ted, and the \214rst character of the redirec-)-.25 F .365
-(tion operator is)108 230.4 R F1(<)2.865 E F0 2.865(,t)C .366
+-2.5 E 2.5(,f)-.4 G(rom left to right.)-2.5 E .283(In the follo)108
+242.4 R .284(wing descriptions, if the \214le descriptor number is omit\
+ted, and the \214rst character of the redirect-)-.25 F .513
+(ion operator is)108 254.4 R F1(<)3.012 E F0 3.012(,t)C .512
 (he redirection refers to the standard input \(\214le descriptor 0\).)
--2.865 F .366(If the \214rst character of the)5.366 F
-(redirection operator is)108 242.4 Q F1(>)2.5 E F0 2.5(,t)C
+-3.012 F .512(If the \214rst character of the)5.512 F
+(redirection operator is)108 266.4 Q F1(>)2.5 E F0 2.5(,t)C
 (he redirection refers to the standard output \(\214le descriptor 1\).)
--2.5 E .825(The w)108 259.2 R .825(ord follo)-.1 F .824
-(wing the redirection operator in the follo)-.25 F .824
-(wing descriptions, unless otherwise noted, is sub-)-.25 F .772
-(jected to brace e)108 271.2 R .773(xpansion, tilde e)-.15 F .773
-(xpansion, parameter e)-.15 F .773
-(xpansion, command substitution, arithmetic e)-.15 F(xpan-)-.15 E .844
-(sion, quote remo)108 283.2 R -.25(va)-.15 G .843(l, pathname e).25 F
+-2.5 E .824(The w)108 283.2 R .824(ord follo)-.1 F .824
+(wing the redirection operator in the follo)-.25 F .825
+(wing descriptions, unless otherwise noted, is sub-)-.25 F .773
+(jected to brace e)108 295.2 R .773(xpansion, tilde e)-.15 F .773
+(xpansion, parameter e)-.15 F .772
+(xpansion, command substitution, arithmetic e)-.15 F(xpan-)-.15 E .843
+(sion, quote remo)108 307.2 R -.25(va)-.15 G .843(l, pathname e).25 F
 .843(xpansion, and w)-.15 F .843(ord splitting.)-.1 F .843(If it e)5.843
-F .843(xpands to more than one w)-.15 F(ord,)-.1 E F1(bash)3.343 E F0
-(reports an error)108 295.2 Q(.)-.55 E
-(Note that the order of redirections is signi\214cant.)108 312 Q -.15
-(Fo)5 G 2.5(re).15 G(xample, the command)-2.65 E(ls)144 328.8 Q F1(>)2.5
+F .843(xpands to more than one w)-.15 F(ord,)-.1 E F1(bash)3.344 E F0
+(reports an error)108 319.2 Q(.)-.55 E
+(Note that the order of redirections is signi\214cant.)108 336 Q -.15
+(Fo)5 G 2.5(re).15 G(xample, the command)-2.65 E(ls)144 352.8 Q F1(>)2.5
 E F0(dirlist 2)2.5 E F1(>&)A F0(1)A
-(directs both standard output and standard error to the \214le)108 345.6
+(directs both standard output and standard error to the \214le)108 369.6
 Q F2(dirlist)2.5 E F0 2.5(,w).68 G(hile the command)-2.5 E(ls 2)144
-362.4 Q F1(>&)A F0(1)A F1(>)2.5 E F0(dirlist)2.5 E .387
-(directs only the standard output to \214le)108 379.2 R F2(dirlist)2.887
-E F0 2.887(,b).68 G .388(ecause the standard error w)-2.887 F .388
+386.4 Q F1(>&)A F0(1)A F1(>)2.5 E F0(dirlist)2.5 E .388
+(directs only the standard output to \214le)108 403.2 R F2(dirlist)2.888
+E F0 2.888(,b).68 G .387(ecause the standard error w)-2.888 F .387
 (as duplicated as standard output)-.1 F(before the standard output w)108
-391.2 Q(as redirected to)-.1 E F2(dirlist)2.5 E F0(.).68 E F1(Bash)108
-408 Q F0 .599(handles se)3.099 F -.15(ve)-.25 G .599
-(ral \214lenames specially when the).15 F 3.099(ya)-.15 G .598
+415.2 Q(as redirected to)-.1 E F2(dirlist)2.5 E F0(.).68 E F1(Bash)108
+432 Q F0 .598(handles se)3.098 F -.15(ve)-.25 G .598
+(ral \214lenames specially when the).15 F 3.099(ya)-.15 G .599
 (re used in redirections, as described in the follo)-3.099 F(wing)-.25 E
-(table:)108 420 Q F1(/de)144 436.8 Q(v/fd/)-.15 E F2(fd)A F0(If)180
-448.8 Q F2(fd)2.5 E F0(is a v)2.5 E(alid inte)-.25 E(ger)-.15 E 2.5
+(table:)108 444 Q F1(/de)144 460.8 Q(v/fd/)-.15 E F2(fd)A F0(If)180
+472.8 Q F2(fd)2.5 E F0(is a v)2.5 E(alid inte)-.25 E(ger)-.15 E 2.5
 <2c8c>-.4 G(le descriptor)-2.5 E F2(fd)2.5 E F0(is duplicated.)2.5 E F1
-(/de)144 460.8 Q(v/stdin)-.15 E F0(File descriptor 0 is duplicated.)180
-472.8 Q F1(/de)144 484.8 Q(v/stdout)-.15 E F0
-(File descriptor 1 is duplicated.)180 496.8 Q F1(/de)144 508.8 Q
-(v/stderr)-.15 E F0(File descriptor 2 is duplicated.)180 520.8 Q F1(/de)
-144 532.8 Q(v/tcp/)-.15 E F2(host)A F1(/)A F2(port)A F0(If)180 544.8 Q
-F2(host)2.996 E F0 .496(is a v)2.996 F .496
-(alid hostname or Internet address, and)-.25 F F2(port)2.997 E F0 .497
-(is an inte)2.997 F .497(ger port number or ser)-.15 F(-)-.2 E
-(vice name,)180 556.8 Q F1(bash)2.5 E F0
-(attempts to open a TCP connection to the corresponding sock)2.5 E(et.)
--.1 E F1(/de)144 568.8 Q(v/udp/)-.15 E F2(host)A F1(/)A F2(port)A F0(If)
-180 580.8 Q F2(host)2.997 E F0 .497(is a v)2.997 F .497
+(/de)144 484.8 Q(v/stdin)-.15 E F0(File descriptor 0 is duplicated.)180
+496.8 Q F1(/de)144 508.8 Q(v/stdout)-.15 E F0
+(File descriptor 1 is duplicated.)180 520.8 Q F1(/de)144 532.8 Q
+(v/stderr)-.15 E F0(File descriptor 2 is duplicated.)180 544.8 Q F1(/de)
+144 556.8 Q(v/tcp/)-.15 E F2(host)A F1(/)A F2(port)A F0(If)180 568.8 Q
+F2(host)2.997 E F0 .497(is a v)2.997 F .497
 (alid hostname or Internet address, and)-.25 F F2(port)2.996 E F0 .496
 (is an inte)2.996 F .496(ger port number or ser)-.15 F(-)-.2 E
-(vice name,)180 592.8 Q F1(bash)2.5 E F0
+(vice name,)180 580.8 Q F1(bash)2.5 E F0
+(attempts to open a TCP connection to the corresponding sock)2.5 E(et.)
+-.1 E F1(/de)144 592.8 Q(v/udp/)-.15 E F2(host)A F1(/)A F2(port)A F0(If)
+180 604.8 Q F2(host)2.996 E F0 .496(is a v)2.996 F .496
+(alid hostname or Internet address, and)-.25 F F2(port)2.997 E F0 .497
+(is an inte)2.997 F .497(ger port number or ser)-.15 F(-)-.2 E
+(vice name,)180 616.8 Q F1(bash)2.5 E F0
 (attempts to open a UDP connection to the corresponding sock)2.5 E(et.)
--.1 E 2.5(Af)108 609.6 S
+-.1 E 2.5(Af)108 633.6 S
 (ailure to open or create a \214le causes the redirection to f)-2.6 E
-(ail.)-.1 E .946(Redirections using \214le descriptors greater than 9 s\
-hould be used with care, as the)108 626.4 R 3.447(ym)-.15 G .947
-(ay con\215ict with \214le)-3.447 F
-(descriptors the shell uses internally)108 638.4 Q(.)-.65 E F1(Redir)87
-655.2 Q(ecting Input)-.18 E F0 .391
+(ail.)-.1 E .947(Redirections using \214le descriptors greater than 9 s\
+hould be used with care, as the)108 650.4 R 3.446(ym)-.15 G .946
+(ay con\215ict with \214le)-3.446 F
+(descriptors the shell uses internally)108 662.4 Q(.)-.65 E F1(Redir)87
+679.2 Q(ecting Input)-.18 E F0 .391
 (Redirection of input causes the \214le whose name results from the e)
-108 667.2 R .391(xpansion of)-.15 F F2(wor)3.231 E(d)-.37 E F0 .391
-(to be opened for read-)3.661 F(ing on \214le descriptor)108 679.2 Q F2
+108 691.2 R .391(xpansion of)-.15 F F2(wor)3.231 E(d)-.37 E F0 .391
+(to be opened for read-)3.661 F(ing on \214le descriptor)108 703.2 Q F2
 (n)2.5 E F0 2.5(,o).24 G 2.5(rt)-2.5 G
 (he standard input \(\214le descriptor 0\) if)-2.5 E F2(n)2.86 E F0
 (is not speci\214ed.)2.74 E
-(The general format for redirecting input is:)108 696 Q([)144 712.8 Q F2
-(n)A F0(])A F1(<)A F2(wor)A(d)-.37 E F0(GNU Bash-3.1-de)72 768 Q -.15
-(ve)-.25 G 123.59(l2).15 G(005 Mar 15)-123.59 E(21)198.17 E 0 Cg EP
+(The general format for redirecting input is:)108 720 Q
+(GNU Bash-3.1-beta1)72 768 Q(2005 Aug 27)122.91 E(21)197.89 E 0 Cg EP
 %%Page: 22 23
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E/F1 10/Times-Bold@0 SF(Redir)87 84 Q(ecting Output)-.18 E F0 .174
+-.35 E([)144 84 Q/F1 10/Times-Italic@0 SF(n)A F0(])A/F2 10/Times-Bold@0
+SF(<)A F1(wor)A(d)-.37 E F2(Redir)87 100.8 Q(ecting Output)-.18 E F0
+.175
 (Redirection of output causes the \214le whose name results from the e)
-108 96 R .175(xpansion of)-.15 F/F2 10/Times-Italic@0 SF(wor)3.015 E(d)
--.37 E F0 .175(to be opened for writ-)3.445 F .825
-(ing on \214le descriptor)108 108 R F2(n)3.325 E F0 3.325(,o).24 G 3.325
-(rt)-3.325 G .824(he standard output \(\214le descriptor 1\) if)-3.325 F
-F2(n)3.684 E F0 .824(is not speci\214ed.)3.564 F .824
-(If the \214le does not)5.824 F -.15(ex)108 120 S
-(ist it is created; if it does e).15 E
+108 112.8 R .174(xpansion of)-.15 F F1(wor)3.014 E(d)-.37 E F0 .174
+(to be opened for writ-)3.444 F .824(ing on \214le descriptor)108 124.8
+R F1(n)3.324 E F0 3.324(,o).24 G 3.324(rt)-3.324 G .824
+(he standard output \(\214le descriptor 1\) if)-3.324 F F1(n)3.684 E F0
+.824(is not speci\214ed.)3.564 F .825(If the \214le does not)5.825 F
+-.15(ex)108 136.8 S(ist it is created; if it does e).15 E
 (xist it is truncated to zero size.)-.15 E
-(The general format for redirecting output is:)108 136.8 Q([)144 153.6 Q
-F2(n)A F0(])A F1(>)A F2(wor)A(d)-.37 E F0 .154
-(If the redirection operator is)108 170.4 R F1(>)2.654 E F0 2.654(,a)C
-.154(nd the)-2.654 F F1(noclob)2.654 E(ber)-.1 E F0 .154(option to the)
-2.654 F F1(set)2.655 E F0 -.2(bu)2.655 G .155
-(iltin has been enabled, the redirection).2 F .077(will f)108 182.4 R
-.076(ail if the \214le whose name results from the e)-.1 F .076
-(xpansion of)-.15 F F2(wor)2.576 E(d)-.37 E F0 -.15(ex)2.576 G .076
-(ists and is a re).15 F .076(gular \214le.)-.15 F .076(If the redirec-)
-5.076 F .547(tion operator is)108 194.4 R F1(>|)3.047 E F0 3.047(,o)C
-3.047(rt)-3.047 G .547(he redirection operator is)-3.047 F F1(>)3.047 E
-F0 .547(and the)3.047 F F1(noclob)3.047 E(ber)-.1 E F0 .548
-(option to the)3.048 F F1(set)3.048 E F0 -.2(bu)3.048 G .548
-(iltin command is).2 F(not enabled, the redirection is attempted e)108
-206.4 Q -.15(ve)-.25 G 2.5(ni).15 G 2.5(ft)-2.5 G(he \214le named by)
--2.5 E F2(wor)2.5 E(d)-.37 E F0 -.15(ex)2.5 G(ists.).15 E F1 -.25(Ap)87
-223.2 S(pending Redir).25 E(ected Output)-.18 E F0 .642
-(Redirection of output in this f)108 235.2 R .642
-(ashion causes the \214le whose name results from the e)-.1 F .641
-(xpansion of)-.15 F F2(wor)3.481 E(d)-.37 E F0 .641(to be)3.911 F .473
-(opened for appending on \214le descriptor)108 247.2 R F2(n)2.973 E F0
+(The general format for redirecting output is:)108 153.6 Q([)144 170.4 Q
+F1(n)A F0(])A F2(>)A F1(wor)A(d)-.37 E F0 .155
+(If the redirection operator is)108 187.2 R F2(>)2.655 E F0 2.655(,a)C
+.155(nd the)-2.655 F F2(noclob)2.655 E(ber)-.1 E F0 .154(option to the)
+2.654 F F2(set)2.654 E F0 -.2(bu)2.654 G .154
+(iltin has been enabled, the redirection).2 F .657(will f)108 199.2 R
+.657(ail if the \214le whose name results from the e)-.1 F .658
+(xpansion of)-.15 F F1(wor)3.158 E(d)-.37 E F0 -.15(ex)3.158 G .658
+(ists and is a re).15 F .658(gular \214le.)-.15 F .658(If the redi-)
+5.658 F .409(rection operator is)108 211.2 R F2(>|)2.909 E F0 2.909(,o)C
+2.909(rt)-2.909 G .409(he redirection operator is)-2.909 F F2(>)2.909 E
+F0 .409(and the)2.909 F F2(noclob)2.909 E(ber)-.1 E F0 .409
+(option to the)2.909 F F2(set)2.909 E F0 -.2(bu)2.908 G .408
+(iltin command).2 F(is not enabled, the redirection is attempted e)108
+223.2 Q -.15(ve)-.25 G 2.5(ni).15 G 2.5(ft)-2.5 G(he \214le named by)
+-2.5 E F1(wor)2.5 E(d)-.37 E F0 -.15(ex)2.5 G(ists.).15 E F2 -.25(Ap)87
+240 S(pending Redir).25 E(ected Output)-.18 E F0 .641
+(Redirection of output in this f)108 252 R .642
+(ashion causes the \214le whose name results from the e)-.1 F .642
+(xpansion of)-.15 F F1(wor)3.482 E(d)-.37 E F0 .642(to be)3.912 F .474
+(opened for appending on \214le descriptor)108 264 R F1(n)2.974 E F0
 2.974(,o).24 G 2.974(rt)-2.974 G .474
-(he standard output \(\214le descriptor 1\) if)-2.974 F F2(n)3.334 E F0
-.474(is not speci\214ed.)3.214 F(If)5.474 E(the \214le does not e)108
-259.2 Q(xist it is created.)-.15 E
-(The general format for appending output is:)108 276 Q([)144 292.8 Q F2
-(n)A F0(])A F1(>>)A F2(wor)A(d)-.37 E F1(Redir)87 314.4 Q
-(ecting Standard Output and Standard Err)-.18 E(or)-.18 E(Bash)108 326.4
-Q F0(allo)3.142 E .642(ws both the standard output \(\214le descriptor \
+(he standard output \(\214le descriptor 1\) if)-2.974 F F1(n)3.333 E F0
+.473(is not speci\214ed.)3.213 F(If)5.473 E(the \214le does not e)108
+276 Q(xist it is created.)-.15 E
+(The general format for appending output is:)108 292.8 Q([)144 309.6 Q
+F1(n)A F0(])A F2(>>)A F1(wor)A(d)-.37 E F2(Redir)87 331.2 Q
+(ecting Standard Output and Standard Err)-.18 E(or)-.18 E(Bash)108 343.2
+Q F0(allo)3.141 E .642(ws both the standard output \(\214le descriptor \
 1\) and the standard error output \(\214le descriptor 2\) to)-.25 F
-(be redirected to the \214le whose name is the e)108 338.4 Q
-(xpansion of)-.15 E F2(wor)2.84 E(d)-.37 E F0(with this construct.)3.27
-E(There are tw)108 355.2 Q 2.5(of)-.1 G
-(ormats for redirecting standard output and standard error:)-2.5 E F1
-(&>)144 372 Q F2(wor)A(d)-.37 E F0(and)108 384 Q F1(>&)144 396 Q F2(wor)
-A(d)-.37 E F0(Of the tw)108 412.8 Q 2.5(of)-.1 G
+(be redirected to the \214le whose name is the e)108 355.2 Q
+(xpansion of)-.15 E F1(wor)2.84 E(d)-.37 E F0(with this construct.)3.27
+E(There are tw)108 372 Q 2.5(of)-.1 G
+(ormats for redirecting standard output and standard error:)-2.5 E F2
+(&>)144 388.8 Q F1(wor)A(d)-.37 E F0(and)108 400.8 Q F2(>&)144 412.8 Q
+F1(wor)A(d)-.37 E F0(Of the tw)108 429.6 Q 2.5(of)-.1 G
 (orms, the \214rst is preferred.)-2.5 E(This is semantically equi)5 E
--.25(va)-.25 G(lent to).25 E F1(>)144 429.6 Q F2(wor)A(d)-.37 E F0(2)2.5
-E F1(>&)A F0(1)A F1(Her)87 446.4 Q 2.5(eD)-.18 G(ocuments)-2.5 E F0 .33
+-.25(va)-.25 G(lent to).25 E F2(>)144 446.4 Q F1(wor)A(d)-.37 E F0(2)2.5
+E F2(>&)A F0(1)A F2(Her)87 463.2 Q 2.5(eD)-.18 G(ocuments)-2.5 E F0 .33
 (This type of redirection instructs the shell to read input from the cu\
-rrent source until a line containing only)108 458.4 R F2(wor)108.34
-470.4 Q(d)-.37 E F0 .684(\(with no trailing blanks\) is seen.)3.954 F
+rrent source until a line containing only)108 475.2 R F1(wor)108.34
+487.2 Q(d)-.37 E F0 .683(\(with no trailing blanks\) is seen.)3.953 F
 .684
 (All of the lines read up to that point are then used as the standard)
-5.684 F(input for a command.)108 482.4 Q
-(The format of here-documents is:)108 499.2 Q F1(<<)144 516 Q F0([)A F1
-<ad>A F0(])A F2(wor)A(d)-.37 E(her)164 528 Q(e-document)-.37 E
-(delimiter)144 540 Q F0 .127(No parameter e)108 556.8 R .127
+5.684 F(input for a command.)108 499.2 Q
+(The format of here-documents is:)108 516 Q F2(<<)144 532.8 Q F0([)A F2
+<ad>A F0(])A F1(wor)A(d)-.37 E(her)164 544.8 Q(e-document)-.37 E
+(delimiter)144 556.8 Q F0 .128(No parameter e)108 573.6 R .127
 (xpansion, command substitution, arithmetic e)-.15 F .127
-(xpansion, or pathname e)-.15 F .128(xpansion is performed)-.15 F(on)108
-568.8 Q F2(wor)3.275 E(d)-.37 E F0 5.775(.I).77 G 3.275(fa)-5.775 G
-1.075 -.15(ny c)-3.275 H .774(haracters in).15 F F2(wor)3.614 E(d)-.37 E
-F0 .774(are quoted, the)4.044 F F2(delimiter)3.624 E F0 .774
-(is the result of quote remo)4.004 F -.25(va)-.15 G 3.274(lo).25 G(n)
--3.274 E F2(wor)3.274 E(d)-.37 E F0 3.274(,a).77 G(nd)-3.274 E .904
-(the lines in the here-document are not e)108 580.8 R 3.405(xpanded. If)
--.15 F F2(wor)3.405 E(d)-.37 E F0 .905
-(is unquoted, all lines of the here-document are)3.405 F .695
-(subjected to parameter e)108 592.8 R .695
-(xpansion, command substitution, and arithmetic e)-.15 F 3.194
-(xpansion. In)-.15 F .694(the latter case, the)3.194 F
-(character sequence)108 604.8 Q F1(\\<newline>)2.5 E F0(is ignored, and)
-2.5 E F1(\\)2.5 E F0(must be used to quote the characters)2.5 E F1(\\)
-2.5 E F0(,)A F1($)2.5 E F0 2.5(,a)C(nd)-2.5 E F1(`)2.5 E F0(.)A .601
-(If the redirection operator is)108 621.6 R F1(<<\255)3.101 E F0 3.101
+(xpansion, or pathname e)-.15 F .127(xpansion is performed)-.15 F(on)108
+585.6 Q F1(wor)3.274 E(d)-.37 E F0 5.774(.I).77 G 3.274(fa)-5.774 G
+1.074 -.15(ny c)-3.274 H .774(haracters in).15 F F1(wor)3.614 E(d)-.37 E
+F0 .774(are quoted, the)4.044 F F1(delimiter)3.624 E F0 .774
+(is the result of quote remo)4.004 F -.25(va)-.15 G 3.275(lo).25 G(n)
+-3.275 E F1(wor)3.275 E(d)-.37 E F0 3.275(,a).77 G(nd)-3.275 E .905
+(the lines in the here-document are not e)108 597.6 R 3.405(xpanded. If)
+-.15 F F1(wor)3.405 E(d)-.37 E F0 .904
+(is unquoted, all lines of the here-document are)3.405 F .694
+(subjected to parameter e)108 609.6 R .695
+(xpansion, command substitution, and arithmetic e)-.15 F 3.195
+(xpansion. In)-.15 F .695(the latter case, the)3.195 F
+(character sequence)108 621.6 Q F2(\\<newline>)2.5 E F0(is ignored, and)
+2.5 E F2(\\)2.5 E F0(must be used to quote the characters)2.5 E F2(\\)
+2.5 E F0(,)A F2($)2.5 E F0 2.5(,a)C(nd)-2.5 E F2(`)2.5 E F0(.)A .602
+(If the redirection operator is)108 638.4 R F2(<<\255)3.101 E F0 3.101
 (,t)C .601(hen all leading tab characters are stripped from input lines\
- and the line)-3.101 F(containing)108 633.6 Q F2(delimiter)2.5 E F0 5
+ and the line)-3.101 F(containing)108 650.4 Q F1(delimiter)2.5 E F0 5
 (.T).73 G(his allo)-5 E
 (ws here-documents within shell scripts to be indented in a natural f)
--.25 E(ashion.)-.1 E F1(Her)87 650.4 Q 2.5(eS)-.18 G(trings)-2.5 E F0
-2.5(Av)108 662.4 S(ariant of here documents, the format is:)-2.75 E F1
-(<<<)144 679.2 Q F2(wor)A(d)-.37 E F0(The)108 696 Q F2(wor)2.5 E(d)-.37
+-.25 E(ashion.)-.1 E F2(Her)87 667.2 Q 2.5(eS)-.18 G(trings)-2.5 E F0
+2.5(Av)108 679.2 S(ariant of here documents, the format is:)-2.75 E F2
+(<<<)144 696 Q F1(wor)A(d)-.37 E F0(The)108 712.8 Q F1(wor)2.5 E(d)-.37
 E F0(is e)2.5 E
 (xpanded and supplied to the command on its standard input.)-.15 E
-(GNU Bash-3.1-de)72 768 Q -.15(ve)-.25 G 123.59(l2).15 G(005 Mar 15)
--123.59 E(22)198.17 E 0 Cg EP
+(GNU Bash-3.1-beta1)72 768 Q(2005 Aug 27)122.91 E(22)197.89 E 0 Cg EP
 %%Page: 23 24
 %%BeginPageSetup
 BP
@@ -2830,46 +2837,46 @@ BP
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
 -.35 E/F1 10/Times-Bold@0 SF(Duplicating File Descriptors)87 84 Q F0
 (The redirection operator)108 96 Q([)144 112.8 Q/F2 10/Times-Italic@0 SF
-(n)A F0(])A F1(<&)A F2(wor)A(d)-.37 E F0 .127
+(n)A F0(])A F1(<&)A F2(wor)A(d)-.37 E F0 .126
 (is used to duplicate input \214le descriptors.)108 129.6 R(If)5.127 E
-F2(wor)2.967 E(d)-.37 E F0 -.15(ex)3.397 G .126
+F2(wor)2.967 E(d)-.37 E F0 -.15(ex)3.397 G .127
 (pands to one or more digits, the \214le descriptor denoted).15 F(by)108
-141.6 Q F2(n)3.317 E F0 .457(is made to be a cop)3.197 F 2.957(yo)-.1 G
-2.957(ft)-2.957 G .457(hat \214le descriptor)-2.957 F 5.457(.I)-.55 G
-2.957(ft)-5.457 G .457(he digits in)-2.957 F F2(wor)3.298 E(d)-.37 E F0
-.458(do not specify a \214le descriptor open)3.728 F .15
-(for input, a redirection error occurs.)108 153.6 R(If)5.15 E F2(wor)
-2.99 E(d)-.37 E F0 -.25(eva)3.42 G .15(luates to).25 F F1<ad>2.65 E F0
-2.649<2c8c>C .149(le descriptor)-2.649 F F2(n)3.009 E F0 .149
-(is closed.)2.889 F(If)5.149 E F2(n)3.009 E F0 .149(is not speci\214ed,)
-2.889 F(the standard input \(\214le descriptor 0\) is used.)108 165.6 Q
+141.6 Q F2(n)3.318 E F0 .458(is made to be a cop)3.198 F 2.958(yo)-.1 G
+2.958(ft)-2.958 G .457(hat \214le descriptor)-2.958 F 5.457(.I)-.55 G
+2.957(ft)-5.457 G .457(he digits in)-2.957 F F2(wor)3.297 E(d)-.37 E F0
+.457(do not specify a \214le descriptor open)3.727 F .149
+(for input, a redirection error occurs.)108 153.6 R(If)5.149 E F2(wor)
+2.989 E(d)-.37 E F0 -.25(eva)3.419 G .149(luates to).25 F F1<ad>2.649 E
+F0 2.65<2c8c>C .15(le descriptor)-2.65 F F2(n)3.01 E F0 .15(is closed.)
+2.89 F(If)5.15 E F2(n)3.01 E F0 .15(is not speci\214ed,)2.89 F
+(the standard input \(\214le descriptor 0\) is used.)108 165.6 Q
 (The operator)108 182.4 Q([)144 199.2 Q F2(n)A F0(])A F1(>&)A F2(wor)A
-(d)-.37 E F0 .443
+(d)-.37 E F0 .444
 (is used similarly to duplicate output \214le descriptors.)108 216 R(If)
-5.443 E F2(n)3.304 E F0 .444
-(is not speci\214ed, the standard output \(\214le descrip-)3.184 F 1.358
-(tor 1\) is used.)108 228 R 1.358(If the digits in)6.358 F F2(wor)4.198
-E(d)-.37 E F0 1.357(do not specify a \214le descriptor open for output,\
- a redirection error)4.628 F 2.596(occurs. As)108 240 R 2.596(as)2.596 G
-.096(pecial case, if)-2.596 F F2(n)2.596 E F0 .096(is omitted, and)2.596
+5.444 E F2(n)3.304 E F0 .443
+(is not speci\214ed, the standard output \(\214le descrip-)3.183 F 1.357
+(tor 1\) is used.)108 228 R 1.357(If the digits in)6.357 F F2(wor)4.197
+E(d)-.37 E F0 1.358(do not specify a \214le descriptor open for output,\
+ a redirection error)4.627 F 2.597(occurs. As)108 240 R 2.597(as)2.597 G
+.097(pecial case, if)-2.597 F F2(n)2.596 E F0 .096(is omitted, and)2.596
 F F2(wor)2.596 E(d)-.37 E F0 .096(does not e)2.596 F .096
 (xpand to one or more digits, the standard out-)-.15 F
 (put and standard error are redirected as described pre)108 252 Q
 (viously)-.25 E(.)-.65 E F1(Mo)87 268.8 Q(ving File Descriptors)-.1 E F0
 (The redirection operator)108 280.8 Q([)144 297.6 Q F2(n)A F0(])A F1(<&)
-A F2(digit)A F1<ad>A F0(mo)108 314.4 Q -.15(ve)-.15 G 3.036(st).15 G
-.536(he \214le descriptor)-3.036 F F2(digit)3.036 E F0 .536
-(to \214le descriptor)3.036 F F2(n)3.036 E F0 3.036(,o).24 G 3.036(rt)
--3.036 G .535(he standard input \(\214le descriptor 0\) if)-3.036 F F2
-(n)3.035 E F0 .535(is not speci-)3.035 F(\214ed.)108 326.4 Q F2(digit)5
+A F2(digit)A F1<ad>A F0(mo)108 314.4 Q -.15(ve)-.15 G 3.035(st).15 G
+.535(he \214le descriptor)-3.035 F F2(digit)3.035 E F0 .535
+(to \214le descriptor)3.035 F F2(n)3.035 E F0 3.035(,o).24 G 3.035(rt)
+-3.035 G .536(he standard input \(\214le descriptor 0\) if)-3.035 F F2
+(n)3.036 E F0 .536(is not speci-)3.036 F(\214ed.)108 326.4 Q F2(digit)5
 E F0(is closed after being duplicated to)2.5 E F2(n)2.5 E F0(.)A
 (Similarly)108 343.2 Q 2.5(,t)-.65 G(he redirection operator)-2.5 E([)
 144 360 Q F2(n)A F0(])A F1(>&)A F2(digit)A F1<ad>A F0(mo)108 376.8 Q
--.15(ve)-.15 G 2.785(st).15 G .285(he \214le descriptor)-2.785 F F2
-(digit)2.785 E F0 .285(to \214le descriptor)2.785 F F2(n)2.785 E F0
-2.785(,o).24 G 2.785(rt)-2.785 G .286
-(he standard output \(\214le descriptor 1\) if)-2.785 F F2(n)2.786 E F0
-.286(is not speci-)2.786 F(\214ed.)108 388.8 Q F1
+-.15(ve)-.15 G 2.786(st).15 G .286(he \214le descriptor)-2.786 F F2
+(digit)2.786 E F0 .286(to \214le descriptor)2.786 F F2(n)2.786 E F0
+2.786(,o).24 G 2.786(rt)-2.786 G .285
+(he standard output \(\214le descriptor 1\) if)-2.786 F F2(n)2.785 E F0
+.285(is not speci-)2.785 F(\214ed.)108 388.8 Q F1
 (Opening File Descriptors f)87 405.6 Q(or Reading and Writing)-.25 E F0
 (The redirection operator)108 417.6 Q([)144 434.4 Q F2(n)A F0(])A F1(<>)
 A F2(wor)A(d)-.37 E F0 1.349(causes the \214le whose name is the e)108
@@ -2878,36 +2885,36 @@ A F2(wor)A(d)-.37 E F0 1.349(causes the \214le whose name is the e)108
 108 463.2 Q F2(n)2.5 E F0 2.5(,o).24 G 2.5(ro)-2.5 G 2.5<6e8c>-2.5 G
 (le descriptor 0 if)-2.5 E F2(n)2.86 E F0(is not speci\214ed.)2.74 E
 (If the \214le does not e)5 E(xist, it is created.)-.15 E/F3 10.95
-/Times-Bold@0 SF(ALIASES)72 480 Q F2(Aliases)108 492 Q F0(allo)3.173 E
-3.173(was)-.25 G .674(tring to be substituted for a w)-3.173 F .674
-(ord when it is used as the \214rst w)-.1 F .674
+/Times-Bold@0 SF(ALIASES)72 480 Q F2(Aliases)108 492 Q F0(allo)3.174 E
+3.174(was)-.25 G .674(tring to be substituted for a w)-3.174 F .674
+(ord when it is used as the \214rst w)-.1 F .673
 (ord of a simple command.)-.1 F .394(The shell maintains a list of alia\
-ses that may be set and unset with the)108 504 R F1(alias)2.893 E F0
-(and)2.893 E F1(unalias)2.893 E F0 -.2(bu)2.893 G .393(iltin commands).2
-F(\(see)108 516 Q/F4 9/Times-Bold@0 SF 1.979(SHELL B)4.479 F(UIL)-.09 E
-1.979(TIN COMMANDS)-.828 F F0(belo)4.229 E 4.48(w\). The)-.25 F 1.98
-(\214rst w)4.48 F 1.98(ord of each simple command, if unquoted, is)-.1 F
-(check)108 528 Q .473(ed to see if it has an alias.)-.1 F .473
-(If so, that w)5.473 F .472(ord is replaced by the te)-.1 F .472
-(xt of the alias.)-.15 F .472(The characters)5.472 F F1(/)2.972 E F0(,)A
-F1($)2.972 E F0(,)A F1(`)2.972 E F0(,)A(and)108 540 Q F1(=)3.611 E F0
-1.111(and an)3.611 F 3.611(yo)-.15 G 3.611(ft)-3.611 G 1.111(he shell)
--3.611 F F2(metac)3.612 E(har)-.15 E(acter)-.15 E(s)-.1 E F0 1.112
-(or quoting characters listed abo)3.612 F 1.412 -.15(ve m)-.15 H 1.112
-(ay not appear in an alias).15 F 3.62(name. The)108 552 R 1.12
-(replacement te)3.62 F 1.119(xt may contain an)-.15 F 3.619(yv)-.15 G
-1.119(alid shell input, including shell metacharacters.)-3.869 F 1.119
-(The \214rst)6.119 F -.1(wo)108 564 S .513(rd of the replacement te).1 F
-.513(xt is tested for aliases, b)-.15 F .513(ut a w)-.2 F .514
-(ord that is identical to an alias being e)-.1 F .514(xpanded is)-.15 F
-.296(not e)108 576 R .296(xpanded a second time.)-.15 F .296
-(This means that one may alias)5.296 F F1(ls)2.796 E F0(to)2.796 E F1
-.296(ls \255F)2.796 F F0 2.796(,f)C .295(or instance, and)-2.796 F F1
-(bash)2.795 E F0 .295(does not try)2.795 F .542(to recursi)108 588 R
--.15(ve)-.25 G .542(ly e).15 F .542(xpand the replacement te)-.15 F
-3.042(xt. If)-.15 F .543(the last character of the alias v)3.042 F .543
-(alue is a)-.25 F F2(blank)3.043 E F0 3.043(,t).67 G .543(hen the ne)
--3.043 F(xt)-.15 E(command w)108 600 Q(ord follo)-.1 E
+ses that may be set and unset with the)108 504 R F1(alias)2.894 E F0
+(and)2.894 E F1(unalias)2.894 E F0 -.2(bu)2.894 G .394(iltin commands).2
+F(\(see)108 516 Q/F4 9/Times-Bold@0 SF 1.98(SHELL B)4.48 F(UIL)-.09 E
+1.98(TIN COMMANDS)-.828 F F0(belo)4.23 E 4.48(w\). The)-.25 F 1.98
+(\214rst w)4.48 F 1.979(ord of each simple command, if unquoted, is)-.1
+F(check)108 528 Q .472(ed to see if it has an alias.)-.1 F .472
+(If so, that w)5.472 F .473(ord is replaced by the te)-.1 F .473
+(xt of the alias.)-.15 F .473(The characters)5.473 F F1(/)2.973 E F0(,)A
+F1($)2.973 E F0(,)A F1(`)2.973 E F0(,)A(and)108 540 Q F1(=)3.612 E F0
+1.112(and an)3.612 F 3.612(yo)-.15 G 3.612(ft)-3.612 G 1.112(he shell)
+-3.612 F F2(metac)3.612 E(har)-.15 E(acter)-.15 E(s)-.1 E F0 1.112
+(or quoting characters listed abo)3.612 F 1.411 -.15(ve m)-.15 H 1.111
+(ay not appear in an alias).15 F 3.619(name. The)108 552 R 1.119
+(replacement te)3.619 F 1.119(xt may contain an)-.15 F 3.619(yv)-.15 G
+1.119(alid shell input, including shell metacharacters.)-3.869 F 1.12
+(The \214rst)6.12 F -.1(wo)108 564 S .514(rd of the replacement te).1 F
+.514(xt is tested for aliases, b)-.15 F .514(ut a w)-.2 F .513
+(ord that is identical to an alias being e)-.1 F .513(xpanded is)-.15 F
+.295(not e)108 576 R .295(xpanded a second time.)-.15 F .296
+(This means that one may alias)5.295 F F1(ls)2.796 E F0(to)2.796 E F1
+.296(ls \255F)2.796 F F0 2.796(,f)C .296(or instance, and)-2.796 F F1
+(bash)2.796 E F0 .296(does not try)2.796 F .543(to recursi)108 588 R
+-.15(ve)-.25 G .543(ly e).15 F .543(xpand the replacement te)-.15 F
+3.043(xt. If)-.15 F .543(the last character of the alias v)3.043 F .542
+(alue is a)-.25 F F2(blank)3.042 E F0 3.042(,t).67 G .542(hen the ne)
+-3.042 F(xt)-.15 E(command w)108 600 Q(ord follo)-.1 E
 (wing the alias is also check)-.25 E(ed for alias e)-.1 E(xpansion.)-.15
 E(Aliases are created and listed with the)108 616.8 Q F1(alias)2.5 E F0
 (command, and remo)2.5 E -.15(ve)-.15 G 2.5(dw).15 G(ith the)-2.5 E F1
@@ -2922,22 +2929,21 @@ E(Aliases are created and listed with the)108 616.8 Q F1(alias)2.5 E F0
 (shell option is set)3.72 F(using)108 674.4 Q F1(shopt)2.5 E F0
 (\(see the description of)2.5 E F1(shopt)2.5 E F0(under)2.5 E F4
 (SHELL B)2.5 E(UIL)-.09 E(TIN COMMANDS)-.828 E F0(belo)2.25 E(w\).)-.25
-E .436
+E .435
 (The rules concerning the de\214nition and use of aliases are some)108
-691.2 R .435(what confusing.)-.25 F F1(Bash)5.435 E F0(al)2.935 E -.1
-(wa)-.1 G .435(ys reads at least).1 F .337
+691.2 R .436(what confusing.)-.25 F F1(Bash)5.436 E F0(al)2.936 E -.1
+(wa)-.1 G .436(ys reads at least).1 F .338
 (one complete line of input before e)108 703.2 R -.15(xe)-.15 G .338
 (cuting an).15 F 2.838(yo)-.15 G 2.838(ft)-2.838 G .338
-(he commands on that line.)-2.838 F .338(Aliases are e)5.338 F .338
-(xpanded when)-.15 F 3.404(ac)108 715.2 S .904
-(ommand is read, not when it is e)-3.404 F -.15(xe)-.15 G 3.404
+(he commands on that line.)-2.838 F .337(Aliases are e)5.337 F .337
+(xpanded when)-.15 F 3.403(ac)108 715.2 S .904
+(ommand is read, not when it is e)-3.403 F -.15(xe)-.15 G 3.404
 (cuted. Therefore,).15 F .904
-(an alias de\214nition appearing on the same line as)3.404 F 1.161
+(an alias de\214nition appearing on the same line as)3.404 F 1.162
 (another command does not tak)108 727.2 R 3.662(ee)-.1 G -.25(ff)-3.662
 G 1.162(ect until the ne).25 F 1.162(xt line of input is read.)-.15 F
-1.162(The commands follo)6.162 F 1.162(wing the)-.25 F(GNU Bash-3.1-de)
-72 768 Q -.15(ve)-.25 G 123.59(l2).15 G(005 Mar 15)-123.59 E(23)198.17 E
-0 Cg EP
+1.161(The commands follo)6.161 F 1.161(wing the)-.25 F
+(GNU Bash-3.1-beta1)72 768 Q(2005 Aug 27)122.91 E(23)197.89 E 0 Cg EP
 %%Page: 24 25
 %%BeginPageSetup
 BP
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
 -.35 E .277(alias de\214nition on that line are not af)108 84 R .277
 (fected by the ne)-.25 F 2.777(wa)-.25 G 2.777(lias. This)-2.777 F(beha)
-2.777 E .277(vior is also an issue when functions)-.2 F .698(are e)108
-96 R -.15(xe)-.15 G 3.198(cuted. Aliases).15 F .698(are e)3.198 F .699(\
+2.777 E .277(vior is also an issue when functions)-.2 F .699(are e)108
+96 R -.15(xe)-.15 G 3.199(cuted. Aliases).15 F .699(are e)3.199 F .699(\
 xpanded when a function de\214nition is read, not when the function is \
-e)-.15 F -.15(xe)-.15 G(cuted,).15 E .495
+e)-.15 F -.15(xe)-.15 G(cuted,).15 E .494
 (because a function de\214nition is itself a compound command.)108 108 R
-.494(As a consequence, aliases de\214ned in a func-)5.494 F .084
+.495(As a consequence, aliases de\214ned in a func-)5.494 F .085
 (tion are not a)108 120 R -.25(va)-.2 G .084
 (ilable until after that function is e).25 F -.15(xe)-.15 G 2.584
 (cuted. T).15 F 2.584(ob)-.8 G 2.584(es)-2.584 G .084(afe, al)-2.584 F
--.1(wa)-.1 G .085(ys put alias de\214nitions on a sepa-).1 F
+-.1(wa)-.1 G .084(ys put alias de\214nitions on a sepa-).1 F
 (rate line, and do not use)108 132 Q/F1 10/Times-Bold@0 SF(alias)2.5 E
 F0(in compound commands.)2.5 E -.15(Fo)108 148.8 S 2.5(ra).15 G(lmost e)
 -2.5 E -.15(ve)-.25 G
 (ry purpose, aliases are superseded by shell functions.).15 E/F2 10.95
-/Times-Bold@0 SF(FUNCTIONS)72 165.6 Q F0 3.468(As)108 177.6 S .968
-(hell function, de\214ned as described abo)-3.468 F 1.267 -.15(ve u)-.15
+/Times-Bold@0 SF(FUNCTIONS)72 165.6 Q F0 3.467(As)108 177.6 S .967
+(hell function, de\214ned as described abo)-3.467 F 1.267 -.15(ve u)-.15
 H(nder).15 E/F3 9/Times-Bold@0 SF .967(SHELL GRAMMAR)3.467 F/F4 9
-/Times-Roman@0 SF(,)A F0 .967(stores a series of commands for)3.217 F
-1.001(later e)108 189.6 R -.15(xe)-.15 G 3.501(cution. When).15 F 1.002
+/Times-Roman@0 SF(,)A F0 .968(stores a series of commands for)3.217 F
+1.002(later e)108 189.6 R -.15(xe)-.15 G 3.502(cution. When).15 F 1.002
 (the name of a shell function is used as a simple command name, the lis\
-t of com-)3.501 F .316(mands associated with that function name is e)108
+t of com-)3.502 F .315(mands associated with that function name is e)108
 201.6 R -.15(xe)-.15 G 2.816(cuted. Functions).15 F .316(are e)2.816 F
--.15(xe)-.15 G .315(cuted in the conte).15 F .315(xt of the current)-.15
-F .035(shell; no ne)108 213.6 R 2.535(wp)-.25 G .036
-(rocess is created to interpret them \(contrast this with the e)-2.535 F
--.15(xe)-.15 G .036(cution of a shell script\).).15 F .036(When a)5.036
-F .64(function is e)108 225.6 R -.15(xe)-.15 G .64(cuted, the ar).15 F
+-.15(xe)-.15 G .316(cuted in the conte).15 F .316(xt of the current)-.15
+F .036(shell; no ne)108 213.6 R 2.536(wp)-.25 G .036
+(rocess is created to interpret them \(contrast this with the e)-2.536 F
+-.15(xe)-.15 G .036(cution of a shell script\).).15 F .035(When a)5.035
+F .639(function is e)108 225.6 R -.15(xe)-.15 G .639(cuted, the ar).15 F
 .639
 (guments to the function become the positional parameters during its e)
--.18 F -.15(xe)-.15 G(cution.).15 E .532(The special parameter)108 237.6
-R F1(#)3.032 E F0 .532(is updated to re\215ect the change.)3.032 F .533
-(Special parameter 0 is unchanged.)5.532 F .533(The \214rst ele-)5.533 F
-1.018(ment of the)108 249.6 R F3(FUNCN)3.518 E(AME)-.18 E F0 -.25(va)
-3.268 G 1.017
+-.18 F -.15(xe)-.15 G(cution.).15 E .533(The special parameter)108 237.6
+R F1(#)3.033 E F0 .532(is updated to re\215ect the change.)3.033 F .532
+(Special parameter 0 is unchanged.)5.532 F .532(The \214rst ele-)5.532 F
+1.017(ment of the)108 249.6 R F3(FUNCN)3.517 E(AME)-.18 E F0 -.25(va)
+3.267 G 1.017
 (riable is set to the name of the function while the function is e).25 F
--.15(xe)-.15 G 3.517(cuting. All).15 F 1.285
+-.15(xe)-.15 G 3.518(cuting. All).15 F 1.285
 (other aspects of the shell e)108 261.6 R -.15(xe)-.15 G 1.285
 (cution en).15 F 1.285
 (vironment are identical between a function and its caller with the)-.4
-F -.15(ex)108 273.6 S 2.03(ception that the).15 F F3(DEB)4.53 E(UG)-.09
-E F0(and)4.28 E F1(RETURN)4.53 E F0 2.029
-(traps \(see the description of the)4.53 F F1(trap)4.529 E F0 -.2(bu)
-4.529 G 2.029(iltin under).2 F F3(SHELL)4.529 E -.09(BU)108 285.6 S(IL)
-.09 E .478(TIN COMMANDS)-.828 F F0(belo)2.728 E .479
+F -.15(ex)108 273.6 S 2.029(ception that the).15 F F3(DEB)4.529 E(UG)
+-.09 E F0(and)4.279 E F1(RETURN)4.529 E F0 2.029
+(traps \(see the description of the)4.529 F F1(trap)4.53 E F0 -.2(bu)
+4.53 G 2.03(iltin under).2 F F3(SHELL)4.53 E -.09(BU)108 285.6 S(IL).09
+E .479(TIN COMMANDS)-.828 F F0(belo)2.729 E .479
 (w\) are not inherited unless the function has been gi)-.25 F -.15(ve)
--.25 G 2.979(nt).15 G(he)-2.979 E F1(trace)2.979 E F0(attrib)2.979 E
-.479(ute \(see)-.2 F .421(the description of the)108 297.6 R F3(declar)
+-.25 G 2.978(nt).15 G(he)-2.978 E F1(trace)2.978 E F0(attrib)2.978 E
+.478(ute \(see)-.2 F .42(the description of the)108 297.6 R F3(declar)
 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.92 E F0 -.2(bu)
+(shell option has been enabled with the)2.92 F F1(set)2.921 E F0 -.2(bu)
 108 309.6 S(iltin \(in which case all functions inherit the).2 E F1(DEB)
 2.5 E(UG)-.1 E F0(and)2.5 E F1(RETURN)2.5 E F0(traps\).)2.5 E -1.11(Va)
-108 326.4 S .655(riables local to the function may be declared with the)
-1.11 F F1(local)3.155 E F0 -.2(bu)3.156 G .656(iltin command.).2 F
-(Ordinarily)5.656 E 3.156(,v)-.65 G .656(ariables and)-3.406 F(their v)
+108 326.4 S .656(riables local to the function may be declared with the)
+1.11 F F1(local)3.155 E F0 -.2(bu)3.155 G .655(iltin command.).2 F
+(Ordinarily)5.655 E 3.155(,v)-.65 G .655(ariables and)-3.405 F(their v)
 108 338.4 Q(alues are shared between the function and its caller)-.25 E
-(.)-.55 E .044(If the b)108 355.2 R .043(uiltin command)-.2 F F1 -.18
+(.)-.55 E .043(If the b)108 355.2 R .043(uiltin command)-.2 F F1 -.18
 (re)2.543 G(tur).18 E(n)-.15 E F0 .043(is e)2.543 F -.15(xe)-.15 G .043
 (cuted in a function, the function completes and e).15 F -.15(xe)-.15 G
-.043(cution resumes with).15 F 1.011(the ne)108 367.2 R 1.011
+.044(cution resumes with).15 F 1.012(the ne)108 367.2 R 1.012
 (xt command after the function call.)-.15 F(An)6.011 E 3.511(yc)-.15 G
-1.011(ommand associated with the)-3.511 F F1(RETURN)3.512 E F0 1.012
-(trap is e)3.512 F -.15(xe)-.15 G(cuted).15 E .214(before e)108 379.2 R
--.15(xe)-.15 G .214(cution resumes.).15 F .213
-(When a function completes, the v)5.214 F .213
+1.011(ommand associated with the)-3.511 F F1(RETURN)3.511 E F0 1.011
+(trap is e)3.511 F -.15(xe)-.15 G(cuted).15 E .213(before e)108 379.2 R
+-.15(xe)-.15 G .213(cution resumes.).15 F .213
+(When a function completes, the v)5.213 F .214
 (alues of the positional parameters and the spe-)-.25 F(cial parameter)
 108 391.2 Q F1(#)2.5 E F0(are restored to the v)2.5 E(alues the)-.25 E
 2.5(yh)-.15 G(ad prior to the function')-2.5 E 2.5(se)-.55 G -.15(xe)
--2.65 G(cution.).15 E 1.358
+-2.65 G(cution.).15 E 1.359
 (Function names and de\214nitions may be listed with the)108 408 R F1
 <ad66>3.858 E F0 1.358(option to the)3.858 F F1(declar)3.858 E(e)-.18 E
-F0(or)3.859 E F1(typeset)3.859 E F0 -.2(bu)3.859 G 1.359(iltin com-).2 F
+F0(or)3.858 E F1(typeset)3.858 E F0 -.2(bu)3.858 G 1.358(iltin com-).2 F
 3.39(mands. The)108 420 R F1<ad46>3.39 E F0 .89(option to)3.39 F F1
 (declar)3.39 E(e)-.18 E F0(or)3.39 E F1(typeset)3.39 E F0 .89
 (will list the function names only \(and optionally the source)3.39 F
-.326(\214le and line number)108 432 R 2.826(,i)-.4 G 2.826(ft)-2.826 G
-(he)-2.826 E F1(extdeb)2.826 E(ug)-.2 E F0 .326
-(shell option is enabled\).)2.826 F .327(Functions may be e)5.327 F .327
-(xported so that subshells)-.15 F .012(automatically ha)108 444 R .312
+.327(\214le and line number)108 432 R 2.827(,i)-.4 G 2.827(ft)-2.827 G
+(he)-2.827 E F1(extdeb)2.827 E(ug)-.2 E F0 .326
+(shell option is enabled\).)2.827 F .326(Functions may be e)5.326 F .326
+(xported so that subshells)-.15 F .011(automatically ha)108 444 R .311
 -.15(ve t)-.2 H .011(hem de\214ned with the).15 F F1<ad66>2.511 E F0
 .011(option to the)2.511 F F1(export)2.511 E F0 -.2(bu)2.511 G 2.511
-(iltin. Note).2 F .011(that shell functions and v)2.511 F(ari-)-.25 E
-.187(ables with the same name may result in multiple identically-named \
-entries in the en)108 456 R .188(vironment passed to the)-.4 F(shell')
+(iltin. Note).2 F .012(that shell functions and v)2.511 F(ari-)-.25 E
+.188(ables with the same name may result in multiple identically-named \
+entries in the en)108 456 R .187(vironment passed to the)-.4 F(shell')
 108 468 Q 2.5(sc)-.55 G 2.5(hildren. Care)-2.5 F(should be tak)2.5 E
 (en in cases where this may cause a problem.)-.1 E
 (Functions may be recursi)108 484.8 Q -.15(ve)-.25 G 5(.N).15 G 2.5(ol)
 -5 G(imit is imposed on the number of recursi)-2.5 E .3 -.15(ve c)-.25 H
 (alls.).15 E F2(ARITHMETIC EV)72 501.6 Q(ALU)-1.478 E -1.04(AT)-.657 G
-(ION)1.04 E F0 2.298(The shell allo)108 513.6 R 2.297(ws arithmetic e)
+(ION)1.04 E F0 2.297(The shell allo)108 513.6 R 2.297(ws arithmetic e)
 -.25 F 2.297(xpressions to be e)-.15 F -.25(va)-.25 G 2.297
-(luated, under certain circumstances \(see the).25 F F1(let)4.797 E F0
-(and)4.797 E F1(declar)108 525.6 Q(e)-.18 E F0 -.2(bu)2.705 G .205
-(iltin commands and).2 F F1 .205(Arithmetic Expansion)2.705 F F0 2.705
-(\). Ev)B .205(aluation is done in \214x)-.25 F .206(ed-width inte)-.15
-F .206(gers with no)-.15 F .429(check for o)108 537.6 R -.15(ve)-.15 G
-(r\215o).15 E 1.729 -.65(w, t)-.25 H .429(hough di).65 F .428
-(vision by 0 is trapped and \215agged as an error)-.25 F 5.428(.T)-.55 G
-.428(he operators and their prece-)-5.428 F 1.919(dence, associati)108
-549.6 R(vity)-.25 E 4.419(,a)-.65 G 1.919(nd v)-4.419 F 1.919
-(alues are the same as in the C language.)-.25 F 1.92(The follo)6.92 F
-1.92(wing list of operators is)-.25 F(grouped into le)108 561.6 Q -.15
+(luated, under certain circumstances \(see the).25 F F1(let)4.798 E F0
+(and)4.798 E F1(declar)108 525.6 Q(e)-.18 E F0 -.2(bu)2.706 G .206
+(iltin commands and).2 F F1 .206(Arithmetic Expansion)2.706 F F0 2.705
+(\). Ev)B .205(aluation is done in \214x)-.25 F .205(ed-width inte)-.15
+F .205(gers with no)-.15 F .428(check for o)108 537.6 R -.15(ve)-.15 G
+(r\215o).15 E 1.728 -.65(w, t)-.25 H .428(hough di).65 F .428
+(vision by 0 is trapped and \215agged as an error)-.25 F 5.429(.T)-.55 G
+.429(he operators and their prece-)-5.429 F 1.92(dence, associati)108
+549.6 R(vity)-.25 E 4.42(,a)-.65 G 1.92(nd v)-4.42 F 1.92
+(alues are the same as in the C language.)-.25 F 1.919(The follo)6.919 F
+1.919(wing list of operators is)-.25 F(grouped into le)108 561.6 Q -.15
 (ve)-.25 G(ls of equal-precedence operators.).15 E(The le)5 E -.15(ve)
 -.25 G(ls are listed in order of decreasing precedence.).15 E/F5 10
 /Times-Italic@0 SF(id)108 578.4 Q F1(++)A F5(id)2.5 E F1<adad>A F0 -.25
@@ -3059,8 +3065,8 @@ F .206(gers with no)-.15 F .429(check for o)108 537.6 R -.15(ve)-.15 G
 (multiplication, di)10.72 E(vision, remainder)-.25 E F1 2.5<2bad>108
 674.4 S F0(addition, subtraction)19.6 E F1(<< >>)108 686.4 Q F0
 (left and right bitwise shifts)10.7 E F1(<= >= < >)108 698.4 Q F0
-(comparison)144 710.4 Q(GNU Bash-3.1-de)72 768 Q -.15(ve)-.25 G 123.59
-(l2).15 G(005 Mar 15)-123.59 E(24)198.17 E 0 Cg EP
+(comparison)144 710.4 Q(GNU Bash-3.1-beta1)72 768 Q(2005 Aug 27)122.91 E
+(24)197.89 E 0 Cg EP
 %%Page: 25 26
 %%BeginPageSetup
 BP
@@ -3078,62 +3084,62 @@ BP
 F2 -.2(ex)2.5 G(pr2).2 E F0(comma)144 216 Q .68(Shell v)108 232.8 R .68
 (ariables are allo)-.25 F .68(wed as operands; parameter e)-.25 F .68
 (xpansion is performed before the e)-.15 F .68(xpression is e)-.15 F
--.25(va)-.25 G(lu-).25 E 3.507(ated. W)108 244.8 R 1.007(ithin an e)-.4
-F 1.007(xpression, shell v)-.15 F 1.007
+-.25(va)-.25 G(lu-).25 E 3.508(ated. W)108 244.8 R 1.008(ithin an e)-.4
+F 1.008(xpression, shell v)-.15 F 1.007
 (ariables may also be referenced by name without using the parameter)
--.25 F -.15(ex)108 256.8 S 1.041(pansion syntax.).15 F 3.541(As)6.041 G
-1.041(hell v)-3.541 F 1.041(ariable that is null or unset e)-.25 F -.25
-(va)-.25 G 1.04(luates to 0 when referenced by name without).25 F 1.466
-(using the parameter e)108 268.8 R 1.466(xpansion syntax.)-.15 F 1.467
-(The v)6.466 F 1.467(alue of a v)-.25 F 1.467(ariable is e)-.25 F -.25
-(va)-.25 G 1.467(luated as an arithmetic e).25 F(xpression)-.15 E 1.39
+-.25 F -.15(ex)108 256.8 S 1.04(pansion syntax.).15 F 3.54(As)6.04 G
+1.04(hell v)-3.54 F 1.04(ariable that is null or unset e)-.25 F -.25(va)
+-.25 G 1.041(luates to 0 when referenced by name without).25 F 1.467
+(using the parameter e)108 268.8 R 1.467(xpansion syntax.)-.15 F 1.467
+(The v)6.467 F 1.467(alue of a v)-.25 F 1.467(ariable is e)-.25 F -.25
+(va)-.25 G 1.466(luated as an arithmetic e).25 F(xpression)-.15 E 1.389
 (when it is referenced, or when a v)108 280.8 R 1.389
-(ariable which has been gi)-.25 F -.15(ve)-.25 G 3.889(nt).15 G(he)
--3.889 E F2(inte)3.889 E -.1(ge)-.4 G(r).1 E F0(attrib)3.889 E 1.389
-(ute using)-.2 F F1(declar)3.889 E 3.889(e-)-.18 G(i)-3.889 E F0(is)
-3.889 E .343(assigned a v)108 292.8 R 2.843(alue. A)-.25 F .343(null v)
-2.843 F .343(alue e)-.25 F -.25(va)-.25 G .343(luates to 0.).25 F 2.843
-(As)5.343 G .343(hell v)-2.843 F .343(ariable need not ha)-.25 F .643
--.15(ve i)-.2 H .343(ts inte).15 F .344(ger attrib)-.15 F .344
-(ute turned on)-.2 F(to be used in an e)108 304.8 Q(xpression.)-.15 E
-1.406(Constants with a leading 0 are interpreted as octal numbers.)108
-321.6 R 3.906(Al)6.406 G 1.406(eading 0x or 0X denotes he)-3.906 F
-(xadecimal.)-.15 E .589(Otherwise, numbers tak)108 333.6 R 3.089(et)-.1
-G .589(he form [)-3.089 F F2(base#)A F0 .589(]n, where)B F2(base)3.089 E
-F0 .59(is a decimal number between 2 and 64 represent-)3.089 F .093
-(ing the arithmetic base, and)108 345.6 R F2(n)2.593 E F0 .093
-(is a number in that base.)2.593 F(If)5.093 E F2(base#)2.593 E F0 .092
-(is omitted, then base 10 is used.)2.593 F .092(The digits)5.092 F .064
+(ariable which has been gi)-.25 F -.15(ve)-.25 G 3.89(nt).15 G(he)-3.89
+E F2(inte)3.89 E -.1(ge)-.4 G(r).1 E F0(attrib)3.89 E 1.39(ute using)-.2
+F F1(declar)3.89 E 3.89(e-)-.18 G(i)-3.89 E F0(is)3.89 E .344
+(assigned a v)108 292.8 R 2.844(alue. A)-.25 F .343(null v)2.843 F .343
+(alue e)-.25 F -.25(va)-.25 G .343(luates to 0.).25 F 2.843(As)5.343 G
+.343(hell v)-2.843 F .343(ariable need not ha)-.25 F .643 -.15(ve i)-.2
+H .343(ts inte).15 F .343(ger attrib)-.15 F .343(ute turned on)-.2 F
+(to be used in an e)108 304.8 Q(xpression.)-.15 E 1.406
+(Constants with a leading 0 are interpreted as octal numbers.)108 321.6
+R 3.906(Al)6.406 G 1.407(eading 0x or 0X denotes he)-3.906 F(xadecimal.)
+-.15 E .59(Otherwise, numbers tak)108 333.6 R 3.09(et)-.1 G .59
+(he form [)-3.09 F F2(base#)A F0 .59(]n, where)B F2(base)3.089 E F0 .589
+(is a decimal number between 2 and 64 represent-)3.089 F .092
+(ing the arithmetic base, and)108 345.6 R F2(n)2.592 E F0 .093
+(is a number in that base.)2.592 F(If)5.093 E F2(base#)2.593 E F0 .093
+(is omitted, then base 10 is used.)2.593 F .093(The digits)5.093 F .065
 (greater than 9 are represented by the lo)108 357.6 R .064
 (wercase letters, the uppercase letters, @, and _, in that order)-.25 F
-5.065(.I)-.55 G(f)-5.065 E F2(base)2.565 E F0 .433
-(is less than or equal to 36, lo)108 369.6 R .432(wercase and uppercase\
+5.064(.I)-.55 G(f)-5.064 E F2(base)2.564 E F0 .432
+(is less than or equal to 36, lo)108 369.6 R .433(wercase and uppercase\
  letters may be used interchangeably to represent num-)-.25 F
-(bers between 10 and 35.)108 381.6 Q .234(Operators are e)108 398.4 R
--.25(va)-.25 G .234(luated in order of precedence.).25 F(Sub-e)5.234 E
-.234(xpressions in parentheses are e)-.15 F -.25(va)-.25 G .235
+(bers between 10 and 35.)108 381.6 Q .235(Operators are e)108 398.4 R
+-.25(va)-.25 G .235(luated in order of precedence.).25 F(Sub-e)5.234 E
+.234(xpressions in parentheses are e)-.15 F -.25(va)-.25 G .234
 (luated \214rst and may).25 F -.15(ove)108 410.4 S
 (rride the precedence rules abo).15 E -.15(ve)-.15 G(.).15 E/F3 10.95
-/Times-Bold@0 SF(CONDITION)72 427.2 Q(AL EXPRESSIONS)-.219 E F0 .256
-(Conditional e)108 439.2 R .256(xpressions are used by the)-.15 F F1([[)
+/Times-Bold@0 SF(CONDITION)72 427.2 Q(AL EXPRESSIONS)-.219 E F0 .255
+(Conditional e)108 439.2 R .255(xpressions are used by the)-.15 F F1([[)
 2.755 E F0 .255(compound command and the)2.755 F F1(test)2.755 E F0(and)
-2.755 E F1([)2.755 E F0 -.2(bu)2.755 G .255(iltin commands to test).2 F
+2.755 E F1([)2.756 E F0 -.2(bu)2.756 G .256(iltin commands to test).2 F
 .77(\214le attrib)108 451.2 R .77
 (utes and perform string and arithmetic comparisons.)-.2 F .77
-(Expressions are formed from the follo)5.77 F(wing)-.25 E 1.041
-(unary or binary primaries.)108 463.2 R 1.041(If an)6.041 F(y)-.15 E F2
-(\214le)3.541 E F0(ar)3.541 E 1.04
-(gument to one of the primaries is of the form)-.18 F F2(/de)3.54 E
-(v/fd/n)-.15 E F0 3.54(,t)C 1.04(hen \214le)-3.54 F(descriptor)108 475.2
-Q F2(n)3.788 E F0 1.289(is check)3.788 F 3.789(ed. If)-.1 F(the)3.789 E
-F2(\214le)3.789 E F0(ar)3.789 E 1.289
+(Expressions are formed from the follo)5.77 F(wing)-.25 E 1.04
+(unary or binary primaries.)108 463.2 R 1.04(If an)6.04 F(y)-.15 E F2
+(\214le)3.54 E F0(ar)3.54 E 1.041
+(gument to one of the primaries is of the form)-.18 F F2(/de)3.541 E
+(v/fd/n)-.15 E F0 3.541(,t)C 1.041(hen \214le)-3.541 F(descriptor)108
+475.2 Q F2(n)3.789 E F0 1.289(is check)3.789 F 3.789(ed. If)-.1 F(the)
+3.789 E F2(\214le)3.789 E F0(ar)3.789 E 1.289
 (gument to one of the primaries is one of)-.18 F F2(/de)3.789 E(v/stdin)
--.15 E F0(,)A F2(/de)3.789 E(v/stdout)-.15 E F0 3.789(,o)C(r)-3.789 E F2
+-.15 E F0(,)A F2(/de)3.788 E(v/stdout)-.15 E F0 3.788(,o)C(r)-3.788 E F2
 (/de)108 487.2 Q(v/stderr)-.15 E F0 2.5<2c8c>C
 (le descriptor 0, 1, or 2, respecti)-2.5 E -.15(ve)-.25 G(ly).15 E 2.5
-(,i)-.65 G 2.5(sc)-2.5 G(heck)-2.5 E(ed.)-.1 E .722
+(,i)-.65 G 2.5(sc)-2.5 G(heck)-2.5 E(ed.)-.1 E .721
 (Unless otherwise speci\214ed, primaries that operate on \214les follo)
-108 504 R 3.221(ws)-.25 G .721(ymbolic links and operate on the tar)
+108 504 R 3.221(ws)-.25 G .722(ymbolic links and operate on the tar)
 -3.221 F(get)-.18 E(of the link, rather than the link itself.)108 516 Q
 F1<ad61>108 540 Q F2(\214le)2.5 E F0 -.35(Tr)10.58 G(ue if).35 E F2
 (\214le)2.5 E F0 -.15(ex)2.5 G(ists.).15 E F1<ad62>108 552 Q F2(\214le)
@@ -3164,8 +3170,8 @@ E F1<ad72>108 660 Q F2(\214le)2.5 E F0 -.35(Tr)11.14 G(ue if).35 E F2
 F2(\214le)2.5 E F0 -.35(Tr)10.02 G(ue if).35 E F2(\214le)2.5 E F0 -.15
 (ex)2.5 G(ists and its set-user).15 E(-id bit is set.)-.2 E F1<ad77>108
 708 Q F2(\214le)2.5 E F0 -.35(Tr)8.36 G(ue if).35 E F2(\214le)2.5 E F0
--.15(ex)2.5 G(ists and is writable.).15 E(GNU Bash-3.1-de)72 768 Q -.15
-(ve)-.25 G 123.59(l2).15 G(005 Mar 15)-123.59 E(25)198.17 E 0 Cg EP
+-.15(ex)2.5 G(ists and is writable.).15 E(GNU Bash-3.1-beta1)72 768 Q
+(2005 Aug 27)122.91 E(25)197.89 E 0 Cg EP
 %%Page: 26 27
 %%BeginPageSetup
 BP
@@ -3186,22 +3192,22 @@ F1<ad4c>108 120 Q F2(\214le)2.5 E F0 -.35(Tr)8.91 G(ue if).35 E F2
 <ad4e>108 144 Q F2(\214le)2.5 E F0 -.35(Tr)8.36 G(ue if).35 E F2(\214le)
 2.5 E F0 -.15(ex)2.5 G(ists and has been modi\214ed since it w).15 E
 (as last read.)-.1 E F2(\214le1)108 156 Q F0<ad>2.5 E F1(nt)A F2
-(\214le2)2.5 E F0 -.35(Tr)144 168 S .038(ue if).35 F F2(\214le1)2.538 E
+(\214le2)2.5 E F0 -.35(Tr)144 168 S .039(ue if).35 F F2(\214le1)2.539 E
 F0 .039(is ne)2.539 F .039
 (wer \(according to modi\214cation date\) than)-.25 F F2(\214le2)2.539 E
 F0 2.539(,o)C 2.539(ri)-2.539 G(f)-2.539 E F2(\214le1)2.539 E F0 -.15
-(ex)2.539 G .039(ists and).15 F F2(\214le2)2.539 E F0 .039(does not.)
-2.539 F F2(\214le1)108 180 Q F0<ad>2.5 E F1(ot)A F2(\214le2)2.5 E F0
+(ex)2.539 G .039(ists and).15 F F2(\214le2)2.539 E F0 .038(does not.)
+2.538 F F2(\214le1)108 180 Q F0<ad>2.5 E F1(ot)A F2(\214le2)2.5 E F0
 -.35(Tr)144 192 S(ue if).35 E F2(\214le1)2.5 E F0(is older than)2.5 E F2
 (\214le2)2.5 E F0 2.5(,o)C 2.5(ri)-2.5 G(f)-2.5 E F2(\214le2)2.5 E F0
 -.15(ex)2.5 G(ists and).15 E F2(\214le1)2.5 E F0(does not.)2.5 E F2
 (\214le1)108 204 Q F1(\255ef)2.5 E F2(\214le2)2.5 E F0 -.35(Tr)144 216 S
 (ue if).35 E F2(\214le1)2.5 E F0(and)2.5 E F2(\214le2)2.5 E F0
 (refer to the same de)2.5 E(vice and inode numbers.)-.25 E F1<ad6f>108
-228 Q F2(optname)2.5 E F0 -.35(Tr)144 240 S 1.144(ue if shell option).35
-F F2(optname)3.874 E F0 1.144(is enabled.)3.824 F 1.143
-(See the list of options under the description of the)6.144 F F1<ad6f>
-3.643 E F0(option to the)144 252 Q F1(set)2.5 E F0 -.2(bu)2.5 G
+228 Q F2(optname)2.5 E F0 -.35(Tr)144 240 S 1.143(ue if shell option).35
+F F2(optname)3.873 E F0 1.143(is enabled.)3.823 F 1.144
+(See the list of options under the description of the)6.143 F F1<ad6f>
+3.644 E F0(option to the)144 252 Q F1(set)2.5 E F0 -.2(bu)2.5 G
 (iltin belo).2 E -.65(w.)-.25 G F1<ad7a>108 264 Q F2(string)2.5 E F0
 -.35(Tr)144 276 S(ue if the length of).35 E F2(string)2.5 E F0(is zero.)
 2.5 E F2(string)108 288 Q F1<ad6e>108 300 Q F2(string)2.5 E F0 -.35(Tr)
@@ -3219,54 +3225,54 @@ F0(sorts before)2.5 E F2(string2)2.5 E F0(le)2.5 E
 2.5 E F0(sorts after)2.5 E F2(string2)2.5 E F0(le)2.5 E
 (xicographically in the current locale.)-.15 E F2(ar)108.33 444 Q(g1)
 -.37 E F1(OP)2.5 E F2(ar)2.5 E(g2)-.37 E/F3 9/Times-Bold@0 SF(OP)144 456
-Q F0 .385(is one of)2.634 F F1(\255eq)2.885 E F0(,)A F1(\255ne)2.885 E
+Q F0 .385(is one of)2.635 F F1(\255eq)2.885 E F0(,)A F1(\255ne)2.885 E
 F0(,)A F1(\255lt)2.885 E F0(,)A F1(\255le)2.885 E F0(,)A F1(\255gt)2.885
 E F0 2.885(,o)C(r)-2.885 E F1(\255ge)2.885 E F0 5.385(.T)C .385
-(hese arithmetic binary operators return true if)-5.385 F F2(ar)2.885 E
+(hese arithmetic binary operators return true if)-5.385 F F2(ar)2.884 E
 (g1)-.37 E F0 .845(is equal to, not equal to, less than, less than or e\
 qual to, greater than, or greater than or equal to)144 468 R F2(ar)144
 480 Q(g2)-.37 E F0 2.5(,r)C(especti)-2.5 E -.15(ve)-.25 G(ly).15 E(.)
 -.65 E F2(Ar)6.01 E(g1)-.37 E F0(and)2.5 E F2(ar)2.83 E(g2)-.37 E F0
 (may be positi)2.52 E .3 -.15(ve o)-.25 H 2.5(rn).15 G -2.25 -.15(eg a)
 -2.5 H(ti).15 E .3 -.15(ve i)-.25 H(nte).15 E(gers.)-.15 E/F4 10.95
-/Times-Bold@0 SF(SIMPLE COMMAND EXP)72 496.8 Q(ANSION)-.81 E F0 .613
+/Times-Bold@0 SF(SIMPLE COMMAND EXP)72 496.8 Q(ANSION)-.81 E F0 .614
 (When a simple command is e)108 508.8 R -.15(xe)-.15 G .614
-(cuted, the shell performs the follo).15 F .614(wing e)-.25 F .614
+(cuted, the shell performs the follo).15 F .613(wing e)-.25 F .613
 (xpansions, assignments, and redi-)-.15 F(rections, from left to right.)
-108 520.8 Q 26(1. The)108 537.6 R -.1(wo)4.349 G 1.849
-(rds that the parser has mark).1 F 1.848(ed as v)-.1 F 1.848
+108 520.8 Q 26(1. The)108 537.6 R -.1(wo)4.348 G 1.848
+(rds that the parser has mark).1 F 1.848(ed as v)-.1 F 1.849
 (ariable assignments \(those preceding the command)-.25 F
 (name\) and redirections are sa)144 549.6 Q -.15(ve)-.2 G 2.5(df).15 G
-(or later processing.)-2.5 E 26(2. The)108 566.4 R -.1(wo)3.663 G 1.163
+(or later processing.)-2.5 E 26(2. The)108 566.4 R -.1(wo)3.664 G 1.164
 (rds that are not v).1 F 1.164
-(ariable assignments or redirections are e)-.25 F 3.664(xpanded. If)-.15
-F(an)3.664 E 3.664(yw)-.15 G 1.164(ords remain)-3.764 F .776(after e)144
-578.4 R .776(xpansion, the \214rst w)-.15 F .776(ord is tak)-.1 F .775
+(ariable assignments or redirections are e)-.25 F 3.663(xpanded. If)-.15
+F(an)3.663 E 3.663(yw)-.15 G 1.163(ords remain)-3.763 F .775(after e)144
+578.4 R .775(xpansion, the \214rst w)-.15 F .775(ord is tak)-.1 F .775
 (en to be the name of the command and the remaining w)-.1 F(ords)-.1 E
 (are the ar)144 590.4 Q(guments.)-.18 E 26(3. Redirections)108 607.2 R
 (are performed as described abo)2.5 E .3 -.15(ve u)-.15 H(nder).15 E F3
 (REDIRECTION)2.5 E/F5 9/Times-Roman@0 SF(.)A F0 26(4. The)108 624 R(te)
-3.216 E .717(xt after the)-.15 F F1(=)3.217 E F0 .717(in each v)3.217 F
+3.217 E .717(xt after the)-.15 F F1(=)3.217 E F0 .717(in each v)3.217 F
 .717(ariable assignment under)-.25 F .717(goes tilde e)-.18 F .717
-(xpansion, parameter e)-.15 F(xpansion,)-.15 E .34
+(xpansion, parameter e)-.15 F(xpansion,)-.15 E .339
 (command substitution, arithmetic e)144 636 R .339
 (xpansion, and quote remo)-.15 F -.25(va)-.15 G 2.839(lb).25 G .339
 (efore being assigned to the v)-2.839 F(ari-)-.25 E(able.)144 648 Q .332
 (If no command name results, the v)108 664.8 R .332
 (ariable assignments af)-.25 F .332(fect the current shell en)-.25 F
-2.833(vironment. Otherwise,)-.4 F(the)2.833 E -.25(va)108 676.8 S .757
+2.832(vironment. Otherwise,)-.4 F(the)2.832 E -.25(va)108 676.8 S .757
 (riables are added to the en).25 F .757(vironment of the e)-.4 F -.15
 (xe)-.15 G .757(cuted command and do not af).15 F .757
-(fect the current shell en)-.25 F(vi-)-.4 E 3.176(ronment. If)108 688.8
-R(an)3.176 E 3.176(yo)-.15 G 3.176(ft)-3.176 G .677
-(he assignments attempts to assign a v)-3.176 F .677
-(alue to a readonly v)-.25 F .677(ariable, an error occurs, and)-.25 F
-(the command e)108 700.8 Q(xits with a non-zero status.)-.15 E .15
+(fect the current shell en)-.25 F(vi-)-.4 E 3.177(ronment. If)108 688.8
+R(an)3.177 E 3.177(yo)-.15 G 3.177(ft)-3.177 G .677
+(he assignments attempts to assign a v)-3.177 F .677
+(alue to a readonly v)-.25 F .676(ariable, an error occurs, and)-.25 F
+(the command e)108 700.8 Q(xits with a non-zero status.)-.15 E .149
 (If no command name results, redirections are performed, b)108 717.6 R
-.149(ut do not af)-.2 F .149(fect the current shell en)-.25 F 2.649
+.149(ut do not af)-.2 F .15(fect the current shell en)-.25 F 2.65
 (vironment. A)-.4 F(redirection error causes the command to e)108 729.6
-Q(xit with a non-zero status.)-.15 E(GNU Bash-3.1-de)72 768 Q -.15(ve)
--.25 G 123.59(l2).15 G(005 Mar 15)-123.59 E(26)198.17 E 0 Cg EP
+Q(xit with a non-zero status.)-.15 E(GNU Bash-3.1-beta1)72 768 Q
+(2005 Aug 27)122.91 E(26)197.89 E 0 Cg EP
 %%Page: 27 28
 %%BeginPageSetup
 BP
@@ -3275,15 +3281,15 @@ BP
 -.35 E 1.064(If there is a command name left after e)108 84 R 1.064
 (xpansion, e)-.15 F -.15(xe)-.15 G 1.064
 (cution proceeds as described belo).15 F 4.864 -.65(w. O)-.25 H 1.064
-(therwise, the).65 F .069(command e)108 96 R 2.569(xits. If)-.15 F .069
-(one of the e)2.569 F .069
-(xpansions contained a command substitution, the e)-.15 F .068
-(xit status of the command)-.15 F .466(is the e)108 108 R .466
-(xit status of the last command substitution performed.)-.15 F .467
+(therwise, the).65 F .068(command e)108 96 R 2.568(xits. If)-.15 F .069
+(one of the e)2.568 F .069
+(xpansions contained a command substitution, the e)-.15 F .069
+(xit status of the command)-.15 F .467(is the e)108 108 R .466
+(xit status of the last command substitution performed.)-.15 F .466
 (If there were no command substitutions, the)5.466 F(command e)108 120 Q
 (xits with a status of zero.)-.15 E/F1 10.95/Times-Bold@0 SF
-(COMMAND EXECUTION)72 136.8 Q F0 .547
-(After a command has been split into w)108 148.8 R .546
+(COMMAND EXECUTION)72 136.8 Q F0 .546
+(After a command has been split into w)108 148.8 R .547
 (ords, if it results in a simple command and an optional list of ar)-.1
 F(gu-)-.18 E(ments, the follo)108 160.8 Q(wing actions are tak)-.25 E
 (en.)-.1 E .379(If the command name contains no slashes, the shell atte\
@@ -3295,71 +3301,71 @@ mpts to locate it.)108 177.6 R .379(If there e)5.379 F .379
 (If the name does not match a func-)4.746 F
 (tion, the shell searches for it in the list of shell b)108 201.6 Q 2.5
 (uiltins. If)-.2 F 2.5(am)2.5 G(atch is found, that b)-2.5 E
-(uiltin is in)-.2 E -.2(vo)-.4 G -.1(ke).2 G(d.).1 E .309
-(If the name is neither a shell function nor a b)108 218.4 R .31
-(uiltin, and contains no slashes,)-.2 F/F4 10/Times-Bold@0 SF(bash)2.81
-E F0 .31(searches each element of)2.81 F(the)108 230.4 Q F2 -.666(PA)
-3.163 G(TH)-.189 E F0 .662(for a directory containing an e)2.913 F -.15
+(uiltin is in)-.2 E -.2(vo)-.4 G -.1(ke).2 G(d.).1 E .31
+(If the name is neither a shell function nor a b)108 218.4 R .309
+(uiltin, and contains no slashes,)-.2 F/F4 10/Times-Bold@0 SF(bash)2.809
+E F0 .309(searches each element of)2.809 F(the)108 230.4 Q F2 -.666(PA)
+3.162 G(TH)-.189 E F0 .662(for a directory containing an e)2.912 F -.15
 (xe)-.15 G .662(cutable \214le by that name.).15 F F4(Bash)5.662 E F0
-.662(uses a hash table to remember)3.162 F 1.914
+.663(uses a hash table to remember)3.162 F 1.915
 (the full pathnames of e)108 242.4 R -.15(xe)-.15 G 1.915
 (cutable \214les \(see).15 F F4(hash)4.415 E F0(under)4.415 E F2 1.915
-(SHELL B)4.415 F(UIL)-.09 E 1.915(TIN COMMANDS)-.828 F F0(belo)4.165 E
-4.415(w\). A)-.25 F(full)4.415 E .72(search of the directories in)108
-254.4 R F2 -.666(PA)3.22 G(TH)-.189 E F0 .719
-(is performed only if the command is not found in the hash table.)2.97 F
-.719(If the)5.719 F(search is unsuccessful, the shell prints an error m\
+(SHELL B)4.415 F(UIL)-.09 E 1.914(TIN COMMANDS)-.828 F F0(belo)4.164 E
+4.414(w\). A)-.25 F(full)4.414 E .719(search of the directories in)108
+254.4 R F2 -.666(PA)3.219 G(TH)-.189 E F0 .72
+(is performed only if the command is not found in the hash table.)2.969
+F .72(If the)5.72 F(search is unsuccessful, the shell prints an error m\
 essage and returns an e)108 266.4 Q(xit status of 127.)-.15 E 1.089(If \
 the search is successful, or if the command name contains one or more s\
-lashes, the shell e)108 283.2 R -.15(xe)-.15 G 1.09(cutes the).15 F .198
-(named program in a separate e)108 295.2 R -.15(xe)-.15 G .198
+lashes, the shell e)108 283.2 R -.15(xe)-.15 G 1.089(cutes the).15 F
+.197(named program in a separate e)108 295.2 R -.15(xe)-.15 G .197
 (cution en).15 F 2.698(vironment. Ar)-.4 F .198
-(gument 0 is set to the name gi)-.18 F -.15(ve)-.25 G .197
+(gument 0 is set to the name gi)-.18 F -.15(ve)-.25 G .198
 (n, and the remain-).15 F(ing ar)108 307.2 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 1.809(If this e)108 324 R -.15
 (xe)-.15 G 1.809(cution f).15 F 1.809
 (ails because the \214le is not in e)-.1 F -.15(xe)-.15 G 1.809
 (cutable format, and the \214le is not a directory).15 F 4.309(,i)-.65 G
-4.309(ti)-4.309 G(s)-4.309 E .678(assumed to be a)108 336 R/F5 10
-/Times-Italic@0 SF .678(shell script)3.178 F F0 3.178(,a\214)C .678
+4.309(ti)-4.309 G(s)-4.309 E .677(assumed to be a)108 336 R/F5 10
+/Times-Italic@0 SF .678(shell script)3.177 F F0 3.178(,a\214)C .678
 (le containing shell commands.)-3.178 F 3.178(As)5.678 G .678
-(ubshell is spa)-3.178 F .677(wned to e)-.15 F -.15(xe)-.15 G .677
-(cute it.).15 F(This)5.677 E .329
-(subshell reinitializes itself, so that the ef)108 348 R .329
-(fect is as if a ne)-.25 F 2.83(ws)-.25 G .33(hell had been in)-2.83 F
--.2(vo)-.4 G -.1(ke).2 G 2.83(dt).1 G 2.83(oh)-2.83 G .33
-(andle the script, with)-2.83 F 1.219(the e)108 360 R 1.219
+(ubshell is spa)-3.178 F .678(wned to e)-.15 F -.15(xe)-.15 G .678
+(cute it.).15 F(This)5.678 E .33
+(subshell reinitializes itself, so that the ef)108 348 R .33
+(fect is as if a ne)-.25 F 2.829(ws)-.25 G .329(hell had been in)-2.829
+F -.2(vo)-.4 G -.1(ke).2 G 2.829(dt).1 G 2.829(oh)-2.829 G .329
+(andle the script, with)-2.829 F 1.219(the e)108 360 R 1.219
 (xception that the locations of commands remembered by the parent \(see)
 -.15 F F4(hash)3.719 E F0(belo)3.719 E 3.719(wu)-.25 G(nder)-3.719 E F2
 (SHELL)3.719 E -.09(BU)108 372 S(IL).09 E(TIN COMMANDS)-.828 E F3(\))A
-F0(are retained by the child.)2.25 E .347(If the program is a \214le be)
-108 388.8 R .347(ginning with)-.15 F F4(#!)2.847 E F0 2.847(,t)C .348(h\
+F0(are retained by the child.)2.25 E .348(If the program is a \214le be)
+108 388.8 R .348(ginning with)-.15 F F4(#!)2.848 E F0 2.848(,t)C .347(h\
 e remainder of the \214rst line speci\214es an interpreter for the pro-)
--2.847 F 3.178(gram. The)108 400.8 R .678(shell e)3.178 F -.15(xe)-.15 G
+-2.848 F 3.178(gram. The)108 400.8 R .678(shell e)3.178 F -.15(xe)-.15 G
 .678(cutes the speci\214ed interpreter on operating systems that do not\
- handle this e).15 F -.15(xe)-.15 G(cutable).15 E 1.192(format themselv)
-108 412.8 R 3.692(es. The)-.15 F(ar)3.693 E 1.193
-(guments to the interpreter consist of a single optional ar)-.18 F 1.193
-(gument follo)-.18 F 1.193(wing the)-.25 F 1.131
+ handle this e).15 F -.15(xe)-.15 G(cutable).15 E 1.193(format themselv)
+108 412.8 R 3.693(es. The)-.15 F(ar)3.693 E 1.193
+(guments to the interpreter consist of a single optional ar)-.18 F 1.192
+(gument follo)-.18 F 1.192(wing the)-.25 F 1.13
 (interpreter name on the \214rst line of the program, follo)108 424.8 R
-1.13(wed by the name of the program, follo)-.25 F 1.13(wed by the)-.25 F
-(command ar)108 436.8 Q(guments, if an)-.18 E -.65(y.)-.15 G F1
+1.131(wed by the name of the program, follo)-.25 F 1.131(wed by the)-.25
+F(command ar)108 436.8 Q(guments, if an)-.18 E -.65(y.)-.15 G F1
 (COMMAND EXECUTION ENVIR)72 453.6 Q(ONMENT)-.329 E F0(The shell has an)
 108 465.6 Q F5 -.2(ex)2.5 G(ecution en).2 E(vir)-.4 E(onment)-.45 E F0
 2.5(,w)C(hich consists of the follo)-2.5 E(wing:)-.25 E 32.5<836f>108
-494.4 S 1.405(pen \214les inherited by the shell at in)-32.5 F -.2(vo)
--.4 G 1.406(cation, as modi\214ed by redirections supplied to the).2 F
-F4(exec)3.906 E F0 -.2(bu)144 506.4 S(iltin).2 E 32.5<8374>108 523.2 S
+494.4 S 1.406(pen \214les inherited by the shell at in)-32.5 F -.2(vo)
+-.4 G 1.405(cation, as modi\214ed by redirections supplied to the).2 F
+F4(exec)3.905 E F0 -.2(bu)144 506.4 S(iltin).2 E 32.5<8374>108 523.2 S
 (he current w)-32.5 E(orking directory as set by)-.1 E F4(cd)2.5 E F0(,)
 A F4(pushd)2.5 E F0 2.5(,o)C(r)-2.5 E F4(popd)2.5 E F0 2.5(,o)C 2.5(ri)
 -2.5 G(nherited by the shell at in)-2.5 E -.2(vo)-.4 G(cation).2 E 32.5
 <8374>108 540 S(he \214le creation mode mask as set by)-32.5 E F4(umask)
 2.5 E F0(or inherited from the shell')2.5 E 2.5(sp)-.55 G(arent)-2.5 E
 32.5<8363>108 556.8 S(urrent traps set by)-32.5 E F4(trap)2.5 E F0 32.5
-<8373>108 573.6 S .257(hell parameters that are set by v)-32.5 F .256
-(ariable assignment or with)-.25 F F4(set)2.756 E F0 .256
-(or inherited from the shell')2.756 F 2.756(sp)-.55 G(arent)-2.756 E
+<8373>108 573.6 S .256(hell parameters that are set by v)-32.5 F .256
+(ariable assignment or with)-.25 F F4(set)2.756 E F0 .257
+(or inherited from the shell')2.756 F 2.757(sp)-.55 G(arent)-2.757 E
 (in the en)144 585.6 Q(vironment)-.4 E 32.5<8373>108 602.4 S
 (hell functions de\214ned during e)-32.5 E -.15(xe)-.15 G
 (cution or inherited from the shell').15 E 2.5(sp)-.55 G
@@ -3371,74 +3377,74 @@ F0 32.5<836f>108 636 S(ptions enabled by)-32.5 E F4(shopt)2.5 E F0 32.5
 32.5<8376>108 669.6 S
 (arious process IDs, including those of background jobs, the v)-32.75 E
 (alue of)-.25 E F4($$)2.5 E F0 2.5(,a)C(nd the v)-2.5 E(alue of)-.25 E
-F4($PPID)2.5 E F0 .426(When a simple command other than a b)108 686.4 R
-.427(uiltin or shell function is to be e)-.2 F -.15(xe)-.15 G .427
-(cuted, it is in).15 F -.2(vo)-.4 G -.1(ke).2 G 2.927(di).1 G 2.927(nas)
--2.927 G(eparate)-2.927 E -.15(exe)108 698.4 S .134(cution en).15 F .134
+F4($PPID)2.5 E F0 .427(When a simple command other than a b)108 686.4 R
+.426(uiltin or shell function is to be e)-.2 F -.15(xe)-.15 G .426
+(cuted, it is in).15 F -.2(vo)-.4 G -.1(ke).2 G 2.926(di).1 G 2.926(nas)
+-2.926 G(eparate)-2.926 E -.15(exe)108 698.4 S .133(cution en).15 F .133
 (vironment that consists of the follo)-.4 F 2.634(wing. Unless)-.25 F
-.133(otherwise noted, the v)2.634 F .133(alues are inherited from)-.25 F
-(the shell.)108 710.4 Q(GNU Bash-3.1-de)72 768 Q -.15(ve)-.25 G 123.59
-(l2).15 G(005 Mar 15)-123.59 E(27)198.17 E 0 Cg EP
+.134(otherwise noted, the v)2.634 F .134(alues are inherited from)-.25 F
+(the shell.)108 710.4 Q(GNU Bash-3.1-beta1)72 768 Q(2005 Aug 27)122.91 E
+(27)197.89 E 0 Cg EP
 %%Page: 28 29
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E 32.5<8374>108 84 S 1.055(he shell')-32.5 F 3.555(so)-.55 G 1.055
-(pen \214les, plus an)-3.555 F 3.556(ym)-.15 G 1.056
+-.35 E 32.5<8374>108 84 S 1.056(he shell')-32.5 F 3.556(so)-.55 G 1.056
+(pen \214les, plus an)-3.556 F 3.556(ym)-.15 G 1.056
 (odi\214cations and additions speci\214ed by redirections to the com-)
 -3.556 F(mand)144 96 Q 32.5<8374>108 112.8 S(he current w)-32.5 E
 (orking directory)-.1 E 32.5<8374>108 129.6 S
-(he \214le creation mode mask)-32.5 E 32.5<8373>108 146.4 S .857(hell v)
+(he \214le creation mode mask)-32.5 E 32.5<8373>108 146.4 S .856(hell v)
 -32.5 F .857(ariables and functions mark)-.25 F .857(ed for e)-.1 F .857
 (xport, along with v)-.15 F .857(ariables e)-.25 F .857
 (xported for the command,)-.15 F(passed in the en)144 158.4 Q(vironment)
--.4 E 32.5<8374>108 175.2 S .306
-(raps caught by the shell are reset to the v)-32.5 F .307
-(alues inherited from the shell')-.25 F 2.807(sp)-.55 G .307
-(arent, and traps ignored)-2.807 F(by the shell are ignored)144 187.2 Q
+-.4 E 32.5<8374>108 175.2 S .307
+(raps caught by the shell are reset to the v)-32.5 F .306
+(alues inherited from the shell')-.25 F 2.806(sp)-.55 G .306
+(arent, and traps ignored)-2.806 F(by the shell are ignored)144 187.2 Q
 2.5(Ac)108 204 S(ommand in)-2.5 E -.2(vo)-.4 G -.1(ke).2 G 2.5(di).1 G
 2.5(nt)-2.5 G(his separate en)-2.5 E(vironment cannot af)-.4 E
 (fect the shell')-.25 E 2.5(se)-.55 G -.15(xe)-2.65 G(cution en).15 E
 (vironment.)-.4 E .577(Command substitution, commands grouped with pare\
 ntheses, and asynchronous commands are in)108 220.8 R -.2(vo)-.4 G -.1
-(ke).2 G 3.077(di).1 G(n)-3.077 E 2.744(as)108 232.8 S .244(ubshell en)
--2.744 F .244(vironment that is a duplicate of the shell en)-.4 F .245
-(vironment, e)-.4 F .245(xcept that traps caught by the shell are)-.15 F
-.359(reset to the v)108 244.8 R .358
+(ke).2 G 3.078(di).1 G(n)-3.078 E 2.745(as)108 232.8 S .245(ubshell en)
+-2.745 F .245(vironment that is a duplicate of the shell en)-.4 F .244
+(vironment, e)-.4 F .244(xcept that traps caught by the shell are)-.15 F
+.358(reset to the v)108 244.8 R .358
 (alues that the shell inherited from its parent at in)-.25 F -.2(vo)-.4
-G 2.858(cation. Builtin).2 F .358(commands that are in)2.858 F -.2(vo)
--.4 G -.1(ke).2 G(d).1 E .856(as part of a pipeline are also e)108 256.8
-R -.15(xe)-.15 G .856(cuted in a subshell en).15 F 3.357
-(vironment. Changes)-.4 F .857(made to the subshell en)3.357 F(viron-)
+G 2.858(cation. Builtin).2 F .359(commands that are in)2.859 F -.2(vo)
+-.4 G -.1(ke).2 G(d).1 E .857(as part of a pipeline are also e)108 256.8
+R -.15(xe)-.15 G .856(cuted in a subshell en).15 F 3.356
+(vironment. Changes)-.4 F .856(made to the subshell en)3.356 F(viron-)
 -.4 E(ment cannot af)108 268.8 Q(fect the shell')-.25 E 2.5(se)-.55 G
--.15(xe)-2.65 G(cution en).15 E(vironment.)-.4 E .405
-(If a command is follo)108 285.6 R .405(wed by a)-.25 F/F1 10
-/Times-Bold@0 SF(&)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 .197(is the empty \214le)108
-297.6 R/F2 10/Times-Italic@0 SF(/de)2.697 E(v/null)-.15 E F0 5.197(.O)C
-.197(therwise, the in)-5.197 F -.2(vo)-.4 G -.1(ke).2 G 2.697(dc).1 G
-.198(ommand inherits the \214le descriptors of the calling shell)-2.697
+-.15(xe)-2.65 G(cution en).15 E(vironment.)-.4 E .404
+(If a command is follo)108 285.6 R .404(wed by a)-.25 F/F1 10
+/Times-Bold@0 SF(&)2.904 E F0 .405(and job control is not acti)2.904 F
+-.15(ve)-.25 G 2.905(,t).15 G .405(he def)-2.905 F .405
+(ault standard input for the command)-.1 F .198(is the empty \214le)108
+297.6 R/F2 10/Times-Italic@0 SF(/de)2.698 E(v/null)-.15 E F0 5.198(.O)C
+.198(therwise, the in)-5.198 F -.2(vo)-.4 G -.1(ke).2 G 2.698(dc).1 G
+.197(ommand inherits the \214le descriptors of the calling shell)-2.698
 F(as modi\214ed by redirections.)108 309.6 Q/F3 10.95/Times-Bold@0 SF
-(ENVIR)72 326.4 Q(ONMENT)-.329 E F0 2.354(When a program is in)108 338.4
+(ENVIR)72 326.4 Q(ONMENT)-.329 E F0 2.353(When a program is in)108 338.4
 R -.2(vo)-.4 G -.1(ke).2 G 4.853(di).1 G 4.853(ti)-4.853 G 4.853(sg)
 -4.853 G -2.15 -.25(iv e)-4.853 H 4.853(na).25 G 4.853(na)-4.853 G 2.353
 (rray of strings called the)-4.853 F F2(en)4.853 E(vir)-.4 E(onment)-.45
-E F0 7.353(.T).68 G 2.353(his is a list of)-7.353 F F2(name)108 350.4 Q
+E F0 7.353(.T).68 G 2.354(his is a list of)-7.353 F F2(name)108 350.4 Q
 F0<ad>A F2(value)A F0(pairs, of the form)2.5 E F2(name)2.5 E F0(=)A F2
-(value)A F0(.).18 E 1.485(The shell pro)108 367.2 R 1.485(vides se)-.15
-F -.15(ve)-.25 G 1.485(ral w).15 F 1.485(ays to manipulate the en)-.1 F
-3.985(vironment. On)-.4 F(in)3.985 E -.2(vo)-.4 G 1.486
+(value)A F0(.).18 E 1.486(The shell pro)108 367.2 R 1.486(vides se)-.15
+F -.15(ve)-.25 G 1.486(ral w).15 F 1.485(ays to manipulate the en)-.1 F
+3.985(vironment. On)-.4 F(in)3.985 E -.2(vo)-.4 G 1.485
 (cation, the shell scans its o).2 F(wn)-.25 E(en)108 379.2 Q .144(viron\
 ment and creates a parameter for each name found, automatically marking\
- it for)-.4 F F2 -.2(ex)2.643 G(port).2 E F0 .143(to child pro-)3.323 F
-2.703(cesses. Ex)108 391.2 R .203(ecuted commands inherit the en)-.15 F
+ it for)-.4 F F2 -.2(ex)2.644 G(port).2 E F0 .144(to child pro-)3.324 F
+2.704(cesses. Ex)108 391.2 R .203(ecuted commands inherit the en)-.15 F
 2.703(vironment. The)-.4 F F1(export)2.703 E F0(and)2.703 E F1(declar)
-2.703 E 2.703<65ad>-.18 G(x)-2.703 E F0 .203(commands allo)2.703 F 2.704
-(wp)-.25 G(aram-)-2.704 E 1.153
+2.703 E 2.703<65ad>-.18 G(x)-2.703 E F0 .203(commands allo)2.703 F 2.703
+(wp)-.25 G(aram-)-2.703 E 1.153
 (eters and functions to be added to and deleted from the en)108 403.2 R
-3.653(vironment. If)-.4 F 1.153(the v)3.653 F 1.153
+3.653(vironment. If)-.4 F 1.153(the v)3.653 F 1.154
 (alue of a parameter in the)-.25 F(en)108 415.2 Q .64
 (vironment is modi\214ed, the ne)-.4 F 3.14(wv)-.25 G .64
 (alue becomes part of the en)-3.39 F .64(vironment, replacing the old.)
@@ -3446,259 +3452,256 @@ ment and creates a parameter for each name found, automatically marking\
 R 3.08(ye)-.15 G -.15(xe)-3.23 G .58
 (cuted command consists of the shell').15 F 3.08(si)-.55 G .58
 (nitial en)-3.08 F .58(vironment, whose v)-.4 F .58(alues may be)-.25 F
-.3(modi\214ed in the shell, less an)108 439.2 R 2.8(yp)-.15 G .3
-(airs remo)-2.8 F -.15(ve)-.15 G 2.8(db).15 G 2.801(yt)-2.8 G(he)-2.801
-E F1(unset)2.801 E F0 .301(command, plus an)2.801 F 2.801(ya)-.15 G .301
-(dditions via the)-2.801 F F1(export)2.801 E F0(and)2.801 E F1(declar)
-108 451.2 Q 2.5<65ad>-.18 G(x)-2.5 E F0(commands.)2.5 E .563(The en)108
-468 R .563(vironment for an)-.4 F(y)-.15 E F2 .563(simple command)3.403
-F F0 .562
-(or function may be augmented temporarily by pre\214xing it with)3.833 F
-.202(parameter assignments, as described abo)108 480 R .502 -.15(ve i)
--.15 H(n).15 E/F4 9/Times-Bold@0 SF -.666(PA)2.702 G(RAMETERS).666 E/F5
-9/Times-Roman@0 SF(.)A F0 .202(These assignment statements af)4.702 F
-.203(fect only the)-.25 F(en)108 492 Q(vironment seen by that command.)
--.4 E .81(If the)108 508.8 R F1<ad6b>3.31 E F0 .81
-(option is set \(see the)3.31 F F1(set)3.31 E F0 -.2(bu)3.31 G .81
-(iltin command belo).2 F .81(w\), then)-.25 F F2(all)3.64 E F0 .81
-(parameter assignments are placed in)3.82 F(the en)108 520.8 Q
+.301(modi\214ed in the shell, less an)108 439.2 R 2.801(yp)-.15 G .301
+(airs remo)-2.801 F -.15(ve)-.15 G 2.801(db).15 G 2.801(yt)-2.801 G(he)
+-2.801 E F1(unset)2.801 E F0 .3(command, plus an)2.8 F 2.8(ya)-.15 G .3
+(dditions via the)-2.8 F F1(export)2.8 E F0(and)2.8 E F1(declar)108
+451.2 Q 2.5<65ad>-.18 G(x)-2.5 E F0(commands.)2.5 E .562(The en)108 468
+R .562(vironment for an)-.4 F(y)-.15 E F2 .562(simple command)3.402 F F0
+.563(or function may be augmented temporarily by pre\214xing it with)
+3.833 F .203(parameter assignments, as described abo)108 480 R .502 -.15
+(ve i)-.15 H(n).15 E/F4 9/Times-Bold@0 SF -.666(PA)2.702 G(RAMETERS).666
+E/F5 9/Times-Roman@0 SF(.)A F0 .202(These assignment statements af)4.702
+F .202(fect only the)-.25 F(en)108 492 Q
+(vironment seen by that command.)-.4 E .81(If the)108 508.8 R F1<ad6b>
+3.31 E F0 .81(option is set \(see the)3.31 F F1(set)3.31 E F0 -.2(bu)
+3.31 G .81(iltin command belo).2 F .81(w\), then)-.25 F F2(all)3.64 E F0
+.81(parameter assignments are placed in)3.82 F(the en)108 520.8 Q
 (vironment for a command, not just those that precede the command name.)
--.4 E(When)108 537.6 Q F1(bash)3.396 E F0(in)3.396 E -.2(vo)-.4 G -.1
-(ke).2 G 3.396(sa).1 G 3.397(ne)-3.396 G .897(xternal command, the v)
+-.4 E(When)108 537.6 Q F1(bash)3.397 E F0(in)3.397 E -.2(vo)-.4 G -.1
+(ke).2 G 3.397(sa).1 G 3.397(ne)-3.397 G .897(xternal command, the v)
 -3.547 F(ariable)-.25 E F1(_)3.397 E F0 .897
 (is set to the full \214le name of the command and)3.397 F
 (passed to that command in its en)108 549.6 Q(vironment.)-.4 E F3
 (EXIT ST)72 566.4 Q -1.04(AT)-.986 G(US)1.04 E F0 -.15(Fo)108 578.4 S
-3.373(rt).15 G .873(he shell')-3.373 F 3.373(sp)-.55 G .873
-(urposes, a command which e)-3.373 F .873(xits with a zero e)-.15 F .873
-(xit status has succeeded.)-.15 F .872(An e)5.872 F .872(xit status of)
--.15 F .048(zero indicates success.)108 590.4 R 2.548(An)5.048 G .049
-(on-zero e)-2.548 F .049(xit status indicates f)-.15 F 2.549
-(ailure. When)-.1 F 2.549(ac)2.549 G .049(ommand terminates on a f)
--2.549 F .049(atal sig-)-.1 F(nal)108 602.4 Q F2(N)2.5 E F0(,)A F1(bash)
+3.372(rt).15 G .872(he shell')-3.372 F 3.372(sp)-.55 G .873
+(urposes, a command which e)-3.372 F .873(xits with a zero e)-.15 F .873
+(xit status has succeeded.)-.15 F .873(An e)5.873 F .873(xit status of)
+-.15 F .049(zero indicates success.)108 590.4 R 2.549(An)5.049 G .049
+(on-zero e)-2.549 F .049(xit status indicates f)-.15 F 2.549
+(ailure. When)-.1 F 2.549(ac)2.549 G .048(ommand terminates on a f)
+-2.549 F .048(atal sig-)-.1 F(nal)108 602.4 Q F2(N)2.5 E F0(,)A F1(bash)
 2.5 E F0(uses the v)2.5 E(alue of 128+)-.25 E F2(N)A F0(as the e)2.5 E
-(xit status.)-.15 E .405
+(xit status.)-.15 E .404
 (If a command is not found, the child process created to e)108 619.2 R
--.15(xe)-.15 G .404(cute it returns a status of 127.).15 F .404
-(If a command is)5.404 F(found b)108 631.2 Q(ut is not e)-.2 E -.15(xe)
+-.15(xe)-.15 G .404(cute it returns a status of 127.).15 F .405
+(If a command is)5.405 F(found b)108 631.2 Q(ut is not e)-.2 E -.15(xe)
 -.15 G(cutable, the return status is 126.).15 E(If a command f)108 648 Q
 (ails because of an error during e)-.1 E(xpansion or redirection, the e)
--.15 E(xit status is greater than zero.)-.15 E .08(Shell b)108 664.8 R
-.08(uiltin commands return a status of 0 \()-.2 F F2(true)A F0 2.581
-(\)i)C 2.581(fs)-2.581 G .081(uccessful, and non-zero \()-2.581 F F2
-(false)A F0 2.581(\)i)C 2.581(fa)-2.581 G 2.581(ne)-2.581 G .081
-(rror occurs while)-2.581 F(the)108 676.8 Q 2.5(ye)-.15 G -.15(xe)-2.65
-2.5(cute. All).15 F -.2(bu)2.5 G(iltins return an e).2 E
+-.15 E(xit status is greater than zero.)-.15 E .081(Shell b)108 664.8 R
+.081(uiltin commands return a status of 0 \()-.2 F F2(true)A F0 2.581
+(\)i)C 2.581(fs)-2.581 G .08(uccessful, and non-zero \()-2.581 F F2
+(false)A F0 2.58(\)i)C 2.58(fa)-2.58 G 2.58(ne)-2.58 G .08
+(rror occurs while)-2.58 F(the)108 676.8 Q 2.5(ye)-.15 G -.15(xe)-2.65 G
+2.5(cute. All).15 F -.2(bu)2.5 G(iltins return an e).2 E
 (xit status of 2 to indicate incorrect usage.)-.15 E F1(Bash)108 693.6 Q
-F0 .202(itself returns the e)2.702 F .202
-(xit status of the last command e)-.15 F -.15(xe)-.15 G .201
+F0 .201(itself returns the e)2.701 F .202
+(xit status of the last command e)-.15 F -.15(xe)-.15 G .202
 (cuted, unless a syntax error occurs, in which case).15 F(it e)108 705.6
 Q(xits with a non-zero v)-.15 E 2.5(alue. See)-.25 F(also the)2.5 E F1
 (exit)2.5 E F0 -.2(bu)2.5 G(iltin command belo).2 E -.65(w.)-.25 G
-(GNU Bash-3.1-de)72 768 Q -.15(ve)-.25 G 123.59(l2).15 G(005 Mar 15)
--123.59 E(28)198.17 E 0 Cg EP
+(GNU Bash-3.1-beta1)72 768 Q(2005 Aug 27)122.91 E(28)197.89 E 0 Cg EP
 %%Page: 29 30
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
 -.35 E/F1 10.95/Times-Bold@0 SF(SIGN)72 84 Q(ALS)-.219 E F0(When)108 96
-Q/F2 10/Times-Bold@0 SF(bash)3.182 E F0 .682(is interacti)3.182 F -.15
-(ve)-.25 G 3.182(,i).15 G 3.182(nt)-3.182 G .682(he absence of an)-3.182
+Q/F2 10/Times-Bold@0 SF(bash)3.183 E F0 .683(is interacti)3.183 F -.15
+(ve)-.25 G 3.183(,i).15 G 3.183(nt)-3.183 G .683(he absence of an)-3.183
 F 3.183(yt)-.15 G .683(raps, it ignores)-3.183 F/F3 9/Times-Bold@0 SF
-(SIGTERM)3.183 E F0 .683(\(so that)2.933 F F2 .683(kill 0)3.183 F F0
-.683(does not kill an)3.183 F(interacti)108 108 Q .758 -.15(ve s)-.25 H
-.458(hell\), and).15 F F3(SIGINT)2.958 E F0 .458
-(is caught and handled \(so that the)2.708 F F2(wait)2.958 E F0 -.2(bu)
-2.958 G .457(iltin is interruptible\).).2 F .457(In all cases,)5.457 F
+(SIGTERM)3.183 E F0 .682(\(so that)2.933 F F2 .682(kill 0)3.182 F F0
+.682(does not kill an)3.182 F(interacti)108 108 Q .757 -.15(ve s)-.25 H
+.457(hell\), and).15 F F3(SIGINT)2.957 E F0 .458
+(is caught and handled \(so that the)2.707 F F2(wait)2.958 E F0 -.2(bu)
+2.958 G .458(iltin is interruptible\).).2 F .458(In all cases,)5.458 F
 F2(bash)108 120 Q F0(ignores)2.5 E F3(SIGQ)2.5 E(UIT)-.09 E/F4 9
 /Times-Roman@0 SF(.)A F0(If job control is in ef)4.5 E(fect,)-.25 E F2
 (bash)2.5 E F0(ignores)2.5 E F3(SIGTTIN)2.5 E F4(,)A F3(SIGTT)2.25 E(OU)
 -.162 E F4(,)A F0(and)2.25 E F3(SIGTSTP)2.5 E F4(.)A F0(Non-b)108 136.8
-Q 1.064(uiltin commands run by)-.2 F F2(bash)3.564 E F0(ha)3.564 E 1.365
--.15(ve s)-.2 H 1.065(ignal handlers set to the v).15 F 1.065
-(alues inherited by the shell from its)-.25 F 3.248(parent. When)108
-148.8 R .748(job control is not in ef)3.248 F .747
-(fect, asynchronous commands ignore)-.25 F F3(SIGINT)3.247 E F0(and)
-2.997 E F3(SIGQ)3.247 E(UIT)-.09 E F0 .747(in addi-)2.997 F .652
+Q 1.065(uiltin commands run by)-.2 F F2(bash)3.565 E F0(ha)3.565 E 1.365
+-.15(ve s)-.2 H 1.065(ignal handlers set to the v).15 F 1.064
+(alues inherited by the shell from its)-.25 F 3.247(parent. When)108
+148.8 R .747(job control is not in ef)3.247 F .747
+(fect, asynchronous commands ignore)-.25 F F3(SIGINT)3.248 E F0(and)
+2.998 E F3(SIGQ)3.248 E(UIT)-.09 E F0 .748(in addi-)2.998 F .653
 (tion to these inherited handlers.)108 160.8 R .653
-(Commands run as a result of command substitution ignore the k)5.652 F
+(Commands run as a result of command substitution ignore the k)5.653 F
 -.15(ey)-.1 G(board-).15 E(generated job control signals)108 172.8 Q F3
 (SIGTTIN)2.5 E F4(,)A F3(SIGTT)2.25 E(OU)-.162 E F4(,)A F0(and)2.25 E F3
-(SIGTSTP)2.5 E F4(.)A F0 2.046(The shell e)108 189.6 R 2.046
+(SIGTSTP)2.5 E F4(.)A F0 2.045(The shell e)108 189.6 R 2.045
 (xits by def)-.15 F 2.045(ault upon receipt of a)-.1 F F3(SIGHUP)4.545 E
-F4(.)A F0 2.045(Before e)6.545 F 2.045(xiting, an interacti)-.15 F 2.345
--.15(ve s)-.25 H 2.045(hell resends the).15 F F3(SIGHUP)108 201.6 Q F0
-1.004(to all jobs, running or stopped.)3.254 F 1.004
-(Stopped jobs are sent)6.004 F F3(SIGCONT)3.505 E F0 1.005
-(to ensure that the)3.255 F 3.505(yr)-.15 G(ecei)-3.505 E 1.305 -.15
-(ve t)-.25 H(he).15 E F3(SIGHUP)108 213.6 Q F4(.)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 1.356(jobs table with the)108 225.6 R F2(diso)
-3.856 E(wn)-.1 E F0 -.2(bu)3.856 G 1.356(iltin \(see).2 F F3 1.356
-(SHELL B)3.856 F(UIL)-.09 E 1.356(TIN COMMANDS)-.828 F F0(belo)3.607 E
-1.357(w\) or mark)-.25 F 1.357(ed to not recei)-.1 F -.15(ve)-.25 G F3
+F4(.)A F0 2.045(Before e)6.545 F 2.045(xiting, an interacti)-.15 F 2.346
+-.15(ve s)-.25 H 2.046(hell resends the).15 F F3(SIGHUP)108 201.6 Q F0
+1.005(to all jobs, running or stopped.)3.255 F 1.004
+(Stopped jobs are sent)6.005 F F3(SIGCONT)3.504 E F0 1.004
+(to ensure that the)3.254 F 3.504(yr)-.15 G(ecei)-3.504 E 1.304 -.15
+(ve t)-.25 H(he).15 E F3(SIGHUP)108 213.6 Q F4(.)A F0 2.529 -.8(To p)
+5.429 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.43(df).15
+G .93(rom the)-3.43 F 1.357(jobs table with the)108 225.6 R F2(diso)
+3.857 E(wn)-.1 E F0 -.2(bu)3.857 G 1.357(iltin \(see).2 F F3 1.356
+(SHELL B)3.856 F(UIL)-.09 E 1.356(TIN COMMANDS)-.828 F F0(belo)3.606 E
+1.356(w\) or mark)-.25 F 1.356(ed to not recei)-.1 F -.15(ve)-.25 G F3
 (SIGHUP)108 237.6 Q F0(using)2.25 E F2(diso)2.5 E(wn \255h)-.1 E F0(.)A
 .166(If the)108 254.4 R F2(huponexit)2.666 E F0 .166
 (shell option has been set with)2.666 F F2(shopt)2.666 E F0(,)A F2(bash)
 2.666 E F0 .166(sends a)2.666 F F3(SIGHUP)2.666 E F0 .166
 (to all jobs when an interacti)2.416 F -.15(ve)-.25 G(login shell e)108
-266.4 Q(xits.)-.15 E(If)108 283.2 Q F2(bash)3.046 E F0 .546(is w)3.046 F
+266.4 Q(xits.)-.15 E(If)108 283.2 Q F2(bash)3.047 E F0 .547(is w)3.047 F
 .546(aiting for a command to complete and recei)-.1 F -.15(ve)-.25 G
 3.046(sas).15 G .546(ignal for which a trap has been set, the trap)
--3.046 F .663(will not be e)108 295.2 R -.15(xe)-.15 G .663
+-3.046 F .662(will not be e)108 295.2 R -.15(xe)-.15 G .662
 (cuted until the command completes.).15 F(When)5.663 E F2(bash)3.163 E
-F0 .662(is w)3.163 F .662(aiting for an asynchronous command)-.1 F .99
+F0 .663(is w)3.163 F .663(aiting for an asynchronous command)-.1 F .99
 (via the)108 307.2 R F2(wait)3.49 E F0 -.2(bu)3.49 G .99(iltin, the rec\
 eption of a signal for which a trap has been set will cause the).2 F F2
 (wait)3.49 E F0 -.2(bu)3.49 G .99(iltin to).2 F
 (return immediately with an e)108 319.2 Q
 (xit status greater than 128, immediately after which the trap is e)-.15
 E -.15(xe)-.15 G(cuted.).15 E F1(JOB CONTR)72 336 Q(OL)-.329 E/F5 10
-/Times-Italic@0 SF -.25(Jo)108 348 S 4.568(bc).25 G(ontr)-4.568 E(ol)
--.45 E F0 2.068(refers to the ability to selecti)5.078 F -.15(ve)-.25 G
-2.067(ly stop \().15 F F5(suspend)A F0 4.567(\)t)C 2.067(he e)-4.567 F
--.15(xe)-.15 G 2.067(cution of processes and continue).15 F(\()108 360 Q
-F5 -.37(re)C(sume).37 E F0 3.201(\)t)C .701(heir e)-3.201 F -.15(xe)-.15
+/Times-Italic@0 SF -.25(Jo)108 348 S 4.567(bc).25 G(ontr)-4.567 E(ol)
+-.45 E F0 2.067(refers to the ability to selecti)5.077 F -.15(ve)-.25 G
+2.067(ly stop \().15 F F5(suspend)A F0 4.567(\)t)C 2.068(he e)-4.567 F
+-.15(xe)-.15 G 2.068(cution of processes and continue).15 F(\()108 360 Q
+F5 -.37(re)C(sume).37 E F0 3.202(\)t)C .702(heir e)-3.202 F -.15(xe)-.15
 G .702(cution at a later point.).15 F 3.202(Au)5.702 G .702
 (ser typically emplo)-3.202 F .702(ys this f)-.1 F .702
-(acility via an interacti)-.1 F 1.002 -.15(ve i)-.25 H(nterf).15 E(ace)
+(acility via an interacti)-.1 F 1.001 -.15(ve i)-.25 H(nterf).15 E(ace)
 -.1 E(supplied jointly by the system')108 372 Q 2.5(st)-.55 G
 (erminal dri)-2.5 E -.15(ve)-.25 G 2.5(ra).15 G(nd)-2.5 E F2(bash)2.5 E
-F0(.)A .785(The shell associates a)108 388.8 R F5(job)5.025 E F0 .785
-(with each pipeline.)3.515 F .784(It k)5.785 F .784
-(eeps a table of currently e)-.1 F -.15(xe)-.15 G .784
-(cuting jobs, which may be).15 F .34(listed with the)108 400.8 R F2
-(jobs)2.84 E F0 2.84(command. When)2.84 F F2(bash)2.84 E F0 .341
-(starts a job asynchronously \(in the)2.84 F F5(bac)2.841 E(kgr)-.2 E
-(ound)-.45 E F0 .341(\), it prints a line).77 F(that looks lik)108 412.8
+F0(.)A .784(The shell associates a)108 388.8 R F5(job)5.024 E F0 .784
+(with each pipeline.)3.514 F .784(It k)5.784 F .785
+(eeps a table of currently e)-.1 F -.15(xe)-.15 G .785
+(cuting jobs, which may be).15 F .341(listed with the)108 400.8 R F2
+(jobs)2.841 E F0 2.841(command. When)2.841 F F2(bash)2.841 E F0 .341
+(starts a job asynchronously \(in the)2.841 F F5(bac)2.84 E(kgr)-.2 E
+(ound)-.45 E F0 .34(\), it prints a line).77 F(that looks lik)108 412.8
 Q(e:)-.1 E([1] 25647)144 429.6 Q .241(indicating that this job is job n\
 umber 1 and that the process ID of the last process in the pipeline ass\
-ociated)108 446.4 R .732(with this job is 25647.)108 458.4 R .733
+ociated)108 446.4 R .733(with this job is 25647.)108 458.4 R .732
 (All of the processes in a single pipeline are members of the same job)
-5.732 F(.)-.4 E F2(Bash)5.733 E F0(uses)3.233 E(the)108 470.4 Q F5(job)
-4.24 E F0(abstraction as the basis for job control.)2.73 E 3.063 -.8
-(To f)108 487.2 T 1.463(acilitate the implementation of the user interf)
-.7 F 1.462(ace to job control, the operating system maintains the)-.1 F
-.87(notion of a)108 499.2 R F5(curr)3.37 E .87(ent terminal pr)-.37 F
-.871(ocess gr)-.45 F .871(oup ID)-.45 F F0 5.871(.M)C .871
+5.733 F(.)-.4 E F2(Bash)5.732 E F0(uses)3.232 E(the)108 470.4 Q F5(job)
+4.24 E F0(abstraction as the basis for job control.)2.73 E 3.062 -.8
+(To f)108 487.2 T 1.462(acilitate the implementation of the user interf)
+.7 F 1.463(ace to job control, the operating system maintains the)-.1 F
+.871(notion of a)108 499.2 R F5(curr)3.371 E .871(ent terminal pr)-.37 F
+.871(ocess gr)-.45 F .871(oup ID)-.45 F F0 5.871(.M)C .87
 (embers of this process group \(processes whose process)-5.871 F .023
 (group ID is equal to the current terminal process group ID\) recei)108
 511.2 R .323 -.15(ve k)-.25 H -.15(ey).05 G .023
-(board-generated signals such as).15 F F3(SIG-)2.522 E(INT)108 523.2 Q
-F4(.)A F0 1.346(These processes are said to be in the)5.846 F F5(for)
-3.847 E -.4(eg)-.37 G -.45(ro).4 G(und).45 E F0(.).77 E F5(Bac)6.927 E
-(kgr)-.2 E(ound)-.45 E F0 1.347(processes are those whose process)4.617
-F .146(group ID dif)108 535.2 R .146(fers from the terminal')-.25 F .146
-(s; such processes are immune to k)-.55 F -.15(ey)-.1 G .145
-(board-generated signals.).15 F .145(Only fore-)5.145 F .041
+(board-generated signals such as).15 F F3(SIG-)2.523 E(INT)108 523.2 Q
+F4(.)A F0 1.347(These processes are said to be in the)5.847 F F5(for)
+3.846 E -.4(eg)-.37 G -.45(ro).4 G(und).45 E F0(.).77 E F5(Bac)6.926 E
+(kgr)-.2 E(ound)-.45 E F0 1.346(processes are those whose process)4.616
+F .145(group ID dif)108 535.2 R .145(fers from the terminal')-.25 F .146
+(s; such processes are immune to k)-.55 F -.15(ey)-.1 G .146
+(board-generated signals.).15 F .146(Only fore-)5.146 F .042
 (ground processes are allo)108 547.2 R .042
 (wed to read from or write to the terminal.)-.25 F .042
-(Background processes which attempt to)5.042 F 1.64
-(read from \(write to\) the terminal are sent a)108 559.2 R F3 1.639
-(SIGTTIN \(SIGTT)4.14 F(OU\))-.162 E F0 1.639
-(signal by the terminal dri)3.889 F -.15(ve)-.25 G 2.439 -.4(r, w).15 H
-(hich,).4 E(unless caught, suspends the process.)108 571.2 Q 1.087
-(If the operating system on which)108 588 R F2(bash)3.587 E F0 1.088
-(is running supports job control,)3.588 F F2(bash)3.588 E F0 1.088
-(contains f)3.588 F 1.088(acilities to use it.)-.1 F -.8(Ty)108 600 S
-.302(ping the).8 F F5(suspend)3.142 E F0 .302(character \(typically)
-3.572 F F2(^Z)2.801 E F0 2.801(,C)C .301
+(Background processes which attempt to)5.042 F 1.639
+(read from \(write to\) the terminal are sent a)108 559.2 R F3 1.64
+(SIGTTIN \(SIGTT)4.14 F(OU\))-.162 E F0 1.64(signal by the terminal dri)
+3.89 F -.15(ve)-.25 G 2.44 -.4(r, w).15 H(hich,).4 E
+(unless caught, suspends the process.)108 571.2 Q 1.088
+(If the operating system on which)108 588 R F2(bash)3.588 E F0 1.088
+(is running supports job control,)3.588 F F2(bash)3.587 E F0 1.087
+(contains f)3.587 F 1.087(acilities to use it.)-.1 F -.8(Ty)108 600 S
+.301(ping the).8 F F5(suspend)3.141 E F0 .301(character \(typically)
+3.571 F F2(^Z)2.801 E F0 2.801(,C)C .301
 (ontrol-Z\) while a process is running causes that process to be)-2.801
-F 2.142(stopped and returns control to)108 612 R F2(bash)4.642 E F0
+F 2.143(stopped and returns control to)108 612 R F2(bash)4.642 E F0
 7.142(.T)C 2.142(yping the)-7.942 F F5 2.142(delayed suspend)4.992 F F0
-2.143(character \(typically)5.413 F F2(^Y)4.643 E F0 4.643(,C)C
-(ontrol-Y\))-4.643 E .021(causes the process to be stopped when it atte\
+2.142(character \(typically)5.412 F F2(^Y)4.642 E F0 4.642(,C)C
+(ontrol-Y\))-4.642 E .021(causes the process to be stopped when it atte\
 mpts to read input from the terminal, and control to be returned)108 624
 R(to)108 636 Q F2(bash)3.392 E F0 5.892(.T)C .892
 (he user may then manipulate the state of this job, using the)-5.892 F
-F2(bg)3.392 E F0 .892(command to continue it in the)3.392 F .895
-(background, the)108 648 R F2(fg)3.395 E F0 .895
-(command to continue it in the fore)3.395 F .895(ground, or the)-.15 F
-F2(kill)3.395 E F0 .894(command to kill it.)3.395 F(A)5.894 E F2(^Z)
-3.394 E F0(tak)3.394 E(es)-.1 E(ef)108 660 Q .948(fect immediately)-.25
-F 3.448(,a)-.65 G .948(nd has the additional side ef)-3.448 F .948
+F2(bg)3.392 E F0 .892(command to continue it in the)3.392 F .894
+(background, the)108 648 R F2(fg)3.394 E F0 .895
+(command to continue it in the fore)3.394 F .895(ground, or the)-.15 F
+F2(kill)3.395 E F0 .895(command to kill it.)3.395 F(A)5.895 E F2(^Z)
+3.395 E F0(tak)3.395 E(es)-.1 E(ef)108 660 Q .949(fect immediately)-.25
+F 3.449(,a)-.65 G .948(nd has the additional side ef)-3.449 F .948
 (fect of causing pending output and typeahead to be dis-)-.25 F(carded.)
-108 672 Q 1.098(There are a number of w)108 688.8 R 1.097
+108 672 Q 1.097(There are a number of w)108 688.8 R 1.097
 (ays to refer to a job in the shell.)-.1 F 1.097(The character)6.097 F
-F2(%)3.597 E F0 1.097(introduces a job name.)3.597 F(Job)6.097 E(number)
+F2(%)3.597 E F0 1.098(introduces a job name.)3.597 F(Job)6.098 E(number)
 108 700.8 Q F5(n)3.13 E F0 .27(may be referred to as)3.01 F F2(%n)2.77 E
 F0 5.27(.A)C .27
 (job may also be referred to using a pre\214x of the name used to start)
 -2.5 F .277(it, or using a substring that appears in its command line.)
 108 712.8 R -.15(Fo)5.277 G 2.777(re).15 G(xample,)-2.927 E F2(%ce)2.777
-E F0 .277(refers to a stopped)2.777 F F2(ce)2.777 E F0(job)2.777 E 5.277
-(.I)-.4 G 2.777(fa)-5.277 G .38(pre\214x matches more than one job,)108
+E F0 .277(refers to a stopped)2.777 F F2(ce)2.777 E F0(job)2.778 E 5.278
+(.I)-.4 G 2.778(fa)-5.278 G .38(pre\214x matches more than one job,)108
 724.8 R F2(bash)2.88 E F0 .38(reports an error)2.88 F 5.38(.U)-.55 G
 (sing)-5.38 E F2(%?ce)2.88 E F0 2.88(,o)C 2.88(nt)-2.88 G .38
 (he other hand, refers to an)-2.88 F 2.88(yj)-.15 G(ob)-2.88 E
-(GNU Bash-3.1-de)72 768 Q -.15(ve)-.25 G 123.59(l2).15 G(005 Mar 15)
--123.59 E(29)198.17 E 0 Cg EP
+(GNU Bash-3.1-beta1)72 768 Q(2005 Aug 27)122.91 E(29)197.89 E 0 Cg EP
 %%Page: 30 31
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E .623(containing the string)108 84 R/F1 10/Times-Bold@0 SF(ce)
-3.123 E F0 .622(in its command line.)3.123 F .622
-(If the substring matches more than one job,)5.622 F F1(bash)3.122 E F0
-.622(reports an)3.122 F(error)108 96 Q 5.143(.T)-.55 G .143(he symbols)
+-.35 E .622(containing the string)108 84 R/F1 10/Times-Bold@0 SF(ce)
+3.122 E F0 .622(in its command line.)3.122 F .622
+(If the substring matches more than one job,)5.622 F F1(bash)3.123 E F0
+.623(reports an)3.123 F(error)108 96 Q 5.143(.T)-.55 G .143(he symbols)
 -5.143 F F1(%%)2.643 E F0(and)2.643 E F1(%+)2.643 E F0 .143
 (refer to the shell')2.643 F 2.643(sn)-.55 G .143(otion of the)-2.643 F
 /F2 10/Times-Italic@0 SF(curr)2.643 E .143(ent job)-.37 F F0 2.643(,w)
-.23 G .143(hich is the last job stopped)-2.643 F 1.209(while it w)108
-108 R 1.209(as in the fore)-.1 F 1.208
+.23 G .143(hich is the last job stopped)-2.643 F 1.208(while it w)108
+108 R 1.208(as in the fore)-.1 F 1.208
 (ground or started in the background.)-.15 F(The)6.208 E F2(pr)4.958 E
--.15(ev)-.37 G 1.208(ious job).15 F F0 1.208(may be referenced using)
-3.938 F F1<25ad>108 120 Q F0 5.486(.I)C 2.986(no)-5.486 G .486
-(utput pertaining to jobs \(e.g., the output of the)-2.986 F F1(jobs)
-2.987 E F0 .487(command\), the current job is al)2.987 F -.1(wa)-.1 G
-.487(ys \215agged).1 F .15(with a)108 132 R F1(+)2.65 E F0 2.65(,a)C .15
+-.15(ev)-.37 G 1.208(ious job).15 F F0 1.209(may be referenced using)
+3.939 F F1<25ad>108 120 Q F0 5.487(.I)C 2.987(no)-5.487 G .487
+(utput pertaining to jobs \(e.g., the output of the)-2.987 F F1(jobs)
+2.987 E F0 .486(command\), the current job is al)2.987 F -.1(wa)-.1 G
+.486(ys \215agged).1 F .15(with a)108 132 R F1(+)2.65 E F0 2.65(,a)C .15
 (nd the pre)-2.65 F .15(vious job with a)-.25 F F1<ad>2.65 E F0 5.15(.A)
 C .15(single % \(with no accompan)-2.5 F .15
 (ying job speci\214cation\) also refers to)-.15 F(the current job)108
-144 Q(.)-.4 E .443
+144 Q(.)-.4 E .444
 (Simply naming a job can be used to bring it into the fore)108 160.8 R
-(ground:)-.15 E F1(%1)2.944 E F0 .444(is a synon)2.944 F .444(ym for)
--.15 F F1 -.63(``)2.944 G .444(fg %1').63 F(')-.63 E F0 2.944(,b)C
-(ringing)-2.944 E 1.473(job 1 from the background into the fore)108
-172.8 R 3.973(ground. Similarly)-.15 F(,)-.65 E F1 -.63(``)3.972 G 1.472
-(%1 &').63 F(')-.63 E F0 1.472(resumes job 1 in the background,)3.972 F
+(ground:)-.15 E F1(%1)2.943 E F0 .443(is a synon)2.943 F .443(ym for)
+-.15 F F1 -.63(``)2.943 G .443(fg %1').63 F(')-.63 E F0 2.943(,b)C
+(ringing)-2.943 E 1.472(job 1 from the background into the fore)108
+172.8 R 3.972(ground. Similarly)-.15 F(,)-.65 E F1 -.63(``)3.973 G 1.473
+(%1 &').63 F(')-.63 E F0 1.473(resumes job 1 in the background,)3.973 F
 (equi)108 184.8 Q -.25(va)-.25 G(lent to).25 E F1 -.63(``)2.5 G(bg %1')
-.63 E(')-.63 E F0(.)A .13(The shell learns immediately whene)108 201.6 R
--.15(ve)-.25 G 2.63(raj).15 G .13(ob changes state.)-2.63 F(Normally)
-5.131 E(,)-.65 E F1(bash)2.631 E F0 -.1(wa)2.631 G .131
-(its until it is about to print a).1 F .158
-(prompt before reporting changes in a job')108 213.6 R 2.658(ss)-.55 G
-.158(tatus so as to not interrupt an)-2.658 F 2.657(yo)-.15 G .157
-(ther output.)-2.657 F .157(If the)5.157 F F1<ad62>2.657 E F0 .157
-(option to)2.657 F(the)108 225.6 Q F1(set)3.951 E F0 -.2(bu)3.951 G
-1.451(iltin command is enabled,).2 F F1(bash)3.951 E F0 1.452
-(reports such changes immediately)3.951 F 6.452(.A)-.65 G 1.752 -.15
-(ny t)-6.452 H 1.452(rap on).15 F/F3 9/Times-Bold@0 SF(SIGCHLD)3.952 E
-F0(is)3.702 E -.15(exe)108 237.6 S(cuted for each child that e).15 E
-(xits.)-.15 E 1.027(If an attempt to e)108 254.4 R(xit)-.15 E F1(bash)
+.63 E(')-.63 E F0(.)A .131(The shell learns immediately whene)108 201.6
+R -.15(ve)-.25 G 2.631(raj).15 G .131(ob changes state.)-2.631 F
+(Normally)5.131 E(,)-.65 E F1(bash)2.631 E F0 -.1(wa)2.63 G .13
+(its until it is about to print a).1 F .157
+(prompt before reporting changes in a job')108 213.6 R 2.657(ss)-.55 G
+.157(tatus so as to not interrupt an)-2.657 F 2.658(yo)-.15 G .158
+(ther output.)-2.658 F .158(If the)5.158 F F1<ad62>2.658 E F0 .158
+(option to)2.658 F(the)108 225.6 Q F1(set)3.952 E F0 -.2(bu)3.952 G
+1.452(iltin command is enabled,).2 F F1(bash)3.952 E F0 1.451
+(reports such changes immediately)3.952 F 6.451(.A)-.65 G 1.751 -.15
+(ny t)-6.451 H 1.451(rap on).15 F/F3 9/Times-Bold@0 SF(SIGCHLD)3.951 E
+F0(is)3.701 E -.15(exe)108 237.6 S(cuted for each child that e).15 E
+(xits.)-.15 E 1.026(If an attempt to e)108 254.4 R(xit)-.15 E F1(bash)
 3.527 E F0 1.027(is made while jobs are stopped, the shell prints a w)
-3.527 F 1.026(arning message.)-.1 F(The)6.026 E F1(jobs)3.526 E F0 .255
+3.527 F 1.027(arning message.)-.1 F(The)6.027 E F1(jobs)3.527 E F0 .256
 (command may then be used to inspect their status.)108 266.4 R .255
-(If a second attempt to e)5.255 F .256(xit is made without an interv)
+(If a second attempt to e)5.255 F .255(xit is made without an interv)
 -.15 F(en-)-.15 E(ing command, the shell does not print another w)108
 278.4 Q(arning, and the stopped jobs are terminated.)-.1 E/F4 10.95
-/Times-Bold@0 SF(PR)72 295.2 Q(OMPTING)-.329 E F0 .645(When e)108 307.2
-R -.15(xe)-.15 G .645(cuting interacti).15 F -.15(ve)-.25 G(ly).15 E(,)
--.65 E F1(bash)3.145 E F0 .645(displays the primary prompt)3.145 F F3
-(PS1)3.145 E F0 .645(when it is ready to read a command,)2.895 F 1.825
-(and the secondary prompt)108 319.2 R F3(PS2)4.325 E F0 1.825
-(when it needs more input to complete a command.)4.075 F F1(Bash)6.826 E
-F0(allo)4.326 E 1.826(ws these)-.25 F 1.499(prompt strings to be custom\
+/Times-Bold@0 SF(PR)72 295.2 Q(OMPTING)-.329 E F0 .644(When e)108 307.2
+R -.15(xe)-.15 G .644(cuting interacti).15 F -.15(ve)-.25 G(ly).15 E(,)
+-.65 E F1(bash)3.144 E F0 .645(displays the primary prompt)3.145 F F3
+(PS1)3.145 E F0 .645(when it is ready to read a command,)2.895 F 1.826
+(and the secondary prompt)108 319.2 R F3(PS2)4.326 E F0 1.825
+(when it needs more input to complete a command.)4.076 F F1(Bash)6.825 E
+F0(allo)4.325 E 1.825(ws these)-.25 F 1.499(prompt strings to be custom\
 ized by inserting a number of backslash-escaped special characters that\
  are)108 331.2 R(decoded as follo)108 343.2 Q(ws:)-.25 E F1(\\a)144
 355.2 Q F0(an ASCII bell character \(07\))28.22 E F1(\\d)144 367.2 Q F0
 (the date in "W)27.66 E(eekday Month Date" format \(e.g., "T)-.8 E
 (ue May 26"\))-.45 E F1(\\D{)144 379.2 Q F2(format)A F1(})A F0(the)180
-391.2 Q F2(format)3.926 E F0 1.426(is passed to)3.926 F F2(strftime)
-3.926 E F0 1.427
+391.2 Q F2(format)3.927 E F0 1.427(is passed to)3.927 F F2(strftime)
+3.927 E F0 1.427
 (\(3\) and the result is inserted into the prompt string; an)B(empty)180
 403.2 Q F2(format)2.5 E F0
 (results in a locale-speci\214c time representation.)2.5 E
@@ -3735,11 +3738,10 @@ E F1(\\!)144 619.2 Q F0(the history number of this command)29.89 E F1
 F0(be)29.89 E 1.257(gin a sequence of non-printing characters, which co\
 uld be used to embed a terminal)-.15 F(control sequence into the prompt)
 180 691.2 Q F1(\\])144 703.2 Q F0
-(end a sequence of non-printing characters)29.89 E .119
-(The command number and the history number are usually dif)108 720 R .12
-(ferent: the history number of a command is its)-.25 F(GNU Bash-3.1-de)
-72 768 Q -.15(ve)-.25 G 123.59(l2).15 G(005 Mar 15)-123.59 E(30)198.17 E
-0 Cg EP
+(end a sequence of non-printing characters)29.89 E .12
+(The command number and the history number are usually dif)108 720 R
+.119(ferent: the history number of a command is its)-.25 F
+(GNU Bash-3.1-beta1)72 768 Q(2005 Aug 27)122.91 E(30)197.89 E 0 Cg EP
 %%Page: 31 32
 %%BeginPageSetup
 BP
@@ -3747,67 +3749,68 @@ BP
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
 -.35 E 1.585(position in the history list, which may include commands r\
 estored from the history \214le \(see)108 84 R/F1 9/Times-Bold@0 SF
-(HIST)4.084 E(OR)-.162 E(Y)-.315 E F0(belo)108 96 Q .541(w\), while the\
+(HIST)4.085 E(OR)-.162 E(Y)-.315 E F0(belo)108 96 Q .541(w\), while the\
  command number is the position in the sequence of commands e)-.25 F
--.15(xe)-.15 G .541(cuted during the cur).15 F(-)-.2 E .546
+-.15(xe)-.15 G .54(cuted during the cur).15 F(-)-.2 E .546
 (rent shell session.)108 108 R .546
 (After the string is decoded, it is e)5.546 F .546
 (xpanded via parameter e)-.15 F .546(xpansion, command substitu-)-.15 F
-.351(tion, arithmetic e)108 120 R .352(xpansion, and quote remo)-.15 F
+.352(tion, arithmetic e)108 120 R .352(xpansion, and quote remo)-.15 F
 -.25(va)-.15 G .352(l, subject to the v).25 F .352(alue of the)-.25 F/F2
-10/Times-Bold@0 SF(pr)2.852 E(omptv)-.18 E(ars)-.1 E F0 .352
+10/Times-Bold@0 SF(pr)2.852 E(omptv)-.18 E(ars)-.1 E F0 .351
 (shell option \(see the)2.852 F(description of the)108 132 Q F2(shopt)
 2.5 E F0(command under)2.5 E F1(SHELL B)2.5 E(UIL)-.09 E(TIN COMMANDS)
 -.828 E F0(belo)2.25 E(w\).)-.25 E/F3 10.95/Times-Bold@0 SF(READLINE)72
-148.8 Q F0 .151
+148.8 Q F0 .15
 (This is the library that handles reading input when using an interacti)
-108 160.8 R .45 -.15(ve s)-.25 H .15(hell, unless the).15 F F2
-(\255\255noediting)2.65 E F0(option)2.65 E .066(is gi)108 172.8 R -.15
-(ve)-.25 G 2.566(na).15 G 2.566(ts)-2.566 G .066(hell in)-2.566 F -.2
+108 160.8 R .451 -.15(ve s)-.25 H .151(hell, unless the).15 F F2
+(\255\255noediting)2.651 E F0(option)2.651 E .067(is gi)108 172.8 R -.15
+(ve)-.25 G 2.567(na).15 G 2.566(ts)-2.567 G .066(hell in)-2.566 F -.2
 (vo)-.4 G 2.566(cation. By).2 F(def)2.566 E .066
 (ault, the line editing commands are similar to those of emacs.)-.1 F
-2.567(Av)5.067 G(i-style)-2.567 E .566(line editing interf)108 184.8 R
-.566(ace is also a)-.1 F -.25(va)-.2 G 3.065(ilable. T).25 F 3.065(ot)
+2.566(Av)5.066 G(i-style)-2.566 E .565(line editing interf)108 184.8 R
+.565(ace is also a)-.1 F -.25(va)-.2 G 3.065(ilable. T).25 F 3.065(ot)
 -.8 G .565(urn of)-3.065 F 3.065(fl)-.25 G .565
-(ine editing after the shell is running, use the)-3.065 F F2 .565
-(+o emacs)3.065 F F0(or)108 196.8 Q F2(+o vi)2.5 E F0(options to the)2.5
+(ine editing after the shell is running, use the)-3.065 F F2 .566
+(+o emacs)3.066 F F0(or)108 196.8 Q F2(+o vi)2.5 E F0(options to the)2.5
 E F2(set)2.5 E F0 -.2(bu)2.5 G(iltin \(see).2 E F1(SHELL B)2.5 E(UIL)
 -.09 E(TIN COMMANDS)-.828 E F0(belo)2.25 E(w\).)-.25 E F2
-(Readline Notation)87 213.6 Q F0 .567
+(Readline Notation)87 213.6 Q F0 .568
 (In this section, the emacs-style notation is used to denote k)108 225.6
-R -.15(ey)-.1 G(strok).15 E 3.068(es. Control)-.1 F -.1(ke)3.068 G .568
+R -.15(ey)-.1 G(strok).15 E 3.067(es. Control)-.1 F -.1(ke)3.067 G .567
 (ys are denoted by C\255)-.05 F/F4 10/Times-Italic@0 SF -.1(ke)C(y)-.2 E
-F0(,)A 1.153(e.g., C\255n means Control\255N.)108 237.6 R(Similarly)
-6.153 E(,)-.65 E F4(meta)4.033 E F0 -.1(ke)3.913 G 1.153
-(ys are denoted by M\255)-.05 F F4 -.1(ke)C(y)-.2 E F0 3.652(,s)C 3.652
-(oM)-3.652 G 1.152(\255x means Meta\255X.)-3.652 F(\(On)6.152 E -.1(ke)
-108 249.6 S .83(yboards without a)-.05 F F4(meta)3.71 E F0 -.1(ke)3.59 G
-2.13 -.65(y, M)-.05 H<ad>.65 E F4(x)A F0 .83(means ESC)3.33 F F4(x)3.33
-E F0 3.33(,i)C .831(.e., press the Escape k)-3.33 F 1.131 -.15(ey t)-.1
-H .831(hen the).15 F F4(x)4.101 E F0 -.1(ke)3.861 G 4.631 -.65(y. T)-.05
-H .831(his mak).65 F(es)-.1 E .6(ESC the)108 261.6 R F4 .6(meta pr)3.1 F
-(e\214x)-.37 E F0 5.6(.T)C .6(he combination M\255C\255)-5.6 F F4(x)A F0
-.599(means ESC\255Control\255)3.099 F F4(x)A F0 3.099(,o)C 3.099(rp)
--3.099 G .599(ress the Escape k)-3.099 F .899 -.15(ey t)-.1 H .599
-(hen hold).15 F(the Control k)108 273.6 Q .3 -.15(ey w)-.1 H
-(hile pressing the).15 E F4(x)3.27 E F0 -.1(ke)3.03 G -.65(y.)-.05 G(\))
-.65 E .619(Readline commands may be gi)108 290.4 R -.15(ve)-.25 G 3.119
-(nn).15 G(umeric)-3.119 E F4(ar)3.119 E(guments)-.37 E F0 3.119(,w).27 G
-.619(hich normally act as a repeat count.)-3.119 F(Sometimes,)5.62 E(ho)
-108 302.4 Q(we)-.25 E -.15(ve)-.25 G 1.419 -.4(r, i).15 H 3.119(ti).4 G
-3.119(st)-3.119 G .619(he sign of the ar)-3.119 F .619
+F0(,)A 1.152(e.g., C\255n means Control\255N.)108 237.6 R(Similarly)
+6.152 E(,)-.65 E F4(meta)4.032 E F0 -.1(ke)3.913 G 1.153
+(ys are denoted by M\255)-.05 F F4 -.1(ke)C(y)-.2 E F0 3.653(,s)C 3.653
+(oM)-3.653 G 1.153(\255x means Meta\255X.)-3.653 F(\(On)6.153 E -.1(ke)
+108 249.6 S .831(yboards without a)-.05 F F4(meta)3.711 E F0 -.1(ke)
+3.591 G 2.131 -.65(y, M)-.05 H<ad>.65 E F4(x)A F0 .831(means ESC)3.331 F
+F4(x)3.331 E F0 3.331(,i)C .83(.e., press the Escape k)-3.331 F 1.13
+-.15(ey t)-.1 H .83(hen the).15 F F4(x)4.1 E F0 -.1(ke)3.86 G 4.63 -.65
+(y. T)-.05 H .83(his mak).65 F(es)-.1 E .599(ESC the)108 261.6 R F4 .599
+(meta pr)3.099 F(e\214x)-.37 E F0 5.599(.T)C .599
+(he combination M\255C\255)-5.599 F F4(x)A F0 .599
+(means ESC\255Control\255)3.099 F F4(x)A F0 3.099(,o)C 3.099(rp)-3.099 G
+.6(ress the Escape k)-3.099 F .9 -.15(ey t)-.1 H .6(hen hold).15 F
+(the Control k)108 273.6 Q .3 -.15(ey w)-.1 H(hile pressing the).15 E F4
+(x)3.27 E F0 -.1(ke)3.03 G -.65(y.)-.05 G(\)).65 E .62
+(Readline commands may be gi)108 290.4 R -.15(ve)-.25 G 3.119(nn).15 G
+(umeric)-3.119 E F4(ar)3.119 E(guments)-.37 E F0 3.119(,w).27 G .619
+(hich normally act as a repeat count.)-3.119 F(Sometimes,)5.619 E(ho)108
+302.4 Q(we)-.25 E -.15(ve)-.25 G 1.418 -.4(r, i).15 H 3.118(ti).4 G
+3.119(st)-3.118 G .619(he sign of the ar)-3.119 F .619
 (gument that is signi\214cant.)-.18 F -.15(Pa)5.619 G .619(ssing a ne)
 .15 F -.05(ga)-.15 G(ti).05 E .919 -.15(ve a)-.25 H -.18(rg).15 G .619
-(ument to a command that).18 F 1.018(acts in the forw)108 314.4 R 1.018
+(ument to a command that).18 F 1.019(acts in the forw)108 314.4 R 1.018
 (ard direction \(e.g.,)-.1 F F2(kill\255line)3.518 E F0 3.518(\)c)C
-1.018(auses that command to act in a backw)-3.518 F 1.019
-(ard direction.)-.1 F(Com-)6.019 E(mands whose beha)108 326.4 Q
+1.018(auses that command to act in a backw)-3.518 F 1.018
+(ard direction.)-.1 F(Com-)6.018 E(mands whose beha)108 326.4 Q
 (vior with ar)-.2 E(guments de)-.18 E(viates from this are noted belo)
--.25 E -.65(w.)-.25 G .812(When a command is described as)108 343.2 R F4
+-.25 E -.65(w.)-.25 G .811(When a command is described as)108 343.2 R F4
 (killing)3.311 E F0(te)3.311 E .811(xt, the te)-.15 F .811
-(xt deleted is sa)-.15 F -.15(ve)-.2 G 3.311(df).15 G .811
-(or possible future retrie)-3.311 F -.25(va)-.25 G 3.311(l\().25 G F4
-(yank-)-3.311 E(ing)108 355.2 Q F0 2.529(\). The)B .029(killed te)2.529
+(xt deleted is sa)-.15 F -.15(ve)-.2 G 3.311(df).15 G .812
+(or possible future retrie)-3.311 F -.25(va)-.25 G 3.312(l\().25 G F4
+(yank-)-3.312 E(ing)108 355.2 Q F0 2.529(\). The)B .029(killed te)2.529
 F .029(xt is sa)-.15 F -.15(ve)-.2 G 2.529(di).15 G 2.529(na)-2.529 G F4
 .029(kill ring)B F0 5.029(.C)C(onsecuti)-5.029 E .329 -.15(ve k)-.25 H
 .029(ills cause the te).15 F .029(xt to be accumulated into one unit,)
@@ -3816,23 +3819,23 @@ F .029(xt is sa)-.15 F -.15(ve)-.2 G 2.529(di).15 G 2.529(na)-2.529 G F4
 (xt separate the chunks of te)-.15 F .567(xt on the kill)-.15 F(ring.)
 108 379.2 Q F2(Readline Initialization)87 396 Q F0 .091(Readline is cus\
 tomized by putting commands in an initialization \214le \(the)108 408 R
-F4(inputr)2.591 E(c)-.37 E F0 2.591(\214le\). The)2.591 F .092
-(name of this \214le)2.591 F .197(is tak)108 420 R .196(en from the v)
+F4(inputr)2.591 E(c)-.37 E F0 2.591(\214le\). The)2.591 F .091
+(name of this \214le)2.591 F .196(is tak)108 420 R .196(en from the v)
 -.1 F .196(alue of the)-.25 F F1(INPUTRC)2.696 E F0 -.25(va)2.446 G
 2.696(riable. If).25 F .196(that v)2.696 F .196
 (ariable is unset, the def)-.25 F .196(ault is)-.1 F F4(~/.inputr)2.696
-E(c)-.37 E F0 5.196(.W).31 G .196(hen a)-5.196 F 1.034(program which us\
+E(c)-.37 E F0 5.196(.W).31 G .197(hen a)-5.196 F 1.034(program which us\
 es the readline library starts up, the initialization \214le is read, a\
-nd the k)108 432 R 1.335 -.15(ey b)-.1 H 1.035(indings and).15 F -.25
-(va)108 444 S 1.15(riables are set.).25 F 1.15(There are only a fe)6.15
-F 3.649(wb)-.25 G 1.149(asic constructs allo)-3.649 F 1.149
-(wed in the readline initialization \214le.)-.25 F(Blank)6.149 E .736
+nd the k)108 432 R 1.334 -.15(ey b)-.1 H 1.034(indings and).15 F -.25
+(va)108 444 S 1.149(riables are set.).25 F 1.149(There are only a fe)
+6.149 F 3.649(wb)-.25 G 1.149(asic constructs allo)-3.649 F 1.15
+(wed in the readline initialization \214le.)-.25 F(Blank)6.15 E .737
 (lines are ignored.)108 456 R .737(Lines be)5.737 F .737(ginning with a)
 -.15 F F2(#)3.237 E F0 .737(are comments.)3.237 F .737(Lines be)5.737 F
-.737(ginning with a)-.15 F F2($)3.237 E F0 .737(indicate conditional)
-3.237 F 2.5(constructs. Other)108 468 R(lines denote k)2.5 E .3 -.15
-(ey b)-.1 H(indings and v).15 E(ariable settings.)-.25 E .987(The def)
-108 484.8 R .987(ault k)-.1 F -.15(ey)-.1 G .987
+.737(ginning with a)-.15 F F2($)3.237 E F0 .736(indicate conditional)
+3.236 F 2.5(constructs. Other)108 468 R(lines denote k)2.5 E .3 -.15
+(ey b)-.1 H(indings and v).15 E(ariable settings.)-.25 E .986(The def)
+108 484.8 R .986(ault k)-.1 F -.15(ey)-.1 G .987
 (-bindings may be changed with an).15 F F4(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 496.8 Q(wn commands and bindings.)-.25 E -.15
@@ -3842,12 +3845,12 @@ F 3.649(wb)-.25 G 1.149(asic constructs allo)-3.649 F 1.149
 -.25 G(rsal\255ar).15 E(gument)-.18 E(into the)108 566.4 Q F4(inputr)
 2.51 E(c)-.37 E F0 -.1(wo)2.81 G(uld mak).1 E 2.5(eM)-.1 G(\255C\255u e)
 -2.5 E -.15(xe)-.15 G(cute the readline command).15 E F4(univer)2.5 E
-(sal\255ar)-.1 E(gument)-.37 E F0(.).68 E 1.26(The follo)108 583.2 R
+(sal\255ar)-.1 E(gument)-.37 E F0(.).68 E 1.261(The follo)108 583.2 R
 1.261(wing symbolic character names are recognized:)-.25 F F4 -.4(RU)
 3.761 G(BOUT).4 E F0(,)1.27 E F4(DEL)3.761 E F0(,).53 E F4(ESC)3.761 E
-F0(,).72 E F4(LFD)3.761 E F0(,).28 E F4(NEWLINE)3.761 E F0(,).73 E F4
-(RET)3.761 E F0(,)1.27 E F4(RETURN)108 595.2 Q F0(,)1.1 E F4(SPC)2.5 E
-F0(,).72 E F4(SP)2.5 E -.3(AC)-.9 G(E).3 E F0 2.5(,a).73 G(nd)-2.5 E F4
+F0(,).72 E F4(LFD)3.761 E F0(,).28 E F4(NEWLINE)3.76 E F0(,).73 E F4
+(RET)3.76 E F0(,)1.27 E F4(RETURN)108 595.2 Q F0(,)1.1 E F4(SPC)2.5 E F0
+(,).72 E F4(SP)2.5 E -.3(AC)-.9 G(E).3 E F0 2.5(,a).73 G(nd)-2.5 E F4
 -.5(TA)2.5 G(B).5 E F0(.).27 E .209
 (In addition to command names, readline allo)108 612 R .209(ws k)-.25 F
 -.15(ey)-.1 G 2.709(st).15 G 2.709(ob)-2.709 G 2.709(eb)-2.709 G .209
@@ -3857,20 +3860,19 @@ F0(,).72 E F4(SP)2.5 E -.3(AC)-.9 G(E).3 E F0 2.5(,a).73 G(nd)-2.5 E F4
 (The syntax for controlling k)108 652.8 R .666 -.15(ey b)-.1 H .366
 (indings in the).15 F F4(inputr)2.876 E(c)-.37 E F0 .366
 (\214le is simple.)3.176 F .366(All that is required is the name of the)
-5.366 F .383(command or the te)108 664.8 R .383(xt of a macro and a k)
+5.366 F .382(command or the te)108 664.8 R .383(xt of a macro and a k)
 -.15 F .683 -.15(ey s)-.1 H .383
 (equence to which it should be bound. The name may be speci-).15 F .853
 (\214ed in one of tw)108 676.8 R 3.353(ow)-.1 G .853
 (ays: as a symbolic k)-3.453 F 1.153 -.15(ey n)-.1 H .853
 (ame, possibly with).15 F F4(Meta\255)3.353 E F0(or)3.353 E F4(Contr)
 3.353 E(ol\255)-.45 E F0(pre\214x)3.353 E .853(es, or as a k)-.15 F -.15
-(ey)-.1 G(sequence.)108 688.8 Q 1.542(When using the form)108 705.6 R F2
--.1(ke)4.042 G(yname).1 E F0(:)A F4(function\255name).833 E F0(or)4.042
+(ey)-.1 G(sequence.)108 688.8 Q 1.541(When using the form)108 705.6 R F2
+-.1(ke)4.041 G(yname).1 E F0(:)A F4(function\255name).833 E F0(or)4.041
 E F4(macr)4.042 E(o)-.45 E F0(,)A F4 -.1(ke)4.042 G(yname)-.2 E F0 1.542
-(is the name of a k)4.222 F 1.841 -.15(ey s)-.1 H 1.541(pelled out in)
+(is the name of a k)4.222 F 1.842 -.15(ey s)-.1 H 1.542(pelled out in)
 .15 F 2.5(English. F)108 717.6 R(or e)-.15 E(xample:)-.15 E
-(GNU Bash-3.1-de)72 768 Q -.15(ve)-.25 G 123.59(l2).15 G(005 Mar 15)
--123.59 E(31)198.17 E 0 Cg EP
+(GNU Bash-3.1-beta1)72 768 Q(2005 Aug 27)122.91 E(31)197.89 E 0 Cg EP
 %%Page: 32 33
 %%BeginPageSetup
 BP
@@ -3878,33 +3880,33 @@ BP
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
 -.35 E(Control-u: uni)144 84 Q -.15(ve)-.25 G(rsal\255ar).15 E(gument)
 -.18 E(Meta-Rubout: backw)144 96 Q(ard-kill-w)-.1 E(ord)-.1 E
-(Control-o: "> output")144 108 Q .698(In the abo)108 124.8 R .998 -.15
+(Control-o: "> output")144 108 Q .699(In the abo)108 124.8 R .998 -.15
 (ve ex)-.15 H(ample,).15 E/F1 10/Times-Italic@0 SF(C\255u)3.038 E F0
 .698(is bound to the function)3.448 F/F2 10/Times-Bold@0 SF(uni)3.198 E
 -.1(ve)-.1 G(rsal\255ar).1 E(gument)-.1 E F0(,)A F1(M\255DEL)3.878 E F0
 .698(is bound to the func-)3.728 F(tion)108 136.8 Q F2
-(backward\255kill\255w)2.759 E(ord)-.1 E F0 2.759(,a)C(nd)-2.759 E F1
-(C\255o)2.599 E F0 .258(is bound to run the macro e)2.939 F .258
+(backward\255kill\255w)2.758 E(ord)-.1 E F0 2.758(,a)C(nd)-2.758 E F1
+(C\255o)2.598 E F0 .258(is bound to run the macro e)2.938 F .259
 (xpressed on the right hand side \(that is, to)-.15 F(insert the te)108
 148.8 Q(xt)-.15 E/F3 10/Courier@0 SF 6(>o)2.5 G(utput)-6 E F0
-(into the line\).)2.5 E .055(In the second form,)108 165.6 R F2("k)2.555
-E(eyseq")-.1 E F0(:)A F1(function\255name).833 E F0(or)2.555 E F1(macr)
-2.555 E(o)-.45 E F0(,)A F2 -.1(ke)2.555 G(yseq).1 E F0(dif)2.556 E .056
-(fers from)-.25 F F2 -.1(ke)2.556 G(yname).1 E F0(abo)2.556 E .356 -.15
-(ve i)-.15 H 2.556(nt).15 G .056(hat strings)-2.556 F 1.284
+(into the line\).)2.5 E .056(In the second form,)108 165.6 R F2("k)2.556
+E(eyseq")-.1 E F0(:)A F1(function\255name).833 E F0(or)2.556 E F1(macr)
+2.556 E(o)-.45 E F0(,)A F2 -.1(ke)2.556 G(yseq).1 E F0(dif)2.555 E .055
+(fers from)-.25 F F2 -.1(ke)2.555 G(yname).1 E F0(abo)2.555 E .355 -.15
+(ve i)-.15 H 2.555(nt).15 G .055(hat strings)-2.555 F 1.284
 (denoting an entire k)108 177.6 R 1.584 -.15(ey s)-.1 H 1.284(equence m\
 ay be speci\214ed by placing the sequence within double quotes.).15 F
-(Some)6.284 E .385(GNU Emacs style k)108 189.6 R .685 -.15(ey e)-.1 H
-.385(scapes can be used, as in the follo).15 F .385(wing e)-.25 F .386
-(xample, b)-.15 F .386(ut the symbolic character names)-.2 F
+(Some)6.284 E .386(GNU Emacs style k)108 189.6 R .686 -.15(ey e)-.1 H
+.385(scapes can be used, as in the follo).15 F .385(wing e)-.25 F .385
+(xample, b)-.15 F .385(ut the symbolic character names)-.2 F
 (are not recognized.)108 201.6 Q("\\C\255u": uni)144 225.6 Q -.15(ve)
 -.25 G(rsal\255ar).15 E(gument)-.18 E
 ("\\C\255x\\C\255r": re\255read\255init\255\214le)144 237.6 Q
-("\\e[11~": "Function K)144 249.6 Q .3 -.15(ey 1)-.25 H(").15 E .315
-(In this e)108 266.4 R(xample,)-.15 E F1(C\255u)2.655 E F0 .315(is ag)
-3.065 F .315(ain bound to the function)-.05 F F2(uni)2.815 E -.1(ve)-.1
+("\\e[11~": "Function K)144 249.6 Q .3 -.15(ey 1)-.25 H(").15 E .314
+(In this e)108 266.4 R(xample,)-.15 E F1(C\255u)2.654 E F0 .314(is ag)
+3.064 F .315(ain bound to the function)-.05 F F2(uni)2.815 E -.1(ve)-.1
 G(rsal\255ar).1 E(gument)-.1 E F0(.)A F1 .315(C\255x C\255r)5.155 F F0
-.314(is bound to the func-)3.544 F(tion)108 278.4 Q F2 -.18(re)2.5 G
+.315(is bound to the func-)3.545 F(tion)108 278.4 Q F2 -.18(re)2.5 G
 <ad72>.18 E(ead\255init\255\214le)-.18 E F0 2.5(,a)C(nd)-2.5 E F1
 (ESC [ 1 1 ~)3.01 E F0(is bound to insert the te)3.94 E(xt)-.15 E F3
 (Function Key 1)2.5 E F0(.)A
@@ -3924,3501 +3926,3517 @@ pes is a)108 384 Q -.25(va)-.2 G(ilable:).25 E F2(\\a)144 396 Q F0
 (alue)-.25 E F1(nnn)2.5 E F0(\(one to three digits\))2.5 E F2(\\x)144
 504 Q F1(HH)A F0(the eight-bit character whose v)13.78 E(alue is the he)
 -.25 E(xadecimal v)-.15 E(alue)-.25 E F1(HH)2.5 E F0(\(one or tw)2.5 E
-2.5(oh)-.1 G .3 -.15(ex d)-2.5 H(igits\)).15 E 1.141
+2.5(oh)-.1 G .3 -.15(ex d)-2.5 H(igits\)).15 E 1.142
 (When entering the te)108 520.8 R 1.141(xt of a macro, single or double\
- quotes must be used to indicate a macro de\214nition.)-.15 F .09
-(Unquoted te)108 532.8 R .09(xt is assumed to be a function name.)-.15 F
-.089(In the macro body)5.089 F 2.589(,t)-.65 G .089
-(he backslash escapes described abo)-2.589 F -.15(ve)-.15 G(are e)108
+ quotes must be used to indicate a macro de\214nition.)-.15 F .089
+(Unquoted te)108 532.8 R .089(xt is assumed to be a function name.)-.15
+F .09(In the macro body)5.089 F 2.59(,t)-.65 G .09
+(he backslash escapes described abo)-2.59 F -.15(ve)-.15 G(are e)108
 544.8 Q 2.5(xpanded. Backslash)-.15 F(will quote an)2.5 E 2.5(yo)-.15 G
 (ther character in the macro te)-2.5 E(xt, including " and '.)-.15 E F2
-(Bash)108 561.6 Q F0(allo)2.929 E .429(ws the current readline k)-.25 F
-.729 -.15(ey b)-.1 H .429
-(indings to be displayed or modi\214ed with the).15 F F2(bind)2.93 E F0
--.2(bu)2.93 G .43(iltin command.).2 F .046
-(The editing mode may be switched during interacti)108 573.6 R .346 -.15
-(ve u)-.25 H .046(se by using the).15 F F2<ad6f>2.545 E F0 .045
-(option to the)2.545 F F2(set)2.545 E F0 -.2(bu)2.545 G .045
+(Bash)108 561.6 Q F0(allo)2.93 E .43(ws the current readline k)-.25 F
+.73 -.15(ey b)-.1 H .429(indings to be displayed or modi\214ed with the)
+.15 F F2(bind)2.929 E F0 -.2(bu)2.929 G .429(iltin command.).2 F .045
+(The editing mode may be switched during interacti)108 573.6 R .345 -.15
+(ve u)-.25 H .046(se by using the).15 F F2<ad6f>2.546 E F0 .046
+(option to the)2.546 F F2(set)2.546 E F0 -.2(bu)2.546 G .046
 (iltin command).2 F(\(see)108 585.6 Q/F4 9/Times-Bold@0 SF(SHELL B)2.5 E
 (UIL)-.09 E(TIN COMMANDS)-.828 E F0(belo)2.25 E(w\).)-.25 E F2
-(Readline V)87 602.4 Q(ariables)-.92 E F0 .043(Readline has v)108 614.4
+(Readline V)87 602.4 Q(ariables)-.92 E F0 .044(Readline has v)108 614.4
 R .043(ariables that can be used to further customize its beha)-.25 F
 (vior)-.2 E 5.043(.A)-.55 G -.25(va)-2.5 G .043
-(riable may be set in the).25 F F1(inpu-)2.554 E(tr)108 626.4 Q(c)-.37 E
+(riable may be set in the).25 F F1(inpu-)2.553 E(tr)108 626.4 Q(c)-.37 E
 F0(\214le with a statement of the form)2.81 E F2(set)144 643.2 Q F1
-(variable\255name value)2.5 E F0 .489(Except where noted, readline v)108
-660 R .489(ariables can tak)-.25 F 2.989(et)-.1 G .489(he v)-2.989 F
-(alues)-.25 E F2(On)2.989 E F0(or)2.989 E F2(Off)2.989 E F0 5.489(.T)C
-.489(he v)-5.489 F .488(ariables and their def)-.25 F .488(ault v)-.1 F
-(al-)-.25 E(ues are:)108 672 Q F2(bell\255style \(audible\))108 688.8 Q
-F0 .01(Controls what happens when readline w)144 700.8 R .011
-(ants to ring the terminal bell.)-.1 F .011(If set to)5.011 F F2(none)
-2.511 E F0 2.511(,r)C .011(eadline ne)-2.511 F -.15(ve)-.25 G(r).15 E
-.94(rings the bell.)144 712.8 R .94(If set to)5.94 F F2(visible)3.44 E
-F0 3.44(,r)C .94(eadline uses a visible bell if one is a)-3.44 F -.25
-(va)-.2 G 3.44(ilable. If).25 F .94(set to)3.44 F F2(audible)3.44 E F0
-(,)A(readline attempts to ring the terminal')144 724.8 Q 2.5(sb)-.55 G
-(ell.)-2.5 E(GNU Bash-3.1-de)72 768 Q -.15(ve)-.25 G 123.59(l2).15 G
-(005 Mar 15)-123.59 E(32)198.17 E 0 Cg EP
+(variable\255name value)2.5 E F0 .79(Except where noted, readline v)108
+660 R .79(ariables can tak)-.25 F 3.29(et)-.1 G .79(he v)-3.29 F(alues)
+-.25 E F2(On)3.29 E F0(or)3.29 E F2(Off)3.29 E F0 .79(\(without re)3.29
+F -.05(ga)-.15 G .79(rd to case\).).05 F(Unrecog-)5.79 E .449(nized v)
+108 672 R .448(ariable names are ignored.)-.25 F .448(When a v)5.448 F
+.448(ariable v)-.25 F .448(alue is read, empty or null v)-.25 F .448
+(alues, "on" \(case-insensi-)-.25 F(ti)108 684 Q -.15(ve)-.25 G .467
+(\), and "1" are equi).15 F -.25(va)-.25 G .468(lent to).25 F F2(On)
+2.968 E F0 5.468(.A)C .468(ll other v)-5.468 F .468(alues are equi)-.25
+F -.25(va)-.25 G .468(lent to).25 F F2(Off)2.968 E F0 5.468(.T)C .468
+(he v)-5.468 F .468(ariables and their def)-.25 F(ault)-.1 E -.25(va)108
+696 S(lues are:).25 E(GNU Bash-3.1-beta1)72 768 Q(2005 Aug 27)122.91 E
+(32)197.89 E 0 Cg EP
 %%Page: 33 34
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E/F1 10/Times-Bold@0 SF(bind\255tty\255special\255chars \(On\))108
-84 Q F0 .055(If set to)144 96 R F1(On)2.555 E F0 2.555(,r)C .056(eadlin\
-e attempts to bind the control characters treated specially by the k)
--2.555 F(ernel')-.1 E 2.556(st)-.55 G(ermi-)-2.556 E(nal dri)144 108 Q
--.15(ve)-.25 G 2.5(rt).15 G 2.5(ot)-2.5 G(heir readline equi)-2.5 E -.25
-(va)-.25 G(lents.).25 E F1(comment\255begin \(`)108 120 Q(`#')-.63 E
-('\))-.63 E F0 .885(The string that is inserted when the readline)144
-132 R F1(insert\255comment)3.385 E F0 .884(command is e)3.384 F -.15(xe)
--.15 G 3.384(cuted. This).15 F(com-)3.384 E(mand is bound to)144 144 Q
-F1(M\255#)2.5 E F0(in emacs mode and to)2.5 E F1(#)2.5 E F0
-(in vi command mode.)2.5 E F1(completion\255ignor)108 156 Q
-(e\255case \(Off\))-.18 E F0(If set to)144 168 Q F1(On)2.5 E F0 2.5(,r)C
+-.35 E/F1 10/Times-Bold@0 SF(bell\255style \(audible\))108 84 Q F0 .011
+(Controls what happens when readline w)144 96 R .011
+(ants to ring the terminal bell.)-.1 F .01(If set to)5.01 F F1(none)2.51
+E F0 2.51(,r)C .01(eadline ne)-2.51 F -.15(ve)-.25 G(r).15 E .94
+(rings the bell.)144 108 R .94(If set to)5.94 F F1(visible)3.44 E F0
+3.44(,r)C .94(eadline uses a visible bell if one is a)-3.44 F -.25(va)
+-.2 G 3.44(ilable. If).25 F .94(set to)3.44 F F1(audible)3.44 E F0(,)A
+(readline attempts to ring the terminal')144 120 Q 2.5(sb)-.55 G(ell.)
+-2.5 E F1(bind\255tty\255special\255chars \(On\))108 132 Q F0 .056
+(If set to)144 144 R F1(On)2.556 E F0 2.556(,r)C .056(eadline attempts \
+to bind the control characters treated specially by the k)-2.556 F
+(ernel')-.1 E 2.555(st)-.55 G(ermi-)-2.555 E(nal dri)144 156 Q -.15(ve)
+-.25 G 2.5(rt).15 G 2.5(ot)-2.5 G(heir readline equi)-2.5 E -.25(va)-.25
+G(lents.).25 E F1(comment\255begin \(`)108 168 Q(`#')-.63 E('\))-.63 E
+F0 .884(The string that is inserted when the readline)144 180 R F1
+(insert\255comment)3.385 E F0 .885(command is e)3.385 F -.15(xe)-.15 G
+3.385(cuted. This).15 F(com-)3.385 E(mand is bound to)144 192 Q F1
+(M\255#)2.5 E F0(in emacs mode and to)2.5 E F1(#)2.5 E F0
+(in vi command mode.)2.5 E F1(completion\255ignor)108 204 Q
+(e\255case \(Off\))-.18 E F0(If set to)144 216 Q F1(On)2.5 E F0 2.5(,r)C
 (eadline performs \214lename matching and completion in a case\255insen\
 siti)-2.5 E .3 -.15(ve f)-.25 H(ashion.).05 E F1
-(completion\255query\255items \(100\))108 180 Q F0 .529
-(This determines when the user is queried about vie)144 192 R .53
-(wing the number of possible completions gen-)-.25 F .561(erated by the)
-144 204 R F1(possible\255completions)3.061 E F0 3.061(command. It)3.061
-F .561(may be set to an)3.061 F 3.06(yi)-.15 G(nte)-3.06 E .56(ger v)
--.15 F .56(alue greater than or)-.25 F .782(equal to zero.)144 216 R
+(completion\255query\255items \(100\))108 228 Q F0 .53
+(This determines when the user is queried about vie)144 240 R .529
+(wing the number of possible completions gen-)-.25 F .56(erated by the)
+144 252 R F1(possible\255completions)3.06 E F0 3.06(command. It)3.06 F
+.561(may be set to an)3.061 F 3.061(yi)-.15 G(nte)-3.061 E .561(ger v)
+-.15 F .561(alue greater than or)-.25 F .783(equal to zero.)144 264 R
 .783(If the number of possible completions is greater than or equal to \
-the v)5.782 F .783(alue of this)-.25 F -.25(va)144 228 S .237
+the v)5.783 F .782(alue of this)-.25 F -.25(va)144 276 S .237
 (riable, the user is ask).25 F .237(ed whether or not he wishes to vie)
 -.1 F 2.737(wt)-.25 G .237(hem; otherwise the)-2.737 F 2.737(ya)-.15 G
-.237(re simply listed)-2.737 F(on the terminal.)144 240 Q F1(con)108 252
-Q -.1(ve)-.4 G(rt\255meta \(On\)).1 E F0 .612(If set to)144 264 R F1(On)
-3.112 E F0 3.112(,r)C .613(eadline will con)-3.112 F -.15(ve)-.4 G .613
-(rt characters with the eighth bit set to an ASCII k).15 F .913 -.15
-(ey s)-.1 H .613(equence by).15 F .541
+.237(re simply listed)-2.737 F(on the terminal.)144 288 Q F1(con)108 300
+Q -.1(ve)-.4 G(rt\255meta \(On\)).1 E F0 .613(If set to)144 312 R F1(On)
+3.113 E F0 3.113(,r)C .613(eadline will con)-3.113 F -.15(ve)-.4 G .613
+(rt characters with the eighth bit set to an ASCII k).15 F .912 -.15
+(ey s)-.1 H .612(equence by).15 F .541
 (stripping the eighth bit and pre\214xing an escape character \(in ef)
-144 276 R .541(fect, using escape as the)-.25 F/F2 10/Times-Italic@0 SF
-.541(meta pr)3.041 F(e-)-.37 E<8c78>144 288 Q F0(\).)A F1
-(disable\255completion \(Off\))108 300 Q F0 .038(If set to)144 312 R F1
+144 324 R .541(fect, using escape as the)-.25 F/F2 10/Times-Italic@0 SF
+.542(meta pr)3.042 F(e-)-.37 E<8c78>144 336 Q F0(\).)A F1
+(disable\255completion \(Off\))108 348 Q F0 .038(If set to)144 360 R F1
 (On)2.538 E F0 2.538(,r)C .038(eadline will inhibit w)-2.538 F .038
 (ord completion.)-.1 F .038
 (Completion characters will be inserted into the)5.038 F(line as if the)
-144 324 Q 2.5(yh)-.15 G(ad been mapped to)-2.5 E F1(self-insert)2.5 E F0
-(.)A F1(editing\255mode \(emacs\))108 336 Q F0 .253
-(Controls whether readline be)144 348 R .253(gins with a set of k)-.15 F
-.553 -.15(ey b)-.1 H .253(indings similar to).15 F F2(emacs)2.752 E F0
-(or)2.752 E F2(vi)2.752 E F0(.)A F1(editing\255mode)5.252 E F0
-(can be set to either)144 360 Q F1(emacs)2.5 E F0(or)2.5 E F1(vi)2.5 E
-F0(.)A F1(enable\255k)108 372 Q(eypad \(Off\))-.1 E F0 .892(When set to)
-144 384 R F1(On)3.393 E F0 3.393(,r)C .893
+144 372 Q 2.5(yh)-.15 G(ad been mapped to)-2.5 E F1(self-insert)2.5 E F0
+(.)A F1(editing\255mode \(emacs\))108 384 Q F0 .252
+(Controls whether readline be)144 396 R .253(gins with a set of k)-.15 F
+.553 -.15(ey b)-.1 H .253(indings similar to).15 F F2(emacs)2.753 E F0
+(or)2.753 E F2(vi)2.753 E F0(.)A F1(editing\255mode)5.253 E F0
+(can be set to either)144 408 Q F1(emacs)2.5 E F0(or)2.5 E F1(vi)2.5 E
+F0(.)A F1(enable\255k)108 420 Q(eypad \(Off\))-.1 E F0 .893(When set to)
+144 432 R F1(On)3.393 E F0 3.393(,r)C .893
 (eadline will try to enable the application k)-3.393 F -.15(ey)-.1 G
-.893(pad when it is called.).15 F .893(Some sys-)5.893 F
-(tems need this to enable the arro)144 396 Q 2.5(wk)-.25 G -.15(ey)-2.6
-G(s.).15 E F1(expand\255tilde \(Off\))108 408 Q F0(If set to)144 420 Q
+.893(pad when it is called.).15 F .892(Some sys-)5.893 F
+(tems need this to enable the arro)144 444 Q 2.5(wk)-.25 G -.15(ey)-2.6
+G(s.).15 E F1(expand\255tilde \(Off\))108 456 Q F0(If set to)144 468 Q
 F1(on)2.5 E F0 2.5(,t)C(ilde e)-2.5 E
 (xpansion is performed when readline attempts w)-.15 E(ord completion.)
--.1 E F1(history-pr)108 432 Q(eser)-.18 E -.1(ve)-.1 G(-point).1 E F0
-1.493(If set to)144 444 R F1(on)3.993 E F0 3.993(,t)C 1.493(he history \
-code attempts to place point at the same location on each history line)
--3.993 F(retrie)144 456 Q -.15(ve)-.25 G 2.5(dw).15 G(ith)-2.5 E F1(pr)
-2.5 E -.15(ev)-.18 G(ious-history).15 E F0(or)2.5 E F1(next-history)2.5
-E F0(.)A F1(horizontal\255scr)108 468 Q(oll\255mode \(Off\))-.18 E F0
-.448(When set to)144 480 R F1(On)2.948 E F0 2.948(,m)C(ak)-2.948 E .448
-(es readline use a single line for display)-.1 F 2.948(,s)-.65 G .449
+-.1 E F1(history\255pr)108 480 Q(eser)-.18 E -.1(ve)-.1 G
+(\255point \(Off\)).1 E F0 1.492(If set to)144 492 R F1(on)3.992 E F0
+3.992(,t)C 1.493(he history code attempts to place point at the same lo\
+cation on each history line)-3.992 F(retrie)144 504 Q -.15(ve)-.25 G 2.5
+(dw).15 G(ith)-2.5 E F1(pr)2.5 E -.15(ev)-.18 G(ious-history).15 E F0
+(or)2.5 E F1(next-history)2.5 E F0(.)A F1(horizontal\255scr)108 516 Q
+(oll\255mode \(Off\))-.18 E F0 .449(When set to)144 528 R F1(On)2.949 E
+F0 2.949(,m)C(ak)-2.949 E .448
+(es readline use a single line for display)-.1 F 2.948(,s)-.65 G .448
 (crolling the input horizontally on a)-2.948 F 1.194(single screen line\
  when it becomes longer than the screen width rather than wrapping to a\
- ne)144 492 R(w)-.25 E(line.)144 504 Q F1(input\255meta \(Off\))108 516
-Q F0 .227(If set to)144 528 R F1(On)2.727 E F0 2.727(,r)C .228(eadline \
+ ne)144 540 R(w)-.25 E(line.)144 552 Q F1(input\255meta \(Off\))108 564
+Q F0 .228(If set to)144 576 R F1(On)2.728 E F0 2.728(,r)C .227(eadline \
 will enable eight-bit input \(that is, it will not strip the high bit f\
-rom the char)-2.727 F(-)-.2 E .957(acters it reads\), re)144 540 R -.05
+rom the char)-2.728 F(-)-.2 E .956(acters it reads\), re)144 588 R -.05
 (ga)-.15 G .956(rdless of what the terminal claims it can support.).05 F
-.956(The name)5.956 F F1(meta\255\215ag)3.456 E F0 .956(is a)3.456 F
-(synon)144 552 Q(ym for this v)-.15 E(ariable.)-.25 E F1(isear)108 564 Q
+.957(The name)5.956 F F1(meta\255\215ag)3.457 E F0 .957(is a)3.457 F
+(synon)144 600 Q(ym for this v)-.15 E(ariable.)-.25 E F1(isear)108 612 Q
 (ch\255terminators \(`)-.18 E(`C\255[C\255J')-.63 E('\))-.63 E F0 .439(\
 The string of characters that should terminate an incremental search wi\
-thout subsequently e)144 576 R -.15(xe)-.15 G(cut-).15 E .935
-(ing the character as a command.)144 588 R .935(If this v)5.935 F .935
-(ariable has not been gi)-.25 F -.15(ve)-.25 G 3.434(nav).15 G .934
-(alue, the characters)-3.684 F F2(ESC)3.434 E F0(and)144 600 Q F2
+thout subsequently e)144 624 R -.15(xe)-.15 G(cut-).15 E .934
+(ing the character as a command.)144 636 R .935(If this v)5.935 F .935
+(ariable has not been gi)-.25 F -.15(ve)-.25 G 3.435(nav).15 G .935
+(alue, the characters)-3.685 F F2(ESC)3.435 E F0(and)144 648 Q F2
 (C\255J)2.5 E F0(will terminate an incremental search.)2.5 E F1 -.1(ke)
-108 612 S(ymap \(emacs\)).1 E F0 2.02(Set the current readline k)144 624
-R -.15(ey)-.1 G 4.521(map. The).15 F 2.021(set of v)4.521 F 2.021
-(alid k)-.25 F -.15(ey)-.1 G 2.021(map names is).15 F F2 2.021
-(emacs, emacs\255standar)4.521 F(d,)-.37 E .069
-(emacs\255meta, emacs\255ctlx, vi, vi\255command)144 636 R F0 2.568(,a)C
+108 660 S(ymap \(emacs\)).1 E F0 2.021(Set the current readline k)144
+672 R -.15(ey)-.1 G 4.521(map. The).15 F 2.021(set of v)4.521 F 2.021
+(alid k)-.25 F -.15(ey)-.1 G 2.021(map names is).15 F F2 2.02
+(emacs, emacs\255standar)4.52 F(d,)-.37 E .068
+(emacs\255meta, emacs\255ctlx, vi, vi\255command)144 684 R F0 2.568(,a)C
 (nd)-2.568 E F2(vi\255insert)2.568 E F0(.).68 E F2(vi)5.068 E F0 .068
 (is equi)2.568 F -.25(va)-.25 G .068(lent to).25 F F2(vi\255command)
-2.568 E F0(;)A F2(emacs)2.568 E F0 1.543(is equi)144 648 R -.25(va)-.25
-G 1.543(lent to).25 F F2(emacs\255standar)4.044 E(d)-.37 E F0 6.544(.T)C
+2.569 E F0(;)A F2(emacs)2.569 E F0 1.544(is equi)144 696 R -.25(va)-.25
+G 1.544(lent to).25 F F2(emacs\255standar)4.044 E(d)-.37 E F0 6.544(.T)C
 1.544(he def)-6.544 F 1.544(ault v)-.1 F 1.544(alue is)-.25 F F2(emacs)
 4.044 E F0 4.044(;t).27 G 1.544(he v)-4.044 F 1.544(alue of)-.25 F F1
-(editing\255mode)4.044 E F0(also)4.044 E(af)144 660 Q(fects the def)-.25
-E(ault k)-.1 E -.15(ey)-.1 G(map.).15 E F1(mark\255dir)108 672 Q
-(ectories \(On\))-.18 E F0(If set to)144 684 Q F1(On)2.5 E F0 2.5(,c)C
-(ompleted directory names ha)-2.5 E .3 -.15(ve a s)-.2 H(lash appended.)
-.15 E F1(mark\255modi\214ed\255lines \(Off\))108 696 Q F0(If set to)144
-708 Q F1(On)2.5 E F0 2.5(,h)C(istory lines that ha)-2.5 E .3 -.15(ve b)
--.2 H(een modi\214ed are displayed with a preceding asterisk \().15 E F1
-(*)A F0(\).)A(GNU Bash-3.1-de)72 768 Q -.15(ve)-.25 G 123.59(l2).15 G
-(005 Mar 15)-123.59 E(33)198.17 E 0 Cg EP
+(editing\255mode)4.043 E F0(also)4.043 E(af)144 708 Q(fects the def)-.25
+E(ault k)-.1 E -.15(ey)-.1 G(map.).15 E(GNU Bash-3.1-beta1)72 768 Q
+(2005 Aug 27)122.91 E(33)197.89 E 0 Cg EP
 %%Page: 34 35
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E/F1 10/Times-Bold@0 SF(mark\255symlink)108 84 Q(ed\255dir)-.1 E
-(ectories \(Off\))-.18 E F0 .175(If set to)144 96 R F1(On)2.675 E F0
+-.35 E/F1 10/Times-Bold@0 SF(mark\255dir)108 84 Q(ectories \(On\))-.18 E
+F0(If set to)144 96 Q F1(On)2.5 E F0 2.5(,c)C
+(ompleted directory names ha)-2.5 E .3 -.15(ve a s)-.2 H(lash appended.)
+.15 E F1(mark\255modi\214ed\255lines \(Off\))108 108 Q F0(If set to)144
+120 Q F1(On)2.5 E F0 2.5(,h)C(istory lines that ha)-2.5 E .3 -.15(ve b)
+-.2 H(een modi\214ed are displayed with a preceding asterisk \().15 E F1
+(*)A F0(\).)A F1(mark\255symlink)108 132 Q(ed\255dir)-.1 E
+(ectories \(Off\))-.18 E F0 .175(If set to)144 144 R F1(On)2.675 E F0
 2.675(,c)C .175
 (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 108
+-.15(ve a s)-.2 H .175(lash appended \(sub-).15 F(ject to the v)144 156
 Q(alue of)-.25 E F1(mark\255dir)2.5 E(ectories)-.18 E F0(\).)A F1
-(match\255hidden\255\214les \(On\))108 120 Q F0 .192(This v)144 132 R
-.192(ariable, when set to)-.25 F F1(On)2.692 E F0 2.692(,c)C .192
-(auses readline to match \214les whose names be)-2.692 F .193
-(gin with a `.)-.15 F 2.693('\()-.7 G(hidden)-2.693 E 1.024
+(match\255hidden\255\214les \(On\))108 168 Q F0 .193(This v)144 180 R
+.193(ariable, when set to)-.25 F F1(On)2.693 E F0 2.693(,c)C .192
+(auses readline to match \214les whose names be)-2.693 F .192
+(gin with a `.)-.15 F 2.692('\()-.7 G(hidden)-2.692 E 1.023
 (\214les\) when performing \214lename completion, unless the leading `.)
-144 144 R 3.523('i)-.7 G 3.523(ss)-3.523 G 1.023
-(upplied by the user in the)-3.523 F(\214lename to be completed.)144 156
-Q F1(output\255meta \(Off\))108 168 Q F0 .506(If set to)144 180 R F1(On)
-3.006 E F0 3.006(,r)C .507(eadline will display characters with the eig\
-hth bit set directly rather than as a meta-)-3.006 F(pre\214x)144 192 Q
-(ed escape sequence.)-.15 E F1(page\255completions \(On\))108 204 Q F0
-.809(If set to)144 216 R F1(On)3.308 E F0 3.308(,r)C .808
+144 192 R 3.523('i)-.7 G 3.523(ss)-3.523 G 1.024
+(upplied by the user in the)-3.523 F(\214lename to be completed.)144 204
+Q F1(output\255meta \(Off\))108 216 Q F0 .507(If set to)144 228 R F1(On)
+3.007 E F0 3.007(,r)C .507(eadline will display characters with the eig\
+hth bit set directly rather than as a meta-)-3.007 F(pre\214x)144 240 Q
+(ed escape sequence.)-.15 E F1(page\255completions \(On\))108 252 Q F0
+.808(If set to)144 264 R F1(On)3.308 E F0 3.308(,r)C .808
 (eadline uses an internal)-3.308 F/F2 10/Times-Italic@0 SF(mor)3.308 E
 (e)-.37 E F0(-lik)A 3.308(ep)-.1 G .808
 (ager to display a screenful of possible comple-)-3.308 F
-(tions at a time.)144 228 Q F1
-(print\255completions\255horizontally \(Off\))108 240 Q F0 1.318
-(If set to)144 252 R F1(On)3.818 E F0 3.818(,r)C 1.319(eadline will dis\
-play completions with matches sorted horizontally in alphabetical)-3.818
-F(order)144 264 Q 2.5(,r)-.4 G(ather than do)-2.5 E(wn the screen.)-.25
-E F1(sho)108 276 Q(w\255all\255if\255ambiguous \(Off\))-.1 E F0 .478
-(This alters the def)144 288 R .478(ault beha)-.1 F .478
-(vior of the completion functions.)-.2 F .477(If set to)5.477 F F1(on)
-2.977 E F0 2.977(,w)C .477(ords which ha)-3.077 F .777 -.15(ve m)-.2 H
+(tions at a time.)144 276 Q F1
+(print\255completions\255horizontally \(Off\))108 288 Q F0 1.319
+(If set to)144 300 R F1(On)3.819 E F0 3.819(,r)C 1.318(eadline will dis\
+play completions with matches sorted horizontally in alphabetical)-3.819
+F(order)144 312 Q 2.5(,r)-.4 G(ather than do)-2.5 E(wn the screen.)-.25
+E F1(sho)108 324 Q(w\255all\255if\255ambiguous \(Off\))-.1 E F0 .477
+(This alters the def)144 336 R .477(ault beha)-.1 F .477
+(vior of the completion functions.)-.2 F .478(If set to)5.478 F F1(on)
+2.978 E F0 2.978(,w)C .478(ords which ha)-3.078 F .778 -.15(ve m)-.2 H
 (ore).15 E 1.264(than one possible completion cause the matches to be l\
-isted immediately instead of ringing the)144 300 R(bell.)144 312 Q F1
-(sho)108 324 Q(w\255all\255if\255unmodi\214ed \(Off\))-.1 E F0 5.346
-(This alters the def)144 336 R 5.346(ault beha)-.1 F 5.345
-(vior of the completion functions in a f)-.2 F 5.345(ashion similar to)
--.1 F F1(sho)144 348 Q(w\255all\255if\255ambiguous)-.1 E F0 6.922(.I)C
-4.422(fs)-6.922 G 1.922(et to)-4.422 F F1(on)4.422 E F0 4.422(,w)C 1.922
-(ords which ha)-4.522 F 2.223 -.15(ve m)-.2 H 1.923
-(ore than one possible completion).15 F 1.04(without an)144 360 R 3.54
+isted immediately instead of ringing the)144 348 R(bell.)144 360 Q F1
+(sho)108 372 Q(w\255all\255if\255unmodi\214ed \(Off\))-.1 E F0 5.345
+(This alters the def)144 384 R 5.345(ault beha)-.1 F 5.345
+(vior of the completion functions in a f)-.2 F 5.346(ashion similar to)
+-.1 F F1(sho)144 396 Q(w\255all\255if\255ambiguous)-.1 E F0 6.923(.I)C
+4.423(fs)-6.923 G 1.923(et to)-4.423 F F1(on)4.423 E F0 4.423(,w)C 1.923
+(ords which ha)-4.523 F 2.222 -.15(ve m)-.2 H 1.922
+(ore than one possible completion).15 F 1.039(without an)144 408 R 3.539
 (yp)-.15 G 1.039
-(ossible partial completion \(the possible completions don')-3.54 F
-3.539(ts)-.18 G 1.039(hare a common pre\214x\))-3.539 F(cause the match\
-es to be listed immediately instead of ringing the bell.)144 372 Q F1
-(visible\255stats \(Off\))108 384 Q F0 .846(If set to)144 396 R F1(On)
+(ossible partial completion \(the possible completions don')-3.539 F
+3.539(ts)-.18 G 1.04(hare a common pre\214x\))-3.539 F(cause the matche\
+s to be listed immediately instead of ringing the bell.)144 420 Q F1
+(visible\255stats \(Off\))108 432 Q F0 .847(If set to)144 444 R F1(On)
 3.346 E F0 3.346(,ac)C .846(haracter denoting a \214le')-3.346 F 3.346
 (st)-.55 G .846(ype as reported by)-3.346 F F2(stat)3.346 E F0 .846
 (\(2\) is appended to the \214lename)B
-(when listing possible completions.)144 408 Q F1
-(Readline Conditional Constructs)87 424.8 Q F0 .05
-(Readline implements a f)108 436.8 R .05(acility similar in spirit to t\
-he conditional compilation features of the C preprocessor)-.1 F .096
-(which allo)108 448.8 R .096(ws k)-.25 F .396 -.15(ey b)-.1 H .096
+(when listing possible completions.)144 456 Q F1
+(Readline Conditional Constructs)87 472.8 Q F0 .05
+(Readline implements a f)108 484.8 R .05(acility similar in spirit to t\
+he conditional compilation features of the C preprocessor)-.1 F .097
+(which allo)108 496.8 R .097(ws k)-.25 F .396 -.15(ey b)-.1 H .096
 (indings and v).15 F .096
-(ariable settings to be performed as the result of tests.)-.25 F .097
-(There are four parser)5.096 F(directi)108 460.8 Q -.15(ve)-.25 G 2.5
-(su).15 G(sed.)-2.5 E F1($if)108 477.6 Q F0(The)24.89 E F1($if)2.963 E
-F0 .463(construct allo)2.963 F .462(ws bindings to be made based on the\
- editing mode, the terminal being used,)-.25 F .477
-(or the application using readline.)144 489.6 R .477(The te)5.477 F .477
+(ariable settings to be performed as the result of tests.)-.25 F .096
+(There are four parser)5.096 F(directi)108 508.8 Q -.15(ve)-.25 G 2.5
+(su).15 G(sed.)-2.5 E F1($if)108 525.6 Q F0(The)24.89 E F1($if)2.962 E
+F0 .462(construct allo)2.962 F .463(ws bindings to be made based on the\
+ editing mode, the terminal being used,)-.25 F .478
+(or the application using readline.)144 537.6 R .477(The te)5.477 F .477
 (xt of the test e)-.15 F .477
 (xtends to the end of the line; no characters)-.15 F
-(are required to isolate it.)144 501.6 Q F1(mode)144 518.4 Q F0(The)
-12.67 E F1(mode=)3.712 E F0 1.212(form of the)3.712 F F1($if)3.711 E F0
+(are required to isolate it.)144 549.6 Q F1(mode)144 566.4 Q F0(The)
+12.67 E F1(mode=)3.711 E F0 1.211(form of the)3.711 F F1($if)3.711 E F0
 (directi)3.711 E 1.511 -.15(ve i)-.25 H 3.711(su).15 G 1.211
 (sed to test whether readline is in emacs or vi)-3.711 F 3.065
-(mode. This)180 530.4 R .565(may be used in conjunction with the)3.065 F
+(mode. This)180 578.4 R .565(may be used in conjunction with the)3.065 F
 F1 .565(set k)3.065 F(eymap)-.1 E F0 .565(command, for instance, to)
-3.065 F .735(set bindings in the)180 542.4 R F2(emacs\255standar)3.235 E
+3.065 F .735(set bindings in the)180 590.4 R F2(emacs\255standar)3.235 E
 (d)-.37 E F0(and)3.235 E F2(emacs\255ctlx)3.235 E F0 -.1(ke)3.235 G .735
-(ymaps only if readline is starting)-.05 F(out in emacs mode.)180 554.4
-Q F1(term)144 571.2 Q F0(The)15.46 E F1(term=)3.196 E F0 .696
-(form may be used to include terminal-speci\214c k)3.196 F .996 -.15
-(ey b)-.1 H .697(indings, perhaps to bind).15 F .654(the k)180 583.2 R
+(ymaps only if readline is starting)-.05 F(out in emacs mode.)180 602.4
+Q F1(term)144 619.2 Q F0(The)15.46 E F1(term=)3.197 E F0 .696
+(form may be used to include terminal-speci\214c k)3.197 F .996 -.15
+(ey b)-.1 H .696(indings, perhaps to bind).15 F .654(the k)180 631.2 R
 .954 -.15(ey s)-.1 H .654(equences output by the terminal').15 F 3.154
 (sf)-.55 G .654(unction k)-3.154 F -.15(ey)-.1 G 3.154(s. The).15 F -.1
-(wo)3.154 G .654(rd on the right side of).1 F(the)180 595.2 Q F1(=)3.231
-E F0 .731(is tested ag)3.231 F .732(ainst the both full name of the ter\
+(wo)3.154 G .654(rd on the right side of).1 F(the)180 643.2 Q F1(=)3.232
+E F0 .732(is tested ag)3.232 F .732(ainst the both full name of the ter\
 minal and the portion of the terminal)-.05 F(name before the \214rst)180
-607.2 Q F1<ad>2.5 E F0 5(.T)C(his allo)-5 E(ws)-.25 E F2(sun)2.84 E F0
+655.2 Q F1<ad>2.5 E F0 5(.T)C(his allo)-5 E(ws)-.25 E F2(sun)2.84 E F0
 (to match both)2.74 E F2(sun)2.84 E F0(and)2.74 E F2(sun\255cmd)2.5 E F0
-2.5(,f).77 G(or instance.)-2.5 E F1(application)144 624 Q F0(The)180 636
+2.5(,f).77 G(or instance.)-2.5 E F1(application)144 672 Q F0(The)180 684
 Q F1(application)3.003 E F0 .503
 (construct is used to include application-speci\214c settings.)3.003 F
 .503(Each program)5.503 F .114(using the readline library sets the)180
-648 R F2 .114(application name)2.614 F F0 2.614(,a)C .114
-(nd an initialization \214le can test for a)-2.614 F .501(particular v)
-180 660 R 3.001(alue. This)-.25 F .501(could be used to bind k)3.001 F
-.801 -.15(ey s)-.1 H .5(equences to functions useful for a spe-).15 F
-.396(ci\214c program.)180 672 R -.15(Fo)5.396 G 2.896(ri).15 G .396
+696 R F2 .114(application name)2.614 F F0 2.614(,a)C .114
+(nd an initialization \214le can test for a)-2.614 F .5(particular v)180
+708 R 3(alue. This)-.25 F .501(could be used to bind k)3 F .801 -.15
+(ey s)-.1 H .501(equences to functions useful for a spe-).15 F .397
+(ci\214c program.)180 720 R -.15(Fo)5.397 G 2.896(ri).15 G .396
 (nstance, the follo)-2.896 F .396(wing command adds a k)-.25 F .696 -.15
-(ey s)-.1 H .397(equence that quotes the).15 F(current or pre)180 684 Q
-(vious w)-.25 E(ord in Bash:)-.1 E F1($if)180 708 Q F0(Bash)2.5 E 2.5
-(#Q)180 720 S(uote the current or pre)-2.5 E(vious w)-.25 E(ord)-.1 E
-(GNU Bash-3.1-de)72 768 Q -.15(ve)-.25 G 123.59(l2).15 G(005 Mar 15)
--123.59 E(34)198.17 E 0 Cg EP
+(ey s)-.1 H .396(equence that quotes the).15 F(GNU Bash-3.1-beta1)72 768
+Q(2005 Aug 27)122.91 E(34)197.89 E 0 Cg EP
 %%Page: 35 36
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E("\\C\255xq": "\\eb\\"\\ef\\"")180 84 Q/F1 10/Times-Bold@0 SF
-($endif)180 96 Q($endif)108 112.8 Q F0(This command, as seen in the pre)
-9.33 E(vious e)-.25 E(xample, terminates an)-.15 E F1($if)2.5 E F0
-(command.)2.5 E F1($else)108 129.6 Q F0(Commands in this branch of the)
-15.45 E F1($if)2.5 E F0(directi)2.5 E .3 -.15(ve a)-.25 H(re e).15 E
--.15(xe)-.15 G(cuted if the test f).15 E(ails.)-.1 E F1($include)108
-146.4 Q F0 .357(This directi)144 158.4 R .657 -.15(ve t)-.25 H(ak).15 E
-.357(es a single \214lename as an ar)-.1 F .356
+-.35 E(current or pre)180 84 Q(vious w)-.25 E(ord in Bash:)-.1 E/F1 10
+/Times-Bold@0 SF($if)180 108 Q F0(Bash)2.5 E 2.5(#Q)180 120 S
+(uote the current or pre)-2.5 E(vious w)-.25 E(ord)-.1 E
+("\\C\255xq": "\\eb\\"\\ef\\"")180 132 Q F1($endif)180 144 Q($endif)108
+160.8 Q F0(This command, as seen in the pre)9.33 E(vious e)-.25 E
+(xample, terminates an)-.15 E F1($if)2.5 E F0(command.)2.5 E F1($else)
+108 177.6 Q F0(Commands in this branch of the)15.45 E F1($if)2.5 E F0
+(directi)2.5 E .3 -.15(ve a)-.25 H(re e).15 E -.15(xe)-.15 G
+(cuted if the test f).15 E(ails.)-.1 E F1($include)108 194.4 Q F0 .356
+(This directi)144 206.4 R .656 -.15(ve t)-.25 H(ak).15 E .356
+(es a single \214lename as an ar)-.1 F .357
 (gument and reads commands and bindings from that)-.18 F 2.5(\214le. F)
-144 170.4 R(or e)-.15 E(xample, the follo)-.15 E(wing directi)-.25 E .3
+144 218.4 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 10/Times-Italic@0 SF(/etc/inputr)2.5
-E(c)-.37 E F0(:)A F1($include)144 194.4 Q F2(/etc/inputr)5.833 E(c)-.37
-E F1(Sear)87 211.2 Q(ching)-.18 E F0 .834(Readline pro)108 223.2 R .834
+E(c)-.37 E F0(:)A F1($include)144 242.4 Q F2(/etc/inputr)5.833 E(c)-.37
+E F1(Sear)87 259.2 Q(ching)-.18 E F0 .835(Readline pro)108 271.2 R .835
 (vides commands for searching through the command history \(see)-.15 F
-/F3 9/Times-Bold@0 SF(HIST)3.335 E(OR)-.162 E(Y)-.315 E F0(belo)3.085 E
-.835(w\) for lines)-.25 F(containing a speci\214ed string.)108 235.2 Q
+/F3 9/Times-Bold@0 SF(HIST)3.334 E(OR)-.162 E(Y)-.315 E F0(belo)3.084 E
+.834(w\) for lines)-.25 F(containing a speci\214ed string.)108 283.2 Q
 (There are tw)5 E 2.5(os)-.1 G(earch modes:)-2.5 E F2(incr)2.51 E
 (emental)-.37 E F0(and)3.01 E F2(non-incr)2.5 E(emental)-.37 E F0(.).51
-E .698(Incremental searches be)108 252 R .698
+E .697(Incremental searches be)108 300 R .697
 (gin before the user has \214nished typing the search string.)-.15 F
-.697(As each character of the)5.697 F .112
-(search string is typed, readline displays the ne)108 264 R .112
+.698(As each character of the)5.698 F .113
+(search string is typed, readline displays the ne)108 312 R .112
 (xt entry from the history matching the string typed so f)-.15 F(ar)-.1
-E 5.113(.A)-.55 G(n)-5.113 E .542
-(incremental search requires only as man)108 276 R 3.042(yc)-.15 G .542
-(haracters as needed to \214nd the desired history entry)-3.042 F 5.541
-(.T)-.65 G .541(he char)-5.541 F(-)-.2 E .224(acters present in the v)
-108 288 R .224(alue of the)-.25 F F1(isear)2.724 E(ch-terminators)-.18 E
+E 5.112(.A)-.55 G(n)-5.112 E .542
+(incremental search requires only as man)108 324 R 3.042(yc)-.15 G .542
+(haracters as needed to \214nd the desired history entry)-3.042 F 5.542
+(.T)-.65 G .542(he char)-5.542 F(-)-.2 E .224(acters present in the v)
+108 336 R .224(alue of the)-.25 F F1(isear)2.724 E(ch-terminators)-.18 E
 F0 -.25(va)2.724 G .224
 (riable are used to terminate an incremental search.).25 F .66
-(If that v)108 300 R .66(ariable has not been assigned a v)-.25 F .66
+(If that v)108 348 R .66(ariable has not been assigned a v)-.25 F .66
 (alue the Escape and Control-J characters will terminate an incre-)-.25
-F .096(mental search.)108 312 R .096(Control-G will abort an incrementa\
-l search and restore the original line.)5.096 F .097(When the search is)
-5.097 F(terminated, the history entry containing the search string beco\
-mes the current line.)108 324 Q 2.939 -.8(To \214)108 340.8 T 1.339(nd \
+F .097(mental search.)108 360 R .096(Control-G will abort an incrementa\
+l search and restore the original line.)5.097 F .096(When the search is)
+5.096 F(terminated, the history entry containing the search string beco\
+mes the current line.)108 372 Q 2.938 -.8(To \214)108 388.8 T 1.339(nd \
 other matching entries in the history list, type Control-S or Control-R\
- as appropriate.).8 F 1.338(This will)6.338 F .674(search backw)108
-352.8 R .674(ard or forw)-.1 F .674(ard in the history for the ne)-.1 F
-.675(xt entry matching the search string typed so f)-.15 F(ar)-.1 E
-5.675(.A)-.55 G -.15(ny)-5.675 G .175(other k)108 364.8 R .475 -.15
+ as appropriate.).8 F 1.339(This will)6.339 F .675(search backw)108
+400.8 R .675(ard or forw)-.1 F .675(ard in the history for the ne)-.1 F
+.674(xt entry matching the search string typed so f)-.15 F(ar)-.1 E
+5.674(.A)-.55 G -.15(ny)-5.674 G .174(other k)108 412.8 R .474 -.15
 (ey s)-.1 H .174
 (equence bound to a readline command will terminate the search and e).15
-F -.15(xe)-.15 G .174(cute that command.).15 F -.15(Fo)5.174 G(r).15 E
-.54(instance, a)108 376.8 R F2(ne)3.04 E(wline)-.15 E F0 .541
-(will terminate the search and accept the line, thereby e)3.04 F -.15
-(xe)-.15 G .541(cuting the command from the).15 F(history list.)108
-388.8 Q .653(Readline remembers the last incremental search string.)108
-405.6 R .653(If tw)5.653 F 3.153(oC)-.1 G .653
-(ontrol-Rs are typed without an)-3.153 F 3.152(yi)-.15 G(nterv)-3.152 E
-(en-)-.15 E(ing characters de\214ning a ne)108 417.6 Q 2.5(ws)-.25 G
+F -.15(xe)-.15 G .175(cute that command.).15 F -.15(Fo)5.175 G(r).15 E
+.541(instance, a)108 424.8 R F2(ne)3.041 E(wline)-.15 E F0 .541
+(will terminate the search and accept the line, thereby e)3.041 F -.15
+(xe)-.15 G .54(cuting the command from the).15 F(history list.)108 436.8
+Q .653(Readline remembers the last incremental search string.)108 453.6
+R .653(If tw)5.653 F 3.153(oC)-.1 G .653(ontrol-Rs are typed without an)
+-3.153 F 3.153(yi)-.15 G(nterv)-3.153 E(en-)-.15 E
+(ing characters de\214ning a ne)108 465.6 Q 2.5(ws)-.25 G
 (earch string, an)-2.5 E 2.5(yr)-.15 G(emembered search string is used.)
 -2.5 E .567(Non-incremental searches read the entire search string befo\
-re starting to search for matching history lines.)108 434.4 R(The searc\
+re starting to search for matching history lines.)108 482.4 R(The searc\
 h string may be typed by the user or be part of the contents of the cur\
-rent line.)108 446.4 Q F1(Readline Command Names)87 463.2 Q F0 1.392
-(The follo)108 475.2 R 1.391
+rent line.)108 494.4 Q F1(Readline Command Names)87 511.2 Q F0 1.391
+(The follo)108 523.2 R 1.391
 (wing is a list of the names of the commands and the def)-.25 F 1.391
 (ault k)-.1 F 1.691 -.15(ey s)-.1 H 1.391(equences to which the).15 F
-3.891(ya)-.15 G(re)-3.891 E 2.621(bound. Command)108 487.2 R .121
-(names without an accompan)2.621 F .121(ying k)-.15 F .421 -.15(ey s)-.1
-H .122(equence are unbound by def).15 F 2.622(ault. In)-.1 F .122
-(the follo)2.622 F(wing)-.25 E(descriptions,)108 499.2 Q F2(point)3.411
-E F0 .911(refers to the current cursor position, and)3.411 F F2(mark)
-3.411 E F0 .91(refers to a cursor position sa)3.411 F -.15(ve)-.2 G 3.41
-(db).15 G 3.41(yt)-3.41 G(he)-3.41 E F1(set\255mark)108 511.2 Q F0 2.5
+3.892(ya)-.15 G(re)-3.892 E 2.622(bound. Command)108 535.2 R .122
+(names without an accompan)2.622 F .122(ying k)-.15 F .421 -.15(ey s)-.1
+H .121(equence are unbound by def).15 F 2.621(ault. In)-.1 F .121
+(the follo)2.621 F(wing)-.25 E(descriptions,)108 547.2 Q F2(point)3.41 E
+F0 .91(refers to the current cursor position, and)3.41 F F2(mark)3.411 E
+F0 .911(refers to a cursor position sa)3.411 F -.15(ve)-.2 G 3.411(db)
+.15 G 3.411(yt)-3.411 G(he)-3.411 E F1(set\255mark)108 559.2 Q F0 2.5
 (command. The)2.5 F(te)2.5 E
 (xt between the point and mark is referred to as the)-.15 E F2 -.37(re)
-2.5 G(gion)-.03 E F0(.)A F1(Commands f)87 528 Q(or Mo)-.25 E(ving)-.1 E
-(beginning\255of\255line \(C\255a\))108 540 Q F0(Mo)144 552 Q .3 -.15
+2.5 G(gion)-.03 E F0(.)A F1(Commands f)87 576 Q(or Mo)-.25 E(ving)-.1 E
+(beginning\255of\255line \(C\255a\))108 588 Q F0(Mo)144 600 Q .3 -.15
 (ve t)-.15 H 2.5(ot).15 G(he start of the current line.)-2.5 E F1
-(end\255of\255line \(C\255e\))108 564 Q F0(Mo)144 576 Q .3 -.15(ve t)
--.15 H 2.5(ot).15 G(he end of the line.)-2.5 E F1 -.25(fo)108 588 S
-(rward\255char \(C\255f\)).25 E F0(Mo)144 600 Q .3 -.15(ve f)-.15 H(orw)
+(end\255of\255line \(C\255e\))108 612 Q F0(Mo)144 624 Q .3 -.15(ve t)
+-.15 H 2.5(ot).15 G(he end of the line.)-2.5 E F1 -.25(fo)108 636 S
+(rward\255char \(C\255f\)).25 E F0(Mo)144 648 Q .3 -.15(ve f)-.15 H(orw)
 .15 E(ard a character)-.1 E(.)-.55 E F1(backward\255char \(C\255b\))108
-612 Q F0(Mo)144 624 Q .3 -.15(ve b)-.15 H(ack a character).15 E(.)-.55 E
-F1 -.25(fo)108 636 S(rward\255w).25 E(ord \(M\255f\))-.1 E F0(Mo)144 648
-Q .822 -.15(ve f)-.15 H(orw).15 E .522(ard to the end of the ne)-.1 F
-.523(xt w)-.15 F 3.023(ord. W)-.1 F .523
+660 Q F0(Mo)144 672 Q .3 -.15(ve b)-.15 H(ack a character).15 E(.)-.55 E
+F1 -.25(fo)108 684 S(rward\255w).25 E(ord \(M\255f\))-.1 E F0(Mo)144 696
+Q .823 -.15(ve f)-.15 H(orw).15 E .523(ard to the end of the ne)-.1 F
+.523(xt w)-.15 F 3.023(ord. W)-.1 F .522
 (ords are composed of alphanumeric characters \(let-)-.8 F
-(ters and digits\).)144 660 Q F1(backward\255w)108 672 Q(ord \(M\255b\))
--.1 E F0(Mo)144 684 Q 1.71 -.15(ve b)-.15 H 1.41
-(ack to the start of the current or pre).15 F 1.41(vious w)-.25 F 3.91
-(ord. W)-.1 F 1.41(ords are composed of alphanumeric)-.8 F
-(characters \(letters and digits\).)144 696 Q(GNU Bash-3.1-de)72 768 Q
--.15(ve)-.25 G 123.59(l2).15 G(005 Mar 15)-123.59 E(35)198.17 E 0 Cg EP
+(ters and digits\).)144 708 Q(GNU Bash-3.1-beta1)72 768 Q(2005 Aug 27)
+122.91 E(35)197.89 E 0 Cg EP
 %%Page: 36 37
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E/F1 10/Times-Bold@0 SF(clear\255scr)108 84 Q(een \(C\255l\))-.18 E
-F0 .993(Clear the screen lea)144 96 R .993
+-.35 E/F1 10/Times-Bold@0 SF(backward\255w)108 84 Q(ord \(M\255b\))-.1 E
+F0(Mo)144 96 Q 1.71 -.15(ve b)-.15 H 1.41
+(ack to the start of the current or pre).15 F 1.41(vious w)-.25 F 3.91
+(ord. W)-.1 F 1.41(ords are composed of alphanumeric)-.8 F
+(characters \(letters and digits\).)144 108 Q F1(clear\255scr)108 120 Q
+(een \(C\255l\))-.18 E F0 .993(Clear the screen lea)144 132 R .993
 (ving the current line at the top of the screen.)-.2 F -.4(Wi)5.993 G
 .993(th an ar).4 F .993(gument, refresh the)-.18 F
-(current line without clearing the screen.)144 108 Q F1 -.18(re)108 120
+(current line without clearing the screen.)144 144 Q F1 -.18(re)108 156
 S(draw\255curr).18 E(ent\255line)-.18 E F0(Refresh the current line.)144
-132 Q F1(Commands f)87 148.8 Q(or Manipulating the History)-.25 E
-(accept\255line \(Newline, Retur)108 160.8 Q(n\))-.15 E F0 .159
-(Accept the line re)144 172.8 R -.05(ga)-.15 G .159
+168 Q F1(Commands f)87 184.8 Q(or Manipulating the History)-.25 E
+(accept\255line \(Newline, Retur)108 196.8 Q(n\))-.15 E F0 .158
+(Accept the line re)144 208.8 R -.05(ga)-.15 G .158
 (rdless of where the cursor is.).05 F .158(If this line is non-empty)
-5.158 F 2.658(,a)-.65 G .158(dd it to the history list)-2.658 F .699
-(according to the state of the)144 184.8 R/F2 9/Times-Bold@0 SF
+5.158 F 2.659(,a)-.65 G .159(dd it to the history list)-2.659 F .699
+(according to the state of the)144 220.8 R/F2 9/Times-Bold@0 SF
 (HISTCONTR)3.199 E(OL)-.27 E F0 -.25(va)2.949 G 3.199(riable. If).25 F
 .699(the line is a modi\214ed history line, then)3.199 F
-(restore the history line to its original state.)144 196.8 Q F1(pr)108
-208.8 Q -.15(ev)-.18 G(ious\255history \(C\255p\)).15 E F0
-(Fetch the pre)144 220.8 Q(vious command from the history list, mo)-.25
-E(ving back in the list.)-.15 E F1(next\255history \(C\255n\))108 232.8
-Q F0(Fetch the ne)144 244.8 Q(xt command from the history list, mo)-.15
+(restore the history line to its original state.)144 232.8 Q F1(pr)108
+244.8 Q -.15(ev)-.18 G(ious\255history \(C\255p\)).15 E F0
+(Fetch the pre)144 256.8 Q(vious command from the history list, mo)-.25
+E(ving back in the list.)-.15 E F1(next\255history \(C\255n\))108 268.8
+Q F0(Fetch the ne)144 280.8 Q(xt command from the history list, mo)-.15
 E(ving forw)-.15 E(ard in the list.)-.1 E F1
-(beginning\255of\255history \(M\255<\))108 256.8 Q F0(Mo)144 268.8 Q .3
+(beginning\255of\255history \(M\255<\))108 292.8 Q F0(Mo)144 304.8 Q .3
 -.15(ve t)-.15 H 2.5(ot).15 G(he \214rst line in the history)-2.5 E(.)
--.65 E F1(end\255of\255history \(M\255>\))108 280.8 Q F0(Mo)144 292.8 Q
+-.65 E F1(end\255of\255history \(M\255>\))108 316.8 Q F0(Mo)144 328.8 Q
 .3 -.15(ve t)-.15 H 2.5(ot).15 G(he end of the input history)-2.5 E 2.5
 (,i)-.65 G(.e., the line currently being entered.)-2.5 E F1 -2.29 -.18
-(re v)108 304.8 T(erse\255sear).08 E(ch\255history \(C\255r\))-.18 E F0
-1.471(Search backw)144 316.8 R 1.471
-(ard starting at the current line and mo)-.1 F 1.47
+(re v)108 340.8 T(erse\255sear).08 E(ch\255history \(C\255r\))-.18 E F0
+1.47(Search backw)144 352.8 R 1.471
+(ard starting at the current line and mo)-.1 F 1.471
 (ving `up' through the history as necessary)-.15 F(.)-.65 E
-(This is an incremental search.)144 328.8 Q F1 -.25(fo)108 340.8 S
-(rward\255sear).25 E(ch\255history \(C\255s\))-.18 E F0 1.131
-(Search forw)144 352.8 R 1.131(ard starting at the current line and mo)
--.1 F 1.132(ving `do)-.15 F 1.132(wn' through the history as necessary)
--.25 F(.)-.65 E(This is an incremental search.)144 364.8 Q F1
-(non\255incr)108 376.8 Q(emental\255r)-.18 E -2.3 -.15(ev e)-.18 H
-(rse\255sear).15 E(ch\255history \(M\255p\))-.18 E F0 .165(Search backw)
-144 388.8 R .164(ard through the history starting at the current line u\
-sing a non-incremental search for)-.1 F 2.5(as)144 400.8 S
-(tring supplied by the user)-2.5 E(.)-.55 E F1(non\255incr)108 412.8 Q
+(This is an incremental search.)144 364.8 Q F1 -.25(fo)108 376.8 S
+(rward\255sear).25 E(ch\255history \(C\255s\))-.18 E F0 1.132
+(Search forw)144 388.8 R 1.132(ard starting at the current line and mo)
+-.1 F 1.131(ving `do)-.15 F 1.131(wn' through the history as necessary)
+-.25 F(.)-.65 E(This is an incremental search.)144 400.8 Q F1
+(non\255incr)108 412.8 Q(emental\255r)-.18 E -2.3 -.15(ev e)-.18 H
+(rse\255sear).15 E(ch\255history \(M\255p\))-.18 E F0 .164(Search backw)
+144 424.8 R .164(ard through the history starting at the current line u\
+sing a non-incremental search for)-.1 F 2.5(as)144 436.8 S
+(tring supplied by the user)-2.5 E(.)-.55 E F1(non\255incr)108 448.8 Q
 (emental\255f)-.18 E(orward\255sear)-.25 E(ch\255history \(M\255n\))-.18
-E F0 1.353(Search forw)144 424.8 R 1.354(ard through the history using \
+E F0 1.354(Search forw)144 460.8 R 1.354(ard through the history using \
 a non-incremental search for a string supplied by the)-.1 F(user)144
-436.8 Q(.)-.55 E F1(history\255sear)108 448.8 Q(ch\255f)-.18 E(orward)
--.25 E F0 .249(Search forw)144 460.8 R .249(ard through the history for\
+472.8 Q(.)-.55 E F1(history\255sear)108 484.8 Q(ch\255f)-.18 E(orward)
+-.25 E F0 .248(Search forw)144 496.8 R .249(ard through the history for\
  the string of characters between the start of the current line)-.1 F
-(and the point.)144 472.8 Q(This is a non-incremental search.)5 E F1
-(history\255sear)108 484.8 Q(ch\255backward)-.18 E F0 .95(Search backw)
-144 496.8 R .951(ard through the history for the string of characters b\
-etween the start of the current)-.1 F(line and the point.)144 508.8 Q
-(This is a non-incremental search.)5 E F1(yank\255nth\255ar)108 520.8 Q
+(and the point.)144 508.8 Q(This is a non-incremental search.)5 E F1
+(history\255sear)108 520.8 Q(ch\255backward)-.18 E F0 .951(Search backw)
+144 532.8 R .951(ard through the history for the string of characters b\
+etween the start of the current)-.1 F(line and the point.)144 544.8 Q
+(This is a non-incremental search.)5 E F1(yank\255nth\255ar)108 556.8 Q
 2.5(g\()-.1 G<4dad43ad7929>-2.5 E F0 .622(Insert the \214rst ar)144
-532.8 R .622(gument to the pre)-.18 F .622
+568.8 R .622(gument to the pre)-.18 F .622
 (vious command \(usually the second w)-.25 F .622(ord on the pre)-.1 F
-.622(vious line\))-.25 F .794(at point.)144 544.8 R -.4(Wi)5.794 G .794
+.622(vious line\))-.25 F .795(at point.)144 580.8 R -.4(Wi)5.795 G .794
 (th an ar).4 F(gument)-.18 E/F3 10/Times-Italic@0 SF(n)3.294 E F0 3.294
 (,i).24 G .794(nsert the)-3.294 F F3(n)3.294 E F0 .794(th w)B .794
-(ord from the pre)-.1 F .794(vious command \(the w)-.25 F .795
-(ords in the)-.1 F(pre)144 556.8 Q .292(vious command be)-.25 F .292
+(ord from the pre)-.1 F .794(vious command \(the w)-.25 F .794
+(ords in the)-.1 F(pre)144 592.8 Q .291(vious command be)-.25 F .291
 (gin with w)-.15 F .291(ord 0\).)-.1 F 2.791(An)5.291 G -2.25 -.15(eg a)
 -2.791 H(ti).15 E .591 -.15(ve a)-.25 H -.18(rg).15 G .291
-(ument inserts the).18 F F3(n)2.791 E F0 .291(th w)B .291
-(ord from the end of)-.1 F .281(the pre)144 568.8 R .281(vious command.)
--.25 F .281(Once the ar)5.281 F(gument)-.18 E F3(n)2.781 E F0 .281
-(is computed, the ar)2.781 F .281(gument is e)-.18 F .282
-(xtracted as if the "!)-.15 F F3(n)A F0(")A(history e)144 580.8 Q
-(xpansion had been speci\214ed.)-.15 E F1(yank\255last\255ar)108 592.8 Q
-2.5(g\()-.1 G -1.667(M\255. ,)-2.5 F -1.667(M\255_ \))2.5 F F0 1.308
-(Insert the last ar)144 604.8 R 1.308(gument to the pre)-.18 F 1.307
-(vious command \(the last w)-.25 F 1.307(ord of the pre)-.1 F 1.307
-(vious history entry\).)-.25 F -.4(Wi)144 616.8 S .735(th an ar).4 F
-.735(gument, beha)-.18 F 1.035 -.15(ve ex)-.2 H .735(actly lik).15 F(e)
--.1 E F1(yank\255nth\255ar)3.235 E(g)-.1 E F0 5.736(.S)C(uccessi)-5.736
-E 1.036 -.15(ve c)-.25 H .736(alls to).15 F F1(yank\255last\255ar)3.236
-E(g)-.1 E F0(mo)3.236 E -.15(ve)-.15 G .728
-(back through the history list, inserting the last ar)144 628.8 R .728
-(gument of each line in turn.)-.18 F .728(The history e)5.728 F(xpan-)
--.15 E .14(sion f)144 640.8 R .14(acilities are used to e)-.1 F .14
+(ument inserts the).18 F F3(n)2.791 E F0 .291(th w)B .292
+(ord from the end of)-.1 F .282(the pre)144 604.8 R .282(vious command.)
+-.25 F .282(Once the ar)5.282 F(gument)-.18 E F3(n)2.781 E F0 .281
+(is computed, the ar)2.781 F .281(gument is e)-.18 F .281
+(xtracted as if the "!)-.15 F F3(n)A F0(")A(history e)144 616.8 Q
+(xpansion had been speci\214ed.)-.15 E F1(yank\255last\255ar)108 628.8 Q
+2.5(g\()-.1 G -1.667(M\255. ,)-2.5 F -1.667(M\255_ \))2.5 F F0 1.307
+(Insert the last ar)144 640.8 R 1.307(gument to the pre)-.18 F 1.307
+(vious command \(the last w)-.25 F 1.308(ord of the pre)-.1 F 1.308
+(vious history entry\).)-.25 F -.4(Wi)144 652.8 S .736(th an ar).4 F
+.736(gument, beha)-.18 F 1.036 -.15(ve ex)-.2 H .736(actly lik).15 F(e)
+-.1 E F1(yank\255nth\255ar)3.235 E(g)-.1 E F0 5.735(.S)C(uccessi)-5.735
+E 1.035 -.15(ve c)-.25 H .735(alls to).15 F F1(yank\255last\255ar)3.235
+E(g)-.1 E F0(mo)3.235 E -.15(ve)-.15 G .728
+(back through the history list, inserting the last ar)144 664.8 R .728
+(gument of each line in turn.)-.18 F .729(The history e)5.728 F(xpan-)
+-.15 E .14(sion f)144 676.8 R .14(acilities are used to e)-.1 F .14
 (xtract the last ar)-.15 F .14(gument, as if the "!$" history e)-.18 F
-.14(xpansion had been speci-)-.15 F(\214ed.)144 652.8 Q F1
-(shell\255expand\255line \(M\255C\255e\))108 664.8 Q F0 .623
-(Expand the line as the shell does.)144 676.8 R .622
-(This performs alias and history e)5.622 F .622
-(xpansion as well as all of the)-.15 F(shell w)144 688.8 Q(ord e)-.1 E
+.14(xpansion had been speci-)-.15 F(\214ed.)144 688.8 Q F1
+(shell\255expand\255line \(M\255C\255e\))108 700.8 Q F0 .622
+(Expand the line as the shell does.)144 712.8 R .622
+(This performs alias and history e)5.622 F .623
+(xpansion as well as all of the)-.15 F(shell w)144 724.8 Q(ord e)-.1 E
 2.5(xpansions. See)-.15 F F2(HIST)2.5 E(OR)-.162 E 2.25(YE)-.315 G(XP)
 -2.25 E(ANSION)-.666 E F0(belo)2.25 E 2.5(wf)-.25 G
-(or a description of history e)-2.5 E(xpansion.)-.15 E F1
-(history\255expand\255line \(M\255^\))108 700.8 Q F0 .938
-(Perform history e)144 712.8 R .939(xpansion on the current line.)-.15 F
-(See)5.939 E F2(HIST)3.439 E(OR)-.162 E 3.189(YE)-.315 G(XP)-3.189 E
-(ANSION)-.666 E F0(belo)3.189 E 3.439(wf)-.25 G .939(or a descrip-)
--3.439 F(tion of history e)144 724.8 Q(xpansion.)-.15 E(GNU Bash-3.1-de)
-72 768 Q -.15(ve)-.25 G 123.59(l2).15 G(005 Mar 15)-123.59 E(36)198.17 E
-0 Cg EP
+(or a description of history e)-2.5 E(xpansion.)-.15 E
+(GNU Bash-3.1-beta1)72 768 Q(2005 Aug 27)122.91 E(36)197.89 E 0 Cg EP
 %%Page: 37 38
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E/F1 10/Times-Bold@0 SF(magic\255space)108 84 Q F0 1.627
-(Perform history e)144 96 R 1.627
-(xpansion on the current line and insert a space.)-.15 F(See)6.626 E/F2
-9/Times-Bold@0 SF(HIST)4.126 E(OR)-.162 E 3.876(YE)-.315 G(XP)-3.876 E
-(ANSION)-.666 E F0(belo)144 108 Q 2.5(wf)-.25 G
-(or a description of history e)-2.5 E(xpansion.)-.15 E F1
-(alias\255expand\255line)108 120 Q F0 .394(Perform alias e)144 132 R
-.394(xpansion on the current line.)-.15 F(See)5.395 E F2(ALIASES)2.895 E
-F0(abo)2.645 E .695 -.15(ve f)-.15 H .395(or a description of alias e)
-.15 F(xpan-)-.15 E(sion.)144 144 Q F1
-(history\255and\255alias\255expand\255line)108 156 Q F0
-(Perform history and alias e)144 168 Q(xpansion on the current line.)
--.15 E F1(insert\255last\255ar)108 180 Q(gument \(M\255.)-.1 E 2.5(,M)
-.833 G -1.667(\255_ \))-2.5 F F0 2.5(As)144 192 S(ynon)-2.5 E(ym for)
+-.35 E/F1 10/Times-Bold@0 SF(history\255expand\255line \(M\255^\))108 84
+Q F0 .939(Perform history e)144 96 R .939(xpansion on the current line.)
+-.15 F(See)5.939 E/F2 9/Times-Bold@0 SF(HIST)3.439 E(OR)-.162 E 3.189
+(YE)-.315 G(XP)-3.189 E(ANSION)-.666 E F0(belo)3.189 E 3.438(wf)-.25 G
+.938(or a descrip-)-3.438 F(tion of history e)144 108 Q(xpansion.)-.15 E
+F1(magic\255space)108 120 Q F0 1.626(Perform history e)144 132 R 1.626
+(xpansion on the current line and insert a space.)-.15 F(See)6.627 E F2
+(HIST)4.127 E(OR)-.162 E 3.877(YE)-.315 G(XP)-3.877 E(ANSION)-.666 E F0
+(belo)144 144 Q 2.5(wf)-.25 G(or a description of history e)-2.5 E
+(xpansion.)-.15 E F1(alias\255expand\255line)108 156 Q F0 .395
+(Perform alias e)144 168 R .395(xpansion on the current line.)-.15 F
+(See)5.395 E F2(ALIASES)2.895 E F0(abo)2.645 E .694 -.15(ve f)-.15 H
+.394(or a description of alias e).15 F(xpan-)-.15 E(sion.)144 180 Q F1
+(history\255and\255alias\255expand\255line)108 192 Q F0
+(Perform history and alias e)144 204 Q(xpansion on the current line.)
+-.15 E F1(insert\255last\255ar)108 216 Q(gument \(M\255.)-.1 E 2.5(,M)
+.833 G -1.667(\255_ \))-2.5 F F0 2.5(As)144 228 S(ynon)-2.5 E(ym for)
 -.15 E F1(yank\255last\255ar)2.5 E(g)-.1 E F0(.)A F1
-(operate\255and\255get\255next \(C\255o\))108 204 Q F0 .948
-(Accept the current line for e)144 216 R -.15(xe)-.15 G .948
-(cution and fetch the ne).15 F .948(xt line relati)-.15 F 1.247 -.15
-(ve t)-.25 H 3.447(ot).15 G .947(he current line from the)-3.447 F
-(history for editing.)144 228 Q(An)5 E 2.5(ya)-.15 G -.18(rg)-2.5 G
+(operate\255and\255get\255next \(C\255o\))108 240 Q F0 .947
+(Accept the current line for e)144 252 R -.15(xe)-.15 G .948
+(cution and fetch the ne).15 F .948(xt line relati)-.15 F 1.248 -.15
+(ve t)-.25 H 3.448(ot).15 G .948(he current line from the)-3.448 F
+(history for editing.)144 264 Q(An)5 E 2.5(ya)-.15 G -.18(rg)-2.5 G
 (ument is ignored.).18 E F1
-(edit\255and\255execute\255command \(C\255xC\255e\))108 240 Q F0(In)144
-252 Q -.2(vo)-.4 G 1.226 -.1(ke a).2 H 3.526(ne).1 G 1.026
+(edit\255and\255execute\255command \(C\255xC\255e\))108 276 Q F0(In)144
+288 Q -.2(vo)-.4 G 1.226 -.1(ke a).2 H 3.526(ne).1 G 1.026
 (ditor on the current command line, and e)-3.526 F -.15(xe)-.15 G 1.026
 (cute the result as shell commands.).15 F F1(Bash)6.026 E F0
-(attempts to in)144 264 Q -.2(vo)-.4 G -.1(ke).2 G F2($FCEDIT)2.6 E/F3 9
+(attempts to in)144 300 Q -.2(vo)-.4 G -.1(ke).2 G F2($FCEDIT)2.6 E/F3 9
 /Times-Roman@0 SF(,)A F2($EDIT)2.25 E(OR)-.162 E F3(,)A F0(and)2.25 E/F4
 10/Times-Italic@0 SF(emacs)2.5 E F0(as the editor)2.5 E 2.5(,i)-.4 G 2.5
-(nt)-2.5 G(hat order)-2.5 E(.)-.55 E F1(Commands f)87 280.8 Q
-(or Changing T)-.25 E(ext)-.92 E(delete\255char \(C\255d\))108 292.8 Q
-F0 .358(Delete the character at point.)144 304.8 R .358
+(nt)-2.5 G(hat order)-2.5 E(.)-.55 E F1(Commands f)87 316.8 Q
+(or Changing T)-.25 E(ext)-.92 E(delete\255char \(C\255d\))108 328.8 Q
+F0 .357(Delete the character at point.)144 340.8 R .358
 (If point is at the be)5.358 F .358
 (ginning of the line, there are no characters in the)-.15 F
-(line, and the last character typed w)144 316.8 Q(as not bound to)-.1 E
+(line, and the last character typed w)144 352.8 Q(as not bound to)-.1 E
 F1(delete\255char)2.5 E F0 2.5(,t)C(hen return)-2.5 E F2(EOF)2.5 E F3(.)
-A F1(backward\255delete\255char \(Rubout\))108 328.8 Q F0 .552
-(Delete the character behind the cursor)144 340.8 R 5.553(.W)-.55 G .553
+A F1(backward\255delete\255char \(Rubout\))108 364.8 Q F0 .553
+(Delete the character behind the cursor)144 376.8 R 5.553(.W)-.55 G .553
 (hen gi)-5.553 F -.15(ve)-.25 G 3.053(nan).15 G .553(umeric ar)-3.053 F
-.553(gument, sa)-.18 F .853 -.15(ve t)-.2 H .553(he deleted te).15 F
-.553(xt on)-.15 F(the kill ring.)144 352.8 Q F1 -.25(fo)108 364.8 S
-(rward\255backward\255delete\255char).25 E F0 .474
-(Delete the character under the cursor)144 376.8 R 2.974(,u)-.4 G .474
-(nless the cursor is at the end of the line, in which case the)-2.974 F
-(character behind the cursor is deleted.)144 388.8 Q F1
-(quoted\255insert \(C\255q, C\255v\))108 400.8 Q F0 .778(Add the ne)144
-412.8 R .779(xt character typed to the line v)-.15 F 3.279
+.552(gument, sa)-.18 F .852 -.15(ve t)-.2 H .552(he deleted te).15 F
+.552(xt on)-.15 F(the kill ring.)144 388.8 Q F1 -.25(fo)108 400.8 S
+(rward\255backward\255delete\255char).25 E F0 .473
+(Delete the character under the cursor)144 412.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 424.8 Q F1
+(quoted\255insert \(C\255q, C\255v\))108 436.8 Q F0 .779(Add the ne)144
+448.8 R .779(xt character typed to the line v)-.15 F 3.279
 (erbatim. This)-.15 F .779(is ho)3.279 F 3.279(wt)-.25 G 3.279(oi)-3.279
-G .779(nsert characters lik)-3.279 F(e)-.1 E F1(C\255q)3.279 E F0 3.279
-(,f)C(or)-3.279 E -.15(ex)144 424.8 S(ample.).15 E F1
-(tab\255insert \(C\255v T)108 436.8 Q(AB\))-.9 E F0
-(Insert a tab character)144 448.8 Q(.)-.55 E F1
-(self\255insert \(a, b, A, 1, !, ...\))108 460.8 Q F0
-(Insert the character typed.)144 472.8 Q F1
-(transpose\255chars \(C\255t\))108 484.8 Q F0 .322
-(Drag the character before point forw)144 496.8 R .321(ard o)-.1 F -.15
-(ve)-.15 G 2.821(rt).15 G .321(he character at point, mo)-2.821 F .321
-(ving point forw)-.15 F .321(ard as well.)-.1 F 1.182
+G .779(nsert characters lik)-3.279 F(e)-.1 E F1(C\255q)3.278 E F0 3.278
+(,f)C(or)-3.278 E -.15(ex)144 460.8 S(ample.).15 E F1
+(tab\255insert \(C\255v T)108 472.8 Q(AB\))-.9 E F0
+(Insert a tab character)144 484.8 Q(.)-.55 E F1
+(self\255insert \(a, b, A, 1, !, ...\))108 496.8 Q F0
+(Insert the character typed.)144 508.8 Q F1
+(transpose\255chars \(C\255t\))108 520.8 Q F0 .321
+(Drag the character before point forw)144 532.8 R .321(ard o)-.1 F -.15
+(ve)-.15 G 2.821(rt).15 G .321(he character at point, mo)-2.821 F .322
+(ving point forw)-.15 F .322(ard as well.)-.1 F 1.182
 (If point is at the end of the line, then this transposes the tw)144
-508.8 R 3.683(oc)-.1 G 1.183(haracters before point.)-3.683 F(Ne)6.183 E
--.05(ga)-.15 G(ti).05 E -.15(ve)-.25 G(ar)144 520.8 Q(guments ha)-.18 E
+544.8 R 3.682(oc)-.1 G 1.182(haracters before point.)-3.682 F(Ne)6.182 E
+-.05(ga)-.15 G(ti).05 E -.15(ve)-.25 G(ar)144 556.8 Q(guments ha)-.18 E
 .3 -.15(ve n)-.2 H 2.5(oe).15 G -.25(ff)-2.5 G(ect.).25 E F1
-(transpose\255w)108 532.8 Q(ords \(M\255t\))-.1 E F0 .024(Drag the w)144
-544.8 R .024(ord before point past the w)-.1 F .023(ord after point, mo)
--.1 F .023(ving point o)-.15 F -.15(ve)-.15 G 2.523(rt).15 G .023(hat w)
--2.523 F .023(ord as well.)-.1 F .023(If point)5.023 F
-(is at the end of the line, this transposes the last tw)144 556.8 Q 2.5
-(ow)-.1 G(ords on the line.)-2.6 E F1(upcase\255w)108 568.8 Q
-(ord \(M\255u\))-.1 E F0 1.698(Uppercase the current \(or follo)144
-580.8 R 1.698(wing\) w)-.25 F 4.198(ord. W)-.1 F 1.698(ith a ne)-.4 F
--.05(ga)-.15 G(ti).05 E 1.999 -.15(ve a)-.25 H -.18(rg).15 G 1.699
-(ument, uppercase the pre).18 F(vious)-.25 E -.1(wo)144 592.8 S(rd, b).1
-E(ut do not mo)-.2 E .3 -.15(ve p)-.15 H(oint.).15 E F1(do)108 604.8 Q
-(wncase\255w)-.1 E(ord \(M\255l\))-.1 E F0(Lo)144 616.8 Q 1.648
-(wercase the current \(or follo)-.25 F 1.648(wing\) w)-.25 F 4.148
-(ord. W)-.1 F 1.647(ith a ne)-.4 F -.05(ga)-.15 G(ti).05 E 1.947 -.15
-(ve a)-.25 H -.18(rg).15 G 1.647(ument, lo).18 F 1.647(wercase the pre)
--.25 F(vious)-.25 E -.1(wo)144 628.8 S(rd, b).1 E(ut do not mo)-.2 E .3
--.15(ve p)-.15 H(oint.).15 E F1(capitalize\255w)108 640.8 Q
-(ord \(M\255c\))-.1 E F0 1.974(Capitalize the current \(or follo)144
-652.8 R 1.974(wing\) w)-.25 F 4.474(ord. W)-.1 F 1.974(ith a ne)-.4 F
--.05(ga)-.15 G(ti).05 E 2.274 -.15(ve a)-.25 H -.18(rg).15 G 1.975
-(ument, capitalize the pre).18 F(vious)-.25 E -.1(wo)144 664.8 S(rd, b)
-.1 E(ut do not mo)-.2 E .3 -.15(ve p)-.15 H(oint.).15 E F1 -.1(ove)108
-676.8 S(rwrite\255mode).1 E F0 -.8(To)144 688.8 S .438(ggle o).8 F -.15
-(ve)-.15 G .438(rwrite mode.).15 F -.4(Wi)5.438 G .438(th an e).4 F .438
-(xplicit positi)-.15 F .737 -.15(ve n)-.25 H .437(umeric ar).15 F .437
-(gument, switches to o)-.18 F -.15(ve)-.15 G .437(rwrite mode.).15 F -.4
-(Wi)144 700.8 S .78(th an e).4 F .781(xplicit non-positi)-.15 F 1.081
--.15(ve n)-.25 H .781(umeric ar).15 F .781
-(gument, switches to insert mode.)-.18 F .781(This command af)5.781 F
-(fects)-.25 E(only)144 712.8 Q F1(emacs)4.395 E F0(mode;)4.395 E F1(vi)
-4.395 E F0 1.894(mode does o)4.395 F -.15(ve)-.15 G 1.894(rwrite dif).15
-F(ferently)-.25 E 6.894(.E)-.65 G 1.894(ach call to)-6.894 F F4 -.37(re)
-4.394 G(adline\(\)).37 E F0 1.894(starts in insert)4.394 F 3.968
-(mode. In)144 724.8 R -.15(ove)3.968 G 1.468
-(rwrite mode, characters bound to).15 F F1(self\255insert)3.969 E F0
-1.469(replace the te)3.969 F 1.469(xt at point rather than)-.15 F
-(GNU Bash-3.1-de)72 768 Q -.15(ve)-.25 G 123.59(l2).15 G(005 Mar 15)
--123.59 E(37)198.17 E 0 Cg EP
+(transpose\255w)108 568.8 Q(ords \(M\255t\))-.1 E F0 .023(Drag the w)144
+580.8 R .023(ord before point past the w)-.1 F .023(ord after point, mo)
+-.1 F .023(ving point o)-.15 F -.15(ve)-.15 G 2.524(rt).15 G .024(hat w)
+-2.524 F .024(ord as well.)-.1 F .024(If point)5.024 F
+(is at the end of the line, this transposes the last tw)144 592.8 Q 2.5
+(ow)-.1 G(ords on the line.)-2.6 E F1(upcase\255w)108 604.8 Q
+(ord \(M\255u\))-.1 E F0 1.699(Uppercase the current \(or follo)144
+616.8 R 1.698(wing\) w)-.25 F 4.198(ord. W)-.1 F 1.698(ith a ne)-.4 F
+-.05(ga)-.15 G(ti).05 E 1.998 -.15(ve a)-.25 H -.18(rg).15 G 1.698
+(ument, uppercase the pre).18 F(vious)-.25 E -.1(wo)144 628.8 S(rd, b).1
+E(ut do not mo)-.2 E .3 -.15(ve p)-.15 H(oint.).15 E F1(do)108 640.8 Q
+(wncase\255w)-.1 E(ord \(M\255l\))-.1 E F0(Lo)144 652.8 Q 1.647
+(wercase the current \(or follo)-.25 F 1.647(wing\) w)-.25 F 4.147
+(ord. W)-.1 F 1.648(ith a ne)-.4 F -.05(ga)-.15 G(ti).05 E 1.948 -.15
+(ve a)-.25 H -.18(rg).15 G 1.648(ument, lo).18 F 1.648(wercase the pre)
+-.25 F(vious)-.25 E -.1(wo)144 664.8 S(rd, b).1 E(ut do not mo)-.2 E .3
+-.15(ve p)-.15 H(oint.).15 E F1(capitalize\255w)108 676.8 Q
+(ord \(M\255c\))-.1 E F0 1.975(Capitalize the current \(or follo)144
+688.8 R 1.974(wing\) w)-.25 F 4.474(ord. W)-.1 F 1.974(ith a ne)-.4 F
+-.05(ga)-.15 G(ti).05 E 2.274 -.15(ve a)-.25 H -.18(rg).15 G 1.974
+(ument, capitalize the pre).18 F(vious)-.25 E -.1(wo)144 700.8 S(rd, b)
+.1 E(ut do not mo)-.2 E .3 -.15(ve p)-.15 H(oint.).15 E
+(GNU Bash-3.1-beta1)72 768 Q(2005 Aug 27)122.91 E(37)197.89 E 0 Cg EP
 %%Page: 38 39
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E .958(pushing the te)144 84 R .958(xt to the right.)-.15 F .957
-(Characters bound to)5.958 F/F1 10/Times-Bold@0 SF
-(backward\255delete\255char)3.457 E F0 .957(replace the character)3.457
-F(before point with a space.)144 96 Q(By def)5 E
-(ault, this command is unbound.)-.1 E F1(Killing and Y)87 112.8 Q
-(anking)-.85 E(kill\255line \(C\255k\))108 124.8 Q F0(Kill the te)144
-136.8 Q(xt from point to the end of the line.)-.15 E F1
-(backward\255kill\255line \(C\255x Rubout\))108 148.8 Q F0(Kill backw)
-144 160.8 Q(ard to the be)-.1 E(ginning of the line.)-.15 E F1
-(unix\255line\255discard \(C\255u\))108 172.8 Q F0(Kill backw)144 184.8
+-.35 E/F1 10/Times-Bold@0 SF -.1(ove)108 84 S(rwrite\255mode).1 E F0 -.8
+(To)144 96 S .437(ggle o).8 F -.15(ve)-.15 G .437(rwrite mode.).15 F -.4
+(Wi)5.437 G .437(th an e).4 F .437(xplicit positi)-.15 F .738 -.15(ve n)
+-.25 H .438(umeric ar).15 F .438(gument, switches to o)-.18 F -.15(ve)
+-.15 G .438(rwrite mode.).15 F -.4(Wi)144 108 S .781(th an e).4 F .781
+(xplicit non-positi)-.15 F 1.081 -.15(ve n)-.25 H .781(umeric ar).15 F
+.781(gument, switches to insert mode.)-.18 F .78(This command af)5.781 F
+(fects)-.25 E(only)144 120 Q F1(emacs)4.394 E F0(mode;)4.394 E F1(vi)
+4.394 E F0 1.894(mode does o)4.394 F -.15(ve)-.15 G 1.894(rwrite dif).15
+F(ferently)-.25 E 6.894(.E)-.65 G 1.894(ach call to)-6.894 F/F2 10
+/Times-Italic@0 SF -.37(re)4.395 G(adline\(\)).37 E F0 1.895
+(starts in insert)4.395 F 3.969(mode. In)144 132 R -.15(ove)3.969 G
+1.469(rwrite mode, characters bound to).15 F F1(self\255insert)3.969 E
+F0 1.468(replace the te)3.969 F 1.468(xt at point rather than)-.15 F
+.957(pushing the te)144 144 R .957(xt to the right.)-.15 F .958
+(Characters bound to)5.957 F F1(backward\255delete\255char)3.458 E F0
+.958(replace the character)3.458 F(before point with a space.)144 156 Q
+(By def)5 E(ault, this command is unbound.)-.1 E F1(Killing and Y)87
+172.8 Q(anking)-.85 E(kill\255line \(C\255k\))108 184.8 Q F0
+(Kill the te)144 196.8 Q(xt from point to the end of the line.)-.15 E F1
+(backward\255kill\255line \(C\255x Rubout\))108 208.8 Q F0(Kill backw)
+144 220.8 Q(ard to the be)-.1 E(ginning of the line.)-.15 E F1
+(unix\255line\255discard \(C\255u\))108 232.8 Q F0(Kill backw)144 244.8
 Q(ard from point to the be)-.1 E(ginning of the line.)-.15 E
 (The killed te)5 E(xt is sa)-.15 E -.15(ve)-.2 G 2.5(do).15 G 2.5(nt)
--2.5 G(he kill-ring.)-2.5 E F1(kill\255whole\255line)108 196.8 Q F0
+-2.5 G(he kill-ring.)-2.5 E F1(kill\255whole\255line)108 256.8 Q F0
 (Kill all characters on the current line, no matter where point is.)144
-208.8 Q F1(kill\255w)108 220.8 Q(ord \(M\255d\))-.1 E F0 .728
-(Kill from point to the end of the current w)144 232.8 R .729
-(ord, or if between w)-.1 F .729(ords, to the end of the ne)-.1 F .729
-(xt w)-.15 F(ord.)-.1 E -.8(Wo)144 244.8 S
+268.8 Q F1(kill\255w)108 280.8 Q(ord \(M\255d\))-.1 E F0 .729
+(Kill from point to the end of the current w)144 292.8 R .728
+(ord, or if between w)-.1 F .728(ords, to the end of the ne)-.1 F .728
+(xt w)-.15 F(ord.)-.1 E -.8(Wo)144 304.8 S
 (rd boundaries are the same as those used by).8 E F1 -.25(fo)2.5 G
-(rward\255w).25 E(ord)-.1 E F0(.)A F1(backward\255kill\255w)108 256.8 Q
-(ord \(M\255Rubout\))-.1 E F0(Kill the w)144 268.8 Q(ord behind point.)
+(rward\255w).25 E(ord)-.1 E F0(.)A F1(backward\255kill\255w)108 316.8 Q
+(ord \(M\255Rubout\))-.1 E F0(Kill the w)144 328.8 Q(ord behind point.)
 -.1 E -.8(Wo)5 G(rd boundaries are the same as those used by).8 E F1
-(backward\255w)2.5 E(ord)-.1 E F0(.)A F1(unix\255w)108 280.8 Q
-(ord\255rubout \(C\255w\))-.1 E F0 .365(Kill the w)144 292.8 R .365
-(ord behind point, using white space as a w)-.1 F .364(ord boundary)-.1
-F 5.364(.T)-.65 G .364(he killed te)-5.364 F .364(xt is sa)-.15 F -.15
-(ve)-.2 G 2.864(do).15 G 2.864(nt)-2.864 G(he)-2.864 E(kill-ring.)144
-304.8 Q F1(unix\255\214lename\255rubout)108 316.8 Q F0 .166(Kill the w)
-144 328.8 R .166
+(backward\255w)2.5 E(ord)-.1 E F0(.)A F1(unix\255w)108 340.8 Q
+(ord\255rubout \(C\255w\))-.1 E F0 .364(Kill the w)144 352.8 R .364
+(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
+364.8 Q F1(unix\255\214lename\255rubout)108 376.8 Q F0 .167(Kill the w)
+144 388.8 R .166
 (ord behind point, using white space and the slash character as the w)
--.1 F .167(ord boundaries.)-.1 F(The)5.167 E(killed te)144 340.8 Q
+-.1 F .166(ord boundaries.)-.1 F(The)5.166 E(killed te)144 400.8 Q
 (xt is sa)-.15 E -.15(ve)-.2 G 2.5(do).15 G 2.5(nt)-2.5 G(he kill-ring.)
--2.5 E F1(delete\255horizontal\255space \(M\255\\\))108 352.8 Q F0
-(Delete all spaces and tabs around point.)144 364.8 Q F1(kill\255r)108
-376.8 Q(egion)-.18 E F0(Kill the te)144 388.8 Q(xt in the current re)
--.15 E(gion.)-.15 E F1(copy\255r)108 400.8 Q(egion\255as\255kill)-.18 E
-F0(Cop)144 412.8 Q 2.5(yt)-.1 G(he te)-2.5 E(xt in the re)-.15 E
+-2.5 E F1(delete\255horizontal\255space \(M\255\\\))108 412.8 Q F0
+(Delete all spaces and tabs around point.)144 424.8 Q F1(kill\255r)108
+436.8 Q(egion)-.18 E F0(Kill the te)144 448.8 Q(xt in the current re)
+-.15 E(gion.)-.15 E F1(copy\255r)108 460.8 Q(egion\255as\255kill)-.18 E
+F0(Cop)144 472.8 Q 2.5(yt)-.1 G(he te)-2.5 E(xt in the re)-.15 E
 (gion to the kill b)-.15 E(uf)-.2 E(fer)-.25 E(.)-.55 E F1
-(copy\255backward\255w)108 424.8 Q(ord)-.1 E F0(Cop)144 436.8 Q 4.801
-(yt)-.1 G 2.301(he w)-4.801 F 2.301(ord before point to the kill b)-.1 F
-(uf)-.2 E(fer)-.25 E 7.301(.T)-.55 G 2.301(he w)-7.301 F 2.3
-(ord boundaries are the same as)-.1 F F1(back-)4.8 E(ward\255w)144 448.8
-Q(ord)-.1 E F0(.)A F1(copy\255f)108 460.8 Q(orward\255w)-.25 E(ord)-.1 E
-F0(Cop)144 472.8 Q 4.507(yt)-.1 G 2.007(he w)-4.507 F 2.007(ord follo)
--.1 F 2.007(wing point to the kill b)-.25 F(uf)-.2 E(fer)-.25 E 7.008
-(.T)-.55 G 2.008(he w)-7.008 F 2.008(ord boundaries are the same as)-.1
-F F1 -.25(fo)4.508 G -.37(r-).25 G(ward\255w)144 484.8 Q(ord)-.1 E F0(.)
-A F1(yank \(C\255y\))108 496.8 Q F0 -1(Ya)144 508.8 S
-(nk the top of the kill ring into the b)1 E(uf)-.2 E(fer at point.)-.25
-E F1(yank\255pop \(M\255y\))108 520.8 Q F0
-(Rotate the kill ring, and yank the ne)144 532.8 Q 2.5(wt)-.25 G 2.5
+(copy\255backward\255w)108 484.8 Q(ord)-.1 E F0(Cop)144 496.8 Q 4.8(yt)
+-.1 G 2.3(he w)-4.8 F 2.3(ord before point to the kill b)-.1 F(uf)-.2 E
+(fer)-.25 E 7.301(.T)-.55 G 2.301(he w)-7.301 F 2.301
+(ord boundaries are the same as)-.1 F F1(back-)4.801 E(ward\255w)144
+508.8 Q(ord)-.1 E F0(.)A F1(copy\255f)108 520.8 Q(orward\255w)-.25 E
+(ord)-.1 E F0(Cop)144 532.8 Q 4.508(yt)-.1 G 2.008(he w)-4.508 F 2.008
+(ord follo)-.1 F 2.008(wing point to the kill b)-.25 F(uf)-.2 E(fer)-.25
+E 7.007(.T)-.55 G 2.007(he w)-7.007 F 2.007
+(ord boundaries are the same as)-.1 F F1 -.25(fo)4.507 G -.37(r-).25 G
+(ward\255w)144 544.8 Q(ord)-.1 E F0(.)A F1(yank \(C\255y\))108 556.8 Q
+F0 -1(Ya)144 568.8 S(nk the top of the kill ring into the b)1 E(uf)-.2 E
+(fer at point.)-.25 E F1(yank\255pop \(M\255y\))108 580.8 Q F0
+(Rotate the kill ring, and yank the ne)144 592.8 Q 2.5(wt)-.25 G 2.5
 (op. Only)-2.5 F -.1(wo)2.5 G(rks follo).1 E(wing)-.25 E F1(yank)2.5 E
-F0(or)2.5 E F1(yank\255pop)2.5 E F0(.)A F1(Numeric Ar)87 549.6 Q
-(guments)-.1 E(digit\255ar)108 561.6 Q
-(gument \(M\2550, M\2551, ..., M\255\255\))-.1 E F0 .642
-(Add this digit to the ar)144 573.6 R .641
+F0(or)2.5 E F1(yank\255pop)2.5 E F0(.)A F1(Numeric Ar)87 609.6 Q
+(guments)-.1 E(digit\255ar)108 621.6 Q
+(gument \(M\2550, M\2551, ..., M\255\255\))-.1 E F0 .641
+(Add this digit to the ar)144 633.6 R .641
 (gument already accumulating, or start a ne)-.18 F 3.141(wa)-.25 G -.18
-(rg)-3.141 G 3.141(ument. M\255\255).18 F .641(starts a ne)3.141 F(g-)
--.15 E(ati)144 585.6 Q .3 -.15(ve a)-.25 H -.18(rg).15 G(ument.).18 E F1
-(uni)108 597.6 Q -.1(ve)-.1 G(rsal\255ar).1 E(gument)-.1 E F0 .778
-(This is another w)144 609.6 R .779(ay to specify an ar)-.1 F 3.279
-(gument. If)-.18 F .779(this command is follo)3.279 F .779
+(rg)-3.141 G 3.142(ument. M\255\255).18 F .642(starts a ne)3.142 F(g-)
+-.15 E(ati)144 645.6 Q .3 -.15(ve a)-.25 H -.18(rg).15 G(ument.).18 E F1
+(uni)108 657.6 Q -.1(ve)-.1 G(rsal\255ar).1 E(gument)-.1 E F0 .779
+(This is another w)144 669.6 R .779(ay to specify an ar)-.1 F 3.279
+(gument. If)-.18 F .779(this command is follo)3.279 F .778
 (wed by one or more digits,)-.25 F 1.376
 (optionally with a leading minus sign, those digits de\214ne the ar)144
-621.6 R 3.876(gument. If)-.18 F 1.376(the command is fol-)3.876 F(lo)144
-633.6 Q 1.17(wed by digits, e)-.25 F -.15(xe)-.15 G(cuting).15 E F1(uni)
+681.6 R 3.876(gument. If)-.18 F 1.376(the command is fol-)3.876 F(lo)144
+693.6 Q 1.17(wed by digits, e)-.25 F -.15(xe)-.15 G(cuting).15 E F1(uni)
 3.67 E -.1(ve)-.1 G(rsal\255ar).1 E(gument)-.1 E F0(ag)3.67 E 1.17
 (ain ends the numeric ar)-.05 F 1.17(gument, b)-.18 F 1.17(ut is other)
--.2 F(-)-.2 E .899(wise ignored.)144 645.6 R .898
-(As a special case, if this command is immediately follo)5.899 F .898
+-.2 F(-)-.2 E .898(wise ignored.)144 705.6 R .898
+(As a special case, if this command is immediately follo)5.898 F .898
 (wed by a character that is)-.25 F .243
-(neither a digit or minus sign, the ar)144 657.6 R .243
+(neither a digit or minus sign, the ar)144 717.6 R .243
 (gument count for the ne)-.18 F .243(xt command is multiplied by four)
--.15 F 5.243(.T)-.55 G(he)-5.243 E(ar)144 669.6 Q .378
+-.15 F 5.242(.T)-.55 G(he)-5.242 E(ar)144 729.6 Q .378
 (gument count is initially one, so e)-.18 F -.15(xe)-.15 G .378
 (cuting this function the \214rst time mak).15 F .378(es the ar)-.1 F
-.378(gument count)-.18 F(four)144 681.6 Q 2.5(,as)-.4 G(econd time mak)
--2.5 E(es the ar)-.1 E(gument count sixteen, and so on.)-.18 E F1
-(Completing)87 698.4 Q F0(GNU Bash-3.1-de)72 768 Q -.15(ve)-.25 G 123.59
-(l2).15 G(005 Mar 15)-123.59 E(38)198.17 E 0 Cg EP
+.378(gument count)-.18 F(GNU Bash-3.1-beta1)72 768 Q(2005 Aug 27)122.91
+E(38)197.89 E 0 Cg EP
 %%Page: 39 40
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E/F1 10/Times-Bold@0 SF(complete \(T)108 84 Q(AB\))-.9 E F0 1.137
-(Attempt to perform completion on the te)144 96 R 1.137
+-.35 E(four)144 84 Q 2.5(,as)-.4 G(econd time mak)-2.5 E(es the ar)-.1 E
+(gument count sixteen, and so on.)-.18 E/F1 10/Times-Bold@0 SF
+(Completing)87 100.8 Q(complete \(T)108 112.8 Q(AB\))-.9 E F0 1.137
+(Attempt to perform completion on the te)144 124.8 R 1.137
 (xt before point.)-.15 F F1(Bash)6.137 E F0 1.137
-(attempts completion treating the)3.637 F(te)144 108 Q .533(xt as a v)
--.15 F .533(ariable \(if the te)-.25 F .533(xt be)-.15 F .533(gins with)
--.15 F F1($)3.033 E F0 .533(\), username \(if the te)B .532(xt be)-.15 F
-.532(gins with)-.15 F F1(~)3.032 E F0 .532(\), hostname \(if the)B(te)
-144 120 Q .701(xt be)-.15 F .701(gins with)-.15 F F1(@)3.201 E F0 .701
-(\), or command \(including aliases and functions\) in turn.)B .702
+(attempts completion treating the)3.637 F(te)144 136.8 Q .532(xt as a v)
+-.15 F .532(ariable \(if the te)-.25 F .532(xt be)-.15 F .533(gins with)
+-.15 F F1($)3.033 E F0 .533(\), username \(if the te)B .533(xt be)-.15 F
+.533(gins with)-.15 F F1(~)3.033 E F0 .533(\), hostname \(if the)B(te)
+144 148.8 Q .702(xt be)-.15 F .702(gins with)-.15 F F1(@)3.202 E F0 .701
+(\), or command \(including aliases and functions\) in turn.)B .701
 (If none of these pro-)5.701 F
-(duces a match, \214lename completion is attempted.)144 132 Q F1
-(possible\255completions \(M\255?\))108 144 Q F0
-(List the possible completions of the te)144 156 Q(xt before point.)-.15
-E F1(insert\255completions \(M\255*\))108 168 Q F0 .783
-(Insert all completions of the te)144 180 R .783(xt before point that w)
--.15 F .783(ould ha)-.1 F 1.083 -.15(ve b)-.2 H .783(een generated by)
-.15 F F1(possible\255com-)3.282 E(pletions)144 192 Q F0(.)A F1
-(menu\255complete)108 204 Q F0 .928(Similar to)144 216 R F1(complete)
-3.428 E F0 3.428(,b)C .929(ut replaces the w)-3.628 F .929
-(ord to be completed with a single match from the list of)-.1 F 1.194
-(possible completions.)144 228 R 1.194(Repeated e)6.194 F -.15(xe)-.15 G
-1.194(cution of).15 F F1(menu\255complete)3.694 E F0 1.193
-(steps through the list of possible)3.694 F .828
-(completions, inserting each match in turn.)144 240 R .828
+(duces a match, \214lename completion is attempted.)144 160.8 Q F1
+(possible\255completions \(M\255?\))108 172.8 Q F0
+(List the possible completions of the te)144 184.8 Q(xt before point.)
+-.15 E F1(insert\255completions \(M\255*\))108 196.8 Q F0 .783
+(Insert all completions of the te)144 208.8 R .783
+(xt before point that w)-.15 F .783(ould ha)-.1 F 1.083 -.15(ve b)-.2 H
+.783(een generated by).15 F F1(possible\255com-)3.283 E(pletions)144
+220.8 Q F0(.)A F1(menu\255complete)108 232.8 Q F0 .929(Similar to)144
+244.8 R F1(complete)3.429 E F0 3.429(,b)C .929(ut replaces the w)-3.629
+F .929(ord to be completed with a single match from the list of)-.1 F
+1.193(possible completions.)144 256.8 R 1.193(Repeated e)6.193 F -.15
+(xe)-.15 G 1.193(cution of).15 F F1(menu\255complete)3.694 E F0 1.194
+(steps through the list of possible)3.694 F .829
+(completions, inserting each match in turn.)144 268.8 R .828
 (At the end of the list of completions, the bell is rung)5.828 F .727
-(\(subject to the setting of)144 252 R F1(bell\255style)3.227 E F0 3.227
-(\)a)C .727(nd the original te)-3.227 F .727(xt is restored.)-.15 F .727
-(An ar)5.727 F .727(gument of)-.18 F/F2 10/Times-Italic@0 SF(n)3.227 E
-F0(mo)3.227 E -.15(ve)-.15 G(s).15 E F2(n)3.227 E F0 1.73
-(positions forw)144 264 R 1.73(ard in the list of matches; a ne)-.1 F
+(\(subject to the setting of)144 280.8 R F1(bell\255style)3.227 E F0
+3.227(\)a)C .727(nd the original te)-3.227 F .727(xt is restored.)-.15 F
+.727(An ar)5.727 F .727(gument of)-.18 F/F2 10/Times-Italic@0 SF(n)3.227
+E F0(mo)3.227 E -.15(ve)-.15 G(s).15 E F2(n)3.228 E F0 1.73
+(positions forw)144 292.8 R 1.73(ard in the list of matches; a ne)-.1 F
 -.05(ga)-.15 G(ti).05 E 2.03 -.15(ve a)-.25 H -.18(rg).15 G 1.73
 (ument may be used to mo).18 F 2.03 -.15(ve b)-.15 H(ackw).15 E(ard)-.1
-E(through the list.)144 276 Q(This command is intended to be bound to)5
-E F1 -.9(TA)2.5 G(B).9 E F0 2.5(,b)C(ut is unbound by def)-2.7 E(ault.)
--.1 E F1(delete\255char\255or\255list)108 288 Q F0 .234
-(Deletes the character under the cursor if not at the be)144 300 R .234
-(ginning or end of the line \(lik)-.15 F(e)-.1 E F1(delete\255char)2.734
-E F0(\).)A .425(If at the end of the line, beha)144 312 R -.15(ve)-.2 G
-2.925(si).15 G .425(dentically to)-2.925 F F1(possible\255completions)
-2.925 E F0 5.425(.T)C .425(his command is unbound)-5.425 F(by def)144
-324 Q(ault.)-.1 E F1(complete\255\214lename \(M\255/\))108 336 Q F0
-(Attempt \214lename completion on the te)144 348 Q(xt before point.)-.15
-E F1(possible\255\214lename\255completions \(C\255x /\))108 360 Q F0
-(List the possible completions of the te)144 372 Q
+E(through the list.)144 304.8 Q(This command is intended to be bound to)
+5 E F1 -.9(TA)2.5 G(B).9 E F0 2.5(,b)C(ut is unbound by def)-2.7 E
+(ault.)-.1 E F1(delete\255char\255or\255list)108 316.8 Q F0 .234
+(Deletes the character under the cursor if not at the be)144 328.8 R
+.234(ginning or end of the line \(lik)-.15 F(e)-.1 E F1(delete\255char)
+2.735 E F0(\).)A .425(If at the end of the line, beha)144 340.8 R -.15
+(ve)-.2 G 2.925(si).15 G .425(dentically to)-2.925 F F1
+(possible\255completions)2.925 E F0 5.425(.T)C .425
+(his command is unbound)-5.425 F(by def)144 352.8 Q(ault.)-.1 E F1
+(complete\255\214lename \(M\255/\))108 364.8 Q F0
+(Attempt \214lename completion on the te)144 376.8 Q(xt before point.)
+-.15 E F1(possible\255\214lename\255completions \(C\255x /\))108 388.8 Q
+F0(List the possible completions of the te)144 400.8 Q
 (xt before point, treating it as a \214lename.)-.15 E F1
-(complete\255user)108 384 Q(name \(M\255~\))-.15 E F0
-(Attempt completion on the te)144 396 Q
+(complete\255user)108 412.8 Q(name \(M\255~\))-.15 E F0
+(Attempt completion on the te)144 424.8 Q
 (xt before point, treating it as a username.)-.15 E F1(possible\255user)
-108 408 Q(name\255completions \(C\255x ~\))-.15 E F0
-(List the possible completions of the te)144 420 Q
+108 436.8 Q(name\255completions \(C\255x ~\))-.15 E F0
+(List the possible completions of the te)144 448.8 Q
 (xt before point, treating it as a username.)-.15 E F1(complete\255v)108
-432 Q(ariable \(M\255$\))-.1 E F0(Attempt completion on the te)144 444 Q
+460.8 Q(ariable \(M\255$\))-.1 E F0(Attempt completion on the te)144
+472.8 Q(xt before point, treating it as a shell v)-.15 E(ariable.)-.25 E
+F1(possible\255v)108 484.8 Q(ariable\255completions \(C\255x $\))-.1 E
+F0(List the possible completions of the te)144 496.8 Q
 (xt before point, treating it as a shell v)-.15 E(ariable.)-.25 E F1
-(possible\255v)108 456 Q(ariable\255completions \(C\255x $\))-.1 E F0
-(List the possible completions of the te)144 468 Q
-(xt before point, treating it as a shell v)-.15 E(ariable.)-.25 E F1
-(complete\255hostname \(M\255@\))108 480 Q F0
-(Attempt completion on the te)144 492 Q
+(complete\255hostname \(M\255@\))108 508.8 Q F0
+(Attempt completion on the te)144 520.8 Q
 (xt before point, treating it as a hostname.)-.15 E F1
-(possible\255hostname\255completions \(C\255x @\))108 504 Q F0
-(List the possible completions of the te)144 516 Q
+(possible\255hostname\255completions \(C\255x @\))108 532.8 Q F0
+(List the possible completions of the te)144 544.8 Q
 (xt before point, treating it as a hostname.)-.15 E F1
-(complete\255command \(M\255!\))108 528 Q F0 .581
-(Attempt completion on the te)144 540 R .581
-(xt before point, treating it as a command name.)-.15 F .58
-(Command comple-)5.58 F .715(tion attempts to match the te)144 552 R
+(complete\255command \(M\255!\))108 556.8 Q F0 .58
+(Attempt completion on the te)144 568.8 R .581
+(xt before point, treating it as a command name.)-.15 F .581
+(Command comple-)5.581 F .715(tion attempts to match the te)144 580.8 R
 .715(xt ag)-.15 F .715(ainst aliases, reserv)-.05 F .715(ed w)-.15 F
 .715(ords, shell functions, shell b)-.1 F .715(uiltins, and)-.2 F
-(\214nally e)144 564 Q -.15(xe)-.15 G
+(\214nally e)144 592.8 Q -.15(xe)-.15 G
 (cutable \214lenames, in that order).15 E(.)-.55 E F1
-(possible\255command\255completions \(C\255x !\))108 576 Q F0
-(List the possible completions of the te)144 588 Q
+(possible\255command\255completions \(C\255x !\))108 604.8 Q F0
+(List the possible completions of the te)144 616.8 Q
 (xt before point, treating it as a command name.)-.15 E F1
-(dynamic\255complete\255history \(M\255T)108 600 Q(AB\))-.9 E F0 .425
-(Attempt completion on the te)144 612 R .425
-(xt before point, comparing the te)-.15 F .425(xt ag)-.15 F .424
+(dynamic\255complete\255history \(M\255T)108 628.8 Q(AB\))-.9 E F0 .424
+(Attempt completion on the te)144 640.8 R .425
+(xt before point, comparing the te)-.15 F .425(xt ag)-.15 F .425
 (ainst lines from the history list)-.05 F
-(for possible completion matches.)144 624 Q F1
-(complete\255into\255braces \(M\255{\))108 636 Q F0 .4(Perform \214lena\
-me completion and insert the list of possible completions enclosed with\
-in braces so)144 648 R(the list is a)144 660 Q -.25(va)-.2 G
+(for possible completion matches.)144 652.8 Q F1
+(complete\255into\255braces \(M\255{\))108 664.8 Q F0 .4(Perform \214le\
+name completion and insert the list of possible completions enclosed wi\
+thin braces so)144 676.8 R(the list is a)144 688.8 Q -.25(va)-.2 G
 (ilable to the shell \(see).25 E F1(Brace Expansion)2.5 E F0(abo)2.5 E
--.15(ve)-.15 G(\).).15 E F1 -.25(Ke)87 676.8 S(yboard Macr).25 E(os)-.18
-E(start\255kbd\255macr)108 688.8 Q 2.5(o\()-.18 G(C\255x \()-2.5 E(\))
-.833 E F0(Be)144 700.8 Q(gin sa)-.15 E
-(ving the characters typed into the current k)-.2 E -.15(ey)-.1 G
-(board macro.).15 E(GNU Bash-3.1-de)72 768 Q -.15(ve)-.25 G 123.59(l2)
-.15 G(005 Mar 15)-123.59 E(39)198.17 E 0 Cg EP
+-.15(ve)-.15 G(\).).15 E F1 -.25(Ke)87 705.6 S(yboard Macr).25 E(os)-.18
+E F0(GNU Bash-3.1-beta1)72 768 Q(2005 Aug 27)122.91 E(39)197.89 E 0 Cg
+EP
 %%Page: 40 41
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E/F1 10/Times-Bold@0 SF(end\255kbd\255macr)108 84 Q 2.5(o\()-.18 G
-(C\255x \))-2.5 E(\)).833 E F0(Stop sa)144 96 Q
+-.35 E/F1 10/Times-Bold@0 SF(start\255kbd\255macr)108 84 Q 2.5(o\()-.18
+G(C\255x \()-2.5 E(\)).833 E F0(Be)144 96 Q(gin sa)-.15 E
+(ving the characters typed into the current k)-.2 E -.15(ey)-.1 G
+(board macro.).15 E F1(end\255kbd\255macr)108 108 Q 2.5(o\()-.18 G
+(C\255x \))-2.5 E(\)).833 E F0(Stop sa)144 120 Q
 (ving the characters typed into the current k)-.2 E -.15(ey)-.1 G
 (board macro and store the de\214nition.).15 E F1
-(call\255last\255kbd\255macr)108 108 Q 2.5(o\()-.18 G(C\255x e\))-2.5 E
-F0(Re-e)144 120 Q -.15(xe)-.15 G 1(cute the last k).15 F -.15(ey)-.1 G
-.999(board macro de\214ned, by making the characters in the macro appea\
-r as if).15 F(typed at the k)144 132 Q -.15(ey)-.1 G(board.).15 E F1
-(Miscellaneous)87 148.8 Q -.18(re)108 160.8 S<ad72>.18 E
-(ead\255init\255\214le \(C\255x C\255r\))-.18 E F0 1.776
-(Read in the contents of the)144 172.8 R/F2 10/Times-Italic@0 SF(inputr)
-4.276 E(c)-.37 E F0 1.777(\214le, and incorporate an)4.276 F 4.277(yb)
--.15 G 1.777(indings or v)-4.277 F 1.777(ariable assignments)-.25 F
-(found there.)144 184.8 Q F1(abort \(C\255g\))108 196.8 Q F0 3.249
-(Abort the current editing command and ring the terminal')144 208.8 R
-5.748(sb)-.55 G 3.248(ell \(subject to the setting of)-5.748 F F1
-(bell\255style)144 220.8 Q F0(\).)A F1(do\255upper)108 232.8 Q
+(call\255last\255kbd\255macr)108 132 Q 2.5(o\()-.18 G(C\255x e\))-2.5 E
+F0(Re-e)144 144 Q -.15(xe)-.15 G .999(cute the last k).15 F -.15(ey)-.1
+G .999(board macro de\214ned, by making the characters in the macro app\
+ear as if).15 F(typed at the k)144 156 Q -.15(ey)-.1 G(board.).15 E F1
+(Miscellaneous)87 172.8 Q -.18(re)108 184.8 S<ad72>.18 E
+(ead\255init\255\214le \(C\255x C\255r\))-.18 E F0 1.777
+(Read in the contents of the)144 196.8 R/F2 10/Times-Italic@0 SF(inputr)
+4.277 E(c)-.37 E F0 1.776(\214le, and incorporate an)4.276 F 4.276(yb)
+-.15 G 1.776(indings or v)-4.276 F 1.776(ariable assignments)-.25 F
+(found there.)144 208.8 Q F1(abort \(C\255g\))108 220.8 Q F0 3.248
+(Abort the current editing command and ring the terminal')144 232.8 R
+5.749(sb)-.55 G 3.249(ell \(subject to the setting of)-5.749 F F1
+(bell\255style)144 244.8 Q F0(\).)A F1(do\255upper)108 256.8 Q
 (case\255v)-.18 E(ersion \(M\255a, M\255b, M\255)-.1 E F2(x)A F1 2.5(,.)
-C(..\))-2.5 E F0 1.755(If the meta\214ed character)144 244.8 R F2(x)
-4.255 E F0 1.755(is lo)4.255 F 1.756
+C(..\))-2.5 E F0 1.756(If the meta\214ed character)144 268.8 R F2(x)
+4.256 E F0 1.755(is lo)4.256 F 1.755
 (wercase, run the command that is bound to the corresponding)-.25 F
-(uppercase character)144 256.8 Q(.)-.55 E F1(pr)108 268.8 Q
-(e\214x\255meta \(ESC\))-.18 E F0(Metafy the ne)144 280.8 Q
+(uppercase character)144 280.8 Q(.)-.55 E F1(pr)108 292.8 Q
+(e\214x\255meta \(ESC\))-.18 E F0(Metafy the ne)144 304.8 Q
 (xt character typed.)-.15 E/F3 9/Times-Bold@0 SF(ESC)5 E F1(f)2.25 E F0
 (is equi)2.5 E -.25(va)-.25 G(lent to).25 E F1(Meta\255f)2.5 E F0(.)A F1
-(undo \(C\255_, C\255x C\255u\))108 292.8 Q F0
-(Incremental undo, separately remembered for each line.)144 304.8 Q F1
--2.29 -.18(re v)108 316.8 T(ert\255line \(M\255r\)).08 E F0 1.095
-(Undo all changes made to this line.)144 328.8 R 1.095(This is lik)6.095
+(undo \(C\255_, C\255x C\255u\))108 316.8 Q F0
+(Incremental undo, separately remembered for each line.)144 328.8 Q F1
+-2.29 -.18(re v)108 340.8 T(ert\255line \(M\255r\)).08 E F0 1.095
+(Undo all changes made to this line.)144 352.8 R 1.095(This is lik)6.095
 F 3.595(ee)-.1 G -.15(xe)-3.745 G 1.095(cuting the).15 F F1(undo)3.595 E
 F0 1.095(command enough times to)3.595 F
-(return the line to its initial state.)144 340.8 Q F1
-(tilde\255expand \(M\255&\))108 352.8 Q F0(Perform tilde e)144 364.8 Q
+(return the line to its initial state.)144 364.8 Q F1
+(tilde\255expand \(M\255&\))108 376.8 Q F0(Perform tilde e)144 388.8 Q
 (xpansion on the current w)-.15 E(ord.)-.1 E F1
-(set\255mark \(C\255@, M\255<space>\))108 376.8 Q F0
-(Set the mark to the point.)144 388.8 Q(If a numeric ar)5 E
+(set\255mark \(C\255@, M\255<space>\))108 400.8 Q F0
+(Set the mark to the point.)144 412.8 Q(If a numeric ar)5 E
 (gument is supplied, the mark is set to that position.)-.18 E F1
-(exchange\255point\255and\255mark \(C\255x C\255x\))108 400.8 Q F0(Sw)
-144 412.8 Q .282(ap the point with the mark.)-.1 F .283
+(exchange\255point\255and\255mark \(C\255x C\255x\))108 424.8 Q F0(Sw)
+144 436.8 Q .283(ap the point with the mark.)-.1 F .283
 (The current cursor position is set to the sa)5.283 F -.15(ve)-.2 G
-2.783(dp).15 G .283(osition, and the old)-2.783 F(cursor position is sa)
-144 424.8 Q -.15(ve)-.2 G 2.5(da).15 G 2.5(st)-2.5 G(he mark.)-2.5 E F1
-(character\255sear)108 436.8 Q(ch \(C\255]\))-.18 E F0 3.036(Ac)144
-448.8 S .536(haracter is read and point is mo)-3.036 F -.15(ve)-.15 G
+2.782(dp).15 G .282(osition, and the old)-2.782 F(cursor position is sa)
+144 448.8 Q -.15(ve)-.2 G 2.5(da).15 G 2.5(st)-2.5 G(he mark.)-2.5 E F1
+(character\255sear)108 460.8 Q(ch \(C\255]\))-.18 E F0 3.035(Ac)144
+472.8 S .535(haracter is read and point is mo)-3.035 F -.15(ve)-.15 G
 3.035(dt).15 G 3.035(ot)-3.035 G .535(he ne)-3.035 F .535
-(xt occurrence of that character)-.15 F 5.535(.A)-.55 G(ne)-2.5 E -.05
-(ga)-.15 G(ti).05 E .835 -.15(ve c)-.25 H(ount).15 E(searches for pre)
-144 460.8 Q(vious occurrences.)-.25 E F1(character\255sear)108 472.8 Q
-(ch\255backward \(M\255C\255]\))-.18 E F0 3.543(Ac)144 484.8 S 1.043
-(haracter is read and point is mo)-3.543 F -.15(ve)-.15 G 3.544(dt).15 G
+(xt occurrence of that character)-.15 F 5.536(.A)-.55 G(ne)-2.5 E -.05
+(ga)-.15 G(ti).05 E .836 -.15(ve c)-.25 H(ount).15 E(searches for pre)
+144 484.8 Q(vious occurrences.)-.25 E F1(character\255sear)108 496.8 Q
+(ch\255backward \(M\255C\255]\))-.18 E F0 3.544(Ac)144 508.8 S 1.044
+(haracter is read and point is mo)-3.544 F -.15(ve)-.15 G 3.544(dt).15 G
 3.544(ot)-3.544 G 1.044(he pre)-3.544 F 1.044
-(vious occurrence of that character)-.25 F 6.044(.A)-.55 G(ne)-2.5 E
+(vious occurrence of that character)-.25 F 6.043(.A)-.55 G(ne)-2.5 E
 -.05(ga)-.15 G(ti).05 E -.15(ve)-.25 G
-(count searches for subsequent occurrences.)144 496.8 Q F1
-(insert\255comment \(M\255#\))108 508.8 Q F0 -.4(Wi)144 520.8 S .481
-(thout a numeric ar).4 F .481(gument, the v)-.18 F .481
+(count searches for subsequent occurrences.)144 520.8 Q F1
+(insert\255comment \(M\255#\))108 532.8 Q F0 -.4(Wi)144 544.8 S .48
+(thout a numeric ar).4 F .48(gument, the v)-.18 F .481
 (alue of the readline)-.25 F F1(comment\255begin)2.981 E F0 -.25(va)
-2.981 G .48(riable is inserted at the).25 F(be)144 532.8 Q .097
-(ginning of the current line.)-.15 F .098(If a numeric ar)5.097 F .098
-(gument is supplied, this command acts as a toggle:)-.18 F(if)5.098 E
-.322(the characters at the be)144 544.8 R .321
+2.981 G .481(riable is inserted at the).25 F(be)144 556.8 Q .098
+(ginning of the current line.)-.15 F .098(If a numeric ar)5.098 F .097
+(gument is supplied, this command acts as a toggle:)-.18 F(if)5.097 E
+.321(the characters at the be)144 568.8 R .321
 (ginning of the line do not match the v)-.15 F .321(alue of)-.25 F F1
-(comment\255begin)2.821 E F0 2.821(,t)C .321(he v)-2.821 F .321(alue is)
--.25 F 1.013(inserted, otherwise the characters in)144 556.8 R F1
-(comment-begin)3.514 E F0 1.014(are deleted from the be)3.514 F 1.014
-(ginning of the line.)-.15 F 1.469
-(In either case, the line is accepted as if a ne)144 568.8 R 1.468
-(wline had been typed.)-.25 F 1.468(The def)6.468 F 1.468(ault v)-.1 F
-1.468(alue of)-.25 F F1(com-)3.968 E(ment\255begin)144 580.8 Q F0 .839
-(causes this command to mak)3.339 F 3.339(et)-.1 G .839
-(he current line a shell comment.)-3.339 F .84(If a numeric ar)5.84 F
-(gu-)-.18 E(ment causes the comment character to be remo)144 592.8 Q
+(comment\255begin)2.821 E F0 2.822(,t)C .322(he v)-2.822 F .322(alue is)
+-.25 F 1.014(inserted, otherwise the characters in)144 580.8 R F1
+(comment-begin)3.514 E F0 1.014(are deleted from the be)3.514 F 1.013
+(ginning of the line.)-.15 F 1.468
+(In either case, the line is accepted as if a ne)144 592.8 R 1.468
+(wline had been typed.)-.25 F 1.469(The def)6.469 F 1.469(ault v)-.1 F
+1.469(alue of)-.25 F F1(com-)3.969 E(ment\255begin)144 604.8 Q F0 .84
+(causes this command to mak)3.34 F 3.339(et)-.1 G .839
+(he current line a shell comment.)-3.339 F .839(If a numeric ar)5.839 F
+(gu-)-.18 E(ment causes the comment character to be remo)144 616.8 Q
 -.15(ve)-.15 G(d, the line will be e).15 E -.15(xe)-.15 G
-(cuted by the shell.).15 E F1(glob\255complete\255w)108 604.8 Q
-(ord \(M\255g\))-.1 E F0 .792(The w)144 616.8 R .791
-(ord before point is treated as a pattern for pathname e)-.1 F .791
+(cuted by the shell.).15 E F1(glob\255complete\255w)108 628.8 Q
+(ord \(M\255g\))-.1 E F0 .791(The w)144 640.8 R .791
+(ord before point is treated as a pattern for pathname e)-.1 F .792
 (xpansion, with an asterisk implicitly)-.15 F 2.5(appended. This)144
-628.8 R(pattern is used to generate a list of matching \214le names for\
- possible completions.)2.5 E F1(glob\255expand\255w)108 640.8 Q
-(ord \(C\255x *\))-.1 E F0 .371(The w)144 652.8 R .372
-(ord before point is treated as a pattern for pathname e)-.1 F .372
+652.8 R(pattern is used to generate a list of matching \214le names for\
+ possible completions.)2.5 E F1(glob\255expand\255w)108 664.8 Q
+(ord \(C\255x *\))-.1 E F0 .372(The w)144 676.8 R .372
+(ord before point is treated as a pattern for pathname e)-.1 F .371
 (xpansion, and the list of matching \214le)-.15 F .516
-(names is inserted, replacing the w)144 664.8 R 3.016(ord. If)-.1 F
+(names is inserted, replacing the w)144 688.8 R 3.016(ord. If)-.1 F
 3.016(an)3.016 G .516(umeric ar)-3.016 F .516
 (gument is supplied, an asterisk is appended)-.18 F(before pathname e)
-144 676.8 Q(xpansion.)-.15 E F1(glob\255list\255expansions \(C\255x g\))
-108 688.8 Q F0 .923(The list of e)144 700.8 R .923(xpansions that w)-.15
-F .923(ould ha)-.1 F 1.223 -.15(ve b)-.2 H .923(een generated by).15 F
-F1(glob\255expand\255w)3.423 E(ord)-.1 E F0 .923(is displayed, and)3.423
-F .872(the line is redra)144 712.8 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 724.8 S(pansion.).15 E(GNU Bash-3.1-de)72 768 Q -.15(ve)-.25 G
-123.59(l2).15 G(005 Mar 15)-123.59 E(40)198.17 E 0 Cg EP
+144 700.8 Q(xpansion.)-.15 E(GNU Bash-3.1-beta1)72 768 Q(2005 Aug 27)
+122.91 E(40)197.89 E 0 Cg EP
 %%Page: 41 42
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E/F1 10/Times-Bold@0 SF(dump\255functions)108 84 Q F0 .626
-(Print all of the functions and their k)144 96 R .926 -.15(ey b)-.1 H
-.627(indings to the readline output stream.).15 F .627(If a numeric ar)
-5.627 F(gu-)-.18 E
-(ment is supplied, the output is formatted in such a w)144 108 Q
+-.35 E/F1 10/Times-Bold@0 SF(glob\255list\255expansions \(C\255x g\))108
+84 Q F0 .923(The list of e)144 96 R .923(xpansions that w)-.15 F .923
+(ould ha)-.1 F 1.223 -.15(ve b)-.2 H .923(een generated by).15 F F1
+(glob\255expand\255w)3.423 E(ord)-.1 E F0 .923(is displayed, and)3.423 F
+.872(the line is redra)144 108 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 120 S(pansion.).15 E F1(dump\255functions)108 132 Q F0 .627
+(Print all of the functions and their k)144 144 R .927 -.15(ey b)-.1 H
+.626(indings to the readline output stream.).15 F .626(If a numeric ar)
+5.626 F(gu-)-.18 E
+(ment is supplied, the output is formatted in such a w)144 156 Q
 (ay that it can be made part of an)-.1 E/F2 10/Times-Italic@0 SF(inputr)
-2.5 E(c)-.37 E F0(\214le.)2.5 E F1(dump\255v)108 120 Q(ariables)-.1 E F0
-1.8(Print all of the settable readline v)144 132 R 1.799
-(ariables and their v)-.25 F 1.799(alues to the readline output stream.)
--.25 F 1.799(If a)6.799 F .304(numeric ar)144 144 R .304
+2.5 E(c)-.37 E F0(\214le.)2.5 E F1(dump\255v)108 168 Q(ariables)-.1 E F0
+1.799(Print all of the settable readline v)144 180 R 1.799
+(ariables and their v)-.25 F 1.8(alues to the readline output stream.)
+-.25 F 1.8(If a)6.8 F .305(numeric ar)144 192 R .304
 (gument is supplied, the output is formatted in such a w)-.18 F .304
-(ay that it can be made part of an)-.1 F F2(inputr)144 156 Q(c)-.37 E F0
-(\214le.)2.5 E F1(dump\255macr)108 168 Q(os)-.18 E F0 .593
-(Print all of the readline k)144 180 R .893 -.15(ey s)-.1 H .592
-(equences bound to macros and the strings the).15 F 3.092(yo)-.15 G
-3.092(utput. If)-3.092 F 3.092(an)3.092 G(umeric)-3.092 E(ar)144 192 Q
+(ay that it can be made part of an)-.1 F F2(inputr)144 204 Q(c)-.37 E F0
+(\214le.)2.5 E F1(dump\255macr)108 216 Q(os)-.18 E F0 .592
+(Print all of the readline k)144 228 R .892 -.15(ey s)-.1 H .592
+(equences bound to macros and the strings the).15 F 3.093(yo)-.15 G
+3.093(utput. If)-3.093 F 3.093(an)3.093 G(umeric)-3.093 E(ar)144 240 Q
 .528(gument is supplied, the output is formatted in such a w)-.18 F .528
-(ay that it can be made part of an)-.1 F F2(inputr)3.028 E(c)-.37 E F0
-(\214le.)144 204 Q F1(display\255shell\255v)108 216 Q
-(ersion \(C\255x C\255v\))-.1 E F0(Display v)144 228 Q
+(ay that it can be made part of an)-.1 F F2(inputr)3.027 E(c)-.37 E F0
+(\214le.)144 252 Q F1(display\255shell\255v)108 264 Q
+(ersion \(C\255x C\255v\))-.1 E F0(Display v)144 276 Q
 (ersion information about the current instance of)-.15 E F1(bash)2.5 E
-F0(.)A F1(Pr)87 244.8 Q(ogrammable Completion)-.18 E F0 .147(When w)108
-256.8 R .147(ord completion is attempted for an ar)-.1 F .147
+F0(.)A F1(Pr)87 292.8 Q(ogrammable Completion)-.18 E F0 .146(When w)108
+304.8 R .147(ord completion is attempted for an ar)-.1 F .147
 (gument to a command for which a completion speci\214cation \(a)-.18 F
-F2(compspec)108 268.8 Q F0 3.828(\)h)C 1.329
-(as been de\214ned using the)-3.828 F F1(complete)3.829 E F0 -.2(bu)
+F2(compspec)108 316.8 Q F0 3.829(\)h)C 1.329
+(as been de\214ned using the)-3.829 F F1(complete)3.829 E F0 -.2(bu)
 3.829 G 1.329(iltin \(see).2 F/F3 9/Times-Bold@0 SF 1.329(SHELL B)3.829
-F(UIL)-.09 E 1.329(TIN COMMANDS)-.828 F F0(belo)3.579 E 1.329(w\), the)
--.25 F(programmable completion f)108 280.8 Q(acilities are in)-.1 E -.2
-(vo)-.4 G -.1(ke).2 G(d.).1 E .334
-(First, the command name is identi\214ed.)108 297.6 R .333
+F(UIL)-.09 E 1.329(TIN COMMANDS)-.828 F F0(belo)3.579 E 1.328(w\), the)
+-.25 F(programmable completion f)108 328.8 Q(acilities are in)-.1 E -.2
+(vo)-.4 G -.1(ke).2 G(d.).1 E .333
+(First, the command name is identi\214ed.)108 345.6 R .334
 (If a compspec has been de\214ned for that command, the compspec is)
-5.334 F .587
-(used to generate the list of possible completions for the w)108 309.6 R
-3.087(ord. If)-.1 F .587(the command w)3.087 F .587
-(ord is a full pathname, a)-.1 F 1.181
-(compspec for the full pathname is searched for \214rst.)108 321.6 R
-1.18(If no compspec is found for the full pathname, an)6.181 F
-(attempt is made to \214nd a compspec for the portion follo)108 333.6 Q
+5.333 F .587
+(used to generate the list of possible completions for the w)108 357.6 R
+3.087(ord. If)-.1 F .587(the command w)3.087 F .586
+(ord is a full pathname, a)-.1 F 1.18
+(compspec for the full pathname is searched for \214rst.)108 369.6 R
+1.181(If no compspec is found for the full pathname, an)6.181 F
+(attempt is made to \214nd a compspec for the portion follo)108 381.6 Q
 (wing the \214nal slash.)-.25 E .817(Once a compspec has been found, it\
- is used to generate the list of matching w)108 350.4 R 3.317(ords. If)
+ is used to generate the list of matching w)108 398.4 R 3.317(ords. If)
 -.1 F 3.317(ac)3.317 G .817(ompspec is not)-3.317 F(found, the def)108
-362.4 Q(ault)-.1 E F1(bash)2.5 E F0(completion as described abo)2.5 E .3
+410.4 Q(ault)-.1 E F1(bash)2.5 E F0(completion as described abo)2.5 E .3
 -.15(ve u)-.15 H(nder).15 E F1(Completing)2.5 E F0(is performed.)2.5 E
-.464(First, the actions speci\214ed by the compspec are used.)108 379.2
-R .463(Only matches which are pre\214x)5.464 F .463(ed by the w)-.15 F
-.463(ord being)-.1 F .595(completed are returned.)108 391.2 R .595
-(When the)5.595 F F1<ad66>3.095 E F0(or)3.095 E F1<ad64>3.095 E F0 .596
+.463(First, the actions speci\214ed by the compspec are used.)108 427.2
+R .464(Only matches which are pre\214x)5.464 F .464(ed by the w)-.15 F
+.464(ord being)-.1 F .596(completed are returned.)108 439.2 R .596
+(When the)5.596 F F1<ad66>3.096 E F0(or)3.095 E F1<ad64>3.095 E F0 .595
 (option is used for \214lename or directory name completion, the)3.095 F
-(shell v)108 403.2 Q(ariable)-.25 E F3(FIGNORE)2.5 E F0
-(is used to \214lter the matches.)2.25 E(An)108 420 Q 2.585(yc)-.15 G
+(shell v)108 451.2 Q(ariable)-.25 E F3(FIGNORE)2.5 E F0
+(is used to \214lter the matches.)2.25 E(An)108 468 Q 2.585(yc)-.15 G
 .085(ompletions speci\214ed by a \214lename e)-2.585 F .085
 (xpansion pattern to the)-.15 F F1<ad47>2.585 E F0 .085
 (option are generated ne)2.585 F 2.585(xt. The)-.15 F -.1(wo)2.585 G
-(rds).1 E .843(generated by the pattern need not match the w)108 432 R
-.844(ord being completed.)-.1 F(The)5.844 E F3(GLOBIGNORE)3.344 E F0
-.844(shell v)3.094 F .844(ariable is)-.25 F
-(not used to \214lter the matches, b)108 444 Q(ut the)-.2 E F3(FIGNORE)
-2.5 E F0 -.25(va)2.25 G(riable is used.).25 E(Ne)108 460.8 Q .321
-(xt, the string speci\214ed as the ar)-.15 F .321(gument to the)-.18 F
-F1<ad57>2.821 E F0 .32(option is considered.)2.821 F .32
-(The string is \214rst split using the)5.32 F .412(characters in the)108
-472.8 R F3(IFS)2.912 E F0 .412(special v)2.662 F .412
+(rds).1 E .844(generated by the pattern need not match the w)108 480 R
+.844(ord being completed.)-.1 F(The)5.844 E F3(GLOBIGNORE)3.343 E F0
+.843(shell v)3.093 F .843(ariable is)-.25 F
+(not used to \214lter the matches, b)108 492 Q(ut the)-.2 E F3(FIGNORE)
+2.5 E F0 -.25(va)2.25 G(riable is used.).25 E(Ne)108 508.8 Q .32
+(xt, the string speci\214ed as the ar)-.15 F .32(gument to the)-.18 F F1
+<ad57>2.82 E F0 .321(option is considered.)2.821 F .321
+(The string is \214rst split using the)5.321 F .413(characters in the)
+108 520.8 R F3(IFS)2.913 E F0 .412(special v)2.663 F .412
 (ariable as delimiters.)-.25 F .412(Shell quoting is honored.)5.412 F
-.413(Each w)5.412 F .413(ord is then e)-.1 F(xpanded)-.15 E .092
-(using brace e)108 484.8 R .092(xpansion, tilde e)-.15 F .092
-(xpansion, parameter and v)-.15 F .092(ariable e)-.25 F .091
-(xpansion, command substitution, and arith-)-.15 F 1.396(metic e)108
-496.8 R 1.396(xpansion, as described abo)-.15 F 1.696 -.15(ve u)-.15 H
+.412(Each w)5.412 F .412(ord is then e)-.1 F(xpanded)-.15 E .091
+(using brace e)108 532.8 R .091(xpansion, tilde e)-.15 F .092
+(xpansion, parameter and v)-.15 F .092(ariable e)-.25 F .092
+(xpansion, command substitution, and arith-)-.15 F 1.397(metic e)108
+544.8 R 1.396(xpansion, as described abo)-.15 F 1.696 -.15(ve u)-.15 H
 (nder).15 E F3(EXP)3.896 E(ANSION)-.666 E/F4 9/Times-Roman@0 SF(.)A F0
 1.396(The results are split using the rules described)5.896 F(abo)108
-508.8 Q .51 -.15(ve u)-.15 H(nder).15 E F1 -.75(Wo)2.71 G .21
-(rd Splitting).75 F F0 5.21(.T)C .209(he results of the e)-5.21 F .209
-(xpansion are pre\214x-matched ag)-.15 F .209(ainst the w)-.05 F .209
-(ord being com-)-.1 F(pleted, and the matching w)108 520.8 Q
-(ords become the possible completions.)-.1 E 1.237
-(After these matches ha)108 537.6 R 1.537 -.15(ve b)-.2 H 1.237
-(een generated, an).15 F 3.737(ys)-.15 G 1.238
-(hell function or command speci\214ed with the)-3.737 F F1<ad46>3.738 E
-F0(and)3.738 E F1<ad43>3.738 E F0 .513(options is in)108 549.6 R -.2(vo)
+556.8 Q .509 -.15(ve u)-.15 H(nder).15 E F1 -.75(Wo)2.709 G .209
+(rd Splitting).75 F F0 5.209(.T)C .209(he results of the e)-5.209 F .209
+(xpansion are pre\214x-matched ag)-.15 F .21(ainst the w)-.05 F .21
+(ord being com-)-.1 F(pleted, and the matching w)108 568.8 Q
+(ords become the possible completions.)-.1 E 1.238
+(After these matches ha)108 585.6 R 1.538 -.15(ve b)-.2 H 1.238
+(een generated, an).15 F 3.738(ys)-.15 G 1.237
+(hell function or command speci\214ed with the)-3.738 F F1<ad46>3.737 E
+F0(and)3.737 E F1<ad43>3.737 E F0 .513(options is in)108 597.6 R -.2(vo)
 -.4 G -.1(ke).2 G 3.013(d. When).1 F .513(the command or function is in)
 3.013 F -.2(vo)-.4 G -.1(ke).2 G .513(d, the).1 F F3(COMP_LINE)3.013 E
-F0(and)2.763 E F3(COMP_POINT)3.013 E F0 -.25(va)2.763 G(ri-).25 E .872
-(ables are assigned v)108 561.6 R .872(alues as described abo)-.25 F
-1.172 -.15(ve u)-.15 H(nder).15 E F1 .873(Shell V)3.372 F(ariables)-.92
-E F0 5.873(.I)C 3.373(fas)-5.873 G .873(hell function is being in)-3.373
-F -.2(vo)-.4 G -.1(ke).2 G(d,).1 E(the)108 573.6 Q F3(COMP_W)5.261 E
-(ORDS)-.09 E F0(and)5.011 E F3(COMP_CW)5.26 E(ORD)-.09 E F0 -.25(va)5.01
+F0(and)2.763 E F3(COMP_POINT)3.013 E F0 -.25(va)2.763 G(ri-).25 E .873
+(ables are assigned v)108 609.6 R .873(alues as described abo)-.25 F
+1.173 -.15(ve u)-.15 H(nder).15 E F1 .872(Shell V)3.373 F(ariables)-.92
+E F0 5.872(.I)C 3.372(fas)-5.872 G .872(hell function is being in)-3.372
+F -.2(vo)-.4 G -.1(ke).2 G(d,).1 E(the)108 621.6 Q F3(COMP_W)5.26 E
+(ORDS)-.09 E F0(and)5.01 E F3(COMP_CW)5.26 E(ORD)-.09 E F0 -.25(va)5.01
 G 2.76(riables are also set.).25 F 2.76(When the function or command is)
-7.76 F(in)108 585.6 Q -.2(vo)-.4 G -.1(ke).2 G .403(d, the \214rst ar).1
-F .404(gument is the name of the command whose ar)-.18 F .404
-(guments are being completed, the second)-.18 F(ar)108 597.6 Q .52
+7.76 F(in)108 633.6 Q -.2(vo)-.4 G -.1(ke).2 G .404(d, the \214rst ar).1
+F .404(gument is the name of the command whose ar)-.18 F .403
+(guments are being completed, the second)-.18 F(ar)108 645.6 Q .52
 (gument is the w)-.18 F .52(ord being completed, and the third ar)-.1 F
 .52(gument is the w)-.18 F .52(ord preceding the w)-.1 F .52
-(ord being com-)-.1 F .103(pleted on the current command line.)108 609.6
-R .104(No \214ltering of the generated completions ag)5.104 F .104
-(ainst the w)-.05 F .104(ord being com-)-.1 F(pleted is performed; the \
+(ord being com-)-.1 F .104(pleted on the current command line.)108 657.6
+R .104(No \214ltering of the generated completions ag)5.104 F .103
+(ainst the w)-.05 F .103(ord being com-)-.1 F(pleted is performed; the \
 function or command has complete freedom in generating the matches.)108
-621.6 Q(An)108 638.4 Q 2.938(yf)-.15 G .437(unction speci\214ed with)
--2.938 F F1<ad46>2.937 E F0 .437(is in)2.937 F -.2(vo)-.4 G -.1(ke).2 G
+669.6 Q(An)108 686.4 Q 2.937(yf)-.15 G .437(unction speci\214ed with)
+-2.937 F F1<ad46>2.937 E F0 .437(is in)2.937 F -.2(vo)-.4 G -.1(ke).2 G
 2.937<648c>.1 G 2.937(rst. The)-2.937 F .437(function may use an)2.937 F
-2.937(yo)-.15 G 2.937(ft)-2.937 G .437(he shell f)-2.937 F .437
-(acilities, including)-.1 F(the)108 650.4 Q F1(compgen)2.956 E F0 -.2
-(bu)2.956 G .456(iltin described belo).2 F 1.756 -.65(w, t)-.25 H 2.956
-(og).65 G .456(enerate the matches.)-2.956 F .457
+2.937(yo)-.15 G 2.937(ft)-2.937 G .437(he shell f)-2.937 F .438
+(acilities, including)-.1 F(the)108 698.4 Q F1(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 F3(COMPREPL)108
-662.4 Q(Y)-.828 E F0(array v)2.25 E(ariable.)-.25 E(Ne)108 679.2 Q .081
-(xt, an)-.15 F 2.581(yc)-.15 G .081(ommand speci\214ed with the)-2.581 F
-F1<ad43>2.581 E F0 .081(option is in)2.581 F -.2(vo)-.4 G -.1(ke).2 G
-2.581(di).1 G 2.58(na)-2.581 G 2.58(ne)-2.58 G -.4(nv)-2.58 G .08
-(ironment equi).4 F -.25(va)-.25 G .08(lent to command sub-).25 F 2.858
-(stitution. It)108 691.2 R .359(should print a list of completions, one\
- per line, to the standard output.)2.858 F .359(Backslash may be used)
-5.359 F(to escape a ne)108 703.2 Q(wline, if necessary)-.25 E(.)-.65 E
-.377(After all of the possible completions are generated, an)108 720 R
-2.877<798c>-.15 G .377(lter speci\214ed with the)-2.877 F F1<ad58>2.876
-E F0 .376(option is applied to the)2.876 F(GNU Bash-3.1-de)72 768 Q -.15
-(ve)-.25 G 123.59(l2).15 G(005 Mar 15)-123.59 E(41)198.17 E 0 Cg EP
+710.4 Q(Y)-.828 E F0(array v)2.25 E(ariable.)-.25 E(Ne)108 727.2 Q 1.4
+(xt, an)-.15 F 3.9(yc)-.15 G 1.4(ommand speci\214ed with the)-3.9 F F1
+<ad43>3.901 E F0 1.401(option is in)3.901 F -.2(vo)-.4 G -.1(ke).2 G
+3.901(di).1 G 3.901(na)-3.901 G 3.901(ne)-3.901 G -.4(nv)-3.901 G 1.401
+(ironment equi).4 F -.25(va)-.25 G 1.401(lent to command).25 F
+(GNU Bash-3.1-beta1)72 768 Q(2005 Aug 27)122.91 E(41)197.89 E 0 Cg EP
 %%Page: 42 43
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E 3.181(list. The)108 84 R .681
-(\214lter is a pattern as used for pathname e)3.181 F .681(xpansion; a)
--.15 F/F1 10/Times-Bold@0 SF(&)3.181 E F0 .682
-(in the pattern is replaced with the te)3.182 F .682(xt of)-.15 F .523
-(the w)108 96 R .523(ord being completed.)-.1 F 3.023(Al)5.523 G(iteral)
--3.023 E F1(&)3.023 E F0 .522
+-.35 E 3.289(substitution. It)108 84 R .788(should print a list of comp\
+letions, one per line, to the standard output.)3.289 F .788
+(Backslash may be)5.788 F(used to escape a ne)108 96 Q
+(wline, if necessary)-.25 E(.)-.65 E .376
+(After all of the possible completions are generated, an)108 112.8 R
+2.877<798c>-.15 G .377(lter speci\214ed with the)-2.877 F/F1 10
+/Times-Bold@0 SF<ad58>2.877 E F0 .377(option is applied to the)2.877 F
+3.182(list. The)108 124.8 R .682
+(\214lter is a pattern as used for pathname e)3.182 F .681(xpansion; a)
+-.15 F F1(&)3.181 E F0 .681(in the pattern is replaced with the te)3.181
+F .681(xt of)-.15 F .522(the w)108 136.8 R .522(ord being completed.)-.1
+F 3.022(Al)5.522 G(iteral)-3.022 E F1(&)3.022 E F0 .523
 (may be escaped with a backslash; the backslash is remo)3.022 F -.15(ve)
--.15 G 3.022(db).15 G(efore)-3.022 E .849(attempting a match.)108 108 R
-(An)5.849 E 3.349(yc)-.15 G .849
-(ompletion that matches the pattern will be remo)-3.349 F -.15(ve)-.15 G
-3.35(df).15 G .85(rom the list.)-3.35 F 3.35(Al)5.85 G(eading)-3.35 E F1
-(!)3.35 E F0(ne)108 120 Q -.05(ga)-.15 G
+-.15 G 3.023(db).15 G(efore)-3.023 E .85(attempting a match.)108 148.8 R
+(An)5.85 E 3.35(yc)-.15 G .849
+(ompletion that matches the pattern will be remo)-3.35 F -.15(ve)-.15 G
+3.349(df).15 G .849(rom the list.)-3.349 F 3.349(Al)5.849 G(eading)
+-3.349 E F1(!)3.349 E F0(ne)108 160.8 Q -.05(ga)-.15 G
 (tes the pattern; in this case an).05 E 2.5(yc)-.15 G
 (ompletion not matching the pattern will be remo)-2.5 E -.15(ve)-.15 G
-(d.).15 E(Finally)108 136.8 Q 3.087(,a)-.65 G .887 -.15(ny p)-3.087 H
-.587(re\214x and suf).15 F .587(\214x speci\214ed with the)-.25 F F1
+(d.).15 E(Finally)108 177.6 Q 3.086(,a)-.65 G .886 -.15(ny p)-3.086 H
+.586(re\214x and suf).15 F .587(\214x speci\214ed with the)-.25 F F1
 <ad50>3.087 E F0(and)3.087 E F1<ad53>3.087 E F0 .587
 (options are added to each member of the com-)3.087 F(pletion list, and\
  the result is returned to the readline completion code as the list of \
-possible completions.)108 148.8 Q .246(If the pre)108 165.6 R .247
+possible completions.)108 189.6 Q .247(If the pre)108 206.4 R .247
 (viously-applied actions do not generate an)-.25 F 2.747(ym)-.15 G .247
 (atches, and the)-2.747 F F1 .247(\255o dir)2.747 F(names)-.15 E F0 .247
-(option w)2.747 F .247(as supplied to)-.1 F F1(complete)108 177.6 Q F0
+(option w)2.747 F .246(as supplied to)-.1 F F1(complete)108 218.4 Q F0
 (when the compspec w)2.5 E
-(as de\214ned, directory name completion is attempted.)-.1 E .462
-(If the)108 194.4 R F1 .462(\255o plusdirs)2.962 F F0 .462(option w)
+(as de\214ned, directory name completion is attempted.)-.1 E .461
+(If the)108 235.2 R F1 .462(\255o plusdirs)2.961 F F0 .462(option w)
 2.962 F .462(as supplied to)-.1 F F1(complete)2.962 E F0 .462
 (when the compspec w)2.962 F .462(as de\214ned, directory name com-)-.1
-F(pletion is attempted and an)108 206.4 Q 2.5(ym)-.15 G
-(atches are added to the results of the other actions.)-2.5 E .559
-(By def)108 223.2 R .559(ault, if a compspec is found, whate)-.1 F -.15
-(ve)-.25 G 3.059(ri).15 G 3.059(tg)-3.059 G .56
-(enerates is returned to the completion code as the full set)-3.059 F
-.632(of possible completions.)108 235.2 R .632(The def)5.632 F(ault)-.1
-E F1(bash)3.132 E F0 .631
-(completions are not attempted, and the readline def)3.131 F .631
-(ault of \214le-)-.1 F .558(name completion is disabled.)108 247.2 R
-.558(If the)5.558 F F1 .559(\255o bashdefault)3.059 F F0 .559(option w)
-3.059 F .559(as supplied to)-.1 F F1(complete)3.059 E F0 .559
-(when the compspec)3.059 F -.1(wa)108 259.2 S 3.172(sd).1 G .672
-(e\214ned, the)-3.172 F F1(bash)3.172 E F0(def)3.172 E .671
+F(pletion is attempted and an)108 247.2 Q 2.5(ym)-.15 G
+(atches are added to the results of the other actions.)-2.5 E .56
+(By def)108 264 R .56(ault, if a compspec is found, whate)-.1 F -.15(ve)
+-.25 G 3.06(ri).15 G 3.06(tg)-3.06 G .559
+(enerates is returned to the completion code as the full set)-3.06 F
+.631(of possible completions.)108 276 R .631(The def)5.631 F(ault)-.1 E
+F1(bash)3.131 E F0 .631
+(completions are not attempted, and the readline def)3.131 F .632
+(ault of \214le-)-.1 F .559(name completion is disabled.)108 288 R .559
+(If the)5.559 F F1 .559(\255o bashdefault)3.059 F F0 .559(option w)3.059
+F .559(as supplied to)-.1 F F1(complete)3.058 E F0 .558
+(when the compspec)3.058 F -.1(wa)108 300 S 3.171(sd).1 G .671
+(e\214ned, the)-3.171 F F1(bash)3.171 E F0(def)3.171 E .671
 (ault completions are attempted if the compspec generates no matches.)
--.1 F .671(If the)5.671 F F1<ad6f>3.171 E(default)108 271.2 Q F0 1.207
-(option w)3.706 F 1.207(as supplied to)-.1 F F1(complete)3.707 E F0
+-.1 F .672(If the)5.672 F F1<ad6f>3.172 E(default)108 312 Q F0 1.207
+(option w)3.707 F 1.207(as supplied to)-.1 F F1(complete)3.707 E F0
 1.207(when the compspec w)3.707 F 1.207(as de\214ned, readline')-.1 F
-3.707(sd)-.55 G(ef)-3.707 E 1.207(ault completion)-.1 F
-(will be performed if the compspec \(and, if attempted, the def)108
-283.2 Q(ault)-.1 E F1(bash)2.5 E F0(completions\) generate no matches.)
-2.5 E .245(When a compspec indicates that directory name completion is \
-desired, the programmable completion func-)108 300 R .632(tions force r\
-eadline to append a slash to completed names which are symbolic links t\
-o directories, subject)108 312 R 2.762(to the v)108 324 R 2.762
-(alue of the)-.25 F F1(mark\255dir)5.262 E(ectories)-.18 E F0 2.761
-(readline v)5.262 F 2.761(ariable, re)-.25 F -.05(ga)-.15 G 2.761
-(rdless of the setting of the).05 F F1(mark-sym-)5.261 E(link)108 336 Q
-(ed\255dir)-.1 E(ectories)-.18 E F0(readline v)2.5 E(ariable.)-.25 E/F2
-10.95/Times-Bold@0 SF(HIST)72 352.8 Q(OR)-.197 E(Y)-.383 E F0 .371
-(When the)108 364.8 R F1 .371(\255o history)2.871 F F0 .371
-(option to the)2.871 F F1(set)2.872 E F0 -.2(bu)2.872 G .372
-(iltin is enabled, the shell pro).2 F .372(vides access to the)-.15 F/F3
-10/Times-Italic@0 SF .372(command history)2.872 F F0(,)A .032
-(the list of commands pre)108 376.8 R .031(viously typed.)-.25 F .031
+3.707(sd)-.55 G(ef)-3.707 E 1.206(ault completion)-.1 F
+(will be performed if the compspec \(and, if attempted, the def)108 324
+Q(ault)-.1 E F1(bash)2.5 E F0(completions\) generate no matches.)2.5 E
+.245(When a compspec indicates that directory name completion is desire\
+d, the programmable completion func-)108 340.8 R .633(tions force readl\
+ine to append a slash to completed names which are symbolic links to di\
+rectories, subject)108 352.8 R 2.761(to the v)108 364.8 R 2.761
+(alue of the)-.25 F F1(mark\255dir)5.261 E(ectories)-.18 E F0 2.761
+(readline v)5.261 F 2.761(ariable, re)-.25 F -.05(ga)-.15 G 2.762
+(rdless of the setting of the).05 F F1(mark-sym-)5.262 E(link)108 376.8
+Q(ed\255dir)-.1 E(ectories)-.18 E F0(readline v)2.5 E(ariable.)-.25 E/F2
+10.95/Times-Bold@0 SF(HIST)72 393.6 Q(OR)-.197 E(Y)-.383 E F0 .372
+(When the)108 405.6 R F1 .372(\255o history)2.872 F F0 .372
+(option to the)2.872 F F1(set)2.872 E F0 -.2(bu)2.872 G .372
+(iltin is enabled, the shell pro).2 F .371(vides access to the)-.15 F/F3
+10/Times-Italic@0 SF .371(command history)2.871 F F0(,)A .031
+(the list of commands pre)108 417.6 R .031(viously typed.)-.25 F .031
 (The v)5.031 F .031(alue of the)-.25 F F1(HISTSIZE)2.531 E F0 -.25(va)
-2.531 G .031(riable is used as the number of com-).25 F .429
-(mands to sa)108 388.8 R .729 -.15(ve i)-.2 H 2.929(nah).15 G .429
-(istory list.)-2.929 F .429(The te)5.429 F .429(xt of the last)-.15 F/F4
-9/Times-Bold@0 SF(HISTSIZE)2.93 E F0 .43(commands \(def)2.68 F .43
-(ault 500\) is sa)-.1 F -.15(ve)-.2 G 2.93(d. The).15 F(shell)2.93 E
-.287(stores each command in the history list prior to parameter and v)
-108 400.8 R .287(ariable e)-.25 F .287(xpansion \(see)-.15 F F4(EXP)
-2.787 E(ANSION)-.666 E F0(abo)2.537 E -.15(ve)-.15 G(\)).15 E -.2(bu)108
-412.8 S 4.065(ta).2 G 1.565(fter history e)-4.065 F 1.565
+2.531 G .031(riable is used as the number of com-).25 F .43(mands to sa)
+108 429.6 R .73 -.15(ve i)-.2 H 2.93(nah).15 G .43(istory list.)-2.93 F
+.43(The te)5.43 F .429(xt of the last)-.15 F/F4 9/Times-Bold@0 SF
+(HISTSIZE)2.929 E F0 .429(commands \(def)2.679 F .429(ault 500\) is sa)
+-.1 F -.15(ve)-.2 G 2.929(d. The).15 F(shell)2.929 E .287
+(stores each command in the history list prior to parameter and v)108
+441.6 R .287(ariable e)-.25 F .287(xpansion \(see)-.15 F F4(EXP)2.787 E
+(ANSION)-.666 E F0(abo)2.537 E -.15(ve)-.15 G(\)).15 E -.2(bu)108 453.6
+S 4.066(ta).2 G 1.565(fter history e)-4.066 F 1.565
 (xpansion is performed, subject to the v)-.15 F 1.565
 (alues of the shell v)-.25 F(ariables)-.25 E F4(HISTIGNORE)4.065 E F0
-(and)3.816 E F4(HISTCONTR)108 424.8 Q(OL)-.27 E/F5 9/Times-Roman@0 SF(.)
+(and)3.815 E F4(HISTCONTR)108 465.6 Q(OL)-.27 E/F5 9/Times-Roman@0 SF(.)
 A F0 .082
 (On startup, the history is initialized from the \214le named by the v)
-108 441.6 R(ariable)-.25 E F4(HISTFILE)2.582 E F0(\(def)2.332 E(ault)-.1
-E F3(~/.bash_history)2.582 E F0(\).)A .315(The \214le named by the v)108
-453.6 R .315(alue of)-.25 F F4(HISTFILE)2.815 E F0 .315
+108 482.4 R(ariable)-.25 E F4(HISTFILE)2.583 E F0(\(def)2.333 E(ault)-.1
+E F3(~/.bash_history)2.583 E F0(\).)A .315(The \214le named by the v)108
+494.4 R .315(alue of)-.25 F F4(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 .953
-(lines speci\214ed by the v)108 465.6 R .953(alue of)-.25 F F4
+.315(ontain no more than the number of)-2.815 F .952
+(lines speci\214ed by the v)108 506.4 R .953(alue of)-.25 F F4
 (HISTFILESIZE)3.453 E F5(.)A F0 .953(When an interacti)5.453 F 1.253
 -.15(ve s)-.25 H .953(hell e).15 F .953(xits, the last)-.15 F F4
-($HISTSIZE)3.452 E F0(lines)3.202 E .649
-(are copied from the history list to)108 477.6 R F4($HISTFILE)3.15 E F5
-(.)A F0 .65(If the)5.15 F F1(histappend)3.15 E F0 .65
+($HISTSIZE)3.453 E F0(lines)3.203 E .65
+(are copied from the history list to)108 518.4 R F4($HISTFILE)3.15 E F5
+(.)A F0 .65(If the)5.15 F F1(histappend)3.15 E F0 .649
 (shell option is enabled \(see the descrip-)3.15 F .141(tion of)108
-489.6 R F1(shopt)2.641 E F0(under)2.641 E F4 .141(SHELL B)2.641 F(UIL)
+530.4 R F1(shopt)2.641 E F0(under)2.641 E F4 .141(SHELL B)2.641 F(UIL)
 -.09 E .141(TIN COMMANDS)-.828 F F0(belo)2.391 E .141
 (w\), the lines are appended to the history \214le, other)-.25 F(-)-.2 E
-.572(wise the history \214le is o)108 501.6 R -.15(ve)-.15 G 3.073
+.573(wise the history \214le is o)108 542.4 R -.15(ve)-.15 G 3.073
 (rwritten. If).15 F F4(HISTFILE)3.073 E F0 .573
 (is unset, or if the history \214le is unwritable, the history is)2.823
-F 1.142(not sa)108 513.6 R -.15(ve)-.2 G 3.642(d. After).15 F(sa)3.642 E
-1.142(ving the history)-.2 F 3.642(,t)-.65 G 1.141
-(he history \214le is truncated to contain no more than)-3.642 F F4
-(HISTFILESIZE)3.641 E F0 2.5(lines. If)108 525.6 R F4(HISTFILESIZE)2.5 E
-F0(is not set, no truncation is performed.)2.25 E 1.293(The b)108 542.4
-R 1.293(uiltin command)-.2 F F1(fc)3.793 E F0(\(see)3.793 E F4 1.293
-(SHELL B)3.793 F(UIL)-.09 E 1.293(TIN COMMANDS)-.828 F F0(belo)3.543 E
-1.294(w\) may be used to list or edit and re-)-.25 F -.15(exe)108 554.4
-S .674(cute a portion of the history list.).15 F(The)5.673 E F1(history)
+F 1.141(not sa)108 554.4 R -.15(ve)-.2 G 3.641(d. After).15 F(sa)3.641 E
+1.141(ving the history)-.2 F 3.641(,t)-.65 G 1.142
+(he history \214le is truncated to contain no more than)-3.641 F F4
+(HISTFILESIZE)3.642 E F0 2.5(lines. If)108 566.4 R F4(HISTFILESIZE)2.5 E
+F0(is not set, no truncation is performed.)2.25 E 1.294(The b)108 583.2
+R 1.294(uiltin command)-.2 F F1(fc)3.794 E F0(\(see)3.794 E F4 1.293
+(SHELL B)3.794 F(UIL)-.09 E 1.293(TIN COMMANDS)-.828 F F0(belo)3.543 E
+1.293(w\) may be used to list or edit and re-)-.25 F -.15(exe)108 595.2
+S .673(cute a portion of the history list.).15 F(The)5.673 E F1(history)
 3.173 E F0 -.2(bu)3.173 G .673
-(iltin may be used to display or modify the history list).2 F .279
-(and manipulate the history \214le.)108 566.4 R .279
+(iltin may be used to display or modify the history list).2 F .28
+(and manipulate the history \214le.)108 607.2 R .279
 (When using command-line editing, search commands are a)5.279 F -.25(va)
--.2 G .28(ilable in each).25 F(editing mode that pro)108 578.4 Q
-(vide access to the history list.)-.15 E 1.486(The shell allo)108 595.2
-R 1.486(ws control o)-.25 F -.15(ve)-.15 G 3.986(rw).15 G 1.486
+-.2 G .279(ilable in each).25 F(editing mode that pro)108 619.2 Q
+(vide access to the history list.)-.15 E 1.485(The shell allo)108 636 R
+1.485(ws control o)-.25 F -.15(ve)-.15 G 3.986(rw).15 G 1.486
 (hich commands are sa)-3.986 F -.15(ve)-.2 G 3.986(do).15 G 3.986(nt)
--3.986 G 1.486(he history list.)-3.986 F(The)6.485 E F4(HISTCONTR)3.985
-E(OL)-.27 E F0(and)3.735 E F4(HISTIGNORE)108 607.2 Q F0 -.25(va)2.707 G
-.457(riables may be set to cause the shell to sa).25 F .758 -.15(ve o)
--.2 H .458(nly a subset of the commands entered.).15 F(The)5.458 E F1
-(cmdhist)108 619.2 Q F0 .75
+-3.986 G 1.486(he history list.)-3.986 F(The)6.486 E F4(HISTCONTR)3.986
+E(OL)-.27 E F0(and)3.736 E F4(HISTIGNORE)108 648 Q F0 -.25(va)2.708 G
+.458(riables may be set to cause the shell to sa).25 F .757 -.15(ve o)
+-.2 H .457(nly a subset of the commands entered.).15 F(The)5.457 E F1
+(cmdhist)108 660 Q F0 .75
 (shell option, if enabled, causes the shell to attempt to sa)3.25 F 1.05
 -.15(ve e)-.2 H .75(ach line of a multi-line command in).15 F 1.077
-(the same history entry)108 631.2 R 3.577(,a)-.65 G 1.077
+(the same history entry)108 672 R 3.577(,a)-.65 G 1.077
 (dding semicolons where necessary to preserv)-3.577 F 3.577(es)-.15 G
-1.077(yntactic correctness.)-3.577 F(The)6.077 E F1(lithist)3.577 E F0
-.374(shell option causes the shell to sa)108 643.2 R .674 -.15(ve t)-.2
-H .374(he command with embedded ne).15 F .373
-(wlines instead of semicolons.)-.25 F .373(See the)5.373 F .318
-(description of the)108 655.2 R F1(shopt)2.818 E F0 -.2(bu)2.818 G .318
+1.077(yntactic correctness.)-3.577 F(The)6.077 E F1(lithist)3.576 E F0
+.373(shell option causes the shell to sa)108 684 R .674 -.15(ve t)-.2 H
+.374(he command with embedded ne).15 F .374
+(wlines instead of semicolons.)-.25 F .374(See the)5.374 F .319
+(description of the)108 696 R F1(shopt)2.819 E F0 -.2(bu)2.819 G .318
 (iltin belo).2 F 2.818(wu)-.25 G(nder)-2.818 E F4 .318(SHELL B)2.818 F
-(UIL)-.09 E .318(TIN COMMANDS)-.828 F F0 .319
-(for information on setting and)2.568 F(unsetting shell options.)108
-667.2 Q F2(HIST)72 684 Q(OR)-.197 E 2.738(YE)-.383 G(XP)-2.738 E(ANSION)
--.81 E F0 .611(The shell supports a history e)108 696 R .611
-(xpansion feature that is similar to the history e)-.15 F .61
-(xpansion in)-.15 F F1(csh.)3.11 E F0 .61(This section)5.61 F .87
-(describes what syntax features are a)108 708 R -.25(va)-.2 G 3.371
-(ilable. This).25 F .871(feature is enabled by def)3.371 F .871
-(ault for interacti)-.1 F 1.171 -.15(ve s)-.25 H .871(hells, and).15 F
-2.014(can be disabled using the)108 720 R F1(+H)4.514 E F0 2.014
-(option to the)4.514 F F1(set)4.514 E F0 -.2(bu)4.514 G 2.014
-(iltin command \(see).2 F F4 2.013(SHELL B)4.513 F(UIL)-.09 E 2.013
-(TIN COMMANDS)-.828 F F0(GNU Bash-3.1-de)72 768 Q -.15(ve)-.25 G 123.59
-(l2).15 G(005 Mar 15)-123.59 E(42)198.17 E 0 Cg EP
+(UIL)-.09 E .318(TIN COMMANDS)-.828 F F0 .318
+(for information on setting and)2.568 F(unsetting shell options.)108 708
+Q(GNU Bash-3.1-beta1)72 768 Q(2005 Aug 27)122.91 E(42)197.89 E 0 Cg EP
 %%Page: 43 44
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E(belo)108 84 Q 2.5(w\). Non-interacti)-.25 F .3 -.15(ve s)-.25 H
+-.35 E/F1 10.95/Times-Bold@0 SF(HIST)72 84 Q(OR)-.197 E 2.738(YE)-.383 G
+(XP)-2.738 E(ANSION)-.81 E F0 .61(The shell supports a history e)108 96
+R .611(xpansion feature that is similar to the history e)-.15 F .611
+(xpansion in)-.15 F/F2 10/Times-Bold@0 SF(csh.)3.111 E F0 .611
+(This section)5.611 F .871(describes what syntax features are a)108 108
+R -.25(va)-.2 G 3.371(ilable. This).25 F .871(feature is enabled by def)
+3.371 F .87(ault for interacti)-.1 F 1.17 -.15(ve s)-.25 H .87
+(hells, and).15 F 2.013(can be disabled using the)108 120 R F2(+H)4.514
+E F0 2.014(option to the)4.514 F F2(set)4.514 E F0 -.2(bu)4.514 G 2.014
+(iltin command \(see).2 F/F3 9/Times-Bold@0 SF 2.014(SHELL B)4.514 F
+(UIL)-.09 E 2.014(TIN COMMANDS)-.828 F F0(belo)108 132 Q 2.5
+(w\). Non-interacti)-.25 F .3 -.15(ve s)-.25 H
 (hells do not perform history e).15 E(xpansion by def)-.15 E(ault.)-.1 E
-1.305(History e)108 100.8 R 1.305(xpansions introduce w)-.15 F 1.306(or\
+1.306(History e)108 148.8 R 1.306(xpansions introduce w)-.15 F 1.306(or\
 ds from the history list into the input stream, making it easy to repea\
-t)-.1 F .21(commands, insert the ar)108 112.8 R .21(guments to a pre)
--.18 F .209
+t)-.1 F .209(commands, insert the ar)108 160.8 R .209(guments to a pre)
+-.18 F .21
 (vious command into the current input line, or \214x errors in pre)-.25
-F(vious)-.25 E(commands quickly)108 124.8 Q(.)-.65 E 1.163(History e)108
-141.6 R 1.163(xpansion is performed immediately after a complete line i\
-s read, before the shell breaks it into)-.15 F -.1(wo)108 153.6 S 3.2
+F(vious)-.25 E(commands quickly)108 172.8 Q(.)-.65 E 1.164(History e)108
+189.6 R 1.163(xpansion is performed immediately after a complete line i\
+s read, before the shell breaks it into)-.15 F -.1(wo)108 201.6 S 3.2
 (rds. It).1 F(tak)3.2 E .7(es place in tw)-.1 F 3.2(op)-.1 G 3.2
 (arts. The)-3.2 F .7
 (\214rst is to determine which line from the history list to use during)
-3.2 F 4.367(substitution. The)108 165.6 R 1.868(second is to select por\
-tions of that line for inclusion into the current one.)4.367 F 1.868
-(The line)6.868 F .663(selected from the history is the)108 177.6 R/F1
-10/Times-Italic@0 SF -.15(ev)3.163 G(ent).15 E F0 3.163(,a)C .663
-(nd the portions of that line that are acted upon are)-3.163 F F1(wor)
-3.162 E(ds)-.37 E F0 5.662(.V)C(arious)-6.772 E F1(modi\214er)108 189.6
-Q(s)-.1 E F0 .226(are a)2.726 F -.25(va)-.2 G .226
-(ilable to manipulate the selected w).25 F 2.726(ords. The)-.1 F .227
-(line is brok)2.726 F .227(en into w)-.1 F .227(ords in the same f)-.1 F
-(ashion)-.1 E .352(as when reading input, so that se)108 201.6 R -.15
-(ve)-.25 G(ral).15 E F1(metac)2.852 E(har)-.15 E(acter)-.15 E F0 .351
-(-separated w)B .351(ords surrounded by quotes are considered)-.1 F .624
-(one w)108 213.6 R 3.124(ord. History)-.1 F -.15(ex)3.124 G .624
-(pansions are introduced by the appearance of the history e).15 F .625
-(xpansion character)-.15 F 3.125(,w)-.4 G(hich)-3.125 E(is)108 225.6 Q
-/F2 10/Times-Bold@0 SF(!)3.333 E F0(by def)3.333 E 2.5(ault. Only)-.1 F
-(backslash \()2.5 E F2(\\).833 E F0 2.5(\)a).833 G
-(nd single quotes can quote the history e)-2.5 E(xpansion character)-.15
-E(.)-.55 E(Se)108 242.4 Q -.15(ve)-.25 G .03
-(ral characters inhibit history e).15 F .03
+3.2 F 4.368(substitution. The)108 213.6 R 1.868(second is to select por\
+tions of that line for inclusion into the current one.)4.368 F 1.867
+(The line)6.867 F .662(selected from the history is the)108 225.6 R/F4
+10/Times-Italic@0 SF -.15(ev)3.162 G(ent).15 E F0 3.162(,a)C .663
+(nd the portions of that line that are acted upon are)-3.162 F F4(wor)
+3.163 E(ds)-.37 E F0 5.663(.V)C(arious)-6.773 E F4(modi\214er)108 237.6
+Q(s)-.1 E F0 .227(are a)2.727 F -.25(va)-.2 G .227
+(ilable to manipulate the selected w).25 F 2.727(ords. The)-.1 F .226
+(line is brok)2.726 F .226(en into w)-.1 F .226(ords in the same f)-.1 F
+(ashion)-.1 E .351(as when reading input, so that se)108 249.6 R -.15
+(ve)-.25 G(ral).15 E F4(metac)2.852 E(har)-.15 E(acter)-.15 E F0 .352
+(-separated w)B .352(ords surrounded by quotes are considered)-.1 F .625
+(one w)108 261.6 R 3.125(ord. History)-.1 F -.15(ex)3.125 G .624
+(pansions are introduced by the appearance of the history e).15 F .624
+(xpansion character)-.15 F 3.124(,w)-.4 G(hich)-3.124 E(is)108 273.6 Q
+F2(!)3.333 E F0(by def)3.333 E 2.5(ault. Only)-.1 F(backslash \()2.5 E
+F2(\\).833 E F0 2.5(\)a).833 G(nd single quotes can quote the history e)
+-2.5 E(xpansion character)-.15 E(.)-.55 E(Se)108 290.4 Q -.15(ve)-.25 G
+.03(ral characters inhibit history e).15 F .03
 (xpansion if found immediately follo)-.15 F .03(wing the history e)-.25
-F .03(xpansion character)-.15 F(,)-.4 E -2.15 -.25(ev e)108 254.4 T
-3.162(ni).25 G 3.162(fi)-3.162 G 3.162(ti)-3.162 G 3.162(su)-3.162 G
+F .03(xpansion character)-.15 F(,)-.4 E -2.15 -.25(ev e)108 302.4 T
+3.163(ni).25 G 3.163(fi)-3.163 G 3.162(ti)-3.163 G 3.162(su)-3.162 G
 .662(nquoted: space, tab, ne)-3.162 F .662(wline, carriage return, and)
 -.25 F F2(=)3.162 E F0 5.662(.I)C 3.162(ft)-5.662 G(he)-3.162 E F2
-(extglob)3.162 E F0 .662(shell option is enabled,)3.162 F F2(\()3.163 E
-F0(will also inhibit e)108 266.4 Q(xpansion.)-.15 E(Se)108 283.2 Q -.15
-(ve)-.25 G .11(ral shell options settable with the).15 F F2(shopt)2.61 E
-F0 -.2(bu)2.61 G .109(iltin may be used to tailor the beha).2 F .109
-(vior of history e)-.2 F(xpansion.)-.15 E 1.258(If the)108 295.2 R F2
-(histv)3.758 E(erify)-.1 E F0 1.259
-(shell option is enabled \(see the description of the)3.758 F F2(shopt)
-3.759 E F0 -.2(bu)3.759 G 1.259(iltin\), and).2 F F2 -.18(re)3.759 G
-(adline).18 E F0 1.259(is being)3.759 F 1.498(used, history substitutio\
-ns are not immediately passed to the shell parser)108 307.2 R 6.497(.I)
--.55 G 1.497(nstead, the e)-6.497 F 1.497(xpanded line is)-.15 F 2.228
-(reloaded into the)108 319.2 R F2 -.18(re)4.728 G(adline).18 E F0 2.228
+(extglob)3.162 E F0 .662(shell option is enabled,)3.162 F F2(\()3.162 E
+F0(will also inhibit e)108 314.4 Q(xpansion.)-.15 E(Se)108 331.2 Q -.15
+(ve)-.25 G .109(ral shell options settable with the).15 F F2(shopt)2.609
+E F0 -.2(bu)2.609 G .11(iltin may be used to tailor the beha).2 F .11
+(vior of history e)-.2 F(xpansion.)-.15 E 1.259(If the)108 343.2 R F2
+(histv)3.759 E(erify)-.1 E F0 1.259
+(shell option is enabled \(see the description of the)3.759 F F2(shopt)
+3.759 E F0 -.2(bu)3.759 G 1.259(iltin\), and).2 F F2 -.18(re)3.758 G
+(adline).18 E F0 1.258(is being)3.758 F 1.497(used, history substitutio\
+ns are not immediately passed to the shell parser)108 355.2 R 6.498(.I)
+-.55 G 1.498(nstead, the e)-6.498 F 1.498(xpanded line is)-.15 F 2.228
+(reloaded into the)108 367.2 R F2 -.18(re)4.728 G(adline).18 E F0 2.228
 (editing b)4.728 F(uf)-.2 E 2.228(fer for further modi\214cation.)-.25 F
 (If)7.228 E F2 -.18(re)4.728 G(adline).18 E F0 2.228
-(is being used, and the)4.728 F F2(histr)108 331.2 Q(eedit)-.18 E F0
+(is being used, and the)4.728 F F2(histr)108 379.2 Q(eedit)-.18 E F0
 1.202(shell option is enabled, a f)3.702 F 1.202
 (ailed history substitution will be reloaded into the)-.1 F F2 -.18(re)
-3.702 G(adline).18 E F0(editing)3.702 E -.2(bu)108 343.2 S -.25(ff).2 G
-1.16(er for correction.).25 F(The)6.16 E F2<ad70>3.66 E F0 1.16
-(option to the)3.66 F F2(history)3.66 E F0 -.2(bu)3.661 G 1.161
-(iltin command may be used to see what a history).2 F -.15(ex)108 355.2
-S .056(pansion will do before using it.).15 F(The)5.056 E F2<ad73>2.556
-E F0 .056(option to the)2.556 F F2(history)2.555 E F0 -.2(bu)2.555 G
-.055(iltin may be used to add commands to the).2 F
-(end of the history list without actually e)108 367.2 Q -.15(xe)-.15 G
+3.702 G(adline).18 E F0(editing)3.702 E -.2(bu)108 391.2 S -.25(ff).2 G
+1.161(er for correction.).25 F(The)6.161 E F2<ad70>3.661 E F0 1.161
+(option to the)3.661 F F2(history)3.661 E F0 -.2(bu)3.661 G 1.16
+(iltin command may be used to see what a history).2 F -.15(ex)108 403.2
+S .055(pansion will do before using it.).15 F(The)5.055 E F2<ad73>2.555
+E F0 .055(option to the)2.555 F F2(history)2.556 E F0 -.2(bu)2.556 G
+.056(iltin may be used to add commands to the).2 F
+(end of the history list without actually e)108 415.2 Q -.15(xe)-.15 G
 (cuting them, so that the).15 E 2.5(ya)-.15 G(re a)-2.5 E -.25(va)-.2 G
-(ilable for subsequent recall.).25 E 2.2(The shell allo)108 384 R 2.2
+(ilable for subsequent recall.).25 E 2.2(The shell allo)108 432 R 2.2
 (ws control of the v)-.25 F 2.2(arious characters used by the history e)
--.25 F 2.2(xpansion mechanism \(see the)-.15 F(description of)108 396 Q
+-.25 F 2.2(xpansion mechanism \(see the)-.15 F(description of)108 444 Q
 F2(histchars)2.5 E F0(abo)2.5 E .3 -.15(ve u)-.15 H(nder).15 E F2
-(Shell V)2.5 E(ariables)-.92 E F0(\).)A F2(Ev)87 412.8 Q
-(ent Designators)-.1 E F0(An e)108 424.8 Q -.15(ve)-.25 G(nt designator\
+(Shell V)2.5 E(ariables)-.92 E F0(\).)A F2(Ev)87 460.8 Q
+(ent Designators)-.1 E F0(An e)108 472.8 Q -.15(ve)-.25 G(nt designator\
  is a reference to a command line entry in the history list.).15 E F2(!)
-108 441.6 Q F0 1.608(Start a history substitution, e)32.67 F 1.608
+108 489.6 Q F0 1.607(Start a history substitution, e)32.67 F 1.607
 (xcept when follo)-.15 F 1.607(wed by a)-.25 F F2(blank)4.107 E F0 4.107
-(,n)C -.25(ew)-4.107 G 1.607(line, carriage return, = or \().25 F
-(\(when the)144 453.6 Q F2(extglob)2.5 E F0
+(,n)C -.25(ew)-4.107 G 1.608(line, carriage return, = or \().25 F
+(\(when the)144 501.6 Q F2(extglob)2.5 E F0
 (shell option is enabled using the)2.5 E F2(shopt)2.5 E F0 -.2(bu)2.5 G
-(iltin\).).2 E F2(!)108 465.6 Q F1(n)A F0(Refer to command line)27.67 E
-F1(n)2.5 E F0(.).24 E F2<21ad>108 477.6 Q F1(n)A F0
-(Refer to the current command line minus)21.97 E F1(n)2.5 E F0(.).24 E
-F2(!!)108 489.6 Q F0(Refer to the pre)29.34 E(vious command.)-.25 E
-(This is a synon)5 E(ym for `!\2551'.)-.15 E F2(!)108 501.6 Q F1(string)
-A F0(Refer to the most recent command starting with)9.33 E F1(string)2.5
-E F0(.).22 E F2(!?)108 513.6 Q F1(string)A F2([?])A F0 1.022
-(Refer to the most recent command containing)144 525.6 R F1(string)3.522
+(iltin\).).2 E F2(!)108 513.6 Q F4(n)A F0(Refer to command line)27.67 E
+F4(n)2.5 E F0(.).24 E F2<21ad>108 525.6 Q F4(n)A F0
+(Refer to the current command line minus)21.97 E F4(n)2.5 E F0(.).24 E
+F2(!!)108 537.6 Q F0(Refer to the pre)29.34 E(vious command.)-.25 E
+(This is a synon)5 E(ym for `!\2551'.)-.15 E F2(!)108 549.6 Q F4(string)
+A F0(Refer to the most recent command starting with)9.33 E F4(string)2.5
+E F0(.).22 E F2(!?)108 561.6 Q F4(string)A F2([?])A F0 1.022
+(Refer to the most recent command containing)144 573.6 R F4(string)3.522
 E F0 6.022(.T).22 G 1.022(he trailing)-6.022 F F2(?)3.522 E F0 1.022
-(may be omitted if)3.522 F F1(string)3.862 E F0(is)3.742 E(follo)144
-537.6 Q(wed immediately by a ne)-.25 E(wline.)-.25 E/F3 12/Times-Bold@0
-SF(^)108 554.6 Q F1(string1)-5 I F3(^)5 I F1(string2)-5 I F3(^)5 I F0
-2.63(Quick substitution.)144 561.6 R 2.629
-(Repeat the last command, replacing)7.629 F F1(string1)5.469 E F0(with)
-5.129 E F1(string2)5.129 E F0 7.629(.E).02 G(qui)-7.629 E -.25(va)-.25 G
-2.629(lent to).25 F -.74(``)144 573.6 S(!!:s/).74 E F1(string1)A F0(/)A
-F1(string2)A F0(/')A 2.5('\()-.74 G(see)-2.5 E F2(Modi\214ers)2.5 E F0
-(belo)2.5 E(w\).)-.25 E F2(!#)108 585.6 Q F0
+(may be omitted if)3.522 F F4(string)3.861 E F0(is)3.741 E(follo)144
+585.6 Q(wed immediately by a ne)-.25 E(wline.)-.25 E/F5 12/Times-Bold@0
+SF(^)108 602.6 Q F4(string1)-5 I F5(^)5 I F4(string2)-5 I F5(^)5 I F0
+2.629(Quick substitution.)144 609.6 R 2.629
+(Repeat the last command, replacing)7.629 F F4(string1)5.469 E F0(with)
+5.129 E F4(string2)5.129 E F0 7.629(.E).02 G(qui)-7.629 E -.25(va)-.25 G
+2.63(lent to).25 F -.74(``)144 621.6 S(!!:s/).74 E F4(string1)A F0(/)A
+F4(string2)A F0(/')A 2.5('\()-.74 G(see)-2.5 E F2(Modi\214ers)2.5 E F0
+(belo)2.5 E(w\).)-.25 E F2(!#)108 633.6 Q F0
 (The entire command line typed so f)27.67 E(ar)-.1 E(.)-.55 E F2 -.75
-(Wo)87 602.4 S(rd Designators).75 E F0 -.8(Wo)108 614.4 S 1.313
+(Wo)87 650.4 S(rd Designators).75 E F0 -.8(Wo)108 662.4 S 1.314
 (rd designators are used to select desired w).8 F 1.314(ords from the e)
--.1 F -.15(ve)-.25 G 3.814(nt. A).15 F F2(:)3.814 E F0 1.314
-(separates the e)3.814 F -.15(ve)-.25 G 1.314(nt speci\214cation).15 F
-.53(from the w)108 626.4 R .529(ord designator)-.1 F 5.529(.I)-.55 G
+-.1 F -.15(ve)-.25 G 3.814(nt. A).15 F F2(:)3.814 E F0 1.313
+(separates the e)3.813 F -.15(ve)-.25 G 1.313(nt speci\214cation).15 F
+.529(from the w)108 674.4 R .529(ord designator)-.1 F 5.529(.I)-.55 G
 3.029(tm)-5.529 G .529(ay be omitted if the w)-3.029 F .529
 (ord designator be)-.1 F .529(gins with a)-.15 F F2(^)3.029 E F0(,)A F2
 ($)3.029 E F0(,)A F2(*)3.029 E F0(,)A F2<ad>3.029 E F0 3.029(,o)C(r)
--3.029 E F2(%)3.029 E F0 5.529(.W)C(ords)-6.329 E 1.3
-(are numbered from the be)108 638.4 R 1.3
-(ginning of the line, with the \214rst w)-.15 F 1.301
-(ord being denoted by 0 \(zero\).)-.1 F -.8(Wo)6.301 G 1.301(rds are).8
-F(inserted into the current line separated by single spaces.)108 650.4 Q
-F2 2.5(0\()108 667.2 S(zer)-2.5 E(o\))-.18 E F0(The zeroth w)144 679.2 Q
-2.5(ord. F)-.1 F(or the shell, this is the command w)-.15 E(ord.)-.1 E
-F1(n)108.36 691.2 Q F0(The)30.64 E F1(n)2.5 E F0(th w)A(ord.)-.1 E F2(^)
-108 703.2 Q F0(The \214rst ar)32.67 E 2.5(gument. That)-.18 F(is, w)2.5
-E(ord 1.)-.1 E F2($)108 715.2 Q F0(The last ar)31 E(gument.)-.18 E
-(GNU Bash-3.1-de)72 768 Q -.15(ve)-.25 G 123.59(l2).15 G(005 Mar 15)
--123.59 E(43)198.17 E 0 Cg EP
+-3.029 E F2(%)3.029 E F0 5.53(.W)C(ords)-6.33 E 1.301
+(are numbered from the be)108 686.4 R 1.301
+(ginning of the line, with the \214rst w)-.15 F 1.3
+(ord being denoted by 0 \(zero\).)-.1 F -.8(Wo)6.3 G 1.3(rds are).8 F
+(inserted into the current line separated by single spaces.)108 698.4 Q
+(GNU Bash-3.1-beta1)72 768 Q(2005 Aug 27)122.91 E(43)197.89 E 0 Cg EP
 %%Page: 44 45
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E/F1 10/Times-Bold@0 SF(%)108 84 Q F0(The w)26 E
-(ord matched by the most recent `?)-.1 E/F2 10/Times-Italic@0 SF(string)
-A F0(?' search.)A F2(x)108.77 96 Q F1<ad>A F2(y)A F0 2.5(Ar)20.65 G
-(ange of w)-2.5 E(ords; `\255)-.1 E F2(y)A F0 2.5('a)C(bbre)-2.5 E
-(viates `0\255)-.25 E F2(y)A F0('.)A F1(*)108 108 Q F0 .316
-(All of the w)31 F .316(ords b)-.1 F .316(ut the zeroth.)-.2 F .315
-(This is a synon)5.315 F .315(ym for `)-.15 F F2(1\255$)A F0 2.815
-('. It)B .315(is not an error to use)2.815 F F1(*)2.815 E F0 .315
-(if there is)2.815 F(just one w)144 120 Q(ord in the e)-.1 E -.15(ve)
--.25 G(nt; the empty string is returned in that case.).15 E F1(x*)108
-132 Q F0(Abbre)26 E(viates)-.25 E F2(x\255$)2.5 E F0(.)A F1<78ad>108 144
-Q F0(Abbre)25.3 E(viates)-.25 E F2(x\255$)2.5 E F0(lik)2.5 E(e)-.1 E F1
-(x*)2.5 E F0 2.5(,b)C(ut omits the last w)-2.7 E(ord.)-.1 E(If a w)108
-160.8 Q(ord designator is supplied without an e)-.1 E -.15(ve)-.25 G
+-.35 E/F1 10/Times-Bold@0 SF 2.5(0\()108 84 S(zer)-2.5 E(o\))-.18 E F0
+(The zeroth w)144 96 Q 2.5(ord. F)-.1 F
+(or the shell, this is the command w)-.15 E(ord.)-.1 E/F2 10
+/Times-Italic@0 SF(n)108.36 108 Q F0(The)30.64 E F2(n)2.5 E F0(th w)A
+(ord.)-.1 E F1(^)108 120 Q F0(The \214rst ar)32.67 E 2.5(gument. That)
+-.18 F(is, w)2.5 E(ord 1.)-.1 E F1($)108 132 Q F0(The last ar)31 E
+(gument.)-.18 E F1(%)108 144 Q F0(The w)26 E
+(ord matched by the most recent `?)-.1 E F2(string)A F0(?' search.)A F2
+(x)108.77 156 Q F1<ad>A F2(y)A F0 2.5(Ar)20.65 G(ange of w)-2.5 E
+(ords; `\255)-.1 E F2(y)A F0 2.5('a)C(bbre)-2.5 E(viates `0\255)-.25 E
+F2(y)A F0('.)A F1(*)108 168 Q F0 .315(All of the w)31 F .315(ords b)-.1
+F .315(ut the zeroth.)-.2 F .315(This is a synon)5.315 F .315(ym for `)
+-.15 F F2(1\255$)A F0 2.815('. It)B .315(is not an error to use)2.815 F
+F1(*)2.816 E F0 .316(if there is)2.816 F(just one w)144 180 Q
+(ord in the e)-.1 E -.15(ve)-.25 G
+(nt; the empty string is returned in that case.).15 E F1(x*)108 192 Q F0
+(Abbre)26 E(viates)-.25 E F2(x\255$)2.5 E F0(.)A F1<78ad>108 204 Q F0
+(Abbre)25.3 E(viates)-.25 E F2(x\255$)2.5 E F0(lik)2.5 E(e)-.1 E F1(x*)
+2.5 E F0 2.5(,b)C(ut omits the last w)-2.7 E(ord.)-.1 E(If a w)108 220.8
+Q(ord designator is supplied without an e)-.1 E -.15(ve)-.25 G
 (nt speci\214cation, the pre).15 E(vious command is used as the e)-.25 E
--.15(ve)-.25 G(nt.).15 E F1(Modi\214ers)87 177.6 Q F0 .183
-(After the optional w)108 189.6 R .183(ord designator)-.1 F 2.683(,t)-.4
-G .184(here may appear a sequence of one or more of the follo)-2.683 F
-.184(wing modi\214ers,)-.25 F(each preceded by a `:'.)108 201.6 Q F1(h)
-108 218.4 Q F0(Remo)30.44 E .3 -.15(ve a t)-.15 H
+-.15(ve)-.25 G(nt.).15 E F1(Modi\214ers)87 237.6 Q F0 .184
+(After the optional w)108 249.6 R .184(ord designator)-.1 F 2.684(,t)-.4
+G .183(here may appear a sequence of one or more of the follo)-2.684 F
+.183(wing modi\214ers,)-.25 F(each preceded by a `:'.)108 261.6 Q F1(h)
+108 278.4 Q F0(Remo)30.44 E .3 -.15(ve a t)-.15 H
 (railing \214le name component, lea).15 E(ving only the head.)-.2 E F1
-(t)108 230.4 Q F0(Remo)32.67 E .3 -.15(ve a)-.15 H
+(t)108 290.4 Q F0(Remo)32.67 E .3 -.15(ve a)-.15 H
 (ll leading \214le name components, lea).15 E(ving the tail.)-.2 E F1(r)
-108 242.4 Q F0(Remo)31.56 E .3 -.15(ve a t)-.15 H(railing suf).15 E
+108 302.4 Q F0(Remo)31.56 E .3 -.15(ve a t)-.15 H(railing suf).15 E
 (\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 254.4 Q F0(Remo)31.56 E .3 -.15(ve a)
--.15 H(ll b).15 E(ut the trailing suf)-.2 E(\214x.)-.25 E F1(p)108 266.4
+(ving the basename.)-.2 E F1(e)108 314.4 Q F0(Remo)31.56 E .3 -.15(ve a)
+-.15 H(ll b).15 E(ut the trailing suf)-.2 E(\214x.)-.25 E F1(p)108 326.4
 Q F0(Print the ne)30.44 E 2.5(wc)-.25 G(ommand b)-2.5 E(ut do not e)-.2
-E -.15(xe)-.15 G(cute it.).15 E F1(q)108 278.4 Q F0
+E -.15(xe)-.15 G(cute it.).15 E F1(q)108 338.4 Q F0
 (Quote the substituted w)30.44 E(ords, escaping further substitutions.)
--.1 E F1(x)108 290.4 Q F0(Quote the substituted w)31 E(ords as with)-.1
+-.1 E F1(x)108 350.4 Q F0(Quote the substituted w)31 E(ords as with)-.1
 E F1(q)2.5 E F0 2.5(,b)C(ut break into w)-2.7 E(ords at)-.1 E F1(blanks)
-2.5 E F0(and ne)2.5 E(wlines.)-.25 E F1(s/)108 302.4 Q F2(old)A F1(/)A
-F2(ne)A(w)-.15 E F1(/)A F0(Substitute)144 314.4 Q F2(ne)3.082 E(w)-.15 E
-F0 .221(for the \214rst occurrence of)3.032 F F2(old)2.951 E F0 .221
+2.5 E F0(and ne)2.5 E(wlines.)-.25 E F1(s/)108 362.4 Q F2(old)A F1(/)A
+F2(ne)A(w)-.15 E F1(/)A F0(Substitute)144 374.4 Q F2(ne)3.081 E(w)-.15 E
+F0 .221(for the \214rst occurrence of)3.031 F F2(old)2.951 E F0 .221
 (in the e)3.491 F -.15(ve)-.25 G .221(nt line.).15 F(An)5.221 E 2.721
-(yd)-.15 G .221(elimiter can be used in place)-2.721 F .616(of /.)144
-326.4 R .617
+(yd)-.15 G .221(elimiter can be used in place)-2.721 F .617(of /.)144
+386.4 R .617
 (The \214nal delimiter is optional if it is the last character of the e)
-5.616 F -.15(ve)-.25 G .617(nt line.).15 F .617(The delimiter may)5.617
-F .666(be quoted in)144 338.4 R F2(old)3.396 E F0(and)3.936 E F2(ne)
+5.617 F -.15(ve)-.25 G .617(nt line.).15 F .616(The delimiter may)5.616
+F .666(be quoted in)144 398.4 R F2(old)3.396 E F0(and)3.936 E F2(ne)
 3.526 E(w)-.15 E F0 .666(with a single backslash.)3.476 F .666
 (If & appears in)5.666 F F2(ne)3.166 E(w)-.15 E F0 3.166(,i).31 G 3.166
 (ti)-3.166 G 3.166(sr)-3.166 G .666(eplaced by)-3.166 F F2(old)3.166 E
-F0 5.666(.A).77 G .274(single backslash will quote the &.)144 350.4 R
-(If)5.274 E F2(old)3.004 E F0 .274(is null, it is set to the last)3.544
-F F2(old)3.005 E F0 .275(substituted, or)3.545 F 2.775(,i)-.4 G 2.775
-(fn)-2.775 G 2.775(op)-2.775 G(re)-2.775 E(vi-)-.25 E
-(ous history substitutions took place, the last)144 362.4 Q F2(string)
+F0 5.666(.A).77 G .275(single backslash will quote the &.)144 410.4 R
+(If)5.275 E F2(old)3.004 E F0 .274(is null, it is set to the last)3.544
+F F2(old)3.004 E F0 .274(substituted, or)3.544 F 2.774(,i)-.4 G 2.774
+(fn)-2.774 G 2.774(op)-2.774 G(re)-2.774 E(vi-)-.25 E
+(ous history substitutions took place, the last)144 422.4 Q F2(string)
 2.84 E F0(in a)2.72 E F1(!?)2.5 E F2(string)A F1([?])A F0(search.)5 E F1
-(&)108 374.4 Q F0(Repeat the pre)27.67 E(vious substitution.)-.25 E F1
-(g)108 386.4 Q F0 .398(Cause changes to be applied o)31 F -.15(ve)-.15 G
-2.898(rt).15 G .398(he entire e)-2.898 F -.15(ve)-.25 G .398(nt line.)
-.15 F .397(This is used in conjunction with `)5.398 F F1(:s)A F0 2.897
-('\()C(e.g.,)-2.897 E(`)144 398.4 Q F1(:gs/)A F2(old)A F1(/)A F2(ne)A(w)
--.15 E F1(/)A F0 1.218('\) or `)B F1(:&)A F0 3.718('. If)B 1.218
-(used with `)3.718 F F1(:s)A F0 1.218(', an)B 3.718(yd)-.15 G 1.219
-(elimiter can be used in place of /, and the \214nal)-3.718 F .09
-(delimiter is optional if it is the last character of the e)144 410.4 R
--.15(ve)-.25 G .089(nt line.).15 F(An)5.089 E F1(a)2.589 E F0 .089
-(may be used as a synon)2.589 F .089(ym for)-.15 F F1(g)144 422.4 Q F0
-(.)A F1(G)108 434.4 Q F0(Apply the follo)28.22 E(wing `)-.25 E F1(s)A F0
-2.5('m)C(odi\214er once to each w)-2.5 E(ord in the e)-.1 E -.15(ve)-.25
-G(nt line.).15 E/F3 10.95/Times-Bold@0 SF(SHELL B)72 451.2 Q(UIL)-.11 E
-(TIN COMMANDS)-1.007 E F0 .062(Unless otherwise noted, each b)108 463.2
+(&)108 434.4 Q F0(Repeat the pre)27.67 E(vious substitution.)-.25 E F1
+(g)108 446.4 Q F0 .397(Cause changes to be applied o)31 F -.15(ve)-.15 G
+2.897(rt).15 G .398(he entire e)-2.897 F -.15(ve)-.25 G .398(nt line.)
+.15 F .398(This is used in conjunction with `)5.398 F F1(:s)A F0 2.898
+('\()C(e.g.,)-2.898 E(`)144 458.4 Q F1(:gs/)A F2(old)A F1(/)A F2(ne)A(w)
+-.15 E F1(/)A F0 1.219('\) or `)B F1(:&)A F0 3.719('. If)B 1.219
+(used with `)3.719 F F1(:s)A F0 1.218(', an)B 3.718(yd)-.15 G 1.218
+(elimiter can be used in place of /, and the \214nal)-3.718 F .089
+(delimiter is optional if it is the last character of the e)144 470.4 R
+-.15(ve)-.25 G .09(nt line.).15 F(An)5.09 E F1(a)2.59 E F0 .09
+(may be used as a synon)2.59 F .09(ym for)-.15 F F1(g)144 482.4 Q F0(.)A
+F1(G)108 494.4 Q F0(Apply the follo)28.22 E(wing `)-.25 E F1(s)A F0 2.5
+('m)C(odi\214er once to each w)-2.5 E(ord in the e)-.1 E -.15(ve)-.25 G
+(nt line.).15 E/F3 10.95/Times-Bold@0 SF(SHELL B)72 511.2 Q(UIL)-.11 E
+(TIN COMMANDS)-1.007 E F0 .063(Unless otherwise noted, each b)108 523.2
 R .062(uiltin command documented in this section as accepting options p\
-receded by)-.2 F F1<ad>108 475.2 Q F0(accepts)2.5 E F1<adad>2.5 E F0
-(to signify the end of the options.)2.5 E F1(:)108 493.2 Q F0([)2.5 E F2
-(ar)A(guments)-.37 E F0(])A .452(No ef)144 505.2 R .452
+receded by)-.2 F F1<ad>108 535.2 Q F0(accepts)3.8 E F1<adad>3.8 E F0 1.3
+(to signify the end of the options.)3.8 F -.15(Fo)6.3 G 3.8(re).15 G 1.3
+(xample, the)-3.95 F F1(:)3.8 E F0(,)A F1(true)3.8 E F0(,)A F1(false)3.8
+E F0 3.8(,a)C(nd)-3.8 E F1(test)3.8 E F0 -.2(bu)3.8 G 1.3(iltins do not)
+.2 F(accept options.)108 547.2 Q F1(:)108 565.2 Q F0([)2.5 E F2(ar)A
+(guments)-.37 E F0(])A .452(No ef)144 577.2 R .452
 (fect; the command does nothing be)-.25 F .452(yond e)-.15 F(xpanding)
 -.15 E F2(ar)3.282 E(guments)-.37 E F0 .451(and performing an)3.221 F
-2.951(ys)-.15 G(peci\214ed)-2.951 E 2.5(redirections. A)144 517.2 R
-(zero e)2.5 E(xit code is returned.)-.15 E F1(.)110.5 534 Q F2
+2.951(ys)-.15 G(peci\214ed)-2.951 E 2.5(redirections. A)144 589.2 R
+(zero e)2.5 E(xit code is returned.)-.15 E F1(.)110.5 606 Q F2
 (\214lename)6.666 E F0([)2.5 E F2(ar)A(guments)-.37 E F0(])A F1(sour)108
-546 Q(ce)-.18 E F2(\214lename)2.5 E F0([)2.5 E F2(ar)A(guments)-.37 E F0
-(])A 1.02(Read and e)144 558 R -.15(xe)-.15 G 1.02(cute commands from)
+618 Q(ce)-.18 E F2(\214lename)2.5 E F0([)2.5 E F2(ar)A(guments)-.37 E F0
+(])A 1.02(Read and e)144 630 R -.15(xe)-.15 G 1.02(cute commands from)
 .15 F F2(\214lename)5.43 E F0 1.02(in the current shell en)3.7 F 1.02
 (vironment and return the e)-.4 F(xit)-.15 E 1.68
-(status of the last command e)144 570 R -.15(xe)-.15 G 1.68(cuted from)
+(status of the last command e)144 642 R -.15(xe)-.15 G 1.68(cuted from)
 .15 F F2(\214lename)4.18 E F0 6.68(.I).18 G(f)-6.68 E F2(\214lename)6.09
-E F0 1.68(does not contain a slash, \214le)4.36 F .608(names in)144 582
+E F0 1.68(does not contain a slash, \214le)4.36 F .608(names in)144 654
 R/F4 9/Times-Bold@0 SF -.666(PA)3.108 G(TH)-.189 E F0 .608
 (are used to \214nd the directory containing)2.858 F F2(\214lename)3.108
 E F0 5.608(.T).18 G .608(he \214le searched for in)-5.608 F F4 -.666(PA)
-3.108 G(TH)-.189 E F0 .833(need not be e)144 594 R -.15(xe)-.15 G 3.333
+3.108 G(TH)-.189 E F0 .833(need not be e)144 666 R -.15(xe)-.15 G 3.333
 (cutable. When).15 F F1(bash)3.333 E F0 .832(is not in)3.333 F F2 .832
 (posix mode)3.332 F F0 3.332(,t)C .832
 (he current directory is searched if no)-3.332 F .981
-(\214le is found in)144 606 R F4 -.666(PA)3.481 G(TH)-.189 E/F5 9
+(\214le is found in)144 678 R F4 -.666(PA)3.481 G(TH)-.189 E/F5 9
 /Times-Roman@0 SF(.)A F0 .981(If the)5.481 F F1(sour)3.481 E(cepath)-.18
 E F0 .981(option to the)3.481 F F1(shopt)3.481 E F0 -.2(bu)3.481 G .981
-(iltin command is turned of).2 F .982(f, the)-.25 F F4 -.666(PA)144 618
+(iltin command is turned of).2 F .982(f, the)-.25 F F4 -.666(PA)144 690
 S(TH)-.189 E F0 .112(is not searched.)2.363 F .112(If an)5.112 F(y)-.15
 E F2(ar)2.612 E(guments)-.37 E F0 .112(are supplied, the)2.612 F 2.612
 (yb)-.15 G .112(ecome the positional parameters when)-2.612 F F2
-(\214lename)144 630 Q F0 .341(is e)2.841 F -.15(xe)-.15 G 2.841
+(\214lename)144 702 Q F0 .341(is e)2.841 F -.15(xe)-.15 G 2.841
 (cuted. Otherwise).15 F .341(the positional parameters are unchanged.)
 2.841 F .342(The return status is the)5.342 F .716
-(status of the last command e)144 642 R .716
+(status of the last command e)144 714 R .716
 (xited within the script \(0 if no commands are e)-.15 F -.15(xe)-.15 G
-.716(cuted\), and f).15 F .715(alse if)-.1 F F2(\214lename)145.91 654 Q
-F0(is not found or cannot be read.)2.68 E F1(alias)108 670.8 Q F0([)2.5
-E F1<ad70>A F0 2.5(][)C F2(name)-2.5 E F0([=)A F2(value)A F0 2.5(].)C
-(..])-2.5 E F1(Alias)144 682.8 Q F0 2.724(with no ar)5.224 F 2.724
+.716(cuted\), and f).15 F .715(alse if)-.1 F F2(\214lename)145.91 726 Q
+F0(is not found or cannot be read.)2.68 E(GNU Bash-3.1-beta1)72 768 Q
+(2005 Aug 27)122.91 E(44)197.89 E 0 Cg EP
+%%Page: 45 46
+%%BeginPageSetup
+BP
+%%EndPageSetup
+/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
+-.35 E/F1 10/Times-Bold@0 SF(alias)108 84 Q F0([)2.5 E F1<ad70>A F0 2.5
+(][)C/F2 10/Times-Italic@0 SF(name)-2.5 E F0([=)A F2(value)A F0 2.5(].)C
+(..])-2.5 E F1(Alias)144 96 Q F0 2.724(with no ar)5.224 F 2.724
 (guments or with the)-.18 F F1<ad70>5.224 E F0 2.724
 (option prints the list of aliases in the form)5.224 F F1(alias)5.225 E
-F2(name)144 694.8 Q F0(=)A F2(value)A F0 .58(on standard output.)3.08 F
+F2(name)144 108 Q F0(=)A F2(value)A F0 .58(on standard output.)3.08 F
 .58(When ar)5.58 F .58
 (guments are supplied, an alias is de\214ned for each)-.18 F F2(name)
-3.08 E F0(whose)144 706.8 Q F2(value)2.895 E F0 .395(is gi)2.895 F -.15
+3.08 E F0(whose)144 120 Q F2(value)2.895 E F0 .395(is gi)2.895 F -.15
 (ve)-.25 G 2.895(n. A).15 F .395(trailing space in)2.895 F F2(value)
 5.395 E F0 .395(causes the ne)2.895 F .395(xt w)-.15 F .395
 (ord to be check)-.1 F .395(ed for alias sub-)-.1 F .054
-(stitution when the alias is e)144 718.8 R 2.554(xpanded. F)-.15 F .054
+(stitution when the alias is e)144 132 R 2.554(xpanded. F)-.15 F .054
 (or each)-.15 F F2(name)2.554 E F0 .054(in the ar)2.554 F .054
 (gument list for which no)-.18 F F2(value)2.554 E F0 .053(is sup-)2.553
-F 1.313(plied, the name and v)144 730.8 R 1.314
+F 1.313(plied, the name and v)144 144 R 1.314
 (alue of the alias is printed.)-.25 F F1(Alias)6.314 E F0 1.314
 (returns true unless a)3.814 F F2(name)3.814 E F0 1.314(is gi)3.814 F
--.15(ve)-.25 G 3.814(nf).15 G(or)-3.814 E(GNU Bash-3.1-de)72 768 Q -.15
-(ve)-.25 G 123.59(l2).15 G(005 Mar 15)-123.59 E(44)198.17 E 0 Cg EP
-%%Page: 45 46
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E(which no alias has been de\214ned.)144 84 Q/F1 10/Times-Bold@0 SF
-(bg)108 100.8 Q F0([)2.5 E/F2 10/Times-Italic@0 SF(jobspec)A F0(...])2.5
-E .847(Resume each suspended job)144 112.8 R F2(jobspec)3.347 E F0 .847
+-.15(ve)-.25 G 3.814(nf).15 G(or)-3.814 E
+(which no alias has been de\214ned.)144 156 Q F1(bg)108 172.8 Q F0([)2.5
+E F2(jobspec)A F0(...])2.5 E .847(Resume each suspended job)144 184.8 R
+F2(jobspec)3.347 E F0 .847
 (in the background, as if it had been started with)3.347 F F1(&)3.347 E
-F0 5.847(.I)C(f)-5.847 E F2(job-)3.347 E(spec)144 124.8 Q F0 .689
+F0 5.847(.I)C(f)-5.847 E F2(job-)3.347 E(spec)144 196.8 Q F0 .689
 (is not present, the shell')3.188 F 3.189(sn)-.55 G .689(otion of the)
 -3.189 F F2(curr)3.189 E .689(ent job)-.37 F F0 .689(is used.)3.189 F F1
-(bg)5.689 E F2(jobspec)4.929 E F0 .689(returns 0 unless run)3.499 F
-1.284(when job control is disabled or)144 136.8 R 3.784(,w)-.4 G 1.283
-(hen run with job control enabled, if the last)-3.784 F F2(jobspec)3.783
-E F0 -.1(wa)3.783 G 3.783(sn).1 G(ot)-3.783 E(found or w)144 148.8 Q
-(as started without job control.)-.1 E F1(bind)108 165.6 Q F0([)2.5 E F1
-<ad6d>A F2 -.1(ke)2.5 G(ymap)-.2 E F0 2.5(][)C F1(\255lpsvPSV)-2.5 E F0
-(])A F1(bind)108 177.6 Q F0([)2.5 E F1<ad6d>A F2 -.1(ke)2.5 G(ymap)-.2 E
-F0 2.5(][)C F1<ad71>-2.5 E F2(function)2.5 E F0 2.5(][)C F1<ad75>-2.5 E
-F2(function)2.5 E F0 2.5(][)C F1<ad72>-2.5 E F2 -.1(ke)2.5 G(yseq)-.2 E
-F0(])A F1(bind)108 189.6 Q F0([)2.5 E F1<ad6d>A F2 -.1(ke)2.5 G(ymap)-.2
-E F0(])A F1<ad66>2.5 E F2(\214lename)2.5 E F1(bind)108 201.6 Q F0([)2.5
-E F1<ad6d>A F2 -.1(ke)2.5 G(ymap)-.2 E F0(])A F1<ad78>2.5 E F2 -.1(ke)
-2.5 G(yseq)-.2 E F0(:)A F2(shell\255command)A F1(bind)108 213.6 Q F0([)
-2.5 E F1<ad6d>A F2 -.1(ke)2.5 G(ymap)-.2 E F0(])A F2 -.1(ke)2.5 G(yseq)
--.2 E F0(:)A F2(function\255name)A F1(bind)108 225.6 Q F2 -.37(re)2.5 G
-(adline\255command).37 E F0 .238(Display current)144 237.6 R F1 -.18(re)
+(bg)5.689 E F2(jobspec)4.929 E F0 .689(returns 0 unless run)3.499 F .419
+(when job control is disabled or)144 208.8 R 2.919(,w)-.4 G .419
+(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 220.8 Q(as started without job control.)-.1
+E F1(bind)108 237.6 Q F0([)2.5 E F1<ad6d>A F2 -.1(ke)2.5 G(ymap)-.2 E F0
+2.5(][)C F1(\255lpsvPSV)-2.5 E F0(])A F1(bind)108 249.6 Q F0([)2.5 E F1
+<ad6d>A F2 -.1(ke)2.5 G(ymap)-.2 E F0 2.5(][)C F1<ad71>-2.5 E F2
+(function)2.5 E F0 2.5(][)C F1<ad75>-2.5 E F2(function)2.5 E F0 2.5(][)C
+F1<ad72>-2.5 E F2 -.1(ke)2.5 G(yseq)-.2 E F0(])A F1(bind)108 261.6 Q F0
+([)2.5 E F1<ad6d>A F2 -.1(ke)2.5 G(ymap)-.2 E F0(])A F1<ad66>2.5 E F2
+(\214lename)2.5 E F1(bind)108 273.6 Q F0([)2.5 E F1<ad6d>A F2 -.1(ke)2.5
+G(ymap)-.2 E F0(])A F1<ad78>2.5 E F2 -.1(ke)2.5 G(yseq)-.2 E F0(:)A F2
+(shell\255command)A F1(bind)108 285.6 Q F0([)2.5 E F1<ad6d>A F2 -.1(ke)
+2.5 G(ymap)-.2 E F0(])A F2 -.1(ke)2.5 G(yseq)-.2 E F0(:)A F2
+(function\255name)A F1(bind)108 297.6 Q F2 -.37(re)2.5 G
+(adline\255command).37 E F0 .238(Display current)144 309.6 R F1 -.18(re)
 2.738 G(adline).18 E F0 -.1(ke)2.738 G 2.738(ya)-.05 G .239
 (nd function bindings, bind a k)-2.738 F .539 -.15(ey s)-.1 H .239
 (equence to a).15 F F1 -.18(re)2.739 G(adline).18 E F0 .239(function or)
-2.739 F .476(macro, or set a)144 249.6 R F1 -.18(re)2.976 G(adline).18 E
+2.739 F .476(macro, or set a)144 321.6 R F1 -.18(re)2.976 G(adline).18 E
 F0 -.25(va)2.976 G 2.976(riable. Each).25 F .476(non-option ar)2.976 F
 .475(gument is a command as it w)-.18 F .475(ould appear in)-.1 F F2
-(.inputr)144 261.6 Q(c)-.37 E F0 2.983(,b).31 G .484
+(.inputr)144 333.6 Q(c)-.37 E F0 2.983(,b).31 G .484
 (ut each binding or command must be passed as a separate ar)-3.183 F
 .484(gument; e.g., '"\\C\255x\\C\255r":)-.18 F 2.5
-(re\255read\255init\255\214le'. Options,)144 273.6 R(if supplied, ha)2.5
+(re\255read\255init\255\214le'. Options,)144 345.6 R(if supplied, ha)2.5
 E .3 -.15(ve t)-.2 H(he follo).15 E(wing meanings:)-.25 E F1<ad6d>144
-285.6 Q F2 -.1(ke)2.5 G(ymap)-.2 E F0(Use)180 297.6 Q F2 -.1(ke)5.159 G
+357.6 Q F2 -.1(ke)2.5 G(ymap)-.2 E F0(Use)180 369.6 Q F2 -.1(ke)5.159 G
 (ymap)-.2 E F0 2.659(as the k)5.349 F -.15(ey)-.1 G 2.658(map to be af)
 .15 F 2.658(fected by the subsequent bindings.)-.25 F(Acceptable)7.658 E
-F2 -.1(ke)180 309.6 S(ymap)-.2 E F0 3.192(names are)5.882 F F2 3.192
+F2 -.1(ke)180 381.6 S(ymap)-.2 E F0 3.192(names are)5.882 F F2 3.192
 (emacs, emacs\255standar)5.692 F 3.193
 (d, emacs\255meta, emacs\255ctlx, vi, vi\255mo)-.37 F(ve)-.1 E(,)-.1 E
-(vi\255command)180 321.6 Q F0 4.43(,a)C(nd)-4.43 E F2(vi\255insert)4.429
+(vi\255command)180 393.6 Q F0 4.43(,a)C(nd)-4.43 E F2(vi\255insert)4.429
 E F0(.).68 E F2(vi)6.929 E F0 1.929(is equi)4.429 F -.25(va)-.25 G 1.929
 (lent to).25 F F2(vi\255command)4.429 E F0(;)A F2(emacs)4.429 E F0 1.929
 (is equi)4.429 F -.25(va)-.25 G 1.929(lent to).25 F F2(emacs\255standar)
-180 333.6 Q(d)-.37 E F0(.)A F1<ad6c>144 345.6 Q F0
+180 405.6 Q(d)-.37 E F0(.)A F1<ad6c>144 417.6 Q F0
 (List the names of all)27.52 E F1 -.18(re)2.5 G(adline).18 E F0
-(functions.)2.5 E F1<ad70>144 357.6 Q F0(Display)24.74 E F1 -.18(re)2.5
+(functions.)2.5 E F1<ad70>144 429.6 Q F0(Display)24.74 E F1 -.18(re)2.5
 G(adline).18 E F0(function names and bindings in such a w)2.5 E
-(ay that the)-.1 E 2.5(yc)-.15 G(an be re-read.)-2.5 E F1<ad50>144 369.6
+(ay that the)-.1 E 2.5(yc)-.15 G(an be re-read.)-2.5 E F1<ad50>144 441.6
 Q F0(List current)24.19 E F1 -.18(re)2.5 G(adline).18 E F0
-(function names and bindings.)2.5 E F1<ad76>144 381.6 Q F0(Display)25.3
+(function names and bindings.)2.5 E F1<ad76>144 453.6 Q F0(Display)25.3
 E F1 -.18(re)2.5 G(adline).18 E F0 -.25(va)2.5 G(riable names and v).25
 E(alues in such a w)-.25 E(ay that the)-.1 E 2.5(yc)-.15 G
-(an be re-read.)-2.5 E F1<ad56>144 393.6 Q F0(List current)23.08 E F1
+(an be re-read.)-2.5 E F1<ad56>144 465.6 Q F0(List current)23.08 E F1
 -.18(re)2.5 G(adline).18 E F0 -.25(va)2.5 G(riable names and v).25 E
-(alues.)-.25 E F1<ad73>144 405.6 Q F0(Display)26.41 E F1 -.18(re)3.655 G
+(alues.)-.25 E F1<ad73>144 477.6 Q F0(Display)26.41 E F1 -.18(re)3.655 G
 (adline).18 E F0 -.1(ke)3.655 G 3.655(ys)-.05 G 1.155
 (equences bound to macros and the strings the)-3.655 F 3.655(yo)-.15 G
-1.155(utput in such a)-3.655 F -.1(wa)180 417.6 S 2.5(yt).1 G(hat the)
--2.5 E 2.5(yc)-.15 G(an be re-read.)-2.5 E F1<ad53>144 429.6 Q F0
+1.155(utput in such a)-3.655 F -.1(wa)180 489.6 S 2.5(yt).1 G(hat the)
+-2.5 E 2.5(yc)-.15 G(an be re-read.)-2.5 E F1<ad53>144 501.6 Q F0
 (Display)24.74 E F1 -.18(re)2.5 G(adline).18 E F0 -.1(ke)2.5 G 2.5(ys)
 -.05 G(equences bound to macros and the strings the)-2.5 E 2.5(yo)-.15 G
-(utput.)-2.5 E F1<ad66>144 441.6 Q F2(\214lename)2.5 E F0(Read k)180
-453.6 Q .3 -.15(ey b)-.1 H(indings from).15 E F2(\214lename)2.5 E F0(.)A
-F1<ad71>144 465.6 Q F2(function)2.5 E F0(Query about which k)180 477.6 Q
+(utput.)-2.5 E F1<ad66>144 513.6 Q F2(\214lename)2.5 E F0(Read k)180
+525.6 Q .3 -.15(ey b)-.1 H(indings from).15 E F2(\214lename)2.5 E F0(.)A
+F1<ad71>144 537.6 Q F2(function)2.5 E F0(Query about which k)180 549.6 Q
 -.15(ey)-.1 G 2.5(si).15 G -1.9 -.4(nv o)-2.5 H .2 -.1(ke t).4 H
-(he named).1 E F2(function)2.5 E F0(.)A F1<ad75>144 489.6 Q F2(function)
-2.5 E F0(Unbind all k)180 501.6 Q -.15(ey)-.1 G 2.5(sb).15 G
-(ound to the named)-2.5 E F2(function)2.5 E F0(.)A F1<ad72>144 513.6 Q
-F2 -.1(ke)2.5 G(yseq)-.2 E F0(Remo)180 525.6 Q .3 -.15(ve a)-.15 H .3
+(he named).1 E F2(function)2.5 E F0(.)A F1<ad75>144 561.6 Q F2(function)
+2.5 E F0(Unbind all k)180 573.6 Q -.15(ey)-.1 G 2.5(sb).15 G
+(ound to the named)-2.5 E F2(function)2.5 E F0(.)A F1<ad72>144 585.6 Q
+F2 -.1(ke)2.5 G(yseq)-.2 E F0(Remo)180 597.6 Q .3 -.15(ve a)-.15 H .3
 -.15(ny c).15 H(urrent binding for).15 E F2 -.1(ke)2.5 G(yseq)-.2 E F0
-(.)A F1<ad78>144 537.6 Q F2 -.1(ke)2.5 G(yseq)-.2 E F1(:)A F2
-(shell\255command)A F0(Cause)180 549.6 Q F2(shell\255command)2.5 E F0
+(.)A F1<ad78>144 609.6 Q F2 -.1(ke)2.5 G(yseq)-.2 E F1(:)A F2
+(shell\255command)A F0(Cause)180 621.6 Q F2(shell\255command)2.5 E F0
 (to be e)2.5 E -.15(xe)-.15 G(cuted whene).15 E -.15(ve)-.25 G(r).15 E
-F2 -.1(ke)2.5 G(yseq)-.2 E F0(is entered.)2.5 E(The return v)144 566.4 Q
+F2 -.1(ke)2.5 G(yseq)-.2 E F0(is entered.)2.5 E(The return v)144 638.4 Q
 (alue is 0 unless an unrecognized option is gi)-.25 E -.15(ve)-.25 G 2.5
 (no).15 G 2.5(ra)-2.5 G 2.5(ne)-2.5 G(rror occurred.)-2.5 E F1(br)108
-583.2 Q(eak)-.18 E F0([)2.5 E F2(n)A F0(])A .055(Exit from within a)144
-595.2 R F1 -.25(fo)2.555 G(r).25 E F0(,)A F1(while)2.555 E F0(,)A F1
+655.2 Q(eak)-.18 E F0([)2.5 E F2(n)A F0(])A .055(Exit from within a)144
+667.2 R F1 -.25(fo)2.555 G(r).25 E F0(,)A F1(while)2.555 E F0(,)A F1
 (until)2.555 E F0 2.555(,o)C(r)-2.555 E F1(select)2.555 E F0 2.555
 (loop. If)2.555 F F2(n)2.555 E F0 .055(is speci\214ed, break)2.555 F F2
 (n)2.555 E F0(le)2.555 E -.15(ve)-.25 G(ls.).15 E F2(n)5.414 E F0 .054
-(must be)2.794 F/F3 10/Symbol SF<b3>2.554 E F0(1.)2.554 E(If)144 607.2 Q
+(must be)2.794 F/F3 10/Symbol SF<b3>2.554 E F0(1.)2.554 E(If)144 679.2 Q
 F2(n)3.074 E F0 .215(is greater than the number of enclosing loops, all\
  enclosing loops are e)2.954 F 2.715(xited. The)-.15 F .215(return v)
-2.715 F(alue)-.25 E(is 0 unless the shell is not e)144 619.2 Q -.15(xe)
+2.715 F(alue)-.25 E(is 0 unless the shell is not e)144 691.2 Q -.15(xe)
 -.15 G(cuting a loop when).15 E F1(br)2.5 E(eak)-.18 E F0(is e)2.5 E
--.15(xe)-.15 G(cuted.).15 E F1 -.2(bu)108 636 S(iltin).2 E F2
-(shell\255b)2.5 E(uiltin)-.2 E F0([)2.5 E F2(ar)A(guments)-.37 E F0(])A
-(Ex)144 648 Q .793(ecute the speci\214ed shell b)-.15 F .793
-(uiltin, passing it)-.2 F F2(ar)3.293 E(guments)-.37 E F0 3.293(,a).27 G
-.793(nd return its e)-3.293 F .792(xit status.)-.15 F .792
-(This is useful)5.792 F .615
-(when de\214ning a function whose name is the same as a shell b)144 660
-R .616(uiltin, retaining the functionality of)-.2 F .57(the b)144 672 R
+-.15(xe)-.15 G(cuted.).15 E(GNU Bash-3.1-beta1)72 768 Q(2005 Aug 27)
+122.91 E(45)197.89 E 0 Cg EP
+%%Page: 46 47
+%%BeginPageSetup
+BP
+%%EndPageSetup
+/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
+-.35 E/F1 10/Times-Bold@0 SF -.2(bu)108 84 S(iltin).2 E/F2 10
+/Times-Italic@0 SF(shell\255b)2.5 E(uiltin)-.2 E F0([)2.5 E F2(ar)A
+(guments)-.37 E F0(])A(Ex)144 96 Q .793(ecute the speci\214ed shell b)
+-.15 F .793(uiltin, passing it)-.2 F F2(ar)3.293 E(guments)-.37 E F0
+3.293(,a).27 G .793(nd return its e)-3.293 F .792(xit status.)-.15 F
+.792(This is useful)5.792 F .615
+(when de\214ning a function whose name is the same as a shell b)144 108
+R .616(uiltin, retaining the functionality of)-.2 F .57(the b)144 120 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(is f)144 684 Q(alse if)-.1 E F2
+-.65 G .57(he return status)-5.57 F(is f)144 132 Q(alse if)-.1 E F2
 (shell\255b)2.84 E(uiltin)-.2 E F0(is not a shell b)2.74 E
-(uiltin command.)-.2 E F1(cd)108 700.8 Q F0([)2.5 E F1(\255L|-P)A F0 2.5
-(][)C F2(dir)-2.5 E F0(])A .21(Change the current directory to)144 712.8
-R F2(dir)2.71 E F0 5.21(.T)C .21(he v)-5.21 F(ariable)-.25 E/F4 9
+(uiltin command.)-.2 E F1(cd)108 148.8 Q F0([)2.5 E F1(\255L|-P)A F0 2.5
+(][)C F2(dir)-2.5 E F0(])A .21(Change the current directory to)144 160.8
+R F2(dir)2.71 E F0 5.21(.T)C .21(he v)-5.21 F(ariable)-.25 E/F3 9
 /Times-Bold@0 SF(HOME)2.71 E F0 .21(is the def)2.46 F(ault)-.1 E F2(dir)
-2.71 E F0 5.21(.T).73 G .21(he v)-5.21 F(ariable)-.25 E F4(CDP)2.71 E
+2.71 E F0 5.21(.T).73 G .21(he v)-5.21 F(ariable)-.25 E F3(CDP)2.71 E
 -.855(AT)-.666 G(H).855 E F0 .777
-(de\214nes the search path for the directory containing)144 724.8 R F2
+(de\214nes the search path for the directory containing)144 172.8 R F2
 (dir)3.276 E F0 5.776(.A).73 G(lternati)-5.776 E 1.076 -.15(ve d)-.25 H
-.776(irectory names in).15 F F4(CDP)3.276 E -.855(AT)-.666 G(H).855 E F0
-(GNU Bash-3.1-de)72 768 Q -.15(ve)-.25 G 123.59(l2).15 G(005 Mar 15)
--123.59 E(45)198.17 E 0 Cg EP
-%%Page: 46 47
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E .764(are separated by a colon \(:\).)144 84 R 3.264(An)5.764 G
-.764(ull directory name in)-3.264 F/F1 9/Times-Bold@0 SF(CDP)3.264 E
--.855(AT)-.666 G(H).855 E F0 .764(is the same as the current direc-)
-3.014 F(tory)144 96 Q 2.974(,i)-.65 G .474(.e., `)-2.974 F(`)-.74 E/F2
-10/Times-Bold@0 SF(.)A F0 -.74('')C 5.474(.I).74 G(f)-5.474 E/F3 10
-/Times-Italic@0 SF(dir)3.324 E F0(be)3.704 E .474
-(gins with a slash \(/\), then)-.15 F F1(CDP)2.974 E -.855(AT)-.666 G(H)
-.855 E F0 .473(is not used. The)2.724 F F2<ad50>2.973 E F0 .473
-(option says to use)2.973 F .579(the ph)144 108 R .579
+.776(irectory names in).15 F F3(CDP)3.276 E -.855(AT)-.666 G(H).855 E F0
+.764(are separated by a colon \(:\).)144 184.8 R 3.264(An)5.764 G .764
+(ull directory name in)-3.264 F F3(CDP)3.264 E -.855(AT)-.666 G(H).855 E
+F0 .764(is the same as the current direc-)3.014 F(tory)144 196.8 Q 2.974
+(,i)-.65 G .474(.e., `)-2.974 F(`)-.74 E F1(.)A F0 -.74('')C 5.474(.I)
+.74 G(f)-5.474 E F2(dir)3.324 E F0(be)3.704 E .474
+(gins with a slash \(/\), then)-.15 F F3(CDP)2.974 E -.855(AT)-.666 G(H)
+.855 E F0 .473(is not used. The)2.724 F F1<ad50>2.973 E F0 .473
+(option says to use)2.973 F .579(the ph)144 208.8 R .579
 (ysical directory structure instead of follo)-.05 F .579
-(wing symbolic links \(see also the)-.25 F F2<ad50>3.08 E F0 .58
-(option to the)3.08 F F2(set)144 120 Q F0 -.2(bu)3.384 G .884
-(iltin command\); the).2 F F2<ad4c>3.384 E F0 .884
+(wing symbolic links \(see also the)-.25 F F1<ad50>3.08 E F0 .58
+(option to the)3.08 F F1(set)144 220.8 Q F0 -.2(bu)3.384 G .884
+(iltin command\); the).2 F F1<ad4c>3.384 E F0 .884
 (option forces symbolic links to be follo)3.384 F 3.384(wed. An)-.25 F
-(ar)3.383 E .883(gument of)-.18 F F2<ad>3.383 E F0(is)3.383 E(equi)144
-132 Q -.25(va)-.25 G .062(lent to).25 F F1($OLDPWD)2.562 E/F4 9
+(ar)3.383 E .883(gument of)-.18 F F1<ad>3.383 E F0(is)3.383 E(equi)144
+232.8 Q -.25(va)-.25 G .062(lent to).25 F F3($OLDPWD)2.562 E/F4 9
 /Times-Roman@0 SF(.)A F0 .062(If a non-empty directory name from)4.562 F
-F2(CDP)2.562 E -.95(AT)-.74 G(H).95 E F0 .063(is used, or if)2.562 F F2
-<ad>2.563 E F0 .063(is the \214rst)2.563 F(ar)144 144 Q .116(gument, an\
-d the directory change is successful, the absolute pathname of the ne)
+F1(CDP)2.562 E -.95(AT)-.74 G(H).95 E F0 .063(is used, or if)2.562 F F1
+<ad>2.563 E F0 .063(is the \214rst)2.563 F(ar)144 244.8 Q .116(gument, \
+and the directory change is successful, the absolute pathname of the ne)
 -.18 F 2.615(ww)-.25 G .115(orking direc-)-2.715 F 1.164
-(tory is written to the standard output.)144 156 R 1.164(The return v)
+(tory is written to the standard output.)144 256.8 R 1.164(The return v)
 6.164 F 1.165(alue is true if the directory w)-.25 F 1.165
-(as successfully)-.1 F(changed; f)144 168 Q(alse otherwise.)-.1 E F2
-(caller)108 184.8 Q F0([)2.5 E F3 -.2(ex)C(pr).2 E F0(])A .254
-(Returns the conte)144 196.8 R .254(xt of an)-.15 F 2.754(ya)-.15 G(cti)
+(as successfully)-.1 F(changed; f)144 268.8 Q(alse otherwise.)-.1 E F1
+(caller)108 285.6 Q F0([)2.5 E F2 -.2(ex)C(pr).2 E F0(])A .254
+(Returns the conte)144 297.6 R .254(xt of an)-.15 F 2.754(ya)-.15 G(cti)
 -2.754 E .554 -.15(ve s)-.25 H .254
 (ubroutine call \(a shell function or a script e).15 F -.15(xe)-.15 G
-.254(cuted with the).15 F F2(.)2.753 E F0(or)2.753 E F2(sour)144 208.8 Q
-(ce)-.18 E F0 -.2(bu)3.062 G 3.062(iltins. W).2 F(ithout)-.4 E F3 -.2
-(ex)3.062 G(pr).2 E F0(,)A F2(caller)3.062 E F0 .562
+.254(cuted with the).15 F F1(.)2.753 E F0(or)2.753 E F1(sour)144 309.6 Q
+(ce)-.18 E F0 -.2(bu)3.062 G 3.062(iltins. W).2 F(ithout)-.4 E F2 -.2
+(ex)3.062 G(pr).2 E F0(,)A F1(caller)3.062 E F0 .562
 (displays the line number and source \214lename of the current)3.062 F
-.254(subroutine call.)144 220.8 R .254(If a non-ne)5.254 F -.05(ga)-.15
+.254(subroutine call.)144 321.6 R .254(If a non-ne)5.254 F -.05(ga)-.15
 G(ti).05 E .554 -.15(ve i)-.25 H(nte).15 E .253(ger is supplied as)-.15
-F F3 -.2(ex)2.753 G(pr).2 E F0(,)A F2(caller)2.753 E F0 .253
+F F2 -.2(ex)2.753 G(pr).2 E F0(,)A F1(caller)2.753 E F0 .253
 (displays the line number)2.753 F 2.753(,s)-.4 G(ub-)-2.753 E 1.327(rou\
 tine name, and source \214le corresponding to that position in the curr\
-ent e)144 232.8 R -.15(xe)-.15 G 1.328(cution call stack.).15 F .001
-(This e)144 244.8 R .001(xtra information may be used, for e)-.15 F .001
+ent e)144 333.6 R -.15(xe)-.15 G 1.328(cution call stack.).15 F .001
+(This e)144 345.6 R .001(xtra information may be used, for e)-.15 F .001
 (xample, to print a stack trace.)-.15 F(The current frame is frame)5 E
-3.019(0. The)144 256.8 R .519(return v)3.019 F .519
+3.019(0. The)144 357.6 R .519(return v)3.019 F .519
 (alue is 0 unless the shell is not e)-.25 F -.15(xe)-.15 G .52
-(cuting a subroutine call or).15 F F3 -.2(ex)3.02 G(pr).2 E F0 .52
-(does not corre-)3.02 F(spond to a v)144 268.8 Q
-(alid position in the call stack.)-.25 E F2(command)108 285.6 Q F0([)2.5
-E F2(\255pVv)A F0(])A F3(command)2.5 E F0([)2.5 E F3(ar)A(g)-.37 E F0
-(...])2.5 E(Run)144 297.6 Q F3(command)2.957 E F0(with)3.527 E F3(ar)
+(cuting a subroutine call or).15 F F2 -.2(ex)3.02 G(pr).2 E F0 .52
+(does not corre-)3.02 F(spond to a v)144 369.6 Q
+(alid position in the call stack.)-.25 E F1(command)108 386.4 Q F0([)2.5
+E F1(\255pVv)A F0(])A F2(command)2.5 E F0([)2.5 E F2(ar)A(g)-.37 E F0
+(...])2.5 E(Run)144 398.4 Q F2(command)2.957 E F0(with)3.527 E F2(ar)
 3.087 E(gs)-.37 E F0 .257
 (suppressing the normal shell function lookup. Only b)3.027 F .257
-(uiltin commands or)-.2 F .501(commands found in the)144 309.6 R F1
+(uiltin commands or)-.2 F .501(commands found in the)144 410.4 R F3
 -.666(PA)3.001 G(TH)-.189 E F0 .502(are e)2.751 F -.15(xe)-.15 G 3.002
-(cuted. If).15 F(the)3.002 E F2<ad70>3.002 E F0 .502(option is gi)3.002
-F -.15(ve)-.25 G .502(n, the search for).15 F F3(command)3.202 E F0(is)
-3.772 E .232(performed using a def)144 321.6 R .231(ault v)-.1 F .231
-(alue for)-.25 F F2 -.74(PA)2.731 G(TH)-.21 E F0 .231
+(cuted. If).15 F(the)3.002 E F1<ad70>3.002 E F0 .502(option is gi)3.002
+F -.15(ve)-.25 G .502(n, the search for).15 F F2(command)3.202 E F0(is)
+3.772 E .232(performed using a def)144 422.4 R .231(ault v)-.1 F .231
+(alue for)-.25 F F1 -.74(PA)2.731 G(TH)-.21 E F0 .231
 (that is guaranteed to \214nd all of the standard utilities.)2.731 F(If)
-5.231 E .174(either the)144 333.6 R F2<ad56>2.674 E F0(or)2.674 E F2
-<ad76>2.674 E F0 .175(option is supplied, a description of)2.674 F F3
-(command)2.875 E F0 .175(is printed.)3.445 F(The)5.175 E F2<ad76>2.675 E
-F0 .175(option causes)2.675 F 3.11(as)144 345.6 S .61(ingle w)-3.11 F
+5.231 E .174(either the)144 434.4 R F1<ad56>2.674 E F0(or)2.674 E F1
+<ad76>2.674 E F0 .175(option is supplied, a description of)2.674 F F2
+(command)2.875 E F0 .175(is printed.)3.445 F(The)5.175 E F1<ad76>2.675 E
+F0 .175(option causes)2.675 F 3.11(as)144 446.4 S .61(ingle w)-3.11 F
 .61(ord indicating the command or \214le name used to in)-.1 F -.2(vo)
--.4 G -.1(ke).2 G F3(command)3.41 E F0 .61(to be displayed; the)3.88 F
-F2<ad56>144 357.6 Q F0 .249(option produces a more v)2.749 F .249
-(erbose description.)-.15 F .249(If the)5.249 F F2<ad56>2.749 E F0(or)
-2.749 E F2<ad76>2.75 E F0 .25(option is supplied, the e)2.75 F .25
-(xit status)-.15 F 1.005(is 0 if)144 369.6 R F3(command)3.705 E F0 -.1
+-.4 G -.1(ke).2 G F2(command)3.41 E F0 .61(to be displayed; the)3.88 F
+F1<ad56>144 458.4 Q F0 .249(option produces a more v)2.749 F .249
+(erbose description.)-.15 F .249(If the)5.249 F F1<ad56>2.749 E F0(or)
+2.749 E F1<ad76>2.75 E F0 .25(option is supplied, the e)2.75 F .25
+(xit status)-.15 F 1.005(is 0 if)144 470.4 R F2(command)3.705 E F0 -.1
 (wa)4.275 G 3.505(sf).1 G 1.005(ound, and 1 if not.)-3.505 F 1.004
-(If neither option is supplied and an error occurred or)6.005 F F3
-(command)144.2 381.6 Q F0 1.598(cannot be found, the e)4.868 F 1.599
+(If neither option is supplied and an error occurred or)6.005 F F2
+(command)144.2 482.4 Q F0 1.598(cannot be found, the e)4.868 F 1.599
 (xit status is 127.)-.15 F 1.599(Otherwise, the e)6.599 F 1.599
-(xit status of the)-.15 F F2(command)4.099 E F0 -.2(bu)144 393.6 S
-(iltin is the e).2 E(xit status of)-.15 E F3(command)2.5 E F0(.).77 E F2
-(compgen)108 410.4 Q F0([)2.5 E F3(option)A F0 2.5(][)C F3(wor)-2.5 E(d)
--.37 E F0(])A .013(Generate possible completion matches for)144 422.4 R
-F3(wor)2.513 E(d)-.37 E F0 .013(according to the)2.513 F F3(option)2.513
+(xit status of the)-.15 F F1(command)4.099 E F0 -.2(bu)144 494.4 S
+(iltin is the e).2 E(xit status of)-.15 E F2(command)2.5 E F0(.).77 E F1
+(compgen)108 511.2 Q F0([)2.5 E F2(option)A F0 2.5(][)C F2(wor)-2.5 E(d)
+-.37 E F0(])A .013(Generate possible completion matches for)144 523.2 R
+F2(wor)2.513 E(d)-.37 E F0 .013(according to the)2.513 F F2(option)2.513
 E F0 .013(s, which may be an)B 2.512(yo)-.15 G(ption)-2.512 E .981
-(accepted by the)144 434.4 R F2(complete)3.481 E F0 -.2(bu)3.481 G .981
-(iltin with the e).2 F .981(xception of)-.15 F F2<ad70>3.481 E F0(and)
-3.481 E F2<ad72>3.481 E F0 3.481(,a)C .982(nd write the matches to the)
--3.481 F 1.415(standard output.)144 446.4 R 1.415(When using the)6.415 F
-F2<ad46>3.915 E F0(or)3.915 E F2<ad43>3.915 E F0 1.415(options, the v)
+(accepted by the)144 535.2 R F1(complete)3.481 E F0 -.2(bu)3.481 G .981
+(iltin with the e).2 F .981(xception of)-.15 F F1<ad70>3.481 E F0(and)
+3.481 E F1<ad72>3.481 E F0 3.481(,a)C .982(nd write the matches to the)
+-3.481 F 1.415(standard output.)144 547.2 R 1.415(When using the)6.415 F
+F1<ad46>3.915 E F0(or)3.915 E F1<ad43>3.915 E F0 1.415(options, the v)
 3.915 F 1.415(arious shell v)-.25 F 1.415(ariables set by the pro-)-.25
-F(grammable completion f)144 458.4 Q(acilities, while a)-.1 E -.25(va)
+F(grammable completion f)144 559.2 Q(acilities, while a)-.1 E -.25(va)
 -.2 G(ilable, will not ha).25 E .3 -.15(ve u)-.2 H(seful v).15 E(alues.)
--.25 E .352(The matches will be generated in the same w)144 482.4 R .352
+-.25 E .352(The matches will be generated in the same w)144 583.2 R .352
 (ay as if the programmable completion code had gen-)-.1 F .02(erated th\
 em directly from a completion speci\214cation with the same \215ags.)144
-494.4 R(If)5.02 E F3(wor)2.52 E(d)-.37 E F0 .02(is speci\214ed, only)
-2.52 F(those completions matching)144 506.4 Q F3(wor)2.5 E(d)-.37 E F0
-(will be displayed.)2.5 E(The return v)144 530.4 Q
+595.2 R(If)5.02 E F2(wor)2.52 E(d)-.37 E F0 .02(is speci\214ed, only)
+2.52 F(those completions matching)144 607.2 Q F2(wor)2.5 E(d)-.37 E F0
+(will be displayed.)2.5 E(The return v)144 631.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 F2
-(complete)108 547.2 Q F0([)2.786 E F2(\255abcdefgjksuv)A F0 2.786(][)C
-F2<ad6f>-2.786 E F3(comp-option)2.786 E F0 2.786(][)C F2<ad41>-2.786 E
-F3(action)2.786 E F0 2.786(][)C F2<ad47>-2.786 E F3(globpat)2.786 E F0
-2.786(][)C F2<ad57>-2.786 E F3(wor)2.786 E(dlist)-.37 E F0 2.786(][)C F2
-<ad50>-2.786 E F3(pr)2.786 E(e\214x)-.37 E F0 2.787(][)C F2<ad53>-2.787
-E F3(suf-)2.787 E<8c78>108 559.2 Q F0(])A([)144 571.2 Q F2<ad58>A F3
-(\214lterpat)2.5 E F0 2.5(][)C F2<ad46>-2.5 E F3(function)2.5 E F0 2.5
-(][)C F2<ad43>-2.5 E F3(command)2.5 E F0(])A F3(name)2.5 E F0([)2.5 E F3
-(name ...)A F0(])A F2(complete \255pr)108 583.2 Q F0([)2.5 E F3(name)A
-F0(...])2.5 E .633(Specify ho)144 595.2 R 3.133(wa)-.25 G -.18(rg)-3.133
-G .633(uments to each).18 F F3(name)3.133 E F0 .633
-(should be completed.)3.133 F .634(If the)5.634 F F2<ad70>3.134 E F0
-.634(option is supplied, or if no)3.134 F .14(options are supplied, e)
-144 607.2 R .139(xisting completion speci\214cations are printed in a w)
--.15 F .139(ay that allo)-.1 F .139(ws them to be)-.25 F .31
-(reused as input.)144 619.2 R(The)5.31 E F2<ad72>2.81 E F0 .31
-(option remo)2.81 F -.15(ve)-.15 G 2.81(sac).15 G .31
-(ompletion speci\214cation for each)-2.81 F F3(name)2.81 E F0 2.81(,o)C
-1.11 -.4(r, i)-2.81 H 2.81(fn).4 G(o)-2.81 E F3(name)2.81 E F0(s)A
-(are supplied, all completion speci\214cations.)144 631.2 Q 1.438
-(The process of applying these completion speci\214cations when w)144
-655.2 R 1.437(ord completion is attempted is)-.1 F(described abo)144
-667.2 Q .3 -.15(ve u)-.15 H(nder).15 E F2(Pr)2.5 E
-(ogrammable Completion)-.18 E F0(.)A .555
-(Other options, if speci\214ed, ha)144 691.2 R .855 -.15(ve t)-.2 H .555
-(he follo).15 F .555(wing meanings.)-.25 F .555(The ar)5.555 F .555
-(guments to the)-.18 F F2<ad47>3.056 E F0(,)A F2<ad57>3.056 E F0 3.056
-(,a)C(nd)-3.056 E F2<ad58>3.056 E F0 .723(options \(and, if necessary)
-144 703.2 R 3.223(,t)-.65 G(he)-3.223 E F2<ad50>3.223 E F0(and)3.223 E
-F2<ad53>3.223 E F0 .722
-(options\) should be quoted to protect them from e)3.223 F(xpan-)-.15 E
-(sion before the)144 715.2 Q F2(complete)2.5 E F0 -.2(bu)2.5 G
-(iltin is in).2 E -.2(vo)-.4 G -.1(ke).2 G(d.).1 E(GNU Bash-3.1-de)72
-768 Q -.15(ve)-.25 G 123.59(l2).15 G(005 Mar 15)-123.59 E(46)198.17 E 0
-Cg EP
+(lid option is supplied, or no matches were generated.).25 E F1
+(complete)108 648 Q F0([)2.786 E F1(\255abcdefgjksuv)A F0 2.786(][)C F1
+<ad6f>-2.786 E F2(comp-option)2.786 E F0 2.786(][)C F1<ad41>-2.786 E F2
+(action)2.786 E F0 2.786(][)C F1<ad47>-2.786 E F2(globpat)2.786 E F0
+2.786(][)C F1<ad57>-2.786 E F2(wor)2.786 E(dlist)-.37 E F0 2.786(][)C F1
+<ad50>-2.786 E F2(pr)2.786 E(e\214x)-.37 E F0 2.787(][)C F1<ad53>-2.787
+E F2(suf-)2.787 E<8c78>108 660 Q F0(])A([)144 672 Q F1<ad58>A F2
+(\214lterpat)2.5 E F0 2.5(][)C F1<ad46>-2.5 E F2(function)2.5 E F0 2.5
+(][)C F1<ad43>-2.5 E F2(command)2.5 E F0(])A F2(name)2.5 E F0([)2.5 E F2
+(name ...)A F0(])A F1(complete \255pr)108 684 Q F0([)2.5 E F2(name)A F0
+(...])2.5 E .633(Specify ho)144 696 R 3.133(wa)-.25 G -.18(rg)-3.133 G
+.633(uments to each).18 F F2(name)3.133 E F0 .633(should be completed.)
+3.133 F .634(If the)5.634 F F1<ad70>3.134 E F0 .634
+(option is supplied, or if no)3.134 F .14(options are supplied, e)144
+708 R .139(xisting completion speci\214cations are printed in a w)-.15 F
+.139(ay that allo)-.1 F .139(ws them to be)-.25 F .31(reused as input.)
+144 720 R(The)5.31 E F1<ad72>2.81 E F0 .31(option remo)2.81 F -.15(ve)
+-.15 G 2.81(sac).15 G .31(ompletion speci\214cation for each)-2.81 F F2
+(name)2.81 E F0 2.81(,o)C 1.11 -.4(r, i)-2.81 H 2.81(fn).4 G(o)-2.81 E
+F2(name)2.81 E F0(s)A(GNU Bash-3.1-beta1)72 768 Q(2005 Aug 27)122.91 E
+(46)197.89 E 0 Cg EP
 %%Page: 47 48
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E/F1 10/Times-Bold@0 SF<ad6f>144 84 Q/F2 10/Times-Italic@0 SF
-(comp-option)2.5 E F0(The)184 96 Q F2(comp-option)2.79 E F0 .291
-(controls se)2.791 F -.15(ve)-.25 G .291(ral aspects of the compspec')
-.15 F 2.791(sb)-.55 G(eha)-2.791 E .291(vior be)-.2 F .291
-(yond the simple)-.15 F(generation of completions.)184 108 Q F2
-(comp-option)5 E F0(may be one of:)2.5 E F1(bashdefault)184 120 Q F0
-.281(Perform the rest of the def)224 132 R(ault)-.1 E F1(bash)2.781 E F0
-.281(completions if the compspec generates no)2.781 F(matches.)224 144 Q
-F1(default)184 156 Q F0 2.875(Use readline')10 F 5.375(sd)-.55 G(ef)
--5.375 E 2.876(ault \214lename completion if the compspec generates no)
--.1 F(matches.)224 168 Q F1(dir)184 180 Q(names)-.15 E F0(Perform direc\
-tory name completion if the compspec generates no matches.)224 192 Q F1
-(\214lenames)184 204 Q F0 -.7(Te)224 216 S .137(ll readline that the co\
-mpspec generates \214lenames, so it can perform an).7 F 2.636<798c>-.15
-G(le-)-2.636 E .496(name\255speci\214c processing \(lik)224 228 R 2.996
-(ea)-.1 G .496(dding a slash to directory names or suppress-)-2.996 F
-(ing trailing spaces\).)224 240 Q
-(Intended to be used with shell functions.)5 E F1(nospace)184 252 Q F0
+-.35 E(are supplied, all completion speci\214cations.)144 84 Q 1.438
+(The process of applying these completion speci\214cations when w)144
+108 R 1.437(ord completion is attempted is)-.1 F(described abo)144 120 Q
+.3 -.15(ve u)-.15 H(nder).15 E/F1 10/Times-Bold@0 SF(Pr)2.5 E
+(ogrammable Completion)-.18 E F0(.)A .555
+(Other options, if speci\214ed, ha)144 144 R .855 -.15(ve t)-.2 H .555
+(he follo).15 F .555(wing meanings.)-.25 F .555(The ar)5.555 F .555
+(guments to the)-.18 F F1<ad47>3.056 E F0(,)A F1<ad57>3.056 E F0 3.056
+(,a)C(nd)-3.056 E F1<ad58>3.056 E F0 .723(options \(and, if necessary)
+144 156 R 3.223(,t)-.65 G(he)-3.223 E F1<ad50>3.223 E F0(and)3.223 E F1
+<ad53>3.223 E F0 .722(options\) should be quoted to protect them from e)
+3.223 F(xpan-)-.15 E(sion before the)144 168 Q F1(complete)2.5 E F0 -.2
+(bu)2.5 G(iltin is in).2 E -.2(vo)-.4 G -.1(ke).2 G(d.).1 E F1<ad6f>144
+180 Q/F2 10/Times-Italic@0 SF(comp-option)2.5 E F0(The)184 192 Q F2
+(comp-option)2.79 E F0 .291(controls se)2.791 F -.15(ve)-.25 G .291
+(ral aspects of the compspec').15 F 2.791(sb)-.55 G(eha)-2.791 E .291
+(vior be)-.2 F .291(yond the simple)-.15 F(generation of completions.)
+184 204 Q F2(comp-option)5 E F0(may be one of:)2.5 E F1(bashdefault)184
+216 Q F0 .281(Perform the rest of the def)224 228 R(ault)-.1 E F1(bash)
+2.781 E F0 .281(completions if the compspec generates no)2.781 F
+(matches.)224 240 Q F1(default)184 252 Q F0 2.875(Use readline')10 F
+5.375(sd)-.55 G(ef)-5.375 E 2.876
+(ault \214lename completion if the compspec generates no)-.1 F(matches.)
+224 264 Q F1(dir)184 276 Q(names)-.15 E F0(Perform directory name compl\
+etion if the compspec generates no matches.)224 288 Q F1(\214lenames)184
+300 Q F0 -.7(Te)224 312 S .137(ll readline that the compspec generates \
+\214lenames, so it can perform an).7 F 2.636<798c>-.15 G(le-)-2.636 E
+.496(name\255speci\214c processing \(lik)224 324 R 2.996(ea)-.1 G .496
+(dding a slash to directory names or suppress-)-2.996 F
+(ing trailing spaces\).)224 336 Q
+(Intended to be used with shell functions.)5 E F1(nospace)184 348 Q F0
 -.7(Te)6.11 G .22(ll readline not to append a space \(the def).7 F .22
 (ault\) to w)-.1 F .22(ords completed at the end)-.1 F(of the line.)224
-264 Q F1(plusdirs)184 276 Q F0 1.985(After an)5.54 F 4.485(ym)-.15 G
+360 Q F1(plusdirs)184 372 Q F0 1.985(After an)5.54 F 4.485(ym)-.15 G
 1.985(atches de\214ned by the compspec are generated, directory name)
--4.485 F .584(completion is attempted and an)224 288 R 3.084(ym)-.15 G
+-4.485 F .584(completion is attempted and an)224 384 R 3.084(ym)-.15 G
 .584(atches are added to the results of the other)-3.084 F(actions.)224
-300 Q F1<ad41>144 312 Q F2(action)2.5 E F0(The)184 324 Q F2(action)2.5 E
+396 Q F1<ad41>144 408 Q F2(action)2.5 E F0(The)184 420 Q F2(action)2.5 E
 F0(may be one of the follo)2.5 E
 (wing to generate a list of possible completions:)-.25 E F1(alias)184
-336 Q F0(Alias names.)20.55 E(May also be speci\214ed as)5 E F1<ad61>2.5
-E F0(.)A F1(arrayv)184 348 Q(ar)-.1 E F0(Array v)224 360 Q
-(ariable names.)-.25 E F1 4.7(binding Readline)184 372 R F0 -.1(ke)2.5 G
-2.5(yb)-.05 G(inding names.)-2.5 E F1 -.2(bu)184 384 S(iltin).2 E F0
+432 Q F0(Alias names.)20.55 E(May also be speci\214ed as)5 E F1<ad61>2.5
+E F0(.)A F1(arrayv)184 444 Q(ar)-.1 E F0(Array v)224 456 Q
+(ariable names.)-.25 E F1 4.7(binding Readline)184 468 R F0 -.1(ke)2.5 G
+2.5(yb)-.05 G(inding names.)-2.5 E F1 -.2(bu)184 480 S(iltin).2 E F0
 (Names of shell b)11.85 E(uiltin commands.)-.2 E
-(May also be speci\214ed as)5 E F1<ad62>2.5 E F0(.)A F1(command)184 396
-Q F0(Command names.)224 408 Q(May also be speci\214ed as)5 E F1<ad63>2.5
-E F0(.)A F1(dir)184 420 Q(ectory)-.18 E F0(Directory names.)224 432 Q
-(May also be speci\214ed as)5 E F1<ad64>2.5 E F0(.)A F1(disabled)184 444
-Q F0(Names of disabled shell b)224 456 Q(uiltins.)-.2 E F1(enabled)184
-468 Q F0(Names of enabled shell b)6.66 E(uiltins.)-.2 E F1(export)184
-480 Q F0(Names of e)12.23 E(xported shell v)-.15 E 2.5(ariables. May)
+(May also be speci\214ed as)5 E F1<ad62>2.5 E F0(.)A F1(command)184 492
+Q F0(Command names.)224 504 Q(May also be speci\214ed as)5 E F1<ad63>2.5
+E F0(.)A F1(dir)184 516 Q(ectory)-.18 E F0(Directory names.)224 528 Q
+(May also be speci\214ed as)5 E F1<ad64>2.5 E F0(.)A F1(disabled)184 540
+Q F0(Names of disabled shell b)224 552 Q(uiltins.)-.2 E F1(enabled)184
+564 Q F0(Names of enabled shell b)6.66 E(uiltins.)-.2 E F1(export)184
+576 Q F0(Names of e)12.23 E(xported shell v)-.15 E 2.5(ariables. May)
 -.25 F(also be speci\214ed as)2.5 E F1<ad65>2.5 E F0(.)A F1(\214le)184
-492 Q F0(File names.)27.22 E(May also be speci\214ed as)5 E F1<ad66>2.5
-E F0(.)A F1(function)184 504 Q F0(Names of shell functions.)224 516 Q F1
-(gr)184 528 Q(oup)-.18 E F0(Group names.)14.62 E
+588 Q F0(File names.)27.22 E(May also be speci\214ed as)5 E F1<ad66>2.5
+E F0(.)A F1(function)184 600 Q F0(Names of shell functions.)224 612 Q F1
+(gr)184 624 Q(oup)-.18 E F0(Group names.)14.62 E
 (May also be speci\214ed as)5 E F1<ad67>2.5 E F0(.)A F1(helptopic)184
-540 Q F0(Help topics as accepted by the)224 552 Q F1(help)2.5 E F0 -.2
-(bu)2.5 G(iltin.).2 E F1(hostname)184 564 Q F0(Hostnames, as tak)224 576
+636 Q F0(Help topics as accepted by the)224 648 Q F1(help)2.5 E F0 -.2
+(bu)2.5 G(iltin.).2 E F1(hostname)184 660 Q F0(Hostnames, as tak)224 672
 Q(en from the \214le speci\214ed by the)-.1 E/F3 9/Times-Bold@0 SF
-(HOSTFILE)2.5 E F0(shell v)2.25 E(ariable.)-.25 E F1(job)184 588 Q F0
+(HOSTFILE)2.5 E F0(shell v)2.25 E(ariable.)-.25 E F1(job)184 684 Q F0
 (Job names, if job control is acti)26.11 E -.15(ve)-.25 G 5(.M).15 G
-(ay also be speci\214ed as)-5 E F1<ad6a>2.5 E F0(.)A F1 -.1(ke)184 600 S
-(yw).1 E(ord)-.1 E F0(Shell reserv)224 612 Q(ed w)-.15 E 2.5(ords. May)
--.1 F(also be speci\214ed as)2.5 E F1<ad6b>2.5 E F0(.)A F1(running)184
-624 Q F0(Names of running jobs, if job control is acti)5.54 E -.15(ve)
--.25 G(.).15 E F1(ser)184 636 Q(vice)-.1 E F0(Service names.)10.67 E
-(May also be speci\214ed as)5 E F1<ad73>2.5 E F0(.)A F1(setopt)184 648 Q
-F0 -1.11(Va)14.45 G(lid ar)1.11 E(guments for the)-.18 E F1<ad6f>2.5 E
-F0(option to the)2.5 E F1(set)2.5 E F0 -.2(bu)2.5 G(iltin.).2 E F1
-(shopt)184 660 Q F0(Shell option names as accepted by the)16.66 E F1
-(shopt)2.5 E F0 -.2(bu)2.5 G(iltin.).2 E F1(signal)184 672 Q F0
-(Signal names.)14.99 E F1(stopped)184 684 Q F0
-(Names of stopped jobs, if job control is acti)6.66 E -.15(ve)-.25 G(.)
-.15 E F1(user)184 696 Q F0(User names.)21.67 E
-(May also be speci\214ed as)5 E F1<ad75>2.5 E F0(.)A F1 -.1(va)184 708 S
-(riable).1 E F0(Names of all shell v)5.1 E 2.5(ariables. May)-.25 F
-(also be speci\214ed as)2.5 E F1<ad76>2.5 E F0(.)A(GNU Bash-3.1-de)72
-768 Q -.15(ve)-.25 G 123.59(l2).15 G(005 Mar 15)-123.59 E(47)198.17 E 0
-Cg EP
+(ay also be speci\214ed as)-5 E F1<ad6a>2.5 E F0(.)A F1 -.1(ke)184 696 S
+(yw).1 E(ord)-.1 E F0(Shell reserv)224 708 Q(ed w)-.15 E 2.5(ords. May)
+-.1 F(also be speci\214ed as)2.5 E F1<ad6b>2.5 E F0(.)A
+(GNU Bash-3.1-beta1)72 768 Q(2005 Aug 27)122.91 E(47)197.89 E 0 Cg EP
 %%Page: 48 49
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E/F1 10/Times-Bold@0 SF<ad47>144 84 Q/F2 10/Times-Italic@0 SF
-(globpat)2.5 E F0 1.41(The \214lename e)184 96 R 1.411(xpansion pattern)
--.15 F F2(globpat)3.911 E F0 1.411(is e)3.911 F 1.411
-(xpanded to generate the possible comple-)-.15 F(tions.)184 108 Q F1
-<ad57>144 120 Q F2(wor)2.5 E(dlist)-.37 E F0(The)184 132 Q F2(wor)3.64 E
-(dlist)-.37 E F0 1.14(is split using the characters in the)3.64 F/F3 9
+-.35 E/F1 10/Times-Bold@0 SF(running)184 84 Q F0
+(Names of running jobs, if job control is acti)5.54 E -.15(ve)-.25 G(.)
+.15 E F1(ser)184 96 Q(vice)-.1 E F0(Service names.)10.67 E
+(May also be speci\214ed as)5 E F1<ad73>2.5 E F0(.)A F1(setopt)184 108 Q
+F0 -1.11(Va)14.45 G(lid ar)1.11 E(guments for the)-.18 E F1<ad6f>2.5 E
+F0(option to the)2.5 E F1(set)2.5 E F0 -.2(bu)2.5 G(iltin.).2 E F1
+(shopt)184 120 Q F0(Shell option names as accepted by the)16.66 E F1
+(shopt)2.5 E F0 -.2(bu)2.5 G(iltin.).2 E F1(signal)184 132 Q F0
+(Signal names.)14.99 E F1(stopped)184 144 Q F0
+(Names of stopped jobs, if job control is acti)6.66 E -.15(ve)-.25 G(.)
+.15 E F1(user)184 156 Q F0(User names.)21.67 E
+(May also be speci\214ed as)5 E F1<ad75>2.5 E F0(.)A F1 -.1(va)184 168 S
+(riable).1 E F0(Names of all shell v)5.1 E 2.5(ariables. May)-.25 F
+(also be speci\214ed as)2.5 E F1<ad76>2.5 E F0(.)A F1<ad47>144 180 Q/F2
+10/Times-Italic@0 SF(globpat)2.5 E F0 1.41(The \214lename e)184 192 R
+1.411(xpansion pattern)-.15 F F2(globpat)3.911 E F0 1.411(is e)3.911 F
+1.411(xpanded to generate the possible comple-)-.15 F(tions.)184 204 Q
+F1<ad57>144 216 Q F2(wor)2.5 E(dlist)-.37 E F0(The)184 228 Q F2(wor)3.64
+E(dlist)-.37 E F0 1.14(is split using the characters in the)3.64 F/F3 9
 /Times-Bold@0 SF(IFS)3.64 E F0 1.139(special v)3.39 F 1.139
-(ariable as delimiters, and)-.25 F 2.007(each resultant w)184 144 R
+(ariable as delimiters, and)-.25 F 2.007(each resultant w)184 240 R
 2.007(ord is e)-.1 F 4.507(xpanded. The)-.15 F 2.008
 (possible completions are the members of the)4.507 F
-(resultant list which match the w)184 156 Q(ord being completed.)-.1 E
-F1<ad43>144 168 Q F2(command)2.5 E(command)184 180 Q F0 1.056(is e)3.556
+(resultant list which match the w)184 252 Q(ord being completed.)-.1 E
+F1<ad43>144 264 Q F2(command)2.5 E(command)184 276 Q F0 1.056(is e)3.556
 F -.15(xe)-.15 G 1.056(cuted in a subshell en).15 F 1.056
 (vironment, and its output is used as the possible)-.4 F(completions.)
-184 192 Q F1<ad46>144 204 Q F2(function)2.5 E F0 1.18
-(The shell function)184 216 R F2(function)3.68 E F0 1.181(is e)3.681 F
+184 288 Q F1<ad46>144 300 Q F2(function)2.5 E F0 1.18
+(The shell function)184 312 R F2(function)3.68 E F0 1.181(is e)3.681 F
 -.15(xe)-.15 G 1.181(cuted in the current shell en).15 F 3.681
 (vironment. When)-.4 F 1.181(it \214n-)3.681 F .932
-(ishes, the possible completions are retrie)184 228 R -.15(ve)-.25 G
+(ishes, the possible completions are retrie)184 324 R -.15(ve)-.25 G
 3.432(df).15 G .932(rom the v)-3.432 F .932(alue of the)-.25 F F3
-(COMPREPL)3.431 E(Y)-.828 E F0(array)3.181 E -.25(va)184 240 S(riable.)
-.25 E F1<ad58>144 252 Q F2(\214lterpat)2.5 E(\214lterpat)184 264 Q F0
+(COMPREPL)3.431 E(Y)-.828 E F0(array)3.181 E -.25(va)184 336 S(riable.)
+.25 E F1<ad58>144 348 Q F2(\214lterpat)2.5 E(\214lterpat)184 360 Q F0
 .733(is a pattern as used for \214lename e)3.233 F 3.233(xpansion. It)
 -.15 F .733(is applied to the list of possible)3.233 F 1.596
-(completions generated by the preceding options and ar)184 276 R 1.596
-(guments, and each completion)-.18 F(matching)184 288 Q F2(\214lterpat)
+(completions generated by the preceding options and ar)184 372 R 1.596
+(guments, and each completion)-.18 F(matching)184 384 Q F2(\214lterpat)
 3.204 E F0 .704(is remo)3.204 F -.15(ve)-.15 G 3.204(df).15 G .704
 (rom the list.)-3.204 F 3.204(Al)5.704 G(eading)-3.204 E F1(!)3.204 E F0
 (in)3.204 E F2(\214lterpat)3.205 E F0(ne)3.205 E -.05(ga)-.15 G .705
-(tes the pattern;).05 F(in this case, an)184 300 Q 2.5(yc)-.15 G
+(tes the pattern;).05 F(in this case, an)184 396 Q 2.5(yc)-.15 G
 (ompletion not matching)-2.5 E F2(\214lterpat)2.5 E F0(is remo)2.5 E
--.15(ve)-.15 G(d.).15 E F1<ad50>144 312 Q F2(pr)2.5 E(e\214x)-.37 E(pr)
-184 324 Q(e\214x)-.37 E F0 .535(is added at the be)3.035 F .534
+-.15(ve)-.15 G(d.).15 E F1<ad50>144 408 Q F2(pr)2.5 E(e\214x)-.37 E(pr)
+184 420 Q(e\214x)-.37 E F0 .535(is added at the be)3.035 F .534
 (ginning of each possible completion after all other options ha)-.15 F
--.15(ve)-.2 G(been applied.)184 336 Q F1<ad53>144 348 Q F2(suf)2.5 E
+-.15(ve)-.2 G(been applied.)184 432 Q F1<ad53>144 444 Q F2(suf)2.5 E
 2.81(\214x suf)-.18 F<8c78>-.18 E F0
 (is appended to each possible completion after all other options ha)2.5
-E .3 -.15(ve b)-.2 H(een applied.).15 E .466(The return v)144 364.8 R
+E .3 -.15(ve b)-.2 H(een applied.).15 E .466(The return v)144 460.8 R
 .466(alue is true unless an in)-.25 F -.25(va)-.4 G .466
 (lid option is supplied, an option other than).25 F F1<ad70>2.967 E F0
 (or)2.967 E F1<ad72>2.967 E F0 .467(is sup-)2.967 F 1.362
-(plied without a)144 376.8 R F2(name)3.862 E F0(ar)3.862 E 1.361
+(plied without a)144 472.8 R F2(name)3.862 E F0(ar)3.862 E 1.361
 (gument, an attempt is made to remo)-.18 F 1.661 -.15(ve a c)-.15 H
-1.361(ompletion speci\214cation for a).15 F F2(name)144 388.8 Q F0
+1.361(ompletion speci\214cation for a).15 F F2(name)144 484.8 Q F0
 (for which no speci\214cation e)2.5 E
 (xists, or an error occurs adding a completion speci\214cation.)-.15 E
-F1(continue)108 405.6 Q F0([)2.5 E F2(n)A F0(])A 1.753(Resume the ne)144
-417.6 R 1.753(xt iteration of the enclosing)-.15 F F1 -.25(fo)4.254 G(r)
+F1(continue)108 501.6 Q F0([)2.5 E F2(n)A F0(])A 1.753(Resume the ne)144
+513.6 R 1.753(xt iteration of the enclosing)-.15 F F1 -.25(fo)4.254 G(r)
 .25 E F0(,)A F1(while)4.254 E F0(,)A F1(until)4.254 E F0 4.254(,o)C(r)
 -4.254 E F1(select)4.254 E F0 4.254(loop. If)4.254 F F2(n)4.614 E F0
-1.754(is speci\214ed,)4.494 F 1.209(resume at the)144 429.6 R F2(n)3.709
+1.754(is speci\214ed,)4.494 F 1.209(resume at the)144 525.6 R F2(n)3.709
 E F0 1.209(th enclosing loop.)B F2(n)6.569 E F0 1.209(must be)3.949 F/F4
 10/Symbol SF<b3>3.709 E F0 3.709(1. If)3.709 F F2(n)4.069 E F0 1.209
 (is greater than the number of enclosing)3.949 F .667
-(loops, the last enclosing loop \(the `)144 441.6 R(`top-le)-.74 E -.15
+(loops, the last enclosing loop \(the `)144 537.6 R(`top-le)-.74 E -.15
 (ve)-.25 G(l').15 E 3.167('l)-.74 G .667(oop\) is resumed.)-3.167 F .668
 (The return v)5.668 F .668(alue is 0 unless the)-.25 F(shell is not e)
-144 453.6 Q -.15(xe)-.15 G(cuting a loop when).15 E F1(continue)2.5 E F0
-(is e)2.5 E -.15(xe)-.15 G(cuted.).15 E F1(declar)108 470.4 Q(e)-.18 E
+144 549.6 Q -.15(xe)-.15 G(cuting a loop when).15 E F1(continue)2.5 E F0
+(is e)2.5 E -.15(xe)-.15 G(cuted.).15 E F1(declar)108 566.4 Q(e)-.18 E
 F0([)2.5 E F1(\255afFirtx)A F0 2.5(][)C F1<ad70>-2.5 E F0 2.5(][)C F2
 (name)-2.5 E F0([=)A F2(value)A F0 2.5(].)C(..])-2.5 E F1(typeset)108
-482.4 Q F0([)2.5 E F1(\255afFirtx)A F0 2.5(][)C F1<ad70>-2.5 E F0 2.5
+578.4 Q F0([)2.5 E F1(\255afFirtx)A F0 2.5(][)C F1<ad70>-2.5 E F0 2.5
 (][)C F2(name)-2.5 E F0([=)A F2(value)A F0 2.5(].)C(..])-2.5 E 1.265
-(Declare v)144 494.4 R 1.265(ariables and/or gi)-.25 F 1.565 -.15(ve t)
+(Declare v)144 590.4 R 1.265(ariables and/or gi)-.25 F 1.565 -.15(ve t)
 -.25 H 1.265(hem attrib).15 F 3.765(utes. If)-.2 F(no)3.765 E F2(name)
 3.765 E F0 3.765(sa)C 1.265(re gi)-3.765 F -.15(ve)-.25 G 3.764(nt).15 G
-1.264(hen display the v)-3.764 F 1.264(alues of)-.25 F -.25(va)144 506.4
+1.264(hen display the v)-3.764 F 1.264(alues of)-.25 F -.25(va)144 602.4
 S 3.326(riables. The).25 F F1<ad70>3.326 E F0 .826
 (option will display the attrib)3.326 F .826(utes and v)-.2 F .826
 (alues of each)-.25 F F2(name)3.326 E F0 5.827(.W).18 G(hen)-5.827 E F1
 <ad70>3.327 E F0 .827(is used,)3.327 F .22
-(additional options are ignored.)144 518.4 R(The)5.22 E F1<ad46>2.72 E
+(additional options are ignored.)144 614.4 R(The)5.22 E F1<ad46>2.72 E
 F0 .22(option inhibits the display of function de\214nitions; only the)
-2.72 F .466(function name and attrib)144 530.4 R .466(utes are printed.)
+2.72 F .466(function name and attrib)144 626.4 R .466(utes are printed.)
 -.2 F .466(If the)5.466 F F1(extdeb)2.966 E(ug)-.2 E F0 .466
 (shell option is enabled using)2.966 F F1(shopt)2.966 E F0 2.966(,t)C
 (he)-2.966 E 1.308(source \214le name and line number where the functio\
-n is de\214ned are displayed as well.)144 542.4 R(The)6.308 E F1<ad46>
-3.808 E F0 .19(option implies)144 554.4 R F1<ad66>2.69 E F0 5.19(.T)C
+n is de\214ned are displayed as well.)144 638.4 R(The)6.308 E F1<ad46>
+3.808 E F0 .19(option implies)144 650.4 R F1<ad66>2.69 E F0 5.19(.T)C
 .19(he follo)-5.19 F .191
 (wing options can be used to restrict output to v)-.25 F .191
-(ariables with the speci-)-.25 F(\214ed attrib)144 566.4 Q(ute or to gi)
+(ariables with the speci-)-.25 F(\214ed attrib)144 662.4 Q(ute or to gi)
 -.2 E .3 -.15(ve v)-.25 H(ariables attrib)-.1 E(utes:)-.2 E F1<ad61>144
-578.4 Q F0(Each)25.3 E F2(name)2.5 E F0(is an array v)2.5 E
+674.4 Q F0(Each)25.3 E F2(name)2.5 E F0(is an array v)2.5 E
 (ariable \(see)-.25 E F1(Arrays)2.5 E F0(abo)2.5 E -.15(ve)-.15 G(\).)
-.15 E F1<ad66>144 590.4 Q F0(Use function names only)26.97 E(.)-.65 E F1
-<ad69>144 602.4 Q F0 .558(The v)27.52 F .558
+.15 E F1<ad66>144 686.4 Q F0(Use function names only)26.97 E(.)-.65 E F1
+<ad69>144 698.4 Q F0 .558(The v)27.52 F .558
 (ariable is treated as an inte)-.25 F .558(ger; arithmetic e)-.15 F -.25
 (va)-.25 G .558(luation \(see).25 F F3 .557(ARITHMETIC EV)3.058 F(ALU)
--1.215 E(A-)-.54 E(TION \))180 614.4 Q F0(is performed when the v)2.25 E
-(ariable is assigned a v)-.25 E(alue.)-.25 E F1<ad72>144 626.4 Q F0(Mak)
-25.86 E(e)-.1 E F2(name)5.046 E F0 5.046(sr)C(eadonly)-5.046 E 7.546(.T)
--.65 G 2.546(hese names cannot then be assigned v)-7.546 F 2.547
-(alues by subsequent)-.25 F(assignment statements or unset.)180 638.4 Q
-F1<ad74>144 650.4 Q F0(Gi)26.97 E .73 -.15(ve e)-.25 H(ach).15 E F2
-(name)2.93 E F0(the)2.929 E F2(tr)2.929 E(ace)-.15 E F0(attrib)2.929 E
-2.929(ute. T)-.2 F .429(raced functions inherit the)-.35 F F1(DEB)2.929
-E(UG)-.1 E F0(and)2.929 E F1(RETURN)2.929 E F0
-(traps from the calling shell.)180 662.4 Q(The trace attrib)5 E
-(ute has no special meaning for v)-.2 E(ariables.)-.25 E F1<ad78>144
-674.4 Q F0(Mark)25.3 E F2(name)2.5 E F0 2.5(sf)C(or e)-2.5 E
-(xport to subsequent commands via the en)-.15 E(vironment.)-.4 E .336
-(Using `+' instead of `\255' turns of)144 691.2 R 2.837(ft)-.25 G .337
-(he attrib)-2.837 F .337(ute instead, with the e)-.2 F .337
-(xception that)-.15 F F1(+a)2.837 E F0 .337(may not be used)2.837 F .793
-(to destro)144 703.2 R 3.293(ya)-.1 G 3.293(na)-3.293 G .793(rray v)
--3.293 F 3.293(ariable. When)-.25 F .793(used in a function, mak)3.293 F
-.793(es each)-.1 F F2(name)3.293 E F0 .793(local, as with the)3.293 F F1
-(local)3.292 E F0 2.842(command. If)144 715.2 R 2.842(av)2.842 G .342
-(ariable name is follo)-3.092 F .342(wed by =)-.25 F F2(value)A F0 2.842
-(,t)C .342(he v)-2.842 F .342(alue of the v)-.25 F .343
-(ariable is set to)-.25 F F2(value)2.843 E F0 5.343(.T)C(he)-5.343 E
-.801(return v)144 727.2 R .801(alue is 0 unless an in)-.25 F -.25(va)-.4
-G .8
-(lid option is encountered, an attempt is made to de\214ne a function)
-.25 F(GNU Bash-3.1-de)72 768 Q -.15(ve)-.25 G 123.59(l2).15 G
-(005 Mar 15)-123.59 E(48)198.17 E 0 Cg EP
+-1.215 E(A-)-.54 E(TION \))180 710.4 Q F0(is performed when the v)2.25 E
+(ariable is assigned a v)-.25 E(alue.)-.25 E(GNU Bash-3.1-beta1)72 768 Q
+(2005 Aug 27)122.91 E(48)197.89 E 0 Cg EP
 %%Page: 49 50
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E(using)144 84 Q/F1 10/Courier@0 SF 1.038(\255f foo=bar)3.538 F F0
-3.538(,a)C 3.538(na)-3.538 G 1.038(ttempt is made to assign a v)-3.538 F
-1.038(alue to a readonly v)-.25 F 1.039(ariable, an attempt is)-.25 F
-.974(made to assign a v)144 96 R .974(alue to an array v)-.25 F .974
-(ariable without using the compound assignment syntax \(see)-.25 F/F2 10
-/Times-Bold@0 SF(Arrays)144 108 Q F0(abo)2.86 E -.15(ve)-.15 G .36
-(\), one of the).15 F/F3 10/Times-Italic@0 SF(names)2.86 E F0 .36
-(is not a v)2.86 F .36(alid shell v)-.25 F .36
-(ariable name, an attempt is made to turn of)-.25 F(f)-.25 E .057
-(readonly status for a readonly v)144 120 R .057
+-.35 E/F1 10/Times-Bold@0 SF<ad72>144 84 Q F0(Mak)25.86 E(e)-.1 E/F2 10
+/Times-Italic@0 SF(name)5.046 E F0 5.046(sr)C(eadonly)-5.046 E 7.546(.T)
+-.65 G 2.546(hese names cannot then be assigned v)-7.546 F 2.547
+(alues by subsequent)-.25 F(assignment statements or unset.)180 96 Q F1
+<ad74>144 108 Q F0(Gi)26.97 E .73 -.15(ve e)-.25 H(ach).15 E F2(name)
+2.93 E F0(the)2.929 E F2(tr)2.929 E(ace)-.15 E F0(attrib)2.929 E 2.929
+(ute. T)-.2 F .429(raced functions inherit the)-.35 F F1(DEB)2.929 E(UG)
+-.1 E F0(and)2.929 E F1(RETURN)2.929 E F0(traps from the calling shell.)
+180 120 Q(The trace attrib)5 E(ute has no special meaning for v)-.2 E
+(ariables.)-.25 E F1<ad78>144 132 Q F0(Mark)25.3 E F2(name)2.5 E F0 2.5
+(sf)C(or e)-2.5 E(xport to subsequent commands via the en)-.15 E
+(vironment.)-.4 E .336(Using `+' instead of `\255' turns of)144 148.8 R
+2.837(ft)-.25 G .337(he attrib)-2.837 F .337(ute instead, with the e)-.2
+F .337(xception that)-.15 F F1(+a)2.837 E F0 .337(may not be used)2.837
+F .793(to destro)144 160.8 R 3.293(ya)-.1 G 3.293(na)-3.293 G .793
+(rray v)-3.293 F 3.293(ariable. When)-.25 F .793
+(used in a function, mak)3.293 F .793(es each)-.1 F F2(name)3.293 E F0
+.793(local, as with the)3.293 F F1(local)3.292 E F0 2.842(command. If)
+144 172.8 R 2.842(av)2.842 G .342(ariable name is follo)-3.092 F .342
+(wed by =)-.25 F F2(value)A F0 2.842(,t)C .342(he v)-2.842 F .342
+(alue of the v)-.25 F .343(ariable is set to)-.25 F F2(value)2.843 E F0
+5.343(.T)C(he)-5.343 E .801(return v)144 184.8 R .801
+(alue is 0 unless an in)-.25 F -.25(va)-.4 G .8
+(lid option is encountered, an attempt is made to de\214ne a function)
+.25 F(using)144 196.8 Q/F3 10/Courier@0 SF 1.038(\255f foo=bar)3.538 F
+F0 3.538(,a)C 3.538(na)-3.538 G 1.038(ttempt is made to assign a v)
+-3.538 F 1.038(alue to a readonly v)-.25 F 1.039(ariable, an attempt is)
+-.25 F .974(made to assign a v)144 208.8 R .974(alue to an array v)-.25
+F .974(ariable without using the compound assignment syntax \(see)-.25 F
+F1(Arrays)144 220.8 Q F0(abo)2.86 E -.15(ve)-.15 G .36(\), one of the)
+.15 F F2(names)2.86 E F0 .36(is not a v)2.86 F .36(alid shell v)-.25 F
+.36(ariable name, an attempt is made to turn of)-.25 F(f)-.25 E .057
+(readonly status for a readonly v)144 232.8 R .057
 (ariable, an attempt is made to turn of)-.25 F 2.556(fa)-.25 G .056
 (rray status for an array v)-2.556 F(ari-)-.25 E
-(able, or an attempt is made to display a non-e)144 132 Q
-(xistent function with)-.15 E F2<ad66>2.5 E F0(.)A F2
-(dirs [\255clpv] [+)108 148.8 Q F3(n)A F2 2.5(][)C<ad>-2.5 E F3(n)A F2
-(])A F0 -.4(Wi)144 160.8 S .328
+(able, or an attempt is made to display a non-e)144 244.8 Q
+(xistent function with)-.15 E F1<ad66>2.5 E F0(.)A F1
+(dirs [\255clpv] [+)108 261.6 Q F2(n)A F1 2.5(][)C<ad>-2.5 E F2(n)A F1
+(])A F0 -.4(Wi)144 273.6 S .328
 (thout options, displays the list of currently remembered directories.)
 .4 F .329(The def)5.329 F .329(ault display is on a)-.1 F 1.238
-(single line with directory names separated by spaces.)144 172.8 R 1.238
-(Directories are added to the list with the)6.238 F F2(pushd)144 184.8 Q
-F0(command; the)2.5 E F2(popd)2.5 E F0(command remo)2.5 E -.15(ve)-.15 G
-2.5(se).15 G(ntries from the list.)-2.5 E F2(+)144 196.8 Q F3(n)A F0
-1.564(Displays the)25.3 F F3(n)4.064 E F0 1.565
-(th entry counting from the left of the list sho)B 1.565(wn by)-.25 F F2
+(single line with directory names separated by spaces.)144 285.6 R 1.238
+(Directories are added to the list with the)6.238 F F1(pushd)144 297.6 Q
+F0(command; the)2.5 E F1(popd)2.5 E F0(command remo)2.5 E -.15(ve)-.15 G
+2.5(se).15 G(ntries from the list.)-2.5 E F1(+)144 309.6 Q F2(n)A F0
+1.564(Displays the)25.3 F F2(n)4.064 E F0 1.565
+(th entry counting from the left of the list sho)B 1.565(wn by)-.25 F F1
 (dirs)4.065 E F0 1.565(when in)4.065 F -.2(vo)-.4 G -.1(ke).2 G(d).1 E
-(without options, starting with zero.)180 208.8 Q F2<ad>144 220.8 Q F3
-(n)A F0 1.194(Displays the)25.3 F F3(n)3.694 E F0 1.194
+(without options, starting with zero.)180 321.6 Q F1<ad>144 333.6 Q F2
+(n)A F0 1.194(Displays the)25.3 F F2(n)3.694 E F0 1.194
 (th entry counting from the right of the list sho)B 1.194(wn by)-.25 F
-F2(dirs)3.694 E F0 1.194(when in)3.694 F -.2(vo)-.4 G -.1(ke).2 G(d).1 E
-(without options, starting with zero.)180 232.8 Q F2<ad63>144 244.8 Q F0
-(Clears the directory stack by deleting all of the entries.)25.86 E F2
-<ad6c>144 256.8 Q F0 .324(Produces a longer listing; the def)27.52 F
+F1(dirs)3.694 E F0 1.194(when in)3.694 F -.2(vo)-.4 G -.1(ke).2 G(d).1 E
+(without options, starting with zero.)180 345.6 Q F1<ad63>144 357.6 Q F0
+(Clears the directory stack by deleting all of the entries.)25.86 E F1
+<ad6c>144 369.6 Q F0 .324(Produces a longer listing; the def)27.52 F
 .324(ault listing format uses a tilde to denote the home direc-)-.1 F
-(tory)180 268.8 Q(.)-.65 E F2<ad70>144 280.8 Q F0
-(Print the directory stack with one entry per line.)24.74 E F2<ad76>144
-292.8 Q F0 .273(Print the directory stack with one entry per line, pre\
+(tory)180 381.6 Q(.)-.65 E F1<ad70>144 393.6 Q F0
+(Print the directory stack with one entry per line.)24.74 E F1<ad76>144
+405.6 Q F0 .273(Print the directory stack with one entry per line, pre\
 \214xing each entry with its inde)25.3 F 2.772(xi)-.15 G 2.772(nt)-2.772
-G(he)-2.772 E(stack.)180 304.8 Q .257(The return v)144 321.6 R .258
+G(he)-2.772 E(stack.)180 417.6 Q .257(The return v)144 434.4 R .258
 (alue is 0 unless an in)-.25 F -.25(va)-.4 G .258
-(lid option is supplied or).25 F F3(n)2.758 E F0(inde)2.758 E -.15(xe)
+(lid option is supplied or).25 F F2(n)2.758 E F0(inde)2.758 E -.15(xe)
 -.15 G 2.758(sb).15 G -.15(ey)-2.758 G .258(ond the end of the direc-)
-.15 F(tory stack.)144 333.6 Q F2(diso)108 350.4 Q(wn)-.1 E F0([)2.5 E F2
-(\255ar)A F0 2.5(][)C F2<ad68>-2.5 E F0 2.5(][)C F3(jobspec)-2.5 E F0
-(...])2.5 E -.4(Wi)144 362.4 S .331(thout options, each).4 F F3(jobspec)
+.15 F(tory stack.)144 446.4 Q F1(diso)108 463.2 Q(wn)-.1 E F0([)2.5 E F1
+(\255ar)A F0 2.5(][)C F1<ad68>-2.5 E F0 2.5(][)C F2(jobspec)-2.5 E F0
+(...])2.5 E -.4(Wi)144 475.2 S .331(thout options, each).4 F F2(jobspec)
 4.571 E F0 .331(is remo)3.141 F -.15(ve)-.15 G 2.831(df).15 G .331
 (rom the table of acti)-2.831 F .63 -.15(ve j)-.25 H 2.83(obs. If).15 F
-(the)2.83 E F2<ad68>2.83 E F0 .33(option is gi)2.83 F -.15(ve)-.25 G(n,)
-.15 E(each)144 374.4 Q F3(jobspec)4.52 E F0 .28(is not remo)3.09 F -.15
+(the)2.83 E F1<ad68>2.83 E F0 .33(option is gi)2.83 F -.15(ve)-.25 G(n,)
+.15 E(each)144 487.2 Q F2(jobspec)4.52 E F0 .28(is not remo)3.09 F -.15
 (ve)-.15 G 2.78(df).15 G .28(rom the table, b)-2.78 F .28(ut is mark)-.2
 F .28(ed so that)-.1 F/F4 9/Times-Bold@0 SF(SIGHUP)2.78 E F0 .281
-(is not sent to the job if)2.53 F .224(the shell recei)144 386.4 R -.15
+(is not sent to the job if)2.53 F .224(the shell recei)144 499.2 R -.15
 (ve)-.25 G 2.724(sa).15 G F4(SIGHUP)A/F5 9/Times-Roman@0 SF(.)A F0 .224
-(If no)4.724 F F3(jobspec)4.464 E F0 .224(is present, and neither the)
-3.034 F F2<ad61>2.724 E F0 .224(nor the)2.724 F F2<ad72>2.724 E F0 .223
-(option is sup-)2.724 F .651(plied, the)144 398.4 R F3(curr)3.151 E .651
-(ent job)-.37 F F0 .651(is used.)3.151 F .652(If no)5.651 F F3(jobspec)
-4.892 E F0 .652(is supplied, the)3.462 F F2<ad61>3.152 E F0 .652
+(If no)4.724 F F2(jobspec)4.464 E F0 .224(is present, and neither the)
+3.034 F F1<ad61>2.724 E F0 .224(nor the)2.724 F F1<ad72>2.724 E F0 .223
+(option is sup-)2.724 F .651(plied, the)144 511.2 R F2(curr)3.151 E .651
+(ent job)-.37 F F0 .651(is used.)3.151 F .652(If no)5.651 F F2(jobspec)
+4.892 E F0 .652(is supplied, the)3.462 F F1<ad61>3.152 E F0 .652
 (option means to remo)3.152 F .952 -.15(ve o)-.15 H 3.152(rm).15 G(ark)
--3.152 E .435(all jobs; the)144 410.4 R F2<ad72>2.935 E F0 .435
-(option without a)2.935 F F3(jobspec)4.675 E F0(ar)3.245 E .434
+-3.152 E .435(all jobs; the)144 523.2 R F1<ad72>2.935 E F0 .435
+(option without a)2.935 F F2(jobspec)4.675 E F0(ar)3.245 E .434
 (gument restricts operation to running jobs.)-.18 F .434(The return)
-5.434 F -.25(va)144 422.4 S(lue is 0 unless a).25 E F3(jobspec)4.24 E F0
-(does not specify a v)2.81 E(alid job)-.25 E(.)-.4 E F2(echo)108 439.2 Q
-F0([)2.5 E F2(\255neE)A F0 2.5(][)C F3(ar)-2.5 E(g)-.37 E F0(...])2.5 E
-.394(Output the)144 451.2 R F3(ar)2.894 E(g)-.37 E F0 .394
+5.434 F -.25(va)144 535.2 S(lue is 0 unless a).25 E F2(jobspec)4.24 E F0
+(does not specify a v)2.81 E(alid job)-.25 E(.)-.4 E F1(echo)108 552 Q
+F0([)2.5 E F1(\255neE)A F0 2.5(][)C F2(ar)-2.5 E(g)-.37 E F0(...])2.5 E
+.394(Output the)144 564 R F2(ar)2.894 E(g)-.37 E F0 .394
 (s, separated by spaces, follo)B .395(wed by a ne)-.25 F 2.895
 (wline. The)-.25 F .395(return status is al)2.895 F -.1(wa)-.1 G .395
-(ys 0.).1 F(If)5.395 E F2<ad6e>2.895 E F0 .549
-(is speci\214ed, the trailing ne)144 463.2 R .548(wline is suppressed.)
--.25 F .548(If the)5.548 F F2<ad65>3.048 E F0 .548(option is gi)3.048 F
--.15(ve)-.25 G .548(n, interpretation of the fol-).15 F(lo)144 475.2 Q
-.052(wing backslash-escaped characters is enabled.)-.25 F(The)5.052 E F2
+(ys 0.).1 F(If)5.395 E F1<ad6e>2.895 E F0 .549
+(is speci\214ed, the trailing ne)144 576 R .548(wline is suppressed.)
+-.25 F .548(If the)5.548 F F1<ad65>3.048 E F0 .548(option is gi)3.048 F
+-.15(ve)-.25 G .548(n, interpretation of the fol-).15 F(lo)144 588 Q
+.052(wing backslash-escaped characters is enabled.)-.25 F(The)5.052 E F1
 <ad45>2.552 E F0 .053(option disables the interpretation of these)2.553
-F 1.503(escape characters, e)144 487.2 R -.15(ve)-.25 G 4.003(no).15 G
+F 1.503(escape characters, e)144 600 R -.15(ve)-.25 G 4.003(no).15 G
 4.003(ns)-4.003 G 1.502(ystems where the)-4.003 F 4.002(ya)-.15 G 1.502
-(re interpreted by def)-4.002 F 4.002(ault. The)-.1 F F2(xpg_echo)4.002
+(re interpreted by def)-4.002 F 4.002(ault. The)-.1 F F1(xpg_echo)4.002
 E F0(shell)4.002 E .009
-(option may be used to dynamically determine whether or not)144 499.2 R
-F2(echo)2.509 E F0 -.15(ex)2.51 G .01(pands these escape characters).15
-F .66(by def)144 511.2 R(ault.)-.1 E F2(echo)5.66 E F0 .66
-(does not interpret)3.16 F F2<adad>3.16 E F0 .659
-(to mean the end of options.)3.159 F F2(echo)5.659 E F0 .659
-(interprets the follo)3.159 F(wing)-.25 E(escape sequences:)144 523.2 Q
-F2(\\a)144 535.2 Q F0(alert \(bell\))28.22 E F2(\\b)144 547.2 Q F0
-(backspace)27.66 E F2(\\c)144 559.2 Q F0(suppress trailing ne)28.78 E
-(wline)-.25 E F2(\\e)144 571.2 Q F0(an escape character)28.78 E F2(\\f)
-144 583.2 Q F0(form feed)29.89 E F2(\\n)144 595.2 Q F0(ne)27.66 E 2.5
-(wl)-.25 G(ine)-2.5 E F2(\\r)144 607.2 Q F0(carriage return)28.78 E F2
-(\\t)144 619.2 Q F0(horizontal tab)29.89 E F2(\\v)144 631.2 Q F0 -.15
-(ve)28.22 G(rtical tab).15 E F2(\\\\)144 643.2 Q F0(backslash)30.44 E F2
-(\\0)144 655.2 Q F3(nnn)A F0(the eight-bit character whose v)13.22 E
-(alue is the octal v)-.25 E(alue)-.25 E F3(nnn)2.5 E F0
-(\(zero to three octal digits\))2.5 E F2(\\)144 667.2 Q F3(nnn)A F0
-(the eight-bit character whose v)18.22 E(alue is the octal v)-.25 E
-(alue)-.25 E F3(nnn)2.5 E F0(\(one to three octal digits\))2.5 E F2(\\x)
-144 679.2 Q F3(HH)A F0(the eight-bit character whose v)13.78 E
-(alue is the he)-.25 E(xadecimal v)-.15 E(alue)-.25 E F3(HH)2.5 E F0
-(\(one or tw)2.5 E 2.5(oh)-.1 G .3 -.15(ex d)-2.5 H(igits\)).15 E F2
-(enable)108 696 Q F0([)2.5 E F2(\255adnps)A F0 2.5(][)C F2<ad66>-2.5 E
-F3(\214lename)2.5 E F0 2.5(][)C F3(name)-2.5 E F0(...])2.5 E .277
-(Enable and disable b)144 708 R .278(uiltin shell commands.)-.2 F .278
-(Disabling a b)5.278 F .278(uiltin allo)-.2 F .278
-(ws a disk command which has)-.25 F .834(the same name as a shell b)144
-720 R .834(uiltin to be e)-.2 F -.15(xe)-.15 G .834
-(cuted without specifying a full pathname, e).15 F -.15(ve)-.25 G 3.333
-(nt).15 G(hough)-3.333 E(GNU Bash-3.1-de)72 768 Q -.15(ve)-.25 G 123.59
-(l2).15 G(005 Mar 15)-123.59 E(49)198.17 E 0 Cg EP
+(option may be used to dynamically determine whether or not)144 612 R F1
+(echo)2.509 E F0 -.15(ex)2.51 G .01(pands these escape characters).15 F
+.66(by def)144 624 R(ault.)-.1 E F1(echo)5.66 E F0 .66
+(does not interpret)3.16 F F1<adad>3.16 E F0 .659
+(to mean the end of options.)3.159 F F1(echo)5.659 E F0 .659
+(interprets the follo)3.159 F(wing)-.25 E(escape sequences:)144 636 Q F1
+(\\a)144 648 Q F0(alert \(bell\))28.22 E F1(\\b)144 660 Q F0(backspace)
+27.66 E F1(\\c)144 672 Q F0(suppress trailing ne)28.78 E(wline)-.25 E F1
+(\\e)144 684 Q F0(an escape character)28.78 E F1(\\f)144 696 Q F0
+(form feed)29.89 E F1(\\n)144 708 Q F0(ne)27.66 E 2.5(wl)-.25 G(ine)-2.5
+E(GNU Bash-3.1-beta1)72 768 Q(2005 Aug 27)122.91 E(49)197.89 E 0 Cg EP
 %%Page: 50 51
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E .989(the shell normally searches for b)144 84 R .989
-(uiltins before disk commands.)-.2 F(If)5.989 E/F1 10/Times-Bold@0 SF
-<ad6e>3.489 E F0 .99(is used, each)3.49 F/F2 10/Times-Italic@0 SF(name)
-3.49 E F0 .99(is dis-)3.49 F 1.582(abled; otherwise,)144 96 R F2(names)
-4.082 E F0 1.582(are enabled.)4.082 F -.15(Fo)6.582 G 4.082(re).15 G
-1.582(xample, to use the)-4.232 F F1(test)4.082 E F0 1.582
-(binary found via the)4.082 F/F3 9/Times-Bold@0 SF -.666(PA)4.081 G(TH)
--.189 E F0 .08(instead of the shell b)144 108 R .08(uiltin v)-.2 F .08
-(ersion, run)-.15 F/F4 10/Courier@0 SF .081(enable -n test)2.58 F F0
-5.081(.T)C(he)-5.081 E F1<ad66>2.581 E F0 .081
-(option means to load the ne)2.581 F(w)-.25 E -.2(bu)144 120 S 1.525
+-.35 E/F1 10/Times-Bold@0 SF(\\r)144 84 Q F0(carriage return)28.78 E F1
+(\\t)144 96 Q F0(horizontal tab)29.89 E F1(\\v)144 108 Q F0 -.15(ve)
+28.22 G(rtical tab).15 E F1(\\\\)144 120 Q F0(backslash)30.44 E F1(\\0)
+144 132 Q/F2 10/Times-Italic@0 SF(nnn)A F0
+(the eight-bit character whose v)13.22 E(alue is the octal v)-.25 E
+(alue)-.25 E F2(nnn)2.5 E F0(\(zero to three octal digits\))2.5 E F1(\\)
+144 144 Q F2(nnn)A F0(the eight-bit character whose v)18.22 E
+(alue is the octal v)-.25 E(alue)-.25 E F2(nnn)2.5 E F0
+(\(one to three octal digits\))2.5 E F1(\\x)144 156 Q F2(HH)A F0
+(the eight-bit character whose v)13.78 E(alue is the he)-.25 E
+(xadecimal v)-.15 E(alue)-.25 E F2(HH)2.5 E F0(\(one or tw)2.5 E 2.5(oh)
+-.1 G .3 -.15(ex d)-2.5 H(igits\)).15 E F1(enable)108 172.8 Q F0([)2.5 E
+F1(\255adnps)A F0 2.5(][)C F1<ad66>-2.5 E F2(\214lename)2.5 E F0 2.5(][)
+C F2(name)-2.5 E F0(...])2.5 E .277(Enable and disable b)144 184.8 R
+.278(uiltin shell commands.)-.2 F .278(Disabling a b)5.278 F .278
+(uiltin allo)-.2 F .278(ws a disk command which has)-.25 F .834
+(the same name as a shell b)144 196.8 R .834(uiltin to be e)-.2 F -.15
+(xe)-.15 G .834(cuted without specifying a full pathname, e).15 F -.15
+(ve)-.25 G 3.333(nt).15 G(hough)-3.333 E .989
+(the shell normally searches for b)144 208.8 R .989
+(uiltins before disk commands.)-.2 F(If)5.989 E F1<ad6e>3.489 E F0 .99
+(is used, each)3.49 F F2(name)3.49 E F0 .99(is dis-)3.49 F 1.582
+(abled; otherwise,)144 220.8 R F2(names)4.082 E F0 1.582(are enabled.)
+4.082 F -.15(Fo)6.582 G 4.082(re).15 G 1.582(xample, to use the)-4.232 F
+F1(test)4.082 E F0 1.582(binary found via the)4.082 F/F3 9/Times-Bold@0
+SF -.666(PA)4.081 G(TH)-.189 E F0 .08(instead of the shell b)144 232.8 R
+.08(uiltin v)-.2 F .08(ersion, run)-.15 F/F4 10/Courier@0 SF .081
+(enable -n test)2.58 F F0 5.081(.T)C(he)-5.081 E F1<ad66>2.581 E F0 .081
+(option means to load the ne)2.581 F(w)-.25 E -.2(bu)144 244.8 S 1.525
 (iltin command).2 F F2(name)4.385 E F0 1.524(from shared object)4.204 F
 F2(\214lename)4.024 E F0 4.024(,o).18 G 4.024(ns)-4.024 G 1.524
-(ystems that support dynamic loading.)-4.024 F(The)144 132 Q F1<ad64>
+(ystems that support dynamic loading.)-4.024 F(The)144 256.8 Q F1<ad64>
 2.866 E F0 .366(option will delete a b)2.866 F .366(uiltin pre)-.2 F
 .366(viously loaded with)-.25 F F1<ad66>2.867 E F0 5.367(.I)C 2.867(fn)
 -5.367 G(o)-2.867 E F2(name)2.867 E F0(ar)2.867 E .367(guments are gi)
--.18 F -.15(ve)-.25 G .367(n, or).15 F .399(if the)144 144 R F1<ad70>
+-.18 F -.15(ve)-.25 G .367(n, or).15 F .399(if the)144 268.8 R F1<ad70>
 2.899 E F0 .399(option is supplied, a list of shell b)2.899 F .399
 (uiltins is printed.)-.2 F -.4(Wi)5.399 G .399(th no other option ar).4
 F .398(guments, the)-.18 F .098(list consists of all enabled shell b)144
-156 R 2.598(uiltins. If)-.2 F F1<ad6e>2.598 E F0 .098
+280.8 R 2.598(uiltins. If)-.2 F F1<ad6e>2.598 E F0 .098
 (is supplied, only disabled b)2.598 F .099(uiltins are printed.)-.2 F
 (If)5.099 E F1<ad61>2.599 E F0 1.917
-(is supplied, the list printed includes all b)144 168 R 1.916
+(is supplied, the list printed includes all b)144 292.8 R 1.916
 (uiltins, with an indication of whether or not each is)-.2 F 2.878
-(enabled. If)144 180 R F1<ad73>2.878 E F0 .379
+(enabled. If)144 304.8 R F1<ad73>2.878 E F0 .379
 (is supplied, the output is restricted to the POSIX)2.878 F F2(special)
 2.879 E F0 -.2(bu)2.879 G 2.879(iltins. The).2 F .379(return v)2.879 F
-(alue)-.25 E .995(is 0 unless a)144 192 R F2(name)3.855 E F0 .994
+(alue)-.25 E .995(is 0 unless a)144 316.8 R F2(name)3.855 E F0 .994
 (is not a shell b)3.675 F .994(uiltin or there is an error loading a ne)
--.2 F 3.494(wb)-.25 G .994(uiltin from a shared)-3.694 F(object.)144 204
-Q F1 -2.3 -.15(ev a)108 220.8 T(l).15 E F0([)2.5 E F2(ar)A(g)-.37 E F0
-(...])2.5 E(The)144 232.8 Q F2(ar)3.17 E(g)-.37 E F0 3.17(sa)C .671
+-.2 F 3.494(wb)-.25 G .994(uiltin from a shared)-3.694 F(object.)144
+328.8 Q F1 -2.3 -.15(ev a)108 345.6 T(l).15 E F0([)2.5 E F2(ar)A(g)-.37
+E F0(...])2.5 E(The)144 357.6 Q F2(ar)3.17 E(g)-.37 E F0 3.17(sa)C .671
 (re read and concatenated together into a single command.)-3.17 F .671
-(This command is then read)5.671 F .495(and e)144 244.8 R -.15(xe)-.15 G
+(This command is then read)5.671 F .495(and e)144 369.6 R -.15(xe)-.15 G
 .495(cuted by the shell, and its e).15 F .495
 (xit status is returned as the v)-.15 F .495(alue of)-.25 F F1 -2.3 -.15
 (ev a)2.995 H(l).15 E F0 5.495(.I)C 2.995(ft)-5.495 G .495(here are no)
--2.995 F F2(ar)2.995 E(gs)-.37 E F0(,).27 E(or only null ar)144 256.8 Q
+-2.995 F F2(ar)2.995 E(gs)-.37 E F0(,).27 E(or only null ar)144 381.6 Q
 (guments,)-.18 E F1 -2.3 -.15(ev a)2.5 H(l).15 E F0(returns 0.)2.5 E F1
-(exec)108 273.6 Q F0([)2.5 E F1(\255cl)A F0 2.5(][)C F1<ad61>-2.5 E F2
+(exec)108 398.4 Q F0([)2.5 E F1(\255cl)A F0 2.5(][)C F1<ad61>-2.5 E F2
 (name)2.5 E F0 2.5(][)C F2(command)-2.5 E F0([)2.5 E F2(ar)A(guments)
--.37 E F0(]])A(If)144 285.6 Q F2(command)3.005 E F0 .305
+-.37 E F0(]])A(If)144 410.4 Q F2(command)3.005 E F0 .305
 (is speci\214ed, it replaces the shell.)3.575 F .305(No ne)5.305 F 2.805
 (wp)-.25 G .306(rocess is created.)-2.805 F(The)5.306 E F2(ar)3.136 E
-(guments)-.37 E F0(become)3.076 E .177(the ar)144 297.6 R .177
+(guments)-.37 E F0(become)3.076 E .177(the ar)144 422.4 R .177
 (guments to)-.18 F F2(command)2.676 E F0 5.176(.I)C 2.676(ft)-5.176 G
 (he)-2.676 E F1<ad6c>2.676 E F0 .176
 (option is supplied, the shell places a dash at the be)2.676 F .176
-(ginning of)-.15 F .159(the zeroth ar)144 309.6 R 2.659(gp)-.18 G .159
+(ginning of)-.15 F .159(the zeroth ar)144 434.4 R 2.659(gp)-.18 G .159
 (assed to)-2.659 F F2(command)2.659 E F0 5.159(.T).77 G .159
 (his is what)-5.159 F F2(lo)2.659 E(gin)-.1 E F0 .159(\(1\) does.).24 F
 (The)5.16 E F1<ad63>2.66 E F0 .16(option causes)2.66 F F2(command)2.86 E
-F0(to)3.43 E 1.196(be e)144 321.6 R -.15(xe)-.15 G 1.196
+F0(to)3.43 E 1.196(be e)144 446.4 R -.15(xe)-.15 G 1.196
 (cuted with an empty en).15 F 3.696(vironment. If)-.4 F F1<ad61>3.696 E
 F0 1.196(is supplied, the shell passes)3.696 F F2(name)4.055 E F0 1.195
-(as the zeroth)3.875 F(ar)144 333.6 Q .02(gument to the e)-.18 F -.15
+(as the zeroth)3.875 F(ar)144 458.4 Q .02(gument to the e)-.18 F -.15
 (xe)-.15 G .02(cuted command.).15 F(If)5.02 E F2(command)2.72 E F0 .02
 (cannot be e)3.29 F -.15(xe)-.15 G .02
-(cuted for some reason, a non-inter).15 F(-)-.2 E(acti)144 345.6 Q 1.067
+(cuted for some reason, a non-inter).15 F(-)-.2 E(acti)144 470.4 Q 1.067
 -.15(ve s)-.25 H .767(hell e).15 F .767(xits, unless the shell option)
 -.15 F F1(execfail)3.266 E F0 .766
 (is enabled, in which case it returns f)3.266 F 3.266(ailure. An)-.1 F
-(interacti)144 357.6 Q 1.518 -.15(ve s)-.25 H 1.218(hell returns f).15 F
+(interacti)144 482.4 Q 1.518 -.15(ve s)-.25 H 1.218(hell returns f).15 F
 1.219(ailure if the \214le cannot be e)-.1 F -.15(xe)-.15 G 3.719
 (cuted. If).15 F F2(command)3.919 E F0 1.219(is not speci\214ed, an)
-4.489 F(y)-.15 E .134(redirections tak)144 369.6 R 2.634(ee)-.1 G -.25
+4.489 F(y)-.15 E .134(redirections tak)144 494.4 R 2.634(ee)-.1 G -.25
 (ff)-2.634 G .134(ect in the current shell, and the return status is 0.)
 .25 F .134(If there is a redirection error)5.134 F(,)-.4 E
-(the return status is 1.)144 381.6 Q F1(exit)108 398.4 Q F0([)2.5 E F2
+(the return status is 1.)144 506.4 Q F1(exit)108 523.2 Q F0([)2.5 E F2
 (n)A F0 6.29(]C)C .095(ause the shell to e)-6.29 F .095
 (xit with a status of)-.15 F F2(n)2.595 E F0 5.095(.I)C(f)-5.095 E F2(n)
 2.955 E F0 .096(is omitted, the e)2.835 F .096
-(xit status is that of the last command)-.15 F -.15(exe)144 410.4 S 2.5
+(xit status is that of the last command)-.15 F -.15(exe)144 535.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 F1(export)108 427.2 Q F0([)
-2.5 E F1(\255fn)A F0 2.5(][).833 G F2(name)-2.5 E F0([=)A F2(wor)A(d)
--.37 E F0(]] ...)A F1(export \255p)108 439.2 Q F0 .257(The supplied)144
-451.2 R F2(names)3.117 E F0 .257(are mark)3.027 F .257
-(ed for automatic e)-.1 F .257(xport to the en)-.15 F .257
-(vironment of subsequently e)-.4 F -.15(xe)-.15 G(cuted).15 E 2.626
-(commands. If)144 463.2 R(the)2.626 E F1<ad66>2.626 E F0 .127
-(option is gi)2.627 F -.15(ve)-.25 G .127(n, the).15 F F2(names)2.987 E
-F0 .127(refer to functions.)2.897 F .127(If no)5.127 F F2(names)2.987 E
-F0 .127(are gi)2.897 F -.15(ve)-.25 G .127(n, or if the).15 F F1<ad70>
-144 475.2 Q F0 .66(option is supplied, a list of all names that are e)
-3.16 F .659(xported in this shell is printed.)-.15 F(The)5.659 E F1
-<ad6e>3.159 E F0(option)3.159 E 1.586(causes the e)144 487.2 R 1.586
+G(cuted before the shell terminates.).15 E F1(export)108 552 Q F0([)2.5
+E F1(\255fn)A F0 2.5(][).833 G F2(name)-2.5 E F0([=)A F2(wor)A(d)-.37 E
+F0(]] ...)A F1(export \255p)108 564 Q F0 .257(The supplied)144 576 R F2
+(names)3.117 E F0 .257(are mark)3.027 F .257(ed for automatic e)-.1 F
+.257(xport to the en)-.15 F .257(vironment of subsequently e)-.4 F -.15
+(xe)-.15 G(cuted).15 E 2.626(commands. If)144 588 R(the)2.626 E F1<ad66>
+2.626 E F0 .127(option is gi)2.627 F -.15(ve)-.25 G .127(n, the).15 F F2
+(names)2.987 E F0 .127(refer to functions.)2.897 F .127(If no)5.127 F F2
+(names)2.987 E F0 .127(are gi)2.897 F -.15(ve)-.25 G .127(n, or if the)
+.15 F F1<ad70>144 600 Q F0 .66
+(option is supplied, a list of all names that are e)3.16 F .659
+(xported in this shell is printed.)-.15 F(The)5.659 E F1<ad6e>3.159 E F0
+(option)3.159 E 1.586(causes the e)144 612 R 1.586
 (xport property to be remo)-.15 F -.15(ve)-.15 G 4.086(df).15 G 1.586
 (rom each)-4.086 F F2(name)4.086 E F0 6.586(.I)C 4.086(fav)-6.586 G
-1.587(ariable name is follo)-4.336 F 1.587(wed by)-.25 F(=)144 499.2 Q
-F2(wor)A(d)-.37 E F0 2.804(,t)C .304(he v)-2.804 F .304(alue of the v)
--.25 F .304(ariable is set to)-.25 F F2(wor)2.804 E(d)-.37 E F0(.)A F1
+1.587(ariable name is follo)-4.336 F 1.587(wed by)-.25 F(=)144 624 Q F2
+(wor)A(d)-.37 E F0 2.804(,t)C .304(he v)-2.804 F .304(alue of the v)-.25
+F .304(ariable is set to)-.25 F F2(wor)2.804 E(d)-.37 E F0(.)A F1
 (export)5.304 E F0 .304(returns an e)2.804 F .303
 (xit status of 0 unless an in)-.15 F -.25(va)-.4 G(lid).25 E .293
-(option is encountered, one of the)144 511.2 R F2(names)2.793 E F0 .293
+(option is encountered, one of the)144 636 R F2(names)2.793 E F0 .293
 (is not a v)2.793 F .293(alid shell v)-.25 F .293(ariable name, or)-.25
-F F1<ad66>2.793 E F0 .294(is supplied with a)2.793 F F2(name)144.36
-523.2 Q F0(that is not a function.)2.68 E F1(fc)108 540 Q F0([)2.5 E F1
+F F1<ad66>2.793 E F0 .294(is supplied with a)2.793 F F2(name)144.36 648
+Q F0(that is not a function.)2.68 E F1(fc)108 664.8 Q F0([)2.5 E F1
 <ad65>A F2(ename)2.5 E F0 2.5(][)C F1(\255nlr)-2.5 E F0 2.5(][)C F2
 <8c72>-2.5 E(st)-.1 E F0 2.5(][)C F2(last)-2.5 E F0(])A F1(fc \255s)108
-552 Q F0([)2.5 E F2(pat)A F0(=)A F2 -.37(re)C(p).37 E F0 2.5(][)C F2
-(cmd)-2.5 E F0(])A .478(Fix Command.)144 564 R .478
+676.8 Q F0([)2.5 E F2(pat)A F0(=)A F2 -.37(re)C(p).37 E F0 2.5(][)C F2
+(cmd)-2.5 E F0(])A .478(Fix Command.)144 688.8 R .478
 (In the \214rst form, a range of commands from)5.478 F F2<8c72>4.888 E
 (st)-.1 E F0(to)3.658 E F2(last)3.068 E F0 .477
-(is selected from the his-)3.658 F .881(tory list.)144 576 R F2 -.45(Fi)
-5.881 G -.1(rs).45 G(t).1 E F0(and)4.061 E F2(last)3.471 E F0 .882
+(is selected from the his-)3.658 F .881(tory list.)144 700.8 R F2 -.45
+(Fi)5.881 G -.1(rs).45 G(t).1 E F0(and)4.061 E F2(last)3.471 E F0 .882
 (may be speci\214ed as a string \(to locate the last command be)4.062 F
 .882(ginning with)-.15 F .797(that string\) or as a number \(an inde)144
-588 R 3.297(xi)-.15 G .797(nto the history list, where a ne)-3.297 F
+712.8 R 3.297(xi)-.15 G .797(nto the history list, where a ne)-3.297 F
 -.05(ga)-.15 G(ti).05 E 1.097 -.15(ve n)-.25 H .796(umber is used as an)
-.15 F(of)144 600 Q .276(fset from the current command number\).)-.25 F
+.15 F(of)144 724.8 Q .276(fset from the current command number\).)-.25 F
 (If)5.276 E F2(last)2.866 E F0 .277
-(is not speci\214ed it is set to the current command)3.456 F .093
-(for listing \(so that)144 612 R F4 .092(fc \255l \25510)2.592 F F0 .092
-(prints the last 10 commands\) and to)2.592 F F2<8c72>4.502 E(st)-.1 E
-F0 2.592(otherwise. If)3.272 F F2<8c72>4.502 E(st)-.1 E F0 .092(is not)
-3.272 F(speci\214ed it is set to the pre)144 624 Q
-(vious command for editing and \25516 for listing.)-.25 E(The)144 648 Q
-F1<ad6e>2.522 E F0 .022
-(option suppresses the command numbers when listing.)2.522 F(The)5.022 E
-F1<ad72>2.522 E F0 .022(option re)2.522 F -.15(ve)-.25 G .022
-(rses the order of).15 F .438(the commands.)144 660 R .438(If the)5.438
-F F1<ad6c>2.938 E F0 .438(option is gi)2.938 F -.15(ve)-.25 G .438
-(n, the commands are listed on standard output.).15 F(Otherwise,)5.438 E
-.334(the editor gi)144 672 R -.15(ve)-.25 G 2.834(nb).15 G(y)-2.834 E F2
-(ename)3.024 E F0 .335(is in)3.014 F -.2(vo)-.4 G -.1(ke).2 G 2.835(do)
-.1 G 2.835(na\214)-2.835 G .335(le containing those commands.)-2.835 F
-(If)5.335 E F2(ename)3.025 E F0 .335(is not gi)3.015 F -.15(ve)-.25 G
-(n,).15 E .631(the v)144 684 R .631(alue of the)-.25 F F3(FCEDIT)3.131 E
-F0 -.25(va)2.881 G .631(riable is used, and the v).25 F .631(alue of)
--.25 F F3(EDIT)3.131 E(OR)-.162 E F0(if)2.881 E F3(FCEDIT)3.13 E F0 .63
-(is not set.)2.88 F .63(If nei-)5.63 F .95(ther v)144 696 R .95
-(ariable is set,)-.25 F F2(vi)5.116 E F0 .95(is used.)5.116 F .951
-(When editing is complete, the edited commands are echoed and)5.95 F
--.15(exe)144 708 S(cuted.).15 E(GNU Bash-3.1-de)72 768 Q -.15(ve)-.25 G
-123.59(l2).15 G(005 Mar 15)-123.59 E(50)198.17 E 0 Cg EP
+(is not speci\214ed it is set to the current command)3.456 F
+(GNU Bash-3.1-beta1)72 768 Q(2005 Aug 27)122.91 E(50)197.89 E 0 Cg EP
 %%Page: 51 52
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E .04(In the second form,)144 84 R/F1 10/Times-Italic@0 SF(command)
-2.54 E F0 .04(is re-e)2.54 F -.15(xe)-.15 G .039
-(cuted after each instance of).15 F F1(pat)2.539 E F0 .039
-(is replaced by)2.539 F F1 -.37(re)2.539 G(p).37 E F0 5.039(.A)C(useful)
--2.5 E .406(alias to use with this is)144 96 R/F2 10/Courier@0 SF .406
-(r='fc \255s')2.906 F F0 2.906(,s)C 2.906(ot)-2.906 G .406(hat typing)
--2.906 F F2 6.406(rc)2.906 G(c)-6.406 E F0 .406
-(runs the last command be)2.906 F .407(ginning with)-.15 F F2(cc)144 108
-Q F0(and typing)2.5 E F2(r)2.5 E F0(re-e)2.5 E -.15(xe)-.15 G
-(cutes the last command.).15 E .142
-(If the \214rst form is used, the return v)144 132 R .142
+-.35 E .093(for listing \(so that)144 84 R/F1 10/Courier@0 SF .092
+(fc \255l \25510)2.592 F F0 .092(prints the last 10 commands\) and to)
+2.592 F/F2 10/Times-Italic@0 SF<8c72>4.502 E(st)-.1 E F0 2.592
+(otherwise. If)3.272 F F2<8c72>4.502 E(st)-.1 E F0 .092(is not)3.272 F
+(speci\214ed it is set to the pre)144 96 Q
+(vious command for editing and \25516 for listing.)-.25 E(The)144 120 Q
+/F3 10/Times-Bold@0 SF<ad6e>2.522 E F0 .022
+(option suppresses the command numbers when listing.)2.522 F(The)5.022 E
+F3<ad72>2.522 E F0 .022(option re)2.522 F -.15(ve)-.25 G .022
+(rses the order of).15 F .438(the commands.)144 132 R .438(If the)5.438
+F F3<ad6c>2.938 E F0 .438(option is gi)2.938 F -.15(ve)-.25 G .438
+(n, the commands are listed on standard output.).15 F(Otherwise,)5.438 E
+.334(the editor gi)144 144 R -.15(ve)-.25 G 2.834(nb).15 G(y)-2.834 E F2
+(ename)3.024 E F0 .335(is in)3.014 F -.2(vo)-.4 G -.1(ke).2 G 2.835(do)
+.1 G 2.835(na\214)-2.835 G .335(le containing those commands.)-2.835 F
+(If)5.335 E F2(ename)3.025 E F0 .335(is not gi)3.015 F -.15(ve)-.25 G
+(n,).15 E .631(the v)144 156 R .631(alue of the)-.25 F/F4 9/Times-Bold@0
+SF(FCEDIT)3.131 E F0 -.25(va)2.881 G .631(riable is used, and the v).25
+F .631(alue of)-.25 F F4(EDIT)3.131 E(OR)-.162 E F0(if)2.881 E F4
+(FCEDIT)3.13 E F0 .63(is not set.)2.88 F .63(If nei-)5.63 F .95(ther v)
+144 168 R .95(ariable is set,)-.25 F F2(vi)5.116 E F0 .95(is used.)5.116
+F .951(When editing is complete, the edited commands are echoed and)5.95
+F -.15(exe)144 180 S(cuted.).15 E .04(In the second form,)144 204 R F2
+(command)2.54 E F0 .04(is re-e)2.54 F -.15(xe)-.15 G .039
+(cuted after each instance of).15 F F2(pat)2.539 E F0 .039
+(is replaced by)2.539 F F2 -.37(re)2.539 G(p).37 E F0 5.039(.A)C(useful)
+-2.5 E .406(alias to use with this is)144 216 R F1 .406(r='fc \255s')
+2.906 F F0 2.906(,s)C 2.906(ot)-2.906 G .406(hat typing)-2.906 F F1
+6.406(rc)2.906 G(c)-6.406 E F0 .406(runs the last command be)2.906 F
+.407(ginning with)-.15 F F1(cc)144 228 Q F0(and typing)2.5 E F1(r)2.5 E
+F0(re-e)2.5 E -.15(xe)-.15 G(cutes the last command.).15 E .142
+(If the \214rst form is used, the return v)144 252 R .142
 (alue is 0 unless an in)-.25 F -.25(va)-.4 G .142
-(lid option is encountered or).25 F F1<8c72>4.552 E(st)-.1 E F0(or)3.322
-E F1(last)2.732 E F0 .454(specify history lines out of range.)144 144 R
-.454(If the)5.454 F/F3 10/Times-Bold@0 SF<ad65>2.954 E F0 .454
+(lid option is encountered or).25 F F2<8c72>4.552 E(st)-.1 E F0(or)3.322
+E F2(last)2.732 E F0 .454(specify history lines out of range.)144 264 R
+.454(If the)5.454 F F3<ad65>2.954 E F0 .454
 (option is supplied, the return v)2.954 F .455(alue is the v)-.25 F .455
-(alue of the)-.25 F .788(last command e)144 156 R -.15(xe)-.15 G .788
+(alue of the)-.25 F .788(last command e)144 276 R -.15(xe)-.15 G .788
 (cuted or f).15 F .787
 (ailure if an error occurs with the temporary \214le of commands.)-.1 F
 .787(If the)5.787 F 1.135
 (second form is used, the return status is that of the command re-e)144
-168 R -.15(xe)-.15 G 1.136(cuted, unless).15 F F1(cmd)3.836 E F0 1.136
-(does not)4.406 F(specify a v)144 180 Q
+288 R -.15(xe)-.15 G 1.136(cuted, unless).15 F F2(cmd)3.836 E F0 1.136
+(does not)4.406 F(specify a v)144 300 Q
 (alid history line, in which case)-.25 E F3(fc)2.5 E F0(returns f)2.5 E
-(ailure.)-.1 E F3(fg)108 196.8 Q F0([)2.5 E F1(jobspec)A F0(])A(Resume)
-144 208.8 Q F1(jobspec)5.654 E F0 1.413(in the fore)4.224 F 1.413
+(ailure.)-.1 E F3(fg)108 316.8 Q F0([)2.5 E F2(jobspec)A F0(])A(Resume)
+144 328.8 Q F2(jobspec)5.654 E F0 1.413(in the fore)4.224 F 1.413
 (ground, and mak)-.15 F 3.913(ei)-.1 G 3.913(tt)-3.913 G 1.413
-(he current job)-3.913 F 6.413(.I)-.4 G(f)-6.413 E F1(jobspec)5.653 E F0
-1.413(is not present, the)4.223 F(shell')144 220.8 Q 3.116(sn)-.55 G
-.616(otion of the)-3.116 F F1(curr)3.116 E .616(ent job)-.37 F F0 .617
+(he current job)-3.913 F 6.413(.I)-.4 G(f)-6.413 E F2(jobspec)5.653 E F0
+1.413(is not present, the)4.223 F(shell')144 340.8 Q 3.116(sn)-.55 G
+.616(otion of the)-3.116 F F2(curr)3.116 E .616(ent job)-.37 F F0 .617
 (is used.)3.116 F .617(The return v)5.617 F .617
-(alue is that of the command placed into the)-.25 F(fore)144 232.8 Q
+(alue is that of the command placed into the)-.25 F(fore)144 352.8 Q
 .363(ground, or f)-.15 F .363
 (ailure if run when job control is disabled or)-.1 F 2.862(,w)-.4 G .362
-(hen run with job control enabled, if)-2.862 F F1(jobspec)145.74 244.8 Q
-F0 .004(does not specify a v)2.814 F .004(alid job or)-.25 F F1(jobspec)
+(hen run with job control enabled, if)-2.862 F F2(jobspec)145.74 364.8 Q
+F0 .004(does not specify a v)2.814 F .004(alid job or)-.25 F F2(jobspec)
 4.244 E F0 .004(speci\214es a job that w)2.814 F .004
-(as started without job control.)-.1 F F3(getopts)108 261.6 Q F1
-(optstring name)2.5 E F0([)2.5 E F1(ar)A(gs)-.37 E F0(])A F3(getopts)144
-273.6 Q F0 .793
-(is used by shell procedures to parse positional parameters.)3.294 F F1
+(as started without job control.)-.1 F F3(getopts)108 381.6 Q F2
+(optstring name)2.5 E F0([)2.5 E F2(ar)A(gs)-.37 E F0(])A F3(getopts)144
+393.6 Q F0 .793
+(is used by shell procedures to parse positional parameters.)3.294 F F2
 (optstring)6.023 E F0 .793(contains the option)3.513 F .149
-(characters to be recognized; if a character is follo)144 285.6 R .15
+(characters to be recognized; if a character is follo)144 405.6 R .15
 (wed by a colon, the option is e)-.25 F .15(xpected to ha)-.15 F .45
--.15(ve a)-.2 H(n).15 E(ar)144 297.6 Q .579
+-.15(ve a)-.2 H(n).15 E(ar)144 417.6 Q .579
 (gument, which should be separated from it by white space.)-.18 F .578
 (The colon and question mark char)5.579 F(-)-.2 E 1.665
-(acters may not be used as option characters.)144 309.6 R 1.665
+(acters may not be used as option characters.)144 429.6 R 1.665
 (Each time it is in)6.665 F -.2(vo)-.4 G -.1(ke).2 G(d,).1 E F3(getopts)
 4.165 E F0 1.665(places the ne)4.165 F(xt)-.15 E .797
-(option in the shell v)144 321.6 R(ariable)-.25 E F1(name)3.297 E F0
-3.297(,i).18 G(nitializing)-3.297 E F1(name)3.657 E F0 .797
+(option in the shell v)144 441.6 R(ariable)-.25 E F2(name)3.297 E F0
+3.297(,i).18 G(nitializing)-3.297 E F2(name)3.657 E F0 .797
 (if it does not e)3.477 F .796(xist, and the inde)-.15 F 3.296(xo)-.15 G
-3.296(ft)-3.296 G .796(he ne)-3.296 F(xt)-.15 E(ar)144 333.6 Q .085
-(gument to be processed into the v)-.18 F(ariable)-.25 E/F4 9
-/Times-Bold@0 SF(OPTIND)2.585 E/F5 9/Times-Roman@0 SF(.)A F4(OPTIND)
-4.585 E F0 .085(is initialized to 1 each time the shell)2.335 F .846
-(or a shell script is in)144 345.6 R -.2(vo)-.4 G -.1(ke).2 G 3.345
+3.296(ft)-3.296 G .796(he ne)-3.296 F(xt)-.15 E(ar)144 453.6 Q .085
+(gument to be processed into the v)-.18 F(ariable)-.25 E F4(OPTIND)2.585
+E/F5 9/Times-Roman@0 SF(.)A F4(OPTIND)4.585 E F0 .085
+(is initialized to 1 each time the shell)2.335 F .846
+(or a shell script is in)144 465.6 R -.2(vo)-.4 G -.1(ke).2 G 3.345
 (d. When).1 F .845(an option requires an ar)3.345 F(gument,)-.18 E F3
 (getopts)3.345 E F0 .845(places that ar)3.345 F(gument)-.18 E .803
-(into the v)144 357.6 R(ariable)-.25 E F4(OPT)3.303 E(ARG)-.81 E F5(.)A
+(into the v)144 477.6 R(ariable)-.25 E F4(OPT)3.303 E(ARG)-.81 E F5(.)A
 F0 .803(The shell does not reset)5.303 F F4(OPTIND)3.303 E F0 .804
 (automatically; it must be manually)3.054 F .294
-(reset between multiple calls to)144 369.6 R F3(getopts)2.793 E F0 .293
+(reset between multiple calls to)144 489.6 R F3(getopts)2.793 E F0 .293
 (within the same shell in)2.793 F -.2(vo)-.4 G .293(cation if a ne).2 F
-2.793(ws)-.25 G .293(et of parameters)-2.793 F(is to be used.)144 381.6
-Q 2.043(When the end of options is encountered,)144 405.6 R F3(getopts)
+2.793(ws)-.25 G .293(et of parameters)-2.793 F(is to be used.)144 501.6
+Q 2.043(When the end of options is encountered,)144 525.6 R F3(getopts)
 4.543 E F0 -.15(ex)4.543 G 2.043(its with a return v).15 F 2.044
-(alue greater than zero.)-.25 F F3(OPTIND)144 417.6 Q F0
+(alue greater than zero.)-.25 F F3(OPTIND)144 537.6 Q F0
 (is set to the inde)2.5 E 2.5(xo)-.15 G 2.5(ft)-2.5 G
 (he \214rst non-option ar)-2.5 E(gument, and)-.18 E F3(name)2.5 E F0
-(is set to ?.)2.5 E F3(getopts)144 441.6 Q F0 2.393
+(is set to ?.)2.5 E F3(getopts)144 561.6 Q F0 2.393
 (normally parses the positional parameters, b)4.893 F 2.392
 (ut if more ar)-.2 F 2.392(guments are gi)-.18 F -.15(ve)-.25 G 4.892
-(ni).15 G(n)-4.892 E F1(ar)4.892 E(gs)-.37 E F0(,).27 E F3(getopts)144
-453.6 Q F0(parses those instead.)2.5 E F3(getopts)144 477.6 Q F0 1.165
+(ni).15 G(n)-4.892 E F2(ar)4.892 E(gs)-.37 E F0(,).27 E F3(getopts)144
+573.6 Q F0(parses those instead.)2.5 E F3(getopts)144 597.6 Q F0 1.165
 (can report errors in tw)3.665 F 3.665(ow)-.1 G 3.665(ays. If)-3.765 F
-1.165(the \214rst character of)3.665 F F1(optstring)3.895 E F0 1.166
-(is a colon,)3.886 F F1(silent)4.006 E F0(error)4.346 E 1.264
-(reporting is used.)144 489.6 R 1.263
+1.165(the \214rst character of)3.665 F F2(optstring)3.895 E F0 1.166
+(is a colon,)3.886 F F2(silent)4.006 E F0(error)4.346 E 1.264
+(reporting is used.)144 609.6 R 1.263
 (In normal operation diagnostic messages are printed when in)6.263 F
 -.25(va)-.4 G 1.263(lid options or).25 F .393(missing option ar)144
-501.6 R .393(guments are encountered.)-.18 F .394(If the v)5.394 F
+621.6 R .393(guments are encountered.)-.18 F .394(If the v)5.394 F
 (ariable)-.25 E F4(OPTERR)2.894 E F0 .394
-(is set to 0, no error messages)2.644 F(will be displayed, e)144 513.6 Q
+(is set to 0, no error messages)2.644 F(will be displayed, e)144 633.6 Q
 -.15(ve)-.25 G 2.5(ni).15 G 2.5(ft)-2.5 G(he \214rst character of)-2.5 E
-F1(optstring)2.73 E F0(is not a colon.)2.72 E .667(If an in)144 537.6 R
+F2(optstring)2.73 E F0(is not a colon.)2.72 E .667(If an in)144 657.6 R
 -.25(va)-.4 G .667(lid option is seen,).25 F F3(getopts)3.167 E F0 .667
-(places ? into)3.167 F F1(name)3.527 E F0 .666
+(places ? into)3.167 F F2(name)3.527 E F0 .666
 (and, if not silent, prints an error message)3.347 F .399(and unsets)144
-549.6 R F4(OPT)2.899 E(ARG)-.81 E F5(.)A F0(If)4.899 E F3(getopts)2.899
+669.6 R F4(OPT)2.899 E(ARG)-.81 E F5(.)A F0(If)4.899 E F3(getopts)2.899
 E F0 .399(is silent, the option character found is placed in)2.899 F F4
 (OPT)2.899 E(ARG)-.81 E F0 .4(and no)2.65 F
-(diagnostic message is printed.)144 561.6 Q 1.242(If a required ar)144
-585.6 R 1.242(gument is not found, and)-.18 F F3(getopts)3.741 E F0
+(diagnostic message is printed.)144 681.6 Q 1.242(If a required ar)144
+705.6 R 1.242(gument is not found, and)-.18 F F3(getopts)3.741 E F0
 1.241(is not silent, a question mark \()3.741 F F3(?).833 E F0 3.741
-(\)i).833 G 3.741(sp)-3.741 G 1.241(laced in)-3.741 F F1(name)144 597.6
+(\)i).833 G 3.741(sp)-3.741 G 1.241(laced in)-3.741 F F2(name)144 717.6
 Q F0(,).18 E F4(OPT)2.734 E(ARG)-.81 E F0 .234
 (is unset, and a diagnostic message is printed.)2.484 F(If)5.234 E F3
 (getopts)2.734 E F0 .235(is silent, then a colon \()2.734 F F3(:).833 E
-F0(\)).833 E(is placed in)144 609.6 Q F1(name)2.86 E F0(and)2.68 E F4
-(OPT)2.5 E(ARG)-.81 E F0(is set to the option character found.)2.25 E F3
-(getopts)144 633.6 Q F0 .902
-(returns true if an option, speci\214ed or unspeci\214ed, is found.)
-3.402 F .902(It returns f)5.902 F .901(alse if the end of)-.1 F
-(options is encountered or an error occurs.)144 645.6 Q F3(hash)108
-662.4 Q F0([)2.5 E F3(\255lr)A F0 2.5(][)C F3<ad70>-2.5 E F1(\214lename)
-2.5 E F0 2.5(][)C F3(\255dt)-2.5 E F0 2.5(][)C F1(name)-2.5 E F0(])A
--.15(Fo)144 674.4 S 3.554(re).15 G(ach)-3.554 E F1(name)3.554 E F0 3.554
-(,t).18 G 1.054(he full \214le name of the command is determined by sea\
-rching the directories in)-3.554 F F3($P)144 686.4 Q -.95(AT)-.74 G(H)
-.95 E F0 .35(and remembered.)2.85 F .35(If the)5.35 F F3<ad70>2.85 E F0
-.349(option is supplied, no path search is performed, and)2.849 F F1
-(\214lename)4.759 E F0 .452
-(is used as the full \214le name of the command.)144 698.4 R(The)5.452 E
-F3<ad72>2.952 E F0 .452(option causes the shell to for)2.952 F .453
-(get all remem-)-.18 F .593(bered locations.)144 710.4 R(The)5.593 E F3
-<ad64>3.093 E F0 .593(option causes the shell to for)3.093 F .592
-(get the remembered location of each)-.18 F F1(name)3.092 E F0(.)A 1.706
-(If the)144 722.4 R F3<ad74>4.206 E F0 1.706
-(option is supplied, the full pathname to which each)4.206 F F1(name)
-4.206 E F0 1.707(corresponds is printed.)4.207 F(If)6.707 E
-(GNU Bash-3.1-de)72 768 Q -.15(ve)-.25 G 123.59(l2).15 G(005 Mar 15)
--123.59 E(51)198.17 E 0 Cg EP
+F0(\)).833 E(is placed in)144 729.6 Q F2(name)2.86 E F0(and)2.68 E F4
+(OPT)2.5 E(ARG)-.81 E F0(is set to the option character found.)2.25 E
+(GNU Bash-3.1-beta1)72 768 Q(2005 Aug 27)122.91 E(51)197.89 E 0 Cg EP
 %%Page: 52 53
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E(multiple)144 84 Q/F1 10/Times-Italic@0 SF(name)3.684 E F0(ar)
-3.684 E 1.184(guments are supplied with)-.18 F/F2 10/Times-Bold@0 SF
-<ad74>3.684 E F0 3.684(,t)C(he)-3.684 E F1(name)3.684 E F0 1.184
-(is printed before the hashed full path-)3.684 F 2.913(name. The)144 96
-R F2<ad6c>2.913 E F0 .413(option causes output to be displayed in a for\
-mat that may be reused as input.)2.913 F .414(If no)5.414 F(ar)144 108 Q
-2.486(guments are gi)-.18 F -.15(ve)-.25 G 2.486(n, or if only).15 F F2
-<ad6c>4.985 E F0 2.485
-(is supplied, information about remembered commands is)4.985 F 2.5
-(printed. The)144 120 R(return status is true unless a)2.5 E F1(name)
-2.86 E F0(is not found or an in)2.68 E -.25(va)-.4 G
-(lid option is supplied.).25 E F2(help)108 136.8 Q F0([)2.5 E F2<ad73>A
-F0 2.5(][)C F1(pattern)-2.5 E F0(])A .866
-(Display helpful information about b)144 148.8 R .867(uiltin commands.)
--.2 F(If)5.867 E F1(pattern)4.617 E F0 .867(is speci\214ed,)3.607 F F2
-(help)3.367 E F0(gi)3.367 E -.15(ve)-.25 G 3.367(sd).15 G(etailed)-3.367
-E .307(help on all commands matching)144 160.8 R F1(pattern)2.807 E F0
-2.807(;o).24 G .307(therwise help for all the b)-2.807 F .306
-(uiltins and shell control struc-)-.2 F .596(tures is printed.)144 172.8
-R(The)5.596 E F2<ad73>3.096 E F0 .596
+-.35 E/F1 10/Times-Bold@0 SF(getopts)144 84 Q F0 .902
+(returns true if an option, speci\214ed or unspeci\214ed, is found.)
+3.402 F .902(It returns f)5.902 F .901(alse if the end of)-.1 F
+(options is encountered or an error occurs.)144 96 Q F1(hash)108 112.8 Q
+F0([)2.5 E F1(\255lr)A F0 2.5(][)C F1<ad70>-2.5 E/F2 10/Times-Italic@0
+SF(\214lename)2.5 E F0 2.5(][)C F1(\255dt)-2.5 E F0 2.5(][)C F2(name)
+-2.5 E F0(])A -.15(Fo)144 124.8 S 3.554(re).15 G(ach)-3.554 E F2(name)
+3.554 E F0 3.554(,t).18 G 1.054(he full \214le name of the command is d\
+etermined by searching the directories in)-3.554 F F1($P)144 136.8 Q
+-.95(AT)-.74 G(H).95 E F0 .35(and remembered.)2.85 F .35(If the)5.35 F
+F1<ad70>2.85 E F0 .349
+(option is supplied, no path search is performed, and)2.849 F F2
+(\214lename)4.759 E F0 .452
+(is used as the full \214le name of the command.)144 148.8 R(The)5.452 E
+F1<ad72>2.952 E F0 .452(option causes the shell to for)2.952 F .453
+(get all remem-)-.18 F .593(bered locations.)144 160.8 R(The)5.593 E F1
+<ad64>3.093 E F0 .593(option causes the shell to for)3.093 F .592
+(get the remembered location of each)-.18 F F2(name)3.092 E F0(.)A .02
+(If the)144 172.8 R F1<ad74>2.52 E F0 .02
+(option is supplied, the full pathname to which each)2.52 F F2(name)
+2.521 E F0 .021(corresponds is printed.)2.521 F .021(If multi-)5.021 F
+(ple)144 184.8 Q F2(name)3.704 E F0(ar)3.704 E 1.204
+(guments are supplied with)-.18 F F1<ad74>3.703 E F0 3.703(,t)C(he)
+-3.703 E F2(name)3.703 E F0 1.203
+(is printed before the hashed full pathname.)3.703 F(The)144 196.8 Q F1
+<ad6c>3.215 E F0 .715(option causes output to be displayed in a format \
+that may be reused as input.)3.215 F .716(If no ar)5.716 F(gu-)-.18 E
+1.184(ments are gi)144 208.8 R -.15(ve)-.25 G 1.184(n, or if only).15 F
+F1<ad6c>3.684 E F0 1.183
+(is supplied, information about remembered commands is printed.)3.684 F
+(The return status is true unless a)144 220.8 Q F2(name)2.86 E F0
+(is not found or an in)2.68 E -.25(va)-.4 G(lid option is supplied.).25
+E F1(help)108 237.6 Q F0([)2.5 E F1<ad73>A F0 2.5(][)C F2(pattern)-2.5 E
+F0(])A .866(Display helpful information about b)144 249.6 R .867
+(uiltin commands.)-.2 F(If)5.867 E F2(pattern)4.617 E F0 .867
+(is speci\214ed,)3.607 F F1(help)3.367 E F0(gi)3.367 E -.15(ve)-.25 G
+3.367(sd).15 G(etailed)-3.367 E .307(help on all commands matching)144
+261.6 R F2(pattern)2.807 E F0 2.807(;o).24 G .307
+(therwise help for all the b)-2.807 F .306
+(uiltins and shell control struc-)-.2 F .596(tures is printed.)144 273.6
+R(The)5.596 E F1<ad73>3.096 E F0 .596
 (option restricts the information displayed to a short usage synopsis.)
 3.096 F(The)5.596 E(return status is 0 unless no command matches)144
-184.8 Q F1(pattern)2.5 E F0(.).24 E F2(history [)108 201.6 Q F1(n)A F2
-(])A(history \255c)108 213.6 Q(history \255d)108 225.6 Q F1(of)2.5 E
-(fset)-.18 E F2(history \255anrw)108 237.6 Q F0([)2.5 E F1(\214lename)A
-F0(])A F2(history \255p)108 249.6 Q F1(ar)2.5 E(g)-.37 E F0([)2.5 E F1
-(ar)A 2.5(g.)-.37 G(..)-2.5 E F0(])A F2(history \255s)108 261.6 Q F1(ar)
-2.5 E(g)-.37 E F0([)2.5 E F1(ar)A 2.5(g.)-.37 G(..)-2.5 E F0(])A -.4(Wi)
-144 273.6 S .752
+285.6 Q F2(pattern)2.5 E F0(.).24 E F1(history [)108 302.4 Q F2(n)A F1
+(])A(history \255c)108 314.4 Q(history \255d)108 326.4 Q F2(of)2.5 E
+(fset)-.18 E F1(history \255anrw)108 338.4 Q F0([)2.5 E F2(\214lename)A
+F0(])A F1(history \255p)108 350.4 Q F2(ar)2.5 E(g)-.37 E F0([)2.5 E F2
+(ar)A 2.5(g.)-.37 G(..)-2.5 E F0(])A F1(history \255s)108 362.4 Q F2(ar)
+2.5 E(g)-.37 E F0([)2.5 E F2(ar)A 2.5(g.)-.37 G(..)-2.5 E F0(])A -.4(Wi)
+144 374.4 S .752
 (th no options, display the command history list with line numbers.).4 F
-.752(Lines listed with a)5.752 F F2(*)3.251 E F0(ha)3.251 E -.15(ve)-.2
-G 1.23(been modi\214ed.)144 285.6 R 1.23(An ar)6.23 F 1.23(gument of)
--.18 F F1(n)4.09 E F0 1.231(lists only the last)3.97 F F1(n)4.091 E F0
-3.731(lines. If)3.971 F 1.231(the shell v)3.731 F(ariable)-.25 E F2
-(HISTTIME-)3.731 E(FORMA)144 297.6 Q(T)-.95 E F0 .25
-(is set and not null, it is used as a format string for)2.75 F F1
+.752(Lines listed with a)5.752 F F1(*)3.251 E F0(ha)3.251 E -.15(ve)-.2
+G 1.23(been modi\214ed.)144 386.4 R 1.23(An ar)6.23 F 1.23(gument of)
+-.18 F F2(n)4.09 E F0 1.231(lists only the last)3.97 F F2(n)4.091 E F0
+3.731(lines. If)3.971 F 1.231(the shell v)3.731 F(ariable)-.25 E F1
+(HISTTIME-)3.731 E(FORMA)144 398.4 Q(T)-.95 E F0 .25
+(is set and not null, it is used as a format string for)2.75 F F2
 (strftime)2.749 E F0 .249(\(3\) to display the time stamp)B .378
-(associated with each displayed history entry)144 309.6 R 5.378(.N)-.65
+(associated with each displayed history entry)144 410.4 R 5.378(.N)-.65
 G 2.878(oi)-5.378 G(nterv)-2.878 E .379
 (ening blank is printed between the format-)-.15 F .815
-(ted time stamp and the history line.)144 321.6 R(If)5.814 E F1
+(ted time stamp and the history line.)144 422.4 R(If)5.814 E F2
 (\214lename)3.314 E F0 .814
 (is supplied, it is used as the name of the history)3.314 F
-(\214le; if not, the v)144 333.6 Q(alue of)-.25 E/F3 9/Times-Bold@0 SF
+(\214le; if not, the v)144 434.4 Q(alue of)-.25 E/F3 9/Times-Bold@0 SF
 (HISTFILE)2.5 E F0(is used.)2.25 E(Options, if supplied, ha)5 E .3 -.15
-(ve t)-.2 H(he follo).15 E(wing meanings:)-.25 E F2<ad63>144 345.6 Q F0
-(Clear the history list by deleting all the entries.)25.86 E F2<ad64>144
-357.6 Q F1(of)2.5 E(fset)-.18 E F0(Delete the history entry at position)
-180 369.6 Q F1(of)2.5 E(fset)-.18 E F0(.)A F2<ad61>144 381.6 Q F0 .598
+(ve t)-.2 H(he follo).15 E(wing meanings:)-.25 E F1<ad63>144 446.4 Q F0
+(Clear the history list by deleting all the entries.)25.86 E F1<ad64>144
+458.4 Q F2(of)2.5 E(fset)-.18 E F0(Delete the history entry at position)
+180 470.4 Q F2(of)2.5 E(fset)-.18 E F0(.)A F1<ad61>144 482.4 Q F0 .598
 (Append the `)25.3 F(`ne)-.74 E(w')-.25 E 3.098('h)-.74 G .598
 (istory lines \(history lines entered since the be)-3.098 F .599
-(ginning of the current)-.15 F F2(bash)180 393.6 Q F0
-(session\) to the history \214le.)2.5 E F2<ad6e>144 405.6 Q F0 .854(Rea\
+(ginning of the current)-.15 F F1(bash)180 494.4 Q F0
+(session\) to the history \214le.)2.5 E F1<ad6e>144 506.4 Q F0 .854(Rea\
 d the history lines not already read from the history \214le into the c\
 urrent history list.)24.74 F .772
-(These are lines appended to the history \214le since the be)180 417.6 R
-.773(ginning of the current)-.15 F F2(bash)3.273 E F0(ses-)3.273 E
-(sion.)180 429.6 Q F2<ad72>144 441.6 Q F0(Read the contents of the hist\
-ory \214le and use them as the current history)25.86 E(.)-.65 E F2<ad77>
-144 453.6 Q F0(Write the current history to the history \214le, o)23.08
+(These are lines appended to the history \214le since the be)180 518.4 R
+.773(ginning of the current)-.15 F F1(bash)3.273 E F0(ses-)3.273 E
+(sion.)180 530.4 Q F1<ad72>144 542.4 Q F0(Read the contents of the hist\
+ory \214le and use them as the current history)25.86 E(.)-.65 E F1<ad77>
+144 554.4 Q F0(Write the current history to the history \214le, o)23.08
 E -.15(ve)-.15 G(rwriting the history \214le').15 E 2.5(sc)-.55 G
-(ontents.)-2.5 E F2<ad70>144 465.6 Q F0 .626
-(Perform history substitution on the follo)24.74 F(wing)-.25 E F1(ar)
+(ontents.)-2.5 E F1<ad70>144 566.4 Q F0 .626
+(Perform history substitution on the follo)24.74 F(wing)-.25 E F2(ar)
 3.125 E(gs)-.37 E F0 .625(and display the result on the standard)3.125 F
-2.975(output. Does)180 477.6 R .475
-(not store the results in the history list.)2.975 F(Each)5.475 E F1(ar)
+2.975(output. Does)180 578.4 R .475
+(not store the results in the history list.)2.975 F(Each)5.475 E F2(ar)
 2.975 E(g)-.37 E F0 .475(must be quoted to disable)2.975 F
-(normal history e)180 489.6 Q(xpansion.)-.15 E F2<ad73>144 501.6 Q F0
-.363(Store the)26.41 F F1(ar)3.193 E(gs)-.37 E F0 .363
+(normal history e)180 590.4 Q(xpansion.)-.15 E F1<ad73>144 602.4 Q F0
+.363(Store the)26.41 F F2(ar)3.193 E(gs)-.37 E F0 .363
 (in the history list as a single entry)3.133 F 5.363(.T)-.65 G .362
-(he last command in the history list is)-5.363 F(remo)180 513.6 Q -.15
-(ve)-.15 G 2.5(db).15 G(efore the)-2.5 E F1(ar)2.83 E(gs)-.37 E F0
-(are added.)2.77 E .28(If the)144 530.4 R F2(HISTTIMEFORMA)2.78 E(T)-.95
+(he last command in the history list is)-5.363 F(remo)180 614.4 Q -.15
+(ve)-.15 G 2.5(db).15 G(efore the)-2.5 E F2(ar)2.83 E(gs)-.37 E F0
+(are added.)2.77 E .28(If the)144 631.2 R F1(HISTTIMEFORMA)2.78 E(T)-.95
 E F0 .28
 (is set, the time stamp information associated with each history entry)
-2.78 F .216(is written to the history \214le.)144 542.4 R .216
+2.78 F .216(is written to the history \214le.)144 643.2 R .216
 (The return v)5.216 F .216(alue is 0 unless an in)-.25 F -.25(va)-.4 G
 .216(lid option is encountered, an error).25 F .422
-(occurs while reading or writing the history \214le, an in)144 554.4 R
--.25(va)-.4 G(lid).25 E F1(of)2.922 E(fset)-.18 E F0 .422
-(is supplied as an ar)2.922 F .422(gument to)-.18 F F2<ad64>2.922 E F0
-(,)A(or the history e)144 566.4 Q(xpansion supplied as an ar)-.15 E
-(gument to)-.18 E F2<ad70>2.5 E F0 -.1(fa)2.5 G(ils.).1 E F2(jobs)108
-583.2 Q F0([)2.5 E F2(\255lnprs)A F0 2.5(][)C F1(jobspec)A F0(... ])2.5
-E F2(jobs \255x)108 595.2 Q F1(command)2.5 E F0([)2.5 E F1(ar)2.5 E(gs)
--.37 E F0(... ])2.5 E(The \214rst form lists the acti)144 607.2 Q .3
--.15(ve j)-.25 H 2.5(obs. The).15 F(options ha)2.5 E .3 -.15(ve t)-.2 H
-(he follo).15 E(wing meanings:)-.25 E F2<ad6c>144 619.2 Q F0
-(List process IDs in addition to the normal information.)27.52 E F2
-<ad70>144 631.2 Q F0(List only the process ID of the job')24.74 E 2.5
-(sp)-.55 G(rocess group leader)-2.5 E(.)-.55 E F2<ad6e>144 643.2 Q F0
-.194(Display information only about jobs that ha)24.74 F .494 -.15(ve c)
--.2 H .193(hanged status since the user w).15 F .193(as last noti-)-.1 F
-(\214ed of their status.)180 655.2 Q F2<ad72>144 667.2 Q F0
-(Restrict output to running jobs.)25.86 E F2<ad73>144 679.2 Q F0
-(Restrict output to stopped jobs.)26.41 E(If)144 696 Q F1(jobspec)4.553
-E F0 .313(is gi)3.123 F -.15(ve)-.25 G .313
-(n, output is restricted to information about that job).15 F 5.314(.T)
--.4 G .314(he return status is 0 unless)-5.314 F(an in)144 708 Q -.25
-(va)-.4 G(lid option is encountered or an in).25 E -.25(va)-.4 G(lid).25
-E F1(jobspec)4.24 E F0(is supplied.)2.81 E 2.067(If the)144 724.8 R F2
-<ad78>4.567 E F0 2.067(option is supplied,)4.567 F F2(jobs)4.567 E F0
-2.067(replaces an)4.567 F(y)-.15 E F1(jobspec)6.307 E F0 2.067(found in)
-4.877 F F1(command)4.767 E F0(or)5.337 E F1(ar)4.897 E(gs)-.37 E F0
-2.066(with the)4.836 F(GNU Bash-3.1-de)72 768 Q -.15(ve)-.25 G 123.59
-(l2).15 G(005 Mar 15)-123.59 E(52)198.17 E 0 Cg EP
+(occurs while reading or writing the history \214le, an in)144 655.2 R
+-.25(va)-.4 G(lid).25 E F2(of)2.922 E(fset)-.18 E F0 .422
+(is supplied as an ar)2.922 F .422(gument to)-.18 F F1<ad64>2.922 E F0
+(,)A(or the history e)144 667.2 Q(xpansion supplied as an ar)-.15 E
+(gument to)-.18 E F1<ad70>2.5 E F0 -.1(fa)2.5 G(ils.).1 E F1(jobs)108
+684 Q F0([)2.5 E F1(\255lnprs)A F0 2.5(][)C F2(jobspec)A F0(... ])2.5 E
+F1(jobs \255x)108 696 Q F2(command)2.5 E F0([)2.5 E F2(ar)2.5 E(gs)-.37
+E F0(... ])2.5 E(The \214rst form lists the acti)144 708 Q .3 -.15(ve j)
+-.25 H 2.5(obs. The).15 F(options ha)2.5 E .3 -.15(ve t)-.2 H(he follo)
+.15 E(wing meanings:)-.25 E(GNU Bash-3.1-beta1)72 768 Q(2005 Aug 27)
+122.91 E(52)197.89 E 0 Cg EP
 %%Page: 53 54
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E(corresponding process group ID, and e)144 84 Q -.15(xe)-.15 G
-(cutes).15 E/F1 10/Times-Italic@0 SF(command)2.7 E F0(passing it)3.27 E
-F1(ar)2.5 E(gs)-.37 E F0 2.5(,r).27 G(eturning its e)-2.5 E(xit status.)
--.15 E/F2 10/Times-Bold@0 SF(kill)108 100.8 Q F0([)2.5 E F2<ad73>A F1
-(sigspec)2.5 E F0(|)2.5 E F2<ad6e>2.5 E F1(signum)2.5 E F0(|)2.5 E F2
-<ad>2.5 E F1(sigspec)A F0 2.5(][)C F1(pid)-2.5 E F0(|)2.5 E F1(jobspec)
-2.5 E F0 2.5(].)C(..)-2.5 E F2(kill \255l)108 112.8 Q F0([)2.5 E F1
-(sigspec)A F0(|)2.5 E F1 -.2(ex)2.5 G(it_status).2 E F0(])A .119
-(Send the signal named by)144 124.8 R F1(sigspec)2.959 E F0(or)2.929 E
-F1(signum)2.959 E F0 .119(to the processes named by)2.939 F F1(pid)3.87
-E F0(or)3.39 E F1(jobspec)2.62 E F0(.).31 E F1(sigspec)5.46 E F0(is)2.93
-E .319(either a case-insensiti)144 136.8 R .619 -.15(ve s)-.25 H .319
+-.35 E/F1 10/Times-Bold@0 SF<ad6c>144 84 Q F0
+(List process IDs in addition to the normal information.)27.52 E F1
+<ad70>144 96 Q F0(List only the process ID of the job')24.74 E 2.5(sp)
+-.55 G(rocess group leader)-2.5 E(.)-.55 E F1<ad6e>144 108 Q F0 .194
+(Display information only about jobs that ha)24.74 F .494 -.15(ve c)-.2
+H .193(hanged status since the user w).15 F .193(as last noti-)-.1 F
+(\214ed of their status.)180 120 Q F1<ad72>144 132 Q F0
+(Restrict output to running jobs.)25.86 E F1<ad73>144 144 Q F0
+(Restrict output to stopped jobs.)26.41 E(If)144 160.8 Q/F2 10
+/Times-Italic@0 SF(jobspec)4.553 E F0 .313(is gi)3.123 F -.15(ve)-.25 G
+.313(n, output is restricted to information about that job).15 F 5.314
+(.T)-.4 G .314(he return status is 0 unless)-5.314 F(an in)144 172.8 Q
+-.25(va)-.4 G(lid option is encountered or an in).25 E -.25(va)-.4 G
+(lid).25 E F2(jobspec)4.24 E F0(is supplied.)2.81 E .395(If the)144
+189.6 R F1<ad78>2.895 E F0 .394(option is supplied,)2.894 F F1(jobs)
+2.894 E F0 .394(replaces an)2.894 F(y)-.15 E F2(jobspec)4.634 E F0 .394
+(found in)3.204 F F2(command)3.094 E F0(or)3.664 E F2(ar)3.224 E(gs)-.37
+E F0 .394(with the corre-)3.164 F(sponding process group ID, and e)144
+201.6 Q -.15(xe)-.15 G(cutes).15 E F2(command)2.7 E F0(passing it)3.27 E
+F2(ar)2.5 E(gs)-.37 E F0 2.5(,r).27 G(eturning its e)-2.5 E(xit status.)
+-.15 E F1(kill)108 218.4 Q F0([)2.5 E F1<ad73>A F2(sigspec)2.5 E F0(|)
+2.5 E F1<ad6e>2.5 E F2(signum)2.5 E F0(|)2.5 E F1<ad>2.5 E F2(sigspec)A
+F0 2.5(][)C F2(pid)-2.5 E F0(|)2.5 E F2(jobspec)2.5 E F0 2.5(].)C(..)
+-2.5 E F1(kill \255l)108 230.4 Q F0([)2.5 E F2(sigspec)A F0(|)2.5 E F2
+-.2(ex)2.5 G(it_status).2 E F0(])A .119(Send the signal named by)144
+242.4 R F2(sigspec)2.959 E F0(or)2.929 E F2(signum)2.959 E F0 .119
+(to the processes named by)2.939 F F2(pid)3.87 E F0(or)3.39 E F2
+(jobspec)2.62 E F0(.).31 E F2(sigspec)5.46 E F0(is)2.93 E .319
+(either a case-insensiti)144 254.4 R .619 -.15(ve s)-.25 H .319
 (ignal name such as).15 F/F3 9/Times-Bold@0 SF(SIGKILL)2.819 E F0 .318
 (\(with or without the)2.569 F F3(SIG)2.818 E F0 .318
-(pre\214x\) or a signal)2.568 F(number;)144 148.8 Q F1(signum)4.188 E F0
-1.349(is a signal number)4.168 F 6.349(.I)-.55 G(f)-6.349 E F1(sigspec)
+(pre\214x\) or a signal)2.568 F(number;)144 266.4 Q F2(signum)4.188 E F0
+1.349(is a signal number)4.168 F 6.349(.I)-.55 G(f)-6.349 E F2(sigspec)
 4.189 E F0 1.349(is not present, then)4.159 F F3(SIGTERM)3.849 E F0
-1.349(is assumed.)3.599 F(An)6.349 E(ar)144 160.8 Q .523(gument of)-.18
-F F2<ad6c>3.023 E F0 .523(lists the signal names.)3.023 F .523(If an)
+1.349(is assumed.)3.599 F(An)6.349 E(ar)144 278.4 Q .523(gument of)-.18
+F F1<ad6c>3.023 E F0 .523(lists the signal names.)3.023 F .523(If an)
 5.523 F 3.023(ya)-.15 G -.18(rg)-3.023 G .523(uments are supplied when)
-.18 F F2<ad6c>3.023 E F0 .523(is gi)3.023 F -.15(ve)-.25 G .523
-(n, the names).15 F .28(of the signals corresponding to the ar)144 172.8
+.18 F F1<ad6c>3.023 E F0 .523(is gi)3.023 F -.15(ve)-.25 G .523
+(n, the names).15 F .28(of the signals corresponding to the ar)144 290.4
 R .28(guments are listed, and the return status is 0.)-.18 F(The)5.28 E
-F1 -.2(ex)2.78 G(it_status).2 E F0(ar)144 184.8 Q .378(gument to)-.18 F
-F2<ad6c>2.878 E F0 .378
+F2 -.2(ex)2.78 G(it_status).2 E F0(ar)144 302.4 Q .378(gument to)-.18 F
+F1<ad6c>2.878 E F0 .378
 (is a number specifying either a signal number or the e)2.878 F .377
-(xit status of a process termi-)-.15 F .593(nated by a signal.)144 196.8
-R F2(kill)5.593 E F0 .593(returns true if at least one signal w)3.093 F
+(xit status of a process termi-)-.15 F .593(nated by a signal.)144 314.4
+R F1(kill)5.593 E F0 .593(returns true if at least one signal w)3.093 F
 .593(as successfully sent, or f)-.1 F .594(alse if an error)-.1 F
-(occurs or an in)144 208.8 Q -.25(va)-.4 G(lid option is encountered.)
-.25 E F2(let)108 225.6 Q F1(ar)2.5 E(g)-.37 E F0([)2.5 E F1(ar)A(g)-.37
-E F0(...])2.5 E(Each)144 237.6 Q F1(ar)3.965 E(g)-.37 E F0 1.135
+(occurs or an in)144 326.4 Q -.25(va)-.4 G(lid option is encountered.)
+.25 E F1(let)108 343.2 Q F2(ar)2.5 E(g)-.37 E F0([)2.5 E F2(ar)A(g)-.37
+E F0(...])2.5 E(Each)144 355.2 Q F2(ar)3.965 E(g)-.37 E F0 1.135
 (is an arithmetic e)3.855 F 1.134(xpression to be e)-.15 F -.25(va)-.25
 G 1.134(luated \(see).25 F F3 1.134(ARITHMETIC EV)3.634 F(ALU)-1.215 E
 -.855(AT)-.54 G(ION).855 E/F4 9/Times-Roman@0 SF(\).)A F0 1.134(If the)
-5.634 F(last)144 249.6 Q F1(ar)2.83 E(g)-.37 E F0 -.25(eva)2.72 G
-(luates to 0,).25 E F2(let)2.5 E F0(returns 1; 0 is returned otherwise.)
-2.5 E F2(local)108 266.4 Q F0([)2.5 E F1(option)A F0 2.5(][)C F1(name)
--2.5 E F0([=)A F1(value)A F0 2.5(].)C(..])-2.5 E -.15(Fo)144 278.4 S
-2.56(re).15 G .06(ach ar)-2.56 F .06(gument, a local v)-.18 F .06
-(ariable named)-.25 F F1(name)2.92 E F0 .06(is created, and assigned)
-2.74 F F1(value)2.56 E F0 5.06(.T).18 G(he)-5.06 E F1(option)2.56 E F0
-.06(can be)2.56 F(an)144 290.4 Q 3.153(yo)-.15 G 3.153(ft)-3.153 G .653
-(he options accepted by)-3.153 F F2(declar)3.153 E(e)-.18 E F0 5.652(.W)
-C(hen)-5.652 E F2(local)3.152 E F0 .652
+5.634 F(last)144 367.2 Q F2(ar)2.83 E(g)-.37 E F0 -.25(eva)2.72 G
+(luates to 0,).25 E F1(let)2.5 E F0(returns 1; 0 is returned otherwise.)
+2.5 E F1(local)108 384 Q F0([)2.5 E F2(option)A F0 2.5(][)C F2(name)-2.5
+E F0([=)A F2(value)A F0 2.5(].)C(..])-2.5 E -.15(Fo)144 396 S 2.56(re)
+.15 G .06(ach ar)-2.56 F .06(gument, a local v)-.18 F .06(ariable named)
+-.25 F F2(name)2.92 E F0 .06(is created, and assigned)2.74 F F2(value)
+2.56 E F0 5.06(.T).18 G(he)-5.06 E F2(option)2.56 E F0 .06(can be)2.56 F
+(an)144 408 Q 3.153(yo)-.15 G 3.153(ft)-3.153 G .653
+(he options accepted by)-3.153 F F1(declar)3.153 E(e)-.18 E F0 5.652(.W)
+C(hen)-5.652 E F1(local)3.152 E F0 .652
 (is used within a function, it causes the v)3.152 F(ari-)-.25 E(able)144
-302.4 Q F1(name)3.72 E F0 .86(to ha)3.54 F 1.16 -.15(ve a v)-.2 H .861
+420 Q F2(name)3.72 E F0 .86(to ha)3.54 F 1.16 -.15(ve a v)-.2 H .861
 (isible scope restricted to that function and its children.).15 F -.4
-(Wi)5.861 G .861(th no operands,).4 F F2(local)144 314.4 Q F0 1.165
+(Wi)5.861 G .861(th no operands,).4 F F1(local)144 432 Q F0 1.165
 (writes a list of local v)3.665 F 1.165
 (ariables to the standard output.)-.25 F 1.165(It is an error to use)
-6.165 F F2(local)3.664 E F0 1.164(when not)3.664 F .232
-(within a function.)144 326.4 R .233(The return status is 0 unless)5.232
-F F2(local)2.733 E F0 .233(is used outside a function, an in)2.733 F
--.25(va)-.4 G(lid).25 E F1(name)3.093 E F0(is)2.913 E(supplied, or)144
-338.4 Q F1(name)2.5 E F0(is a readonly v)2.5 E(ariable.)-.25 E F2
-(logout)108 355.2 Q F0(Exit a login shell.)9.33 E F2(popd)108 372 Q F0
-<5bad>2.5 E F2(n)A F0 2.5(][)C(+)-2.5 E F1(n)A F0 2.5(][)C<ad>-2.5 E F1
-(n)A F0(])A(Remo)144 384 Q -.15(ve)-.15 G 2.8(se).15 G .3
+6.165 F F1(local)3.664 E F0 1.164(when not)3.664 F .232
+(within a function.)144 444 R .233(The return status is 0 unless)5.232 F
+F1(local)2.733 E F0 .233(is used outside a function, an in)2.733 F -.25
+(va)-.4 G(lid).25 E F2(name)3.093 E F0(is)2.913 E(supplied, or)144 456 Q
+F2(name)2.5 E F0(is a readonly v)2.5 E(ariable.)-.25 E F1(logout)108
+472.8 Q F0(Exit a login shell.)9.33 E F1(popd)108 489.6 Q F0<5bad>2.5 E
+F1(n)A F0 2.5(][)C(+)-2.5 E F2(n)A F0 2.5(][)C<ad>-2.5 E F2(n)A F0(])A
+(Remo)144 501.6 Q -.15(ve)-.15 G 2.8(se).15 G .3
 (ntries from the directory stack.)-2.8 F -.4(Wi)5.299 G .299(th no ar).4
 F .299(guments, remo)-.18 F -.15(ve)-.15 G 2.799(st).15 G .299
-(he top directory from the)-2.799 F 1.478(stack, and performs a)144 396
-R F2(cd)3.978 E F0 1.479(to the ne)3.978 F 3.979(wt)-.25 G 1.479
+(he top directory from the)-2.799 F 1.478(stack, and performs a)144
+513.6 R F1(cd)3.978 E F0 1.479(to the ne)3.978 F 3.979(wt)-.25 G 1.479
 (op directory)-3.979 F 6.479(.A)-.65 G -.18(rg)-6.479 G 1.479
 (uments, if supplied, ha).18 F 1.779 -.15(ve t)-.2 H 1.479(he follo).15
-F(wing)-.25 E(meanings:)144 408 Q F2(+)144 420 Q F1(n)A F0(Remo)25.3 E
--.15(ve)-.15 G 2.64(st).15 G(he)-2.64 E F1(n)2.64 E F0 .14
-(th entry counting from the left of the list sho)B .14(wn by)-.25 F F2
-(dirs)2.64 E F0 2.64(,s)C .14(tarting with zero.)-2.64 F -.15(Fo)180 432
-S 2.5(re).15 G(xample:)-2.65 E/F5 10/Courier@0 SF(popd +0)2.5 E F0(remo)
-2.5 E -.15(ve)-.15 G 2.5(st).15 G(he \214rst directory)-2.5 E(,)-.65 E
-F5(popd +1)2.5 E F0(the second.)2.5 E F2<ad>144 444 Q F1(n)A F0(Remo)
-25.3 E -.15(ve)-.15 G 3.759(st).15 G(he)-3.759 E F1(n)3.759 E F0 1.259
-(th entry counting from the right of the list sho)B 1.26(wn by)-.25 F F2
-(dirs)3.76 E F0 3.76(,s)C 1.26(tarting with)-3.76 F 2.5(zero. F)180 456
-R(or e)-.15 E(xample:)-.15 E F5(popd -0)2.5 E F0(remo)2.5 E -.15(ve)-.15
-G 2.5(st).15 G(he last directory)-2.5 E(,)-.65 E F5(popd -1)2.5 E F0
-(the ne)2.5 E(xt to last.)-.15 E F2<ad6e>144 468 Q F0 .551
+F(wing)-.25 E(meanings:)144 525.6 Q F1(+)144 537.6 Q F2(n)A F0(Remo)25.3
+E -.15(ve)-.15 G 2.64(st).15 G(he)-2.64 E F2(n)2.64 E F0 .14
+(th entry counting from the left of the list sho)B .14(wn by)-.25 F F1
+(dirs)2.64 E F0 2.64(,s)C .14(tarting with zero.)-2.64 F -.15(Fo)180
+549.6 S 2.5(re).15 G(xample:)-2.65 E/F5 10/Courier@0 SF(popd +0)2.5 E F0
+(remo)2.5 E -.15(ve)-.15 G 2.5(st).15 G(he \214rst directory)-2.5 E(,)
+-.65 E F5(popd +1)2.5 E F0(the second.)2.5 E F1<ad>144 561.6 Q F2(n)A F0
+(Remo)25.3 E -.15(ve)-.15 G 3.759(st).15 G(he)-3.759 E F2(n)3.759 E F0
+1.259(th entry counting from the right of the list sho)B 1.26(wn by)-.25
+F F1(dirs)3.76 E F0 3.76(,s)C 1.26(tarting with)-3.76 F 2.5(zero. F)180
+573.6 R(or e)-.15 E(xample:)-.15 E F5(popd -0)2.5 E F0(remo)2.5 E -.15
+(ve)-.15 G 2.5(st).15 G(he last directory)-2.5 E(,)-.65 E F5(popd -1)2.5
+E F0(the ne)2.5 E(xt to last.)-.15 E F1<ad6e>144 585.6 Q F0 .551
 (Suppresses the normal change of directory when remo)24.74 F .551
 (ving directories from the stack, so)-.15 F
-(that only the stack is manipulated.)180 480 Q .643(If the)144 496.8 R
-F2(popd)3.143 E F0 .643(command is successful, a)3.143 F F2(dirs)3.143 E
-F0 .644(is performed as well, and the return status is 0.)3.143 F F2
-(popd)5.644 E F0 .416(returns f)144 508.8 R .416(alse if an in)-.1 F
+(that only the stack is manipulated.)180 597.6 Q .643(If the)144 614.4 R
+F1(popd)3.143 E F0 .643(command is successful, a)3.143 F F1(dirs)3.143 E
+F0 .644(is performed as well, and the return status is 0.)3.143 F F1
+(popd)5.644 E F0 .416(returns f)144 626.4 R .416(alse if an in)-.1 F
 -.25(va)-.4 G .415
 (lid option is encountered, the directory stack is empty).25 F 2.915
 (,an)-.65 G(on-e)-2.915 E .415(xistent direc-)-.15 F
-(tory stack entry is speci\214ed, or the directory change f)144 520.8 Q
-(ails.)-.1 E F2(printf)108 537.6 Q F0([)2.5 E F2<ad76>A F1(var)2.5 E F0
-(])A F1(format)2.5 E F0([)2.5 E F1(ar)A(guments)-.37 E F0(])A .372
-(Write the formatted)144 549.6 R F1(ar)2.872 E(guments)-.37 E F0 .372
-(to the standard output under the control of the)2.872 F F1(format)2.872
-E F0 5.372(.T)C(he)-5.372 E F1(format)2.872 E F0 1.804(is a character s\
+(tory stack entry is speci\214ed, or the directory change f)144 638.4 Q
+(ails.)-.1 E F1(printf)108 655.2 Q F0([)2.5 E F1<ad76>A F2(var)2.5 E F0
+(])A F2(format)2.5 E F0([)2.5 E F2(ar)A(guments)-.37 E F0(])A .372
+(Write the formatted)144 667.2 R F2(ar)2.872 E(guments)-.37 E F0 .372
+(to the standard output under the control of the)2.872 F F2(format)2.872
+E F0 5.372(.T)C(he)-5.372 E F2(format)2.872 E F0 1.804(is a character s\
 tring which contains three types of objects: plain characters, which ar\
-e simply)144 561.6 R .158
+e simply)144 679.2 R .158
 (copied to standard output, character escape sequences, which are con)
-144 573.6 R -.15(ve)-.4 G .159(rted and copied to the stan-).15 F .499(\
+144 691.2 R -.15(ve)-.4 G .159(rted and copied to the stan-).15 F .499(\
 dard output, and format speci\214cations, each of which causes printing\
- of the ne)144 585.6 R .499(xt successi)-.15 F -.15(ve)-.25 G F1(ar)
-3.149 E(gu-)-.37 E(ment)144 597.6 Q F0 5.423(.I)C 2.923(na)-5.423 G .423
-(ddition to the standard)-2.923 F F1(printf)2.923 E F0 .424
-(\(1\) formats,)B F2(%b)2.924 E F0(causes)2.924 E F2(printf)2.924 E F0
+ of the ne)144 703.2 R .499(xt successi)-.15 F -.15(ve)-.25 G F2(ar)
+3.149 E(gu-)-.37 E(ment)144 715.2 Q F0 5.423(.I)C 2.923(na)-5.423 G .423
+(ddition to the standard)-2.923 F F2(printf)2.923 E F0 .424
+(\(1\) formats,)B F1(%b)2.924 E F0(causes)2.924 E F1(printf)2.924 E F0
 .424(to e)2.924 F .424(xpand backslash escape)-.15 F .934
-(sequences in the corresponding)144 609.6 R F1(ar)3.434 E(gument)-.37 E
-F0(\(e)3.434 E .934(xcept that)-.15 F F2(\\c)3.434 E F0 .934
-(terminates output, backslashes in)3.434 F F2(\\')3.433 E F0(,)A F2(\\")
-3.433 E F0(,)A(and)144 621.6 Q F2(\\?)3.421 E F0 .921(are not remo)3.421
-F -.15(ve)-.15 G .922(d, and octal escapes be).15 F .922(ginning with)
--.15 F F2(\\0)3.422 E F0 .922(may contain up to four digits\), and)3.422
-F F2(%q)144 633.6 Q F0(causes)3.631 E F2(printf)3.631 E F0 1.131
-(to output the corresponding)3.631 F F1(ar)3.631 E(gument)-.37 E F0 1.13
-(in a format that can be reused as shell)3.631 F(input.)144 645.6 Q(The)
-144 669.6 Q F2<ad76>2.903 E F0 .404
-(option causes the output to be assigned to the v)2.903 F(ariable)-.25 E
-F1(var)2.904 E F0 .404(rather than being printed to the)2.904 F
-(standard output.)144 681.6 Q(The)144 705.6 Q F1(format)3.424 E F0 .923
-(is reused as necessary to consume all of the)3.424 F F1(ar)3.423 E
-(guments)-.37 E F0 5.923(.I)C 3.423(ft)-5.923 G(he)-3.423 E F1(format)
-3.423 E F0 .923(requires more)3.423 F F1(ar)144 717.6 Q(guments)-.37 E
-F0 .033(than are supplied, the e)2.533 F .033
-(xtra format speci\214cations beha)-.15 F .333 -.15(ve a)-.2 H 2.533(si)
-.15 G 2.533(faz)-2.533 G .033(ero v)-2.533 F .034(alue or null string,)
--.25 F(as appropriate, had been supplied.)144 729.6 Q(The return v)5 E
-(alue is zero on success, non-zero on f)-.25 E(ailure.)-.1 E
-(GNU Bash-3.1-de)72 768 Q -.15(ve)-.25 G 123.59(l2).15 G(005 Mar 15)
--123.59 E(53)198.17 E 0 Cg EP
+(sequences in the corresponding)144 727.2 R F2(ar)3.434 E(gument)-.37 E
+F0(\(e)3.434 E .934(xcept that)-.15 F F1(\\c)3.434 E F0 .934
+(terminates output, backslashes in)3.434 F F1(\\')3.433 E F0(,)A F1(\\")
+3.433 E F0(,)A(GNU Bash-3.1-beta1)72 768 Q(2005 Aug 27)122.91 E(53)
+197.89 E 0 Cg EP
 %%Page: 54 55
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E/F1 10/Times-Bold@0 SF(pushd)108 84 Q F0([)2.5 E F1<ad6e>A F0 2.5
-(][)C/F2 10/Times-Italic@0 SF(dir)-2.5 E F0(])A F1(pushd)108 96 Q F0([)
-2.5 E F1<ad6e>A F0 2.5(][)C(+)-2.5 E F2(n)A F0 2.5(][)C<ad>-2.5 E F2(n)A
-F0(])A .64(Adds a directory to the top of the directory stack, or rotat\
-es the stack, making the ne)144 108 R 3.139(wt)-.25 G .639(op of the)
--3.139 F 1.315(stack the current w)144 120 R 1.315(orking directory)-.1
-F 6.315(.W)-.65 G 1.315(ith no ar)-6.715 F 1.315(guments, e)-.18 F 1.316
-(xchanges the top tw)-.15 F 3.816(od)-.1 G 1.316(irectories and)-3.816 F
-.872(returns 0, unless the directory stack is empty)144 132 R 5.871(.A)
+-.35 E(and)144 84 Q/F1 10/Times-Bold@0 SF(\\?)3.421 E F0 .921
+(are not remo)3.421 F -.15(ve)-.15 G .922(d, and octal escapes be).15 F
+.922(ginning with)-.15 F F1(\\0)3.422 E F0 .922
+(may contain up to four digits\), and)3.422 F F1(%q)144 96 Q F0(causes)
+3.631 E F1(printf)3.631 E F0 1.131(to output the corresponding)3.631 F
+/F2 10/Times-Italic@0 SF(ar)3.631 E(gument)-.37 E F0 1.13
+(in a format that can be reused as shell)3.631 F(input.)144 108 Q(The)
+144 132 Q F1<ad76>2.903 E F0 .404
+(option causes the output to be assigned to the v)2.903 F(ariable)-.25 E
+F2(var)2.904 E F0 .404(rather than being printed to the)2.904 F
+(standard output.)144 144 Q(The)144 168 Q F2(format)3.424 E F0 .923
+(is reused as necessary to consume all of the)3.424 F F2(ar)3.423 E
+(guments)-.37 E F0 5.923(.I)C 3.423(ft)-5.923 G(he)-3.423 E F2(format)
+3.423 E F0 .923(requires more)3.423 F F2(ar)144 180 Q(guments)-.37 E F0
+.033(than are supplied, the e)2.533 F .033
+(xtra format speci\214cations beha)-.15 F .333 -.15(ve a)-.2 H 2.533(si)
+.15 G 2.533(faz)-2.533 G .033(ero v)-2.533 F .034(alue or null string,)
+-.25 F(as appropriate, had been supplied.)144 192 Q(The return v)5 E
+(alue is zero on success, non-zero on f)-.25 E(ailure.)-.1 E F1(pushd)
+108 208.8 Q F0([)2.5 E F1<ad6e>A F0 2.5(][)C F2(dir)-2.5 E F0(])A F1
+(pushd)108 220.8 Q F0([)2.5 E F1<ad6e>A F0 2.5(][)C(+)-2.5 E F2(n)A F0
+2.5(][)C<ad>-2.5 E F2(n)A F0(])A .64(Adds a directory to the top of the\
+ directory stack, or rotates the stack, making the ne)144 232.8 R 3.139
+(wt)-.25 G .639(op of the)-3.139 F 1.315(stack the current w)144 244.8 R
+1.315(orking directory)-.1 F 6.315(.W)-.65 G 1.315(ith no ar)-6.715 F
+1.315(guments, e)-.18 F 1.316(xchanges the top tw)-.15 F 3.816(od)-.1 G
+1.316(irectories and)-3.816 F .872
+(returns 0, unless the directory stack is empty)144 256.8 R 5.871(.A)
 -.65 G -.18(rg)-5.871 G .871(uments, if supplied, ha).18 F 1.171 -.15
-(ve t)-.2 H .871(he follo).15 F .871(wing mean-)-.25 F(ings:)144 144 Q
-F1(+)144 156 Q F2(n)A F0 1.267(Rotates the stack so that the)25.3 F F2
+(ve t)-.2 H .871(he follo).15 F .871(wing mean-)-.25 F(ings:)144 268.8 Q
+F1(+)144 280.8 Q F2(n)A F0 1.267(Rotates the stack so that the)25.3 F F2
 (n)3.767 E F0 1.268
 (th directory \(counting from the left of the list sho)B 1.268(wn by)
--.25 F F1(dirs)180 168 Q F0 2.5(,s)C(tarting with zero\) is at the top.)
--2.5 E F1<ad>144 180 Q F2(n)A F0 .92(Rotates the stack so that the)25.3
-F F2(n)3.42 E F0 .92
+-.25 F F1(dirs)180 292.8 Q F0 2.5(,s)C
+(tarting with zero\) is at the top.)-2.5 E F1<ad>144 304.8 Q F2(n)A F0
+.92(Rotates the stack so that the)25.3 F F2(n)3.42 E F0 .92
 (th directory \(counting from the right of the list sho)B .92(wn by)-.25
-F F1(dirs)180 192 Q F0 2.5(,s)C(tarting with zero\) is at the top.)-2.5
-E F1<ad6e>144 204 Q F0 .902(Suppresses the normal change of directory w\
-hen adding directories to the stack, so that)24.74 F
-(only the stack is manipulated.)180 216 Q F2(dir)144.35 228 Q F0(Adds)
-23.98 E F2(dir)2.85 E F0
+F F1(dirs)180 316.8 Q F0 2.5(,s)C(tarting with zero\) is at the top.)
+-2.5 E F1<ad6e>144 328.8 Q F0 .902(Suppresses the normal change of dire\
+ctory when adding directories to the stack, so that)24.74 F
+(only the stack is manipulated.)180 340.8 Q F2(dir)144.35 352.8 Q F0
+(Adds)23.98 E F2(dir)2.85 E F0
 (to the directory stack at the top, making it the ne)3.23 E 2.5(wc)-.25
-G(urrent w)-2.5 E(orking directory)-.1 E(.)-.65 E .489(If the)144 244.8
+G(urrent w)-2.5 E(orking directory)-.1 E(.)-.65 E .489(If the)144 369.6
 R F1(pushd)2.989 E F0 .489(command is successful, a)2.989 F F1(dirs)
 2.988 E F0 .488(is performed as well.)2.988 F .488
 (If the \214rst form is used,)5.488 F F1(pushd)2.988 E F0 1.039
-(returns 0 unless the cd to)144 256.8 R F2(dir)3.889 E F0 -.1(fa)4.269 G
+(returns 0 unless the cd to)144 381.6 R F2(dir)3.889 E F0 -.1(fa)4.269 G
 3.539(ils. W).1 F 1.039(ith the second form,)-.4 F F1(pushd)3.54 E F0
-1.04(returns 0 unless the directory)3.54 F .847(stack is empty)144 268.8
+1.04(returns 0 unless the directory)3.54 F .847(stack is empty)144 393.6
 R 3.347(,an)-.65 G(on-e)-3.347 E .847(xistent directory stack element i\
 s speci\214ed, or the directory change to the)-.15 F(speci\214ed ne)144
-280.8 Q 2.5(wc)-.25 G(urrent directory f)-2.5 E(ails.)-.1 E F1(pwd)108
-297.6 Q F0([)2.5 E F1(\255LP)A F0(])A .844
-(Print the absolute pathname of the current w)144 309.6 R .845
+405.6 Q 2.5(wc)-.25 G(urrent directory f)-2.5 E(ails.)-.1 E F1(pwd)108
+422.4 Q F0([)2.5 E F1(\255LP)A F0(])A .844
+(Print the absolute pathname of the current w)144 434.4 R .845
 (orking directory)-.1 F 5.845(.T)-.65 G .845
 (he pathname printed contains no)-5.845 F .182(symbolic links if the)144
-321.6 R F1<ad50>2.681 E F0 .181(option is supplied or the)2.681 F F1
+446.4 R F1<ad50>2.681 E F0 .181(option is supplied or the)2.681 F F1
 .181(\255o ph)2.681 F(ysical)-.15 E F0 .181(option to the)2.681 F F1
 (set)2.681 E F0 -.2(bu)2.681 G .181(iltin command is).2 F 3.263
-(enabled. If)144 333.6 R(the)3.263 E F1<ad4c>3.263 E F0 .763
+(enabled. If)144 458.4 R(the)3.263 E F1<ad4c>3.263 E F0 .763
 (option is used, the pathname printed may contain symbolic links.)3.263
 F .764(The return)5.764 F 1.36(status is 0 unless an error occurs while\
- reading the name of the current directory or an in)144 345.6 R -.25(va)
--.4 G(lid).25 E(option is supplied.)144 357.6 Q F1 -.18(re)108 374.4 S
+ reading the name of the current directory or an in)144 470.4 R -.25(va)
+-.4 G(lid).25 E(option is supplied.)144 482.4 Q F1 -.18(re)108 499.2 S
 (ad).18 E F0([)2.5 E F1(\255ers)A F0 2.5(][)C F1<ad75>-2.5 E F2(fd)2.5 E
 F0 2.5(][)C F1<ad74>-2.5 E F2(timeout)2.5 E F0 2.5(][)C F1<ad61>-2.5 E
 F2(aname)2.5 E F0 2.5(][)C F1<ad70>-2.5 E F2(pr)2.5 E(ompt)-.45 E F0 2.5
 (][)C F1<ad6e>-2.5 E F2(nc)2.5 E(har)-.15 E(s)-.1 E F0 2.5(][)C F1<ad64>
 -2.5 E F2(delim)2.5 E F0 2.5(][)C F2(name)-2.5 E F0(...])2.5 E .516(One\
  line is read from the standard input, or from the \214le descriptor)144
-386.4 R F2(fd)3.016 E F0 .516(supplied as an ar)3.016 F .517(gument to)
--.18 F(the)144 398.4 Q F1<ad75>2.539 E F0 .039
+511.2 R F2(fd)3.016 E F0 .516(supplied as an ar)3.016 F .517(gument to)
+-.18 F(the)144 523.2 Q F1<ad75>2.539 E F0 .039
 (option, and the \214rst w)2.539 F .038(ord is assigned to the \214rst)
 -.1 F F2(name)2.538 E F0 2.538(,t).18 G .038(he second w)-2.538 F .038
 (ord to the second)-.1 F F2(name)2.538 E F0(,).18 E .42
-(and so on, with lefto)144 410.4 R -.15(ve)-.15 G 2.92(rw).15 G .42
+(and so on, with lefto)144 535.2 R -.15(ve)-.15 G 2.92(rw).15 G .42
 (ords and their interv)-3.02 F .42
 (ening separators assigned to the last)-.15 F F2(name)2.92 E F0 5.42(.I)
-.18 G 2.92(ft)-5.42 G(here)-2.92 E .541(are fe)144 422.4 R .541(wer w)
+.18 G 2.92(ft)-5.42 G(here)-2.92 E .541(are fe)144 547.2 R .541(wer w)
 -.25 F .541(ords read from the input stream than names, the remaining n\
-ames are assigned empty)-.1 F -.25(va)144 434.4 S 2.51(lues. The).25 F
+ames are assigned empty)-.1 F -.25(va)144 559.2 S 2.51(lues. The).25 F
 .011(characters in)2.511 F/F3 9/Times-Bold@0 SF(IFS)2.511 E F0 .011
 (are used to split the line into w)2.261 F 2.511(ords. The)-.1 F .011
 (backslash character \()2.511 F F1(\\)A F0 2.511(\)m)C(ay)-2.511 E 1.891
-(be used to remo)144 446.4 R 2.191 -.15(ve a)-.15 H 2.191 -.15(ny s).15
+(be used to remo)144 571.2 R 2.191 -.15(ve a)-.15 H 2.191 -.15(ny s).15
 H 1.891(pecial meaning for the ne).15 F 1.89
 (xt character read and for line continuation.)-.15 F
-(Options, if supplied, ha)144 458.4 Q .3 -.15(ve t)-.2 H(he follo).15 E
-(wing meanings:)-.25 E F1<ad61>144 470.4 Q F2(aname)2.5 E F0 1.049
-(The w)180 482.4 R 1.049
+(Options, if supplied, ha)144 583.2 Q .3 -.15(ve t)-.2 H(he follo).15 E
+(wing meanings:)-.25 E F1<ad61>144 595.2 Q F2(aname)2.5 E F0 1.049
+(The w)180 607.2 R 1.049
 (ords are assigned to sequential indices of the array v)-.1 F(ariable)
 -.25 E F2(aname)3.55 E F0 3.55(,s).18 G 1.05(tarting at 0.)-3.55 F F2
-(aname)180.33 494.4 Q F0(is unset before an)2.68 E 2.5(yn)-.15 G .5 -.25
+(aname)180.33 619.2 Q F0(is unset before an)2.68 E 2.5(yn)-.15 G .5 -.25
 (ew va)-2.5 H(lues are assigned.).25 E(Other)5 E F2(name)2.5 E F0(ar)2.5
-E(guments are ignored.)-.18 E F1<ad64>144 506.4 Q F2(delim)2.5 E F0
-(The \214rst character of)180 518.4 Q F2(delim)2.5 E F0
+E(guments are ignored.)-.18 E F1<ad64>144 631.2 Q F2(delim)2.5 E F0
+(The \214rst character of)180 643.2 Q F2(delim)2.5 E F0
 (is used to terminate the input line, rather than ne)2.5 E(wline.)-.25 E
-F1<ad65>144 530.4 Q F0 .373
+F1<ad65>144 655.2 Q F0 .373
 (If the standard input is coming from a terminal,)25.86 F F1 -.18(re)
 2.873 G(adline).18 E F0(\(see)2.873 E F3(READLINE)2.872 E F0(abo)2.622 E
 -.15(ve)-.15 G 2.872(\)i).15 G 2.872(su)-2.872 G(sed)-2.872 E
-(to obtain the line.)180 542.4 Q F1<ad6e>144 554.4 Q F2(nc)2.5 E(har)
--.15 E(s)-.1 E F1 -.18(re)180 566.4 S(ad).18 E F0 1.394
+(to obtain the line.)180 667.2 Q F1<ad6e>144 679.2 Q F2(nc)2.5 E(har)
+-.15 E(s)-.1 E F1 -.18(re)180 691.2 S(ad).18 E F0 1.394
 (returns after reading)3.894 F F2(nc)3.894 E(har)-.15 E(s)-.1 E F0 1.395
 (characters rather than w)3.894 F 1.395(aiting for a complete line of)
--.1 F(input.)180 578.4 Q F1<ad70>144 590.4 Q F2(pr)2.5 E(ompt)-.45 E F0
-(Display)180 602.4 Q F2(pr)3.661 E(ompt)-.45 E F0 1.161
+-.1 F(input.)180 703.2 Q(GNU Bash-3.1-beta1)72 768 Q(2005 Aug 27)122.91
+E(54)197.89 E 0 Cg EP
+%%Page: 55 56
+%%BeginPageSetup
+BP
+%%EndPageSetup
+/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
+-.35 E/F1 10/Times-Bold@0 SF<ad70>144 84 Q/F2 10/Times-Italic@0 SF(pr)
+2.5 E(ompt)-.45 E F0(Display)180 96 Q F2(pr)3.661 E(ompt)-.45 E F0 1.161
 (on standard error)3.661 F 3.661(,w)-.4 G 1.161(ithout a trailing ne)
--3.661 F 1.161(wline, before attempting to read)-.25 F(an)180 614.4 Q
-2.5(yi)-.15 G 2.5(nput. The)-2.5 F
+-3.661 F 1.161(wline, before attempting to read)-.25 F(an)180 108 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 F1
-<ad72>144 626.4 Q F0 .543(Backslash does not act as an escape character)
+<ad72>144 120 Q F0 .543(Backslash does not act as an escape character)
 25.86 F 5.543(.T)-.55 G .544(he backslash is considered to be part of)
--5.543 F(the line.)180 638.4 Q(In particular)5 E 2.5(,ab)-.4 G
+-5.543 F(the line.)180 132 Q(In particular)5 E 2.5(,ab)-.4 G
 (ackslash-ne)-2.5 E(wline pair may not be used as a line continuation.)
--.25 E F1<ad73>144 650.4 Q F0(Silent mode.)26.41 E
+-.25 E F1<ad73>144 144 Q F0(Silent mode.)26.41 E
 (If input is coming from a terminal, characters are not echoed.)5 E F1
-<ad74>144 662.4 Q F2(timeout)2.5 E F0(Cause)180 674.4 Q F1 -.18(re)3.549
-G(ad).18 E F0 1.048(to time out and return f)3.549 F 1.048
+<ad74>144 156 Q F2(timeout)2.5 E F0(Cause)180 168 Q F1 -.18(re)3.549 G
+(ad).18 E F0 1.048(to time out and return f)3.549 F 1.048
 (ailure if a complete line of input is not read within)-.1 F F2(timeout)
-180 686.4 Q F0 2.92(seconds. This)2.92 F .42(option has no ef)2.92 F .42
+180 180 Q F0 2.92(seconds. This)2.92 F .42(option has no ef)2.92 F .42
 (fect if)-.25 F F1 -.18(re)2.92 G(ad).18 E F0 .42
-(is not reading input from the terminal)2.92 F(or a pipe.)180 698.4 Q F1
-<ad75>144 710.4 Q F2(fd)2.5 E/F4 10/Palatino-Roman@0 SF(Read input fr)
-14.46 E(om \214le descriptor)-.18 E/F5 10/Palatino-Italic@0 SF(fd)2.5 E
-F4(.)A .336(If no)144 727.2 R F5(names)3.096 E F4(ar)2.896 E 2.836(es)
--.18 G .336(upplied, the line r)-2.836 F .336
-(ead is assigned to the variable)-.18 F/F6 9/Palatino-Bold@0 SF(REPL)
-2.835 E(Y)-.828 E/F7 9/Palatino-Roman@0 SF(.)A F4 .335(The r)4.835 F
-.335(eturn code)-.18 F F0(GNU Bash-3.1-de)72 768 Q -.15(ve)-.25 G 123.59
-(l2).15 G(005 Mar 15)-123.59 E(54)198.17 E 0 Cg EP
-%%Page: 55 56
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E/F1 10/Palatino-Roman@0 SF 1.057(is zer)144 84 R 1.058
-(o, unless end-of-\214le is encounter)-.18 F(ed,)-.18 E/F2 10
-/Palatino-Bold@0 SF(read)3.558 E F1 1.058
-(times out, or an invalid \214le descriptor is)3.558 F
-(supplied as the ar)144 96 Q(gument to)-.18 E F2<ad75>2.5 E F1(.)A F2
-(readonly)108 112.8 Q F1([)2.5 E F2(\255apf)A F1 2.5(][)C/F3 10
-/Palatino-Italic@0 SF(name)-2.5 E F1([=)A F3(word)A F1 2.5(].)C(..])-2.5
-E .588(The given)144 124.8 R F3(names)3.088 E F1(ar)3.088 E 3.088(em)
--.18 G .588(arked r)-3.088 F .587(eadonly; the values of these)-.18 F F3
-(names)3.347 E F1 .587(may not be changed by)3.147 F .832
-(subsequent assignment.)144 136.8 R .832(If the)5.832 F F2<ad66>3.332 E
-F1 .833(option is supplied, the functions corr)3.332 F .833
-(esponding to the)-.18 F F3(names)144 148.8 Q F1(ar)3.81 E 3.81(es)-.18
-G 3.81(om)-3.81 G 3.81(arked. The)-3.81 F F2<ad61>3.81 E F1 1.309
-(option r)3.809 F 1.309(estricts the variables to arrays.)-.18 F 1.309
-(If no)6.309 F F3(name)4.069 E F1(ar)4.159 E(gu-)-.18 E 1.057(ments ar)
-144 160.8 R 3.557(eg)-.18 G 1.057(iven, or if the)-3.557 F F2<ad70>3.557
-E F1 1.057(option is supplied, a list of all r)3.557 F 1.057
-(eadonly names is printed.)-.18 F(The)144 172.8 Q F2<ad70>2.578 E F1
-.077(option causes output to be displayed in a format that may be r)
-2.578 F .077(eused as input.)-.18 F .077(If a)5.077 F .902
-(variable name is followed by =)144 184.8 R F3(word)A F1 3.402(,t)C .903
-(he value of the variable is set to)-3.402 F F3(word)3.403 E F1 5.903
-(.T)C .903(he r)-5.903 F(eturn)-.18 E .998
-(status is 0 unless an invalid option is encounter)144 196.8 R .998
-(ed, one of the)-.18 F F3(names)3.757 E F1 .997(is not a valid shell)
-3.557 F(variable name, or)144 208.8 Q F2<ad66>2.5 E F1
-(is supplied with a)2.5 E F3(name)2.76 E F1(that is not a function.)2.85
-E F2(return)108 225.6 Q F1([)2.5 E F3(n)A F1(])A .563
-(Causes a function to exit with the r)144 237.6 R .563
-(eturn value speci\214ed by)-.18 F F3(n)3.063 E F1 5.563(.I).08 G(f)
--5.563 E F3(n)3.323 E F1 .563(is omitted, the r)3.143 F(eturn)-.18 E
-.545(status is that of the last command executed in the function body)
-144 249.6 R 5.544(.I)-1.11 G 3.044(fu)-5.544 G .544(sed outside a func-)
--3.044 F 1.148(tion, but during execution of a script by the)144 261.6 R
-F2(.)3.648 E F1(\()6.148 E F2(source)A F1 3.648(\)c)C 1.148
-(ommand, it causes the shell to)-3.648 F .631
-(stop executing that script and r)144 273.6 R .631(eturn either)-.18 F
-F3(n)3.391 E F1 .63(or the exit status of the last command exe-)3.211 F
-.54(cuted within the script as the exit status of the script.)144 285.6
-R .541(If used outside a function and not)5.541 F .038
-(during execution of a script by)144 297.6 R F2(.)2.538 E F1 2.538(,t)
-.833 G .038(he r)-2.538 F .038(eturn status is false.)-.18 F .037
-(Any command associated with)5.038 F(the)144 309.6 Q F2(RETURN)2.5 E F1
-(trap is executed befor)2.5 E 2.5(ee)-.18 G(xecution r)-2.5 E
-(esumes after the function or script.)-.18 E F2(set)108 326.4 Q F1([)2.5
-E F2(\255\255abefhkmnptuvxBCHP)A F1 2.5(][)C F2<ad6f>-2.5 E F3(option)
-2.5 E F1 2.5(][)C F3(ar)-2.5 E(g)-.18 E F1(...])2.5 E -.55(Wi)144 338.4
-S .245(thout options, the name and value of each shell variable ar).55 F
-2.746(ed)-.18 G .246(isplayed in a format that)-2.746 F .234(can be r)
-144 350.4 R .233(eused as input for setting or r)-.18 F .233
-(esetting the curr)-.18 F .233(ently-set variables.)-.18 F .233
-(Read-only vari-)5.233 F .748(ables cannot be r)144 362.4 R 3.248
-(eset. In)-.18 F F3 .748(posix mode)3.248 F F1 3.248(,o)C .748
-(nly shell variables ar)-3.248 F 3.248(el)-.18 G 3.248(isted. The)-3.248
-F .748(output is sorted)3.248 F(accor)144 374.4 Q 2.608
-(ding to the curr)-.18 F 2.608(ent locale.)-.18 F 2.608(When options ar)
-7.608 F 5.108(es)-.18 G 2.607(peci\214ed, they set or unset shell)-5.108
-F 3.455(attributes. Any)144 386.4 R(ar)3.455 E .955(guments r)-.18 F
-.955(emaining after the options ar)-.18 F 3.455(ep)-.18 G -.18(ro)-3.455
-G .955(cessed ar).18 F 3.455(et)-.18 G -.18(re)-3.455 G .955
-(ated as val-).18 F .67(ues for the positional parameters and ar)144
-398.4 R 3.17(ea)-.18 G .67(ssigned, in or)-3.17 F(der)-.18 E 3.17(,t)
--.74 G(o)-3.17 E F2($1)3.17 E F1(,)A F2($2)3.17 E F1(,)A F2 3.17(... $)
-3.17 F F3(n)A F1 5.67(.O)C .67(ptions, if)-5.67 F
-(speci\214ed, have the following meanings:)144 410.4 Q F2<ad61>144 422.4
-Q F1 1.063(Automatically mark variables and functions which ar)28.94 F
-3.563(em)-.18 G 1.063(odi\214ed or cr)-3.563 F 1.063(eated for)-.18 F
-(export to the envir)184 434.4 Q(onment of subsequent commands.)-.18 E
-F2<ad62>144 446.4 Q F1 .096(Report the status of terminated backgr)27.83
-F .096(ound jobs immediately)-.18 F 2.596(,r)-1.11 G .096
-(ather than befor)-2.596 F(e)-.18 E(the next primary pr)184 458.4 Q 2.5
-(ompt. This)-.18 F(is ef)2.5 E(fective only when job contr)-.18 E
-(ol is enabled.)-.18 E F2<ad65>144 470.4 Q F1 .178
-(Exit immediately if a)28.94 F F3 .178(simple command)2.678 F F1(\(see)
-2.678 E/F4 9/Palatino-Bold@0 SF .178(SHELL GRAMMAR)2.678 F F1 .179
-(above\) exits with a)2.429 F(non-zer)184 482.4 Q 3.233(os)-.18 G 3.233
-(tatus. The)-3.233 F .733
-(shell does not exit if the command that fails is part of the)3.233 F
-.695(command list immediately following a)184 494.4 R F2(while)3.196 E
-F1(or)3.196 E F2(until)3.196 E F1(keywor)3.196 E .696
-(d, part of the test)-.18 F .981(in an)184 506.4 R F3(if)3.641 E F1 .981
-(statement, part of a)5.331 F F2(&&)3.481 E F1(or)3.481 E/F5 10/Symbol
-SF<efef>3.481 E F1 .98(list, or if the command's r)3.481 F .98
-(eturn value is)-.18 F(being inverted via)184 518.4 Q F2(!)2.5 E F1 5
-(.A)C(trap on)-2.5 E F2(ERR)2.5 E F1 2.5(,i)C 2.5(fs)-2.5 G
-(et, is executed befor)-2.5 E 2.5(et)-.18 G(he shell exits.)-2.5 E F2
-<ad66>144 530.4 Q F1(Disable pathname expansion.)30.05 E F2<ad68>144
-542.4 Q F1 .591(Remember the location of commands as they ar)27.83 F
-3.092(el)-.18 G .592(ooked up for execution.)-3.092 F(This)5.592 E
-(is enabled by default.)184 554.4 Q F2<ad6b>144 566.4 Q F1 .935(All ar)
-27.83 F .934(guments in the form of assignment statements ar)-.18 F
-3.434(ep)-.18 G .934(laced in the envir)-3.434 F(on-)-.18 E
-(ment for a command, not just those that pr)184 578.4 Q
-(ecede the command name.)-.18 E F2<ad6d>144 590.4 Q F1 .71
-(Monitor mode.)25.05 F .71(Job contr)5.71 F .711(ol is enabled.)-.18 F
-.711(This option is on by default for interac-)5.711 F 1.165
-(tive shells on systems that support it \(see)184 602.4 R F4 1.164
-(JOB CONTROL)3.664 F F1 3.664(above\). Backgr)3.414 F(ound)-.18 E(pr)184
-614.4 Q .539(ocesses r)-.18 F .539(un in a separate pr)-.08 F .539
-(ocess gr)-.18 F .539(oup and a line containing their exit status)-.18 F
-(is printed upon their completion.)184 626.4 Q F2<ad6e>144 638.4 Q F1
-1.313(Read commands but do not execute them.)27.83 F 1.313
-(This may be used to check a shell)6.313 F(script for syntax err)184
-650.4 Q 2.5(ors. This)-.18 F(is ignor)2.5 E(ed by interactive shells.)
--.18 E F2<ad6f>144 662.4 Q F3(option\255name)2.5 E F1(The)184 674.4 Q F3
-(option\255name)2.5 E F1(can be one of the following:)2.5 E F2
-(allexport)184 686.4 Q F1(Same as)224 698.4 Q F2<ad61>2.5 E F1(.)A F0
-(GNU Bash-3.1-de)72 768 Q -.15(ve)-.25 G 123.59(l2).15 G(005 Mar 15)
--123.59 E(55)198.17 E 0 Cg EP
+(is not reading input from the terminal)2.92 F(or a pipe.)180 192 Q F1
+<ad75>144 204 Q F2(fd)2.5 E F0(Read input from \214le descriptor)14.46 E
+F2(fd)2.5 E F0(.)A .192(If no)144 220.8 R F2(names)3.052 E F0 .192
+(are supplied, the line read is assigned to the v)2.962 F(ariable)-.25 E
+/F3 9/Times-Bold@0 SF(REPL)2.691 E(Y)-.828 E/F4 9/Times-Roman@0 SF(.)A
+F0 .191(The return code is zero,)4.691 F 1.217
+(unless end-of-\214le is encountered,)144 232.8 R F1 -.18(re)3.717 G(ad)
+.18 E F0 1.217(times out, or an in)3.717 F -.25(va)-.4 G 1.218
+(lid \214le descriptor is supplied as the).25 F(ar)144 244.8 Q
+(gument to)-.18 E F1<ad75>2.5 E F0(.)A F1 -.18(re)108 261.6 S(adonly).18
+E F0([)2.5 E F1(\255apf)A F0 2.5(][)C F2(name)-2.5 E F0([=)A F2(wor)A(d)
+-.37 E F0 2.5(].)C(..])-2.5 E .77(The gi)144 273.6 R -.15(ve)-.25 G(n)
+.15 E F2(names)3.27 E F0 .77(are mark)3.27 F .77(ed readonly; the v)-.1
+F .77(alues of these)-.25 F F2(names)3.63 E F0 .77
+(may not be changed by subse-)3.54 F 1.096(quent assignment.)144 285.6 R
+1.096(If the)6.096 F F1<ad66>3.596 E F0 1.097
+(option is supplied, the functions corresponding to the)3.596 F F2
+(names)3.597 E F0 1.097(are so)3.597 F(mark)144 297.6 Q 2.873(ed. The)
+-.1 F F1<ad61>2.873 E F0 .373(option restricts the v)2.873 F .372
+(ariables to arrays.)-.25 F .372(If no)5.372 F F2(name)3.232 E F0(ar)
+3.052 E .372(guments are gi)-.18 F -.15(ve)-.25 G .372(n, or if the).15
+F F1<ad70>144 309.6 Q F0 .796
+(option is supplied, a list of all readonly names is printed.)3.296 F
+(The)5.796 E F1<ad70>3.296 E F0 .796(option causes output to be)3.296 F
+.828(displayed in a format that may be reused as input.)144 321.6 R .828
+(If a v)5.828 F .828(ariable name is follo)-.25 F .827(wed by =)-.25 F
+F2(wor)A(d)-.37 E F0 3.327(,t)C(he)-3.327 E -.25(va)144 333.6 S .404
+(lue of the v).25 F .404(ariable is set to)-.25 F F2(wor)2.904 E(d)-.37
+E F0 5.404(.T)C .405(he return status is 0 unless an in)-5.404 F -.25
+(va)-.4 G .405(lid option is encountered,).25 F 1.07(one of the)144
+345.6 R F2(names)3.929 E F0 1.069(is not a v)3.839 F 1.069(alid shell v)
+-.25 F 1.069(ariable name, or)-.25 F F1<ad66>3.569 E F0 1.069
+(is supplied with a)3.569 F F2(name)3.929 E F0 1.069(that is not a)3.749
+F(function.)144 357.6 Q F1 -.18(re)108 374.4 S(tur).18 E(n)-.15 E F0([)
+2.5 E F2(n)A F0(])A .586(Causes a function to e)144 386.4 R .587
+(xit with the return v)-.15 F .587(alue speci\214ed by)-.25 F F2(n)3.087
+E F0 5.587(.I).24 G(f)-5.587 E F2(n)3.447 E F0 .587
+(is omitted, the return status is)3.327 F 1.335
+(that of the last command e)144 398.4 R -.15(xe)-.15 G 1.335
+(cuted in the function body).15 F 6.335(.I)-.65 G 3.835(fu)-6.335 G
+1.335(sed outside a function, b)-3.835 F 1.335(ut during)-.2 F -.15(exe)
+144 410.4 S .794(cution of a script by the).15 F F1(.)3.294 E F0(\()
+5.794 E F1(sour)A(ce)-.18 E F0 3.294(\)c)C .794
+(ommand, it causes the shell to stop e)-3.294 F -.15(xe)-.15 G .795
+(cuting that script).15 F .246(and return either)144 422.4 R F2(n)3.106
+E F0 .246(or the e)2.986 F .246(xit status of the last command e)-.15 F
+-.15(xe)-.15 G .246(cuted within the script as the e).15 F .245
+(xit sta-)-.15 F .081(tus of the script.)144 434.4 R .082
+(If used outside a function and not during e)5.082 F -.15(xe)-.15 G .082
+(cution of a script by).15 F F1(.)2.582 E F0 2.582(,t).833 G .082
+(he return sta-)-2.582 F 2.306(tus is f)144 446.4 R 4.806(alse. An)-.1 F
+4.806(yc)-.15 G 2.305(ommand associated with the)-4.806 F F1(RETURN)
+4.805 E F0 2.305(trap is e)4.805 F -.15(xe)-.15 G 2.305(cuted before e)
+.15 F -.15(xe)-.15 G(cution).15 E(resumes after the function or script.)
+144 458.4 Q F1(set)108 475.2 Q F0([)2.5 E F1(\255\255abefhkmnptuvxBCHP)A
+F0 2.5(][)C F1<ad6f>-2.5 E F2(option)2.5 E F0 2.5(][)C F2(ar)-2.5 E(g)
+-.37 E F0(...])2.5 E -.4(Wi)144 487.2 S .835
+(thout options, the name and v).4 F .835(alue of each shell v)-.25 F
+.836(ariable are displayed in a format that can be)-.25 F .784
+(reused as input for setting or resetting the currently-set v)144 499.2
+R 3.284(ariables. Read-only)-.25 F -.25(va)3.284 G .783
+(riables cannot be).25 F 2.946(reset. In)144 511.2 R F2 .447(posix mode)
+2.946 F F0 2.947(,o)C .447(nly shell v)-2.947 F .447
+(ariables are listed.)-.25 F .447
+(The output is sorted according to the current)5.447 F 3.531
+(locale. When)144 523.2 R 1.031(options are speci\214ed, the)3.531 F
+3.531(ys)-.15 G 1.031(et or unset shell attrib)-3.531 F 3.53(utes. An)
+-.2 F 3.53(ya)-.15 G -.18(rg)-3.53 G 1.03(uments remaining).18 F .202
+(after the options are processed are treated as v)144 535.2 R .202
+(alues for the positional parameters and are assigned,)-.25 F(in order)
+144 547.2 Q 2.5(,t)-.4 G(o)-2.5 E F1($1)2.5 E F0(,)A F1($2)2.5 E F0(,)A
+F1 2.5(... $)2.5 F F2(n)A F0 5(.O)C(ptions, if speci\214ed, ha)-5 E .3
+-.15(ve t)-.2 H(he follo).15 E(wing meanings:)-.25 E F1<ad61>144 559.2 Q
+F0 .54(Automatically mark v)29.3 F .539
+(ariables and functions which are modi\214ed or created for e)-.25 F
+.539(xport to)-.15 F(the en)184 571.2 Q
+(vironment of subsequent commands.)-.4 E F1<ad62>144 583.2 Q F0 .131
+(Report the status of terminated background jobs immediately)28.74 F
+2.632(,r)-.65 G .132(ather than before the ne)-2.632 F(xt)-.15 E
+(primary prompt.)184 595.2 Q(This is ef)5 E(fecti)-.25 E .3 -.15(ve o)
+-.25 H(nly when job control is enabled.).15 E F1<ad65>144 607.2 Q F0
+1.694(Exit immediately if a)29.86 F F2 1.693(simple command)4.193 F F0
+(\(see)4.193 E F3 1.693(SHELL GRAMMAR)4.193 F F0(abo)3.943 E -.15(ve)
+-.15 G 4.193(\)e).15 G 1.693(xits with a)-4.343 F .011(non-zero status.)
+184 619.2 R .011(The shell does not e)5.011 F .011
+(xit if the command that f)-.15 F .012(ails is part of the command)-.1 F
+.624(list immediately follo)184 631.2 R .624(wing a)-.25 F F1(while)
+3.124 E F0(or)3.124 E F1(until)3.124 E F0 -.1(ke)3.124 G(yw)-.05 E .624
+(ord, part of the test in an)-.1 F F2(if)3.134 E F0(statement,)5.084 E
+.425(part of a)184 643.2 R F1(&&)2.925 E F0(or)2.925 E/F5 10/Symbol SF
+<efef>2.926 E F0 .426(list, or if the command')2.926 F 2.926(sr)-.55 G
+.426(eturn v)-2.926 F .426(alue is being in)-.25 F -.15(ve)-.4 G .426
+(rted via).15 F F1(!)2.926 E F0 5.426(.A)C(trap)-2.5 E(on)184 655.2 Q F1
+(ERR)2.5 E F0 2.5(,i)C 2.5(fs)-2.5 G(et, is e)-2.5 E -.15(xe)-.15 G
+(cuted before the shell e).15 E(xits.)-.15 E F1<ad66>144 667.2 Q F0
+(Disable pathname e)30.97 E(xpansion.)-.15 E F1<ad68>144 679.2 Q F0
+2.239(Remember the location of commands as the)28.74 F 4.738(ya)-.15 G
+2.238(re look)-4.738 F 2.238(ed up for e)-.1 F -.15(xe)-.15 G 4.738
+(cution. This).15 F(is)4.738 E(enabled by def)184 691.2 Q(ault.)-.1 E F1
+<ad6b>144 703.2 Q F0 .513(All ar)28.74 F .514
+(guments in the form of assignment statements are placed in the en)-.18
+F .514(vironment for a)-.4 F
+(command, not just those that precede the command name.)184 715.2 Q
+(GNU Bash-3.1-beta1)72 768 Q(2005 Aug 27)122.91 E(55)197.89 E 0 Cg EP
 %%Page: 56 57
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E/F1 10/Palatino-Bold@0 SF(braceexpand)184 84 Q/F2 10
-/Palatino-Roman@0 SF(Same as)224 96 Q F1<ad42>2.5 E F2(.)A F1(emacs)184
-108 Q F2 .412(Use an emacs-style command line editing interface.)12.23 F
-.412(This is enabled by)5.412 F .358(default when the shell is interact\
-ive, unless the shell is started with the)224 120 R F1
-(\255\255noediting)224 132 Q F2(option.)2.5 E F1(errtrace)184 144 Q F2
-(Same as)5.56 E F1<ad45>2.5 E F2(.)A F1(functrace)184 156 Q F2(Same as)
-224 168 Q F1<ad54>2.5 E F2(.)A F1(errexit)184 180 Q F2(Same as)10.56 E
-F1<ad65>2.5 E F2(.)A F1(hashall)184 192 Q F2(Same as)6.68 E F1<ad68>2.5
-E F2(.)A F1(histexpand)184 204 Q F2(Same as)224 216 Q F1<ad48>2.5 E F2
-(.)A F1(history)184 228 Q F2 2.27(Enable command history)7.78 F 4.771
-(,a)-1.11 G 4.771(sd)-4.771 G 2.271(escribed above under)-4.771 F/F3 9
-/Palatino-Bold@0 SF(HISTOR)4.771 E(Y)-.495 E/F4 9/Palatino-Roman@0 SF(.)
-A F2(This)6.771 E(option is on by default in interactive shells.)224 240
-Q F1(ignoreeof)184 252 Q F2 1.674(The ef)224 264 R 1.674
-(fect is as if the shell command)-.18 F/F5 10/Courier@0 SF(IGNOREEOF=10)
-4.173 E F2 1.673(had been exe-)4.173 F(cuted \(see)224 276 Q F1(Shell V)
-2.5 E(ariables)-1.11 E F2(above\).)2.5 E F1(keyword)184 288 Q F2
-(Same as)224 300 Q F1<ad6b>2.5 E F2(.)A F1(monitor)184 312 Q F2(Same as)
-224 324 Q F1<ad6d>2.5 E F2(.)A F1(noclobber)184 336 Q F2(Same as)224 348
-Q F1<ad43>2.5 E F2(.)A F1(noexec)184 360 Q F2(Same as)8.89 E F1<ad6e>2.5
-E F2(.)A F1(noglob)184 372 Q F2(Same as)7.77 E F1<ad66>2.5 E F2(.)A F1
-(nolog)5 E F2(Curr)2.5 E(ently ignor)-.18 E(ed.)-.18 E F1(notify)184 384
-Q F2(Same as)12.22 E F1<ad62>2.5 E F2(.)A F1(nounset)184 396 Q F2
-(Same as)224 408 Q F1<ad75>2.5 E F2(.)A F1(onecmd)184 420 Q F2(Same as)
-224 432 Q F1<ad74>2.5 E F2(.)A F1(physical)184 444 Q F2(Same as)224 456
-Q F1<ad50>2.5 E F2(.)A F1(pipefail)184 468 Q F2 .734(If set, the r)224
-480 R .734
-(eturn value of a pipeline is the value of the last \(rightmost\))-.18 F
-.311(command to exit with a non-zer)224 492 R 2.811(os)-.18 G .311
-(tatus, or zer)-2.811 F 2.811(oi)-.18 G 2.811(fa)-2.811 G .31
-(ll commands in the)-2.811 F(pipeline exit successfully)224 504 Q 5(.T)
--1.11 G(his option is disabled by default.)-5 E F1(posix)184 516 Q F2
-.815(Change the behavior of)15.56 F F1(bash)3.315 E F2(wher)3.315 E
-3.315(et)-.18 G .815(he default operation dif)-3.315 F .815(fers fr)-.18
-F(om)-.18 E(the POSIX 1003.2 standar)224 528 Q 2.5(dt)-.18 G 2.5(om)-2.5
-G(atch the standar)-2.5 E 2.5(d\()-.18 G/F6 10/Palatino-Italic@0 SF
-(posix mode)-2.5 E F2(\).)A F1(privileged)184 540 Q F2(Same as)224 552 Q
-F1<ad70>2.5 E F2(.)A F1(verbose)184 564 Q F2(Same as)224 576 Q F1<ad76>
-2.5 E F2(.)A F1(vi)184 588 Q F2
-(Use a vi-style command line editing interface.)31.11 E F1(xtrace)184
-600 Q F2(Same as)13.34 E F1<ad78>2.5 E F2(.)A(If)184 618 Q F1<ad6f>4.631
-E F2 2.131(is supplied with no)4.631 F F6(option\255name)4.631 E F2
-4.631(,t)C 2.131(he values of the curr)-4.631 F 2.13(ent options ar)-.18
-F(e)-.18 E 4.411(printed. If)184 630 R F1(+o)4.411 E F2 1.911
-(is supplied with no)4.411 F F6(option\255name)4.412 E F2 4.412(,as)C
-1.912(eries of)-4.412 F F1(set)4.412 E F2 1.912(commands to)4.412 F -.18
-(re)184 642 S(cr).18 E(eate the curr)-.18 E
-(ent option settings is displayed on the standar)-.18 E 2.5(do)-.18 G
-(utput.)-2.5 E F1<ad70>144 654 Q F2 -.9(Tu)27.83 G .854(rn on).9 F F6
-(privileged)3.924 E F2 3.354(mode. In)3.684 F .853(this mode, the)3.353
-F F3($ENV)3.353 E F2(and)3.103 E F3($BASH_ENV)3.353 E F2 .853
-(\214les ar)3.103 F 3.353(en)-.18 G(ot)-3.353 E(pr)184 666 Q 2.873
-(ocessed, shell functions ar)-.18 F 5.373(en)-.18 G 2.873
-(ot inherited fr)-5.373 F 2.873(om the envir)-.18 F 2.873
-(onment, and the)-.18 F F3(SHELLOPTS)184 678 Q F2 .549
-(variable, if it appears in the envir)2.799 F .548(onment, is ignor)-.18
-F 3.048(ed. If)-.18 F .548(the shell is)3.048 F 1.115
-(started with the ef)184 690 R 1.115(fective user \(gr)-.18 F 1.115
-(oup\) id not equal to the r)-.18 F 1.115(eal user \(gr)-.18 F 1.115
-(oup\) id,)-.18 F .498(and the)184 702 R F1<ad70>2.998 E F2 .498
-(option is not supplied, these actions ar)2.998 F 2.998(et)-.18 G .498
-(aken and the ef)-2.998 F .497(fective user)-.18 F .684
-(id is set to the r)184 714 R .685(eal user id.)-.18 F .685(If the)5.685
-F F1<ad70>3.185 E F2 .685(option is supplied at startup, the ef)3.185 F
-(fective)-.18 E .753(user id is not r)184 726 R 3.252(eset. T)-.18 F
-.752(urning this option of)-.9 F 3.252(fc)-.18 G .752(auses the ef)
--3.252 F .752(fective user and gr)-.18 F(oup)-.18 E F0(GNU Bash-3.1-de)
-72 768 Q -.15(ve)-.25 G 123.59(l2).15 G(005 Mar 15)-123.59 E(56)198.17 E
-0 Cg EP
+-.35 E/F1 10/Times-Bold@0 SF<ad6d>144 84 Q F0 .149(Monitor mode.)25.97 F
+.149(Job control is enabled.)5.149 F .148(This option is on by def)5.149
+F .148(ault for interacti)-.1 F .448 -.15(ve s)-.25 H(hells).15 E .636
+(on systems that support it \(see)184 96 R/F2 9/Times-Bold@0 SF .636
+(JOB CONTR)3.136 F(OL)-.27 E F0(abo)2.886 E -.15(ve)-.15 G 3.136
+(\). Background).15 F .637(processes run in a)3.136 F .642
+(separate process group and a line containing their e)184 108 R .641
+(xit status is printed upon their com-)-.15 F(pletion.)184 120 Q F1
+<ad6e>144 132 Q F0 .652(Read commands b)28.74 F .652(ut do not e)-.2 F
+-.15(xe)-.15 G .652(cute them.).15 F .653
+(This may be used to check a shell script for)5.652 F(syntax errors.)184
+144 Q(This is ignored by interacti)5 E .3 -.15(ve s)-.25 H(hells.).15 E
+F1<ad6f>144 156 Q/F3 10/Times-Italic@0 SF(option\255name)2.5 E F0(The)
+184 168 Q F3(option\255name)2.5 E F0(can be one of the follo)2.5 E
+(wing:)-.25 E F1(allexport)184 180 Q F0(Same as)224 192 Q F1<ad61>2.5 E
+F0(.)A F1(braceexpand)184 204 Q F0(Same as)224 216 Q F1<ad42>2.5 E F0(.)
+A F1(emacs)184 228 Q F0 .089
+(Use an emacs-style command line editing interf)13.9 F 2.589(ace. This)
+-.1 F .089(is enabled by def)2.589 F(ault)-.1 E .95
+(when the shell is interacti)224 240 R -.15(ve)-.25 G 3.45(,u).15 G .95
+(nless the shell is started with the)-3.45 F F1(\255\255noediting)3.45 E
+F0(option.)224 252 Q F1(errtrace)184 264 Q F0(Same as)5.03 E F1<ad45>2.5
+E F0(.)A F1(functrace)184 276 Q F0(Same as)224 288 Q F1<ad54>2.5 E F0(.)
+A F1(err)184 300 Q(exit)-.18 E F0(Same as)11.31 E F1<ad65>2.5 E F0(.)A
+F1(hashall)184 312 Q F0(Same as)9.43 E F1<ad68>2.5 E F0(.)A F1
+(histexpand)184 324 Q F0(Same as)224 336 Q F1<ad48>2.5 E F0(.)A F1
+(history)184 348 Q F0 .587(Enable command history)10 F 3.087(,a)-.65 G
+3.087(sd)-3.087 G .587(escribed abo)-3.087 F .887 -.15(ve u)-.15 H(nder)
+.15 E F2(HIST)3.087 E(OR)-.162 E(Y)-.315 E/F4 9/Times-Roman@0 SF(.)A F0
+.587(This option is)5.087 F(on by def)224 360 Q(ault in interacti)-.1 E
+.3 -.15(ve s)-.25 H(hells.).15 E F1(ignor)184 372 Q(eeof)-.18 E F0 1.656
+(The ef)224 384 R 1.656(fect is as if the shell command)-.25 F/F5 10
+/Courier@0 SF(IGNOREEOF=10)4.157 E F0 1.657(had been e)4.157 F -.15(xe)
+-.15 G(cuted).15 E(\(see)224 396 Q F1(Shell V)2.5 E(ariables)-.92 E F0
+(abo)2.5 E -.15(ve)-.15 G(\).).15 E F1 -.1(ke)184 408 S(yw).1 E(ord)-.1
+E F0(Same as)224 420 Q F1<ad6b>2.5 E F0(.)A F1(monitor)184 432 Q F0
+(Same as)5.56 E F1<ad6d>2.5 E F0(.)A F1(noclob)184 444 Q(ber)-.1 E F0
+(Same as)224 456 Q F1<ad43>2.5 E F0(.)A F1(noexec)184 468 Q F0(Same as)
+11.12 E F1<ad6e>2.5 E F0(.)A F1(noglob)184 480 Q F0(Same as)11.1 E F1
+<ad66>2.5 E F0(.)A F1(nolog)5 E F0(Currently ignored.)2.5 E F1(notify)
+184 492 Q F0(Same as)15 E F1<ad62>2.5 E F0(.)A F1(nounset)184 504 Q F0
+(Same as)6.66 E F1<ad75>2.5 E F0(.)A F1(onecmd)184 516 Q F0(Same as)6.67
+E F1<ad74>2.5 E F0(.)A F1(ph)184 528 Q(ysical)-.15 E F0(Same as)5.14 E
+F1<ad50>2.5 E F0(.)A F1(pipefail)184 540 Q F0 1.03(If set, the return v)
+7.77 F 1.029(alue of a pipeline is the v)-.25 F 1.029
+(alue of the last \(rightmost\) com-)-.25 F 1.136(mand to e)224 552 R
+1.136
+(xit with a non-zero status, or zero if all commands in the pipeline)
+-.15 F -.15(ex)224 564 S(it successfully).15 E 5(.T)-.65 G
+(his option is disabled by def)-5 E(ault.)-.1 E F1(posix)184 576 Q F0
+2.091(Change the beha)17.77 F 2.091(vior of)-.2 F F1(bash)4.591 E F0
+2.091(where the def)4.591 F 2.091(ault operation dif)-.1 F 2.091
+(fers from the)-.25 F(POSIX 1003.2 standard to match the standard \()224
+588 Q F3(posix mode)A F0(\).)A F1(pri)184 600 Q(vileged)-.1 E F0
+(Same as)224 612 Q F1<ad70>2.5 E F0(.)A F1 -.1(ve)184 624 S(rbose).1 E
+F0(Same as)7.33 E F1<ad76>2.5 E F0(.)A F1(vi)184 636 Q F0
+(Use a vi-style command line editing interf)32.22 E(ace.)-.1 E F1
+(xtrace)184 648 Q F0(Same as)13.35 E F1<ad78>2.5 E F0(.)A(If)184 666 Q
+F1<ad6f>3.052 E F0 .552(is supplied with no)3.052 F F3(option\255name)
+3.053 E F0 3.053(,t)C .553(he v)-3.053 F .553
+(alues of the current options are printed.)-.25 F(If)5.553 E F1(+o)184
+678 Q F0 1.072(is supplied with no)3.572 F F3(option\255name)3.572 E F0
+3.572(,a)C 1.071(series of)-.001 F F1(set)3.571 E F0 1.071
+(commands to recreate the current)3.571 F
+(option settings is displayed on the standard output.)184 690 Q F1<ad70>
+144 702 Q F0 -.45(Tu)28.74 G 1.071(rn on).45 F F3(privile)4.821 E -.1
+(ge)-.4 G(d).1 E F0 3.572(mode. In)4.341 F 1.072(this mode, the)3.572 F
+F2($ENV)3.572 E F0(and)3.322 E F2($B)3.572 E(ASH_ENV)-.27 E F0 1.072
+(\214les are not pro-)3.322 F 1.705
+(cessed, shell functions are not inherited from the en)184 714 R 1.705
+(vironment, and the)-.4 F F2(SHELLOPTS)4.205 E F0 -.25(va)184 726 S
+1.724(riable, if it appears in the en).25 F 1.724
+(vironment, is ignored.)-.4 F 1.724(If the shell is started with the)
+6.724 F(GNU Bash-3.1-beta1)72 768 Q(2005 Aug 27)122.91 E(56)197.89 E 0
+Cg EP
 %%Page: 57 58
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E/F1 10/Palatino-Roman@0 SF(ids to be set to the r)184 84 Q
-(eal user and gr)-.18 E(oup ids.)-.18 E/F2 10/Palatino-Bold@0 SF<ad74>
-144 96 Q F1(Exit after r)30.61 E(eading and executing one command.)-.18
-E F2<ad75>144 108 Q F1 -.88 -.9(Tr e)27.83 H 2.498
-(at unset variables as an err).9 F 2.498
-(or when performing parameter expansion.)-.18 F(If)7.498 E .869
-(expansion is attempted on an unset variable, the shell prints an err)
-184 120 R .869(or message,)-.18 F
-(and, if not interactive, exits with a non-zer)184 132 Q 2.5(os)-.18 G
-(tatus.)-2.5 E F2<ad76>144 144 Q F1(Print shell input lines as they ar)
-28.38 E 2.5(er)-.18 G(ead.)-2.68 E F2<ad78>144 156 Q F1 2.636
-(After expanding each)28.94 F/F3 10/Palatino-Italic@0 SF 2.637
-(simple command)5.136 F F1(,)A F2(for)5.137 E F1(command,)5.137 E F2
-(case)5.137 E F1(command,)5.137 E F2(select)5.137 E F1 .955
-(command, or arithmetic)184 168 R F2(for)3.455 E F1 .955
-(command, display the expanded value of)3.455 F/F4 9/Palatino-Bold@0 SF
-(PS4)3.454 E/F5 9/Palatino-Roman@0 SF(,)A F1(fol-)3.204 E
-(lowed by the command and its expanded ar)184 180 Q
-(guments or associated wor)-.18 E 2.5(dl)-.18 G(ist.)-2.5 E F2<ad42>144
-192 Q F1 .484(The shell performs brace expansion \(see)27.27 F F2 .484
-(Brace Expansion)2.984 F F1 2.984(above\). This)2.984 F .485(is on by)
-2.984 F(default.)184 204 Q F2<ad43>144 216 Q F1 .078(If set,)26.72 F F2
-(bash)2.578 E F1 .077(does not overwrite an existing \214le with the)
-2.578 F F2(>)2.577 E F1(,)A F2(>&)2.577 E F1 2.577(,a)C(nd)-2.577 E F2
-(<>)2.577 E F1 -.18(re)2.577 G(dir).18 E(ection)-.18 E 2.645
-(operators. This)184 228 R .145(may be overridden when cr)2.645 F .145
-(eating output \214les by using the r)-.18 F(edi-)-.18 E -.18(re)184 240
-S(ction operator).18 E F2(>|)2.5 E F1(instead of)2.5 E F2(>)2.5 E F1(.)A
-F2<ad45>144 252 Q F1 .902(If set, any trap on)27.83 F F2(ERR)3.402 E F1
-.901(is inherited by shell functions, command substitutions,)3.402 F .75
-(and commands executed in a subshell envir)184 264 R 3.25(onment. The)
--.18 F F2(ERR)3.25 E F1 .75(trap is normally)3.25 F
-(not inherited in such cases.)184 276 Q F2<ad48>144 288 Q F1(Enable)
-25.61 E F2(!)2.516 E F1 .016(style history substitution.)5.016 F .016
-(This option is on by default when the shell is)5.016 F(interactive.)184
-300 Q F2<ad50>144 312 Q F1 .692(If set, the shell does not follow symbo\
-lic links when executing commands such)27.83 F(as)184 324 Q F2(cd)3.57 E
-F1 1.069(that change the curr)3.57 F 1.069(ent working dir)-.18 F
-(ectory)-.18 E 6.069(.I)-1.11 G 3.569(tu)-6.069 G 1.069
-(ses the physical dir)-3.569 F(ectory)-.18 E(str)184 336 Q(uctur)-.08 E
-2.911(ei)-.18 G 2.911(nstead. By)-2.911 F(default,)2.912 E F2(bash)2.912
-E F1 .412(follows the logical chain of dir)2.912 F .412(ectories when)
--.18 F(performing commands which change the curr)184 348 Q(ent dir)-.18
-E(ectory)-.18 E(.)-1.11 E F2<ad54>144 360 Q F1 .22(If set, any traps on)
-27.27 F F2(DEBUG)2.72 E F1(and)2.72 E F2(RETURN)2.72 E F1(ar)2.72 E 2.72
-(ei)-.18 G .22(nherited by shell functions, com-)-2.72 F 1.573
-(mand substitutions, and commands executed in a subshell envir)184 372 R
-4.074(onment. The)-.18 F F2(DEBUG)184 384 Q F1(and)2.5 E F2(RETURN)2.5 E
-F1(traps ar)2.5 E 2.5(en)-.18 G(ormally not inherited in such cases.)
--2.5 E F2<adad>144 396 Q F1 1.782(If no ar)27.88 F 1.782
-(guments follow this option, then the positional parameters ar)-.18 F
-4.281(eu)-.18 G(nset.)-4.281 E 1.303
-(Otherwise, the positional parameters ar)184 408 R 3.803(es)-.18 G 1.303
-(et to the)-3.803 F F3(ar)3.803 E(g)-.18 E F1 1.303
-(s, even if some of them)B(begin with a)184 420 Q F2<ad>2.5 E F1(.)A F2
-<ad>144 432 Q F1 1.296(Signal the end of options, cause all r)33.94 F
-(emaining)-.18 E F3(ar)3.796 E(g)-.18 E F1 3.796(st)C 3.796(ob)-3.796 G
-3.795(ea)-3.796 G 1.295(ssigned to the posi-)-3.795 F .041
-(tional parameters.)184 444 R(The)5.041 E F2<ad78>2.541 E F1(and)2.541 E
-F2<ad76>2.541 E F1 .041(options ar)2.541 F 2.541(et)-.18 G .041
-(urned of)-2.541 F 2.541(f. If)-.18 F(ther)2.542 E 2.542(ea)-.18 G .402
--.18(re n)-2.542 H(o).18 E F3(ar)2.542 E(g)-.18 E F1 .042(s, the)B
-(positional parameters r)184 456 Q(emain unchanged.)-.18 E .121
-(The options ar)144 472.8 R 2.621(eo)-.18 G .481 -.18(ff b)-2.621 H
-2.621(yd).18 G .121(efault unless otherwise noted.)-2.621 F .12
-(Using + rather than \255 causes these)5.121 F .277
-(options to be turned of)144 484.8 R 2.777(f. The)-.18 F .277
-(options can also be speci\214ed as ar)2.777 F .278
-(guments to an invocation)-.18 F .723(of the shell.)144 496.8 R .723
-(The curr)5.723 F .723(ent set of options may be found in)-.18 F F2
-<24ad>3.223 E F1 5.723(.T)C .723(he r)-5.723 F .723
-(eturn status is always)-.18 F(tr)144 508.8 Q
-(ue unless an invalid option is encounter)-.08 E(ed.)-.18 E F2(shift)108
-525.6 Q F1([)2.5 E F3(n)A F1(])A .806(The positional parameters fr)144
-537.6 R(om)-.18 E F3(n)3.306 E F1 .806(+1 ... ar)B 3.306(er)-.18 G .806
-(enamed to)-3.486 F F2 .806($1 ....)3.306 F F1 .807(Parameters r)5.806 F
-(epr)-.18 E .807(esented by)-.18 F .055(the numbers)144 549.6 R F2($#)
-2.555 E F1 .055(down to)2.555 F F2($#)2.555 E F1<ad>A F3(n)A F1 .055
-(+1 ar)B 2.555(eu)-.18 G(nset.)-2.555 E F3(n)5.315 E F1 .055
-(must be a non-negative number less than or)2.635 F .494(equal to)144
-561.6 R F2($#)2.994 E F1 5.494(.I)C(f)-5.494 E F3(n)3.254 E F1 .494
-(is 0, no parameters ar)3.074 F 2.994(ec)-.18 G 2.994(hanged. If)-2.994
-F F3(n)3.254 E F1 .495(is not given, it is assumed to be 1.)3.074 F(If)
-144 573.6 Q F3(n)4.052 E F1 1.292(is gr)3.872 F 1.292(eater than)-.18 F
-F2($#)3.792 E F1 3.792(,t)C 1.292(he positional parameters ar)-3.792 F
-3.792(en)-.18 G 1.292(ot changed.)-3.792 F 1.292(The r)6.292 F 1.292
-(eturn status is)-.18 F(gr)144 585.6 Q(eater than zer)-.18 E 2.5(oi)-.18
-G(f)-2.5 E F3(n)2.76 E F1(is gr)2.58 E(eater than)-.18 E F2($#)2.5 E F1
-(or less than zer)2.5 E(o; otherwise 0.)-.18 E F2(shopt)108 602.4 Q F1
-([)2.5 E F2(\255pqsu)A F1 2.5(][)C F2<ad6f>-2.5 E F1 2.5(][)C F3
-(optname)-2.5 E F1(...])2.5 E -.92(To)144 614.4 S 1.522
-(ggle the values of variables contr).92 F 1.523
-(olling optional shell behavior)-.18 F 6.523(.W)-.74 G 1.523
-(ith no options, or)-7.073 F 2.532(with the)144 626.4 R F2<ad70>5.032 E
-F1 2.531(option, a list of all settable options is displayed, with an i\
-ndication of)5.032 F .961(whether or not each is set.)144 638.4 R(The)
-5.962 E F2<ad70>3.462 E F1 .962
-(option causes output to be displayed in a form that)3.462 F(may be r)
-144 650.4 Q(eused as input.)-.18 E
-(Other options have the following meanings:)5 E F2<ad73>144 662.4 Q F1
-(Enable \(set\) each)25.5 E F3(optname)2.5 E F1(.)A F2<ad75>144 674.4 Q
-F1(Disable \(unset\) each)23.83 E F3(optname)2.5 E F1(.)A F2<ad71>144
-686.4 Q F1(Suppr)23.83 E .903(esses normal output \(quiet mode\); the r)
--.18 F .903(eturn status indicates whether the)-.18 F F3(optname)180
-698.4 Q F1 1.678(is set or unset.)4.178 F 1.678(If multiple)6.678 F F3
-(optname)4.178 E F1(ar)4.179 E 1.679(guments ar)-.18 F 4.179(eg)-.18 G
-1.679(iven with)-4.179 F F2<ad71>4.179 E F1 4.179(,t)C(he)-4.179 E -.18
-(re)180 710.4 S(turn status is zer).18 E 2.5(oi)-.18 G 2.5(fa)-2.5 G(ll)
--2.5 E F3(optnames)2.5 E F1(ar)2.5 E 2.5(ee)-.18 G(nabled; non-zer)-2.5
-E 2.5(oo)-.18 G(therwise.)-2.5 E F0(GNU Bash-3.1-de)72 768 Q -.15(ve)
--.25 G 123.59(l2).15 G(005 Mar 15)-123.59 E(57)198.17 E 0 Cg EP
+-.35 E(ef)184 84 Q(fecti)-.25 E 1.209 -.15(ve u)-.25 H .909
+(ser \(group\) id not equal to the real user \(group\) id, and the).15 F
+/F1 10/Times-Bold@0 SF<ad70>3.409 E F0 .908(option is not)3.408 F .302
+(supplied, these actions are tak)184 96 R .302(en and the ef)-.1 F
+(fecti)-.25 E .602 -.15(ve u)-.25 H .302
+(ser id is set to the real user id.).15 F .303(If the)5.303 F F1<ad70>
+184 108 Q F0 .261(option is supplied at startup, the ef)2.761 F(fecti)
+-.25 E .561 -.15(ve u)-.25 H .261(ser id is not reset.).15 F -.45(Tu)
+5.26 G .26(rning this option of).45 F(f)-.25 E(causes the ef)184 120 Q
+(fecti)-.25 E .3 -.15(ve u)-.25 H
+(ser and group ids to be set to the real user and group ids.).15 E F1
+<ad74>144 132 Q F0(Exit after reading and e)30.97 E -.15(xe)-.15 G
+(cuting one command.).15 E F1<ad75>144 144 Q F0 -.35(Tr)28.74 G .444
+(eat unset v).35 F .444
+(ariables as an error when performing parameter e)-.25 F 2.944
+(xpansion. If)-.15 F -.15(ex)2.945 G .445(pansion is).15 F .52
+(attempted on an unset v)184 156 R .519
+(ariable, the shell prints an error message, and, if not interacti)-.25
+F -.15(ve)-.25 G(,).15 E -.15(ex)184 168 S(its with a non-zero status.)
+.15 E F1<ad76>144 180 Q F0(Print shell input lines as the)29.3 E 2.5(ya)
+-.15 G(re read.)-2.5 E F1<ad78>144 192 Q F0 .315(After e)29.3 F .315
+(xpanding each)-.15 F/F2 10/Times-Italic@0 SF .315(simple command)2.815
+F F0(,)A F1 -.25(fo)2.815 G(r).25 E F0(command,)2.815 E F1(case)2.815 E
+F0(command,)2.815 E F1(select)2.815 E F0(command,)2.815 E 1.236
+(or arithmetic)184 204 R F1 -.25(fo)3.736 G(r).25 E F0 1.236
+(command, display the e)3.736 F 1.236(xpanded v)-.15 F 1.236(alue of)
+-.25 F/F3 9/Times-Bold@0 SF(PS4)3.736 E/F4 9/Times-Roman@0 SF(,)A F0
+(follo)3.486 E 1.236(wed by the com-)-.25 F(mand and its e)184 216 Q
+(xpanded ar)-.15 E(guments or associated w)-.18 E(ord list.)-.1 E F1
+<ad42>144 228 Q F0 2.578(The shell performs brace e)27.63 F 2.578
+(xpansion \(see)-.15 F F1 2.578(Brace Expansion)5.078 F F0(abo)5.078 E
+-.15(ve)-.15 G 5.079(\). This).15 F 2.579(is on by)5.079 F(def)184 240 Q
+(ault.)-.1 E F1<ad43>144 252 Q F0 .214(If set,)27.08 F F1(bash)2.714 E
+F0 .214(does not o)2.714 F -.15(ve)-.15 G .214(rwrite an e).15 F .214
+(xisting \214le with the)-.15 F F1(>)2.714 E F0(,)A F1(>&)2.714 E F0
+2.713(,a)C(nd)-2.713 E F1(<>)2.713 E F0 .213(redirection opera-)2.713 F
+3.053(tors. This)184 264 R .553(may be o)3.053 F -.15(ve)-.15 G .553
+(rridden when creating output \214les by using the redirection opera-)
+.15 F(tor)184 276 Q F1(>|)2.5 E F0(instead of)2.5 E F1(>)2.5 E F0(.)A F1
+<ad45>144 288 Q F0 .104(If set, an)27.63 F 2.604(yt)-.15 G .104(rap on)
+-2.604 F F1(ERR)2.604 E F0 .103
+(is inherited by shell functions, command substitutions, and com-)2.604
+F .838(mands e)184 300 R -.15(xe)-.15 G .838(cuted in a subshell en).15
+F 3.338(vironment. The)-.4 F F1(ERR)3.338 E F0 .839
+(trap is normally not inherited in)3.339 F(such cases.)184 312 Q F1
+<ad48>144 324 Q F0(Enable)26.52 E F1(!)3.032 E F0 .532
+(style history substitution.)5.532 F .531(This option is on by def)5.532
+F .531(ault when the shell is inter)-.1 F(-)-.2 E(acti)184 336 Q -.15
+(ve)-.25 G(.).15 E F1<ad50>144 348 Q F0 1.164
+(If set, the shell does not follo)28.19 F 3.664(ws)-.25 G 1.164
+(ymbolic links when e)-3.664 F -.15(xe)-.15 G 1.165
+(cuting commands such as).15 F F1(cd)3.665 E F0 2.822
+(that change the current w)184 360 R 2.822(orking directory)-.1 F 7.822
+(.I)-.65 G 5.322(tu)-7.822 G 2.822(ses the ph)-5.322 F 2.821
+(ysical directory structure)-.05 F 2.685(instead. By)184 372 R(def)2.685
+E(ault,)-.1 E F1(bash)2.686 E F0(follo)2.686 E .186
+(ws the logical chain of directories when performing com-)-.25 F
+(mands which change the current directory)184 384 Q(.)-.65 E F1<ad54>144
+396 Q F0 .89(If set, an)27.63 F 3.39(yt)-.15 G .89(raps on)-3.39 F F1
+(DEB)3.39 E(UG)-.1 E F0(and)3.39 E F1(RETURN)3.39 E F0 .89
+(are inherited by shell functions, command)3.39 F 1.932
+(substitutions, and commands e)184 408 R -.15(xe)-.15 G 1.932
+(cuted in a subshell en).15 F 4.432(vironment. The)-.4 F F1(DEB)4.432 E
+(UG)-.1 E F0(and)4.432 E F1(RETURN)184 420 Q F0
+(traps are normally not inherited in such cases.)2.5 E F1<adad>144 432 Q
+F0 .401(If no ar)28.6 F .401(guments follo)-.18 F 2.901(wt)-.25 G .401
+(his option, then the positional parameters are unset.)-2.901 F
+(Otherwise,)5.4 E(the positional parameters are set to the)184 444 Q F2
+(ar)2.5 E(g)-.37 E F0(s, e)A -.15(ve)-.25 G 2.5(ni).15 G 2.5(fs)-2.5 G
+(ome of them be)-2.5 E(gin with a)-.15 E F1<ad>2.5 E F0(.)A F1<ad>144
+456 Q F0 1.944(Signal the end of options, cause all remaining)34.3 F F2
+(ar)4.444 E(g)-.37 E F0 4.444(st)C 4.444(ob)-4.444 G 4.445(ea)-4.444 G
+1.945(ssigned to the positional)-4.445 F 3.446(parameters. The)184 468 R
+F1<ad78>3.446 E F0(and)3.446 E F1<ad76>3.446 E F0 .945
+(options are turned of)3.446 F 3.445(f. If)-.25 F .945(there are no)
+3.445 F F2(ar)3.445 E(g)-.37 E F0 .945(s, the positional)B
+(parameters remain unchanged.)184 480 Q .425(The options are of)144
+496.8 R 2.925(fb)-.25 G 2.925(yd)-2.925 G(ef)-2.925 E .425
+(ault unless otherwise noted.)-.1 F .425
+(Using + rather than \255 causes these options)5.425 F .178
+(to be turned of)144 508.8 R 2.678(f. The)-.25 F .178
+(options can also be speci\214ed as ar)2.678 F .178(guments to an in)
+-.18 F -.2(vo)-.4 G .177(cation of the shell.).2 F(The)5.177 E .066
+(current set of options may be found in)144 520.8 R F1<24ad>2.566 E F0
+5.066(.T)C .066(he return status is al)-5.066 F -.1(wa)-.1 G .066
+(ys true unless an in).1 F -.25(va)-.4 G .067(lid option).25 F
+(is encountered.)144 532.8 Q F1(shift)108 549.6 Q F0([)2.5 E F2(n)A F0
+(])A .429(The positional parameters from)144 561.6 R F2(n)2.929 E F0
+.429(+1 ... are renamed to)B F1 .429($1 ....)2.929 F F0 -.15(Pa)5.428 G
+.428(rameters represented by the num-).15 F(bers)144 573.6 Q F1($#)2.582
+E F0(do)2.582 E .082(wn to)-.25 F F1($#)2.582 E F0<ad>A F2(n)A F0 .082
+(+1 are unset.)B F2(n)5.442 E F0 .082(must be a non-ne)2.822 F -.05(ga)
+-.15 G(ti).05 E .383 -.15(ve n)-.25 H .083(umber less than or equal to)
+.15 F F1($#)2.583 E F0 5.083(.I)C(f)-5.083 E F2(n)2.943 E F0 .06
+(is 0, no parameters are changed.)144 585.6 R(If)5.06 E F2(n)2.92 E F0
+.06(is not gi)2.8 F -.15(ve)-.25 G .06(n, it is assumed to be 1.).15 F
+(If)5.06 E F2(n)2.92 E F0 .06(is greater than)2.8 F F1($#)2.56 E F0 2.56
+(,t)C(he)-2.56 E .143(positional parameters are not changed.)144 597.6 R
+.144(The return status is greater than zero if)5.143 F F2(n)3.004 E F0
+.144(is greater than)2.884 F F1($#)2.644 E F0
+(or less than zero; otherwise 0.)144 609.6 Q F1(shopt)108 626.4 Q F0([)
+2.5 E F1(\255pqsu)A F0 2.5(][)C F1<ad6f>-2.5 E F0 2.5(][)C F2(optname)
+-2.5 E F0(...])2.5 E -.8(To)144 638.4 S .222(ggle the v).8 F .222
+(alues of v)-.25 F .222(ariables controlling optional shell beha)-.25 F
+(vior)-.2 E 5.222(.W)-.55 G .222(ith no options, or with the)-5.622 F F1
+<ad70>2.722 E F0 .721(option, a list of all settable options is display\
+ed, with an indication of whether or not each is set.)144 650.4 R(The)
+144 662.4 Q F1<ad70>2.828 E F0 .327(option causes output to be displaye\
+d in a form that may be reused as input.)2.828 F .327(Other options)
+5.327 F(ha)144 674.4 Q .3 -.15(ve t)-.2 H(he follo).15 E(wing meanings:)
+-.25 E F1<ad73>144 686.4 Q F0(Enable \(set\) each)26.41 E F2(optname)2.5
+E F0(.)A F1<ad75>144 698.4 Q F0(Disable \(unset\) each)24.74 E F2
+(optname)2.5 E F0(.)A F1<ad71>144 710.4 Q F0 .003(Suppresses normal out\
+put \(quiet mode\); the return status indicates whether the)24.74 F F2
+(optname)2.504 E F0(is)2.504 E .256(set or unset.)180 722.4 R .256
+(If multiple)5.256 F F2(optname)2.756 E F0(ar)2.756 E .256
+(guments are gi)-.18 F -.15(ve)-.25 G 2.756(nw).15 G(ith)-2.756 E F1
+<ad71>2.756 E F0 2.755(,t)C .255(he return status is zero if)-2.755 F
+(GNU Bash-3.1-beta1)72 768 Q(2005 Aug 27)122.91 E(57)197.89 E 0 Cg EP
 %%Page: 58 59
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E/F1 10/Palatino-Bold@0 SF<ad6f>144 84 Q/F2 10/Palatino-Roman@0 SF
-1.348(Restricts the values of)24.38 F/F3 10/Palatino-Italic@0 SF
-(optname)3.848 E F2 1.348(to be those de\214ned for the)3.848 F F1<ad6f>
-3.848 E F2 1.348(option to the)3.848 F F1(set)3.848 E F2(builtin.)180 96
-Q 1.86(If either)144 112.8 R F1<ad73>4.36 E F2(or)4.36 E F1<ad75>4.36 E
-F2 1.86(is used with no)4.36 F F3(optname)4.36 E F2(ar)4.36 E 1.86
-(guments, the display is limited to those)-.18 F 1.062(options which ar)
-144 124.8 R 3.562(es)-.18 G 1.062(et or unset, r)-3.562 F(espectively)
--.18 E 6.062(.U)-1.11 G 1.061(nless otherwise noted, the)-6.062 F F1
-(shopt)3.561 E F2(options)3.561 E(ar)144 136.8 Q 2.5(ed)-.18 G
-(isabled \(unset\) by default.)-2.5 E .472(The r)144 153.6 R .473
-(eturn status when listing options is zer)-.18 F 2.973(oi)-.18 G 2.973
-(fa)-2.973 G(ll)-2.973 E F3(optnames)2.973 E F2(ar)2.973 E 2.973(ee)-.18
-G .473(nabled, non-zer)-2.973 F 2.973(oo)-.18 G(ther)-2.973 E(-)-.18 E
-2.602(wise. When)144 165.6 R .102(setting or unsetting options, the r)
-2.602 F .101(eturn status is zer)-.18 F 2.601(ou)-.18 G .101(nless an)
--2.601 F F3(optname)2.601 E F2 .101(is not)2.601 F 2.5(av)144 177.6 S
-(alid shell option.)-2.5 E(The list of)144 194.4 Q F1(shopt)2.5 E F2
-(options is:)2.5 E F1(cdable_vars)144 212.4 Q F2 .364(If set, an ar)184
-224.4 R .364(gument to the)-.18 F F1(cd)2.864 E F2 .364
-(builtin command that is not a dir)2.864 F .364(ectory is assumed)-.18 F
-(to be the name of a variable whose value is the dir)184 236.4 Q
-(ectory to change to.)-.18 E F1(cdspell)144 248.4 Q F2 1.138
-(If set, minor err)7.24 F 1.138(ors in the spelling of a dir)-.18 F
-1.138(ectory component in a)-.18 F F1(cd)3.637 E F2(command)3.637 E
-1.288(will be corr)184 260.4 R 3.788(ected. The)-.18 F(err)3.788 E 1.288
-(ors checked for ar)-.18 F 3.788(et)-.18 G 1.289
-(ransposed characters, a missing)-3.788 F(character)184 272.4 Q 2.741
-(,a)-.74 G .241(nd one character too many)-2.741 F 5.241(.I)-1.11 G
-2.741(fac)-5.241 G(orr)-2.741 E .241(ection is found, the corr)-.18 F
-.24(ected \214le)-.18 F .43(name is printed, and the command pr)184
-284.4 R 2.931(oceeds. This)-.18 F .431(option is only used by inter)
-2.931 F(-)-.18 E(active shells.)184 296.4 Q F1(checkhash)144 308.4 Q F2
-.763(If set,)184 320.4 R F1(bash)3.263 E F2 .763
-(checks that a command found in the hash table exists befor)3.263 F
-3.262(et)-.18 G(rying)-3.262 E .022(to execute it.)184 332.4 R .023
-(If a hashed command no longer exists, a normal path sear)5.022 F .023
-(ch is per)-.18 F(-)-.18 E(formed.)184 344.4 Q F1(checkwinsize)144 356.4
-Q F2 2.585(If set,)184 368.4 R F1(bash)5.085 E F2 2.584
-(checks the window size after each command and, if necessary)5.084 F(,)
--1.11 E(updates the values of)184 380.4 Q/F4 9/Palatino-Bold@0 SF(LINES)
-2.5 E F2(and)2.25 E F4(COLUMNS)2.5 E/F5 9/Palatino-Roman@0 SF(.)A F1
-(cmdhist)144 392.4 Q F2 1.297(If set,)184 404.4 R F1(bash)3.797 E F2
-1.297(attempts to save all lines of a multiple-line command in the same)
-3.797 F(history entry)184 416.4 Q 5(.T)-1.11 G(his allows easy r)-5 E
-(e-editing of multi-line commands.)-.18 E F1(dotglob)144 428.4 Q F2
-1.339(If set,)184 440.4 R F1(bash)3.839 E F2 1.338
-(includes \214lenames beginning with a `.' in the r)3.839 F 1.338
-(esults of pathname)-.18 F(expansion.)184 452.4 Q F1(execfail)144 464.4
-Q F2 .315(If set, a non-interactive shell will not exit if it cannot ex\
-ecute the \214le speci\214ed as)5.01 F .784(an ar)184 476.4 R .783
-(gument to the)-.18 F F1(exec)3.283 E F2 .783(builtin command.)3.283 F
-.783(An interactive shell does not exit if)5.783 F F1(exec)184 488.4 Q
-F2(fails.)2.5 E F1(expand_aliases)144 500.4 Q F2 1.159
-(If set, aliases ar)184 512.4 R 3.659(ee)-.18 G 1.159
-(xpanded as described above under)-3.659 F F4(ALIASES)3.659 E F5(.)A F2
-1.159(This option is)5.659 F(enabled by default for interactive shells.)
-184 524.4 Q F1(extdebug)144 536.4 Q F2
-(If set, behavior intended for use by debuggers is enabled:)184 548.4 Q
-F1(1.)184 560.4 Q F2(The)28.5 E F1<ad46>3.608 E F2 1.108(option to the)
-3.608 F F1(declare)3.608 E F2 1.107(builtin displays the sour)3.608 F
-1.107(ce \214le name and)-.18 F .624(line number corr)220 572.4 R .624
-(esponding to each function name supplied as an ar)-.18 F(gu-)-.18 E
-(ment.)220 584.4 Q F1(2.)184 596.4 Q F2 .98(If the command r)28.5 F .98
-(un by the)-.08 F F1(DEBUG)3.48 E F2 .98(trap r)3.48 F .98
-(eturns a non-zer)-.18 F 3.48(ov)-.18 G .98(alue, the)-3.48 F
-(next command is skipped and not executed.)220 608.4 Q F1(3.)184 620.4 Q
-F2 1.106(If the command r)28.5 F 1.106(un by the)-.08 F F1(DEBUG)3.606 E
-F2 1.106(trap r)3.606 F 1.107(eturns a value of 2, and the)-.18 F .871
-(shell is executing in a subr)220 632.4 R .871
-(outine \(a shell function or a shell script exe-)-.18 F(cuted by the)
-220 644.4 Q F1(.)2.5 E F2(or)2.5 E F1(source)2.5 E F2
-(builtins\), a call to)2.5 E F1(return)2.5 E F2(is simulated.)2.5 E F1
-26(4. BASH_ARGC)184 656.4 R F2(and)5.148 E F1(BASH_ARGV)5.148 E F2(ar)
-5.149 E 5.149(eu)-.18 G 2.649(pdated as described in their)-5.149 F
-(descriptions above.)220 668.4 Q F1(5.)184 680.4 Q F2 .164
-(Function tracing is enabled:)28.5 F .164
-(command substitution, shell functions, and)5.164 F 1.112
-(subshells invoked with)220 692.4 R F1(\()3.612 E F3(command)3.612 E F1
-(\))3.612 E F2 1.112(inherit the)3.612 F F1(DEBUG)3.612 E F2(and)3.612 E
-F1(RETURN)3.612 E F2(traps.)220 704.4 Q F1(6.)184 716.4 Q F2(Err)28.5 E
-2.172(or tracing is enabled:)-.18 F 2.171
-(command substitution, shell functions, and)7.171 F
-(subshells invoked with)220 728.4 Q F1(\()2.5 E F3(command)2.5 E F1(\))
-2.5 E F2(inherit the)2.5 E F1(ERROR)2.5 E F2(trap.)2.5 E F0
-(GNU Bash-3.1-de)72 768 Q -.15(ve)-.25 G 123.59(l2).15 G(005 Mar 15)
--123.59 E(58)198.17 E 0 Cg EP
+-.35 E(all)180 84 Q/F1 10/Times-Italic@0 SF(optnames)2.5 E F0
+(are enabled; non-zero otherwise.)2.5 E/F2 10/Times-Bold@0 SF<ad6f>144
+96 Q F0(Restricts the v)25.3 E(alues of)-.25 E F1(optname)2.5 E F0
+(to be those de\214ned for the)2.5 E F2<ad6f>2.5 E F0(option to the)2.5
+E F2(set)2.5 E F0 -.2(bu)2.5 G(iltin.).2 E .127(If either)144 112.8 R F2
+<ad73>2.627 E F0(or)2.627 E F2<ad75>2.627 E F0 .127(is used with no)
+2.627 F F1(optname)2.627 E F0(ar)2.627 E .127
+(guments, the display is limited to those options which)-.18 F 1.024
+(are set or unset, respecti)144 124.8 R -.15(ve)-.25 G(ly).15 E 6.024
+(.U)-.65 G 1.024(nless otherwise noted, the)-6.024 F F2(shopt)3.523 E F0
+1.023(options are disabled \(unset\) by)3.523 F(def)144 136.8 Q(ault.)
+-.1 E 1.544(The return status when listing options is zero if all)144
+153.6 R F1(optnames)4.044 E F0 1.545(are enabled, non-zero otherwise.)
+4.045 F .696
+(When setting or unsetting options, the return status is zero unless an)
+144 165.6 R F1(optname)3.196 E F0 .696(is not a v)3.196 F .695
+(alid shell)-.25 F(option.)144 177.6 Q(The list of)144 194.4 Q F2(shopt)
+2.5 E F0(options is:)2.5 E F2(cdable_v)144 212.4 Q(ars)-.1 E F0 .155
+(If set, an ar)184 224.4 R .155(gument to the)-.18 F F2(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 236.4 Q(ariable whose v)-.25 E
+(alue is the directory to change to.)-.25 E F2(cdspell)144 248.4 Q F0
+1.055
+(If set, minor errors in the spelling of a directory component in a)
+10.55 F F2(cd)3.555 E F0 1.055(command will be)3.555 F 3.987
+(corrected. The)184 260.4 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 .552(one character too man)184 272.4 R 4.352 -.65
+(y. I)-.15 H 3.052(fac).65 G .552
+(orrection is found, the corrected \214le name is printed, and)-3.052 F
+(the command proceeds.)184 284.4 Q
+(This option is only used by interacti)5 E .3 -.15(ve s)-.25 H(hells.)
+.15 E F2(checkhash)144 296.4 Q F0 2.079(If set,)184 308.4 R F2(bash)
+4.579 E F0 2.079(checks that a command found in the hash table e)4.579 F
+2.08(xists before trying to)-.15 F -.15(exe)184 320.4 S(cute it.).15 E
+(If a hashed command no longer e)5 E
+(xists, a normal path search is performed.)-.15 E F2(checkwinsize)144
+332.4 Q F0 .797(If set,)184 344.4 R F2(bash)3.297 E F0 .797
+(checks the windo)3.297 F 3.297(ws)-.25 G .796
+(ize after each command and, if necessary)-3.297 F 3.296(,u)-.65 G .796
+(pdates the)-3.296 F -.25(va)184 356.4 S(lues of).25 E/F3 9/Times-Bold@0
+SF(LINES)2.5 E F0(and)2.25 E F3(COLUMNS)2.5 E/F4 9/Times-Roman@0 SF(.)A
+F2(cmdhist)144 368.4 Q F0 1.202(If set,)6.11 F F2(bash)3.702 E F0 1.202
+(attempts to sa)3.702 F 1.502 -.15(ve a)-.2 H 1.202
+(ll lines of a multiple-line command in the same history).15 F(entry)184
+380.4 Q 5(.T)-.65 G(his allo)-5 E
+(ws easy re-editing of multi-line commands.)-.25 E F2(dotglob)144 392.4
+Q F0 .165(If set,)7.77 F F2(bash)2.665 E F0 .165
+(includes \214lenames be)2.665 F .165(ginning with a `.)-.15 F 2.665('i)
+-.7 G 2.665(nt)-2.665 G .165(he results of pathname e)-2.665 F
+(xpansion.)-.15 E F2(execfail)144 404.4 Q F0 1.386
+(If set, a non-interacti)7.79 F 1.686 -.15(ve s)-.25 H 1.386
+(hell will not e).15 F 1.386(xit if it cannot e)-.15 F -.15(xe)-.15 G
+1.387(cute the \214le speci\214ed as an).15 F(ar)184 416.4 Q
+(gument to the)-.18 E F2(exec)2.5 E F0 -.2(bu)2.5 G(iltin command.).2 E
+(An interacti)5 E .3 -.15(ve s)-.25 H(hell does not e).15 E(xit if)-.15
+E F2(exec)2.5 E F0 -.1(fa)2.5 G(ils.).1 E F2(expand_aliases)144 428.4 Q
+F0 .717(If set, aliases are e)184 440.4 R .717(xpanded as described abo)
+-.15 F 1.017 -.15(ve u)-.15 H(nder).15 E F3(ALIASES)3.217 E F4(.)A F0
+.716(This option is enabled)5.217 F(by def)184 452.4 Q
+(ault for interacti)-.1 E .3 -.15(ve s)-.25 H(hells.).15 E F2(extdeb)144
+464.4 Q(ug)-.2 E F0(If set, beha)184 476.4 Q
+(vior intended for use by deb)-.2 E(uggers is enabled:)-.2 E F2(1.)184
+488.4 Q F0(The)28.5 E F2<ad46>4.25 E F0 1.75(option to the)4.25 F F2
+(declar)4.251 E(e)-.18 E F0 -.2(bu)4.251 G 1.751
+(iltin displays the source \214le name and line).2 F
+(number corresponding to each function name supplied as an ar)220 500.4
+Q(gument.)-.18 E F2(2.)184 512.4 Q F0 1.667(If the command run by the)
+28.5 F F2(DEB)4.167 E(UG)-.1 E F0 1.667(trap returns a non-zero v)4.167
+F 1.667(alue, the ne)-.25 F(xt)-.15 E(command is skipped and not e)220
+524.4 Q -.15(xe)-.15 G(cuted.).15 E F2(3.)184 536.4 Q F0 .84
+(If the command run by the)28.5 F F2(DEB)3.34 E(UG)-.1 E F0 .841
+(trap returns a v)3.341 F .841(alue of 2, and the shell is)-.25 F -.15
+(exe)220 548.4 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 F2(.)2.988 E F0(or)2.988 E F2
+(sour)220 560.4 Q(ce)-.18 E F0 -.2(bu)2.5 G(iltins\), a call to).2 E F2
+-.18(re)2.5 G(tur).18 E(n)-.15 E F0(is simulated.)2.5 E F2 26(4. B)184
+572.4 R(ASH_ARGC)-.3 E F0(and)3.775 E F2 -.3(BA)3.775 G(SH_ARGV).3 E F0
+1.276(are updated as described in their descrip-)3.775 F(tions abo)220
+584.4 Q -.15(ve)-.15 G(.).15 E F2(5.)184 596.4 Q F0 1.359
+(Function tracing is enabled:)28.5 F 1.359
+(command substitution, shell functions, and sub-)6.359 F(shells in)220
+608.4 Q -.2(vo)-.4 G -.1(ke).2 G 2.5(dw).1 G(ith)-2.5 E F2(\()2.5 E F1
+(command)2.5 E F2(\))2.5 E F0(inherit the)2.5 E F2(DEB)2.5 E(UG)-.1 E F0
+(and)2.5 E F2(RETURN)2.5 E F0(traps.)2.5 E F2(6.)184 620.4 Q F0 .804
+(Error tracing is enabled:)28.5 F .805
+(command substitution, shell functions, and subshells)5.804 F(in)220
+632.4 Q -.2(vo)-.4 G -.1(ke).2 G 2.5(dw).1 G(ith)-2.5 E F2(\()2.5 E F1
+(command)2.5 E F2(\))2.5 E F0(inherit the)2.5 E F2(ERR)2.5 E(OR)-.3 E F0
+(trap.)2.5 E F2(extglob)144 644.4 Q F0 .4(If set, the e)8.89 F .4
+(xtended pattern matching features described abo)-.15 F .7 -.15(ve u)
+-.15 H(nder).15 E F2 -.1(Pa)2.9 G .4(thname Expan-).1 F(sion)184 656.4 Q
+F0(are enabled.)2.5 E F2(extquote)144 668.4 Q F0 2.167(If set,)184 680.4
+R F2($)4.667 E F0(')A F1(string)A F0 4.667('a)C(nd)-4.667 E F2($)4.667 E
+F0(")A F1(string)A F0 4.667("q)C 2.167(uoting is performed within)-4.667
+F F2(${)4.667 E F1(par)A(ameter)-.15 E F2(})A F0 -.15(ex)4.667 G
+(pansions).15 E(enclosed in double quotes.)184 692.4 Q
+(This option is enabled by def)5 E(ault.)-.1 E F2(failglob)144 704.4 Q
+F0 1.425(If set, patterns which f)7.77 F 1.425
+(ail to match \214lenames during pathname e)-.1 F 1.424
+(xpansion result in an)-.15 F -.15(ex)184 716.4 S(pansion error).15 E(.)
+-.55 E(GNU Bash-3.1-beta1)72 768 Q(2005 Aug 27)122.91 E(58)197.89 E 0 Cg
+EP
 %%Page: 59 60
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E/F1 10/Palatino-Bold@0 SF(extglob)144 84 Q/F2 10/Palatino-Roman@0
-SF .432(If set, the extended pattern matching featur)6.11 F .432
-(es described above under)-.18 F F1(Pathname)2.932 E(Expansion)184 96 Q
-F2(ar)2.5 E 2.5(ee)-.18 G(nabled.)-2.5 E F1(extquote)144 108 Q F2 .143
-(If set,)184 120 R F1($)2.643 E F2(')A/F3 10/Palatino-Italic@0 SF
-(string)A F2 2.643('a)C(nd)-2.643 E F1($)2.643 E F2(")A F3(string)A F2
-2.643("q)C .143(uoting is performed within)-2.643 F F1(${)2.643 E F3
-(parameter)A F1(})A F2(expansions)2.643 E(enclosed in double quotes.)184
-132 Q(This option is enabled by default.)5 E F1(failglob)144 144 Q F2
-.507(If set, patterns which fail to match \214lenames during pathname e\
-xpansion r)184 156 R(esult)-.18 E(in an expansion err)184 168 Q(or)-.18
-E(.)-.74 E F1(force_\214gnore)144 180 Q F2 1.119(If set, the suf)184 192
-R 1.119(\214xes speci\214ed by the)-.18 F F1(FIGNORE)3.618 E F2 1.118
-(shell variable cause wor)3.618 F 1.118(ds to be)-.18 F(ignor)184 204 Q
-1.291(ed when performing wor)-.18 F 3.791(dc)-.18 G 1.291
-(ompletion even if the ignor)-3.791 F 1.291(ed wor)-.18 F 1.291(ds ar)
--.18 F 3.791(et)-.18 G(he)-3.791 E 1.701(only possible completions.)184
-216 R(See)6.701 E/F4 9/Palatino-Bold@0 SF 1.7(SHELL V)4.2 F(ARIABLES)
--1.161 E F2 1.7(above for a description of)3.95 F F1(FIGNORE)184 228 Q
-F2 5(.T)C(his option is enabled by default.)-5 E F1(gnu_errfmt)144 240 Q
-F2 .842(If set, shell err)184 252 R .842(or messages ar)-.18 F 3.342(ew)
--.18 G .842(ritten in the standar)-3.342 F 3.343(dG)-.18 G .843(NU err)
--3.343 F .843(or message for)-.18 F(-)-.18 E(mat.)184 264 Q F1
-(histappend)144 276 Q F2 1.127(If set, the history list is appended to \
-the \214le named by the value of the)184 288 R F1(HIST)3.626 E(-)-.92 E
-(FILE)184 300 Q F2
-(variable when the shell exits, rather than overwriting the \214le.)2.5
-E F1(histreedit)144 312 Q F2 1.38(If set, and)184 324 R F1(readline)3.88
-E F2 1.381(is being used, a user is given the opportunity to r)3.88 F
-1.381(e-edit a)-.18 F(failed history substitution.)184 336 Q F1
-(histverify)144 348 Q F2 2.134(If set, and)184 360 R F1(readline)4.633 E
-F2 2.133(is being used, the r)4.633 F 2.133
-(esults of history substitution ar)-.18 F 4.633(en)-.18 G(ot)-4.633 E
-.382(immediately passed to the shell parser)184 372 R 5.382(.I)-.74 G
-.383(nstead, the r)-5.382 F .383(esulting line is loaded into)-.18 F
-(the)184 384 Q F1(readline)2.5 E F2(editing buf)2.5 E(fer)-.18 E 2.5(,a)
--.74 G(llowing further modi\214cation.)-2.5 E F1(hostcomplete)144 396 Q
-F2 .648(If set, and)184 408 R F1(readline)3.148 E F2 .648
-(is being used,)3.148 F F1(bash)3.148 E F2 .647
-(will attempt to perform hostname com-)3.148 F .439(pletion when a wor)
-184 420 R 2.939(dc)-.18 G .439(ontaining a)-2.939 F F1(@)2.939 E F2 .439
-(is being completed \(see)2.939 F F1(Completing)2.94 E F2(under)2.94 E
-F4(READLINE)184 432 Q F2 2.5(above\). This)2.25 F
-(is enabled by default.)2.5 E F1(huponexit)144 444 Q F2(If set,)184 456
-Q F1(bash)2.5 E F2(will send)2.5 E F4(SIGHUP)2.5 E F2
-(to all jobs when an interactive login shell exits.)2.25 E F1
-(interactive_comments)144 468 Q F2 .26(If set, allow a wor)184 480 R
-2.76(db)-.18 G .26(eginning with)-2.76 F F1(#)2.76 E F2 .26
-(to cause that wor)2.76 F 2.76(da)-.18 G .26(nd all r)-2.76 F .26
-(emaining char)-.18 F(-)-.18 E .512(acters on that line to be ignor)184
-492 R .512(ed in an interactive shell \(see)-.18 F F4(COMMENTS)3.012 E
-F2(above\).)2.763 E(This option is enabled by default.)184 504 Q F1
-(lithist)144 516 Q F2 .513(If set, and the)12.8 F F1(cmdhist)3.013 E F2
-.513(option is enabled, multi-line commands ar)3.013 F 3.013(es)-.18 G
-.513(aved to the)-3.013 F .643(history with embedded newlines rather th\
-an using semicolon separators wher)184 528 R(e)-.18 E(possible.)184 540
-Q F1(login_shell)144 552 Q F2 2.454
+-.35 E/F1 10/Times-Bold@0 SF -.25(fo)144 84 S -.18(rc).25 G(e_\214gnor)
+.18 E(e)-.18 E F0 .585(If set, the suf)184 96 R<8c78>-.25 E .585
+(es speci\214ed by the)-.15 F F1(FIGNORE)3.085 E F0 .585(shell v)3.085 F
+.585(ariable cause w)-.25 F .585(ords to be ignored)-.1 F .32
+(when performing w)184 108 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.329(pletions. See)184 120 R/F2
+9/Times-Bold@0 SF .829(SHELL V)3.329 F(ARIABLES)-1.215 E F0(abo)3.079 E
+1.129 -.15(ve f)-.15 H .83(or a description of).15 F F1(FIGNORE)3.33 E
+F0 5.83(.T)C .83(his option)-5.83 F(is enabled by def)184 132 Q(ault.)
+-.1 E F1(gnu_errfmt)144 144 Q F0(If set, shell error messages are writt\
+en in the standard GNU error message format.)184 156 Q F1(histappend)144
+168 Q F0 .384
+(If set, the history list is appended to the \214le named by the v)184
+180 R .383(alue of the)-.25 F F1(HISTFILE)2.883 E F0 -.25(va)2.883 G
+(ri-).25 E(able when the shell e)184 192 Q(xits, rather than o)-.15 E
+-.15(ve)-.15 G(rwriting the \214le.).15 E F1(histr)144 204 Q(eedit)-.18
+E F0 .575(If set, and)184 216 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 228 Q F1(histv)144 240 Q(erify)-.1 E F0 .403
+(If set, and)184 252 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 264 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 276 S -.25(ff).2 G(er).25 E
+2.5(,a)-.4 G(llo)-2.5 E(wing further modi\214cation.)-.25 E F1
+(hostcomplete)144 288 Q F0 1.182(If set, and)184 300 R F1 -.18(re)3.682
+G(adline).18 E F0 1.182(is being used,)3.682 F F1(bash)3.682 E F0 1.181
+(will attempt to perform hostname completion)3.681 F 1.38(when a w)184
+312 R 1.38(ord containing a)-.1 F F1(@)3.881 E F0 1.381
+(is being completed \(see)3.881 F F1(Completing)3.881 E F0(under)3.881 E
+F2(READLINE)3.881 E F0(abo)184 324 Q -.15(ve)-.15 G 2.5(\). This).15 F
+(is enabled by def)2.5 E(ault.)-.1 E F1(huponexit)144 336 Q F0(If set,)
+184 348 Q F1(bash)2.5 E F0(will send)2.5 E F2(SIGHUP)2.5 E F0
+(to all jobs when an interacti)2.25 E .3 -.15(ve l)-.25 H(ogin shell e)
+.15 E(xits.)-.15 E F1(interacti)144 360 Q -.1(ve)-.1 G(_comments).1 E F0
+.33(If set, allo)184 372 R 2.83(waw)-.25 G .33(ord be)-2.93 F .33
+(ginning with)-.15 F F1(#)2.83 E F0 .33(to cause that w)2.83 F .33
+(ord and all remaining characters on)-.1 F .967
+(that line to be ignored in an interacti)184 384 R 1.267 -.15(ve s)-.25
+H .967(hell \(see).15 F F2(COMMENTS)3.467 E F0(abo)3.217 E -.15(ve)-.15
+G 3.467(\). This).15 F .968(option is)3.468 F(enabled by def)184 396 Q
+(ault.)-.1 E F1(lithist)144 408 Q F0 .655(If set, and the)15.55 F 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 420 Q
+(wlines rather than using semicolon separators where possible.)-.25 E F1
+(login_shell)144 432 Q F0 .486
 (The shell sets this option if it is started as a login shell \(see)184
-564 R F4(INVOCA)4.953 E(TION)-.828 E F2 2.5(above\). The)184 576 R
-(value may not be changed.)2.5 E F1(mailwarn)144 588 Q F2 .964
-(If set, and a \214le that)184 600 R F1(bash)3.464 E F2 .965
-(is checking for mail has been accessed since the last)3.464 F 1.647
-(time it was checked, the message `)184 612 R 1.647(`The mail in)-.37 F
-F3(mail\214le)4.147 E F2 1.647(has been r)4.147 F(ead')-.18 E 4.147('i)
--.37 G 4.147(sd)-4.147 G(is-)-4.147 E(played.)184 624 Q F1
-(no_empty_cmd_completion)144 636 Q F2 .572(If set, and)184 648 R F1
-(readline)3.072 E F2 .572(is being used,)3.072 F F1(bash)3.072 E F2 .572
-(will not attempt to sear)3.072 F .572(ch the)-.18 F F1 -.74(PA)3.072 G
-(TH)-.18 E F2(for)3.072 E
-(possible completions when completion is attempted on an empty line.)184
-660 Q F1(nocaseglob)144 672 Q F2 1.548(If set,)184 684 R F1(bash)4.048 E
-F2 1.548
-(matches \214lenames in a case\255insensitive fashion when performing)
-4.048 F(pathname expansion \(see)184 696 Q F1(Pathname Expansion)2.5 E
-F2(above\).)2.5 E F0(GNU Bash-3.1-de)72 768 Q -.15(ve)-.25 G 123.59(l2)
-.15 G(005 Mar 15)-123.59 E(59)198.17 E 0 Cg EP
+444 R F2(INV)2.987 E(OCA)-.405 E(TION)-.855 E F0(abo)2.737 E -.15(ve)
+-.15 G 2.987(\). The).15 F -.25(va)184 456 S(lue may not be changed.).25
+E F1(mailwar)144 468 Q(n)-.15 E F0 .815(If set, and a \214le that)184
+480 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 492 S 2.5(sc).1 G(heck)-2.5 E(ed, the message `)-.1 E
+(`The mail in)-.74 E/F3 10/Times-Italic@0 SF(mail\214le)2.5 E F0
+(has been read')2.5 E 2.5('i)-.74 G 2.5(sd)-2.5 G(isplayed.)-2.5 E F1
+(no_empty_cmd_completion)144 504 Q F0 .145(If set, and)184 516 R F1 -.18
+(re)2.645 G(adline).18 E F0 .145(is being used,)2.645 F F1(bash)2.646 E
+F0 .146(will not attempt to search the)2.646 F F1 -.74(PA)2.646 G(TH)
+-.21 E F0 .146(for possible)2.646 F
+(completions when completion is attempted on an empty line.)184 528 Q F1
+(nocaseglob)144 540 Q F0 .437(If set,)184 552 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 564 S
+(pansion \(see).15 E F1 -.1(Pa)2.5 G(thname Expansion).1 E F0(abo)2.5 E
+-.15(ve)-.15 G(\).).15 E F1(nocasematch)144 576 Q F0 1.193(If set,)184
+588 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(while e)184 600 Q -.15(xe)-.15 G(cuting).15 E F1(case)2.5 E F0(or)2.5
+E F1([[)2.5 E F0(conditional commands.)2.5 E F1(nullglob)144 612 Q F0
+.855(If set,)184 624 R F1(bash)3.355 E F0(allo)3.355 E .855
+(ws patterns which match no \214les \(see)-.25 F F1 -.1(Pa)3.354 G .854
+(thname Expansion).1 F F0(abo)3.354 E -.15(ve)-.15 G 3.354(\)t).15 G(o)
+-3.354 E -.15(ex)184 636 S(pand to a null string, rather than themselv)
+.15 E(es.)-.15 E F1(pr)144 648 Q(ogcomp)-.18 E F0 .676
+(If set, the programmable completion f)184 660 R .677(acilities \(see)
+-.1 F F1(Pr)3.177 E .677(ogrammable Completion)-.18 F F0(abo)3.177 E
+-.15(ve)-.15 G(\)).15 E(are enabled.)184 672 Q
+(This option is enabled by def)5 E(ault.)-.1 E F1(pr)144 684 Q(omptv)
+-.18 E(ars)-.1 E F0 1.448(If set, prompt strings under)184 696 R 1.448
+(go parameter e)-.18 F 1.447(xpansion, command substitution, arithmetic)
+-.15 F -.15(ex)184 708 S .17(pansion, and quote remo).15 F -.25(va)-.15
+G 2.67(la).25 G .17(fter being e)-2.67 F .17(xpanded as described in)
+-.15 F F2(PR)2.671 E(OMPTING)-.27 E F0(abo)2.421 E -.15(ve)-.15 G(.).15
+E(This option is enabled by def)184 720 Q(ault.)-.1 E
+(GNU Bash-3.1-beta1)72 768 Q(2005 Aug 27)122.91 E(59)197.89 E 0 Cg EP
 %%Page: 60 61
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E/F1 10/Palatino-Bold@0 SF(nocasematch)144 84 Q/F2 10
-/Palatino-Roman@0 SF 2.158(If set,)184 96 R F1(bash)4.658 E F2 2.158
-(matches patterns in a case\255insensitive fashion when performing)4.658
-F(matching while executing)184 108 Q F1(case)2.5 E F2(or)2.5 E F1([[)2.5
-E F2(conditional commands.)2.5 E F1(nullglob)144 120 Q F2 2.34(If set,)
-184 132 R F1(bash)4.84 E F2 2.34
-(allows patterns which match no \214les \(see)4.84 F F1 2.34
-(Pathname Expansion)4.84 F F2
-(above\) to expand to a null string, rather than themselves.)184 144 Q
-F1(progcomp)144 156 Q F2 1.198(If set, the pr)184 168 R 1.199
-(ogrammable completion facilities \(see)-.18 F F1 1.199
-(Programmable Completion)3.699 F F2(above\) ar)184 180 Q 2.5(ee)-.18 G
-2.5(nabled. This)-2.5 F(option is enabled by default.)2.5 E F1
-(promptvars)144 192 Q F2 2.553(If set, pr)184 204 R 2.553
-(ompt strings under)-.18 F 2.552
-(go parameter expansion, command substitution,)-.18 F 1.007
-(arithmetic expansion, and quote r)184 216 R 1.007
-(emoval after being expanded as described in)-.18 F/F3 9/Palatino-Bold@0
-SF(PROMPTING)184 228 Q F2 2.5(above. This)2.25 F
-(option is enabled by default.)2.5 E F1(restricted_shell)144 240 Q F2
-1.743(The shell sets this option if it is started in r)184 252 R 1.742
-(estricted mode \(see)-.18 F F3(RESTRICTED)4.242 E(SHELL)184 264 Q F2
-4.862(below\). The)4.612 F 2.362(value may not be changed.)4.862 F 2.362
-(This is not r)7.362 F 2.362(eset when the)-.18 F .294
-(startup \214les ar)184 276 R 2.794(ee)-.18 G .294
-(xecuted, allowing the startup \214les to discover whether or not a)
--2.794 F(shell is r)184 288 Q(estricted.)-.18 E F1(shift_verbose)144 300
-Q F2 .527(If set, the)184 312 R F1(shift)3.028 E F2 .528
-(builtin prints an err)3.028 F .528
-(or message when the shift count exceeds the)-.18 F
-(number of positional parameters.)184 324 Q F1(sourcepath)144 336 Q F2
-.515(If set, the)184 348 R F1(source)3.015 E F2(\()3.014 E F1(.)A F2
-3.014(\)b)C .514(uiltin uses the value of)-3.014 F F3 -.666(PA)3.014 G
-(TH)-.162 E F2 .514(to \214nd the dir)2.764 F .514(ectory contain-)-.18
-F(ing the \214le supplied as an ar)184 360 Q 2.5(gument. This)-.18 F
-(option is enabled by default.)2.5 E F1(xpg_echo)144 372 Q F2
-(If set, the)184 384 Q F1(echo)2.5 E F2
-(builtin expands backslash-escape sequences by default.)2.5 E F1
-(suspend)108 396 Q F2([)2.5 E F1<ad66>A F2(])A .048
-(Suspend the execution of this shell until it r)144 408 R .048
-(eceives a)-.18 F F3(SIGCONT)2.548 E F2 2.548(signal. The)2.298 F F1
-<ad66>2.548 E F2 .048(option says)2.548 F .327
-(not to complain if this is a login shell; just suspend anyway)144 420 R
-5.327(.T)-1.11 G .327(he r)-5.327 F .327(eturn status is 0 unless)-.18 F
-(the shell is a login shell and)144 432 Q F1<ad66>2.5 E F2
-(is not supplied, or if job contr)2.5 E(ol is not enabled.)-.18 E F1
-(test)108 444 Q/F4 10/Palatino-Italic@0 SF(expr)2.5 E F1([)108 456 Q F4
-(expr)2.5 E F1(])2.5 E F2 .544(Return a status of 0 or 1 depending on t\
-he evaluation of the conditional expr)6.56 F(ession)-.18 E F4(expr)3.044
-E F2(.).45 E .789(Each operator and operand must be a separate ar)144
-468 R 3.288(gument. Expr)-.18 F .788(essions ar)-.18 F 3.288(ec)-.18 G
-.788(omposed of)-3.288 F(the primaries described above under)144 480 Q
-F3(CONDITIONAL EXPRESSIONS)2.5 E/F5 9/Palatino-Roman@0 SF(.)A F2(Expr)
-144 498 Q .054
-(essions may be combined using the following operators, listed in decr)
--.18 F .055(easing or)-.18 F .055(der of)-.18 F(pr)144 510 Q(ecedence.)
--.18 E F1(!)144 522 Q F4(expr)2.5 E F2 -.78 -.9(Tr u)12.94 H 2.5(ei).9 G
-(f)-2.5 E F4(expr)2.85 E F2(is false.)2.95 E F1(\()144 534 Q F4(expr)2.5
-E F1(\))2.5 E F2 .847(Returns the value of)6.56 F F4(expr)3.347 E F2
-5.847(.T)C .847(his may be used to override the normal pr)-5.847 F
-(ecedence)-.18 E(of operators.)180 546 Q F4(expr1)144 558 Q F2<ad>2.5 E
-F1(a)A F4(expr2)2.5 E F2 -.78 -.9(Tr u)180 570 T 2.5(ei).9 G 2.5(fb)-2.5
-G(oth)-2.5 E F4(expr1)2.85 E F2(and)2.5 E F4(expr2)2.85 E F2(ar)2.5 E
-2.5(et)-.18 G -.08(ru)-2.5 G(e.).08 E F4(expr1)144 582 Q F2<ad>2.5 E F1
-(o)A F4(expr2)2.5 E F2 -.78 -.9(Tr u)180 594 T 2.5(ei).9 G 2.5(fe)-2.5 G
-(ither)-2.5 E F4(expr1)2.85 E F2(or)2.5 E F4(expr2)2.85 E F2(is tr)2.5 E
-(ue.)-.08 E F1(test)144 610.8 Q F2(and)3.576 E F1([)3.576 E F2 1.076
-(evaluate conditional expr)3.576 F 1.076(essions using a set of r)-.18 F
-1.076(ules based on the number of)-.08 F(ar)144 622.8 Q(guments.)-.18 E
-2.5(0a)144 640.8 S -.18(rg)-2.5 G(uments).18 E(The expr)180 652.8 Q
-(ession is false.)-.18 E 2.5(1a)144 664.8 S -.18(rg)-2.5 G(ument).18 E
-(The expr)180 676.8 Q(ession is tr)-.18 E(ue if and only if the ar)-.08
-E(gument is not null.)-.18 E 2.5(2a)144 688.8 S -.18(rg)-2.5 G(uments)
-.18 E .209(If the \214rst ar)180 700.8 R .208(gument is)-.18 F F1(!)
-2.708 E F2 2.708(,t)C .208(he expr)-2.708 F .208(ession is tr)-.18 F
-.208(ue if and only if the second ar)-.08 F(gument)-.18 E 2.143
-(is null.)180 712.8 R 2.144(If the \214rst ar)7.143 F 2.144
-(gument is one of the unary conditional operators listed)-.18 F 1.402
-(above under)180 724.8 R F3 1.401(CONDITIONAL EXPRESSIONS)3.901 F F5(,)A
-F2 1.401(the expr)3.651 F 1.401(ession is tr)-.18 F 1.401
-(ue if the unary)-.08 F F0(GNU Bash-3.1-de)72 768 Q -.15(ve)-.25 G
-123.59(l2).15 G(005 Mar 15)-123.59 E(60)198.17 E 0 Cg EP
+-.35 E/F1 10/Times-Bold@0 SF -.18(re)144 84 S(stricted_shell).18 E F0
+1.069
+(The shell sets this option if it is started in restricted mode \(see)
+184 96 R/F2 9/Times-Bold@0 SF 1.069(RESTRICTED SHELL)3.569 F F0(belo)184
+108 Q 4.178(w\). The)-.25 F -.25(va)4.178 G 1.678
+(lue may not be changed.).25 F 1.678
+(This is not reset when the startup \214les are)6.678 F -.15(exe)184 120
+S(cuted, allo).15 E(wing the startup \214les to disco)-.25 E -.15(ve)
+-.15 G 2.5(rw).15 G(hether or not a shell is restricted.)-2.5 E F1
+(shift_v)144 132 Q(erbose)-.1 E F0 .502(If set, the)184 144 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 156 Q F1(sour)
+144 168 Q(cepath)-.18 E F0 .77(If set, the)184 180 R F1(sour)3.27 E(ce)
+-.18 E F0(\()3.27 E F1(.)A F0 3.27(\)b)C .77(uiltin uses the v)-3.47 F
+.771(alue of)-.25 F F2 -.666(PA)3.271 G(TH)-.189 E F0 .771
+(to \214nd the directory containing the)3.021 F
+(\214le supplied as an ar)184 192 Q 2.5(gument. This)-.18 F
+(option is enabled by def)2.5 E(ault.)-.1 E F1(xpg_echo)144 204 Q F0
+(If set, the)184 216 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 228 Q F0([)2.5 E F1<ad66>A F0(])A .493(Suspend the e)144 240 R -.15
+(xe)-.15 G .493(cution of this shell until it recei).15 F -.15(ve)-.25 G
+2.992(sa).15 G F2(SIGCONT)A F0 2.992(signal. The)2.742 F F1<ad66>2.992 E
+F0 .492(option says not to)2.992 F .758
+(complain if this is a login shell; just suspend an)144 252 R(yw)-.15 E
+(ay)-.1 E 5.758(.T)-.65 G .759
+(he return status is 0 unless the shell is a)-5.758 F(login shell and)
+144 264 Q F1<ad66>2.5 E F0
+(is not supplied, or if job control is not enabled.)2.5 E F1(test)108
+276 Q/F3 10/Times-Italic@0 SF -.2(ex)2.5 G(pr).2 E F1([)108 288 Q F3 -.2
+(ex)2.5 G(pr).2 E F1(])2.5 E F0 1.15
+(Return a status of 0 or 1 depending on the e)6.77 F -.25(va)-.25 G 1.15
+(luation of the conditional e).25 F(xpression)-.15 E F3 -.2(ex)3.65 G
+(pr).2 E F0 6.15(.E).73 G(ach)-6.15 E 1.187
+(operator and operand must be a separate ar)144 300 R 3.688
+(gument. Expressions)-.18 F 1.188(are composed of the primaries)3.688 F
+1.89(described abo)144 312 R 2.19 -.15(ve u)-.15 H(nder).15 E F2
+(CONDITION)4.39 E 1.89(AL EXPRESSIONS)-.18 F/F4 9/Times-Roman@0 SF(.)A
+F1(test)6.39 E F0 1.889(does not accept an)4.389 F 4.389(yo)-.15 G 1.889
+(ptions, nor)-4.389 F(does it accept and ignore an ar)144 324 Q
+(gument of)-.18 E F1<adad>2.5 E F0(as signifying the end of options.)2.5
+E .785(Expressions may be combined using the follo)144 342 R .786
+(wing operators, listed in decreasing order of prece-)-.25 F(dence.)144
+354 Q F1(!)144 366 Q F3 -.2(ex)2.5 G(pr).2 E F0 -.35(Tr)12.6 G(ue if).35
+E F3 -.2(ex)2.5 G(pr).2 E F0(is f)3.23 E(alse.)-.1 E F1(\()144 378 Q F3
+-.2(ex)2.5 G(pr).2 E F1(\))2.5 E F0 .26(Returns the v)6.77 F .26
+(alue of)-.25 F F3 -.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 390 Q F3 -.2(ex)
+144 402 S(pr1).2 E F0<ad>2.5 E F1(a)A F3 -.2(ex)2.5 G(pr2).2 E F0 -.35
+(Tr)180 414 S(ue if both).35 E F3 -.2(ex)2.5 G(pr1).2 E F0(and)2.5 E F3
+-.2(ex)2.5 G(pr2).2 E F0(are true.)2.52 E F3 -.2(ex)144 426 S(pr1).2 E
+F0<ad>2.5 E F1(o)A F3 -.2(ex)2.5 G(pr2).2 E F0 -.35(Tr)180 438 S
+(ue if either).35 E F3 -.2(ex)2.5 G(pr1).2 E F0(or)2.5 E F3 -.2(ex)2.5 G
+(pr2).2 E F0(is true.)2.52 E F1(test)144 454.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 472.8 S -.18(rg)-2.5 G(uments).18 E(The e)
+180 484.8 Q(xpression is f)-.15 E(alse.)-.1 E 2.5(1a)144 496.8 S -.18
+(rg)-2.5 G(ument).18 E(The e)180 508.8 Q
+(xpression is true if and only if the ar)-.15 E(gument is not null.)-.18
+E 2.5(2a)144 520.8 S -.18(rg)-2.5 G(uments).18 E .37(If the \214rst ar)
+180 532.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 .38(If the \214rst ar)180 544.8 R .38
+(gument is one of the unary conditional operators listed abo)-.18 F .679
+-.15(ve u)-.15 H(nder).15 E F2(CONDI-)2.879 E(TION)180 556.8 Q .552
+(AL EXPRESSIONS)-.18 F F4(,)A F0 .552(the e)2.802 F .552
+(xpression is true if the unary test is true.)-.15 F .552
+(If the \214rst ar)5.552 F(gu-)-.18 E(ment is not a v)180 568.8 Q
+(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 580.8 S -.18(rg)-2.5 G
+(uments).18 E .024(If the second ar)180 592.8 R .023
+(gument is one of the binary conditional operators listed abo)-.18 F
+.323 -.15(ve u)-.15 H(nder).15 E F2(CON-)2.523 E(DITION)180 604.8 Q
+1.477(AL EXPRESSIONS)-.18 F F4(,)A F0 1.477(the result of the e)3.727 F
+1.477(xpression is the result of the binary test)-.15 F .398
+(using the \214rst and third ar)180 616.8 R .398(guments as operands.)
+-.18 F .398(If the \214rst ar)5.398 F .397(gument is)-.18 F F1(!)2.897 E
+F0 2.897(,t)C .397(he v)-2.897 F .397(alue is the)-.25 F(ne)180 628.8 Q
+-.05(ga)-.15 G .262(tion of the tw).05 F(o-ar)-.1 E .262
+(gument test using the second and third ar)-.18 F 2.762(guments. If)-.18
+F .263(the \214rst ar)2.762 F(gu-)-.18 E .206(ment is e)180 640.8 R
+(xactly)-.15 E F1(\()2.706 E F0 .205(and the third ar)2.706 F .205
+(gument is e)-.18 F(xactly)-.15 E F1(\))2.705 E F0 2.705(,t)C .205
+(he result is the one-ar)-2.705 F .205(gument test of)-.18 F 1.17
+(the second ar)180 652.8 R 3.67(gument. Otherwise,)-.18 F 1.171(the e)
+3.671 F 1.171(xpression is f)-.15 F 3.671(alse. The)-.1 F F1<ad61>3.671
+E F0(and)3.671 E F1<ad6f>3.671 E F0 1.171(operators are)3.671 F
+(considered binary operators in this case.)180 664.8 Q 2.5(4a)144 676.8
+S -.18(rg)-2.5 G(uments).18 E .385(If the \214rst ar)180 688.8 R .385
+(gument is)-.18 F F1(!)2.885 E F0 2.885(,t)C .385(he result is the ne)
+-2.885 F -.05(ga)-.15 G .384(tion of the three-ar).05 F .384(gument e)
+-.18 F .384(xpression com-)-.15 F 1.647(posed of the remaining ar)180
+700.8 R 4.147(guments. Otherwise,)-.18 F 1.647(the e)4.147 F 1.648
+(xpression is parsed and e)-.15 F -.25(va)-.25 G(luated).25 E
+(according to precedence using the rules listed abo)180 712.8 Q -.15(ve)
+-.15 G(.).15 E(GNU Bash-3.1-beta1)72 768 Q(2005 Aug 27)122.91 E(60)
+197.89 E 0 Cg EP
 %%Page: 61 62
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E/F1 10/Palatino-Roman@0 SF 1.355(test is tr)180 84 R 3.855(ue. If)
--.08 F 1.356(the \214rst ar)3.855 F 1.356
-(gument is not a valid unary conditional operator)-.18 F 3.856(,t)-.74 G
-(he)-3.856 E(expr)180 96 Q(ession is false.)-.18 E 2.5(3a)144 108 S -.18
-(rg)-2.5 G(uments).18 E 1.5(If the second ar)180 120 R 1.499
-(gument is one of the binary conditional operators listed above)-.18 F
-(under)180 132 Q/F2 9/Palatino-Bold@0 SF .64(CONDITIONAL EXPRESSIONS)
-3.14 F/F3 9/Palatino-Roman@0 SF(,)A F1 .64(the r)2.89 F .64
-(esult of the expr)-.18 F .64(ession is the r)-.18 F .641(esult of)-.18
-F .529(the binary test using the \214rst and thir)180 144 R 3.029(da)
--.18 G -.18(rg)-3.029 G .528(uments as operands.).18 F .528
-(If the \214rst ar)5.528 F(gu-)-.18 E .106(ment is)180 156 R/F4 10
-/Palatino-Bold@0 SF(!)2.606 E F1 2.606(,t)C .107
-(he value is the negation of the two-ar)-2.606 F .107
-(gument test using the second and)-.18 F(thir)180 168 Q 4.633(da)-.18 G
--.18(rg)-4.633 G 4.633(uments. If).18 F 2.133(the \214rst ar)4.633 F
-2.132(gument is exactly)-.18 F F4(\()4.632 E F1 2.132(and the thir)4.632
-F 4.632(da)-.18 G -.18(rg)-4.632 G 2.132(ument is).18 F(exactly)180 180
-Q F4(\))2.925 E F1 2.925(,t)C .426(he r)-2.925 F .426
-(esult is the one-ar)-.18 F .426(gument test of the second ar)-.18 F
-2.926(gument. Otherwise,)-.18 F .43(the expr)180 192 R .43
-(ession is false.)-.18 F(The)5.43 E F4<ad61>2.93 E F1(and)2.93 E F4
-<ad6f>2.93 E F1 .43(operators ar)2.93 F 2.93(ec)-.18 G(onsider)-2.93 E
-.43(ed binary operators)-.18 F(in this case.)180 204 Q 2.5(4a)144 216 S
--.18(rg)-2.5 G(uments).18 E .668(If the \214rst ar)180 228 R .668
-(gument is)-.18 F F4(!)3.168 E F1 3.168(,t)C .669(he r)-3.168 F .669
-(esult is the negation of the thr)-.18 F(ee-ar)-.18 E .669(gument expr)
--.18 F(es-)-.18 E .409(sion composed of the r)180 240 R .409
-(emaining ar)-.18 F 2.909(guments. Otherwise,)-.18 F .409(the expr)2.909
-F .409(ession is parsed)-.18 F(and evaluated accor)180 252 Q(ding to pr)
--.18 E(ecedence using the r)-.18 E(ules listed above.)-.08 E 2.5(5o)144
-264 S 2.5(rm)-2.5 G(or)-2.5 E 2.5(ea)-.18 G -.18(rg)-2.5 G(uments).18 E
-.781(The expr)180 276 R .782(ession is parsed and evaluated accor)-.18 F
-.782(ding to pr)-.18 F .782(ecedence using the r)-.18 F(ules)-.08 E
-(listed above.)180 288 Q F4(times)108 304.8 Q F1 .334
-(Print the accumulated user and system times for the shell and for pr)
-11.01 F .334(ocesses r)-.18 F .334(un fr)-.08 F .334(om the)-.18 F 2.5
-(shell. The)144 316.8 R -.18(re)2.5 G(turn status is 0.).18 E F4(trap)
-108 333.6 Q F1([)2.5 E F4(\255lp)A F1 2.5(][)C([)-2.5 E/F5 10
-/Palatino-Italic@0 SF(ar)A(g)-.18 E F1(])A F5(sigspec)2.5 E F1(...])2.5
-E .563(The command)144 345.6 R F5(ar)3.523 E(g)-.18 E F1 .563
-(is to be r)3.543 F .563(ead and executed when the shell r)-.18 F .564
-(eceives signal\(s\))-.18 F F5(sigspec)3.064 E F1 5.564(.I).32 G(f)
--5.564 E F5(ar)144.46 357.6 Q(g)-.18 E F1 .153(is absent \(and ther)
-3.133 F 2.653(ei)-.18 G 2.653(sas)-2.653 G(ingle)-2.653 E F5(sigspec)
-2.653 E F1 2.653(\)o)C(r)-2.653 E F4<ad>2.653 E F1 2.653(,e)C .153
-(ach speci\214ed signal is r)-2.653 F .152(eset to its original)-.18 F
-.069(disposition \(the value it had upon entrance to the shell\).)144
-369.6 R(If)5.069 E F5(ar)3.03 E(g)-.18 E F1 .07
-(is the null string the signal)3.05 F .142(speci\214ed by each)144 381.6
-R F5(sigspec)3.052 E F1 .142(is ignor)2.962 F .142
-(ed by the shell and by the commands it invokes.)-.18 F(If)5.141 E F5
-(ar)3.101 E(g)-.18 E F1(is)3.121 E 1.795(not pr)144 393.6 R 1.795
-(esent and)-.18 F F4<ad70>4.295 E F1 1.796
-(has been supplied, then the trap commands associated with each)4.295 F
-F5(sigspec)144.41 405.6 Q F1(ar)3.218 E 2.898(ed)-.18 G 2.898
-(isplayed. If)-2.898 F .398(no ar)2.898 F .398(guments ar)-.18 F 2.898
-(es)-.18 G .397(upplied or if only)-2.898 F F4<ad70>2.897 E F1 .397
-(is given,)2.897 F F4(trap)2.897 E F1 .397(prints the)2.897 F .035
-(list of commands associated with each signal.)144 417.6 R(The)5.036 E
-F4<ad6c>2.536 E F1 .036(option causes the shell to print a list)2.536 F
-1.095(of signal names and their corr)144 429.6 R 1.095
-(esponding numbers.)-.18 F(Each)6.095 E F5(sigspec)4.005 E F1 1.094
-(is either a signal name)3.914 F .672(de\214ned in <)144 441.6 R F5
-(signal.h)A F1 .673(>, or a signal number)B 5.673(.S)-.74 G .673
-(ignal names ar)-5.673 F 3.173(ec)-.18 G .673
-(ase insensitive and the SIG)-3.173 F(pr)144 453.6 Q .977
-(e\214x is optional.)-.18 F .976(If a)5.976 F F5(sigspec)3.886 E F1(is)
-3.796 E F2(EXIT)3.476 E F1 .976(\(0\) the command)3.226 F F5(ar)3.936 E
-(g)-.18 E F1 .976(is executed on exit fr)3.956 F .976(om the)-.18 F
-3.404(shell. If)144 465.6 R(a)3.404 E F5(sigspec)3.814 E F1(is)3.724 E
-F2(DEBUG)3.404 E F3(,)A F1 .904(the command)3.154 F F5(ar)3.864 E(g)-.18
-E F1 .905(is executed befor)3.885 F 3.405(ee)-.18 G(very)-3.405 E F5
-.905(simple command)3.405 F F1(,)A F5(for)144 477.6 Q F1(command,)3.016
-E F5(case)3.016 E F1(command,)3.016 E F5(select)3.016 E F1 .515
-(command, every arithmetic)3.016 F F5(for)3.015 E F1 .515
-(command, and befor)3.015 F(e)-.18 E 1.001
-(the \214rst command executes in a shell function \(see)144 489.6 R F2
-1.001(SHELL GRAMMAR)3.501 F F1 3.501(above\). Refer)3.251 F(to)3.501 E
-.679(the description of the)144 501.6 R F4(extdebug)3.178 E F1 .678
-(option to the)3.178 F F4(shopt)3.178 E F1 .678
-(builtin for details of its ef)3.178 F .678(fect on the)-.18 F F4(DEBUG)
-144 513.6 Q F1 3.153(trap. If)3.153 F(a)3.153 E F5(sigspec)3.563 E F1
-(is)3.473 E F2(ERR)3.153 E F3(,)A F1 .653(the command)2.903 F F5(ar)
-3.613 E(g)-.18 E F1 .653(is executed whenever a simple com-)3.633 F .241
-(mand has a non\255zer)144 525.6 R 2.741(oe)-.18 G .24
-(xit status, subject to the following conditions.)-2.741 F(The)5.24 E F2
-(ERR)2.74 E F1 .24(trap is not)2.49 F 1.926(executed if the failed comm\
-and is part of the command list immediately following a)144 537.6 R F4
-(while)144 549.6 Q F1(or)2.552 E F4(until)2.552 E F1(keywor)2.552 E .052
-(d, part of the test in an)-.18 F F5(if)2.712 E F1 .052
-(statement, part of a)4.402 F F4(&&)2.552 E F1(or)2.552 E/F6 10/Symbol
-SF<efef>2.552 E F1 .051(list, or if the)2.552 F .092(command's r)144
-561.6 R .092(eturn value is being inverted via)-.18 F F4(!)2.592 E F1
-5.092(.T)C .092(hese ar)-5.092 F 2.592(et)-.18 G .092
-(he same conditions obeyed by)-2.592 F(the)144 573.6 Q F4(errexit)2.825
-E F1 2.825(option. If)2.825 F(a)2.825 E F5(sigspec)3.235 E F1(is)3.145 E
-F2(RETURN)2.825 E F3(,)A F1 .325(the command)2.575 F F5(ar)3.284 E(g)
--.18 E F1 .324(is executed each time a shell)3.304 F 1.95
-(function or a script executed with the)144 585.6 R F4(.)4.451 E F1(or)
-4.451 E F4(source)4.451 E F1 1.951(builtins \214nishes executing.)4.451
-F(Signals)6.951 E(ignor)144 597.6 Q .847
-(ed upon entry to the shell cannot be trapped or r)-.18 F 3.346(eset. T)
--.18 F .846(rapped signals ar)-.9 F 3.346(er)-.18 G .846(eset to)-3.526
-F .298(their original values in a child pr)144 609.6 R .299
-(ocess when it is cr)-.18 F 2.799(eated. The)-.18 F -.18(re)2.799 G .299
-(turn status is false if any).18 F F5(sigspec)144.41 621.6 Q F1
-(is invalid; otherwise)2.82 E F4(trap)2.5 E F1 -.18(re)2.5 G(turns tr)
-.18 E(ue.)-.08 E F4(type)108 638.4 Q F1([)2.5 E F4(\255aftpP)A F1(])A F5
-(name)2.5 E F1([)2.5 E F5(name)A F1(...])2.5 E -.55(Wi)144 650.4 S 1.476
-(th no options, indicate how each).55 F F5(name)4.236 E F1 1.476
-(would be interpr)4.326 F 1.475(eted if used as a command)-.18 F 2.725
-(name. If)144 662.4 R(the)2.725 E F4<ad74>2.725 E F1 .225
-(option is used,)2.725 F F4(type)2.725 E F1 .225
-(prints a string which is one of)2.725 F F5(alias)2.726 E F1(,).06 E F5
-(keyword)2.726 E F1(,).33 E F5(function)2.726 E F1(,).08 E F5(builtin)
-144 674.4 Q F1 2.556(,o).08 G(r)-2.556 E F5(\214le)4.676 E F1(if)2.906 E
-F5(name)2.816 E F1 .056(is an alias, shell r)2.906 F .056(eserved wor)
--.18 F .055(d, function, builtin, or disk \214le, r)-.18 F(espec-)-.18 E
-(tively)144 686.4 Q 6.634(.I)-1.11 G 4.134(ft)-6.634 G(he)-4.134 E F5
-(name)4.394 E F1 1.635
-(is not found, then nothing is printed, and an exit status of false is)
-4.484 F -.18(re)144 698.4 S 2.523(turned. If).18 F(the)2.523 E F4<ad70>
-2.523 E F1 .023(option is used,)2.523 F F4(type)2.523 E F1 .023
-(either r)2.523 F .023(eturns the name of the disk \214le that would)
--.18 F 1.086(be executed if)144 710.4 R F5(name)3.846 E F1(wer)3.936 E
-3.586(es)-.18 G 1.086(peci\214ed as a command name, or nothing if)-3.586
-F/F7 10/Courier@0 SF 1.086(type -t name)3.586 F F1 .016(would not r)144
-722.4 R(eturn)-.18 E F5(\214le)2.516 E F1 5.016(.T).35 G(he)-5.016 E F4
-<ad50>2.516 E F1 .016(option for)2.516 F .016(ces a)-.18 F F2 -.666(PA)
-2.515 G(TH)-.162 E F1(sear)2.265 E .015(ch for each)-.18 F F5(name)2.515
-E F1 2.515(,e)C .015(ven if)-2.515 F F7 .015(type -t)2.515 F F0
-(GNU Bash-3.1-de)72 768 Q -.15(ve)-.25 G 123.59(l2).15 G(005 Mar 15)
--123.59 E(61)198.17 E 0 Cg EP
+-.35 E 2.5(5o)144 84 S 2.5(rm)-2.5 G(ore ar)-2.5 E(guments)-.18 E 1.635
+(The e)180 96 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 108 Q -.15(ve)-.15 G(.).15 E/F1 10/Times-Bold@0 SF(times)108 124.8 Q
+F0 1.229(Print the accumulated user and system times for the shell and \
+for processes run from the shell.)13.23 F(The return status is 0.)144
+136.8 Q F1(trap)108 153.6 Q F0([)2.5 E F1(\255lp)A F0 2.5(][)C([)-2.5 E
+/F2 10/Times-Italic@0 SF(ar)A(g)-.37 E F0(])A F2(sigspec)2.5 E F0(...])
+2.5 E .703(The command)144 165.6 R F2(ar)3.533 E(g)-.37 E F0 .703
+(is to be read and e)3.423 F -.15(xe)-.15 G .702
+(cuted when the shell recei).15 F -.15(ve)-.25 G 3.202(ss).15 G
+(ignal\(s\))-3.202 E F2(sigspec)3.202 E F0 5.702(.I).31 G(f)-5.702 E F2
+(ar)3.532 E(g)-.37 E F0(is)3.422 E .608(absent \(and there is a single)
+144 177.6 R F2(sigspec)3.108 E F0 3.108(\)o)C(r)-3.108 E F1<ad>3.108 E
+F0 3.108(,e)C .608
+(ach speci\214ed signal is reset to its original disposition)-3.108 F
+.659(\(the v)144 189.6 R .659(alue it had upon entrance to the shell\).)
+-.25 F(If)5.658 E F2(ar)3.488 E(g)-.37 E F0 .658
+(is the null string the signal speci\214ed by each)3.378 F F2(sigspec)
+144.34 201.6 Q F0 .58(is ignored by the shell and by the commands it in)
+3.39 F -.2(vo)-.4 G -.1(ke).2 G 3.081(s. If).1 F F2(ar)3.411 E(g)-.37 E
+F0 .581(is not present and)3.301 F F1<ad70>3.081 E F0(has)3.081 E 1.215
+(been supplied, then the trap commands associated with each)144 213.6 R
+F2(sigspec)4.054 E F0 1.214(are displayed.)4.024 F 1.214(If no ar)6.214
+F(gu-)-.18 E .86(ments are supplied or if only)144 225.6 R F1<ad70>3.36
+E F0 .86(is gi)3.36 F -.15(ve)-.25 G(n,).15 E F1(trap)3.36 E F0 .86
+(prints the list of commands associated with each)3.36 F 2.83
+(signal. The)144 237.6 R F1<ad6c>2.83 E F0 .33(option causes the shell \
+to print a list of signal names and their corresponding num-)2.83 F 4.31
+(bers. Each)144 249.6 R F2(sigspec)4.65 E F0 1.811
+(is either a signal name de\214ned in <)4.62 F F2(signal.h)A F0 1.811
+(>, or a signal number)B 6.811(.S)-.55 G(ignal)-6.811 E .745
+(names are case insensiti)144 261.6 R 1.045 -.15(ve a)-.25 H .745
+(nd the SIG pre\214x is optional.).15 F .745(If a)5.745 F F2(sigspec)
+3.585 E F0(is)3.555 E/F3 9/Times-Bold@0 SF(EXIT)3.245 E F0 .745
+(\(0\) the command)2.995 F F2(ar)144.33 273.6 Q(g)-.37 E F0 1.629(is e)
+4.349 F -.15(xe)-.15 G 1.629(cuted on e).15 F 1.63(xit from the shell.)
+-.15 F 1.63(If a)6.63 F F2(sigspec)4.47 E F0(is)4.44 E F3(DEB)4.13 E(UG)
+-.09 E/F4 9/Times-Roman@0 SF(,)A F0 1.63(the command)3.88 F F2(ar)4.46 E
+(g)-.37 E F0 1.63(is e)4.35 F -.15(xe)-.15 G(cuted).15 E 1.207(before e)
+144 285.6 R -.15(ve)-.25 G(ry).15 E F2 1.207(simple command)3.707 F F0
+(,)A F2(for)3.707 E F0(command,)3.706 E F2(case)3.706 E F0(command,)
+3.706 E F2(select)3.706 E F0 1.206(command, e)3.706 F -.15(ve)-.25 G
+1.206(ry arithmetic).15 F F2(for)144 297.6 Q F0 .412
+(command, and before the \214rst command e)2.912 F -.15(xe)-.15 G .412
+(cutes in a shell function \(see).15 F F3 .413(SHELL GRAMMAR)2.912 F F0
+(abo)144 309.6 Q -.15(ve)-.15 G 2.666(\). Refer).15 F .166
+(to the description of the)2.666 F F1(extdeb)2.666 E(ug)-.2 E F0 .166
+(option to the)2.666 F F1(shopt)2.666 E F0 -.2(bu)2.666 G .166
+(iltin for details of its ef).2 F(fect)-.25 E .508(on the)144 321.6 R F1
+(DEB)3.008 E(UG)-.1 E F0 3.008(trap. If)3.008 F(a)3.008 E F2(sigspec)
+3.348 E F0(is)3.318 E F3(ERR)3.008 E F4(,)A F0 .508(the command)2.758 F
+F2(ar)3.338 E(g)-.37 E F0 .509(is e)3.228 F -.15(xe)-.15 G .509
+(cuted whene).15 F -.15(ve)-.25 G 3.009(ras).15 G .509(imple com-)-3.009
+F 2.506(mand has a non\255zero e)144 333.6 R 2.506
+(xit status, subject to the follo)-.15 F 2.506(wing conditions.)-.25 F
+(The)7.506 E F3(ERR)5.006 E F0 2.506(trap is not)4.756 F -.15(exe)144
+345.6 S .105(cuted if the f).15 F .105
+(ailed command is part of the command list immediately follo)-.1 F .105
+(wing a)-.25 F F1(while)2.605 E F0(or)2.605 E F1(until)2.605 E F0 -.1
+(ke)144 357.6 S(yw)-.05 E .936(ord, part of the test in an)-.1 F F2(if)
+3.446 E F0 .936(statement, part of a)5.396 F F1(&&)3.436 E F0(or)3.436 E
+/F5 10/Symbol SF<efef>3.436 E F0 .936(list, or if the command')3.436 F
+3.436(sr)-.55 G(eturn)-3.436 E -.25(va)144 369.6 S 1.094
+(lue is being in).25 F -.15(ve)-.4 G 1.094(rted via).15 F F1(!)3.594 E
+F0 6.094(.T)C 1.094(hese are the same conditions obe)-6.094 F 1.094
+(yed by the)-.15 F F1(err)3.594 E(exit)-.18 E F0 3.595(option. If)3.594
+F(a)3.595 E F2(sigspec)144.34 381.6 Q F0(is)3.349 E F3(RETURN)3.039 E F4
+(,)A F0 .539(the command)2.789 F F2(ar)3.368 E(g)-.37 E F0 .538(is e)
+3.258 F -.15(xe)-.15 G .538
+(cuted each time a shell function or a script e).15 F -.15(xe)-.15 G
+(cuted).15 E .505(with the)144 393.6 R F1(.)3.005 E F0(or)3.005 E F1
+(sour)3.005 E(ce)-.18 E F0 -.2(bu)3.005 G .505(iltins \214nishes e).2 F
+-.15(xe)-.15 G 3.006(cuting. Signals).15 F .506
+(ignored upon entry to the shell cannot be)3.006 F .156
+(trapped or reset.)144 405.6 R -.35(Tr)5.156 G .156
+(apped signals are reset to their original v).35 F .155
+(alues in a child process when it is cre-)-.25 F 2.5(ated. The)144 417.6
+R(return status is f)2.5 E(alse if an)-.1 E(y)-.15 E F2(sigspec)2.84 E
+F0(is in)2.81 E -.25(va)-.4 G(lid; otherwise).25 E F1(trap)2.5 E F0
+(returns true.)2.5 E F1(type)108 434.4 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 446.4 S
+.173(th no options, indicate ho).4 F 2.673(we)-.25 G(ach)-2.673 E F2
+(name)3.033 E F0 -.1(wo)2.853 G .174
+(uld be interpreted if used as a command name.).1 F .174(If the)5.174 F
+F1<ad74>144 458.4 Q F0 .843(option is used,)3.343 F F1(type)3.343 E F0
+.843(prints a string which is one of)3.343 F F2(alias)3.343 E F0(,).27 E
+F2 -.1(ke)3.343 G(ywor)-.2 E(d)-.37 E F0(,).77 E F2(function)3.343 E F0
+(,).24 E F2 -.2(bu)3.342 G(iltin).2 E F0 3.342(,o).24 G(r)-3.342 E F2
+(\214le)5.252 E F0(if)3.522 E F2(name)144.36 470.4 Q F0 .086
+(is an alias, shell reserv)2.766 F .086(ed w)-.15 F .086
+(ord, function, b)-.1 F .087(uiltin, or disk \214le, respecti)-.2 F -.15
+(ve)-.25 G(ly).15 E 5.087(.I)-.65 G 2.587(ft)-5.087 G(he)-2.587 E F2
+(name)2.947 E F0 .087(is not)2.767 F .119
+(found, then nothing is printed, and an e)144 482.4 R .118
+(xit status of f)-.15 F .118(alse is returned.)-.1 F .118(If the)5.118 F
+F1<ad70>2.618 E F0 .118(option is used,)2.618 F F1(type)2.618 E F0 .855
+(either returns the name of the disk \214le that w)144 494.4 R .855
+(ould be e)-.1 F -.15(xe)-.15 G .855(cuted if).15 F F2(name)3.715 E F0
+.855(were speci\214ed as a com-)3.535 F .641(mand name, or nothing if)
+144 506.4 R/F6 10/Courier@0 SF .641(type -t name)3.141 F F0 -.1(wo)3.141
+G .641(uld not return).1 F F2(\214le)3.14 E F0 5.64(.T).18 G(he)-5.64 E
+F1<ad50>3.14 E F0 .64(option forces a)3.14 F F3 -.666(PA)3.14 G(TH)-.189
+E F0 .112(search for each)144 518.4 R F2(name)2.612 E F0 2.612(,e)C -.15
+(ve)-2.862 G 2.613(ni).15 G(f)-2.613 E F6 .113(type -t name)2.613 F F0
+-.1(wo)2.613 G .113(uld not return).1 F F2(\214le)2.613 E F0 5.113(.I)
+.18 G 2.613(fac)-5.113 G .113(ommand is hashed,)-2.613 F F1<ad70>2.613 E
+F0(and)144 530.4 Q F1<ad50>2.945 E F0 .445(print the hashed v)2.945 F
+.444(alue, not necessarily the \214le that appears \214rst in)-.25 F F3
+-.666(PA)2.944 G(TH)-.189 E F4(.)A F0 .444(If the)4.944 F F1<ad61>2.944
+E F0(option)2.944 E .265(is used,)144 542.4 R F1(type)2.765 E F0 .265
+(prints all of the places that contain an e)2.765 F -.15(xe)-.15 G .265
+(cutable named).15 F F2(name)2.765 E F0 5.265(.T).18 G .265
+(his includes aliases)-5.265 F .427(and functions, if and only if the)
+144 554.4 R F1<ad70>2.926 E F0 .426(option is not also used.)2.926 F
+.426(The table of hashed commands is not)5.426 F .548
+(consulted when using)144 566.4 R F1<ad61>3.048 E F0 5.548(.T)C(he)
+-5.548 E F1<ad66>3.048 E F0 .549
+(option suppresses shell function lookup, as with the)3.048 F F1
+(command)3.049 E F0 -.2(bu)144 578.4 S(iltin.).2 E F1(type)5 E F0
+(returns true if an)2.5 E 2.5(yo)-.15 G 2.5(ft)-2.5 G(he ar)-2.5 E
+(guments are found, f)-.18 E(alse if none are found.)-.1 E F1(ulimit)108
+595.2 Q F0([)2.5 E F1(\255SHacd\215mnpstuv)A F0([)2.5 E F2(limit)A F0
+(]])A(Pro)144 607.2 Q .244(vides control o)-.15 F -.15(ve)-.15 G 2.744
+(rt).15 G .244(he resources a)-2.744 F -.25(va)-.2 G .244
+(ilable to the shell and to processes started by it, on systems).25 F
+.943(that allo)144 619.2 R 3.443(ws)-.25 G .943(uch control.)-3.443 F
+(The)5.943 E F1<ad48>3.443 E F0(and)3.443 E F1<ad53>3.444 E F0 .944
+(options specify that the hard or soft limit is set for the)3.444 F(gi)
+144 631.2 Q -.15(ve)-.25 G 2.738(nr).15 G 2.738(esource. A)-2.738 F .238
+(hard limit cannot be increased once it is set; a soft limit may be inc\
+reased up to)2.738 F .355(the v)144 643.2 R .355
+(alue of the hard limit.)-.25 F .355(If neither)5.355 F F1<ad48>2.855 E
+F0(nor)2.855 E F1<ad53>2.855 E F0 .356
+(is speci\214ed, both the soft and hard limits are set.)2.856 F .402
+(The v)144 655.2 R .402(alue of)-.25 F F2(limit)2.992 E F0 .402(can be \
+a number in the unit speci\214ed for the resource or one of the special\
+ v)3.582 F(al-)-.25 E(ues)144 667.2 Q F1(hard)3.018 E F0(,)A F1(soft)
+3.018 E F0 3.018(,o)C(r)-3.018 E F1(unlimited)3.018 E F0 3.018(,w)C .518
+(hich stand for the current hard limit, the current soft limit, and no)
+-3.018 F .354(limit, respecti)144 679.2 R -.15(ve)-.25 G(ly).15 E 5.354
+(.I)-.65 G(f)-5.354 E F2(limit)2.944 E F0 .354
+(is omitted, the current v)3.534 F .353
+(alue of the soft limit of the resource is printed,)-.25 F .37
+(unless the)144 691.2 R F1<ad48>2.87 E F0 .37(option is gi)2.87 F -.15
+(ve)-.25 G 2.87(n. When).15 F .37
+(more than one resource is speci\214ed, the limit name and unit)2.87 F
+(are printed before the v)144 703.2 Q 2.5(alue. Other)-.25 F
+(options are interpreted as follo)2.5 E(ws:)-.25 E F1<ad61>144 715.2 Q
+F0(All current limits are reported)25.3 E(GNU Bash-3.1-beta1)72 768 Q
+(2005 Aug 27)122.91 E(61)197.89 E 0 Cg EP
 %%Page: 62 63
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E/F1 10/Courier@0 SF(name)144 84 Q/F2 10/Palatino-Roman@0 SF .645
-(would not r)3.145 F(eturn)-.18 E/F3 10/Palatino-Italic@0 SF(\214le)
-3.145 E F2 5.645(.I).35 G 3.145(fac)-5.645 G .645(ommand is hashed,)
--3.145 F/F4 10/Palatino-Bold@0 SF<ad70>3.145 E F2(and)3.145 E F4<ad50>
-3.145 E F2 .645(print the hashed value,)3.145 F .411
-(not necessarily the \214le that appears \214rst in)144 96 R/F5 9
-/Palatino-Bold@0 SF -.666(PA)2.911 G(TH)-.162 E/F6 9/Palatino-Roman@0 SF
-(.)A F2 .411(If the)4.911 F F4<ad61>2.911 E F2 .411(option is used,)
-2.911 F F4(type)2.91 E F2 .41(prints all)2.91 F .164
-(of the places that contain an executable named)144 108 R F3(name)2.664
-E F2 5.164(.T).35 G .164(his includes aliases and functions,)-5.164 F
-.73(if and only if the)144 120 R F4<ad70>3.23 E F2 .73
-(option is not also used.)3.23 F .73
-(The table of hashed commands is not con-)5.73 F .497(sulted when using)
-144 132 R F4<ad61>2.998 E F2 5.498(.T)C(he)-5.498 E F4<ad66>2.998 E F2
-.498(option suppr)2.998 F .498(esses shell function lookup, as with the)
--.18 F F4(com-)2.998 E(mand)144 144 Q F2(builtin.)4.558 E F4(type)7.058
-E F2 -.18(re)4.558 G 2.058(turns tr).18 F 2.057(ue if any of the ar)-.08
-F 2.057(guments ar)-.18 F 4.557(ef)-.18 G 2.057(ound, false if none ar)
--4.557 F(e)-.18 E(found.)144 156 Q F4(ulimit)108 172.8 Q F2([)2.5 E F4
-(\255SHacd\215mnpstuv)A F2([)2.5 E F3(limit)A F2(]])A(Pr)144 184.8 Q
-.061(ovides contr)-.18 F .061(ol over the r)-.18 F(esour)-.18 E .061
-(ces available to the shell and to pr)-.18 F .062
-(ocesses started by it, on)-.18 F 1.497(systems that allow such contr)
-144 196.8 R 3.997(ol. The)-.18 F F4<ad48>3.997 E F2(and)3.997 E F4<ad53>
-3.997 E F2 1.496(options specify that the har)3.997 F 3.996(do)-.18 G
-3.996(rs)-3.996 G(oft)-3.996 E .884(limit is set for the given r)144
-208.8 R(esour)-.18 E 3.384(ce. A)-.18 F(har)3.384 E 3.384(dl)-.18 G .884
-(imit cannot be incr)-3.384 F .884(eased once it is set; a soft)-.18 F
-.089(limit may be incr)144 220.8 R .088
-(eased up to the value of the har)-.18 F 2.588(dl)-.18 G 2.588(imit. If)
--2.588 F(neither)2.588 E F4<ad48>2.588 E F2(nor)2.588 E F4<ad53>2.588 E
-F2 .088(is speci\214ed,)2.588 F .162(both the soft and har)144 232.8 R
-2.662(dl)-.18 G .162(imits ar)-2.662 F 2.662(es)-.18 G 2.663(et. The)
--2.662 F .163(value of)2.663 F F3(limit)2.803 E F2 .163
-(can be a number in the unit speci-)2.933 F .176(\214ed for the r)144
-244.8 R(esour)-.18 E .176(ce or one of the special values)-.18 F F4
-(hard)2.676 E F2(,)A F4(soft)2.675 E F2 2.675(,o)C(r)-2.675 E F4
-(unlimited)2.675 E F2 2.675(,w)C .175(hich stand for)-2.675 F .242
-(the curr)144 256.8 R .242(ent har)-.18 F 2.742(dl)-.18 G .242
-(imit, the curr)-2.742 F .243(ent soft limit, and no limit, r)-.18 F
-(espectively)-.18 E 5.243(.I)-1.11 G(f)-5.243 E F3(limit)2.883 E F2 .243
-(is omitted,)3.013 F .082(the curr)144 268.8 R .081
-(ent value of the soft limit of the r)-.18 F(esour)-.18 E .081
-(ce is printed, unless the)-.18 F F4<ad48>2.581 E F2 .081
-(option is given.)2.581 F .329(When mor)144 280.8 R 2.829(et)-.18 G .329
-(han one r)-2.829 F(esour)-.18 E .329
-(ce is speci\214ed, the limit name and unit ar)-.18 F 2.83(ep)-.18 G .33
-(rinted befor)-2.83 F 2.83(et)-.18 G(he)-2.83 E 2.5(value. Other)144
-292.8 R(options ar)2.5 E 2.5(ei)-.18 G(nterpr)-2.5 E(eted as follows:)
--.18 E F4<ad61>144 304.8 Q F2(All curr)24.94 E(ent limits ar)-.18 E 2.5
-(er)-.18 G(eported)-2.68 E F4<ad63>144 316.8 Q F2
-(The maximum size of cor)25.5 E 2.5<658c>-.18 G(les cr)-2.5 E(eated)-.18
-E F4<ad64>144 328.8 Q F2(The maximum size of a pr)23.83 E
-(ocess's data segment)-.18 E F4<ad66>144 340.8 Q F2
-(The maximum size of \214les cr)26.05 E(eated by the shell)-.18 E F4
-<ad6c>144 352.8 Q F2(The maximum size that may be locked into memory)
-26.61 E F4<ad6d>144 364.8 Q F2(The maximum r)21.05 E(esident set size)
--.18 E F4<ad6e>144 376.8 Q F2 .958(The maximum number of open \214le de\
-scriptors \(most systems do not allow this)23.83 F(value to be set\))180
-388.8 Q F4<ad70>144 400.8 Q F2
-(The pipe size in 512-byte blocks \(this may not be set\))23.83 E F4
-<ad73>144 412.8 Q F2(The maximum stack size)25.5 E F4<ad74>144 424.8 Q
-F2(The maximum amount of cpu time in seconds)26.61 E F4<ad75>144 436.8 Q
-F2(The maximum number of pr)23.83 E(ocesses available to a single user)
--.18 E F4<ad76>144 448.8 Q F2
-(The maximum amount of virtual memory available to the shell)24.38 E(If)
-144 465.6 Q F3(limit)4.15 E F2 1.51
-(is given, it is the new value of the speci\214ed r)4.28 F(esour)-.18 E
-1.511(ce \(the)-.18 F F4<ad61>4.011 E F2 1.511(option is display)4.011 F
-4.315(only\). If)144 477.6 R 1.815(no option is given, then)4.315 F F4
-<ad66>4.315 E F2 1.815(is assumed.)4.315 F -.92(Va)6.815 G 1.815
-(lues ar).92 F 4.315(ei)-.18 G 4.315(n1)-4.315 G 1.815(024-byte incr)
--4.315 F(ements,)-.18 E .972(except for)144 489.6 R F4<ad74>3.473 E F2
-3.473(,w)C .973(hich is in seconds,)-3.473 F F4<ad70>3.473 E F2 3.473
-(,w)C .973(hich is in units of 512-byte blocks, and)-3.473 F F4<ad6e>
-3.473 E F2(and)3.473 E F4<ad75>144 501.6 Q F2 3.518(,w)C 1.018(hich ar)
--3.518 F 3.518(eu)-.18 G 1.018(nscaled values.)-3.518 F 1.017(The r)
-6.018 F 1.017(eturn status is 0 unless an invalid option or ar)-.18 F
-(gu-)-.18 E(ment is supplied, or an err)144 513.6 Q
-(or occurs while setting a new limit.)-.18 E F4(umask)108 530.4 Q F2([)
-2.5 E F4<ad70>A F2 2.5(][)C F4<ad53>-2.5 E F2 2.5(][)C F3(mode)-2.5 E F2
-(])A .535(The user \214le-cr)144 542.4 R .535(eation mask is set to)-.18
-F F3(mode)3.035 E F2 5.535(.I).35 G(f)-5.535 E F3(mode)3.295 E F2 .536
-(begins with a digit, it is interpr)3.385 F .536(eted as)-.18 F 1.827
-(an octal number; otherwise it is interpr)144 554.4 R 1.826
-(eted as a symbolic mode mask similar to that)-.18 F .95(accepted by)144
-566.4 R F3(chmod)3.45 E F2 3.45(\(1\). If).33 F F3(mode)3.71 E F2 .951
-(is omitted, the curr)3.8 F .951(ent value of the mask is printed.)-.18
-F(The)5.951 E F4<ad53>144 578.4 Q F2 .607(option causes the mask to be \
-printed in symbolic form; the default output is an octal)3.107 F(number)
-144 590.4 Q 6.02(.I)-.74 G 3.52(ft)-6.02 G(he)-3.52 E F4<ad70>3.52 E F2
-1.02(option is supplied, and)3.52 F F3(mode)3.78 E F2 1.02
-(is omitted, the output is in a form that)3.87 F .237(may be r)144 602.4
-R .237(eused as input.)-.18 F .237(The r)5.237 F .236
-(eturn status is 0 if the mode was successfully changed or if)-.18 F(no)
-144 614.4 Q F3(mode)2.5 E F2(ar)2.5 E
-(gument was supplied, and false otherwise.)-.18 E F4(unalias)108 631.2 Q
-F2<5bad>2.5 E F4(a)A F2 2.5(][)C F3(name)-2.5 E F2(...])2.5 E .718
-(Remove each)144 643.2 R F3(name)3.218 E F2(fr)3.218 E .719
-(om the list of de\214ned aliases.)-.18 F(If)5.719 E F4<ad61>3.219 E F2
-.719(is supplied, all alias de\214nitions)3.219 F(ar)144 655.2 Q 2.5(er)
--.18 G 2.5(emoved. The)-2.68 F -.18(re)2.5 G(turn value is tr).18 E
-(ue unless a supplied)-.08 E F3(name)2.76 E F2
-(is not a de\214ned alias.)2.85 E F4(unset)108 672 Q F2<5bad>2.5 E F4
-(fv)A F2 2.5(][)C F3(name)-2.5 E F2(...])2.5 E 1.61(For each)144 684 R
-F3(name)4.11 E F2 4.11(,r).35 G 1.61(emove the corr)-4.29 F 1.61
-(esponding variable or function.)-.18 F 1.61(If no options ar)6.61 F
-4.11(es)-.18 G(up-)-4.11 E .473(plied, or the)144 696 R F4<ad76>2.973 E
-F2 .473(option is given, each)2.973 F F3(name)3.233 E F2 -.18(re)3.323 G
-.474(fers to a shell variable.).18 F .474(Read-only variables)5.474 F
-.32(may not be unset.)144 708 R(If)5.32 E F4<ad66>2.82 E F2 .32
-(is speci\214ed, each)2.82 F F3(name)3.08 E F2 -.18(re)3.17 G .32
-(fers to a shell function, and the function).18 F .405
-(de\214nition is r)144 720 R 2.905(emoved. Each)-.18 F .405
-(unset variable or function is r)2.905 F .405(emoved fr)-.18 F .405
-(om the envir)-.18 F(onment)-.18 E F0(GNU Bash-3.1-de)72 768 Q -.15(ve)
--.25 G 123.59(l2).15 G(005 Mar 15)-123.59 E(62)198.17 E 0 Cg EP
+-.35 E/F1 10/Times-Bold@0 SF<ad63>144 84 Q F0
+(The maximum size of core \214les created)25.86 E F1<ad64>144 96 Q F0
+(The maximum size of a process')24.74 E 2.5(sd)-.55 G(ata se)-2.5 E
+(gment)-.15 E F1<ad66>144 108 Q F0
+(The maximum size of \214les created by the shell)26.97 E F1<ad6c>144
+120 Q F0(The maximum size that may be lock)27.52 E(ed into memory)-.1 E
+F1<ad6d>144 132 Q F0(The maximum resident set size)21.97 E F1<ad6e>144
+144 Q F0 .791(The maximum number of open \214le descriptors \(most syst\
+ems do not allo)24.74 F 3.29(wt)-.25 G .79(his v)-3.29 F .79(alue to)
+-.25 F(be set\))180 156 Q F1<ad70>144 168 Q F0
+(The pipe size in 512-byte blocks \(this may not be set\))24.74 E F1
+<ad73>144 180 Q F0(The maximum stack size)26.41 E F1<ad74>144 192 Q F0
+(The maximum amount of cpu time in seconds)26.97 E F1<ad75>144 204 Q F0
+(The maximum number of processes a)24.74 E -.25(va)-.2 G
+(ilable to a single user).25 E F1<ad76>144 216 Q F0
+(The maximum amount of virtual memory a)25.3 E -.25(va)-.2 G
+(ilable to the shell).25 E(If)144 232.8 Q/F2 10/Times-Italic@0 SF(limit)
+2.933 E F0 .343(is gi)3.523 F -.15(ve)-.25 G .343(n, it is the ne).15 F
+2.843(wv)-.25 G .343(alue of the speci\214ed resource \(the)-3.093 F F1
+<ad61>2.843 E F0 .343(option is display only\).)2.843 F .343(If no)5.343
+F .176(option is gi)144 244.8 R -.15(ve)-.25 G .176(n, then).15 F F1
+<ad66>2.676 E F0 .175(is assumed.)2.676 F -1.11(Va)5.175 G .175
+(lues are in 1024-byte increments, e)1.11 F .175(xcept for)-.15 F F1
+<ad74>2.675 E F0 2.675(,w)C .175(hich is in)-2.675 F(seconds,)144 256.8
+Q F1<ad70>2.697 E F0 2.697(,w)C .197
+(hich is in units of 512-byte blocks, and)-2.697 F F1<ad6e>2.698 E F0
+(and)2.698 E F1<ad75>2.698 E F0 2.698(,w)C .198(hich are unscaled v)
+-2.698 F 2.698(alues. The)-.25 F .404(return status is 0 unless an in)
+144 268.8 R -.25(va)-.4 G .404(lid option or ar).25 F .404
+(gument is supplied, or an error occurs while setting)-.18 F 2.5(an)144
+280.8 S .5 -.25(ew l)-2.5 H(imit.).25 E F1(umask)108 297.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
+.2(The user \214le-creation mask is set to)144 309.6 R F2(mode)2.7 E F0
+5.2(.I).18 G(f)-5.2 E F2(mode)3.08 E F0(be)2.88 E .2
+(gins with a digit, it is interpreted as an octal)-.15 F .066(number; o\
+therwise it is interpreted as a symbolic mode mask similar to that acce\
+pted by)144 321.6 R F2 -.15(ch)2.566 G(mod).15 E F0(\(1\).).77 E(If)144
+333.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 345.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 357.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 369.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 386.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 398.4 Q 1.955 -.15(ve e)-.15 H(ach).15 E F2(name)
+4.155 E F0 1.655(from the list of de\214ned aliases.)4.155 F(If)6.655 E
+F1<ad61>4.155 E F0 1.655(is supplied, all alias de\214nitions are)4.155
+F(remo)144 410.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 427.2 Q F0<5bad>2.5 E F1
+(fv)A F0 2.5(][)C F2(name)-2.5 E F0(...])2.5 E -.15(Fo)144 439.2 S 3.106
+(re).15 G(ach)-3.106 E F2(name)3.106 E F0 3.106(,r).18 G(emo)-3.106 E
+.906 -.15(ve t)-.15 H .606(he corresponding v).15 F .607
+(ariable or function.)-.25 F .607(If no options are supplied, or the)
+5.607 F F1<ad76>144 451.2 Q F0 .305(option is gi)2.805 F -.15(ve)-.25 G
+.305(n, each).15 F F2(name)3.165 E F0 .305(refers to a shell v)2.985 F
+2.805(ariable. Read-only)-.25 F -.25(va)2.805 G .304
+(riables may not be unset.).25 F(If)5.304 E F1<ad66>144 463.2 Q F0 .459
+(is speci\214ed, each)2.959 F F2(name)3.319 E F0 .459
+(refers to a shell function, and the function de\214nition is remo)3.139
+F -.15(ve)-.15 G 2.96(d. Each).15 F .903(unset v)144 475.2 R .903
+(ariable or function is remo)-.25 F -.15(ve)-.15 G 3.402(df).15 G .902
+(rom the en)-3.402 F .902(vironment passed to subsequent commands.)-.4 F
+(If)5.902 E(an)144 487.2 Q 4.284(yo)-.15 G(f)-4.284 E/F3 9/Times-Bold@0
+SF(RANDOM)4.284 E/F4 9/Times-Roman@0 SF(,)A F3(SECONDS)4.035 E F4(,)A F3
+(LINENO)4.035 E F4(,)A F3(HISTCMD)4.035 E F4(,)A F3(FUNCN)4.035 E(AME)
+-.18 E F4(,)A F3(GR)4.035 E(OUPS)-.27 E F4(,)A F0(or)4.035 E F3(DIRST)
+4.285 E -.495(AC)-.81 G(K).495 E F0(are)4.035 E .329(unset, the)144
+499.2 R 2.829(yl)-.15 G .328(ose their special properties, e)-2.829 F
+-.15(ve)-.25 G 2.828(ni).15 G 2.828(ft)-2.828 G(he)-2.828 E 2.828(ya)
+-.15 G .328(re subsequently reset.)-2.828 F .328(The e)5.328 F .328
+(xit status is true)-.15 F(unless a)144 511.2 Q F2(name)2.86 E F0
+(is readonly)2.68 E(.)-.65 E F1(wait)108 528 Q F0([)2.5 E F2 2.5(n.)C
+(..)-2.5 E F0(])A -.8(Wa)144 540 S .288
+(it for each speci\214ed process and return its termination status.).8 F
+(Each)5.288 E F2(n)3.148 E F0 .288(may be a process ID or a)3.028 F .722
+(job speci\214cation; if a job spec is gi)144 552 R -.15(ve)-.25 G .722
+(n, all processes in that job').15 F 3.222(sp)-.55 G .722(ipeline are w)
+-3.222 F .722(aited for)-.1 F 5.722(.I)-.55 G(f)-5.722 E F2(n)3.582 E F0
+(is)3.462 E 1.265(not gi)144 564 R -.15(ve)-.25 G 1.265
+(n, all currently acti).15 F 1.565 -.15(ve c)-.25 H 1.265
+(hild processes are w).15 F 1.265(aited for)-.1 F 3.765(,a)-.4 G 1.266
+(nd the return status is zero.)-3.765 F(If)6.266 E F2(n)4.126 E F0 .457
+(speci\214es a non-e)144 576 R .457
+(xistent process or job, the return status is 127.)-.15 F .457
+(Otherwise, the return status is the)5.457 F -.15(ex)144 588 S
+(it status of the last process or job w).15 E(aited for)-.1 E(.)-.55 E
+/F5 10.95/Times-Bold@0 SF(RESTRICTED SHELL)72 604.8 Q F0(If)108 616.8 Q
+F1(bash)4.396 E F0 1.896(is started with the name)4.396 F F1(rbash)4.397
+E F0 4.397(,o)C 4.397(rt)-4.397 G(he)-4.397 E F1<ad72>4.397 E F0 1.897
+(option is supplied at in)4.397 F -.2(vo)-.4 G 1.897
+(cation, the shell becomes).2 F 3.446(restricted. A)108 628.8 R .945
+(restricted shell is used to set up an en)3.446 F .945
+(vironment more controlled than the standard shell.)-.4 F(It)5.945 E
+(beha)108 640.8 Q -.15(ve)-.2 G 2.5(si).15 G(dentically to)-2.5 E F1
+(bash)2.5 E F0(with the e)2.5 E(xception that the follo)-.15 E
+(wing are disallo)-.25 E(wed or not performed:)-.25 E 32.5<8363>108
+657.6 S(hanging directories with)-32.5 E F1(cd)2.5 E F0 32.5<8373>108
+674.4 S(etting or unsetting the v)-32.5 E(alues of)-.25 E F1(SHELL)2.5 E
+F0(,)A F1 -.74(PA)2.5 G(TH)-.21 E F0(,)A F1(ENV)2.5 E F0 2.5(,o)C(r)-2.5
+E F1 -.3(BA)2.5 G(SH_ENV).3 E F0 32.5<8373>108 691.2 S
+(pecifying command names containing)-32.5 E F1(/)2.5 E F0 32.5<8373>108
+708 S(pecifying a \214le name containing a)-32.5 E F1(/)2.5 E F0
+(as an ar)2.5 E(gument to the)-.18 E F1(.)2.5 E F0 -.2(bu)5 G
+(iltin command).2 E(GNU Bash-3.1-beta1)72 768 Q(2005 Aug 27)122.91 E(62)
+197.89 E 0 Cg EP
 %%Page: 63 64
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E/F1 10/Palatino-Roman@0 SF 1.475(passed to subsequent commands.)
-144 84 R 1.475(If any of)6.475 F/F2 9/Palatino-Bold@0 SF(RANDOM)3.975 E
-/F3 9/Palatino-Roman@0 SF(,)A F2(SECONDS)3.725 E F3(,)A F2(LINENO)3.724
-E F3(,)A F2(HISTCMD)3.724 E F3(,)A F2(FUNCNAME)144 96 Q F3(,)A F2
-(GROUPS)2.803 E F3(,)A F1(or)2.803 E F2(DIRST)3.053 E(ACK)-.828 E F1(ar)
-2.803 E 3.053(eu)-.18 G .553(nset, they lose their special pr)-3.053 F
-.553(operties, even if)-.18 F(they ar)144 108 Q 2.5(es)-.18 G
-(ubsequently r)-2.5 E 2.5(eset. The)-.18 F(exit status is tr)2.5 E
-(ue unless a)-.08 E/F4 10/Palatino-Italic@0 SF(name)2.76 E F1(is r)2.85
-E(eadonly)-.18 E(.)-1.11 E/F5 10/Palatino-Bold@0 SF(wait)108 124.8 Q F1
-([)2.5 E F4 2.5(n.)C(..)-2.5 E F1(])A -.92(Wa)144 136.8 S .016
-(it for each speci\214ed pr).92 F .016(ocess and r)-.18 F .016
-(eturn its termination status.)-.18 F(Each)5.016 E F4(n)2.776 E F1 .016
-(may be a pr)2.596 F(ocess)-.18 E 1.733
-(ID or a job speci\214cation; if a job spec is given, all pr)144 148.8 R
-1.733(ocesses in that job's pipeline ar)-.18 F(e)-.18 E 1.015
-(waited for)144 160.8 R 6.015(.I)-.74 G(f)-6.015 E F4(n)3.775 E F1 1.015
-(is not given, all curr)3.595 F 1.014(ently active child pr)-.18 F 1.014
-(ocesses ar)-.18 F 3.514(ew)-.18 G 1.014(aited for)-3.514 F 3.514(,a)
--.74 G 1.014(nd the)-3.514 F -.18(re)144 172.8 S .693
-(turn status is zer).18 F 3.193(o. If)-.18 F F4(n)3.453 E F1 .693
-(speci\214es a non-existent pr)3.273 F .693(ocess or job, the r)-.18 F
-.694(eturn status is 127.)-.18 F(Otherwise, the r)144 184.8 Q
-(eturn status is the exit status of the last pr)-.18 E
-(ocess or job waited for)-.18 E(.)-.74 E/F6 10.95/Palatino-Bold@0 SF
-(RESTRICTED SHELL)72 201.6 Q F1(If)108 213.6 Q F5(bash)4.639 E F1 2.139
-(is started with the name)4.639 F F5(rbash)4.638 E F1 4.638(,o)C 4.638
-(rt)-4.638 G(he)-4.638 E F5<ad72>4.638 E F1 2.138
-(option is supplied at invocation, the shell)4.638 F .618(becomes r)108
-225.6 R 3.118(estricted. A)-.18 F -.18(re)3.118 G .618
-(stricted shell is used to set up an envir).18 F .618(onment mor)-.18 F
-3.118(ec)-.18 G(ontr)-3.118 E .618(olled than the)-.18 F(standar)108
-237.6 Q 4.198(ds)-.18 G 4.198(hell. It)-4.198 F 1.697
-(behaves identically to)4.197 F F5(bash)4.197 E F1 1.697
-(with the exception that the following ar)4.197 F 4.197(ed)-.18 G(isal-)
--4.197 E(lowed or not performed:)108 249.6 Q 29.94<8363>108 266.4 S
-(hanging dir)-29.94 E(ectories with)-.18 E F5(cd)2.5 E F1 29.94<8373>108
-283.2 S(etting or unsetting the values of)-29.94 E F5(SHELL)2.5 E F1(,)A
-F5 -.74(PA)2.5 G(TH)-.18 E F1(,)A F5(ENV)2.5 E F1 2.5(,o)C(r)-2.5 E F5
-(BASH_ENV)2.5 E F1 29.94<8373>108 300 S
-(pecifying command names containing)-29.94 E F5(/)2.5 E F1 29.94<8373>
-108 316.8 S(pecifying a \214le name containing a)-29.94 E F5(/)2.5 E F1
-(as an ar)2.5 E(gument to the)-.18 E F5(.)2.5 E F1(builtin command)5 E
-29.94<8353>108 333.6 S 1.564
-(pecifying a \214lename containing a slash as an ar)-29.94 F 1.565
-(gument to the)-.18 F F5<ad70>4.065 E F1 1.565(option to the)4.065 F F5
-(hash)4.065 E F1(builtin command)144 345.6 Q 29.94<8369>108 362.4 S
-(mporting function de\214nitions fr)-29.94 E(om the shell envir)-.18 E
-(onment at startup)-.18 E 29.94<8370>108 379.2 S(arsing the value of)
--29.94 E F5(SHELLOPTS)2.5 E F1(fr)2.5 E(om the shell envir)-.18 E
-(onment at startup)-.18 E 29.94<8372>108 396 S(edir)-30.12 E
-(ecting output using the >, >|, <>, >&, &>, and >> r)-.18 E(edir)-.18 E
-(ection operators)-.18 E 29.94<8375>108 412.8 S(sing the)-29.94 E F5
-(exec)2.5 E F1(builtin command to r)2.5 E
-(eplace the shell with another command)-.18 E 29.94<8361>108 429.6 S
-1.208(dding or deleting builtin commands with the)-29.94 F F5<ad66>3.708
-E F1(and)3.708 E F5<ad64>3.708 E F1 1.208(options to the)3.708 F F5
-(enable)3.707 E F1(builtin)3.707 E(command)144 441.6 Q 29.94<8355>108
-458.4 S(sing the)-29.94 E F5(enable)2.5 E F1
-(builtin command to enable disabled shell builtins)2.5 E 29.94<8373>108
-475.2 S(pecifying the)-29.94 E F5<ad70>2.5 E F1(option to the)2.5 E F5
-(command)2.5 E F1(builtin command)2.5 E 29.94<8374>108 492 S(urning of)
--29.94 E 2.5(fr)-.18 G(estricted mode with)-2.68 E F5(set +r)2.5 E F1
-(or)2.5 E F5(set +o restricted)2.5 E F1(.)A(These r)108 508.8 Q
-(estrictions ar)-.18 E 2.5(ee)-.18 G(nfor)-2.5 E
-(ced after any startup \214les ar)-.18 E 2.5(er)-.18 G(ead.)-2.68 E
-1.694
-(When a command that is found to be a shell script is executed \(see)108
-525.6 R F2 1.694(COMMAND EXECUTION)4.194 F F1(above\),)108 537.6 Q F5
-(rbash)2.5 E F1(turns of)2.5 E 2.5(fa)-.18 G(ny r)-2.5 E
-(estrictions in the shell spawned to execute the script.)-.18 E F6
-(SEE ALSO)72 554.4 Q F4(Bash Refer)108 566.4 Q(ence Manual)-.18 E F1 2.5
-(,B)C(rian Fox and Chet Ramey)-2.5 E F4(The Gnu Readline Library)108
-578.4 Q F1 2.5(,B)C(rian Fox and Chet Ramey)-2.5 E F4
-(The Gnu History Library)108 590.4 Q F1 2.5(,B)C
-(rian Fox and Chet Ramey)-2.5 E F4(Portable Operating System Interface \
-\(POSIX\) Part 2: Shell and Utilities)108 602.4 Q F1 2.5(,I)C(EEE)-2.5 E
-F4(sh)108 614.4 Q F1(\(1\),)A F4(ksh)2.5 E F1(\(1\),)A F4(csh)2.5 E F1
-(\(1\))A F4(emacs)108 626.4 Q F1(\(1\),)A F4(vi)2.5 E F1(\(1\))A F4 -.18
-(re)108 638.4 S(adline).18 E F1(\(3\))A F6(FILES)72 655.2 Q F4
-(/bin/bash)109.666 667.2 Q F1(The)144 679.2 Q F5(bash)2.5 E F1
-(executable)2.5 E F4(/etc/pr)109.666 691.2 Q(o\214le)-.18 E F1
-(The systemwide initialization \214le, executed for login shells)144
-703.2 Q F0(GNU Bash-3.1-de)72 768 Q -.15(ve)-.25 G 123.59(l2).15 G
-(005 Mar 15)-123.59 E(63)198.17 E 0 Cg EP
+-.35 E 32.5<8353>108 84 S .351
+(pecifying a \214lename containing a slash as an ar)-32.5 F .351
+(gument to the)-.18 F/F1 10/Times-Bold@0 SF<ad70>2.851 E F0 .351
+(option to the)2.851 F F1(hash)2.852 E F0 -.2(bu)2.852 G .352
+(iltin com-).2 F(mand)144 96 Q 32.5<8369>108 112.8 S
+(mporting function de\214nitions from the shell en)-32.5 E
+(vironment at startup)-.4 E 32.5<8370>108 129.6 S(arsing the v)-32.5 E
+(alue of)-.25 E F1(SHELLOPTS)2.5 E F0(from the shell en)2.5 E
+(vironment at startup)-.4 E 32.5<8372>108 146.4 S(edirecting output usi\
+ng the >, >|, <>, >&, &>, and >> redirection operators)-32.5 E 32.5
+<8375>108 163.2 S(sing the)-32.5 E F1(exec)2.5 E F0 -.2(bu)2.5 G
+(iltin command to replace the shell with another command).2 E 32.5<8361>
+108 180 S(dding or deleting b)-32.5 E(uiltin commands with the)-.2 E F1
+<ad66>2.5 E F0(and)2.5 E F1<ad64>2.5 E F0(options to the)2.5 E F1
+(enable)2.5 E F0 -.2(bu)2.5 G(iltin command).2 E 32.5<8355>108 196.8 S
+(sing the)-32.5 E F1(enable)2.5 E F0 -.2(bu)2.5 G
+(iltin command to enable disabled shell b).2 E(uiltins)-.2 E 32.5<8373>
+108 213.6 S(pecifying the)-32.5 E F1<ad70>2.5 E F0(option to the)2.5 E
+F1(command)2.5 E F0 -.2(bu)2.5 G(iltin command).2 E 32.5<8374>108 230.4
+S(urning of)-32.5 E 2.5(fr)-.25 G(estricted mode with)-2.5 E F1(set +r)
+2.5 E F0(or)2.5 E F1(set +o r)2.5 E(estricted)-.18 E F0(.)A
+(These restrictions are enforced after an)108 247.2 Q 2.5(ys)-.15 G
+(tartup \214les are read.)-2.5 E 1.566
+(When a command that is found to be a shell script is e)108 264 R -.15
+(xe)-.15 G 1.566(cuted \(see).15 F/F2 9/Times-Bold@0 SF 1.566
+(COMMAND EXECUTION)4.066 F F0(abo)3.816 E -.15(ve)-.15 G(\),).15 E F1
+(rbash)108 276 Q F0(turns of)2.5 E 2.5(fa)-.25 G .3 -.15(ny r)-2.5 H
+(estrictions in the shell spa).15 E(wned to e)-.15 E -.15(xe)-.15 G
+(cute the script.).15 E/F3 10.95/Times-Bold@0 SF(SEE ALSO)72 292.8 Q/F4
+10/Times-Italic@0 SF(Bash Refer)108 304.8 Q(ence Manual)-.37 E F0 2.5
+(,B)C(rian F)-2.5 E(ox and Chet Rame)-.15 E(y)-.15 E F4
+(The Gnu Readline Libr)108 316.8 Q(ary)-.15 E F0 2.5(,B)C(rian F)-2.5 E
+(ox and Chet Rame)-.15 E(y)-.15 E F4(The Gnu History Libr)108 328.8 Q
+(ary)-.15 E F0 2.5(,B)C(rian F)-2.5 E(ox and Chet Rame)-.15 E(y)-.15 E
+F4 -.8(Po)108 340.8 S(rtable Oper).8 E
+(ating System Interface \(POSIX\) P)-.15 E(art 2: Shell and Utilities)
+-.8 E F0 2.5(,I)C(EEE)-2.5 E F4(sh)108 352.8 Q F0(\(1\),)A F4(ksh)2.5 E
+F0(\(1\),)A F4(csh)2.5 E F0(\(1\))A F4(emacs)108 364.8 Q F0(\(1\),)A F4
+(vi)2.5 E F0(\(1\))A F4 -.37(re)108 376.8 S(adline).37 E F0(\(3\))A F3
+(FILES)72 393.6 Q F4(/bin/bash)109.666 405.6 Q F0(The)144 417.6 Q F1
+(bash)2.5 E F0 -.15(exe)2.5 G(cutable).15 E F4(/etc/pr)109.666 429.6 Q
+(o\214le)-.45 E F0(The systemwide initialization \214le, e)144 441.6 Q
+-.15(xe)-.15 G(cuted for login shells).15 E F4(~/.bash_pr)109.666 453.6
+Q(o\214le)-.45 E F0(The personal initialization \214le, e)144 465.6 Q
+-.15(xe)-.15 G(cuted for login shells).15 E F4(~/.bashr)109.666 477.6 Q
+(c)-.37 E F0(The indi)144 489.6 Q(vidual per)-.25 E(-interacti)-.2 E
+-.15(ve)-.25 G(-shell startup \214le).15 E F4(~/.bash_lo)109.666 501.6 Q
+(gout)-.1 E F0(The indi)144 513.6 Q
+(vidual login shell cleanup \214le, e)-.25 E -.15(xe)-.15 G
+(cuted when a login shell e).15 E(xits)-.15 E F4(~/.inputr)109.666 525.6
+Q(c)-.37 E F0(Indi)144 537.6 Q(vidual)-.25 E F4 -.37(re)2.5 G(adline).37
+E F0(initialization \214le)2.5 E F3 -.548(AU)72 554.4 S(THORS).548 E F0
+(Brian F)108 566.4 Q(ox, Free Softw)-.15 E(are F)-.1 E(oundation)-.15 E
+(bfox@gnu.or)108 578.4 Q(g)-.18 E(Chet Rame)108 595.2 Q 1.3 -.65(y, C)
+-.15 H(ase W).65 E(estern Reserv)-.8 E 2.5(eU)-.15 G(ni)-2.5 E -.15(ve)
+-.25 G(rsity).15 E(chet@po.CWR)108 607.2 Q(U.Edu)-.4 E F3 -.11(BU)72 624
+S 2.738(GR).11 G(EPOR)-2.738 E(TS)-.438 E F0 .567(If you \214nd a b)108
+636 R .568(ug in)-.2 F F1(bash,)3.068 E F0 .568(you should report it.)
+3.068 F .568(But \214rst, you should mak)5.568 F 3.068(es)-.1 G .568
+(ure that it really is a b)-3.068 F .568(ug, and)-.2 F 5.626
+(that it appears in the latest v)108 648 R 5.625(ersion of)-.15 F F1
+(bash)8.125 E F0 10.625(.T)C 5.625(he latest v)-10.625 F 5.625
+(ersion is al)-.15 F -.1(wa)-.1 G 5.625(ys a).1 F -.25(va)-.2 G 5.625
+(ilable from).25 F F4(ftp://ftp.gnu.or)108 660 Q(g/pub/bash/)-.37 E F0
+(.)A .41(Once you ha)108 676.8 R .71 -.15(ve d)-.2 H .41
+(etermined that a b).15 F .41(ug actually e)-.2 F .411(xists, use the)
+-.15 F F4(bashb)3.181 E(ug)-.2 E F0 .411(command to submit a b)3.131 F
+.411(ug report.)-.2 F(If)5.411 E .595(you ha)108 688.8 R .895 -.15
+(ve a \214)-.2 H .595(x, you are encouraged to mail that as well!).15 F
+.594(Suggestions and `philosophical' b)5.595 F .594(ug reports may)-.2 F
+(be mailed to)108 700.8 Q F4 -.2(bu)2.5 G(g-bash@gnu.or).2 E(g)-.37 E F0
+(or posted to the Usenet ne)2.5 E(wsgroup)-.25 E F1(gnu.bash.b)2.5 E(ug)
+-.2 E F0(.)A(ALL b)108 717.6 Q(ug reports should include:)-.2 E
+(GNU Bash-3.1-beta1)72 768 Q(2005 Aug 27)122.91 E(63)197.89 E 0 Cg EP
 %%Page: 64 65
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E/F1 10/Palatino-Italic@0 SF(~/.bash_pr)109.666 84 Q(o\214le)-.18 E
-/F2 10/Palatino-Roman@0 SF
-(The personal initialization \214le, executed for login shells)144 96 Q
-F1(~/.bashr)109.666 108 Q(c)-.18 E F2(The individual per)144 120 Q
-(-interactive-shell startup \214le)-.18 E F1(~/.bash_logout)109.666 132
-Q F2(The individual login shell cleanup \214le, executed when a login s\
-hell exits)144 144 Q F1(~/.inputr)109.666 156 Q(c)-.18 E F2(Individual)
-144 168 Q F1 -.18(re)2.5 G(adline).18 E F2(initialization \214le)2.5 E
-/F3 10.95/Palatino-Bold@0 SF(AUTHORS)72 184.8 Q F2(Brian Fox, Fr)108
-196.8 Q(ee Softwar)-.18 E 2.5(eF)-.18 G(oundation)-2.5 E(bfox@gnu.or)108
-208.8 Q(g)-.18 E(Chet Ramey)108 225.6 Q 2.5(,C)-1.11 G(ase W)-2.5 E
-(estern Reserve University)-.92 E(chet@po.CWRU.Edu)108 237.6 Q F3
-(BUG REPOR)72 254.4 Q(TS)-.602 E F2 .481(If you \214nd a bug in)108
-266.4 R/F4 10/Palatino-Bold@0 SF(bash,)2.981 E F2 .481(you should r)
-2.981 F .481(eport it.)-.18 F .481(But \214rst, you should make sur)
-5.481 F 2.981(et)-.18 G .481(hat it r)-2.981 F .481(eally is a)-.18 F
-.459(bug, and that it appears in the latest version of)108 278.4 R F4
-(bash)2.959 E F2 5.459(.T)C .459
-(he latest version is always available fr)-5.459 F(om)-.18 E F1
-(ftp://ftp.gnu.or)108 290.4 Q(g/pub/bash/)-.18 E F2(.)A .558
-(Once you have determined that a bug actually exists, use the)108 307.2
-R F1(bashbug)3.188 E F2 .558(command to submit a bug)3.538 F -.18(re)108
-319.2 S 3.161(port. If).18 F .662(you have a \214x, you ar)3.161 F 3.162
-(ee)-.18 G .662(ncouraged to mail that as well!)-3.162 F .662
-(Suggestions and `philosophi-)5.662 F 3.731(cal' bug r)108 331.2 R 3.731
-(eports may be mailed to)-.18 F F1(bug-bash@gnu.or)6.231 E(g)-.18 E F2
-3.73(or posted to the Usenet newsgr)6.231 F(oup)-.18 E F4(gnu.bash.bug)
-108 343.2 Q F2(.)A(ALL bug r)108 360 Q(eports should include:)-.18 E
-(The version number of)108 376.8 Q F4(bash)2.5 E F2(The har)108 388.8 Q
-(dwar)-.18 E 2.5(ea)-.18 G(nd operating system)-2.5 E
-(The compiler used to compile)108 400.8 Q 2.5(Ad)108 412.8 S
-(escription of the bug behaviour)-2.5 E 2.5(As)108 424.8 S
-(hort script or `r)-2.5 E(ecipe' which exer)-.18 E(cises the bug)-.18 E
-F1(bashbug)108.13 441.6 Q F2 1.316(inserts the \214rst thr)4.296 F 1.316
-(ee items automatically into the template it pr)-.18 F 1.316
-(ovides for \214ling a bug)-.18 F -.18(re)108 453.6 S(port.).18 E 7.698
-(Comments and bug r)108 470.4 R 7.697
-(eports concerning this manual page should be dir)-.18 F 7.697(ected to)
--.18 F F1(chet@po.CWRU.Edu)108 482.4 Q F2(.).06 E F3(BUGS)72 499.2 Q F2
-(It's too big and too slow)108 511.2 Q(.)-.92 E(Ther)108 528 Q 2.832(ea)
--.18 G .692 -.18(re s)-2.832 H .332(ome subtle dif).18 F(fer)-.18 E .332
-(ences between)-.18 F F4(bash)2.832 E F2 .332
-(and traditional versions of)2.832 F F4(sh)2.832 E F2 2.832(,m)C .333
-(ostly because of)-2.832 F(the)108 540 Q/F5 9/Palatino-Bold@0 SF(POSIX)
-2.5 E F2(speci\214cation.)2.25 E(Aliases ar)108 556.8 Q 2.5(ec)-.18 G
-(onfusing in some uses.)-2.5 E(Shell builtin commands and functions ar)
-108 573.6 Q 2.5(en)-.18 G(ot stoppable/r)-2.5 E(estartable.)-.18 E .463
-(Compound commands and command sequences of the form `a ; b ; c' ar)108
-590.4 R 2.962(en)-.18 G .462(ot handled gracefully)-2.962 F 1.256
-(when pr)108 602.4 R 1.257(ocess suspension is attempted.)-.18 F 1.257
-(When a pr)6.257 F 1.257(ocess is stopped, the shell immediately exe-)
--.18 F .374(cutes the next command in the sequence.)108 614.4 R .373
-(It suf)5.373 F .373(\214ces to place the sequence of commands between)
--.18 F(par)108 626.4 Q(entheses to for)-.18 E
-(ce it into a subshell, which may be stopped as a unit.)-.18 E .95
-(Commands inside of)108 643.2 R F4($\()3.451 E F2(...)A F4(\))A F2 .951
-(command substitution ar)3.451 F 3.451(en)-.18 G .951
-(ot parsed until substitution is attempted.)-3.451 F 2.132
-(This will delay err)108 655.2 R 2.132(or r)-.18 F 2.131
-(eporting until some time after the command is enter)-.18 F 4.631
-(ed. For)-.18 F(example,)4.631 E .43(unmatched par)108 667.2 R .431
-(entheses, even inside shell comments, will r)-.18 F .431(esult in err)
--.18 F .431(or messages while the con-)-.18 F(str)108 679.2 Q
-(uct is being r)-.08 E(ead.)-.18 E
-(Array variables may not \(yet\) be exported.)108 696 Q F0
-(GNU Bash-3.1-de)72 768 Q -.15(ve)-.25 G 123.59(l2).15 G(005 Mar 15)
--123.59 E(64)198.17 E 0 Cg EP
+-.35 E(The v)108 84 Q(ersion number of)-.15 E/F1 10/Times-Bold@0 SF
+(bash)2.5 E F0(The hardw)108 96 Q(are and operating system)-.1 E
+(The compiler used to compile)108 108 Q 2.5(Ad)108 120 S
+(escription of the b)-2.5 E(ug beha)-.2 E(viour)-.2 E 2.5(As)108 132 S
+(hort script or `recipe' which e)-2.5 E -.15(xe)-.15 G(rcises the b).15
+E(ug)-.2 E/F2 10/Times-Italic@0 SF(bashb)108.27 148.8 Q(ug)-.2 E F0
+(inserts the \214rst three items automatically into the template it pro)
+2.72 E(vides for \214ling a b)-.15 E(ug report.)-.2 E(Comments and b)108
+165.6 Q(ug reports concerning this manual page should be directed to)-.2
+E F2 -.15(ch)2.5 G(et@po.CWR).15 E -.25(U.)-.4 G(Edu).25 E F0(.).25 E/F3
+10.95/Times-Bold@0 SF -.11(BU)72 182.4 S(GS).11 E F0(It')108 194.4 Q 2.5
+(st)-.55 G(oo big and too slo)-2.5 E -.65(w.)-.25 G 1.868
+(There are some subtle dif)108 211.2 R 1.868(ferences between)-.25 F F1
+(bash)4.369 E F0 1.869(and traditional v)4.369 F 1.869(ersions of)-.15 F
+F1(sh)4.369 E F0 4.369(,m)C 1.869(ostly because of the)-4.369 F/F4 9
+/Times-Bold@0 SF(POSIX)108 223.2 Q F0(speci\214cation.)2.25 E
+(Aliases are confusing in some uses.)108 240 Q(Shell b)108 256.8 Q
+(uiltin commands and functions are not stoppable/restartable.)-.2 E
+1.315(Compound commands and command sequences of the form `a ; b ; c' a\
+re not handled gracefully when)108 273.6 R .389
+(process suspension is attempted.)108 285.6 R .389
+(When a process is stopped, the shell immediately e)5.389 F -.15(xe)-.15
+G .39(cutes the ne).15 F .39(xt com-)-.15 F .193(mand in the sequence.)
+108 297.6 R .192(It suf)5.193 F .192(\214ces to place the sequence of c\
+ommands between parentheses to force it into a)-.25 F
+(subshell, which may be stopped as a unit.)108 309.6 Q .955
+(Commands inside of)108 326.4 R F1($\()3.455 E F0(...)A F1(\))A F0 .956
+(command substitution are not parsed until substitution is attempted.)
+3.455 F .956(This will)5.956 F .567
+(delay error reporting until some time after the command is entered.)108
+338.4 R -.15(Fo)5.567 G 3.067(re).15 G .567
+(xample, unmatched parentheses,)-3.217 F -2.15 -.25(ev e)108 350.4 T 2.5
+(ni).25 G(nside shell comments, will result in error messages while the\
+ construct is being read.)-2.5 E(Array v)108 367.2 Q
+(ariables may not \(yet\) be e)-.25 E(xported.)-.15 E
+(GNU Bash-3.1-beta1)72 768 Q(2005 Aug 27)122.91 E(64)197.89 E 0 Cg EP
 %%Trailer
 end
 %%EOF
index b991b41..6f64c5f 100644 (file)
 @xrdef{Bash Builtins-pg}{39}
 @xrdef{Bash Builtins-snt}{Section@tie 4.2}
 @xrdef{The Set Builtin-title}{The Set Builtin}
-@xrdef{The Set Builtin-pg}{50}
+@xrdef{The Set Builtin-pg}{51}
 @xrdef{The Set Builtin-snt}{Section@tie 4.3}
 @xrdef{Special Builtins-title}{Special Builtins}
 @xrdef{Special Builtins-pg}{54}
index 86cb810..a2212c6 100644 (file)
@@ -1,7 +1,7 @@
 \entry{:}{33}{\code {:}}
 \entry{.}{33}{\code {.}}
 \entry{break}{33}{\code {break}}
-\entry{cd}{33}{\code {cd}}
+\entry{cd}{34}{\code {cd}}
 \entry{continue}{34}{\code {continue}}
 \entry{eval}{34}{\code {eval}}
 \entry{exec}{34}{\code {exec}}
 \entry{command}{41}{\code {command}}
 \entry{declare}{41}{\code {declare}}
 \entry{echo}{42}{\code {echo}}
-\entry{enable}{42}{\code {enable}}
+\entry{enable}{43}{\code {enable}}
 \entry{help}{43}{\code {help}}
 \entry{let}{43}{\code {let}}
 \entry{local}{43}{\code {local}}
-\entry{logout}{43}{\code {logout}}
+\entry{logout}{44}{\code {logout}}
 \entry{printf}{44}{\code {printf}}
 \entry{read}{44}{\code {read}}
 \entry{shopt}{45}{\code {shopt}}
 \entry{source}{49}{\code {source}}
 \entry{type}{49}{\code {type}}
 \entry{typeset}{49}{\code {typeset}}
-\entry{ulimit}{49}{\code {ulimit}}
+\entry{ulimit}{50}{\code {ulimit}}
 \entry{unalias}{50}{\code {unalias}}
-\entry{set}{50}{\code {set}}
+\entry{set}{51}{\code {set}}
 \entry{dirs}{75}{\code {dirs}}
 \entry{popd}{76}{\code {popd}}
 \entry{pushd}{76}{\code {pushd}}
index 6ad3a50..dc07299 100644 (file)
@@ -13,7 +13,7 @@
 \entry {\code {builtin}}{40}
 \initial {C}
 \entry {\code {caller}}{40}
-\entry {\code {cd}}{33}
+\entry {\code {cd}}{34}
 \entry {\code {command}}{41}
 \entry {\code {compgen}}{109}
 \entry {\code {complete}}{109}
@@ -24,7 +24,7 @@
 \entry {\code {disown}}{85}
 \initial {E}
 \entry {\code {echo}}{42}
-\entry {\code {enable}}{42}
+\entry {\code {enable}}{43}
 \entry {\code {eval}}{34}
 \entry {\code {exec}}{34}
 \entry {\code {exit}}{34}
@@ -45,7 +45,7 @@
 \initial {L}
 \entry {\code {let}}{43}
 \entry {\code {local}}{43}
-\entry {\code {logout}}{43}
+\entry {\code {logout}}{44}
 \initial {P}
 \entry {\code {popd}}{76}
 \entry {\code {printf}}{44}
@@ -56,7 +56,7 @@
 \entry {\code {readonly}}{36}
 \entry {\code {return}}{36}
 \initial {S}
-\entry {\code {set}}{50}
+\entry {\code {set}}{51}
 \entry {\code {shift}}{36}
 \entry {\code {shopt}}{45}
 \entry {\code {source}}{49}
@@ -68,7 +68,7 @@
 \entry {\code {type}}{49}
 \entry {\code {typeset}}{49}
 \initial {U}
-\entry {\code {ulimit}}{49}
+\entry {\code {ulimit}}{50}
 \entry {\code {umask}}{38}
 \entry {\code {unalias}}{50}
 \entry {\code {unset}}{39}
index 4fc3830..1aedecc 100644 (file)
Binary files a/doc/bashref.dvi and b/doc/bashref.dvi differ
index af584e5..6bb2b1c 100644 (file)
@@ -1,6 +1,6 @@
 <HTML>
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<!-- Created on March, 15  2005 by texi2html 1.64 -->
+<!-- Created on October, 3  2005 by texi2html 1.64 -->
 <!-- 
 Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
             Karl Berry  <karl@freefriends.org>
@@ -33,12 +33,12 @@ Send bugs and suggestions to <texi2html@mathematik.uni-kl.de>
 <H1>Bash Reference Manual</H1></P><P>
 
 This text is a brief description of the features that are present in
-the Bash shell (version 3.1-devel, 15 March 2005)..
+the Bash shell (version 3.1-beta1, 5 September 2005)..
 </P><P>
 
-This is Edition 3.1-devel, last updated 15 March 2005,
+This is Edition 3.1-beta1, last updated 5 September 2005,
 of <CITE>The GNU Bash Reference Manual</CITE>,
-for <CODE>Bash</CODE>, Version 3.1-devel.
+for <CODE>Bash</CODE>, Version 3.1-beta1.
 </P><P>
 
 Bash contains features that appear in other popular shells, and some
@@ -57,97 +57,28 @@ reference on shell behavior.
 
 <BLOCKQUOTE><TABLE BORDER=0 CELLSPACING=0> 
 <TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC1">1. Introduction</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">An introduction to the shell.</TD></TR>
-</TABLE>
-
-<br>
-<TABLE BORDER=0 CELLSPACING=0>
 <TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC4">2. Definitions</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Some definitions used in the rest of this
                                manual.</TD></TR>
-</TABLE>
-
-<br>
-<TABLE BORDER=0 CELLSPACING=0>
 <TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC5">3. Basic Shell Features</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">The shell "building blocks".</TD></TR>
-</TABLE>
-
-<br>
-<TABLE BORDER=0 CELLSPACING=0>
 <TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC56">4. Shell Builtin Commands</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Commands that are a part of the shell.</TD></TR>
-</TABLE>
-
-<br>
-<TABLE BORDER=0 CELLSPACING=0>
 <TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC61">5. Shell Variables</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Variables used or set by Bash.</TD></TR>
-</TABLE>
-
-<br>
-<TABLE BORDER=0 CELLSPACING=0>
 <TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC64">6. Bash Features</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Features found only in Bash.</TD></TR>
-</TABLE>
-
-<br>
-<TABLE BORDER=0 CELLSPACING=0>
-<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC87">7. Job Control</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">A chapter describing what job control is
-                               and how Bash allows you to use it.</TD></TR>
-</TABLE>
-
-<br>
-<TABLE BORDER=0 CELLSPACING=0>
-<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC115">9. Using History Interactively</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Chapter dealing with history expansion
-                               rules.</TD></TR>
-</TABLE>
-
-<br>
-<TABLE BORDER=0 CELLSPACING=0>
+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC87">7. Job Control</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">What job control is and how Bash allows you
+                               to use it.</TD></TR>
+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC115">9. Using History Interactively</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Command History Expansion</TD></TR>
 <TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC91">8. Command Line Editing</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Chapter describing the command line
                                editing features.</TD></TR>
-</TABLE>
-
-<br>
-<TABLE BORDER=0 CELLSPACING=0>
 <TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC122">10. Installing Bash</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">How to build and install Bash on your system.</TD></TR>
-</TABLE>
-
-<br>
-<TABLE BORDER=0 CELLSPACING=0>
 <TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC131">A. Reporting Bugs</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">How to report bugs in Bash.</TD></TR>
-</TABLE>
-
-<br>
-<TABLE BORDER=0 CELLSPACING=0>
 <TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC132">B. Major Differences From The Bourne Shell</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">A terse list of the differences
                                                between Bash and historical
                                                versions of /bin/sh.</TD></TR>
-</TABLE>
-
-<br>
-<TABLE BORDER=0 CELLSPACING=0>
 <TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC134">C. Copying This Manual</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Copying this manual.</TD></TR>
-</TABLE>
-
-<br>
-<TABLE BORDER=0 CELLSPACING=0>
 <TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC137">Index of Shell Builtin Commands</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Index of Bash builtin commands.</TD></TR>
-</TABLE>
-
-<br>
-<TABLE BORDER=0 CELLSPACING=0>
 <TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC138">Index of Shell Reserved Words</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Index of Bash reserved words.</TD></TR>
-</TABLE>
-
-<br>
-<TABLE BORDER=0 CELLSPACING=0>
 <TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC139">Parameter and Variable Index</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Quick reference helps you find the
                                variable you want.</TD></TR>
-</TABLE>
-
-<br>
-<TABLE BORDER=0 CELLSPACING=0>
 <TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC140">Function Index</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Index of bindable Readline functions.</TD></TR>
-</TABLE>
-
-<br>
-<TABLE BORDER=0 CELLSPACING=0>
 <TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC141">Concept Index</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">General index for concepts described in
                                this manual.</TD></TR>
 </TABLE></BLOCKQUOTE>
@@ -171,10 +102,6 @@ reference on shell behavior.
 <!--docid::SEC1::-->
 <BLOCKQUOTE><TABLE BORDER=0 CELLSPACING=0> 
 <TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC2">1.1 What is Bash?</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">A short description of Bash.</TD></TR>
-</TABLE>
-
-<br>
-<TABLE BORDER=0 CELLSPACING=0>
 <TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC3">1.2 What is a shell?</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">A brief introduction to shells.</TD></TR>
 </TABLE></BLOCKQUOTE>
 <P>
@@ -509,15 +436,7 @@ and to named files, and how the shell executes commands.
 <!--docid::SEC6::-->
 <BLOCKQUOTE><TABLE BORDER=0 CELLSPACING=0> 
 <TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC7">3.1.1 Shell Operation</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">The basic operation of the shell.</TD></TR>
-</TABLE>
-
-<br>
-<TABLE BORDER=0 CELLSPACING=0>
 <TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC8">3.1.2 Quoting</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">How to remove the special meaning from characters.</TD></TR>
-</TABLE>
-
-<br>
-<TABLE BORDER=0 CELLSPACING=0>
 <TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC14">3.1.3 Comments</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">How to specify comments.</TD></TR>
 </TABLE></BLOCKQUOTE>
 <P>
@@ -628,10 +547,6 @@ status (see section <A HREF="bashref.html#SEC53">3.7.5 Exit Status</A>).
 <TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC11">3.1.2.3 Double Quotes</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">How to suppress most of the interpretation of a
                        sequence of characters.</TD></TR>
 <TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC12">3.1.2.4 ANSI-C Quoting</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">How to expand ANSI-C sequences in quoted strings.</TD></TR>
-</TABLE>
-
-<br>
-<TABLE BORDER=0 CELLSPACING=0>
 <TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC13">3.1.2.5 Locale-Specific Translation</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">How to translate strings into different languages.</TD></TR>
 </TABLE></BLOCKQUOTE>
 <P>
@@ -3101,39 +3016,16 @@ is not specified.  If the file does not exist, it is created.
 <BLOCKQUOTE><TABLE BORDER=0 CELLSPACING=0> 
 <TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC49">3.7.1 Simple Command Expansion</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">How Bash expands simple commands before
                                executing them.</TD></TR>
-</TABLE>
-
-<br>
-<TABLE BORDER=0 CELLSPACING=0>
 <TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC50">3.7.2 Command Search and Execution</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">How Bash finds commands and runs them.</TD></TR>
-</TABLE>
-
-<br>
-<TABLE BORDER=0 CELLSPACING=0>
 <TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC51">3.7.3 Command Execution Environment</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">The environment in which Bash
                                        executes commands that are not
                                        shell builtins.</TD></TR>
-</TABLE>
-
-<br>
-<TABLE BORDER=0 CELLSPACING=0>
 <TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC52">3.7.4 Environment</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">The environment given to a command.</TD></TR>
-</TABLE>
-
-<br>
-<TABLE BORDER=0 CELLSPACING=0>
 <TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC53">3.7.5 Exit Status</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">The status returned by commands and how Bash
                        interprets it.</TD></TR>
-</TABLE>
-
-<br>
-<TABLE BORDER=0 CELLSPACING=0>
 <TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC54">3.7.6 Signals</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">What happens when Bash or a command it runs
                        receives a signal.</TD></TR>
-</TABLE>
-
-<br>
-</BLOCKQUOTE>
+</TABLE></BLOCKQUOTE>
 <P>
 
 <A NAME="Simple Command Expansion"></A>
@@ -3705,6 +3597,8 @@ Many of the builtins have been extended by POSIX or Bash.
 Unless otherwise noted, each builtin command documented as accepting
 options preceded by <SAMP>`-'</SAMP> accepts <SAMP>`--'</SAMP>
 to signify the end of the options.
+For example, the <CODE>:</CODE>, <CODE>true</CODE>, <CODE>false</CODE>, and <CODE>test</CODE>
+builtins do not accept options.
 </P><P>
 
 <A NAME="Bourne Shell Builtins"></A>
@@ -4006,6 +3900,8 @@ Evaluate a conditional expression <VAR>expr</VAR>.
 Each operator and operand must be a separate argument.
 Expressions are composed of the primaries described below in
 <A HREF="bashref.html#SEC78">6.4 Bash Conditional Expressions</A>.
+<CODE>test</CODE> does not accept any options, nor does it accept and ignore
+an argument of <SAMP>`--'</SAMP> as signifying the end of options.
 <P>
 
 When the <CODE>[</CODE> form is used, the last argument to the command must
@@ -4459,6 +4355,9 @@ even on systems where they are interpreted by default.
 The <CODE>xpg_echo</CODE> shell option may be used to
 dynamically determine whether or not <CODE>echo</CODE> expands these
 escape characters by default.
+<CODE>echo</CODE> does not interpret <SAMP>`--'</SAMP> to mean the end of options.
+<P>
+
 <CODE>echo</CODE> interprets the following escape sequences:
 <DL COMPACT>
 <DT><CODE>\a</CODE>
@@ -6387,8 +6286,15 @@ not arrive.
 </P><P>
 
 <A NAME="IDX266"></A>
-<DT><CODE>UID</CODE>
+<DT><CODE>TMPDIR</CODE>
 <DD><A NAME="IDX267"></A>
+If set, Bash uses its value as the name of a directory in which
+Bash creates temporary files for the shell's use.
+<P>
+
+<A NAME="IDX268"></A>
+<DT><CODE>UID</CODE>
+<DD><A NAME="IDX269"></A>
 The numeric real user id of the current user.  This variable is readonly.
 <P>
 
@@ -6608,12 +6514,12 @@ Any arguments after the <CODE>--</CODE> are treated as filenames and arguments.
 </DL>
 <P>
 
-<A NAME="IDX268"></A>
+<A NAME="IDX270"></A>
 A <EM>login</EM> shell is one whose first character of argument zero is
 <SAMP>`-'</SAMP>, or one invoked with the <SAMP>`--login'</SAMP> option.
 </P><P>
 
-<A NAME="IDX269"></A>
+<A NAME="IDX271"></A>
 An <EM>interactive</EM> shell is one started without non-option arguments,
 unless <SAMP>`-s'</SAMP> is specified,
 without specifying the <SAMP>`-c'</SAMP> option, and whose input and output are both
@@ -7006,6 +6912,8 @@ shell to exit.
 <LI>
 When running in POSIX mode, a special builtin returning an error
 status will not cause the shell to exit (see section <A HREF="bashref.html#SEC86">6.11 Bash POSIX Mode</A>).
+<P>
+
 <LI>
 A failed <CODE>exec</CODE> will not cause the shell to exit
 (see section <A HREF="bashref.html#SEC57">4.1 Bourne Shell Builtins</A>).
@@ -7516,6 +7424,8 @@ referencing element zero.
 The <CODE>unset</CODE> builtin is used to destroy arrays.
 <CODE>unset</CODE> <VAR>name</VAR>[<VAR>subscript</VAR>]
 destroys the array element at index <VAR>subscript</VAR>.
+Care must be taken to avoid unwanted side effects caused by filename
+generation.
 <CODE>unset</CODE> <VAR>name</VAR>, where <VAR>name</VAR> is an array, removes the
 entire array. A subscript of <SAMP>`*'</SAMP> or <SAMP>`@'</SAMP> also removes the
 entire array.
@@ -7589,7 +7499,7 @@ as the value of the <CODE>DIRSTACK</CODE> shell variable.
 <DL COMPACT>
 
 <DT><CODE>dirs</CODE>
-<DD><A NAME="IDX270"></A>
+<DD><A NAME="IDX272"></A>
 <TABLE><tr><td>&nbsp;</td><td class=example><pre>dirs [+<VAR>N</VAR> | -<VAR>N</VAR>] [-clpv]
 </pre></td></tr></table>Display the list of currently remembered directories.  Directories
 are added to the list with the <CODE>pushd</CODE> command; the
@@ -7618,7 +7528,7 @@ line, prefixing each entry with its index in the stack.
 <P>
 
 <DT><CODE>popd</CODE>
-<DD><A NAME="IDX271"></A>
+<DD><A NAME="IDX273"></A>
 <TABLE><tr><td>&nbsp;</td><td class=example><pre>popd [+<VAR>N</VAR> | -<VAR>N</VAR>] [-n]
 </pre></td></tr></table><P>
 
@@ -7642,7 +7552,7 @@ from the stack, so that only the stack is manipulated.
 </DL>
 <P>
 
-<A NAME="IDX272"></A>
+<A NAME="IDX274"></A>
 <DT><CODE>pushd</CODE>
 <DD><TABLE><tr><td>&nbsp;</td><td class=example><pre>pushd [<VAR>dir</VAR> | <VAR>+N</VAR> | <VAR>-N</VAR>] [-n]
 </pre></td></tr></table><P>
@@ -7900,6 +7810,12 @@ example, <CODE>SIGTSTP</CODE>.
 <P>
 
 <LI>
+The <CODE>bg</CODE> builtin uses the required format to describe each job placed
+in the background, which does not include an indication of whether the job
+is the current or previous job.
+<P>
+
+<LI>
 Reserved words appearing in a context where reserved words are recognized
 do not undergo alias expansion.
 <P>
@@ -7964,7 +7880,7 @@ causes a fatal syntax error in non-interactive shells.
 <P>
 
 <LI>
-POSIX 1003.2 `special' builtins are found before shell functions
+POSIX 1003.2 special builtins are found before shell functions
 during command lookup.
 <P>
 
@@ -8078,6 +7994,12 @@ When the <CODE>pwd</CODE> builtin is supplied the <SAMP>`-P'</SAMP> option, it r
 <P>
 
 <LI>
+The <CODE>pwd</CODE> builtin verifies that the value it prints is the same as the
+current directory, even if it is not asked to check the file system with the
+<SAMP>`-P'</SAMP> option.
+<P>
+
+<LI>
 When listing the history, the <CODE>fc</CODE> builtin does not include an
 indication of whether or not a history entry has been modified.
 <P>
@@ -8093,6 +8015,12 @@ file if it is the only so-named file found in <CODE>$PATH</CODE>.
 <P>
 
 <LI>
+The <CODE>vi</CODE> editing mode will invoke the <CODE>vi</CODE> editor directly when
+the <SAMP>`v'</SAMP> command is run, instead of checking <CODE>$FCEDIT</CODE> and
+<CODE>$EDITOR</CODE>.
+<P>
+
+<LI>
 When the <CODE>xpg_echo</CODE> option is enabled, Bash does not attempt to interpret
 any arguments to <CODE>echo</CODE> as options.  Each argument is displayed, after
 escape characters are converted.
@@ -8101,32 +8029,32 @@ escape characters are converted.
 </OL>
 <P>
 
-There is other POSIX 1003.2 behavior that Bash does not implement.
+There is other POSIX 1003.2 behavior that Bash does not implement by
+default even when in POSIX mode.
 Specifically:
 </P><P>
 
 <OL>
-<LI>
-Assignment statements affect the execution environment of all
-builtins, not just special ones.
-<P>
 
 <LI>
-When a subshell is created to execute a shell script with execute permission,
-but without a leading <SAMP>`#!'</SAMP>, Bash sets <CODE>$0</CODE> to the full pathname of
-the script as found by searching <CODE>$PATH</CODE>, rather than the command as
-typed by the user.
+The <CODE>fc</CODE> builtin checks <CODE>$EDITOR</CODE> as a program to edit history
+entries if <CODE>FCEDIT</CODE> is unset, rather than defaulting directly to
+<CODE>ed</CODE>.  <CODE>fc</CODE> uses <CODE>ed</CODE> if <CODE>EDITOR</CODE> is unset.
 <P>
 
 <LI>
-When using <SAMP>`.'</SAMP> to source a shell script found in <CODE>$PATH</CODE>, bash
-checks execute permission bits rather than read permission bits, just as
-if it were searching for a command.
+As noted above, Bash requires the <CODE>xpg_echo</CODE> option to be enabled for
+the <CODE>echo</CODE> builtin to be fully conformant.
 <P>
 
 </OL>
 <P>
 
+Bash can be configured to be POSIX-conformant by default, by specifying
+the <SAMP>`--enable-strict-posix-default'</SAMP> to <CODE>configure</CODE> when building
+(see section <A HREF="bashref.html#SEC130">10.8 Optional Features</A>).
+</P><P>
+
 <A NAME="Job Control"></A>
 <HR SIZE="6">
 <A NAME="SEC87"></A>
@@ -8296,19 +8224,19 @@ Bash does not print another warning, and the stopped jobs are terminated.
 <DL COMPACT>
 
 <DT><CODE>bg</CODE>
-<DD><A NAME="IDX273"></A>
+<DD><A NAME="IDX275"></A>
 <TABLE><tr><td>&nbsp;</td><td class=example><pre>bg [<VAR>jobspec</VAR> <small>...</small>]
 </pre></td></tr></table>Resume each suspended job <VAR>jobspec</VAR> in the background, as if it
 had been started with <SAMP>`&#38;'</SAMP>.
 If <VAR>jobspec</VAR> is not supplied, the current job is used.
 The return status is zero unless it is run when job control is not
-enabled, or, when run with job control enabled, if the last
-<VAR>jobspec</VAR> was not found or the last <VAR>jobspec</VAR> specifies a job
+enabled, or, when run with job control enabled, any
+<VAR>jobspec</VAR> was not found or specifies a job
 that was started without job control.
 <P>
 
 <DT><CODE>fg</CODE>
-<DD><A NAME="IDX274"></A>
+<DD><A NAME="IDX276"></A>
 <TABLE><tr><td>&nbsp;</td><td class=example><pre>fg [<VAR>jobspec</VAR>]
 </pre></td></tr></table>Resume the job <VAR>jobspec</VAR> in the foreground and make it the current job.
 If <VAR>jobspec</VAR> is not supplied, the current job is used.
@@ -8319,7 +8247,7 @@ job control enabled, <VAR>jobspec</VAR> does not specify a valid job or
 <P>
 
 <DT><CODE>jobs</CODE>
-<DD><A NAME="IDX275"></A>
+<DD><A NAME="IDX277"></A>
 <TABLE><tr><td>&nbsp;</td><td class=example><pre>jobs [-lnprs] [<VAR>jobspec</VAR>]
 jobs -x <VAR>command</VAR> [<VAR>arguments</VAR>]
 </pre></td></tr></table><P>
@@ -8364,7 +8292,7 @@ passing it <VAR>argument</VAR>s, returning its exit status.
 </P><P>
 
 <DT><CODE>kill</CODE>
-<DD><A NAME="IDX276"></A>
+<DD><A NAME="IDX278"></A>
 <TABLE><tr><td>&nbsp;</td><td class=example><pre>kill [-s <VAR>sigspec</VAR>] [-n <VAR>signum</VAR>] [-<VAR>sigspec</VAR>] <VAR>jobspec</VAR> or <VAR>pid</VAR>
 kill -l [<VAR>exit_status</VAR>]
 </pre></td></tr></table>Send a signal specified by <VAR>sigspec</VAR> or <VAR>signum</VAR> to the process
@@ -8384,7 +8312,7 @@ or non-zero if an error occurs or an invalid option is encountered.
 <P>
 
 <DT><CODE>wait</CODE>
-<DD><A NAME="IDX277"></A>
+<DD><A NAME="IDX279"></A>
 <TABLE><tr><td>&nbsp;</td><td class=example><pre>wait [<VAR>jobspec</VAR> or <VAR>pid</VAR> ...]
 </pre></td></tr></table>Wait until the child process specified by each process ID <VAR>pid</VAR>
 or job specification <VAR>jobspec</VAR> exits and return the exit status of the
@@ -8397,7 +8325,7 @@ of the shell, the return status is 127.
 <P>
 
 <DT><CODE>disown</CODE>
-<DD><A NAME="IDX278"></A>
+<DD><A NAME="IDX280"></A>
 <TABLE><tr><td>&nbsp;</td><td class=example><pre>disown [-ar] [-h] [<VAR>jobspec</VAR> <small>...</small>]
 </pre></td></tr></table>Without options, each <VAR>jobspec</VAR> is removed from the table of
 active jobs.
@@ -8412,7 +8340,7 @@ argument restricts operation to running jobs.
 <P>
 
 <DT><CODE>suspend</CODE>
-<DD><A NAME="IDX279"></A>
+<DD><A NAME="IDX281"></A>
 <TABLE><tr><td>&nbsp;</td><td class=example><pre>suspend [-f]
 </pre></td></tr></table>Suspend the execution of this shell until it receives a
 <CODE>SIGCONT</CODE> signal.  The <SAMP>`-f'</SAMP> option means to suspend
@@ -8447,9 +8375,9 @@ supplied process IDs.
 
 <DL COMPACT>
 
-<A NAME="IDX280"></A>
+<A NAME="IDX282"></A>
 <DT><CODE>auto_resume</CODE>
-<DD><A NAME="IDX281"></A>
+<DD><A NAME="IDX283"></A>
 This variable controls how the shell interacts with the user and
 job control.  If this variable exists then single word simple
 commands without redirections are treated as candidates for resumption
@@ -8471,7 +8399,7 @@ analogous to the <SAMP>`%'</SAMP> job ID.
 </DL>
 <P>
 
-<A NAME="IDX282"></A>
+<A NAME="IDX284"></A>
 </P><P>
 
 <A NAME="Command Line Editing"></A>
@@ -8735,8 +8663,8 @@ operate on characters while meta keystrokes operate on words.
 <!--docid::SEC96::-->
 <P>
 
-<A NAME="IDX283"></A>
-<A NAME="IDX284"></A>
+<A NAME="IDX285"></A>
+<A NAME="IDX286"></A>
 </P><P>
 
 <EM>Killing</EM> text means to delete the text from the line, but to save
@@ -8756,7 +8684,7 @@ that when you yank it back, you get it all.  The kill
 ring is not line specific; the text that you killed on a previously
 typed line is available to be yanked back later, when you are typing
 another line.
-<A NAME="IDX285"></A>
+<A NAME="IDX287"></A>
 </P><P>
 
 Here is the list of commands for killing text.
@@ -8997,7 +8925,12 @@ change from the default Emacs-like key binding to use
 </pre></td></tr></table></P><P>
 
 Variable names and values, where appropriate, are recognized without regard
-to case. 
+to case.  Unrecognized variable names are ignored.
+</P><P>
+
+Boolean variables (those that can be set to on or off) are set to on if
+the value is null or empty, <VAR>on</VAR> (case-insensitive), or 1.  Any other
+value results in the variable being set to off.
 </P><P>
 
 The <CODE>bind -V</CODE> command lists the current Readline variable names
@@ -9008,11 +8941,11 @@ A great deal of run-time behavior is changeable with the following
 variables.
 </P><P>
 
-<A NAME="IDX286"></A>
+<A NAME="IDX288"></A>
 <DL COMPACT>
 
 <DT><CODE>bell-style</CODE>
-<DD><A NAME="IDX287"></A>
+<DD><A NAME="IDX289"></A>
 Controls what happens when Readline wants to ring the terminal bell.
 If set to <SAMP>`none'</SAMP>, Readline never rings the bell.  If set to
 <SAMP>`visible'</SAMP>, Readline uses a visible bell if one is available.
@@ -9021,14 +8954,14 @@ the terminal's bell.
 <P>
 
 <DT><CODE>bind-tty-special-chars</CODE>
-<DD><A NAME="IDX288"></A>
+<DD><A NAME="IDX290"></A>
 If set to <SAMP>`on'</SAMP>, Readline attempts to bind the control characters  
 treated specially by the kernel's terminal driver to their Readline
 equivalents.
 <P>
 
 <DT><CODE>comment-begin</CODE>
-<DD><A NAME="IDX289"></A>
+<DD><A NAME="IDX291"></A>
 The string to insert at the beginning of the line when the
 <CODE>insert-comment</CODE> command is executed.  The default value
 is <CODE>"#"</CODE>.
@@ -9041,18 +8974,19 @@ The default value is <SAMP>`off'</SAMP>.
 <P>
 
 <DT><CODE>completion-query-items</CODE>
-<DD><A NAME="IDX290"></A>
+<DD><A NAME="IDX292"></A>
 The number of possible completions that determines when the user is
 asked whether the list of possibilities should be displayed.
 If the number of possible completions is greater than this value,
 Readline will ask the user whether or not he wishes to view
 them; otherwise, they are simply listed.
 This variable must be set to an integer value greater than or equal to 0.
+A negative value means Readline should never ask.
 The default limit is <CODE>100</CODE>.
 <P>
 
 <DT><CODE>convert-meta</CODE>
-<DD><A NAME="IDX291"></A>
+<DD><A NAME="IDX293"></A>
 If set to <SAMP>`on'</SAMP>, Readline will convert characters with the
 eighth bit set to an ASCII key sequence by stripping the eighth
 bit and prefixing an <KBD>ESC</KBD> character, converting them to a
@@ -9060,14 +8994,14 @@ meta-prefixed key sequence.  The default value is <SAMP>`on'</SAMP>.
 <P>
 
 <DT><CODE>disable-completion</CODE>
-<DD><A NAME="IDX292"></A>
+<DD><A NAME="IDX294"></A>
 If set to <SAMP>`On'</SAMP>, Readline will inhibit word completion.
 Completion  characters will be inserted into the line as if they had
 been mapped to <CODE>self-insert</CODE>.  The default is <SAMP>`off'</SAMP>.
 <P>
 
 <DT><CODE>editing-mode</CODE>
-<DD><A NAME="IDX293"></A>
+<DD><A NAME="IDX295"></A>
 The <CODE>editing-mode</CODE> variable controls which default set of
 key bindings is used.  By default, Readline starts up in Emacs editing
 mode, where the keystrokes are most similar to Emacs.  This variable can be
@@ -9075,26 +9009,27 @@ set to either <SAMP>`emacs'</SAMP> or <SAMP>`vi'</SAMP>.
 <P>
 
 <DT><CODE>enable-keypad</CODE>
-<DD><A NAME="IDX294"></A>
+<DD><A NAME="IDX296"></A>
 When set to <SAMP>`on'</SAMP>, Readline will try to enable the application
 keypad when it is called.  Some systems need this to enable the
 arrow keys.  The default is <SAMP>`off'</SAMP>.
 <P>
 
 <DT><CODE>expand-tilde</CODE>
-<DD><A NAME="IDX295"></A>
+<DD><A NAME="IDX297"></A>
 If set to <SAMP>`on'</SAMP>, tilde expansion is performed when Readline
 attempts word completion.  The default is <SAMP>`off'</SAMP>.
 <P>
 
-<A NAME="IDX296"></A>
+<DT><CODE>history-preserve-point</CODE>
+<DD><A NAME="IDX298"></A>
 If set to <SAMP>`on'</SAMP>, the history code attempts to place point at the
 same location on each history line retrieved with <CODE>previous-history</CODE>
-or <CODE>next-history</CODE>.
-</P><P>
+or <CODE>next-history</CODE>.  The default is <SAMP>`off'</SAMP>.
+<P>
 
 <DT><CODE>horizontal-scroll-mode</CODE>
-<DD><A NAME="IDX297"></A>
+<DD><A NAME="IDX299"></A>
 This variable can be set to either <SAMP>`on'</SAMP> or <SAMP>`off'</SAMP>.  Setting it
 to <SAMP>`on'</SAMP> means that the text of the lines being edited will scroll
 horizontally on a single screen line when they are longer than the width
@@ -9103,8 +9038,8 @@ this variable is set to <SAMP>`off'</SAMP>.
 <P>
 
 <DT><CODE>input-meta</CODE>
-<DD><A NAME="IDX298"></A>
-<A NAME="IDX299"></A>
+<DD><A NAME="IDX300"></A>
+<A NAME="IDX301"></A>
 If set to <SAMP>`on'</SAMP>, Readline will enable eight-bit input (it
 will not clear the eighth bit in the characters it reads),
 regardless of what the terminal claims it can support.  The
@@ -9113,7 +9048,7 @@ synonym for this variable.
 <P>
 
 <DT><CODE>isearch-terminators</CODE>
-<DD><A NAME="IDX300"></A>
+<DD><A NAME="IDX302"></A>
 The string of characters that should terminate an incremental search without
 subsequently executing the character as a command (see section <A HREF="bashref.html#SEC98">8.2.5 Searching for Commands in the History</A>).
 If this variable has not been given a value, the characters <KBD>ESC</KBD> and
@@ -9121,7 +9056,7 @@ If this variable has not been given a value, the characters <KBD>ESC</KBD> and
 <P>
 
 <DT><CODE>keymap</CODE>
-<DD><A NAME="IDX301"></A>
+<DD><A NAME="IDX303"></A>
 Sets Readline's idea of the current keymap for key binding commands.
 Acceptable <CODE>keymap</CODE> names are
 <CODE>emacs</CODE>,
@@ -9144,14 +9079,14 @@ appended.  The default is <SAMP>`on'</SAMP>.
 <P>
 
 <DT><CODE>mark-modified-lines</CODE>
-<DD><A NAME="IDX302"></A>
+<DD><A NAME="IDX304"></A>
 This variable, when set to <SAMP>`on'</SAMP>, causes Readline to display an
 asterisk (<SAMP>`*'</SAMP>) at the start of history lines which have been modified.
 This variable is <SAMP>`off'</SAMP> by default.
 <P>
 
 <DT><CODE>mark-symlinked-directories</CODE>
-<DD><A NAME="IDX303"></A>
+<DD><A NAME="IDX305"></A>
 If set to <SAMP>`on'</SAMP>, completed names which are symbolic links
 to directories have a slash appended (subject to the value of
 <CODE>mark-directories</CODE>).
@@ -9159,7 +9094,7 @@ The default is <SAMP>`off'</SAMP>.
 <P>
 
 <DT><CODE>match-hidden-files</CODE>
-<DD><A NAME="IDX304"></A>
+<DD><A NAME="IDX306"></A>
 This variable, when set to <SAMP>`on'</SAMP>, causes Readline to match files whose
 names begin with a <SAMP>`.'</SAMP> (hidden files) when performing filename
 completion, unless the leading <SAMP>`.'</SAMP> is
@@ -9168,14 +9103,14 @@ This variable is <SAMP>`on'</SAMP> by default.
 <P>
 
 <DT><CODE>output-meta</CODE>
-<DD><A NAME="IDX305"></A>
+<DD><A NAME="IDX307"></A>
 If set to <SAMP>`on'</SAMP>, Readline will display characters with the
 eighth bit set directly rather than as a meta-prefixed escape
 sequence.  The default is <SAMP>`off'</SAMP>.
 <P>
 
 <DT><CODE>page-completions</CODE>
-<DD><A NAME="IDX306"></A>
+<DD><A NAME="IDX308"></A>
 If set to <SAMP>`on'</SAMP>, Readline uses an internal <CODE>more</CODE>-like pager
 to display a screenful of possible completions at a time.
 This variable is <SAMP>`on'</SAMP> by default.
@@ -9188,7 +9123,7 @@ The default is <SAMP>`off'</SAMP>.
 <P>
 
 <DT><CODE>show-all-if-ambiguous</CODE>
-<DD><A NAME="IDX307"></A>
+<DD><A NAME="IDX309"></A>
 This alters the default behavior of the completion functions.  If
 set to <SAMP>`on'</SAMP>, 
 words which have more than one possible completion cause the
@@ -9197,7 +9132,7 @@ The default value is <SAMP>`off'</SAMP>.
 <P>
 
 <DT><CODE>show-all-if-unmodified</CODE>
-<DD><A NAME="IDX308"></A>
+<DD><A NAME="IDX310"></A>
 This alters the default behavior of the completion functions in
 a fashion similar to <VAR>show-all-if-ambiguous</VAR>.
 If set to <SAMP>`on'</SAMP>, 
@@ -9209,7 +9144,7 @@ The default value is <SAMP>`off'</SAMP>.
 <P>
 
 <DT><CODE>visible-stats</CODE>
-<DD><A NAME="IDX309"></A>
+<DD><A NAME="IDX311"></A>
 If set to <SAMP>`on'</SAMP>, a character denoting a file's type
 is appended to the filename when listing possible
 completions.  The default is <SAMP>`off'</SAMP>.
@@ -9631,54 +9566,54 @@ The text between the point and mark is referred to as the <EM>region</EM>.
 <H3> 8.4.1 Commands For Moving </H3>
 <!--docid::SEC104::-->
 <DL COMPACT>
-<A NAME="IDX310"></A>
+<A NAME="IDX312"></A>
 <DT><CODE>beginning-of-line (C-a)</CODE>
-<DD><A NAME="IDX311"></A>
+<DD><A NAME="IDX313"></A>
 Move to the start of the current line.
 <P>
 
-<A NAME="IDX312"></A>
+<A NAME="IDX314"></A>
 <DT><CODE>end-of-line (C-e)</CODE>
-<DD><A NAME="IDX313"></A>
+<DD><A NAME="IDX315"></A>
 Move to the end of the line.
 <P>
 
-<A NAME="IDX314"></A>
+<A NAME="IDX316"></A>
 <DT><CODE>forward-char (C-f)</CODE>
-<DD><A NAME="IDX315"></A>
+<DD><A NAME="IDX317"></A>
 Move forward a character.
 <P>
 
-<A NAME="IDX316"></A>
+<A NAME="IDX318"></A>
 <DT><CODE>backward-char (C-b)</CODE>
-<DD><A NAME="IDX317"></A>
+<DD><A NAME="IDX319"></A>
 Move back a character.
 <P>
 
-<A NAME="IDX318"></A>
+<A NAME="IDX320"></A>
 <DT><CODE>forward-word (M-f)</CODE>
-<DD><A NAME="IDX319"></A>
+<DD><A NAME="IDX321"></A>
 Move forward to the end of the next word.  Words are composed of
 letters and digits.
 <P>
 
-<A NAME="IDX320"></A>
+<A NAME="IDX322"></A>
 <DT><CODE>backward-word (M-b)</CODE>
-<DD><A NAME="IDX321"></A>
+<DD><A NAME="IDX323"></A>
 Move back to the start of the current or previous word.  Words are
 composed of letters and digits.
 <P>
 
-<A NAME="IDX322"></A>
+<A NAME="IDX324"></A>
 <DT><CODE>clear-screen (C-l)</CODE>
-<DD><A NAME="IDX323"></A>
+<DD><A NAME="IDX325"></A>
 Clear the screen and redraw the current line,
 leaving the current line at the top of the screen.
 <P>
 
-<A NAME="IDX324"></A>
+<A NAME="IDX326"></A>
 <DT><CODE>redraw-current-line ()</CODE>
-<DD><A NAME="IDX325"></A>
+<DD><A NAME="IDX327"></A>
 Refresh the current line.  By default, this is unbound.
 <P>
 
@@ -9704,9 +9639,9 @@ Refresh the current line.  By default, this is unbound.
 <P>
 
 <DL COMPACT>
-<A NAME="IDX326"></A>
+<A NAME="IDX328"></A>
 <DT><CODE>accept-line (Newline or Return)</CODE>
-<DD><A NAME="IDX327"></A>
+<DD><A NAME="IDX329"></A>
 Accept the line regardless of where the cursor is.
 If this line is
 non-empty, add it to the history list according to the setting of
@@ -9715,81 +9650,81 @@ If this line is a modified history line, then restore the history line
 to its original state.
 <P>
 
-<A NAME="IDX328"></A>
+<A NAME="IDX330"></A>
 <DT><CODE>previous-history (C-p)</CODE>
-<DD><A NAME="IDX329"></A>
+<DD><A NAME="IDX331"></A>
 Move `back' through the history list, fetching the previous command.
 <P>
 
-<A NAME="IDX330"></A>
+<A NAME="IDX332"></A>
 <DT><CODE>next-history (C-n)</CODE>
-<DD><A NAME="IDX331"></A>
+<DD><A NAME="IDX333"></A>
 Move `forward' through the history list, fetching the next command.
 <P>
 
-<A NAME="IDX332"></A>
+<A NAME="IDX334"></A>
 <DT><CODE>beginning-of-history (M-&#60;)</CODE>
-<DD><A NAME="IDX333"></A>
+<DD><A NAME="IDX335"></A>
 Move to the first line in the history.
 <P>
 
-<A NAME="IDX334"></A>
+<A NAME="IDX336"></A>
 <DT><CODE>end-of-history (M-&#62;)</CODE>
-<DD><A NAME="IDX335"></A>
+<DD><A NAME="IDX337"></A>
 Move to the end of the input history, i.e., the line currently
 being entered.
 <P>
 
-<A NAME="IDX336"></A>
+<A NAME="IDX338"></A>
 <DT><CODE>reverse-search-history (C-r)</CODE>
-<DD><A NAME="IDX337"></A>
+<DD><A NAME="IDX339"></A>
 Search backward starting at the current line and moving `up' through
 the history as necessary.  This is an incremental search.
 <P>
 
-<A NAME="IDX338"></A>
+<A NAME="IDX340"></A>
 <DT><CODE>forward-search-history (C-s)</CODE>
-<DD><A NAME="IDX339"></A>
+<DD><A NAME="IDX341"></A>
 Search forward starting at the current line and moving `down' through
 the the history as necessary.  This is an incremental search.
 <P>
 
-<A NAME="IDX340"></A>
+<A NAME="IDX342"></A>
 <DT><CODE>non-incremental-reverse-search-history (M-p)</CODE>
-<DD><A NAME="IDX341"></A>
+<DD><A NAME="IDX343"></A>
 Search backward starting at the current line and moving `up'
 through the history as necessary using a non-incremental search
 for a string supplied by the user.
 <P>
 
-<A NAME="IDX342"></A>
+<A NAME="IDX344"></A>
 <DT><CODE>non-incremental-forward-search-history (M-n)</CODE>
-<DD><A NAME="IDX343"></A>
+<DD><A NAME="IDX345"></A>
 Search forward starting at the current line and moving `down'
 through the the history as necessary using a non-incremental search
 for a string supplied by the user.
 <P>
 
-<A NAME="IDX344"></A>
+<A NAME="IDX346"></A>
 <DT><CODE>history-search-forward ()</CODE>
-<DD><A NAME="IDX345"></A>
+<DD><A NAME="IDX347"></A>
 Search forward through the history for the string of characters
 between the start of the current line and the point.
 This is a non-incremental search.
 By default, this command is unbound.
 <P>
 
-<A NAME="IDX346"></A>
+<A NAME="IDX348"></A>
 <DT><CODE>history-search-backward ()</CODE>
-<DD><A NAME="IDX347"></A>
+<DD><A NAME="IDX349"></A>
 Search backward through the history for the string of characters
 between the start of the current line and the point.  This
 is a non-incremental search.  By default, this command is unbound.
 <P>
 
-<A NAME="IDX348"></A>
+<A NAME="IDX350"></A>
 <DT><CODE>yank-nth-arg (M-C-y)</CODE>
-<DD><A NAME="IDX349"></A>
+<DD><A NAME="IDX351"></A>
 Insert the first argument to the previous command (usually
 the second word on the previous line) at point.
 With an argument <VAR>n</VAR>,
@@ -9800,9 +9735,9 @@ Once the argument <VAR>n</VAR> is computed, the argument is extracted
 as if the <SAMP>`!<VAR>n</VAR>'</SAMP> history expansion had been specified.
 <P>
 
-<A NAME="IDX350"></A>
+<A NAME="IDX352"></A>
 <DT><CODE>yank-last-arg (M-. or M-_)</CODE>
-<DD><A NAME="IDX351"></A>
+<DD><A NAME="IDX353"></A>
 Insert last argument to the previous command (the last word of the
 previous history entry).  With an
 argument, behave exactly like <CODE>yank-nth-arg</CODE>.
@@ -9834,46 +9769,46 @@ as if the <SAMP>`!$'</SAMP> history expansion had been specified.
 <P>
 
 <DL COMPACT>
-<A NAME="IDX352"></A>
+<A NAME="IDX354"></A>
 <DT><CODE>delete-char (C-d)</CODE>
-<DD><A NAME="IDX353"></A>
+<DD><A NAME="IDX355"></A>
 Delete the character at point.  If point is at the
 beginning of the line, there are no characters in the line, and
 the last character typed was not bound to <CODE>delete-char</CODE>, then
 return EOF.
 <P>
 
-<A NAME="IDX354"></A>
+<A NAME="IDX356"></A>
 <DT><CODE>backward-delete-char (Rubout)</CODE>
-<DD><A NAME="IDX355"></A>
+<DD><A NAME="IDX357"></A>
 Delete the character behind the cursor.  A numeric argument means
 to kill the characters instead of deleting them.
 <P>
 
-<A NAME="IDX356"></A>
+<A NAME="IDX358"></A>
 <DT><CODE>forward-backward-delete-char ()</CODE>
-<DD><A NAME="IDX357"></A>
+<DD><A NAME="IDX359"></A>
 Delete the character under the cursor, unless the cursor is at the
 end of the line, in which case the character behind the cursor is
 deleted.  By default, this is not bound to a key.
 <P>
 
-<A NAME="IDX358"></A>
+<A NAME="IDX360"></A>
 <DT><CODE>quoted-insert (C-q or C-v)</CODE>
-<DD><A NAME="IDX359"></A>
+<DD><A NAME="IDX361"></A>
 Add the next character typed to the line verbatim.  This is
 how to insert key sequences like <KBD>C-q</KBD>, for example.
 <P>
 
-<A NAME="IDX360"></A>
+<A NAME="IDX362"></A>
 <DT><CODE>self-insert (a, b, A, 1, !, <small>...</small>)</CODE>
-<DD><A NAME="IDX361"></A>
+<DD><A NAME="IDX363"></A>
 Insert yourself.
 <P>
 
-<A NAME="IDX362"></A>
+<A NAME="IDX364"></A>
 <DT><CODE>transpose-chars (C-t)</CODE>
-<DD><A NAME="IDX363"></A>
+<DD><A NAME="IDX365"></A>
 Drag the character before the cursor forward over
 the character at the cursor, moving the
 cursor forward as well.  If the insertion point
@@ -9882,39 +9817,39 @@ transposes the last two characters of the line.
 Negative arguments have no effect.
 <P>
 
-<A NAME="IDX364"></A>
+<A NAME="IDX366"></A>
 <DT><CODE>transpose-words (M-t)</CODE>
-<DD><A NAME="IDX365"></A>
+<DD><A NAME="IDX367"></A>
 Drag the word before point past the word after point,
 moving point past that word as well.
 If the insertion point is at the end of the line, this transposes
 the last two words on the line.
 <P>
 
-<A NAME="IDX366"></A>
+<A NAME="IDX368"></A>
 <DT><CODE>upcase-word (M-u)</CODE>
-<DD><A NAME="IDX367"></A>
+<DD><A NAME="IDX369"></A>
 Uppercase the current (or following) word.  With a negative argument,
 uppercase the previous word, but do not move the cursor.
 <P>
 
-<A NAME="IDX368"></A>
+<A NAME="IDX370"></A>
 <DT><CODE>downcase-word (M-l)</CODE>
-<DD><A NAME="IDX369"></A>
+<DD><A NAME="IDX371"></A>
 Lowercase the current (or following) word.  With a negative argument,
 lowercase the previous word, but do not move the cursor.
 <P>
 
-<A NAME="IDX370"></A>
+<A NAME="IDX372"></A>
 <DT><CODE>capitalize-word (M-c)</CODE>
-<DD><A NAME="IDX371"></A>
+<DD><A NAME="IDX373"></A>
 Capitalize the current (or following) word.  With a negative argument,
 capitalize the previous word, but do not move the cursor.
 <P>
 
-<A NAME="IDX372"></A>
+<A NAME="IDX374"></A>
 <DT><CODE>overwrite-mode ()</CODE>
-<DD><A NAME="IDX373"></A>
+<DD><A NAME="IDX375"></A>
 Toggle overwrite mode.  With an explicit positive numeric argument,
 switches to overwrite mode.  With an explicit non-positive numeric
 argument, switches to insert mode.  This command affects only
@@ -9954,106 +9889,106 @@ By default, this command is unbound.
 
 <DL COMPACT>
 
-<A NAME="IDX374"></A>
+<A NAME="IDX376"></A>
 <DT><CODE>kill-line (C-k)</CODE>
-<DD><A NAME="IDX375"></A>
+<DD><A NAME="IDX377"></A>
 Kill the text from point to the end of the line.
 <P>
 
-<A NAME="IDX376"></A>
+<A NAME="IDX378"></A>
 <DT><CODE>backward-kill-line (C-x Rubout)</CODE>
-<DD><A NAME="IDX377"></A>
+<DD><A NAME="IDX379"></A>
 Kill backward to the beginning of the line.
 <P>
 
-<A NAME="IDX378"></A>
+<A NAME="IDX380"></A>
 <DT><CODE>unix-line-discard (C-u)</CODE>
-<DD><A NAME="IDX379"></A>
+<DD><A NAME="IDX381"></A>
 Kill backward from the cursor to the beginning of the current line.
 <P>
 
-<A NAME="IDX380"></A>
+<A NAME="IDX382"></A>
 <DT><CODE>kill-whole-line ()</CODE>
-<DD><A NAME="IDX381"></A>
+<DD><A NAME="IDX383"></A>
 Kill all characters on the current line, no matter where point is.
 By default, this is unbound.
 <P>
 
-<A NAME="IDX382"></A>
+<A NAME="IDX384"></A>
 <DT><CODE>kill-word (M-d)</CODE>
-<DD><A NAME="IDX383"></A>
+<DD><A NAME="IDX385"></A>
 Kill from point to the end of the current word, or if between
 words, to the end of the next word.
 Word boundaries are the same as <CODE>forward-word</CODE>.
 <P>
 
-<A NAME="IDX384"></A>
+<A NAME="IDX386"></A>
 <DT><CODE>backward-kill-word (M-<KBD>DEL</KBD>)</CODE>
-<DD><A NAME="IDX385"></A>
+<DD><A NAME="IDX387"></A>
 Kill the word behind point.
 Word boundaries are the same as <CODE>backward-word</CODE>.
 <P>
 
-<A NAME="IDX386"></A>
+<A NAME="IDX388"></A>
 <DT><CODE>unix-word-rubout (C-w)</CODE>
-<DD><A NAME="IDX387"></A>
+<DD><A NAME="IDX389"></A>
 Kill the word behind point, using white space as a word boundary.
 The killed text is saved on the kill-ring.
 <P>
 
-<A NAME="IDX388"></A>
+<A NAME="IDX390"></A>
 <DT><CODE>unix-filename-rubout ()</CODE>
-<DD><A NAME="IDX389"></A>
+<DD><A NAME="IDX391"></A>
 Kill the word behind point, using white space and the slash character
 as the word boundaries.
 The killed text is saved on the kill-ring.
 <P>
 
-<A NAME="IDX390"></A>
+<A NAME="IDX392"></A>
 <DT><CODE>delete-horizontal-space ()</CODE>
-<DD><A NAME="IDX391"></A>
+<DD><A NAME="IDX393"></A>
 Delete all spaces and tabs around point.  By default, this is unbound.
 <P>
 
-<A NAME="IDX392"></A>
+<A NAME="IDX394"></A>
 <DT><CODE>kill-region ()</CODE>
-<DD><A NAME="IDX393"></A>
+<DD><A NAME="IDX395"></A>
 Kill the text in the current region.
 By default, this command is unbound.
 <P>
 
-<A NAME="IDX394"></A>
+<A NAME="IDX396"></A>
 <DT><CODE>copy-region-as-kill ()</CODE>
-<DD><A NAME="IDX395"></A>
+<DD><A NAME="IDX397"></A>
 Copy the text in the region to the kill buffer, so it can be yanked
 right away.  By default, this command is unbound.
 <P>
 
-<A NAME="IDX396"></A>
+<A NAME="IDX398"></A>
 <DT><CODE>copy-backward-word ()</CODE>
-<DD><A NAME="IDX397"></A>
+<DD><A NAME="IDX399"></A>
 Copy the word before point to the kill buffer.
 The word boundaries are the same as <CODE>backward-word</CODE>.
 By default, this command is unbound.
 <P>
 
-<A NAME="IDX398"></A>
+<A NAME="IDX400"></A>
 <DT><CODE>copy-forward-word ()</CODE>
-<DD><A NAME="IDX399"></A>
+<DD><A NAME="IDX401"></A>
 Copy the word following point to the kill buffer.
 The word boundaries are the same as <CODE>forward-word</CODE>.
 By default, this command is unbound.
 <P>
 
-<A NAME="IDX400"></A>
+<A NAME="IDX402"></A>
 <DT><CODE>yank (C-y)</CODE>
-<DD><A NAME="IDX401"></A>
+<DD><A NAME="IDX403"></A>
 Yank the top of the kill ring into the buffer at point.
 <P>
 
-<A NAME="IDX402"></A>
+<A NAME="IDX404"></A>
 <DT><CODE>yank-pop (M-y)</CODE>
-<DD><A NAME="IDX403"></A>
+<DD><A NAME="IDX405"></A>
 Rotate the kill-ring, and yank the new top.  You can only do this if
 the prior command is <CODE>yank</CODE> or <CODE>yank-pop</CODE>.
 </DL>
@@ -10077,16 +10012,16 @@ the prior command is <CODE>yank</CODE> or <CODE>yank-pop</CODE>.
 <!--docid::SEC108::-->
 <DL COMPACT>
 
-<A NAME="IDX404"></A>
+<A NAME="IDX406"></A>
 <DT><CODE>digit-argument (<KBD>M-0</KBD>, <KBD>M-1</KBD>, <small>...</small> <KBD>M--</KBD>)</CODE>
-<DD><A NAME="IDX405"></A>
+<DD><A NAME="IDX407"></A>
 Add this digit to the argument already accumulating, or start a new
 argument.  <KBD>M--</KBD> starts a negative argument.
 <P>
 
-<A NAME="IDX406"></A>
+<A NAME="IDX408"></A>
 <DT><CODE>universal-argument ()</CODE>
-<DD><A NAME="IDX407"></A>
+<DD><A NAME="IDX409"></A>
 This is another way to specify an argument.
 If this command is followed by one or more digits, optionally with a
 leading minus sign, those digits define the argument.
@@ -10121,9 +10056,9 @@ By default, this is not bound to a key.
 <P>
 
 <DL COMPACT>
-<A NAME="IDX408"></A>
+<A NAME="IDX410"></A>
 <DT><CODE>complete (<KBD>TAB</KBD>)</CODE>
-<DD><A NAME="IDX409"></A>
+<DD><A NAME="IDX411"></A>
 Attempt to perform completion on the text before point.
 The actual completion performed is application-specific.
 Bash attempts completion treating the text as a variable (if the
@@ -10133,22 +10068,22 @@ command (including aliases and functions) in turn.  If none
 of these produces a match, filename completion is attempted.
 <P>
 
-<A NAME="IDX410"></A>
+<A NAME="IDX412"></A>
 <DT><CODE>possible-completions (M-?)</CODE>
-<DD><A NAME="IDX411"></A>
+<DD><A NAME="IDX413"></A>
 List the possible completions of the text before point.
 <P>
 
-<A NAME="IDX412"></A>
+<A NAME="IDX414"></A>
 <DT><CODE>insert-completions (M-*)</CODE>
-<DD><A NAME="IDX413"></A>
+<DD><A NAME="IDX415"></A>
 Insert all completions of the text before point that would have
 been generated by <CODE>possible-completions</CODE>.
 <P>
 
-<A NAME="IDX414"></A>
+<A NAME="IDX416"></A>
 <DT><CODE>menu-complete ()</CODE>
-<DD><A NAME="IDX415"></A>
+<DD><A NAME="IDX417"></A>
 Similar to <CODE>complete</CODE>, but replaces the word to be completed
 with a single match from the list of possible completions.
 Repeated execution of <CODE>menu-complete</CODE> steps through the list
@@ -10163,9 +10098,9 @@ This command is intended to be bound to <KBD>TAB</KBD>, but is unbound
 by default.
 <P>
 
-<A NAME="IDX416"></A>
+<A NAME="IDX418"></A>
 <DT><CODE>delete-char-or-list ()</CODE>
-<DD><A NAME="IDX417"></A>
+<DD><A NAME="IDX419"></A>
 Deletes the character under the cursor if not at the beginning or
 end of the line (like <CODE>delete-char</CODE>).
 If at the end of the line, behaves identically to
@@ -10173,64 +10108,64 @@ If at the end of the line, behaves identically to
 This command is unbound by default.
 <P>
 
-<A NAME="IDX418"></A>
+<A NAME="IDX420"></A>
 <DT><CODE>complete-filename (M-/)</CODE>
-<DD><A NAME="IDX419"></A>
+<DD><A NAME="IDX421"></A>
 Attempt filename completion on the text before point.
 <P>
 
-<A NAME="IDX420"></A>
+<A NAME="IDX422"></A>
 <DT><CODE>possible-filename-completions (C-x /)</CODE>
-<DD><A NAME="IDX421"></A>
+<DD><A NAME="IDX423"></A>
 List the possible completions of the text before point,
 treating it as a filename.
 <P>
 
-<A NAME="IDX422"></A>
+<A NAME="IDX424"></A>
 <DT><CODE>complete-username (M-~)</CODE>
-<DD><A NAME="IDX423"></A>
+<DD><A NAME="IDX425"></A>
 Attempt completion on the text before point, treating
 it as a username.
 <P>
 
-<A NAME="IDX424"></A>
+<A NAME="IDX426"></A>
 <DT><CODE>possible-username-completions (C-x ~)</CODE>
-<DD><A NAME="IDX425"></A>
+<DD><A NAME="IDX427"></A>
 List the possible completions of the text before point,
 treating it as a username.
 <P>
 
-<A NAME="IDX426"></A>
+<A NAME="IDX428"></A>
 <DT><CODE>complete-variable (M-$)</CODE>
-<DD><A NAME="IDX427"></A>
+<DD><A NAME="IDX429"></A>
 Attempt completion on the text before point, treating
 it as a shell variable.
 <P>
 
-<A NAME="IDX428"></A>
+<A NAME="IDX430"></A>
 <DT><CODE>possible-variable-completions (C-x $)</CODE>
-<DD><A NAME="IDX429"></A>
+<DD><A NAME="IDX431"></A>
 List the possible completions of the text before point,
 treating it as a shell variable.
 <P>
 
-<A NAME="IDX430"></A>
+<A NAME="IDX432"></A>
 <DT><CODE>complete-hostname (M-@)</CODE>
-<DD><A NAME="IDX431"></A>
+<DD><A NAME="IDX433"></A>
 Attempt completion on the text before point, treating
 it as a hostname.
 <P>
 
-<A NAME="IDX432"></A>
+<A NAME="IDX434"></A>
 <DT><CODE>possible-hostname-completions (C-x @)</CODE>
-<DD><A NAME="IDX433"></A>
+<DD><A NAME="IDX435"></A>
 List the possible completions of the text before point,
 treating it as a hostname.
 <P>
 
-<A NAME="IDX434"></A>
+<A NAME="IDX436"></A>
 <DT><CODE>complete-command (M-!)</CODE>
-<DD><A NAME="IDX435"></A>
+<DD><A NAME="IDX437"></A>
 Attempt completion on the text before point, treating
 it as a command name.  Command completion attempts to
 match the text against aliases, reserved words, shell
@@ -10238,24 +10173,24 @@ functions, shell builtins, and finally executable filenames,
 in that order.
 <P>
 
-<A NAME="IDX436"></A>
+<A NAME="IDX438"></A>
 <DT><CODE>possible-command-completions (C-x !)</CODE>
-<DD><A NAME="IDX437"></A>
+<DD><A NAME="IDX439"></A>
 List the possible completions of the text before point,
 treating it as a command name.
 <P>
 
-<A NAME="IDX438"></A>
+<A NAME="IDX440"></A>
 <DT><CODE>dynamic-complete-history (M-<KBD>TAB</KBD>)</CODE>
-<DD><A NAME="IDX439"></A>
+<DD><A NAME="IDX441"></A>
 Attempt completion on the text before point, comparing
 the text against lines from the history list for possible
 completion matches.
 <P>
 
-<A NAME="IDX440"></A>
+<A NAME="IDX442"></A>
 <DT><CODE>complete-into-braces (M-{)</CODE>
-<DD><A NAME="IDX441"></A>
+<DD><A NAME="IDX443"></A>
 Perform filename completion and insert the list of possible completions
 enclosed within braces so the list is available to the shell
 (see section <A HREF="bashref.html#SEC28">3.5.1 Brace Expansion</A>).
@@ -10282,22 +10217,22 @@ enclosed within braces so the list is available to the shell
 <!--docid::SEC110::-->
 <DL COMPACT>
 
-<A NAME="IDX442"></A>
+<A NAME="IDX444"></A>
 <DT><CODE>start-kbd-macro (C-x ()</CODE>
-<DD><A NAME="IDX443"></A>
+<DD><A NAME="IDX445"></A>
 Begin saving the characters typed into the current keyboard macro.
 <P>
 
-<A NAME="IDX444"></A>
+<A NAME="IDX446"></A>
 <DT><CODE>end-kbd-macro (C-x ))</CODE>
-<DD><A NAME="IDX445"></A>
+<DD><A NAME="IDX447"></A>
 Stop saving the characters typed into the current keyboard macro
 and save the definition.
 <P>
 
-<A NAME="IDX446"></A>
+<A NAME="IDX448"></A>
 <DT><CODE>call-last-kbd-macro (C-x e)</CODE>
-<DD><A NAME="IDX447"></A>
+<DD><A NAME="IDX449"></A>
 Re-execute the last keyboard macro defined, by making the characters
 in the macro appear as if typed at the keyboard.
 <P>
@@ -10323,87 +10258,87 @@ in the macro appear as if typed at the keyboard.
 <!--docid::SEC111::-->
 <DL COMPACT>
 
-<A NAME="IDX448"></A>
+<A NAME="IDX450"></A>
 <DT><CODE>re-read-init-file (C-x C-r)</CODE>
-<DD><A NAME="IDX449"></A>
+<DD><A NAME="IDX451"></A>
 Read in the contents of the <VAR>inputrc</VAR> file, and incorporate
 any bindings or variable assignments found there.
 <P>
 
-<A NAME="IDX450"></A>
+<A NAME="IDX452"></A>
 <DT><CODE>abort (C-g)</CODE>
-<DD><A NAME="IDX451"></A>
+<DD><A NAME="IDX453"></A>
 Abort the current editing command and
 ring the terminal's bell (subject to the setting of
 <CODE>bell-style</CODE>).
 <P>
 
-<A NAME="IDX452"></A>
+<A NAME="IDX454"></A>
 <DT><CODE>do-uppercase-version (M-a, M-b, M-<VAR>x</VAR>, <small>...</small>)</CODE>
-<DD><A NAME="IDX453"></A>
+<DD><A NAME="IDX455"></A>
 If the metafied character <VAR>x</VAR> is lowercase, run the command
 that is bound to the corresponding uppercase character.
 <P>
 
-<A NAME="IDX454"></A>
+<A NAME="IDX456"></A>
 <DT><CODE>prefix-meta (<KBD>ESC</KBD>)</CODE>
-<DD><A NAME="IDX455"></A>
+<DD><A NAME="IDX457"></A>
 Metafy the next character typed.  This is for keyboards
 without a meta key.  Typing <SAMP>`<KBD>ESC</KBD> f'</SAMP> is equivalent to typing
 <KBD>M-f</KBD>.
 <P>
 
-<A NAME="IDX456"></A>
+<A NAME="IDX458"></A>
 <DT><CODE>undo (C-_ or C-x C-u)</CODE>
-<DD><A NAME="IDX457"></A>
+<DD><A NAME="IDX459"></A>
 Incremental undo, separately remembered for each line.
 <P>
 
-<A NAME="IDX458"></A>
+<A NAME="IDX460"></A>
 <DT><CODE>revert-line (M-r)</CODE>
-<DD><A NAME="IDX459"></A>
+<DD><A NAME="IDX461"></A>
 Undo all changes made to this line.  This is like executing the <CODE>undo</CODE>
 command enough times to get back to the beginning.
 <P>
 
-<A NAME="IDX460"></A>
+<A NAME="IDX462"></A>
 <DT><CODE>tilde-expand (M-&#38;)</CODE>
-<DD><A NAME="IDX461"></A>
+<DD><A NAME="IDX463"></A>
 Perform tilde expansion on the current word.
 <P>
 
-<A NAME="IDX462"></A>
+<A NAME="IDX464"></A>
 <DT><CODE>set-mark (C-@)</CODE>
-<DD><A NAME="IDX463"></A>
+<DD><A NAME="IDX465"></A>
 Set the mark to the point.  If a
 numeric argument is supplied, the mark is set to that position.
 <P>
 
-<A NAME="IDX464"></A>
+<A NAME="IDX466"></A>
 <DT><CODE>exchange-point-and-mark (C-x C-x)</CODE>
-<DD><A NAME="IDX465"></A>
+<DD><A NAME="IDX467"></A>
 Swap the point with the mark.  The current cursor position is set to
 the saved position, and the old cursor position is saved as the mark.
 <P>
 
-<A NAME="IDX466"></A>
+<A NAME="IDX468"></A>
 <DT><CODE>character-search (C-])</CODE>
-<DD><A NAME="IDX467"></A>
+<DD><A NAME="IDX469"></A>
 A character is read and point is moved to the next occurrence of that
 character.  A negative count searches for previous occurrences.
 <P>
 
-<A NAME="IDX468"></A>
+<A NAME="IDX470"></A>
 <DT><CODE>character-search-backward (M-C-])</CODE>
-<DD><A NAME="IDX469"></A>
+<DD><A NAME="IDX471"></A>
 A character is read and point is moved to the previous occurrence
 of that character.  A negative count searches for subsequent
 occurrences.
 <P>
 
-<A NAME="IDX470"></A>
+<A NAME="IDX472"></A>
 <DT><CODE>insert-comment (M-#)</CODE>
-<DD><A NAME="IDX471"></A>
+<DD><A NAME="IDX473"></A>
 Without a numeric argument, the value of the <CODE>comment-begin</CODE>
 variable is inserted at the beginning of the current line.
 If a numeric argument is supplied, this command acts as a toggle:  if
@@ -10418,115 +10353,115 @@ If a numeric argument causes the comment character to be removed, the line
 will be executed by the shell.
 <P>
 
-<A NAME="IDX472"></A>
+<A NAME="IDX474"></A>
 <DT><CODE>dump-functions ()</CODE>
-<DD><A NAME="IDX473"></A>
+<DD><A NAME="IDX475"></A>
 Print all of the functions and their key bindings to the
 Readline output stream.  If a numeric argument is supplied,
 the output is formatted in such a way that it can be made part
 of an <VAR>inputrc</VAR> file.  This command is unbound by default.
 <P>
 
-<A NAME="IDX474"></A>
+<A NAME="IDX476"></A>
 <DT><CODE>dump-variables ()</CODE>
-<DD><A NAME="IDX475"></A>
+<DD><A NAME="IDX477"></A>
 Print all of the settable variables and their values to the
 Readline output stream.  If a numeric argument is supplied,
 the output is formatted in such a way that it can be made part
 of an <VAR>inputrc</VAR> file.  This command is unbound by default.
 <P>
 
-<A NAME="IDX476"></A>
+<A NAME="IDX478"></A>
 <DT><CODE>dump-macros ()</CODE>
-<DD><A NAME="IDX477"></A>
+<DD><A NAME="IDX479"></A>
 Print all of the Readline key sequences bound to macros and the
 strings they output.  If a numeric argument is supplied,
 the output is formatted in such a way that it can be made part
 of an <VAR>inputrc</VAR> file.  This command is unbound by default.
 <P>
 
-<A NAME="IDX478"></A>
+<A NAME="IDX480"></A>
 <DT><CODE>glob-complete-word (M-g)</CODE>
-<DD><A NAME="IDX479"></A>
+<DD><A NAME="IDX481"></A>
 The word before point is treated as a pattern for pathname expansion,
 with an asterisk implicitly appended.  This pattern is used to
 generate a list of matching file names for possible completions.
 <P>
 
-<A NAME="IDX480"></A>
+<A NAME="IDX482"></A>
 <DT><CODE>glob-expand-word (C-x *)</CODE>
-<DD><A NAME="IDX481"></A>
+<DD><A NAME="IDX483"></A>
 The word before point is treated as a pattern for pathname expansion,
 and the list of matching file names is inserted, replacing the word.
 If a numeric argument is supplied, a <SAMP>`*'</SAMP> is appended before
 pathname expansion.
 <P>
 
-<A NAME="IDX482"></A>
+<A NAME="IDX484"></A>
 <DT><CODE>glob-list-expansions (C-x g)</CODE>
-<DD><A NAME="IDX483"></A>
+<DD><A NAME="IDX485"></A>
 The list of expansions that would have been generated by
 <CODE>glob-expand-word</CODE> is displayed, and the line is redrawn.
 If a numeric argument is supplied, a <SAMP>`*'</SAMP> is appended before
 pathname expansion.
 <P>
 
-<A NAME="IDX484"></A>
+<A NAME="IDX486"></A>
 <DT><CODE>display-shell-version (C-x C-v)</CODE>
-<DD><A NAME="IDX485"></A>
+<DD><A NAME="IDX487"></A>
 Display version information about the current instance of Bash.
 <P>
 
-<A NAME="IDX486"></A>
+<A NAME="IDX488"></A>
 <DT><CODE>shell-expand-line (M-C-e)</CODE>
-<DD><A NAME="IDX487"></A>
+<DD><A NAME="IDX489"></A>
 Expand the line as the shell does.
 This performs alias and history expansion as well as all of the shell
 word expansions (see section <A HREF="bashref.html#SEC27">3.5 Shell Expansions</A>).
 <P>
 
-<A NAME="IDX488"></A>
+<A NAME="IDX490"></A>
 <DT><CODE>history-expand-line (M-^)</CODE>
-<DD><A NAME="IDX489"></A>
+<DD><A NAME="IDX491"></A>
 Perform history expansion on the current line.
 <P>
 
-<A NAME="IDX490"></A>
+<A NAME="IDX492"></A>
 <DT><CODE>magic-space ()</CODE>
-<DD><A NAME="IDX491"></A>
+<DD><A NAME="IDX493"></A>
 Perform history expansion on the current line and insert a space
 (see section <A HREF="bashref.html#SEC118">9.3 History Expansion</A>).
 <P>
 
-<A NAME="IDX492"></A>
+<A NAME="IDX494"></A>
 <DT><CODE>alias-expand-line ()</CODE>
-<DD><A NAME="IDX493"></A>
+<DD><A NAME="IDX495"></A>
 Perform alias expansion on the current line (see section <A HREF="bashref.html#SEC80">6.6 Aliases</A>).
 <P>
 
-<A NAME="IDX494"></A>
+<A NAME="IDX496"></A>
 <DT><CODE>history-and-alias-expand-line ()</CODE>
-<DD><A NAME="IDX495"></A>
+<DD><A NAME="IDX497"></A>
 Perform history and alias expansion on the current line.
 <P>
 
-<A NAME="IDX496"></A>
+<A NAME="IDX498"></A>
 <DT><CODE>insert-last-argument (M-. or M-_)</CODE>
-<DD><A NAME="IDX497"></A>
+<DD><A NAME="IDX499"></A>
 A synonym for <CODE>yank-last-arg</CODE>.
 <P>
 
-<A NAME="IDX498"></A>
+<A NAME="IDX500"></A>
 <DT><CODE>operate-and-get-next (C-o)</CODE>
-<DD><A NAME="IDX499"></A>
+<DD><A NAME="IDX501"></A>
 Accept the current line for execution and fetch the next line
 relative to the current line from the history for editing.  Any
 argument is ignored.
 <P>
 
-<A NAME="IDX500"></A>
+<A NAME="IDX502"></A>
 <DT><CODE>edit-and-execute-command (C-xC-e)</CODE>
-<DD><A NAME="IDX501"></A>
+<DD><A NAME="IDX503"></A>
 Invoke an editor on the current command line, and execute the result as shell
 commands.
 Bash attempts to invoke
@@ -10747,7 +10682,7 @@ facilities.
 
 <DL COMPACT>
 <DT><CODE>compgen</CODE>
-<DD><A NAME="IDX502"></A>
+<DD><A NAME="IDX504"></A>
 <TABLE><tr><td>&nbsp;</td><td class=example><pre><CODE>compgen [<VAR>option</VAR>] [<VAR>word</VAR>]</CODE>
 </pre></td></tr></table><P>
 
@@ -10773,7 +10708,7 @@ matches were generated.
 </P><P>
 
 <DT><CODE>complete</CODE>
-<DD><A NAME="IDX503"></A>
+<DD><A NAME="IDX505"></A>
 <TABLE><tr><td>&nbsp;</td><td class=example><pre><CODE>complete [-abcdefgjksuv] [-o <VAR>comp-option</VAR>] [-A <VAR>action</VAR>] [-G <VAR>globpat</VAR>] [-W <VAR>wordlist</VAR>]
 [-P <VAR>prefix</VAR>] [-S <VAR>suffix</VAR>] [-X <VAR>filterpat</VAR>] [-F <VAR>function</VAR>]
 [-C <VAR>command</VAR>] <VAR>name</VAR> [<VAR>name</VAR> <small>...</small>]</CODE>
@@ -11003,7 +10938,7 @@ an error occurs adding a completion specification.
 </P><P>
 
 </DL>
-<A NAME="IDX504"></A>
+<A NAME="IDX506"></A>
 <P>
 
 <A NAME="Using History Interactively"></A>
@@ -11144,7 +11079,7 @@ history list and history file.
 <DL COMPACT>
 
 <DT><CODE>fc</CODE>
-<DD><A NAME="IDX505"></A>
+<DD><A NAME="IDX507"></A>
 <TABLE><tr><td>&nbsp;</td><td class=example><pre><CODE>fc [-e <VAR>ename</VAR>] [-nlr] [<VAR>first</VAR>] [<VAR>last</VAR>]</CODE>
 <CODE>fc -s [<VAR>pat</VAR>=<VAR>rep</VAR>] [<VAR>command</VAR>]</CODE>
 </pre></td></tr></table><P>
@@ -11178,7 +11113,7 @@ and typing <SAMP>`r'</SAMP> re-executes the last command (see section <A HREF="b
 </P><P>
 
 <DT><CODE>history</CODE>
-<DD><A NAME="IDX506"></A>
+<DD><A NAME="IDX508"></A>
 <TABLE><tr><td>&nbsp;</td><td class=example><pre>history [<VAR>n</VAR>]
 history -c
 history -d <VAR>offset</VAR>
@@ -11348,7 +11283,7 @@ history expansion mechanism with the <CODE>histchars</CODE> variable.
 
 An event designator is a reference to a command line entry in the
 history list.
-<A NAME="IDX507"></A>
+<A NAME="IDX509"></A>
 </P><P>
 
 <DL COMPACT>
@@ -11599,44 +11534,16 @@ MS-DOS, OS/2, and Windows platforms.
 
 <BLOCKQUOTE><TABLE BORDER=0 CELLSPACING=0> 
 <TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC123">10.1 Basic Installation</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Installation instructions.</TD></TR>
-</TABLE>
-
-<br>
-<TABLE BORDER=0 CELLSPACING=0>
 <TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC124">10.2 Compilers and Options</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">How to set special options for various
                                systems.</TD></TR>
-</TABLE>
-
-<br>
-<TABLE BORDER=0 CELLSPACING=0>
 <TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC125">10.3 Compiling For Multiple Architectures</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">How to compile Bash for more
                                                than one kind of system from
                                                the same source tree.</TD></TR>
-</TABLE>
-
-<br>
-<TABLE BORDER=0 CELLSPACING=0>
 <TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC126">10.4 Installation Names</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">How to set the various paths used by the installation.</TD></TR>
-</TABLE>
-
-<br>
-<TABLE BORDER=0 CELLSPACING=0>
 <TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC127">10.5 Specifying the System Type</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">How to configure Bash for a particular system.</TD></TR>
-</TABLE>
-
-<br>
-<TABLE BORDER=0 CELLSPACING=0>
 <TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC128">10.6 Sharing Defaults</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">How to share default configuration values among GNU
                        programs.</TD></TR>
-</TABLE>
-
-<br>
-<TABLE BORDER=0 CELLSPACING=0>
 <TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC129">10.7 Operation Controls</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Options recognized by the configuration program.</TD></TR>
-</TABLE>
-
-<br>
-<TABLE BORDER=0 CELLSPACING=0>
 <TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC130">10.8 Optional Features</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">How to enable and disable optional features when
                        building Bash.</TD></TR>
 </TABLE></BLOCKQUOTE>
@@ -12024,10 +11931,10 @@ Here is a complete list of the <SAMP>`--enable-'</SAMP> and
 
 <DT><CODE>--with-bash-malloc</CODE>
 <DD>Use the Bash version of
-<CODE>malloc</CODE> in <TT>`lib/malloc/malloc.c'</TT>.  This is not the same
+<CODE>malloc</CODE> in the directory <TT>`lib/malloc'</TT>.  This is not the same
 <CODE>malloc</CODE> that appears in GNU libc, but an older version
-derived from the 4.2 BSD <CODE>malloc</CODE>.  This <CODE>malloc</CODE> is
-very fast, but wastes some space on each allocation.
+originally derived from the 4.2 BSD <CODE>malloc</CODE>.  This <CODE>malloc</CODE>
+is very fast, but wastes some space on each allocation.
 This option is enabled by default.
 The <TT>`NOTES'</TT> file contains a list of systems for
 which this should be turned off, and <CODE>configure</CODE> disables this
@@ -12251,6 +12158,10 @@ You may need to disable this if your compiler cannot handle very long string
 literals.
 <P>
 
+<DT><CODE>--enable-strict-posix-default</CODE>
+<DD>Make Bash POSIX-conformant by default (see section <A HREF="bashref.html#SEC86">6.11 Bash POSIX Mode</A>).
+<P>
+
 <DT><CODE>--enable-usg-echo-default</CODE>
 <DD>A synonym for <CODE>--enable-xpg-echo-default</CODE>.
 <P>
@@ -12361,8 +12272,8 @@ differences between the traditional Bourne shell and Bash; this
 section quickly details the differences of significance.  A
 number of these differences are explained in greater depth in
 previous sections.
-This section uses the version of <CODE>sh</CODE> included in SVR4.2 as
-the baseline reference.
+This section uses the version of <CODE>sh</CODE> included in SVR4.2 (the
+last version of the historical Bourne shell) as the baseline reference.
 </P><P>
 
 <UL>
@@ -12424,6 +12335,8 @@ invocation options list the translatable strings found in a script
 Bash implements the <CODE>!</CODE> keyword to negate the return value of
 a pipeline (see section <A HREF="bashref.html#SEC17">3.2.2 Pipelines</A>).
 Very useful when an <CODE>if</CODE> statement needs to act only if a test fails.
+The Bash <SAMP>`-o pipefail'</SAMP> option to <CODE>set</CODE> will cause a pipeline to
+return a failure status if any command fails.
 <P>
 
 <LI>
@@ -12444,7 +12357,13 @@ generation of simple menus (see section <A HREF="bashref.html#SEC21">3.2.4.2 Con
 
 <LI>
 Bash includes the <CODE>[[</CODE> compound command, which makes conditional
-testing part of the shell grammar (see section <A HREF="bashref.html#SEC21">3.2.4.2 Conditional Constructs</A>).
+testing part of the shell grammar (see section <A HREF="bashref.html#SEC21">3.2.4.2 Conditional Constructs</A>), including
+optional regular expression matching.
+<P>
+
+<LI>
+Bash provides optional case-insensitive matching for the <CODE>case</CODE> and
+<CODE>[[</CODE> constructs.
 <P>
 
 <LI>
@@ -12471,6 +12390,11 @@ command.
 <P>
 
 <LI>
+Bash supports the <SAMP>`+='</SAMP> assignment operator, which appends to the value
+of the variable named on the left hand side.
+<P>
+
+<LI>
 Bash includes the POSIX pattern removal <SAMP>`%'</SAMP>, <SAMP>`#'</SAMP>, <SAMP>`%%'</SAMP>
 and <SAMP>`##'</SAMP> expansions to remove leading or trailing substrings from
 variable values (see section <A HREF="bashref.html#SEC30">3.5.3 Shell Parameter Expansion</A>).
@@ -12580,6 +12504,16 @@ file (see section <A HREF="bashref.html#SEC38">3.6 Redirections</A>).
 <P>
 
 <LI>
+Bash includes the <SAMP>`&#60;&#60;&#60;'</SAMP> redirection operator, allowing a string to
+be used as the standard input to a command.
+<P>
+
+<LI>
+Bash implements the <SAMP>`[n]&#60;&#38;<VAR>word</VAR>'</SAMP> and <SAMP>`[n]&#62;&#38;<VAR>word</VAR>'</SAMP>
+redirection operators, which move one file descriptor to another.
+<P>
+
+<LI>
 Bash treats a number of filenames specially when they are
 used in redirection operators (see section <A HREF="bashref.html#SEC38">3.6 Redirections</A>).
 <P>
@@ -12778,6 +12712,11 @@ of <CODE>SIGHUP</CODE> to a job when the shell exits as the result of a
 <P>
 
 <LI>
+Bash includes a number of features to support a separate debugger for
+shell scripts.
+<P>
+
+<LI>
 The SVR4.2 shell has two privilege-related builtins
 (<CODE>mldmode</CODE> and <CODE>priv</CODE>) not present in Bash.
 <P>
@@ -12926,7 +12865,7 @@ The SVR4.2 shell behaves differently when invoked as <CODE>jsh</CODE>
 <!--docid::SEC135::-->
 <P>
 
-<A NAME="IDX508"></A>
+<A NAME="IDX510"></A>
 <center>
  Version 1.2, November 2002
 </center>
@@ -13520,7 +13459,7 @@ to permit their use in free software.
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX89"><CODE>alias</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC58">4.2 Bash Builtin Commands</A></TD></TR>
 <TR><TD COLSPAN=3> <HR></TD></TR>
 <TR><TH><A NAME="bt_B"></A>B</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX273"><CODE>bg</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC89">7.2 Job Control Builtins</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX275"><CODE>bg</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC89">7.2 Job Control Builtins</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX90"><CODE>bind</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC58">4.2 Bash Builtin Commands</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX70"><CODE>break</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC57">4.1 Bourne Shell Builtins</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX91"><CODE>builtin</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC58">4.2 Bash Builtin Commands</A></TD></TR>
@@ -13529,14 +13468,14 @@ to permit their use in free software.
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX92"><CODE>caller</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC58">4.2 Bash Builtin Commands</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX71"><CODE>cd</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC57">4.1 Bourne Shell Builtins</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX93"><CODE>command</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC58">4.2 Bash Builtin Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX502"><CODE>compgen</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.7 Programmable Completion Builtins</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX503"><CODE>complete</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.7 Programmable Completion Builtins</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX504"><CODE>compgen</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.7 Programmable Completion Builtins</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX505"><CODE>complete</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.7 Programmable Completion Builtins</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX72"><CODE>continue</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC57">4.1 Bourne Shell Builtins</A></TD></TR>
 <TR><TD COLSPAN=3> <HR></TD></TR>
 <TR><TH><A NAME="bt_D"></A>D</TH><TD></TD><TD></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX94"><CODE>declare</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC58">4.2 Bash Builtin Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX270"><CODE>dirs</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC83">6.8.1 Directory Stack Builtins</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX278"><CODE>disown</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC89">7.2 Job Control Builtins</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX272"><CODE>dirs</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC83">6.8.1 Directory Stack Builtins</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX280"><CODE>disown</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC89">7.2 Job Control Builtins</A></TD></TR>
 <TR><TD COLSPAN=3> <HR></TD></TR>
 <TR><TH><A NAME="bt_E"></A>E</TH><TD></TD><TD></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX95"><CODE>echo</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC58">4.2 Bash Builtin Commands</A></TD></TR>
@@ -13547,8 +13486,8 @@ to permit their use in free software.
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX76"><CODE>export</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC57">4.1 Bourne Shell Builtins</A></TD></TR>
 <TR><TD COLSPAN=3> <HR></TD></TR>
 <TR><TH><A NAME="bt_F"></A>F</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX505"><CODE>fc</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC117">9.2 Bash History Builtins</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX274"><CODE>fg</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC89">7.2 Job Control Builtins</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX507"><CODE>fc</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC117">9.2 Bash History Builtins</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX276"><CODE>fg</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC89">7.2 Job Control Builtins</A></TD></TR>
 <TR><TD COLSPAN=3> <HR></TD></TR>
 <TR><TH><A NAME="bt_G"></A>G</TH><TD></TD><TD></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX77"><CODE>getopts</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC57">4.1 Bourne Shell Builtins</A></TD></TR>
@@ -13556,13 +13495,13 @@ to permit their use in free software.
 <TR><TH><A NAME="bt_H"></A>H</TH><TD></TD><TD></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX78"><CODE>hash</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC57">4.1 Bourne Shell Builtins</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX97"><CODE>help</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC58">4.2 Bash Builtin Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX506"><CODE>history</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC117">9.2 Bash History Builtins</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX508"><CODE>history</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC117">9.2 Bash History Builtins</A></TD></TR>
 <TR><TD COLSPAN=3> <HR></TD></TR>
 <TR><TH><A NAME="bt_J"></A>J</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX275"><CODE>jobs</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC89">7.2 Job Control Builtins</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX277"><CODE>jobs</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC89">7.2 Job Control Builtins</A></TD></TR>
 <TR><TD COLSPAN=3> <HR></TD></TR>
 <TR><TH><A NAME="bt_K"></A>K</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX276"><CODE>kill</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC89">7.2 Job Control Builtins</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX278"><CODE>kill</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC89">7.2 Job Control Builtins</A></TD></TR>
 <TR><TD COLSPAN=3> <HR></TD></TR>
 <TR><TH><A NAME="bt_L"></A>L</TH><TD></TD><TD></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX98"><CODE>let</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC58">4.2 Bash Builtin Commands</A></TD></TR>
@@ -13570,9 +13509,9 @@ to permit their use in free software.
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX100"><CODE>logout</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC58">4.2 Bash Builtin Commands</A></TD></TR>
 <TR><TD COLSPAN=3> <HR></TD></TR>
 <TR><TH><A NAME="bt_P"></A>P</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX271"><CODE>popd</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC83">6.8.1 Directory Stack Builtins</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX273"><CODE>popd</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC83">6.8.1 Directory Stack Builtins</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX101"><CODE>printf</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC58">4.2 Bash Builtin Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX272"><CODE>pushd</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC83">6.8.1 Directory Stack Builtins</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX274"><CODE>pushd</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC83">6.8.1 Directory Stack Builtins</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX79"><CODE>pwd</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC57">4.1 Bourne Shell Builtins</A></TD></TR>
 <TR><TD COLSPAN=3> <HR></TD></TR>
 <TR><TH><A NAME="bt_R"></A>R</TH><TD></TD><TD></TD></TR>
@@ -13585,7 +13524,7 @@ to permit their use in free software.
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX82"><CODE>shift</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC57">4.1 Bourne Shell Builtins</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX103"><CODE>shopt</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC58">4.2 Bash Builtin Commands</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX104"><CODE>source</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC58">4.2 Bash Builtin Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX279"><CODE>suspend</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC89">7.2 Job Control Builtins</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX281"><CODE>suspend</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC89">7.2 Job Control Builtins</A></TD></TR>
 <TR><TD COLSPAN=3> <HR></TD></TR>
 <TR><TH><A NAME="bt_T"></A>T</TH><TD></TD><TD></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX83"><CODE>test</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC57">4.1 Bourne Shell Builtins</A></TD></TR>
@@ -13601,7 +13540,7 @@ to permit their use in free software.
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX88"><CODE>unset</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC57">4.1 Bourne Shell Builtins</A></TD></TR>
 <TR><TD COLSPAN=3> <HR></TD></TR>
 <TR><TH><A NAME="bt_W"></A>W</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX277"><CODE>wait</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC89">7.2 Job Control Builtins</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX279"><CODE>wait</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC89">7.2 Job Control Builtins</A></TD></TR>
 <TR><TD COLSPAN=3> <HR></TD></TR>
 </TABLE><P></P><table><tr><th valign=top>Jump to: &nbsp; </th><td><A HREF="bashref.html#bt_." style="text-decoration:none"><b>.</b></A>
  &nbsp; 
@@ -13889,8 +13828,8 @@ to permit their use in free software.
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX63"><CODE>_</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC26">3.4.2 Special Parameters</A></TD></TR>
 <TR><TD COLSPAN=3> <HR></TD></TR>
 <TR><TH><A NAME="vr_A"></A>A</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX280"><CODE>auto_resume</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC90">7.3 Job Control Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX281"><CODE>auto_resume</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC90">7.3 Job Control Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX282"><CODE>auto_resume</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC90">7.3 Job Control Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX283"><CODE>auto_resume</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC90">7.3 Job Control Variables</A></TD></TR>
 <TR><TD COLSPAN=3> <HR></TD></TR>
 <TR><TH><A NAME="vr_B"></A>B</TH><TD></TD><TD></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX130"><CODE>BASH</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC63">5.2 Bash Variables</A></TD></TR>
@@ -13917,15 +13856,15 @@ to permit their use in free software.
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX151"><CODE>BASH_VERSINFO</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC63">5.2 Bash Variables</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX152"><CODE>BASH_VERSION</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC63">5.2 Bash Variables</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX153"><CODE>BASH_VERSION</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC63">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX287"><CODE>bell-style</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC100">8.3.1 Readline Init File Syntax</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX288"><CODE>bind-tty-special-chars</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC100">8.3.1 Readline Init File Syntax</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX289"><CODE>bell-style</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC100">8.3.1 Readline Init File Syntax</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX290"><CODE>bind-tty-special-chars</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC100">8.3.1 Readline Init File Syntax</A></TD></TR>
 <TR><TD COLSPAN=3> <HR></TD></TR>
 <TR><TH><A NAME="vr_C"></A>C</TH><TD></TD><TD></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX110"><CODE>CDPATH</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC62">5.1 Bourne Shell Variables</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX111"><CODE>CDPATH</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC62">5.1 Bourne Shell Variables</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX154"><CODE>COLUMNS</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC63">5.2 Bash Variables</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX155"><CODE>COLUMNS</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC63">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX289"><CODE>comment-begin</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC100">8.3.1 Readline Init File Syntax</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX291"><CODE>comment-begin</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC100">8.3.1 Readline Init File Syntax</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX156"><CODE>COMP_CWORD</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC63">5.2 Bash Variables</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX157"><CODE>COMP_CWORD</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC63">5.2 Bash Variables</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX158"><CODE>COMP_LINE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC63">5.2 Bash Variables</A></TD></TR>
@@ -13936,24 +13875,24 @@ to permit their use in free software.
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX163"><CODE>COMP_WORDBREAKS</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC63">5.2 Bash Variables</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX164"><CODE>COMP_WORDS</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC63">5.2 Bash Variables</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX165"><CODE>COMP_WORDS</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC63">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX290"><CODE>completion-query-items</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC100">8.3.1 Readline Init File Syntax</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX292"><CODE>completion-query-items</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC100">8.3.1 Readline Init File Syntax</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX166"><CODE>COMPREPLY</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC63">5.2 Bash Variables</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX167"><CODE>COMPREPLY</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC63">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX291"><CODE>convert-meta</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC100">8.3.1 Readline Init File Syntax</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX293"><CODE>convert-meta</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC100">8.3.1 Readline Init File Syntax</A></TD></TR>
 <TR><TD COLSPAN=3> <HR></TD></TR>
 <TR><TH><A NAME="vr_D"></A>D</TH><TD></TD><TD></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX168"><CODE>DIRSTACK</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC63">5.2 Bash Variables</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX169"><CODE>DIRSTACK</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC63">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX292"><CODE>disable-completion</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC100">8.3.1 Readline Init File Syntax</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX294"><CODE>disable-completion</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC100">8.3.1 Readline Init File Syntax</A></TD></TR>
 <TR><TD COLSPAN=3> <HR></TD></TR>
 <TR><TH><A NAME="vr_E"></A>E</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX293"><CODE>editing-mode</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC100">8.3.1 Readline Init File Syntax</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX295"><CODE>editing-mode</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC100">8.3.1 Readline Init File Syntax</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX170"><CODE>EMACS</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC63">5.2 Bash Variables</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX171"><CODE>EMACS</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC63">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX294"><CODE>enable-keypad</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC100">8.3.1 Readline Init File Syntax</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX296"><CODE>enable-keypad</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC100">8.3.1 Readline Init File Syntax</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX172"><CODE>EUID</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC63">5.2 Bash Variables</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX173"><CODE>EUID</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC63">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX295"><CODE>expand-tilde</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC100">8.3.1 Readline Init File Syntax</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX297"><CODE>expand-tilde</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC100">8.3.1 Readline Init File Syntax</A></TD></TR>
 <TR><TD COLSPAN=3> <HR></TD></TR>
 <TR><TH><A NAME="vr_F"></A>F</TH><TD></TD><TD></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX174"><CODE>FCEDIT</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC63">5.2 Bash Variables</A></TD></TR>
@@ -13982,14 +13921,14 @@ to permit their use in free software.
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX193"><CODE>HISTFILESIZE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC63">5.2 Bash Variables</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX194"><CODE>HISTIGNORE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC63">5.2 Bash Variables</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX195"><CODE>HISTIGNORE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC63">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX296"><CODE>history-preserve-point</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC100">8.3.1 Readline Init File Syntax</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX298"><CODE>history-preserve-point</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC100">8.3.1 Readline Init File Syntax</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX196"><CODE>HISTSIZE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC63">5.2 Bash Variables</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX197"><CODE>HISTSIZE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC63">5.2 Bash Variables</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX198"><CODE>HISTTIMEFORMAT</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC63">5.2 Bash Variables</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX199"><CODE>HISTTIMEFORMAT</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC63">5.2 Bash Variables</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX112"><CODE>HOME</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC62">5.1 Bourne Shell Variables</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX113"><CODE>HOME</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC62">5.1 Bourne Shell Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX297"><CODE>horizontal-scroll-mode</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC100">8.3.1 Readline Init File Syntax</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX299"><CODE>horizontal-scroll-mode</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC100">8.3.1 Readline Init File Syntax</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX200"><CODE>HOSTFILE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC63">5.2 Bash Variables</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX201"><CODE>HOSTFILE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC63">5.2 Bash Variables</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX202"><CODE>HOSTNAME</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC63">5.2 Bash Variables</A></TD></TR>
@@ -14002,13 +13941,13 @@ to permit their use in free software.
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX115"><CODE>IFS</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC62">5.1 Bourne Shell Variables</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX206"><CODE>IGNOREEOF</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC63">5.2 Bash Variables</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX207"><CODE>IGNOREEOF</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC63">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX298"><CODE>input-meta</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC100">8.3.1 Readline Init File Syntax</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX300"><CODE>input-meta</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC100">8.3.1 Readline Init File Syntax</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX208"><CODE>INPUTRC</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC63">5.2 Bash Variables</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX209"><CODE>INPUTRC</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC63">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX300"><CODE>isearch-terminators</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC100">8.3.1 Readline Init File Syntax</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX302"><CODE>isearch-terminators</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC100">8.3.1 Readline Init File Syntax</A></TD></TR>
 <TR><TD COLSPAN=3> <HR></TD></TR>
 <TR><TH><A NAME="vr_K"></A>K</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX301"><CODE>keymap</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC100">8.3.1 Readline Init File Syntax</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX303"><CODE>keymap</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC100">8.3.1 Readline Init File Syntax</A></TD></TR>
 <TR><TD COLSPAN=3> <HR></TD></TR>
 <TR><TH><A NAME="vr_L"></A>L</TH><TD></TD><TD></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX210"><CODE>LANG</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC63">5.2 Bash Variables</A></TD></TR>
@@ -14038,10 +13977,10 @@ to permit their use in free software.
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX229"><CODE>MAILCHECK</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC63">5.2 Bash Variables</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX118"><CODE>MAILPATH</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC62">5.1 Bourne Shell Variables</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX119"><CODE>MAILPATH</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC62">5.1 Bourne Shell Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX302"><CODE>mark-modified-lines</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC100">8.3.1 Readline Init File Syntax</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX303"><CODE>mark-symlinked-directories</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC100">8.3.1 Readline Init File Syntax</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX304"><CODE>match-hidden-files</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC100">8.3.1 Readline Init File Syntax</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX299"><CODE>meta-flag</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC100">8.3.1 Readline Init File Syntax</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX304"><CODE>mark-modified-lines</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC100">8.3.1 Readline Init File Syntax</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX305"><CODE>mark-symlinked-directories</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC100">8.3.1 Readline Init File Syntax</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX306"><CODE>match-hidden-files</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC100">8.3.1 Readline Init File Syntax</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX301"><CODE>meta-flag</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC100">8.3.1 Readline Init File Syntax</A></TD></TR>
 <TR><TD COLSPAN=3> <HR></TD></TR>
 <TR><TH><A NAME="vr_O"></A>O</TH><TD></TD><TD></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX230"><CODE>OLDPWD</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC63">5.2 Bash Variables</A></TD></TR>
@@ -14054,10 +13993,10 @@ to permit their use in free software.
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX123"><CODE>OPTIND</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC62">5.1 Bourne Shell Variables</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX234"><CODE>OSTYPE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC63">5.2 Bash Variables</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX235"><CODE>OSTYPE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC63">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX305"><CODE>output-meta</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC100">8.3.1 Readline Init File Syntax</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX307"><CODE>output-meta</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC100">8.3.1 Readline Init File Syntax</A></TD></TR>
 <TR><TD COLSPAN=3> <HR></TD></TR>
 <TR><TH><A NAME="vr_P"></A>P</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX306"><CODE>page-completions</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC100">8.3.1 Readline Init File Syntax</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX308"><CODE>page-completions</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC100">8.3.1 Readline Init File Syntax</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX124"><CODE>PATH</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC62">5.1 Bourne Shell Variables</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX125"><CODE>PATH</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC62">5.1 Bourne Shell Variables</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX236"><CODE>PIPESTATUS</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC63">5.2 Bash Variables</A></TD></TR>
@@ -14094,8 +14033,8 @@ to permit their use in free software.
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX259"><CODE>SHELLOPTS</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC63">5.2 Bash Variables</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX260"><CODE>SHLVL</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC63">5.2 Bash Variables</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX261"><CODE>SHLVL</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC63">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX307"><CODE>show-all-if-ambiguous</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC100">8.3.1 Readline Init File Syntax</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX308"><CODE>show-all-if-unmodified</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC100">8.3.1 Readline Init File Syntax</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX309"><CODE>show-all-if-ambiguous</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC100">8.3.1 Readline Init File Syntax</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX310"><CODE>show-all-if-unmodified</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC100">8.3.1 Readline Init File Syntax</A></TD></TR>
 <TR><TD COLSPAN=3> <HR></TD></TR>
 <TR><TH><A NAME="vr_T"></A>T</TH><TD></TD><TD></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX22"><CODE>TEXTDOMAIN</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC13">3.1.2.5 Locale-Specific Translation</A></TD></TR>
@@ -14104,13 +14043,15 @@ to permit their use in free software.
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX263"><CODE>TIMEFORMAT</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC63">5.2 Bash Variables</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX264"><CODE>TMOUT</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC63">5.2 Bash Variables</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX265"><CODE>TMOUT</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC63">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX266"><CODE>TMPDIR</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC63">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX267"><CODE>TMPDIR</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC63">5.2 Bash Variables</A></TD></TR>
 <TR><TD COLSPAN=3> <HR></TD></TR>
 <TR><TH><A NAME="vr_U"></A>U</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX266"><CODE>UID</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC63">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX267"><CODE>UID</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC63">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX268"><CODE>UID</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC63">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX269"><CODE>UID</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC63">5.2 Bash Variables</A></TD></TR>
 <TR><TD COLSPAN=3> <HR></TD></TR>
 <TR><TH><A NAME="vr_V"></A>V</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX309"><CODE>visible-stats</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC100">8.3.1 Readline Init File Syntax</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX311"><CODE>visible-stats</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC100">8.3.1 Readline Init File Syntax</A></TD></TR>
 <TR><TD COLSPAN=3> <HR></TD></TR>
 </TABLE><P></P><table><tr><th valign=top>Jump to: &nbsp; </th><td><A HREF="bashref.html#vr_!" style="text-decoration:none"><b>!</b></A>
  &nbsp; 
@@ -14232,236 +14173,236 @@ to permit their use in free software.
 <TR><TD></TD><TH ALIGN=LEFT>Index Entry</TH><TH ALIGN=LEFT> Section</TH></TR>
 <TR><TD COLSPAN=3> <HR></TD></TR>
 <TR><TH><A NAME="fn_A"></A>A</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX450"><CODE>abort (C-g)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX451"><CODE>abort (C-g)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX326"><CODE>accept-line (Newline or Return)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC105">8.4.2 Commands For Manipulating The History</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX327"><CODE>accept-line (Newline or Return)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC105">8.4.2 Commands For Manipulating The History</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX492"><CODE>alias-expand-line ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX493"><CODE>alias-expand-line ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX452"><CODE>abort (C-g)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX453"><CODE>abort (C-g)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX328"><CODE>accept-line (Newline or Return)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC105">8.4.2 Commands For Manipulating The History</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX329"><CODE>accept-line (Newline or Return)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC105">8.4.2 Commands For Manipulating The History</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX494"><CODE>alias-expand-line ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX495"><CODE>alias-expand-line ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.8 Some Miscellaneous Commands</A></TD></TR>
 <TR><TD COLSPAN=3> <HR></TD></TR>
 <TR><TH><A NAME="fn_B"></A>B</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX316"><CODE>backward-char (C-b)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC104">8.4.1 Commands For Moving</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX317"><CODE>backward-char (C-b)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC104">8.4.1 Commands For Moving</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX354"><CODE>backward-delete-char (Rubout)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC106">8.4.3 Commands For Changing Text</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX355"><CODE>backward-delete-char (Rubout)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC106">8.4.3 Commands For Changing Text</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX376"><CODE>backward-kill-line (C-x Rubout)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC107">8.4.4 Killing And Yanking</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX377"><CODE>backward-kill-line (C-x Rubout)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC107">8.4.4 Killing And Yanking</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX384"><CODE>backward-kill-word (M-<KBD>DEL</KBD>)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC107">8.4.4 Killing And Yanking</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX385"><CODE>backward-kill-word (M-<KBD>DEL</KBD>)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC107">8.4.4 Killing And Yanking</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX320"><CODE>backward-word (M-b)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC104">8.4.1 Commands For Moving</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX321"><CODE>backward-word (M-b)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC104">8.4.1 Commands For Moving</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX332"><CODE>beginning-of-history (M-&#38;#60;)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC105">8.4.2 Commands For Manipulating The History</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX333"><CODE>beginning-of-history (M-&#38;#60;)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC105">8.4.2 Commands For Manipulating The History</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX310"><CODE>beginning-of-line (C-a)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC104">8.4.1 Commands For Moving</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX311"><CODE>beginning-of-line (C-a)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC104">8.4.1 Commands For Moving</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX318"><CODE>backward-char (C-b)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC104">8.4.1 Commands For Moving</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX319"><CODE>backward-char (C-b)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC104">8.4.1 Commands For Moving</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX356"><CODE>backward-delete-char (Rubout)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC106">8.4.3 Commands For Changing Text</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX357"><CODE>backward-delete-char (Rubout)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC106">8.4.3 Commands For Changing Text</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX378"><CODE>backward-kill-line (C-x Rubout)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC107">8.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX379"><CODE>backward-kill-line (C-x Rubout)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC107">8.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX386"><CODE>backward-kill-word (M-<KBD>DEL</KBD>)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC107">8.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX387"><CODE>backward-kill-word (M-<KBD>DEL</KBD>)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC107">8.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX322"><CODE>backward-word (M-b)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC104">8.4.1 Commands For Moving</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX323"><CODE>backward-word (M-b)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC104">8.4.1 Commands For Moving</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX334"><CODE>beginning-of-history (M-&#38;#60;)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC105">8.4.2 Commands For Manipulating The History</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX335"><CODE>beginning-of-history (M-&#38;#60;)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC105">8.4.2 Commands For Manipulating The History</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX312"><CODE>beginning-of-line (C-a)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC104">8.4.1 Commands For Moving</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX313"><CODE>beginning-of-line (C-a)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC104">8.4.1 Commands For Moving</A></TD></TR>
 <TR><TD COLSPAN=3> <HR></TD></TR>
 <TR><TH><A NAME="fn_C"></A>C</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX446"><CODE>call-last-kbd-macro (C-x e)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.7 Keyboard Macros</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX447"><CODE>call-last-kbd-macro (C-x e)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.7 Keyboard Macros</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX370"><CODE>capitalize-word (M-c)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC106">8.4.3 Commands For Changing Text</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX371"><CODE>capitalize-word (M-c)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC106">8.4.3 Commands For Changing Text</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX466"><CODE>character-search (C-])</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX467"><CODE>character-search (C-])</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX468"><CODE>character-search-backward (M-C-])</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX469"><CODE>character-search-backward (M-C-])</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX322"><CODE>clear-screen (C-l)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC104">8.4.1 Commands For Moving</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX323"><CODE>clear-screen (C-l)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC104">8.4.1 Commands For Moving</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX408"><CODE>complete (<KBD>TAB</KBD>)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.6 Letting Readline Type For You</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX409"><CODE>complete (<KBD>TAB</KBD>)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.6 Letting Readline Type For You</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX434"><CODE>complete-command (M-!)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.6 Letting Readline Type For You</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX435"><CODE>complete-command (M-!)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.6 Letting Readline Type For You</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX418"><CODE>complete-filename (M-/)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.6 Letting Readline Type For You</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX419"><CODE>complete-filename (M-/)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.6 Letting Readline Type For You</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX430"><CODE>complete-hostname (M-@)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.6 Letting Readline Type For You</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX431"><CODE>complete-hostname (M-@)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.6 Letting Readline Type For You</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX440"><CODE>complete-into-braces (M-{)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.6 Letting Readline Type For You</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX441"><CODE>complete-into-braces (M-{)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.6 Letting Readline Type For You</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX422"><CODE>complete-username (M-~)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.6 Letting Readline Type For You</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX423"><CODE>complete-username (M-~)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.6 Letting Readline Type For You</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX426"><CODE>complete-variable (M-$)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.6 Letting Readline Type For You</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX427"><CODE>complete-variable (M-$)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.6 Letting Readline Type For You</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX396"><CODE>copy-backward-word ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC107">8.4.4 Killing And Yanking</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX397"><CODE>copy-backward-word ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC107">8.4.4 Killing And Yanking</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX398"><CODE>copy-forward-word ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC107">8.4.4 Killing And Yanking</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX399"><CODE>copy-forward-word ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC107">8.4.4 Killing And Yanking</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX394"><CODE>copy-region-as-kill ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC107">8.4.4 Killing And Yanking</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX395"><CODE>copy-region-as-kill ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC107">8.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX448"><CODE>call-last-kbd-macro (C-x e)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.7 Keyboard Macros</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX449"><CODE>call-last-kbd-macro (C-x e)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.7 Keyboard Macros</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX372"><CODE>capitalize-word (M-c)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC106">8.4.3 Commands For Changing Text</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX373"><CODE>capitalize-word (M-c)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC106">8.4.3 Commands For Changing Text</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX468"><CODE>character-search (C-])</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX469"><CODE>character-search (C-])</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX470"><CODE>character-search-backward (M-C-])</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX471"><CODE>character-search-backward (M-C-])</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX324"><CODE>clear-screen (C-l)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC104">8.4.1 Commands For Moving</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX325"><CODE>clear-screen (C-l)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC104">8.4.1 Commands For Moving</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX410"><CODE>complete (<KBD>TAB</KBD>)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX411"><CODE>complete (<KBD>TAB</KBD>)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX436"><CODE>complete-command (M-!)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX437"><CODE>complete-command (M-!)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX420"><CODE>complete-filename (M-/)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX421"><CODE>complete-filename (M-/)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX432"><CODE>complete-hostname (M-@)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX433"><CODE>complete-hostname (M-@)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX442"><CODE>complete-into-braces (M-{)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX443"><CODE>complete-into-braces (M-{)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX424"><CODE>complete-username (M-~)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX425"><CODE>complete-username (M-~)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX428"><CODE>complete-variable (M-$)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX429"><CODE>complete-variable (M-$)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX398"><CODE>copy-backward-word ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC107">8.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX399"><CODE>copy-backward-word ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC107">8.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX400"><CODE>copy-forward-word ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC107">8.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX401"><CODE>copy-forward-word ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC107">8.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX396"><CODE>copy-region-as-kill ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC107">8.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX397"><CODE>copy-region-as-kill ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC107">8.4.4 Killing And Yanking</A></TD></TR>
 <TR><TD COLSPAN=3> <HR></TD></TR>
 <TR><TH><A NAME="fn_D"></A>D</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX352"><CODE>delete-char (C-d)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC106">8.4.3 Commands For Changing Text</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX353"><CODE>delete-char (C-d)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC106">8.4.3 Commands For Changing Text</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX416"><CODE>delete-char-or-list ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.6 Letting Readline Type For You</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX417"><CODE>delete-char-or-list ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.6 Letting Readline Type For You</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX390"><CODE>delete-horizontal-space ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC107">8.4.4 Killing And Yanking</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX391"><CODE>delete-horizontal-space ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC107">8.4.4 Killing And Yanking</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX404"><CODE>digit-argument (<KBD>M-0</KBD>, <KBD>M-1</KBD>, &#60;small&#62;...&#60;/small&#62; <KBD>M--</KBD>)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC108">8.4.5 Specifying Numeric Arguments</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX405"><CODE>digit-argument (<KBD>M-0</KBD>, <KBD>M-1</KBD>, &#60;small&#62;...&#60;/small&#62; <KBD>M--</KBD>)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC108">8.4.5 Specifying Numeric Arguments</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX484"><CODE>display-shell-version (C-x C-v)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX485"><CODE>display-shell-version (C-x C-v)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX452"><CODE>do-uppercase-version (M-a, M-b, M-<VAR>x</VAR>, &#60;small&#62;...&#60;/small&#62;)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX453"><CODE>do-uppercase-version (M-a, M-b, M-<VAR>x</VAR>, &#60;small&#62;...&#60;/small&#62;)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX368"><CODE>downcase-word (M-l)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC106">8.4.3 Commands For Changing Text</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX369"><CODE>downcase-word (M-l)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC106">8.4.3 Commands For Changing Text</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX472"><CODE>dump-functions ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX473"><CODE>dump-functions ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX476"><CODE>dump-macros ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX477"><CODE>dump-macros ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX474"><CODE>dump-variables ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX475"><CODE>dump-variables ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX438"><CODE>dynamic-complete-history (M-<KBD>TAB</KBD>)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.6 Letting Readline Type For You</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX439"><CODE>dynamic-complete-history (M-<KBD>TAB</KBD>)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX354"><CODE>delete-char (C-d)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC106">8.4.3 Commands For Changing Text</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX355"><CODE>delete-char (C-d)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC106">8.4.3 Commands For Changing Text</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX418"><CODE>delete-char-or-list ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX419"><CODE>delete-char-or-list ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX392"><CODE>delete-horizontal-space ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC107">8.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX393"><CODE>delete-horizontal-space ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC107">8.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX406"><CODE>digit-argument (<KBD>M-0</KBD>, <KBD>M-1</KBD>, &#60;small&#62;...&#60;/small&#62; <KBD>M--</KBD>)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC108">8.4.5 Specifying Numeric Arguments</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX407"><CODE>digit-argument (<KBD>M-0</KBD>, <KBD>M-1</KBD>, &#60;small&#62;...&#60;/small&#62; <KBD>M--</KBD>)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC108">8.4.5 Specifying Numeric Arguments</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX486"><CODE>display-shell-version (C-x C-v)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX487"><CODE>display-shell-version (C-x C-v)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX454"><CODE>do-uppercase-version (M-a, M-b, M-<VAR>x</VAR>, &#60;small&#62;...&#60;/small&#62;)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX455"><CODE>do-uppercase-version (M-a, M-b, M-<VAR>x</VAR>, &#60;small&#62;...&#60;/small&#62;)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX370"><CODE>downcase-word (M-l)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC106">8.4.3 Commands For Changing Text</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX371"><CODE>downcase-word (M-l)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC106">8.4.3 Commands For Changing Text</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX474"><CODE>dump-functions ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX475"><CODE>dump-functions ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX478"><CODE>dump-macros ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX479"><CODE>dump-macros ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX476"><CODE>dump-variables ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX477"><CODE>dump-variables ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX440"><CODE>dynamic-complete-history (M-<KBD>TAB</KBD>)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX441"><CODE>dynamic-complete-history (M-<KBD>TAB</KBD>)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.6 Letting Readline Type For You</A></TD></TR>
 <TR><TD COLSPAN=3> <HR></TD></TR>
 <TR><TH><A NAME="fn_E"></A>E</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX500"><CODE>edit-and-execute-command (C-xC-e)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX501"><CODE>edit-and-execute-command (C-xC-e)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX444"><CODE>end-kbd-macro (C-x ))</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.7 Keyboard Macros</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX445"><CODE>end-kbd-macro (C-x ))</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.7 Keyboard Macros</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX334"><CODE>end-of-history (M-&#38;#62;)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC105">8.4.2 Commands For Manipulating The History</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX335"><CODE>end-of-history (M-&#38;#62;)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC105">8.4.2 Commands For Manipulating The History</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX312"><CODE>end-of-line (C-e)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC104">8.4.1 Commands For Moving</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX313"><CODE>end-of-line (C-e)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC104">8.4.1 Commands For Moving</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX464"><CODE>exchange-point-and-mark (C-x C-x)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX465"><CODE>exchange-point-and-mark (C-x C-x)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX502"><CODE>edit-and-execute-command (C-xC-e)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX503"><CODE>edit-and-execute-command (C-xC-e)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX446"><CODE>end-kbd-macro (C-x ))</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.7 Keyboard Macros</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX447"><CODE>end-kbd-macro (C-x ))</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.7 Keyboard Macros</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX336"><CODE>end-of-history (M-&#38;#62;)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC105">8.4.2 Commands For Manipulating The History</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX337"><CODE>end-of-history (M-&#38;#62;)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC105">8.4.2 Commands For Manipulating The History</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX314"><CODE>end-of-line (C-e)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC104">8.4.1 Commands For Moving</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX315"><CODE>end-of-line (C-e)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC104">8.4.1 Commands For Moving</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX466"><CODE>exchange-point-and-mark (C-x C-x)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX467"><CODE>exchange-point-and-mark (C-x C-x)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.8 Some Miscellaneous Commands</A></TD></TR>
 <TR><TD COLSPAN=3> <HR></TD></TR>
 <TR><TH><A NAME="fn_F"></A>F</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX356"><CODE>forward-backward-delete-char ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC106">8.4.3 Commands For Changing Text</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX357"><CODE>forward-backward-delete-char ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC106">8.4.3 Commands For Changing Text</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX314"><CODE>forward-char (C-f)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC104">8.4.1 Commands For Moving</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX315"><CODE>forward-char (C-f)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC104">8.4.1 Commands For Moving</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX338"><CODE>forward-search-history (C-s)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC105">8.4.2 Commands For Manipulating The History</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX339"><CODE>forward-search-history (C-s)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC105">8.4.2 Commands For Manipulating The History</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX318"><CODE>forward-word (M-f)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC104">8.4.1 Commands For Moving</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX319"><CODE>forward-word (M-f)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC104">8.4.1 Commands For Moving</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX358"><CODE>forward-backward-delete-char ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC106">8.4.3 Commands For Changing Text</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX359"><CODE>forward-backward-delete-char ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC106">8.4.3 Commands For Changing Text</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX316"><CODE>forward-char (C-f)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC104">8.4.1 Commands For Moving</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX317"><CODE>forward-char (C-f)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC104">8.4.1 Commands For Moving</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX340"><CODE>forward-search-history (C-s)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC105">8.4.2 Commands For Manipulating The History</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX341"><CODE>forward-search-history (C-s)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC105">8.4.2 Commands For Manipulating The History</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX320"><CODE>forward-word (M-f)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC104">8.4.1 Commands For Moving</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX321"><CODE>forward-word (M-f)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC104">8.4.1 Commands For Moving</A></TD></TR>
 <TR><TD COLSPAN=3> <HR></TD></TR>
 <TR><TH><A NAME="fn_G"></A>G</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX478"><CODE>glob-complete-word (M-g)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX479"><CODE>glob-complete-word (M-g)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX480"><CODE>glob-expand-word (C-x *)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX481"><CODE>glob-expand-word (C-x *)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX482"><CODE>glob-list-expansions (C-x g)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX483"><CODE>glob-list-expansions (C-x g)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX480"><CODE>glob-complete-word (M-g)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX481"><CODE>glob-complete-word (M-g)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX482"><CODE>glob-expand-word (C-x *)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX483"><CODE>glob-expand-word (C-x *)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX484"><CODE>glob-list-expansions (C-x g)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX485"><CODE>glob-list-expansions (C-x g)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.8 Some Miscellaneous Commands</A></TD></TR>
 <TR><TD COLSPAN=3> <HR></TD></TR>
 <TR><TH><A NAME="fn_H"></A>H</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX494"><CODE>history-and-alias-expand-line ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX495"><CODE>history-and-alias-expand-line ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX488"><CODE>history-expand-line (M-^)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX489"><CODE>history-expand-line (M-^)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX346"><CODE>history-search-backward ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC105">8.4.2 Commands For Manipulating The History</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX347"><CODE>history-search-backward ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC105">8.4.2 Commands For Manipulating The History</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX344"><CODE>history-search-forward ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC105">8.4.2 Commands For Manipulating The History</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX345"><CODE>history-search-forward ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC105">8.4.2 Commands For Manipulating The History</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX496"><CODE>history-and-alias-expand-line ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX497"><CODE>history-and-alias-expand-line ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX490"><CODE>history-expand-line (M-^)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX491"><CODE>history-expand-line (M-^)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX348"><CODE>history-search-backward ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC105">8.4.2 Commands For Manipulating The History</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX349"><CODE>history-search-backward ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC105">8.4.2 Commands For Manipulating The History</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX346"><CODE>history-search-forward ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC105">8.4.2 Commands For Manipulating The History</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX347"><CODE>history-search-forward ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC105">8.4.2 Commands For Manipulating The History</A></TD></TR>
 <TR><TD COLSPAN=3> <HR></TD></TR>
 <TR><TH><A NAME="fn_I"></A>I</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX470"><CODE>insert-comment (M-#)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX471"><CODE>insert-comment (M-#)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX412"><CODE>insert-completions (M-*)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.6 Letting Readline Type For You</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX413"><CODE>insert-completions (M-*)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.6 Letting Readline Type For You</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX496"><CODE>insert-last-argument (M-. or M-_)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX497"><CODE>insert-last-argument (M-. or M-_)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX472"><CODE>insert-comment (M-#)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX473"><CODE>insert-comment (M-#)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX414"><CODE>insert-completions (M-*)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX415"><CODE>insert-completions (M-*)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX498"><CODE>insert-last-argument (M-. or M-_)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX499"><CODE>insert-last-argument (M-. or M-_)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.8 Some Miscellaneous Commands</A></TD></TR>
 <TR><TD COLSPAN=3> <HR></TD></TR>
 <TR><TH><A NAME="fn_K"></A>K</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX374"><CODE>kill-line (C-k)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC107">8.4.4 Killing And Yanking</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX375"><CODE>kill-line (C-k)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC107">8.4.4 Killing And Yanking</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX392"><CODE>kill-region ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC107">8.4.4 Killing And Yanking</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX393"><CODE>kill-region ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC107">8.4.4 Killing And Yanking</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX380"><CODE>kill-whole-line ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC107">8.4.4 Killing And Yanking</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX381"><CODE>kill-whole-line ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC107">8.4.4 Killing And Yanking</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX382"><CODE>kill-word (M-d)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC107">8.4.4 Killing And Yanking</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX383"><CODE>kill-word (M-d)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC107">8.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX376"><CODE>kill-line (C-k)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC107">8.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX377"><CODE>kill-line (C-k)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC107">8.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX394"><CODE>kill-region ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC107">8.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX395"><CODE>kill-region ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC107">8.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX382"><CODE>kill-whole-line ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC107">8.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX383"><CODE>kill-whole-line ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC107">8.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX384"><CODE>kill-word (M-d)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC107">8.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX385"><CODE>kill-word (M-d)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC107">8.4.4 Killing And Yanking</A></TD></TR>
 <TR><TD COLSPAN=3> <HR></TD></TR>
 <TR><TH><A NAME="fn_M"></A>M</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX490"><CODE>magic-space ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX491"><CODE>magic-space ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX414"><CODE>menu-complete ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.6 Letting Readline Type For You</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX415"><CODE>menu-complete ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX492"><CODE>magic-space ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX493"><CODE>magic-space ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX416"><CODE>menu-complete ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX417"><CODE>menu-complete ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.6 Letting Readline Type For You</A></TD></TR>
 <TR><TD COLSPAN=3> <HR></TD></TR>
 <TR><TH><A NAME="fn_N"></A>N</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX330"><CODE>next-history (C-n)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC105">8.4.2 Commands For Manipulating The History</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX331"><CODE>next-history (C-n)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC105">8.4.2 Commands For Manipulating The History</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX342"><CODE>non-incremental-forward-search-history (M-n)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC105">8.4.2 Commands For Manipulating The History</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX343"><CODE>non-incremental-forward-search-history (M-n)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC105">8.4.2 Commands For Manipulating The History</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX340"><CODE>non-incremental-reverse-search-history (M-p)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC105">8.4.2 Commands For Manipulating The History</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX341"><CODE>non-incremental-reverse-search-history (M-p)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC105">8.4.2 Commands For Manipulating The History</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX332"><CODE>next-history (C-n)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC105">8.4.2 Commands For Manipulating The History</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX333"><CODE>next-history (C-n)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC105">8.4.2 Commands For Manipulating The History</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX344"><CODE>non-incremental-forward-search-history (M-n)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC105">8.4.2 Commands For Manipulating The History</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX345"><CODE>non-incremental-forward-search-history (M-n)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC105">8.4.2 Commands For Manipulating The History</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX342"><CODE>non-incremental-reverse-search-history (M-p)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC105">8.4.2 Commands For Manipulating The History</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX343"><CODE>non-incremental-reverse-search-history (M-p)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC105">8.4.2 Commands For Manipulating The History</A></TD></TR>
 <TR><TD COLSPAN=3> <HR></TD></TR>
 <TR><TH><A NAME="fn_O"></A>O</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX498"><CODE>operate-and-get-next (C-o)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX499"><CODE>operate-and-get-next (C-o)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX372"><CODE>overwrite-mode ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC106">8.4.3 Commands For Changing Text</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX373"><CODE>overwrite-mode ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC106">8.4.3 Commands For Changing Text</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX500"><CODE>operate-and-get-next (C-o)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX501"><CODE>operate-and-get-next (C-o)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX374"><CODE>overwrite-mode ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC106">8.4.3 Commands For Changing Text</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX375"><CODE>overwrite-mode ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC106">8.4.3 Commands For Changing Text</A></TD></TR>
 <TR><TD COLSPAN=3> <HR></TD></TR>
 <TR><TH><A NAME="fn_P"></A>P</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX436"><CODE>possible-command-completions (C-x !)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.6 Letting Readline Type For You</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX437"><CODE>possible-command-completions (C-x !)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.6 Letting Readline Type For You</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX410"><CODE>possible-completions (M-?)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.6 Letting Readline Type For You</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX411"><CODE>possible-completions (M-?)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.6 Letting Readline Type For You</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX420"><CODE>possible-filename-completions (C-x /)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.6 Letting Readline Type For You</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX421"><CODE>possible-filename-completions (C-x /)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.6 Letting Readline Type For You</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX432"><CODE>possible-hostname-completions (C-x @)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.6 Letting Readline Type For You</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX433"><CODE>possible-hostname-completions (C-x @)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.6 Letting Readline Type For You</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX424"><CODE>possible-username-completions (C-x ~)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.6 Letting Readline Type For You</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX425"><CODE>possible-username-completions (C-x ~)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.6 Letting Readline Type For You</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX428"><CODE>possible-variable-completions (C-x $)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.6 Letting Readline Type For You</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX429"><CODE>possible-variable-completions (C-x $)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.6 Letting Readline Type For You</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX454"><CODE>prefix-meta (<KBD>ESC</KBD>)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX455"><CODE>prefix-meta (<KBD>ESC</KBD>)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX328"><CODE>previous-history (C-p)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC105">8.4.2 Commands For Manipulating The History</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX329"><CODE>previous-history (C-p)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC105">8.4.2 Commands For Manipulating The History</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX438"><CODE>possible-command-completions (C-x !)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX439"><CODE>possible-command-completions (C-x !)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX412"><CODE>possible-completions (M-?)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX413"><CODE>possible-completions (M-?)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX422"><CODE>possible-filename-completions (C-x /)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX423"><CODE>possible-filename-completions (C-x /)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX434"><CODE>possible-hostname-completions (C-x @)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX435"><CODE>possible-hostname-completions (C-x @)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX426"><CODE>possible-username-completions (C-x ~)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX427"><CODE>possible-username-completions (C-x ~)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX430"><CODE>possible-variable-completions (C-x $)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX431"><CODE>possible-variable-completions (C-x $)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX456"><CODE>prefix-meta (<KBD>ESC</KBD>)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX457"><CODE>prefix-meta (<KBD>ESC</KBD>)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX330"><CODE>previous-history (C-p)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC105">8.4.2 Commands For Manipulating The History</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX331"><CODE>previous-history (C-p)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC105">8.4.2 Commands For Manipulating The History</A></TD></TR>
 <TR><TD COLSPAN=3> <HR></TD></TR>
 <TR><TH><A NAME="fn_Q"></A>Q</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX358"><CODE>quoted-insert (C-q or C-v)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC106">8.4.3 Commands For Changing Text</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX359"><CODE>quoted-insert (C-q or C-v)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC106">8.4.3 Commands For Changing Text</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX360"><CODE>quoted-insert (C-q or C-v)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC106">8.4.3 Commands For Changing Text</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX361"><CODE>quoted-insert (C-q or C-v)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC106">8.4.3 Commands For Changing Text</A></TD></TR>
 <TR><TD COLSPAN=3> <HR></TD></TR>
 <TR><TH><A NAME="fn_R"></A>R</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX448"><CODE>re-read-init-file (C-x C-r)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX449"><CODE>re-read-init-file (C-x C-r)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX324"><CODE>redraw-current-line ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC104">8.4.1 Commands For Moving</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX325"><CODE>redraw-current-line ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC104">8.4.1 Commands For Moving</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX336"><CODE>reverse-search-history (C-r)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC105">8.4.2 Commands For Manipulating The History</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX337"><CODE>reverse-search-history (C-r)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC105">8.4.2 Commands For Manipulating The History</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX458"><CODE>revert-line (M-r)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX459"><CODE>revert-line (M-r)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX450"><CODE>re-read-init-file (C-x C-r)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX451"><CODE>re-read-init-file (C-x C-r)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX326"><CODE>redraw-current-line ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC104">8.4.1 Commands For Moving</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX327"><CODE>redraw-current-line ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC104">8.4.1 Commands For Moving</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX338"><CODE>reverse-search-history (C-r)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC105">8.4.2 Commands For Manipulating The History</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX339"><CODE>reverse-search-history (C-r)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC105">8.4.2 Commands For Manipulating The History</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX460"><CODE>revert-line (M-r)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX461"><CODE>revert-line (M-r)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.8 Some Miscellaneous Commands</A></TD></TR>
 <TR><TD COLSPAN=3> <HR></TD></TR>
 <TR><TH><A NAME="fn_S"></A>S</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX360"><CODE>self-insert (a, b, A, 1, !, &#60;small&#62;...&#60;/small&#62;)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC106">8.4.3 Commands For Changing Text</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX361"><CODE>self-insert (a, b, A, 1, !, &#60;small&#62;...&#60;/small&#62;)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC106">8.4.3 Commands For Changing Text</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX462"><CODE>set-mark (C-@)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX463"><CODE>set-mark (C-@)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX486"><CODE>shell-expand-line (M-C-e)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX487"><CODE>shell-expand-line (M-C-e)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX442"><CODE>start-kbd-macro (C-x ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.7 Keyboard Macros</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX443"><CODE>start-kbd-macro (C-x ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.7 Keyboard Macros</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX362"><CODE>self-insert (a, b, A, 1, !, &#60;small&#62;...&#60;/small&#62;)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC106">8.4.3 Commands For Changing Text</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX363"><CODE>self-insert (a, b, A, 1, !, &#60;small&#62;...&#60;/small&#62;)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC106">8.4.3 Commands For Changing Text</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX464"><CODE>set-mark (C-@)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX465"><CODE>set-mark (C-@)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX488"><CODE>shell-expand-line (M-C-e)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX489"><CODE>shell-expand-line (M-C-e)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX444"><CODE>start-kbd-macro (C-x ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.7 Keyboard Macros</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX445"><CODE>start-kbd-macro (C-x ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.7 Keyboard Macros</A></TD></TR>
 <TR><TD COLSPAN=3> <HR></TD></TR>
 <TR><TH><A NAME="fn_T"></A>T</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX460"><CODE>tilde-expand (M-&#38;#38;)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX461"><CODE>tilde-expand (M-&#38;#38;)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX362"><CODE>transpose-chars (C-t)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC106">8.4.3 Commands For Changing Text</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX363"><CODE>transpose-chars (C-t)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC106">8.4.3 Commands For Changing Text</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX364"><CODE>transpose-words (M-t)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC106">8.4.3 Commands For Changing Text</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX365"><CODE>transpose-words (M-t)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC106">8.4.3 Commands For Changing Text</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX462"><CODE>tilde-expand (M-&#38;#38;)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX463"><CODE>tilde-expand (M-&#38;#38;)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX364"><CODE>transpose-chars (C-t)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC106">8.4.3 Commands For Changing Text</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX365"><CODE>transpose-chars (C-t)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC106">8.4.3 Commands For Changing Text</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX366"><CODE>transpose-words (M-t)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC106">8.4.3 Commands For Changing Text</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX367"><CODE>transpose-words (M-t)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC106">8.4.3 Commands For Changing Text</A></TD></TR>
 <TR><TD COLSPAN=3> <HR></TD></TR>
 <TR><TH><A NAME="fn_U"></A>U</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX456"><CODE>undo (C-_ or C-x C-u)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX457"><CODE>undo (C-_ or C-x C-u)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX406"><CODE>universal-argument ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC108">8.4.5 Specifying Numeric Arguments</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX407"><CODE>universal-argument ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC108">8.4.5 Specifying Numeric Arguments</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX388"><CODE>unix-filename-rubout ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC107">8.4.4 Killing And Yanking</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX389"><CODE>unix-filename-rubout ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC107">8.4.4 Killing And Yanking</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX378"><CODE>unix-line-discard (C-u)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC107">8.4.4 Killing And Yanking</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX379"><CODE>unix-line-discard (C-u)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC107">8.4.4 Killing And Yanking</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX386"><CODE>unix-word-rubout (C-w)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC107">8.4.4 Killing And Yanking</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX387"><CODE>unix-word-rubout (C-w)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC107">8.4.4 Killing And Yanking</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX366"><CODE>upcase-word (M-u)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC106">8.4.3 Commands For Changing Text</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX367"><CODE>upcase-word (M-u)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC106">8.4.3 Commands For Changing Text</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX458"><CODE>undo (C-_ or C-x C-u)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX459"><CODE>undo (C-_ or C-x C-u)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX408"><CODE>universal-argument ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC108">8.4.5 Specifying Numeric Arguments</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX409"><CODE>universal-argument ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC108">8.4.5 Specifying Numeric Arguments</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX390"><CODE>unix-filename-rubout ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC107">8.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX391"><CODE>unix-filename-rubout ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC107">8.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX380"><CODE>unix-line-discard (C-u)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC107">8.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX381"><CODE>unix-line-discard (C-u)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC107">8.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX388"><CODE>unix-word-rubout (C-w)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC107">8.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX389"><CODE>unix-word-rubout (C-w)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC107">8.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX368"><CODE>upcase-word (M-u)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC106">8.4.3 Commands For Changing Text</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX369"><CODE>upcase-word (M-u)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC106">8.4.3 Commands For Changing Text</A></TD></TR>
 <TR><TD COLSPAN=3> <HR></TD></TR>
 <TR><TH><A NAME="fn_Y"></A>Y</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX400"><CODE>yank (C-y)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC107">8.4.4 Killing And Yanking</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX401"><CODE>yank (C-y)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC107">8.4.4 Killing And Yanking</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX350"><CODE>yank-last-arg (M-. or M-_)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC105">8.4.2 Commands For Manipulating The History</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX351"><CODE>yank-last-arg (M-. or M-_)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC105">8.4.2 Commands For Manipulating The History</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX348"><CODE>yank-nth-arg (M-C-y)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC105">8.4.2 Commands For Manipulating The History</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX349"><CODE>yank-nth-arg (M-C-y)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC105">8.4.2 Commands For Manipulating The History</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX402"><CODE>yank-pop (M-y)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC107">8.4.4 Killing And Yanking</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX403"><CODE>yank-pop (M-y)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC107">8.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX402"><CODE>yank (C-y)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC107">8.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX403"><CODE>yank (C-y)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC107">8.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX352"><CODE>yank-last-arg (M-. or M-_)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC105">8.4.2 Commands For Manipulating The History</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX353"><CODE>yank-last-arg (M-. or M-_)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC105">8.4.2 Commands For Manipulating The History</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX350"><CODE>yank-nth-arg (M-C-y)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC105">8.4.2 Commands For Manipulating The History</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX351"><CODE>yank-nth-arg (M-C-y)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC105">8.4.2 Commands For Manipulating The History</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX404"><CODE>yank-pop (M-y)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC107">8.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX405"><CODE>yank-pop (M-y)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC107">8.4.4 Killing And Yanking</A></TD></TR>
 <TR><TD COLSPAN=3> <HR></TD></TR>
 </TABLE><P></P><table><tr><th valign=top>Jump to: &nbsp; </th><td><A HREF="bashref.html#fn_A" style="text-decoration:none"><b>A</b></A>
  &nbsp; 
@@ -14627,7 +14568,7 @@ to permit their use in free software.
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC78">expressions, conditional</A></TD><TD valign=top><A HREF="bashref.html#SEC78">6.4 Bash Conditional Expressions</A></TD></TR>
 <TR><TD COLSPAN=3> <HR></TD></TR>
 <TR><TH><A NAME="cp_F"></A>F</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX508">FDL, GNU Free Documentation License</A></TD><TD valign=top><A HREF="bashref.html#SEC135">C.1 GNU Free Documentation License</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX510">FDL, GNU Free Documentation License</A></TD><TD valign=top><A HREF="bashref.html#SEC135">C.1 GNU Free Documentation License</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX5">field</A></TD><TD valign=top><A HREF="bashref.html#SEC4">2. Definitions</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX6">filename</A></TD><TD valign=top><A HREF="bashref.html#SEC4">2. Definitions</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX66">filename expansion</A></TD><TD valign=top><A HREF="bashref.html#SEC35">3.5.8 Filename Expansion</A></TD></TR>
@@ -14636,17 +14577,17 @@ to permit their use in free software.
 <TR><TD COLSPAN=3> <HR></TD></TR>
 <TR><TH><A NAME="cp_H"></A>H</TH><TD></TD><TD></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC117">history builtins</A></TD><TD valign=top><A HREF="bashref.html#SEC117">9.2 Bash History Builtins</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX507">history events</A></TD><TD valign=top><A HREF="bashref.html#SEC119">9.3.1 Event Designators</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX509">history events</A></TD><TD valign=top><A HREF="bashref.html#SEC119">9.3.1 Event Designators</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC118">history expansion</A></TD><TD valign=top><A HREF="bashref.html#SEC118">9.3 History Expansion</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC116">history list</A></TD><TD valign=top><A HREF="bashref.html#SEC116">9.1 Bash History Facilities</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX504">History, how to use</A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.7 Programmable Completion Builtins</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX506">History, how to use</A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.7 Programmable Completion Builtins</A></TD></TR>
 <TR><TD COLSPAN=3> <HR></TD></TR>
 <TR><TH><A NAME="cp_I"></A>I</TH><TD></TD><TD></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX11">identifier</A></TD><TD valign=top><A HREF="bashref.html#SEC4">2. Definitions</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC99">initialization file, readline</A></TD><TD valign=top><A HREF="bashref.html#SEC99">8.3 Readline Init File</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC123">installation</A></TD><TD valign=top><A HREF="bashref.html#SEC123">10.1 Basic Installation</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC93">interaction, readline</A></TD><TD valign=top><A HREF="bashref.html#SEC93">8.2 Readline Interaction</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX269">interactive shell</A></TD><TD valign=top><A HREF="bashref.html#SEC65">6.1 Invoking Bash</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX271">interactive shell</A></TD><TD valign=top><A HREF="bashref.html#SEC65">6.1 Invoking Bash</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC74">interactive shell</A></TD><TD valign=top><A HREF="bashref.html#SEC74">6.3 Interactive Shells</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC13">internationalization</A></TD><TD valign=top><A HREF="bashref.html#SEC13">3.1.2.5 Locale-Specific Translation</A></TD></TR>
 <TR><TD COLSPAN=3> <HR></TD></TR>
@@ -14656,12 +14597,12 @@ to permit their use in free software.
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC88">job control</A></TD><TD valign=top><A HREF="bashref.html#SEC88">7.1 Job Control Basics</A></TD></TR>
 <TR><TD COLSPAN=3> <HR></TD></TR>
 <TR><TH><A NAME="cp_K"></A>K</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX285">kill ring</A></TD><TD valign=top><A HREF="bashref.html#SEC96">8.2.3 Readline Killing Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX283">killing text</A></TD><TD valign=top><A HREF="bashref.html#SEC96">8.2.3 Readline Killing Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX287">kill ring</A></TD><TD valign=top><A HREF="bashref.html#SEC96">8.2.3 Readline Killing Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX285">killing text</A></TD><TD valign=top><A HREF="bashref.html#SEC96">8.2.3 Readline Killing Commands</A></TD></TR>
 <TR><TD COLSPAN=3> <HR></TD></TR>
 <TR><TH><A NAME="cp_L"></A>L</TH><TD></TD><TD></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC13">localization</A></TD><TD valign=top><A HREF="bashref.html#SEC13">3.1.2.5 Locale-Specific Translation</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX268">login shell</A></TD><TD valign=top><A HREF="bashref.html#SEC65">6.1 Invoking Bash</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX270">login shell</A></TD><TD valign=top><A HREF="bashref.html#SEC65">6.1 Invoking Bash</A></TD></TR>
 <TR><TD COLSPAN=3> <HR></TD></TR>
 <TR><TH><A NAME="cp_M"></A>M</TH><TD></TD><TD></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC36">matching, pattern</A></TD><TD valign=top><A HREF="bashref.html#SEC36">3.5.8.1 Pattern Matching</A></TD></TR>
@@ -14696,7 +14637,7 @@ to permit their use in free software.
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC12">quoting, ANSI</A></TD><TD valign=top><A HREF="bashref.html#SEC12">3.1.2.4 ANSI-C Quoting</A></TD></TR>
 <TR><TD COLSPAN=3> <HR></TD></TR>
 <TR><TH><A NAME="cp_R"></A>R</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX282">Readline, how to use</A></TD><TD valign=top><A HREF="bashref.html#SEC90">7.3 Job Control Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX284">Readline, how to use</A></TD><TD valign=top><A HREF="bashref.html#SEC90">7.3 Job Control Variables</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC38">redirection</A></TD><TD valign=top><A HREF="bashref.html#SEC38">3.6 Redirections</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX15">reserved word</A></TD><TD valign=top><A HREF="bashref.html#SEC4">2. Definitions</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC85">restricted shell</A></TD><TD valign=top><A HREF="bashref.html#SEC85">6.10 The Restricted Shell</A></TD></TR>
@@ -14722,14 +14663,14 @@ to permit their use in free software.
 <TR><TD COLSPAN=3> <HR></TD></TR>
 <TR><TH><A NAME="cp_V"></A>V</TH><TD></TD><TD></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC24">variable, shell</A></TD><TD valign=top><A HREF="bashref.html#SEC24">3.4 Shell Parameters</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX286">variables, readline</A></TD><TD valign=top><A HREF="bashref.html#SEC100">8.3.1 Readline Init File Syntax</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX288">variables, readline</A></TD><TD valign=top><A HREF="bashref.html#SEC100">8.3.1 Readline Init File Syntax</A></TD></TR>
 <TR><TD COLSPAN=3> <HR></TD></TR>
 <TR><TH><A NAME="cp_W"></A>W</TH><TD></TD><TD></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX20">word</A></TD><TD valign=top><A HREF="bashref.html#SEC4">2. Definitions</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC34">word splitting</A></TD><TD valign=top><A HREF="bashref.html#SEC34">3.5.7 Word Splitting</A></TD></TR>
 <TR><TD COLSPAN=3> <HR></TD></TR>
 <TR><TH><A NAME="cp_Y"></A>Y</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX284">yanking text</A></TD><TD valign=top><A HREF="bashref.html#SEC96">8.2.3 Readline Killing Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX286">yanking text</A></TD><TD valign=top><A HREF="bashref.html#SEC96">8.2.3 Readline Killing Commands</A></TD></TR>
 <TR><TD COLSPAN=3> <HR></TD></TR>
 </TABLE><P></P><table><tr><th valign=top>Jump to: &nbsp; </th><td><A HREF="bashref.html#cp_A" style="text-decoration:none"><b>A</b></A>
  &nbsp; 
@@ -15167,7 +15108,7 @@ to permit their use in free software.
 <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
 </TR></TABLE>
 <H1>About this document</H1>
-This document was generated by <I>Chet Ramey</I> on <I>March, 15  2005</I>
+This document was generated by <I>Chet Ramey</I> on <I>October, 3  2005</I>
 using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
 "><I>texi2html</I></A>
 <P></P>  
@@ -15329,7 +15270,7 @@ the following structure:
 <BR>  
 <FONT SIZE="-1">
 This document was generated
-by <I>Chet Ramey</I> on <I>March, 15  2005</I>
+by <I>Chet Ramey</I> on <I>October, 3  2005</I>
 using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
 "><I>texi2html</I></A>
 
index 32e76d6..ce029be 100644 (file)
@@ -2,10 +2,10 @@ This is bashref.info, produced by makeinfo version 4.7 from
 /Users/chet/src/bash/src/doc/bashref.texi.
 
    This text is a brief description of the features that are present in
-the Bash shell (version 3.1-devel, 15 March 2005).
+the Bash shell (version 3.1-beta1, 5 September 2005).
 
-   This is Edition 3.1-devel, last updated 15 March 2005, of `The GNU
-Bash Reference Manual', for `Bash', Version 3.1-devel.
+   This is Edition 3.1-beta1, last updated 5 September 2005, of `The
+GNU Bash Reference Manual', for `Bash', Version 3.1-beta1.
 
    Copyright (C) 1988-2005 Free Software Foundation, Inc.
 
@@ -37,10 +37,10 @@ Bash Features
 *************
 
 This text is a brief description of the features that are present in
-the Bash shell (version 3.1-devel, 15 March 2005)..
+the Bash shell (version 3.1-beta1, 5 September 2005)..
 
-   This is Edition 3.1-devel, last updated 15 March 2005, of `The GNU
-Bash Reference Manual', for `Bash', Version 3.1-devel.
+   This is Edition 3.1-beta1, last updated 5 September 2005, of `The
+GNU Bash Reference Manual', for `Bash', Version 3.1-beta1.
 
    Bash contains features that appear in other popular shells, and some
 features that only appear in Bash.  Some of the shells that Bash has
@@ -56,46 +56,28 @@ on shell behavior.
 * Menu:
 
 * Introduction::               An introduction to the shell.
-
 * Definitions::                        Some definitions used in the rest of this
                                manual.
-
 * Basic Shell Features::       The shell "building blocks".
-
 * Shell Builtin Commands::     Commands that are a part of the shell.
-
 * Shell Variables::            Variables used or set by Bash.
-
 * Bash Features::              Features found only in Bash.
-
-* Job Control::                        A chapter describing what job control is
-                               and how Bash allows you to use it.
-
-* Using History Interactively::        Chapter dealing with history expansion
-                               rules.
-
+* Job Control::                        What job control is and how Bash allows you
+                               to use it.
+* Using History Interactively::        Command History Expansion
 * Command Line Editing::       Chapter describing the command line
                                editing features.
-
 * Installing Bash::            How to build and install Bash on your system.
-
 * Reporting Bugs::             How to report bugs in Bash.
-
 * Major Differences From The Bourne Shell::    A terse list of the differences
                                                between Bash and historical
                                                versions of /bin/sh.
-
 * Copying This Manual::                Copying this manual.
-
 * Builtin Index::              Index of Bash builtin commands.
-
 * Reserved Word Index::                Index of Bash reserved words.
-
 * Variable Index::             Quick reference helps you find the
                                variable you want.
-
 * Function Index::             Index of bindable Readline functions.
-
 * Concept Index::              General index for concepts described in
                                this manual.
 
@@ -108,7 +90,6 @@ File: bashref.info,  Node: Introduction,  Next: Definitions,  Prev: Top,  Up: To
 * Menu:
 
 * What is Bash?::              A short description of Bash.
-
 * What is a shell?::           A brief introduction to shells.
 
 \1f
@@ -313,9 +294,7 @@ File: bashref.info,  Node: Shell Syntax,  Next: Shell Commands,  Up: Basic Shell
 * Menu:
 
 * Shell Operation::    The basic operation of the shell.
-
 * Quoting::            How to remove the special meaning from characters.
-
 * Comments::           How to specify comments.
 
    When the shell reads input, it proceeds through a sequence of
@@ -382,7 +361,6 @@ File: bashref.info,  Node: Quoting,  Next: Comments,  Prev: Shell Operation,  Up
 * Double Quotes::      How to suppress most of the interpretation of a
                        sequence of characters.
 * ANSI-C Quoting::     How to expand ANSI-C sequences in quoted strings.
-
 * Locale Translation:: How to translate strings into different languages.
 
    Quoting is used to remove the special meaning of certain characters
@@ -1926,18 +1904,13 @@ File: bashref.info,  Node: Executing Commands,  Next: Shell Scripts,  Prev: Redi
 
 * Simple Command Expansion::   How Bash expands simple commands before
                                executing them.
-
 * Command Search and Execution::       How Bash finds commands and runs them.
-
 * Command Execution Environment::      The environment in which Bash
                                        executes commands that are not
                                        shell builtins.
-
 * Environment::                The environment given to a command.
-
 * Exit Status::                The status returned by commands and how Bash
                        interprets it.
-
 * Signals::            What happens when Bash or a command it runs
                        receives a signal.
 
@@ -2295,6 +2268,8 @@ Completion Builtins::).
 
    Unless otherwise noted, each builtin command documented as accepting
 options preceded by `-' accepts `--' to signify the end of the options.
+For example, the `:', `true', `false', and `test' builtins do not
+accept options.
 
 \1f
 File: bashref.info,  Node: Bourne Shell Builtins,  Next: Bash Builtins,  Up: Shell Builtin Commands
@@ -2511,6 +2486,8 @@ standard.
      Evaluate a conditional expression EXPR.  Each operator and operand
      must be a separate argument.  Expressions are composed of the
      primaries described below in *Note Bash Conditional Expressions::.
+     `test' does not accept any options, nor does it accept and ignore
+     an argument of `--' as signifying the end of options.
 
      When the `[' form is used, the last argument to the command must
      be a `]'.
@@ -2843,7 +2820,10 @@ POSIX 1003.2 standard.
      escape characters, even on systems where they are interpreted by
      default.  The `xpg_echo' shell option may be used to dynamically
      determine whether or not `echo' expands these escape characters by
-     default.  `echo' interprets the following escape sequences:
+     default.  `echo' does not interpret `--' to mean the end of
+     options.
+
+     `echo' interprets the following escape sequences:
     `\a'
           alert (bell)
 
@@ -4199,6 +4179,10 @@ Variables::).
      the shell is interactive.  Bash terminates after that number of
      seconds if input does not arrive.
 
+`TMPDIR'
+     If set, Bash uses its value as the name of a directory in which
+     Bash creates temporary files for the shell's use.
+
 `UID'
      The numeric real user id of the current user.  This variable is
      readonly.
@@ -4951,9 +4935,10 @@ the array.  Referencing an array variable without a subscript is
 equivalent to referencing element zero.
 
    The `unset' builtin is used to destroy arrays.  `unset'
-NAME[SUBSCRIPT] destroys the array element at index SUBSCRIPT.  `unset'
-NAME, where NAME is an array, removes the entire array. A subscript of
-`*' or `@' also removes the entire array.
+NAME[SUBSCRIPT] destroys the array element at index SUBSCRIPT.  Care
+must be taken to avoid unwanted side effects caused by filename
+generation.  `unset' NAME, where NAME is an array, removes the entire
+array. A subscript of `*' or `@' also removes the entire array.
 
    The `declare', `local', and `readonly' builtins each accept a `-a'
 option to specify an array.  The `read' builtin accepts a `-a' option
@@ -5256,149 +5241,160 @@ startup files.
      is stopped is `Stopped(SIGNAME)', where SIGNAME is, for example,
      `SIGTSTP'.
 
-  4. Reserved words appearing in a context where reserved words are
+  4. The `bg' builtin uses the required format to describe each job
+     placed in the background, which does not include an indication of
+     whether the job is the current or previous job.
+
+  5. Reserved words appearing in a context where reserved words are
      recognized do not undergo alias expansion.
 
-  5. The POSIX 1003.2 `PS1' and `PS2' expansions of `!' to the history
+  6. The POSIX 1003.2 `PS1' and `PS2' expansions of `!' to the history
      number and `!!' to `!' are enabled, and parameter expansion is
      performed on the values of `PS1' and `PS2' regardless of the
      setting of the `promptvars' option.
 
-  6. The POSIX 1003.2 startup files are executed (`$ENV') rather than
+  7. The POSIX 1003.2 startup files are executed (`$ENV') rather than
      the normal Bash files.
 
-  7. Tilde expansion is only performed on assignments preceding a
+  8. Tilde expansion is only performed on assignments preceding a
      command name, rather than on all assignment statements on the line.
 
-  8. The default history file is `~/.sh_history' (this is the default
+  9. The default history file is `~/.sh_history' (this is the default
      value of `$HISTFILE').
 
 9. The output of `kill -l' prints all the signal names on a single
10. The output of `kill -l' prints all the signal names on a single
      line, separated by spaces, without the `SIG' prefix.
 
- 10. The `kill' builtin does not accept signal names with a `SIG'
+ 11. The `kill' builtin does not accept signal names with a `SIG'
      prefix.
 
- 11. Non-interactive shells exit if FILENAME in `.' FILENAME is not
+ 12. Non-interactive shells exit if FILENAME in `.' FILENAME is not
      found.
 
- 12. Non-interactive shells exit if a syntax error in an arithmetic
+ 13. Non-interactive shells exit if a syntax error in an arithmetic
      expansion results in an invalid expression.
 
- 13. Redirection operators do not perform filename expansion on the word
+ 14. Redirection operators do not perform filename expansion on the word
      in the redirection unless the shell is interactive.
 
- 14. Redirection operators do not perform word splitting on the word in
+ 15. Redirection operators do not perform word splitting on the word in
      the redirection.
 
- 15. Function names must be valid shell `name's.  That is, they may not
+ 16. Function names must be valid shell `name's.  That is, they may not
      contain characters other than letters, digits, and underscores, and
      may not start with a digit.  Declaring a function with an invalid
      name causes a fatal syntax error in non-interactive shells.
 
- 16. POSIX 1003.2 `special' builtins are found before shell functions
+ 17. POSIX 1003.2 special builtins are found before shell functions
      during command lookup.
 
- 17. If a POSIX 1003.2 special builtin returns an error status, a
+ 18. If a POSIX 1003.2 special builtin returns an error status, a
      non-interactive shell exits.  The fatal errors are those listed in
      the POSIX.2 standard, and include things like passing incorrect
      options, redirection errors, variable assignment errors for
      assignments preceding the command name, and so on.
 
- 18. If `CDPATH' is set, the `cd' builtin will not implicitly append
+ 19. If `CDPATH' is set, the `cd' builtin will not implicitly append
      the current directory to it.  This means that `cd' will fail if no
      valid directory name can be constructed from any of the entries in
      `$CDPATH', even if the a directory with the same name as the name
      given as an argument to `cd' exists in the current directory.
 
19. A non-interactive shell exits with an error status if a variable
20. A non-interactive shell exits with an error status if a variable
      assignment error occurs when no command name follows the assignment
      statements.  A variable assignment error occurs, for example, when
      trying to assign a value to a readonly variable.
 
- 20. A non-interactive shell exits with an error status if the iteration
+ 21. A non-interactive shell exits with an error status if the iteration
      variable in a `for' statement or the selection variable in a
      `select' statement is a readonly variable.
 
- 21. Process substitution is not available.
+ 22. Process substitution is not available.
 
- 22. Assignment statements preceding POSIX 1003.2 special builtins
+ 23. Assignment statements preceding POSIX 1003.2 special builtins
      persist in the shell environment after the builtin completes.
 
- 23. Assignment statements preceding shell function calls persist in the
+ 24. Assignment statements preceding shell function calls persist in the
      shell environment after the function returns, as if a POSIX
      special builtin command had been executed.
 
- 24. The `export' and `readonly' builtin commands display their output
+ 25. The `export' and `readonly' builtin commands display their output
      in the format required by POSIX 1003.2.
 
- 25. The `trap' builtin displays signal names without the leading `SIG'.
+ 26. The `trap' builtin displays signal names without the leading `SIG'.
 
- 26. The `trap' builtin doesn't check the first argument for a possible
+ 27. The `trap' builtin doesn't check the first argument for a possible
      signal specification and revert the signal handling to the original
      disposition if it is, unless that argument consists solely of
      digits and is a valid signal number.  If users want to reset the
      handler for a given signal to the original disposition, they
      should use `-' as the first argument.
 
- 27. The `.' and `source' builtins do not search the current directory
+ 28. The `.' and `source' builtins do not search the current directory
      for the filename argument if it is not found by searching `PATH'.
 
- 28. Subshells spawned to execute command substitutions inherit the
+ 29. Subshells spawned to execute command substitutions inherit the
      value of the `-e' option from the parent shell.  When not in POSIX
      mode, Bash clears the `-e' option in such subshells.
 
29. Alias expansion is always enabled, even in non-interactive shells.
30. Alias expansion is always enabled, even in non-interactive shells.
 
- 30. When the `alias' builtin displays alias definitions, it does not
+ 31. When the `alias' builtin displays alias definitions, it does not
      display them with a leading `alias ' unless the `-p' option is
      supplied.
 
- 31. When the `set' builtin is invoked without options, it does not
+ 32. When the `set' builtin is invoked without options, it does not
      display shell function names and definitions.
 
- 32. When the `set' builtin is invoked without options, it displays
+ 33. When the `set' builtin is invoked without options, it displays
      variable values without quotes, unless they contain shell
      metacharacters, even if the result contains nonprinting characters.
 
- 33. When the `cd' builtin is invoked in LOGICAL mode, and the pathname
+ 34. When the `cd' builtin is invoked in LOGICAL mode, and the pathname
      constructed from `$PWD' and the directory name supplied as an
      argument does not refer to an existing directory, `cd' will fail
      instead of falling back to PHYSICAL mode.
 
- 34. When the `pwd' builtin is supplied the `-P' option, it resets
+ 35. When the `pwd' builtin is supplied the `-P' option, it resets
      `$PWD' to a pathname containing no symlinks.
 
- 35. When listing the history, the `fc' builtin does not include an
+ 36. The `pwd' builtin verifies that the value it prints is the same as
+     the current directory, even if it is not asked to check the file
+     system with the `-P' option.
+
+ 37. When listing the history, the `fc' builtin does not include an
      indication of whether or not a history entry has been modified.
 
- 36. The default editor used by `fc' is `ed'.
+ 38. The default editor used by `fc' is `ed'.
 
- 37. The `type' and `command' builtins will not report a non-executable
+ 39. The `type' and `command' builtins will not report a non-executable
      file as having been found, though the shell will attempt to
      execute such a file if it is the only so-named file found in
      `$PATH'.
 
- 38. When the `xpg_echo' option is enabled, Bash does not attempt to
+ 40. The `vi' editing mode will invoke the `vi' editor directly when
+     the `v' command is run, instead of checking `$FCEDIT' and
+     `$EDITOR'.
+
+ 41. When the `xpg_echo' option is enabled, Bash does not attempt to
      interpret any arguments to `echo' as options.  Each argument is
      displayed, after escape characters are converted.
 
 
-   There is other POSIX 1003.2 behavior that Bash does not implement.
-Specifically:
+   There is other POSIX 1003.2 behavior that Bash does not implement by
+default even when in POSIX mode.  Specifically:
 
-  1. Assignment statements affect the execution environment of all
-     builtins, not just special ones.
+  1. The `fc' builtin checks `$EDITOR' as a program to edit history
+     entries if `FCEDIT' is unset, rather than defaulting directly to
+     `ed'.  `fc' uses `ed' if `EDITOR' is unset.
 
-  2. When a subshell is created to execute a shell script with execute
-     permission, but without a leading `#!', Bash sets `$0' to the full
-     pathname of the script as found by searching `$PATH', rather than
-     the command as typed by the user.
+  2. As noted above, Bash requires the `xpg_echo' option to be enabled
+     for the `echo' builtin to be fully conformant.
 
-  3. When using `.' to source a shell script found in `$PATH', bash
-     checks execute permission bits rather than read permission bits,
-     just as if it were searching for a command.
 
+   Bash can be configured to be POSIX-conformant by default, by
+specifying the `--enable-strict-posix-default' to `configure' when
+building (*note Optional Features::).
 
 \1f
 File: bashref.info,  Node: Job Control,  Next: Using History Interactively,  Prev: Bash Features,  Up: Top
@@ -5511,9 +5507,9 @@ File: bashref.info,  Node: Job Control Builtins,  Next: Job Control Variables,
      Resume each suspended job JOBSPEC in the background, as if it had
      been started with `&'.  If JOBSPEC is not supplied, the current
      job is used.  The return status is zero unless it is run when job
-     control is not enabled, or, when run with job control enabled, if
-     the last JOBSPEC was not found or the last JOBSPEC specifies a job
-     that was started without job control.
+     control is not enabled, or, when run with job control enabled, any
+     JOBSPEC was not found or specifies a job that was started without
+     job control.
 
 `fg'
           fg [JOBSPEC]
@@ -5961,7 +5957,11 @@ Variable Settings
           set editing-mode vi
 
      Variable names and values, where appropriate, are recognized
-     without regard to case.
+     without regard to case.  Unrecognized variable names are ignored.
+
+     Boolean variables (those that can be set to on or off) are set to
+     on if the value is null or empty, ON (case-insensitive), or 1.
+     Any other value results in the variable being set to off.
 
      The `bind -V' command lists the current Readline variable names
      and values.  *Note Bash Builtins::.
@@ -5998,7 +5998,8 @@ Variable Settings
           than this value, Readline will ask the user whether or not he
           wishes to view them; otherwise, they are simply listed.  This
           variable must be set to an integer value greater than or
-          equal to 0.  The default limit is `100'.
+          equal to 0.  A negative value means Readline should never ask.
+          The default limit is `100'.
 
     `convert-meta'
           If set to `on', Readline will convert characters with the
@@ -6026,9 +6027,10 @@ Variable Settings
           If set to `on', tilde expansion is performed when Readline
           attempts word completion.  The default is `off'.
 
+    `history-preserve-point'
           If set to `on', the history code attempts to place point at
           the same location on each history line retrieved with
-          `previous-history' or `next-history'.
+          `previous-history' or `next-history'.  The default is `off'.
 
     `horizontal-scroll-mode'
           This variable can be set to either `on' or `off'.  Setting it
@@ -7663,23 +7665,16 @@ MS-DOS, OS/2, and Windows platforms.
 * Menu:
 
 * Basic Installation:: Installation instructions.
-
 * Compilers and Options::      How to set special options for various
                                systems.
-
 * Compiling For Multiple Architectures::       How to compile Bash for more
                                                than one kind of system from
                                                the same source tree.
-
 * Installation Names:: How to set the various paths used by the installation.
-
 * Specifying the System Type:: How to configure Bash for a particular system.
-
 * Sharing Defaults::   How to share default configuration values among GNU
                        programs.
-
 * Operation Controls:: Options recognized by the configuration program.
-
 * Optional Features::  How to enable and disable optional features when
                        building Bash.
 
@@ -7902,13 +7897,14 @@ that the Bash `configure' recognizes.
      Define if you are using the Andrew File System from Transarc.
 
 `--with-bash-malloc'
-     Use the Bash version of `malloc' in `lib/malloc/malloc.c'.  This
-     is not the same `malloc' that appears in GNU libc, but an older
-     version derived from the 4.2 BSD `malloc'.  This `malloc' is very
-     fast, but wastes some space on each allocation.  This option is
-     enabled by default.  The `NOTES' file contains a list of systems
-     for which this should be turned off, and `configure' disables this
-     option automatically for a number of systems.
+     Use the Bash version of `malloc' in the directory `lib/malloc'.
+     This is not the same `malloc' that appears in GNU libc, but an
+     older version originally derived from the 4.2 BSD `malloc'.  This
+     `malloc' is very fast, but wastes some space on each allocation.
+     This option is enabled by default.  The `NOTES' file contains a
+     list of systems for which this should be turned off, and
+     `configure' disables this option automatically for a number of
+     systems.
 
 `--with-curses'
      Use the curses library instead of the termcap library.  This should
@@ -8082,6 +8078,9 @@ does not provide the necessary support.
      different languages.  You may need to disable this if your
      compiler cannot handle very long string literals.
 
+`--enable-strict-posix-default'
+     Make Bash POSIX-conformant by default (*note Bash POSIX Mode::).
+
 `--enable-usg-echo-default'
      A synonym for `--enable-xpg-echo-default'.
 
@@ -8147,7 +8146,8 @@ be implemented.  There are some differences between the traditional
 Bourne shell and Bash; this section quickly details the differences of
 significance.  A number of these differences are explained in greater
 depth in previous sections.  This section uses the version of `sh'
-included in SVR4.2 as the baseline reference.
+included in SVR4.2 (the last version of the historical Bourne shell) as
+the baseline reference.
 
    * Bash is POSIX-conformant, even where the POSIX specification
      differs from traditional `sh' behavior (*note Bash POSIX Mode::).
@@ -8187,7 +8187,9 @@ included in SVR4.2 as the baseline reference.
 
    * Bash implements the `!' keyword to negate the return value of a
      pipeline (*note Pipelines::).  Very useful when an `if' statement
-     needs to act only if a test fails.
+     needs to act only if a test fails.  The Bash `-o pipefail' option
+     to `set' will cause a pipeline to return a failure status if any
+     command fails.
 
    * Bash has the `time' reserved word and command timing (*note
      Pipelines::).  The display of the timing statistics may be
@@ -8201,7 +8203,11 @@ included in SVR4.2 as the baseline reference.
      generation of simple menus (*note Conditional Constructs::).
 
    * Bash includes the `[[' compound command, which makes conditional
-     testing part of the shell grammar (*note Conditional Constructs::).
+     testing part of the shell grammar (*note Conditional
+     Constructs::), including optional regular expression matching.
+
+   * Bash provides optional case-insensitive matching for the `case' and
+     `[[' constructs.
 
    * Bash includes brace expansion (*note Brace Expansion::) and tilde
      expansion (*note Tilde Expansion::).
@@ -8218,6 +8224,9 @@ included in SVR4.2 as the baseline reference.
      not normally do this unless the variables are explicitly marked
      using the `export' command.
 
+   * Bash supports the `+=' assignment operator, which appends to the
+     value of the variable named on the left hand side.
+
    * Bash includes the POSIX pattern removal `%', `#', `%%' and `##'
      expansions to remove leading or trailing substrings from variable
      values (*note Shell Parameter Expansion::).
@@ -8285,6 +8294,12 @@ included in SVR4.2 as the baseline reference.
      operator, for directing standard output and standard error to the
      same file (*note Redirections::).
 
+   * Bash includes the `<<<' redirection operator, allowing a string to
+     be used as the standard input to a command.
+
+   * Bash implements the `[n]<&WORD' and `[n]>&WORD' redirection
+     operators, which move one file descriptor to another.
+
    * Bash treats a number of filenames specially when they are used in
      redirection operators (*note Redirections::).
 
@@ -8423,6 +8438,9 @@ included in SVR4.2 as the baseline reference.
      table (*note Job Control Builtins::) or suppress the sending of
      `SIGHUP' to a job when the shell exits as the result of a `SIGHUP'.
 
+   * Bash includes a number of features to support a separate debugger
+     for shell scripts.
+
    * The SVR4.2 shell has two privilege-related builtins (`mldmode' and
      `priv') not present in Bash.
 
@@ -8960,7 +8978,7 @@ Index of Shell Builtin Commands
 * disown:                                Job Control Builtins.
                                                               (line  83)
 * echo:                                  Bash Builtins.       (line 191)
-* enable:                                Bash Builtins.       (line 244)
+* enable:                                Bash Builtins.       (line 247)
 * eval:                                  Bourne Shell Builtins.
                                                               (line  63)
 * exec:                                  Bourne Shell Builtins.
@@ -8977,24 +8995,24 @@ Index of Shell Builtin Commands
                                                               (line 103)
 * hash:                                  Bourne Shell Builtins.
                                                               (line 145)
-* help:                                  Bash Builtins.       (line 272)
+* help:                                  Bash Builtins.       (line 275)
 * history:                               Bash History Builtins.
                                                               (line  39)
 * jobs:                                  Job Control Builtins.
                                                               (line  25)
 * kill:                                  Job Control Builtins.
                                                               (line  57)
-* let:                                   Bash Builtins.       (line 281)
-* local:                                 Bash Builtins.       (line 288)
-* logout:                                Bash Builtins.       (line 298)
+* let:                                   Bash Builtins.       (line 284)
+* local:                                 Bash Builtins.       (line 291)
+* logout:                                Bash Builtins.       (line 301)
 * popd:                                  Directory Stack Builtins.
                                                               (line  37)
-* printf:                                Bash Builtins.       (line 302)
+* printf:                                Bash Builtins.       (line 305)
 * pushd:                                 Directory Stack Builtins.
                                                               (line  58)
 * pwd:                                   Bourne Shell Builtins.
                                                               (line 163)
-* read:                                  Bash Builtins.       (line 327)
+* read:                                  Bash Builtins.       (line 330)
 * readonly:                              Bourne Shell Builtins.
                                                               (line 172)
 * return:                                Bourne Shell Builtins.
@@ -9002,24 +9020,24 @@ Index of Shell Builtin Commands
 * set:                                   The Set Builtin.     (line   9)
 * shift:                                 Bourne Shell Builtins.
                                                               (line 200)
-* shopt:                                 Bash Builtins.       (line 388)
-* source:                                Bash Builtins.       (line 619)
+* shopt:                                 Bash Builtins.       (line 391)
+* source:                                Bash Builtins.       (line 622)
 * suspend:                               Job Control Builtins.
                                                               (line  94)
 * test:                                  Bourne Shell Builtins.
                                                               (line 212)
 * times:                                 Bourne Shell Builtins.
-                                                              (line 276)
+                                                              (line 278)
 * trap:                                  Bourne Shell Builtins.
-                                                              (line 281)
-* type:                                  Bash Builtins.       (line 623)
-* typeset:                               Bash Builtins.       (line 654)
-* ulimit:                                Bash Builtins.       (line 660)
+                                                              (line 283)
+* type:                                  Bash Builtins.       (line 626)
+* typeset:                               Bash Builtins.       (line 657)
+* ulimit:                                Bash Builtins.       (line 663)
 * umask:                                 Bourne Shell Builtins.
-                                                              (line 322)
-* unalias:                               Bash Builtins.       (line 722)
+                                                              (line 324)
+* unalias:                               Bash Builtins.       (line 725)
 * unset:                                 Bourne Shell Builtins.
-                                                              (line 339)
+                                                              (line 341)
 * wait:                                  Job Control Builtins.
                                                               (line  73)
 
@@ -9098,35 +9116,35 @@ Parameter and Variable Index
 * BASH_VERSINFO:                         Bash Variables.      (line  74)
 * BASH_VERSION:                          Bash Variables.      (line  98)
 * bell-style:                            Readline Init File Syntax.
-                                                              (line  34)
+                                                              (line  38)
 * bind-tty-special-chars:                Readline Init File Syntax.
-                                                              (line  41)
+                                                              (line  45)
 * CDPATH:                                Bourne Shell Variables.
                                                               (line   9)
 * COLUMNS:                               Bash Variables.      (line 101)
 * comment-begin:                         Readline Init File Syntax.
-                                                              (line  46)
+                                                              (line  50)
 * COMP_CWORD:                            Bash Variables.      (line 106)
 * COMP_LINE:                             Bash Variables.      (line 112)
 * COMP_POINT:                            Bash Variables.      (line 117)
 * COMP_WORDBREAKS:                       Bash Variables.      (line 125)
 * COMP_WORDS:                            Bash Variables.      (line 131)
 * completion-query-items:                Readline Init File Syntax.
-                                                              (line  56)
+                                                              (line  60)
 * COMPREPLY:                             Bash Variables.      (line 137)
 * convert-meta:                          Readline Init File Syntax.
-                                                              (line  65)
+                                                              (line  70)
 * DIRSTACK:                              Bash Variables.      (line 142)
 * disable-completion:                    Readline Init File Syntax.
-                                                              (line  71)
-* editing-mode:                          Readline Init File Syntax.
                                                               (line  76)
+* editing-mode:                          Readline Init File Syntax.
+                                                              (line  81)
 * EMACS:                                 Bash Variables.      (line 152)
 * enable-keypad:                         Readline Init File Syntax.
-                                                              (line  82)
+                                                              (line  87)
 * EUID:                                  Bash Variables.      (line 157)
 * expand-tilde:                          Readline Init File Syntax.
-                                                              (line  87)
+                                                              (line  92)
 * FCEDIT:                                Bash Variables.      (line 161)
 * FIGNORE:                               Bash Variables.      (line 165)
 * FUNCNAME:                              Bash Variables.      (line 171)
@@ -9139,13 +9157,13 @@ Parameter and Variable Index
 * HISTFILESIZE:                          Bash Variables.      (line 232)
 * HISTIGNORE:                            Bash Variables.      (line 239)
 * history-preserve-point:                Readline Init File Syntax.
-                                                              (line  90)
+                                                              (line  96)
 * HISTSIZE:                              Bash Variables.      (line 258)
 * HISTTIMEFORMAT:                        Bash Variables.      (line 262)
 * HOME:                                  Bourne Shell Variables.
                                                               (line  13)
 * horizontal-scroll-mode:                Readline Init File Syntax.
-                                                              (line  95)
+                                                              (line 101)
 * HOSTFILE:                              Bash Variables.      (line 269)
 * HOSTNAME:                              Bash Variables.      (line 280)
 * HOSTTYPE:                              Bash Variables.      (line 283)
@@ -9153,12 +9171,12 @@ Parameter and Variable Index
                                                               (line  18)
 * IGNOREEOF:                             Bash Variables.      (line 286)
 * input-meta:                            Readline Init File Syntax.
-                                                              (line 102)
+                                                              (line 108)
 * INPUTRC:                               Bash Variables.      (line 296)
 * isearch-terminators:                   Readline Init File Syntax.
-                                                              (line 109)
+                                                              (line 115)
 * keymap:                                Readline Init File Syntax.
-                                                              (line 116)
+                                                              (line 122)
 * LANG:                                  Bash Variables.      (line 300)
 * LC_ALL:                                Bash Variables.      (line 304)
 * LC_COLLATE:                            Bash Variables.      (line 308)
@@ -9175,13 +9193,13 @@ Parameter and Variable Index
 * MAILPATH:                              Bourne Shell Variables.
                                                               (line  27)
 * mark-modified-lines:                   Readline Init File Syntax.
-                                                              (line 129)
+                                                              (line 135)
 * mark-symlinked-directories:            Readline Init File Syntax.
-                                                              (line 134)
+                                                              (line 140)
 * match-hidden-files:                    Readline Init File Syntax.
-                                                              (line 139)
+                                                              (line 145)
 * meta-flag:                             Readline Init File Syntax.
-                                                              (line 102)
+                                                              (line 108)
 * OLDPWD:                                Bash Variables.      (line 349)
 * OPTARG:                                Bourne Shell Variables.
                                                               (line  34)
@@ -9190,9 +9208,9 @@ Parameter and Variable Index
                                                               (line  38)
 * OSTYPE:                                Bash Variables.      (line 356)
 * output-meta:                           Readline Init File Syntax.
-                                                              (line 146)
+                                                              (line 152)
 * page-completions:                      Readline Init File Syntax.
-                                                              (line 151)
+                                                              (line 157)
 * PATH:                                  Bourne Shell Variables.
                                                               (line  42)
 * PIPESTATUS:                            Bash Variables.      (line 359)
@@ -9213,16 +9231,17 @@ Parameter and Variable Index
 * SHELLOPTS:                             Bash Variables.      (line 414)
 * SHLVL:                                 Bash Variables.      (line 423)
 * show-all-if-ambiguous:                 Readline Init File Syntax.
-                                                              (line 161)
-* show-all-if-unmodified:                Readline Init File Syntax.
                                                               (line 167)
+* show-all-if-unmodified:                Readline Init File Syntax.
+                                                              (line 173)
 * TEXTDOMAIN:                            Locale Translation.  (line  11)
 * TEXTDOMAINDIR:                         Locale Translation.  (line  11)
 * TIMEFORMAT:                            Bash Variables.      (line 428)
 * TMOUT:                                 Bash Variables.      (line 466)
-* UID:                                   Bash Variables.      (line 478)
+* TMPDIR:                                Bash Variables.      (line 478)
+* UID:                                   Bash Variables.      (line 482)
 * visible-stats:                         Readline Init File Syntax.
-                                                              (line 176)
+                                                              (line 182)
 
 \1f
 File: bashref.info,  Node: Function Index,  Next: Concept Index,  Prev: Variable Index,  Up: Top
@@ -9479,7 +9498,7 @@ Concept Index
 * translation, native languages:         Locale Translation.  (line   6)
 * variable, shell:                       Shell Parameters.    (line   6)
 * variables, readline:                   Readline Init File Syntax.
-                                                              (line  33)
+                                                              (line  37)
 * word:                                  Definitions.         (line  87)
 * word splitting:                        Word Splitting.      (line   6)
 * yanking text:                          Readline Killing Commands.
@@ -9488,129 +9507,129 @@ Concept Index
 
 \1f
 Tag Table:
-Node: Top\7f1369
-Node: Introduction\7f3525
-Node: What is Bash?\7f3754
-Node: What is a shell?\7f4847
-Node: Definitions\7f7388
-Node: Basic Shell Features\7f10129
-Node: Shell Syntax\7f11348
-Node: Shell Operation\7f12380
-Node: Quoting\7f13674
-Node: Escape Character\7f14978
-Node: Single Quotes\7f15463
-Node: Double Quotes\7f15811
-Node: ANSI-C Quoting\7f16936
-Node: Locale Translation\7f17892
-Node: Comments\7f18788
-Node: Shell Commands\7f19402
-Node: Simple Commands\7f20168
-Node: Pipelines\7f20799
-Node: Lists\7f22674
-Node: Compound Commands\7f24305
-Node: Looping Constructs\7f25089
-Node: Conditional Constructs\7f27536
-Node: Command Grouping\7f34996
-Node: Shell Functions\7f36445
-Node: Shell Parameters\7f40735
-Node: Positional Parameters\7f43065
-Node: Special Parameters\7f43965
-Node: Shell Expansions\7f46929
-Node: Brace Expansion\7f48854
-Node: Tilde Expansion\7f51179
-Node: Shell Parameter Expansion\7f53530
-Node: Command Substitution\7f61039
-Node: Arithmetic Expansion\7f62372
-Node: Process Substitution\7f63222
-Node: Word Splitting\7f64272
-Node: Filename Expansion\7f65733
-Node: Pattern Matching\7f67869
-Node: Quote Removal\7f71194
-Node: Redirections\7f71489
-Node: Executing Commands\7f79219
-Node: Simple Command Expansion\7f79894
-Node: Command Search and Execution\7f81824
-Node: Command Execution Environment\7f83830
-Node: Environment\7f86601
-Node: Exit Status\7f88261
-Node: Signals\7f89465
-Node: Shell Scripts\7f91429
-Node: Shell Builtin Commands\7f93947
-Node: Bourne Shell Builtins\7f95526
-Node: Bash Builtins\7f112479
-Node: The Set Builtin\7f141452
-Node: Special Builtins\7f149859
-Node: Shell Variables\7f150836
-Node: Bourne Shell Variables\7f151276
-Node: Bash Variables\7f153257
-Node: Bash Features\7f173309
-Node: Invoking Bash\7f174192
-Node: Bash Startup Files\7f180013
-Node: Interactive Shells\7f184871
-Node: What is an Interactive Shell?\7f185281
-Node: Is this Shell Interactive?\7f185931
-Node: Interactive Shell Behavior\7f186746
-Node: Bash Conditional Expressions\7f190022
-Node: Shell Arithmetic\7f193601
-Node: Aliases\7f196347
-Node: Arrays\7f198915
-Node: The Directory Stack\7f202182
-Node: Directory Stack Builtins\7f202896
-Node: Printing a Prompt\7f205787
-Node: The Restricted Shell\7f208501
-Node: Bash POSIX Mode\7f210333
-Node: Job Control\7f217663
-Node: Job Control Basics\7f218130
-Node: Job Control Builtins\7f222506
-Node: Job Control Variables\7f226858
-Node: Command Line Editing\7f228016
-Node: Introduction and Notation\7f229015
-Node: Readline Interaction\7f230637
-Node: Readline Bare Essentials\7f231828
-Node: Readline Movement Commands\7f233617
-Node: Readline Killing Commands\7f234582
-Node: Readline Arguments\7f236502
-Node: Searching\7f237546
-Node: Readline Init File\7f239732
-Node: Readline Init File Syntax\7f240791
-Node: Conditional Init Constructs\7f252650
-Node: Sample Init File\7f255183
-Node: Bindable Readline Commands\7f258300
-Node: Commands For Moving\7f259507
-Node: Commands For History\7f260368
-Node: Commands For Text\7f263523
-Node: Commands For Killing\7f266196
-Node: Numeric Arguments\7f268338
-Node: Commands For Completion\7f269477
-Node: Keyboard Macros\7f273070
-Node: Miscellaneous Commands\7f273641
-Node: Readline vi Mode\7f278952
-Node: Programmable Completion\7f279866
-Node: Programmable Completion Builtins\7f285658
-Node: Using History Interactively\7f293254
-Node: Bash History Facilities\7f293934
-Node: Bash History Builtins\7f296629
-Node: History Interaction\7f300486
-Node: Event Designators\7f303042
-Node: Word Designators\7f304057
-Node: Modifiers\7f305696
-Node: Installing Bash\7f307102
-Node: Basic Installation\7f308239
-Node: Compilers and Options\7f310931
-Node: Compiling For Multiple Architectures\7f311672
-Node: Installation Names\7f313336
-Node: Specifying the System Type\7f314154
-Node: Sharing Defaults\7f314870
-Node: Operation Controls\7f315543
-Node: Optional Features\7f316501
-Node: Reporting Bugs\7f325310
-Node: Major Differences From The Bourne Shell\7f326504
-Node: Copying This Manual\7f342412
-Node: GNU Free Documentation License\7f342688
-Node: Builtin Index\7f365094
-Node: Reserved Word Index\7f371643
-Node: Variable Index\7f374079
-Node: Function Index\7f384939
-Node: Concept Index\7f391659
+Node: Top\7f1375
+Node: Introduction\7f3475
+Node: What is Bash?\7f3703
+Node: What is a shell?\7f4796
+Node: Definitions\7f7337
+Node: Basic Shell Features\7f10078
+Node: Shell Syntax\7f11297
+Node: Shell Operation\7f12327
+Node: Quoting\7f13621
+Node: Escape Character\7f14924
+Node: Single Quotes\7f15409
+Node: Double Quotes\7f15757
+Node: ANSI-C Quoting\7f16882
+Node: Locale Translation\7f17838
+Node: Comments\7f18734
+Node: Shell Commands\7f19348
+Node: Simple Commands\7f20114
+Node: Pipelines\7f20745
+Node: Lists\7f22620
+Node: Compound Commands\7f24251
+Node: Looping Constructs\7f25035
+Node: Conditional Constructs\7f27482
+Node: Command Grouping\7f34942
+Node: Shell Functions\7f36391
+Node: Shell Parameters\7f40681
+Node: Positional Parameters\7f43011
+Node: Special Parameters\7f43911
+Node: Shell Expansions\7f46875
+Node: Brace Expansion\7f48800
+Node: Tilde Expansion\7f51125
+Node: Shell Parameter Expansion\7f53476
+Node: Command Substitution\7f60985
+Node: Arithmetic Expansion\7f62318
+Node: Process Substitution\7f63168
+Node: Word Splitting\7f64218
+Node: Filename Expansion\7f65679
+Node: Pattern Matching\7f67815
+Node: Quote Removal\7f71140
+Node: Redirections\7f71435
+Node: Executing Commands\7f79165
+Node: Simple Command Expansion\7f79835
+Node: Command Search and Execution\7f81765
+Node: Command Execution Environment\7f83771
+Node: Environment\7f86542
+Node: Exit Status\7f88202
+Node: Signals\7f89406
+Node: Shell Scripts\7f91370
+Node: Shell Builtin Commands\7f93888
+Node: Bourne Shell Builtins\7f95549
+Node: Bash Builtins\7f112632
+Node: The Set Builtin\7f141675
+Node: Special Builtins\7f150082
+Node: Shell Variables\7f151059
+Node: Bourne Shell Variables\7f151499
+Node: Bash Variables\7f153480
+Node: Bash Features\7f173666
+Node: Invoking Bash\7f174549
+Node: Bash Startup Files\7f180370
+Node: Interactive Shells\7f185228
+Node: What is an Interactive Shell?\7f185638
+Node: Is this Shell Interactive?\7f186288
+Node: Interactive Shell Behavior\7f187103
+Node: Bash Conditional Expressions\7f190379
+Node: Shell Arithmetic\7f193958
+Node: Aliases\7f196704
+Node: Arrays\7f199272
+Node: The Directory Stack\7f202621
+Node: Directory Stack Builtins\7f203335
+Node: Printing a Prompt\7f206226
+Node: The Restricted Shell\7f208940
+Node: Bash POSIX Mode\7f210772
+Node: Job Control\7f218589
+Node: Job Control Basics\7f219056
+Node: Job Control Builtins\7f223432
+Node: Job Control Variables\7f227759
+Node: Command Line Editing\7f228917
+Node: Introduction and Notation\7f229916
+Node: Readline Interaction\7f231538
+Node: Readline Bare Essentials\7f232729
+Node: Readline Movement Commands\7f234518
+Node: Readline Killing Commands\7f235483
+Node: Readline Arguments\7f237403
+Node: Searching\7f238447
+Node: Readline Init File\7f240633
+Node: Readline Init File Syntax\7f241692
+Node: Conditional Init Constructs\7f253908
+Node: Sample Init File\7f256441
+Node: Bindable Readline Commands\7f259558
+Node: Commands For Moving\7f260765
+Node: Commands For History\7f261626
+Node: Commands For Text\7f264781
+Node: Commands For Killing\7f267454
+Node: Numeric Arguments\7f269596
+Node: Commands For Completion\7f270735
+Node: Keyboard Macros\7f274328
+Node: Miscellaneous Commands\7f274899
+Node: Readline vi Mode\7f280210
+Node: Programmable Completion\7f281124
+Node: Programmable Completion Builtins\7f286916
+Node: Using History Interactively\7f294512
+Node: Bash History Facilities\7f295192
+Node: Bash History Builtins\7f297887
+Node: History Interaction\7f301744
+Node: Event Designators\7f304300
+Node: Word Designators\7f305315
+Node: Modifiers\7f306954
+Node: Installing Bash\7f308360
+Node: Basic Installation\7f309490
+Node: Compilers and Options\7f312182
+Node: Compiling For Multiple Architectures\7f312923
+Node: Installation Names\7f314587
+Node: Specifying the System Type\7f315405
+Node: Sharing Defaults\7f316121
+Node: Operation Controls\7f316794
+Node: Optional Features\7f317752
+Node: Reporting Bugs\7f326683
+Node: Major Differences From The Bourne Shell\7f327877
+Node: Copying This Manual\7f344575
+Node: GNU Free Documentation License\7f344851
+Node: Builtin Index\7f367257
+Node: Reserved Word Index\7f373806
+Node: Variable Index\7f376242
+Node: Function Index\7f387175
+Node: Concept Index\7f393895
 \1f
 End Tag Table
index f97a49f..c359331 100644 (file)
@@ -1,4 +1,4 @@
-This is TeX, Version 3.14159 (Web2C 7.4.5) (format=tex 2003.12.31)  15 MAR 2005 17:26
+This is TeX, Version 3.14159 (Web2C 7.4.5) (format=tex 2005.3.22)  3 OCT 2005 15:07
 **/Users/chet/src/bash/src/doc/bashref.texi
 (/Users/chet/src/bash/src/doc/bashref.texi (./texinfo.tex
 Loading texinfo [version 2003-02-03.16]: Basics,
@@ -158,7 +158,7 @@ and turning on texinfo input format.) (./bashref.aux)
 
  [1] Chapter 2 [2] [3]
 Chapter 3 [4] [5] [6] [7] [8] [9] [10]
-Overfull \hbox (43.33539pt too wide) in paragraph at lines 865--865
+Overfull \hbox (43.33539pt too wide) in paragraph at lines 843--843
  []@texttt case @textttsl word @texttt in [ [(] @textttsl pat-tern @texttt [| @
 textttsl pat-tern@texttt ][]) @textttsl command-list @texttt ;;][] esac[][] 
 
@@ -172,7 +172,8 @@ textttsl pat-tern@texttt ][]) @textttsl command-list @texttt ;;][] esac[][]
 
 [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25]
 [26] [27] [28] [29] [30] [31] Chapter 4 [32] [33] [34] [35] [36] [37] [38]
-Underfull \hbox (badness 5231) in paragraph at lines 3141--3154
+[39]
+Underfull \hbox (badness 5231) in paragraph at lines 3117--3130
  @texttt emacs-meta[]@textrm , @texttt emacs-ctlx[]@textrm , @texttt vi[]@textr
 m , @texttt vi-move[]@textrm , @texttt vi-command[]@textrm , and
 
@@ -184,8 +185,8 @@ m , @texttt vi-move[]@textrm , @texttt vi-command[]@textrm , and
 .@texttt c
 .etc.
 
-[39] [40] [41] [42] [43]
-Overfull \hbox (43.33536pt too wide) in paragraph at lines 3482--3482
+[40] [41] [42] [43]
+Overfull \hbox (43.33536pt too wide) in paragraph at lines 3460--3460
  []@texttt read [-ers] [-a @textttsl aname@texttt ] [-d @textttsl de-lim@texttt
  ] [-n @textttsl nchars@texttt ] [-p @textttsl prompt@texttt ] [-t @textttsl ti
 me-
@@ -198,8 +199,8 @@ me-
 .@texttt a
 .etc.
 
-[44] [45]
-Underfull \hbox (badness 2573) in paragraph at lines 3666--3670
+[44] [45] [46]
+Underfull \hbox (badness 2573) in paragraph at lines 3644--3648
  [] []@textrm Error trac-ing is en-abled: com-mand sub-sti-tu-tion, shell
 
 @hbox(7.60416+2.12917)x433.62, glue set 2.95305
@@ -214,8 +215,8 @@ Underfull \hbox (badness 2573) in paragraph at lines 3666--3670
 .@textrm E
 .etc.
 
-[46] [47] [48] [49] [50] [51]
-Underfull \hbox (badness 4036) in paragraph at lines 4113--4120
+[47] [48] [49] [50] [51] [52]
+Underfull \hbox (badness 4036) in paragraph at lines 4091--4098
  @texttt -x[]@textrm Print a trace of sim-ple com-mands, @texttt \@textrm fB-fo
 r@texttt \@textrm fP com-mands,
 
@@ -227,9 +228,9 @@ r@texttt \@textrm fP com-mands,
 .@texttt x
 .etc.
 
-[52] [53] Chapter 5 [54] [55] [56] [57] [58] [59] [60] [61] [62] Chapter 6
-[63] [64]
-Overfull \hbox (51.96864pt too wide) in paragraph at lines 4840--4840
+[53] Chapter 5 [54] [55] [56] [57] [58] [59] [60] [61] [62] Chapter 6 [63]
+[64]
+Overfull \hbox (51.96864pt too wide) in paragraph at lines 4822--4822
  []@texttt bash [long-opt] [-ir] [-abefhkmnptuvxdBCDHP] [-o @textttsl op-tion@t
 exttt ] [-O @textttsl shopt_option@texttt ] [@textttsl ar-
 
@@ -242,7 +243,7 @@ exttt ] [-O @textttsl shopt_option@texttt ] [@textttsl ar-
 .etc.
 
 
-Overfull \hbox (76.23077pt too wide) in paragraph at lines 4841--4841
+Overfull \hbox (76.23077pt too wide) in paragraph at lines 4823--4823
  []@texttt bash [long-opt] [-abefhkmnptuvxdBCDHP] [-o @textttsl op-tion@texttt 
 ] [-O @textttsl shopt_option@texttt ] -c @textttsl string @texttt [@textttsl ar
 -
@@ -256,7 +257,7 @@ Overfull \hbox (76.23077pt too wide) in paragraph at lines 4841--4841
 .etc.
 
 
-Overfull \hbox (34.72258pt too wide) in paragraph at lines 4842--4842
+Overfull \hbox (34.72258pt too wide) in paragraph at lines 4824--4824
  []@texttt bash [long-opt] -s [-abefhkmnptuvxdBCDHP] [-o @textttsl op-tion@text
 tt ] [-O @textttsl shopt_option@texttt ] [@textttsl ar-
 
@@ -269,7 +270,7 @@ tt ] [-O @textttsl shopt_option@texttt ] [@textttsl ar-
 .etc.
 
 [65] [66]
-Underfull \hbox (badness 2245) in paragraph at lines 5016--5018
+Underfull \hbox (badness 2245) in paragraph at lines 4998--5000
 []@textrm When a lo-gin shell ex-its, Bash reads and ex-e-cutes com-mands from 
 the file
 
@@ -282,10 +283,22 @@ the file
 .etc.
 
 [67] [68] [69] [70] [71] [72] [73] [74] [75] [76] [77] [78] [79] [80]
+Underfull \hbox (badness 2521) in paragraph at lines 6112--6115
+@textrm `@texttt --enable-strict-posix-default[]@textrm '[] to @texttt configur
+e[] @textrm when build-ing (see Sec-tion 10.8
+
+@hbox(8.2125+2.73749)x433.62, glue set 2.9335
+.@textrm `
+.@texttt -
+.@texttt -
+.@texttt e
+.@texttt n
+.etc.
+
 Chapter 7 [81] [82] [83] [84] [85]
 (/Users/chet/src/bash/src/lib/readline/doc/rluser.texi Chapter 8 [86] [87]
 [88] [89] [90] [91]
-Underfull \hbox (badness 5231) in paragraph at lines 494--510
+Underfull \hbox (badness 5231) in paragraph at lines 500--516
  @texttt emacs-meta[]@textrm , @texttt emacs-ctlx[]@textrm , @texttt vi[]@textr
 m , @texttt vi-move[]@textrm , @texttt vi-command[]@textrm , and
 
@@ -298,7 +311,7 @@ m , @texttt vi-move[]@textrm , @texttt vi-command[]@textrm , and
 .etc.
 
 [92] [93] [94] [95] [96]
-Overfull \hbox (26.43913pt too wide) in paragraph at lines 807--807
+Overfull \hbox (26.43913pt too wide) in paragraph at lines 813--813
  []@texttt Meta-Control-h: backward-kill-word Text after the function name is i
 gnored[] 
 
@@ -311,7 +324,7 @@ gnored[]
 .etc.
 
 [97] [98] [99] [100] [101] [102] [103] [104] [105] [106] [107] [108]
-Overfull \hbox (17.80585pt too wide) in paragraph at lines 1656--1656
+Overfull \hbox (17.80585pt too wide) in paragraph at lines 1662--1662
  []@texttt complete [-abcdefgjksuv] [-o @textttsl comp-option@texttt ] [-A @tex
 tttsl ac-tion@texttt ] [-G @textttsl glob-
 
@@ -324,7 +337,7 @@ tttsl ac-tion@texttt ] [-G @textttsl glob-
 .etc.
 
 [109] [110]
-Underfull \hbox (badness 2753) in paragraph at lines 1758--1761
+Underfull \hbox (badness 2753) in paragraph at lines 1764--1767
  @texttt hostname[]@textrm Hostnames, as taken from the file spec-i-fied by
 
 @hbox(7.60416+2.12917)x433.62, glue set 3.02202
@@ -337,7 +350,7 @@ Underfull \hbox (badness 2753) in paragraph at lines 1758--1761
 
 [111]) (/Users/chet/src/bash/src/lib/readline/doc/hsuser.texi Chapter 9
 [112] [113] [114] [115] [116]) Chapter 10 [117] [118] [119] [120] [121]
-Underfull \hbox (badness 2772) in paragraph at lines 6713--6717
+Underfull \hbox (badness 2772) in paragraph at lines 6706--6710
  []@textrm Enable sup-port for large files (@texttt http://www.sas.com/standard
 s/large_
 
@@ -350,7 +363,7 @@ s/large_
 .etc.
 
 [122] [123] [124] Appendix A [125] [126] Appendix B [127] [128] [129] [130]
-[131] [132] Appendix C [133] [134] (./fdl.texi [135] [136] [137] [138] [139]
+[131] [132] [133] Appendix C [134] (./fdl.texi [135] [136] [137] [138] [139]
 [140]) (Index of Shell Builtin Commands) [141] [142] (./bashref.bts)
 (Index of Shell Reserved Words)
 Overfull \vbox (42.26959pt too high) has occurred while \output is active
@@ -375,11 +388,11 @@ Overfull \vbox (42.26959pt too high) has occurred while \output is active
 (Concept Index) [150] (./bashref.cps [151]) [152] ) 
 Here is how much of TeX's memory you used:
  1726 strings out of 98002
- 23501 string characters out of 1221986
- 52380 words of memory out of 1000001
+ 23501 string characters out of 1221987
+ 52386 words of memory out of 1000001
  2577 multiletter control sequences out of 10000+50000
  31953 words of font info for 111 fonts, out of 500000 for 1000
  19 hyphenation exceptions out of 1000
  15i,8n,11p,269b,465s stack positions out of 1500i,500n,5000p,200000b,5000s
 
-Output written on bashref.dvi (158 pages, 587404 bytes).
+Output written on bashref.dvi (158 pages, 590560 bytes).
index 3ed5926..07d9e2e 100644 (file)
@@ -10,7 +10,7 @@
 %DVIPSWebPage: (www.radicaleye.com)
 %DVIPSCommandLine: dvips -D 600 -t letter -o bashref.ps bashref.dvi
 %DVIPSParameters: dpi=600, compressed
-%DVIPSSource:  TeX output 2005.03.15:1726
+%DVIPSSource:  TeX output 2005.10.03:1507
 %%BeginProcSet: texc.pro
 %!
 /TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S
@@ -4225,30 +4225,31 @@ letter
 %%Page: 1 1
 TeXDict begin 1 0 bop 150 1318 a Fu(Bash)64 b(Reference)j(Man)-5
 b(ual)p 150 1385 3600 34 v 2361 1481 a Ft(Reference)31
-b(Do)s(cumen)m(tation)i(for)d(Bash)1963 1589 y(Edition)h(3.1-dev)m(el,)
-i(for)d Fs(Bash)f Ft(V)-8 b(ersion)31 b(3.1-dev)m(el.)3285
-1697 y(Marc)m(h)g(2005)150 4935 y Fr(Chet)45 b(Ramey)-11
+b(Do)s(cumen)m(tation)i(for)d(Bash)1928 1589 y(Edition)h(3.1-b)s(eta1,)
+h(for)e Fs(Bash)g Ft(V)-8 b(ersion)31 b(3.1-b)s(eta1.)3118
+1697 y(Septem)m(b)s(er)f(2005)150 4935 y Fr(Chet)45 b(Ramey)-11
 b(,)46 b(Case)g(W)-11 b(estern)46 b(Reserv)l(e)g(Univ)l(ersit)l(y)150
 5068 y(Brian)f(F)-11 b(o)l(x,)45 b(F)-11 b(ree)45 b(Soft)l(w)l(are)h(F)
 -11 b(oundation)p 150 5141 3600 17 v eop end
 %%Page: 2 2
 TeXDict begin 2 1 bop 150 2889 a Ft(This)35 b(text)h(is)g(a)g(brief)f
 (description)h(of)f(the)h(features)g(that)g(are)g(presen)m(t)g(in)f
-(the)h(Bash)f(shell)h(\(v)m(ersion)150 2999 y(3.1-dev)m(el,)d(15)e
-(Marc)m(h)g(2005\).)150 3133 y(This)23 b(is)h(Edition)g(3.1-dev)m(el,)k
-(last)c(up)s(dated)f(15)i(Marc)m(h)f(2005,)j(of)d Fq(The)g(GNU)g(Bash)g
-(Reference)h(Man)m(ual)p Ft(,)150 3243 y(for)30 b Fs(Bash)p
-Ft(,)g(V)-8 b(ersion)31 b(3.1-dev)m(el.)150 3377 y(Cop)m(yrigh)m(t)602
-3374 y(c)577 3377 y Fp(\015)f Ft(1988-2005)k(F)-8 b(ree)32
-b(Soft)m(w)m(are)f(F)-8 b(oundation,)32 b(Inc.)150 3512
-y(P)m(ermission)g(is)h(gran)m(ted)g(to)f(mak)m(e)i(and)d(distribute)h
-(v)m(erbatim)h(copies)g(of)f(this)g(man)m(ual)h(pro)m(vided)f(the)150
-3621 y(cop)m(yrigh)m(t)g(notice)f(and)f(this)g(p)s(ermission)g(notice)h
-(are)g(preserv)m(ed)f(on)h(all)g(copies.)390 3756 y(P)m(ermission)k(is)
-h(gran)m(ted)f(to)h(cop)m(y)-8 b(,)38 b(distribute)d(and/or)g(mo)s
-(dify)f(this)h(do)s(cumen)m(t)g(under)390 3866 y(the)j(terms)g(of)g
-(the)g(GNU)h(F)-8 b(ree)39 b(Do)s(cumen)m(tation)h(License,)g(V)-8
-b(ersion)39 b(1.1)g(or)f(an)m(y)g(later)390 3975 y(v)m(ersion)28
+(the)h(Bash)f(shell)h(\(v)m(ersion)150 2999 y(3.1-b)s(eta1,)d(5)d
+(Septem)m(b)s(er)g(2005\).)150 3133 y(This)39 b(is)h(Edition)f(3.1-b)s
+(eta1,)45 b(last)40 b(up)s(dated)f(5)h(Septem)m(b)s(er)f(2005,)44
+b(of)c Fq(The)f(GNU)h(Bash)g(Reference)150 3243 y(Man)m(ual)p
+Ft(,)32 b(for)e Fs(Bash)p Ft(,)f(V)-8 b(ersion)31 b(3.1-b)s(eta1.)150
+3377 y(Cop)m(yrigh)m(t)602 3374 y(c)577 3377 y Fp(\015)f
+Ft(1988-2005)k(F)-8 b(ree)32 b(Soft)m(w)m(are)f(F)-8
+b(oundation,)32 b(Inc.)150 3512 y(P)m(ermission)g(is)h(gran)m(ted)g(to)
+f(mak)m(e)i(and)d(distribute)h(v)m(erbatim)h(copies)g(of)f(this)g(man)m
+(ual)h(pro)m(vided)f(the)150 3621 y(cop)m(yrigh)m(t)g(notice)f(and)f
+(this)g(p)s(ermission)g(notice)h(are)g(preserv)m(ed)f(on)h(all)g
+(copies.)390 3756 y(P)m(ermission)k(is)h(gran)m(ted)f(to)h(cop)m(y)-8
+b(,)38 b(distribute)d(and/or)g(mo)s(dify)f(this)h(do)s(cumen)m(t)g
+(under)390 3866 y(the)j(terms)g(of)g(the)g(GNU)h(F)-8
+b(ree)39 b(Do)s(cumen)m(tation)h(License,)g(V)-8 b(ersion)39
+b(1.1)g(or)f(an)m(y)g(later)390 3975 y(v)m(ersion)28
 b(published)d(b)m(y)j(the)f(F)-8 b(ree)29 b(Soft)m(w)m(are)f(F)-8
 b(oundation;)30 b(with)d(no)g(In)m(v)-5 b(arian)m(t)28
 b(Sections,)390 4085 y(with)i(the)h(F)-8 b(ron)m(t-Co)m(v)m(er)33
@@ -5104,7 +5105,7 @@ s(eline)g(is)g(executed)h(in)f(its)g(o)m(wn)h(subshell)e(\(see)i
 g(is)f(the)h(exit)h(status)f(of)g(the)150 4792 y(last)c(command)f(in)g
 (the)g(pip)s(eline,)g(unless)g(the)g Fs(pipefail)e Ft(option)j(is)f
 (enabled)g(\(see)h(Section)g(4.3)g([The)150 4902 y(Set)i(Builtin],)j
-(page)e(50\).)53 b(If)34 b Fs(pipefail)e Ft(is)i(enabled,)h(the)g(pip)s
+(page)e(51\).)53 b(If)34 b Fs(pipefail)e Ft(is)i(enabled,)h(the)g(pip)s
 (eline's)f(return)f(status)h(is)h(the)f(v)-5 b(alue)35
 b(of)150 5011 y(the)d(last)h(\(righ)m(tmost\))h(command)e(to)h(exit)g
 (with)e(a)i(non-zero)f(status,)h(or)f(zero)h(if)f(all)h(commands)f
@@ -6252,7 +6253,7 @@ b(from)f(the)g(expansion)g(of)h(parameters)g(that)g(ha)m(v)m(e)h(no)e
 b(Filename)41 b(Expansion)275 1591 y Ft(After)22 b(w)m(ord)g
 (splitting,)j(unless)d(the)h(`)p Fs(-f)p Ft(')f(option)h(has)f(b)s(een)
 g(set)h(\(see)g(Section)h(4.3)f([The)f(Set)h(Builtin],)150
-1701 y(page)k(50\),)i(Bash)d(scans)h(eac)m(h)h(w)m(ord)e(for)g(the)h(c)
+1701 y(page)k(51\),)i(Bash)d(scans)h(eac)m(h)h(w)m(ord)e(for)g(the)h(c)
 m(haracters)g(`)p Fs(*)p Ft(',)h(`)p Fs(?)p Ft(',)g(and)e(`)p
 Fs([)p Ft('.)39 b(If)26 b(one)h(of)g(these)f(c)m(haracters)150
 1810 y(app)s(ears,)h(then)f(the)h(w)m(ord)f(is)h(regarded)g(as)g(a)g
@@ -6815,7 +6816,7 @@ Fs(export)d Ft(and)i(`)p Fs(declare)f(-x)p Ft(')h(commands.)275
 765 y(page)g(15.)41 b(These)29 b(assignmen)m(t)i(statemen)m(ts)g
 (a\013ect)f(only)g(the)f(en)m(vironmen)m(t)h(seen)g(b)m(y)f(that)h
 (command.)275 903 y(If)h(the)i(`)p Fs(-k)p Ft(')f(option)h(is)f(set)h
-(\(see)g(Section)g(4.3)g([The)f(Set)h(Builtin],)g(page)g(50\),)h(then)e
+(\(see)g(Section)g(4.3)g([The)f(Set)h(Builtin],)g(page)g(51\),)h(then)e
 (all)h(parameter)150 1012 y(assignmen)m(ts)d(are)g(placed)h(in)e(the)h
 (en)m(vironmen)m(t)g(for)g(a)g(command,)f(not)h(just)f(those)i(that)f
 (precede)g(the)150 1122 y(command)g(name.)275 1259 y(When)f(Bash)h(in)m
@@ -6970,1500 +6971,1509 @@ eop end
 %%Page: 33 39
 TeXDict begin 33 38 bop 150 -116 a Ft(Chapter)30 b(4:)41
 b(Shell)30 b(Builtin)h(Commands)2069 b(33)150 299 y Fo(4)80
-b(Shell)53 b(Builtin)f(Commands)275 525 y Ft(Builtin)25
+b(Shell)53 b(Builtin)f(Commands)275 535 y Ft(Builtin)25
 b(commands)f(are)h(con)m(tained)h(within)e(the)h(shell)g(itself.)40
 b(When)24 b(the)h(name)g(of)g(a)g(builtin)f(com-)150
-635 y(mand)i(is)i(used)e(as)i(the)g(\014rst)e(w)m(ord)h(of)h(a)f
+645 y(mand)i(is)i(used)e(as)i(the)g(\014rst)e(w)m(ord)h(of)h(a)f
 (simple)h(command)f(\(see)h(Section)g(3.2.1)h([Simple)f(Commands],)150
-745 y(page)21 b(8\),)j(the)d(shell)g(executes)h(the)f(command)f
+754 y(page)21 b(8\),)j(the)d(shell)g(executes)h(the)f(command)f
 (directly)-8 b(,)24 b(without)d(in)m(v)m(oking)h(another)f(program.)37
-b(Builtin)150 854 y(commands)f(are)h(necessary)g(to)g(implemen)m(t)g
+b(Builtin)150 864 y(commands)f(are)h(necessary)g(to)g(implemen)m(t)g
 (functionalit)m(y)h(imp)s(ossible)e(or)h(incon)m(v)m(enien)m(t)h(to)f
-(obtain)150 964 y(with)30 b(separate)h(utilities.)275
-1097 y(This)j(section)i(brie\015y)f(the)g(builtins)g(whic)m(h)g(Bash)g
+(obtain)150 974 y(with)30 b(separate)h(utilities.)275
+1109 y(This)j(section)i(brie\015y)f(the)g(builtins)g(whic)m(h)g(Bash)g
 (inherits)g(from)g(the)g(Bourne)g(Shell,)i(as)e(w)m(ell)i(as)150
-1206 y(the)31 b(builtin)e(commands)h(whic)m(h)h(are)f(unique)g(to)h(or)
-f(ha)m(v)m(e)i(b)s(een)e(extended)g(in)g(Bash.)275 1339
+1218 y(the)31 b(builtin)e(commands)h(whic)m(h)h(are)f(unique)g(to)h(or)
+f(ha)m(v)m(e)i(b)s(een)e(extended)g(in)g(Bash.)275 1354
 y(Sev)m(eral)45 b(builtin)e(commands)h(are)h(describ)s(ed)e(in)h(other)
 g(c)m(hapters:)69 b(builtin)43 b(commands)h(whic)m(h)150
-1449 y(pro)m(vide)23 b(the)h(Bash)f(in)m(terface)i(to)f(the)g(job)f
+1463 y(pro)m(vide)23 b(the)h(Bash)f(in)m(terface)i(to)f(the)g(job)f
 (con)m(trol)i(facilities)g(\(see)f(Section)h(7.2)f([Job)f(Con)m(trol)h
-(Builtins],)150 1558 y(page)40 b(84\),)j(the)c(directory)h(stac)m(k)g
+(Builtins],)150 1573 y(page)40 b(84\),)j(the)c(directory)h(stac)m(k)g
 (\(see)g(Section)g(6.8.1)h([Directory)g(Stac)m(k)f(Builtins],)i(page)e
-(75\),)j(the)150 1668 y(command)23 b(history)h(\(see)g(Section)g(9.2)h
+(75\),)j(the)150 1682 y(command)23 b(history)h(\(see)g(Section)g(9.2)h
 ([Bash)f(History)g(Builtins],)h(page)g(113\),)h(and)d(the)h
-(programmable)150 1778 y(completion)32 b(facilities)g(\(see)g(Section)f
+(programmable)150 1792 y(completion)32 b(facilities)g(\(see)g(Section)f
 (8.7)g([Programmable)g(Completion)g(Builtins],)g(page)h(109\).)275
-1911 y(Man)m(y)f(of)f(the)h(builtins)e(ha)m(v)m(e)j(b)s(een)e(extended)
-g(b)m(y)g Fl(posix)g Ft(or)g(Bash.)275 2044 y(Unless)20
+1927 y(Man)m(y)f(of)f(the)h(builtins)e(ha)m(v)m(e)j(b)s(een)e(extended)
+g(b)m(y)g Fl(posix)g Ft(or)g(Bash.)275 2062 y(Unless)20
 b(otherwise)h(noted,)h(eac)m(h)g(builtin)e(command)g(do)s(cumen)m(ted)g
-(as)h(accepting)h(options)e(preceded)150 2153 y(b)m(y)30
-b(`)p Fs(-)p Ft(')h(accepts)g(`)p Fs(--)p Ft(')g(to)g(signify)f(the)h
-(end)f(of)g(the)h(options.)150 2406 y Fr(4.1)68 b(Bourne)45
-b(Shell)g(Builtins)275 2648 y Ft(The)31 b(follo)m(wing)i(shell)e
-(builtin)h(commands)f(are)h(inherited)f(from)g(the)h(Bourne)f(Shell.)45
-b(These)31 b(com-)150 2758 y(mands)e(are)i(implemen)m(ted)g(as)g(sp)s
-(eci\014ed)e(b)m(y)i(the)f Fl(posix)g Ft(1003.2)j(standard.)150
-2914 y Fs(:)d Ft(\(a)h(colon\))870 3024 y Fs(:)47 b([)p
-Fj(arguments)11 b Fs(])630 3157 y Ft(Do)43 b(nothing)f(b)s(ey)m(ond)g
-(expanding)f Fq(argumen)m(ts)46 b Ft(and)c(p)s(erforming)f
-(redirections.)76 b(The)630 3267 y(return)29 b(status)i(is)f(zero.)150
-3423 y Fs(.)g Ft(\(a)h(p)s(erio)s(d\))870 3532 y Fs(.)47
+(as)h(accepting)h(options)e(preceded)150 2172 y(b)m(y)31
+b(`)p Fs(-)p Ft(')g(accepts)i(`)p Fs(--)p Ft(')e(to)h(signify)f(the)h
+(end)e(of)i(the)f(options.)44 b(F)-8 b(or)32 b(example,)g(the)f
+Fs(:)p Ft(,)h Fs(true)p Ft(,)e Fs(false)p Ft(,)h(and)150
+2282 y Fs(test)e Ft(builtins)h(do)g(not)h(accept)h(options.)150
+2541 y Fr(4.1)68 b(Bourne)45 b(Shell)g(Builtins)275 2786
+y Ft(The)31 b(follo)m(wing)i(shell)e(builtin)h(commands)f(are)h
+(inherited)f(from)g(the)h(Bourne)f(Shell.)45 b(These)31
+b(com-)150 2895 y(mands)e(are)i(implemen)m(ted)g(as)g(sp)s(eci\014ed)e
+(b)m(y)i(the)f Fl(posix)g Ft(1003.2)j(standard.)150 3056
+y Fs(:)d Ft(\(a)h(colon\))870 3165 y Fs(:)47 b([)p Fj(arguments)11
+b Fs(])630 3300 y Ft(Do)43 b(nothing)f(b)s(ey)m(ond)g(expanding)f
+Fq(argumen)m(ts)46 b Ft(and)c(p)s(erforming)f(redirections.)76
+b(The)630 3410 y(return)29 b(status)i(is)f(zero.)150
+3570 y Fs(.)g Ft(\(a)h(p)s(erio)s(d\))870 3679 y Fs(.)47
 b Fj(filename)57 b Fs([)p Fj(arguments)11 b Fs(])630
-3665 y Ft(Read)34 b(and)f(execute)i(commands)e(from)g(the)h
+3814 y Ft(Read)34 b(and)f(execute)i(commands)e(from)g(the)h
 Fq(\014lename)39 b Ft(argumen)m(t)34 b(in)f(the)h(curren)m(t)g(shell)
-630 3775 y(con)m(text.)45 b(If)31 b Fq(\014lename)37
+630 3924 y(con)m(text.)45 b(If)31 b Fq(\014lename)37
 b Ft(do)s(es)31 b(not)g(con)m(tain)i(a)e(slash,)h(the)g
 Fs(PATH)e Ft(v)-5 b(ariable)32 b(is)f(used)f(to)i(\014nd)630
-3885 y Fq(\014lename)p Ft(.)52 b(When)34 b(Bash)g(is)h(not)f(in)g
+4033 y Fq(\014lename)p Ft(.)52 b(When)34 b(Bash)g(is)h(not)f(in)g
 Fl(posix)f Ft(mo)s(de,)i(the)g(curren)m(t)f(directory)g(is)g(searc)m
-(hed)630 3994 y(if)d Fq(\014lename)36 b Ft(is)31 b(not)h(found)d(in)i
+(hed)630 4143 y(if)d Fq(\014lename)36 b Ft(is)31 b(not)h(found)d(in)i
 Fs($PATH)p Ft(.)41 b(If)31 b(an)m(y)g Fq(argumen)m(ts)k
-Ft(are)c(supplied,)f(they)i(b)s(ecome)630 4104 y(the)e(p)s(ositional)h
+Ft(are)c(supplied,)f(they)i(b)s(ecome)630 4253 y(the)e(p)s(ositional)h
 (parameters)g(when)e Fq(\014lename)35 b Ft(is)30 b(executed.)42
-b(Otherwise)30 b(the)g(p)s(ositional)630 4213 y(parameters)43
+b(Otherwise)30 b(the)g(p)s(ositional)630 4362 y(parameters)43
 b(are)h(unc)m(hanged.)79 b(The)42 b(return)g(status)i(is)f(the)g(exit)h
-(status)g(of)f(the)g(last)630 4323 y(command)37 b(executed,)k(or)c
+(status)g(of)f(the)g(last)630 4472 y(command)37 b(executed,)k(or)c
 (zero)h(if)g(no)f(commands)g(are)h(executed.)63 b(If)36
-b Fq(\014lename)43 b Ft(is)38 b(not)630 4433 y(found,)22
+b Fq(\014lename)43 b Ft(is)38 b(not)630 4581 y(found,)22
 b(or)f(cannot)g(b)s(e)f(read,)j(the)e(return)f(status)h(is)g(non-zero.)
 38 b(This)20 b(builtin)h(is)f(equiv)-5 b(alen)m(t)630
-4542 y(to)31 b Fs(source)p Ft(.)150 4699 y Fs(break)870
-4831 y(break)46 b([)p Fj(n)11 b Fs(])630 4964 y Ft(Exit)45
+4691 y(to)31 b Fs(source)p Ft(.)150 4851 y Fs(break)870
+4986 y(break)46 b([)p Fj(n)11 b Fs(])630 5121 y Ft(Exit)45
 b(from)f(a)g Fs(for)p Ft(,)k Fs(while)p Ft(,)e Fs(until)p
 Ft(,)h(or)d Fs(select)f Ft(lo)s(op.)83 b(If)44 b Fq(n)g
-Ft(is)g(supplied,)j(the)e Fq(n)p Ft(th)630 5074 y(enclosing)c(lo)s(op)f
+Ft(is)g(supplied,)j(the)e Fq(n)p Ft(th)630 5230 y(enclosing)c(lo)s(op)f
 (is)h(exited.)70 b Fq(n)40 b Ft(m)m(ust)g(b)s(e)f(greater)j(than)d(or)i
-(equal)f(to)h(1.)70 b(The)40 b(return)630 5184 y(status)31
+(equal)f(to)h(1.)70 b(The)40 b(return)630 5340 y(status)31
 b(is)f(zero)h(unless)f Fq(n)g Ft(is)g(not)h(greater)g(than)g(or)f
-(equal)h(to)g(1.)150 5340 y Fs(cd)p eop end
+(equal)h(to)g(1.)p eop end
 %%Page: 34 40
 TeXDict begin 34 39 bop 150 -116 a Ft(34)2572 b(Bash)31
-b(Reference)g(Man)m(ual)870 299 y Fs(cd)47 b([-L|-P])f([)p
-Fj(directory)11 b Fs(])630 431 y Ft(Change)37 b(the)g(curren)m(t)f(w)m
-(orking)i(directory)f(to)h Fq(directory)p Ft(.)60 b(If)37
-b Fq(directory)45 b Ft(is)37 b(not)g(giv)m(en,)630 541
-y(the)31 b(v)-5 b(alue)31 b(of)g(the)g Fs(HOME)e Ft(shell)i(v)-5
-b(ariable)32 b(is)f(used.)40 b(If)31 b(the)g(shell)g(v)-5
-b(ariable)31 b Fs(CDPATH)e Ft(exists,)630 650 y(it)f(is)f(used)f(as)h
-(a)h(searc)m(h)f(path.)40 b(If)26 b Fq(directory)35 b
-Ft(b)s(egins)27 b(with)g(a)g(slash,)h Fs(CDPATH)d Ft(is)i(not)g(used.)
-630 783 y(The)h(`)p Fs(-P)p Ft(')h(option)g(means)f(to)h(not)g(follo)m
-(w)h(sym)m(b)s(olic)f(links;)g(sym)m(b)s(olic)g(links)f(are)h(follo)m
-(w)m(ed)630 892 y(b)m(y)23 b(default)h(or)g(with)f(the)h(`)p
-Fs(-L)p Ft(')f(option.)39 b(If)23 b Fq(directory)32 b
-Ft(is)23 b(`)p Fs(-)p Ft(',)j(it)e(is)f(equiv)-5 b(alen)m(t)25
-b(to)g Fs($OLDPWD)p Ft(.)630 1025 y(If)33 b(a)h(non-empt)m(y)g
+b(Reference)g(Man)m(ual)150 299 y Fs(cd)870 430 y(cd)47
+b([-L|-P])f([)p Fj(directory)11 b Fs(])630 562 y Ft(Change)37
+b(the)g(curren)m(t)f(w)m(orking)i(directory)f(to)h Fq(directory)p
+Ft(.)60 b(If)37 b Fq(directory)45 b Ft(is)37 b(not)g(giv)m(en,)630
+671 y(the)31 b(v)-5 b(alue)31 b(of)g(the)g Fs(HOME)e
+Ft(shell)i(v)-5 b(ariable)32 b(is)f(used.)40 b(If)31
+b(the)g(shell)g(v)-5 b(ariable)31 b Fs(CDPATH)e Ft(exists,)630
+781 y(it)f(is)f(used)f(as)h(a)h(searc)m(h)f(path.)40
+b(If)26 b Fq(directory)35 b Ft(b)s(egins)27 b(with)g(a)g(slash,)h
+Fs(CDPATH)d Ft(is)i(not)g(used.)630 913 y(The)h(`)p Fs(-P)p
+Ft(')h(option)g(means)f(to)h(not)g(follo)m(w)h(sym)m(b)s(olic)f(links;)
+g(sym)m(b)s(olic)g(links)f(are)h(follo)m(w)m(ed)630 1022
+y(b)m(y)23 b(default)h(or)g(with)f(the)h(`)p Fs(-L)p
+Ft(')f(option.)39 b(If)23 b Fq(directory)32 b Ft(is)23
+b(`)p Fs(-)p Ft(',)j(it)e(is)f(equiv)-5 b(alen)m(t)25
+b(to)g Fs($OLDPWD)p Ft(.)630 1154 y(If)33 b(a)h(non-empt)m(y)g
 (directory)g(name)f(from)g Fs(CDPATH)f Ft(is)h(used,)h(or)g(if)f(`)p
-Fs(-)p Ft(')h(is)f(the)h(\014rst)f(argu-)630 1134 y(men)m(t,)28
+Fs(-)p Ft(')h(is)f(the)h(\014rst)f(argu-)630 1263 y(men)m(t,)28
 b(and)e(the)h(directory)g(c)m(hange)h(is)f(successful,)h(the)f
-(absolute)g(pathname)g(of)f(the)h(new)630 1244 y(w)m(orking)k
+(absolute)g(pathname)g(of)f(the)h(new)630 1373 y(w)m(orking)k
 (directory)g(is)f(written)g(to)i(the)e(standard)g(output.)630
-1377 y(The)f(return)g(status)h(is)f(zero)i(if)e(the)h(directory)g(is)g
-(successfully)g(c)m(hanged,)g(non-zero)g(oth-)630 1486
-y(erwise.)150 1641 y Fs(continue)870 1774 y(continue)46
-b([)p Fj(n)11 b Fs(])630 1906 y Ft(Resume)32 b(the)g(next)g(iteration)i
+1504 y(The)f(return)g(status)h(is)f(zero)i(if)e(the)h(directory)g(is)g
+(successfully)g(c)m(hanged,)g(non-zero)g(oth-)630 1614
+y(erwise.)150 1767 y Fs(continue)870 1899 y(continue)46
+b([)p Fj(n)11 b Fs(])630 2030 y Ft(Resume)32 b(the)g(next)g(iteration)i
 (of)e(an)g(enclosing)h Fs(for)p Ft(,)f Fs(while)p Ft(,)f
-Fs(until)p Ft(,)g(or)h Fs(select)f Ft(lo)s(op.)630 2016
+Fs(until)p Ft(,)g(or)h Fs(select)f Ft(lo)s(op.)630 2140
 y(If)f Fq(n)h Ft(is)g(supplied,)e(the)j(execution)g(of)f(the)g
 Fq(n)p Ft(th)f(enclosing)i(lo)s(op)f(is)f(resumed.)42
-b Fq(n)30 b Ft(m)m(ust)h(b)s(e)630 2125 y(greater)39
+b Fq(n)30 b Ft(m)m(ust)h(b)s(e)630 2250 y(greater)39
 b(than)f(or)g(equal)g(to)h(1.)63 b(The)38 b(return)e(status)j(is)e
-(zero)i(unless)e Fq(n)h Ft(is)g(not)g(greater)630 2235
-y(than)30 b(or)g(equal)h(to)g(1.)150 2390 y Fs(eval)870
-2523 y(eval)47 b([)p Fj(arguments)11 b Fs(])630 2655
+(zero)i(unless)e Fq(n)h Ft(is)g(not)g(greater)630 2359
+y(than)30 b(or)g(equal)h(to)g(1.)150 2513 y Fs(eval)870
+2644 y(eval)47 b([)p Fj(arguments)11 b Fs(])630 2776
 y Ft(The)25 b(argumen)m(ts)h(are)g(concatenated)i(together)f(in)m(to)f
-(a)g(single)h(command,)f(whic)m(h)g(is)f(then)630 2765
+(a)g(single)h(command,)f(whic)m(h)g(is)f(then)630 2885
 y(read)35 b(and)g(executed,)j(and)d(its)h(exit)g(status)g(returned)e
 (as)h(the)h(exit)g(status)g(of)g Fs(eval)p Ft(.)54 b(If)630
-2874 y(there)31 b(are)f(no)h(argumen)m(ts)f(or)h(only)f(empt)m(y)h
+2995 y(there)31 b(are)f(no)h(argumen)m(ts)f(or)h(only)f(empt)m(y)h
 (argumen)m(ts,)g(the)f(return)g(status)g(is)h(zero.)150
-3029 y Fs(exec)870 3162 y(exec)47 b([-cl])f([-a)h Fj(name)11
+3148 y Fs(exec)870 3280 y(exec)47 b([-cl])f([-a)h Fj(name)11
 b Fs(])46 b([)p Fj(command)56 b Fs([)p Fj(arguments)11
-b Fs(]])630 3294 y Ft(If)28 b Fq(command)j Ft(is)e(supplied,)e(it)i
+b Fs(]])630 3411 y Ft(If)28 b Fq(command)j Ft(is)e(supplied,)e(it)i
 (replaces)g(the)f(shell)h(without)f(creating)i(a)e(new)g(pro)s(cess.)39
-b(If)630 3404 y(the)25 b(`)p Fs(-l)p Ft(')f(option)i(is)e(supplied,)h
+b(If)630 3521 y(the)25 b(`)p Fs(-l)p Ft(')f(option)i(is)e(supplied,)h
 (the)g(shell)g(places)g(a)g(dash)f(at)i(the)f(b)s(eginning)f(of)g(the)h
-(zeroth)630 3513 y(arg)h(passed)f(to)h Fq(command)p Ft(.)39
+(zeroth)630 3630 y(arg)h(passed)f(to)h Fq(command)p Ft(.)39
 b(This)24 b(is)i(what)f(the)h Fs(login)d Ft(program)j(do)s(es.)38
-b(The)25 b(`)p Fs(-c)p Ft(')g(option)630 3623 y(causes)g
+b(The)25 b(`)p Fs(-c)p Ft(')g(option)630 3740 y(causes)g
 Fq(command)i Ft(to)e(b)s(e)f(executed)h(with)f(an)g(empt)m(y)h(en)m
 (vironmen)m(t.)39 b(If)24 b(`)p Fs(-a)p Ft(')g(is)g(supplied,)630
-3733 y(the)32 b(shell)g(passes)g Fq(name)37 b Ft(as)c(the)f(zeroth)h
+3850 y(the)32 b(shell)g(passes)g Fq(name)37 b Ft(as)c(the)f(zeroth)h
 (argumen)m(t)f(to)h Fq(command)p Ft(.)45 b(If)32 b(no)g
-Fq(command)j Ft(is)630 3842 y(sp)s(eci\014ed,)g(redirections)g(ma)m(y)g
+Fq(command)j Ft(is)630 3959 y(sp)s(eci\014ed,)g(redirections)g(ma)m(y)g
 (b)s(e)f(used)f(to)i(a\013ect)h(the)f(curren)m(t)f(shell)h(en)m
-(vironmen)m(t.)53 b(If)630 3952 y(there)34 b(are)h(no)f(redirection)h
+(vironmen)m(t.)53 b(If)630 4069 y(there)34 b(are)h(no)f(redirection)h
 (errors,)g(the)f(return)f(status)i(is)f(zero;)j(otherwise)e(the)f
-(return)630 4061 y(status)d(is)f(non-zero.)150 4217 y
-Fs(exit)870 4349 y(exit)47 b([)p Fj(n)11 b Fs(])630 4482
+(return)630 4178 y(status)d(is)f(non-zero.)150 4332 y
+Fs(exit)870 4463 y(exit)47 b([)p Fj(n)11 b Fs(])630 4595
 y Ft(Exit)30 b(the)g(shell,)h(returning)d(a)j(status)f(of)g
 Fq(n)f Ft(to)h(the)g(shell's)g(paren)m(t.)41 b(If)30
-b Fq(n)f Ft(is)h(omitted,)h(the)630 4591 y(exit)c(status)g(is)g(that)g
+b Fq(n)f Ft(is)h(omitted,)h(the)630 4704 y(exit)c(status)g(is)g(that)g
 (of)g(the)g(last)g(command)f(executed.)41 b(An)m(y)26
-b(trap)h(on)f Fs(EXIT)f Ft(is)i(executed)630 4701 y(b)s(efore)j(the)h
-(shell)f(terminates.)150 4856 y Fs(export)870 4988 y(export)46
+b(trap)h(on)f Fs(EXIT)f Ft(is)i(executed)630 4814 y(b)s(efore)j(the)h
+(shell)f(terminates.)150 4967 y Fs(export)870 5099 y(export)46
 b([-fn])g([-p])h([)p Fj(name)11 b Fs([=)p Fj(value)g
-Fs(]])630 5121 y Ft(Mark)40 b(eac)m(h)h Fq(name)k Ft(to)40
+Fs(]])630 5230 y Ft(Mark)40 b(eac)m(h)h Fq(name)k Ft(to)40
 b(b)s(e)f(passed)g(to)i(c)m(hild)f(pro)s(cesses)f(in)g(the)h(en)m
-(vironmen)m(t.)70 b(If)39 b(the)630 5230 y(`)p Fs(-f)p
+(vironmen)m(t.)70 b(If)39 b(the)630 5340 y(`)p Fs(-f)p
 Ft(')29 b(option)h(is)g(supplied,)f(the)g Fq(name)5 b
-Ft(s)30 b(refer)f(to)h(shell)g(functions;)f(otherwise)h(the)g(names)630
-5340 y(refer)36 b(to)i(shell)e(v)-5 b(ariables.)60 b(The)36
-b(`)p Fs(-n)p Ft(')h(option)g(means)f(to)h(no)g(longer)g(mark)f(eac)m
-(h)i Fq(name)p eop end
+Ft(s)30 b(refer)f(to)h(shell)g(functions;)f(otherwise)h(the)g(names)p
+eop end
 %%Page: 35 41
 TeXDict begin 35 40 bop 150 -116 a Ft(Chapter)30 b(4:)41
-b(Shell)30 b(Builtin)h(Commands)2069 b(35)630 299 y(for)39
-b(exp)s(ort.)65 b(If)39 b(no)g Fq(names)j Ft(are)d(supplied,)h(or)f(if)
-g(the)g(`)p Fs(-p)p Ft(')g(option)g(is)g(giv)m(en,)j(a)d(list)h(of)630
-408 y(exp)s(orted)c(names)h(is)f(displa)m(y)m(ed.)60
-b(The)37 b(`)p Fs(-p)p Ft(')f(option)h(displa)m(ys)g(output)f(in)g(a)h
-(form)f(that)630 518 y(ma)m(y)c(b)s(e)e(reused)g(as)i(input.)42
+b(Shell)30 b(Builtin)h(Commands)2069 b(35)630 299 y(refer)36
+b(to)i(shell)e(v)-5 b(ariables.)60 b(The)36 b(`)p Fs(-n)p
+Ft(')h(option)g(means)f(to)h(no)g(longer)g(mark)f(eac)m(h)i
+Fq(name)630 408 y Ft(for)h(exp)s(ort.)65 b(If)39 b(no)g
+Fq(names)j Ft(are)d(supplied,)h(or)f(if)g(the)g(`)p Fs(-p)p
+Ft(')g(option)g(is)g(giv)m(en,)j(a)d(list)h(of)630 518
+y(exp)s(orted)c(names)h(is)f(displa)m(y)m(ed.)60 b(The)37
+b(`)p Fs(-p)p Ft(')f(option)h(displa)m(ys)g(output)f(in)g(a)h(form)f
+(that)630 628 y(ma)m(y)c(b)s(e)e(reused)g(as)i(input.)42
 b(If)30 b(a)i(v)-5 b(ariable)31 b(name)h(is)f(follo)m(w)m(ed)h(b)m(y)f
 (=)p Fq(v)-5 b(alue)p Ft(,)32 b(the)f(v)-5 b(alue)32
-b(of)630 628 y(the)f(v)-5 b(ariable)31 b(is)f(set)h(to)g
-Fq(v)-5 b(alue)p Ft(.)630 761 y(The)29 b(return)e(status)j(is)f(zero)h
+b(of)630 737 y(the)f(v)-5 b(ariable)31 b(is)f(set)h(to)g
+Fq(v)-5 b(alue)p Ft(.)630 870 y(The)29 b(return)e(status)j(is)f(zero)h
 (unless)e(an)h(in)m(v)-5 b(alid)29 b(option)h(is)f(supplied,)f(one)i
-(of)f(the)g(names)630 870 y(is)h(not)h(a)f(v)-5 b(alid)31
+(of)f(the)g(names)630 980 y(is)h(not)h(a)f(v)-5 b(alid)31
 b(shell)f(v)-5 b(ariable)31 b(name,)f(or)h(`)p Fs(-f)p
 Ft(')f(is)g(supplied)f(with)g(a)i(name)f(that)h(is)f(not)h(a)630
-980 y(shell)g(function.)150 1136 y Fs(getopts)870 1270
+1089 y(shell)g(function.)150 1246 y Fs(getopts)870 1379
 y(getopts)46 b Fj(optstring)56 b(name)h Fs([)p Fj(args)11
-b Fs(])630 1403 y(getopts)28 b Ft(is)i(used)g(b)m(y)g(shell)g(scripts)g
+b Fs(])630 1512 y(getopts)28 b Ft(is)i(used)g(b)m(y)g(shell)g(scripts)g
 (to)g(parse)g(p)s(ositional)h(parameters.)41 b Fq(optstring)d
-Ft(con-)630 1512 y(tains)k(the)g(option)f(c)m(haracters)i(to)g(b)s(e)d
+Ft(con-)630 1622 y(tains)k(the)g(option)f(c)m(haracters)i(to)g(b)s(e)d
 (recognized;)49 b(if)42 b(a)f(c)m(haracter)j(is)d(follo)m(w)m(ed)i(b)m
-(y)f(a)630 1622 y(colon,)33 b(the)f(option)g(is)g(exp)s(ected)g(to)h
+(y)f(a)630 1731 y(colon,)33 b(the)f(option)g(is)g(exp)s(ected)g(to)h
 (ha)m(v)m(e)g(an)e(argumen)m(t,)i(whic)m(h)f(should)e(b)s(e)h
-(separated)630 1731 y(from)37 b(it)h(b)m(y)f(white)h(space.)63
+(separated)630 1841 y(from)37 b(it)h(b)m(y)f(white)h(space.)63
 b(The)37 b(colon)h(\(`)p Fs(:)p Ft('\))h(and)d(question)i(mark)f(\(`)p
-Fs(?)p Ft('\))i(ma)m(y)f(not)g(b)s(e)630 1841 y(used)g(as)g(option)h(c)
+Fs(?)p Ft('\))i(ma)m(y)f(not)g(b)s(e)630 1951 y(used)g(as)g(option)h(c)
 m(haracters.)67 b(Eac)m(h)39 b(time)g(it)g(is)f(in)m(v)m(ok)m(ed,)k
-Fs(getopts)37 b Ft(places)i(the)g(next)630 1951 y(option)29
+Fs(getopts)37 b Ft(places)i(the)g(next)630 2060 y(option)29
 b(in)f(the)h(shell)g(v)-5 b(ariable)30 b Fq(name)p Ft(,)f(initializing)
 i Fq(name)j Ft(if)28 b(it)h(do)s(es)g(not)g(exist,)h(and)e(the)630
-2060 y(index)33 b(of)g(the)h(next)f(argumen)m(t)h(to)g(b)s(e)e(pro)s
+2170 y(index)33 b(of)g(the)h(next)f(argumen)m(t)h(to)g(b)s(e)e(pro)s
 (cessed)h(in)m(to)h(the)g(v)-5 b(ariable)34 b Fs(OPTIND)p
-Ft(.)48 b Fs(OPTIND)630 2170 y Ft(is)41 b(initialized)i(to)f(1)f(eac)m
+Ft(.)48 b Fs(OPTIND)630 2279 y Ft(is)41 b(initialized)i(to)f(1)f(eac)m
 (h)h(time)g(the)f(shell)g(or)g(a)g(shell)g(script)g(is)g(in)m(v)m(ok)m
-(ed.)74 b(When)41 b(an)630 2279 y(option)36 b(requires)e(an)h(argumen)m
+(ed.)74 b(When)41 b(an)630 2389 y(option)36 b(requires)e(an)h(argumen)m
 (t,)i Fs(getopts)c Ft(places)j(that)g(argumen)m(t)g(in)m(to)g(the)f(v)
--5 b(ariable)630 2389 y Fs(OPTARG)p Ft(.)55 b(The)35
+-5 b(ariable)630 2498 y Fs(OPTARG)p Ft(.)55 b(The)35
 b(shell)g(do)s(es)h(not)g(reset)g Fs(OPTIND)e Ft(automatically;)41
-b(it)36 b(m)m(ust)f(b)s(e)g(man)m(ually)630 2498 y(reset)i(b)s(et)m(w)m
+b(it)36 b(m)m(ust)f(b)s(e)g(man)m(ually)630 2608 y(reset)i(b)s(et)m(w)m
 (een)g(m)m(ultiple)h(calls)f(to)g Fs(getopts)e Ft(within)h(the)h(same)g
-(shell)f(in)m(v)m(o)s(cation)j(if)e(a)630 2608 y(new)30
+(shell)f(in)m(v)m(o)s(cation)j(if)e(a)630 2718 y(new)30
 b(set)h(of)f(parameters)h(is)f(to)i(b)s(e)d(used.)630
-2741 y(When)41 b(the)h(end)e(of)i(options)g(is)f(encoun)m(tered,)k
+2851 y(When)41 b(the)h(end)e(of)i(options)g(is)f(encoun)m(tered,)k
 Fs(getopts)39 b Ft(exits)j(with)f(a)h(return)e(v)-5 b(alue)630
-2851 y(greater)32 b(than)e(zero.)41 b Fs(OPTIND)29 b
+2960 y(greater)32 b(than)e(zero.)41 b Fs(OPTIND)29 b
 Ft(is)h(set)h(to)g(the)g(index)f(of)g(the)h(\014rst)f(non-option)g
-(argumen)m(t,)630 2960 y(and)g Fs(name)f Ft(is)h(set)h(to)g(`)p
-Fs(?)p Ft('.)630 3093 y Fs(getopts)c Ft(normally)j(parses)e(the)i(p)s
+(argumen)m(t,)630 3070 y(and)g Fs(name)f Ft(is)h(set)h(to)g(`)p
+Fs(?)p Ft('.)630 3203 y Fs(getopts)c Ft(normally)j(parses)e(the)i(p)s
 (ositional)g(parameters,)g(but)e(if)i(more)f(argumen)m(ts)h(are)630
-3203 y(giv)m(en)h(in)f Fq(args)p Ft(,)h Fs(getopts)e
-Ft(parses)h(those)h(instead.)630 3336 y Fs(getopts)h
+3313 y(giv)m(en)h(in)f Fq(args)p Ft(,)h Fs(getopts)e
+Ft(parses)h(those)h(instead.)630 3446 y Fs(getopts)h
 Ft(can)h(rep)s(ort)g(errors)g(in)h(t)m(w)m(o)h(w)m(a)m(ys.)51
 b(If)33 b(the)h(\014rst)e(c)m(haracter)k(of)d Fq(optstring)42
-b Ft(is)34 b(a)630 3446 y(colon,)i Fq(silen)m(t)i Ft(error)33
+b Ft(is)34 b(a)630 3555 y(colon,)i Fq(silen)m(t)i Ft(error)33
 b(rep)s(orting)h(is)h(used.)51 b(In)33 b(normal)i(op)s(eration)f
-(diagnostic)i(messages)630 3555 y(are)30 b(prin)m(ted)e(when)g(in)m(v)
+(diagnostic)i(messages)630 3665 y(are)30 b(prin)m(ted)e(when)g(in)m(v)
 -5 b(alid)30 b(options)g(or)f(missing)g(option)g(argumen)m(ts)h(are)f
-(encoun)m(tered.)630 3665 y(If)34 b(the)g(v)-5 b(ariable)35
+(encoun)m(tered.)630 3774 y(If)34 b(the)g(v)-5 b(ariable)35
 b Fs(OPTERR)d Ft(is)i(set)h(to)f(0,)i(no)e(error)g(messages)h(will)f(b)
-s(e)f(displa)m(y)m(ed,)j(ev)m(en)f(if)630 3774 y(the)c(\014rst)e(c)m
+s(e)f(displa)m(y)m(ed,)j(ev)m(en)f(if)630 3884 y(the)c(\014rst)e(c)m
 (haracter)j(of)f Fs(optstring)d Ft(is)i(not)h(a)f(colon.)630
-3907 y(If)39 b(an)h(in)m(v)-5 b(alid)41 b(option)f(is)g(seen,)i
+4017 y(If)39 b(an)h(in)m(v)-5 b(alid)41 b(option)f(is)g(seen,)i
 Fs(getopts)c Ft(places)j(`)p Fs(?)p Ft(')f(in)m(to)h
-Fq(name)k Ft(and,)d(if)e(not)g(silen)m(t,)630 4017 y(prin)m(ts)f(an)h
+Fq(name)k Ft(and,)d(if)e(not)g(silen)m(t,)630 4127 y(prin)m(ts)f(an)h
 (error)f(message)h(and)f(unsets)g Fs(OPTARG)p Ft(.)67
 b(If)39 b Fs(getopts)f Ft(is)i(silen)m(t,)j(the)c(option)630
-4127 y(c)m(haracter)32 b(found)d(is)h(placed)h(in)f Fs(OPTARG)f
+4236 y(c)m(haracter)32 b(found)d(is)h(placed)h(in)f Fs(OPTARG)f
 Ft(and)h(no)g(diagnostic)i(message)f(is)g(prin)m(ted.)630
-4260 y(If)c(a)g(required)f(argumen)m(t)i(is)f(not)g(found,)g(and)f
+4369 y(If)c(a)g(required)f(argumen)m(t)i(is)f(not)g(found,)g(and)f
 Fs(getopts)f Ft(is)i(not)h(silen)m(t,)h(a)e(question)g(mark)630
-4369 y(\(`)p Fs(?)p Ft('\))h(is)g(placed)g(in)f Fq(name)p
+4479 y(\(`)p Fs(?)p Ft('\))h(is)g(placed)g(in)f Fq(name)p
 Ft(,)h Fs(OPTARG)e Ft(is)h(unset,)h(and)f(a)g(diagnostic)i(message)g
-(is)e(prin)m(ted.)39 b(If)630 4479 y Fs(getopts)28 b
+(is)e(prin)m(ted.)39 b(If)630 4589 y Fs(getopts)28 b
 Ft(is)h(silen)m(t,)i(then)e(a)h(colon)h(\(`)p Fs(:)p
 Ft('\))f(is)g(placed)g(in)f Fq(name)35 b Ft(and)29 b
-Fs(OPTARG)f Ft(is)h(set)h(to)h(the)630 4589 y(option)g(c)m(haracter)h
-(found.)150 4745 y Fs(hash)870 4878 y(hash)47 b([-'r])f([-p)h
+Fs(OPTARG)f Ft(is)h(set)h(to)h(the)630 4698 y(option)g(c)m(haracter)h
+(found.)150 4855 y Fs(hash)870 4988 y(hash)47 b([-'r])f([-p)h
 Fj(filename)11 b Fs(])45 b([-dt])h([)p Fj(name)11 b Fs(])630
-5011 y Ft(Remem)m(b)s(er)36 b(the)g(full)g(pathnames)g(of)g(commands)g
+5121 y Ft(Remem)m(b)s(er)36 b(the)g(full)g(pathnames)g(of)g(commands)g
 (sp)s(eci\014ed)g(as)g Fq(name)41 b Ft(argumen)m(ts,)e(so)630
-5121 y(they)34 b(need)h(not)f(b)s(e)g(searc)m(hed)h(for)f(on)g
+5230 y(they)34 b(need)h(not)f(b)s(e)g(searc)m(hed)h(for)f(on)g
 (subsequen)m(t)f(in)m(v)m(o)s(cations.)55 b(The)34 b(commands)g(are)630
-5230 y(found)39 b(b)m(y)i(searc)m(hing)g(through)f(the)h(directories)g
+5340 y(found)39 b(b)m(y)i(searc)m(hing)g(through)f(the)h(directories)g
 (listed)g(in)f Fs($PATH)p Ft(.)70 b(The)40 b(`)p Fs(-p)p
-Ft(')g(option)630 5340 y(inhibits)e(the)h(path)g(searc)m(h,)j(and)c
-Fq(\014lename)44 b Ft(is)39 b(used)f(as)i(the)f(lo)s(cation)h(of)f
-Fq(name)p Ft(.)66 b(The)p eop end
+Ft(')g(option)p eop end
 %%Page: 36 42
 TeXDict begin 36 41 bop 150 -116 a Ft(36)2572 b(Bash)31
-b(Reference)g(Man)m(ual)630 299 y(`)p Fs(-r)p Ft(')d(option)g(causes)g
-(the)g(shell)h(to)f(forget)h(all)g(remem)m(b)s(ered)e(lo)s(cations.)41
-b(The)28 b(`)p Fs(-d)p Ft(')f(option)630 408 y(causes)38
-b(the)g(shell)g(to)g(forget)g(the)g(remem)m(b)s(ered)f(lo)s(cation)i
-(of)f(eac)m(h)h Fq(name)p Ft(.)62 b(If)37 b(the)h(`)p
-Fs(-t)p Ft(')630 518 y(option)22 b(is)g(supplied,)g(the)g(full)f
-(pathname)h(to)g(whic)m(h)g(eac)m(h)g Fq(name)27 b Ft(corresp)s(onds)20
-b(is)i(prin)m(ted.)630 628 y(If)33 b(m)m(ultiple)h Fq(name)k
-Ft(argumen)m(ts)c(are)f(supplied)f(with)h(`)p Fs(-t)p
-Ft(')g(the)h Fq(name)k Ft(is)c(prin)m(ted)e(b)s(efore)630
-737 y(the)h(hashed)f(full)g(pathname.)48 b(The)32 b(`)p
-Fs(-l)p Ft(')h(option)g(causes)g(output)f(to)i(b)s(e)e(displa)m(y)m(ed)
-h(in)g(a)630 847 y(format)f(that)g(ma)m(y)g(b)s(e)f(reused)g(as)g
-(input.)43 b(If)31 b(no)h(argumen)m(ts)g(are)f(giv)m(en,)j(or)d(if)g
-(only)h(`)p Fs(-l)p Ft(')630 956 y(is)j(supplied,)f(information)h(ab)s
-(out)g(remem)m(b)s(ered)f(commands)g(is)h(prin)m(ted.)53
-b(The)34 b(return)630 1066 y(status)d(is)f(zero)h(unless)f(a)h
+b(Reference)g(Man)m(ual)630 299 y(inhibits)38 b(the)h(path)g(searc)m
+(h,)j(and)c Fq(\014lename)44 b Ft(is)39 b(used)f(as)i(the)f(lo)s
+(cation)h(of)f Fq(name)p Ft(.)66 b(The)630 408 y(`)p
+Fs(-r)p Ft(')28 b(option)g(causes)g(the)g(shell)h(to)f(forget)h(all)g
+(remem)m(b)s(ered)e(lo)s(cations.)41 b(The)28 b(`)p Fs(-d)p
+Ft(')f(option)630 518 y(causes)38 b(the)g(shell)g(to)g(forget)g(the)g
+(remem)m(b)s(ered)f(lo)s(cation)i(of)f(eac)m(h)h Fq(name)p
+Ft(.)62 b(If)37 b(the)h(`)p Fs(-t)p Ft(')630 628 y(option)22
+b(is)g(supplied,)g(the)g(full)f(pathname)h(to)g(whic)m(h)g(eac)m(h)g
+Fq(name)27 b Ft(corresp)s(onds)20 b(is)i(prin)m(ted.)630
+737 y(If)33 b(m)m(ultiple)h Fq(name)k Ft(argumen)m(ts)c(are)f(supplied)
+f(with)h(`)p Fs(-t)p Ft(')g(the)h Fq(name)k Ft(is)c(prin)m(ted)e(b)s
+(efore)630 847 y(the)h(hashed)f(full)g(pathname.)48 b(The)32
+b(`)p Fs(-l)p Ft(')h(option)g(causes)g(output)f(to)i(b)s(e)e(displa)m
+(y)m(ed)h(in)g(a)630 956 y(format)f(that)g(ma)m(y)g(b)s(e)f(reused)g
+(as)g(input.)43 b(If)31 b(no)h(argumen)m(ts)g(are)f(giv)m(en,)j(or)d
+(if)g(only)h(`)p Fs(-l)p Ft(')630 1066 y(is)j(supplied,)f(information)h
+(ab)s(out)g(remem)m(b)s(ered)f(commands)g(is)h(prin)m(ted.)53
+b(The)34 b(return)630 1176 y(status)d(is)f(zero)h(unless)f(a)h
 Fq(name)k Ft(is)c(not)f(found)f(or)i(an)f(in)m(v)-5 b(alid)31
-b(option)g(is)f(supplied.)150 1217 y Fs(pwd)870 1347
-y(pwd)47 b([-LP])630 1477 y Ft(Prin)m(t)24 b(the)h(absolute)g(pathname)
+b(option)g(is)f(supplied.)150 1340 y Fs(pwd)870 1477
+y(pwd)47 b([-LP])630 1614 y Ft(Prin)m(t)24 b(the)h(absolute)g(pathname)
 g(of)f(the)h(curren)m(t)f(w)m(orking)h(directory)-8 b(.)40
-b(If)23 b(the)i(`)p Fs(-P)p Ft(')f(option)630 1587 y(is)36
+b(If)23 b(the)i(`)p Fs(-P)p Ft(')f(option)630 1724 y(is)36
 b(supplied,)f(the)h(pathname)f(prin)m(ted)g(will)h(not)g(con)m(tain)h
 (sym)m(b)s(olic)f(links.)55 b(If)35 b(the)h(`)p Fs(-L)p
-Ft(')630 1696 y(option)44 b(is)g(supplied,)i(the)e(pathname)f(prin)m
+Ft(')630 1833 y(option)44 b(is)g(supplied,)i(the)e(pathname)f(prin)m
 (ted)h(ma)m(y)g(con)m(tain)h(sym)m(b)s(olic)f(links.)80
-b(The)630 1806 y(return)26 b(status)h(is)h(zero)g(unless)e(an)h(error)g
+b(The)630 1943 y(return)26 b(status)h(is)h(zero)g(unless)e(an)h(error)g
 (is)g(encoun)m(tered)g(while)h(determining)f(the)g(name)630
-1915 y(of)k(the)f(curren)m(t)g(directory)h(or)f(an)h(in)m(v)-5
-b(alid)31 b(option)g(is)f(supplied.)150 2066 y Fs(readonly)870
-2196 y(readonly)46 b([-apf])g([)p Fj(name)11 b Fs([=)p
-Fj(value)g Fs(]])43 b(...)630 2326 y Ft(Mark)24 b(eac)m(h)h
+2052 y(of)k(the)f(curren)m(t)g(directory)h(or)f(an)h(in)m(v)-5
+b(alid)31 b(option)g(is)f(supplied.)150 2217 y Fs(readonly)870
+2354 y(readonly)46 b([-apf])g([)p Fj(name)11 b Fs([=)p
+Fj(value)g Fs(]])43 b(...)630 2491 y Ft(Mark)24 b(eac)m(h)h
 Fq(name)k Ft(as)24 b(readonly)-8 b(.)39 b(The)24 b(v)-5
 b(alues)24 b(of)g(these)g(names)g(ma)m(y)g(not)g(b)s(e)g(c)m(hanged)g
-(b)m(y)630 2436 y(subsequen)m(t)e(assignmen)m(t.)39 b(If)22
+(b)m(y)630 2600 y(subsequen)m(t)e(assignmen)m(t.)39 b(If)22
 b(the)h(`)p Fs(-f)p Ft(')f(option)i(is)e(supplied,)h(eac)m(h)h
-Fq(name)k Ft(refers)22 b(to)i(a)f(shell)630 2545 y(function.)52
+Fq(name)k Ft(refers)22 b(to)i(a)f(shell)630 2710 y(function.)52
 b(The)34 b(`)p Fs(-a)p Ft(')g(option)h(means)g(eac)m(h)g
 Fq(name)40 b Ft(refers)33 b(to)j(an)e(arra)m(y)h(v)-5
-b(ariable.)53 b(If)34 b(no)630 2655 y Fq(name)d Ft(argumen)m(ts)26
+b(ariable.)53 b(If)34 b(no)630 2819 y Fq(name)d Ft(argumen)m(ts)26
 b(are)g(giv)m(en,)i(or)d(if)h(the)g(`)p Fs(-p)p Ft(')f(option)h(is)g
-(supplied,)f(a)h(list)h(of)e(all)i(readonly)630 2765
+(supplied,)f(a)h(list)h(of)e(all)i(readonly)630 2929
 y(names)37 b(is)g(prin)m(ted.)59 b(The)37 b(`)p Fs(-p)p
 Ft(')f(option)i(causes)f(output)g(to)g(b)s(e)f(displa)m(y)m(ed)i(in)e
-(a)i(format)630 2874 y(that)25 b(ma)m(y)g(b)s(e)f(reused)g(as)h(input.)
+(a)i(format)630 3039 y(that)25 b(ma)m(y)g(b)s(e)f(reused)g(as)h(input.)
 38 b(If)24 b(a)h(v)-5 b(ariable)25 b(name)g(is)g(follo)m(w)m(ed)h(b)m
 (y)e(=)p Fq(v)-5 b(alue)p Ft(,)27 b(the)d(v)-5 b(alue)630
-2984 y(of)27 b(the)g(v)-5 b(ariable)27 b(is)g(set)g(to)g
+3148 y(of)27 b(the)g(v)-5 b(ariable)27 b(is)g(set)g(to)g
 Fq(v)-5 b(alue)p Ft(.)40 b(The)26 b(return)g(status)h(is)f(zero)i
-(unless)e(an)g(in)m(v)-5 b(alid)27 b(option)630 3093
+(unless)e(an)g(in)m(v)-5 b(alid)27 b(option)630 3258
 y(is)j(supplied,)f(one)h(of)g(the)g Fq(name)35 b Ft(argumen)m(ts)30
 b(is)g(not)g(a)g(v)-5 b(alid)31 b(shell)f(v)-5 b(ariable)30
-b(or)g(function)630 3203 y(name,)h(or)f(the)h(`)p Fs(-f)p
+b(or)g(function)630 3367 y(name,)h(or)f(the)h(`)p Fs(-f)p
 Ft(')f(option)h(is)f(supplied)f(with)h(a)h(name)f(that)h(is)g(not)f(a)h
-(shell)g(function.)150 3354 y Fs(return)870 3484 y(return)46
-b([)p Fj(n)11 b Fs(])630 3614 y Ft(Cause)30 b(a)g(shell)g(function)g
+(shell)g(function.)150 3532 y Fs(return)870 3669 y(return)46
+b([)p Fj(n)11 b Fs(])630 3806 y Ft(Cause)30 b(a)g(shell)g(function)g
 (to)h(exit)f(with)g(the)g(return)f(v)-5 b(alue)31 b Fq(n)p
 Ft(.)40 b(If)29 b Fq(n)h Ft(is)g(not)g(supplied,)f(the)630
-3724 y(return)35 b(v)-5 b(alue)37 b(is)f(the)g(exit)h(status)f(of)h
+3915 y(return)35 b(v)-5 b(alue)37 b(is)f(the)g(exit)h(status)f(of)h
 (the)f(last)h(command)f(executed)h(in)f(the)g(function.)630
-3833 y(This)21 b(ma)m(y)i(also)g(b)s(e)e(used)g(to)i(terminate)g
+4025 y(This)21 b(ma)m(y)i(also)g(b)s(e)e(used)g(to)i(terminate)g
 (execution)g(of)f(a)h(script)f(b)s(eing)f(executed)i(with)f(the)630
-3943 y Fs(.)27 b Ft(\(or)g Fs(source)p Ft(\))f(builtin,)i(returning)e
+4134 y Fs(.)27 b Ft(\(or)g Fs(source)p Ft(\))f(builtin,)i(returning)e
 (either)h Fq(n)g Ft(or)g(the)g(exit)h(status)g(of)f(the)g(last)h
-(command)630 4052 y(executed)46 b(within)f(the)g(script)g(as)h(the)f
+(command)630 4244 y(executed)46 b(within)f(the)g(script)g(as)h(the)f
 (exit)h(status)g(of)f(the)h(script.)85 b(An)m(y)45 b(command)630
-4162 y(asso)s(ciated)30 b(with)e(the)g Fs(RETURN)f Ft(trap)h(is)g
+4354 y(asso)s(ciated)30 b(with)e(the)g Fs(RETURN)f Ft(trap)h(is)g
 (executed)h(b)s(efore)f(execution)h(resumes)f(after)h(the)630
-4271 y(function)38 b(or)f(script.)63 b(The)38 b(return)e(status)i(is)g
+4463 y(function)38 b(or)f(script.)63 b(The)38 b(return)e(status)i(is)g
 (non-zero)h(if)e Fs(return)g Ft(is)g(used)g(outside)i(a)630
-4381 y(function)30 b(and)g(not)g(during)g(the)g(execution)i(of)e(a)h
+4573 y(function)30 b(and)g(not)g(during)g(the)g(execution)i(of)e(a)h
 (script)f(b)m(y)h Fs(.)f Ft(or)g Fs(source)p Ft(.)150
-4532 y Fs(shift)870 4662 y(shift)46 b([)p Fj(n)11 b Fs(])630
-4792 y Ft(Shift)41 b(the)g(p)s(ositional)h(parameters)g(to)g(the)f
+4737 y Fs(shift)870 4874 y(shift)46 b([)p Fj(n)11 b Fs(])630
+5011 y Ft(Shift)41 b(the)g(p)s(ositional)h(parameters)g(to)g(the)f
 (left)h(b)m(y)g Fq(n)p Ft(.)73 b(The)40 b(p)s(ositional)j(parameters)
-630 4902 y(from)27 b Fq(n)p Fs(+)p Ft(1)33 b(.)22 b(.)g(.)39
+630 5121 y(from)27 b Fq(n)p Fs(+)p Ft(1)33 b(.)22 b(.)g(.)39
 b Fs($#)27 b Ft(are)g(renamed)g(to)i Fs($1)j Ft(.)22
 b(.)h(.)38 b Fs($#)p Ft(-)p Fq(n)p Fs(+)p Ft(1.)h(P)m(arameters)29
-b(represen)m(ted)e(b)m(y)h(the)630 5011 y(n)m(um)m(b)s(ers)34
+b(represen)m(ted)e(b)m(y)h(the)630 5230 y(n)m(um)m(b)s(ers)34
 b Fs($#)h Ft(to)h Fq(n)p Fs(+)p Ft(1)f(are)g(unset.)55
 b Fq(n)35 b Ft(m)m(ust)g(b)s(e)g(a)h(non-negativ)m(e)h(n)m(um)m(b)s(er)
-d(less)i(than)f(or)630 5121 y(equal)e(to)h Fs($#)p Ft(.)47
+d(less)i(than)f(or)630 5340 y(equal)e(to)h Fs($#)p Ft(.)47
 b(If)33 b Fq(n)f Ft(is)h(zero)g(or)g(greater)h(than)f
-Fs($#)p Ft(,)g(the)g(p)s(ositional)g(parameters)g(are)h(not)630
-5230 y(c)m(hanged.)48 b(If)32 b Fq(n)g Ft(is)h(not)f(supplied,)h(it)g
-(is)f(assumed)g(to)h(b)s(e)f(1.)48 b(The)32 b(return)g(status)h(is)f
-(zero)630 5340 y(unless)e Fq(n)f Ft(is)i(greater)g(than)g
-Fs($#)e Ft(or)i(less)f(than)h(zero,)g(non-zero)g(otherwise.)p
+Fs($#)p Ft(,)g(the)g(p)s(ositional)g(parameters)g(are)h(not)p
 eop end
 %%Page: 37 43
 TeXDict begin 37 42 bop 150 -116 a Ft(Chapter)30 b(4:)41
-b(Shell)30 b(Builtin)h(Commands)2069 b(37)150 299 y Fs(test)150
-408 y([)432 b Ft(Ev)-5 b(aluate)32 b(a)f(conditional)h(expression)e
-Fq(expr)p Ft(.)41 b(Eac)m(h)31 b(op)s(erator)g(and)f(op)s(erand)g(m)m
-(ust)h(b)s(e)f(a)630 518 y(separate)d(argumen)m(t.)40
-b(Expressions)25 b(are)i(comp)s(osed)e(of)i(the)f(primaries)g(describ)s
-(ed)f(b)s(elo)m(w)630 628 y(in)30 b(Section)h(6.4)h([Bash)e
-(Conditional)h(Expressions],)f(page)i(71.)630 762 y(When)e(the)h
+b(Shell)30 b(Builtin)h(Commands)2069 b(37)630 299 y(c)m(hanged.)48
+b(If)32 b Fq(n)g Ft(is)h(not)f(supplied,)h(it)g(is)f(assumed)g(to)h(b)s
+(e)f(1.)48 b(The)32 b(return)g(status)h(is)f(zero)630
+408 y(unless)e Fq(n)f Ft(is)i(greater)g(than)g Fs($#)e
+Ft(or)i(less)f(than)h(zero,)g(non-zero)g(otherwise.)150
+578 y Fs(test)150 687 y([)432 b Ft(Ev)-5 b(aluate)32
+b(a)f(conditional)h(expression)e Fq(expr)p Ft(.)41 b(Eac)m(h)31
+b(op)s(erator)g(and)f(op)s(erand)g(m)m(ust)h(b)s(e)f(a)630
+797 y(separate)d(argumen)m(t.)40 b(Expressions)25 b(are)i(comp)s(osed)e
+(of)i(the)f(primaries)g(describ)s(ed)f(b)s(elo)m(w)630
+907 y(in)34 b(Section)g(6.4)h([Bash)g(Conditional)f(Expressions],)h
+(page)g(71.)52 b Fs(test)33 b Ft(do)s(es)g(not)h(accept)630
+1016 y(an)m(y)27 b(options,)i(nor)d(do)s(es)h(it)g(accept)i(and)d
+(ignore)i(an)f(argumen)m(t)g(of)g(`)p Fs(--)p Ft(')g(as)h(signifying)f
+(the)630 1126 y(end)j(of)g(options.)630 1265 y(When)g(the)h
 Fs([)f Ft(form)g(is)g(used,)g(the)g(last)i(argumen)m(t)e(to)i(the)e
-(command)g(m)m(ust)h(b)s(e)e(a)i Fs(])p Ft(.)630 897
+(command)g(m)m(ust)h(b)s(e)e(a)i Fs(])p Ft(.)630 1405
 y(Expressions)23 b(ma)m(y)h(b)s(e)e(com)m(bined)i(using)f(the)h(follo)m
 (wing)h(op)s(erators,)g(listed)f(in)f(decreasing)630
-1006 y(order)30 b(of)g(precedence.)630 1166 y Fs(!)g
+1514 y(order)30 b(of)g(precedence.)630 1684 y Fs(!)g
 Fj(expr)210 b Ft(T)-8 b(rue)30 b(if)g Fq(expr)37 b Ft(is)30
-b(false.)630 1325 y Fs(\()g Fj(expr)40 b Fs(\))122 b
+b(false.)630 1853 y Fs(\()g Fj(expr)40 b Fs(\))122 b
 Ft(Returns)23 b(the)i(v)-5 b(alue)25 b(of)f Fq(expr)p
 Ft(.)38 b(This)24 b(ma)m(y)h(b)s(e)e(used)h(to)h(o)m(v)m(erride)g(the)g
-(normal)1110 1435 y(precedence)31 b(of)f(op)s(erators.)630
-1594 y Fj(expr1)39 b Fs(-a)30 b Fj(expr2)1110 1704 y
+(normal)1110 1963 y(precedence)31 b(of)f(op)s(erators.)630
+2132 y Fj(expr1)39 b Fs(-a)30 b Fj(expr2)1110 2242 y
 Ft(T)-8 b(rue)30 b(if)g(b)s(oth)g Fq(expr1)37 b Ft(and)30
-b Fq(expr2)38 b Ft(are)30 b(true.)630 1863 y Fj(expr1)39
-b Fs(-o)30 b Fj(expr2)1110 1973 y Ft(T)-8 b(rue)30 b(if)g(either)h
+b Fq(expr2)38 b Ft(are)30 b(true.)630 2411 y Fj(expr1)39
+b Fs(-o)30 b Fj(expr2)1110 2521 y Ft(T)-8 b(rue)30 b(if)g(either)h
 Fq(expr1)38 b Ft(or)30 b Fq(expr2)37 b Ft(is)31 b(true.)630
-2132 y(The)37 b Fs(test)f Ft(and)g Fs([)h Ft(builtins)g(ev)-5
+2690 y(The)37 b Fs(test)f Ft(and)g Fs([)h Ft(builtins)g(ev)-5
 b(aluate)39 b(conditional)f(expressions)f(using)g(a)g(set)h(of)f(rules)
-630 2242 y(based)30 b(on)g(the)h(n)m(um)m(b)s(er)e(of)h(argumen)m(ts.)
-630 2401 y(0)h(argumen)m(ts)1110 2511 y(The)f(expression)g(is)g(false.)
-630 2670 y(1)h(argumen)m(t)1110 2780 y(The)f(expression)g(is)g(true)h
+630 2800 y(based)30 b(on)g(the)h(n)m(um)m(b)s(er)e(of)h(argumen)m(ts.)
+630 2969 y(0)h(argumen)m(ts)1110 3078 y(The)f(expression)g(is)g(false.)
+630 3248 y(1)h(argumen)m(t)1110 3357 y(The)f(expression)g(is)g(true)h
 (if)f(and)g(only)g(if)h(the)f(argumen)m(t)h(is)f(not)h(n)m(ull.)630
-2939 y(2)g(argumen)m(ts)1110 3049 y(If)f(the)h(\014rst)f(argumen)m(t)h
+3527 y(2)g(argumen)m(ts)1110 3636 y(If)f(the)h(\014rst)f(argumen)m(t)h
 (is)g(`)p Fs(!)p Ft(',)g(the)g(expression)g(is)g(true)f(if)h(and)f
-(only)h(if)g(the)1110 3158 y(second)j(argumen)m(t)f(is)h(n)m(ull.)50
+(only)h(if)g(the)1110 3746 y(second)j(argumen)m(t)f(is)h(n)m(ull.)50
 b(If)33 b(the)h(\014rst)e(argumen)m(t)i(is)g(one)g(of)f(the)h(unary)
-1110 3268 y(conditional)42 b(op)s(erators)f(\(see)g(Section)h(6.4)f
-([Bash)g(Conditional)g(Expres-)1110 3377 y(sions],)34
+1110 3856 y(conditional)42 b(op)s(erators)f(\(see)g(Section)h(6.4)f
+([Bash)g(Conditional)g(Expres-)1110 3965 y(sions],)34
 b(page)f(71\),)i(the)e(expression)f(is)h(true)g(if)g(the)g(unary)e
-(test)j(is)f(true.)47 b(If)1110 3487 y(the)33 b(\014rst)g(argumen)m(t)h
+(test)j(is)f(true.)47 b(If)1110 4075 y(the)33 b(\014rst)g(argumen)m(t)h
 (is)f(not)g(a)h(v)-5 b(alid)34 b(unary)e(op)s(erator,)i(the)g
-(expression)f(is)1110 3597 y(false.)630 3756 y(3)e(argumen)m(ts)1110
-3866 y(If)k(the)g(second)g(argumen)m(t)g(is)g(one)h(of)f(the)g(binary)f
-(conditional)j(op)s(erators)1110 3975 y(\(see)23 b(Section)g(6.4)f
+(expression)f(is)1110 4184 y(false.)630 4354 y(3)e(argumen)m(ts)1110
+4463 y(If)k(the)g(second)g(argumen)m(t)g(is)g(one)h(of)f(the)g(binary)f
+(conditional)j(op)s(erators)1110 4573 y(\(see)23 b(Section)g(6.4)f
 ([Bash)h(Conditional)f(Expressions],)h(page)g(71\),)i(the)d(result)1110
-4085 y(of)44 b(the)h(expression)f(is)g(the)g(result)g(of)h(the)f
-(binary)g(test)h(using)e(the)i(\014rst)1110 4194 y(and)33
+4682 y(of)44 b(the)h(expression)f(is)g(the)g(result)g(of)h(the)f
+(binary)g(test)h(using)e(the)i(\014rst)1110 4792 y(and)33
 b(third)g(argumen)m(ts)h(as)g(op)s(erands.)50 b(If)33
 b(the)h(\014rst)g(argumen)m(t)g(is)g(`)p Fs(!)p Ft(',)h(the)1110
-4304 y(v)-5 b(alue)25 b(is)g(the)g(negation)h(of)f(the)g(t)m(w)m
+4902 y(v)-5 b(alue)25 b(is)g(the)g(negation)h(of)f(the)g(t)m(w)m
 (o-argumen)m(t)i(test)f(using)e(the)h(second)g(and)1110
-4413 y(third)32 b(argumen)m(ts.)47 b(If)33 b(the)f(\014rst)g(argumen)m
+5011 y(third)32 b(argumen)m(ts.)47 b(If)33 b(the)f(\014rst)g(argumen)m
 (t)h(is)g(exactly)h(`)p Fs(\()p Ft(')f(and)f(the)h(third)1110
-4523 y(argumen)m(t)h(is)g(exactly)h(`)p Fs(\))p Ft(',)g(the)f(result)f
-(is)h(the)g(one-argumen)m(t)g(test)h(of)f(the)1110 4633
+5121 y(argumen)m(t)h(is)g(exactly)h(`)p Fs(\))p Ft(',)g(the)f(result)f
+(is)h(the)g(one-argumen)m(t)g(test)h(of)f(the)1110 5230
 y(second)d(argumen)m(t.)45 b(Otherwise,)31 b(the)h(expression)f(is)g
-(false.)44 b(The)31 b(`)p Fs(-a)p Ft(')h(and)1110 4742
+(false.)44 b(The)31 b(`)p Fs(-a)p Ft(')h(and)1110 5340
 y(`)p Fs(-o)p Ft(')e(op)s(erators)h(are)g(considered)f(binary)f(op)s
-(erators)i(in)f(this)g(case.)630 4902 y(4)h(argumen)m(ts)1110
-5011 y(If)h(the)i(\014rst)e(argumen)m(t)h(is)g(`)p Fs(!)p
-Ft(',)h(the)f(result)g(is)g(the)g(negation)h(of)f(the)g(three-)1110
-5121 y(argumen)m(t)h(expression)f(comp)s(osed)h(of)f(the)h(remaining)g
-(argumen)m(ts.)50 b(Oth-)1110 5230 y(erwise,)34 b(the)f(expression)g
-(is)g(parsed)g(and)f(ev)-5 b(aluated)34 b(according)h(to)e(prece-)1110
-5340 y(dence)e(using)e(the)i(rules)f(listed)h(ab)s(o)m(v)m(e.)p
-eop end
+(erators)i(in)f(this)g(case.)p eop end
 %%Page: 38 44
 TeXDict begin 38 43 bop 150 -116 a Ft(38)2572 b(Bash)31
-b(Reference)g(Man)m(ual)630 299 y(5)g(or)f(more)h(argumen)m(ts)1110
-408 y(The)43 b(expression)f(is)i(parsed)e(and)g(ev)-5
-b(aluated)45 b(according)f(to)f(precedence)1110 518 y(using)30
-b(the)g(rules)g(listed)h(ab)s(o)m(v)m(e.)150 675 y Fs(times)870
-808 y(times)630 941 y Ft(Prin)m(t)37 b(out)h(the)g(user)e(and)h(system)
-g(times)h(used)f(b)m(y)g(the)h(shell)f(and)g(its)h(c)m(hildren.)61
-b(The)630 1050 y(return)29 b(status)i(is)f(zero.)150
-1207 y Fs(trap)870 1340 y(trap)47 b([-lp])f([)p Fj(arg)11
-b Fs(])46 b([)p Fj(sigspec)56 b Fs(...)o(])630 1473 y
+b(Reference)g(Man)m(ual)630 299 y(4)g(argumen)m(ts)1110
+408 y(If)h(the)i(\014rst)e(argumen)m(t)h(is)g(`)p Fs(!)p
+Ft(',)h(the)f(result)g(is)g(the)g(negation)h(of)f(the)g(three-)1110
+518 y(argumen)m(t)h(expression)f(comp)s(osed)h(of)f(the)h(remaining)g
+(argumen)m(ts.)50 b(Oth-)1110 628 y(erwise,)34 b(the)f(expression)g(is)
+g(parsed)g(and)f(ev)-5 b(aluated)34 b(according)h(to)e(prece-)1110
+737 y(dence)e(using)e(the)i(rules)f(listed)h(ab)s(o)m(v)m(e.)630
+909 y(5)g(or)f(more)h(argumen)m(ts)1110 1019 y(The)43
+b(expression)f(is)i(parsed)e(and)g(ev)-5 b(aluated)45
+b(according)f(to)f(precedence)1110 1129 y(using)30 b(the)g(rules)g
+(listed)h(ab)s(o)m(v)m(e.)150 1301 y Fs(times)870 1442
+y(times)630 1583 y Ft(Prin)m(t)37 b(out)h(the)g(user)e(and)h(system)g
+(times)h(used)f(b)m(y)g(the)h(shell)f(and)g(its)h(c)m(hildren.)61
+b(The)630 1692 y(return)29 b(status)i(is)f(zero.)150
+1864 y Fs(trap)870 2005 y(trap)47 b([-lp])f([)p Fj(arg)11
+b Fs(])46 b([)p Fj(sigspec)56 b Fs(...)o(])630 2146 y
 Ft(The)43 b(commands)f(in)h Fq(arg)51 b Ft(are)44 b(to)g(b)s(e)e(read)h
 (and)g(executed)h(when)e(the)h(shell)g(receiv)m(es)630
-1583 y(signal)36 b Fq(sigsp)s(ec)p Ft(.)57 b(If)35 b
+2256 y(signal)36 b Fq(sigsp)s(ec)p Ft(.)57 b(If)35 b
 Fq(arg)44 b Ft(is)36 b(absen)m(t)g(\(and)f(there)h(is)g(a)f(single)i
 Fq(sigsp)s(ec)6 b Ft(\))35 b(or)h(equal)g(to)h(`)p Fs(-)p
-Ft(',)630 1692 y(eac)m(h)28 b(sp)s(eci\014ed)e(signal's)h(disp)s
+Ft(',)630 2365 y(eac)m(h)28 b(sp)s(eci\014ed)e(signal's)h(disp)s
 (osition)f(is)h(reset)g(to)g(the)g(v)-5 b(alue)27 b(it)g(had)f(when)f
-(the)i(shell)g(w)m(as)630 1802 y(started.)63 b(If)37
+(the)i(shell)g(w)m(as)630 2475 y(started.)63 b(If)37
 b Fq(arg)46 b Ft(is)37 b(the)h(n)m(ull)g(string,)h(then)e(the)h(signal)
 h(sp)s(eci\014ed)d(b)m(y)i(eac)m(h)h Fq(sigsp)s(ec)k
-Ft(is)630 1911 y(ignored)36 b(b)m(y)g(the)g(shell)g(and)g(commands)f
+Ft(is)630 2585 y(ignored)36 b(b)m(y)g(the)g(shell)g(and)g(commands)f
 (it)i(in)m(v)m(ok)m(es.)59 b(If)35 b Fq(arg)45 b Ft(is)36
-b(not)g(presen)m(t)g(and)f(`)p Fs(-p)p Ft(')630 2021
+b(not)g(presen)m(t)g(and)f(`)p Fs(-p)p Ft(')630 2694
 y(has)e(b)s(een)g(supplied,)f(the)i(shell)f(displa)m(ys)h(the)f(trap)g
-(commands)g(asso)s(ciated)i(with)e(eac)m(h)630 2131 y
+(commands)g(asso)s(ciated)i(with)e(eac)m(h)630 2804 y
 Fq(sigsp)s(ec)p Ft(.)40 b(If)29 b(no)g(argumen)m(ts)g(are)g(supplied,)f
 (or)h(only)g(`)p Fs(-p)p Ft(')g(is)g(giv)m(en,)h Fs(trap)e
-Ft(prin)m(ts)g(the)h(list)630 2240 y(of)f(commands)f(asso)s(ciated)i
+Ft(prin)m(ts)g(the)h(list)630 2913 y(of)f(commands)f(asso)s(ciated)i
 (with)f(eac)m(h)h(signal)f(n)m(um)m(b)s(er)e(in)i(a)g(form)f(that)h(ma)
-m(y)h(b)s(e)e(reused)630 2350 y(as)c(shell)g(input.)37
+m(y)h(b)s(e)e(reused)630 3023 y(as)c(shell)g(input.)37
 b(The)23 b(`)p Fs(-l)p Ft(')f(option)i(causes)f(the)g(shell)g(to)g
 (prin)m(t)g(a)g(list)g(of)g(signal)h(names)f(and)630
-2459 y(their)33 b(corresp)s(onding)f(n)m(um)m(b)s(ers.)47
+3133 y(their)33 b(corresp)s(onding)f(n)m(um)m(b)s(ers.)47
 b(Eac)m(h)34 b Fq(sigsp)s(ec)39 b Ft(is)33 b(either)g(a)h(signal)g
-(name)f(or)g(a)g(signal)630 2569 y(n)m(um)m(b)s(er.)46
+(name)f(or)g(a)g(signal)630 3242 y(n)m(um)m(b)s(er.)46
 b(Signal)33 b(names)g(are)g(case)h(insensitiv)m(e)f(and)g(the)f
 Fs(SIG)g Ft(pre\014x)g(is)h(optional.)48 b(If)33 b(a)630
-2679 y Fq(sigsp)s(ec)h Ft(is)28 b Fs(0)f Ft(or)h Fs(EXIT)p
+3352 y Fq(sigsp)s(ec)h Ft(is)28 b Fs(0)f Ft(or)h Fs(EXIT)p
 Ft(,)f Fq(arg)37 b Ft(is)27 b(executed)i(when)e(the)h(shell)g(exits.)41
 b(If)27 b(a)i Fq(sigsp)s(ec)k Ft(is)28 b Fs(DEBUG)p Ft(,)630
-2788 y(the)40 b(command)g Fq(arg)48 b Ft(is)40 b(executed)h(b)s(efore)f
+3461 y(the)40 b(command)g Fq(arg)48 b Ft(is)40 b(executed)h(b)s(efore)f
 (ev)m(ery)g(simple)g(command,)j Fs(for)c Ft(command,)630
-2898 y Fs(case)28 b Ft(command,)i Fs(select)d Ft(command,)j(ev)m(ery)g
+3571 y Fs(case)28 b Ft(command,)i Fs(select)d Ft(command,)j(ev)m(ery)g
 (arithmetic)h Fs(for)d Ft(command,)i(and)e(b)s(efore)630
-3007 y(the)k(\014rst)e(command)h(executes)i(in)e(a)h(shell)f(function.)
+3680 y(the)k(\014rst)e(command)h(executes)i(in)e(a)h(shell)f(function.)
 44 b(Refer)31 b(to)h(the)g(description)f(of)h(the)630
-3117 y Fs(extglob)d Ft(option)j(to)g(the)g Fs(shopt)e
+3790 y Fs(extglob)d Ft(option)j(to)g(the)g Fs(shopt)e
 Ft(builtin)h(\(see)h(Section)h(4.2)f([Bash)g(Builtins],)h(page)f(39\))
-630 3226 y(for)c(details)i(of)e(its)h(e\013ect)h(on)f(the)g
+630 3900 y(for)c(details)i(of)e(its)h(e\013ect)h(on)f(the)g
 Fs(DEBUG)e Ft(trap.)40 b(If)28 b(a)g Fq(sigsp)s(ec)35
 b Ft(is)28 b Fs(ERR)p Ft(,)h(the)f(command)g Fq(arg)630
-3336 y Ft(is)j(executed)g(whenev)m(er)g(a)g(simple)f(command)h(has)f(a)
+4009 y Ft(is)j(executed)g(whenev)m(er)g(a)g(simple)f(command)h(has)f(a)
 h(non-zero)g(exit)h(status,)f(sub)5 b(ject)30 b(to)630
-3446 y(the)k(follo)m(wing)i(conditions.)53 b(The)34 b
+4119 y(the)k(follo)m(wing)i(conditions.)53 b(The)34 b
 Fs(ERR)f Ft(trap)h(is)g(not)h(executed)g(if)f(the)g(failed)h(command)
-630 3555 y(is)28 b(part)g(of)h(the)f(command)g(list)h(immediately)h
+630 4228 y(is)28 b(part)g(of)h(the)f(command)g(list)h(immediately)h
 (follo)m(wing)f(an)f Fs(until)f Ft(or)h Fs(while)f Ft(k)m(eyw)m(ord,)
-630 3665 y(part)h(of)h(the)g(test)g(in)f(an)h Fs(if)f
+630 4338 y(part)h(of)h(the)g(test)g(in)f(an)h Fs(if)f
 Ft(statemen)m(t,)j(part)d(of)h(a)f Fs(&&)g Ft(or)h Fs(||)f
-Ft(list,)h(or)g(if)f(the)h(command's)630 3774 y(return)i(status)i(is)f
+Ft(list,)h(or)g(if)f(the)h(command's)630 4448 y(return)i(status)i(is)f
 (b)s(eing)f(in)m(v)m(erted)i(using)f Fs(!)p Ft(.)46 b(These)32
-b(are)g(the)h(same)f(conditions)h(ob)s(ey)m(ed)630 3884
+b(are)g(the)h(same)f(conditions)h(ob)s(ey)m(ed)630 4557
 y(b)m(y)i(the)g Fs(errexit)e Ft(option.)55 b(If)34 b(a)i
 Fq(sigsp)s(ec)k Ft(is)35 b Fs(RETURN)p Ft(,)g(the)g(command)g
-Fq(arg)43 b Ft(is)35 b(executed)630 3994 y(eac)m(h)j(time)f(a)f(shell)h
+Fq(arg)43 b Ft(is)35 b(executed)630 4667 y(eac)m(h)j(time)f(a)f(shell)h
 (function)f(or)g(a)h(script)f(executed)i(with)e(the)g
-Fs(.)g Ft(or)h Fs(source)e Ft(builtins)630 4103 y(\014nishes)29
-b(executing.)630 4236 y(Signals)37 b(ignored)f(up)s(on)f(en)m(try)i(to)
+Fs(.)g Ft(or)h Fs(source)e Ft(builtins)630 4776 y(\014nishes)29
+b(executing.)630 4917 y(Signals)37 b(ignored)f(up)s(on)f(en)m(try)i(to)
 g(the)f(shell)h(cannot)g(b)s(e)f(trapp)s(ed)f(or)h(reset.)59
-b(T)-8 b(rapp)s(ed)630 4346 y(signals)31 b(are)g(reset)g(to)g(their)f
+b(T)-8 b(rapp)s(ed)630 5027 y(signals)31 b(are)g(reset)g(to)g(their)f
 (original)i(v)-5 b(alues)30 b(in)g(a)h(c)m(hild)g(pro)s(cess)f(when)f
-(it)i(is)g(created.)630 4479 y(The)f(return)f(status)i(is)f(zero)h
+(it)i(is)g(created.)630 5168 y(The)f(return)f(status)i(is)f(zero)h
 (unless)f(a)h Fq(sigsp)s(ec)36 b Ft(do)s(es)30 b(not)h(sp)s(ecify)f(a)g
-(v)-5 b(alid)31 b(signal.)150 4635 y Fs(umask)870 4769
-y(umask)46 b([-p])h([-S])g([)p Fj(mode)11 b Fs(])630
-4902 y Ft(Set)30 b(the)f(shell)h(pro)s(cess's)f(\014le)h(creation)g
-(mask)g(to)g Fq(mo)s(de)p Ft(.)40 b(If)29 b Fq(mo)s(de)34
-b Ft(b)s(egins)29 b(with)g(a)h(digit,)630 5011 y(it)e(is)f(in)m
-(terpreted)g(as)g(an)g(o)s(ctal)i(n)m(um)m(b)s(er;)e(if)g(not,)h(it)g
-(is)f(in)m(terpreted)g(as)g(a)h(sym)m(b)s(olic)f(mo)s(de)630
-5121 y(mask)i(similar)g(to)g(that)h(accepted)g(b)m(y)f(the)g
-Fs(chmod)e Ft(command.)40 b(If)28 b Fq(mo)s(de)34 b Ft(is)28
-b(omitted,)j(the)630 5230 y(curren)m(t)36 b(v)-5 b(alue)36
-b(of)g(the)h(mask)f(is)g(prin)m(ted.)57 b(If)35 b(the)h(`)p
-Fs(-S)p Ft(')g(option)h(is)f(supplied)f(without)h(a)630
-5340 y Fq(mo)s(de)k Ft(argumen)m(t,)d(the)e(mask)g(is)g(prin)m(ted)g
-(in)g(a)h(sym)m(b)s(olic)f(format.)55 b(If)35 b(the)g(`)p
-Fs(-p)p Ft(')g(option)p eop end
+(v)-5 b(alid)31 b(signal.)150 5340 y Fs(umask)p eop end
 %%Page: 39 45
 TeXDict begin 39 44 bop 150 -116 a Ft(Chapter)30 b(4:)41
-b(Shell)30 b(Builtin)h(Commands)2069 b(39)630 299 y(is)34
-b(supplied,)f(and)g Fq(mo)s(de)38 b Ft(is)33 b(omitted,)j(the)e(output)
-f(is)g(in)h(a)g(form)f(that)h(ma)m(y)g(b)s(e)f(reused)630
-408 y(as)e(input.)41 b(The)31 b(return)f(status)h(is)g(zero)h(if)e(the)
-h(mo)s(de)g(is)g(successfully)g(c)m(hanged)g(or)g(if)g(no)630
-518 y Fq(mo)s(de)k Ft(argumen)m(t)c(is)f(supplied,)g(and)f(non-zero)i
-(otherwise.)630 653 y(Note)38 b(that)e(when)g(the)g(mo)s(de)g(is)g(in)m
-(terpreted)h(as)f(an)g(o)s(ctal)i(n)m(um)m(b)s(er,)e(eac)m(h)i(n)m(um)m
-(b)s(er)d(of)630 762 y(the)f(umask)g(is)h(subtracted)f(from)f
+b(Shell)30 b(Builtin)h(Commands)2069 b(39)870 299 y Fs(umask)46
+b([-p])h([-S])g([)p Fj(mode)11 b Fs(])630 435 y Ft(Set)30
+b(the)f(shell)h(pro)s(cess's)f(\014le)h(creation)g(mask)g(to)g
+Fq(mo)s(de)p Ft(.)40 b(If)29 b Fq(mo)s(de)34 b Ft(b)s(egins)29
+b(with)g(a)h(digit,)630 544 y(it)e(is)f(in)m(terpreted)g(as)g(an)g(o)s
+(ctal)i(n)m(um)m(b)s(er;)e(if)g(not,)h(it)g(is)f(in)m(terpreted)g(as)g
+(a)h(sym)m(b)s(olic)f(mo)s(de)630 654 y(mask)i(similar)g(to)g(that)h
+(accepted)g(b)m(y)f(the)g Fs(chmod)e Ft(command.)40 b(If)28
+b Fq(mo)s(de)34 b Ft(is)28 b(omitted,)j(the)630 763 y(curren)m(t)36
+b(v)-5 b(alue)36 b(of)g(the)h(mask)f(is)g(prin)m(ted.)57
+b(If)35 b(the)h(`)p Fs(-S)p Ft(')g(option)h(is)f(supplied)f(without)h
+(a)630 873 y Fq(mo)s(de)k Ft(argumen)m(t,)d(the)e(mask)g(is)g(prin)m
+(ted)g(in)g(a)h(sym)m(b)s(olic)f(format.)55 b(If)35 b(the)g(`)p
+Fs(-p)p Ft(')g(option)630 983 y(is)f(supplied,)f(and)g
+Fq(mo)s(de)38 b Ft(is)33 b(omitted,)j(the)e(output)f(is)g(in)h(a)g
+(form)f(that)h(ma)m(y)g(b)s(e)f(reused)630 1092 y(as)e(input.)41
+b(The)31 b(return)f(status)h(is)g(zero)h(if)e(the)h(mo)s(de)g(is)g
+(successfully)g(c)m(hanged)g(or)g(if)g(no)630 1202 y
+Fq(mo)s(de)k Ft(argumen)m(t)c(is)f(supplied,)g(and)f(non-zero)i
+(otherwise.)630 1337 y(Note)38 b(that)e(when)g(the)g(mo)s(de)g(is)g(in)
+m(terpreted)h(as)f(an)g(o)s(ctal)i(n)m(um)m(b)s(er,)e(eac)m(h)i(n)m(um)
+m(b)s(er)d(of)630 1447 y(the)f(umask)g(is)h(subtracted)f(from)f
 Fs(7)p Ft(.)53 b(Th)m(us,)34 b(a)h(umask)e(of)i Fs(022)e
-Ft(results)h(in)g(p)s(ermissions)630 872 y(of)d Fs(755)p
-Ft(.)150 1031 y Fs(unset)870 1166 y(unset)46 b([-fv])h([)p
-Fj(name)11 b Fs(])630 1300 y Ft(Eac)m(h)34 b(v)-5 b(ariable)33
+Ft(results)h(in)g(p)s(ermissions)630 1557 y(of)d Fs(755)p
+Ft(.)150 1718 y Fs(unset)870 1854 y(unset)46 b([-fv])h([)p
+Fj(name)11 b Fs(])630 1990 y Ft(Eac)m(h)34 b(v)-5 b(ariable)33
 b(or)g(function)g Fq(name)38 b Ft(is)33 b(remo)m(v)m(ed.)50
 b(If)32 b(no)h(options)h(are)f(supplied,)g(or)g(the)630
-1410 y(`)p Fs(-v)p Ft(')h(option)h(is)g(giv)m(en,)h(eac)m(h)g
+2099 y(`)p Fs(-v)p Ft(')h(option)h(is)g(giv)m(en,)h(eac)m(h)g
 Fq(name)k Ft(refers)34 b(to)h(a)g(shell)f(v)-5 b(ariable.)54
-b(If)34 b(the)h(`)p Fs(-f)p Ft(')f(option)h(is)630 1520
+b(If)34 b(the)h(`)p Fs(-f)p Ft(')f(option)h(is)630 2209
 y(giv)m(en,)27 b(the)d Fq(name)5 b Ft(s)25 b(refer)f(to)h(shell)g
 (functions,)g(and)f(the)g(function)g(de\014nition)g(is)h(remo)m(v)m
-(ed.)630 1629 y(Readonly)32 b(v)-5 b(ariables)33 b(and)f(functions)f
+(ed.)630 2319 y(Readonly)32 b(v)-5 b(ariables)33 b(and)f(functions)f
 (ma)m(y)i(not)f(b)s(e)g(unset.)45 b(The)32 b(return)f(status)h(is)g
-(zero)630 1739 y(unless)e(a)g Fq(name)36 b Ft(is)30 b(readonly)-8
-b(.)150 1997 y Fr(4.2)68 b(Bash)45 b(Builtin)g(Commands)275
-2241 y Ft(This)30 b(section)j(describ)s(es)e(builtin)h(commands)f(whic)
+(zero)630 2428 y(unless)e(a)g Fq(name)36 b Ft(is)30 b(readonly)-8
+b(.)150 2692 y Fr(4.2)68 b(Bash)45 b(Builtin)g(Commands)275
+2938 y Ft(This)30 b(section)j(describ)s(es)e(builtin)h(commands)f(whic)
 m(h)g(are)i(unique)d(to)j(or)f(ha)m(v)m(e)h(b)s(een)e(extended)g(in)150
-2350 y(Bash.)41 b(Some)30 b(of)h(these)g(commands)f(are)g(sp)s
+3048 y(Bash.)41 b(Some)30 b(of)h(these)g(commands)f(are)g(sp)s
 (eci\014ed)g(in)g(the)h Fl(posix)e Ft(1003.2)k(standard.)150
-2510 y Fs(alias)870 2645 y(alias)46 b([-p])h([)p Fj(name)11
-b Fs([=)p Fj(value)g Fs(])43 b(...)o(])630 2779 y Ft(Without)h(argumen)
+3211 y Fs(alias)870 3346 y(alias)46 b([-p])h([)p Fj(name)11
+b Fs([=)p Fj(value)g Fs(])43 b(...)o(])630 3482 y Ft(Without)h(argumen)
 m(ts)f(or)g(with)g(the)h(`)p Fs(-p)p Ft(')f(option,)k
 Fs(alias)41 b Ft(prin)m(ts)i(the)g(list)h(of)f(aliases)630
-2889 y(on)36 b(the)g(standard)f(output)h(in)f(a)i(form)e(that)i(allo)m
+3592 y(on)36 b(the)g(standard)f(output)h(in)f(a)i(form)e(that)i(allo)m
 (ws)g(them)f(to)g(b)s(e)g(reused)f(as)h(input.)56 b(If)630
-2998 y(argumen)m(ts)29 b(are)g(supplied,)f(an)h(alias)h(is)f(de\014ned)
+3701 y(argumen)m(ts)29 b(are)g(supplied,)f(an)h(alias)h(is)f(de\014ned)
 e(for)i(eac)m(h)h Fq(name)k Ft(whose)28 b Fq(v)-5 b(alue)35
-b Ft(is)29 b(giv)m(en.)630 3108 y(If)39 b(no)h Fq(v)-5
+b Ft(is)29 b(giv)m(en.)630 3811 y(If)39 b(no)h Fq(v)-5
 b(alue)45 b Ft(is)40 b(giv)m(en,)j(the)d(name)f(and)g(v)-5
 b(alue)40 b(of)g(the)g(alias)h(is)f(prin)m(ted.)68 b(Aliases)41
-b(are)630 3217 y(describ)s(ed)29 b(in)h(Section)i(6.6)f([Aliases],)h
-(page)f(73.)150 3377 y Fs(bind)870 3512 y(bind)47 b([-m)g
-Fj(keymap)11 b Fs(])45 b([-lpsvPSV])870 3621 y(bind)i([-m)g
+b(are)630 3920 y(describ)s(ed)29 b(in)h(Section)i(6.6)f([Aliases],)h
+(page)f(73.)150 4082 y Fs(bind)870 4218 y(bind)47 b([-m)g
+Fj(keymap)11 b Fs(])45 b([-lpsvPSV])870 4328 y(bind)i([-m)g
 Fj(keymap)11 b Fs(])45 b([-q)i Fj(function)11 b Fs(])45
 b([-u)h Fj(function)11 b Fs(])45 b([-r)i Fj(keyseq)11
-b Fs(])870 3731 y(bind)47 b([-m)g Fj(keymap)11 b Fs(])45
-b(-f)i Fj(filename)870 3840 y Fs(bind)g([-m)g Fj(keymap)11
-b Fs(])45 b(-x)i Fj(keyseq:shell-command)870 3950 y Fs(bind)g([-m)g
+b Fs(])870 4437 y(bind)47 b([-m)g Fj(keymap)11 b Fs(])45
+b(-f)i Fj(filename)870 4547 y Fs(bind)g([-m)g Fj(keymap)11
+b Fs(])45 b(-x)i Fj(keyseq:shell-command)870 4656 y Fs(bind)g([-m)g
 Fj(keymap)11 b Fs(])45 b Fj(keyseq:function-name)870
-4060 y Fs(bind)i Fj(readline-command)630 4194 y Ft(Displa)m(y)26
+4766 y Fs(bind)i Fj(readline-command)630 4902 y Ft(Displa)m(y)26
 b(curren)m(t)f(Readline)h(\(see)g(Chapter)f(8)g([Command)g(Line)g
-(Editing],)i(page)f(87\))g(k)m(ey)630 4304 y(and)36 b(function)g
+(Editing],)i(page)f(87\))g(k)m(ey)630 5011 y(and)36 b(function)g
 (bindings,)i(bind)d(a)i(k)m(ey)g(sequence)g(to)h(a)f(Readline)g
-(function)f(or)h(macro,)630 4413 y(or)44 b(set)h(a)g(Readline)f(v)-5
+(function)f(or)h(macro,)630 5121 y(or)44 b(set)h(a)g(Readline)f(v)-5
 b(ariable.)83 b(Eac)m(h)45 b(non-option)g(argumen)m(t)f(is)g(a)h
-(command)f(as)g(it)630 4523 y(w)m(ould)35 b(app)s(ear)f(in)g(a)i(a)f
+(command)f(as)g(it)630 5230 y(w)m(ould)35 b(app)s(ear)f(in)g(a)i(a)f
 (Readline)g(initialization)j(\014le)d(\(see)h(Section)f(8.3)h
-([Readline)g(Init)630 4632 y(File],)43 b(page)c(90\),)k(but)38
+([Readline)g(Init)630 5340 y(File],)43 b(page)c(90\),)k(but)38
 b(eac)m(h)i(binding)e(or)h(command)g(m)m(ust)g(b)s(e)f(passed)g(as)i(a)
-f(separate)630 4742 y(argumen)m(t;)d(e.g.,)f(`)p Fs
-("\\C-x\\C-r":re-read-init-fi)o(le)p Ft('.)43 b(Options,)34
-b(if)g(supplied,)f(ha)m(v)m(e)630 4852 y(the)e(follo)m(wing)g
-(meanings:)630 5011 y Fs(-m)f Fj(keymap)1110 5121 y Ft(Use)54
-b Fq(k)m(eymap)j Ft(as)d(the)g(k)m(eymap)g(to)h(b)s(e)e(a\013ected)i(b)
-m(y)f(the)g(subsequen)m(t)1110 5230 y(bindings.)46 b(Acceptable)34
-b Fq(k)m(eymap)i Ft(names)c(are)h Fs(emacs)p Ft(,)f Fs(emacs-standard)p
-Ft(,)1110 5340 y Fs(emacs-meta)p Ft(,)99 b Fs(emacs-ctlx)p
-Ft(,)f Fs(vi)p Ft(,)j Fs(vi-move)p Ft(,)f Fs(vi-command)p
-Ft(,)f(and)p eop end
+f(separate)p eop end
 %%Page: 40 46
 TeXDict begin 40 45 bop 150 -116 a Ft(40)2572 b(Bash)31
-b(Reference)g(Man)m(ual)1110 299 y Fs(vi-insert)p Ft(.)64
-b Fs(vi)38 b Ft(is)h(equiv)-5 b(alen)m(t)41 b(to)e Fs(vi-command)p
-Ft(;)i Fs(emacs)c Ft(is)i(equiv)-5 b(alen)m(t)1110 408
-y(to)31 b Fs(emacs-standard)p Ft(.)630 562 y Fs(-l)384
+b(Reference)g(Man)m(ual)630 299 y(argumen)m(t;)36 b(e.g.,)f(`)p
+Fs("\\C-x\\C-r":re-read-init-fi)o(le)p Ft('.)43 b(Options,)34
+b(if)g(supplied,)f(ha)m(v)m(e)630 408 y(the)e(follo)m(wing)g(meanings:)
+630 576 y Fs(-m)f Fj(keymap)1110 686 y Ft(Use)54 b Fq(k)m(eymap)j
+Ft(as)d(the)g(k)m(eymap)g(to)h(b)s(e)e(a\013ected)i(b)m(y)f(the)g
+(subsequen)m(t)1110 795 y(bindings.)46 b(Acceptable)34
+b Fq(k)m(eymap)i Ft(names)c(are)h Fs(emacs)p Ft(,)f Fs(emacs-standard)p
+Ft(,)1110 905 y Fs(emacs-meta)p Ft(,)99 b Fs(emacs-ctlx)p
+Ft(,)f Fs(vi)p Ft(,)j Fs(vi-move)p Ft(,)f Fs(vi-command)p
+Ft(,)f(and)1110 1014 y Fs(vi-insert)p Ft(.)64 b Fs(vi)38
+b Ft(is)h(equiv)-5 b(alen)m(t)41 b(to)e Fs(vi-command)p
+Ft(;)i Fs(emacs)c Ft(is)i(equiv)-5 b(alen)m(t)1110 1124
+y(to)31 b Fs(emacs-standard)p Ft(.)630 1292 y Fs(-l)384
 b Ft(List)31 b(the)f(names)g(of)h(all)g(Readline)g(functions.)630
-715 y Fs(-p)384 b Ft(Displa)m(y)34 b(Readline)f(function)g(names)g(and)
-f(bindings)f(in)i(suc)m(h)f(a)i(w)m(a)m(y)f(that)1110
-825 y(they)e(can)f(b)s(e)g(used)g(as)g(input)g(or)g(in)g(a)h(Readline)g
-(initialization)i(\014le.)630 978 y Fs(-P)384 b Ft(List)31
+1459 y Fs(-p)384 b Ft(Displa)m(y)34 b(Readline)f(function)g(names)g
+(and)f(bindings)f(in)i(suc)m(h)f(a)i(w)m(a)m(y)f(that)1110
+1569 y(they)e(can)f(b)s(e)g(used)g(as)g(input)g(or)g(in)g(a)h(Readline)
+g(initialization)i(\014le.)630 1736 y Fs(-P)384 b Ft(List)31
 b(curren)m(t)f(Readline)h(function)f(names)g(and)g(bindings.)630
-1132 y Fs(-v)384 b Ft(Displa)m(y)25 b(Readline)f(v)-5
+1904 y Fs(-v)384 b Ft(Displa)m(y)25 b(Readline)f(v)-5
 b(ariable)25 b(names)f(and)f(v)-5 b(alues)24 b(in)g(suc)m(h)f(a)i(w)m
-(a)m(y)f(that)h(they)1110 1241 y(can)31 b(b)s(e)e(used)h(as)h(input)e
+(a)m(y)f(that)h(they)1110 2014 y(can)31 b(b)s(e)e(used)h(as)h(input)e
 (or)h(in)g(a)h(Readline)g(initialization)j(\014le.)630
-1395 y Fs(-V)384 b Ft(List)31 b(curren)m(t)f(Readline)h(v)-5
-b(ariable)31 b(names)f(and)g(v)-5 b(alues.)630 1548 y
+2181 y Fs(-V)384 b Ft(List)31 b(curren)m(t)f(Readline)h(v)-5
+b(ariable)31 b(names)f(and)g(v)-5 b(alues.)630 2349 y
 Fs(-s)384 b Ft(Displa)m(y)39 b(Readline)f(k)m(ey)g(sequences)f(b)s
-(ound)f(to)i(macros)g(and)f(the)g(strings)1110 1658 y(they)d(output)f
+(ound)f(to)i(macros)g(and)f(the)g(strings)1110 2458 y(they)d(output)f
 (in)h(suc)m(h)f(a)h(w)m(a)m(y)h(that)f(they)g(can)g(b)s(e)f(used)g(as)h
-(input)e(or)i(in)g(a)1110 1767 y(Readline)d(initialization)i(\014le.)
-630 1921 y Fs(-S)384 b Ft(Displa)m(y)39 b(Readline)f(k)m(ey)g
+(input)e(or)i(in)g(a)1110 2568 y(Readline)d(initialization)i(\014le.)
+630 2736 y Fs(-S)384 b Ft(Displa)m(y)39 b(Readline)f(k)m(ey)g
 (sequences)f(b)s(ound)f(to)i(macros)g(and)f(the)g(strings)1110
-2030 y(they)31 b(output.)630 2184 y Fs(-f)f Fj(filename)1110
-2293 y Ft(Read)h(k)m(ey)g(bindings)e(from)h Fq(\014lename)p
-Ft(.)630 2447 y Fs(-q)g Fj(function)1110 2556 y Ft(Query)g(ab)s(out)g
+2845 y(they)31 b(output.)630 3013 y Fs(-f)f Fj(filename)1110
+3122 y Ft(Read)h(k)m(ey)g(bindings)e(from)h Fq(\014lename)p
+Ft(.)630 3290 y Fs(-q)g Fj(function)1110 3400 y Ft(Query)g(ab)s(out)g
 (whic)m(h)g(k)m(eys)h(in)m(v)m(ok)m(e)h(the)f(named)f
-Fq(function)p Ft(.)630 2710 y Fs(-u)g Fj(function)1110
-2819 y Ft(Un)m(bind)f(all)i(k)m(eys)g(b)s(ound)e(to)i(the)f(named)g
-Fq(function)p Ft(.)630 2973 y Fs(-r)g Fj(keyseq)1110
-3082 y Ft(Remo)m(v)m(e)i(an)m(y)f(curren)m(t)f(binding)f(for)h
-Fq(k)m(eyseq)p Ft(.)630 3236 y Fs(-x)g Fj(keyseq:shell-command)1110
-3345 y Ft(Cause)g Fq(shell-command)k Ft(to)e(b)s(e)d(executed)j(whenev)
-m(er)e Fq(k)m(eyseq)j Ft(is)e(en)m(tered.)630 3499 y(The)26
+Fq(function)p Ft(.)630 3567 y Fs(-u)g Fj(function)1110
+3677 y Ft(Un)m(bind)f(all)i(k)m(eys)g(b)s(ound)e(to)i(the)f(named)g
+Fq(function)p Ft(.)630 3844 y Fs(-r)g Fj(keyseq)1110
+3954 y Ft(Remo)m(v)m(e)i(an)m(y)f(curren)m(t)f(binding)f(for)h
+Fq(k)m(eyseq)p Ft(.)630 4122 y Fs(-x)g Fj(keyseq:shell-command)1110
+4231 y Ft(Cause)g Fq(shell-command)k Ft(to)e(b)s(e)d(executed)j(whenev)
+m(er)e Fq(k)m(eyseq)j Ft(is)e(en)m(tered.)630 4399 y(The)26
 b(return)f(status)i(is)f(zero)i(unless)d(an)i(in)m(v)-5
 b(alid)27 b(option)g(is)f(supplied)f(or)i(an)f(error)g(o)s(ccurs.)150
-3652 y Fs(builtin)870 3784 y(builtin)46 b([)p Fj(shell-builtin)54
-b Fs([)p Fj(args)11 b Fs(]])630 3915 y Ft(Run)35 b(a)i(shell)f
+4566 y Fs(builtin)870 4705 y(builtin)46 b([)p Fj(shell-builtin)54
+b Fs([)p Fj(args)11 b Fs(]])630 4844 y Ft(Run)35 b(a)i(shell)f
 (builtin,)i(passing)e(it)h Fq(args)p Ft(,)h(and)e(return)f(its)i(exit)g
-(status.)59 b(This)35 b(is)i(useful)630 4025 y(when)29
+(status.)59 b(This)35 b(is)i(useful)630 4953 y(when)29
 b(de\014ning)h(a)g(shell)h(function)f(with)g(the)g(same)h(name)f(as)h
-(a)g(shell)f(builtin,)g(retaining)630 4134 y(the)k(functionalit)m(y)h
+(a)g(shell)f(builtin,)g(retaining)630 5063 y(the)k(functionalit)m(y)h
 (of)f(the)f(builtin)g(within)g(the)h(function.)50 b(The)33
-b(return)g(status)h(is)f(non-)630 4244 y(zero)e(if)g
+b(return)g(status)h(is)f(non-)630 5172 y(zero)e(if)g
 Fq(shell-builtin)f Ft(is)g(not)h(a)g(shell)f(builtin)g(command.)150
-4398 y Fs(caller)870 4529 y(caller)46 b([)p Fj(expr)11
-b Fs(])630 4661 y Ft(Returns)34 b(the)g(con)m(text)j(of)e(an)m(y)g
-(activ)m(e)i(subroutine)c(call)j(\(a)f(shell)g(function)f(or)h(a)g
-(script)630 4770 y(executed)c(with)f(the)h Fs(.)f Ft(or)g
-Fs(source)f Ft(builtins\).)630 4902 y(Without)45 b Fq(expr)p
-Ft(,)j Fs(caller)43 b Ft(displa)m(ys)i(the)f(line)h(n)m(um)m(b)s(er)f
-(and)g(source)g(\014lename)h(of)g(the)630 5011 y(curren)m(t)35
-b(subroutine)g(call.)58 b(If)35 b(a)h(non-negativ)m(e)i(in)m(teger)f
-(is)f(supplied)e(as)i Fq(expr)p Ft(,)h Fs(caller)630
-5121 y Ft(displa)m(ys)k(the)f(line)h(n)m(um)m(b)s(er,)h(subroutine)d
-(name,)44 b(and)c(source)g(\014le)h(corresp)s(onding)e(to)630
-5230 y(that)c(p)s(osition)g(in)f(the)h(curren)m(t)f(execution)i(call)g
-(stac)m(k.)54 b(This)34 b(extra)h(information)g(ma)m(y)630
-5340 y(b)s(e)30 b(used,)g(for)g(example,)h(to)g(prin)m(t)f(a)h(stac)m
-(k)h(trace.)42 b(The)29 b(curren)m(t)i(frame)f(is)g(frame)h(0.)p
-eop end
+5340 y Fs(caller)p eop end
 %%Page: 41 47
 TeXDict begin 41 46 bop 150 -116 a Ft(Chapter)30 b(4:)41
-b(Shell)30 b(Builtin)h(Commands)2069 b(41)630 299 y(The)29
-b(return)f(v)-5 b(alue)29 b(is)h(0)f(unless)g(the)g(shell)g(is)h(not)f
-(executing)h(a)g(subroutine)e(call)i(or)g Fq(expr)630
-408 y Ft(do)s(es)g(not)h(corresp)s(ond)e(to)i(a)g(v)-5
+b(Shell)30 b(Builtin)h(Commands)2069 b(41)870 299 y Fs(caller)46
+b([)p Fj(expr)11 b Fs(])630 437 y Ft(Returns)34 b(the)g(con)m(text)j
+(of)e(an)m(y)g(activ)m(e)i(subroutine)c(call)j(\(a)f(shell)g(function)f
+(or)h(a)g(script)630 547 y(executed)c(with)f(the)h Fs(.)f
+Ft(or)g Fs(source)f Ft(builtins\).)630 685 y(Without)45
+b Fq(expr)p Ft(,)j Fs(caller)43 b Ft(displa)m(ys)i(the)f(line)h(n)m(um)
+m(b)s(er)f(and)g(source)g(\014lename)h(of)g(the)630 795
+y(curren)m(t)35 b(subroutine)g(call.)58 b(If)35 b(a)h(non-negativ)m(e)i
+(in)m(teger)f(is)f(supplied)e(as)i Fq(expr)p Ft(,)h Fs(caller)630
+905 y Ft(displa)m(ys)k(the)f(line)h(n)m(um)m(b)s(er,)h(subroutine)d
+(name,)44 b(and)c(source)g(\014le)h(corresp)s(onding)e(to)630
+1014 y(that)c(p)s(osition)g(in)f(the)h(curren)m(t)f(execution)i(call)g
+(stac)m(k.)54 b(This)34 b(extra)h(information)g(ma)m(y)630
+1124 y(b)s(e)30 b(used,)g(for)g(example,)h(to)g(prin)m(t)f(a)h(stac)m
+(k)h(trace.)42 b(The)29 b(curren)m(t)i(frame)f(is)g(frame)h(0.)630
+1262 y(The)e(return)f(v)-5 b(alue)29 b(is)h(0)f(unless)g(the)g(shell)g
+(is)h(not)f(executing)h(a)g(subroutine)e(call)i(or)g
+Fq(expr)630 1372 y Ft(do)s(es)g(not)h(corresp)s(ond)e(to)i(a)g(v)-5
 b(alid)30 b(p)s(osition)h(in)f(the)g(call)i(stac)m(k.)150
-578 y Fs(command)870 717 y(command)46 b([-pVv])g Fj(command)56
-b Fs([)p Fj(arguments)g Fs(...)o(])630 857 y Ft(Runs)32
+1539 y Fs(command)870 1677 y(command)46 b([-pVv])g Fj(command)56
+b Fs([)p Fj(arguments)g Fs(...)o(])630 1816 y Ft(Runs)32
 b Fq(command)k Ft(with)d Fq(argumen)m(ts)k Ft(ignoring)c(an)m(y)g
-(shell)h(function)e(named)h Fq(command)p Ft(.)630 966
+(shell)h(function)e(named)h Fq(command)p Ft(.)630 1925
 y(Only)39 b(shell)i(builtin)e(commands)h(or)g(commands)f(found)g(b)m(y)
-h(searc)m(hing)h(the)f Fs(PATH)f Ft(are)630 1076 y(executed.)g(If)23
+h(searc)m(hing)h(the)f Fs(PATH)f Ft(are)630 2035 y(executed.)g(If)23
 b(there)h(is)f(a)h(shell)f(function)g(named)g Fs(ls)p
 Ft(,)i(running)c(`)p Fs(command)29 b(ls)p Ft(')23 b(within)g(the)630
-1186 y(function)33 b(will)g(execute)i(the)f(external)g(command)f
+2145 y(function)33 b(will)g(execute)i(the)f(external)g(command)f
 Fs(ls)f Ft(instead)i(of)f(calling)i(the)e(function)630
-1295 y(recursiv)m(ely)-8 b(.)84 b(The)44 b(`)p Fs(-p)p
+2254 y(recursiv)m(ely)-8 b(.)84 b(The)44 b(`)p Fs(-p)p
 Ft(')h(option)g(means)f(to)h(use)g(a)f(default)h(v)-5
-b(alue)45 b(for)f Fs(PATH)g Ft(that)h(is)630 1405 y(guaran)m(teed)35
+b(alue)45 b(for)f Fs(PATH)g Ft(that)h(is)630 2364 y(guaran)m(teed)35
 b(to)f(\014nd)e(all)j(of)f(the)g(standard)f(utilities.)52
-b(The)33 b(return)g(status)h(in)f(this)h(case)630 1514
+b(The)33 b(return)g(status)h(in)f(this)h(case)630 2473
 y(is)29 b(127)g(if)g Fq(command)j Ft(cannot)d(b)s(e)e(found)h(or)g(an)g
 (error)h(o)s(ccurred,)f(and)g(the)h(exit)g(status)g(of)630
-1624 y Fq(command)34 b Ft(otherwise.)630 1763 y(If)25
+2583 y Fq(command)34 b Ft(otherwise.)630 2721 y(If)25
 b(either)g(the)h(`)p Fs(-V)p Ft(')f(or)g(`)p Fs(-v)p
 Ft(')g(option)g(is)g(supplied,)h(a)f(description)g(of)h
-Fq(command)i Ft(is)d(prin)m(ted.)630 1873 y(The)i(`)p
+Fq(command)i Ft(is)d(prin)m(ted.)630 2831 y(The)i(`)p
 Fs(-v)p Ft(')h(option)h(causes)f(a)h(single)f(w)m(ord)g(indicating)h
-(the)f(command)g(or)g(\014le)g(name)g(used)630 1983 y(to)36
+(the)f(command)g(or)g(\014le)g(name)g(used)630 2941 y(to)36
 b(in)m(v)m(ok)m(e)g Fq(command)j Ft(to)c(b)s(e)g(displa)m(y)m(ed;)j
 (the)d(`)p Fs(-V)p Ft(')g(option)g(pro)s(duces)e(a)j(more)f(v)m(erb)s
-(ose)630 2092 y(description.)61 b(In)36 b(this)h(case,)j(the)e(return)e
+(ose)630 3050 y(description.)61 b(In)36 b(this)h(case,)j(the)e(return)e
 (status)h(is)g(zero)h(if)f Fq(command)k Ft(is)c(found,)h(and)630
-2202 y(non-zero)31 b(if)f(not.)150 2371 y Fs(declare)870
-2511 y(declare)46 b([-afFirtx])f([-p])h([)p Fj(name)11
-b Fs([=)p Fj(value)g Fs(])44 b(...)o(])630 2650 y Ft(Declare)29
+3160 y(non-zero)31 b(if)f(not.)150 3327 y Fs(declare)870
+3465 y(declare)46 b([-afFirtx])f([-p])h([)p Fj(name)11
+b Fs([=)p Fj(value)g Fs(])44 b(...)o(])630 3604 y Ft(Declare)29
 b(v)-5 b(ariables)28 b(and)e(giv)m(e)j(them)e(attributes.)40
 b(If)27 b(no)g Fq(name)5 b Ft(s)27 b(are)h(giv)m(en,)h(then)e(displa)m
-(y)630 2760 y(the)k(v)-5 b(alues)30 b(of)h(v)-5 b(ariables)31
-b(instead.)630 2899 y(The)d(`)p Fs(-p)p Ft(')g(option)g(will)h(displa)m
+(y)630 3713 y(the)k(v)-5 b(alues)30 b(of)h(v)-5 b(ariables)31
+b(instead.)630 3852 y(The)d(`)p Fs(-p)p Ft(')g(option)g(will)h(displa)m
 (y)f(the)h(attributes)f(and)g(v)-5 b(alues)28 b(of)h(eac)m(h)g
-Fq(name)p Ft(.)40 b(When)28 b(`)p Fs(-p)p Ft(')630 3009
+Fq(name)p Ft(.)40 b(When)28 b(`)p Fs(-p)p Ft(')630 3961
 y(is)k(used,)g(additional)h(options)f(are)h(ignored.)46
 b(The)31 b(`)p Fs(-F)p Ft(')h(option)h(inhibits)e(the)h(displa)m(y)h
-(of)630 3118 y(function)f(de\014nitions;)h(only)g(the)f(function)g
+(of)630 4071 y(function)f(de\014nitions;)h(only)g(the)f(function)g
 (name)h(and)f(attributes)h(are)f(prin)m(ted.)47 b(If)32
-b(the)630 3228 y Fs(extdebug)e Ft(shell)j(option)g(is)g(enabled)f
+b(the)630 4181 y Fs(extdebug)e Ft(shell)j(option)g(is)g(enabled)f
 (using)g Fs(shopt)g Ft(\(see)h(Section)g(4.2)h([Bash)f(Builtins],)630
-3337 y(page)k(39\),)h(the)e(source)g(\014le)g(name)g(and)g(line)g(n)m
+4290 y(page)k(39\),)h(the)e(source)g(\014le)g(name)g(and)g(line)g(n)m
 (um)m(b)s(er)e(where)i(the)g(function)f(is)h(de\014ned)630
-3447 y(are)f(displa)m(y)m(ed)h(as)f(w)m(ell.)55 b(`)p
+4400 y(are)f(displa)m(y)m(ed)h(as)f(w)m(ell.)55 b(`)p
 Fs(-F)p Ft(')34 b(implies)h(`)p Fs(-f)p Ft('.)54 b(The)35
 b(follo)m(wing)h(options)f(can)g(b)s(e)f(used)g(to)630
-3557 y(restrict)41 b(output)g(to)g(v)-5 b(ariables)42
+4509 y(restrict)41 b(output)g(to)g(v)-5 b(ariables)42
 b(with)e(the)h(sp)s(eci\014ed)f(attributes)h(or)g(to)g(giv)m(e)h(v)-5
-b(ariables)630 3666 y(attributes:)630 3836 y Fs(-a)384
+b(ariables)630 4619 y(attributes:)630 4786 y Fs(-a)384
 b Ft(Eac)m(h)30 b Fq(name)k Ft(is)29 b(an)g(arra)m(y)h(v)-5
 b(ariable)30 b(\(see)g(Section)g(6.7)g([Arra)m(ys],)h(page)e(74\).)630
-4005 y Fs(-f)384 b Ft(Use)31 b(function)f(names)g(only)-8
-b(.)630 4174 y Fs(-i)384 b Ft(The)36 b(v)-5 b(ariable)37
+4954 y Fs(-f)384 b Ft(Use)31 b(function)f(names)g(only)-8
+b(.)630 5121 y Fs(-i)384 b Ft(The)36 b(v)-5 b(ariable)37
 b(is)f(to)h(b)s(e)f(treated)h(as)g(an)f(in)m(teger;)41
-b(arithmetic)c(ev)-5 b(aluation)1110 4284 y(\(see)29
+b(arithmetic)c(ev)-5 b(aluation)1110 5230 y(\(see)29
 b(Section)f(6.5)h([Shell)f(Arithmetic],)i(page)e(72\))h(is)f(p)s
-(erformed)e(when)h(the)1110 4394 y(v)-5 b(ariable)31
-b(is)g(assigned)f(a)h(v)-5 b(alue.)630 4563 y Fs(-r)384
-b Ft(Mak)m(e)25 b Fq(name)5 b Ft(s)23 b(readonly)-8 b(.)39
-b(These)24 b(names)f(cannot)h(then)f(b)s(e)g(assigned)h(v)-5
-b(alues)1110 4672 y(b)m(y)30 b(subsequen)m(t)g(assignmen)m(t)h
-(statemen)m(ts)h(or)f(unset.)630 4842 y Fs(-t)384 b Ft(Giv)m(e)33
-b(eac)m(h)h Fq(name)j Ft(the)32 b Fs(trace)f Ft(attribute.)46
-b(T)-8 b(raced)32 b(functions)g(inherit)g(the)1110 4951
-y Fs(DEBUG)26 b Ft(and)h Fs(RETURN)f Ft(traps)h(from)g(the)h(calling)h
-(shell.)40 b(The)27 b(trace)i(attribute)1110 5061 y(has)h(no)g(sp)s
-(ecial)h(meaning)g(for)f(v)-5 b(ariables.)630 5230 y
-Fs(-x)384 b Ft(Mark)30 b(eac)m(h)h Fq(name)k Ft(for)29
-b(exp)s(ort)h(to)g(subsequen)m(t)f(commands)h(via)g(the)g(en)m(vi-)1110
-5340 y(ronmen)m(t.)p eop end
+(erformed)e(when)h(the)1110 5340 y(v)-5 b(ariable)31
+b(is)g(assigned)f(a)h(v)-5 b(alue.)p eop end
 %%Page: 42 48
 TeXDict begin 42 47 bop 150 -116 a Ft(42)2572 b(Bash)31
-b(Reference)g(Man)m(ual)630 299 y(Using)25 b(`)p Fs(+)p
-Ft(')g(instead)h(of)f(`)p Fs(-)p Ft(')g(turns)f(o\013)h(the)g
-(attribute)h(instead.)39 b(When)25 b(used)f(in)h(a)g(function,)630
-408 y Fs(declare)37 b Ft(mak)m(es)i(eac)m(h)h Fq(name)k
-Ft(lo)s(cal,)f(as)38 b(with)h(the)g Fs(local)e Ft(command.)66
-b(If)38 b(a)h(v)-5 b(ariable)630 518 y(name)30 b(is)h(follo)m(w)m(ed)h
-(b)m(y)e(=)p Fq(v)-5 b(alue)p Ft(,)31 b(the)f(v)-5 b(alue)31
-b(of)g(the)f(v)-5 b(ariable)32 b(is)e(set)h(to)g Fq(v)-5
-b(alue)p Ft(.)630 658 y(The)35 b(return)f(status)i(is)g(zero)g(unless)f
-(an)g(in)m(v)-5 b(alid)36 b(option)g(is)g(encoun)m(tered,)h(an)f
-(attempt)630 767 y(is)c(made)g(to)g(de\014ne)f(a)h(function)g(using)f
-(`)p Fs(-f)f(foo=bar)p Ft(',)h(an)h(attempt)g(is)g(made)g(to)h(assign)
-630 877 y(a)42 b(v)-5 b(alue)43 b(to)g(a)f(readonly)g(v)-5
+b(Reference)g(Man)m(ual)630 299 y Fs(-r)384 b Ft(Mak)m(e)25
+b Fq(name)5 b Ft(s)23 b(readonly)-8 b(.)39 b(These)24
+b(names)f(cannot)h(then)f(b)s(e)g(assigned)h(v)-5 b(alues)1110
+408 y(b)m(y)30 b(subsequen)m(t)g(assignmen)m(t)h(statemen)m(ts)h(or)f
+(unset.)630 573 y Fs(-t)384 b Ft(Giv)m(e)33 b(eac)m(h)h
+Fq(name)j Ft(the)32 b Fs(trace)f Ft(attribute.)46 b(T)-8
+b(raced)32 b(functions)g(inherit)g(the)1110 682 y Fs(DEBUG)26
+b Ft(and)h Fs(RETURN)f Ft(traps)h(from)g(the)h(calling)h(shell.)40
+b(The)27 b(trace)i(attribute)1110 792 y(has)h(no)g(sp)s(ecial)h
+(meaning)g(for)f(v)-5 b(ariables.)630 956 y Fs(-x)384
+b Ft(Mark)30 b(eac)m(h)h Fq(name)k Ft(for)29 b(exp)s(ort)h(to)g
+(subsequen)m(t)f(commands)h(via)g(the)g(en)m(vi-)1110
+1066 y(ronmen)m(t.)630 1230 y(Using)25 b(`)p Fs(+)p Ft(')g(instead)h
+(of)f(`)p Fs(-)p Ft(')g(turns)f(o\013)h(the)g(attribute)h(instead.)39
+b(When)25 b(used)f(in)h(a)g(function,)630 1340 y Fs(declare)37
+b Ft(mak)m(es)i(eac)m(h)h Fq(name)k Ft(lo)s(cal,)f(as)38
+b(with)h(the)g Fs(local)e Ft(command.)66 b(If)38 b(a)h(v)-5
+b(ariable)630 1450 y(name)30 b(is)h(follo)m(w)m(ed)h(b)m(y)e(=)p
+Fq(v)-5 b(alue)p Ft(,)31 b(the)f(v)-5 b(alue)31 b(of)g(the)f(v)-5
+b(ariable)32 b(is)e(set)h(to)g Fq(v)-5 b(alue)p Ft(.)630
+1587 y(The)35 b(return)f(status)i(is)g(zero)g(unless)f(an)g(in)m(v)-5
+b(alid)36 b(option)g(is)g(encoun)m(tered,)h(an)f(attempt)630
+1696 y(is)c(made)g(to)g(de\014ne)f(a)h(function)g(using)f(`)p
+Fs(-f)f(foo=bar)p Ft(',)h(an)h(attempt)g(is)g(made)g(to)h(assign)630
+1806 y(a)42 b(v)-5 b(alue)43 b(to)g(a)f(readonly)g(v)-5
 b(ariable,)47 b(an)42 b(attempt)h(is)f(made)g(to)h(assign)f(a)h(v)-5
-b(alue)42 b(to)h(an)630 986 y(arra)m(y)30 b(v)-5 b(ariable)30
+b(alue)42 b(to)h(an)630 1915 y(arra)m(y)30 b(v)-5 b(ariable)30
 b(without)g(using)e(the)i(comp)s(ound)e(assignmen)m(t)i(syn)m(tax)g
-(\(see)h(Section)f(6.7)630 1096 y([Arra)m(ys],)47 b(page)c(74\),)48
+(\(see)h(Section)f(6.7)630 2025 y([Arra)m(ys],)47 b(page)c(74\),)48
 b(one)43 b(of)g(the)g Fq(names)k Ft(is)c(not)g(a)g(v)-5
 b(alid)43 b(shell)g(v)-5 b(ariable)44 b(name,)i(an)630
-1205 y(attempt)28 b(is)f(made)h(to)f(turn)f(o\013)i(readonly)f(status)g
+2134 y(attempt)28 b(is)f(made)h(to)f(turn)f(o\013)i(readonly)f(status)g
 (for)g(a)h(readonly)f(v)-5 b(ariable,)29 b(an)e(attempt)630
-1315 y(is)h(made)h(to)g(turn)e(o\013)i(arra)m(y)f(status)h(for)f(an)g
+2244 y(is)h(made)h(to)g(turn)e(o\013)i(arra)m(y)f(status)h(for)f(an)g
 (arra)m(y)h(v)-5 b(ariable,)30 b(or)e(an)g(attempt)i(is)e(made)g(to)630
-1425 y(displa)m(y)j(a)f(non-existen)m(t)i(function)e(with)g(`)p
-Fs(-f)p Ft('.)150 1594 y Fs(echo)870 1733 y(echo)47 b([-neE])f([)p
-Fj(arg)57 b Fs(...)o(])630 1873 y Ft(Output)31 b(the)i
+2354 y(displa)m(y)j(a)f(non-existen)m(t)i(function)e(with)g(`)p
+Fs(-f)p Ft('.)150 2518 y Fs(echo)870 2655 y(echo)47 b([-neE])f([)p
+Fj(arg)57 b Fs(...)o(])630 2792 y Ft(Output)31 b(the)i
 Fq(arg)8 b Ft(s,)33 b(separated)g(b)m(y)g(spaces,)g(terminated)g(with)f
-(a)h(newline.)47 b(The)32 b(return)630 1983 y(status)f(is)g(alw)m(a)m
-(ys)h(0.)41 b(If)31 b(`)p Fs(-n)p Ft(')f(is)h(sp)s(eci\014ed,)f(the)h
-(trailing)g(newline)g(is)f(suppressed.)40 b(If)30 b(the)630
-2092 y(`)p Fs(-e)p Ft(')23 b(option)i(is)e(giv)m(en,)j(in)m
-(terpretation)f(of)f(the)g(follo)m(wing)h(bac)m(kslash-escap)s(ed)f(c)m
-(haracters)630 2202 y(is)33 b(enabled.)48 b(The)32 b(`)p
-Fs(-E)p Ft(')h(option)g(disables)g(the)g(in)m(terpretation)h(of)f
-(these)g(escap)s(e)g(c)m(harac-)630 2311 y(ters,)42 b(ev)m(en)f(on)e
-(systems)h(where)f(they)h(are)g(in)m(terpreted)g(b)m(y)g(default.)69
-b(The)39 b Fs(xpg_echo)630 2421 y Ft(shell)f(option)h(ma)m(y)g(b)s(e)e
-(used)h(to)h(dynamically)g(determine)f(whether)g(or)g(not)g
-Fs(echo)f Ft(ex-)630 2531 y(pands)30 b(these)h(escap)s(e)h(c)m
-(haracters)g(b)m(y)f(default.)43 b Fs(echo)30 b Ft(in)m(terprets)i(the)
-f(follo)m(wing)h(escap)s(e)630 2640 y(sequences:)630
-2809 y Fs(\\a)384 b Ft(alert)31 b(\(b)s(ell\))630 2979
-y Fs(\\b)384 b Ft(bac)m(kspace)630 3148 y Fs(\\c)g Ft(suppress)28
-b(trailing)k(newline)630 3318 y Fs(\\e)384 b Ft(escap)s(e)630
-3487 y Fs(\\f)g Ft(form)30 b(feed)630 3656 y Fs(\\n)384
-b Ft(new)30 b(line)630 3826 y Fs(\\r)384 b Ft(carriage)32
-b(return)630 3995 y Fs(\\t)384 b Ft(horizon)m(tal)32
-b(tab)630 4164 y Fs(\\v)384 b Ft(v)m(ertical)32 b(tab)630
-4334 y Fs(\\\\)384 b Ft(bac)m(kslash)630 4503 y Fs(\\0)p
+(a)h(newline.)47 b(The)32 b(return)630 2902 y(status)40
+b(is)g(alw)m(a)m(ys)h(0.)69 b(If)39 b(`)p Fs(-n)p Ft(')h(is)f(sp)s
+(eci\014ed,)j(the)e(trailing)h(newline)e(is)h(suppressed.)66
+b(If)630 3011 y(the)29 b(`)p Fs(-e)p Ft(')g(option)g(is)h(giv)m(en,)g
+(in)m(terpretation)g(of)g(the)f(follo)m(wing)h(bac)m(kslash-escap)s(ed)
+g(c)m(har-)630 3121 y(acters)38 b(is)f(enabled.)60 b(The)36
+b(`)p Fs(-E)p Ft(')h(option)g(disables)g(the)g(in)m(terpretation)h(of)f
+(these)g(escap)s(e)630 3230 y(c)m(haracters,)h(ev)m(en)d(on)g(systems)g
+(where)f(they)h(are)g(in)m(terpreted)h(b)m(y)e(default.)55
+b(The)34 b Fs(xpg_)630 3340 y(echo)d Ft(shell)h(option)h(ma)m(y)g(b)s
+(e)e(used)h(to)h(dynamically)g(determine)f(whether)f(or)i(not)f
+Fs(echo)630 3450 y Ft(expands)39 b(these)i(escap)s(e)g(c)m(haracters)g
+(b)m(y)g(default.)70 b Fs(echo)39 b Ft(do)s(es)h(not)g(in)m(terpret)h
+(`)p Fs(--)p Ft(')f(to)630 3559 y(mean)30 b(the)h(end)f(of)g(options.)
+630 3696 y Fs(echo)f Ft(in)m(terprets)i(the)f(follo)m(wing)i(escap)s(e)
+f(sequences:)630 3861 y Fs(\\a)384 b Ft(alert)31 b(\(b)s(ell\))630
+4025 y Fs(\\b)384 b Ft(bac)m(kspace)630 4189 y Fs(\\c)g
+Ft(suppress)28 b(trailing)k(newline)630 4354 y Fs(\\e)384
+b Ft(escap)s(e)630 4518 y Fs(\\f)g Ft(form)30 b(feed)630
+4682 y Fs(\\n)384 b Ft(new)30 b(line)630 4847 y Fs(\\r)384
+b Ft(carriage)32 b(return)630 5011 y Fs(\\t)384 b Ft(horizon)m(tal)32
+b(tab)630 5176 y Fs(\\v)384 b Ft(v)m(ertical)32 b(tab)630
+5340 y Fs(\\\\)384 b Ft(bac)m(kslash)p eop end
+%%Page: 43 49
+TeXDict begin 43 48 bop 150 -116 a Ft(Chapter)30 b(4:)41
+b(Shell)30 b(Builtin)h(Commands)2069 b(43)630 299 y Fs(\\0)p
 Fj(nnn)240 b Ft(the)32 b(eigh)m(t-bit)i(c)m(haracter)g(whose)e(v)-5
 b(alue)33 b(is)f(the)g(o)s(ctal)i(v)-5 b(alue)32 b Fq(nnn)f
-Ft(\(zero)i(to)1110 4613 y(three)e(o)s(ctal)g(digits\))630
-4782 y Fs(\\)p Fj(nnn)288 b Ft(the)35 b(eigh)m(t-bit)h(c)m(haracter)g
+Ft(\(zero)i(to)1110 408 y(three)e(o)s(ctal)g(digits\))630
+575 y Fs(\\)p Fj(nnn)288 b Ft(the)35 b(eigh)m(t-bit)h(c)m(haracter)g
 (whose)e(v)-5 b(alue)35 b(is)g(the)f(o)s(ctal)i(v)-5
-b(alue)35 b Fq(nnn)e Ft(\(one)i(to)1110 4892 y(three)c(o)s(ctal)g
-(digits\))630 5061 y Fs(\\x)p Fj(HH)288 b Ft(the)40 b(eigh)m(t-bit)h(c)
-m(haracter)g(whose)e(v)-5 b(alue)39 b(is)h(the)f(hexadecimal)i(v)-5
-b(alue)40 b Fq(HH)1110 5171 y Ft(\(one)31 b(or)f(t)m(w)m(o)i(hex)e
-(digits\))150 5340 y Fs(enable)p eop end
-%%Page: 43 49
-TeXDict begin 43 48 bop 150 -116 a Ft(Chapter)30 b(4:)41
-b(Shell)30 b(Builtin)h(Commands)2069 b(43)870 299 y Fs(enable)46
-b([-n])h([-p])f([-f)h Fj(filename)11 b Fs(])45 b([-ads])h([)p
-Fj(name)57 b Fs(...)o(])630 429 y Ft(Enable)36 b(and)f(disable)h
-(builtin)g(shell)g(commands.)56 b(Disabling)37 b(a)g(builtin)e(allo)m
-(ws)i(a)f(disk)630 539 y(command)e(whic)m(h)g(has)g(the)g(same)h(name)f
-(as)h(a)f(shell)h(builtin)e(to)i(b)s(e)f(executed)h(without)630
-649 y(sp)s(ecifying)27 b(a)g(full)g(pathname,)g(ev)m(en)h(though)f(the)
-g(shell)g(normally)g(searc)m(hes)h(for)f(builtins)630
-758 y(b)s(efore)32 b(disk)f(commands.)46 b(If)31 b(`)p
-Fs(-n)p Ft(')h(is)g(used,)g(the)g Fq(name)5 b Ft(s)32
-b(b)s(ecome)h(disabled.)45 b(Otherwise)630 868 y Fq(name)5
-b Ft(s)44 b(are)h(enabled.)82 b(F)-8 b(or)45 b(example,)k(to)c(use)f
-(the)g Fs(test)f Ft(binary)h(found)f(via)h Fs($PATH)630
-977 y Ft(instead)31 b(of)f(the)h(shell)f(builtin)g(v)m(ersion,)h(t)m
-(yp)s(e)g(`)p Fs(enable)e(-n)h(test)p Ft('.)630 1108
-y(If)42 b(the)h(`)p Fs(-p)p Ft(')f(option)h(is)f(supplied,)j(or)d(no)h
-Fq(name)k Ft(argumen)m(ts)c(app)s(ear,)i(a)e(list)g(of)g(shell)630
-1217 y(builtins)37 b(is)h(prin)m(ted.)63 b(With)38 b(no)f(other)h
-(argumen)m(ts,)j(the)d(list)g(consists)g(of)g(all)h(enabled)630
-1327 y(shell)33 b(builtins.)46 b(The)32 b(`)p Fs(-a)p
-Ft(')h(option)g(means)f(to)i(list)f(eac)m(h)h(builtin)e(with)g(an)g
-(indication)i(of)630 1437 y(whether)c(or)g(not)h(it)g(is)f(enabled.)630
-1567 y(The)40 b(`)p Fs(-f)p Ft(')g(option)g(means)g(to)h(load)g(the)f
-(new)f(builtin)h(command)g Fq(name)45 b Ft(from)40 b(shared)630
-1677 y(ob)5 b(ject)27 b Fq(\014lename)p Ft(,)g(on)f(systems)g(that)h
-(supp)s(ort)d(dynamic)i(loading.)40 b(The)26 b(`)p Fs(-d)p
-Ft(')g(option)h(will)630 1786 y(delete)32 b(a)e(builtin)g(loaded)h
-(with)f(`)p Fs(-f)p Ft('.)630 1917 y(If)h(there)g(are)g(no)g(options,)h
-(a)f(list)h(of)f(the)g(shell)g(builtins)g(is)g(displa)m(y)m(ed.)43
-b(The)31 b(`)p Fs(-s)p Ft(')f(option)630 2026 y(restricts)f
-Fs(enable)e Ft(to)i(the)f Fl(posix)g Ft(sp)s(ecial)h(builtins.)40
+b(alue)35 b Fq(nnn)e Ft(\(one)i(to)1110 685 y(three)c(o)s(ctal)g
+(digits\))630 852 y Fs(\\x)p Fj(HH)288 b Ft(the)40 b(eigh)m(t-bit)h(c)m
+(haracter)g(whose)e(v)-5 b(alue)39 b(is)h(the)f(hexadecimal)i(v)-5
+b(alue)40 b Fq(HH)1110 961 y Ft(\(one)31 b(or)f(t)m(w)m(o)i(hex)e
+(digits\))150 1128 y Fs(enable)870 1266 y(enable)46 b([-n])h([-p])f
+([-f)h Fj(filename)11 b Fs(])45 b([-ads])h([)p Fj(name)57
+b Fs(...)o(])630 1404 y Ft(Enable)36 b(and)f(disable)h(builtin)g(shell)
+g(commands.)56 b(Disabling)37 b(a)g(builtin)e(allo)m(ws)i(a)f(disk)630
+1514 y(command)e(whic)m(h)g(has)g(the)g(same)h(name)f(as)h(a)f(shell)h
+(builtin)e(to)i(b)s(e)f(executed)h(without)630 1623 y(sp)s(ecifying)27
+b(a)g(full)g(pathname,)g(ev)m(en)h(though)f(the)g(shell)g(normally)g
+(searc)m(hes)h(for)f(builtins)630 1733 y(b)s(efore)32
+b(disk)f(commands.)46 b(If)31 b(`)p Fs(-n)p Ft(')h(is)g(used,)g(the)g
+Fq(name)5 b Ft(s)32 b(b)s(ecome)h(disabled.)45 b(Otherwise)630
+1843 y Fq(name)5 b Ft(s)44 b(are)h(enabled.)82 b(F)-8
+b(or)45 b(example,)k(to)c(use)f(the)g Fs(test)f Ft(binary)h(found)f
+(via)h Fs($PATH)630 1952 y Ft(instead)31 b(of)f(the)h(shell)f(builtin)g
+(v)m(ersion,)h(t)m(yp)s(e)g(`)p Fs(enable)e(-n)h(test)p
+Ft('.)630 2090 y(If)42 b(the)h(`)p Fs(-p)p Ft(')f(option)h(is)f
+(supplied,)j(or)d(no)h Fq(name)k Ft(argumen)m(ts)c(app)s(ear,)i(a)e
+(list)g(of)g(shell)630 2200 y(builtins)37 b(is)h(prin)m(ted.)63
+b(With)38 b(no)f(other)h(argumen)m(ts,)j(the)d(list)g(consists)g(of)g
+(all)h(enabled)630 2310 y(shell)33 b(builtins.)46 b(The)32
+b(`)p Fs(-a)p Ft(')h(option)g(means)f(to)i(list)f(eac)m(h)h(builtin)e
+(with)g(an)g(indication)i(of)630 2419 y(whether)c(or)g(not)h(it)g(is)f
+(enabled.)630 2557 y(The)40 b(`)p Fs(-f)p Ft(')g(option)g(means)g(to)h
+(load)g(the)f(new)f(builtin)h(command)g Fq(name)45 b
+Ft(from)40 b(shared)630 2667 y(ob)5 b(ject)27 b Fq(\014lename)p
+Ft(,)g(on)f(systems)g(that)h(supp)s(ort)d(dynamic)i(loading.)40
+b(The)26 b(`)p Fs(-d)p Ft(')g(option)h(will)630 2777
+y(delete)32 b(a)e(builtin)g(loaded)h(with)f(`)p Fs(-f)p
+Ft('.)630 2915 y(If)h(there)g(are)g(no)g(options,)h(a)f(list)h(of)f
+(the)g(shell)g(builtins)g(is)g(displa)m(y)m(ed.)43 b(The)31
+b(`)p Fs(-s)p Ft(')f(option)630 3024 y(restricts)f Fs(enable)e
+Ft(to)i(the)f Fl(posix)g Ft(sp)s(ecial)h(builtins.)40
 b(If)27 b(`)p Fs(-s)p Ft(')i(is)f(used)g(with)g(`)p Fs(-f)p
-Ft(',)h(the)f(new)630 2136 y(builtin)i(b)s(ecomes)h(a)f(sp)s(ecial)h
+Ft(',)h(the)f(new)630 3134 y(builtin)i(b)s(ecomes)h(a)f(sp)s(ecial)h
 (builtin)f(\(see)i(Section)f(4.4)g([Sp)s(ecial)g(Builtins],)g(page)g
-(54\).)630 2266 y(The)26 b(return)f(status)h(is)g(zero)h(unless)e(a)i
+(54\).)630 3272 y(The)26 b(return)f(status)h(is)g(zero)h(unless)e(a)i
 Fq(name)k Ft(is)26 b(not)g(a)h(shell)f(builtin)g(or)g(there)g(is)g(an)g
-(error)630 2376 y(loading)31 b(a)g(new)f(builtin)g(from)g(a)g(shared)g
-(ob)5 b(ject.)150 2527 y Fs(help)870 2658 y(help)47 b([-s])f([)p
-Fj(pattern)11 b Fs(])630 2788 y Ft(Displa)m(y)40 b(helpful)e
+(error)630 3382 y(loading)31 b(a)g(new)f(builtin)g(from)g(a)g(shared)g
+(ob)5 b(ject.)150 3548 y Fs(help)870 3687 y(help)47 b([-s])f([)p
+Fj(pattern)11 b Fs(])630 3825 y Ft(Displa)m(y)40 b(helpful)e
 (information)h(ab)s(out)g(builtin)f(commands.)66 b(If)38
-b Fq(pattern)h Ft(is)g(sp)s(eci\014ed,)630 2898 y Fs(help)28
+b Fq(pattern)h Ft(is)g(sp)s(eci\014ed,)630 3934 y Fs(help)28
 b Ft(giv)m(es)i(detailed)g(help)e(on)h(all)h(commands)e(matc)m(hing)i
-Fq(pattern)p Ft(,)g(otherwise)f(a)g(list)h(of)630 3007
+Fq(pattern)p Ft(,)g(otherwise)f(a)g(list)h(of)630 4044
 y(the)36 b(builtins)f(is)h(prin)m(ted.)56 b(The)35 b(`)p
 Fs(-s)p Ft(')h(option)g(restricts)g(the)g(information)g(displa)m(y)m
-(ed)g(to)630 3117 y(a)c(short)g(usage)h(synopsis.)44
+(ed)g(to)630 4154 y(a)c(short)g(usage)h(synopsis.)44
 b(The)32 b(return)f(status)h(is)g(zero)h(unless)e(no)h(command)g(matc)m
-(hes)630 3226 y Fq(pattern)p Ft(.)150 3378 y Fs(let)870
-3508 y(let)47 b Fj(expression)55 b Fs([)p Fj(expression)11
-b Fs(])630 3639 y Ft(The)41 b Fs(let)g Ft(builtin)g(allo)m(ws)i
+(hes)630 4263 y Fq(pattern)p Ft(.)150 4430 y Fs(let)870
+4568 y(let)47 b Fj(expression)55 b Fs([)p Fj(expression)11
+b Fs(])630 4706 y Ft(The)41 b Fs(let)g Ft(builtin)g(allo)m(ws)i
 (arithmetic)f(to)h(b)s(e)d(p)s(erformed)g(on)i(shell)g(v)-5
-b(ariables.)74 b(Eac)m(h)630 3748 y Fq(expression)31
+b(ariables.)74 b(Eac)m(h)630 4816 y Fq(expression)31
 b Ft(is)g(ev)-5 b(aluated)32 b(according)f(to)h(the)f(rules)g(giv)m(en)
-h(b)s(elo)m(w)f(in)f(Section)i(6.5)g([Shell)630 3858
+h(b)s(elo)m(w)f(in)f(Section)i(6.5)g([Shell)630 4925
 y(Arithmetic],)51 b(page)46 b(72.)87 b(If)45 b(the)g(last)h
 Fq(expression)g Ft(ev)-5 b(aluates)47 b(to)f(0,)k Fs(let)44
-b Ft(returns)g(1;)630 3968 y(otherwise)31 b(0)g(is)f(returned.)150
-4119 y Fs(local)870 4249 y(local)46 b([)p Fj(option)11
-b Fs(])45 b Fj(name)11 b Fs([=)p Fj(value)g Fs(])44 b(...)630
-4380 y Ft(F)-8 b(or)27 b(eac)m(h)g(argumen)m(t,)g(a)f(lo)s(cal)h(v)-5
-b(ariable)27 b(named)e Fq(name)31 b Ft(is)26 b(created,)i(and)d
-(assigned)h Fq(v)-5 b(alue)p Ft(.)630 4489 y(The)37 b
-Fq(option)h Ft(can)f(b)s(e)g(an)m(y)h(of)f(the)h(options)g(accepted)g
-(b)m(y)g Fs(declare)p Ft(.)59 b Fs(local)36 b Ft(can)i(only)630
-4599 y(b)s(e)j(used)h(within)f(a)i(function;)48 b(it)42
-b(mak)m(es)h(the)f(v)-5 b(ariable)43 b Fq(name)48 b Ft(ha)m(v)m(e)43
-b(a)f(visible)h(scop)s(e)630 4709 y(restricted)c(to)g(that)g(function)f
-(and)f(its)i(c)m(hildren.)64 b(The)38 b(return)f(status)h(is)h(zero)g
-(unless)630 4818 y Fs(local)g Ft(is)h(used)g(outside)g(a)h(function,)h
-(an)e(in)m(v)-5 b(alid)41 b Fq(name)46 b Ft(is)40 b(supplied,)i(or)e
-Fq(name)45 b Ft(is)c(a)630 4928 y(readonly)30 b(v)-5
-b(ariable.)150 5079 y Fs(logout)870 5210 y(logout)46
-b([)p Fj(n)11 b Fs(])630 5340 y Ft(Exit)31 b(a)g(login)g(shell,)g
-(returning)e(a)i(status)g(of)f Fq(n)g Ft(to)h(the)g(shell's)f(paren)m
-(t.)p eop end
+b Ft(returns)g(1;)630 5035 y(otherwise)31 b(0)g(is)f(returned.)150
+5202 y Fs(local)870 5340 y(local)46 b([)p Fj(option)11
+b Fs(])45 b Fj(name)11 b Fs([=)p Fj(value)g Fs(])44 b(...)p
+eop end
 %%Page: 44 50
 TeXDict begin 44 49 bop 150 -116 a Ft(44)2572 b(Bash)31
-b(Reference)g(Man)m(ual)150 299 y Fs(printf)870 429 y(printf)46
-b([-v)h Fj(var)11 b Fs(])46 b Fj(format)57 b Fs([)p Fj(arguments)11
-b Fs(])630 559 y Ft(W)-8 b(rite)27 b(the)g(formatted)f
-Fq(argumen)m(ts)k Ft(to)d(the)f(standard)f(output)h(under)e(the)i(con)m
-(trol)i(of)e(the)630 669 y Fq(format)p Ft(.)41 b(The)28
-b Fq(format)j Ft(is)e(a)g(c)m(haracter)i(string)d(whic)m(h)h(con)m
-(tains)h(three)f(t)m(yp)s(es)g(of)g(ob)5 b(jects:)630
-778 y(plain)28 b(c)m(haracters,)j(whic)m(h)d(are)h(simply)f(copied)h
-(to)h(standard)d(output,)i(c)m(haracter)h(escap)s(e)630
-888 y(sequences,)g(whic)m(h)f(are)g(con)m(v)m(erted)i(and)d(copied)i
-(to)f(the)h(standard)e(output,)h(and)g(format)630 998
-y(sp)s(eci\014cations,)39 b(eac)m(h)e(of)g(whic)m(h)f(causes)g(prin)m
-(ting)g(of)h(the)f(next)h(successiv)m(e)g Fq(argumen)m(t)p
-Ft(.)630 1107 y(In)31 b(addition)h(to)h(the)e(standard)g
+b(Reference)g(Man)m(ual)630 299 y(F)-8 b(or)27 b(eac)m(h)g(argumen)m
+(t,)g(a)f(lo)s(cal)h(v)-5 b(ariable)27 b(named)e Fq(name)31
+b Ft(is)26 b(created,)i(and)d(assigned)h Fq(v)-5 b(alue)p
+Ft(.)630 408 y(The)37 b Fq(option)h Ft(can)f(b)s(e)g(an)m(y)h(of)f(the)
+h(options)g(accepted)g(b)m(y)g Fs(declare)p Ft(.)59 b
+Fs(local)36 b Ft(can)i(only)630 518 y(b)s(e)j(used)h(within)f(a)i
+(function;)48 b(it)42 b(mak)m(es)h(the)f(v)-5 b(ariable)43
+b Fq(name)48 b Ft(ha)m(v)m(e)43 b(a)f(visible)h(scop)s(e)630
+628 y(restricted)c(to)g(that)g(function)f(and)f(its)i(c)m(hildren.)64
+b(The)38 b(return)f(status)h(is)h(zero)g(unless)630 737
+y Fs(local)g Ft(is)h(used)g(outside)g(a)h(function,)h(an)e(in)m(v)-5
+b(alid)41 b Fq(name)46 b Ft(is)40 b(supplied,)i(or)e
+Fq(name)45 b Ft(is)c(a)630 847 y(readonly)30 b(v)-5 b(ariable.)150
+1019 y Fs(logout)870 1160 y(logout)46 b([)p Fj(n)11 b
+Fs(])630 1301 y Ft(Exit)31 b(a)g(login)g(shell,)g(returning)e(a)i
+(status)g(of)f Fq(n)g Ft(to)h(the)g(shell's)f(paren)m(t.)150
+1473 y Fs(printf)870 1614 y(printf)46 b([-v)h Fj(var)11
+b Fs(])46 b Fj(format)57 b Fs([)p Fj(arguments)11 b Fs(])630
+1755 y Ft(W)-8 b(rite)27 b(the)g(formatted)f Fq(argumen)m(ts)k
+Ft(to)d(the)f(standard)f(output)h(under)e(the)i(con)m(trol)i(of)e(the)
+630 1864 y Fq(format)p Ft(.)41 b(The)28 b Fq(format)j
+Ft(is)e(a)g(c)m(haracter)i(string)d(whic)m(h)h(con)m(tains)h(three)f(t)
+m(yp)s(es)g(of)g(ob)5 b(jects:)630 1974 y(plain)28 b(c)m(haracters,)j
+(whic)m(h)d(are)h(simply)f(copied)h(to)h(standard)d(output,)i(c)m
+(haracter)h(escap)s(e)630 2084 y(sequences,)g(whic)m(h)f(are)g(con)m(v)
+m(erted)i(and)d(copied)i(to)f(the)h(standard)e(output,)h(and)g(format)
+630 2193 y(sp)s(eci\014cations,)39 b(eac)m(h)e(of)g(whic)m(h)f(causes)g
+(prin)m(ting)g(of)h(the)f(next)h(successiv)m(e)g Fq(argumen)m(t)p
+Ft(.)630 2303 y(In)31 b(addition)h(to)h(the)e(standard)g
 Fs(printf\(1\))f Ft(formats,)i(`)p Fs(\045b)p Ft(')g(causes)g
-Fs(printf)e Ft(to)j(expand)630 1217 y(bac)m(kslash)39
+Fs(printf)e Ft(to)j(expand)630 2412 y(bac)m(kslash)39
 b(escap)s(e)g(sequences)f(in)h(the)f(corresp)s(onding)f
 Fq(argumen)m(t)p Ft(,)k(\(except)f(that)f(`)p Fs(\\c)p
-Ft(')630 1326 y(terminates)44 b(output,)j(bac)m(kslashes)d(in)f(`)p
+Ft(')630 2522 y(terminates)44 b(output,)j(bac)m(kslashes)d(in)f(`)p
 Fs(\\')p Ft(',)k(`)p Fs(\\")p Ft(',)g(and)c(`)p Fs(\\?)p
-Ft(')g(are)h(not)g(remo)m(v)m(ed,)k(and)630 1436 y(o)s(ctal)25
+Ft(')g(are)h(not)g(remo)m(v)m(ed,)k(and)630 2632 y(o)s(ctal)25
 b(escap)s(es)f(b)s(eginning)f(with)g(`)p Fs(\\0)p Ft(')h(ma)m(y)g(con)m
 (tain)h(up)e(to)h(four)f(digits\),)j(and)d(`)p Fs(\045q)p
-Ft(')h(causes)630 1545 y Fs(printf)31 b Ft(to)i(output)f(the)h(corresp)
+Ft(')h(causes)630 2741 y Fs(printf)31 b Ft(to)i(output)f(the)h(corresp)
 s(onding)f Fq(argumen)m(t)j Ft(in)d(a)h(format)g(that)g(can)g(b)s(e)f
-(reused)630 1655 y(as)f(shell)f(input.)630 1785 y(The)24
+(reused)630 2851 y(as)f(shell)f(input.)630 2992 y(The)24
 b(`)p Fs(-v)p Ft(')h(option)g(causes)g(the)g(output)g(to)g(b)s(e)f
 (assigned)h(to)h(the)f(v)-5 b(ariable)25 b Fq(v)-5 b(ar)32
-b Ft(rather)24 b(than)630 1895 y(b)s(eing)30 b(prin)m(ted)g(to)h(the)g
-(standard)e(output.)630 2025 y(The)i Fq(format)i Ft(is)f(reused)e(as)i
+b Ft(rather)24 b(than)630 3101 y(b)s(eing)30 b(prin)m(ted)g(to)h(the)g
+(standard)e(output.)630 3242 y(The)i Fq(format)i Ft(is)f(reused)e(as)i
 (necessary)f(to)i(consume)e(all)h(of)f(the)h Fq(argumen)m(ts)p
-Ft(.)44 b(If)30 b(the)i Fq(for-)630 2134 y(mat)c Ft(requires)e(more)g
+Ft(.)44 b(If)30 b(the)i Fq(for-)630 3352 y(mat)c Ft(requires)e(more)g
 Fq(argumen)m(ts)k Ft(than)25 b(are)i(supplied,)e(the)h(extra)h(format)f
-(sp)s(eci\014cations)630 2244 y(b)s(eha)m(v)m(e)j(as)g(if)f(a)h(zero)g
+(sp)s(eci\014cations)630 3461 y(b)s(eha)m(v)m(e)j(as)g(if)f(a)h(zero)g
 (v)-5 b(alue)29 b(or)g(n)m(ull)f(string,)h(as)g(appropriate,)g(had)f(b)
-s(een)g(supplied.)38 b(The)630 2354 y(return)29 b(v)-5
+s(een)g(supplied.)38 b(The)630 3571 y(return)29 b(v)-5
 b(alue)31 b(is)g(zero)g(on)f(success,)h(non-zero)g(on)f(failure.)150
-2504 y Fs(read)870 2634 y(read)47 b([-ers])f([-a)h Fj(aname)11
+3743 y Fs(read)870 3884 y(read)47 b([-ers])f([-a)h Fj(aname)11
 b Fs(])45 b([-d)i Fj(delim)11 b Fs(])46 b([-n)h Fj(nchars)11
 b Fs(])45 b([-p)i Fj(prompt)11 b Fs(])45 b([-t)i Fj(time-)870
-2744 y(out)11 b Fs(])46 b([-u)h Fj(fd)11 b Fs(])46 b([)p
-Fj(name)57 b Fs(...])630 2874 y Ft(One)26 b(line)h(is)g(read)f(from)h
+3994 y(out)11 b Fs(])46 b([-u)h Fj(fd)11 b Fs(])46 b([)p
+Fj(name)57 b Fs(...])630 4134 y Ft(One)26 b(line)h(is)g(read)f(from)h
 (the)f(standard)g(input,)h(or)g(from)f(the)h(\014le)f(descriptor)h
-Fq(fd)i Ft(supplied)630 2984 y(as)37 b(an)g(argumen)m(t)h(to)f(the)h(`)
+Fq(fd)i Ft(supplied)630 4244 y(as)37 b(an)g(argumen)m(t)h(to)f(the)h(`)
 p Fs(-u)p Ft(')e(option,)k(and)c(the)i(\014rst)e(w)m(ord)g(is)h
-(assigned)h(to)f(the)h(\014rst)630 3093 y Fq(name)p Ft(,)29
+(assigned)h(to)f(the)h(\014rst)630 4354 y Fq(name)p Ft(,)29
 b(the)f(second)h(w)m(ord)e(to)i(the)g(second)f Fq(name)p
 Ft(,)h(and)e(so)i(on,)g(with)f(lefto)m(v)m(er)i(w)m(ords)e(and)630
-3203 y(their)g(in)m(terv)m(ening)h(separators)g(assigned)f(to)h(the)f
+4463 y(their)g(in)m(terv)m(ening)h(separators)g(assigned)f(to)h(the)f
 (last)h Fq(name)p Ft(.)40 b(If)27 b(there)i(are)f(few)m(er)g(w)m(ords)
-630 3313 y(read)44 b(from)f(the)g(input)g(stream)h(than)g(names,)j(the)
-c(remaining)h(names)g(are)g(assigned)630 3422 y(empt)m(y)31
+630 4573 y(read)44 b(from)f(the)g(input)g(stream)h(than)g(names,)j(the)
+c(remaining)h(names)g(are)g(assigned)630 4682 y(empt)m(y)31
 b(v)-5 b(alues.)41 b(The)30 b(c)m(haracters)i(in)e(the)h(v)-5
 b(alue)31 b(of)g(the)f Fs(IFS)g Ft(v)-5 b(ariable)31
-b(are)g(used)f(to)h(split)630 3532 y(the)37 b(line)h(in)m(to)g(w)m
+b(are)g(used)f(to)h(split)630 4792 y(the)37 b(line)h(in)m(to)g(w)m
 (ords.)61 b(The)36 b(bac)m(kslash)i(c)m(haracter)h(`)p
 Fs(\\)p Ft(')e(ma)m(y)h(b)s(e)f(used)f(to)i(remo)m(v)m(e)h(an)m(y)630
-3641 y(sp)s(ecial)h(meaning)g(for)f(the)g(next)h(c)m(haracter)h(read)e
+4902 y(sp)s(ecial)h(meaning)g(for)f(the)g(next)h(c)m(haracter)h(read)e
 (and)g(for)g(line)h(con)m(tin)m(uation.)69 b(If)39 b(no)630
-3751 y(names)28 b(are)h(supplied,)f(the)g(line)h(read)g(is)f(assigned)h
+5011 y(names)28 b(are)h(supplied,)f(the)g(line)h(read)g(is)f(assigned)h
 (to)g(the)f(v)-5 b(ariable)29 b Fs(REPLY)p Ft(.)39 b(The)28
-b(return)630 3861 y(co)s(de)i(is)f(zero,)i(unless)e(end-of-\014le)h(is)
+b(return)630 5121 y(co)s(de)i(is)f(zero,)i(unless)e(end-of-\014le)h(is)
 f(encoun)m(tered,)h Fs(read)f Ft(times)h(out,)g(or)f(an)h(in)m(v)-5
-b(alid)30 b(\014le)630 3970 y(descriptor)35 b(is)h(supplied)e(as)i(the)
+b(alid)30 b(\014le)630 5230 y(descriptor)35 b(is)h(supplied)e(as)i(the)
 f(argumen)m(t)h(to)g(`)p Fs(-u)p Ft('.)56 b(Options,)37
-b(if)e(supplied,)h(ha)m(v)m(e)h(the)630 4080 y(follo)m(wing)32
-b(meanings:)630 4230 y Fs(-a)e Fj(aname)114 b Ft(The)34
-b(w)m(ords)f(are)i(assigned)f(to)h(sequen)m(tial)h(indices)e(of)g(the)g
-(arra)m(y)h(v)-5 b(ariable)1110 4340 y Fq(aname)p Ft(,)29
-b(starting)h(at)f(0.)40 b(All)29 b(elemen)m(ts)h(are)e(remo)m(v)m(ed)i
-(from)d Fq(aname)34 b Ft(b)s(efore)1110 4450 y(the)d(assignmen)m(t.)41
-b(Other)30 b Fq(name)36 b Ft(argumen)m(ts)30 b(are)h(ignored.)630
-4600 y Fs(-d)f Fj(delim)114 b Ft(The)41 b(\014rst)h(c)m(haracter)h(of)f
+b(if)e(supplied,)h(ha)m(v)m(e)h(the)630 5340 y(follo)m(wing)32
+b(meanings:)p eop end
+%%Page: 45 51
+TeXDict begin 45 50 bop 150 -116 a Ft(Chapter)30 b(4:)41
+b(Shell)30 b(Builtin)h(Commands)2069 b(45)630 299 y Fs(-a)30
+b Fj(aname)114 b Ft(The)34 b(w)m(ords)f(are)i(assigned)f(to)h(sequen)m
+(tial)h(indices)e(of)g(the)g(arra)m(y)h(v)-5 b(ariable)1110
+408 y Fq(aname)p Ft(,)29 b(starting)h(at)f(0.)40 b(All)29
+b(elemen)m(ts)h(are)e(remo)m(v)m(ed)i(from)d Fq(aname)34
+b Ft(b)s(efore)1110 518 y(the)d(assignmen)m(t.)41 b(Other)30
+b Fq(name)36 b Ft(argumen)m(ts)30 b(are)h(ignored.)630
+690 y Fs(-d)f Fj(delim)114 b Ft(The)41 b(\014rst)h(c)m(haracter)h(of)f
 Fq(delim)g Ft(is)g(used)g(to)g(terminate)h(the)f(input)f(line,)1110
-4710 y(rather)30 b(than)g(newline.)630 4861 y Fs(-e)384
+800 y(rather)30 b(than)g(newline.)630 972 y Fs(-e)384
 b Ft(Readline)28 b(\(see)h(Chapter)e(8)h([Command)f(Line)g(Editing],)i
-(page)f(87\))h(is)f(used)1110 4970 y(to)j(obtain)g(the)g(line.)630
-5121 y Fs(-n)f Fj(nchars)1110 5230 y Fs(read)38 b Ft(returns)f(after)j
+(page)f(87\))h(is)f(used)1110 1082 y(to)j(obtain)g(the)g(line.)630
+1254 y Fs(-n)f Fj(nchars)1110 1363 y Fs(read)38 b Ft(returns)f(after)j
 (reading)f Fq(nc)m(hars)j Ft(c)m(haracters)e(rather)f(than)g(w)m
-(aiting)1110 5340 y(for)30 b(a)h(complete)h(line)e(of)h(input.)p
-eop end
-%%Page: 45 51
-TeXDict begin 45 50 bop 150 -116 a Ft(Chapter)30 b(4:)41
-b(Shell)30 b(Builtin)h(Commands)2069 b(45)630 299 y Fs(-p)30
-b Fj(prompt)1110 408 y Ft(Displa)m(y)38 b Fq(prompt)p
-Ft(,)g(without)e(a)h(trailing)h(newline,)h(b)s(efore)d(attempting)i(to)
-1110 518 y(read)f(an)m(y)h(input.)60 b(The)37 b(prompt)g(is)g(displa)m
-(y)m(ed)h(only)f(if)g(input)g(is)g(coming)1110 628 y(from)30
-b(a)h(terminal.)630 794 y Fs(-r)384 b Ft(If)21 b(this)h(option)g(is)f
-(giv)m(en,)k(bac)m(kslash)d(do)s(es)f(not)h(act)h(as)f(an)f(escap)s(e)h
-(c)m(haracter.)1110 904 y(The)30 b(bac)m(kslash)i(is)f(considered)g(to)
-h(b)s(e)e(part)h(of)g(the)g(line.)43 b(In)30 b(particular,)i(a)1110
-1013 y(bac)m(kslash-newline)f(pair)f(ma)m(y)h(not)g(b)s(e)f(used)f(as)i
-(a)g(line)f(con)m(tin)m(uation.)630 1180 y Fs(-s)384
-b Ft(Silen)m(t)28 b(mo)s(de.)40 b(If)27 b(input)f(is)i(coming)g(from)f
-(a)h(terminal,)h(c)m(haracters)g(are)f(not)1110 1289
-y(ec)m(ho)s(ed.)630 1456 y Fs(-t)i Fj(timeout)1110 1565
-y Ft(Cause)42 b Fs(read)g Ft(to)h(time)h(out)f(and)f(return)f(failure)i
-(if)g(a)g(complete)h(line)f(of)1110 1675 y(input)26 b(is)h(not)h(read)f
-(within)f Fq(timeout)k Ft(seconds.)40 b(This)26 b(option)i(has)e(no)h
-(e\013ect)1110 1784 y(if)j Fs(read)g Ft(is)g(not)h(reading)f(input)f
-(from)h(the)h(terminal)g(or)f(a)h(pip)s(e.)630 1951 y
-Fs(-u)f Fj(fd)258 b Ft(Read)31 b(input)e(from)h(\014le)g(descriptor)h
-Fq(fd)p Ft(.)150 2117 y Fs(shopt)870 2255 y(shopt)46
-b([-pqsu])g([-o])h([)p Fj(optname)56 b Fs(...)o(])630
-2393 y Ft(T)-8 b(oggle)47 b(the)d(v)-5 b(alues)45 b(of)g(v)-5
-b(ariables)45 b(con)m(trolling)i(optional)f(shell)e(b)s(eha)m(vior.)84
-b(With)45 b(no)630 2503 y(options,)32 b(or)f(with)g(the)g(`)p
-Fs(-p)p Ft(')g(option,)h(a)g(list)f(of)h(all)g(settable)g(options)g(is)
-f(displa)m(y)m(ed,)h(with)630 2612 y(an)i(indication)i(of)f(whether)f
-(or)g(not)h(eac)m(h)h(is)e(set.)54 b(The)34 b(`)p Fs(-p)p
-Ft(')h(option)g(causes)g(output)f(to)630 2722 y(b)s(e)i(displa)m(y)m
-(ed)h(in)e(a)i(form)f(that)h(ma)m(y)g(b)s(e)e(reused)h(as)g(input.)58
-b(Other)36 b(options)g(ha)m(v)m(e)i(the)630 2832 y(follo)m(wing)32
-b(meanings:)630 2998 y Fs(-s)384 b Ft(Enable)30 b(\(set\))i(eac)m(h)f
-Fq(optname)p Ft(.)630 3164 y Fs(-u)384 b Ft(Disable)31
-b(\(unset\))g(eac)m(h)h Fq(optname)p Ft(.)630 3331 y
-Fs(-q)384 b Ft(Suppresses)28 b(normal)h(output;)h(the)g(return)e
-(status)i(indicates)h(whether)e(the)1110 3440 y Fq(optname)37
-b Ft(is)31 b(set)h(or)f(unset.)43 b(If)31 b(m)m(ultiple)h
-Fq(optname)37 b Ft(argumen)m(ts)31 b(are)h(giv)m(en)1110
-3550 y(with)43 b(`)p Fs(-q)p Ft(',)j(the)d(return)f(status)h(is)g(zero)
-h(if)f(all)g Fq(optnames)k Ft(are)d(enabled;)1110 3660
-y(non-zero)31 b(otherwise.)630 3826 y Fs(-o)384 b Ft(Restricts)42
-b(the)g(v)-5 b(alues)42 b(of)f Fq(optname)47 b Ft(to)42
-b(b)s(e)f(those)h(de\014ned)e(for)h(the)h(`)p Fs(-o)p
-Ft(')1110 3936 y(option)21 b(to)h(the)f Fs(set)f Ft(builtin)g(\(see)i
-(Section)f(4.3)h([The)e(Set)h(Builtin],)j(page)d(50\).)630
-4102 y(If)29 b(either)i(`)p Fs(-s)p Ft(')f(or)g(`)p Fs(-u)p
-Ft(')f(is)h(used)g(with)f(no)h Fq(optname)35 b Ft(argumen)m(ts,)c(the)f
-(displa)m(y)g(is)g(limited)630 4212 y(to)h(those)g(options)g(whic)m(h)f
-(are)h(set)f(or)h(unset,)f(resp)s(ectiv)m(ely)-8 b(.)630
-4350 y(Unless)30 b(otherwise)h(noted,)g(the)g Fs(shopt)d
-Ft(options)j(are)g(disabled)f(\(o\013)7 b(\))32 b(b)m(y)e(default.)630
-4488 y(The)d(return)f(status)i(when)f(listing)h(options)g(is)f(zero)i
-(if)e(all)i Fq(optnames)i Ft(are)d(enabled,)g(non-)630
-4597 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 4707
-y(unless)30 b(an)g Fq(optname)36 b Ft(is)30 b(not)h(a)g(v)-5
-b(alid)30 b(shell)h(option.)630 4845 y(The)f(list)h(of)f
-Fs(shopt)f Ft(options)i(is:)630 5011 y Fs(cdable_vars)1110
-5121 y Ft(If)j(this)h(is)g(set,)i(an)e(argumen)m(t)g(to)h(the)f
-Fs(cd)f Ft(builtin)h(command)f(that)i(is)f(not)1110 5230
-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 5340
-y(the)g(directory)f(to)i(c)m(hange)f(to.)p eop end
+(aiting)1110 1473 y(for)30 b(a)h(complete)h(line)e(of)h(input.)630
+1645 y Fs(-p)f Fj(prompt)1110 1755 y Ft(Displa)m(y)38
+b Fq(prompt)p Ft(,)g(without)e(a)h(trailing)h(newline,)h(b)s(efore)d
+(attempting)i(to)1110 1864 y(read)f(an)m(y)h(input.)60
+b(The)37 b(prompt)g(is)g(displa)m(y)m(ed)h(only)f(if)g(input)g(is)g
+(coming)1110 1974 y(from)30 b(a)h(terminal.)630 2146
+y Fs(-r)384 b Ft(If)21 b(this)h(option)g(is)f(giv)m(en,)k(bac)m(kslash)
+d(do)s(es)f(not)h(act)h(as)f(an)f(escap)s(e)h(c)m(haracter.)1110
+2256 y(The)30 b(bac)m(kslash)i(is)f(considered)g(to)h(b)s(e)e(part)h
+(of)g(the)g(line.)43 b(In)30 b(particular,)i(a)1110 2365
+y(bac)m(kslash-newline)f(pair)f(ma)m(y)h(not)g(b)s(e)f(used)f(as)i(a)g
+(line)f(con)m(tin)m(uation.)630 2538 y Fs(-s)384 b Ft(Silen)m(t)28
+b(mo)s(de.)40 b(If)27 b(input)f(is)i(coming)g(from)f(a)h(terminal,)h(c)
+m(haracters)g(are)f(not)1110 2647 y(ec)m(ho)s(ed.)630
+2819 y Fs(-t)i Fj(timeout)1110 2929 y Ft(Cause)42 b Fs(read)g
+Ft(to)h(time)h(out)f(and)f(return)f(failure)i(if)g(a)g(complete)h(line)
+f(of)1110 3039 y(input)26 b(is)h(not)h(read)f(within)f
+Fq(timeout)k Ft(seconds.)40 b(This)26 b(option)i(has)e(no)h(e\013ect)
+1110 3148 y(if)j Fs(read)g Ft(is)g(not)h(reading)f(input)f(from)h(the)h
+(terminal)g(or)f(a)h(pip)s(e.)630 3320 y Fs(-u)f Fj(fd)258
+b Ft(Read)31 b(input)e(from)h(\014le)g(descriptor)h Fq(fd)p
+Ft(.)150 3493 y Fs(shopt)870 3634 y(shopt)46 b([-pqsu])g([-o])h([)p
+Fj(optname)56 b Fs(...)o(])630 3774 y Ft(T)-8 b(oggle)47
+b(the)d(v)-5 b(alues)45 b(of)g(v)-5 b(ariables)45 b(con)m(trolling)i
+(optional)f(shell)e(b)s(eha)m(vior.)84 b(With)45 b(no)630
+3884 y(options,)32 b(or)f(with)g(the)g(`)p Fs(-p)p Ft(')g(option,)h(a)g
+(list)f(of)h(all)g(settable)g(options)g(is)f(displa)m(y)m(ed,)h(with)
+630 3994 y(an)i(indication)i(of)f(whether)f(or)g(not)h(eac)m(h)h(is)e
+(set.)54 b(The)34 b(`)p Fs(-p)p Ft(')h(option)g(causes)g(output)f(to)
+630 4103 y(b)s(e)i(displa)m(y)m(ed)h(in)e(a)i(form)f(that)h(ma)m(y)g(b)
+s(e)e(reused)h(as)g(input.)58 b(Other)36 b(options)g(ha)m(v)m(e)i(the)
+630 4213 y(follo)m(wing)32 b(meanings:)630 4385 y Fs(-s)384
+b Ft(Enable)30 b(\(set\))i(eac)m(h)f Fq(optname)p Ft(.)630
+4557 y Fs(-u)384 b Ft(Disable)31 b(\(unset\))g(eac)m(h)h
+Fq(optname)p Ft(.)630 4729 y Fs(-q)384 b Ft(Suppresses)28
+b(normal)h(output;)h(the)g(return)e(status)i(indicates)h(whether)e(the)
+1110 4839 y Fq(optname)37 b Ft(is)31 b(set)h(or)f(unset.)43
+b(If)31 b(m)m(ultiple)h Fq(optname)37 b Ft(argumen)m(ts)31
+b(are)h(giv)m(en)1110 4949 y(with)43 b(`)p Fs(-q)p Ft(',)j(the)d
+(return)f(status)h(is)g(zero)h(if)f(all)g Fq(optnames)k
+Ft(are)d(enabled;)1110 5058 y(non-zero)31 b(otherwise.)630
+5230 y Fs(-o)384 b Ft(Restricts)42 b(the)g(v)-5 b(alues)42
+b(of)f Fq(optname)47 b Ft(to)42 b(b)s(e)f(those)h(de\014ned)e(for)h
+(the)h(`)p Fs(-o)p Ft(')1110 5340 y(option)21 b(to)h(the)f
+Fs(set)f Ft(builtin)g(\(see)i(Section)f(4.3)h([The)e(Set)h(Builtin],)j
+(page)d(51\).)p eop end
 %%Page: 46 52
 TeXDict begin 46 51 bop 150 -116 a Ft(46)2572 b(Bash)31
-b(Reference)g(Man)m(ual)630 299 y Fs(cdspell)144 b Ft(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 Fs(cd)1110 408 y Ft(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 518 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 628 y(correction)25 b(is)e(found,)g(the)h
-(corrected)g(path)f(is)g(prin)m(ted,)h(and)f(the)g(command)1110
-737 y(pro)s(ceeds.)40 b(This)30 b(option)h(is)f(only)h(used)e(b)m(y)h
-(in)m(teractiv)m(e)k(shells.)630 891 y Fs(checkhash)1110
-1000 y Ft(If)29 b(this)h(is)g(set,)g(Bash)g(c)m(hec)m(ks)h(that)g(a)f
-(command)f(found)g(in)g(the)h(hash)f(table)1110 1110
+b(Reference)g(Man)m(ual)630 299 y(If)e(either)i(`)p Fs(-s)p
+Ft(')f(or)g(`)p Fs(-u)p Ft(')f(is)h(used)g(with)f(no)h
+Fq(optname)35 b Ft(argumen)m(ts,)c(the)f(displa)m(y)g(is)g(limited)630
+408 y(to)h(those)g(options)g(whic)m(h)f(are)h(set)f(or)h(unset,)f(resp)
+s(ectiv)m(ely)-8 b(.)630 542 y(Unless)30 b(otherwise)h(noted,)g(the)g
+Fs(shopt)d Ft(options)j(are)g(disabled)f(\(o\013)7 b(\))32
+b(b)m(y)e(default.)630 675 y(The)d(return)f(status)i(when)f(listing)h
+(options)g(is)f(zero)i(if)e(all)i Fq(optnames)i Ft(are)d(enabled,)g
+(non-)630 785 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
+894 y(unless)30 b(an)g Fq(optname)36 b Ft(is)30 b(not)h(a)g(v)-5
+b(alid)30 b(shell)h(option.)630 1028 y(The)f(list)h(of)f
+Fs(shopt)f Ft(options)i(is:)630 1185 y Fs(cdable_vars)1110
+1295 y Ft(If)j(this)h(is)g(set,)i(an)e(argumen)m(t)g(to)h(the)f
+Fs(cd)f Ft(builtin)h(command)f(that)i(is)f(not)1110 1404
+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 1514
+y(the)g(directory)f(to)i(c)m(hange)f(to.)630 1671 y Fs(cdspell)144
+b Ft(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 Fs(cd)1110 1781
+y Ft(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
+1890 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 2000 y(correction)25 b(is)e(found,)g(the)h(corrected)g
+(path)f(is)g(prin)m(ted,)h(and)f(the)g(command)1110 2109
+y(pro)s(ceeds.)40 b(This)30 b(option)h(is)f(only)h(used)e(b)m(y)h(in)m
+(teractiv)m(e)k(shells.)630 2267 y Fs(checkhash)1110
+2376 y Ft(If)29 b(this)h(is)g(set,)g(Bash)g(c)m(hec)m(ks)h(that)g(a)f
+(command)f(found)g(in)g(the)h(hash)f(table)1110 2486
 y(exists)k(b)s(efore)f(trying)h(to)h(execute)g(it.)48
-b(If)32 b(a)h(hashed)e(command)i(no)f(longer)1110 1219
+b(If)32 b(a)h(hashed)e(command)i(no)f(longer)1110 2595
 y(exists,)f(a)g(normal)f(path)g(searc)m(h)h(is)g(p)s(erformed.)630
-1373 y Fs(checkwinsize)1110 1482 y Ft(If)41 b(set,)k(Bash)c(c)m(hec)m
+2753 y Fs(checkwinsize)1110 2862 y Ft(If)41 b(set,)k(Bash)c(c)m(hec)m
 (ks)i(the)f(windo)m(w)e(size)j(after)f(eac)m(h)g(command)f(and,)j(if)
-1110 1592 y(necessary)-8 b(,)31 b(up)s(dates)f(the)g(v)-5
+1110 2972 y(necessary)-8 b(,)31 b(up)s(dates)f(the)g(v)-5
 b(alues)31 b(of)g Fs(LINES)e Ft(and)g Fs(COLUMNS)p Ft(.)630
-1745 y Fs(cmdhist)144 b Ft(If)33 b(set,)j(Bash)e(attempts)h(to)g(sa)m
+3129 y Fs(cmdhist)144 b Ft(If)33 b(set,)j(Bash)e(attempts)h(to)g(sa)m
 (v)m(e)g(all)g(lines)f(of)g(a)h(m)m(ultiple-line)g(command)1110
-1855 y(in)c(the)g(same)g(history)g(en)m(try)-8 b(.)42
+3239 y(in)c(the)g(same)g(history)g(en)m(try)-8 b(.)42
 b(This)30 b(allo)m(ws)i(easy)g(re-editing)g(of)f(m)m(ulti-line)1110
-1965 y(commands.)630 2118 y Fs(dotglob)144 b Ft(If)27
+3348 y(commands.)630 3506 y Fs(dotglob)144 b Ft(If)27
 b(set,)i(Bash)f(includes)g(\014lenames)g(b)s(eginning)f(with)g(a)h(`.')
-41 b(in)27 b(the)h(results)g(of)1110 2228 y(\014lename)j(expansion.)630
-2381 y Fs(execfail)96 b Ft(If)24 b(this)h(is)f(set,)j(a)e(non-in)m
+41 b(in)27 b(the)h(results)g(of)1110 3615 y(\014lename)j(expansion.)630
+3772 y Fs(execfail)96 b Ft(If)24 b(this)h(is)f(set,)j(a)e(non-in)m
 (teractiv)m(e)i(shell)e(will)f(not)h(exit)h(if)e(it)h(cannot)h(execute)
-1110 2491 y(the)i(\014le)g(sp)s(eci\014ed)g(as)g(an)g(argumen)m(t)g(to)
+1110 3882 y(the)i(\014le)g(sp)s(eci\014ed)g(as)g(an)g(argumen)m(t)g(to)
 h(the)f Fs(exec)f Ft(builtin)h(command.)39 b(An)1110
-2600 y(in)m(teractiv)m(e)33 b(shell)e(do)s(es)f(not)g(exit)i(if)e
-Fs(exec)f Ft(fails.)630 2754 y Fs(expand_aliases)1110
-2863 y Ft(If)j(set,)h(aliases)g(are)g(expanded)e(as)h(describ)s(ed)f(b)
-s(elo)m(w)h(under)f(Aliases,)i(Sec-)1110 2973 y(tion)38
+3992 y(in)m(teractiv)m(e)33 b(shell)e(do)s(es)f(not)g(exit)i(if)e
+Fs(exec)f Ft(fails.)630 4149 y Fs(expand_aliases)1110
+4258 y Ft(If)j(set,)h(aliases)g(are)g(expanded)e(as)h(describ)s(ed)f(b)
+s(elo)m(w)h(under)f(Aliases,)i(Sec-)1110 4368 y(tion)38
 b(6.6)h([Aliases],)j(page)d(73.)64 b(This)37 b(option)h(is)g(enabled)g
-(b)m(y)g(default)g(for)1110 3082 y(in)m(teractiv)m(e)33
-b(shells.)630 3236 y Fs(extdebug)96 b Ft(If)30 b(set,)h(b)s(eha)m(vior)
+(b)m(y)g(default)g(for)1110 4478 y(in)m(teractiv)m(e)33
+b(shells.)630 4635 y Fs(extdebug)96 b Ft(If)30 b(set,)h(b)s(eha)m(vior)
 g(in)m(tended)f(for)g(use)g(b)m(y)g(debuggers)g(is)h(enabled:)1159
-3367 y(1.)61 b(The)32 b(`)p Fs(-F)p Ft(')g(option)h(to)g(the)g
+4768 y(1.)61 b(The)32 b(`)p Fs(-F)p Ft(')g(option)h(to)g(the)g
 Fs(declare)d Ft(builtin)i(\(see)i(Section)f(4.2)h([Bash)1290
-3477 y(Builtins],)29 b(page)g(39\))g(displa)m(ys)f(the)g(source)h
-(\014le)f(name)g(and)f(line)h(n)m(um-)1290 3587 y(b)s(er)h(corresp)s
+4878 y(Builtins],)29 b(page)g(39\))g(displa)m(ys)f(the)g(source)h
+(\014le)f(name)g(and)f(line)h(n)m(um-)1290 4987 y(b)s(er)h(corresp)s
 (onding)g(to)i(eac)m(h)g(function)f(name)g(supplied)f(as)i(an)f(argu-)
-1290 3696 y(men)m(t.)1159 3828 y(2.)61 b(If)20 b(the)h(command)g(run)e
+1290 5097 y(men)m(t.)1159 5230 y(2.)61 b(If)20 b(the)h(command)g(run)e
 (b)m(y)i(the)f Fs(DEBUG)g Ft(trap)g(returns)g(a)h(non-zero)g(v)-5
-b(alue,)1290 3937 y(the)31 b(next)f(command)g(is)h(skipp)s(ed)e(and)g
-(not)i(executed.)1159 4069 y(3.)61 b(If)37 b(the)g(command)g(run)f(b)m
-(y)i(the)f Fs(DEBUG)f Ft(trap)h(returns)f(a)i(v)-5 b(alue)38
-b(of)f(2,)1290 4178 y(and)c(the)g(shell)h(is)f(executing)i(in)e(a)h
-(subroutine)e(\(a)i(shell)g(function)f(or)1290 4288 y(a)h(shell)h
-(script)f(executed)h(b)m(y)f(the)g Fs(.)g Ft(or)g Fs(source)e
-Ft(builtins\),)j(a)g(call)g(to)1290 4398 y Fs(return)29
-b Ft(is)h(sim)m(ulated.)1159 4529 y(4.)61 b Fs(BASH_ARGC)34
-b Ft(and)i Fs(BASH_ARGV)e Ft(are)j(up)s(dated)e(as)h(describ)s(ed)g(in)
-g(their)1290 4639 y(descriptions)30 b(\(see)i(Section)f(5.2)g([Bash)g
-(V)-8 b(ariables],)32 b(page)f(55\).)1159 4770 y(5.)61
-b(F)-8 b(unction)57 b(tracing)g(is)g(enabled:)93 b(command)56
-b(substitution,)63 b(shell)1290 4880 y(functions,)30
+b(alue,)1290 5340 y(the)31 b(next)f(command)g(is)h(skipp)s(ed)e(and)g
+(not)i(executed.)p eop end
+%%Page: 47 53
+TeXDict begin 47 52 bop 150 -116 a Ft(Chapter)30 b(4:)41
+b(Shell)30 b(Builtin)h(Commands)2069 b(47)1159 299 y(3.)61
+b(If)37 b(the)g(command)g(run)f(b)m(y)i(the)f Fs(DEBUG)f
+Ft(trap)h(returns)f(a)i(v)-5 b(alue)38 b(of)f(2,)1290
+408 y(and)c(the)g(shell)h(is)f(executing)i(in)e(a)h(subroutine)e(\(a)i
+(shell)g(function)f(or)1290 518 y(a)h(shell)h(script)f(executed)h(b)m
+(y)f(the)g Fs(.)g Ft(or)g Fs(source)e Ft(builtins\),)j(a)g(call)g(to)
+1290 628 y Fs(return)29 b Ft(is)h(sim)m(ulated.)1159
+758 y(4.)61 b Fs(BASH_ARGC)34 b Ft(and)i Fs(BASH_ARGV)e
+Ft(are)j(up)s(dated)e(as)h(describ)s(ed)g(in)g(their)1290
+868 y(descriptions)30 b(\(see)i(Section)f(5.2)g([Bash)g(V)-8
+b(ariables],)32 b(page)f(55\).)1159 998 y(5.)61 b(F)-8
+b(unction)57 b(tracing)g(is)g(enabled:)93 b(command)56
+b(substitution,)63 b(shell)1290 1108 y(functions,)30
 b(and)f(subshells)g(in)m(v)m(ok)m(ed)j(with)d Fs(\()h
-Fj(command)39 b Fs(\))30 b Ft(inherit)g(the)1290 4989
-y Fs(DEBUG)f Ft(and)h Fs(RETURN)e Ft(traps.)1159 5121
+Fj(command)39 b Fs(\))30 b Ft(inherit)g(the)1290 1217
+y Fs(DEBUG)f Ft(and)h Fs(RETURN)e Ft(traps.)1159 1348
 y(6.)61 b(Error)74 b(tracing)i(is)f(enabled:)131 b(command)74
-b(substitution,)87 b(shell)1290 5230 y(functions,)30
+b(substitution,)87 b(shell)1290 1457 y(functions,)30
 b(and)f(subshells)g(in)m(v)m(ok)m(ed)j(with)d Fs(\()h
-Fj(command)39 b Fs(\))30 b Ft(inherit)g(the)1290 5340
-y Fs(ERROR)f Ft(trap.)p eop end
-%%Page: 47 53
-TeXDict begin 47 52 bop 150 -116 a Ft(Chapter)30 b(4:)41
-b(Shell)30 b(Builtin)h(Commands)2069 b(47)630 299 y Fs(extglob)144
-b Ft(If)26 b(set,)i(the)f(extended)f(pattern)h(matc)m(hing)g(features)g
-(describ)s(ed)e(ab)s(o)m(v)m(e)j(\(see)1110 408 y(Section)j(3.5.8.1)i
-([P)m(attern)f(Matc)m(hing],)g(page)f(23\))h(are)f(enabled.)630
-558 y Fs(extquote)96 b Ft(If)49 b(set,)54 b Fs($')p Fj(string)11
-b Fs(')46 b Ft(and)j Fs($")p Fj(string)11 b Fs(")46 b
-Ft(quoting)k(is)f(p)s(erformed)e(within)1110 667 y Fs(${)p
-Fj(parameter)11 b Fs(})30 b Ft(expansions)j(enclosed)h(in)g(double)f
-(quotes.)51 b(This)32 b(option)1110 777 y(is)e(enabled)h(b)m(y)f
-(default.)630 927 y Fs(failglob)96 b Ft(If)30 b(set,)g(patterns)g(whic)
-m(h)g(fail)h(to)g(matc)m(h)g(\014lenames)f(during)e(pathname)i(ex-)1110
-1036 y(pansion)g(result)g(in)g(an)g(expansion)h(error.)630
-1186 y Fs(force_fignore)1110 1295 y Ft(If)43 b(set,)k(the)d(su\016xes)f
-(sp)s(eci\014ed)f(b)m(y)i(the)f Fs(FIGNORE)f Ft(shell)h(v)-5
-b(ariable)44 b(cause)1110 1405 y(w)m(ords)31 b(to)h(b)s(e)f(ignored)h
-(when)f(p)s(erforming)f(w)m(ord)h(completion)i(ev)m(en)f(if)g(the)1110
-1514 y(ignored)37 b(w)m(ords)g(are)g(the)h(only)f(p)s(ossible)g
-(completions.)62 b(See)37 b(Section)h(5.2)1110 1624 y([Bash)24
-b(V)-8 b(ariables],)27 b(page)e(55,)h(for)d(a)h(description)g(of)g
-Fs(FIGNORE)p Ft(.)37 b(This)22 b(option)1110 1733 y(is)30
-b(enabled)h(b)m(y)f(default.)630 1883 y Fs(gnu_errfmt)1110
-1993 y Ft(If)35 b(set,)j(shell)e(error)g(messages)g(are)h(written)e(in)
-h(the)g(standard)f Fl(gnu)g Ft(error)1110 2102 y(message)c(format.)630
-2252 y Fs(histappend)1110 2361 y Ft(If)c(set,)j(the)e(history)g(list)g
+Fj(command)39 b Fs(\))30 b Ft(inherit)g(the)1290 1567
+y Fs(ERROR)f Ft(trap.)630 1718 y Fs(extglob)144 b Ft(If)26
+b(set,)i(the)f(extended)f(pattern)h(matc)m(hing)g(features)g(describ)s
+(ed)e(ab)s(o)m(v)m(e)j(\(see)1110 1828 y(Section)j(3.5.8.1)i([P)m
+(attern)f(Matc)m(hing],)g(page)f(23\))h(are)f(enabled.)630
+1979 y Fs(extquote)96 b Ft(If)49 b(set,)54 b Fs($')p
+Fj(string)11 b Fs(')46 b Ft(and)j Fs($")p Fj(string)11
+b Fs(")46 b Ft(quoting)k(is)f(p)s(erformed)e(within)1110
+2089 y Fs(${)p Fj(parameter)11 b Fs(})30 b Ft(expansions)j(enclosed)h
+(in)g(double)f(quotes.)51 b(This)32 b(option)1110 2198
+y(is)e(enabled)h(b)m(y)f(default.)630 2350 y Fs(failglob)96
+b Ft(If)30 b(set,)g(patterns)g(whic)m(h)g(fail)h(to)g(matc)m(h)g
+(\014lenames)f(during)e(pathname)i(ex-)1110 2459 y(pansion)g(result)g
+(in)g(an)g(expansion)h(error.)630 2611 y Fs(force_fignore)1110
+2720 y Ft(If)43 b(set,)k(the)d(su\016xes)f(sp)s(eci\014ed)f(b)m(y)i
+(the)f Fs(FIGNORE)f Ft(shell)h(v)-5 b(ariable)44 b(cause)1110
+2830 y(w)m(ords)31 b(to)h(b)s(e)f(ignored)h(when)f(p)s(erforming)f(w)m
+(ord)h(completion)i(ev)m(en)f(if)g(the)1110 2939 y(ignored)37
+b(w)m(ords)g(are)g(the)h(only)f(p)s(ossible)g(completions.)62
+b(See)37 b(Section)h(5.2)1110 3049 y([Bash)24 b(V)-8
+b(ariables],)27 b(page)e(55,)h(for)d(a)h(description)g(of)g
+Fs(FIGNORE)p Ft(.)37 b(This)22 b(option)1110 3159 y(is)30
+b(enabled)h(b)m(y)f(default.)630 3310 y Fs(gnu_errfmt)1110
+3420 y Ft(If)35 b(set,)j(shell)e(error)g(messages)g(are)h(written)e(in)
+h(the)g(standard)f Fl(gnu)g Ft(error)1110 3529 y(message)c(format.)630
+3680 y Fs(histappend)1110 3790 y Ft(If)c(set,)j(the)e(history)g(list)g
 (is)g(app)s(ended)e(to)j(the)f(\014le)g(named)f(b)m(y)h(the)g(v)-5
-b(alue)29 b(of)1110 2471 y(the)d Fs(HISTFILE)d Ft(v)-5
+b(alue)29 b(of)1110 3900 y(the)d Fs(HISTFILE)d Ft(v)-5
 b(ariable)26 b(when)e(the)h(shell)h(exits,)h(rather)e(than)h(o)m(v)m
-(erwriting)1110 2580 y(the)31 b(\014le.)630 2730 y Fs(histreedit)1110
-2839 y Ft(If)i(set,)h(and)f(Readline)h(is)f(b)s(eing)g(used,)g(a)g
+(erwriting)1110 4009 y(the)31 b(\014le.)630 4161 y Fs(histreedit)1110
+4270 y Ft(If)i(set,)h(and)f(Readline)h(is)f(b)s(eing)g(used,)g(a)g
 (user)g(is)g(giv)m(en)h(the)g(opp)s(ortunit)m(y)1110
-2949 y(to)d(re-edit)g(a)g(failed)g(history)f(substitution.)630
-3098 y Fs(histverify)1110 3208 y Ft(If)35 b(set,)i(and)e(Readline)h(is)
+4380 y(to)d(re-edit)g(a)g(failed)g(history)f(substitution.)630
+4531 y Fs(histverify)1110 4641 y Ft(If)35 b(set,)i(and)e(Readline)h(is)
 f(b)s(eing)g(used,)h(the)f(results)g(of)g(history)h(substitu-)1110
-3318 y(tion)h(are)g(not)g(immediately)h(passed)e(to)h(the)g(shell)g
-(parser.)59 b(Instead,)38 b(the)1110 3427 y(resulting)i(line)f(is)h
+4750 y(tion)h(are)g(not)g(immediately)h(passed)e(to)h(the)g(shell)g
+(parser.)59 b(Instead,)38 b(the)1110 4860 y(resulting)i(line)f(is)h
 (loaded)g(in)m(to)g(the)g(Readline)g(editing)g(bu\013er,)h(allo)m(wing)
-1110 3537 y(further)29 b(mo)s(di\014cation.)630 3686
-y Fs(hostcomplete)1110 3796 y Ft(If)38 b(set,)j(and)c(Readline)i(is)f
+1110 4969 y(further)29 b(mo)s(di\014cation.)630 5121
+y Fs(hostcomplete)1110 5230 y Ft(If)38 b(set,)j(and)c(Readline)i(is)f
 (b)s(eing)g(used,)h(Bash)g(will)f(attempt)h(to)g(p)s(erform)1110
-3905 y(hostname)d(completion)h(when)e(a)h(w)m(ord)f(con)m(taining)i(a)f
-(`)p Fs(@)p Ft(')g(is)g(b)s(eing)f(com-)1110 4015 y(pleted)g(\(see)h
-(Section)f(8.4.6)i([Commands)d(F)-8 b(or)36 b(Completion],)g(page)g
-(103\).)1110 4125 y(This)30 b(option)g(is)h(enabled)f(b)m(y)g(default.)
-630 4274 y Fs(huponexit)1110 4384 y Ft(If)i(set,)i(Bash)f(will)h(send)d
+5340 y(hostname)d(completion)h(when)e(a)h(w)m(ord)f(con)m(taining)i(a)f
+(`)p Fs(@)p Ft(')g(is)g(b)s(eing)f(com-)p eop end
+%%Page: 48 54
+TeXDict begin 48 53 bop 150 -116 a Ft(48)2572 b(Bash)31
+b(Reference)g(Man)m(ual)1110 299 y(pleted)k(\(see)h(Section)f(8.4.6)i
+([Commands)d(F)-8 b(or)36 b(Completion],)g(page)g(103\).)1110
+408 y(This)30 b(option)g(is)h(enabled)f(b)m(y)g(default.)630
+564 y Fs(huponexit)1110 673 y Ft(If)i(set,)i(Bash)f(will)h(send)d
 Fs(SIGHUP)h Ft(to)h(all)h(jobs)e(when)g(an)g(in)m(teractiv)m(e)k(login)
-1110 4493 y(shell)31 b(exits)g(\(see)g(Section)g(3.7.6)h([Signals],)g
-(page)f(31\).)630 4643 y Fs(interactive_comments)1110
-4752 y Ft(Allo)m(w)c(a)g(w)m(ord)e(b)s(eginning)g(with)h(`)p
+1110 783 y(shell)31 b(exits)g(\(see)g(Section)g(3.7.6)h([Signals],)g
+(page)f(31\).)630 938 y Fs(interactive_comments)1110
+1048 y Ft(Allo)m(w)c(a)g(w)m(ord)e(b)s(eginning)g(with)h(`)p
 Fs(#)p Ft(')g(to)h(cause)f(that)h(w)m(ord)f(and)f(all)i(remain-)1110
-4862 y(ing)41 b(c)m(haracters)i(on)e(that)h(line)g(to)g(b)s(e)f
+1157 y(ing)41 b(c)m(haracters)i(on)e(that)h(line)g(to)g(b)s(e)f
 (ignored)g(in)g(an)g(in)m(teractiv)m(e)j(shell.)1110
-4971 y(This)30 b(option)g(is)h(enabled)f(b)m(y)g(default.)630
-5121 y Fs(lithist)144 b Ft(If)22 b(enabled,)i(and)d(the)h
+1267 y(This)30 b(option)g(is)h(enabled)f(b)m(y)g(default.)630
+1422 y Fs(lithist)144 b Ft(If)22 b(enabled,)i(and)d(the)h
 Fs(cmdhist)e Ft(option)j(is)f(enabled,)i(m)m(ulti-line)f(commands)1110
-5230 y(are)28 b(sa)m(v)m(ed)h(to)g(the)f(history)g(with)f(em)m(b)s
-(edded)g(newlines)h(rather)g(than)f(using)1110 5340 y(semicolon)32
-b(separators)f(where)e(p)s(ossible.)p eop end
-%%Page: 48 54
-TeXDict begin 48 53 bop 150 -116 a Ft(48)2572 b(Bash)31
-b(Reference)g(Man)m(ual)630 299 y Fs(login_shell)1110
-408 y Ft(The)k(shell)h(sets)g(this)f(option)h(if)g(it)g(is)f(started)h
-(as)g(a)g(login)g(shell)g(\(see)g(Sec-)1110 518 y(tion)29
-b(6.1)g([In)m(v)m(oking)h(Bash],)f(page)g(65\).)41 b(The)28
-b(v)-5 b(alue)29 b(ma)m(y)g(not)f(b)s(e)g(c)m(hanged.)630
-677 y Fs(mailwarn)96 b Ft(If)34 b(set,)i(and)e(a)h(\014le)g(that)g
+1532 y(are)28 b(sa)m(v)m(ed)h(to)g(the)f(history)g(with)f(em)m(b)s
+(edded)g(newlines)h(rather)g(than)f(using)1110 1641 y(semicolon)32
+b(separators)f(where)e(p)s(ossible.)630 1797 y Fs(login_shell)1110
+1906 y Ft(The)35 b(shell)h(sets)g(this)f(option)h(if)g(it)g(is)f
+(started)h(as)g(a)g(login)g(shell)g(\(see)g(Sec-)1110
+2016 y(tion)29 b(6.1)g([In)m(v)m(oking)h(Bash],)f(page)g(65\).)41
+b(The)28 b(v)-5 b(alue)29 b(ma)m(y)g(not)f(b)s(e)g(c)m(hanged.)630
+2171 y Fs(mailwarn)96 b Ft(If)34 b(set,)i(and)e(a)h(\014le)g(that)g
 (Bash)f(is)h(c)m(hec)m(king)h(for)f(mail)g(has)f(b)s(een)g(accessed)
-1110 787 y(since)24 b(the)h(last)g(time)f(it)h(w)m(as)f(c)m(hec)m(k)m
+1110 2281 y(since)24 b(the)h(last)g(time)f(it)h(w)m(as)f(c)m(hec)m(k)m
 (ed,)k(the)c(message)h Fs("The)k(mail)h(in)f Fj(mail-)1110
-897 y(file)40 b Fs(has)29 b(been)g(read")g Ft(is)i(displa)m(y)m(ed.)630
-1056 y Fs(no_empty_cmd_completion)1110 1166 y Ft(If)f(set,)g(and)g
+2390 y(file)40 b Fs(has)29 b(been)g(read")g Ft(is)i(displa)m(y)m(ed.)
+630 2545 y Fs(no_empty_cmd_completion)1110 2655 y Ft(If)f(set,)g(and)g
 (Readline)g(is)h(b)s(eing)e(used,)h(Bash)g(will)g(not)g(attempt)i(to)e
-(searc)m(h)1110 1275 y(the)25 b Fs(PATH)f Ft(for)h(p)s(ossible)f
+(searc)m(h)1110 2765 y(the)25 b Fs(PATH)f Ft(for)h(p)s(ossible)f
 (completions)j(when)d(completion)i(is)f(attempted)h(on)1110
-1385 y(an)k(empt)m(y)h(line.)630 1544 y Fs(nocaseglob)1110
-1654 y Ft(If)38 b(set,)k(Bash)d(matc)m(hes)g(\014lenames)g(in)f(a)h
-(case-insensitiv)m(e)j(fashion)c(when)1110 1763 y(p)s(erforming)29
-b(\014lename)i(expansion.)630 1923 y Fs(nocasematch)1110
-2032 y Ft(If)42 b(set,)k(Bash)d(matc)m(hes)g(patterns)g(in)f(a)h
-(case-insensitiv)m(e)i(fashion)d(when)1110 2142 y(p)s(erforming)31
+2874 y(an)k(empt)m(y)h(line.)630 3029 y Fs(nocaseglob)1110
+3139 y Ft(If)38 b(set,)k(Bash)d(matc)m(hes)g(\014lenames)g(in)f(a)h
+(case-insensitiv)m(e)j(fashion)c(when)1110 3249 y(p)s(erforming)29
+b(\014lename)i(expansion.)630 3404 y Fs(nocasematch)1110
+3513 y Ft(If)42 b(set,)k(Bash)d(matc)m(hes)g(patterns)g(in)f(a)h
+(case-insensitiv)m(e)i(fashion)d(when)1110 3623 y(p)s(erforming)31
 b(matc)m(hing)i(while)f(executing)i Fs(case)d Ft(or)h
-Fs([[)g Ft(conditional)h(com-)1110 2252 y(mands.)630
-2411 y Fs(nullglob)96 b Ft(If)23 b(set,)j(Bash)e(allo)m(ws)g
+Fs([[)g Ft(conditional)h(com-)1110 3733 y(mands.)630
+3888 y Fs(nullglob)96 b Ft(If)23 b(set,)j(Bash)e(allo)m(ws)g
 (\014lename)g(patterns)g(whic)m(h)f(matc)m(h)h(no)g(\014les)f(to)i
-(expand)1110 2521 y(to)31 b(a)g(n)m(ull)f(string,)h(rather)f(than)g
-(themselv)m(es.)630 2680 y Fs(progcomp)96 b Ft(If)25
+(expand)1110 3998 y(to)31 b(a)g(n)m(ull)f(string,)h(rather)f(than)g
+(themselv)m(es.)630 4153 y Fs(progcomp)96 b Ft(If)25
 b(set,)i(the)f(programmable)g(completion)g(facilities)i(\(see)f
-(Section)f(8.6)h([Pro-)1110 2790 y(grammable)45 b(Completion],)k(page)c
+(Section)f(8.6)h([Pro-)1110 4262 y(grammable)45 b(Completion],)k(page)c
 (107\))h(are)f(enabled.)82 b(This)44 b(option)h(is)1110
-2899 y(enabled)30 b(b)m(y)h(default.)630 3059 y Fs(promptvars)1110
-3168 y Ft(If)24 b(set,)i(prompt)d(strings)h(undergo)f(parameter)i
-(expansion,)g(command)f(sub-)1110 3278 y(stitution,)34
+4372 y(enabled)30 b(b)m(y)h(default.)630 4527 y Fs(promptvars)1110
+4637 y Ft(If)24 b(set,)i(prompt)d(strings)h(undergo)f(parameter)i
+(expansion,)g(command)f(sub-)1110 4746 y(stitution,)34
 b(arithmetic)f(expansion,)g(and)e(quote)i(remo)m(v)-5
-b(al)33 b(after)g(b)s(eing)e(ex-)1110 3387 y(panded)39
+b(al)33 b(after)g(b)s(eing)e(ex-)1110 4856 y(panded)39
 b(as)i(describ)s(ed)e(b)s(elo)m(w)i(\(see)g(Section)g(6.9)g([Prin)m
-(ting)g(a)g(Prompt],)1110 3497 y(page)31 b(77\).)42 b(This)30
-b(option)g(is)h(enabled)f(b)m(y)g(default.)630 3656 y
-Fs(restricted_shell)1110 3766 y Ft(The)40 b(shell)h(sets)g(this)g
+(ting)g(a)g(Prompt],)1110 4966 y(page)31 b(77\).)42 b(This)30
+b(option)g(is)h(enabled)f(b)m(y)g(default.)630 5121 y
+Fs(restricted_shell)1110 5230 y Ft(The)40 b(shell)h(sets)g(this)g
 (option)g(if)g(it)h(is)e(started)i(in)e(restricted)i(mo)s(de)e(\(see)
-1110 3875 y(Section)c(6.10)g([The)f(Restricted)g(Shell],)i(page)e
-(78\).)56 b(The)34 b(v)-5 b(alue)35 b(ma)m(y)h(not)1110
-3985 y(b)s(e)c(c)m(hanged.)49 b(This)32 b(is)h(not)h(reset)f(when)f
-(the)h(startup)g(\014les)f(are)i(executed,)1110 4095
-y(allo)m(wing)k(the)e(startup)f(\014les)h(to)g(disco)m(v)m(er)h
-(whether)f(or)f(not)i(a)f(shell)g(is)g(re-)1110 4204
-y(stricted.)630 4364 y Fs(shift_verbose)1110 4473 y Ft(If)g(this)g(is)g
-(set,)j(the)d Fs(shift)f Ft(builtin)h(prin)m(ts)f(an)h(error)g(message)
-i(when)d(the)1110 4583 y(shift)30 b(coun)m(t)h(exceeds)g(the)g(n)m(um)m
-(b)s(er)e(of)h(p)s(ositional)i(parameters.)630 4742 y
-Fs(sourcepath)1110 4852 y Ft(If)22 b(set,)j(the)e Fs(source)e
-Ft(builtin)h(uses)g(the)h(v)-5 b(alue)23 b(of)g Fs(PATH)e
-Ft(to)j(\014nd)d(the)h(directory)1110 4961 y(con)m(taining)29
-b(the)e(\014le)h(supplied)e(as)h(an)g(argumen)m(t.)40
-b(This)27 b(option)h(is)f(enabled)1110 5071 y(b)m(y)j(default.)630
-5230 y Fs(xpg_echo)96 b Ft(If)31 b(set,)h(the)g Fs(echo)e
-Ft(builtin)h(expands)f(bac)m(kslash-escap)s(e)j(sequences)f(b)m(y)f
-(de-)1110 5340 y(fault.)p eop end
+1110 5340 y(Section)c(6.10)g([The)f(Restricted)g(Shell],)i(page)e
+(78\).)56 b(The)34 b(v)-5 b(alue)35 b(ma)m(y)h(not)p
+eop end
 %%Page: 49 55
 TeXDict begin 49 54 bop 150 -116 a Ft(Chapter)30 b(4:)41
-b(Shell)30 b(Builtin)h(Commands)2069 b(49)630 299 y(The)27
-b(return)f(status)i(when)f(listing)h(options)g(is)f(zero)i(if)e(all)i
-Fq(optnames)i Ft(are)d(enabled,)g(non-)630 408 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 518 y(unless)30 b(an)g
-Fq(optname)36 b Ft(is)30 b(not)h(a)g(v)-5 b(alid)30 b(shell)h(option.)
-150 677 y Fs(source)870 811 y(source)46 b Fj(filename)630
-946 y Ft(A)30 b(synon)m(ym)g(for)g Fs(.)g Ft(\(see)i(Section)f(4.1)g
-([Bourne)g(Shell)f(Builtins],)h(page)g(33\).)150 1105
-y Fs(type)870 1239 y(type)47 b([-afptP])e([)p Fj(name)57
-b Fs(...)o(])630 1374 y Ft(F)-8 b(or)42 b(eac)m(h)g Fq(name)p
+b(Shell)30 b(Builtin)h(Commands)2069 b(49)1110 299 y(b)s(e)32
+b(c)m(hanged.)49 b(This)32 b(is)h(not)h(reset)f(when)f(the)h(startup)g
+(\014les)f(are)i(executed,)1110 408 y(allo)m(wing)k(the)e(startup)f
+(\014les)h(to)g(disco)m(v)m(er)h(whether)f(or)f(not)i(a)f(shell)g(is)g
+(re-)1110 518 y(stricted.)630 689 y Fs(shift_verbose)1110
+799 y Ft(If)g(this)g(is)g(set,)j(the)d Fs(shift)f Ft(builtin)h(prin)m
+(ts)f(an)h(error)g(message)i(when)d(the)1110 908 y(shift)30
+b(coun)m(t)h(exceeds)g(the)g(n)m(um)m(b)s(er)e(of)h(p)s(ositional)i
+(parameters.)630 1079 y Fs(sourcepath)1110 1189 y Ft(If)22
+b(set,)j(the)e Fs(source)e Ft(builtin)h(uses)g(the)h(v)-5
+b(alue)23 b(of)g Fs(PATH)e Ft(to)j(\014nd)d(the)h(directory)1110
+1298 y(con)m(taining)29 b(the)e(\014le)h(supplied)e(as)h(an)g(argumen)m
+(t.)40 b(This)27 b(option)h(is)f(enabled)1110 1408 y(b)m(y)j(default.)
+630 1579 y Fs(xpg_echo)96 b Ft(If)31 b(set,)h(the)g Fs(echo)e
+Ft(builtin)h(expands)f(bac)m(kslash-escap)s(e)j(sequences)f(b)m(y)f
+(de-)1110 1688 y(fault.)630 1859 y(The)c(return)f(status)i(when)f
+(listing)h(options)g(is)f(zero)i(if)e(all)i Fq(optnames)i
+Ft(are)d(enabled,)g(non-)630 1969 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 2079 y(unless)30 b(an)g Fq(optname)36
+b Ft(is)30 b(not)h(a)g(v)-5 b(alid)30 b(shell)h(option.)150
+2250 y Fs(source)870 2390 y(source)46 b Fj(filename)630
+2530 y Ft(A)30 b(synon)m(ym)g(for)g Fs(.)g Ft(\(see)i(Section)f(4.1)g
+([Bourne)g(Shell)f(Builtins],)h(page)g(33\).)150 2701
+y Fs(type)870 2841 y(type)47 b([-afptP])e([)p Fj(name)57
+b Fs(...)o(])630 2982 y Ft(F)-8 b(or)42 b(eac)m(h)g Fq(name)p
 Ft(,)i(indicate)e(ho)m(w)g(it)f(w)m(ould)g(b)s(e)g(in)m(terpreted)g(if)
-g(used)f(as)i(a)f(command)630 1483 y(name.)630 1617 y(If)d(the)g(`)p
+g(used)f(as)i(a)f(command)630 3091 y(name.)630 3231 y(If)d(the)g(`)p
 Fs(-t)p Ft(')g(option)g(is)g(used,)i Fs(type)d Ft(prin)m(ts)g(a)i
 (single)f(w)m(ord)g(whic)m(h)g(is)g(one)g(of)h(`)p Fs(alias)p
-Ft(',)630 1727 y(`)p Fs(function)p Ft(',)32 b(`)p Fs(builtin)p
+Ft(',)630 3341 y(`)p Fs(function)p Ft(',)32 b(`)p Fs(builtin)p
 Ft(',)g(`)p Fs(file)p Ft(')g(or)h(`)p Fs(keyword)p Ft(',)f(if)h
 Fq(name)38 b Ft(is)33 b(an)f(alias,)j(shell)e(function,)630
-1837 y(shell)i(builtin,)g(disk)g(\014le,)h(or)e(shell)h(reserv)m(ed)g
+3451 y(shell)i(builtin,)g(disk)g(\014le,)h(or)e(shell)h(reserv)m(ed)g
 (w)m(ord,)h(resp)s(ectiv)m(ely)-8 b(.)55 b(If)34 b(the)h
-Fq(name)40 b Ft(is)35 b(not)630 1946 y(found,)29 b(then)h(nothing)h(is)
+Fq(name)40 b Ft(is)35 b(not)630 3560 y(found,)29 b(then)h(nothing)h(is)
 f(prin)m(ted,)g(and)g Fs(type)f Ft(returns)g(a)i(failure)g(status.)630
-2081 y(If)39 b(the)g(`)p Fs(-p)p Ft(')g(option)h(is)f(used,)i
+3701 y(If)39 b(the)g(`)p Fs(-p)p Ft(')g(option)h(is)f(used,)i
 Fs(type)d Ft(either)h(returns)f(the)i(name)f(of)g(the)g(disk)g(\014le)g
-(that)630 2190 y(w)m(ould)30 b(b)s(e)g(executed,)h(or)g(nothing)f(if)g
+(that)630 3810 y(w)m(ould)30 b(b)s(e)g(executed,)h(or)g(nothing)f(if)g
 (`)p Fs(-t)p Ft(')h(w)m(ould)f(not)g(return)g(`)p Fs(file)p
-Ft('.)630 2325 y(The)23 b(`)p Fs(-P)p Ft(')h(option)g(forces)g(a)g
+Ft('.)630 3950 y(The)23 b(`)p Fs(-P)p Ft(')h(option)g(forces)g(a)g
 (path)g(searc)m(h)g(for)g(eac)m(h)g Fq(name)p Ft(,)i(ev)m(en)e(if)g(`)p
-Fs(-t)p Ft(')g(w)m(ould)f(not)h(return)630 2434 y(`)p
-Fs(file)p Ft('.)630 2568 y(If)34 b(a)i(command)e(is)h(hashed,)g(`)p
+Fs(-t)p Ft(')g(w)m(ould)f(not)h(return)630 4060 y(`)p
+Fs(file)p Ft('.)630 4200 y(If)34 b(a)i(command)e(is)h(hashed,)g(`)p
 Fs(-p)p Ft(')g(and)f(`)p Fs(-P)p Ft(')h(prin)m(t)f(the)h(hashed)f(v)-5
-b(alue,)37 b(not)e(necessarily)630 2678 y(the)c(\014le)f(that)h(app)s
-(ears)f(\014rst)f(in)h Fs($PATH)p Ft(.)630 2812 y(If)36
+b(alue,)37 b(not)e(necessarily)630 4310 y(the)c(\014le)f(that)h(app)s
+(ears)f(\014rst)f(in)h Fs($PATH)p Ft(.)630 4450 y(If)36
 b(the)h(`)p Fs(-a)p Ft(')g(option)g(is)g(used,)g Fs(type)f
 Ft(returns)f(all)j(of)f(the)g(places)g(that)g(con)m(tain)h(an)f(exe-)
-630 2922 y(cutable)d(named)f Fq(\014le)p Ft(.)50 b(This)33
+630 4560 y(cutable)d(named)f Fq(\014le)p Ft(.)50 b(This)33
 b(includes)g(aliases)i(and)e(functions,)h(if)f(and)g(only)h(if)f(the)h
-(`)p Fs(-p)p Ft(')630 3032 y(option)d(is)f(not)h(also)g(used.)630
-3166 y(If)26 b(the)h(`)p Fs(-f)p Ft(')g(option)g(is)g(used,)g
+(`)p Fs(-p)p Ft(')630 4669 y(option)d(is)f(not)h(also)g(used.)630
+4810 y(If)26 b(the)h(`)p Fs(-f)p Ft(')g(option)g(is)g(used,)g
 Fs(type)e Ft(do)s(es)i(not)g(attempt)g(to)h(\014nd)d(shell)i
-(functions,)g(as)g(with)630 3275 y(the)k Fs(command)d
-Ft(builtin.)630 3410 y(The)35 b(return)g(status)h(is)g(zero)g(if)g(an)m
+(functions,)g(as)g(with)630 4919 y(the)k Fs(command)d
+Ft(builtin.)630 5059 y(The)35 b(return)g(status)h(is)g(zero)g(if)g(an)m
 (y)g(of)g(the)g Fq(names)k Ft(are)c(found,)g(non-zero)g(if)g(none)g
-(are)630 3519 y(found.)150 3678 y Fs(typeset)870 3813
-y(typeset)46 b([-afFrxi])f([-p])i([)p Fj(name)11 b Fs([=)p
-Fj(value)g Fs(])43 b(...)o(])630 3947 y Ft(The)29 b Fs(typeset)f
-Ft(command)h(is)g(supplied)g(for)g(compatibilit)m(y)j(with)d(the)h
-(Korn)e(shell;)j(ho)m(w-)630 4057 y(ev)m(er,)g(it)g(has)f(b)s(een)g
-(deprecated)h(in)f(fa)m(v)m(or)i(of)e(the)h Fs(declare)d
-Ft(builtin)i(command.)150 4216 y Fs(ulimit)870 4350 y(ulimit)46
-b([-acdflmnpstuvSH])d([)p Fj(limit)11 b Fs(])630 4484
-y(ulimit)25 b Ft(pro)m(vides)h(con)m(trol)i(o)m(v)m(er)g(the)f
-(resources)f(a)m(v)-5 b(ailable)29 b(to)e(pro)s(cesses)f(started)h(b)m
-(y)g(the)630 4594 y(shell,)i(on)f(systems)g(that)h(allo)m(w)h(suc)m(h)e
-(con)m(trol.)41 b(If)28 b(an)g(option)h(is)f(giv)m(en,)i(it)e(is)h(in)m
-(terpreted)630 4704 y(as)i(follo)m(ws:)630 4863 y Fs(-S)384
-b Ft(Change)30 b(and)g(rep)s(ort)g(the)g(soft)h(limit)g(asso)s(ciated)h
-(with)e(a)h(resource.)630 5022 y Fs(-H)384 b Ft(Change)30
-b(and)g(rep)s(ort)g(the)g(hard)g(limit)h(asso)s(ciated)h(with)e(a)h
-(resource.)630 5181 y Fs(-a)384 b Ft(All)31 b(curren)m(t)f(limits)h
-(are)g(rep)s(orted.)630 5340 y Fs(-c)384 b Ft(The)30
-b(maxim)m(um)g(size)h(of)g(core)g(\014les)f(created.)p
-eop end
+(are)630 5169 y(found.)150 5340 y Fs(typeset)p eop end
 %%Page: 50 56
 TeXDict begin 50 55 bop 150 -116 a Ft(50)2572 b(Bash)31
-b(Reference)g(Man)m(ual)630 299 y Fs(-d)384 b Ft(The)30
+b(Reference)g(Man)m(ual)870 299 y Fs(typeset)46 b([-afFrxi])f([-p])i([)
+p Fj(name)11 b Fs([=)p Fj(value)g Fs(])43 b(...)o(])630
+438 y Ft(The)29 b Fs(typeset)f Ft(command)h(is)g(supplied)g(for)g
+(compatibilit)m(y)j(with)d(the)h(Korn)e(shell;)j(ho)m(w-)630
+548 y(ev)m(er,)g(it)g(has)f(b)s(een)g(deprecated)h(in)f(fa)m(v)m(or)i
+(of)e(the)h Fs(declare)d Ft(builtin)i(command.)150 716
+y Fs(ulimit)870 856 y(ulimit)46 b([-acdflmnpstuvSH])d([)p
+Fj(limit)11 b Fs(])630 995 y(ulimit)25 b Ft(pro)m(vides)h(con)m(trol)i
+(o)m(v)m(er)g(the)f(resources)f(a)m(v)-5 b(ailable)29
+b(to)e(pro)s(cesses)f(started)h(b)m(y)g(the)630 1104
+y(shell,)i(on)f(systems)g(that)h(allo)m(w)h(suc)m(h)e(con)m(trol.)41
+b(If)28 b(an)g(option)h(is)f(giv)m(en,)i(it)e(is)h(in)m(terpreted)630
+1214 y(as)i(follo)m(ws:)630 1383 y Fs(-S)384 b Ft(Change)30
+b(and)g(rep)s(ort)g(the)g(soft)h(limit)g(asso)s(ciated)h(with)e(a)h
+(resource.)630 1551 y Fs(-H)384 b Ft(Change)30 b(and)g(rep)s(ort)g(the)
+g(hard)g(limit)h(asso)s(ciated)h(with)e(a)h(resource.)630
+1720 y Fs(-a)384 b Ft(All)31 b(curren)m(t)f(limits)h(are)g(rep)s
+(orted.)630 1889 y Fs(-c)384 b Ft(The)30 b(maxim)m(um)g(size)h(of)g
+(core)g(\014les)f(created.)630 2057 y Fs(-d)384 b Ft(The)30
 b(maxim)m(um)g(size)h(of)g(a)g(pro)s(cess's)f(data)h(segmen)m(t.)630
-459 y Fs(-f)384 b Ft(The)30 b(maxim)m(um)g(size)h(of)g(\014les)f
-(created)i(b)m(y)e(the)g(shell.)630 619 y Fs(-l)384 b
-Ft(The)30 b(maxim)m(um)g(size)h(that)g(ma)m(y)g(b)s(e)f(lo)s(c)m(k)m
-(ed)i(in)m(to)f(memory)-8 b(.)630 780 y Fs(-m)384 b Ft(The)30
-b(maxim)m(um)g(residen)m(t)h(set)g(size.)630 940 y Fs(-n)384
-b Ft(The)30 b(maxim)m(um)g(n)m(um)m(b)s(er)f(of)i(op)s(en)e(\014le)i
-(descriptors.)630 1100 y Fs(-p)384 b Ft(The)30 b(pip)s(e)f(bu\013er)h
-(size.)630 1260 y Fs(-s)384 b Ft(The)30 b(maxim)m(um)g(stac)m(k)i
-(size.)630 1421 y Fs(-t)384 b Ft(The)30 b(maxim)m(um)g(amoun)m(t)h(of)f
-(cpu)g(time)h(in)f(seconds.)630 1581 y Fs(-u)384 b Ft(The)30
-b(maxim)m(um)g(n)m(um)m(b)s(er)f(of)i(pro)s(cesses)f(a)m(v)-5
-b(ailable)33 b(to)e(a)f(single)i(user.)630 1741 y Fs(-v)384
-b Ft(The)29 b(maxim)m(um)h(amoun)m(t)g(of)g(virtual)g(memory)g(a)m(v)-5
-b(ailable)32 b(to)e(the)g(pro)s(cess.)630 1901 y(If)j
-Fq(limit)j Ft(is)e(giv)m(en,)h(it)f(is)g(the)g(new)f(v)-5
+2226 y Fs(-f)384 b Ft(The)30 b(maxim)m(um)g(size)h(of)g(\014les)f
+(created)i(b)m(y)e(the)g(shell.)630 2395 y Fs(-l)384
+Ft(The)30 b(maxim)m(um)g(size)h(that)g(ma)m(y)g(b)s(e)f(lo)s(c)m(k)m
+(ed)i(in)m(to)f(memory)-8 b(.)630 2564 y Fs(-m)384 b
+Ft(The)30 b(maxim)m(um)g(residen)m(t)h(set)g(size.)630
+2732 y Fs(-n)384 b Ft(The)30 b(maxim)m(um)g(n)m(um)m(b)s(er)f(of)i(op)s
+(en)e(\014le)i(descriptors.)630 2901 y Fs(-p)384 b Ft(The)30
+b(pip)s(e)f(bu\013er)h(size.)630 3070 y Fs(-s)384 b Ft(The)30
+b(maxim)m(um)g(stac)m(k)i(size.)630 3239 y Fs(-t)384
+b Ft(The)30 b(maxim)m(um)g(amoun)m(t)h(of)f(cpu)g(time)h(in)f(seconds.)
+630 3407 y Fs(-u)384 b Ft(The)30 b(maxim)m(um)g(n)m(um)m(b)s(er)f(of)i
+(pro)s(cesses)f(a)m(v)-5 b(ailable)33 b(to)e(a)f(single)i(user.)630
+3576 y Fs(-v)384 b Ft(The)29 b(maxim)m(um)h(amoun)m(t)g(of)g(virtual)g
+(memory)g(a)m(v)-5 b(ailable)32 b(to)e(the)g(pro)s(cess.)630
+3745 y(If)j Fq(limit)j Ft(is)e(giv)m(en,)h(it)f(is)g(the)g(new)f(v)-5
 b(alue)34 b(of)f(the)h(sp)s(eci\014ed)f(resource;)i(the)f(sp)s(ecial)g
-Fq(limit)630 2011 y Ft(v)-5 b(alues)27 b Fs(hard)p Ft(,)g
+Fq(limit)630 3854 y Ft(v)-5 b(alues)27 b Fs(hard)p Ft(,)g
 Fs(soft)p Ft(,)g(and)g Fs(unlimited)d Ft(stand)j(for)g(the)g(curren)m
-(t)g(hard)f(limit,)j(the)e(curren)m(t)630 2120 y(soft)35
+(t)g(hard)f(limit,)j(the)e(curren)m(t)630 3964 y(soft)35
 b(limit,)i(and)e(no)f(limit,)j(resp)s(ectiv)m(ely)-8
 b(.)56 b(Otherwise,)36 b(the)f(curren)m(t)g(v)-5 b(alue)35
-b(of)g(the)h(soft)630 2230 y(limit)41 b(for)f(the)h(sp)s(eci\014ed)f
+b(of)g(the)h(soft)630 4074 y(limit)41 b(for)f(the)h(sp)s(eci\014ed)f
 (resource)h(is)f(prin)m(ted,)j(unless)d(the)g(`)p Fs(-H)p
-Ft(')h(option)f(is)h(supplied.)630 2340 y(When)29 b(setting)h(new)e
+Ft(')h(option)f(is)h(supplied.)630 4183 y(When)29 b(setting)h(new)e
 (limits,)i(if)f(neither)g(`)p Fs(-H)p Ft(')f(nor)h(`)p
 Fs(-S)p Ft(')f(is)h(supplied,)g(b)s(oth)f(the)h(hard)f(and)630
-2449 y(soft)37 b(limits)g(are)g(set.)60 b(If)36 b(no)g(option)h(is)g
+4293 y(soft)37 b(limits)g(are)g(set.)60 b(If)36 b(no)g(option)h(is)g
 (giv)m(en,)i(then)d(`)p Fs(-f)p Ft(')h(is)f(assumed.)59
-b(V)-8 b(alues)37 b(are)g(in)630 2559 y(1024-b)m(yte)27
+b(V)-8 b(alues)37 b(are)g(in)630 4402 y(1024-b)m(yte)27
 b(incremen)m(ts,)g(except)e(for)f(`)p Fs(-t)p Ft(',)i(whic)m(h)e(is)h
 (in)f(seconds,)i(`)p Fs(-p)p Ft(',)g(whic)m(h)e(is)g(in)h(units)630
-2668 y(of)31 b(512-b)m(yte)h(blo)s(c)m(ks,)f(and)f(`)p
+4512 y(of)31 b(512-b)m(yte)h(blo)s(c)m(ks,)f(and)f(`)p
 Fs(-n)p Ft(')g(and)g(`)p Fs(-u)p Ft(',)h(whic)m(h)f(are)g(unscaled)h(v)
--5 b(alues.)630 2803 y(The)34 b(return)g(status)h(is)f(zero)i(unless)e
+-5 b(alues.)630 4651 y(The)34 b(return)g(status)h(is)f(zero)i(unless)e
 (an)g(in)m(v)-5 b(alid)36 b(option)f(or)f(argumen)m(t)i(is)e(supplied,)
-h(or)630 2913 y(an)30 b(error)g(o)s(ccurs)g(while)h(setting)g(a)g(new)f
-(limit.)150 3073 y Fs(unalias)870 3208 y(unalias)46 b([-a])g([)p
-Fj(name)57 b Fs(...)47 b(])630 3343 y Ft(Remo)m(v)m(e)39
+h(or)630 4761 y(an)30 b(error)g(o)s(ccurs)g(while)h(setting)g(a)g(new)f
+(limit.)150 4929 y Fs(unalias)870 5069 y(unalias)46 b([-a])g([)p
+Fj(name)57 b Fs(...)47 b(])630 5208 y Ft(Remo)m(v)m(e)39
 b(eac)m(h)f Fq(name)k Ft(from)36 b(the)h(list)h(of)f(aliases.)61
 b(If)36 b(`)p Fs(-a)p Ft(')h(is)g(supplied,)h(all)f(aliases)i(are)630
-3452 y(remo)m(v)m(ed.)j(Aliases)31 b(are)g(describ)s(ed)e(in)h(Section)
-i(6.6)f([Aliases],)h(page)f(73.)150 3712 y Fr(4.3)68
-b(The)45 b(Set)g(Builtin)275 3957 y Ft(This)29 b(builtin)h(is)g(so)h
+5317 y(remo)m(v)m(ed.)j(Aliases)31 b(are)g(describ)s(ed)e(in)h(Section)
+i(6.6)f([Aliases],)h(page)f(73.)p eop end
+%%Page: 51 57
+TeXDict begin 51 56 bop 150 -116 a Ft(Chapter)30 b(4:)41
+b(Shell)30 b(Builtin)h(Commands)2069 b(51)150 299 y Fr(4.3)68
+b(The)45 b(Set)g(Builtin)275 540 y Ft(This)29 b(builtin)h(is)g(so)h
 (complicated)h(that)f(it)g(deserv)m(es)g(its)g(o)m(wn)f(section.)150
-4117 y Fs(set)870 4252 y(set)47 b([--abefhkmnptuvxBCHP])42
+693 y Fs(set)870 825 y(set)47 b([--abefhkmnptuvxBCHP])42
 b([-o)47 b Fj(option)11 b Fs(])45 b([)p Fj(argument)56
-b Fs(...)o(])630 4387 y Ft(If)22 b(no)h(options)g(or)g(argumen)m(ts)g
+b Fs(...)o(])630 956 y Ft(If)22 b(no)h(options)g(or)g(argumen)m(ts)g
 (are)g(supplied,)g Fs(set)f Ft(displa)m(ys)g(the)h(names)g(and)f(v)-5
-b(alues)23 b(of)g(all)630 4497 y(shell)j(v)-5 b(ariables)27
+b(alues)23 b(of)g(all)630 1066 y(shell)j(v)-5 b(ariables)27
 b(and)e(functions,)h(sorted)g(according)h(to)g(the)f(curren)m(t)f(lo)s
-(cale,)k(in)c(a)i(format)630 4606 y(that)i(ma)m(y)h(b)s(e)e(reused)g
+(cale,)k(in)c(a)i(format)630 1176 y(that)i(ma)m(y)h(b)s(e)e(reused)g
 (as)h(input)f(for)h(setting)h(or)e(resetting)i(the)f(curren)m(tly-set)h
-(v)-5 b(ariables.)630 4716 y(Read-only)37 b(v)-5 b(ariables)37
+(v)-5 b(ariables.)630 1285 y(Read-only)37 b(v)-5 b(ariables)37
 b(cannot)h(b)s(e)e(reset.)59 b(In)36 b Fl(posix)g Ft(mo)s(de,)i(only)f
-(shell)f(v)-5 b(ariables)38 b(are)630 4826 y(listed.)630
-4961 y(When)29 b(options)g(are)g(supplied,)f(they)h(set)h(or)f(unset)f
+(shell)f(v)-5 b(ariables)38 b(are)630 1395 y(listed.)630
+1526 y(When)29 b(options)g(are)g(supplied,)f(they)h(set)h(or)f(unset)f
 (shell)h(attributes.)41 b(Options,)29 b(if)g(sp)s(ec-)630
-5070 y(i\014ed,)h(ha)m(v)m(e)i(the)e(follo)m(wing)i(meanings:)630
-5230 y Fs(-a)384 b Ft(Mark)32 b(v)-5 b(ariables)33 b(and)e(function)h
+1636 y(i\014ed,)h(ha)m(v)m(e)i(the)e(follo)m(wing)i(meanings:)630
+1789 y Fs(-a)384 b Ft(Mark)32 b(v)-5 b(ariables)33 b(and)e(function)h
 (whic)m(h)g(are)g(mo)s(di\014ed)f(or)h(created)h(for)f(ex-)1110
-5340 y(p)s(ort)e(to)h(the)f(en)m(vironmen)m(t)h(of)g(subsequen)m(t)f
-(commands.)p eop end
-%%Page: 51 57
-TeXDict begin 51 56 bop 150 -116 a Ft(Chapter)30 b(4:)41
-b(Shell)30 b(Builtin)h(Commands)2069 b(51)630 299 y Fs(-b)384
-b Ft(Cause)44 b(the)h(status)g(of)f(terminated)h(bac)m(kground)g(jobs)f
-(to)h(b)s(e)f(rep)s(orted)1110 408 y(immediately)-8 b(,)30
-b(rather)d(than)f(b)s(efore)h(prin)m(ting)g(the)g(next)g(primary)g
-(prompt.)630 570 y Fs(-e)384 b Ft(Exit)37 b(immediately)h(if)e(a)h
-(simple)f(command)g(\(see)i(Section)f(3.2.1)h([Simple)1110
-679 y(Commands],)31 b(page)i(8\))f(exits)g(with)g(a)g(non-zero)g
-(status,)g(unless)f(the)h(com-)1110 789 y(mand)f(that)h(fails)h(is)f
-(part)f(of)h(the)g(command)g(list)g(immediately)h(follo)m(wing)1110
-898 y(a)41 b Fs(while)d Ft(or)j Fs(until)e Ft(k)m(eyw)m(ord,)k(part)d
-(of)g(the)h(test)g(in)f(an)g Fs(if)g Ft(statemen)m(t,)1110
-1008 y(part)33 b(of)h(a)g Fs(&&)f Ft(or)g Fs(||)g Ft(list,)i(or)e(if)h
-(the)f(command's)h(return)e(status)i(is)f(b)s(eing)1110
-1118 y(in)m(v)m(erted)e(using)e Fs(!)p Ft(.)40 b(A)30
-b(trap)f(on)h Fs(ERR)p Ft(,)f(if)h(set,)g(is)g(executed)h(b)s(efore)e
-(the)h(shell)1110 1227 y(exits.)630 1388 y Fs(-f)384
-b Ft(Disable)31 b(\014le)g(name)f(generation)i(\(globbing\).)630
-1549 y Fs(-h)384 b Ft(Lo)s(cate)33 b(and)e(remem)m(b)s(er)h(\(hash\))g
+1899 y(p)s(ort)e(to)h(the)f(en)m(vironmen)m(t)h(of)g(subsequen)m(t)f
+(commands.)630 2052 y Fs(-b)384 b Ft(Cause)44 b(the)h(status)g(of)f
+(terminated)h(bac)m(kground)g(jobs)f(to)h(b)s(e)f(rep)s(orted)1110
+2162 y(immediately)-8 b(,)30 b(rather)d(than)f(b)s(efore)h(prin)m(ting)
+g(the)g(next)g(primary)g(prompt.)630 2315 y Fs(-e)384
+b Ft(Exit)37 b(immediately)h(if)e(a)h(simple)f(command)g(\(see)i
+(Section)f(3.2.1)h([Simple)1110 2425 y(Commands],)31
+b(page)i(8\))f(exits)g(with)g(a)g(non-zero)g(status,)g(unless)f(the)h
+(com-)1110 2534 y(mand)f(that)h(fails)h(is)f(part)f(of)h(the)g(command)
+g(list)g(immediately)h(follo)m(wing)1110 2644 y(a)41
+b Fs(while)d Ft(or)j Fs(until)e Ft(k)m(eyw)m(ord,)k(part)d(of)g(the)h
+(test)g(in)f(an)g Fs(if)g Ft(statemen)m(t,)1110 2754
+y(part)33 b(of)h(a)g Fs(&&)f Ft(or)g Fs(||)g Ft(list,)i(or)e(if)h(the)f
+(command's)h(return)e(status)i(is)f(b)s(eing)1110 2863
+y(in)m(v)m(erted)e(using)e Fs(!)p Ft(.)40 b(A)30 b(trap)f(on)h
+Fs(ERR)p Ft(,)f(if)h(set,)g(is)g(executed)h(b)s(efore)e(the)h(shell)
+1110 2973 y(exits.)630 3126 y Fs(-f)384 b Ft(Disable)31
+b(\014le)g(name)f(generation)i(\(globbing\).)630 3280
+y Fs(-h)384 b Ft(Lo)s(cate)33 b(and)e(remem)m(b)s(er)h(\(hash\))g
 (commands)f(as)h(they)g(are)g(lo)s(ok)m(ed)h(up)e(for)1110
-1659 y(execution.)42 b(This)29 b(option)i(is)g(enabled)f(b)m(y)g
-(default.)630 1820 y Fs(-k)384 b Ft(All)34 b(argumen)m(ts)g(in)f(the)h
+3389 y(execution.)42 b(This)29 b(option)i(is)g(enabled)f(b)m(y)g
+(default.)630 3543 y Fs(-k)384 b Ft(All)34 b(argumen)m(ts)g(in)f(the)h
 (form)f(of)g(assignmen)m(t)h(statemen)m(ts)i(are)d(placed)h(in)1110
-1930 y(the)k(en)m(vironmen)m(t)g(for)g(a)g(command,)h(not)f(just)f
-(those)i(that)f(precede)g(the)1110 2039 y(command)30
-b(name.)630 2201 y Fs(-m)384 b Ft(Job)30 b(con)m(trol)i(is)e(enabled)h
+3652 y(the)k(en)m(vironmen)m(t)g(for)g(a)g(command,)h(not)f(just)f
+(those)i(that)f(precede)g(the)1110 3762 y(command)30
+b(name.)630 3915 y Fs(-m)384 b Ft(Job)30 b(con)m(trol)i(is)e(enabled)h
 (\(see)g(Chapter)f(7)g([Job)h(Con)m(trol],)g(page)g(83\).)630
-2362 y Fs(-n)384 b Ft(Read)21 b(commands)f(but)g(do)h(not)g(execute)h
+4069 y Fs(-n)384 b Ft(Read)21 b(commands)f(but)g(do)h(not)g(execute)h
 (them;)i(this)d(ma)m(y)g(b)s(e)f(used)g(to)h(c)m(hec)m(k)1110
-2471 y(a)42 b(script)g(for)g(syn)m(tax)g(errors.)75 b(This)41
+4178 y(a)42 b(script)g(for)g(syn)m(tax)g(errors.)75 b(This)41
 b(option)h(is)g(ignored)g(b)m(y)g(in)m(teractiv)m(e)1110
-2581 y(shells.)630 2742 y Fs(-o)30 b Fj(option-name)1110
-2852 y Ft(Set)h(the)f(option)h(corresp)s(onding)e(to)i
-Fq(option-name)5 b Ft(:)1110 3013 y Fs(allexport)1590
-3122 y Ft(Same)30 b(as)h Fs(-a)p Ft(.)1110 3284 y Fs(braceexpand)1590
-3393 y Ft(Same)f(as)h Fs(-B)p Ft(.)1110 3554 y Fs(emacs)240
+4288 y(shells.)630 4441 y Fs(-o)30 b Fj(option-name)1110
+4551 y Ft(Set)h(the)f(option)h(corresp)s(onding)e(to)i
+Fq(option-name)5 b Ft(:)1110 4704 y Fs(allexport)1590
+4814 y Ft(Same)30 b(as)h Fs(-a)p Ft(.)1110 4967 y Fs(braceexpand)1590
+5077 y Ft(Same)f(as)h Fs(-B)p Ft(.)1110 5230 y Fs(emacs)240
 b Ft(Use)25 b(an)f Fs(emacs)p Ft(-st)m(yle)h(line)f(editing)h(in)m
-(terface)h(\(see)g(Chapter)e(8)1590 3664 y([Command)30
-b(Line)g(Editing],)h(page)g(87\).)1110 3825 y Fs(errexit)144
-b Ft(Same)30 b(as)h Fs(-e)p Ft(.)1110 3986 y Fs(errtrace)96
-b Ft(Same)30 b(as)h Fs(-E)p Ft(.)1110 4147 y Fs(functrace)1590
-4257 y Ft(Same)f(as)h Fs(-T)p Ft(.)1110 4418 y Fs(hashall)144
-b Ft(Same)30 b(as)h Fs(-h)p Ft(.)1110 4579 y Fs(histexpand)1590
-4689 y Ft(Same)f(as)h Fs(-H)p Ft(.)1110 4850 y Fs(history)144
-b Ft(Enable)39 b(command)g(history)-8 b(,)42 b(as)d(describ)s(ed)f(in)h
-(Section)h(9.1)1590 4960 y([Bash)d(History)g(F)-8 b(acilities],)41
-b(page)c(113.)60 b(This)36 b(option)h(is)f(on)1590 5069
-y(b)m(y)30 b(default)h(in)f(in)m(teractiv)m(e)j(shells.)1110
-5230 y Fs(ignoreeof)1590 5340 y Ft(An)d(in)m(teractiv)m(e)j(shell)e
-(will)g(not)f(exit)h(up)s(on)e(reading)i(EOF.)p eop end
+(terface)h(\(see)g(Chapter)e(8)1590 5340 y([Command)30
+b(Line)g(Editing],)h(page)g(87\).)p eop end
 %%Page: 52 58
 TeXDict begin 52 57 bop 150 -116 a Ft(52)2572 b(Bash)31
-b(Reference)g(Man)m(ual)1110 299 y Fs(keyword)144 b Ft(Same)30
-b(as)h Fs(-k)p Ft(.)1110 455 y Fs(monitor)144 b Ft(Same)30
-b(as)h Fs(-m)p Ft(.)1110 610 y Fs(noclobber)1590 720
-y Ft(Same)f(as)h Fs(-C)p Ft(.)1110 876 y Fs(noexec)192
-b Ft(Same)30 b(as)h Fs(-n)p Ft(.)1110 1031 y Fs(noglob)192
-b Ft(Same)30 b(as)h Fs(-f)p Ft(.)1110 1187 y Fs(nolog)240
-b Ft(Curren)m(tly)30 b(ignored.)1110 1343 y Fs(notify)192
-b Ft(Same)30 b(as)h Fs(-b)p Ft(.)1110 1499 y Fs(nounset)144
-b Ft(Same)30 b(as)h Fs(-u)p Ft(.)1110 1654 y Fs(onecmd)192
-b Ft(Same)30 b(as)h Fs(-t)p Ft(.)1110 1810 y Fs(physical)96
-b Ft(Same)30 b(as)h Fs(-P)p Ft(.)1110 1966 y Fs(pipefail)96
-b Ft(If)44 b(set,)k(the)d(return)e(v)-5 b(alue)45 b(of)f(a)h(pip)s
-(eline)e(is)i(the)f(v)-5 b(alue)45 b(of)1590 2075 y(the)33
-b(last)h(\(righ)m(tmost\))h(command)e(to)h(exit)g(with)f(a)g(non-zero)
-1590 2185 y(status,)28 b(or)f(zero)g(if)f(all)i(commands)e(in)g(the)h
-(pip)s(eline)f(exit)i(suc-)1590 2295 y(cessfully)-8 b(.)41
-b(This)30 b(option)h(is)f(disabled)g(b)m(y)h(default.)1110
-2450 y Fs(posix)240 b Ft(Change)36 b(the)g(b)s(eha)m(vior)g(of)g(Bash)g
-(where)f(the)h(default)g(op)s(er-)1590 2560 y(ation)c(di\013ers)e(from)
-g(the)h Fl(posix)f Ft(1003.2)k(standard)c(to)h(matc)m(h)1590
-2669 y(the)44 b(standard)f(\(see)h(Section)h(6.11)g([Bash)f(POSIX)e(Mo)
-s(de],)1590 2779 y(page)35 b(78\).)55 b(This)34 b(is)g(in)m(tended)h
-(to)g(mak)m(e)h(Bash)e(b)s(eha)m(v)m(e)i(as)f(a)1590
-2889 y(strict)c(sup)s(erset)e(of)i(that)g(standard.)1110
-3044 y Fs(privileged)1590 3154 y Ft(Same)f(as)h Fs(-p)p
-Ft(.)1110 3310 y Fs(verbose)144 b Ft(Same)30 b(as)h Fs(-v)p
-Ft(.)1110 3465 y Fs(vi)384 b Ft(Use)31 b(a)g Fs(vi)p
-Ft(-st)m(yle)g(line)g(editing)g(in)m(terface.)1110 3621
-y Fs(xtrace)192 b Ft(Same)30 b(as)h Fs(-x)p Ft(.)630
-3777 y Fs(-p)384 b Ft(T)-8 b(urn)33 b(on)h(privileged)h(mo)s(de.)51
-b(In)34 b(this)g(mo)s(de,)h(the)f Fs($BASH_ENV)e Ft(and)h
-Fs($ENV)1110 3886 y Ft(\014les)k(are)h(not)g(pro)s(cessed,)h(shell)f
-(functions)f(are)h(not)f(inherited)h(from)f(the)1110
-3996 y(en)m(vironmen)m(t,)f(and)d(the)h Fs(SHELLOPTS)e
-Ft(v)-5 b(ariable,)35 b(if)f(it)h(app)s(ears)e(in)h(the)g(en-)1110
-4106 y(vironmen)m(t,)d(is)f(ignored.)41 b(If)29 b(the)i(shell)f(is)g
-(started)h(with)f(the)g(e\013ectiv)m(e)j(user)1110 4215
-y(\(group\))d(id)g(not)g(equal)h(to)f(the)g(real)h(user)e(\(group\))i
-(id,)f(and)f(the)h Fs(-p)f Ft(option)1110 4325 y(is)40
-b(not)g(supplied,)i(these)e(actions)i(are)e(tak)m(en)h(and)f(the)g
-(e\013ectiv)m(e)j(user)c(id)1110 4434 y(is)d(set)h(to)h(the)e(real)h
-(user)f(id.)58 b(If)36 b(the)h Fs(-p)f Ft(option)g(is)h(supplied)e(at)i
-(startup,)1110 4544 y(the)29 b(e\013ectiv)m(e)j(user)d(id)g(is)g(not)h
-(reset.)40 b(T)-8 b(urning)29 b(this)g(option)g(o\013)h(causes)g(the)
-1110 4654 y(e\013ectiv)m(e)e(user)d(and)g(group)g(ids)h(to)g(b)s(e)f
-(set)h(to)h(the)f(real)g(user)f(and)g(group)g(ids.)630
-4809 y Fs(-t)384 b Ft(Exit)31 b(after)g(reading)f(and)g(executing)h
-(one)g(command.)630 4965 y Fs(-u)384 b Ft(T)-8 b(reat)38
-b(unset)e(v)-5 b(ariables)37 b(as)h(an)e(error)h(when)e(p)s(erforming)h
-(parameter)h(ex-)1110 5075 y(pansion.)58 b(An)36 b(error)f(message)j
-(will)e(b)s(e)g(written)g(to)h(the)g(standard)e(error,)1110
-5184 y(and)30 b(a)h(non-in)m(teractiv)m(e)i(shell)d(will)h(exit.)630
-5340 y Fs(-v)384 b Ft(Prin)m(t)30 b(shell)h(input)e(lines)i(as)g(they)f
-(are)h(read.)p eop end
+b(Reference)g(Man)m(ual)1110 299 y Fs(errexit)144 b Ft(Same)30
+b(as)h Fs(-e)p Ft(.)1110 458 y Fs(errtrace)96 b Ft(Same)30
+b(as)h Fs(-E)p Ft(.)1110 618 y Fs(functrace)1590 727
+y Ft(Same)f(as)h Fs(-T)p Ft(.)1110 887 y Fs(hashall)144
+b Ft(Same)30 b(as)h Fs(-h)p Ft(.)1110 1046 y Fs(histexpand)1590
+1156 y Ft(Same)f(as)h Fs(-H)p Ft(.)1110 1315 y Fs(history)144
+b Ft(Enable)39 b(command)g(history)-8 b(,)42 b(as)d(describ)s(ed)f(in)h
+(Section)h(9.1)1590 1425 y([Bash)d(History)g(F)-8 b(acilities],)41
+b(page)c(113.)60 b(This)36 b(option)h(is)f(on)1590 1534
+y(b)m(y)30 b(default)h(in)f(in)m(teractiv)m(e)j(shells.)1110
+1694 y Fs(ignoreeof)1590 1803 y Ft(An)d(in)m(teractiv)m(e)j(shell)e
+(will)g(not)f(exit)h(up)s(on)e(reading)i(EOF.)1110 1963
+y Fs(keyword)144 b Ft(Same)30 b(as)h Fs(-k)p Ft(.)1110
+2122 y Fs(monitor)144 b Ft(Same)30 b(as)h Fs(-m)p Ft(.)1110
+2281 y Fs(noclobber)1590 2391 y Ft(Same)f(as)h Fs(-C)p
+Ft(.)1110 2550 y Fs(noexec)192 b Ft(Same)30 b(as)h Fs(-n)p
+Ft(.)1110 2710 y Fs(noglob)192 b Ft(Same)30 b(as)h Fs(-f)p
+Ft(.)1110 2869 y Fs(nolog)240 b Ft(Curren)m(tly)30 b(ignored.)1110
+3029 y Fs(notify)192 b Ft(Same)30 b(as)h Fs(-b)p Ft(.)1110
+3188 y Fs(nounset)144 b Ft(Same)30 b(as)h Fs(-u)p Ft(.)1110
+3347 y Fs(onecmd)192 b Ft(Same)30 b(as)h Fs(-t)p Ft(.)1110
+3507 y Fs(physical)96 b Ft(Same)30 b(as)h Fs(-P)p Ft(.)1110
+3666 y Fs(pipefail)96 b Ft(If)44 b(set,)k(the)d(return)e(v)-5
+b(alue)45 b(of)f(a)h(pip)s(eline)e(is)i(the)f(v)-5 b(alue)45
+b(of)1590 3776 y(the)33 b(last)h(\(righ)m(tmost\))h(command)e(to)h
+(exit)g(with)f(a)g(non-zero)1590 3885 y(status,)28 b(or)f(zero)g(if)f
+(all)i(commands)e(in)g(the)h(pip)s(eline)f(exit)i(suc-)1590
+3995 y(cessfully)-8 b(.)41 b(This)30 b(option)h(is)f(disabled)g(b)m(y)h
+(default.)1110 4154 y Fs(posix)240 b Ft(Change)36 b(the)g(b)s(eha)m
+(vior)g(of)g(Bash)g(where)f(the)h(default)g(op)s(er-)1590
+4264 y(ation)c(di\013ers)e(from)g(the)h Fl(posix)f Ft(1003.2)k
+(standard)c(to)h(matc)m(h)1590 4374 y(the)44 b(standard)f(\(see)h
+(Section)h(6.11)g([Bash)f(POSIX)e(Mo)s(de],)1590 4483
+y(page)35 b(78\).)55 b(This)34 b(is)g(in)m(tended)h(to)g(mak)m(e)h
+(Bash)e(b)s(eha)m(v)m(e)i(as)f(a)1590 4593 y(strict)c(sup)s(erset)e(of)
+i(that)g(standard.)1110 4752 y Fs(privileged)1590 4862
+y Ft(Same)f(as)h Fs(-p)p Ft(.)1110 5021 y Fs(verbose)144
+b Ft(Same)30 b(as)h Fs(-v)p Ft(.)1110 5181 y Fs(vi)384
+b Ft(Use)31 b(a)g Fs(vi)p Ft(-st)m(yle)g(line)g(editing)g(in)m
+(terface.)1110 5340 y Fs(xtrace)192 b Ft(Same)30 b(as)h
+Fs(-x)p Ft(.)p eop end
 %%Page: 53 59
 TeXDict begin 53 58 bop 150 -116 a Ft(Chapter)30 b(4:)41
-b(Shell)30 b(Builtin)h(Commands)2069 b(53)630 299 y Fs(-x)384
-b Ft(Prin)m(t)82 b(a)h(trace)h(of)e(simple)g(commands,)96
-b Fs(\\)p Ft(fBfor)p Fs(\\)p Ft(fP)81 b(commands,)1110
-408 y Fs(\\)p Ft(fBcase)p Fs(\\)p Ft(fP)50 b(commands,)55
-b Fs(\\)p Ft(fBselect)p Fs(\\)p Ft(fP)c(commands,)k(and)50
-b(arithmetic)1110 518 y Fs(\\)p Ft(fBfor)p Fs(\\)p Ft(fP)31
-b(commands)g(and)g(their)h(argumen)m(ts)g(or)f(asso)s(ciated)i(w)m(ord)
-e(lists)1110 628 y(after)k(they)g(are)g(expanded)f(and)h(b)s(efore)f
-(they)h(are)g(executed.)55 b(The)34 b(v)-5 b(alue)1110
-737 y(of)34 b(the)g Fs(PS4)f Ft(v)-5 b(ariable)35 b(is)f(expanded)g
+b(Shell)30 b(Builtin)h(Commands)2069 b(53)630 299 y Fs(-p)384
+b Ft(T)-8 b(urn)33 b(on)h(privileged)h(mo)s(de.)51 b(In)34
+b(this)g(mo)s(de,)h(the)f Fs($BASH_ENV)e Ft(and)h Fs($ENV)1110
+408 y Ft(\014les)k(are)h(not)g(pro)s(cessed,)h(shell)f(functions)f(are)
+h(not)f(inherited)h(from)f(the)1110 518 y(en)m(vironmen)m(t,)f(and)d
+(the)h Fs(SHELLOPTS)e Ft(v)-5 b(ariable,)35 b(if)f(it)h(app)s(ears)e
+(in)h(the)g(en-)1110 628 y(vironmen)m(t,)d(is)f(ignored.)41
+b(If)29 b(the)i(shell)f(is)g(started)h(with)f(the)g(e\013ectiv)m(e)j
+(user)1110 737 y(\(group\))d(id)g(not)g(equal)h(to)f(the)g(real)h(user)
+e(\(group\))i(id,)f(and)f(the)h Fs(-p)f Ft(option)1110
+847 y(is)40 b(not)g(supplied,)i(these)e(actions)i(are)e(tak)m(en)h(and)
+f(the)g(e\013ectiv)m(e)j(user)c(id)1110 956 y(is)d(set)h(to)h(the)e
+(real)h(user)f(id.)58 b(If)36 b(the)h Fs(-p)f Ft(option)g(is)h
+(supplied)e(at)i(startup,)1110 1066 y(the)29 b(e\013ectiv)m(e)j(user)d
+(id)g(is)g(not)h(reset.)40 b(T)-8 b(urning)29 b(this)g(option)g(o\013)h
+(causes)g(the)1110 1176 y(e\013ectiv)m(e)e(user)d(and)g(group)g(ids)h
+(to)g(b)s(e)f(set)h(to)h(the)f(real)g(user)f(and)g(group)g(ids.)630
+1337 y Fs(-t)384 b Ft(Exit)31 b(after)g(reading)f(and)g(executing)h
+(one)g(command.)630 1499 y Fs(-u)384 b Ft(T)-8 b(reat)38
+b(unset)e(v)-5 b(ariables)37 b(as)h(an)e(error)h(when)e(p)s(erforming)h
+(parameter)h(ex-)1110 1609 y(pansion.)58 b(An)36 b(error)f(message)j
+(will)e(b)s(e)g(written)g(to)h(the)g(standard)e(error,)1110
+1718 y(and)30 b(a)h(non-in)m(teractiv)m(e)i(shell)d(will)h(exit.)630
+1880 y Fs(-v)384 b Ft(Prin)m(t)30 b(shell)h(input)e(lines)i(as)g(they)f
+(are)h(read.)630 2042 y Fs(-x)384 b Ft(Prin)m(t)82 b(a)h(trace)h(of)e
+(simple)g(commands,)96 b Fs(\\)p Ft(fBfor)p Fs(\\)p Ft(fP)81
+b(commands,)1110 2151 y Fs(\\)p Ft(fBcase)p Fs(\\)p Ft(fP)50
+b(commands,)55 b Fs(\\)p Ft(fBselect)p Fs(\\)p Ft(fP)c(commands,)k(and)
+50 b(arithmetic)1110 2261 y Fs(\\)p Ft(fBfor)p Fs(\\)p
+Ft(fP)31 b(commands)g(and)g(their)h(argumen)m(ts)g(or)f(asso)s(ciated)i
+(w)m(ord)e(lists)1110 2371 y(after)k(they)g(are)g(expanded)f(and)h(b)s
+(efore)f(they)h(are)g(executed.)55 b(The)34 b(v)-5 b(alue)1110
+2480 y(of)34 b(the)g Fs(PS4)f Ft(v)-5 b(ariable)35 b(is)f(expanded)g
 (and)f(the)h(resultan)m(t)h(v)-5 b(alue)34 b(is)g(prin)m(ted)1110
-847 y(b)s(efore)c(the)h(command)f(and)f(its)i(expanded)f(argumen)m(ts.)
-630 1000 y Fs(-B)384 b Ft(The)41 b(shell)g(will)g(p)s(erform)f(brace)h
-(expansion)g(\(see)h(Section)g(3.5.1)g([Brace)1110 1110
-y(Expansion],)30 b(page)h(17\).)42 b(This)30 b(option)h(is)f(on)g(b)m
-(y)h(default.)630 1263 y Fs(-C)384 b Ft(Prev)m(en)m(t)25
+2590 y(b)s(efore)c(the)h(command)f(and)f(its)i(expanded)f(argumen)m
+(ts.)630 2752 y Fs(-B)384 b Ft(The)41 b(shell)g(will)g(p)s(erform)f
+(brace)h(expansion)g(\(see)h(Section)g(3.5.1)g([Brace)1110
+2861 y(Expansion],)30 b(page)h(17\).)42 b(This)30 b(option)h(is)f(on)g
+(b)m(y)h(default.)630 3023 y Fs(-C)384 b Ft(Prev)m(en)m(t)25
 b(output)e(redirection)h(using)f(`)p Fs(>)p Ft(',)i(`)p
 Fs(>&)p Ft(',)g(and)e(`)p Fs(<>)p Ft(')g(from)h(o)m(v)m(erwriting)1110
-1373 y(existing)31 b(\014les.)630 1526 y Fs(-E)384 b
+3133 y(existing)31 b(\014les.)630 3294 y Fs(-E)384 b
 Ft(If)39 b(set,)j(an)m(y)e(trap)f(on)g Fs(ERR)g Ft(is)g(inherited)g(b)m
-(y)g(shell)h(functions,)h(command)1110 1636 y(substitutions,)35
+(y)g(shell)h(functions,)h(command)1110 3404 y(substitutions,)35
 b(and)e(commands)g(executed)i(in)f(a)g(subshell)f(en)m(vironmen)m(t.)
-1110 1745 y(The)d Fs(ERR)f Ft(trap)i(is)f(normally)h(not)f(inherited)g
-(in)g(suc)m(h)g(cases.)630 1899 y Fs(-H)384 b Ft(Enable)38
+1110 3513 y(The)d Fs(ERR)f Ft(trap)i(is)f(normally)h(not)f(inherited)g
+(in)g(suc)m(h)g(cases.)630 3675 y Fs(-H)384 b Ft(Enable)38
 b(`)p Fs(!)p Ft(')h(st)m(yle)h(history)e(substitution)g(\(see)h
-(Section)h(9.3)f([History)g(In-)1110 2008 y(teraction],)g(page)d
+(Section)h(9.3)f([History)g(In-)1110 3785 y(teraction],)g(page)d
 (115\).)57 b(This)34 b(option)i(is)f(on)g(b)m(y)h(default)f(for)g(in)m
-(teractiv)m(e)1110 2118 y(shells.)630 2271 y Fs(-P)384
+(teractiv)m(e)1110 3894 y(shells.)630 4056 y Fs(-P)384
 b Ft(If)43 b(set,)k(do)c(not)g(follo)m(w)h(sym)m(b)s(olic)g(links)e
-(when)g(p)s(erforming)g(commands)1110 2381 y(suc)m(h)29
+(when)g(p)s(erforming)g(commands)1110 4166 y(suc)m(h)29
 b(as)h Fs(cd)f Ft(whic)m(h)g(c)m(hange)h(the)g(curren)m(t)f(directory)
--8 b(.)42 b(The)28 b(ph)m(ysical)j(direc-)1110 2491 y(tory)j(is)g(used)
+-8 b(.)42 b(The)28 b(ph)m(ysical)j(direc-)1110 4275 y(tory)j(is)g(used)
 f(instead.)52 b(By)34 b(default,)h(Bash)f(follo)m(ws)h(the)f(logical)i
-(c)m(hain)f(of)1110 2600 y(directories)j(when)d(p)s(erforming)h
+(c)m(hain)f(of)1110 4385 y(directories)j(when)d(p)s(erforming)h
 (commands)g(whic)m(h)g(c)m(hange)i(the)f(curren)m(t)1110
-2710 y(directory)-8 b(.)1110 2841 y(F)g(or)31 b(example,)g(if)f(`)p
+4495 y(directory)-8 b(.)1110 4630 y(F)g(or)31 b(example,)g(if)f(`)p
 Fs(/usr/sys)p Ft(')e(is)i(a)g(sym)m(b)s(olic)h(link)f(to)g(`)p
-Fs(/usr/local/sys)p Ft(')1110 2951 y(then:)1350 3082
-y Fs($)47 b(cd)h(/usr/sys;)d(echo)i($PWD)1350 3192 y(/usr/sys)1350
-3302 y($)g(cd)h(..;)f(pwd)1350 3411 y(/usr)1110 3543
-y Ft(If)30 b Fs(set)f(-P)h Ft(is)h(on,)f(then:)1350 3674
-y Fs($)47 b(cd)h(/usr/sys;)d(echo)i($PWD)1350 3784 y(/usr/local/sys)
-1350 3893 y($)g(cd)h(..;)f(pwd)1350 4003 y(/usr/local)630
-4156 y(-T)384 b Ft(If)34 b(set,)j(an)m(y)e(trap)g(on)g
-Fs(DEBUG)e Ft(and)i Fs(RETURN)e Ft(are)i(inherited)g(b)m(y)f(shell)i
-(func-)1110 4266 y(tions,)k(command)d(substitutions,)h(and)f(commands)g
-(executed)h(in)f(a)h(sub-)1110 4376 y(shell)33 b(en)m(vironmen)m(t.)49
-b(The)32 b Fs(DEBUG)g Ft(and)g Fs(RETURN)f Ft(traps)h(are)i(normally)f
-(not)1110 4485 y(inherited)d(in)g(suc)m(h)g(cases.)630
-4639 y Fs(--)384 b Ft(If)31 b(no)h(argumen)m(ts)f(follo)m(w)i(this)f
-(option,)g(then)f(the)h(p)s(ositional)h(parameters)1110
-4748 y(are)h(unset.)49 b(Otherwise,)34 b(the)g(p)s(ositional)g
-(parameters)g(are)g(set)g(to)g(the)g Fq(ar-)1110 4858
-y(gumen)m(ts)p Ft(,)d(ev)m(en)g(if)f(some)h(of)g(them)f(b)s(egin)g
-(with)g(a)h(`)p Fs(-)p Ft('.)630 5011 y Fs(-)432 b Ft(Signal)45
-b(the)g(end)f(of)h(options,)k(cause)c(all)h(remaining)e
-Fq(argumen)m(ts)49 b Ft(to)d(b)s(e)1110 5121 y(assigned)38
-b(to)h(the)f(p)s(ositional)h(parameters.)65 b(The)37
-b(`)p Fs(-x)p Ft(')h(and)g(`)p Fs(-v)p Ft(')g(options)1110
-5230 y(are)25 b(turned)e(o\013.)40 b(If)24 b(there)h(are)g(no)f
-(argumen)m(ts,)i(the)f(p)s(ositional)h(parameters)1110
-5340 y(remain)k(unc)m(hanged.)p eop end
+Fs(/usr/local/sys)p Ft(')1110 4740 y(then:)1350 4876
+y Fs($)47 b(cd)h(/usr/sys;)d(echo)i($PWD)1350 4985 y(/usr/sys)1350
+5095 y($)g(cd)h(..;)f(pwd)1350 5204 y(/usr)1110 5340
+y Ft(If)30 b Fs(set)f(-P)h Ft(is)h(on,)f(then:)p eop
+end
 %%Page: 54 60
 TeXDict begin 54 59 bop 150 -116 a Ft(54)2572 b(Bash)31
-b(Reference)g(Man)m(ual)630 299 y(Using)c(`)p Fs(+)p
-Ft(')h(rather)f(than)g(`)p Fs(-)p Ft(')g(causes)h(these)f(options)h(to)
-g(b)s(e)e(turned)g(o\013.)40 b(The)27 b(options)h(can)630
-408 y(also)36 b(b)s(e)f(used)f(up)s(on)g(in)m(v)m(o)s(cation)j(of)e
+b(Reference)g(Man)m(ual)1350 299 y Fs($)47 b(cd)h(/usr/sys;)d(echo)i
+($PWD)1350 408 y(/usr/local/sys)1350 518 y($)g(cd)h(..;)f(pwd)1350
+628 y(/usr/local)630 787 y(-T)384 b Ft(If)34 b(set,)j(an)m(y)e(trap)g
+(on)g Fs(DEBUG)e Ft(and)i Fs(RETURN)e Ft(are)i(inherited)g(b)m(y)f
+(shell)i(func-)1110 897 y(tions,)k(command)d(substitutions,)h(and)f
+(commands)g(executed)h(in)f(a)h(sub-)1110 1006 y(shell)33
+b(en)m(vironmen)m(t.)49 b(The)32 b Fs(DEBUG)g Ft(and)g
+Fs(RETURN)f Ft(traps)h(are)i(normally)f(not)1110 1116
+y(inherited)d(in)g(suc)m(h)g(cases.)630 1275 y Fs(--)384
+b Ft(If)31 b(no)h(argumen)m(ts)f(follo)m(w)i(this)f(option,)g(then)f
+(the)h(p)s(ositional)h(parameters)1110 1385 y(are)h(unset.)49
+b(Otherwise,)34 b(the)g(p)s(ositional)g(parameters)g(are)g(set)g(to)g
+(the)g Fq(ar-)1110 1494 y(gumen)m(ts)p Ft(,)d(ev)m(en)g(if)f(some)h(of)
+g(them)f(b)s(egin)g(with)g(a)h(`)p Fs(-)p Ft('.)630 1654
+y Fs(-)432 b Ft(Signal)45 b(the)g(end)f(of)h(options,)k(cause)c(all)h
+(remaining)e Fq(argumen)m(ts)49 b Ft(to)d(b)s(e)1110
+1763 y(assigned)38 b(to)h(the)f(p)s(ositional)h(parameters.)65
+b(The)37 b(`)p Fs(-x)p Ft(')h(and)g(`)p Fs(-v)p Ft(')g(options)1110
+1873 y(are)25 b(turned)e(o\013.)40 b(If)24 b(there)h(are)g(no)f
+(argumen)m(ts,)i(the)f(p)s(ositional)h(parameters)1110
+1983 y(remain)k(unc)m(hanged.)630 2142 y(Using)d(`)p
+Fs(+)p Ft(')h(rather)f(than)g(`)p Fs(-)p Ft(')g(causes)h(these)f
+(options)h(to)g(b)s(e)e(turned)g(o\013.)40 b(The)27 b(options)h(can)630
+2252 y(also)36 b(b)s(e)f(used)f(up)s(on)g(in)m(v)m(o)s(cation)j(of)e
 (the)g(shell.)56 b(The)34 b(curren)m(t)h(set)h(of)f(options)h(ma)m(y)g
-(b)s(e)630 518 y(found)29 b(in)h Fs($-)p Ft(.)630 653
+(b)s(e)630 2361 y(found)29 b(in)h Fs($-)p Ft(.)630 2496
 y(The)43 b(remaining)h(N)f Fq(argumen)m(ts)48 b Ft(are)c(p)s(ositional)
-g(parameters)g(and)f(are)h(assigned,)j(in)630 762 y(order,)30
+g(parameters)g(and)f(are)h(assigned,)j(in)630 2605 y(order,)30
 b(to)h Fs($1)p Ft(,)f Fs($2)p Ft(,)36 b(.)22 b(.)g(.)42
 b Fs($N)p Ft(.)e(The)30 b(sp)s(ecial)h(parameter)g Fs(#)f
-Ft(is)g(set)h(to)g(N.)630 897 y(The)f(return)f(status)i(is)f(alw)m(a)m
+Ft(is)g(set)h(to)g(N.)630 2740 y(The)f(return)f(status)i(is)f(alw)m(a)m
 (ys)i(zero)f(unless)f(an)g(in)m(v)-5 b(alid)31 b(option)g(is)f
-(supplied.)150 1154 y Fr(4.4)68 b(Sp)t(ecial)45 b(Builtins)275
-1398 y Ft(F)-8 b(or)25 b(historical)h(reasons,)g(the)e
+(supplied.)150 2997 y Fr(4.4)68 b(Sp)t(ecial)45 b(Builtins)275
+3241 y Ft(F)-8 b(or)25 b(historical)h(reasons,)g(the)e
 Fl(posix)g Ft(1003.2)j(standard)d(has)g(classi\014ed)h(sev)m(eral)h
-(builtin)e(commands)150 1508 y(as)37 b Fm(sp)-5 b(e)g(cial)p
+(builtin)e(commands)150 3351 y(as)37 b Fm(sp)-5 b(e)g(cial)p
 Ft(.)60 b(When)36 b(Bash)h(is)g(executing)g(in)f Fl(posix)g
 Ft(mo)s(de,)i(the)f(sp)s(ecial)g(builtins)e(di\013er)i(from)f(other)150
-1617 y(builtin)30 b(commands)g(in)g(three)h(resp)s(ects:)199
-1752 y(1.)61 b(Sp)s(ecial)31 b(builtins)e(are)i(found)e(b)s(efore)h
+3460 y(builtin)30 b(commands)g(in)g(three)h(resp)s(ects:)199
+3595 y(1.)61 b(Sp)s(ecial)31 b(builtins)e(are)i(found)e(b)s(efore)h
 (shell)h(functions)f(during)f(command)h(lo)s(okup.)199
-1886 y(2.)61 b(If)30 b(a)h(sp)s(ecial)g(builtin)f(returns)f(an)h(error)
+3729 y(2.)61 b(If)30 b(a)h(sp)s(ecial)g(builtin)f(returns)f(an)h(error)
 g(status,)h(a)g(non-in)m(teractiv)m(e)i(shell)d(exits.)199
-2021 y(3.)61 b(Assignmen)m(t)30 b(statemen)m(ts)h(preceding)f(the)f
+3864 y(3.)61 b(Assignmen)m(t)30 b(statemen)m(ts)h(preceding)f(the)f
 (command)g(sta)m(y)i(in)e(e\013ect)i(in)e(the)h(shell)f(en)m(vironmen)m
-(t)330 2130 y(after)i(the)f(command)h(completes.)275
-2290 y(When)36 b(Bash)g(is)h(not)f(executing)i(in)e Fl(posix)f
+(t)330 3973 y(after)i(the)f(command)h(completes.)275
+4133 y(When)36 b(Bash)g(is)h(not)f(executing)i(in)e Fl(posix)f
 Ft(mo)s(de,)j(these)f(builtins)f(b)s(eha)m(v)m(e)h(no)f(di\013eren)m
-(tly)h(than)150 2399 y(the)31 b(rest)f(of)h(the)f(Bash)h(builtin)e
+(tly)h(than)150 4242 y(the)31 b(rest)f(of)h(the)f(Bash)h(builtin)e
 (commands.)41 b(The)30 b(Bash)g Fl(posix)g Ft(mo)s(de)g(is)g(describ)s
-(ed)f(in)h(Section)h(6.11)150 2509 y([Bash)g(POSIX)e(Mo)s(de],)i(page)g
-(78.)275 2643 y(These)f(are)g(the)h Fl(posix)f Ft(sp)s(ecial)h
-(builtins:)390 2778 y Fs(break)46 b(:)i(.)f(continue)f(eval)g(exec)h
-(exit)g(export)f(readonly)f(return)h(set)390 2888 y(shift)g(trap)h
+(ed)f(in)h(Section)h(6.11)150 4352 y([Bash)g(POSIX)e(Mo)s(de],)i(page)g
+(78.)275 4487 y(These)f(are)g(the)h Fl(posix)f Ft(sp)s(ecial)h
+(builtins:)390 4621 y Fs(break)46 b(:)i(.)f(continue)f(eval)g(exec)h
+(exit)g(export)f(readonly)f(return)h(set)390 4731 y(shift)g(trap)h
 (unset)p eop end
 %%Page: 55 61
 TeXDict begin 55 60 bop 150 -116 a Ft(Chapter)30 b(5:)41
@@ -8958,7 +8968,7 @@ b(ariable)31 b(is)g(not)f(set,)i(the)e Fs(select)f Ft(command)h
 b Ft(The)33 b(v)-5 b(alue)34 b(is)g(the)g(prompt)f(prin)m(ted)g(b)s
 (efore)g(the)h(command)f(line)h(is)g(ec)m(ho)s(ed)g(when)f(the)630
 4419 y(`)p Fs(-x)p Ft(')23 b(option)h(is)g(set)g(\(see)g(Section)h(4.3)
-f([The)f(Set)h(Builtin],)i(page)e(50\).)40 b(The)23 b(\014rst)f(c)m
+f([The)f(Set)h(Builtin],)i(page)e(51\).)40 b(The)23 b(\014rst)f(c)m
 (haracter)630 4529 y(of)34 b Fs(PS4)g Ft(is)g(replicated)i(m)m(ultiple)
 f(times,)h(as)e(necessary)-8 b(,)37 b(to)e(indicate)g(m)m(ultiple)g
 (lev)m(els)h(of)630 4639 y(indirection.)41 b(The)30 b(default)h(is)f(`)
@@ -8991,7 +9001,7 @@ e(assigns)h(to)f(it)h(the)f(full)f(pathname)h(of)g(the)g(curren)m(t)630
 41 b(Eac)m(h)31 b(w)m(ord)f(in)g(the)h(list)g(is)g(a)g(v)-5
 b(alid)630 1369 y(argumen)m(t)29 b(for)g(the)g(`)p Fs(-o)p
 Ft(')g(option)g(to)h(the)f Fs(set)f Ft(builtin)h(command)g(\(see)g
-(Section)h(4.3)g([The)630 1479 y(Set)f(Builtin],)h(page)f(50\).)42
+(Section)h(4.3)g([The)630 1479 y(Set)f(Builtin],)h(page)f(51\).)42
 b(The)28 b(options)h(app)s(earing)f(in)g Fs(SHELLOPTS)e
 Ft(are)j(those)h(rep)s(orted)630 1589 y(as)g(`)p Fs(on)p
 Ft(')f(b)m(y)h(`)p Fs(set)g(-o)p Ft('.)40 b(If)29 b(this)h(v)-5
@@ -9061,9 +9071,12 @@ i(w)m(ait)630 408 y(for)i(input)f(after)i(issuing)f(the)g(primary)g
 (prompt)f(when)g(the)i(shell)f(is)h(in)m(teractiv)m(e.)49
 b(Bash)630 518 y(terminates)31 b(after)g(that)g(n)m(um)m(b)s(er)e(of)i
 (seconds)f(if)g(input)g(do)s(es)g(not)g(arriv)m(e.)150
-677 y Fs(UID)336 b Ft(The)30 b(n)m(umeric)g(real)h(user)f(id)g(of)g
-(the)h(curren)m(t)f(user.)40 b(This)30 b(v)-5 b(ariable)31
-b(is)f(readonly)-8 b(.)p eop end
+677 y Fs(TMPDIR)192 b Ft(If)39 b(set,)j(Bash)e(uses)f(its)h(v)-5
+b(alue)40 b(as)f(the)h(name)f(of)h(a)g(directory)g(in)f(whic)m(h)g
+(Bash)h(creates)630 787 y(temp)s(orary)30 b(\014les)g(for)g(the)h
+(shell's)g(use.)150 946 y Fs(UID)336 b Ft(The)30 b(n)m(umeric)g(real)h
+(user)f(id)g(of)g(the)h(curren)m(t)f(user.)40 b(This)30
+b(v)-5 b(ariable)31 b(is)f(readonly)-8 b(.)p eop end
 %%Page: 64 70
 TeXDict begin 64 69 bop 150 -116 a Ft(64)2572 b(Bash)31
 b(Reference)g(Man)m(ual)p eop end
@@ -9084,7 +9097,7 @@ b([-o)k Fj(option)11 b Fs(])46 b([-O)h Fj(shopt_option)11
 b Fs(])43 b([)p Fj(ar-)390 1565 y(gument)57 b Fs(...)o(])275
 1701 y Ft(In)28 b(addition)i(to)g(the)f(single-c)m(haracter)j(shell)e
 (command-line)g(options)g(\(see)g(Section)g(4.3)h([The)e(Set)150
-1810 y(Builtin],)e(page)e(50\),)i(there)e(are)g(sev)m(eral)h(m)m
+1810 y(Builtin],)e(page)e(51\),)i(there)e(are)g(sev)m(eral)h(m)m
 (ulti-c)m(haracter)h(options)e(that)g(y)m(ou)g(can)g(use.)38
 b(These)25 b(options)150 1920 y(m)m(ust)30 b(app)s(ear)g(on)g(the)h
 (command)f(line)h(b)s(efore)f(the)g(single-c)m(haracter)j(options)e(to)
@@ -9096,7 +9109,7 @@ b(urns)630 2301 y(on)40 b(extended)g(debugging)g(mo)s(de)g(\(see)h
 2410 y(description)i(of)g(the)f Fs(extdebug)f Ft(option)i(to)g(the)g
 Fs(shopt)f Ft(builtin\))g(and)g(shell)h(function)630
 2520 y(tracing)36 b(\(see)g(Section)g(4.3)h([The)e(Set)g(Builtin],)j
-(page)e(50)g(for)f(a)g(description)h(of)f(the)h Fs(-o)630
+(page)e(51)g(for)f(a)g(description)h(of)f(the)h Fs(-o)630
 2629 y(functrace)28 b Ft(option\).)150 2790 y Fs(--dump-po-strings)630
 2900 y Ft(A)37 b(list)g(of)f(all)i(double-quoted)e(strings)g(preceded)g
 (b)m(y)h(`)p Fs($)p Ft(')f(is)h(prin)m(ted)f(on)g(the)h(standard)630
@@ -9425,7 +9438,7 @@ Fs(ignoreeof)e Ft(option)j(to)g Fs(set)29 b(-o)36 b Ft(instead)h(of)f
 (exiting)i(imme-)330 1300 y(diately)f(when)e(it)i(receiv)m(es)h(an)e
 Fs(EOF)f Ft(on)h(its)g(standard)f(input)g(when)h(reading)g(a)g(command)
 g(\(see)330 1409 y(Section)31 b(4.3)h([The)e(Set)g(Builtin],)i(page)f
-(50\).)199 1560 y(7.)61 b(Command)43 b(history)h(\(see)h(Section)g(9.1)
+(51\).)199 1560 y(7.)61 b(Command)43 b(history)h(\(see)h(Section)g(9.1)
 g([Bash)f(History)h(F)-8 b(acilities],)51 b(page)45 b(113\))h(and)d
 (history)330 1670 y(expansion)23 b(\(see)i(Section)f(9.3)h([History)f
 (In)m(teraction],)j(page)d(115\))h(are)f(enabled)g(b)m(y)f(default.)39
@@ -9447,7 +9460,7 @@ g(\(see)h(Section)g(3.7.6)i([Signals],)e(page)g(31\).)154
 2863 y(12.)61 b(The)31 b(`)p Fs(-n)p Ft(')g(in)m(v)m(o)s(cation)i
 (option)e(is)h(ignored,)f(and)g(`)p Fs(set)f(-n)p Ft(')g(has)h(no)g
 (e\013ect)i(\(see)f(Section)g(4.3)g([The)330 2972 y(Set)f(Builtin],)g
-(page)g(50\).)154 3123 y(13.)61 b(Bash)32 b(will)g(c)m(hec)m(k)i(for)e
+(page)g(51\).)154 3123 y(13.)61 b(Bash)32 b(will)g(c)m(hec)m(k)i(for)e
 (mail)g(p)s(erio)s(dically)-8 b(,)34 b(dep)s(ending)c(on)i(the)g(v)-5
 b(alues)32 b(of)g(the)h Fs(MAIL)p Ft(,)e Fs(MAILPATH)p
 Ft(,)330 3233 y(and)f Fs(MAILCHECK)e Ft(shell)i(v)-5
@@ -9456,7 +9469,7 @@ b(ariables],)32 b(page)f(55\).)154 3384 y(14.)61 b(Expansion)32
 b(errors)h(due)f(to)i(references)f(to)h(un)m(b)s(ound)c(shell)j(v)-5
 b(ariables)34 b(after)g(`)p Fs(set)29 b(-u)p Ft(')k(has)g(b)s(een)330
 3494 y(enabled)d(will)h(not)g(cause)g(the)f(shell)h(to)g(exit)g(\(see)g
-(Section)h(4.3)f([The)f(Set)h(Builtin],)g(page)g(50\).)154
+(Section)h(4.3)f([The)f(Set)h(Builtin],)g(page)g(51\).)154
 3644 y(15.)61 b(The)48 b(shell)h(will)f(not)h(exit)g(on)g(expansion)f
 (errors)g(caused)g(b)m(y)h Fq(v)-5 b(ar)54 b Ft(b)s(eing)48
 b(unset)g(or)h(n)m(ull)f(in)330 3754 y Fs(${)p Fj(var)11
@@ -9573,7 +9586,7 @@ Fq(optname)47 b Ft(is)41 b(enabled.)73 b(The)41 b(list)h(of)f(options)g
 (app)s(ears)g(in)g(the)630 789 y(description)20 b(of)h(the)f(`)p
 Fs(-o)p Ft(')g(option)h(to)g(the)g Fs(set)e Ft(builtin)h(\(see)h
 (Section)g(4.3)g([The)g(Set)f(Builtin],)630 898 y(page)31
-b(50\).)150 1060 y Fs(-z)f Fj(string)630 1169 y Ft(T)-8
+b(51\).)150 1060 y Fs(-z)f Fj(string)630 1169 y Ft(T)-8
 b(rue)30 b(if)g(the)h(length)g(of)f Fq(string)38 b Ft(is)31
 b(zero.)150 1330 y Fs(-n)f Fj(string)150 1440 y(string)192
 b Ft(T)-8 b(rue)30 b(if)g(the)h(length)g(of)f Fq(string)38
@@ -9771,87 +9784,89 @@ b(A)m(ttributes)30 b(ma)m(y)g(b)s(e)e(sp)s(eci\014ed)h(for)g(an)g(arra)
 m(y)h(v)-5 b(ariable)150 408 y(using)40 b(the)h Fs(declare)d
 Ft(and)i Fs(readonly)f Ft(builtins.)70 b(Eac)m(h)42 b(attribute)f
 (applies)g(to)g(all)h(mem)m(b)s(ers)d(of)i(an)150 518
-y(arra)m(y)-8 b(.)275 657 y(Arra)m(ys)30 b(are)h(assigned)f(to)h(using)
+y(arra)m(y)-8 b(.)275 649 y(Arra)m(ys)30 b(are)h(assigned)f(to)h(using)
 f(comp)s(ound)f(assignmen)m(ts)i(of)g(the)f(form)390
-797 y Fs(name=\(value)p Fj(1)55 b Fs(...)47 b(value)p
-Fj(n)11 b Fs(\))150 936 y Ft(where)37 b(eac)m(h)h Fq(v)-5
+781 y Fs(name=\(value)p Fj(1)55 b Fs(...)47 b(value)p
+Fj(n)11 b Fs(\))150 912 y Ft(where)37 b(eac)m(h)h Fq(v)-5
 b(alue)43 b Ft(is)38 b(of)f(the)h(form)e Fs([[)p Fj(subscript)11
 b Fs(]=])p Fq(string)p Ft(.)58 b(If)36 b(the)i(optional)g(subscript)e
-(is)i(sup-)150 1045 y(plied,)44 b(that)e(index)f(is)g(assigned)h(to;)47
+(is)i(sup-)150 1022 y(plied,)44 b(that)e(index)f(is)g(assigned)h(to;)47
 b(otherwise)42 b(the)f(index)g(of)h(the)f(elemen)m(t)i(assigned)e(is)h
-(the)f(last)150 1155 y(index)34 b(assigned)h(to)g(b)m(y)f(the)h
+(the)f(last)150 1131 y(index)34 b(assigned)h(to)g(b)m(y)f(the)h
 (statemen)m(t)h(plus)d(one.)54 b(Indexing)33 b(starts)i(at)g(zero.)54
-b(This)34 b(syn)m(tax)h(is)f(also)150 1264 y(accepted)h(b)m(y)f(the)g
+b(This)34 b(syn)m(tax)h(is)f(also)150 1241 y(accepted)h(b)m(y)f(the)g
 Fs(declare)e Ft(builtin.)50 b(Individual)33 b(arra)m(y)h(elemen)m(ts)h
-(ma)m(y)g(b)s(e)e(assigned)h(to)g(using)g(the)150 1374
+(ma)m(y)g(b)s(e)e(assigned)h(to)g(using)g(the)150 1350
 y Fs(name[)p Fq(subscript)r Fs(]=)p Fq(v)-5 b(alue)33
 b Ft(syn)m(tax)e(in)m(tro)s(duced)f(ab)s(o)m(v)m(e.)275
-1513 y(An)m(y)j(elemen)m(t)i(of)f(an)f(arra)m(y)h(ma)m(y)g(b)s(e)f
+1482 y(An)m(y)j(elemen)m(t)i(of)f(an)f(arra)m(y)h(ma)m(y)g(b)s(e)f
 (referenced)g(using)g Fs(${name[)p Fq(subscript)r Fs(]})p
-Ft(.)46 b(The)33 b(braces)h(are)150 1623 y(required)28
+Ft(.)46 b(The)33 b(braces)h(are)150 1591 y(required)28
 b(to)j(a)m(v)m(oid)f(con\015icts)g(with)f(the)h(shell's)f(\014lename)h
 (expansion)f(op)s(erators.)41 b(If)28 b(the)i Fq(subscript)g
-Ft(is)150 1732 y(`)p Fs(@)p Ft(')f(or)h(`)p Fs(*)p Ft(',)f(the)h(w)m
+Ft(is)150 1701 y(`)p Fs(@)p Ft(')f(or)h(`)p Fs(*)p Ft(',)f(the)h(w)m
 (ord)f(expands)f(to)i(all)g(mem)m(b)s(ers)e(of)i(the)f(arra)m(y)h
 Fq(name)p Ft(.)40 b(These)29 b(subscripts)f(di\013er)h(only)150
-1842 y(when)36 b(the)g(w)m(ord)g(app)s(ears)g(within)g(double)g
+1810 y(when)36 b(the)g(w)m(ord)g(app)s(ears)g(within)g(double)g
 (quotes.)60 b(If)36 b(the)h(w)m(ord)f(is)g(double-quoted,)j
-Fs(${name[*]})150 1952 y Ft(expands)20 b(to)h(a)g(single)g(w)m(ord)f
+Fs(${name[*]})150 1920 y Ft(expands)20 b(to)h(a)g(single)g(w)m(ord)f
 (with)h(the)g(v)-5 b(alue)21 b(of)f(eac)m(h)i(arra)m(y)f(mem)m(b)s(er)f
 (separated)h(b)m(y)g(the)f(\014rst)g(c)m(haracter)150
-2061 y(of)38 b(the)g Fs(IFS)f Ft(v)-5 b(ariable,)41 b(and)c
+2029 y(of)38 b(the)g Fs(IFS)f Ft(v)-5 b(ariable,)41 b(and)c
 Fs(${name[@]})e Ft(expands)i(eac)m(h)i(elemen)m(t)g(of)f
-Fq(name)43 b Ft(to)c(a)f(separate)h(w)m(ord.)150 2171
+Fq(name)43 b Ft(to)c(a)f(separate)h(w)m(ord.)150 2139
 y(When)32 b(there)h(are)f(no)g(arra)m(y)h(mem)m(b)s(ers,)f
 Fs(${name[@]})e Ft(expands)h(to)i(nothing.)47 b(If)31
-b(the)i(double-quoted)150 2280 y(expansion)39 b(o)s(ccurs)h(within)f(a)
+b(the)i(double-quoted)150 2249 y(expansion)39 b(o)s(ccurs)h(within)f(a)
 h(w)m(ord,)i(the)d(expansion)h(of)g(the)f(\014rst)g(parameter)h(is)g
-(joined)f(with)h(the)150 2390 y(b)s(eginning)j(part)h(of)g(the)g
+(joined)f(with)h(the)150 2358 y(b)s(eginning)j(part)h(of)g(the)g
 (original)h(w)m(ord,)j(and)43 b(the)h(expansion)g(of)g(the)g(last)h
-(parameter)f(is)g(joined)150 2500 y(with)35 b(the)g(last)h(part)f(of)g
+(parameter)f(is)g(joined)150 2468 y(with)35 b(the)g(last)h(part)f(of)g
 (the)g(original)h(w)m(ord.)55 b(This)34 b(is)h(analogous)h(to)g(the)f
-(expansion)g(of)g(the)g(sp)s(ecial)150 2609 y(parameters)28
+(expansion)g(of)g(the)g(sp)s(ecial)150 2577 y(parameters)28
 b(`)p Fs(@)p Ft(')g(and)f(`)p Fs(*)p Ft('.)39 b Fs(${#name[)p
 Fq(subscript)r Fs(]})24 b Ft(expands)j(to)h(the)g(length)g(of)f
-Fs(${name[)p Fq(subscript)r Fs(]})p Ft(.)150 2719 y(If)j
+Fs(${name[)p Fq(subscript)r Fs(]})p Ft(.)150 2687 y(If)j
 Fq(subscript)i Ft(is)f(`)p Fs(@)p Ft(')f(or)h(`)p Fs(*)p
 Ft(',)g(the)g(expansion)g(is)g(the)g(n)m(um)m(b)s(er)e(of)i(elemen)m
 (ts)h(in)f(the)g(arra)m(y)-8 b(.)42 b(Referencing)150
-2828 y(an)30 b(arra)m(y)h(v)-5 b(ariable)31 b(without)g(a)f(subscript)g
+2797 y(an)30 b(arra)m(y)h(v)-5 b(ariable)31 b(without)g(a)f(subscript)g
 (is)g(equiv)-5 b(alen)m(t)32 b(to)f(referencing)g(elemen)m(t)g(zero.)
-275 2968 y(The)h Fs(unset)g Ft(builtin)h(is)g(used)g(to)h(destro)m(y)g
+275 2928 y(The)h Fs(unset)g Ft(builtin)h(is)g(used)g(to)h(destro)m(y)g
 (arra)m(ys.)50 b Fs(unset)31 b Fq(name)5 b Ft([)p Fq(subscript)r
-Ft(])33 b(destro)m(ys)h(the)f(arra)m(y)150 3077 y(elemen)m(t)d(at)g
-(index)e Fq(subscript)p Ft(.)39 b Fs(unset)27 b Fq(name)p
-Ft(,)j(where)e Fq(name)34 b Ft(is)28 b(an)h(arra)m(y)-8
-b(,)30 b(remo)m(v)m(es)g(the)f(en)m(tire)h(arra)m(y)-8
-b(.)150 3187 y(A)30 b(subscript)g(of)g(`)p Fs(*)p Ft(')h(or)f(`)p
-Fs(@)p Ft(')h(also)g(remo)m(v)m(es)h(the)e(en)m(tire)i(arra)m(y)-8
-b(.)275 3326 y(The)22 b Fs(declare)p Ft(,)h Fs(local)p
-Ft(,)g(and)g Fs(readonly)e Ft(builtins)h(eac)m(h)j(accept)f(a)g(`)p
-Fs(-a)p Ft(')f(option)g(to)h(sp)s(ecify)f(an)g(arra)m(y)-8
-b(.)150 3436 y(The)24 b Fs(read)g Ft(builtin)h(accepts)h(a)f(`)p
+Ft(])33 b(destro)m(ys)h(the)f(arra)m(y)150 3037 y(elemen)m(t)j(at)e
+(index)g Fq(subscript)p Ft(.)50 b(Care)34 b(m)m(ust)g(b)s(e)g(tak)m(en)
+h(to)g(a)m(v)m(oid)g(un)m(w)m(an)m(ted)g(side)f(e\013ects)h(caused)f(b)
+m(y)150 3147 y(\014lename)39 b(generation.)68 b Fs(unset)37
+b Fq(name)p Ft(,)k(where)e Fq(name)44 b Ft(is)39 b(an)f(arra)m(y)-8
+b(,)43 b(remo)m(v)m(es)d(the)f(en)m(tire)h(arra)m(y)-8
+b(.)67 b(A)150 3257 y(subscript)29 b(of)i(`)p Fs(*)p
+Ft(')f(or)h(`)p Fs(@)p Ft(')f(also)h(remo)m(v)m(es)h(the)f(en)m(tire)g
+(arra)m(y)-8 b(.)275 3388 y(The)22 b Fs(declare)p Ft(,)h
+Fs(local)p Ft(,)g(and)g Fs(readonly)e Ft(builtins)h(eac)m(h)j(accept)f
+(a)g(`)p Fs(-a)p Ft(')f(option)g(to)h(sp)s(ecify)f(an)g(arra)m(y)-8
+b(.)150 3498 y(The)24 b Fs(read)g Ft(builtin)h(accepts)h(a)f(`)p
 Fs(-a)p Ft(')g(option)h(to)f(assign)h(a)f(list)h(of)f(w)m(ords)f(read)h
-(from)g(the)g(standard)f(input)150 3545 y(to)37 b(an)f(arra)m(y)-8
+(from)g(the)g(standard)f(input)150 3607 y(to)37 b(an)f(arra)m(y)-8
 b(,)39 b(and)c(can)h(read)g(v)-5 b(alues)37 b(from)e(the)i(standard)e
 (input)g(in)m(to)i(individual)f(arra)m(y)g(elemen)m(ts.)150
-3655 y(The)30 b Fs(set)f Ft(and)h Fs(declare)e Ft(builtins)i(displa)m
+3717 y(The)30 b Fs(set)f Ft(and)h Fs(declare)e Ft(builtins)i(displa)m
 (y)g(arra)m(y)h(v)-5 b(alues)31 b(in)f(a)g(w)m(a)m(y)h(that)g(allo)m
-(ws)h(them)e(to)h(b)s(e)f(reused)150 3764 y(as)h(input.)150
-4034 y Fr(6.8)68 b(The)45 b(Directory)g(Stac)l(k)275
-4282 y Ft(The)26 b(directory)g(stac)m(k)i(is)f(a)g(list)g(of)g(recen)m
+(ws)h(them)e(to)h(b)s(e)f(reused)150 3826 y(as)h(input.)150
+4074 y Fr(6.8)68 b(The)45 b(Directory)g(Stac)l(k)275
+4315 y Ft(The)26 b(directory)g(stac)m(k)i(is)f(a)g(list)g(of)g(recen)m
 (tly-visited)h(directories.)41 b(The)26 b Fs(pushd)f
-Ft(builtin)h(adds)g(direc-)150 4392 y(tories)f(to)f(the)h(stac)m(k)g
+Ft(builtin)h(adds)g(direc-)150 4425 y(tories)f(to)f(the)h(stac)m(k)g
 (as)f(it)h(c)m(hanges)f(the)h(curren)m(t)e(directory)-8
 b(,)27 b(and)c(the)h Fs(popd)f Ft(builtin)g(remo)m(v)m(es)j(sp)s
-(eci\014ed)150 4502 y(directories)j(from)f(the)h(stac)m(k)h(and)d(c)m
+(eci\014ed)150 4534 y(directories)j(from)f(the)h(stac)m(k)h(and)d(c)m
 (hanges)j(the)e(curren)m(t)g(directory)h(to)g(the)g(directory)f(remo)m
-(v)m(ed.)41 b(The)150 4611 y Fs(dirs)29 b Ft(builtin)h(displa)m(ys)h
+(v)m(ed.)41 b(The)150 4644 y Fs(dirs)29 b Ft(builtin)h(displa)m(ys)h
 (the)f(con)m(ten)m(ts)i(of)f(the)f(directory)h(stac)m(k.)275
-4750 y(The)k(con)m(ten)m(ts)i(of)f(the)h(directory)f(stac)m(k)h(are)f
+4775 y(The)k(con)m(ten)m(ts)i(of)f(the)h(directory)f(stac)m(k)h(are)f
 (also)h(visible)g(as)f(the)g(v)-5 b(alue)36 b(of)g(the)g
-Fs(DIRSTACK)e Ft(shell)150 4860 y(v)-5 b(ariable.)150
-5094 y Fk(6.8.1)63 b(Directory)40 b(Stac)m(k)g(Builtins)150
+Fs(DIRSTACK)e Ft(shell)150 4885 y(v)-5 b(ariable.)150
+5099 y Fk(6.8.1)63 b(Directory)40 b(Stac)m(k)g(Builtins)150
 5340 y Fs(dirs)p eop end
 %%Page: 76 82
 TeXDict begin 76 81 bop 150 -116 a Ft(76)2572 b(Bash)31
@@ -10061,187 +10076,203 @@ TeXDict begin 79 84 bop 150 -116 a Ft(Chapter)30 b(6:)41
 b(Bash)30 b(F)-8 b(eatures)2484 b(79)150 299 y(c)m(hanging)38
 b(the)f(b)s(eha)m(vior)g(to)g(matc)m(h)h(that)f(sp)s(eci\014ed)g(b)m(y)
 f Fl(posix)g Ft(in)h(areas)g(where)g(the)g(Bash)g(default)150
-408 y(di\013ers.)275 539 y(When)30 b(in)m(v)m(ok)m(ed)h(as)g
+408 y(di\013ers.)275 545 y(When)30 b(in)m(v)m(ok)m(ed)h(as)g
 Fs(sh)p Ft(,)f(Bash)h(en)m(ters)g Fl(posix)e Ft(mo)s(de)h(after)h
-(reading)g(the)f(startup)g(\014les.)275 669 y(The)f(follo)m(wing)j
+(reading)g(the)f(startup)g(\014les.)275 682 y(The)f(follo)m(wing)j
 (list)f(is)g(what's)f(c)m(hanged)h(when)e(`)p Fl(posix)h
-Ft(mo)s(de')h(is)f(in)g(e\013ect:)199 800 y(1.)61 b(When)28
+Ft(mo)s(de')h(is)f(in)g(e\013ect:)199 818 y(1.)61 b(When)28
 b(a)i(command)e(in)g(the)h(hash)f(table)i(no)e(longer)h(exists,)h(Bash)
 f(will)g(re-searc)m(h)h Fs($PATH)d Ft(to)i(\014nd)330
-909 y(the)i(new)e(lo)s(cation.)43 b(This)29 b(is)i(also)g(a)m(v)-5
+928 y(the)i(new)e(lo)s(cation.)43 b(This)29 b(is)i(also)g(a)m(v)-5
 b(ailable)33 b(with)d(`)p Fs(shopt)f(-s)h(checkhash)p
-Ft('.)199 1040 y(2.)61 b(The)42 b(message)h(prin)m(ted)e(b)m(y)h(the)g
+Ft('.)199 1063 y(2.)61 b(The)42 b(message)h(prin)m(ted)e(b)m(y)h(the)g
 (job)g(con)m(trol)i(co)s(de)e(and)f(builtins)h(when)f(a)h(job)g(exits)h
-(with)f(a)330 1149 y(non-zero)31 b(status)g(is)f(`Done\(status\)'.)199
-1280 y(3.)61 b(The)40 b(message)h(prin)m(ted)f(b)m(y)g(the)h(job)f(con)
+(with)f(a)330 1173 y(non-zero)31 b(status)g(is)f(`Done\(status\)'.)199
+1308 y(3.)61 b(The)40 b(message)h(prin)m(ted)f(b)m(y)g(the)h(job)f(con)
 m(trol)h(co)s(de)g(and)f(builtins)f(when)h(a)g(job)g(is)h(stopp)s(ed)e
-(is)330 1390 y(`Stopp)s(ed\()p Fq(signame)5 b Ft(\)',)31
+(is)330 1418 y(`Stopp)s(ed\()p Fq(signame)5 b Ft(\)',)31
 b(where)f Fq(signame)36 b Ft(is,)31 b(for)f(example,)h
-Fs(SIGTSTP)p Ft(.)199 1520 y(4.)61 b(Reserv)m(ed)40 b(w)m(ords)g(app)s
-(earing)f(in)h(a)g(con)m(text)i(where)d(reserv)m(ed)h(w)m(ords)f(are)i
-(recognized)g(do)f(not)330 1630 y(undergo)30 b(alias)h(expansion.)199
-1760 y(5.)61 b(The)39 b Fl(posix)f Ft(1003.2)k Fs(PS1)d
-Ft(and)f Fs(PS2)h Ft(expansions)g(of)g(`)p Fs(!)p Ft(')h(to)g(the)f
-(history)g(n)m(um)m(b)s(er)f(and)h(`)p Fs(!!)p Ft(')g(to)330
-1870 y(`)p Fs(!)p Ft(')c(are)h(enabled,)h(and)e(parameter)g(expansion)h
-(is)f(p)s(erformed)f(on)h(the)h(v)-5 b(alues)35 b(of)h
-Fs(PS1)e Ft(and)h Fs(PS2)330 1979 y Ft(regardless)c(of)f(the)h(setting)
-g(of)g(the)f Fs(promptvars)e Ft(option.)199 2110 y(6.)61
-b(The)30 b Fl(posix)g Ft(1003.2)i(startup)e(\014les)h(are)f(executed)i
-(\()p Fs($ENV)p Ft(\))e(rather)g(than)g(the)g(normal)h(Bash)f(\014les.)
-199 2240 y(7.)61 b(Tilde)30 b(expansion)g(is)f(only)h(p)s(erformed)f
-(on)h(assignmen)m(ts)g(preceding)g(a)g(command)g(name,)g(rather)330
-2350 y(than)g(on)g(all)i(assignmen)m(t)f(statemen)m(ts)h(on)e(the)h
-(line.)199 2480 y(8.)61 b(The)30 b(default)g(history)h(\014le)f(is)h(`)
+Fs(SIGTSTP)p Ft(.)199 1554 y(4.)61 b(The)27 b Fs(bg)g
+Ft(builtin)g(uses)g(the)h(required)f(format)h(to)g(describ)s(e)f(eac)m
+(h)i(job)e(placed)h(in)f(the)h(bac)m(kground,)330 1663
+y(whic)m(h)h(do)s(es)g(not)g(include)g(an)g(indication)h(of)f(whether)f
+(the)h(job)g(is)g(the)h(curren)m(t)e(or)h(previous)g(job.)199
+1799 y(5.)61 b(Reserv)m(ed)40 b(w)m(ords)g(app)s(earing)f(in)h(a)g(con)
+m(text)i(where)d(reserv)m(ed)h(w)m(ords)f(are)i(recognized)g(do)f(not)
+330 1908 y(undergo)30 b(alias)h(expansion.)199 2044 y(6.)61
+b(The)39 b Fl(posix)f Ft(1003.2)k Fs(PS1)d Ft(and)f Fs(PS2)h
+Ft(expansions)g(of)g(`)p Fs(!)p Ft(')h(to)g(the)f(history)g(n)m(um)m(b)
+s(er)f(and)h(`)p Fs(!!)p Ft(')g(to)330 2153 y(`)p Fs(!)p
+Ft(')c(are)h(enabled,)h(and)e(parameter)g(expansion)h(is)f(p)s
+(erformed)f(on)h(the)h(v)-5 b(alues)35 b(of)h Fs(PS1)e
+Ft(and)h Fs(PS2)330 2263 y Ft(regardless)c(of)f(the)h(setting)g(of)g
+(the)f Fs(promptvars)e Ft(option.)199 2399 y(7.)61 b(The)30
+b Fl(posix)g Ft(1003.2)i(startup)e(\014les)h(are)f(executed)i(\()p
+Fs($ENV)p Ft(\))e(rather)g(than)g(the)g(normal)h(Bash)f(\014les.)199
+2534 y(8.)61 b(Tilde)30 b(expansion)g(is)f(only)h(p)s(erformed)f(on)h
+(assignmen)m(ts)g(preceding)g(a)g(command)g(name,)g(rather)330
+2644 y(than)g(on)g(all)i(assignmen)m(t)f(statemen)m(ts)h(on)e(the)h
+(line.)199 2779 y(9.)61 b(The)30 b(default)g(history)h(\014le)f(is)h(`)
 p Fs(~/.sh_history)p Ft(')c(\(this)k(is)f(the)g(default)h(v)-5
-b(alue)31 b(of)f Fs($HISTFILE)p Ft(\).)199 2611 y(9.)61
+b(alue)31 b(of)f Fs($HISTFILE)p Ft(\).)154 2915 y(10.)61
 b(The)23 b(output)f(of)i(`)p Fs(kill)29 b(-l)p Ft(')23
 b(prin)m(ts)f(all)i(the)g(signal)f(names)g(on)g(a)h(single)g(line,)h
-(separated)e(b)m(y)g(spaces,)330 2720 y(without)30 b(the)h(`)p
-Fs(SIG)p Ft(')f(pre\014x.)154 2851 y(10.)61 b(The)30
+(separated)e(b)m(y)g(spaces,)330 3024 y(without)30 b(the)h(`)p
+Fs(SIG)p Ft(')f(pre\014x.)154 3160 y(11.)61 b(The)30
 b Fs(kill)f Ft(builtin)h(do)s(es)g(not)h(accept)h(signal)f(names)f
-(with)g(a)h(`)p Fs(SIG)p Ft(')f(pre\014x.)154 2981 y(11.)61
+(with)g(a)h(`)p Fs(SIG)p Ft(')f(pre\014x.)154 3295 y(12.)61
 b(Non-in)m(teractiv)m(e)34 b(shells)c(exit)h(if)g Fq(\014lename)k
 Ft(in)30 b Fs(.)g Fq(\014lename)36 b Ft(is)31 b(not)f(found.)154
-3112 y(12.)61 b(Non-in)m(teractiv)m(e)41 b(shells)d(exit)h(if)f(a)g
+3431 y(13.)61 b(Non-in)m(teractiv)m(e)41 b(shells)d(exit)h(if)f(a)g
 (syn)m(tax)g(error)g(in)f(an)h(arithmetic)h(expansion)f(results)f(in)h
-(an)330 3221 y(in)m(v)-5 b(alid)31 b(expression.)154
-3352 y(13.)61 b(Redirection)25 b(op)s(erators)f(do)g(not)g(p)s(erform)f
+(an)330 3540 y(in)m(v)-5 b(alid)31 b(expression.)154
+3676 y(14.)61 b(Redirection)25 b(op)s(erators)f(do)g(not)g(p)s(erform)f
 (\014lename)h(expansion)g(on)g(the)g(w)m(ord)f(in)h(the)g(redirection)
-330 3461 y(unless)30 b(the)g(shell)h(is)f(in)m(teractiv)m(e.)154
-3592 y(14.)61 b(Redirection)31 b(op)s(erators)g(do)f(not)h(p)s(erform)e
+330 3786 y(unless)30 b(the)g(shell)h(is)f(in)m(teractiv)m(e.)154
+3921 y(15.)61 b(Redirection)31 b(op)s(erators)g(do)f(not)h(p)s(erform)e
 (w)m(ord)h(splitting)h(on)f(the)h(w)m(ord)f(in)g(the)g(redirection.)154
-3722 y(15.)61 b(F)-8 b(unction)35 b(names)g(m)m(ust)f(b)s(e)g(v)-5
+4057 y(16.)61 b(F)-8 b(unction)35 b(names)g(m)m(ust)f(b)s(e)g(v)-5
 b(alid)35 b(shell)f Fs(name)p Ft(s.)52 b(That)34 b(is,)i(they)f(ma)m(y)
-g(not)g(con)m(tain)g(c)m(haracters)330 3832 y(other)e(than)g(letters,)h
+g(not)g(con)m(tain)g(c)m(haracters)330 4166 y(other)e(than)g(letters,)h
 (digits,)h(and)d(underscores,)h(and)f(ma)m(y)h(not)g(start)h(with)e(a)h
-(digit.)49 b(Declaring)330 3941 y(a)31 b(function)f(with)g(an)g(in)m(v)
+(digit.)49 b(Declaring)330 4276 y(a)31 b(function)f(with)g(an)g(in)m(v)
 -5 b(alid)31 b(name)g(causes)f(a)h(fatal)h(syn)m(tax)f(error)f(in)g
-(non-in)m(teractiv)m(e)j(shells.)154 4072 y(16.)61 b
-Fl(posix)23 b Ft(1003.2)j(`sp)s(ecial')e(builtins)f(are)h(found)e(b)s
-(efore)h(shell)h(functions)f(during)f(command)h(lo)s(okup.)154
-4202 y(17.)61 b(If)33 b(a)h Fl(posix)f Ft(1003.2)j(sp)s(ecial)e
+(non-in)m(teractiv)m(e)j(shells.)154 4411 y(17.)61 b
+Fl(posix)27 b Ft(1003.2)k(sp)s(ecial)d(builtins)g(are)g(found)f(b)s
+(efore)h(shell)g(functions)f(during)g(command)h(lo)s(okup.)154
+4547 y(18.)61 b(If)33 b(a)h Fl(posix)f Ft(1003.2)j(sp)s(ecial)e
 (builtin)g(returns)e(an)i(error)f(status,)i(a)f(non-in)m(teractiv)m(e)i
-(shell)e(exits.)330 4312 y(The)43 b(fatal)j(errors)d(are)h(those)h
+(shell)e(exits.)330 4656 y(The)43 b(fatal)j(errors)d(are)h(those)h
 (listed)f(in)g(the)g(POSIX.2)g(standard,)j(and)c(include)h(things)g
-(lik)m(e)330 4422 y(passing)25 b(incorrect)i(options,)g(redirection)f
+(lik)m(e)330 4766 y(passing)25 b(incorrect)i(options,)g(redirection)f
 (errors,)g(v)-5 b(ariable)26 b(assignmen)m(t)g(errors)f(for)g
-(assignmen)m(ts)330 4531 y(preceding)30 b(the)h(command)f(name,)h(and)e
-(so)i(on.)154 4662 y(18.)61 b(If)34 b Fs(CDPATH)f Ft(is)h(set,)i(the)f
+(assignmen)m(ts)330 4876 y(preceding)30 b(the)h(command)f(name,)h(and)e
+(so)i(on.)154 5011 y(19.)61 b(If)34 b Fs(CDPATH)f Ft(is)h(set,)i(the)f
 Fs(cd)f Ft(builtin)g(will)g(not)h(implicitly)h(app)s(end)c(the)j
-(curren)m(t)f(directory)h(to)g(it.)330 4771 y(This)29
+(curren)m(t)f(directory)h(to)g(it.)330 5121 y(This)29
 b(means)g(that)h Fs(cd)f Ft(will)h(fail)g(if)g(no)f(v)-5
 b(alid)30 b(directory)g(name)f(can)h(b)s(e)f(constructed)h(from)f(an)m
-(y)h(of)330 4881 y(the)i(en)m(tries)g(in)f Fs($CDPATH)p
+(y)h(of)330 5230 y(the)i(en)m(tries)g(in)f Fs($CDPATH)p
 Ft(,)e(ev)m(en)j(if)g(the)f(a)h(directory)g(with)f(the)g(same)h(name)f
-(as)h(the)g(name)f(giv)m(en)330 4990 y(as)g(an)f(argumen)m(t)h(to)g
+(as)h(the)g(name)f(giv)m(en)330 5340 y(as)g(an)f(argumen)m(t)h(to)g
 Fs(cd)f Ft(exists)h(in)f(the)g(curren)m(t)g(directory)-8
-b(.)154 5121 y(19.)61 b(A)31 b(non-in)m(teractiv)m(e)j(shell)d(exits)h
-(with)e(an)h(error)g(status)g(if)g(a)g(v)-5 b(ariable)32
-b(assignmen)m(t)g(error)e(o)s(ccurs)330 5230 y(when)38
-b(no)h(command)g(name)g(follo)m(ws)i(the)e(assignmen)m(t)h(statemen)m
-(ts.)69 b(A)39 b(v)-5 b(ariable)40 b(assignmen)m(t)330
-5340 y(error)30 b(o)s(ccurs,)g(for)g(example,)i(when)d(trying)i(to)g
-(assign)f(a)h(v)-5 b(alue)31 b(to)g(a)g(readonly)f(v)-5
-b(ariable.)p eop end
+b(.)p eop end
 %%Page: 80 86
 TeXDict begin 80 85 bop 150 -116 a Ft(80)2572 b(Bash)31
-b(Reference)g(Man)m(ual)154 299 y(20.)61 b(A)43 b(non-in)m(teractiv)m
-(e)i(shell)e(exits)h(with)f(an)f(error)h(status)g(if)g(the)g(iteration)
-h(v)-5 b(ariable)44 b(in)f(a)g Fs(for)330 408 y Ft(statemen)m(t)32
+b(Reference)g(Man)m(ual)154 299 y(20.)61 b(A)31 b(non-in)m(teractiv)m
+(e)j(shell)d(exits)h(with)e(an)h(error)g(status)g(if)g(a)g(v)-5
+b(ariable)32 b(assignmen)m(t)g(error)e(o)s(ccurs)330
+408 y(when)38 b(no)h(command)g(name)g(follo)m(ws)i(the)e(assignmen)m(t)
+h(statemen)m(ts.)69 b(A)39 b(v)-5 b(ariable)40 b(assignmen)m(t)330
+518 y(error)30 b(o)s(ccurs,)g(for)g(example,)i(when)d(trying)i(to)g
+(assign)f(a)h(v)-5 b(alue)31 b(to)g(a)g(readonly)f(v)-5
+b(ariable.)154 651 y(21.)61 b(A)43 b(non-in)m(teractiv)m(e)i(shell)e
+(exits)h(with)f(an)f(error)h(status)g(if)g(the)g(iteration)h(v)-5
+b(ariable)44 b(in)f(a)g Fs(for)330 760 y Ft(statemen)m(t)32
 b(or)f(the)f(selection)i(v)-5 b(ariable)32 b(in)e(a)g
 Fs(select)f Ft(statemen)m(t)j(is)f(a)f(readonly)h(v)-5
-b(ariable.)154 545 y(21.)61 b(Pro)s(cess)30 b(substitution)g(is)h(not)f
-(a)m(v)-5 b(ailable.)154 682 y(22.)61 b(Assignmen)m(t)32
+b(ariable.)154 893 y(22.)61 b(Pro)s(cess)30 b(substitution)g(is)h(not)f
+(a)m(v)-5 b(ailable.)154 1026 y(23.)61 b(Assignmen)m(t)32
 b(statemen)m(ts)g(preceding)f Fl(posix)g Ft(1003.2)i(sp)s(ecial)f
-(builtins)e(p)s(ersist)h(in)f(the)i(shell)f(en-)330 792
+(builtins)e(p)s(ersist)h(in)f(the)i(shell)f(en-)330 1135
 y(vironmen)m(t)g(after)f(the)h(builtin)f(completes.)154
-929 y(23.)61 b(Assignmen)m(t)35 b(statemen)m(ts)h(preceding)f(shell)f
+1268 y(24.)61 b(Assignmen)m(t)35 b(statemen)m(ts)h(preceding)f(shell)f
 (function)g(calls)i(p)s(ersist)e(in)g(the)h(shell)f(en)m(vironmen)m(t)
-330 1038 y(after)d(the)f(function)h(returns,)e(as)i(if)f(a)h
+330 1377 y(after)d(the)f(function)h(returns,)e(as)i(if)f(a)h
 Fl(posix)e Ft(sp)s(ecial)i(builtin)f(command)g(had)g(b)s(een)g
-(executed.)154 1175 y(24.)61 b(The)38 b Fs(export)f Ft(and)g
+(executed.)154 1510 y(25.)61 b(The)38 b Fs(export)f Ft(and)g
 Fs(readonly)f Ft(builtin)i(commands)g(displa)m(y)h(their)f(output)g(in)
-g(the)h(format)g(re-)330 1285 y(quired)30 b(b)m(y)g Fl(posix)f
-Ft(1003.2.)154 1422 y(25.)61 b(The)30 b Fs(trap)f Ft(builtin)h(displa)m
+g(the)h(format)g(re-)330 1620 y(quired)30 b(b)m(y)g Fl(posix)f
+Ft(1003.2.)154 1752 y(26.)61 b(The)30 b Fs(trap)f Ft(builtin)h(displa)m
 (ys)g(signal)i(names)e(without)g(the)h(leading)g Fs(SIG)p
-Ft(.)154 1558 y(26.)61 b(The)39 b Fs(trap)e Ft(builtin)i(do)s(esn't)g
+Ft(.)154 1885 y(27.)61 b(The)39 b Fs(trap)e Ft(builtin)i(do)s(esn't)g
 (c)m(hec)m(k)h(the)g(\014rst)e(argumen)m(t)i(for)e(a)i(p)s(ossible)e
-(signal)i(sp)s(eci\014cation)330 1668 y(and)30 b(rev)m(ert)i(the)e
+(signal)i(sp)s(eci\014cation)330 1995 y(and)30 b(rev)m(ert)i(the)e
 (signal)i(handling)e(to)h(the)g(original)h(disp)s(osition)e(if)h(it)g
-(is,)g(unless)f(that)h(argumen)m(t)330 1778 y(consists)e(solely)g(of)g
+(is,)g(unless)f(that)h(argumen)m(t)330 2104 y(consists)e(solely)g(of)g
 (digits)g(and)f(is)g(a)h(v)-5 b(alid)29 b(signal)g(n)m(um)m(b)s(er.)38
 b(If)28 b(users)g(w)m(an)m(t)h(to)g(reset)g(the)g(handler)330
-1887 y(for)h(a)g(giv)m(en)h(signal)g(to)f(the)h(original)g(disp)s
+2214 y(for)h(a)g(giv)m(en)h(signal)g(to)f(the)h(original)g(disp)s
 (osition,)f(they)g(should)f(use)h(`)p Fs(-)p Ft(')g(as)g(the)g(\014rst)
-f(argumen)m(t.)154 2024 y(27.)61 b(The)21 b Fs(.)h Ft(and)f
+f(argumen)m(t.)154 2346 y(28.)61 b(The)21 b Fs(.)h Ft(and)f
 Fs(source)f Ft(builtins)h(do)g(not)h(searc)m(h)h(the)f(curren)m(t)f
 (directory)h(for)g(the)g(\014lename)f(argumen)m(t)330
-2134 y(if)30 b(it)h(is)g(not)f(found)f(b)m(y)i(searc)m(hing)g
-Fs(PATH)p Ft(.)154 2271 y(28.)61 b(Subshells)20 b(spa)m(wned)h(to)h
+2456 y(if)30 b(it)h(is)g(not)f(found)f(b)m(y)i(searc)m(hing)g
+Fs(PATH)p Ft(.)154 2589 y(29.)61 b(Subshells)20 b(spa)m(wned)h(to)h
 (execute)g(command)g(substitutions)f(inherit)g(the)g(v)-5
 b(alue)22 b(of)g(the)f(`)p Fs(-e)p Ft(')g(option)330
-2380 y(from)34 b(the)h(paren)m(t)g(shell.)55 b(When)34
+2698 y(from)34 b(the)h(paren)m(t)g(shell.)55 b(When)34
 b(not)i(in)e Fl(posix)g Ft(mo)s(de,)i(Bash)f(clears)h(the)f(`)p
-Fs(-e)p Ft(')f(option)i(in)e(suc)m(h)330 2490 y(subshells.)154
-2627 y(29.)61 b(Alias)31 b(expansion)g(is)f(alw)m(a)m(ys)i(enabled,)e
-(ev)m(en)i(in)e(non-in)m(teractiv)m(e)j(shells.)154 2763
-y(30.)61 b(When)43 b(the)g Fs(alias)f Ft(builtin)g(displa)m(ys)i(alias)
+Fs(-e)p Ft(')f(option)i(in)e(suc)m(h)330 2808 y(subshells.)154
+2941 y(30.)61 b(Alias)31 b(expansion)g(is)f(alw)m(a)m(ys)i(enabled,)e
+(ev)m(en)i(in)e(non-in)m(teractiv)m(e)j(shells.)154 3073
+y(31.)61 b(When)43 b(the)g Fs(alias)f Ft(builtin)g(displa)m(ys)i(alias)
 g(de\014nitions,)i(it)d(do)s(es)g(not)g(displa)m(y)h(them)f(with)g(a)
-330 2873 y(leading)31 b(`)p Fs(alias)e Ft(')i(unless)f(the)g(`)p
-Fs(-p)p Ft(')g(option)h(is)g(supplied.)154 3010 y(31.)61
+330 3183 y(leading)31 b(`)p Fs(alias)e Ft(')i(unless)f(the)g(`)p
+Fs(-p)p Ft(')g(option)h(is)g(supplied.)154 3315 y(32.)61
 b(When)40 b(the)g Fs(set)f Ft(builtin)h(is)g(in)m(v)m(ok)m(ed)h
 (without)f(options,)j(it)e(do)s(es)f(not)g(displa)m(y)g(shell)g
-(function)330 3119 y(names)30 b(and)g(de\014nitions.)154
-3256 y(32.)61 b(When)36 b(the)g Fs(set)g Ft(builtin)g(is)g(in)m(v)m(ok)
+(function)330 3425 y(names)30 b(and)g(de\014nitions.)154
+3558 y(33.)61 b(When)36 b(the)g Fs(set)g Ft(builtin)g(is)g(in)m(v)m(ok)
 m(ed)i(without)e(options,)i(it)f(displa)m(ys)f(v)-5 b(ariable)37
-b(v)-5 b(alues)37 b(without)330 3366 y(quotes,)26 b(unless)d(they)i
+b(v)-5 b(alues)37 b(without)330 3667 y(quotes,)26 b(unless)d(they)i
 (con)m(tain)g(shell)f(metac)m(haracters,)k(ev)m(en)d(if)f(the)g(result)
-g(con)m(tains)i(nonprin)m(ting)330 3476 y(c)m(haracters.)154
-3612 y(33.)61 b(When)35 b(the)g Fs(cd)f Ft(builtin)h(is)g(in)m(v)m(ok)m
+g(con)m(tains)i(nonprin)m(ting)330 3777 y(c)m(haracters.)154
+3910 y(34.)61 b(When)35 b(the)g Fs(cd)f Ft(builtin)h(is)g(in)m(v)m(ok)m
 (ed)i(in)d Fq(logical)41 b Ft(mo)s(de,)36 b(and)f(the)g(pathname)g
-(constructed)g(from)330 3722 y Fs($PWD)i Ft(and)h(the)h(directory)f
+(constructed)g(from)330 4019 y Fs($PWD)i Ft(and)h(the)h(directory)f
 (name)h(supplied)e(as)i(an)f(argumen)m(t)h(do)s(es)f(not)g(refer)h(to)g
-(an)f(existing)330 3832 y(directory)-8 b(,)32 b Fs(cd)d
+(an)f(existing)330 4129 y(directory)-8 b(,)32 b Fs(cd)d
 Ft(will)i(fail)g(instead)g(of)f(falling)h(bac)m(k)h(to)f
-Fq(ph)m(ysical)j Ft(mo)s(de.)154 3968 y(34.)61 b(When)20
+Fq(ph)m(ysical)j Ft(mo)s(de.)154 4261 y(35.)61 b(When)20
 b(the)h Fs(pwd)e Ft(builtin)h(is)g(supplied)g(the)g(`)p
 Fs(-P)p Ft(')g(option,)j(it)e(resets)g Fs($PWD)e Ft(to)i(a)g(pathname)f
-(con)m(taining)330 4078 y(no)30 b(symlinks.)154 4215
-y(35.)61 b(When)35 b(listing)g(the)g(history)-8 b(,)36
-b(the)f Fs(fc)g Ft(builtin)f(do)s(es)g(not)h(include)g(an)f(indication)
-i(of)f(whether)f(or)330 4324 y(not)d(a)f(history)h(en)m(try)f(has)g(b)s
-(een)g(mo)s(di\014ed.)154 4461 y(36.)61 b(The)30 b(default)g(editor)h
-(used)f(b)m(y)g Fs(fc)g Ft(is)g Fs(ed)p Ft(.)154 4598
-y(37.)61 b(The)37 b Fs(type)g Ft(and)g Fs(command)f Ft(builtins)i(will)
-g(not)g(rep)s(ort)f(a)i(non-executable)g(\014le)f(as)g(ha)m(ving)h(b)s
-(een)330 4708 y(found,)26 b(though)h(the)g(shell)g(will)g(attempt)h(to)
-g(execute)g(suc)m(h)f(a)g(\014le)g(if)g(it)g(is)g(the)g(only)g
-(so-named)g(\014le)330 4817 y(found)i(in)h Fs($PATH)p
-Ft(.)154 4954 y(38.)61 b(When)41 b(the)g Fs(xpg_echo)e
-Ft(option)i(is)g(enabled,)j(Bash)d(do)s(es)g(not)g(attempt)h(to)g(in)m
-(terpret)f(an)m(y)h(ar-)330 5064 y(gumen)m(ts)35 b(to)g
-Fs(echo)e Ft(as)i(options.)54 b(Eac)m(h)35 b(argumen)m(t)g(is)f(displa)
-m(y)m(ed,)j(after)e(escap)s(e)g(c)m(haracters)h(are)330
-5173 y(con)m(v)m(erted.)275 5340 y(There)29 b(is)i(other)f
-Fl(posix)g Ft(1003.2)j(b)s(eha)m(vior)d(that)h(Bash)g(do)s(es)f(not)h
-(implemen)m(t.)41 b(Sp)s(eci\014cally:)p eop end
+(con)m(taining)330 4371 y(no)30 b(symlinks.)154 4504
+y(36.)61 b(The)36 b Fs(pwd)f Ft(builtin)h(v)m(eri\014es)h(that)g(the)f
+(v)-5 b(alue)37 b(it)g(prin)m(ts)e(is)i(the)f(same)h(as)f(the)h(curren)
+m(t)f(directory)-8 b(,)330 4613 y(ev)m(en)31 b(if)f(it)h(is)g(not)f
+(ask)m(ed)h(to)g(c)m(hec)m(k)h(the)f(\014le)f(system)h(with)f(the)h(`)p
+Fs(-P)p Ft(')f(option.)154 4746 y(37.)61 b(When)35 b(listing)g(the)g
+(history)-8 b(,)36 b(the)f Fs(fc)g Ft(builtin)f(do)s(es)g(not)h
+(include)g(an)f(indication)i(of)f(whether)f(or)330 4855
+y(not)d(a)f(history)h(en)m(try)f(has)g(b)s(een)g(mo)s(di\014ed.)154
+4988 y(38.)61 b(The)30 b(default)g(editor)h(used)f(b)m(y)g
+Fs(fc)g Ft(is)g Fs(ed)p Ft(.)154 5121 y(39.)61 b(The)37
+b Fs(type)g Ft(and)g Fs(command)f Ft(builtins)i(will)g(not)g(rep)s(ort)
+f(a)i(non-executable)g(\014le)f(as)g(ha)m(ving)h(b)s(een)330
+5230 y(found,)26 b(though)h(the)g(shell)g(will)g(attempt)h(to)g
+(execute)g(suc)m(h)f(a)g(\014le)g(if)g(it)g(is)g(the)g(only)g(so-named)
+g(\014le)330 5340 y(found)i(in)h Fs($PATH)p Ft(.)p eop
+end
 %%Page: 81 87
 TeXDict begin 81 86 bop 150 -116 a Ft(Chapter)30 b(6:)41
-b(Bash)30 b(F)-8 b(eatures)2484 b(81)199 299 y(1.)61
-b(Assignmen)m(t)26 b(statemen)m(ts)i(a\013ect)f(the)f(execution)g(en)m
-(vironmen)m(t)h(of)f(all)g(builtins,)g(not)g(just)f(sp)s(ecial)330
-408 y(ones.)199 543 y(2.)61 b(When)20 b(a)h(subshell)f(is)h(created)g
-(to)h(execute)g(a)f(shell)f(script)h(with)f(execute)i(p)s(ermission,)g
-(but)e(without)330 653 y(a)35 b(leading)h(`)p Fs(#!)p
-Ft(',)g(Bash)g(sets)f Fs($0)f Ft(to)i(the)f(full)g(pathname)g(of)g(the)
-g(script)g(as)g(found)f(b)m(y)h(searc)m(hing)330 762
-y Fs($PATH)p Ft(,)29 b(rather)h(than)h(the)f(command)g(as)h(t)m(yp)s
-(ed)f(b)m(y)g(the)h(user.)199 897 y(3.)61 b(When)28 b(using)f(`)p
-Fs(.)p Ft(')h(to)g(source)g(a)h(shell)f(script)f(found)g(in)g
-Fs($PATH)p Ft(,)h(bash)f(c)m(hec)m(ks)i(execute)g(p)s(ermission)330
-1006 y(bits)h(rather)h(than)f(read)g(p)s(ermission)f(bits,)i(just)f(as)
-g(if)g(it)h(w)m(ere)g(searc)m(hing)g(for)g(a)f(command.)p
+b(Bash)30 b(F)-8 b(eatures)2484 b(81)154 299 y(40.)61
+b(The)33 b Fs(vi)f Ft(editing)i(mo)s(de)f(will)g(in)m(v)m(ok)m(e)i(the)
+e Fs(vi)g Ft(editor)h(directly)f(when)f(the)i(`)p Fs(v)p
+Ft(')f(command)g(is)g(run,)330 408 y(instead)e(of)f(c)m(hec)m(king)i
+Fs($FCEDIT)d Ft(and)g Fs($EDITOR)p Ft(.)154 543 y(41.)61
+b(When)41 b(the)g Fs(xpg_echo)e Ft(option)i(is)g(enabled,)j(Bash)d(do)s
+(es)g(not)g(attempt)h(to)g(in)m(terpret)f(an)m(y)h(ar-)330
+653 y(gumen)m(ts)35 b(to)g Fs(echo)e Ft(as)i(options.)54
+b(Eac)m(h)35 b(argumen)m(t)g(is)f(displa)m(y)m(ed,)j(after)e(escap)s(e)
+g(c)m(haracters)h(are)330 762 y(con)m(v)m(erted.)275
+922 y(There)j(is)g(other)h Fl(posix)f Ft(1003.2)j(b)s(eha)m(vior)e
+(that)g(Bash)g(do)s(es)f(not)h(implemen)m(t)g(b)m(y)f(default)h(ev)m
+(en)150 1031 y(when)29 b(in)h Fl(posix)g Ft(mo)s(de.)40
+b(Sp)s(eci\014cally:)199 1166 y(1.)61 b(The)30 b Fs(fc)f
+Ft(builtin)h(c)m(hec)m(ks)i Fs($EDITOR)c Ft(as)j(a)f(program)g(to)h
+(edit)g(history)f(en)m(tries)h(if)f Fs(FCEDIT)f Ft(is)h(unset,)330
+1275 y(rather)g(than)g(defaulting)h(directly)g(to)g Fs(ed)p
+Ft(.)40 b Fs(fc)30 b Ft(uses)g Fs(ed)g Ft(if)g Fs(EDITOR)f
+Ft(is)h(unset.)199 1410 y(2.)61 b(As)29 b(noted)g(ab)s(o)m(v)m(e,)i
+(Bash)e(requires)g(the)g Fs(xpg_echo)e Ft(option)j(to)g(b)s(e)e
+(enabled)h(for)g(the)g Fs(echo)f Ft(builtin)330 1519
+y(to)j(b)s(e)f(fully)g(conforman)m(t.)275 1679 y(Bash)66
+b(can)h(b)s(e)f(con\014gured)g(to)i(b)s(e)e Fl(posix)p
+Ft(-conforman)m(t)h(b)m(y)f(default,)77 b(b)m(y)66 b(sp)s(ecifying)h
+(the)150 1788 y(`)p Fs(--enable-strict-posix-def)o(ault)o
+Ft(')i(to)76 b Fs(configure)c Ft(when)i(building)g(\(see)i(Section)f
+(10.8)150 1898 y([Optional)31 b(F)-8 b(eatures],)32 b(page)f(121\).)p
 eop end
 %%Page: 82 88
 TeXDict begin 82 87 bop 150 -116 a Ft(82)2572 b(Bash)31
@@ -10360,7 +10391,7 @@ g(to)g(not)g(in)m(terrupt)150 1119 y(an)m(y)g(other)g(output.)39
 b(If)24 b(the)i(`)p Fs(-b)p Ft(')e(option)i(to)f(the)g
 Fs(set)f Ft(builtin)h(is)g(enabled,)h(Bash)f(rep)s(orts)f(suc)m(h)h(c)m
 (hanges)150 1228 y(immediately)31 b(\(see)f(Section)g(4.3)g([The)f(Set)
-h(Builtin],)g(page)g(50\).)42 b(An)m(y)29 b(trap)g(on)g
+h(Builtin],)g(page)g(51\).)42 b(An)m(y)29 b(trap)g(on)g
 Fs(SIGCHLD)f Ft(is)h(executed)150 1338 y(for)h(eac)m(h)i(c)m(hild)e
 (pro)s(cess)g(that)h(exits.)275 1474 y(If)k(an)h(attempt)h(to)g(exit)g
 (Bash)g(is)f(made)g(while)g(jobs)g(are)g(stopp)s(ed,)h(the)f(shell)h
@@ -10379,13 +10410,12 @@ b(`)p Fs(&)p Ft('.)45 b(If)31 b Fq(jobsp)s(ec)37 b Ft(is)32
 b(not)g(supplied,)f(the)h(curren)m(t)g(job)f(is)h(used.)45
 b(The)31 b(return)g(status)630 2797 y(is)i(zero)g(unless)f(it)h(is)g
 (run)e(when)h(job)g(con)m(trol)i(is)f(not)g(enabled,)h(or,)f(when)f
-(run)f(with)h(job)630 2907 y(con)m(trol)i(enabled,)g(if)f(the)f(last)i
-Fq(jobsp)s(ec)k Ft(w)m(as)33 b(not)g(found)e(or)i(the)g(last)h
-Fq(jobsp)s(ec)j Ft(sp)s(eci\014es)630 3017 y(a)31 b(job)f(that)h(w)m
-(as)g(started)f(without)h(job)f(con)m(trol.)150 3177
-y Fs(fg)870 3312 y(fg)47 b([)p Fj(jobspec)11 b Fs(])630
-3448 y Ft(Resume)43 b(the)g(job)g Fq(jobsp)s(ec)48 b
-Ft(in)43 b(the)g(foreground)g(and)f(mak)m(e)j(it)e(the)h(curren)m(t)f
+(run)f(with)h(job)630 2907 y(con)m(trol)h(enabled,)g(an)m(y)f
+Fq(jobsp)s(ec)37 b Ft(w)m(as)32 b(not)g(found)f(or)g(sp)s(eci\014es)h
+(a)g(job)g(that)g(w)m(as)g(started)630 3017 y(without)e(job)g(con)m
+(trol.)150 3177 y Fs(fg)870 3312 y(fg)47 b([)p Fj(jobspec)11
+b Fs(])630 3448 y Ft(Resume)43 b(the)g(job)g Fq(jobsp)s(ec)48
+b Ft(in)43 b(the)g(foreground)g(and)f(mak)m(e)j(it)e(the)h(curren)m(t)f
 (job.)78 b(If)630 3557 y Fq(jobsp)s(ec)41 b Ft(is)c(not)f(supplied,)h
 (the)f(curren)m(t)h(job)f(is)g(used.)58 b(The)36 b(return)f(status)h
 (is)h(that)g(of)630 3667 y(the)d(command)g(placed)h(in)m(to)g(the)f
@@ -10867,326 +10897,335 @@ b(Command)29 b(Line)i(Editing)2107 b(91)150 299 y(conditional)43
 b(constructs)e(\(see)i(Section)f(8.3.2)h([Conditional)f(Init)f
 (Constructs],)j(page)f(95\).)74 b(Other)150 408 y(lines)31
 b(denote)g(v)-5 b(ariable)31 b(settings)g(and)f(k)m(ey)h(bindings.)150
-562 y(V)-8 b(ariable)32 b(Settings)630 671 y(Y)-8 b(ou)41
+579 y(V)-8 b(ariable)32 b(Settings)630 689 y(Y)-8 b(ou)41
 b(can)g(mo)s(dify)e(the)i(run-time)f(b)s(eha)m(vior)g(of)h(Readline)g
-(b)m(y)f(altering)h(the)g(v)-5 b(alues)41 b(of)630 781
+(b)m(y)f(altering)h(the)g(v)-5 b(alues)41 b(of)630 798
 y(v)-5 b(ariables)34 b(in)f(Readline)i(using)e(the)g
 Fs(set)g Ft(command)g(within)g(the)h(init)g(\014le.)50
-b(The)33 b(syn)m(tax)630 891 y(is)d(simple:)870 1022
-y Fs(set)47 b Fj(variable)56 b(value)630 1154 y Ft(Here,)29
+b(The)33 b(syn)m(tax)630 908 y(is)d(simple:)870 1046
+y Fs(set)47 b Fj(variable)56 b(value)630 1184 y Ft(Here,)29
 b(for)e(example,)h(is)g(ho)m(w)f(to)h(c)m(hange)g(from)f(the)g(default)
-h(Emacs-lik)m(e)h(k)m(ey)f(binding)e(to)630 1263 y(use)k
-Fs(vi)g Ft(line)h(editing)g(commands:)870 1395 y Fs(set)47
-b(editing-mode)d(vi)630 1526 y Ft(V)-8 b(ariable)36 b(names)f(and)g(v)
+h(Emacs-lik)m(e)h(k)m(ey)f(binding)e(to)630 1294 y(use)k
+Fs(vi)g Ft(line)h(editing)g(commands:)870 1432 y Fs(set)47
+b(editing-mode)d(vi)630 1570 y Ft(V)-8 b(ariable)36 b(names)f(and)g(v)
 -5 b(alues,)36 b(where)f(appropriate,)h(are)g(recognized)g(without)f
-(regard)630 1636 y(to)c(case.)630 1767 y(The)37 b Fs(bind)30
-b(-V)37 b Ft(command)g(lists)i(the)f(curren)m(t)f(Readline)i(v)-5
-b(ariable)38 b(names)g(and)f(v)-5 b(alues.)630 1877 y(See)31
-b(Section)g(4.2)g([Bash)g(Builtins],)g(page)g(39.)630
-2008 y(A)f(great)i(deal)f(of)g(run-time)f(b)s(eha)m(vior)g(is)g(c)m
-(hangeable)j(with)d(the)g(follo)m(wing)i(v)-5 b(ariables.)630
-2162 y Fs(bell-style)1110 2271 y Ft(Con)m(trols)44 b(what)g(happ)s(ens)
-e(when)h(Readline)i(w)m(an)m(ts)f(to)h(ring)e(the)h(termi-)1110
-2381 y(nal)37 b(b)s(ell.)61 b(If)37 b(set)h(to)g(`)p
+(regard)630 1680 y(to)c(case.)42 b(Unrecognized)31 b(v)-5
+b(ariable)31 b(names)g(are)f(ignored.)630 1818 y(Bo)s(olean)c(v)-5
+b(ariables)26 b(\(those)g(that)g(can)f(b)s(e)f(set)i(to)g(on)f(or)g
+(o\013)7 b(\))25 b(are)h(set)f(to)h(on)f(if)g(the)g(v)-5
+b(alue)26 b(is)630 1928 y(n)m(ull)e(or)g(empt)m(y)-8
+b(,)27 b Fq(on)d Ft(\(case-insensitiv)m(e\),)29 b(or)24
+b(1.)39 b(An)m(y)25 b(other)f(v)-5 b(alue)25 b(results)f(in)g(the)g(v)
+-5 b(ariable)630 2037 y(b)s(eing)30 b(set)h(to)g(o\013.)630
+2176 y(The)37 b Fs(bind)30 b(-V)37 b Ft(command)g(lists)i(the)f(curren)
+m(t)f(Readline)i(v)-5 b(ariable)38 b(names)g(and)f(v)-5
+b(alues.)630 2285 y(See)31 b(Section)g(4.2)g([Bash)g(Builtins],)g(page)
+g(39.)630 2423 y(A)f(great)i(deal)f(of)g(run-time)f(b)s(eha)m(vior)g
+(is)g(c)m(hangeable)j(with)d(the)g(follo)m(wing)i(v)-5
+b(ariables.)630 2590 y Fs(bell-style)1110 2700 y Ft(Con)m(trols)44
+b(what)g(happ)s(ens)e(when)h(Readline)i(w)m(an)m(ts)f(to)h(ring)e(the)h
+(termi-)1110 2809 y(nal)37 b(b)s(ell.)61 b(If)37 b(set)h(to)g(`)p
 Fs(none)p Ft(',)g(Readline)g(nev)m(er)g(rings)e(the)i(b)s(ell.)61
-b(If)36 b(set)i(to)1110 2491 y(`)p Fs(visible)p Ft(',)32
+b(If)36 b(set)i(to)1110 2919 y(`)p Fs(visible)p Ft(',)32
 b(Readline)i(uses)f(a)g(visible)g(b)s(ell)g(if)g(one)g(is)g(a)m(v)-5
-b(ailable.)51 b(If)33 b(set)g(to)1110 2600 y(`)p Fs(audible)p
+b(ailable.)51 b(If)33 b(set)g(to)1110 3029 y(`)p Fs(audible)p
 Ft(')j(\(the)i(default\),)i(Readline)e(attempts)g(to)h(ring)e(the)g
-(terminal's)1110 2710 y(b)s(ell.)630 2863 y Fs(bind-tty-special-chars)
-1110 2973 y Ft(If)45 b(set)h(to)f(`)p Fs(on)p Ft(',)50
+(terminal's)1110 3138 y(b)s(ell.)630 3305 y Fs(bind-tty-special-chars)
+1110 3415 y Ft(If)45 b(set)h(to)f(`)p Fs(on)p Ft(',)50
 b(Readline)45 b(attempts)i(to)f(bind)d(the)j(con)m(trol)g(c)m
-(haracters)1110 3082 y(treated)36 b(sp)s(ecially)h(b)m(y)e(the)h(k)m
+(haracters)1110 3524 y(treated)36 b(sp)s(ecially)h(b)m(y)e(the)h(k)m
 (ernel's)g(terminal)g(driv)m(er)f(to)h(their)f(Readline)1110
-3192 y(equiv)-5 b(alen)m(ts.)630 3345 y Fs(comment-begin)1110
-3455 y Ft(The)29 b(string)g(to)h(insert)f(at)h(the)f(b)s(eginning)g(of)
-g(the)h(line)f(when)f(the)i Fs(insert-)1110 3565 y(comment)e
+3634 y(equiv)-5 b(alen)m(ts.)630 3801 y Fs(comment-begin)1110
+3910 y Ft(The)29 b(string)g(to)h(insert)f(at)h(the)f(b)s(eginning)g(of)
+g(the)h(line)f(when)f(the)i Fs(insert-)1110 4020 y(comment)e
 Ft(command)j(is)f(executed.)42 b(The)29 b(default)i(v)-5
-b(alue)31 b(is)f Fs("#")p Ft(.)630 3718 y Fs(completion-ignore-case)
-1110 3828 y Ft(If)d(set)h(to)g(`)p Fs(on)p Ft(',)g(Readline)g(p)s
+b(alue)31 b(is)f Fs("#")p Ft(.)630 4187 y Fs(completion-ignore-case)
+1110 4296 y Ft(If)d(set)h(to)g(`)p Fs(on)p Ft(',)g(Readline)g(p)s
 (erforms)e(\014lename)h(matc)m(hing)i(and)e(completion)1110
-3937 y(in)j(a)h(case-insensitiv)m(e)i(fashion.)40 b(The)30
+4406 y(in)j(a)h(case-insensitiv)m(e)i(fashion.)40 b(The)30
 b(default)h(v)-5 b(alue)30 b(is)h(`)p Fs(off)p Ft('.)630
-4091 y Fs(completion-query-items)1110 4200 y Ft(The)26
+4573 y Fs(completion-query-items)1110 4682 y Ft(The)26
 b(n)m(um)m(b)s(er)f(of)h(p)s(ossible)g(completions)h(that)g(determines)
-f(when)f(the)i(user)1110 4310 y(is)i(ask)m(ed)h(whether)f(the)h(list)g
+f(when)f(the)i(user)1110 4792 y(is)i(ask)m(ed)h(whether)f(the)h(list)g
 (of)f(p)s(ossibilities)h(should)e(b)s(e)h(displa)m(y)m(ed.)41
-b(If)29 b(the)1110 4419 y(n)m(um)m(b)s(er)d(of)h(p)s(ossible)f
+b(If)29 b(the)1110 4902 y(n)m(um)m(b)s(er)d(of)h(p)s(ossible)f
 (completions)i(is)f(greater)h(than)e(this)h(v)-5 b(alue,)28
-b(Readline)1110 4529 y(will)f(ask)g(the)f(user)g(whether)g(or)g(not)h
-(he)f(wishes)g(to)i(view)e(them;)i(otherwise,)1110 4639
+b(Readline)1110 5011 y(will)f(ask)g(the)f(user)g(whether)g(or)g(not)h
+(he)f(wishes)g(to)i(view)e(them;)i(otherwise,)1110 5121
 y(they)d(are)f(simply)g(listed.)40 b(This)23 b(v)-5 b(ariable)25
 b(m)m(ust)g(b)s(e)e(set)i(to)g(an)g(in)m(teger)g(v)-5
-b(alue)1110 4748 y(greater)32 b(than)e(or)g(equal)h(to)g(0.)41
-b(The)30 b(default)h(limit)g(is)f Fs(100)p Ft(.)630 4902
-y Fs(convert-meta)1110 5011 y Ft(If)22 b(set)g(to)h(`)p
-Fs(on)p Ft(',)h(Readline)f(will)f(con)m(v)m(ert)i(c)m(haracters)f(with)
-f(the)g(eigh)m(th)h(bit)f(set)1110 5121 y(to)g(an)f Fl(asci)r(i)g
-Ft(k)m(ey)h(sequence)g(b)m(y)f(stripping)f(the)i(eigh)m(th)g(bit)f(and)
-g(pre\014xing)f(an)1110 5227 y Fg(h)p 1134 5174 139 4
-v 1134 5230 a Ff(ESC)p 1134 5246 V 1268 5227 a Fg(i)1332
-5230 y Ft(c)m(haracter,)36 b(con)m(v)m(erting)g(them)e(to)g(a)h
-(meta-pre\014xed)f(k)m(ey)g(sequence.)1110 5340 y(The)c(default)g(v)-5
-b(alue)31 b(is)g(`)p Fs(on)p Ft('.)p eop end
+b(alue)1110 5230 y(greater)26 b(than)f(or)f(equal)i(to)f(0.)40
+b(A)24 b(negativ)m(e)j(v)-5 b(alue)26 b(means)e(Readline)i(should)1110
+5340 y(nev)m(er)31 b(ask.)41 b(The)29 b(default)i(limit)g(is)g
+Fs(100)p Ft(.)p eop end
 %%Page: 92 98
 TeXDict begin 92 97 bop 150 -116 a Ft(92)2572 b(Bash)31
-b(Reference)g(Man)m(ual)630 299 y Fs(disable-completion)1110
-408 y Ft(If)36 b(set)h(to)h(`)p Fs(On)p Ft(',)g(Readline)f(will)g
+b(Reference)g(Man)m(ual)630 299 y Fs(convert-meta)1110
+408 y Ft(If)22 b(set)g(to)h(`)p Fs(on)p Ft(',)h(Readline)f(will)f(con)m
+(v)m(ert)i(c)m(haracters)f(with)f(the)g(eigh)m(th)h(bit)f(set)1110
+518 y(to)g(an)f Fl(asci)r(i)g Ft(k)m(ey)h(sequence)g(b)m(y)f(stripping)
+f(the)i(eigh)m(th)g(bit)f(and)g(pre\014xing)f(an)1110
+625 y Fg(h)p 1134 572 139 4 v 1134 628 a Ff(ESC)p 1134
+643 V 1268 625 a Fg(i)1332 628 y Ft(c)m(haracter,)36
+b(con)m(v)m(erting)g(them)e(to)g(a)h(meta-pre\014xed)f(k)m(ey)g
+(sequence.)1110 737 y(The)c(default)g(v)-5 b(alue)31
+b(is)g(`)p Fs(on)p Ft('.)630 883 y Fs(disable-completion)1110
+993 y Ft(If)36 b(set)h(to)h(`)p Fs(On)p Ft(',)g(Readline)f(will)g
 (inhibit)f(w)m(ord)h(completion.)60 b(Completion)1110
-518 y(c)m(haracters)28 b(will)e(b)s(e)f(inserted)h(in)m(to)h(the)g
+1103 y(c)m(haracters)28 b(will)e(b)s(e)f(inserted)h(in)m(to)h(the)g
 (line)f(as)g(if)g(they)h(had)e(b)s(een)g(mapp)s(ed)1110
-628 y(to)31 b Fs(self-insert)p Ft(.)38 b(The)30 b(default)g(is)h(`)p
-Fs(off)p Ft('.)630 810 y Fs(editing-mode)1110 920 y Ft(The)d
-Fs(editing-mode)e Ft(v)-5 b(ariable)29 b(con)m(trols)h(whic)m(h)e
-(default)h(set)h(of)e(k)m(ey)i(bind-)1110 1029 y(ings)25
+1212 y(to)31 b Fs(self-insert)p Ft(.)38 b(The)30 b(default)g(is)h(`)p
+Fs(off)p Ft('.)630 1358 y Fs(editing-mode)1110 1468 y
+Ft(The)d Fs(editing-mode)e Ft(v)-5 b(ariable)29 b(con)m(trols)h(whic)m
+(h)e(default)h(set)h(of)e(k)m(ey)i(bind-)1110 1577 y(ings)25
 b(is)g(used.)38 b(By)26 b(default,)g(Readline)g(starts)f(up)f(in)h
-(Emacs)g(editing)h(mo)s(de,)1110 1139 y(where)j(the)g(k)m(eystrok)m(es)
+(Emacs)g(editing)h(mo)s(de,)1110 1687 y(where)j(the)g(k)m(eystrok)m(es)
 i(are)e(most)h(similar)f(to)h(Emacs.)40 b(This)29 b(v)-5
-b(ariable)30 b(can)1110 1249 y(b)s(e)g(set)h(to)g(either)g(`)p
-Fs(emacs)p Ft(')e(or)h(`)p Fs(vi)p Ft('.)630 1431 y Fs(enable-keypad)
-1110 1541 y Ft(When)23 b(set)h(to)g(`)p Fs(on)p Ft(',)h(Readline)f
+b(ariable)30 b(can)1110 1797 y(b)s(e)g(set)h(to)g(either)g(`)p
+Fs(emacs)p Ft(')e(or)h(`)p Fs(vi)p Ft('.)630 1943 y Fs(enable-keypad)
+1110 2052 y Ft(When)23 b(set)h(to)g(`)p Fs(on)p Ft(',)h(Readline)f
 (will)g(try)f(to)h(enable)g(the)f(application)i(k)m(eypad)1110
-1650 y(when)h(it)h(is)f(called.)41 b(Some)27 b(systems)f(need)h(this)f
-(to)h(enable)g(the)g(arro)m(w)g(k)m(eys.)1110 1760 y(The)j(default)g
-(is)h(`)p Fs(off)p Ft('.)630 1943 y Fs(expand-tilde)1110
-2052 y Ft(If)c(set)h(to)h(`)p Fs(on)p Ft(',)f(tilde)g(expansion)g(is)f
-(p)s(erformed)f(when)h(Readline)h(attempts)1110 2162
+2162 y(when)h(it)h(is)f(called.)41 b(Some)27 b(systems)f(need)h(this)f
+(to)h(enable)g(the)g(arro)m(w)g(k)m(eys.)1110 2271 y(The)j(default)g
+(is)h(`)p Fs(off)p Ft('.)630 2418 y Fs(expand-tilde)1110
+2527 y Ft(If)c(set)h(to)h(`)p Fs(on)p Ft(',)f(tilde)g(expansion)g(is)f
+(p)s(erformed)f(when)h(Readline)h(attempts)1110 2637
 y(w)m(ord)i(completion.)42 b(The)30 b(default)g(is)h(`)p
-Fs(off)p Ft('.)1110 2308 y(If)e(set)i(to)f(`)p Fs(on)p
-Ft(',)g(the)g(history)g(co)s(de)g(attempts)g(to)h(place)f(p)s(oin)m(t)g
-(at)h(the)f(same)1110 2418 y(lo)s(cation)35 b(on)e(eac)m(h)i(history)e
-(line)h(retriev)m(ed)g(with)f Fs(previous-history)c Ft(or)1110
-2527 y Fs(next-history)p Ft(.)630 2710 y Fs(horizontal-scroll-mode)1110
-2819 y Ft(This)35 b(v)-5 b(ariable)37 b(can)f(b)s(e)f(set)h(to)h
-(either)f(`)p Fs(on)p Ft(')g(or)g(`)p Fs(off)p Ft('.)57
-b(Setting)36 b(it)g(to)h(`)p Fs(on)p Ft(')1110 2929 y(means)26
-b(that)h(the)f(text)h(of)g(the)f(lines)g(b)s(eing)g(edited)h(will)f
-(scroll)h(horizon)m(tally)1110 3039 y(on)32 b(a)g(single)g(screen)g
-(line)g(when)e(they)i(are)g(longer)h(than)e(the)h(width)f(of)h(the)1110
-3148 y(screen,)27 b(instead)g(of)f(wrapping)f(on)m(to)i(a)f(new)g
-(screen)g(line.)39 b(By)27 b(default,)g(this)1110 3258
-y(v)-5 b(ariable)31 b(is)g(set)f(to)i(`)p Fs(off)p Ft('.)630
-3440 y Fs(input-meta)1110 3550 y Ft(If)f(set)g(to)h(`)p
+Fs(off)p Ft('.)630 2783 y Fs(history-preserve-point)1110
+2892 y Ft(If)e(set)i(to)f(`)p Fs(on)p Ft(',)g(the)g(history)g(co)s(de)g
+(attempts)g(to)h(place)f(p)s(oin)m(t)g(at)h(the)f(same)1110
+3002 y(lo)s(cation)35 b(on)e(eac)m(h)i(history)e(line)h(retriev)m(ed)g
+(with)f Fs(previous-history)c Ft(or)1110 3112 y Fs(next-history)p
+Ft(.)37 b(The)30 b(default)h(is)f(`)p Fs(off)p Ft('.)630
+3258 y Fs(horizontal-scroll-mode)1110 3367 y Ft(This)35
+b(v)-5 b(ariable)37 b(can)f(b)s(e)f(set)h(to)h(either)f(`)p
+Fs(on)p Ft(')g(or)g(`)p Fs(off)p Ft('.)57 b(Setting)36
+b(it)g(to)h(`)p Fs(on)p Ft(')1110 3477 y(means)26 b(that)h(the)f(text)h
+(of)g(the)f(lines)g(b)s(eing)g(edited)h(will)f(scroll)h(horizon)m
+(tally)1110 3587 y(on)32 b(a)g(single)g(screen)g(line)g(when)e(they)i
+(are)g(longer)h(than)e(the)h(width)f(of)h(the)1110 3696
+y(screen,)27 b(instead)g(of)f(wrapping)f(on)m(to)i(a)f(new)g(screen)g
+(line.)39 b(By)27 b(default,)g(this)1110 3806 y(v)-5
+b(ariable)31 b(is)g(set)f(to)i(`)p Fs(off)p Ft('.)630
+3952 y Fs(input-meta)1110 4061 y Ft(If)f(set)g(to)h(`)p
 Fs(on)p Ft(',)g(Readline)g(will)f(enable)h(eigh)m(t-bit)h(input)d(\(it)
-i(will)f(not)h(clear)1110 3660 y(the)40 b(eigh)m(th)g(bit)g(in)f(the)h
+i(will)f(not)h(clear)1110 4171 y(the)40 b(eigh)m(th)g(bit)g(in)f(the)h
 (c)m(haracters)h(it)f(reads\),)j(regardless)c(of)h(what)g(the)1110
-3769 y(terminal)g(claims)h(it)g(can)f(supp)s(ort.)68
+4281 y(terminal)g(claims)h(it)g(can)f(supp)s(ort.)68
 b(The)39 b(default)h(v)-5 b(alue)40 b(is)g(`)p Fs(off)p
-Ft('.)69 b(The)1110 3879 y(name)30 b Fs(meta-flag)e Ft(is)j(a)f(synon)m
-(ym)g(for)g(this)h(v)-5 b(ariable.)630 4061 y Fs(isearch-terminators)
-1110 4171 y Ft(The)51 b(string)h(of)g(c)m(haracters)h(that)f(should)e
-(terminate)j(an)f(incremen)m(tal)1110 4281 y(searc)m(h)25
+Ft('.)69 b(The)1110 4390 y(name)30 b Fs(meta-flag)e Ft(is)j(a)f(synon)m
+(ym)g(for)g(this)h(v)-5 b(ariable.)630 4536 y Fs(isearch-terminators)
+1110 4646 y Ft(The)51 b(string)h(of)g(c)m(haracters)h(that)f(should)e
+(terminate)j(an)f(incremen)m(tal)1110 4755 y(searc)m(h)25
 b(without)g(subsequen)m(tly)g(executing)h(the)f(c)m(haracter)h(as)f(a)g
-(command)1110 4390 y(\(see)42 b(Section)f(8.2.5)i([Searc)m(hing],)i
+(command)1110 4865 y(\(see)42 b(Section)f(8.2.5)i([Searc)m(hing],)i
 (page)c(90\).)73 b(If)41 b(this)g(v)-5 b(ariable)41 b(has)g(not)1110
-4500 y(b)s(een)31 b(giv)m(en)h(a)g(v)-5 b(alue,)32 b(the)g(c)m
-(haracters)2494 4497 y Fg(h)p 2518 4444 139 4 v 2518
-4500 a Ff(ESC)p 2518 4515 V 2652 4497 a Fg(i)2713 4500
-y Ft(and)f Fj(C-J)g Ft(will)h(terminate)g(an)1110 4609
-y(incremen)m(tal)g(searc)m(h.)630 4792 y Fs(keymap)192
-b Ft(Sets)39 b(Readline's)g(idea)h(of)f(the)g(curren)m(t)f(k)m(eymap)h
-(for)g(k)m(ey)g(binding)f(com-)1110 4902 y(mands.)81
-b(Acceptable)47 b Fs(keymap)42 b Ft(names)i(are)h Fs(emacs)p
-Ft(,)i Fs(emacs-standard)p Ft(,)1110 5011 y Fs(emacs-meta)p
+4975 y(b)s(een)31 b(giv)m(en)h(a)g(v)-5 b(alue,)32 b(the)g(c)m
+(haracters)2494 4972 y Fg(h)p 2518 4919 V 2518 4975 a
+Ff(ESC)p 2518 4990 V 2652 4972 a Fg(i)2713 4975 y Ft(and)f
+Fj(C-J)g Ft(will)h(terminate)g(an)1110 5084 y(incremen)m(tal)g(searc)m
+(h.)630 5230 y Fs(keymap)192 b Ft(Sets)39 b(Readline's)g(idea)h(of)f
+(the)g(curren)m(t)f(k)m(eymap)h(for)g(k)m(ey)g(binding)f(com-)1110
+5340 y(mands.)81 b(Acceptable)47 b Fs(keymap)42 b Ft(names)i(are)h
+Fs(emacs)p Ft(,)i Fs(emacs-standard)p Ft(,)p eop end
+%%Page: 93 99
+TeXDict begin 93 98 bop 150 -116 a Ft(Chapter)30 b(8:)41
+b(Command)29 b(Line)i(Editing)2107 b(93)1110 299 y Fs(emacs-meta)p
 Ft(,)99 b Fs(emacs-ctlx)p Ft(,)f Fs(vi)p Ft(,)j Fs(vi-move)p
-Ft(,)f Fs(vi-command)p Ft(,)f(and)1110 5121 y Fs(vi-insert)p
+Ft(,)f Fs(vi-command)p Ft(,)f(and)1110 408 y Fs(vi-insert)p
 Ft(.)64 b Fs(vi)38 b Ft(is)h(equiv)-5 b(alen)m(t)41 b(to)e
 Fs(vi-command)p Ft(;)i Fs(emacs)c Ft(is)i(equiv)-5 b(alen)m(t)1110
-5230 y(to)33 b Fs(emacs-standard)p Ft(.)41 b(The)31 b(default)h(v)-5
+518 y(to)33 b Fs(emacs-standard)p Ft(.)41 b(The)31 b(default)h(v)-5
 b(alue)32 b(is)g Fs(emacs)p Ft(.)44 b(The)31 b(v)-5 b(alue)33
-b(of)f(the)1110 5340 y Fs(editing-mode)27 b Ft(v)-5 b(ariable)31
-b(also)h(a\013ects)f(the)g(default)f(k)m(eymap.)p eop
-end
-%%Page: 93 99
-TeXDict begin 93 98 bop 150 -116 a Ft(Chapter)30 b(8:)41
-b(Command)29 b(Line)i(Editing)2107 b(93)630 299 y Fs(mark-directories)
-1110 408 y Ft(If)38 b(set)g(to)h(`)p Fs(on)p Ft(',)i(completed)e
-(directory)f(names)g(ha)m(v)m(e)i(a)e(slash)g(app)s(ended.)1110
-518 y(The)30 b(default)g(is)h(`)p Fs(on)p Ft('.)630 676
-y Fs(mark-modified-lines)1110 786 y Ft(This)k(v)-5 b(ariable,)38
-b(when)d(set)h(to)h(`)p Fs(on)p Ft(',)g(causes)g(Readline)f(to)h
-(displa)m(y)f(an)f(as-)1110 896 y(terisk)f(\(`)p Fs(*)p
-Ft('\))h(at)f(the)g(start)g(of)g(history)g(lines)g(whic)m(h)f(ha)m(v)m
-(e)i(b)s(een)e(mo)s(di\014ed.)1110 1005 y(This)d(v)-5
-b(ariable)31 b(is)f(`)p Fs(off)p Ft(')g(b)m(y)g(default.)630
-1163 y Fs(mark-symlinked-directori)o(es)1110 1273 y Ft(If)44
-b(set)h(to)h(`)p Fs(on)p Ft(',)i(completed)e(names)f(whic)m(h)f(are)h
-(sym)m(b)s(olic)g(links)g(to)g(di-)1110 1383 y(rectories)j(ha)m(v)m(e)f
-(a)g(slash)f(app)s(ended)e(\(sub)5 b(ject)47 b(to)g(the)f(v)-5
-b(alue)47 b(of)f Fs(mark-)1110 1492 y(directories)p Ft(\).)38
-b(The)30 b(default)g(is)h(`)p Fs(off)p Ft('.)630 1650
-y Fs(match-hidden-files)1110 1760 y Ft(This)21 b(v)-5
-b(ariable,)25 b(when)d(set)g(to)h(`)p Fs(on)p Ft(',)h(causes)f
-(Readline)g(to)g(matc)m(h)g(\014les)f(whose)1110 1870
-y(names)44 b(b)s(egin)g(with)g(a)g(`)p Fs(.)p Ft(')g(\(hidden)f
-(\014les\))i(when)e(p)s(erforming)g(\014lename)1110 1979
-y(completion,)j(unless)41 b(the)g(leading)h(`)p Fs(.)p
-Ft(')g(is)g(supplied)e(b)m(y)h(the)h(user)f(in)g(the)1110
-2089 y(\014lename)31 b(to)g(b)s(e)e(completed.)42 b(This)30
+b(of)f(the)1110 628 y Fs(editing-mode)27 b Ft(v)-5 b(ariable)31
+b(also)h(a\013ects)f(the)g(default)f(k)m(eymap.)630 774
+y Fs(mark-directories)1110 883 y Ft(If)38 b(set)g(to)h(`)p
+Fs(on)p Ft(',)i(completed)e(directory)f(names)g(ha)m(v)m(e)i(a)e(slash)
+g(app)s(ended.)1110 993 y(The)30 b(default)g(is)h(`)p
+Fs(on)p Ft('.)630 1139 y Fs(mark-modified-lines)1110
+1249 y Ft(This)k(v)-5 b(ariable,)38 b(when)d(set)h(to)h(`)p
+Fs(on)p Ft(',)g(causes)g(Readline)f(to)h(displa)m(y)f(an)f(as-)1110
+1358 y(terisk)f(\(`)p Fs(*)p Ft('\))h(at)f(the)g(start)g(of)g(history)g
+(lines)g(whic)m(h)f(ha)m(v)m(e)i(b)s(een)e(mo)s(di\014ed.)1110
+1468 y(This)d(v)-5 b(ariable)31 b(is)f(`)p Fs(off)p Ft(')g(b)m(y)g
+(default.)630 1614 y Fs(mark-symlinked-directori)o(es)1110
+1724 y Ft(If)44 b(set)h(to)h(`)p Fs(on)p Ft(',)i(completed)e(names)f
+(whic)m(h)f(are)h(sym)m(b)s(olic)g(links)g(to)g(di-)1110
+1833 y(rectories)j(ha)m(v)m(e)f(a)g(slash)f(app)s(ended)e(\(sub)5
+b(ject)47 b(to)g(the)f(v)-5 b(alue)47 b(of)f Fs(mark-)1110
+1943 y(directories)p Ft(\).)38 b(The)30 b(default)g(is)h(`)p
+Fs(off)p Ft('.)630 2089 y Fs(match-hidden-files)1110
+2198 y Ft(This)21 b(v)-5 b(ariable,)25 b(when)d(set)g(to)h(`)p
+Fs(on)p Ft(',)h(causes)f(Readline)g(to)g(matc)m(h)g(\014les)f(whose)
+1110 2308 y(names)44 b(b)s(egin)g(with)g(a)g(`)p Fs(.)p
+Ft(')g(\(hidden)f(\014les\))i(when)e(p)s(erforming)g(\014lename)1110
+2418 y(completion,)j(unless)41 b(the)g(leading)h(`)p
+Fs(.)p Ft(')g(is)g(supplied)e(b)m(y)h(the)h(user)f(in)g(the)1110
+2527 y(\014lename)31 b(to)g(b)s(e)e(completed.)42 b(This)30
 b(v)-5 b(ariable)31 b(is)f(`)p Fs(on)p Ft(')h(b)m(y)f(default.)630
-2247 y Fs(output-meta)1110 2357 y Ft(If)35 b(set)h(to)g(`)p
+2673 y Fs(output-meta)1110 2783 y Ft(If)35 b(set)h(to)g(`)p
 Fs(on)p Ft(',)h(Readline)f(will)g(displa)m(y)f(c)m(haracters)i(with)e
-(the)h(eigh)m(th)g(bit)1110 2466 y(set)h(directly)g(rather)f(than)g(as)
+(the)h(eigh)m(th)g(bit)1110 2892 y(set)h(directly)g(rather)f(than)g(as)
 h(a)g(meta-pre\014xed)f(escap)s(e)h(sequence.)59 b(The)1110
-2576 y(default)31 b(is)f(`)p Fs(off)p Ft('.)630 2734
-y Fs(page-completions)1110 2844 y Ft(If)j(set)i(to)f(`)p
+3002 y(default)31 b(is)f(`)p Fs(off)p Ft('.)630 3148
+y Fs(page-completions)1110 3258 y Ft(If)j(set)i(to)f(`)p
 Fs(on)p Ft(',)h(Readline)g(uses)e(an)h(in)m(ternal)h
 Fs(more)p Ft(-lik)m(e)f(pager)g(to)h(displa)m(y)1110
-2953 y(a)e(screenful)f(of)g(p)s(ossible)g(completions)i(at)f(a)g(time.)
+3367 y(a)e(screenful)f(of)g(p)s(ossible)g(completions)i(at)f(a)g(time.)
 47 b(This)31 b(v)-5 b(ariable)34 b(is)e(`)p Fs(on)p Ft(')1110
-3063 y(b)m(y)e(default.)630 3221 y Fs(print-completions-horizo)o(ntal)o
-(ly)1110 3331 y Ft(If)23 b(set)i(to)g(`)p Fs(on)p Ft(',)g(Readline)g
+3477 y(b)m(y)e(default.)630 3623 y Fs(print-completions-horizo)o(ntal)o
+(ly)1110 3733 y Ft(If)23 b(set)i(to)g(`)p Fs(on)p Ft(',)g(Readline)g
 (will)f(displa)m(y)g(completions)h(with)f(matc)m(hes)h(sorted)1110
-3440 y(horizon)m(tally)45 b(in)e(alphab)s(etical)i(order,)i(rather)c
-(than)g(do)m(wn)g(the)h(screen.)1110 3550 y(The)30 b(default)g(is)h(`)p
-Fs(off)p Ft('.)630 3708 y Fs(show-all-if-ambiguous)1110
-3818 y Ft(This)e(alters)i(the)f(default)g(b)s(eha)m(vior)g(of)g(the)h
-(completion)g(functions.)40 b(If)29 b(set)1110 3927 y(to)f(`)p
+3842 y(horizon)m(tally)45 b(in)e(alphab)s(etical)i(order,)i(rather)c
+(than)g(do)m(wn)g(the)h(screen.)1110 3952 y(The)30 b(default)g(is)h(`)p
+Fs(off)p Ft('.)630 4098 y Fs(show-all-if-ambiguous)1110
+4208 y Ft(This)e(alters)i(the)f(default)g(b)s(eha)m(vior)g(of)g(the)h
+(completion)g(functions.)40 b(If)29 b(set)1110 4317 y(to)f(`)p
 Fs(on)p Ft(',)g(w)m(ords)f(whic)m(h)g(ha)m(v)m(e)i(more)f(than)f(one)h
-(p)s(ossible)f(completion)h(cause)1110 4037 y(the)39
+(p)s(ossible)f(completion)h(cause)1110 4427 y(the)39
 b(matc)m(hes)h(to)g(b)s(e)e(listed)h(immediately)i(instead)e(of)g
-(ringing)g(the)g(b)s(ell.)1110 4147 y(The)30 b(default)g(v)-5
-b(alue)31 b(is)g(`)p Fs(off)p Ft('.)630 4305 y Fs
-(show-all-if-unmodified)1110 4415 y Ft(This)38 b(alters)h(the)g
+(ringing)g(the)g(b)s(ell.)1110 4536 y(The)30 b(default)g(v)-5
+b(alue)31 b(is)g(`)p Fs(off)p Ft('.)630 4682 y Fs
+(show-all-if-unmodified)1110 4792 y Ft(This)38 b(alters)h(the)g
 (default)g(b)s(eha)m(vior)g(of)f(the)h(completion)h(functions)e(in)h(a)
-1110 4524 y(fashion)25 b(similar)h(to)g Fq(sho)m(w-all-if-am)m(biguous)
+1110 4902 y(fashion)25 b(similar)h(to)g Fq(sho)m(w-all-if-am)m(biguous)
 p Ft(.)41 b(If)25 b(set)h(to)h(`)p Fs(on)p Ft(',)f(w)m(ords)f(whic)m(h)
-1110 4634 y(ha)m(v)m(e)32 b(more)f(than)f(one)i(p)s(ossible)e
+1110 5011 y(ha)m(v)m(e)32 b(more)f(than)f(one)i(p)s(ossible)e
 (completion)i(without)f(an)m(y)g(p)s(ossible)f(par-)1110
-4743 y(tial)43 b(completion)h(\(the)f(p)s(ossible)f(completions)h
-(don't)f(share)g(a)h(common)1110 4853 y(pre\014x\))30
+5121 y(tial)43 b(completion)h(\(the)f(p)s(ossible)f(completions)h
+(don't)f(share)g(a)h(common)1110 5230 y(pre\014x\))30
 b(cause)g(the)h(matc)m(hes)g(to)g(b)s(e)f(listed)g(immediately)i
-(instead)e(of)h(ring-)1110 4963 y(ing)g(the)f(b)s(ell.)41
+(instead)e(of)h(ring-)1110 5340 y(ing)g(the)f(b)s(ell.)41
 b(The)30 b(default)g(v)-5 b(alue)31 b(is)f(`)p Fs(off)p
-Ft('.)630 5121 y Fs(visible-stats)1110 5230 y Ft(If)h(set)i(to)f(`)p
-Fs(on)p Ft(',)h(a)f(c)m(haracter)i(denoting)e(a)g(\014le's)g(t)m(yp)s
-(e)g(is)g(app)s(ended)e(to)j(the)1110 5340 y(\014lename)e(when)e
-(listing)i(p)s(ossible)f(completions.)42 b(The)30 b(default)g(is)h(`)p
-Fs(off)p Ft('.)p eop end
+Ft('.)p eop end
 %%Page: 94 100
 TeXDict begin 94 99 bop 150 -116 a Ft(94)2572 b(Bash)31
-b(Reference)g(Man)m(ual)150 299 y(Key)f(Bindings)630
-408 y(The)41 b(syn)m(tax)i(for)f(con)m(trolling)h(k)m(ey)g(bindings)e
-(in)h(the)g(init)g(\014le)g(is)g(simple.)75 b(First)43
-b(y)m(ou)630 518 y(need)27 b(to)i(\014nd)d(the)i(name)f(of)h(the)g
-(command)f(that)i(y)m(ou)f(w)m(an)m(t)g(to)g(c)m(hange.)41
-b(The)27 b(follo)m(wing)630 628 y(sections)37 b(con)m(tain)g(tables)g
+b(Reference)g(Man)m(ual)630 299 y Fs(visible-stats)1110
+408 y Ft(If)g(set)i(to)f(`)p Fs(on)p Ft(',)h(a)f(c)m(haracter)i
+(denoting)e(a)g(\014le's)g(t)m(yp)s(e)g(is)g(app)s(ended)e(to)j(the)
+1110 518 y(\014lename)e(when)e(listing)i(p)s(ossible)f(completions.)42
+b(The)30 b(default)g(is)h(`)p Fs(off)p Ft('.)150 669
+y(Key)f(Bindings)630 778 y(The)41 b(syn)m(tax)i(for)f(con)m(trolling)h
+(k)m(ey)g(bindings)e(in)h(the)g(init)g(\014le)g(is)g(simple.)75
+b(First)43 b(y)m(ou)630 888 y(need)27 b(to)i(\014nd)d(the)i(name)f(of)h
+(the)g(command)f(that)i(y)m(ou)f(w)m(an)m(t)g(to)g(c)m(hange.)41
+b(The)27 b(follo)m(wing)630 998 y(sections)37 b(con)m(tain)g(tables)g
 (of)f(the)g(command)f(name,)j(the)e(default)g(k)m(eybinding,)h(if)f(an)
-m(y)-8 b(,)630 737 y(and)30 b(a)h(short)f(description)g(of)h(what)f
-(the)g(command)h(do)s(es.)630 871 y(Once)36 b(y)m(ou)g(kno)m(w)g(the)g
+m(y)-8 b(,)630 1107 y(and)30 b(a)h(short)f(description)g(of)h(what)f
+(the)g(command)h(do)s(es.)630 1237 y(Once)36 b(y)m(ou)g(kno)m(w)g(the)g
 (name)g(of)g(the)g(command,)h(simply)f(place)h(on)e(a)i(line)f(in)g
-(the)g(init)630 981 y(\014le)e(the)g(name)f(of)h(the)g(k)m(ey)g(y)m(ou)
-g(wish)f(to)h(bind)f(the)h(command)f(to,)i(a)f(colon,)i(and)d(then)630
-1090 y(the)f(name)g(of)g(the)g(command.)46 b(The)31 b(name)h(of)g(the)g
-(k)m(ey)h(can)f(b)s(e)f(expressed)h(in)f(di\013eren)m(t)630
-1200 y(w)m(a)m(ys,)g(dep)s(ending)e(on)i(what)f(y)m(ou)h(\014nd)d(most)
-j(comfortable.)630 1334 y(In)k(addition)h(to)h(command)f(names,)i
-(readline)e(allo)m(ws)h(k)m(eys)g(to)g(b)s(e)e(b)s(ound)f(to)j(a)f
-(string)630 1443 y(that)31 b(is)f(inserted)h(when)e(the)i(k)m(ey)g(is)f
-(pressed)g(\(a)h Fq(macro)5 b Ft(\).)630 1577 y(The)42
+(the)g(init)630 1347 y(\014le)e(the)g(name)f(of)h(the)g(k)m(ey)g(y)m
+(ou)g(wish)f(to)h(bind)f(the)h(command)f(to,)i(a)f(colon,)i(and)d(then)
+630 1456 y(the)f(name)g(of)g(the)g(command.)46 b(The)31
+b(name)h(of)g(the)g(k)m(ey)h(can)f(b)s(e)f(expressed)h(in)f(di\013eren)
+m(t)630 1566 y(w)m(a)m(ys,)g(dep)s(ending)e(on)i(what)f(y)m(ou)h
+(\014nd)d(most)j(comfortable.)630 1696 y(In)k(addition)h(to)h(command)f
+(names,)i(readline)e(allo)m(ws)h(k)m(eys)g(to)g(b)s(e)e(b)s(ound)f(to)j
+(a)f(string)630 1806 y(that)31 b(is)f(inserted)h(when)e(the)i(k)m(ey)g
+(is)f(pressed)g(\(a)h Fq(macro)5 b Ft(\).)630 1936 y(The)42
 b Fs(bind)30 b(-p)42 b Ft(command)h(displa)m(ys)g(Readline)g(function)g
-(names)g(and)f(bindings)g(in)h(a)630 1687 y(format)37
+(names)g(and)f(bindings)g(in)h(a)630 2045 y(format)37
 b(that)h(can)f(put)f(directly)i(in)m(to)g(an)f(initialization)j
-(\014le.)60 b(See)38 b(Section)f(4.2)i([Bash)630 1797
-y(Builtins],)31 b(page)g(39.)630 1955 y Fq(k)m(eyname)5
+(\014le.)60 b(See)38 b(Section)f(4.2)i([Bash)630 2155
+y(Builtins],)31 b(page)g(39.)630 2306 y Fq(k)m(eyname)5
 b Ft(:)42 b Fq(function-name)35 b Ft(or)c Fq(macro)1110
-2064 y(k)m(eyname)k Ft(is)29 b(the)f(name)h(of)g(a)g(k)m(ey)h(sp)s
+2415 y(k)m(eyname)k Ft(is)29 b(the)f(name)h(of)g(a)g(k)m(ey)h(sp)s
 (elled)e(out)h(in)g(English.)39 b(F)-8 b(or)30 b(example:)1350
-2198 y Fs(Control-u:)45 b(universal-argument)1350 2308
-y(Meta-Rubout:)f(backward-kill-word)1350 2418 y(Control-o:)h(">)i
-(output")1110 2552 y Ft(In)38 b(the)h(ab)s(o)m(v)m(e)h(example,)h
+2545 y Fs(Control-u:)45 b(universal-argument)1350 2655
+y(Meta-Rubout:)f(backward-kill-word)1350 2765 y(Control-o:)h(">)i
+(output")1110 2895 y Ft(In)38 b(the)h(ab)s(o)m(v)m(e)h(example,)h
 Fj(C-u)d Ft(is)h(b)s(ound)d(to)k(the)e(function)h Fs(universal-)1110
-2661 y(argument)p Ft(,)f Fj(M-DEL)e Ft(is)i(b)s(ound)e(to)i(the)g
-(function)g Fs(backward-kill-word)p Ft(,)1110 2771 y(and)g
+3004 y(argument)p Ft(,)f Fj(M-DEL)e Ft(is)i(b)s(ound)e(to)i(the)g
+(function)g Fs(backward-kill-word)p Ft(,)1110 3114 y(and)g
 Fj(C-o)g Ft(is)h(b)s(ound)e(to)j(run)d(the)j(macro)f(expressed)g(on)f
-(the)i(righ)m(t)f(hand)1110 2880 y(side)30 b(\(that)i(is,)e(to)h
+(the)i(righ)m(t)f(hand)1110 3224 y(side)30 b(\(that)i(is,)e(to)h
 (insert)g(the)f(text)i(`)p Fs(>)e(output)p Ft(')f(in)m(to)i(the)g
-(line\).)1110 3014 y(A)37 b(n)m(um)m(b)s(er)f(of)h(sym)m(b)s(olic)g(c)m
+(line\).)1110 3354 y(A)37 b(n)m(um)m(b)s(er)f(of)h(sym)m(b)s(olic)g(c)m
 (haracter)i(names)e(are)g(recognized)h(while)f(pro-)1110
-3124 y(cessing)24 b(this)g(k)m(ey)g(binding)f(syn)m(tax:)37
+3463 y(cessing)24 b(this)g(k)m(ey)g(binding)f(syn)m(tax:)37
 b Fq(DEL)p Ft(,)24 b Fq(ESC)p Ft(,)f Fq(ESCAPE)p Ft(,)g
-Fq(LFD)p Ft(,)h Fq(NEW-)1110 3233 y(LINE)p Ft(,)30 b
+Fq(LFD)p Ft(,)h Fq(NEW-)1110 3573 y(LINE)p Ft(,)30 b
 Fq(RET)p Ft(,)g Fq(RETURN)p Ft(,)h Fq(R)m(UBOUT)p Ft(,)g
 Fq(SP)-8 b(A)m(CE)p Ft(,)30 b Fq(SPC)p Ft(,)g(and)f Fq(T)-8
-b(AB)p Ft(.)630 3392 y Fs(")p Fq(k)m(eyseq)r Fs(")p Ft(:)41
-b Fq(function-name)36 b Ft(or)30 b Fq(macro)1110 3501
+b(AB)p Ft(.)630 3724 y Fs(")p Fq(k)m(eyseq)r Fs(")p Ft(:)41
+b Fq(function-name)36 b Ft(or)30 b Fq(macro)1110 3833
 y(k)m(eyseq)k Ft(di\013ers)d(from)f Fq(k)m(eyname)37
 b Ft(ab)s(o)m(v)m(e)32 b(in)f(that)h(strings)f(denoting)g(an)g(en-)1110
-3611 y(tire)j(k)m(ey)h(sequence)f(can)g(b)s(e)f(sp)s(eci\014ed,)h(b)m
-(y)f(placing)i(the)f(k)m(ey)g(sequence)g(in)1110 3720
+3943 y(tire)j(k)m(ey)h(sequence)f(can)g(b)s(e)f(sp)s(eci\014ed,)h(b)m
+(y)f(placing)i(the)f(k)m(ey)g(sequence)g(in)1110 4052
 y(double)29 b(quotes.)41 b(Some)29 b Fl(gnu)h Ft(Emacs)f(st)m(yle)i(k)m
-(ey)f(escap)s(es)g(can)g(b)s(e)f(used,)g(as)1110 3830
+(ey)f(escap)s(es)g(can)g(b)s(e)f(used,)g(as)1110 4162
 y(in)k(the)h(follo)m(wing)i(example,)f(but)e(the)h(sp)s(ecial)h(c)m
-(haracter)g(names)f(are)g(not)1110 3940 y(recognized.)1350
-4074 y Fs("\\C-u":)46 b(universal-argument)1350 4183
-y("\\C-x\\C-r":)f(re-read-init-file)1350 4293 y("\\e[11~":)g("Function)
-h(Key)g(1")1110 4427 y Ft(In)64 b(the)g(ab)s(o)m(v)m(e)i(example,)74
+(haracter)g(names)f(are)g(not)1110 4271 y(recognized.)1350
+4402 y Fs("\\C-u":)46 b(universal-argument)1350 4511
+y("\\C-x\\C-r":)f(re-read-init-file)1350 4621 y("\\e[11~":)g("Function)
+h(Key)g(1")1110 4751 y Ft(In)64 b(the)g(ab)s(o)m(v)m(e)i(example,)74
 b Fj(C-u)64 b Ft(is)g(again)i(b)s(ound)c(to)k(the)e(function)1110
-4536 y Fs(universal-argument)39 b Ft(\(just)k(as)h(it)g(w)m(as)g(in)g
-(the)f(\014rst)g(example\),)49 b(`)p Fj(C-x)1110 4646
+4861 y Fs(universal-argument)39 b Ft(\(just)k(as)h(it)g(w)m(as)g(in)g
+(the)f(\014rst)g(example\),)49 b(`)p Fj(C-x)1110 4970
 y(C-r)p Ft(')41 b(is)g(b)s(ound)e(to)j(the)f(function)g
-Fs(re-read-init-file)p Ft(,)e(and)i(`)3462 4643 y Fg(h)p
-3486 4590 139 4 v 3486 4646 a Ff(ESC)p 3486 4661 V 3620
-4643 a Fg(i)31 b(h)p 3705 4590 20 4 v 3705 4646 a Ff([)p
-3705 4663 V 3720 4643 a Fg(i)1110 4752 y(h)p 1134 4699
-36 4 v 1134 4755 a Ff(1)p 1134 4771 V 1165 4752 a Fg(i)f(h)p
-1250 4699 V 1250 4755 a Ff(1)p 1250 4771 V 1281 4752
-a Fg(i)g(h)p 1365 4699 48 4 v 1365 4755 a Fs(~)p 1365
-4771 V 1409 4752 a Fg(i)1438 4755 y Ft(')h(is)f(b)s(ound)f(to)i(insert)
+Fs(re-read-init-file)p Ft(,)e(and)i(`)3462 4967 y Fg(h)p
+3486 4914 139 4 v 3486 4970 a Ff(ESC)p 3486 4985 V 3620
+4967 a Fg(i)31 b(h)p 3705 4914 20 4 v 3705 4970 a Ff([)p
+3705 4987 V 3720 4967 a Fg(i)1110 5077 y(h)p 1134 5024
+36 4 v 1134 5080 a Ff(1)p 1134 5095 V 1165 5077 a Fg(i)f(h)p
+1250 5024 V 1250 5080 a Ff(1)p 1250 5095 V 1281 5077
+a Fg(i)g(h)p 1365 5024 48 4 v 1365 5080 a Fs(~)p 1365
+5095 V 1409 5077 a Fg(i)1438 5080 y Ft(')h(is)f(b)s(ound)f(to)i(insert)
 f(the)h(text)g(`)p Fs(Function)d(Key)i(1)p Ft('.)630
-4914 y(The)f(follo)m(wing)i Fl(gnu)f Ft(Emacs)g(st)m(yle)h(escap)s(e)f
+5230 y(The)f(follo)m(wing)i Fl(gnu)f Ft(Emacs)g(st)m(yle)h(escap)s(e)f
 (sequences)g(are)g(a)m(v)-5 b(ailable)32 b(when)d(sp)s(ecifying)630
-5023 y(k)m(ey)i(sequences:)630 5182 y Fj(\\C-)336 b Ft(con)m(trol)32
-b(pre\014x)630 5340 y Fj(\\M-)336 b Ft(meta)31 b(pre\014x)p
-eop end
+5340 y(k)m(ey)i(sequences:)p eop end
 %%Page: 95 101
 TeXDict begin 95 100 bop 150 -116 a Ft(Chapter)30 b(8:)41
-b(Command)29 b(Line)i(Editing)2107 b(95)630 299 y Fj(\\e)384
-b Ft(an)30 b(escap)s(e)h(c)m(haracter)630 462 y Fj(\\\\)384
-b Ft(bac)m(kslash)630 626 y Fj(\\)p Fs(")1110 623 y Fg(h)p
-1134 570 48 4 v 1134 626 a Fs(")p 1134 641 V 1178 623
-a Fg(i)1208 626 y Ft(,)30 b(a)h(double)f(quotation)h(mark)630
-789 y Fj(\\')1110 786 y Fg(h)p 1134 733 20 4 v 1134 789
-a Ff(')p 1134 805 V 1150 786 a Fg(i)1179 789 y Ft(,)g(a)g(single)g
-(quote)g(or)f(ap)s(ostrophe)630 953 y(In)d(addition)h(to)g(the)g
+b(Command)29 b(Line)i(Editing)2107 b(95)630 299 y Fj(\\C-)336
+b Ft(con)m(trol)32 b(pre\014x)630 447 y Fj(\\M-)336 b
+Ft(meta)31 b(pre\014x)630 596 y Fj(\\e)384 b Ft(an)30
+b(escap)s(e)h(c)m(haracter)630 744 y Fj(\\\\)384 b Ft(bac)m(kslash)630
+893 y Fj(\\)p Fs(")1110 890 y Fg(h)p 1134 837 48 4 v
+1134 893 a Fs(")p 1134 908 V 1178 890 a Fg(i)1208 893
+y Ft(,)30 b(a)h(double)f(quotation)h(mark)630 1041 y
+Fj(\\')1110 1038 y Fg(h)p 1134 985 20 4 v 1134 1041 a
+Ff(')p 1134 1057 V 1150 1038 a Fg(i)1179 1041 y Ft(,)g(a)g(single)g
+(quote)g(or)f(ap)s(ostrophe)630 1190 y(In)d(addition)h(to)g(the)g
 Fl(gnu)f Ft(Emacs)h(st)m(yle)h(escap)s(e)f(sequences,)h(a)f(second)f
-(set)h(of)g(bac)m(kslash)630 1062 y(escap)s(es)j(is)f(a)m(v)-5
-b(ailable:)630 1226 y Fs(\\a)384 b Ft(alert)31 b(\(b)s(ell\))630
-1389 y Fs(\\b)384 b Ft(bac)m(kspace)630 1553 y Fs(\\d)g
-Ft(delete)630 1716 y Fs(\\f)g Ft(form)30 b(feed)630 1879
-y Fs(\\n)384 b Ft(newline)630 2043 y Fs(\\r)g Ft(carriage)32
-b(return)630 2206 y Fs(\\t)384 b Ft(horizon)m(tal)32
-b(tab)630 2370 y Fs(\\v)384 b Ft(v)m(ertical)32 b(tab)630
-2533 y Fs(\\)p Fj(nnn)288 b Ft(the)35 b(eigh)m(t-bit)h(c)m(haracter)g
+(set)h(of)g(bac)m(kslash)630 1300 y(escap)s(es)j(is)f(a)m(v)-5
+b(ailable:)630 1448 y Fs(\\a)384 b Ft(alert)31 b(\(b)s(ell\))630
+1597 y Fs(\\b)384 b Ft(bac)m(kspace)630 1745 y Fs(\\d)g
+Ft(delete)630 1894 y Fs(\\f)g Ft(form)30 b(feed)630 2042
+y Fs(\\n)384 b Ft(newline)630 2191 y Fs(\\r)g Ft(carriage)32
+b(return)630 2339 y Fs(\\t)384 b Ft(horizon)m(tal)32
+b(tab)630 2488 y Fs(\\v)384 b Ft(v)m(ertical)32 b(tab)630
+2636 y Fs(\\)p Fj(nnn)288 b Ft(the)35 b(eigh)m(t-bit)h(c)m(haracter)g
 (whose)e(v)-5 b(alue)35 b(is)g(the)f(o)s(ctal)i(v)-5
-b(alue)35 b Fq(nnn)e Ft(\(one)i(to)1110 2643 y(three)c(digits\))630
-2806 y Fs(\\x)p Fj(HH)288 b Ft(the)40 b(eigh)m(t-bit)h(c)m(haracter)g
+b(alue)35 b Fq(nnn)e Ft(\(one)i(to)1110 2746 y(three)c(digits\))630
+2894 y Fs(\\x)p Fj(HH)288 b Ft(the)40 b(eigh)m(t-bit)h(c)m(haracter)g
 (whose)e(v)-5 b(alue)39 b(is)h(the)f(hexadecimal)i(v)-5
-b(alue)40 b Fq(HH)1110 2916 y Ft(\(one)31 b(or)f(t)m(w)m(o)i(hex)e
-(digits\))630 3079 y(When)37 b(en)m(tering)h(the)g(text)g(of)g(a)g
+b(alue)40 b Fq(HH)1110 3004 y Ft(\(one)31 b(or)f(t)m(w)m(o)i(hex)e
+(digits\))630 3152 y(When)37 b(en)m(tering)h(the)g(text)g(of)g(a)g
 (macro,)i(single)e(or)f(double)g(quotes)h(m)m(ust)f(b)s(e)g(used)f(to)
-630 3189 y(indicate)23 b(a)e(macro)h(de\014nition.)38
+630 3262 y(indicate)23 b(a)e(macro)h(de\014nition.)38
 b(Unquoted)21 b(text)i(is)e(assumed)g(to)h(b)s(e)f(a)h(function)f
-(name.)38 b(In)630 3298 y(the)22 b(macro)f(b)s(o)s(dy)-8
+(name.)38 b(In)630 3372 y(the)22 b(macro)f(b)s(o)s(dy)-8
 b(,)23 b(the)e(bac)m(kslash)h(escap)s(es)g(describ)s(ed)e(ab)s(o)m(v)m
-(e)j(are)e(expanded.)37 b(Bac)m(kslash)630 3408 y(will)j(quote)h(an)m
+(e)j(are)e(expanded.)37 b(Bac)m(kslash)630 3481 y(will)j(quote)h(an)m
 (y)f(other)g(c)m(haracter)i(in)d(the)i(macro)f(text,)k(including)39
 b(`)p Fs(")p Ft(')h(and)g(`)p Fs(')p Ft('.)69 b(F)-8
-b(or)630 3518 y(example,)28 b(the)e(follo)m(wing)h(binding)d(will)i
+b(or)630 3591 y(example,)28 b(the)e(follo)m(wing)h(binding)d(will)i
 (mak)m(e)h(`)p Fj(C-x)j Fs(\\)p Ft(')c(insert)f(a)h(single)h(`)p
-Fs(\\)p Ft(')f(in)m(to)g(the)g(line:)870 3654 y Fs("\\C-x\\\\":)45
-b("\\\\")150 3886 y Fk(8.3.2)63 b(Conditional)41 b(Init)g(Constructs)
-275 4134 y Ft(Readline)36 b(implemen)m(ts)f(a)h(facilit)m(y)i(similar)d
+Fs(\\)p Ft(')f(in)m(to)g(the)g(line:)870 3720 y Fs("\\C-x\\\\":)45
+b("\\\\")150 3928 y Fk(8.3.2)63 b(Conditional)41 b(Init)g(Constructs)
+275 4166 y Ft(Readline)36 b(implemen)m(ts)f(a)h(facilit)m(y)i(similar)d
 (in)g(spirit)g(to)h(the)g(conditional)h(compilation)g(features)150
-4244 y(of)e(the)f(C)g(prepro)s(cessor)g(whic)m(h)g(allo)m(ws)i(k)m(ey)f
+4276 y(of)e(the)f(C)g(prepro)s(cessor)g(whic)m(h)g(allo)m(ws)i(k)m(ey)f
 (bindings)e(and)h(v)-5 b(ariable)35 b(settings)h(to)f(b)s(e)f(p)s
-(erformed)f(as)150 4354 y(the)e(result)f(of)g(tests.)42
+(erformed)f(as)150 4385 y(the)e(result)f(of)g(tests.)42
 b(There)30 b(are)h(four)e(parser)h(directiv)m(es)i(used.)150
-4519 y Fs($if)336 b Ft(The)31 b Fs($if)f Ft(construct)i(allo)m(ws)h
+4534 y Fs($if)336 b Ft(The)31 b Fs($if)f Ft(construct)i(allo)m(ws)h
 (bindings)d(to)i(b)s(e)e(made)i(based)f(on)g(the)g(editing)h(mo)s(de,)g
-(the)630 4629 y(terminal)39 b(b)s(eing)e(used,)j(or)e(the)g
+(the)630 4644 y(terminal)39 b(b)s(eing)e(used,)j(or)e(the)g
 (application)h(using)f(Readline.)64 b(The)38 b(text)h(of)f(the)g(test)
-630 4738 y(extends)30 b(to)h(the)g(end)f(of)g(the)h(line;)g(no)f(c)m
+630 4753 y(extends)30 b(to)h(the)g(end)f(of)g(the)h(line;)g(no)f(c)m
 (haracters)i(are)f(required)e(to)i(isolate)i(it.)630
 4902 y Fs(mode)288 b Ft(The)20 b Fs(mode=)g Ft(form)g(of)h(the)g
 Fs($if)f Ft(directiv)m(e)j(is)e(used)f(to)h(test)h(whether)e(Readline)
@@ -11831,7 +11870,7 @@ Fl(posix)e Ft(1003.2)k(standard.)275 2947 y(In)i(order)g(to)i(switc)m
 Ft(and)g Fs(vi)g Ft(editing)h(mo)s(des,)h(use)f(the)g(`)p
 Fs(set)30 b(-o)150 3057 y(emacs)p Ft(')21 b(and)g(`)p
 Fs(set)29 b(-o)h(vi)p Ft(')21 b(commands)h(\(see)g(Section)h(4.3)g
-([The)e(Set)h(Builtin],)j(page)d(50\).)39 b(The)21 b(Readline)150
+([The)e(Set)h(Builtin],)j(page)d(51\).)39 b(The)21 b(Readline)150
 3166 y(default)31 b(is)f Fs(emacs)f Ft(mo)s(de.)275 3294
 y(When)g(y)m(ou)i(en)m(ter)f(a)h(line)f(in)g Fs(vi)f
 Ft(mo)s(de,)h(y)m(ou)h(are)f(already)h(placed)f(in)g(`insertion')g(mo)s
@@ -12132,7 +12171,7 @@ b Ft(Service)31 b(names.)41 b(Ma)m(y)31 b(also)g(b)s(e)f(sp)s
 (eci\014ed)g(as)g(`)p Fs(-s)p Ft('.)1110 2863 y Fs(setopt)192
 b Ft(V)-8 b(alid)34 b(argumen)m(ts)f(for)f(the)h(`)p
 Fs(-o)p Ft(')g(option)g(to)h(the)f Fs(set)e Ft(builtin)1590
-2973 y(\(see)g(Section)h(4.3)f([The)f(Set)h(Builtin],)g(page)g(50\).)
+2973 y(\(see)g(Section)h(4.3)f([The)f(Set)h(Builtin],)g(page)g(51\).)
 1110 3132 y Fs(shopt)240 b Ft(Shell)40 b(option)g(names)g(as)g
 (accepted)i(b)m(y)e(the)g Fs(shopt)e Ft(builtin)1590
 3241 y(\(see)31 b(Section)h(4.2)f([Bash)g(Builtins],)g(page)g(39\).)
@@ -12205,7 +12244,7 @@ Fl(gnu)f Ft(Readline)h(Library)f(Man)m(ual.)150 1062
 y Fr(9.1)68 b(Bash)45 b(History)h(F)-11 b(acilities)275
 1316 y Ft(When)36 b(the)h(`)p Fs(-o)30 b(history)p Ft(')k(option)j(to)h
 (the)e Fs(set)g Ft(builtin)g(is)h(enabled)f(\(see)i(Section)f(4.3)g
-([The)g(Set)150 1425 y(Builtin],)32 b(page)g(50\),)h(the)e(shell)h(pro)
+([The)g(Set)150 1425 y(Builtin],)32 b(page)g(51\),)h(the)e(shell)h(pro)
 m(vides)f(access)h(to)g(the)f Fq(command)g(history)p
 Ft(,)h(the)f(list)h(of)f(commands)150 1535 y(previously)h(t)m(yp)s(ed.)
 47 b(The)33 b(v)-5 b(alue)33 b(of)f(the)h Fs(HISTSIZE)e
@@ -12789,29 +12828,29 @@ Ft(')g(options)h(that)g(the)g(Bash)g Fs(configure)150
 408 y Ft(recognizes.)150 589 y Fs(--with-afs)630 698
 y Ft(De\014ne)31 b(if)f(y)m(ou)h(are)f(using)g(the)h(Andrew)e(File)j
 (System)e(from)g(T)-8 b(ransarc.)150 872 y Fs(--with-bash-malloc)630
-981 y Ft(Use)40 b(the)f(Bash)h(v)m(ersion)g(of)f Fs(malloc)f
-Ft(in)h(`)p Fs(lib/malloc/malloc.c)p Ft('.)63 b(This)39
-b(is)g(not)h(the)630 1091 y(same)34 b Fs(malloc)f Ft(that)h(app)s(ears)
-f(in)h Fl(gnu)g Ft(lib)s(c,)h(but)e(an)h(older)g(v)m(ersion)g(deriv)m
-(ed)g(from)g(the)630 1200 y(4.2)45 b Fl(bsd)d Fs(malloc)p
-Ft(.)79 b(This)42 b Fs(malloc)g Ft(is)i(v)m(ery)g(fast,)j(but)c(w)m
-(astes)h(some)g(space)g(on)g(eac)m(h)630 1310 y(allo)s(cation.)e(This)
-28 b(option)g(is)h(enabled)f(b)m(y)g(default.)40 b(The)28
-b(`)p Fs(NOTES)p Ft(')f(\014le)i(con)m(tains)g(a)g(list)g(of)630
-1419 y(systems)c(for)h(whic)m(h)f(this)g(should)f(b)s(e)h(turned)f
-(o\013,)j(and)e Fs(configure)e Ft(disables)i(this)g(option)630
-1529 y(automatically)33 b(for)d(a)h(n)m(um)m(b)s(er)e(of)i(systems.)150
-1702 y Fs(--with-curses)630 1812 y Ft(Use)h(the)h(curses)e(library)h
-(instead)g(of)h(the)f(termcap)g(library)-8 b(.)46 b(This)32
-b(should)f(b)s(e)g(supplied)630 1921 y(if)f(y)m(our)h(system)f(has)g
-(an)h(inadequate)g(or)f(incomplete)i(termcap)e(database.)150
-2095 y Fs(--with-gnu-malloc)630 2204 y Ft(A)g(synon)m(ym)g(for)g
-Fs(--with-bash-malloc)p Ft(.)150 2378 y Fs(--with-installed-readlin)o
-(e[=)p Fj(P)o(REFI)o(X)11 b Fs(])630 2487 y Ft(De\014ne)26
-b(this)f(to)h(mak)m(e)h(Bash)f(link)f(with)g(a)h(lo)s(cally-installed)i
-(v)m(ersion)e(of)g(Readline)g(rather)630 2597 y(than)38
-b(the)h(v)m(ersion)g(in)g(`)p Fs(lib/readline)p Ft('.)62
-b(This)38 b(w)m(orks)h(only)f(with)h(Readline)g(5.0)h(and)630
+981 y Ft(Use)31 b(the)g(Bash)f(v)m(ersion)i(of)e Fs(malloc)f
+Ft(in)h(the)h(directory)g(`)p Fs(lib/malloc)p Ft('.)39
+b(This)30 b(is)h(not)g(the)630 1091 y(same)h Fs(malloc)e
+Ft(that)j(app)s(ears)e(in)g Fl(gnu)h Ft(lib)s(c,)g(but)f(an)h(older)f
+(v)m(ersion)i(originally)g(deriv)m(ed)630 1200 y(from)f(the)h(4.2)g
+Fl(bsd)f Fs(malloc)p Ft(.)45 b(This)31 b Fs(malloc)g
+Ft(is)i(v)m(ery)f(fast,)i(but)e(w)m(astes)h(some)g(space)g(on)630
+1310 y(eac)m(h)g(allo)s(cation.)48 b(This)31 b(option)i(is)f(enabled)g
+(b)m(y)g(default.)46 b(The)31 b(`)p Fs(NOTES)p Ft(')g(\014le)h(con)m
+(tains)i(a)630 1419 y(list)29 b(of)f(systems)f(for)h(whic)m(h)g(this)g
+(should)e(b)s(e)i(turned)e(o\013,)j(and)f Fs(configure)d
+Ft(disables)j(this)630 1529 y(option)j(automatically)i(for)d(a)h(n)m
+(um)m(b)s(er)e(of)i(systems.)150 1702 y Fs(--with-curses)630
+1812 y Ft(Use)h(the)h(curses)e(library)h(instead)g(of)h(the)f(termcap)g
+(library)-8 b(.)46 b(This)32 b(should)f(b)s(e)g(supplied)630
+1921 y(if)f(y)m(our)h(system)f(has)g(an)h(inadequate)g(or)f(incomplete)
+i(termcap)e(database.)150 2095 y Fs(--with-gnu-malloc)630
+2204 y Ft(A)g(synon)m(ym)g(for)g Fs(--with-bash-malloc)p
+Ft(.)150 2378 y Fs(--with-installed-readlin)o(e[=)p Fj(P)o(REFI)o(X)11
+b Fs(])630 2487 y Ft(De\014ne)26 b(this)f(to)h(mak)m(e)h(Bash)f(link)f
+(with)g(a)h(lo)s(cally-installed)i(v)m(ersion)e(of)g(Readline)g(rather)
+630 2597 y(than)38 b(the)h(v)m(ersion)g(in)g(`)p Fs(lib/readline)p
+Ft('.)62 b(This)38 b(w)m(orks)h(only)f(with)h(Readline)g(5.0)h(and)630
 2706 y(later)29 b(v)m(ersions.)40 b(If)28 b Fq(PREFIX)37
 b Ft(is)28 b Fs(yes)f Ft(or)h(not)g(supplied,)f Fs(configure)f
 Ft(uses)h(the)h(v)-5 b(alues)29 b(of)630 2816 y(the)c(mak)m(e)g(v)-5
@@ -12987,27 +13026,31 @@ i(help)630 897 y(topic.)54 b(This)33 b(aids)i(in)f(translating)h(the)g
 (text)g(to)g(di\013eren)m(t)g(languages.)54 b(Y)-8 b(ou)35
 b(ma)m(y)g(need)630 1006 y(to)c(disable)g(this)f(if)g(y)m(our)h
 (compiler)g(cannot)f(handle)g(v)m(ery)h(long)g(string)f(literals.)150
-1166 y Fs(--enable-usg-echo-defaul)o(t)630 1275 y Ft(A)g(synon)m(ym)g
-(for)g Fs(--enable-xpg-echo-default)p Ft(.)150 1435 y
-Fs(--enable-xpg-echo-defaul)o(t)630 1544 y Ft(Mak)m(e)c(the)f
-Fs(echo)e Ft(builtin)i(expand)f(bac)m(kslash-escap)s(ed)h(c)m
-(haracters)h(b)m(y)f(default,)h(without)630 1654 y(requiring)41
-b(the)g(`)p Fs(-e)p Ft(')g(option.)73 b(This)41 b(sets)g(the)g(default)
-h(v)-5 b(alue)41 b(of)h(the)f Fs(xpg_echo)e Ft(shell)630
-1763 y(option)26 b(to)g Fs(on)p Ft(,)g(whic)m(h)g(mak)m(es)g(the)g
-(Bash)g Fs(echo)e Ft(b)s(eha)m(v)m(e)i(more)g(lik)m(e)h(the)f(v)m
-(ersion)g(sp)s(eci\014ed)630 1873 y(in)41 b(the)h(Single)g(Unix)f(Sp)s
-(eci\014cation,)k(v)m(ersion)e(3.)74 b(See)42 b(Section)g(4.2)h([Bash)f
-(Builtins],)630 1983 y(page)31 b(39,)h(for)e(a)g(description)h(of)f
-(the)h(escap)s(e)g(sequences)f(that)h Fs(echo)f Ft(recognizes.)275
-2142 y(The)23 b(\014le)i(`)p Fs(config-top.h)p Ft(')c(con)m(tains)26
+1166 y Fs(--enable-strict-posix-de)o(faul)o(t)630 1275
+y Ft(Mak)m(e)c(Bash)f Fl(posix)p Ft(-conforman)m(t)g(b)m(y)f(default)h
+(\(see)g(Section)h(6.11)g([Bash)f(POSIX)e(Mo)s(de],)630
+1385 y(page)31 b(78\).)150 1544 y Fs(--enable-usg-echo-defaul)o(t)630
+1654 y Ft(A)f(synon)m(ym)g(for)g Fs(--enable-xpg-echo-default)p
+Ft(.)150 1813 y Fs(--enable-xpg-echo-defaul)o(t)630 1923
+y Ft(Mak)m(e)c(the)f Fs(echo)e Ft(builtin)i(expand)f(bac)m
+(kslash-escap)s(ed)h(c)m(haracters)h(b)m(y)f(default,)h(without)630
+2032 y(requiring)41 b(the)g(`)p Fs(-e)p Ft(')g(option.)73
+b(This)41 b(sets)g(the)g(default)h(v)-5 b(alue)41 b(of)h(the)f
+Fs(xpg_echo)e Ft(shell)630 2142 y(option)26 b(to)g Fs(on)p
+Ft(,)g(whic)m(h)g(mak)m(es)g(the)g(Bash)g Fs(echo)e Ft(b)s(eha)m(v)m(e)
+i(more)g(lik)m(e)h(the)f(v)m(ersion)g(sp)s(eci\014ed)630
+2252 y(in)41 b(the)h(Single)g(Unix)f(Sp)s(eci\014cation,)k(v)m(ersion)e
+(3.)74 b(See)42 b(Section)g(4.2)h([Bash)f(Builtins],)630
+2361 y(page)31 b(39,)h(for)e(a)g(description)h(of)f(the)h(escap)s(e)g
+(sequences)f(that)h Fs(echo)f Ft(recognizes.)275 2521
+y(The)23 b(\014le)i(`)p Fs(config-top.h)p Ft(')c(con)m(tains)26
 b(C)e(Prepro)s(cessor)g(`)p Fs(#define)p Ft(')e(statemen)m(ts)k(for)f
-(options)f(whic)m(h)150 2252 y(are)35 b(not)g(settable)i(from)d
+(options)f(whic)m(h)150 2630 y(are)35 b(not)g(settable)i(from)d
 Fs(configure)p Ft(.)51 b(Some)35 b(of)g(these)g(are)h(not)f(mean)m(t)g
-(to)h(b)s(e)e(c)m(hanged;)k(b)s(ew)m(are)d(of)150 2361
+(to)h(b)s(e)e(c)m(hanged;)k(b)s(ew)m(are)d(of)150 2740
 y(the)h(consequences)g(if)f(y)m(ou)h(do.)55 b(Read)36
 b(the)g(commen)m(ts)g(asso)s(ciated)h(with)e(eac)m(h)i(de\014nition)e
-(for)g(more)150 2471 y(information)c(ab)s(out)f(its)h(e\013ect.)p
+(for)g(more)150 2849 y(information)c(ab)s(out)f(its)h(e\013ect.)p
 eop end
 %%Page: 126 132
 TeXDict begin 126 131 bop 150 -116 a Ft(126)2527 b(Bash)31
@@ -13051,462 +13094,482 @@ TeXDict begin 129 134 bop 150 -116 a Ft(App)s(endix)29
 b(B:)i(Ma)5 b(jor)31 b(Di\013erences)g(F)-8 b(rom)31
 b(The)f(Bourne)g(Shell)1258 b(129)150 141 y Fo(App)t(endix)52
 b(B)128 b(Ma)9 b(jor)54 b(Di\013erences)d(F)-13 b(rom)54
-b(The)f(Bourne)1135 299 y(Shell)275 524 y Ft(Bash)25
+b(The)f(Bourne)1135 299 y(Shell)275 530 y Ft(Bash)25
 b(implemen)m(ts)g(essen)m(tially)i(the)f(same)f(grammar,)i(parameter)e
-(and)g(v)-5 b(ariable)26 b(expansion,)g(redi-)150 633
+(and)g(v)-5 b(ariable)26 b(expansion,)g(redi-)150 640
 y(rection,)j(and)d(quoting)h(as)g(the)h(Bourne)e(Shell.)40
 b(Bash)27 b(uses)f(the)h Fl(posix)f Ft(1003.2)k(standard)c(as)h(the)g
-(sp)s(ec-)150 743 y(i\014cation)33 b(of)e(ho)m(w)h(these)g(features)g
+(sp)s(ec-)150 749 y(i\014cation)33 b(of)e(ho)m(w)h(these)g(features)g
 (are)g(to)g(b)s(e)f(implemen)m(ted.)45 b(There)31 b(are)h(some)g
-(di\013erences)g(b)s(et)m(w)m(een)150 853 y(the)g(traditional)h(Bourne)
+(di\013erences)g(b)s(et)m(w)m(een)150 859 y(the)g(traditional)h(Bourne)
 e(shell)g(and)g(Bash;)i(this)e(section)i(quic)m(kly)f(details)h(the)e
-(di\013erences)h(of)g(signif-)150 962 y(icance.)52 b(A)34
+(di\013erences)h(of)g(signif-)150 969 y(icance.)52 b(A)34
 b(n)m(um)m(b)s(er)e(of)i(these)h(di\013erences)f(are)g(explained)g(in)f
-(greater)i(depth)e(in)g(previous)h(sections.)150 1072
-y(This)c(section)h(uses)f(the)h(v)m(ersion)f(of)h Fs(sh)f
-Ft(included)f(in)h(SVR4.2)i(as)e(the)h(baseline)g(reference.)225
-1204 y Fp(\017)60 b Ft(Bash)32 b(is)h Fl(posix)p Ft(-conforman)m(t,)g
-(ev)m(en)g(where)f(the)g Fl(posix)g Ft(sp)s(eci\014cation)h(di\013ers)f
-(from)g(traditional)330 1314 y Fs(sh)e Ft(b)s(eha)m(vior)g(\(see)i
-(Section)f(6.11)h([Bash)e(POSIX)g(Mo)s(de],)h(page)g(78\).)225
-1447 y Fp(\017)60 b Ft(Bash)26 b(has)g(m)m(ulti-c)m(haracter)i(in)m(v)m
-(o)s(cation)g(options)f(\(see)f(Section)h(6.1)g([In)m(v)m(oking)g
-(Bash],)h(page)e(65\).)225 1579 y Fp(\017)60 b Ft(Bash)28
-b(has)g(command-line)h(editing)f(\(see)h(Chapter)f(8)g([Command)f(Line)
-h(Editing],)i(page)e(87\))i(and)330 1689 y(the)h Fs(bind)e
-Ft(builtin.)225 1822 y Fp(\017)60 b Ft(Bash)46 b(pro)m(vides)g(a)g
-(programmable)g(w)m(ord)f(completion)i(mec)m(hanism)f(\(see)h(Section)g
-(8.6)g([Pro-)330 1931 y(grammable)21 b(Completion],)i(page)e(107\),)k
-(and)19 b(t)m(w)m(o)j(builtin)e(commands,)i Fs(complete)c
-Ft(and)i Fs(compgen)p Ft(,)330 2041 y(to)31 b(manipulate)g(it.)225
-2173 y Fp(\017)60 b Ft(Bash)26 b(has)f(command)h(history)f(\(see)i
+(greater)i(depth)e(in)g(previous)h(sections.)150 1078
+y(This)i(section)j(uses)d(the)i(v)m(ersion)f(of)h Fs(sh)e
+Ft(included)h(in)g(SVR4.2)h(\(the)f(last)h(v)m(ersion)g(of)f(the)h
+(historical)150 1188 y(Bourne)30 b(shell\))h(as)g(the)f(baseline)h
+(reference.)225 1322 y Fp(\017)60 b Ft(Bash)32 b(is)h
+Fl(posix)p Ft(-conforman)m(t,)g(ev)m(en)g(where)f(the)g
+Fl(posix)g Ft(sp)s(eci\014cation)h(di\013ers)f(from)g(traditional)330
+1431 y Fs(sh)e Ft(b)s(eha)m(vior)g(\(see)i(Section)f(6.11)h([Bash)e
+(POSIX)g(Mo)s(de],)h(page)g(78\).)225 1565 y Fp(\017)60
+b Ft(Bash)26 b(has)g(m)m(ulti-c)m(haracter)i(in)m(v)m(o)s(cation)g
+(options)f(\(see)f(Section)h(6.1)g([In)m(v)m(oking)g(Bash],)h(page)e
+(65\).)225 1699 y Fp(\017)60 b Ft(Bash)28 b(has)g(command-line)h
+(editing)f(\(see)h(Chapter)f(8)g([Command)f(Line)h(Editing],)i(page)e
+(87\))i(and)330 1809 y(the)h Fs(bind)e Ft(builtin.)225
+1943 y Fp(\017)60 b Ft(Bash)46 b(pro)m(vides)g(a)g(programmable)g(w)m
+(ord)f(completion)i(mec)m(hanism)f(\(see)h(Section)g(8.6)g([Pro-)330
+2052 y(grammable)21 b(Completion],)i(page)e(107\),)k(and)19
+b(t)m(w)m(o)j(builtin)e(commands,)i Fs(complete)c Ft(and)i
+Fs(compgen)p Ft(,)330 2162 y(to)31 b(manipulate)g(it.)225
+2296 y Fp(\017)60 b Ft(Bash)26 b(has)f(command)h(history)f(\(see)i
 (Section)f(9.1)h([Bash)f(History)h(F)-8 b(acilities],)30
-b(page)c(113\))i(and)d(the)330 2283 y Fs(history)k Ft(and)h
+b(page)c(113\))i(and)d(the)330 2405 y Fs(history)k Ft(and)h
 Fs(fc)g Ft(builtins)g(to)h(manipulate)g(it.)42 b(The)30
 b(Bash)h(history)g(list)g(main)m(tains)g(timestamp)330
-2393 y(information)g(and)e(uses)h(the)h(v)-5 b(alue)31
+2515 y(information)g(and)e(uses)h(the)h(v)-5 b(alue)31
 b(of)f(the)h Fs(HISTTIMEFORMAT)26 b Ft(v)-5 b(ariable)32
-b(to)f(displa)m(y)f(it.)225 2525 y Fp(\017)60 b Ft(Bash)48
+b(to)f(displa)m(y)f(it.)225 2649 y Fp(\017)60 b Ft(Bash)48
 b(implemen)m(ts)h Fs(csh)p Ft(-lik)m(e)g(history)f(expansion)g(\(see)h
-(Section)g(9.3)h([History)f(In)m(teraction],)330 2635
-y(page)31 b(115\).)225 2768 y Fp(\017)60 b Ft(Bash)33
+(Section)g(9.3)h([History)f(In)m(teraction],)330 2759
+y(page)31 b(115\).)225 2892 y Fp(\017)60 b Ft(Bash)33
 b(has)g(one-dimensional)h(arra)m(y)f(v)-5 b(ariables)34
 b(\(see)g(Section)g(6.7)g([Arra)m(ys],)g(page)g(74\),)h(and)e(the)330
-2877 y(appropriate)39 b(v)-5 b(ariable)40 b(expansions)f(and)g
+3002 y(appropriate)39 b(v)-5 b(ariable)40 b(expansions)f(and)g
 (assignmen)m(t)h(syn)m(tax)g(to)g(use)f(them.)67 b(Sev)m(eral)40
-b(of)g(the)330 2987 y(Bash)32 b(builtins)f(tak)m(e)j(options)e(to)h
+b(of)g(the)330 3112 y(Bash)32 b(builtins)f(tak)m(e)j(options)e(to)h
 (act)g(on)e(arra)m(ys.)46 b(Bash)32 b(pro)m(vides)g(a)g(n)m(um)m(b)s
-(er)f(of)h(built-in)f(arra)m(y)330 3096 y(v)-5 b(ariables.)225
-3229 y Fp(\017)60 b Ft(The)37 b Fs($'...)n(')g Ft(quoting)g(syn)m(tax,)
+(er)f(of)h(built-in)f(arra)m(y)330 3221 y(v)-5 b(ariables.)225
+3355 y Fp(\017)60 b Ft(The)37 b Fs($'...)n(')g Ft(quoting)g(syn)m(tax,)
 j(whic)m(h)d(expands)f(ANSI-C)h(bac)m(kslash-escap)s(ed)h(c)m
-(haracters)g(in)330 3339 y(the)26 b(text)h(b)s(et)m(w)m(een)g(the)g
+(haracters)g(in)330 3465 y(the)26 b(text)h(b)s(et)m(w)m(een)g(the)g
 (single)f(quotes,)i(is)e(supp)s(orted)f(\(see)i(Section)g(3.1.2.4)h
-([ANSI-C)e(Quoting],)330 3448 y(page)31 b(6\).)225 3581
+([ANSI-C)e(Quoting],)330 3574 y(page)31 b(6\).)225 3708
 y Fp(\017)60 b Ft(Bash)69 b(supp)s(orts)e(the)i Fs($"...)n(")g
 Ft(quoting)g(syn)m(tax)g(to)h(do)e(lo)s(cale-sp)s(eci\014c)j
-(translation)f(of)330 3690 y(the)65 b(c)m(haracters)i(b)s(et)m(w)m(een)
+(translation)f(of)330 3818 y(the)65 b(c)m(haracters)i(b)s(et)m(w)m(een)
 f(the)f(double)g(quotes.)145 b(The)65 b(`)p Fs(-D)p Ft(',)74
-b(`)p Fs(--dump-strings)p Ft(',)d(and)330 3800 y(`)p
+b(`)p Fs(--dump-strings)p Ft(',)d(and)330 3927 y(`)p
 Fs(--dump-po-strings)p Ft(')27 b(in)m(v)m(o)s(cation)33
 b(options)e(list)h(the)f(translatable)h(strings)f(found)f(in)h(a)g
-(script)330 3910 y(\(see)g(Section)h(3.1.2.5)g([Lo)s(cale)g(T)-8
-b(ranslation],)32 b(page)f(7\).)225 4042 y Fp(\017)60
+(script)330 4037 y(\(see)g(Section)h(3.1.2.5)g([Lo)s(cale)g(T)-8
+b(ranslation],)32 b(page)f(7\).)225 4171 y Fp(\017)60
 b Ft(Bash)44 b(implemen)m(ts)g(the)f Fs(!)h Ft(k)m(eyw)m(ord)g(to)g
 (negate)h(the)f(return)e(v)-5 b(alue)44 b(of)g(a)g(pip)s(eline)f(\(see)
-h(Sec-)330 4152 y(tion)33 b(3.2.2)i([Pip)s(elines],)f(page)g(8\).)49
+h(Sec-)330 4281 y(tion)33 b(3.2.2)i([Pip)s(elines],)f(page)g(8\).)49
 b(V)-8 b(ery)33 b(useful)f(when)g(an)h Fs(if)f Ft(statemen)m(t)j(needs)
-d(to)i(act)g(only)f(if)330 4261 y(a)e(test)g(fails.)225
-4394 y Fp(\017)60 b Ft(Bash)34 b(has)g(the)g Fs(time)f
+d(to)i(act)g(only)f(if)330 4390 y(a)k(test)h(fails.)60
+b(The)36 b(Bash)g(`)p Fs(-o)30 b(pipefail)p Ft(')35 b(option)i(to)h
+Fs(set)d Ft(will)i(cause)g(a)g(pip)s(eline)g(to)g(return)f(a)330
+4500 y(failure)31 b(status)f(if)h(an)m(y)f(command)g(fails.)225
+4634 y Fp(\017)60 b Ft(Bash)34 b(has)g(the)g Fs(time)f
 Ft(reserv)m(ed)h(w)m(ord)g(and)f(command)h(timing)h(\(see)g(Section)g
-(3.2.2)g([Pip)s(elines],)330 4504 y(page)g(8\).)52 b(The)33
+(3.2.2)g([Pip)s(elines],)330 4743 y(page)g(8\).)52 b(The)33
 b(displa)m(y)i(of)f(the)g(timing)g(statistics)i(ma)m(y)f(b)s(e)e(con)m
-(trolled)j(with)e(the)g Fs(TIMEFORMAT)330 4613 y Ft(v)-5
-b(ariable.)225 4746 y Fp(\017)60 b Ft(Bash)23 b(implemen)m(ts)g(the)h
+(trolled)j(with)e(the)g Fs(TIMEFORMAT)330 4853 y Ft(v)-5
+b(ariable.)225 4987 y Fp(\017)60 b Ft(Bash)23 b(implemen)m(ts)g(the)h
 Fs(for)29 b(\(\()h Fj(expr1)39 b Fs(;)30 b Fj(expr2)40
 b Fs(;)30 b Fj(expr3)39 b Fs(\)\))23 b Ft(arithmetic)h(for)e(command,)j
-(sim-)330 4855 y(ilar)31 b(to)g(the)g(C)f(language)h(\(see)h(Section)f
+(sim-)330 5096 y(ilar)31 b(to)g(the)g(C)f(language)h(\(see)h(Section)f
 (3.2.4.1)i([Lo)s(oping)d(Constructs],)h(page)g(9\).)225
-4988 y Fp(\017)60 b Ft(Bash)31 b(includes)f(the)g Fs(select)f
+5230 y Fp(\017)60 b Ft(Bash)31 b(includes)f(the)g Fs(select)f
 Ft(comp)s(ound)g(command,)i(whic)m(h)f(allo)m(ws)i(the)f(generation)g
-(of)g(simple)330 5098 y(men)m(us)f(\(see)h(Section)g(3.2.4.2)i
-([Conditional)e(Constructs],)g(page)g(10\).)225 5230
-y Fp(\017)60 b Ft(Bash)26 b(includes)g(the)h Fs([[)f
-Ft(comp)s(ound)f(command,)i(whic)m(h)f(mak)m(es)h(conditional)h
-(testing)f(part)f(of)h(the)330 5340 y(shell)k(grammar)f(\(see)h
-(Section)g(3.2.4.2)i([Conditional)f(Constructs],)e(page)h(10\).)p
-eop end
+(of)g(simple)330 5340 y(men)m(us)f(\(see)h(Section)g(3.2.4.2)i
+([Conditional)e(Constructs],)g(page)g(10\).)p eop end
 %%Page: 130 136
 TeXDict begin 130 135 bop 150 -116 a Ft(130)2527 b(Bash)31
-b(Reference)g(Man)m(ual)225 299 y Fp(\017)60 b Ft(Bash)27
-b(includes)g(brace)h(expansion)f(\(see)h(Section)g(3.5.1)i([Brace)e
-(Expansion],)g(page)g(17\))h(and)d(tilde)330 408 y(expansion)k(\(see)i
-(Section)f(3.5.2)h([Tilde)f(Expansion],)f(page)h(18\).)225
-537 y Fp(\017)60 b Ft(Bash)24 b(implemen)m(ts)h(command)e(aliases)j
-(and)d(the)i Fs(alias)d Ft(and)i Fs(unalias)e Ft(builtins)h(\(see)i
-(Section)g(6.6)330 647 y([Aliases],)32 b(page)f(73\).)225
-776 y Fp(\017)60 b Ft(Bash)32 b(pro)m(vides)g(shell)g(arithmetic,)i
-(the)e Fs(\(\()g Ft(comp)s(ound)e(command)i(\(see)h(Section)f(3.2.4.2)j
-([Con-)330 886 y(ditional)d(Constructs],)e(page)i(10\),)g(and)e
-(arithmetic)i(expansion)e(\(see)i(Section)f(6.5)h([Shell)f(Arith-)330
-995 y(metic],)h(page)f(72\).)225 1124 y Fp(\017)60 b
+b(Reference)g(Man)m(ual)225 299 y Fp(\017)60 b Ft(Bash)40
+b(includes)g(the)g Fs([[)g Ft(comp)s(ound)e(command,)43
+b(whic)m(h)c(mak)m(es)i(conditional)h(testing)f(part)f(of)330
+408 y(the)f(shell)g(grammar)g(\(see)h(Section)f(3.2.4.2)j([Conditional)
+d(Constructs],)i(page)f(10\),)i(including)330 518 y(optional)32
+b(regular)e(expression)g(matc)m(hing.)225 653 y Fp(\017)60
+b Ft(Bash)31 b(pro)m(vides)f(optional)h(case-insensitiv)m(e)i(matc)m
+(hing)f(for)e(the)g Fs(case)g Ft(and)f Fs([[)h Ft(constructs.)225
+789 y Fp(\017)60 b Ft(Bash)27 b(includes)g(brace)h(expansion)f(\(see)h
+(Section)g(3.5.1)i([Brace)e(Expansion],)g(page)g(17\))h(and)d(tilde)330
+898 y(expansion)k(\(see)i(Section)f(3.5.2)h([Tilde)f(Expansion],)f
+(page)h(18\).)225 1034 y Fp(\017)60 b Ft(Bash)24 b(implemen)m(ts)h
+(command)e(aliases)j(and)d(the)i Fs(alias)d Ft(and)i
+Fs(unalias)e Ft(builtins)h(\(see)i(Section)g(6.6)330
+1143 y([Aliases],)32 b(page)f(73\).)225 1279 y Fp(\017)60
+b Ft(Bash)32 b(pro)m(vides)g(shell)g(arithmetic,)i(the)e
+Fs(\(\()g Ft(comp)s(ound)e(command)i(\(see)h(Section)f(3.2.4.2)j([Con-)
+330 1388 y(ditional)d(Constructs],)e(page)i(10\),)g(and)e(arithmetic)i
+(expansion)e(\(see)i(Section)f(6.5)h([Shell)f(Arith-)330
+1498 y(metic],)h(page)f(72\).)225 1633 y Fp(\017)60 b
 Ft(V)-8 b(ariables)31 b(presen)m(t)e(in)g(the)g(shell's)h(initial)g(en)
 m(vironmen)m(t)g(are)g(automatically)i(exp)s(orted)d(to)h(c)m(hild)330
-1234 y(pro)s(cesses.)38 b(The)23 b(Bourne)g(shell)g(do)s(es)g(not)g
+1743 y(pro)s(cesses.)38 b(The)23 b(Bourne)g(shell)g(do)s(es)g(not)g
 (normally)g(do)g(this)g(unless)g(the)g(v)-5 b(ariables)24
-b(are)f(explicitly)330 1343 y(mark)m(ed)30 b(using)g(the)h
-Fs(export)e Ft(command.)225 1472 y Fp(\017)60 b Ft(Bash)36
-b(includes)g(the)g Fl(posix)f Ft(pattern)h(remo)m(v)-5
-b(al)37 b(`)p Fs(\045)p Ft(',)h(`)p Fs(#)p Ft(',)g(`)p
-Fs(\045\045)p Ft(')e(and)f(`)p Fs(##)p Ft(')h(expansions)g(to)g(remo)m
-(v)m(e)330 1582 y(leading)f(or)f(trailing)h(substrings)e(from)g(v)-5
-b(ariable)35 b(v)-5 b(alues)35 b(\(see)g(Section)g(3.5.3)g([Shell)g(P)m
-(arameter)330 1691 y(Expansion],)30 b(page)h(19\).)225
-1820 y Fp(\017)60 b Ft(The)46 b(expansion)g Fs(${#xx})p
-Ft(,)j(whic)m(h)d(returns)f(the)i(length)f(of)h Fs(${xx})p
-Ft(,)i(is)e(supp)s(orted)d(\(see)j(Sec-)330 1930 y(tion)31
-b(3.5.3)h([Shell)f(P)m(arameter)g(Expansion],)f(page)i(19\).)225
-2059 y Fp(\017)60 b Ft(The)30 b(expansion)g Fs(${var:)p
-Fq(o\013set)r Fs([:)p Fq(length)p Fs(]})p Ft(,)g(whic)m(h)g(expands)g
-(to)h(the)g(substring)e(of)i Fs(var)p Ft('s)e(v)-5 b(alue)330
-2168 y(of)43 b(length)g Fq(length)p Ft(,)k(b)s(eginning)42
-b(at)i Fq(o\013set)p Ft(,)j(is)c(presen)m(t)g(\(see)g(Section)h(3.5.3)h
-([Shell)e(P)m(arameter)330 2278 y(Expansion],)30 b(page)h(19\).)225
-2407 y Fp(\017)60 b Ft(The)21 b(expansion)f Fs(${var/[/])p
+b(are)f(explicitly)330 1852 y(mark)m(ed)30 b(using)g(the)h
+Fs(export)e Ft(command.)225 1988 y Fp(\017)60 b Ft(Bash)26
+b(supp)s(orts)d(the)j(`)p Fs(+=)p Ft(')f(assignmen)m(t)i(op)s(erator,)g
+(whic)m(h)e(app)s(ends)f(to)i(the)g(v)-5 b(alue)26 b(of)f(the)h(v)-5
+b(ariable)330 2097 y(named)30 b(on)g(the)h(left)g(hand)e(side.)225
+2233 y Fp(\017)60 b Ft(Bash)36 b(includes)g(the)g Fl(posix)f
+Ft(pattern)h(remo)m(v)-5 b(al)37 b(`)p Fs(\045)p Ft(',)h(`)p
+Fs(#)p Ft(',)g(`)p Fs(\045\045)p Ft(')e(and)f(`)p Fs(##)p
+Ft(')h(expansions)g(to)g(remo)m(v)m(e)330 2342 y(leading)f(or)f
+(trailing)h(substrings)e(from)g(v)-5 b(ariable)35 b(v)-5
+b(alues)35 b(\(see)g(Section)g(3.5.3)g([Shell)g(P)m(arameter)330
+2452 y(Expansion],)30 b(page)h(19\).)225 2587 y Fp(\017)60
+b Ft(The)46 b(expansion)g Fs(${#xx})p Ft(,)j(whic)m(h)d(returns)f(the)i
+(length)f(of)h Fs(${xx})p Ft(,)i(is)e(supp)s(orted)d(\(see)j(Sec-)330
+2697 y(tion)31 b(3.5.3)h([Shell)f(P)m(arameter)g(Expansion],)f(page)i
+(19\).)225 2832 y Fp(\017)60 b Ft(The)30 b(expansion)g
+Fs(${var:)p Fq(o\013set)r Fs([:)p Fq(length)p Fs(]})p
+Ft(,)g(whic)m(h)g(expands)g(to)h(the)g(substring)e(of)i
+Fs(var)p Ft('s)e(v)-5 b(alue)330 2942 y(of)43 b(length)g
+Fq(length)p Ft(,)k(b)s(eginning)42 b(at)i Fq(o\013set)p
+Ft(,)j(is)c(presen)m(t)g(\(see)g(Section)h(3.5.3)h([Shell)e(P)m
+(arameter)330 3051 y(Expansion],)30 b(page)h(19\).)225
+3187 y Fp(\017)60 b Ft(The)21 b(expansion)f Fs(${var/[/])p
 Fq(pattern)p Fs([/)p Fq(replacemen)m(t)r Fs(]})p Ft(,)i(whic)m(h)e
-(matc)m(hes)j Fq(pattern)e Ft(and)f(replaces)330 2516
+(matc)m(hes)j Fq(pattern)e Ft(and)f(replaces)330 3296
 y(it)29 b(with)e Fq(replacemen)m(t)32 b Ft(in)c(the)g(v)-5
 b(alue)29 b(of)f Fs(var)p Ft(,)g(is)g(a)m(v)-5 b(ailable)31
 b(\(see)e(Section)f(3.5.3)i([Shell)f(P)m(arameter)330
-2626 y(Expansion],)h(page)h(19\).)225 2755 y Fp(\017)60
+3406 y(Expansion],)h(page)h(19\).)225 3541 y Fp(\017)60
 b Ft(The)32 b(expansion)g Fs(${!)p Fj(prefix)p Fs(})p
 Fj(*)40 b Ft(expansion,)32 b(whic)m(h)g(expands)g(to)h(the)f(names)g
-(of)h(all)g(shell)f(v)-5 b(ari-)330 2865 y(ables)36 b(whose)g(names)g
+(of)h(all)g(shell)f(v)-5 b(ari-)330 3651 y(ables)36 b(whose)g(names)g
 (b)s(egin)g(with)g Fq(pre\014x)p Ft(,)g(is)g(a)m(v)-5
 b(ailable)39 b(\(see)e(Section)g(3.5.3)g([Shell)g(P)m(arameter)330
-2974 y(Expansion],)30 b(page)h(19\).)225 3103 y Fp(\017)60
+3761 y(Expansion],)30 b(page)h(19\).)225 3896 y Fp(\017)60
 b Ft(Bash)22 b(has)f Fq(indirect)j Ft(v)-5 b(ariable)22
 b(expansion)g(using)f Fs(${!word})e Ft(\(see)k(Section)f(3.5.3)i
-([Shell)e(P)m(arameter)330 3213 y(Expansion],)30 b(page)h(19\).)225
-3342 y Fp(\017)60 b Ft(Bash)31 b(can)f(expand)g(p)s(ositional)h
+([Shell)e(P)m(arameter)330 4006 y(Expansion],)30 b(page)h(19\).)225
+4141 y Fp(\017)60 b Ft(Bash)31 b(can)f(expand)g(p)s(ositional)h
 (parameters)g(b)s(ey)m(ond)e Fs($9)h Ft(using)g Fs(${)p
-Fj(num)11 b Fs(})p Ft(.)225 3471 y Fp(\017)60 b Ft(The)27
+Fj(num)11 b Fs(})p Ft(.)225 4276 y Fp(\017)60 b Ft(The)27
 b Fl(posix)g Fs($\(\))g Ft(form)g(of)h(command)g(substitution)f(is)h
 (implemen)m(ted)g(\(see)h(Section)f(3.5.4)i([Com-)330
-3580 y(mand)38 b(Substitution],)k(page)e(21\),)j(and)38
+4386 y(mand)38 b(Substitution],)k(page)e(21\),)j(and)38
 b(preferred)g(to)i(the)g(Bourne)f(shell's)h Fs(``)e Ft(\(whic)m(h)i(is)
-f(also)330 3690 y(implemen)m(ted)31 b(for)f(bac)m(kw)m(ards)h
-(compatibilit)m(y\).)225 3819 y Fp(\017)60 b Ft(Bash)31
+f(also)330 4495 y(implemen)m(ted)31 b(for)f(bac)m(kw)m(ards)h
+(compatibilit)m(y\).)225 4631 y Fp(\017)60 b Ft(Bash)31
 b(has)f(pro)s(cess)g(substitution)g(\(see)h(Section)g(3.5.6)h([Pro)s
-(cess)f(Substitution],)f(page)h(22\).)225 3948 y Fp(\017)60
+(cess)f(Substitution],)f(page)h(22\).)225 4766 y Fp(\017)60
 b Ft(Bash)55 b(automatically)j(assigns)e(v)-5 b(ariables)55
 b(that)h(pro)m(vide)f(information)h(ab)s(out)f(the)g(curren)m(t)330
-4057 y(user)40 b(\()p Fs(UID)p Ft(,)i Fs(EUID)p Ft(,)g(and)e
+4876 y(user)40 b(\()p Fs(UID)p Ft(,)i Fs(EUID)p Ft(,)g(and)e
 Fs(GROUPS)p Ft(\),)h(the)g(curren)m(t)f(host)g(\()p Fs(HOSTTYPE)p
 Ft(,)h Fs(OSTYPE)p Ft(,)h Fs(MACHTYPE)p Ft(,)f(and)330
-4167 y Fs(HOSTNAME)p Ft(\),)55 b(and)c(the)g(instance)h(of)g(Bash)f
+4985 y Fs(HOSTNAME)p Ft(\),)55 b(and)c(the)g(instance)h(of)g(Bash)f
 (that)h(is)f(running)f(\()p Fs(BASH)p Ft(,)56 b Fs(BASH_VERSION)p
-Ft(,)e(and)330 4276 y Fs(BASH_VERSINFO)p Ft(\).)37 b(See)31
+Ft(,)e(and)330 5095 y Fs(BASH_VERSINFO)p Ft(\).)37 b(See)31
 b(Section)g(5.2)h([Bash)e(V)-8 b(ariables],)33 b(page)e(55,)g(for)f
-(details.)225 4405 y Fp(\017)60 b Ft(The)44 b Fs(IFS)f
+(details.)225 5230 y Fp(\017)60 b Ft(The)44 b Fs(IFS)f
 Ft(v)-5 b(ariable)45 b(is)f(used)f(to)i(split)f(only)g(the)g(results)g
-(of)h(expansion,)i(not)d(all)h(w)m(ords)f(\(see)330 4515
+(of)h(expansion,)i(not)d(all)h(w)m(ords)f(\(see)330 5340
 y(Section)29 b(3.5.7)h([W)-8 b(ord)29 b(Splitting],)h(page)f(22\).)41
-b(This)28 b(closes)h(a)g(longstanding)g(shell)f(securit)m(y)h(hole.)225
-4644 y Fp(\017)60 b Ft(Bash)33 b(implemen)m(ts)h(the)f(full)g(set)h(of)
-f Fl(posix)f Ft(1003.2)k(\014lename)d(expansion)g(op)s(erators,)h
-(including)330 4753 y Fq(c)m(haracter)23 b(classes)p
-Ft(,)h Fq(equiv)-5 b(alence)23 b(classes)p Ft(,)h(and)d
-Fq(collating)i(sym)m(b)s(ols)i Ft(\(see)d(Section)g(3.5.8)h([Filename)
-330 4863 y(Expansion],)30 b(page)h(23\).)225 4992 y Fp(\017)60
-b Ft(Bash)35 b(implemen)m(ts)g(extended)g(pattern)g(matc)m(hing)h
-(features)f(when)f(the)h Fs(extglob)d Ft(shell)j(option)330
-5101 y(is)30 b(enabled)h(\(see)g(Section)g(3.5.8.1)i([P)m(attern)f
-(Matc)m(hing],)g(page)f(23\).)225 5230 y Fp(\017)60 b
-Ft(It)22 b(is)g(p)s(ossible)g(to)h(ha)m(v)m(e)g(a)f(v)-5
-b(ariable)23 b(and)f(a)g(function)g(with)g(the)g(same)g(name;)j
-Fs(sh)d Ft(do)s(es)g(not)g(separate)330 5340 y(the)31
-b(t)m(w)m(o)g(name)g(spaces.)p eop end
+b(This)28 b(closes)h(a)g(longstanding)g(shell)f(securit)m(y)h(hole.)p
+eop end
 %%Page: 131 137
 TeXDict begin 131 136 bop 150 -116 a Ft(App)s(endix)29
 b(B:)i(Ma)5 b(jor)31 b(Di\013erences)g(F)-8 b(rom)31
 b(The)f(Bourne)g(Shell)1258 b(131)225 299 y Fp(\017)60
-b Ft(Bash)30 b(functions)e(are)i(p)s(ermitted)f(to)h(ha)m(v)m(e)h(lo)s
-(cal)g(v)-5 b(ariables)30 b(using)f(the)g Fs(local)f
-Ft(builtin,)i(and)e(th)m(us)330 408 y(useful)i(recursiv)m(e)g
-(functions)g(ma)m(y)h(b)s(e)f(written)g(\(see)i(Section)f(4.2)g([Bash)g
-(Builtins],)g(page)h(39\).)225 537 y Fp(\017)60 b Ft(V)-8
-b(ariable)25 b(assignmen)m(ts)g(preceding)e(commands)h(a\013ect)h(only)
-f(that)g(command,)h(ev)m(en)f(builtins)g(and)330 647
-y(functions)36 b(\(see)h(Section)g(3.7.4)h([En)m(vironmen)m(t],)h(page)
-e(30\).)60 b(In)35 b Fs(sh)p Ft(,)j(all)f(v)-5 b(ariable)37
-b(assignmen)m(ts)330 757 y(preceding)30 b(commands)g(are)h(global)h
-(unless)d(the)i(command)f(is)h(executed)g(from)f(the)g(\014le)h
-(system.)225 886 y Fp(\017)60 b Ft(Bash)44 b(p)s(erforms)e(\014lename)i
-(expansion)f(on)h(\014lenames)g(sp)s(eci\014ed)f(as)h(op)s(erands)e(to)
-j(input)e(and)330 995 y(output)30 b(redirection)h(op)s(erators)g(\(see)
-g(Section)g(3.6)h([Redirections],)g(page)f(25\).)225
-1124 y Fp(\017)60 b Ft(Bash)29 b(con)m(tains)h(the)f(`)p
-Fs(<>)p Ft(')f(redirection)i(op)s(erator,)f(allo)m(wing)i(a)e(\014le)g
-(to)g(b)s(e)f(op)s(ened)g(for)h(b)s(oth)f(read-)330 1234
-y(ing)35 b(and)f(writing,)i(and)e(the)h(`)p Fs(&>)p Ft(')g(redirection)
-g(op)s(erator,)h(for)f(directing)g(standard)f(output)h(and)330
-1343 y(standard)30 b(error)g(to)h(the)f(same)h(\014le)f(\(see)i
-(Section)f(3.6)g([Redirections],)h(page)g(25\).)225 1472
-y Fp(\017)60 b Ft(Bash)25 b(treats)h(a)f(n)m(um)m(b)s(er)e(of)i
-(\014lenames)g(sp)s(ecially)g(when)f(they)h(are)g(used)f(in)g
-(redirection)i(op)s(erators)330 1582 y(\(see)31 b(Section)h(3.6)f
-([Redirections],)h(page)f(25\).)225 1711 y Fp(\017)60
-b Ft(Bash)33 b(can)f(op)s(en)g(net)m(w)m(ork)i(connections)f(to)h
-(arbitrary)e(mac)m(hines)h(and)f(services)h(with)f(the)h(redi-)330
-1820 y(rection)e(op)s(erators)g(\(see)g(Section)g(3.6)h
-([Redirections],)g(page)f(25\).)225 1949 y Fp(\017)60
+b Ft(Bash)33 b(implemen)m(ts)h(the)f(full)g(set)h(of)f
+Fl(posix)f Ft(1003.2)k(\014lename)d(expansion)g(op)s(erators,)h
+(including)330 408 y Fq(c)m(haracter)23 b(classes)p Ft(,)h
+Fq(equiv)-5 b(alence)23 b(classes)p Ft(,)h(and)d Fq(collating)i(sym)m
+(b)s(ols)i Ft(\(see)d(Section)g(3.5.8)h([Filename)330
+518 y(Expansion],)30 b(page)h(23\).)225 660 y Fp(\017)60
+b Ft(Bash)35 b(implemen)m(ts)g(extended)g(pattern)g(matc)m(hing)h
+(features)f(when)f(the)h Fs(extglob)d Ft(shell)j(option)330
+769 y(is)30 b(enabled)h(\(see)g(Section)g(3.5.8.1)i([P)m(attern)f(Matc)
+m(hing],)g(page)f(23\).)225 911 y Fp(\017)60 b Ft(It)22
+b(is)g(p)s(ossible)g(to)h(ha)m(v)m(e)g(a)f(v)-5 b(ariable)23
+b(and)f(a)g(function)g(with)g(the)g(same)g(name;)j Fs(sh)d
+Ft(do)s(es)g(not)g(separate)330 1021 y(the)31 b(t)m(w)m(o)g(name)g
+(spaces.)225 1163 y Fp(\017)60 b Ft(Bash)30 b(functions)e(are)i(p)s
+(ermitted)f(to)h(ha)m(v)m(e)h(lo)s(cal)g(v)-5 b(ariables)30
+b(using)f(the)g Fs(local)f Ft(builtin,)i(and)e(th)m(us)330
+1272 y(useful)i(recursiv)m(e)g(functions)g(ma)m(y)h(b)s(e)f(written)g
+(\(see)i(Section)f(4.2)g([Bash)g(Builtins],)g(page)h(39\).)225
+1414 y Fp(\017)60 b Ft(V)-8 b(ariable)25 b(assignmen)m(ts)g(preceding)e
+(commands)h(a\013ect)h(only)f(that)g(command,)h(ev)m(en)f(builtins)g
+(and)330 1524 y(functions)36 b(\(see)h(Section)g(3.7.4)h([En)m
+(vironmen)m(t],)h(page)e(30\).)60 b(In)35 b Fs(sh)p Ft(,)j(all)f(v)-5
+b(ariable)37 b(assignmen)m(ts)330 1633 y(preceding)30
+b(commands)g(are)h(global)h(unless)d(the)i(command)f(is)h(executed)g
+(from)f(the)g(\014le)h(system.)225 1775 y Fp(\017)60
+b Ft(Bash)44 b(p)s(erforms)e(\014lename)i(expansion)f(on)h(\014lenames)
+g(sp)s(eci\014ed)f(as)h(op)s(erands)e(to)j(input)e(and)330
+1885 y(output)30 b(redirection)h(op)s(erators)g(\(see)g(Section)g(3.6)h
+([Redirections],)g(page)f(25\).)225 2027 y Fp(\017)60
+b Ft(Bash)29 b(con)m(tains)h(the)f(`)p Fs(<>)p Ft(')f(redirection)i(op)
+s(erator,)f(allo)m(wing)i(a)e(\014le)g(to)g(b)s(e)f(op)s(ened)g(for)h
+(b)s(oth)f(read-)330 2136 y(ing)35 b(and)f(writing,)i(and)e(the)h(`)p
+Fs(&>)p Ft(')g(redirection)g(op)s(erator,)h(for)f(directing)g(standard)
+f(output)h(and)330 2246 y(standard)30 b(error)g(to)h(the)f(same)h
+(\014le)f(\(see)i(Section)f(3.6)g([Redirections],)h(page)g(25\).)225
+2388 y Fp(\017)60 b Ft(Bash)21 b(includes)f(the)h(`)p
+Fs(<<<)p Ft(')g(redirection)g(op)s(erator,)i(allo)m(wing)g(a)e(string)f
+(to)i(b)s(e)e(used)g(as)h(the)g(standard)330 2497 y(input)29
+b(to)j(a)e(command.)225 2639 y Fp(\017)60 b Ft(Bash)29
+b(implemen)m(ts)h(the)f(`)p Fs([n]<&)p Fj(word)11 b Ft(')26
+b(and)j(`)p Fs([n]>&)p Fj(word)11 b Ft(')26 b(redirection)k(op)s
+(erators,)g(whic)m(h)e(mo)m(v)m(e)330 2749 y(one)j(\014le)f(descriptor)
+g(to)h(another.)225 2890 y Fp(\017)60 b Ft(Bash)25 b(treats)h(a)f(n)m
+(um)m(b)s(er)e(of)i(\014lenames)g(sp)s(ecially)g(when)f(they)h(are)g
+(used)f(in)g(redirection)i(op)s(erators)330 3000 y(\(see)31
+b(Section)h(3.6)f([Redirections],)h(page)f(25\).)225
+3142 y Fp(\017)60 b Ft(Bash)33 b(can)f(op)s(en)g(net)m(w)m(ork)i
+(connections)f(to)h(arbitrary)e(mac)m(hines)h(and)f(services)h(with)f
+(the)h(redi-)330 3251 y(rection)e(op)s(erators)g(\(see)g(Section)g(3.6)
+h([Redirections],)g(page)f(25\).)225 3393 y Fp(\017)60
 b Ft(The)29 b Fs(noclobber)e Ft(option)j(is)g(a)m(v)-5
 b(ailable)32 b(to)e(a)m(v)m(oid)h(o)m(v)m(erwriting)g(existing)g
-(\014les)e(with)h(output)f(redi-)330 2059 y(rection)h(\(see)h(Section)f
-(4.3)g([The)g(Set)f(Builtin],)i(page)f(50\).)41 b(The)29
+(\014les)e(with)h(output)f(redi-)330 3503 y(rection)h(\(see)h(Section)f
+(4.3)g([The)g(Set)f(Builtin],)i(page)f(51\).)41 b(The)29
 b(`)p Fs(>|)p Ft(')h(redirection)g(op)s(erator)f(ma)m(y)330
-2168 y(b)s(e)h(used)f(to)i(o)m(v)m(erride)h Fs(noclobber)p
-Ft(.)225 2297 y Fp(\017)60 b Ft(The)34 b(Bash)g Fs(cd)g
+3612 y(b)s(e)h(used)f(to)i(o)m(v)m(erride)h Fs(noclobber)p
+Ft(.)225 3754 y Fp(\017)60 b Ft(The)34 b(Bash)g Fs(cd)g
 Ft(and)f Fs(pwd)g Ft(builtins)h(\(see)h(Section)g(4.1)g([Bourne)g
-(Shell)f(Builtins],)h(page)g(33\))h(eac)m(h)330 2407
+(Shell)f(Builtins],)h(page)g(33\))h(eac)m(h)330 3864
 y(tak)m(e)c(`)p Fs(-L)p Ft(')e(and)g(`)p Fs(-P)p Ft(')g(options)h(to)g
 (switc)m(h)g(b)s(et)m(w)m(een)g(logical)i(and)c(ph)m(ysical)i(mo)s
-(des.)225 2536 y Fp(\017)60 b Ft(Bash)25 b(allo)m(ws)h(a)g(function)e
+(des.)225 4006 y Fp(\017)60 b Ft(Bash)25 b(allo)m(ws)h(a)g(function)e
 (to)i(o)m(v)m(erride)g(a)g(builtin)e(with)h(the)g(same)g(name,)i(and)d
-(pro)m(vides)h(access)h(to)330 2645 y(that)34 b(builtin's)f
+(pro)m(vides)h(access)h(to)330 4115 y(that)34 b(builtin's)f
 (functionalit)m(y)h(within)f(the)g(function)g(via)h(the)f
-Fs(builtin)f Ft(and)g Fs(command)g Ft(builtins)330 2755
+Fs(builtin)f Ft(and)g Fs(command)g Ft(builtins)330 4225
 y(\(see)f(Section)h(4.2)f([Bash)g(Builtins],)g(page)g(39\).)225
-2884 y Fp(\017)60 b Ft(The)35 b Fs(command)e Ft(builtin)i(allo)m(ws)i
+4367 y Fp(\017)60 b Ft(The)35 b Fs(command)e Ft(builtin)i(allo)m(ws)i
 (selectiv)m(e)h(disabling)e(of)f(functions)g(when)g(command)g(lo)s
-(okup)g(is)330 2993 y(p)s(erformed)29 b(\(see)i(Section)g(4.2)h([Bash)f
-(Builtins],)g(page)g(39\).)225 3122 y Fp(\017)60 b Ft(Individual)23
+(okup)g(is)330 4476 y(p)s(erformed)29 b(\(see)i(Section)g(4.2)h([Bash)f
+(Builtins],)g(page)g(39\).)225 4618 y Fp(\017)60 b Ft(Individual)23
 b(builtins)g(ma)m(y)i(b)s(e)e(enabled)h(or)g(disabled)g(using)f(the)h
-Fs(enable)f Ft(builtin)g(\(see)i(Section)g(4.2)330 3232
-y([Bash)31 b(Builtins],)g(page)g(39\).)225 3361 y Fp(\017)60
+Fs(enable)f Ft(builtin)g(\(see)i(Section)g(4.2)330 4728
+y([Bash)31 b(Builtins],)g(page)g(39\).)225 4869 y Fp(\017)60
 b Ft(The)26 b(Bash)h Fs(exec)e Ft(builtin)h(tak)m(es)i(additional)f
 (options)g(that)g(allo)m(w)h(users)d(to)j(con)m(trol)g(the)e(con)m(ten)
-m(ts)330 3471 y(of)35 b(the)f(en)m(vironmen)m(t)h(passed)f(to)h(the)g
+m(ts)330 4979 y(of)35 b(the)f(en)m(vironmen)m(t)h(passed)f(to)h(the)g
 (executed)g(command,)h(and)d(what)i(the)f(zeroth)h(argumen)m(t)330
-3580 y(to)c(the)g(command)f(is)g(to)h(b)s(e)f(\(see)h(Section)h(4.1)f
-([Bourne)f(Shell)h(Builtins],)g(page)g(33\).)225 3709
+5089 y(to)c(the)g(command)f(is)g(to)h(b)s(e)f(\(see)h(Section)h(4.1)f
+([Bourne)f(Shell)h(Builtins],)g(page)g(33\).)225 5230
 y Fp(\017)60 b Ft(Shell)29 b(functions)g(ma)m(y)h(b)s(e)f(exp)s(orted)g
 (to)h(c)m(hildren)f(via)h(the)g(en)m(vironmen)m(t)g(using)f
-Fs(export)f(-f)h Ft(\(see)330 3819 y(Section)i(3.3)h([Shell)e(F)-8
-b(unctions],)32 b(page)f(14\).)225 3948 y Fp(\017)60
-b Ft(The)37 b(Bash)g Fs(export)p Ft(,)h Fs(readonly)p
-Ft(,)f(and)f Fs(declare)g Ft(builtins)h(can)g(tak)m(e)i(a)f(`)p
-Fs(-f)p Ft(')f(option)h(to)g(act)g(on)330 4057 y(shell)26
-b(functions,)g(a)h(`)p Fs(-p)p Ft(')e(option)h(to)h(displa)m(y)f(v)-5
-b(ariables)26 b(with)g(v)-5 b(arious)25 b(attributes)i(set)f(in)f(a)i
-(format)330 4167 y(that)g(can)f(b)s(e)f(used)h(as)g(shell)g(input,)h(a)
-f(`)p Fs(-n)p Ft(')g(option)g(to)h(remo)m(v)m(e)h(v)-5
-b(arious)26 b(v)-5 b(ariable)27 b(attributes,)h(and)330
-4276 y(`)p Fs(name=value)p Ft(')g(argumen)m(ts)j(to)g(set)g(v)-5
+Fs(export)f(-f)h Ft(\(see)330 5340 y(Section)i(3.3)h([Shell)e(F)-8
+b(unctions],)32 b(page)f(14\).)p eop end
+%%Page: 132 138
+TeXDict begin 132 137 bop 150 -116 a Ft(132)2527 b(Bash)31
+b(Reference)g(Man)m(ual)225 299 y Fp(\017)60 b Ft(The)37
+b(Bash)g Fs(export)p Ft(,)h Fs(readonly)p Ft(,)f(and)f
+Fs(declare)g Ft(builtins)h(can)g(tak)m(e)i(a)f(`)p Fs(-f)p
+Ft(')f(option)h(to)g(act)g(on)330 408 y(shell)26 b(functions,)g(a)h(`)p
+Fs(-p)p Ft(')e(option)h(to)h(displa)m(y)f(v)-5 b(ariables)26
+b(with)g(v)-5 b(arious)25 b(attributes)i(set)f(in)f(a)i(format)330
+518 y(that)g(can)f(b)s(e)f(used)h(as)g(shell)g(input,)h(a)f(`)p
+Fs(-n)p Ft(')g(option)g(to)h(remo)m(v)m(e)h(v)-5 b(arious)26
+b(v)-5 b(ariable)27 b(attributes,)h(and)330 628 y(`)p
+Fs(name=value)p Ft(')g(argumen)m(ts)j(to)g(set)g(v)-5
 b(ariable)31 b(attributes)g(and)f(v)-5 b(alues)30 b(sim)m(ultaneously)
--8 b(.)225 4405 y Fp(\017)60 b Ft(The)42 b(Bash)h Fs(hash)f
+-8 b(.)225 765 y Fp(\017)60 b Ft(The)42 b(Bash)h Fs(hash)f
 Ft(builtin)g(allo)m(ws)j(a)e(name)g(to)g(b)s(e)f(asso)s(ciated)j(with)d
-(an)h(arbitrary)f(\014lename,)330 4515 y(ev)m(en)30 b(when)e(that)h
+(an)h(arbitrary)f(\014lename,)330 874 y(ev)m(en)30 b(when)e(that)h
 (\014lename)g(cannot)h(b)s(e)e(found)g(b)m(y)h(searc)m(hing)g(the)g
 Fs($PATH)p Ft(,)g(using)f(`)p Fs(hash)h(-p)p Ft(')g(\(see)330
-4624 y(Section)i(4.1)h([Bourne)e(Shell)g(Builtins],)h(page)h(33\).)225
-4753 y Fp(\017)60 b Ft(Bash)27 b(includes)f(a)i Fs(help)d
+984 y(Section)i(4.1)h([Bourne)e(Shell)g(Builtins],)h(page)h(33\).)225
+1121 y Fp(\017)60 b Ft(Bash)27 b(includes)f(a)i Fs(help)d
 Ft(builtin)i(for)f(quic)m(k)h(reference)h(to)f(shell)g(facilities)i
-(\(see)f(Section)g(4.2)g([Bash)330 4863 y(Builtins],)j(page)g(39\).)225
-4992 y Fp(\017)60 b Ft(The)42 b Fs(printf)g Ft(builtin)g(is)h(a)m(v)-5
+(\(see)f(Section)g(4.2)g([Bash)330 1230 y(Builtins],)j(page)g(39\).)225
+1367 y Fp(\017)60 b Ft(The)42 b Fs(printf)g Ft(builtin)g(is)h(a)m(v)-5
 b(ailable)45 b(to)f(displa)m(y)f(formatted)g(output)g(\(see)h(Section)g
-(4.2)g([Bash)330 5101 y(Builtins],)31 b(page)g(39\).)225
-5230 y Fp(\017)60 b Ft(The)26 b(Bash)h Fs(read)f Ft(builtin)g(\(see)i
+(4.2)g([Bash)330 1477 y(Builtins],)31 b(page)g(39\).)225
+1614 y Fp(\017)60 b Ft(The)26 b(Bash)h Fs(read)f Ft(builtin)g(\(see)i
 (Section)g(4.2)g([Bash)f(Builtins],)h(page)g(39\))g(will)f(read)g(a)g
-(line)g(ending)330 5340 y(in)f(`)p Fs(\\)p Ft(')h(with)f(the)g(`)p
+(line)g(ending)330 1724 y(in)f(`)p Fs(\\)p Ft(')h(with)f(the)g(`)p
 Fs(-r)p Ft(')h(option,)h(and)d(will)i(use)f(the)h Fs(REPLY)e
-Ft(v)-5 b(ariable)27 b(as)g(a)f(default)h(if)f(no)h(non-option)p
-eop end
-%%Page: 132 138
-TeXDict begin 132 137 bop 150 -116 a Ft(132)2527 b(Bash)31
-b(Reference)g(Man)m(ual)330 299 y(argumen)m(ts)g(are)h(supplied.)42
-b(The)30 b(Bash)i Fs(read)e Ft(builtin)g(also)j(accepts)f(a)g(prompt)e
-(string)h(with)g(the)330 408 y(`)p Fs(-p)p Ft(')k(option)g(and)f(will)h
-(use)g(Readline)g(to)h(obtain)f(the)g(line)g(when)f(giv)m(en)i(the)f(`)
-p Fs(-e)p Ft(')g(option.)54 b(The)330 518 y Fs(read)31
+Ft(v)-5 b(ariable)27 b(as)g(a)f(default)h(if)f(no)h(non-option)330
+1833 y(argumen)m(ts)k(are)h(supplied.)42 b(The)30 b(Bash)i
+Fs(read)e Ft(builtin)g(also)j(accepts)f(a)g(prompt)e(string)h(with)g
+(the)330 1943 y(`)p Fs(-p)p Ft(')k(option)g(and)f(will)h(use)g
+(Readline)g(to)h(obtain)f(the)g(line)g(when)f(giv)m(en)i(the)f(`)p
+Fs(-e)p Ft(')g(option.)54 b(The)330 2052 y Fs(read)31
 b Ft(builtin)h(also)i(has)e(additional)h(options)g(to)g(con)m(trol)h
 (input:)44 b(the)32 b(`)p Fs(-s)p Ft(')h(option)f(will)h(turn)f(o\013)
-330 628 y(ec)m(hoing)38 b(of)e(input)f(c)m(haracters)j(as)e(they)h(are)
-f(read,)i(the)e(`)p Fs(-t)p Ft(')g(option)h(will)g(allo)m(w)g
-Fs(read)e Ft(to)i(time)330 737 y(out)c(if)g(input)f(do)s(es)g(not)h
+330 2162 y(ec)m(hoing)38 b(of)e(input)f(c)m(haracters)j(as)e(they)h
+(are)f(read,)i(the)e(`)p Fs(-t)p Ft(')g(option)h(will)g(allo)m(w)g
+Fs(read)e Ft(to)i(time)330 2271 y(out)c(if)g(input)f(do)s(es)g(not)h
 (arriv)m(e)g(within)g(a)g(sp)s(eci\014ed)f(n)m(um)m(b)s(er)f(of)i
 (seconds,)h(the)f(`)p Fs(-n)p Ft(')f(option)i(will)330
-847 y(allo)m(w)29 b(reading)e(only)h(a)g(sp)s(eci\014ed)e(n)m(um)m(b)s
+2381 y(allo)m(w)29 b(reading)e(only)h(a)g(sp)s(eci\014ed)e(n)m(um)m(b)s
 (er)g(of)i(c)m(haracters)h(rather)e(than)g(a)h(full)f(line,)i(and)d
-(the)i(`)p Fs(-d)p Ft(')330 956 y(option)j(will)g(read)f(un)m(til)g(a)h
-(particular)g(c)m(haracter)h(rather)e(than)g(newline.)225
-1086 y Fp(\017)60 b Ft(The)33 b Fs(return)e Ft(builtin)i(ma)m(y)g(b)s
+(the)i(`)p Fs(-d)p Ft(')330 2491 y(option)j(will)g(read)f(un)m(til)g(a)
+h(particular)g(c)m(haracter)h(rather)e(than)g(newline.)225
+2628 y Fp(\017)60 b Ft(The)33 b Fs(return)e Ft(builtin)i(ma)m(y)g(b)s
 (e)g(used)f(to)i(ab)s(ort)f(execution)h(of)f(scripts)g(executed)h(with)
-f(the)g Fs(.)g Ft(or)330 1196 y Fs(source)c Ft(builtins)g(\(see)j
+f(the)g Fs(.)g Ft(or)330 2737 y Fs(source)c Ft(builtins)g(\(see)j
 (Section)f(4.1)g([Bourne)g(Shell)f(Builtins],)h(page)g(33\).)225
-1325 y Fp(\017)60 b Ft(Bash)43 b(includes)g(the)g Fs(shopt)f
+2874 y Fp(\017)60 b Ft(Bash)43 b(includes)g(the)g Fs(shopt)f
 Ft(builtin,)k(for)d(\014ner)f(con)m(trol)j(of)e(shell)h(optional)g
-(capabilities)h(\(see)330 1435 y(Section)34 b(4.2)g([Bash)f(Builtins],)
+(capabilities)h(\(see)330 2984 y(Section)34 b(4.2)g([Bash)f(Builtins],)
 i(page)e(39\),)i(and)e(allo)m(ws)h(these)f(options)h(to)f(b)s(e)g(set)g
-(and)g(unset)f(at)330 1544 y(shell)f(in)m(v)m(o)s(cation)h(\(see)f
+(and)g(unset)f(at)330 3093 y(shell)f(in)m(v)m(o)s(cation)h(\(see)f
 (Section)g(6.1)h([In)m(v)m(oking)f(Bash],)g(page)h(65\).)225
-1674 y Fp(\017)60 b Ft(Bash)23 b(has)f(m)m(uc)m(h)g(more)h(optional)h
+3230 y Fp(\017)60 b Ft(Bash)23 b(has)f(m)m(uc)m(h)g(more)h(optional)h
 (b)s(eha)m(vior)e(con)m(trollable)j(with)d(the)h Fs(set)e
-Ft(builtin)h(\(see)i(Section)f(4.3)330 1783 y([The)30
-b(Set)h(Builtin],)g(page)g(50\).)225 1913 y Fp(\017)60
+Ft(builtin)h(\(see)i(Section)f(4.3)330 3340 y([The)30
+b(Set)h(Builtin],)g(page)g(51\).)225 3477 y Fp(\017)60
 b Ft(The)31 b(`)p Fs(-x)p Ft(')g(\()p Fs(xtrace)p Ft(\))g(option)h
 (displa)m(ys)f(commands)h(other)f(than)h(simple)f(commands)g(when)g(p)s
-(er-)330 2022 y(forming)f(an)g(execution)i(trace)f(\(see)h(Section)f
-(4.3)g([The)g(Set)f(Builtin],)h(page)h(50\).)225 2152
+(er-)330 3587 y(forming)f(an)g(execution)i(trace)f(\(see)h(Section)f
+(4.3)g([The)g(Set)f(Builtin],)h(page)h(51\).)225 3724
 y Fp(\017)60 b Ft(The)28 b Fs(test)g Ft(builtin)h(\(see)h(Section)f
 (4.1)h([Bourne)f(Shell)g(Builtins],)h(page)g(33\))g(is)f(sligh)m(tly)h
-(di\013eren)m(t,)330 2262 y(as)23 b(it)g(implemen)m(ts)f(the)h
+(di\013eren)m(t,)330 3833 y(as)23 b(it)g(implemen)m(ts)f(the)h
 Fl(posix)f Ft(algorithm,)j(whic)m(h)d(sp)s(eci\014es)g(the)h(b)s(eha)m
-(vior)f(based)g(on)h(the)f(n)m(um)m(b)s(er)330 2371 y(of)31
-b(argumen)m(ts.)225 2501 y Fp(\017)60 b Ft(Bash)31 b(includes)g(the)h
+(vior)f(based)g(on)h(the)f(n)m(um)m(b)s(er)330 3943 y(of)31
+b(argumen)m(ts.)225 4080 y Fp(\017)60 b Ft(Bash)31 b(includes)g(the)h
 Fs(caller)d Ft(builtin,)j(whic)m(h)f(displa)m(ys)g(the)g(con)m(text)i
-(of)f(an)m(y)g(activ)m(e)h(subroutine)330 2610 y(call)28
+(of)f(an)m(y)g(activ)m(e)h(subroutine)330 4189 y(call)28
 b(\(a)f(shell)f(function)h(or)f(a)h(script)f(executed)h(with)f(the)h
 Fs(.)f Ft(or)g Fs(source)f Ft(builtins\).)39 b(This)26
-b(supp)s(orts)330 2720 y(the)31 b(bash)e(debugger.)225
-2849 y Fp(\017)60 b Ft(The)42 b Fs(trap)f Ft(builtin)h(\(see)i(Section)
+b(supp)s(orts)330 4299 y(the)31 b(bash)e(debugger.)225
+4436 y Fp(\017)60 b Ft(The)42 b Fs(trap)f Ft(builtin)h(\(see)i(Section)
 f(4.1)h([Bourne)e(Shell)g(Builtins],)47 b(page)c(33\))h(allo)m(ws)g(a)e
-Fs(DEBUG)330 2959 y Ft(pseudo-signal)c(sp)s(eci\014cation,)i(similar)e
+Fs(DEBUG)330 4545 y Ft(pseudo-signal)c(sp)s(eci\014cation,)i(similar)e
 (to)g Fs(EXIT)p Ft(.)62 b(Commands)36 b(sp)s(eci\014ed)h(with)g(a)h
-Fs(DEBUG)e Ft(trap)330 3068 y(are)k(executed)g(b)s(efore)f(ev)m(ery)h
+Fs(DEBUG)e Ft(trap)330 4655 y(are)k(executed)g(b)s(efore)f(ev)m(ery)h
 (simple)f(command,)j Fs(for)c Ft(command,)k Fs(case)c
-Ft(command,)k Fs(select)330 3178 y Ft(command,)35 b(ev)m(ery)g
+Ft(command,)k Fs(select)330 4765 y Ft(command,)35 b(ev)m(ery)g
 (arithmetic)g Fs(for)e Ft(command,)i(and)f(b)s(efore)g(the)g(\014rst)f
-(command)h(executes)h(in)330 3288 y(a)29 b(shell)g(function.)40
+(command)h(executes)h(in)330 4874 y(a)29 b(shell)g(function.)40
 b(The)28 b Fs(DEBUG)g Ft(trap)g(is)h(not)g(inherited)f(b)m(y)h(shell)g
-(functions)f(unless)g(the)h(function)330 3397 y(has)35
+(functions)f(unless)g(the)h(function)330 4984 y(has)35
 b(b)s(een)g(giv)m(en)i(the)f Fs(trace)e Ft(attribute)i(or)g(the)g
 Fs(functrace)d Ft(option)j(has)f(b)s(een)g(enabled)g(using)330
-3507 y(the)28 b Fs(shopt)e Ft(builtin.)39 b(The)27 b
+5093 y(the)28 b Fs(shopt)e Ft(builtin.)39 b(The)27 b
 Fs(extdebug)f Ft(shell)i(option)g(has)f(additional)h(e\013ects)h(on)f
-(the)g Fs(DEBUG)e Ft(trap.)330 3636 y(The)21 b Fs(trap)e
+(the)g Fs(DEBUG)e Ft(trap.)330 5230 y(The)21 b Fs(trap)e
 Ft(builtin)i(\(see)h(Section)g(4.1)g([Bourne)f(Shell)g(Builtins],)j
 (page)e(33\))g(allo)m(ws)g(an)f Fs(ERR)f Ft(pseudo-)330
-3746 y(signal)30 b(sp)s(eci\014cation,)h(similar)f(to)g
+5340 y(signal)30 b(sp)s(eci\014cation,)h(similar)f(to)g
 Fs(EXIT)f Ft(and)g Fs(DEBUG)p Ft(.)39 b(Commands)28 b(sp)s(eci\014ed)h
-(with)g(an)g Fs(ERR)g Ft(trap)330 3856 y(are)40 b(executed)g(after)g(a)
-f(simple)h(command)f(fails,)j(with)d(a)h(few)f(exceptions.)68
-b(The)39 b Fs(ERR)g Ft(trap)g(is)330 3965 y(not)g(inherited)f(b)m(y)h
+(with)g(an)g Fs(ERR)g Ft(trap)p eop end
+%%Page: 133 139
+TeXDict begin 133 138 bop 150 -116 a Ft(App)s(endix)29
+b(B:)i(Ma)5 b(jor)31 b(Di\013erences)g(F)-8 b(rom)31
+b(The)f(Bourne)g(Shell)1258 b(133)330 299 y(are)40 b(executed)g(after)g
+(a)f(simple)h(command)f(fails,)j(with)d(a)h(few)f(exceptions.)68
+b(The)39 b Fs(ERR)g Ft(trap)g(is)330 408 y(not)g(inherited)f(b)m(y)h
 (shell)g(functions)f(unless)g(the)h Fs(-o)29 b(errtrace)37
 b Ft(option)i(to)g(the)g Fs(set)f Ft(builtin)g(is)330
-4075 y(enabled.)330 4204 y(The)g Fs(trap)g Ft(builtin)h(\(see)g
-(Section)h(4.1)g([Bourne)f(Shell)g(Builtins],)i(page)f(33\))g(allo)m
-(ws)g(a)g Fs(RETURN)330 4314 y Ft(pseudo-signal)35 b(sp)s
-(eci\014cation,)j(similar)d(to)h Fs(EXIT)e Ft(and)g Fs(DEBUG)p
-Ft(.)54 b(Commands)34 b(sp)s(eci\014ed)g(with)h(an)330
-4423 y Fs(RETURN)k Ft(trap)i(are)g(executed)h(b)s(efore)e(execution)i
-(resumes)e(after)h(a)g(shell)g(function)g(or)g(a)g(shell)330
-4533 y(script)36 b(executed)g(with)g Fs(.)f Ft(or)h Fs(source)e
+518 y(enabled.)330 645 y(The)g Fs(trap)g Ft(builtin)h(\(see)g(Section)h
+(4.1)g([Bourne)f(Shell)g(Builtins],)i(page)f(33\))g(allo)m(ws)g(a)g
+Fs(RETURN)330 755 y Ft(pseudo-signal)35 b(sp)s(eci\014cation,)j
+(similar)d(to)h Fs(EXIT)e Ft(and)g Fs(DEBUG)p Ft(.)54
+b(Commands)34 b(sp)s(eci\014ed)g(with)h(an)330 864 y
+Fs(RETURN)k Ft(trap)i(are)g(executed)h(b)s(efore)e(execution)i(resumes)
+e(after)h(a)g(shell)g(function)g(or)g(a)g(shell)330 974
+y(script)36 b(executed)g(with)g Fs(.)f Ft(or)h Fs(source)e
 Ft(returns.)56 b(The)35 b Fs(RETURN)f Ft(trap)i(is)g(not)g(inherited)f
-(b)m(y)h(shell)330 4643 y(functions)k(unless)h(the)g(function)f(has)h
+(b)m(y)h(shell)330 1083 y(functions)k(unless)h(the)g(function)f(has)h
 (b)s(een)f(giv)m(en)i(the)f Fs(trace)e Ft(attribute)j(or)e(the)h
-Fs(functrace)330 4752 y Ft(option)31 b(has)f(b)s(een)g(enabled)g(using)
-g(the)g Fs(shopt)f Ft(builtin.)225 4882 y Fp(\017)60
+Fs(functrace)330 1193 y Ft(option)31 b(has)f(b)s(een)g(enabled)g(using)
+g(the)g Fs(shopt)f Ft(builtin.)225 1320 y Fp(\017)60
 b Ft(The)30 b(Bash)g Fs(type)f Ft(builtin)h(is)g(more)g(extensiv)m(e)i
 (and)d(giv)m(es)j(more)e(information)h(ab)s(out)f(the)g(names)330
-4991 y(it)h(\014nds)e(\(see)i(Section)g(4.2)h([Bash)e(Builtins],)i
-(page)f(39\).)225 5121 y Fp(\017)60 b Ft(The)34 b(Bash)h
+1430 y(it)h(\014nds)e(\(see)i(Section)g(4.2)h([Bash)e(Builtins],)i
+(page)f(39\).)225 1557 y Fp(\017)60 b Ft(The)34 b(Bash)h
 Fs(umask)e Ft(builtin)h(p)s(ermits)g(a)g(`)p Fs(-p)p
 Ft(')h(option)g(to)g(cause)g(the)g(output)f(to)h(b)s(e)f(displa)m(y)m
-(ed)h(in)330 5230 y(the)g(form)g(of)g(a)h Fs(umask)e
+(ed)h(in)330 1666 y(the)g(form)g(of)g(a)h Fs(umask)e
 Ft(command)h(that)g(ma)m(y)h(b)s(e)f(reused)f(as)h(input)g(\(see)h
-(Section)g(4.1)g([Bourne)330 5340 y(Shell)30 b(Builtins],)h(page)h
-(33\).)p eop end
-%%Page: 133 139
-TeXDict begin 133 138 bop 150 -116 a Ft(App)s(endix)29
-b(B:)i(Ma)5 b(jor)31 b(Di\013erences)g(F)-8 b(rom)31
-b(The)f(Bourne)g(Shell)1258 b(133)225 299 y Fp(\017)60
-b Ft(Bash)34 b(implemen)m(ts)h(a)g Fs(csh)p Ft(-lik)m(e)g(directory)f
-(stac)m(k,)j(and)d(pro)m(vides)g(the)g Fs(pushd)p Ft(,)g
-Fs(popd)p Ft(,)g(and)g Fs(dirs)330 408 y Ft(builtins)g(to)i(manipulate)
-f(it)h(\(see)f(Section)h(6.8)g([The)f(Directory)h(Stac)m(k],)i(page)d
-(75\).)56 b(Bash)35 b(also)330 518 y(mak)m(es)c(the)g(directory)g(stac)
-m(k)g(visible)g(as)g(the)f(v)-5 b(alue)31 b(of)g(the)f
-Fs(DIRSTACK)f Ft(shell)h(v)-5 b(ariable.)225 646 y Fp(\017)60
-b Ft(Bash)28 b(in)m(terprets)h(sp)s(ecial)g(bac)m(kslash-escap)s(ed)g
-(c)m(haracters)g(in)f(the)h(prompt)e(strings)h(when)f(in)m(ter-)330
-756 y(activ)m(e)33 b(\(see)e(Section)g(6.9)h([Prin)m(ting)e(a)h
-(Prompt],)g(page)g(77\).)225 885 y Fp(\017)60 b Ft(The)46
-b(Bash)h(restricted)g(mo)s(de)f(is)h(more)f(useful)g(\(see)h(Section)h
-(6.10)g([The)e(Restricted)i(Shell],)330 994 y(page)31
-b(78\);)h(the)f(SVR4.2)g(shell)f(restricted)h(mo)s(de)f(is)h(to)s(o)g
-(limited.)225 1123 y Fp(\017)60 b Ft(The)30 b Fs(disown)f
-Ft(builtin)h(can)h(remo)m(v)m(e)h(a)f(job)f(from)g(the)h(in)m(ternal)g
-(shell)g(job)f(table)i(\(see)f(Section)h(7.2)330 1232
-y([Job)h(Con)m(trol)h(Builtins],)g(page)g(84\))h(or)e(suppress)e(the)i
-(sending)g(of)g Fs(SIGHUP)e Ft(to)j(a)g(job)f(when)f(the)330
-1342 y(shell)f(exits)g(as)f(the)h(result)f(of)h(a)f Fs(SIGHUP)p
-Ft(.)225 1470 y Fp(\017)60 b Ft(The)28 b(SVR4.2)h(shell)f(has)g(t)m(w)m
-(o)i(privilege-related)g(builtins)e(\()p Fs(mldmode)e
-Ft(and)i Fs(priv)p Ft(\))f(not)i(presen)m(t)f(in)330
-1580 y(Bash.)225 1708 y Fp(\017)60 b Ft(Bash)31 b(do)s(es)f(not)g(ha)m
-(v)m(e)i(the)e Fs(stop)g Ft(or)g Fs(newgrp)f Ft(builtins.)225
-1837 y Fp(\017)60 b Ft(Bash)31 b(do)s(es)f(not)g(use)g(the)h
-Fs(SHACCT)d Ft(v)-5 b(ariable)32 b(or)e(p)s(erform)f(shell)i(accoun)m
-(ting.)225 1965 y Fp(\017)60 b Ft(The)30 b(SVR4.2)h Fs(sh)f
-Ft(uses)g(a)g Fs(TIMEOUT)f Ft(v)-5 b(ariable)31 b(lik)m(e)h(Bash)e
-(uses)g Fs(TMOUT)p Ft(.)150 2112 y(More)h(features)g(unique)e(to)i
-(Bash)g(ma)m(y)g(b)s(e)f(found)f(in)h(Chapter)f(6)i([Bash)g(F)-8
-b(eatures],)32 b(page)f(65.)150 2351 y Fr(B.1)67 b(Implemen)l(tation)48
+(Section)g(4.1)g([Bourne)330 1776 y(Shell)30 b(Builtins],)h(page)h
+(33\).)225 1903 y Fp(\017)60 b Ft(Bash)34 b(implemen)m(ts)h(a)g
+Fs(csh)p Ft(-lik)m(e)g(directory)f(stac)m(k,)j(and)d(pro)m(vides)g(the)
+g Fs(pushd)p Ft(,)g Fs(popd)p Ft(,)g(and)g Fs(dirs)330
+2012 y Ft(builtins)g(to)i(manipulate)f(it)h(\(see)f(Section)h(6.8)g
+([The)f(Directory)h(Stac)m(k],)i(page)d(75\).)56 b(Bash)35
+b(also)330 2122 y(mak)m(es)c(the)g(directory)g(stac)m(k)g(visible)g(as)
+g(the)f(v)-5 b(alue)31 b(of)g(the)f Fs(DIRSTACK)f Ft(shell)h(v)-5
+b(ariable.)225 2249 y Fp(\017)60 b Ft(Bash)28 b(in)m(terprets)h(sp)s
+(ecial)g(bac)m(kslash-escap)s(ed)g(c)m(haracters)g(in)f(the)h(prompt)e
+(strings)h(when)f(in)m(ter-)330 2358 y(activ)m(e)33 b(\(see)e(Section)g
+(6.9)h([Prin)m(ting)e(a)h(Prompt],)g(page)g(77\).)225
+2485 y Fp(\017)60 b Ft(The)46 b(Bash)h(restricted)g(mo)s(de)f(is)h
+(more)f(useful)g(\(see)h(Section)h(6.10)g([The)e(Restricted)i(Shell],)
+330 2595 y(page)31 b(78\);)h(the)f(SVR4.2)g(shell)f(restricted)h(mo)s
+(de)f(is)h(to)s(o)g(limited.)225 2722 y Fp(\017)60 b
+Ft(The)30 b Fs(disown)f Ft(builtin)h(can)h(remo)m(v)m(e)h(a)f(job)f
+(from)g(the)h(in)m(ternal)g(shell)g(job)f(table)i(\(see)f(Section)h
+(7.2)330 2832 y([Job)h(Con)m(trol)h(Builtins],)g(page)g(84\))h(or)e
+(suppress)e(the)i(sending)g(of)g Fs(SIGHUP)e Ft(to)j(a)g(job)f(when)f
+(the)330 2941 y(shell)f(exits)g(as)f(the)h(result)f(of)h(a)f
+Fs(SIGHUP)p Ft(.)225 3068 y Fp(\017)60 b Ft(Bash)31 b(includes)f(a)g(n)
+m(um)m(b)s(er)f(of)i(features)g(to)g(supp)s(ort)d(a)j(separate)g
+(debugger)f(for)h(shell)f(scripts.)225 3195 y Fp(\017)60
+b Ft(The)28 b(SVR4.2)h(shell)f(has)g(t)m(w)m(o)i(privilege-related)g
+(builtins)e(\()p Fs(mldmode)e Ft(and)i Fs(priv)p Ft(\))f(not)i(presen)m
+(t)f(in)330 3305 y(Bash.)225 3432 y Fp(\017)60 b Ft(Bash)31
+b(do)s(es)f(not)g(ha)m(v)m(e)i(the)e Fs(stop)g Ft(or)g
+Fs(newgrp)f Ft(builtins.)225 3559 y Fp(\017)60 b Ft(Bash)31
+b(do)s(es)f(not)g(use)g(the)h Fs(SHACCT)d Ft(v)-5 b(ariable)32
+b(or)e(p)s(erform)f(shell)i(accoun)m(ting.)225 3686 y
+Fp(\017)60 b Ft(The)30 b(SVR4.2)h Fs(sh)f Ft(uses)g(a)g
+Fs(TIMEOUT)f Ft(v)-5 b(ariable)31 b(lik)m(e)h(Bash)e(uses)g
+Fs(TMOUT)p Ft(.)150 3830 y(More)h(features)g(unique)e(to)i(Bash)g(ma)m
+(y)g(b)s(e)f(found)f(in)h(Chapter)f(6)i([Bash)g(F)-8
+b(eatures],)32 b(page)f(65.)150 4065 y Fr(B.1)67 b(Implemen)l(tation)48
 b(Di\013erences)e(F)-11 b(rom)44 b(The)h(SVR4.2)g(Shell)275
-2589 y Ft(Since)39 b(Bash)h(is)f(a)h(completely)i(new)d(implemen)m
+4301 y Ft(Since)39 b(Bash)h(is)f(a)h(completely)i(new)d(implemen)m
 (tation,)k(it)d(do)s(es)g(not)f(su\013er)g(from)g(man)m(y)h(of)g(the)
-150 2699 y(limitations)32 b(of)f(the)f(SVR4.2)h(shell.)41
-b(F)-8 b(or)31 b(instance:)225 2827 y Fp(\017)60 b Ft(Bash)32
+150 4411 y(limitations)32 b(of)f(the)f(SVR4.2)h(shell.)41
+b(F)-8 b(or)31 b(instance:)225 4538 y Fp(\017)60 b Ft(Bash)32
 b(do)s(es)f(not)h(fork)f(a)h(subshell)e(when)h(redirecting)h(in)m(to)h
 (or)e(out)h(of)g(a)g(shell)f(con)m(trol)i(structure)330
-2937 y(suc)m(h)d(as)h(an)f Fs(if)g Ft(or)g Fs(while)f
-Ft(statemen)m(t.)225 3065 y Fp(\017)60 b Ft(Bash)29 b(do)s(es)f(not)h
+4648 y(suc)m(h)d(as)h(an)f Fs(if)g Ft(or)g Fs(while)f
+Ft(statemen)m(t.)225 4775 y Fp(\017)60 b Ft(Bash)29 b(do)s(es)f(not)h
 (allo)m(w)h(un)m(balanced)f(quotes.)41 b(The)28 b(SVR4.2)h(shell)g
-(will)g(silen)m(tly)h(insert)f(a)g(needed)330 3175 y(closing)g(quote)g
+(will)g(silen)m(tly)h(insert)f(a)g(needed)330 4884 y(closing)g(quote)g
 (at)f Fs(EOF)f Ft(under)g(certain)h(circumstances.)41
 b(This)27 b(can)h(b)s(e)g(the)g(cause)g(of)g(some)h(hard-)330
-3285 y(to-\014nd)h(errors.)225 3413 y Fp(\017)60 b Ft(The)45
+4994 y(to-\014nd)h(errors.)225 5121 y Fp(\017)60 b Ft(The)45
 b(SVR4.2)h(shell)f(uses)g(a)g(baro)s(que)g(memory)g(managemen)m(t)i(sc)
-m(heme)e(based)g(on)g(trapping)330 3523 y Fs(SIGSEGV)p
+m(heme)e(based)g(on)g(trapping)330 5230 y Fs(SIGSEGV)p
 Ft(.)57 b(If)35 b(the)i(shell)f(is)h(started)g(from)e(a)i(pro)s(cess)f
 (with)g Fs(SIGSEGV)e Ft(blo)s(c)m(k)m(ed)k(\(e.g.,)h(b)m(y)d(using)330
-3632 y(the)31 b Fs(system\(\))d Ft(C)i(library)g(function)g(call\),)i
-(it)f(misb)s(eha)m(v)m(es)g(badly)-8 b(.)225 3761 y Fp(\017)60
-b Ft(In)26 b(a)i(questionable)g(attempt)h(at)f(securit)m(y)-8
-b(,)29 b(the)e(SVR4.2)h(shell,)g(when)f(in)m(v)m(ok)m(ed)h(without)g
-(the)f(`)p Fs(-p)p Ft(')330 3870 y(option,)39 b(will)d(alter)i(its)e
-(real)h(and)f(e\013ectiv)m(e)j Fl(uid)d Ft(and)g Fl(gid)h
-Ft(if)f(they)h(are)f(less)h(than)f(some)h(magic)330 3980
-y(threshold)30 b(v)-5 b(alue,)31 b(commonly)g(100.)42
-b(This)29 b(can)i(lead)g(to)g(unexp)s(ected)f(results.)225
-4108 y Fp(\017)60 b Ft(The)30 b(SVR4.2)h(shell)g(do)s(es)f(not)g(allo)m
-(w)i(users)e(to)h(trap)f Fs(SIGSEGV)p Ft(,)f Fs(SIGALRM)p
-Ft(,)f(or)j Fs(SIGCHLD)p Ft(.)225 4237 y Fp(\017)60 b
-Ft(The)34 b(SVR4.2)h(shell)g(do)s(es)g(not)f(allo)m(w)j(the)d
-Fs(IFS)p Ft(,)h Fs(MAILCHECK)p Ft(,)f Fs(PATH)p Ft(,)h
-Fs(PS1)p Ft(,)g(or)f Fs(PS2)g Ft(v)-5 b(ariables)35 b(to)330
-4346 y(b)s(e)30 b(unset.)225 4475 y Fp(\017)60 b Ft(The)30
-b(SVR4.2)h(shell)g(treats)g(`)p Fs(^)p Ft(')f(as)h(the)g(undo)s(cumen)m
-(ted)e(equiv)-5 b(alen)m(t)31 b(of)g(`)p Fs(|)p Ft('.)225
-4603 y Fp(\017)60 b Ft(Bash)37 b(allo)m(ws)h(m)m(ultiple)f(option)g
-(argumen)m(ts)g(when)e(it)i(is)g(in)m(v)m(ok)m(ed)h(\()p
-Fs(-x)30 b(-v)p Ft(\);)40 b(the)c(SVR4.2)i(shell)330
-4713 y(allo)m(ws)c(only)f(one)g(option)g(argumen)m(t)g(\()p
+5340 y(the)31 b Fs(system\(\))d Ft(C)i(library)g(function)g(call\),)i
+(it)f(misb)s(eha)m(v)m(es)g(badly)-8 b(.)p eop end
+%%Page: 134 140
+TeXDict begin 134 139 bop 150 -116 a Ft(134)2527 b(Bash)31
+b(Reference)g(Man)m(ual)225 299 y Fp(\017)60 b Ft(In)26
+b(a)i(questionable)g(attempt)h(at)f(securit)m(y)-8 b(,)29
+b(the)e(SVR4.2)h(shell,)g(when)f(in)m(v)m(ok)m(ed)h(without)g(the)f(`)p
+Fs(-p)p Ft(')330 408 y(option,)39 b(will)d(alter)i(its)e(real)h(and)f
+(e\013ectiv)m(e)j Fl(uid)d Ft(and)g Fl(gid)h Ft(if)f(they)h(are)f(less)
+h(than)f(some)h(magic)330 518 y(threshold)30 b(v)-5 b(alue,)31
+b(commonly)g(100.)42 b(This)29 b(can)i(lead)g(to)g(unexp)s(ected)f
+(results.)225 653 y Fp(\017)60 b Ft(The)30 b(SVR4.2)h(shell)g(do)s(es)f
+(not)g(allo)m(w)i(users)e(to)h(trap)f Fs(SIGSEGV)p Ft(,)f
+Fs(SIGALRM)p Ft(,)f(or)j Fs(SIGCHLD)p Ft(.)225 787 y
+Fp(\017)60 b Ft(The)34 b(SVR4.2)h(shell)g(do)s(es)g(not)f(allo)m(w)j
+(the)d Fs(IFS)p Ft(,)h Fs(MAILCHECK)p Ft(,)f Fs(PATH)p
+Ft(,)h Fs(PS1)p Ft(,)g(or)f Fs(PS2)g Ft(v)-5 b(ariables)35
+b(to)330 897 y(b)s(e)30 b(unset.)225 1031 y Fp(\017)60
+b Ft(The)30 b(SVR4.2)h(shell)g(treats)g(`)p Fs(^)p Ft(')f(as)h(the)g
+(undo)s(cumen)m(ted)e(equiv)-5 b(alen)m(t)31 b(of)g(`)p
+Fs(|)p Ft('.)225 1166 y Fp(\017)60 b Ft(Bash)37 b(allo)m(ws)h(m)m
+(ultiple)f(option)g(argumen)m(ts)g(when)e(it)i(is)g(in)m(v)m(ok)m(ed)h
+(\()p Fs(-x)30 b(-v)p Ft(\);)40 b(the)c(SVR4.2)i(shell)330
+1275 y(allo)m(ws)c(only)f(one)g(option)g(argumen)m(t)g(\()p
 Fs(-xv)p Ft(\).)47 b(In)32 b(fact,)i(some)f(v)m(ersions)g(of)g(the)g
-(shell)f(dump)f(core)330 4822 y(if)f(the)h(second)f(argumen)m(t)h(b)s
-(egins)f(with)g(a)h(`)p Fs(-)p Ft('.)225 4951 y Fp(\017)60
+(shell)f(dump)f(core)330 1385 y(if)f(the)h(second)f(argumen)m(t)h(b)s
+(egins)f(with)g(a)h(`)p Fs(-)p Ft('.)225 1519 y Fp(\017)60
 b Ft(The)35 b(SVR4.2)i(shell)e(exits)i(a)f(script)g(if)f(an)m(y)h
 (builtin)f(fails;)k(Bash)d(exits)h(a)f(script)f(only)h(if)g(one)g(of)
-330 5060 y(the)d Fl(posix)g Ft(1003.2)i(sp)s(ecial)f(builtins)e(fails,)
+330 1629 y(the)d Fl(posix)g Ft(1003.2)i(sp)s(ecial)f(builtins)e(fails,)
 j(and)d(only)i(for)e(certain)i(failures,)h(as)e(en)m(umerated)g(in)330
-5170 y(the)e Fl(posix)e Ft(1003.2)k(standard.)225 5298
+1738 y(the)e Fl(posix)e Ft(1003.2)k(standard.)225 1873
 y Fp(\017)60 b Ft(The)30 b(SVR4.2)h(shell)g(b)s(eha)m(v)m(es)f
 (di\013eren)m(tly)h(when)f(in)m(v)m(ok)m(ed)i(as)e Fs(jsh)g
 Ft(\(it)h(turns)e(on)h(job)g(con)m(trol\).)p eop end
-%%Page: 134 140
-TeXDict begin 134 139 bop 150 -116 a Ft(134)2527 b(Bash)31
-b(Reference)g(Man)m(ual)p eop end
 %%Page: 135 141
 TeXDict begin 135 140 bop 150 -116 a Ft(App)s(endix)29
 b(C:)h(Cop)m(ying)g(This)g(Man)m(ual)2063 b(135)150 299
@@ -14109,7 +14172,7 @@ h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
 b Fb(40)150 2995 y Fe(cd)15 b Fc(.)e(.)g(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)
 f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
 (.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)41
-b Fb(33)150 3087 y Fe(command)8 b Fc(.)14 b(.)e(.)h(.)f(.)g(.)h(.)f(.)g
+b Fb(34)150 3087 y Fe(command)8 b Fc(.)14 b(.)e(.)h(.)f(.)g(.)h(.)f(.)g
 (.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)
 f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)34 b Fb(41)150
 3179 y Fe(compgen)7 b Fc(.)14 b(.)e(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
@@ -14134,7 +14197,7 @@ f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
 h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)38
 b Fb(42)150 4408 y Fe(enable)10 b Fc(.)j(.)g(.)f(.)g(.)h(.)f(.)g(.)h(.)
 f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
-(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)35 b Fb(42)150
+(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)35 b Fb(43)150
 4500 y Fe(eval)13 b Fc(.)g(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
 (.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)
 f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)38 b Fb(34)150
@@ -14181,7 +14244,7 @@ f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
 b Fb(43)2025 2110 y Fe(logout)10 b Fc(.)j(.)f(.)h(.)f(.)g(.)h(.)f(.)g
 (.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)
 f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)35 b
-Fb(43)2025 2362 y Fr(P)2025 2478 y Fe(popd)13 b Fc(.)g(.)f(.)g(.)g(.)h
+Fb(44)2025 2362 y Fr(P)2025 2478 y Fe(popd)13 b Fc(.)g(.)f(.)g(.)g(.)h
 (.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
 h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)38
 b Fb(76)2025 2565 y Fe(printf)10 b Fc(.)j(.)f(.)h(.)f(.)g(.)h(.)f(.)g
@@ -14205,7 +14268,7 @@ h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f
 y Fr(S)2025 3630 y Fe(set)14 b Fc(.)f(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
 (.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)
 f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)40
-b Fb(50)2025 3718 y Fe(shift)11 b Fc(.)i(.)g(.)f(.)g(.)h(.)f(.)g(.)h(.)
+b Fb(51)2025 3718 y Fe(shift)11 b Fc(.)i(.)g(.)f(.)g(.)h(.)f(.)g(.)h(.)
 f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
 (.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)37
 b Fb(36)2025 3805 y Fe(shopt)11 b Fc(.)i(.)g(.)f(.)g(.)h(.)f(.)g(.)h(.)
@@ -14235,7 +14298,7 @@ f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
 4948 y Fr(U)2025 5064 y Fe(ulimit)10 b Fc(.)j(.)f(.)h(.)f(.)g(.)h(.)f
 (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)
 h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)35
-b Fb(49)2025 5151 y Fe(umask)11 b Fc(.)i(.)g(.)f(.)g(.)h(.)f(.)g(.)h(.)
+b Fb(50)2025 5151 y Fe(umask)11 b Fc(.)i(.)g(.)f(.)g(.)h(.)f(.)g(.)h(.)
 f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
 (.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)37
 b Fb(38)2025 5238 y Fe(unalias)8 b Fc(.)14 b(.)e(.)g(.)h(.)f(.)g(.)h(.)
@@ -14425,7 +14488,7 @@ b(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
 (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)49
 b Fb(58)2025 1862 y Fe(convert-meta)22 b Fc(.)12 b(.)g(.)h(.)f(.)g(.)g
 (.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
-g(.)h(.)f(.)g(.)h(.)f(.)g(.)45 b Fb(91)2025 2099 y Fr(D)2025
+g(.)h(.)f(.)g(.)h(.)f(.)g(.)45 b Fb(92)2025 2099 y Fr(D)2025
 2216 y Fe(DIRSTACK)7 b Fc(.)14 b(.)e(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
 f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
 (.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)32 b Fb(58)2025 2304 y
@@ -14497,157 +14560,159 @@ TeXDict begin 148 153 bop 150 -116 a Ft(148)2527 b(Bash)31
 b(Reference)g(Man)m(ual)150 299 y Fe(HOSTNAME)7 b Fc(.)14
 b(.)e(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
 (.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)
-32 b Fb(60)150 386 y Fe(HOSTTYPE)7 b Fc(.)14 b(.)e(.)g(.)h(.)f(.)g(.)h
+32 b Fb(60)150 387 y Fe(HOSTTYPE)7 b Fc(.)14 b(.)e(.)g(.)h(.)f(.)g(.)h
 (.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
 h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)32 b Fb(60)150
-620 y Fr(I)150 736 y Fe(IFS)14 b Fc(.)f(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h
+627 y Fr(I)150 745 y Fe(IFS)14 b Fc(.)f(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h
 (.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
 g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)39
-b Fb(55)150 823 y Fe(IGNOREEOF)25 b Fc(.)13 b(.)f(.)g(.)h(.)f(.)g(.)h
+b Fb(55)150 834 y Fe(IGNOREEOF)25 b Fc(.)13 b(.)f(.)g(.)h(.)f(.)g(.)h
 (.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
-h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)49 b Fb(60)150 910
+h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)49 b Fb(60)150 922
 y Fe(input-meta)24 b Fc(.)13 b(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h
 (.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
-h(.)f(.)g(.)h(.)47 b Fb(92)150 998 y Fe(INPUTRC)8 b Fc(.)14
-b(.)e(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
-(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
-g(.)34 b Fb(60)150 1085 y Fe(isearch-terminators)9 b
-Fc(.)17 b(.)12 b(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
-g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)34 b Fb(92)150 1318 y
-Fr(K)150 1435 y Fe(keymap)10 b Fc(.)j(.)g(.)f(.)g(.)h(.)f(.)g(.)h(.)f
+h(.)f(.)g(.)h(.)47 b Fb(92)150 1011 y Fe(INPUTRC)8 b
+Fc(.)14 b(.)e(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
+(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
+h(.)f(.)g(.)34 b Fb(60)150 1099 y Fe(isearch-terminators)9
+b Fc(.)17 b(.)12 b(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
+(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)34 b Fb(92)150 1339
+y Fr(K)150 1457 y Fe(keymap)10 b Fc(.)j(.)g(.)f(.)g(.)h(.)f(.)g(.)h(.)f
 (.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
 h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)35 b Fb(92)150
-1687 y Fr(L)150 1803 y Fe(LANG)13 b Fc(.)g(.)f(.)g(.)h(.)f(.)g(.)h(.)f
+1715 y Fr(L)150 1834 y Fe(LANG)13 b Fc(.)g(.)f(.)g(.)h(.)f(.)g(.)h(.)f
 (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)
 h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)38
-b Fb(60)150 1890 y Fe(LC_ALL)10 b Fc(.)j(.)g(.)f(.)g(.)h(.)f(.)g(.)h(.)
+b Fb(60)150 1922 y Fe(LC_ALL)10 b Fc(.)j(.)g(.)f(.)g(.)h(.)f(.)g(.)h(.)
 f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
 (.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)35 b Fb(60)150
-1977 y Fe(LC_COLLATE)24 b Fc(.)13 b(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g
+2011 y Fe(LC_COLLATE)24 b Fc(.)13 b(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g
 (.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
-g(.)h(.)f(.)g(.)h(.)47 b Fb(60)150 2065 y Fe(LC_CTYPE)7
+g(.)h(.)f(.)g(.)h(.)47 b Fb(60)150 2099 y Fe(LC_CTYPE)7
 b Fc(.)14 b(.)e(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
 (.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
-g(.)h(.)32 b Fb(60)150 2152 y Fe(LC_MESSAGES)14 b Fc(.)h(.)d(.)h(.)f(.)
+g(.)h(.)32 b Fb(60)150 2188 y Fe(LC_MESSAGES)14 b Fc(.)h(.)d(.)h(.)f(.)
 g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h
 (.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)40 b Fb(7,)26 b(60)150
-2239 y Fe(LC_NUMERIC)e Fc(.)13 b(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)
+2276 y Fe(LC_NUMERIC)e Fc(.)13 b(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)
 h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
-(.)h(.)f(.)g(.)h(.)47 b Fb(60)150 2327 y Fe(LINENO)10
+(.)h(.)f(.)g(.)h(.)47 b Fb(60)150 2364 y Fe(LINENO)10
 b Fc(.)j(.)g(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)
 g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
-(.)g(.)h(.)f(.)35 b Fb(60)150 2414 y Fe(LINES)11 b Fc(.)j(.)e(.)g(.)g
+(.)g(.)h(.)f(.)35 b Fb(60)150 2453 y Fe(LINES)11 b Fc(.)j(.)e(.)g(.)g
 (.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
 g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)37
-b Fb(61)150 2647 y Fr(M)150 2763 y Fe(MACHTYPE)7 b Fc(.)14
+b Fb(61)150 2692 y Fr(M)150 2811 y Fe(MACHTYPE)7 b Fc(.)14
 b(.)e(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
 (.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)
-32 b Fb(61)150 2851 y Fe(MAIL)13 b Fc(.)g(.)f(.)g(.)h(.)f(.)g(.)h(.)f
+32 b Fb(61)150 2899 y Fe(MAIL)13 b Fc(.)g(.)f(.)g(.)h(.)f(.)g(.)h(.)f
 (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)
 h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)38
-b Fb(55)150 2938 y Fe(MAILCHECK)25 b Fc(.)13 b(.)f(.)g(.)h(.)f(.)g(.)h
+b Fb(55)150 2988 y Fe(MAILCHECK)25 b Fc(.)13 b(.)f(.)g(.)h(.)f(.)g(.)h
 (.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
-h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)49 b Fb(61)150 3025
+h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)49 b Fb(61)150 3076
 y Fe(MAILPATH)7 b Fc(.)14 b(.)e(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
 (.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
-g(.)h(.)f(.)g(.)g(.)h(.)32 b Fb(55)150 3113 y Fe(mark-modified-lines)9
+g(.)h(.)f(.)g(.)g(.)h(.)32 b Fb(55)150 3165 y Fe(mark-modified-lines)9
 b Fc(.)17 b(.)12 b(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
-(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)34 b Fb(93)150 3200
+(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)34 b Fb(93)150 3253
 y Fe(mark-symlinked-directories)17 b Fc(.)h(.)12 b(.)h(.)f(.)g(.)h(.)f
-(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)42 b Fb(93)150 3287
+(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)42 b Fb(93)150 3342
 y Fe(match-hidden-files)10 b Fc(.)17 b(.)12 b(.)g(.)h(.)f(.)g(.)h(.)f
 (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)36
-b Fb(93)150 3375 y Fe(meta-flag)25 b Fc(.)13 b(.)f(.)g(.)h(.)f(.)g(.)h
+b Fb(93)150 3430 y Fe(meta-flag)25 b Fc(.)13 b(.)f(.)g(.)h(.)f(.)g(.)h
 (.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
-h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)49 b Fb(92)150 3627
-y Fr(O)150 3743 y Fe(OLDPWD)10 b Fc(.)j(.)g(.)f(.)g(.)h(.)f(.)g(.)h(.)f
+h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)49 b Fb(92)150 3688
+y Fr(O)150 3807 y Fe(OLDPWD)10 b Fc(.)j(.)g(.)f(.)g(.)h(.)f(.)g(.)h(.)f
 (.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
 h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)35 b Fb(61)150
-3830 y Fe(OPTARG)10 b Fc(.)j(.)g(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
+3895 y Fe(OPTARG)10 b Fc(.)j(.)g(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
 f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
-(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)35 b Fb(55)150 3917
+(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)35 b Fb(55)150 3984
 y Fe(OPTERR)10 b Fc(.)j(.)g(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
 (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
-f(.)g(.)h(.)f(.)g(.)h(.)f(.)35 b Fb(61)150 4005 y Fe(OPTIND)10
+f(.)g(.)h(.)f(.)g(.)h(.)f(.)35 b Fb(61)150 4072 y Fe(OPTIND)10
 b Fc(.)j(.)g(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)
 g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
-(.)g(.)h(.)f(.)35 b Fb(55)150 4092 y Fe(OSTYPE)10 b Fc(.)j(.)g(.)f(.)g
+(.)g(.)h(.)f(.)35 b Fb(55)150 4161 y Fe(OSTYPE)10 b Fc(.)j(.)g(.)f(.)g
 (.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
 f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)35
 b Fb(61)2025 299 y Fe(output-meta)23 b Fc(.)12 b(.)g(.)h(.)f(.)g(.)h(.)
 f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
-(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)46 b Fb(93)2025 553 y
-Fr(P)2025 669 y Fe(page-completions)13 b Fc(.)j(.)c(.)h(.)f(.)g(.)h(.)f
+(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)46 b Fb(93)2025 551 y
+Fr(P)2025 667 y Fe(page-completions)13 b Fc(.)j(.)c(.)h(.)f(.)g(.)h(.)f
 (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
-h(.)f(.)39 b Fb(93)2025 757 y Fe(PATH)13 b Fc(.)g(.)f(.)g(.)g(.)h(.)f
+h(.)f(.)39 b Fb(93)2025 754 y Fe(PATH)13 b Fc(.)g(.)f(.)g(.)g(.)h(.)f
 (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
 f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)38
-b Fb(55)2025 844 y Fe(PIPESTATUS)24 b Fc(.)12 b(.)h(.)f(.)g(.)h(.)f(.)g
+b Fb(55)2025 842 y Fe(PIPESTATUS)24 b Fc(.)12 b(.)h(.)f(.)g(.)h(.)f(.)g
 (.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
-f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)48 b Fb(61)2025 932 y
+f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)48 b Fb(61)2025 929 y
 Fe(POSIXLY_CORRECT)15 b Fc(.)g(.)e(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g
 (.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)40
-b Fb(61)2025 1020 y Fe(PPID)13 b Fc(.)g(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f
+b Fb(61)2025 1016 y Fe(PPID)13 b Fc(.)g(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f
 (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
 f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)38
-b Fb(61)2025 1107 y Fe(PROMPT_COMMAND)16 b Fc(.)f(.)e(.)f(.)g(.)h(.)f
+b Fb(61)2025 1104 y Fe(PROMPT_COMMAND)16 b Fc(.)f(.)e(.)f(.)g(.)h(.)f
 (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
-f(.)g(.)g(.)h(.)f(.)42 b Fb(61)2025 1195 y Fe(PS1)14
+f(.)g(.)g(.)h(.)f(.)42 b Fb(61)2025 1191 y Fe(PS1)14
 b Fc(.)f(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
 f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
-(.)h(.)f(.)g(.)h(.)f(.)g(.)40 b Fb(55)2025 1282 y Fe(PS2)14
+(.)h(.)f(.)g(.)h(.)f(.)g(.)40 b Fb(55)2025 1278 y Fe(PS2)14
 b Fc(.)f(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
 f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
-(.)h(.)f(.)g(.)h(.)f(.)g(.)40 b Fb(55)2025 1370 y Fe(PS3)14
+(.)h(.)f(.)g(.)h(.)f(.)g(.)40 b Fb(55)2025 1365 y Fe(PS3)14
 b Fc(.)f(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
 f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
-(.)h(.)f(.)g(.)h(.)f(.)g(.)40 b Fb(61)2025 1458 y Fe(PS4)14
+(.)h(.)f(.)g(.)h(.)f(.)g(.)40 b Fb(61)2025 1453 y Fe(PS4)14
 b Fc(.)f(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
 f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
-(.)h(.)f(.)g(.)h(.)f(.)g(.)40 b Fb(61)2025 1545 y Fe(PWD)14
+(.)h(.)f(.)g(.)h(.)f(.)g(.)40 b Fb(61)2025 1540 y Fe(PWD)14
 b Fc(.)f(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
 f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
-(.)h(.)f(.)g(.)h(.)f(.)g(.)40 b Fb(61)2025 1780 y Fr(R)2025
-1897 y Fe(RANDOM)10 b Fc(.)j(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
+(.)h(.)f(.)g(.)h(.)f(.)g(.)40 b Fb(61)2025 1773 y Fr(R)2025
+1890 y Fe(RANDOM)10 b Fc(.)j(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
 h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f
-(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)35 b Fb(61)2025 1984
+(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)35 b Fb(61)2025 1977
 y Fe(REPLY)11 b Fc(.)i(.)g(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
 (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
-f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)37 b Fb(61)2025 2219
-y Fr(S)2025 2336 y Fe(SECONDS)8 b Fc(.)14 b(.)e(.)g(.)h(.)f(.)g(.)h(.)f
+f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)37 b Fb(61)2025 2210
+y Fr(S)2025 2326 y Fe(SECONDS)8 b Fc(.)14 b(.)e(.)g(.)h(.)f(.)g(.)h(.)f
 (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
 f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)34 b Fb(62)2025
-2424 y Fe(SHELL)11 b Fc(.)i(.)g(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
+2414 y Fe(SHELL)11 b Fc(.)i(.)g(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
 (.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
-h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)37 b Fb(62)2025 2511
+h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)37 b Fb(62)2025 2501
 y Fe(SHELLOPTS)25 b Fc(.)13 b(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h
 (.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
-h(.)f(.)g(.)h(.)f(.)49 b Fb(62)2025 2599 y Fe(SHLVL)11
+h(.)f(.)g(.)h(.)f(.)49 b Fb(62)2025 2588 y Fe(SHLVL)11
 b Fc(.)i(.)g(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)
 g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
-(.)g(.)h(.)f(.)g(.)37 b Fb(62)2025 2687 y Fe(show-all-if-ambiguous)29
+(.)g(.)h(.)f(.)g(.)37 b Fb(62)2025 2675 y Fe(show-all-if-ambiguous)29
 b Fc(.)12 b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
-(.)g(.)g(.)h(.)f(.)50 b Fb(93)2025 2774 y Fe(show-all-if-unmodified)27
+(.)g(.)g(.)h(.)f(.)50 b Fb(93)2025 2763 y Fe(show-all-if-unmodified)27
 b Fc(.)13 b(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
-(.)f(.)g(.)h(.)48 b Fb(93)2025 3009 y Fr(T)2025 3126
+(.)f(.)g(.)h(.)48 b Fb(93)2025 2996 y Fr(T)2025 3112
 y Fe(TEXTDOMAIN)25 b Fc(.)12 b(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
 (.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
-g(.)h(.)f(.)g(.)h(.)49 b Fb(7)2025 3213 y Fe(TEXTDOMAINDIR)21
+g(.)h(.)f(.)g(.)h(.)49 b Fb(7)2025 3200 y Fe(TEXTDOMAINDIR)21
 b Fc(.)13 b(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
 (.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)45
-b Fb(7)2025 3301 y Fe(TIMEFORMAT)24 b Fc(.)12 b(.)h(.)f(.)g(.)h(.)f(.)g
+b Fb(7)2025 3287 y Fe(TIMEFORMAT)24 b Fc(.)12 b(.)h(.)f(.)g(.)h(.)f(.)g
 (.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
-f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)48 b Fb(62)2025 3389
+f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)48 b Fb(62)2025 3374
 y Fe(TMOUT)11 b Fc(.)i(.)g(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
 (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
-f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)37 b Fb(62)2025 3624
-y Fr(U)2025 3740 y Fe(UID)14 b Fc(.)f(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
-(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)
-f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)40
-b Fb(63)2025 3975 y Fr(V)2025 4092 y Fe(visible-stats)18
-b Fc(.)d(.)d(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)
-h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)43
-b Fb(93)p eop end
+f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)37 b Fb(62)2025 3461
+y Fe(TMPDIR)10 b Fc(.)j(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
+(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
+h(.)f(.)g(.)h(.)f(.)g(.)h(.)35 b Fb(63)2025 3695 y Fr(U)2025
+3811 y Fe(UID)14 b Fc(.)f(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
+(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)
+f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)40 b Fb(63)2025
+4044 y Fr(V)2025 4160 y Fe(visible-stats)18 b Fc(.)d(.)d(.)g(.)h(.)f(.)
+g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
+(.)f(.)g(.)h(.)f(.)g(.)h(.)43 b Fb(94)p eop end
 %%Page: 149 155
 TeXDict begin 149 154 bop 150 -116 a Ft(F)-8 b(unction)31
 b(Index)2861 b(149)150 299 y Fo(F)-13 b(unction)52 b(Index)150
index b852003..b25dad9 100644 (file)
@@ -6847,7 +6847,7 @@ You may need to disable this if your compiler cannot handle very long string
 literals.
 
 @item --enable-strict-posix-default
-Make Bash @sc{posix}-conformant by default (@pxref{Bash Posix Mode}).
+Make Bash @sc{posix}-conformant by default (@pxref{Bash POSIX Mode}).
 
 @item --enable-usg-echo-default
 A synonym for @code{--enable-xpg-echo-default}.
index df36629..f29f8a6 100644 (file)
 \entry{SHLVL}{62}{\code {SHLVL}}
 \entry{TIMEFORMAT}{62}{\code {TIMEFORMAT}}
 \entry{TMOUT}{62}{\code {TMOUT}}
+\entry{TMPDIR}{63}{\code {TMPDIR}}
 \entry{UID}{63}{\code {UID}}
 \entry{auto_resume}{86}{\code {auto_resume}}
 \entry{bell-style}{91}{\code {bell-style}}
 \entry{bind-tty-special-chars}{91}{\code {bind-tty-special-chars}}
 \entry{comment-begin}{91}{\code {comment-begin}}
 \entry{completion-query-items}{91}{\code {completion-query-items}}
-\entry{convert-meta}{91}{\code {convert-meta}}
+\entry{convert-meta}{92}{\code {convert-meta}}
 \entry{disable-completion}{92}{\code {disable-completion}}
 \entry{editing-mode}{92}{\code {editing-mode}}
 \entry{enable-keypad}{92}{\code {enable-keypad}}
 \entry{page-completions}{93}{\code {page-completions}}
 \entry{show-all-if-ambiguous}{93}{\code {show-all-if-ambiguous}}
 \entry{show-all-if-unmodified}{93}{\code {show-all-if-unmodified}}
-\entry{visible-stats}{93}{\code {visible-stats}}
+\entry{visible-stats}{94}{\code {visible-stats}}
index 3edb8b9..e6b28ad 100644 (file)
@@ -44,7 +44,7 @@
 \entry {\code {COMP_WORDS}}{57}
 \entry {\code {completion-query-items}}{91}
 \entry {\code {COMPREPLY}}{58}
-\entry {\code {convert-meta}}{91}
+\entry {\code {convert-meta}}{92}
 \initial {D}
 \entry {\code {DIRSTACK}}{58}
 \entry {\code {disable-completion}}{92}
 \entry {\code {TEXTDOMAINDIR}}{7}
 \entry {\code {TIMEFORMAT}}{62}
 \entry {\code {TMOUT}}{62}
+\entry {\code {TMPDIR}}{63}
 \initial {U}
 \entry {\code {UID}}{63}
 \initial {V}
-\entry {\code {visible-stats}}{93}
+\entry {\code {visible-stats}}{94}
index 8d9531d..dcbbf35 100644 (file)
@@ -14,47 +14,48 @@ N\bNA\bAM\bME\bE
 B\bBA\bAS\bSH\bH B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
        Unless otherwise noted, each builtin command documented in this section
        as accepting options preceded by -\b- accepts -\b--\b- to signify the end of the
-       options.
+       options.   For  example,  the  :\b:, t\btr\bru\bue\be, f\bfa\bal\bls\bse\be, and t\bte\bes\bst\bt builtins do not
+       accept options.
        :\b: [_\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs]
-              No  effect;  the command does nothing beyond expanding _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs
-              and performing any specified redirections.  A zero exit code  is
+              No effect; the command does nothing beyond  expanding  _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs
+              and  performing any specified redirections.  A zero exit code is
               returned.
 
         .\b.  _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be [_\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs]
        s\bso\bou\bur\brc\bce\be _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be [_\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs]
-              Read  and  execute  commands  from _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be in the current shell
-              environment and return the exit status of the last command  exe-
+              Read and execute commands from _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be  in  the  current  shell
+              environment  and return the exit status of the last command exe-
               cuted from _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be.  If _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be does not contain a slash, file
-              names in P\bPA\bAT\bTH\bH are used to find the  directory  containing  _\bf_\bi_\bl_\be_\b-
-              _\bn_\ba_\bm_\be.   The  file  searched  for in P\bPA\bAT\bTH\bH need not be executable.
-              When b\bba\bas\bsh\bh is  not  in  _\bp_\bo_\bs_\bi_\bx  _\bm_\bo_\bd_\be,  the  current  directory  is
-              searched  if no file is found in P\bPA\bAT\bTH\bH.  If the s\bso\bou\bur\brc\bce\bep\bpa\bat\bth\bh option
-              to the s\bsh\bho\bop\bpt\bt builtin command is turned  off,  the  P\bPA\bAT\bTH\bH  is  not
-              searched.   If any _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs are supplied, they become the posi-
-              tional parameters when  _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be  is  executed.   Otherwise  the
-              positional  parameters  are unchanged.  The return status is the
-              status of the last command exited within the  script  (0  if  no
-              commands  are  executed),  and false if _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be is not found or
+              names  in  P\bPA\bAT\bTH\bH  are used to find the directory containing _\bf_\bi_\bl_\be_\b-
+              _\bn_\ba_\bm_\be.  The file searched for in P\bPA\bAT\bTH\bH  need  not  be  executable.
+              When  b\bba\bas\bsh\bh  is  not  in  _\bp_\bo_\bs_\bi_\bx  _\bm_\bo_\bd_\be,  the  current directory is
+              searched if no file is found in P\bPA\bAT\bTH\bH.  If the s\bso\bou\bur\brc\bce\bep\bpa\bat\bth\b option
+              to  the  s\bsh\bho\bop\bpt\bt  builtin  command  is turned off, the P\bPA\bAT\bTH\bH is not
+              searched.  If any _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs are supplied, they become the  posi-
+              tional  parameters  when  _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be  is  executed.  Otherwise the
+              positional parameters are unchanged.  The return status  is  the
+              status  of  the  last  command exited within the script (0 if no
+              commands are executed), and false if _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be is  not  found  or
               cannot be read.
 
        a\bal\bli\bia\bas\bs [-\b-p\bp] [_\bn_\ba_\bm_\be[=_\bv_\ba_\bl_\bu_\be] ...]
               A\bAl\bli\bia\bas\bs with no arguments or with the -\b-p\bp option prints the list of
-              aliases  in  the form a\bal\bli\bia\bas\bs _\bn_\ba_\bm_\be=_\bv_\ba_\bl_\bu_\be on standard output.  When
-              arguments are supplied, an alias is defined for each _\bn_\ba_\bm_\b whose
+              aliases in the form a\bal\bli\bia\bas\bs _\bn_\ba_\bm_\be=_\bv_\ba_\bl_\bu_\be on standard  output.   When
+              arguments  are supplied, an alias is defined for each _\bn_\ba_\bm_\be whose
               _\bv_\ba_\bl_\bu_\be is given.  A trailing space in  _\bv_\ba_\bl_\bu_\be causes the next word
               to be checked for alias substitution when the alias is expanded.
-              For  each  _\bn_\ba_\bm_\be  in the argument list for which no _\bv_\ba_\bl_\bu_\be is sup-
-              plied, the name and  value  of  the  alias  is  printed.   A\bAl\bli\bia\bas\bs
-              returns  true unless a _\bn_\ba_\bm_\be is given for which no alias has been
+              For each _\bn_\ba_\bm_\be in the argument list for which no  _\bv_\ba_\bl_\bu_\be  is  sup-
+              plied,  the  name  and  value  of  the  alias is printed.  A\bAl\bli\bia\bas\bs
+              returns true unless a _\bn_\ba_\bm_\be is given for which no alias has  been
               defined.
 
        b\bbg\bg [_\bj_\bo_\bb_\bs_\bp_\be_\bc ...]
-              Resume each suspended job _\bj_\bo_\bb_\bs_\bp_\be_\bc in the background,  as  if  it
+              Resume  each  suspended  job _\bj_\bo_\bb_\bs_\bp_\be_\bc in the background, as if it
               had been started with &\b&.  If _\bj_\bo_\bb_\bs_\bp_\be_\bc is not present, the shell's
-              notion of the _\bc_\bu_\br_\br_\be_\bn_\bt _\bj_\bo_\bb is used.  b\bbg\bg _\bj_\bo_\bb_\bs_\bp_\be_\bc returns 0  unless
-              run  when  job control is disabled or, when run with job control
-              enabled, if the last _\bj_\bo_\bb_\bs_\bp_\be_\bc was not found or was started  with-
-              out job control.
+              notion  of the _\bc_\bu_\br_\br_\be_\bn_\bt _\bj_\bo_\bb is used.  b\bbg\bg _\bj_\bo_\bb_\bs_\bp_\be_\bc returns 0 unless
+              run when job control is disabled or, when run with  job  control
+              enabled,  any  specified  _\bj_\bo_\bb_\bs_\bp_\be_\bc  was  not found or was started
+              without job control.
 
        b\bbi\bin\bnd\bd [-\b-m\bm _\bk_\be_\by_\bm_\ba_\bp] [-\b-l\blp\bps\bsv\bvP\bPS\bSV\bV]
        b\bbi\bin\bnd\bd [-\b-m\bm _\bk_\be_\by_\bm_\ba_\bp] [-\b-q\bq _\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn] [-\b-u\bu _\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn] [-\b-r\br _\bk_\be_\by_\bs_\be_\bq]
@@ -62,29 +63,29 @@ B\bBA\bAS\bSH\bH B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
        b\bbi\bin\bnd\bd [-\b-m\bm _\bk_\be_\by_\bm_\ba_\bp] -\b-x\bx _\bk_\be_\by_\bs_\be_\bq:_\bs_\bh_\be_\bl_\bl_\b-_\bc_\bo_\bm_\bm_\ba_\bn_\bd
        b\bbi\bin\bnd\bd [-\b-m\bm _\bk_\be_\by_\bm_\ba_\bp] _\bk_\be_\by_\bs_\be_\bq:_\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\b-_\bn_\ba_\bm_\be
        b\bbi\bin\bnd\bd _\br_\be_\ba_\bd_\bl_\bi_\bn_\be_\b-_\bc_\bo_\bm_\bm_\ba_\bn_\bd
-              Display  current  r\bre\bea\bad\bdl\bli\bin\bne\be key and function bindings, bind a key
-              sequence to a r\bre\bea\bad\bdl\bli\bin\bne\be function or  macro,  or  set  a  r\bre\bea\bad\bdl\bli\bin\bne\be
-              variable.   Each  non-option  argument  is a command as it would
-              appear in _\b._\bi_\bn_\bp_\bu_\bt_\br_\bc, but each binding or command must  be  passed
-              as  a  separate argument; e.g., '"\C-x\C-r": re-read-init-file'.
+              Display current r\bre\bea\bad\bdl\bli\bin\bne\be key and function bindings, bind  a  key
+              sequence  to  a  r\bre\bea\bad\bdl\bli\bin\bne\be  function  or macro, or set a r\bre\bea\bad\bdl\bli\bin\bne\be
+              variable.  Each non-option argument is a  command  as  it  would
+              appear  in  _\b._\bi_\bn_\bp_\bu_\bt_\br_\bc, but each binding or command must be passed
+              as a separate argument; e.g.,  '"\C-x\C-r":  re-read-init-file'.
               Options, if supplied, have the following meanings:
               -\b-m\bm _\bk_\be_\by_\bm_\ba_\bp
                      Use _\bk_\be_\by_\bm_\ba_\bp as the keymap to be affected by the subsequent
                      bindings.  Acceptable _\bk_\be_\by_\bm_\ba_\bp names are _\be_\bm_\ba_\bc_\bs_\b, _\be_\bm_\ba_\bc_\bs_\b-_\bs_\bt_\ba_\bn_\b-
-                     _\bd_\ba_\br_\bd_\b_\be_\bm_\ba_\bc_\bs_\b-_\bm_\be_\bt_\ba_\b, _\be_\bm_\ba_\bc_\bs_\b-_\bc_\bt_\bl_\bx_\b,  _\bv_\bi_\b,  _\bv_\bi_\b-_\bm_\bo_\bv_\be_\b _\bv_\bi_\b-_\bc_\bo_\bm_\bm_\ba_\bn_\bd,
-                     and  _\bv_\bi_\b-_\bi_\bn_\bs_\be_\br_\bt.  _\bv_\bi is equivalent to _\bv_\bi_\b-_\bc_\bo_\bm_\bm_\ba_\bn_\bd; _\be_\bm_\ba_\bc_\bs is
+                     _\bd_\ba_\br_\bd_\b _\be_\bm_\ba_\bc_\bs_\b-_\bm_\be_\bt_\ba_\b,  _\be_\bm_\ba_\bc_\bs_\b-_\bc_\bt_\bl_\bx_\b,  _\bv_\bi_\b, _\bv_\bi_\b-_\bm_\bo_\bv_\be_\b, _\bv_\bi_\b-_\bc_\bo_\bm_\bm_\ba_\bn_\bd,
+                     and _\bv_\bi_\b-_\bi_\bn_\bs_\be_\br_\bt.  _\bv_\bi is equivalent to _\bv_\bi_\b-_\bc_\bo_\bm_\bm_\ba_\bn_\bd; _\be_\bm_\ba_\bc_\b is
                      equivalent to _\be_\bm_\ba_\bc_\bs_\b-_\bs_\bt_\ba_\bn_\bd_\ba_\br_\bd.
               -\b-l\bl     List the names of all r\bre\bea\bad\bdl\bli\bin\bne\be functions.
-              -\b-p\bp     Display r\bre\bea\bad\bdl\bli\bin\bne\be function names and bindings  in  such  a
+              -\b-p\bp     Display  r\bre\bea\bad\bdl\bli\bin\bne\be  function  names and bindings in such a
                      way that they can be re-read.
               -\b-P\bP     List current r\bre\bea\bad\bdl\bli\bin\bne\be function names and bindings.
-              -\b-v\bv     Display  r\bre\bea\bad\bdl\bli\bin\bne\be variable names and values in such a way
+              -\b-v\bv     Display r\bre\bea\bad\bdl\bli\bin\bne\be variable names and values in such a  way
                      that they can be re-read.
               -\b-V\bV     List current r\bre\bea\bad\bdl\bli\bin\bne\be variable names and values.
-              -\b-s\bs     Display r\bre\bea\bad\bdl\bli\bin\bne\be key sequences bound to  macros  and  the
-                     strings  they  output  in such a way that they can be re-
+              -\b-s\bs     Display  r\bre\bea\bad\bdl\bli\bin\bne\be  key  sequences bound to macros and the
+                     strings they output in such a way that they  can  be  re-
                      read.
-              -\b-S\bS     Display r\bre\bea\bad\bdl\bli\bin\bne\be key sequences bound to  macros  and  the
+              -\b-S\bS     Display  r\bre\bea\bad\bdl\bli\bin\bne\be  key  sequences bound to macros and the
                      strings they output.
               -\b-f\bf _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be
                      Read key bindings from _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be.
@@ -95,141 +96,141 @@ B\bBA\bAS\bSH\bH B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
               -\b-r\br _\bk_\be_\by_\bs_\be_\bq
                      Remove any current binding for _\bk_\be_\by_\bs_\be_\bq.
               -\b-x\bx _\bk_\be_\by_\bs_\be_\bq:\b:_\bs_\bh_\be_\bl_\bl_\b-_\bc_\bo_\bm_\bm_\ba_\bn_\bd
-                     Cause  _\bs_\bh_\be_\bl_\bl_\b-_\bc_\bo_\bm_\bm_\ba_\bn_\bd  to  be  executed whenever _\bk_\be_\by_\bs_\be_\bq is
+                     Cause _\bs_\bh_\be_\bl_\bl_\b-_\bc_\bo_\bm_\bm_\ba_\bn_\bd to be  executed  whenever  _\bk_\be_\by_\bs_\be_\b is
                      entered.
 
-              The return value is 0 unless an unrecognized option is given  or
+              The  return value is 0 unless an unrecognized option is given or
               an error occurred.
 
        b\bbr\bre\bea\bak\bk [_\bn]
-              Exit  from  within a f\bfo\bor\br, w\bwh\bhi\bil\ble\be, u\bun\bnt\bti\bil\bl, or s\bse\bel\ble\bec\bct\bt loop.  If _\bn is
-              specified, break _\bn levels.  _\bn must be >= 1.   If  _\bn  is  greater
-              than  the  number  of  enclosing  loops, all enclosing loops are
+              Exit from within a f\bfo\bor\br, w\bwh\bhi\bil\ble\be, u\bun\bnt\bti\bil\bl, or s\bse\bel\ble\bec\bct\bt loop.  If  _\b is
+              specified,  break  _\bn  levels.   _\bn must be >= 1.  If _\bn is greater
+              than the number of enclosing  loops,  all  enclosing  loops  are
               exited.  The return value is 0 unless the shell is not executing
               a loop when b\bbr\bre\bea\bak\bk is executed.
 
        b\bbu\bui\bil\blt\bti\bin\bn _\bs_\bh_\be_\bl_\bl_\b-_\bb_\bu_\bi_\bl_\bt_\bi_\bn [_\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs]
-              Execute  the  specified shell builtin, passing it _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs, and
+              Execute the specified shell builtin, passing it  _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs,  and
               return its exit status.  This is useful when defining a function
-              whose  name  is the same as a shell builtin, retaining the func-
+              whose name is the same as a shell builtin, retaining  the  func-
               tionality of the builtin within the function.  The c\bcd\bd builtin is
-              commonly  redefined  this  way.   The  return status is false if
+              commonly redefined this way.  The  return  status  is  false  if
               _\bs_\bh_\be_\bl_\bl_\b-_\bb_\bu_\bi_\bl_\bt_\bi_\bn is not a shell builtin command.
 
        c\bcd\bd [-\b-L\bL|\b|-\b-P\bP] [_\bd_\bi_\br]
-              Change the current directory to _\bd_\bi_\br.  The variable H\bHO\bOM\bME\bE  is  the
-              default  _\bd_\bi_\br.   The  variable C\bCD\bDP\bPA\bAT\bTH\bH defines the search path for
-              the directory containing _\bd_\bi_\br.  Alternative  directory  names  in
-              C\bCD\bDP\bPA\bAT\bTH\b are  separated by a colon (:).  A null directory name in
-              C\bCD\bDP\bPA\bAT\bTH\bis the same as the current directory,  i.e.,  ``.\b.''.   If
-              _\bd_\bi_\b begins  with  a  slash (/), then C\bCD\bDP\bPA\bAT\bTH\bH is not used. The -\b-P\bP
-              option says to use the physical directory structure  instead  of
-              following  symbolic  links  (see  also  the -\b-P\bP option to the s\bse\bet\bt
+              Change  the  current directory to _\bd_\bi_\br.  The variable H\bHO\bOM\bME\bE is the
+              default _\bd_\bi_\br.  The variable C\bCD\bDP\bPA\bAT\bTH\bH defines the  search  path  for
+              the  directory  containing  _\bd_\bi_\br.  Alternative directory names in
+              C\bCD\bDP\bPA\bAT\bTH\bare separated by a colon (:).  A null directory  name  in
+              C\bCD\bDP\bPA\bAT\bTH\b is  the  same as the current directory, i.e., ``.\b.''.  If
+              _\bd_\bi_\bbegins with a slash (/), then C\bCD\bDP\bPA\bAT\bTH\bH is  not  used.  The  -\b-P\bP
+              option  says  to use the physical directory structure instead of
+              following symbolic links (see also the  -\b-P\bP  option  to  the  s\bse\bet\bt
               builtin command); the -\b-L\bL option forces symbolic links to be fol-
-              lowed.   An  argument  of -\b- is equivalent to $\b$O\bOL\bLD\bDP\bPW\bWD\bD.  If a non-
-              empty directory name from C\bCD\bDP\bPA\bAT\bTH\bH is used, or if -\b- is  the  first
-              argument,  and  the directory change is successful, the absolute
+              lowed.  An argument of -\b- is equivalent to $\b$O\bOL\bLD\bDP\bPW\bWD\bD.   If  a  non-
+              empty  directory  name from C\bCD\bDP\bPA\bAT\bTH\bH is used, or if -\b- is the first
+              argument, and the directory change is successful,  the  absolute
               pathname of the new working directory is written to the standard
-              output.   The return value is true if the directory was success-
+              output.  The return value is true if the directory was  success-
               fully changed; false otherwise.
 
        c\bca\bal\bll\ble\ber\br [_\be_\bx_\bp_\br]
               Returns the context of any active subroutine call (a shell func-
-              tion  or a script executed with the .\b. or s\bso\bou\bur\brc\bce\be builtins.  With-
+              tion or a script executed with the .\b. or s\bso\bou\bur\brc\bce\be builtins.   With-
               out _\be_\bx_\bp_\br, c\bca\bal\bll\ble\ber\br displays the line number and source filename of
-              the  current subroutine call.  If a non-negative integer is sup-
+              the current subroutine call.  If a non-negative integer is  sup-
               plied as _\be_\bx_\bp_\br, c\bca\bal\bll\ble\ber\br displays the line number, subroutine name,
-              and  source  file  corresponding to that position in the current
-              execution call stack.  This extra information may be  used,  for
-              example,  to print a stack trace.  The current frame is frame 0.
-              The return value is 0 unless the shell is not executing  a  sub-
-              routine  call or _\be_\bx_\bp_\br does not correspond to a valid position in
+              and source file corresponding to that position  in  the  current
+              execution  call  stack.  This extra information may be used, for
+              example, to print a stack trace.  The current frame is frame  0.
+              The  return  value is 0 unless the shell is not executing a sub-
+              routine call or _\be_\bx_\bp_\br does not correspond to a valid position  in
               the call stack.
 
        c\bco\bom\bmm\bma\ban\bnd\bd [-\b-p\bpV\bVv\bv] _\bc_\bo_\bm_\bm_\ba_\bn_\bd [_\ba_\br_\bg ...]
-              Run _\bc_\bo_\bm_\bm_\ba_\bn_\bd with _\ba_\br_\bg_\bs  suppressing  the  normal  shell  function
-              lookup.  Only builtin commands or commands found in the P\bPA\bAT\bTH\bH are
-              executed.  If the -\b-p\bp option is given, the search for _\bc_\bo_\bm_\bm_\ba_\bn_\b is
-              performed  using  a default value for P\bPA\bAT\bTH\bH that is guaranteed to
-              find all of the standard utilities.  If  either  the  -\b-V\bV  or  -\b-v\bv
+              Run  _\bc_\bo_\bm_\bm_\ba_\bn_\bd  with  _\ba_\br_\bg_\bs  suppressing  the normal shell function
+              lookup. Only builtin commands or commands found in the P\bPA\bAT\bTH\b are
+              executed.   If the -\b-p\bp option is given, the search for _\bc_\bo_\bm_\bm_\ba_\bn_\bd is
+              performed using a default value for P\bPA\bAT\bTH\bH that is  guaranteed  to
+              find  all  of  the  standard  utilities.  If either the -\b-V\bV or -\b-v\bv
               option is supplied, a description of _\bc_\bo_\bm_\bm_\ba_\bn_\bd is printed.  The -\b-v\bv
-              option causes a single word indicating the command or file  name
+              option  causes a single word indicating the command or file name
               used to invoke _\bc_\bo_\bm_\bm_\ba_\bn_\bd to be displayed; the -\b-V\bV option produces a
-              more verbose description.  If the -\b-V\bV or -\b-v\bv option  is  supplied,
-              the  exit  status  is  0 if _\bc_\bo_\bm_\bm_\ba_\bn_\bd was found, and 1 if not.  If
+              more  verbose  description.  If the -\b-V\bV or -\b-v\bv option is supplied,
+              the exit status is 0 if _\bc_\bo_\bm_\bm_\ba_\bn_\bd was found, and  1  if  not.   If
               neither option is supplied and an error occurred or _\bc_\bo_\bm_\bm_\ba_\bn_\bd can-
-              not  be found, the exit status is 127.  Otherwise, the exit sta-
+              not be found, the exit status is 127.  Otherwise, the exit  sta-
               tus of the c\bco\bom\bmm\bma\ban\bnd\bd builtin is the exit status of _\bc_\bo_\bm_\bm_\ba_\bn_\bd.
 
        c\bco\bom\bmp\bpg\bge\ben\bn [_\bo_\bp_\bt_\bi_\bo_\bn] [_\bw_\bo_\br_\bd]
-              Generate possible completion matches for _\bw_\bo_\br_\bd according  to  the
-              _\bo_\bp_\bt_\bi_\bo_\bns,  which  may  be  any  option  accepted  by the c\bco\bom\bmp\bpl\ble\bet\bte\be
-              builtin with the exception of -\b-p\bp and -\b-r\br, and write  the  matches
-              to  the  standard  output.  When using the -\b-F\bF or -\b-C\bC options, the
-              various shell  variables  set  by  the  programmable  completion
+              Generate  possible  completion matches for _\bw_\bo_\br_\bd according to the
+              _\bo_\bp_\bt_\bi_\bo_\bns, which may  be  any  option  accepted  by  the  c\bco\bom\bmp\bpl\ble\bet\bte\be
+              builtin  with  the exception of -\b-p\bp and -\b-r\br, and write the matches
+              to the standard output.  When using the -\b-F\bF or  -\b-C\bC  options,  the
+              various  shell  variables  set  by  the  programmable completion
               facilities, while available, will not have useful values.
 
-              The  matches  will  be  generated in the same way as if the pro-
-              grammable completion code had generated  them  directly  from  a
+              The matches will be generated in the same way  as  if  the  pro-
+              grammable  completion  code  had  generated them directly from a
               completion specification with the same flags.  If _\bw_\bo_\br_\bd is speci-
               fied, only those completions matching _\bw_\bo_\br_\bd will be displayed.
 
-              The return value is true unless an invalid option  is  supplied,
+              The  return  value is true unless an invalid option is supplied,
               or no matches were generated.
 
-       c\bco\bom\bmp\bpl\ble\bet\bte\b [-\b-a\bab\bbc\bcd\bde\bef\bfg\bgj\bjk\bks\bsu\buv\bv] [-\b-o\bo _\bc_\bo_\bm_\bp_\b-_\bo_\bp_\bt_\bi_\bo_\bn] [-\b-A\bA _\ba_\bc_\bt_\bi_\bo_\bn] [-\b-G\bG _\bg_\bl_\bo_\bb_\bp_\ba_\bt] [-\b-W\bW
+       c\bco\bom\bmp\bpl\ble\bet\bte\b[-\b-a\bab\bbc\bcd\bde\bef\bfg\bgj\bjk\bks\bsu\buv\bv] [-\b-o\bo _\bc_\bo_\bm_\bp_\b-_\bo_\bp_\bt_\bi_\bo_\bn] [-\b-A\bA _\ba_\bc_\bt_\bi_\bo_\bn] [-\b-G\bG _\bg_\bl_\bo_\bb_\bp_\ba_\bt]  [-\b-W\bW
        _\bw_\bo_\br_\bd_\bl_\bi_\bs_\bt] [-\b-P\bP _\bp_\br_\be_\bf_\bi_\bx] [-\b-S\bS _\bs_\bu_\bf_\bf_\bi_\bx]
               [-\b-X\bX _\bf_\bi_\bl_\bt_\be_\br_\bp_\ba_\bt] [-\b-F\bF _\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn] [-\b-C\bC _\bc_\bo_\bm_\bm_\ba_\bn_\bd] _\bn_\ba_\bm_\be [_\bn_\ba_\bm_\be _\b._\b._\b.]
        c\bco\bom\bmp\bpl\ble\bet\bte\be -\b-p\bpr\br [_\bn_\ba_\bm_\be ...]
-              Specify  how arguments to each _\bn_\ba_\bm_\be should be completed.  If the
-              -\b-p\boption is supplied, or if no options are  supplied,  existing
-              completion  specifications are printed in a way that allows them
+              Specify how arguments to each _\bn_\ba_\bm_\be should be completed.  If  the
+              -\b-p\b option  is supplied, or if no options are supplied, existing
+              completion specifications are printed in a way that allows  them
               to be reused as input.  The -\b-r\br option removes a completion spec-
-              ification  for each _\bn_\ba_\bm_\be, or, if no _\bn_\ba_\bm_\bes are supplied, all com-
+              ification for each _\bn_\ba_\bm_\be, or, if no _\bn_\ba_\bm_\bes are supplied, all  com-
               pletion specifications.
 
-              The process of applying  these  completion  specifications  when
-              word  completion  is  attempted  is  described  above under P\bPr\bro\bo-\b-
+              The  process  of  applying  these completion specifications when
+              word completion is  attempted  is  described  above  under  P\bPr\bro\bo-\b-
               g\bgr\bra\bam\bmm\bma\bab\bbl\ble\be C\bCo\bom\bmp\bpl\ble\bet\bti\bio\bon\bn.
 
-              Other options, if specified, have the following  meanings.   The
-              arguments  to the -\b-G\bG, -\b-W\bW, and -\b-X\bX options (and, if necessary, the
-              -\b-P\band -\b-S\bS options) should be quoted to protect them from  expan-
+              Other  options,  if specified, have the following meanings.  The
+              arguments to the -\b-G\bG, -\b-W\bW, and -\b-X\bX options (and, if necessary,  the
+              -\b-P\b and -\b-S\bS options) should be quoted to protect them from expan-
               sion before the c\bco\bom\bmp\bpl\ble\bet\bte\be builtin is invoked.
               -\b-o\bo _\bc_\bo_\bm_\bp_\b-_\bo_\bp_\bt_\bi_\bo_\bn
-                      The  _\bc_\bo_\bm_\bp_\b-_\bo_\bp_\bt_\bi_\bo_\bn  controls  several aspects of the comp-
-                      spec's behavior beyond the simple generation of  comple-
+                      The _\bc_\bo_\bm_\bp_\b-_\bo_\bp_\bt_\bi_\bo_\bn controls several aspects  of  the  comp-
+                      spec's  behavior beyond the simple generation of comple-
                       tions.  _\bc_\bo_\bm_\bp_\b-_\bo_\bp_\bt_\bi_\bo_\bn may be one of:
                       b\bba\bas\bsh\bhd\bde\bef\bfa\bau\bul\blt\bt
                               Perform the rest of the default b\bba\bas\bsh\bh completions
                               if the compspec generates no matches.
-                      d\bde\bef\bfa\bau\bul\blt\bt Use readline's default  filename  completion  if
+                      d\bde\bef\bfa\bau\bul\blt\bt Use  readline's  default  filename completion if
                               the compspec generates no matches.
                       d\bdi\bir\brn\bna\bam\bme\bes\bs
-                              Perform  directory  name completion if the comp-
+                              Perform directory name completion if  the  comp-
                               spec generates no matches.
                       f\bfi\bil\ble\ben\bna\bam\bme\bes\bs
-                              Tell readline that the compspec generates  file-
-                              names,  so  it can perform any filename-specific
-                              processing (like adding  a  slash  to  directory
+                              Tell  readline that the compspec generates file-
+                              names, so it can perform  any  filename-specific
+                              processing  (like  adding  a  slash to directory
                               names or suppressing trailing spaces).  Intended
                               to be used with shell functions.
-                      n\bno\bos\bsp\bpa\bac\bce\be Tell  readline  not  to  append  a  space   (the
-                              default)  to  words  completed at the end of the
+                      n\bno\bos\bsp\bpa\bac\bce\be Tell   readline  not  to  append  a  space  (the
+                              default) to words completed at the  end  of  the
                               line.
                       p\bpl\blu\bus\bsd\bdi\bir\brs\bs
-                              After any matches defined by  the  compspec  are
-                              generated,    directory   name   completion   is
-                              attempted and  any  matches  are  added  to  the
+                              After  any  matches  defined by the compspec are
+                              generated,   directory   name   completion    is
+                              attempted  and  any  matches  are  added  to the
                               results of the other actions.
               -\b-A\bA _\ba_\bc_\bt_\bi_\bo_\bn
-                      The  _\ba_\bc_\bt_\bi_\bo_\bn  may  be  one of the following to generate a
+                      The _\ba_\bc_\bt_\bi_\bo_\bn may be one of the  following  to  generate  a
                       list of possible completions:
                       a\bal\bli\bia\bas\bs   Alias names.  May also be specified as -\b-a\ba.
                       a\bar\brr\bra\bay\byv\bva\bar\br
                               Array variable names.
                       b\bbi\bin\bnd\bdi\bin\bng\bg R\bRe\bea\bad\bdl\bli\bin\bne\be key binding names.
-                      b\bbu\bui\bil\blt\bti\bin\bn Names of shell builtin commands.   May  also  be
+                      b\bbu\bui\bil\blt\bti\bin\bn Names  of  shell  builtin commands.  May also be
                               specified as -\b-b\bb.
                       c\bco\bom\bmm\bma\ban\bnd\bd Command names.  May also be specified as -\b-c\bc.
                       d\bdi\bir\bre\bec\bct\bto\bor\bry\by
@@ -237,7 +238,7 @@ B\bBA\bAS\bSH\bH B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
                       d\bdi\bis\bsa\bab\bbl\ble\bed\bd
                               Names of disabled shell builtins.
                       e\ben\bna\bab\bbl\ble\bed\bd Names of enabled shell builtins.
-                      e\bex\bxp\bpo\bor\brt\bt  Names  of exported shell variables.  May also be
+                      e\bex\bxp\bpo\bor\brt\bt  Names of exported shell variables.  May also  be
                               specified as -\b-e\be.
                       f\bfi\bil\ble\be    File names.  May also be specified as -\b-f\bf.
                       f\bfu\bun\bnc\bct\bti\bio\bon\bn
@@ -246,17 +247,17 @@ B\bBA\bAS\bSH\bH B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
                       h\bhe\bel\blp\bpt\bto\bop\bpi\bic\bc
                               Help topics as accepted by the h\bhe\bel\blp\bp builtin.
                       h\bho\bos\bst\btn\bna\bam\bme\be
-                              Hostnames, as taken from the file  specified  by
+                              Hostnames,  as  taken from the file specified by
                               the H\bHO\bOS\bST\bTF\bFI\bIL\bLE\bE shell variable.
-                      j\bjo\bob\bb     Job  names,  if job control is active.  May also
+                      j\bjo\bob\bb     Job names, if job control is active.   May  also
                               be specified as -\b-j\bj.
-                      k\bke\bey\byw\bwo\bor\brd\bd Shell reserved words.  May also be specified  as
+                      k\bke\bey\byw\bwo\bor\brd\bd Shell  reserved words.  May also be specified as
                               -\b-k\bk.
                       r\bru\bun\bnn\bni\bin\bng\bg Names of running jobs, if job control is active.
                       s\bse\ber\brv\bvi\bic\bce\be Service names.  May also be specified as -\b-s\bs.
-                      s\bse\bet\bto\bop\bpt\bt  Valid arguments for the -\b-o\bo  option  to  the  s\bse\bet\bt
+                      s\bse\bet\bto\bop\bpt\bt  Valid  arguments  for  the  -\b-o\bo option to the s\bse\bet\bt
                               builtin.
-                      s\bsh\bho\bop\bpt\bt   Shell  option  names  as  accepted  by the s\bsh\bho\bop\bpt\bt
+                      s\bsh\bho\bop\bpt\bt   Shell option names  as  accepted  by  the  s\bsh\bho\bop\bpt\bt
                               builtin.
                       s\bsi\big\bgn\bna\bal\bl  Signal names.
                       s\bst\bto\bop\bpp\bpe\bed\bd Names of stopped jobs, if job control is active.
@@ -265,136 +266,136 @@ B\bBA\bAS\bSH\bH B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
                               Names of all shell variables.  May also be spec-
                               ified as -\b-v\bv.
               -\b-G\bG _\bg_\bl_\bo_\bb_\bp_\ba_\bt
-                      The filename expansion pattern _\bg_\bl_\bo_\bb_\bp_\ba_\bt  is  expanded  to
+                      The  filename  expansion  pattern _\bg_\bl_\bo_\bb_\bp_\ba_\bt is expanded to
                       generate the possible completions.
               -\b-W\bW _\bw_\bo_\br_\bd_\bl_\bi_\bs_\bt
-                      The  _\bw_\bo_\br_\bd_\bl_\bi_\bs_\bt  is  split using the characters in the I\bIF\bFS\bS
-                      special variable as delimiters, and each resultant  word
-                      is  expanded.   The possible completions are the members
-                      of the resultant list which match the  word  being  com-
+                      The _\bw_\bo_\br_\bd_\bl_\bi_\bs_\bt is split using the characters  in  the  I\bIF\bFS\bS
+                      special  variable as delimiters, and each resultant word
+                      is expanded.  The possible completions are  the  members
+                      of  the  resultant  list which match the word being com-
                       pleted.
               -\b-C\bC _\bc_\bo_\bm_\bm_\ba_\bn_\bd
-                      _\bc_\bo_\bm_\bm_\ba_\bn_\b is  executed in a subshell environment, and its
+                      _\bc_\bo_\bm_\bm_\ba_\bn_\bis executed in a subshell environment,  and  its
                       output is used as the possible completions.
               -\b-F\bF _\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn
-                      The shell function _\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn is executed in  the  current
-                      shell  environment.  When it finishes, the possible com-
-                      pletions are retrieved from the value of  the  C\bCO\bOM\bMP\bPR\bRE\bEP\bPL\bLY\bY
+                      The  shell  function _\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn is executed in the current
+                      shell environment.  When it finishes, the possible  com-
+                      pletions  are  retrieved from the value of the C\bCO\bOM\bMP\bPR\bRE\bEP\bPL\bLY\bY
                       array variable.
               -\b-X\bX _\bf_\bi_\bl_\bt_\be_\br_\bp_\ba_\bt
-                      _\bf_\bi_\bl_\bt_\be_\br_\bp_\ba_\b is  a pattern as used for filename expansion.
+                      _\bf_\bi_\bl_\bt_\be_\br_\bp_\ba_\bis a pattern as used for  filename  expansion.
                       It is applied to the list of possible completions gener-
-                      ated  by  the  preceding options and arguments, and each
-                      completion matching _\bf_\bi_\bl_\bt_\be_\br_\bp_\ba_\bt is removed from the  list.
-                      A  leading  !\b!  in _\bf_\bi_\bl_\bt_\be_\br_\bp_\ba_\bt negates the pattern; in this
-                      case, any completion not matching _\bf_\bi_\bl_\bt_\be_\br_\bp_\ba_\bt is  removed.
+                      ated by the preceding options and  arguments,  and  each
+                      completion  matching _\bf_\bi_\bl_\bt_\be_\br_\bp_\ba_\bt is removed from the list.
+                      A leading !\b! in _\bf_\bi_\bl_\bt_\be_\br_\bp_\ba_\bt negates the  pattern;  in  this
+                      case,  any completion not matching _\bf_\bi_\bl_\bt_\be_\br_\bp_\ba_\bt is removed.
               -\b-P\bP _\bp_\br_\be_\bf_\bi_\bx
-                      _\bp_\br_\be_\bf_\bi_\b is  added at the beginning of each possible com-
+                      _\bp_\br_\be_\bf_\bi_\bis added at the beginning of each  possible  com-
                       pletion after all other options have been applied.
               -\b-S\bS _\bs_\bu_\bf_\bf_\bi_\bx
                       _\bs_\bu_\bf_\bf_\bi_\bx is appended to each possible completion after all
                       other options have been applied.
 
-              The  return  value is true unless an invalid option is supplied,
-              an option other than -\b-p\bp or -\b-r\br is supplied without a  _\bn_\ba_\bm_\b argu-
-              ment,  an  attempt  is made to remove a completion specification
+              The return value is true unless an invalid option  is  supplied,
+              an  option  other than -\b-p\bp or -\b-r\br is supplied without a _\bn_\ba_\bm_\be argu-
+              ment, an attempt is made to remove  a  completion  specification
               for a _\bn_\ba_\bm_\be for which no specification exists, or an error occurs
               adding a completion specification.
 
        c\bco\bon\bnt\bti\bin\bnu\bue\be [_\bn]
               Resume the next iteration of the enclosing f\bfo\bor\br, w\bwh\bhi\bil\ble\be, u\bun\bnt\bti\bil\bl, or
-              s\bse\bel\ble\bec\bct\bloop.  If _\bn is specified, resume  at  the  _\bnth  enclosing
-              loop.   _\bn  must  be  >=  1.   If _\bn is greater than the number of
-              enclosing loops, the  last  enclosing  loop  (the  ``top-level''
+              s\bse\bel\ble\bec\bct\b loop.   If  _\bn  is specified, resume at the _\bnth enclosing
+              loop.  _\bn must be >= 1.  If _\bn  is  greater  than  the  number  of
+              enclosing  loops,  the  last  enclosing  loop (the ``top-level''
               loop) is resumed.  The return value is 0 unless the shell is not
               executing a loop when c\bco\bon\bnt\bti\bin\bnu\bue\be is executed.
 
        d\bde\bec\bcl\bla\bar\bre\be [-\b-a\baf\bfF\bFi\bir\brt\btx\bx] [-\b-p\bp] [_\bn_\ba_\bm_\be[=_\bv_\ba_\bl_\bu_\be] ...]
        t\bty\byp\bpe\bes\bse\bet\bt [-\b-a\baf\bfF\bFi\bir\brt\btx\bx] [-\b-p\bp] [_\bn_\ba_\bm_\be[=_\bv_\ba_\bl_\bu_\be] ...]
-              Declare variables and/or give them attributes.  If no _\bn_\ba_\bm_\bes  are
-              given  then display the values of variables.  The -\b-p\bp option will
-              display the attributes and values of  each  _\bn_\ba_\bm_\be.   When  -\b-p\b is
-              used,  additional  options  are ignored.  The -\b-F\bF option inhibits
-              the display of function definitions; only the function name  and
+              Declare  variables and/or give them attributes.  If no _\bn_\ba_\bm_\bes are
+              given then display the values of variables.  The -\b-p\bp option  will
+              display  the  attributes  and  values  of each _\bn_\ba_\bm_\be.  When -\b-p\bp is
+              used, additional options are ignored.  The  -\b-F\bF  option  inhibits
+              the  display of function definitions; only the function name and
               attributes are printed.  If the e\bex\bxt\btd\bde\beb\bbu\bug\bg shell option is enabled
-              using s\bsh\bho\bop\bpt\bt, the source file name  and  line  number  where  the
-              function  is  defined  are  displayed  as  well.   The -\b-F\bF option
-              implies -\b-f\bf.  The following options can be used to restrict  out-
-              put  to  variables with the specified attribute or to give vari-
+              using  s\bsh\bho\bop\bpt\bt,  the  source  file  name and line number where the
+              function is defined  are  displayed  as  well.   The  -\b-F\b option
+              implies  -\b-f\bf.  The following options can be used to restrict out-
+              put to variables with the specified attribute or to  give  vari-
               ables attributes:
               -\b-a\ba     Each _\bn_\ba_\bm_\be is an array variable (see A\bAr\brr\bra\bay\bys\bs above).
               -\b-f\bf     Use function names only.
               -\b-i\bi     The variable is treated as an integer; arithmetic evalua-
-                     tion  (see  A\bAR\bRI\bIT\bTH\bHM\bME\bET\bTI\bIC\bC E\bEV\bVA\bAL\bLU\bUA\bAT\bTI\bIO\bON\bN )\b) is performed when the
+                     tion (see A\bAR\bRI\bIT\bTH\bHM\bME\bET\bTI\bIC\bC E\bEV\bVA\bAL\bLU\bUA\bAT\bTI\bIO\bON\bN )\b) is performed  when  the
                      variable is assigned a value.
               -\b-r\br     Make _\bn_\ba_\bm_\bes readonly.  These names cannot then be assigned
                      values by subsequent assignment statements or unset.
-              -\b-t\bt     Give  each  _\bn_\ba_\bm_\be  the  _\bt_\br_\ba_\bc_\be attribute.  Traced functions
-                     inherit the D\bDE\bEB\bBU\bUG\bG  and  R\bRE\bET\bTU\bUR\bRN\bN  traps  from  the  calling
-                     shell.   The  trace  attribute has no special meaning for
+              -\b-t\bt     Give each _\bn_\ba_\bm_\be the  _\bt_\br_\ba_\bc_\be  attribute.   Traced  functions
+                     inherit  the  D\bDE\bEB\bBU\bUG\bG  and  R\bRE\bET\bTU\bUR\bRN\bN  traps  from the calling
+                     shell.  The trace attribute has no  special  meaning  for
                      variables.
-              -\b-x\bx     Mark _\bn_\ba_\bm_\bes for export  to  subsequent  commands  via  the
+              -\b-x\bx     Mark  _\bn_\ba_\bm_\bes  for  export  to  subsequent commands via the
                      environment.
 
-              Using  `+'  instead of `-' turns off the attribute instead, with
-              the exception that +\b+a\ba may not be used to destroy an array  vari-
-              able.   When  used in a function, makes each _\bn_\ba_\bm_\be local, as with
-              the l\blo\boc\bca\bal\bl command.  If a variable name is  followed  by  =_\bv_\ba_\bl_\bu_\be,
-              the  value of the variable is set to _\bv_\ba_\bl_\bu_\be.  The return value is
+              Using `+' instead of `-' turns off the attribute  instead,  with
+              the  exception that +\b+a\ba may not be used to destroy an array vari-
+              able.  When used in a function, makes each _\bn_\ba_\bm_\be local,  as  with
+              the  l\blo\boc\bca\bal\bl  command.   If a variable name is followed by =_\bv_\ba_\bl_\bu_\be,
+              the value of the variable is set to _\bv_\ba_\bl_\bu_\be.  The return value  is
               0 unless an invalid option is encountered, an attempt is made to
-              define  a  function  using ``-f foo=bar'', an attempt is made to
-              assign a value to a readonly variable, an  attempt  is  made  to
-              assign  a  value to an array variable without using the compound
-              assignment syntax (see A\bAr\brr\bra\bay\bys\bs above), one of the _\bn_\ba_\bm_\be_\bs is not  a
-              valid  shell variable name, an attempt is made to turn off read-
-              only status for a readonly variable, an attempt is made to  turn
+              define a function using ``-f foo=bar'', an attempt  is  made  to
+              assign  a  value  to  a readonly variable, an attempt is made to
+              assign a value to an array variable without using  the  compound
+              assignment  syntax (see A\bAr\brr\bra\bay\bys\bs above), one of the _\bn_\ba_\bm_\be_\bs is not a
+              valid shell variable name, an attempt is made to turn off  read-
+              only  status for a readonly variable, an attempt is made to turn
               off array status for an array variable, or an attempt is made to
               display a non-existent function with -\b-f\bf.
 
        d\bdi\bir\brs\bs [\b[-\b-c\bcl\blp\bpv\bv]\b] [\b[+\b+_\bn]\b] [\b[-\b-_\bn]\b]
-              Without options,  displays  the  list  of  currently  remembered
-              directories.   The  default  display  is  on  a single line with
-              directory names separated by spaces.  Directories are  added  to
-              the  list  with  the  p\bpu\bus\bsh\bhd\bd  command;  the  p\bpo\bop\bpd\bd command removes
+              Without  options,  displays  the  list  of  currently remembered
+              directories.  The default display  is  on  a  single  line  with
+              directory  names  separated by spaces.  Directories are added to
+              the list with  the  p\bpu\bus\bsh\bhd\bd  command;  the  p\bpo\bop\bpd\bd  command  removes
               entries from the list.
               +\b+_\bn     Displays the _\bnth entry counting from the left of the list
                      shown by d\bdi\bir\brs\bs when invoked without options, starting with
                      zero.
-              -\b-_\bn     Displays the _\bnth entry counting from  the  right  of  the
+              -\b-_\bn     Displays  the  _\bnth  entry  counting from the right of the
                      list shown by d\bdi\bir\brs\bs when invoked without options, starting
                      with zero.
               -\b-c\bc     Clears  the  directory  stack  by  deleting  all  of  the
                      entries.
-              -\b-l\bl     Produces  a  longer  listing;  the default listing format
+              -\b-l\bl     Produces a longer listing;  the  default  listing  format
                      uses a tilde to denote the home directory.
               -\b-p\bp     Print the directory stack with one entry per line.
-              -\b-v\bv     Print the directory stack with one entry per  line,  pre-
+              -\b-v\bv     Print  the  directory stack with one entry per line, pre-
                      fixing each entry with its index in the stack.
 
-              The  return value is 0 unless an invalid option is supplied or _\bn
+              The return value is 0 unless an invalid option is supplied or  _\bn
               indexes beyond the end of the directory stack.
 
        d\bdi\bis\bso\bow\bwn\bn [-\b-a\bar\br] [-\b-h\bh] [_\bj_\bo_\bb_\bs_\bp_\be_\bc ...]
-              Without options, each _\bj_\bo_\bb_\bs_\bp_\be_\bc  is  removed  from  the  table  of
-              active  jobs.   If  the  -\b-h\bh option is given, each _\bj_\bo_\bb_\bs_\bp_\be_\bc is not
+              Without  options,  each  _\bj_\bo_\bb_\bs_\bp_\be_\bc  is  removed  from the table of
+              active jobs.  If the -\b-h\bh option is given,  each  _\bj_\bo_\bb_\bs_\bp_\be_\bc  is  not
               removed from the table, but is marked so that S\bSI\bIG\bGH\bHU\bUP\bP is not sent
-              to  the  job  if  the shell receives a S\bSI\bIG\bGH\bHU\bUP\bP.  If no _\bj_\bo_\bb_\bs_\bp_\be_\bc is
-              present, and neither the -\b-a\ba nor the -\b-r\br option is  supplied,  the
-              _\bc_\bu_\br_\br_\be_\bn_\b _\bj_\bo_\bb  is used.  If no _\bj_\bo_\bb_\bs_\bp_\be_\bc is supplied, the -\b-a\ba option
-              means to remove or mark all jobs; the -\b-r\br option without  a  _\bj_\bo_\bb_\b-
-              _\bs_\bp_\be_\b argument  restricts operation to running jobs.  The return
+              to the job if the shell receives a S\bSI\bIG\bGH\bHU\bUP\bP.   If  no  _\bj_\bo_\bb_\bs_\bp_\be_\b is
+              present,  and  neither the -\b-a\ba nor the -\b-r\br option is supplied, the
+              _\bc_\bu_\br_\br_\be_\bn_\b_\bj_\bo_\bb is used.  If no _\bj_\bo_\bb_\bs_\bp_\be_\bc is supplied, the  -\b-a\b option
+              means  to  remove or mark all jobs; the -\b-r\br option without a _\bj_\bo_\bb_\b-
+              _\bs_\bp_\be_\bargument restricts operation to running jobs.   The  return
               value is 0 unless a _\bj_\bo_\bb_\bs_\bp_\be_\bc does not specify a valid job.
 
        e\bec\bch\bho\bo [-\b-n\bne\beE\bE] [_\ba_\br_\bg ...]
-              Output the _\ba_\br_\bgs, separated by spaces,  followed  by  a  newline.
+              Output  the  _\ba_\br_\bgs,  separated  by spaces, followed by a newline.
               The return status is always 0.  If -\b-n\bn is specified, the trailing
-              newline is suppressed.  If the -\b-e\be option is  given,  interpreta-
-              tion  of  the following backslash-escaped characters is enabled.
-              The -\b-E\bE option disables the interpretation of these escape  char-
-              acters,  even  on systems where they are interpreted by default.
-              The x\bxp\bpg\bg_\b_e\bec\bch\bho\bo shell option may be used to  dynamically  determine
-              whether  or not e\bec\bch\bho\bo expands these escape characters by default.
-              e\bec\bch\bho\bdoes not interpret -\b--\b- to mean the  end  of  options.   e\bec\bch\bho\bo
+              newline  is  suppressed.  If the -\b-e\be option is given, interpreta-
+              tion of the following backslash-escaped characters  is  enabled.
+              The  -\b-E\bE option disables the interpretation of these escape char-
+              acters, even on systems where they are interpreted  by  default.
+              The  x\bxp\bpg\bg_\b_e\bec\bch\bho\bo  shell option may be used to dynamically determine
+              whether or not e\bec\bch\bho\bo expands these escape characters by  default.
+              e\bec\bch\bho\b does  not  interpret  -\b--\b- to mean the end of options.  e\bec\bch\bho\bo
               interprets the following escape sequences:
               \\b\a\ba     alert (bell)
               \\b\b\bb     backspace
@@ -406,188 +407,188 @@ B\bBA\bAS\bSH\bH B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
               \\b\t\bt     horizontal tab
               \\b\v\bv     vertical tab
               \\b\\\b\     backslash
-              \\b\0\b0_\bn_\bn_\bn  the  eight-bit  character  whose value is the octal value
+              \\b\0\b0_\bn_\bn_\bn  the eight-bit character whose value is  the  octal  value
                      _\bn_\bn_\bn (zero to three octal digits)
-              \\b\_\bn_\bn_\bn   the eight-bit character whose value is  the  octal  value
+              \\b\_\bn_\bn_\bn   the  eight-bit  character  whose value is the octal value
                      _\bn_\bn_\bn (one to three octal digits)
-              \\b\x\bx_\bH_\bH   the  eight-bit  character  whose value is the hexadecimal
+              \\b\x\bx_\bH_\bH   the eight-bit character whose value  is  the  hexadecimal
                      value _\bH_\bH (one or two hex digits)
 
        e\ben\bna\bab\bbl\ble\be [-\b-a\bad\bdn\bnp\bps\bs] [-\b-f\bf _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be] [_\bn_\ba_\bm_\be ...]
-              Enable and disable builtin shell commands.  Disabling a  builtin
+              Enable  and disable builtin shell commands.  Disabling a builtin
               allows a disk command which has the same name as a shell builtin
-              to be executed without specifying a full pathname,  even  though
-              the  shell  normally searches for builtins before disk commands.
-              If -\b-n\bn is used, each  _\bn_\ba_\bm_\be  is  disabled;  otherwise,  _\bn_\ba_\bm_\be_\b are
+              to  be  executed without specifying a full pathname, even though
+              the shell normally searches for builtins before  disk  commands.
+              If  -\b-n\bn  is  used,  each  _\bn_\ba_\bm_\be  is disabled; otherwise, _\bn_\ba_\bm_\be_\bs are
               enabled.  For example, to use the t\bte\bes\bst\bt binary found via the P\bPA\bAT\bTH\bH
-              instead of the shell builtin version, run  ``enable  -n  test''.
-              The  -\b-f\bf  option  means to load the new builtin command _\bn_\ba_\bm_\be from
+              instead  of  the  shell builtin version, run ``enable -n test''.
+              The -\b-f\bf option means to load the new builtin  command  _\bn_\ba_\bm_\b from
               shared object _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be, on systems that support dynamic loading.
-              The  -\b-d\bd  option will delete a builtin previously loaded with -\b-f\bf.
+              The -\b-d\bd option will delete a builtin previously loaded  with  -\b-f\bf.
               If no _\bn_\ba_\bm_\be arguments are given, or if the -\b-p\bp option is supplied,
               a list of shell builtins is printed.  With no other option argu-
-              ments, the list consists of all enabled shell builtins.   If  -\b-n\bn
-              is  supplied, only disabled builtins are printed.  If -\b-a\ba is sup-
-              plied, the list printed includes all builtins, with  an  indica-
-              tion  of whether or not each is enabled.  If -\b-s\bs is supplied, the
-              output is restricted to the POSIX _\bs_\bp_\be_\bc_\bi_\ba_\bl builtins.  The  return
-              value  is  0 unless a _\bn_\ba_\bm_\be is not a shell builtin or there is an
+              ments,  the  list consists of all enabled shell builtins.  If -\b-n\bn
+              is supplied, only disabled builtins are printed.  If -\b-a\ba is  sup-
+              plied,  the  list printed includes all builtins, with an indica-
+              tion of whether or not each is enabled.  If -\b-s\bs is supplied,  the
+              output  is restricted to the POSIX _\bs_\bp_\be_\bc_\bi_\ba_\bl builtins.  The return
+              value is 0 unless a _\bn_\ba_\bm_\be is not a shell builtin or there  is  an
               error loading a new builtin from a shared object.
 
        e\bev\bva\bal\bl [_\ba_\br_\bg ...]
-              The _\ba_\br_\bgs are read and concatenated together into a  single  com-
-              mand.   This command is then read and executed by the shell, and
-              its exit status is returned as the value of e\bev\bva\bal\bl.  If there  are
+              The  _\ba_\br_\bgs  are read and concatenated together into a single com-
+              mand.  This command is then read and executed by the shell,  and
+              its  exit status is returned as the value of e\bev\bva\bal\bl.  If there are
               no _\ba_\br_\bg_\bs, or only null arguments, e\bev\bva\bal\bl returns 0.
 
        e\bex\bxe\bec\bc [-\b-c\bcl\bl] [-\b-a\ba _\bn_\ba_\bm_\be] [_\bc_\bo_\bm_\bm_\ba_\bn_\bd [_\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs]]
-              If  _\bc_\bo_\bm_\bm_\ba_\bn_\bd is specified, it replaces the shell.  No new process
-              is created.  The _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs become the arguments to _\bc_\bo_\bm_\bm_\ba_\bn_\bd.   If
+              If _\bc_\bo_\bm_\bm_\ba_\bn_\bd is specified, it replaces the shell.  No new  process
+              is  created.  The _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs become the arguments to _\bc_\bo_\bm_\bm_\ba_\bn_\bd.  If
               the -\b-l\bl option is supplied, the shell places a dash at the begin-
               ning of the zeroth arg passed to _\bc_\bo_\bm_\bm_\ba_\bn_\bd.  This is what _\bl_\bo_\bg_\bi_\bn(1)
               does.  The -\b-c\bc option causes _\bc_\bo_\bm_\bm_\ba_\bn_\bd to be executed with an empty
-              environment.  If -\b-a\ba is supplied, the shell passes  _\bn_\ba_\bm_\be  as  the
-              zeroth  argument  to the executed command.  If _\bc_\bo_\bm_\bm_\ba_\bn_\bd cannot be
-              executed for some reason, a non-interactive shell exits,  unless
-              the  shell  option e\bex\bxe\bec\bcf\bfa\bai\bil\bl is enabled, in which case it returns
-              failure.  An interactive shell returns failure if the file  can-
-              not  be executed.  If _\bc_\bo_\bm_\bm_\ba_\bn_\bd is not specified, any redirections
-              take effect in the current shell, and the return  status  is  0.
+              environment.   If  -\b-a\ba  is supplied, the shell passes _\bn_\ba_\bm_\be as the
+              zeroth argument to the executed command.  If _\bc_\bo_\bm_\bm_\ba_\bn_\bd  cannot  be
+              executed  for some reason, a non-interactive shell exits, unless
+              the shell option e\bex\bxe\bec\bcf\bfa\bai\bil\bl is enabled, in which case  it  returns
+              failure.   An interactive shell returns failure if the file can-
+              not be executed.  If _\bc_\bo_\bm_\bm_\ba_\bn_\bd is not specified, any  redirections
+              take  effect  in  the current shell, and the return status is 0.
               If there is a redirection error, the return status is 1.
 
        e\bex\bxi\bit\bt [_\bn]
-              Cause  the  shell  to exit with a status of _\bn.  If _\bn is omitted,
+              Cause the shell to exit with a status of _\bn.  If  _\bn  is  omitted,
               the exit status is that of the last command executed.  A trap on
               E\bEX\bXI\bIT\bT is executed before the shell terminates.
 
        e\bex\bxp\bpo\bor\brt\bt [-\b-f\bfn\bn] [_\bn_\ba_\bm_\be[=_\bw_\bo_\br_\bd]] ...
        e\bex\bxp\bpo\bor\brt\bt -\b-p\bp
-              The  supplied _\bn_\ba_\bm_\be_\bs are marked for automatic export to the envi-
-              ronment of subsequently executed commands.  If the -\b-f\bf option  is
-              given,  the _\bn_\ba_\bm_\be_\bs refer to functions.  If no _\bn_\ba_\bm_\be_\bs are given, or
-              if the -\b-p\bp option is supplied, a  list  of  all  names  that  are
-              exported  in  this  shell  is printed.  The -\b-n\bn option causes the
-              export property to be removed from each  _\bn_\ba_\bm_\be.   If  a  variable
-              name  is  followed by =_\bw_\bo_\br_\bd, the value of the variable is set to
-              _\bw_\bo_\br_\bd.  e\bex\bxp\bpo\bor\brt\bt returns an exit status  of  0  unless  an  invalid
-              option  is  encountered,  one  of the _\bn_\ba_\bm_\be_\bs is not a valid shell
+              The supplied _\bn_\ba_\bm_\be_\bs are marked for automatic export to the  envi-
+              ronment  of subsequently executed commands.  If the -\b-f\bf option is
+              given, the _\bn_\ba_\bm_\be_\bs refer to functions.  If no _\bn_\ba_\bm_\be_\bs are given,  or
+              if  the  -\b-p\bp  option  is  supplied,  a list of all names that are
+              exported in this shell is printed.  The  -\b-n\bn  option  causes  the
+              export  property  to  be  removed from each _\bn_\ba_\bm_\be.  If a variable
+              name is followed by =_\bw_\bo_\br_\bd, the value of the variable is  set  to
+              _\bw_\bo_\br_\bd.   e\bex\bxp\bpo\bor\brt\bt  returns  an  exit  status of 0 unless an invalid
+              option is encountered, one of the _\bn_\ba_\bm_\be_\bs is  not  a  valid  shell
               variable name, or -\b-f\bf is supplied with a _\bn_\ba_\bm_\be that is not a func-
               tion.
 
        f\bfc\bc [-\b-e\be _\be_\bn_\ba_\bm_\be] [-\b-n\bnl\blr\br] [_\bf_\bi_\br_\bs_\bt] [_\bl_\ba_\bs_\bt]
        f\bfc\bc -\b-s\bs [_\bp_\ba_\bt=_\br_\be_\bp] [_\bc_\bm_\bd]
-              Fix  Command.  In the first form, a range of commands from _\bf_\bi_\br_\bs_\bt
-              to _\bl_\ba_\bs_\bt is selected from the history list.  _\bF_\bi_\br_\bs_\bt and  _\bl_\ba_\bs_\b may
-              be  specified  as a string (to locate the last command beginning
-              with that string) or as a number  (an  index  into  the  history
+              Fix Command.  In the first form, a range of commands from  _\bf_\bi_\br_\bs_\bt
+              to  _\bl_\ba_\bs_\bt  is selected from the history list.  _\bF_\bi_\br_\bs_\bt and _\bl_\ba_\bs_\bt may
+              be specified as a string (to locate the last  command  beginning
+              with  that  string)  or  as  a number (an index into the history
               list, where a negative number is used as an offset from the cur-
               rent command number).  If _\bl_\ba_\bs_\bt is not specified it is set to the
-              current  command  for  listing (so that ``fc -l -10'' prints the
-              last 10 commands) and to  _\bf_\bi_\br_\bs_\bt  otherwise.   If  _\bf_\bi_\br_\bs_\bt  is  not
-              specified  it is set to the previous command for editing and -16
-              for listing.
-
-              The -\b-n\bn option suppresses the command numbers when listing.   The
-              -\b-r\b option reverses the order of the commands.  If the -\b-l\bl option
-              is given, the commands are listed on  standard  output.   Other-
-              wise,  the editor given by _\be_\bn_\ba_\bm_\be is invoked on a file containing
-              those commands.  If _\be_\bn_\ba_\bm_\be is not given, the value of the  F\bFC\bCE\bED\bDI\bIT\bT
-              variable  is used, and the value of E\bED\bDI\bIT\bTO\bOR\bR if F\bFC\bCE\bED\bDI\bIT\bT is not set.
-              If neither variable is set, is used.  When editing is  complete,
+              current command for listing (so that ``fc -l  -10''  prints  the
+              last 10 commands) and to _\bf_\bi_\br_\bs_\bt otherwise.  If _\bf_\bi_\br_\bs_\bt is not spec-
+              ified it is set to the previous command for editing and -16  for
+              listing.
+
+              The  -\b-n\bn option suppresses the command numbers when listing.  The
+              -\b-r\boption reverses the order of the commands.  If the -\b-l\b option
+              is  given,  the  commands are listed on standard output.  Other-
+              wise, the editor given by _\be_\bn_\ba_\bm_\be is invoked on a file  containing
+              those  commands.  If _\be_\bn_\ba_\bm_\be is not given, the value of the F\bFC\bCE\bED\bDI\bIT\bT
+              variable is used, and the value of E\bED\bDI\bIT\bTO\bOR\bR if F\bFC\bCE\bED\bDI\bIT\bT is not  set.
+              If  neither variable is set, is used.  When editing is complete,
               the edited commands are echoed and executed.
 
-              In  the  second form, _\bc_\bo_\bm_\bm_\ba_\bn_\bd is re-executed after each instance
-              of _\bp_\ba_\bt is replaced by _\br_\be_\bp.  A useful alias to use with  this  is
-              ``r="fc  -s"'',  so  that  typing ``r cc'' runs the last command
+              In the second form, _\bc_\bo_\bm_\bm_\ba_\bn_\bd is re-executed after  each  instance
+              of  _\bp_\ba_\bt  is replaced by _\br_\be_\bp.  A useful alias to use with this is
+              ``r="fc -s"'', so that typing ``r cc''  runs  the  last  command
               beginning with ``cc'' and typing ``r'' re-executes the last com-
               mand.
 
-              If  the  first  form  is  used,  the return value is 0 unless an
-              invalid option is encountered or _\bf_\bi_\br_\bs_\bt or _\bl_\ba_\bs_\bt  specify  history
-              lines  out  of  range.  If the -\b-e\be option is supplied, the return
+              If the first form is used, the  return  value  is  0  unless  an
+              invalid  option  is encountered or _\bf_\bi_\br_\bs_\bt or _\bl_\ba_\bs_\bt specify history
+              lines out of range.  If the -\b-e\be option is  supplied,  the  return
               value is the value of the last command executed or failure if an
               error occurs with the temporary file of commands.  If the second
-              form is used, the return status is that of the  command  re-exe-
-              cuted,  unless  _\bc_\bm_\bd  does  not  specify a valid history line, in
+              form  is  used, the return status is that of the command re-exe-
+              cuted, unless _\bc_\bm_\bd does not specify  a  valid  history  line,  in
               which case f\bfc\bc returns failure.
 
        f\bfg\bg [_\bj_\bo_\bb_\bs_\bp_\be_\bc]
-              Resume _\bj_\bo_\bb_\bs_\bp_\be_\bc in the foreground, and make it the  current  job.
+              Resume  _\bj_\bo_\bb_\bs_\bp_\be_\bc  in the foreground, and make it the current job.
               If _\bj_\bo_\bb_\bs_\bp_\be_\bc is not present, the shell's notion of the _\bc_\bu_\br_\br_\be_\bn_\bt _\bj_\bo_\bb
-              is used.  The return value is that of the  command  placed  into
-              the  foreground,  or failure if run when job control is disabled
+              is  used.   The  return value is that of the command placed into
+              the foreground, or failure if run when job control  is  disabled
               or, when run with job control enabled, if _\bj_\bo_\bb_\bs_\bp_\be_\bc does not spec-
-              ify  a  valid  job  or  _\bj_\bo_\bb_\bs_\bp_\be_\bc specifies a job that was started
+              ify a valid job or _\bj_\bo_\bb_\bs_\bp_\be_\bc specifies  a  job  that  was  started
               without job control.
 
        g\bge\bet\bto\bop\bpt\bts\bs _\bo_\bp_\bt_\bs_\bt_\br_\bi_\bn_\bg _\bn_\ba_\bm_\be [_\ba_\br_\bg_\bs]
-              g\bge\bet\bto\bop\bpt\bts\bis used by shell procedures to parse positional  parame-
-              ters.   _\bo_\bp_\bt_\bs_\bt_\br_\bi_\bn_\bg  contains  the  option characters to be recog-
-              nized; if a character is followed by  a  colon,  the  option  is
-              expected  to have an argument, which should be separated from it
-              by white space.  The colon and question mark characters may  not
-              be  used as option characters.  Each time it is invoked, g\bge\bet\bto\bop\bpt\bts\bs
-              places the next option in the shell variable _\bn_\ba_\bm_\be,  initializing
+              g\bge\bet\bto\bop\bpt\bts\b is used by shell procedures to parse positional parame-
+              ters.  _\bo_\bp_\bt_\bs_\bt_\br_\bi_\bn_\bg contains the option  characters  to  be  recog-
+              nized;  if  a  character  is  followed by a colon, the option is
+              expected to have an argument, which should be separated from  it
+              by  white space.  The colon and question mark characters may not
+              be used as option characters.  Each time it is invoked,  g\bge\bet\bto\bop\bpt\bts\bs
+              places  the next option in the shell variable _\bn_\ba_\bm_\be, initializing
               _\bn_\ba_\bm_\be if it does not exist, and the index of the next argument to
               be processed into the variable O\bOP\bPT\bTI\bIN\bND\bD.  O\bOP\bPT\bTI\bIN\bND\bD is initialized to
-              1  each  time  the  shell or a shell script is invoked.  When an
-              option requires an argument, g\bge\bet\bto\bop\bpt\bts\bs places that  argument  into
-              the  variable O\bOP\bPT\bTA\bAR\bRG\bG.  The shell does not reset O\bOP\bPT\bTI\bIN\bND\bD automati-
-              cally; it must be  manually  reset  between  multiple  calls  to
+              1 each time the shell or a shell script  is  invoked.   When  an
+              option  requires  an argument, g\bge\bet\bto\bop\bpt\bts\bs places that argument into
+              the variable O\bOP\bPT\bTA\bAR\bRG\bG.  The shell does not reset O\bOP\bPT\bTI\bIN\bND\b automati-
+              cally;  it  must  be  manually  reset  between multiple calls to
               g\bge\bet\bto\bop\bpt\bts\bs within the same shell invocation if a new set of parame-
               ters is to be used.
 
-              When the end of options is encountered,  g\bge\bet\bto\bop\bpt\bts\bs  exits  with  a
-              return  value  greater than zero.  O\bOP\bPT\bTI\bIN\bND\bD is set to the index of
+              When  the  end  of  options is encountered, g\bge\bet\bto\bop\bpt\bts\bs exits with a
+              return value greater than zero.  O\bOP\bPT\bTI\bIN\bND\bD is set to the  index  of
               the first non-option argument, and n\bna\bam\bme\be is set to ?.
 
-              g\bge\bet\bto\bop\bpt\bts\bnormally parses the positional parameters, but  if  more
+              g\bge\bet\bto\bop\bpt\bts\b normally  parses the positional parameters, but if more
               arguments are given in _\ba_\br_\bg_\bs, g\bge\bet\bto\bop\bpt\bts\bs parses those instead.
 
-              g\bge\bet\bto\bop\bpt\bts\b can  report errors in two ways.  If the first character
-              of _\bo_\bp_\bt_\bs_\bt_\br_\bi_\bn_\bg is a colon, _\bs_\bi_\bl_\be_\bn_\bt error  reporting  is  used.   In
-              normal  operation  diagnostic  messages are printed when invalid
-              options or missing option arguments  are  encountered.   If  the
-              variable  O\bOP\bPT\bTE\bER\bRR\bR  is  set  to  0, no error messages will be dis-
+              g\bge\bet\bto\bop\bpt\bts\bcan report errors in two ways.  If the  first  character
+              of  _\bo_\bp_\bt_\bs_\bt_\br_\bi_\bn_\bg  is  a  colon, _\bs_\bi_\bl_\be_\bn_\bt error reporting is used.  In
+              normal operation diagnostic messages are  printed  when  invalid
+              options  or  missing  option  arguments are encountered.  If the
+              variable O\bOP\bPT\bTE\bER\bRR\bR is set to 0, no  error  messages  will  be  dis-
               played, even if the first character of _\bo_\bp_\bt_\bs_\bt_\br_\bi_\bn_\bg is not a colon.
 
               If an invalid option is seen, g\bge\bet\bto\bop\bpt\bts\bs places ? into _\bn_\ba_\bm_\be and, if
-              not silent, prints an  error  message  and  unsets  O\bOP\bPT\bTA\bAR\bRG\bG.   If
-              g\bge\bet\bto\bop\bpt\bts\b is  silent,  the  option  character  found is placed in
+              not  silent,  prints  an  error  message  and unsets O\bOP\bPT\bTA\bAR\bRG\bG.  If
+              g\bge\bet\bto\bop\bpt\bts\bis silent, the  option  character  found  is  placed  in
               O\bOP\bPT\bTA\bAR\bRG\bG and no diagnostic message is printed.
 
-              If a required argument is not found, and g\bge\bet\bto\bop\bpt\bts\bs is not  silent,
-              a  question  mark  (?\b?) is placed in _\bn_\ba_\bm_\be, O\bOP\bPT\bTA\bAR\bRG\bG is unset, and a
-              diagnostic message is printed.  If g\bge\bet\bto\bop\bpt\bts\bs  is  silent,  then  a
-              colon  (:\b:)  is  placed  in  _\bn_\ba_\bm_\be and O\bOP\bPT\bTA\bAR\bRG\bG is set to the option
+              If  a required argument is not found, and g\bge\bet\bto\bop\bpt\bts\bs is not silent,
+              a question mark (?\b?) is placed in _\bn_\ba_\bm_\be, O\bOP\bPT\bTA\bAR\bRG\bG is  unset,  and  a
+              diagnostic  message  is  printed.   If g\bge\bet\bto\bop\bpt\bts\bs is silent, then a
+              colon (:\b:) is placed in _\bn_\ba_\bm_\be and O\bOP\bPT\bTA\bAR\bRG\bG  is  set  to  the  option
               character found.
 
-              g\bge\bet\bto\bop\bpt\bts\breturns true if an option, specified or unspecified,  is
+              g\bge\bet\bto\bop\bpt\bts\b returns true if an option, specified or unspecified, is
               found.  It returns false if the end of options is encountered or
               an error occurs.
 
        h\bha\bas\bsh\bh [-\b-l\blr\br] [-\b-p\bp _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be] [-\b-d\bdt\bt] [_\bn_\ba_\bm_\be]
-              For each _\bn_\ba_\bm_\be, the full file name of the command  is  determined
+              For  each  _\bn_\ba_\bm_\be, the full file name of the command is determined
               by searching the directories in $\b$P\bPA\bAT\bTH\bH and remembered.  If the -\b-p\bp
               option is supplied, no path search is performed, and _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be is
               used as the full file name of the command.  The -\b-r\br option causes
-              the shell to forget all remembered  locations.   The  -\b-d\b option
+              the  shell  to  forget  all remembered locations.  The -\b-d\bd option
               causes the shell to forget the remembered location of each _\bn_\ba_\bm_\be.
-              If the -\b-t\bt option is supplied, the full pathname  to  which  each
-              _\bn_\ba_\bm_\b corresponds  is  printed.   If multiple _\bn_\ba_\bm_\be arguments are
-              supplied with -\b-t\bt, the _\bn_\ba_\bm_\be is printed  before  the  hashed  full
+              If  the  -\b-t\bt  option is supplied, the full pathname to which each
+              _\bn_\ba_\bm_\bcorresponds is printed.  If  multiple  _\bn_\ba_\bm_\be  arguments  are
+              supplied  with  -\b-t\bt,  the  _\bn_\ba_\bm_\be is printed before the hashed full
               pathname.  The -\b-l\bl option causes output to be displayed in a for-
-              mat that may be reused as input.  If no arguments are given,  or
+              mat  that may be reused as input.  If no arguments are given, or
               if only -\b-l\bl is supplied, information about remembered commands is
-              printed.  The return status is true unless a _\bn_\ba_\bm_\be is  not  found
+              printed.   The  return status is true unless a _\bn_\ba_\bm_\be is not found
               or an invalid option is supplied.
 
        h\bhe\bel\blp\bp [-\b-s\bs] [_\bp_\ba_\bt_\bt_\be_\br_\bn]
-              Display  helpful information about builtin commands.  If _\bp_\ba_\bt_\bt_\be_\br_\bn
-              is specified, h\bhe\bel\blp\bp gives detailed help on all commands  matching
-              _\bp_\ba_\bt_\bt_\be_\br_\bn;  otherwise  help for all the builtins and shell control
-              structures is printed.  The -\b-s\bs option restricts the  information
-              displayed  to  a  short  usage synopsis.  The return status is 0
+              Display helpful information about builtin commands.  If  _\bp_\ba_\bt_\bt_\be_\br_\bn
+              is  specified, h\bhe\bel\blp\bp gives detailed help on all commands matching
+              _\bp_\ba_\bt_\bt_\be_\br_\bn; otherwise help for all the builtins and  shell  control
+              structures  is printed.  The -\b-s\bs option restricts the information
+              displayed to a short usage synopsis.  The  return  status  is  0
               unless no command matches _\bp_\ba_\bt_\bt_\be_\br_\bn.
 
        h\bhi\bis\bst\bto\bor\bry\by [\b[_\bn]\b]
@@ -598,41 +599,41 @@ B\bBA\bAS\bSH\bH B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
        h\bhi\bis\bst\bto\bor\bry\by -\b-s\bs _\ba_\br_\bg [_\ba_\br_\bg _\b._\b._\b.]
               With no options, display the command history list with line num-
               bers.  Lines listed with a *\b* have been modified.  An argument of
-              _\blists only the last _\bn lines.  If the shell variable  H\bHI\bIS\bST\bTT\bTI\bIM\bME\bE-\b-
-              F\bFO\bOR\bRM\bMA\bAT\b is  set  and not null, it is used as a format string for
-              _\bs_\bt_\br_\bf_\bt_\bi_\bm_\be(3) to display the time stamp associated with each  dis-
-              played  history  entry.  No intervening blank is printed between
-              the formatted time stamp and the history line.  If  _\bf_\bi_\bl_\be_\bn_\ba_\bm_\b is
-              supplied,  it  is  used as the name of the history file; if not,
-              the value of H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bE is used.  Options, if supplied,  have  the
+              _\b lists only the last _\bn lines.  If the shell variable H\bHI\bIS\bST\bTT\bTI\bIM\bME\bE-\b-
+              F\bFO\bOR\bRM\bMA\bAT\bis set and not null, it is used as a  format  string  for
+              _\bs_\bt_\br_\bf_\bt_\bi_\bm_\be(3)  to display the time stamp associated with each dis-
+              played history entry.  No intervening blank is  printed  between
+              the  formatted  time stamp and the history line.  If _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be is
+              supplied, it is used as the name of the history  file;  if  not,
+              the  value  of H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bE is used.  Options, if supplied, have the
               following meanings:
               -\b-c\bc     Clear the history list by deleting all the entries.
               -\b-d\bd _\bo_\bf_\bf_\bs_\be_\bt
                      Delete the history entry at position _\bo_\bf_\bf_\bs_\be_\bt.
-              -\b-a\ba     Append  the  ``new'' history lines (history lines entered
-                     since the beginning of the current b\bba\bas\bsh\bh session)  to  the
+              -\b-a\ba     Append the ``new'' history lines (history  lines  entered
+                     since  the  beginning of the current b\bba\bas\bsh\bh session) to the
                      history file.
-              -\b-n\bn     Read  the history lines not already read from the history
-                     file into the current  history  list.   These  are  lines
-                     appended  to  the history file since the beginning of the
+              -\b-n\bn     Read the history lines not already read from the  history
+                     file  into  the  current  history  list.  These are lines
+                     appended to the history file since the beginning  of  the
                      current b\bba\bas\bsh\bh session.
               -\b-r\br     Read the contents of the history file and use them as the
                      current history.
-              -\b-w\bw     Write  the current history to the history file, overwrit-
+              -\b-w\bw     Write the current history to the history file,  overwrit-
                      ing the history file's contents.
-              -\b-p\bp     Perform history substitution on the  following  _\ba_\br_\bg_\b and
-                     display  the  result  on  the  standard output.  Does not
-                     store the results in the history list.  Each _\ba_\br_\bg must  be
+              -\b-p\bp     Perform  history  substitution  on the following _\ba_\br_\bg_\bs and
+                     display the result on  the  standard  output.   Does  not
+                     store  the results in the history list.  Each _\ba_\br_\bg must be
                      quoted to disable normal history expansion.
-              -\b-s\bs     Store  the  _\ba_\br_\bg_\bs  in  the history list as a single entry.
-                     The last command in the history list  is  removed  before
+              -\b-s\bs     Store the _\ba_\br_\bg_\bs in the history list  as  a  single  entry.
+                     The  last  command  in the history list is removed before
                      the _\ba_\br_\bg_\bs are added.
 
               If the H\bHI\bIS\bST\bTT\bTI\bIM\bME\bEF\bFO\bOR\bRM\bMA\bAT\bT is set, the time stamp information associ-
-              ated with each history entry is written  to  the  history  file.
-              The  return  value is 0 unless an invalid option is encountered,
-              an error occurs while reading or writing the  history  file,  an
-              invalid  _\bo_\bf_\bf_\bs_\be_\bt is supplied as an argument to -\b-d\bd, or the history
+              ated  with  each  history  entry is written to the history file.
+              The return value is 0 unless an invalid option  is  encountered,
+              an  error  occurs  while reading or writing the history file, an
+              invalid _\bo_\bf_\bf_\bs_\be_\bt is supplied as an argument to -\b-d\bd, or the  history
               expansion supplied as an argument to -\b-p\bp fails.
 
        j\bjo\bob\bbs\bs [-\b-l\bln\bnp\bpr\brs\bs] [ _\bj_\bo_\bb_\bs_\bp_\be_\bc ... ]
@@ -640,147 +641,147 @@ B\bBA\bAS\bSH\bH B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
               The first form lists the active jobs.  The options have the fol-
               lowing meanings:
               -\b-l\bl     List process IDs in addition to the normal information.
-              -\b-p\bp     List  only  the  process  ID  of  the job's process group
+              -\b-p\bp     List only the process  ID  of  the  job's  process  group
                      leader.
-              -\b-n\bn     Display information only about  jobs  that  have  changed
-                     status  since the user was last notified of their status.
+              -\b-n\bn     Display  information  only  about  jobs that have changed
+                     status since the user was last notified of their  status.
               -\b-r\br     Restrict output to running jobs.
               -\b-s\bs     Restrict output to stopped jobs.
 
-              If _\bj_\bo_\bb_\bs_\bp_\be_\bc is given, output is restricted to  information  about
-              that  job.   The  return status is 0 unless an invalid option is
+              If  _\bj_\bo_\bb_\bs_\bp_\be_\bc  is given, output is restricted to information about
+              that job.  The return status is 0 unless an  invalid  option  is
               encountered or an invalid _\bj_\bo_\bb_\bs_\bp_\be_\bc is supplied.
 
               If the -\b-x\bx option is supplied, j\bjo\bob\bbs\bs replaces any _\bj_\bo_\bb_\bs_\bp_\be_\bc found in
-              _\bc_\bo_\bm_\bm_\ba_\bn_\b or  _\ba_\br_\bg_\bs  with  the corresponding process group ID, and
+              _\bc_\bo_\bm_\bm_\ba_\bn_\bor _\ba_\br_\bg_\bs with the corresponding  process  group  ID,  and
               executes _\bc_\bo_\bm_\bm_\ba_\bn_\bd passing it _\ba_\br_\bg_\bs, returning its exit status.
 
        k\bki\bil\bll\bl [-\b-s\bs _\bs_\bi_\bg_\bs_\bp_\be_\bc | -\b-n\bn _\bs_\bi_\bg_\bn_\bu_\bm | -\b-_\bs_\bi_\bg_\bs_\bp_\be_\bc] [_\bp_\bi_\bd | _\bj_\bo_\bb_\bs_\bp_\be_\bc] ...
        k\bki\bil\bll\bl -\b-l\bl [_\bs_\bi_\bg_\bs_\bp_\be_\bc | _\be_\bx_\bi_\bt_\b__\bs_\bt_\ba_\bt_\bu_\bs]
-              Send the signal named by _\bs_\bi_\bg_\bs_\bp_\be_\bc  or  _\bs_\bi_\bg_\bn_\bu_\bm  to  the  processes
-              named  by  _\bp_\bi_\bd or _\bj_\bo_\bb_\bs_\bp_\be_\bc.  _\bs_\bi_\bg_\bs_\bp_\be_\bc is either a case-insensitive
-              signal name such as S\bSI\bIG\bGK\bKI\bIL\bLL\bL (with or without the S\bSI\bIG\bG prefix)  or
-              a  signal  number; _\bs_\bi_\bg_\bn_\bu_\bm is a signal number.  If _\bs_\bi_\bg_\bs_\bp_\be_\bc is not
-              present, then S\bSI\bIG\bGT\bTE\bER\bRM\bM is assumed.  An argument of -\b-l\bl  lists  the
-              signal  names.   If any arguments are supplied when -\b-l\bl is given,
-              the names of the signals  corresponding  to  the  arguments  are
+              Send  the  signal  named  by  _\bs_\bi_\bg_\bs_\bp_\be_\bc or _\bs_\bi_\bg_\bn_\bu_\bm to the processes
+              named by _\bp_\bi_\bd or _\bj_\bo_\bb_\bs_\bp_\be_\bc.  _\bs_\bi_\bg_\bs_\bp_\be_\bc is either  a  case-insensitive
+              signal  name such as S\bSI\bIG\bGK\bKI\bIL\bLL\bL (with or without the S\bSI\bIG\bG prefix) or
+              a signal number; _\bs_\bi_\bg_\bn_\bu_\bm is a signal number.  If _\bs_\bi_\bg_\bs_\bp_\be_\bc  is  not
+              present,  then  S\bSI\bIG\bGT\bTE\bER\bRM\bM is assumed.  An argument of -\b-l\bl lists the
+              signal names.  If any arguments are supplied when -\b-l\bl  is  given,
+              the  names  of  the  signals  corresponding to the arguments are
               listed, and the return status is 0.  The _\be_\bx_\bi_\bt_\b__\bs_\bt_\ba_\bt_\bu_\bs argument to
-              -\b-l\bis a number specifying either a signal  number  or  the  exit
-              status  of  a process terminated by a signal.  k\bki\bil\bll\bl returns true
-              if at least one signal was successfully sent,  or  false  if  an
+              -\b-l\b is  a  number  specifying either a signal number or the exit
+              status of a process terminated by a signal.  k\bki\bil\bll\bl  returns  true
+              if  at  least  one  signal was successfully sent, or false if an
               error occurs or an invalid option is encountered.
 
        l\ble\bet\bt _\ba_\br_\bg [_\ba_\br_\bg ...]
               Each _\ba_\br_\bg is an arithmetic expression to be evaluated (see A\bAR\bRI\bIT\bTH\bH-\b-
-              M\bME\bET\bTI\bIC\bE\bEV\bVA\bAL\bLU\bUA\bAT\bTI\bIO\bON\bN).  If the last _\ba_\br_\bg evaluates to 0, l\ble\bet\b returns
+              M\bME\bET\bTI\bIC\b E\bEV\bVA\bAL\bLU\bUA\bAT\bTI\bIO\bON\bN).  If the last _\ba_\br_\bg evaluates to 0, l\ble\bet\bt returns
               1; 0 is returned otherwise.
 
        l\blo\boc\bca\bal\bl [_\bo_\bp_\bt_\bi_\bo_\bn] [_\bn_\ba_\bm_\be[=_\bv_\ba_\bl_\bu_\be] ...]
-              For  each  argument, a local variable named _\bn_\ba_\bm_\be is created, and
-              assigned _\bv_\ba_\bl_\bu_\be.  The _\bo_\bp_\bt_\bi_\bo_\bn can be any of the  options  accepted
+              For each argument, a local variable named _\bn_\ba_\bm_\be is  created,  and
+              assigned  _\bv_\ba_\bl_\bu_\be.   The _\bo_\bp_\bt_\bi_\bo_\bn can be any of the options accepted
               by d\bde\bec\bcl\bla\bar\bre\be.  When l\blo\boc\bca\bal\bl is used within a function, it causes the
-              variable _\bn_\ba_\bm_\be to have a visible scope restricted to  that  func-
+              variable  _\bn_\ba_\bm_\be  to have a visible scope restricted to that func-
               tion and its children.  With no operands, l\blo\boc\bca\bal\bl writes a list of
-              local variables to the standard output.  It is an error  to  use
+              local  variables  to the standard output.  It is an error to use
               l\blo\boc\bca\bal\bl when not within a function.  The return status is 0 unless
-              l\blo\boc\bca\bal\bis used outside a function, an invalid _\bn_\ba_\bm_\be  is  supplied,
+              l\blo\boc\bca\bal\b is  used outside a function, an invalid _\bn_\ba_\bm_\be is supplied,
               or _\bn_\ba_\bm_\be is a readonly variable.
 
        l\blo\bog\bgo\bou\but\bt Exit a login shell.
 
        p\bpo\bop\bpd\bd [-n\bn] [+_\bn] [-_\bn]
-              Removes  entries  from  the directory stack.  With no arguments,
-              removes the top directory from the stack, and performs a  c\bcd\b to
+              Removes entries from the directory stack.   With  no  arguments,
+              removes  the  top directory from the stack, and performs a c\bcd\bd to
               the new top directory.  Arguments, if supplied, have the follow-
               ing meanings:
-              +\b+_\bn     Removes the _\bnth entry counting from the left of the  list
-                     shown  by  d\bdi\bir\brs\bs, starting with zero.  For example: ``popd
+              +\b+_\bn     Removes  the _\bnth entry counting from the left of the list
+                     shown by d\bdi\bir\brs\bs, starting with zero.  For  example:  ``popd
                      +0'' removes the first directory, ``popd +1'' the second.
               -\b-_\bn     Removes the _\bnth entry counting from the right of the list
-                     shown by d\bdi\bir\brs\bs, starting with zero.  For  example:  ``popd
-                     -0''  removes the last directory, ``popd -1'' the next to
+                     shown  by  d\bdi\bir\brs\bs, starting with zero.  For example: ``popd
+                     -0'' removes the last directory, ``popd -1'' the next  to
                      last.
-              -\b-n\bn     Suppresses the normal change of directory  when  removing
-                     directories  from  the  stack,  so that only the stack is
+              -\b-n\bn     Suppresses  the  normal change of directory when removing
+                     directories from the stack, so that  only  the  stack  is
                      manipulated.
 
-              If the p\bpo\bop\bpd\bd command is successful, a d\bdi\bir\brs\bs is performed as  well,
-              and  the  return  status is 0.  p\bpo\bop\bpd\bd returns false if an invalid
+              If  the p\bpo\bop\bpd\bd command is successful, a d\bdi\bir\brs\bs is performed as well,
+              and the return status is 0.  p\bpo\bop\bpd\bd returns false  if  an  invalid
               option is encountered, the directory stack is empty, a non-exis-
               tent directory stack entry is specified, or the directory change
               fails.
 
        p\bpr\bri\bin\bnt\btf\bf [-\b-v\bv _\bv_\ba_\br] _\bf_\bo_\br_\bm_\ba_\bt [_\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs]
-              Write the formatted _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs to the standard output  under  the
-              control  of  the _\bf_\bo_\br_\bm_\ba_\bt.  The _\bf_\bo_\br_\bm_\ba_\bt is a character string which
-              contains three types of objects:  plain  characters,  which  are
-              simply  copied  to  standard output, character escape sequences,
-              which are converted and copied to the standard output, and  for-
-              mat  specifications,  each  of which causes printing of the next
-              successive _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt.  In  addition  to  the  standard  _\bp_\br_\bi_\bn_\bt_\bf(1)
-              formats,  %\b%b\bb  causes p\bpr\bri\bin\bnt\btf\bf to expand backslash escape sequences
-              in the corresponding _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt (except that \\b\c\bc terminates output,
+              Write  the  formatted _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs to the standard output under the
+              control of the _\bf_\bo_\br_\bm_\ba_\bt.  The _\bf_\bo_\br_\bm_\ba_\bt is a character  string  which
+              contains  three  types  of  objects: plain characters, which are
+              simply copied to standard output,  character  escape  sequences,
+              which  are converted and copied to the standard output, and for-
+              mat specifications, each of which causes printing  of  the  next
+              successive _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt.  In addition to the standard _\bp_\br_\bi_\bn_\bt_\bf(1) for-
+              mats, %\b%b\bb causes p\bpr\bri\bin\bnt\btf\bf to expand backslash escape  sequences  in
+              the  corresponding  _\ba_\br_\bg_\bu_\bm_\be_\bn_\b (except that \\b\c\bc terminates output,
               backslashes in \\b\'\b', \\b\"\b", and \\b\?\b? are not removed, and octal escapes
-              beginning with \\b\0\b0 may contain up to four digits), and %\b%q\b causes
+              beginning  with \\b\0\b0 may contain up to four digits), and %\b%q\bq causes
               p\bpr\bri\bin\bnt\btf\bf to output the corresponding _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt in a format that can
               be reused as shell input.
 
-              The -\b-v\bv option causes the output to be assigned to  the  variable
+              The  -\b-v\bv  option causes the output to be assigned to the variable
               _\bv_\ba_\br rather than being printed to the standard output.
 
-              The  _\bf_\bo_\br_\bm_\ba_\bt  is  reused as necessary to consume all of the _\ba_\br_\bg_\bu_\b-
+              The _\bf_\bo_\br_\bm_\ba_\bt is reused as necessary to consume all  of  the  _\ba_\br_\bg_\bu_\b-
               _\bm_\be_\bn_\bt_\bs.  If the _\bf_\bo_\br_\bm_\ba_\bt requires more _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs than are supplied,
-              the  extra  format  specifications  behave as if a zero value or
-              null string, as appropriate,  had  been  supplied.   The  return
+              the extra format specifications behave as if  a  zero  value  or
+              null  string,  as  appropriate,  had  been supplied.  The return
               value is zero on success, non-zero on failure.
 
        p\bpu\bus\bsh\bhd\bd [-\b-n\bn] [_\bd_\bi_\br]
        p\bpu\bus\bsh\bhd\bd [-\b-n\bn] [+_\bn] [-_\bn]
-              Adds  a  directory to the top of the directory stack, or rotates
-              the stack, making the new top of the stack the  current  working
+              Adds a directory to the top of the directory stack,  or  rotates
+              the  stack,  making the new top of the stack the current working
               directory.  With no arguments, exchanges the top two directories
-              and returns 0, unless the directory stack is empty.   Arguments,
+              and  returns 0, unless the directory stack is empty.  Arguments,
               if supplied, have the following meanings:
-              +\b+_\bn     Rotates  the  stack  so  that the _\bnth directory (counting
-                     from the left of the list shown by  d\bdi\bir\brs\bs,  starting  with
+              +\b+_\bn     Rotates the stack so that  the  _\bnth  directory  (counting
+                     from  the  left  of the list shown by d\bdi\bir\brs\bs, starting with
                      zero) is at the top.
-              -\b-_\bn     Rotates  the  stack  so  that the _\bnth directory (counting
-                     from the right of the list shown by d\bdi\bir\brs\bs,  starting  with
+              -\b-_\bn     Rotates the stack so that  the  _\bnth  directory  (counting
+                     from  the  right of the list shown by d\bdi\bir\brs\bs, starting with
                      zero) is at the top.
-              -\b-n\bn     Suppresses  the  normal  change  of directory when adding
-                     directories to the stack,  so  that  only  the  stack  is
+              -\b-n\bn     Suppresses the normal change  of  directory  when  adding
+                     directories  to  the  stack,  so  that  only the stack is
                      manipulated.
               _\bd_\bi_\br    Adds _\bd_\bi_\br to the directory stack at the top, making it the
                      new current working directory.
 
               If the p\bpu\bus\bsh\bhd\bd command is successful, a d\bdi\bir\brs\bs is performed as well.
-              If  the first form is used, p\bpu\bus\bsh\bhd\bd returns 0 unless the cd to _\bd_\bi_\br
-              fails.  With the second form, p\bpu\bus\bsh\bhd\bd returns 0 unless the  direc-
-              tory  stack  is empty, a non-existent directory stack element is
-              specified, or the directory change to the specified new  current
+              If the first form is used, p\bpu\bus\bsh\bhd\bd returns 0 unless the cd to  _\bd_\bi_\br
+              fails.   With the second form, p\bpu\bus\bsh\bhd\bd returns 0 unless the direc-
+              tory stack is empty, a non-existent directory stack  element  is
+              specified,  or the directory change to the specified new current
               directory fails.
 
        p\bpw\bwd\bd [-\b-L\bLP\bP]
-              Print  the  absolute  pathname of the current working directory.
+              Print the absolute pathname of the  current  working  directory.
               The pathname printed contains no symbolic links if the -\b-P\bP option
               is supplied or the -\b-o\bo p\bph\bhy\bys\bsi\bic\bca\bal\bl option to the s\bse\bet\bt builtin command
-              is enabled.  If the -\b-L\bL option is used, the pathname printed  may
-              contain  symbolic links.  The return status is 0 unless an error
-              occurs while reading the name of the  current  directory  or  an
+              is  enabled.  If the -\b-L\bL option is used, the pathname printed may
+              contain symbolic links.  The return status is 0 unless an  error
+              occurs  while  reading  the  name of the current directory or an
               invalid option is supplied.
 
        r\bre\bea\bad\bd [-\b-e\ber\brs\bs] [-\b-u\bu _\bf_\bd] [-\b-t\bt _\bt_\bi_\bm_\be_\bo_\bu_\bt] [-\b-a\ba _\ba_\bn_\ba_\bm_\be] [-\b-p\bp _\bp_\br_\bo_\bm_\bp_\bt] [-\b-n\bn _\bn_\bc_\bh_\ba_\br_\bs] [-\b-d\bd
        _\bd_\be_\bl_\bi_\bm] [_\bn_\ba_\bm_\be ...]
-              One  line  is  read  from  the  standard input, or from the file
-              descriptor _\bf_\bd supplied as an argument to the -\b-u\bu option, and  the
+              One line is read from the  standard  input,  or  from  the  file
+              descriptor  _\bf_\bd supplied as an argument to the -\b-u\bu option, and the
               first word is assigned to the first _\bn_\ba_\bm_\be, the second word to the
-              second _\bn_\ba_\bm_\be, and so on, with leftover words and their  interven-
-              ing  separators  assigned  to the last _\bn_\ba_\bm_\be.  If there are fewer
+              second  _\bn_\ba_\bm_\be, and so on, with leftover words and their interven-
+              ing separators assigned to the last _\bn_\ba_\bm_\be.  If  there  are  fewer
               words read from the input stream than names, the remaining names
-              are  assigned  empty  values.  The characters in I\bIF\bFS\bS are used to
-              split the line into words.  The backslash character (\\b\)  may  be
-              used  to  remove any special meaning for the next character read
-              and for line continuation.  Options, if supplied, have the  fol-
+              are assigned empty values.  The characters in I\bIF\bFS\bS  are  used  to
+              split  the  line into words.  The backslash character (\\b\) may be
+              used to remove any special meaning for the next  character  read
+              and  for line continuation.  Options, if supplied, have the fol-
               lowing meanings:
               -\b-a\ba _\ba_\bn_\ba_\bm_\be
                      The words are assigned to sequential indices of the array
@@ -788,100 +789,100 @@ B\bBA\bAS\bSH\bH B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
                      new  values  are  assigned.   Other  _\bn_\ba_\bm_\be  arguments  are
                      ignored.
               -\b-d\bd _\bd_\be_\bl_\bi_\bm
-                     The first character of _\bd_\be_\bl_\bi_\bm is  used  to  terminate  the
+                     The  first  character  of  _\bd_\be_\bl_\bi_\bm is used to terminate the
                      input line, rather than newline.
               -\b-e\be     If the standard input is coming from a terminal, r\bre\bea\bad\bdl\bli\bin\bne\be
                      (see R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE above) is used to obtain the line.
               -\b-n\bn _\bn_\bc_\bh_\ba_\br_\bs
-                     r\bre\bea\bad\breturns after reading _\bn_\bc_\bh_\ba_\br_\bs characters rather  than
+                     r\bre\bea\bad\b returns after reading _\bn_\bc_\bh_\ba_\br_\bs characters rather than
                      waiting for a complete line of input.
               -\b-p\bp _\bp_\br_\bo_\bm_\bp_\bt
                      Display _\bp_\br_\bo_\bm_\bp_\bt on standard error, without a trailing new-
                      line, before attempting to read any input.  The prompt is
                      displayed only if input is coming from a terminal.
               -\b-r\br     Backslash does not act as an escape character.  The back-
-                     slash is considered to be part of the line.  In  particu-
-                     lar,  a  backslash-newline pair may not be used as a line
+                     slash  is considered to be part of the line.  In particu-
+                     lar, a backslash-newline pair may not be used as  a  line
                      continuation.
               -\b-s\bs     Silent mode.  If input is coming from a terminal, charac-
                      ters are not echoed.
               -\b-t\bt _\bt_\bi_\bm_\be_\bo_\bu_\bt
-                     Cause  r\bre\bea\bad\bd  to time out and return failure if a complete
-                     line of input is not read within _\bt_\bi_\bm_\be_\bo_\bu_\bt  seconds.   This
-                     option  has  no  effect if r\bre\bea\bad\bd is not reading input from
+                     Cause r\bre\bea\bad\bd to time out and return failure if  a  complete
+                     line  of  input is not read within _\bt_\bi_\bm_\be_\bo_\bu_\bt seconds.  This
+                     option has no effect if r\bre\bea\bad\bd is not  reading  input  from
                      the terminal or a pipe.
               -\b-u\bu _\bf_\bd  Read input from file descriptor _\bf_\bd.
 
               If no _\bn_\ba_\bm_\be_\bs are supplied, the line read is assigned to the vari-
-              able  R\bRE\bEP\bPL\bLY\bY.   The  return  code  is zero, unless end-of-file is
-              encountered, r\bre\bea\bad\bd times out, or an invalid  file  descriptor  is
+              able R\bRE\bEP\bPL\bLY\bY.  The return code  is  zero,  unless  end-of-file  is
+              encountered,  r\bre\bea\bad\bd  times  out, or an invalid file descriptor is
               supplied as the argument to -\b-u\bu.
 
        r\bre\bea\bad\bdo\bon\bnl\bly\by [-\b-a\bap\bpf\bf] [_\bn_\ba_\bm_\be[=_\bw_\bo_\br_\bd] ...]
-              The  given  _\bn_\ba_\bm_\be_\bs are marked readonly; the values of these _\bn_\ba_\bm_\be_\bs
-              may not be changed by subsequent assignment.  If the  -\b-f\b option
-              is  supplied,  the  functions  corresponding to the _\bn_\ba_\bm_\be_\bs are so
+              The given _\bn_\ba_\bm_\be_\bs are marked readonly; the values of  these  _\bn_\ba_\bm_\be_\bs
+              may  not  be changed by subsequent assignment.  If the -\b-f\bf option
+              is supplied, the functions corresponding to  the  _\bn_\ba_\bm_\be_\bs  are  so
               marked.  The -\b-a\ba option restricts the variables to arrays.  If no
-              _\bn_\ba_\bm_\b arguments  are  given,  or if the -\b-p\bp option is supplied, a
-              list of all readonly names is printed.   The  -\b-p\bp  option  causes
-              output  to be displayed in a format that may be reused as input.
-              If a variable name is followed by =_\bw_\bo_\br_\bd, the value of the  vari-
-              able  is  set to _\bw_\bo_\br_\bd.  The return status is 0 unless an invalid
-              option is encountered, one of the _\bn_\ba_\bm_\be_\bs is  not  a  valid  shell
+              _\bn_\ba_\bm_\barguments are given, or if the -\b-p\bp  option  is  supplied,  a
+              list  of  all  readonly  names is printed.  The -\b-p\bp option causes
+              output to be displayed in a format that may be reused as  input.
+              If  a variable name is followed by =_\bw_\bo_\br_\bd, the value of the vari-
+              able is set to _\bw_\bo_\br_\bd.  The return status is 0 unless  an  invalid
+              option  is  encountered,  one  of the _\bn_\ba_\bm_\be_\bs is not a valid shell
               variable name, or -\b-f\bf is supplied with a _\bn_\ba_\bm_\be that is not a func-
               tion.
 
        r\bre\bet\btu\bur\brn\bn [_\bn]
-              Causes a function to exit with the return value specified by  _\bn.
-              If  _\bn  is omitted, the return status is that of the last command
-              executed in the function body.  If used outside a function,  but
-              during  execution  of  a  script  by the .\b.  (s\bso\bou\bur\brc\bce\be) command, it
+              Causes  a function to exit with the return value specified by _\bn.
+              If _\bn is omitted, the return status is that of the  last  command
+              executed  in the function body.  If used outside a function, but
+              during execution of a script by  the  .\b.   (s\bso\bou\bur\brc\bce\be)  command,  it
               causes the shell to stop executing that script and return either
-              _\b or  the  exit  status of the last command executed within the
-              script as the exit status of the  script.   If  used  outside  a
-              function  and  not during execution of a script by .\b., the return
+              _\bor the exit status of the last  command  executed  within  the
+              script  as  the  exit  status  of the script.  If used outside a
+              function and not during execution of a script by .\b.,  the  return
               status is false.  Any command associated with the R\bRE\bET\bTU\bUR\bRN\bN trap is
-              executed  before execution resumes after the function or script.
+              executed before execution resumes after the function or  script.
 
        s\bse\bet\bt [-\b--\b-a\bab\bbe\bef\bfh\bhk\bkm\bmn\bnp\bpt\btu\buv\bvx\bxB\bBC\bCH\bHP\bP] [-\b-o\bo _\bo_\bp_\bt_\bi_\bo_\bn] [_\ba_\br_\bg ...]
-              Without options, the name and value of each shell  variable  are
+              Without  options,  the name and value of each shell variable are
               displayed in a format that can be reused as input for setting or
               resetting the currently-set variables.  Read-only variables can-
-              not  be  reset.  In _\bp_\bo_\bs_\bi_\bx _\bm_\bo_\bd_\be, only shell variables are listed.
-              The output is sorted according  to  the  current  locale.   When
-              options  are specified, they set or unset shell attributes.  Any
-              arguments remaining after the options are processed are  treated
-              as  values  for  the  positional parameters and are assigned, in
+              not be reset.  In _\bp_\bo_\bs_\bi_\bx _\bm_\bo_\bd_\be, only shell variables  are  listed.
+              The  output  is  sorted  according  to the current locale.  When
+              options are specified, they set or unset shell attributes.   Any
+              arguments  remaining after the options are processed are treated
+              as values for the positional parameters  and  are  assigned,  in
               order, to $\b$1\b1, $\b$2\b2, .\b..\b..\b.  $\b$_\bn.  Options, if specified, have the fol-
               lowing meanings:
-              -\b-a\ba      Automatically  mark  variables  and  functions which are
-                      modified or created for export  to  the  environment  of
+              -\b-a\ba      Automatically mark variables  and  functions  which  are
+                      modified  or  created  for  export to the environment of
                       subsequent commands.
-              -\b-b\bb      Report  the status of terminated background jobs immedi-
+              -\b-b\bb      Report the status of terminated background jobs  immedi-
                       ately, rather than before the next primary prompt.  This
                       is effective only when job control is enabled.
-              -\b-e\be      Exit  immediately if a _\bs_\bi_\bm_\bp_\bl_\be _\bc_\bo_\bm_\bm_\ba_\bn_\bd (see S\bSH\bHE\bEL\bLL\bL G\bGR\bRA\bAM\bMM\bMA\bAR\bR
+              -\b-e\be      Exit immediately if a _\bs_\bi_\bm_\bp_\bl_\be _\bc_\bo_\bm_\bm_\ba_\bn_\bd (see S\bSH\bHE\bEL\bLL\b G\bGR\bRA\bAM\bMM\bMA\bAR\bR
                       above) exits with a non-zero status.  The shell does not
-                      exit  if  the  command that fails is part of the command
-                      list immediately following a  w\bwh\bhi\bil\ble\be  or  u\bun\bnt\bti\bil\b keyword,
-                      part  of the test in an _\bi_\bf statement, part of a &\b&&\b& or |\b||\b|
+                      exit if the command that fails is part  of  the  command
+                      list  immediately  following  a  w\bwh\bhi\bil\ble\be or u\bun\bnt\bti\bil\bl keyword,
+                      part of the test in an _\bi_\bf statement, part of a &\b&&\b& or  |\b||\b|
                       list, or if the command's return value is being inverted
-                      via  !\b!.   A  trap on E\bER\bRR\bR, if set, is executed before the
+                      via !\b!.  A trap on E\bER\bRR\bR, if set, is  executed  before  the
                       shell exits.
               -\b-f\bf      Disable pathname expansion.
-              -\b-h\bh      Remember the location of commands as they are looked  up
+              -\b-h\bh      Remember  the location of commands as they are looked up
                       for execution.  This is enabled by default.
-              -\b-k\bk      All  arguments  in the form of assignment statements are
-                      placed in the environment for a command, not just  those
+              -\b-k\bk      All arguments in the form of assignment  statements  are
+                      placed  in the environment for a command, not just those
                       that precede the command name.
-              -\b-m\bm      Monitor  mode.   Job control is enabled.  This option is
-                      on by default for interactive  shells  on  systems  that
-                      support  it  (see  J\bJO\bOB\bB  C\bCO\bON\bNT\bTR\bRO\bOL\bL above).  Background pro-
-                      cesses run in  a  separate  process  group  and  a  line
-                      containing  their exit status is printed upon their com-
-                      pletion.
+              -\b-m\bm      Monitor mode.  Job control is enabled.  This  option  is
+                      on  by  default  for  interactive shells on systems that
+                      support it (see J\bJO\bOB\bB  C\bCO\bON\bNT\bTR\bRO\bOL\bL  above).   Background  pro-
+                      cesses  run  in a separate process group and a line con-
+                      taining their exit status is printed upon their  comple-
+                      tion.
               -\b-n\bn      Read commands but do not execute them.  This may be used
-                      to  check  a  shell  script  for syntax errors.  This is
+                      to check a shell script  for  syntax  errors.   This  is
                       ignored by interactive shells.
               -\b-o\bo _\bo_\bp_\bt_\bi_\bo_\bn_\b-_\bn_\ba_\bm_\be
                       The _\bo_\bp_\bt_\bi_\bo_\bn_\b-_\bn_\ba_\bm_\be can be one of the following:
@@ -889,7 +890,7 @@ B\bBA\bAS\bSH\bH B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
                               Same as -\b-a\ba.
                       b\bbr\bra\bac\bce\bee\bex\bxp\bpa\ban\bnd\bd
                               Same as -\b-B\bB.
-                      e\bem\bma\bac\bcs\bs   Use an emacs-style command line  editing  inter-
+                      e\bem\bma\bac\bcs\bs   Use  an  emacs-style command line editing inter-
                               face.  This is enabled by default when the shell
                               is interactive, unless the shell is started with
                               the -\b--\b-n\bno\boe\bed\bdi\bit\bti\bin\bng\bg option.
@@ -905,8 +906,8 @@ B\bBA\bAS\bSH\bH B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
                               H\bHI\bIS\bST\bTO\bOR\bRY\bY.  This option is on by default in inter-
                               active shells.
                       i\big\bgn\bno\bor\bre\bee\beo\bof\bf
-                              The   effect   is   as   if  the  shell  command
-                              ``IGNOREEOF=10'' had been  executed  (see  S\bSh\bhe\bel\bll\bl
+                              The  effect  is  as   if   the   shell   command
+                              ``IGNOREEOF=10''  had  been  executed (see S\bSh\bhe\bel\bll\bl
                               V\bVa\bar\bri\bia\bab\bbl\ble\bes\bs above).
                       k\bke\bey\byw\bwo\bor\brd\bd Same as -\b-k\bk.
                       m\bmo\bon\bni\bit\bto\bor\br Same as -\b-m\bm.
@@ -920,12 +921,12 @@ B\bBA\bAS\bSH\bH B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
                       p\bph\bhy\bys\bsi\bic\bca\bal\bl
                               Same as -\b-P\bP.
                       p\bpi\bip\bpe\bef\bfa\bai\bil\bl
-                              If  set,  the  return value of a pipeline is the
-                              value of the last (rightmost)  command  to  exit
-                              with  a non-zero status, or zero if all commands
-                              in the pipeline exit successfully.  This  option
+                              If set, the return value of a  pipeline  is  the
+                              value  of  the  last (rightmost) command to exit
+                              with a non-zero status, or zero if all  commands
+                              in  the pipeline exit successfully.  This option
                               is disabled by default.
-                      p\bpo\bos\bsi\bix\bx   Change  the  behavior  of b\bba\bas\bsh\bh where the default
+                      p\bpo\bos\bsi\bix\bx   Change the behavior of b\bba\bas\bsh\bh  where  the  default
                               operation differs from the POSIX 1003.2 standard
                               to match the standard (_\bp_\bo_\bs_\bi_\bx _\bm_\bo_\bd_\be).
                       p\bpr\bri\biv\bvi\bil\ble\beg\bge\bed\bd
@@ -934,32 +935,32 @@ B\bBA\bAS\bSH\bH B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
                       v\bvi\bi      Use a vi-style command line editing interface.
                       x\bxt\btr\bra\bac\bce\be  Same as -\b-x\bx.
                       If -\b-o\bo is supplied with no _\bo_\bp_\bt_\bi_\bo_\bn_\b-_\bn_\ba_\bm_\be, the values of the
-                      current options are printed.  If +\b+o\bo is supplied with  no
-                      _\bo_\bp_\bt_\bi_\bo_\bn_\b-_\bn_\ba_\bm_\be,  a  series  of s\bse\bet\bt commands to recreate the
-                      current option settings is  displayed  on  the  standard
+                      current  options are printed.  If +\b+o\bo is supplied with no
+                      _\bo_\bp_\bt_\bi_\bo_\bn_\b-_\bn_\ba_\bm_\be, a series of s\bse\bet\bt commands  to  recreate  the
+                      current  option  settings  is  displayed on the standard
                       output.
-              -\b-p\bp      Turn  on  _\bp_\br_\bi_\bv_\bi_\bl_\be_\bg_\be_\bd  mode.   In this mode, the $\b$E\bEN\bNV\bV and
-                      $\b$B\bBA\bAS\bSH\bH_\b_E\bEN\bNV\bfiles are not processed, shell  functions  are
-                      not  inherited  from  the environment, and the S\bSH\bHE\bEL\bLL\bLO\bOP\bPT\bTS\bS
-                      variable, if it appears in the environment, is  ignored.
-                      If  the shell is started with the effective user (group)
-                      id not equal to the real user (group)  id,  and  the  -\b-p\bp
-                      option  is not supplied, these actions are taken and the
+              -\b-p\bp      Turn on _\bp_\br_\bi_\bv_\bi_\bl_\be_\bg_\be_\bd mode.  In this  mode,  the  $\b$E\bEN\bNV\b and
+                      $\b$B\bBA\bAS\bSH\bH_\b_E\bEN\bNV\b files  are not processed, shell functions are
+                      not inherited from the environment,  and  the  S\bSH\bHE\bEL\bLL\bLO\bOP\bPT\bTS\bS
+                      variable,  if it appears in the environment, is ignored.
+                      If the shell is started with the effective user  (group)
+                      id  not  equal  to  the real user (group) id, and the -\b-p\bp
+                      option is not supplied, these actions are taken and  the
                       effective user id is set to the real user id.  If the -\b-p\bp
-                      option  is supplied at startup, the effective user id is
+                      option is supplied at startup, the effective user id  is
                       not reset.  Turning this option off causes the effective
-                      user  and group ids to be set to the real user and group
+                      user and group ids to be set to the real user and  group
                       ids.
               -\b-t\bt      Exit after reading and executing one command.
               -\b-u\bu      Treat unset variables as an error when performing param-
-                      eter  expansion.   If expansion is attempted on an unset
+                      eter expansion.  If expansion is attempted on  an  unset
                       variable, the shell prints an error message, and, if not
                       interactive, exits with a non-zero status.
               -\b-v\bv      Print shell input lines as they are read.
-              -\b-x\bx      After  expanding  each _\bs_\bi_\bm_\bp_\bl_\be _\bc_\bo_\bm_\bm_\ba_\bn_\bd, f\bfo\bor\br command, c\bca\bas\bse\be
-                      command, s\bse\bel\ble\bec\bct\b command,  or  arithmetic  f\bfo\bor\br  command,
-                      display  the expanded value of P\bPS\bS4\b4, followed by the com-
-                      mand and its expanded arguments or associated word list.
+              -\b-x\bx      After expanding each _\bs_\bi_\bm_\bp_\bl_\be _\bc_\bo_\bm_\bm_\ba_\bn_\bd, f\bfo\bor\br  command,  c\bca\bas\bse\be
+                      command, s\bse\bel\ble\bec\bct\bcommand, or arithmetic f\bfo\bor\br command, dis-
+                      play the expanded value of P\bPS\bS4\b4, followed by the  command
+                      and its expanded arguments or associated word list.
               -\b-B\bB      The  shell performs brace expansion (see B\bBr\bra\bac\bce\be E\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn
                       above).  This is on by default.
               -\b-C\bC      If set, b\bba\bas\bsh\bh does not overwrite an  existing  file  with
@@ -1054,8 +1055,8 @@ B\bBA\bAS\bSH\bH B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
                       formed.
               c\bch\bhe\bec\bck\bkw\bwi\bin\bns\bsi\biz\bze\be
                       If  set,  b\bba\bas\bsh\bh checks the window size after each command
-                      and, if necessary,  updates  the  values  of  L\bLI\bIN\bNE\bES\bS  and
-                      C\bCO\bOL\bLU\bUM\bMN\bNS\bS.
+                      and, if necessary, updates the values of L\bLI\bIN\bNE\bES\bS and  C\bCO\bOL\bL-\b-
+                      U\bUM\bMN\bNS\bS.
               c\bcm\bmd\bdh\bhi\bis\bst\bt If  set,  b\bba\bas\bsh\bh attempts to save all lines of a multiple-
                       line command in the same  history  entry.   This  allows
                       easy re-editing of multi-line commands.
@@ -1202,7 +1203,9 @@ B\bBA\bAS\bSH\bH B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
               Return a status of 0 or 1 depending on  the  evaluation  of  the
               conditional  expression _\be_\bx_\bp_\br.  Each operator and operand must be
               a separate argument.  Expressions are composed of the  primaries
-              described above under C\bCO\bON\bND\bDI\bIT\bTI\bIO\bON\bNA\bAL\bL E\bEX\bXP\bPR\bRE\bES\bSS\bSI\bIO\bON\bNS\bS.
+              described  above  under  C\bCO\bON\bND\bDI\bIT\bTI\bIO\bON\bNA\bAL\bL E\bEX\bXP\bPR\bRE\bES\bSS\bSI\bIO\bON\bNS\bS.  t\bte\bes\bst\bt does not
+              accept any options, nor does it accept and ignore an argument of
+              -\b--\b- as signifying the end of options.
 
               Expressions  may  be  combined  using  the  following operators,
               listed in decreasing order of precedence.
index c64a3db..896eaf3 100644 (file)
@@ -1,21 +1,23 @@
 %!PS-Adobe-3.0
-%%Creator: groff version 1.18.1
-%%CreationDate: Tue Mar 15 17:26:56 2005
+%%Creator: groff version 1.19.1
+%%CreationDate: Mon Oct  3 15:05:28 2005
 %%DocumentNeededResources: font Times-Roman
 %%+ font Times-Bold
 %%+ font Times-Italic
 %%+ font Symbol
 %%+ font Courier
-%%+ font Palatino-Roman
-%%+ font Palatino-Italic
-%%+ font Palatino-Bold
-%%DocumentSuppliedResources: procset grops 1.18 1
+%%DocumentSuppliedResources: procset grops 1.19 1
 %%Pages: 19
 %%PageOrder: Ascend
+%%DocumentMedia: Default 595 842 0 () ()
 %%Orientation: Portrait
 %%EndComments
+%%BeginDefaults
+%%PageMedia: Default
+%%EndDefaults
 %%BeginProlog
-%%BeginResource: procset grops 1.18 1
+%%BeginResource: procset grops 1.19 1
+%!PS-Adobe-3.0 Resource-ProcSet
 /setpacking where{
 pop
 currentpacking
@@ -116,16 +118,22 @@ TM setmatrix
 /Fr{
 setrgbcolor fill
 }bind def
+/setcmykcolor where{
+pop
 /Fk{
 setcmykcolor fill
 }bind def
+}if
 /Fg{
 setgray fill
 }bind def
 /FL/fill load def
 /LW/setlinewidth load def
 /Cr/setrgbcolor load def
+/setcmykcolor where{
+pop
 /Ck/setcmykcolor load def
+}if
 /Cg/setgray load def
 /RE{
 findfont
@@ -168,6 +176,7 @@ newpath
 /CNT countdictstack def
 userdict begin
 /showpage{}def
+/setpagedevice{}def
 }bind def
 /PEND{
 clear
@@ -180,14 +189,16 @@ pop
 setpacking
 }if
 %%EndResource
+%%EndProlog
+%%BeginSetup
+%%BeginFeature: *PageSize Default
+<< /PageSize [ 595 842 ] /ImagingBBox null >> setpagedevice
+%%EndFeature
 %%IncludeResource: font Times-Roman
 %%IncludeResource: font Times-Bold
 %%IncludeResource: font Times-Italic
 %%IncludeResource: font Symbol
 %%IncludeResource: font Courier
-%%IncludeResource: font Palatino-Roman
-%%IncludeResource: font Palatino-Italic
-%%IncludeResource: font Palatino-Bold
 grops begin/DEFS 1 dict def DEFS begin/u{.001 mul}bind def end/RES 72
 def/PL 841.89 def/LS false def/ENC0[/asciicircum/asciitilde/Scaron
 /Zcaron/scaron/zcaron/Ydieresis/trademark/quotesingle/Euro/.notdef
@@ -216,11 +227,9 @@ def/PL 841.89 def/LS false def/ENC0[/asciicircum/asciitilde/Scaron
 /egrave/eacute/ecircumflex/edieresis/igrave/iacute/icircumflex/idieresis
 /eth/ntilde/ograve/oacute/ocircumflex/otilde/odieresis/divide/oslash
 /ugrave/uacute/ucircumflex/udieresis/yacute/thorn/ydieresis]def
-/Palatino-Bold@0 ENC0/Palatino-Bold RE/Palatino-Italic@0 ENC0
-/Palatino-Italic RE/Palatino-Roman@0 ENC0/Palatino-Roman RE/Courier@0
-ENC0/Courier RE/Times-Italic@0 ENC0/Times-Italic RE/Times-Bold@0 ENC0
-/Times-Bold RE/Times-Roman@0 ENC0/Times-Roman RE
-%%EndProlog
+/Courier@0 ENC0/Courier RE/Times-Italic@0 ENC0/Times-Italic RE
+/Times-Bold@0 ENC0/Times-Bold RE/Times-Roman@0 ENC0/Times-Roman RE
+%%EndSetup
 %%Page: 1 1
 %%BeginPageSetup
 BP
 (bash)2.5 E F0(\(1\))A F1 -.329(BA)72 148.8 S(SH B).329 E(UIL)-.11 E
 (TIN COMMANDS)-1.007 E F0 .062(Unless otherwise noted, each b)108 160.8
 R .062(uiltin command documented in this section as accepting options p\
-receded by)-.2 F F2<ad>108 172.8 Q F0(accepts)2.5 E F2<adad>2.5 E F0
-(to signify the end of the options.)2.5 E F2(:)108 190.8 Q F0([)2.5 E/F3
-10/Times-Italic@0 SF(ar)A(guments)-.37 E F0(])A .452(No ef)144 202.8 R
-.452(fect; the command does nothing be)-.25 F .452(yond e)-.15 F
-(xpanding)-.15 E F3(ar)3.282 E(guments)-.37 E F0 .451(and performing an)
-3.221 F 2.951(ys)-.15 G(peci\214ed)-2.951 E 2.5(redirections. A)144
-214.8 R(zero e)2.5 E(xit code is returned.)-.15 E F2(.)110.5 231.6 Q F3
+receded by)-.2 F F2<ad>108 172.8 Q F0(accepts)3.8 E F2<adad>3.8 E F0 1.3
+(to signify the end of the options.)3.8 F -.15(Fo)6.3 G 3.8(re).15 G 1.3
+(xample, the)-3.95 F F2(:)3.8 E F0(,)A F2(true)3.8 E F0(,)A F2(false)3.8
+E F0 3.8(,a)C(nd)-3.8 E F2(test)3.8 E F0 -.2(bu)3.8 G 1.3(iltins do not)
+.2 F(accept options.)108 184.8 Q F2(:)108 202.8 Q F0([)2.5 E/F3 10
+/Times-Italic@0 SF(ar)A(guments)-.37 E F0(])A .451(No ef)144 214.8 R
+.451(fect; the command does nothing be)-.25 F .452(yond e)-.15 F
+(xpanding)-.15 E F3(ar)3.282 E(guments)-.37 E F0 .452(and performing an)
+3.222 F 2.952(ys)-.15 G(peci\214ed)-2.952 E 2.5(redirections. A)144
+226.8 R(zero e)2.5 E(xit code is returned.)-.15 E F2(.)110.5 243.6 Q F3
 (\214lename)6.666 E F0([)2.5 E F3(ar)A(guments)-.37 E F0(])A F2(sour)108
-243.6 Q(ce)-.18 E F3(\214lename)2.5 E F0([)2.5 E F3(ar)A(guments)-.37 E
-F0(])A 1.02(Read and e)144 255.6 R -.15(xe)-.15 G 1.02
+255.6 Q(ce)-.18 E F3(\214lename)2.5 E F0([)2.5 E F3(ar)A(guments)-.37 E
+F0(])A 1.02(Read and e)144 267.6 R -.15(xe)-.15 G 1.02
 (cute commands from).15 F F3(\214lename)5.43 E F0 1.02
 (in the current shell en)3.7 F 1.02(vironment and return the e)-.4 F
-(xit)-.15 E 1.68(status of the last command e)144 267.6 R -.15(xe)-.15 G
+(xit)-.15 E 1.68(status of the last command e)144 279.6 R -.15(xe)-.15 G
 1.68(cuted from).15 F F3(\214lename)4.18 E F0 6.68(.I).18 G(f)-6.68 E F3
 (\214lename)6.09 E F0 1.68(does not contain a slash, \214le)4.36 F .608
-(names in)144 279.6 R/F4 9/Times-Bold@0 SF -.666(PA)3.108 G(TH)-.189 E
+(names in)144 291.6 R/F4 9/Times-Bold@0 SF -.666(PA)3.108 G(TH)-.189 E
 F0 .608(are used to \214nd the directory containing)2.858 F F3
 (\214lename)3.108 E F0 5.608(.T).18 G .608(he \214le searched for in)
--5.608 F F4 -.666(PA)3.108 G(TH)-.189 E F0 .833(need not be e)144 291.6
-R -.15(xe)-.15 G 3.333(cutable. When).15 F F2(bash)3.333 E F0 .832
-(is not in)3.333 F F3 .832(posix mode)3.332 F F0 3.332(,t)C .832
-(he current directory is searched if no)-3.332 F .981
-(\214le is found in)144 303.6 R F4 -.666(PA)3.481 G(TH)-.189 E/F5 9
+-5.608 F F4 -.666(PA)3.108 G(TH)-.189 E F0 .832(need not be e)144 303.6
+R -.15(xe)-.15 G 3.332(cutable. When).15 F F2(bash)3.332 E F0 .832
+(is not in)3.332 F F3 .832(posix mode)3.332 F F0 3.332(,t)C .833
+(he current directory is searched if no)-3.332 F .982
+(\214le is found in)144 315.6 R F4 -.666(PA)3.481 G(TH)-.189 E/F5 9
 /Times-Roman@0 SF(.)A F0 .981(If the)5.481 F F2(sour)3.481 E(cepath)-.18
 E F0 .981(option to the)3.481 F F2(shopt)3.481 E F0 -.2(bu)3.481 G .981
-(iltin command is turned of).2 F .982(f, the)-.25 F F4 -.666(PA)144
-315.6 S(TH)-.189 E F0 .112(is not searched.)2.363 F .112(If an)5.112 F
+(iltin command is turned of).2 F .981(f, the)-.25 F F4 -.666(PA)144
+327.6 S(TH)-.189 E F0 .112(is not searched.)2.362 F .112(If an)5.112 F
 (y)-.15 E F3(ar)2.612 E(guments)-.37 E F0 .112(are supplied, the)2.612 F
 2.612(yb)-.15 G .112(ecome the positional parameters when)-2.612 F F3
-(\214lename)144 327.6 Q F0 .341(is e)2.841 F -.15(xe)-.15 G 2.841
-(cuted. Otherwise).15 F .341(the positional parameters are unchanged.)
-2.841 F .342(The return status is the)5.342 F .716
-(status of the last command e)144 339.6 R .716
+(\214lename)144 339.6 Q F0 .342(is e)2.842 F -.15(xe)-.15 G 2.842
+(cuted. Otherwise).15 F .342(the positional parameters are unchanged.)
+2.842 F .341(The return status is the)5.341 F .716
+(status of the last command e)144 351.6 R .716
 (xited within the script \(0 if no commands are e)-.15 F -.15(xe)-.15 G
-.716(cuted\), and f).15 F .715(alse if)-.1 F F3(\214lename)145.91 351.6
-Q F0(is not found or cannot be read.)2.68 E F2(alias)108 368.4 Q F0([)
+.716(cuted\), and f).15 F .716(alse if)-.1 F F3(\214lename)145.91 363.6
+Q F0(is not found or cannot be read.)2.68 E F2(alias)108 380.4 Q F0([)
 2.5 E F2<ad70>A F0 2.5(][)C F3(name)-2.5 E F0([=)A F3(value)A F0 2.5(].)
-C(..])-2.5 E F2(Alias)144 380.4 Q F0 2.724(with no ar)5.224 F 2.724
+C(..])-2.5 E F2(Alias)144 392.4 Q F0 2.725(with no ar)5.225 F 2.724
 (guments or with the)-.18 F F2<ad70>5.224 E F0 2.724
-(option prints the list of aliases in the form)5.224 F F2(alias)5.225 E
-F3(name)144 392.4 Q F0(=)A F3(value)A F0 .58(on standard output.)3.08 F
+(option prints the list of aliases in the form)5.224 F F2(alias)5.224 E
+F3(name)144 404.4 Q F0(=)A F3(value)A F0 .58(on standard output.)3.08 F
 .58(When ar)5.58 F .58
 (guments are supplied, an alias is de\214ned for each)-.18 F F3(name)
-3.08 E F0(whose)144 404.4 Q F3(value)2.895 E F0 .395(is gi)2.895 F -.15
+3.08 E F0(whose)144 416.4 Q F3(value)2.895 E F0 .395(is gi)2.895 F -.15
 (ve)-.25 G 2.895(n. A).15 F .395(trailing space in)2.895 F F3(value)
 5.395 E F0 .395(causes the ne)2.895 F .395(xt w)-.15 F .395
 (ord to be check)-.1 F .395(ed for alias sub-)-.1 F .054
-(stitution when the alias is e)144 416.4 R 2.554(xpanded. F)-.15 F .054
+(stitution when the alias is e)144 428.4 R 2.554(xpanded. F)-.15 F .054
 (or each)-.15 F F3(name)2.554 E F0 .054(in the ar)2.554 F .054
-(gument list for which no)-.18 F F3(value)2.554 E F0 .053(is sup-)2.553
-F 1.313(plied, the name and v)144 428.4 R 1.314
+(gument list for which no)-.18 F F3(value)2.554 E F0 .054(is sup-)2.554
+F 1.314(plied, the name and v)144 440.4 R 1.314
 (alue of the alias is printed.)-.25 F F2(Alias)6.314 E F0 1.314
-(returns true unless a)3.814 F F3(name)3.814 E F0 1.314(is gi)3.814 F
--.15(ve)-.25 G 3.814(nf).15 G(or)-3.814 E
-(which no alias has been de\214ned.)144 440.4 Q F2(bg)108 457.2 Q F0([)
+(returns true unless a)3.814 F F3(name)3.814 E F0 1.313(is gi)3.814 F
+-.15(ve)-.25 G 3.813(nf).15 G(or)-3.813 E
+(which no alias has been de\214ned.)144 452.4 Q F2(bg)108 469.2 Q F0([)
 2.5 E F3(jobspec)A F0(...])2.5 E .847(Resume each suspended job)144
-469.2 R F3(jobspec)3.347 E F0 .847
+481.2 R F3(jobspec)3.347 E F0 .847
 (in the background, as if it had been started with)3.347 F F2(&)3.347 E
-F0 5.847(.I)C(f)-5.847 E F3(job-)3.347 E(spec)144 481.2 Q F0 .689
-(is not present, the shell')3.188 F 3.189(sn)-.55 G .689(otion of the)
+F0 5.847(.I)C(f)-5.847 E F3(job-)3.348 E(spec)144 493.2 Q F0 .689
+(is not present, the shell')3.189 F 3.189(sn)-.55 G .689(otion of the)
 -3.189 F F3(curr)3.189 E .689(ent job)-.37 F F0 .689(is used.)3.189 F F2
-(bg)5.689 E F3(jobspec)4.929 E F0 .689(returns 0 unless run)3.499 F
-1.284(when job control is disabled or)144 493.2 R 3.784(,w)-.4 G 1.283
-(hen run with job control enabled, if the last)-3.784 F F3(jobspec)3.783
-E F0 -.1(wa)3.783 G 3.783(sn).1 G(ot)-3.783 E(found or w)144 505.2 Q
-(as started without job control.)-.1 E F2(bind)108 522 Q F0([)2.5 E F2
-<ad6d>A F3 -.1(ke)2.5 G(ymap)-.2 E F0 2.5(][)C F2(\255lpsvPSV)-2.5 E F0
-(])A F2(bind)108 534 Q F0([)2.5 E F2<ad6d>A F3 -.1(ke)2.5 G(ymap)-.2 E
-F0 2.5(][)C F2<ad71>-2.5 E F3(function)2.5 E F0 2.5(][)C F2<ad75>-2.5 E
-F3(function)2.5 E F0 2.5(][)C F2<ad72>-2.5 E F3 -.1(ke)2.5 G(yseq)-.2 E
-F0(])A F2(bind)108 546 Q F0([)2.5 E F2<ad6d>A F3 -.1(ke)2.5 G(ymap)-.2 E
-F0(])A F2<ad66>2.5 E F3(\214lename)2.5 E F2(bind)108 558 Q F0([)2.5 E F2
-<ad6d>A F3 -.1(ke)2.5 G(ymap)-.2 E F0(])A F2<ad78>2.5 E F3 -.1(ke)2.5 G
-(yseq)-.2 E F0(:)A F3(shell\255command)A F2(bind)108 570 Q F0([)2.5 E F2
-<ad6d>A F3 -.1(ke)2.5 G(ymap)-.2 E F0(])A F3 -.1(ke)2.5 G(yseq)-.2 E F0
-(:)A F3(function\255name)A F2(bind)108 582 Q F3 -.37(re)2.5 G
-(adline\255command).37 E F0 .238(Display current)144 594 R F2 -.18(re)
-2.738 G(adline).18 E F0 -.1(ke)2.738 G 2.738(ya)-.05 G .239
-(nd function bindings, bind a k)-2.738 F .539 -.15(ey s)-.1 H .239
-(equence to a).15 F F2 -.18(re)2.739 G(adline).18 E F0 .239(function or)
-2.739 F .476(macro, or set a)144 606 R F2 -.18(re)2.976 G(adline).18 E
-F0 -.25(va)2.976 G 2.976(riable. Each).25 F .476(non-option ar)2.976 F
-.475(gument is a command as it w)-.18 F .475(ould appear in)-.1 F F3
-(.inputr)144 618 Q(c)-.37 E F0 2.983(,b).31 G .484
-(ut each binding or command must be passed as a separate ar)-3.183 F
-.484(gument; e.g., '"\\C\255x\\C\255r":)-.18 F 2.5
-(re\255read\255init\255\214le'. Options,)144 630 R(if supplied, ha)2.5 E
-.3 -.15(ve t)-.2 H(he follo).15 E(wing meanings:)-.25 E F2<ad6d>144 642
-Q F3 -.1(ke)2.5 G(ymap)-.2 E F0(Use)180 654 Q F3 -.1(ke)5.159 G(ymap)-.2
-E F0 2.659(as the k)5.349 F -.15(ey)-.1 G 2.658(map to be af).15 F 2.658
-(fected by the subsequent bindings.)-.25 F(Acceptable)7.658 E F3 -.1(ke)
-180 666 S(ymap)-.2 E F0 3.192(names are)5.882 F F3 3.192
-(emacs, emacs\255standar)5.692 F 3.193
+(bg)5.689 E F3(jobspec)4.929 E F0 .688(returns 0 unless run)3.499 F .418
+(when job control is disabled or)144 505.2 R 2.919(,w)-.4 G .419
+(hen run with job control enabled, an)-2.919 F 2.919(ys)-.15 G
+(peci\214ed)-2.919 E F3(jobspec)2.919 E F0 -.1(wa)2.919 G 2.919(sn).1 G
+(ot)-2.919 E(found or w)144 517.2 Q(as started without job control.)-.1
+E F2(bind)108 534 Q F0([)2.5 E F2<ad6d>A F3 -.1(ke)2.5 G(ymap)-.2 E F0
+2.5(][)C F2(\255lpsvPSV)-2.5 E F0(])A F2(bind)108 546 Q F0([)2.5 E F2
+<ad6d>A F3 -.1(ke)2.5 G(ymap)-.2 E F0 2.5(][)C F2<ad71>-2.5 E F3
+(function)2.5 E F0 2.5(][)C F2<ad75>-2.5 E F3(function)2.5 E F0 2.5(][)C
+F2<ad72>-2.5 E F3 -.1(ke)2.5 G(yseq)-.2 E F0(])A F2(bind)108 558 Q F0([)
+2.5 E F2<ad6d>A F3 -.1(ke)2.5 G(ymap)-.2 E F0(])A F2<ad66>2.5 E F3
+(\214lename)2.5 E F2(bind)108 570 Q F0([)2.5 E F2<ad6d>A F3 -.1(ke)2.5 G
+(ymap)-.2 E F0(])A F2<ad78>2.5 E F3 -.1(ke)2.5 G(yseq)-.2 E F0(:)A F3
+(shell\255command)A F2(bind)108 582 Q F0([)2.5 E F2<ad6d>A F3 -.1(ke)2.5
+G(ymap)-.2 E F0(])A F3 -.1(ke)2.5 G(yseq)-.2 E F0(:)A F3
+(function\255name)A F2(bind)108 594 Q F3 -.37(re)2.5 G
+(adline\255command).37 E F0 .239(Display current)144 606 R F2 -.18(re)
+2.739 G(adline).18 E F0 -.1(ke)2.739 G 2.739(ya)-.05 G .239
+(nd function bindings, bind a k)-2.739 F .539 -.15(ey s)-.1 H .238
+(equence to a).15 F F2 -.18(re)2.738 G(adline).18 E F0 .238(function or)
+2.738 F .475(macro, or set a)144 618 R F2 -.18(re)2.975 G(adline).18 E
+F0 -.25(va)2.975 G 2.975(riable. Each).25 F .476(non-option ar)2.976 F
+.476(gument is a command as it w)-.18 F .476(ould appear in)-.1 F F3
+(.inputr)144 630 Q(c)-.37 E F0 2.984(,b).31 G .484
+(ut each binding or command must be passed as a separate ar)-3.184 F
+.483(gument; e.g., '"\\C\255x\\C\255r":)-.18 F 2.5
+(re\255read\255init\255\214le'. Options,)144 642 R(if supplied, ha)2.5 E
+.3 -.15(ve t)-.2 H(he follo).15 E(wing meanings:)-.25 E F2<ad6d>144 654
+Q F3 -.1(ke)2.5 G(ymap)-.2 E F0(Use)180 666 Q F3 -.1(ke)5.158 G(ymap)-.2
+E F0 2.658(as the k)5.348 F -.15(ey)-.1 G 2.658(map to be af).15 F 2.659
+(fected by the subsequent bindings.)-.25 F(Acceptable)7.659 E F3 -.1(ke)
+180 678 S(ymap)-.2 E F0 3.193(names are)5.883 F F3 3.193
+(emacs, emacs\255standar)5.693 F 3.192
 (d, emacs\255meta, emacs\255ctlx, vi, vi\255mo)-.37 F(ve)-.1 E(,)-.1 E
-(vi\255command)180 678 Q F0 4.43(,a)C(nd)-4.43 E F3(vi\255insert)4.429 E
-F0(.).68 E F3(vi)6.929 E F0 1.929(is equi)4.429 F -.25(va)-.25 G 1.929
+(vi\255command)180 690 Q F0 4.429(,a)C(nd)-4.429 E F3(vi\255insert)4.429
+F0(.).68 E F3(vi)6.929 E F0 1.929(is equi)4.429 F -.25(va)-.25 G 1.929
 (lent to).25 F F3(vi\255command)4.429 E F0(;)A F3(emacs)4.429 E F0 1.929
-(is equi)4.429 F -.25(va)-.25 G 1.929(lent to).25 F F3(emacs\255standar)
-180 690 Q(d)-.37 E F0(.)A F2<ad6c>144 702 Q F0(List the names of all)
-27.52 E F2 -.18(re)2.5 G(adline).18 E F0(functions.)2.5 E F2<ad70>144
-714 Q F0(Display)24.74 E F2 -.18(re)2.5 G(adline).18 E F0
-(function names and bindings in such a w)2.5 E(ay that the)-.1 E 2.5(yc)
--.15 G(an be re-read.)-2.5 E(GNU Bash-3.0)72 768 Q(2004 Apr 20)148.735 E
-(1)203.725 E 0 Cg EP
+(is equi)4.429 F -.25(va)-.25 G 1.93(lent to).25 F F3(emacs\255standar)
+180 702 Q(d)-.37 E F0(.)A F2<ad6c>144 714 Q F0(List the names of all)
+27.52 E F2 -.18(re)2.5 G(adline).18 E F0(functions.)2.5 E(GNU Bash-3.0)
+72 768 Q(2004 Apr 20)148.735 E(1)203.725 E 0 Cg EP
 %%Page: 2 2
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 290.48
 (TINS\(1\) B)-.92 F(ASH_B)-.35 E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10
-/Times-Bold@0 SF<ad50>144 84 Q F0(List current)24.19 E F1 -.18(re)2.5 G
-(adline).18 E F0(function names and bindings.)2.5 E F1<ad76>144 96 Q F0
-(Display)25.3 E F1 -.18(re)2.5 G(adline).18 E F0 -.25(va)2.5 G
-(riable names and v).25 E(alues in such a w)-.25 E(ay that the)-.1 E 2.5
-(yc)-.15 G(an be re-read.)-2.5 E F1<ad56>144 108 Q F0(List current)23.08
-E F1 -.18(re)2.5 G(adline).18 E F0 -.25(va)2.5 G(riable names and v).25
-E(alues.)-.25 E F1<ad73>144 120 Q F0(Display)26.41 E F1 -.18(re)3.655 G
-(adline).18 E F0 -.1(ke)3.655 G 3.655(ys)-.05 G 1.155
+/Times-Bold@0 SF<ad70>144 84 Q F0(Display)24.74 E F1 -.18(re)2.5 G
+(adline).18 E F0(function names and bindings in such a w)2.5 E
+(ay that the)-.1 E 2.5(yc)-.15 G(an be re-read.)-2.5 E F1<ad50>144 96 Q
+F0(List current)24.19 E F1 -.18(re)2.5 G(adline).18 E F0
+(function names and bindings.)2.5 E F1<ad76>144 108 Q F0(Display)25.3 E
+F1 -.18(re)2.5 G(adline).18 E F0 -.25(va)2.5 G(riable names and v).25 E
+(alues in such a w)-.25 E(ay that the)-.1 E 2.5(yc)-.15 G
+(an be re-read.)-2.5 E F1<ad56>144 120 Q F0(List current)23.08 E F1 -.18
+(re)2.5 G(adline).18 E F0 -.25(va)2.5 G(riable names and v).25 E(alues.)
+-.25 E F1<ad73>144 132 Q F0(Display)26.41 E F1 -.18(re)3.655 G(adline)
+.18 E F0 -.1(ke)3.655 G 3.655(ys)-.05 G 1.155
 (equences bound to macros and the strings the)-3.655 F 3.655(yo)-.15 G
-1.155(utput in such a)-3.655 F -.1(wa)180 132 S 2.5(yt).1 G(hat the)-2.5
-E 2.5(yc)-.15 G(an be re-read.)-2.5 E F1<ad53>144 144 Q F0(Display)24.74
+1.155(utput in such a)-3.655 F -.1(wa)180 144 S 2.5(yt).1 G(hat the)-2.5
+E 2.5(yc)-.15 G(an be re-read.)-2.5 E F1<ad53>144 156 Q F0(Display)24.74
 E F1 -.18(re)2.5 G(adline).18 E F0 -.1(ke)2.5 G 2.5(ys)-.05 G
 (equences bound to macros and the strings the)-2.5 E 2.5(yo)-.15 G
-(utput.)-2.5 E F1<ad66>144 156 Q/F2 10/Times-Italic@0 SF(\214lename)2.5
-E F0(Read k)180 168 Q .3 -.15(ey b)-.1 H(indings from).15 E F2
-(\214lename)2.5 E F0(.)A F1<ad71>144 180 Q F2(function)2.5 E F0
-(Query about which k)180 192 Q -.15(ey)-.1 G 2.5(si).15 G -1.9 -.4(nv o)
+(utput.)-2.5 E F1<ad66>144 168 Q/F2 10/Times-Italic@0 SF(\214lename)2.5
+E F0(Read k)180 180 Q .3 -.15(ey b)-.1 H(indings from).15 E F2
+(\214lename)2.5 E F0(.)A F1<ad71>144 192 Q F2(function)2.5 E F0
+(Query about which k)180 204 Q -.15(ey)-.1 G 2.5(si).15 G -1.9 -.4(nv o)
 -2.5 H .2 -.1(ke t).4 H(he named).1 E F2(function)2.5 E F0(.)A F1<ad75>
-144 204 Q F2(function)2.5 E F0(Unbind all k)180 216 Q -.15(ey)-.1 G 2.5
+144 216 Q F2(function)2.5 E F0(Unbind all k)180 228 Q -.15(ey)-.1 G 2.5
 (sb).15 G(ound to the named)-2.5 E F2(function)2.5 E F0(.)A F1<ad72>144
-228 Q F2 -.1(ke)2.5 G(yseq)-.2 E F0(Remo)180 240 Q .3 -.15(ve a)-.15 H
+240 Q F2 -.1(ke)2.5 G(yseq)-.2 E F0(Remo)180 252 Q .3 -.15(ve a)-.15 H
 .3 -.15(ny c).15 H(urrent binding for).15 E F2 -.1(ke)2.5 G(yseq)-.2 E
-F0(.)A F1<ad78>144 252 Q F2 -.1(ke)2.5 G(yseq)-.2 E F1(:)A F2
-(shell\255command)A F0(Cause)180 264 Q F2(shell\255command)2.5 E F0
+F0(.)A F1<ad78>144 264 Q F2 -.1(ke)2.5 G(yseq)-.2 E F1(:)A F2
+(shell\255command)A F0(Cause)180 276 Q F2(shell\255command)2.5 E F0
 (to be e)2.5 E -.15(xe)-.15 G(cuted whene).15 E -.15(ve)-.25 G(r).15 E
-F2 -.1(ke)2.5 G(yseq)-.2 E F0(is entered.)2.5 E(The return v)144 280.8 Q
+F2 -.1(ke)2.5 G(yseq)-.2 E F0(is entered.)2.5 E(The return v)144 292.8 Q
 (alue is 0 unless an unrecognized option is gi)-.25 E -.15(ve)-.25 G 2.5
 (no).15 G 2.5(ra)-2.5 G 2.5(ne)-2.5 G(rror occurred.)-2.5 E F1(br)108
-297.6 Q(eak)-.18 E F0([)2.5 E F2(n)A F0(])A .055(Exit from within a)144
-309.6 R F1 -.25(fo)2.555 G(r).25 E F0(,)A F1(while)2.555 E F0(,)A F1
+309.6 Q(eak)-.18 E F0([)2.5 E F2(n)A F0(])A .054(Exit from within a)144
+321.6 R F1 -.25(fo)2.554 G(r).25 E F0(,)A F1(while)2.554 E F0(,)A F1
 (until)2.555 E F0 2.555(,o)C(r)-2.555 E F1(select)2.555 E F0 2.555
 (loop. If)2.555 F F2(n)2.555 E F0 .055(is speci\214ed, break)2.555 F F2
-(n)2.555 E F0(le)2.555 E -.15(ve)-.25 G(ls.).15 E F2(n)5.414 E F0 .054
-(must be)2.794 F/F3 10/Symbol SF<b3>2.554 E F0(1.)2.554 E(If)144 321.6 Q
-F2(n)3.074 E F0 .215(is greater than the number of enclosing loops, all\
- enclosing loops are e)2.954 F 2.715(xited. The)-.15 F .215(return v)
-2.715 F(alue)-.25 E(is 0 unless the shell is not e)144 333.6 Q -.15(xe)
+(n)2.555 E F0(le)2.555 E -.15(ve)-.25 G(ls.).15 E F2(n)5.415 E F0 .055
+(must be)2.795 F/F3 10/Symbol SF<b3>2.555 E F0(1.)2.555 E(If)144 333.6 Q
+F2(n)3.075 E F0 .215(is greater than the number of enclosing loops, all\
+ enclosing loops are e)2.955 F 2.714(xited. The)-.15 F .214(return v)
+2.714 F(alue)-.25 E(is 0 unless the shell is not e)144 345.6 Q -.15(xe)
 -.15 G(cuting a loop when).15 E F1(br)2.5 E(eak)-.18 E F0(is e)2.5 E
--.15(xe)-.15 G(cuted.).15 E F1 -.2(bu)108 350.4 S(iltin).2 E F2
+-.15(xe)-.15 G(cuted.).15 E F1 -.2(bu)108 362.4 S(iltin).2 E F2
 (shell\255b)2.5 E(uiltin)-.2 E F0([)2.5 E F2(ar)A(guments)-.37 E F0(])A
-(Ex)144 362.4 Q .793(ecute the speci\214ed shell b)-.15 F .793
+(Ex)144 374.4 Q .792(ecute the speci\214ed shell b)-.15 F .792
 (uiltin, passing it)-.2 F F2(ar)3.293 E(guments)-.37 E F0 3.293(,a).27 G
-.793(nd return its e)-3.293 F .792(xit status.)-.15 F .792
-(This is useful)5.792 F .615
+.793(nd return its e)-3.293 F .793(xit status.)-.15 F .793
+(This is useful)5.793 F .616
 (when de\214ning a function whose name is the same as a shell b)144
-374.4 R .616(uiltin, retaining the functionality of)-.2 F .57(the b)144
-386.4 R .57(uiltin within the function.)-.2 F(The)5.57 E F1(cd)3.07 E F0
+386.4 R .615(uiltin, retaining the functionality of)-.2 F .57(the b)144
+398.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(is f)144 398.4 Q(alse if)-.1
+5.57(.T)-.65 G .57(he return status)-5.57 F(is f)144 410.4 Q(alse if)-.1
 E F2(shell\255b)2.84 E(uiltin)-.2 E F0(is not a shell b)2.74 E
-(uiltin command.)-.2 E F1(cd)108 415.2 Q F0([)2.5 E F1(\255L|-P)A F0 2.5
-(][)C F2(dir)-2.5 E F0(])A .21(Change the current directory to)144 427.2
+(uiltin command.)-.2 E F1(cd)108 427.2 Q F0([)2.5 E F1(\255L|-P)A F0 2.5
+(][)C F2(dir)-2.5 E F0(])A .21(Change the current directory to)144 439.2
 R F2(dir)2.71 E F0 5.21(.T)C .21(he v)-5.21 F(ariable)-.25 E/F4 9
 /Times-Bold@0 SF(HOME)2.71 E F0 .21(is the def)2.46 F(ault)-.1 E F2(dir)
 2.71 E F0 5.21(.T).73 G .21(he v)-5.21 F(ariable)-.25 E F4(CDP)2.71 E
--.855(AT)-.666 G(H).855 E F0 .777
-(de\214nes the search path for the directory containing)144 439.2 R F2
-(dir)3.276 E F0 5.776(.A).73 G(lternati)-5.776 E 1.076 -.15(ve d)-.25 H
-.776(irectory names in).15 F F4(CDP)3.276 E -.855(AT)-.666 G(H).855 E F0
-.764(are separated by a colon \(:\).)144 451.2 R 3.264(An)5.764 G .764
+-.855(AT)-.666 G(H).855 E F0 .776
+(de\214nes the search path for the directory containing)144 451.2 R F2
+(dir)3.276 E F0 5.777(.A).73 G(lternati)-5.777 E 1.077 -.15(ve d)-.25 H
+.777(irectory names in).15 F F4(CDP)3.277 E -.855(AT)-.666 G(H).855 E F0
+.764(are separated by a colon \(:\).)144 463.2 R 3.264(An)5.764 G .764
 (ull directory name in)-3.264 F F4(CDP)3.264 E -.855(AT)-.666 G(H).855 E
-F0 .764(is the same as the current direc-)3.014 F(tory)144 463.2 Q 2.974
-(,i)-.65 G .474(.e., `)-2.974 F(`)-.74 E F1(.)A F0 -.74('')C 5.474(.I)
-.74 G(f)-5.474 E F2(dir)3.324 E F0(be)3.704 E .474
+F0 .764(is the same as the current direc-)3.014 F(tory)144 475.2 Q 2.973
+(,i)-.65 G .473(.e., `)-2.973 F(`)-.74 E F1(.)A F0 -.74('')C 5.473(.I)
+.74 G(f)-5.473 E F2(dir)3.323 E F0(be)3.703 E .474
 (gins with a slash \(/\), then)-.15 F F4(CDP)2.974 E -.855(AT)-.666 G(H)
-.855 E F0 .473(is not used. The)2.724 F F1<ad50>2.973 E F0 .473
-(option says to use)2.973 F .579(the ph)144 475.2 R .579
+.855 E F0 .474(is not used. The)2.724 F F1<ad50>2.974 E F0 .474
+(option says to use)2.974 F .58(the ph)144 487.2 R .58
 (ysical directory structure instead of follo)-.05 F .579
-(wing symbolic links \(see also the)-.25 F F1<ad50>3.08 E F0 .58
-(option to the)3.08 F F1(set)144 487.2 Q F0 -.2(bu)3.384 G .884
-(iltin command\); the).2 F F1<ad4c>3.384 E F0 .884
+(wing symbolic links \(see also the)-.25 F F1<ad50>3.079 E F0 .579
+(option to the)3.079 F F1(set)144 499.2 Q F0 -.2(bu)3.383 G .883
+(iltin command\); the).2 F F1<ad4c>3.383 E F0 .884
 (option forces symbolic links to be follo)3.384 F 3.384(wed. An)-.25 F
-(ar)3.383 E .883(gument of)-.18 F F1<ad>3.383 E F0(is)3.383 E(equi)144
-499.2 Q -.25(va)-.25 G .062(lent to).25 F F4($OLDPWD)2.562 E/F5 9
-/Times-Roman@0 SF(.)A F0 .062(If a non-empty directory name from)4.562 F
-F1(CDP)2.562 E -.95(AT)-.74 G(H).95 E F0 .063(is used, or if)2.562 F F1
-<ad>2.563 E F0 .063(is the \214rst)2.563 F(ar)144 511.2 Q .116(gument, \
+(ar)3.384 E .884(gument of)-.18 F F1<ad>3.384 E F0(is)3.384 E(equi)144
+511.2 Q -.25(va)-.25 G .063(lent to).25 F F4($OLDPWD)2.563 E/F5 9
+/Times-Roman@0 SF(.)A F0 .063(If a non-empty directory name from)4.563 F
+F1(CDP)2.562 E -.95(AT)-.74 G(H).95 E F0 .062(is used, or if)2.562 F F1
+<ad>2.562 E F0 .062(is the \214rst)2.562 F(ar)144 523.2 Q .116(gument, \
 and the directory change is successful, the absolute pathname of the ne)
--.18 F 2.615(ww)-.25 G .115(orking direc-)-2.715 F 1.164
-(tory is written to the standard output.)144 523.2 R 1.164(The return v)
-6.164 F 1.165(alue is true if the directory w)-.25 F 1.165
-(as successfully)-.1 F(changed; f)144 535.2 Q(alse otherwise.)-.1 E F1
-(caller)108 552 Q F0([)2.5 E F2 -.2(ex)C(pr).2 E F0(])A .254
-(Returns the conte)144 564 R .254(xt of an)-.15 F 2.754(ya)-.15 G(cti)
+-.18 F 2.616(ww)-.25 G .116(orking direc-)-2.716 F 1.165
+(tory is written to the standard output.)144 535.2 R 1.164(The return v)
+6.164 F 1.164(alue is true if the directory w)-.25 F 1.164
+(as successfully)-.1 F(changed; f)144 547.2 Q(alse otherwise.)-.1 E F1
+(caller)108 564 Q F0([)2.5 E F2 -.2(ex)C(pr).2 E F0(])A .253
+(Returns the conte)144 576 R .254(xt of an)-.15 F 2.754(ya)-.15 G(cti)
 -2.754 E .554 -.15(ve s)-.25 H .254
 (ubroutine call \(a shell function or a script e).15 F -.15(xe)-.15 G
-.254(cuted with the).15 F F1(.)2.753 E F0(or)2.753 E F1(sour)144 576 Q
-(ce)-.18 E F0 -.2(bu)3.062 G 3.062(iltins. W).2 F(ithout)-.4 E F2 -.2
+.254(cuted with the).15 F F1(.)2.754 E F0(or)2.754 E F1(sour)144 588 Q
+(ce)-.18 E F0 -.2(bu)3.063 G 3.063(iltins. W).2 F(ithout)-.4 E F2 -.2
 (ex)3.062 G(pr).2 E F0(,)A F1(caller)3.062 E F0 .562
 (displays the line number and source \214lename of the current)3.062 F
-.254(subroutine call.)144 588 R .254(If a non-ne)5.254 F -.05(ga)-.15 G
-(ti).05 E .554 -.15(ve i)-.25 H(nte).15 E .253(ger is supplied as)-.15 F
-F2 -.2(ex)2.753 G(pr).2 E F0(,)A F1(caller)2.753 E F0 .253
-(displays the line number)2.753 F 2.753(,s)-.4 G(ub-)-2.753 E 1.327(rou\
+.253(subroutine call.)144 600 R .253(If a non-ne)5.253 F -.05(ga)-.15 G
+(ti).05 E .553 -.15(ve i)-.25 H(nte).15 E .253(ger is supplied as)-.15 F
+F2 -.2(ex)2.753 G(pr).2 E F0(,)A F1(caller)2.753 E F0 .254
+(displays the line number)2.754 F 2.754(,s)-.4 G(ub-)-2.754 E 1.327(rou\
 tine name, and source \214le corresponding to that position in the curr\
-ent e)144 600 R -.15(xe)-.15 G 1.328(cution call stack.).15 F .001
-(This e)144 612 R .001(xtra information may be used, for e)-.15 F .001
-(xample, to print a stack trace.)-.15 F(The current frame is frame)5 E
-3.019(0. The)144 624 R .519(return v)3.019 F .519
-(alue is 0 unless the shell is not e)-.25 F -.15(xe)-.15 G .52
-(cuting a subroutine call or).15 F F2 -.2(ex)3.02 G(pr).2 E F0 .52
-(does not corre-)3.02 F(spond to a v)144 636 Q
-(alid position in the call stack.)-.25 E F1(command)108 652.8 Q F0([)2.5
+ent e)144 612 R -.15(xe)-.15 G 1.327(cution call stack.).15 F(This e)144
+624 Q(xtra information may be used, for e)-.15 E .001
+(xample, to print a stack trace.)-.15 F .001(The current frame is frame)
+5.001 F 3.02(0. The)144 636 R .52(return v)3.02 F .52
+(alue is 0 unless the shell is not e)-.25 F -.15(xe)-.15 G .519
+(cuting a subroutine call or).15 F F2 -.2(ex)3.019 G(pr).2 E F0 .519
+(does not corre-)3.019 F(spond to a v)144 648 Q
+(alid position in the call stack.)-.25 E F1(command)108 664.8 Q F0([)2.5
 E F1(\255pVv)A F0(])A F2(command)2.5 E F0([)2.5 E F2(ar)A(g)-.37 E F0
-(...])2.5 E(Run)144 664.8 Q F2(command)2.957 E F0(with)3.527 E F2(ar)
+(...])2.5 E(Run)144 676.8 Q F2(command)2.956 E F0(with)3.527 E F2(ar)
 3.087 E(gs)-.37 E F0 .257
 (suppressing the normal shell function lookup. Only b)3.027 F .257
-(uiltin commands or)-.2 F .501(commands found in the)144 676.8 R F4
--.666(PA)3.001 G(TH)-.189 E F0 .502(are e)2.751 F -.15(xe)-.15 G 3.002
+(uiltin commands or)-.2 F .502(commands found in the)144 688.8 R F4
+-.666(PA)3.002 G(TH)-.189 E F0 .502(are e)2.752 F -.15(xe)-.15 G 3.002
 (cuted. If).15 F(the)3.002 E F1<ad70>3.002 E F0 .502(option is gi)3.002
-F -.15(ve)-.25 G .502(n, the search for).15 F F2(command)3.202 E F0(is)
-3.772 E .232(performed using a def)144 688.8 R .231(ault v)-.1 F .231
+F -.15(ve)-.25 G .501(n, the search for).15 F F2(command)3.201 E F0(is)
+3.771 E .231(performed using a def)144 700.8 R .231(ault v)-.1 F .231
 (alue for)-.25 F F1 -.74(PA)2.731 G(TH)-.21 E F0 .231
 (that is guaranteed to \214nd all of the standard utilities.)2.731 F(If)
-5.231 E .174(either the)144 700.8 R F1<ad56>2.674 E F0(or)2.674 E F1
-<ad76>2.674 E F0 .175(option is supplied, a description of)2.674 F F2
-(command)2.875 E F0 .175(is printed.)3.445 F(The)5.175 E F1<ad76>2.675 E
-F0 .175(option causes)2.675 F 3.11(as)144 712.8 S .61(ingle w)-3.11 F
+5.232 E .175(either the)144 712.8 R F1<ad56>2.675 E F0(or)2.675 E F1
+<ad76>2.675 E F0 .175(option is supplied, a description of)2.675 F F2
+(command)2.875 E F0 .174(is printed.)3.445 F(The)5.174 E F1<ad76>2.674 E
+F0 .174(option causes)2.674 F 3.11(as)144 724.8 S .61(ingle w)-3.11 F
 .61(ord indicating the command or \214le name used to in)-.1 F -.2(vo)
 -.4 G -.1(ke).2 G F2(command)3.41 E F0 .61(to be displayed; the)3.88 F
-F1<ad56>144 724.8 Q F0 .249(option produces a more v)2.749 F .249
-(erbose description.)-.15 F .249(If the)5.249 F F1<ad56>2.749 E F0(or)
-2.749 E F1<ad76>2.75 E F0 .25(option is supplied, the e)2.75 F .25
-(xit status)-.15 F(GNU Bash-3.0)72 768 Q(2004 Apr 20)148.735 E(2)203.725
-E 0 Cg EP
+(GNU Bash-3.0)72 768 Q(2004 Apr 20)148.735 E(2)203.725 E 0 Cg EP
 %%Page: 3 3
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 290.48
-(TINS\(1\) B)-.92 F(ASH_B)-.35 E(UIL)-.1 E(TINS\(1\))-.92 E 1.005
-(is 0 if)144 84 R/F1 10/Times-Italic@0 SF(command)3.705 E F0 -.1(wa)
-4.275 G 3.505(sf).1 G 1.005(ound, and 1 if not.)-3.505 F 1.004
-(If neither option is supplied and an error occurred or)6.005 F F1
-(command)144.2 96 Q F0 1.598(cannot be found, the e)4.868 F 1.599
-(xit status is 127.)-.15 F 1.599(Otherwise, the e)6.599 F 1.599
-(xit status of the)-.15 F/F2 10/Times-Bold@0 SF(command)4.099 E F0 -.2
-(bu)144 108 S(iltin is the e).2 E(xit status of)-.15 E F1(command)2.5 E
-F0(.).77 E F2(compgen)108 124.8 Q F0([)2.5 E F1(option)A F0 2.5(][)C F1
-(wor)-2.5 E(d)-.37 E F0(])A .013
-(Generate possible completion matches for)144 136.8 R F1(wor)2.513 E(d)
--.37 E F0 .013(according to the)2.513 F F1(option)2.513 E F0 .013
-(s, which may be an)B 2.512(yo)-.15 G(ption)-2.512 E .981
-(accepted by the)144 148.8 R F2(complete)3.481 E F0 -.2(bu)3.481 G .981
-(iltin with the e).2 F .981(xception of)-.15 F F2<ad70>3.481 E F0(and)
-3.481 E F2<ad72>3.481 E F0 3.481(,a)C .982(nd write the matches to the)
--3.481 F 1.415(standard output.)144 160.8 R 1.415(When using the)6.415 F
-F2<ad46>3.915 E F0(or)3.915 E F2<ad43>3.915 E F0 1.415(options, the v)
+(TINS\(1\) B)-.92 F(ASH_B)-.35 E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10
+/Times-Bold@0 SF<ad56>144 84 Q F0 .25(option produces a more v)2.75 F
+.25(erbose description.)-.15 F .249(If the)5.25 F F1<ad56>2.749 E F0(or)
+2.749 E F1<ad76>2.749 E F0 .249(option is supplied, the e)2.749 F .249
+(xit status)-.15 F 1.004(is 0 if)144 96 R/F2 10/Times-Italic@0 SF
+(command)3.704 E F0 -.1(wa)4.274 G 3.504(sf).1 G 1.005
+(ound, and 1 if not.)-3.504 F 1.005
+(If neither option is supplied and an error occurred or)6.005 F F2
+(command)144.2 108 Q F0 1.599(cannot be found, the e)4.869 F 1.599
+(xit status is 127.)-.15 F 1.599(Otherwise, the e)6.599 F 1.598
+(xit status of the)-.15 F F1(command)4.098 E F0 -.2(bu)144 120 S
+(iltin is the e).2 E(xit status of)-.15 E F2(command)2.5 E F0(.).77 E F1
+(compgen)108 136.8 Q F0([)2.5 E F2(option)A F0 2.5(][)C F2(wor)-2.5 E(d)
+-.37 E F0(])A .012(Generate possible completion matches for)144 148.8 R
+F2(wor)2.513 E(d)-.37 E F0 .013(according to the)2.513 F F2(option)2.513
+E F0 .013(s, which may be an)B 2.513(yo)-.15 G(ption)-2.513 E .982
+(accepted by the)144 160.8 R F1(complete)3.482 E F0 -.2(bu)3.481 G .981
+(iltin with the e).2 F .981(xception of)-.15 F F1<ad70>3.481 E F0(and)
+3.481 E F1<ad72>3.481 E F0 3.481(,a)C .981(nd write the matches to the)
+-3.481 F 1.415(standard output.)144 172.8 R 1.415(When using the)6.415 F
+F1<ad46>3.915 E F0(or)3.915 E F1<ad43>3.915 E F0 1.415(options, the v)
 3.915 F 1.415(arious shell v)-.25 F 1.415(ariables set by the pro-)-.25
-F(grammable completion f)144 172.8 Q(acilities, while a)-.1 E -.25(va)
+F(grammable completion f)144 184.8 Q(acilities, while a)-.1 E -.25(va)
 -.2 G(ilable, will not ha).25 E .3 -.15(ve u)-.2 H(seful v).15 E(alues.)
--.25 E .352(The matches will be generated in the same w)144 196.8 R .352
+-.25 E .352(The matches will be generated in the same w)144 208.8 R .352
 (ay as if the programmable completion code had gen-)-.1 F .02(erated th\
 em directly from a completion speci\214cation with the same \215ags.)144
-208.8 R(If)5.02 E F1(wor)2.52 E(d)-.37 E F0 .02(is speci\214ed, only)
-2.52 F(those completions matching)144 220.8 Q F1(wor)2.5 E(d)-.37 E F0
-(will be displayed.)2.5 E(The return v)144 244.8 Q
+220.8 R(If)5.02 E F2(wor)2.52 E(d)-.37 E F0 .02(is speci\214ed, only)
+2.52 F(those completions matching)144 232.8 Q F2(wor)2.5 E(d)-.37 E F0
+(will be displayed.)2.5 E(The return v)144 256.8 Q
 (alue is true unless an in)-.25 E -.25(va)-.4 G
-(lid option is supplied, or no matches were generated.).25 E F2
-(complete)108 261.6 Q F0([)2.786 E F2(\255abcdefgjksuv)A F0 2.786(][)C
-F2<ad6f>-2.786 E F1(comp-option)2.786 E F0 2.786(][)C F2<ad41>-2.786 E
-F1(action)2.786 E F0 2.786(][)C F2<ad47>-2.786 E F1(globpat)2.786 E F0
-2.786(][)C F2<ad57>-2.786 E F1(wor)2.786 E(dlist)-.37 E F0 2.786(][)C F2
-<ad50>-2.786 E F1(pr)2.786 E(e\214x)-.37 E F0 2.787(][)C F2<ad53>-2.787
-E F1(suf-)2.787 E<8c78>108 273.6 Q F0(])A([)144 285.6 Q F2<ad58>A F1
-(\214lterpat)2.5 E F0 2.5(][)C F2<ad46>-2.5 E F1(function)2.5 E F0 2.5
-(][)C F2<ad43>-2.5 E F1(command)2.5 E F0(])A F1(name)2.5 E F0([)2.5 E F1
-(name ...)A F0(])A F2(complete \255pr)108 297.6 Q F0([)2.5 E F1(name)A
-F0(...])2.5 E .633(Specify ho)144 309.6 R 3.133(wa)-.25 G -.18(rg)-3.133
-G .633(uments to each).18 F F1(name)3.133 E F0 .633
-(should be completed.)3.133 F .634(If the)5.634 F F2<ad70>3.134 E F0
-.634(option is supplied, or if no)3.134 F .14(options are supplied, e)
-144 321.6 R .139(xisting completion speci\214cations are printed in a w)
--.15 F .139(ay that allo)-.1 F .139(ws them to be)-.25 F .31
-(reused as input.)144 333.6 R(The)5.31 E F2<ad72>2.81 E F0 .31
+(lid option is supplied, or no matches were generated.).25 E F1
+(complete)108 273.6 Q F0([)2.787 E F1(\255abcdefgjksuv)A F0 2.787(][)C
+F1<ad6f>-2.787 E F2(comp-option)2.786 E F0 2.786(][)C F1<ad41>-2.786 E
+F2(action)2.786 E F0 2.786(][)C F1<ad47>-2.786 E F2(globpat)2.786 E F0
+2.786(][)C F1<ad57>-2.786 E F2(wor)2.786 E(dlist)-.37 E F0 2.786(][)C F1
+<ad50>-2.786 E F2(pr)2.786 E(e\214x)-.37 E F0 2.786(][)C F1<ad53>-2.786
+E F2(suf-)2.786 E<8c78>108 285.6 Q F0(])A([)144 297.6 Q F1<ad58>A F2
+(\214lterpat)2.5 E F0 2.5(][)C F1<ad46>-2.5 E F2(function)2.5 E F0 2.5
+(][)C F1<ad43>-2.5 E F2(command)2.5 E F0(])A F2(name)2.5 E F0([)2.5 E F2
+(name ...)A F0(])A F1(complete \255pr)108 309.6 Q F0([)2.5 E F2(name)A
+F0(...])2.5 E .634(Specify ho)144 321.6 R 3.134(wa)-.25 G -.18(rg)-3.134
+G .634(uments to each).18 F F2(name)3.134 E F0 .634
+(should be completed.)3.134 F .633(If the)5.634 F F1<ad70>3.133 E F0
+.633(option is supplied, or if no)3.133 F .139(options are supplied, e)
+144 333.6 R .139(xisting completion speci\214cations are printed in a w)
+-.15 F .14(ay that allo)-.1 F .14(ws them to be)-.25 F .31
+(reused as input.)144 345.6 R(The)5.31 E F1<ad72>2.81 E F0 .31
 (option remo)2.81 F -.15(ve)-.15 G 2.81(sac).15 G .31
-(ompletion speci\214cation for each)-2.81 F F1(name)2.81 E F0 2.81(,o)C
-1.11 -.4(r, i)-2.81 H 2.81(fn).4 G(o)-2.81 E F1(name)2.81 E F0(s)A
-(are supplied, all completion speci\214cations.)144 345.6 Q 1.438
+(ompletion speci\214cation for each)-2.81 F F2(name)2.81 E F0 2.81(,o)C
+1.11 -.4(r, i)-2.81 H 2.81(fn).4 G(o)-2.81 E F2(name)2.81 E F0(s)A
+(are supplied, all completion speci\214cations.)144 357.6 Q 1.437
 (The process of applying these completion speci\214cations when w)144
-369.6 R 1.437(ord completion is attempted is)-.1 F(described abo)144
-381.6 Q .3 -.15(ve u)-.15 H(nder).15 E F2(Pr)2.5 E
-(ogrammable Completion)-.18 E F0(.)A .555
-(Other options, if speci\214ed, ha)144 405.6 R .855 -.15(ve t)-.2 H .555
+381.6 R 1.438(ord completion is attempted is)-.1 F(described abo)144
+393.6 Q .3 -.15(ve u)-.15 H(nder).15 E F1(Pr)2.5 E
+(ogrammable Completion)-.18 E F0(.)A .556
+(Other options, if speci\214ed, ha)144 417.6 R .856 -.15(ve t)-.2 H .555
 (he follo).15 F .555(wing meanings.)-.25 F .555(The ar)5.555 F .555
-(guments to the)-.18 F F2<ad47>3.056 E F0(,)A F2<ad57>3.056 E F0 3.056
-(,a)C(nd)-3.056 E F2<ad58>3.056 E F0 .723(options \(and, if necessary)
-144 417.6 R 3.223(,t)-.65 G(he)-3.223 E F2<ad50>3.223 E F0(and)3.223 E
-F2<ad53>3.223 E F0 .722
-(options\) should be quoted to protect them from e)3.223 F(xpan-)-.15 E
-(sion before the)144 429.6 Q F2(complete)2.5 E F0 -.2(bu)2.5 G
-(iltin is in).2 E -.2(vo)-.4 G -.1(ke).2 G(d.).1 E F2<ad6f>144 441.6 Q
-F1(comp-option)2.5 E F0(The)184 453.6 Q F1(comp-option)2.79 E F0 .291
+(guments to the)-.18 F F1<ad47>3.055 E F0(,)A F1<ad57>3.055 E F0 3.055
+(,a)C(nd)-3.055 E F1<ad58>3.055 E F0 .722(options \(and, if necessary)
+144 429.6 R 3.222(,t)-.65 G(he)-3.222 E F1<ad50>3.222 E F0(and)3.222 E
+F1<ad53>3.222 E F0 .723
+(options\) should be quoted to protect them from e)3.222 F(xpan-)-.15 E
+(sion before the)144 441.6 Q F1(complete)2.5 E F0 -.2(bu)2.5 G
+(iltin is in).2 E -.2(vo)-.4 G -.1(ke).2 G(d.).1 E F1<ad6f>144 453.6 Q
+F2(comp-option)2.5 E F0(The)184 465.6 Q F2(comp-option)2.791 E F0 .291
 (controls se)2.791 F -.15(ve)-.25 G .291(ral aspects of the compspec')
 .15 F 2.791(sb)-.55 G(eha)-2.791 E .291(vior be)-.2 F .291
-(yond the simple)-.15 F(generation of completions.)184 465.6 Q F1
-(comp-option)5 E F0(may be one of:)2.5 E F2(bashdefault)184 477.6 Q F0
-.281(Perform the rest of the def)224 489.6 R(ault)-.1 E F2(bash)2.781 E
+(yond the simple)-.15 F(generation of completions.)184 477.6 Q F2
+(comp-option)5 E F0(may be one of:)2.5 E F1(bashdefault)184 489.6 Q F0
+.281(Perform the rest of the def)224 501.6 R(ault)-.1 E F1(bash)2.781 E
 F0 .281(completions if the compspec generates no)2.781 F(matches.)224
-501.6 Q F2(default)184 513.6 Q F0 2.875(Use readline')10 F 5.375(sd)-.55
-G(ef)-5.375 E 2.876
+513.6 Q F1(default)184 525.6 Q F0 2.876(Use readline')10 F 5.376(sd)-.55
+G(ef)-5.376 E 2.875
 (ault \214lename completion if the compspec generates no)-.1 F(matches.)
-224 525.6 Q F2(dir)184 537.6 Q(names)-.15 E F0(Perform directory name c\
-ompletion if the compspec generates no matches.)224 549.6 Q F2
-(\214lenames)184 561.6 Q F0 -.7(Te)224 573.6 S .137(ll readline that th\
-e compspec generates \214lenames, so it can perform an).7 F 2.636<798c>
--.15 G(le-)-2.636 E .496(name\255speci\214c processing \(lik)224 585.6 R
+224 537.6 Q F1(dir)184 549.6 Q(names)-.15 E F0(Perform directory name c\
+ompletion if the compspec generates no matches.)224 561.6 Q F1
+(\214lenames)184 573.6 Q F0 -.7(Te)224 585.6 S .137(ll readline that th\
+e compspec generates \214lenames, so it can perform an).7 F 2.637<798c>
+-.15 G(le-)-2.637 E .496(name\255speci\214c processing \(lik)224 597.6 R
 2.996(ea)-.1 G .496(dding a slash to directory names or suppress-)-2.996
-F(ing trailing spaces\).)224 597.6 Q
-(Intended to be used with shell functions.)5 E F2(nospace)184 609.6 Q F0
+F(ing trailing spaces\).)224 609.6 Q
+(Intended to be used with shell functions.)5 E F1(nospace)184 621.6 Q F0
 -.7(Te)6.11 G .22(ll readline not to append a space \(the def).7 F .22
 (ault\) to w)-.1 F .22(ords completed at the end)-.1 F(of the line.)224
-621.6 Q F2(plusdirs)184 633.6 Q F0 1.985(After an)5.54 F 4.485(ym)-.15 G
+633.6 Q F1(plusdirs)184 645.6 Q F0 1.985(After an)5.54 F 4.485(ym)-.15 G
 1.985(atches de\214ned by the compspec are generated, directory name)
--4.485 F .584(completion is attempted and an)224 645.6 R 3.084(ym)-.15 G
+-4.485 F .583(completion is attempted and an)224 657.6 R 3.084(ym)-.15 G
 .584(atches are added to the results of the other)-3.084 F(actions.)224
-657.6 Q F2<ad41>144 669.6 Q F1(action)2.5 E F0(The)184 681.6 Q F1
+669.6 Q F1<ad41>144 681.6 Q F2(action)2.5 E F0(The)184 693.6 Q F2
 (action)2.5 E F0(may be one of the follo)2.5 E
-(wing to generate a list of possible completions:)-.25 E F2(alias)184
-693.6 Q F0(Alias names.)20.55 E(May also be speci\214ed as)5 E F2<ad61>
-2.5 E F0(.)A F2(arrayv)184 705.6 Q(ar)-.1 E F0(Array v)224 717.6 Q
-(ariable names.)-.25 E(GNU Bash-3.0)72 768 Q(2004 Apr 20)148.735 E(3)
-203.725 E 0 Cg EP
+(wing to generate a list of possible completions:)-.25 E F1(alias)184
+705.6 Q F0(Alias names.)20.55 E(May also be speci\214ed as)5 E F1<ad61>
+2.5 E F0(.)A(GNU Bash-3.0)72 768 Q(2004 Apr 20)148.735 E(3)203.725 E 0
+Cg EP
 %%Page: 4 4
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 290.48
 (TINS\(1\) B)-.92 F(ASH_B)-.35 E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10
-/Times-Bold@0 SF 4.7(binding Readline)184 84 R F0 -.1(ke)2.5 G 2.5(yb)
--.05 G(inding names.)-2.5 E F1 -.2(bu)184 96 S(iltin).2 E F0
+/Times-Bold@0 SF(arrayv)184 84 Q(ar)-.1 E F0(Array v)224 96 Q
+(ariable names.)-.25 E F1 4.7(binding Readline)184 108 R F0 -.1(ke)2.5 G
+2.5(yb)-.05 G(inding names.)-2.5 E F1 -.2(bu)184 120 S(iltin).2 E F0
 (Names of shell b)11.85 E(uiltin commands.)-.2 E
-(May also be speci\214ed as)5 E F1<ad62>2.5 E F0(.)A F1(command)184 108
-Q F0(Command names.)224 120 Q(May also be speci\214ed as)5 E F1<ad63>2.5
-E F0(.)A F1(dir)184 132 Q(ectory)-.18 E F0(Directory names.)224 144 Q
-(May also be speci\214ed as)5 E F1<ad64>2.5 E F0(.)A F1(disabled)184 156
-Q F0(Names of disabled shell b)224 168 Q(uiltins.)-.2 E F1(enabled)184
-180 Q F0(Names of enabled shell b)6.66 E(uiltins.)-.2 E F1(export)184
-192 Q F0(Names of e)12.23 E(xported shell v)-.15 E 2.5(ariables. May)
+(May also be speci\214ed as)5 E F1<ad62>2.5 E F0(.)A F1(command)184 132
+Q F0(Command names.)224 144 Q(May also be speci\214ed as)5 E F1<ad63>2.5
+E F0(.)A F1(dir)184 156 Q(ectory)-.18 E F0(Directory names.)224 168 Q
+(May also be speci\214ed as)5 E F1<ad64>2.5 E F0(.)A F1(disabled)184 180
+Q F0(Names of disabled shell b)224 192 Q(uiltins.)-.2 E F1(enabled)184
+204 Q F0(Names of enabled shell b)6.66 E(uiltins.)-.2 E F1(export)184
+216 Q F0(Names of e)12.23 E(xported shell v)-.15 E 2.5(ariables. May)
 -.25 F(also be speci\214ed as)2.5 E F1<ad65>2.5 E F0(.)A F1(\214le)184
-204 Q F0(File names.)27.22 E(May also be speci\214ed as)5 E F1<ad66>2.5
-E F0(.)A F1(function)184 216 Q F0(Names of shell functions.)224 228 Q F1
-(gr)184 240 Q(oup)-.18 E F0(Group names.)14.62 E
+228 Q F0(File names.)27.22 E(May also be speci\214ed as)5 E F1<ad66>2.5
+E F0(.)A F1(function)184 240 Q F0(Names of shell functions.)224 252 Q F1
+(gr)184 264 Q(oup)-.18 E F0(Group names.)14.62 E
 (May also be speci\214ed as)5 E F1<ad67>2.5 E F0(.)A F1(helptopic)184
-252 Q F0(Help topics as accepted by the)224 264 Q F1(help)2.5 E F0 -.2
-(bu)2.5 G(iltin.).2 E F1(hostname)184 276 Q F0(Hostnames, as tak)224 288
+276 Q F0(Help topics as accepted by the)224 288 Q F1(help)2.5 E F0 -.2
+(bu)2.5 G(iltin.).2 E F1(hostname)184 300 Q F0(Hostnames, as tak)224 312
 Q(en from the \214le speci\214ed by the)-.1 E/F2 9/Times-Bold@0 SF
-(HOSTFILE)2.5 E F0(shell v)2.25 E(ariable.)-.25 E F1(job)184 300 Q F0
+(HOSTFILE)2.5 E F0(shell v)2.25 E(ariable.)-.25 E F1(job)184 324 Q F0
 (Job names, if job control is acti)26.11 E -.15(ve)-.25 G 5(.M).15 G
-(ay also be speci\214ed as)-5 E F1<ad6a>2.5 E F0(.)A F1 -.1(ke)184 312 S
-(yw).1 E(ord)-.1 E F0(Shell reserv)224 324 Q(ed w)-.15 E 2.5(ords. May)
+(ay also be speci\214ed as)-5 E F1<ad6a>2.5 E F0(.)A F1 -.1(ke)184 336 S
+(yw).1 E(ord)-.1 E F0(Shell reserv)224 348 Q(ed w)-.15 E 2.5(ords. May)
 -.1 F(also be speci\214ed as)2.5 E F1<ad6b>2.5 E F0(.)A F1(running)184
-336 Q F0(Names of running jobs, if job control is acti)5.54 E -.15(ve)
--.25 G(.).15 E F1(ser)184 348 Q(vice)-.1 E F0(Service names.)10.67 E
-(May also be speci\214ed as)5 E F1<ad73>2.5 E F0(.)A F1(setopt)184 360 Q
+360 Q F0(Names of running jobs, if job control is acti)5.54 E -.15(ve)
+-.25 G(.).15 E F1(ser)184 372 Q(vice)-.1 E F0(Service names.)10.67 E
+(May also be speci\214ed as)5 E F1<ad73>2.5 E F0(.)A F1(setopt)184 384 Q
 F0 -1.11(Va)14.45 G(lid ar)1.11 E(guments for the)-.18 E F1<ad6f>2.5 E
 F0(option to the)2.5 E F1(set)2.5 E F0 -.2(bu)2.5 G(iltin.).2 E F1
-(shopt)184 372 Q F0(Shell option names as accepted by the)16.66 E F1
-(shopt)2.5 E F0 -.2(bu)2.5 G(iltin.).2 E F1(signal)184 384 Q F0
-(Signal names.)14.99 E F1(stopped)184 396 Q F0
+(shopt)184 396 Q F0(Shell option names as accepted by the)16.66 E F1
+(shopt)2.5 E F0 -.2(bu)2.5 G(iltin.).2 E F1(signal)184 408 Q F0
+(Signal names.)14.99 E F1(stopped)184 420 Q F0
 (Names of stopped jobs, if job control is acti)6.66 E -.15(ve)-.25 G(.)
-.15 E F1(user)184 408 Q F0(User names.)21.67 E
-(May also be speci\214ed as)5 E F1<ad75>2.5 E F0(.)A F1 -.1(va)184 420 S
+.15 E F1(user)184 432 Q F0(User names.)21.67 E
+(May also be speci\214ed as)5 E F1<ad75>2.5 E F0(.)A F1 -.1(va)184 444 S
 (riable).1 E F0(Names of all shell v)5.1 E 2.5(ariables. May)-.25 F
-(also be speci\214ed as)2.5 E F1<ad76>2.5 E F0(.)A F1<ad47>144 432 Q/F3
-10/Times-Italic@0 SF(globpat)2.5 E F0 1.41(The \214lename e)184 444 R
+(also be speci\214ed as)2.5 E F1<ad76>2.5 E F0(.)A F1<ad47>144 456 Q/F3
+10/Times-Italic@0 SF(globpat)2.5 E F0 1.411(The \214lename e)184 468 R
 1.411(xpansion pattern)-.15 F F3(globpat)3.911 E F0 1.411(is e)3.911 F
-1.411(xpanded to generate the possible comple-)-.15 F(tions.)184 456 Q
-F1<ad57>144 468 Q F3(wor)2.5 E(dlist)-.37 E F0(The)184 480 Q F3(wor)3.64
-E(dlist)-.37 E F0 1.14(is split using the characters in the)3.64 F F2
-(IFS)3.64 E F0 1.139(special v)3.39 F 1.139(ariable as delimiters, and)
--.25 F 2.007(each resultant w)184 492 R 2.007(ord is e)-.1 F 4.507
-(xpanded. The)-.15 F 2.008(possible completions are the members of the)
-4.507 F(resultant list which match the w)184 504 Q(ord being completed.)
--.1 E F1<ad43>144 516 Q F3(command)2.5 E(command)184 528 Q F0 1.056
-(is e)3.556 F -.15(xe)-.15 G 1.056(cuted in a subshell en).15 F 1.056
+1.411(xpanded to generate the possible comple-)-.15 F(tions.)184 480 Q
+F1<ad57>144 492 Q F3(wor)2.5 E(dlist)-.37 E F0(The)184 504 Q F3(wor)
+3.639 E(dlist)-.37 E F0 1.14(is split using the characters in the)3.639
+F F2(IFS)3.64 E F0 1.14(special v)3.39 F 1.14
+(ariable as delimiters, and)-.25 F 2.008(each resultant w)184 516 R
+2.008(ord is e)-.1 F 4.508(xpanded. The)-.15 F 2.007
+(possible completions are the members of the)4.508 F
+(resultant list which match the w)184 528 Q(ord being completed.)-.1 E
+F1<ad43>144 540 Q F3(command)2.5 E(command)184 552 Q F0 1.055(is e)3.555
+F -.15(xe)-.15 G 1.055(cuted in a subshell en).15 F 1.056
 (vironment, and its output is used as the possible)-.4 F(completions.)
-184 540 Q F1<ad46>144 552 Q F3(function)2.5 E F0 1.18
-(The shell function)184 564 R F3(function)3.68 E F0 1.181(is e)3.681 F
--.15(xe)-.15 G 1.181(cuted in the current shell en).15 F 3.681
-(vironment. When)-.4 F 1.181(it \214n-)3.681 F .932
-(ishes, the possible completions are retrie)184 576 R -.15(ve)-.25 G
+184 564 Q F1<ad46>144 576 Q F3(function)2.5 E F0 1.181
+(The shell function)184 588 R F3(function)3.681 E F0 1.181(is e)3.681 F
+-.15(xe)-.15 G 1.181(cuted in the current shell en).15 F 3.68
+(vironment. When)-.4 F 1.18(it \214n-)3.68 F .932
+(ishes, the possible completions are retrie)184 600 R -.15(ve)-.25 G
 3.432(df).15 G .932(rom the v)-3.432 F .932(alue of the)-.25 F F2
-(COMPREPL)3.431 E(Y)-.828 E F0(array)3.181 E -.25(va)184 588 S(riable.)
-.25 E F1<ad58>144 600 Q F3(\214lterpat)2.5 E(\214lterpat)184 612 Q F0
-.733(is a pattern as used for \214lename e)3.233 F 3.233(xpansion. It)
+(COMPREPL)3.432 E(Y)-.828 E F0(array)3.182 E -.25(va)184 612 S(riable.)
+.25 E F1<ad58>144 624 Q F3(\214lterpat)2.5 E(\214lterpat)184 636 Q F0
+.733(is a pattern as used for \214lename e)3.234 F 3.233(xpansion. It)
 -.15 F .733(is applied to the list of possible)3.233 F 1.596
-(completions generated by the preceding options and ar)184 624 R 1.596
-(guments, and each completion)-.18 F(matching)184 636 Q F3(\214lterpat)
-3.204 E F0 .704(is remo)3.204 F -.15(ve)-.15 G 3.204(df).15 G .704
-(rom the list.)-3.204 F 3.204(Al)5.704 G(eading)-3.204 E F1(!)3.204 E F0
-(in)3.204 E F3(\214lterpat)3.205 E F0(ne)3.205 E -.05(ga)-.15 G .705
-(tes the pattern;).05 F(in this case, an)184 648 Q 2.5(yc)-.15 G
+(completions generated by the preceding options and ar)184 648 R 1.596
+(guments, and each completion)-.18 F(matching)184 660 Q F3(\214lterpat)
+3.205 E F0 .705(is remo)3.205 F -.15(ve)-.15 G 3.205(df).15 G .704
+(rom the list.)-3.205 F 3.204(Al)5.704 G(eading)-3.204 E F1(!)3.204 E F0
+(in)3.204 E F3(\214lterpat)3.204 E F0(ne)3.204 E -.05(ga)-.15 G .704
+(tes the pattern;).05 F(in this case, an)184 672 Q 2.5(yc)-.15 G
 (ompletion not matching)-2.5 E F3(\214lterpat)2.5 E F0(is remo)2.5 E
--.15(ve)-.15 G(d.).15 E F1<ad50>144 660 Q F3(pr)2.5 E(e\214x)-.37 E(pr)
-184 672 Q(e\214x)-.37 E F0 .535(is added at the be)3.035 F .534
+-.15(ve)-.15 G(d.).15 E F1<ad50>144 684 Q F3(pr)2.5 E(e\214x)-.37 E(pr)
+184 696 Q(e\214x)-.37 E F0 .534(is added at the be)3.034 F .534
 (ginning of each possible completion after all other options ha)-.15 F
--.15(ve)-.2 G(been applied.)184 684 Q F1<ad53>144 696 Q F3(suf)2.5 E
-2.81(\214x suf)-.18 F<8c78>-.18 E F0
-(is appended to each possible completion after all other options ha)2.5
-E .3 -.15(ve b)-.2 H(een applied.).15 E .466(The return v)144 712.8 R
-.466(alue is true unless an in)-.25 F -.25(va)-.4 G .466
-(lid option is supplied, an option other than).25 F F1<ad70>2.967 E F0
-(or)2.967 E F1<ad72>2.967 E F0 .467(is sup-)2.967 F 1.362
-(plied without a)144 724.8 R F3(name)3.862 E F0(ar)3.862 E 1.361
-(gument, an attempt is made to remo)-.18 F 1.661 -.15(ve a c)-.15 H
-1.361(ompletion speci\214cation for a).15 F(GNU Bash-3.0)72 768 Q
-(2004 Apr 20)148.735 E(4)203.725 E 0 Cg EP
+-.15(ve)-.2 G(been applied.)184 708 Q(GNU Bash-3.0)72 768 Q(2004 Apr 20)
+148.735 E(4)203.725 E 0 Cg EP
 %%Page: 5 5
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 290.48
 (TINS\(1\) B)-.92 F(ASH_B)-.35 E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10
-/Times-Italic@0 SF(name)144 84 Q F0(for which no speci\214cation e)2.5 E
+/Times-Bold@0 SF<ad53>144 84 Q/F2 10/Times-Italic@0 SF(suf)2.5 E 2.81
+(\214x suf)-.18 F<8c78>-.18 E F0
+(is appended to each possible completion after all other options ha)2.5
+E .3 -.15(ve b)-.2 H(een applied.).15 E .467(The return v)144 100.8 R
+.467(alue is true unless an in)-.25 F -.25(va)-.4 G .466
+(lid option is supplied, an option other than).25 F F1<ad70>2.966 E F0
+(or)2.966 E F1<ad72>2.966 E F0 .466(is sup-)2.966 F 1.361
+(plied without a)144 112.8 R F2(name)3.861 E F0(ar)3.861 E 1.361
+(gument, an attempt is made to remo)-.18 F 1.662 -.15(ve a c)-.15 H
+1.362(ompletion speci\214cation for a).15 F F2(name)144 124.8 Q F0
+(for which no speci\214cation e)2.5 E
 (xists, or an error occurs adding a completion speci\214cation.)-.15 E
-/F2 10/Times-Bold@0 SF(continue)108 100.8 Q F0([)2.5 E F1(n)A F0(])A
-1.753(Resume the ne)144 112.8 R 1.753(xt iteration of the enclosing)-.15
-F F2 -.25(fo)4.254 G(r).25 E F0(,)A F2(while)4.254 E F0(,)A F2(until)
-4.254 E F0 4.254(,o)C(r)-4.254 E F2(select)4.254 E F0 4.254(loop. If)
-4.254 F F1(n)4.614 E F0 1.754(is speci\214ed,)4.494 F 1.209
-(resume at the)144 124.8 R F1(n)3.709 E F0 1.209(th enclosing loop.)B F1
-(n)6.569 E F0 1.209(must be)3.949 F/F3 10/Symbol SF<b3>3.709 E F0 3.709
-(1. If)3.709 F F1(n)4.069 E F0 1.209
-(is greater than the number of enclosing)3.949 F .667
-(loops, the last enclosing loop \(the `)144 136.8 R(`top-le)-.74 E -.15
-(ve)-.25 G(l').15 E 3.167('l)-.74 G .667(oop\) is resumed.)-3.167 F .668
-(The return v)5.668 F .668(alue is 0 unless the)-.25 F(shell is not e)
-144 148.8 Q -.15(xe)-.15 G(cuting a loop when).15 E F2(continue)2.5 E F0
-(is e)2.5 E -.15(xe)-.15 G(cuted.).15 E F2(declar)108 165.6 Q(e)-.18 E
-F0([)2.5 E F2(\255afFirtx)A F0 2.5(][)C F2<ad70>-2.5 E F0 2.5(][)C F1
-(name)-2.5 E F0([=)A F1(value)A F0 2.5(].)C(..])-2.5 E F2(typeset)108
-177.6 Q F0([)2.5 E F2(\255afFirtx)A F0 2.5(][)C F2<ad70>-2.5 E F0 2.5
-(][)C F1(name)-2.5 E F0([=)A F1(value)A F0 2.5(].)C(..])-2.5 E 1.265
-(Declare v)144 189.6 R 1.265(ariables and/or gi)-.25 F 1.565 -.15(ve t)
--.25 H 1.265(hem attrib).15 F 3.765(utes. If)-.2 F(no)3.765 E F1(name)
-3.765 E F0 3.765(sa)C 1.265(re gi)-3.765 F -.15(ve)-.25 G 3.764(nt).15 G
-1.264(hen display the v)-3.764 F 1.264(alues of)-.25 F -.25(va)144 201.6
-S 3.326(riables. The).25 F F2<ad70>3.326 E F0 .826
-(option will display the attrib)3.326 F .826(utes and v)-.2 F .826
-(alues of each)-.25 F F1(name)3.326 E F0 5.827(.W).18 G(hen)-5.827 E F2
-<ad70>3.327 E F0 .827(is used,)3.327 F .22
-(additional options are ignored.)144 213.6 R(The)5.22 E F2<ad46>2.72 E
+F1(continue)108 141.6 Q F0([)2.5 E F2(n)A F0(])A 1.754(Resume the ne)144
+153.6 R 1.754(xt iteration of the enclosing)-.15 F F1 -.25(fo)4.254 G(r)
+.25 E F0(,)A F1(while)4.254 E F0(,)A F1(until)4.254 E F0 4.254(,o)C(r)
+-4.254 E F1(select)4.254 E F0 4.253(loop. If)4.254 F F2(n)4.613 E F0
+1.753(is speci\214ed,)4.493 F 1.208(resume at the)144 165.6 R F2(n)3.709
+E F0 1.209(th enclosing loop.)B F2(n)6.569 E F0 1.209(must be)3.949 F/F3
+10/Symbol SF<b3>3.709 E F0 3.709(1. If)3.709 F F2(n)4.069 E F0 1.209
+(is greater than the number of enclosing)3.949 F .668
+(loops, the last enclosing loop \(the `)144 177.6 R(`top-le)-.74 E -.15
+(ve)-.25 G(l').15 E 3.168('l)-.74 G .668(oop\) is resumed.)-3.168 F .667
+(The return v)5.667 F .667(alue is 0 unless the)-.25 F(shell is not e)
+144 189.6 Q -.15(xe)-.15 G(cuting a loop when).15 E F1(continue)2.5 E F0
+(is e)2.5 E -.15(xe)-.15 G(cuted.).15 E F1(declar)108 206.4 Q(e)-.18 E
+F0([)2.5 E F1(\255afFirtx)A F0 2.5(][)C F1<ad70>-2.5 E F0 2.5(][)C F2
+(name)-2.5 E F0([=)A F2(value)A F0 2.5(].)C(..])-2.5 E F1(typeset)108
+218.4 Q F0([)2.5 E F1(\255afFirtx)A F0 2.5(][)C F1<ad70>-2.5 E F0 2.5
+(][)C F2(name)-2.5 E F0([=)A F2(value)A F0 2.5(].)C(..])-2.5 E 1.264
+(Declare v)144 230.4 R 1.264(ariables and/or gi)-.25 F 1.564 -.15(ve t)
+-.25 H 1.264(hem attrib).15 F 3.765(utes. If)-.2 F(no)3.765 E F2(name)
+3.765 E F0 3.765(sa)C 1.265(re gi)-3.765 F -.15(ve)-.25 G 3.765(nt).15 G
+1.265(hen display the v)-3.765 F 1.265(alues of)-.25 F -.25(va)144 242.4
+S 3.327(riables. The).25 F F1<ad70>3.327 E F0 .826
+(option will display the attrib)3.327 F .826(utes and v)-.2 F .826
+(alues of each)-.25 F F2(name)3.326 E F0 5.826(.W).18 G(hen)-5.826 E F1
+<ad70>3.326 E F0 .826(is used,)3.326 F .22
+(additional options are ignored.)144 254.4 R(The)5.22 E F1<ad46>2.72 E
 F0 .22(option inhibits the display of function de\214nitions; only the)
-2.72 F .466(function name and attrib)144 225.6 R .466(utes are printed.)
--.2 F .466(If the)5.466 F F2(extdeb)2.966 E(ug)-.2 E F0 .466
-(shell option is enabled using)2.966 F F2(shopt)2.966 E F0 2.966(,t)C
+2.72 F .466(function name and attrib)144 266.4 R .466(utes are printed.)
+-.2 F .466(If the)5.466 F F1(extdeb)2.966 E(ug)-.2 E F0 .466
+(shell option is enabled using)2.966 F F1(shopt)2.966 E F0 2.966(,t)C
 (he)-2.966 E 1.308(source \214le name and line number where the functio\
-n is de\214ned are displayed as well.)144 237.6 R(The)6.308 E F2<ad46>
-3.808 E F0 .19(option implies)144 249.6 R F2<ad66>2.69 E F0 5.19(.T)C
-.19(he follo)-5.19 F .191
-(wing options can be used to restrict output to v)-.25 F .191
-(ariables with the speci-)-.25 F(\214ed attrib)144 261.6 Q(ute or to gi)
--.2 E .3 -.15(ve v)-.25 H(ariables attrib)-.1 E(utes:)-.2 E F2<ad61>144
-273.6 Q F0(Each)25.3 E F1(name)2.5 E F0(is an array v)2.5 E
-(ariable \(see)-.25 E F2(Arrays)2.5 E F0(abo)2.5 E -.15(ve)-.15 G(\).)
-.15 E F2<ad66>144 285.6 Q F0(Use function names only)26.97 E(.)-.65 E F2
-<ad69>144 297.6 Q F0 .558(The v)27.52 F .558
+n is de\214ned are displayed as well.)144 278.4 R(The)6.309 E F1<ad46>
+3.809 E F0 .191(option implies)144 290.4 R F1<ad66>2.691 E F0 5.191(.T)C
+.191(he follo)-5.191 F .191
+(wing options can be used to restrict output to v)-.25 F .19
+(ariables with the speci-)-.25 F(\214ed attrib)144 302.4 Q(ute or to gi)
+-.2 E .3 -.15(ve v)-.25 H(ariables attrib)-.1 E(utes:)-.2 E F1<ad61>144
+314.4 Q F0(Each)25.3 E F2(name)2.5 E F0(is an array v)2.5 E
+(ariable \(see)-.25 E F1(Arrays)2.5 E F0(abo)2.5 E -.15(ve)-.15 G(\).)
+.15 E F1<ad66>144 326.4 Q F0(Use function names only)26.97 E(.)-.65 E F1
+<ad69>144 338.4 Q F0 .557(The v)27.52 F .558
 (ariable is treated as an inte)-.25 F .558(ger; arithmetic e)-.15 F -.25
-(va)-.25 G .558(luation \(see).25 F/F4 9/Times-Bold@0 SF .557
-(ARITHMETIC EV)3.058 F(ALU)-1.215 E(A-)-.54 E(TION \))180 309.6 Q F0
+(va)-.25 G .558(luation \(see).25 F/F4 9/Times-Bold@0 SF .558
+(ARITHMETIC EV)3.058 F(ALU)-1.215 E(A-)-.54 E(TION \))180 350.4 Q F0
 (is performed when the v)2.25 E(ariable is assigned a v)-.25 E(alue.)
--.25 E F2<ad72>144 321.6 Q F0(Mak)25.86 E(e)-.1 E F1(name)5.046 E F0
-5.046(sr)C(eadonly)-5.046 E 7.546(.T)-.65 G 2.546
-(hese names cannot then be assigned v)-7.546 F 2.547
-(alues by subsequent)-.25 F(assignment statements or unset.)180 333.6 Q
-F2<ad74>144 345.6 Q F0(Gi)26.97 E .73 -.15(ve e)-.25 H(ach).15 E F1
-(name)2.93 E F0(the)2.929 E F1(tr)2.929 E(ace)-.15 E F0(attrib)2.929 E
-2.929(ute. T)-.2 F .429(raced functions inherit the)-.35 F F2(DEB)2.929
-E(UG)-.1 E F0(and)2.929 E F2(RETURN)2.929 E F0
-(traps from the calling shell.)180 357.6 Q(The trace attrib)5 E
-(ute has no special meaning for v)-.2 E(ariables.)-.25 E F2<ad78>144
-369.6 Q F0(Mark)25.3 E F1(name)2.5 E F0 2.5(sf)C(or e)-2.5 E
-(xport to subsequent commands via the en)-.15 E(vironment.)-.4 E .336
-(Using `+' instead of `\255' turns of)144 386.4 R 2.837(ft)-.25 G .337
-(he attrib)-2.837 F .337(ute instead, with the e)-.2 F .337
-(xception that)-.15 F F2(+a)2.837 E F0 .337(may not be used)2.837 F .793
-(to destro)144 398.4 R 3.293(ya)-.1 G 3.293(na)-3.293 G .793(rray v)
+-.25 E F1<ad72>144 362.4 Q F0(Mak)25.86 E(e)-.1 E F2(name)5.047 E F0
+5.047(sr)C(eadonly)-5.047 E 7.547(.T)-.65 G 2.546
+(hese names cannot then be assigned v)-7.547 F 2.546
+(alues by subsequent)-.25 F(assignment statements or unset.)180 374.4 Q
+F1<ad74>144 386.4 Q F0(Gi)26.97 E .729 -.15(ve e)-.25 H(ach).15 E F2
+(name)2.929 E F0(the)2.929 E F2(tr)2.929 E(ace)-.15 E F0(attrib)2.929 E
+2.929(ute. T)-.2 F .429(raced functions inherit the)-.35 F F1(DEB)2.929
+E(UG)-.1 E F0(and)2.93 E F1(RETURN)2.93 E F0
+(traps from the calling shell.)180 398.4 Q(The trace attrib)5 E
+(ute has no special meaning for v)-.2 E(ariables.)-.25 E F1<ad78>144
+410.4 Q F0(Mark)25.3 E F2(name)2.5 E F0 2.5(sf)C(or e)-2.5 E
+(xport to subsequent commands via the en)-.15 E(vironment.)-.4 E .337
+(Using `+' instead of `\255' turns of)144 427.2 R 2.837(ft)-.25 G .337
+(he attrib)-2.837 F .337(ute instead, with the e)-.2 F .336
+(xception that)-.15 F F1(+a)2.836 E F0 .336(may not be used)2.836 F .792
+(to destro)144 439.2 R 3.293(ya)-.1 G 3.293(na)-3.293 G .793(rray v)
 -3.293 F 3.293(ariable. When)-.25 F .793(used in a function, mak)3.293 F
-.793(es each)-.1 F F1(name)3.293 E F0 .793(local, as with the)3.293 F F2
-(local)3.292 E F0 2.842(command. If)144 410.4 R 2.842(av)2.842 G .342
-(ariable name is follo)-3.092 F .342(wed by =)-.25 F F1(value)A F0 2.842
-(,t)C .342(he v)-2.842 F .342(alue of the v)-.25 F .343
-(ariable is set to)-.25 F F1(value)2.843 E F0 5.343(.T)C(he)-5.343 E
-.801(return v)144 422.4 R .801(alue is 0 unless an in)-.25 F -.25(va)-.4
-G .8
+.793(es each)-.1 F F2(name)3.293 E F0 .793(local, as with the)3.293 F F1
+(local)3.293 E F0 2.843(command. If)144 451.2 R 2.843(av)2.843 G .342
+(ariable name is follo)-3.093 F .342(wed by =)-.25 F F2(value)A F0 2.842
+(,t)C .342(he v)-2.842 F .342(alue of the v)-.25 F .342
+(ariable is set to)-.25 F F2(value)2.842 E F0 5.342(.T)C(he)-5.342 E .8
+(return v)144 463.2 R .8(alue is 0 unless an in)-.25 F -.25(va)-.4 G
+.801
 (lid option is encountered, an attempt is made to de\214ne a function)
-.25 F(using)144 434.4 Q/F5 10/Courier@0 SF 1.038(\255f foo=bar)3.538 F
-F0 3.538(,a)C 3.538(na)-3.538 G 1.038(ttempt is made to assign a v)
--3.538 F 1.038(alue to a readonly v)-.25 F 1.039(ariable, an attempt is)
--.25 F .974(made to assign a v)144 446.4 R .974(alue to an array v)-.25
+.25 F(using)144 475.2 Q/F5 10/Courier@0 SF 1.039(\255f foo=bar)3.539 F
+F0 3.539(,a)C 3.539(na)-3.539 G 1.038(ttempt is made to assign a v)
+-3.539 F 1.038(alue to a readonly v)-.25 F 1.038(ariable, an attempt is)
+-.25 F .974(made to assign a v)144 487.2 R .974(alue to an array v)-.25
 F .974(ariable without using the compound assignment syntax \(see)-.25 F
-F2(Arrays)144 458.4 Q F0(abo)2.86 E -.15(ve)-.15 G .36(\), one of the)
-.15 F F1(names)2.86 E F0 .36(is not a v)2.86 F .36(alid shell v)-.25 F
-.36(ariable name, an attempt is made to turn of)-.25 F(f)-.25 E .057
-(readonly status for a readonly v)144 470.4 R .057
-(ariable, an attempt is made to turn of)-.25 F 2.556(fa)-.25 G .056
-(rray status for an array v)-2.556 F(ari-)-.25 E
-(able, or an attempt is made to display a non-e)144 482.4 Q
-(xistent function with)-.15 E F2<ad66>2.5 E F0(.)A F2
-(dirs [\255clpv] [+)108 499.2 Q F1(n)A F2 2.5(][)C<ad>-2.5 E F1(n)A F2
-(])A F0 -.4(Wi)144 511.2 S .328
+F1(Arrays)144 499.2 Q F0(abo)2.86 E -.15(ve)-.15 G .36(\), one of the)
+.15 F F2(names)2.86 E F0 .36(is not a v)2.86 F .36(alid shell v)-.25 F
+.36(ariable name, an attempt is made to turn of)-.25 F(f)-.25 E .056
+(readonly status for a readonly v)144 511.2 R .057
+(ariable, an attempt is made to turn of)-.25 F 2.557(fa)-.25 G .057
+(rray status for an array v)-2.557 F(ari-)-.25 E
+(able, or an attempt is made to display a non-e)144 523.2 Q
+(xistent function with)-.15 E F1<ad66>2.5 E F0(.)A F1
+(dirs [\255clpv] [+)108 540 Q F2(n)A F1 2.5(][)C<ad>-2.5 E F2(n)A F1(])A
+F0 -.4(Wi)144 552 S .329
 (thout options, displays the list of currently remembered directories.)
-.4 F .329(The def)5.329 F .329(ault display is on a)-.1 F 1.238
-(single line with directory names separated by spaces.)144 523.2 R 1.238
-(Directories are added to the list with the)6.238 F F2(pushd)144 535.2 Q
-F0(command; the)2.5 E F2(popd)2.5 E F0(command remo)2.5 E -.15(ve)-.15 G
-2.5(se).15 G(ntries from the list.)-2.5 E F2(+)144 547.2 Q F1(n)A F0
-1.564(Displays the)25.3 F F1(n)4.064 E F0 1.565
-(th entry counting from the left of the list sho)B 1.565(wn by)-.25 F F2
-(dirs)4.065 E F0 1.565(when in)4.065 F -.2(vo)-.4 G -.1(ke).2 G(d).1 E
-(without options, starting with zero.)180 559.2 Q F2<ad>144 571.2 Q F1
-(n)A F0 1.194(Displays the)25.3 F F1(n)3.694 E F0 1.194
+.4 F .328(The def)5.328 F .328(ault display is on a)-.1 F 1.238
+(single line with directory names separated by spaces.)144 564 R 1.238
+(Directories are added to the list with the)6.238 F F1(pushd)144 576 Q
+F0(command; the)2.5 E F1(popd)2.5 E F0(command remo)2.5 E -.15(ve)-.15 G
+2.5(se).15 G(ntries from the list.)-2.5 E F1(+)144 588 Q F2(n)A F0 1.565
+(Displays the)25.3 F F2(n)4.065 E F0 1.565
+(th entry counting from the left of the list sho)B 1.564(wn by)-.25 F F1
+(dirs)4.064 E F0 1.564(when in)4.064 F -.2(vo)-.4 G -.1(ke).2 G(d).1 E
+(without options, starting with zero.)180 600 Q F1<ad>144 612 Q F2(n)A
+F0 1.194(Displays the)25.3 F F2(n)3.694 E F0 1.194
 (th entry counting from the right of the list sho)B 1.194(wn by)-.25 F
-F2(dirs)3.694 E F0 1.194(when in)3.694 F -.2(vo)-.4 G -.1(ke).2 G(d).1 E
-(without options, starting with zero.)180 583.2 Q F2<ad63>144 595.2 Q F0
-(Clears the directory stack by deleting all of the entries.)25.86 E F2
-<ad6c>144 607.2 Q F0 .324(Produces a longer listing; the def)27.52 F
-.324(ault listing format uses a tilde to denote the home direc-)-.1 F
-(tory)180 619.2 Q(.)-.65 E F2<ad70>144 631.2 Q F0
-(Print the directory stack with one entry per line.)24.74 E F2<ad76>144
-643.2 Q F0 .273(Print the directory stack with one entry per line, pre\
-\214xing each entry with its inde)25.3 F 2.772(xi)-.15 G 2.772(nt)-2.772
-G(he)-2.772 E(stack.)180 655.2 Q .257(The return v)144 672 R .258
+F1(dirs)3.694 E F0 1.194(when in)3.694 F -.2(vo)-.4 G -.1(ke).2 G(d).1 E
+(without options, starting with zero.)180 624 Q F1<ad63>144 636 Q F0
+(Clears the directory stack by deleting all of the entries.)25.86 E F1
+<ad6c>144 648 Q F0 .324(Produces a longer listing; the def)27.52 F .324
+(ault listing format uses a tilde to denote the home direc-)-.1 F(tory)
+180 660 Q(.)-.65 E F1<ad70>144 672 Q F0
+(Print the directory stack with one entry per line.)24.74 E F1<ad76>144
+684 Q F0 .272(Print the directory stack with one entry per line, pre\
+\214xing each entry with its inde)25.3 F 2.773(xi)-.15 G 2.773(nt)-2.773
+G(he)-2.773 E(stack.)180 696 Q .258(The return v)144 712.8 R .258
 (alue is 0 unless an in)-.25 F -.25(va)-.4 G .258
-(lid option is supplied or).25 F F1(n)2.758 E F0(inde)2.758 E -.15(xe)
+(lid option is supplied or).25 F F2(n)2.758 E F0(inde)2.758 E -.15(xe)
 -.15 G 2.758(sb).15 G -.15(ey)-2.758 G .258(ond the end of the direc-)
-.15 F(tory stack.)144 684 Q F2(diso)108 700.8 Q(wn)-.1 E F0([)2.5 E F2
-(\255ar)A F0 2.5(][)C F2<ad68>-2.5 E F0 2.5(][)C F1(jobspec)-2.5 E F0
-(...])2.5 E -.4(Wi)144 712.8 S .331(thout options, each).4 F F1(jobspec)
-4.571 E F0 .331(is remo)3.141 F -.15(ve)-.15 G 2.831(df).15 G .331
-(rom the table of acti)-2.831 F .63 -.15(ve j)-.25 H 2.83(obs. If).15 F
-(the)2.83 E F2<ad68>2.83 E F0 .33(option is gi)2.83 F -.15(ve)-.25 G(n,)
-.15 E(each)144 724.8 Q F1(jobspec)4.52 E F0 .28(is not remo)3.09 F -.15
-(ve)-.15 G 2.78(df).15 G .28(rom the table, b)-2.78 F .28(ut is mark)-.2
-F .28(ed so that)-.1 F F4(SIGHUP)2.78 E F0 .281
-(is not sent to the job if)2.53 F(GNU Bash-3.0)72 768 Q(2004 Apr 20)
-148.735 E(5)203.725 E 0 Cg EP
+.15 F(tory stack.)144 724.8 Q(GNU Bash-3.0)72 768 Q(2004 Apr 20)148.735
+E(5)203.725 E 0 Cg EP
 %%Page: 6 6
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 290.48
-(TINS\(1\) B)-.92 F(ASH_B)-.35 E(UIL)-.1 E(TINS\(1\))-.92 E .224
-(the shell recei)144 84 R -.15(ve)-.25 G 2.724(sa).15 G/F1 9
-/Times-Bold@0 SF(SIGHUP)A/F2 9/Times-Roman@0 SF(.)A F0 .224(If no)4.724
-F/F3 10/Times-Italic@0 SF(jobspec)4.464 E F0 .224
-(is present, and neither the)3.034 F/F4 10/Times-Bold@0 SF<ad61>2.724 E
-F0 .224(nor the)2.724 F F4<ad72>2.724 E F0 .223(option is sup-)2.724 F
-.651(plied, the)144 96 R F3(curr)3.151 E .651(ent job)-.37 F F0 .651
-(is used.)3.151 F .652(If no)5.651 F F3(jobspec)4.892 E F0 .652
-(is supplied, the)3.462 F F4<ad61>3.152 E F0 .652(option means to remo)
-3.152 F .952 -.15(ve o)-.15 H 3.152(rm).15 G(ark)-3.152 E .435
-(all jobs; the)144 108 R F4<ad72>2.935 E F0 .435(option without a)2.935
-F F3(jobspec)4.675 E F0(ar)3.245 E .434
-(gument restricts operation to running jobs.)-.18 F .434(The return)
-5.434 F -.25(va)144 120 S(lue is 0 unless a).25 E F3(jobspec)4.24 E F0
-(does not specify a v)2.81 E(alid job)-.25 E(.)-.4 E F4(echo)108 136.8 Q
-F0([)2.5 E F4(\255neE)A F0 2.5(][)C F3(ar)-2.5 E(g)-.37 E F0(...])2.5 E
-.394(Output the)144 148.8 R F3(ar)2.894 E(g)-.37 E F0 .394
+(TINS\(1\) B)-.92 F(ASH_B)-.35 E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10
+/Times-Bold@0 SF(diso)108 84 Q(wn)-.1 E F0([)2.5 E F1(\255ar)A F0 2.5
+(][)C F1<ad68>-2.5 E F0 2.5(][)C/F2 10/Times-Italic@0 SF(jobspec)-2.5 E
+F0(...])2.5 E -.4(Wi)144 96 S .33(thout options, each).4 F F2(jobspec)
+4.57 E F0 .33(is remo)3.14 F -.15(ve)-.15 G 2.83(df).15 G .331
+(rom the table of acti)-2.83 F .631 -.15(ve j)-.25 H 2.831(obs. If).15 F
+(the)2.831 E F1<ad68>2.831 E F0 .331(option is gi)2.831 F -.15(ve)-.25 G
+(n,).15 E(each)144 108 Q F2(jobspec)4.521 E F0 .281(is not remo)3.091 F
+-.15(ve)-.15 G 2.78(df).15 G .28(rom the table, b)-2.78 F .28
+(ut is mark)-.2 F .28(ed so that)-.1 F/F3 9/Times-Bold@0 SF(SIGHUP)2.78
+E F0 .28(is not sent to the job if)2.53 F .223(the shell recei)144 120 R
+-.15(ve)-.25 G 2.724(sa).15 G F3(SIGHUP)A/F4 9/Times-Roman@0 SF(.)A F0
+.224(If no)4.724 F F2(jobspec)4.464 E F0 .224
+(is present, and neither the)3.034 F F1<ad61>2.724 E F0 .224(nor the)
+2.724 F F1<ad72>2.724 E F0 .224(option is sup-)2.724 F .652(plied, the)
+144 132 R F2(curr)3.152 E .652(ent job)-.37 F F0 .652(is used.)3.152 F
+.652(If no)5.652 F F2(jobspec)4.892 E F0 .652(is supplied, the)3.462 F
+F1<ad61>3.152 E F0 .651(option means to remo)3.151 F .951 -.15(ve o)-.15
+H 3.151(rm).15 G(ark)-3.151 E .434(all jobs; the)144 144 R F1<ad72>2.934
+E F0 .434(option without a)2.934 F F2(jobspec)4.675 E F0(ar)3.245 E .435
+(gument restricts operation to running jobs.)-.18 F .435(The return)
+5.435 F -.25(va)144 156 S(lue is 0 unless a).25 E F2(jobspec)4.24 E F0
+(does not specify a v)2.81 E(alid job)-.25 E(.)-.4 E F1(echo)108 172.8 Q
+F0([)2.5 E F1(\255neE)A F0 2.5(][)C F2(ar)-2.5 E(g)-.37 E F0(...])2.5 E
+.395(Output the)144 184.8 R F2(ar)2.895 E(g)-.37 E F0 .395
 (s, separated by spaces, follo)B .395(wed by a ne)-.25 F 2.895
-(wline. The)-.25 F .395(return status is al)2.895 F -.1(wa)-.1 G .395
-(ys 0.).1 F(If)5.395 E F4<ad6e>2.895 E F0 .549
-(is speci\214ed, the trailing ne)144 160.8 R .548(wline is suppressed.)
--.25 F .548(If the)5.548 F F4<ad65>3.048 E F0 .548(option is gi)3.048 F
--.15(ve)-.25 G .548(n, interpretation of the fol-).15 F(lo)144 172.8 Q
-.052(wing backslash-escaped characters is enabled.)-.25 F(The)5.052 E F4
-<ad45>2.552 E F0 .053(option disables the interpretation of these)2.553
-F 1.503(escape characters, e)144 184.8 R -.15(ve)-.25 G 4.003(no).15 G
-4.003(ns)-4.003 G 1.502(ystems where the)-4.003 F 4.002(ya)-.15 G 1.502
-(re interpreted by def)-4.002 F 4.002(ault. The)-.1 F F4(xpg_echo)4.002
-E F0(shell)4.002 E .009
-(option may be used to dynamically determine whether or not)144 196.8 R
-F4(echo)2.509 E F0 -.15(ex)2.51 G .01(pands these escape characters).15
-F .66(by def)144 208.8 R(ault.)-.1 E F4(echo)5.66 E F0 .66
-(does not interpret)3.16 F F4<adad>3.16 E F0 .659
-(to mean the end of options.)3.159 F F4(echo)5.659 E F0 .659
-(interprets the follo)3.159 F(wing)-.25 E(escape sequences:)144 220.8 Q
-F4(\\a)144 232.8 Q F0(alert \(bell\))28.22 E F4(\\b)144 244.8 Q F0
-(backspace)27.66 E F4(\\c)144 256.8 Q F0(suppress trailing ne)28.78 E
-(wline)-.25 E F4(\\e)144 268.8 Q F0(an escape character)28.78 E F4(\\f)
-144 280.8 Q F0(form feed)29.89 E F4(\\n)144 292.8 Q F0(ne)27.66 E 2.5
-(wl)-.25 G(ine)-2.5 E F4(\\r)144 304.8 Q F0(carriage return)28.78 E F4
-(\\t)144 316.8 Q F0(horizontal tab)29.89 E F4(\\v)144 328.8 Q F0 -.15
-(ve)28.22 G(rtical tab).15 E F4(\\\\)144 340.8 Q F0(backslash)30.44 E F4
-(\\0)144 352.8 Q F3(nnn)A F0(the eight-bit character whose v)13.22 E
-(alue is the octal v)-.25 E(alue)-.25 E F3(nnn)2.5 E F0
-(\(zero to three octal digits\))2.5 E F4(\\)144 364.8 Q F3(nnn)A F0
+(wline. The)-.25 F .394(return status is al)2.895 F -.1(wa)-.1 G .394
+(ys 0.).1 F(If)5.394 E F1<ad6e>2.894 E F0 .548
+(is speci\214ed, the trailing ne)144 196.8 R .548(wline is suppressed.)
+-.25 F .548(If the)5.548 F F1<ad65>3.048 E F0 .548(option is gi)3.048 F
+-.15(ve)-.25 G .548(n, interpretation of the fol-).15 F(lo)144 208.8 Q
+.053(wing backslash-escaped characters is enabled.)-.25 F(The)5.053 E F1
+<ad45>2.553 E F0 .052(option disables the interpretation of these)2.552
+F 1.502(escape characters, e)144 220.8 R -.15(ve)-.25 G 4.002(no).15 G
+4.002(ns)-4.002 G 1.502(ystems where the)-4.002 F 4.002(ya)-.15 G 1.502
+(re interpreted by def)-4.002 F 4.003(ault. The)-.1 F F1(xpg_echo)4.003
+E F0(shell)4.003 E .009
+(option may be used to dynamically determine whether or not)144 232.8 R
+F1(echo)2.509 E F0 -.15(ex)2.509 G .009(pands these escape characters)
+.15 F .659(by def)144 244.8 R(ault.)-.1 E F1(echo)5.659 E F0 .659
+(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.66 E F0 .66
+(interprets the follo)3.16 F(wing)-.25 E(escape sequences:)144 256.8 Q
+F1(\\a)144 268.8 Q F0(alert \(bell\))28.22 E F1(\\b)144 280.8 Q F0
+(backspace)27.66 E F1(\\c)144 292.8 Q F0(suppress trailing ne)28.78 E
+(wline)-.25 E F1(\\e)144 304.8 Q F0(an escape character)28.78 E F1(\\f)
+144 316.8 Q F0(form feed)29.89 E F1(\\n)144 328.8 Q F0(ne)27.66 E 2.5
+(wl)-.25 G(ine)-2.5 E F1(\\r)144 340.8 Q F0(carriage return)28.78 E F1
+(\\t)144 352.8 Q F0(horizontal tab)29.89 E F1(\\v)144 364.8 Q F0 -.15
+(ve)28.22 G(rtical tab).15 E F1(\\\\)144 376.8 Q F0(backslash)30.44 E F1
+(\\0)144 388.8 Q F2(nnn)A F0(the eight-bit character whose v)13.22 E
+(alue is the octal v)-.25 E(alue)-.25 E F2(nnn)2.5 E F0
+(\(zero to three octal digits\))2.5 E F1(\\)144 400.8 Q F2(nnn)A F0
 (the eight-bit character whose v)18.22 E(alue is the octal v)-.25 E
-(alue)-.25 E F3(nnn)2.5 E F0(\(one to three octal digits\))2.5 E F4(\\x)
-144 376.8 Q F3(HH)A F0(the eight-bit character whose v)13.78 E
-(alue is the he)-.25 E(xadecimal v)-.15 E(alue)-.25 E F3(HH)2.5 E F0
-(\(one or tw)2.5 E 2.5(oh)-.1 G .3 -.15(ex d)-2.5 H(igits\)).15 E F4
-(enable)108 393.6 Q F0([)2.5 E F4(\255adnps)A F0 2.5(][)C F4<ad66>-2.5 E
-F3(\214lename)2.5 E F0 2.5(][)C F3(name)-2.5 E F0(...])2.5 E .277
-(Enable and disable b)144 405.6 R .278(uiltin shell commands.)-.2 F .278
+(alue)-.25 E F2(nnn)2.5 E F0(\(one to three octal digits\))2.5 E F1(\\x)
+144 412.8 Q F2(HH)A F0(the eight-bit character whose v)13.78 E
+(alue is the he)-.25 E(xadecimal v)-.15 E(alue)-.25 E F2(HH)2.5 E F0
+(\(one or tw)2.5 E 2.5(oh)-.1 G .3 -.15(ex d)-2.5 H(igits\)).15 E F1
+(enable)108 429.6 Q F0([)2.5 E F1(\255adnps)A F0 2.5(][)C F1<ad66>-2.5 E
+F2(\214lename)2.5 E F0 2.5(][)C F2(name)-2.5 E F0(...])2.5 E .278
+(Enable and disable b)144 441.6 R .278(uiltin shell commands.)-.2 F .278
 (Disabling a b)5.278 F .278(uiltin allo)-.2 F .278
-(ws a disk command which has)-.25 F .834(the same name as a shell b)144
-417.6 R .834(uiltin to be e)-.2 F -.15(xe)-.15 G .834
-(cuted without specifying a full pathname, e).15 F -.15(ve)-.25 G 3.333
-(nt).15 G(hough)-3.333 E .989(the shell normally searches for b)144
-429.6 R .989(uiltins before disk commands.)-.2 F(If)5.989 E F4<ad6e>
-3.489 E F0 .99(is used, each)3.49 F F3(name)3.49 E F0 .99(is dis-)3.49 F
-1.582(abled; otherwise,)144 441.6 R F3(names)4.082 E F0 1.582
-(are enabled.)4.082 F -.15(Fo)6.582 G 4.082(re).15 G 1.582
-(xample, to use the)-4.232 F F4(test)4.082 E F0 1.582
-(binary found via the)4.082 F F1 -.666(PA)4.081 G(TH)-.189 E F0 .08
-(instead of the shell b)144 453.6 R .08(uiltin v)-.2 F .08(ersion, run)
--.15 F/F5 10/Courier@0 SF .081(enable -n test)2.58 F F0 5.081(.T)C(he)
--5.081 E F4<ad66>2.581 E F0 .081(option means to load the ne)2.581 F(w)
--.25 E -.2(bu)144 465.6 S 1.525(iltin command).2 F F3(name)4.385 E F0
-1.524(from shared object)4.204 F F3(\214lename)4.024 E F0 4.024(,o).18 G
-4.024(ns)-4.024 G 1.524(ystems that support dynamic loading.)-4.024 F
-(The)144 477.6 Q F4<ad64>2.866 E F0 .366(option will delete a b)2.866 F
-.366(uiltin pre)-.2 F .366(viously loaded with)-.25 F F4<ad66>2.867 E F0
-5.367(.I)C 2.867(fn)-5.367 G(o)-2.867 E F3(name)2.867 E F0(ar)2.867 E
-.367(guments are gi)-.18 F -.15(ve)-.25 G .367(n, or).15 F .399(if the)
-144 489.6 R F4<ad70>2.899 E F0 .399
-(option is supplied, a list of shell b)2.899 F .399(uiltins is printed.)
--.2 F -.4(Wi)5.399 G .399(th no other option ar).4 F .398(guments, the)
--.18 F .098(list consists of all enabled shell b)144 501.6 R 2.598
-(uiltins. If)-.2 F F4<ad6e>2.598 E F0 .098(is supplied, only disabled b)
-2.598 F .099(uiltins are printed.)-.2 F(If)5.099 E F4<ad61>2.599 E F0
-1.917(is supplied, the list printed includes all b)144 513.6 R 1.916
-(uiltins, with an indication of whether or not each is)-.2 F 2.878
-(enabled. If)144 525.6 R F4<ad73>2.878 E F0 .379
-(is supplied, the output is restricted to the POSIX)2.878 F F3(special)
-2.879 E F0 -.2(bu)2.879 G 2.879(iltins. The).2 F .379(return v)2.879 F
-(alue)-.25 E .995(is 0 unless a)144 537.6 R F3(name)3.855 E F0 .994
-(is not a shell b)3.675 F .994(uiltin or there is an error loading a ne)
--.2 F 3.494(wb)-.25 G .994(uiltin from a shared)-3.694 F(object.)144
-549.6 Q F4 -2.3 -.15(ev a)108 566.4 T(l).15 E F0([)2.5 E F3(ar)A(g)-.37
-E F0(...])2.5 E(The)144 578.4 Q F3(ar)3.17 E(g)-.37 E F0 3.17(sa)C .671
-(re read and concatenated together into a single command.)-3.17 F .671
-(This command is then read)5.671 F .495(and e)144 590.4 R -.15(xe)-.15 G
-.495(cuted by the shell, and its e).15 F .495
-(xit status is returned as the v)-.15 F .495(alue of)-.25 F F4 -2.3 -.15
+(ws a disk command which has)-.25 F .833(the same name as a shell b)144
+453.6 R .834(uiltin to be e)-.2 F -.15(xe)-.15 G .834
+(cuted without specifying a full pathname, e).15 F -.15(ve)-.25 G 3.334
+(nt).15 G(hough)-3.334 E .99(the shell normally searches for b)144 465.6
+R .989(uiltins before disk commands.)-.2 F(If)5.989 E F1<ad6e>3.489 E F0
+.989(is used, each)3.489 F F2(name)3.489 E F0 .989(is dis-)3.489 F 1.581
+(abled; otherwise,)144 477.6 R F2(names)4.082 E F0 1.582(are enabled.)
+4.082 F -.15(Fo)6.582 G 4.082(re).15 G 1.582(xample, to use the)-4.232 F
+F1(test)4.082 E F0 1.582(binary found via the)4.082 F F3 -.666(PA)4.082
+G(TH)-.189 E F0 .081(instead of the shell b)144 489.6 R .081(uiltin v)
+-.2 F .081(ersion, run)-.15 F/F5 10/Courier@0 SF .081(enable -n test)
+2.581 F F0 5.081(.T)C(he)-5.081 E F1<ad66>2.58 E F0 .08
+(option means to load the ne)2.58 F(w)-.25 E -.2(bu)144 501.6 S 1.524
+(iltin command).2 F F2(name)4.384 E F0 1.524(from shared object)4.204 F
+F2(\214lename)4.024 E F0 4.024(,o).18 G 4.024(ns)-4.024 G 1.524
+(ystems that support dynamic loading.)-4.024 F(The)144 513.6 Q F1<ad64>
+2.867 E F0 .367(option will delete a b)2.867 F .367(uiltin pre)-.2 F
+.367(viously loaded with)-.25 F F1<ad66>2.866 E F0 5.366(.I)C 2.866(fn)
+-5.366 G(o)-2.866 E F2(name)2.866 E F0(ar)2.866 E .366(guments are gi)
+-.18 F -.15(ve)-.25 G .366(n, or).15 F .398(if the)144 525.6 R F1<ad70>
+2.898 E F0 .399(option is supplied, a list of shell b)2.899 F .399
+(uiltins is printed.)-.2 F -.4(Wi)5.399 G .399(th no other option ar).4
+F .399(guments, the)-.18 F .099(list consists of all enabled shell b)144
+537.6 R 2.598(uiltins. If)-.2 F F1<ad6e>2.598 E F0 .098
+(is supplied, only disabled b)2.598 F .098(uiltins are printed.)-.2 F
+(If)5.098 E F1<ad61>2.598 E F0 1.916
+(is supplied, the list printed includes all b)144 549.6 R 1.916
+(uiltins, with an indication of whether or not each is)-.2 F 2.879
+(enabled. If)144 561.6 R F1<ad73>2.879 E F0 .379
+(is supplied, the output is restricted to the POSIX)2.879 F F2(special)
+2.879 E F0 -.2(bu)2.878 G 2.878(iltins. The).2 F .378(return v)2.878 F
+(alue)-.25 E .994(is 0 unless a)144 573.6 R F2(name)3.854 E F0 .994
+(is not a shell b)3.674 F .994(uiltin or there is an error loading a ne)
+-.2 F 3.495(wb)-.25 G .995(uiltin from a shared)-3.695 F(object.)144
+585.6 Q F1 -2.3 -.15(ev a)108 602.4 T(l).15 E F0([)2.5 E F2(ar)A(g)-.37
+E F0(...])2.5 E(The)144 614.4 Q F2(ar)3.171 E(g)-.37 E F0 3.171(sa)C
+.671(re read and concatenated together into a single command.)-3.171 F
+.67(This command is then read)5.67 F .495(and e)144 626.4 R -.15(xe)-.15
+.495(cuted by the shell, and its e).15 F .495
+(xit status is returned as the v)-.15 F .495(alue of)-.25 F F1 -2.3 -.15
 (ev a)2.995 H(l).15 E F0 5.495(.I)C 2.995(ft)-5.495 G .495(here are no)
--2.995 F F3(ar)2.995 E(gs)-.37 E F0(,).27 E(or only null ar)144 602.4 Q
-(guments,)-.18 E F4 -2.3 -.15(ev a)2.5 H(l).15 E F0(returns 0.)2.5 E F4
-(exec)108 619.2 Q F0([)2.5 E F4(\255cl)A F0 2.5(][)C F4<ad61>-2.5 E F3
-(name)2.5 E F0 2.5(][)C F3(command)-2.5 E F0([)2.5 E F3(ar)A(guments)
--.37 E F0(]])A(If)144 631.2 Q F3(command)3.005 E F0 .305
-(is speci\214ed, it replaces the shell.)3.575 F .305(No ne)5.305 F 2.805
-(wp)-.25 G .306(rocess is created.)-2.805 F(The)5.306 E F3(ar)3.136 E
-(guments)-.37 E F0(become)3.076 E .177(the ar)144 643.2 R .177
-(guments to)-.18 F F3(command)2.676 E F0 5.176(.I)C 2.676(ft)-5.176 G
-(he)-2.676 E F4<ad6c>2.676 E F0 .176
-(option is supplied, the shell places a dash at the be)2.676 F .176
-(ginning of)-.15 F .159(the zeroth ar)144 655.2 R 2.659(gp)-.18 G .159
-(assed to)-2.659 F F3(command)2.659 E F0 5.159(.T).77 G .159
-(his is what)-5.159 F F3(lo)2.659 E(gin)-.1 E F0 .159(\(1\) does.).24 F
-(The)5.16 E F4<ad63>2.66 E F0 .16(option causes)2.66 F F3(command)2.86 E
-F0(to)3.43 E 1.196(be e)144 667.2 R -.15(xe)-.15 G 1.196
-(cuted with an empty en).15 F 3.696(vironment. If)-.4 F F4<ad61>3.696 E
-F0 1.196(is supplied, the shell passes)3.696 F F3(name)4.055 E F0 1.195
-(as the zeroth)3.875 F(ar)144 679.2 Q .02(gument to the e)-.18 F -.15
-(xe)-.15 G .02(cuted command.).15 F(If)5.02 E F3(command)2.72 E F0 .02
+-2.995 F F2(ar)2.995 E(gs)-.37 E F0(,).27 E(or only null ar)144 638.4 Q
+(guments,)-.18 E F1 -2.3 -.15(ev a)2.5 H(l).15 E F0(returns 0.)2.5 E F1
+(exec)108 655.2 Q F0([)2.5 E F1(\255cl)A F0 2.5(][)C F1<ad61>-2.5 E F2
+(name)2.5 E F0 2.5(][)C F2(command)-2.5 E F0([)2.5 E F2(ar)A(guments)
+-.37 E F0(]])A(If)144 667.2 Q F2(command)3.006 E F0 .306
+(is speci\214ed, it replaces the shell.)3.576 F .305(No ne)5.305 F 2.805
+(wp)-.25 G .305(rocess is created.)-2.805 F(The)5.305 E F2(ar)3.135 E
+(guments)-.37 E F0(become)3.075 E .176(the ar)144 679.2 R .176
+(guments to)-.18 F F2(command)2.676 E F0 5.176(.I)C 2.676(ft)-5.176 G
+(he)-2.676 E F1<ad6c>2.676 E F0 .176
+(option is supplied, the shell places a dash at the be)2.676 F .177
+(ginning of)-.15 F .16(the zeroth ar)144 691.2 R 2.66(gp)-.18 G .16
+(assed to)-2.66 F F2(command)2.66 E F0 5.16(.T).77 G .159(his is what)
+-5.16 F F2(lo)2.659 E(gin)-.1 E F0 .159(\(1\) does.).24 F(The)5.159 E F1
+<ad63>2.659 E F0 .159(option causes)2.659 F F2(command)2.859 E F0(to)
+3.429 E 1.195(be e)144 703.2 R -.15(xe)-.15 G 1.195
+(cuted with an empty en).15 F 3.695(vironment. If)-.4 F F1<ad61>3.696 E
+F0 1.196(is supplied, the shell passes)3.696 F F2(name)4.056 E F0 1.196
+(as the zeroth)3.876 F(ar)144 715.2 Q .02(gument to the e)-.18 F -.15
+(xe)-.15 G .02(cuted command.).15 F(If)5.02 E F2(command)2.72 E F0 .02
 (cannot be e)3.29 F -.15(xe)-.15 G .02
-(cuted for some reason, a non-inter).15 F(-)-.2 E(acti)144 691.2 Q 1.067
--.15(ve s)-.25 H .767(hell e).15 F .767(xits, unless the shell option)
--.15 F F4(execfail)3.266 E F0 .766
-(is enabled, in which case it returns f)3.266 F 3.266(ailure. An)-.1 F
-(interacti)144 703.2 Q 1.518 -.15(ve s)-.25 H 1.218(hell returns f).15 F
-1.219(ailure if the \214le cannot be e)-.1 F -.15(xe)-.15 G 3.719
-(cuted. If).15 F F3(command)3.919 E F0 1.219(is not speci\214ed, an)
-4.489 F(y)-.15 E .134(redirections tak)144 715.2 R 2.634(ee)-.1 G -.25
-(ff)-2.634 G .134(ect in the current shell, and the return status is 0.)
-.25 F .134(If there is a redirection error)5.134 F(,)-.4 E
-(the return status is 1.)144 727.2 Q(GNU Bash-3.0)72 768 Q(2004 Apr 20)
-148.735 E(6)203.725 E 0 Cg EP
+(cuted for some reason, a non-inter).15 F(-)-.2 E(acti)144 727.2 Q 1.066
+-.15(ve s)-.25 H .766(hell e).15 F .766(xits, unless the shell option)
+-.15 F F1(execfail)3.266 E F0 .766
+(is enabled, in which case it returns f)3.266 F 3.267(ailure. An)-.1 F
+(GNU Bash-3.0)72 768 Q(2004 Apr 20)148.735 E(6)203.725 E 0 Cg EP
 %%Page: 7 7
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 290.48
-(TINS\(1\) B)-.92 F(ASH_B)-.35 E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10
-/Times-Bold@0 SF(exit)108 84 Q F0([)2.5 E/F2 10/Times-Italic@0 SF(n)A F0
-6.29(]C)C .095(ause the shell to e)-6.29 F .095(xit with a status of)
--.15 F F2(n)2.595 E F0 5.095(.I)C(f)-5.095 E F2(n)2.955 E F0 .096
-(is omitted, the e)2.835 F .096(xit status is that of the last command)
--.15 F -.15(exe)144 96 S 2.5(cuted. A).15 F(trap on)2.5 E/F3 9
-/Times-Bold@0 SF(EXIT)2.5 E F0(is e)2.25 E -.15(xe)-.15 G
-(cuted before the shell terminates.).15 E F1(export)108 112.8 Q F0([)2.5
-E F1(\255fn)A F0 2.5(][).833 G F2(name)-2.5 E F0([=)A F2(wor)A(d)-.37 E
-F0(]] ...)A F1(export \255p)108 124.8 Q F0 .257(The supplied)144 136.8 R
-F2(names)3.117 E F0 .257(are mark)3.027 F .257(ed for automatic e)-.1 F
-.257(xport to the en)-.15 F .257(vironment of subsequently e)-.4 F -.15
-(xe)-.15 G(cuted).15 E 2.626(commands. If)144 148.8 R(the)2.626 E F1
-<ad66>2.626 E F0 .127(option is gi)2.627 F -.15(ve)-.25 G .127(n, the)
-.15 F F2(names)2.987 E F0 .127(refer to functions.)2.897 F .127(If no)
-5.127 F F2(names)2.987 E F0 .127(are gi)2.897 F -.15(ve)-.25 G .127
-(n, or if the).15 F F1<ad70>144 160.8 Q F0 .66
-(option is supplied, a list of all names that are e)3.16 F .659
-(xported in this shell is printed.)-.15 F(The)5.659 E F1<ad6e>3.159 E F0
-(option)3.159 E 1.586(causes the e)144 172.8 R 1.586
+(TINS\(1\) B)-.92 F(ASH_B)-.35 E(UIL)-.1 E(TINS\(1\))-.92 E(interacti)
+144 84 Q 1.519 -.15(ve s)-.25 H 1.219(hell returns f).15 F 1.219
+(ailure if the \214le cannot be e)-.1 F -.15(xe)-.15 G 3.719(cuted. If)
+.15 F/F1 10/Times-Italic@0 SF(command)3.918 E F0 1.218
+(is not speci\214ed, an)4.488 F(y)-.15 E .133(redirections tak)144 96 R
+2.633(ee)-.1 G -.25(ff)-2.633 G .134
+(ect in the current shell, and the return status is 0.).25 F .134
+(If there is a redirection error)5.134 F(,)-.4 E
+(the return status is 1.)144 108 Q/F2 10/Times-Bold@0 SF(exit)108 124.8
+Q F0([)2.5 E F1(n)A F0 6.29(]C)C .096(ause the shell to e)-6.29 F .096
+(xit with a status of)-.15 F F1(n)2.596 E F0 5.096(.I)C(f)-5.096 E F1(n)
+2.955 E F0 .095(is omitted, the e)2.835 F .095
+(xit status is that of the last command)-.15 F -.15(exe)144 136.8 S 2.5
+(cuted. A).15 F(trap on)2.5 E/F3 9/Times-Bold@0 SF(EXIT)2.5 E F0(is e)
+2.25 E -.15(xe)-.15 G(cuted before the shell terminates.).15 E F2
+(export)108 153.6 Q F0([)2.5 E F2(\255fn)A F0 2.5(][).833 G F1(name)-2.5
+E F0([=)A F1(wor)A(d)-.37 E F0(]] ...)A F2(export \255p)108 165.6 Q F0
+.256(The supplied)144 177.6 R F1(names)3.117 E F0 .257(are mark)3.027 F
+.257(ed for automatic e)-.1 F .257(xport to the en)-.15 F .257
+(vironment of subsequently e)-.4 F -.15(xe)-.15 G(cuted).15 E 2.627
+(commands. If)144 189.6 R(the)2.627 E F2<ad66>2.627 E F0 .127
+(option is gi)2.627 F -.15(ve)-.25 G .127(n, the).15 F F1(names)2.987 E
+F0 .127(refer to functions.)2.897 F .127(If no)5.127 F F1(names)2.987 E
+F0 .127(are gi)2.897 F -.15(ve)-.25 G .126(n, or if the).15 F F2<ad70>
+144 201.6 Q F0 .659(option is supplied, a list of all names that are e)
+3.159 F .66(xported in this shell is printed.)-.15 F(The)5.66 E F2<ad6e>
+3.16 E F0(option)3.16 E 1.587(causes the e)144 213.6 R 1.587
 (xport property to be remo)-.15 F -.15(ve)-.15 G 4.086(df).15 G 1.586
-(rom each)-4.086 F F2(name)4.086 E F0 6.586(.I)C 4.086(fav)-6.586 G
-1.587(ariable name is follo)-4.336 F 1.587(wed by)-.25 F(=)144 184.8 Q
-F2(wor)A(d)-.37 E F0 2.804(,t)C .304(he v)-2.804 F .304(alue of the v)
--.25 F .304(ariable is set to)-.25 F F2(wor)2.804 E(d)-.37 E F0(.)A F1
-(export)5.304 E F0 .304(returns an e)2.804 F .303
-(xit status of 0 unless an in)-.15 F -.25(va)-.4 G(lid).25 E .293
-(option is encountered, one of the)144 196.8 R F2(names)2.793 E F0 .293
+(rom each)-4.086 F F1(name)4.086 E F0 6.586(.I)C 4.086(fav)-6.586 G
+1.586(ariable name is follo)-4.336 F 1.586(wed by)-.25 F(=)144 225.6 Q
+F1(wor)A(d)-.37 E F0 2.803(,t)C .303(he v)-2.803 F .303(alue of the v)
+-.25 F .304(ariable is set to)-.25 F F1(wor)2.804 E(d)-.37 E F0(.)A F2
+(export)5.304 E F0 .304(returns an e)2.804 F .304
+(xit status of 0 unless an in)-.15 F -.25(va)-.4 G(lid).25 E .294
+(option is encountered, one of the)144 237.6 R F1(names)2.793 E F0 .293
 (is not a v)2.793 F .293(alid shell v)-.25 F .293(ariable name, or)-.25
-F F1<ad66>2.793 E F0 .294(is supplied with a)2.793 F F2(name)144.36
-208.8 Q F0(that is not a function.)2.68 E F1(fc)108 225.6 Q F0([)2.5 E
-F1<ad65>A F2(ename)2.5 E F0 2.5(][)C F1(\255nlr)-2.5 E F0 2.5(][)C F2
-<8c72>-2.5 E(st)-.1 E F0 2.5(][)C F2(last)-2.5 E F0(])A F1(fc \255s)108
-237.6 Q F0([)2.5 E F2(pat)A F0(=)A F2 -.37(re)C(p).37 E F0 2.5(][)C F2
-(cmd)-2.5 E F0(])A .478(Fix Command.)144 249.6 R .478
-(In the \214rst form, a range of commands from)5.478 F F2<8c72>4.888 E
-(st)-.1 E F0(to)3.658 E F2(last)3.068 E F0 .477
-(is selected from the his-)3.658 F .881(tory list.)144 261.6 R F2 -.45
-(Fi)5.881 G -.1(rs).45 G(t).1 E F0(and)4.061 E F2(last)3.471 E F0 .882
+F F2<ad66>2.793 E F0 .293(is supplied with a)2.793 F F1(name)144.36
+249.6 Q F0(that is not a function.)2.68 E F2(fc)108 266.4 Q F0([)2.5 E
+F2<ad65>A F1(ename)2.5 E F0 2.5(][)C F2(\255nlr)-2.5 E F0 2.5(][)C F1
+<8c72>-2.5 E(st)-.1 E F0 2.5(][)C F1(last)-2.5 E F0(])A F2(fc \255s)108
+278.4 Q F0([)2.5 E F1(pat)A F0(=)A F1 -.37(re)C(p).37 E F0 2.5(][)C F1
+(cmd)-2.5 E F0(])A .477(Fix Command.)144 290.4 R .478
+(In the \214rst form, a range of commands from)5.477 F F1<8c72>4.888 E
+(st)-.1 E F0(to)3.658 E F1(last)3.068 E F0 .478
+(is selected from the his-)3.658 F .882(tory list.)144 302.4 R F1 -.45
+(Fi)5.882 G -.1(rs).45 G(t).1 E F0(and)4.062 E F1(last)3.472 E F0 .882
 (may be speci\214ed as a string \(to locate the last command be)4.062 F
-.882(ginning with)-.15 F .797(that string\) or as a number \(an inde)144
-273.6 R 3.297(xi)-.15 G .797(nto the history list, where a ne)-3.297 F
--.05(ga)-.15 G(ti).05 E 1.097 -.15(ve n)-.25 H .796(umber is used as an)
-.15 F(of)144 285.6 Q .276(fset from the current command number\).)-.25 F
-(If)5.276 E F2(last)2.866 E F0 .277
-(is not speci\214ed it is set to the current command)3.456 F .093
-(for listing \(so that)144 297.6 R/F4 10/Courier@0 SF .092
+.881(ginning with)-.15 F .797(that string\) or as a number \(an inde)144
+314.4 R 3.297(xi)-.15 G .797(nto the history list, where a ne)-3.297 F
+-.05(ga)-.15 G(ti).05 E 1.097 -.15(ve n)-.25 H .797(umber is used as an)
+.15 F(of)144 326.4 Q .277(fset from the current command number\).)-.25 F
+(If)5.277 E F1(last)2.867 E F0 .276
+(is not speci\214ed it is set to the current command)3.457 F .092
+(for listing \(so that)144 338.4 R/F4 10/Courier@0 SF .092
 (fc \255l \25510)2.592 F F0 .092(prints the last 10 commands\) and to)
-2.592 F F2<8c72>4.502 E(st)-.1 E F0 2.592(otherwise. If)3.272 F F2<8c72>
-4.502 E(st)-.1 E F0 .092(is not)3.272 F
-(speci\214ed it is set to the pre)144 309.6 Q
-(vious command for editing and \25516 for listing.)-.25 E(The)144 333.6
-Q F1<ad6e>2.522 E F0 .022
+2.592 F F1<8c72>4.502 E(st)-.1 E F0 2.592(otherwise. If)3.272 F F1<8c72>
+4.502 E(st)-.1 E F0 .093(is not)3.273 F
+(speci\214ed it is set to the pre)144 350.4 Q
+(vious command for editing and \25516 for listing.)-.25 E(The)144 374.4
+Q F2<ad6e>2.522 E F0 .022
 (option suppresses the command numbers when listing.)2.522 F(The)5.022 E
-F1<ad72>2.522 E F0 .022(option re)2.522 F -.15(ve)-.25 G .022
-(rses the order of).15 F .438(the commands.)144 345.6 R .438(If the)
-5.438 F F1<ad6c>2.938 E F0 .438(option is gi)2.938 F -.15(ve)-.25 G .438
+F2<ad72>2.522 E F0 .022(option re)2.522 F -.15(ve)-.25 G .022
+(rses the order of).15 F .438(the commands.)144 386.4 R .438(If the)
+5.438 F F2<ad6c>2.938 E F0 .438(option is gi)2.938 F -.15(ve)-.25 G .438
 (n, the commands are listed on standard output.).15 F(Otherwise,)5.438 E
-.334(the editor gi)144 357.6 R -.15(ve)-.25 G 2.834(nb).15 G(y)-2.834 E
-F2(ename)3.024 E F0 .335(is in)3.014 F -.2(vo)-.4 G -.1(ke).2 G 2.835
+.335(the editor gi)144 398.4 R -.15(ve)-.25 G 2.835(nb).15 G(y)-2.835 E
+F1(ename)3.025 E F0 .335(is in)3.015 F -.2(vo)-.4 G -.1(ke).2 G 2.835
 (do).1 G 2.835(na\214)-2.835 G .335(le containing those commands.)-2.835
-F(If)5.335 E F2(ename)3.025 E F0 .335(is not gi)3.015 F -.15(ve)-.25 G
-(n,).15 E .631(the v)144 369.6 R .631(alue of the)-.25 F F3(FCEDIT)3.131
-E F0 -.25(va)2.881 G .631(riable is used, and the v).25 F .631(alue of)
--.25 F F3(EDIT)3.131 E(OR)-.162 E F0(if)2.881 E F3(FCEDIT)3.13 E F0 .63
-(is not set.)2.88 F .63(If nei-)5.63 F 1.884(ther v)144 381.6 R 1.884
+F(If)5.334 E F1(ename)3.024 E F0 .334(is not gi)3.014 F -.15(ve)-.25 G
+(n,).15 E .63(the v)144 410.4 R .63(alue of the)-.25 F F3(FCEDIT)3.13 E
+F0 -.25(va)2.88 G .631(riable is used, and the v).25 F .631(alue of)-.25
+F F3(EDIT)3.131 E(OR)-.162 E F0(if)2.881 E F3(FCEDIT)3.131 E F0 .631
+(is not set.)2.881 F .631(If nei-)5.631 F 1.884(ther v)144 422.4 R 1.884
 (ariable is set, is used.)-.25 F 1.884
 (When editing is complete, the edited commands are echoed and)6.884 F
--.15(exe)144 393.6 S(cuted.).15 E .04(In the second form,)144 417.6 R F2
-(command)2.54 E F0 .04(is re-e)2.54 F -.15(xe)-.15 G .039
-(cuted after each instance of).15 F F2(pat)2.539 E F0 .039
-(is replaced by)2.539 F F2 -.37(re)2.539 G(p).37 E F0 5.039(.A)C(useful)
--2.5 E .406(alias to use with this is)144 429.6 R F4 .406(r='fc \255s')
-2.906 F F0 2.906(,s)C 2.906(ot)-2.906 G .406(hat typing)-2.906 F F4
-6.406(rc)2.906 G(c)-6.406 E F0 .406(runs the last command be)2.906 F
-.407(ginning with)-.15 F F4(cc)144 441.6 Q F0(and typing)2.5 E F4(r)2.5
-E F0(re-e)2.5 E -.15(xe)-.15 G(cutes the last command.).15 E .142
-(If the \214rst form is used, the return v)144 465.6 R .142
+-.15(exe)144 434.4 S(cuted.).15 E .039(In the second form,)144 458.4 R
+F1(command)2.539 E F0 .039(is re-e)2.539 F -.15(xe)-.15 G .039
+(cuted after each instance of).15 F F1(pat)2.54 E F0 .04(is replaced by)
+2.54 F F1 -.37(re)2.54 G(p).37 E F0 5.04(.A)C(useful)-2.5 E .406
+(alias to use with this is)144 470.4 R F4 .406(r='fc \255s')2.906 F F0
+2.906(,s)C 2.906(ot)-2.906 G .406(hat typing)-2.906 F F4 6.406(rc)2.906
+G(c)-6.406 E F0 .406(runs the last command be)2.906 F .406(ginning with)
+-.15 F F4(cc)144 482.4 Q F0(and typing)2.5 E F4(r)2.5 E F0(re-e)2.5 E
+-.15(xe)-.15 G(cutes the last command.).15 E .142
+(If the \214rst form is used, the return v)144 506.4 R .142
 (alue is 0 unless an in)-.25 F -.25(va)-.4 G .142
-(lid option is encountered or).25 F F2<8c72>4.552 E(st)-.1 E F0(or)3.322
-E F2(last)2.732 E F0 .454(specify history lines out of range.)144 477.6
-R .454(If the)5.454 F F1<ad65>2.954 E F0 .454
-(option is supplied, the return v)2.954 F .455(alue is the v)-.25 F .455
-(alue of the)-.25 F .788(last command e)144 489.6 R -.15(xe)-.15 G .788
-(cuted or f).15 F .787
+(lid option is encountered or).25 F F1<8c72>4.552 E(st)-.1 E F0(or)3.322
+E F1(last)2.732 E F0 .455(specify history lines out of range.)144 518.4
+R .454(If the)5.454 F F2<ad65>2.954 E F0 .454
+(option is supplied, the return v)2.954 F .454(alue is the v)-.25 F .454
+(alue of the)-.25 F .787(last command e)144 530.4 R -.15(xe)-.15 G .787
+(cuted or f).15 F .788
 (ailure if an error occurs with the temporary \214le of commands.)-.1 F
-.787(If the)5.787 F 1.135
+.788(If the)5.788 F 1.136
 (second form is used, the return status is that of the command re-e)144
-501.6 R -.15(xe)-.15 G 1.136(cuted, unless).15 F F2(cmd)3.836 E F0 1.136
-(does not)4.406 F(specify a v)144 513.6 Q
-(alid history line, in which case)-.25 E F1(fc)2.5 E F0(returns f)2.5 E
-(ailure.)-.1 E F1(fg)108 530.4 Q F0([)2.5 E F2(jobspec)A F0(])A(Resume)
-144 542.4 Q F2(jobspec)5.654 E F0 1.413(in the fore)4.224 F 1.413
+542.4 R -.15(xe)-.15 G 1.135(cuted, unless).15 F F1(cmd)3.835 E F0 1.135
+(does not)4.405 F(specify a v)144 554.4 Q
+(alid history line, in which case)-.25 E F2(fc)2.5 E F0(returns f)2.5 E
+(ailure.)-.1 E F2(fg)108 571.2 Q F0([)2.5 E F1(jobspec)A F0(])A(Resume)
+144 583.2 Q F1(jobspec)5.653 E F0 1.413(in the fore)4.223 F 1.413
 (ground, and mak)-.15 F 3.913(ei)-.1 G 3.913(tt)-3.913 G 1.413
-(he current job)-3.913 F 6.413(.I)-.4 G(f)-6.413 E F2(jobspec)5.653 E F0
-1.413(is not present, the)4.223 F(shell')144 554.4 Q 3.116(sn)-.55 G
-.616(otion of the)-3.116 F F2(curr)3.116 E .616(ent job)-.37 F F0 .617
-(is used.)3.116 F .617(The return v)5.617 F .617
-(alue is that of the command placed into the)-.25 F(fore)144 566.4 Q
-.363(ground, or f)-.15 F .363
-(ailure if run when job control is disabled or)-.1 F 2.862(,w)-.4 G .362
-(hen run with job control enabled, if)-2.862 F F2(jobspec)145.74 578.4 Q
-F0 .004(does not specify a v)2.814 F .004(alid job or)-.25 F F2(jobspec)
+(he current job)-3.913 F 6.413(.I)-.4 G(f)-6.413 E F1(jobspec)5.653 E F0
+1.414(is not present, the)4.223 F(shell')144 595.2 Q 3.117(sn)-.55 G
+.617(otion of the)-3.117 F F1(curr)3.117 E .617(ent job)-.37 F F0 .617
+(is used.)3.117 F .617(The return v)5.617 F .616
+(alue is that of the command placed into the)-.25 F(fore)144 607.2 Q
+.362(ground, or f)-.15 F .362
+(ailure if run when job control is disabled or)-.1 F 2.862(,w)-.4 G .363
+(hen run with job control enabled, if)-2.862 F F1(jobspec)145.74 619.2 Q
+F0 .004(does not specify a v)2.815 F .004(alid job or)-.25 F F1(jobspec)
 4.244 E F0 .004(speci\214es a job that w)2.814 F .004
-(as started without job control.)-.1 F F1(getopts)108 595.2 Q F2
-(optstring name)2.5 E F0([)2.5 E F2(ar)A(gs)-.37 E F0(])A F1(getopts)144
-607.2 Q F0 .793
-(is used by shell procedures to parse positional parameters.)3.294 F F2
-(optstring)6.023 E F0 .793(contains the option)3.513 F .149
-(characters to be recognized; if a character is follo)144 619.2 R .15
-(wed by a colon, the option is e)-.25 F .15(xpected to ha)-.15 F .45
--.15(ve a)-.2 H(n).15 E(ar)144 631.2 Q .579
-(gument, which should be separated from it by white space.)-.18 F .578
+(as started without job control.)-.1 F F2(getopts)108 636 Q F1
+(optstring name)2.5 E F0([)2.5 E F1(ar)A(gs)-.37 E F0(])A F2(getopts)144
+648 Q F0 .793
+(is used by shell procedures to parse positional parameters.)3.293 F F1
+(optstring)6.023 E F0 .793(contains the option)3.513 F .15
+(characters to be recognized; if a character is follo)144 660 R .149
+(wed by a colon, the option is e)-.25 F .149(xpected to ha)-.15 F .449
+-.15(ve a)-.2 H(n).15 E(ar)144 672 Q .578
+(gument, which should be separated from it by white space.)-.18 F .579
 (The colon and question mark char)5.579 F(-)-.2 E 1.665
-(acters may not be used as option characters.)144 643.2 R 1.665
-(Each time it is in)6.665 F -.2(vo)-.4 G -.1(ke).2 G(d,).1 E F1(getopts)
-4.165 E F0 1.665(places the ne)4.165 F(xt)-.15 E .797
-(option in the shell v)144 655.2 R(ariable)-.25 E F2(name)3.297 E F0
-3.297(,i).18 G(nitializing)-3.297 E F2(name)3.657 E F0 .797
-(if it does not e)3.477 F .796(xist, and the inde)-.15 F 3.296(xo)-.15 G
-3.296(ft)-3.296 G .796(he ne)-3.296 F(xt)-.15 E(ar)144 667.2 Q .085
+(acters may not be used as option characters.)144 684 R 1.665
+(Each time it is in)6.665 F -.2(vo)-.4 G -.1(ke).2 G(d,).1 E F2(getopts)
+4.165 E F0 1.665(places the ne)4.165 F(xt)-.15 E .796
+(option in the shell v)144 696 R(ariable)-.25 E F1(name)3.296 E F0 3.296
+(,i).18 G(nitializing)-3.296 E F1(name)3.657 E F0 .797(if it does not e)
+3.477 F .797(xist, and the inde)-.15 F 3.297(xo)-.15 G 3.297(ft)-3.297 G
+.797(he ne)-3.297 F(xt)-.15 E(ar)144 708 Q .085
 (gument to be processed into the v)-.18 F(ariable)-.25 E F3(OPTIND)2.585
 E/F5 9/Times-Roman@0 SF(.)A F3(OPTIND)4.585 E F0 .085
-(is initialized to 1 each time the shell)2.335 F .846
-(or a shell script is in)144 679.2 R -.2(vo)-.4 G -.1(ke).2 G 3.345
-(d. When).1 F .845(an option requires an ar)3.345 F(gument,)-.18 E F1
-(getopts)3.345 E F0 .845(places that ar)3.345 F(gument)-.18 E .803
-(into the v)144 691.2 R(ariable)-.25 E F3(OPT)3.303 E(ARG)-.81 E F5(.)A
-F0 .803(The shell does not reset)5.303 F F3(OPTIND)3.303 E F0 .804
-(automatically; it must be manually)3.054 F .294
-(reset between multiple calls to)144 703.2 R F1(getopts)2.793 E F0 .293
-(within the same shell in)2.793 F -.2(vo)-.4 G .293(cation if a ne).2 F
-2.793(ws)-.25 G .293(et of parameters)-2.793 F(is to be used.)144 715.2
-Q(GNU Bash-3.0)72 768 Q(2004 Apr 20)148.735 E(7)203.725 E 0 Cg EP
+(is initialized to 1 each time the shell)2.335 F .845
+(or a shell script is in)144 720 R -.2(vo)-.4 G -.1(ke).2 G 3.345
+(d. When).1 F .845(an option requires an ar)3.345 F(gument,)-.18 E F2
+(getopts)3.346 E F0 .846(places that ar)3.346 F(gument)-.18 E
+(GNU Bash-3.0)72 768 Q(2004 Apr 20)148.735 E(7)203.725 E 0 Cg EP
 %%Page: 8 8
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 290.48
-(TINS\(1\) B)-.92 F(ASH_B)-.35 E(UIL)-.1 E(TINS\(1\))-.92 E 2.043
-(When the end of options is encountered,)144 84 R/F1 10/Times-Bold@0 SF
-(getopts)4.543 E F0 -.15(ex)4.543 G 2.043(its with a return v).15 F
-2.044(alue greater than zero.)-.25 F F1(OPTIND)144 96 Q F0
-(is set to the inde)2.5 E 2.5(xo)-.15 G 2.5(ft)-2.5 G
-(he \214rst non-option ar)-2.5 E(gument, and)-.18 E F1(name)2.5 E F0
-(is set to ?.)2.5 E F1(getopts)144 120 Q F0 2.393
-(normally parses the positional parameters, b)4.893 F 2.392
-(ut if more ar)-.2 F 2.392(guments are gi)-.18 F -.15(ve)-.25 G 4.892
-(ni).15 G(n)-4.892 E/F2 10/Times-Italic@0 SF(ar)4.892 E(gs)-.37 E F0(,)
-.27 E F1(getopts)144 132 Q F0(parses those instead.)2.5 E F1(getopts)144
-156 Q F0 1.165(can report errors in tw)3.665 F 3.665(ow)-.1 G 3.665
-(ays. If)-3.765 F 1.165(the \214rst character of)3.665 F F2(optstring)
-3.895 E F0 1.166(is a colon,)3.886 F F2(silent)4.006 E F0(error)4.346 E
-1.264(reporting is used.)144 168 R 1.263
+(TINS\(1\) B)-.92 F(ASH_B)-.35 E(UIL)-.1 E(TINS\(1\))-.92 E .804
+(into the v)144 84 R(ariable)-.25 E/F1 9/Times-Bold@0 SF(OPT)3.304 E
+(ARG)-.81 E/F2 9/Times-Roman@0 SF(.)A F0 .803(The shell does not reset)
+5.304 F F1(OPTIND)3.303 E F0 .803(automatically; it must be manually)
+3.053 F .293(reset between multiple calls to)144 96 R/F3 10/Times-Bold@0
+SF(getopts)2.793 E F0 .293(within the same shell in)2.793 F -.2(vo)-.4 G
+.293(cation if a ne).2 F 2.793(ws)-.25 G .294(et of parameters)-2.793 F
+(is to be used.)144 108 Q 2.044(When the end of options is encountered,)
+144 132 R F3(getopts)4.543 E F0 -.15(ex)4.543 G 2.043
+(its with a return v).15 F 2.043(alue greater than zero.)-.25 F F3
+(OPTIND)144 144 Q F0(is set to the inde)2.5 E 2.5(xo)-.15 G 2.5(ft)-2.5
+G(he \214rst non-option ar)-2.5 E(gument, and)-.18 E F3(name)2.5 E F0
+(is set to ?.)2.5 E F3(getopts)144 168 Q F0 2.392
+(normally parses the positional parameters, b)4.892 F 2.392
+(ut if more ar)-.2 F 2.393(guments are gi)-.18 F -.15(ve)-.25 G 4.893
+(ni).15 G(n)-4.893 E/F4 10/Times-Italic@0 SF(ar)4.893 E(gs)-.37 E F0(,)
+.27 E F3(getopts)144 180 Q F0(parses those instead.)2.5 E F3(getopts)144
+204 Q F0 1.166(can report errors in tw)3.666 F 3.665(ow)-.1 G 3.665
+(ays. If)-3.765 F 1.165(the \214rst character of)3.665 F F4(optstring)
+3.895 E F0 1.165(is a colon,)3.885 F F4(silent)4.005 E F0(error)4.345 E
+1.263(reporting is used.)144 216 R 1.263
 (In normal operation diagnostic messages are printed when in)6.263 F
--.25(va)-.4 G 1.263(lid options or).25 F .393(missing option ar)144 180
-R .393(guments are encountered.)-.18 F .394(If the v)5.394 F(ariable)
--.25 E/F3 9/Times-Bold@0 SF(OPTERR)2.894 E F0 .394
-(is set to 0, no error messages)2.644 F(will be displayed, e)144 192 Q
--.15(ve)-.25 G 2.5(ni).15 G 2.5(ft)-2.5 G(he \214rst character of)-2.5 E
-F2(optstring)2.73 E F0(is not a colon.)2.72 E .667(If an in)144 216 R
--.25(va)-.4 G .667(lid option is seen,).25 F F1(getopts)3.167 E F0 .667
-(places ? into)3.167 F F2(name)3.527 E F0 .666
-(and, if not silent, prints an error message)3.347 F .399(and unsets)144
-228 R F3(OPT)2.899 E(ARG)-.81 E/F4 9/Times-Roman@0 SF(.)A F0(If)4.899 E
-F1(getopts)2.899 E F0 .399
-(is silent, the option character found is placed in)2.899 F F3(OPT)2.899
-E(ARG)-.81 E F0 .4(and no)2.65 F(diagnostic message is printed.)144 240
-Q 1.242(If a required ar)144 264 R 1.242(gument is not found, and)-.18 F
-F1(getopts)3.741 E F0 1.241(is not silent, a question mark \()3.741 F F1
-(?).833 E F0 3.741(\)i).833 G 3.741(sp)-3.741 G 1.241(laced in)-3.741 F
-F2(name)144 276 Q F0(,).18 E F3(OPT)2.734 E(ARG)-.81 E F0 .234
-(is unset, and a diagnostic message is printed.)2.484 F(If)5.234 E F1
-(getopts)2.734 E F0 .235(is silent, then a colon \()2.734 F F1(:).833 E
-F0(\)).833 E(is placed in)144 288 Q F2(name)2.86 E F0(and)2.68 E F3(OPT)
-2.5 E(ARG)-.81 E F0(is set to the option character found.)2.25 E F1
-(getopts)144 312 Q F0 .902
+-.25(va)-.4 G 1.263(lid options or).25 F .394(missing option ar)144 228
+R .394(guments are encountered.)-.18 F .394(If the v)5.394 F(ariable)
+-.25 E F1(OPTERR)2.894 E F0 .394(is set to 0, no error messages)2.644 F
+(will be displayed, e)144 240 Q -.15(ve)-.25 G 2.5(ni).15 G 2.5(ft)-2.5
+G(he \214rst character of)-2.5 E F4(optstring)2.73 E F0(is not a colon.)
+2.72 E .666(If an in)144 264 R -.25(va)-.4 G .666(lid option is seen,)
+.25 F F3(getopts)3.166 E F0 .667(places ? into)3.167 F F4(name)3.527 E
+F0 .667(and, if not silent, prints an error message)3.347 F .4
+(and unsets)144 276 R F1(OPT)2.9 E(ARG)-.81 E F2(.)A F0(If)4.899 E F3
+(getopts)2.899 E F0 .399
+(is silent, the option character found is placed in)2.899 F F1(OPT)2.899
+E(ARG)-.81 E F0 .399(and no)2.649 F(diagnostic message is printed.)144
+288 Q 1.241(If a required ar)144 312 R 1.241(gument is not found, and)
+-.18 F F3(getopts)3.741 E F0 1.241(is not silent, a question mark \()
+3.741 F F3(?).833 E F0 3.742(\)i).833 G 3.742(sp)-3.742 G 1.242
+(laced in)-3.742 F F4(name)144 324 Q F0(,).18 E F1(OPT)2.735 E(ARG)-.81
+E F0 .234(is unset, and a diagnostic message is printed.)2.485 F(If)
+5.234 E F3(getopts)2.734 E F0 .234(is silent, then a colon \()2.734 F F3
+(:).833 E F0(\)).833 E(is placed in)144 336 Q F4(name)2.86 E F0(and)2.68
+E F1(OPT)2.5 E(ARG)-.81 E F0(is set to the option character found.)2.25
+E F3(getopts)144 360 Q F0 .902
 (returns true if an option, speci\214ed or unspeci\214ed, is found.)
-3.402 F .902(It returns f)5.902 F .901(alse if the end of)-.1 F
-(options is encountered or an error occurs.)144 324 Q F1(hash)108 340.8
-Q F0([)2.5 E F1(\255lr)A F0 2.5(][)C F1<ad70>-2.5 E F2(\214lename)2.5 E
-F0 2.5(][)C F1(\255dt)-2.5 E F0 2.5(][)C F2(name)-2.5 E F0(])A -.15(Fo)
-144 352.8 S 3.554(re).15 G(ach)-3.554 E F2(name)3.554 E F0 3.554(,t).18
+3.401 F .902(It returns f)5.902 F .902(alse if the end of)-.1 F
+(options is encountered or an error occurs.)144 372 Q F3(hash)108 388.8
+Q F0([)2.5 E F3(\255lr)A F0 2.5(][)C F3<ad70>-2.5 E F4(\214lename)2.5 E
+F0 2.5(][)C F3(\255dt)-2.5 E F0 2.5(][)C F4(name)-2.5 E F0(])A -.15(Fo)
+144 400.8 S 3.555(re).15 G(ach)-3.555 E F4(name)3.555 E F0 3.555(,t).18
 G 1.054(he full \214le name of the command is determined by searching t\
-he directories in)-3.554 F F1($P)144 364.8 Q -.95(AT)-.74 G(H).95 E F0
-.35(and remembered.)2.85 F .35(If the)5.35 F F1<ad70>2.85 E F0 .349
-(option is supplied, no path search is performed, and)2.849 F F2
-(\214lename)4.759 E F0 .452
-(is used as the full \214le name of the command.)144 376.8 R(The)5.452 E
-F1<ad72>2.952 E F0 .452(option causes the shell to for)2.952 F .453
-(get all remem-)-.18 F .593(bered locations.)144 388.8 R(The)5.593 E F1
-<ad64>3.093 E F0 .593(option causes the shell to for)3.093 F .592
-(get the remembered location of each)-.18 F F2(name)3.092 E F0(.)A .02
-(If the)144 400.8 R F1<ad74>2.52 E F0 .02
-(option is supplied, the full pathname to which each)2.52 F F2(name)
-2.521 E F0 .021(corresponds is printed.)2.521 F .021(If multi-)5.021 F
-(ple)144 412.8 Q F2(name)3.704 E F0(ar)3.704 E 1.204
-(guments are supplied with)-.18 F F1<ad74>3.703 E F0 3.703(,t)C(he)
--3.703 E F2(name)3.703 E F0 1.203
-(is printed before the hashed full pathname.)3.703 F(The)144 424.8 Q F1
-<ad6c>3.215 E F0 .715(option causes output to be displayed in a format \
-that may be reused as input.)3.215 F .716(If no ar)5.716 F(gu-)-.18 E
-1.184(ments are gi)144 436.8 R -.15(ve)-.25 G 1.184(n, or if only).15 F
-F1<ad6c>3.684 E F0 1.183
+he directories in)-3.555 F F3($P)144 412.8 Q -.95(AT)-.74 G(H).95 E F0
+.349(and remembered.)2.849 F .349(If the)5.349 F F3<ad70>2.849 E F0 .349
+(option is supplied, no path search is performed, and)2.849 F F4
+(\214lename)4.76 E F0 .452
+(is used as the full \214le name of the command.)144 424.8 R(The)5.452 E
+F3<ad72>2.952 E F0 .452(option causes the shell to for)2.952 F .452
+(get all remem-)-.18 F .592(bered locations.)144 436.8 R(The)5.592 E F3
+<ad64>3.092 E F0 .593(option causes the shell to for)3.092 F .593
+(get the remembered location of each)-.18 F F4(name)3.093 E F0(.)A .021
+(If the)144 448.8 R F3<ad74>2.521 E F0 .021
+(option is supplied, the full pathname to which each)2.521 F F4(name)
+2.52 E F0 .02(corresponds is printed.)2.52 F .02(If multi-)5.02 F(ple)
+144 460.8 Q F4(name)3.703 E F0(ar)3.703 E 1.203
+(guments are supplied with)-.18 F F3<ad74>3.703 E F0 3.703(,t)C(he)
+-3.703 E F4(name)3.703 E F0 1.204
+(is printed before the hashed full pathname.)3.703 F(The)144 472.8 Q F3
+<ad6c>3.216 E F0 .715(option causes output to be displayed in a format \
+that may be reused as input.)3.216 F .715(If no ar)5.715 F(gu-)-.18 E
+1.183(ments are gi)144 484.8 R -.15(ve)-.25 G 1.183(n, or if only).15 F
+F3<ad6c>3.683 E F0 1.184
 (is supplied, information about remembered commands is printed.)3.684 F
-(The return status is true unless a)144 448.8 Q F2(name)2.86 E F0
+(The return status is true unless a)144 496.8 Q F4(name)2.86 E F0
 (is not found or an in)2.68 E -.25(va)-.4 G(lid option is supplied.).25
-E F1(help)108 465.6 Q F0([)2.5 E F1<ad73>A F0 2.5(][)C F2(pattern)-2.5 E
-F0(])A .866(Display helpful information about b)144 477.6 R .867
-(uiltin commands.)-.2 F(If)5.867 E F2(pattern)4.617 E F0 .867
-(is speci\214ed,)3.607 F F1(help)3.367 E F0(gi)3.367 E -.15(ve)-.25 G
-3.367(sd).15 G(etailed)-3.367 E .307(help on all commands matching)144
-489.6 R F2(pattern)2.807 E F0 2.807(;o).24 G .307
-(therwise help for all the b)-2.807 F .306
-(uiltins and shell control struc-)-.2 F .596(tures is printed.)144 501.6
-R(The)5.596 E F1<ad73>3.096 E F0 .596
+E F3(help)108 513.6 Q F0([)2.5 E F3<ad73>A F0 2.5(][)C F4(pattern)-2.5 E
+F0(])A .867(Display helpful information about b)144 525.6 R .867
+(uiltin commands.)-.2 F(If)5.867 E F4(pattern)4.617 E F0 .866
+(is speci\214ed,)3.607 F F3(help)3.366 E F0(gi)3.366 E -.15(ve)-.25 G
+3.366(sd).15 G(etailed)-3.366 E .306(help on all commands matching)144
+537.6 R F4(pattern)2.806 E F0 2.807(;o).24 G .307
+(therwise help for all the b)-2.807 F .307
+(uiltins and shell control struc-)-.2 F .596(tures is printed.)144 549.6
+R(The)5.596 E F3<ad73>3.096 E F0 .596
 (option restricts the information displayed to a short usage synopsis.)
 3.096 F(The)5.596 E(return status is 0 unless no command matches)144
-513.6 Q F2(pattern)2.5 E F0(.).24 E F1(history [)108 530.4 Q F2(n)A F1
-(])A(history \255c)108 542.4 Q(history \255d)108 554.4 Q F2(of)2.5 E
-(fset)-.18 E F1(history \255anrw)108 566.4 Q F0([)2.5 E F2(\214lename)A
-F0(])A F1(history \255p)108 578.4 Q F2(ar)2.5 E(g)-.37 E F0([)2.5 E F2
-(ar)A 2.5(g.)-.37 G(..)-2.5 E F0(])A F1(history \255s)108 590.4 Q F2(ar)
-2.5 E(g)-.37 E F0([)2.5 E F2(ar)A 2.5(g.)-.37 G(..)-2.5 E F0(])A -.4(Wi)
-144 602.4 S .752
+561.6 Q F4(pattern)2.5 E F0(.).24 E F3(history [)108 578.4 Q F4(n)A F3
+(])A(history \255c)108 590.4 Q(history \255d)108 602.4 Q F4(of)2.5 E
+(fset)-.18 E F3(history \255anrw)108 614.4 Q F0([)2.5 E F4(\214lename)A
+F0(])A F3(history \255p)108 626.4 Q F4(ar)2.5 E(g)-.37 E F0([)2.5 E F4
+(ar)A 2.5(g.)-.37 G(..)-2.5 E F0(])A F3(history \255s)108 638.4 Q F4(ar)
+2.5 E(g)-.37 E F0([)2.5 E F4(ar)A 2.5(g.)-.37 G(..)-2.5 E F0(])A -.4(Wi)
+144 650.4 S .752
 (th no options, display the command history list with line numbers.).4 F
-.752(Lines listed with a)5.752 F F1(*)3.251 E F0(ha)3.251 E -.15(ve)-.2
-G 1.23(been modi\214ed.)144 614.4 R 1.23(An ar)6.23 F 1.23(gument of)
--.18 F F2(n)4.09 E F0 1.231(lists only the last)3.97 F F2(n)4.091 E F0
-3.731(lines. If)3.971 F 1.231(the shell v)3.731 F(ariable)-.25 E F1
-(HISTTIME-)3.731 E(FORMA)144 626.4 Q(T)-.95 E F0 .25
-(is set and not null, it is used as a format string for)2.75 F F2
-(strftime)2.749 E F0 .249(\(3\) to display the time stamp)B .378
-(associated with each displayed history entry)144 638.4 R 5.378(.N)-.65
-G 2.878(oi)-5.378 G(nterv)-2.878 E .379
-(ening blank is printed between the format-)-.15 F .815
-(ted time stamp and the history line.)144 650.4 R(If)5.814 E F2
+.752(Lines listed with a)5.752 F F3(*)3.252 E F0(ha)3.252 E -.15(ve)-.2
+G 1.231(been modi\214ed.)144 662.4 R 1.231(An ar)6.231 F 1.231
+(gument of)-.18 F F4(n)4.091 E F0 1.231(lists only the last)3.971 F F4
+(n)4.091 E F0 3.73(lines. If)3.97 F 1.23(the shell v)3.73 F(ariable)-.25
+E F3(HISTTIME-)3.73 E(FORMA)144 674.4 Q(T)-.95 E F0 .249
+(is set and not null, it is used as a format string for)2.749 F F4
+(strftime)2.75 E F0 .25(\(3\) to display the time stamp)B .379
+(associated with each displayed history entry)144 686.4 R 5.379(.N)-.65
+G 2.878(oi)-5.379 G(nterv)-2.878 E .378
+(ening blank is printed between the format-)-.15 F .814
+(ted time stamp and the history line.)144 698.4 R(If)5.814 E F4
 (\214lename)3.314 E F0 .814
 (is supplied, it is used as the name of the history)3.314 F
-(\214le; if not, the v)144 662.4 Q(alue of)-.25 E F3(HISTFILE)2.5 E F0
+(\214le; if not, the v)144 710.4 Q(alue of)-.25 E F1(HISTFILE)2.5 E F0
 (is used.)2.25 E(Options, if supplied, ha)5 E .3 -.15(ve t)-.2 H
-(he follo).15 E(wing meanings:)-.25 E F1<ad63>144 674.4 Q F0
-(Clear the history list by deleting all the entries.)25.86 E F1<ad64>144
-686.4 Q F2(of)2.5 E(fset)-.18 E F0(Delete the history entry at position)
-180 698.4 Q F2(of)2.5 E(fset)-.18 E F0(.)A F1<ad61>144 710.4 Q F0 .598
-(Append the `)25.3 F(`ne)-.74 E(w')-.25 E 3.098('h)-.74 G .598
-(istory lines \(history lines entered since the be)-3.098 F .599
-(ginning of the current)-.15 F F1(bash)180 722.4 Q F0
-(session\) to the history \214le.)2.5 E(GNU Bash-3.0)72 768 Q
-(2004 Apr 20)148.735 E(8)203.725 E 0 Cg EP
+(he follo).15 E(wing meanings:)-.25 E(GNU Bash-3.0)72 768 Q(2004 Apr 20)
+148.735 E(8)203.725 E 0 Cg EP
 %%Page: 9 9
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 290.48
 (TINS\(1\) B)-.92 F(ASH_B)-.35 E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10
-/Times-Bold@0 SF<ad6e>144 84 Q F0 .854(Read the history lines not alrea\
-dy read from the history \214le into the current history list.)24.74 F
-.772(These are lines appended to the history \214le since the be)180 96
-R .773(ginning of the current)-.15 F F1(bash)3.273 E F0(ses-)3.273 E
-(sion.)180 108 Q F1<ad72>144 120 Q F0(Read the contents of the history \
+/Times-Bold@0 SF<ad63>144 84 Q F0
+(Clear the history list by deleting all the entries.)25.86 E F1<ad64>144
+96 Q/F2 10/Times-Italic@0 SF(of)2.5 E(fset)-.18 E F0
+(Delete the history entry at position)180 108 Q F2(of)2.5 E(fset)-.18 E
+F0(.)A F1<ad61>144 120 Q F0 .599(Append the `)25.3 F(`ne)-.74 E(w')-.25
+E 3.099('h)-.74 G .598
+(istory lines \(history lines entered since the be)-3.099 F .598
+(ginning of the current)-.15 F F1(bash)180 132 Q F0
+(session\) to the history \214le.)2.5 E F1<ad6e>144 144 Q F0 .854(Read \
+the history lines not already read from the history \214le into the cur\
+rent history list.)24.74 F .773
+(These are lines appended to the history \214le since the be)180 156 R
+.772(ginning of the current)-.15 F F1(bash)3.272 E F0(ses-)3.272 E
+(sion.)180 168 Q F1<ad72>144 180 Q F0(Read the contents of the history \
 \214le and use them as the current history)25.86 E(.)-.65 E F1<ad77>144
-132 Q F0(Write the current history to the history \214le, o)23.08 E -.15
+192 Q F0(Write the current history to the history \214le, o)23.08 E -.15
 (ve)-.15 G(rwriting the history \214le').15 E 2.5(sc)-.55 G(ontents.)
--2.5 E F1<ad70>144 144 Q F0 .626
-(Perform history substitution on the follo)24.74 F(wing)-.25 E/F2 10
-/Times-Italic@0 SF(ar)3.125 E(gs)-.37 E F0 .625
-(and display the result on the standard)3.125 F 2.975(output. Does)180
-156 R .475(not store the results in the history list.)2.975 F(Each)5.475
-E F2(ar)2.975 E(g)-.37 E F0 .475(must be quoted to disable)2.975 F
-(normal history e)180 168 Q(xpansion.)-.15 E F1<ad73>144 180 Q F0 .363
-(Store the)26.41 F F2(ar)3.193 E(gs)-.37 E F0 .363
-(in the history list as a single entry)3.133 F 5.363(.T)-.65 G .362
-(he last command in the history list is)-5.363 F(remo)180 192 Q -.15(ve)
+-2.5 E F1<ad70>144 204 Q F0 .625
+(Perform history substitution on the follo)24.74 F(wing)-.25 E F2(ar)
+3.125 E(gs)-.37 E F0 .626(and display the result on the standard)3.125 F
+2.975(output. Does)180 216 R .475
+(not store the results in the history list.)2.975 F(Each)5.475 E F2(ar)
+2.975 E(g)-.37 E F0 .475(must be quoted to disable)2.975 F
+(normal history e)180 228 Q(xpansion.)-.15 E F1<ad73>144 240 Q F0 .362
+(Store the)26.41 F F2(ar)3.192 E(gs)-.37 E F0 .363
+(in the history list as a single entry)3.132 F 5.363(.T)-.65 G .363
+(he last command in the history list is)-5.363 F(remo)180 252 Q -.15(ve)
 -.15 G 2.5(db).15 G(efore the)-2.5 E F2(ar)2.83 E(gs)-.37 E F0
-(are added.)2.77 E .28(If the)144 208.8 R F1(HISTTIMEFORMA)2.78 E(T)-.95
+(are added.)2.77 E .28(If the)144 268.8 R F1(HISTTIMEFORMA)2.78 E(T)-.95
 E F0 .28
 (is set, the time stamp information associated with each history entry)
-2.78 F .216(is written to the history \214le.)144 220.8 R .216
+2.78 F .216(is written to the history \214le.)144 280.8 R .216
 (The return v)5.216 F .216(alue is 0 unless an in)-.25 F -.25(va)-.4 G
 .216(lid option is encountered, an error).25 F .422
-(occurs while reading or writing the history \214le, an in)144 232.8 R
+(occurs while reading or writing the history \214le, an in)144 292.8 R
 -.25(va)-.4 G(lid).25 E F2(of)2.922 E(fset)-.18 E F0 .422
-(is supplied as an ar)2.922 F .422(gument to)-.18 F F1<ad64>2.922 E F0
-(,)A(or the history e)144 244.8 Q(xpansion supplied as an ar)-.15 E
+(is supplied as an ar)2.922 F .421(gument to)-.18 F F1<ad64>2.921 E F0
+(,)A(or the history e)144 304.8 Q(xpansion supplied as an ar)-.15 E
 (gument to)-.18 E F1<ad70>2.5 E F0 -.1(fa)2.5 G(ils.).1 E F1(jobs)108
-261.6 Q F0([)2.5 E F1(\255lnprs)A F0 2.5(][)C F2(jobspec)A F0(... ])2.5
-E F1(jobs \255x)108 273.6 Q F2(command)2.5 E F0([)2.5 E F2(ar)2.5 E(gs)
--.37 E F0(... ])2.5 E(The \214rst form lists the acti)144 285.6 Q .3
+321.6 Q F0([)2.5 E F1(\255lnprs)A F0 2.5(][)C F2(jobspec)A F0(... ])2.5
+E F1(jobs \255x)108 333.6 Q F2(command)2.5 E F0([)2.5 E F2(ar)2.5 E(gs)
+-.37 E F0(... ])2.5 E(The \214rst form lists the acti)144 345.6 Q .3
 -.15(ve j)-.25 H 2.5(obs. The).15 F(options ha)2.5 E .3 -.15(ve t)-.2 H
-(he follo).15 E(wing meanings:)-.25 E F1<ad6c>144 297.6 Q F0
+(he follo).15 E(wing meanings:)-.25 E F1<ad6c>144 357.6 Q F0
 (List process IDs in addition to the normal information.)27.52 E F1
-<ad70>144 309.6 Q F0(List only the process ID of the job')24.74 E 2.5
-(sp)-.55 G(rocess group leader)-2.5 E(.)-.55 E F1<ad6e>144 321.6 Q F0
-.194(Display information only about jobs that ha)24.74 F .494 -.15(ve c)
--.2 H .193(hanged status since the user w).15 F .193(as last noti-)-.1 F
-(\214ed of their status.)180 333.6 Q F1<ad72>144 345.6 Q F0
-(Restrict output to running jobs.)25.86 E F1<ad73>144 357.6 Q F0
-(Restrict output to stopped jobs.)26.41 E(If)144 374.4 Q F2(jobspec)
-4.553 E F0 .313(is gi)3.123 F -.15(ve)-.25 G .313
-(n, output is restricted to information about that job).15 F 5.314(.T)
--.4 G .314(he return status is 0 unless)-5.314 F(an in)144 386.4 Q -.25
+<ad70>144 369.6 Q F0(List only the process ID of the job')24.74 E 2.5
+(sp)-.55 G(rocess group leader)-2.5 E(.)-.55 E F1<ad6e>144 381.6 Q F0
+.193(Display information only about jobs that ha)24.74 F .494 -.15(ve c)
+-.2 H .194(hanged status since the user w).15 F .194(as last noti-)-.1 F
+(\214ed of their status.)180 393.6 Q F1<ad72>144 405.6 Q F0
+(Restrict output to running jobs.)25.86 E F1<ad73>144 417.6 Q F0
+(Restrict output to stopped jobs.)26.41 E(If)144 434.4 Q F2(jobspec)
+4.554 E F0 .314(is gi)3.124 F -.15(ve)-.25 G .314
+(n, output is restricted to information about that job).15 F 5.313(.T)
+-.4 G .313(he return status is 0 unless)-5.313 F(an in)144 446.4 Q -.25
 (va)-.4 G(lid option is encountered or an in).25 E -.25(va)-.4 G(lid).25
-E F2(jobspec)4.24 E F0(is supplied.)2.81 E .395(If the)144 403.2 R F1
-<ad78>2.895 E F0 .394(option is supplied,)2.894 F F1(jobs)2.894 E F0
+E F2(jobspec)4.24 E F0(is supplied.)2.81 E .394(If the)144 463.2 R F1
+<ad78>2.894 E F0 .394(option is supplied,)2.894 F F1(jobs)2.894 E F0
 .394(replaces an)2.894 F(y)-.15 E F2(jobspec)4.634 E F0 .394(found in)
-3.204 F F2(command)3.094 E F0(or)3.664 E F2(ar)3.224 E(gs)-.37 E F0 .394
-(with the corre-)3.164 F(sponding process group ID, and e)144 415.2 Q
+3.204 F F2(command)3.094 E F0(or)3.664 E F2(ar)3.224 E(gs)-.37 E F0 .395
+(with the corre-)3.164 F(sponding process group ID, and e)144 475.2 Q
 -.15(xe)-.15 G(cutes).15 E F2(command)2.7 E F0(passing it)3.27 E F2(ar)
 2.5 E(gs)-.37 E F0 2.5(,r).27 G(eturning its e)-2.5 E(xit status.)-.15 E
-F1(kill)108 432 Q F0([)2.5 E F1<ad73>A F2(sigspec)2.5 E F0(|)2.5 E F1
+F1(kill)108 492 Q F0([)2.5 E F1<ad73>A F2(sigspec)2.5 E F0(|)2.5 E F1
 <ad6e>2.5 E F2(signum)2.5 E F0(|)2.5 E F1<ad>2.5 E F2(sigspec)A F0 2.5
 (][)C F2(pid)-2.5 E F0(|)2.5 E F2(jobspec)2.5 E F0 2.5(].)C(..)-2.5 E F1
-(kill \255l)108 444 Q F0([)2.5 E F2(sigspec)A F0(|)2.5 E F2 -.2(ex)2.5 G
-(it_status).2 E F0(])A .119(Send the signal named by)144 456 R F2
-(sigspec)2.959 E F0(or)2.929 E F2(signum)2.959 E F0 .119
-(to the processes named by)2.939 F F2(pid)3.87 E F0(or)3.39 E F2
-(jobspec)2.62 E F0(.).31 E F2(sigspec)5.46 E F0(is)2.93 E .319
-(either a case-insensiti)144 468 R .619 -.15(ve s)-.25 H .319
-(ignal name such as).15 F/F3 9/Times-Bold@0 SF(SIGKILL)2.819 E F0 .318
-(\(with or without the)2.569 F F3(SIG)2.818 E F0 .318
-(pre\214x\) or a signal)2.568 F(number;)144 480 Q F2(signum)4.188 E F0
-1.349(is a signal number)4.168 F 6.349(.I)-.55 G(f)-6.349 E F2(sigspec)
+(kill \255l)108 504 Q F0([)2.5 E F2(sigspec)A F0(|)2.5 E F2 -.2(ex)2.5 G
+(it_status).2 E F0(])A .12(Send the signal named by)144 516 R F2
+(sigspec)2.96 E F0(or)2.93 E F2(signum)2.96 E F0 .119
+(to the processes named by)2.939 F F2(pid)3.869 E F0(or)3.389 E F2
+(jobspec)2.619 E F0(.).31 E F2(sigspec)5.459 E F0(is)2.929 E .318
+(either a case-insensiti)144 528 R .618 -.15(ve s)-.25 H .318
+(ignal name such as).15 F/F3 9/Times-Bold@0 SF(SIGKILL)2.818 E F0 .319
+(\(with or without the)2.569 F F3(SIG)2.819 E F0 .319
+(pre\214x\) or a signal)2.569 F(number;)144 540 Q F2(signum)4.189 E F0
+1.349(is a signal number)4.169 F 6.349(.I)-.55 G(f)-6.349 E F2(sigspec)
 4.189 E F0 1.349(is not present, then)4.159 F F3(SIGTERM)3.849 E F0
-1.349(is assumed.)3.599 F(An)6.349 E(ar)144 492 Q .523(gument of)-.18 F
+1.348(is assumed.)3.599 F(An)6.348 E(ar)144 552 Q .522(gument of)-.18 F
 F1<ad6c>3.023 E F0 .523(lists the signal names.)3.023 F .523(If an)5.523
 F 3.023(ya)-.15 G -.18(rg)-3.023 G .523(uments are supplied when).18 F
 F1<ad6c>3.023 E F0 .523(is gi)3.023 F -.15(ve)-.25 G .523(n, the names)
-.15 F .28(of the signals corresponding to the ar)144 504 R .28
+.15 F .28(of the signals corresponding to the ar)144 564 R .28
 (guments are listed, and the return status is 0.)-.18 F(The)5.28 E F2
--.2(ex)2.78 G(it_status).2 E F0(ar)144 516 Q .378(gument to)-.18 F F1
-<ad6c>2.878 E F0 .378
-(is a number specifying either a signal number or the e)2.878 F .377
-(xit status of a process termi-)-.15 F .593(nated by a signal.)144 528 R
+-.2(ex)2.78 G(it_status).2 E F0(ar)144 576 Q .377(gument to)-.18 F F1
+<ad6c>2.877 E F0 .378
+(is a number specifying either a signal number or the e)2.877 F .378
+(xit status of a process termi-)-.15 F .594(nated by a signal.)144 588 R
 F1(kill)5.593 E F0 .593(returns true if at least one signal w)3.093 F
-.593(as successfully sent, or f)-.1 F .594(alse if an error)-.1 F
-(occurs or an in)144 540 Q -.25(va)-.4 G(lid option is encountered.).25
-E F1(let)108 556.8 Q F2(ar)2.5 E(g)-.37 E F0([)2.5 E F2(ar)A(g)-.37 E F0
-(...])2.5 E(Each)144 568.8 Q F2(ar)3.965 E(g)-.37 E F0 1.135
-(is an arithmetic e)3.855 F 1.134(xpression to be e)-.15 F -.25(va)-.25
-G 1.134(luated \(see).25 F F3 1.134(ARITHMETIC EV)3.634 F(ALU)-1.215 E
--.855(AT)-.54 G(ION).855 E/F4 9/Times-Roman@0 SF(\).)A F0 1.134(If the)
-5.634 F(last)144 580.8 Q F2(ar)2.83 E(g)-.37 E F0 -.25(eva)2.72 G
+.593(as successfully sent, or f)-.1 F .593(alse if an error)-.1 F
+(occurs or an in)144 600 Q -.25(va)-.4 G(lid option is encountered.).25
+E F1(let)108 616.8 Q F2(ar)2.5 E(g)-.37 E F0([)2.5 E F2(ar)A(g)-.37 E F0
+(...])2.5 E(Each)144 628.8 Q F2(ar)3.964 E(g)-.37 E F0 1.134
+(is an arithmetic e)3.854 F 1.134(xpression to be e)-.15 F -.25(va)-.25
+G 1.135(luated \(see).25 F F3 1.135(ARITHMETIC EV)3.635 F(ALU)-1.215 E
+-.855(AT)-.54 G(ION).855 E/F4 9/Times-Roman@0 SF(\).)A F0 1.135(If the)
+5.635 F(last)144 640.8 Q F2(ar)2.83 E(g)-.37 E F0 -.25(eva)2.72 G
 (luates to 0,).25 E F1(let)2.5 E F0(returns 1; 0 is returned otherwise.)
-2.5 E F1(local)108 597.6 Q F0([)2.5 E F2(option)A F0 2.5(][)C F2(name)
--2.5 E F0([=)A F2(value)A F0 2.5(].)C(..])-2.5 E -.15(Fo)144 609.6 S
+2.5 E F1(local)108 657.6 Q F0([)2.5 E F2(option)A F0 2.5(][)C F2(name)
+-2.5 E F0([=)A F2(value)A F0 2.5(].)C(..])-2.5 E -.15(Fo)144 669.6 S
 2.56(re).15 G .06(ach ar)-2.56 F .06(gument, a local v)-.18 F .06
 (ariable named)-.25 F F2(name)2.92 E F0 .06(is created, and assigned)
 2.74 F F2(value)2.56 E F0 5.06(.T).18 G(he)-5.06 E F2(option)2.56 E F0
-.06(can be)2.56 F(an)144 621.6 Q 3.153(yo)-.15 G 3.153(ft)-3.153 G .653
-(he options accepted by)-3.153 F F1(declar)3.153 E(e)-.18 E F0 5.652(.W)
-C(hen)-5.652 E F1(local)3.152 E F0 .652
+.06(can be)2.56 F(an)144 681.6 Q 3.152(yo)-.15 G 3.152(ft)-3.152 G .652
+(he options accepted by)-3.152 F F1(declar)3.152 E(e)-.18 E F0 5.652(.W)
+C(hen)-5.652 E F1(local)3.152 E F0 .653
 (is used within a function, it causes the v)3.152 F(ari-)-.25 E(able)144
-633.6 Q F2(name)3.72 E F0 .86(to ha)3.54 F 1.16 -.15(ve a v)-.2 H .861
-(isible scope restricted to that function and its children.).15 F -.4
-(Wi)5.861 G .861(th no operands,).4 F F1(local)144 645.6 Q F0 1.165
-(writes a list of local v)3.665 F 1.165
+693.6 Q F2(name)3.721 E F0 .861(to ha)3.541 F 1.161 -.15(ve a v)-.2 H
+.861(isible scope restricted to that function and its children.).15 F
+-.4(Wi)5.86 G .86(th no operands,).4 F F1(local)144 705.6 Q F0 1.164
+(writes a list of local v)3.664 F 1.165
 (ariables to the standard output.)-.25 F 1.165(It is an error to use)
-6.165 F F1(local)3.664 E F0 1.164(when not)3.664 F .232
-(within a function.)144 657.6 R .233(The return status is 0 unless)5.232
+6.165 F F1(local)3.665 E F0 1.165(when not)3.665 F .233
+(within a function.)144 717.6 R .233(The return status is 0 unless)5.233
 F F1(local)2.733 E F0 .233(is used outside a function, an in)2.733 F
--.25(va)-.4 G(lid).25 E F2(name)3.093 E F0(is)2.913 E(supplied, or)144
-669.6 Q F2(name)2.5 E F0(is a readonly v)2.5 E(ariable.)-.25 E F1
-(logout)108 686.4 Q F0(Exit a login shell.)9.33 E F1(popd)108 703.2 Q F0
-<5bad>2.5 E F1(n)A F0 2.5(][)C(+)-2.5 E F2(n)A F0 2.5(][)C<ad>-2.5 E F2
-(n)A F0(])A(Remo)144 715.2 Q -.15(ve)-.15 G 2.8(se).15 G .3
-(ntries from the directory stack.)-2.8 F -.4(Wi)5.299 G .299(th no ar).4
-F .299(guments, remo)-.18 F -.15(ve)-.15 G 2.799(st).15 G .299
-(he top directory from the)-2.799 F 1.478(stack, and performs a)144
-727.2 R F1(cd)3.978 E F0 1.479(to the ne)3.978 F 3.979(wt)-.25 G 1.479
-(op directory)-3.979 F 6.479(.A)-.65 G -.18(rg)-6.479 G 1.479
-(uments, if supplied, ha).18 F 1.779 -.15(ve t)-.2 H 1.479(he follo).15
-F(wing)-.25 E(GNU Bash-3.0)72 768 Q(2004 Apr 20)148.735 E(9)203.725 E 0
-Cg EP
+-.25(va)-.4 G(lid).25 E F2(name)3.092 E F0(is)2.912 E(supplied, or)144
+729.6 Q F2(name)2.5 E F0(is a readonly v)2.5 E(ariable.)-.25 E
+(GNU Bash-3.0)72 768 Q(2004 Apr 20)148.735 E(9)203.725 E 0 Cg EP
 %%Page: 10 10
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 290.48
-(TINS\(1\) B)-.92 F(ASH_B)-.35 E(UIL)-.1 E(TINS\(1\))-.92 E(meanings:)
-144 84 Q/F1 10/Times-Bold@0 SF(+)144 96 Q/F2 10/Times-Italic@0 SF(n)A F0
-(Remo)25.3 E -.15(ve)-.15 G 2.64(st).15 G(he)-2.64 E F2(n)2.64 E F0 .14
+(TINS\(1\) B)-.92 F(ASH_B)-.35 E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10
+/Times-Bold@0 SF(logout)108 84 Q F0(Exit a login shell.)9.33 E F1(popd)
+108 100.8 Q F0<5bad>2.5 E F1(n)A F0 2.5(][)C(+)-2.5 E/F2 10
+/Times-Italic@0 SF(n)A F0 2.5(][)C<ad>-2.5 E F2(n)A F0(])A(Remo)144
+112.8 Q -.15(ve)-.15 G 2.799(se).15 G .299
+(ntries from the directory stack.)-2.799 F -.4(Wi)5.299 G .299(th no ar)
+.4 F .299(guments, remo)-.18 F -.15(ve)-.15 G 2.799(st).15 G .3
+(he top directory from the)-2.799 F 1.479(stack, and performs a)144
+124.8 R F1(cd)3.979 E F0 1.479(to the ne)3.979 F 3.979(wt)-.25 G 1.479
+(op directory)-3.979 F 6.479(.A)-.65 G -.18(rg)-6.479 G 1.478
+(uments, if supplied, ha).18 F 1.778 -.15(ve t)-.2 H 1.478(he follo).15
+F(wing)-.25 E(meanings:)144 136.8 Q F1(+)144 148.8 Q F2(n)A F0(Remo)25.3
+E -.15(ve)-.15 G 2.64(st).15 G(he)-2.64 E F2(n)2.64 E F0 .14
 (th entry counting from the left of the list sho)B .14(wn by)-.25 F F1
-(dirs)2.64 E F0 2.64(,s)C .14(tarting with zero.)-2.64 F -.15(Fo)180 108
-S 2.5(re).15 G(xample:)-2.65 E/F3 10/Courier@0 SF(popd +0)2.5 E F0(remo)
-2.5 E -.15(ve)-.15 G 2.5(st).15 G(he \214rst directory)-2.5 E(,)-.65 E
-F3(popd +1)2.5 E F0(the second.)2.5 E F1<ad>144 120 Q F2(n)A F0(Remo)
-25.3 E -.15(ve)-.15 G 3.759(st).15 G(he)-3.759 E F2(n)3.759 E F0 1.259
-(th entry counting from the right of the list sho)B 1.26(wn by)-.25 F F1
-(dirs)3.76 E F0 3.76(,s)C 1.26(tarting with)-3.76 F 2.5(zero. F)180 132
-R(or e)-.15 E(xample:)-.15 E F3(popd -0)2.5 E F0(remo)2.5 E -.15(ve)-.15
-G 2.5(st).15 G(he last directory)-2.5 E(,)-.65 E F3(popd -1)2.5 E F0
-(the ne)2.5 E(xt to last.)-.15 E F1<ad6e>144 144 Q F0 .551
-(Suppresses the normal change of directory when remo)24.74 F .551
-(ving directories from the stack, so)-.15 F
-(that only the stack is manipulated.)180 156 Q .643(If the)144 172.8 R
-F1(popd)3.143 E F0 .643(command is successful, a)3.143 F F1(dirs)3.143 E
-F0 .644(is performed as well, and the return status is 0.)3.143 F F1
-(popd)5.644 E F0 .416(returns f)144 184.8 R .416(alse if an in)-.1 F
+(dirs)2.64 E F0 2.64(,s)C .14(tarting with zero.)-2.64 F -.15(Fo)180
+160.8 S 2.5(re).15 G(xample:)-2.65 E/F3 10/Courier@0 SF(popd +0)2.5 E F0
+(remo)2.5 E -.15(ve)-.15 G 2.5(st).15 G(he \214rst directory)-2.5 E(,)
+-.65 E F3(popd +1)2.5 E F0(the second.)2.5 E F1<ad>144 172.8 Q F2(n)A F0
+(Remo)25.3 E -.15(ve)-.15 G 3.76(st).15 G(he)-3.76 E F2(n)3.76 E F0
+1.259(th entry counting from the right of the list sho)B 1.259(wn by)
+-.25 F F1(dirs)3.759 E F0 3.759(,s)C 1.259(tarting with)-3.759 F 2.5
+(zero. F)180 184.8 R(or e)-.15 E(xample:)-.15 E F3(popd -0)2.5 E F0
+(remo)2.5 E -.15(ve)-.15 G 2.5(st).15 G(he last directory)-2.5 E(,)-.65
+E F3(popd -1)2.5 E F0(the ne)2.5 E(xt to last.)-.15 E F1<ad6e>144 196.8
+Q F0 .551(Suppresses the normal change of directory when remo)24.74 F
+.551(ving directories from the stack, so)-.15 F
+(that only the stack is manipulated.)180 208.8 Q .644(If the)144 225.6 R
+F1(popd)3.144 E F0 .644(command is successful, a)3.144 F F1(dirs)3.143 E
+F0 .643(is performed as well, and the return status is 0.)3.143 F F1
+(popd)5.643 E F0 .415(returns f)144 237.6 R .415(alse if an in)-.1 F
 -.25(va)-.4 G .415
-(lid option is encountered, the directory stack is empty).25 F 2.915
-(,an)-.65 G(on-e)-2.915 E .415(xistent direc-)-.15 F
-(tory stack entry is speci\214ed, or the directory change f)144 196.8 Q
-(ails.)-.1 E F1(printf)108 213.6 Q F0([)2.5 E F1<ad76>A F2(var)2.5 E F0
+(lid option is encountered, the directory stack is empty).25 F 2.916
+(,an)-.65 G(on-e)-2.916 E .416(xistent direc-)-.15 F
+(tory stack entry is speci\214ed, or the directory change f)144 249.6 Q
+(ails.)-.1 E F1(printf)108 266.4 Q F0([)2.5 E F1<ad76>A F2(var)2.5 E F0
 (])A F2(format)2.5 E F0([)2.5 E F2(ar)A(guments)-.37 E F0(])A .372
-(Write the formatted)144 225.6 R F2(ar)2.872 E(guments)-.37 E F0 .372
+(Write the formatted)144 278.4 R F2(ar)2.872 E(guments)-.37 E F0 .372
 (to the standard output under the control of the)2.872 F F2(format)2.872
 E F0 5.372(.T)C(he)-5.372 E F2(format)2.872 E F0 1.804(is a character s\
 tring which contains three types of objects: plain characters, which ar\
-e simply)144 237.6 R .158
+e simply)144 290.4 R .159
 (copied to standard output, character escape sequences, which are con)
-144 249.6 R -.15(ve)-.4 G .159(rted and copied to the stan-).15 F .499(\
+144 302.4 R -.15(ve)-.4 G .158(rted and copied to the stan-).15 F .499(\
 dard output, and format speci\214cations, each of which causes printing\
- of the ne)144 261.6 R .499(xt successi)-.15 F -.15(ve)-.25 G F2(ar)
-3.149 E(gu-)-.37 E(ment)144 273.6 Q F0 5.423(.I)C 2.923(na)-5.423 G .423
-(ddition to the standard)-2.923 F F2(printf)2.923 E F0 .424
-(\(1\) formats,)B F1(%b)2.924 E F0(causes)2.924 E F1(printf)2.924 E F0
-.424(to e)2.924 F .424(xpand backslash escape)-.15 F .934
-(sequences in the corresponding)144 285.6 R F2(ar)3.434 E(gument)-.37 E
+ of the ne)144 314.4 R .5(xt successi)-.15 F -.15(ve)-.25 G F2(ar)3.15 E
+(gu-)-.37 E(ment)144 326.4 Q F0 5.424(.I)C 2.924(na)-5.424 G .424
+(ddition to the standard)-2.924 F F2(printf)2.924 E F0 .424
+(\(1\) formats,)B F1(%b)2.924 E F0(causes)2.923 E F1(printf)2.923 E F0
+.423(to e)2.923 F .423(xpand backslash escape)-.15 F .933
+(sequences in the corresponding)144 338.4 R F2(ar)3.434 E(gument)-.37 E
 F0(\(e)3.434 E .934(xcept that)-.15 F F1(\\c)3.434 E F0 .934
-(terminates output, backslashes in)3.434 F F1(\\')3.433 E F0(,)A F1(\\")
-3.433 E F0(,)A(and)144 297.6 Q F1(\\?)3.421 E F0 .921(are not remo)3.421
+(terminates output, backslashes in)3.434 F F1(\\')3.434 E F0(,)A F1(\\")
+3.434 E F0(,)A(and)144 350.4 Q F1(\\?)3.422 E F0 .922(are not remo)3.422
 F -.15(ve)-.15 G .922(d, and octal escapes be).15 F .922(ginning with)
--.15 F F1(\\0)3.422 E F0 .922(may contain up to four digits\), and)3.422
-F F1(%q)144 309.6 Q F0(causes)3.631 E F1(printf)3.631 E F0 1.131
-(to output the corresponding)3.631 F F2(ar)3.631 E(gument)-.37 E F0 1.13
-(in a format that can be reused as shell)3.631 F(input.)144 321.6 Q(The)
-144 345.6 Q F1<ad76>2.903 E F0 .404
-(option causes the output to be assigned to the v)2.903 F(ariable)-.25 E
+-.15 F F1(\\0)3.422 E F0 .921(may contain up to four digits\), and)3.422
+F F1(%q)144 362.4 Q F0(causes)3.63 E F1(printf)3.63 E F0 1.13
+(to output the corresponding)3.63 F F2(ar)3.631 E(gument)-.37 E F0 1.131
+(in a format that can be reused as shell)3.631 F(input.)144 374.4 Q(The)
+144 398.4 Q F1<ad76>2.904 E F0 .404
+(option causes the output to be assigned to the v)2.904 F(ariable)-.25 E
 F2(var)2.904 E F0 .404(rather than being printed to the)2.904 F
-(standard output.)144 357.6 Q(The)144 381.6 Q F2(format)3.424 E F0 .923
-(is reused as necessary to consume all of the)3.424 F F2(ar)3.423 E
+(standard output.)144 410.4 Q(The)144 434.4 Q F2(format)3.423 E F0 .923
+(is reused as necessary to consume all of the)3.423 F F2(ar)3.423 E
 (guments)-.37 E F0 5.923(.I)C 3.423(ft)-5.923 G(he)-3.423 E F2(format)
-3.423 E F0 .923(requires more)3.423 F F2(ar)144 393.6 Q(guments)-.37 E
-F0 .033(than are supplied, the e)2.533 F .033
+3.423 E F0 .924(requires more)3.424 F F2(ar)144 446.4 Q(guments)-.37 E
+F0 .033(than are supplied, the e)2.534 F .033
 (xtra format speci\214cations beha)-.15 F .333 -.15(ve a)-.2 H 2.533(si)
-.15 G 2.533(faz)-2.533 G .033(ero v)-2.533 F .034(alue or null string,)
--.25 F(as appropriate, had been supplied.)144 405.6 Q(The return v)5 E
+.15 G 2.533(faz)-2.533 G .033(ero v)-2.533 F .033(alue or null string,)
+-.25 F(as appropriate, had been supplied.)144 458.4 Q(The return v)5 E
 (alue is zero on success, non-zero on f)-.25 E(ailure.)-.1 E F1(pushd)
-108 422.4 Q F0([)2.5 E F1<ad6e>A F0 2.5(][)C F2(dir)-2.5 E F0(])A F1
-(pushd)108 434.4 Q F0([)2.5 E F1<ad6e>A F0 2.5(][)C(+)-2.5 E F2(n)A F0
-2.5(][)C<ad>-2.5 E F2(n)A F0(])A .64(Adds a directory to the top of the\
- directory stack, or rotates the stack, making the ne)144 446.4 R 3.139
-(wt)-.25 G .639(op of the)-3.139 F 1.315(stack the current w)144 458.4 R
-1.315(orking directory)-.1 F 6.315(.W)-.65 G 1.315(ith no ar)-6.715 F
-1.315(guments, e)-.18 F 1.316(xchanges the top tw)-.15 F 3.816(od)-.1 G
-1.316(irectories and)-3.816 F .872
-(returns 0, unless the directory stack is empty)144 470.4 R 5.871(.A)
--.65 G -.18(rg)-5.871 G .871(uments, if supplied, ha).18 F 1.171 -.15
-(ve t)-.2 H .871(he follo).15 F .871(wing mean-)-.25 F(ings:)144 482.4 Q
-F1(+)144 494.4 Q F2(n)A F0 1.267(Rotates the stack so that the)25.3 F F2
-(n)3.767 E F0 1.268
-(th directory \(counting from the left of the list sho)B 1.268(wn by)
--.25 F F1(dirs)180 506.4 Q F0 2.5(,s)C
-(tarting with zero\) is at the top.)-2.5 E F1<ad>144 518.4 Q F2(n)A F0
+108 475.2 Q F0([)2.5 E F1<ad6e>A F0 2.5(][)C F2(dir)-2.5 E F0(])A F1
+(pushd)108 487.2 Q F0([)2.5 E F1<ad6e>A F0 2.5(][)C(+)-2.5 E F2(n)A F0
+2.5(][)C<ad>-2.5 E F2(n)A F0(])A .639(Adds a directory to the top of th\
+e directory stack, or rotates the stack, making the ne)144 499.2 R 3.14
+(wt)-.25 G .64(op of the)-3.14 F 1.316(stack the current w)144 511.2 R
+1.316(orking directory)-.1 F 6.316(.W)-.65 G 1.315(ith no ar)-6.716 F
+1.315(guments, e)-.18 F 1.315(xchanges the top tw)-.15 F 3.815(od)-.1 G
+1.315(irectories and)-3.815 F .871
+(returns 0, unless the directory stack is empty)144 523.2 R 5.871(.A)
+-.65 G -.18(rg)-5.871 G .872(uments, if supplied, ha).18 F 1.172 -.15
+(ve t)-.2 H .872(he follo).15 F .872(wing mean-)-.25 F(ings:)144 535.2 Q
+F1(+)144 547.2 Q F2(n)A F0 1.268(Rotates the stack so that the)25.3 F F2
+(n)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 559.2 Q F0 2.5(,s)C
+(tarting with zero\) is at the top.)-2.5 E F1<ad>144 571.2 Q F2(n)A F0
 .92(Rotates the stack so that the)25.3 F F2(n)3.42 E F0 .92
 (th directory \(counting from the right of the list sho)B .92(wn by)-.25
-F F1(dirs)180 530.4 Q F0 2.5(,s)C(tarting with zero\) is at the top.)
--2.5 E F1<ad6e>144 542.4 Q F0 .902(Suppresses the normal change of dire\
+F F1(dirs)180 583.2 Q F0 2.5(,s)C(tarting with zero\) is at the top.)
+-2.5 E F1<ad6e>144 595.2 Q F0 .902(Suppresses the normal change of dire\
 ctory when adding directories to the stack, so that)24.74 F
-(only the stack is manipulated.)180 554.4 Q F2(dir)144.35 566.4 Q F0
+(only the stack is manipulated.)180 607.2 Q F2(dir)144.35 619.2 Q F0
 (Adds)23.98 E F2(dir)2.85 E F0
 (to the directory stack at the top, making it the ne)3.23 E 2.5(wc)-.25
-G(urrent w)-2.5 E(orking directory)-.1 E(.)-.65 E .489(If the)144 583.2
-R F1(pushd)2.989 E F0 .489(command is successful, a)2.989 F F1(dirs)
-2.988 E F0 .488(is performed as well.)2.988 F .488
-(If the \214rst form is used,)5.488 F F1(pushd)2.988 E F0 1.039
-(returns 0 unless the cd to)144 595.2 R F2(dir)3.889 E F0 -.1(fa)4.269 G
-3.539(ils. W).1 F 1.039(ith the second form,)-.4 F F1(pushd)3.54 E F0
-1.04(returns 0 unless the directory)3.54 F .847(stack is empty)144 607.2
-R 3.347(,an)-.65 G(on-e)-3.347 E .847(xistent directory stack element i\
+G(urrent w)-2.5 E(orking directory)-.1 E(.)-.65 E .488(If the)144 636 R
+F1(pushd)2.988 E F0 .488(command is successful, a)2.988 F F1(dirs)2.988
+E F0 .488(is performed as well.)2.988 F .489
+(If the \214rst form is used,)5.488 F F1(pushd)2.989 E F0 1.04
+(returns 0 unless the cd to)144 648 R F2(dir)3.89 E F0 -.1(fa)4.27 G
+3.539(ils. W).1 F 1.039(ith the second form,)-.4 F F1(pushd)3.539 E F0
+1.039(returns 0 unless the directory)3.539 F .846(stack is empty)144 660
+R 3.346(,an)-.65 G(on-e)-3.346 E .847(xistent directory stack element i\
 s speci\214ed, or the directory change to the)-.15 F(speci\214ed ne)144
-619.2 Q 2.5(wc)-.25 G(urrent directory f)-2.5 E(ails.)-.1 E F1(pwd)108
-636 Q F0([)2.5 E F1(\255LP)A F0(])A .844
-(Print the absolute pathname of the current w)144 648 R .845
-(orking directory)-.1 F 5.845(.T)-.65 G .845
-(he pathname printed contains no)-5.845 F .182(symbolic links if the)144
-660 R F1<ad50>2.681 E F0 .181(option is supplied or the)2.681 F F1 .181
-(\255o ph)2.681 F(ysical)-.15 E F0 .181(option to the)2.681 F F1(set)
-2.681 E F0 -.2(bu)2.681 G .181(iltin command is).2 F 3.263(enabled. If)
-144 672 R(the)3.263 E F1<ad4c>3.263 E F0 .763
-(option is used, the pathname printed may contain symbolic links.)3.263
-F .764(The return)5.764 F 1.36(status is 0 unless an error occurs while\
- reading the name of the current directory or an in)144 684 R -.25(va)
--.4 G(lid).25 E(option is supplied.)144 696 Q(GNU Bash-3.0)72 768 Q
-(2004 Apr 20)148.735 E(10)198.725 E 0 Cg EP
+672 Q 2.5(wc)-.25 G(urrent directory f)-2.5 E(ails.)-.1 E F1(pwd)108
+688.8 Q F0([)2.5 E F1(\255LP)A F0(])A .845
+(Print the absolute pathname of the current w)144 700.8 R .845
+(orking directory)-.1 F 5.844(.T)-.65 G .844
+(he pathname printed contains no)-5.844 F .181(symbolic links if the)144
+712.8 R F1<ad50>2.681 E F0 .181(option is supplied or the)2.681 F F1
+.181(\255o ph)2.681 F(ysical)-.15 E F0 .181(option to the)2.681 F F1
+(set)2.681 E F0 -.2(bu)2.681 G .182(iltin command is).2 F 3.264
+(enabled. If)144 724.8 R(the)3.264 E F1<ad4c>3.264 E F0 .763
+(option is used, the pathname printed may contain symbolic links.)3.264
+F .763(The return)5.763 F(GNU Bash-3.0)72 768 Q(2004 Apr 20)148.735 E
+(10)198.725 E 0 Cg EP
 %%Page: 11 11
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 290.48
-(TINS\(1\) B)-.92 F(ASH_B)-.35 E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10
-/Times-Bold@0 SF -.18(re)108 84 S(ad).18 E F0([)2.5 E F1(\255ers)A F0
-2.5(][)C F1<ad75>-2.5 E/F2 10/Times-Italic@0 SF(fd)2.5 E F0 2.5(][)C F1
-<ad74>-2.5 E F2(timeout)2.5 E F0 2.5(][)C F1<ad61>-2.5 E F2(aname)2.5 E
-F0 2.5(][)C F1<ad70>-2.5 E F2(pr)2.5 E(ompt)-.45 E F0 2.5(][)C F1<ad6e>
--2.5 E F2(nc)2.5 E(har)-.15 E(s)-.1 E F0 2.5(][)C F1<ad64>-2.5 E F2
-(delim)2.5 E F0 2.5(][)C F2(name)-2.5 E F0(...])2.5 E .516(One line is \
-read from the standard input, or from the \214le descriptor)144 96 R F2
-(fd)3.016 E F0 .516(supplied as an ar)3.016 F .517(gument to)-.18 F(the)
-144 108 Q F1<ad75>2.539 E F0 .039(option, and the \214rst w)2.539 F .038
-(ord is assigned to the \214rst)-.1 F F2(name)2.538 E F0 2.538(,t).18 G
-.038(he second w)-2.538 F .038(ord to the second)-.1 F F2(name)2.538 E
-F0(,).18 E .42(and so on, with lefto)144 120 R -.15(ve)-.15 G 2.92(rw)
-.15 G .42(ords and their interv)-3.02 F .42
+(TINS\(1\) B)-.92 F(ASH_B)-.35 E(UIL)-.1 E(TINS\(1\))-.92 E 1.36(status\
+ is 0 unless an error occurs while reading the name of the current dire\
+ctory or an in)144 84 R -.25(va)-.4 G(lid).25 E(option is supplied.)144
+96 Q/F1 10/Times-Bold@0 SF -.18(re)108 112.8 S(ad).18 E F0([)2.5 E F1
+(\255ers)A F0 2.5(][)C F1<ad75>-2.5 E/F2 10/Times-Italic@0 SF(fd)2.5 E
+F0 2.5(][)C F1<ad74>-2.5 E F2(timeout)2.5 E F0 2.5(][)C F1<ad61>-2.5 E
+F2(aname)2.5 E F0 2.5(][)C F1<ad70>-2.5 E F2(pr)2.5 E(ompt)-.45 E F0 2.5
+(][)C F1<ad6e>-2.5 E F2(nc)2.5 E(har)-.15 E(s)-.1 E F0 2.5(][)C F1<ad64>
+-2.5 E F2(delim)2.5 E F0 2.5(][)C F2(name)-2.5 E F0(...])2.5 E .516(One\
+ line is read from the standard input, or from the \214le descriptor)144
+124.8 R F2(fd)3.016 E F0 .516(supplied as an ar)3.016 F .516(gument to)
+-.18 F(the)144 136.8 Q F1<ad75>2.538 E F0 .038
+(option, and the \214rst w)2.538 F .038(ord is assigned to the \214rst)
+-.1 F F2(name)2.539 E F0 2.539(,t).18 G .039(he second w)-2.539 F .039
+(ord to the second)-.1 F F2(name)2.539 E F0(,).18 E .42
+(and so on, with lefto)144 148.8 R -.15(ve)-.15 G 2.92(rw).15 G .42
+(ords and their interv)-3.02 F .42
 (ening separators assigned to the last)-.15 F F2(name)2.92 E F0 5.42(.I)
-.18 G 2.92(ft)-5.42 G(here)-2.92 E .541(are fe)144 132 R .541(wer w)-.25
+.18 G 2.92(ft)-5.42 G(here)-2.92 E .54(are fe)144 160.8 R .54(wer w)-.25
 F .541(ords read from the input stream than names, the remaining names \
-are assigned empty)-.1 F -.25(va)144 144 S 2.51(lues. The).25 F .011
+are assigned empty)-.1 F -.25(va)144 172.8 S 2.511(lues. The).25 F .011
 (characters in)2.511 F/F3 9/Times-Bold@0 SF(IFS)2.511 E F0 .011
 (are used to split the line into w)2.261 F 2.511(ords. The)-.1 F .011
-(backslash character \()2.511 F F1(\\)A F0 2.511(\)m)C(ay)-2.511 E 1.891
-(be used to remo)144 156 R 2.191 -.15(ve a)-.15 H 2.191 -.15(ny s).15 H
-1.891(pecial meaning for the ne).15 F 1.89
+(backslash character \()2.511 F F1(\\)A F0 2.51(\)m)C(ay)-2.51 E 1.89
+(be used to remo)144 184.8 R 2.19 -.15(ve a)-.15 H 2.19 -.15(ny s).15 H
+1.891(pecial meaning for the ne).15 F 1.891
 (xt character read and for line continuation.)-.15 F
-(Options, if supplied, ha)144 168 Q .3 -.15(ve t)-.2 H(he follo).15 E
-(wing meanings:)-.25 E F1<ad61>144 180 Q F2(aname)2.5 E F0 1.049(The w)
-180 192 R 1.049(ords are assigned to sequential indices of the array v)
--.1 F(ariable)-.25 E F2(aname)3.55 E F0 3.55(,s).18 G 1.05
-(tarting at 0.)-3.55 F F2(aname)180.33 204 Q F0(is unset before an)2.68
-E 2.5(yn)-.15 G .5 -.25(ew va)-2.5 H(lues are assigned.).25 E(Other)5 E
-F2(name)2.5 E F0(ar)2.5 E(guments are ignored.)-.18 E F1<ad64>144 216 Q
-F2(delim)2.5 E F0(The \214rst character of)180 228 Q F2(delim)2.5 E F0
+(Options, if supplied, ha)144 196.8 Q .3 -.15(ve t)-.2 H(he follo).15 E
+(wing meanings:)-.25 E F1<ad61>144 208.8 Q F2(aname)2.5 E F0 1.05(The w)
+180 220.8 R 1.049
+(ords are assigned to sequential indices of the array v)-.1 F(ariable)
+-.25 E F2(aname)3.549 E F0 3.549(,s).18 G 1.049(tarting at 0.)-3.549 F
+F2(aname)180.33 232.8 Q F0(is unset before an)2.68 E 2.5(yn)-.15 G .5
+-.25(ew va)-2.5 H(lues are assigned.).25 E(Other)5 E F2(name)2.5 E F0
+(ar)2.5 E(guments are ignored.)-.18 E F1<ad64>144 244.8 Q F2(delim)2.5 E
+F0(The \214rst character of)180 256.8 Q F2(delim)2.5 E F0
 (is used to terminate the input line, rather than ne)2.5 E(wline.)-.25 E
-F1<ad65>144 240 Q F0 .373
+F1<ad65>144 268.8 Q F0 .372
 (If the standard input is coming from a terminal,)25.86 F F1 -.18(re)
-2.873 G(adline).18 E F0(\(see)2.873 E F3(READLINE)2.872 E F0(abo)2.622 E
--.15(ve)-.15 G 2.872(\)i).15 G 2.872(su)-2.872 G(sed)-2.872 E
-(to obtain the line.)180 252 Q F1<ad6e>144 264 Q F2(nc)2.5 E(har)-.15 E
-(s)-.1 E F1 -.18(re)180 276 S(ad).18 E F0 1.394(returns after reading)
-3.894 F F2(nc)3.894 E(har)-.15 E(s)-.1 E F0 1.395
-(characters rather than w)3.894 F 1.395(aiting for a complete line of)
--.1 F(input.)180 288 Q F1<ad70>144 300 Q F2(pr)2.5 E(ompt)-.45 E F0
-(Display)180 312 Q F2(pr)3.661 E(ompt)-.45 E F0 1.161(on standard error)
-3.661 F 3.661(,w)-.4 G 1.161(ithout a trailing ne)-3.661 F 1.161
-(wline, before attempting to read)-.25 F(an)180 324 Q 2.5(yi)-.15 G 2.5
-(nput. The)-2.5 F
+2.873 G(adline).18 E F0(\(see)2.873 E F3(READLINE)2.873 E F0(abo)2.623 E
+-.15(ve)-.15 G 2.873(\)i).15 G 2.873(su)-2.873 G(sed)-2.873 E
+(to obtain the line.)180 280.8 Q F1<ad6e>144 292.8 Q F2(nc)2.5 E(har)
+-.15 E(s)-.1 E F1 -.18(re)180 304.8 S(ad).18 E F0 1.395
+(returns after reading)3.895 F F2(nc)3.895 E(har)-.15 E(s)-.1 E F0 1.395
+(characters rather than w)3.895 F 1.394(aiting for a complete line of)
+-.1 F(input.)180 316.8 Q F1<ad70>144 328.8 Q F2(pr)2.5 E(ompt)-.45 E F0
+(Display)180 340.8 Q F2(pr)3.66 E(ompt)-.45 E F0 1.161
+(on standard error)3.66 F 3.661(,w)-.4 G 1.161(ithout a trailing ne)
+-3.661 F 1.161(wline, before attempting to read)-.25 F(an)180 352.8 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 F1
-<ad72>144 336 Q F0 .543(Backslash does not act as an escape character)
-25.86 F 5.543(.T)-.55 G .544(he backslash is considered to be part of)
--5.543 F(the line.)180 348 Q(In particular)5 E 2.5(,ab)-.4 G
+<ad72>144 364.8 Q F0 .544(Backslash does not act as an escape character)
+25.86 F 5.543(.T)-.55 G .543(he backslash is considered to be part of)
+-5.543 F(the line.)180 376.8 Q(In particular)5 E 2.5(,ab)-.4 G
 (ackslash-ne)-2.5 E(wline pair may not be used as a line continuation.)
--.25 E F1<ad73>144 360 Q F0(Silent mode.)26.41 E
+-.25 E F1<ad73>144 388.8 Q F0(Silent mode.)26.41 E
 (If input is coming from a terminal, characters are not echoed.)5 E F1
-<ad74>144 372 Q F2(timeout)2.5 E F0(Cause)180 384 Q F1 -.18(re)3.549 G
-(ad).18 E F0 1.048(to time out and return f)3.549 F 1.048
+<ad74>144 400.8 Q F2(timeout)2.5 E F0(Cause)180 412.8 Q F1 -.18(re)3.548
+G(ad).18 E F0 1.048(to time out and return f)3.548 F 1.048
 (ailure if a complete line of input is not read within)-.1 F F2(timeout)
-180 396 Q F0 2.92(seconds. This)2.92 F .42(option has no ef)2.92 F .42
+180 424.8 Q F0 2.92(seconds. This)2.92 F .42(option has no ef)2.92 F .42
 (fect if)-.25 F F1 -.18(re)2.92 G(ad).18 E F0 .42
-(is not reading input from the terminal)2.92 F(or a pipe.)180 408 Q F1
-<ad75>144 420 Q F2(fd)2.5 E/F4 10/Palatino-Roman@0 SF(Read input fr)
-14.46 E(om \214le descriptor)-.18 E/F5 10/Palatino-Italic@0 SF(fd)2.5 E
-F4(.)A .336(If no)144 436.8 R F5(names)3.096 E F4(ar)2.896 E 2.836(es)
--.18 G .336(upplied, the line r)-2.836 F .336
-(ead is assigned to the variable)-.18 F/F6 9/Palatino-Bold@0 SF(REPL)
-2.835 E(Y)-.828 E/F7 9/Palatino-Roman@0 SF(.)A F4 .335(The r)4.835 F
-.335(eturn code)-.18 F 1.057(is zer)144 448.8 R 1.058
-(o, unless end-of-\214le is encounter)-.18 F(ed,)-.18 E/F8 10
-/Palatino-Bold@0 SF(read)3.558 E F4 1.058
-(times out, or an invalid \214le descriptor is)3.558 F
-(supplied as the ar)144 460.8 Q(gument to)-.18 E F8<ad75>2.5 E F4(.)A F8
-(readonly)108 477.6 Q F4([)2.5 E F8(\255apf)A F4 2.5(][)C F5(name)-2.5 E
-F4([=)A F5(word)A F4 2.5(].)C(..])-2.5 E .588(The given)144 489.6 R F5
-(names)3.088 E F4(ar)3.088 E 3.088(em)-.18 G .588(arked r)-3.088 F .587
-(eadonly; the values of these)-.18 F F5(names)3.347 E F4 .587
-(may not be changed by)3.147 F .832(subsequent assignment.)144 501.6 R
-.832(If the)5.832 F F8<ad66>3.332 E F4 .833
-(option is supplied, the functions corr)3.332 F .833(esponding to the)
--.18 F F5(names)144 513.6 Q F4(ar)3.81 E 3.81(es)-.18 G 3.81(om)-3.81 G
-3.81(arked. The)-3.81 F F8<ad61>3.81 E F4 1.309(option r)3.809 F 1.309
-(estricts the variables to arrays.)-.18 F 1.309(If no)6.309 F F5(name)
-4.069 E F4(ar)4.159 E(gu-)-.18 E 1.057(ments ar)144 525.6 R 3.557(eg)
--.18 G 1.057(iven, or if the)-3.557 F F8<ad70>3.557 E F4 1.057
-(option is supplied, a list of all r)3.557 F 1.057
-(eadonly names is printed.)-.18 F(The)144 537.6 Q F8<ad70>2.578 E F4
-.077(option causes output to be displayed in a format that may be r)
-2.578 F .077(eused as input.)-.18 F .077(If a)5.077 F .902
-(variable name is followed by =)144 549.6 R F5(word)A F4 3.402(,t)C .903
-(he value of the variable is set to)-3.402 F F5(word)3.403 E F4 5.903
-(.T)C .903(he r)-5.903 F(eturn)-.18 E .998
-(status is 0 unless an invalid option is encounter)144 561.6 R .998
-(ed, one of the)-.18 F F5(names)3.757 E F4 .997(is not a valid shell)
-3.557 F(variable name, or)144 573.6 Q F8<ad66>2.5 E F4
-(is supplied with a)2.5 E F5(name)2.76 E F4(that is not a function.)2.85
-E F8(return)108 590.4 Q F4([)2.5 E F5(n)A F4(])A .563
-(Causes a function to exit with the r)144 602.4 R .563
-(eturn value speci\214ed by)-.18 F F5(n)3.063 E F4 5.563(.I).08 G(f)
--5.563 E F5(n)3.323 E F4 .563(is omitted, the r)3.143 F(eturn)-.18 E
-.545(status is that of the last command executed in the function body)
-144 614.4 R 5.544(.I)-1.11 G 3.044(fu)-5.544 G .544(sed outside a func-)
--3.044 F 1.148(tion, but during execution of a script by the)144 626.4 R
-F8(.)3.648 E F4(\()6.148 E F8(source)A F4 3.648(\)c)C 1.148
-(ommand, it causes the shell to)-3.648 F .631
-(stop executing that script and r)144 638.4 R .631(eturn either)-.18 F
-F5(n)3.391 E F4 .63(or the exit status of the last command exe-)3.211 F
-.54(cuted within the script as the exit status of the script.)144 650.4
-R .541(If used outside a function and not)5.541 F .038
-(during execution of a script by)144 662.4 R F8(.)2.538 E F4 2.538(,t)
-.833 G .038(he r)-2.538 F .038(eturn status is false.)-.18 F .037
-(Any command associated with)5.038 F(the)144 674.4 Q F8(RETURN)2.5 E F4
-(trap is executed befor)2.5 E 2.5(ee)-.18 G(xecution r)-2.5 E
-(esumes after the function or script.)-.18 E F8(set)108 691.2 Q F4([)2.5
-E F8(\255\255abefhkmnptuvxBCHP)A F4 2.5(][)C F8<ad6f>-2.5 E F5(option)
-2.5 E F4 2.5(][)C F5(ar)-2.5 E(g)-.18 E F4(...])2.5 E -.55(Wi)144 703.2
-S .245(thout options, the name and value of each shell variable ar).55 F
-2.746(ed)-.18 G .246(isplayed in a format that)-2.746 F .234(can be r)
-144 715.2 R .233(eused as input for setting or r)-.18 F .233
-(esetting the curr)-.18 F .233(ently-set variables.)-.18 F .233
-(Read-only vari-)5.233 F .748(ables cannot be r)144 727.2 R 3.248
-(eset. In)-.18 F F5 .748(posix mode)3.248 F F4 3.248(,o)C .748
-(nly shell variables ar)-3.248 F 3.248(el)-.18 G 3.248(isted. The)-3.248
-F .748(output is sorted)3.248 F F0(GNU Bash-3.0)72 768 Q(2004 Apr 20)
-148.735 E(11)198.725 E 0 Cg EP
+(is not reading input from the terminal)2.92 F(or a pipe.)180 436.8 Q F1
+<ad75>144 448.8 Q F2(fd)2.5 E F0(Read input from \214le descriptor)14.46
+E F2(fd)2.5 E F0(.)A .191(If no)144 465.6 R F2(names)3.051 E F0 .191
+(are supplied, the line read is assigned to the v)2.961 F(ariable)-.25 E
+F3(REPL)2.692 E(Y)-.828 E/F4 9/Times-Roman@0 SF(.)A F0 .192
+(The return code is zero,)4.692 F 1.218
+(unless end-of-\214le is encountered,)144 477.6 R F1 -.18(re)3.718 G(ad)
+.18 E F0 1.217(times out, or an in)3.718 F -.25(va)-.4 G 1.217
+(lid \214le descriptor is supplied as the).25 F(ar)144 489.6 Q
+(gument to)-.18 E F1<ad75>2.5 E F0(.)A F1 -.18(re)108 506.4 S(adonly).18
+E F0([)2.5 E F1(\255apf)A F0 2.5(][)C F2(name)-2.5 E F0([=)A F2(wor)A(d)
+-.37 E F0 2.5(].)C(..])-2.5 E .77(The gi)144 518.4 R -.15(ve)-.25 G(n)
+.15 E F2(names)3.27 E F0 .77(are mark)3.27 F .77(ed readonly; the v)-.1
+F .77(alues of these)-.25 F F2(names)3.63 E F0 .77
+(may not be changed by subse-)3.54 F 1.097(quent assignment.)144 530.4 R
+1.097(If the)6.097 F F1<ad66>3.597 E F0 1.097
+(option is supplied, the functions corresponding to the)3.597 F F2
+(names)3.596 E F0 1.096(are so)3.596 F(mark)144 542.4 Q 2.872(ed. The)
+-.1 F F1<ad61>2.872 E F0 .372(option restricts the v)2.872 F .372
+(ariables to arrays.)-.25 F .372(If no)5.372 F F2(name)3.232 E F0(ar)
+3.053 E .373(guments are gi)-.18 F -.15(ve)-.25 G .373(n, or if the).15
+F F1<ad70>144 554.4 Q F0 .796
+(option is supplied, a list of all readonly names is printed.)3.297 F
+(The)5.796 E F1<ad70>3.296 E F0 .796(option causes output to be)3.296 F
+.828(displayed in a format that may be reused as input.)144 566.4 R .828
+(If a v)5.828 F .828(ariable name is follo)-.25 F .828(wed by =)-.25 F
+F2(wor)A(d)-.37 E F0 3.328(,t)C(he)-3.328 E -.25(va)144 578.4 S .405
+(lue of the v).25 F .405(ariable is set to)-.25 F F2(wor)2.905 E(d)-.37
+E F0 5.405(.T)C .404(he return status is 0 unless an in)-5.405 F -.25
+(va)-.4 G .404(lid option is encountered,).25 F 1.069(one of the)144
+590.4 R F2(names)3.929 E F0 1.069(is not a v)3.839 F 1.069(alid shell v)
+-.25 F 1.069(ariable name, or)-.25 F F1<ad66>3.569 E F0 1.069
+(is supplied with a)3.569 F F2(name)3.929 E F0 1.069(that is not a)3.749
+F(function.)144 602.4 Q F1 -.18(re)108 619.2 S(tur).18 E(n)-.15 E F0([)
+2.5 E F2(n)A F0(])A .587(Causes a function to e)144 631.2 R .587
+(xit with the return v)-.15 F .587(alue speci\214ed by)-.25 F F2(n)3.087
+E F0 5.587(.I).24 G(f)-5.587 E F2(n)3.447 E F0 .586
+(is omitted, the return status is)3.327 F 1.335
+(that of the last command e)144 643.2 R -.15(xe)-.15 G 1.335
+(cuted in the function body).15 F 6.335(.I)-.65 G 3.835(fu)-6.335 G
+1.335(sed outside a function, b)-3.835 F 1.335(ut during)-.2 F -.15(exe)
+144 655.2 S .794(cution of a script by the).15 F F1(.)3.294 E F0(\()
+5.794 E F1(sour)A(ce)-.18 E F0 3.294(\)c)C .794
+(ommand, it causes the shell to stop e)-3.294 F -.15(xe)-.15 G .794
+(cuting that script).15 F .245(and return either)144 667.2 R F2(n)3.105
+E F0 .246(or the e)2.985 F .246(xit status of the last command e)-.15 F
+-.15(xe)-.15 G .246(cuted within the script as the e).15 F .246
+(xit sta-)-.15 F .082(tus of the script.)144 679.2 R .082
+(If used outside a function and not during e)5.082 F -.15(xe)-.15 G .082
+(cution of a script by).15 F F1(.)2.582 E F0 2.581(,t).833 G .081
+(he return sta-)-2.581 F 2.305(tus is f)144 691.2 R 4.805(alse. An)-.1 F
+4.805(yc)-.15 G 2.305(ommand associated with the)-4.805 F F1(RETURN)
+4.805 E F0 2.306(trap is e)4.806 F -.15(xe)-.15 G 2.306(cuted before e)
+.15 F -.15(xe)-.15 G(cution).15 E(resumes after the function or script.)
+144 703.2 Q(GNU Bash-3.0)72 768 Q(2004 Apr 20)148.735 E(11)198.725 E 0
+Cg EP
 %%Page: 12 12
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 290.48
 (TINS\(1\) B)-.92 F(ASH_B)-.35 E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10
-/Palatino-Roman@0 SF(accor)144 84 Q 2.608(ding to the curr)-.18 F 2.608
-(ent locale.)-.18 F 2.608(When options ar)7.608 F 5.108(es)-.18 G 2.607
-(peci\214ed, they set or unset shell)-5.108 F 3.455(attributes. Any)144
-96 R(ar)3.455 E .955(guments r)-.18 F .955
-(emaining after the options ar)-.18 F 3.455(ep)-.18 G -.18(ro)-3.455 G
-.955(cessed ar).18 F 3.455(et)-.18 G -.18(re)-3.455 G .955(ated as val-)
-.18 F .67(ues for the positional parameters and ar)144 108 R 3.17(ea)
--.18 G .67(ssigned, in or)-3.17 F(der)-.18 E 3.17(,t)-.74 G(o)-3.17 E/F2
-10/Palatino-Bold@0 SF($1)3.17 E F1(,)A F2($2)3.17 E F1(,)A F2 3.17
-(... $)3.17 F/F3 10/Palatino-Italic@0 SF(n)A F1 5.67(.O)C .67
-(ptions, if)-5.67 F(speci\214ed, have the following meanings:)144 120 Q
-F2<ad61>144 132 Q F1 1.063
-(Automatically mark variables and functions which ar)28.94 F 3.563(em)
--.18 G 1.063(odi\214ed or cr)-3.563 F 1.063(eated for)-.18 F
-(export to the envir)184 144 Q(onment of subsequent commands.)-.18 E F2
-<ad62>144 156 Q F1 .096(Report the status of terminated backgr)27.83 F
-.096(ound jobs immediately)-.18 F 2.596(,r)-1.11 G .096
-(ather than befor)-2.596 F(e)-.18 E(the next primary pr)184 168 Q 2.5
-(ompt. This)-.18 F(is ef)2.5 E(fective only when job contr)-.18 E
-(ol is enabled.)-.18 E F2<ad65>144 180 Q F1 .178(Exit immediately if a)
-28.94 F F3 .178(simple command)2.678 F F1(\(see)2.678 E/F4 9
-/Palatino-Bold@0 SF .178(SHELL GRAMMAR)2.678 F F1 .179
-(above\) exits with a)2.429 F(non-zer)184 192 Q 3.233(os)-.18 G 3.233
-(tatus. The)-3.233 F .733
-(shell does not exit if the command that fails is part of the)3.233 F
-.695(command list immediately following a)184 204 R F2(while)3.196 E F1
-(or)3.196 E F2(until)3.196 E F1(keywor)3.196 E .696(d, part of the test)
--.18 F .981(in an)184 216 R F3(if)3.641 E F1 .981(statement, part of a)
-5.331 F F2(&&)3.481 E F1(or)3.481 E/F5 10/Symbol SF<efef>3.481 E F1 .98
-(list, or if the command's r)3.481 F .98(eturn value is)-.18 F
-(being inverted via)184 228 Q F2(!)2.5 E F1 5(.A)C(trap on)-2.5 E F2
-(ERR)2.5 E F1 2.5(,i)C 2.5(fs)-2.5 G(et, is executed befor)-2.5 E 2.5
-(et)-.18 G(he shell exits.)-2.5 E F2<ad66>144 240 Q F1
-(Disable pathname expansion.)30.05 E F2<ad68>144 252 Q F1 .591
-(Remember the location of commands as they ar)27.83 F 3.092(el)-.18 G
-.592(ooked up for execution.)-3.092 F(This)5.592 E
-(is enabled by default.)184 264 Q F2<ad6b>144 276 Q F1 .935(All ar)27.83
-F .934(guments in the form of assignment statements ar)-.18 F 3.434(ep)
--.18 G .934(laced in the envir)-3.434 F(on-)-.18 E
-(ment for a command, not just those that pr)184 288 Q
-(ecede the command name.)-.18 E F2<ad6d>144 300 Q F1 .71(Monitor mode.)
-25.05 F .71(Job contr)5.71 F .711(ol is enabled.)-.18 F .711
-(This option is on by default for interac-)5.711 F 1.165
-(tive shells on systems that support it \(see)184 312 R F4 1.164
-(JOB CONTROL)3.664 F F1 3.664(above\). Backgr)3.414 F(ound)-.18 E(pr)184
-324 Q .539(ocesses r)-.18 F .539(un in a separate pr)-.08 F .539
-(ocess gr)-.18 F .539(oup and a line containing their exit status)-.18 F
-(is printed upon their completion.)184 336 Q F2<ad6e>144 348 Q F1 1.313
-(Read commands but do not execute them.)27.83 F 1.313
-(This may be used to check a shell)6.313 F(script for syntax err)184 360
-Q 2.5(ors. This)-.18 F(is ignor)2.5 E(ed by interactive shells.)-.18 E
-F2<ad6f>144 372 Q F3(option\255name)2.5 E F1(The)184 384 Q F3
-(option\255name)2.5 E F1(can be one of the following:)2.5 E F2
-(allexport)184 396 Q F1(Same as)224 408 Q F2<ad61>2.5 E F1(.)A F2
-(braceexpand)184 420 Q F1(Same as)224 432 Q F2<ad42>2.5 E F1(.)A F2
-(emacs)184 444 Q F1 .412
-(Use an emacs-style command line editing interface.)12.23 F .412
-(This is enabled by)5.412 F .358(default when the shell is interactive,\
- unless the shell is started with the)224 456 R F2(\255\255noediting)224
-468 Q F1(option.)2.5 E F2(errtrace)184 480 Q F1(Same as)5.56 E F2<ad45>
-2.5 E F1(.)A F2(functrace)184 492 Q F1(Same as)224 504 Q F2<ad54>2.5 E
-F1(.)A F2(errexit)184 516 Q F1(Same as)10.56 E F2<ad65>2.5 E F1(.)A F2
-(hashall)184 528 Q F1(Same as)6.68 E F2<ad68>2.5 E F1(.)A F2(histexpand)
-184 540 Q F1(Same as)224 552 Q F2<ad48>2.5 E F1(.)A F2(history)184 564 Q
-F1 2.27(Enable command history)7.78 F 4.771(,a)-1.11 G 4.771(sd)-4.771 G
-2.271(escribed above under)-4.771 F F4(HISTOR)4.771 E(Y)-.495 E/F6 9
-/Palatino-Roman@0 SF(.)A F1(This)6.771 E
-(option is on by default in interactive shells.)224 576 Q F2(ignoreeof)
-184 588 Q F1 1.674(The ef)224 600 R 1.674
-(fect is as if the shell command)-.18 F/F7 10/Courier@0 SF(IGNOREEOF=10)
-4.173 E F1 1.673(had been exe-)4.173 F(cuted \(see)224 612 Q F2(Shell V)
-2.5 E(ariables)-1.11 E F1(above\).)2.5 E F2(keyword)184 624 Q F1
-(Same as)224 636 Q F2<ad6b>2.5 E F1(.)A F2(monitor)184 648 Q F1(Same as)
-224 660 Q F2<ad6d>2.5 E F1(.)A F2(noclobber)184 672 Q F1(Same as)224 684
-Q F2<ad43>2.5 E F1(.)A F2(noexec)184 696 Q F1(Same as)8.89 E F2<ad6e>2.5
-E F1(.)A F2(noglob)184 708 Q F1(Same as)7.77 E F2<ad66>2.5 E F1(.)A F2
-(nolog)5 E F1(Curr)2.5 E(ently ignor)-.18 E(ed.)-.18 E F0(GNU Bash-3.0)
-72 768 Q(2004 Apr 20)148.735 E(12)198.725 E 0 Cg EP
+/Times-Bold@0 SF(set)108 84 Q F0([)2.5 E F1(\255\255abefhkmnptuvxBCHP)A
+F0 2.5(][)C F1<ad6f>-2.5 E/F2 10/Times-Italic@0 SF(option)2.5 E F0 2.5
+(][)C F2(ar)-2.5 E(g)-.37 E F0(...])2.5 E -.4(Wi)144 96 S .836
+(thout options, the name and v).4 F .835(alue of each shell v)-.25 F
+.835(ariable are displayed in a format that can be)-.25 F .784
+(reused as input for setting or resetting the currently-set v)144 108 R
+3.284(ariables. Read-only)-.25 F -.25(va)3.284 G .784(riables cannot be)
+.25 F 2.947(reset. In)144 120 R F2 .447(posix mode)2.947 F F0 2.947(,o)C
+.447(nly shell v)-2.947 F .447(ariables are listed.)-.25 F .447
+(The output is sorted according to the current)5.447 F 3.53
+(locale. When)144 132 R 1.031(options are speci\214ed, the)3.53 F 3.531
+(ys)-.15 G 1.031(et or unset shell attrib)-3.531 F 3.531(utes. An)-.2 F
+3.531(ya)-.15 G -.18(rg)-3.531 G 1.031(uments remaining).18 F .202
+(after the options are processed are treated as v)144 144 R .202
+(alues for the positional parameters and are assigned,)-.25 F(in order)
+144 156 Q 2.5(,t)-.4 G(o)-2.5 E F1($1)2.5 E F0(,)A F1($2)2.5 E F0(,)A F1
+2.5(... $)2.5 F F2(n)A F0 5(.O)C(ptions, if speci\214ed, ha)-5 E .3 -.15
+(ve t)-.2 H(he follo).15 E(wing meanings:)-.25 E F1<ad61>144 168 Q F0
+.539(Automatically mark v)29.3 F .539
+(ariables and functions which are modi\214ed or created for e)-.25 F .54
+(xport to)-.15 F(the en)184 180 Q(vironment of subsequent commands.)-.4
+E F1<ad62>144 192 Q F0 .132
+(Report the status of terminated background jobs immediately)28.74 F
+2.632(,r)-.65 G .131(ather than before the ne)-2.632 F(xt)-.15 E
+(primary prompt.)184 204 Q(This is ef)5 E(fecti)-.25 E .3 -.15(ve o)-.25
+H(nly when job control is enabled.).15 E F1<ad65>144 216 Q F0 1.693
+(Exit immediately if a)29.86 F F2 1.693(simple command)4.193 F F0(\(see)
+4.193 E/F3 9/Times-Bold@0 SF 1.693(SHELL GRAMMAR)4.193 F F0(abo)3.943 E
+-.15(ve)-.15 G 4.194(\)e).15 G 1.694(xits with a)-4.344 F .012
+(non-zero status.)184 228 R .012(The shell does not e)5.012 F .011
+(xit if the command that f)-.15 F .011(ails is part of the command)-.1 F
+.624(list immediately follo)184 240 R .624(wing a)-.25 F F1(while)3.124
+E F0(or)3.124 E F1(until)3.124 E F0 -.1(ke)3.124 G(yw)-.05 E .624
+(ord, part of the test in an)-.1 F F2(if)3.134 E F0(statement,)5.084 E
+.426(part of a)184 252 R F1(&&)2.926 E F0(or)2.926 E/F4 10/Symbol SF
+<efef>2.926 E F0 .426(list, or if the command')2.926 F 2.926(sr)-.55 G
+.426(eturn v)-2.926 F .426(alue is being in)-.25 F -.15(ve)-.4 G .425
+(rted via).15 F F1(!)2.925 E F0 5.425(.A)C(trap)-2.5 E(on)184 264 Q F1
+(ERR)2.5 E F0 2.5(,i)C 2.5(fs)-2.5 G(et, is e)-2.5 E -.15(xe)-.15 G
+(cuted before the shell e).15 E(xits.)-.15 E F1<ad66>144 276 Q F0
+(Disable pathname e)30.97 E(xpansion.)-.15 E F1<ad68>144 288 Q F0 2.238
+(Remember the location of commands as the)28.74 F 4.738(ya)-.15 G 2.239
+(re look)-4.738 F 2.239(ed up for e)-.1 F -.15(xe)-.15 G 4.739
+(cution. This).15 F(is)4.739 E(enabled by def)184 300 Q(ault.)-.1 E F1
+<ad6b>144 312 Q F0 .514(All ar)28.74 F .514
+(guments in the form of assignment statements are placed in the en)-.18
+F .513(vironment for a)-.4 F
+(command, not just those that precede the command name.)184 324 Q F1
+<ad6d>144 336 Q F0 .148(Monitor mode.)25.97 F .148
+(Job control is enabled.)5.148 F .149(This option is on by def)5.148 F
+.149(ault for interacti)-.1 F .449 -.15(ve s)-.25 H(hells).15 E .637
+(on systems that support it \(see)184 348 R F3 .636(JOB CONTR)3.136 F
+(OL)-.27 E F0(abo)2.886 E -.15(ve)-.15 G 3.136(\). Background).15 F .636
+(processes run in a)3.136 F .641
+(separate process group and a line containing their e)184 360 R .642
+(xit status is printed upon their com-)-.15 F(pletion.)184 372 Q F1
+<ad6e>144 384 Q F0 .653(Read commands b)28.74 F .653(ut do not e)-.2 F
+-.15(xe)-.15 G .653(cute them.).15 F .652
+(This may be used to check a shell script for)5.653 F(syntax errors.)184
+396 Q(This is ignored by interacti)5 E .3 -.15(ve s)-.25 H(hells.).15 E
+F1<ad6f>144 408 Q F2(option\255name)2.5 E F0(The)184 420 Q F2
+(option\255name)2.5 E F0(can be one of the follo)2.5 E(wing:)-.25 E F1
+(allexport)184 432 Q F0(Same as)224 444 Q F1<ad61>2.5 E F0(.)A F1
+(braceexpand)184 456 Q F0(Same as)224 468 Q F1<ad42>2.5 E F0(.)A F1
+(emacs)184 480 Q F0 .089(Use an emacs-style command line editing interf)
+13.9 F 2.589(ace. This)-.1 F .089(is enabled by def)2.589 F(ault)-.1 E
+.95(when the shell is interacti)224 492 R -.15(ve)-.25 G 3.45(,u).15 G
+.95(nless the shell is started with the)-3.45 F F1(\255\255noediting)
+3.45 E F0(option.)224 504 Q F1(errtrace)184 516 Q F0(Same as)5.03 E F1
+<ad45>2.5 E F0(.)A F1(functrace)184 528 Q F0(Same as)224 540 Q F1<ad54>
+2.5 E F0(.)A F1(err)184 552 Q(exit)-.18 E F0(Same as)11.31 E F1<ad65>2.5
+E F0(.)A F1(hashall)184 564 Q F0(Same as)9.43 E F1<ad68>2.5 E F0(.)A F1
+(histexpand)184 576 Q F0(Same as)224 588 Q F1<ad48>2.5 E F0(.)A F1
+(history)184 600 Q F0 .586(Enable command history)10 F 3.087(,a)-.65 G
+3.087(sd)-3.087 G .587(escribed abo)-3.087 F .887 -.15(ve u)-.15 H(nder)
+.15 E F3(HIST)3.087 E(OR)-.162 E(Y)-.315 E/F5 9/Times-Roman@0 SF(.)A F0
+.587(This option is)5.087 F(on by def)224 612 Q(ault in interacti)-.1 E
+.3 -.15(ve s)-.25 H(hells.).15 E F1(ignor)184 624 Q(eeof)-.18 E F0 1.657
+(The ef)224 636 R 1.657(fect is as if the shell command)-.25 F/F6 10
+/Courier@0 SF(IGNOREEOF=10)4.156 E F0 1.656(had been e)4.156 F -.15(xe)
+-.15 G(cuted).15 E(\(see)224 648 Q F1(Shell V)2.5 E(ariables)-.92 E F0
+(abo)2.5 E -.15(ve)-.15 G(\).).15 E F1 -.1(ke)184 660 S(yw).1 E(ord)-.1
+E F0(Same as)224 672 Q F1<ad6b>2.5 E F0(.)A F1(monitor)184 684 Q F0
+(Same as)5.56 E F1<ad6d>2.5 E F0(.)A F1(noclob)184 696 Q(ber)-.1 E F0
+(Same as)224 708 Q F1<ad43>2.5 E F0(.)A(GNU Bash-3.0)72 768 Q
+(2004 Apr 20)148.735 E(12)198.725 E 0 Cg EP
 %%Page: 13 13
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 290.48
 (TINS\(1\) B)-.92 F(ASH_B)-.35 E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10
-/Palatino-Bold@0 SF(notify)184 84 Q/F2 10/Palatino-Roman@0 SF(Same as)
-12.22 E F1<ad62>2.5 E F2(.)A F1(nounset)184 96 Q F2(Same as)224 108 Q F1
-<ad75>2.5 E F2(.)A F1(onecmd)184 120 Q F2(Same as)224 132 Q F1<ad74>2.5
-E F2(.)A F1(physical)184 144 Q F2(Same as)224 156 Q F1<ad50>2.5 E F2(.)A
-F1(pipefail)184 168 Q F2 .734(If set, the r)224 180 R .734
-(eturn value of a pipeline is the value of the last \(rightmost\))-.18 F
-.311(command to exit with a non-zer)224 192 R 2.811(os)-.18 G .311
-(tatus, or zer)-2.811 F 2.811(oi)-.18 G 2.811(fa)-2.811 G .31
-(ll commands in the)-2.811 F(pipeline exit successfully)224 204 Q 5(.T)
--1.11 G(his option is disabled by default.)-5 E F1(posix)184 216 Q F2
-.815(Change the behavior of)15.56 F F1(bash)3.315 E F2(wher)3.315 E
-3.315(et)-.18 G .815(he default operation dif)-3.315 F .815(fers fr)-.18
-F(om)-.18 E(the POSIX 1003.2 standar)224 228 Q 2.5(dt)-.18 G 2.5(om)-2.5
-G(atch the standar)-2.5 E 2.5(d\()-.18 G/F3 10/Palatino-Italic@0 SF
-(posix mode)-2.5 E F2(\).)A F1(privileged)184 240 Q F2(Same as)224 252 Q
-F1<ad70>2.5 E F2(.)A F1(verbose)184 264 Q F2(Same as)224 276 Q F1<ad76>
-2.5 E F2(.)A F1(vi)184 288 Q F2
-(Use a vi-style command line editing interface.)31.11 E F1(xtrace)184
-300 Q F2(Same as)13.34 E F1<ad78>2.5 E F2(.)A(If)184 318 Q F1<ad6f>4.631
-E F2 2.131(is supplied with no)4.631 F F3(option\255name)4.631 E F2
-4.631(,t)C 2.131(he values of the curr)-4.631 F 2.13(ent options ar)-.18
-F(e)-.18 E 4.411(printed. If)184 330 R F1(+o)4.411 E F2 1.911
-(is supplied with no)4.411 F F3(option\255name)4.412 E F2 4.412(,as)C
-1.912(eries of)-4.412 F F1(set)4.412 E F2 1.912(commands to)4.412 F -.18
-(re)184 342 S(cr).18 E(eate the curr)-.18 E
-(ent option settings is displayed on the standar)-.18 E 2.5(do)-.18 G
-(utput.)-2.5 E F1<ad70>144 354 Q F2 -.9(Tu)27.83 G .854(rn on).9 F F3
-(privileged)3.924 E F2 3.354(mode. In)3.684 F .853(this mode, the)3.353
-F/F4 9/Palatino-Bold@0 SF($ENV)3.353 E F2(and)3.103 E F4($BASH_ENV)3.353
-E F2 .853(\214les ar)3.103 F 3.353(en)-.18 G(ot)-3.353 E(pr)184 366 Q
-2.873(ocessed, shell functions ar)-.18 F 5.373(en)-.18 G 2.873
-(ot inherited fr)-5.373 F 2.873(om the envir)-.18 F 2.873
-(onment, and the)-.18 F F4(SHELLOPTS)184 378 Q F2 .549
-(variable, if it appears in the envir)2.799 F .548(onment, is ignor)-.18
-F 3.048(ed. If)-.18 F .548(the shell is)3.048 F 1.115
-(started with the ef)184 390 R 1.115(fective user \(gr)-.18 F 1.115
-(oup\) id not equal to the r)-.18 F 1.115(eal user \(gr)-.18 F 1.115
-(oup\) id,)-.18 F .498(and the)184 402 R F1<ad70>2.998 E F2 .498
-(option is not supplied, these actions ar)2.998 F 2.998(et)-.18 G .498
-(aken and the ef)-2.998 F .497(fective user)-.18 F .684
-(id is set to the r)184 414 R .685(eal user id.)-.18 F .685(If the)5.685
-F F1<ad70>3.185 E F2 .685(option is supplied at startup, the ef)3.185 F
-(fective)-.18 E .753(user id is not r)184 426 R 3.252(eset. T)-.18 F
-.752(urning this option of)-.9 F 3.252(fc)-.18 G .752(auses the ef)
--3.252 F .752(fective user and gr)-.18 F(oup)-.18 E
-(ids to be set to the r)184 438 Q(eal user and gr)-.18 E(oup ids.)-.18 E
-F1<ad74>144 450 Q F2(Exit after r)30.61 E
-(eading and executing one command.)-.18 E F1<ad75>144 462 Q F2 -.88 -.9
-(Tr e)27.83 H 2.498(at unset variables as an err).9 F 2.498
-(or when performing parameter expansion.)-.18 F(If)7.498 E .869
-(expansion is attempted on an unset variable, the shell prints an err)
-184 474 R .869(or message,)-.18 F
-(and, if not interactive, exits with a non-zer)184 486 Q 2.5(os)-.18 G
-(tatus.)-2.5 E F1<ad76>144 498 Q F2(Print shell input lines as they ar)
-28.38 E 2.5(er)-.18 G(ead.)-2.68 E F1<ad78>144 510 Q F2 2.636
-(After expanding each)28.94 F F3 2.637(simple command)5.136 F F2(,)A F1
-(for)5.137 E F2(command,)5.137 E F1(case)5.137 E F2(command,)5.137 E F1
-(select)5.137 E F2 .955(command, or arithmetic)184 522 R F1(for)3.455 E
-F2 .955(command, display the expanded value of)3.455 F F4(PS4)3.454 E/F5
-9/Palatino-Roman@0 SF(,)A F2(fol-)3.204 E
-(lowed by the command and its expanded ar)184 534 Q
-(guments or associated wor)-.18 E 2.5(dl)-.18 G(ist.)-2.5 E F1<ad42>144
-546 Q F2 .484(The shell performs brace expansion \(see)27.27 F F1 .484
-(Brace Expansion)2.984 F F2 2.984(above\). This)2.984 F .485(is on by)
-2.984 F(default.)184 558 Q F1<ad43>144 570 Q F2 .078(If set,)26.72 F F1
-(bash)2.578 E F2 .077(does not overwrite an existing \214le with the)
-2.578 F F1(>)2.577 E F2(,)A F1(>&)2.577 E F2 2.577(,a)C(nd)-2.577 E F1
-(<>)2.577 E F2 -.18(re)2.577 G(dir).18 E(ection)-.18 E 2.645
-(operators. This)184 582 R .145(may be overridden when cr)2.645 F .145
-(eating output \214les by using the r)-.18 F(edi-)-.18 E -.18(re)184 594
-S(ction operator).18 E F1(>|)2.5 E F2(instead of)2.5 E F1(>)2.5 E F2(.)A
-F1<ad45>144 606 Q F2 .902(If set, any trap on)27.83 F F1(ERR)3.402 E F2
-.901(is inherited by shell functions, command substitutions,)3.402 F .75
-(and commands executed in a subshell envir)184 618 R 3.25(onment. The)
--.18 F F1(ERR)3.25 E F2 .75(trap is normally)3.25 F
-(not inherited in such cases.)184 630 Q F1<ad48>144 642 Q F2(Enable)
-25.61 E F1(!)2.516 E F2 .016(style history substitution.)5.016 F .016
-(This option is on by default when the shell is)5.016 F(interactive.)184
-654 Q F1<ad50>144 666 Q F2 .692(If set, the shell does not follow symbo\
-lic links when executing commands such)27.83 F(as)184 678 Q F1(cd)3.57 E
-F2 1.069(that change the curr)3.57 F 1.069(ent working dir)-.18 F
-(ectory)-.18 E 6.069(.I)-1.11 G 3.569(tu)-6.069 G 1.069
-(ses the physical dir)-3.569 F(ectory)-.18 E(str)184 690 Q(uctur)-.08 E
-2.911(ei)-.18 G 2.911(nstead. By)-2.911 F(default,)2.912 E F1(bash)2.912
-E F2 .412(follows the logical chain of dir)2.912 F .412(ectories when)
--.18 F(performing commands which change the curr)184 702 Q(ent dir)-.18
-E(ectory)-.18 E(.)-1.11 E F1<ad54>144 714 Q F2 .22(If set, any traps on)
-27.27 F F1(DEBUG)2.72 E F2(and)2.72 E F1(RETURN)2.72 E F2(ar)2.72 E 2.72
-(ei)-.18 G .22(nherited by shell functions, com-)-2.72 F 1.573
-(mand substitutions, and commands executed in a subshell envir)184 726 R
-4.074(onment. The)-.18 F F0(GNU Bash-3.0)72 768 Q(2004 Apr 20)148.735 E
-(13)198.725 E 0 Cg EP
+/Times-Bold@0 SF(noexec)184 84 Q F0(Same as)11.12 E F1<ad6e>2.5 E F0(.)A
+F1(noglob)184 96 Q F0(Same as)11.1 E F1<ad66>2.5 E F0(.)A F1(nolog)5 E
+F0(Currently ignored.)2.5 E F1(notify)184 108 Q F0(Same as)15 E F1<ad62>
+2.5 E F0(.)A F1(nounset)184 120 Q F0(Same as)6.66 E F1<ad75>2.5 E F0(.)A
+F1(onecmd)184 132 Q F0(Same as)6.67 E F1<ad74>2.5 E F0(.)A F1(ph)184 144
+Q(ysical)-.15 E F0(Same as)5.14 E F1<ad50>2.5 E F0(.)A F1(pipefail)184
+156 Q F0 1.029(If set, the return v)7.77 F 1.029
+(alue of a pipeline is the v)-.25 F 1.03
+(alue of the last \(rightmost\) com-)-.25 F 1.137(mand to e)224 168 R
+1.136
+(xit with a non-zero status, or zero if all commands in the pipeline)
+-.15 F -.15(ex)224 180 S(it successfully).15 E 5(.T)-.65 G
+(his option is disabled by def)-5 E(ault.)-.1 E F1(posix)184 192 Q F0
+2.09(Change the beha)17.77 F 2.091(vior of)-.2 F F1(bash)4.591 E F0
+2.091(where the def)4.591 F 2.091(ault operation dif)-.1 F 2.091
+(fers from the)-.25 F(POSIX 1003.2 standard to match the standard \()224
+204 Q/F2 10/Times-Italic@0 SF(posix mode)A F0(\).)A F1(pri)184 216 Q
+(vileged)-.1 E F0(Same as)224 228 Q F1<ad70>2.5 E F0(.)A F1 -.1(ve)184
+240 S(rbose).1 E F0(Same as)7.33 E F1<ad76>2.5 E F0(.)A F1(vi)184 252 Q
+F0(Use a vi-style command line editing interf)32.22 E(ace.)-.1 E F1
+(xtrace)184 264 Q F0(Same as)13.35 E F1<ad78>2.5 E F0(.)A(If)184 282 Q
+F1<ad6f>3.053 E F0 .553(is supplied with no)3.053 F F2(option\255name)
+3.053 E F0 3.053(,t)C .553(he v)-3.053 F .552
+(alues of the current options are printed.)-.25 F(If)5.552 E F1(+o)184
+294 Q F0 1.071(is supplied with no)3.571 F F2(option\255name)3.571 E F0
+3.571(,as)C 1.071(eries of)-3.571 F F1(set)3.572 E F0 1.072
+(commands to recreate the current)3.572 F
+(option settings is displayed on the standard output.)184 306 Q F1<ad70>
+144 318 Q F0 -.45(Tu)28.74 G 1.072(rn on).45 F F2(privile)4.822 E -.1
+(ge)-.4 G(d).1 E F0 3.572(mode. In)4.342 F 1.072(this mode, the)3.572 F
+/F3 9/Times-Bold@0 SF($ENV)3.572 E F0(and)3.322 E F3($B)3.572 E(ASH_ENV)
+-.27 E F0 1.071(\214les are not pro-)3.322 F 1.705
+(cessed, shell functions are not inherited from the en)184 330 R 1.705
+(vironment, and the)-.4 F F3(SHELLOPTS)4.206 E F0 -.25(va)184 342 S .019
+(riable, if it appears in the en).25 F .019(vironment, is ignored.)-.4 F
+.018(If the shell is started with the ef)5.019 F(fec-)-.25 E(ti)184 354
+Q 1.158 -.15(ve u)-.25 H .859
+(ser \(group\) id not equal to the real user \(group\) id, and the).15 F
+F1<ad70>3.359 E F0 .859(option is not sup-)3.359 F .294
+(plied, these actions are tak)184 366 R .293(en and the ef)-.1 F(fecti)
+-.25 E .593 -.15(ve u)-.25 H .293(ser id is set to the real user id.).15
+F .293(If the)5.293 F F1<ad70>2.793 E F0 1.195
+(option is supplied at startup, the ef)184 378 R(fecti)-.25 E 1.495 -.15
+(ve u)-.25 H 1.195(ser id is not reset.).15 F -.45(Tu)6.196 G 1.196
+(rning this option of).45 F(f)-.25 E(causes the ef)184 390 Q(fecti)-.25
+E .3 -.15(ve u)-.25 H
+(ser and group ids to be set to the real user and group ids.).15 E F1
+<ad74>144 402 Q F0(Exit after reading and e)30.97 E -.15(xe)-.15 G
+(cuting one command.).15 E F1<ad75>144 414 Q F0 -.35(Tr)28.74 G .445
+(eat unset v).35 F .444
+(ariables as an error when performing parameter e)-.25 F 2.944
+(xpansion. If)-.15 F -.15(ex)2.944 G .444(pansion is).15 F .519
+(attempted on an unset v)184 426 R .519
+(ariable, the shell prints an error message, and, if not interacti)-.25
+F -.15(ve)-.25 G(,).15 E -.15(ex)184 438 S(its with a non-zero status.)
+.15 E F1<ad76>144 450 Q F0(Print shell input lines as the)29.3 E 2.5(ya)
+-.15 G(re read.)-2.5 E F1<ad78>144 462 Q F0 .315(After e)29.3 F .315
+(xpanding each)-.15 F F2 .315(simple command)2.815 F F0(,)A F1 -.25(fo)
+2.815 G(r).25 E F0(command,)2.815 E F1(case)2.815 E F0(command,)2.815 E
+F1(select)2.815 E F0(command,)2.815 E 1.235(or arithmetic)184 474 R F1
+-.25(fo)3.736 G(r).25 E F0 1.236(command, display the e)3.736 F 1.236
+(xpanded v)-.15 F 1.236(alue of)-.25 F F3(PS4)3.736 E/F4 9/Times-Roman@0
+SF(,)A F0(follo)3.486 E 1.236(wed by the com-)-.25 F(mand and its e)184
+486 Q(xpanded ar)-.15 E(guments or associated w)-.18 E(ord list.)-.1 E
+F1<ad42>144 498 Q F0 2.579(The shell performs brace e)27.63 F 2.578
+(xpansion \(see)-.15 F F1 2.578(Brace Expansion)5.078 F F0(abo)5.078 E
+-.15(ve)-.15 G 5.078(\). This).15 F 2.578(is on by)5.078 F(def)184 510 Q
+(ault.)-.1 E F1<ad43>144 522 Q F0 .213(If set,)27.08 F F1(bash)2.713 E
+F0 .213(does not o)2.713 F -.15(ve)-.15 G .214(rwrite an e).15 F .214
+(xisting \214le with the)-.15 F F1(>)2.714 E F0(,)A F1(>&)2.714 E F0
+2.714(,a)C(nd)-2.714 E F1(<>)2.714 E F0 .214(redirection opera-)2.714 F
+3.054(tors. This)184 534 R .553(may be o)3.053 F -.15(ve)-.15 G .553
+(rridden when creating output \214les by using the redirection opera-)
+.15 F(tor)184 546 Q F1(>|)2.5 E F0(instead of)2.5 E F1(>)2.5 E F0(.)A F1
+<ad45>144 558 Q F0 .103(If set, an)27.63 F 2.603(yt)-.15 G .103(rap on)
+-2.603 F F1(ERR)2.603 E F0 .104
+(is inherited by shell functions, command substitutions, and com-)2.603
+F .839(mands e)184 570 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 582 Q F1
+<ad48>144 594 Q F0(Enable)26.52 E F1(!)3.031 E F0 .531
+(style history substitution.)5.531 F .531(This option is on by def)5.531
+F .532(ault when the shell is inter)-.1 F(-)-.2 E(acti)184 606 Q -.15
+(ve)-.25 G(.).15 E F1<ad50>144 618 Q F0 1.165
+(If set, the shell does not follo)28.19 F 3.664(ws)-.25 G 1.164
+(ymbolic links when e)-3.664 F -.15(xe)-.15 G 1.164
+(cuting commands such as).15 F F1(cd)3.664 E F0 2.821
+(that change the current w)184 630 R 2.822(orking directory)-.1 F 7.822
+(.I)-.65 G 5.322(tu)-7.822 G 2.822(ses the ph)-5.322 F 2.822
+(ysical directory structure)-.05 F 2.686(instead. By)184 642 R(def)2.686
+E(ault,)-.1 E F1(bash)2.686 E F0(follo)2.686 E .186
+(ws the logical chain of directories when performing com-)-.25 F
+(mands which change the current directory)184 654 Q(.)-.65 E F1<ad54>144
+666 Q F0 .89(If set, an)27.63 F 3.39(yt)-.15 G .89(raps on)-3.39 F F1
+(DEB)3.39 E(UG)-.1 E F0(and)3.39 E F1(RETURN)3.39 E F0 .89
+(are inherited by shell functions, command)3.39 F 1.932
+(substitutions, and commands e)184 678 R -.15(xe)-.15 G 1.932
+(cuted in a subshell en).15 F 4.432(vironment. The)-.4 F F1(DEB)4.432 E
+(UG)-.1 E F0(and)4.432 E F1(RETURN)184 690 Q F0
+(traps are normally not inherited in such cases.)2.5 E F1<adad>144 702 Q
+F0 .4(If no ar)28.6 F .401(guments follo)-.18 F 2.901(wt)-.25 G .401
+(his option, then the positional parameters are unset.)-2.901 F
+(Otherwise,)5.401 E(the positional parameters are set to the)184 714 Q
+F2(ar)2.5 E(g)-.37 E F0(s, e)A -.15(ve)-.25 G 2.5(ni).15 G 2.5(fs)-2.5 G
+(ome of them be)-2.5 E(gin with a)-.15 E F1<ad>2.5 E F0(.)A
+(GNU Bash-3.0)72 768 Q(2004 Apr 20)148.735 E(13)198.725 E 0 Cg EP
 %%Page: 14 14
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 290.48
 (TINS\(1\) B)-.92 F(ASH_B)-.35 E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10
-/Palatino-Bold@0 SF(DEBUG)184 84 Q/F2 10/Palatino-Roman@0 SF(and)2.5 E
-F1(RETURN)2.5 E F2(traps ar)2.5 E 2.5(en)-.18 G
-(ormally not inherited in such cases.)-2.5 E F1<adad>144 96 Q F2 1.782
-(If no ar)27.88 F 1.782
-(guments follow this option, then the positional parameters ar)-.18 F
-4.281(eu)-.18 G(nset.)-4.281 E 1.303
-(Otherwise, the positional parameters ar)184 108 R 3.803(es)-.18 G 1.303
-(et to the)-3.803 F/F3 10/Palatino-Italic@0 SF(ar)3.803 E(g)-.18 E F2
-1.303(s, even if some of them)B(begin with a)184 120 Q F1<ad>2.5 E F2(.)
-A F1<ad>144 132 Q F2 1.296(Signal the end of options, cause all r)33.94
-F(emaining)-.18 E F3(ar)3.796 E(g)-.18 E F2 3.796(st)C 3.796(ob)-3.796 G
-3.795(ea)-3.796 G 1.295(ssigned to the posi-)-3.795 F .041
-(tional parameters.)184 144 R(The)5.041 E F1<ad78>2.541 E F2(and)2.541 E
-F1<ad76>2.541 E F2 .041(options ar)2.541 F 2.541(et)-.18 G .041
-(urned of)-2.541 F 2.541(f. If)-.18 F(ther)2.542 E 2.542(ea)-.18 G .402
--.18(re n)-2.542 H(o).18 E F3(ar)2.542 E(g)-.18 E F2 .042(s, the)B
-(positional parameters r)184 156 Q(emain unchanged.)-.18 E .121
-(The options ar)144 172.8 R 2.621(eo)-.18 G .481 -.18(ff b)-2.621 H
-2.621(yd).18 G .121(efault unless otherwise noted.)-2.621 F .12
-(Using + rather than \255 causes these)5.121 F .277
-(options to be turned of)144 184.8 R 2.777(f. The)-.18 F .277
-(options can also be speci\214ed as ar)2.777 F .278
-(guments to an invocation)-.18 F .723(of the shell.)144 196.8 R .723
-(The curr)5.723 F .723(ent set of options may be found in)-.18 F F1
-<24ad>3.223 E F2 5.723(.T)C .723(he r)-5.723 F .723
-(eturn status is always)-.18 F(tr)144 208.8 Q
-(ue unless an invalid option is encounter)-.08 E(ed.)-.18 E F1(shift)108
-225.6 Q F2([)2.5 E F3(n)A F2(])A .806(The positional parameters fr)144
-237.6 R(om)-.18 E F3(n)3.306 E F2 .806(+1 ... ar)B 3.306(er)-.18 G .806
-(enamed to)-3.486 F F1 .806($1 ....)3.306 F F2 .807(Parameters r)5.806 F
-(epr)-.18 E .807(esented by)-.18 F .055(the numbers)144 249.6 R F1($#)
-2.555 E F2 .055(down to)2.555 F F1($#)2.555 E F2<ad>A F3(n)A F2 .055
-(+1 ar)B 2.555(eu)-.18 G(nset.)-2.555 E F3(n)5.315 E F2 .055
-(must be a non-negative number less than or)2.635 F .494(equal to)144
-261.6 R F1($#)2.994 E F2 5.494(.I)C(f)-5.494 E F3(n)3.254 E F2 .494
-(is 0, no parameters ar)3.074 F 2.994(ec)-.18 G 2.994(hanged. If)-2.994
-F F3(n)3.254 E F2 .495(is not given, it is assumed to be 1.)3.074 F(If)
-144 273.6 Q F3(n)4.052 E F2 1.292(is gr)3.872 F 1.292(eater than)-.18 F
-F1($#)3.792 E F2 3.792(,t)C 1.292(he positional parameters ar)-3.792 F
-3.792(en)-.18 G 1.292(ot changed.)-3.792 F 1.292(The r)6.292 F 1.292
-(eturn status is)-.18 F(gr)144 285.6 Q(eater than zer)-.18 E 2.5(oi)-.18
-G(f)-2.5 E F3(n)2.76 E F2(is gr)2.58 E(eater than)-.18 E F1($#)2.5 E F2
-(or less than zer)2.5 E(o; otherwise 0.)-.18 E F1(shopt)108 302.4 Q F2
-([)2.5 E F1(\255pqsu)A F2 2.5(][)C F1<ad6f>-2.5 E F2 2.5(][)C F3
-(optname)-2.5 E F2(...])2.5 E -.92(To)144 314.4 S 1.522
-(ggle the values of variables contr).92 F 1.523
-(olling optional shell behavior)-.18 F 6.523(.W)-.74 G 1.523
-(ith no options, or)-7.073 F 2.532(with the)144 326.4 R F1<ad70>5.032 E
-F2 2.531(option, a list of all settable options is displayed, with an i\
-ndication of)5.032 F .961(whether or not each is set.)144 338.4 R(The)
-5.962 E F1<ad70>3.462 E F2 .962
-(option causes output to be displayed in a form that)3.462 F(may be r)
-144 350.4 Q(eused as input.)-.18 E
-(Other options have the following meanings:)5 E F1<ad73>144 362.4 Q F2
-(Enable \(set\) each)25.5 E F3(optname)2.5 E F2(.)A F1<ad75>144 374.4 Q
-F2(Disable \(unset\) each)23.83 E F3(optname)2.5 E F2(.)A F1<ad71>144
-386.4 Q F2(Suppr)23.83 E .903(esses normal output \(quiet mode\); the r)
--.18 F .903(eturn status indicates whether the)-.18 F F3(optname)180
-398.4 Q F2 1.678(is set or unset.)4.178 F 1.678(If multiple)6.678 F F3
-(optname)4.178 E F2(ar)4.179 E 1.679(guments ar)-.18 F 4.179(eg)-.18 G
-1.679(iven with)-4.179 F F1<ad71>4.179 E F2 4.179(,t)C(he)-4.179 E -.18
-(re)180 410.4 S(turn status is zer).18 E 2.5(oi)-.18 G 2.5(fa)-2.5 G(ll)
--2.5 E F3(optnames)2.5 E F2(ar)2.5 E 2.5(ee)-.18 G(nabled; non-zer)-2.5
-E 2.5(oo)-.18 G(therwise.)-2.5 E F1<ad6f>144 422.4 Q F2 1.348
-(Restricts the values of)24.38 F F3(optname)3.848 E F2 1.348
-(to be those de\214ned for the)3.848 F F1<ad6f>3.848 E F2 1.348
-(option to the)3.848 F F1(set)3.848 E F2(builtin.)180 434.4 Q 1.86
-(If either)144 451.2 R F1<ad73>4.36 E F2(or)4.36 E F1<ad75>4.36 E F2
-1.86(is used with no)4.36 F F3(optname)4.36 E F2(ar)4.36 E 1.86
-(guments, the display is limited to those)-.18 F 1.062(options which ar)
-144 463.2 R 3.562(es)-.18 G 1.062(et or unset, r)-3.562 F(espectively)
--.18 E 6.062(.U)-1.11 G 1.061(nless otherwise noted, the)-6.062 F F1
-(shopt)3.561 E F2(options)3.561 E(ar)144 475.2 Q 2.5(ed)-.18 G
-(isabled \(unset\) by default.)-2.5 E .472(The r)144 492 R .473
-(eturn status when listing options is zer)-.18 F 2.973(oi)-.18 G 2.973
-(fa)-2.973 G(ll)-2.973 E F3(optnames)2.973 E F2(ar)2.973 E 2.973(ee)-.18
-G .473(nabled, non-zer)-2.973 F 2.973(oo)-.18 G(ther)-2.973 E(-)-.18 E
-2.602(wise. When)144 504 R .102(setting or unsetting options, the r)
-2.602 F .101(eturn status is zer)-.18 F 2.601(ou)-.18 G .101(nless an)
--2.601 F F3(optname)2.601 E F2 .101(is not)2.601 F 2.5(av)144 516 S
-(alid shell option.)-2.5 E(The list of)144 532.8 Q F1(shopt)2.5 E F2
-(options is:)2.5 E F1(cdable_vars)144 550.8 Q F2 .364(If set, an ar)184
-562.8 R .364(gument to the)-.18 F F1(cd)2.864 E F2 .364
-(builtin command that is not a dir)2.864 F .364(ectory is assumed)-.18 F
-(to be the name of a variable whose value is the dir)184 574.8 Q
-(ectory to change to.)-.18 E F1(cdspell)144 586.8 Q F2 1.138
-(If set, minor err)7.24 F 1.138(ors in the spelling of a dir)-.18 F
-1.138(ectory component in a)-.18 F F1(cd)3.637 E F2(command)3.637 E
-1.288(will be corr)184 598.8 R 3.788(ected. The)-.18 F(err)3.788 E 1.288
-(ors checked for ar)-.18 F 3.788(et)-.18 G 1.289
-(ransposed characters, a missing)-3.788 F(character)184 610.8 Q 2.741
-(,a)-.74 G .241(nd one character too many)-2.741 F 5.241(.I)-1.11 G
-2.741(fac)-5.241 G(orr)-2.741 E .241(ection is found, the corr)-.18 F
-.24(ected \214le)-.18 F .43(name is printed, and the command pr)184
-622.8 R 2.931(oceeds. This)-.18 F .431(option is only used by inter)
-2.931 F(-)-.18 E(active shells.)184 634.8 Q F1(checkhash)144 646.8 Q F2
-.763(If set,)184 658.8 R F1(bash)3.263 E F2 .763
-(checks that a command found in the hash table exists befor)3.263 F
-3.262(et)-.18 G(rying)-3.262 E .022(to execute it.)184 670.8 R .023
-(If a hashed command no longer exists, a normal path sear)5.022 F .023
-(ch is per)-.18 F(-)-.18 E(formed.)184 682.8 Q F1(checkwinsize)144 694.8
-Q F2 2.585(If set,)184 706.8 R F1(bash)5.085 E F2 2.584
-(checks the window size after each command and, if necessary)5.084 F(,)
--1.11 E(updates the values of)184 718.8 Q/F4 9/Palatino-Bold@0 SF(LINES)
-2.5 E F2(and)2.25 E F4(COLUMNS)2.5 E/F5 9/Palatino-Roman@0 SF(.)A F0
-(GNU Bash-3.0)72 768 Q(2004 Apr 20)148.735 E(14)198.725 E 0 Cg EP
+/Times-Bold@0 SF<ad>144 84 Q F0 1.945
+(Signal the end of options, cause all remaining)34.3 F/F2 10
+/Times-Italic@0 SF(ar)4.444 E(g)-.37 E F0 4.444(st)C 4.444(ob)-4.444 G
+4.444(ea)-4.444 G 1.944(ssigned to the positional)-4.444 F 3.445
+(parameters. The)184 96 R F1<ad78>3.445 E F0(and)3.445 E F1<ad76>3.445 E
+F0 .945(options are turned of)3.445 F 3.445(f. If)-.25 F .946
+(there are no)3.445 F F2(ar)3.446 E(g)-.37 E F0 .946(s, the positional)B
+(parameters remain unchanged.)184 108 Q .425(The options are of)144
+124.8 R 2.925(fb)-.25 G 2.925(yd)-2.925 G(ef)-2.925 E .425
+(ault unless otherwise noted.)-.1 F .425
+(Using + rather than \255 causes these options)5.425 F .177
+(to be turned of)144 136.8 R 2.677(f. The)-.25 F .178
+(options can also be speci\214ed as ar)2.678 F .178(guments to an in)
+-.18 F -.2(vo)-.4 G .178(cation of the shell.).2 F(The)5.178 E .066
+(current set of options may be found in)144 148.8 R F1<24ad>2.566 E F0
+5.066(.T)C .066(he return status is al)-5.066 F -.1(wa)-.1 G .066
+(ys true unless an in).1 F -.25(va)-.4 G .066(lid option).25 F
+(is encountered.)144 160.8 Q F1(shift)108 177.6 Q F0([)2.5 E F2(n)A F0
+(])A .428(The positional parameters from)144 189.6 R F2(n)2.928 E F0
+.429(+1 ... are renamed to)B F1 .429($1 ....)2.929 F F0 -.15(Pa)5.429 G
+.429(rameters represented by the num-).15 F(bers)144 201.6 Q F1($#)2.583
+E F0(do)2.583 E .083(wn to)-.25 F F1($#)2.583 E F0<ad>A F2(n)A F0 .083
+(+1 are unset.)B F2(n)5.443 E F0 .083(must be a non-ne)2.823 F -.05(ga)
+-.15 G(ti).05 E .382 -.15(ve n)-.25 H .082(umber less than or equal to)
+.15 F F1($#)2.582 E F0 5.082(.I)C(f)-5.082 E F2(n)2.942 E F0 .06
+(is 0, no parameters are changed.)144 213.6 R(If)5.06 E F2(n)2.92 E F0
+.06(is not gi)2.8 F -.15(ve)-.25 G .06(n, it is assumed to be 1.).15 F
+(If)5.06 E F2(n)2.92 E F0 .06(is greater than)2.8 F F1($#)2.56 E F0 2.56
+(,t)C(he)-2.56 E .144(positional parameters are not changed.)144 225.6 R
+.144(The return status is greater than zero if)5.144 F F2(n)3.003 E F0
+.143(is greater than)2.883 F F1($#)2.643 E F0
+(or less than zero; otherwise 0.)144 237.6 Q F1(shopt)108 254.4 Q F0([)
+2.5 E F1(\255pqsu)A F0 2.5(][)C F1<ad6f>-2.5 E F0 2.5(][)C F2(optname)
+-2.5 E F0(...])2.5 E -.8(To)144 266.4 S .222(ggle the v).8 F .222
+(alues of v)-.25 F .222(ariables controlling optional shell beha)-.25 F
+(vior)-.2 E 5.222(.W)-.55 G .222(ith no options, or with the)-5.622 F F1
+<ad70>2.722 E F0 .721(option, a list of all settable options is display\
+ed, with an indication of whether or not each is set.)144 278.4 R(The)
+144 290.4 Q F1<ad70>2.827 E F0 .327(option causes output to be displaye\
+d in a form that may be reused as input.)2.827 F .328(Other options)
+5.328 F(ha)144 302.4 Q .3 -.15(ve t)-.2 H(he follo).15 E(wing meanings:)
+-.25 E F1<ad73>144 314.4 Q F0(Enable \(set\) each)26.41 E F2(optname)2.5
+E F0(.)A F1<ad75>144 326.4 Q F0(Disable \(unset\) each)24.74 E F2
+(optname)2.5 E F0(.)A F1<ad71>144 338.4 Q F0 .003(Suppresses normal out\
+put \(quiet mode\); the return status indicates whether the)24.74 F F2
+(optname)2.503 E F0(is)2.503 E .255(set or unset.)180 350.4 R .255
+(If multiple)5.255 F F2(optname)2.755 E F0(ar)2.755 E .256
+(guments are gi)-.18 F -.15(ve)-.25 G 2.756(nw).15 G(ith)-2.756 E F1
+<ad71>2.756 E F0 2.756(,t)C .256(he return status is zero if)-2.756 F
+(all)180 362.4 Q F2(optnames)2.5 E F0(are enabled; non-zero otherwise.)
+2.5 E F1<ad6f>144 374.4 Q F0(Restricts the v)25.3 E(alues of)-.25 E F2
+(optname)2.5 E F0(to be those de\214ned for the)2.5 E F1<ad6f>2.5 E F0
+(option to the)2.5 E F1(set)2.5 E F0 -.2(bu)2.5 G(iltin.).2 E .128
+(If either)144 391.2 R F1<ad73>2.628 E F0(or)2.628 E F1<ad75>2.628 E F0
+.127(is used with no)2.627 F F2(optname)2.627 E F0(ar)2.627 E .127
+(guments, the display is limited to those options which)-.18 F 1.023
+(are set or unset, respecti)144 403.2 R -.15(ve)-.25 G(ly).15 E 6.023
+(.U)-.65 G 1.024(nless otherwise noted, the)-6.023 F F1(shopt)3.524 E F0
+1.024(options are disabled \(unset\) by)3.524 F(def)144 415.2 Q(ault.)
+-.1 E 1.544(The return status when listing options is zero if all)144
+432 R F2(optnames)4.044 E F0 1.544(are enabled, non-zero otherwise.)
+4.044 F .696
+(When setting or unsetting options, the return status is zero unless an)
+144 444 R F2(optname)3.196 E F0 .696(is not a v)3.196 F .696(alid shell)
+-.25 F(option.)144 456 Q(The list of)144 472.8 Q F1(shopt)2.5 E F0
+(options is:)2.5 E F1(cdable_v)144 490.8 Q(ars)-.1 E F0 .156
+(If set, an ar)184 502.8 R .156(gument to the)-.18 F F1(cd)2.656 E F0
+-.2(bu)2.656 G .155
+(iltin command that is not a directory is assumed to be the).2 F
+(name of a v)184 514.8 Q(ariable whose v)-.25 E
+(alue is the directory to change to.)-.25 E F1(cdspell)144 526.8 Q F0
+1.055
+(If set, minor errors in the spelling of a directory component in a)
+10.55 F F1(cd)3.555 E F0 1.055(command will be)3.555 F 3.988
+(corrected. The)184 538.8 R 1.488(errors check)3.988 F 1.487
+(ed for are transposed characters, a missing character)-.1 F 3.987(,a)
+-.4 G(nd)-3.987 E .552(one character too man)184 550.8 R 4.352 -.65
+(y. I)-.15 H 3.052(fac).65 G .552
+(orrection is found, the corrected \214le name is printed, and)-3.052 F
+(the command proceeds.)184 562.8 Q
+(This option is only used by interacti)5 E .3 -.15(ve s)-.25 H(hells.)
+.15 E F1(checkhash)144 574.8 Q F0 2.08(If set,)184 586.8 R F1(bash)4.58
+E F0 2.079(checks that a command found in the hash table e)4.58 F 2.079
+(xists before trying to)-.15 F -.15(exe)184 598.8 S(cute it.).15 E
+(If a hashed command no longer e)5 E
+(xists, a normal path search is performed.)-.15 E F1(checkwinsize)144
+610.8 Q F0 .796(If set,)184 622.8 R F1(bash)3.296 E F0 .796
+(checks the windo)3.296 F 3.296(ws)-.25 G .797
+(ize after each command and, if necessary)-3.296 F 3.297(,u)-.65 G .797
+(pdates the)-3.297 F -.25(va)184 634.8 S(lues of).25 E/F3 9/Times-Bold@0
+SF(LINES)2.5 E F0(and)2.25 E F3(COLUMNS)2.5 E/F4 9/Times-Roman@0 SF(.)A
+F1(cmdhist)144 646.8 Q F0 1.202(If set,)6.11 F F1(bash)3.702 E F0 1.202
+(attempts to sa)3.702 F 1.502 -.15(ve a)-.2 H 1.202
+(ll lines of a multiple-line command in the same history).15 F(entry)184
+658.8 Q 5(.T)-.65 G(his allo)-5 E
+(ws easy re-editing of multi-line commands.)-.25 E F1(dotglob)144 670.8
+Q F0 .165(If set,)7.77 F F1(bash)2.665 E F0 .165
+(includes \214lenames be)2.665 F .165(ginning with a `.)-.15 F 2.665('i)
+-.7 G 2.665(nt)-2.665 G .165(he results of pathname e)-2.665 F
+(xpansion.)-.15 E F1(execfail)144 682.8 Q F0 1.387
+(If set, a non-interacti)7.79 F 1.687 -.15(ve s)-.25 H 1.386
+(hell will not e).15 F 1.386(xit if it cannot e)-.15 F -.15(xe)-.15 G
+1.386(cute the \214le speci\214ed as an).15 F(ar)184 694.8 Q
+(gument to the)-.18 E F1(exec)2.5 E F0 -.2(bu)2.5 G(iltin command.).2 E
+(An interacti)5 E .3 -.15(ve s)-.25 H(hell does not e).15 E(xit if)-.15
+E F1(exec)2.5 E F0 -.1(fa)2.5 G(ils.).1 E F1(expand_aliases)144 706.8 Q
+F0 .716(If set, aliases are e)184 718.8 R .717(xpanded as described abo)
+-.15 F 1.017 -.15(ve u)-.15 H(nder).15 E F3(ALIASES)3.217 E F4(.)A F0
+.717(This option is enabled)5.217 F(by def)184 730.8 Q
+(ault for interacti)-.1 E .3 -.15(ve s)-.25 H(hells.).15 E(GNU Bash-3.0)
+72 768 Q(2004 Apr 20)148.735 E(14)198.725 E 0 Cg EP
 %%Page: 15 15
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 290.48
 (TINS\(1\) B)-.92 F(ASH_B)-.35 E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10
-/Palatino-Bold@0 SF(cmdhist)144 84 Q/F2 10/Palatino-Roman@0 SF 1.297
-(If set,)184 96 R F1(bash)3.797 E F2 1.297
-(attempts to save all lines of a multiple-line command in the same)3.797
-F(history entry)184 108 Q 5(.T)-1.11 G(his allows easy r)-5 E
-(e-editing of multi-line commands.)-.18 E F1(dotglob)144 120 Q F2 1.339
-(If set,)184 132 R F1(bash)3.839 E F2 1.338
-(includes \214lenames beginning with a `.' in the r)3.839 F 1.338
-(esults of pathname)-.18 F(expansion.)184 144 Q F1(execfail)144 156 Q F2
-.315(If set, a non-interactive shell will not exit if it cannot execute\
- the \214le speci\214ed as)5.01 F .784(an ar)184 168 R .783
-(gument to the)-.18 F F1(exec)3.283 E F2 .783(builtin command.)3.283 F
-.783(An interactive shell does not exit if)5.783 F F1(exec)184 180 Q F2
-(fails.)2.5 E F1(expand_aliases)144 192 Q F2 1.159(If set, aliases ar)
-184 204 R 3.659(ee)-.18 G 1.159(xpanded as described above under)-3.659
-F/F3 9/Palatino-Bold@0 SF(ALIASES)3.659 E/F4 9/Palatino-Roman@0 SF(.)A
-F2 1.159(This option is)5.659 F
-(enabled by default for interactive shells.)184 216 Q F1(extdebug)144
-228 Q F2(If set, behavior intended for use by debuggers is enabled:)184
-240 Q F1(1.)184 252 Q F2(The)28.5 E F1<ad46>3.608 E F2 1.108
-(option to the)3.608 F F1(declare)3.608 E F2 1.107
-(builtin displays the sour)3.608 F 1.107(ce \214le name and)-.18 F .624
-(line number corr)220 264 R .624
-(esponding to each function name supplied as an ar)-.18 F(gu-)-.18 E
-(ment.)220 276 Q F1(2.)184 288 Q F2 .98(If the command r)28.5 F .98
-(un by the)-.08 F F1(DEBUG)3.48 E F2 .98(trap r)3.48 F .98
-(eturns a non-zer)-.18 F 3.48(ov)-.18 G .98(alue, the)-3.48 F
-(next command is skipped and not executed.)220 300 Q F1(3.)184 312 Q F2
-1.106(If the command r)28.5 F 1.106(un by the)-.08 F F1(DEBUG)3.606 E F2
-1.106(trap r)3.606 F 1.107(eturns a value of 2, and the)-.18 F .871
-(shell is executing in a subr)220 324 R .871
-(outine \(a shell function or a shell script exe-)-.18 F(cuted by the)
-220 336 Q F1(.)2.5 E F2(or)2.5 E F1(source)2.5 E F2
-(builtins\), a call to)2.5 E F1(return)2.5 E F2(is simulated.)2.5 E F1
-26(4. BASH_ARGC)184 348 R F2(and)5.148 E F1(BASH_ARGV)5.148 E F2(ar)
-5.149 E 5.149(eu)-.18 G 2.649(pdated as described in their)-5.149 F
-(descriptions above.)220 360 Q F1(5.)184 372 Q F2 .164
-(Function tracing is enabled:)28.5 F .164
-(command substitution, shell functions, and)5.164 F 1.112
-(subshells invoked with)220 384 R F1(\()3.612 E/F5 10/Palatino-Italic@0
-SF(command)3.612 E F1(\))3.612 E F2 1.112(inherit the)3.612 F F1(DEBUG)
-3.612 E F2(and)3.612 E F1(RETURN)3.612 E F2(traps.)220 396 Q F1(6.)184
-408 Q F2(Err)28.5 E 2.172(or tracing is enabled:)-.18 F 2.171
-(command substitution, shell functions, and)7.171 F
-(subshells invoked with)220 420 Q F1(\()2.5 E F5(command)2.5 E F1(\))2.5
-E F2(inherit the)2.5 E F1(ERROR)2.5 E F2(trap.)2.5 E F1(extglob)144 432
-Q F2 .432(If set, the extended pattern matching featur)6.11 F .432
-(es described above under)-.18 F F1(Pathname)2.932 E(Expansion)184 444 Q
-F2(ar)2.5 E 2.5(ee)-.18 G(nabled.)-2.5 E F1(extquote)144 456 Q F2 .143
-(If set,)184 468 R F1($)2.643 E F2(')A F5(string)A F2 2.643('a)C(nd)
--2.643 E F1($)2.643 E F2(")A F5(string)A F2 2.643("q)C .143
-(uoting is performed within)-2.643 F F1(${)2.643 E F5(parameter)A F1(})A
-F2(expansions)2.643 E(enclosed in double quotes.)184 480 Q
-(This option is enabled by default.)5 E F1(failglob)144 492 Q F2 .507(I\
-f set, patterns which fail to match \214lenames during pathname expansi\
-on r)184 504 R(esult)-.18 E(in an expansion err)184 516 Q(or)-.18 E(.)
--.74 E F1(force_\214gnore)144 528 Q F2 1.119(If set, the suf)184 540 R
-1.119(\214xes speci\214ed by the)-.18 F F1(FIGNORE)3.618 E F2 1.118
-(shell variable cause wor)3.618 F 1.118(ds to be)-.18 F(ignor)184 552 Q
-1.291(ed when performing wor)-.18 F 3.791(dc)-.18 G 1.291
-(ompletion even if the ignor)-3.791 F 1.291(ed wor)-.18 F 1.291(ds ar)
--.18 F 3.791(et)-.18 G(he)-3.791 E 1.701(only possible completions.)184
-564 R(See)6.701 E F3 1.7(SHELL V)4.2 F(ARIABLES)-1.161 E F2 1.7
-(above for a description of)3.95 F F1(FIGNORE)184 576 Q F2 5(.T)C
-(his option is enabled by default.)-5 E F1(gnu_errfmt)144 588 Q F2 .842
-(If set, shell err)184 600 R .842(or messages ar)-.18 F 3.342(ew)-.18 G
-.842(ritten in the standar)-3.342 F 3.343(dG)-.18 G .843(NU err)-3.343 F
-.843(or message for)-.18 F(-)-.18 E(mat.)184 612 Q F1(histappend)144 624
-Q F2 1.127(If set, the history list is appended to the \214le named by \
-the value of the)184 636 R F1(HIST)3.626 E(-)-.92 E(FILE)184 648 Q F2
-(variable when the shell exits, rather than overwriting the \214le.)2.5
-E F1(histreedit)144 660 Q F2 1.38(If set, and)184 672 R F1(readline)3.88
-E F2 1.381(is being used, a user is given the opportunity to r)3.88 F
-1.381(e-edit a)-.18 F(failed history substitution.)184 684 Q F1
-(histverify)144 696 Q F2 2.134(If set, and)184 708 R F1(readline)4.633 E
-F2 2.133(is being used, the r)4.633 F 2.133
-(esults of history substitution ar)-.18 F 4.633(en)-.18 G(ot)-4.633 E
-.382(immediately passed to the shell parser)184 720 R 5.382(.I)-.74 G
-.383(nstead, the r)-5.382 F .383(esulting line is loaded into)-.18 F F0
-(GNU Bash-3.0)72 768 Q(2004 Apr 20)148.735 E(15)198.725 E 0 Cg EP
+/Times-Bold@0 SF(extdeb)144 84 Q(ug)-.2 E F0(If set, beha)184 96 Q
+(vior intended for use by deb)-.2 E(uggers is enabled:)-.2 E F1(1.)184
+108 Q F0(The)28.5 E F1<ad46>4.251 E F0 1.751(option to the)4.251 F F1
+(declar)4.251 E(e)-.18 E F0 -.2(bu)4.251 G 1.751
+(iltin displays the source \214le name and line).2 F
+(number corresponding to each function name supplied as an ar)220 120 Q
+(gument.)-.18 E F1(2.)184 132 Q F0 1.667(If the command run by the)28.5
+F F1(DEB)4.167 E(UG)-.1 E F0 1.667(trap returns a non-zero v)4.167 F
+1.667(alue, the ne)-.25 F(xt)-.15 E(command is skipped and not e)220 144
+Q -.15(xe)-.15 G(cuted.).15 E F1(3.)184 156 Q F0 .841
+(If the command run by the)28.5 F F1(DEB)3.341 E(UG)-.1 E F0 .841
+(trap returns a v)3.341 F .84(alue of 2, and the shell is)-.25 F -.15
+(exe)220 168 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 180 Q(ce)-.18 E F0 -.2(bu)2.5 G(iltins\), a call to).2 E F1
+-.18(re)2.5 G(tur).18 E(n)-.15 E F0(is simulated.)2.5 E F1 26(4. B)184
+192 R(ASH_ARGC)-.3 E F0(and)3.776 E F1 -.3(BA)3.776 G(SH_ARGV).3 E F0
+1.275(are updated as described in their descrip-)3.776 F(tions abo)220
+204 Q -.15(ve)-.15 G(.).15 E F1(5.)184 216 Q F0 1.359
+(Function tracing is enabled:)28.5 F 1.359
+(command substitution, shell functions, and sub-)6.359 F(shells in)220
+228 Q -.2(vo)-.4 G -.1(ke).2 G 2.5(dw).1 G(ith)-2.5 E F1(\()2.5 E/F2 10
+/Times-Italic@0 SF(command)2.5 E F1(\))2.5 E F0(inherit the)2.5 E F1
+(DEB)2.5 E(UG)-.1 E F0(and)2.5 E F1(RETURN)2.5 E F0(traps.)2.5 E F1(6.)
+184 240 Q F0 .805(Error tracing is enabled:)28.5 F .804
+(command substitution, shell functions, and subshells)5.805 F(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 F2
+(command)2.5 E F1(\))2.5 E F0(inherit the)2.5 E F1(ERR)2.5 E(OR)-.3 E F0
+(trap.)2.5 E F1(extglob)144 264 Q F0 .4(If set, the e)8.89 F .4
+(xtended pattern matching features described abo)-.15 F .7 -.15(ve u)
+-.15 H(nder).15 E F1 -.1(Pa)2.9 G .4(thname Expan-).1 F(sion)184 276 Q
+F0(are enabled.)2.5 E F1(extquote)144 288 Q F0 2.167(If set,)184 300 R
+F1($)4.667 E F0(')A F2(string)A F0 4.667('a)C(nd)-4.667 E F1($)4.667 E
+F0(")A F2(string)A F0 4.667("q)C 2.167(uoting is performed within)-4.667
+F F1(${)4.667 E F2(par)A(ameter)-.15 E F1(})A F0 -.15(ex)4.667 G
+(pansions).15 E(enclosed in double quotes.)184 312 Q
+(This option is enabled by def)5 E(ault.)-.1 E F1(failglob)144 324 Q F0
+1.424(If set, patterns which f)7.77 F 1.425
+(ail to match \214lenames during pathname e)-.1 F 1.425
+(xpansion result in an)-.15 F -.15(ex)184 336 S(pansion error).15 E(.)
+-.55 E F1 -.25(fo)144 348 S -.18(rc).25 G(e_\214gnor).18 E(e)-.18 E F0
+.585(If set, the suf)184 360 R<8c78>-.25 E .585(es speci\214ed by the)
+-.15 F F1(FIGNORE)3.085 E F0 .585(shell v)3.085 F .585(ariable cause w)
+-.25 F .585(ords to be ignored)-.1 F .32(when performing w)184 372 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.33
+(pletions. See)184 384 R/F3 9/Times-Bold@0 SF .83(SHELL V)3.33 F
+(ARIABLES)-1.215 E F0(abo)3.08 E 1.13 -.15(ve f)-.15 H .829
+(or a description of).15 F F1(FIGNORE)3.329 E F0 5.829(.T)C .829
+(his option)-5.829 F(is enabled by def)184 396 Q(ault.)-.1 E F1
+(gnu_errfmt)144 408 Q F0(If set, shell error messages are written in th\
+e standard GNU error message format.)184 420 Q F1(histappend)144 432 Q
+F0 .383
+(If set, the history list is appended to the \214le named by the v)184
+444 R .384(alue of the)-.25 F F1(HISTFILE)2.884 E F0 -.25(va)2.884 G
+(ri-).25 E(able when the shell e)184 456 Q(xits, rather than o)-.15 E
+-.15(ve)-.15 G(rwriting the \214le.).15 E F1(histr)144 468 Q(eedit)-.18
+E F0 .576(If set, and)184 480 R F1 -.18(re)3.076 G(adline).18 E F0 .575
+(is being used, a user is gi)3.076 F -.15(ve)-.25 G 3.075(nt).15 G .575
+(he opportunity to re-edit a f)-3.075 F .575(ailed his-)-.1 F
+(tory substitution.)184 492 Q F1(histv)144 504 Q(erify)-.1 E F0 .402
+(If set, and)184 516 R F1 -.18(re)2.903 G(adline).18 E F0 .403
+(is being used, the results of history substitution are not immediately)
+2.903 F .662(passed to the shell parser)184 528 R 5.662(.I)-.55 G .661
+(nstead, the resulting line is loaded into the)-5.662 F F1 -.18(re)3.161
+G(adline).18 E F0(editing)3.161 E -.2(bu)184 540 S -.25(ff).2 G(er).25 E
+2.5(,a)-.4 G(llo)-2.5 E(wing further modi\214cation.)-.25 E F1
+(hostcomplete)144 552 Q F0 1.181(If set, and)184 564 R F1 -.18(re)3.681
+G(adline).18 E F0 1.181(is being used,)3.681 F F1(bash)3.682 E F0 1.182
+(will attempt to perform hostname completion)3.682 F 1.381(when a w)184
+576 R 1.381(ord containing a)-.1 F F1(@)3.881 E F0 1.381
+(is being completed \(see)3.881 F F1(Completing)3.88 E F0(under)3.88 E
+F3(READLINE)3.88 E F0(abo)184 588 Q -.15(ve)-.15 G 2.5(\). This).15 F
+(is enabled by def)2.5 E(ault.)-.1 E F1(huponexit)144 600 Q F0(If set,)
+184 612 Q F1(bash)2.5 E F0(will send)2.5 E F3(SIGHUP)2.5 E F0
+(to all jobs when an interacti)2.25 E .3 -.15(ve l)-.25 H(ogin shell e)
+.15 E(xits.)-.15 E F1(interacti)144 624 Q -.1(ve)-.1 G(_comments).1 E F0
+.33(If set, allo)184 636 R 2.83(waw)-.25 G .33(ord be)-2.93 F .33
+(ginning with)-.15 F F1(#)2.83 E F0 .33(to cause that w)2.83 F .33
+(ord and all remaining characters on)-.1 F .967
+(that line to be ignored in an interacti)184 648 R 1.267 -.15(ve s)-.25
+H .967(hell \(see).15 F F3(COMMENTS)3.467 E F0(abo)3.217 E -.15(ve)-.15
+G 3.467(\). This).15 F .967(option is)3.467 F(enabled by def)184 660 Q
+(ault.)-.1 E F1(lithist)144 672 Q F0 .654(If set, and the)15.55 F F1
+(cmdhist)3.154 E F0 .654(option is enabled, multi-line commands are sa)
+3.154 F -.15(ve)-.2 G 3.155(dt).15 G 3.155(ot)-3.155 G .655(he history)
+-3.155 F(with embedded ne)184 684 Q
+(wlines rather than using semicolon separators where possible.)-.25 E F1
+(login_shell)144 696 Q F0 .486
+(The shell sets this option if it is started as a login shell \(see)184
+708 R F3(INV)2.986 E(OCA)-.405 E(TION)-.855 E F0(abo)2.736 E -.15(ve)
+-.15 G 2.986(\). The).15 F -.25(va)184 720 S(lue may not be changed.).25
+E(GNU Bash-3.0)72 768 Q(2004 Apr 20)148.735 E(15)198.725 E 0 Cg EP
 %%Page: 16 16
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 290.48
 (TINS\(1\) B)-.92 F(ASH_B)-.35 E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10
-/Palatino-Roman@0 SF(the)184 84 Q/F2 10/Palatino-Bold@0 SF(readline)2.5
-E F1(editing buf)2.5 E(fer)-.18 E 2.5(,a)-.74 G
-(llowing further modi\214cation.)-2.5 E F2(hostcomplete)144 96 Q F1 .648
-(If set, and)184 108 R F2(readline)3.148 E F1 .648(is being used,)3.148
-F F2(bash)3.148 E F1 .647(will attempt to perform hostname com-)3.148 F
-.439(pletion when a wor)184 120 R 2.939(dc)-.18 G .439(ontaining a)
--2.939 F F2(@)2.939 E F1 .439(is being completed \(see)2.939 F F2
-(Completing)2.94 E F1(under)2.94 E/F3 9/Palatino-Bold@0 SF(READLINE)184
-132 Q F1 2.5(above\). This)2.25 F(is enabled by default.)2.5 E F2
-(huponexit)144 144 Q F1(If set,)184 156 Q F2(bash)2.5 E F1(will send)2.5
-E F3(SIGHUP)2.5 E F1(to all jobs when an interactive login shell exits.)
-2.25 E F2(interactive_comments)144 168 Q F1 .26(If set, allow a wor)184
-180 R 2.76(db)-.18 G .26(eginning with)-2.76 F F2(#)2.76 E F1 .26
-(to cause that wor)2.76 F 2.76(da)-.18 G .26(nd all r)-2.76 F .26
-(emaining char)-.18 F(-)-.18 E .512(acters on that line to be ignor)184
-192 R .512(ed in an interactive shell \(see)-.18 F F3(COMMENTS)3.012 E
-F1(above\).)2.763 E(This option is enabled by default.)184 204 Q F2
-(lithist)144 216 Q F1 .513(If set, and the)12.8 F F2(cmdhist)3.013 E F1
-.513(option is enabled, multi-line commands ar)3.013 F 3.013(es)-.18 G
-.513(aved to the)-3.013 F .643(history with embedded newlines rather th\
-an using semicolon separators wher)184 228 R(e)-.18 E(possible.)184 240
-Q F2(login_shell)144 252 Q F1 2.454
-(The shell sets this option if it is started as a login shell \(see)184
-264 R F3(INVOCA)4.953 E(TION)-.828 E F1 2.5(above\). The)184 276 R
-(value may not be changed.)2.5 E F2(mailwarn)144 288 Q F1 .964
-(If set, and a \214le that)184 300 R F2(bash)3.464 E F1 .965
-(is checking for mail has been accessed since the last)3.464 F 1.647
-(time it was checked, the message `)184 312 R 1.647(`The mail in)-.37 F
-/F4 10/Palatino-Italic@0 SF(mail\214le)4.147 E F1 1.647(has been r)4.147
-F(ead')-.18 E 4.147('i)-.37 G 4.147(sd)-4.147 G(is-)-4.147 E(played.)184
-324 Q F2(no_empty_cmd_completion)144 336 Q F1 .572(If set, and)184 348 R
-F2(readline)3.072 E F1 .572(is being used,)3.072 F F2(bash)3.072 E F1
-.572(will not attempt to sear)3.072 F .572(ch the)-.18 F F2 -.74(PA)
-3.072 G(TH)-.18 E F1(for)3.072 E
-(possible completions when completion is attempted on an empty line.)184
-360 Q F2(nocaseglob)144 372 Q F1 1.548(If set,)184 384 R F2(bash)4.048 E
-F1 1.548
-(matches \214lenames in a case\255insensitive fashion when performing)
-4.048 F(pathname expansion \(see)184 396 Q F2(Pathname Expansion)2.5 E
-F1(above\).)2.5 E F2(nocasematch)144 408 Q F1 2.158(If set,)184 420 R F2
-(bash)4.658 E F1 2.158
-(matches patterns in a case\255insensitive fashion when performing)4.658
-F(matching while executing)184 432 Q F2(case)2.5 E F1(or)2.5 E F2([[)2.5
-E F1(conditional commands.)2.5 E F2(nullglob)144 444 Q F1 2.34(If set,)
-184 456 R F2(bash)4.84 E F1 2.34
-(allows patterns which match no \214les \(see)4.84 F F2 2.34
-(Pathname Expansion)4.84 F F1
-(above\) to expand to a null string, rather than themselves.)184 468 Q
-F2(progcomp)144 480 Q F1 1.198(If set, the pr)184 492 R 1.199
-(ogrammable completion facilities \(see)-.18 F F2 1.199
-(Programmable Completion)3.699 F F1(above\) ar)184 504 Q 2.5(ee)-.18 G
-2.5(nabled. This)-2.5 F(option is enabled by default.)2.5 E F2
-(promptvars)144 516 Q F1 2.553(If set, pr)184 528 R 2.553
-(ompt strings under)-.18 F 2.552
-(go parameter expansion, command substitution,)-.18 F 1.007
-(arithmetic expansion, and quote r)184 540 R 1.007
-(emoval after being expanded as described in)-.18 F F3(PROMPTING)184 552
-Q F1 2.5(above. This)2.25 F(option is enabled by default.)2.5 E F2
-(restricted_shell)144 564 Q F1 1.743
-(The shell sets this option if it is started in r)184 576 R 1.742
-(estricted mode \(see)-.18 F F3(RESTRICTED)4.242 E(SHELL)184 588 Q F1
-4.862(below\). The)4.612 F 2.362(value may not be changed.)4.862 F 2.362
-(This is not r)7.362 F 2.362(eset when the)-.18 F .294
-(startup \214les ar)184 600 R 2.794(ee)-.18 G .294
-(xecuted, allowing the startup \214les to discover whether or not a)
--2.794 F(shell is r)184 612 Q(estricted.)-.18 E F2(shift_verbose)144 624
-Q F1 .527(If set, the)184 636 R F2(shift)3.028 E F1 .528
-(builtin prints an err)3.028 F .528
-(or message when the shift count exceeds the)-.18 F
-(number of positional parameters.)184 648 Q F2(sourcepath)144 660 Q F1
-.515(If set, the)184 672 R F2(source)3.015 E F1(\()3.014 E F2(.)A F1
-3.014(\)b)C .514(uiltin uses the value of)-3.014 F F3 -.666(PA)3.014 G
-(TH)-.162 E F1 .514(to \214nd the dir)2.764 F .514(ectory contain-)-.18
-F(ing the \214le supplied as an ar)184 684 Q 2.5(gument. This)-.18 F
-(option is enabled by default.)2.5 E F2(xpg_echo)144 696 Q F1
-(If set, the)184 708 Q F2(echo)2.5 E F1
-(builtin expands backslash-escape sequences by default.)2.5 E F0
-(GNU Bash-3.0)72 768 Q(2004 Apr 20)148.735 E(16)198.725 E 0 Cg EP
+/Times-Bold@0 SF(mailwar)144 84 Q(n)-.15 E F0 .814
+(If set, and a \214le that)184 96 R F1(bash)3.314 E F0 .815
+(is checking for mail has been accessed since the last time it)3.314 F
+-.1(wa)184 108 S 2.5(sc).1 G(heck)-2.5 E(ed, the message `)-.1 E
+(`The mail in)-.74 E/F2 10/Times-Italic@0 SF(mail\214le)2.5 E F0
+(has been read')2.5 E 2.5('i)-.74 G 2.5(sd)-2.5 G(isplayed.)-2.5 E F1
+(no_empty_cmd_completion)144 120 Q F0 .146(If set, and)184 132 R F1 -.18
+(re)2.646 G(adline).18 E F0 .146(is being used,)2.646 F F1(bash)2.646 E
+F0 .145(will not attempt to search the)2.646 F F1 -.74(PA)2.645 G(TH)
+-.21 E F0 .145(for possible)2.645 F
+(completions when completion is attempted on an empty line.)184 144 Q F1
+(nocaseglob)144 156 Q F0 .436(If set,)184 168 R F1(bash)2.936 E F0 .436
+(matches \214lenames in a case\255insensiti)2.936 F .737 -.15(ve f)-.25
+H .437(ashion when performing pathname).05 F -.15(ex)184 180 S
+(pansion \(see).15 E F1 -.1(Pa)2.5 G(thname Expansion).1 E F0(abo)2.5 E
+-.15(ve)-.15 G(\).).15 E F1(nocasematch)144 192 Q F0 1.194(If set,)184
+204 R F1(bash)3.694 E F0 1.194(matches patterns in a case\255insensiti)
+3.694 F 1.493 -.15(ve f)-.25 H 1.193(ashion when performing matching).05
+F(while e)184 216 Q -.15(xe)-.15 G(cuting).15 E F1(case)2.5 E F0(or)2.5
+E F1([[)2.5 E F0(conditional commands.)2.5 E F1(nullglob)144 228 Q F0
+.854(If set,)184 240 R F1(bash)3.354 E F0(allo)3.354 E .855
+(ws patterns which match no \214les \(see)-.25 F F1 -.1(Pa)3.355 G .855
+(thname Expansion).1 F F0(abo)3.355 E -.15(ve)-.15 G 3.355(\)t).15 G(o)
+-3.355 E -.15(ex)184 252 S(pand to a null string, rather than themselv)
+.15 E(es.)-.15 E F1(pr)144 264 Q(ogcomp)-.18 E F0 .677
+(If set, the programmable completion f)184 276 R .677(acilities \(see)
+-.1 F F1(Pr)3.176 E .676(ogrammable Completion)-.18 F F0(abo)3.176 E
+-.15(ve)-.15 G(\)).15 E(are enabled.)184 288 Q
+(This option is enabled by def)5 E(ault.)-.1 E F1(pr)144 300 Q(omptv)
+-.18 E(ars)-.1 E F0 1.447(If set, prompt strings under)184 312 R 1.448
+(go parameter e)-.18 F 1.448(xpansion, command substitution, arithmetic)
+-.15 F -.15(ex)184 324 S .171(pansion, and quote remo).15 F -.25(va)-.15
+G 2.67(la).25 G .17(fter being e)-2.67 F .17(xpanded as described in)
+-.15 F/F3 9/Times-Bold@0 SF(PR)2.67 E(OMPTING)-.27 E F0(abo)2.42 E -.15
+(ve)-.15 G(.).15 E(This option is enabled by def)184 336 Q(ault.)-.1 E
+F1 -.18(re)144 348 S(stricted_shell).18 E F0 1.069
+(The shell sets this option if it is started in restricted mode \(see)
+184 360 R F3 1.069(RESTRICTED SHELL)3.569 F F0(belo)184 372 Q 4.178
+(w\). The)-.25 F -.25(va)4.178 G 1.678(lue may not be changed.).25 F
+1.678(This is not reset when the startup \214les are)6.678 F -.15(exe)
+184 384 S(cuted, allo).15 E(wing the startup \214les to disco)-.25 E
+-.15(ve)-.15 G 2.5(rw).15 G(hether or not a shell is restricted.)-2.5 E
+F1(shift_v)144 396 Q(erbose)-.1 E F0 .501(If set, the)184 408 R F1
+(shift)3.001 E F0 -.2(bu)3.001 G .501
+(iltin prints an error message when the shift count e).2 F .502
+(xceeds the number)-.15 F(of positional parameters.)184 420 Q F1(sour)
+144 432 Q(cepath)-.18 E F0 .771(If set, the)184 444 R F1(sour)3.271 E
+(ce)-.18 E F0(\()3.271 E F1(.)A F0 3.271(\)b)C .771(uiltin uses the v)
+-3.471 F .771(alue of)-.25 F F3 -.666(PA)3.27 G(TH)-.189 E F0 .77
+(to \214nd the directory containing the)3.02 F(\214le supplied as an ar)
+184 456 Q 2.5(gument. This)-.18 F(option is enabled by def)2.5 E(ault.)
+-.1 E F1(xpg_echo)144 468 Q F0(If set, the)184 480 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 492 Q F0([)2.5 E F1<ad66>A F0(])A .492
+(Suspend the e)144 504 R -.15(xe)-.15 G .492
+(cution of this shell until it recei).15 F -.15(ve)-.25 G 2.992(sa).15 G
+F3(SIGCONT).001 E F0 2.993(signal. The)2.743 F F1<ad66>2.993 E F0 .493
+(option says not to)2.993 F .759
+(complain if this is a login shell; just suspend an)144 516 R(yw)-.15 E
+(ay)-.1 E 5.758(.T)-.65 G .758
+(he return status is 0 unless the shell is a)-5.758 F(login shell and)
+144 528 Q F1<ad66>2.5 E F0
+(is not supplied, or if job control is not enabled.)2.5 E F1(test)108
+540 Q F2 -.2(ex)2.5 G(pr).2 E F1([)108 552 Q F2 -.2(ex)2.5 G(pr).2 E F1
+(])2.5 E F0 1.15(Return a status of 0 or 1 depending on the e)6.77 F
+-.25(va)-.25 G 1.15(luation of the conditional e).25 F(xpression)-.15 E
+F2 -.2(ex)3.65 G(pr).2 E F0 6.15(.E).73 G(ach)-6.15 E 1.188
+(operator and operand must be a separate ar)144 564 R 3.688
+(gument. Expressions)-.18 F 1.187(are composed of the primaries)3.688 F
+1.889(described abo)144 576 R 2.189 -.15(ve u)-.15 H(nder).15 E F3
+(CONDITION)4.389 E 1.889(AL EXPRESSIONS)-.18 F/F4 9/Times-Roman@0 SF(.)A
+F1(test)6.389 E F0 1.89(does not accept an)4.389 F 4.39(yo)-.15 G 1.89
+(ptions, nor)-4.39 F(does it accept and ignore an ar)144 588 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 606 R .785
+(wing operators, listed in decreasing order of prece-)-.25 F(dence.)144
+618 Q F1(!)144 630 Q F2 -.2(ex)2.5 G(pr).2 E F0 -.35(Tr)12.6 G(ue if).35
+E F2 -.2(ex)2.5 G(pr).2 E F0(is f)3.23 E(alse.)-.1 E F1(\()144 642 Q F2
+-.2(ex)2.5 G(pr).2 E F1(\))2.5 E F0 .26(Returns the v)6.77 F .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 654 Q F2 -.2(ex)
+144 666 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 678 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 690 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 702 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 718.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(GNU Bash-3.0)72 768 Q(2004 Apr 20)148.735 E(16)198.725
+E 0 Cg EP
 %%Page: 17 17
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 290.48
-(TINS\(1\) B)-.92 F(ASH_B)-.35 E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10
-/Palatino-Bold@0 SF(suspend)108 84 Q/F2 10/Palatino-Roman@0 SF([)2.5 E
-F1<ad66>A F2(])A .048(Suspend the execution of this shell until it r)144
-96 R .048(eceives a)-.18 F/F3 9/Palatino-Bold@0 SF(SIGCONT)2.548 E F2
-2.548(signal. The)2.298 F F1<ad66>2.548 E F2 .048(option says)2.548 F
-.327(not to complain if this is a login shell; just suspend anyway)144
-108 R 5.327(.T)-1.11 G .327(he r)-5.327 F .327(eturn status is 0 unless)
--.18 F(the shell is a login shell and)144 120 Q F1<ad66>2.5 E F2
-(is not supplied, or if job contr)2.5 E(ol is not enabled.)-.18 E F1
-(test)108 132 Q/F4 10/Palatino-Italic@0 SF(expr)2.5 E F1([)108 144 Q F4
-(expr)2.5 E F1(])2.5 E F2 .544(Return a status of 0 or 1 depending on t\
-he evaluation of the conditional expr)6.56 F(ession)-.18 E F4(expr)3.044
-E F2(.).45 E .789(Each operator and operand must be a separate ar)144
-156 R 3.288(gument. Expr)-.18 F .788(essions ar)-.18 F 3.288(ec)-.18 G
-.788(omposed of)-3.288 F(the primaries described above under)144 168 Q
-F3(CONDITIONAL EXPRESSIONS)2.5 E/F5 9/Palatino-Roman@0 SF(.)A F2(Expr)
-144 186 Q .054
-(essions may be combined using the following operators, listed in decr)
--.18 F .055(easing or)-.18 F .055(der of)-.18 F(pr)144 198 Q(ecedence.)
--.18 E F1(!)144 210 Q F4(expr)2.5 E F2 -.78 -.9(Tr u)12.94 H 2.5(ei).9 G
-(f)-2.5 E F4(expr)2.85 E F2(is false.)2.95 E F1(\()144 222 Q F4(expr)2.5
-E F1(\))2.5 E F2 .847(Returns the value of)6.56 F F4(expr)3.347 E F2
-5.847(.T)C .847(his may be used to override the normal pr)-5.847 F
-(ecedence)-.18 E(of operators.)180 234 Q F4(expr1)144 246 Q F2<ad>2.5 E
-F1(a)A F4(expr2)2.5 E F2 -.78 -.9(Tr u)180 258 T 2.5(ei).9 G 2.5(fb)-2.5
-G(oth)-2.5 E F4(expr1)2.85 E F2(and)2.5 E F4(expr2)2.85 E F2(ar)2.5 E
-2.5(et)-.18 G -.08(ru)-2.5 G(e.).08 E F4(expr1)144 270 Q F2<ad>2.5 E F1
-(o)A F4(expr2)2.5 E F2 -.78 -.9(Tr u)180 282 T 2.5(ei).9 G 2.5(fe)-2.5 G
-(ither)-2.5 E F4(expr1)2.85 E F2(or)2.5 E F4(expr2)2.85 E F2(is tr)2.5 E
-(ue.)-.08 E F1(test)144 298.8 Q F2(and)3.576 E F1([)3.576 E F2 1.076
-(evaluate conditional expr)3.576 F 1.076(essions using a set of r)-.18 F
-1.076(ules based on the number of)-.08 F(ar)144 310.8 Q(guments.)-.18 E
-2.5(0a)144 328.8 S -.18(rg)-2.5 G(uments).18 E(The expr)180 340.8 Q
-(ession is false.)-.18 E 2.5(1a)144 352.8 S -.18(rg)-2.5 G(ument).18 E
-(The expr)180 364.8 Q(ession is tr)-.18 E(ue if and only if the ar)-.08
-E(gument is not null.)-.18 E 2.5(2a)144 376.8 S -.18(rg)-2.5 G(uments)
-.18 E .209(If the \214rst ar)180 388.8 R .208(gument is)-.18 F F1(!)
-2.708 E F2 2.708(,t)C .208(he expr)-2.708 F .208(ession is tr)-.18 F
-.208(ue if and only if the second ar)-.08 F(gument)-.18 E 2.143
-(is null.)180 400.8 R 2.144(If the \214rst ar)7.143 F 2.144
-(gument is one of the unary conditional operators listed)-.18 F 1.402
-(above under)180 412.8 R F3 1.401(CONDITIONAL EXPRESSIONS)3.901 F F5(,)A
-F2 1.401(the expr)3.651 F 1.401(ession is tr)-.18 F 1.401
-(ue if the unary)-.08 F 1.355(test is tr)180 424.8 R 3.855(ue. If)-.08 F
-1.356(the \214rst ar)3.855 F 1.356
-(gument is not a valid unary conditional operator)-.18 F 3.856(,t)-.74 G
-(he)-3.856 E(expr)180 436.8 Q(ession is false.)-.18 E 2.5(3a)144 448.8 S
--.18(rg)-2.5 G(uments).18 E 1.5(If the second ar)180 460.8 R 1.499
-(gument is one of the binary conditional operators listed above)-.18 F
-(under)180 472.8 Q F3 .64(CONDITIONAL EXPRESSIONS)3.14 F F5(,)A F2 .64
-(the r)2.89 F .64(esult of the expr)-.18 F .64(ession is the r)-.18 F
-.641(esult of)-.18 F .529(the binary test using the \214rst and thir)180
-484.8 R 3.029(da)-.18 G -.18(rg)-3.029 G .528(uments as operands.).18 F
-.528(If the \214rst ar)5.528 F(gu-)-.18 E .106(ment is)180 496.8 R F1(!)
-2.606 E F2 2.606(,t)C .107(he value is the negation of the two-ar)-2.606
-F .107(gument test using the second and)-.18 F(thir)180 508.8 Q 4.633
-(da)-.18 G -.18(rg)-4.633 G 4.633(uments. If).18 F 2.133(the \214rst ar)
-4.633 F 2.132(gument is exactly)-.18 F F1(\()4.632 E F2 2.132
-(and the thir)4.632 F 4.632(da)-.18 G -.18(rg)-4.632 G 2.132(ument is)
-.18 F(exactly)180 520.8 Q F1(\))2.925 E F2 2.925(,t)C .426(he r)-2.925 F
-.426(esult is the one-ar)-.18 F .426(gument test of the second ar)-.18 F
-2.926(gument. Otherwise,)-.18 F .43(the expr)180 532.8 R .43
-(ession is false.)-.18 F(The)5.43 E F1<ad61>2.93 E F2(and)2.93 E F1
-<ad6f>2.93 E F2 .43(operators ar)2.93 F 2.93(ec)-.18 G(onsider)-2.93 E
-.43(ed binary operators)-.18 F(in this case.)180 544.8 Q 2.5(4a)144
-556.8 S -.18(rg)-2.5 G(uments).18 E .668(If the \214rst ar)180 568.8 R
-.668(gument is)-.18 F F1(!)3.168 E F2 3.168(,t)C .669(he r)-3.168 F .669
-(esult is the negation of the thr)-.18 F(ee-ar)-.18 E .669(gument expr)
--.18 F(es-)-.18 E .409(sion composed of the r)180 580.8 R .409
-(emaining ar)-.18 F 2.909(guments. Otherwise,)-.18 F .409(the expr)2.909
-F .409(ession is parsed)-.18 F(and evaluated accor)180 592.8 Q
-(ding to pr)-.18 E(ecedence using the r)-.18 E(ules listed above.)-.08 E
-2.5(5o)144 604.8 S 2.5(rm)-2.5 G(or)-2.5 E 2.5(ea)-.18 G -.18(rg)-2.5 G
-(uments).18 E .781(The expr)180 616.8 R .782
-(ession is parsed and evaluated accor)-.18 F .782(ding to pr)-.18 F .782
-(ecedence using the r)-.18 F(ules)-.08 E(listed above.)180 628.8 Q F1
-(times)108 645.6 Q F2 .334
-(Print the accumulated user and system times for the shell and for pr)
-11.01 F .334(ocesses r)-.18 F .334(un fr)-.08 F .334(om the)-.18 F 2.5
-(shell. The)144 657.6 R -.18(re)2.5 G(turn status is 0.).18 E F1(trap)
-108 674.4 Q F2([)2.5 E F1(\255lp)A F2 2.5(][)C([)-2.5 E F4(ar)A(g)-.18 E
-F2(])A F4(sigspec)2.5 E F2(...])2.5 E .563(The command)144 686.4 R F4
-(ar)3.523 E(g)-.18 E F2 .563(is to be r)3.543 F .563
-(ead and executed when the shell r)-.18 F .564(eceives signal\(s\))-.18
-F F4(sigspec)3.064 E F2 5.564(.I).32 G(f)-5.564 E F4(ar)144.46 698.4 Q
-(g)-.18 E F2 .153(is absent \(and ther)3.133 F 2.653(ei)-.18 G 2.653
-(sas)-2.653 G(ingle)-2.653 E F4(sigspec)2.653 E F2 2.653(\)o)C(r)-2.653
-E F1<ad>2.653 E F2 2.653(,e)C .153(ach speci\214ed signal is r)-2.653 F
-.152(eset to its original)-.18 F .069
-(disposition \(the value it had upon entrance to the shell\).)144 710.4
-R(If)5.069 E F4(ar)3.03 E(g)-.18 E F2 .07(is the null string the signal)
-3.05 F .142(speci\214ed by each)144 722.4 R F4(sigspec)3.052 E F2 .142
-(is ignor)2.962 F .142(ed by the shell and by the commands it invokes.)
--.18 F(If)5.141 E F4(ar)3.101 E(g)-.18 E F2(is)3.121 E F0(GNU Bash-3.0)
-72 768 Q(2004 Apr 20)148.735 E(17)198.725 E 0 Cg EP
+(TINS\(1\) B)-.92 F(ASH_B)-.35 E(UIL)-.1 E(TINS\(1\))-.92 E 2.5(0a)144
+84 S -.18(rg)-2.5 G(uments).18 E(The e)180 96 Q(xpression is f)-.15 E
+(alse.)-.1 E 2.5(1a)144 108 S -.18(rg)-2.5 G(ument).18 E(The e)180 120 Q
+(xpression is true if and only if the ar)-.15 E(gument is not null.)-.18
+E 2.5(2a)144 132 S -.18(rg)-2.5 G(uments).18 E .37(If the \214rst ar)180
+144 R .37(gument is)-.18 F/F1 10/Times-Bold@0 SF(!)2.87 E F0 2.87(,t)C
+.37(he e)-2.87 F .37(xpression is true if and only if the second ar)-.15
+F .37(gument is null.)-.18 F .379(If the \214rst ar)180 156 R .38
+(gument is one of the unary conditional operators listed abo)-.18 F .68
+-.15(ve u)-.15 H(nder).15 E/F2 9/Times-Bold@0 SF(CONDI-)2.88 E(TION)180
+168 Q .553(AL EXPRESSIONS)-.18 F/F3 9/Times-Roman@0 SF(,)A F0 .552
+(the e)2.802 F .552(xpression is true if the unary test is true.)-.15 F
+.552(If the \214rst ar)5.552 F(gu-)-.18 E(ment is not a v)180 180 Q
+(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 192 S -.18(rg)-2.5 G
+(uments).18 E .023(If the second ar)180 204 R .023
+(gument is one of the binary conditional operators listed abo)-.18 F
+.324 -.15(ve u)-.15 H(nder).15 E F2(CON-)2.524 E(DITION)180 216 Q 1.478
+(AL EXPRESSIONS)-.18 F F3(,)A F0 1.477(the result of the e)3.727 F 1.477
+(xpression is the result of the binary test)-.15 F .397
+(using the \214rst and third ar)180 228 R .397(guments as operands.)-.18
+F .398(If the \214rst ar)5.398 F .398(gument is)-.18 F F1(!)2.898 E F0
+2.898(,t)C .398(he v)-2.898 F .398(alue is the)-.25 F(ne)180 240 Q -.05
+(ga)-.15 G .263(tion of the tw).05 F(o-ar)-.1 E .262
+(gument test using the second and third ar)-.18 F 2.762(guments. If)-.18
+F .262(the \214rst ar)2.762 F(gu-)-.18 E .205(ment is e)180 252 R
+(xactly)-.15 E F1(\()2.705 E F0 .205(and the third ar)2.705 F .205
+(gument is e)-.18 F(xactly)-.15 E F1(\))2.705 E F0 2.705(,t)C .206
+(he result is the one-ar)-2.705 F .206(gument test of)-.18 F 1.171
+(the second ar)180 264 R 3.671(gument. Otherwise,)-.18 F 1.171(the e)
+3.671 F 1.171(xpression is f)-.15 F 3.671(alse. The)-.1 F F1<ad61>3.671
+E F0(and)3.671 E F1<ad6f>3.67 E F0 1.17(operators are)3.67 F
+(considered binary operators in this case.)180 276 Q 2.5(4a)144 288 S
+-.18(rg)-2.5 G(uments).18 E .384(If the \214rst ar)180 300 R .384
+(gument is)-.18 F F1(!)2.884 E F0 2.885(,t)C .385(he result is the ne)
+-2.885 F -.05(ga)-.15 G .385(tion of the three-ar).05 F .385(gument e)
+-.18 F .385(xpression com-)-.15 F 1.648(posed of the remaining ar)180
+312 R 4.147(guments. Otherwise,)-.18 F 1.647(the e)4.147 F 1.647
+(xpression is parsed and e)-.15 F -.25(va)-.25 G(luated).25 E
+(according to precedence using the rules listed abo)180 324 Q -.15(ve)
+-.15 G(.).15 E 2.5(5o)144 336 S 2.5(rm)-2.5 G(ore ar)-2.5 E(guments)-.18
+E 1.635(The e)180 348 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 360 Q -.15(ve)-.15 G(.).15 E F1(times)108 376.8 Q F0 1.229(Pri\
+nt the accumulated user and system times for the shell and for processe\
+s run from the shell.)13.23 F(The return status is 0.)144 388.8 Q F1
+(trap)108 405.6 Q F0([)2.5 E F1(\255lp)A F0 2.5(][)C([)-2.5 E/F4 10
+/Times-Italic@0 SF(ar)A(g)-.37 E F0(])A F4(sigspec)2.5 E F0(...])2.5 E
+.702(The command)144 417.6 R F4(ar)3.532 E(g)-.37 E F0 .702
+(is to be read and e)3.422 F -.15(xe)-.15 G .702
+(cuted when the shell recei).15 F -.15(ve)-.25 G 3.203(ss).15 G
+(ignal\(s\))-3.203 E F4(sigspec)3.203 E F0 5.703(.I).31 G(f)-5.703 E F4
+(ar)3.533 E(g)-.37 E F0(is)3.423 E .609(absent \(and there is a single)
+144 429.6 R F4(sigspec)3.108 E F0 3.108(\)o)C(r)-3.108 E F1<ad>3.108 E
+F0 3.108(,e)C .608
+(ach speci\214ed signal is reset to its original disposition)-3.108 F
+.658(\(the v)144 441.6 R .658(alue it had upon entrance to the shell\).)
+-.25 F(If)5.658 E F4(ar)3.488 E(g)-.37 E F0 .659
+(is the null string the signal speci\214ed by each)3.378 F F4(sigspec)
+144.34 453.6 Q F0 .581
+(is ignored by the shell and by the commands it in)3.391 F -.2(vo)-.4 G
+-.1(ke).2 G 3.08(s. If).1 F F4(ar)3.41 E(g)-.37 E F0 .58
+(is not present and)3.3 F F1<ad70>3.08 E F0(has)3.08 E 1.214
+(been supplied, then the trap commands associated with each)144 465.6 R
+F4(sigspec)4.054 E F0 1.215(are displayed.)4.024 F 1.215(If no ar)6.215
+F(gu-)-.18 E .86(ments are supplied or if only)144 477.6 R F1<ad70>3.36
+E F0 .86(is gi)3.36 F -.15(ve)-.25 G(n,).15 E F1(trap)3.36 E F0 .86
+(prints the list of commands associated with each)3.36 F 2.83
+(signal. The)144 489.6 R F1<ad6c>2.83 E F0 .33(option causes the shell \
+to print a list of signal names and their corresponding num-)2.83 F
+4.311(bers. Each)144 501.6 R F4(sigspec)4.651 E F0 1.811
+(is either a signal name de\214ned in <)4.621 F F4(signal.h)A F0 1.81
+(>, or a signal number)B 6.81(.S)-.55 G(ignal)-6.81 E .745
+(names are case insensiti)144 513.6 R 1.045 -.15(ve a)-.25 H .745
+(nd the SIG pre\214x is optional.).15 F .745(If a)5.745 F F4(sigspec)
+3.585 E F0(is)3.555 E F2(EXIT)3.245 E F0 .745(\(0\) the command)2.995 F
+F4(ar)144.33 525.6 Q(g)-.37 E F0 1.63(is e)4.35 F -.15(xe)-.15 G 1.63
+(cuted on e).15 F 1.63(xit from the shell.)-.15 F 1.63(If a)6.63 F F4
+(sigspec)4.47 E F0(is)4.44 E F2(DEB)4.13 E(UG)-.09 E F3(,)A F0 1.629
+(the command)3.88 F F4(ar)4.459 E(g)-.37 E F0 1.629(is e)4.349 F -.15
+(xe)-.15 G(cuted).15 E 1.206(before e)144 537.6 R -.15(ve)-.25 G(ry).15
+E F4 1.206(simple command)3.706 F F0(,)A F4(for)3.706 E F0(command,)
+3.706 E F4(case)3.706 E F0(command,)3.706 E F4(select)3.707 E F0 1.207
+(command, e)3.707 F -.15(ve)-.25 G 1.207(ry arithmetic).15 F F4(for)144
+549.6 Q F0 .412(command, and before the \214rst command e)2.913 F -.15
+(xe)-.15 G .412(cutes in a shell function \(see).15 F F2 .412
+(SHELL GRAMMAR)2.912 F F0(abo)144 561.6 Q -.15(ve)-.15 G 2.665
+(\). Refer).15 F .166(to the description of the)2.665 F F1(extdeb)2.666
+E(ug)-.2 E F0 .166(option to the)2.666 F F1(shopt)2.666 E F0 -.2(bu)
+2.666 G .166(iltin for details of its ef).2 F(fect)-.25 E .509(on the)
+144 573.6 R F1(DEB)3.009 E(UG)-.1 E F0 3.009(trap. If)3.009 F(a)3.009 E
+F4(sigspec)3.348 E F0(is)3.318 E F2(ERR)3.008 E F3(,)A F0 .508
+(the command)2.758 F F4(ar)3.338 E(g)-.37 E F0 .508(is e)3.228 F -.15
+(xe)-.15 G .508(cuted whene).15 F -.15(ve)-.25 G 3.008(ras).15 G .508
+(imple com-)-3.008 F 2.506(mand has a non\255zero e)144 585.6 R 2.506
+(xit status, subject to the follo)-.15 F 2.506(wing conditions.)-.25 F
+(The)7.506 E F2(ERR)5.006 E F0 2.506(trap is not)4.756 F -.15(exe)144
+597.6 S .105(cuted if the f).15 F .105
+(ailed command is part of the command list immediately follo)-.1 F .105
+(wing a)-.25 F F1(while)2.605 E F0(or)2.605 E F1(until)2.605 E F0 -.1
+(ke)144 609.6 S(yw)-.05 E .936(ord, part of the test in an)-.1 F F4(if)
+3.446 E F0 .936(statement, part of a)5.396 F F1(&&)3.436 E F0(or)3.436 E
+/F5 10/Symbol SF<efef>3.436 E F0 .936(list, or if the command')3.436 F
+3.436(sr)-.55 G(eturn)-3.436 E -.25(va)144 621.6 S 1.095
+(lue is being in).25 F -.15(ve)-.4 G 1.094(rted via).15 F F1(!)3.594 E
+F0 6.094(.T)C 1.094(hese are the same conditions obe)-6.094 F 1.094
+(yed by the)-.15 F F1(err)3.594 E(exit)-.18 E F0 3.594(option. If)3.594
+F(a)3.594 E F4(sigspec)144.34 633.6 Q F0(is)3.348 E F2(RETURN)3.038 E F3
+(,)A F0 .538(the command)2.788 F F4(ar)3.368 E(g)-.37 E F0 .538(is e)
+3.258 F -.15(xe)-.15 G .538
+(cuted each time a shell function or a script e).15 F -.15(xe)-.15 G
+(cuted).15 E .506(with the)144 645.6 R F1(.)3.006 E F0(or)3.006 E F1
+(sour)3.006 E(ce)-.18 E F0 -.2(bu)3.006 G .506(iltins \214nishes e).2 F
+-.15(xe)-.15 G 3.006(cuting. Signals).15 F .505
+(ignored upon entry to the shell cannot be)3.006 F .155
+(trapped or reset.)144 657.6 R -.35(Tr)5.155 G .155
+(apped signals are reset to their original v).35 F .156
+(alues in a child process when it is cre-)-.25 F 2.5(ated. The)144 669.6
+R(return status is f)2.5 E(alse if an)-.1 E(y)-.15 E F4(sigspec)2.84 E
+F0(is in)2.81 E -.25(va)-.4 G(lid; otherwise).25 E F1(trap)2.5 E F0
+(returns true.)2.5 E F1(type)108 686.4 Q F0([)2.5 E F1(\255aftpP)A F0(])
+A F4(name)2.5 E F0([)2.5 E F4(name)A F0(...])2.5 E -.4(Wi)144 698.4 S
+.174(th no options, indicate ho).4 F 2.674(we)-.25 G(ach)-2.674 E F4
+(name)3.034 E F0 -.1(wo)2.854 G .173
+(uld be interpreted if used as a command name.).1 F .173(If the)5.173 F
+F1<ad74>144 710.4 Q F0 .842(option is used,)3.342 F F1(type)3.342 E F0
+.843(prints a string which is one of)3.343 F F4(alias)3.343 E F0(,).27 E
+F4 -.1(ke)3.343 G(ywor)-.2 E(d)-.37 E F0(,).77 E F4(function)3.343 E F0
+(,).24 E F4 -.2(bu)3.343 G(iltin).2 E F0 3.343(,o).24 G(r)-3.343 E F4
+(\214le)5.253 E F0(if)3.523 E F4(name)144.36 722.4 Q F0 .087
+(is an alias, shell reserv)2.767 F .087(ed w)-.15 F .087
+(ord, function, b)-.1 F .086(uiltin, or disk \214le, respecti)-.2 F -.15
+(ve)-.25 G(ly).15 E 5.086(.I)-.65 G 2.586(ft)-5.086 G(he)-2.586 E F4
+(name)2.946 E F0 .086(is not)2.766 F(GNU Bash-3.0)72 768 Q(2004 Apr 20)
+148.735 E(17)198.725 E 0 Cg EP
 %%Page: 18 18
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 290.48
-(TINS\(1\) B)-.92 F(ASH_B)-.35 E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10
-/Palatino-Roman@0 SF 1.795(not pr)144 84 R 1.795(esent and)-.18 F/F2 10
-/Palatino-Bold@0 SF<ad70>4.295 E F1 1.796
-(has been supplied, then the trap commands associated with each)4.295 F
-/F3 10/Palatino-Italic@0 SF(sigspec)144.41 96 Q F1(ar)3.218 E 2.898(ed)
--.18 G 2.898(isplayed. If)-2.898 F .398(no ar)2.898 F .398(guments ar)
--.18 F 2.898(es)-.18 G .397(upplied or if only)-2.898 F F2<ad70>2.897 E
-F1 .397(is given,)2.897 F F2(trap)2.897 E F1 .397(prints the)2.897 F
-.035(list of commands associated with each signal.)144 108 R(The)5.036 E
-F2<ad6c>2.536 E F1 .036(option causes the shell to print a list)2.536 F
-1.095(of signal names and their corr)144 120 R 1.095(esponding numbers.)
--.18 F(Each)6.095 E F3(sigspec)4.005 E F1 1.094(is either a signal name)
-3.914 F .672(de\214ned in <)144 132 R F3(signal.h)A F1 .673
-(>, or a signal number)B 5.673(.S)-.74 G .673(ignal names ar)-5.673 F
-3.173(ec)-.18 G .673(ase insensitive and the SIG)-3.173 F(pr)144 144 Q
-.977(e\214x is optional.)-.18 F .976(If a)5.976 F F3(sigspec)3.886 E F1
-(is)3.796 E/F4 9/Palatino-Bold@0 SF(EXIT)3.476 E F1 .976
-(\(0\) the command)3.226 F F3(ar)3.936 E(g)-.18 E F1 .976
-(is executed on exit fr)3.956 F .976(om the)-.18 F 3.404(shell. If)144
-156 R(a)3.404 E F3(sigspec)3.814 E F1(is)3.724 E F4(DEBUG)3.404 E/F5 9
-/Palatino-Roman@0 SF(,)A F1 .904(the command)3.154 F F3(ar)3.864 E(g)
--.18 E F1 .905(is executed befor)3.885 F 3.405(ee)-.18 G(very)-3.405 E
-F3 .905(simple command)3.405 F F1(,)A F3(for)144 168 Q F1(command,)3.016
-E F3(case)3.016 E F1(command,)3.016 E F3(select)3.016 E F1 .515
-(command, every arithmetic)3.016 F F3(for)3.015 E F1 .515
-(command, and befor)3.015 F(e)-.18 E 1.001
-(the \214rst command executes in a shell function \(see)144 180 R F4
-1.001(SHELL GRAMMAR)3.501 F F1 3.501(above\). Refer)3.251 F(to)3.501 E
-.679(the description of the)144 192 R F2(extdebug)3.178 E F1 .678
-(option to the)3.178 F F2(shopt)3.178 E F1 .678
-(builtin for details of its ef)3.178 F .678(fect on the)-.18 F F2(DEBUG)
-144 204 Q F1 3.153(trap. If)3.153 F(a)3.153 E F3(sigspec)3.563 E F1(is)
-3.473 E F4(ERR)3.153 E F5(,)A F1 .653(the command)2.903 F F3(ar)3.613 E
-(g)-.18 E F1 .653(is executed whenever a simple com-)3.633 F .241
-(mand has a non\255zer)144 216 R 2.741(oe)-.18 G .24
-(xit status, subject to the following conditions.)-2.741 F(The)5.24 E F4
-(ERR)2.74 E F1 .24(trap is not)2.49 F 1.926(executed if the failed comm\
-and is part of the command list immediately following a)144 228 R F2
-(while)144 240 Q F1(or)2.552 E F2(until)2.552 E F1(keywor)2.552 E .052
-(d, part of the test in an)-.18 F F3(if)2.712 E F1 .052
-(statement, part of a)4.402 F F2(&&)2.552 E F1(or)2.552 E/F6 10/Symbol
-SF<efef>2.552 E F1 .051(list, or if the)2.552 F .092(command's r)144 252
-R .092(eturn value is being inverted via)-.18 F F2(!)2.592 E F1 5.092
-(.T)C .092(hese ar)-5.092 F 2.592(et)-.18 G .092
-(he same conditions obeyed by)-2.592 F(the)144 264 Q F2(errexit)2.825 E
-F1 2.825(option. If)2.825 F(a)2.825 E F3(sigspec)3.235 E F1(is)3.145 E
-F4(RETURN)2.825 E F5(,)A F1 .325(the command)2.575 F F3(ar)3.284 E(g)
--.18 E F1 .324(is executed each time a shell)3.304 F 1.95
-(function or a script executed with the)144 276 R F2(.)4.451 E F1(or)
-4.451 E F2(source)4.451 E F1 1.951(builtins \214nishes executing.)4.451
-F(Signals)6.951 E(ignor)144 288 Q .847
-(ed upon entry to the shell cannot be trapped or r)-.18 F 3.346(eset. T)
--.18 F .846(rapped signals ar)-.9 F 3.346(er)-.18 G .846(eset to)-3.526
-F .298(their original values in a child pr)144 300 R .299
-(ocess when it is cr)-.18 F 2.799(eated. The)-.18 F -.18(re)2.799 G .299
-(turn status is false if any).18 F F3(sigspec)144.41 312 Q F1
-(is invalid; otherwise)2.82 E F2(trap)2.5 E F1 -.18(re)2.5 G(turns tr)
-.18 E(ue.)-.08 E F2(type)108 328.8 Q F1([)2.5 E F2(\255aftpP)A F1(])A F3
-(name)2.5 E F1([)2.5 E F3(name)A F1(...])2.5 E -.55(Wi)144 340.8 S 1.476
-(th no options, indicate how each).55 F F3(name)4.236 E F1 1.476
-(would be interpr)4.326 F 1.475(eted if used as a command)-.18 F 2.725
-(name. If)144 352.8 R(the)2.725 E F2<ad74>2.725 E F1 .225
-(option is used,)2.725 F F2(type)2.725 E F1 .225
-(prints a string which is one of)2.725 F F3(alias)2.726 E F1(,).06 E F3
-(keyword)2.726 E F1(,).33 E F3(function)2.726 E F1(,).08 E F3(builtin)
-144 364.8 Q F1 2.556(,o).08 G(r)-2.556 E F3(\214le)4.676 E F1(if)2.906 E
-F3(name)2.816 E F1 .056(is an alias, shell r)2.906 F .056(eserved wor)
--.18 F .055(d, function, builtin, or disk \214le, r)-.18 F(espec-)-.18 E
-(tively)144 376.8 Q 6.634(.I)-1.11 G 4.134(ft)-6.634 G(he)-4.134 E F3
-(name)4.394 E F1 1.635
-(is not found, then nothing is printed, and an exit status of false is)
-4.484 F -.18(re)144 388.8 S 2.523(turned. If).18 F(the)2.523 E F2<ad70>
-2.523 E F1 .023(option is used,)2.523 F F2(type)2.523 E F1 .023
-(either r)2.523 F .023(eturns the name of the disk \214le that would)
--.18 F 1.086(be executed if)144 400.8 R F3(name)3.846 E F1(wer)3.936 E
-3.586(es)-.18 G 1.086(peci\214ed as a command name, or nothing if)-3.586
-F/F7 10/Courier@0 SF 1.086(type -t name)3.586 F F1 .016(would not r)144
-412.8 R(eturn)-.18 E F3(\214le)2.516 E F1 5.016(.T).35 G(he)-5.016 E F2
-<ad50>2.516 E F1 .016(option for)2.516 F .016(ces a)-.18 F F4 -.666(PA)
-2.515 G(TH)-.162 E F1(sear)2.265 E .015(ch for each)-.18 F F3(name)2.515
-E F1 2.515(,e)C .015(ven if)-2.515 F F7 .015(type -t)2.515 F(name)144
-424.8 Q F1 .645(would not r)3.145 F(eturn)-.18 E F3(\214le)3.145 E F1
-5.645(.I).35 G 3.145(fac)-5.645 G .645(ommand is hashed,)-3.145 F F2
-<ad70>3.145 E F1(and)3.145 E F2<ad50>3.145 E F1 .645
-(print the hashed value,)3.145 F .411
-(not necessarily the \214le that appears \214rst in)144 436.8 R F4 -.666
-(PA)2.911 G(TH)-.162 E F5(.)A F1 .411(If the)4.911 F F2<ad61>2.911 E F1
-.411(option is used,)2.911 F F2(type)2.91 E F1 .41(prints all)2.91 F
-.164(of the places that contain an executable named)144 448.8 R F3(name)
-2.664 E F1 5.164(.T).35 G .164(his includes aliases and functions,)
--5.164 F .73(if and only if the)144 460.8 R F2<ad70>3.23 E F1 .73
-(option is not also used.)3.23 F .73
-(The table of hashed commands is not con-)5.73 F .497(sulted when using)
-144 472.8 R F2<ad61>2.998 E F1 5.498(.T)C(he)-5.498 E F2<ad66>2.998 E F1
-.498(option suppr)2.998 F .498(esses shell function lookup, as with the)
--.18 F F2(com-)2.998 E(mand)144 484.8 Q F1(builtin.)4.558 E F2(type)
-7.058 E F1 -.18(re)4.558 G 2.058(turns tr).18 F 2.057
-(ue if any of the ar)-.08 F 2.057(guments ar)-.18 F 4.557(ef)-.18 G
-2.057(ound, false if none ar)-4.557 F(e)-.18 E(found.)144 496.8 Q F2
-(ulimit)108 513.6 Q F1([)2.5 E F2(\255SHacd\215mnpstuv)A F1([)2.5 E F3
-(limit)A F1(]])A(Pr)144 525.6 Q .061(ovides contr)-.18 F .061
-(ol over the r)-.18 F(esour)-.18 E .061
-(ces available to the shell and to pr)-.18 F .062
-(ocesses started by it, on)-.18 F 1.497(systems that allow such contr)
-144 537.6 R 3.997(ol. The)-.18 F F2<ad48>3.997 E F1(and)3.997 E F2<ad53>
-3.997 E F1 1.496(options specify that the har)3.997 F 3.996(do)-.18 G
-3.996(rs)-3.996 G(oft)-3.996 E .884(limit is set for the given r)144
-549.6 R(esour)-.18 E 3.384(ce. A)-.18 F(har)3.384 E 3.384(dl)-.18 G .884
-(imit cannot be incr)-3.384 F .884(eased once it is set; a soft)-.18 F
-.089(limit may be incr)144 561.6 R .088
-(eased up to the value of the har)-.18 F 2.588(dl)-.18 G 2.588(imit. If)
--2.588 F(neither)2.588 E F2<ad48>2.588 E F1(nor)2.588 E F2<ad53>2.588 E
-F1 .088(is speci\214ed,)2.588 F .162(both the soft and har)144 573.6 R
-2.662(dl)-.18 G .162(imits ar)-2.662 F 2.662(es)-.18 G 2.663(et. The)
--2.662 F .163(value of)2.663 F F3(limit)2.803 E F1 .163
-(can be a number in the unit speci-)2.933 F .176(\214ed for the r)144
-585.6 R(esour)-.18 E .176(ce or one of the special values)-.18 F F2
-(hard)2.676 E F1(,)A F2(soft)2.675 E F1 2.675(,o)C(r)-2.675 E F2
-(unlimited)2.675 E F1 2.675(,w)C .175(hich stand for)-2.675 F .242
-(the curr)144 597.6 R .242(ent har)-.18 F 2.742(dl)-.18 G .242
-(imit, the curr)-2.742 F .243(ent soft limit, and no limit, r)-.18 F
-(espectively)-.18 E 5.243(.I)-1.11 G(f)-5.243 E F3(limit)2.883 E F1 .243
-(is omitted,)3.013 F .082(the curr)144 609.6 R .081
-(ent value of the soft limit of the r)-.18 F(esour)-.18 E .081
-(ce is printed, unless the)-.18 F F2<ad48>2.581 E F1 .081
-(option is given.)2.581 F .329(When mor)144 621.6 R 2.829(et)-.18 G .329
-(han one r)-2.829 F(esour)-.18 E .329
-(ce is speci\214ed, the limit name and unit ar)-.18 F 2.83(ep)-.18 G .33
-(rinted befor)-2.83 F 2.83(et)-.18 G(he)-2.83 E 2.5(value. Other)144
-633.6 R(options ar)2.5 E 2.5(ei)-.18 G(nterpr)-2.5 E(eted as follows:)
--.18 E F2<ad61>144 645.6 Q F1(All curr)24.94 E(ent limits ar)-.18 E 2.5
-(er)-.18 G(eported)-2.68 E F2<ad63>144 657.6 Q F1
-(The maximum size of cor)25.5 E 2.5<658c>-.18 G(les cr)-2.5 E(eated)-.18
-E F2<ad64>144 669.6 Q F1(The maximum size of a pr)23.83 E
-(ocess's data segment)-.18 E F2<ad66>144 681.6 Q F1
-(The maximum size of \214les cr)26.05 E(eated by the shell)-.18 E F2
-<ad6c>144 693.6 Q F1(The maximum size that may be locked into memory)
-26.61 E F2<ad6d>144 705.6 Q F1(The maximum r)21.05 E(esident set size)
--.18 E F2<ad6e>144 717.6 Q F1 .958(The maximum number of open \214le de\
-scriptors \(most systems do not allow this)23.83 F(value to be set\))180
-729.6 Q F0(GNU Bash-3.0)72 768 Q(2004 Apr 20)148.735 E(18)198.725 E 0 Cg
-EP
+(TINS\(1\) B)-.92 F(ASH_B)-.35 E(UIL)-.1 E(TINS\(1\))-.92 E .118
+(found, then nothing is printed, and an e)144 84 R .118(xit status of f)
+-.15 F .118(alse is returned.)-.1 F .119(If the)5.119 F/F1 10
+/Times-Bold@0 SF<ad70>2.619 E F0 .119(option is used,)2.619 F F1(type)
+2.619 E F0 .855(either returns the name of the disk \214le that w)144 96
+R .855(ould be e)-.1 F -.15(xe)-.15 G .855(cuted if).15 F/F2 10
+/Times-Italic@0 SF(name)3.715 E F0 .855(were speci\214ed as a com-)3.535
+F .64(mand name, or nothing if)144 108 R/F3 10/Courier@0 SF .64
+(type -t name)3.14 F F0 -.1(wo)3.14 G .641(uld not return).1 F F2
+(\214le)3.141 E F0 5.641(.T).18 G(he)-5.641 E F1<ad50>3.141 E F0 .641
+(option forces a)3.141 F/F4 9/Times-Bold@0 SF -.666(PA)3.141 G(TH)-.189
+E F0 .113(search for each)144 120 R F2(name)2.613 E F0 2.613(,e)C -.15
+(ve)-2.863 G 2.613(ni).15 G(f)-2.613 E F3 .113(type -t name)2.613 F F0
+-.1(wo)2.613 G .113(uld not return).1 F F2(\214le)2.613 E F0 5.113(.I)
+.18 G 2.613(fa)-5.113 G .112(command is hashed,)-.001 F F1<ad70>2.612 E
+F0(and)144 132 Q F1<ad50>2.944 E F0 .444(print the hashed v)2.944 F .444
+(alue, not necessarily the \214le that appears \214rst in)-.25 F F4
+-.666(PA)2.945 G(TH)-.189 E/F5 9/Times-Roman@0 SF(.)A F0 .445(If the)
+4.945 F F1<ad61>2.945 E F0(option)2.945 E .265(is used,)144 144 R F1
+(type)2.765 E F0 .265(prints all of the places that contain an e)2.765 F
+-.15(xe)-.15 G .265(cutable named).15 F F2(name)2.765 E F0 5.265(.T).18
+G .265(his includes aliases)-5.265 F .426
+(and functions, if and only if the)144 156 R F1<ad70>2.926 E F0 .426
+(option is not also used.)2.926 F .427
+(The table of hashed commands is not)5.426 F .549(consulted when using)
+144 168 R F1<ad61>3.049 E F0 5.549(.T)C(he)-5.549 E F1<ad66>3.049 E F0
+.548(option suppresses shell function lookup, as with the)3.049 F F1
+(command)3.048 E F0 -.2(bu)144 180 S(iltin.).2 E F1(type)5 E F0
+(returns true if an)2.5 E 2.5(yo)-.15 G 2.5(ft)-2.5 G(he ar)-2.5 E
+(guments are found, f)-.18 E(alse if none are found.)-.1 E F1(ulimit)108
+196.8 Q F0([)2.5 E F1(\255SHacd\215mnpstuv)A F0([)2.5 E F2(limit)A F0
+(]])A(Pro)144 208.8 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 220.8 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 232.8 Q -.15(ve)-.25 G 2.737(nr).15 G 2.737(esource. A)-2.737 F .238
+(hard limit cannot be increased once it is set; a soft limit may be inc\
+reased up to)2.738 F .356(the v)144 244.8 R .356
+(alue of the hard limit.)-.25 F .356(If neither)5.356 F F1<ad48>2.856 E
+F0(nor)2.856 E F1<ad53>2.856 E F0 .355
+(is speci\214ed, both the soft and hard limits are set.)2.855 F .402
+(The v)144 256.8 R .402(alue of)-.25 F F2(limit)2.992 E F0 .402(can be \
+a number in the unit speci\214ed for the resource or one of the special\
+ v)3.582 F(al-)-.25 E(ues)144 268.8 Q F1(hard)3.019 E F0(,)A F1(soft)
+3.019 E F0 3.019(,o)C(r)-3.019 E F1(unlimited)3.019 E F0 3.018(,w)C .518
+(hich stand for the current hard limit, the current soft limit, and no)
+-3.018 F .353(limit, respecti)144 280.8 R -.15(ve)-.25 G(ly).15 E 5.353
+(.I)-.65 G(f)-5.353 E F2(limit)2.943 E F0 .353
+(is omitted, the current v)3.533 F .354
+(alue of the soft limit of the resource is printed,)-.25 F .37
+(unless the)144 292.8 R F1<ad48>2.87 E F0 .37(option is gi)2.87 F -.15
+(ve)-.25 G 2.87(n. When).15 F .37
+(more than one resource is speci\214ed, the limit name and unit)2.87 F
+(are printed before the v)144 304.8 Q 2.5(alue. Other)-.25 F
+(options are interpreted as follo)2.5 E(ws:)-.25 E F1<ad61>144 316.8 Q
+F0(All current limits are reported)25.3 E F1<ad63>144 328.8 Q F0
+(The maximum size of core \214les created)25.86 E F1<ad64>144 340.8 Q F0
+(The maximum size of a process')24.74 E 2.5(sd)-.55 G(ata se)-2.5 E
+(gment)-.15 E F1<ad66>144 352.8 Q F0
+(The maximum size of \214les created by the shell)26.97 E F1<ad6c>144
+364.8 Q F0(The maximum size that may be lock)27.52 E(ed into memory)-.1
+E F1<ad6d>144 376.8 Q F0(The maximum resident set size)21.97 E F1<ad6e>
+144 388.8 Q F0 .791(The maximum number of open \214le descriptors \(mos\
+t systems do not allo)24.74 F 3.291(wt)-.25 G .791(his v)-3.291 F .791
+(alue to)-.25 F(be set\))180 400.8 Q F1<ad70>144 412.8 Q F0
+(The pipe size in 512-byte blocks \(this may not be set\))24.74 E F1
+<ad73>144 424.8 Q F0(The maximum stack size)26.41 E F1<ad74>144 436.8 Q
+F0(The maximum amount of cpu time in seconds)26.97 E F1<ad75>144 448.8 Q
+F0(The maximum number of processes a)24.74 E -.25(va)-.2 G
+(ilable to a single user).25 E F1<ad76>144 460.8 Q F0
+(The maximum amount of virtual memory a)25.3 E -.25(va)-.2 G
+(ilable to the shell).25 E(If)144 477.6 Q F2(limit)2.933 E F0 .343
+(is gi)3.523 F -.15(ve)-.25 G .343(n, it is the ne).15 F 2.843(wv)-.25 G
+.343(alue of the speci\214ed resource \(the)-3.093 F F1<ad61>2.843 E F0
+.343(option is display only\).)2.843 F .343(If no)5.343 F .175
+(option is gi)144 489.6 R -.15(ve)-.25 G .175(n, then).15 F F1<ad66>
+2.675 E F0 .175(is assumed.)2.675 F -1.11(Va)5.175 G .175
+(lues are in 1024-byte increments, e)1.11 F .176(xcept for)-.15 F F1
+<ad74>2.676 E F0 2.676(,w)C .176(hich is in)-2.676 F(seconds,)144 501.6
+Q F1<ad70>2.698 E F0 2.698(,w)C .198
+(hich is in units of 512-byte blocks, and)-2.698 F F1<ad6e>2.698 E F0
+(and)2.698 E F1<ad75>2.697 E F0 2.697(,w)C .197(hich are unscaled v)
+-2.697 F 2.697(alues. The)-.25 F .404(return status is 0 unless an in)
+144 513.6 R -.25(va)-.4 G .404(lid option or ar).25 F .404
+(gument is supplied, or an error occurs while setting)-.18 F 2.5(an)144
+525.6 S .5 -.25(ew l)-2.5 H(imit.).25 E F1(umask)108 542.4 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
+.2(The user \214le-creation mask is set to)144 554.4 R F2(mode)2.7 E F0
+5.2(.I).18 G(f)-5.2 E F2(mode)3.08 E F0(be)2.88 E .2
+(gins with a digit, it is interpreted as an octal)-.15 F .066(number; o\
+therwise it is interpreted as a symbolic mode mask similar to that acce\
+pted by)144 566.4 R F2 -.15(ch)2.566 G(mod).15 E F0(\(1\).).77 E(If)144
+578.4 Q F2(mode)3.263 E F0 .382(is omitted, the current v)3.063 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 590.4 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 602.4 Q F0 .552
+(is omitted, the output is in a form that may be reused as input.)3.232
+F .551(The return status is 0 if the)5.551 F(mode w)144 614.4 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 631.2 Q F0<5bad>2.5 E F1(a)A F0 2.5(][)C F2(name)-2.5 E F0
+(...])2.5 E(Remo)144 643.2 Q 1.955 -.15(ve e)-.15 H(ach).15 E F2(name)
+4.155 E F0 1.655(from the list of de\214ned aliases.)4.155 F(If)6.655 E
+F1<ad61>4.155 E F0 1.655(is supplied, all alias de\214nitions are)4.155
+F(remo)144 655.2 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 672 Q F0<5bad>2.5 E F1
+(fv)A F0 2.5(][)C F2(name)-2.5 E F0(...])2.5 E -.15(Fo)144 684 S 3.107
+(re).15 G(ach)-3.107 E F2(name)3.107 E F0 3.107(,r).18 G(emo)-3.107 E
+.907 -.15(ve t)-.15 H .607(he corresponding v).15 F .607
+(ariable or function.)-.25 F .606(If no options are supplied, or the)
+5.607 F F1<ad76>144 696 Q F0 .304(option is gi)2.804 F -.15(ve)-.25 G
+.304(n, each).15 F F2(name)3.164 E F0 .305(refers to a shell v)2.985 F
+2.805(ariable. Read-only)-.25 F -.25(va)2.805 G .305
+(riables may not be unset.).25 F(If)5.305 E F1<ad66>144 708 Q F0 .46
+(is speci\214ed, each)2.96 F F2(name)3.32 E F0 .459
+(refers to a shell function, and the function de\214nition is remo)3.14
+F -.15(ve)-.15 G 2.959(d. Each).15 F .902(unset v)144 720 R .902
+(ariable or function is remo)-.25 F -.15(ve)-.15 G 3.402(df).15 G .902
+(rom the en)-3.402 F .903(vironment passed to subsequent commands.)-.4 F
+(If)5.903 E(GNU Bash-3.0)72 768 Q(2004 Apr 20)148.735 E(18)198.725 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 290.48
-(TINS\(1\) B)-.92 F(ASH_B)-.35 E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10
-/Palatino-Bold@0 SF<ad70>144 84 Q/F2 10/Palatino-Roman@0 SF
-(The pipe size in 512-byte blocks \(this may not be set\))23.83 E F1
-<ad73>144 96 Q F2(The maximum stack size)25.5 E F1<ad74>144 108 Q F2
-(The maximum amount of cpu time in seconds)26.61 E F1<ad75>144 120 Q F2
-(The maximum number of pr)23.83 E(ocesses available to a single user)
--.18 E F1<ad76>144 132 Q F2
-(The maximum amount of virtual memory available to the shell)24.38 E(If)
-144 148.8 Q/F3 10/Palatino-Italic@0 SF(limit)4.15 E F2 1.51
-(is given, it is the new value of the speci\214ed r)4.28 F(esour)-.18 E
-1.511(ce \(the)-.18 F F1<ad61>4.011 E F2 1.511(option is display)4.011 F
-4.315(only\). If)144 160.8 R 1.815(no option is given, then)4.315 F F1
-<ad66>4.315 E F2 1.815(is assumed.)4.315 F -.92(Va)6.815 G 1.815
-(lues ar).92 F 4.315(ei)-.18 G 4.315(n1)-4.315 G 1.815(024-byte incr)
--4.315 F(ements,)-.18 E .972(except for)144 172.8 R F1<ad74>3.473 E F2
-3.473(,w)C .973(hich is in seconds,)-3.473 F F1<ad70>3.473 E F2 3.473
-(,w)C .973(hich is in units of 512-byte blocks, and)-3.473 F F1<ad6e>
-3.473 E F2(and)3.473 E F1<ad75>144 184.8 Q F2 3.518(,w)C 1.018(hich ar)
--3.518 F 3.518(eu)-.18 G 1.018(nscaled values.)-3.518 F 1.017(The r)
-6.018 F 1.017(eturn status is 0 unless an invalid option or ar)-.18 F
-(gu-)-.18 E(ment is supplied, or an err)144 196.8 Q
-(or occurs while setting a new limit.)-.18 E F1(umask)108 213.6 Q F2([)
-2.5 E F1<ad70>A F2 2.5(][)C F1<ad53>-2.5 E F2 2.5(][)C F3(mode)-2.5 E F2
-(])A .535(The user \214le-cr)144 225.6 R .535(eation mask is set to)-.18
-F F3(mode)3.035 E F2 5.535(.I).35 G(f)-5.535 E F3(mode)3.295 E F2 .536
-(begins with a digit, it is interpr)3.385 F .536(eted as)-.18 F 1.827
-(an octal number; otherwise it is interpr)144 237.6 R 1.826
-(eted as a symbolic mode mask similar to that)-.18 F .95(accepted by)144
-249.6 R F3(chmod)3.45 E F2 3.45(\(1\). If).33 F F3(mode)3.71 E F2 .951
-(is omitted, the curr)3.8 F .951(ent value of the mask is printed.)-.18
-F(The)5.951 E F1<ad53>144 261.6 Q F2 .607(option causes the mask to be \
-printed in symbolic form; the default output is an octal)3.107 F(number)
-144 273.6 Q 6.02(.I)-.74 G 3.52(ft)-6.02 G(he)-3.52 E F1<ad70>3.52 E F2
-1.02(option is supplied, and)3.52 F F3(mode)3.78 E F2 1.02
-(is omitted, the output is in a form that)3.87 F .237(may be r)144 285.6
-R .237(eused as input.)-.18 F .237(The r)5.237 F .236
-(eturn status is 0 if the mode was successfully changed or if)-.18 F(no)
-144 297.6 Q F3(mode)2.5 E F2(ar)2.5 E
-(gument was supplied, and false otherwise.)-.18 E F1(unalias)108 314.4 Q
-F2<5bad>2.5 E F1(a)A F2 2.5(][)C F3(name)-2.5 E F2(...])2.5 E .718
-(Remove each)144 326.4 R F3(name)3.218 E F2(fr)3.218 E .719
-(om the list of de\214ned aliases.)-.18 F(If)5.719 E F1<ad61>3.219 E F2
-.719(is supplied, all alias de\214nitions)3.219 F(ar)144 338.4 Q 2.5(er)
--.18 G 2.5(emoved. The)-2.68 F -.18(re)2.5 G(turn value is tr).18 E
-(ue unless a supplied)-.08 E F3(name)2.76 E F2
-(is not a de\214ned alias.)2.85 E F1(unset)108 355.2 Q F2<5bad>2.5 E F1
-(fv)A F2 2.5(][)C F3(name)-2.5 E F2(...])2.5 E 1.61(For each)144 367.2 R
-F3(name)4.11 E F2 4.11(,r).35 G 1.61(emove the corr)-4.29 F 1.61
-(esponding variable or function.)-.18 F 1.61(If no options ar)6.61 F
-4.11(es)-.18 G(up-)-4.11 E .473(plied, or the)144 379.2 R F1<ad76>2.973
-E F2 .473(option is given, each)2.973 F F3(name)3.233 E F2 -.18(re)3.323
-G .474(fers to a shell variable.).18 F .474(Read-only variables)5.474 F
-.32(may not be unset.)144 391.2 R(If)5.32 E F1<ad66>2.82 E F2 .32
-(is speci\214ed, each)2.82 F F3(name)3.08 E F2 -.18(re)3.17 G .32
-(fers to a shell function, and the function).18 F .405
-(de\214nition is r)144 403.2 R 2.905(emoved. Each)-.18 F .405
-(unset variable or function is r)2.905 F .405(emoved fr)-.18 F .405
-(om the envir)-.18 F(onment)-.18 E 1.475(passed to subsequent commands.)
-144 415.2 R 1.475(If any of)6.475 F/F4 9/Palatino-Bold@0 SF(RANDOM)3.975
-E/F5 9/Palatino-Roman@0 SF(,)A F4(SECONDS)3.725 E F5(,)A F4(LINENO)3.724
-E F5(,)A F4(HISTCMD)3.724 E F5(,)A F4(FUNCNAME)144 427.2 Q F5(,)A F4
-(GROUPS)2.803 E F5(,)A F2(or)2.803 E F4(DIRST)3.053 E(ACK)-.828 E F2(ar)
-2.803 E 3.053(eu)-.18 G .553(nset, they lose their special pr)-3.053 F
-.553(operties, even if)-.18 F(they ar)144 439.2 Q 2.5(es)-.18 G
-(ubsequently r)-2.5 E 2.5(eset. The)-.18 F(exit status is tr)2.5 E
-(ue unless a)-.08 E F3(name)2.76 E F2(is r)2.85 E(eadonly)-.18 E(.)-1.11
-E F1(wait)108 456 Q F2([)2.5 E F3 2.5(n.)C(..)-2.5 E F2(])A -.92(Wa)144
-468 S .016(it for each speci\214ed pr).92 F .016(ocess and r)-.18 F .016
-(eturn its termination status.)-.18 F(Each)5.016 E F3(n)2.776 E F2 .016
-(may be a pr)2.596 F(ocess)-.18 E 1.733
-(ID or a job speci\214cation; if a job spec is given, all pr)144 480 R
-1.733(ocesses in that job's pipeline ar)-.18 F(e)-.18 E 1.015
-(waited for)144 492 R 6.015(.I)-.74 G(f)-6.015 E F3(n)3.775 E F2 1.015
-(is not given, all curr)3.595 F 1.014(ently active child pr)-.18 F 1.014
-(ocesses ar)-.18 F 3.514(ew)-.18 G 1.014(aited for)-3.514 F 3.514(,a)
--.74 G 1.014(nd the)-3.514 F -.18(re)144 504 S .693(turn status is zer)
-.18 F 3.193(o. If)-.18 F F3(n)3.453 E F2 .693
-(speci\214es a non-existent pr)3.273 F .693(ocess or job, the r)-.18 F
-.694(eturn status is 127.)-.18 F(Otherwise, the r)144 516 Q
-(eturn status is the exit status of the last pr)-.18 E
-(ocess or job waited for)-.18 E(.)-.74 E/F6 10.95/Palatino-Bold@0 SF
-(SEE ALSO)72 532.8 Q F2(bash\(1\), sh\(1\))108 544.8 Q F0(GNU Bash-3.0)
-72 768 Q(2004 Apr 20)148.735 E(19)198.725 E 0 Cg EP
+(TINS\(1\) B)-.92 F(ASH_B)-.35 E(UIL)-.1 E(TINS\(1\))-.92 E(an)144 84 Q
+4.285(yo)-.15 G(f)-4.285 E/F1 9/Times-Bold@0 SF(RANDOM)4.285 E/F2 9
+/Times-Roman@0 SF(,)A F1(SECONDS)4.035 E F2(,)A F1(LINENO)4.035 E F2(,)A
+F1(HISTCMD)4.035 E F2(,)A F1(FUNCN)4.035 E(AME)-.18 E F2(,)A F1(GR)4.035
+E(OUPS)-.27 E F2(,)A F0(or)4.035 E F1(DIRST)4.284 E -.495(AC)-.81 G(K)
+.495 E F0(are)4.034 E .328(unset, the)144 96 R 2.828(yl)-.15 G .328
+(ose their special properties, e)-2.828 F -.15(ve)-.25 G 2.828(ni).15 G
+2.828(ft)-2.828 G(he)-2.828 E 2.828(ya)-.15 G .328
+(re subsequently reset.)-2.828 F .328(The e)5.328 F .329
+(xit status is true)-.15 F(unless a)144 108 Q/F3 10/Times-Italic@0 SF
+(name)2.86 E F0(is readonly)2.68 E(.)-.65 E/F4 10/Times-Bold@0 SF(wait)
+108 124.8 Q F0([)2.5 E F3 2.5(n.)C(..)-2.5 E F0(])A -.8(Wa)144 136.8 S
+.288(it for each speci\214ed process and return its termination status.)
+.8 F(Each)5.288 E F3(n)3.148 E F0 .287(may be a process ID or a)3.028 F
+.722(job speci\214cation; if a job spec is gi)144 148.8 R -.15(ve)-.25 G
+.722(n, all processes in that job').15 F 3.222(sp)-.55 G .722
+(ipeline are w)-3.222 F .722(aited for)-.1 F 5.722(.I)-.55 G(f)-5.722 E
+F3(n)3.583 E F0(is)3.463 E 1.266(not gi)144 160.8 R -.15(ve)-.25 G 1.266
+(n, all currently acti).15 F 1.566 -.15(ve c)-.25 H 1.265
+(hild processes are w).15 F 1.265(aited for)-.1 F 3.765(,a)-.4 G 1.265
+(nd the return status is zero.)-3.765 F(If)6.265 E F3(n)4.125 E F0 .456
+(speci\214es a non-e)144 172.8 R .457
+(xistent process or job, the return status is 127.)-.15 F .457
+(Otherwise, the return status is the)5.457 F -.15(ex)144 184.8 S
+(it status of the last process or job w).15 E(aited for)-.1 E(.)-.55 E
+/F5 10.95/Times-Bold@0 SF(SEE ALSO)72 201.6 Q F0(bash\(1\), sh\(1\))108
+213.6 Q(GNU Bash-3.0)72 768 Q(2004 Apr 20)148.735 E(19)198.725 E 0 Cg EP
 %%Trailer
 end
 %%EOF
index 9b05e0f..2c74129 100644 (file)
@@ -30,8 +30,8 @@ R\bRE\bES\bST\bTR\bRI\bIC\bCT\bTE\bED\bD S\bSH\bHE\bEL\bLL\bL
        +\bo      parsing  the  value  of  S\bSH\bHE\bEL\bLL\bLO\bOP\bPT\bTS\bS from the shell environment at
               startup
 
-       +\bo      redirecting output using the >, >|, <>, >&, &>, and >>  redirec-
-              tion operators
+       +\bo      redirecting output using the >, >|, <>, >&, &>, and >> redirect-
+              ion operators
 
        +\bo      using the e\bex\bxe\bec\bc builtin command to replace the shell with another
               command
index 11fbcc5..106c297 100644 (file)
@@ -1,15 +1,20 @@
 %!PS-Adobe-3.0
-%%Creator: groff version 1.18.1
-%%CreationDate: Tue Mar 15 17:26:56 2005
+%%Creator: groff version 1.19.1
+%%CreationDate: Mon Oct  3 15:05:28 2005
 %%DocumentNeededResources: font Times-Roman
 %%+ font Times-Bold
-%%DocumentSuppliedResources: procset grops 1.18 1
+%%DocumentSuppliedResources: procset grops 1.19 1
 %%Pages: 1
 %%PageOrder: Ascend
+%%DocumentMedia: Default 595 842 0 () ()
 %%Orientation: Portrait
 %%EndComments
+%%BeginDefaults
+%%PageMedia: Default
+%%EndDefaults
 %%BeginProlog
-%%BeginResource: procset grops 1.18 1
+%%BeginResource: procset grops 1.19 1
+%!PS-Adobe-3.0 Resource-ProcSet
 /setpacking where{
 pop
 currentpacking
@@ -110,16 +115,22 @@ TM setmatrix
 /Fr{
 setrgbcolor fill
 }bind def
+/setcmykcolor where{
+pop
 /Fk{
 setcmykcolor fill
 }bind def
+}if
 /Fg{
 setgray fill
 }bind def
 /FL/fill load def
 /LW/setlinewidth load def
 /Cr/setrgbcolor load def
+/setcmykcolor where{
+pop
 /Ck/setcmykcolor load def
+}if
 /Cg/setgray load def
 /RE{
 findfont
@@ -162,6 +173,7 @@ newpath
 /CNT countdictstack def
 userdict begin
 /showpage{}def
+/setpagedevice{}def
 }bind def
 /PEND{
 clear
@@ -174,6 +186,11 @@ pop
 setpacking
 }if
 %%EndResource
+%%EndProlog
+%%BeginSetup
+%%BeginFeature: *PageSize Default
+<< /PageSize [ 595 842 ] /ImagingBBox null >> setpagedevice
+%%EndFeature
 %%IncludeResource: font Times-Roman
 %%IncludeResource: font Times-Bold
 grops begin/DEFS 1 dict def DEFS begin/u{.001 mul}bind def end/RES 72
@@ -205,7 +222,7 @@ def/PL 841.89 def/LS false def/ENC0[/asciicircum/asciitilde/Scaron
 /eth/ntilde/ograve/oacute/ocircumflex/otilde/odieresis/divide/oslash
 /ugrave/uacute/ucircumflex/udieresis/yacute/thorn/ydieresis]def
 /Times-Bold@0 ENC0/Times-Bold RE/Times-Roman@0 ENC0/Times-Roman RE
-%%EndProlog
+%%EndSetup
 %%Page: 1 1
 %%BeginPageSetup
 BP
diff --git a/eval.c b/eval.c
index 3a87af8..34a088c 100644 (file)
--- a/eval.c
+++ b/eval.c
@@ -63,8 +63,9 @@ int
 reader_loop ()
 {
   int our_indirection_level;
-  COMMAND *current_command = (COMMAND *)NULL;
+  COMMAND * volatile current_command;
 
+  current_command = (COMMAND *)NULL;
   USE_VAR(current_command);
 
   our_indirection_level = ++indirection_level;
diff --git a/jobs.c b/jobs.c
index 5a70b5f..f15a1bd 100644 (file)
--- a/jobs.c
+++ b/jobs.c
@@ -418,11 +418,16 @@ stop_making_children ()
 void
 cleanup_the_pipeline ()
 {
-  if (the_pipeline)
-    {
-      discard_pipeline (the_pipeline);
-      the_pipeline = (PROCESS *)NULL;
-    }
+  PROCESS *disposer;
+  sigset_t set, oset;
+
+  BLOCK_CHILD (set, oset);
+  disposer = the_pipeline;
+  the_pipeline = (PROCESS *)NULL;
+  UNBLOCK_CHILD (oset);
+
+  if (disposer)
+    discard_pipeline (disposer);
 }
 
 void
@@ -430,9 +435,9 @@ save_pipeline (clear)
      int clear;
 {
   saved_pipeline = the_pipeline;
-  saved_already_making_children = already_making_children;
   if (clear)
     the_pipeline = (PROCESS *)NULL;
+  saved_already_making_children = already_making_children;
 }
 
 void
diff --git a/jobs.c.trace b/jobs.c.trace
new file mode 100644 (file)
index 0000000..229c476
--- /dev/null
@@ -0,0 +1,4028 @@
+/* The thing that makes children, remembers them, and contains wait loops. */
+
+/* This file works with both POSIX and BSD systems.  It implements job
+   control. */
+
+/* Copyright (C) 1989-2005 Free Software Foundation, Inc.
+
+   This file is part of GNU Bash, the Bourne Again SHell.
+
+   Bash is free software; you can redistribute it and/or modify it under
+   the terms of the GNU General Public License as published by the Free
+   Software Foundation; either version 2, or (at your option) any later
+   version.
+
+   Bash is distributed in the hope that it will be useful, but WITHOUT ANY
+   WARRANTY; without even the implied warranty of MERCHANTABILITY or
+   FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+   for more details.
+
+   You should have received a copy of the GNU General Public License along
+   with Bash; see the file COPYING.  If not, write to the Free Software
+   Foundation, 59 Temple Place, Suite 330, Boston, MA 02111 USA. */
+
+#include "config.h"
+
+#include "bashtypes.h"
+#include "trap.h"
+#include <stdio.h>
+#include <signal.h>
+#include <errno.h>
+
+#if defined (HAVE_UNISTD_H)
+#  include <unistd.h>
+#endif
+
+#include "posixtime.h"
+
+#if defined (HAVE_SYS_RESOURCE_H) && defined (HAVE_WAIT3) && !defined (_POSIX_VERSION) && !defined (RLIMTYPE)
+#  include <sys/resource.h>
+#endif /* !_POSIX_VERSION && HAVE_SYS_RESOURCE_H && HAVE_WAIT3 && !RLIMTYPE */
+
+#if defined (HAVE_SYS_FILE_H)
+#  include <sys/file.h>
+#endif
+
+#include "filecntl.h"
+#include <sys/ioctl.h>
+#include <sys/param.h>
+
+#if defined (BUFFERED_INPUT)
+#  include "input.h"
+#endif
+
+/* Need to include this up here for *_TTY_DRIVER definitions. */
+#include "shtty.h"
+
+/* Define this if your output is getting swallowed.  It's a no-op on
+   machines with the termio or termios tty drivers. */
+/* #define DRAIN_OUTPUT */
+
+/* For the TIOCGPGRP and TIOCSPGRP ioctl parameters on HP-UX */
+#if defined (hpux) && !defined (TERMIOS_TTY_DRIVER)
+#  include <bsdtty.h>
+#endif /* hpux && !TERMIOS_TTY_DRIVER */
+
+#if !defined (STRUCT_WINSIZE_IN_SYS_IOCTL)
+/* For struct winsize on SCO */
+/*   sys/ptem.h has winsize but needs mblk_t from sys/stream.h */
+#  if defined (HAVE_SYS_PTEM_H) && defined (TIOCGWINSZ) && defined (SIGWINCH)
+#    if defined (HAVE_SYS_STREAM_H)
+#      include <sys/stream.h>
+#    endif
+#    include <sys/ptem.h>
+#  endif /* HAVE_SYS_PTEM_H && TIOCGWINSZ && SIGWINCH */
+#endif /* !STRUCT_WINSIZE_IN_SYS_IOCTL */
+
+#include "bashansi.h"
+#include "bashintl.h"
+#include "shell.h"
+#include "jobs.h"
+#include "flags.h"
+
+#include "builtins/builtext.h"
+#include "builtins/common.h"
+
+#if !defined (errno)
+extern int errno;
+#endif /* !errno */
+
+#define DEFAULT_CHILD_MAX 32
+#define MAX_JOBS_IN_ARRAY 4096         /* testing */
+
+/* Take care of system dependencies that must be handled when waiting for
+   children.  The arguments to the WAITPID macro match those to the Posix.1
+   waitpid() function. */
+
+#if defined (ultrix) && defined (mips) && defined (_POSIX_VERSION)
+#  define WAITPID(pid, statusp, options) \
+       wait3 ((union wait *)statusp, options, (struct rusage *)0)
+#else
+#  if defined (_POSIX_VERSION) || defined (HAVE_WAITPID)
+#    define WAITPID(pid, statusp, options) \
+       waitpid ((pid_t)pid, statusp, options)
+#  else
+#    if defined (HAVE_WAIT3)
+#      define WAITPID(pid, statusp, options) \
+       wait3 (statusp, options, (struct rusage *)0)
+#    else
+#      define WAITPID(pid, statusp, options) \
+       wait3 (statusp, options, (int *)0)
+#    endif /* HAVE_WAIT3 */
+#  endif /* !_POSIX_VERSION && !HAVE_WAITPID*/
+#endif /* !(Ultrix && mips && _POSIX_VERSION) */
+
+/* getpgrp () varies between systems.  Even systems that claim to be
+   Posix.1 compatible lie sometimes (Ultrix, SunOS4, apollo). */
+#if defined (GETPGRP_VOID)
+#  define getpgid(p) getpgrp ()
+#else
+#  define getpgid(p) getpgrp (p)
+#endif /* !GETPGRP_VOID */
+
+/* If the system needs it, REINSTALL_SIGCHLD_HANDLER will reinstall the
+   handler for SIGCHLD. */
+#if defined (MUST_REINSTALL_SIGHANDLERS)
+#  define REINSTALL_SIGCHLD_HANDLER signal (SIGCHLD, sigchld_handler)
+#else
+#  define REINSTALL_SIGCHLD_HANDLER
+#endif /* !MUST_REINSTALL_SIGHANDLERS */
+
+/* Some systems let waitpid(2) tell callers about stopped children. */
+#if !defined (WCONTINUED) || defined (WCONTINUED_BROKEN)
+#  undef WCONTINUED
+#  define WCONTINUED 0
+#endif
+#if !defined (WIFCONTINUED)
+#  define WIFCONTINUED(s)      (0)
+#endif
+
+/* The number of additional slots to allocate when we run out. */
+#define JOB_SLOTS 8
+
+typedef int sh_job_map_func_t __P((JOB *, int, int, int));
+
+#if defined (READLINE)
+extern void rl_set_screen_size __P((int, int));
+#endif
+
+/* Variables used here but defined in other files. */
+extern int subshell_environment, line_number;
+extern int posixly_correct, shell_level;
+extern int interrupt_immediately;
+extern int last_command_exit_value, last_command_exit_signal;
+extern int loop_level, breaking;
+extern int sourcelevel;
+extern sh_builtin_func_t *this_shell_builtin;
+extern char *shell_name, *this_command_name;
+extern sigset_t top_level_mask;
+extern procenv_t wait_intr_buf;
+extern int wait_signal_received;
+extern WORD_LIST *subst_assign_varlist;
+
+static struct jobstats zerojs = { -1L, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NO_JOB, NO_JOB, 0, 0 };
+struct jobstats js = { -1L, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NO_JOB, NO_JOB, 0, 0 };
+
+struct bgpids bgpids = { 0, 0, 0 };
+
+/* The array of known jobs. */
+JOB **jobs = (JOB **)NULL;
+
+#if 0
+/* The number of slots currently allocated to JOBS. */
+int job_slots = 0;
+#endif
+
+/* The controlling tty for this shell. */
+int shell_tty = -1;
+
+/* The shell's process group. */
+pid_t shell_pgrp = NO_PID;
+
+/* The terminal's process group. */
+pid_t terminal_pgrp = NO_PID;
+
+/* The process group of the shell's parent. */
+pid_t original_pgrp = NO_PID;
+
+/* The process group of the pipeline currently being made. */
+pid_t pipeline_pgrp = (pid_t)0;
+
+#if defined (PGRP_PIPE)
+/* Pipes which each shell uses to communicate with the process group leader
+   until all of the processes in a pipeline have been started.  Then the
+   process leader is allowed to continue. */
+int pgrp_pipe[2] = { -1, -1 };
+#endif
+
+#if 0
+/* The job which is current; i.e. the one that `%+' stands for. */
+int current_job = NO_JOB;
+
+/* The previous job; i.e. the one that `%-' stands for. */
+int previous_job = NO_JOB;
+#endif
+
+/* Last child made by the shell.  */
+pid_t last_made_pid = NO_PID;
+
+/* Pid of the last asynchronous child. */
+pid_t last_asynchronous_pid = NO_PID;
+
+/* The pipeline currently being built. */
+PROCESS *the_pipeline = (PROCESS *)NULL;
+
+/* If this is non-zero, do job control. */
+int job_control = 1;
+
+/* Call this when you start making children. */
+int already_making_children = 0;
+
+/* If this is non-zero, $LINES and $COLUMNS are reset after every process
+   exits from get_tty_state(). */
+int check_window_size;
+
+/* Functions local to this file. */
+
+static void get_new_window_size __P((int));
+
+static void run_sigchld_trap __P((int));
+
+static sighandler wait_sigint_handler __P((int));
+static sighandler sigchld_handler __P((int));
+static sighandler sigwinch_sighandler __P((int));
+static sighandler sigcont_sighandler __P((int));
+static sighandler sigstop_sighandler __P((int));
+
+static int waitchld __P((pid_t, int));
+
+static PROCESS *find_pipeline __P((pid_t, int, int *));
+static PROCESS *find_process __P((pid_t, int, int *));
+
+static char *current_working_directory __P((void));
+static char *job_working_directory __P((void));
+static char *j_strsignal __P((int));
+static char *printable_job_status __P((int, PROCESS *, int));
+
+static PROCESS *find_last_proc __P((int, int));
+static pid_t find_last_pid __P((int, int));
+
+static int set_new_line_discipline __P((int));
+static int map_over_jobs __P((sh_job_map_func_t *, int, int));
+static int job_last_stopped __P((int));
+static int job_last_running __P((int));
+static int most_recent_job_in_state __P((int, JOB_STATE));
+static int find_job __P((pid_t, int, PROCESS **));
+static int print_job __P((JOB *, int, int, int));
+static int process_exit_status __P((WAIT));
+static int process_exit_signal __P((WAIT));
+static int job_exit_status __P((int));
+static int job_exit_signal __P((int));
+static int set_job_status_and_cleanup __P((int));
+
+static WAIT raw_job_exit_status __P((int));
+
+static void notify_of_job_status __P((void));
+static void reset_job_indices __P((void));
+static void cleanup_dead_jobs __P((void));
+static int processes_in_job __P((int));
+static void realloc_jobs_list __P((void));
+static int compact_jobs_list __P((int));
+static int discard_pipeline __P((PROCESS *));
+static void add_process __P((char *, pid_t));
+static void print_pipeline __P((PROCESS *, int, int, FILE *));
+static void pretty_print_job __P((int, int, FILE *));
+static void set_current_job __P((int));
+static void reset_current __P((void));
+static void set_job_running __P((int));
+static void setjstatus __P((int));
+static void mark_all_jobs_as_dead __P((void));
+static void mark_dead_jobs_as_notified __P((int));
+static void restore_sigint_handler __P((void));
+#if defined (PGRP_PIPE)
+static void pipe_read __P((int *));
+static void pipe_close __P((int *));
+#endif
+
+static struct pidstat *bgp_alloc __P((pid_t, int));
+static struct pidstat *bgp_add __P((pid_t, int));
+static int bgp_delete __P((pid_t));
+static void bgp_clear __P((void));
+static int bgp_search __P((pid_t));
+static void bgp_prune __P((void));
+
+#if defined (ARRAY_VARS)
+static int *pstatuses;         /* list of pipeline statuses */
+static int statsize;
+#endif
+
+/* Used to synchronize between wait_for and other functions and the SIGCHLD
+   signal handler. */
+static int sigchld;
+static int queue_sigchld;
+
+#define QUEUE_SIGCHLD(os)      (os) = sigchld, queue_sigchld++
+
+#define UNQUEUE_SIGCHLD(os) \
+       do { \
+         queue_sigchld--; \
+         if (queue_sigchld == 0 && os != sigchld) \
+           waitchld (-1, 0); \
+       } while (0)
+
+static SigHandler *old_tstp, *old_ttou, *old_ttin;
+static SigHandler *old_cont = (SigHandler *)SIG_DFL;
+
+#if defined (TIOCGWINSZ) && defined (SIGWINCH)
+static SigHandler *old_winch = (SigHandler *)SIG_DFL;
+#endif
+
+/* A place to temporarily save the current pipeline. */
+static PROCESS *saved_pipeline;
+static int saved_already_making_children;
+
+/* Set this to non-zero whenever you don't want the jobs list to change at
+   all: no jobs deleted and no status change notifications.  This is used,
+   for example, when executing SIGCHLD traps, which may run arbitrary
+   commands. */
+static int jobs_list_frozen;
+
+static char retcode_name_buffer[64];
+
+#if !defined (_POSIX_VERSION)
+
+/* These are definitions to map POSIX 1003.1 functions onto existing BSD
+   library functions and system calls. */
+#define setpgid(pid, pgrp)     setpgrp (pid, pgrp)
+#define tcsetpgrp(fd, pgrp)    ioctl ((fd), TIOCSPGRP, &(pgrp))
+
+pid_t
+tcgetpgrp (fd)
+     int fd;
+{
+  pid_t pgrp;
+
+  /* ioctl will handle setting errno correctly. */
+  if (ioctl (fd, TIOCGPGRP, &pgrp) < 0)
+    return (-1);
+  return (pgrp);
+}
+
+#endif /* !_POSIX_VERSION */
+
+/* Initialize the global job stats structure. */
+void
+init_job_stats ()
+{
+  js = zerojs;
+}
+
+/* Return the working directory for the current process.  Unlike
+   job_working_directory, this does not call malloc (), nor do any
+   of the functions it calls.  This is so that it can safely be called
+   from a signal handler. */
+static char *
+current_working_directory ()
+{
+  char *dir;
+  static char d[PATH_MAX];
+
+  dir = get_string_value ("PWD");
+
+  if (dir == 0 && the_current_working_directory && no_symbolic_links)
+    dir = the_current_working_directory;
+
+  if (dir == 0)
+    {
+      dir = getcwd (d, sizeof(d));
+      if (dir)
+       dir = d;
+    }
+
+  return (dir == 0) ? "<unknown>" : dir;
+}
+
+/* Return the working directory for the current process. */
+static char *
+job_working_directory ()
+{
+  char *dir;
+
+  dir = get_string_value ("PWD");
+  if (dir)
+    return (savestring (dir));
+
+  dir = get_working_directory ("job-working-directory");
+  if (dir)
+    return (dir);
+
+  return (savestring ("<unknown>"));
+}
+
+void
+making_children ()
+{
+  if (already_making_children)
+    return;
+
+  already_making_children = 1;
+  start_pipeline ();
+}
+
+void
+stop_making_children ()
+{
+  already_making_children = 0;
+}
+
+void
+cleanup_the_pipeline ()
+{
+  PROCESS *disposer;
+  sigset_t set, oset;
+
+itrace("cleanup_the_pipeline: the_pipeline = 0x%x", the_pipeline);
+  BLOCK_CHILD (set, oset);
+  disposer = the_pipeline;
+  the_pipeline = (PROCESS *)NULL;
+  UNBLOCK_CHILD (oset);
+
+  if (disposer)
+    discard_pipeline (disposer);
+}
+
+void
+save_pipeline (clear)
+     int clear;
+{
+  saved_pipeline = the_pipeline;
+  if (clear)
+    the_pipeline = (PROCESS *)NULL;
+  saved_already_making_children = already_making_children;
+}
+
+void
+restore_pipeline (discard)
+     int discard;
+{
+  PROCESS *old_pipeline;
+
+  old_pipeline = the_pipeline;
+  the_pipeline = saved_pipeline;
+  already_making_children = saved_already_making_children;
+  if (discard)
+    discard_pipeline (old_pipeline);
+}
+
+/* Start building a pipeline.  */
+void
+start_pipeline ()
+{
+  if (the_pipeline)
+    {
+      cleanup_the_pipeline ();
+      pipeline_pgrp = 0;
+#if defined (PGRP_PIPE)
+      pipe_close (pgrp_pipe);
+#endif
+    }
+
+#if defined (PGRP_PIPE)
+  if (job_control)
+    {
+      if (pipe (pgrp_pipe) == -1)
+       sys_error ("start_pipeline: pgrp pipe");
+    }
+#endif
+}
+
+/* Stop building a pipeline.  Install the process list in the job array.
+   This returns the index of the newly installed job.
+   DEFERRED is a command structure to be executed upon satisfactory
+   execution exit of this pipeline. */
+int
+stop_pipeline (async, deferred)
+     int async;
+     COMMAND *deferred;
+{
+  register int i, j;
+  JOB *newjob;
+  sigset_t set, oset;
+
+  BLOCK_CHILD (set, oset);
+
+#if defined (PGRP_PIPE)
+  /* The parent closes the process group synchronization pipe. */
+  pipe_close (pgrp_pipe);
+#endif
+
+  cleanup_dead_jobs ();
+
+  if (js.j_jobslots == 0)
+    {
+      js.j_jobslots = JOB_SLOTS;
+      jobs = (JOB **)xmalloc (js.j_jobslots * sizeof (JOB *));
+
+      /* Now blank out these new entries. */
+      for (i = 0; i < js.j_jobslots; i++)
+       jobs[i] = (JOB *)NULL;
+
+      js.j_firstj = js.j_lastj = js.j_njobs = 0;
+    }
+
+  /* Scan from the last slot backward, looking for the next free one. */
+  /* XXX - revisit this interactive assumption */
+  /* XXX - this way for now */
+  if (interactive)
+    {
+      for (i = js.j_jobslots; i; i--)
+       if (jobs[i - 1])
+         break;
+    }
+  else
+    {
+#if 0
+      /* This wraps around, but makes it inconvenient to extend the array */
+      for (i = js.j_lastj+1; i != js.j_lastj; i++)
+       {
+         if (i >= js.j_jobslots)
+           i = 0;
+         if (jobs[i] == 0)
+           break;
+       }       
+      if (i == js.j_lastj)
+        i = js.j_jobslots;
+#else
+      /* This doesn't wrap around yet. */
+      for (i = js.j_lastj ? js.j_lastj + 1 : js.j_lastj; i < js.j_jobslots; i++)
+       if (jobs[i] == 0)
+         break;
+#endif
+    }
+
+  /* Do we need more room? */
+
+  /* First try compaction */
+  if ((interactive_shell == 0 || subshell_environment) && i == js.j_jobslots && js.j_jobslots >= MAX_JOBS_IN_ARRAY)
+    i = compact_jobs_list (0);
+
+  /* If we can't compact, reallocate */
+  if (i == js.j_jobslots)
+    {
+      js.j_jobslots += JOB_SLOTS;
+      jobs = (JOB **)xrealloc (jobs, (js.j_jobslots * sizeof (JOB *)));
+
+      for (j = i; j < js.j_jobslots; j++)
+       jobs[j] = (JOB *)NULL;
+    }
+
+  /* Add the current pipeline to the job list. */
+  if (the_pipeline)
+    {
+      register PROCESS *p;
+      int any_running, any_stopped, n;
+
+itrace("stop_pipeline: adding 0x%x as new job", the_pipeline);
+      newjob = (JOB *)xmalloc (sizeof (JOB));
+
+      for (n = 1, p = the_pipeline; p->next != the_pipeline; n++, p = p->next)
+       ;
+      p->next = (PROCESS *)NULL;
+      newjob->pipe = REVERSE_LIST (the_pipeline, PROCESS *);
+      for (p = newjob->pipe; p->next; p = p->next)
+       ;
+      p->next = newjob->pipe;
+
+      the_pipeline = (PROCESS *)NULL;
+      newjob->pgrp = pipeline_pgrp;
+      pipeline_pgrp = 0;
+
+      newjob->flags = 0;
+
+      /* Flag to see if in another pgrp. */
+      if (job_control)
+       newjob->flags |= J_JOBCONTROL;
+
+      /* Set the state of this pipeline. */
+      p = newjob->pipe;
+      any_running = any_stopped = 0;
+      do
+       {
+         any_running |= PRUNNING (p);
+         any_stopped |= PSTOPPED (p);
+         p = p->next;
+       }
+      while (p != newjob->pipe);
+
+      newjob->state = any_running ? JRUNNING : (any_stopped ? JSTOPPED : JDEAD);
+      newjob->wd = job_working_directory ();
+      newjob->deferred = deferred;
+
+      newjob->j_cleanup = (sh_vptrfunc_t *)NULL;
+      newjob->cleanarg = (PTR_T) NULL;
+
+      jobs[i] = newjob;
+      if (newjob->state == JDEAD && (newjob->flags & J_FOREGROUND))
+       setjstatus (i);
+      if (newjob->state == JDEAD)
+       {
+         js.c_reaped += n;     /* wouldn't have been done since this was not part of a job */
+         js.j_ndead++;
+       }
+      js.c_injobs += n;
+
+      js.j_lastj = i;
+      js.j_njobs++;
+    }
+  else
+    newjob = (JOB *)NULL;
+
+  if (newjob)
+    js.j_lastmade = newjob;
+
+  if (async)
+    {
+      if (newjob)
+       {
+         newjob->flags &= ~J_FOREGROUND;
+         newjob->flags |= J_ASYNC;
+         js.j_lastasync = newjob;
+       }
+      reset_current ();
+    }
+  else
+    {
+      if (newjob)
+       {
+         newjob->flags |= J_FOREGROUND;
+         /*
+          *            !!!!! NOTE !!!!!  (chet@ins.cwru.edu)
+          *
+          * The currently-accepted job control wisdom says to set the
+          * terminal's process group n+1 times in an n-step pipeline:
+          * once in the parent and once in each child.  This is where
+          * the parent gives it away.
+          *
+          */
+         if (job_control && newjob->pgrp)
+           give_terminal_to (newjob->pgrp, 0);
+       }
+    }
+
+  stop_making_children ();
+  UNBLOCK_CHILD (oset);
+  return (js.j_current);
+}
+
+/* Functions to manage the list of exited background pids whose status has
+   been saved. */
+
+static struct pidstat *
+bgp_alloc (pid, status)
+     pid_t pid;
+     int status;
+{
+  struct pidstat *ps;
+
+  ps = (struct pidstat *)xmalloc (sizeof (struct pidstat));
+  ps->pid = pid;
+  ps->status = status;
+  ps->next = (struct pidstat *)0;
+  return ps;
+}
+
+static struct pidstat *
+bgp_add (pid, status)
+     pid_t pid;
+     int status;
+{
+  struct pidstat *ps;
+
+  ps = bgp_alloc (pid, status);
+
+  if (bgpids.list == 0)
+    {
+      bgpids.list = bgpids.end = ps;
+      bgpids.npid = 0;                 /* just to make sure */
+    }
+  else
+    {
+      bgpids.end->next = ps;
+      bgpids.end = ps;
+    }
+  bgpids.npid++;
+
+  if (bgpids.npid > js.c_childmax)
+    bgp_prune ();
+
+  return ps;
+}
+
+static int
+bgp_delete (pid)
+     pid_t pid;
+{
+  struct pidstat *prev, *p;
+
+  for (prev = p = bgpids.list; p; prev = p, p = p->next)
+    if (p->pid == pid)
+      {
+        prev->next = p->next;  /* remove from list */
+        break;
+      }
+
+  if (p == 0)
+    return 0;          /* not found */
+
+#if defined (DEBUG)
+  itrace("bgp_delete: deleting %d", pid);
+#endif
+
+  /* Housekeeping in the border cases. */
+  if (p == bgpids.list)
+    bgpids.list = bgpids.list->next;
+  else if (p == bgpids.end)
+    bgpids.end = prev;
+
+  bgpids.npid--;
+  if (bgpids.npid == 0)
+    bgpids.list = bgpids.end = 0;
+  else if (bgpids.npid == 1)
+    bgpids.end = bgpids.list;          /* just to make sure */
+
+  free (p);
+  return 1;
+}
+
+/* Clear out the list of saved statuses */
+static void
+bgp_clear ()
+{
+  struct pidstat *ps, *p;
+
+  for (ps = bgpids.list; ps; )
+    {
+      p = ps;
+      ps = ps->next;
+      free (p);
+    }
+  bgpids.list = bgpids.end = 0;
+  bgpids.npid = 0;
+}
+
+/* Search for PID in the list of saved background pids; return its status if
+   found.  If not found, return -1. */
+static int
+bgp_search (pid)
+     pid_t pid;
+{
+  struct pidstat *ps;
+
+  for (ps = bgpids.list ; ps; ps = ps->next)
+    if (ps->pid == pid)
+      return ps->status;
+  return -1;
+}
+
+static void
+bgp_prune ()
+{
+  struct pidstat *ps, *p;
+
+  while (bgpids.npid > js.c_childmax)
+    {
+      ps = bgpids.list;
+      bgpids.list = bgpids.list->next;
+      free (ps);
+      bgpids.npid--;
+    }
+}
+    
+/* Reset the values of js.j_lastj and js.j_firstj after one or both have
+   been deleted.  The caller should check whether js.j_njobs is 0 before
+   calling this.  This wraps around, but the rest of the code does not.  At
+   this point, it should not matter. */
+static void
+reset_job_indices ()
+{
+  int old;
+
+  if (jobs[js.j_firstj] == 0)
+    {
+      old = js.j_firstj++;
+      while (js.j_firstj != old)
+       {
+         if (js.j_firstj >= js.j_jobslots)
+           js.j_firstj = 0;
+         if (jobs[js.j_firstj])
+           break;
+         js.j_firstj++;
+       }
+      if (js.j_firstj == old)
+        js.j_firstj = js.j_lastj = js.j_njobs = 0;
+    }
+  if (jobs[js.j_lastj] == 0)
+    {
+      old = js.j_lastj--;
+      while (js.j_lastj != old)
+       {
+         if (js.j_lastj < 0)
+           js.j_lastj = js.j_jobslots - 1;
+         if (jobs[js.j_lastj])
+           break;
+         js.j_lastj--;
+       }
+      if (js.j_lastj == old)
+        js.j_firstj = js.j_lastj = js.j_njobs = 0;
+    }
+}
+      
+/* Delete all DEAD jobs that the user had received notification about. */
+static void
+cleanup_dead_jobs ()
+{
+  register int i;
+  int os;
+
+  if (js.j_jobslots == 0 || jobs_list_frozen)
+    return;
+
+  QUEUE_SIGCHLD(os);
+
+  /* XXX could use js.j_firstj here */
+  for (i = 0; i < js.j_jobslots; i++)
+    {
+#if defined (DEBUG)
+      if (i < js.j_firstj && jobs[i])
+       itrace("cleanup_dead_jobs: job %d non-null before js.j_firstj (%d)", i, js.j_firstj);
+#endif
+
+      if (jobs[i] && DEADJOB (i) && IS_NOTIFIED (i))
+       delete_job (i, 0);
+    }
+  UNQUEUE_SIGCHLD(os);
+}
+
+static int
+processes_in_job (job)
+{
+  int nproc;
+  register PROCESS *p;
+
+  nproc = 0;
+  p = jobs[job]->pipe;
+  do
+    {
+      p = p->next;
+      nproc++;
+    }
+  while (p != jobs[job]->pipe);
+
+  return nproc;
+}
+
+/* Reallocate and compress the jobs list.  This returns with a jobs array
+   whose size is a multiple of JOB_SLOTS and can hold the current number of
+   jobs.  Heuristics are used to minimize the number of new reallocs. */
+static void
+realloc_jobs_list ()
+{
+  sigset_t set, oset;
+  int nsize, i, j;
+  JOB **nlist;
+
+  nsize = ((js.j_njobs + JOB_SLOTS - 1) / JOB_SLOTS);
+  nsize *= JOB_SLOTS;
+  i = js.j_njobs % JOB_SLOTS;
+  if (i == 0 || i > (JOB_SLOTS >> 1))
+    nsize += JOB_SLOTS;
+
+  BLOCK_CHILD (set, oset);
+  nlist = (JOB **) xmalloc (nsize * sizeof (JOB *));
+  for (i = j = 0; i < js.j_jobslots; i++)
+    if (jobs[i])
+      nlist[j++] = jobs[i];
+
+  js.j_firstj = 0;
+  js.j_lastj = (j > 0) ? j - 1: 0;
+  js.j_jobslots = nsize;
+
+  free (jobs);
+  jobs = nlist;
+
+  UNBLOCK_CHILD (oset);
+}
+
+/* Compact the jobs list by removing dead jobs.  Assumed that we have filled
+   the jobs array to some predefined maximum.  Called when the shell is not
+   the foreground process (subshell_environment != 0).  Returns the first
+   available slot in the compacted list.  If that value is js.j_jobslots, then
+   the list needs to be reallocated.  The jobs array is in new memory if
+   this returns > 0 and < js.j_jobslots.  FLAGS is reserved for future use. */
+static int
+compact_jobs_list (flags)
+     int flags;
+{
+  if (js.j_jobslots == 0 || jobs_list_frozen)
+    return js.j_jobslots;
+
+  reap_dead_jobs ();
+  realloc_jobs_list ();
+
+  return (js.j_lastj);
+}
+
+/* Delete the job at INDEX from the job list.  Must be called
+   with SIGCHLD blocked. */
+void
+delete_job (job_index, warn_stopped)
+     int job_index, warn_stopped;
+{
+  register JOB *temp;
+  PROCESS *proc;
+  int ndel, status;
+  pid_t pid;
+
+  if (js.j_jobslots == 0 || jobs_list_frozen)
+    return;
+
+  if (warn_stopped && subshell_environment == 0 && STOPPED (job_index))
+    internal_warning (_("deleting stopped job %d with process group %ld"), job_index+1, (long)jobs[job_index]->pgrp);
+  temp = jobs[job_index];
+  if (job_index == js.j_current || job_index == js.j_previous)
+    reset_current ();
+
+  proc = find_last_proc (job_index, 0);
+  /* Could do this just for J_ASYNC jobs, but we save all. */
+  bgp_add (proc->pid, process_exit_status (proc->status));
+
+  jobs[job_index] = (JOB *)NULL;
+
+  if (temp == js.j_lastmade)
+    js.j_lastmade = 0;
+  else if (temp == js.j_lastasync)
+    js.j_lastasync = 0;
+
+  free (temp->wd);
+  ndel = discard_pipeline (temp->pipe);
+
+  js.c_injobs -= ndel;
+  if (temp->state == JDEAD)
+    {
+      js.c_reaped -= ndel;
+      js.j_ndead--;
+      if (js.c_reaped < 0)
+       {
+#ifdef DEBUG
+         itrace("delete_job (%d pgrp %d): js.c_reaped (%d) < 0 ndel = %d js.j_ndead = %d", job_index, temp->pgrp, js.c_reaped, ndel, js.j_ndead);
+#endif
+         js.c_reaped = 0;
+       }
+    }
+
+  if (temp->deferred)
+    dispose_command (temp->deferred);
+
+  free (temp);
+
+  js.j_njobs--;
+  if (js.j_njobs == 0)
+    js.j_firstj = js.j_lastj = 0;
+  else if (jobs[js.j_firstj] == 0 || jobs[js.j_lastj] == 0)
+    reset_job_indices ();
+}
+
+/* Must be called with SIGCHLD blocked. */
+void
+nohup_job (job_index)
+     int job_index;
+{
+  register JOB *temp;
+
+  if (js.j_jobslots == 0)
+    return;
+
+  if (temp = jobs[job_index])
+    temp->flags |= J_NOHUP;
+}
+
+/* Get rid of the data structure associated with a process chain. */
+static int
+discard_pipeline (chain)
+     register PROCESS *chain;
+{
+  register PROCESS *this, *next;
+  int n;
+
+  this = chain;
+  n = 0;
+  do
+    {
+      next = this->next;
+      FREE (this->command);
+      free (this);
+      n++;
+      this = next;
+    }
+  while (this != chain);
+
+  return n;
+}
+
+/* Add this process to the chain being built in the_pipeline.
+   NAME is the command string that will be exec'ed later.
+   PID is the process id of the child. */
+static void
+add_process (name, pid)
+     char *name;
+     pid_t pid;
+{
+  PROCESS *t, *p;
+
+#if defined (RECYCLES_PIDS)
+  int j;
+  p = find_process (pid, 0, &j);
+  if (p)
+    {
+#  ifdef DEBUG
+      if (j == NO_JOB)
+       internal_warning ("add_process: process %5ld (%s) in the_pipeline", (long)p->pid, p->command);
+#  endif
+      if (PALIVE (p))
+        internal_warning ("add_process: pid %5ld (%s) marked as still alive", (long)p->pid, p->command);
+      p->running = PS_RECYCLED;                /* mark as recycled */
+    }
+#endif
+
+  t = (PROCESS *)xmalloc (sizeof (PROCESS));
+itrace("add_process: adding 0x%x to 0x%x", t, the_pipeline);
+  t->next = the_pipeline;
+  t->pid = pid;
+  WSTATUS (t->status) = 0;
+  t->running = PS_RUNNING;
+  t->command = name;
+  the_pipeline = t;
+
+  if (t->next == 0)
+    t->next = t;
+  else
+    {
+      p = t->next;
+      while (p->next != t->next)
+       p = p->next;
+      p->next = t;
+    }
+}
+
+#if 0
+/* Take the last job and make it the first job.  Must be called with
+   SIGCHLD blocked. */
+int
+rotate_the_pipeline ()
+{
+  PROCESS *p;
+
+  if (the_pipeline->next == the_pipeline)
+    return;
+  for (p = the_pipeline; p->next != the_pipeline; p = p->next)
+    ;
+  the_pipeline = p;
+}
+
+/* Reverse the order of the processes in the_pipeline.  Must be called with
+   SIGCHLD blocked. */
+int
+reverse_the_pipeline ()
+{
+  PROCESS *p, *n;
+
+  if (the_pipeline->next == the_pipeline)
+    return;
+
+  for (p = the_pipeline; p->next != the_pipeline; p = p->next)
+    ;
+  p->next = (PROCESS *)NULL;
+
+  n = REVERSE_LIST (the_pipeline, PROCESS *);
+
+  the_pipeline = n;
+  for (p = the_pipeline; p->next; p = p->next)
+    ;
+  p->next = the_pipeline;
+}
+#endif
+
+/* Map FUNC over the list of jobs.  If FUNC returns non-zero,
+   then it is time to stop mapping, and that is the return value
+   for map_over_jobs.  FUNC is called with a JOB, arg1, arg2,
+   and INDEX. */
+static int
+map_over_jobs (func, arg1, arg2)
+     sh_job_map_func_t *func;
+     int arg1, arg2;
+{
+  register int i;
+  int result;
+  sigset_t set, oset;
+
+  if (js.j_jobslots == 0)
+    return 0;
+
+  BLOCK_CHILD (set, oset);
+
+  /* XXX could use js.j_firstj here */
+  for (i = result = 0; i < js.j_jobslots; i++)
+    {
+#if defined (DEBUG)
+      if (i < js.j_firstj && jobs[i])
+       itrace("map_over_jobs: job %d non-null before js.j_firstj (%d)", i, js.j_firstj);
+#endif
+      if (jobs[i])
+       {
+         result = (*func)(jobs[i], arg1, arg2, i);
+         if (result)
+           break;
+       }
+    }
+
+  UNBLOCK_CHILD (oset);
+
+  return (result);
+}
+
+/* Cause all the jobs in the current pipeline to exit. */
+void
+terminate_current_pipeline ()
+{
+  if (pipeline_pgrp && pipeline_pgrp != shell_pgrp)
+    {
+      killpg (pipeline_pgrp, SIGTERM);
+      killpg (pipeline_pgrp, SIGCONT);
+    }
+}
+
+/* Cause all stopped jobs to exit. */
+void
+terminate_stopped_jobs ()
+{
+  register int i;
+
+  /* XXX could use js.j_firstj here */
+  for (i = 0; i < js.j_jobslots; i++)
+    {
+      if (jobs[i] && STOPPED (i))
+       {
+         killpg (jobs[i]->pgrp, SIGTERM);
+         killpg (jobs[i]->pgrp, SIGCONT);
+       }
+    }
+}
+
+/* Cause all jobs, running or stopped, to receive a hangup signal.  If
+   a job is marked J_NOHUP, don't send the SIGHUP. */
+void
+hangup_all_jobs ()
+{
+  register int i;
+
+  /* XXX could use js.j_firstj here */
+  for (i = 0; i < js.j_jobslots; i++)
+    {
+      if (jobs[i])
+       {
+         if  ((jobs[i]->flags & J_NOHUP) == 0)
+           killpg (jobs[i]->pgrp, SIGHUP);
+         if (STOPPED (i))
+           killpg (jobs[i]->pgrp, SIGCONT);
+       }
+    }
+}
+
+void
+kill_current_pipeline ()
+{
+  stop_making_children ();
+  start_pipeline ();
+}
+
+/* Return the pipeline that PID belongs to.  Note that the pipeline
+   doesn't have to belong to a job.  Must be called with SIGCHLD blocked.
+   If JOBP is non-null, return the index of the job containing PID.  */
+static PROCESS *
+find_pipeline (pid, alive_only, jobp)
+     pid_t pid;
+     int alive_only;
+     int *jobp;                /* index into jobs list or NO_JOB */
+{
+  int job;
+  PROCESS *p;
+
+  /* See if this process is in the pipeline that we are building. */
+  if (jobp)
+    *jobp = NO_JOB;
+  if (the_pipeline)
+    {
+      p = the_pipeline;
+      do
+       {
+         /* Return it if we found it.  Don't ever return a recycled pid. */
+         if (p->pid == pid && ((alive_only == 0 && PRECYCLED(p) == 0) || PALIVE(p)))
+           return (p);
+
+         p = p->next;
+       }
+      while (p != the_pipeline);
+    }
+
+  job = find_job (pid, alive_only, &p);
+  if (jobp)
+    *jobp = job;
+  return (job == NO_JOB) ? (PROCESS *)NULL : jobs[job]->pipe;
+}
+
+/* Return the PROCESS * describing PID.  If JOBP is non-null return the index
+   into the jobs array of the job containing PID.  Must be called with
+   SIGCHLD blocked. */
+static PROCESS *
+find_process (pid, alive_only, jobp)
+     pid_t pid;
+     int alive_only;
+     int *jobp;                /* index into jobs list or NO_JOB */
+{
+  PROCESS *p;
+
+  p = find_pipeline (pid, alive_only, jobp);
+  while (p && p->pid != pid)
+    p = p->next;
+  return p;
+}
+
+/* Return the job index that PID belongs to, or NO_JOB if it doesn't
+   belong to any job.  Must be called with SIGCHLD blocked. */
+static int
+find_job (pid, alive_only, procp)
+     pid_t pid;
+     int alive_only;
+     PROCESS **procp;
+{
+  register int i;
+  PROCESS *p;
+
+  /* XXX could use js.j_firstj here */
+  for (i = 0; i < js.j_jobslots; i++)
+    {
+#if defined (DEBUG)
+      if (i < js.j_firstj && jobs[i])
+       itrace("find_job: job %d non-null before js.j_firstj (%d)", i, js.j_firstj);
+#endif
+      if (jobs[i])
+       {
+         p = jobs[i]->pipe;
+
+         do
+           {
+             if (p->pid == pid && ((alive_only == 0 && PRECYCLED(p) == 0) || PALIVE(p)))
+               {
+                 if (procp)
+                   *procp = p;
+                 return (i);
+               }
+
+             p = p->next;
+           }
+         while (p != jobs[i]->pipe);
+       }
+    }
+
+  return (NO_JOB);
+}
+
+/* Find a job given a PID.  If BLOCK is non-zero, block SIGCHLD as
+   required by find_job. */
+int
+get_job_by_pid (pid, block)
+     pid_t pid;
+     int block;
+{
+  int job;
+  sigset_t set, oset;
+
+  if (block)
+    BLOCK_CHILD (set, oset);
+
+  job = find_job (pid, 0, NULL);
+
+  if (block)
+    UNBLOCK_CHILD (oset);
+
+  return job;
+}
+
+/* Print descriptive information about the job with leader pid PID. */
+void
+describe_pid (pid)
+     pid_t pid;
+{
+  int job;
+  sigset_t set, oset;
+
+  BLOCK_CHILD (set, oset);
+
+  job = find_job (pid, 0, NULL);
+
+  if (job != NO_JOB)
+    fprintf (stderr, "[%d] %ld\n", job + 1, (long)pid);
+  else
+    programming_error (_("describe_pid: %ld: no such pid"), (long)pid);
+
+  UNBLOCK_CHILD (oset);
+}
+
+static char *
+j_strsignal (s)
+     int s;
+{
+  char *x;
+
+  x = strsignal (s);
+  if (x == 0)
+    {
+      x = retcode_name_buffer;
+      sprintf (x, "Signal %d", s);
+    }
+  return x;
+}
+
+static char *
+printable_job_status (j, p, format)
+     int j;
+     PROCESS *p;
+     int format;
+{
+  static char *temp;
+  int es;
+
+  temp = "Done";
+
+  if (STOPPED (j) && format == 0)
+    {
+      if (posixly_correct == 0 || p == 0 || (WIFSTOPPED (p->status) == 0))
+       temp = "Stopped";
+      else
+       {
+         temp = retcode_name_buffer;
+         sprintf (temp, "Stopped(%s)", signal_name (WSTOPSIG (p->status)));
+       }
+    }
+  else if (RUNNING (j))
+    temp = "Running";
+  else
+    {
+      if (WIFSTOPPED (p->status))
+       temp = j_strsignal (WSTOPSIG (p->status));
+      else if (WIFSIGNALED (p->status))
+       temp = j_strsignal (WTERMSIG (p->status));
+      else if (WIFEXITED (p->status))
+       {
+         temp = retcode_name_buffer;
+         es = WEXITSTATUS (p->status);
+         if (es == 0)
+           strcpy (temp, "Done");
+         else if (posixly_correct)
+           sprintf (temp, "Done(%d)", es);
+         else
+           sprintf (temp, "Exit %d", es);
+       }
+      else
+       temp = "Unknown status";
+    }
+
+  return temp;
+}
+
+/* This is the way to print out information on a job if you
+   know the index.  FORMAT is:
+
+    JLIST_NORMAL)   [1]+ Running          emacs
+    JLIST_LONG  )   [1]+ 2378 Running      emacs
+    -1   )   [1]+ 2378       emacs
+
+    JLIST_NORMAL)   [1]+ Stopped          ls | more
+    JLIST_LONG  )   [1]+ 2369 Stopped      ls
+                        2367       | more
+    JLIST_PID_ONLY)
+       Just list the pid of the process group leader (really
+       the process group).
+    JLIST_CHANGED_ONLY)
+       Use format JLIST_NORMAL, but list only jobs about which
+       the user has not been notified. */
+
+/* Print status for pipeline P.  If JOB_INDEX is >= 0, it is the index into
+   the JOBS array corresponding to this pipeline.  FORMAT is as described
+   above.  Must be called with SIGCHLD blocked.
+
+   If you're printing a pipeline that's not in the jobs array, like the
+   current pipeline as it's being created, pass -1 for JOB_INDEX */
+static void
+print_pipeline (p, job_index, format, stream)
+     PROCESS *p;
+     int job_index, format;
+     FILE *stream;
+{
+  PROCESS *first, *last, *show;
+  int es, name_padding;
+  char *temp;
+
+  if (p == 0)
+    return;
+
+  first = last = p;
+  while (last->next != first)
+    last = last->next;
+
+  for (;;)
+    {
+      if (p != first)
+       fprintf (stream, format ? "     " : " |");
+
+      if (format != JLIST_STANDARD)
+       fprintf (stream, "%5ld", (long)p->pid);
+
+      fprintf (stream, " ");
+
+      if (format > -1 && job_index >= 0)
+       {
+         show = format ? p : last;
+         temp = printable_job_status (job_index, show, format);
+
+         if (p != first)
+           {
+             if (format)
+               {
+                 if (show->running == first->running &&
+                     WSTATUS (show->status) == WSTATUS (first->status))
+                   temp = "";
+               }
+             else
+               temp = (char *)NULL;
+           }
+
+         if (temp)
+           {
+             fprintf (stream, "%s", temp);
+
+             es = STRLEN (temp);
+             if (es == 0)
+               es = 2; /* strlen ("| ") */
+             name_padding = LONGEST_SIGNAL_DESC - es;
+
+             fprintf (stream, "%*s", name_padding, "");
+
+             if ((WIFSTOPPED (show->status) == 0) &&
+                 (WIFCONTINUED (show->status) == 0) &&
+                 WIFCORED (show->status))
+               fprintf (stream, "(core dumped) ");
+           }
+       }
+
+      if (p != first && format)
+       fprintf (stream, "| ");
+
+      if (p->command)
+       fprintf (stream, "%s", p->command);
+
+      if (p == last && job_index >= 0)
+       {
+         temp = current_working_directory ();
+
+         if (RUNNING (job_index) && (IS_FOREGROUND (job_index) == 0))
+           fprintf (stream, " &");
+
+         if (strcmp (temp, jobs[job_index]->wd) != 0)
+           fprintf (stream,
+             "  (wd: %s)", polite_directory_format (jobs[job_index]->wd));
+       }
+
+      if (format || (p == last))
+       {
+         /* We need to add a CR only if this is an interactive shell, and
+            we're reporting the status of a completed job asynchronously.
+            We can't really check whether this particular job is being
+            reported asynchronously, so just add the CR if the shell is
+            currently interactive and asynchronous notification is enabled. */
+         if (asynchronous_notification && interactive)
+           fprintf (stream, "\r\n");
+         else
+           fprintf (stream, "\n");
+       }
+
+      if (p == last)
+       break;
+      p = p->next;
+    }
+  fflush (stream);
+}
+
+/* Print information to STREAM about jobs[JOB_INDEX] according to FORMAT.
+   Must be called with SIGCHLD blocked or queued with queue_sigchld */
+static void
+pretty_print_job (job_index, format, stream)
+     int job_index, format;
+     FILE *stream;
+{
+  register PROCESS *p;
+
+  /* Format only pid information about the process group leader? */
+  if (format == JLIST_PID_ONLY)
+    {
+      fprintf (stream, "%ld\n", (long)jobs[job_index]->pipe->pid);
+      return;
+    }
+
+  if (format == JLIST_CHANGED_ONLY)
+    {
+      if (IS_NOTIFIED (job_index))
+       return;
+      format = JLIST_STANDARD;
+    }
+
+  if (format != JLIST_NONINTERACTIVE)
+    fprintf (stream, "[%d]%c ", job_index + 1,
+             (job_index == js.j_current) ? '+':
+               (job_index == js.j_previous) ? '-' : ' ');
+
+  if (format == JLIST_NONINTERACTIVE)
+    format = JLIST_LONG;
+
+  p = jobs[job_index]->pipe;
+
+  print_pipeline (p, job_index, format, stream);
+
+  /* We have printed information about this job.  When the job's
+     status changes, waitchld () sets the notification flag to 0. */
+  jobs[job_index]->flags |= J_NOTIFIED;
+}
+
+static int
+print_job (job, format, state, job_index)
+     JOB *job;
+     int format, state, job_index;
+{
+  if (state == -1 || (JOB_STATE)state == job->state)
+    pretty_print_job (job_index, format, stdout);
+  return (0);
+}
+
+void
+list_one_job (job, format, ignore, job_index)
+     JOB *job;
+     int format, ignore, job_index;
+{
+  pretty_print_job (job_index, format, stdout);
+}
+
+void
+list_stopped_jobs (format)
+     int format;
+{
+  cleanup_dead_jobs ();
+  map_over_jobs (print_job, format, (int)JSTOPPED);
+}
+
+void
+list_running_jobs (format)
+     int format;
+{
+  cleanup_dead_jobs ();
+  map_over_jobs (print_job, format, (int)JRUNNING);
+}
+
+/* List jobs.  If FORMAT is non-zero, then the long form of the information
+   is printed, else just a short version. */
+void
+list_all_jobs (format)
+     int format;
+{
+  cleanup_dead_jobs ();
+  map_over_jobs (print_job, format, -1);
+}
+
+/* Fork, handling errors.  Returns the pid of the newly made child, or 0.
+   COMMAND is just for remembering the name of the command; we don't do
+   anything else with it.  ASYNC_P says what to do with the tty.  If
+   non-zero, then don't give it away. */
+pid_t
+make_child (command, async_p)
+     char *command;
+     int async_p;
+{
+  sigset_t set, oset;
+  pid_t pid;
+
+  sigemptyset (&set);
+  sigaddset (&set, SIGCHLD);
+  sigaddset (&set, SIGINT);
+  sigemptyset (&oset);
+  sigprocmask (SIG_BLOCK, &set, &oset);
+
+  making_children ();
+
+#if defined (BUFFERED_INPUT)
+  /* If default_buffered_input is active, we are reading a script.  If
+     the command is asynchronous, we have already duplicated /dev/null
+     as fd 0, but have not changed the buffered stream corresponding to
+     the old fd 0.  We don't want to sync the stream in this case. */
+  if (default_buffered_input != -1 &&
+      (!async_p || default_buffered_input > 0))
+    sync_buffered_stream (default_buffered_input);
+#endif /* BUFFERED_INPUT */
+
+  /* Create the child, handle severe errors. */
+  if ((pid = fork ()) < 0)
+    {
+      sys_error ("fork");
+
+      /* Kill all of the processes in the current pipeline. */
+      terminate_current_pipeline ();
+
+      /* Discard the current pipeline, if any. */
+      if (the_pipeline)
+       kill_current_pipeline ();
+
+      throw_to_top_level ();   /* Reset signals, etc. */
+    }
+
+  if (pid == 0)
+    {
+      /* In the child.  Give this child the right process group, set the
+        signals to the default state for a new process. */
+      pid_t mypid;
+
+      mypid = getpid ();
+#if defined (BUFFERED_INPUT)
+      /* Close default_buffered_input if it's > 0.  We don't close it if it's
+        0 because that's the file descriptor used when redirecting input,
+        and it's wrong to close the file in that case. */
+      unset_bash_input (0);
+#endif /* BUFFERED_INPUT */
+
+      /* Restore top-level signal mask. */
+      sigprocmask (SIG_SETMASK, &top_level_mask, (sigset_t *)NULL);
+
+      if (job_control)
+       {
+         /* All processes in this pipeline belong in the same
+            process group. */
+
+         if (pipeline_pgrp == 0)       /* This is the first child. */
+           pipeline_pgrp = mypid;
+
+         /* Check for running command in backquotes. */
+         if (pipeline_pgrp == shell_pgrp)
+           ignore_tty_job_signals ();
+         else
+           default_tty_job_signals ();
+
+         /* Set the process group before trying to mess with the terminal's
+            process group.  This is mandated by POSIX. */
+         /* This is in accordance with the Posix 1003.1 standard,
+            section B.7.2.4, which says that trying to set the terminal
+            process group with tcsetpgrp() to an unused pgrp value (like
+            this would have for the first child) is an error.  Section
+            B.4.3.3, p. 237 also covers this, in the context of job control
+            shells. */
+         if (setpgid (mypid, pipeline_pgrp) < 0)
+           sys_error ("child setpgid (%ld to %ld)", (long)mypid, (long)pipeline_pgrp);
+
+         /* By convention (and assumption above), if
+            pipeline_pgrp == shell_pgrp, we are making a child for
+            command substitution.
+            In this case, we don't want to give the terminal to the
+            shell's process group (we could be in the middle of a
+            pipeline, for example). */
+         if (async_p == 0 && pipeline_pgrp != shell_pgrp)
+           give_terminal_to (pipeline_pgrp, 0);
+
+#if defined (PGRP_PIPE)
+         if (pipeline_pgrp == mypid)
+           pipe_read (pgrp_pipe);
+#endif
+       }
+      else                     /* Without job control... */
+       {
+         if (pipeline_pgrp == 0)
+           pipeline_pgrp = shell_pgrp;
+
+         /* If these signals are set to SIG_DFL, we encounter the curious
+            situation of an interactive ^Z to a running process *working*
+            and stopping the process, but being unable to do anything with
+            that process to change its state.  On the other hand, if they
+            are set to SIG_IGN, jobs started from scripts do not stop when
+            the shell running the script gets a SIGTSTP and stops. */
+
+         default_tty_job_signals ();
+       }
+
+#if defined (PGRP_PIPE)
+      /* Release the process group pipe, since our call to setpgid ()
+        is done.  The last call to pipe_close is done in stop_pipeline. */
+      pipe_close (pgrp_pipe);
+#endif /* PGRP_PIPE */
+
+      if (async_p)
+       last_asynchronous_pid = mypid;
+#if defined (RECYCLES_PIDS)
+      else if (last_asynchronous_pid == mypid)
+        /* Avoid pid aliasing.  1 seems like a safe, unusual pid value. */
+       last_asynchronous_pid = 1;
+#endif
+    }
+  else
+    {
+      /* In the parent.  Remember the pid of the child just created
+        as the proper pgrp if this is the first child. */
+
+      if (job_control)
+       {
+         if (pipeline_pgrp == 0)
+           {
+             pipeline_pgrp = pid;
+             /* Don't twiddle terminal pgrps in the parent!  This is the bug,
+                not the good thing of twiddling them in the child! */
+             /* give_terminal_to (pipeline_pgrp, 0); */
+           }
+         /* This is done on the recommendation of the Rationale section of
+            the POSIX 1003.1 standard, where it discusses job control and
+            shells.  It is done to avoid possible race conditions. (Ref.
+            1003.1 Rationale, section B.4.3.3, page 236). */
+         setpgid (pid, pipeline_pgrp);
+       }
+      else
+       {
+         if (pipeline_pgrp == 0)
+           pipeline_pgrp = shell_pgrp;
+       }
+
+      /* Place all processes into the jobs array regardless of the
+        state of job_control. */
+      add_process (command, pid);
+
+      if (async_p)
+       last_asynchronous_pid = pid;
+#if defined (RECYCLES_PIDS)
+      else if (last_asynchronous_pid == pid)
+        /* Avoid pid aliasing.  1 seems like a safe, unusual pid value. */
+       last_asynchronous_pid = 1;
+#endif
+
+#if !defined (RECYCLES_PIDS)
+      /* Only check for saved status if we've saved more than CHILD_MAX
+        statuses, unless the system recycles pids. */
+      if ((js.c_reaped + bgpids.npid) >= js.c_childmax)
+#endif
+       bgp_delete (pid);               /* new process, discard any saved status */
+
+      last_made_pid = pid;
+
+      /* keep stats */
+      js.c_totforked++;
+      js.c_living++;
+
+      /* Unblock SIGINT and SIGCHLD unless creating a pipeline, in which case
+        SIGCHLD remains blocked until all commands in the pipeline have been
+        created. */
+      sigprocmask (SIG_SETMASK, &oset, (sigset_t *)NULL);
+    }
+
+  return (pid);
+}
+
+/* These two functions are called only in child processes. */
+void
+ignore_tty_job_signals ()
+{
+  set_signal_handler (SIGTSTP, SIG_IGN);
+  set_signal_handler (SIGTTIN, SIG_IGN);
+  set_signal_handler (SIGTTOU, SIG_IGN);
+}
+
+void
+default_tty_job_signals ()
+{
+  set_signal_handler (SIGTSTP, SIG_DFL);
+  set_signal_handler (SIGTTIN, SIG_DFL);
+  set_signal_handler (SIGTTOU, SIG_DFL);
+}
+
+/* When we end a job abnormally, or if we stop a job, we set the tty to the
+   state kept in here.  When a job ends normally, we set the state in here
+   to the state of the tty. */
+
+static TTYSTRUCT shell_tty_info;
+
+#if defined (NEW_TTY_DRIVER)
+static struct tchars shell_tchars;
+static struct ltchars shell_ltchars;
+#endif /* NEW_TTY_DRIVER */
+
+#if defined (NEW_TTY_DRIVER) && defined (DRAIN_OUTPUT)
+/* Since the BSD tty driver does not allow us to change the tty modes
+   while simultaneously waiting for output to drain and preserving
+   typeahead, we have to drain the output ourselves before calling
+   ioctl.  We cheat by finding the length of the output queue, and
+   using select to wait for an appropriate length of time.  This is
+   a hack, and should be labeled as such (it's a hastily-adapted
+   mutation of a `usleep' implementation).  It's only reason for
+   existing is the flaw in the BSD tty driver. */
+
+static int ttspeeds[] =
+{
+  0, 50, 75, 110, 134, 150, 200, 300, 600, 1200,
+  1800, 2400, 4800, 9600, 19200, 38400
+};
+
+static void
+draino (fd, ospeed)
+     int fd, ospeed;
+{
+  register int delay = ttspeeds[ospeed];
+  int n;
+
+  if (!delay)
+    return;
+
+  while ((ioctl (fd, TIOCOUTQ, &n) == 0) && n)
+    {
+      if (n > (delay / 100))
+       {
+         struct timeval tv;
+
+         n *= 10;              /* 2 bits more for conservativeness. */
+         tv.tv_sec = n / delay;
+         tv.tv_usec = ((n % delay) * 1000000) / delay;
+         select (fd, (fd_set *)0, (fd_set *)0, (fd_set *)0, &tv);
+       }
+      else
+       break;
+    }
+}
+#endif /* NEW_TTY_DRIVER && DRAIN_OUTPUT */
+
+/* Return the fd from which we are actually getting input. */
+#define input_tty() (shell_tty != -1) ? shell_tty : fileno (stderr)
+
+/* Fill the contents of shell_tty_info with the current tty info. */
+int
+get_tty_state ()
+{
+  int tty;
+
+  tty = input_tty ();
+  if (tty != -1)
+    {
+#if defined (NEW_TTY_DRIVER)
+      ioctl (tty, TIOCGETP, &shell_tty_info);
+      ioctl (tty, TIOCGETC, &shell_tchars);
+      ioctl (tty, TIOCGLTC, &shell_ltchars);
+#endif /* NEW_TTY_DRIVER */
+
+#if defined (TERMIO_TTY_DRIVER)
+      ioctl (tty, TCGETA, &shell_tty_info);
+#endif /* TERMIO_TTY_DRIVER */
+
+#if defined (TERMIOS_TTY_DRIVER)
+      if (tcgetattr (tty, &shell_tty_info) < 0)
+       {
+#if 0
+         /* Only print an error message if we're really interactive at
+            this time. */
+         if (interactive)
+           sys_error ("[%ld: %d] tcgetattr", (long)getpid (), shell_level);
+#endif
+         return -1;
+       }
+#endif /* TERMIOS_TTY_DRIVER */
+      if (check_window_size)
+       get_new_window_size (0);
+    }
+  return 0;
+}
+
+/* Make the current tty use the state in shell_tty_info. */
+int
+set_tty_state ()
+{
+  int tty;
+
+  tty = input_tty ();
+  if (tty != -1)
+    {
+#if defined (NEW_TTY_DRIVER)
+#  if defined (DRAIN_OUTPUT)
+      draino (tty, shell_tty_info.sg_ospeed);
+#  endif /* DRAIN_OUTPUT */
+      ioctl (tty, TIOCSETN, &shell_tty_info);
+      ioctl (tty, TIOCSETC, &shell_tchars);
+      ioctl (tty, TIOCSLTC, &shell_ltchars);
+#endif /* NEW_TTY_DRIVER */
+
+#if defined (TERMIO_TTY_DRIVER)
+      ioctl (tty, TCSETAW, &shell_tty_info);
+#endif /* TERMIO_TTY_DRIVER */
+
+#if defined (TERMIOS_TTY_DRIVER)
+      if (tcsetattr (tty, TCSADRAIN, &shell_tty_info) < 0)
+       {
+         /* Only print an error message if we're really interactive at
+            this time. */
+         if (interactive)
+           sys_error ("[%ld: %d] tcsetattr", (long)getpid (), shell_level);
+         return -1;
+       }
+#endif /* TERMIOS_TTY_DRIVER */
+    }
+  return 0;
+}
+
+/* Given an index into the jobs array JOB, return the PROCESS struct of the last
+   process in that job's pipeline.  This is the one whose exit status
+   counts.  Must be called with SIGCHLD blocked or queued. */
+static PROCESS *
+find_last_proc (job, block)
+     int job;
+     int block;
+{
+  register PROCESS *p;
+  sigset_t set, oset;
+
+  if (block)
+    BLOCK_CHILD (set, oset);
+
+  p = jobs[job]->pipe;
+  while (p->next != jobs[job]->pipe)
+    p = p->next;
+
+  if (block)
+    UNBLOCK_CHILD (oset);
+
+  return (p);
+}
+
+static pid_t
+find_last_pid (job, block)
+     int job;
+     int block;
+{
+  PROCESS *p;
+
+  p = find_last_proc (job, block);
+  /* Possible race condition here. */
+  return p->pid;
+}     
+
+/* Wait for a particular child of the shell to finish executing.
+   This low-level function prints an error message if PID is not
+   a child of this shell.  It returns -1 if it fails, or whatever
+   wait_for returns otherwise.  If the child is not found in the
+   jobs table, it returns 127. */
+int
+wait_for_single_pid (pid)
+     pid_t pid;
+{
+  register PROCESS *child;
+  sigset_t set, oset;
+  int r, job;
+
+  BLOCK_CHILD (set, oset);
+  child = find_pipeline (pid, 0, (int *)NULL);
+  UNBLOCK_CHILD (oset);
+
+  if (child == 0)
+    {
+      r = bgp_search (pid);
+      if (r >= 0)
+       return r;
+    }
+
+  if (child == 0)
+    {
+      internal_error (_("wait: pid %ld is not a child of this shell"), (long)pid);
+      return (127);
+    }
+
+  r = wait_for (pid);
+
+  /* POSIX.2: if we just waited for a job, we can remove it from the jobs
+     table. */
+  BLOCK_CHILD (set, oset);
+  job = find_job (pid, 0, NULL);
+  if (job != NO_JOB && jobs[job] && DEADJOB (job))
+    jobs[job]->flags |= J_NOTIFIED;
+  UNBLOCK_CHILD (oset);
+
+  /* If running in posix mode, remove the job from the jobs table immediately */
+  if (posixly_correct)
+    cleanup_dead_jobs ();
+
+  return r;
+}
+
+/* Wait for all of the backgrounds of this shell to finish. */
+void
+wait_for_background_pids ()
+{
+  register int i, r, waited_for;
+  sigset_t set, oset;
+  pid_t pid;
+
+  for (waited_for = 0;;)
+    {
+      BLOCK_CHILD (set, oset);
+
+      /* find first running job; if none running in foreground, break */
+      /* XXX could use js.j_firstj here */
+      for (i = 0; i < js.j_jobslots; i++)
+       {
+#if defined (DEBUG)
+         if (i < js.j_firstj && jobs[i])
+           itrace("wait_for_background_pids: job %d non-null before js.j_firstj (%d)", i, js.j_firstj);
+#endif
+         if (jobs[i] && RUNNING (i) && IS_FOREGROUND (i) == 0)
+           break;
+       }
+      if (i == js.j_jobslots)
+       {
+         UNBLOCK_CHILD (oset);
+         break;
+       }
+
+      /* now wait for the last pid in that job. */
+      pid = find_last_pid (i, 0);
+      UNBLOCK_CHILD (oset);
+      QUIT;
+      errno = 0;               /* XXX */
+      r = wait_for_single_pid (pid);
+      if (r == -1)
+       {
+         /* If we're mistaken about job state, compensate. */
+         if (errno == ECHILD)
+           mark_all_jobs_as_dead ();
+       }
+      else
+       waited_for++;
+    }
+
+  /* POSIX.2 says the shell can discard the statuses of all completed jobs if
+     `wait' is called with no arguments. */
+  mark_dead_jobs_as_notified (1);
+  cleanup_dead_jobs ();
+  bgp_clear ();
+}
+
+/* Make OLD_SIGINT_HANDLER the SIGINT signal handler. */
+#define INVALID_SIGNAL_HANDLER (SigHandler *)wait_for_background_pids
+static SigHandler *old_sigint_handler = INVALID_SIGNAL_HANDLER;
+
+static void
+restore_sigint_handler ()
+{
+  if (old_sigint_handler != INVALID_SIGNAL_HANDLER)
+    {
+      set_signal_handler (SIGINT, old_sigint_handler);
+      old_sigint_handler = INVALID_SIGNAL_HANDLER;
+    }
+}
+
+static int wait_sigint_received;
+
+/* Handle SIGINT while we are waiting for children in a script to exit.
+   The `wait' builtin should be interruptible, but all others should be
+   effectively ignored (i.e. not cause the shell to exit). */
+static sighandler
+wait_sigint_handler (sig)
+     int sig;
+{
+  SigHandler *sigint_handler;
+
+  if (interrupt_immediately ||
+      (this_shell_builtin && this_shell_builtin == wait_builtin))
+    {
+      last_command_exit_value = EXECUTION_FAILURE;
+      restore_sigint_handler ();
+      /* If we got a SIGINT while in `wait', and SIGINT is trapped, do
+        what POSIX.2 says (see builtins/wait.def for more info). */
+      if (this_shell_builtin && this_shell_builtin == wait_builtin &&
+         signal_is_trapped (SIGINT) &&
+         ((sigint_handler = trap_to_sighandler (SIGINT)) == trap_handler))
+       {
+         interrupt_immediately = 0;
+         trap_handler (SIGINT);        /* set pending_traps[SIGINT] */
+         wait_signal_received = SIGINT;
+         longjmp (wait_intr_buf, 1);
+       }
+      
+      ADDINTERRUPT;
+      QUIT;
+    }
+
+  /* XXX - should this be interrupt_state?  If it is, the shell will act
+     as if it got the SIGINT interrupt. */
+  wait_sigint_received = 1;
+
+  /* Otherwise effectively ignore the SIGINT and allow the running job to
+     be killed. */
+  SIGRETURN (0);
+}
+
+static int
+process_exit_signal (status)
+     WAIT status;
+{
+  return (WIFSIGNALED (status) ? WTERMSIG (status) : 0);
+}
+
+static int
+process_exit_status (status)
+     WAIT status;
+{
+  if (WIFSIGNALED (status))
+    return (128 + WTERMSIG (status));
+  else if (WIFSTOPPED (status) == 0)
+    return (WEXITSTATUS (status));
+  else
+    return (EXECUTION_SUCCESS);
+}
+
+/* Return the exit status of the last process in the pipeline for job JOB.
+   This is the exit status of the entire job. */
+static WAIT
+raw_job_exit_status (job)
+     int job;
+{
+  register PROCESS *p;
+  int fail;
+
+  if (pipefail_opt)
+    {
+      fail = 0;
+      p = jobs[job]->pipe;
+      do
+       {
+         if (p->status != EXECUTION_SUCCESS) fail = p->status;
+         p = p->next;
+       }
+      while (p != jobs[job]->pipe);
+      return fail;
+    }
+
+  for (p = jobs[job]->pipe; p->next != jobs[job]->pipe; p = p->next)
+    ;
+  return (p->status);
+}
+
+/* Return the exit status of job JOB.  This is the exit status of the last
+   (rightmost) process in the job's pipeline, modified if the job was killed
+   by a signal or stopped. */
+static int
+job_exit_status (job)
+     int job;
+{
+  return (process_exit_status (raw_job_exit_status (job)));
+}
+
+static int
+job_exit_signal (job)
+     int job;
+{
+  return (process_exit_signal (raw_job_exit_status (job)));
+}
+
+#define FIND_CHILD(pid, child) \
+  do \
+    { \
+      child = find_pipeline (pid, 0, (int *)NULL); \
+      if (child == 0) \
+       { \
+         give_terminal_to (shell_pgrp, 0); \
+         UNBLOCK_CHILD (oset); \
+         internal_error (_("wait_for: No record of process %ld"), (long)pid); \
+         restore_sigint_handler (); \
+         return (termination_state = 127); \
+       } \
+    } \
+  while (0)
+
+/* Wait for pid (one of our children) to terminate, then
+   return the termination state.  Returns 127 if PID is not found in
+   the jobs table.  Returns -1 if waitchld() returns -1, indicating
+   that there are no unwaited-for child processes. */
+int
+wait_for (pid)
+     pid_t pid;
+{
+  int job, termination_state, r;
+  WAIT s;
+  register PROCESS *child;
+  sigset_t set, oset;
+  register PROCESS *p;
+
+  /* In the case that this code is interrupted, and we longjmp () out of it,
+     we are relying on the code in throw_to_top_level () to restore the
+     top-level signal mask. */
+  BLOCK_CHILD (set, oset);
+
+  /* Ignore interrupts while waiting for a job run without job control
+     to finish.  We don't want the shell to exit if an interrupt is
+     received, only if one of the jobs run is killed via SIGINT.  If
+     job control is not set, the job will be run in the same pgrp as
+     the shell, and the shell will see any signals the job gets. */
+
+  /* This is possibly a race condition -- should it go in stop_pipeline? */
+  wait_sigint_received = 0;
+  if (job_control == 0)
+    old_sigint_handler = set_signal_handler (SIGINT, wait_sigint_handler);
+
+  termination_state = last_command_exit_value;
+
+  if (interactive && job_control == 0)
+    QUIT;
+
+  /* If we say wait_for (), then we have a record of this child somewhere.
+     If it and none of its peers are running, don't call waitchld(). */
+
+  job = NO_JOB;
+  do
+    {
+      FIND_CHILD (pid, child);
+
+      /* If this child is part of a job, then we are really waiting for the
+        job to finish.  Otherwise, we are waiting for the child to finish.
+        We check for JDEAD in case the job state has been set by waitchld
+        after receipt of a SIGCHLD. */
+      if (job == NO_JOB)
+       job = find_job (pid, 0, NULL);
+
+      /* waitchld() takes care of setting the state of the job.  If the job
+        has already exited before this is called, sigchld_handler will have
+        called waitchld and the state will be set to JDEAD. */
+
+      if (PRUNNING(child) || (job != NO_JOB && RUNNING (job)))
+       {
+#if defined (WAITPID_BROKEN)    /* SCOv4 */
+         sigset_t suspend_set;
+         sigemptyset (&suspend_set);
+         sigsuspend (&suspend_set);
+#else /* !WAITPID_BROKEN */
+#  if defined (MUST_UNBLOCK_CHLD)
+         struct sigaction act, oact;
+         sigset_t nullset, chldset;
+
+         sigemptyset (&nullset);
+         sigemptyset (&chldset);
+         sigprocmask (SIG_SETMASK, &nullset, &chldset);
+         act.sa_handler = SIG_DFL;
+         sigemptyset (&act.sa_mask);
+         sigemptyset (&oact.sa_mask);
+         act.sa_flags = 0;
+         sigaction (SIGCHLD, &act, &oact);
+#  endif
+         queue_sigchld = 1;
+         r = waitchld (pid, 1);
+#  if defined (MUST_UNBLOCK_CHLD)
+         sigaction (SIGCHLD, &oact, (struct sigaction *)NULL);
+         sigprocmask (SIG_SETMASK, &chldset, (sigset_t *)NULL);
+#  endif
+         queue_sigchld = 0;
+         if (r == -1 && errno == ECHILD && this_shell_builtin == wait_builtin)
+           {
+             termination_state = -1;
+             goto wait_for_return;
+           }
+
+         /* If child is marked as running, but waitpid() returns -1/ECHILD,
+            there is something wrong.  Somewhere, wait should have returned
+            that child's pid.  Mark the child as not running and the job,
+            if it exists, as JDEAD. */
+         if (r == -1 && errno == ECHILD)
+           {
+             child->running = PS_DONE;
+             child->status = 0;        /* XXX -- can't find true status */
+             if (job != NO_JOB)
+               {
+                 jobs[job]->state = JDEAD;
+                 js.c_reaped++;
+                 js.j_ndead++;
+               }
+           }
+#endif /* WAITPID_BROKEN */
+       }
+
+      /* If the shell is interactive, and job control is disabled, see
+        if the foreground process has died due to SIGINT and jump out
+        of the wait loop if it has.  waitchld has already restored the
+        old SIGINT signal handler. */
+      if (interactive && job_control == 0)
+       QUIT;
+    }
+  while (PRUNNING (child) || (job != NO_JOB && RUNNING (job)));
+
+  /* The exit state of the command is either the termination state of the
+     child, or the termination state of the job.  If a job, the status
+     of the last child in the pipeline is the significant one.  If the command
+     or job was terminated by a signal, note that value also. */
+  termination_state = (job != NO_JOB) ? job_exit_status (job)
+                                     : process_exit_status (child->status);
+  last_command_exit_signal = (job != NO_JOB) ? job_exit_signal (job)
+                                            : process_exit_signal (child->status);
+
+  /* XXX */
+  if ((job != NO_JOB && JOBSTATE (job) == JSTOPPED) || WIFSTOPPED (child->status))
+    termination_state = 128 + WSTOPSIG (child->status);
+
+  if (job == NO_JOB || IS_JOBCONTROL (job))
+    {
+      /* XXX - under what circumstances is a job not present in the jobs
+        table (job == NO_JOB)?
+               1.  command substitution
+
+        In the case of command substitution, at least, it's probably not
+        the right thing to give the terminal to the shell's process group,
+        even though there is code in subst.c:command_substitute to work
+        around it.
+
+        Things that don't:
+               $PROMPT_COMMAND execution
+               process substitution
+       */
+#if 0
+if (job == NO_JOB)
+  itrace("wait_for: job == NO_JOB, giving the terminal to shell_pgrp (%ld)", (long)shell_pgrp);
+#endif
+
+      give_terminal_to (shell_pgrp, 0);
+    }
+
+  /* If the command did not exit cleanly, or the job is just
+     being stopped, then reset the tty state back to what it
+     was before this command.  Reset the tty state and notify
+     the user of the job termination only if the shell is
+     interactive.  Clean up any dead jobs in either case. */
+  if (job != NO_JOB)
+    {
+      if (interactive_shell && subshell_environment == 0)
+       {
+         /* This used to use `child->status'.  That's wrong, however, for
+            pipelines.  `child' is the first process in the pipeline.  It's
+            likely that the process we want to check for abnormal termination
+            or stopping is the last process in the pipeline, especially if
+            it's long-lived and the first process is short-lived.  Since we
+            know we have a job here, we can check all the processes in this
+            job's pipeline and see if one of them stopped or terminated due
+            to a signal.  We might want to change this later to just check
+            the last process in the pipeline.  If no process exits due to a
+            signal, S is left as the status of the last job in the pipeline. */
+         p = jobs[job]->pipe;
+         do
+           {
+             s = p->status;
+             if (WIFSIGNALED(s) || WIFSTOPPED(s))
+               break;
+             p = p->next;
+           }
+         while (p != jobs[job]->pipe);
+
+         if (WIFSIGNALED (s) || WIFSTOPPED (s))
+           {
+             set_tty_state ();
+
+             /* If the current job was stopped or killed by a signal, and
+                the user has requested it, get a possibly new window size */
+             if (check_window_size && (job == js.j_current || IS_FOREGROUND (job)))
+               get_new_window_size (0);
+           }
+         else
+           get_tty_state ();
+
+         /* If job control is enabled, the job was started with job
+            control, the job was the foreground job, and it was killed
+            by SIGINT, then print a newline to compensate for the kernel
+            printing the ^C without a trailing newline. */
+         if (job_control && IS_JOBCONTROL (job) && IS_FOREGROUND (job) &&
+               WIFSIGNALED (s) && WTERMSIG (s) == SIGINT)
+           {
+             /* If SIGINT is not trapped and the shell is in a for, while,
+                or until loop, act as if the shell received SIGINT as
+                well, so the loop can be broken.  This doesn't call the
+                SIGINT signal handler; maybe it should. */
+             if (signal_is_trapped (SIGINT) == 0 && loop_level)
+               ADDINTERRUPT;
+             else
+               {
+                 putchar ('\n');
+                 fflush (stdout);
+               }
+           }
+       }
+
+      /* Moved here from set_job_status_and_cleanup, which is in the SIGCHLD
+         signal handler path */
+      if (DEADJOB (job) && IS_FOREGROUND (job) /*&& subshell_environment == 0*/)
+       setjstatus (job);
+
+      /* If this job is dead, notify the user of the status.  If the shell
+        is interactive, this will display a message on the terminal.  If
+        the shell is not interactive, make sure we turn on the notify bit
+        so we don't get an unwanted message about the job's termination,
+        and so delete_job really clears the slot in the jobs table. */
+      notify_and_cleanup ();
+    }
+
+wait_for_return:
+
+  UNBLOCK_CHILD (oset);
+
+  /* Restore the original SIGINT signal handler before we return. */
+  restore_sigint_handler ();
+
+  return (termination_state);
+}
+
+/* Wait for the last process in the pipeline for JOB.  Returns whatever
+   wait_for returns: the last process's termination state or -1 if there
+   are no unwaited-for child processes or an error occurs. */
+int
+wait_for_job (job)
+     int job;
+{
+  pid_t pid;
+  int r;
+  sigset_t set, oset;
+
+  BLOCK_CHILD(set, oset);
+  if (JOBSTATE (job) == JSTOPPED)
+    internal_warning (_("wait_for_job: job %d is stopped"), job+1);
+
+  pid = find_last_pid (job, 0);
+  UNBLOCK_CHILD(oset);
+  r = wait_for (pid);
+
+  /* POSIX.2: we can remove the job from the jobs table if we just waited
+     for it. */
+  BLOCK_CHILD (set, oset);
+  if (job != NO_JOB && jobs[job] && DEADJOB (job))
+    jobs[job]->flags |= J_NOTIFIED;
+  UNBLOCK_CHILD (oset);
+
+  return r;
+}
+
+/* Print info about dead jobs, and then delete them from the list
+   of known jobs.  This does not actually delete jobs when the
+   shell is not interactive, because the dead jobs are not marked
+   as notified. */
+void
+notify_and_cleanup ()
+{
+  if (jobs_list_frozen)
+    return;
+
+  if (interactive || interactive_shell == 0 || sourcelevel)
+    notify_of_job_status ();
+
+  cleanup_dead_jobs ();
+}
+
+/* Make dead jobs disappear from the jobs array without notification.
+   This is used when the shell is not interactive. */
+void
+reap_dead_jobs ()
+{
+  mark_dead_jobs_as_notified (0);
+  cleanup_dead_jobs ();
+}
+
+/* Return the next closest (chronologically) job to JOB which is in
+   STATE.  STATE can be JSTOPPED, JRUNNING.  NO_JOB is returned if
+   there is no next recent job. */
+static int
+most_recent_job_in_state (job, state)
+     int job;
+     JOB_STATE state;
+{
+  register int i, result;
+  sigset_t set, oset;
+
+  BLOCK_CHILD (set, oset);
+
+  for (result = NO_JOB, i = job - 1; i >= 0; i--)
+    {
+      if (jobs[i] && (JOBSTATE (i) == state))
+       {
+         result = i;
+         break;
+       }
+    }
+
+  UNBLOCK_CHILD (oset);
+
+  return (result);
+}
+
+/* Return the newest *stopped* job older than JOB, or NO_JOB if not
+   found. */
+static int
+job_last_stopped (job)
+     int job;
+{
+  return (most_recent_job_in_state (job, JSTOPPED));
+}
+
+/* Return the newest *running* job older than JOB, or NO_JOB if not
+   found. */
+static int
+job_last_running (job)
+     int job;
+{
+  return (most_recent_job_in_state (job, JRUNNING));
+}
+
+/* Make JOB be the current job, and make previous be useful.  Must be
+   called with SIGCHLD blocked. */
+static void
+set_current_job (job)
+     int job;
+{
+  int candidate;
+
+  if (js.j_current != job)
+    {
+      js.j_previous = js.j_current;
+      js.j_current = job;
+    }
+
+  /* First choice for previous job is the old current job. */
+  if (js.j_previous != js.j_current &&
+      js.j_previous != NO_JOB &&
+      jobs[js.j_previous] &&
+      STOPPED (js.j_previous))
+    return;
+
+  /* Second choice:  Newest stopped job that is older than
+     the current job. */
+  candidate = NO_JOB;
+  if (STOPPED (js.j_current))
+    {
+      candidate = job_last_stopped (js.j_current);
+
+      if (candidate != NO_JOB)
+       {
+         js.j_previous = candidate;
+         return;
+       }
+    }
+
+  /* If we get here, there is either only one stopped job, in which case it is
+     the current job and the previous job should be set to the newest running
+     job, or there are only running jobs and the previous job should be set to
+     the newest running job older than the current job.  We decide on which
+     alternative to use based on whether or not JOBSTATE(js.j_current) is
+     JSTOPPED. */
+
+  candidate = RUNNING (js.j_current) ? job_last_running (js.j_current)
+                                   : job_last_running (js.j_jobslots);
+
+  if (candidate != NO_JOB)
+    {
+      js.j_previous = candidate;
+      return;
+    }
+
+  /* There is only a single job, and it is both `+' and `-'. */
+  js.j_previous = js.j_current;
+}
+
+/* Make current_job be something useful, if it isn't already. */
+
+/* Here's the deal:  The newest non-running job should be `+', and the
+   next-newest non-running job should be `-'.  If there is only a single
+   stopped job, the js.j_previous is the newest non-running job.  If there
+   are only running jobs, the newest running job is `+' and the
+   next-newest running job is `-'.  Must be called with SIGCHLD blocked. */
+
+static void
+reset_current ()
+{
+  int candidate;
+
+  if (js.j_jobslots && js.j_current != NO_JOB && jobs[js.j_current] && STOPPED (js.j_current))
+    candidate = js.j_current;
+  else
+    {
+      candidate = NO_JOB;
+
+      /* First choice: the previous job. */
+      if (js.j_previous != NO_JOB && jobs[js.j_previous] && STOPPED (js.j_previous))
+       candidate = js.j_previous;
+
+      /* Second choice: the most recently stopped job. */
+      if (candidate == NO_JOB)
+       candidate = job_last_stopped (js.j_jobslots);
+
+      /* Third choice: the newest running job. */
+      if (candidate == NO_JOB)
+       candidate = job_last_running (js.j_jobslots);
+    }
+
+  /* If we found a job to use, then use it.  Otherwise, there
+     are no jobs period. */
+  if (candidate != NO_JOB)
+    set_current_job (candidate);
+  else
+    js.j_current = js.j_previous = NO_JOB;
+}
+
+/* Set up the job structures so we know the job and its processes are
+   all running. */
+static void
+set_job_running (job)
+     int job;
+{
+  register PROCESS *p;
+
+  /* Each member of the pipeline is now running. */
+  p = jobs[job]->pipe;
+
+  do
+    {
+      if (WIFSTOPPED (p->status))
+       p->running = PS_RUNNING;        /* XXX - could be PS_STOPPED */
+      p = p->next;
+    }
+  while (p != jobs[job]->pipe);
+
+  /* This means that the job is running. */
+  JOBSTATE (job) = JRUNNING;
+}
+
+/* Start a job.  FOREGROUND if non-zero says to do that.  Otherwise,
+   start the job in the background.  JOB is a zero-based index into
+   JOBS.  Returns -1 if it is unable to start a job, and the return
+   status of the job otherwise. */
+int
+start_job (job, foreground)
+     int job, foreground;
+{
+  register PROCESS *p;
+  int already_running;
+  sigset_t set, oset;
+  char *wd, *s;
+  static TTYSTRUCT save_stty;
+
+  BLOCK_CHILD (set, oset);
+
+  if (DEADJOB (job))
+    {
+      internal_error (_("%s: job has terminated"), this_command_name);
+      UNBLOCK_CHILD (oset);
+      return (-1);
+    }
+
+  already_running = RUNNING (job);
+
+  if (foreground == 0 && already_running)
+    {
+      internal_error (_("%s: job %d already in background"), this_command_name, job + 1);
+      UNBLOCK_CHILD (oset);
+      return (0);              /* XPG6/SUSv3 says this is not an error */
+    }
+
+  wd = current_working_directory ();
+
+  /* You don't know about the state of this job.  Do you? */
+  jobs[job]->flags &= ~J_NOTIFIED;
+
+  if (foreground)
+    {
+      set_current_job (job);
+      jobs[job]->flags |= J_FOREGROUND;
+    }
+
+  /* Tell the outside world what we're doing. */
+  p = jobs[job]->pipe;
+
+  if (foreground == 0)
+    {
+      /* POSIX.2 says `bg' doesn't give any indication about current or
+        previous job. */
+      if (posixly_correct == 0)
+       s = (job == js.j_current) ? "+ ": ((job == js.j_previous) ? "- " : " ");       
+      else
+       s = " ";
+      printf ("[%d]%s", job + 1, s);
+    }
+
+  do
+    {
+      printf ("%s%s",
+              p->command ? p->command : "",
+              p->next != jobs[job]->pipe? " | " : "");
+      p = p->next;
+    }
+  while (p != jobs[job]->pipe);
+
+  if (foreground == 0)
+    printf (" &");
+
+  if (strcmp (wd, jobs[job]->wd) != 0)
+    printf ("  (wd: %s)", polite_directory_format (jobs[job]->wd));
+
+  printf ("\n");
+
+  /* Run the job. */
+  if (already_running == 0)
+    set_job_running (job);
+
+  /* Save the tty settings before we start the job in the foreground. */
+  if (foreground)
+    {
+      get_tty_state ();
+      save_stty = shell_tty_info;
+      /* Give the terminal to this job. */
+      if (IS_JOBCONTROL (job))
+       give_terminal_to (jobs[job]->pgrp, 0);
+    }
+  else
+    jobs[job]->flags &= ~J_FOREGROUND;
+
+  /* If the job is already running, then don't bother jump-starting it. */
+  if (already_running == 0)
+    {
+      jobs[job]->flags |= J_NOTIFIED;
+      killpg (jobs[job]->pgrp, SIGCONT);
+    }
+
+  if (foreground)
+    {
+      pid_t pid;
+      int s;
+
+      pid = find_last_pid (job, 0);
+      UNBLOCK_CHILD (oset);
+      s = wait_for (pid);
+      shell_tty_info = save_stty;
+      set_tty_state ();
+      return (s);
+    }
+  else
+    {
+      reset_current ();
+      UNBLOCK_CHILD (oset);
+      return (0);
+    }
+}
+
+/* Give PID SIGNAL.  This determines what job the pid belongs to (if any).
+   If PID does belong to a job, and the job is stopped, then CONTinue the
+   job after giving it SIGNAL.  Returns -1 on failure.  If GROUP is non-null,
+   then kill the process group associated with PID. */
+int
+kill_pid (pid, sig, group)
+     pid_t pid;
+     int sig, group;
+{
+  register PROCESS *p;
+  int job, result, negative;
+  sigset_t set, oset;
+
+  if (pid < -1)
+    {
+      pid = -pid;
+      group = negative = 1;
+    }
+  else
+    negative = 0;
+
+  result = EXECUTION_SUCCESS;
+  if (group)
+    {
+      BLOCK_CHILD (set, oset);
+      p = find_pipeline (pid, 0, &job);
+
+      if (job != NO_JOB)
+       {
+         jobs[job]->flags &= ~J_NOTIFIED;
+
+         /* Kill process in backquotes or one started without job control? */
+
+         /* If we're passed a pid < -1, just call killpg and see what happens  */
+         if (negative && jobs[job]->pgrp == shell_pgrp)
+           result = killpg (pid, sig);
+         /* If we're killing using job control notification, for example,
+            without job control active, we have to do things ourselves. */
+         else if (jobs[job]->pgrp == shell_pgrp)
+           {
+             p = jobs[job]->pipe;
+             do
+               {
+                 if (PALIVE (p) == 0)
+                   continue;           /* avoid pid recycling problem */
+                 kill (p->pid, sig);
+                 if (PEXITED (p) && (sig == SIGTERM || sig == SIGHUP))
+                   kill (p->pid, SIGCONT);
+                 p = p->next;
+               }
+             while  (p != jobs[job]->pipe);
+           }
+         else
+           {
+             result = killpg (jobs[job]->pgrp, sig);
+             if (p && STOPPED (job) && (sig == SIGTERM || sig == SIGHUP))
+               killpg (jobs[job]->pgrp, SIGCONT);
+             /* If we're continuing a stopped job via kill rather than bg or
+                fg, emulate the `bg' behavior. */
+             if (p && STOPPED (job) && (sig == SIGCONT))
+               {
+                 set_job_running (job);
+                 jobs[job]->flags &= ~J_FOREGROUND;
+                 jobs[job]->flags |= J_NOTIFIED;
+               }
+           }
+       }
+      else
+       result = killpg (pid, sig);
+
+      UNBLOCK_CHILD (oset);
+    }
+  else
+    result = kill (pid, sig);
+
+  return (result);
+}
+
+/* sigchld_handler () flushes at least one of the children that we are
+   waiting for.  It gets run when we have gotten a SIGCHLD signal. */
+static sighandler
+sigchld_handler (sig)
+     int sig;
+{
+  int n, oerrno;
+
+  oerrno = errno;
+  REINSTALL_SIGCHLD_HANDLER;
+  sigchld++;
+  n = 0;
+  if (queue_sigchld == 0)
+    n = waitchld (-1, 0);
+  errno = oerrno;
+  SIGRETURN (n);
+}
+
+/* waitchld() reaps dead or stopped children.  It's called by wait_for and
+   sigchld_handler, and runs until there aren't any children terminating any
+   more.
+   If BLOCK is 1, this is to be a blocking wait for a single child, although
+   an arriving SIGCHLD could cause the wait to be non-blocking.  It returns
+   the number of children reaped, or -1 if there are no unwaited-for child
+   processes. */
+static int
+waitchld (wpid, block)
+     pid_t wpid;
+     int block;
+{
+  WAIT status;
+  PROCESS *child;
+  pid_t pid;
+  int call_set_current, last_stopped_job, job, children_exited, waitpid_flags;
+  static int wcontinued = WCONTINUED;  /* run-time fix for glibc problem */
+
+  call_set_current = children_exited = 0;
+  last_stopped_job = NO_JOB;
+
+  do
+    {
+      /* We don't want to be notified about jobs stopping if job control
+        is not active.  XXX - was interactive_shell instead of job_control */
+      waitpid_flags = (job_control && subshell_environment == 0)
+                       ? (WUNTRACED|wcontinued)
+                       : 0;
+      if (sigchld || block == 0)
+       waitpid_flags |= WNOHANG;
+      pid = WAITPID (-1, &status, waitpid_flags);
+
+      /* WCONTINUED may be rejected by waitpid as invalid even when defined */
+      if (wcontinued && pid < 0 && errno == EINVAL)
+       {
+         wcontinued = 0;
+         continue;     /* jump back to the test and retry without WCONTINUED */
+       }
+
+      /* The check for WNOHANG is to make sure we decrement sigchld only
+        if it was non-zero before we called waitpid. */
+      if (sigchld > 0 && (waitpid_flags & WNOHANG))
+       sigchld--;
+  
+      /* If waitpid returns -1 with errno == ECHILD, there are no more
+        unwaited-for child processes of this shell. */
+      if (pid < 0 && errno == ECHILD)
+       {
+         if (children_exited == 0)
+           return -1;
+         else
+           break;
+       }
+
+      /* If waitpid returns 0, there are running children.  If it returns -1,
+        the only other error POSIX says it can return is EINTR. */
+      if (pid <= 0)
+       continue;       /* jumps right to the test */
+
+      /* children_exited is used to run traps on SIGCHLD.  We don't want to
+         run the trap if a process is just being continued. */
+      if (WIFCONTINUED(status) == 0)
+       children_exited++;
+
+      /* Locate our PROCESS for this pid. */
+      child = find_process (pid, 1, &job);     /* want living procs only */
+
+      /* It is not an error to have a child terminate that we did
+        not have a record of.  This child could have been part of
+        a pipeline in backquote substitution.  Even so, I'm not
+        sure child is ever non-zero. */
+      if (child == 0)
+       continue;
+
+      /* Remember status, and whether or not the process is running. */
+      child->status = status;
+      child->running = WIFCONTINUED(status) ? PS_RUNNING : PS_DONE;
+
+      if (PEXITED (child))
+       {
+         js.c_totreaped++;
+         if (job != NO_JOB)
+           js.c_reaped++;
+       }
+        
+      if (job == NO_JOB)
+       continue;
+
+      call_set_current += set_job_status_and_cleanup (job);
+
+      if (STOPPED (job))
+       last_stopped_job = job;
+      else if (DEADJOB (job) && last_stopped_job == job)
+       last_stopped_job = NO_JOB;
+    }
+  while ((sigchld || block == 0) && pid > (pid_t)0);
+
+  /* If a job was running and became stopped, then set the current
+     job.  Otherwise, don't change a thing. */
+  if (call_set_current)
+    {
+      if (last_stopped_job != NO_JOB)
+       set_current_job (last_stopped_job);
+      else
+       reset_current ();
+    }
+
+  /* Call a SIGCHLD trap handler for each child that exits, if one is set. */
+  if (job_control && signal_is_trapped (SIGCHLD) && children_exited &&
+      trap_list[SIGCHLD] != (char *)IGNORE_SIG)
+    run_sigchld_trap (children_exited);
+
+  /* We have successfully recorded the useful information about this process
+     that has just changed state.  If we notify asynchronously, and the job
+     that this process belongs to is no longer running, then notify the user
+     of that fact now. */
+  if (asynchronous_notification && interactive)
+    notify_of_job_status ();
+
+  return (children_exited);
+}
+
+/* Set the status of JOB and perform any necessary cleanup if the job is
+   marked as JDEAD.
+
+   Currently, the cleanup activity is restricted to handling any SIGINT
+   received while waiting for a foreground job to finish. */
+static int
+set_job_status_and_cleanup (job)
+     int job;
+{
+  PROCESS *child;
+  int tstatus, job_state, any_stopped, any_tstped, call_set_current;
+  SigHandler *temp_handler;
+
+  child = jobs[job]->pipe;
+  jobs[job]->flags &= ~J_NOTIFIED;
+
+  call_set_current = 0;
+
+  /*
+   * COMPUTE JOB STATUS
+   */
+
+  /* If all children are not running, but any of them is  stopped, then
+     the job is stopped, not dead. */
+  job_state = any_stopped = any_tstped = 0;
+  do
+    {
+      job_state |= PRUNNING (child);
+#if 0
+      if (PEXITED (child) && (WIFSTOPPED (child->status)))
+#else
+      /* Only checking for WIFSTOPPED now, not for PS_DONE */
+      if (PSTOPPED (child))
+#endif
+       {
+         any_stopped = 1;
+         any_tstped |= interactive && job_control &&
+                           (WSTOPSIG (child->status) == SIGTSTP);
+       }
+      child = child->next;
+    }
+  while (child != jobs[job]->pipe);
+
+  /* If job_state != 0, the job is still running, so don't bother with
+     setting the process exit status and job state unless we're
+     transitioning from stopped to running. */
+  if (job_state != 0 && JOBSTATE(job) != JSTOPPED)
+    return 0;
+
+  /*
+   * SET JOB STATUS
+   */
+
+  /* The job is either stopped or dead.  Set the state of the job accordingly. */
+  if (any_stopped)
+    {
+      jobs[job]->state = JSTOPPED;
+      jobs[job]->flags &= ~J_FOREGROUND;
+      call_set_current++;
+      /* Suspending a job with SIGTSTP breaks all active loops. */
+      if (any_tstped && loop_level)
+       breaking = loop_level;
+    }
+  else if (job_state != 0)     /* was stopped, now running */
+    {
+      jobs[job]->state = JRUNNING;
+      call_set_current++;
+    }
+  else
+    {
+      jobs[job]->state = JDEAD;
+      js.j_ndead++;
+
+#if 0
+      if (IS_FOREGROUND (job))
+       setjstatus (job);
+#endif
+
+      /* If this job has a cleanup function associated with it, call it
+        with `cleanarg' as the single argument, then set the function
+        pointer to NULL so it is not inadvertently called twice.  The
+        cleanup function is responsible for deallocating cleanarg. */
+      if (jobs[job]->j_cleanup)
+       {
+         (*jobs[job]->j_cleanup) (jobs[job]->cleanarg);
+         jobs[job]->j_cleanup = (sh_vptrfunc_t *)NULL;
+       }
+    }
+
+  /*
+   * CLEANUP
+   *
+   * Currently, we just do special things if we got a SIGINT while waiting
+   * for a foreground job to complete
+   */
+
+  if (JOBSTATE (job) == JDEAD)
+    {
+      /* If we're running a shell script and we get a SIGINT with a
+        SIGINT trap handler, but the foreground job handles it and
+        does not exit due to SIGINT, run the trap handler but do not
+        otherwise act as if we got the interrupt. */
+      if (wait_sigint_received && interactive_shell == 0 &&
+         WIFSIGNALED (child->status) == 0 && IS_FOREGROUND (job) &&
+         signal_is_trapped (SIGINT))
+       {
+         int old_frozen;
+         wait_sigint_received = 0;
+         last_command_exit_value = process_exit_status (child->status);
+
+         old_frozen = jobs_list_frozen;
+         jobs_list_frozen = 1;
+         tstatus = maybe_call_trap_handler (SIGINT);
+         jobs_list_frozen = old_frozen;
+       }
+
+      /* If the foreground job is killed by SIGINT when job control is not
+        active, we need to perform some special handling.
+
+        The check of wait_sigint_received is a way to determine if the
+        SIGINT came from the keyboard (in which case the shell has already
+        seen it, and wait_sigint_received is non-zero, because keyboard
+        signals are sent to process groups) or via kill(2) to the foreground
+        process by another process (or itself).  If the shell did receive the
+        SIGINT, it needs to perform normal SIGINT processing. */
+      else if (wait_sigint_received && (WTERMSIG (child->status) == SIGINT) &&
+             IS_FOREGROUND (job) && IS_JOBCONTROL (job) == 0)
+       {
+         int old_frozen;
+
+         wait_sigint_received = 0;
+
+         /* If SIGINT is trapped, set the exit status so that the trap
+            handler can see it. */
+         if (signal_is_trapped (SIGINT))
+           last_command_exit_value = process_exit_status (child->status);
+
+         /* If the signal is trapped, let the trap handler get it no matter
+            what and simply return if the trap handler returns.
+           maybe_call_trap_handler() may cause dead jobs to be removed from
+           the job table because of a call to execute_command.  We work
+           around this by setting JOBS_LIST_FROZEN. */
+         old_frozen = jobs_list_frozen;
+         jobs_list_frozen = 1;
+         tstatus = maybe_call_trap_handler (SIGINT);
+         jobs_list_frozen = old_frozen;
+         if (tstatus == 0 && old_sigint_handler != INVALID_SIGNAL_HANDLER)
+           {
+             /* wait_sigint_handler () has already seen SIGINT and
+                allowed the wait builtin to jump out.  We need to
+                call the original SIGINT handler, if necessary.  If
+                the original handler is SIG_DFL, we need to resend
+                the signal to ourselves. */
+
+             temp_handler = old_sigint_handler;
+
+             /* Bogus.  If we've reset the signal handler as the result
+                of a trap caught on SIGINT, then old_sigint_handler
+                will point to trap_handler, which now knows nothing about
+                SIGINT (if we reset the sighandler to the default).
+                In this case, we have to fix things up.  What a crock. */
+             if (temp_handler == trap_handler && signal_is_trapped (SIGINT) == 0)
+                 temp_handler = trap_to_sighandler (SIGINT);
+               restore_sigint_handler ();
+             if (temp_handler == SIG_DFL)
+               termination_unwind_protect (SIGINT);
+             else if (temp_handler != SIG_IGN)
+               (*temp_handler) (SIGINT);
+           }
+       }
+    }
+
+  return call_set_current;
+}
+
+/* Build the array of values for the $PIPESTATUS variable from the set of
+   exit statuses of all processes in the job J. */
+static void
+setjstatus (j)
+     int j;
+{
+#if defined (ARRAY_VARS)
+  register int i;
+  register PROCESS *p;
+
+  for (i = 1, p = jobs[j]->pipe; p->next != jobs[j]->pipe; p = p->next, i++)
+    ;
+  i++;
+  if (statsize < i)
+    {
+      pstatuses = (int *)xrealloc (pstatuses, i * sizeof (int));
+      statsize = i;
+    }
+  i = 0;
+  p = jobs[j]->pipe;
+  do
+    {
+      pstatuses[i++] = process_exit_status (p->status);
+      p = p->next;
+    }
+  while (p != jobs[j]->pipe);
+
+  pstatuses[i] = -1;   /* sentinel */
+  set_pipestatus_array (pstatuses, i);
+#endif
+}
+
+static void
+run_sigchld_trap (nchild)
+     int nchild;
+{
+  char *trap_command;
+  int i;
+
+  /* Turn off the trap list during the call to parse_and_execute ()
+     to avoid potentially infinite recursive calls.  Preserve the
+     values of last_command_exit_value, last_made_pid, and the_pipeline
+     around the execution of the trap commands. */
+  trap_command = savestring (trap_list[SIGCHLD]);
+
+  begin_unwind_frame ("SIGCHLD trap");
+  unwind_protect_int (last_command_exit_value);
+  unwind_protect_int (last_command_exit_signal);
+  unwind_protect_var (last_made_pid);
+  unwind_protect_int (interrupt_immediately);
+  unwind_protect_int (jobs_list_frozen);
+  unwind_protect_pointer (the_pipeline);
+  unwind_protect_pointer (subst_assign_varlist);
+
+  /* We have to add the commands this way because they will be run
+     in reverse order of adding.  We don't want maybe_set_sigchld_trap ()
+     to reference freed memory. */
+  add_unwind_protect (xfree, trap_command);
+  add_unwind_protect (maybe_set_sigchld_trap, trap_command);
+
+  subst_assign_varlist = (WORD_LIST *)NULL;
+  the_pipeline = (PROCESS *)NULL;
+
+  restore_default_signal (SIGCHLD);
+  jobs_list_frozen = 1;
+  for (i = 0; i < nchild; i++)
+    {
+      interrupt_immediately = 1;
+      parse_and_execute (savestring (trap_command), "trap", SEVAL_NOHIST|SEVAL_RESETLINE);
+    }
+
+  run_unwind_frame ("SIGCHLD trap");
+}
+
+/* Function to call when you want to notify people of changes
+   in job status.  This prints out all jobs which are pending
+   notification to stderr, and marks those printed as already
+   notified, thus making them candidates for cleanup. */
+static void
+notify_of_job_status ()
+{
+  register int job, termsig;
+  char *dir;
+  sigset_t set, oset;
+  WAIT s;
+
+  if (jobs == 0 || js.j_jobslots == 0)
+    return;
+
+  if (old_ttou != 0)
+    {
+      sigemptyset (&set);
+      sigaddset (&set, SIGCHLD);
+      sigaddset (&set, SIGTTOU);
+      sigemptyset (&oset);
+      sigprocmask (SIG_BLOCK, &set, &oset);
+    }
+  else
+    queue_sigchld++;
+
+  /* XXX could use js.j_firstj here */
+  for (job = 0, dir = (char *)NULL; job < js.j_jobslots; job++)
+    {
+      if (jobs[job] && IS_NOTIFIED (job) == 0)
+       {
+         s = raw_job_exit_status (job);
+         termsig = WTERMSIG (s);
+
+         /* POSIX.2 says we have to hang onto the statuses of at most the
+            last CHILD_MAX background processes if the shell is running a
+            script.  If the shell is running a script, either from a file
+            or standard input, don't print anything unless the job was
+            killed by a signal. */
+         if (startup_state == 0 && WIFSIGNALED (s) == 0 &&
+               ((DEADJOB (job) && IS_FOREGROUND (job) == 0) || STOPPED (job)))
+           continue;
+         
+#if 0
+         /* If job control is disabled, don't print the status messages.
+            Mark dead jobs as notified so that they get cleaned up.  If
+            startup_state == 2, we were started to run `-c command', so
+            don't print anything. */
+         if ((job_control == 0 && interactive_shell) || startup_state == 2)
+#else
+         /* If job control is disabled, don't print the status messages.
+            Mark dead jobs as notified so that they get cleaned up.  If
+            startup_state == 2 and subshell_environment has the
+            SUBSHELL_COMSUB bit turned on, we were started to run a command
+            substitution, so don't print anything. */
+         if ((job_control == 0 && interactive_shell) ||
+             (startup_state == 2 && (subshell_environment & SUBSHELL_COMSUB)))
+#endif
+           {
+             /* POSIX.2 compatibility:  if the shell is not interactive,
+                hang onto the job corresponding to the last asynchronous
+                pid until the user has been notified of its status or does
+                a `wait'. */
+             if (DEADJOB (job) && (interactive_shell || (find_last_pid (job, 0) != last_asynchronous_pid)))
+               jobs[job]->flags |= J_NOTIFIED;
+             continue;
+           }
+
+         /* Print info on jobs that are running in the background,
+            and on foreground jobs that were killed by anything
+            except SIGINT (and possibly SIGPIPE). */
+         switch (JOBSTATE (job))
+           {
+           case JDEAD:
+             if (interactive_shell == 0 && termsig && WIFSIGNALED (s) &&
+                 termsig != SIGINT &&
+#if defined (DONT_REPORT_SIGPIPE)
+                 termsig != SIGPIPE &&
+#endif
+                 signal_is_trapped (termsig) == 0)
+               {
+                 /* Don't print `0' for a line number. */
+                 fprintf (stderr, "%s: line %d: ", get_name_for_error (), (line_number == 0) ? 1 : line_number);
+                 pretty_print_job (job, JLIST_NONINTERACTIVE, stderr);
+               }
+             else if (IS_FOREGROUND (job))
+               {
+#if !defined (DONT_REPORT_SIGPIPE)
+                 if (termsig && WIFSIGNALED (s) && termsig != SIGINT)
+#else
+                 if (termsig && WIFSIGNALED (s) && termsig != SIGINT && termsig != SIGPIPE)
+#endif
+                   {
+                     fprintf (stderr, "%s", j_strsignal (termsig));
+
+                     if (WIFCORED (s))
+                       fprintf (stderr, " (core dumped)");
+
+                     fprintf (stderr, "\n");
+                   }
+               }
+             else if (job_control)     /* XXX job control test added */
+               {
+                 if (dir == 0)
+                   dir = current_working_directory ();
+                 pretty_print_job (job, JLIST_STANDARD, stderr);
+                 if (dir && strcmp (dir, jobs[job]->wd) != 0)
+                   fprintf (stderr,
+                            "(wd now: %s)\n", polite_directory_format (dir));
+               }
+
+             jobs[job]->flags |= J_NOTIFIED;
+             break;
+
+           case JSTOPPED:
+             fprintf (stderr, "\n");
+             if (dir == 0)
+               dir = current_working_directory ();
+             pretty_print_job (job, JLIST_STANDARD, stderr);
+             if (dir && (strcmp (dir, jobs[job]->wd) != 0))
+               fprintf (stderr,
+                        "(wd now: %s)\n", polite_directory_format (dir));
+             jobs[job]->flags |= J_NOTIFIED;
+             break;
+
+           case JRUNNING:
+           case JMIXED:
+             break;
+
+           default:
+             programming_error ("notify_of_job_status");
+           }
+       }
+    }
+  if (old_ttou != 0)
+    sigprocmask (SIG_SETMASK, &oset, (sigset_t *)NULL);
+  else
+    queue_sigchld--;
+}
+
+/* Initialize the job control mechanism, and set up the tty stuff. */
+int
+initialize_job_control (force)
+     int force;
+{
+  shell_pgrp = getpgid (0);
+
+  if (shell_pgrp == -1)
+    {
+      sys_error ("initialize_job_control: getpgrp failed");
+      exit (1);
+    }
+
+  /* We can only have job control if we are interactive. */
+  if (interactive == 0)
+    {
+      job_control = 0;
+      original_pgrp = NO_PID;
+      shell_tty = fileno (stderr);
+    }
+  else
+    {
+      /* Get our controlling terminal.  If job_control is set, or
+        interactive is set, then this is an interactive shell no
+        matter where fd 2 is directed. */
+      shell_tty = dup (fileno (stderr));       /* fd 2 */
+
+      shell_tty = move_to_high_fd (shell_tty, 1, -1);
+
+      /* Compensate for a bug in systems that compiled the BSD
+        rlogind with DEBUG defined, like NeXT and Alliant. */
+      if (shell_pgrp == 0)
+       {
+         shell_pgrp = getpid ();
+         setpgid (0, shell_pgrp);
+         tcsetpgrp (shell_tty, shell_pgrp);
+       }
+
+      while ((terminal_pgrp = tcgetpgrp (shell_tty)) != -1)
+       {
+         if (shell_pgrp != terminal_pgrp)
+           {
+             SigHandler *ottin;
+
+             ottin = set_signal_handler(SIGTTIN, SIG_DFL);
+             kill (0, SIGTTIN);
+             set_signal_handler (SIGTTIN, ottin);
+             continue;
+           }
+         break;
+       }
+
+      /* Make sure that we are using the new line discipline. */
+      if (set_new_line_discipline (shell_tty) < 0)
+       {
+         sys_error ("initialize_job_control: line discipline");
+         job_control = 0;
+       }
+      else
+       {
+         original_pgrp = shell_pgrp;
+         shell_pgrp = getpid ();
+
+         if ((original_pgrp != shell_pgrp) && (setpgid (0, shell_pgrp) < 0))
+           {
+             sys_error ("initialize_job_control: setpgid");
+             shell_pgrp = original_pgrp;
+           }
+
+         job_control = 1;
+
+         /* If (and only if) we just set our process group to our pid,
+            thereby becoming a process group leader, and the terminal
+            is not in the same process group as our (new) process group,
+            then set the terminal's process group to our (new) process
+            group.  If that fails, set our process group back to what it
+            was originally (so we can still read from the terminal) and
+            turn off job control.  */
+         if (shell_pgrp != original_pgrp && shell_pgrp != terminal_pgrp)
+           {
+             if (give_terminal_to (shell_pgrp, 0) < 0)
+               {
+                 setpgid (0, original_pgrp);
+                 shell_pgrp = original_pgrp;
+                 job_control = 0;
+               }
+           }
+       }
+      if (job_control == 0)
+       internal_error (_("no job control in this shell"));
+    }
+
+  if (shell_tty != fileno (stderr))
+    SET_CLOSE_ON_EXEC (shell_tty);
+
+  set_signal_handler (SIGCHLD, sigchld_handler);
+
+  change_flag ('m', job_control ? '-' : '+');
+
+  if (interactive)
+    get_tty_state ();
+
+  if (js.c_childmax < 0)
+    js.c_childmax = getmaxchild ();
+  if (js.c_childmax < 0)
+    js.c_childmax = DEFAULT_CHILD_MAX;
+
+  return job_control;
+}
+
+#ifdef DEBUG
+void
+debug_print_pgrps ()
+{
+  itrace("original_pgrp = %ld shell_pgrp = %ld terminal_pgrp = %ld",
+        (long)original_pgrp, (long)shell_pgrp, (long)terminal_pgrp);
+  itrace("tcgetpgrp(%d) -> %ld, getpgid(0) -> %ld",
+        shell_tty, (long)tcgetpgrp (shell_tty), (long)getpgid(0));
+}
+#endif
+
+/* Set the line discipline to the best this system has to offer.
+   Return -1 if this is not possible. */
+static int
+set_new_line_discipline (tty)
+     int tty;
+{
+#if defined (NEW_TTY_DRIVER)
+  int ldisc;
+
+  if (ioctl (tty, TIOCGETD, &ldisc) < 0)
+    return (-1);
+
+  if (ldisc != NTTYDISC)
+    {
+      ldisc = NTTYDISC;
+
+      if (ioctl (tty, TIOCSETD, &ldisc) < 0)
+       return (-1);
+    }
+  return (0);
+#endif /* NEW_TTY_DRIVER */
+
+#if defined (TERMIO_TTY_DRIVER)
+#  if defined (TERMIO_LDISC) && (NTTYDISC)
+  if (ioctl (tty, TCGETA, &shell_tty_info) < 0)
+    return (-1);
+
+  if (shell_tty_info.c_line != NTTYDISC)
+    {
+      shell_tty_info.c_line = NTTYDISC;
+      if (ioctl (tty, TCSETAW, &shell_tty_info) < 0)
+       return (-1);
+    }
+#  endif /* TERMIO_LDISC && NTTYDISC */
+  return (0);
+#endif /* TERMIO_TTY_DRIVER */
+
+#if defined (TERMIOS_TTY_DRIVER)
+#  if defined (TERMIOS_LDISC) && defined (NTTYDISC)
+  if (tcgetattr (tty, &shell_tty_info) < 0)
+    return (-1);
+
+  if (shell_tty_info.c_line != NTTYDISC)
+    {
+      shell_tty_info.c_line = NTTYDISC;
+      if (tcsetattr (tty, TCSADRAIN, &shell_tty_info) < 0)
+       return (-1);
+    }
+#  endif /* TERMIOS_LDISC && NTTYDISC */
+  return (0);
+#endif /* TERMIOS_TTY_DRIVER */
+
+#if !defined (NEW_TTY_DRIVER) && !defined (TERMIO_TTY_DRIVER) && !defined (TERMIOS_TTY_DRIVER)
+  return (-1);
+#endif
+}
+
+#if defined (TIOCGWINSZ) && defined (SIGWINCH)
+static void
+get_new_window_size (from_sig)
+     int from_sig;
+{
+  struct winsize win;
+
+  if ((ioctl (shell_tty, TIOCGWINSZ, &win) == 0) &&
+      win.ws_row > 0 && win.ws_col > 0)
+    {
+#if defined (aixpc)
+      shell_tty_info.c_winsize = win;  /* structure copying */
+#endif
+      sh_set_lines_and_columns (win.ws_row, win.ws_col);
+#if defined (READLINE)
+      rl_set_screen_size (win.ws_row, win.ws_col);
+#endif
+    }
+}
+
+static sighandler
+sigwinch_sighandler (sig)
+     int sig;
+{
+#if defined (MUST_REINSTALL_SIGHANDLERS)
+  set_signal_handler (SIGWINCH, sigwinch_sighandler);
+#endif /* MUST_REINSTALL_SIGHANDLERS */
+  get_new_window_size (1);
+  SIGRETURN (0);
+}
+#else
+static void
+get_new_window_size (from_sig)
+     int from_sig;
+{
+}
+#endif /* TIOCGWINSZ && SIGWINCH */
+
+void
+set_sigwinch_handler ()
+{
+#if defined (TIOCGWINSZ) && defined (SIGWINCH)
+ old_winch = set_signal_handler (SIGWINCH, sigwinch_sighandler);
+#endif
+}
+
+void
+unset_sigwinch_handler ()
+{
+#if defined (TIOCGWINSZ) && defined (SIGWINCH)
+  set_signal_handler (SIGWINCH, old_winch);
+#endif
+}
+
+/* Setup this shell to handle C-C, etc. */
+void
+initialize_job_signals ()
+{
+  if (interactive)
+    {
+      set_signal_handler (SIGINT, sigint_sighandler);
+      set_signal_handler (SIGTSTP, SIG_IGN);
+      set_signal_handler (SIGTTOU, SIG_IGN);
+      set_signal_handler (SIGTTIN, SIG_IGN);
+      set_sigwinch_handler ();
+    }
+  else if (job_control)
+    {
+      old_tstp = set_signal_handler (SIGTSTP, sigstop_sighandler);
+      old_ttin = set_signal_handler (SIGTTIN, sigstop_sighandler);
+      old_ttou = set_signal_handler (SIGTTOU, sigstop_sighandler);
+    }
+  /* Leave these things alone for non-interactive shells without job
+     control. */
+}
+
+/* Here we handle CONT signals. */
+static sighandler
+sigcont_sighandler (sig)
+     int sig;
+{
+  initialize_job_signals ();
+  set_signal_handler (SIGCONT, old_cont);
+  kill (getpid (), SIGCONT);
+
+  SIGRETURN (0);
+}
+
+/* Here we handle stop signals while we are running not as a login shell. */
+static sighandler
+sigstop_sighandler (sig)
+     int sig;
+{
+  set_signal_handler (SIGTSTP, old_tstp);
+  set_signal_handler (SIGTTOU, old_ttou);
+  set_signal_handler (SIGTTIN, old_ttin);
+
+  old_cont = set_signal_handler (SIGCONT, sigcont_sighandler);
+
+  give_terminal_to (shell_pgrp, 0);
+
+  kill (getpid (), sig);
+
+  SIGRETURN (0);
+}
+
+/* Give the terminal to PGRP.  */
+int
+give_terminal_to (pgrp, force)
+     pid_t pgrp;
+     int force;
+{
+  sigset_t set, oset;
+  int r;
+
+  r = 0;
+  if (job_control || force)
+    {
+      sigemptyset (&set);
+      sigaddset (&set, SIGTTOU);
+      sigaddset (&set, SIGTTIN);
+      sigaddset (&set, SIGTSTP);
+      sigaddset (&set, SIGCHLD);
+      sigemptyset (&oset);
+      sigprocmask (SIG_BLOCK, &set, &oset);
+
+      if (tcsetpgrp (shell_tty, pgrp) < 0)
+       {
+         /* Maybe we should print an error message? */
+#if 0
+         sys_error ("tcsetpgrp(%d) failed: pid %ld to pgrp %ld",
+           shell_tty, (long)getpid(), (long)pgrp);
+#endif
+         r = -1;
+       }
+      else
+       terminal_pgrp = pgrp;
+      sigprocmask (SIG_SETMASK, &oset, (sigset_t *)NULL);
+    }
+
+  return r;
+}
+
+/* Clear out any jobs in the job array.  This is intended to be used by
+   children of the shell, who should not have any job structures as baggage
+   when they start executing (forking subshells for parenthesized execution
+   and functions with pipes are the two that spring to mind).  If RUNNING_ONLY
+   is nonzero, only running jobs are removed from the table. */
+void
+delete_all_jobs (running_only)
+     int running_only;
+{
+  register int i;
+  sigset_t set, oset;
+
+  BLOCK_CHILD (set, oset);
+
+  /* XXX - need to set j_lastj, j_firstj appropriately if running_only != 0. */
+  if (js.j_jobslots)
+    {
+      js.j_current = js.j_previous = NO_JOB;
+
+      /* XXX could use js.j_firstj here */
+      for (i = 0; i < js.j_jobslots; i++)
+       {
+#if defined (DEBUG)
+         if (i < js.j_firstj && jobs[i])
+           itrace("delete_all_jobs: job %d non-null before js.j_firstj (%d)", i, js.j_firstj);
+#endif
+         if (jobs[i] && (running_only == 0 || (running_only && RUNNING(i))))
+           delete_job (i, 1);
+       }
+      if (running_only == 0)
+       {
+         free ((char *)jobs);
+         js.j_jobslots = 0;
+         js.j_firstj = js.j_lastj = js.j_njobs = 0;
+       }
+    }
+
+  if (running_only == 0)
+    bgp_clear ();
+
+  UNBLOCK_CHILD (oset);
+}
+
+/* Mark all jobs in the job array so that they don't get a SIGHUP when the
+   shell gets one.  If RUNNING_ONLY is nonzero, mark only running jobs. */
+void
+nohup_all_jobs (running_only)
+     int running_only;
+{
+  register int i;
+  sigset_t set, oset;
+
+  BLOCK_CHILD (set, oset);
+
+  if (js.j_jobslots)
+    {
+      /* XXX could use js.j_firstj here */
+      for (i = 0; i < js.j_jobslots; i++)
+       if (jobs[i] && (running_only == 0 || (running_only && RUNNING(i))))
+         nohup_job (i);
+    }
+
+  UNBLOCK_CHILD (oset);
+}
+
+int
+count_all_jobs ()
+{
+  int i, n;
+  sigset_t set, oset;
+
+  /* This really counts all non-dead jobs. */
+  BLOCK_CHILD (set, oset);
+  /* XXX could use js.j_firstj here */
+  for (i = n = 0; i < js.j_jobslots; i++)
+    {
+#if defined (DEBUG)
+      if (i < js.j_firstj && jobs[i])
+       itrace("count_all_jobs: job %d non-null before js.j_firstj (%d)", i, js.j_firstj);
+#endif
+      if (jobs[i] && DEADJOB(i) == 0)
+       n++;
+    }
+  UNBLOCK_CHILD (oset);
+  return n;
+}
+
+static void
+mark_all_jobs_as_dead ()
+{
+  register int i;
+  sigset_t set, oset;
+
+  if (js.j_jobslots == 0)
+    return;
+
+  BLOCK_CHILD (set, oset);
+
+  /* XXX could use js.j_firstj here */
+  for (i = 0; i < js.j_jobslots; i++)
+    if (jobs[i])
+      {
+       jobs[i]->state = JDEAD;
+       js.j_ndead++;
+      }
+
+  UNBLOCK_CHILD (oset);
+}
+
+/* Mark all dead jobs as notified, so delete_job () cleans them out
+   of the job table properly.  POSIX.2 says we need to save the
+   status of the last CHILD_MAX jobs, so we count the number of dead
+   jobs and mark only enough as notified to save CHILD_MAX statuses. */
+static void
+mark_dead_jobs_as_notified (force)
+     int force;
+{
+  register int i, ndead, ndeadproc;
+  sigset_t set, oset;
+
+  if (js.j_jobslots == 0)
+    return;
+
+  BLOCK_CHILD (set, oset);
+
+  /* If FORCE is non-zero, we don't have to keep CHILD_MAX statuses
+     around; just run through the array. */
+  if (force)
+    {
+    /* XXX could use js.j_firstj here */
+      for (i = 0; i < js.j_jobslots; i++)
+       {
+         if (jobs[i] && DEADJOB (i) && (interactive_shell || (find_last_pid (i, 0) != last_asynchronous_pid)))
+           jobs[i]->flags |= J_NOTIFIED;
+       }
+      UNBLOCK_CHILD (oset);
+      return;
+    }
+
+  /* Mark enough dead jobs as notified to keep CHILD_MAX processes left in the
+     array with the corresponding not marked as notified.  This is a better
+     way to avoid pid aliasing and reuse problems than keeping the POSIX-
+     mandated CHILD_MAX jobs around.  delete_job() takes care of keeping the
+     bgpids list regulated. */
+          
+  /* Count the number of dead jobs */
+  /* XXX could use js.j_firstj here */
+  for (i = ndead = ndeadproc = 0; i < js.j_jobslots; i++)
+    {
+#if defined (DEBUG)
+      if (i < js.j_firstj && jobs[i])
+       itrace("mark_dead_jobs_as_notified: job %d non-null before js.j_firstj (%d)", i, js.j_firstj);
+#endif
+      if (jobs[i] && DEADJOB (i))
+       {
+         ndead++;
+         ndeadproc += processes_in_job (i);
+       }
+    }
+
+#ifdef DEBUG
+  if (ndeadproc != js.c_reaped)
+    itrace("mark_dead_jobs_as_notified: ndeadproc (%d) != js.c_reaped (%d)", ndeadproc, js.c_reaped);
+  if (ndead != js.j_ndead)
+    itrace("mark_dead_jobs_as_notified: ndead (%d) != js.j_ndead (%d)", ndead, js.j_ndead);
+#endif
+
+  if (js.c_childmax < 0)
+    js.c_childmax = getmaxchild ();
+  if (js.c_childmax < 0)
+    js.c_childmax = DEFAULT_CHILD_MAX;
+
+  /* Don't do anything if the number of dead processes is less than CHILD_MAX
+     and we're not forcing a cleanup. */
+  if (ndeadproc <= js.c_childmax)
+    {
+      UNBLOCK_CHILD (oset);
+      return;
+    }
+
+#if 0
+itrace("mark_dead_jobs_as_notified: child_max = %d ndead = %d ndeadproc = %d", js.c_childmax, ndead, ndeadproc);
+#endif
+
+  /* Mark enough dead jobs as notified that we keep CHILD_MAX jobs in
+     the list.  This isn't exactly right yet; changes need to be made
+     to stop_pipeline so we don't mark the newer jobs after we've
+     created CHILD_MAX slots in the jobs array.  This needs to be
+     integrated with a way to keep the jobs array from growing without
+     bound.  Maybe we wrap back around to 0 after we reach some max
+     limit, and there are sufficient job slots free (keep track of total
+     size of jobs array (js.j_jobslots) and running count of number of jobs
+     in jobs array.  Then keep a job index corresponding to the `oldest job'
+     and start this loop there, wrapping around as necessary.  In effect,
+     we turn the list into a circular buffer. */
+  /* XXX could use js.j_firstj here */
+  for (i = 0; i < js.j_jobslots; i++)
+    {
+      if (jobs[i] && DEADJOB (i) && (interactive_shell || (find_last_pid (i, 0) != last_asynchronous_pid)))
+       {
+#if defined (DEBUG)
+         if (i < js.j_firstj && jobs[i])
+           itrace("mark_dead_jobs_as_notified: job %d non-null before js.j_firstj (%d)", i, js.j_firstj);
+#endif
+         /* If marking this job as notified would drop us down below
+            child_max, don't mark it so we can keep at least child_max
+            statuses.  XXX -- need to check what Posix actually says
+            about keeping statuses. */
+         if ((ndeadproc -= processes_in_job (i)) <= js.c_childmax)
+           break;
+         jobs[i]->flags |= J_NOTIFIED;
+       }
+    }
+
+  UNBLOCK_CHILD (oset);
+}
+
+/* Here to allow other parts of the shell (like the trap stuff) to
+   unfreeze the jobs list. */
+void
+unfreeze_jobs_list ()
+{
+  jobs_list_frozen = 0;
+}
+
+/* Allow or disallow job control to take place.  Returns the old value
+   of job_control. */
+int
+set_job_control (arg)
+     int arg;
+{
+  int old;
+
+  old = job_control;
+  job_control = arg;
+
+  /* If we're turning on job control, reset pipeline_pgrp so make_child will
+     put new child processes into the right pgrp */
+  if (job_control != old && job_control)
+    pipeline_pgrp = 0;
+
+  return (old);
+}
+
+/* Turn off all traces of job control.  This is run by children of the shell
+   which are going to do shellsy things, like wait (), etc. */
+void
+without_job_control ()
+{
+  stop_making_children ();
+  start_pipeline ();
+#if defined (PGRP_PIPE)
+  pipe_close (pgrp_pipe);
+#endif
+  delete_all_jobs (0);
+  set_job_control (0);
+}
+
+/* If this shell is interactive, terminate all stopped jobs and
+   restore the original terminal process group.  This is done
+   before the `exec' builtin calls shell_execve. */
+void
+end_job_control ()
+{
+  if (interactive_shell)               /* XXX - should it be interactive? */
+    {
+      terminate_stopped_jobs ();
+
+      if (original_pgrp >= 0)
+       give_terminal_to (original_pgrp, 1);
+    }
+
+  if (original_pgrp >= 0)
+    setpgid (0, original_pgrp);
+}
+
+/* Restart job control by closing shell tty and reinitializing.  This is
+   called after an exec fails in an interactive shell and we do not exit. */
+void
+restart_job_control ()
+{
+  if (shell_tty != -1)
+    close (shell_tty);
+  initialize_job_control (0);
+}
+
+/* Set the handler to run when the shell receives a SIGCHLD signal. */
+void
+set_sigchld_handler ()
+{
+  set_signal_handler (SIGCHLD, sigchld_handler);
+}
+
+#if defined (PGRP_PIPE)
+/* Read from the read end of a pipe.  This is how the process group leader
+   blocks until all of the processes in a pipeline have been made. */
+static void
+pipe_read (pp)
+     int *pp;
+{
+  char ch;
+
+  if (pp[1] >= 0)
+    {
+      close (pp[1]);
+      pp[1] = -1;
+    }
+
+  if (pp[0] >= 0)
+    {
+      while (read (pp[0], &ch, 1) == -1 && errno == EINTR)
+       ;
+    }
+}
+
+/* Close the read and write ends of PP, an array of file descriptors. */
+static void
+pipe_close (pp)
+     int *pp;
+{
+  if (pp[0] >= 0)
+    close (pp[0]);
+
+  if (pp[1] >= 0)
+    close (pp[1]);
+
+  pp[0] = pp[1] = -1;
+}
+
+/* Functional interface closes our local-to-job-control pipes. */
+void
+close_pgrp_pipe ()
+{
+  pipe_close (pgrp_pipe);
+}
+
+#endif /* PGRP_PIPE */
index 8db8209..2a6d646 100644 (file)
@@ -1,6 +1,6 @@
 /* bind.c -- key binding and startup file support for the readline library. */
 
-/* Copyright (C) 1987, 1989, 1992 Free Software Foundation, Inc.
+/* Copyright (C) 1987-2005 Free Software Foundation, Inc.
 
    This file is part of the GNU Readline Library, a library for
    reading lines of text with interactive input and history editing.
@@ -77,6 +77,7 @@ static char *_rl_read_file PARAMS((char *, size_t *));
 static void _rl_init_file_error PARAMS((const char *));
 static int _rl_read_init_file PARAMS((const char *, int));
 static int glean_key_from_name PARAMS((char *));
+static char *_rl_get_string_variable_value PARAMS((const char *));
 static int substring_member_of_array PARAMS((char *, const char **));
 
 static int currently_reading_init_file;
@@ -341,7 +342,7 @@ rl_generic_bind (type, keyseq, data, map)
   k.function = 0;
 
   /* If no keys to bind to, exit right away. */
-  if (!keyseq || !*keyseq)
+  if (keyseq == 0 || *keyseq == 0)
     {
       if (type == ISMACR)
        free (data);
@@ -1492,6 +1493,27 @@ bool_to_int (value)
                (value[0] == '1' && value[1] == '\0'));
 }
 
+char *
+rl_variable_value (name)
+     const char *name;
+{
+  register int i;
+  int  v;
+  char *ret;
+
+  /* Check for simple variables first. */
+  i = find_boolean_var (name);
+  if (i >= 0)
+    return (*boolean_varlist[i].value ? "on" : "off");
+
+  i = find_string_var (name);
+  if (i >= 0)
+    return (_rl_get_string_variable_value (string_varlist[i].name));
+
+  /* Unknown variable names return NULL. */
+  return 0;
+}
+
 int
 rl_variable_bind (name, value)
      const char *name, *value;
@@ -2134,12 +2156,68 @@ rl_dump_macros (count, key)
   return (0);
 }
 
+static char *
+_rl_get_string_variable_value (name)
+     const char *name;
+{
+  static char numbuf[32];
+  char *ret;
+  int n;
+
+  if (_rl_stricmp (name, "bell-style") == 0)
+    {
+      switch (_rl_bell_preference)
+       {
+         case NO_BELL:
+           return "none";
+         case VISIBLE_BELL:
+           return "visible";
+         case AUDIBLE_BELL:
+         default:
+           return "audible";
+       }
+    }
+  else if (_rl_stricmp (name, "comment-begin") == 0)
+    return (_rl_comment_begin ? _rl_comment_begin : RL_COMMENT_BEGIN_DEFAULT);
+  else if (_rl_stricmp (name, "completion-query-items") == 0)
+    {
+      sprintf (numbuf, "%d", rl_completion_query_items);
+      return (numbuf);
+    }
+  else if (_rl_stricmp (name, "editing-mode") == 0)
+    return (rl_get_keymap_name_from_edit_mode ());
+  else if (_rl_stricmp (name, "isearch-terminators") == 0)
+    {
+      if (_rl_isearch_terminators == 0)
+       return 0;
+      ret = _rl_untranslate_macro_value (_rl_isearch_terminators);
+      if (ret)
+       {
+         strncpy (numbuf, ret, sizeof (numbuf) - 1);
+         free (ret);
+         numbuf[sizeof(numbuf) - 1] = '\0';
+       }
+      else
+       numbuf[0] = '\0';
+      return numbuf;
+    }
+  else if (_rl_stricmp (name, "keymap") == 0)
+    {
+      ret = rl_get_keymap_name (_rl_keymap);
+      if (ret == 0)
+       ret = rl_get_keymap_name_from_edit_mode ();
+      return (ret ? ret : "none");
+    }
+  else
+    return (0);
+}
+
 void
 rl_variable_dumper (print_readably)
      int print_readably;
 {
   int i;
-  const char *kname;
+  char *v;
 
   for (i = 0; boolean_varlist[i].name; i++)
     {
@@ -2151,63 +2229,16 @@ rl_variable_dumper (print_readably)
                               *boolean_varlist[i].value ? "on" : "off");
     }
 
-  /* bell-style */
-  switch (_rl_bell_preference)
-    {
-    case NO_BELL:
-      kname = "none"; break;
-    case VISIBLE_BELL:
-      kname = "visible"; break;
-    case AUDIBLE_BELL:
-    default:
-      kname = "audible"; break;
-    }
-  if (print_readably)
-    fprintf (rl_outstream, "set bell-style %s\n", kname);
-  else
-    fprintf (rl_outstream, "bell-style is set to `%s'\n", kname);
-
-  /* comment-begin */
-  if (print_readably)
-    fprintf (rl_outstream, "set comment-begin %s\n", _rl_comment_begin ? _rl_comment_begin : RL_COMMENT_BEGIN_DEFAULT);
-  else
-    fprintf (rl_outstream, "comment-begin is set to `%s'\n", _rl_comment_begin ? _rl_comment_begin : RL_COMMENT_BEGIN_DEFAULT);
-
-  /* completion-query-items */
-  if (print_readably)
-    fprintf (rl_outstream, "set completion-query-items %d\n", rl_completion_query_items);
-  else
-    fprintf (rl_outstream, "completion-query-items is set to `%d'\n", rl_completion_query_items);
-
-  /* editing-mode */
-  if (print_readably)
-    fprintf (rl_outstream, "set editing-mode %s\n", (rl_editing_mode == emacs_mode) ? "emacs" : "vi");
-  else
-    fprintf (rl_outstream, "editing-mode is set to `%s'\n", (rl_editing_mode == emacs_mode) ? "emacs" : "vi");
-
-  /* isearch-terminators */
-  if (_rl_isearch_terminators)
+  for (i = 0; string_varlist[i].name; i++)
     {
-      char *disp;
-
-      disp = _rl_untranslate_macro_value (_rl_isearch_terminators);
-
+      v = _rl_get_string_variable_value (string_varlist[i].name);
+      if (v == 0)      /* _rl_isearch_terminators can be NULL */
+       continue;
       if (print_readably)
-       fprintf (rl_outstream, "set isearch-terminators \"%s\"\n", disp);
+        fprintf (rl_outstream, "set %s %s\n", string_varlist[i].name, v);
       else
-       fprintf (rl_outstream, "isearch-terminators is set to \"%s\"\n", disp);
-
-      free (disp);
+        fprintf (rl_outstream, "%s is set to `%s'\n", string_varlist[i].name, v);
     }
-
-  /* keymap */
-  kname = rl_get_keymap_name (_rl_keymap);
-  if (kname == 0)
-    kname = rl_get_keymap_name_from_edit_mode ();
-  if (print_readably)
-    fprintf (rl_outstream, "set keymap %s\n", kname ? kname : "none");
-  else
-    fprintf (rl_outstream, "keymap is set to `%s'\n", kname ? kname : "none");
 }
 
 /* Print all of the current variables and their values to
diff --git a/lib/readline/bind.c.save b/lib/readline/bind.c.save
new file mode 100644 (file)
index 0000000..8db8209
--- /dev/null
@@ -0,0 +1,2240 @@
+/* bind.c -- key binding and startup file support for the readline library. */
+
+/* Copyright (C) 1987, 1989, 1992 Free Software Foundation, Inc.
+
+   This file is part of the GNU Readline Library, a library for
+   reading lines of text with interactive input and history editing.
+
+   The GNU Readline Library is free software; you can redistribute it
+   and/or modify it under the terms of the GNU General Public License
+   as published by the Free Software Foundation; either version 2, or
+   (at your option) any later version.
+
+   The GNU Readline Library is distributed in the hope that it will be
+   useful, but WITHOUT ANY WARRANTY; without even the implied warranty
+   of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   The GNU General Public License is often shipped with GNU software, and
+   is generally kept in a file called COPYING or LICENSE.  If you do not
+   have a copy of the license, write to the Free Software Foundation,
+   59 Temple Place, Suite 330, Boston, MA 02111 USA. */
+
+#define READLINE_LIBRARY
+
+#if defined (__TANDEM)
+#  include <floss.h>
+#endif
+
+#if defined (HAVE_CONFIG_H)
+#  include <config.h>
+#endif
+
+#include <stdio.h>
+#include <sys/types.h>
+#include <fcntl.h>
+#if defined (HAVE_SYS_FILE_H)
+#  include <sys/file.h>
+#endif /* HAVE_SYS_FILE_H */
+
+#if defined (HAVE_UNISTD_H)
+#  include <unistd.h>
+#endif /* HAVE_UNISTD_H */
+
+#if defined (HAVE_STDLIB_H)
+#  include <stdlib.h>
+#else
+#  include "ansi_stdlib.h"
+#endif /* HAVE_STDLIB_H */
+
+#include <errno.h>
+
+#if !defined (errno)
+extern int errno;
+#endif /* !errno */
+
+#include "posixstat.h"
+
+/* System-specific feature definitions and include files. */
+#include "rldefs.h"
+
+/* Some standard library routines. */
+#include "readline.h"
+#include "history.h"
+
+#include "rlprivate.h"
+#include "rlshell.h"
+#include "xmalloc.h"
+
+#if !defined (strchr) && !defined (__STDC__)
+extern char *strchr (), *strrchr ();
+#endif /* !strchr && !__STDC__ */
+
+/* Variables exported by this file. */
+Keymap rl_binding_keymap;
+
+static char *_rl_read_file PARAMS((char *, size_t *));
+static void _rl_init_file_error PARAMS((const char *));
+static int _rl_read_init_file PARAMS((const char *, int));
+static int glean_key_from_name PARAMS((char *));
+static int substring_member_of_array PARAMS((char *, const char **));
+
+static int currently_reading_init_file;
+
+/* used only in this file */
+static int _rl_prefer_visible_bell = 1;
+
+/* **************************************************************** */
+/*                                                                 */
+/*                     Binding keys                                */
+/*                                                                 */
+/* **************************************************************** */
+
+/* rl_add_defun (char *name, rl_command_func_t *function, int key)
+   Add NAME to the list of named functions.  Make FUNCTION be the function
+   that gets called.  If KEY is not -1, then bind it. */
+int
+rl_add_defun (name, function, key)
+     const char *name;
+     rl_command_func_t *function;
+     int key;
+{
+  if (key != -1)
+    rl_bind_key (key, function);
+  rl_add_funmap_entry (name, function);
+  return 0;
+}
+
+/* Bind KEY to FUNCTION.  Returns non-zero if KEY is out of range. */
+int
+rl_bind_key (key, function)
+     int key;
+     rl_command_func_t *function;
+{
+  if (key < 0)
+    return (key);
+
+  if (META_CHAR (key) && _rl_convert_meta_chars_to_ascii)
+    {
+      if (_rl_keymap[ESC].type == ISKMAP)
+       {
+         Keymap escmap;
+
+         escmap = FUNCTION_TO_KEYMAP (_rl_keymap, ESC);
+         key = UNMETA (key);
+         escmap[key].type = ISFUNC;
+         escmap[key].function = function;
+         return (0);
+       }
+      return (key);
+    }
+
+  _rl_keymap[key].type = ISFUNC;
+  _rl_keymap[key].function = function;
+  rl_binding_keymap = _rl_keymap;
+  return (0);
+}
+
+/* Bind KEY to FUNCTION in MAP.  Returns non-zero in case of invalid
+   KEY. */
+int
+rl_bind_key_in_map (key, function, map)
+     int key;
+     rl_command_func_t *function;
+     Keymap map;
+{
+  int result;
+  Keymap oldmap;
+
+  oldmap = _rl_keymap;
+  _rl_keymap = map;
+  result = rl_bind_key (key, function);
+  _rl_keymap = oldmap;
+  return (result);
+}
+
+/* Bind key sequence KEYSEQ to DEFAULT_FUNC if KEYSEQ is unbound.  Right
+   now, this is always used to attempt to bind the arrow keys, hence the
+   check for rl_vi_movement_mode. */
+int
+rl_bind_key_if_unbound_in_map (key, default_func, kmap)
+     int key;
+     rl_command_func_t *default_func;
+     Keymap kmap;
+{
+  char keyseq[2];
+
+  keyseq[0] = (unsigned char)key;
+  keyseq[1] = '\0';
+  return (rl_bind_keyseq_if_unbound_in_map (keyseq, default_func, kmap));
+}
+
+int
+rl_bind_key_if_unbound (key, default_func)
+     int key;
+     rl_command_func_t *default_func;
+{
+  char keyseq[2];
+
+  keyseq[0] = (unsigned char)key;
+  keyseq[1] = '\0';
+  return (rl_bind_keyseq_if_unbound_in_map (keyseq, default_func, _rl_keymap));
+}
+
+/* Make KEY do nothing in the currently selected keymap.
+   Returns non-zero in case of error. */
+int
+rl_unbind_key (key)
+     int key;
+{
+  return (rl_bind_key (key, (rl_command_func_t *)NULL));
+}
+
+/* Make KEY do nothing in MAP.
+   Returns non-zero in case of error. */
+int
+rl_unbind_key_in_map (key, map)
+     int key;
+     Keymap map;
+{
+  return (rl_bind_key_in_map (key, (rl_command_func_t *)NULL, map));
+}
+
+/* Unbind all keys bound to FUNCTION in MAP. */
+int
+rl_unbind_function_in_map (func, map)
+     rl_command_func_t *func;
+     Keymap map;
+{
+  register int i, rval;
+
+  for (i = rval = 0; i < KEYMAP_SIZE; i++)
+    {
+      if (map[i].type == ISFUNC && map[i].function == func)
+       {
+         map[i].function = (rl_command_func_t *)NULL;
+         rval = 1;
+       }
+    }
+  return rval;
+}
+
+int
+rl_unbind_command_in_map (command, map)
+     const char *command;
+     Keymap map;
+{
+  rl_command_func_t *func;
+
+  func = rl_named_function (command);
+  if (func == 0)
+    return 0;
+  return (rl_unbind_function_in_map (func, map));
+}
+
+/* Bind the key sequence represented by the string KEYSEQ to
+   FUNCTION, starting in the current keymap.  This makes new
+   keymaps as necessary. */
+int
+rl_bind_keyseq (keyseq, function)
+     const char *keyseq;
+     rl_command_func_t *function;
+{
+  return (rl_generic_bind (ISFUNC, keyseq, (char *)function, _rl_keymap));
+}
+
+/* Bind the key sequence represented by the string KEYSEQ to
+   FUNCTION.  This makes new keymaps as necessary.  The initial
+   place to do bindings is in MAP. */
+int
+rl_bind_keyseq_in_map (keyseq, function, map)
+     const char *keyseq;
+     rl_command_func_t *function;
+     Keymap map;
+{
+  return (rl_generic_bind (ISFUNC, keyseq, (char *)function, map));
+}
+
+/* Backwards compatibility; equivalent to rl_bind_keyseq_in_map() */
+int
+rl_set_key (keyseq, function, map)
+     const char *keyseq;
+     rl_command_func_t *function;
+     Keymap map;
+{
+  return (rl_generic_bind (ISFUNC, keyseq, (char *)function, map));
+}
+
+/* Bind key sequence KEYSEQ to DEFAULT_FUNC if KEYSEQ is unbound.  Right
+   now, this is always used to attempt to bind the arrow keys, hence the
+   check for rl_vi_movement_mode. */
+int
+rl_bind_keyseq_if_unbound_in_map (keyseq, default_func, kmap)
+     const char *keyseq;
+     rl_command_func_t *default_func;
+     Keymap kmap;
+{
+  rl_command_func_t *func;
+
+  if (keyseq)
+    {
+      func = rl_function_of_keyseq (keyseq, kmap, (int *)NULL);
+#if defined (VI_MODE)
+      if (!func || func == rl_do_lowercase_version || func == rl_vi_movement_mode)
+#else
+      if (!func || func == rl_do_lowercase_version)
+#endif
+       return (rl_bind_keyseq_in_map (keyseq, default_func, kmap));
+      else
+       return 1;
+    }
+  return 0;
+}
+
+int
+rl_bind_keyseq_if_unbound (keyseq, default_func)
+     const char *keyseq;
+     rl_command_func_t *default_func;
+{
+  return (rl_bind_keyseq_if_unbound_in_map (keyseq, default_func, _rl_keymap));
+}
+
+/* Bind the key sequence represented by the string KEYSEQ to
+   the string of characters MACRO.  This makes new keymaps as
+   necessary.  The initial place to do bindings is in MAP. */
+int
+rl_macro_bind (keyseq, macro, map)
+     const char *keyseq, *macro;
+     Keymap map;
+{
+  char *macro_keys;
+  int macro_keys_len;
+
+  macro_keys = (char *)xmalloc ((2 * strlen (macro)) + 1);
+
+  if (rl_translate_keyseq (macro, macro_keys, &macro_keys_len))
+    {
+      free (macro_keys);
+      return -1;
+    }
+  rl_generic_bind (ISMACR, keyseq, macro_keys, map);
+  return 0;
+}
+
+/* Bind the key sequence represented by the string KEYSEQ to
+   the arbitrary pointer DATA.  TYPE says what kind of data is
+   pointed to by DATA, right now this can be a function (ISFUNC),
+   a macro (ISMACR), or a keymap (ISKMAP).  This makes new keymaps
+   as necessary.  The initial place to do bindings is in MAP. */
+int
+rl_generic_bind (type, keyseq, data, map)
+     int type;
+     const char *keyseq;
+     char *data;
+     Keymap map;
+{
+  char *keys;
+  int keys_len;
+  register int i;
+  KEYMAP_ENTRY k;
+
+  k.function = 0;
+
+  /* If no keys to bind to, exit right away. */
+  if (!keyseq || !*keyseq)
+    {
+      if (type == ISMACR)
+       free (data);
+      return -1;
+    }
+
+  keys = (char *)xmalloc (1 + (2 * strlen (keyseq)));
+
+  /* Translate the ASCII representation of KEYSEQ into an array of
+     characters.  Stuff the characters into KEYS, and the length of
+     KEYS into KEYS_LEN. */
+  if (rl_translate_keyseq (keyseq, keys, &keys_len))
+    {
+      free (keys);
+      return -1;
+    }
+
+  /* Bind keys, making new keymaps as necessary. */
+  for (i = 0; i < keys_len; i++)
+    {
+      unsigned char uc = keys[i];
+      int ic;
+
+      ic = uc;
+      if (ic < 0 || ic >= KEYMAP_SIZE)
+       return -1;
+
+      if (META_CHAR (ic) && _rl_convert_meta_chars_to_ascii)
+       {
+         ic = UNMETA (ic);
+         if (map[ESC].type == ISKMAP)
+           map = FUNCTION_TO_KEYMAP (map, ESC);
+       }
+
+      if ((i + 1) < keys_len)
+       {
+         if (map[ic].type != ISKMAP)
+           {
+             /* We allow subsequences of keys.  If a keymap is being
+                created that will `shadow' an existing function or macro
+                key binding, we save that keybinding into the ANYOTHERKEY
+                index in the new map.  The dispatch code will look there
+                to find the function to execute if the subsequence is not
+                matched.  ANYOTHERKEY was chosen to be greater than
+                UCHAR_MAX. */
+             k = map[ic];
+
+             map[ic].type = ISKMAP;
+             map[ic].function = KEYMAP_TO_FUNCTION (rl_make_bare_keymap());
+           }
+         map = FUNCTION_TO_KEYMAP (map, ic);
+         /* The dispatch code will return this function if no matching
+            key sequence is found in the keymap.  This (with a little
+            help from the dispatch code in readline.c) allows `a' to be
+            mapped to something, `abc' to be mapped to something else,
+            and the function bound  to `a' to be executed when the user
+            types `abx', leaving `bx' in the input queue. */
+         if (k.function && ((k.type == ISFUNC && k.function != rl_do_lowercase_version) || k.type == ISMACR))
+           {
+             map[ANYOTHERKEY] = k;
+             k.function = 0;
+           }
+       }
+      else
+       {
+         if (map[ic].type == ISMACR)
+           free ((char *)map[ic].function);
+         else if (map[ic].type == ISKMAP)
+           {
+             map = FUNCTION_TO_KEYMAP (map, ic);
+             ic = ANYOTHERKEY;
+           }
+
+         map[ic].function = KEYMAP_TO_FUNCTION (data);
+         map[ic].type = type;
+       }
+
+      rl_binding_keymap = map;
+    }
+  free (keys);
+  return 0;
+}
+
+/* Translate the ASCII representation of SEQ, stuffing the values into ARRAY,
+   an array of characters.  LEN gets the final length of ARRAY.  Return
+   non-zero if there was an error parsing SEQ. */
+int
+rl_translate_keyseq (seq, array, len)
+     const char *seq;
+     char *array;
+     int *len;
+{
+  register int i, c, l, temp;
+
+  for (i = l = 0; c = seq[i]; i++)
+    {
+      if (c == '\\')
+       {
+         c = seq[++i];
+
+         if (c == 0)
+           break;
+
+         /* Handle \C- and \M- prefixes. */
+         if ((c == 'C' || c == 'M') && seq[i + 1] == '-')
+           {
+             /* Handle special case of backwards define. */
+             if (strncmp (&seq[i], "C-\\M-", 5) == 0)
+               {
+                 array[l++] = ESC;     /* ESC is meta-prefix */
+                 i += 5;
+                 array[l++] = CTRL (_rl_to_upper (seq[i]));
+                 if (seq[i] == '\0')
+                   i--;
+               }
+             else if (c == 'M')
+               {
+                 i++;
+                 /* XXX - should obey convert-meta setting? */
+                 if (_rl_convert_meta_chars_to_ascii && _rl_keymap[ESC].type == ISKMAP)
+                   array[l++] = ESC;   /* ESC is meta-prefix */
+                 else
+                   {
+                     i++;
+                     array[l++] = META (seq[i]);
+                   }
+               }
+             else if (c == 'C')
+               {
+                 i += 2;
+                 /* Special hack for C-?... */
+                 array[l++] = (seq[i] == '?') ? RUBOUT : CTRL (_rl_to_upper (seq[i]));
+               }
+             continue;
+           }         
+
+         /* Translate other backslash-escaped characters.  These are the
+            same escape sequences that bash's `echo' and `printf' builtins
+            handle, with the addition of \d -> RUBOUT.  A backslash
+            preceding a character that is not special is stripped. */
+         switch (c)
+           {
+           case 'a':
+             array[l++] = '\007';
+             break;
+           case 'b':
+             array[l++] = '\b';
+             break;
+           case 'd':
+             array[l++] = RUBOUT;      /* readline-specific */
+             break;
+           case 'e':
+             array[l++] = ESC;
+             break;
+           case 'f':
+             array[l++] = '\f';
+             break;
+           case 'n':
+             array[l++] = NEWLINE;
+             break;
+           case 'r':
+             array[l++] = RETURN;
+             break;
+           case 't':
+             array[l++] = TAB;
+             break;
+           case 'v':
+             array[l++] = 0x0B;
+             break;
+           case '\\':
+             array[l++] = '\\';
+             break;
+           case '0': case '1': case '2': case '3':
+           case '4': case '5': case '6': case '7':
+             i++;
+             for (temp = 2, c -= '0'; ISOCTAL (seq[i]) && temp--; i++)
+               c = (c * 8) + OCTVALUE (seq[i]);
+             i--;      /* auto-increment in for loop */
+             array[l++] = c & largest_char;
+             break;
+           case 'x':
+             i++;
+             for (temp = 2, c = 0; ISXDIGIT ((unsigned char)seq[i]) && temp--; i++)
+               c = (c * 16) + HEXVALUE (seq[i]);
+             if (temp == 2)
+               c = 'x';
+             i--;      /* auto-increment in for loop */
+             array[l++] = c & largest_char;
+             break;
+           default:    /* backslashes before non-special chars just add the char */
+             array[l++] = c;
+             break;    /* the backslash is stripped */
+           }
+         continue;
+       }
+
+      array[l++] = c;
+    }
+
+  *len = l;
+  array[l] = '\0';
+  return (0);
+}
+
+char *
+rl_untranslate_keyseq (seq)
+     int seq;
+{
+  static char kseq[16];
+  int i, c;
+
+  i = 0;
+  c = seq;
+  if (META_CHAR (c))
+    {
+      kseq[i++] = '\\';
+      kseq[i++] = 'M';
+      kseq[i++] = '-';
+      c = UNMETA (c);
+    }
+  else if (CTRL_CHAR (c))
+    {
+      kseq[i++] = '\\';
+      kseq[i++] = 'C';
+      kseq[i++] = '-';
+      c = _rl_to_lower (UNCTRL (c));
+    }
+  else if (c == RUBOUT)
+    {
+      kseq[i++] = '\\';
+      kseq[i++] = 'C';
+      kseq[i++] = '-';
+      c = '?';
+    }
+
+  if (c == ESC)
+    {
+      kseq[i++] = '\\';
+      c = 'e';
+    }
+  else if (c == '\\' || c == '"')
+    {
+      kseq[i++] = '\\';
+    }
+
+  kseq[i++] = (unsigned char) c;
+  kseq[i] = '\0';
+  return kseq;
+}
+
+static char *
+_rl_untranslate_macro_value (seq)
+     char *seq;
+{
+  char *ret, *r, *s;
+  int c;
+
+  r = ret = (char *)xmalloc (7 * strlen (seq) + 1);
+  for (s = seq; *s; s++)
+    {
+      c = *s;
+      if (META_CHAR (c))
+       {
+         *r++ = '\\';
+         *r++ = 'M';
+         *r++ = '-';
+         c = UNMETA (c);
+       }
+      else if (CTRL_CHAR (c) && c != ESC)
+       {
+         *r++ = '\\';
+         *r++ = 'C';
+         *r++ = '-';
+         c = _rl_to_lower (UNCTRL (c));
+       }
+      else if (c == RUBOUT)
+       {
+         *r++ = '\\';
+         *r++ = 'C';
+         *r++ = '-';
+         c = '?';
+       }
+
+      if (c == ESC)
+       {
+         *r++ = '\\';
+         c = 'e';
+       }
+      else if (c == '\\' || c == '"')
+       *r++ = '\\';
+
+      *r++ = (unsigned char)c;
+    }
+  *r = '\0';
+  return ret;
+}
+
+/* Return a pointer to the function that STRING represents.
+   If STRING doesn't have a matching function, then a NULL pointer
+   is returned. */
+rl_command_func_t *
+rl_named_function (string)
+     const char *string;
+{
+  register int i;
+
+  rl_initialize_funmap ();
+
+  for (i = 0; funmap[i]; i++)
+    if (_rl_stricmp (funmap[i]->name, string) == 0)
+      return (funmap[i]->function);
+  return ((rl_command_func_t *)NULL);
+}
+
+/* Return the function (or macro) definition which would be invoked via
+   KEYSEQ if executed in MAP.  If MAP is NULL, then the current keymap is
+   used.  TYPE, if non-NULL, is a pointer to an int which will receive the
+   type of the object pointed to.  One of ISFUNC (function), ISKMAP (keymap),
+   or ISMACR (macro). */
+rl_command_func_t *
+rl_function_of_keyseq (keyseq, map, type)
+     const char *keyseq;
+     Keymap map;
+     int *type;
+{
+  register int i;
+
+  if (!map)
+    map = _rl_keymap;
+
+  for (i = 0; keyseq && keyseq[i]; i++)
+    {
+      unsigned char ic = keyseq[i];
+
+      if (META_CHAR (ic) && _rl_convert_meta_chars_to_ascii)
+       {
+         if (map[ESC].type != ISKMAP)
+           {
+             if (type)
+               *type = map[ESC].type;
+
+             return (map[ESC].function);
+           }
+         else
+           {
+             map = FUNCTION_TO_KEYMAP (map, ESC);
+             ic = UNMETA (ic);
+           }
+       }
+
+      if (map[ic].type == ISKMAP)
+       {
+         /* If this is the last key in the key sequence, return the
+            map. */
+         if (!keyseq[i + 1])
+           {
+             if (type)
+               *type = ISKMAP;
+
+             return (map[ic].function);
+           }
+         else
+           map = FUNCTION_TO_KEYMAP (map, ic);
+       }
+      else
+       {
+         if (type)
+           *type = map[ic].type;
+
+         return (map[ic].function);
+       }
+    }
+  return ((rl_command_func_t *) NULL);
+}
+
+/* The last key bindings file read. */
+static char *last_readline_init_file = (char *)NULL;
+
+/* The file we're currently reading key bindings from. */
+static const char *current_readline_init_file;
+static int current_readline_init_include_level;
+static int current_readline_init_lineno;
+
+/* Read FILENAME into a locally-allocated buffer and return the buffer.
+   The size of the buffer is returned in *SIZEP.  Returns NULL if any
+   errors were encountered. */
+static char *
+_rl_read_file (filename, sizep)
+     char *filename;
+     size_t *sizep;
+{
+  struct stat finfo;
+  size_t file_size;
+  char *buffer;
+  int i, file;
+
+  if ((stat (filename, &finfo) < 0) || (file = open (filename, O_RDONLY, 0666)) < 0)
+    return ((char *)NULL);
+
+  file_size = (size_t)finfo.st_size;
+
+  /* check for overflow on very large files */
+  if (file_size != finfo.st_size || file_size + 1 < file_size)
+    {
+      if (file >= 0)
+       close (file);
+#if defined (EFBIG)
+      errno = EFBIG;
+#endif
+      return ((char *)NULL);
+    }
+
+  /* Read the file into BUFFER. */
+  buffer = (char *)xmalloc (file_size + 1);
+  i = read (file, buffer, file_size);
+  close (file);
+
+  if (i < 0)
+    {
+      free (buffer);
+      return ((char *)NULL);
+    }
+
+  buffer[i] = '\0';
+  if (sizep)
+    *sizep = i;
+
+  return (buffer);
+}
+
+/* Re-read the current keybindings file. */
+int
+rl_re_read_init_file (count, ignore)
+     int count, ignore;
+{
+  int r;
+  r = rl_read_init_file ((const char *)NULL);
+  rl_set_keymap_from_edit_mode ();
+  return r;
+}
+
+/* Do key bindings from a file.  If FILENAME is NULL it defaults
+   to the first non-null filename from this list:
+     1. the filename used for the previous call
+     2. the value of the shell variable `INPUTRC'
+     3. ~/.inputrc
+   If the file existed and could be opened and read, 0 is returned,
+   otherwise errno is returned. */
+int
+rl_read_init_file (filename)
+     const char *filename;
+{
+  /* Default the filename. */
+  if (filename == 0)
+    {
+      filename = last_readline_init_file;
+      if (filename == 0)
+        filename = sh_get_env_value ("INPUTRC");
+      if (filename == 0)
+       filename = DEFAULT_INPUTRC;
+    }
+
+  if (*filename == 0)
+    filename = DEFAULT_INPUTRC;
+
+#if defined (__MSDOS__)
+  if (_rl_read_init_file (filename, 0) == 0)
+    return 0;
+  filename = "~/_inputrc";
+#endif
+  return (_rl_read_init_file (filename, 0));
+}
+
+static int
+_rl_read_init_file (filename, include_level)
+     const char *filename;
+     int include_level;
+{
+  register int i;
+  char *buffer, *openname, *line, *end;
+  size_t file_size;
+
+  current_readline_init_file = filename;
+  current_readline_init_include_level = include_level;
+
+  openname = tilde_expand (filename);
+  buffer = _rl_read_file (openname, &file_size);
+  free (openname);
+
+  if (buffer == 0)
+    return (errno);
+  
+  if (include_level == 0 && filename != last_readline_init_file)
+    {
+      FREE (last_readline_init_file);
+      last_readline_init_file = savestring (filename);
+    }
+
+  currently_reading_init_file = 1;
+
+  /* Loop over the lines in the file.  Lines that start with `#' are
+     comments; all other lines are commands for readline initialization. */
+  current_readline_init_lineno = 1;
+  line = buffer;
+  end = buffer + file_size;
+  while (line < end)
+    {
+      /* Find the end of this line. */
+      for (i = 0; line + i != end && line[i] != '\n'; i++);
+
+#if defined (__CYGWIN__)
+      /* ``Be liberal in what you accept.'' */
+      if (line[i] == '\n' && line[i-1] == '\r')
+       line[i - 1] = '\0';
+#endif
+
+      /* Mark end of line. */
+      line[i] = '\0';
+
+      /* Skip leading whitespace. */
+      while (*line && whitespace (*line))
+        {
+         line++;
+         i--;
+        }
+
+      /* If the line is not a comment, then parse it. */
+      if (*line && *line != '#')
+       rl_parse_and_bind (line);
+
+      /* Move to the next line. */
+      line += i + 1;
+      current_readline_init_lineno++;
+    }
+
+  free (buffer);
+  currently_reading_init_file = 0;
+  return (0);
+}
+
+static void
+_rl_init_file_error (msg)
+     const char *msg;
+{
+  if (currently_reading_init_file)
+    fprintf (stderr, "readline: %s: line %d: %s\n", current_readline_init_file,
+                    current_readline_init_lineno, msg);
+  else
+    fprintf (stderr, "readline: %s\n", msg);
+}
+
+/* **************************************************************** */
+/*                                                                 */
+/*                     Parser Directives                           */
+/*                                                                 */
+/* **************************************************************** */
+
+typedef int _rl_parser_func_t PARAMS((char *));
+
+/* Things that mean `Control'. */
+const char *_rl_possible_control_prefixes[] = {
+  "Control-", "C-", "CTRL-", (const char *)NULL
+};
+
+const char *_rl_possible_meta_prefixes[] = {
+  "Meta", "M-", (const char *)NULL
+};
+
+/* Conditionals. */
+
+/* Calling programs set this to have their argv[0]. */
+const char *rl_readline_name = "other";
+
+/* Stack of previous values of parsing_conditionalized_out. */
+static unsigned char *if_stack = (unsigned char *)NULL;
+static int if_stack_depth;
+static int if_stack_size;
+
+/* Push _rl_parsing_conditionalized_out, and set parser state based
+   on ARGS. */
+static int
+parser_if (args)
+     char *args;
+{
+  register int i;
+
+  /* Push parser state. */
+  if (if_stack_depth + 1 >= if_stack_size)
+    {
+      if (!if_stack)
+       if_stack = (unsigned char *)xmalloc (if_stack_size = 20);
+      else
+       if_stack = (unsigned char *)xrealloc (if_stack, if_stack_size += 20);
+    }
+  if_stack[if_stack_depth++] = _rl_parsing_conditionalized_out;
+
+  /* If parsing is turned off, then nothing can turn it back on except
+     for finding the matching endif.  In that case, return right now. */
+  if (_rl_parsing_conditionalized_out)
+    return 0;
+
+  /* Isolate first argument. */
+  for (i = 0; args[i] && !whitespace (args[i]); i++);
+
+  if (args[i])
+    args[i++] = '\0';
+
+  /* Handle "$if term=foo" and "$if mode=emacs" constructs.  If this
+     isn't term=foo, or mode=emacs, then check to see if the first
+     word in ARGS is the same as the value stored in rl_readline_name. */
+  if (rl_terminal_name && _rl_strnicmp (args, "term=", 5) == 0)
+    {
+      char *tem, *tname;
+
+      /* Terminals like "aaa-60" are equivalent to "aaa". */
+      tname = savestring (rl_terminal_name);
+      tem = strchr (tname, '-');
+      if (tem)
+       *tem = '\0';
+
+      /* Test the `long' and `short' forms of the terminal name so that
+        if someone has a `sun-cmd' and does not want to have bindings
+        that will be executed if the terminal is a `sun', they can put
+        `$if term=sun-cmd' into their .inputrc. */
+      _rl_parsing_conditionalized_out = _rl_stricmp (args + 5, tname) &&
+                                       _rl_stricmp (args + 5, rl_terminal_name);
+      free (tname);
+    }
+#if defined (VI_MODE)
+  else if (_rl_strnicmp (args, "mode=", 5) == 0)
+    {
+      int mode;
+
+      if (_rl_stricmp (args + 5, "emacs") == 0)
+       mode = emacs_mode;
+      else if (_rl_stricmp (args + 5, "vi") == 0)
+       mode = vi_mode;
+      else
+       mode = no_mode;
+
+      _rl_parsing_conditionalized_out = mode != rl_editing_mode;
+    }
+#endif /* VI_MODE */
+  /* Check to see if the first word in ARGS is the same as the
+     value stored in rl_readline_name. */
+  else if (_rl_stricmp (args, rl_readline_name) == 0)
+    _rl_parsing_conditionalized_out = 0;
+  else
+    _rl_parsing_conditionalized_out = 1;
+  return 0;
+}
+
+/* Invert the current parser state if there is anything on the stack. */
+static int
+parser_else (args)
+     char *args;
+{
+  register int i;
+
+  if (if_stack_depth == 0)
+    {
+      _rl_init_file_error ("$else found without matching $if");
+      return 0;
+    }
+
+#if 0
+  /* Check the previous (n - 1) levels of the stack to make sure that
+     we haven't previously turned off parsing. */
+  for (i = 0; i < if_stack_depth - 1; i++)
+#else
+  /* Check the previous (n) levels of the stack to make sure that
+     we haven't previously turned off parsing. */
+  for (i = 0; i < if_stack_depth; i++)
+#endif
+    if (if_stack[i] == 1)
+      return 0;
+
+  /* Invert the state of parsing if at top level. */
+  _rl_parsing_conditionalized_out = !_rl_parsing_conditionalized_out;
+  return 0;
+}
+
+/* Terminate a conditional, popping the value of
+   _rl_parsing_conditionalized_out from the stack. */
+static int
+parser_endif (args)
+     char *args;
+{
+  if (if_stack_depth)
+    _rl_parsing_conditionalized_out = if_stack[--if_stack_depth];
+  else
+    _rl_init_file_error ("$endif without matching $if");
+  return 0;
+}
+
+static int
+parser_include (args)
+     char *args;
+{
+  const char *old_init_file;
+  char *e;
+  int old_line_number, old_include_level, r;
+
+  if (_rl_parsing_conditionalized_out)
+    return (0);
+
+  old_init_file = current_readline_init_file;
+  old_line_number = current_readline_init_lineno;
+  old_include_level = current_readline_init_include_level;
+
+  e = strchr (args, '\n');
+  if (e)
+    *e = '\0';
+  r = _rl_read_init_file ((const char *)args, old_include_level + 1);
+
+  current_readline_init_file = old_init_file;
+  current_readline_init_lineno = old_line_number;
+  current_readline_init_include_level = old_include_level;
+
+  return r;
+}
+  
+/* Associate textual names with actual functions. */
+static struct {
+  const char *name;
+  _rl_parser_func_t *function;
+} parser_directives [] = {
+  { "if", parser_if },
+  { "endif", parser_endif },
+  { "else", parser_else },
+  { "include", parser_include },
+  { (char *)0x0, (_rl_parser_func_t *)0x0 }
+};
+
+/* Handle a parser directive.  STATEMENT is the line of the directive
+   without any leading `$'. */
+static int
+handle_parser_directive (statement)
+     char *statement;
+{
+  register int i;
+  char *directive, *args;
+
+  /* Isolate the actual directive. */
+
+  /* Skip whitespace. */
+  for (i = 0; whitespace (statement[i]); i++);
+
+  directive = &statement[i];
+
+  for (; statement[i] && !whitespace (statement[i]); i++);
+
+  if (statement[i])
+    statement[i++] = '\0';
+
+  for (; statement[i] && whitespace (statement[i]); i++);
+
+  args = &statement[i];
+
+  /* Lookup the command, and act on it. */
+  for (i = 0; parser_directives[i].name; i++)
+    if (_rl_stricmp (directive, parser_directives[i].name) == 0)
+      {
+       (*parser_directives[i].function) (args);
+       return (0);
+      }
+
+  /* display an error message about the unknown parser directive */
+  _rl_init_file_error ("unknown parser directive");
+  return (1);
+}
+
+/* Read the binding command from STRING and perform it.
+   A key binding command looks like: Keyname: function-name\0,
+   a variable binding command looks like: set variable value.
+   A new-style keybinding looks like "\C-x\C-x": exchange-point-and-mark. */
+int
+rl_parse_and_bind (string)
+     char *string;
+{
+  char *funname, *kname;
+  register int c, i;
+  int key, equivalency;
+
+  while (string && whitespace (*string))
+    string++;
+
+  if (!string || !*string || *string == '#')
+    return 0;
+
+  /* If this is a parser directive, act on it. */
+  if (*string == '$')
+    {
+      handle_parser_directive (&string[1]);
+      return 0;
+    }
+
+  /* If we aren't supposed to be parsing right now, then we're done. */
+  if (_rl_parsing_conditionalized_out)
+    return 0;
+
+  i = 0;
+  /* If this keyname is a complex key expression surrounded by quotes,
+     advance to after the matching close quote.  This code allows the
+     backslash to quote characters in the key expression. */
+  if (*string == '"')
+    {
+      int passc = 0;
+
+      for (i = 1; c = string[i]; i++)
+       {
+         if (passc)
+           {
+             passc = 0;
+             continue;
+           }
+
+         if (c == '\\')
+           {
+             passc++;
+             continue;
+           }
+
+         if (c == '"')
+           break;
+       }
+      /* If we didn't find a closing quote, abort the line. */
+      if (string[i] == '\0')
+        {
+          _rl_init_file_error ("no closing `\"' in key binding");
+          return 1;
+        }
+    }
+
+  /* Advance to the colon (:) or whitespace which separates the two objects. */
+  for (; (c = string[i]) && c != ':' && c != ' ' && c != '\t'; i++ );
+
+  equivalency = (c == ':' && string[i + 1] == '=');
+
+  /* Mark the end of the command (or keyname). */
+  if (string[i])
+    string[i++] = '\0';
+
+  /* If doing assignment, skip the '=' sign as well. */
+  if (equivalency)
+    string[i++] = '\0';
+
+  /* If this is a command to set a variable, then do that. */
+  if (_rl_stricmp (string, "set") == 0)
+    {
+      char *var, *value, *e;
+
+      var = string + i;
+      /* Make VAR point to start of variable name. */
+      while (*var && whitespace (*var)) var++;
+
+      /* Make VALUE point to start of value string. */
+      value = var;
+      while (*value && !whitespace (*value)) value++;
+      if (*value)
+       *value++ = '\0';
+      while (*value && whitespace (*value)) value++;
+
+      /* remove trailing whitespace */
+      e = value + strlen (value) - 1;
+      while (e >= value && whitespace (*e))
+        e--;
+      e++;             /* skip back to whitespace or EOS */
+      if (*e && e >= value)
+        *e = '\0';
+
+      rl_variable_bind (var, value);
+      return 0;
+    }
+
+  /* Skip any whitespace between keyname and funname. */
+  for (; string[i] && whitespace (string[i]); i++);
+  funname = &string[i];
+
+  /* Now isolate funname.
+     For straight function names just look for whitespace, since
+     that will signify the end of the string.  But this could be a
+     macro definition.  In that case, the string is quoted, so skip
+     to the matching delimiter.  We allow the backslash to quote the
+     delimiter characters in the macro body. */
+  /* This code exists to allow whitespace in macro expansions, which
+     would otherwise be gobbled up by the next `for' loop.*/
+  /* XXX - it may be desirable to allow backslash quoting only if " is
+     the quoted string delimiter, like the shell. */
+  if (*funname == '\'' || *funname == '"')
+    {
+      int delimiter, passc;
+
+      delimiter = string[i++];
+      for (passc = 0; c = string[i]; i++)
+       {
+         if (passc)
+           {
+             passc = 0;
+             continue;
+           }
+
+         if (c == '\\')
+           {
+             passc = 1;
+             continue;
+           }
+
+         if (c == delimiter)
+           break;
+       }
+      if (c)
+       i++;
+    }
+
+  /* Advance to the end of the string.  */
+  for (; string[i] && !whitespace (string[i]); i++);
+
+  /* No extra whitespace at the end of the string. */
+  string[i] = '\0';
+
+  /* Handle equivalency bindings here.  Make the left-hand side be exactly
+     whatever the right-hand evaluates to, including keymaps. */
+  if (equivalency)
+    {
+      return 0;
+    }
+
+  /* If this is a new-style key-binding, then do the binding with
+     rl_bind_keyseq ().  Otherwise, let the older code deal with it. */
+  if (*string == '"')
+    {
+      char *seq;
+      register int j, k, passc;
+
+      seq = (char *)xmalloc (1 + strlen (string));
+      for (j = 1, k = passc = 0; string[j]; j++)
+       {
+         /* Allow backslash to quote characters, but leave them in place.
+            This allows a string to end with a backslash quoting another
+            backslash, or with a backslash quoting a double quote.  The
+            backslashes are left in place for rl_translate_keyseq (). */
+         if (passc || (string[j] == '\\'))
+           {
+             seq[k++] = string[j];
+             passc = !passc;
+             continue;
+           }
+
+         if (string[j] == '"')
+           break;
+
+         seq[k++] = string[j];
+       }
+      seq[k] = '\0';
+
+      /* Binding macro? */
+      if (*funname == '\'' || *funname == '"')
+       {
+         j = strlen (funname);
+
+         /* Remove the delimiting quotes from each end of FUNNAME. */
+         if (j && funname[j - 1] == *funname)
+           funname[j - 1] = '\0';
+
+         rl_macro_bind (seq, &funname[1], _rl_keymap);
+       }
+      else
+       rl_bind_keyseq (seq, rl_named_function (funname));
+
+      free (seq);
+      return 0;
+    }
+
+  /* Get the actual character we want to deal with. */
+  kname = strrchr (string, '-');
+  if (!kname)
+    kname = string;
+  else
+    kname++;
+
+  key = glean_key_from_name (kname);
+
+  /* Add in control and meta bits. */
+  if (substring_member_of_array (string, _rl_possible_control_prefixes))
+    key = CTRL (_rl_to_upper (key));
+
+  if (substring_member_of_array (string, _rl_possible_meta_prefixes))
+    key = META (key);
+
+  /* Temporary.  Handle old-style keyname with macro-binding. */
+  if (*funname == '\'' || *funname == '"')
+    {
+      char useq[2];
+      int fl = strlen (funname);
+
+      useq[0] = key; useq[1] = '\0';
+      if (fl && funname[fl - 1] == *funname)
+       funname[fl - 1] = '\0';
+
+      rl_macro_bind (useq, &funname[1], _rl_keymap);
+    }
+#if defined (PREFIX_META_HACK)
+  /* Ugly, but working hack to keep prefix-meta around. */
+  else if (_rl_stricmp (funname, "prefix-meta") == 0)
+    {
+      char seq[2];
+
+      seq[0] = key;
+      seq[1] = '\0';
+      rl_generic_bind (ISKMAP, seq, (char *)emacs_meta_keymap, _rl_keymap);
+    }
+#endif /* PREFIX_META_HACK */
+  else
+    rl_bind_key (key, rl_named_function (funname));
+  return 0;
+}
+
+/* Simple structure for boolean readline variables (i.e., those that can
+   have one of two values; either "On" or 1 for truth, or "Off" or 0 for
+   false. */
+
+#define V_SPECIAL      0x1
+
+static struct {
+  const char *name;
+  int *value;
+  int flags;
+} boolean_varlist [] = {
+  { "bind-tty-special-chars",  &_rl_bind_stty_chars,           0 },
+  { "blink-matching-paren",    &rl_blink_matching_paren,       V_SPECIAL },
+  { "byte-oriented",           &rl_byte_oriented,              0 },
+  { "completion-ignore-case",  &_rl_completion_case_fold,      0 },
+  { "convert-meta",            &_rl_convert_meta_chars_to_ascii, 0 },
+  { "disable-completion",      &rl_inhibit_completion,         0 },
+  { "enable-keypad",           &_rl_enable_keypad,             0 },
+  { "expand-tilde",            &rl_complete_with_tilde_expansion, 0 },
+  { "history-preserve-point",  &_rl_history_preserve_point,    0 },
+  { "horizontal-scroll-mode",  &_rl_horizontal_scroll_mode,    0 },
+  { "input-meta",              &_rl_meta_flag,                 0 },
+  { "mark-directories",                &_rl_complete_mark_directories, 0 },
+  { "mark-modified-lines",     &_rl_mark_modified_lines,       0 },
+  { "mark-symlinked-directories", &_rl_complete_mark_symlink_dirs, 0 },
+  { "match-hidden-files",      &_rl_match_hidden_files,        0 },
+  { "meta-flag",               &_rl_meta_flag,                 0 },
+  { "output-meta",             &_rl_output_meta_chars,         0 },
+  { "page-completions",                &_rl_page_completions,          0 },
+  { "prefer-visible-bell",     &_rl_prefer_visible_bell,       V_SPECIAL },
+  { "print-completions-horizontally", &_rl_print_completions_horizontally, 0 },
+  { "show-all-if-ambiguous",   &_rl_complete_show_all,         0 },
+  { "show-all-if-unmodified",  &_rl_complete_show_unmodified,  0 },
+#if defined (VISIBLE_STATS)
+  { "visible-stats",           &rl_visible_stats,              0 },
+#endif /* VISIBLE_STATS */
+  { (char *)NULL, (int *)NULL }
+};
+
+static int
+find_boolean_var (name)
+     const char *name;
+{
+  register int i;
+
+  for (i = 0; boolean_varlist[i].name; i++)
+    if (_rl_stricmp (name, boolean_varlist[i].name) == 0)
+      return i;
+  return -1;
+}
+
+/* Hooks for handling special boolean variables, where a
+   function needs to be called or another variable needs
+   to be changed when they're changed. */
+static void
+hack_special_boolean_var (i)
+     int i;
+{
+  const char *name;
+
+  name = boolean_varlist[i].name;
+
+  if (_rl_stricmp (name, "blink-matching-paren") == 0)
+    _rl_enable_paren_matching (rl_blink_matching_paren);
+  else if (_rl_stricmp (name, "prefer-visible-bell") == 0)
+    {
+      if (_rl_prefer_visible_bell)
+       _rl_bell_preference = VISIBLE_BELL;
+      else
+       _rl_bell_preference = AUDIBLE_BELL;
+    }
+}
+
+typedef int _rl_sv_func_t PARAMS((const char *));
+
+/* These *must* correspond to the array indices for the appropriate
+   string variable.  (Though they're not used right now.) */
+#define V_BELLSTYLE    0
+#define V_COMBEGIN     1
+#define V_EDITMODE     2
+#define V_ISRCHTERM    3
+#define V_KEYMAP       4
+
+#define        V_STRING        1
+#define V_INT          2
+
+/* Forward declarations */
+static int sv_bell_style PARAMS((const char *));
+static int sv_combegin PARAMS((const char *));
+static int sv_compquery PARAMS((const char *));
+static int sv_editmode PARAMS((const char *));
+static int sv_isrchterm PARAMS((const char *));
+static int sv_keymap PARAMS((const char *));
+
+static struct {
+  const char *name;
+  int flags;
+  _rl_sv_func_t *set_func;
+} string_varlist[] = {
+  { "bell-style",      V_STRING,       sv_bell_style },
+  { "comment-begin",   V_STRING,       sv_combegin },
+  { "completion-query-items", V_INT,   sv_compquery },
+  { "editing-mode",    V_STRING,       sv_editmode },
+  { "isearch-terminators", V_STRING,   sv_isrchterm },
+  { "keymap",          V_STRING,       sv_keymap },
+  { (char *)NULL,      0 }
+};
+
+static int
+find_string_var (name)
+     const char *name;
+{
+  register int i;
+
+  for (i = 0; string_varlist[i].name; i++)
+    if (_rl_stricmp (name, string_varlist[i].name) == 0)
+      return i;
+  return -1;
+}
+
+/* A boolean value that can appear in a `set variable' command is true if
+   the value is null or empty, `on' (case-insenstive), or "1".  Any other
+   values result in 0 (false). */
+static int
+bool_to_int (value)
+     const char *value;
+{
+  return (value == 0 || *value == '\0' ||
+               (_rl_stricmp (value, "on") == 0) ||
+               (value[0] == '1' && value[1] == '\0'));
+}
+
+int
+rl_variable_bind (name, value)
+     const char *name, *value;
+{
+  register int i;
+  int  v;
+
+  /* Check for simple variables first. */
+  i = find_boolean_var (name);
+  if (i >= 0)
+    {
+      *boolean_varlist[i].value = bool_to_int (value);
+      if (boolean_varlist[i].flags & V_SPECIAL)
+       hack_special_boolean_var (i);
+      return 0;
+    }
+
+  i = find_string_var (name);
+
+  /* For the time being, unknown variable names or string names without a
+     handler function are simply ignored. */
+  if (i < 0 || string_varlist[i].set_func == 0)
+    return 0;
+
+  v = (*string_varlist[i].set_func) (value);
+  return v;
+}
+
+static int
+sv_editmode (value)
+     const char *value;
+{
+  if (_rl_strnicmp (value, "vi", 2) == 0)
+    {
+#if defined (VI_MODE)
+      _rl_keymap = vi_insertion_keymap;
+      rl_editing_mode = vi_mode;
+#endif /* VI_MODE */
+      return 0;
+    }
+  else if (_rl_strnicmp (value, "emacs", 5) == 0)
+    {
+      _rl_keymap = emacs_standard_keymap;
+      rl_editing_mode = emacs_mode;
+      return 0;
+    }
+  return 1;
+}
+
+static int
+sv_combegin (value)
+     const char *value;
+{
+  if (value && *value)
+    {
+      FREE (_rl_comment_begin);
+      _rl_comment_begin = savestring (value);
+      return 0;
+    }
+  return 1;
+}
+
+static int
+sv_compquery (value)
+     const char *value;
+{
+  int nval = 100;
+
+  if (value && *value)
+    {
+      nval = atoi (value);
+      if (nval < 0)
+       nval = 0;
+    }
+  rl_completion_query_items = nval;
+  return 0;
+}
+
+static int
+sv_keymap (value)
+     const char *value;
+{
+  Keymap kmap;
+
+  kmap = rl_get_keymap_by_name (value);
+  if (kmap)
+    {
+      rl_set_keymap (kmap);
+      return 0;
+    }
+  return 1;
+}
+
+static int
+sv_bell_style (value)
+     const char *value;
+{
+  if (value == 0 || *value == '\0')
+    _rl_bell_preference = AUDIBLE_BELL;
+  else if (_rl_stricmp (value, "none") == 0 || _rl_stricmp (value, "off") == 0)
+    _rl_bell_preference = NO_BELL;
+  else if (_rl_stricmp (value, "audible") == 0 || _rl_stricmp (value, "on") == 0)
+    _rl_bell_preference = AUDIBLE_BELL;
+  else if (_rl_stricmp (value, "visible") == 0)
+    _rl_bell_preference = VISIBLE_BELL;
+  else
+    return 1;
+  return 0;
+}
+
+static int
+sv_isrchterm (value)
+     const char *value;
+{
+  int beg, end, delim;
+  char *v;
+
+  if (value == 0)
+    return 1;
+
+  /* Isolate the value and translate it into a character string. */
+  v = savestring (value);
+  FREE (_rl_isearch_terminators);
+  if (v[0] == '"' || v[0] == '\'')
+    {
+      delim = v[0];
+      for (beg = end = 1; v[end] && v[end] != delim; end++)
+       ;
+    }
+  else
+    {
+      for (beg = end = 0; whitespace (v[end]) == 0; end++)
+       ;
+    }
+
+  v[end] = '\0';
+
+  /* The value starts at v + beg.  Translate it into a character string. */
+  _rl_isearch_terminators = (char *)xmalloc (2 * strlen (v) + 1);
+  rl_translate_keyseq (v + beg, _rl_isearch_terminators, &end);
+  _rl_isearch_terminators[end] = '\0';
+
+  free (v);
+  return 0;
+}
+      
+/* Return the character which matches NAME.
+   For example, `Space' returns ' '. */
+
+typedef struct {
+  const char *name;
+  int value;
+} assoc_list;
+
+static assoc_list name_key_alist[] = {
+  { "DEL", 0x7f },
+  { "ESC", '\033' },
+  { "Escape", '\033' },
+  { "LFD", '\n' },
+  { "Newline", '\n' },
+  { "RET", '\r' },
+  { "Return", '\r' },
+  { "Rubout", 0x7f },
+  { "SPC", ' ' },
+  { "Space", ' ' },
+  { "Tab", 0x09 },
+  { (char *)0x0, 0 }
+};
+
+static int
+glean_key_from_name (name)
+     char *name;
+{
+  register int i;
+
+  for (i = 0; name_key_alist[i].name; i++)
+    if (_rl_stricmp (name, name_key_alist[i].name) == 0)
+      return (name_key_alist[i].value);
+
+  return (*(unsigned char *)name);     /* XXX was return (*name) */
+}
+
+/* Auxiliary functions to manage keymaps. */
+static struct {
+  const char *name;
+  Keymap map;
+} keymap_names[] = {
+  { "emacs", emacs_standard_keymap },
+  { "emacs-standard", emacs_standard_keymap },
+  { "emacs-meta", emacs_meta_keymap },
+  { "emacs-ctlx", emacs_ctlx_keymap },
+#if defined (VI_MODE)
+  { "vi", vi_movement_keymap },
+  { "vi-move", vi_movement_keymap },
+  { "vi-command", vi_movement_keymap },
+  { "vi-insert", vi_insertion_keymap },
+#endif /* VI_MODE */
+  { (char *)0x0, (Keymap)0x0 }
+};
+
+Keymap
+rl_get_keymap_by_name (name)
+     const char *name;
+{
+  register int i;
+
+  for (i = 0; keymap_names[i].name; i++)
+    if (_rl_stricmp (name, keymap_names[i].name) == 0)
+      return (keymap_names[i].map);
+  return ((Keymap) NULL);
+}
+
+char *
+rl_get_keymap_name (map)
+     Keymap map;
+{
+  register int i;
+  for (i = 0; keymap_names[i].name; i++)
+    if (map == keymap_names[i].map)
+      return ((char *)keymap_names[i].name);
+  return ((char *)NULL);
+}
+  
+void
+rl_set_keymap (map)
+     Keymap map;
+{
+  if (map)
+    _rl_keymap = map;
+}
+
+Keymap
+rl_get_keymap ()
+{
+  return (_rl_keymap);
+}
+
+void
+rl_set_keymap_from_edit_mode ()
+{
+  if (rl_editing_mode == emacs_mode)
+    _rl_keymap = emacs_standard_keymap;
+#if defined (VI_MODE)
+  else if (rl_editing_mode == vi_mode)
+    _rl_keymap = vi_insertion_keymap;
+#endif /* VI_MODE */
+}
+
+char *
+rl_get_keymap_name_from_edit_mode ()
+{
+  if (rl_editing_mode == emacs_mode)
+    return "emacs";
+#if defined (VI_MODE)
+  else if (rl_editing_mode == vi_mode)
+    return "vi";
+#endif /* VI_MODE */
+  else
+    return "none";
+}
+
+/* **************************************************************** */
+/*                                                                 */
+/*               Key Binding and Function Information              */
+/*                                                                 */
+/* **************************************************************** */
+
+/* Each of the following functions produces information about the
+   state of keybindings and functions known to Readline.  The info
+   is always printed to rl_outstream, and in such a way that it can
+   be read back in (i.e., passed to rl_parse_and_bind ()). */
+
+/* Print the names of functions known to Readline. */
+void
+rl_list_funmap_names ()
+{
+  register int i;
+  const char **funmap_names;
+
+  funmap_names = rl_funmap_names ();
+
+  if (!funmap_names)
+    return;
+
+  for (i = 0; funmap_names[i]; i++)
+    fprintf (rl_outstream, "%s\n", funmap_names[i]);
+
+  free (funmap_names);
+}
+
+static char *
+_rl_get_keyname (key)
+     int key;
+{
+  char *keyname;
+  int i, c;
+
+  keyname = (char *)xmalloc (8);
+
+  c = key;
+  /* Since this is going to be used to write out keysequence-function
+     pairs for possible inclusion in an inputrc file, we don't want to
+     do any special meta processing on KEY. */
+
+#if 1
+  /* XXX - Experimental */
+  /* We might want to do this, but the old version of the code did not. */
+
+  /* If this is an escape character, we don't want to do any more processing.
+     Just add the special ESC key sequence and return. */
+  if (c == ESC)
+    {
+      keyname[0] = '\\';
+      keyname[1] = 'e';
+      keyname[2] = '\0';
+      return keyname;
+    }
+#endif
+
+  /* RUBOUT is translated directly into \C-? */
+  if (key == RUBOUT)
+    {
+      keyname[0] = '\\';
+      keyname[1] = 'C';
+      keyname[2] = '-';
+      keyname[3] = '?';
+      keyname[4] = '\0';
+      return keyname;
+    }
+
+  i = 0;
+  /* Now add special prefixes needed for control characters.  This can
+     potentially change C. */
+  if (CTRL_CHAR (c))
+    {
+      keyname[i++] = '\\';
+      keyname[i++] = 'C';
+      keyname[i++] = '-';
+      c = _rl_to_lower (UNCTRL (c));
+    }
+
+  /* XXX experimental code.  Turn the characters that are not ASCII or
+     ISO Latin 1 (128 - 159) into octal escape sequences (\200 - \237).
+     This changes C. */
+  if (c >= 128 && c <= 159)
+    {
+      keyname[i++] = '\\';
+      keyname[i++] = '2';
+      c -= 128;
+      keyname[i++] = (c / 8) + '0';
+      c = (c % 8) + '0';
+    }
+
+  /* Now, if the character needs to be quoted with a backslash, do that. */
+  if (c == '\\' || c == '"')
+    keyname[i++] = '\\';
+
+  /* Now add the key, terminate the string, and return it. */
+  keyname[i++] = (char) c;
+  keyname[i] = '\0';
+
+  return keyname;
+}
+
+/* Return a NULL terminated array of strings which represent the key
+   sequences that are used to invoke FUNCTION in MAP. */
+char **
+rl_invoking_keyseqs_in_map (function, map)
+     rl_command_func_t *function;
+     Keymap map;
+{
+  register int key;
+  char **result;
+  int result_index, result_size;
+
+  result = (char **)NULL;
+  result_index = result_size = 0;
+
+  for (key = 0; key < KEYMAP_SIZE; key++)
+    {
+      switch (map[key].type)
+       {
+       case ISMACR:
+         /* Macros match, if, and only if, the pointers are identical.
+            Thus, they are treated exactly like functions in here. */
+       case ISFUNC:
+         /* If the function in the keymap is the one we are looking for,
+            then add the current KEY to the list of invoking keys. */
+         if (map[key].function == function)
+           {
+             char *keyname;
+
+             keyname = _rl_get_keyname (key);
+
+             if (result_index + 2 > result_size)
+               {
+                 result_size += 10;
+                 result = (char **)xrealloc (result, result_size * sizeof (char *));
+               }
+
+             result[result_index++] = keyname;
+             result[result_index] = (char *)NULL;
+           }
+         break;
+
+       case ISKMAP:
+         {
+           char **seqs;
+           register int i;
+
+           /* Find the list of keyseqs in this map which have FUNCTION as
+              their target.  Add the key sequences found to RESULT. */
+           if (map[key].function)
+             seqs =
+               rl_invoking_keyseqs_in_map (function, FUNCTION_TO_KEYMAP (map, key));
+           else
+             break;
+
+           if (seqs == 0)
+             break;
+
+           for (i = 0; seqs[i]; i++)
+             {
+               char *keyname = (char *)xmalloc (6 + strlen (seqs[i]));
+
+               if (key == ESC)
+#if 0
+                 sprintf (keyname, "\\e");
+#else
+               /* XXX - experimental */
+                 sprintf (keyname, "\\M-");
+#endif
+               else if (CTRL_CHAR (key))
+                 sprintf (keyname, "\\C-%c", _rl_to_lower (UNCTRL (key)));
+               else if (key == RUBOUT)
+                 sprintf (keyname, "\\C-?");
+               else if (key == '\\' || key == '"')
+                 {
+                   keyname[0] = '\\';
+                   keyname[1] = (char) key;
+                   keyname[2] = '\0';
+                 }
+               else
+                 {
+                   keyname[0] = (char) key;
+                   keyname[1] = '\0';
+                 }
+               
+               strcat (keyname, seqs[i]);
+               free (seqs[i]);
+
+               if (result_index + 2 > result_size)
+                 {
+                   result_size += 10;
+                   result = (char **)xrealloc (result, result_size * sizeof (char *));
+                 }
+
+               result[result_index++] = keyname;
+               result[result_index] = (char *)NULL;
+             }
+
+           free (seqs);
+         }
+         break;
+       }
+    }
+  return (result);
+}
+
+/* Return a NULL terminated array of strings which represent the key
+   sequences that can be used to invoke FUNCTION using the current keymap. */
+char **
+rl_invoking_keyseqs (function)
+     rl_command_func_t *function;
+{
+  return (rl_invoking_keyseqs_in_map (function, _rl_keymap));
+}
+
+/* Print all of the functions and their bindings to rl_outstream.  If
+   PRINT_READABLY is non-zero, then print the output in such a way
+   that it can be read back in. */
+void
+rl_function_dumper (print_readably)
+     int print_readably;
+{
+  register int i;
+  const char **names;
+  const char *name;
+
+  names = rl_funmap_names ();
+
+  fprintf (rl_outstream, "\n");
+
+  for (i = 0; name = names[i]; i++)
+    {
+      rl_command_func_t *function;
+      char **invokers;
+
+      function = rl_named_function (name);
+      invokers = rl_invoking_keyseqs_in_map (function, _rl_keymap);
+
+      if (print_readably)
+       {
+         if (!invokers)
+           fprintf (rl_outstream, "# %s (not bound)\n", name);
+         else
+           {
+             register int j;
+
+             for (j = 0; invokers[j]; j++)
+               {
+                 fprintf (rl_outstream, "\"%s\": %s\n",
+                          invokers[j], name);
+                 free (invokers[j]);
+               }
+
+             free (invokers);
+           }
+       }
+      else
+       {
+         if (!invokers)
+           fprintf (rl_outstream, "%s is not bound to any keys\n",
+                    name);
+         else
+           {
+             register int j;
+
+             fprintf (rl_outstream, "%s can be found on ", name);
+
+             for (j = 0; invokers[j] && j < 5; j++)
+               {
+                 fprintf (rl_outstream, "\"%s\"%s", invokers[j],
+                          invokers[j + 1] ? ", " : ".\n");
+               }
+
+             if (j == 5 && invokers[j])
+               fprintf (rl_outstream, "...\n");
+
+             for (j = 0; invokers[j]; j++)
+               free (invokers[j]);
+
+             free (invokers);
+           }
+       }
+    }
+}
+
+/* Print all of the current functions and their bindings to
+   rl_outstream.  If an explicit argument is given, then print
+   the output in such a way that it can be read back in. */
+int
+rl_dump_functions (count, key)
+     int count, key;
+{
+  if (rl_dispatching)
+    fprintf (rl_outstream, "\r\n");
+  rl_function_dumper (rl_explicit_arg);
+  rl_on_new_line ();
+  return (0);
+}
+
+static void
+_rl_macro_dumper_internal (print_readably, map, prefix)
+     int print_readably;
+     Keymap map;
+     char *prefix;
+{
+  register int key;
+  char *keyname, *out;
+  int prefix_len;
+
+  for (key = 0; key < KEYMAP_SIZE; key++)
+    {
+      switch (map[key].type)
+       {
+       case ISMACR:
+         keyname = _rl_get_keyname (key);
+         out = _rl_untranslate_macro_value ((char *)map[key].function);
+
+         if (print_readably)
+           fprintf (rl_outstream, "\"%s%s\": \"%s\"\n", prefix ? prefix : "",
+                                                        keyname,
+                                                        out ? out : "");
+         else
+           fprintf (rl_outstream, "%s%s outputs %s\n", prefix ? prefix : "",
+                                                       keyname,
+                                                       out ? out : "");
+         free (keyname);
+         free (out);
+         break;
+       case ISFUNC:
+         break;
+       case ISKMAP:
+         prefix_len = prefix ? strlen (prefix) : 0;
+         if (key == ESC)
+           {
+             keyname = (char *)xmalloc (3 + prefix_len);
+             if (prefix)
+               strcpy (keyname, prefix);
+             keyname[prefix_len] = '\\';
+             keyname[prefix_len + 1] = 'e';
+             keyname[prefix_len + 2] = '\0';
+           }
+         else
+           {
+             keyname = _rl_get_keyname (key);
+             if (prefix)
+               {
+                 out = (char *)xmalloc (strlen (keyname) + prefix_len + 1);
+                 strcpy (out, prefix);
+                 strcpy (out + prefix_len, keyname);
+                 free (keyname);
+                 keyname = out;
+               }
+           }
+
+         _rl_macro_dumper_internal (print_readably, FUNCTION_TO_KEYMAP (map, key), keyname);
+         free (keyname);
+         break;
+       }
+    }
+}
+
+void
+rl_macro_dumper (print_readably)
+     int print_readably;
+{
+  _rl_macro_dumper_internal (print_readably, _rl_keymap, (char *)NULL);
+}
+
+int
+rl_dump_macros (count, key)
+     int count, key;
+{
+  if (rl_dispatching)
+    fprintf (rl_outstream, "\r\n");
+  rl_macro_dumper (rl_explicit_arg);
+  rl_on_new_line ();
+  return (0);
+}
+
+void
+rl_variable_dumper (print_readably)
+     int print_readably;
+{
+  int i;
+  const char *kname;
+
+  for (i = 0; boolean_varlist[i].name; i++)
+    {
+      if (print_readably)
+        fprintf (rl_outstream, "set %s %s\n", boolean_varlist[i].name,
+                              *boolean_varlist[i].value ? "on" : "off");
+      else
+        fprintf (rl_outstream, "%s is set to `%s'\n", boolean_varlist[i].name,
+                              *boolean_varlist[i].value ? "on" : "off");
+    }
+
+  /* bell-style */
+  switch (_rl_bell_preference)
+    {
+    case NO_BELL:
+      kname = "none"; break;
+    case VISIBLE_BELL:
+      kname = "visible"; break;
+    case AUDIBLE_BELL:
+    default:
+      kname = "audible"; break;
+    }
+  if (print_readably)
+    fprintf (rl_outstream, "set bell-style %s\n", kname);
+  else
+    fprintf (rl_outstream, "bell-style is set to `%s'\n", kname);
+
+  /* comment-begin */
+  if (print_readably)
+    fprintf (rl_outstream, "set comment-begin %s\n", _rl_comment_begin ? _rl_comment_begin : RL_COMMENT_BEGIN_DEFAULT);
+  else
+    fprintf (rl_outstream, "comment-begin is set to `%s'\n", _rl_comment_begin ? _rl_comment_begin : RL_COMMENT_BEGIN_DEFAULT);
+
+  /* completion-query-items */
+  if (print_readably)
+    fprintf (rl_outstream, "set completion-query-items %d\n", rl_completion_query_items);
+  else
+    fprintf (rl_outstream, "completion-query-items is set to `%d'\n", rl_completion_query_items);
+
+  /* editing-mode */
+  if (print_readably)
+    fprintf (rl_outstream, "set editing-mode %s\n", (rl_editing_mode == emacs_mode) ? "emacs" : "vi");
+  else
+    fprintf (rl_outstream, "editing-mode is set to `%s'\n", (rl_editing_mode == emacs_mode) ? "emacs" : "vi");
+
+  /* isearch-terminators */
+  if (_rl_isearch_terminators)
+    {
+      char *disp;
+
+      disp = _rl_untranslate_macro_value (_rl_isearch_terminators);
+
+      if (print_readably)
+       fprintf (rl_outstream, "set isearch-terminators \"%s\"\n", disp);
+      else
+       fprintf (rl_outstream, "isearch-terminators is set to \"%s\"\n", disp);
+
+      free (disp);
+    }
+
+  /* keymap */
+  kname = rl_get_keymap_name (_rl_keymap);
+  if (kname == 0)
+    kname = rl_get_keymap_name_from_edit_mode ();
+  if (print_readably)
+    fprintf (rl_outstream, "set keymap %s\n", kname ? kname : "none");
+  else
+    fprintf (rl_outstream, "keymap is set to `%s'\n", kname ? kname : "none");
+}
+
+/* Print all of the current variables and their values to
+   rl_outstream.  If an explicit argument is given, then print
+   the output in such a way that it can be read back in. */
+int
+rl_dump_variables (count, key)
+     int count, key;
+{
+  if (rl_dispatching)
+    fprintf (rl_outstream, "\r\n");
+  rl_variable_dumper (rl_explicit_arg);
+  rl_on_new_line ();
+  return (0);
+}
+
+/* Return non-zero if any members of ARRAY are a substring in STRING. */
+static int
+substring_member_of_array (string, array)
+     char *string;
+     const char **array;
+{
+  while (*array)
+    {
+      if (_rl_strindex (string, *array))
+       return (1);
+      array++;
+    }
+  return (0);
+}
index b57be1f..fd4c9fb 100644 (file)
@@ -77,6 +77,7 @@ static char *_rl_read_file PARAMS((char *, size_t *));
 static void _rl_init_file_error PARAMS((const char *));
 static int _rl_read_init_file PARAMS((const char *, int));
 static int glean_key_from_name PARAMS((char *));
+static char *_rl_get_string_variable_value PARAMS((const char *));
 static int substring_member_of_array PARAMS((char *, const char **));
 
 static int currently_reading_init_file;
@@ -1209,6 +1210,7 @@ rl_parse_and_bind (string)
       e = value + strlen (value) - 1;
       while (e >= value && whitespace (*e))
         e--;
+      e++;             /* skip back to whitespace or EOS */
       if (*e && e >= value)
         *e = '\0';
 
@@ -1491,6 +1493,28 @@ bool_to_int (value)
                (value[0] == '1' && value[1] == '\0'));
 }
 
+char *
+rl_variable_value (name)
+     const char *name;
+{
+  register int i;
+  int  v;
+  char *ret;
+
+  /* Check for simple variables first. */
+  i = find_boolean_var (name);
+  if (i >= 0)
+    return (*boolean_varlist[i].value ? "on" : "off");
+
+  i = find_string_var (name);
+
+  /* Unknown variable names return NULL. */
+  if (i < 0)
+    return 0;
+
+  return (_rl_get_string_variable_value (string_varlist[i].name));
+}
+
 int
 rl_variable_bind (name, value)
      const char *name, *value;
@@ -2133,12 +2157,68 @@ rl_dump_macros (count, key)
   return (0);
 }
 
+static char *
+_rl_get_string_variable_value (name)
+     const char *name;
+{
+  static char numbuf[32];
+  char *ret;
+  int n;
+
+  if (_rl_stricmp (name, "bell-style") == 0)
+    {
+      switch (_rl_bell_preference)
+       {
+         case NO_BELL:
+           return "none";
+         case VISIBLE_BELL:
+           return "visible";
+         case AUDIBLE_BELL:
+         default:
+           return "audible";
+       }
+    }
+  else if (_rl_stricmp (name, "comment-begin") == 0)
+    return (_rl_comment_begin ? _rl_comment_begin : RL_COMMENT_BEGIN_DEFAULT);
+  else if (_rl_stricmp (name, "completion-query-items") == 0)
+    {
+      sprintf (numbuf, "%d", rl_completion_query_items);
+      return (numbuf);
+    }
+  else if (_rl_stricmp (name, "editing-mode") == 0)
+    return (rl_get_keymap_name_from_edit_mode ());
+  else if (_rl_stricmp (name, "isearch-terminators") == 0)
+    {
+      if (_rl_isearch_terminators == 0)
+       return 0;
+      ret = _rl_untranslate_macro_value (_rl_isearch_terminators);
+      if (ret)
+       {
+         strncpy (numbuf, ret, sizeof (numbuf) - 1);
+         free (ret);
+         numbuf[sizeof(numbuf) - 1] = '\0';
+       }
+      else
+       numbuf[0] = '\0';
+      return numbuf;
+    }
+  else if (_rl_stricmp (name, "keymap") == 0)
+    {
+      ret = rl_get_keymap_name (_rl_keymap);
+      if (ret == 0)
+       ret = rl_get_keymap_name_from_edit_mode ();
+      return (ret ? ret : "none");
+    }
+  else
+    return (0);
+}
+
 void
 rl_variable_dumper (print_readably)
      int print_readably;
 {
   int i;
-  const char *kname;
+  char *v;
 
   for (i = 0; boolean_varlist[i].name; i++)
     {
@@ -2150,63 +2230,16 @@ rl_variable_dumper (print_readably)
                               *boolean_varlist[i].value ? "on" : "off");
     }
 
-  /* bell-style */
-  switch (_rl_bell_preference)
-    {
-    case NO_BELL:
-      kname = "none"; break;
-    case VISIBLE_BELL:
-      kname = "visible"; break;
-    case AUDIBLE_BELL:
-    default:
-      kname = "audible"; break;
-    }
-  if (print_readably)
-    fprintf (rl_outstream, "set bell-style %s\n", kname);
-  else
-    fprintf (rl_outstream, "bell-style is set to `%s'\n", kname);
-
-  /* comment-begin */
-  if (print_readably)
-    fprintf (rl_outstream, "set comment-begin %s\n", _rl_comment_begin ? _rl_comment_begin : RL_COMMENT_BEGIN_DEFAULT);
-  else
-    fprintf (rl_outstream, "comment-begin is set to `%s'\n", _rl_comment_begin ? _rl_comment_begin : RL_COMMENT_BEGIN_DEFAULT);
-
-  /* completion-query-items */
-  if (print_readably)
-    fprintf (rl_outstream, "set completion-query-items %d\n", rl_completion_query_items);
-  else
-    fprintf (rl_outstream, "completion-query-items is set to `%d'\n", rl_completion_query_items);
-
-  /* editing-mode */
-  if (print_readably)
-    fprintf (rl_outstream, "set editing-mode %s\n", (rl_editing_mode == emacs_mode) ? "emacs" : "vi");
-  else
-    fprintf (rl_outstream, "editing-mode is set to `%s'\n", (rl_editing_mode == emacs_mode) ? "emacs" : "vi");
-
-  /* isearch-terminators */
-  if (_rl_isearch_terminators)
+  for (i = 0; string_varlist[i].name; i++)
     {
-      char *disp;
-
-      disp = _rl_untranslate_macro_value (_rl_isearch_terminators);
-
+      v = _rl_get_string_variable_value (string_varlist[i].name);
+      if (v == 0)      /* _rl_isearch_terminators can be NULL */
+       continue;
       if (print_readably)
-       fprintf (rl_outstream, "set isearch-terminators \"%s\"\n", disp);
+        fprintf (rl_outstream, "set %s %s\n", string_varlist[i].name, v);
       else
-       fprintf (rl_outstream, "isearch-terminators is set to \"%s\"\n", disp);
-
-      free (disp);
+        fprintf (rl_outstream, "%s is set to `%s'\n", string_varlist[i].name, v);
     }
-
-  /* keymap */
-  kname = rl_get_keymap_name (_rl_keymap);
-  if (kname == 0)
-    kname = rl_get_keymap_name_from_edit_mode ();
-  if (print_readably)
-    fprintf (rl_outstream, "set keymap %s\n", kname ? kname : "none");
-  else
-    fprintf (rl_outstream, "keymap is set to `%s'\n", kname ? kname : "none");
 }
 
 /* Print all of the current variables and their values to
index 29c2fd5..d93c15a 100644 (file)
@@ -1,6 +1,6 @@
 /* complete.c -- filename completion for readline. */
 
-/* Copyright (C) 1987-2004 Free Software Foundation, Inc.
+/* Copyright (C) 1987-2005 Free Software Foundation, Inc.
 
    This file is part of the GNU Readline Library, a library for
    reading lines of text with interactive input and history editing.
index 369780b..29c2fd5 100644 (file)
@@ -48,7 +48,9 @@
 extern int errno;
 #endif /* !errno */
 
+#if defined (HAVE_PWD_H)
 #include <pwd.h>
+#endif
 
 #include "posixdir.h"
 #include "posixstat.h"
@@ -79,9 +81,9 @@ typedef int QSFUNC ();
 
 /* Most systems don't declare getpwent in <pwd.h> if _POSIX_SOURCE is
    defined. */
-#if !defined (HAVE_GETPW_DECLS) || defined (_POSIX_SOURCE)
+#if defined (HAVE_GETPWENT) && (!defined (HAVE_GETPW_DECLS) || defined (_POSIX_SOURCE))
 extern struct passwd *getpwent PARAMS((void));
-#endif /* !HAVE_GETPW_DECLS || _POSIX_SOURCE */
+#endif /* HAVE_GETPWENT && (!HAVE_GETPW_DECLS || _POSIX_SOURCE) */
 
 /* If non-zero, then this is the address of a function to call when
    completing a word would normally display the list of possible matches.
@@ -206,7 +208,8 @@ int rl_completion_type = 0;
 
 /* Up to this many items will be displayed in response to a
    possible-completions call.  After that, we ask the user if
-   she is sure she wants to see them all. */
+   she is sure she wants to see them all.  A negative value means
+   don't ask. */
 int rl_completion_query_items = 100;
 
 int _rl_page_completions = 1;
@@ -692,7 +695,7 @@ print_filename (to_print, full_pathname)
      char *to_print, *full_pathname;
 {
   int printed_len, extension_char, slen, tlen;
-  char *s, c, *new_full_pathname;
+  char *s, c, *new_full_pathname, *dn;
 
   extension_char = 0;
   printed_len = fnprint (to_print);
@@ -717,7 +720,17 @@ print_filename (to_print, full_pathname)
             files in the root directory.  If we pass a null string to the
             bash directory completion hook, for example, it will expand it
             to the current directory.  We just want the `/'. */
-         s = tilde_expand (full_pathname && *full_pathname ? full_pathname : "/");
+         if (full_pathname == 0 || *full_pathname == 0)
+           dn = "/";
+         else if (full_pathname[0] != '/')
+           dn = full_pathname;
+         else if (full_pathname[1] == 0)
+           dn = "//";          /* restore trailing slash to `//' */
+         else if (full_pathname[1] == '/' && full_pathname[2] == 0)
+           dn = "/";           /* don't turn /// into // */
+         else
+           dn = full_pathname;
+         s = tilde_expand (dn);
          if (rl_directory_completion_hook)
            (*rl_directory_completion_hook) (&s);
 
@@ -725,6 +738,10 @@ print_filename (to_print, full_pathname)
          tlen = strlen (to_print);
          new_full_pathname = (char *)xmalloc (slen + tlen + 2);
          strcpy (new_full_pathname, s);
+         if (s[slen - 1] == '/')
+           slen--;
+         else
+           new_full_pathname[slen] = '/';
          new_full_pathname[slen] = '/';
          strcpy (new_full_pathname + slen + 1, to_print);
 
@@ -1395,7 +1412,7 @@ display_matches (matches)
        
   /* If there are many items, then ask the user if she really wants to
      see them all. */
-  if (len >= rl_completion_query_items)
+  if (rl_completion_query_items > 0 && len >= rl_completion_query_items)
     {
       rl_crlf ();
       fprintf (rl_outstream, "Display all %d possibilities? (y or n)", len);
@@ -1846,16 +1863,20 @@ rl_username_completion_function (text, state)
       setpwent ();
     }
 
+#if defined (HAVE_GETPWENT)
   while (entry = getpwent ())
     {
       /* Null usernames should result in all users as possible completions. */
       if (namelen == 0 || (STREQN (username, entry->pw_name, namelen)))
        break;
     }
+#endif
 
   if (entry == 0)
     {
+#if defined (HAVE_GETPWENT)
       endpwent ();
+#endif
       return ((char *)NULL);
     }
   else
index 8db2c9a..7fea35e 100644 (file)
@@ -1158,6 +1158,11 @@ This behaves as if the readline command
 file (@pxref{Readline Init File Syntax}).
 @end deftypefun
 
+@deftypefun {char *} rl_variable_value (const char *variable)
+Return a string representing the value of the Readline variable @var{variable}.
+For boolean variables, this string is either @samp{on} or @samp{off}.
+@end deftypefun
+
 @deftypefun void rl_variable_dumper (int readable)
 Print the readline variable names and their current values
 to @code{rl_outstream}.
index 04ac3d0..dd18f02 100644 (file)
@@ -931,7 +931,7 @@ Restore the local Readline prompt display state saved by the most
 recent call to @code{rl_save_prompt}.
 if @code{rl_save_prompt} was called to save the prompt before a call
 to @code{rl_message}, this function should be called before the
-corresponding call to @coode{rl_clear_message}.
+corresponding call to @code{rl_clear_message}.
 @end deftypefun
 
 @deftypefun int rl_expand_prompt (char *prompt)
@@ -1158,6 +1158,10 @@ This behaves as if the readline command
 file (@pxref{Readline Init File Syntax}).
 @end deftypefun
 
+@deftypefun {char *} rl_variable_value (const char *variable)
+Return a string representing the value of the Readline variable @var{variable}.
+@end deftypefun
+
 @deftypefun void rl_variable_dumper (int readable)
 Print the readline variable names and their current values
 to @code{rl_outstream}.
@@ -1716,8 +1720,9 @@ shell variables and hostnames.
 
 @deftypevar int rl_completion_query_items
 Up to this many items will be displayed in response to a
-possible-completions call.  After that, we ask the user if she is sure
-she wants to see them all.  The default value is 100.
+possible-completions call.  After that, readline asks the user if she is sure
+she wants to see them all.  The default value is 100.  A negative value 
+indicates that Readline should never ask the user.
 @end deftypevar
 
 @deftypevar {int} rl_completion_append_character
@@ -2246,7 +2251,7 @@ too_dangerous (caller)
      char *caller;
 @{
   fprintf (stderr,
-           "%s: Too dangerous for me to distribute.\n"
+           "%s: Too dangerous for me to distribute.\n",
            caller);
   fprintf (stderr, "Write it yourself.\n");
 @}
index 10eb76a..22eb672 100644 (file)
@@ -4,7 +4,7 @@ Copyright (C) 1988-2005 Free Software Foundation, Inc.
 
 @set EDITION 5.1-beta1
 @set VERSION 5.1-beta1
-@set UPDATED 13 September 2005
-@set UPDATED-MONTH September 2005
+@set UPDATED 7 October 2005
+@set UPDATED-MONTH October 2005
 
-@set LASTCHANGE Tue Sep 13 12:07:16 EDT 2005
+@set LASTCHANGE Fri Oct  7 20:28:03 EDT 2005
index cd41234..10eb76a 100644 (file)
@@ -2,9 +2,9 @@
 Copyright (C) 1988-2005 Free Software Foundation, Inc. 
 @end ignore
 
-@set EDITION 5.1-devel
-@set VERSION 5.1-devel
-@set UPDATED 4 January 2005
-@set UPDATED-MONTH January 2005
+@set EDITION 5.1-beta1
+@set VERSION 5.1-beta1
+@set UPDATED 13 September 2005
+@set UPDATED-MONTH September 2005
 
-@set LASTCHANGE Tue Jan  4 17:26:58 EST 2005
+@set LASTCHANGE Tue Sep 13 12:07:16 EDT 2005
index ed7ab78..d7d8520 100644 (file)
@@ -148,7 +148,7 @@ rl_forward_search_history (sign, key)
 
 /* Display the current state of the search in the echo-area.
    SEARCH_STRING contains the string that is being searched for,
-   DIRECTION is zero for forward, or 1 for reverse,
+   DIRECTION is zero for forward, or non-zero for reverse,
    WHERE is the history list number of the current line.  If it is
    -1, then this line is the starting one. */
 static void
@@ -423,6 +423,8 @@ _rl_isearch_dispatch (cxt, c)
       cxt->direction = -cxt->direction;
       if (cxt->direction < 0)
        cxt->sflags |= SF_REVERSE;
+      else
+       cxt->sflags &= ~SF_REVERSE;
       break;
 
     /* delete character from search string. */
index e216662..140dd7f 100644 (file)
@@ -423,6 +423,8 @@ _rl_isearch_dispatch (cxt, c)
       cxt->direction = -cxt->direction;
       if (cxt->direction < 0)
        cxt->sflags |= SF_REVERSE;
+      else
+       cxt->sflags &= ~SF_REVERSE;
       break;
 
     /* delete character from search string. */
@@ -457,7 +459,7 @@ _rl_isearch_dispatch (cxt, c)
 
       /* if not in a word, move to one. */
       cval = _rl_char_value (rl_line_buffer, wstart);
-      if (rl_walphabetic (cval) == 0)
+      if (_rl_walphabetic (cval) == 0)
        {
          rl_ding ();
          break;
@@ -466,7 +468,7 @@ _rl_isearch_dispatch (cxt, c)
       while (n < rl_end)
        {
          cval = _rl_char_value (rl_line_buffer, n);
-         if (rl_walphabetic (cval) == 0)
+         if (_rl_walphabetic (cval) == 0)
            break;
          n = MB_NEXTCHAR (rl_line_buffer, n, 1, MB_FIND_NONZERO);;
        }
index 95bcc4c..0ab99c5 100644 (file)
@@ -303,6 +303,8 @@ extern int rl_bind_keyseq_in_map PARAMS((const char *, rl_command_func_t *, Keym
 extern int rl_bind_keyseq_if_unbound PARAMS((const char *, rl_command_func_t *));
 extern int rl_bind_keyseq_if_unbound_in_map PARAMS((const char *, rl_command_func_t *, Keymap));
 extern int rl_generic_bind PARAMS((int, const char *, char *, Keymap));
+
+extern char *rl_variable_value PARAMS((const char *));
 extern int rl_variable_bind PARAMS((const char *, const char *));
 
 /* Backwards compatibility, use rl_bind_keyseq_in_map instead. */
index 222b317..95bcc4c 100644 (file)
@@ -1,6 +1,6 @@
 /* Readline.h -- the names of functions callable from within readline. */
 
-/* Copyright (C) 1987-2004 Free Software Foundation, Inc.
+/* Copyright (C) 1987-2005 Free Software Foundation, Inc.
 
    This file is part of the GNU Readline Library, a library for
    reading lines of text with interactive input and history editing.
@@ -40,9 +40,9 @@ extern "C" {
 #endif
 
 /* Hex-encoded Readline version number. */
-#define RL_READLINE_VERSION    0x0500          /* Readline 5.0 */
+#define RL_READLINE_VERSION    0x0501          /* Readline 5.1 */
 #define RL_VERSION_MAJOR       5
-#define RL_VERSION_MINOR       0
+#define RL_VERSION_MINOR       1
 
 /* Readline data structures. */
 
@@ -241,6 +241,7 @@ extern int rl_vi_column PARAMS((int, int));
 extern int rl_vi_delete_to PARAMS((int, int));
 extern int rl_vi_change_to PARAMS((int, int));
 extern int rl_vi_yank_to PARAMS((int, int));
+extern int rl_vi_rubout PARAMS((int, int));
 extern int rl_vi_delete PARAMS((int, int));
 extern int rl_vi_back_to_indent PARAMS((int, int));
 extern int rl_vi_first_print PARAMS((int, int));
@@ -759,29 +760,32 @@ extern int rl_inhibit_completion;
 #define MULT_MATCH      2
 
 /* Possible state values for rl_readline_state */
-#define RL_STATE_NONE          0x00000         /* no state; before first call */
-
-#define RL_STATE_INITIALIZING  0x00001         /* initializing */
-#define RL_STATE_INITIALIZED   0x00002         /* initialization done */
-#define RL_STATE_TERMPREPPED   0x00004         /* terminal is prepped */
-#define RL_STATE_READCMD       0x00008         /* reading a command key */
-#define RL_STATE_METANEXT      0x00010         /* reading input after ESC */
-#define RL_STATE_DISPATCHING   0x00020         /* dispatching to a command */
-#define RL_STATE_MOREINPUT     0x00040         /* reading more input in a command function */
-#define RL_STATE_ISEARCH       0x00080         /* doing incremental search */
-#define RL_STATE_NSEARCH       0x00100         /* doing non-inc search */
-#define RL_STATE_SEARCH                0x00200         /* doing a history search */
-#define RL_STATE_NUMERICARG    0x00400         /* reading numeric argument */
-#define RL_STATE_MACROINPUT    0x00800         /* getting input from a macro */
-#define RL_STATE_MACRODEF      0x01000         /* defining keyboard macro */
-#define RL_STATE_OVERWRITE     0x02000         /* overwrite mode */
-#define RL_STATE_COMPLETING    0x04000         /* doing completion */
-#define RL_STATE_SIGHANDLER    0x08000         /* in readline sighandler */
-#define RL_STATE_UNDOING       0x10000         /* doing an undo */
-#define RL_STATE_INPUTPENDING  0x20000         /* rl_execute_next called */
-#define RL_STATE_TTYCSAVED     0x40000         /* tty special chars saved */
-
-#define RL_STATE_DONE          0x80000         /* done; accepted line */
+#define RL_STATE_NONE          0x000000                /* no state; before first call */
+
+#define RL_STATE_INITIALIZING  0x000001        /* initializing */
+#define RL_STATE_INITIALIZED   0x000002        /* initialization done */
+#define RL_STATE_TERMPREPPED   0x000004        /* terminal is prepped */
+#define RL_STATE_READCMD       0x000008        /* reading a command key */
+#define RL_STATE_METANEXT      0x000010        /* reading input after ESC */
+#define RL_STATE_DISPATCHING   0x000020        /* dispatching to a command */
+#define RL_STATE_MOREINPUT     0x000040        /* reading more input in a command function */
+#define RL_STATE_ISEARCH       0x000080        /* doing incremental search */
+#define RL_STATE_NSEARCH       0x000100        /* doing non-inc search */
+#define RL_STATE_SEARCH                0x000200        /* doing a history search */
+#define RL_STATE_NUMERICARG    0x000400        /* reading numeric argument */
+#define RL_STATE_MACROINPUT    0x000800        /* getting input from a macro */
+#define RL_STATE_MACRODEF      0x001000        /* defining keyboard macro */
+#define RL_STATE_OVERWRITE     0x002000        /* overwrite mode */
+#define RL_STATE_COMPLETING    0x004000        /* doing completion */
+#define RL_STATE_SIGHANDLER    0x008000        /* in readline sighandler */
+#define RL_STATE_UNDOING       0x010000        /* doing an undo */
+#define RL_STATE_INPUTPENDING  0x020000        /* rl_execute_next called */
+#define RL_STATE_TTYCSAVED     0x040000        /* tty special chars saved */
+#define RL_STATE_CALLBACK      0x080000        /* using the callback interface */
+#define RL_STATE_VIMOTION      0x100000        /* reading vi motion arg */
+#define RL_STATE_MULTIKEY      0x200000        /* reading multiple-key command */
+
+#define RL_STATE_DONE          0x800000        /* done; accepted line */
 
 #define RL_SETSTATE(x)         (rl_readline_state |= (x))
 #define RL_UNSETSTATE(x)       (rl_readline_state &= ~(x))
index f780b17..114135f 100644 (file)
@@ -932,7 +932,7 @@ floating(p, d)
   char *tmp, *tmp2, *t;
   int i;
 
-  if (chkinfnan(p, d, 1) || chkinfnan(p, d, 2))
+  if (d != 0 && (chkinfnan(p, d, 1) || chkinfnan(p, d, 2)))
     return;    /* already printed nan or inf */
 
   GETLOCALEDATA(decpoint, thoussep, grouping);
index c28f1ce..a290415 100644 (file)
@@ -104,8 +104,7 @@ $(DOMAIN).pot-update: $(POTFILES) $(srcdir)/POTFILES.in remove-potcdate.sed
        $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \
          --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) \
          --files-from=$(srcdir)/POTFILES.in \
-         --copyright-holder='$(COPYRIGHT_HOLDER)' \
-         --msgid-bugs-address='$(MSGID_BUGS_ADDRESS)'
+         --copyright-holder='$(COPYRIGHT_HOLDER)'
        $(MAKE) $(MFLAGS) builtins.pot-update
        test ! -f $(DOMAIN).po || { \
          if test -f $(srcdir)/$(DOMAIN).pot; then \
index b12787b..c96e866 100644 (file)
@@ -3,30 +3,11 @@
 # This file is distributed under the same license as the PACKAGE package.
 # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
 #
-#: builtins/caller.def:128 builtins/caller.def:132 builtins/pushd.def:655
-#: builtins/pushd.def:663 builtins/pushd.def:666 builtins/pushd.def:676
-#: builtins/pushd.def:680 builtins/pushd.def:684 builtins/pushd.def:687
-#: builtins/pushd.def:690 builtins/pushd.def:699 builtins/pushd.def:703
-#: builtins/pushd.def:707 builtins/pushd.def:710 builtins.c:321 builtins.c:325
-#: builtins.c:390 builtins.c:392 builtins.c:401 builtins.c:404 builtins.c:408
-#: builtins.c:445 builtins.c:487 builtins.c:491 builtins.c:498 builtins.c:509
-#: builtins.c:513 builtins.c:552 builtins.c:555 builtins.c:559 builtins.c:562
-#: builtins.c:630 builtins.c:637 builtins.c:692 builtins.c:713 builtins.c:718
-#: builtins.c:722 builtins.c:745 builtins.c:835 builtins.c:919 builtins.c:921
-#: builtins.c:943 builtins.c:946 builtins.c:948 builtins.c:950 builtins.c:952
-#: builtins.c:954 builtins.c:957 builtins.c:966 builtins.c:968 builtins.c:973
-#: builtins.c:976 builtins.c:1020 builtins.c:1025 builtins.c:1029
-#: builtins.c:1033 builtins.c:1035 builtins.c:1048 builtins.c:1066
-#: builtins.c:1231 builtins.c:1236 builtins.c:1309 builtins.c:1313
-#: builtins.c:1317 builtins.c:1320 builtins.c:1323 builtins.c:1335
-#: builtins.c:1339 builtins.c:1343 builtins.c:1346 builtins.c:1358
-#: builtins.c:1366 builtins.c:1369
 #, fuzzy
 msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: bug-bash@gnu.org\n"
-"POT-Creation-Date: 2004-09-26 17:34-0400\n"
+"POT-Creation-Date: 2005-10-03 17:31-0400\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -34,35 +15,35 @@ msgstr ""
 "Content-Type: text/plain; charset=CHARSET\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: arrayfunc.c:46
+#: arrayfunc.c:48
 msgid "bad array subscript"
 msgstr ""
 
-#: arrayfunc.c:309
+#: arrayfunc.c:360
 #, c-format
 msgid "%s: cannot assign to non-numeric index"
 msgstr ""
 
-#: bashhist.c:322
+#: bashhist.c:328
 #, c-format
 msgid "%s: cannot create: %s"
 msgstr ""
 
-#: bashline.c:2923
+#: bashline.c:2947
 msgid "bash_execute_unix_command: cannot find keymap for command"
 msgstr ""
 
-#: bashline.c:2972
+#: bashline.c:2996
 #, c-format
 msgid "%s: first non-whitespace character is not `\"'"
 msgstr ""
 
-#: bashline.c:3001
+#: bashline.c:3025
 #, c-format
 msgid "no closing `%c' in %s"
 msgstr ""
 
-#: bashline.c:3035
+#: bashline.c:3059
 #, c-format
 msgid "%s: missing colon separator"
 msgstr ""
@@ -101,35 +82,43 @@ msgstr ""
 msgid "only meaningful in a `for', `while', or `until' loop"
 msgstr ""
 
-#: builtins/caller.def:127 builtins.c:320
+#: builtins/caller.def:132
 msgid "Returns the context of the current subroutine call."
 msgstr ""
 
-#: builtins/caller.def:129 builtins.c:322
+#: builtins/caller.def:133 builtins/caller.def:137 builtins/pushd.def:660
+#: builtins/pushd.def:668 builtins/pushd.def:671 builtins/pushd.def:681
+#: builtins/pushd.def:685 builtins/pushd.def:689 builtins/pushd.def:692
+#: builtins/pushd.def:695 builtins/pushd.def:704 builtins/pushd.def:708
+#: builtins/pushd.def:712 builtins/pushd.def:715
+msgid " "
+msgstr ""
+
+#: builtins/caller.def:134
 msgid "Without EXPR, returns returns \"$line $filename\".  With EXPR,"
 msgstr ""
 
-#: builtins/caller.def:130 builtins.c:323
+#: builtins/caller.def:135
 msgid "returns \"$line $subroutine $filename\"; this extra information"
 msgstr ""
 
-#: builtins/caller.def:131 builtins.c:324
+#: builtins/caller.def:136
 msgid "can be used used to provide a stack trace."
 msgstr ""
 
-#: builtins/caller.def:133 builtins.c:326
+#: builtins/caller.def:138
 msgid "The value of EXPR indicates how many call frames to go back before the"
 msgstr ""
 
-#: builtins/caller.def:134 builtins.c:327
+#: builtins/caller.def:139
 msgid "current one; the top frame is frame 0."
 msgstr ""
 
-#: builtins/cd.def:190
+#: builtins/cd.def:203
 msgid "HOME not set"
 msgstr ""
 
-#: builtins/cd.def:202
+#: builtins/cd.def:215
 msgid "OLDPWD not set"
 msgstr ""
 
@@ -137,7 +126,7 @@ msgstr ""
 msgid "too many arguments"
 msgstr ""
 
-#: builtins/common.c:157 shell.c:465 shell.c:737
+#: builtins/common.c:157 shell.c:474 shell.c:747
 #, c-format
 msgid "%s: option requires an argument"
 msgstr ""
@@ -152,7 +141,7 @@ msgstr ""
 msgid "%s: not found"
 msgstr ""
 
-#: builtins/common.c:180 shell.c:750
+#: builtins/common.c:180 shell.c:760
 #, c-format
 msgid "%s: invalid option"
 msgstr ""
@@ -239,7 +228,7 @@ msgstr ""
 msgid "%s: error retrieving current directory: %s: %s\n"
 msgstr ""
 
-#: builtins/common.c:548 builtins/common.c:550
+#: builtins/common.c:550 builtins/common.c:552
 #, c-format
 msgid "%s: ambiguous job spec"
 msgstr ""
@@ -266,16 +255,16 @@ msgstr ""
 msgid "can only be used in a function"
 msgstr ""
 
-#: builtins/declare.def:295
+#: builtins/declare.def:301
 msgid "cannot use `-f' to make functions"
 msgstr ""
 
-#: builtins/declare.def:307 execute_cmd.c:3953
+#: builtins/declare.def:313 execute_cmd.c:3986
 #, c-format
 msgid "%s: readonly function"
 msgstr ""
 
-#: builtins/declare.def:389
+#: builtins/declare.def:401
 #, c-format
 msgid "%s: cannot destroy array variables in this way"
 msgstr ""
@@ -304,7 +293,7 @@ msgstr ""
 msgid "%s: cannot delete: %s"
 msgstr ""
 
-#: builtins/evalfile.c:129 execute_cmd.c:3825 shell.c:1396
+#: builtins/evalfile.c:129 execute_cmd.c:3852 shell.c:1408
 #, c-format
 msgid "%s: is a directory"
 msgstr ""
@@ -329,24 +318,23 @@ msgid "not login shell: use `exit'"
 msgstr ""
 
 #: builtins/exit.def:111
-#, c-format
 msgid "There are stopped jobs.\n"
 msgstr ""
 
-#: builtins/fc.def:254
+#: builtins/fc.def:259
 msgid "no command found"
 msgstr ""
 
-#: builtins/fc.def:319
+#: builtins/fc.def:329
 msgid "history specification"
 msgstr ""
 
-#: builtins/fc.def:340
+#: builtins/fc.def:350
 #, c-format
 msgid "%s: cannot open temp file: %s"
 msgstr ""
 
-#: builtins/fg_bg.def:145
+#: builtins/fg_bg.def:149
 #, c-format
 msgid "job %d started without job control"
 msgstr ""
@@ -371,12 +359,10 @@ msgid "%s: hash table empty\n"
 msgstr ""
 
 #: builtins/help.def:108
-#, c-format
 msgid "Shell commands matching keywords `"
 msgstr ""
 
 #: builtins/help.def:110
-#, c-format
 msgid "Shell commands matching keyword `"
 msgstr ""
 
@@ -392,7 +378,6 @@ msgid "%s: cannot open: %s"
 msgstr ""
 
 #: builtins/help.def:182
-#, c-format
 msgid ""
 "These shell commands are defined internally.  Type `help' to see this list.\n"
 "Type `help name' to find out more about the function `name'.\n"
@@ -403,15 +388,15 @@ msgid ""
 "\n"
 msgstr ""
 
-#: builtins/history.def:148
+#: builtins/history.def:150
 msgid "cannot use more than one of -anrw"
 msgstr ""
 
-#: builtins/history.def:180
+#: builtins/history.def:182
 msgid "history position"
 msgstr ""
 
-#: builtins/history.def:390
+#: builtins/history.def:400
 #, c-format
 msgid "%s: history expansion failed"
 msgstr ""
@@ -425,7 +410,7 @@ msgstr ""
 msgid "%s: arguments must be process or job IDs"
 msgstr ""
 
-#: builtins/kill.def:248
+#: builtins/kill.def:250
 msgid "Unknown error"
 msgstr ""
 
@@ -433,194 +418,193 @@ msgstr ""
 msgid "expression expected"
 msgstr ""
 
-#: builtins/printf.def:249
+#: builtins/printf.def:327
 #, c-format
 msgid "`%s': missing format character"
 msgstr ""
 
-#: builtins/printf.def:423
+#: builtins/printf.def:502
 #, c-format
 msgid "`%c': invalid format character"
 msgstr ""
 
-#: builtins/printf.def:629
+#: builtins/printf.def:708
 msgid "missing hex digit for \\x"
 msgstr ""
 
-#: builtins/pushd.def:168
+#: builtins/pushd.def:173
 msgid "no other directory"
 msgstr ""
 
-#: builtins/pushd.def:435
+#: builtins/pushd.def:440
 msgid "<no current directory>"
 msgstr ""
 
-#: builtins/pushd.def:652 builtins.c:1355
+#: builtins/pushd.def:657
 msgid "Display the list of currently remembered directories.  Directories"
 msgstr ""
 
-#: builtins/pushd.def:653 builtins.c:1356
+#: builtins/pushd.def:658
 msgid "find their way onto the list with the `pushd' command; you can get"
 msgstr ""
 
-#: builtins/pushd.def:654 builtins.c:1357
+#: builtins/pushd.def:659
 msgid "back up through the list with the `popd' command."
 msgstr ""
 
-#: builtins/pushd.def:656 builtins.c:1359
+#: builtins/pushd.def:661
 msgid "The -l flag specifies that `dirs' should not print shorthand versions"
 msgstr ""
 
-#: builtins/pushd.def:657 builtins.c:1360
+#: builtins/pushd.def:662
 msgid "of directories which are relative to your home directory.  This means"
 msgstr ""
 
-#: builtins/pushd.def:658 builtins.c:1361
+#: builtins/pushd.def:663
 msgid "that `~/bin' might be displayed as `/homes/bfox/bin'.  The -v flag"
 msgstr ""
 
-#: builtins/pushd.def:659 builtins.c:1362
+#: builtins/pushd.def:664
 msgid "causes `dirs' to print the directory stack with one entry per line,"
 msgstr ""
 
-#: builtins/pushd.def:660 builtins.c:1363
+#: builtins/pushd.def:665
 msgid "prepending the directory name with its position in the stack.  The -p"
 msgstr ""
 
-#: builtins/pushd.def:661 builtins.c:1364
+#: builtins/pushd.def:666
 msgid "flag does the same thing, but the stack position is not prepended."
 msgstr ""
 
-#: builtins/pushd.def:662 builtins.c:1365
+#: builtins/pushd.def:667
 msgid "The -c flag clears the directory stack by deleting all of the elements."
 msgstr ""
 
-#: builtins/pushd.def:664
+#: builtins/pushd.def:669
 msgid "+N   displays the Nth entry counting from the left of the list shown by"
 msgstr ""
 
-#: builtins/pushd.def:665 builtins/pushd.def:668
+#: builtins/pushd.def:670 builtins/pushd.def:673
 msgid "     dirs when invoked without options, starting with zero."
 msgstr ""
 
-#: builtins/pushd.def:667
+#: builtins/pushd.def:672
 msgid ""
 "-N   displays the Nth entry counting from the right of the list shown by"
 msgstr ""
 
-#: builtins/pushd.def:673 builtins.c:1306
+#: builtins/pushd.def:678
 msgid "Adds a directory to the top of the directory stack, or rotates"
 msgstr ""
 
-#: builtins/pushd.def:674 builtins.c:1307
+#: builtins/pushd.def:679
 msgid "the stack, making the new top of the stack the current working"
 msgstr ""
 
-#: builtins/pushd.def:675 builtins.c:1308
+#: builtins/pushd.def:680
 msgid "directory.  With no arguments, exchanges the top two directories."
 msgstr ""
 
-#: builtins/pushd.def:677
+#: builtins/pushd.def:682
 msgid "+N   Rotates the stack so that the Nth directory (counting"
 msgstr ""
 
-#: builtins/pushd.def:678
+#: builtins/pushd.def:683
 msgid "     from the left of the list shown by `dirs', starting with"
 msgstr ""
 
-#: builtins/pushd.def:679 builtins/pushd.def:683
+#: builtins/pushd.def:684 builtins/pushd.def:688
 msgid "     zero) is at the top."
 msgstr ""
 
-#: builtins/pushd.def:681
+#: builtins/pushd.def:686
 msgid "-N   Rotates the stack so that the Nth directory (counting"
 msgstr ""
 
-#: builtins/pushd.def:682
+#: builtins/pushd.def:687
 msgid "     from the right of the list shown by `dirs', starting with"
 msgstr ""
 
-#: builtins/pushd.def:685
+#: builtins/pushd.def:690
 msgid "-n   suppress the normal change of directory when adding directories"
 msgstr ""
 
-#: builtins/pushd.def:686
+#: builtins/pushd.def:691
 msgid "     to the stack, so only the stack is manipulated."
 msgstr ""
 
-#: builtins/pushd.def:688
+#: builtins/pushd.def:693
 msgid "dir  adds DIR to the directory stack at the top, making it the"
 msgstr ""
 
-#: builtins/pushd.def:689
+#: builtins/pushd.def:694
 msgid "     new current working directory."
 msgstr ""
 
-#: builtins/pushd.def:691 builtins/pushd.def:711 builtins.c:1324
-#: builtins.c:1347
+#: builtins/pushd.def:696 builtins/pushd.def:716
 msgid "You can see the directory stack with the `dirs' command."
 msgstr ""
 
-#: builtins/pushd.def:696 builtins.c:1332
+#: builtins/pushd.def:701
 msgid "Removes entries from the directory stack.  With no arguments,"
 msgstr ""
 
-#: builtins/pushd.def:697 builtins.c:1333
+#: builtins/pushd.def:702
 msgid "removes the top directory from the stack, and cd's to the new"
 msgstr ""
 
-#: builtins/pushd.def:698 builtins.c:1334
+#: builtins/pushd.def:703
 msgid "top directory."
 msgstr ""
 
-#: builtins/pushd.def:700
+#: builtins/pushd.def:705
 msgid "+N   removes the Nth entry counting from the left of the list"
 msgstr ""
 
-#: builtins/pushd.def:701
+#: builtins/pushd.def:706
 msgid "     shown by `dirs', starting with zero.  For example: `popd +0'"
 msgstr ""
 
-#: builtins/pushd.def:702
+#: builtins/pushd.def:707
 msgid "     removes the first directory, `popd +1' the second."
 msgstr ""
 
-#: builtins/pushd.def:704
+#: builtins/pushd.def:709
 msgid "-N   removes the Nth entry counting from the right of the list"
 msgstr ""
 
-#: builtins/pushd.def:705
+#: builtins/pushd.def:710
 msgid "     shown by `dirs', starting with zero.  For example: `popd -0'"
 msgstr ""
 
-#: builtins/pushd.def:706
+#: builtins/pushd.def:711
 msgid "     removes the last directory, `popd -1' the next to last."
 msgstr ""
 
-#: builtins/pushd.def:708
+#: builtins/pushd.def:713
 msgid "-n   suppress the normal change of directory when removing directories"
 msgstr ""
 
-#: builtins/pushd.def:709
+#: builtins/pushd.def:714
 msgid "     from the stack, so only the stack is manipulated."
 msgstr ""
 
-#: builtins/read.def:207
+#: builtins/read.def:211
 #, c-format
 msgid "%s: invalid timeout specification"
 msgstr ""
 
-#: builtins/read.def:230
+#: builtins/read.def:234
 #, c-format
 msgid "%s: invalid file descriptor specification"
 msgstr ""
 
-#: builtins/read.def:237
+#: builtins/read.def:241
 #, c-format
 msgid "%d: invalid file descriptor: %s"
 msgstr ""
 
-#: builtins/read.def:463
+#: builtins/read.def:474
 #, c-format
 msgid "read error: %d: %s"
 msgstr ""
@@ -629,26 +613,26 @@ msgstr ""
 msgid "can only `return' from a function or sourced script"
 msgstr ""
 
-#: builtins/set.def:743
+#: builtins/set.def:745
 msgid "cannot simultaneously unset a function and a variable"
 msgstr ""
 
-#: builtins/set.def:780
+#: builtins/set.def:782
 #, c-format
 msgid "%s: cannot unset"
 msgstr ""
 
-#: builtins/set.def:787
+#: builtins/set.def:789
 #, c-format
 msgid "%s: cannot unset: readonly %s"
 msgstr ""
 
-#: builtins/set.def:798
+#: builtins/set.def:800
 #, c-format
 msgid "%s: not an array variable"
 msgstr ""
 
-#: builtins/setattr.def:165
+#: builtins/setattr.def:166
 #, c-format
 msgid "%s: not a function"
 msgstr ""
@@ -657,11 +641,11 @@ msgstr ""
 msgid "shift count"
 msgstr ""
 
-#: builtins/shopt.def:226
+#: builtins/shopt.def:227
 msgid "cannot set and unset shell options simultaneously"
 msgstr ""
 
-#: builtins/shopt.def:291
+#: builtins/shopt.def:292
 #, c-format
 msgid "%s: invalid shell option name"
 msgstr ""
@@ -753,7 +737,6 @@ msgid "last command: %s\n"
 msgstr ""
 
 #: error.c:173
-#, c-format
 msgid "Aborting..."
 msgstr ""
 
@@ -783,42 +766,41 @@ msgstr ""
 msgid "%s: unbound variable"
 msgstr ""
 
-#: eval.c:175
-#, c-format
+#: eval.c:176
 msgid "\atimed out waiting for input: auto-logout\n"
 msgstr ""
 
-#: execute_cmd.c:467
+#: execute_cmd.c:471
 #, c-format
 msgid "cannot redirect standard input from /dev/null: %s"
 msgstr ""
 
-#: execute_cmd.c:1037
+#: execute_cmd.c:1036
 #, c-format
 msgid "TIMEFORMAT: `%c': invalid format character"
 msgstr ""
 
-#: execute_cmd.c:3525
+#: execute_cmd.c:3551
 #, c-format
 msgid "%s: restricted: cannot specify `/' in command names"
 msgstr ""
 
-#: execute_cmd.c:3613
+#: execute_cmd.c:3639
 #, c-format
 msgid "%s: command not found"
 msgstr ""
 
-#: execute_cmd.c:3843
+#: execute_cmd.c:3876
 #, c-format
 msgid "%s: %s: bad interpreter"
 msgstr ""
 
-#: execute_cmd.c:3880
+#: execute_cmd.c:3913
 #, c-format
 msgid "%s: cannot execute binary file"
 msgstr ""
 
-#: execute_cmd.c:3992
+#: execute_cmd.c:4025
 #, c-format
 msgid "cannot duplicate fd %d to fd %d"
 msgstr ""
@@ -893,42 +875,42 @@ msgstr ""
 msgid "save_bash_input: buffer already exists for new fd %d"
 msgstr ""
 
-#: jobs.c:694
+#: jobs.c:923
 #, c-format
 msgid "deleting stopped job %d with process group %ld"
 msgstr ""
 
-#: jobs.c:1002
+#: jobs.c:1308
 #, c-format
 msgid "describe_pid: %ld: no such pid"
 msgstr ""
 
-#: jobs.c:1635 nojobs.c:648
+#: jobs.c:1981 nojobs.c:648
 #, c-format
 msgid "wait: pid %ld is not a child of this shell"
 msgstr ""
 
-#: jobs.c:1823
+#: jobs.c:2180
 #, c-format
 msgid "wait_for: No record of process %ld"
 msgstr ""
 
-#: jobs.c:2070
+#: jobs.c:2435
 #, c-format
 msgid "wait_for_job: job %d is stopped"
 msgstr ""
 
-#: jobs.c:2292
+#: jobs.c:2657
 #, c-format
 msgid "%s: job has terminated"
 msgstr ""
 
-#: jobs.c:2301
+#: jobs.c:2666
 #, c-format
 msgid "%s: job %d already in background"
 msgstr ""
 
-#: jobs.c:3045
+#: jobs.c:3452
 msgid "no job control in this shell"
 msgstr ""
 
@@ -977,7 +959,6 @@ msgid "realloc: start and end chunk sizes differ"
 msgstr ""
 
 #: lib/malloc/table.c:175
-#, c-format
 msgid "register_alloc: alloc table is full with FIND_ALLOC?\n"
 msgstr ""
 
@@ -1052,126 +1033,126 @@ msgstr ""
 msgid "The mail in %s has been read\n"
 msgstr ""
 
-#: make_cmd.c:318
+#: make_cmd.c:322
 msgid "syntax error: arithmetic expression required"
 msgstr ""
 
-#: make_cmd.c:320
+#: make_cmd.c:324
 msgid "syntax error: `;' unexpected"
 msgstr ""
 
-#: make_cmd.c:321
+#: make_cmd.c:325
 #, c-format
 msgid "syntax error: `((%s))'"
 msgstr ""
 
-#: make_cmd.c:561
+#: make_cmd.c:566
 #, c-format
 msgid "make_here_document: bad instruction type %d"
 msgstr ""
 
-#: make_cmd.c:731
+#: make_cmd.c:736
 #, c-format
 msgid "make_redirection: redirection instruction `%d' out of range"
 msgstr ""
 
-#: parse.y:2733
+#: parse.y:2747
 #, c-format
 msgid "unexpected EOF while looking for matching `%c'"
 msgstr ""
 
-#: parse.y:3018
+#: parse.y:3043
 msgid "unexpected EOF while looking for `]]'"
 msgstr ""
 
-#: parse.y:3023
+#: parse.y:3048
 #, c-format
 msgid "syntax error in conditional expression: unexpected token `%s'"
 msgstr ""
 
-#: parse.y:3027
+#: parse.y:3052
 msgid "syntax error in conditional expression"
 msgstr ""
 
-#: parse.y:3105
+#: parse.y:3130
 #, c-format
 msgid "unexpected token `%s', expected `)'"
 msgstr ""
 
-#: parse.y:3109
+#: parse.y:3134
 msgid "expected `)'"
 msgstr ""
 
-#: parse.y:3137
+#: parse.y:3162
 #, c-format
 msgid "unexpected argument `%s' to conditional unary operator"
 msgstr ""
 
-#: parse.y:3141
+#: parse.y:3166
 msgid "unexpected argument to conditional unary operator"
 msgstr ""
 
-#: parse.y:3178
+#: parse.y:3203
 #, c-format
 msgid "unexpected token `%s', conditional binary operator expected"
 msgstr ""
 
-#: parse.y:3182
+#: parse.y:3207
 msgid "conditional binary operator expected"
 msgstr ""
 
-#: parse.y:3198
+#: parse.y:3223
 #, c-format
 msgid "unexpected argument `%s' to conditional binary operator"
 msgstr ""
 
-#: parse.y:3202
+#: parse.y:3227
 msgid "unexpected argument to conditional binary operator"
 msgstr ""
 
-#: parse.y:3213
+#: parse.y:3238
 #, c-format
 msgid "unexpected token `%c' in conditional command"
 msgstr ""
 
-#: parse.y:3216
+#: parse.y:3241
 #, c-format
 msgid "unexpected token `%s' in conditional command"
 msgstr ""
 
-#: parse.y:3220
+#: parse.y:3245
 #, c-format
 msgid "unexpected token %d in conditional command"
 msgstr ""
 
-#: parse.y:4426
+#: parse.y:4461
 #, c-format
 msgid "syntax error near unexpected token `%s'"
 msgstr ""
 
-#: parse.y:4444
+#: parse.y:4479
 #, c-format
 msgid "syntax error near `%s'"
 msgstr ""
 
-#: parse.y:4454
+#: parse.y:4489
 msgid "syntax error: unexpected end of file"
 msgstr ""
 
-#: parse.y:4454
+#: parse.y:4489
 msgid "syntax error"
 msgstr ""
 
-#: parse.y:4516
+#: parse.y:4551
 #, c-format
 msgid "Use \"%s\" to leave the shell.\n"
 msgstr ""
 
-#: parse.y:4675
+#: parse.y:4710
 msgid "unexpected EOF while looking for matching `)'"
 msgstr ""
 
-#: pcomplete.c:998
+#: pcomplete.c:1001
 #, c-format
 msgid "completion: function `%s' not found"
 msgstr ""
@@ -1181,12 +1162,12 @@ msgstr ""
 msgid "progcomp_insert: %s: NULL COMPSPEC"
 msgstr ""
 
-#: print_cmd.c:261
+#: print_cmd.c:264
 #, c-format
 msgid "print_command: bad connector `%d'"
 msgstr ""
 
-#: print_cmd.c:1211
+#: print_cmd.c:1236
 #, c-format
 msgid "cprintf: `%c': invalid format character"
 msgstr ""
@@ -1219,142 +1200,141 @@ msgstr ""
 msgid "/dev/(tcp|udp)/host/port not supported without networking"
 msgstr ""
 
-#: redir.c:949
+#: redir.c:956
 msgid "redirection error: cannot duplicate fd"
 msgstr ""
 
-#: shell.c:302
+#: shell.c:309
 msgid "could not find /tmp, please create!"
 msgstr ""
 
-#: shell.c:306
+#: shell.c:313
 msgid "/tmp must be a valid directory name"
 msgstr ""
 
-#: shell.c:839
+#: shell.c:849
 #, c-format
 msgid "%c%c: invalid option"
 msgstr ""
 
-#: shell.c:1591
+#: shell.c:1598
 msgid "I have no name!"
 msgstr ""
 
-#: shell.c:1726
+#: shell.c:1733
 #, c-format
 msgid ""
 "Usage:\t%s [GNU long option] [option] ...\n"
 "\t%s [GNU long option] [option] script-file ...\n"
 msgstr ""
 
-#: shell.c:1728
+#: shell.c:1735
 msgid "GNU long options:\n"
 msgstr ""
 
-#: shell.c:1732
+#: shell.c:1739
 msgid "Shell options:\n"
 msgstr ""
 
-#: shell.c:1733
+#: shell.c:1740
 msgid "\t-irsD or -c command or -O shopt_option\t\t(invocation only)\n"
 msgstr ""
 
-#: shell.c:1748
+#: shell.c:1755
 #, c-format
 msgid "\t-%s or -o option\n"
 msgstr ""
 
-#: shell.c:1754
+#: shell.c:1761
 #, c-format
 msgid "Type `%s -c \"help set\"' for more information about shell options.\n"
 msgstr ""
 
-#: shell.c:1755
+#: shell.c:1762
 #, c-format
 msgid "Type `%s -c help' for more information about shell builtin commands.\n"
 msgstr ""
 
-#: shell.c:1756
-#, c-format
+#: shell.c:1763
 msgid "Use the `bashbug' command to report bugs.\n"
 msgstr ""
 
-#: sig.c:490
+#: sig.c:494
 #, c-format
 msgid "sigprocmask: %d: invalid operation"
 msgstr ""
 
-#: subst.c:1102
+#: subst.c:1123
 #, c-format
 msgid "bad substitution: no closing `%s' in %s"
 msgstr ""
 
-#: subst.c:2187
+#: subst.c:2269
 #, c-format
 msgid "%s: cannot assign list to array member"
 msgstr ""
 
-#: subst.c:4026 subst.c:4042
+#: subst.c:4208 subst.c:4224
 msgid "cannot make pipe for process substitution"
 msgstr ""
 
-#: subst.c:4073
+#: subst.c:4255
 msgid "cannot make child for process substitution"
 msgstr ""
 
-#: subst.c:4118
+#: subst.c:4300
 #, c-format
 msgid "cannot open named pipe %s for reading"
 msgstr ""
 
-#: subst.c:4120
+#: subst.c:4302
 #, c-format
 msgid "cannot open named pipe %s for writing"
 msgstr ""
 
-#: subst.c:4128
+#: subst.c:4310
 #, c-format
 msgid "cannout reset nodelay mode for fd %d"
 msgstr ""
 
-#: subst.c:4138
+#: subst.c:4320
 #, c-format
 msgid "cannot duplicate named pipe %s as fd %d"
 msgstr ""
 
-#: subst.c:4313
+#: subst.c:4495
 msgid "cannot make pipe for command substitution"
 msgstr ""
 
-#: subst.c:4342
+#: subst.c:4531
 msgid "cannot make child for command substitution"
 msgstr ""
 
-#: subst.c:4359
+#: subst.c:4548
 msgid "command_substitute: cannot duplicate pipe as fd 1"
 msgstr ""
 
-#: subst.c:4802
+#: subst.c:5013
 #, c-format
 msgid "%s: parameter null or not set"
 msgstr ""
 
-#: subst.c:5068
+#: subst.c:5287
 #, c-format
 msgid "%s: substring expression < 0"
 msgstr ""
 
-#: subst.c:5791
+#: subst.c:6058
 #, c-format
 msgid "%s: bad substitution"
 msgstr ""
 
-#: subst.c:5865
+#: subst.c:6134
 #, c-format
 msgid "$%s: cannot assign in this way"
 msgstr ""
 
-#: subst.c:7325
+#: subst.c:7687
 #, c-format
 msgid "no match: %s"
 msgstr ""
@@ -1411,49 +1391,48 @@ msgstr ""
 msgid "trap_handler: bad signal %d"
 msgstr ""
 
-#: variables.c:314
+#: variables.c:320
 #, c-format
 msgid "error importing function definition for `%s'"
 msgstr ""
 
-#: variables.c:674
+#: variables.c:692
 #, c-format
 msgid "shell level (%d) too high, resetting to 1"
 msgstr ""
 
-#: variables.c:1617
+#: variables.c:1651
 msgid "make_local_variable: no function context at current scope"
 msgstr ""
 
-#: variables.c:2724
+#: variables.c:2807
 msgid "all_local_variables: no function context at current scope"
 msgstr ""
 
-#: variables.c:2938 variables.c:2947
+#: variables.c:3021 variables.c:3030
 #, c-format
 msgid "invalid character %d in exportstr for %s"
 msgstr ""
 
-#: variables.c:2953
+#: variables.c:3036
 #, c-format
 msgid "no `=' in exportstr for %s"
 msgstr ""
 
-#: variables.c:3378
+#: variables.c:3463
 msgid "pop_var_context: head of shell_variables not a function context"
 msgstr ""
 
-#: variables.c:3391
+#: variables.c:3476
 msgid "pop_var_context: no global_variables context"
 msgstr ""
 
-#: variables.c:3457
+#: variables.c:3548
 msgid "pop_scope: head of shell_variables not a temporary environment scope"
 msgstr ""
 
 #: version.c:82
-#, c-format
-msgid "Copyright (C) 2004 Free Software Foundation, Inc.\n"
+msgid "Copyright (C) 2005 Free Software Foundation, Inc.\n"
 msgstr ""
 
 #: xmalloc.c:93
@@ -1497,2699 +1476,1093 @@ msgid "xrealloc: %s:%d: cannot allocate %lu bytes"
 msgstr ""
 
 #: builtins.c:244
-msgid "`alias' with no arguments or with the -p option prints the list"
-msgstr ""
-
-#: builtins.c:245
-msgid "of aliases in the form alias NAME=VALUE on standard output."
-msgstr ""
-
-#: builtins.c:246
-msgid "Otherwise, an alias is defined for each NAME whose VALUE is given."
-msgstr ""
-
-#: builtins.c:247
-msgid "A trailing space in VALUE causes the next word to be checked for"
-msgstr ""
-
-#: builtins.c:248
-msgid "alias substitution when the alias is expanded.  Alias returns"
-msgstr ""
-
-#: builtins.c:249
-msgid "true unless a NAME is given for which no alias has been defined."
+msgid ""
+" `alias' with no arguments or with the -p option prints the list\n"
+"    of aliases in the form alias NAME=VALUE on standard output.\n"
+"    Otherwise, an alias is defined for each NAME whose VALUE is given.\n"
+"    A trailing space in VALUE causes the next word to be checked for\n"
+"    alias substitution when the alias is expanded.  Alias returns\n"
+"    true unless a NAME is given for which no alias has been defined."
 msgstr ""
 
 #: builtins.c:257
 msgid ""
-"Remove NAMEs from the list of defined aliases.  If the -a option is given,"
-msgstr ""
-
-#: builtins.c:258
-msgid "then remove all alias definitions."
+" Remove NAMEs from the list of defined aliases.  If the -a option is given,\n"
+"    then remove all alias definitions."
 msgstr ""
 
 #: builtins.c:266
-msgid "Bind a key sequence to a Readline function or a macro, or set"
-msgstr ""
-
-#: builtins.c:267
-msgid "a Readline variable.  The non-option argument syntax is equivalent"
-msgstr ""
-
-#: builtins.c:268
-msgid "to that found in ~/.inputrc, but must be passed as a single argument:"
-msgstr ""
-
-#: builtins.c:269
-msgid "bind '\"\\C-x\\C-r\": re-read-init-file'."
-msgstr ""
-
-#: builtins.c:270
-msgid "bind accepts the following options:"
-msgstr ""
-
-#: builtins.c:271
 msgid ""
-"  -m  keymap         Use `keymap' as the keymap for the duration of this"
-msgstr ""
-
-#: builtins.c:272
-msgid "                     command.  Acceptable keymap names are emacs,"
+" Bind a key sequence to a Readline function or a macro, or set\n"
+"    a Readline variable.  The non-option argument syntax is equivalent\n"
+"    to that found in ~/.inputrc, but must be passed as a single argument:\n"
+"    bind '\"\\C-x\\C-r\": re-read-init-file'.\n"
+"    bind accepts the following options:\n"
+"      -m  keymap         Use `keymap' as the keymap for the duration of "
+"this\n"
+"                         command.  Acceptable keymap names are emacs,\n"
+"                         emacs-standard, emacs-meta, emacs-ctlx, vi, vi-"
+"move,\n"
+"                         vi-command, and vi-insert.\n"
+"      -l                 List names of functions.\n"
+"      -P                 List function names and bindings.\n"
+"      -p                 List functions and bindings in a form that can be\n"
+"                         reused as input.\n"
+"      -r  keyseq         Remove the binding for KEYSEQ.\n"
+"      -x  keyseq:shell-command\tCause SHELL-COMMAND to be executed when\n"
+"    \t\t\t\tKEYSEQ is entered.\n"
+"      -f  filename       Read key bindings from FILENAME.\n"
+"      -q  function-name  Query about which keys invoke the named function.\n"
+"      -u  function-name  Unbind all keys which are bound to the named "
+"function.\n"
+"      -V                 List variable names and values\n"
+"      -v                 List variable names and values in a form that can\n"
+"                         be reused as input.\n"
+"      -S                 List key sequences that invoke macros and their "
+"values\n"
+"      -s                 List key sequences that invoke macros and their "
+"values\n"
+"                         in a form that can be reused as input."
 msgstr ""
 
-#: builtins.c:273
+#: builtins.c:297
 msgid ""
-"                     emacs-standard, emacs-meta, emacs-ctlx, vi, vi-move,"
-msgstr ""
-
-#: builtins.c:274
-msgid "                     vi-command, and vi-insert."
-msgstr ""
-
-#: builtins.c:275
-msgid "  -l                 List names of functions."
-msgstr ""
-
-#: builtins.c:276
-msgid "  -P                 List function names and bindings."
-msgstr ""
-
-#: builtins.c:277
-msgid "  -p                 List functions and bindings in a form that can be"
-msgstr ""
-
-#: builtins.c:278
-msgid "                     reused as input."
-msgstr ""
-
-#: builtins.c:279
-msgid "  -r  keyseq         Remove the binding for KEYSEQ."
-msgstr ""
-
-#: builtins.c:280
-msgid "  -x  keyseq:shell-command\tCause SHELL-COMMAND to be executed when"
-msgstr ""
-
-#: builtins.c:281
-msgid "\t\t\t\tKEYSEQ is entered."
-msgstr ""
-
-#: builtins.c:282
-msgid "  -f  filename       Read key bindings from FILENAME."
-msgstr ""
-
-#: builtins.c:283
-msgid "  -q  function-name  Query about which keys invoke the named function."
+" Exit from within a FOR, WHILE or UNTIL loop.  If N is specified,\n"
+"    break N levels."
 msgstr ""
 
-#: builtins.c:284
+#: builtins.c:304
 msgid ""
-"  -u  function-name  Unbind all keys which are bound to the named function."
-msgstr ""
-
-#: builtins.c:285
-msgid "  -V                 List variable names and values"
-msgstr ""
-
-#: builtins.c:286
-msgid "  -v                 List variable names and values in a form that can"
-msgstr ""
-
-#: builtins.c:287
-msgid "                     be reused as input."
+" Resume the next iteration of the enclosing FOR, WHILE or UNTIL loop.\n"
+"    If N is specified, resume at the N-th enclosing loop."
 msgstr ""
 
-#: builtins.c:288
+#: builtins.c:311
 msgid ""
-"  -S                 List key sequences that invoke macros and their values"
+" Run a shell builtin.  This is useful when you wish to rename a\n"
+"    shell builtin to be a function, but need the functionality of the\n"
+"    builtin within the function itself."
 msgstr ""
 
-#: builtins.c:289
+#: builtins.c:320
 msgid ""
-"  -s                 List key sequences that invoke macros and their values"
-msgstr ""
-
-#: builtins.c:290
-msgid "                     in a form that can be reused as input."
-msgstr ""
-
-#: builtins.c:297
-msgid "Exit from within a FOR, WHILE or UNTIL loop.  If N is specified,"
-msgstr ""
-
-#: builtins.c:298
-msgid "break N levels."
-msgstr ""
-
-#: builtins.c:304
-msgid "Resume the next iteration of the enclosing FOR, WHILE or UNTIL loop."
-msgstr ""
-
-#: builtins.c:305
-msgid "If N is specified, resume at the N-th enclosing loop."
-msgstr ""
-
-#: builtins.c:311
-msgid "Run a shell builtin.  This is useful when you wish to rename a"
-msgstr ""
-
-#: builtins.c:312
-msgid "shell builtin to be a function, but need the functionality of the"
-msgstr ""
-
-#: builtins.c:313
-msgid "builtin within the function itself."
+" Returns the context of the current subroutine call.\n"
+"    \n"
+"    Without EXPR, returns returns \"$line $filename\".  With EXPR,\n"
+"    returns \"$line $subroutine $filename\"; this extra information\n"
+"    can be used used to provide a stack trace.\n"
+"    \n"
+"    The value of EXPR indicates how many call frames to go back before the\n"
+"    current one; the top frame is frame 0."
 msgstr ""
 
 #: builtins.c:334
-msgid "Change the current directory to DIR.  The variable $HOME is the"
-msgstr ""
-
-#: builtins.c:335
-msgid "default DIR.  The variable CDPATH defines the search path for"
-msgstr ""
-
-#: builtins.c:336
-msgid "the directory containing DIR.  Alternative directory names in CDPATH"
-msgstr ""
-
-#: builtins.c:337
-msgid "are separated by a colon (:).  A null directory name is the same as"
-msgstr ""
-
-#: builtins.c:338
-msgid "the current directory, i.e. `.'.  If DIR begins with a slash (/),"
-msgstr ""
-
-#: builtins.c:339
-msgid "then CDPATH is not used.  If the directory is not found, and the"
-msgstr ""
-
-#: builtins.c:340
-msgid "shell option `cdable_vars' is set, then try the word as a variable"
-msgstr ""
-
-#: builtins.c:341
-msgid "name.  If that variable has a value, then cd to the value of that"
-msgstr ""
-
-#: builtins.c:342
-msgid "variable.  The -P option says to use the physical directory structure"
-msgstr ""
-
-#: builtins.c:343
 msgid ""
-"instead of following symbolic links; the -L option forces symbolic links"
-msgstr ""
-
-#: builtins.c:344
-msgid "to be followed."
+" Change the current directory to DIR.  The variable $HOME is the\n"
+"    default DIR.  The variable CDPATH defines the search path for\n"
+"    the directory containing DIR.  Alternative directory names in CDPATH\n"
+"    are separated by a colon (:).  A null directory name is the same as\n"
+"    the current directory, i.e. `.'.  If DIR begins with a slash (/),\n"
+"    then CDPATH is not used.  If the directory is not found, and the\n"
+"    shell option `cdable_vars' is set, then try the word as a variable\n"
+"    name.  If that variable has a value, then cd to the value of that\n"
+"    variable.  The -P option says to use the physical directory structure\n"
+"    instead of following symbolic links; the -L option forces symbolic "
+"links\n"
+"    to be followed."
 msgstr ""
 
 #: builtins.c:350
-msgid "Print the current working directory.  With the -P option, pwd prints"
-msgstr ""
-
-#: builtins.c:351
-msgid "the physical directory, without any symbolic links; the -L option"
-msgstr ""
-
-#: builtins.c:352
-msgid "makes pwd follow symbolic links."
+msgid ""
+" Print the current working directory.  With the -P option, pwd prints\n"
+"    the physical directory, without any symbolic links; the -L option\n"
+"    makes pwd follow symbolic links."
 msgstr ""
 
 #: builtins.c:358
-msgid "No effect; the command does nothing.  A zero exit code is returned."
+msgid " No effect; the command does nothing.  A zero exit code is returned."
 msgstr ""
 
 #: builtins.c:364
-msgid "Return a successful result."
+msgid " Return a successful result."
 msgstr ""
 
 #: builtins.c:370
-msgid "Return an unsuccessful result."
+msgid " Return an unsuccessful result."
 msgstr ""
 
 #: builtins.c:376
-msgid "Runs COMMAND with ARGS ignoring shell functions.  If you have a shell"
-msgstr ""
-
-#: builtins.c:377
-msgid "function called `ls', and you wish to call the command `ls', you can"
-msgstr ""
-
-#: builtins.c:378
-msgid "say \"command ls\".  If the -p option is given, a default value is used"
-msgstr ""
-
-#: builtins.c:379
-msgid "for PATH that is guaranteed to find all of the standard utilities.  If"
-msgstr ""
-
-#: builtins.c:380
-msgid "the -V or -v option is given, a string is printed describing COMMAND."
-msgstr ""
-
-#: builtins.c:381
-msgid "The -V option produces a more verbose description."
+msgid ""
+" Runs COMMAND with ARGS ignoring shell functions.  If you have a shell\n"
+"    function called `ls', and you wish to call the command `ls', you can\n"
+"    say \"command ls\".  If the -p option is given, a default value is used\n"
+"    for PATH that is guaranteed to find all of the standard utilities.  If\n"
+"    the -V or -v option is given, a string is printed describing COMMAND.\n"
+"    The -V option produces a more verbose description."
 msgstr ""
 
 #: builtins.c:387
-msgid "Declare variables and/or give them attributes.  If no NAMEs are"
-msgstr ""
-
-#: builtins.c:388
-msgid "given, then display the values of variables instead.  The -p option"
-msgstr ""
-
-#: builtins.c:389
-msgid "will display the attributes and values of each NAME."
-msgstr ""
-
-#: builtins.c:391
-msgid "The flags are:"
-msgstr ""
-
-#: builtins.c:393
-msgid "  -a\tto make NAMEs arrays (if supported)"
-msgstr ""
-
-#: builtins.c:394
-msgid "  -f\tto select from among function names only"
-msgstr ""
-
-#: builtins.c:395
 msgid ""
-"  -F\tto display function names (and line number and source file name if"
-msgstr ""
-
-#: builtins.c:396
-msgid "\tdebugging) without definitions"
-msgstr ""
-
-#: builtins.c:397
-msgid "  -i\tto make NAMEs have the `integer' attribute"
+" Declare variables and/or give them attributes.  If no NAMEs are\n"
+"    given, then display the values of variables instead.  The -p option\n"
+"    will display the attributes and values of each NAME.\n"
+"    \n"
+"    The flags are:\n"
+"    \n"
+"      -a\tto make NAMEs arrays (if supported)\n"
+"      -f\tto select from among function names only\n"
+"      -F\tto display function names (and line number and source file name "
+"if\n"
+"    \tdebugging) without definitions\n"
+"      -i\tto make NAMEs have the `integer' attribute\n"
+"      -r\tto make NAMEs readonly\n"
+"      -t\tto make NAMEs have the `trace' attribute\n"
+"      -x\tto make NAMEs export\n"
+"    \n"
+"    Variables with the integer attribute have arithmetic evaluation (see\n"
+"    `let') done when the variable is assigned to.\n"
+"    \n"
+"    When displaying values of variables, -f displays a function's name\n"
+"    and definition.  The -F option restricts the display to function\n"
+"    name only.\n"
+"    \n"
+"    Using `+' instead of `-' turns off the given attribute instead.  When\n"
+"    used in a function, makes NAMEs local, as with the `local' command."
 msgstr ""
 
-#: builtins.c:398
-msgid "  -r\tto make NAMEs readonly"
+#: builtins.c:416
+msgid " Obsolete.  See `declare'."
 msgstr ""
 
-#: builtins.c:399
-msgid "  -t\tto make NAMEs have the `trace' attribute"
+#: builtins.c:422
+msgid ""
+" Create a local variable called NAME, and give it VALUE.  LOCAL\n"
+"    can only be used within a function; it makes the variable NAME\n"
+"    have a visible scope restricted to that function and its children."
 msgstr ""
 
-#: builtins.c:400
-msgid "  -x\tto make NAMEs export"
+#: builtins.c:431
+msgid ""
+" Output the ARGs.  If -n is specified, the trailing newline is\n"
+"    suppressed.  If the -e option is given, interpretation of the\n"
+"    following backslash-escaped characters is turned on:\n"
+"    \t\\a\talert (bell)\n"
+"    \t\\b\tbackspace\n"
+"    \t\\c\tsuppress trailing newline\n"
+"    \t\\E\tescape character\n"
+"    \t\\f\tform feed\n"
+"    \t\\n\tnew line\n"
+"    \t\\r\tcarriage return\n"
+"    \t\\t\thorizontal tab\n"
+"    \t\\v\tvertical tab\n"
+"    \t\\\\\tbackslash\n"
+"    \t\\num\tthe character whose ASCII code is NUM (octal).\n"
+"    \n"
+"    You can explicitly turn off the interpretation of the above characters\n"
+"    with the -E option."
 msgstr ""
 
-#: builtins.c:402
-msgid "Variables with the integer attribute have arithmetic evaluation (see"
+#: builtins.c:455
+msgid ""
+" Output the ARGs.  If -n is specified, the trailing newline is suppressed."
 msgstr ""
 
-#: builtins.c:403
-msgid "`let') done when the variable is assigned to."
+#: builtins.c:462
+msgid ""
+" Enable and disable builtin shell commands.  This allows\n"
+"    you to use a disk command which has the same name as a shell\n"
+"    builtin without specifying a full pathname.  If -n is used, the\n"
+"    NAMEs become disabled; otherwise NAMEs are enabled.  For example,\n"
+"    to use the `test' found in $PATH instead of the shell builtin\n"
+"    version, type `enable -n test'.  On systems supporting dynamic\n"
+"    loading, the -f option may be used to load new builtins from the\n"
+"    shared object FILENAME.  The -d option will delete a builtin\n"
+"    previously loaded with -f.  If no non-option names are given, or\n"
+"    the -p option is supplied, a list of builtins is printed.  The\n"
+"    -a option means to print every builtin with an indication of whether\n"
+"    or not it is enabled.  The -s option restricts the output to the "
+"POSIX.2\n"
+"    `special' builtins.  The -n option displays a list of all disabled "
+"builtins."
 msgstr ""
 
-#: builtins.c:405
-msgid "When displaying values of variables, -f displays a function's name"
+#: builtins.c:480
+msgid " Read ARGs as input to the shell and execute the resulting command(s)."
 msgstr ""
 
-#: builtins.c:406
-msgid "and definition.  The -F option restricts the display to function"
+#: builtins.c:486
+msgid ""
+" Getopts is used by shell procedures to parse positional parameters.\n"
+"    \n"
+"    OPTSTRING contains the option letters to be recognized; if a letter\n"
+"    is followed by a colon, the option is expected to have an argument,\n"
+"    which should be separated from it by white space.\n"
+"    \n"
+"    Each time it is invoked, getopts will place the next option in the\n"
+"    shell variable $name, initializing name if it does not exist, and\n"
+"    the index of the next argument to be processed into the shell\n"
+"    variable OPTIND.  OPTIND is initialized to 1 each time the shell or\n"
+"    a shell script is invoked.  When an option requires an argument,\n"
+"    getopts places that argument into the shell variable OPTARG.\n"
+"    \n"
+"    getopts reports errors in one of two ways.  If the first character\n"
+"    of OPTSTRING is a colon, getopts uses silent error reporting.  In\n"
+"    this mode, no error messages are printed.  If an invalid option is\n"
+"    seen, getopts places the option character found into OPTARG.  If a\n"
+"    required argument is not found, getopts places a ':' into NAME and\n"
+"    sets OPTARG to the option character found.  If getopts is not in\n"
+"    silent mode, and an invalid option is seen, getopts places '?' into\n"
+"    NAME and unsets OPTARG.  If a required argument is not found, a '?'\n"
+"    is placed in NAME, OPTARG is unset, and a diagnostic message is\n"
+"    printed.\n"
+"    \n"
+"    If the shell variable OPTERR has the value 0, getopts disables the\n"
+"    printing of error messages, even if the first character of\n"
+"    OPTSTRING is not a colon.  OPTERR has the value 1 by default.\n"
+"    \n"
+"    Getopts normally parses the positional parameters ($0 - $9), but if\n"
+"    more arguments are given, they are parsed instead."
 msgstr ""
 
-#: builtins.c:407
-msgid "name only."
+#: builtins.c:521
+msgid ""
+" Exec FILE, replacing this shell with the specified program.\n"
+"    If FILE is not specified, the redirections take effect in this\n"
+"    shell.  If the first argument is `-l', then place a dash in the\n"
+"    zeroth arg passed to FILE, as login does.  If the `-c' option\n"
+"    is supplied, FILE is executed with a null environment.  The `-a'\n"
+"    option means to make set argv[0] of the executed process to NAME.\n"
+"    If the file cannot be executed and the shell is not interactive,\n"
+"    then the shell exits, unless the shell option `execfail' is set."
 msgstr ""
 
-#: builtins.c:409
-msgid "Using `+' instead of `-' turns off the given attribute instead.  When"
+#: builtins.c:534
+msgid ""
+" Exit the shell with a status of N.  If N is omitted, the exit status\n"
+"    is that of the last command executed."
 msgstr ""
 
-#: builtins.c:410
-msgid "used in a function, makes NAMEs local, as with the `local' command."
+#: builtins.c:541
+msgid " Logout of a login shell."
 msgstr ""
 
-#: builtins.c:416
-msgid "Obsolete.  See `declare'."
+#: builtins.c:548
+msgid ""
+" fc is used to list or edit and re-execute commands from the history list.\n"
+"    FIRST and LAST can be numbers specifying the range, or FIRST can be a\n"
+"    string, which means the most recent command beginning with that\n"
+"    string.\n"
+"    \n"
+"       -e ENAME selects which editor to use.  Default is FCEDIT, then "
+"EDITOR,\n"
+"          then vi.\n"
+"    \n"
+"       -l means list lines instead of editing.\n"
+"       -n means no line numbers listed.\n"
+"       -r means reverse the order of the lines (making it newest listed "
+"first).\n"
+"    \n"
+"    With the `fc -s [pat=rep ...] [command]' format, the command is\n"
+"    re-executed after the substitution OLD=NEW is performed.\n"
+"    \n"
+"    A useful alias to use with this is r='fc -s', so that typing `r cc'\n"
+"    runs the last command beginning with `cc' and typing `r' re-executes\n"
+"    the last command."
 msgstr ""
 
-#: builtins.c:422
-msgid "Create a local variable called NAME, and give it VALUE.  LOCAL"
+#: builtins.c:573
+msgid ""
+" Place JOB_SPEC in the foreground, and make it the current job.  If\n"
+"    JOB_SPEC is not present, the shell's notion of the current job is\n"
+"    used."
 msgstr ""
 
-#: builtins.c:423
-msgid "can only be used within a function; it makes the variable NAME"
+#: builtins.c:583
+msgid ""
+" Place each JOB_SPEC in the background, as if it had been started with\n"
+"    `&'.  If JOB_SPEC is not present, the shell's notion of the current\n"
+"    job is used."
 msgstr ""
 
-#: builtins.c:424
-msgid "have a visible scope restricted to that function and its children."
+#: builtins.c:592
+msgid ""
+" For each NAME, the full pathname of the command is determined and\n"
+"    remembered.  If the -p option is supplied, PATHNAME is used as the\n"
+"    full pathname of NAME, and no path search is performed.  The -r\n"
+"    option causes the shell to forget all remembered locations.  The -d\n"
+"    option causes the shell to forget the remembered location of each NAME.\n"
+"    If the -t option is supplied the full pathname to which each NAME\n"
+"    corresponds is printed.  If multiple NAME arguments are supplied with\n"
+"    -t, the NAME is printed before the hashed full pathname.  The -l option\n"
+"    causes output to be displayed in a format that may be reused as input.\n"
+"    If no arguments are given, information about remembered commands is "
+"displayed."
 msgstr ""
 
-#: builtins.c:431
-msgid "Output the ARGs.  If -n is specified, the trailing newline is"
+#: builtins.c:608
+msgid ""
+" Display helpful information about builtin commands.  If PATTERN is\n"
+"    specified, gives detailed help on all commands matching PATTERN,\n"
+"    otherwise a list of the builtins is printed.  The -s option\n"
+"    restricts the output for each builtin command matching PATTERN to\n"
+"    a short usage synopsis."
 msgstr ""
 
-#: builtins.c:432
-msgid "suppressed.  If the -e option is given, interpretation of the"
+#: builtins.c:620
+msgid ""
+" Display the history list with line numbers.  Lines listed with\n"
+"    with a `*' have been modified.  Argument of N says to list only\n"
+"    the last N lines.  The `-c' option causes the history list to be\n"
+"    cleared by deleting all of the entries.  The `-d' option deletes\n"
+"    the history entry at offset OFFSET.  The `-w' option writes out the\n"
+"    current history to the history file;  `-r' means to read the file and\n"
+"    append the contents to the history list instead.  `-a' means\n"
+"    to append history lines from this session to the history file.\n"
+"    Argument `-n' means to read all history lines not already read\n"
+"    from the history file and append them to the history list.\n"
+"    \n"
+"    If FILENAME is given, then that is used as the history file else\n"
+"    if $HISTFILE has a value, that is used, else ~/.bash_history.\n"
+"    If the -s option is supplied, the non-option ARGs are appended to\n"
+"    the history list as a single entry.  The -p option means to perform\n"
+"    history expansion on each ARG and display the result, without storing\n"
+"    anything in the history list.\n"
+"    \n"
+"    If the $HISTTIMEFORMAT variable is set and not null, its value is used\n"
+"    as a format string for strftime(3) to print the time stamp associated\n"
+"    with each displayed history entry.  No time stamps are printed otherwise."
 msgstr ""
 
-#: builtins.c:433
-msgid "following backslash-escaped characters is turned on:"
+#: builtins.c:648
+msgid ""
+" Lists the active jobs.  The -l option lists process id's in addition\n"
+"    to the normal information; the -p option lists process id's only.\n"
+"    If -n is given, only processes that have changed status since the last\n"
+"    notification are printed.  JOBSPEC restricts output to that job.  The\n"
+"    -r and -s options restrict output to running and stopped jobs only,\n"
+"    respectively.  Without options, the status of all active jobs is\n"
+"    printed.  If -x is given, COMMAND is run after all job specifications\n"
+"    that appear in ARGS have been replaced with the process ID of that "
+"job's\n"
+"    process group leader."
 msgstr ""
 
-#: builtins.c:434
-msgid "\t\\a\talert (bell)"
+#: builtins.c:664
+msgid ""
+" By default, removes each JOBSPEC argument from the table of active jobs.\n"
+"    If the -h option is given, the job is not removed from the table, but "
+"is\n"
+"    marked so that SIGHUP is not sent to the job if the shell receives a\n"
+"    SIGHUP.  The -a option, when JOBSPEC is not supplied, means to remove "
+"all\n"
+"    jobs from the job table; the -r option means to remove only running jobs."
 msgstr ""
 
-#: builtins.c:435
-msgid "\t\\b\tbackspace"
+#: builtins.c:675
+msgid ""
+" Send the processes named by PID (or JOBSPEC) the signal SIGSPEC.  If\n"
+"    SIGSPEC is not present, then SIGTERM is assumed.  An argument of `-l'\n"
+"    lists the signal names; if arguments follow `-l' they are assumed to\n"
+"    be signal numbers for which names should be listed.  Kill is a shell\n"
+"    builtin for two reasons: it allows job IDs to be used instead of\n"
+"    process IDs, and, if you have reached the limit on processes that\n"
+"    you can create, you don't have to start a process to kill another one."
 msgstr ""
 
-#: builtins.c:436
-msgid "\t\\c\tsuppress trailing newline"
+#: builtins.c:687
+msgid ""
+" Each ARG is an arithmetic expression to be evaluated.  Evaluation\n"
+"    is done in fixed-width integers with no check for overflow, though\n"
+"    division by 0 is trapped and flagged as an error.  The following\n"
+"    list of operators is grouped into levels of equal-precedence operators.\n"
+"    The levels are listed in order of decreasing precedence.\n"
+"    \n"
+"    \tid++, id--\tvariable post-increment, post-decrement\n"
+"    \t++id, --id\tvariable pre-increment, pre-decrement\n"
+"    \t-, +\t\tunary minus, plus\n"
+"    \t!, ~\t\tlogical and bitwise negation\n"
+"    \t**\t\texponentiation\n"
+"    \t*, /, %\t\tmultiplication, division, remainder\n"
+"    \t+, -\t\taddition, subtraction\n"
+"    \t<<, >>\t\tleft and right bitwise shifts\n"
+"    \t<=, >=, <, >\tcomparison\n"
+"    \t==, !=\t\tequality, inequality\n"
+"    \t&\t\tbitwise AND\n"
+"    \t^\t\tbitwise XOR\n"
+"    \t|\t\tbitwise OR\n"
+"    \t&&\t\tlogical AND\n"
+"    \t||\t\tlogical OR\n"
+"    \texpr ? expr : expr\n"
+"    \t\t\tconditional operator\n"
+"    \t=, *=, /=, %=,\n"
+"    \t+=, -=, <<=, >>=,\n"
+"    \t&=, ^=, |=\tassignment\n"
+"    \n"
+"    Shell variables are allowed as operands.  The name of the variable\n"
+"    is replaced by its value (coerced to a fixed-width integer) within\n"
+"    an expression.  The variable need not have its integer attribute\n"
+"    turned on to be used in an expression.\n"
+"    \n"
+"    Operators are evaluated in order of precedence.  Sub-expressions in\n"
+"    parentheses are evaluated first and may override the precedence\n"
+"    rules above.\n"
+"    \n"
+"    If the last ARG evaluates to 0, let returns 1; 0 is returned\n"
+"    otherwise."
 msgstr ""
 
-#: builtins.c:437
-msgid "\t\\E\tescape character"
+#: builtins.c:730
+msgid ""
+" One line is read from the standard input, or from file descriptor FD if "
+"the\n"
+"    -u option is supplied, and the first word is assigned to the first "
+"NAME,\n"
+"    the second word to the second NAME, and so on, with leftover words "
+"assigned\n"
+"    to the last NAME.  Only the characters found in $IFS are recognized as "
+"word\n"
+"    delimiters.  If no NAMEs are supplied, the line read is stored in the "
+"REPLY\n"
+"    variable.  If the -r option is given, this signifies `raw' input, and\n"
+"    backslash escaping is disabled.  The -d option causes read to continue\n"
+"    until the first character of DELIM is read, rather than newline.  If the "
+"-p\n"
+"    option is supplied, the string PROMPT is output without a trailing "
+"newline\n"
+"    before attempting to read.  If -a is supplied, the words read are "
+"assigned\n"
+"    to sequential indices of ARRAY, starting at zero.  If -e is supplied "
+"and\n"
+"    the shell is interactive, readline is used to obtain the line.  If -n "
+"is\n"
+"    supplied with a non-zero NCHARS argument, read returns after NCHARS\n"
+"    characters have been read.  The -s option causes input coming from a\n"
+"    terminal to not be echoed.\n"
+"    \n"
+"    The -t option causes read to time out and return failure if a complete "
+"line\n"
+"    of input is not read within TIMEOUT seconds.  If the TMOUT variable is "
+"set,\n"
+"    its value is the default timeout.  The return code is zero, unless end-"
+"of-file\n"
+"    is encountered, read times out, or an invalid file descriptor is "
+"supplied as\n"
+"    the argument to -u."
 msgstr ""
 
-#: builtins.c:438
-msgid "\t\\f\tform feed"
+#: builtins.c:756
+msgid ""
+" Causes a function to exit with the return value specified by N.  If N\n"
+"    is omitted, the return status is that of the last command."
 msgstr ""
 
-#: builtins.c:439
-msgid "\t\\n\tnew line"
+#: builtins.c:763
+msgid ""
+"     -a  Mark variables which are modified or created for export.\n"
+"        -b  Notify of job termination immediately.\n"
+"        -e  Exit immediately if a command exits with a non-zero status.\n"
+"        -f  Disable file name generation (globbing).\n"
+"        -h  Remember the location of commands as they are looked up.\n"
+"        -k  All assignment arguments are placed in the environment for a\n"
+"            command, not just those that precede the command name.\n"
+"        -m  Job control is enabled.\n"
+"        -n  Read commands but do not execute them.\n"
+"        -o option-name\n"
+"            Set the variable corresponding to option-name:\n"
+"                allexport    same as -a\n"
+"                braceexpand  same as -B\n"
+"                emacs        use an emacs-style line editing interface\n"
+"                errexit      same as -e\n"
+"                errtrace     same as -E\n"
+"                functrace    same as -T\n"
+"                hashall      same as -h\n"
+"                histexpand   same as -H\n"
+"                history      enable command history\n"
+"                ignoreeof    the shell will not exit upon reading EOF\n"
+"                interactive-comments\n"
+"                             allow comments to appear in interactive "
+"commands\n"
+"                keyword      same as -k\n"
+"                monitor      same as -m\n"
+"                noclobber    same as -C\n"
+"                noexec       same as -n\n"
+"                noglob       same as -f\n"
+"                nolog        currently accepted but ignored\n"
+"                notify       same as -b\n"
+"                nounset      same as -u\n"
+"                onecmd       same as -t\n"
+"                physical     same as -P\n"
+"                pipefail     the return value of a pipeline is the status "
+"of\n"
+"                             the last command to exit with a non-zero "
+"status,\n"
+"                             or zero if no command exited with a non-zero "
+"status\n"
+"                posix        change the behavior of bash where the default\n"
+"                             operation differs from the 1003.2 standard to\n"
+"                             match the standard\n"
+"                privileged   same as -p\n"
+"                verbose      same as -v\n"
+"                vi           use a vi-style line editing interface\n"
+"                xtrace       same as -x\n"
+"        -p  Turned on whenever the real and effective user ids do not "
+"match.\n"
+"            Disables processing of the $ENV file and importing of shell\n"
+"            functions.  Turning this option off causes the effective uid "
+"and\n"
+"            gid to be set to the real uid and gid.\n"
+"        -t  Exit after reading and executing one command.\n"
+"        -u  Treat unset variables as an error when substituting.\n"
+"        -v  Print shell input lines as they are read.\n"
+"        -x  Print commands and their arguments as they are executed.\n"
+"        -B  the shell will perform brace expansion\n"
+"        -C  If set, disallow existing regular files to be overwritten\n"
+"            by redirection of output.\n"
+"        -E  If set, the ERR trap is inherited by shell functions.\n"
+"        -H  Enable ! style history substitution.  This flag is on\n"
+"            by default when the shell is interactive.\n"
+"        -P  If set, do not follow symbolic links when executing commands\n"
+"            such as cd which change the current directory.\n"
+"        -T  If set, the DEBUG trap is inherited by shell functions.\n"
+"        -   Assign any remaining arguments to the positional parameters.\n"
+"            The -x and -v options are turned off.\n"
+"    \n"
+"    Using + rather than - causes these flags to be turned off.  The\n"
+"    flags can also be used upon invocation of the shell.  The current\n"
+"    set of flags may be found in $-.  The remaining n ARGs are positional\n"
+"    parameters and are assigned, in order, to $1, $2, .. $n.  If no\n"
+"    ARGs are given, all shell variables are printed."
 msgstr ""
 
-#: builtins.c:440
-msgid "\t\\r\tcarriage return"
+#: builtins.c:836
+msgid ""
+" For each NAME, remove the corresponding variable or function.  Given\n"
+"    the `-v', unset will only act on variables.  Given the `-f' flag,\n"
+"    unset will only act on functions.  With neither flag, unset first\n"
+"    tries to unset a variable, and if that fails, then tries to unset a\n"
+"    function.  Some variables cannot be unset; also see readonly."
 msgstr ""
 
-#: builtins.c:441
-msgid "\t\\t\thorizontal tab"
+#: builtins.c:846
+msgid ""
+" NAMEs are marked for automatic export to the environment of\n"
+"    subsequently executed commands.  If the -f option is given,\n"
+"    the NAMEs refer to functions.  If no NAMEs are given, or if `-p'\n"
+"    is given, a list of all names that are exported in this shell is\n"
+"    printed.  An argument of `-n' says to remove the export property\n"
+"    from subsequent NAMEs.  An argument of `--' disables further option\n"
+"    processing."
 msgstr ""
 
-#: builtins.c:442
-msgid "\t\\v\tvertical tab"
+#: builtins.c:858
+msgid ""
+" The given NAMEs are marked readonly and the values of these NAMEs may\n"
+"    not be changed by subsequent assignment.  If the -f option is given,\n"
+"    then functions corresponding to the NAMEs are so marked.  If no\n"
+"    arguments are given, or if `-p' is given, a list of all readonly names\n"
+"    is printed.  The `-a' option means to treat each NAME as\n"
+"    an array variable.  An argument of `--' disables further option\n"
+"    processing."
 msgstr ""
 
-#: builtins.c:443
-msgid "\t\\\\\tbackslash"
+#: builtins.c:870
+msgid ""
+" The positional parameters from $N+1 ... are renamed to $1 ...  If N is\n"
+"    not given, it is assumed to be 1."
+msgstr ""
+
+#: builtins.c:877 builtins.c:886
+msgid ""
+" Read and execute commands from FILENAME and return.  The pathnames\n"
+"    in $PATH are used to find the directory containing FILENAME.  If any\n"
+"    ARGUMENTS are supplied, they become the positional parameters when\n"
+"    FILENAME is executed."
+msgstr ""
+
+#: builtins.c:896
+msgid ""
+" Suspend the execution of this shell until it receives a SIGCONT\n"
+"    signal.  The `-f' if specified says not to complain about this\n"
+"    being a login shell if it is; just suspend anyway."
+msgstr ""
+
+#: builtins.c:905
+msgid ""
+" Exits with a status of 0 (true) or 1 (false) depending on\n"
+"    the evaluation of EXPR.  Expressions may be unary or binary.  Unary\n"
+"    expressions are often used to examine the status of a file.  There\n"
+"    are string operators as well, and numeric comparison operators.\n"
+"    \n"
+"    File operators:\n"
+"    \n"
+"        -a FILE        True if file exists.\n"
+"        -b FILE        True if file is block special.\n"
+"        -c FILE        True if file is character special.\n"
+"        -d FILE        True if file is a directory.\n"
+"        -e FILE        True if file exists.\n"
+"        -f FILE        True if file exists and is a regular file.\n"
+"        -g FILE        True if file is set-group-id.\n"
+"        -h FILE        True if file is a symbolic link.\n"
+"        -L FILE        True if file is a symbolic link.\n"
+"        -k FILE        True if file has its `sticky' bit set.\n"
+"        -p FILE        True if file is a named pipe.\n"
+"        -r FILE        True if file is readable by you.\n"
+"        -s FILE        True if file exists and is not empty.\n"
+"        -S FILE        True if file is a socket.\n"
+"        -t FD          True if FD is opened on a terminal.\n"
+"        -u FILE        True if the file is set-user-id.\n"
+"        -w FILE        True if the file is writable by you.\n"
+"        -x FILE        True if the file is executable by you.\n"
+"        -O FILE        True if the file is effectively owned by you.\n"
+"        -G FILE        True if the file is effectively owned by your group.\n"
+"        -N FILE        True if the file has been modified since it was last "
+"read.\n"
+"    \n"
+"      FILE1 -nt FILE2  True if file1 is newer than file2 (according to\n"
+"                       modification date).\n"
+"    \n"
+"      FILE1 -ot FILE2  True if file1 is older than file2.\n"
+"    \n"
+"      FILE1 -ef FILE2  True if file1 is a hard link to file2.\n"
+"    \n"
+"    String operators:\n"
+"    \n"
+"        -z STRING      True if string is empty.\n"
+"    \n"
+"        -n STRING\n"
+"        STRING         True if string is not empty.\n"
+"    \n"
+"        STRING1 = STRING2\n"
+"                       True if the strings are equal.\n"
+"        STRING1 != STRING2\n"
+"                       True if the strings are not equal.\n"
+"        STRING1 < STRING2\n"
+"                       True if STRING1 sorts before STRING2 "
+"lexicographically.\n"
+"        STRING1 > STRING2\n"
+"                       True if STRING1 sorts after STRING2 "
+"lexicographically.\n"
+"    \n"
+"    Other operators:\n"
+"    \n"
+"        -o OPTION      True if the shell option OPTION is enabled.\n"
+"        ! EXPR         True if expr is false.\n"
+"        EXPR1 -a EXPR2 True if both expr1 AND expr2 are true.\n"
+"        EXPR1 -o EXPR2 True if either expr1 OR expr2 is true.\n"
+"    \n"
+"        arg1 OP arg2   Arithmetic tests.  OP is one of -eq, -ne,\n"
+"                       -lt, -le, -gt, or -ge.\n"
+"    \n"
+"    Arithmetic binary operators return true if ARG1 is equal, not-equal,\n"
+"    less-than, less-than-or-equal, greater-than, or greater-than-or-equal\n"
+"    than ARG2."
 msgstr ""
 
-#: builtins.c:444
-msgid "\t\\num\tthe character whose ASCII code is NUM (octal)."
+#: builtins.c:975
+msgid ""
+" This is a synonym for the \"test\" builtin, but the last\n"
+"    argument must be a literal `]', to match the opening `['."
 msgstr ""
 
-#: builtins.c:446
-msgid "You can explicitly turn off the interpretation of the above characters"
+#: builtins.c:982
+msgid ""
+" Print the accumulated user and system times for processes run from\n"
+"    the shell."
 msgstr ""
 
-#: builtins.c:447
-msgid "with the -E option."
+#: builtins.c:989
+msgid ""
+" The command ARG is to be read and executed when the shell receives\n"
+"    signal(s) SIGNAL_SPEC.  If ARG is absent (and a single SIGNAL_SPEC\n"
+"    is supplied) or `-', each specified signal is reset to its original\n"
+"    value.  If ARG is the null string each SIGNAL_SPEC is ignored by the\n"
+"    shell and by the commands it invokes.  If a SIGNAL_SPEC is EXIT (0)\n"
+"    the command ARG is executed on exit from the shell.  If a SIGNAL_SPEC\n"
+"    is DEBUG, ARG is executed after every simple command.  If the`-p' "
+"option\n"
+"    is supplied then the trap commands associated with each SIGNAL_SPEC are\n"
+"    displayed.  If no arguments are supplied or if only `-p' is given, trap\n"
+"    prints the list of commands associated with each signal.  Each "
+"SIGNAL_SPEC\n"
+"    is either a signal name in <signal.h> or a signal number.  Signal names\n"
+"    are case insensitive and the SIG prefix is optional.  `trap -l' prints\n"
+"    a list of signal names and their corresponding numbers.  Note that a\n"
+"    signal can be sent to the shell with \"kill -signal $$\"."
 msgstr ""
 
-#: builtins.c:455
+#: builtins.c:1008
 msgid ""
-"Output the ARGs.  If -n is specified, the trailing newline is suppressed."
+" For each NAME, indicate how it would be interpreted if used as a\n"
+"    command name.\n"
+"    \n"
+"    If the -t option is used, `type' outputs a single word which is one of\n"
+"    `alias', `keyword', `function', `builtin', `file' or `', if NAME is an\n"
+"    alias, shell reserved word, shell function, shell builtin, disk file,\n"
+"    or unfound, respectively.\n"
+"    \n"
+"    If the -p flag is used, `type' either returns the name of the disk\n"
+"    file that would be executed, or nothing if `type -t NAME' would not\n"
+"    return `file'.\n"
+"    \n"
+"    If the -a flag is used, `type' displays all of the places that contain\n"
+"    an executable named `file'.  This includes aliases, builtins, and\n"
+"    functions, if and only if the -p flag is not also used.\n"
+"    \n"
+"    The -f flag suppresses shell function lookup.\n"
+"    \n"
+"    The -P flag forces a PATH search for each NAME, even if it is an alias,\n"
+"    builtin, or function, and returns the name of the disk file that would\n"
+"    be executed."
+msgstr ""
+
+#: builtins.c:1035
+msgid ""
+" Ulimit provides control over the resources available to processes\n"
+"    started by the shell, on systems that allow such control.  If an\n"
+"    option is given, it is interpreted as follows:\n"
+"    \n"
+"        -S\tuse the `soft' resource limit\n"
+"        -H\tuse the `hard' resource limit\n"
+"        -a\tall current limits are reported\n"
+"        -c\tthe maximum size of core files created\n"
+"        -d\tthe maximum size of a process's data segment\n"
+"        -f\tthe maximum size of files created by the shell\n"
+"        -i  the maximum number of pending signals\n"
+"        -l\tthe maximum size a process may lock into memory\n"
+"        -m\tthe maximum resident set size\n"
+"        -n\tthe maximum number of open file descriptors\n"
+"        -p\tthe pipe buffer size\n"
+"        -q  the maximum number of bytes in POSIX message queues\n"
+"        -s\tthe maximum stack size\n"
+"        -t\tthe maximum amount of cpu time in seconds\n"
+"        -u\tthe maximum number of user processes\n"
+"        -v\tthe size of virtual memory\n"
+"        -x  the maximum number of file locks\n"
+"    \n"
+"    If LIMIT is given, it is the new value of the specified resource;\n"
+"    the special LIMIT values `soft', `hard', and `unlimited' stand for\n"
+"    the current soft limit, the current hard limit, and no limit, "
+"respectively.\n"
+"    Otherwise, the current value of the specified resource is printed.\n"
+"    If no option is given, then -f is assumed.  Values are in 1024-byte\n"
+"    increments, except for -t, which is in seconds, -p, which is in\n"
+"    increments of 512 bytes, and -u, which is an unscaled number of\n"
+"    processes."
 msgstr ""
 
-#: builtins.c:462
-msgid "Enable and disable builtin shell commands.  This allows"
+#: builtins.c:1071
+msgid ""
+" The user file-creation mask is set to MODE.  If MODE is omitted, or if\n"
+"    `-S' is supplied, the current value of the mask is printed.  The `-S'\n"
+"    option makes the output symbolic; otherwise an octal number is output.\n"
+"    If `-p' is supplied, and MODE is omitted, the output is in a form\n"
+"    that may be used as input.  If MODE begins with a digit, it is\n"
+"    interpreted as an octal number, otherwise it is a symbolic mode string\n"
+"    like that accepted by chmod(1)."
 msgstr ""
 
-#: builtins.c:463
-msgid "you to use a disk command which has the same name as a shell"
+#: builtins.c:1084
+msgid ""
+" Wait for the specified process and report its termination status.  If\n"
+"    N is not given, all currently active child processes are waited for,\n"
+"    and the return code is zero.  N may be a process ID or a job\n"
+"    specification; if a job spec is given, all processes in the job's\n"
+"    pipeline are waited for."
 msgstr ""
 
-#: builtins.c:464
-msgid "builtin without specifying a full pathname.  If -n is used, the"
+#: builtins.c:1096
+msgid ""
+" Wait for the specified process and report its termination status.  If\n"
+"    N is not given, all currently active child processes are waited for,\n"
+"    and the return code is zero.  N is a process ID; if it is not given,\n"
+"    all child processes of the shell are waited for."
 msgstr ""
 
-#: builtins.c:465
-msgid "NAMEs become disabled; otherwise NAMEs are enabled.  For example,"
+#: builtins.c:1106
+msgid ""
+" The `for' loop executes a sequence of commands for each member in a\n"
+"    list of items.  If `in WORDS ...;' is not present, then `in \"$@\"' is\n"
+"    assumed.  For each element in WORDS, NAME is set to that element, and\n"
+"    the COMMANDS are executed."
 msgstr ""
 
-#: builtins.c:466
-msgid "to use the `test' found in $PATH instead of the shell builtin"
+#: builtins.c:1115
+msgid ""
+" Equivalent to\n"
+"    \t(( EXP1 ))\n"
+"    \twhile (( EXP2 )); do\n"
+"    \t\tCOMMANDS\n"
+"    \t\t(( EXP3 ))\n"
+"    \tdone\n"
+"    EXP1, EXP2, and EXP3 are arithmetic expressions.  If any expression is\n"
+"    omitted, it behaves as if it evaluates to 1."
 msgstr ""
 
-#: builtins.c:467
-msgid "version, type `enable -n test'.  On systems supporting dynamic"
+#: builtins.c:1128
+msgid ""
+" The WORDS are expanded, generating a list of words.  The\n"
+"    set of expanded words is printed on the standard error, each\n"
+"    preceded by a number.  If `in WORDS' is not present, `in \"$@\"'\n"
+"    is assumed.  The PS3 prompt is then displayed and a line read\n"
+"    from the standard input.  If the line consists of the number\n"
+"    corresponding to one of the displayed words, then NAME is set\n"
+"    to that word.  If the line is empty, WORDS and the prompt are\n"
+"    redisplayed.  If EOF is read, the command completes.  Any other\n"
+"    value read causes NAME to be set to null.  The line read is saved\n"
+"    in the variable REPLY.  COMMANDS are executed after each selection\n"
+"    until a break command is executed."
 msgstr ""
 
-#: builtins.c:468
-msgid "loading, the -f option may be used to load new builtins from the"
+#: builtins.c:1144
+msgid ""
+" Execute PIPELINE and print a summary of the real time, user CPU time,\n"
+"    and system CPU time spent executing PIPELINE when it terminates.\n"
+"    The return status is the return status of PIPELINE.  The `-p' option\n"
+"    prints the timing summary in a slightly different format.  This uses\n"
+"    the value of the TIMEFORMAT variable as the output format."
 msgstr ""
 
-#: builtins.c:469
-msgid "shared object FILENAME.  The -d option will delete a builtin"
+#: builtins.c:1154
+msgid ""
+" Selectively execute COMMANDS based upon WORD matching PATTERN.  The\n"
+"    `|' is used to separate multiple patterns."
 msgstr ""
 
-#: builtins.c:470
-msgid "previously loaded with -f.  If no non-option names are given, or"
+#: builtins.c:1161
+msgid ""
+" The `if COMMANDS' list is executed.  If its exit status is zero, then the\n"
+"    `then COMMANDS' list is executed.  Otherwise, each `elif COMMANDS' list "
+"is\n"
+"    executed in turn, and if its exit status is zero, the corresponding\n"
+"    `then COMMANDS' list is executed and the if command completes.  "
+"Otherwise,\n"
+"    the `else COMMANDS' list is executed, if present.  The exit status of "
+"the\n"
+"    entire construct is the exit status of the last command executed, or "
+"zero\n"
+"    if no condition tested true."
 msgstr ""
 
-#: builtins.c:471
-msgid "the -p option is supplied, a list of builtins is printed.  The"
+#: builtins.c:1173
+msgid ""
+" Expand and execute COMMANDS as long as the final command in the\n"
+"    `while' COMMANDS has an exit status of zero."
 msgstr ""
 
-#: builtins.c:472
-msgid "-a option means to print every builtin with an indication of whether"
+#: builtins.c:1180
+msgid ""
+" Expand and execute COMMANDS as long as the final command in the\n"
+"    `until' COMMANDS has an exit status which is not zero."
 msgstr ""
 
-#: builtins.c:473
+#: builtins.c:1187
 msgid ""
-"or not it is enabled.  The -s option restricts the output to the POSIX.2"
+" Create a simple command invoked by NAME which runs COMMANDS.\n"
+"    Arguments on the command line along with NAME are passed to the\n"
+"    function as $0 .. $n."
 msgstr ""
 
-#: builtins.c:474
+#: builtins.c:1195
 msgid ""
-"`special' builtins.  The -n option displays a list of all disabled builtins."
+" Run a set of commands in a group.  This is one way to redirect an\n"
+"    entire set of commands."
 msgstr ""
 
-#: builtins.c:480
-msgid "Read ARGs as input to the shell and execute the resulting command(s)."
+#: builtins.c:1202
+msgid ""
+" Equivalent to the JOB_SPEC argument to the `fg' command.  Resume a\n"
+"    stopped or background job.  JOB_SPEC can specify either a job name\n"
+"    or a job number.  Following JOB_SPEC with a `&' places the job in\n"
+"    the background, as if the job specification had been supplied as an\n"
+"    argument to `bg'."
 msgstr ""
 
-#: builtins.c:486
-msgid "Getopts is used by shell procedures to parse positional parameters."
+#: builtins.c:1212
+msgid ""
+" The EXPRESSION is evaluated according to the rules for arithmetic\n"
+"    evaluation.  Equivalent to \"let EXPRESSION\"."
 msgstr ""
 
-#: builtins.c:488
-msgid "OPTSTRING contains the option letters to be recognized; if a letter"
+#: builtins.c:1219
+msgid ""
+" Returns a status of 0 or 1 depending on the evaluation of the conditional\n"
+"    expression EXPRESSION.  Expressions are composed of the same primaries "
+"used\n"
+"    by the `test' builtin, and may be combined using the following "
+"operators\n"
+"    \n"
+"    \t( EXPRESSION )\tReturns the value of EXPRESSION\n"
+"    \t! EXPRESSION\tTrue if EXPRESSION is false; else false\n"
+"    \tEXPR1 && EXPR2\tTrue if both EXPR1 and EXPR2 are true; else false\n"
+"    \tEXPR1 || EXPR2\tTrue if either EXPR1 or EXPR2 is true; else false\n"
+"    \n"
+"    When the `==' and `!=' operators are used, the string to the right of "
+"the\n"
+"    operator is used as a pattern and pattern matching is performed.  The\n"
+"    && and || operators do not evaluate EXPR2 if EXPR1 is sufficient to\n"
+"    determine the expression's value."
 msgstr ""
 
-#: builtins.c:489
-msgid "is followed by a colon, the option is expected to have an argument,"
+#: builtins.c:1237
+msgid ""
+" BASH_VERSION    Version information for this Bash.\n"
+"    CDPATH          A colon-separated list of directories to search\n"
+"    \t\tfor directries given as arguments to `cd'.\n"
+"    GLOBIGNORE\tA colon-separated list of patterns describing filenames to\n"
+"    \t\tbe ignored by pathname expansion.\n"
+"    HISTFILE        The name of the file where your command history is "
+"stored.\n"
+"    HISTFILESIZE    The maximum number of lines this file can contain.\n"
+"    HISTSIZE        The maximum number of history lines that a running\n"
+"    \t\tshell can access.\n"
+"    HOME            The complete pathname to your login directory.\n"
+"    HOSTNAME\tThe name of the current host.\n"
+"    HOSTTYPE        The type of CPU this version of Bash is running under.\n"
+"    IGNOREEOF       Controls the action of the shell on receipt of an EOF\n"
+"    \t\tcharacter as the sole input.  If set, then the value\n"
+"    \t\tof it is the number of EOF characters that can be seen\n"
+"    \t\tin a row on an empty line before the shell will exit\n"
+"    \t\t(default 10).  When unset, EOF signifies the end of input.\n"
+"    MACHTYPE\tA string describing the current system Bash is running on.\n"
+"    MAILCHECK\tHow often, in seconds, Bash checks for new mail.\n"
+"    MAILPATH\tA colon-separated list of filenames which Bash checks\n"
+"    \t\tfor new mail.\n"
+"    OSTYPE\t\tThe version of Unix this version of Bash is running on.\n"
+"    PATH            A colon-separated list of directories to search when\n"
+"    \t\tlooking for commands.\n"
+"    PROMPT_COMMAND  A command to be executed before the printing of each\n"
+"    \t\tprimary prompt.\n"
+"    PS1             The primary prompt string.\n"
+"    PS2             The secondary prompt string.\n"
+"    PWD\t\tThe full pathname of the current directory.\n"
+"    SHELLOPTS\tA colon-separated list of enabled shell options.\n"
+"    TERM            The name of the current terminal type.\n"
+"    TIMEFORMAT\tThe output format for timing statistics displayed by the\n"
+"    \t\t`time' reserved word.\n"
+"    auto_resume     Non-null means a command word appearing on a line by\n"
+"    \t\titself is first looked for in the list of currently\n"
+"    \t\tstopped jobs.  If found there, that job is foregrounded.\n"
+"    \t\tA value of `exact' means that the command word must\n"
+"    \t\texactly match a command in the list of stopped jobs.  A\n"
+"    \t\tvalue of `substring' means that the command word must\n"
+"    \t\tmatch a substring of the job.  Any other value means that\n"
+"    \t\tthe command must be a prefix of a stopped job.\n"
+"    histchars       Characters controlling history expansion and quick\n"
+"    \t\tsubstitution.  The first character is the history\n"
+"    \t\tsubstitution character, usually `!'.  The second is\n"
+"    \t\tthe `quick substitution' character, usually `^'.  The\n"
+"    \t\tthird is the `history comment' character, usually `#'.\n"
+"    HISTIGNORE\tA colon-separated list of patterns used to decide which\n"
+"    \t\tcommands should be saved on the history list.\n"
 msgstr ""
 
-#: builtins.c:490
-msgid "which should be separated from it by white space."
+#: builtins.c:1292
+msgid ""
+" Adds a directory to the top of the directory stack, or rotates\n"
+"    the stack, making the new top of the stack the current working\n"
+"    directory.  With no arguments, exchanges the top two directories.\n"
+"    \n"
+"    +N\tRotates the stack so that the Nth directory (counting\n"
+"    \tfrom the left of the list shown by `dirs', starting with\n"
+"    \tzero) is at the top.\n"
+"    \n"
+"    -N\tRotates the stack so that the Nth directory (counting\n"
+"    \tfrom the right of the list shown by `dirs', starting with\n"
+"    \tzero) is at the top.\n"
+"    \n"
+"    -n\tsuppress the normal change of directory when adding directories\n"
+"    \tto the stack, so only the stack is manipulated.\n"
+"    \n"
+"    dir\tadds DIR to the directory stack at the top, making it the\n"
+"    \tnew current working directory.\n"
+"    \n"
+"    You can see the directory stack with the `dirs' command."
 msgstr ""
 
-#: builtins.c:492
-msgid "Each time it is invoked, getopts will place the next option in the"
+#: builtins.c:1318
+msgid ""
+" Removes entries from the directory stack.  With no arguments,\n"
+"    removes the top directory from the stack, and cd's to the new\n"
+"    top directory.\n"
+"    \n"
+"    +N\tremoves the Nth entry counting from the left of the list\n"
+"    \tshown by `dirs', starting with zero.  For example: `popd +0'\n"
+"    \tremoves the first directory, `popd +1' the second.\n"
+"    \n"
+"    -N\tremoves the Nth entry counting from the right of the list\n"
+"    \tshown by `dirs', starting with zero.  For example: `popd -0'\n"
+"    \tremoves the last directory, `popd -1' the next to last.\n"
+"    \n"
+"    -n\tsuppress the normal change of directory when removing directories\n"
+"    \tfrom the stack, so only the stack is manipulated.\n"
+"    \n"
+"    You can see the directory stack with the `dirs' command."
 msgstr ""
 
-#: builtins.c:493
-msgid "shell variable $name, initializing name if it does not exist, and"
+#: builtins.c:1341
+msgid ""
+" Display the list of currently remembered directories.  Directories\n"
+"    find their way onto the list with the `pushd' command; you can get\n"
+"    back up through the list with the `popd' command.\n"
+"    \n"
+"    The -l flag specifies that `dirs' should not print shorthand versions\n"
+"    of directories which are relative to your home directory.  This means\n"
+"    that `~/bin' might be displayed as `/homes/bfox/bin'.  The -v flag\n"
+"    causes `dirs' to print the directory stack with one entry per line,\n"
+"    prepending the directory name with its position in the stack.  The -p\n"
+"    flag does the same thing, but the stack position is not prepended.\n"
+"    The -c flag clears the directory stack by deleting all of the elements.\n"
+"    \n"
+"    +N\tdisplays the Nth entry counting from the left of the list shown by\n"
+"    \tdirs when invoked without options, starting with zero.\n"
+"    \n"
+"    -N\tdisplays the Nth entry counting from the right of the list shown by\n"
+"    \tdirs when invoked without options, starting with zero."
+msgstr ""
+
+#: builtins.c:1364
+msgid ""
+" Toggle the values of variables controlling optional behavior.\n"
+"    The -s flag means to enable (set) each OPTNAME; the -u flag\n"
+"    unsets each OPTNAME.  The -q flag suppresses output; the exit\n"
+"    status indicates whether each OPTNAME is set or unset.  The -o\n"
+"    option restricts the OPTNAMEs to those defined for use with\n"
+"    `set -o'.  With no options, or with the -p option, a list of all\n"
+"    settable options is displayed, with an indication of whether or\n"
+"    not each is set."
+msgstr ""
+
+#: builtins.c:1377
+msgid ""
+" printf formats and prints ARGUMENTS under control of the FORMAT. FORMAT\n"
+"    is a character string which contains three types of objects: plain\n"
+"    characters, which are simply copied to standard output, character "
+"escape\n"
+"    sequences which are converted and copied to the standard output, and\n"
+"    format specifications, each of which causes printing of the next "
+"successive\n"
+"    argument.  In addition to the standard printf(1) formats, %b means to\n"
+"    expand backslash escape sequences in the corresponding argument, and %q\n"
+"    means to quote the argument in a way that can be reused as shell input.\n"
+"    If the -v option is supplied, the output is placed into the value of "
+"the\n"
+"    shell variable VAR rather than being sent to the standard output."
 msgstr ""
 
-#: builtins.c:494
-msgid "the index of the next argument to be processed into the shell"
-msgstr ""
-
-#: builtins.c:495
-msgid "variable OPTIND.  OPTIND is initialized to 1 each time the shell or"
-msgstr ""
-
-#: builtins.c:496
-msgid "a shell script is invoked.  When an option requires an argument,"
-msgstr ""
-
-#: builtins.c:497
-msgid "getopts places that argument into the shell variable OPTARG."
-msgstr ""
-
-#: builtins.c:499
-msgid "getopts reports errors in one of two ways.  If the first character"
-msgstr ""
-
-#: builtins.c:500
-msgid "of OPTSTRING is a colon, getopts uses silent error reporting.  In"
-msgstr ""
-
-#: builtins.c:501
-msgid "this mode, no error messages are printed.  If an invalid option is"
-msgstr ""
-
-#: builtins.c:502
-msgid "seen, getopts places the option character found into OPTARG.  If a"
-msgstr ""
-
-#: builtins.c:503
-msgid "required argument is not found, getopts places a ':' into NAME and"
-msgstr ""
-
-#: builtins.c:504
-msgid "sets OPTARG to the option character found.  If getopts is not in"
-msgstr ""
-
-#: builtins.c:505
-msgid "silent mode, and an invalid option is seen, getopts places '?' into"
-msgstr ""
-
-#: builtins.c:506
-msgid "NAME and unsets OPTARG.  If a required argument is not found, a '?'"
-msgstr ""
-
-#: builtins.c:507
-msgid "is placed in NAME, OPTARG is unset, and a diagnostic message is"
-msgstr ""
-
-#: builtins.c:508
-msgid "printed."
-msgstr ""
-
-#: builtins.c:510
-msgid "If the shell variable OPTERR has the value 0, getopts disables the"
-msgstr ""
-
-#: builtins.c:511
-msgid "printing of error messages, even if the first character of"
-msgstr ""
-
-#: builtins.c:512
-msgid "OPTSTRING is not a colon.  OPTERR has the value 1 by default."
-msgstr ""
-
-#: builtins.c:514
-msgid "Getopts normally parses the positional parameters ($0 - $9), but if"
-msgstr ""
-
-#: builtins.c:515
-msgid "more arguments are given, they are parsed instead."
-msgstr ""
-
-#: builtins.c:521
-msgid "Exec FILE, replacing this shell with the specified program."
-msgstr ""
-
-#: builtins.c:522
-msgid "If FILE is not specified, the redirections take effect in this"
-msgstr ""
-
-#: builtins.c:523
-msgid "shell.  If the first argument is `-l', then place a dash in the"
-msgstr ""
-
-#: builtins.c:524
-msgid "zeroth arg passed to FILE, as login does.  If the `-c' option"
-msgstr ""
-
-#: builtins.c:525
-msgid "is supplied, FILE is executed with a null environment.  The `-a'"
-msgstr ""
-
-#: builtins.c:526
-msgid "option means to make set argv[0] of the executed process to NAME."
-msgstr ""
-
-#: builtins.c:527
-msgid "If the file cannot be executed and the shell is not interactive,"
-msgstr ""
-
-#: builtins.c:528
-msgid "then the shell exits, unless the shell option `execfail' is set."
-msgstr ""
-
-#: builtins.c:534
-msgid "Exit the shell with a status of N.  If N is omitted, the exit status"
-msgstr ""
-
-#: builtins.c:535
-msgid "is that of the last command executed."
-msgstr ""
-
-#: builtins.c:541
-msgid "Logout of a login shell."
-msgstr ""
-
-#: builtins.c:548
-msgid ""
-"fc is used to list or edit and re-execute commands from the history list."
-msgstr ""
-
-#: builtins.c:549
-msgid "FIRST and LAST can be numbers specifying the range, or FIRST can be a"
-msgstr ""
-
-#: builtins.c:550
-msgid "string, which means the most recent command beginning with that"
-msgstr ""
-
-#: builtins.c:551
-msgid "string."
-msgstr ""
-
-#: builtins.c:553
-msgid ""
-"   -e ENAME selects which editor to use.  Default is FCEDIT, then EDITOR,"
-msgstr ""
-
-#: builtins.c:554
-msgid "      then vi."
-msgstr ""
-
-#: builtins.c:556
-msgid "   -l means list lines instead of editing."
-msgstr ""
-
-#: builtins.c:557
-msgid "   -n means no line numbers listed."
-msgstr ""
-
-#: builtins.c:558
-msgid ""
-"   -r means reverse the order of the lines (making it newest listed first)."
-msgstr ""
-
-#: builtins.c:560
-msgid "With the `fc -s [pat=rep ...] [command]' format, the command is"
-msgstr ""
-
-#: builtins.c:561
-msgid "re-executed after the substitution OLD=NEW is performed."
-msgstr ""
-
-#: builtins.c:563
-msgid "A useful alias to use with this is r='fc -s', so that typing `r cc'"
-msgstr ""
-
-#: builtins.c:564
-msgid "runs the last command beginning with `cc' and typing `r' re-executes"
-msgstr ""
-
-#: builtins.c:565
-msgid "the last command."
-msgstr ""
-
-#: builtins.c:573
-msgid "Place JOB_SPEC in the foreground, and make it the current job.  If"
-msgstr ""
-
-#: builtins.c:574
-msgid "JOB_SPEC is not present, the shell's notion of the current job is"
-msgstr ""
-
-#: builtins.c:575
-msgid "used."
-msgstr ""
-
-#: builtins.c:583
-msgid "Place JOB_SPEC in the background, as if it had been started with"
-msgstr ""
-
-#: builtins.c:584
-msgid "`&'.  If JOB_SPEC is not present, the shell's notion of the current"
-msgstr ""
-
-#: builtins.c:585
-msgid "job is used."
-msgstr ""
-
-#: builtins.c:592
-msgid "For each NAME, the full pathname of the command is determined and"
-msgstr ""
-
-#: builtins.c:593
-msgid "remembered.  If the -p option is supplied, PATHNAME is used as the"
-msgstr ""
-
-#: builtins.c:594
-msgid "full pathname of NAME, and no path search is performed.  The -r"
-msgstr ""
-
-#: builtins.c:595
-msgid "option causes the shell to forget all remembered locations.  The -d"
-msgstr ""
-
-#: builtins.c:596
-msgid "option causes the shell to forget the remembered location of each NAME."
-msgstr ""
-
-#: builtins.c:597
-msgid "If the -t option is supplied the full pathname to which each NAME"
-msgstr ""
-
-#: builtins.c:598
-msgid "corresponds is printed.  If multiple NAME arguments are supplied with"
-msgstr ""
-
-#: builtins.c:599
-msgid "-t, the NAME is printed before the hashed full pathname.  The -l option"
-msgstr ""
-
-#: builtins.c:600
-msgid "causes output to be displayed in a format that may be reused as input."
-msgstr ""
-
-#: builtins.c:601
-msgid ""
-"If no arguments are given, information about remembered commands is "
-"displayed."
-msgstr ""
-
-#: builtins.c:608
-msgid "Display helpful information about builtin commands.  If PATTERN is"
-msgstr ""
-
-#: builtins.c:609
-msgid "specified, gives detailed help on all commands matching PATTERN,"
-msgstr ""
-
-#: builtins.c:610
-msgid "otherwise a list of the builtins is printed.  The -s option"
-msgstr ""
-
-#: builtins.c:611
-msgid "restricts the output for each builtin command matching PATTERN to"
-msgstr ""
-
-#: builtins.c:612
-msgid "a short usage synopsis."
-msgstr ""
-
-#: builtins.c:620
-msgid "Display the history list with line numbers.  Lines listed with"
-msgstr ""
-
-#: builtins.c:621
-msgid "with a `*' have been modified.  Argument of N says to list only"
-msgstr ""
-
-#: builtins.c:622
-msgid "the last N lines.  The `-c' option causes the history list to be"
-msgstr ""
-
-#: builtins.c:623
-msgid "cleared by deleting all of the entries.  The `-d' option deletes"
-msgstr ""
-
-#: builtins.c:624
-msgid "the history entry at offset OFFSET.  The `-w' option writes out the"
-msgstr ""
-
-#: builtins.c:625
-msgid "current history to the history file;  `-r' means to read the file and"
-msgstr ""
-
-#: builtins.c:626
-msgid "append the contents to the history list instead.  `-a' means"
-msgstr ""
-
-#: builtins.c:627
-msgid "to append history lines from this session to the history file."
-msgstr ""
-
-#: builtins.c:628
-msgid "Argument `-n' means to read all history lines not already read"
-msgstr ""
-
-#: builtins.c:629
-msgid "from the history file and append them to the history list."
-msgstr ""
-
-#: builtins.c:631
-msgid "If FILENAME is given, then that is used as the history file else"
-msgstr ""
-
-#: builtins.c:632
-msgid "if $HISTFILE has a value, that is used, else ~/.bash_history."
-msgstr ""
-
-#: builtins.c:633
-msgid "If the -s option is supplied, the non-option ARGs are appended to"
-msgstr ""
-
-#: builtins.c:634
-msgid "the history list as a single entry.  The -p option means to perform"
-msgstr ""
-
-#: builtins.c:635
-msgid "history expansion on each ARG and display the result, without storing"
-msgstr ""
-
-#: builtins.c:636
-msgid "anything in the history list."
-msgstr ""
-
-#: builtins.c:638
-msgid "If the $HISTTIMEFORMAT variable is set and not null, its value is used"
-msgstr ""
-
-#: builtins.c:639
-msgid "as a format string for strftime(3) to print the time stamp associated"
-msgstr ""
-
-#: builtins.c:640
-msgid ""
-"with each displayed history entry.  No time stamps are printed otherwise."
-msgstr ""
-
-#: builtins.c:648
-msgid "Lists the active jobs.  The -l option lists process id's in addition"
-msgstr ""
-
-#: builtins.c:649
-msgid "to the normal information; the -p option lists process id's only."
-msgstr ""
-
-#: builtins.c:650
-msgid "If -n is given, only processes that have changed status since the last"
-msgstr ""
-
-#: builtins.c:651
-msgid "notification are printed.  JOBSPEC restricts output to that job.  The"
-msgstr ""
-
-#: builtins.c:652
-msgid "-r and -s options restrict output to running and stopped jobs only,"
-msgstr ""
-
-#: builtins.c:653
-msgid "respectively.  Without options, the status of all active jobs is"
-msgstr ""
-
-#: builtins.c:654
-msgid "printed.  If -x is given, COMMAND is run after all job specifications"
-msgstr ""
-
-#: builtins.c:655
-msgid ""
-"that appear in ARGS have been replaced with the process ID of that job's"
-msgstr ""
-
-#: builtins.c:656
-msgid "process group leader."
-msgstr ""
-
-#: builtins.c:664
-msgid ""
-"By default, removes each JOBSPEC argument from the table of active jobs."
-msgstr ""
-
-#: builtins.c:665
-msgid ""
-"If the -h option is given, the job is not removed from the table, but is"
-msgstr ""
-
-#: builtins.c:666
-msgid "marked so that SIGHUP is not sent to the job if the shell receives a"
-msgstr ""
-
-#: builtins.c:667
-msgid ""
-"SIGHUP.  The -a option, when JOBSPEC is not supplied, means to remove all"
-msgstr ""
-
-#: builtins.c:668
-msgid ""
-"jobs from the job table; the -r option means to remove only running jobs."
-msgstr ""
-
-#: builtins.c:675
-msgid "Send the processes named by PID (or JOBSPEC) the signal SIGSPEC.  If"
-msgstr ""
-
-#: builtins.c:676
-msgid "SIGSPEC is not present, then SIGTERM is assumed.  An argument of `-l'"
-msgstr ""
-
-#: builtins.c:677
-msgid "lists the signal names; if arguments follow `-l' they are assumed to"
-msgstr ""
-
-#: builtins.c:678
-msgid "be signal numbers for which names should be listed.  Kill is a shell"
-msgstr ""
-
-#: builtins.c:679
-msgid "builtin for two reasons: it allows job IDs to be used instead of"
-msgstr ""
-
-#: builtins.c:680
-msgid "process IDs, and, if you have reached the limit on processes that"
-msgstr ""
-
-#: builtins.c:681
-msgid "you can create, you don't have to start a process to kill another one."
-msgstr ""
-
-#: builtins.c:687
-msgid "Each ARG is an arithmetic expression to be evaluated.  Evaluation"
-msgstr ""
-
-#: builtins.c:688
-msgid "is done in fixed-width integers with no check for overflow, though"
-msgstr ""
-
-#: builtins.c:689
-msgid "division by 0 is trapped and flagged as an error.  The following"
-msgstr ""
-
-#: builtins.c:690
-msgid "list of operators is grouped into levels of equal-precedence operators."
-msgstr ""
-
-#: builtins.c:691
-msgid "The levels are listed in order of decreasing precedence."
-msgstr ""
-
-#: builtins.c:693
-msgid "\tid++, id--\tvariable post-increment, post-decrement"
-msgstr ""
-
-#: builtins.c:694
-msgid "\t++id, --id\tvariable pre-increment, pre-decrement"
-msgstr ""
-
-#: builtins.c:695
-msgid "\t-, +\t\tunary minus, plus"
-msgstr ""
-
-#: builtins.c:696
-msgid "\t!, ~\t\tlogical and bitwise negation"
-msgstr ""
-
-#: builtins.c:697
-msgid "\t**\t\texponentiation"
-msgstr ""
-
-#: builtins.c:698
-msgid "\t*, /, %\t\tmultiplication, division, remainder"
-msgstr ""
-
-#: builtins.c:699
-msgid "\t+, -\t\taddition, subtraction"
-msgstr ""
-
-#: builtins.c:700
-msgid "\t<<, >>\t\tleft and right bitwise shifts"
-msgstr ""
-
-#: builtins.c:701
-msgid "\t<=, >=, <, >\tcomparison"
-msgstr ""
-
-#: builtins.c:702
-msgid "\t==, !=\t\tequality, inequality"
-msgstr ""
-
-#: builtins.c:703
-msgid "\t&\t\tbitwise AND"
-msgstr ""
-
-#: builtins.c:704
-msgid "\t^\t\tbitwise XOR"
-msgstr ""
-
-#: builtins.c:705
-msgid "\t|\t\tbitwise OR"
-msgstr ""
-
-#: builtins.c:706
-msgid "\t&&\t\tlogical AND"
-msgstr ""
-
-#: builtins.c:707
-msgid "\t||\t\tlogical OR"
-msgstr ""
-
-#: builtins.c:708
-msgid "\texpr ? expr : expr"
-msgstr ""
-
-#: builtins.c:709
-msgid "\t\t\tconditional operator"
-msgstr ""
-
-#: builtins.c:710
-msgid "\t=, *=, /=, %=,"
-msgstr ""
-
-#: builtins.c:711
-msgid "\t+=, -=, <<=, >>=,"
-msgstr ""
-
-#: builtins.c:712
-msgid "\t&=, ^=, |=\tassignment"
-msgstr ""
-
-#: builtins.c:714
-msgid "Shell variables are allowed as operands.  The name of the variable"
-msgstr ""
-
-#: builtins.c:715
-msgid "is replaced by its value (coerced to a fixed-width integer) within"
-msgstr ""
-
-#: builtins.c:716
-msgid "an expression.  The variable need not have its integer attribute"
-msgstr ""
-
-#: builtins.c:717
-msgid "turned on to be used in an expression."
-msgstr ""
-
-#: builtins.c:719
-msgid "Operators are evaluated in order of precedence.  Sub-expressions in"
-msgstr ""
-
-#: builtins.c:720
-msgid "parentheses are evaluated first and may override the precedence"
-msgstr ""
-
-#: builtins.c:721
-msgid "rules above."
-msgstr ""
-
-#: builtins.c:723
-msgid "If the last ARG evaluates to 0, let returns 1; 0 is returned"
-msgstr ""
-
-#: builtins.c:724
-msgid "otherwise."
-msgstr ""
-
-#: builtins.c:730
-msgid ""
-"One line is read from the standard input, or from file descriptor FD if the"
-msgstr ""
-
-#: builtins.c:731
-msgid ""
-"-u option is supplied, and the first word is assigned to the first NAME,"
-msgstr ""
-
-#: builtins.c:732
-msgid ""
-"the second word to the second NAME, and so on, with leftover words assigned"
-msgstr ""
-
-#: builtins.c:733
-msgid ""
-"to the last NAME.  Only the characters found in $IFS are recognized as word"
-msgstr ""
-
-#: builtins.c:734
-msgid ""
-"delimiters.  If no NAMEs are supplied, the line read is stored in the REPLY"
-msgstr ""
-
-#: builtins.c:735
-msgid "variable.  If the -r option is given, this signifies `raw' input, and"
-msgstr ""
-
-#: builtins.c:736
-msgid "backslash escaping is disabled.  The -d option causes read to continue"
-msgstr ""
-
-#: builtins.c:737
-msgid ""
-"until the first character of DELIM is read, rather than newline.  If the -p"
-msgstr ""
-
-#: builtins.c:738
-msgid ""
-"option is supplied, the string PROMPT is output without a trailing newline"
-msgstr ""
-
-#: builtins.c:739
-msgid ""
-"before attempting to read.  If -a is supplied, the words read are assigned"
-msgstr ""
-
-#: builtins.c:740
-msgid ""
-"to sequential indices of ARRAY, starting at zero.  If -e is supplied and"
-msgstr ""
-
-#: builtins.c:741
-msgid ""
-"the shell is interactive, readline is used to obtain the line.  If -n is"
-msgstr ""
-
-#: builtins.c:742
-msgid "supplied with a non-zero NCHARS argument, read returns after NCHARS"
-msgstr ""
-
-#: builtins.c:743
-msgid "characters have been read.  The -s option causes input coming from a"
-msgstr ""
-
-#: builtins.c:744
-msgid "terminal to not be echoed."
-msgstr ""
-
-#: builtins.c:746
-msgid ""
-"The -t option causes read to time out and return failure if a complete line"
-msgstr ""
-
-#: builtins.c:747
-msgid ""
-"of input is not read within TIMEOUT seconds.  If the TMOUT variable is set,"
-msgstr ""
-
-#: builtins.c:748
-msgid ""
-"its value is the default timeout.  The return code is zero, unless end-of-"
-"file"
-msgstr ""
-
-#: builtins.c:749
-msgid ""
-"is encountered, read times out, or an invalid file descriptor is supplied as"
-msgstr ""
-
-#: builtins.c:750
-msgid "the argument to -u."
-msgstr ""
-
-#: builtins.c:756
-msgid "Causes a function to exit with the return value specified by N.  If N"
-msgstr ""
-
-#: builtins.c:757
-msgid "is omitted, the return status is that of the last command."
-msgstr ""
-
-#: builtins.c:763
-msgid "    -a  Mark variables which are modified or created for export."
-msgstr ""
-
-#: builtins.c:764
-msgid "    -b  Notify of job termination immediately."
-msgstr ""
-
-#: builtins.c:765
-msgid "    -e  Exit immediately if a command exits with a non-zero status."
-msgstr ""
-
-#: builtins.c:766
-msgid "    -f  Disable file name generation (globbing)."
-msgstr ""
-
-#: builtins.c:767
-msgid "    -h  Remember the location of commands as they are looked up."
-msgstr ""
-
-#: builtins.c:768
-msgid "    -k  All assignment arguments are placed in the environment for a"
-msgstr ""
-
-#: builtins.c:769
-msgid "        command, not just those that precede the command name."
-msgstr ""
-
-#: builtins.c:770
-msgid "    -m  Job control is enabled."
-msgstr ""
-
-#: builtins.c:771
-msgid "    -n  Read commands but do not execute them."
-msgstr ""
-
-#: builtins.c:772
-msgid "    -o option-name"
-msgstr ""
-
-#: builtins.c:773
-msgid "        Set the variable corresponding to option-name:"
-msgstr ""
-
-#: builtins.c:774
-msgid "            allexport    same as -a"
-msgstr ""
-
-#: builtins.c:775
-msgid "            braceexpand  same as -B"
-msgstr ""
-
-#: builtins.c:777
-msgid "            emacs        use an emacs-style line editing interface"
-msgstr ""
-
-#: builtins.c:779
-msgid "            errexit      same as -e"
-msgstr ""
-
-#: builtins.c:780
-msgid "            errtrace     same as -E"
-msgstr ""
-
-#: builtins.c:781
-msgid "            functrace    same as -T"
-msgstr ""
-
-#: builtins.c:782
-msgid "            hashall      same as -h"
-msgstr ""
-
-#: builtins.c:784
-msgid "            histexpand   same as -H"
-msgstr ""
-
-#: builtins.c:787
-msgid "            history      enable command history"
-msgstr ""
-
-#: builtins.c:789
-msgid "            ignoreeof    the shell will not exit upon reading EOF"
-msgstr ""
-
-#: builtins.c:790
-msgid "            interactive-comments"
-msgstr ""
-
-#: builtins.c:791
-msgid ""
-"                         allow comments to appear in interactive commands"
-msgstr ""
-
-#: builtins.c:792
-msgid "            keyword      same as -k"
-msgstr ""
-
-#: builtins.c:793
-msgid "            monitor      same as -m"
-msgstr ""
-
-#: builtins.c:794
-msgid "            noclobber    same as -C"
-msgstr ""
-
-#: builtins.c:795
-msgid "            noexec       same as -n"
-msgstr ""
-
-#: builtins.c:796
-msgid "            noglob       same as -f"
-msgstr ""
-
-#: builtins.c:797
-msgid "            nolog        currently accepted but ignored"
-msgstr ""
-
-#: builtins.c:798
-msgid "            notify       same as -b"
-msgstr ""
-
-#: builtins.c:799
-msgid "            nounset      same as -u"
-msgstr ""
-
-#: builtins.c:800
-msgid "            onecmd       same as -t"
-msgstr ""
-
-#: builtins.c:801
-msgid "            physical     same as -P"
-msgstr ""
-
-#: builtins.c:802
-msgid ""
-"            pipefail     the return value of a pipeline is the status of"
-msgstr ""
-
-#: builtins.c:803
-msgid ""
-"                         the last command to exit with a non-zero status,"
-msgstr ""
-
-#: builtins.c:804
-msgid ""
-"                         or zero if no command exited with a non-zero status"
-msgstr ""
-
-#: builtins.c:805
-msgid "            posix        change the behavior of bash where the default"
-msgstr ""
-
-#: builtins.c:806
-msgid "                         operation differs from the 1003.2 standard to"
-msgstr ""
-
-#: builtins.c:807
-msgid "                         match the standard"
-msgstr ""
-
-#: builtins.c:808
-msgid "            privileged   same as -p"
-msgstr ""
-
-#: builtins.c:809
-msgid "            verbose      same as -v"
-msgstr ""
-
-#: builtins.c:811
-msgid "            vi           use a vi-style line editing interface"
-msgstr ""
-
-#: builtins.c:813
-msgid "            xtrace       same as -x"
-msgstr ""
-
-#: builtins.c:814
-msgid ""
-"    -p  Turned on whenever the real and effective user ids do not match."
-msgstr ""
-
-#: builtins.c:815
-msgid "        Disables processing of the $ENV file and importing of shell"
-msgstr ""
-
-#: builtins.c:816
-msgid ""
-"        functions.  Turning this option off causes the effective uid and"
-msgstr ""
-
-#: builtins.c:817
-msgid "        gid to be set to the real uid and gid."
-msgstr ""
-
-#: builtins.c:818
-msgid "    -t  Exit after reading and executing one command."
-msgstr ""
-
-#: builtins.c:819
-msgid "    -u  Treat unset variables as an error when substituting."
-msgstr ""
-
-#: builtins.c:820
-msgid "    -v  Print shell input lines as they are read."
-msgstr ""
-
-#: builtins.c:821
-msgid "    -x  Print commands and their arguments as they are executed."
-msgstr ""
-
-#: builtins.c:823
-msgid "    -B  the shell will perform brace expansion"
-msgstr ""
-
-#: builtins.c:825
-msgid "    -C  If set, disallow existing regular files to be overwritten"
-msgstr ""
-
-#: builtins.c:826
-msgid "        by redirection of output."
-msgstr ""
-
-#: builtins.c:827
-msgid "    -E  If set, the ERR trap is inherited by shell functions."
-msgstr ""
-
-#: builtins.c:829
-msgid "    -H  Enable ! style history substitution.  This flag is on"
-msgstr ""
-
-#: builtins.c:830
-msgid "        by default."
-msgstr ""
-
-#: builtins.c:832
-msgid "    -P  If set, do not follow symbolic links when executing commands"
-msgstr ""
-
-#: builtins.c:833
-msgid "        such as cd which change the current directory."
-msgstr ""
-
-#: builtins.c:834
-msgid "    -T  If set, the DEBUG trap is inherited by shell functions."
-msgstr ""
-
-#: builtins.c:836
-msgid "Using + rather than - causes these flags to be turned off.  The"
-msgstr ""
-
-#: builtins.c:837
-msgid "flags can also be used upon invocation of the shell.  The current"
-msgstr ""
-
-#: builtins.c:838
-msgid "set of flags may be found in $-.  The remaining n ARGs are positional"
-msgstr ""
-
-#: builtins.c:839
-msgid "parameters and are assigned, in order, to $1, $2, .. $n.  If no"
-msgstr ""
-
-#: builtins.c:840
-msgid "ARGs are given, all shell variables are printed."
-msgstr ""
-
-#: builtins.c:846
-msgid "For each NAME, remove the corresponding variable or function.  Given"
-msgstr ""
-
-#: builtins.c:847
-msgid "the `-v', unset will only act on variables.  Given the `-f' flag,"
-msgstr ""
-
-#: builtins.c:848
-msgid "unset will only act on functions.  With neither flag, unset first"
-msgstr ""
-
-#: builtins.c:849
-msgid "tries to unset a variable, and if that fails, then tries to unset a"
-msgstr ""
-
-#: builtins.c:850
-msgid "function.  Some variables cannot be unset; also see readonly."
-msgstr ""
-
-#: builtins.c:856
-msgid "NAMEs are marked for automatic export to the environment of"
-msgstr ""
-
-#: builtins.c:857
-msgid "subsequently executed commands.  If the -f option is given,"
-msgstr ""
-
-#: builtins.c:858
-msgid "the NAMEs refer to functions.  If no NAMEs are given, or if `-p'"
-msgstr ""
-
-#: builtins.c:859
-msgid "is given, a list of all names that are exported in this shell is"
-msgstr ""
-
-#: builtins.c:860
-msgid "printed.  An argument of `-n' says to remove the export property"
-msgstr ""
-
-#: builtins.c:861
-msgid "from subsequent NAMEs.  An argument of `--' disables further option"
-msgstr ""
-
-#: builtins.c:862 builtins.c:874
-msgid "processing."
-msgstr ""
-
-#: builtins.c:868
-msgid "The given NAMEs are marked readonly and the values of these NAMEs may"
-msgstr ""
-
-#: builtins.c:869
-msgid "not be changed by subsequent assignment.  If the -f option is given,"
-msgstr ""
-
-#: builtins.c:870
-msgid "then functions corresponding to the NAMEs are so marked.  If no"
-msgstr ""
-
-#: builtins.c:871
-msgid "arguments are given, or if `-p' is given, a list of all readonly names"
-msgstr ""
-
-#: builtins.c:872
-msgid "is printed.  The `-a' option means to treat each NAME as"
-msgstr ""
-
-#: builtins.c:873
-msgid "an array variable.  An argument of `--' disables further option"
-msgstr ""
-
-#: builtins.c:880
-msgid "The positional parameters from $N+1 ... are renamed to $1 ...  If N is"
-msgstr ""
-
-#: builtins.c:881
-msgid "not given, it is assumed to be 1."
-msgstr ""
-
-#: builtins.c:887 builtins.c:896
-msgid "Read and execute commands from FILENAME and return.  The pathnames"
-msgstr ""
-
-#: builtins.c:888 builtins.c:897
-msgid "in $PATH are used to find the directory containing FILENAME.  If any"
-msgstr ""
-
-#: builtins.c:889 builtins.c:898
-msgid "ARGUMENTS are supplied, they become the positional parameters when"
-msgstr ""
-
-#: builtins.c:890 builtins.c:899
-msgid "FILENAME is executed."
-msgstr ""
-
-#: builtins.c:906
-msgid "Suspend the execution of this shell until it receives a SIGCONT"
-msgstr ""
-
-#: builtins.c:907
-msgid "signal.  The `-f' if specified says not to complain about this"
-msgstr ""
-
-#: builtins.c:908
-msgid "being a login shell if it is; just suspend anyway."
-msgstr ""
-
-#: builtins.c:915
-msgid "Exits with a status of 0 (true) or 1 (false) depending on"
-msgstr ""
-
-#: builtins.c:916
-msgid "the evaluation of EXPR.  Expressions may be unary or binary.  Unary"
-msgstr ""
-
-#: builtins.c:917
-msgid "expressions are often used to examine the status of a file.  There"
-msgstr ""
-
-#: builtins.c:918
-msgid "are string operators as well, and numeric comparison operators."
-msgstr ""
-
-#: builtins.c:920
-msgid "File operators:"
-msgstr ""
-
-#: builtins.c:922
-msgid "    -a FILE        True if file exists."
-msgstr ""
-
-#: builtins.c:923
-msgid "    -b FILE        True if file is block special."
-msgstr ""
-
-#: builtins.c:924
-msgid "    -c FILE        True if file is character special."
-msgstr ""
-
-#: builtins.c:925
-msgid "    -d FILE        True if file is a directory."
-msgstr ""
-
-#: builtins.c:926
-msgid "    -e FILE        True if file exists."
-msgstr ""
-
-#: builtins.c:927
-msgid "    -f FILE        True if file exists and is a regular file."
-msgstr ""
-
-#: builtins.c:928
-msgid "    -g FILE        True if file is set-group-id."
-msgstr ""
-
-#: builtins.c:929
-msgid "    -h FILE        True if file is a symbolic link."
-msgstr ""
-
-#: builtins.c:930
-msgid "    -L FILE        True if file is a symbolic link."
-msgstr ""
-
-#: builtins.c:931
-msgid "    -k FILE        True if file has its `sticky' bit set."
-msgstr ""
-
-#: builtins.c:932
-msgid "    -p FILE        True if file is a named pipe."
-msgstr ""
-
-#: builtins.c:933
-msgid "    -r FILE        True if file is readable by you."
-msgstr ""
-
-#: builtins.c:934
-msgid "    -s FILE        True if file exists and is not empty."
-msgstr ""
-
-#: builtins.c:935
-msgid "    -S FILE        True if file is a socket."
-msgstr ""
-
-#: builtins.c:936
-msgid "    -t FD          True if FD is opened on a terminal."
-msgstr ""
-
-#: builtins.c:937
-msgid "    -u FILE        True if the file is set-user-id."
-msgstr ""
-
-#: builtins.c:938
-msgid "    -w FILE        True if the file is writable by you."
-msgstr ""
-
-#: builtins.c:939
-msgid "    -x FILE        True if the file is executable by you."
-msgstr ""
-
-#: builtins.c:940
-msgid "    -O FILE        True if the file is effectively owned by you."
-msgstr ""
-
-#: builtins.c:941
-msgid "    -G FILE        True if the file is effectively owned by your group."
-msgstr ""
-
-#: builtins.c:942
-msgid ""
-"    -N FILE        True if the file has been modified since it was last read."
-msgstr ""
-
-#: builtins.c:944
-msgid "  FILE1 -nt FILE2  True if file1 is newer than file2 (according to"
-msgstr ""
-
-#: builtins.c:945
-msgid "                   modification date)."
-msgstr ""
-
-#: builtins.c:947
-msgid "  FILE1 -ot FILE2  True if file1 is older than file2."
-msgstr ""
-
-#: builtins.c:949
-msgid "  FILE1 -ef FILE2  True if file1 is a hard link to file2."
-msgstr ""
-
-#: builtins.c:951
-msgid "String operators:"
-msgstr ""
-
-#: builtins.c:953
-msgid "    -z STRING      True if string is empty."
-msgstr ""
-
-#: builtins.c:955
-msgid "    -n STRING"
-msgstr ""
-
-#: builtins.c:956
-msgid "    STRING         True if string is not empty."
-msgstr ""
-
-#: builtins.c:958
-msgid "    STRING1 = STRING2"
-msgstr ""
-
-#: builtins.c:959
-msgid "                   True if the strings are equal."
-msgstr ""
-
-#: builtins.c:960
-msgid "    STRING1 != STRING2"
-msgstr ""
-
-#: builtins.c:961
-msgid "                   True if the strings are not equal."
-msgstr ""
-
-#: builtins.c:962
-msgid "    STRING1 < STRING2"
-msgstr ""
-
-#: builtins.c:963
-msgid ""
-"                   True if STRING1 sorts before STRING2 lexicographically."
-msgstr ""
-
-#: builtins.c:964
-msgid "    STRING1 > STRING2"
-msgstr ""
-
-#: builtins.c:965
-msgid ""
-"                   True if STRING1 sorts after STRING2 lexicographically."
-msgstr ""
-
-#: builtins.c:967
-msgid "Other operators:"
-msgstr ""
-
-#: builtins.c:969
-msgid "    -o OPTION      True if the shell option OPTION is enabled."
-msgstr ""
-
-#: builtins.c:970
-msgid "    ! EXPR         True if expr is false."
-msgstr ""
-
-#: builtins.c:971
-msgid "    EXPR1 -a EXPR2 True if both expr1 AND expr2 are true."
-msgstr ""
-
-#: builtins.c:972
-msgid "    EXPR1 -o EXPR2 True if either expr1 OR expr2 is true."
-msgstr ""
-
-#: builtins.c:974
-msgid "    arg1 OP arg2   Arithmetic tests.  OP is one of -eq, -ne,"
-msgstr ""
-
-#: builtins.c:975
-msgid "                   -lt, -le, -gt, or -ge."
-msgstr ""
-
-#: builtins.c:977
-msgid "Arithmetic binary operators return true if ARG1 is equal, not-equal,"
-msgstr ""
-
-#: builtins.c:978
-msgid "less-than, less-than-or-equal, greater-than, or greater-than-or-equal"
-msgstr ""
-
-#: builtins.c:979
-msgid "than ARG2."
-msgstr ""
-
-#: builtins.c:985
-msgid "This is a synonym for the \"test\" builtin, but the last"
-msgstr ""
-
-#: builtins.c:986
-msgid "argument must be a literal `]', to match the opening `['."
-msgstr ""
-
-#: builtins.c:992
-msgid "Print the accumulated user and system times for processes run from"
-msgstr ""
-
-#: builtins.c:993
-msgid "the shell."
-msgstr ""
-
-#: builtins.c:999
-msgid "The command ARG is to be read and executed when the shell receives"
-msgstr ""
-
-#: builtins.c:1000
-msgid "signal(s) SIGNAL_SPEC.  If ARG is absent (and a single SIGNAL_SPEC"
-msgstr ""
-
-#: builtins.c:1001
-msgid "is supplied) or `-', each specified signal is reset to its original"
-msgstr ""
-
-#: builtins.c:1002
-msgid "value.  If ARG is the null string each SIGNAL_SPEC is ignored by the"
-msgstr ""
-
-#: builtins.c:1003
-msgid "shell and by the commands it invokes.  If a SIGNAL_SPEC is EXIT (0)"
-msgstr ""
-
-#: builtins.c:1004
-msgid "the command ARG is executed on exit from the shell.  If a SIGNAL_SPEC"
-msgstr ""
-
-#: builtins.c:1005
-msgid ""
-"is DEBUG, ARG is executed after every simple command.  If the`-p' option"
-msgstr ""
-
-#: builtins.c:1006
-msgid "is supplied then the trap commands associated with each SIGNAL_SPEC are"
-msgstr ""
-
-#: builtins.c:1007
-msgid "displayed.  If no arguments are supplied or if only `-p' is given, trap"
-msgstr ""
-
-#: builtins.c:1008
-msgid ""
-"prints the list of commands associated with each signal.  Each SIGNAL_SPEC"
-msgstr ""
-
-#: builtins.c:1009
-msgid "is either a signal name in <signal.h> or a signal number.  Signal names"
-msgstr ""
-
-#: builtins.c:1010
-msgid "are case insensitive and the SIG prefix is optional.  `trap -l' prints"
-msgstr ""
-
-#: builtins.c:1011
-msgid "a list of signal names and their corresponding numbers.  Note that a"
-msgstr ""
-
-#: builtins.c:1012
-msgid "signal can be sent to the shell with \"kill -signal $$\"."
-msgstr ""
-
-#: builtins.c:1018
-msgid "For each NAME, indicate how it would be interpreted if used as a"
-msgstr ""
-
-#: builtins.c:1019
-msgid "command name."
-msgstr ""
-
-#: builtins.c:1021
-msgid "If the -t option is used, `type' outputs a single word which is one of"
-msgstr ""
-
-#: builtins.c:1022
-msgid "`alias', `keyword', `function', `builtin', `file' or `', if NAME is an"
-msgstr ""
-
-#: builtins.c:1023
-msgid "alias, shell reserved word, shell function, shell builtin, disk file,"
-msgstr ""
-
-#: builtins.c:1024
-msgid "or unfound, respectively."
-msgstr ""
-
-#: builtins.c:1026
-msgid "If the -p flag is used, `type' either returns the name of the disk"
-msgstr ""
-
-#: builtins.c:1027
-msgid "file that would be executed, or nothing if `type -t NAME' would not"
-msgstr ""
-
-#: builtins.c:1028
-msgid "return `file'."
-msgstr ""
-
-#: builtins.c:1030
-msgid "If the -a flag is used, `type' displays all of the places that contain"
-msgstr ""
-
-#: builtins.c:1031
-msgid "an executable named `file'.  This includes aliases, builtins, and"
-msgstr ""
-
-#: builtins.c:1032
-msgid "functions, if and only if the -p flag is not also used."
-msgstr ""
-
-#: builtins.c:1034
-msgid "The -f flag suppresses shell function lookup."
-msgstr ""
-
-#: builtins.c:1036
-msgid "The -P flag forces a PATH search for each NAME, even if it is an alias,"
-msgstr ""
-
-#: builtins.c:1037
-msgid "builtin, or function, and returns the name of the disk file that would"
-msgstr ""
-
-#: builtins.c:1038
-msgid "be executed."
-msgstr ""
-
-#: builtins.c:1045
-msgid "Ulimit provides control over the resources available to processes"
-msgstr ""
-
-#: builtins.c:1046
-msgid "started by the shell, on systems that allow such control.  If an"
-msgstr ""
-
-#: builtins.c:1047
-msgid "option is given, it is interpreted as follows:"
-msgstr ""
-
-#: builtins.c:1049
-msgid "    -S\tuse the `soft' resource limit"
-msgstr ""
-
-#: builtins.c:1050
-msgid "    -H\tuse the `hard' resource limit"
-msgstr ""
-
-#: builtins.c:1051
-msgid "    -a\tall current limits are reported"
-msgstr ""
-
-#: builtins.c:1052
-msgid "    -c\tthe maximum size of core files created"
-msgstr ""
-
-#: builtins.c:1053
-msgid "    -d\tthe maximum size of a process's data segment"
-msgstr ""
-
-#: builtins.c:1054
-msgid "    -f\tthe maximum size of files created by the shell"
-msgstr ""
-
-#: builtins.c:1055
-msgid "    -i  the maximum number of pending signals"
-msgstr ""
-
-#: builtins.c:1056
-msgid "    -l\tthe maximum size a process may lock into memory"
-msgstr ""
-
-#: builtins.c:1057
-msgid "    -m\tthe maximum resident set size"
-msgstr ""
-
-#: builtins.c:1058
-msgid "    -n\tthe maximum number of open file descriptors"
-msgstr ""
-
-#: builtins.c:1059
-msgid "    -p\tthe pipe buffer size"
-msgstr ""
-
-#: builtins.c:1060
-msgid "    -q  the maximum number of bytes in POSIX message queues"
-msgstr ""
-
-#: builtins.c:1061
-msgid "    -s\tthe maximum stack size"
-msgstr ""
-
-#: builtins.c:1062
-msgid "    -t\tthe maximum amount of cpu time in seconds"
-msgstr ""
-
-#: builtins.c:1063
-msgid "    -u\tthe maximum number of user processes"
-msgstr ""
-
-#: builtins.c:1064
-msgid "    -v\tthe size of virtual memory"
-msgstr ""
-
-#: builtins.c:1065
-msgid "    -x  the maximum number of file locks"
-msgstr ""
-
-#: builtins.c:1067
-msgid "If LIMIT is given, it is the new value of the specified resource;"
-msgstr ""
-
-#: builtins.c:1068
-msgid "the special LIMIT values `soft', `hard', and `unlimited' stand for"
-msgstr ""
-
-#: builtins.c:1069
-msgid ""
-"the current soft limit, the current hard limit, and no limit, respectively."
-msgstr ""
-
-#: builtins.c:1070
-msgid "Otherwise, the current value of the specified resource is printed."
-msgstr ""
-
-#: builtins.c:1071
-msgid "If no option is given, then -f is assumed.  Values are in 1024-byte"
-msgstr ""
-
-#: builtins.c:1072
-msgid "increments, except for -t, which is in seconds, -p, which is in"
-msgstr ""
-
-#: builtins.c:1073
-msgid "increments of 512 bytes, and -u, which is an unscaled number of"
-msgstr ""
-
-#: builtins.c:1074
-msgid "processes."
-msgstr ""
-
-#: builtins.c:1081
-msgid "The user file-creation mask is set to MODE.  If MODE is omitted, or if"
-msgstr ""
-
-#: builtins.c:1082
-msgid "`-S' is supplied, the current value of the mask is printed.  The `-S'"
-msgstr ""
-
-#: builtins.c:1083
-msgid "option makes the output symbolic; otherwise an octal number is output."
-msgstr ""
-
-#: builtins.c:1084
-msgid "If `-p' is supplied, and MODE is omitted, the output is in a form"
-msgstr ""
-
-#: builtins.c:1085
-msgid "that may be used as input.  If MODE begins with a digit, it is"
-msgstr ""
-
-#: builtins.c:1086
-msgid "interpreted as an octal number, otherwise it is a symbolic mode string"
-msgstr ""
-
-#: builtins.c:1087
-msgid "like that accepted by chmod(1)."
-msgstr ""
-
-#: builtins.c:1094 builtins.c:1106
-msgid "Wait for the specified process and report its termination status.  If"
-msgstr ""
-
-#: builtins.c:1095 builtins.c:1107
-msgid "N is not given, all currently active child processes are waited for,"
-msgstr ""
-
-#: builtins.c:1096
-msgid "and the return code is zero.  N may be a process ID or a job"
-msgstr ""
-
-#: builtins.c:1097
-msgid "specification; if a job spec is given, all processes in the job's"
-msgstr ""
-
-#: builtins.c:1098
-msgid "pipeline are waited for."
-msgstr ""
-
-#: builtins.c:1108
-msgid "and the return code is zero.  N is a process ID; if it is not given,"
-msgstr ""
-
-#: builtins.c:1109
-msgid "all child processes of the shell are waited for."
-msgstr ""
-
-#: builtins.c:1116
-msgid "The `for' loop executes a sequence of commands for each member in a"
-msgstr ""
-
-#: builtins.c:1117
-msgid "list of items.  If `in WORDS ...;' is not present, then `in \"$@\"' is"
-msgstr ""
-
-#: builtins.c:1118
-msgid "assumed.  For each element in WORDS, NAME is set to that element, and"
-msgstr ""
-
-#: builtins.c:1119
-msgid "the COMMANDS are executed."
-msgstr ""
-
-#: builtins.c:1125
-msgid "Equivalent to"
-msgstr ""
-
-#: builtins.c:1126
-msgid "\t(( EXP1 ))"
-msgstr ""
-
-#: builtins.c:1127
-msgid "\twhile (( EXP2 )); do"
-msgstr ""
-
-#: builtins.c:1128
-msgid "\t\tCOMMANDS"
-msgstr ""
-
-#: builtins.c:1129
-msgid "\t\t(( EXP3 ))"
-msgstr ""
-
-#: builtins.c:1130
-msgid "\tdone"
-msgstr ""
-
-#: builtins.c:1131
-msgid "EXP1, EXP2, and EXP3 are arithmetic expressions.  If any expression is"
-msgstr ""
-
-#: builtins.c:1132
-msgid "omitted, it behaves as if it evaluates to 1."
-msgstr ""
-
-#: builtins.c:1138
-msgid "The WORDS are expanded, generating a list of words.  The"
-msgstr ""
-
-#: builtins.c:1139
-msgid "set of expanded words is printed on the standard error, each"
-msgstr ""
-
-#: builtins.c:1140
-msgid "preceded by a number.  If `in WORDS' is not present, `in \"$@\"'"
-msgstr ""
-
-#: builtins.c:1141
-msgid "is assumed.  The PS3 prompt is then displayed and a line read"
-msgstr ""
-
-#: builtins.c:1142
-msgid "from the standard input.  If the line consists of the number"
-msgstr ""
-
-#: builtins.c:1143
-msgid "corresponding to one of the displayed words, then NAME is set"
-msgstr ""
-
-#: builtins.c:1144
-msgid "to that word.  If the line is empty, WORDS and the prompt are"
-msgstr ""
-
-#: builtins.c:1145
-msgid "redisplayed.  If EOF is read, the command completes.  Any other"
-msgstr ""
-
-#: builtins.c:1146
-msgid "value read causes NAME to be set to null.  The line read is saved"
-msgstr ""
-
-#: builtins.c:1147
-msgid "in the variable REPLY.  COMMANDS are executed after each selection"
-msgstr ""
-
-#: builtins.c:1148
-msgid "until a break command is executed."
-msgstr ""
-
-#: builtins.c:1154
-msgid "Execute PIPELINE and print a summary of the real time, user CPU time,"
-msgstr ""
-
-#: builtins.c:1155
-msgid "and system CPU time spent executing PIPELINE when it terminates."
-msgstr ""
-
-#: builtins.c:1156
-msgid "The return status is the return status of PIPELINE.  The `-p' option"
-msgstr ""
-
-#: builtins.c:1157
-msgid "prints the timing summary in a slightly different format.  This uses"
-msgstr ""
-
-#: builtins.c:1158
-msgid "the value of the TIMEFORMAT variable as the output format."
-msgstr ""
-
-#: builtins.c:1164
-msgid "Selectively execute COMMANDS based upon WORD matching PATTERN.  The"
-msgstr ""
-
-#: builtins.c:1165
-msgid "`|' is used to separate multiple patterns."
-msgstr ""
-
-#: builtins.c:1171
-msgid ""
-"The if COMMANDS are executed.  If the exit status is zero, then the then"
-msgstr ""
-
-#: builtins.c:1172
-msgid ""
-"COMMANDS are executed.  Otherwise, each of the elif COMMANDS are executed"
-msgstr ""
-
-#: builtins.c:1173
-msgid ""
-"in turn, and if the exit status is zero, the corresponding then COMMANDS"
-msgstr ""
-
-#: builtins.c:1174
-msgid ""
-"are executed and the if command completes.  Otherwise, the else COMMANDS"
-msgstr ""
-
-#: builtins.c:1175
-msgid ""
-"are executed, if present.  The exit status is the exit status of the last"
-msgstr ""
-
-#: builtins.c:1176
-msgid "command executed, or zero if no condition tested true."
-msgstr ""
-
-#: builtins.c:1182 builtins.c:1189
-msgid "Expand and execute COMMANDS as long as the final command in the"
-msgstr ""
-
-#: builtins.c:1183
-msgid "`while' COMMANDS has an exit status of zero."
-msgstr ""
-
-#: builtins.c:1190
-msgid "`until' COMMANDS has an exit status which is not zero."
-msgstr ""
-
-#: builtins.c:1196
-msgid "Create a simple command invoked by NAME which runs COMMANDS."
-msgstr ""
-
-#: builtins.c:1197
-msgid "Arguments on the command line along with NAME are passed to the"
-msgstr ""
-
-#: builtins.c:1198
-msgid "function as $0 .. $n."
-msgstr ""
-
-#: builtins.c:1204
-msgid "Run a set of commands in a group.  This is one way to redirect an"
-msgstr ""
-
-#: builtins.c:1205
-msgid "entire set of commands."
-msgstr ""
-
-#: builtins.c:1211
-msgid "Equivalent to the JOB_SPEC argument to the `fg' command.  Resume a"
-msgstr ""
-
-#: builtins.c:1212
-msgid "stopped or background job.  JOB_SPEC can specify either a job name"
-msgstr ""
-
-#: builtins.c:1213
-msgid "or a job number.  Following JOB_SPEC with a `&' places the job in"
-msgstr ""
-
-#: builtins.c:1214
-msgid "the background, as if the job specification had been supplied as an"
-msgstr ""
-
-#: builtins.c:1215
-msgid "argument to `bg'."
-msgstr ""
-
-#: builtins.c:1221
-msgid "The EXPRESSION is evaluated according to the rules for arithmetic"
-msgstr ""
-
-#: builtins.c:1222
-msgid "evaluation.  Equivalent to \"let EXPRESSION\"."
-msgstr ""
-
-#: builtins.c:1228
-msgid ""
-"Returns a status of 0 or 1 depending on the evaluation of the conditional"
-msgstr ""
-
-#: builtins.c:1229
-msgid ""
-"expression EXPRESSION.  Expressions are composed of the same primaries used"
-msgstr ""
-
-#: builtins.c:1230
-msgid ""
-"by the `test' builtin, and may be combined using the following operators"
-msgstr ""
-
-#: builtins.c:1232
-msgid "\t( EXPRESSION )\tReturns the value of EXPRESSION"
-msgstr ""
-
-#: builtins.c:1233
-msgid "\t! EXPRESSION\tTrue if EXPRESSION is false; else false"
-msgstr ""
-
-#: builtins.c:1234
-msgid "\tEXPR1 && EXPR2\tTrue if both EXPR1 and EXPR2 are true; else false"
-msgstr ""
-
-#: builtins.c:1235
-msgid "\tEXPR1 || EXPR2\tTrue if either EXPR1 or EXPR2 is true; else false"
-msgstr ""
-
-#: builtins.c:1237
-msgid ""
-"When the `==' and `!=' operators are used, the string to the right of the"
-msgstr ""
-
-#: builtins.c:1238
-msgid "operator is used as a pattern and pattern matching is performed.  The"
-msgstr ""
-
-#: builtins.c:1239
-msgid "&& and || operators do not evaluate EXPR2 if EXPR1 is sufficient to"
-msgstr ""
-
-#: builtins.c:1240
-msgid "determine the expression's value."
-msgstr ""
-
-#: builtins.c:1246
-msgid "BASH_VERSION    Version information for this Bash."
-msgstr ""
-
-#: builtins.c:1247
-msgid "CDPATH          A colon-separated list of directories to search"
-msgstr ""
-
-#: builtins.c:1248
-msgid "\t\tfor directries given as arguments to `cd'."
-msgstr ""
-
-#: builtins.c:1249
-msgid "GLOBIGNORE\tA colon-separated list of patterns describing filenames to"
-msgstr ""
-
-#: builtins.c:1250
-msgid "\t\tbe ignored by pathname expansion."
-msgstr ""
-
-#: builtins.c:1252
-msgid ""
-"HISTFILE        The name of the file where your command history is stored."
-msgstr ""
-
-#: builtins.c:1253
-msgid "HISTFILESIZE    The maximum number of lines this file can contain."
-msgstr ""
-
-#: builtins.c:1254
-msgid "HISTSIZE        The maximum number of history lines that a running"
-msgstr ""
-
-#: builtins.c:1255
-msgid "\t\tshell can access."
-msgstr ""
-
-#: builtins.c:1257
-msgid "HOME            The complete pathname to your login directory."
-msgstr ""
-
-#: builtins.c:1258
-msgid "HOSTNAME\tThe name of the current host."
-msgstr ""
-
-#: builtins.c:1259
-msgid "HOSTTYPE        The type of CPU this version of Bash is running under."
-msgstr ""
-
-#: builtins.c:1260
-msgid "IGNOREEOF       Controls the action of the shell on receipt of an EOF"
-msgstr ""
-
-#: builtins.c:1261
-msgid "\t\tcharacter as the sole input.  If set, then the value"
-msgstr ""
-
-#: builtins.c:1262
-msgid "\t\tof it is the number of EOF characters that can be seen"
-msgstr ""
-
-#: builtins.c:1263
-msgid "\t\tin a row on an empty line before the shell will exit"
-msgstr ""
-
-#: builtins.c:1264
-msgid "\t\t(default 10).  When unset, EOF signifies the end of input."
-msgstr ""
-
-#: builtins.c:1265
-msgid "MACHTYPE\tA string describing the current system Bash is running on."
-msgstr ""
-
-#: builtins.c:1266
-msgid "MAILCHECK\tHow often, in seconds, Bash checks for new mail."
-msgstr ""
-
-#: builtins.c:1267
-msgid "MAILPATH\tA colon-separated list of filenames which Bash checks"
-msgstr ""
-
-#: builtins.c:1268
-msgid "\t\tfor new mail."
-msgstr ""
-
-#: builtins.c:1269
-msgid "OSTYPE\t\tThe version of Unix this version of Bash is running on."
-msgstr ""
-
-#: builtins.c:1270
-msgid "PATH            A colon-separated list of directories to search when"
-msgstr ""
-
-#: builtins.c:1271
-msgid "\t\tlooking for commands."
-msgstr ""
-
-#: builtins.c:1272
-msgid "PROMPT_COMMAND  A command to be executed before the printing of each"
-msgstr ""
-
-#: builtins.c:1273
-msgid "\t\tprimary prompt."
-msgstr ""
-
-#: builtins.c:1274
-msgid "PS1             The primary prompt string."
-msgstr ""
-
-#: builtins.c:1275
-msgid "PS2             The secondary prompt string."
-msgstr ""
-
-#: builtins.c:1276
-msgid "PWD\t\tThe full pathname of the current directory."
-msgstr ""
-
-#: builtins.c:1277
-msgid "SHELLOPTS\tA colon-separated list of enabled shell options."
-msgstr ""
-
-#: builtins.c:1278
-msgid "TERM            The name of the current terminal type."
-msgstr ""
-
-#: builtins.c:1279
-msgid "TIMEFORMAT\tThe output format for timing statistics displayed by the"
-msgstr ""
-
-#: builtins.c:1280
-msgid "\t\t`time' reserved word."
-msgstr ""
-
-#: builtins.c:1281
-msgid "auto_resume     Non-null means a command word appearing on a line by"
-msgstr ""
-
-#: builtins.c:1282
-msgid "\t\titself is first looked for in the list of currently"
-msgstr ""
-
-#: builtins.c:1283
-msgid "\t\tstopped jobs.  If found there, that job is foregrounded."
-msgstr ""
-
-#: builtins.c:1284
-msgid "\t\tA value of `exact' means that the command word must"
-msgstr ""
-
-#: builtins.c:1285
-msgid "\t\texactly match a command in the list of stopped jobs.  A"
-msgstr ""
-
-#: builtins.c:1286
-msgid "\t\tvalue of `substring' means that the command word must"
-msgstr ""
-
-#: builtins.c:1287
-msgid "\t\tmatch a substring of the job.  Any other value means that"
-msgstr ""
-
-#: builtins.c:1288
-msgid "\t\tthe command must be a prefix of a stopped job."
-msgstr ""
-
-#: builtins.c:1291
-msgid "histchars       Characters controlling history expansion and quick"
-msgstr ""
-
-#: builtins.c:1292
-msgid "\t\tsubstitution.  The first character is the history"
-msgstr ""
-
-#: builtins.c:1293
-msgid "\t\tsubstitution character, usually `!'.  The second is"
-msgstr ""
-
-#: builtins.c:1294
-msgid "\t\tthe `quick substitution' character, usually `^'.  The"
-msgstr ""
-
-#: builtins.c:1295
-msgid "\t\tthird is the `history comment' character, usually `#'."
-msgstr ""
-
-#: builtins.c:1297
-msgid "HISTIGNORE\tA colon-separated list of patterns used to decide which"
-msgstr ""
-
-#: builtins.c:1298
-msgid "\t\tcommands should be saved on the history list."
-msgstr ""
-
-#: builtins.c:1310
-msgid "+N\tRotates the stack so that the Nth directory (counting"
-msgstr ""
-
-#: builtins.c:1311
-msgid "\tfrom the left of the list shown by `dirs', starting with"
-msgstr ""
-
-#: builtins.c:1312 builtins.c:1316
-msgid "\tzero) is at the top."
-msgstr ""
-
-#: builtins.c:1314
-msgid "-N\tRotates the stack so that the Nth directory (counting"
-msgstr ""
-
-#: builtins.c:1315
-msgid "\tfrom the right of the list shown by `dirs', starting with"
-msgstr ""
-
-#: builtins.c:1318
-msgid "-n\tsuppress the normal change of directory when adding directories"
-msgstr ""
-
-#: builtins.c:1319
-msgid "\tto the stack, so only the stack is manipulated."
-msgstr ""
-
-#: builtins.c:1321
-msgid "dir\tadds DIR to the directory stack at the top, making it the"
-msgstr ""
-
-#: builtins.c:1322
-msgid "\tnew current working directory."
-msgstr ""
-
-#: builtins.c:1336
-msgid "+N\tremoves the Nth entry counting from the left of the list"
-msgstr ""
-
-#: builtins.c:1337
-msgid "\tshown by `dirs', starting with zero.  For example: `popd +0'"
-msgstr ""
-
-#: builtins.c:1338
-msgid "\tremoves the first directory, `popd +1' the second."
-msgstr ""
-
-#: builtins.c:1340
-msgid "-N\tremoves the Nth entry counting from the right of the list"
-msgstr ""
-
-#: builtins.c:1341
-msgid "\tshown by `dirs', starting with zero.  For example: `popd -0'"
-msgstr ""
-
-#: builtins.c:1342
-msgid "\tremoves the last directory, `popd -1' the next to last."
-msgstr ""
-
-#: builtins.c:1344
-msgid "-n\tsuppress the normal change of directory when removing directories"
-msgstr ""
-
-#: builtins.c:1345
-msgid "\tfrom the stack, so only the stack is manipulated."
-msgstr ""
-
-#: builtins.c:1367
-msgid "+N\tdisplays the Nth entry counting from the left of the list shown by"
-msgstr ""
-
-#: builtins.c:1368 builtins.c:1371
-msgid "\tdirs when invoked without options, starting with zero."
-msgstr ""
-
-#: builtins.c:1370
-msgid "-N\tdisplays the Nth entry counting from the right of the list shown by"
-msgstr ""
-
-#: builtins.c:1378
-msgid "Toggle the values of variables controlling optional behavior."
-msgstr ""
-
-#: builtins.c:1379
-msgid "The -s flag means to enable (set) each OPTNAME; the -u flag"
-msgstr ""
-
-#: builtins.c:1380
-msgid "unsets each OPTNAME.  The -q flag suppresses output; the exit"
-msgstr ""
-
-#: builtins.c:1381
-msgid "status indicates whether each OPTNAME is set or unset.  The -o"
-msgstr ""
-
-#: builtins.c:1382
-msgid "option restricts the OPTNAMEs to those defined for use with"
-msgstr ""
-
-#: builtins.c:1383
-msgid "`set -o'.  With no options, or with the -p option, a list of all"
-msgstr ""
-
-#: builtins.c:1384
-msgid "settable options is displayed, with an indication of whether or"
-msgstr ""
-
-#: builtins.c:1385
-msgid "not each is set."
-msgstr ""
-
-#: builtins.c:1391
-msgid "printf formats and prints ARGUMENTS under control of the FORMAT. FORMAT"
-msgstr ""
-
-#: builtins.c:1392
-msgid "is a character string which contains three types of objects: plain"
-msgstr ""
-
-#: builtins.c:1393
-msgid ""
-"characters, which are simply copied to standard output, character escape"
-msgstr ""
-
-#: builtins.c:1394
-msgid "sequences which are converted and copied to the standard output, and"
-msgstr ""
-
-#: builtins.c:1395
-msgid ""
-"format specifications, each of which causes printing of the next successive"
-msgstr ""
-
-#: builtins.c:1396
-msgid "argument.  In addition to the standard printf(1) formats, %b means to"
-msgstr ""
-
-#: builtins.c:1397
-msgid "expand backslash escape sequences in the corresponding argument, and %q"
-msgstr ""
-
-#: builtins.c:1398
-msgid "means to quote the argument in a way that can be reused as shell input."
+#: builtins.c:1393
+msgid ""
+" For each NAME, specify how arguments are to be completed.\n"
+"    If the -p option is supplied, or if no options are supplied, existing\n"
+"    completion specifications are printed in a way that allows them to be\n"
+"    reused as input.  The -r option removes a completion specification for\n"
+"    each NAME, or, if no NAMEs are supplied, all completion specifications."
 msgstr ""
 
 #: builtins.c:1405
-msgid "For each NAME, specify how arguments are to be completed."
-msgstr ""
-
-#: builtins.c:1406
-msgid "If the -p option is supplied, or if no options are supplied, existing"
-msgstr ""
-
-#: builtins.c:1407
-msgid "completion specifications are printed in a way that allows them to be"
-msgstr ""
-
-#: builtins.c:1408
-msgid "reused as input.  The -r option removes a completion specification for"
-msgstr ""
-
-#: builtins.c:1409
-msgid "each NAME, or, if no NAMEs are supplied, all completion specifications."
-msgstr ""
-
-#: builtins.c:1417
-msgid "Display the possible completions depending on the options.  Intended"
-msgstr ""
-
-#: builtins.c:1418
 msgid ""
-"to be used from within a shell function generating possible completions."
-msgstr ""
-
-#: builtins.c:1419
-msgid "If the optional WORD argument is supplied, matches against WORD are"
-msgstr ""
-
-#: builtins.c:1420
-msgid "generated."
+" Display the possible completions depending on the options.  Intended\n"
+"    to be used from within a shell function generating possible "
+"completions.\n"
+"    If the optional WORD argument is supplied, matches against WORD are\n"
+"    generated."
 msgstr ""
index d99bf5b..dd5008c 100644 (file)
Binary files a/po/en@boldquot.gmo and b/po/en@boldquot.gmo differ
index b90f8ff..b275554 100644 (file)
@@ -1,7 +1,7 @@
 # English translations for GNU bash package.
-# Copyright (C) 2004 Free Software Foundation, Inc.
+# Copyright (C) 2005 Free Software Foundation, Inc.
 # This file is distributed under the same license as the GNU bash package.
-# Automatically generated, 2004.
+# Automatically generated, 2005.
 #
 # All this catalog "translates" are quotation characters.
 # The msgids must be ASCII and therefore cannot contain real quotation
 # This catalog furthermore displays the text between the quotation marks in
 # bold face, assuming the VT100/XTerm escape sequences.
 #
-#: builtins/caller.def:128 builtins/caller.def:132 builtins/pushd.def:655
-#: builtins/pushd.def:663 builtins/pushd.def:666 builtins/pushd.def:676
-#: builtins/pushd.def:680 builtins/pushd.def:684 builtins/pushd.def:687
-#: builtins/pushd.def:690 builtins/pushd.def:699 builtins/pushd.def:703
-#: builtins/pushd.def:707 builtins/pushd.def:710 builtins.c:321 builtins.c:325
-#: builtins.c:390 builtins.c:392 builtins.c:401 builtins.c:404 builtins.c:408
-#: builtins.c:445 builtins.c:487 builtins.c:491 builtins.c:498 builtins.c:509
-#: builtins.c:513 builtins.c:552 builtins.c:555 builtins.c:559 builtins.c:562
-#: builtins.c:630 builtins.c:637 builtins.c:692 builtins.c:713 builtins.c:718
-#: builtins.c:722 builtins.c:745 builtins.c:835 builtins.c:919 builtins.c:921
-#: builtins.c:943 builtins.c:946 builtins.c:948 builtins.c:950 builtins.c:952
-#: builtins.c:954 builtins.c:957 builtins.c:966 builtins.c:968 builtins.c:973
-#: builtins.c:976 builtins.c:1020 builtins.c:1025 builtins.c:1029
-#: builtins.c:1033 builtins.c:1035 builtins.c:1048 builtins.c:1066
-#: builtins.c:1231 builtins.c:1236 builtins.c:1309 builtins.c:1313
-#: builtins.c:1317 builtins.c:1320 builtins.c:1323 builtins.c:1335
-#: builtins.c:1339 builtins.c:1343 builtins.c:1346 builtins.c:1358
-#: builtins.c:1366 builtins.c:1369
 msgid ""
 msgstr ""
-"Project-Id-Version: GNU bash 3.0-rc1\n"
-"POT-Creation-Date: 2004-09-26 17:34-0400\n"
-"PO-Revision-Date: 2003-12-22 15:34-0500\n"
+"Project-Id-Version: GNU bash 3.1-beta1\n"
+"POT-Creation-Date: 2005-10-03 17:31-0400\n"
+"PO-Revision-Date: 2005-10-03 17:31-0400\n"
 "Last-Translator: Automatically generated\n"
 "Language-Team: none\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Report-Msgid-Bugs-To: bug-bash@gnu.org\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
-#: arrayfunc.c:46
+#: arrayfunc.c:48
 msgid "bad array subscript"
 msgstr "bad array subscript"
 
-#: arrayfunc.c:309
+#: arrayfunc.c:360
 #, c-format
 msgid "%s: cannot assign to non-numeric index"
 msgstr "%s: cannot assign to non-numeric index"
 
-#: bashhist.c:322
+#: bashhist.c:328
 #, c-format
 msgid "%s: cannot create: %s"
 msgstr "%s: cannot create: %s"
 
-#: bashline.c:2923
+#: bashline.c:2947
 msgid "bash_execute_unix_command: cannot find keymap for command"
 msgstr "bash_execute_unix_command: cannot find keymap for command"
 
-#: bashline.c:2972
+#: bashline.c:2996
 #, c-format
 msgid "%s: first non-whitespace character is not `\"'"
 msgstr "%s: first non-whitespace character is not ‘\e[1m\"\e[0m’"
 
-#: bashline.c:3001
+#: bashline.c:3025
 #, c-format
 msgid "no closing `%c' in %s"
 msgstr "no closing ‘\e[1m%c\e[0m’ in %s"
 
-#: bashline.c:3035
+#: bashline.c:3059
 #, c-format
 msgid "%s: missing colon separator"
 msgstr "%s: missing colon separator"
@@ -126,35 +107,43 @@ msgstr "%s can be invoked via "
 msgid "only meaningful in a `for', `while', or `until' loop"
 msgstr "only meaningful in a ‘\e[1mfor\e[0m’, ‘\e[1mwhile\e[0m’, or ‘\e[1muntil\e[0m’ loop"
 
-#: builtins/caller.def:127 builtins.c:320
+#: builtins/caller.def:132
 msgid "Returns the context of the current subroutine call."
 msgstr "Returns the context of the current subroutine call."
 
-#: builtins/caller.def:129 builtins.c:322
+#: builtins/caller.def:133 builtins/caller.def:137 builtins/pushd.def:660
+#: builtins/pushd.def:668 builtins/pushd.def:671 builtins/pushd.def:681
+#: builtins/pushd.def:685 builtins/pushd.def:689 builtins/pushd.def:692
+#: builtins/pushd.def:695 builtins/pushd.def:704 builtins/pushd.def:708
+#: builtins/pushd.def:712 builtins/pushd.def:715
+msgid " "
+msgstr " "
+
+#: builtins/caller.def:134
 msgid "Without EXPR, returns returns \"$line $filename\".  With EXPR,"
 msgstr "Without EXPR, returns returns “\e[1m$line $filename\e[0m”.  With EXPR,"
 
-#: builtins/caller.def:130 builtins.c:323
+#: builtins/caller.def:135
 msgid "returns \"$line $subroutine $filename\"; this extra information"
 msgstr "returns “\e[1m$line $subroutine $filename\e[0m”; this extra information"
 
-#: builtins/caller.def:131 builtins.c:324
+#: builtins/caller.def:136
 msgid "can be used used to provide a stack trace."
 msgstr "can be used used to provide a stack trace."
 
-#: builtins/caller.def:133 builtins.c:326
+#: builtins/caller.def:138
 msgid "The value of EXPR indicates how many call frames to go back before the"
 msgstr "The value of EXPR indicates how many call frames to go back before the"
 
-#: builtins/caller.def:134 builtins.c:327
+#: builtins/caller.def:139
 msgid "current one; the top frame is frame 0."
 msgstr "current one; the top frame is frame 0."
 
-#: builtins/cd.def:190
+#: builtins/cd.def:203
 msgid "HOME not set"
 msgstr "HOME not set"
 
-#: builtins/cd.def:202
+#: builtins/cd.def:215
 msgid "OLDPWD not set"
 msgstr "OLDPWD not set"
 
@@ -162,7 +151,7 @@ msgstr "OLDPWD not set"
 msgid "too many arguments"
 msgstr "too many arguments"
 
-#: builtins/common.c:157 shell.c:465 shell.c:737
+#: builtins/common.c:157 shell.c:474 shell.c:747
 #, c-format
 msgid "%s: option requires an argument"
 msgstr "%s: option requires an argument"
@@ -177,7 +166,7 @@ msgstr "%s: numeric argument required"
 msgid "%s: not found"
 msgstr "%s: not found"
 
-#: builtins/common.c:180 shell.c:750
+#: builtins/common.c:180 shell.c:760
 #, c-format
 msgid "%s: invalid option"
 msgstr "%s: invalid option"
@@ -264,7 +253,7 @@ msgstr "write error: %s"
 msgid "%s: error retrieving current directory: %s: %s\n"
 msgstr "%s: error retrieving current directory: %s: %s\n"
 
-#: builtins/common.c:548 builtins/common.c:550
+#: builtins/common.c:550 builtins/common.c:552
 #, c-format
 msgid "%s: ambiguous job spec"
 msgstr "%s: ambiguous job spec"
@@ -291,16 +280,16 @@ msgstr "warning: -C option may not work as you expect"
 msgid "can only be used in a function"
 msgstr "can only be used in a function"
 
-#: builtins/declare.def:295
+#: builtins/declare.def:301
 msgid "cannot use `-f' to make functions"
 msgstr "cannot use ‘\e[1m-f\e[0m’ to make functions"
 
-#: builtins/declare.def:307 execute_cmd.c:3953
+#: builtins/declare.def:313 execute_cmd.c:3986
 #, c-format
 msgid "%s: readonly function"
 msgstr "%s: readonly function"
 
-#: builtins/declare.def:389
+#: builtins/declare.def:401
 #, c-format
 msgid "%s: cannot destroy array variables in this way"
 msgstr "%s: cannot destroy array variables in this way"
@@ -329,7 +318,7 @@ msgstr "%s: not dynamically loaded"
 msgid "%s: cannot delete: %s"
 msgstr "%s: cannot delete: %s"
 
-#: builtins/evalfile.c:129 execute_cmd.c:3825 shell.c:1396
+#: builtins/evalfile.c:129 execute_cmd.c:3852 shell.c:1408
 #, c-format
 msgid "%s: is a directory"
 msgstr "%s: is a directory"
@@ -354,24 +343,23 @@ msgid "not login shell: use `exit'"
 msgstr "not login shell: use ‘\e[1mexit\e[0m’"
 
 #: builtins/exit.def:111
-#, c-format
 msgid "There are stopped jobs.\n"
 msgstr "There are stopped jobs.\n"
 
-#: builtins/fc.def:254
+#: builtins/fc.def:259
 msgid "no command found"
 msgstr "no command found"
 
-#: builtins/fc.def:319
+#: builtins/fc.def:329
 msgid "history specification"
 msgstr "history specification"
 
-#: builtins/fc.def:340
+#: builtins/fc.def:350
 #, c-format
 msgid "%s: cannot open temp file: %s"
 msgstr "%s: cannot open temp file: %s"
 
-#: builtins/fg_bg.def:145
+#: builtins/fg_bg.def:149
 #, c-format
 msgid "job %d started without job control"
 msgstr "job %d started without job control"
@@ -396,12 +384,10 @@ msgid "%s: hash table empty\n"
 msgstr "%s: hash table empty\n"
 
 #: builtins/help.def:108
-#, c-format
 msgid "Shell commands matching keywords `"
 msgstr "Shell commands matching keywords `"
 
 #: builtins/help.def:110
-#, c-format
 msgid "Shell commands matching keyword `"
 msgstr "Shell commands matching keyword `"
 
@@ -419,7 +405,6 @@ msgid "%s: cannot open: %s"
 msgstr "%s: cannot open: %s"
 
 #: builtins/help.def:182
-#, c-format
 msgid ""
 "These shell commands are defined internally.  Type `help' to see this list.\n"
 "Type `help name' to find out more about the function `name'.\n"
@@ -439,15 +424,15 @@ msgstr ""
 "A star (*) next to a name means that the command is disabled.\n"
 "\n"
 
-#: builtins/history.def:148
+#: builtins/history.def:150
 msgid "cannot use more than one of -anrw"
 msgstr "cannot use more than one of -anrw"
 
-#: builtins/history.def:180
+#: builtins/history.def:182
 msgid "history position"
 msgstr "history position"
 
-#: builtins/history.def:390
+#: builtins/history.def:400
 #, c-format
 msgid "%s: history expansion failed"
 msgstr "%s: history expansion failed"
@@ -461,7 +446,7 @@ msgstr "no other options allowed with ‘\e[1m-x\e[0m’"
 msgid "%s: arguments must be process or job IDs"
 msgstr "%s: arguments must be process or job IDs"
 
-#: builtins/kill.def:248
+#: builtins/kill.def:250
 msgid "Unknown error"
 msgstr "Unknown error"
 
@@ -469,204 +454,203 @@ msgstr "Unknown error"
 msgid "expression expected"
 msgstr "expression expected"
 
-#: builtins/printf.def:249
+#: builtins/printf.def:327
 #, c-format
 msgid "`%s': missing format character"
 msgstr "‘\e[1m%s\e[0m’: missing format character"
 
-#: builtins/printf.def:423
+#: builtins/printf.def:502
 #, c-format
 msgid "`%c': invalid format character"
 msgstr "‘\e[1m%c\e[0m’: invalid format character"
 
-#: builtins/printf.def:629
+#: builtins/printf.def:708
 msgid "missing hex digit for \\x"
 msgstr "missing hex digit for \\x"
 
-#: builtins/pushd.def:168
+#: builtins/pushd.def:173
 msgid "no other directory"
 msgstr "no other directory"
 
-#: builtins/pushd.def:435
+#: builtins/pushd.def:440
 msgid "<no current directory>"
 msgstr "<no current directory>"
 
-#: builtins/pushd.def:652 builtins.c:1355
+#: builtins/pushd.def:657
 msgid "Display the list of currently remembered directories.  Directories"
 msgstr "Display the list of currently remembered directories.  Directories"
 
-#: builtins/pushd.def:653 builtins.c:1356
+#: builtins/pushd.def:658
 msgid "find their way onto the list with the `pushd' command; you can get"
 msgstr ""
 "find their way onto the list with the ‘\e[1mpushd\e[0m’ command; you can get"
 
-#: builtins/pushd.def:654 builtins.c:1357
+#: builtins/pushd.def:659
 msgid "back up through the list with the `popd' command."
 msgstr "back up through the list with the ‘\e[1mpopd\e[0m’ command."
 
-#: builtins/pushd.def:656 builtins.c:1359
+#: builtins/pushd.def:661
 msgid "The -l flag specifies that `dirs' should not print shorthand versions"
 msgstr ""
 "The -l flag specifies that ‘\e[1mdirs\e[0m’ should not print shorthand versions"
 
-#: builtins/pushd.def:657 builtins.c:1360
+#: builtins/pushd.def:662
 msgid "of directories which are relative to your home directory.  This means"
 msgstr "of directories which are relative to your home directory.  This means"
 
-#: builtins/pushd.def:658 builtins.c:1361
+#: builtins/pushd.def:663
 msgid "that `~/bin' might be displayed as `/homes/bfox/bin'.  The -v flag"
 msgstr ""
 "that ‘\e[1m~/bin\e[0m’ might be displayed as ‘\e[1m/homes/bfox/bin\e[0m’.  The -v "
 "flag"
 
-#: builtins/pushd.def:659 builtins.c:1362
+#: builtins/pushd.def:664
 msgid "causes `dirs' to print the directory stack with one entry per line,"
 msgstr ""
 "causes ‘\e[1mdirs\e[0m’ to print the directory stack with one entry per line,"
 
-#: builtins/pushd.def:660 builtins.c:1363
+#: builtins/pushd.def:665
 msgid "prepending the directory name with its position in the stack.  The -p"
 msgstr "prepending the directory name with its position in the stack.  The -p"
 
-#: builtins/pushd.def:661 builtins.c:1364
+#: builtins/pushd.def:666
 msgid "flag does the same thing, but the stack position is not prepended."
 msgstr "flag does the same thing, but the stack position is not prepended."
 
-#: builtins/pushd.def:662 builtins.c:1365
+#: builtins/pushd.def:667
 msgid "The -c flag clears the directory stack by deleting all of the elements."
 msgstr ""
 "The -c flag clears the directory stack by deleting all of the elements."
 
-#: builtins/pushd.def:664
+#: builtins/pushd.def:669
 msgid "+N   displays the Nth entry counting from the left of the list shown by"
 msgstr ""
 "+N   displays the Nth entry counting from the left of the list shown by"
 
-#: builtins/pushd.def:665 builtins/pushd.def:668
+#: builtins/pushd.def:670 builtins/pushd.def:673
 msgid "     dirs when invoked without options, starting with zero."
 msgstr "     dirs when invoked without options, starting with zero."
 
-#: builtins/pushd.def:667
+#: builtins/pushd.def:672
 msgid ""
 "-N   displays the Nth entry counting from the right of the list shown by"
 msgstr ""
 "-N   displays the Nth entry counting from the right of the list shown by"
 
-#: builtins/pushd.def:673 builtins.c:1306
+#: builtins/pushd.def:678
 msgid "Adds a directory to the top of the directory stack, or rotates"
 msgstr "Adds a directory to the top of the directory stack, or rotates"
 
-#: builtins/pushd.def:674 builtins.c:1307
+#: builtins/pushd.def:679
 msgid "the stack, making the new top of the stack the current working"
 msgstr "the stack, making the new top of the stack the current working"
 
-#: builtins/pushd.def:675 builtins.c:1308
+#: builtins/pushd.def:680
 msgid "directory.  With no arguments, exchanges the top two directories."
 msgstr "directory.  With no arguments, exchanges the top two directories."
 
-#: builtins/pushd.def:677
+#: builtins/pushd.def:682
 msgid "+N   Rotates the stack so that the Nth directory (counting"
 msgstr "+N   Rotates the stack so that the Nth directory (counting"
 
-#: builtins/pushd.def:678
+#: builtins/pushd.def:683
 msgid "     from the left of the list shown by `dirs', starting with"
 msgstr "     from the left of the list shown by ‘\e[1mdirs\e[0m’, starting with"
 
-#: builtins/pushd.def:679 builtins/pushd.def:683
+#: builtins/pushd.def:684 builtins/pushd.def:688
 msgid "     zero) is at the top."
 msgstr "     zero) is at the top."
 
-#: builtins/pushd.def:681
+#: builtins/pushd.def:686
 msgid "-N   Rotates the stack so that the Nth directory (counting"
 msgstr "-N   Rotates the stack so that the Nth directory (counting"
 
-#: builtins/pushd.def:682
+#: builtins/pushd.def:687
 msgid "     from the right of the list shown by `dirs', starting with"
 msgstr "     from the right of the list shown by ‘\e[1mdirs\e[0m’, starting with"
 
-#: builtins/pushd.def:685
+#: builtins/pushd.def:690
 msgid "-n   suppress the normal change of directory when adding directories"
 msgstr "-n   suppress the normal change of directory when adding directories"
 
-#: builtins/pushd.def:686
+#: builtins/pushd.def:691
 msgid "     to the stack, so only the stack is manipulated."
 msgstr "     to the stack, so only the stack is manipulated."
 
-#: builtins/pushd.def:688
+#: builtins/pushd.def:693
 msgid "dir  adds DIR to the directory stack at the top, making it the"
 msgstr "dir  adds DIR to the directory stack at the top, making it the"
 
-#: builtins/pushd.def:689
+#: builtins/pushd.def:694
 msgid "     new current working directory."
 msgstr "     new current working directory."
 
-#: builtins/pushd.def:691 builtins/pushd.def:711 builtins.c:1324
-#: builtins.c:1347
+#: builtins/pushd.def:696 builtins/pushd.def:716
 msgid "You can see the directory stack with the `dirs' command."
 msgstr "You can see the directory stack with the ‘\e[1mdirs\e[0m’ command."
 
-#: builtins/pushd.def:696 builtins.c:1332
+#: builtins/pushd.def:701
 msgid "Removes entries from the directory stack.  With no arguments,"
 msgstr "Removes entries from the directory stack.  With no arguments,"
 
-#: builtins/pushd.def:697 builtins.c:1333
+#: builtins/pushd.def:702
 msgid "removes the top directory from the stack, and cd's to the new"
 msgstr "removes the top directory from the stack, and cd's to the new"
 
-#: builtins/pushd.def:698 builtins.c:1334
+#: builtins/pushd.def:703
 msgid "top directory."
 msgstr "top directory."
 
-#: builtins/pushd.def:700
+#: builtins/pushd.def:705
 msgid "+N   removes the Nth entry counting from the left of the list"
 msgstr "+N   removes the Nth entry counting from the left of the list"
 
-#: builtins/pushd.def:701
+#: builtins/pushd.def:706
 msgid "     shown by `dirs', starting with zero.  For example: `popd +0'"
 msgstr ""
 "     shown by ‘\e[1mdirs\e[0m’, starting with zero.  For example: ‘\e[1mpopd +0\e[0m’"
 
-#: builtins/pushd.def:702
+#: builtins/pushd.def:707
 msgid "     removes the first directory, `popd +1' the second."
 msgstr "     removes the first directory, ‘\e[1mpopd +1\e[0m’ the second."
 
-#: builtins/pushd.def:704
+#: builtins/pushd.def:709
 msgid "-N   removes the Nth entry counting from the right of the list"
 msgstr "-N   removes the Nth entry counting from the right of the list"
 
-#: builtins/pushd.def:705
+#: builtins/pushd.def:710
 msgid "     shown by `dirs', starting with zero.  For example: `popd -0'"
 msgstr ""
 "     shown by ‘\e[1mdirs\e[0m’, starting with zero.  For example: ‘\e[1mpopd -0\e[0m’"
 
-#: builtins/pushd.def:706
+#: builtins/pushd.def:711
 msgid "     removes the last directory, `popd -1' the next to last."
 msgstr "     removes the last directory, ‘\e[1mpopd -1\e[0m’ the next to last."
 
-#: builtins/pushd.def:708
+#: builtins/pushd.def:713
 msgid "-n   suppress the normal change of directory when removing directories"
 msgstr "-n   suppress the normal change of directory when removing directories"
 
-#: builtins/pushd.def:709
+#: builtins/pushd.def:714
 msgid "     from the stack, so only the stack is manipulated."
 msgstr "     from the stack, so only the stack is manipulated."
 
-#: builtins/read.def:207
+#: builtins/read.def:211
 #, c-format
 msgid "%s: invalid timeout specification"
 msgstr "%s: invalid timeout specification"
 
-#: builtins/read.def:230
+#: builtins/read.def:234
 #, c-format
 msgid "%s: invalid file descriptor specification"
 msgstr "%s: invalid file descriptor specification"
 
-#: builtins/read.def:237
+#: builtins/read.def:241
 #, c-format
 msgid "%d: invalid file descriptor: %s"
 msgstr "%d: invalid file descriptor: %s"
 
-#: builtins/read.def:463
+#: builtins/read.def:474
 #, c-format
 msgid "read error: %d: %s"
 msgstr "read error: %d: %s"
@@ -675,26 +659,26 @@ msgstr "read error: %d: %s"
 msgid "can only `return' from a function or sourced script"
 msgstr "can only ‘\e[1mreturn\e[0m’ from a function or sourced script"
 
-#: builtins/set.def:743
+#: builtins/set.def:745
 msgid "cannot simultaneously unset a function and a variable"
 msgstr "cannot simultaneously unset a function and a variable"
 
-#: builtins/set.def:780
+#: builtins/set.def:782
 #, c-format
 msgid "%s: cannot unset"
 msgstr "%s: cannot unset"
 
-#: builtins/set.def:787
+#: builtins/set.def:789
 #, c-format
 msgid "%s: cannot unset: readonly %s"
 msgstr "%s: cannot unset: readonly %s"
 
-#: builtins/set.def:798
+#: builtins/set.def:800
 #, c-format
 msgid "%s: not an array variable"
 msgstr "%s: not an array variable"
 
-#: builtins/setattr.def:165
+#: builtins/setattr.def:166
 #, c-format
 msgid "%s: not a function"
 msgstr "%s: not a function"
@@ -703,11 +687,11 @@ msgstr "%s: not a function"
 msgid "shift count"
 msgstr "shift count"
 
-#: builtins/shopt.def:226
+#: builtins/shopt.def:227
 msgid "cannot set and unset shell options simultaneously"
 msgstr "cannot set and unset shell options simultaneously"
 
-#: builtins/shopt.def:291
+#: builtins/shopt.def:292
 #, c-format
 msgid "%s: invalid shell option name"
 msgstr "%s: invalid shell option name"
@@ -799,7 +783,6 @@ msgid "last command: %s\n"
 msgstr "last command: %s\n"
 
 #: error.c:173
-#, c-format
 msgid "Aborting..."
 msgstr "Aborting..."
 
@@ -829,42 +812,41 @@ msgstr "bad jump"
 msgid "%s: unbound variable"
 msgstr "%s: unbound variable"
 
-#: eval.c:175
-#, c-format
+#: eval.c:176
 msgid "\atimed out waiting for input: auto-logout\n"
 msgstr "\atimed out waiting for input: auto-logout\n"
 
-#: execute_cmd.c:467
+#: execute_cmd.c:471
 #, c-format
 msgid "cannot redirect standard input from /dev/null: %s"
 msgstr "cannot redirect standard input from /dev/null: %s"
 
-#: execute_cmd.c:1037
+#: execute_cmd.c:1036
 #, c-format
 msgid "TIMEFORMAT: `%c': invalid format character"
 msgstr "TIMEFORMAT: ‘\e[1m%c\e[0m’: invalid format character"
 
-#: execute_cmd.c:3525
+#: execute_cmd.c:3551
 #, c-format
 msgid "%s: restricted: cannot specify `/' in command names"
 msgstr "%s: restricted: cannot specify ‘\e[1m/\e[0m’ in command names"
 
-#: execute_cmd.c:3613
+#: execute_cmd.c:3639
 #, c-format
 msgid "%s: command not found"
 msgstr "%s: command not found"
 
-#: execute_cmd.c:3843
+#: execute_cmd.c:3876
 #, c-format
 msgid "%s: %s: bad interpreter"
 msgstr "%s: %s: bad interpreter"
 
-#: execute_cmd.c:3880
+#: execute_cmd.c:3913
 #, c-format
 msgid "%s: cannot execute binary file"
 msgstr "%s: cannot execute binary file"
 
-#: execute_cmd.c:3992
+#: execute_cmd.c:4025
 #, c-format
 msgid "cannot duplicate fd %d to fd %d"
 msgstr "cannot duplicate fd %d to fd %d"
@@ -939,42 +921,42 @@ msgstr "cannot allocate new file descriptor for bash input from fd %d"
 msgid "save_bash_input: buffer already exists for new fd %d"
 msgstr "save_bash_input: buffer already exists for new fd %d"
 
-#: jobs.c:694
+#: jobs.c:923
 #, c-format
 msgid "deleting stopped job %d with process group %ld"
 msgstr "deleting stopped job %d with process group %ld"
 
-#: jobs.c:1002
+#: jobs.c:1308
 #, c-format
 msgid "describe_pid: %ld: no such pid"
 msgstr "describe_pid: %ld: no such pid"
 
-#: jobs.c:1635 nojobs.c:648
+#: jobs.c:1981 nojobs.c:648
 #, c-format
 msgid "wait: pid %ld is not a child of this shell"
 msgstr "wait: pid %ld is not a child of this shell"
 
-#: jobs.c:1823
+#: jobs.c:2180
 #, c-format
 msgid "wait_for: No record of process %ld"
 msgstr "wait_for: No record of process %ld"
 
-#: jobs.c:2070
+#: jobs.c:2435
 #, c-format
 msgid "wait_for_job: job %d is stopped"
 msgstr "wait_for_job: job %d is stopped"
 
-#: jobs.c:2292
+#: jobs.c:2657
 #, c-format
 msgid "%s: job has terminated"
 msgstr "%s: job has terminated"
 
-#: jobs.c:2301
+#: jobs.c:2666
 #, c-format
 msgid "%s: job %d already in background"
 msgstr "%s: job %d already in background"
 
-#: jobs.c:3045
+#: jobs.c:3452
 msgid "no job control in this shell"
 msgstr "no job control in this shell"
 
@@ -1025,7 +1007,6 @@ msgid "realloc: start and end chunk sizes differ"
 msgstr "realloc: start and end chunk sizes differ"
 
 #: lib/malloc/table.c:175
-#, c-format
 msgid "register_alloc: alloc table is full with FIND_ALLOC?\n"
 msgstr "register_alloc: alloc table is full with FIND_ALLOC?\n"
 
@@ -1100,126 +1081,126 @@ msgstr "You have new mail in $_"
 msgid "The mail in %s has been read\n"
 msgstr "The mail in %s has been read\n"
 
-#: make_cmd.c:318
+#: make_cmd.c:322
 msgid "syntax error: arithmetic expression required"
 msgstr "syntax error: arithmetic expression required"
 
-#: make_cmd.c:320
+#: make_cmd.c:324
 msgid "syntax error: `;' unexpected"
 msgstr "syntax error: ‘\e[1m;\e[0m’ unexpected"
 
-#: make_cmd.c:321
+#: make_cmd.c:325
 #, c-format
 msgid "syntax error: `((%s))'"
 msgstr "syntax error: ‘\e[1m((%s))\e[0m’"
 
-#: make_cmd.c:561
+#: make_cmd.c:566
 #, c-format
 msgid "make_here_document: bad instruction type %d"
 msgstr "make_here_document: bad instruction type %d"
 
-#: make_cmd.c:731
+#: make_cmd.c:736
 #, c-format
 msgid "make_redirection: redirection instruction `%d' out of range"
 msgstr "make_redirection: redirection instruction ‘\e[1m%d\e[0m’ out of range"
 
-#: parse.y:2733
+#: parse.y:2747
 #, c-format
 msgid "unexpected EOF while looking for matching `%c'"
 msgstr "unexpected EOF while looking for matching ‘\e[1m%c\e[0m’"
 
-#: parse.y:3018
+#: parse.y:3043
 msgid "unexpected EOF while looking for `]]'"
 msgstr "unexpected EOF while looking for ‘\e[1m]]\e[0m’"
 
-#: parse.y:3023
+#: parse.y:3048
 #, c-format
 msgid "syntax error in conditional expression: unexpected token `%s'"
 msgstr "syntax error in conditional expression: unexpected token ‘\e[1m%s\e[0m’"
 
-#: parse.y:3027
+#: parse.y:3052
 msgid "syntax error in conditional expression"
 msgstr "syntax error in conditional expression"
 
-#: parse.y:3105
+#: parse.y:3130
 #, c-format
 msgid "unexpected token `%s', expected `)'"
 msgstr "unexpected token ‘\e[1m%s\e[0m’, expected ‘\e[1m)\e[0m’"
 
-#: parse.y:3109
+#: parse.y:3134
 msgid "expected `)'"
 msgstr "expected ‘\e[1m)\e[0m’"
 
-#: parse.y:3137
+#: parse.y:3162
 #, c-format
 msgid "unexpected argument `%s' to conditional unary operator"
 msgstr "unexpected argument ‘\e[1m%s\e[0m’ to conditional unary operator"
 
-#: parse.y:3141
+#: parse.y:3166
 msgid "unexpected argument to conditional unary operator"
 msgstr "unexpected argument to conditional unary operator"
 
-#: parse.y:3178
+#: parse.y:3203
 #, c-format
 msgid "unexpected token `%s', conditional binary operator expected"
 msgstr "unexpected token ‘\e[1m%s\e[0m’, conditional binary operator expected"
 
-#: parse.y:3182
+#: parse.y:3207
 msgid "conditional binary operator expected"
 msgstr "conditional binary operator expected"
 
-#: parse.y:3198
+#: parse.y:3223
 #, c-format
 msgid "unexpected argument `%s' to conditional binary operator"
 msgstr "unexpected argument ‘\e[1m%s\e[0m’ to conditional binary operator"
 
-#: parse.y:3202
+#: parse.y:3227
 msgid "unexpected argument to conditional binary operator"
 msgstr "unexpected argument to conditional binary operator"
 
-#: parse.y:3213
+#: parse.y:3238
 #, c-format
 msgid "unexpected token `%c' in conditional command"
 msgstr "unexpected token ‘\e[1m%c\e[0m’ in conditional command"
 
-#: parse.y:3216
+#: parse.y:3241
 #, c-format
 msgid "unexpected token `%s' in conditional command"
 msgstr "unexpected token ‘\e[1m%s\e[0m’ in conditional command"
 
-#: parse.y:3220
+#: parse.y:3245
 #, c-format
 msgid "unexpected token %d in conditional command"
 msgstr "unexpected token %d in conditional command"
 
-#: parse.y:4426
+#: parse.y:4461
 #, c-format
 msgid "syntax error near unexpected token `%s'"
 msgstr "syntax error near unexpected token ‘\e[1m%s\e[0m’"
 
-#: parse.y:4444
+#: parse.y:4479
 #, c-format
 msgid "syntax error near `%s'"
 msgstr "syntax error near ‘\e[1m%s\e[0m’"
 
-#: parse.y:4454
+#: parse.y:4489
 msgid "syntax error: unexpected end of file"
 msgstr "syntax error: unexpected end of file"
 
-#: parse.y:4454
+#: parse.y:4489
 msgid "syntax error"
 msgstr "syntax error"
 
-#: parse.y:4516
+#: parse.y:4551
 #, c-format
 msgid "Use \"%s\" to leave the shell.\n"
 msgstr "Use “\e[1m%s\e[0m” to leave the shell.\n"
 
-#: parse.y:4675
+#: parse.y:4710
 msgid "unexpected EOF while looking for matching `)'"
 msgstr "unexpected EOF while looking for matching ‘\e[1m)\e[0m’"
 
-#: pcomplete.c:998
+#: pcomplete.c:1001
 #, c-format
 msgid "completion: function `%s' not found"
 msgstr "completion: function ‘\e[1m%s\e[0m’ not found"
@@ -1229,12 +1210,12 @@ msgstr "completion: function ‘\e[1m%s\e[0m’ not found"
 msgid "progcomp_insert: %s: NULL COMPSPEC"
 msgstr "progcomp_insert: %s: NULL COMPSPEC"
 
-#: print_cmd.c:261
+#: print_cmd.c:264
 #, c-format
 msgid "print_command: bad connector `%d'"
 msgstr "print_command: bad connector ‘\e[1m%d\e[0m’"
 
-#: print_cmd.c:1211
+#: print_cmd.c:1236
 #, c-format
 msgid "cprintf: `%c': invalid format character"
 msgstr "cprintf: ‘\e[1m%c\e[0m’: invalid format character"
@@ -1267,28 +1248,28 @@ msgstr "cannot create temp file for here document: %s"
 msgid "/dev/(tcp|udp)/host/port not supported without networking"
 msgstr "/dev/(tcp|udp)/host/port not supported without networking"
 
-#: redir.c:949
+#: redir.c:956
 msgid "redirection error: cannot duplicate fd"
 msgstr "redirection error: cannot duplicate fd"
 
-#: shell.c:302
+#: shell.c:309
 msgid "could not find /tmp, please create!"
 msgstr "could not find /tmp, please create!"
 
-#: shell.c:306
+#: shell.c:313
 msgid "/tmp must be a valid directory name"
 msgstr "/tmp must be a valid directory name"
 
-#: shell.c:839
+#: shell.c:849
 #, c-format
 msgid "%c%c: invalid option"
 msgstr "%c%c: invalid option"
 
-#: shell.c:1591
+#: shell.c:1598
 msgid "I have no name!"
 msgstr "I have no name!"
 
-#: shell.c:1726
+#: shell.c:1733
 #, c-format
 msgid ""
 "Usage:\t%s [GNU long option] [option] ...\n"
@@ -1297,117 +1278,116 @@ msgstr ""
 "Usage:\t%s [GNU long option] [option] ...\n"
 "\t%s [GNU long option] [option] script-file ...\n"
 
-#: shell.c:1728
+#: shell.c:1735
 msgid "GNU long options:\n"
 msgstr "GNU long options:\n"
 
-#: shell.c:1732
+#: shell.c:1739
 msgid "Shell options:\n"
 msgstr "Shell options:\n"
 
-#: shell.c:1733
+#: shell.c:1740
 msgid "\t-irsD or -c command or -O shopt_option\t\t(invocation only)\n"
 msgstr "\t-irsD or -c command or -O shopt_option\t\t(invocation only)\n"
 
-#: shell.c:1748
+#: shell.c:1755
 #, c-format
 msgid "\t-%s or -o option\n"
 msgstr "\t-%s or -o option\n"
 
-#: shell.c:1754
+#: shell.c:1761
 #, c-format
 msgid "Type `%s -c \"help set\"' for more information about shell options.\n"
 msgstr ""
 "Type ‘\e[1m%s -c “\e[1mhelp set\e[0m”\e[0m’ for more information about shell "
 "options.\n"
 
-#: shell.c:1755
+#: shell.c:1762
 #, c-format
 msgid "Type `%s -c help' for more information about shell builtin commands.\n"
 msgstr ""
 "Type ‘\e[1m%s -c help\e[0m’ for more information about shell builtin commands.\n"
 
-#: shell.c:1756
-#, c-format
+#: shell.c:1763
 msgid "Use the `bashbug' command to report bugs.\n"
 msgstr "Use the ‘\e[1mbashbug\e[0m’ command to report bugs.\n"
 
-#: sig.c:490
+#: sig.c:494
 #, c-format
 msgid "sigprocmask: %d: invalid operation"
 msgstr "sigprocmask: %d: invalid operation"
 
-#: subst.c:1102
+#: subst.c:1123
 #, c-format
 msgid "bad substitution: no closing `%s' in %s"
 msgstr "bad substitution: no closing ‘\e[1m%s\e[0m’ in %s"
 
-#: subst.c:2187
+#: subst.c:2269
 #, c-format
 msgid "%s: cannot assign list to array member"
 msgstr "%s: cannot assign list to array member"
 
-#: subst.c:4026 subst.c:4042
+#: subst.c:4208 subst.c:4224
 msgid "cannot make pipe for process substitution"
 msgstr "cannot make pipe for process substitution"
 
-#: subst.c:4073
+#: subst.c:4255
 msgid "cannot make child for process substitution"
 msgstr "cannot make child for process substitution"
 
-#: subst.c:4118
+#: subst.c:4300
 #, c-format
 msgid "cannot open named pipe %s for reading"
 msgstr "cannot open named pipe %s for reading"
 
-#: subst.c:4120
+#: subst.c:4302
 #, c-format
 msgid "cannot open named pipe %s for writing"
 msgstr "cannot open named pipe %s for writing"
 
-#: subst.c:4128
+#: subst.c:4310
 #, c-format
 msgid "cannout reset nodelay mode for fd %d"
 msgstr "cannout reset nodelay mode for fd %d"
 
-#: subst.c:4138
+#: subst.c:4320
 #, c-format
 msgid "cannot duplicate named pipe %s as fd %d"
 msgstr "cannot duplicate named pipe %s as fd %d"
 
-#: subst.c:4313
+#: subst.c:4495
 msgid "cannot make pipe for command substitution"
 msgstr "cannot make pipe for command substitution"
 
-#: subst.c:4342
+#: subst.c:4531
 msgid "cannot make child for command substitution"
 msgstr "cannot make child for command substitution"
 
-#: subst.c:4359
+#: subst.c:4548
 msgid "command_substitute: cannot duplicate pipe as fd 1"
 msgstr "command_substitute: cannot duplicate pipe as fd 1"
 
-#: subst.c:4802
+#: subst.c:5013
 #, c-format
 msgid "%s: parameter null or not set"
 msgstr "%s: parameter null or not set"
 
-#: subst.c:5068
+#: subst.c:5287
 #, c-format
 msgid "%s: substring expression < 0"
 msgstr "%s: substring expression < 0"
 
-#: subst.c:5791
+#: subst.c:6058
 #, c-format
 msgid "%s: bad substitution"
 msgstr "%s: bad substitution"
 
-#: subst.c:5865
+#: subst.c:6134
 #, c-format
 msgid "$%s: cannot assign in this way"
 msgstr "$%s: cannot assign in this way"
 
-#: subst.c:7325
+#: subst.c:7687
 #, c-format
 msgid "no match: %s"
 msgstr "no match: %s"
@@ -1465,50 +1445,49 @@ msgstr ""
 msgid "trap_handler: bad signal %d"
 msgstr "trap_handler: bad signal %d"
 
-#: variables.c:314
+#: variables.c:320
 #, c-format
 msgid "error importing function definition for `%s'"
 msgstr "error importing function definition for ‘\e[1m%s\e[0m’"
 
-#: variables.c:674
+#: variables.c:692
 #, c-format
 msgid "shell level (%d) too high, resetting to 1"
 msgstr "shell level (%d) too high, resetting to 1"
 
-#: variables.c:1617
+#: variables.c:1651
 msgid "make_local_variable: no function context at current scope"
 msgstr "make_local_variable: no function context at current scope"
 
-#: variables.c:2724
+#: variables.c:2807
 msgid "all_local_variables: no function context at current scope"
 msgstr "all_local_variables: no function context at current scope"
 
-#: variables.c:2938 variables.c:2947
+#: variables.c:3021 variables.c:3030
 #, c-format
 msgid "invalid character %d in exportstr for %s"
 msgstr "invalid character %d in exportstr for %s"
 
-#: variables.c:2953
+#: variables.c:3036
 #, c-format
 msgid "no `=' in exportstr for %s"
 msgstr "no ‘\e[1m=\e[0m’ in exportstr for %s"
 
-#: variables.c:3378
+#: variables.c:3463
 msgid "pop_var_context: head of shell_variables not a function context"
 msgstr "pop_var_context: head of shell_variables not a function context"
 
-#: variables.c:3391
+#: variables.c:3476
 msgid "pop_var_context: no global_variables context"
 msgstr "pop_var_context: no global_variables context"
 
-#: variables.c:3457
+#: variables.c:3548
 msgid "pop_scope: head of shell_variables not a temporary environment scope"
 msgstr "pop_scope: head of shell_variables not a temporary environment scope"
 
 #: version.c:82
-#, c-format
-msgid "Copyright (C) 2004 Free Software Foundation, Inc.\n"
-msgstr "Copyright (C) 2004 Free Software Foundation, Inc.\n"
+msgid "Copyright (C) 2005 Free Software Foundation, Inc.\n"
+msgstr "Copyright (C) 2005 Free Software Foundation, Inc.\n"
 
 #: xmalloc.c:93
 #, c-format
@@ -1551,2887 +1530,1931 @@ msgid "xrealloc: %s:%d: cannot allocate %lu bytes"
 msgstr "xrealloc: %s:%d: cannot allocate %lu bytes"
 
 #: builtins.c:244
-msgid "`alias' with no arguments or with the -p option prints the list"
-msgstr "‘\e[1malias\e[0m’ with no arguments or with the -p option prints the list"
-
-#: builtins.c:245
-msgid "of aliases in the form alias NAME=VALUE on standard output."
-msgstr "of aliases in the form alias NAME=VALUE on standard output."
-
-#: builtins.c:246
-msgid "Otherwise, an alias is defined for each NAME whose VALUE is given."
-msgstr "Otherwise, an alias is defined for each NAME whose VALUE is given."
-
-#: builtins.c:247
-msgid "A trailing space in VALUE causes the next word to be checked for"
-msgstr "A trailing space in VALUE causes the next word to be checked for"
-
-#: builtins.c:248
-msgid "alias substitution when the alias is expanded.  Alias returns"
-msgstr "alias substitution when the alias is expanded.  Alias returns"
-
-#: builtins.c:249
-msgid "true unless a NAME is given for which no alias has been defined."
-msgstr "true unless a NAME is given for which no alias has been defined."
-
-#: builtins.c:257
-msgid ""
-"Remove NAMEs from the list of defined aliases.  If the -a option is given,"
-msgstr ""
-"Remove NAMEs from the list of defined aliases.  If the -a option is given,"
-
-#: builtins.c:258
-msgid "then remove all alias definitions."
-msgstr "then remove all alias definitions."
-
-#: builtins.c:266
-msgid "Bind a key sequence to a Readline function or a macro, or set"
-msgstr "Bind a key sequence to a Readline function or a macro, or set"
-
-#: builtins.c:267
-msgid "a Readline variable.  The non-option argument syntax is equivalent"
-msgstr "a Readline variable.  The non-option argument syntax is equivalent"
-
-#: builtins.c:268
-msgid "to that found in ~/.inputrc, but must be passed as a single argument:"
-msgstr "to that found in ~/.inputrc, but must be passed as a single argument:"
-
-#: builtins.c:269
-msgid "bind '\"\\C-x\\C-r\": re-read-init-file'."
-msgstr "bind '“\e[1m\\C-x\\C-r\e[0m”: re-read-init-file'."
-
-#: builtins.c:270
-msgid "bind accepts the following options:"
-msgstr "bind accepts the following options:"
-
-#: builtins.c:271
 msgid ""
-"  -m  keymap         Use `keymap' as the keymap for the duration of this"
+" `alias' with no arguments or with the -p option prints the list\n"
+"    of aliases in the form alias NAME=VALUE on standard output.\n"
+"    Otherwise, an alias is defined for each NAME whose VALUE is given.\n"
+"    A trailing space in VALUE causes the next word to be checked for\n"
+"    alias substitution when the alias is expanded.  Alias returns\n"
+"    true unless a NAME is given for which no alias has been defined."
 msgstr ""
-"  -m  keymap         Use ‘\e[1mkeymap\e[0m’ as the keymap for the duration of "
-"this"
-
-#: builtins.c:272
-msgid "                     command.  Acceptable keymap names are emacs,"
-msgstr "                     command.  Acceptable keymap names are emacs,"
+" \e[1malias\e[0m’ with no arguments or with the -p option prints the list\n"
+"    of aliases in the form alias NAME=VALUE on standard output.\n"
+"    Otherwise, an alias is defined for each NAME whose VALUE is given.\n"
+"    A trailing space in VALUE causes the next word to be checked for\n"
+"    alias substitution when the alias is expanded.  Alias returns\n"
+"    true unless a NAME is given for which no alias has been defined."
 
-#: builtins.c:273
+#: builtins.c:257
 msgid ""
-"                     emacs-standard, emacs-meta, emacs-ctlx, vi, vi-move,"
+" Remove NAMEs from the list of defined aliases.  If the -a option is given,\n"
+"    then remove all alias definitions."
 msgstr ""
-"                     emacs-standard, emacs-meta, emacs-ctlx, vi, vi-move,"
-
-#: builtins.c:274
-msgid "                     vi-command, and vi-insert."
-msgstr "                     vi-command, and vi-insert."
-
-#: builtins.c:275
-msgid "  -l                 List names of functions."
-msgstr "  -l                 List names of functions."
-
-#: builtins.c:276
-msgid "  -P                 List function names and bindings."
-msgstr "  -P                 List function names and bindings."
+" Remove NAMEs from the list of defined aliases.  If the -a option is given,\n"
+"    then remove all alias definitions."
 
-#: builtins.c:277
-msgid "  -p                 List functions and bindings in a form that can be"
-msgstr "  -p                 List functions and bindings in a form that can be"
-
-#: builtins.c:278
-msgid "                     reused as input."
-msgstr "                     reused as input."
-
-#: builtins.c:279
-msgid "  -r  keyseq         Remove the binding for KEYSEQ."
-msgstr "  -r  keyseq         Remove the binding for KEYSEQ."
-
-#: builtins.c:280
-msgid "  -x  keyseq:shell-command\tCause SHELL-COMMAND to be executed when"
-msgstr "  -x  keyseq:shell-command\tCause SHELL-COMMAND to be executed when"
-
-#: builtins.c:281
-msgid "\t\t\t\tKEYSEQ is entered."
-msgstr "\t\t\t\tKEYSEQ is entered."
-
-#: builtins.c:282
-msgid "  -f  filename       Read key bindings from FILENAME."
-msgstr "  -f  filename       Read key bindings from FILENAME."
-
-#: builtins.c:283
-msgid "  -q  function-name  Query about which keys invoke the named function."
-msgstr "  -q  function-name  Query about which keys invoke the named function."
-
-#: builtins.c:284
+#: builtins.c:266
 msgid ""
-"  -u  function-name  Unbind all keys which are bound to the named function."
-msgstr ""
-"  -u  function-name  Unbind all keys which are bound to the named function."
-
-#: builtins.c:285
-msgid "  -V                 List variable names and values"
-msgstr "  -V                 List variable names and values"
-
-#: builtins.c:286
-msgid "  -v                 List variable names and values in a form that can"
-msgstr "  -v                 List variable names and values in a form that can"
-
-#: builtins.c:287
-msgid "                     be reused as input."
-msgstr "                     be reused as input."
+" Bind a key sequence to a Readline function or a macro, or set\n"
+"    a Readline variable.  The non-option argument syntax is equivalent\n"
+"    to that found in ~/.inputrc, but must be passed as a single argument:\n"
+"    bind '\"\\C-x\\C-r\": re-read-init-file'.\n"
+"    bind accepts the following options:\n"
+"      -m  keymap         Use `keymap' as the keymap for the duration of "
+"this\n"
+"                         command.  Acceptable keymap names are emacs,\n"
+"                         emacs-standard, emacs-meta, emacs-ctlx, vi, vi-"
+"move,\n"
+"                         vi-command, and vi-insert.\n"
+"      -l                 List names of functions.\n"
+"      -P                 List function names and bindings.\n"
+"      -p                 List functions and bindings in a form that can be\n"
+"                         reused as input.\n"
+"      -r  keyseq         Remove the binding for KEYSEQ.\n"
+"      -x  keyseq:shell-command\tCause SHELL-COMMAND to be executed when\n"
+"    \t\t\t\tKEYSEQ is entered.\n"
+"      -f  filename       Read key bindings from FILENAME.\n"
+"      -q  function-name  Query about which keys invoke the named function.\n"
+"      -u  function-name  Unbind all keys which are bound to the named "
+"function.\n"
+"      -V                 List variable names and values\n"
+"      -v                 List variable names and values in a form that can\n"
+"                         be reused as input.\n"
+"      -S                 List key sequences that invoke macros and their "
+"values\n"
+"      -s                 List key sequences that invoke macros and their "
+"values\n"
+"                         in a form that can be reused as input."
+msgstr ""
+" Bind a key sequence to a Readline function or a macro, or set\n"
+"    a Readline variable.  The non-option argument syntax is equivalent\n"
+"    to that found in ~/.inputrc, but must be passed as a single argument:\n"
+"    bind '“\e[1m\\C-x\\C-r\e[0m”: re-read-init-file'.\n"
+"    bind accepts the following options:\n"
+"      -m  keymap         Use ‘\e[1mkeymap\e[0m’ as the keymap for the duration "
+"of this\n"
+"                         command.  Acceptable keymap names are emacs,\n"
+"                         emacs-standard, emacs-meta, emacs-ctlx, vi, vi-"
+"move,\n"
+"                         vi-command, and vi-insert.\n"
+"      -l                 List names of functions.\n"
+"      -P                 List function names and bindings.\n"
+"      -p                 List functions and bindings in a form that can be\n"
+"                         reused as input.\n"
+"      -r  keyseq         Remove the binding for KEYSEQ.\n"
+"      -x  keyseq:shell-command\tCause SHELL-COMMAND to be executed when\n"
+"    \t\t\t\tKEYSEQ is entered.\n"
+"      -f  filename       Read key bindings from FILENAME.\n"
+"      -q  function-name  Query about which keys invoke the named function.\n"
+"      -u  function-name  Unbind all keys which are bound to the named "
+"function.\n"
+"      -V                 List variable names and values\n"
+"      -v                 List variable names and values in a form that can\n"
+"                         be reused as input.\n"
+"      -S                 List key sequences that invoke macros and their "
+"values\n"
+"      -s                 List key sequences that invoke macros and their "
+"values\n"
+"                         in a form that can be reused as input."
 
-#: builtins.c:288
+#: builtins.c:297
 msgid ""
-"  -S                 List key sequences that invoke macros and their values"
+" Exit from within a FOR, WHILE or UNTIL loop.  If N is specified,\n"
+"    break N levels."
 msgstr ""
-"  -S                 List key sequences that invoke macros and their values"
+" Exit from within a FOR, WHILE or UNTIL loop.  If N is specified,\n"
+"    break N levels."
 
-#: builtins.c:289
+#: builtins.c:304
 msgid ""
-"  -s                 List key sequences that invoke macros and their values"
+" Resume the next iteration of the enclosing FOR, WHILE or UNTIL loop.\n"
+"    If N is specified, resume at the N-th enclosing loop."
 msgstr ""
-"  -s                 List key sequences that invoke macros and their values"
-
-#: builtins.c:290
-msgid "                     in a form that can be reused as input."
-msgstr "                     in a form that can be reused as input."
-
-#: builtins.c:297
-msgid "Exit from within a FOR, WHILE or UNTIL loop.  If N is specified,"
-msgstr "Exit from within a FOR, WHILE or UNTIL loop.  If N is specified,"
-
-#: builtins.c:298
-msgid "break N levels."
-msgstr "break N levels."
-
-#: builtins.c:304
-msgid "Resume the next iteration of the enclosing FOR, WHILE or UNTIL loop."
-msgstr "Resume the next iteration of the enclosing FOR, WHILE or UNTIL loop."
-
-#: builtins.c:305
-msgid "If N is specified, resume at the N-th enclosing loop."
-msgstr "If N is specified, resume at the N-th enclosing loop."
+" Resume the next iteration of the enclosing FOR, WHILE or UNTIL loop.\n"
+"    If N is specified, resume at the N-th enclosing loop."
 
 #: builtins.c:311
-msgid "Run a shell builtin.  This is useful when you wish to rename a"
-msgstr "Run a shell builtin.  This is useful when you wish to rename a"
-
-#: builtins.c:312
-msgid "shell builtin to be a function, but need the functionality of the"
-msgstr "shell builtin to be a function, but need the functionality of the"
-
-#: builtins.c:313
-msgid "builtin within the function itself."
-msgstr "builtin within the function itself."
+msgid ""
+" Run a shell builtin.  This is useful when you wish to rename a\n"
+"    shell builtin to be a function, but need the functionality of the\n"
+"    builtin within the function itself."
+msgstr ""
+" Run a shell builtin.  This is useful when you wish to rename a\n"
+"    shell builtin to be a function, but need the functionality of the\n"
+"    builtin within the function itself."
+
+#: builtins.c:320
+msgid ""
+" Returns the context of the current subroutine call.\n"
+"    \n"
+"    Without EXPR, returns returns \"$line $filename\".  With EXPR,\n"
+"    returns \"$line $subroutine $filename\"; this extra information\n"
+"    can be used used to provide a stack trace.\n"
+"    \n"
+"    The value of EXPR indicates how many call frames to go back before the\n"
+"    current one; the top frame is frame 0."
+msgstr ""
+" Returns the context of the current subroutine call.\n"
+"    \n"
+"    Without EXPR, returns returns “\e[1m$line $filename\e[0m”.  With EXPR,\n"
+"    returns “\e[1m$line $subroutine $filename\e[0m”; this extra information\n"
+"    can be used used to provide a stack trace.\n"
+"    \n"
+"    The value of EXPR indicates how many call frames to go back before the\n"
+"    current one; the top frame is frame 0."
 
 #: builtins.c:334
-msgid "Change the current directory to DIR.  The variable $HOME is the"
-msgstr "Change the current directory to DIR.  The variable $HOME is the"
-
-#: builtins.c:335
-msgid "default DIR.  The variable CDPATH defines the search path for"
-msgstr "default DIR.  The variable CDPATH defines the search path for"
-
-#: builtins.c:336
-msgid "the directory containing DIR.  Alternative directory names in CDPATH"
-msgstr "the directory containing DIR.  Alternative directory names in CDPATH"
-
-#: builtins.c:337
-msgid "are separated by a colon (:).  A null directory name is the same as"
-msgstr "are separated by a colon (:).  A null directory name is the same as"
-
-#: builtins.c:338
-msgid "the current directory, i.e. `.'.  If DIR begins with a slash (/),"
-msgstr ""
-"the current directory, i.e. ‘\e[1m.\e[0m’.  If DIR begins with a slash (/),"
-
-#: builtins.c:339
-msgid "then CDPATH is not used.  If the directory is not found, and the"
-msgstr "then CDPATH is not used.  If the directory is not found, and the"
-
-#: builtins.c:340
-msgid "shell option `cdable_vars' is set, then try the word as a variable"
-msgstr ""
-"shell option ‘\e[1mcdable_vars\e[0m’ is set, then try the word as a variable"
-
-#: builtins.c:341
-msgid "name.  If that variable has a value, then cd to the value of that"
-msgstr "name.  If that variable has a value, then cd to the value of that"
-
-#: builtins.c:342
-msgid "variable.  The -P option says to use the physical directory structure"
-msgstr "variable.  The -P option says to use the physical directory structure"
-
-#: builtins.c:343
 msgid ""
-"instead of following symbolic links; the -L option forces symbolic links"
-msgstr ""
-"instead of following symbolic links; the -L option forces symbolic links"
-
-#: builtins.c:344
-msgid "to be followed."
-msgstr "to be followed."
+" Change the current directory to DIR.  The variable $HOME is the\n"
+"    default DIR.  The variable CDPATH defines the search path for\n"
+"    the directory containing DIR.  Alternative directory names in CDPATH\n"
+"    are separated by a colon (:).  A null directory name is the same as\n"
+"    the current directory, i.e. `.'.  If DIR begins with a slash (/),\n"
+"    then CDPATH is not used.  If the directory is not found, and the\n"
+"    shell option `cdable_vars' is set, then try the word as a variable\n"
+"    name.  If that variable has a value, then cd to the value of that\n"
+"    variable.  The -P option says to use the physical directory structure\n"
+"    instead of following symbolic links; the -L option forces symbolic "
+"links\n"
+"    to be followed."
+msgstr ""
+" Change the current directory to DIR.  The variable $HOME is the\n"
+"    default DIR.  The variable CDPATH defines the search path for\n"
+"    the directory containing DIR.  Alternative directory names in CDPATH\n"
+"    are separated by a colon (:).  A null directory name is the same as\n"
+"    the current directory, i.e. ‘\e[1m.\e[0m’.  If DIR begins with a slash (/),\n"
+"    then CDPATH is not used.  If the directory is not found, and the\n"
+"    shell option ‘\e[1mcdable_vars\e[0m’ is set, then try the word as a "
+"variable\n"
+"    name.  If that variable has a value, then cd to the value of that\n"
+"    variable.  The -P option says to use the physical directory structure\n"
+"    instead of following symbolic links; the -L option forces symbolic "
+"links\n"
+"    to be followed."
 
 #: builtins.c:350
-msgid "Print the current working directory.  With the -P option, pwd prints"
-msgstr "Print the current working directory.  With the -P option, pwd prints"
-
-#: builtins.c:351
-msgid "the physical directory, without any symbolic links; the -L option"
-msgstr "the physical directory, without any symbolic links; the -L option"
-
-#: builtins.c:352
-msgid "makes pwd follow symbolic links."
-msgstr "makes pwd follow symbolic links."
+msgid ""
+" Print the current working directory.  With the -P option, pwd prints\n"
+"    the physical directory, without any symbolic links; the -L option\n"
+"    makes pwd follow symbolic links."
+msgstr ""
+" Print the current working directory.  With the -P option, pwd prints\n"
+"    the physical directory, without any symbolic links; the -L option\n"
+"    makes pwd follow symbolic links."
 
 #: builtins.c:358
-msgid "No effect; the command does nothing.  A zero exit code is returned."
-msgstr "No effect; the command does nothing.  A zero exit code is returned."
+msgid " No effect; the command does nothing.  A zero exit code is returned."
+msgstr " No effect; the command does nothing.  A zero exit code is returned."
 
 #: builtins.c:364
-msgid "Return a successful result."
-msgstr "Return a successful result."
+msgid " Return a successful result."
+msgstr " Return a successful result."
 
 #: builtins.c:370
-msgid "Return an unsuccessful result."
-msgstr "Return an unsuccessful result."
+msgid " Return an unsuccessful result."
+msgstr " Return an unsuccessful result."
 
 #: builtins.c:376
-msgid "Runs COMMAND with ARGS ignoring shell functions.  If you have a shell"
-msgstr "Runs COMMAND with ARGS ignoring shell functions.  If you have a shell"
-
-#: builtins.c:377
-msgid "function called `ls', and you wish to call the command `ls', you can"
-msgstr ""
-"function called ‘\e[1mls\e[0m’, and you wish to call the command ‘\e[1mls\e[0m’, you "
-"can"
-
-#: builtins.c:378
-msgid "say \"command ls\".  If the -p option is given, a default value is used"
-msgstr ""
-"say “\e[1mcommand ls\e[0m”.  If the -p option is given, a default value is used"
-
-#: builtins.c:379
-msgid "for PATH that is guaranteed to find all of the standard utilities.  If"
-msgstr "for PATH that is guaranteed to find all of the standard utilities.  If"
-
-#: builtins.c:380
-msgid "the -V or -v option is given, a string is printed describing COMMAND."
-msgstr "the -V or -v option is given, a string is printed describing COMMAND."
-
-#: builtins.c:381
-msgid "The -V option produces a more verbose description."
-msgstr "The -V option produces a more verbose description."
+msgid ""
+" Runs COMMAND with ARGS ignoring shell functions.  If you have a shell\n"
+"    function called `ls', and you wish to call the command `ls', you can\n"
+"    say \"command ls\".  If the -p option is given, a default value is used\n"
+"    for PATH that is guaranteed to find all of the standard utilities.  If\n"
+"    the -V or -v option is given, a string is printed describing COMMAND.\n"
+"    The -V option produces a more verbose description."
+msgstr ""
+" Runs COMMAND with ARGS ignoring shell functions.  If you have a shell\n"
+"    function called ‘\e[1mls\e[0m’, and you wish to call the command ‘\e[1mls\e[0m’, "
+"you can\n"
+"    say “\e[1mcommand ls\e[0m”.  If the -p option is given, a default value is "
+"used\n"
+"    for PATH that is guaranteed to find all of the standard utilities.  If\n"
+"    the -V or -v option is given, a string is printed describing COMMAND.\n"
+"    The -V option produces a more verbose description."
 
 #: builtins.c:387
-msgid "Declare variables and/or give them attributes.  If no NAMEs are"
-msgstr "Declare variables and/or give them attributes.  If no NAMEs are"
-
-#: builtins.c:388
-msgid "given, then display the values of variables instead.  The -p option"
-msgstr "given, then display the values of variables instead.  The -p option"
-
-#: builtins.c:389
-msgid "will display the attributes and values of each NAME."
-msgstr "will display the attributes and values of each NAME."
-
-#: builtins.c:391
-msgid "The flags are:"
-msgstr "The flags are:"
-
-#: builtins.c:393
-msgid "  -a\tto make NAMEs arrays (if supported)"
-msgstr "  -a\tto make NAMEs arrays (if supported)"
-
-#: builtins.c:394
-msgid "  -f\tto select from among function names only"
-msgstr "  -f\tto select from among function names only"
-
-#: builtins.c:395
 msgid ""
-"  -F\tto display function names (and line number and source file name if"
-msgstr ""
-"  -F\tto display function names (and line number and source file name if"
-
-#: builtins.c:396
-msgid "\tdebugging) without definitions"
-msgstr "\tdebugging) without definitions"
-
-#: builtins.c:397
-msgid "  -i\tto make NAMEs have the `integer' attribute"
-msgstr "  -i\tto make NAMEs have the ‘\e[1minteger\e[0m’ attribute"
-
-#: builtins.c:398
-msgid "  -r\tto make NAMEs readonly"
-msgstr "  -r\tto make NAMEs readonly"
-
-#: builtins.c:399
-msgid "  -t\tto make NAMEs have the `trace' attribute"
-msgstr "  -t\tto make NAMEs have the ‘\e[1mtrace\e[0m’ attribute"
-
-#: builtins.c:400
-msgid "  -x\tto make NAMEs export"
-msgstr "  -x\tto make NAMEs export"
-
-#: builtins.c:402
-msgid "Variables with the integer attribute have arithmetic evaluation (see"
-msgstr "Variables with the integer attribute have arithmetic evaluation (see"
-
-#: builtins.c:403
-msgid "`let') done when the variable is assigned to."
-msgstr "‘\e[1mlet\e[0m’) done when the variable is assigned to."
-
-#: builtins.c:405
-msgid "When displaying values of variables, -f displays a function's name"
-msgstr "When displaying values of variables, -f displays a function's name"
-
-#: builtins.c:406
-msgid "and definition.  The -F option restricts the display to function"
-msgstr "and definition.  The -F option restricts the display to function"
-
-#: builtins.c:407
-msgid "name only."
-msgstr "name only."
-
-#: builtins.c:409
-msgid "Using `+' instead of `-' turns off the given attribute instead.  When"
-msgstr ""
-"Using ‘\e[1m+\e[0m’ instead of ‘\e[1m-\e[0m’ turns off the given attribute instead.  "
-"When"
-
-#: builtins.c:410
-msgid "used in a function, makes NAMEs local, as with the `local' command."
-msgstr ""
-"used in a function, makes NAMEs local, as with the ‘\e[1mlocal\e[0m’ command."
+" Declare variables and/or give them attributes.  If no NAMEs are\n"
+"    given, then display the values of variables instead.  The -p option\n"
+"    will display the attributes and values of each NAME.\n"
+"    \n"
+"    The flags are:\n"
+"    \n"
+"      -a\tto make NAMEs arrays (if supported)\n"
+"      -f\tto select from among function names only\n"
+"      -F\tto display function names (and line number and source file name "
+"if\n"
+"    \tdebugging) without definitions\n"
+"      -i\tto make NAMEs have the `integer' attribute\n"
+"      -r\tto make NAMEs readonly\n"
+"      -t\tto make NAMEs have the `trace' attribute\n"
+"      -x\tto make NAMEs export\n"
+"    \n"
+"    Variables with the integer attribute have arithmetic evaluation (see\n"
+"    `let') done when the variable is assigned to.\n"
+"    \n"
+"    When displaying values of variables, -f displays a function's name\n"
+"    and definition.  The -F option restricts the display to function\n"
+"    name only.\n"
+"    \n"
+"    Using `+' instead of `-' turns off the given attribute instead.  When\n"
+"    used in a function, makes NAMEs local, as with the `local' command."
+msgstr ""
+" Declare variables and/or give them attributes.  If no NAMEs are\n"
+"    given, then display the values of variables instead.  The -p option\n"
+"    will display the attributes and values of each NAME.\n"
+"    \n"
+"    The flags are:\n"
+"    \n"
+"      -a\tto make NAMEs arrays (if supported)\n"
+"      -f\tto select from among function names only\n"
+"      -F\tto display function names (and line number and source file name "
+"if\n"
+"    \tdebugging) without definitions\n"
+"      -i\tto make NAMEs have the ‘\e[1minteger\e[0m’ attribute\n"
+"      -r\tto make NAMEs readonly\n"
+"      -t\tto make NAMEs have the ‘\e[1mtrace\e[0m’ attribute\n"
+"      -x\tto make NAMEs export\n"
+"    \n"
+"    Variables with the integer attribute have arithmetic evaluation (see\n"
+"    ‘\e[1mlet\e[0m’) done when the variable is assigned to.\n"
+"    \n"
+"    When displaying values of variables, -f displays a function's name\n"
+"    and definition.  The -F option restricts the display to function\n"
+"    name only.\n"
+"    \n"
+"    Using ‘\e[1m+\e[0m’ instead of ‘\e[1m-\e[0m’ turns off the given attribute "
+"instead.  When\n"
+"    used in a function, makes NAMEs local, as with the ‘\e[1mlocal\e[0m’ command."
 
 #: builtins.c:416
-msgid "Obsolete.  See `declare'."
-msgstr "Obsolete.  See ‘\e[1mdeclare\e[0m’."
+msgid " Obsolete.  See `declare'."
+msgstr " Obsolete.  See ‘\e[1mdeclare\e[0m’."
 
 #: builtins.c:422
-msgid "Create a local variable called NAME, and give it VALUE.  LOCAL"
-msgstr "Create a local variable called NAME, and give it VALUE.  LOCAL"
-
-#: builtins.c:423
-msgid "can only be used within a function; it makes the variable NAME"
-msgstr "can only be used within a function; it makes the variable NAME"
-
-#: builtins.c:424
-msgid "have a visible scope restricted to that function and its children."
-msgstr "have a visible scope restricted to that function and its children."
+msgid ""
+" Create a local variable called NAME, and give it VALUE.  LOCAL\n"
+"    can only be used within a function; it makes the variable NAME\n"
+"    have a visible scope restricted to that function and its children."
+msgstr ""
+" Create a local variable called NAME, and give it VALUE.  LOCAL\n"
+"    can only be used within a function; it makes the variable NAME\n"
+"    have a visible scope restricted to that function and its children."
 
 #: builtins.c:431
-msgid "Output the ARGs.  If -n is specified, the trailing newline is"
-msgstr "Output the ARGs.  If -n is specified, the trailing newline is"
-
-#: builtins.c:432
-msgid "suppressed.  If the -e option is given, interpretation of the"
-msgstr "suppressed.  If the -e option is given, interpretation of the"
-
-#: builtins.c:433
-msgid "following backslash-escaped characters is turned on:"
-msgstr "following backslash-escaped characters is turned on:"
-
-#: builtins.c:434
-msgid "\t\\a\talert (bell)"
-msgstr "\t\\a\talert (bell)"
-
-#: builtins.c:435
-msgid "\t\\b\tbackspace"
-msgstr "\t\\b\tbackspace"
-
-#: builtins.c:436
-msgid "\t\\c\tsuppress trailing newline"
-msgstr "\t\\c\tsuppress trailing newline"
-
-#: builtins.c:437
-msgid "\t\\E\tescape character"
-msgstr "\t\\E\tescape character"
-
-#: builtins.c:438
-msgid "\t\\f\tform feed"
-msgstr "\t\\f\tform feed"
-
-#: builtins.c:439
-msgid "\t\\n\tnew line"
-msgstr "\t\\n\tnew line"
-
-#: builtins.c:440
-msgid "\t\\r\tcarriage return"
-msgstr "\t\\r\tcarriage return"
-
-#: builtins.c:441
-msgid "\t\\t\thorizontal tab"
-msgstr "\t\\t\thorizontal tab"
-
-#: builtins.c:442
-msgid "\t\\v\tvertical tab"
-msgstr "\t\\v\tvertical tab"
-
-#: builtins.c:443
-msgid "\t\\\\\tbackslash"
-msgstr "\t\\\\\tbackslash"
-
-#: builtins.c:444
-msgid "\t\\num\tthe character whose ASCII code is NUM (octal)."
-msgstr "\t\\num\tthe character whose ASCII code is NUM (octal)."
-
-#: builtins.c:446
-msgid "You can explicitly turn off the interpretation of the above characters"
-msgstr "You can explicitly turn off the interpretation of the above characters"
-
-#: builtins.c:447
-msgid "with the -E option."
-msgstr "with the -E option."
+msgid ""
+" Output the ARGs.  If -n is specified, the trailing newline is\n"
+"    suppressed.  If the -e option is given, interpretation of the\n"
+"    following backslash-escaped characters is turned on:\n"
+"    \t\\a\talert (bell)\n"
+"    \t\\b\tbackspace\n"
+"    \t\\c\tsuppress trailing newline\n"
+"    \t\\E\tescape character\n"
+"    \t\\f\tform feed\n"
+"    \t\\n\tnew line\n"
+"    \t\\r\tcarriage return\n"
+"    \t\\t\thorizontal tab\n"
+"    \t\\v\tvertical tab\n"
+"    \t\\\\\tbackslash\n"
+"    \t\\num\tthe character whose ASCII code is NUM (octal).\n"
+"    \n"
+"    You can explicitly turn off the interpretation of the above characters\n"
+"    with the -E option."
+msgstr ""
+" Output the ARGs.  If -n is specified, the trailing newline is\n"
+"    suppressed.  If the -e option is given, interpretation of the\n"
+"    following backslash-escaped characters is turned on:\n"
+"    \t\\a\talert (bell)\n"
+"    \t\\b\tbackspace\n"
+"    \t\\c\tsuppress trailing newline\n"
+"    \t\\E\tescape character\n"
+"    \t\\f\tform feed\n"
+"    \t\\n\tnew line\n"
+"    \t\\r\tcarriage return\n"
+"    \t\\t\thorizontal tab\n"
+"    \t\\v\tvertical tab\n"
+"    \t\\\\\tbackslash\n"
+"    \t\\num\tthe character whose ASCII code is NUM (octal).\n"
+"    \n"
+"    You can explicitly turn off the interpretation of the above characters\n"
+"    with the -E option."
 
 #: builtins.c:455
 msgid ""
-"Output the ARGs.  If -n is specified, the trailing newline is suppressed."
+" Output the ARGs.  If -n is specified, the trailing newline is suppressed."
 msgstr ""
-"Output the ARGs.  If -n is specified, the trailing newline is suppressed."
+" Output the ARGs.  If -n is specified, the trailing newline is suppressed."
 
 #: builtins.c:462
-msgid "Enable and disable builtin shell commands.  This allows"
-msgstr "Enable and disable builtin shell commands.  This allows"
-
-#: builtins.c:463
-msgid "you to use a disk command which has the same name as a shell"
-msgstr "you to use a disk command which has the same name as a shell"
-
-#: builtins.c:464
-msgid "builtin without specifying a full pathname.  If -n is used, the"
-msgstr "builtin without specifying a full pathname.  If -n is used, the"
-
-#: builtins.c:465
-msgid "NAMEs become disabled; otherwise NAMEs are enabled.  For example,"
-msgstr "NAMEs become disabled; otherwise NAMEs are enabled.  For example,"
-
-#: builtins.c:466
-msgid "to use the `test' found in $PATH instead of the shell builtin"
-msgstr "to use the ‘\e[1mtest\e[0m’ found in $PATH instead of the shell builtin"
-
-#: builtins.c:467
-msgid "version, type `enable -n test'.  On systems supporting dynamic"
-msgstr "version, type ‘\e[1menable -n test\e[0m’.  On systems supporting dynamic"
-
-#: builtins.c:468
-msgid "loading, the -f option may be used to load new builtins from the"
-msgstr "loading, the -f option may be used to load new builtins from the"
-
-#: builtins.c:469
-msgid "shared object FILENAME.  The -d option will delete a builtin"
-msgstr "shared object FILENAME.  The -d option will delete a builtin"
-
-#: builtins.c:470
-msgid "previously loaded with -f.  If no non-option names are given, or"
-msgstr "previously loaded with -f.  If no non-option names are given, or"
-
-#: builtins.c:471
-msgid "the -p option is supplied, a list of builtins is printed.  The"
-msgstr "the -p option is supplied, a list of builtins is printed.  The"
-
-#: builtins.c:472
-msgid "-a option means to print every builtin with an indication of whether"
-msgstr "-a option means to print every builtin with an indication of whether"
-
-#: builtins.c:473
-msgid ""
-"or not it is enabled.  The -s option restricts the output to the POSIX.2"
-msgstr ""
-"or not it is enabled.  The -s option restricts the output to the POSIX.2"
-
-#: builtins.c:474
 msgid ""
-"`special' builtins.  The -n option displays a list of all disabled builtins."
+" Enable and disable builtin shell commands.  This allows\n"
+"    you to use a disk command which has the same name as a shell\n"
+"    builtin without specifying a full pathname.  If -n is used, the\n"
+"    NAMEs become disabled; otherwise NAMEs are enabled.  For example,\n"
+"    to use the `test' found in $PATH instead of the shell builtin\n"
+"    version, type `enable -n test'.  On systems supporting dynamic\n"
+"    loading, the -f option may be used to load new builtins from the\n"
+"    shared object FILENAME.  The -d option will delete a builtin\n"
+"    previously loaded with -f.  If no non-option names are given, or\n"
+"    the -p option is supplied, a list of builtins is printed.  The\n"
+"    -a option means to print every builtin with an indication of whether\n"
+"    or not it is enabled.  The -s option restricts the output to the "
+"POSIX.2\n"
+"    `special' builtins.  The -n option displays a list of all disabled "
+"builtins."
 msgstr ""
-"‘\e[1mspecial\e[0m’ builtins.  The -n option displays a list of all disabled "
+" Enable and disable builtin shell commands.  This allows\n"
+"    you to use a disk command which has the same name as a shell\n"
+"    builtin without specifying a full pathname.  If -n is used, the\n"
+"    NAMEs become disabled; otherwise NAMEs are enabled.  For example,\n"
+"    to use the ‘\e[1mtest\e[0m’ found in $PATH instead of the shell builtin\n"
+"    version, type ‘\e[1menable -n test\e[0m’.  On systems supporting dynamic\n"
+"    loading, the -f option may be used to load new builtins from the\n"
+"    shared object FILENAME.  The -d option will delete a builtin\n"
+"    previously loaded with -f.  If no non-option names are given, or\n"
+"    the -p option is supplied, a list of builtins is printed.  The\n"
+"    -a option means to print every builtin with an indication of whether\n"
+"    or not it is enabled.  The -s option restricts the output to the "
+"POSIX.2\n"
+"    ‘\e[1mspecial\e[0m’ builtins.  The -n option displays a list of all disabled "
 "builtins."
 
 #: builtins.c:480
-msgid "Read ARGs as input to the shell and execute the resulting command(s)."
-msgstr "Read ARGs as input to the shell and execute the resulting command(s)."
+msgid " Read ARGs as input to the shell and execute the resulting command(s)."
+msgstr " Read ARGs as input to the shell and execute the resulting command(s)."
 
 #: builtins.c:486
-msgid "Getopts is used by shell procedures to parse positional parameters."
-msgstr "Getopts is used by shell procedures to parse positional parameters."
-
-#: builtins.c:488
-msgid "OPTSTRING contains the option letters to be recognized; if a letter"
-msgstr "OPTSTRING contains the option letters to be recognized; if a letter"
-
-#: builtins.c:489
-msgid "is followed by a colon, the option is expected to have an argument,"
-msgstr "is followed by a colon, the option is expected to have an argument,"
-
-#: builtins.c:490
-msgid "which should be separated from it by white space."
-msgstr "which should be separated from it by white space."
-
-#: builtins.c:492
-msgid "Each time it is invoked, getopts will place the next option in the"
-msgstr "Each time it is invoked, getopts will place the next option in the"
-
-#: builtins.c:493
-msgid "shell variable $name, initializing name if it does not exist, and"
-msgstr "shell variable $name, initializing name if it does not exist, and"
-
-#: builtins.c:494
-msgid "the index of the next argument to be processed into the shell"
-msgstr "the index of the next argument to be processed into the shell"
-
-#: builtins.c:495
-msgid "variable OPTIND.  OPTIND is initialized to 1 each time the shell or"
-msgstr "variable OPTIND.  OPTIND is initialized to 1 each time the shell or"
-
-#: builtins.c:496
-msgid "a shell script is invoked.  When an option requires an argument,"
-msgstr "a shell script is invoked.  When an option requires an argument,"
-
-#: builtins.c:497
-msgid "getopts places that argument into the shell variable OPTARG."
-msgstr "getopts places that argument into the shell variable OPTARG."
+msgid ""
+" Getopts is used by shell procedures to parse positional parameters.\n"
+"    \n"
+"    OPTSTRING contains the option letters to be recognized; if a letter\n"
+"    is followed by a colon, the option is expected to have an argument,\n"
+"    which should be separated from it by white space.\n"
+"    \n"
+"    Each time it is invoked, getopts will place the next option in the\n"
+"    shell variable $name, initializing name if it does not exist, and\n"
+"    the index of the next argument to be processed into the shell\n"
+"    variable OPTIND.  OPTIND is initialized to 1 each time the shell or\n"
+"    a shell script is invoked.  When an option requires an argument,\n"
+"    getopts places that argument into the shell variable OPTARG.\n"
+"    \n"
+"    getopts reports errors in one of two ways.  If the first character\n"
+"    of OPTSTRING is a colon, getopts uses silent error reporting.  In\n"
+"    this mode, no error messages are printed.  If an invalid option is\n"
+"    seen, getopts places the option character found into OPTARG.  If a\n"
+"    required argument is not found, getopts places a ':' into NAME and\n"
+"    sets OPTARG to the option character found.  If getopts is not in\n"
+"    silent mode, and an invalid option is seen, getopts places '?' into\n"
+"    NAME and unsets OPTARG.  If a required argument is not found, a '?'\n"
+"    is placed in NAME, OPTARG is unset, and a diagnostic message is\n"
+"    printed.\n"
+"    \n"
+"    If the shell variable OPTERR has the value 0, getopts disables the\n"
+"    printing of error messages, even if the first character of\n"
+"    OPTSTRING is not a colon.  OPTERR has the value 1 by default.\n"
+"    \n"
+"    Getopts normally parses the positional parameters ($0 - $9), but if\n"
+"    more arguments are given, they are parsed instead."
+msgstr ""
+" Getopts is used by shell procedures to parse positional parameters.\n"
+"    \n"
+"    OPTSTRING contains the option letters to be recognized; if a letter\n"
+"    is followed by a colon, the option is expected to have an argument,\n"
+"    which should be separated from it by white space.\n"
+"    \n"
+"    Each time it is invoked, getopts will place the next option in the\n"
+"    shell variable $name, initializing name if it does not exist, and\n"
+"    the index of the next argument to be processed into the shell\n"
+"    variable OPTIND.  OPTIND is initialized to 1 each time the shell or\n"
+"    a shell script is invoked.  When an option requires an argument,\n"
+"    getopts places that argument into the shell variable OPTARG.\n"
+"    \n"
+"    getopts reports errors in one of two ways.  If the first character\n"
+"    of OPTSTRING is a colon, getopts uses silent error reporting.  In\n"
+"    this mode, no error messages are printed.  If an invalid option is\n"
+"    seen, getopts places the option character found into OPTARG.  If a\n"
+"    required argument is not found, getopts places a ‘\e[1m:\e[0m’ into NAME "
+"and\n"
+"    sets OPTARG to the option character found.  If getopts is not in\n"
+"    silent mode, and an invalid option is seen, getopts places ‘\e[1m?\e[0m’ "
+"into\n"
+"    NAME and unsets OPTARG.  If a required argument is not found, a ‘\e[1m?\e"
+"[0m’\n"
+"    is placed in NAME, OPTARG is unset, and a diagnostic message is\n"
+"    printed.\n"
+"    \n"
+"    If the shell variable OPTERR has the value 0, getopts disables the\n"
+"    printing of error messages, even if the first character of\n"
+"    OPTSTRING is not a colon.  OPTERR has the value 1 by default.\n"
+"    \n"
+"    Getopts normally parses the positional parameters ($0 - $9), but if\n"
+"    more arguments are given, they are parsed instead."
 
-#: builtins.c:499
-msgid "getopts reports errors in one of two ways.  If the first character"
-msgstr "getopts reports errors in one of two ways.  If the first character"
+#: builtins.c:521
+msgid ""
+" Exec FILE, replacing this shell with the specified program.\n"
+"    If FILE is not specified, the redirections take effect in this\n"
+"    shell.  If the first argument is `-l', then place a dash in the\n"
+"    zeroth arg passed to FILE, as login does.  If the `-c' option\n"
+"    is supplied, FILE is executed with a null environment.  The `-a'\n"
+"    option means to make set argv[0] of the executed process to NAME.\n"
+"    If the file cannot be executed and the shell is not interactive,\n"
+"    then the shell exits, unless the shell option `execfail' is set."
+msgstr ""
+" Exec FILE, replacing this shell with the specified program.\n"
+"    If FILE is not specified, the redirections take effect in this\n"
+"    shell.  If the first argument is ‘\e[1m-l\e[0m’, then place a dash in the\n"
+"    zeroth arg passed to FILE, as login does.  If the ‘\e[1m-c\e[0m’ option\n"
+"    is supplied, FILE is executed with a null environment.  The ‘\e[1m-a\e[0m’\n"
+"    option means to make set argv[0] of the executed process to NAME.\n"
+"    If the file cannot be executed and the shell is not interactive,\n"
+"    then the shell exits, unless the shell option ‘\e[1mexecfail\e[0m’ is set."
 
-#: builtins.c:500
-msgid "of OPTSTRING is a colon, getopts uses silent error reporting.  In"
-msgstr "of OPTSTRING is a colon, getopts uses silent error reporting.  In"
+#: builtins.c:534
+msgid ""
+" Exit the shell with a status of N.  If N is omitted, the exit status\n"
+"    is that of the last command executed."
+msgstr ""
+" Exit the shell with a status of N.  If N is omitted, the exit status\n"
+"    is that of the last command executed."
 
-#: builtins.c:501
-msgid "this mode, no error messages are printed.  If an invalid option is"
-msgstr "this mode, no error messages are printed.  If an invalid option is"
+#: builtins.c:541
+msgid " Logout of a login shell."
+msgstr " Logout of a login shell."
 
-#: builtins.c:502
-msgid "seen, getopts places the option character found into OPTARG.  If a"
-msgstr "seen, getopts places the option character found into OPTARG.  If a"
+#: builtins.c:548
+msgid ""
+" fc is used to list or edit and re-execute commands from the history list.\n"
+"    FIRST and LAST can be numbers specifying the range, or FIRST can be a\n"
+"    string, which means the most recent command beginning with that\n"
+"    string.\n"
+"    \n"
+"       -e ENAME selects which editor to use.  Default is FCEDIT, then "
+"EDITOR,\n"
+"          then vi.\n"
+"    \n"
+"       -l means list lines instead of editing.\n"
+"       -n means no line numbers listed.\n"
+"       -r means reverse the order of the lines (making it newest listed "
+"first).\n"
+"    \n"
+"    With the `fc -s [pat=rep ...] [command]' format, the command is\n"
+"    re-executed after the substitution OLD=NEW is performed.\n"
+"    \n"
+"    A useful alias to use with this is r='fc -s', so that typing `r cc'\n"
+"    runs the last command beginning with `cc' and typing `r' re-executes\n"
+"    the last command."
+msgstr ""
+" fc is used to list or edit and re-execute commands from the history list.\n"
+"    FIRST and LAST can be numbers specifying the range, or FIRST can be a\n"
+"    string, which means the most recent command beginning with that\n"
+"    string.\n"
+"    \n"
+"       -e ENAME selects which editor to use.  Default is FCEDIT, then "
+"EDITOR,\n"
+"          then vi.\n"
+"    \n"
+"       -l means list lines instead of editing.\n"
+"       -n means no line numbers listed.\n"
+"       -r means reverse the order of the lines (making it newest listed "
+"first).\n"
+"    \n"
+"    With the ‘\e[1mfc -s [pat=rep ...] [command]\e[0m’ format, the command is\n"
+"    re-executed after the substitution OLD=NEW is performed.\n"
+"    \n"
+"    A useful alias to use with this is r='fc -s', so that typing ‘\e[1mr cc\e"
+"[0m’\n"
+"    runs the last command beginning with ‘\e[1mcc\e[0m’ and typing ‘\e[1mr\e[0m’ re-"
+"executes\n"
+"    the last command."
 
-#: builtins.c:503
-msgid "required argument is not found, getopts places a ':' into NAME and"
+#: builtins.c:573
+msgid ""
+" Place JOB_SPEC in the foreground, and make it the current job.  If\n"
+"    JOB_SPEC is not present, the shell's notion of the current job is\n"
+"    used."
 msgstr ""
-"required argument is not found, getopts places a ‘\e[1m:\e[0m’ into NAME and"
-
-#: builtins.c:504
-msgid "sets OPTARG to the option character found.  If getopts is not in"
-msgstr "sets OPTARG to the option character found.  If getopts is not in"
+" Place JOB_SPEC in the foreground, and make it the current job.  If\n"
+"    JOB_SPEC is not present, the shell's notion of the current job is\n"
+"    used."
 
-#: builtins.c:505
-msgid "silent mode, and an invalid option is seen, getopts places '?' into"
+#: builtins.c:583
+msgid ""
+" Place each JOB_SPEC in the background, as if it had been started with\n"
+"    `&'.  If JOB_SPEC is not present, the shell's notion of the current\n"
+"    job is used."
 msgstr ""
-"silent mode, and an invalid option is seen, getopts places ‘\e[1m?\e[0m’ into"
+" Place each JOB_SPEC in the background, as if it had been started with\n"
+"    ‘\e[1m&\e[0m’.  If JOB_SPEC is not present, the shell's notion of the "
+"current\n"
+"    job is used."
 
-#: builtins.c:506
-msgid "NAME and unsets OPTARG.  If a required argument is not found, a '?'"
+#: builtins.c:592
+msgid ""
+" For each NAME, the full pathname of the command is determined and\n"
+"    remembered.  If the -p option is supplied, PATHNAME is used as the\n"
+"    full pathname of NAME, and no path search is performed.  The -r\n"
+"    option causes the shell to forget all remembered locations.  The -d\n"
+"    option causes the shell to forget the remembered location of each NAME.\n"
+"    If the -t option is supplied the full pathname to which each NAME\n"
+"    corresponds is printed.  If multiple NAME arguments are supplied with\n"
+"    -t, the NAME is printed before the hashed full pathname.  The -l option\n"
+"    causes output to be displayed in a format that may be reused as input.\n"
+"    If no arguments are given, information about remembered commands is "
+"displayed."
 msgstr ""
-"NAME and unsets OPTARG.  If a required argument is not found, a ‘\e[1m?\e[0m’"
-
-#: builtins.c:507
-msgid "is placed in NAME, OPTARG is unset, and a diagnostic message is"
-msgstr "is placed in NAME, OPTARG is unset, and a diagnostic message is"
-
-#: builtins.c:508
-msgid "printed."
-msgstr "printed."
+" For each NAME, the full pathname of the command is determined and\n"
+"    remembered.  If the -p option is supplied, PATHNAME is used as the\n"
+"    full pathname of NAME, and no path search is performed.  The -r\n"
+"    option causes the shell to forget all remembered locations.  The -d\n"
+"    option causes the shell to forget the remembered location of each NAME.\n"
+"    If the -t option is supplied the full pathname to which each NAME\n"
+"    corresponds is printed.  If multiple NAME arguments are supplied with\n"
+"    -t, the NAME is printed before the hashed full pathname.  The -l option\n"
+"    causes output to be displayed in a format that may be reused as input.\n"
+"    If no arguments are given, information about remembered commands is "
+"displayed."
 
-#: builtins.c:510
-msgid "If the shell variable OPTERR has the value 0, getopts disables the"
-msgstr "If the shell variable OPTERR has the value 0, getopts disables the"
+#: builtins.c:608
+msgid ""
+" Display helpful information about builtin commands.  If PATTERN is\n"
+"    specified, gives detailed help on all commands matching PATTERN,\n"
+"    otherwise a list of the builtins is printed.  The -s option\n"
+"    restricts the output for each builtin command matching PATTERN to\n"
+"    a short usage synopsis."
+msgstr ""
+" Display helpful information about builtin commands.  If PATTERN is\n"
+"    specified, gives detailed help on all commands matching PATTERN,\n"
+"    otherwise a list of the builtins is printed.  The -s option\n"
+"    restricts the output for each builtin command matching PATTERN to\n"
+"    a short usage synopsis."
 
-#: builtins.c:511
-msgid "printing of error messages, even if the first character of"
-msgstr "printing of error messages, even if the first character of"
+#: builtins.c:620
+msgid ""
+" Display the history list with line numbers.  Lines listed with\n"
+"    with a `*' have been modified.  Argument of N says to list only\n"
+"    the last N lines.  The `-c' option causes the history list to be\n"
+"    cleared by deleting all of the entries.  The `-d' option deletes\n"
+"    the history entry at offset OFFSET.  The `-w' option writes out the\n"
+"    current history to the history file;  `-r' means to read the file and\n"
+"    append the contents to the history list instead.  `-a' means\n"
+"    to append history lines from this session to the history file.\n"
+"    Argument `-n' means to read all history lines not already read\n"
+"    from the history file and append them to the history list.\n"
+"    \n"
+"    If FILENAME is given, then that is used as the history file else\n"
+"    if $HISTFILE has a value, that is used, else ~/.bash_history.\n"
+"    If the -s option is supplied, the non-option ARGs are appended to\n"
+"    the history list as a single entry.  The -p option means to perform\n"
+"    history expansion on each ARG and display the result, without storing\n"
+"    anything in the history list.\n"
+"    \n"
+"    If the $HISTTIMEFORMAT variable is set and not null, its value is used\n"
+"    as a format string for strftime(3) to print the time stamp associated\n"
+"    with each displayed history entry.  No time stamps are printed otherwise."
+msgstr ""
+" Display the history list with line numbers.  Lines listed with\n"
+"    with a ‘\e[1m*\e[0m’ have been modified.  Argument of N says to list only\n"
+"    the last N lines.  The ‘\e[1m-c\e[0m’ option causes the history list to be\n"
+"    cleared by deleting all of the entries.  The ‘\e[1m-d\e[0m’ option deletes\n"
+"    the history entry at offset OFFSET.  The ‘\e[1m-w\e[0m’ option writes out "
+"the\n"
+"    current history to the history file;  ‘\e[1m-r\e[0m’ means to read the file "
+"and\n"
+"    append the contents to the history list instead.  ‘\e[1m-a\e[0m’ means\n"
+"    to append history lines from this session to the history file.\n"
+"    Argument ‘\e[1m-n\e[0m’ means to read all history lines not already read\n"
+"    from the history file and append them to the history list.\n"
+"    \n"
+"    If FILENAME is given, then that is used as the history file else\n"
+"    if $HISTFILE has a value, that is used, else ~/.bash_history.\n"
+"    If the -s option is supplied, the non-option ARGs are appended to\n"
+"    the history list as a single entry.  The -p option means to perform\n"
+"    history expansion on each ARG and display the result, without storing\n"
+"    anything in the history list.\n"
+"    \n"
+"    If the $HISTTIMEFORMAT variable is set and not null, its value is used\n"
+"    as a format string for strftime(3) to print the time stamp associated\n"
+"    with each displayed history entry.  No time stamps are printed otherwise."
 
-#: builtins.c:512
-msgid "OPTSTRING is not a colon.  OPTERR has the value 1 by default."
-msgstr "OPTSTRING is not a colon.  OPTERR has the value 1 by default."
+#: builtins.c:648
+msgid ""
+" Lists the active jobs.  The -l option lists process id's in addition\n"
+"    to the normal information; the -p option lists process id's only.\n"
+"    If -n is given, only processes that have changed status since the last\n"
+"    notification are printed.  JOBSPEC restricts output to that job.  The\n"
+"    -r and -s options restrict output to running and stopped jobs only,\n"
+"    respectively.  Without options, the status of all active jobs is\n"
+"    printed.  If -x is given, COMMAND is run after all job specifications\n"
+"    that appear in ARGS have been replaced with the process ID of that "
+"job's\n"
+"    process group leader."
+msgstr ""
+" Lists the active jobs.  The -l option lists process id's in addition\n"
+"    to the normal information; the -p option lists process id's only.\n"
+"    If -n is given, only processes that have changed status since the last\n"
+"    notification are printed.  JOBSPEC restricts output to that job.  The\n"
+"    -r and -s options restrict output to running and stopped jobs only,\n"
+"    respectively.  Without options, the status of all active jobs is\n"
+"    printed.  If -x is given, COMMAND is run after all job specifications\n"
+"    that appear in ARGS have been replaced with the process ID of that "
+"job's\n"
+"    process group leader."
 
-#: builtins.c:514
-msgid "Getopts normally parses the positional parameters ($0 - $9), but if"
-msgstr "Getopts normally parses the positional parameters ($0 - $9), but if"
+#: builtins.c:664
+msgid ""
+" By default, removes each JOBSPEC argument from the table of active jobs.\n"
+"    If the -h option is given, the job is not removed from the table, but "
+"is\n"
+"    marked so that SIGHUP is not sent to the job if the shell receives a\n"
+"    SIGHUP.  The -a option, when JOBSPEC is not supplied, means to remove "
+"all\n"
+"    jobs from the job table; the -r option means to remove only running jobs."
+msgstr ""
+" By default, removes each JOBSPEC argument from the table of active jobs.\n"
+"    If the -h option is given, the job is not removed from the table, but "
+"is\n"
+"    marked so that SIGHUP is not sent to the job if the shell receives a\n"
+"    SIGHUP.  The -a option, when JOBSPEC is not supplied, means to remove "
+"all\n"
+"    jobs from the job table; the -r option means to remove only running jobs."
 
-#: builtins.c:515
-msgid "more arguments are given, they are parsed instead."
-msgstr "more arguments are given, they are parsed instead."
+#: builtins.c:675
+msgid ""
+" Send the processes named by PID (or JOBSPEC) the signal SIGSPEC.  If\n"
+"    SIGSPEC is not present, then SIGTERM is assumed.  An argument of `-l'\n"
+"    lists the signal names; if arguments follow `-l' they are assumed to\n"
+"    be signal numbers for which names should be listed.  Kill is a shell\n"
+"    builtin for two reasons: it allows job IDs to be used instead of\n"
+"    process IDs, and, if you have reached the limit on processes that\n"
+"    you can create, you don't have to start a process to kill another one."
+msgstr ""
+" Send the processes named by PID (or JOBSPEC) the signal SIGSPEC.  If\n"
+"    SIGSPEC is not present, then SIGTERM is assumed.  An argument of ‘\e[1m-l\e"
+"[0m’\n"
+"    lists the signal names; if arguments follow ‘\e[1m-l\e[0m’ they are assumed "
+"to\n"
+"    be signal numbers for which names should be listed.  Kill is a shell\n"
+"    builtin for two reasons: it allows job IDs to be used instead of\n"
+"    process IDs, and, if you have reached the limit on processes that\n"
+"    you can create, you don't have to start a process to kill another one."
 
-#: builtins.c:521
-msgid "Exec FILE, replacing this shell with the specified program."
-msgstr "Exec FILE, replacing this shell with the specified program."
+#: builtins.c:687
+msgid ""
+" Each ARG is an arithmetic expression to be evaluated.  Evaluation\n"
+"    is done in fixed-width integers with no check for overflow, though\n"
+"    division by 0 is trapped and flagged as an error.  The following\n"
+"    list of operators is grouped into levels of equal-precedence operators.\n"
+"    The levels are listed in order of decreasing precedence.\n"
+"    \n"
+"    \tid++, id--\tvariable post-increment, post-decrement\n"
+"    \t++id, --id\tvariable pre-increment, pre-decrement\n"
+"    \t-, +\t\tunary minus, plus\n"
+"    \t!, ~\t\tlogical and bitwise negation\n"
+"    \t**\t\texponentiation\n"
+"    \t*, /, %\t\tmultiplication, division, remainder\n"
+"    \t+, -\t\taddition, subtraction\n"
+"    \t<<, >>\t\tleft and right bitwise shifts\n"
+"    \t<=, >=, <, >\tcomparison\n"
+"    \t==, !=\t\tequality, inequality\n"
+"    \t&\t\tbitwise AND\n"
+"    \t^\t\tbitwise XOR\n"
+"    \t|\t\tbitwise OR\n"
+"    \t&&\t\tlogical AND\n"
+"    \t||\t\tlogical OR\n"
+"    \texpr ? expr : expr\n"
+"    \t\t\tconditional operator\n"
+"    \t=, *=, /=, %=,\n"
+"    \t+=, -=, <<=, >>=,\n"
+"    \t&=, ^=, |=\tassignment\n"
+"    \n"
+"    Shell variables are allowed as operands.  The name of the variable\n"
+"    is replaced by its value (coerced to a fixed-width integer) within\n"
+"    an expression.  The variable need not have its integer attribute\n"
+"    turned on to be used in an expression.\n"
+"    \n"
+"    Operators are evaluated in order of precedence.  Sub-expressions in\n"
+"    parentheses are evaluated first and may override the precedence\n"
+"    rules above.\n"
+"    \n"
+"    If the last ARG evaluates to 0, let returns 1; 0 is returned\n"
+"    otherwise."
+msgstr ""
+" Each ARG is an arithmetic expression to be evaluated.  Evaluation\n"
+"    is done in fixed-width integers with no check for overflow, though\n"
+"    division by 0 is trapped and flagged as an error.  The following\n"
+"    list of operators is grouped into levels of equal-precedence operators.\n"
+"    The levels are listed in order of decreasing precedence.\n"
+"    \n"
+"    \tid++, id--\tvariable post-increment, post-decrement\n"
+"    \t++id, --id\tvariable pre-increment, pre-decrement\n"
+"    \t-, +\t\tunary minus, plus\n"
+"    \t!, ~\t\tlogical and bitwise negation\n"
+"    \t**\t\texponentiation\n"
+"    \t*, /, %\t\tmultiplication, division, remainder\n"
+"    \t+, -\t\taddition, subtraction\n"
+"    \t<<, >>\t\tleft and right bitwise shifts\n"
+"    \t<=, >=, <, >\tcomparison\n"
+"    \t==, !=\t\tequality, inequality\n"
+"    \t&\t\tbitwise AND\n"
+"    \t^\t\tbitwise XOR\n"
+"    \t|\t\tbitwise OR\n"
+"    \t&&\t\tlogical AND\n"
+"    \t||\t\tlogical OR\n"
+"    \texpr ? expr : expr\n"
+"    \t\t\tconditional operator\n"
+"    \t=, *=, /=, %=,\n"
+"    \t+=, -=, <<=, >>=,\n"
+"    \t&=, ^=, |=\tassignment\n"
+"    \n"
+"    Shell variables are allowed as operands.  The name of the variable\n"
+"    is replaced by its value (coerced to a fixed-width integer) within\n"
+"    an expression.  The variable need not have its integer attribute\n"
+"    turned on to be used in an expression.\n"
+"    \n"
+"    Operators are evaluated in order of precedence.  Sub-expressions in\n"
+"    parentheses are evaluated first and may override the precedence\n"
+"    rules above.\n"
+"    \n"
+"    If the last ARG evaluates to 0, let returns 1; 0 is returned\n"
+"    otherwise."
 
-#: builtins.c:522
-msgid "If FILE is not specified, the redirections take effect in this"
-msgstr "If FILE is not specified, the redirections take effect in this"
+#: builtins.c:730
+msgid ""
+" One line is read from the standard input, or from file descriptor FD if "
+"the\n"
+"    -u option is supplied, and the first word is assigned to the first "
+"NAME,\n"
+"    the second word to the second NAME, and so on, with leftover words "
+"assigned\n"
+"    to the last NAME.  Only the characters found in $IFS are recognized as "
+"word\n"
+"    delimiters.  If no NAMEs are supplied, the line read is stored in the "
+"REPLY\n"
+"    variable.  If the -r option is given, this signifies `raw' input, and\n"
+"    backslash escaping is disabled.  The -d option causes read to continue\n"
+"    until the first character of DELIM is read, rather than newline.  If the "
+"-p\n"
+"    option is supplied, the string PROMPT is output without a trailing "
+"newline\n"
+"    before attempting to read.  If -a is supplied, the words read are "
+"assigned\n"
+"    to sequential indices of ARRAY, starting at zero.  If -e is supplied "
+"and\n"
+"    the shell is interactive, readline is used to obtain the line.  If -n "
+"is\n"
+"    supplied with a non-zero NCHARS argument, read returns after NCHARS\n"
+"    characters have been read.  The -s option causes input coming from a\n"
+"    terminal to not be echoed.\n"
+"    \n"
+"    The -t option causes read to time out and return failure if a complete "
+"line\n"
+"    of input is not read within TIMEOUT seconds.  If the TMOUT variable is "
+"set,\n"
+"    its value is the default timeout.  The return code is zero, unless end-"
+"of-file\n"
+"    is encountered, read times out, or an invalid file descriptor is "
+"supplied as\n"
+"    the argument to -u."
+msgstr ""
+" One line is read from the standard input, or from file descriptor FD if "
+"the\n"
+"    -u option is supplied, and the first word is assigned to the first "
+"NAME,\n"
+"    the second word to the second NAME, and so on, with leftover words "
+"assigned\n"
+"    to the last NAME.  Only the characters found in $IFS are recognized as "
+"word\n"
+"    delimiters.  If no NAMEs are supplied, the line read is stored in the "
+"REPLY\n"
+"    variable.  If the -r option is given, this signifies ‘\e[1mraw\e[0m’ input, "
+"and\n"
+"    backslash escaping is disabled.  The -d option causes read to continue\n"
+"    until the first character of DELIM is read, rather than newline.  If the "
+"-p\n"
+"    option is supplied, the string PROMPT is output without a trailing "
+"newline\n"
+"    before attempting to read.  If -a is supplied, the words read are "
+"assigned\n"
+"    to sequential indices of ARRAY, starting at zero.  If -e is supplied "
+"and\n"
+"    the shell is interactive, readline is used to obtain the line.  If -n "
+"is\n"
+"    supplied with a non-zero NCHARS argument, read returns after NCHARS\n"
+"    characters have been read.  The -s option causes input coming from a\n"
+"    terminal to not be echoed.\n"
+"    \n"
+"    The -t option causes read to time out and return failure if a complete "
+"line\n"
+"    of input is not read within TIMEOUT seconds.  If the TMOUT variable is "
+"set,\n"
+"    its value is the default timeout.  The return code is zero, unless end-"
+"of-file\n"
+"    is encountered, read times out, or an invalid file descriptor is "
+"supplied as\n"
+"    the argument to -u."
 
-#: builtins.c:523
-msgid "shell.  If the first argument is `-l', then place a dash in the"
-msgstr "shell.  If the first argument is ‘\e[1m-l\e[0m’, then place a dash in the"
+#: builtins.c:756
+msgid ""
+" Causes a function to exit with the return value specified by N.  If N\n"
+"    is omitted, the return status is that of the last command."
+msgstr ""
+" Causes a function to exit with the return value specified by N.  If N\n"
+"    is omitted, the return status is that of the last command."
 
-#: builtins.c:524
-msgid "zeroth arg passed to FILE, as login does.  If the `-c' option"
-msgstr "zeroth arg passed to FILE, as login does.  If the ‘\e[1m-c\e[0m’ option"
+#: builtins.c:763
+msgid ""
+"     -a  Mark variables which are modified or created for export.\n"
+"        -b  Notify of job termination immediately.\n"
+"        -e  Exit immediately if a command exits with a non-zero status.\n"
+"        -f  Disable file name generation (globbing).\n"
+"        -h  Remember the location of commands as they are looked up.\n"
+"        -k  All assignment arguments are placed in the environment for a\n"
+"            command, not just those that precede the command name.\n"
+"        -m  Job control is enabled.\n"
+"        -n  Read commands but do not execute them.\n"
+"        -o option-name\n"
+"            Set the variable corresponding to option-name:\n"
+"                allexport    same as -a\n"
+"                braceexpand  same as -B\n"
+"                emacs        use an emacs-style line editing interface\n"
+"                errexit      same as -e\n"
+"                errtrace     same as -E\n"
+"                functrace    same as -T\n"
+"                hashall      same as -h\n"
+"                histexpand   same as -H\n"
+"                history      enable command history\n"
+"                ignoreeof    the shell will not exit upon reading EOF\n"
+"                interactive-comments\n"
+"                             allow comments to appear in interactive "
+"commands\n"
+"                keyword      same as -k\n"
+"                monitor      same as -m\n"
+"                noclobber    same as -C\n"
+"                noexec       same as -n\n"
+"                noglob       same as -f\n"
+"                nolog        currently accepted but ignored\n"
+"                notify       same as -b\n"
+"                nounset      same as -u\n"
+"                onecmd       same as -t\n"
+"                physical     same as -P\n"
+"                pipefail     the return value of a pipeline is the status "
+"of\n"
+"                             the last command to exit with a non-zero "
+"status,\n"
+"                             or zero if no command exited with a non-zero "
+"status\n"
+"                posix        change the behavior of bash where the default\n"
+"                             operation differs from the 1003.2 standard to\n"
+"                             match the standard\n"
+"                privileged   same as -p\n"
+"                verbose      same as -v\n"
+"                vi           use a vi-style line editing interface\n"
+"                xtrace       same as -x\n"
+"        -p  Turned on whenever the real and effective user ids do not "
+"match.\n"
+"            Disables processing of the $ENV file and importing of shell\n"
+"            functions.  Turning this option off causes the effective uid "
+"and\n"
+"            gid to be set to the real uid and gid.\n"
+"        -t  Exit after reading and executing one command.\n"
+"        -u  Treat unset variables as an error when substituting.\n"
+"        -v  Print shell input lines as they are read.\n"
+"        -x  Print commands and their arguments as they are executed.\n"
+"        -B  the shell will perform brace expansion\n"
+"        -C  If set, disallow existing regular files to be overwritten\n"
+"            by redirection of output.\n"
+"        -E  If set, the ERR trap is inherited by shell functions.\n"
+"        -H  Enable ! style history substitution.  This flag is on\n"
+"            by default when the shell is interactive.\n"
+"        -P  If set, do not follow symbolic links when executing commands\n"
+"            such as cd which change the current directory.\n"
+"        -T  If set, the DEBUG trap is inherited by shell functions.\n"
+"        -   Assign any remaining arguments to the positional parameters.\n"
+"            The -x and -v options are turned off.\n"
+"    \n"
+"    Using + rather than - causes these flags to be turned off.  The\n"
+"    flags can also be used upon invocation of the shell.  The current\n"
+"    set of flags may be found in $-.  The remaining n ARGs are positional\n"
+"    parameters and are assigned, in order, to $1, $2, .. $n.  If no\n"
+"    ARGs are given, all shell variables are printed."
+msgstr ""
+"     -a  Mark variables which are modified or created for export.\n"
+"        -b  Notify of job termination immediately.\n"
+"        -e  Exit immediately if a command exits with a non-zero status.\n"
+"        -f  Disable file name generation (globbing).\n"
+"        -h  Remember the location of commands as they are looked up.\n"
+"        -k  All assignment arguments are placed in the environment for a\n"
+"            command, not just those that precede the command name.\n"
+"        -m  Job control is enabled.\n"
+"        -n  Read commands but do not execute them.\n"
+"        -o option-name\n"
+"            Set the variable corresponding to option-name:\n"
+"                allexport    same as -a\n"
+"                braceexpand  same as -B\n"
+"                emacs        use an emacs-style line editing interface\n"
+"                errexit      same as -e\n"
+"                errtrace     same as -E\n"
+"                functrace    same as -T\n"
+"                hashall      same as -h\n"
+"                histexpand   same as -H\n"
+"                history      enable command history\n"
+"                ignoreeof    the shell will not exit upon reading EOF\n"
+"                interactive-comments\n"
+"                             allow comments to appear in interactive "
+"commands\n"
+"                keyword      same as -k\n"
+"                monitor      same as -m\n"
+"                noclobber    same as -C\n"
+"                noexec       same as -n\n"
+"                noglob       same as -f\n"
+"                nolog        currently accepted but ignored\n"
+"                notify       same as -b\n"
+"                nounset      same as -u\n"
+"                onecmd       same as -t\n"
+"                physical     same as -P\n"
+"                pipefail     the return value of a pipeline is the status "
+"of\n"
+"                             the last command to exit with a non-zero "
+"status,\n"
+"                             or zero if no command exited with a non-zero "
+"status\n"
+"                posix        change the behavior of bash where the default\n"
+"                             operation differs from the 1003.2 standard to\n"
+"                             match the standard\n"
+"                privileged   same as -p\n"
+"                verbose      same as -v\n"
+"                vi           use a vi-style line editing interface\n"
+"                xtrace       same as -x\n"
+"        -p  Turned on whenever the real and effective user ids do not "
+"match.\n"
+"            Disables processing of the $ENV file and importing of shell\n"
+"            functions.  Turning this option off causes the effective uid "
+"and\n"
+"            gid to be set to the real uid and gid.\n"
+"        -t  Exit after reading and executing one command.\n"
+"        -u  Treat unset variables as an error when substituting.\n"
+"        -v  Print shell input lines as they are read.\n"
+"        -x  Print commands and their arguments as they are executed.\n"
+"        -B  the shell will perform brace expansion\n"
+"        -C  If set, disallow existing regular files to be overwritten\n"
+"            by redirection of output.\n"
+"        -E  If set, the ERR trap is inherited by shell functions.\n"
+"        -H  Enable ! style history substitution.  This flag is on\n"
+"            by default when the shell is interactive.\n"
+"        -P  If set, do not follow symbolic links when executing commands\n"
+"            such as cd which change the current directory.\n"
+"        -T  If set, the DEBUG trap is inherited by shell functions.\n"
+"        -   Assign any remaining arguments to the positional parameters.\n"
+"            The -x and -v options are turned off.\n"
+"    \n"
+"    Using + rather than - causes these flags to be turned off.  The\n"
+"    flags can also be used upon invocation of the shell.  The current\n"
+"    set of flags may be found in $-.  The remaining n ARGs are positional\n"
+"    parameters and are assigned, in order, to $1, $2, .. $n.  If no\n"
+"    ARGs are given, all shell variables are printed."
 
-#: builtins.c:525
-msgid "is supplied, FILE is executed with a null environment.  The `-a'"
-msgstr "is supplied, FILE is executed with a null environment.  The ‘\e[1m-a\e[0m’"
+#: builtins.c:836
+msgid ""
+" For each NAME, remove the corresponding variable or function.  Given\n"
+"    the `-v', unset will only act on variables.  Given the `-f' flag,\n"
+"    unset will only act on functions.  With neither flag, unset first\n"
+"    tries to unset a variable, and if that fails, then tries to unset a\n"
+"    function.  Some variables cannot be unset; also see readonly."
+msgstr ""
+" For each NAME, remove the corresponding variable or function.  Given\n"
+"    the ‘\e[1m-v\e[0m’, unset will only act on variables.  Given the ‘\e[1m-f\e[0m’ "
+"flag,\n"
+"    unset will only act on functions.  With neither flag, unset first\n"
+"    tries to unset a variable, and if that fails, then tries to unset a\n"
+"    function.  Some variables cannot be unset; also see readonly."
 
-#: builtins.c:526
-msgid "option means to make set argv[0] of the executed process to NAME."
-msgstr "option means to make set argv[0] of the executed process to NAME."
+#: builtins.c:846
+msgid ""
+" NAMEs are marked for automatic export to the environment of\n"
+"    subsequently executed commands.  If the -f option is given,\n"
+"    the NAMEs refer to functions.  If no NAMEs are given, or if `-p'\n"
+"    is given, a list of all names that are exported in this shell is\n"
+"    printed.  An argument of `-n' says to remove the export property\n"
+"    from subsequent NAMEs.  An argument of `--' disables further option\n"
+"    processing."
+msgstr ""
+" NAMEs are marked for automatic export to the environment of\n"
+"    subsequently executed commands.  If the -f option is given,\n"
+"    the NAMEs refer to functions.  If no NAMEs are given, or if ‘\e[1m-p\e[0m’\n"
+"    is given, a list of all names that are exported in this shell is\n"
+"    printed.  An argument of ‘\e[1m-n\e[0m’ says to remove the export property\n"
+"    from subsequent NAMEs.  An argument of ‘\e[1m--\e[0m’ disables further "
+"option\n"
+"    processing."
 
-#: builtins.c:527
-msgid "If the file cannot be executed and the shell is not interactive,"
-msgstr "If the file cannot be executed and the shell is not interactive,"
+#: builtins.c:858
+msgid ""
+" The given NAMEs are marked readonly and the values of these NAMEs may\n"
+"    not be changed by subsequent assignment.  If the -f option is given,\n"
+"    then functions corresponding to the NAMEs are so marked.  If no\n"
+"    arguments are given, or if `-p' is given, a list of all readonly names\n"
+"    is printed.  The `-a' option means to treat each NAME as\n"
+"    an array variable.  An argument of `--' disables further option\n"
+"    processing."
+msgstr ""
+" The given NAMEs are marked readonly and the values of these NAMEs may\n"
+"    not be changed by subsequent assignment.  If the -f option is given,\n"
+"    then functions corresponding to the NAMEs are so marked.  If no\n"
+"    arguments are given, or if ‘\e[1m-p\e[0m’ is given, a list of all readonly "
+"names\n"
+"    is printed.  The ‘\e[1m-a\e[0m’ option means to treat each NAME as\n"
+"    an array variable.  An argument of ‘\e[1m--\e[0m’ disables further option\n"
+"    processing."
 
-#: builtins.c:528
-msgid "then the shell exits, unless the shell option `execfail' is set."
-msgstr "then the shell exits, unless the shell option ‘\e[1mexecfail\e[0m’ is set."
+#: builtins.c:870
+msgid ""
+" The positional parameters from $N+1 ... are renamed to $1 ...  If N is\n"
+"    not given, it is assumed to be 1."
+msgstr ""
+" The positional parameters from $N+1 ... are renamed to $1 ...  If N is\n"
+"    not given, it is assumed to be 1."
+
+#: builtins.c:877 builtins.c:886
+msgid ""
+" Read and execute commands from FILENAME and return.  The pathnames\n"
+"    in $PATH are used to find the directory containing FILENAME.  If any\n"
+"    ARGUMENTS are supplied, they become the positional parameters when\n"
+"    FILENAME is executed."
+msgstr ""
+" Read and execute commands from FILENAME and return.  The pathnames\n"
+"    in $PATH are used to find the directory containing FILENAME.  If any\n"
+"    ARGUMENTS are supplied, they become the positional parameters when\n"
+"    FILENAME is executed."
+
+#: builtins.c:896
+msgid ""
+" Suspend the execution of this shell until it receives a SIGCONT\n"
+"    signal.  The `-f' if specified says not to complain about this\n"
+"    being a login shell if it is; just suspend anyway."
+msgstr ""
+" Suspend the execution of this shell until it receives a SIGCONT\n"
+"    signal.  The ‘\e[1m-f\e[0m’ if specified says not to complain about this\n"
+"    being a login shell if it is; just suspend anyway."
+
+#: builtins.c:905
+msgid ""
+" Exits with a status of 0 (true) or 1 (false) depending on\n"
+"    the evaluation of EXPR.  Expressions may be unary or binary.  Unary\n"
+"    expressions are often used to examine the status of a file.  There\n"
+"    are string operators as well, and numeric comparison operators.\n"
+"    \n"
+"    File operators:\n"
+"    \n"
+"        -a FILE        True if file exists.\n"
+"        -b FILE        True if file is block special.\n"
+"        -c FILE        True if file is character special.\n"
+"        -d FILE        True if file is a directory.\n"
+"        -e FILE        True if file exists.\n"
+"        -f FILE        True if file exists and is a regular file.\n"
+"        -g FILE        True if file is set-group-id.\n"
+"        -h FILE        True if file is a symbolic link.\n"
+"        -L FILE        True if file is a symbolic link.\n"
+"        -k FILE        True if file has its `sticky' bit set.\n"
+"        -p FILE        True if file is a named pipe.\n"
+"        -r FILE        True if file is readable by you.\n"
+"        -s FILE        True if file exists and is not empty.\n"
+"        -S FILE        True if file is a socket.\n"
+"        -t FD          True if FD is opened on a terminal.\n"
+"        -u FILE        True if the file is set-user-id.\n"
+"        -w FILE        True if the file is writable by you.\n"
+"        -x FILE        True if the file is executable by you.\n"
+"        -O FILE        True if the file is effectively owned by you.\n"
+"        -G FILE        True if the file is effectively owned by your group.\n"
+"        -N FILE        True if the file has been modified since it was last "
+"read.\n"
+"    \n"
+"      FILE1 -nt FILE2  True if file1 is newer than file2 (according to\n"
+"                       modification date).\n"
+"    \n"
+"      FILE1 -ot FILE2  True if file1 is older than file2.\n"
+"    \n"
+"      FILE1 -ef FILE2  True if file1 is a hard link to file2.\n"
+"    \n"
+"    String operators:\n"
+"    \n"
+"        -z STRING      True if string is empty.\n"
+"    \n"
+"        -n STRING\n"
+"        STRING         True if string is not empty.\n"
+"    \n"
+"        STRING1 = STRING2\n"
+"                       True if the strings are equal.\n"
+"        STRING1 != STRING2\n"
+"                       True if the strings are not equal.\n"
+"        STRING1 < STRING2\n"
+"                       True if STRING1 sorts before STRING2 "
+"lexicographically.\n"
+"        STRING1 > STRING2\n"
+"                       True if STRING1 sorts after STRING2 "
+"lexicographically.\n"
+"    \n"
+"    Other operators:\n"
+"    \n"
+"        -o OPTION      True if the shell option OPTION is enabled.\n"
+"        ! EXPR         True if expr is false.\n"
+"        EXPR1 -a EXPR2 True if both expr1 AND expr2 are true.\n"
+"        EXPR1 -o EXPR2 True if either expr1 OR expr2 is true.\n"
+"    \n"
+"        arg1 OP arg2   Arithmetic tests.  OP is one of -eq, -ne,\n"
+"                       -lt, -le, -gt, or -ge.\n"
+"    \n"
+"    Arithmetic binary operators return true if ARG1 is equal, not-equal,\n"
+"    less-than, less-than-or-equal, greater-than, or greater-than-or-equal\n"
+"    than ARG2."
+msgstr ""
+" Exits with a status of 0 (true) or 1 (false) depending on\n"
+"    the evaluation of EXPR.  Expressions may be unary or binary.  Unary\n"
+"    expressions are often used to examine the status of a file.  There\n"
+"    are string operators as well, and numeric comparison operators.\n"
+"    \n"
+"    File operators:\n"
+"    \n"
+"        -a FILE        True if file exists.\n"
+"        -b FILE        True if file is block special.\n"
+"        -c FILE        True if file is character special.\n"
+"        -d FILE        True if file is a directory.\n"
+"        -e FILE        True if file exists.\n"
+"        -f FILE        True if file exists and is a regular file.\n"
+"        -g FILE        True if file is set-group-id.\n"
+"        -h FILE        True if file is a symbolic link.\n"
+"        -L FILE        True if file is a symbolic link.\n"
+"        -k FILE        True if file has its ‘\e[1msticky\e[0m’ bit set.\n"
+"        -p FILE        True if file is a named pipe.\n"
+"        -r FILE        True if file is readable by you.\n"
+"        -s FILE        True if file exists and is not empty.\n"
+"        -S FILE        True if file is a socket.\n"
+"        -t FD          True if FD is opened on a terminal.\n"
+"        -u FILE        True if the file is set-user-id.\n"
+"        -w FILE        True if the file is writable by you.\n"
+"        -x FILE        True if the file is executable by you.\n"
+"        -O FILE        True if the file is effectively owned by you.\n"
+"        -G FILE        True if the file is effectively owned by your group.\n"
+"        -N FILE        True if the file has been modified since it was last "
+"read.\n"
+"    \n"
+"      FILE1 -nt FILE2  True if file1 is newer than file2 (according to\n"
+"                       modification date).\n"
+"    \n"
+"      FILE1 -ot FILE2  True if file1 is older than file2.\n"
+"    \n"
+"      FILE1 -ef FILE2  True if file1 is a hard link to file2.\n"
+"    \n"
+"    String operators:\n"
+"    \n"
+"        -z STRING      True if string is empty.\n"
+"    \n"
+"        -n STRING\n"
+"        STRING         True if string is not empty.\n"
+"    \n"
+"        STRING1 = STRING2\n"
+"                       True if the strings are equal.\n"
+"        STRING1 != STRING2\n"
+"                       True if the strings are not equal.\n"
+"        STRING1 < STRING2\n"
+"                       True if STRING1 sorts before STRING2 "
+"lexicographically.\n"
+"        STRING1 > STRING2\n"
+"                       True if STRING1 sorts after STRING2 "
+"lexicographically.\n"
+"    \n"
+"    Other operators:\n"
+"    \n"
+"        -o OPTION      True if the shell option OPTION is enabled.\n"
+"        ! EXPR         True if expr is false.\n"
+"        EXPR1 -a EXPR2 True if both expr1 AND expr2 are true.\n"
+"        EXPR1 -o EXPR2 True if either expr1 OR expr2 is true.\n"
+"    \n"
+"        arg1 OP arg2   Arithmetic tests.  OP is one of -eq, -ne,\n"
+"                       -lt, -le, -gt, or -ge.\n"
+"    \n"
+"    Arithmetic binary operators return true if ARG1 is equal, not-equal,\n"
+"    less-than, less-than-or-equal, greater-than, or greater-than-or-equal\n"
+"    than ARG2."
 
-#: builtins.c:534
-msgid "Exit the shell with a status of N.  If N is omitted, the exit status"
-msgstr "Exit the shell with a status of N.  If N is omitted, the exit status"
+#: builtins.c:975
+msgid ""
+" This is a synonym for the \"test\" builtin, but the last\n"
+"    argument must be a literal `]', to match the opening `['."
+msgstr ""
+" This is a synonym for the “\e[1mtest\e[0m” builtin, but the last\n"
+"    argument must be a literal ‘\e[1m]\e[0m’, to match the opening ‘\e[1m[\e[0m’."
+
+#: builtins.c:982
+msgid ""
+" Print the accumulated user and system times for processes run from\n"
+"    the shell."
+msgstr ""
+" Print the accumulated user and system times for processes run from\n"
+"    the shell."
+
+#: builtins.c:989
+msgid ""
+" The command ARG is to be read and executed when the shell receives\n"
+"    signal(s) SIGNAL_SPEC.  If ARG is absent (and a single SIGNAL_SPEC\n"
+"    is supplied) or `-', each specified signal is reset to its original\n"
+"    value.  If ARG is the null string each SIGNAL_SPEC is ignored by the\n"
+"    shell and by the commands it invokes.  If a SIGNAL_SPEC is EXIT (0)\n"
+"    the command ARG is executed on exit from the shell.  If a SIGNAL_SPEC\n"
+"    is DEBUG, ARG is executed after every simple command.  If the`-p' "
+"option\n"
+"    is supplied then the trap commands associated with each SIGNAL_SPEC are\n"
+"    displayed.  If no arguments are supplied or if only `-p' is given, trap\n"
+"    prints the list of commands associated with each signal.  Each "
+"SIGNAL_SPEC\n"
+"    is either a signal name in <signal.h> or a signal number.  Signal names\n"
+"    are case insensitive and the SIG prefix is optional.  `trap -l' prints\n"
+"    a list of signal names and their corresponding numbers.  Note that a\n"
+"    signal can be sent to the shell with \"kill -signal $$\"."
+msgstr ""
+" The command ARG is to be read and executed when the shell receives\n"
+"    signal(s) SIGNAL_SPEC.  If ARG is absent (and a single SIGNAL_SPEC\n"
+"    is supplied) or ‘\e[1m-\e[0m’, each specified signal is reset to its "
+"original\n"
+"    value.  If ARG is the null string each SIGNAL_SPEC is ignored by the\n"
+"    shell and by the commands it invokes.  If a SIGNAL_SPEC is EXIT (0)\n"
+"    the command ARG is executed on exit from the shell.  If a SIGNAL_SPEC\n"
+"    is DEBUG, ARG is executed after every simple command.  If the‘\e[1m-p\e[0m’ "
+"option\n"
+"    is supplied then the trap commands associated with each SIGNAL_SPEC are\n"
+"    displayed.  If no arguments are supplied or if only ‘\e[1m-p\e[0m’ is given, "
+"trap\n"
+"    prints the list of commands associated with each signal.  Each "
+"SIGNAL_SPEC\n"
+"    is either a signal name in <signal.h> or a signal number.  Signal names\n"
+"    are case insensitive and the SIG prefix is optional.  ‘\e[1mtrap -l\e[0m’ "
+"prints\n"
+"    a list of signal names and their corresponding numbers.  Note that a\n"
+"    signal can be sent to the shell with “\e[1mkill -signal $$\e[0m”."
 
-#: builtins.c:535
-msgid "is that of the last command executed."
-msgstr "is that of the last command executed."
+#: builtins.c:1008
+msgid ""
+" For each NAME, indicate how it would be interpreted if used as a\n"
+"    command name.\n"
+"    \n"
+"    If the -t option is used, `type' outputs a single word which is one of\n"
+"    `alias', `keyword', `function', `builtin', `file' or `', if NAME is an\n"
+"    alias, shell reserved word, shell function, shell builtin, disk file,\n"
+"    or unfound, respectively.\n"
+"    \n"
+"    If the -p flag is used, `type' either returns the name of the disk\n"
+"    file that would be executed, or nothing if `type -t NAME' would not\n"
+"    return `file'.\n"
+"    \n"
+"    If the -a flag is used, `type' displays all of the places that contain\n"
+"    an executable named `file'.  This includes aliases, builtins, and\n"
+"    functions, if and only if the -p flag is not also used.\n"
+"    \n"
+"    The -f flag suppresses shell function lookup.\n"
+"    \n"
+"    The -P flag forces a PATH search for each NAME, even if it is an alias,\n"
+"    builtin, or function, and returns the name of the disk file that would\n"
+"    be executed."
+msgstr ""
+" For each NAME, indicate how it would be interpreted if used as a\n"
+"    command name.\n"
+"    \n"
+"    If the -t option is used, ‘\e[1mtype\e[0m’ outputs a single word which is "
+"one of\n"
+"    ‘\e[1malias\e[0m’, ‘\e[1mkeyword\e[0m’, ‘\e[1mfunction\e[0m’, ‘\e[1mbuiltin\e[0m’, "
+"‘\e[1mfile\e[0m’ or ‘\e[1m\e[0m’, if NAME is an\n"
+"    alias, shell reserved word, shell function, shell builtin, disk file,\n"
+"    or unfound, respectively.\n"
+"    \n"
+"    If the -p flag is used, ‘\e[1mtype\e[0m’ either returns the name of the "
+"disk\n"
+"    file that would be executed, or nothing if ‘\e[1mtype -t NAME\e[0m’ would "
+"not\n"
+"    return ‘\e[1mfile\e[0m’.\n"
+"    \n"
+"    If the -a flag is used, ‘\e[1mtype\e[0m’ displays all of the places that "
+"contain\n"
+"    an executable named ‘\e[1mfile\e[0m’.  This includes aliases, builtins, and\n"
+"    functions, if and only if the -p flag is not also used.\n"
+"    \n"
+"    The -f flag suppresses shell function lookup.\n"
+"    \n"
+"    The -P flag forces a PATH search for each NAME, even if it is an alias,\n"
+"    builtin, or function, and returns the name of the disk file that would\n"
+"    be executed."
+
+#: builtins.c:1035
+msgid ""
+" Ulimit provides control over the resources available to processes\n"
+"    started by the shell, on systems that allow such control.  If an\n"
+"    option is given, it is interpreted as follows:\n"
+"    \n"
+"        -S\tuse the `soft' resource limit\n"
+"        -H\tuse the `hard' resource limit\n"
+"        -a\tall current limits are reported\n"
+"        -c\tthe maximum size of core files created\n"
+"        -d\tthe maximum size of a process's data segment\n"
+"        -f\tthe maximum size of files created by the shell\n"
+"        -i  the maximum number of pending signals\n"
+"        -l\tthe maximum size a process may lock into memory\n"
+"        -m\tthe maximum resident set size\n"
+"        -n\tthe maximum number of open file descriptors\n"
+"        -p\tthe pipe buffer size\n"
+"        -q  the maximum number of bytes in POSIX message queues\n"
+"        -s\tthe maximum stack size\n"
+"        -t\tthe maximum amount of cpu time in seconds\n"
+"        -u\tthe maximum number of user processes\n"
+"        -v\tthe size of virtual memory\n"
+"        -x  the maximum number of file locks\n"
+"    \n"
+"    If LIMIT is given, it is the new value of the specified resource;\n"
+"    the special LIMIT values `soft', `hard', and `unlimited' stand for\n"
+"    the current soft limit, the current hard limit, and no limit, "
+"respectively.\n"
+"    Otherwise, the current value of the specified resource is printed.\n"
+"    If no option is given, then -f is assumed.  Values are in 1024-byte\n"
+"    increments, except for -t, which is in seconds, -p, which is in\n"
+"    increments of 512 bytes, and -u, which is an unscaled number of\n"
+"    processes."
+msgstr ""
+" Ulimit provides control over the resources available to processes\n"
+"    started by the shell, on systems that allow such control.  If an\n"
+"    option is given, it is interpreted as follows:\n"
+"    \n"
+"        -S\tuse the ‘\e[1msoft\e[0m’ resource limit\n"
+"        -H\tuse the ‘\e[1mhard\e[0m’ resource limit\n"
+"        -a\tall current limits are reported\n"
+"        -c\tthe maximum size of core files created\n"
+"        -d\tthe maximum size of a process's data segment\n"
+"        -f\tthe maximum size of files created by the shell\n"
+"        -i  the maximum number of pending signals\n"
+"        -l\tthe maximum size a process may lock into memory\n"
+"        -m\tthe maximum resident set size\n"
+"        -n\tthe maximum number of open file descriptors\n"
+"        -p\tthe pipe buffer size\n"
+"        -q  the maximum number of bytes in POSIX message queues\n"
+"        -s\tthe maximum stack size\n"
+"        -t\tthe maximum amount of cpu time in seconds\n"
+"        -u\tthe maximum number of user processes\n"
+"        -v\tthe size of virtual memory\n"
+"        -x  the maximum number of file locks\n"
+"    \n"
+"    If LIMIT is given, it is the new value of the specified resource;\n"
+"    the special LIMIT values ‘\e[1msoft\e[0m’, ‘\e[1mhard\e[0m’, and ‘\e[1munlimited\e"
+"[0m’ stand for\n"
+"    the current soft limit, the current hard limit, and no limit, "
+"respectively.\n"
+"    Otherwise, the current value of the specified resource is printed.\n"
+"    If no option is given, then -f is assumed.  Values are in 1024-byte\n"
+"    increments, except for -t, which is in seconds, -p, which is in\n"
+"    increments of 512 bytes, and -u, which is an unscaled number of\n"
+"    processes."
 
-#: builtins.c:541
-msgid "Logout of a login shell."
-msgstr "Logout of a login shell."
+#: builtins.c:1071
+msgid ""
+" The user file-creation mask is set to MODE.  If MODE is omitted, or if\n"
+"    `-S' is supplied, the current value of the mask is printed.  The `-S'\n"
+"    option makes the output symbolic; otherwise an octal number is output.\n"
+"    If `-p' is supplied, and MODE is omitted, the output is in a form\n"
+"    that may be used as input.  If MODE begins with a digit, it is\n"
+"    interpreted as an octal number, otherwise it is a symbolic mode string\n"
+"    like that accepted by chmod(1)."
+msgstr ""
+" The user file-creation mask is set to MODE.  If MODE is omitted, or if\n"
+"    ‘\e[1m-S\e[0m’ is supplied, the current value of the mask is printed.  The "
+"‘\e[1m-S\e[0m’\n"
+"    option makes the output symbolic; otherwise an octal number is output.\n"
+"    If ‘\e[1m-p\e[0m’ is supplied, and MODE is omitted, the output is in a form\n"
+"    that may be used as input.  If MODE begins with a digit, it is\n"
+"    interpreted as an octal number, otherwise it is a symbolic mode string\n"
+"    like that accepted by chmod(1)."
 
-#: builtins.c:548
+#: builtins.c:1084
 msgid ""
-"fc is used to list or edit and re-execute commands from the history list."
+" Wait for the specified process and report its termination status.  If\n"
+"    N is not given, all currently active child processes are waited for,\n"
+"    and the return code is zero.  N may be a process ID or a job\n"
+"    specification; if a job spec is given, all processes in the job's\n"
+"    pipeline are waited for."
 msgstr ""
-"fc is used to list or edit and re-execute commands from the history list."
+" Wait for the specified process and report its termination status.  If\n"
+"    N is not given, all currently active child processes are waited for,\n"
+"    and the return code is zero.  N may be a process ID or a job\n"
+"    specification; if a job spec is given, all processes in the job's\n"
+"    pipeline are waited for."
 
-#: builtins.c:549
-msgid "FIRST and LAST can be numbers specifying the range, or FIRST can be a"
-msgstr "FIRST and LAST can be numbers specifying the range, or FIRST can be a"
-
-#: builtins.c:550
-msgid "string, which means the most recent command beginning with that"
-msgstr "string, which means the most recent command beginning with that"
+#: builtins.c:1096
+msgid ""
+" Wait for the specified process and report its termination status.  If\n"
+"    N is not given, all currently active child processes are waited for,\n"
+"    and the return code is zero.  N is a process ID; if it is not given,\n"
+"    all child processes of the shell are waited for."
+msgstr ""
+" Wait for the specified process and report its termination status.  If\n"
+"    N is not given, all currently active child processes are waited for,\n"
+"    and the return code is zero.  N is a process ID; if it is not given,\n"
+"    all child processes of the shell are waited for."
+
+#: builtins.c:1106
+msgid ""
+" The `for' loop executes a sequence of commands for each member in a\n"
+"    list of items.  If `in WORDS ...;' is not present, then `in \"$@\"' is\n"
+"    assumed.  For each element in WORDS, NAME is set to that element, and\n"
+"    the COMMANDS are executed."
+msgstr ""
+" The ‘\e[1mfor\e[0m’ loop executes a sequence of commands for each member in a\n"
+"    list of items.  If ‘\e[1min WORDS ...;\e[0m’ is not present, then ‘\e[1min “\e[1m"
+"$@\e[0m”\e[0m’ is\n"
+"    assumed.  For each element in WORDS, NAME is set to that element, and\n"
+"    the COMMANDS are executed."
+
+#: builtins.c:1115
+msgid ""
+" Equivalent to\n"
+"    \t(( EXP1 ))\n"
+"    \twhile (( EXP2 )); do\n"
+"    \t\tCOMMANDS\n"
+"    \t\t(( EXP3 ))\n"
+"    \tdone\n"
+"    EXP1, EXP2, and EXP3 are arithmetic expressions.  If any expression is\n"
+"    omitted, it behaves as if it evaluates to 1."
+msgstr ""
+" Equivalent to\n"
+"    \t(( EXP1 ))\n"
+"    \twhile (( EXP2 )); do\n"
+"    \t\tCOMMANDS\n"
+"    \t\t(( EXP3 ))\n"
+"    \tdone\n"
+"    EXP1, EXP2, and EXP3 are arithmetic expressions.  If any expression is\n"
+"    omitted, it behaves as if it evaluates to 1."
 
-#: builtins.c:551
-msgid "string."
-msgstr "string."
+#: builtins.c:1128
+msgid ""
+" The WORDS are expanded, generating a list of words.  The\n"
+"    set of expanded words is printed on the standard error, each\n"
+"    preceded by a number.  If `in WORDS' is not present, `in \"$@\"'\n"
+"    is assumed.  The PS3 prompt is then displayed and a line read\n"
+"    from the standard input.  If the line consists of the number\n"
+"    corresponding to one of the displayed words, then NAME is set\n"
+"    to that word.  If the line is empty, WORDS and the prompt are\n"
+"    redisplayed.  If EOF is read, the command completes.  Any other\n"
+"    value read causes NAME to be set to null.  The line read is saved\n"
+"    in the variable REPLY.  COMMANDS are executed after each selection\n"
+"    until a break command is executed."
+msgstr ""
+" The WORDS are expanded, generating a list of words.  The\n"
+"    set of expanded words is printed on the standard error, each\n"
+"    preceded by a number.  If ‘\e[1min WORDS\e[0m’ is not present, ‘\e[1min “\e[1m$@\e"
+"[0m”\e[0m’\n"
+"    is assumed.  The PS3 prompt is then displayed and a line read\n"
+"    from the standard input.  If the line consists of the number\n"
+"    corresponding to one of the displayed words, then NAME is set\n"
+"    to that word.  If the line is empty, WORDS and the prompt are\n"
+"    redisplayed.  If EOF is read, the command completes.  Any other\n"
+"    value read causes NAME to be set to null.  The line read is saved\n"
+"    in the variable REPLY.  COMMANDS are executed after each selection\n"
+"    until a break command is executed."
 
-#: builtins.c:553
+#: builtins.c:1144
 msgid ""
-"   -e ENAME selects which editor to use.  Default is FCEDIT, then EDITOR,"
+" Execute PIPELINE and print a summary of the real time, user CPU time,\n"
+"    and system CPU time spent executing PIPELINE when it terminates.\n"
+"    The return status is the return status of PIPELINE.  The `-p' option\n"
+"    prints the timing summary in a slightly different format.  This uses\n"
+"    the value of the TIMEFORMAT variable as the output format."
 msgstr ""
-"   -e ENAME selects which editor to use.  Default is FCEDIT, then EDITOR,"
+" Execute PIPELINE and print a summary of the real time, user CPU time,\n"
+"    and system CPU time spent executing PIPELINE when it terminates.\n"
+"    The return status is the return status of PIPELINE.  The ‘\e[1m-p\e[0m’ "
+"option\n"
+"    prints the timing summary in a slightly different format.  This uses\n"
+"    the value of the TIMEFORMAT variable as the output format."
 
-#: builtins.c:554
-msgid "      then vi."
-msgstr "      then vi."
-
-#: builtins.c:556
-msgid "   -l means list lines instead of editing."
-msgstr "   -l means list lines instead of editing."
-
-#: builtins.c:557
-msgid "   -n means no line numbers listed."
-msgstr "   -n means no line numbers listed."
+#: builtins.c:1154
+msgid ""
+" Selectively execute COMMANDS based upon WORD matching PATTERN.  The\n"
+"    `|' is used to separate multiple patterns."
+msgstr ""
+" Selectively execute COMMANDS based upon WORD matching PATTERN.  The\n"
+"    ‘\e[1m|\e[0m’ is used to separate multiple patterns."
+
+#: builtins.c:1161
+msgid ""
+" The `if COMMANDS' list is executed.  If its exit status is zero, then the\n"
+"    `then COMMANDS' list is executed.  Otherwise, each `elif COMMANDS' list "
+"is\n"
+"    executed in turn, and if its exit status is zero, the corresponding\n"
+"    `then COMMANDS' list is executed and the if command completes.  "
+"Otherwise,\n"
+"    the `else COMMANDS' list is executed, if present.  The exit status of "
+"the\n"
+"    entire construct is the exit status of the last command executed, or "
+"zero\n"
+"    if no condition tested true."
+msgstr ""
+" The ‘\e[1mif COMMANDS\e[0m’ list is executed.  If its exit status is zero, then "
+"the\n"
+"    ‘\e[1mthen COMMANDS\e[0m’ list is executed.  Otherwise, each ‘\e[1melif "
+"COMMANDS\e[0m’ list is\n"
+"    executed in turn, and if its exit status is zero, the corresponding\n"
+"    ‘\e[1mthen COMMANDS\e[0m’ list is executed and the if command completes.  "
+"Otherwise,\n"
+"    the ‘\e[1melse COMMANDS\e[0m’ list is executed, if present.  The exit status "
+"of the\n"
+"    entire construct is the exit status of the last command executed, or "
+"zero\n"
+"    if no condition tested true."
 
-#: builtins.c:558
+#: builtins.c:1173
 msgid ""
-"   -r means reverse the order of the lines (making it newest listed first)."
+" Expand and execute COMMANDS as long as the final command in the\n"
+"    `while' COMMANDS has an exit status of zero."
 msgstr ""
-"   -r means reverse the order of the lines (making it newest listed first)."
+" Expand and execute COMMANDS as long as the final command in the\n"
+"    ‘\e[1mwhile\e[0m’ COMMANDS has an exit status of zero."
 
-#: builtins.c:560
-msgid "With the `fc -s [pat=rep ...] [command]' format, the command is"
-msgstr "With the ‘\e[1mfc -s [pat=rep ...] [command]\e[0m’ format, the command is"
+#: builtins.c:1180
+msgid ""
+" Expand and execute COMMANDS as long as the final command in the\n"
+"    `until' COMMANDS has an exit status which is not zero."
+msgstr ""
+" Expand and execute COMMANDS as long as the final command in the\n"
+"    ‘\e[1muntil\e[0m’ COMMANDS has an exit status which is not zero."
 
-#: builtins.c:561
-msgid "re-executed after the substitution OLD=NEW is performed."
-msgstr "re-executed after the substitution OLD=NEW is performed."
+#: builtins.c:1187
+msgid ""
+" Create a simple command invoked by NAME which runs COMMANDS.\n"
+"    Arguments on the command line along with NAME are passed to the\n"
+"    function as $0 .. $n."
+msgstr ""
+" Create a simple command invoked by NAME which runs COMMANDS.\n"
+"    Arguments on the command line along with NAME are passed to the\n"
+"    function as $0 .. $n."
 
-#: builtins.c:563
-msgid "A useful alias to use with this is r='fc -s', so that typing `r cc'"
+#: builtins.c:1195
+msgid ""
+" Run a set of commands in a group.  This is one way to redirect an\n"
+"    entire set of commands."
 msgstr ""
-"A useful alias to use with this is r='fc -s', so that typing ‘\e[1mr cc\e[0m’"
+" Run a set of commands in a group.  This is one way to redirect an\n"
+"    entire set of commands."
 
-#: builtins.c:564
-msgid "runs the last command beginning with `cc' and typing `r' re-executes"
+#: builtins.c:1202
+msgid ""
+" Equivalent to the JOB_SPEC argument to the `fg' command.  Resume a\n"
+"    stopped or background job.  JOB_SPEC can specify either a job name\n"
+"    or a job number.  Following JOB_SPEC with a `&' places the job in\n"
+"    the background, as if the job specification had been supplied as an\n"
+"    argument to `bg'."
 msgstr ""
-"runs the last command beginning with ‘\e[1mcc\e[0m’ and typing ‘\e[1mr\e[0m’ re-"
-"executes"
+" Equivalent to the JOB_SPEC argument to the ‘\e[1mfg\e[0m’ command.  Resume a\n"
+"    stopped or background job.  JOB_SPEC can specify either a job name\n"
+"    or a job number.  Following JOB_SPEC with a ‘\e[1m&\e[0m’ places the job in\n"
+"    the background, as if the job specification had been supplied as an\n"
+"    argument to ‘\e[1mbg\e[0m’."
 
-#: builtins.c:565
-msgid "the last command."
-msgstr "the last command."
+#: builtins.c:1212
+msgid ""
+" The EXPRESSION is evaluated according to the rules for arithmetic\n"
+"    evaluation.  Equivalent to \"let EXPRESSION\"."
+msgstr ""
+" The EXPRESSION is evaluated according to the rules for arithmetic\n"
+"    evaluation.  Equivalent to “\e[1mlet EXPRESSION\e[0m”."
+
+#: builtins.c:1219
+msgid ""
+" Returns a status of 0 or 1 depending on the evaluation of the conditional\n"
+"    expression EXPRESSION.  Expressions are composed of the same primaries "
+"used\n"
+"    by the `test' builtin, and may be combined using the following "
+"operators\n"
+"    \n"
+"    \t( EXPRESSION )\tReturns the value of EXPRESSION\n"
+"    \t! EXPRESSION\tTrue if EXPRESSION is false; else false\n"
+"    \tEXPR1 && EXPR2\tTrue if both EXPR1 and EXPR2 are true; else false\n"
+"    \tEXPR1 || EXPR2\tTrue if either EXPR1 or EXPR2 is true; else false\n"
+"    \n"
+"    When the `==' and `!=' operators are used, the string to the right of "
+"the\n"
+"    operator is used as a pattern and pattern matching is performed.  The\n"
+"    && and || operators do not evaluate EXPR2 if EXPR1 is sufficient to\n"
+"    determine the expression's value."
+msgstr ""
+" Returns a status of 0 or 1 depending on the evaluation of the conditional\n"
+"    expression EXPRESSION.  Expressions are composed of the same primaries "
+"used\n"
+"    by the ‘\e[1mtest\e[0m’ builtin, and may be combined using the following "
+"operators\n"
+"    \n"
+"    \t( EXPRESSION )\tReturns the value of EXPRESSION\n"
+"    \t! EXPRESSION\tTrue if EXPRESSION is false; else false\n"
+"    \tEXPR1 && EXPR2\tTrue if both EXPR1 and EXPR2 are true; else false\n"
+"    \tEXPR1 || EXPR2\tTrue if either EXPR1 or EXPR2 is true; else false\n"
+"    \n"
+"    When the ‘\e[1m==\e[0m’ and ‘\e[1m!=\e[0m’ operators are used, the string to the "
+"right of the\n"
+"    operator is used as a pattern and pattern matching is performed.  The\n"
+"    && and || operators do not evaluate EXPR2 if EXPR1 is sufficient to\n"
+"    determine the expression's value."
 
-#: builtins.c:573
-msgid "Place JOB_SPEC in the foreground, and make it the current job.  If"
-msgstr "Place JOB_SPEC in the foreground, and make it the current job.  If"
+#: builtins.c:1237
+msgid ""
+" BASH_VERSION    Version information for this Bash.\n"
+"    CDPATH          A colon-separated list of directories to search\n"
+"    \t\tfor directries given as arguments to `cd'.\n"
+"    GLOBIGNORE\tA colon-separated list of patterns describing filenames to\n"
+"    \t\tbe ignored by pathname expansion.\n"
+"    HISTFILE        The name of the file where your command history is "
+"stored.\n"
+"    HISTFILESIZE    The maximum number of lines this file can contain.\n"
+"    HISTSIZE        The maximum number of history lines that a running\n"
+"    \t\tshell can access.\n"
+"    HOME            The complete pathname to your login directory.\n"
+"    HOSTNAME\tThe name of the current host.\n"
+"    HOSTTYPE        The type of CPU this version of Bash is running under.\n"
+"    IGNOREEOF       Controls the action of the shell on receipt of an EOF\n"
+"    \t\tcharacter as the sole input.  If set, then the value\n"
+"    \t\tof it is the number of EOF characters that can be seen\n"
+"    \t\tin a row on an empty line before the shell will exit\n"
+"    \t\t(default 10).  When unset, EOF signifies the end of input.\n"
+"    MACHTYPE\tA string describing the current system Bash is running on.\n"
+"    MAILCHECK\tHow often, in seconds, Bash checks for new mail.\n"
+"    MAILPATH\tA colon-separated list of filenames which Bash checks\n"
+"    \t\tfor new mail.\n"
+"    OSTYPE\t\tThe version of Unix this version of Bash is running on.\n"
+"    PATH            A colon-separated list of directories to search when\n"
+"    \t\tlooking for commands.\n"
+"    PROMPT_COMMAND  A command to be executed before the printing of each\n"
+"    \t\tprimary prompt.\n"
+"    PS1             The primary prompt string.\n"
+"    PS2             The secondary prompt string.\n"
+"    PWD\t\tThe full pathname of the current directory.\n"
+"    SHELLOPTS\tA colon-separated list of enabled shell options.\n"
+"    TERM            The name of the current terminal type.\n"
+"    TIMEFORMAT\tThe output format for timing statistics displayed by the\n"
+"    \t\t`time' reserved word.\n"
+"    auto_resume     Non-null means a command word appearing on a line by\n"
+"    \t\titself is first looked for in the list of currently\n"
+"    \t\tstopped jobs.  If found there, that job is foregrounded.\n"
+"    \t\tA value of `exact' means that the command word must\n"
+"    \t\texactly match a command in the list of stopped jobs.  A\n"
+"    \t\tvalue of `substring' means that the command word must\n"
+"    \t\tmatch a substring of the job.  Any other value means that\n"
+"    \t\tthe command must be a prefix of a stopped job.\n"
+"    histchars       Characters controlling history expansion and quick\n"
+"    \t\tsubstitution.  The first character is the history\n"
+"    \t\tsubstitution character, usually `!'.  The second is\n"
+"    \t\tthe `quick substitution' character, usually `^'.  The\n"
+"    \t\tthird is the `history comment' character, usually `#'.\n"
+"    HISTIGNORE\tA colon-separated list of patterns used to decide which\n"
+"    \t\tcommands should be saved on the history list.\n"
+msgstr ""
+" BASH_VERSION    Version information for this Bash.\n"
+"    CDPATH          A colon-separated list of directories to search\n"
+"    \t\tfor directries given as arguments to ‘\e[1mcd\e[0m’.\n"
+"    GLOBIGNORE\tA colon-separated list of patterns describing filenames to\n"
+"    \t\tbe ignored by pathname expansion.\n"
+"    HISTFILE        The name of the file where your command history is "
+"stored.\n"
+"    HISTFILESIZE    The maximum number of lines this file can contain.\n"
+"    HISTSIZE        The maximum number of history lines that a running\n"
+"    \t\tshell can access.\n"
+"    HOME            The complete pathname to your login directory.\n"
+"    HOSTNAME\tThe name of the current host.\n"
+"    HOSTTYPE        The type of CPU this version of Bash is running under.\n"
+"    IGNOREEOF       Controls the action of the shell on receipt of an EOF\n"
+"    \t\tcharacter as the sole input.  If set, then the value\n"
+"    \t\tof it is the number of EOF characters that can be seen\n"
+"    \t\tin a row on an empty line before the shell will exit\n"
+"    \t\t(default 10).  When unset, EOF signifies the end of input.\n"
+"    MACHTYPE\tA string describing the current system Bash is running on.\n"
+"    MAILCHECK\tHow often, in seconds, Bash checks for new mail.\n"
+"    MAILPATH\tA colon-separated list of filenames which Bash checks\n"
+"    \t\tfor new mail.\n"
+"    OSTYPE\t\tThe version of Unix this version of Bash is running on.\n"
+"    PATH            A colon-separated list of directories to search when\n"
+"    \t\tlooking for commands.\n"
+"    PROMPT_COMMAND  A command to be executed before the printing of each\n"
+"    \t\tprimary prompt.\n"
+"    PS1             The primary prompt string.\n"
+"    PS2             The secondary prompt string.\n"
+"    PWD\t\tThe full pathname of the current directory.\n"
+"    SHELLOPTS\tA colon-separated list of enabled shell options.\n"
+"    TERM            The name of the current terminal type.\n"
+"    TIMEFORMAT\tThe output format for timing statistics displayed by the\n"
+"    \t\t‘\e[1mtime\e[0m’ reserved word.\n"
+"    auto_resume     Non-null means a command word appearing on a line by\n"
+"    \t\titself is first looked for in the list of currently\n"
+"    \t\tstopped jobs.  If found there, that job is foregrounded.\n"
+"    \t\tA value of ‘\e[1mexact\e[0m’ means that the command word must\n"
+"    \t\texactly match a command in the list of stopped jobs.  A\n"
+"    \t\tvalue of ‘\e[1msubstring\e[0m’ means that the command word must\n"
+"    \t\tmatch a substring of the job.  Any other value means that\n"
+"    \t\tthe command must be a prefix of a stopped job.\n"
+"    histchars       Characters controlling history expansion and quick\n"
+"    \t\tsubstitution.  The first character is the history\n"
+"    \t\tsubstitution character, usually ‘\e[1m!\e[0m’.  The second is\n"
+"    \t\tthe ‘\e[1mquick substitution\e[0m’ character, usually ‘\e[1m^\e[0m’.  The\n"
+"    \t\tthird is the ‘\e[1mhistory comment\e[0m’ character, usually ‘\e[1m#\e[0m’.\n"
+"    HISTIGNORE\tA colon-separated list of patterns used to decide which\n"
+"    \t\tcommands should be saved on the history list.\n"
 
-#: builtins.c:574
-msgid "JOB_SPEC is not present, the shell's notion of the current job is"
-msgstr "JOB_SPEC is not present, the shell's notion of the current job is"
+#: builtins.c:1292
+msgid ""
+" Adds a directory to the top of the directory stack, or rotates\n"
+"    the stack, making the new top of the stack the current working\n"
+"    directory.  With no arguments, exchanges the top two directories.\n"
+"    \n"
+"    +N\tRotates the stack so that the Nth directory (counting\n"
+"    \tfrom the left of the list shown by `dirs', starting with\n"
+"    \tzero) is at the top.\n"
+"    \n"
+"    -N\tRotates the stack so that the Nth directory (counting\n"
+"    \tfrom the right of the list shown by `dirs', starting with\n"
+"    \tzero) is at the top.\n"
+"    \n"
+"    -n\tsuppress the normal change of directory when adding directories\n"
+"    \tto the stack, so only the stack is manipulated.\n"
+"    \n"
+"    dir\tadds DIR to the directory stack at the top, making it the\n"
+"    \tnew current working directory.\n"
+"    \n"
+"    You can see the directory stack with the `dirs' command."
+msgstr ""
+" Adds a directory to the top of the directory stack, or rotates\n"
+"    the stack, making the new top of the stack the current working\n"
+"    directory.  With no arguments, exchanges the top two directories.\n"
+"    \n"
+"    +N\tRotates the stack so that the Nth directory (counting\n"
+"    \tfrom the left of the list shown by ‘\e[1mdirs\e[0m’, starting with\n"
+"    \tzero) is at the top.\n"
+"    \n"
+"    -N\tRotates the stack so that the Nth directory (counting\n"
+"    \tfrom the right of the list shown by ‘\e[1mdirs\e[0m’, starting with\n"
+"    \tzero) is at the top.\n"
+"    \n"
+"    -n\tsuppress the normal change of directory when adding directories\n"
+"    \tto the stack, so only the stack is manipulated.\n"
+"    \n"
+"    dir\tadds DIR to the directory stack at the top, making it the\n"
+"    \tnew current working directory.\n"
+"    \n"
+"    You can see the directory stack with the ‘\e[1mdirs\e[0m’ command."
 
-#: builtins.c:575
-msgid "used."
-msgstr "used."
-
-#: builtins.c:583
-msgid "Place JOB_SPEC in the background, as if it had been started with"
-msgstr "Place JOB_SPEC in the background, as if it had been started with"
-
-#: builtins.c:584
-msgid "`&'.  If JOB_SPEC is not present, the shell's notion of the current"
-msgstr ""
-"‘\e[1m&\e[0m’.  If JOB_SPEC is not present, the shell's notion of the current"
-
-#: builtins.c:585
-msgid "job is used."
-msgstr "job is used."
-
-#: builtins.c:592
-msgid "For each NAME, the full pathname of the command is determined and"
-msgstr "For each NAME, the full pathname of the command is determined and"
-
-#: builtins.c:593
-msgid "remembered.  If the -p option is supplied, PATHNAME is used as the"
-msgstr "remembered.  If the -p option is supplied, PATHNAME is used as the"
-
-#: builtins.c:594
-msgid "full pathname of NAME, and no path search is performed.  The -r"
-msgstr "full pathname of NAME, and no path search is performed.  The -r"
-
-#: builtins.c:595
-msgid "option causes the shell to forget all remembered locations.  The -d"
-msgstr "option causes the shell to forget all remembered locations.  The -d"
-
-#: builtins.c:596
-msgid "option causes the shell to forget the remembered location of each NAME."
-msgstr ""
-"option causes the shell to forget the remembered location of each NAME."
-
-#: builtins.c:597
-msgid "If the -t option is supplied the full pathname to which each NAME"
-msgstr "If the -t option is supplied the full pathname to which each NAME"
-
-#: builtins.c:598
-msgid "corresponds is printed.  If multiple NAME arguments are supplied with"
-msgstr "corresponds is printed.  If multiple NAME arguments are supplied with"
-
-#: builtins.c:599
-msgid "-t, the NAME is printed before the hashed full pathname.  The -l option"
-msgstr ""
-"-t, the NAME is printed before the hashed full pathname.  The -l option"
-
-#: builtins.c:600
-msgid "causes output to be displayed in a format that may be reused as input."
-msgstr "causes output to be displayed in a format that may be reused as input."
-
-#: builtins.c:601
-msgid ""
-"If no arguments are given, information about remembered commands is "
-"displayed."
-msgstr ""
-"If no arguments are given, information about remembered commands is "
-"displayed."
-
-#: builtins.c:608
-msgid "Display helpful information about builtin commands.  If PATTERN is"
-msgstr "Display helpful information about builtin commands.  If PATTERN is"
-
-#: builtins.c:609
-msgid "specified, gives detailed help on all commands matching PATTERN,"
-msgstr "specified, gives detailed help on all commands matching PATTERN,"
-
-#: builtins.c:610
-msgid "otherwise a list of the builtins is printed.  The -s option"
-msgstr "otherwise a list of the builtins is printed.  The -s option"
-
-#: builtins.c:611
-msgid "restricts the output for each builtin command matching PATTERN to"
-msgstr "restricts the output for each builtin command matching PATTERN to"
-
-#: builtins.c:612
-msgid "a short usage synopsis."
-msgstr "a short usage synopsis."
-
-#: builtins.c:620
-msgid "Display the history list with line numbers.  Lines listed with"
-msgstr "Display the history list with line numbers.  Lines listed with"
-
-#: builtins.c:621
-msgid "with a `*' have been modified.  Argument of N says to list only"
-msgstr "with a ‘\e[1m*\e[0m’ have been modified.  Argument of N says to list only"
-
-#: builtins.c:622
-msgid "the last N lines.  The `-c' option causes the history list to be"
-msgstr "the last N lines.  The ‘\e[1m-c\e[0m’ option causes the history list to be"
-
-#: builtins.c:623
-msgid "cleared by deleting all of the entries.  The `-d' option deletes"
-msgstr "cleared by deleting all of the entries.  The ‘\e[1m-d\e[0m’ option deletes"
-
-#: builtins.c:624
-msgid "the history entry at offset OFFSET.  The `-w' option writes out the"
-msgstr ""
-"the history entry at offset OFFSET.  The ‘\e[1m-w\e[0m’ option writes out the"
-
-#: builtins.c:625
-msgid "current history to the history file;  `-r' means to read the file and"
-msgstr ""
-"current history to the history file;  ‘\e[1m-r\e[0m’ means to read the file and"
-
-#: builtins.c:626
-msgid "append the contents to the history list instead.  `-a' means"
-msgstr "append the contents to the history list instead.  ‘\e[1m-a\e[0m’ means"
-
-#: builtins.c:627
-msgid "to append history lines from this session to the history file."
-msgstr "to append history lines from this session to the history file."
-
-#: builtins.c:628
-msgid "Argument `-n' means to read all history lines not already read"
-msgstr "Argument ‘\e[1m-n\e[0m’ means to read all history lines not already read"
-
-#: builtins.c:629
-msgid "from the history file and append them to the history list."
-msgstr "from the history file and append them to the history list."
-
-#: builtins.c:631
-msgid "If FILENAME is given, then that is used as the history file else"
-msgstr "If FILENAME is given, then that is used as the history file else"
-
-#: builtins.c:632
-msgid "if $HISTFILE has a value, that is used, else ~/.bash_history."
-msgstr "if $HISTFILE has a value, that is used, else ~/.bash_history."
-
-#: builtins.c:633
-msgid "If the -s option is supplied, the non-option ARGs are appended to"
-msgstr "If the -s option is supplied, the non-option ARGs are appended to"
-
-#: builtins.c:634
-msgid "the history list as a single entry.  The -p option means to perform"
-msgstr "the history list as a single entry.  The -p option means to perform"
-
-#: builtins.c:635
-msgid "history expansion on each ARG and display the result, without storing"
-msgstr "history expansion on each ARG and display the result, without storing"
-
-#: builtins.c:636
-msgid "anything in the history list."
-msgstr "anything in the history list."
-
-#: builtins.c:638
-msgid "If the $HISTTIMEFORMAT variable is set and not null, its value is used"
-msgstr "If the $HISTTIMEFORMAT variable is set and not null, its value is used"
-
-#: builtins.c:639
-msgid "as a format string for strftime(3) to print the time stamp associated"
-msgstr "as a format string for strftime(3) to print the time stamp associated"
-
-#: builtins.c:640
-msgid ""
-"with each displayed history entry.  No time stamps are printed otherwise."
-msgstr ""
-"with each displayed history entry.  No time stamps are printed otherwise."
-
-#: builtins.c:648
-msgid "Lists the active jobs.  The -l option lists process id's in addition"
-msgstr "Lists the active jobs.  The -l option lists process id's in addition"
-
-#: builtins.c:649
-msgid "to the normal information; the -p option lists process id's only."
-msgstr "to the normal information; the -p option lists process id's only."
-
-#: builtins.c:650
-msgid "If -n is given, only processes that have changed status since the last"
-msgstr "If -n is given, only processes that have changed status since the last"
-
-#: builtins.c:651
-msgid "notification are printed.  JOBSPEC restricts output to that job.  The"
-msgstr "notification are printed.  JOBSPEC restricts output to that job.  The"
-
-#: builtins.c:652
-msgid "-r and -s options restrict output to running and stopped jobs only,"
-msgstr "-r and -s options restrict output to running and stopped jobs only,"
-
-#: builtins.c:653
-msgid "respectively.  Without options, the status of all active jobs is"
-msgstr "respectively.  Without options, the status of all active jobs is"
-
-#: builtins.c:654
-msgid "printed.  If -x is given, COMMAND is run after all job specifications"
-msgstr "printed.  If -x is given, COMMAND is run after all job specifications"
-
-#: builtins.c:655
-msgid ""
-"that appear in ARGS have been replaced with the process ID of that job's"
-msgstr ""
-"that appear in ARGS have been replaced with the process ID of that job's"
-
-#: builtins.c:656
-msgid "process group leader."
-msgstr "process group leader."
-
-#: builtins.c:664
-msgid ""
-"By default, removes each JOBSPEC argument from the table of active jobs."
-msgstr ""
-"By default, removes each JOBSPEC argument from the table of active jobs."
-
-#: builtins.c:665
-msgid ""
-"If the -h option is given, the job is not removed from the table, but is"
-msgstr ""
-"If the -h option is given, the job is not removed from the table, but is"
-
-#: builtins.c:666
-msgid "marked so that SIGHUP is not sent to the job if the shell receives a"
-msgstr "marked so that SIGHUP is not sent to the job if the shell receives a"
-
-#: builtins.c:667
-msgid ""
-"SIGHUP.  The -a option, when JOBSPEC is not supplied, means to remove all"
-msgstr ""
-"SIGHUP.  The -a option, when JOBSPEC is not supplied, means to remove all"
-
-#: builtins.c:668
-msgid ""
-"jobs from the job table; the -r option means to remove only running jobs."
-msgstr ""
-"jobs from the job table; the -r option means to remove only running jobs."
-
-#: builtins.c:675
-#, fuzzy
-msgid "Send the processes named by PID (or JOBSPEC) the signal SIGSPEC.  If"
-msgstr "Send the processes named by PID (or JOB) the signal SIGSPEC.  If"
-
-#: builtins.c:676
-msgid "SIGSPEC is not present, then SIGTERM is assumed.  An argument of `-l'"
-msgstr ""
-"SIGSPEC is not present, then SIGTERM is assumed.  An argument of ‘\e[1m-l\e[0m’"
-
-#: builtins.c:677
-msgid "lists the signal names; if arguments follow `-l' they are assumed to"
-msgstr ""
-"lists the signal names; if arguments follow ‘\e[1m-l\e[0m’ they are assumed to"
-
-#: builtins.c:678
-msgid "be signal numbers for which names should be listed.  Kill is a shell"
-msgstr "be signal numbers for which names should be listed.  Kill is a shell"
-
-#: builtins.c:679
-msgid "builtin for two reasons: it allows job IDs to be used instead of"
-msgstr "builtin for two reasons: it allows job IDs to be used instead of"
-
-#: builtins.c:680
-msgid "process IDs, and, if you have reached the limit on processes that"
-msgstr "process IDs, and, if you have reached the limit on processes that"
-
-#: builtins.c:681
-msgid "you can create, you don't have to start a process to kill another one."
-msgstr "you can create, you don't have to start a process to kill another one."
-
-#: builtins.c:687
-msgid "Each ARG is an arithmetic expression to be evaluated.  Evaluation"
-msgstr "Each ARG is an arithmetic expression to be evaluated.  Evaluation"
-
-#: builtins.c:688
-msgid "is done in fixed-width integers with no check for overflow, though"
-msgstr "is done in fixed-width integers with no check for overflow, though"
-
-#: builtins.c:689
-msgid "division by 0 is trapped and flagged as an error.  The following"
-msgstr "division by 0 is trapped and flagged as an error.  The following"
-
-#: builtins.c:690
-msgid "list of operators is grouped into levels of equal-precedence operators."
-msgstr ""
-"list of operators is grouped into levels of equal-precedence operators."
-
-#: builtins.c:691
-msgid "The levels are listed in order of decreasing precedence."
-msgstr "The levels are listed in order of decreasing precedence."
-
-#: builtins.c:693
-msgid "\tid++, id--\tvariable post-increment, post-decrement"
-msgstr "\tid++, id--\tvariable post-increment, post-decrement"
-
-#: builtins.c:694
-msgid "\t++id, --id\tvariable pre-increment, pre-decrement"
-msgstr "\t++id, --id\tvariable pre-increment, pre-decrement"
-
-#: builtins.c:695
-msgid "\t-, +\t\tunary minus, plus"
-msgstr "\t-, +\t\tunary minus, plus"
-
-#: builtins.c:696
-msgid "\t!, ~\t\tlogical and bitwise negation"
-msgstr "\t!, ~\t\tlogical and bitwise negation"
-
-#: builtins.c:697
-msgid "\t**\t\texponentiation"
-msgstr "\t**\t\texponentiation"
-
-#: builtins.c:698
-msgid "\t*, /, %\t\tmultiplication, division, remainder"
-msgstr "\t*, /, %\t\tmultiplication, division, remainder"
-
-#: builtins.c:699
-msgid "\t+, -\t\taddition, subtraction"
-msgstr "\t+, -\t\taddition, subtraction"
-
-#: builtins.c:700
-msgid "\t<<, >>\t\tleft and right bitwise shifts"
-msgstr "\t<<, >>\t\tleft and right bitwise shifts"
-
-#: builtins.c:701
-msgid "\t<=, >=, <, >\tcomparison"
-msgstr "\t<=, >=, <, >\tcomparison"
-
-#: builtins.c:702
-msgid "\t==, !=\t\tequality, inequality"
-msgstr "\t==, !=\t\tequality, inequality"
-
-#: builtins.c:703
-msgid "\t&\t\tbitwise AND"
-msgstr "\t&\t\tbitwise AND"
-
-#: builtins.c:704
-msgid "\t^\t\tbitwise XOR"
-msgstr "\t^\t\tbitwise XOR"
-
-#: builtins.c:705
-msgid "\t|\t\tbitwise OR"
-msgstr "\t|\t\tbitwise OR"
-
-#: builtins.c:706
-msgid "\t&&\t\tlogical AND"
-msgstr "\t&&\t\tlogical AND"
-
-#: builtins.c:707
-msgid "\t||\t\tlogical OR"
-msgstr "\t||\t\tlogical OR"
-
-#: builtins.c:708
-msgid "\texpr ? expr : expr"
-msgstr "\texpr ? expr : expr"
-
-#: builtins.c:709
-msgid "\t\t\tconditional operator"
-msgstr "\t\t\tconditional operator"
-
-#: builtins.c:710
-msgid "\t=, *=, /=, %=,"
-msgstr "\t=, *=, /=, %=,"
-
-#: builtins.c:711
-msgid "\t+=, -=, <<=, >>=,"
-msgstr "\t+=, -=, <<=, >>=,"
-
-#: builtins.c:712
-msgid "\t&=, ^=, |=\tassignment"
-msgstr "\t&=, ^=, |=\tassignment"
-
-#: builtins.c:714
-msgid "Shell variables are allowed as operands.  The name of the variable"
-msgstr "Shell variables are allowed as operands.  The name of the variable"
-
-#: builtins.c:715
-msgid "is replaced by its value (coerced to a fixed-width integer) within"
-msgstr "is replaced by its value (coerced to a fixed-width integer) within"
-
-#: builtins.c:716
-msgid "an expression.  The variable need not have its integer attribute"
-msgstr "an expression.  The variable need not have its integer attribute"
-
-#: builtins.c:717
-msgid "turned on to be used in an expression."
-msgstr "turned on to be used in an expression."
-
-#: builtins.c:719
-msgid "Operators are evaluated in order of precedence.  Sub-expressions in"
-msgstr "Operators are evaluated in order of precedence.  Sub-expressions in"
-
-#: builtins.c:720
-msgid "parentheses are evaluated first and may override the precedence"
-msgstr "parentheses are evaluated first and may override the precedence"
-
-#: builtins.c:721
-msgid "rules above."
-msgstr "rules above."
-
-#: builtins.c:723
-msgid "If the last ARG evaluates to 0, let returns 1; 0 is returned"
-msgstr "If the last ARG evaluates to 0, let returns 1; 0 is returned"
-
-#: builtins.c:724
-msgid "otherwise."
-msgstr "otherwise."
-
-#: builtins.c:730
-msgid ""
-"One line is read from the standard input, or from file descriptor FD if the"
-msgstr ""
-"One line is read from the standard input, or from file descriptor FD if the"
-
-#: builtins.c:731
-msgid ""
-"-u option is supplied, and the first word is assigned to the first NAME,"
-msgstr ""
-"-u option is supplied, and the first word is assigned to the first NAME,"
-
-#: builtins.c:732
-msgid ""
-"the second word to the second NAME, and so on, with leftover words assigned"
-msgstr ""
-"the second word to the second NAME, and so on, with leftover words assigned"
-
-#: builtins.c:733
-msgid ""
-"to the last NAME.  Only the characters found in $IFS are recognized as word"
-msgstr ""
-"to the last NAME.  Only the characters found in $IFS are recognized as word"
-
-#: builtins.c:734
-msgid ""
-"delimiters.  If no NAMEs are supplied, the line read is stored in the REPLY"
-msgstr ""
-"delimiters.  If no NAMEs are supplied, the line read is stored in the REPLY"
-
-#: builtins.c:735
-msgid "variable.  If the -r option is given, this signifies `raw' input, and"
-msgstr ""
-"variable.  If the -r option is given, this signifies ‘\e[1mraw\e[0m’ input, and"
-
-#: builtins.c:736
-msgid "backslash escaping is disabled.  The -d option causes read to continue"
-msgstr "backslash escaping is disabled.  The -d option causes read to continue"
-
-#: builtins.c:737
-msgid ""
-"until the first character of DELIM is read, rather than newline.  If the -p"
-msgstr ""
-"until the first character of DELIM is read, rather than newline.  If the -p"
-
-#: builtins.c:738
-msgid ""
-"option is supplied, the string PROMPT is output without a trailing newline"
-msgstr ""
-"option is supplied, the string PROMPT is output without a trailing newline"
-
-#: builtins.c:739
-msgid ""
-"before attempting to read.  If -a is supplied, the words read are assigned"
-msgstr ""
-"before attempting to read.  If -a is supplied, the words read are assigned"
-
-#: builtins.c:740
-msgid ""
-"to sequential indices of ARRAY, starting at zero.  If -e is supplied and"
-msgstr ""
-"to sequential indices of ARRAY, starting at zero.  If -e is supplied and"
-
-#: builtins.c:741
-msgid ""
-"the shell is interactive, readline is used to obtain the line.  If -n is"
-msgstr ""
-"the shell is interactive, readline is used to obtain the line.  If -n is"
-
-#: builtins.c:742
-msgid "supplied with a non-zero NCHARS argument, read returns after NCHARS"
-msgstr "supplied with a non-zero NCHARS argument, read returns after NCHARS"
-
-#: builtins.c:743
-msgid "characters have been read.  The -s option causes input coming from a"
-msgstr "characters have been read.  The -s option causes input coming from a"
-
-#: builtins.c:744
-msgid "terminal to not be echoed."
-msgstr "terminal to not be echoed."
-
-#: builtins.c:746
-msgid ""
-"The -t option causes read to time out and return failure if a complete line"
-msgstr ""
-"The -t option causes read to time out and return failure if a complete line"
-
-#: builtins.c:747
-msgid ""
-"of input is not read within TIMEOUT seconds.  If the TMOUT variable is set,"
-msgstr ""
-"of input is not read within TIMEOUT seconds.  If the TMOUT variable is set,"
-
-#: builtins.c:748
-msgid ""
-"its value is the default timeout.  The return code is zero, unless end-of-"
-"file"
-msgstr ""
-"its value is the default timeout.  The return code is zero, unless end-of-"
-"file"
-
-#: builtins.c:749
-msgid ""
-"is encountered, read times out, or an invalid file descriptor is supplied as"
-msgstr ""
-"is encountered, read times out, or an invalid file descriptor is supplied as"
-
-#: builtins.c:750
-msgid "the argument to -u."
-msgstr "the argument to -u."
-
-#: builtins.c:756
-msgid "Causes a function to exit with the return value specified by N.  If N"
-msgstr "Causes a function to exit with the return value specified by N.  If N"
-
-#: builtins.c:757
-msgid "is omitted, the return status is that of the last command."
-msgstr "is omitted, the return status is that of the last command."
-
-#: builtins.c:763
-msgid "    -a  Mark variables which are modified or created for export."
-msgstr "    -a  Mark variables which are modified or created for export."
-
-#: builtins.c:764
-msgid "    -b  Notify of job termination immediately."
-msgstr "    -b  Notify of job termination immediately."
-
-#: builtins.c:765
-msgid "    -e  Exit immediately if a command exits with a non-zero status."
-msgstr "    -e  Exit immediately if a command exits with a non-zero status."
-
-#: builtins.c:766
-msgid "    -f  Disable file name generation (globbing)."
-msgstr "    -f  Disable file name generation (globbing)."
-
-#: builtins.c:767
-msgid "    -h  Remember the location of commands as they are looked up."
-msgstr "    -h  Remember the location of commands as they are looked up."
-
-#: builtins.c:768
-msgid "    -k  All assignment arguments are placed in the environment for a"
-msgstr "    -k  All assignment arguments are placed in the environment for a"
-
-#: builtins.c:769
-msgid "        command, not just those that precede the command name."
-msgstr "        command, not just those that precede the command name."
-
-#: builtins.c:770
-msgid "    -m  Job control is enabled."
-msgstr "    -m  Job control is enabled."
-
-#: builtins.c:771
-msgid "    -n  Read commands but do not execute them."
-msgstr "    -n  Read commands but do not execute them."
-
-#: builtins.c:772
-msgid "    -o option-name"
-msgstr "    -o option-name"
-
-#: builtins.c:773
-msgid "        Set the variable corresponding to option-name:"
-msgstr "        Set the variable corresponding to option-name:"
-
-#: builtins.c:774
-msgid "            allexport    same as -a"
-msgstr "            allexport    same as -a"
-
-#: builtins.c:775
-msgid "            braceexpand  same as -B"
-msgstr "            braceexpand  same as -B"
-
-#: builtins.c:777
-msgid "            emacs        use an emacs-style line editing interface"
-msgstr "            emacs        use an emacs-style line editing interface"
-
-#: builtins.c:779
-msgid "            errexit      same as -e"
-msgstr "            errexit      same as -e"
-
-#: builtins.c:780
-msgid "            errtrace     same as -E"
-msgstr "            errtrace     same as -E"
-
-#: builtins.c:781
-msgid "            functrace    same as -T"
-msgstr "            functrace    same as -T"
-
-#: builtins.c:782
-msgid "            hashall      same as -h"
-msgstr "            hashall      same as -h"
-
-#: builtins.c:784
-msgid "            histexpand   same as -H"
-msgstr "            histexpand   same as -H"
-
-#: builtins.c:787
-msgid "            history      enable command history"
-msgstr "            history      enable command history"
-
-#: builtins.c:789
-msgid "            ignoreeof    the shell will not exit upon reading EOF"
-msgstr "            ignoreeof    the shell will not exit upon reading EOF"
-
-#: builtins.c:790
-msgid "            interactive-comments"
-msgstr "            interactive-comments"
-
-#: builtins.c:791
-msgid ""
-"                         allow comments to appear in interactive commands"
-msgstr ""
-"                         allow comments to appear in interactive commands"
-
-#: builtins.c:792
-msgid "            keyword      same as -k"
-msgstr "            keyword      same as -k"
-
-#: builtins.c:793
-msgid "            monitor      same as -m"
-msgstr "            monitor      same as -m"
-
-#: builtins.c:794
-msgid "            noclobber    same as -C"
-msgstr "            noclobber    same as -C"
-
-#: builtins.c:795
-msgid "            noexec       same as -n"
-msgstr "            noexec       same as -n"
-
-#: builtins.c:796
-msgid "            noglob       same as -f"
-msgstr "            noglob       same as -f"
-
-#: builtins.c:797
-msgid "            nolog        currently accepted but ignored"
-msgstr "            nolog        currently accepted but ignored"
-
-#: builtins.c:798
-msgid "            notify       same as -b"
-msgstr "            notify       same as -b"
-
-#: builtins.c:799
-msgid "            nounset      same as -u"
-msgstr "            nounset      same as -u"
-
-#: builtins.c:800
-msgid "            onecmd       same as -t"
-msgstr "            onecmd       same as -t"
-
-#: builtins.c:801
-msgid "            physical     same as -P"
-msgstr "            physical     same as -P"
-
-#: builtins.c:802
-msgid ""
-"            pipefail     the return value of a pipeline is the status of"
-msgstr ""
-"            pipefail     the return value of a pipeline is the status of"
-
-#: builtins.c:803
-msgid ""
-"                         the last command to exit with a non-zero status,"
-msgstr ""
-"                         the last command to exit with a non-zero status,"
-
-#: builtins.c:804
-msgid ""
-"                         or zero if no command exited with a non-zero status"
-msgstr ""
-"                         or zero if no command exited with a non-zero status"
-
-#: builtins.c:805
-msgid "            posix        change the behavior of bash where the default"
-msgstr "            posix        change the behavior of bash where the default"
-
-#: builtins.c:806
-msgid "                         operation differs from the 1003.2 standard to"
-msgstr "                         operation differs from the 1003.2 standard to"
-
-#: builtins.c:807
-msgid "                         match the standard"
-msgstr "                         match the standard"
-
-#: builtins.c:808
-msgid "            privileged   same as -p"
-msgstr "            privileged   same as -p"
-
-#: builtins.c:809
-msgid "            verbose      same as -v"
-msgstr "            verbose      same as -v"
-
-#: builtins.c:811
-msgid "            vi           use a vi-style line editing interface"
-msgstr "            vi           use a vi-style line editing interface"
-
-#: builtins.c:813
-msgid "            xtrace       same as -x"
-msgstr "            xtrace       same as -x"
-
-#: builtins.c:814
-msgid ""
-"    -p  Turned on whenever the real and effective user ids do not match."
-msgstr ""
-"    -p  Turned on whenever the real and effective user ids do not match."
-
-#: builtins.c:815
-msgid "        Disables processing of the $ENV file and importing of shell"
-msgstr "        Disables processing of the $ENV file and importing of shell"
-
-#: builtins.c:816
-msgid ""
-"        functions.  Turning this option off causes the effective uid and"
-msgstr ""
-"        functions.  Turning this option off causes the effective uid and"
-
-#: builtins.c:817
-msgid "        gid to be set to the real uid and gid."
-msgstr "        gid to be set to the real uid and gid."
-
-#: builtins.c:818
-msgid "    -t  Exit after reading and executing one command."
-msgstr "    -t  Exit after reading and executing one command."
-
-#: builtins.c:819
-msgid "    -u  Treat unset variables as an error when substituting."
-msgstr "    -u  Treat unset variables as an error when substituting."
-
-#: builtins.c:820
-msgid "    -v  Print shell input lines as they are read."
-msgstr "    -v  Print shell input lines as they are read."
-
-#: builtins.c:821
-msgid "    -x  Print commands and their arguments as they are executed."
-msgstr "    -x  Print commands and their arguments as they are executed."
-
-#: builtins.c:823
-msgid "    -B  the shell will perform brace expansion"
-msgstr "    -B  the shell will perform brace expansion"
-
-#: builtins.c:825
-msgid "    -C  If set, disallow existing regular files to be overwritten"
-msgstr "    -C  If set, disallow existing regular files to be overwritten"
-
-#: builtins.c:826
-msgid "        by redirection of output."
-msgstr "        by redirection of output."
-
-#: builtins.c:827
-msgid "    -E  If set, the ERR trap is inherited by shell functions."
-msgstr "    -E  If set, the ERR trap is inherited by shell functions."
-
-#: builtins.c:829
-msgid "    -H  Enable ! style history substitution.  This flag is on"
-msgstr "    -H  Enable ! style history substitution.  This flag is on"
-
-#: builtins.c:830
-msgid "        by default."
-msgstr "        by default."
-
-#: builtins.c:832
-msgid "    -P  If set, do not follow symbolic links when executing commands"
-msgstr "    -P  If set, do not follow symbolic links when executing commands"
-
-#: builtins.c:833
-msgid "        such as cd which change the current directory."
-msgstr "        such as cd which change the current directory."
-
-#: builtins.c:834
-msgid "    -T  If set, the DEBUG trap is inherited by shell functions."
-msgstr "    -T  If set, the DEBUG trap is inherited by shell functions."
-
-#: builtins.c:836
-msgid "Using + rather than - causes these flags to be turned off.  The"
-msgstr "Using + rather than - causes these flags to be turned off.  The"
-
-#: builtins.c:837
-msgid "flags can also be used upon invocation of the shell.  The current"
-msgstr "flags can also be used upon invocation of the shell.  The current"
-
-#: builtins.c:838
-msgid "set of flags may be found in $-.  The remaining n ARGs are positional"
-msgstr "set of flags may be found in $-.  The remaining n ARGs are positional"
-
-#: builtins.c:839
-msgid "parameters and are assigned, in order, to $1, $2, .. $n.  If no"
-msgstr "parameters and are assigned, in order, to $1, $2, .. $n.  If no"
-
-#: builtins.c:840
-msgid "ARGs are given, all shell variables are printed."
-msgstr "ARGs are given, all shell variables are printed."
-
-#: builtins.c:846
-msgid "For each NAME, remove the corresponding variable or function.  Given"
-msgstr "For each NAME, remove the corresponding variable or function.  Given"
-
-#: builtins.c:847
-msgid "the `-v', unset will only act on variables.  Given the `-f' flag,"
-msgstr ""
-"the ‘\e[1m-v\e[0m’, unset will only act on variables.  Given the ‘\e[1m-f\e[0m’ flag,"
-
-#: builtins.c:848
-msgid "unset will only act on functions.  With neither flag, unset first"
-msgstr "unset will only act on functions.  With neither flag, unset first"
-
-#: builtins.c:849
-msgid "tries to unset a variable, and if that fails, then tries to unset a"
-msgstr "tries to unset a variable, and if that fails, then tries to unset a"
-
-#: builtins.c:850
-msgid "function.  Some variables cannot be unset; also see readonly."
-msgstr "function.  Some variables cannot be unset; also see readonly."
-
-#: builtins.c:856
-msgid "NAMEs are marked for automatic export to the environment of"
-msgstr "NAMEs are marked for automatic export to the environment of"
-
-#: builtins.c:857
-msgid "subsequently executed commands.  If the -f option is given,"
-msgstr "subsequently executed commands.  If the -f option is given,"
-
-#: builtins.c:858
-msgid "the NAMEs refer to functions.  If no NAMEs are given, or if `-p'"
-msgstr "the NAMEs refer to functions.  If no NAMEs are given, or if ‘\e[1m-p\e[0m’"
-
-#: builtins.c:859
-msgid "is given, a list of all names that are exported in this shell is"
-msgstr "is given, a list of all names that are exported in this shell is"
-
-#: builtins.c:860
-msgid "printed.  An argument of `-n' says to remove the export property"
-msgstr "printed.  An argument of ‘\e[1m-n\e[0m’ says to remove the export property"
-
-#: builtins.c:861
-msgid "from subsequent NAMEs.  An argument of `--' disables further option"
-msgstr ""
-"from subsequent NAMEs.  An argument of ‘\e[1m--\e[0m’ disables further option"
-
-#: builtins.c:862 builtins.c:874
-msgid "processing."
-msgstr "processing."
-
-#: builtins.c:868
-msgid "The given NAMEs are marked readonly and the values of these NAMEs may"
-msgstr "The given NAMEs are marked readonly and the values of these NAMEs may"
-
-#: builtins.c:869
-msgid "not be changed by subsequent assignment.  If the -f option is given,"
-msgstr "not be changed by subsequent assignment.  If the -f option is given,"
-
-#: builtins.c:870
-msgid "then functions corresponding to the NAMEs are so marked.  If no"
-msgstr "then functions corresponding to the NAMEs are so marked.  If no"
-
-#: builtins.c:871
-msgid "arguments are given, or if `-p' is given, a list of all readonly names"
-msgstr ""
-"arguments are given, or if ‘\e[1m-p\e[0m’ is given, a list of all readonly names"
-
-#: builtins.c:872
-msgid "is printed.  The `-a' option means to treat each NAME as"
-msgstr "is printed.  The ‘\e[1m-a\e[0m’ option means to treat each NAME as"
-
-#: builtins.c:873
-msgid "an array variable.  An argument of `--' disables further option"
-msgstr "an array variable.  An argument of ‘\e[1m--\e[0m’ disables further option"
-
-#: builtins.c:880
-msgid "The positional parameters from $N+1 ... are renamed to $1 ...  If N is"
-msgstr "The positional parameters from $N+1 ... are renamed to $1 ...  If N is"
-
-#: builtins.c:881
-msgid "not given, it is assumed to be 1."
-msgstr "not given, it is assumed to be 1."
-
-#: builtins.c:887 builtins.c:896
-msgid "Read and execute commands from FILENAME and return.  The pathnames"
-msgstr "Read and execute commands from FILENAME and return.  The pathnames"
-
-#: builtins.c:888 builtins.c:897
-msgid "in $PATH are used to find the directory containing FILENAME.  If any"
-msgstr "in $PATH are used to find the directory containing FILENAME.  If any"
-
-#: builtins.c:889 builtins.c:898
-msgid "ARGUMENTS are supplied, they become the positional parameters when"
-msgstr "ARGUMENTS are supplied, they become the positional parameters when"
-
-#: builtins.c:890 builtins.c:899
-msgid "FILENAME is executed."
-msgstr "FILENAME is executed."
-
-#: builtins.c:906
-msgid "Suspend the execution of this shell until it receives a SIGCONT"
-msgstr "Suspend the execution of this shell until it receives a SIGCONT"
-
-#: builtins.c:907
-msgid "signal.  The `-f' if specified says not to complain about this"
-msgstr "signal.  The ‘\e[1m-f\e[0m’ if specified says not to complain about this"
-
-#: builtins.c:908
-msgid "being a login shell if it is; just suspend anyway."
-msgstr "being a login shell if it is; just suspend anyway."
-
-#: builtins.c:915
-msgid "Exits with a status of 0 (true) or 1 (false) depending on"
-msgstr "Exits with a status of 0 (true) or 1 (false) depending on"
-
-#: builtins.c:916
-msgid "the evaluation of EXPR.  Expressions may be unary or binary.  Unary"
-msgstr "the evaluation of EXPR.  Expressions may be unary or binary.  Unary"
-
-#: builtins.c:917
-msgid "expressions are often used to examine the status of a file.  There"
-msgstr "expressions are often used to examine the status of a file.  There"
-
-#: builtins.c:918
-msgid "are string operators as well, and numeric comparison operators."
-msgstr "are string operators as well, and numeric comparison operators."
-
-#: builtins.c:920
-msgid "File operators:"
-msgstr "File operators:"
-
-#: builtins.c:922
-msgid "    -a FILE        True if file exists."
-msgstr "    -a FILE        True if file exists."
-
-#: builtins.c:923
-msgid "    -b FILE        True if file is block special."
-msgstr "    -b FILE        True if file is block special."
-
-#: builtins.c:924
-msgid "    -c FILE        True if file is character special."
-msgstr "    -c FILE        True if file is character special."
-
-#: builtins.c:925
-msgid "    -d FILE        True if file is a directory."
-msgstr "    -d FILE        True if file is a directory."
-
-#: builtins.c:926
-msgid "    -e FILE        True if file exists."
-msgstr "    -e FILE        True if file exists."
-
-#: builtins.c:927
-msgid "    -f FILE        True if file exists and is a regular file."
-msgstr "    -f FILE        True if file exists and is a regular file."
-
-#: builtins.c:928
-msgid "    -g FILE        True if file is set-group-id."
-msgstr "    -g FILE        True if file is set-group-id."
-
-#: builtins.c:929
-msgid "    -h FILE        True if file is a symbolic link."
-msgstr "    -h FILE        True if file is a symbolic link."
-
-#: builtins.c:930
-msgid "    -L FILE        True if file is a symbolic link."
-msgstr "    -L FILE        True if file is a symbolic link."
-
-#: builtins.c:931
-msgid "    -k FILE        True if file has its `sticky' bit set."
-msgstr "    -k FILE        True if file has its ‘\e[1msticky\e[0m’ bit set."
-
-#: builtins.c:932
-msgid "    -p FILE        True if file is a named pipe."
-msgstr "    -p FILE        True if file is a named pipe."
-
-#: builtins.c:933
-msgid "    -r FILE        True if file is readable by you."
-msgstr "    -r FILE        True if file is readable by you."
-
-#: builtins.c:934
-msgid "    -s FILE        True if file exists and is not empty."
-msgstr "    -s FILE        True if file exists and is not empty."
-
-#: builtins.c:935
-msgid "    -S FILE        True if file is a socket."
-msgstr "    -S FILE        True if file is a socket."
-
-#: builtins.c:936
-msgid "    -t FD          True if FD is opened on a terminal."
-msgstr "    -t FD          True if FD is opened on a terminal."
-
-#: builtins.c:937
-msgid "    -u FILE        True if the file is set-user-id."
-msgstr "    -u FILE        True if the file is set-user-id."
-
-#: builtins.c:938
-msgid "    -w FILE        True if the file is writable by you."
-msgstr "    -w FILE        True if the file is writable by you."
-
-#: builtins.c:939
-msgid "    -x FILE        True if the file is executable by you."
-msgstr "    -x FILE        True if the file is executable by you."
-
-#: builtins.c:940
-msgid "    -O FILE        True if the file is effectively owned by you."
-msgstr "    -O FILE        True if the file is effectively owned by you."
-
-#: builtins.c:941
-msgid "    -G FILE        True if the file is effectively owned by your group."
-msgstr ""
-"    -G FILE        True if the file is effectively owned by your group."
-
-#: builtins.c:942
-msgid ""
-"    -N FILE        True if the file has been modified since it was last read."
-msgstr ""
-"    -N FILE        True if the file has been modified since it was last read."
-
-#: builtins.c:944
-msgid "  FILE1 -nt FILE2  True if file1 is newer than file2 (according to"
-msgstr "  FILE1 -nt FILE2  True if file1 is newer than file2 (according to"
-
-#: builtins.c:945
-msgid "                   modification date)."
-msgstr "                   modification date)."
-
-#: builtins.c:947
-msgid "  FILE1 -ot FILE2  True if file1 is older than file2."
-msgstr "  FILE1 -ot FILE2  True if file1 is older than file2."
-
-#: builtins.c:949
-msgid "  FILE1 -ef FILE2  True if file1 is a hard link to file2."
-msgstr "  FILE1 -ef FILE2  True if file1 is a hard link to file2."
-
-#: builtins.c:951
-msgid "String operators:"
-msgstr "String operators:"
-
-#: builtins.c:953
-msgid "    -z STRING      True if string is empty."
-msgstr "    -z STRING      True if string is empty."
-
-#: builtins.c:955
-msgid "    -n STRING"
-msgstr "    -n STRING"
-
-#: builtins.c:956
-msgid "    STRING         True if string is not empty."
-msgstr "    STRING         True if string is not empty."
-
-#: builtins.c:958
-msgid "    STRING1 = STRING2"
-msgstr "    STRING1 = STRING2"
-
-#: builtins.c:959
-msgid "                   True if the strings are equal."
-msgstr "                   True if the strings are equal."
-
-#: builtins.c:960
-msgid "    STRING1 != STRING2"
-msgstr "    STRING1 != STRING2"
-
-#: builtins.c:961
-msgid "                   True if the strings are not equal."
-msgstr "                   True if the strings are not equal."
-
-#: builtins.c:962
-msgid "    STRING1 < STRING2"
-msgstr "    STRING1 < STRING2"
-
-#: builtins.c:963
-msgid ""
-"                   True if STRING1 sorts before STRING2 lexicographically."
-msgstr ""
-"                   True if STRING1 sorts before STRING2 lexicographically."
-
-#: builtins.c:964
-msgid "    STRING1 > STRING2"
-msgstr "    STRING1 > STRING2"
-
-#: builtins.c:965
-msgid ""
-"                   True if STRING1 sorts after STRING2 lexicographically."
-msgstr ""
-"                   True if STRING1 sorts after STRING2 lexicographically."
-
-#: builtins.c:967
-msgid "Other operators:"
-msgstr "Other operators:"
-
-#: builtins.c:969
-msgid "    -o OPTION      True if the shell option OPTION is enabled."
-msgstr "    -o OPTION      True if the shell option OPTION is enabled."
-
-#: builtins.c:970
-msgid "    ! EXPR         True if expr is false."
-msgstr "    ! EXPR         True if expr is false."
-
-#: builtins.c:971
-msgid "    EXPR1 -a EXPR2 True if both expr1 AND expr2 are true."
-msgstr "    EXPR1 -a EXPR2 True if both expr1 AND expr2 are true."
-
-#: builtins.c:972
-msgid "    EXPR1 -o EXPR2 True if either expr1 OR expr2 is true."
-msgstr "    EXPR1 -o EXPR2 True if either expr1 OR expr2 is true."
-
-#: builtins.c:974
-msgid "    arg1 OP arg2   Arithmetic tests.  OP is one of -eq, -ne,"
-msgstr "    arg1 OP arg2   Arithmetic tests.  OP is one of -eq, -ne,"
-
-#: builtins.c:975
-msgid "                   -lt, -le, -gt, or -ge."
-msgstr "                   -lt, -le, -gt, or -ge."
-
-#: builtins.c:977
-msgid "Arithmetic binary operators return true if ARG1 is equal, not-equal,"
-msgstr "Arithmetic binary operators return true if ARG1 is equal, not-equal,"
-
-#: builtins.c:978
-msgid "less-than, less-than-or-equal, greater-than, or greater-than-or-equal"
-msgstr "less-than, less-than-or-equal, greater-than, or greater-than-or-equal"
-
-#: builtins.c:979
-msgid "than ARG2."
-msgstr "than ARG2."
-
-#: builtins.c:985
-msgid "This is a synonym for the \"test\" builtin, but the last"
-msgstr "This is a synonym for the “\e[1mtest\e[0m” builtin, but the last"
-
-#: builtins.c:986
-msgid "argument must be a literal `]', to match the opening `['."
-msgstr "argument must be a literal ‘\e[1m]\e[0m’, to match the opening ‘\e[1m[\e[0m’."
-
-#: builtins.c:992
-msgid "Print the accumulated user and system times for processes run from"
-msgstr "Print the accumulated user and system times for processes run from"
-
-#: builtins.c:993
-msgid "the shell."
-msgstr "the shell."
-
-#: builtins.c:999
-msgid "The command ARG is to be read and executed when the shell receives"
-msgstr "The command ARG is to be read and executed when the shell receives"
-
-#: builtins.c:1000
-#, fuzzy
-msgid "signal(s) SIGNAL_SPEC.  If ARG is absent (and a single SIGNAL_SPEC"
-msgstr "signal(s) SIGNAL_SPEC.  If ARG is absent all specified signals are"
-
-#: builtins.c:1001
-msgid "is supplied) or `-', each specified signal is reset to its original"
-msgstr ""
-
-#: builtins.c:1002
-msgid "value.  If ARG is the null string each SIGNAL_SPEC is ignored by the"
-msgstr ""
-
-#: builtins.c:1003
-msgid "shell and by the commands it invokes.  If a SIGNAL_SPEC is EXIT (0)"
-msgstr ""
-
-#: builtins.c:1004
-msgid "the command ARG is executed on exit from the shell.  If a SIGNAL_SPEC"
-msgstr ""
-
-#: builtins.c:1005
-msgid ""
-"is DEBUG, ARG is executed after every simple command.  If the`-p' option"
-msgstr ""
-
-#: builtins.c:1006
-#, fuzzy
-msgid "is supplied then the trap commands associated with each SIGNAL_SPEC are"
-msgstr "command.  If ARG is ‘\e[1m-p\e[0m’ then the trap commands associated with"
-
-#: builtins.c:1007
-#, fuzzy
-msgid "displayed.  If no arguments are supplied or if only `-p' is given, trap"
-msgstr "each SIGNAL_SPEC are displayed.  If no arguments are supplied or if"
-
-#: builtins.c:1008
-#, fuzzy
-msgid ""
-"prints the list of commands associated with each signal.  Each SIGNAL_SPEC"
-msgstr ""
-"only ‘\e[1m-p\e[0m’ is given, trap prints the list of commands associated with"
-
-#: builtins.c:1009
-msgid "is either a signal name in <signal.h> or a signal number.  Signal names"
-msgstr ""
-
-#: builtins.c:1010
-msgid "are case insensitive and the SIG prefix is optional.  `trap -l' prints"
-msgstr ""
-
-#: builtins.c:1011
-msgid "a list of signal names and their corresponding numbers.  Note that a"
-msgstr ""
-
-#: builtins.c:1012
-msgid "signal can be sent to the shell with \"kill -signal $$\"."
-msgstr ""
-
-#: builtins.c:1018
-msgid "For each NAME, indicate how it would be interpreted if used as a"
-msgstr "For each NAME, indicate how it would be interpreted if used as a"
-
-#: builtins.c:1019
-msgid "command name."
-msgstr "command name."
-
-#: builtins.c:1021
-msgid "If the -t option is used, `type' outputs a single word which is one of"
-msgstr ""
-"If the -t option is used, ‘\e[1mtype\e[0m’ outputs a single word which is one of"
-
-#: builtins.c:1022
-msgid "`alias', `keyword', `function', `builtin', `file' or `', if NAME is an"
-msgstr ""
-"‘\e[1malias\e[0m’, ‘\e[1mkeyword\e[0m’, ‘\e[1mfunction\e[0m’, ‘\e[1mbuiltin\e[0m’, ‘\e[1mfile\e"
-"[0m’ or ‘\e[1m\e[0m’, if NAME is an"
-
-#: builtins.c:1023
-msgid "alias, shell reserved word, shell function, shell builtin, disk file,"
-msgstr "alias, shell reserved word, shell function, shell builtin, disk file,"
-
-#: builtins.c:1024
-msgid "or unfound, respectively."
-msgstr "or unfound, respectively."
-
-#: builtins.c:1026
-msgid "If the -p flag is used, `type' either returns the name of the disk"
-msgstr ""
-"If the -p flag is used, ‘\e[1mtype\e[0m’ either returns the name of the disk"
-
-#: builtins.c:1027
-msgid "file that would be executed, or nothing if `type -t NAME' would not"
-msgstr ""
-"file that would be executed, or nothing if ‘\e[1mtype -t NAME\e[0m’ would not"
-
-#: builtins.c:1028
-msgid "return `file'."
-msgstr "return ‘\e[1mfile\e[0m’."
-
-#: builtins.c:1030
-msgid "If the -a flag is used, `type' displays all of the places that contain"
-msgstr ""
-"If the -a flag is used, ‘\e[1mtype\e[0m’ displays all of the places that contain"
-
-#: builtins.c:1031
-msgid "an executable named `file'.  This includes aliases, builtins, and"
-msgstr ""
-"an executable named ‘\e[1mfile\e[0m’.  This includes aliases, builtins, and"
-
-#: builtins.c:1032
-msgid "functions, if and only if the -p flag is not also used."
-msgstr "functions, if and only if the -p flag is not also used."
-
-#: builtins.c:1034
-msgid "The -f flag suppresses shell function lookup."
-msgstr "The -f flag suppresses shell function lookup."
-
-#: builtins.c:1036
-msgid "The -P flag forces a PATH search for each NAME, even if it is an alias,"
-msgstr ""
-"The -P flag forces a PATH search for each NAME, even if it is an alias,"
-
-#: builtins.c:1037
-msgid "builtin, or function, and returns the name of the disk file that would"
-msgstr "builtin, or function, and returns the name of the disk file that would"
-
-#: builtins.c:1038
-msgid "be executed."
-msgstr "be executed."
-
-#: builtins.c:1045
-msgid "Ulimit provides control over the resources available to processes"
-msgstr "Ulimit provides control over the resources available to processes"
-
-#: builtins.c:1046
-msgid "started by the shell, on systems that allow such control.  If an"
-msgstr "started by the shell, on systems that allow such control.  If an"
-
-#: builtins.c:1047
-msgid "option is given, it is interpreted as follows:"
-msgstr "option is given, it is interpreted as follows:"
-
-#: builtins.c:1049
-msgid "    -S\tuse the `soft' resource limit"
-msgstr "    -S\tuse the ‘\e[1msoft\e[0m’ resource limit"
-
-#: builtins.c:1050
-msgid "    -H\tuse the `hard' resource limit"
-msgstr "    -H\tuse the ‘\e[1mhard\e[0m’ resource limit"
-
-#: builtins.c:1051
-msgid "    -a\tall current limits are reported"
-msgstr "    -a\tall current limits are reported"
-
-#: builtins.c:1052
-msgid "    -c\tthe maximum size of core files created"
-msgstr "    -c\tthe maximum size of core files created"
-
-#: builtins.c:1053
-msgid "    -d\tthe maximum size of a process's data segment"
-msgstr "    -d\tthe maximum size of a process's data segment"
-
-#: builtins.c:1054
-msgid "    -f\tthe maximum size of files created by the shell"
-msgstr "    -f\tthe maximum size of files created by the shell"
-
-#: builtins.c:1055
-#, fuzzy
-msgid "    -i  the maximum number of pending signals"
-msgstr "    -n\tthe maximum number of open file descriptors"
-
-#: builtins.c:1056
-msgid "    -l\tthe maximum size a process may lock into memory"
-msgstr "    -l\tthe maximum size a process may lock into memory"
-
-#: builtins.c:1057
-msgid "    -m\tthe maximum resident set size"
-msgstr "    -m\tthe maximum resident set size"
-
-#: builtins.c:1058
-msgid "    -n\tthe maximum number of open file descriptors"
-msgstr "    -n\tthe maximum number of open file descriptors"
-
-#: builtins.c:1059
-msgid "    -p\tthe pipe buffer size"
-msgstr "    -p\tthe pipe buffer size"
-
-#: builtins.c:1060
-#, fuzzy
-msgid "    -q  the maximum number of bytes in POSIX message queues"
-msgstr "    -u\tthe maximum number of user processes"
-
-#: builtins.c:1061
-msgid "    -s\tthe maximum stack size"
-msgstr "    -s\tthe maximum stack size"
-
-#: builtins.c:1062
-msgid "    -t\tthe maximum amount of cpu time in seconds"
-msgstr "    -t\tthe maximum amount of cpu time in seconds"
-
-#: builtins.c:1063
-msgid "    -u\tthe maximum number of user processes"
-msgstr "    -u\tthe maximum number of user processes"
-
-#: builtins.c:1064
-msgid "    -v\tthe size of virtual memory"
-msgstr "    -v\tthe size of virtual memory"
-
-#: builtins.c:1065
-#, fuzzy
-msgid "    -x  the maximum number of file locks"
-msgstr "    -u\tthe maximum number of user processes"
-
-#: builtins.c:1067
-msgid "If LIMIT is given, it is the new value of the specified resource;"
-msgstr "If LIMIT is given, it is the new value of the specified resource;"
-
-#: builtins.c:1068
-msgid "the special LIMIT values `soft', `hard', and `unlimited' stand for"
-msgstr ""
-"the special LIMIT values ‘\e[1msoft\e[0m’, ‘\e[1mhard\e[0m’, and ‘\e[1munlimited\e[0m’ "
-"stand for"
-
-#: builtins.c:1069
-msgid ""
-"the current soft limit, the current hard limit, and no limit, respectively."
-msgstr ""
-"the current soft limit, the current hard limit, and no limit, respectively."
-
-#: builtins.c:1070
-msgid "Otherwise, the current value of the specified resource is printed."
-msgstr "Otherwise, the current value of the specified resource is printed."
-
-#: builtins.c:1071
-msgid "If no option is given, then -f is assumed.  Values are in 1024-byte"
-msgstr "If no option is given, then -f is assumed.  Values are in 1024-byte"
-
-#: builtins.c:1072
-msgid "increments, except for -t, which is in seconds, -p, which is in"
-msgstr "increments, except for -t, which is in seconds, -p, which is in"
-
-#: builtins.c:1073
-msgid "increments of 512 bytes, and -u, which is an unscaled number of"
-msgstr "increments of 512 bytes, and -u, which is an unscaled number of"
-
-#: builtins.c:1074
-msgid "processes."
-msgstr "processes."
-
-#: builtins.c:1081
-msgid "The user file-creation mask is set to MODE.  If MODE is omitted, or if"
-msgstr "The user file-creation mask is set to MODE.  If MODE is omitted, or if"
-
-#: builtins.c:1082
-msgid "`-S' is supplied, the current value of the mask is printed.  The `-S'"
-msgstr ""
-"‘\e[1m-S\e[0m’ is supplied, the current value of the mask is printed.  The ‘\e[1m-S\e"
-"[0m’"
-
-#: builtins.c:1083
-msgid "option makes the output symbolic; otherwise an octal number is output."
-msgstr "option makes the output symbolic; otherwise an octal number is output."
-
-#: builtins.c:1084
-msgid "If `-p' is supplied, and MODE is omitted, the output is in a form"
-msgstr ""
-"If ‘\e[1m-p\e[0m’ is supplied, and MODE is omitted, the output is in a form"
-
-#: builtins.c:1085
-msgid "that may be used as input.  If MODE begins with a digit, it is"
-msgstr "that may be used as input.  If MODE begins with a digit, it is"
-
-#: builtins.c:1086
-msgid "interpreted as an octal number, otherwise it is a symbolic mode string"
-msgstr "interpreted as an octal number, otherwise it is a symbolic mode string"
-
-#: builtins.c:1087
-msgid "like that accepted by chmod(1)."
-msgstr "like that accepted by chmod(1)."
-
-#: builtins.c:1094 builtins.c:1106
-msgid "Wait for the specified process and report its termination status.  If"
-msgstr "Wait for the specified process and report its termination status.  If"
-
-#: builtins.c:1095 builtins.c:1107
-msgid "N is not given, all currently active child processes are waited for,"
-msgstr "N is not given, all currently active child processes are waited for,"
-
-#: builtins.c:1096
-msgid "and the return code is zero.  N may be a process ID or a job"
-msgstr "and the return code is zero.  N may be a process ID or a job"
-
-#: builtins.c:1097
-msgid "specification; if a job spec is given, all processes in the job's"
-msgstr "specification; if a job spec is given, all processes in the job's"
-
-#: builtins.c:1098
-msgid "pipeline are waited for."
-msgstr "pipeline are waited for."
-
-#: builtins.c:1108
-msgid "and the return code is zero.  N is a process ID; if it is not given,"
-msgstr "and the return code is zero.  N is a process ID; if it is not given,"
-
-#: builtins.c:1109
-msgid "all child processes of the shell are waited for."
-msgstr "all child processes of the shell are waited for."
-
-#: builtins.c:1116
-msgid "The `for' loop executes a sequence of commands for each member in a"
-msgstr ""
-"The ‘\e[1mfor\e[0m’ loop executes a sequence of commands for each member in a"
-
-#: builtins.c:1117
-msgid "list of items.  If `in WORDS ...;' is not present, then `in \"$@\"' is"
-msgstr ""
-"list of items.  If ‘\e[1min WORDS ...;\e[0m’ is not present, then ‘\e[1min “\e[1m$@\e"
-"[0m”\e[0m’ is"
-
-#: builtins.c:1118
-msgid "assumed.  For each element in WORDS, NAME is set to that element, and"
-msgstr "assumed.  For each element in WORDS, NAME is set to that element, and"
-
-#: builtins.c:1119
-msgid "the COMMANDS are executed."
-msgstr "the COMMANDS are executed."
-
-#: builtins.c:1125
-msgid "Equivalent to"
-msgstr "Equivalent to"
-
-#: builtins.c:1126
-msgid "\t(( EXP1 ))"
-msgstr "\t(( EXP1 ))"
-
-#: builtins.c:1127
-msgid "\twhile (( EXP2 )); do"
-msgstr "\twhile (( EXP2 )); do"
-
-#: builtins.c:1128
-msgid "\t\tCOMMANDS"
-msgstr "\t\tCOMMANDS"
-
-#: builtins.c:1129
-msgid "\t\t(( EXP3 ))"
-msgstr "\t\t(( EXP3 ))"
-
-#: builtins.c:1130
-msgid "\tdone"
-msgstr "\tdone"
-
-#: builtins.c:1131
-msgid "EXP1, EXP2, and EXP3 are arithmetic expressions.  If any expression is"
-msgstr "EXP1, EXP2, and EXP3 are arithmetic expressions.  If any expression is"
-
-#: builtins.c:1132
-msgid "omitted, it behaves as if it evaluates to 1."
-msgstr "omitted, it behaves as if it evaluates to 1."
-
-#: builtins.c:1138
-msgid "The WORDS are expanded, generating a list of words.  The"
-msgstr "The WORDS are expanded, generating a list of words.  The"
-
-#: builtins.c:1139
-msgid "set of expanded words is printed on the standard error, each"
-msgstr "set of expanded words is printed on the standard error, each"
-
-#: builtins.c:1140
-msgid "preceded by a number.  If `in WORDS' is not present, `in \"$@\"'"
-msgstr ""
-"preceded by a number.  If ‘\e[1min WORDS\e[0m’ is not present, ‘\e[1min “\e[1m$@\e"
-"[0m”\e[0m’"
-
-#: builtins.c:1141
-msgid "is assumed.  The PS3 prompt is then displayed and a line read"
-msgstr "is assumed.  The PS3 prompt is then displayed and a line read"
-
-#: builtins.c:1142
-msgid "from the standard input.  If the line consists of the number"
-msgstr "from the standard input.  If the line consists of the number"
-
-#: builtins.c:1143
-msgid "corresponding to one of the displayed words, then NAME is set"
-msgstr "corresponding to one of the displayed words, then NAME is set"
-
-#: builtins.c:1144
-msgid "to that word.  If the line is empty, WORDS and the prompt are"
-msgstr "to that word.  If the line is empty, WORDS and the prompt are"
-
-#: builtins.c:1145
-msgid "redisplayed.  If EOF is read, the command completes.  Any other"
-msgstr "redisplayed.  If EOF is read, the command completes.  Any other"
-
-#: builtins.c:1146
-msgid "value read causes NAME to be set to null.  The line read is saved"
-msgstr "value read causes NAME to be set to null.  The line read is saved"
-
-#: builtins.c:1147
-msgid "in the variable REPLY.  COMMANDS are executed after each selection"
-msgstr "in the variable REPLY.  COMMANDS are executed after each selection"
-
-#: builtins.c:1148
-msgid "until a break command is executed."
-msgstr "until a break command is executed."
-
-#: builtins.c:1154
-msgid "Execute PIPELINE and print a summary of the real time, user CPU time,"
-msgstr "Execute PIPELINE and print a summary of the real time, user CPU time,"
-
-#: builtins.c:1155
-msgid "and system CPU time spent executing PIPELINE when it terminates."
-msgstr "and system CPU time spent executing PIPELINE when it terminates."
-
-#: builtins.c:1156
-msgid "The return status is the return status of PIPELINE.  The `-p' option"
-msgstr ""
-"The return status is the return status of PIPELINE.  The ‘\e[1m-p\e[0m’ option"
-
-#: builtins.c:1157
-msgid "prints the timing summary in a slightly different format.  This uses"
-msgstr "prints the timing summary in a slightly different format.  This uses"
-
-#: builtins.c:1158
-msgid "the value of the TIMEFORMAT variable as the output format."
-msgstr "the value of the TIMEFORMAT variable as the output format."
-
-#: builtins.c:1164
-msgid "Selectively execute COMMANDS based upon WORD matching PATTERN.  The"
-msgstr "Selectively execute COMMANDS based upon WORD matching PATTERN.  The"
-
-#: builtins.c:1165
-msgid "`|' is used to separate multiple patterns."
-msgstr "‘\e[1m|\e[0m’ is used to separate multiple patterns."
-
-#: builtins.c:1171
-msgid ""
-"The if COMMANDS are executed.  If the exit status is zero, then the then"
-msgstr ""
-"The if COMMANDS are executed.  If the exit status is zero, then the then"
-
-#: builtins.c:1172
-msgid ""
-"COMMANDS are executed.  Otherwise, each of the elif COMMANDS are executed"
-msgstr ""
-"COMMANDS are executed.  Otherwise, each of the elif COMMANDS are executed"
-
-#: builtins.c:1173
-msgid ""
-"in turn, and if the exit status is zero, the corresponding then COMMANDS"
-msgstr ""
-"in turn, and if the exit status is zero, the corresponding then COMMANDS"
-
-#: builtins.c:1174
-msgid ""
-"are executed and the if command completes.  Otherwise, the else COMMANDS"
-msgstr ""
-"are executed and the if command completes.  Otherwise, the else COMMANDS"
-
-#: builtins.c:1175
-msgid ""
-"are executed, if present.  The exit status is the exit status of the last"
-msgstr ""
-"are executed, if present.  The exit status is the exit status of the last"
-
-#: builtins.c:1176
-msgid "command executed, or zero if no condition tested true."
-msgstr "command executed, or zero if no condition tested true."
-
-#: builtins.c:1182 builtins.c:1189
-msgid "Expand and execute COMMANDS as long as the final command in the"
-msgstr "Expand and execute COMMANDS as long as the final command in the"
-
-#: builtins.c:1183
-msgid "`while' COMMANDS has an exit status of zero."
-msgstr "‘\e[1mwhile\e[0m’ COMMANDS has an exit status of zero."
-
-#: builtins.c:1190
-msgid "`until' COMMANDS has an exit status which is not zero."
-msgstr "‘\e[1muntil\e[0m’ COMMANDS has an exit status which is not zero."
-
-#: builtins.c:1196
-msgid "Create a simple command invoked by NAME which runs COMMANDS."
-msgstr "Create a simple command invoked by NAME which runs COMMANDS."
-
-#: builtins.c:1197
-msgid "Arguments on the command line along with NAME are passed to the"
-msgstr "Arguments on the command line along with NAME are passed to the"
-
-#: builtins.c:1198
-msgid "function as $0 .. $n."
-msgstr "function as $0 .. $n."
-
-#: builtins.c:1204
-msgid "Run a set of commands in a group.  This is one way to redirect an"
-msgstr "Run a set of commands in a group.  This is one way to redirect an"
-
-#: builtins.c:1205
-msgid "entire set of commands."
-msgstr "entire set of commands."
-
-#: builtins.c:1211
-msgid "Equivalent to the JOB_SPEC argument to the `fg' command.  Resume a"
-msgstr ""
-
-#: builtins.c:1212
-msgid "stopped or background job.  JOB_SPEC can specify either a job name"
-msgstr ""
-
-#: builtins.c:1213
-msgid "or a job number.  Following JOB_SPEC with a `&' places the job in"
-msgstr ""
-
-#: builtins.c:1214
-msgid "the background, as if the job specification had been supplied as an"
-msgstr ""
-
-#: builtins.c:1215
-#, fuzzy
-msgid "argument to `bg'."
-msgstr "the argument to -u."
-
-#: builtins.c:1221
-msgid "The EXPRESSION is evaluated according to the rules for arithmetic"
-msgstr "The EXPRESSION is evaluated according to the rules for arithmetic"
-
-#: builtins.c:1222
-msgid "evaluation.  Equivalent to \"let EXPRESSION\"."
-msgstr "evaluation.  Equivalent to “\e[1mlet EXPRESSION\e[0m”."
-
-#: builtins.c:1228
-msgid ""
-"Returns a status of 0 or 1 depending on the evaluation of the conditional"
-msgstr ""
-"Returns a status of 0 or 1 depending on the evaluation of the conditional"
-
-#: builtins.c:1229
-msgid ""
-"expression EXPRESSION.  Expressions are composed of the same primaries used"
-msgstr ""
-"expression EXPRESSION.  Expressions are composed of the same primaries used"
-
-#: builtins.c:1230
-msgid ""
-"by the `test' builtin, and may be combined using the following operators"
-msgstr ""
-"by the ‘\e[1mtest\e[0m’ builtin, and may be combined using the following "
-"operators"
-
-#: builtins.c:1232
-msgid "\t( EXPRESSION )\tReturns the value of EXPRESSION"
-msgstr "\t( EXPRESSION )\tReturns the value of EXPRESSION"
-
-#: builtins.c:1233
-msgid "\t! EXPRESSION\tTrue if EXPRESSION is false; else false"
-msgstr "\t! EXPRESSION\tTrue if EXPRESSION is false; else false"
-
-#: builtins.c:1234
-msgid "\tEXPR1 && EXPR2\tTrue if both EXPR1 and EXPR2 are true; else false"
-msgstr "\tEXPR1 && EXPR2\tTrue if both EXPR1 and EXPR2 are true; else false"
-
-#: builtins.c:1235
-msgid "\tEXPR1 || EXPR2\tTrue if either EXPR1 or EXPR2 is true; else false"
-msgstr "\tEXPR1 || EXPR2\tTrue if either EXPR1 or EXPR2 is true; else false"
-
-#: builtins.c:1237
-msgid ""
-"When the `==' and `!=' operators are used, the string to the right of the"
-msgstr ""
-"When the ‘\e[1m==\e[0m’ and ‘\e[1m!=\e[0m’ operators are used, the string to the "
-"right of the"
-
-#: builtins.c:1238
-msgid "operator is used as a pattern and pattern matching is performed.  The"
-msgstr "operator is used as a pattern and pattern matching is performed.  The"
-
-#: builtins.c:1239
-msgid "&& and || operators do not evaluate EXPR2 if EXPR1 is sufficient to"
-msgstr "&& and || operators do not evaluate EXPR2 if EXPR1 is sufficient to"
-
-#: builtins.c:1240
-msgid "determine the expression's value."
-msgstr "determine the expression's value."
-
-#: builtins.c:1246
-msgid "BASH_VERSION    Version information for this Bash."
-msgstr "BASH_VERSION    Version information for this Bash."
-
-#: builtins.c:1247
-#, fuzzy
-msgid "CDPATH          A colon-separated list of directories to search"
-msgstr "CDPATH          A colon separated list of directories to search"
-
-#: builtins.c:1248
-msgid "\t\tfor directries given as arguments to `cd'."
-msgstr ""
-
-#: builtins.c:1249
-msgid "GLOBIGNORE\tA colon-separated list of patterns describing filenames to"
-msgstr "GLOBIGNORE\tA colon-separated list of patterns describing filenames to"
-
-#: builtins.c:1250
-msgid "\t\tbe ignored by pathname expansion."
-msgstr "\t\tbe ignored by pathname expansion."
-
-#: builtins.c:1252
-msgid ""
-"HISTFILE        The name of the file where your command history is stored."
-msgstr ""
-"HISTFILE        The name of the file where your command history is stored."
-
-#: builtins.c:1253
-msgid "HISTFILESIZE    The maximum number of lines this file can contain."
-msgstr "HISTFILESIZE    The maximum number of lines this file can contain."
-
-#: builtins.c:1254
-msgid "HISTSIZE        The maximum number of history lines that a running"
-msgstr "HISTSIZE        The maximum number of history lines that a running"
-
-#: builtins.c:1255
-msgid "\t\tshell can access."
-msgstr "\t\tshell can access."
-
-#: builtins.c:1257
-msgid "HOME            The complete pathname to your login directory."
-msgstr "HOME            The complete pathname to your login directory."
-
-#: builtins.c:1258
-msgid "HOSTNAME\tThe name of the current host."
-msgstr "HOSTNAME\tThe name of the current host."
-
-#: builtins.c:1259
-msgid "HOSTTYPE        The type of CPU this version of Bash is running under."
-msgstr "HOSTTYPE        The type of CPU this version of Bash is running under."
-
-#: builtins.c:1260
-msgid "IGNOREEOF       Controls the action of the shell on receipt of an EOF"
-msgstr "IGNOREEOF       Controls the action of the shell on receipt of an EOF"
-
-#: builtins.c:1261
-msgid "\t\tcharacter as the sole input.  If set, then the value"
-msgstr "\t\tcharacter as the sole input.  If set, then the value"
-
-#: builtins.c:1262
-msgid "\t\tof it is the number of EOF characters that can be seen"
-msgstr "\t\tof it is the number of EOF characters that can be seen"
-
-#: builtins.c:1263
-msgid "\t\tin a row on an empty line before the shell will exit"
-msgstr "\t\tin a row on an empty line before the shell will exit"
-
-#: builtins.c:1264
-msgid "\t\t(default 10).  When unset, EOF signifies the end of input."
-msgstr "\t\t(default 10).  When unset, EOF signifies the end of input."
-
-#: builtins.c:1265
-msgid "MACHTYPE\tA string describing the current system Bash is running on."
-msgstr "MACHTYPE\tA string describing the current system Bash is running on."
-
-#: builtins.c:1266
-msgid "MAILCHECK\tHow often, in seconds, Bash checks for new mail."
-msgstr "MAILCHECK\tHow often, in seconds, Bash checks for new mail."
-
-#: builtins.c:1267
-msgid "MAILPATH\tA colon-separated list of filenames which Bash checks"
-msgstr "MAILPATH\tA colon-separated list of filenames which Bash checks"
-
-#: builtins.c:1268
-msgid "\t\tfor new mail."
-msgstr "\t\tfor new mail."
-
-#: builtins.c:1269
-msgid "OSTYPE\t\tThe version of Unix this version of Bash is running on."
-msgstr "OSTYPE\t\tThe version of Unix this version of Bash is running on."
-
-#: builtins.c:1270
-msgid "PATH            A colon-separated list of directories to search when"
-msgstr "PATH            A colon-separated list of directories to search when"
-
-#: builtins.c:1271
-msgid "\t\tlooking for commands."
-msgstr "\t\tlooking for commands."
-
-#: builtins.c:1272
-msgid "PROMPT_COMMAND  A command to be executed before the printing of each"
-msgstr "PROMPT_COMMAND  A command to be executed before the printing of each"
-
-#: builtins.c:1273
-msgid "\t\tprimary prompt."
-msgstr "\t\tprimary prompt."
-
-#: builtins.c:1274
-msgid "PS1             The primary prompt string."
-msgstr "PS1             The primary prompt string."
-
-#: builtins.c:1275
-msgid "PS2             The secondary prompt string."
-msgstr "PS2             The secondary prompt string."
-
-#: builtins.c:1276
-msgid "PWD\t\tThe full pathname of the current directory."
-msgstr "PWD\t\tThe full pathname of the current directory."
-
-#: builtins.c:1277
-msgid "SHELLOPTS\tA colon-separated list of enabled shell options."
-msgstr "SHELLOPTS\tA colon-separated list of enabled shell options."
-
-#: builtins.c:1278
-msgid "TERM            The name of the current terminal type."
-msgstr "TERM            The name of the current terminal type."
-
-#: builtins.c:1279
-msgid "TIMEFORMAT\tThe output format for timing statistics displayed by the"
-msgstr "TIMEFORMAT\tThe output format for timing statistics displayed by the"
-
-#: builtins.c:1280
-msgid "\t\t`time' reserved word."
-msgstr "\t\t‘\e[1mtime\e[0m’ reserved word."
-
-#: builtins.c:1281
-msgid "auto_resume     Non-null means a command word appearing on a line by"
-msgstr "auto_resume     Non-null means a command word appearing on a line by"
-
-#: builtins.c:1282
-msgid "\t\titself is first looked for in the list of currently"
-msgstr "\t\titself is first looked for in the list of currently"
-
-#: builtins.c:1283
-msgid "\t\tstopped jobs.  If found there, that job is foregrounded."
-msgstr "\t\tstopped jobs.  If found there, that job is foregrounded."
-
-#: builtins.c:1284
-msgid "\t\tA value of `exact' means that the command word must"
-msgstr "\t\tA value of ‘\e[1mexact\e[0m’ means that the command word must"
-
-#: builtins.c:1285
-msgid "\t\texactly match a command in the list of stopped jobs.  A"
-msgstr "\t\texactly match a command in the list of stopped jobs.  A"
-
-#: builtins.c:1286
-msgid "\t\tvalue of `substring' means that the command word must"
-msgstr "\t\tvalue of ‘\e[1msubstring\e[0m’ means that the command word must"
-
-#: builtins.c:1287
-msgid "\t\tmatch a substring of the job.  Any other value means that"
-msgstr "\t\tmatch a substring of the job.  Any other value means that"
-
-#: builtins.c:1288
-msgid "\t\tthe command must be a prefix of a stopped job."
-msgstr "\t\tthe command must be a prefix of a stopped job."
-
-#: builtins.c:1291
-msgid "histchars       Characters controlling history expansion and quick"
-msgstr "histchars       Characters controlling history expansion and quick"
-
-#: builtins.c:1292
-msgid "\t\tsubstitution.  The first character is the history"
-msgstr "\t\tsubstitution.  The first character is the history"
-
-#: builtins.c:1293
-msgid "\t\tsubstitution character, usually `!'.  The second is"
-msgstr "\t\tsubstitution character, usually ‘\e[1m!\e[0m’.  The second is"
-
-#: builtins.c:1294
-msgid "\t\tthe `quick substitution' character, usually `^'.  The"
-msgstr "\t\tthe ‘\e[1mquick substitution\e[0m’ character, usually ‘\e[1m^\e[0m’.  The"
-
-#: builtins.c:1295
-msgid "\t\tthird is the `history comment' character, usually `#'."
-msgstr "\t\tthird is the ‘\e[1mhistory comment\e[0m’ character, usually ‘\e[1m#\e[0m’."
-
-#: builtins.c:1297
-msgid "HISTIGNORE\tA colon-separated list of patterns used to decide which"
-msgstr "HISTIGNORE\tA colon-separated list of patterns used to decide which"
-
-#: builtins.c:1298
-msgid "\t\tcommands should be saved on the history list."
-msgstr "\t\tcommands should be saved on the history list."
-
-#: builtins.c:1310
-msgid "+N\tRotates the stack so that the Nth directory (counting"
-msgstr "+N\tRotates the stack so that the Nth directory (counting"
-
-#: builtins.c:1311
-msgid "\tfrom the left of the list shown by `dirs', starting with"
-msgstr "\tfrom the left of the list shown by ‘\e[1mdirs\e[0m’, starting with"
-
-#: builtins.c:1312 builtins.c:1316
-msgid "\tzero) is at the top."
-msgstr "\tzero) is at the top."
-
-#: builtins.c:1314
-msgid "-N\tRotates the stack so that the Nth directory (counting"
-msgstr "-N\tRotates the stack so that the Nth directory (counting"
-
-#: builtins.c:1315
-msgid "\tfrom the right of the list shown by `dirs', starting with"
-msgstr "\tfrom the right of the list shown by ‘\e[1mdirs\e[0m’, starting with"
-
-#: builtins.c:1318
-msgid "-n\tsuppress the normal change of directory when adding directories"
-msgstr "-n\tsuppress the normal change of directory when adding directories"
-
-#: builtins.c:1319
-msgid "\tto the stack, so only the stack is manipulated."
-msgstr "\tto the stack, so only the stack is manipulated."
-
-#: builtins.c:1321
-msgid "dir\tadds DIR to the directory stack at the top, making it the"
-msgstr "dir\tadds DIR to the directory stack at the top, making it the"
-
-#: builtins.c:1322
-msgid "\tnew current working directory."
-msgstr "\tnew current working directory."
-
-#: builtins.c:1336
-msgid "+N\tremoves the Nth entry counting from the left of the list"
-msgstr "+N\tremoves the Nth entry counting from the left of the list"
-
-#: builtins.c:1337
-msgid "\tshown by `dirs', starting with zero.  For example: `popd +0'"
-msgstr ""
-"\tshown by ‘\e[1mdirs\e[0m’, starting with zero.  For example: ‘\e[1mpopd +0\e[0m’"
-
-#: builtins.c:1338
-msgid "\tremoves the first directory, `popd +1' the second."
-msgstr "\tremoves the first directory, ‘\e[1mpopd +1\e[0m’ the second."
-
-#: builtins.c:1340
-msgid "-N\tremoves the Nth entry counting from the right of the list"
-msgstr "-N\tremoves the Nth entry counting from the right of the list"
+#: builtins.c:1318
+msgid ""
+" Removes entries from the directory stack.  With no arguments,\n"
+"    removes the top directory from the stack, and cd's to the new\n"
+"    top directory.\n"
+"    \n"
+"    +N\tremoves the Nth entry counting from the left of the list\n"
+"    \tshown by `dirs', starting with zero.  For example: `popd +0'\n"
+"    \tremoves the first directory, `popd +1' the second.\n"
+"    \n"
+"    -N\tremoves the Nth entry counting from the right of the list\n"
+"    \tshown by `dirs', starting with zero.  For example: `popd -0'\n"
+"    \tremoves the last directory, `popd -1' the next to last.\n"
+"    \n"
+"    -n\tsuppress the normal change of directory when removing directories\n"
+"    \tfrom the stack, so only the stack is manipulated.\n"
+"    \n"
+"    You can see the directory stack with the `dirs' command."
+msgstr ""
+" Removes entries from the directory stack.  With no arguments,\n"
+"    removes the top directory from the stack, and cd's to the new\n"
+"    top directory.\n"
+"    \n"
+"    +N\tremoves the Nth entry counting from the left of the list\n"
+"    \tshown by ‘\e[1mdirs\e[0m’, starting with zero.  For example: ‘\e[1mpopd +0\e"
+"[0m’\n"
+"    \tremoves the first directory, ‘\e[1mpopd +1\e[0m’ the second.\n"
+"    \n"
+"    -N\tremoves the Nth entry counting from the right of the list\n"
+"    \tshown by ‘\e[1mdirs\e[0m’, starting with zero.  For example: ‘\e[1mpopd -0\e"
+"[0m’\n"
+"    \tremoves the last directory, ‘\e[1mpopd -1\e[0m’ the next to last.\n"
+"    \n"
+"    -n\tsuppress the normal change of directory when removing directories\n"
+"    \tfrom the stack, so only the stack is manipulated.\n"
+"    \n"
+"    You can see the directory stack with the ‘\e[1mdirs\e[0m’ command."
 
 #: builtins.c:1341
-msgid "\tshown by `dirs', starting with zero.  For example: `popd -0'"
-msgstr ""
-"\tshown by ‘\e[1mdirs\e[0m’, starting with zero.  For example: ‘\e[1mpopd -0\e[0m’"
-
-#: builtins.c:1342
-msgid "\tremoves the last directory, `popd -1' the next to last."
-msgstr "\tremoves the last directory, ‘\e[1mpopd -1\e[0m’ the next to last."
-
-#: builtins.c:1344
-msgid "-n\tsuppress the normal change of directory when removing directories"
-msgstr "-n\tsuppress the normal change of directory when removing directories"
-
-#: builtins.c:1345
-msgid "\tfrom the stack, so only the stack is manipulated."
-msgstr "\tfrom the stack, so only the stack is manipulated."
-
-#: builtins.c:1367
-msgid "+N\tdisplays the Nth entry counting from the left of the list shown by"
-msgstr "+N\tdisplays the Nth entry counting from the left of the list shown by"
-
-#: builtins.c:1368 builtins.c:1371
-msgid "\tdirs when invoked without options, starting with zero."
-msgstr "\tdirs when invoked without options, starting with zero."
-
-#: builtins.c:1370
-msgid "-N\tdisplays the Nth entry counting from the right of the list shown by"
-msgstr ""
-"-N\tdisplays the Nth entry counting from the right of the list shown by"
-
-#: builtins.c:1378
-msgid "Toggle the values of variables controlling optional behavior."
-msgstr "Toggle the values of variables controlling optional behavior."
-
-#: builtins.c:1379
-msgid "The -s flag means to enable (set) each OPTNAME; the -u flag"
-msgstr "The -s flag means to enable (set) each OPTNAME; the -u flag"
-
-#: builtins.c:1380
-msgid "unsets each OPTNAME.  The -q flag suppresses output; the exit"
-msgstr "unsets each OPTNAME.  The -q flag suppresses output; the exit"
-
-#: builtins.c:1381
-msgid "status indicates whether each OPTNAME is set or unset.  The -o"
-msgstr "status indicates whether each OPTNAME is set or unset.  The -o"
-
-#: builtins.c:1382
-msgid "option restricts the OPTNAMEs to those defined for use with"
-msgstr "option restricts the OPTNAMEs to those defined for use with"
-
-#: builtins.c:1383
-msgid "`set -o'.  With no options, or with the -p option, a list of all"
-msgstr "‘\e[1mset -o\e[0m’.  With no options, or with the -p option, a list of all"
-
-#: builtins.c:1384
-msgid "settable options is displayed, with an indication of whether or"
-msgstr "settable options is displayed, with an indication of whether or"
-
-#: builtins.c:1385
-msgid "not each is set."
-msgstr "not each is set."
-
-#: builtins.c:1391
-msgid "printf formats and prints ARGUMENTS under control of the FORMAT. FORMAT"
-msgstr ""
-"printf formats and prints ARGUMENTS under control of the FORMAT. FORMAT"
-
-#: builtins.c:1392
-msgid "is a character string which contains three types of objects: plain"
-msgstr "is a character string which contains three types of objects: plain"
-
-#: builtins.c:1393
 msgid ""
-"characters, which are simply copied to standard output, character escape"
-msgstr ""
-"characters, which are simply copied to standard output, character escape"
+" Display the list of currently remembered directories.  Directories\n"
+"    find their way onto the list with the `pushd' command; you can get\n"
+"    back up through the list with the `popd' command.\n"
+"    \n"
+"    The -l flag specifies that `dirs' should not print shorthand versions\n"
+"    of directories which are relative to your home directory.  This means\n"
+"    that `~/bin' might be displayed as `/homes/bfox/bin'.  The -v flag\n"
+"    causes `dirs' to print the directory stack with one entry per line,\n"
+"    prepending the directory name with its position in the stack.  The -p\n"
+"    flag does the same thing, but the stack position is not prepended.\n"
+"    The -c flag clears the directory stack by deleting all of the elements.\n"
+"    \n"
+"    +N\tdisplays the Nth entry counting from the left of the list shown by\n"
+"    \tdirs when invoked without options, starting with zero.\n"
+"    \n"
+"    -N\tdisplays the Nth entry counting from the right of the list shown by\n"
+"    \tdirs when invoked without options, starting with zero."
+msgstr ""
+" Display the list of currently remembered directories.  Directories\n"
+"    find their way onto the list with the ‘\e[1mpushd\e[0m’ command; you can "
+"get\n"
+"    back up through the list with the ‘\e[1mpopd\e[0m’ command.\n"
+"    \n"
+"    The -l flag specifies that ‘\e[1mdirs\e[0m’ should not print shorthand "
+"versions\n"
+"    of directories which are relative to your home directory.  This means\n"
+"    that ‘\e[1m~/bin\e[0m’ might be displayed as ‘\e[1m/homes/bfox/bin\e[0m’.  The -"
+"v flag\n"
+"    causes ‘\e[1mdirs\e[0m’ to print the directory stack with one entry per "
+"line,\n"
+"    prepending the directory name with its position in the stack.  The -p\n"
+"    flag does the same thing, but the stack position is not prepended.\n"
+"    The -c flag clears the directory stack by deleting all of the elements.\n"
+"    \n"
+"    +N\tdisplays the Nth entry counting from the left of the list shown by\n"
+"    \tdirs when invoked without options, starting with zero.\n"
+"    \n"
+"    -N\tdisplays the Nth entry counting from the right of the list shown by\n"
+"    \tdirs when invoked without options, starting with zero."
+
+#: builtins.c:1364
+msgid ""
+" Toggle the values of variables controlling optional behavior.\n"
+"    The -s flag means to enable (set) each OPTNAME; the -u flag\n"
+"    unsets each OPTNAME.  The -q flag suppresses output; the exit\n"
+"    status indicates whether each OPTNAME is set or unset.  The -o\n"
+"    option restricts the OPTNAMEs to those defined for use with\n"
+"    `set -o'.  With no options, or with the -p option, a list of all\n"
+"    settable options is displayed, with an indication of whether or\n"
+"    not each is set."
+msgstr ""
+" Toggle the values of variables controlling optional behavior.\n"
+"    The -s flag means to enable (set) each OPTNAME; the -u flag\n"
+"    unsets each OPTNAME.  The -q flag suppresses output; the exit\n"
+"    status indicates whether each OPTNAME is set or unset.  The -o\n"
+"    option restricts the OPTNAMEs to those defined for use with\n"
+"    ‘\e[1mset -o\e[0m’.  With no options, or with the -p option, a list of all\n"
+"    settable options is displayed, with an indication of whether or\n"
+"    not each is set."
+
+#: builtins.c:1377
+msgid ""
+" printf formats and prints ARGUMENTS under control of the FORMAT. FORMAT\n"
+"    is a character string which contains three types of objects: plain\n"
+"    characters, which are simply copied to standard output, character "
+"escape\n"
+"    sequences which are converted and copied to the standard output, and\n"
+"    format specifications, each of which causes printing of the next "
+"successive\n"
+"    argument.  In addition to the standard printf(1) formats, %b means to\n"
+"    expand backslash escape sequences in the corresponding argument, and %q\n"
+"    means to quote the argument in a way that can be reused as shell input.\n"
+"    If the -v option is supplied, the output is placed into the value of "
+"the\n"
+"    shell variable VAR rather than being sent to the standard output."
+msgstr ""
+" printf formats and prints ARGUMENTS under control of the FORMAT. FORMAT\n"
+"    is a character string which contains three types of objects: plain\n"
+"    characters, which are simply copied to standard output, character "
+"escape\n"
+"    sequences which are converted and copied to the standard output, and\n"
+"    format specifications, each of which causes printing of the next "
+"successive\n"
+"    argument.  In addition to the standard printf(1) formats, %b means to\n"
+"    expand backslash escape sequences in the corresponding argument, and %q\n"
+"    means to quote the argument in a way that can be reused as shell input.\n"
+"    If the -v option is supplied, the output is placed into the value of "
+"the\n"
+"    shell variable VAR rather than being sent to the standard output."
 
-#: builtins.c:1394
-msgid "sequences which are converted and copied to the standard output, and"
-msgstr "sequences which are converted and copied to the standard output, and"
-
-#: builtins.c:1395
+#: builtins.c:1393
 msgid ""
-"format specifications, each of which causes printing of the next successive"
-msgstr ""
-"format specifications, each of which causes printing of the next successive"
-
-#: builtins.c:1396
-msgid "argument.  In addition to the standard printf(1) formats, %b means to"
-msgstr "argument.  In addition to the standard printf(1) formats, %b means to"
-
-#: builtins.c:1397
-msgid "expand backslash escape sequences in the corresponding argument, and %q"
-msgstr ""
-"expand backslash escape sequences in the corresponding argument, and %q"
-
-#: builtins.c:1398
-msgid "means to quote the argument in a way that can be reused as shell input."
+" For each NAME, specify how arguments are to be completed.\n"
+"    If the -p option is supplied, or if no options are supplied, existing\n"
+"    completion specifications are printed in a way that allows them to be\n"
+"    reused as input.  The -r option removes a completion specification for\n"
+"    each NAME, or, if no NAMEs are supplied, all completion specifications."
 msgstr ""
-"means to quote the argument in a way that can be reused as shell input."
+" For each NAME, specify how arguments are to be completed.\n"
+"    If the -p option is supplied, or if no options are supplied, existing\n"
+"    completion specifications are printed in a way that allows them to be\n"
+"    reused as input.  The -r option removes a completion specification for\n"
+"    each NAME, or, if no NAMEs are supplied, all completion specifications."
 
 #: builtins.c:1405
-msgid "For each NAME, specify how arguments are to be completed."
-msgstr "For each NAME, specify how arguments are to be completed."
-
-#: builtins.c:1406
-msgid "If the -p option is supplied, or if no options are supplied, existing"
-msgstr "If the -p option is supplied, or if no options are supplied, existing"
-
-#: builtins.c:1407
-msgid "completion specifications are printed in a way that allows them to be"
-msgstr "completion specifications are printed in a way that allows them to be"
-
-#: builtins.c:1408
-msgid "reused as input.  The -r option removes a completion specification for"
-msgstr "reused as input.  The -r option removes a completion specification for"
-
-#: builtins.c:1409
-msgid "each NAME, or, if no NAMEs are supplied, all completion specifications."
-msgstr ""
-"each NAME, or, if no NAMEs are supplied, all completion specifications."
-
-#: builtins.c:1417
-msgid "Display the possible completions depending on the options.  Intended"
-msgstr "Display the possible completions depending on the options.  Intended"
-
-#: builtins.c:1418
 msgid ""
-"to be used from within a shell function generating possible completions."
-msgstr ""
-"to be used from within a shell function generating possible completions."
-
-#: builtins.c:1419
-msgid "If the optional WORD argument is supplied, matches against WORD are"
-msgstr "If the optional WORD argument is supplied, matches against WORD are"
-
-#: builtins.c:1420
-msgid "generated."
-msgstr "generated."
-
-#~ msgid "This is similar to the `fg' command.  Resume a stopped or background"
-#~ msgstr ""
-#~ "This is similar to the ‘\e[1mfg\e[0m’ command.  Resume a stopped or background"
-
-#, fuzzy
-#~ msgid "places the job in the background."
-#~ msgstr ""
-#~ "job specification with a ‘\e[1m&\e[0m’ places the job in the background."
-
-#~ msgid "`%s': invalid alias name"
-#~ msgstr "‘\e[1m%s\e[0m’: invalid alias name"
-
-#~ msgid "reset to their original values.  If ARG is the null string each"
-#~ msgstr "reset to their original values.  If ARG is the null string each"
-
-#~ msgid "SIGNAL_SPEC is ignored by the shell and by the commands it invokes."
-#~ msgstr "SIGNAL_SPEC is ignored by the shell and by the commands it invokes."
-
-#~ msgid ""
-#~ "If a SIGNAL_SPEC is EXIT (0) the command ARG is executed on exit from"
-#~ msgstr ""
-#~ "If a SIGNAL_SPEC is EXIT (0) the command ARG is executed on exit from"
-
-#~ msgid "the shell.  If a SIGNAL_SPEC is DEBUG, ARG is executed after every"
-#~ msgstr "the shell.  If a SIGNAL_SPEC is DEBUG, ARG is executed after every"
-
-#~ msgid ""
-#~ "each signal number.  Each SIGNAL_SPEC is either a signal name in <signal."
-#~ "h>"
-#~ msgstr ""
-#~ "each signal number.  Each SIGNAL_SPEC is either a signal name in <signal."
-#~ "h>"
-
-#~ msgid ""
-#~ "or a signal number.  `trap -l' prints a list of signal names and their"
-#~ msgstr ""
-#~ "or a signal number.  ‘\e[1mtrap -l\e[0m’ prints a list of signal names and "
-#~ "their"
-
-#~ msgid "corresponding numbers.  Note that a signal can be sent to the shell"
-#~ msgstr "corresponding numbers.  Note that a signal can be sent to the shell"
-
-#~ msgid "with \"kill -signal $$\"."
-#~ msgstr "with “\e[1mkill -signal $$\e[0m”."
-
-#~ msgid "job.  If you specifiy DIGITS, then that job is used.  If you specify"
-#~ msgstr ""
-#~ "job.  If you specifiy DIGITS, then that job is used.  If you specify"
-
-#~ msgid ""
-#~ "WORD, then the job whose name begins with WORD is used.  Following the"
-#~ msgstr ""
-#~ "WORD, then the job whose name begins with WORD is used.  Following the"
-
-#~ msgid "\t\twhen the argument to `cd' is not found in the current"
-#~ msgstr "\t\twhen the argument to ‘\e[1mcd\e[0m’ is not found in the current"
-
-#~ msgid "\t\tdirectory."
-#~ msgstr "\t\tdirectory."
+" Display the possible completions depending on the options.  Intended\n"
+"    to be used from within a shell function generating possible "
+"completions.\n"
+"    If the optional WORD argument is supplied, matches against WORD are\n"
+"    generated."
+msgstr ""
+" Display the possible completions depending on the options.  Intended\n"
+"    to be used from within a shell function generating possible "
+"completions.\n"
+"    If the optional WORD argument is supplied, matches against WORD are\n"
+"    generated."
index 8943753..9dc7c43 100644 (file)
Binary files a/po/en@quot.gmo and b/po/en@quot.gmo differ
index 60d5dca..fd0407c 100644 (file)
@@ -1,7 +1,7 @@
 # English translations for GNU bash package.
-# Copyright (C) 2004 Free Software Foundation, Inc.
+# Copyright (C) 2005 Free Software Foundation, Inc.
 # This file is distributed under the same license as the GNU bash package.
-# Automatically generated, 2004.
+# Automatically generated, 2005.
 #
 # All this catalog "translates" are quotation characters.
 # The msgids must be ASCII and therefore cannot contain real quotation
 # transliterated to apostrophes, and the double quotation marks are
 # transliterated to 0x22.
 #
-#: builtins/caller.def:128 builtins/caller.def:132 builtins/pushd.def:655
-#: builtins/pushd.def:663 builtins/pushd.def:666 builtins/pushd.def:676
-#: builtins/pushd.def:680 builtins/pushd.def:684 builtins/pushd.def:687
-#: builtins/pushd.def:690 builtins/pushd.def:699 builtins/pushd.def:703
-#: builtins/pushd.def:707 builtins/pushd.def:710 builtins.c:321 builtins.c:325
-#: builtins.c:390 builtins.c:392 builtins.c:401 builtins.c:404 builtins.c:408
-#: builtins.c:445 builtins.c:487 builtins.c:491 builtins.c:498 builtins.c:509
-#: builtins.c:513 builtins.c:552 builtins.c:555 builtins.c:559 builtins.c:562
-#: builtins.c:630 builtins.c:637 builtins.c:692 builtins.c:713 builtins.c:718
-#: builtins.c:722 builtins.c:745 builtins.c:835 builtins.c:919 builtins.c:921
-#: builtins.c:943 builtins.c:946 builtins.c:948 builtins.c:950 builtins.c:952
-#: builtins.c:954 builtins.c:957 builtins.c:966 builtins.c:968 builtins.c:973
-#: builtins.c:976 builtins.c:1020 builtins.c:1025 builtins.c:1029
-#: builtins.c:1033 builtins.c:1035 builtins.c:1048 builtins.c:1066
-#: builtins.c:1231 builtins.c:1236 builtins.c:1309 builtins.c:1313
-#: builtins.c:1317 builtins.c:1320 builtins.c:1323 builtins.c:1335
-#: builtins.c:1339 builtins.c:1343 builtins.c:1346 builtins.c:1358
-#: builtins.c:1366 builtins.c:1369
 msgid ""
 msgstr ""
-"Project-Id-Version: GNU bash 3.0-rc1\n"
-"POT-Creation-Date: 2004-09-26 17:34-0400\n"
-"PO-Revision-Date: 2003-12-22 15:34-0500\n"
+"Project-Id-Version: GNU bash 3.1-beta1\n"
+"POT-Creation-Date: 2005-10-03 17:31-0400\n"
+"PO-Revision-Date: 2005-10-03 17:31-0400\n"
 "Last-Translator: Automatically generated\n"
 "Language-Team: none\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Report-Msgid-Bugs-To: bug-bash@gnu.org\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
-#: arrayfunc.c:46
+#: arrayfunc.c:48
 msgid "bad array subscript"
 msgstr "bad array subscript"
 
-#: arrayfunc.c:309
+#: arrayfunc.c:360
 #, c-format
 msgid "%s: cannot assign to non-numeric index"
 msgstr "%s: cannot assign to non-numeric index"
 
-#: bashhist.c:322
+#: bashhist.c:328
 #, c-format
 msgid "%s: cannot create: %s"
 msgstr "%s: cannot create: %s"
 
-#: bashline.c:2923
+#: bashline.c:2947
 msgid "bash_execute_unix_command: cannot find keymap for command"
 msgstr "bash_execute_unix_command: cannot find keymap for command"
 
-#: bashline.c:2972
+#: bashline.c:2996
 #, c-format
 msgid "%s: first non-whitespace character is not `\"'"
 msgstr "%s: first non-whitespace character is not ‘\"’"
 
-#: bashline.c:3001
+#: bashline.c:3025
 #, c-format
 msgid "no closing `%c' in %s"
 msgstr "no closing ‘%c’ in %s"
 
-#: bashline.c:3035
+#: bashline.c:3059
 #, c-format
 msgid "%s: missing colon separator"
 msgstr "%s: missing colon separator"
@@ -123,35 +104,43 @@ msgstr "%s can be invoked via "
 msgid "only meaningful in a `for', `while', or `until' loop"
 msgstr "only meaningful in a ‘for’, ‘while’, or ‘until’ loop"
 
-#: builtins/caller.def:127 builtins.c:320
+#: builtins/caller.def:132
 msgid "Returns the context of the current subroutine call."
 msgstr "Returns the context of the current subroutine call."
 
-#: builtins/caller.def:129 builtins.c:322
+#: builtins/caller.def:133 builtins/caller.def:137 builtins/pushd.def:660
+#: builtins/pushd.def:668 builtins/pushd.def:671 builtins/pushd.def:681
+#: builtins/pushd.def:685 builtins/pushd.def:689 builtins/pushd.def:692
+#: builtins/pushd.def:695 builtins/pushd.def:704 builtins/pushd.def:708
+#: builtins/pushd.def:712 builtins/pushd.def:715
+msgid " "
+msgstr " "
+
+#: builtins/caller.def:134
 msgid "Without EXPR, returns returns \"$line $filename\".  With EXPR,"
 msgstr "Without EXPR, returns returns “$line $filename”.  With EXPR,"
 
-#: builtins/caller.def:130 builtins.c:323
+#: builtins/caller.def:135
 msgid "returns \"$line $subroutine $filename\"; this extra information"
 msgstr "returns “$line $subroutine $filename”; this extra information"
 
-#: builtins/caller.def:131 builtins.c:324
+#: builtins/caller.def:136
 msgid "can be used used to provide a stack trace."
 msgstr "can be used used to provide a stack trace."
 
-#: builtins/caller.def:133 builtins.c:326
+#: builtins/caller.def:138
 msgid "The value of EXPR indicates how many call frames to go back before the"
 msgstr "The value of EXPR indicates how many call frames to go back before the"
 
-#: builtins/caller.def:134 builtins.c:327
+#: builtins/caller.def:139
 msgid "current one; the top frame is frame 0."
 msgstr "current one; the top frame is frame 0."
 
-#: builtins/cd.def:190
+#: builtins/cd.def:203
 msgid "HOME not set"
 msgstr "HOME not set"
 
-#: builtins/cd.def:202
+#: builtins/cd.def:215
 msgid "OLDPWD not set"
 msgstr "OLDPWD not set"
 
@@ -159,7 +148,7 @@ msgstr "OLDPWD not set"
 msgid "too many arguments"
 msgstr "too many arguments"
 
-#: builtins/common.c:157 shell.c:465 shell.c:737
+#: builtins/common.c:157 shell.c:474 shell.c:747
 #, c-format
 msgid "%s: option requires an argument"
 msgstr "%s: option requires an argument"
@@ -174,7 +163,7 @@ msgstr "%s: numeric argument required"
 msgid "%s: not found"
 msgstr "%s: not found"
 
-#: builtins/common.c:180 shell.c:750
+#: builtins/common.c:180 shell.c:760
 #, c-format
 msgid "%s: invalid option"
 msgstr "%s: invalid option"
@@ -261,7 +250,7 @@ msgstr "write error: %s"
 msgid "%s: error retrieving current directory: %s: %s\n"
 msgstr "%s: error retrieving current directory: %s: %s\n"
 
-#: builtins/common.c:548 builtins/common.c:550
+#: builtins/common.c:550 builtins/common.c:552
 #, c-format
 msgid "%s: ambiguous job spec"
 msgstr "%s: ambiguous job spec"
@@ -288,16 +277,16 @@ msgstr "warning: -C option may not work as you expect"
 msgid "can only be used in a function"
 msgstr "can only be used in a function"
 
-#: builtins/declare.def:295
+#: builtins/declare.def:301
 msgid "cannot use `-f' to make functions"
 msgstr "cannot use ‘-f’ to make functions"
 
-#: builtins/declare.def:307 execute_cmd.c:3953
+#: builtins/declare.def:313 execute_cmd.c:3986
 #, c-format
 msgid "%s: readonly function"
 msgstr "%s: readonly function"
 
-#: builtins/declare.def:389
+#: builtins/declare.def:401
 #, c-format
 msgid "%s: cannot destroy array variables in this way"
 msgstr "%s: cannot destroy array variables in this way"
@@ -326,7 +315,7 @@ msgstr "%s: not dynamically loaded"
 msgid "%s: cannot delete: %s"
 msgstr "%s: cannot delete: %s"
 
-#: builtins/evalfile.c:129 execute_cmd.c:3825 shell.c:1396
+#: builtins/evalfile.c:129 execute_cmd.c:3852 shell.c:1408
 #, c-format
 msgid "%s: is a directory"
 msgstr "%s: is a directory"
@@ -351,24 +340,23 @@ msgid "not login shell: use `exit'"
 msgstr "not login shell: use ‘exit’"
 
 #: builtins/exit.def:111
-#, c-format
 msgid "There are stopped jobs.\n"
 msgstr "There are stopped jobs.\n"
 
-#: builtins/fc.def:254
+#: builtins/fc.def:259
 msgid "no command found"
 msgstr "no command found"
 
-#: builtins/fc.def:319
+#: builtins/fc.def:329
 msgid "history specification"
 msgstr "history specification"
 
-#: builtins/fc.def:340
+#: builtins/fc.def:350
 #, c-format
 msgid "%s: cannot open temp file: %s"
 msgstr "%s: cannot open temp file: %s"
 
-#: builtins/fg_bg.def:145
+#: builtins/fg_bg.def:149
 #, c-format
 msgid "job %d started without job control"
 msgstr "job %d started without job control"
@@ -393,12 +381,10 @@ msgid "%s: hash table empty\n"
 msgstr "%s: hash table empty\n"
 
 #: builtins/help.def:108
-#, c-format
 msgid "Shell commands matching keywords `"
 msgstr "Shell commands matching keywords `"
 
 #: builtins/help.def:110
-#, c-format
 msgid "Shell commands matching keyword `"
 msgstr "Shell commands matching keyword `"
 
@@ -415,7 +401,6 @@ msgid "%s: cannot open: %s"
 msgstr "%s: cannot open: %s"
 
 #: builtins/help.def:182
-#, c-format
 msgid ""
 "These shell commands are defined internally.  Type `help' to see this list.\n"
 "Type `help name' to find out more about the function `name'.\n"
@@ -433,15 +418,15 @@ msgstr ""
 "A star (*) next to a name means that the command is disabled.\n"
 "\n"
 
-#: builtins/history.def:148
+#: builtins/history.def:150
 msgid "cannot use more than one of -anrw"
 msgstr "cannot use more than one of -anrw"
 
-#: builtins/history.def:180
+#: builtins/history.def:182
 msgid "history position"
 msgstr "history position"
 
-#: builtins/history.def:390
+#: builtins/history.def:400
 #, c-format
 msgid "%s: history expansion failed"
 msgstr "%s: history expansion failed"
@@ -455,7 +440,7 @@ msgstr "no other options allowed with ‘-x’"
 msgid "%s: arguments must be process or job IDs"
 msgstr "%s: arguments must be process or job IDs"
 
-#: builtins/kill.def:248
+#: builtins/kill.def:250
 msgid "Unknown error"
 msgstr "Unknown error"
 
@@ -463,197 +448,196 @@ msgstr "Unknown error"
 msgid "expression expected"
 msgstr "expression expected"
 
-#: builtins/printf.def:249
+#: builtins/printf.def:327
 #, c-format
 msgid "`%s': missing format character"
 msgstr "‘%s’: missing format character"
 
-#: builtins/printf.def:423
+#: builtins/printf.def:502
 #, c-format
 msgid "`%c': invalid format character"
 msgstr "‘%c’: invalid format character"
 
-#: builtins/printf.def:629
+#: builtins/printf.def:708
 msgid "missing hex digit for \\x"
 msgstr "missing hex digit for \\x"
 
-#: builtins/pushd.def:168
+#: builtins/pushd.def:173
 msgid "no other directory"
 msgstr "no other directory"
 
-#: builtins/pushd.def:435
+#: builtins/pushd.def:440
 msgid "<no current directory>"
 msgstr "<no current directory>"
 
-#: builtins/pushd.def:652 builtins.c:1355
+#: builtins/pushd.def:657
 msgid "Display the list of currently remembered directories.  Directories"
 msgstr "Display the list of currently remembered directories.  Directories"
 
-#: builtins/pushd.def:653 builtins.c:1356
+#: builtins/pushd.def:658
 msgid "find their way onto the list with the `pushd' command; you can get"
 msgstr "find their way onto the list with the ‘pushd’ command; you can get"
 
-#: builtins/pushd.def:654 builtins.c:1357
+#: builtins/pushd.def:659
 msgid "back up through the list with the `popd' command."
 msgstr "back up through the list with the ‘popd’ command."
 
-#: builtins/pushd.def:656 builtins.c:1359
+#: builtins/pushd.def:661
 msgid "The -l flag specifies that `dirs' should not print shorthand versions"
 msgstr "The -l flag specifies that ‘dirs’ should not print shorthand versions"
 
-#: builtins/pushd.def:657 builtins.c:1360
+#: builtins/pushd.def:662
 msgid "of directories which are relative to your home directory.  This means"
 msgstr "of directories which are relative to your home directory.  This means"
 
-#: builtins/pushd.def:658 builtins.c:1361
+#: builtins/pushd.def:663
 msgid "that `~/bin' might be displayed as `/homes/bfox/bin'.  The -v flag"
 msgstr "that ‘~/bin’ might be displayed as ‘/homes/bfox/bin’.  The -v flag"
 
-#: builtins/pushd.def:659 builtins.c:1362
+#: builtins/pushd.def:664
 msgid "causes `dirs' to print the directory stack with one entry per line,"
 msgstr "causes ‘dirs’ to print the directory stack with one entry per line,"
 
-#: builtins/pushd.def:660 builtins.c:1363
+#: builtins/pushd.def:665
 msgid "prepending the directory name with its position in the stack.  The -p"
 msgstr "prepending the directory name with its position in the stack.  The -p"
 
-#: builtins/pushd.def:661 builtins.c:1364
+#: builtins/pushd.def:666
 msgid "flag does the same thing, but the stack position is not prepended."
 msgstr "flag does the same thing, but the stack position is not prepended."
 
-#: builtins/pushd.def:662 builtins.c:1365
+#: builtins/pushd.def:667
 msgid "The -c flag clears the directory stack by deleting all of the elements."
 msgstr ""
 "The -c flag clears the directory stack by deleting all of the elements."
 
-#: builtins/pushd.def:664
+#: builtins/pushd.def:669
 msgid "+N   displays the Nth entry counting from the left of the list shown by"
 msgstr ""
 "+N   displays the Nth entry counting from the left of the list shown by"
 
-#: builtins/pushd.def:665 builtins/pushd.def:668
+#: builtins/pushd.def:670 builtins/pushd.def:673
 msgid "     dirs when invoked without options, starting with zero."
 msgstr "     dirs when invoked without options, starting with zero."
 
-#: builtins/pushd.def:667
+#: builtins/pushd.def:672
 msgid ""
 "-N   displays the Nth entry counting from the right of the list shown by"
 msgstr ""
 "-N   displays the Nth entry counting from the right of the list shown by"
 
-#: builtins/pushd.def:673 builtins.c:1306
+#: builtins/pushd.def:678
 msgid "Adds a directory to the top of the directory stack, or rotates"
 msgstr "Adds a directory to the top of the directory stack, or rotates"
 
-#: builtins/pushd.def:674 builtins.c:1307
+#: builtins/pushd.def:679
 msgid "the stack, making the new top of the stack the current working"
 msgstr "the stack, making the new top of the stack the current working"
 
-#: builtins/pushd.def:675 builtins.c:1308
+#: builtins/pushd.def:680
 msgid "directory.  With no arguments, exchanges the top two directories."
 msgstr "directory.  With no arguments, exchanges the top two directories."
 
-#: builtins/pushd.def:677
+#: builtins/pushd.def:682
 msgid "+N   Rotates the stack so that the Nth directory (counting"
 msgstr "+N   Rotates the stack so that the Nth directory (counting"
 
-#: builtins/pushd.def:678
+#: builtins/pushd.def:683
 msgid "     from the left of the list shown by `dirs', starting with"
 msgstr "     from the left of the list shown by ‘dirs’, starting with"
 
-#: builtins/pushd.def:679 builtins/pushd.def:683
+#: builtins/pushd.def:684 builtins/pushd.def:688
 msgid "     zero) is at the top."
 msgstr "     zero) is at the top."
 
-#: builtins/pushd.def:681
+#: builtins/pushd.def:686
 msgid "-N   Rotates the stack so that the Nth directory (counting"
 msgstr "-N   Rotates the stack so that the Nth directory (counting"
 
-#: builtins/pushd.def:682
+#: builtins/pushd.def:687
 msgid "     from the right of the list shown by `dirs', starting with"
 msgstr "     from the right of the list shown by ‘dirs’, starting with"
 
-#: builtins/pushd.def:685
+#: builtins/pushd.def:690
 msgid "-n   suppress the normal change of directory when adding directories"
 msgstr "-n   suppress the normal change of directory when adding directories"
 
-#: builtins/pushd.def:686
+#: builtins/pushd.def:691
 msgid "     to the stack, so only the stack is manipulated."
 msgstr "     to the stack, so only the stack is manipulated."
 
-#: builtins/pushd.def:688
+#: builtins/pushd.def:693
 msgid "dir  adds DIR to the directory stack at the top, making it the"
 msgstr "dir  adds DIR to the directory stack at the top, making it the"
 
-#: builtins/pushd.def:689
+#: builtins/pushd.def:694
 msgid "     new current working directory."
 msgstr "     new current working directory."
 
-#: builtins/pushd.def:691 builtins/pushd.def:711 builtins.c:1324
-#: builtins.c:1347
+#: builtins/pushd.def:696 builtins/pushd.def:716
 msgid "You can see the directory stack with the `dirs' command."
 msgstr "You can see the directory stack with the ‘dirs’ command."
 
-#: builtins/pushd.def:696 builtins.c:1332
+#: builtins/pushd.def:701
 msgid "Removes entries from the directory stack.  With no arguments,"
 msgstr "Removes entries from the directory stack.  With no arguments,"
 
-#: builtins/pushd.def:697 builtins.c:1333
+#: builtins/pushd.def:702
 msgid "removes the top directory from the stack, and cd's to the new"
 msgstr "removes the top directory from the stack, and cd's to the new"
 
-#: builtins/pushd.def:698 builtins.c:1334
+#: builtins/pushd.def:703
 msgid "top directory."
 msgstr "top directory."
 
-#: builtins/pushd.def:700
+#: builtins/pushd.def:705
 msgid "+N   removes the Nth entry counting from the left of the list"
 msgstr "+N   removes the Nth entry counting from the left of the list"
 
-#: builtins/pushd.def:701
+#: builtins/pushd.def:706
 msgid "     shown by `dirs', starting with zero.  For example: `popd +0'"
 msgstr "     shown by ‘dirs’, starting with zero.  For example: ‘popd +0’"
 
-#: builtins/pushd.def:702
+#: builtins/pushd.def:707
 msgid "     removes the first directory, `popd +1' the second."
 msgstr "     removes the first directory, ‘popd +1’ the second."
 
-#: builtins/pushd.def:704
+#: builtins/pushd.def:709
 msgid "-N   removes the Nth entry counting from the right of the list"
 msgstr "-N   removes the Nth entry counting from the right of the list"
 
-#: builtins/pushd.def:705
+#: builtins/pushd.def:710
 msgid "     shown by `dirs', starting with zero.  For example: `popd -0'"
 msgstr "     shown by ‘dirs’, starting with zero.  For example: ‘popd -0’"
 
-#: builtins/pushd.def:706
+#: builtins/pushd.def:711
 msgid "     removes the last directory, `popd -1' the next to last."
 msgstr "     removes the last directory, ‘popd -1’ the next to last."
 
-#: builtins/pushd.def:708
+#: builtins/pushd.def:713
 msgid "-n   suppress the normal change of directory when removing directories"
 msgstr "-n   suppress the normal change of directory when removing directories"
 
-#: builtins/pushd.def:709
+#: builtins/pushd.def:714
 msgid "     from the stack, so only the stack is manipulated."
 msgstr "     from the stack, so only the stack is manipulated."
 
-#: builtins/read.def:207
+#: builtins/read.def:211
 #, c-format
 msgid "%s: invalid timeout specification"
 msgstr "%s: invalid timeout specification"
 
-#: builtins/read.def:230
+#: builtins/read.def:234
 #, c-format
 msgid "%s: invalid file descriptor specification"
 msgstr "%s: invalid file descriptor specification"
 
-#: builtins/read.def:237
+#: builtins/read.def:241
 #, c-format
 msgid "%d: invalid file descriptor: %s"
 msgstr "%d: invalid file descriptor: %s"
 
-#: builtins/read.def:463
+#: builtins/read.def:474
 #, c-format
 msgid "read error: %d: %s"
 msgstr "read error: %d: %s"
@@ -662,26 +646,26 @@ msgstr "read error: %d: %s"
 msgid "can only `return' from a function or sourced script"
 msgstr "can only ‘return’ from a function or sourced script"
 
-#: builtins/set.def:743
+#: builtins/set.def:745
 msgid "cannot simultaneously unset a function and a variable"
 msgstr "cannot simultaneously unset a function and a variable"
 
-#: builtins/set.def:780
+#: builtins/set.def:782
 #, c-format
 msgid "%s: cannot unset"
 msgstr "%s: cannot unset"
 
-#: builtins/set.def:787
+#: builtins/set.def:789
 #, c-format
 msgid "%s: cannot unset: readonly %s"
 msgstr "%s: cannot unset: readonly %s"
 
-#: builtins/set.def:798
+#: builtins/set.def:800
 #, c-format
 msgid "%s: not an array variable"
 msgstr "%s: not an array variable"
 
-#: builtins/setattr.def:165
+#: builtins/setattr.def:166
 #, c-format
 msgid "%s: not a function"
 msgstr "%s: not a function"
@@ -690,11 +674,11 @@ msgstr "%s: not a function"
 msgid "shift count"
 msgstr "shift count"
 
-#: builtins/shopt.def:226
+#: builtins/shopt.def:227
 msgid "cannot set and unset shell options simultaneously"
 msgstr "cannot set and unset shell options simultaneously"
 
-#: builtins/shopt.def:291
+#: builtins/shopt.def:292
 #, c-format
 msgid "%s: invalid shell option name"
 msgstr "%s: invalid shell option name"
@@ -786,7 +770,6 @@ msgid "last command: %s\n"
 msgstr "last command: %s\n"
 
 #: error.c:173
-#, c-format
 msgid "Aborting..."
 msgstr "Aborting..."
 
@@ -816,42 +799,41 @@ msgstr "bad jump"
 msgid "%s: unbound variable"
 msgstr "%s: unbound variable"
 
-#: eval.c:175
-#, c-format
+#: eval.c:176
 msgid "\atimed out waiting for input: auto-logout\n"
 msgstr "\atimed out waiting for input: auto-logout\n"
 
-#: execute_cmd.c:467
+#: execute_cmd.c:471
 #, c-format
 msgid "cannot redirect standard input from /dev/null: %s"
 msgstr "cannot redirect standard input from /dev/null: %s"
 
-#: execute_cmd.c:1037
+#: execute_cmd.c:1036
 #, c-format
 msgid "TIMEFORMAT: `%c': invalid format character"
 msgstr "TIMEFORMAT: ‘%c’: invalid format character"
 
-#: execute_cmd.c:3525
+#: execute_cmd.c:3551
 #, c-format
 msgid "%s: restricted: cannot specify `/' in command names"
 msgstr "%s: restricted: cannot specify ‘/’ in command names"
 
-#: execute_cmd.c:3613
+#: execute_cmd.c:3639
 #, c-format
 msgid "%s: command not found"
 msgstr "%s: command not found"
 
-#: execute_cmd.c:3843
+#: execute_cmd.c:3876
 #, c-format
 msgid "%s: %s: bad interpreter"
 msgstr "%s: %s: bad interpreter"
 
-#: execute_cmd.c:3880
+#: execute_cmd.c:3913
 #, c-format
 msgid "%s: cannot execute binary file"
 msgstr "%s: cannot execute binary file"
 
-#: execute_cmd.c:3992
+#: execute_cmd.c:4025
 #, c-format
 msgid "cannot duplicate fd %d to fd %d"
 msgstr "cannot duplicate fd %d to fd %d"
@@ -926,42 +908,42 @@ msgstr "cannot allocate new file descriptor for bash input from fd %d"
 msgid "save_bash_input: buffer already exists for new fd %d"
 msgstr "save_bash_input: buffer already exists for new fd %d"
 
-#: jobs.c:694
+#: jobs.c:923
 #, c-format
 msgid "deleting stopped job %d with process group %ld"
 msgstr "deleting stopped job %d with process group %ld"
 
-#: jobs.c:1002
+#: jobs.c:1308
 #, c-format
 msgid "describe_pid: %ld: no such pid"
 msgstr "describe_pid: %ld: no such pid"
 
-#: jobs.c:1635 nojobs.c:648
+#: jobs.c:1981 nojobs.c:648
 #, c-format
 msgid "wait: pid %ld is not a child of this shell"
 msgstr "wait: pid %ld is not a child of this shell"
 
-#: jobs.c:1823
+#: jobs.c:2180
 #, c-format
 msgid "wait_for: No record of process %ld"
 msgstr "wait_for: No record of process %ld"
 
-#: jobs.c:2070
+#: jobs.c:2435
 #, c-format
 msgid "wait_for_job: job %d is stopped"
 msgstr "wait_for_job: job %d is stopped"
 
-#: jobs.c:2292
+#: jobs.c:2657
 #, c-format
 msgid "%s: job has terminated"
 msgstr "%s: job has terminated"
 
-#: jobs.c:2301
+#: jobs.c:2666
 #, c-format
 msgid "%s: job %d already in background"
 msgstr "%s: job %d already in background"
 
-#: jobs.c:3045
+#: jobs.c:3452
 msgid "no job control in this shell"
 msgstr "no job control in this shell"
 
@@ -1012,7 +994,6 @@ msgid "realloc: start and end chunk sizes differ"
 msgstr "realloc: start and end chunk sizes differ"
 
 #: lib/malloc/table.c:175
-#, c-format
 msgid "register_alloc: alloc table is full with FIND_ALLOC?\n"
 msgstr "register_alloc: alloc table is full with FIND_ALLOC?\n"
 
@@ -1087,126 +1068,126 @@ msgstr "You have new mail in $_"
 msgid "The mail in %s has been read\n"
 msgstr "The mail in %s has been read\n"
 
-#: make_cmd.c:318
+#: make_cmd.c:322
 msgid "syntax error: arithmetic expression required"
 msgstr "syntax error: arithmetic expression required"
 
-#: make_cmd.c:320
+#: make_cmd.c:324
 msgid "syntax error: `;' unexpected"
 msgstr "syntax error: ‘;’ unexpected"
 
-#: make_cmd.c:321
+#: make_cmd.c:325
 #, c-format
 msgid "syntax error: `((%s))'"
 msgstr "syntax error: ‘((%s))’"
 
-#: make_cmd.c:561
+#: make_cmd.c:566
 #, c-format
 msgid "make_here_document: bad instruction type %d"
 msgstr "make_here_document: bad instruction type %d"
 
-#: make_cmd.c:731
+#: make_cmd.c:736
 #, c-format
 msgid "make_redirection: redirection instruction `%d' out of range"
 msgstr "make_redirection: redirection instruction ‘%d’ out of range"
 
-#: parse.y:2733
+#: parse.y:2747
 #, c-format
 msgid "unexpected EOF while looking for matching `%c'"
 msgstr "unexpected EOF while looking for matching ‘%c’"
 
-#: parse.y:3018
+#: parse.y:3043
 msgid "unexpected EOF while looking for `]]'"
 msgstr "unexpected EOF while looking for ‘]]’"
 
-#: parse.y:3023
+#: parse.y:3048
 #, c-format
 msgid "syntax error in conditional expression: unexpected token `%s'"
 msgstr "syntax error in conditional expression: unexpected token ‘%s’"
 
-#: parse.y:3027
+#: parse.y:3052
 msgid "syntax error in conditional expression"
 msgstr "syntax error in conditional expression"
 
-#: parse.y:3105
+#: parse.y:3130
 #, c-format
 msgid "unexpected token `%s', expected `)'"
 msgstr "unexpected token ‘%s’, expected ‘)’"
 
-#: parse.y:3109
+#: parse.y:3134
 msgid "expected `)'"
 msgstr "expected ‘)’"
 
-#: parse.y:3137
+#: parse.y:3162
 #, c-format
 msgid "unexpected argument `%s' to conditional unary operator"
 msgstr "unexpected argument ‘%s’ to conditional unary operator"
 
-#: parse.y:3141
+#: parse.y:3166
 msgid "unexpected argument to conditional unary operator"
 msgstr "unexpected argument to conditional unary operator"
 
-#: parse.y:3178
+#: parse.y:3203
 #, c-format
 msgid "unexpected token `%s', conditional binary operator expected"
 msgstr "unexpected token ‘%s’, conditional binary operator expected"
 
-#: parse.y:3182
+#: parse.y:3207
 msgid "conditional binary operator expected"
 msgstr "conditional binary operator expected"
 
-#: parse.y:3198
+#: parse.y:3223
 #, c-format
 msgid "unexpected argument `%s' to conditional binary operator"
 msgstr "unexpected argument ‘%s’ to conditional binary operator"
 
-#: parse.y:3202
+#: parse.y:3227
 msgid "unexpected argument to conditional binary operator"
 msgstr "unexpected argument to conditional binary operator"
 
-#: parse.y:3213
+#: parse.y:3238
 #, c-format
 msgid "unexpected token `%c' in conditional command"
 msgstr "unexpected token ‘%c’ in conditional command"
 
-#: parse.y:3216
+#: parse.y:3241
 #, c-format
 msgid "unexpected token `%s' in conditional command"
 msgstr "unexpected token ‘%s’ in conditional command"
 
-#: parse.y:3220
+#: parse.y:3245
 #, c-format
 msgid "unexpected token %d in conditional command"
 msgstr "unexpected token %d in conditional command"
 
-#: parse.y:4426
+#: parse.y:4461
 #, c-format
 msgid "syntax error near unexpected token `%s'"
 msgstr "syntax error near unexpected token ‘%s’"
 
-#: parse.y:4444
+#: parse.y:4479
 #, c-format
 msgid "syntax error near `%s'"
 msgstr "syntax error near ‘%s’"
 
-#: parse.y:4454
+#: parse.y:4489
 msgid "syntax error: unexpected end of file"
 msgstr "syntax error: unexpected end of file"
 
-#: parse.y:4454
+#: parse.y:4489
 msgid "syntax error"
 msgstr "syntax error"
 
-#: parse.y:4516
+#: parse.y:4551
 #, c-format
 msgid "Use \"%s\" to leave the shell.\n"
 msgstr "Use “%s” to leave the shell.\n"
 
-#: parse.y:4675
+#: parse.y:4710
 msgid "unexpected EOF while looking for matching `)'"
 msgstr "unexpected EOF while looking for matching ‘)’"
 
-#: pcomplete.c:998
+#: pcomplete.c:1001
 #, c-format
 msgid "completion: function `%s' not found"
 msgstr "completion: function ‘%s’ not found"
@@ -1216,12 +1197,12 @@ msgstr "completion: function ‘%s’ not found"
 msgid "progcomp_insert: %s: NULL COMPSPEC"
 msgstr "progcomp_insert: %s: NULL COMPSPEC"
 
-#: print_cmd.c:261
+#: print_cmd.c:264
 #, c-format
 msgid "print_command: bad connector `%d'"
 msgstr "print_command: bad connector ‘%d’"
 
-#: print_cmd.c:1211
+#: print_cmd.c:1236
 #, c-format
 msgid "cprintf: `%c': invalid format character"
 msgstr "cprintf: ‘%c’: invalid format character"
@@ -1254,28 +1235,28 @@ msgstr "cannot create temp file for here document: %s"
 msgid "/dev/(tcp|udp)/host/port not supported without networking"
 msgstr "/dev/(tcp|udp)/host/port not supported without networking"
 
-#: redir.c:949
+#: redir.c:956
 msgid "redirection error: cannot duplicate fd"
 msgstr "redirection error: cannot duplicate fd"
 
-#: shell.c:302
+#: shell.c:309
 msgid "could not find /tmp, please create!"
 msgstr "could not find /tmp, please create!"
 
-#: shell.c:306
+#: shell.c:313
 msgid "/tmp must be a valid directory name"
 msgstr "/tmp must be a valid directory name"
 
-#: shell.c:839
+#: shell.c:849
 #, c-format
 msgid "%c%c: invalid option"
 msgstr "%c%c: invalid option"
 
-#: shell.c:1591
+#: shell.c:1598
 msgid "I have no name!"
 msgstr "I have no name!"
 
-#: shell.c:1726
+#: shell.c:1733
 #, c-format
 msgid ""
 "Usage:\t%s [GNU long option] [option] ...\n"
@@ -1284,114 +1265,113 @@ msgstr ""
 "Usage:\t%s [GNU long option] [option] ...\n"
 "\t%s [GNU long option] [option] script-file ...\n"
 
-#: shell.c:1728
+#: shell.c:1735
 msgid "GNU long options:\n"
 msgstr "GNU long options:\n"
 
-#: shell.c:1732
+#: shell.c:1739
 msgid "Shell options:\n"
 msgstr "Shell options:\n"
 
-#: shell.c:1733
+#: shell.c:1740
 msgid "\t-irsD or -c command or -O shopt_option\t\t(invocation only)\n"
 msgstr "\t-irsD or -c command or -O shopt_option\t\t(invocation only)\n"
 
-#: shell.c:1748
+#: shell.c:1755
 #, c-format
 msgid "\t-%s or -o option\n"
 msgstr "\t-%s or -o option\n"
 
-#: shell.c:1754
+#: shell.c:1761
 #, c-format
 msgid "Type `%s -c \"help set\"' for more information about shell options.\n"
 msgstr "Type ‘%s -c “help set”’ for more information about shell options.\n"
 
-#: shell.c:1755
+#: shell.c:1762
 #, c-format
 msgid "Type `%s -c help' for more information about shell builtin commands.\n"
 msgstr "Type ‘%s -c help’ for more information about shell builtin commands.\n"
 
-#: shell.c:1756
-#, c-format
+#: shell.c:1763
 msgid "Use the `bashbug' command to report bugs.\n"
 msgstr "Use the ‘bashbug’ command to report bugs.\n"
 
-#: sig.c:490
+#: sig.c:494
 #, c-format
 msgid "sigprocmask: %d: invalid operation"
 msgstr "sigprocmask: %d: invalid operation"
 
-#: subst.c:1102
+#: subst.c:1123
 #, c-format
 msgid "bad substitution: no closing `%s' in %s"
 msgstr "bad substitution: no closing ‘%s’ in %s"
 
-#: subst.c:2187
+#: subst.c:2269
 #, c-format
 msgid "%s: cannot assign list to array member"
 msgstr "%s: cannot assign list to array member"
 
-#: subst.c:4026 subst.c:4042
+#: subst.c:4208 subst.c:4224
 msgid "cannot make pipe for process substitution"
 msgstr "cannot make pipe for process substitution"
 
-#: subst.c:4073
+#: subst.c:4255
 msgid "cannot make child for process substitution"
 msgstr "cannot make child for process substitution"
 
-#: subst.c:4118
+#: subst.c:4300
 #, c-format
 msgid "cannot open named pipe %s for reading"
 msgstr "cannot open named pipe %s for reading"
 
-#: subst.c:4120
+#: subst.c:4302
 #, c-format
 msgid "cannot open named pipe %s for writing"
 msgstr "cannot open named pipe %s for writing"
 
-#: subst.c:4128
+#: subst.c:4310
 #, c-format
 msgid "cannout reset nodelay mode for fd %d"
 msgstr "cannout reset nodelay mode for fd %d"
 
-#: subst.c:4138
+#: subst.c:4320
 #, c-format
 msgid "cannot duplicate named pipe %s as fd %d"
 msgstr "cannot duplicate named pipe %s as fd %d"
 
-#: subst.c:4313
+#: subst.c:4495
 msgid "cannot make pipe for command substitution"
 msgstr "cannot make pipe for command substitution"
 
-#: subst.c:4342
+#: subst.c:4531
 msgid "cannot make child for command substitution"
 msgstr "cannot make child for command substitution"
 
-#: subst.c:4359
+#: subst.c:4548
 msgid "command_substitute: cannot duplicate pipe as fd 1"
 msgstr "command_substitute: cannot duplicate pipe as fd 1"
 
-#: subst.c:4802
+#: subst.c:5013
 #, c-format
 msgid "%s: parameter null or not set"
 msgstr "%s: parameter null or not set"
 
-#: subst.c:5068
+#: subst.c:5287
 #, c-format
 msgid "%s: substring expression < 0"
 msgstr "%s: substring expression < 0"
 
-#: subst.c:5791
+#: subst.c:6058
 #, c-format
 msgid "%s: bad substitution"
 msgstr "%s: bad substitution"
 
-#: subst.c:5865
+#: subst.c:6134
 #, c-format
 msgid "$%s: cannot assign in this way"
 msgstr "$%s: cannot assign in this way"
 
-#: subst.c:7325
+#: subst.c:7687
 #, c-format
 msgid "no match: %s"
 msgstr "no match: %s"
@@ -1449,50 +1429,49 @@ msgstr ""
 msgid "trap_handler: bad signal %d"
 msgstr "trap_handler: bad signal %d"
 
-#: variables.c:314
+#: variables.c:320
 #, c-format
 msgid "error importing function definition for `%s'"
 msgstr "error importing function definition for ‘%s’"
 
-#: variables.c:674
+#: variables.c:692
 #, c-format
 msgid "shell level (%d) too high, resetting to 1"
 msgstr "shell level (%d) too high, resetting to 1"
 
-#: variables.c:1617
+#: variables.c:1651
 msgid "make_local_variable: no function context at current scope"
 msgstr "make_local_variable: no function context at current scope"
 
-#: variables.c:2724
+#: variables.c:2807
 msgid "all_local_variables: no function context at current scope"
 msgstr "all_local_variables: no function context at current scope"
 
-#: variables.c:2938 variables.c:2947
+#: variables.c:3021 variables.c:3030
 #, c-format
 msgid "invalid character %d in exportstr for %s"
 msgstr "invalid character %d in exportstr for %s"
 
-#: variables.c:2953
+#: variables.c:3036
 #, c-format
 msgid "no `=' in exportstr for %s"
 msgstr "no ‘=’ in exportstr for %s"
 
-#: variables.c:3378
+#: variables.c:3463
 msgid "pop_var_context: head of shell_variables not a function context"
 msgstr "pop_var_context: head of shell_variables not a function context"
 
-#: variables.c:3391
+#: variables.c:3476
 msgid "pop_var_context: no global_variables context"
 msgstr "pop_var_context: no global_variables context"
 
-#: variables.c:3457
+#: variables.c:3548
 msgid "pop_scope: head of shell_variables not a temporary environment scope"
 msgstr "pop_scope: head of shell_variables not a temporary environment scope"
 
 #: version.c:82
-#, c-format
-msgid "Copyright (C) 2004 Free Software Foundation, Inc.\n"
-msgstr "Copyright (C) 2004 Free Software Foundation, Inc.\n"
+msgid "Copyright (C) 2005 Free Software Foundation, Inc.\n"
+msgstr "Copyright (C) 2005 Free Software Foundation, Inc.\n"
 
 #: xmalloc.c:93
 #, c-format
@@ -1535,2837 +1514,1893 @@ msgid "xrealloc: %s:%d: cannot allocate %lu bytes"
 msgstr "xrealloc: %s:%d: cannot allocate %lu bytes"
 
 #: builtins.c:244
-msgid "`alias' with no arguments or with the -p option prints the list"
-msgstr "‘alias’ with no arguments or with the -p option prints the list"
-
-#: builtins.c:245
-msgid "of aliases in the form alias NAME=VALUE on standard output."
-msgstr "of aliases in the form alias NAME=VALUE on standard output."
-
-#: builtins.c:246
-msgid "Otherwise, an alias is defined for each NAME whose VALUE is given."
-msgstr "Otherwise, an alias is defined for each NAME whose VALUE is given."
-
-#: builtins.c:247
-msgid "A trailing space in VALUE causes the next word to be checked for"
-msgstr "A trailing space in VALUE causes the next word to be checked for"
-
-#: builtins.c:248
-msgid "alias substitution when the alias is expanded.  Alias returns"
-msgstr "alias substitution when the alias is expanded.  Alias returns"
-
-#: builtins.c:249
-msgid "true unless a NAME is given for which no alias has been defined."
-msgstr "true unless a NAME is given for which no alias has been defined."
-
-#: builtins.c:257
-msgid ""
-"Remove NAMEs from the list of defined aliases.  If the -a option is given,"
-msgstr ""
-"Remove NAMEs from the list of defined aliases.  If the -a option is given,"
-
-#: builtins.c:258
-msgid "then remove all alias definitions."
-msgstr "then remove all alias definitions."
-
-#: builtins.c:266
-msgid "Bind a key sequence to a Readline function or a macro, or set"
-msgstr "Bind a key sequence to a Readline function or a macro, or set"
-
-#: builtins.c:267
-msgid "a Readline variable.  The non-option argument syntax is equivalent"
-msgstr "a Readline variable.  The non-option argument syntax is equivalent"
-
-#: builtins.c:268
-msgid "to that found in ~/.inputrc, but must be passed as a single argument:"
-msgstr "to that found in ~/.inputrc, but must be passed as a single argument:"
-
-#: builtins.c:269
-msgid "bind '\"\\C-x\\C-r\": re-read-init-file'."
-msgstr "bind '“\\C-x\\C-r”: re-read-init-file'."
-
-#: builtins.c:270
-msgid "bind accepts the following options:"
-msgstr "bind accepts the following options:"
-
-#: builtins.c:271
 msgid ""
-"  -m  keymap         Use `keymap' as the keymap for the duration of this"
+" `alias' with no arguments or with the -p option prints the list\n"
+"    of aliases in the form alias NAME=VALUE on standard output.\n"
+"    Otherwise, an alias is defined for each NAME whose VALUE is given.\n"
+"    A trailing space in VALUE causes the next word to be checked for\n"
+"    alias substitution when the alias is expanded.  Alias returns\n"
+"    true unless a NAME is given for which no alias has been defined."
 msgstr ""
-"  -m  keymap         Use ‘keymap’ as the keymap for the duration of this"
-
-#: builtins.c:272
-msgid "                     command.  Acceptable keymap names are emacs,"
-msgstr "                     command.  Acceptable keymap names are emacs,"
+" ‘alias’ with no arguments or with the -p option prints the list\n"
+"    of aliases in the form alias NAME=VALUE on standard output.\n"
+"    Otherwise, an alias is defined for each NAME whose VALUE is given.\n"
+"    A trailing space in VALUE causes the next word to be checked for\n"
+"    alias substitution when the alias is expanded.  Alias returns\n"
+"    true unless a NAME is given for which no alias has been defined."
 
-#: builtins.c:273
+#: builtins.c:257
 msgid ""
-"                     emacs-standard, emacs-meta, emacs-ctlx, vi, vi-move,"
+" Remove NAMEs from the list of defined aliases.  If the -a option is given,\n"
+"    then remove all alias definitions."
 msgstr ""
-"                     emacs-standard, emacs-meta, emacs-ctlx, vi, vi-move,"
-
-#: builtins.c:274
-msgid "                     vi-command, and vi-insert."
-msgstr "                     vi-command, and vi-insert."
-
-#: builtins.c:275
-msgid "  -l                 List names of functions."
-msgstr "  -l                 List names of functions."
-
-#: builtins.c:276
-msgid "  -P                 List function names and bindings."
-msgstr "  -P                 List function names and bindings."
+" Remove NAMEs from the list of defined aliases.  If the -a option is given,\n"
+"    then remove all alias definitions."
 
-#: builtins.c:277
-msgid "  -p                 List functions and bindings in a form that can be"
-msgstr "  -p                 List functions and bindings in a form that can be"
-
-#: builtins.c:278
-msgid "                     reused as input."
-msgstr "                     reused as input."
-
-#: builtins.c:279
-msgid "  -r  keyseq         Remove the binding for KEYSEQ."
-msgstr "  -r  keyseq         Remove the binding for KEYSEQ."
-
-#: builtins.c:280
-msgid "  -x  keyseq:shell-command\tCause SHELL-COMMAND to be executed when"
-msgstr "  -x  keyseq:shell-command\tCause SHELL-COMMAND to be executed when"
-
-#: builtins.c:281
-msgid "\t\t\t\tKEYSEQ is entered."
-msgstr "\t\t\t\tKEYSEQ is entered."
-
-#: builtins.c:282
-msgid "  -f  filename       Read key bindings from FILENAME."
-msgstr "  -f  filename       Read key bindings from FILENAME."
-
-#: builtins.c:283
-msgid "  -q  function-name  Query about which keys invoke the named function."
-msgstr "  -q  function-name  Query about which keys invoke the named function."
-
-#: builtins.c:284
+#: builtins.c:266
 msgid ""
-"  -u  function-name  Unbind all keys which are bound to the named function."
-msgstr ""
-"  -u  function-name  Unbind all keys which are bound to the named function."
-
-#: builtins.c:285
-msgid "  -V                 List variable names and values"
-msgstr "  -V                 List variable names and values"
-
-#: builtins.c:286
-msgid "  -v                 List variable names and values in a form that can"
-msgstr "  -v                 List variable names and values in a form that can"
-
-#: builtins.c:287
-msgid "                     be reused as input."
-msgstr "                     be reused as input."
+" Bind a key sequence to a Readline function or a macro, or set\n"
+"    a Readline variable.  The non-option argument syntax is equivalent\n"
+"    to that found in ~/.inputrc, but must be passed as a single argument:\n"
+"    bind '\"\\C-x\\C-r\": re-read-init-file'.\n"
+"    bind accepts the following options:\n"
+"      -m  keymap         Use `keymap' as the keymap for the duration of "
+"this\n"
+"                         command.  Acceptable keymap names are emacs,\n"
+"                         emacs-standard, emacs-meta, emacs-ctlx, vi, vi-"
+"move,\n"
+"                         vi-command, and vi-insert.\n"
+"      -l                 List names of functions.\n"
+"      -P                 List function names and bindings.\n"
+"      -p                 List functions and bindings in a form that can be\n"
+"                         reused as input.\n"
+"      -r  keyseq         Remove the binding for KEYSEQ.\n"
+"      -x  keyseq:shell-command\tCause SHELL-COMMAND to be executed when\n"
+"    \t\t\t\tKEYSEQ is entered.\n"
+"      -f  filename       Read key bindings from FILENAME.\n"
+"      -q  function-name  Query about which keys invoke the named function.\n"
+"      -u  function-name  Unbind all keys which are bound to the named "
+"function.\n"
+"      -V                 List variable names and values\n"
+"      -v                 List variable names and values in a form that can\n"
+"                         be reused as input.\n"
+"      -S                 List key sequences that invoke macros and their "
+"values\n"
+"      -s                 List key sequences that invoke macros and their "
+"values\n"
+"                         in a form that can be reused as input."
+msgstr ""
+" Bind a key sequence to a Readline function or a macro, or set\n"
+"    a Readline variable.  The non-option argument syntax is equivalent\n"
+"    to that found in ~/.inputrc, but must be passed as a single argument:\n"
+"    bind '“\\C-x\\C-r”: re-read-init-file'.\n"
+"    bind accepts the following options:\n"
+"      -m  keymap         Use ‘keymap’ as the keymap for the duration of "
+"this\n"
+"                         command.  Acceptable keymap names are emacs,\n"
+"                         emacs-standard, emacs-meta, emacs-ctlx, vi, vi-"
+"move,\n"
+"                         vi-command, and vi-insert.\n"
+"      -l                 List names of functions.\n"
+"      -P                 List function names and bindings.\n"
+"      -p                 List functions and bindings in a form that can be\n"
+"                         reused as input.\n"
+"      -r  keyseq         Remove the binding for KEYSEQ.\n"
+"      -x  keyseq:shell-command\tCause SHELL-COMMAND to be executed when\n"
+"    \t\t\t\tKEYSEQ is entered.\n"
+"      -f  filename       Read key bindings from FILENAME.\n"
+"      -q  function-name  Query about which keys invoke the named function.\n"
+"      -u  function-name  Unbind all keys which are bound to the named "
+"function.\n"
+"      -V                 List variable names and values\n"
+"      -v                 List variable names and values in a form that can\n"
+"                         be reused as input.\n"
+"      -S                 List key sequences that invoke macros and their "
+"values\n"
+"      -s                 List key sequences that invoke macros and their "
+"values\n"
+"                         in a form that can be reused as input."
 
-#: builtins.c:288
+#: builtins.c:297
 msgid ""
-"  -S                 List key sequences that invoke macros and their values"
+" Exit from within a FOR, WHILE or UNTIL loop.  If N is specified,\n"
+"    break N levels."
 msgstr ""
-"  -S                 List key sequences that invoke macros and their values"
+" Exit from within a FOR, WHILE or UNTIL loop.  If N is specified,\n"
+"    break N levels."
 
-#: builtins.c:289
+#: builtins.c:304
 msgid ""
-"  -s                 List key sequences that invoke macros and their values"
+" Resume the next iteration of the enclosing FOR, WHILE or UNTIL loop.\n"
+"    If N is specified, resume at the N-th enclosing loop."
 msgstr ""
-"  -s                 List key sequences that invoke macros and their values"
-
-#: builtins.c:290
-msgid "                     in a form that can be reused as input."
-msgstr "                     in a form that can be reused as input."
-
-#: builtins.c:297
-msgid "Exit from within a FOR, WHILE or UNTIL loop.  If N is specified,"
-msgstr "Exit from within a FOR, WHILE or UNTIL loop.  If N is specified,"
-
-#: builtins.c:298
-msgid "break N levels."
-msgstr "break N levels."
-
-#: builtins.c:304
-msgid "Resume the next iteration of the enclosing FOR, WHILE or UNTIL loop."
-msgstr "Resume the next iteration of the enclosing FOR, WHILE or UNTIL loop."
-
-#: builtins.c:305
-msgid "If N is specified, resume at the N-th enclosing loop."
-msgstr "If N is specified, resume at the N-th enclosing loop."
+" Resume the next iteration of the enclosing FOR, WHILE or UNTIL loop.\n"
+"    If N is specified, resume at the N-th enclosing loop."
 
 #: builtins.c:311
-msgid "Run a shell builtin.  This is useful when you wish to rename a"
-msgstr "Run a shell builtin.  This is useful when you wish to rename a"
-
-#: builtins.c:312
-msgid "shell builtin to be a function, but need the functionality of the"
-msgstr "shell builtin to be a function, but need the functionality of the"
-
-#: builtins.c:313
-msgid "builtin within the function itself."
-msgstr "builtin within the function itself."
+msgid ""
+" Run a shell builtin.  This is useful when you wish to rename a\n"
+"    shell builtin to be a function, but need the functionality of the\n"
+"    builtin within the function itself."
+msgstr ""
+" Run a shell builtin.  This is useful when you wish to rename a\n"
+"    shell builtin to be a function, but need the functionality of the\n"
+"    builtin within the function itself."
+
+#: builtins.c:320
+msgid ""
+" Returns the context of the current subroutine call.\n"
+"    \n"
+"    Without EXPR, returns returns \"$line $filename\".  With EXPR,\n"
+"    returns \"$line $subroutine $filename\"; this extra information\n"
+"    can be used used to provide a stack trace.\n"
+"    \n"
+"    The value of EXPR indicates how many call frames to go back before the\n"
+"    current one; the top frame is frame 0."
+msgstr ""
+" Returns the context of the current subroutine call.\n"
+"    \n"
+"    Without EXPR, returns returns “$line $filename”.  With EXPR,\n"
+"    returns “$line $subroutine $filename”; this extra information\n"
+"    can be used used to provide a stack trace.\n"
+"    \n"
+"    The value of EXPR indicates how many call frames to go back before the\n"
+"    current one; the top frame is frame 0."
 
 #: builtins.c:334
-msgid "Change the current directory to DIR.  The variable $HOME is the"
-msgstr "Change the current directory to DIR.  The variable $HOME is the"
-
-#: builtins.c:335
-msgid "default DIR.  The variable CDPATH defines the search path for"
-msgstr "default DIR.  The variable CDPATH defines the search path for"
-
-#: builtins.c:336
-msgid "the directory containing DIR.  Alternative directory names in CDPATH"
-msgstr "the directory containing DIR.  Alternative directory names in CDPATH"
-
-#: builtins.c:337
-msgid "are separated by a colon (:).  A null directory name is the same as"
-msgstr "are separated by a colon (:).  A null directory name is the same as"
-
-#: builtins.c:338
-msgid "the current directory, i.e. `.'.  If DIR begins with a slash (/),"
-msgstr "the current directory, i.e. ‘.’.  If DIR begins with a slash (/),"
-
-#: builtins.c:339
-msgid "then CDPATH is not used.  If the directory is not found, and the"
-msgstr "then CDPATH is not used.  If the directory is not found, and the"
-
-#: builtins.c:340
-msgid "shell option `cdable_vars' is set, then try the word as a variable"
-msgstr "shell option ‘cdable_vars’ is set, then try the word as a variable"
-
-#: builtins.c:341
-msgid "name.  If that variable has a value, then cd to the value of that"
-msgstr "name.  If that variable has a value, then cd to the value of that"
-
-#: builtins.c:342
-msgid "variable.  The -P option says to use the physical directory structure"
-msgstr "variable.  The -P option says to use the physical directory structure"
-
-#: builtins.c:343
 msgid ""
-"instead of following symbolic links; the -L option forces symbolic links"
-msgstr ""
-"instead of following symbolic links; the -L option forces symbolic links"
-
-#: builtins.c:344
-msgid "to be followed."
-msgstr "to be followed."
+" Change the current directory to DIR.  The variable $HOME is the\n"
+"    default DIR.  The variable CDPATH defines the search path for\n"
+"    the directory containing DIR.  Alternative directory names in CDPATH\n"
+"    are separated by a colon (:).  A null directory name is the same as\n"
+"    the current directory, i.e. `.'.  If DIR begins with a slash (/),\n"
+"    then CDPATH is not used.  If the directory is not found, and the\n"
+"    shell option `cdable_vars' is set, then try the word as a variable\n"
+"    name.  If that variable has a value, then cd to the value of that\n"
+"    variable.  The -P option says to use the physical directory structure\n"
+"    instead of following symbolic links; the -L option forces symbolic "
+"links\n"
+"    to be followed."
+msgstr ""
+" Change the current directory to DIR.  The variable $HOME is the\n"
+"    default DIR.  The variable CDPATH defines the search path for\n"
+"    the directory containing DIR.  Alternative directory names in CDPATH\n"
+"    are separated by a colon (:).  A null directory name is the same as\n"
+"    the current directory, i.e. ‘.’.  If DIR begins with a slash (/),\n"
+"    then CDPATH is not used.  If the directory is not found, and the\n"
+"    shell option ‘cdable_vars’ is set, then try the word as a variable\n"
+"    name.  If that variable has a value, then cd to the value of that\n"
+"    variable.  The -P option says to use the physical directory structure\n"
+"    instead of following symbolic links; the -L option forces symbolic "
+"links\n"
+"    to be followed."
 
 #: builtins.c:350
-msgid "Print the current working directory.  With the -P option, pwd prints"
-msgstr "Print the current working directory.  With the -P option, pwd prints"
-
-#: builtins.c:351
-msgid "the physical directory, without any symbolic links; the -L option"
-msgstr "the physical directory, without any symbolic links; the -L option"
-
-#: builtins.c:352
-msgid "makes pwd follow symbolic links."
-msgstr "makes pwd follow symbolic links."
+msgid ""
+" Print the current working directory.  With the -P option, pwd prints\n"
+"    the physical directory, without any symbolic links; the -L option\n"
+"    makes pwd follow symbolic links."
+msgstr ""
+" Print the current working directory.  With the -P option, pwd prints\n"
+"    the physical directory, without any symbolic links; the -L option\n"
+"    makes pwd follow symbolic links."
 
 #: builtins.c:358
-msgid "No effect; the command does nothing.  A zero exit code is returned."
-msgstr "No effect; the command does nothing.  A zero exit code is returned."
+msgid " No effect; the command does nothing.  A zero exit code is returned."
+msgstr " No effect; the command does nothing.  A zero exit code is returned."
 
 #: builtins.c:364
-msgid "Return a successful result."
-msgstr "Return a successful result."
+msgid " Return a successful result."
+msgstr " Return a successful result."
 
 #: builtins.c:370
-msgid "Return an unsuccessful result."
-msgstr "Return an unsuccessful result."
+msgid " Return an unsuccessful result."
+msgstr " Return an unsuccessful result."
 
 #: builtins.c:376
-msgid "Runs COMMAND with ARGS ignoring shell functions.  If you have a shell"
-msgstr "Runs COMMAND with ARGS ignoring shell functions.  If you have a shell"
-
-#: builtins.c:377
-msgid "function called `ls', and you wish to call the command `ls', you can"
-msgstr "function called ‘ls’, and you wish to call the command ‘ls’, you can"
-
-#: builtins.c:378
-msgid "say \"command ls\".  If the -p option is given, a default value is used"
-msgstr "say “command ls”.  If the -p option is given, a default value is used"
-
-#: builtins.c:379
-msgid "for PATH that is guaranteed to find all of the standard utilities.  If"
-msgstr "for PATH that is guaranteed to find all of the standard utilities.  If"
-
-#: builtins.c:380
-msgid "the -V or -v option is given, a string is printed describing COMMAND."
-msgstr "the -V or -v option is given, a string is printed describing COMMAND."
-
-#: builtins.c:381
-msgid "The -V option produces a more verbose description."
-msgstr "The -V option produces a more verbose description."
-
-#: builtins.c:387
-msgid "Declare variables and/or give them attributes.  If no NAMEs are"
-msgstr "Declare variables and/or give them attributes.  If no NAMEs are"
-
-#: builtins.c:388
-msgid "given, then display the values of variables instead.  The -p option"
-msgstr "given, then display the values of variables instead.  The -p option"
-
-#: builtins.c:389
-msgid "will display the attributes and values of each NAME."
-msgstr "will display the attributes and values of each NAME."
-
-#: builtins.c:391
-msgid "The flags are:"
-msgstr "The flags are:"
-
-#: builtins.c:393
-msgid "  -a\tto make NAMEs arrays (if supported)"
-msgstr "  -a\tto make NAMEs arrays (if supported)"
-
-#: builtins.c:394
-msgid "  -f\tto select from among function names only"
-msgstr "  -f\tto select from among function names only"
-
-#: builtins.c:395
 msgid ""
-"  -F\tto display function names (and line number and source file name if"
+" Runs COMMAND with ARGS ignoring shell functions.  If you have a shell\n"
+"    function called `ls', and you wish to call the command `ls', you can\n"
+"    say \"command ls\".  If the -p option is given, a default value is used\n"
+"    for PATH that is guaranteed to find all of the standard utilities.  If\n"
+"    the -V or -v option is given, a string is printed describing COMMAND.\n"
+"    The -V option produces a more verbose description."
 msgstr ""
-"  -F\tto display function names (and line number and source file name if"
-
-#: builtins.c:396
-msgid "\tdebugging) without definitions"
-msgstr "\tdebugging) without definitions"
-
-#: builtins.c:397
-msgid "  -i\tto make NAMEs have the `integer' attribute"
-msgstr "  -i\tto make NAMEs have the ‘integer’ attribute"
-
-#: builtins.c:398
-msgid "  -r\tto make NAMEs readonly"
-msgstr "  -r\tto make NAMEs readonly"
-
-#: builtins.c:399
-msgid "  -t\tto make NAMEs have the `trace' attribute"
-msgstr "  -t\tto make NAMEs have the ‘trace’ attribute"
+" Runs COMMAND with ARGS ignoring shell functions.  If you have a shell\n"
+"    function called ‘ls’, and you wish to call the command ‘ls’, you can\n"
+"    say “command ls”.  If the -p option is given, a default value is used\n"
+"    for PATH that is guaranteed to find all of the standard utilities.  If\n"
+"    the -V or -v option is given, a string is printed describing COMMAND.\n"
+"    The -V option produces a more verbose description."
 
-#: builtins.c:400
-msgid "  -x\tto make NAMEs export"
-msgstr "  -x\tto make NAMEs export"
-
-#: builtins.c:402
-msgid "Variables with the integer attribute have arithmetic evaluation (see"
-msgstr "Variables with the integer attribute have arithmetic evaluation (see"
-
-#: builtins.c:403
-msgid "`let') done when the variable is assigned to."
-msgstr "‘let’) done when the variable is assigned to."
-
-#: builtins.c:405
-msgid "When displaying values of variables, -f displays a function's name"
-msgstr "When displaying values of variables, -f displays a function's name"
-
-#: builtins.c:406
-msgid "and definition.  The -F option restricts the display to function"
-msgstr "and definition.  The -F option restricts the display to function"
-
-#: builtins.c:407
-msgid "name only."
-msgstr "name only."
-
-#: builtins.c:409
-msgid "Using `+' instead of `-' turns off the given attribute instead.  When"
-msgstr "Using ‘+’ instead of ‘-’ turns off the given attribute instead.  When"
-
-#: builtins.c:410
-msgid "used in a function, makes NAMEs local, as with the `local' command."
-msgstr "used in a function, makes NAMEs local, as with the ‘local’ command."
+#: builtins.c:387
+msgid ""
+" Declare variables and/or give them attributes.  If no NAMEs are\n"
+"    given, then display the values of variables instead.  The -p option\n"
+"    will display the attributes and values of each NAME.\n"
+"    \n"
+"    The flags are:\n"
+"    \n"
+"      -a\tto make NAMEs arrays (if supported)\n"
+"      -f\tto select from among function names only\n"
+"      -F\tto display function names (and line number and source file name "
+"if\n"
+"    \tdebugging) without definitions\n"
+"      -i\tto make NAMEs have the `integer' attribute\n"
+"      -r\tto make NAMEs readonly\n"
+"      -t\tto make NAMEs have the `trace' attribute\n"
+"      -x\tto make NAMEs export\n"
+"    \n"
+"    Variables with the integer attribute have arithmetic evaluation (see\n"
+"    `let') done when the variable is assigned to.\n"
+"    \n"
+"    When displaying values of variables, -f displays a function's name\n"
+"    and definition.  The -F option restricts the display to function\n"
+"    name only.\n"
+"    \n"
+"    Using `+' instead of `-' turns off the given attribute instead.  When\n"
+"    used in a function, makes NAMEs local, as with the `local' command."
+msgstr ""
+" Declare variables and/or give them attributes.  If no NAMEs are\n"
+"    given, then display the values of variables instead.  The -p option\n"
+"    will display the attributes and values of each NAME.\n"
+"    \n"
+"    The flags are:\n"
+"    \n"
+"      -a\tto make NAMEs arrays (if supported)\n"
+"      -f\tto select from among function names only\n"
+"      -F\tto display function names (and line number and source file name "
+"if\n"
+"    \tdebugging) without definitions\n"
+"      -i\tto make NAMEs have the ‘integer’ attribute\n"
+"      -r\tto make NAMEs readonly\n"
+"      -t\tto make NAMEs have the ‘trace’ attribute\n"
+"      -x\tto make NAMEs export\n"
+"    \n"
+"    Variables with the integer attribute have arithmetic evaluation (see\n"
+"    ‘let’) done when the variable is assigned to.\n"
+"    \n"
+"    When displaying values of variables, -f displays a function's name\n"
+"    and definition.  The -F option restricts the display to function\n"
+"    name only.\n"
+"    \n"
+"    Using ‘+’ instead of ‘-’ turns off the given attribute instead.  When\n"
+"    used in a function, makes NAMEs local, as with the ‘local’ command."
 
 #: builtins.c:416
-msgid "Obsolete.  See `declare'."
-msgstr "Obsolete.  See ‘declare’."
+msgid " Obsolete.  See `declare'."
+msgstr " Obsolete.  See ‘declare’."
 
 #: builtins.c:422
-msgid "Create a local variable called NAME, and give it VALUE.  LOCAL"
-msgstr "Create a local variable called NAME, and give it VALUE.  LOCAL"
-
-#: builtins.c:423
-msgid "can only be used within a function; it makes the variable NAME"
-msgstr "can only be used within a function; it makes the variable NAME"
-
-#: builtins.c:424
-msgid "have a visible scope restricted to that function and its children."
-msgstr "have a visible scope restricted to that function and its children."
+msgid ""
+" Create a local variable called NAME, and give it VALUE.  LOCAL\n"
+"    can only be used within a function; it makes the variable NAME\n"
+"    have a visible scope restricted to that function and its children."
+msgstr ""
+" Create a local variable called NAME, and give it VALUE.  LOCAL\n"
+"    can only be used within a function; it makes the variable NAME\n"
+"    have a visible scope restricted to that function and its children."
 
 #: builtins.c:431
-msgid "Output the ARGs.  If -n is specified, the trailing newline is"
-msgstr "Output the ARGs.  If -n is specified, the trailing newline is"
-
-#: builtins.c:432
-msgid "suppressed.  If the -e option is given, interpretation of the"
-msgstr "suppressed.  If the -e option is given, interpretation of the"
-
-#: builtins.c:433
-msgid "following backslash-escaped characters is turned on:"
-msgstr "following backslash-escaped characters is turned on:"
-
-#: builtins.c:434
-msgid "\t\\a\talert (bell)"
-msgstr "\t\\a\talert (bell)"
-
-#: builtins.c:435
-msgid "\t\\b\tbackspace"
-msgstr "\t\\b\tbackspace"
-
-#: builtins.c:436
-msgid "\t\\c\tsuppress trailing newline"
-msgstr "\t\\c\tsuppress trailing newline"
-
-#: builtins.c:437
-msgid "\t\\E\tescape character"
-msgstr "\t\\E\tescape character"
-
-#: builtins.c:438
-msgid "\t\\f\tform feed"
-msgstr "\t\\f\tform feed"
-
-#: builtins.c:439
-msgid "\t\\n\tnew line"
-msgstr "\t\\n\tnew line"
-
-#: builtins.c:440
-msgid "\t\\r\tcarriage return"
-msgstr "\t\\r\tcarriage return"
-
-#: builtins.c:441
-msgid "\t\\t\thorizontal tab"
-msgstr "\t\\t\thorizontal tab"
-
-#: builtins.c:442
-msgid "\t\\v\tvertical tab"
-msgstr "\t\\v\tvertical tab"
-
-#: builtins.c:443
-msgid "\t\\\\\tbackslash"
-msgstr "\t\\\\\tbackslash"
-
-#: builtins.c:444
-msgid "\t\\num\tthe character whose ASCII code is NUM (octal)."
-msgstr "\t\\num\tthe character whose ASCII code is NUM (octal)."
-
-#: builtins.c:446
-msgid "You can explicitly turn off the interpretation of the above characters"
-msgstr "You can explicitly turn off the interpretation of the above characters"
-
-#: builtins.c:447
-msgid "with the -E option."
-msgstr "with the -E option."
+msgid ""
+" Output the ARGs.  If -n is specified, the trailing newline is\n"
+"    suppressed.  If the -e option is given, interpretation of the\n"
+"    following backslash-escaped characters is turned on:\n"
+"    \t\\a\talert (bell)\n"
+"    \t\\b\tbackspace\n"
+"    \t\\c\tsuppress trailing newline\n"
+"    \t\\E\tescape character\n"
+"    \t\\f\tform feed\n"
+"    \t\\n\tnew line\n"
+"    \t\\r\tcarriage return\n"
+"    \t\\t\thorizontal tab\n"
+"    \t\\v\tvertical tab\n"
+"    \t\\\\\tbackslash\n"
+"    \t\\num\tthe character whose ASCII code is NUM (octal).\n"
+"    \n"
+"    You can explicitly turn off the interpretation of the above characters\n"
+"    with the -E option."
+msgstr ""
+" Output the ARGs.  If -n is specified, the trailing newline is\n"
+"    suppressed.  If the -e option is given, interpretation of the\n"
+"    following backslash-escaped characters is turned on:\n"
+"    \t\\a\talert (bell)\n"
+"    \t\\b\tbackspace\n"
+"    \t\\c\tsuppress trailing newline\n"
+"    \t\\E\tescape character\n"
+"    \t\\f\tform feed\n"
+"    \t\\n\tnew line\n"
+"    \t\\r\tcarriage return\n"
+"    \t\\t\thorizontal tab\n"
+"    \t\\v\tvertical tab\n"
+"    \t\\\\\tbackslash\n"
+"    \t\\num\tthe character whose ASCII code is NUM (octal).\n"
+"    \n"
+"    You can explicitly turn off the interpretation of the above characters\n"
+"    with the -E option."
 
 #: builtins.c:455
 msgid ""
-"Output the ARGs.  If -n is specified, the trailing newline is suppressed."
+" Output the ARGs.  If -n is specified, the trailing newline is suppressed."
 msgstr ""
-"Output the ARGs.  If -n is specified, the trailing newline is suppressed."
+" Output the ARGs.  If -n is specified, the trailing newline is suppressed."
 
 #: builtins.c:462
-msgid "Enable and disable builtin shell commands.  This allows"
-msgstr "Enable and disable builtin shell commands.  This allows"
-
-#: builtins.c:463
-msgid "you to use a disk command which has the same name as a shell"
-msgstr "you to use a disk command which has the same name as a shell"
-
-#: builtins.c:464
-msgid "builtin without specifying a full pathname.  If -n is used, the"
-msgstr "builtin without specifying a full pathname.  If -n is used, the"
-
-#: builtins.c:465
-msgid "NAMEs become disabled; otherwise NAMEs are enabled.  For example,"
-msgstr "NAMEs become disabled; otherwise NAMEs are enabled.  For example,"
-
-#: builtins.c:466
-msgid "to use the `test' found in $PATH instead of the shell builtin"
-msgstr "to use the ‘test’ found in $PATH instead of the shell builtin"
+msgid ""
+" Enable and disable builtin shell commands.  This allows\n"
+"    you to use a disk command which has the same name as a shell\n"
+"    builtin without specifying a full pathname.  If -n is used, the\n"
+"    NAMEs become disabled; otherwise NAMEs are enabled.  For example,\n"
+"    to use the `test' found in $PATH instead of the shell builtin\n"
+"    version, type `enable -n test'.  On systems supporting dynamic\n"
+"    loading, the -f option may be used to load new builtins from the\n"
+"    shared object FILENAME.  The -d option will delete a builtin\n"
+"    previously loaded with -f.  If no non-option names are given, or\n"
+"    the -p option is supplied, a list of builtins is printed.  The\n"
+"    -a option means to print every builtin with an indication of whether\n"
+"    or not it is enabled.  The -s option restricts the output to the "
+"POSIX.2\n"
+"    `special' builtins.  The -n option displays a list of all disabled "
+"builtins."
+msgstr ""
+" Enable and disable builtin shell commands.  This allows\n"
+"    you to use a disk command which has the same name as a shell\n"
+"    builtin without specifying a full pathname.  If -n is used, the\n"
+"    NAMEs become disabled; otherwise NAMEs are enabled.  For example,\n"
+"    to use the ‘test’ found in $PATH instead of the shell builtin\n"
+"    version, type ‘enable -n test’.  On systems supporting dynamic\n"
+"    loading, the -f option may be used to load new builtins from the\n"
+"    shared object FILENAME.  The -d option will delete a builtin\n"
+"    previously loaded with -f.  If no non-option names are given, or\n"
+"    the -p option is supplied, a list of builtins is printed.  The\n"
+"    -a option means to print every builtin with an indication of whether\n"
+"    or not it is enabled.  The -s option restricts the output to the "
+"POSIX.2\n"
+"    ‘special’ builtins.  The -n option displays a list of all disabled "
+"builtins."
 
-#: builtins.c:467
-msgid "version, type `enable -n test'.  On systems supporting dynamic"
-msgstr "version, type ‘enable -n test’.  On systems supporting dynamic"
+#: builtins.c:480
+msgid " Read ARGs as input to the shell and execute the resulting command(s)."
+msgstr " Read ARGs as input to the shell and execute the resulting command(s)."
 
-#: builtins.c:468
-msgid "loading, the -f option may be used to load new builtins from the"
-msgstr "loading, the -f option may be used to load new builtins from the"
+#: builtins.c:486
+msgid ""
+" Getopts is used by shell procedures to parse positional parameters.\n"
+"    \n"
+"    OPTSTRING contains the option letters to be recognized; if a letter\n"
+"    is followed by a colon, the option is expected to have an argument,\n"
+"    which should be separated from it by white space.\n"
+"    \n"
+"    Each time it is invoked, getopts will place the next option in the\n"
+"    shell variable $name, initializing name if it does not exist, and\n"
+"    the index of the next argument to be processed into the shell\n"
+"    variable OPTIND.  OPTIND is initialized to 1 each time the shell or\n"
+"    a shell script is invoked.  When an option requires an argument,\n"
+"    getopts places that argument into the shell variable OPTARG.\n"
+"    \n"
+"    getopts reports errors in one of two ways.  If the first character\n"
+"    of OPTSTRING is a colon, getopts uses silent error reporting.  In\n"
+"    this mode, no error messages are printed.  If an invalid option is\n"
+"    seen, getopts places the option character found into OPTARG.  If a\n"
+"    required argument is not found, getopts places a ':' into NAME and\n"
+"    sets OPTARG to the option character found.  If getopts is not in\n"
+"    silent mode, and an invalid option is seen, getopts places '?' into\n"
+"    NAME and unsets OPTARG.  If a required argument is not found, a '?'\n"
+"    is placed in NAME, OPTARG is unset, and a diagnostic message is\n"
+"    printed.\n"
+"    \n"
+"    If the shell variable OPTERR has the value 0, getopts disables the\n"
+"    printing of error messages, even if the first character of\n"
+"    OPTSTRING is not a colon.  OPTERR has the value 1 by default.\n"
+"    \n"
+"    Getopts normally parses the positional parameters ($0 - $9), but if\n"
+"    more arguments are given, they are parsed instead."
+msgstr ""
+" Getopts is used by shell procedures to parse positional parameters.\n"
+"    \n"
+"    OPTSTRING contains the option letters to be recognized; if a letter\n"
+"    is followed by a colon, the option is expected to have an argument,\n"
+"    which should be separated from it by white space.\n"
+"    \n"
+"    Each time it is invoked, getopts will place the next option in the\n"
+"    shell variable $name, initializing name if it does not exist, and\n"
+"    the index of the next argument to be processed into the shell\n"
+"    variable OPTIND.  OPTIND is initialized to 1 each time the shell or\n"
+"    a shell script is invoked.  When an option requires an argument,\n"
+"    getopts places that argument into the shell variable OPTARG.\n"
+"    \n"
+"    getopts reports errors in one of two ways.  If the first character\n"
+"    of OPTSTRING is a colon, getopts uses silent error reporting.  In\n"
+"    this mode, no error messages are printed.  If an invalid option is\n"
+"    seen, getopts places the option character found into OPTARG.  If a\n"
+"    required argument is not found, getopts places a ‘:’ into NAME and\n"
+"    sets OPTARG to the option character found.  If getopts is not in\n"
+"    silent mode, and an invalid option is seen, getopts places ‘?’ into\n"
+"    NAME and unsets OPTARG.  If a required argument is not found, a ‘?’\n"
+"    is placed in NAME, OPTARG is unset, and a diagnostic message is\n"
+"    printed.\n"
+"    \n"
+"    If the shell variable OPTERR has the value 0, getopts disables the\n"
+"    printing of error messages, even if the first character of\n"
+"    OPTSTRING is not a colon.  OPTERR has the value 1 by default.\n"
+"    \n"
+"    Getopts normally parses the positional parameters ($0 - $9), but if\n"
+"    more arguments are given, they are parsed instead."
 
-#: builtins.c:469
-msgid "shared object FILENAME.  The -d option will delete a builtin"
-msgstr "shared object FILENAME.  The -d option will delete a builtin"
+#: builtins.c:521
+msgid ""
+" Exec FILE, replacing this shell with the specified program.\n"
+"    If FILE is not specified, the redirections take effect in this\n"
+"    shell.  If the first argument is `-l', then place a dash in the\n"
+"    zeroth arg passed to FILE, as login does.  If the `-c' option\n"
+"    is supplied, FILE is executed with a null environment.  The `-a'\n"
+"    option means to make set argv[0] of the executed process to NAME.\n"
+"    If the file cannot be executed and the shell is not interactive,\n"
+"    then the shell exits, unless the shell option `execfail' is set."
+msgstr ""
+" Exec FILE, replacing this shell with the specified program.\n"
+"    If FILE is not specified, the redirections take effect in this\n"
+"    shell.  If the first argument is ‘-l’, then place a dash in the\n"
+"    zeroth arg passed to FILE, as login does.  If the ‘-c’ option\n"
+"    is supplied, FILE is executed with a null environment.  The ‘-a’\n"
+"    option means to make set argv[0] of the executed process to NAME.\n"
+"    If the file cannot be executed and the shell is not interactive,\n"
+"    then the shell exits, unless the shell option ‘execfail’ is set."
 
-#: builtins.c:470
-msgid "previously loaded with -f.  If no non-option names are given, or"
-msgstr "previously loaded with -f.  If no non-option names are given, or"
+#: builtins.c:534
+msgid ""
+" Exit the shell with a status of N.  If N is omitted, the exit status\n"
+"    is that of the last command executed."
+msgstr ""
+" Exit the shell with a status of N.  If N is omitted, the exit status\n"
+"    is that of the last command executed."
 
-#: builtins.c:471
-msgid "the -p option is supplied, a list of builtins is printed.  The"
-msgstr "the -p option is supplied, a list of builtins is printed.  The"
+#: builtins.c:541
+msgid " Logout of a login shell."
+msgstr " Logout of a login shell."
 
-#: builtins.c:472
-msgid "-a option means to print every builtin with an indication of whether"
-msgstr "-a option means to print every builtin with an indication of whether"
+#: builtins.c:548
+msgid ""
+" fc is used to list or edit and re-execute commands from the history list.\n"
+"    FIRST and LAST can be numbers specifying the range, or FIRST can be a\n"
+"    string, which means the most recent command beginning with that\n"
+"    string.\n"
+"    \n"
+"       -e ENAME selects which editor to use.  Default is FCEDIT, then "
+"EDITOR,\n"
+"          then vi.\n"
+"    \n"
+"       -l means list lines instead of editing.\n"
+"       -n means no line numbers listed.\n"
+"       -r means reverse the order of the lines (making it newest listed "
+"first).\n"
+"    \n"
+"    With the `fc -s [pat=rep ...] [command]' format, the command is\n"
+"    re-executed after the substitution OLD=NEW is performed.\n"
+"    \n"
+"    A useful alias to use with this is r='fc -s', so that typing `r cc'\n"
+"    runs the last command beginning with `cc' and typing `r' re-executes\n"
+"    the last command."
+msgstr ""
+" fc is used to list or edit and re-execute commands from the history list.\n"
+"    FIRST and LAST can be numbers specifying the range, or FIRST can be a\n"
+"    string, which means the most recent command beginning with that\n"
+"    string.\n"
+"    \n"
+"       -e ENAME selects which editor to use.  Default is FCEDIT, then "
+"EDITOR,\n"
+"          then vi.\n"
+"    \n"
+"       -l means list lines instead of editing.\n"
+"       -n means no line numbers listed.\n"
+"       -r means reverse the order of the lines (making it newest listed "
+"first).\n"
+"    \n"
+"    With the ‘fc -s [pat=rep ...] [command]’ format, the command is\n"
+"    re-executed after the substitution OLD=NEW is performed.\n"
+"    \n"
+"    A useful alias to use with this is r='fc -s', so that typing ‘r cc’\n"
+"    runs the last command beginning with ‘cc’ and typing ‘r’ re-executes\n"
+"    the last command."
 
-#: builtins.c:473
+#: builtins.c:573
 msgid ""
-"or not it is enabled.  The -s option restricts the output to the POSIX.2"
+" Place JOB_SPEC in the foreground, and make it the current job.  If\n"
+"    JOB_SPEC is not present, the shell's notion of the current job is\n"
+"    used."
 msgstr ""
-"or not it is enabled.  The -s option restricts the output to the POSIX.2"
+" Place JOB_SPEC in the foreground, and make it the current job.  If\n"
+"    JOB_SPEC is not present, the shell's notion of the current job is\n"
+"    used."
 
-#: builtins.c:474
+#: builtins.c:583
 msgid ""
-"`special' builtins.  The -n option displays a list of all disabled builtins."
+" Place each JOB_SPEC in the background, as if it had been started with\n"
+"    `&'.  If JOB_SPEC is not present, the shell's notion of the current\n"
+"    job is used."
 msgstr ""
-"‘special’ builtins.  The -n option displays a list of all disabled builtins."
-
-#: builtins.c:480
-msgid "Read ARGs as input to the shell and execute the resulting command(s)."
-msgstr "Read ARGs as input to the shell and execute the resulting command(s)."
-
-#: builtins.c:486
-msgid "Getopts is used by shell procedures to parse positional parameters."
-msgstr "Getopts is used by shell procedures to parse positional parameters."
-
-#: builtins.c:488
-msgid "OPTSTRING contains the option letters to be recognized; if a letter"
-msgstr "OPTSTRING contains the option letters to be recognized; if a letter"
-
-#: builtins.c:489
-msgid "is followed by a colon, the option is expected to have an argument,"
-msgstr "is followed by a colon, the option is expected to have an argument,"
-
-#: builtins.c:490
-msgid "which should be separated from it by white space."
-msgstr "which should be separated from it by white space."
-
-#: builtins.c:492
-msgid "Each time it is invoked, getopts will place the next option in the"
-msgstr "Each time it is invoked, getopts will place the next option in the"
-
-#: builtins.c:493
-msgid "shell variable $name, initializing name if it does not exist, and"
-msgstr "shell variable $name, initializing name if it does not exist, and"
-
-#: builtins.c:494
-msgid "the index of the next argument to be processed into the shell"
-msgstr "the index of the next argument to be processed into the shell"
-
-#: builtins.c:495
-msgid "variable OPTIND.  OPTIND is initialized to 1 each time the shell or"
-msgstr "variable OPTIND.  OPTIND is initialized to 1 each time the shell or"
-
-#: builtins.c:496
-msgid "a shell script is invoked.  When an option requires an argument,"
-msgstr "a shell script is invoked.  When an option requires an argument,"
-
-#: builtins.c:497
-msgid "getopts places that argument into the shell variable OPTARG."
-msgstr "getopts places that argument into the shell variable OPTARG."
-
-#: builtins.c:499
-msgid "getopts reports errors in one of two ways.  If the first character"
-msgstr "getopts reports errors in one of two ways.  If the first character"
-
-#: builtins.c:500
-msgid "of OPTSTRING is a colon, getopts uses silent error reporting.  In"
-msgstr "of OPTSTRING is a colon, getopts uses silent error reporting.  In"
-
-#: builtins.c:501
-msgid "this mode, no error messages are printed.  If an invalid option is"
-msgstr "this mode, no error messages are printed.  If an invalid option is"
-
-#: builtins.c:502
-msgid "seen, getopts places the option character found into OPTARG.  If a"
-msgstr "seen, getopts places the option character found into OPTARG.  If a"
+" Place each JOB_SPEC in the background, as if it had been started with\n"
+"    ‘&’.  If JOB_SPEC is not present, the shell's notion of the current\n"
+"    job is used."
 
-#: builtins.c:503
-msgid "required argument is not found, getopts places a ':' into NAME and"
-msgstr "required argument is not found, getopts places a ‘:’ into NAME and"
-
-#: builtins.c:504
-msgid "sets OPTARG to the option character found.  If getopts is not in"
-msgstr "sets OPTARG to the option character found.  If getopts is not in"
-
-#: builtins.c:505
-msgid "silent mode, and an invalid option is seen, getopts places '?' into"
-msgstr "silent mode, and an invalid option is seen, getopts places ‘?’ into"
+#: builtins.c:592
+msgid ""
+" For each NAME, the full pathname of the command is determined and\n"
+"    remembered.  If the -p option is supplied, PATHNAME is used as the\n"
+"    full pathname of NAME, and no path search is performed.  The -r\n"
+"    option causes the shell to forget all remembered locations.  The -d\n"
+"    option causes the shell to forget the remembered location of each NAME.\n"
+"    If the -t option is supplied the full pathname to which each NAME\n"
+"    corresponds is printed.  If multiple NAME arguments are supplied with\n"
+"    -t, the NAME is printed before the hashed full pathname.  The -l option\n"
+"    causes output to be displayed in a format that may be reused as input.\n"
+"    If no arguments are given, information about remembered commands is "
+"displayed."
+msgstr ""
+" For each NAME, the full pathname of the command is determined and\n"
+"    remembered.  If the -p option is supplied, PATHNAME is used as the\n"
+"    full pathname of NAME, and no path search is performed.  The -r\n"
+"    option causes the shell to forget all remembered locations.  The -d\n"
+"    option causes the shell to forget the remembered location of each NAME.\n"
+"    If the -t option is supplied the full pathname to which each NAME\n"
+"    corresponds is printed.  If multiple NAME arguments are supplied with\n"
+"    -t, the NAME is printed before the hashed full pathname.  The -l option\n"
+"    causes output to be displayed in a format that may be reused as input.\n"
+"    If no arguments are given, information about remembered commands is "
+"displayed."
 
-#: builtins.c:506
-msgid "NAME and unsets OPTARG.  If a required argument is not found, a '?'"
-msgstr "NAME and unsets OPTARG.  If a required argument is not found, a ‘?’"
+#: builtins.c:608
+msgid ""
+" Display helpful information about builtin commands.  If PATTERN is\n"
+"    specified, gives detailed help on all commands matching PATTERN,\n"
+"    otherwise a list of the builtins is printed.  The -s option\n"
+"    restricts the output for each builtin command matching PATTERN to\n"
+"    a short usage synopsis."
+msgstr ""
+" Display helpful information about builtin commands.  If PATTERN is\n"
+"    specified, gives detailed help on all commands matching PATTERN,\n"
+"    otherwise a list of the builtins is printed.  The -s option\n"
+"    restricts the output for each builtin command matching PATTERN to\n"
+"    a short usage synopsis."
 
-#: builtins.c:507
-msgid "is placed in NAME, OPTARG is unset, and a diagnostic message is"
-msgstr "is placed in NAME, OPTARG is unset, and a diagnostic message is"
+#: builtins.c:620
+msgid ""
+" Display the history list with line numbers.  Lines listed with\n"
+"    with a `*' have been modified.  Argument of N says to list only\n"
+"    the last N lines.  The `-c' option causes the history list to be\n"
+"    cleared by deleting all of the entries.  The `-d' option deletes\n"
+"    the history entry at offset OFFSET.  The `-w' option writes out the\n"
+"    current history to the history file;  `-r' means to read the file and\n"
+"    append the contents to the history list instead.  `-a' means\n"
+"    to append history lines from this session to the history file.\n"
+"    Argument `-n' means to read all history lines not already read\n"
+"    from the history file and append them to the history list.\n"
+"    \n"
+"    If FILENAME is given, then that is used as the history file else\n"
+"    if $HISTFILE has a value, that is used, else ~/.bash_history.\n"
+"    If the -s option is supplied, the non-option ARGs are appended to\n"
+"    the history list as a single entry.  The -p option means to perform\n"
+"    history expansion on each ARG and display the result, without storing\n"
+"    anything in the history list.\n"
+"    \n"
+"    If the $HISTTIMEFORMAT variable is set and not null, its value is used\n"
+"    as a format string for strftime(3) to print the time stamp associated\n"
+"    with each displayed history entry.  No time stamps are printed otherwise."
+msgstr ""
+" Display the history list with line numbers.  Lines listed with\n"
+"    with a ‘*’ have been modified.  Argument of N says to list only\n"
+"    the last N lines.  The ‘-c’ option causes the history list to be\n"
+"    cleared by deleting all of the entries.  The ‘-d’ option deletes\n"
+"    the history entry at offset OFFSET.  The ‘-w’ option writes out the\n"
+"    current history to the history file;  ‘-r’ means to read the file and\n"
+"    append the contents to the history list instead.  ‘-a’ means\n"
+"    to append history lines from this session to the history file.\n"
+"    Argument ‘-n’ means to read all history lines not already read\n"
+"    from the history file and append them to the history list.\n"
+"    \n"
+"    If FILENAME is given, then that is used as the history file else\n"
+"    if $HISTFILE has a value, that is used, else ~/.bash_history.\n"
+"    If the -s option is supplied, the non-option ARGs are appended to\n"
+"    the history list as a single entry.  The -p option means to perform\n"
+"    history expansion on each ARG and display the result, without storing\n"
+"    anything in the history list.\n"
+"    \n"
+"    If the $HISTTIMEFORMAT variable is set and not null, its value is used\n"
+"    as a format string for strftime(3) to print the time stamp associated\n"
+"    with each displayed history entry.  No time stamps are printed otherwise."
 
-#: builtins.c:508
-msgid "printed."
-msgstr "printed."
+#: builtins.c:648
+msgid ""
+" Lists the active jobs.  The -l option lists process id's in addition\n"
+"    to the normal information; the -p option lists process id's only.\n"
+"    If -n is given, only processes that have changed status since the last\n"
+"    notification are printed.  JOBSPEC restricts output to that job.  The\n"
+"    -r and -s options restrict output to running and stopped jobs only,\n"
+"    respectively.  Without options, the status of all active jobs is\n"
+"    printed.  If -x is given, COMMAND is run after all job specifications\n"
+"    that appear in ARGS have been replaced with the process ID of that "
+"job's\n"
+"    process group leader."
+msgstr ""
+" Lists the active jobs.  The -l option lists process id's in addition\n"
+"    to the normal information; the -p option lists process id's only.\n"
+"    If -n is given, only processes that have changed status since the last\n"
+"    notification are printed.  JOBSPEC restricts output to that job.  The\n"
+"    -r and -s options restrict output to running and stopped jobs only,\n"
+"    respectively.  Without options, the status of all active jobs is\n"
+"    printed.  If -x is given, COMMAND is run after all job specifications\n"
+"    that appear in ARGS have been replaced with the process ID of that "
+"job's\n"
+"    process group leader."
 
-#: builtins.c:510
-msgid "If the shell variable OPTERR has the value 0, getopts disables the"
-msgstr "If the shell variable OPTERR has the value 0, getopts disables the"
+#: builtins.c:664
+msgid ""
+" By default, removes each JOBSPEC argument from the table of active jobs.\n"
+"    If the -h option is given, the job is not removed from the table, but "
+"is\n"
+"    marked so that SIGHUP is not sent to the job if the shell receives a\n"
+"    SIGHUP.  The -a option, when JOBSPEC is not supplied, means to remove "
+"all\n"
+"    jobs from the job table; the -r option means to remove only running jobs."
+msgstr ""
+" By default, removes each JOBSPEC argument from the table of active jobs.\n"
+"    If the -h option is given, the job is not removed from the table, but "
+"is\n"
+"    marked so that SIGHUP is not sent to the job if the shell receives a\n"
+"    SIGHUP.  The -a option, when JOBSPEC is not supplied, means to remove "
+"all\n"
+"    jobs from the job table; the -r option means to remove only running jobs."
 
-#: builtins.c:511
-msgid "printing of error messages, even if the first character of"
-msgstr "printing of error messages, even if the first character of"
+#: builtins.c:675
+msgid ""
+" Send the processes named by PID (or JOBSPEC) the signal SIGSPEC.  If\n"
+"    SIGSPEC is not present, then SIGTERM is assumed.  An argument of `-l'\n"
+"    lists the signal names; if arguments follow `-l' they are assumed to\n"
+"    be signal numbers for which names should be listed.  Kill is a shell\n"
+"    builtin for two reasons: it allows job IDs to be used instead of\n"
+"    process IDs, and, if you have reached the limit on processes that\n"
+"    you can create, you don't have to start a process to kill another one."
+msgstr ""
+" Send the processes named by PID (or JOBSPEC) the signal SIGSPEC.  If\n"
+"    SIGSPEC is not present, then SIGTERM is assumed.  An argument of ‘-l’\n"
+"    lists the signal names; if arguments follow ‘-l’ they are assumed to\n"
+"    be signal numbers for which names should be listed.  Kill is a shell\n"
+"    builtin for two reasons: it allows job IDs to be used instead of\n"
+"    process IDs, and, if you have reached the limit on processes that\n"
+"    you can create, you don't have to start a process to kill another one."
 
-#: builtins.c:512
-msgid "OPTSTRING is not a colon.  OPTERR has the value 1 by default."
-msgstr "OPTSTRING is not a colon.  OPTERR has the value 1 by default."
+#: builtins.c:687
+msgid ""
+" Each ARG is an arithmetic expression to be evaluated.  Evaluation\n"
+"    is done in fixed-width integers with no check for overflow, though\n"
+"    division by 0 is trapped and flagged as an error.  The following\n"
+"    list of operators is grouped into levels of equal-precedence operators.\n"
+"    The levels are listed in order of decreasing precedence.\n"
+"    \n"
+"    \tid++, id--\tvariable post-increment, post-decrement\n"
+"    \t++id, --id\tvariable pre-increment, pre-decrement\n"
+"    \t-, +\t\tunary minus, plus\n"
+"    \t!, ~\t\tlogical and bitwise negation\n"
+"    \t**\t\texponentiation\n"
+"    \t*, /, %\t\tmultiplication, division, remainder\n"
+"    \t+, -\t\taddition, subtraction\n"
+"    \t<<, >>\t\tleft and right bitwise shifts\n"
+"    \t<=, >=, <, >\tcomparison\n"
+"    \t==, !=\t\tequality, inequality\n"
+"    \t&\t\tbitwise AND\n"
+"    \t^\t\tbitwise XOR\n"
+"    \t|\t\tbitwise OR\n"
+"    \t&&\t\tlogical AND\n"
+"    \t||\t\tlogical OR\n"
+"    \texpr ? expr : expr\n"
+"    \t\t\tconditional operator\n"
+"    \t=, *=, /=, %=,\n"
+"    \t+=, -=, <<=, >>=,\n"
+"    \t&=, ^=, |=\tassignment\n"
+"    \n"
+"    Shell variables are allowed as operands.  The name of the variable\n"
+"    is replaced by its value (coerced to a fixed-width integer) within\n"
+"    an expression.  The variable need not have its integer attribute\n"
+"    turned on to be used in an expression.\n"
+"    \n"
+"    Operators are evaluated in order of precedence.  Sub-expressions in\n"
+"    parentheses are evaluated first and may override the precedence\n"
+"    rules above.\n"
+"    \n"
+"    If the last ARG evaluates to 0, let returns 1; 0 is returned\n"
+"    otherwise."
+msgstr ""
+" Each ARG is an arithmetic expression to be evaluated.  Evaluation\n"
+"    is done in fixed-width integers with no check for overflow, though\n"
+"    division by 0 is trapped and flagged as an error.  The following\n"
+"    list of operators is grouped into levels of equal-precedence operators.\n"
+"    The levels are listed in order of decreasing precedence.\n"
+"    \n"
+"    \tid++, id--\tvariable post-increment, post-decrement\n"
+"    \t++id, --id\tvariable pre-increment, pre-decrement\n"
+"    \t-, +\t\tunary minus, plus\n"
+"    \t!, ~\t\tlogical and bitwise negation\n"
+"    \t**\t\texponentiation\n"
+"    \t*, /, %\t\tmultiplication, division, remainder\n"
+"    \t+, -\t\taddition, subtraction\n"
+"    \t<<, >>\t\tleft and right bitwise shifts\n"
+"    \t<=, >=, <, >\tcomparison\n"
+"    \t==, !=\t\tequality, inequality\n"
+"    \t&\t\tbitwise AND\n"
+"    \t^\t\tbitwise XOR\n"
+"    \t|\t\tbitwise OR\n"
+"    \t&&\t\tlogical AND\n"
+"    \t||\t\tlogical OR\n"
+"    \texpr ? expr : expr\n"
+"    \t\t\tconditional operator\n"
+"    \t=, *=, /=, %=,\n"
+"    \t+=, -=, <<=, >>=,\n"
+"    \t&=, ^=, |=\tassignment\n"
+"    \n"
+"    Shell variables are allowed as operands.  The name of the variable\n"
+"    is replaced by its value (coerced to a fixed-width integer) within\n"
+"    an expression.  The variable need not have its integer attribute\n"
+"    turned on to be used in an expression.\n"
+"    \n"
+"    Operators are evaluated in order of precedence.  Sub-expressions in\n"
+"    parentheses are evaluated first and may override the precedence\n"
+"    rules above.\n"
+"    \n"
+"    If the last ARG evaluates to 0, let returns 1; 0 is returned\n"
+"    otherwise."
 
-#: builtins.c:514
-msgid "Getopts normally parses the positional parameters ($0 - $9), but if"
-msgstr "Getopts normally parses the positional parameters ($0 - $9), but if"
+#: builtins.c:730
+msgid ""
+" One line is read from the standard input, or from file descriptor FD if "
+"the\n"
+"    -u option is supplied, and the first word is assigned to the first "
+"NAME,\n"
+"    the second word to the second NAME, and so on, with leftover words "
+"assigned\n"
+"    to the last NAME.  Only the characters found in $IFS are recognized as "
+"word\n"
+"    delimiters.  If no NAMEs are supplied, the line read is stored in the "
+"REPLY\n"
+"    variable.  If the -r option is given, this signifies `raw' input, and\n"
+"    backslash escaping is disabled.  The -d option causes read to continue\n"
+"    until the first character of DELIM is read, rather than newline.  If the "
+"-p\n"
+"    option is supplied, the string PROMPT is output without a trailing "
+"newline\n"
+"    before attempting to read.  If -a is supplied, the words read are "
+"assigned\n"
+"    to sequential indices of ARRAY, starting at zero.  If -e is supplied "
+"and\n"
+"    the shell is interactive, readline is used to obtain the line.  If -n "
+"is\n"
+"    supplied with a non-zero NCHARS argument, read returns after NCHARS\n"
+"    characters have been read.  The -s option causes input coming from a\n"
+"    terminal to not be echoed.\n"
+"    \n"
+"    The -t option causes read to time out and return failure if a complete "
+"line\n"
+"    of input is not read within TIMEOUT seconds.  If the TMOUT variable is "
+"set,\n"
+"    its value is the default timeout.  The return code is zero, unless end-"
+"of-file\n"
+"    is encountered, read times out, or an invalid file descriptor is "
+"supplied as\n"
+"    the argument to -u."
+msgstr ""
+" One line is read from the standard input, or from file descriptor FD if "
+"the\n"
+"    -u option is supplied, and the first word is assigned to the first "
+"NAME,\n"
+"    the second word to the second NAME, and so on, with leftover words "
+"assigned\n"
+"    to the last NAME.  Only the characters found in $IFS are recognized as "
+"word\n"
+"    delimiters.  If no NAMEs are supplied, the line read is stored in the "
+"REPLY\n"
+"    variable.  If the -r option is given, this signifies ‘raw’ input, and\n"
+"    backslash escaping is disabled.  The -d option causes read to continue\n"
+"    until the first character of DELIM is read, rather than newline.  If the "
+"-p\n"
+"    option is supplied, the string PROMPT is output without a trailing "
+"newline\n"
+"    before attempting to read.  If -a is supplied, the words read are "
+"assigned\n"
+"    to sequential indices of ARRAY, starting at zero.  If -e is supplied "
+"and\n"
+"    the shell is interactive, readline is used to obtain the line.  If -n "
+"is\n"
+"    supplied with a non-zero NCHARS argument, read returns after NCHARS\n"
+"    characters have been read.  The -s option causes input coming from a\n"
+"    terminal to not be echoed.\n"
+"    \n"
+"    The -t option causes read to time out and return failure if a complete "
+"line\n"
+"    of input is not read within TIMEOUT seconds.  If the TMOUT variable is "
+"set,\n"
+"    its value is the default timeout.  The return code is zero, unless end-"
+"of-file\n"
+"    is encountered, read times out, or an invalid file descriptor is "
+"supplied as\n"
+"    the argument to -u."
 
-#: builtins.c:515
-msgid "more arguments are given, they are parsed instead."
-msgstr "more arguments are given, they are parsed instead."
+#: builtins.c:756
+msgid ""
+" Causes a function to exit with the return value specified by N.  If N\n"
+"    is omitted, the return status is that of the last command."
+msgstr ""
+" Causes a function to exit with the return value specified by N.  If N\n"
+"    is omitted, the return status is that of the last command."
 
-#: builtins.c:521
-msgid "Exec FILE, replacing this shell with the specified program."
-msgstr "Exec FILE, replacing this shell with the specified program."
+#: builtins.c:763
+msgid ""
+"     -a  Mark variables which are modified or created for export.\n"
+"        -b  Notify of job termination immediately.\n"
+"        -e  Exit immediately if a command exits with a non-zero status.\n"
+"        -f  Disable file name generation (globbing).\n"
+"        -h  Remember the location of commands as they are looked up.\n"
+"        -k  All assignment arguments are placed in the environment for a\n"
+"            command, not just those that precede the command name.\n"
+"        -m  Job control is enabled.\n"
+"        -n  Read commands but do not execute them.\n"
+"        -o option-name\n"
+"            Set the variable corresponding to option-name:\n"
+"                allexport    same as -a\n"
+"                braceexpand  same as -B\n"
+"                emacs        use an emacs-style line editing interface\n"
+"                errexit      same as -e\n"
+"                errtrace     same as -E\n"
+"                functrace    same as -T\n"
+"                hashall      same as -h\n"
+"                histexpand   same as -H\n"
+"                history      enable command history\n"
+"                ignoreeof    the shell will not exit upon reading EOF\n"
+"                interactive-comments\n"
+"                             allow comments to appear in interactive "
+"commands\n"
+"                keyword      same as -k\n"
+"                monitor      same as -m\n"
+"                noclobber    same as -C\n"
+"                noexec       same as -n\n"
+"                noglob       same as -f\n"
+"                nolog        currently accepted but ignored\n"
+"                notify       same as -b\n"
+"                nounset      same as -u\n"
+"                onecmd       same as -t\n"
+"                physical     same as -P\n"
+"                pipefail     the return value of a pipeline is the status "
+"of\n"
+"                             the last command to exit with a non-zero "
+"status,\n"
+"                             or zero if no command exited with a non-zero "
+"status\n"
+"                posix        change the behavior of bash where the default\n"
+"                             operation differs from the 1003.2 standard to\n"
+"                             match the standard\n"
+"                privileged   same as -p\n"
+"                verbose      same as -v\n"
+"                vi           use a vi-style line editing interface\n"
+"                xtrace       same as -x\n"
+"        -p  Turned on whenever the real and effective user ids do not "
+"match.\n"
+"            Disables processing of the $ENV file and importing of shell\n"
+"            functions.  Turning this option off causes the effective uid "
+"and\n"
+"            gid to be set to the real uid and gid.\n"
+"        -t  Exit after reading and executing one command.\n"
+"        -u  Treat unset variables as an error when substituting.\n"
+"        -v  Print shell input lines as they are read.\n"
+"        -x  Print commands and their arguments as they are executed.\n"
+"        -B  the shell will perform brace expansion\n"
+"        -C  If set, disallow existing regular files to be overwritten\n"
+"            by redirection of output.\n"
+"        -E  If set, the ERR trap is inherited by shell functions.\n"
+"        -H  Enable ! style history substitution.  This flag is on\n"
+"            by default when the shell is interactive.\n"
+"        -P  If set, do not follow symbolic links when executing commands\n"
+"            such as cd which change the current directory.\n"
+"        -T  If set, the DEBUG trap is inherited by shell functions.\n"
+"        -   Assign any remaining arguments to the positional parameters.\n"
+"            The -x and -v options are turned off.\n"
+"    \n"
+"    Using + rather than - causes these flags to be turned off.  The\n"
+"    flags can also be used upon invocation of the shell.  The current\n"
+"    set of flags may be found in $-.  The remaining n ARGs are positional\n"
+"    parameters and are assigned, in order, to $1, $2, .. $n.  If no\n"
+"    ARGs are given, all shell variables are printed."
+msgstr ""
+"     -a  Mark variables which are modified or created for export.\n"
+"        -b  Notify of job termination immediately.\n"
+"        -e  Exit immediately if a command exits with a non-zero status.\n"
+"        -f  Disable file name generation (globbing).\n"
+"        -h  Remember the location of commands as they are looked up.\n"
+"        -k  All assignment arguments are placed in the environment for a\n"
+"            command, not just those that precede the command name.\n"
+"        -m  Job control is enabled.\n"
+"        -n  Read commands but do not execute them.\n"
+"        -o option-name\n"
+"            Set the variable corresponding to option-name:\n"
+"                allexport    same as -a\n"
+"                braceexpand  same as -B\n"
+"                emacs        use an emacs-style line editing interface\n"
+"                errexit      same as -e\n"
+"                errtrace     same as -E\n"
+"                functrace    same as -T\n"
+"                hashall      same as -h\n"
+"                histexpand   same as -H\n"
+"                history      enable command history\n"
+"                ignoreeof    the shell will not exit upon reading EOF\n"
+"                interactive-comments\n"
+"                             allow comments to appear in interactive "
+"commands\n"
+"                keyword      same as -k\n"
+"                monitor      same as -m\n"
+"                noclobber    same as -C\n"
+"                noexec       same as -n\n"
+"                noglob       same as -f\n"
+"                nolog        currently accepted but ignored\n"
+"                notify       same as -b\n"
+"                nounset      same as -u\n"
+"                onecmd       same as -t\n"
+"                physical     same as -P\n"
+"                pipefail     the return value of a pipeline is the status "
+"of\n"
+"                             the last command to exit with a non-zero "
+"status,\n"
+"                             or zero if no command exited with a non-zero "
+"status\n"
+"                posix        change the behavior of bash where the default\n"
+"                             operation differs from the 1003.2 standard to\n"
+"                             match the standard\n"
+"                privileged   same as -p\n"
+"                verbose      same as -v\n"
+"                vi           use a vi-style line editing interface\n"
+"                xtrace       same as -x\n"
+"        -p  Turned on whenever the real and effective user ids do not "
+"match.\n"
+"            Disables processing of the $ENV file and importing of shell\n"
+"            functions.  Turning this option off causes the effective uid "
+"and\n"
+"            gid to be set to the real uid and gid.\n"
+"        -t  Exit after reading and executing one command.\n"
+"        -u  Treat unset variables as an error when substituting.\n"
+"        -v  Print shell input lines as they are read.\n"
+"        -x  Print commands and their arguments as they are executed.\n"
+"        -B  the shell will perform brace expansion\n"
+"        -C  If set, disallow existing regular files to be overwritten\n"
+"            by redirection of output.\n"
+"        -E  If set, the ERR trap is inherited by shell functions.\n"
+"        -H  Enable ! style history substitution.  This flag is on\n"
+"            by default when the shell is interactive.\n"
+"        -P  If set, do not follow symbolic links when executing commands\n"
+"            such as cd which change the current directory.\n"
+"        -T  If set, the DEBUG trap is inherited by shell functions.\n"
+"        -   Assign any remaining arguments to the positional parameters.\n"
+"            The -x and -v options are turned off.\n"
+"    \n"
+"    Using + rather than - causes these flags to be turned off.  The\n"
+"    flags can also be used upon invocation of the shell.  The current\n"
+"    set of flags may be found in $-.  The remaining n ARGs are positional\n"
+"    parameters and are assigned, in order, to $1, $2, .. $n.  If no\n"
+"    ARGs are given, all shell variables are printed."
 
-#: builtins.c:522
-msgid "If FILE is not specified, the redirections take effect in this"
-msgstr "If FILE is not specified, the redirections take effect in this"
+#: builtins.c:836
+msgid ""
+" For each NAME, remove the corresponding variable or function.  Given\n"
+"    the `-v', unset will only act on variables.  Given the `-f' flag,\n"
+"    unset will only act on functions.  With neither flag, unset first\n"
+"    tries to unset a variable, and if that fails, then tries to unset a\n"
+"    function.  Some variables cannot be unset; also see readonly."
+msgstr ""
+" For each NAME, remove the corresponding variable or function.  Given\n"
+"    the ‘-v’, unset will only act on variables.  Given the ‘-f’ flag,\n"
+"    unset will only act on functions.  With neither flag, unset first\n"
+"    tries to unset a variable, and if that fails, then tries to unset a\n"
+"    function.  Some variables cannot be unset; also see readonly."
 
-#: builtins.c:523
-msgid "shell.  If the first argument is `-l', then place a dash in the"
-msgstr "shell.  If the first argument is ‘-l’, then place a dash in the"
+#: builtins.c:846
+msgid ""
+" NAMEs are marked for automatic export to the environment of\n"
+"    subsequently executed commands.  If the -f option is given,\n"
+"    the NAMEs refer to functions.  If no NAMEs are given, or if `-p'\n"
+"    is given, a list of all names that are exported in this shell is\n"
+"    printed.  An argument of `-n' says to remove the export property\n"
+"    from subsequent NAMEs.  An argument of `--' disables further option\n"
+"    processing."
+msgstr ""
+" NAMEs are marked for automatic export to the environment of\n"
+"    subsequently executed commands.  If the -f option is given,\n"
+"    the NAMEs refer to functions.  If no NAMEs are given, or if ‘-p’\n"
+"    is given, a list of all names that are exported in this shell is\n"
+"    printed.  An argument of ‘-n’ says to remove the export property\n"
+"    from subsequent NAMEs.  An argument of ‘--’ disables further option\n"
+"    processing."
 
-#: builtins.c:524
-msgid "zeroth arg passed to FILE, as login does.  If the `-c' option"
-msgstr "zeroth arg passed to FILE, as login does.  If the ‘-c’ option"
+#: builtins.c:858
+msgid ""
+" The given NAMEs are marked readonly and the values of these NAMEs may\n"
+"    not be changed by subsequent assignment.  If the -f option is given,\n"
+"    then functions corresponding to the NAMEs are so marked.  If no\n"
+"    arguments are given, or if `-p' is given, a list of all readonly names\n"
+"    is printed.  The `-a' option means to treat each NAME as\n"
+"    an array variable.  An argument of `--' disables further option\n"
+"    processing."
+msgstr ""
+" The given NAMEs are marked readonly and the values of these NAMEs may\n"
+"    not be changed by subsequent assignment.  If the -f option is given,\n"
+"    then functions corresponding to the NAMEs are so marked.  If no\n"
+"    arguments are given, or if ‘-p’ is given, a list of all readonly names\n"
+"    is printed.  The ‘-a’ option means to treat each NAME as\n"
+"    an array variable.  An argument of ‘--’ disables further option\n"
+"    processing."
 
-#: builtins.c:525
-msgid "is supplied, FILE is executed with a null environment.  The `-a'"
-msgstr "is supplied, FILE is executed with a null environment.  The ‘-a’"
+#: builtins.c:870
+msgid ""
+" The positional parameters from $N+1 ... are renamed to $1 ...  If N is\n"
+"    not given, it is assumed to be 1."
+msgstr ""
+" The positional parameters from $N+1 ... are renamed to $1 ...  If N is\n"
+"    not given, it is assumed to be 1."
+
+#: builtins.c:877 builtins.c:886
+msgid ""
+" Read and execute commands from FILENAME and return.  The pathnames\n"
+"    in $PATH are used to find the directory containing FILENAME.  If any\n"
+"    ARGUMENTS are supplied, they become the positional parameters when\n"
+"    FILENAME is executed."
+msgstr ""
+" Read and execute commands from FILENAME and return.  The pathnames\n"
+"    in $PATH are used to find the directory containing FILENAME.  If any\n"
+"    ARGUMENTS are supplied, they become the positional parameters when\n"
+"    FILENAME is executed."
+
+#: builtins.c:896
+msgid ""
+" Suspend the execution of this shell until it receives a SIGCONT\n"
+"    signal.  The `-f' if specified says not to complain about this\n"
+"    being a login shell if it is; just suspend anyway."
+msgstr ""
+" Suspend the execution of this shell until it receives a SIGCONT\n"
+"    signal.  The ‘-f’ if specified says not to complain about this\n"
+"    being a login shell if it is; just suspend anyway."
+
+#: builtins.c:905
+msgid ""
+" Exits with a status of 0 (true) or 1 (false) depending on\n"
+"    the evaluation of EXPR.  Expressions may be unary or binary.  Unary\n"
+"    expressions are often used to examine the status of a file.  There\n"
+"    are string operators as well, and numeric comparison operators.\n"
+"    \n"
+"    File operators:\n"
+"    \n"
+"        -a FILE        True if file exists.\n"
+"        -b FILE        True if file is block special.\n"
+"        -c FILE        True if file is character special.\n"
+"        -d FILE        True if file is a directory.\n"
+"        -e FILE        True if file exists.\n"
+"        -f FILE        True if file exists and is a regular file.\n"
+"        -g FILE        True if file is set-group-id.\n"
+"        -h FILE        True if file is a symbolic link.\n"
+"        -L FILE        True if file is a symbolic link.\n"
+"        -k FILE        True if file has its `sticky' bit set.\n"
+"        -p FILE        True if file is a named pipe.\n"
+"        -r FILE        True if file is readable by you.\n"
+"        -s FILE        True if file exists and is not empty.\n"
+"        -S FILE        True if file is a socket.\n"
+"        -t FD          True if FD is opened on a terminal.\n"
+"        -u FILE        True if the file is set-user-id.\n"
+"        -w FILE        True if the file is writable by you.\n"
+"        -x FILE        True if the file is executable by you.\n"
+"        -O FILE        True if the file is effectively owned by you.\n"
+"        -G FILE        True if the file is effectively owned by your group.\n"
+"        -N FILE        True if the file has been modified since it was last "
+"read.\n"
+"    \n"
+"      FILE1 -nt FILE2  True if file1 is newer than file2 (according to\n"
+"                       modification date).\n"
+"    \n"
+"      FILE1 -ot FILE2  True if file1 is older than file2.\n"
+"    \n"
+"      FILE1 -ef FILE2  True if file1 is a hard link to file2.\n"
+"    \n"
+"    String operators:\n"
+"    \n"
+"        -z STRING      True if string is empty.\n"
+"    \n"
+"        -n STRING\n"
+"        STRING         True if string is not empty.\n"
+"    \n"
+"        STRING1 = STRING2\n"
+"                       True if the strings are equal.\n"
+"        STRING1 != STRING2\n"
+"                       True if the strings are not equal.\n"
+"        STRING1 < STRING2\n"
+"                       True if STRING1 sorts before STRING2 "
+"lexicographically.\n"
+"        STRING1 > STRING2\n"
+"                       True if STRING1 sorts after STRING2 "
+"lexicographically.\n"
+"    \n"
+"    Other operators:\n"
+"    \n"
+"        -o OPTION      True if the shell option OPTION is enabled.\n"
+"        ! EXPR         True if expr is false.\n"
+"        EXPR1 -a EXPR2 True if both expr1 AND expr2 are true.\n"
+"        EXPR1 -o EXPR2 True if either expr1 OR expr2 is true.\n"
+"    \n"
+"        arg1 OP arg2   Arithmetic tests.  OP is one of -eq, -ne,\n"
+"                       -lt, -le, -gt, or -ge.\n"
+"    \n"
+"    Arithmetic binary operators return true if ARG1 is equal, not-equal,\n"
+"    less-than, less-than-or-equal, greater-than, or greater-than-or-equal\n"
+"    than ARG2."
+msgstr ""
+" Exits with a status of 0 (true) or 1 (false) depending on\n"
+"    the evaluation of EXPR.  Expressions may be unary or binary.  Unary\n"
+"    expressions are often used to examine the status of a file.  There\n"
+"    are string operators as well, and numeric comparison operators.\n"
+"    \n"
+"    File operators:\n"
+"    \n"
+"        -a FILE        True if file exists.\n"
+"        -b FILE        True if file is block special.\n"
+"        -c FILE        True if file is character special.\n"
+"        -d FILE        True if file is a directory.\n"
+"        -e FILE        True if file exists.\n"
+"        -f FILE        True if file exists and is a regular file.\n"
+"        -g FILE        True if file is set-group-id.\n"
+"        -h FILE        True if file is a symbolic link.\n"
+"        -L FILE        True if file is a symbolic link.\n"
+"        -k FILE        True if file has its ‘sticky’ bit set.\n"
+"        -p FILE        True if file is a named pipe.\n"
+"        -r FILE        True if file is readable by you.\n"
+"        -s FILE        True if file exists and is not empty.\n"
+"        -S FILE        True if file is a socket.\n"
+"        -t FD          True if FD is opened on a terminal.\n"
+"        -u FILE        True if the file is set-user-id.\n"
+"        -w FILE        True if the file is writable by you.\n"
+"        -x FILE        True if the file is executable by you.\n"
+"        -O FILE        True if the file is effectively owned by you.\n"
+"        -G FILE        True if the file is effectively owned by your group.\n"
+"        -N FILE        True if the file has been modified since it was last "
+"read.\n"
+"    \n"
+"      FILE1 -nt FILE2  True if file1 is newer than file2 (according to\n"
+"                       modification date).\n"
+"    \n"
+"      FILE1 -ot FILE2  True if file1 is older than file2.\n"
+"    \n"
+"      FILE1 -ef FILE2  True if file1 is a hard link to file2.\n"
+"    \n"
+"    String operators:\n"
+"    \n"
+"        -z STRING      True if string is empty.\n"
+"    \n"
+"        -n STRING\n"
+"        STRING         True if string is not empty.\n"
+"    \n"
+"        STRING1 = STRING2\n"
+"                       True if the strings are equal.\n"
+"        STRING1 != STRING2\n"
+"                       True if the strings are not equal.\n"
+"        STRING1 < STRING2\n"
+"                       True if STRING1 sorts before STRING2 "
+"lexicographically.\n"
+"        STRING1 > STRING2\n"
+"                       True if STRING1 sorts after STRING2 "
+"lexicographically.\n"
+"    \n"
+"    Other operators:\n"
+"    \n"
+"        -o OPTION      True if the shell option OPTION is enabled.\n"
+"        ! EXPR         True if expr is false.\n"
+"        EXPR1 -a EXPR2 True if both expr1 AND expr2 are true.\n"
+"        EXPR1 -o EXPR2 True if either expr1 OR expr2 is true.\n"
+"    \n"
+"        arg1 OP arg2   Arithmetic tests.  OP is one of -eq, -ne,\n"
+"                       -lt, -le, -gt, or -ge.\n"
+"    \n"
+"    Arithmetic binary operators return true if ARG1 is equal, not-equal,\n"
+"    less-than, less-than-or-equal, greater-than, or greater-than-or-equal\n"
+"    than ARG2."
 
-#: builtins.c:526
-msgid "option means to make set argv[0] of the executed process to NAME."
-msgstr "option means to make set argv[0] of the executed process to NAME."
+#: builtins.c:975
+msgid ""
+" This is a synonym for the \"test\" builtin, but the last\n"
+"    argument must be a literal `]', to match the opening `['."
+msgstr ""
+" This is a synonym for the “test” builtin, but the last\n"
+"    argument must be a literal ‘]’, to match the opening ‘[’."
+
+#: builtins.c:982
+msgid ""
+" Print the accumulated user and system times for processes run from\n"
+"    the shell."
+msgstr ""
+" Print the accumulated user and system times for processes run from\n"
+"    the shell."
+
+#: builtins.c:989
+msgid ""
+" The command ARG is to be read and executed when the shell receives\n"
+"    signal(s) SIGNAL_SPEC.  If ARG is absent (and a single SIGNAL_SPEC\n"
+"    is supplied) or `-', each specified signal is reset to its original\n"
+"    value.  If ARG is the null string each SIGNAL_SPEC is ignored by the\n"
+"    shell and by the commands it invokes.  If a SIGNAL_SPEC is EXIT (0)\n"
+"    the command ARG is executed on exit from the shell.  If a SIGNAL_SPEC\n"
+"    is DEBUG, ARG is executed after every simple command.  If the`-p' "
+"option\n"
+"    is supplied then the trap commands associated with each SIGNAL_SPEC are\n"
+"    displayed.  If no arguments are supplied or if only `-p' is given, trap\n"
+"    prints the list of commands associated with each signal.  Each "
+"SIGNAL_SPEC\n"
+"    is either a signal name in <signal.h> or a signal number.  Signal names\n"
+"    are case insensitive and the SIG prefix is optional.  `trap -l' prints\n"
+"    a list of signal names and their corresponding numbers.  Note that a\n"
+"    signal can be sent to the shell with \"kill -signal $$\"."
+msgstr ""
+" The command ARG is to be read and executed when the shell receives\n"
+"    signal(s) SIGNAL_SPEC.  If ARG is absent (and a single SIGNAL_SPEC\n"
+"    is supplied) or ‘-’, each specified signal is reset to its original\n"
+"    value.  If ARG is the null string each SIGNAL_SPEC is ignored by the\n"
+"    shell and by the commands it invokes.  If a SIGNAL_SPEC is EXIT (0)\n"
+"    the command ARG is executed on exit from the shell.  If a SIGNAL_SPEC\n"
+"    is DEBUG, ARG is executed after every simple command.  If the‘-p’ "
+"option\n"
+"    is supplied then the trap commands associated with each SIGNAL_SPEC are\n"
+"    displayed.  If no arguments are supplied or if only ‘-p’ is given, trap\n"
+"    prints the list of commands associated with each signal.  Each "
+"SIGNAL_SPEC\n"
+"    is either a signal name in <signal.h> or a signal number.  Signal names\n"
+"    are case insensitive and the SIG prefix is optional.  ‘trap -l’ prints\n"
+"    a list of signal names and their corresponding numbers.  Note that a\n"
+"    signal can be sent to the shell with “kill -signal $$”."
 
-#: builtins.c:527
-msgid "If the file cannot be executed and the shell is not interactive,"
-msgstr "If the file cannot be executed and the shell is not interactive,"
+#: builtins.c:1008
+msgid ""
+" For each NAME, indicate how it would be interpreted if used as a\n"
+"    command name.\n"
+"    \n"
+"    If the -t option is used, `type' outputs a single word which is one of\n"
+"    `alias', `keyword', `function', `builtin', `file' or `', if NAME is an\n"
+"    alias, shell reserved word, shell function, shell builtin, disk file,\n"
+"    or unfound, respectively.\n"
+"    \n"
+"    If the -p flag is used, `type' either returns the name of the disk\n"
+"    file that would be executed, or nothing if `type -t NAME' would not\n"
+"    return `file'.\n"
+"    \n"
+"    If the -a flag is used, `type' displays all of the places that contain\n"
+"    an executable named `file'.  This includes aliases, builtins, and\n"
+"    functions, if and only if the -p flag is not also used.\n"
+"    \n"
+"    The -f flag suppresses shell function lookup.\n"
+"    \n"
+"    The -P flag forces a PATH search for each NAME, even if it is an alias,\n"
+"    builtin, or function, and returns the name of the disk file that would\n"
+"    be executed."
+msgstr ""
+" For each NAME, indicate how it would be interpreted if used as a\n"
+"    command name.\n"
+"    \n"
+"    If the -t option is used, ‘type’ outputs a single word which is one of\n"
+"    ‘alias’, ‘keyword’, ‘function’, ‘builtin’, ‘file’ or ‘’, if NAME is an\n"
+"    alias, shell reserved word, shell function, shell builtin, disk file,\n"
+"    or unfound, respectively.\n"
+"    \n"
+"    If the -p flag is used, ‘type’ either returns the name of the disk\n"
+"    file that would be executed, or nothing if ‘type -t NAME’ would not\n"
+"    return ‘file’.\n"
+"    \n"
+"    If the -a flag is used, ‘type’ displays all of the places that contain\n"
+"    an executable named ‘file’.  This includes aliases, builtins, and\n"
+"    functions, if and only if the -p flag is not also used.\n"
+"    \n"
+"    The -f flag suppresses shell function lookup.\n"
+"    \n"
+"    The -P flag forces a PATH search for each NAME, even if it is an alias,\n"
+"    builtin, or function, and returns the name of the disk file that would\n"
+"    be executed."
+
+#: builtins.c:1035
+msgid ""
+" Ulimit provides control over the resources available to processes\n"
+"    started by the shell, on systems that allow such control.  If an\n"
+"    option is given, it is interpreted as follows:\n"
+"    \n"
+"        -S\tuse the `soft' resource limit\n"
+"        -H\tuse the `hard' resource limit\n"
+"        -a\tall current limits are reported\n"
+"        -c\tthe maximum size of core files created\n"
+"        -d\tthe maximum size of a process's data segment\n"
+"        -f\tthe maximum size of files created by the shell\n"
+"        -i  the maximum number of pending signals\n"
+"        -l\tthe maximum size a process may lock into memory\n"
+"        -m\tthe maximum resident set size\n"
+"        -n\tthe maximum number of open file descriptors\n"
+"        -p\tthe pipe buffer size\n"
+"        -q  the maximum number of bytes in POSIX message queues\n"
+"        -s\tthe maximum stack size\n"
+"        -t\tthe maximum amount of cpu time in seconds\n"
+"        -u\tthe maximum number of user processes\n"
+"        -v\tthe size of virtual memory\n"
+"        -x  the maximum number of file locks\n"
+"    \n"
+"    If LIMIT is given, it is the new value of the specified resource;\n"
+"    the special LIMIT values `soft', `hard', and `unlimited' stand for\n"
+"    the current soft limit, the current hard limit, and no limit, "
+"respectively.\n"
+"    Otherwise, the current value of the specified resource is printed.\n"
+"    If no option is given, then -f is assumed.  Values are in 1024-byte\n"
+"    increments, except for -t, which is in seconds, -p, which is in\n"
+"    increments of 512 bytes, and -u, which is an unscaled number of\n"
+"    processes."
+msgstr ""
+" Ulimit provides control over the resources available to processes\n"
+"    started by the shell, on systems that allow such control.  If an\n"
+"    option is given, it is interpreted as follows:\n"
+"    \n"
+"        -S\tuse the ‘soft’ resource limit\n"
+"        -H\tuse the ‘hard’ resource limit\n"
+"        -a\tall current limits are reported\n"
+"        -c\tthe maximum size of core files created\n"
+"        -d\tthe maximum size of a process's data segment\n"
+"        -f\tthe maximum size of files created by the shell\n"
+"        -i  the maximum number of pending signals\n"
+"        -l\tthe maximum size a process may lock into memory\n"
+"        -m\tthe maximum resident set size\n"
+"        -n\tthe maximum number of open file descriptors\n"
+"        -p\tthe pipe buffer size\n"
+"        -q  the maximum number of bytes in POSIX message queues\n"
+"        -s\tthe maximum stack size\n"
+"        -t\tthe maximum amount of cpu time in seconds\n"
+"        -u\tthe maximum number of user processes\n"
+"        -v\tthe size of virtual memory\n"
+"        -x  the maximum number of file locks\n"
+"    \n"
+"    If LIMIT is given, it is the new value of the specified resource;\n"
+"    the special LIMIT values ‘soft’, ‘hard’, and ‘unlimited’ stand for\n"
+"    the current soft limit, the current hard limit, and no limit, "
+"respectively.\n"
+"    Otherwise, the current value of the specified resource is printed.\n"
+"    If no option is given, then -f is assumed.  Values are in 1024-byte\n"
+"    increments, except for -t, which is in seconds, -p, which is in\n"
+"    increments of 512 bytes, and -u, which is an unscaled number of\n"
+"    processes."
 
-#: builtins.c:528
-msgid "then the shell exits, unless the shell option `execfail' is set."
-msgstr "then the shell exits, unless the shell option ‘execfail’ is set."
+#: builtins.c:1071
+msgid ""
+" The user file-creation mask is set to MODE.  If MODE is omitted, or if\n"
+"    `-S' is supplied, the current value of the mask is printed.  The `-S'\n"
+"    option makes the output symbolic; otherwise an octal number is output.\n"
+"    If `-p' is supplied, and MODE is omitted, the output is in a form\n"
+"    that may be used as input.  If MODE begins with a digit, it is\n"
+"    interpreted as an octal number, otherwise it is a symbolic mode string\n"
+"    like that accepted by chmod(1)."
+msgstr ""
+" The user file-creation mask is set to MODE.  If MODE is omitted, or if\n"
+"    ‘-S’ is supplied, the current value of the mask is printed.  The ‘-S’\n"
+"    option makes the output symbolic; otherwise an octal number is output.\n"
+"    If ‘-p’ is supplied, and MODE is omitted, the output is in a form\n"
+"    that may be used as input.  If MODE begins with a digit, it is\n"
+"    interpreted as an octal number, otherwise it is a symbolic mode string\n"
+"    like that accepted by chmod(1)."
 
-#: builtins.c:534
-msgid "Exit the shell with a status of N.  If N is omitted, the exit status"
-msgstr "Exit the shell with a status of N.  If N is omitted, the exit status"
+#: builtins.c:1084
+msgid ""
+" Wait for the specified process and report its termination status.  If\n"
+"    N is not given, all currently active child processes are waited for,\n"
+"    and the return code is zero.  N may be a process ID or a job\n"
+"    specification; if a job spec is given, all processes in the job's\n"
+"    pipeline are waited for."
+msgstr ""
+" Wait for the specified process and report its termination status.  If\n"
+"    N is not given, all currently active child processes are waited for,\n"
+"    and the return code is zero.  N may be a process ID or a job\n"
+"    specification; if a job spec is given, all processes in the job's\n"
+"    pipeline are waited for."
 
-#: builtins.c:535
-msgid "is that of the last command executed."
-msgstr "is that of the last command executed."
+#: builtins.c:1096
+msgid ""
+" Wait for the specified process and report its termination status.  If\n"
+"    N is not given, all currently active child processes are waited for,\n"
+"    and the return code is zero.  N is a process ID; if it is not given,\n"
+"    all child processes of the shell are waited for."
+msgstr ""
+" Wait for the specified process and report its termination status.  If\n"
+"    N is not given, all currently active child processes are waited for,\n"
+"    and the return code is zero.  N is a process ID; if it is not given,\n"
+"    all child processes of the shell are waited for."
+
+#: builtins.c:1106
+msgid ""
+" The `for' loop executes a sequence of commands for each member in a\n"
+"    list of items.  If `in WORDS ...;' is not present, then `in \"$@\"' is\n"
+"    assumed.  For each element in WORDS, NAME is set to that element, and\n"
+"    the COMMANDS are executed."
+msgstr ""
+" The ‘for’ loop executes a sequence of commands for each member in a\n"
+"    list of items.  If ‘in WORDS ...;’ is not present, then ‘in “$@”’ is\n"
+"    assumed.  For each element in WORDS, NAME is set to that element, and\n"
+"    the COMMANDS are executed."
+
+#: builtins.c:1115
+msgid ""
+" Equivalent to\n"
+"    \t(( EXP1 ))\n"
+"    \twhile (( EXP2 )); do\n"
+"    \t\tCOMMANDS\n"
+"    \t\t(( EXP3 ))\n"
+"    \tdone\n"
+"    EXP1, EXP2, and EXP3 are arithmetic expressions.  If any expression is\n"
+"    omitted, it behaves as if it evaluates to 1."
+msgstr ""
+" Equivalent to\n"
+"    \t(( EXP1 ))\n"
+"    \twhile (( EXP2 )); do\n"
+"    \t\tCOMMANDS\n"
+"    \t\t(( EXP3 ))\n"
+"    \tdone\n"
+"    EXP1, EXP2, and EXP3 are arithmetic expressions.  If any expression is\n"
+"    omitted, it behaves as if it evaluates to 1."
 
-#: builtins.c:541
-msgid "Logout of a login shell."
-msgstr "Logout of a login shell."
+#: builtins.c:1128
+msgid ""
+" The WORDS are expanded, generating a list of words.  The\n"
+"    set of expanded words is printed on the standard error, each\n"
+"    preceded by a number.  If `in WORDS' is not present, `in \"$@\"'\n"
+"    is assumed.  The PS3 prompt is then displayed and a line read\n"
+"    from the standard input.  If the line consists of the number\n"
+"    corresponding to one of the displayed words, then NAME is set\n"
+"    to that word.  If the line is empty, WORDS and the prompt are\n"
+"    redisplayed.  If EOF is read, the command completes.  Any other\n"
+"    value read causes NAME to be set to null.  The line read is saved\n"
+"    in the variable REPLY.  COMMANDS are executed after each selection\n"
+"    until a break command is executed."
+msgstr ""
+" The WORDS are expanded, generating a list of words.  The\n"
+"    set of expanded words is printed on the standard error, each\n"
+"    preceded by a number.  If ‘in WORDS’ is not present, ‘in “$@”’\n"
+"    is assumed.  The PS3 prompt is then displayed and a line read\n"
+"    from the standard input.  If the line consists of the number\n"
+"    corresponding to one of the displayed words, then NAME is set\n"
+"    to that word.  If the line is empty, WORDS and the prompt are\n"
+"    redisplayed.  If EOF is read, the command completes.  Any other\n"
+"    value read causes NAME to be set to null.  The line read is saved\n"
+"    in the variable REPLY.  COMMANDS are executed after each selection\n"
+"    until a break command is executed."
 
-#: builtins.c:548
+#: builtins.c:1144
 msgid ""
-"fc is used to list or edit and re-execute commands from the history list."
+" Execute PIPELINE and print a summary of the real time, user CPU time,\n"
+"    and system CPU time spent executing PIPELINE when it terminates.\n"
+"    The return status is the return status of PIPELINE.  The `-p' option\n"
+"    prints the timing summary in a slightly different format.  This uses\n"
+"    the value of the TIMEFORMAT variable as the output format."
 msgstr ""
-"fc is used to list or edit and re-execute commands from the history list."
-
-#: builtins.c:549
-msgid "FIRST and LAST can be numbers specifying the range, or FIRST can be a"
-msgstr "FIRST and LAST can be numbers specifying the range, or FIRST can be a"
-
-#: builtins.c:550
-msgid "string, which means the most recent command beginning with that"
-msgstr "string, which means the most recent command beginning with that"
+" Execute PIPELINE and print a summary of the real time, user CPU time,\n"
+"    and system CPU time spent executing PIPELINE when it terminates.\n"
+"    The return status is the return status of PIPELINE.  The ‘-p’ option\n"
+"    prints the timing summary in a slightly different format.  This uses\n"
+"    the value of the TIMEFORMAT variable as the output format."
 
-#: builtins.c:551
-msgid "string."
-msgstr "string."
+#: builtins.c:1154
+msgid ""
+" Selectively execute COMMANDS based upon WORD matching PATTERN.  The\n"
+"    `|' is used to separate multiple patterns."
+msgstr ""
+" Selectively execute COMMANDS based upon WORD matching PATTERN.  The\n"
+"    ‘|’ is used to separate multiple patterns."
+
+#: builtins.c:1161
+msgid ""
+" The `if COMMANDS' list is executed.  If its exit status is zero, then the\n"
+"    `then COMMANDS' list is executed.  Otherwise, each `elif COMMANDS' list "
+"is\n"
+"    executed in turn, and if its exit status is zero, the corresponding\n"
+"    `then COMMANDS' list is executed and the if command completes.  "
+"Otherwise,\n"
+"    the `else COMMANDS' list is executed, if present.  The exit status of "
+"the\n"
+"    entire construct is the exit status of the last command executed, or "
+"zero\n"
+"    if no condition tested true."
+msgstr ""
+" The ‘if COMMANDS’ list is executed.  If its exit status is zero, then the\n"
+"    ‘then COMMANDS’ list is executed.  Otherwise, each ‘elif COMMANDS’ list "
+"is\n"
+"    executed in turn, and if its exit status is zero, the corresponding\n"
+"    ‘then COMMANDS’ list is executed and the if command completes.  "
+"Otherwise,\n"
+"    the ‘else COMMANDS’ list is executed, if present.  The exit status of "
+"the\n"
+"    entire construct is the exit status of the last command executed, or "
+"zero\n"
+"    if no condition tested true."
 
-#: builtins.c:553
+#: builtins.c:1173
 msgid ""
-"   -e ENAME selects which editor to use.  Default is FCEDIT, then EDITOR,"
+" Expand and execute COMMANDS as long as the final command in the\n"
+"    `while' COMMANDS has an exit status of zero."
 msgstr ""
-"   -e ENAME selects which editor to use.  Default is FCEDIT, then EDITOR,"
-
-#: builtins.c:554
-msgid "      then vi."
-msgstr "      then vi."
+" Expand and execute COMMANDS as long as the final command in the\n"
+"    ‘while’ COMMANDS has an exit status of zero."
 
-#: builtins.c:556
-msgid "   -l means list lines instead of editing."
-msgstr "   -l means list lines instead of editing."
+#: builtins.c:1180
+msgid ""
+" Expand and execute COMMANDS as long as the final command in the\n"
+"    `until' COMMANDS has an exit status which is not zero."
+msgstr ""
+" Expand and execute COMMANDS as long as the final command in the\n"
+"    ‘until’ COMMANDS has an exit status which is not zero."
 
-#: builtins.c:557
-msgid "   -n means no line numbers listed."
-msgstr "   -n means no line numbers listed."
+#: builtins.c:1187
+msgid ""
+" Create a simple command invoked by NAME which runs COMMANDS.\n"
+"    Arguments on the command line along with NAME are passed to the\n"
+"    function as $0 .. $n."
+msgstr ""
+" Create a simple command invoked by NAME which runs COMMANDS.\n"
+"    Arguments on the command line along with NAME are passed to the\n"
+"    function as $0 .. $n."
 
-#: builtins.c:558
+#: builtins.c:1195
 msgid ""
-"   -r means reverse the order of the lines (making it newest listed first)."
+" Run a set of commands in a group.  This is one way to redirect an\n"
+"    entire set of commands."
 msgstr ""
-"   -r means reverse the order of the lines (making it newest listed first)."
+" Run a set of commands in a group.  This is one way to redirect an\n"
+"    entire set of commands."
 
-#: builtins.c:560
-msgid "With the `fc -s [pat=rep ...] [command]' format, the command is"
-msgstr "With the ‘fc -s [pat=rep ...] [command]’ format, the command is"
+#: builtins.c:1202
+msgid ""
+" Equivalent to the JOB_SPEC argument to the `fg' command.  Resume a\n"
+"    stopped or background job.  JOB_SPEC can specify either a job name\n"
+"    or a job number.  Following JOB_SPEC with a `&' places the job in\n"
+"    the background, as if the job specification had been supplied as an\n"
+"    argument to `bg'."
+msgstr ""
+" Equivalent to the JOB_SPEC argument to the ‘fg’ command.  Resume a\n"
+"    stopped or background job.  JOB_SPEC can specify either a job name\n"
+"    or a job number.  Following JOB_SPEC with a ‘&’ places the job in\n"
+"    the background, as if the job specification had been supplied as an\n"
+"    argument to ‘bg’."
 
-#: builtins.c:561
-msgid "re-executed after the substitution OLD=NEW is performed."
-msgstr "re-executed after the substitution OLD=NEW is performed."
+#: builtins.c:1212
+msgid ""
+" The EXPRESSION is evaluated according to the rules for arithmetic\n"
+"    evaluation.  Equivalent to \"let EXPRESSION\"."
+msgstr ""
+" The EXPRESSION is evaluated according to the rules for arithmetic\n"
+"    evaluation.  Equivalent to “let EXPRESSION”."
+
+#: builtins.c:1219
+msgid ""
+" Returns a status of 0 or 1 depending on the evaluation of the conditional\n"
+"    expression EXPRESSION.  Expressions are composed of the same primaries "
+"used\n"
+"    by the `test' builtin, and may be combined using the following "
+"operators\n"
+"    \n"
+"    \t( EXPRESSION )\tReturns the value of EXPRESSION\n"
+"    \t! EXPRESSION\tTrue if EXPRESSION is false; else false\n"
+"    \tEXPR1 && EXPR2\tTrue if both EXPR1 and EXPR2 are true; else false\n"
+"    \tEXPR1 || EXPR2\tTrue if either EXPR1 or EXPR2 is true; else false\n"
+"    \n"
+"    When the `==' and `!=' operators are used, the string to the right of "
+"the\n"
+"    operator is used as a pattern and pattern matching is performed.  The\n"
+"    && and || operators do not evaluate EXPR2 if EXPR1 is sufficient to\n"
+"    determine the expression's value."
+msgstr ""
+" Returns a status of 0 or 1 depending on the evaluation of the conditional\n"
+"    expression EXPRESSION.  Expressions are composed of the same primaries "
+"used\n"
+"    by the ‘test’ builtin, and may be combined using the following "
+"operators\n"
+"    \n"
+"    \t( EXPRESSION )\tReturns the value of EXPRESSION\n"
+"    \t! EXPRESSION\tTrue if EXPRESSION is false; else false\n"
+"    \tEXPR1 && EXPR2\tTrue if both EXPR1 and EXPR2 are true; else false\n"
+"    \tEXPR1 || EXPR2\tTrue if either EXPR1 or EXPR2 is true; else false\n"
+"    \n"
+"    When the ‘==’ and ‘!=’ operators are used, the string to the right of "
+"the\n"
+"    operator is used as a pattern and pattern matching is performed.  The\n"
+"    && and || operators do not evaluate EXPR2 if EXPR1 is sufficient to\n"
+"    determine the expression's value."
 
-#: builtins.c:563
-msgid "A useful alias to use with this is r='fc -s', so that typing `r cc'"
-msgstr "A useful alias to use with this is r='fc -s', so that typing ‘r cc’"
+#: builtins.c:1237
+msgid ""
+" BASH_VERSION    Version information for this Bash.\n"
+"    CDPATH          A colon-separated list of directories to search\n"
+"    \t\tfor directries given as arguments to `cd'.\n"
+"    GLOBIGNORE\tA colon-separated list of patterns describing filenames to\n"
+"    \t\tbe ignored by pathname expansion.\n"
+"    HISTFILE        The name of the file where your command history is "
+"stored.\n"
+"    HISTFILESIZE    The maximum number of lines this file can contain.\n"
+"    HISTSIZE        The maximum number of history lines that a running\n"
+"    \t\tshell can access.\n"
+"    HOME            The complete pathname to your login directory.\n"
+"    HOSTNAME\tThe name of the current host.\n"
+"    HOSTTYPE        The type of CPU this version of Bash is running under.\n"
+"    IGNOREEOF       Controls the action of the shell on receipt of an EOF\n"
+"    \t\tcharacter as the sole input.  If set, then the value\n"
+"    \t\tof it is the number of EOF characters that can be seen\n"
+"    \t\tin a row on an empty line before the shell will exit\n"
+"    \t\t(default 10).  When unset, EOF signifies the end of input.\n"
+"    MACHTYPE\tA string describing the current system Bash is running on.\n"
+"    MAILCHECK\tHow often, in seconds, Bash checks for new mail.\n"
+"    MAILPATH\tA colon-separated list of filenames which Bash checks\n"
+"    \t\tfor new mail.\n"
+"    OSTYPE\t\tThe version of Unix this version of Bash is running on.\n"
+"    PATH            A colon-separated list of directories to search when\n"
+"    \t\tlooking for commands.\n"
+"    PROMPT_COMMAND  A command to be executed before the printing of each\n"
+"    \t\tprimary prompt.\n"
+"    PS1             The primary prompt string.\n"
+"    PS2             The secondary prompt string.\n"
+"    PWD\t\tThe full pathname of the current directory.\n"
+"    SHELLOPTS\tA colon-separated list of enabled shell options.\n"
+"    TERM            The name of the current terminal type.\n"
+"    TIMEFORMAT\tThe output format for timing statistics displayed by the\n"
+"    \t\t`time' reserved word.\n"
+"    auto_resume     Non-null means a command word appearing on a line by\n"
+"    \t\titself is first looked for in the list of currently\n"
+"    \t\tstopped jobs.  If found there, that job is foregrounded.\n"
+"    \t\tA value of `exact' means that the command word must\n"
+"    \t\texactly match a command in the list of stopped jobs.  A\n"
+"    \t\tvalue of `substring' means that the command word must\n"
+"    \t\tmatch a substring of the job.  Any other value means that\n"
+"    \t\tthe command must be a prefix of a stopped job.\n"
+"    histchars       Characters controlling history expansion and quick\n"
+"    \t\tsubstitution.  The first character is the history\n"
+"    \t\tsubstitution character, usually `!'.  The second is\n"
+"    \t\tthe `quick substitution' character, usually `^'.  The\n"
+"    \t\tthird is the `history comment' character, usually `#'.\n"
+"    HISTIGNORE\tA colon-separated list of patterns used to decide which\n"
+"    \t\tcommands should be saved on the history list.\n"
+msgstr ""
+" BASH_VERSION    Version information for this Bash.\n"
+"    CDPATH          A colon-separated list of directories to search\n"
+"    \t\tfor directries given as arguments to ‘cd’.\n"
+"    GLOBIGNORE\tA colon-separated list of patterns describing filenames to\n"
+"    \t\tbe ignored by pathname expansion.\n"
+"    HISTFILE        The name of the file where your command history is "
+"stored.\n"
+"    HISTFILESIZE    The maximum number of lines this file can contain.\n"
+"    HISTSIZE        The maximum number of history lines that a running\n"
+"    \t\tshell can access.\n"
+"    HOME            The complete pathname to your login directory.\n"
+"    HOSTNAME\tThe name of the current host.\n"
+"    HOSTTYPE        The type of CPU this version of Bash is running under.\n"
+"    IGNOREEOF       Controls the action of the shell on receipt of an EOF\n"
+"    \t\tcharacter as the sole input.  If set, then the value\n"
+"    \t\tof it is the number of EOF characters that can be seen\n"
+"    \t\tin a row on an empty line before the shell will exit\n"
+"    \t\t(default 10).  When unset, EOF signifies the end of input.\n"
+"    MACHTYPE\tA string describing the current system Bash is running on.\n"
+"    MAILCHECK\tHow often, in seconds, Bash checks for new mail.\n"
+"    MAILPATH\tA colon-separated list of filenames which Bash checks\n"
+"    \t\tfor new mail.\n"
+"    OSTYPE\t\tThe version of Unix this version of Bash is running on.\n"
+"    PATH            A colon-separated list of directories to search when\n"
+"    \t\tlooking for commands.\n"
+"    PROMPT_COMMAND  A command to be executed before the printing of each\n"
+"    \t\tprimary prompt.\n"
+"    PS1             The primary prompt string.\n"
+"    PS2             The secondary prompt string.\n"
+"    PWD\t\tThe full pathname of the current directory.\n"
+"    SHELLOPTS\tA colon-separated list of enabled shell options.\n"
+"    TERM            The name of the current terminal type.\n"
+"    TIMEFORMAT\tThe output format for timing statistics displayed by the\n"
+"    \t\t‘time’ reserved word.\n"
+"    auto_resume     Non-null means a command word appearing on a line by\n"
+"    \t\titself is first looked for in the list of currently\n"
+"    \t\tstopped jobs.  If found there, that job is foregrounded.\n"
+"    \t\tA value of ‘exact’ means that the command word must\n"
+"    \t\texactly match a command in the list of stopped jobs.  A\n"
+"    \t\tvalue of ‘substring’ means that the command word must\n"
+"    \t\tmatch a substring of the job.  Any other value means that\n"
+"    \t\tthe command must be a prefix of a stopped job.\n"
+"    histchars       Characters controlling history expansion and quick\n"
+"    \t\tsubstitution.  The first character is the history\n"
+"    \t\tsubstitution character, usually ‘!’.  The second is\n"
+"    \t\tthe ‘quick substitution’ character, usually ‘^’.  The\n"
+"    \t\tthird is the ‘history comment’ character, usually ‘#’.\n"
+"    HISTIGNORE\tA colon-separated list of patterns used to decide which\n"
+"    \t\tcommands should be saved on the history list.\n"
 
-#: builtins.c:564
-msgid "runs the last command beginning with `cc' and typing `r' re-executes"
-msgstr "runs the last command beginning with ‘cc’ and typing ‘r’ re-executes"
+#: builtins.c:1292
+msgid ""
+" Adds a directory to the top of the directory stack, or rotates\n"
+"    the stack, making the new top of the stack the current working\n"
+"    directory.  With no arguments, exchanges the top two directories.\n"
+"    \n"
+"    +N\tRotates the stack so that the Nth directory (counting\n"
+"    \tfrom the left of the list shown by `dirs', starting with\n"
+"    \tzero) is at the top.\n"
+"    \n"
+"    -N\tRotates the stack so that the Nth directory (counting\n"
+"    \tfrom the right of the list shown by `dirs', starting with\n"
+"    \tzero) is at the top.\n"
+"    \n"
+"    -n\tsuppress the normal change of directory when adding directories\n"
+"    \tto the stack, so only the stack is manipulated.\n"
+"    \n"
+"    dir\tadds DIR to the directory stack at the top, making it the\n"
+"    \tnew current working directory.\n"
+"    \n"
+"    You can see the directory stack with the `dirs' command."
+msgstr ""
+" Adds a directory to the top of the directory stack, or rotates\n"
+"    the stack, making the new top of the stack the current working\n"
+"    directory.  With no arguments, exchanges the top two directories.\n"
+"    \n"
+"    +N\tRotates the stack so that the Nth directory (counting\n"
+"    \tfrom the left of the list shown by ‘dirs’, starting with\n"
+"    \tzero) is at the top.\n"
+"    \n"
+"    -N\tRotates the stack so that the Nth directory (counting\n"
+"    \tfrom the right of the list shown by ‘dirs’, starting with\n"
+"    \tzero) is at the top.\n"
+"    \n"
+"    -n\tsuppress the normal change of directory when adding directories\n"
+"    \tto the stack, so only the stack is manipulated.\n"
+"    \n"
+"    dir\tadds DIR to the directory stack at the top, making it the\n"
+"    \tnew current working directory.\n"
+"    \n"
+"    You can see the directory stack with the ‘dirs’ command."
 
-#: builtins.c:565
-msgid "the last command."
-msgstr "the last command."
+#: builtins.c:1318
+msgid ""
+" Removes entries from the directory stack.  With no arguments,\n"
+"    removes the top directory from the stack, and cd's to the new\n"
+"    top directory.\n"
+"    \n"
+"    +N\tremoves the Nth entry counting from the left of the list\n"
+"    \tshown by `dirs', starting with zero.  For example: `popd +0'\n"
+"    \tremoves the first directory, `popd +1' the second.\n"
+"    \n"
+"    -N\tremoves the Nth entry counting from the right of the list\n"
+"    \tshown by `dirs', starting with zero.  For example: `popd -0'\n"
+"    \tremoves the last directory, `popd -1' the next to last.\n"
+"    \n"
+"    -n\tsuppress the normal change of directory when removing directories\n"
+"    \tfrom the stack, so only the stack is manipulated.\n"
+"    \n"
+"    You can see the directory stack with the `dirs' command."
+msgstr ""
+" Removes entries from the directory stack.  With no arguments,\n"
+"    removes the top directory from the stack, and cd's to the new\n"
+"    top directory.\n"
+"    \n"
+"    +N\tremoves the Nth entry counting from the left of the list\n"
+"    \tshown by ‘dirs’, starting with zero.  For example: ‘popd +0’\n"
+"    \tremoves the first directory, ‘popd +1’ the second.\n"
+"    \n"
+"    -N\tremoves the Nth entry counting from the right of the list\n"
+"    \tshown by ‘dirs’, starting with zero.  For example: ‘popd -0’\n"
+"    \tremoves the last directory, ‘popd -1’ the next to last.\n"
+"    \n"
+"    -n\tsuppress the normal change of directory when removing directories\n"
+"    \tfrom the stack, so only the stack is manipulated.\n"
+"    \n"
+"    You can see the directory stack with the ‘dirs’ command."
 
-#: builtins.c:573
-msgid "Place JOB_SPEC in the foreground, and make it the current job.  If"
-msgstr "Place JOB_SPEC in the foreground, and make it the current job.  If"
+#: builtins.c:1341
+msgid ""
+" Display the list of currently remembered directories.  Directories\n"
+"    find their way onto the list with the `pushd' command; you can get\n"
+"    back up through the list with the `popd' command.\n"
+"    \n"
+"    The -l flag specifies that `dirs' should not print shorthand versions\n"
+"    of directories which are relative to your home directory.  This means\n"
+"    that `~/bin' might be displayed as `/homes/bfox/bin'.  The -v flag\n"
+"    causes `dirs' to print the directory stack with one entry per line,\n"
+"    prepending the directory name with its position in the stack.  The -p\n"
+"    flag does the same thing, but the stack position is not prepended.\n"
+"    The -c flag clears the directory stack by deleting all of the elements.\n"
+"    \n"
+"    +N\tdisplays the Nth entry counting from the left of the list shown by\n"
+"    \tdirs when invoked without options, starting with zero.\n"
+"    \n"
+"    -N\tdisplays the Nth entry counting from the right of the list shown by\n"
+"    \tdirs when invoked without options, starting with zero."
+msgstr ""
+" Display the list of currently remembered directories.  Directories\n"
+"    find their way onto the list with the ‘pushd’ command; you can get\n"
+"    back up through the list with the ‘popd’ command.\n"
+"    \n"
+"    The -l flag specifies that ‘dirs’ should not print shorthand versions\n"
+"    of directories which are relative to your home directory.  This means\n"
+"    that ‘~/bin’ might be displayed as ‘/homes/bfox/bin’.  The -v flag\n"
+"    causes ‘dirs’ to print the directory stack with one entry per line,\n"
+"    prepending the directory name with its position in the stack.  The -p\n"
+"    flag does the same thing, but the stack position is not prepended.\n"
+"    The -c flag clears the directory stack by deleting all of the elements.\n"
+"    \n"
+"    +N\tdisplays the Nth entry counting from the left of the list shown by\n"
+"    \tdirs when invoked without options, starting with zero.\n"
+"    \n"
+"    -N\tdisplays the Nth entry counting from the right of the list shown by\n"
+"    \tdirs when invoked without options, starting with zero."
+
+#: builtins.c:1364
+msgid ""
+" Toggle the values of variables controlling optional behavior.\n"
+"    The -s flag means to enable (set) each OPTNAME; the -u flag\n"
+"    unsets each OPTNAME.  The -q flag suppresses output; the exit\n"
+"    status indicates whether each OPTNAME is set or unset.  The -o\n"
+"    option restricts the OPTNAMEs to those defined for use with\n"
+"    `set -o'.  With no options, or with the -p option, a list of all\n"
+"    settable options is displayed, with an indication of whether or\n"
+"    not each is set."
+msgstr ""
+" Toggle the values of variables controlling optional behavior.\n"
+"    The -s flag means to enable (set) each OPTNAME; the -u flag\n"
+"    unsets each OPTNAME.  The -q flag suppresses output; the exit\n"
+"    status indicates whether each OPTNAME is set or unset.  The -o\n"
+"    option restricts the OPTNAMEs to those defined for use with\n"
+"    ‘set -o’.  With no options, or with the -p option, a list of all\n"
+"    settable options is displayed, with an indication of whether or\n"
+"    not each is set."
+
+#: builtins.c:1377
+msgid ""
+" printf formats and prints ARGUMENTS under control of the FORMAT. FORMAT\n"
+"    is a character string which contains three types of objects: plain\n"
+"    characters, which are simply copied to standard output, character "
+"escape\n"
+"    sequences which are converted and copied to the standard output, and\n"
+"    format specifications, each of which causes printing of the next "
+"successive\n"
+"    argument.  In addition to the standard printf(1) formats, %b means to\n"
+"    expand backslash escape sequences in the corresponding argument, and %q\n"
+"    means to quote the argument in a way that can be reused as shell input.\n"
+"    If the -v option is supplied, the output is placed into the value of "
+"the\n"
+"    shell variable VAR rather than being sent to the standard output."
+msgstr ""
+" printf formats and prints ARGUMENTS under control of the FORMAT. FORMAT\n"
+"    is a character string which contains three types of objects: plain\n"
+"    characters, which are simply copied to standard output, character "
+"escape\n"
+"    sequences which are converted and copied to the standard output, and\n"
+"    format specifications, each of which causes printing of the next "
+"successive\n"
+"    argument.  In addition to the standard printf(1) formats, %b means to\n"
+"    expand backslash escape sequences in the corresponding argument, and %q\n"
+"    means to quote the argument in a way that can be reused as shell input.\n"
+"    If the -v option is supplied, the output is placed into the value of "
+"the\n"
+"    shell variable VAR rather than being sent to the standard output."
 
-#: builtins.c:574
-msgid "JOB_SPEC is not present, the shell's notion of the current job is"
-msgstr "JOB_SPEC is not present, the shell's notion of the current job is"
-
-#: builtins.c:575
-msgid "used."
-msgstr "used."
-
-#: builtins.c:583
-msgid "Place JOB_SPEC in the background, as if it had been started with"
-msgstr "Place JOB_SPEC in the background, as if it had been started with"
-
-#: builtins.c:584
-msgid "`&'.  If JOB_SPEC is not present, the shell's notion of the current"
-msgstr "‘&’.  If JOB_SPEC is not present, the shell's notion of the current"
-
-#: builtins.c:585
-msgid "job is used."
-msgstr "job is used."
-
-#: builtins.c:592
-msgid "For each NAME, the full pathname of the command is determined and"
-msgstr "For each NAME, the full pathname of the command is determined and"
-
-#: builtins.c:593
-msgid "remembered.  If the -p option is supplied, PATHNAME is used as the"
-msgstr "remembered.  If the -p option is supplied, PATHNAME is used as the"
-
-#: builtins.c:594
-msgid "full pathname of NAME, and no path search is performed.  The -r"
-msgstr "full pathname of NAME, and no path search is performed.  The -r"
-
-#: builtins.c:595
-msgid "option causes the shell to forget all remembered locations.  The -d"
-msgstr "option causes the shell to forget all remembered locations.  The -d"
-
-#: builtins.c:596
-msgid "option causes the shell to forget the remembered location of each NAME."
-msgstr ""
-"option causes the shell to forget the remembered location of each NAME."
-
-#: builtins.c:597
-msgid "If the -t option is supplied the full pathname to which each NAME"
-msgstr "If the -t option is supplied the full pathname to which each NAME"
-
-#: builtins.c:598
-msgid "corresponds is printed.  If multiple NAME arguments are supplied with"
-msgstr "corresponds is printed.  If multiple NAME arguments are supplied with"
-
-#: builtins.c:599
-msgid "-t, the NAME is printed before the hashed full pathname.  The -l option"
-msgstr ""
-"-t, the NAME is printed before the hashed full pathname.  The -l option"
-
-#: builtins.c:600
-msgid "causes output to be displayed in a format that may be reused as input."
-msgstr "causes output to be displayed in a format that may be reused as input."
-
-#: builtins.c:601
-msgid ""
-"If no arguments are given, information about remembered commands is "
-"displayed."
-msgstr ""
-"If no arguments are given, information about remembered commands is "
-"displayed."
-
-#: builtins.c:608
-msgid "Display helpful information about builtin commands.  If PATTERN is"
-msgstr "Display helpful information about builtin commands.  If PATTERN is"
-
-#: builtins.c:609
-msgid "specified, gives detailed help on all commands matching PATTERN,"
-msgstr "specified, gives detailed help on all commands matching PATTERN,"
-
-#: builtins.c:610
-msgid "otherwise a list of the builtins is printed.  The -s option"
-msgstr "otherwise a list of the builtins is printed.  The -s option"
-
-#: builtins.c:611
-msgid "restricts the output for each builtin command matching PATTERN to"
-msgstr "restricts the output for each builtin command matching PATTERN to"
-
-#: builtins.c:612
-msgid "a short usage synopsis."
-msgstr "a short usage synopsis."
-
-#: builtins.c:620
-msgid "Display the history list with line numbers.  Lines listed with"
-msgstr "Display the history list with line numbers.  Lines listed with"
-
-#: builtins.c:621
-msgid "with a `*' have been modified.  Argument of N says to list only"
-msgstr "with a ‘*’ have been modified.  Argument of N says to list only"
-
-#: builtins.c:622
-msgid "the last N lines.  The `-c' option causes the history list to be"
-msgstr "the last N lines.  The ‘-c’ option causes the history list to be"
-
-#: builtins.c:623
-msgid "cleared by deleting all of the entries.  The `-d' option deletes"
-msgstr "cleared by deleting all of the entries.  The ‘-d’ option deletes"
-
-#: builtins.c:624
-msgid "the history entry at offset OFFSET.  The `-w' option writes out the"
-msgstr "the history entry at offset OFFSET.  The ‘-w’ option writes out the"
-
-#: builtins.c:625
-msgid "current history to the history file;  `-r' means to read the file and"
-msgstr "current history to the history file;  ‘-r’ means to read the file and"
-
-#: builtins.c:626
-msgid "append the contents to the history list instead.  `-a' means"
-msgstr "append the contents to the history list instead.  ‘-a’ means"
-
-#: builtins.c:627
-msgid "to append history lines from this session to the history file."
-msgstr "to append history lines from this session to the history file."
-
-#: builtins.c:628
-msgid "Argument `-n' means to read all history lines not already read"
-msgstr "Argument ‘-n’ means to read all history lines not already read"
-
-#: builtins.c:629
-msgid "from the history file and append them to the history list."
-msgstr "from the history file and append them to the history list."
-
-#: builtins.c:631
-msgid "If FILENAME is given, then that is used as the history file else"
-msgstr "If FILENAME is given, then that is used as the history file else"
-
-#: builtins.c:632
-msgid "if $HISTFILE has a value, that is used, else ~/.bash_history."
-msgstr "if $HISTFILE has a value, that is used, else ~/.bash_history."
-
-#: builtins.c:633
-msgid "If the -s option is supplied, the non-option ARGs are appended to"
-msgstr "If the -s option is supplied, the non-option ARGs are appended to"
-
-#: builtins.c:634
-msgid "the history list as a single entry.  The -p option means to perform"
-msgstr "the history list as a single entry.  The -p option means to perform"
-
-#: builtins.c:635
-msgid "history expansion on each ARG and display the result, without storing"
-msgstr "history expansion on each ARG and display the result, without storing"
-
-#: builtins.c:636
-msgid "anything in the history list."
-msgstr "anything in the history list."
-
-#: builtins.c:638
-msgid "If the $HISTTIMEFORMAT variable is set and not null, its value is used"
-msgstr "If the $HISTTIMEFORMAT variable is set and not null, its value is used"
-
-#: builtins.c:639
-msgid "as a format string for strftime(3) to print the time stamp associated"
-msgstr "as a format string for strftime(3) to print the time stamp associated"
-
-#: builtins.c:640
-msgid ""
-"with each displayed history entry.  No time stamps are printed otherwise."
-msgstr ""
-"with each displayed history entry.  No time stamps are printed otherwise."
-
-#: builtins.c:648
-msgid "Lists the active jobs.  The -l option lists process id's in addition"
-msgstr "Lists the active jobs.  The -l option lists process id's in addition"
-
-#: builtins.c:649
-msgid "to the normal information; the -p option lists process id's only."
-msgstr "to the normal information; the -p option lists process id's only."
-
-#: builtins.c:650
-msgid "If -n is given, only processes that have changed status since the last"
-msgstr "If -n is given, only processes that have changed status since the last"
-
-#: builtins.c:651
-msgid "notification are printed.  JOBSPEC restricts output to that job.  The"
-msgstr "notification are printed.  JOBSPEC restricts output to that job.  The"
-
-#: builtins.c:652
-msgid "-r and -s options restrict output to running and stopped jobs only,"
-msgstr "-r and -s options restrict output to running and stopped jobs only,"
-
-#: builtins.c:653
-msgid "respectively.  Without options, the status of all active jobs is"
-msgstr "respectively.  Without options, the status of all active jobs is"
-
-#: builtins.c:654
-msgid "printed.  If -x is given, COMMAND is run after all job specifications"
-msgstr "printed.  If -x is given, COMMAND is run after all job specifications"
-
-#: builtins.c:655
-msgid ""
-"that appear in ARGS have been replaced with the process ID of that job's"
-msgstr ""
-"that appear in ARGS have been replaced with the process ID of that job's"
-
-#: builtins.c:656
-msgid "process group leader."
-msgstr "process group leader."
-
-#: builtins.c:664
-msgid ""
-"By default, removes each JOBSPEC argument from the table of active jobs."
-msgstr ""
-"By default, removes each JOBSPEC argument from the table of active jobs."
-
-#: builtins.c:665
-msgid ""
-"If the -h option is given, the job is not removed from the table, but is"
-msgstr ""
-"If the -h option is given, the job is not removed from the table, but is"
-
-#: builtins.c:666
-msgid "marked so that SIGHUP is not sent to the job if the shell receives a"
-msgstr "marked so that SIGHUP is not sent to the job if the shell receives a"
-
-#: builtins.c:667
-msgid ""
-"SIGHUP.  The -a option, when JOBSPEC is not supplied, means to remove all"
-msgstr ""
-"SIGHUP.  The -a option, when JOBSPEC is not supplied, means to remove all"
-
-#: builtins.c:668
-msgid ""
-"jobs from the job table; the -r option means to remove only running jobs."
-msgstr ""
-"jobs from the job table; the -r option means to remove only running jobs."
-
-#: builtins.c:675
-#, fuzzy
-msgid "Send the processes named by PID (or JOBSPEC) the signal SIGSPEC.  If"
-msgstr "Send the processes named by PID (or JOB) the signal SIGSPEC.  If"
-
-#: builtins.c:676
-msgid "SIGSPEC is not present, then SIGTERM is assumed.  An argument of `-l'"
-msgstr "SIGSPEC is not present, then SIGTERM is assumed.  An argument of ‘-l’"
-
-#: builtins.c:677
-msgid "lists the signal names; if arguments follow `-l' they are assumed to"
-msgstr "lists the signal names; if arguments follow ‘-l’ they are assumed to"
-
-#: builtins.c:678
-msgid "be signal numbers for which names should be listed.  Kill is a shell"
-msgstr "be signal numbers for which names should be listed.  Kill is a shell"
-
-#: builtins.c:679
-msgid "builtin for two reasons: it allows job IDs to be used instead of"
-msgstr "builtin for two reasons: it allows job IDs to be used instead of"
-
-#: builtins.c:680
-msgid "process IDs, and, if you have reached the limit on processes that"
-msgstr "process IDs, and, if you have reached the limit on processes that"
-
-#: builtins.c:681
-msgid "you can create, you don't have to start a process to kill another one."
-msgstr "you can create, you don't have to start a process to kill another one."
-
-#: builtins.c:687
-msgid "Each ARG is an arithmetic expression to be evaluated.  Evaluation"
-msgstr "Each ARG is an arithmetic expression to be evaluated.  Evaluation"
-
-#: builtins.c:688
-msgid "is done in fixed-width integers with no check for overflow, though"
-msgstr "is done in fixed-width integers with no check for overflow, though"
-
-#: builtins.c:689
-msgid "division by 0 is trapped and flagged as an error.  The following"
-msgstr "division by 0 is trapped and flagged as an error.  The following"
-
-#: builtins.c:690
-msgid "list of operators is grouped into levels of equal-precedence operators."
-msgstr ""
-"list of operators is grouped into levels of equal-precedence operators."
-
-#: builtins.c:691
-msgid "The levels are listed in order of decreasing precedence."
-msgstr "The levels are listed in order of decreasing precedence."
-
-#: builtins.c:693
-msgid "\tid++, id--\tvariable post-increment, post-decrement"
-msgstr "\tid++, id--\tvariable post-increment, post-decrement"
-
-#: builtins.c:694
-msgid "\t++id, --id\tvariable pre-increment, pre-decrement"
-msgstr "\t++id, --id\tvariable pre-increment, pre-decrement"
-
-#: builtins.c:695
-msgid "\t-, +\t\tunary minus, plus"
-msgstr "\t-, +\t\tunary minus, plus"
-
-#: builtins.c:696
-msgid "\t!, ~\t\tlogical and bitwise negation"
-msgstr "\t!, ~\t\tlogical and bitwise negation"
-
-#: builtins.c:697
-msgid "\t**\t\texponentiation"
-msgstr "\t**\t\texponentiation"
-
-#: builtins.c:698
-msgid "\t*, /, %\t\tmultiplication, division, remainder"
-msgstr "\t*, /, %\t\tmultiplication, division, remainder"
-
-#: builtins.c:699
-msgid "\t+, -\t\taddition, subtraction"
-msgstr "\t+, -\t\taddition, subtraction"
-
-#: builtins.c:700
-msgid "\t<<, >>\t\tleft and right bitwise shifts"
-msgstr "\t<<, >>\t\tleft and right bitwise shifts"
-
-#: builtins.c:701
-msgid "\t<=, >=, <, >\tcomparison"
-msgstr "\t<=, >=, <, >\tcomparison"
-
-#: builtins.c:702
-msgid "\t==, !=\t\tequality, inequality"
-msgstr "\t==, !=\t\tequality, inequality"
-
-#: builtins.c:703
-msgid "\t&\t\tbitwise AND"
-msgstr "\t&\t\tbitwise AND"
-
-#: builtins.c:704
-msgid "\t^\t\tbitwise XOR"
-msgstr "\t^\t\tbitwise XOR"
-
-#: builtins.c:705
-msgid "\t|\t\tbitwise OR"
-msgstr "\t|\t\tbitwise OR"
-
-#: builtins.c:706
-msgid "\t&&\t\tlogical AND"
-msgstr "\t&&\t\tlogical AND"
-
-#: builtins.c:707
-msgid "\t||\t\tlogical OR"
-msgstr "\t||\t\tlogical OR"
-
-#: builtins.c:708
-msgid "\texpr ? expr : expr"
-msgstr "\texpr ? expr : expr"
-
-#: builtins.c:709
-msgid "\t\t\tconditional operator"
-msgstr "\t\t\tconditional operator"
-
-#: builtins.c:710
-msgid "\t=, *=, /=, %=,"
-msgstr "\t=, *=, /=, %=,"
-
-#: builtins.c:711
-msgid "\t+=, -=, <<=, >>=,"
-msgstr "\t+=, -=, <<=, >>=,"
-
-#: builtins.c:712
-msgid "\t&=, ^=, |=\tassignment"
-msgstr "\t&=, ^=, |=\tassignment"
-
-#: builtins.c:714
-msgid "Shell variables are allowed as operands.  The name of the variable"
-msgstr "Shell variables are allowed as operands.  The name of the variable"
-
-#: builtins.c:715
-msgid "is replaced by its value (coerced to a fixed-width integer) within"
-msgstr "is replaced by its value (coerced to a fixed-width integer) within"
-
-#: builtins.c:716
-msgid "an expression.  The variable need not have its integer attribute"
-msgstr "an expression.  The variable need not have its integer attribute"
-
-#: builtins.c:717
-msgid "turned on to be used in an expression."
-msgstr "turned on to be used in an expression."
-
-#: builtins.c:719
-msgid "Operators are evaluated in order of precedence.  Sub-expressions in"
-msgstr "Operators are evaluated in order of precedence.  Sub-expressions in"
-
-#: builtins.c:720
-msgid "parentheses are evaluated first and may override the precedence"
-msgstr "parentheses are evaluated first and may override the precedence"
-
-#: builtins.c:721
-msgid "rules above."
-msgstr "rules above."
-
-#: builtins.c:723
-msgid "If the last ARG evaluates to 0, let returns 1; 0 is returned"
-msgstr "If the last ARG evaluates to 0, let returns 1; 0 is returned"
-
-#: builtins.c:724
-msgid "otherwise."
-msgstr "otherwise."
-
-#: builtins.c:730
-msgid ""
-"One line is read from the standard input, or from file descriptor FD if the"
-msgstr ""
-"One line is read from the standard input, or from file descriptor FD if the"
-
-#: builtins.c:731
-msgid ""
-"-u option is supplied, and the first word is assigned to the first NAME,"
-msgstr ""
-"-u option is supplied, and the first word is assigned to the first NAME,"
-
-#: builtins.c:732
-msgid ""
-"the second word to the second NAME, and so on, with leftover words assigned"
-msgstr ""
-"the second word to the second NAME, and so on, with leftover words assigned"
-
-#: builtins.c:733
-msgid ""
-"to the last NAME.  Only the characters found in $IFS are recognized as word"
-msgstr ""
-"to the last NAME.  Only the characters found in $IFS are recognized as word"
-
-#: builtins.c:734
-msgid ""
-"delimiters.  If no NAMEs are supplied, the line read is stored in the REPLY"
-msgstr ""
-"delimiters.  If no NAMEs are supplied, the line read is stored in the REPLY"
-
-#: builtins.c:735
-msgid "variable.  If the -r option is given, this signifies `raw' input, and"
-msgstr "variable.  If the -r option is given, this signifies ‘raw’ input, and"
-
-#: builtins.c:736
-msgid "backslash escaping is disabled.  The -d option causes read to continue"
-msgstr "backslash escaping is disabled.  The -d option causes read to continue"
-
-#: builtins.c:737
-msgid ""
-"until the first character of DELIM is read, rather than newline.  If the -p"
-msgstr ""
-"until the first character of DELIM is read, rather than newline.  If the -p"
-
-#: builtins.c:738
-msgid ""
-"option is supplied, the string PROMPT is output without a trailing newline"
-msgstr ""
-"option is supplied, the string PROMPT is output without a trailing newline"
-
-#: builtins.c:739
-msgid ""
-"before attempting to read.  If -a is supplied, the words read are assigned"
-msgstr ""
-"before attempting to read.  If -a is supplied, the words read are assigned"
-
-#: builtins.c:740
-msgid ""
-"to sequential indices of ARRAY, starting at zero.  If -e is supplied and"
-msgstr ""
-"to sequential indices of ARRAY, starting at zero.  If -e is supplied and"
-
-#: builtins.c:741
-msgid ""
-"the shell is interactive, readline is used to obtain the line.  If -n is"
-msgstr ""
-"the shell is interactive, readline is used to obtain the line.  If -n is"
-
-#: builtins.c:742
-msgid "supplied with a non-zero NCHARS argument, read returns after NCHARS"
-msgstr "supplied with a non-zero NCHARS argument, read returns after NCHARS"
-
-#: builtins.c:743
-msgid "characters have been read.  The -s option causes input coming from a"
-msgstr "characters have been read.  The -s option causes input coming from a"
-
-#: builtins.c:744
-msgid "terminal to not be echoed."
-msgstr "terminal to not be echoed."
-
-#: builtins.c:746
-msgid ""
-"The -t option causes read to time out and return failure if a complete line"
-msgstr ""
-"The -t option causes read to time out and return failure if a complete line"
-
-#: builtins.c:747
-msgid ""
-"of input is not read within TIMEOUT seconds.  If the TMOUT variable is set,"
-msgstr ""
-"of input is not read within TIMEOUT seconds.  If the TMOUT variable is set,"
-
-#: builtins.c:748
-msgid ""
-"its value is the default timeout.  The return code is zero, unless end-of-"
-"file"
-msgstr ""
-"its value is the default timeout.  The return code is zero, unless end-of-"
-"file"
-
-#: builtins.c:749
-msgid ""
-"is encountered, read times out, or an invalid file descriptor is supplied as"
-msgstr ""
-"is encountered, read times out, or an invalid file descriptor is supplied as"
-
-#: builtins.c:750
-msgid "the argument to -u."
-msgstr "the argument to -u."
-
-#: builtins.c:756
-msgid "Causes a function to exit with the return value specified by N.  If N"
-msgstr "Causes a function to exit with the return value specified by N.  If N"
-
-#: builtins.c:757
-msgid "is omitted, the return status is that of the last command."
-msgstr "is omitted, the return status is that of the last command."
-
-#: builtins.c:763
-msgid "    -a  Mark variables which are modified or created for export."
-msgstr "    -a  Mark variables which are modified or created for export."
-
-#: builtins.c:764
-msgid "    -b  Notify of job termination immediately."
-msgstr "    -b  Notify of job termination immediately."
-
-#: builtins.c:765
-msgid "    -e  Exit immediately if a command exits with a non-zero status."
-msgstr "    -e  Exit immediately if a command exits with a non-zero status."
-
-#: builtins.c:766
-msgid "    -f  Disable file name generation (globbing)."
-msgstr "    -f  Disable file name generation (globbing)."
-
-#: builtins.c:767
-msgid "    -h  Remember the location of commands as they are looked up."
-msgstr "    -h  Remember the location of commands as they are looked up."
-
-#: builtins.c:768
-msgid "    -k  All assignment arguments are placed in the environment for a"
-msgstr "    -k  All assignment arguments are placed in the environment for a"
-
-#: builtins.c:769
-msgid "        command, not just those that precede the command name."
-msgstr "        command, not just those that precede the command name."
-
-#: builtins.c:770
-msgid "    -m  Job control is enabled."
-msgstr "    -m  Job control is enabled."
-
-#: builtins.c:771
-msgid "    -n  Read commands but do not execute them."
-msgstr "    -n  Read commands but do not execute them."
-
-#: builtins.c:772
-msgid "    -o option-name"
-msgstr "    -o option-name"
-
-#: builtins.c:773
-msgid "        Set the variable corresponding to option-name:"
-msgstr "        Set the variable corresponding to option-name:"
-
-#: builtins.c:774
-msgid "            allexport    same as -a"
-msgstr "            allexport    same as -a"
-
-#: builtins.c:775
-msgid "            braceexpand  same as -B"
-msgstr "            braceexpand  same as -B"
-
-#: builtins.c:777
-msgid "            emacs        use an emacs-style line editing interface"
-msgstr "            emacs        use an emacs-style line editing interface"
-
-#: builtins.c:779
-msgid "            errexit      same as -e"
-msgstr "            errexit      same as -e"
-
-#: builtins.c:780
-msgid "            errtrace     same as -E"
-msgstr "            errtrace     same as -E"
-
-#: builtins.c:781
-msgid "            functrace    same as -T"
-msgstr "            functrace    same as -T"
-
-#: builtins.c:782
-msgid "            hashall      same as -h"
-msgstr "            hashall      same as -h"
-
-#: builtins.c:784
-msgid "            histexpand   same as -H"
-msgstr "            histexpand   same as -H"
-
-#: builtins.c:787
-msgid "            history      enable command history"
-msgstr "            history      enable command history"
-
-#: builtins.c:789
-msgid "            ignoreeof    the shell will not exit upon reading EOF"
-msgstr "            ignoreeof    the shell will not exit upon reading EOF"
-
-#: builtins.c:790
-msgid "            interactive-comments"
-msgstr "            interactive-comments"
-
-#: builtins.c:791
-msgid ""
-"                         allow comments to appear in interactive commands"
-msgstr ""
-"                         allow comments to appear in interactive commands"
-
-#: builtins.c:792
-msgid "            keyword      same as -k"
-msgstr "            keyword      same as -k"
-
-#: builtins.c:793
-msgid "            monitor      same as -m"
-msgstr "            monitor      same as -m"
-
-#: builtins.c:794
-msgid "            noclobber    same as -C"
-msgstr "            noclobber    same as -C"
-
-#: builtins.c:795
-msgid "            noexec       same as -n"
-msgstr "            noexec       same as -n"
-
-#: builtins.c:796
-msgid "            noglob       same as -f"
-msgstr "            noglob       same as -f"
-
-#: builtins.c:797
-msgid "            nolog        currently accepted but ignored"
-msgstr "            nolog        currently accepted but ignored"
-
-#: builtins.c:798
-msgid "            notify       same as -b"
-msgstr "            notify       same as -b"
-
-#: builtins.c:799
-msgid "            nounset      same as -u"
-msgstr "            nounset      same as -u"
-
-#: builtins.c:800
-msgid "            onecmd       same as -t"
-msgstr "            onecmd       same as -t"
-
-#: builtins.c:801
-msgid "            physical     same as -P"
-msgstr "            physical     same as -P"
-
-#: builtins.c:802
-msgid ""
-"            pipefail     the return value of a pipeline is the status of"
-msgstr ""
-"            pipefail     the return value of a pipeline is the status of"
-
-#: builtins.c:803
-msgid ""
-"                         the last command to exit with a non-zero status,"
-msgstr ""
-"                         the last command to exit with a non-zero status,"
-
-#: builtins.c:804
-msgid ""
-"                         or zero if no command exited with a non-zero status"
-msgstr ""
-"                         or zero if no command exited with a non-zero status"
-
-#: builtins.c:805
-msgid "            posix        change the behavior of bash where the default"
-msgstr "            posix        change the behavior of bash where the default"
-
-#: builtins.c:806
-msgid "                         operation differs from the 1003.2 standard to"
-msgstr "                         operation differs from the 1003.2 standard to"
-
-#: builtins.c:807
-msgid "                         match the standard"
-msgstr "                         match the standard"
-
-#: builtins.c:808
-msgid "            privileged   same as -p"
-msgstr "            privileged   same as -p"
-
-#: builtins.c:809
-msgid "            verbose      same as -v"
-msgstr "            verbose      same as -v"
-
-#: builtins.c:811
-msgid "            vi           use a vi-style line editing interface"
-msgstr "            vi           use a vi-style line editing interface"
-
-#: builtins.c:813
-msgid "            xtrace       same as -x"
-msgstr "            xtrace       same as -x"
-
-#: builtins.c:814
-msgid ""
-"    -p  Turned on whenever the real and effective user ids do not match."
-msgstr ""
-"    -p  Turned on whenever the real and effective user ids do not match."
-
-#: builtins.c:815
-msgid "        Disables processing of the $ENV file and importing of shell"
-msgstr "        Disables processing of the $ENV file and importing of shell"
-
-#: builtins.c:816
-msgid ""
-"        functions.  Turning this option off causes the effective uid and"
-msgstr ""
-"        functions.  Turning this option off causes the effective uid and"
-
-#: builtins.c:817
-msgid "        gid to be set to the real uid and gid."
-msgstr "        gid to be set to the real uid and gid."
-
-#: builtins.c:818
-msgid "    -t  Exit after reading and executing one command."
-msgstr "    -t  Exit after reading and executing one command."
-
-#: builtins.c:819
-msgid "    -u  Treat unset variables as an error when substituting."
-msgstr "    -u  Treat unset variables as an error when substituting."
-
-#: builtins.c:820
-msgid "    -v  Print shell input lines as they are read."
-msgstr "    -v  Print shell input lines as they are read."
-
-#: builtins.c:821
-msgid "    -x  Print commands and their arguments as they are executed."
-msgstr "    -x  Print commands and their arguments as they are executed."
-
-#: builtins.c:823
-msgid "    -B  the shell will perform brace expansion"
-msgstr "    -B  the shell will perform brace expansion"
-
-#: builtins.c:825
-msgid "    -C  If set, disallow existing regular files to be overwritten"
-msgstr "    -C  If set, disallow existing regular files to be overwritten"
-
-#: builtins.c:826
-msgid "        by redirection of output."
-msgstr "        by redirection of output."
-
-#: builtins.c:827
-msgid "    -E  If set, the ERR trap is inherited by shell functions."
-msgstr "    -E  If set, the ERR trap is inherited by shell functions."
-
-#: builtins.c:829
-msgid "    -H  Enable ! style history substitution.  This flag is on"
-msgstr "    -H  Enable ! style history substitution.  This flag is on"
-
-#: builtins.c:830
-msgid "        by default."
-msgstr "        by default."
-
-#: builtins.c:832
-msgid "    -P  If set, do not follow symbolic links when executing commands"
-msgstr "    -P  If set, do not follow symbolic links when executing commands"
-
-#: builtins.c:833
-msgid "        such as cd which change the current directory."
-msgstr "        such as cd which change the current directory."
-
-#: builtins.c:834
-msgid "    -T  If set, the DEBUG trap is inherited by shell functions."
-msgstr "    -T  If set, the DEBUG trap is inherited by shell functions."
-
-#: builtins.c:836
-msgid "Using + rather than - causes these flags to be turned off.  The"
-msgstr "Using + rather than - causes these flags to be turned off.  The"
-
-#: builtins.c:837
-msgid "flags can also be used upon invocation of the shell.  The current"
-msgstr "flags can also be used upon invocation of the shell.  The current"
-
-#: builtins.c:838
-msgid "set of flags may be found in $-.  The remaining n ARGs are positional"
-msgstr "set of flags may be found in $-.  The remaining n ARGs are positional"
-
-#: builtins.c:839
-msgid "parameters and are assigned, in order, to $1, $2, .. $n.  If no"
-msgstr "parameters and are assigned, in order, to $1, $2, .. $n.  If no"
-
-#: builtins.c:840
-msgid "ARGs are given, all shell variables are printed."
-msgstr "ARGs are given, all shell variables are printed."
-
-#: builtins.c:846
-msgid "For each NAME, remove the corresponding variable or function.  Given"
-msgstr "For each NAME, remove the corresponding variable or function.  Given"
-
-#: builtins.c:847
-msgid "the `-v', unset will only act on variables.  Given the `-f' flag,"
-msgstr "the ‘-v’, unset will only act on variables.  Given the ‘-f’ flag,"
-
-#: builtins.c:848
-msgid "unset will only act on functions.  With neither flag, unset first"
-msgstr "unset will only act on functions.  With neither flag, unset first"
-
-#: builtins.c:849
-msgid "tries to unset a variable, and if that fails, then tries to unset a"
-msgstr "tries to unset a variable, and if that fails, then tries to unset a"
-
-#: builtins.c:850
-msgid "function.  Some variables cannot be unset; also see readonly."
-msgstr "function.  Some variables cannot be unset; also see readonly."
-
-#: builtins.c:856
-msgid "NAMEs are marked for automatic export to the environment of"
-msgstr "NAMEs are marked for automatic export to the environment of"
-
-#: builtins.c:857
-msgid "subsequently executed commands.  If the -f option is given,"
-msgstr "subsequently executed commands.  If the -f option is given,"
-
-#: builtins.c:858
-msgid "the NAMEs refer to functions.  If no NAMEs are given, or if `-p'"
-msgstr "the NAMEs refer to functions.  If no NAMEs are given, or if ‘-p’"
-
-#: builtins.c:859
-msgid "is given, a list of all names that are exported in this shell is"
-msgstr "is given, a list of all names that are exported in this shell is"
-
-#: builtins.c:860
-msgid "printed.  An argument of `-n' says to remove the export property"
-msgstr "printed.  An argument of ‘-n’ says to remove the export property"
-
-#: builtins.c:861
-msgid "from subsequent NAMEs.  An argument of `--' disables further option"
-msgstr "from subsequent NAMEs.  An argument of ‘--’ disables further option"
-
-#: builtins.c:862 builtins.c:874
-msgid "processing."
-msgstr "processing."
-
-#: builtins.c:868
-msgid "The given NAMEs are marked readonly and the values of these NAMEs may"
-msgstr "The given NAMEs are marked readonly and the values of these NAMEs may"
-
-#: builtins.c:869
-msgid "not be changed by subsequent assignment.  If the -f option is given,"
-msgstr "not be changed by subsequent assignment.  If the -f option is given,"
-
-#: builtins.c:870
-msgid "then functions corresponding to the NAMEs are so marked.  If no"
-msgstr "then functions corresponding to the NAMEs are so marked.  If no"
-
-#: builtins.c:871
-msgid "arguments are given, or if `-p' is given, a list of all readonly names"
-msgstr "arguments are given, or if ‘-p’ is given, a list of all readonly names"
-
-#: builtins.c:872
-msgid "is printed.  The `-a' option means to treat each NAME as"
-msgstr "is printed.  The ‘-a’ option means to treat each NAME as"
-
-#: builtins.c:873
-msgid "an array variable.  An argument of `--' disables further option"
-msgstr "an array variable.  An argument of ‘--’ disables further option"
-
-#: builtins.c:880
-msgid "The positional parameters from $N+1 ... are renamed to $1 ...  If N is"
-msgstr "The positional parameters from $N+1 ... are renamed to $1 ...  If N is"
-
-#: builtins.c:881
-msgid "not given, it is assumed to be 1."
-msgstr "not given, it is assumed to be 1."
-
-#: builtins.c:887 builtins.c:896
-msgid "Read and execute commands from FILENAME and return.  The pathnames"
-msgstr "Read and execute commands from FILENAME and return.  The pathnames"
-
-#: builtins.c:888 builtins.c:897
-msgid "in $PATH are used to find the directory containing FILENAME.  If any"
-msgstr "in $PATH are used to find the directory containing FILENAME.  If any"
-
-#: builtins.c:889 builtins.c:898
-msgid "ARGUMENTS are supplied, they become the positional parameters when"
-msgstr "ARGUMENTS are supplied, they become the positional parameters when"
-
-#: builtins.c:890 builtins.c:899
-msgid "FILENAME is executed."
-msgstr "FILENAME is executed."
-
-#: builtins.c:906
-msgid "Suspend the execution of this shell until it receives a SIGCONT"
-msgstr "Suspend the execution of this shell until it receives a SIGCONT"
-
-#: builtins.c:907
-msgid "signal.  The `-f' if specified says not to complain about this"
-msgstr "signal.  The ‘-f’ if specified says not to complain about this"
-
-#: builtins.c:908
-msgid "being a login shell if it is; just suspend anyway."
-msgstr "being a login shell if it is; just suspend anyway."
-
-#: builtins.c:915
-msgid "Exits with a status of 0 (true) or 1 (false) depending on"
-msgstr "Exits with a status of 0 (true) or 1 (false) depending on"
-
-#: builtins.c:916
-msgid "the evaluation of EXPR.  Expressions may be unary or binary.  Unary"
-msgstr "the evaluation of EXPR.  Expressions may be unary or binary.  Unary"
-
-#: builtins.c:917
-msgid "expressions are often used to examine the status of a file.  There"
-msgstr "expressions are often used to examine the status of a file.  There"
-
-#: builtins.c:918
-msgid "are string operators as well, and numeric comparison operators."
-msgstr "are string operators as well, and numeric comparison operators."
-
-#: builtins.c:920
-msgid "File operators:"
-msgstr "File operators:"
-
-#: builtins.c:922
-msgid "    -a FILE        True if file exists."
-msgstr "    -a FILE        True if file exists."
-
-#: builtins.c:923
-msgid "    -b FILE        True if file is block special."
-msgstr "    -b FILE        True if file is block special."
-
-#: builtins.c:924
-msgid "    -c FILE        True if file is character special."
-msgstr "    -c FILE        True if file is character special."
-
-#: builtins.c:925
-msgid "    -d FILE        True if file is a directory."
-msgstr "    -d FILE        True if file is a directory."
-
-#: builtins.c:926
-msgid "    -e FILE        True if file exists."
-msgstr "    -e FILE        True if file exists."
-
-#: builtins.c:927
-msgid "    -f FILE        True if file exists and is a regular file."
-msgstr "    -f FILE        True if file exists and is a regular file."
-
-#: builtins.c:928
-msgid "    -g FILE        True if file is set-group-id."
-msgstr "    -g FILE        True if file is set-group-id."
-
-#: builtins.c:929
-msgid "    -h FILE        True if file is a symbolic link."
-msgstr "    -h FILE        True if file is a symbolic link."
-
-#: builtins.c:930
-msgid "    -L FILE        True if file is a symbolic link."
-msgstr "    -L FILE        True if file is a symbolic link."
-
-#: builtins.c:931
-msgid "    -k FILE        True if file has its `sticky' bit set."
-msgstr "    -k FILE        True if file has its ‘sticky’ bit set."
-
-#: builtins.c:932
-msgid "    -p FILE        True if file is a named pipe."
-msgstr "    -p FILE        True if file is a named pipe."
-
-#: builtins.c:933
-msgid "    -r FILE        True if file is readable by you."
-msgstr "    -r FILE        True if file is readable by you."
-
-#: builtins.c:934
-msgid "    -s FILE        True if file exists and is not empty."
-msgstr "    -s FILE        True if file exists and is not empty."
-
-#: builtins.c:935
-msgid "    -S FILE        True if file is a socket."
-msgstr "    -S FILE        True if file is a socket."
-
-#: builtins.c:936
-msgid "    -t FD          True if FD is opened on a terminal."
-msgstr "    -t FD          True if FD is opened on a terminal."
-
-#: builtins.c:937
-msgid "    -u FILE        True if the file is set-user-id."
-msgstr "    -u FILE        True if the file is set-user-id."
-
-#: builtins.c:938
-msgid "    -w FILE        True if the file is writable by you."
-msgstr "    -w FILE        True if the file is writable by you."
-
-#: builtins.c:939
-msgid "    -x FILE        True if the file is executable by you."
-msgstr "    -x FILE        True if the file is executable by you."
-
-#: builtins.c:940
-msgid "    -O FILE        True if the file is effectively owned by you."
-msgstr "    -O FILE        True if the file is effectively owned by you."
-
-#: builtins.c:941
-msgid "    -G FILE        True if the file is effectively owned by your group."
-msgstr ""
-"    -G FILE        True if the file is effectively owned by your group."
-
-#: builtins.c:942
-msgid ""
-"    -N FILE        True if the file has been modified since it was last read."
-msgstr ""
-"    -N FILE        True if the file has been modified since it was last read."
-
-#: builtins.c:944
-msgid "  FILE1 -nt FILE2  True if file1 is newer than file2 (according to"
-msgstr "  FILE1 -nt FILE2  True if file1 is newer than file2 (according to"
-
-#: builtins.c:945
-msgid "                   modification date)."
-msgstr "                   modification date)."
-
-#: builtins.c:947
-msgid "  FILE1 -ot FILE2  True if file1 is older than file2."
-msgstr "  FILE1 -ot FILE2  True if file1 is older than file2."
-
-#: builtins.c:949
-msgid "  FILE1 -ef FILE2  True if file1 is a hard link to file2."
-msgstr "  FILE1 -ef FILE2  True if file1 is a hard link to file2."
-
-#: builtins.c:951
-msgid "String operators:"
-msgstr "String operators:"
-
-#: builtins.c:953
-msgid "    -z STRING      True if string is empty."
-msgstr "    -z STRING      True if string is empty."
-
-#: builtins.c:955
-msgid "    -n STRING"
-msgstr "    -n STRING"
-
-#: builtins.c:956
-msgid "    STRING         True if string is not empty."
-msgstr "    STRING         True if string is not empty."
-
-#: builtins.c:958
-msgid "    STRING1 = STRING2"
-msgstr "    STRING1 = STRING2"
-
-#: builtins.c:959
-msgid "                   True if the strings are equal."
-msgstr "                   True if the strings are equal."
-
-#: builtins.c:960
-msgid "    STRING1 != STRING2"
-msgstr "    STRING1 != STRING2"
-
-#: builtins.c:961
-msgid "                   True if the strings are not equal."
-msgstr "                   True if the strings are not equal."
-
-#: builtins.c:962
-msgid "    STRING1 < STRING2"
-msgstr "    STRING1 < STRING2"
-
-#: builtins.c:963
-msgid ""
-"                   True if STRING1 sorts before STRING2 lexicographically."
-msgstr ""
-"                   True if STRING1 sorts before STRING2 lexicographically."
-
-#: builtins.c:964
-msgid "    STRING1 > STRING2"
-msgstr "    STRING1 > STRING2"
-
-#: builtins.c:965
-msgid ""
-"                   True if STRING1 sorts after STRING2 lexicographically."
-msgstr ""
-"                   True if STRING1 sorts after STRING2 lexicographically."
-
-#: builtins.c:967
-msgid "Other operators:"
-msgstr "Other operators:"
-
-#: builtins.c:969
-msgid "    -o OPTION      True if the shell option OPTION is enabled."
-msgstr "    -o OPTION      True if the shell option OPTION is enabled."
-
-#: builtins.c:970
-msgid "    ! EXPR         True if expr is false."
-msgstr "    ! EXPR         True if expr is false."
-
-#: builtins.c:971
-msgid "    EXPR1 -a EXPR2 True if both expr1 AND expr2 are true."
-msgstr "    EXPR1 -a EXPR2 True if both expr1 AND expr2 are true."
-
-#: builtins.c:972
-msgid "    EXPR1 -o EXPR2 True if either expr1 OR expr2 is true."
-msgstr "    EXPR1 -o EXPR2 True if either expr1 OR expr2 is true."
-
-#: builtins.c:974
-msgid "    arg1 OP arg2   Arithmetic tests.  OP is one of -eq, -ne,"
-msgstr "    arg1 OP arg2   Arithmetic tests.  OP is one of -eq, -ne,"
-
-#: builtins.c:975
-msgid "                   -lt, -le, -gt, or -ge."
-msgstr "                   -lt, -le, -gt, or -ge."
-
-#: builtins.c:977
-msgid "Arithmetic binary operators return true if ARG1 is equal, not-equal,"
-msgstr "Arithmetic binary operators return true if ARG1 is equal, not-equal,"
-
-#: builtins.c:978
-msgid "less-than, less-than-or-equal, greater-than, or greater-than-or-equal"
-msgstr "less-than, less-than-or-equal, greater-than, or greater-than-or-equal"
-
-#: builtins.c:979
-msgid "than ARG2."
-msgstr "than ARG2."
-
-#: builtins.c:985
-msgid "This is a synonym for the \"test\" builtin, but the last"
-msgstr "This is a synonym for the “test” builtin, but the last"
-
-#: builtins.c:986
-msgid "argument must be a literal `]', to match the opening `['."
-msgstr "argument must be a literal ‘]’, to match the opening ‘[’."
-
-#: builtins.c:992
-msgid "Print the accumulated user and system times for processes run from"
-msgstr "Print the accumulated user and system times for processes run from"
-
-#: builtins.c:993
-msgid "the shell."
-msgstr "the shell."
-
-#: builtins.c:999
-msgid "The command ARG is to be read and executed when the shell receives"
-msgstr "The command ARG is to be read and executed when the shell receives"
-
-#: builtins.c:1000
-#, fuzzy
-msgid "signal(s) SIGNAL_SPEC.  If ARG is absent (and a single SIGNAL_SPEC"
-msgstr "signal(s) SIGNAL_SPEC.  If ARG is absent all specified signals are"
-
-#: builtins.c:1001
-msgid "is supplied) or `-', each specified signal is reset to its original"
-msgstr ""
-
-#: builtins.c:1002
-msgid "value.  If ARG is the null string each SIGNAL_SPEC is ignored by the"
-msgstr ""
-
-#: builtins.c:1003
-msgid "shell and by the commands it invokes.  If a SIGNAL_SPEC is EXIT (0)"
-msgstr ""
-
-#: builtins.c:1004
-msgid "the command ARG is executed on exit from the shell.  If a SIGNAL_SPEC"
-msgstr ""
-
-#: builtins.c:1005
-msgid ""
-"is DEBUG, ARG is executed after every simple command.  If the`-p' option"
-msgstr ""
-
-#: builtins.c:1006
-#, fuzzy
-msgid "is supplied then the trap commands associated with each SIGNAL_SPEC are"
-msgstr "command.  If ARG is ‘-p’ then the trap commands associated with"
-
-#: builtins.c:1007
-#, fuzzy
-msgid "displayed.  If no arguments are supplied or if only `-p' is given, trap"
-msgstr "each SIGNAL_SPEC are displayed.  If no arguments are supplied or if"
-
-#: builtins.c:1008
-#, fuzzy
-msgid ""
-"prints the list of commands associated with each signal.  Each SIGNAL_SPEC"
-msgstr "only ‘-p’ is given, trap prints the list of commands associated with"
-
-#: builtins.c:1009
-msgid "is either a signal name in <signal.h> or a signal number.  Signal names"
-msgstr ""
-
-#: builtins.c:1010
-msgid "are case insensitive and the SIG prefix is optional.  `trap -l' prints"
-msgstr ""
-
-#: builtins.c:1011
-msgid "a list of signal names and their corresponding numbers.  Note that a"
-msgstr ""
-
-#: builtins.c:1012
-msgid "signal can be sent to the shell with \"kill -signal $$\"."
-msgstr ""
-
-#: builtins.c:1018
-msgid "For each NAME, indicate how it would be interpreted if used as a"
-msgstr "For each NAME, indicate how it would be interpreted if used as a"
-
-#: builtins.c:1019
-msgid "command name."
-msgstr "command name."
-
-#: builtins.c:1021
-msgid "If the -t option is used, `type' outputs a single word which is one of"
-msgstr "If the -t option is used, ‘type’ outputs a single word which is one of"
-
-#: builtins.c:1022
-msgid "`alias', `keyword', `function', `builtin', `file' or `', if NAME is an"
-msgstr "‘alias’, ‘keyword’, ‘function’, ‘builtin’, ‘file’ or ‘’, if NAME is an"
-
-#: builtins.c:1023
-msgid "alias, shell reserved word, shell function, shell builtin, disk file,"
-msgstr "alias, shell reserved word, shell function, shell builtin, disk file,"
-
-#: builtins.c:1024
-msgid "or unfound, respectively."
-msgstr "or unfound, respectively."
-
-#: builtins.c:1026
-msgid "If the -p flag is used, `type' either returns the name of the disk"
-msgstr "If the -p flag is used, ‘type’ either returns the name of the disk"
-
-#: builtins.c:1027
-msgid "file that would be executed, or nothing if `type -t NAME' would not"
-msgstr "file that would be executed, or nothing if ‘type -t NAME’ would not"
-
-#: builtins.c:1028
-msgid "return `file'."
-msgstr "return ‘file’."
-
-#: builtins.c:1030
-msgid "If the -a flag is used, `type' displays all of the places that contain"
-msgstr "If the -a flag is used, ‘type’ displays all of the places that contain"
-
-#: builtins.c:1031
-msgid "an executable named `file'.  This includes aliases, builtins, and"
-msgstr "an executable named ‘file’.  This includes aliases, builtins, and"
-
-#: builtins.c:1032
-msgid "functions, if and only if the -p flag is not also used."
-msgstr "functions, if and only if the -p flag is not also used."
-
-#: builtins.c:1034
-msgid "The -f flag suppresses shell function lookup."
-msgstr "The -f flag suppresses shell function lookup."
-
-#: builtins.c:1036
-msgid "The -P flag forces a PATH search for each NAME, even if it is an alias,"
-msgstr ""
-"The -P flag forces a PATH search for each NAME, even if it is an alias,"
-
-#: builtins.c:1037
-msgid "builtin, or function, and returns the name of the disk file that would"
-msgstr "builtin, or function, and returns the name of the disk file that would"
-
-#: builtins.c:1038
-msgid "be executed."
-msgstr "be executed."
-
-#: builtins.c:1045
-msgid "Ulimit provides control over the resources available to processes"
-msgstr "Ulimit provides control over the resources available to processes"
-
-#: builtins.c:1046
-msgid "started by the shell, on systems that allow such control.  If an"
-msgstr "started by the shell, on systems that allow such control.  If an"
-
-#: builtins.c:1047
-msgid "option is given, it is interpreted as follows:"
-msgstr "option is given, it is interpreted as follows:"
-
-#: builtins.c:1049
-msgid "    -S\tuse the `soft' resource limit"
-msgstr "    -S\tuse the ‘soft’ resource limit"
-
-#: builtins.c:1050
-msgid "    -H\tuse the `hard' resource limit"
-msgstr "    -H\tuse the ‘hard’ resource limit"
-
-#: builtins.c:1051
-msgid "    -a\tall current limits are reported"
-msgstr "    -a\tall current limits are reported"
-
-#: builtins.c:1052
-msgid "    -c\tthe maximum size of core files created"
-msgstr "    -c\tthe maximum size of core files created"
-
-#: builtins.c:1053
-msgid "    -d\tthe maximum size of a process's data segment"
-msgstr "    -d\tthe maximum size of a process's data segment"
-
-#: builtins.c:1054
-msgid "    -f\tthe maximum size of files created by the shell"
-msgstr "    -f\tthe maximum size of files created by the shell"
-
-#: builtins.c:1055
-#, fuzzy
-msgid "    -i  the maximum number of pending signals"
-msgstr "    -n\tthe maximum number of open file descriptors"
-
-#: builtins.c:1056
-msgid "    -l\tthe maximum size a process may lock into memory"
-msgstr "    -l\tthe maximum size a process may lock into memory"
-
-#: builtins.c:1057
-msgid "    -m\tthe maximum resident set size"
-msgstr "    -m\tthe maximum resident set size"
-
-#: builtins.c:1058
-msgid "    -n\tthe maximum number of open file descriptors"
-msgstr "    -n\tthe maximum number of open file descriptors"
-
-#: builtins.c:1059
-msgid "    -p\tthe pipe buffer size"
-msgstr "    -p\tthe pipe buffer size"
-
-#: builtins.c:1060
-#, fuzzy
-msgid "    -q  the maximum number of bytes in POSIX message queues"
-msgstr "    -u\tthe maximum number of user processes"
-
-#: builtins.c:1061
-msgid "    -s\tthe maximum stack size"
-msgstr "    -s\tthe maximum stack size"
-
-#: builtins.c:1062
-msgid "    -t\tthe maximum amount of cpu time in seconds"
-msgstr "    -t\tthe maximum amount of cpu time in seconds"
-
-#: builtins.c:1063
-msgid "    -u\tthe maximum number of user processes"
-msgstr "    -u\tthe maximum number of user processes"
-
-#: builtins.c:1064
-msgid "    -v\tthe size of virtual memory"
-msgstr "    -v\tthe size of virtual memory"
-
-#: builtins.c:1065
-#, fuzzy
-msgid "    -x  the maximum number of file locks"
-msgstr "    -u\tthe maximum number of user processes"
-
-#: builtins.c:1067
-msgid "If LIMIT is given, it is the new value of the specified resource;"
-msgstr "If LIMIT is given, it is the new value of the specified resource;"
-
-#: builtins.c:1068
-msgid "the special LIMIT values `soft', `hard', and `unlimited' stand for"
-msgstr "the special LIMIT values ‘soft’, ‘hard’, and ‘unlimited’ stand for"
-
-#: builtins.c:1069
-msgid ""
-"the current soft limit, the current hard limit, and no limit, respectively."
-msgstr ""
-"the current soft limit, the current hard limit, and no limit, respectively."
-
-#: builtins.c:1070
-msgid "Otherwise, the current value of the specified resource is printed."
-msgstr "Otherwise, the current value of the specified resource is printed."
-
-#: builtins.c:1071
-msgid "If no option is given, then -f is assumed.  Values are in 1024-byte"
-msgstr "If no option is given, then -f is assumed.  Values are in 1024-byte"
-
-#: builtins.c:1072
-msgid "increments, except for -t, which is in seconds, -p, which is in"
-msgstr "increments, except for -t, which is in seconds, -p, which is in"
-
-#: builtins.c:1073
-msgid "increments of 512 bytes, and -u, which is an unscaled number of"
-msgstr "increments of 512 bytes, and -u, which is an unscaled number of"
-
-#: builtins.c:1074
-msgid "processes."
-msgstr "processes."
-
-#: builtins.c:1081
-msgid "The user file-creation mask is set to MODE.  If MODE is omitted, or if"
-msgstr "The user file-creation mask is set to MODE.  If MODE is omitted, or if"
-
-#: builtins.c:1082
-msgid "`-S' is supplied, the current value of the mask is printed.  The `-S'"
-msgstr "‘-S’ is supplied, the current value of the mask is printed.  The ‘-S’"
-
-#: builtins.c:1083
-msgid "option makes the output symbolic; otherwise an octal number is output."
-msgstr "option makes the output symbolic; otherwise an octal number is output."
-
-#: builtins.c:1084
-msgid "If `-p' is supplied, and MODE is omitted, the output is in a form"
-msgstr "If ‘-p’ is supplied, and MODE is omitted, the output is in a form"
-
-#: builtins.c:1085
-msgid "that may be used as input.  If MODE begins with a digit, it is"
-msgstr "that may be used as input.  If MODE begins with a digit, it is"
-
-#: builtins.c:1086
-msgid "interpreted as an octal number, otherwise it is a symbolic mode string"
-msgstr "interpreted as an octal number, otherwise it is a symbolic mode string"
-
-#: builtins.c:1087
-msgid "like that accepted by chmod(1)."
-msgstr "like that accepted by chmod(1)."
-
-#: builtins.c:1094 builtins.c:1106
-msgid "Wait for the specified process and report its termination status.  If"
-msgstr "Wait for the specified process and report its termination status.  If"
-
-#: builtins.c:1095 builtins.c:1107
-msgid "N is not given, all currently active child processes are waited for,"
-msgstr "N is not given, all currently active child processes are waited for,"
-
-#: builtins.c:1096
-msgid "and the return code is zero.  N may be a process ID or a job"
-msgstr "and the return code is zero.  N may be a process ID or a job"
-
-#: builtins.c:1097
-msgid "specification; if a job spec is given, all processes in the job's"
-msgstr "specification; if a job spec is given, all processes in the job's"
-
-#: builtins.c:1098
-msgid "pipeline are waited for."
-msgstr "pipeline are waited for."
-
-#: builtins.c:1108
-msgid "and the return code is zero.  N is a process ID; if it is not given,"
-msgstr "and the return code is zero.  N is a process ID; if it is not given,"
-
-#: builtins.c:1109
-msgid "all child processes of the shell are waited for."
-msgstr "all child processes of the shell are waited for."
-
-#: builtins.c:1116
-msgid "The `for' loop executes a sequence of commands for each member in a"
-msgstr "The ‘for’ loop executes a sequence of commands for each member in a"
-
-#: builtins.c:1117
-msgid "list of items.  If `in WORDS ...;' is not present, then `in \"$@\"' is"
-msgstr "list of items.  If ‘in WORDS ...;’ is not present, then ‘in “$@”’ is"
-
-#: builtins.c:1118
-msgid "assumed.  For each element in WORDS, NAME is set to that element, and"
-msgstr "assumed.  For each element in WORDS, NAME is set to that element, and"
-
-#: builtins.c:1119
-msgid "the COMMANDS are executed."
-msgstr "the COMMANDS are executed."
-
-#: builtins.c:1125
-msgid "Equivalent to"
-msgstr "Equivalent to"
-
-#: builtins.c:1126
-msgid "\t(( EXP1 ))"
-msgstr "\t(( EXP1 ))"
-
-#: builtins.c:1127
-msgid "\twhile (( EXP2 )); do"
-msgstr "\twhile (( EXP2 )); do"
-
-#: builtins.c:1128
-msgid "\t\tCOMMANDS"
-msgstr "\t\tCOMMANDS"
-
-#: builtins.c:1129
-msgid "\t\t(( EXP3 ))"
-msgstr "\t\t(( EXP3 ))"
-
-#: builtins.c:1130
-msgid "\tdone"
-msgstr "\tdone"
-
-#: builtins.c:1131
-msgid "EXP1, EXP2, and EXP3 are arithmetic expressions.  If any expression is"
-msgstr "EXP1, EXP2, and EXP3 are arithmetic expressions.  If any expression is"
-
-#: builtins.c:1132
-msgid "omitted, it behaves as if it evaluates to 1."
-msgstr "omitted, it behaves as if it evaluates to 1."
-
-#: builtins.c:1138
-msgid "The WORDS are expanded, generating a list of words.  The"
-msgstr "The WORDS are expanded, generating a list of words.  The"
-
-#: builtins.c:1139
-msgid "set of expanded words is printed on the standard error, each"
-msgstr "set of expanded words is printed on the standard error, each"
-
-#: builtins.c:1140
-msgid "preceded by a number.  If `in WORDS' is not present, `in \"$@\"'"
-msgstr "preceded by a number.  If ‘in WORDS’ is not present, ‘in “$@”’"
-
-#: builtins.c:1141
-msgid "is assumed.  The PS3 prompt is then displayed and a line read"
-msgstr "is assumed.  The PS3 prompt is then displayed and a line read"
-
-#: builtins.c:1142
-msgid "from the standard input.  If the line consists of the number"
-msgstr "from the standard input.  If the line consists of the number"
-
-#: builtins.c:1143
-msgid "corresponding to one of the displayed words, then NAME is set"
-msgstr "corresponding to one of the displayed words, then NAME is set"
-
-#: builtins.c:1144
-msgid "to that word.  If the line is empty, WORDS and the prompt are"
-msgstr "to that word.  If the line is empty, WORDS and the prompt are"
-
-#: builtins.c:1145
-msgid "redisplayed.  If EOF is read, the command completes.  Any other"
-msgstr "redisplayed.  If EOF is read, the command completes.  Any other"
-
-#: builtins.c:1146
-msgid "value read causes NAME to be set to null.  The line read is saved"
-msgstr "value read causes NAME to be set to null.  The line read is saved"
-
-#: builtins.c:1147
-msgid "in the variable REPLY.  COMMANDS are executed after each selection"
-msgstr "in the variable REPLY.  COMMANDS are executed after each selection"
-
-#: builtins.c:1148
-msgid "until a break command is executed."
-msgstr "until a break command is executed."
-
-#: builtins.c:1154
-msgid "Execute PIPELINE and print a summary of the real time, user CPU time,"
-msgstr "Execute PIPELINE and print a summary of the real time, user CPU time,"
-
-#: builtins.c:1155
-msgid "and system CPU time spent executing PIPELINE when it terminates."
-msgstr "and system CPU time spent executing PIPELINE when it terminates."
-
-#: builtins.c:1156
-msgid "The return status is the return status of PIPELINE.  The `-p' option"
-msgstr "The return status is the return status of PIPELINE.  The ‘-p’ option"
-
-#: builtins.c:1157
-msgid "prints the timing summary in a slightly different format.  This uses"
-msgstr "prints the timing summary in a slightly different format.  This uses"
-
-#: builtins.c:1158
-msgid "the value of the TIMEFORMAT variable as the output format."
-msgstr "the value of the TIMEFORMAT variable as the output format."
-
-#: builtins.c:1164
-msgid "Selectively execute COMMANDS based upon WORD matching PATTERN.  The"
-msgstr "Selectively execute COMMANDS based upon WORD matching PATTERN.  The"
-
-#: builtins.c:1165
-msgid "`|' is used to separate multiple patterns."
-msgstr "‘|’ is used to separate multiple patterns."
-
-#: builtins.c:1171
-msgid ""
-"The if COMMANDS are executed.  If the exit status is zero, then the then"
-msgstr ""
-"The if COMMANDS are executed.  If the exit status is zero, then the then"
-
-#: builtins.c:1172
-msgid ""
-"COMMANDS are executed.  Otherwise, each of the elif COMMANDS are executed"
-msgstr ""
-"COMMANDS are executed.  Otherwise, each of the elif COMMANDS are executed"
-
-#: builtins.c:1173
-msgid ""
-"in turn, and if the exit status is zero, the corresponding then COMMANDS"
-msgstr ""
-"in turn, and if the exit status is zero, the corresponding then COMMANDS"
-
-#: builtins.c:1174
-msgid ""
-"are executed and the if command completes.  Otherwise, the else COMMANDS"
-msgstr ""
-"are executed and the if command completes.  Otherwise, the else COMMANDS"
-
-#: builtins.c:1175
-msgid ""
-"are executed, if present.  The exit status is the exit status of the last"
-msgstr ""
-"are executed, if present.  The exit status is the exit status of the last"
-
-#: builtins.c:1176
-msgid "command executed, or zero if no condition tested true."
-msgstr "command executed, or zero if no condition tested true."
-
-#: builtins.c:1182 builtins.c:1189
-msgid "Expand and execute COMMANDS as long as the final command in the"
-msgstr "Expand and execute COMMANDS as long as the final command in the"
-
-#: builtins.c:1183
-msgid "`while' COMMANDS has an exit status of zero."
-msgstr "‘while’ COMMANDS has an exit status of zero."
-
-#: builtins.c:1190
-msgid "`until' COMMANDS has an exit status which is not zero."
-msgstr "‘until’ COMMANDS has an exit status which is not zero."
-
-#: builtins.c:1196
-msgid "Create a simple command invoked by NAME which runs COMMANDS."
-msgstr "Create a simple command invoked by NAME which runs COMMANDS."
-
-#: builtins.c:1197
-msgid "Arguments on the command line along with NAME are passed to the"
-msgstr "Arguments on the command line along with NAME are passed to the"
-
-#: builtins.c:1198
-msgid "function as $0 .. $n."
-msgstr "function as $0 .. $n."
-
-#: builtins.c:1204
-msgid "Run a set of commands in a group.  This is one way to redirect an"
-msgstr "Run a set of commands in a group.  This is one way to redirect an"
-
-#: builtins.c:1205
-msgid "entire set of commands."
-msgstr "entire set of commands."
-
-#: builtins.c:1211
-msgid "Equivalent to the JOB_SPEC argument to the `fg' command.  Resume a"
-msgstr ""
-
-#: builtins.c:1212
-msgid "stopped or background job.  JOB_SPEC can specify either a job name"
-msgstr ""
-
-#: builtins.c:1213
-msgid "or a job number.  Following JOB_SPEC with a `&' places the job in"
-msgstr ""
-
-#: builtins.c:1214
-msgid "the background, as if the job specification had been supplied as an"
-msgstr ""
-
-#: builtins.c:1215
-#, fuzzy
-msgid "argument to `bg'."
-msgstr "the argument to -u."
-
-#: builtins.c:1221
-msgid "The EXPRESSION is evaluated according to the rules for arithmetic"
-msgstr "The EXPRESSION is evaluated according to the rules for arithmetic"
-
-#: builtins.c:1222
-msgid "evaluation.  Equivalent to \"let EXPRESSION\"."
-msgstr "evaluation.  Equivalent to “let EXPRESSION”."
-
-#: builtins.c:1228
-msgid ""
-"Returns a status of 0 or 1 depending on the evaluation of the conditional"
-msgstr ""
-"Returns a status of 0 or 1 depending on the evaluation of the conditional"
-
-#: builtins.c:1229
-msgid ""
-"expression EXPRESSION.  Expressions are composed of the same primaries used"
-msgstr ""
-"expression EXPRESSION.  Expressions are composed of the same primaries used"
-
-#: builtins.c:1230
-msgid ""
-"by the `test' builtin, and may be combined using the following operators"
-msgstr ""
-"by the ‘test’ builtin, and may be combined using the following operators"
-
-#: builtins.c:1232
-msgid "\t( EXPRESSION )\tReturns the value of EXPRESSION"
-msgstr "\t( EXPRESSION )\tReturns the value of EXPRESSION"
-
-#: builtins.c:1233
-msgid "\t! EXPRESSION\tTrue if EXPRESSION is false; else false"
-msgstr "\t! EXPRESSION\tTrue if EXPRESSION is false; else false"
-
-#: builtins.c:1234
-msgid "\tEXPR1 && EXPR2\tTrue if both EXPR1 and EXPR2 are true; else false"
-msgstr "\tEXPR1 && EXPR2\tTrue if both EXPR1 and EXPR2 are true; else false"
-
-#: builtins.c:1235
-msgid "\tEXPR1 || EXPR2\tTrue if either EXPR1 or EXPR2 is true; else false"
-msgstr "\tEXPR1 || EXPR2\tTrue if either EXPR1 or EXPR2 is true; else false"
-
-#: builtins.c:1237
-msgid ""
-"When the `==' and `!=' operators are used, the string to the right of the"
-msgstr ""
-"When the ‘==’ and ‘!=’ operators are used, the string to the right of the"
-
-#: builtins.c:1238
-msgid "operator is used as a pattern and pattern matching is performed.  The"
-msgstr "operator is used as a pattern and pattern matching is performed.  The"
-
-#: builtins.c:1239
-msgid "&& and || operators do not evaluate EXPR2 if EXPR1 is sufficient to"
-msgstr "&& and || operators do not evaluate EXPR2 if EXPR1 is sufficient to"
-
-#: builtins.c:1240
-msgid "determine the expression's value."
-msgstr "determine the expression's value."
-
-#: builtins.c:1246
-msgid "BASH_VERSION    Version information for this Bash."
-msgstr "BASH_VERSION    Version information for this Bash."
-
-#: builtins.c:1247
-#, fuzzy
-msgid "CDPATH          A colon-separated list of directories to search"
-msgstr "CDPATH          A colon separated list of directories to search"
-
-#: builtins.c:1248
-msgid "\t\tfor directries given as arguments to `cd'."
-msgstr ""
-
-#: builtins.c:1249
-msgid "GLOBIGNORE\tA colon-separated list of patterns describing filenames to"
-msgstr "GLOBIGNORE\tA colon-separated list of patterns describing filenames to"
-
-#: builtins.c:1250
-msgid "\t\tbe ignored by pathname expansion."
-msgstr "\t\tbe ignored by pathname expansion."
-
-#: builtins.c:1252
-msgid ""
-"HISTFILE        The name of the file where your command history is stored."
-msgstr ""
-"HISTFILE        The name of the file where your command history is stored."
-
-#: builtins.c:1253
-msgid "HISTFILESIZE    The maximum number of lines this file can contain."
-msgstr "HISTFILESIZE    The maximum number of lines this file can contain."
-
-#: builtins.c:1254
-msgid "HISTSIZE        The maximum number of history lines that a running"
-msgstr "HISTSIZE        The maximum number of history lines that a running"
-
-#: builtins.c:1255
-msgid "\t\tshell can access."
-msgstr "\t\tshell can access."
-
-#: builtins.c:1257
-msgid "HOME            The complete pathname to your login directory."
-msgstr "HOME            The complete pathname to your login directory."
-
-#: builtins.c:1258
-msgid "HOSTNAME\tThe name of the current host."
-msgstr "HOSTNAME\tThe name of the current host."
-
-#: builtins.c:1259
-msgid "HOSTTYPE        The type of CPU this version of Bash is running under."
-msgstr "HOSTTYPE        The type of CPU this version of Bash is running under."
-
-#: builtins.c:1260
-msgid "IGNOREEOF       Controls the action of the shell on receipt of an EOF"
-msgstr "IGNOREEOF       Controls the action of the shell on receipt of an EOF"
-
-#: builtins.c:1261
-msgid "\t\tcharacter as the sole input.  If set, then the value"
-msgstr "\t\tcharacter as the sole input.  If set, then the value"
-
-#: builtins.c:1262
-msgid "\t\tof it is the number of EOF characters that can be seen"
-msgstr "\t\tof it is the number of EOF characters that can be seen"
-
-#: builtins.c:1263
-msgid "\t\tin a row on an empty line before the shell will exit"
-msgstr "\t\tin a row on an empty line before the shell will exit"
-
-#: builtins.c:1264
-msgid "\t\t(default 10).  When unset, EOF signifies the end of input."
-msgstr "\t\t(default 10).  When unset, EOF signifies the end of input."
-
-#: builtins.c:1265
-msgid "MACHTYPE\tA string describing the current system Bash is running on."
-msgstr "MACHTYPE\tA string describing the current system Bash is running on."
-
-#: builtins.c:1266
-msgid "MAILCHECK\tHow often, in seconds, Bash checks for new mail."
-msgstr "MAILCHECK\tHow often, in seconds, Bash checks for new mail."
-
-#: builtins.c:1267
-msgid "MAILPATH\tA colon-separated list of filenames which Bash checks"
-msgstr "MAILPATH\tA colon-separated list of filenames which Bash checks"
-
-#: builtins.c:1268
-msgid "\t\tfor new mail."
-msgstr "\t\tfor new mail."
-
-#: builtins.c:1269
-msgid "OSTYPE\t\tThe version of Unix this version of Bash is running on."
-msgstr "OSTYPE\t\tThe version of Unix this version of Bash is running on."
-
-#: builtins.c:1270
-msgid "PATH            A colon-separated list of directories to search when"
-msgstr "PATH            A colon-separated list of directories to search when"
-
-#: builtins.c:1271
-msgid "\t\tlooking for commands."
-msgstr "\t\tlooking for commands."
-
-#: builtins.c:1272
-msgid "PROMPT_COMMAND  A command to be executed before the printing of each"
-msgstr "PROMPT_COMMAND  A command to be executed before the printing of each"
-
-#: builtins.c:1273
-msgid "\t\tprimary prompt."
-msgstr "\t\tprimary prompt."
-
-#: builtins.c:1274
-msgid "PS1             The primary prompt string."
-msgstr "PS1             The primary prompt string."
-
-#: builtins.c:1275
-msgid "PS2             The secondary prompt string."
-msgstr "PS2             The secondary prompt string."
-
-#: builtins.c:1276
-msgid "PWD\t\tThe full pathname of the current directory."
-msgstr "PWD\t\tThe full pathname of the current directory."
-
-#: builtins.c:1277
-msgid "SHELLOPTS\tA colon-separated list of enabled shell options."
-msgstr "SHELLOPTS\tA colon-separated list of enabled shell options."
-
-#: builtins.c:1278
-msgid "TERM            The name of the current terminal type."
-msgstr "TERM            The name of the current terminal type."
-
-#: builtins.c:1279
-msgid "TIMEFORMAT\tThe output format for timing statistics displayed by the"
-msgstr "TIMEFORMAT\tThe output format for timing statistics displayed by the"
-
-#: builtins.c:1280
-msgid "\t\t`time' reserved word."
-msgstr "\t\t‘time’ reserved word."
-
-#: builtins.c:1281
-msgid "auto_resume     Non-null means a command word appearing on a line by"
-msgstr "auto_resume     Non-null means a command word appearing on a line by"
-
-#: builtins.c:1282
-msgid "\t\titself is first looked for in the list of currently"
-msgstr "\t\titself is first looked for in the list of currently"
-
-#: builtins.c:1283
-msgid "\t\tstopped jobs.  If found there, that job is foregrounded."
-msgstr "\t\tstopped jobs.  If found there, that job is foregrounded."
-
-#: builtins.c:1284
-msgid "\t\tA value of `exact' means that the command word must"
-msgstr "\t\tA value of ‘exact’ means that the command word must"
-
-#: builtins.c:1285
-msgid "\t\texactly match a command in the list of stopped jobs.  A"
-msgstr "\t\texactly match a command in the list of stopped jobs.  A"
-
-#: builtins.c:1286
-msgid "\t\tvalue of `substring' means that the command word must"
-msgstr "\t\tvalue of ‘substring’ means that the command word must"
-
-#: builtins.c:1287
-msgid "\t\tmatch a substring of the job.  Any other value means that"
-msgstr "\t\tmatch a substring of the job.  Any other value means that"
-
-#: builtins.c:1288
-msgid "\t\tthe command must be a prefix of a stopped job."
-msgstr "\t\tthe command must be a prefix of a stopped job."
-
-#: builtins.c:1291
-msgid "histchars       Characters controlling history expansion and quick"
-msgstr "histchars       Characters controlling history expansion and quick"
-
-#: builtins.c:1292
-msgid "\t\tsubstitution.  The first character is the history"
-msgstr "\t\tsubstitution.  The first character is the history"
-
-#: builtins.c:1293
-msgid "\t\tsubstitution character, usually `!'.  The second is"
-msgstr "\t\tsubstitution character, usually ‘!’.  The second is"
-
-#: builtins.c:1294
-msgid "\t\tthe `quick substitution' character, usually `^'.  The"
-msgstr "\t\tthe ‘quick substitution’ character, usually ‘^’.  The"
-
-#: builtins.c:1295
-msgid "\t\tthird is the `history comment' character, usually `#'."
-msgstr "\t\tthird is the ‘history comment’ character, usually ‘#’."
-
-#: builtins.c:1297
-msgid "HISTIGNORE\tA colon-separated list of patterns used to decide which"
-msgstr "HISTIGNORE\tA colon-separated list of patterns used to decide which"
-
-#: builtins.c:1298
-msgid "\t\tcommands should be saved on the history list."
-msgstr "\t\tcommands should be saved on the history list."
-
-#: builtins.c:1310
-msgid "+N\tRotates the stack so that the Nth directory (counting"
-msgstr "+N\tRotates the stack so that the Nth directory (counting"
-
-#: builtins.c:1311
-msgid "\tfrom the left of the list shown by `dirs', starting with"
-msgstr "\tfrom the left of the list shown by ‘dirs’, starting with"
-
-#: builtins.c:1312 builtins.c:1316
-msgid "\tzero) is at the top."
-msgstr "\tzero) is at the top."
-
-#: builtins.c:1314
-msgid "-N\tRotates the stack so that the Nth directory (counting"
-msgstr "-N\tRotates the stack so that the Nth directory (counting"
-
-#: builtins.c:1315
-msgid "\tfrom the right of the list shown by `dirs', starting with"
-msgstr "\tfrom the right of the list shown by ‘dirs’, starting with"
-
-#: builtins.c:1318
-msgid "-n\tsuppress the normal change of directory when adding directories"
-msgstr "-n\tsuppress the normal change of directory when adding directories"
-
-#: builtins.c:1319
-msgid "\tto the stack, so only the stack is manipulated."
-msgstr "\tto the stack, so only the stack is manipulated."
-
-#: builtins.c:1321
-msgid "dir\tadds DIR to the directory stack at the top, making it the"
-msgstr "dir\tadds DIR to the directory stack at the top, making it the"
-
-#: builtins.c:1322
-msgid "\tnew current working directory."
-msgstr "\tnew current working directory."
-
-#: builtins.c:1336
-msgid "+N\tremoves the Nth entry counting from the left of the list"
-msgstr "+N\tremoves the Nth entry counting from the left of the list"
-
-#: builtins.c:1337
-msgid "\tshown by `dirs', starting with zero.  For example: `popd +0'"
-msgstr "\tshown by ‘dirs’, starting with zero.  For example: ‘popd +0’"
-
-#: builtins.c:1338
-msgid "\tremoves the first directory, `popd +1' the second."
-msgstr "\tremoves the first directory, ‘popd +1’ the second."
-
-#: builtins.c:1340
-msgid "-N\tremoves the Nth entry counting from the right of the list"
-msgstr "-N\tremoves the Nth entry counting from the right of the list"
-
-#: builtins.c:1341
-msgid "\tshown by `dirs', starting with zero.  For example: `popd -0'"
-msgstr "\tshown by ‘dirs’, starting with zero.  For example: ‘popd -0’"
-
-#: builtins.c:1342
-msgid "\tremoves the last directory, `popd -1' the next to last."
-msgstr "\tremoves the last directory, ‘popd -1’ the next to last."
-
-#: builtins.c:1344
-msgid "-n\tsuppress the normal change of directory when removing directories"
-msgstr "-n\tsuppress the normal change of directory when removing directories"
-
-#: builtins.c:1345
-msgid "\tfrom the stack, so only the stack is manipulated."
-msgstr "\tfrom the stack, so only the stack is manipulated."
-
-#: builtins.c:1367
-msgid "+N\tdisplays the Nth entry counting from the left of the list shown by"
-msgstr "+N\tdisplays the Nth entry counting from the left of the list shown by"
-
-#: builtins.c:1368 builtins.c:1371
-msgid "\tdirs when invoked without options, starting with zero."
-msgstr "\tdirs when invoked without options, starting with zero."
-
-#: builtins.c:1370
-msgid "-N\tdisplays the Nth entry counting from the right of the list shown by"
-msgstr ""
-"-N\tdisplays the Nth entry counting from the right of the list shown by"
-
-#: builtins.c:1378
-msgid "Toggle the values of variables controlling optional behavior."
-msgstr "Toggle the values of variables controlling optional behavior."
-
-#: builtins.c:1379
-msgid "The -s flag means to enable (set) each OPTNAME; the -u flag"
-msgstr "The -s flag means to enable (set) each OPTNAME; the -u flag"
-
-#: builtins.c:1380
-msgid "unsets each OPTNAME.  The -q flag suppresses output; the exit"
-msgstr "unsets each OPTNAME.  The -q flag suppresses output; the exit"
-
-#: builtins.c:1381
-msgid "status indicates whether each OPTNAME is set or unset.  The -o"
-msgstr "status indicates whether each OPTNAME is set or unset.  The -o"
-
-#: builtins.c:1382
-msgid "option restricts the OPTNAMEs to those defined for use with"
-msgstr "option restricts the OPTNAMEs to those defined for use with"
-
-#: builtins.c:1383
-msgid "`set -o'.  With no options, or with the -p option, a list of all"
-msgstr "‘set -o’.  With no options, or with the -p option, a list of all"
-
-#: builtins.c:1384
-msgid "settable options is displayed, with an indication of whether or"
-msgstr "settable options is displayed, with an indication of whether or"
-
-#: builtins.c:1385
-msgid "not each is set."
-msgstr "not each is set."
-
-#: builtins.c:1391
-msgid "printf formats and prints ARGUMENTS under control of the FORMAT. FORMAT"
-msgstr ""
-"printf formats and prints ARGUMENTS under control of the FORMAT. FORMAT"
-
-#: builtins.c:1392
-msgid "is a character string which contains three types of objects: plain"
-msgstr "is a character string which contains three types of objects: plain"
-
-#: builtins.c:1393
-msgid ""
-"characters, which are simply copied to standard output, character escape"
-msgstr ""
-"characters, which are simply copied to standard output, character escape"
-
-#: builtins.c:1394
-msgid "sequences which are converted and copied to the standard output, and"
-msgstr "sequences which are converted and copied to the standard output, and"
-
-#: builtins.c:1395
-msgid ""
-"format specifications, each of which causes printing of the next successive"
-msgstr ""
-"format specifications, each of which causes printing of the next successive"
-
-#: builtins.c:1396
-msgid "argument.  In addition to the standard printf(1) formats, %b means to"
-msgstr "argument.  In addition to the standard printf(1) formats, %b means to"
-
-#: builtins.c:1397
-msgid "expand backslash escape sequences in the corresponding argument, and %q"
-msgstr ""
-"expand backslash escape sequences in the corresponding argument, and %q"
-
-#: builtins.c:1398
-msgid "means to quote the argument in a way that can be reused as shell input."
-msgstr ""
-"means to quote the argument in a way that can be reused as shell input."
+#: builtins.c:1393
+msgid ""
+" For each NAME, specify how arguments are to be completed.\n"
+"    If the -p option is supplied, or if no options are supplied, existing\n"
+"    completion specifications are printed in a way that allows them to be\n"
+"    reused as input.  The -r option removes a completion specification for\n"
+"    each NAME, or, if no NAMEs are supplied, all completion specifications."
+msgstr ""
+" For each NAME, specify how arguments are to be completed.\n"
+"    If the -p option is supplied, or if no options are supplied, existing\n"
+"    completion specifications are printed in a way that allows them to be\n"
+"    reused as input.  The -r option removes a completion specification for\n"
+"    each NAME, or, if no NAMEs are supplied, all completion specifications."
 
 #: builtins.c:1405
-msgid "For each NAME, specify how arguments are to be completed."
-msgstr "For each NAME, specify how arguments are to be completed."
-
-#: builtins.c:1406
-msgid "If the -p option is supplied, or if no options are supplied, existing"
-msgstr "If the -p option is supplied, or if no options are supplied, existing"
-
-#: builtins.c:1407
-msgid "completion specifications are printed in a way that allows them to be"
-msgstr "completion specifications are printed in a way that allows them to be"
-
-#: builtins.c:1408
-msgid "reused as input.  The -r option removes a completion specification for"
-msgstr "reused as input.  The -r option removes a completion specification for"
-
-#: builtins.c:1409
-msgid "each NAME, or, if no NAMEs are supplied, all completion specifications."
-msgstr ""
-"each NAME, or, if no NAMEs are supplied, all completion specifications."
-
-#: builtins.c:1417
-msgid "Display the possible completions depending on the options.  Intended"
-msgstr "Display the possible completions depending on the options.  Intended"
-
-#: builtins.c:1418
 msgid ""
-"to be used from within a shell function generating possible completions."
-msgstr ""
-"to be used from within a shell function generating possible completions."
-
-#: builtins.c:1419
-msgid "If the optional WORD argument is supplied, matches against WORD are"
-msgstr "If the optional WORD argument is supplied, matches against WORD are"
-
-#: builtins.c:1420
-msgid "generated."
-msgstr "generated."
-
-#~ msgid "This is similar to the `fg' command.  Resume a stopped or background"
-#~ msgstr ""
-#~ "This is similar to the ‘fg’ command.  Resume a stopped or background"
-
-#, fuzzy
-#~ msgid "places the job in the background."
-#~ msgstr "job specification with a ‘&’ places the job in the background."
-
-#~ msgid "`%s': invalid alias name"
-#~ msgstr "‘%s’: invalid alias name"
-
-#~ msgid "reset to their original values.  If ARG is the null string each"
-#~ msgstr "reset to their original values.  If ARG is the null string each"
-
-#~ msgid "SIGNAL_SPEC is ignored by the shell and by the commands it invokes."
-#~ msgstr "SIGNAL_SPEC is ignored by the shell and by the commands it invokes."
-
-#~ msgid ""
-#~ "If a SIGNAL_SPEC is EXIT (0) the command ARG is executed on exit from"
-#~ msgstr ""
-#~ "If a SIGNAL_SPEC is EXIT (0) the command ARG is executed on exit from"
-
-#~ msgid "the shell.  If a SIGNAL_SPEC is DEBUG, ARG is executed after every"
-#~ msgstr "the shell.  If a SIGNAL_SPEC is DEBUG, ARG is executed after every"
-
-#~ msgid ""
-#~ "each signal number.  Each SIGNAL_SPEC is either a signal name in <signal."
-#~ "h>"
-#~ msgstr ""
-#~ "each signal number.  Each SIGNAL_SPEC is either a signal name in <signal."
-#~ "h>"
-
-#~ msgid ""
-#~ "or a signal number.  `trap -l' prints a list of signal names and their"
-#~ msgstr ""
-#~ "or a signal number.  ‘trap -l’ prints a list of signal names and their"
-
-#~ msgid "corresponding numbers.  Note that a signal can be sent to the shell"
-#~ msgstr "corresponding numbers.  Note that a signal can be sent to the shell"
-
-#~ msgid "with \"kill -signal $$\"."
-#~ msgstr "with “kill -signal $$”."
-
-#~ msgid "job.  If you specifiy DIGITS, then that job is used.  If you specify"
-#~ msgstr ""
-#~ "job.  If you specifiy DIGITS, then that job is used.  If you specify"
-
-#~ msgid ""
-#~ "WORD, then the job whose name begins with WORD is used.  Following the"
-#~ msgstr ""
-#~ "WORD, then the job whose name begins with WORD is used.  Following the"
-
-#~ msgid "\t\twhen the argument to `cd' is not found in the current"
-#~ msgstr "\t\twhen the argument to ‘cd’ is not found in the current"
-
-#~ msgid "\t\tdirectory."
-#~ msgstr "\t\tdirectory."
+" Display the possible completions depending on the options.  Intended\n"
+"    to be used from within a shell function generating possible "
+"completions.\n"
+"    If the optional WORD argument is supplied, matches against WORD are\n"
+"    generated."
+msgstr ""
+" Display the possible completions depending on the options.  Intended\n"
+"    to be used from within a shell function generating possible "
+"completions.\n"
+"    If the optional WORD argument is supplied, matches against WORD are\n"
+"    generated."
index 3519812..61c4da3 100644 (file)
-#: lib/readline/bind.c:878
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#: lib/readline/bind.c:2076 lib/readline/bind.c:2078 lib/readline/bind.c:2080
+#: lib/readline/bind.c:2082 lib/readline/display.c:461
+#: lib/readline/display.c:881 lib/readline/display.c:1921
+#: lib/readline/histexpand.c:1267 lib/readline/histexpand.c:1275
+#: lib/readline/nls.c:116
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2005-10-03 17:39-0400\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: lib/readline/bind.c:890
 #, c-format
 msgid "readline: %s: line %d: %s\n"
 msgstr ""
 
-#: lib/readline/bind.c:881
+#: lib/readline/bind.c:893
 #, c-format
 msgid "readline: %s\n"
 msgstr ""
 
-#: lib/readline/bind.c:994
+#: lib/readline/bind.c:916
+msgid "other"
+msgstr ""
+
+#: lib/readline/bind.c:1006
 msgid "$else found without matching $if"
 msgstr ""
 
-#: lib/readline/bind.c:1024
+#: lib/readline/bind.c:1036
 msgid "$endif without matching $if"
 msgstr ""
 
-#: lib/readline/bind.c:1101
+#: lib/readline/bind.c:1113
 msgid "unknown parser directive"
 msgstr ""
 
-#: lib/readline/bind.c:1162
+#: lib/readline/bind.c:1174
 msgid "no closing `\"' in key binding"
 msgstr ""
 
-#: lib/readline/bind.c:1977
+#: lib/readline/bind.c:1999
 #, c-format
 msgid "# %s (not bound)\n"
 msgstr ""
 
-#: lib/readline/bind.c:1995
+#: lib/readline/bind.c:2017
 #, c-format
 msgid "%s is not bound to any keys\n"
 msgstr ""
 
-#: lib/readline/bind.c:2001
+#: lib/readline/bind.c:2023
 #, c-format
 msgid "%s can be found on "
 msgstr ""
 
-#: lib/readline/bind.c:2128
+#: lib/readline/bind.c:2080
+#, c-format
+msgid "%s%s outputs %s\n"
+msgstr ""
+
+#: lib/readline/bind.c:2150
 #, c-format
 msgid "%s is set to `%s'\n"
 msgstr ""
 
-#: lib/readline/bind.c:2146
+#: lib/readline/bind.c:2168
 #, c-format
 msgid "bell-style is set to `%s'\n"
 msgstr ""
 
-#: lib/readline/bind.c:2152
+#: lib/readline/bind.c:2174
 #, c-format
 msgid "comment-begin is set to `%s'\n"
 msgstr ""
 
-#: lib/readline/bind.c:2158
+#: lib/readline/bind.c:2180
 #, c-format
 msgid "completion-query-items is set to `%d'\n"
 msgstr ""
 
-#: lib/readline/bind.c:2164
+#: lib/readline/bind.c:2186
 #, c-format
 msgid "editing-mode is set to `%s'\n"
 msgstr ""
 
-#: lib/readline/bind.c:2176
+#: lib/readline/bind.c:2198
 #, c-format
 msgid "isearch-terminators is set to \"%s\"\n"
 msgstr ""
 
-#: lib/readline/bind.c:2188
+#: lib/readline/bind.c:2210
 #, c-format
 msgid "keymap is set to `%s'\n"
 msgstr ""
 
-#: lib/readline/callback.c:105
+#: lib/readline/callback.c:113
 msgid "readline: readline_callback_read_char() called with no handler!\r\n"
 msgstr ""
 
-#: lib/readline/complete.c:1342
+#: lib/readline/complete.c:1418
 #, c-format
 msgid "Display all %d possibilities? (y or n)"
 msgstr ""
 
-#: lib/readline/complete.c:1681
+#: lib/readline/complete.c:1756
 #, c-format
 msgid ""
 "\r\n"
 "readline: bad value %d for what_to_do in rl_complete\n"
 msgstr ""
 
-#: lib/readline/display.c:1924
+#: lib/readline/display.c:2061
 #, c-format
 msgid "readline: debug: insert_some_chars: count (%d) != col (%d)\n"
 msgstr ""
 
-#: lib/readline/histexpand.c:377
+#: lib/readline/histexpand.c:379
 msgid "event not found"
 msgstr ""
 
-#: lib/readline/histexpand.c:381
+#: lib/readline/histexpand.c:383
 msgid "bad word specifier"
 msgstr ""
 
-#: lib/readline/histexpand.c:385
+#: lib/readline/histexpand.c:387
 msgid "substitution failed"
 msgstr ""
 
-#: lib/readline/histexpand.c:389
+#: lib/readline/histexpand.c:391
 msgid "unrecognized history modifier"
 msgstr ""
 
-#: lib/readline/histexpand.c:393
+#: lib/readline/histexpand.c:395
 msgid "no previous substitution"
 msgstr ""
 
-#: lib/readline/histexpand.c:397
+#: lib/readline/histexpand.c:399
 msgid "unknown expansion error"
 msgstr ""
 
-#: lib/readline/rltty.c:464
+#: lib/readline/isearch.c:179
+msgid "reverse-"
+msgstr ""
+
+#: lib/readline/isearch.c:183
+msgid "i-search)`"
+msgstr ""
+
+#: lib/readline/rltty.c:467
 #, c-format
 msgid "readline: warning: %s\n"
 msgstr ""
 
-#: lib/readline/rltty.c:475
+#: lib/readline/rltty.c:478
 msgid "turning on OPOST for terminal\r"
 msgstr ""
 
-#: lib/readline/rltty.c:501
+#: lib/readline/rltty.c:504
 msgid "turning off output flushing"
 msgstr ""
+
+#: lib/readline/xmalloc.c:47
+#, c-format
+msgid "%s: out of virtual memory\n"
+msgstr ""
index 3efcf32..72ec06a 100755 (executable)
@@ -1,4 +1,4 @@
-BUILD_DIR=/usr/local/build/chet/bash/bash-current
+BUILD_DIR=/usr/local/build/bash/bash-current
 THIS_SH=$BUILD_DIR/bash
 PATH=$PATH:$BUILD_DIR