]> git.ipfire.org Git - thirdparty/bash.git/commitdiff
commit bash-20080703 snapshot
authorChet Ramey <chet.ramey@case.edu>
Wed, 7 Dec 2011 14:25:28 +0000 (09:25 -0500)
committerChet Ramey <chet.ramey@case.edu>
Wed, 7 Dec 2011 14:25:28 +0000 (09:25 -0500)
113 files changed:
CWRU/CWRU.chlog
CWRU/CWRU.chlog~
CWRU/old-changelogs/CWRU.chlog.v13 [new file with mode: 0644]
MANIFEST
MANIFEST~
Makefile.in
Makefile.in~
array.c
array.h
assoc.c
assoc.h
autom4te.cache/output.0
autom4te.cache/requests
autom4te.cache/traces.0
builtins/declare.def
builtins/evalstring.c~
builtins/setattr.def
builtins/suspend.def
config-top.h
config.h.in
config.h.in~
configure
configure.in
configure.in~
copy_cmd.c
copy_cmd.c~
dispose_cmd.c
dispose_cmd.c~
doc/bash.0
doc/bash.1
doc/bash.1~
doc/bash.html
doc/bash.pdf
doc/bash.ps
doc/bashref.aux
doc/bashref.bt
doc/bashref.bts
doc/bashref.cp
doc/bashref.cps
doc/bashref.dvi
doc/bashref.html
doc/bashref.info
doc/bashref.log
doc/bashref.pdf
doc/bashref.ps
doc/bashref.texi
doc/bashref.texi~
doc/bashref.toc
doc/bashref.vr
doc/bashref.vrs
doc/builtins.0
doc/builtins.ps
doc/rbash.ps
doc/version.texi
doc/version.texi~
error.c
execute_cmd.c
execute_cmd.c~
fdprintf.c [new file with mode: 0644]
input.c
jobs.c
jobs.c~
lib/readline/complete.c
lib/sh/Makefile.in
lib/sh/Makefile.in~
lib/sh/fdprintf.c [new file with mode: 0644]
lib/sh/fdprintf.c~ [new file with mode: 0644]
make_cmd.c
make_cmd.c~
make_cmd.h
make_cmd.h~
parse.y
parse.y~
print_cmd.c
print_cmd.c~
redir.c
redir.c~
shell.c
shell.c~
subst.c
subst.h
tests/array.right
tests/array.tests
tests/array8.sub [new file with mode: 0644]
tests/assoc.right
tests/assoc.tests
tests/assoc3.sub [new file with mode: 0644]
tests/assoc4.sub [new file with mode: 0644]
tests/casemod.right [new file with mode: 0644]
tests/casemod.tests [new file with mode: 0644]
tests/comsub-eof.right [new file with mode: 0644]
tests/comsub-eof.tests [new file with mode: 0644]
tests/comsub-eof0.sub [new file with mode: 0644]
tests/comsub-eof0.sub~ [new file with mode: 0644]
tests/comsub-eof1.sub [new file with mode: 0644]
tests/comsub-eof1.sub~ [new file with mode: 0644]
tests/comsub-eof2.sub [new file with mode: 0644]
tests/comsub-eof3.sub [new file with mode: 0644]
tests/coproc.right [new file with mode: 0644]
tests/coproc.tests [new file with mode: 0644]
tests/dollar-at-star
tests/dollar-star3.sub [new file with mode: 0644]
tests/dollar.right
tests/errors.right
tests/heredoc.right
tests/read.right
tests/read2.sub
tests/run-casemod [new file with mode: 0644]
tests/run-comsub-eof [new file with mode: 0644]
tests/run-comsub-eof~ [new file with mode: 0644]
tests/run-coproc [new file with mode: 0644]
tests/run-coproc~ [new file with mode: 0644]
variables.c

index 8aab4ff0b879cc3d1acc00be2f8489e5ef4d22f8..ebe1b7b69311c43b5e6980cad25b5ca042c6337d 100644 (file)
-                                4/9/2001
-                                --------
-[bash-2.05 released]
-
-                                  4/10
-                                  ----
-redir.c
-       - check return value of fclose() in write_here_document() for error
-         returns; don't just rely on fwrite() failing
-
-support/bashbug.sh
-       - set TMPDIR to /tmp if it's null or unset
-       - use $TMPDIR in the TEMP tempfile name template
-       - fixed the call to `mktemp', if it exists, to make it more portable
-
-jobs.c
-       - if WCONTINUED is not defined, define it to 0 and add a define for
-         WIFCONTINUED(wstatus) which expands to 0
-       - add WCONTINUED to the flags passed to waitpid(2) in waitchld()
-       - don't increment children_exited if waitpid's status is WIFCONTINUED,
-         since we don't want to call a SIGCHLD trap handler in this case
-       - in waitchld(), we set child->running to 1 if WIFCONTINUED(status)
-         is non-zero
-       - make sure pretty_print_job doesn't check for the core dump bit if
-         the process has been continued; it's only valid if the job is dead
-       - in set_job_status_and_cleanup, set the job to JRUNNING if job_state
-         is non-zero and the job was previously marked as JSTOPPED
-
-configure.in
-       - add -DBROKEN_DIRENT_D_INO to interix LOCAL_CFLAGS
-
-lib/glob/glob.c
-       - if BROKEN_DIRENT_D_INO is defined, define REAL_DIR_ENTRY to 1
-
-jobs.c
-       - in kill_pid, we only need to block and unblock SIGCHLD if the
-         `group' argument is non-zero, since otherwise we just call `kill'
-         on the pid argument
-
-version.c
-       - update copyright date to 2001
-
-bashline.c
-       - prog_complete_return needs to take a `const char *' as its first
-         argument
-       - history_completion_generator needs to take a `const char *' as
-         its first argument, and `text' needs to be a `const char *'
-
-                                  4/11
-                                  ----
-redir.c
-       - fixed a weird typo in redir_special_open, case RF_DEVFD, added
-         call to all_digits before call to legal_number
-       - fixed do_redirection_internal to call legal_number instead of atol(3)
-         when translating r_duplicating_{in,out}put_word, so it handles
-         overflow better
-       - produce an error message in redirection_error for out-of-range
-         file descriptors
-       - change allocation strategy in redirection_error so we don't have to
-         malloc scratch memory if redirection_expand() fails
-
-jobs.h
-       - added defines for `running' member of a struct process
-
-general.c
-       - fix legal_number to return 0 when strtol(3) reports overflow or
-         underflow
-
-parse.y
-       - changed read_token_word to call legal_number instead of atoi(3)
-
-input.c
-       - return -1/EBADF from close_buffered_fd if fd is < 0
-
-command.h
-       - fixed bogus comment about IS_DESCRIPTOR in description of the
-         REDIRECTEE struct
-
-print_cmd.c
-       - change cprintf's 'd' modifier code to display negative numbers as
-         an out-of-range value.  We can do this only because the only use
-         of %d is to output file descriptor numbers in redirections
-
-support/mksignames.c
-       - need to include config.h to get a possible value for
-         UNUSABLE_RT_SIGNALS
-
-                                  4/16
-                                  ----
-lib/readline/doc/rluser.texinfo
-       - corrected a small error in one description of M-DEL
-
-                                  4/17
-                                  ----
-stringlib.c
-       - need to initialize `ind' before calls to RESIZE_MALLOCED_BUFFER
-         in strcreplace()
-
-support/bashversion.c
-       - new file, prints bash version information
-
-Makefile.in
-       - rules for building bashversion and linking it to version.o
-
-                                  4/24
-                                  ----
-conftypes.h
-       - new file with HOSTTYPE, OSTYPE, MACHTYPE, etc. defines from
-         variables.h
-
-variables.h, version.c
-       - include conftypes.h
-
-patchlevel.h
-       - new file, contains define for PATCHLEVEL.  Doing away with the old
-         scheme of having the information in configure.in
-
-version.c
-       - include patchlevel.h
-
-Makefile.in
-       - run bashversion -p to find patch level rather than have configure
-         substitute in a value
-       - pass -S ${top_srcdir} to support/mkversion.sh
-
-support/mkversion.sh
-       - don't put PATCHLEVEL define into version.h, but accept and ignore
-         a -p option
-       - take a new -S srcdir option
-       - find the patch level by parsing it out of patchlevel.h
-
-configure.in
-       - hard-code BASHVERS assignment instead of reading it from a file
-       - remove BASHPATCH; don't substitute it
-
-_distribution,_patchlevel
-       - removed
-
-                                  4/26
-                                  ----
-shell.c
-       - call init_noninteractive() in open_shell_script if forced_interactive
-         is non-zero (the shell was started with -i) and fd_is_tty is 0
-         (the script file is a real file, not something like /dev/stdin),
-         since it wasn't done earlier
-
-builtins/printf.def
-       - change for POSIX.2 compliance when conversion errors are encountered
-         when processing %d, %u, and floating point conversion operators
-         (print a warning message, return the value accumulated at the time
-         of the error -- which is always 0 -- and exit with a non-zero status)
-
-command.h
-       - added CMD_COMMAND_BUILTIN for use by the `command' builtin and the
-         code in execute_cmd.c
-
-builtins/command.def
-       - add CMD_COMMAND_BUILTIN to the created command's flags
-
-                                   5/1
-                                   ---
-configure.in
-       - add call to AC_C_CONST to test `const' compiler behavior
-       - add call to AC_C_INLINE to test `inline' compiler behavior
-       - add call to AC_C_STRINGIZE to test cpp #x stringizing operator
-
-config.h.in
-       - add `#undef const' for configure to substitute
-       - add `#undef inline' for configure to substitute
-       - add `#undef HAVE_STRINGIZE' for configure to substitute
-
-include/stdc.h
-       - remove code that defines or undefines `const' and `inline'
-       - change the __STRING macro to be defined depending on the value
-         of HAVE_STRINGIZE
-
-lib/malloc/malloc.c
-       - change the __STRING macro to be defined depending on the value
-         of HAVE_STRINGIZE
-
-lib/readline/{readline,rlprivate}.h
-       - moved rl_get_termcap to readline.h, making it a public function
-
-lib/readline/readline.h
-       - new #define, RL_READLINE_VERSION, hex-encoded library version
-         number, currently set to 0x0402
-       - new public int variable, rl_readline_version
-
-lib/readline/readline.c
-       - #define RL_READLINE_VERSION if it is not already defined (which it
-         should be in readline.h)
-       - initialize rl_readline_version to RL_READLINE_VERSION
-
-lib/readline/doc/rltech.texinfo
-       - documented rl_get_termcap
-       - documented rl_readline_version
-
-jobs.c
-       - job_exit_status should return an int, not a WAIT (undetected
-         before because on most POSIX-like systems a WAIT is really an int)
-
-builtins/evalfile.c
-       - added FEVAL_REGFILE (file must be a regular file) to accepted
-          _evalfile flags
-       - fc_execute_file() adds FEVAL_REGFILE to _evalfile flags.  This
-         means that startup files and files read with `.' no longer need
-         to be regular files
-
-                                   5/2
-                                   ---
-
-lib/termcap/Makefile.in
-       - fix target for installed termcap library (normally unused)
-
-lib/tilde/Makefile.in
-       - fix install target to install in $(libdir) (normally unused)
-
-Makefile.in
-       - don't make $(man3dir) since there's nothing installed there
-
-Makefile.in,doc/Makefile.in
-       - change `man1ext' to `.1', `man3ext' to `.3'
-       - change appropriate install targets to use new values of man[13]ext
-       - use `test ...' instead of `[...]'
-       - add support for DESTDIR root installation prefix, for package
-         building (installdirs, install, install-strip, uninstall targets)
-
-builtins/common.c
-       - new function int get_exitstat(WORD_LIST *list) returns an eight-bit
-         exit status value for use in return, exit, logout builtins
-
-builtins/common.h
-       - extern declaration for get_exitstat()
-
-builtins/{exit,return}.def
-       - call get_exitstat where appropriate
-
-builtins/printf.def
-       - add support for "'" flag character as posix 1003.2-200x d6 says
-       - fix core dump when user-supplied field width or precision is 0
-       - fix to printstr() to handle zero-length precision with `%b' format
-         specifier (printf '%.0b-%.0s\n' foo bar)
-       - fix to printstr() to treat a negative field width as a positive
-         field width with left-justification
-       - fix to mklong to avoid static buffers, which can always be overrun
-         by someone sufficiently motivated
-
-bashline.c
-       - change var in add_host_name to type `size_t' for passing to xrealloc
-
-                                   5/3
-                                   ---
-execute_cmd.c
-       - change restore_signal_mask to accept a sigset_t *, since a sigset_t
-         may not fit into a pointer, change call
-
-unwind_prot.c
-       - use a union UWP in restore_variable when restoring a variable whose
-         size is the same as sizeof(int), the reverse of the method used to
-         store it in unwind_protect_int
-
-builtins/printf.def
-       - use a #define LENMODS containing the length modifiers instead of
-         testing against each possible modifier character, save any mod
-         character found
-       - add support for ISO C99 length specifiers `j', `t', and `z'
-       - if `L' modifier is supplied with a floating point conversion char,
-         pass a `long double' to printf if HAVE_LONG_DOUBLE is defined
-
-configure.in,config.h.in
-       - call AC_C_LONG_DOUBLE to check for `long double'; define
-         HAVE_LONG_DOUBLE if supported
-
-bashline.c
-       - fix an inadvertantly-unclosed comment in attempt_shell_completion
-       - make set_saved_history return a value
-       - make dynamic_complete_history return a useful value
-
-{make_cmd,execute_cmd,shell,subst,trap,variables,input,unwind_prot,test,
-pcomplete}.c
-       - removed some declared-but-unused variables
-
-builtins/{cd,enable,fc,set,setattr,type,umask,printf,complete}.def
-       - removed some declared-but-unused variables
-
-lib/sh/{zread,netopen}.c
-       - removed some declared-but-unused variables
-
-execute_cmd.c
-       - in execute_arith_command, use a long variable to hold the result
-         of evalexp(), since that's what it returns
-
-builtins/evalstring.c
-       - make cat_file return -1 on a read or write error
-
-lib/sh/stringlib.c
-       - make merge_stringlists() return the right value
-
-                                   5/7
-                                   ---
-pcomplete.c
-       - remove typo that caused empty declaration (;;)
-
-parse.y
-       - fix yyerror() to accept a single string argument; fix callers
-
-trap.c
-       - cast pointer to long instead of int when printing message with
-         internal_warning() in run_pending_traps()
-
-subst.c
-       - fix process_substitute to handle stdin being closed
-
-test.c
-       - change `while' to `if' in and() and or(), since the loop isn't
-         actually performed -- there's an unconditional `return' in the
-         loop body
-       - check for integer overflow of arguments to `-t'
-
-lib/sh/netopen.c
-       - change _getserv() to reject negative port/service numbers
-
-expr.c
-       - fix strlong() to not convert the base specification from long to
-         int before checking for overflow, since truncation on machines
-         where sizeof(int) != sizeof(long) may mask errors
-
-builtins/{jobs,kill,wait}.def
-       - use legal_number instead of atoi when converting strings to pid_t;
-         check for numeric overflow
-
-input.c
-       - fix for cygwin in b_fill_buffer -- off-by-one error when checking
-         buffer for \r\n termination
-
-general.h
-       - new #define INT_STRLEN_BOUND(t), computes max length of string
-         representing integer value of type T, possibly including a sign
-         character
-       - include <limits.h> if it's present
-
-{execute_cmd,findcmd,test}.c
-       - don't include <limits.h>, since general.h does it now
-
-{execute_cmd,lib/sh/itos,pcomplete,print_cmd,subst,variables}.c
-       - use INT_STRLEN_BOUND instead of static array sizes when converting
-         various strings to integer values
-
-shell.h
-       - struct fd_bitmap now uses an `int' size, since it's bounded by
-         the number of file descriptors, which must fit into an `int'
-
-execute_cmd.c
-       - FD_BITMAP_DEFAULT_SIZE is now 32, not 32L
-       - new_fd_bitmap takes an `int' size parameter, not a `long'
-
-execute_cmd.h
-       - change prototype for new_fd_bitmap()
-
-test.c
-       - fix test_stat to check for overflow when parsing the integer file
-         descriptor number; return ENOENT instead of EBADF for files that
-         are not open
-
-hashlib.c
-       - don't discard the upper 32 bits of the random value, if present
-
-lib/readline/shell.c
-       - use the same INT_STRLEN_BOUND mechanism to decide how much space to
-         allocated in sh_set_lines_and_columns
-
-                                   5/8
-                                   ---
-aclocal.m4
-       - add check for libtinfo (termcap-specific portion of ncurses-5.2) to
-         BASH_CHECK_LIB_TERMCAP
-       - new macro, RL_LIB_READLINE_VERSION, checks version of installed
-         readline library and (optionally) writes version #defines to
-         config.h.  Bash doesn't use the version defines
-
-configure.in
-       - call RL_LIB_READLINE_VERSION instead of support/rlvers.sh
-
-execute_cmd.c
-       - fix execute_shell_script and the WHITECHAR and STRINGCHAR macros
-         to check array bounds before indexing into the sample string
-
-unwind_prot.[ch]
-       - import new versions submitted by Paul Eggert <eggert@twinsun.com>
-         with a couple of changes for backwards compatibility, so the rest
-         of the source doesn't need to be changed yet
-
-jobs.c
-       - use unwind_protect_var on last_made_pid in run_sigchld_trap
-
-builtins/bind.def
-       - use unwind_protect_var on rl_outstream
-
-general.c
-       - rework print_rlimtype to use INT_STRLEN_BOUND and handle the
-         most negative number correctly
-
-expr.c
-       - `tokval' should have been a `long', since all arithmetic is done
-         as longs
-
-builtins/history.def
-       - consolidate tests for valid history position in one block to
-         avoid duplicate code and strings
-
-builtins/ulimit.def
-       - fix check for overflow when setting limit to work when int is 32
-         bits and RLIMTYPE is 64
-
-lib/sh/tmpfile.c
-       - don't truncate the result of time(3) to int; just use time_t,
-         since it's being assigned to an `unsigned long'
-
-mailcheck.c
-       - use legal_number instead of atoi in time_to_check_mail() to catch
-         more numeric errors; consolidate error checking in one block
-       - last_time_mail_checked should be a time_t
-
-                                   5/9
-                                   ---
-builtins/set.def
-       - recognize `set [-+]o nolog' if HISTORY is defined
-
-bashline.c
-       - new variable `dont_save_function_defs', set by `set -o nolog';
-         currently ignored
-
-command.h
-       - the `dest' member of a REDIRECTEE is now an `int'
-
-parse.y,redir.c
-       - changed uses of `redir.test' (where redir is a REDIRECTEE) since
-         it's now an int
-
-lib/readline/rlstdc.h
-       - don't mess around with `const', rely on configure to supply a
-         proper definition if the compiler doesn't support it
-
-lib/tilde/tilde.h
-       - include <config.h> if HAVE_CONFIG_H is defined
-       - don't mess around with `const', rely on configure
-
-builtins/shopt.def
-       - new read-only `shopt' option, login_shell, non-zero if shell is a
-         login shell (as decided by shell.c)
-       - new function set_login_shell(), sets shopt private value of
-         login_shell
-
-builtins/common.h
-       - new extern declaration for set_login_shell
-
-shell.c
-       - call set_login_shell after setting value of login_shell (in
-         main() and set_shell_name())
-
-parse.y
-       - added new `\A' prompt string escape sequence:  time in 24-hour
-         HH:MM format
-
-configure.in, config.h.in
-       - check for <grp.h>, define HAVE_GRP_H if found
-
-builtins/complete.def
-       - add new `-A group/-g' option to complete group names
-
-pcomplete.h
-       - new define for CA_GROUP, used with group name completion
-
-pcomplete.c
-       - add code to support CA_GROUP group name completion
-
-bashline.c
-       - new function, bash_groupname_completion_function(), supports
-         programmable completion of group names
-
-bashline.h
-       - extern declaration for bash_groupname_completion_function
-
-lib/readline/bind.c
-       - new inputrc variable, `match-hidden-files', controls completion
-         matching files beginning with a `.' (on Unix)
-
-lib/readline/complete.c
-       - new variable, _rl_match_hidden_files, mirrors `match-hidden-files'
-         inputrc variable
-
-lib/readline/rlprivate.h
-       - extern declaration for _rl_match_hidden_files
-
-builtins/hash.def
-       - new `-t' option to list hash values for each filename argument
-
-builtins/read.def
-       - alarm(3) takes an `unsigned int' argument, not int
-       - check for arithmetic overflow with -t and -n options
-
-input.c
-       - check for read error before doing \r\n translation on cygwin in
-         b_fill_buffer
-       - reset bp->b_used to 0 instead of leaving it at -1 on read error
-         in b_fill_buffer
-
-builtins/shopt.def
-       - new functions, shopt_setopt(name, mode) and
-         shopt_listopt(name, mode) to give the rest of the shell an easy
-         interface
-
-builtins/common.h
-       - extern declarations for shopt_setopt and shopt_listopt
-
-shell.c
-       - new invocation options -O and +O, to list or set/unset shopt
-         options like +o/-o sets and unsets `set -o' options
-
-doc/{bash.1,bashref.texi}
-       - document `set -o nolog'
-       - document `login_shell' shopt option
-       - document new `\A' prompt string escape sequence
-       - document new `-t' option to `hash'
-       - document new `[+-]O' invocation option
-
-doc/bashref.texi
-       - add text to `Invoking Bash' section defining a login shell; text
-         taken from man page
-
-doc/bash.1, lib/readline/doc/rluser.texinfo
-       - documented new complete/compgen `-A group/-g' option
-
-lib/readline/doc/{rluser.texinfo,readline.3}, doc/bash.1
-       - documented new `match-hidden-files' inputrc variable
-
-                                  5/10
-                                  ----
-configure.in
-       - fix AC_CHECK_PROG(ar, ...)
-       - add AC_CHECK_TYPE for ssize_t
-
-config.h.in
-       - new #undef for ssize_t
-
-lib/sh/zread.c
-       - int -> ssize_t fixes to mirror modern declarations of read and write
-       - the `off' variable in zsyncfd should be an off_t since it computes
-         a file offset
-       - the local buffer `lbuf' is now char, since it's not nice to pass
-         unsigned char * to read(2), and the values from it are assigned to
-         a char anyway
-       - lind and lused are now size_t, since they index into a buffer
-       - set lused to 0 on read error
-
-lib/sh/zwrite.c
-       - change second argument to type `char *', since ISO C says you have
-         to pass a `char *' to `write'
-
-externs.h
-       - fix extern declarations of zread, zread1, zreadc, and zwrite
-       - prototype extern declaration of qsort_string_compare
-       - add extern declaration for history_delimiting_chars() from parse.y
-
-input.h
-       - b_used and b_inputp members ofr struct BSTREAM are now size_t
-
-builtins/evalstring.c
-       - the number of chars read with zread in cat_file should be assigned
-         to a variable of type ssize_t
-
-input.c
-       - the number of chars read with zread in b_fill_buffer should be
-         assigned to a variable of type ssize_t
-       - `localbuf' is now type char[], since POSIX says you shouldn't pass
-         unsigned char * to read(2)
-       - in getc_with_restart(), use a variable of type unsigned char to
-         get a value from the local buffer and return it
-       - in ungetc_with_restart, explicitly return the character arg passed
-         to avoid relying on localbuf being unsigned char
-
-subst.c
-       - the number of chars read with zread in read_comsub should be
-         assigned to a variable of type ssize_t
-
-mksyntax.c
-       - instead of casting to unsigned char * in addcstr, use a variable
-         of type unsigned char and let the compiler do the work
-
-parse.y
-       - instead of casting to unsigned char * in yy_readline_get, use a
-         variable of type unsigned char and let the compiler do the work
-       - ditto for yy_string_get and shell_getc (cast to unsigned char)
-
-subst.c
-       - instead of casting to unsigned char when assigning to ifscmap in
-         expand_word_internal, use a variable of type unsigned char and
-         let the compiler do the work
-
-lib/sh/strtrans.c
-       - instead of casting to unsigned char in ansic_quote, use a variable
-         of type unsigned char and let the compiler do the work
-
-builtins/evalstring.c
-       - remove extern declarations for zwrite and run_trap_cleanup; they're
-         in externs.h
-       - prototype cat_file forward declaration
-
-Makefile.in
-       - remove -I$(includedir) from INCLUDES and SUBDIR_INCLUDES
-
-aclocal.m4
-       - change RL_LIB_READLINE_VERSION to set RL_PREFIX, RL_LIBDIR,
-         and RL_INCLUDEDIR to what it used to test the installed readline
-         library version for use by the caller
-       - change RL_LIB_READLINE_VERSION to not compute ac_cv_rl_prefix if
-         the caller has already assigned it a value
-       - rename _rl_prefix -> ac_cv_rl_prefix, _rl_libdir -> ac_cv_rl_libdir,
-         _rl_includedir -> ac_cv_rl_includedir
-
-configure.in
-       - change testing of whether to use the value of
-         $opt_with_installed_readline to be != no, to allow the user to
-         specify a prefix where the installed readline library may be found
-       - if --with-installed-readline=PREFIX is supplied, set ac_cv_rl_prefix
-         to PREFIX before calling RL_LIB_READLINE_VERSION
-       - if --with-installed-readline[=PREFIX] is supplied, don't set
-         RL_LIBDIR and RL_INCLUDEDIR; let RL_LIB_READLINE_VERSION take care
-         of it, set RL_INCLUDE=-I${RL_INCLUDEDIR}
-       - if --with-installed-readline[=PREFIX] is supplied, and we're
-         linking with the history library, assign $RL_LIBDIR to HIST_LIBDIR
-         so we use the same version of the installed readline and history
-         libraries
-
-Makefile.in, builtins/Makefile.in
-       - have configure substitute RL_INCLUDEDIR, set RL_INCLUDEDIR variable
-
-doc/bashref.texi
-       - updated description of --with-installed-readline configure option 
-
-general.c
-       - moved QSFUNC typedef here from builtins/common.c
-
-{alias,bashline,variables,lib/sh/stringvec}.c
-       - cast fourth argument to qsort to (QSFUNC *)
-
-alias.c
-       - prototype forward declaration of qsort_alias_compare
-
-bashhist.c
-       - include <glob/glob.h> for extern declaration of glob_pattern_p
-       - remove extern declaration of history_delimiting_chars; it's now
-         in externs.h
-       - prototype forward declarations of histignore_item_func,
-         maybe_add_history, and bash_add_history
-
-bracecomp.c
-       - remove extern declaration for sh_backslash_quote; it's in externs.h
-
-braces.c
-       - remove extern declaration for extract_command_subst; it's in subst.h
-       - prototype forward declarations for expand_amble, array_concat, and
-         brace_gobbler
-
-error.c
-       - prototype extern declaration of give_terminal_to, fix bad call
-
-{execute_cmd,expr,findcmd,jobs,mailcheck,nojobs,pcomplete,print_cmd,redir,
-shell}.c
-       - prototype all static forward function declarations
-
-pcomplete.c
-       - changed some function parameters to `const char *' to avoid discarding
-         const qualifier
-
-make_cmd.c
-       - make_bare_word, make_word_flags, and make_word now take a
-         `const char *' string argument
-
-make_cmd.h
-       - changed extern declarations for make_bare_word and make_word
-
-print_cmd.c
-       - cprintf now takes a `const char *' as its first argument, like
-         xprintf and printf
-       - the conditional define for xprintf should have been HAVE_VPRINTF,
-         not HAVE_VFPRINTF
-
-shell.c
-       - in isnetconn(), the return value of sizeof() is size_t
-
-aclocal.m4
-       - add inclusion of stddef.h if STDC_HEADERS is defined to 1 in
-         BASH_CHECK_TYPE
-
-configure.in
-       - add a call to BASH_CHECK_TYPE for socklen_t (type of third argument
-         to getpeername(2))
-
-                                  5/11
-                                  ----
-lib/readline/bind.c
-       - make `useq' a char array to pass to rl_macro_bind in
-         rl_parse_and_bind
-
-lib/readline/{{bind,isearch}.c,rlprivate.h}
-       - _rl_isearch_terminators is now a char *, not unsigned char *
-
-{subst,variables,lib/sh/tmpfile}.c
-       - dollar_dollar_pid is now a `pid_t' instead of `int'
-
-variables.c
-       - sbrand() now takes an `unsigned long' to set the seed value
-       - changed last_random_value to type int, since it's always between
-         0 and 32767
-       - use strtoul to convert the value in assign_random instead of atoi
-       - take out casts in any arguments to sbrand()
-       - take out cast to int in call to inttostr in set_ppid()
-
-subst.c
-       - don't cast last_asynchronous_pid when passing to itos()
-
-{sig,subst}.c
-       - prototype all static forward function declarations
-
-                                  5/14
-                                  ----
-{test,trap,variables}.c
-       - prototype all static forward function declarations
-
-variables.c
-       - free_variable_hash_data() now takes a PTR_T, a `generic pointer'
-
-builtins/{alias,bind,break,cd,complete,declare,enable,exit,fc,fg_bg,help,
-history,jobs,pushd,read,set,trap,umask,
-       - prototype all static forward function declarations
-
-builtins/read.def
-       - reset_eol_delim now takes a `char *' arg, since that's what the
-         unwind_protect functions pass it, and it ignores its arguments
-         anyway
-
-lib/readline/{histsearch,input,kill,rltty,search,vi_mode}.c
-       - prototype all static forward function declarations
-
-lib/tilde/tilde.c
-       - prototype all static forward function declarations
-       - tilde_find_prefix, tilde_find_suffix, isolate_tilde_prefix, and
-         glue_prefix_and_suffix now take `const char *' arguments where
-         appropriate
-
-configure.in,config.h.in
-       - check for vsnprintf, define HAVE_VSNPRINTF if found
-
-lib/readline/display.c
-       - use vsnprintf() in rl_message if it's available; if we don't, at
-         least set the last character in msg_buf to 0 to avoid overrun --
-         we really can't do anything about overflow at this point.  if it's
-         available, this fixes buffer overflow problems in rl_message
-
-                                  5/15
-                                  ----
-lib/readline/histexpand.c
-       - in get_history_word_specifier, allow any character to terminate
-         a `:first-' modifier, not just `:' and null.  This is what csh
-         appears to do.  This allows things like `!:0- xyzzy' to replace the
-         last argument with xyzzy
-
-                                  5/18
-                                  ----
-configure.in, config.h.in
-       - check for <stdint.h>, define HAVE_STDINT_H if found
-       - check for intmax_t in <stdint.h>, define intmax_t as long if not
-         found
-
-                                  5/21
-                                  ----
-builtins/kill.def
-       - change to use strerror() for error message when kill(2) fails
-
-aclocal.m4
-       - new macro, BASH_C_LONG_LONG, check for `long long'
-
-configure.in, config.h.in
-       - call BASH_C_LONG_LONG, define HAVE_LONG_LONG if found
-
-lib/sh/snprintf.c
-       - new file, with implementations of snprintf, vsnprintf, asprintf,
-         and vasprintf, derived from inetutils version
-
-Makefile.in, lib/sh/Makefile.in
-       - add snprintf.c/snprintf.o
-
-configure.in, config.h.in
-       - add checks for snprintf, asprintf, vasprintf, with appropriate
-         cpp defines
-
-lib/readline/{rldefs,xmalloc}.h, lib/readline/xmalloc.c
-       - xmalloc and xrealloc now take `size_t' arguments, like their bash
-         counterparts
-
-externs.h,lib/sh/itos.c
-       - inttostr and itos now take `long' arguments
-       - inttostr takes a `size_t' argument for the buffer size
-
-{expr,lib/malloc/malloc,variables,general}.c
-       - fixed calls to itos() by removing casts, etc.
-
-subst.[ch]
-       - get_dollar_var_value now takes a long, not an int
-       - sub_append_number now takes a long, not an int
-
-subst.c
-       - in parameter_brace_expand_word, use a long and legal_number to
-         translate ${N}, to avoid overflow
-       - in parameter_brace_expand_length, use a long and legal_number to
-         translate ${#N}, to avoid overflow
-       - in do_array_element_assignment, array_expand_index,
-         array_value_internal, use arrayind_t instead of int
-       - let verify_substring_values take long * arguments for the return
-         value of evalexp()
-       - pass long * arguments to verify_substring_values in
-         parameter_brace_substring
-       - parameter_brace_expand_length now returns `long'
-       - parameter_brace_expand now uses a long variable for the return
-         value of parameter_brace_expand_length
-       - param_expand now uses a long variable for the return value from
-         evalexp
-       - array_length reference now returns an `arrayind_t', since it can
-         return the num_elements member of an array, which is of type
-         arrayind_t
-
-subst.h
-       - array_expand_index now returns an `arrayind_t'
-
-array.[ch]
-       - array_subrange now takes arrayind_t arguments, not `int'
-       - dup_array_subrange now uses arrayind_t local variable to do
-         array indexing
-       - use long to print array indices in print_element
-
-variables.c
-       - null_array_assign, assign_dirstack, bind_array_variable
-         now take arrayind_t arguments as array indices
-       - assign_array_var_from_word_list, assign_array_var_from_string,
-         unbind_array_element now use arrayind_t local variables for
-         array indexing
-
-variables.h
-       - change extern declaration of bind_array_variable
-
-builtins/common.[ch]
-       - get_numeric_arg now returns a `long', since it usually returns
-         the value of legal_number()
-
-builtins/{shift,break}.def
-       - use long variables for the return value of get_numeric_arg
-
-builtins/history.def
-       - convert string argument to int only if it's in range
-
-builtins/pushd.def
-       - set_dirstack_element and get_dirstack_element now take `long'
-         index arguments
-       - get_dirstack_index now takes a `long' index argument, since it's
-         passed the converted value from legal_number
-
-lib/sh/timeval.c
-       - in print_timeval, don't assume that the number of minutes fits into
-         an int, since it's just seconds/60.
-
-lib/sh/clock.c
-       - ditto for print_clock_t
-
-                                  5/22
-                                  ----
-shell.c
-       - since the -O option settings may possibly be overridden by the
-         normal shell initialization or posix initialization, save the
-         invocation options on an alist (with add_shopt_to_alist) and
-         process them after basic initialization (with run_shopt_alist)
-
-                                  5/23
-                                  ----
-trap.h
-       - new define, BASH_NSIG, all system signals plus special bash traps
-
-trap.c, builtins/trap.def
-       - use BASH_NSIG for array bounds and loops where appropriate
-
-trap.c
-       - change decode_signal to disallow numeric signal numbers above
-         NSIG -- this means you can only reference special traps like
-         DEBUG by name
-       - new SPECIAL_TRAP(s) macro to test whether s is one of the special
-         bash traps (currently DEBUG and EXIT)
-       - change reset_or_restore_signal_handlers so command substitution
-         doesn't inherit the debug trap (like ksh93), and child processes
-         don't have to rely on initialize_traps being run to get rid of
-         any debug trap
-
-support/mksignames.c
-       - add extra "ERR" signal name, value NSIG+1, allocate space for it
-         and write it out in signal_names[]
-
-trap.h
-       - new define: ERROR_TRAP == NSIG+1, change BASH_NSIG to NSIG+2
-       - extern declarations for set_error_trap, run_error_trap
-       - new define: TRAP_STRING(s), expands to trap_list[s] if signal S
-         is trapped and not ignored, NULL otherwise
-
-trap.c
-       - add ERROR_TRAP to SPECIAL_TRAPS define
-       - initialize ERROR_TRAP stuff in initialize_traps
-       - new function: set_error_trap(command), sets the ERR trap string
-       - new function: run_error_trap(command), runs the ERR trap string
-       - set trap string for ERROR_TRAP to NULL in free_trap_strings
-       - change reset_or_restore_signal_handlers so child processes don't
-         inherit the ERR trap
-       - add case to call run_error_trap in maybe_call_trap_handler
-
-execute_cmd.c
-       - in execute_command_internal, keep track of ERR trap and call it if
-         necessary
-       - use TRAP_STRING to get the value of debug and error traps
-       - in execute_function, arrange things so the ERR trap is not inherited
-         by shell functions, and is saved and restored like the DEBUG trap
-
-doc/{bash.1,bashref.texi}
-       - documented new ERR trap
-
-tests/{trap.{tests,right},trap2.sub,trap2a.sub}
-       - added ERR trap tests
-
-subst.c
-       - on machines without /dev/fd, change the named pipe fifo list to a
-         list of structs containing pathname and proc information
-       - change unlink_fifo_list to kill the proc in the fifo list with
-         signal 0 and not remove the fifo if the proc is still alive.  This
-         should fix the problem on those backward systems without /dev/fd
-         where fifos were removed when a job using process substitution was
-         suspended
-
-                                  5/24
-                                  ----
-examples/loadables/getconf.h
-       - new file, with basic defines needed to make getconf work minimally
-         on POSIX systems without the necessary definitions
-
-examples/loadables/getconf.c
-       - replacement functions for confstr, sysconf, pathconf for systems
-         that lack them, providing a minimal posix interface
-       - heavily augmented getconf, now supports all POSIX.1-200x,
-         POSIX.2-200x, Solaris 7, AIX 4.2 getconf variables
-
-                                  5/29
-                                  ----
-builtins/setattr.def
-       - make `readonly', `export', and `declare' print `invisible' variables
-         as just a command and variable name, without a value, when listing
-         all variables (as POSIX.2-200x d6 requires)
-
-                                  5/30
-                                  ----
-
-configure.in
-       - upgraded to autoconf-2.50 on main development machine, so require
-         autoconf-2.50 in preparation for using some if its new features
-       - call AC_C_PROTOTYPES
-       - remove call to AC_EXEEXT, which now does the wrong thing
-       - changed AC_INIT to new flavor
-       - added call to AC_CONFIG_SRCDIR
-       - AC_CONFIG_HEADER -> AC_CONFIG_HEADERS
-       - AC_RETSIGTYPE -> AC_TYPE_SIGNAL
-
-configure.in, aclocal.m4, config.h.in
-       - removed call to BASH_LARGE_FILE_SUPPORT, use AC_SYS_LARGEFILE
-         standard support, with new macros _FILE_OFFSET_BITS and
-         _LARGE_FILES
-       - removed definition of BASH_LARGE_FILE_SUPPORT
-
-doc/bashref.texi
-       - document new `--enable-largefile' configure option
-
-lib/readline/readline.c
-       - change rl_set_prompt to call rl_expand_prompt unconditionally, so
-         local_prompt and local_prompt_prefix get set correctly
-
-                                   6/6
-                                   ---
-lib/readline/complete.c
-       - don't append `/' or ` ' to a match when completing a symlink that
-         resolves to a directory, unless the match doesn't add anything
-         to the word.  This means that a tab will complete the word up to
-         the full name, but not add anything, and a subsequent tab will add
-         a slash.  Change to append_to_match; callers changed
-
-hashlib.c
-       - new function, hash_table_nentries (table), returns the number of
-         items in TABLE
-
-hashlib.h
-       - extern declaration for hash_table_nentries
-
-configure.in
-       - configure without bash malloc on openbsd; they claim it needs
-         eight-bit alignment (which the bash malloc provides, but...)
-
-                                   7/2
-                                   ---
-stringlib.c
-       - only call RESIZE_MALLOCED_BUFFER from strsub() if the replacement
-         string length is > 0, avoid possible hangs if replacement is null
-
-subst.c
-       - don't include input.h; no longer needed
-
-configure.in
-       - remove calls to AC_SYS_RESTARTABLE_SYSCALLS and
-         BASH_SYS_RESTARTABLE_SYSCALLS; the results are no longer used
-
-config.h.in
-       - remove define for HAVE_RESTARTABLE_SYSCALLS
-
-aclocal.m4
-       - removed definition of BASH_SYS_RESTARTABLE_SYSCALLS; no longer used
-
-execute_cmd.c
-       - changed select command so `return' no longer terminates the select
-         command, so it can be used to return from an enclosing function.
-         This is as ksh (88 and 93) does it
-
-lib/readline/vi_mode.c
-       - fix trivial typo in declaration of vi_motion; `t' appears twice;
-         the second instance should be `T'
-
-                                   7/3
-                                   ---
-configure.in
-       - don't add -static to LDFLAGS on Solaris 2.x.  This means that the
-         auxiliary programs will be built as dynamic executables, but that
-         should do no harm
-
-                                   7/5
-                                   ---
-lib/glob/fnmatch.c
-       - fix the code that processes **(pattern) to short-circuit if the
-         pattern is ill-formed or lacks a trailing `)'  -- this fixes the
-         segfault on **(/*)
-
-Makefile.in, builtins/Makefile.in
-       - split CCFLAGS into CCFLAGS_FOR_BUILD and CFLAGS, to aid in
-         cross-compilation
-       - build programs that use $(CC_FOR_BUILD) using $(CCFLAGS_FOR_BUILD)
-
-configure.in, config.h.in
-       - check for getaddrinfo(3), define HAVE_GETADDRINFO if found
-
-lib/sh/netopen.c
-       - implemented a version of _netopen (_netopen6) that uses
-         getaddrinfo(3) if available, use if HAVE_GETADDRINFO is defined.
-         old _netopen is _netopen4; _netopen now calls either _netopen6
-         or _netopen4 as appropriate
-
-                                   7/9
-                                   ---
-builtins/exit.def
-       - don't source ~/.bash_logout if subshell_environment is non-zero
-
-execute_command.c
-       - in execute_until_or_while, handle the case where `breaking' is
-         set in the loop test (e.g., by the job control code when a job
-         is stopped with SIGTSTP), but the return value from the test is
-         something that would cause the loop to break.  Need to decrement
-         `breaking' in this case
-
-                                  7/10
-                                  ----
-execute_cmd.c
-       - in execute_in_subshell, make sure a command of type cm_subshell
-         inherits its `enclosing' command's CMD_IGNORE_RETURN flag
-
-variables.c
-       - in maybe_make_export_env, don't allow restricted shells to put
-         exported functions in the export environment
-
-                                  7/11
-                                  ----
-lib/glob/strmatch.h
-       - renamed old fnmatch.h
-       - changed guard #ifdef to _STRMATCH_H
-       - include system <fnmatch.h> if HAVE_LIBC_FNM_EXTMATCH is defined
-
-lib/glob/strmatch.c
-       - renamed old fnmatch.c
-       - include "strmatch.h"
-       - if HAVE_LIBC_FNM_EXTMATCH is defined, define a dummy version of
-         strmatch() that just calls fnmatch(3)
-
-lib/glob/glob.c
-       - include "strmatch.h"
-       - fnmatch -> strmatch
-
-Makefile.in, lib/glob/Makefile.in
-       - fnmatch -> strmatch
-
-{bashhist,execute_cmd,pathexp,pcomplete,shell,stringlib,subst,test}.c,
-pathexp.h,builtins/help.def
-       - include <glob/strmatch.h>
-       - fnmatch -> strmatch
-
-execute_cmd.c
-       - broke the code that parses the interpreter name from a #! line
-         out from execute_shell_script to a new function, getinterp()
-       - call getinterp from execute_shell_script
-       - use return value from getinterp in error message about bad
-         #! interpreter in shell_execve
-
-                                  7/12
-                                  ----
-lib/readline/isearch.c
-       - the last isearch string is now remembered in a new static variable,
-         last_isearch_string
-       - if ^R^R is typed, readline now searches for the remembered isearch
-         string, if one exists
-
-                                  7/24
-                                  ----
-pcomplete.h
-       - extern declaration for completions_to_stringlist()
-
-                                  7/25
-                                  ----
-builtins/complete.def
-       - make compgen handle -o default option
-       - make compgen return success only if sl->list_len is non-zero,
-         indicating that there are items on the list
-
-                                  7/31
-                                  ----
-execute_cmd.c
-       - in execute_connection, force stdin to /dev/null for asynchronous
-         commands if job control is not active, not just if the shell is
-         running a shell script (since you can run `set -m' in a script)
-
-lib/readline/rltty.c
-       - make sure _rl_tty_restore_signals resets `tty_sigs_disabled' on
-         successful restoration of the terminal modes
-       - make sure _rl_tty_disable_signals turns off IXON so that ^S and
-         ^Q can be read by rl_quoted_insert
-
-                                   8/1
-                                   ---
-aclocal.m4
-       - new check for FNM_EXTMATCH being defined in <fnmatch.h>, as Ullrich
-         Drepper intends to do for new versions of GNU libc
-
-config.h.in
-       - new definition for HAVE_LIBC_FNM_EXTMATCH
-
-configure.in
-       - check for fnmatch, but don't define anything in config.h
-       - call BASH_FUNC_FNMATCH_EXTMATCH to check for FNM_EXTMATCH
-
-                                   8/2
-                                   ---
-alias.h
-       - remove bogus extern declaration for xmalloc()
-       - include "stdc.h"
-       - add prototype declarations for all extern function declarations
-
-xmalloc.c,lib/readline/xmalloc.c
-       - fix xmalloc to return a PTR_T
-       - fix xrealloc to return a PTR_T and take a PTR_T as first argument
-
-include/ansi_stdlib.h
-       - extern declarations for malloc and realloc have them return PTR_T
-
-xmalloc.h
-       - new file, with extern declarations for functions in xmalloc.c
-
-general.h
-       - removed extern declarations for functions in xmalloc.c
-       - include xmalloc.h
-
-Makefile.in,builtins/Makefile.in
-       - update dependencies to include xmalloc.h
-
-parse.y,{alias,array,bashline,bracecomp,execute_cmd,findcmd,flags,general,
-hashcmd,locale,mailcheck,make_cmd,pathexp,pcomplete,print_cmd,stringlib,
-subst,unwind_prot,variables}.c
-builtins/{common,evalfile}.c
-builtins/{cd,command,enable,exec,printf,read,set}.def
-lib/sh/{makepath,netopen,pathphys,setlinebuf,shquote,snprintf,stringlist,
-strtrans,tmpfile}.c
-lib/readline/{util,terminal,shell,readline,macro,kill,isearch,input,
-histfile,histexpand,display,complete,bind}.c
-       - make sure all calls to xmalloc are cast to the right return value
-
-siglist.c
-       - include xmalloc.h
-
-parse.y,{alias,bashline,bracecomp,expr,make_cmd,nojobs,print_cmd,subst}.c
-builtins/{fc,printf,read}.def
-lib/sh/snprintf.c, lib/tilde/tilde.c
-lib/readline/{bind,display,histexpand,isearch,macro,util,vi_mode}.c
-       - make sure all calls to xrealloc are cast to the right return value
-
-lib/sh/{netopen,setlinebuf,shquote,snprintf}.c, lib/tilde/tilde.c
-       - include xmalloc.h, remove extern declaration of xmalloc
-
-lib/readline/xmalloc.h
-       - xmalloc and xrealloc should return PTR_T
-
-lib/readline/rldefs.h
-       - don't include an extern declaration for xmalloc
-
-                                   8/7
-                                   ---
-support/shobj-conf
-       - fixed up commented-out stanzas for HP's unbundled C compiler on
-         HP/UX
-
-support/bashbug.sh
-       - force the subject to be changed from the default
-
-lib/readline/doc/{rluser.texinfo,readline.3}, doc/bash.1
-       - document that transpose-words swaps the last two words on the line
-         if point is at the end of the line
-
-                                   8/9
-                                   ---
-stringlib.c
-       - fix possible infinite recursion problem with null pattern in
-         strsub()
-
-hashlib.c
-       - new function copy_hash_table to copy a hash table using a caller-
-         supplied function to copy item data (defaults to savestring())
-
-hashlib.h
-       - new extern declaration for copy_hash_table
-
-builtins/declare.def
-       - changes so that declare [-a] var=value assigns `value' to element 0
-         of array variable `var' like ksh93
-       - change so that declare [-a] var[N]=value assigns `value' to element
-         N of array variable `var' like ksh93
-
-                                  8/13
-                                  ----
-arrayfunc.c
-       - new file, for miscellaneous array functions
-
-arrayfunc.h
-       - new file, extern declarations for functions in arrayfunc.c
-
-variables.c
-       - move convert_var_to_array, bind_array_variable,
-         assign_array_from_string, assign_array_var_from_word_list,
-         assign_array_var_from_string, quote_array_assignment_chars,
-         skipsubscript, unbind_array_element, print_array_assignment
-         to arrayfunc.c
-
-shell.h
-       - include arrayfunc.h after variables.h
-
-variables.h
-       - remove above extern function declarations moved to arrayfunc.h
-       - add extern declaration for var_lookup
-
-Makefile.in
-       - add arrayfunc.c, arrayfunc.h in appropriate places
-       - add arrayfunc.h to dependencies
-
-subst.c
-       - move valid_array_reference, array_expand_index, array_variable_part,
-         array_value_internal, array_value (now global), get_array_value,
-         do_array_element_assignment to arrayfunc.c
-
-subst.h
-       - extern declarations for functions above moved to arrayfunc.h
-
-arrayfunc.h
-       - extern declarations for above functions from subst.c
-
-subst.[ch]
-       - string_list_dollar_star and string_list_dollar_at are now global
-         functions
-       - quote_escapes is now a global function
-
-subst.c
-       - maybe_expand_string -> expand_string_if_necessary
-       - expand_string_to_string -> expand_string_to_string_internal
-       - new functions: expand_string_to_string and
-         expand_string_unsplit_to_string, which call
-         expand_string_to_string_internal with expand_string and
-         expand_string_unsplit as the FUNC arguments, respectively
-
-arrayfunc.c
-       - change array_expand_index to call expand_string_to_string instead
-         of maybe_expand_string
-
-                                  8/14
-                                  ----
-shell.c
-       - in execute_env_file, call expand_string_unsplit_to_string
-
-mailcheck.c
-       - in check_mail, call expand_string_to_string
-
-variables.c
-       - in assign_in_env, call expand_string_unsplit_to_string
-
-arrayfunc.c
-       - new function, array_variable_name, splits an array reference into
-         a name (which is returned as a new string) and subscript
-       - change array_variable_part to just call array_variable_name and
-         look up the string returned with find_variable
-       - new function, find_or_make_array_variable (name, flags) which will
-         look up an array variable and convert a string variable to an
-         array if necessary.  The FLAGS argument, if non-zero, says to
-         check the readonly and noassign attributes and fail if either is set
-
-builtins/read.def
-       - make `read -a aname' honor any readonly status of `aname'
-       - read -a now calls find_or_make_array_variable with FLAGS value 1
-
-arrayfunc.[ch], subst.c, builtins/{declare,read}.def
-       - do_array_element_assignment -> assign_array_element
-
-                                  8/20
-                                  ----
-parse.y
-       - changed `for' command grammar to allow missing word list after `IN'
-         token, like latest POSIX drafts require
-
-lib/sh/tmpfile.c
-       - in sh_mktmpname(), check for filenum == 0 and init to non-zero number
-         in this case.  it can happen on arithmetic overflow
-
-support/mkversion.sh
-       - added `[0-9].[0-9][0-9][a-z]' as an acceptable value for a
-         distribution to allow for intermediate versions, like 2.05a
-
-support/config.guess
-       - removed the addition of the output of `/usr/bin/objformat' when
-         creating the canonical name on FreeBSD machines, so the canonical
-         name is once again `freebsd4.2' instead of `freebsdelf4.2'
-
-                                  8/22
-                                  ----
-lib/readline/{rlstdc,history,keymaps,readline,rldefs,rlprivate,rlshell,
-rltypedefs,xmalloc}.h
-lib/readline/{bind,compat,complete,display,funmap,histexpand,histsearch,
-input,isearch,kill,nls,parens,readline,rltty,search,shell,signals,vi_mode
-       - changed __P to PARAMS
-
-lib/tilde/tilde.[ch]
-       - changed __P to PARAMS
-
-{Makefile,configure}.in
-       - changed the version number to 2.05a
-       - changed the release status to `alpha1'
-
-                                  8/23
-                                  ----
-support/shobj-conf
-       - support for building shared libraries on Darwin/MacOS X
-
-siglist.h
-       - extern declaration for strsignal() to compensate for lack of
-         a definition in some system include files
-
-jobs.c
-       - remove casts from strsignal() calls
-
-[bash-2.05a-alpha1 frozen]
-
-                                  8/27
-                                  ----
-[bash-2.05a-alpha1 released]
-
-                                  8/27
-                                  ----
-execute_cmd.c
-       - fix eval_arith_for_expr to handle the case where the expanded
-         word list is NULL, returning 0 in this case
-
-print_cmd.c
-       - in print_function_def, make sure that func_redirects is assigned
-         a value before being used
-
-                                  8/28
-                                  ----
-alias.c
-       - include <ctype.h> for definition of isalpha()
-
-bashhist.h
-       - add prototypes for extern function declarations
-
-flags.c
-       - include bashhist.h for extern function declarations
-
-mksyntax.c
-       - include <unistd.h> if HAVE_UNISTD_H is defined in config.h
-
-parse.y
-       - include test.h for extern function declarations
-
-externs.h
-       - change extern declaration for setlinebuf to sh_setlinebuf
-
-stringlib.c
-       - include <glob/glob.h> for extern function declarations
-
-variables.h
-       - add function prototypes for all of the sv_* functions
-
-builtins/common.h
-       - add extern declarations for set_shellopts() and parse_shellopts()
-         from builtins/set.def
-
-variables.c
-       - include "hashcmd.h" for extern declaration for flush_hashed_filenames
-       - include "pathexp.h" for extern declaration for setup_glob_ignore
-
-lib/malloc/malloc.c
-       - cast to `long' instead of `int' in memalign for 64-bit machines
-
-{pcomplete,trap}.c
-       - changed printf escape sequences used to print pointers to %p
-
-lib/readline/undo.c
-       - include "xmalloc.h" for extern function declaration
-
-input.h
-       - add function prototypes to extern declarations for getc_with_restart
-         and ungetc_with_restart
-
-variables.[ch]
-       - changed type of `function' member of `struct name_and_function' to
-         `sv_func_t', which is defined and prototyped in variables.h
-       - map_over now takes an `sh_var_map_func_t *'
-
-shell.h
-       - start of a set of function pointer typedefs like those in
-         lib/readline/rltypedefs.h
-
-hashlib.[ch]
-       - second paramter to flush_hash_table is now an `sh_free_func_t *'
-
-trap.c
-       - parameter to reset_or_restore_signal_handlers is now an
-         `sh_resetsig_func_t *'
-
-pcomplete.h, pcomplib.c
-       - function pointer argument to print_all_compspecs is now an
-         `sh_csprint_func_t *'
-       - function pointer `list_getter' element of an `ITEMLIST' is now
-         prototyped with __P((...)) instead of using `Function *'
-
-jobs.[ch]
-       - `j_cleanup' member of a JOB is now an `sh_vptrfunc_t *'
-
-alias.c
-       - map_over_aliases now takes an `sh_alias_map_func_t *'
-       - free_alias_data now takes a `PTR_T'
-
-pathexp.c
-       - function pointer argument to ignore_globbed_names is now an
-         `sh_ignore_func_t *' 
-
-bashline.c
-       - function pointer argument to _ignore_completion_names is now an
-         `sh_ignore_func_t *' 
-
-pathexp.h,{bashhist,bashline.c
-       - `item_func' member of a `struct ignorevar' is now an
-         `sh_iv_item_func_t *'
-
-builtins/evalfile.c
-       - `errfunc' is now an `sh_vmsg_func_t *'
-
-jobs.c
-       - map_over_job now takes an `sh_job_map_func_t *' as its first argument
-
-array.[ch]
-       - function pointer argument to array_walk is now an
-         `sh_ae_map_func_t *'
-
-general.c
-       - tilde_expansion_preexpansion_hook has type `tilde_hook_func_t *',
-         and so the assignment in tilde_initialize doesn't need a cast
-
-list.c
-       - map_over_words now takes an `sh_icpfunc_t *' as its second argument
-
-input.h
-       - the `getter' and `ungetter' function pointer members of a
-         BASH_INPUT are now of types `sh_cget_func_t *' and
-         `sh_cunget_func_t *' respectively
-       - init_yy_io now takes an `sh_cget_func_t *' as its first argument and
-         an `sh_cunget_func_t *' as its second
-
-parse.y
-       - init_yy_io now takes an `sh_cget_func_t *' as its first argument and
-         an `sh_cunget_func_t *' as its second
-       - initialize_bash_input casts bash_input.getter and bash_input.ungetter
-         appropriately
-
-builtins/mkbuiltins.c
-       - make the extern function definitions written to builtext.h have
-         prototypes with __P((...))
-       - include "stdc.h"
-       - change Function to mk_handler_func_t
-       - fixed comment_handler to take the right number of args
-       - prototyped all the handler functions with __P((...))
-
-builtins.h
-       - the `function' member of a struct builtin is now of type
-         `sh_builtin_func_t *'
-
-builtins/common.[ch]
-       - last_shell_builtin, this_shell_builtin are now of type
-         `sh_builtin_func_t *'
-       - find_shell_builtin, builtin_address, find_special_builtin now return
-         `sh_builtin_func_t *'
-
-builtins/exit.def, {execute_cmd,jobs,nojobs,variables}.c, parse.y
-       - changed all declarations of last_shell_builtin and this_shell_builtin
-
-execute_cmd.c
-       - execute_builtin, execute_builtin_or_function,
-         execute_subshell_builtin_or_function now take an
-         `sh_builtin_func_t *' instead of a `Function *' for argument
-       - changed appropriate variables from `Function *' to
-         `sh_builtin_func_t *'
-
-builtins/{bind,builtin,enable,read,setattr}.def
-       - replaced uses of `Function *' in variable declarations with
-         appropriate types (sh_builtin_func_t * or rl_command_func_t *)
-
-builtins/set.def
-       - set_func and get_func members of binary_o_options are now of types
-         `setopt_set_func_t *' and `setopt_get_func_t *', which are
-         prototyped
-
-builtins/shopt.def
-       - set_func member of shopt_vars is now of type `shopt_set_func_t *'
-
-bashline.c
-       - enable_hostname_completion now returns `int' (the old value of
-         perform_hostname_completion)
-
-[The only use of Function and VFunction now is for unwind-protects]
-
-                                   9/4
-                                   ---
-lib/sh/getcwd.c
-       - use const define from config.h rather than `CONST'
-       - use PTR_T define from xmalloc.h rather than `PTR'
-       - include xmalloc.h for PTR_T
-       - remove PATH_MAX define, rely on value from maxpath.h
-
-{general,mailcheck}.c, lib/sh/{pathcanon,pathphys}.c
-       - don't include maxpath.h directly; it's already included by shell.h
-
-lib/sh/mailstat.c
-       - new `mailstat()' implementation, to stat a mailbox file for
-         mail checking.  handles maildir-style mail directories with one
-         file per message and creates a dummy stat struct from them
-
-lib/sh/Makefile.in
-       - add mailstat.c and mailstat.o in the appropriate places
-
-lib/malloc/malloc.c
-       - augmented implementation with wrapper functions that pass in file
-         and line number information from cpp.  currently unused, but a
-         placeholder for future debugging and use tracking
-
-lib/malloc/shmalloc.h
-       - new file, extern declarations for allocation wrapper functions for
-         use by the shell (and others, I guess)
-
-xmalloc.[ch]
-       - wrapper functions for xmalloc, xfree, xrealloc (sh_ prefixed) that
-         pass cpp line number information through to the malloc functions,
-         if USING_BASH_MALLOC is defined
-
-                                   9/5
-                                   ---
-lib/malloc/gmalloc.c
-       - removed; no longer part of distribution
-
-lib/malloc/Makefile.in
-       - removed references to gmalloc.[co]
-
-configure.in, doc/bashref.texi
-       - removed references to `--with-glibc-malloc' configure option
-
-{configure,Makefile}.in
-       - changed the way bash malloc is configured into the Makefile, making
-         it more like how readline is configured.  If the bash malloc is
-         not configured in, nothing in lib/malloc will be built
-
-                                   9/6
-                                   ---
-lib/malloc/imalloc.h
-       - new file, some internal malloc definitions
-
-lib/malloc/mstats.h
-       - new file, definitions for malloc statistics structs and functions
-
-lib/malloc/trace.c
-       - new file, malloc tracing functions (currently just print messages
-         to stderr), code is #ifdef MALLOC_TRACE
-
-lib/malloc/stats.c
-       - new file, moved malloc stats code from malloc.c to here
-
-lib/malloc/malloc.c
-       - moved some definitions to imalloc.h
-       - moved stats code to stats.c
-       - malloc tracing calls added to internal_{malloc,realloc,free}, all
-         #ifdef MALLOC_TRACE
-
-lib/malloc/Makefile.in, Makefile.in
-       - added {imalloc,mstats}.h, {trace,stats}.c
-
-parse.y
-       - changed decode_prompt_string to save and restore $?
-         (last_command_exit_value) around calls to expand_prompt_string(),
-         so command substitutions in PS1, etc. don't change $?
-
-{array,subst}.c
-       - a couple more arrayind_t fixes from Paul Eggert
-
-configure.in
-       - remove redundant check for wait3(2)
-
-redir.h
-       - fixed a typo (stdin_redirs -> stdin_redirects)
-
-                                  9/10
-                                  ----
-execute_cmd.c
-       - remove check for \n and \r from WHITESPACE macro, since those
-         chars are not whitespace as returned by the whitespace(c) macro
-       - getinterp now takes a `char *' as first arg, not unsigned char *
-       - execute_shell_script now takes a `char *' as first arg, not
-         unsigned char *
-       - fix typo in forward declaration for `initialize_subshell'
-       
-general.[ch]
-       - check_binary_file now takes a (char *) argument, not unsigned char *
-       - pass unsigned char to isspace and isprint because of ISO C fuckup
-       - bash_tilde_expand now takes a `const char *' as its argument
-
-builtins/evalfile.c, shell.c
-       - buffer passed to check_binary_file is char, not unsigned char
-
-parse.y
-       - fix extern declaration for yyerror()
-       - yyerror now takes a `const char *' as first arg
-
-{error,jobs}.c
-       - fixes to printf-style functions to handle pids wider than an int
-
-lib/readline/{isearch,vi_mode}.c
-       - fix call to rl_message in rl_display_search (remove extra arg)
-
-variables.c
-       - fix missing argument to builtin_error in make_local_variable
-
-builtins/getopts.def
-       - since getopts takes no options, change while loop calling
-         internal_getopts to a simple `if' check
-
-builtins/printf.def
-       - since printf takes no options, change while loop calling
-         internal_getopts to a simple `if' check
-
-lib/readline/bind.c
-       - remove _SET_BELL macro, expand code inline
-
-lib/readline/input.c
-       - change _rl_input_available to use either select or FIONREAD,
-         but not both
-
-lib/readline/readline.c
-       - fix rl_digit_loop to remove unreachable code at end of loop
-
-{bashhist,bashline,expr,jobs,redir,shell}.c, builtins/fc.def, lib/sh/snprintf.c
-       - bracket unused functions with #ifdef INCLUDE_UNUSED/#endif
-       - remove some unused variables
-
-execute_cmd.c
-       - remove #ifdef'd code that allowed `return' to terminate a select
-         statement
-
-expr.c
-       - remove some extraneous tests from strlong()
-
-array.h
-       - arrayind_t is now a long, since shell arithmetic is performed as
-         longs
-       - remove second declaration of new_array_element
-
-builtins/printf.def
-       - in mklong, xrealloc cannot return NULL, so don't check for it
-       - remove some #if 0 code
-       - fix core dump triggered by a format specification with more than
-         one `*'
-       - remove `foundmod', since its value mirrors `modchar != 0'
-       - include "common.h" for builtin_{error,usage} declarations
-
-Makefile.in,builtins/Makefile.in
-       - updated some dependencies due to new include files
-
-pcomplete.c
-       - include "execute_cmd.h" for declaration of execute_shell_function
-
-arrayfunc.c
-       - include <stdio.h> for printf
-       - include "builtins/common.h" for builtin_error declaration
-
-builtins/evalstring.c
-       - include "../trap.h" for run_trap_cleanup declaration
-
-builtins/help.def
-       - include "common.h" instead of locally declaring builtin_error
-         and builtin_usage
-
-error.h
-       - add extern declaration for itrace()
-       - add prototype to extern declaration of get_name_for_error
-       - file_error now takes a `const char *' as first argument
-
-externs.h
-       - added prototype for sh_setlinebuf declaration, bracketed with
-         NEED_SH_SETLINEBUF_DECL so we don't need stdio.h everywhere
-       - add extern declaration for parse.y:return_EOF()
-
-shell.c
-       - add NEED_SH_SETLINEBUF_DECL before including shell.h
-
-lib/readline/callback.c
-       - include <stdlib.h> or "ansi_stdlib.h" for abort declaration
-
-quit.h
-       - remove declaration of throw_to_top_level
-
-subst.c
-       - remove unused extern declaration for getopts_reset
-
-lib/sh/netopen.c
-       - include <shell.h> for legal_number, etc.
-       - add prototype for inet_aton extern declaration
-
-lib/sh/clock.c
-       - include <stdc.h> for __P declaration
-       - add extern declaration for get_clk_tck
-
-support/mkversion.sh
-       - changed so that extern function declarations for functions in
-         version.c (moved from externs.h) are in the generated version.h
-
-shell.h
-       - include version.h
-
-version.c
-       - various `char *' version variables are now `const char *'
-
-general.h
-       - add prototype for same_file, bracketed with _POSIXSTAT_H
-         #ifdef, since that's what include/posixstat.h defines
-
-builtins/common.[ch]
-       - _evalfile, maybe_execute_file, source_file, and fc_execute_file
-         now take a `const char *' as their first argument
-
-eval.c
-       - removed extern declaration of yyparse; it's in externs.h
-
-parse.y
-       - added prototypes to static forward function declarations
-       - changed local `all_digits' variable in read_token_word () to
-         all_digit_token to avoid clash with all_digits() function in
-         general.c
-
-{bashhist,copy_cmd,make_cmd,hashlib,mailcheck}.c
-       - added prototypes for static function declarations
-
-shell.h
-       - add extern declarations for interactive, interactive_shell,
-         changed c files with extern declarations
-
-pcomplete.c
-       - changed it_init_aliases to avoid shadowing global variable
-         `aliases'
-
-bashline.c,pathexp.c,general.h
-       - sh_ignore_func_t is now a pointer to a function taking a
-         `const char *'; users changed
-
-configure.in
-       - test for <strings.h>
-
-config.h.in
-       - add #undef HAVE_STRINGS_H
-
-bashansi.h
-       - change like recommended in autoconf manual
-
-                                  9/11
-                                  ----
-[a date which will live in infamy.  prayers for the victims.]
-
-execute_cmd.c
-       - don't use an absolute index into abuf in mkfmt, use
-         sizeof(abuf) to compute last index
-
-builtins/common.c
-       - fix read_octal to do a better job of detecting overflow while
-         iterating through the string
-
-builtins/umask.def
-       - change octal-print mode to print 4 digits, like other shells
-       - cast umask to unsigned long to avoid problems on systems where
-         it's wider than an int (POSIX doesn't guarantee that mode_t is
-         no wider than an int, but real-world systems use int)
-
-builtins/printf.def
-       - mklong can never return NULL (it uses xrealloc), so the mainline
-         doesn't need to check for NULL returns
-       - new function, getldouble (long double *), to get long doubles
-       - mklong now takes a `char *' as its second argument, the modifier(s)
-         to use
-       - changed use of `modchar' to handle more than a single modifier
-         character
-       - changed to handle `long double' and `L' formats better, rather
-         than discarding long double information
-       - since printf now follows the POSIX.2 rules for conversion errors,
-         we can dispense with the status returns from the get* functions
-       - make the get* functions as similar in structure as possible,
-         removing type casts, etc.
-
-lib/sh/timeval.c,execute_cmd.c
-       - change some instances of `long' to `time_t', for systems where
-         a time_t is bigger than a long
-
-jobs.c
-       - include "posixtime.h" instead of <sys/time.h>
-
-config.h.in
-       - add defines for HAVE_DECL_CONFSTR, HAVE_DECL_STRTOLD,
-         HAVE_DECL_SBRK, HAVE_DECL_PRINTF
-       - remove defines for SBRK_DECLARED and PRINTF_DECLARED
-       - add _GNU_SOURCE define
-
-configure.in
-       - add AC_CHECK_DECLS for strtold, confstr, sbrk, printf
-       - remove call to BASH_FUNC_SBRK_DECLARED
-       - remove call to BASH_FUNC_PRINTF
-
-xmalloc.c, lib/malloc/malloc.c
-       - change check of SBRK_DECLARED to HAVE_SBRK_DECL
-
-print_cmd.c
-       - change PRINTF_DECLARED to HAVE_DECL_PRINTF
-
-builtins/evalstring.c, builtins/common.h
-       - parse_and_execute now takes a `const char *' as its second argument
-
-input.h,parse.y
-       - with_input_from_* functions now take a `const char *' as their
-         second argument
-       - init_yy_io now takes a `const char *' as its fourth argument
-
-parse.y,externs.h
-       - parse_string_to_word_list now takes a `const char *' as its second
-         argument
-
-tests/builtins.right
-       - change output to account for extra digit in umask output
-
-pcomplib.c
-       - free_progcomp now takes a PTR_T argument
-
-builtins/bashgetopt.h
-       - include <stdc.h>
-       - add prototypes to extern declarations
-
-builtins/shopt.def
-       - add prototypes to static function declarations
-
-builtins/{fc,umask,wait}.def, builtins/{bashgetopt,common}.c
-       - include <ctype.h> for isdigit macro (referenced by `digit(x)')
-
-lib/readline/complete.c
-       - added more static function declarations with prototypes
-
-                                  9/12
-                                  ----
-lib/sh/tmpfile.c
-       - use `^' instead of `*' in sh_mktmpname to make filenames a bit
-         more random
-
-include/stdc.h,lib/readline/rldstdc.h
-       - add __attribute__ definition 
-
-builtins/common.h
-       - add printf __attribute__ to declaration of builtin_error
-
-error.h
-       - add printf __attribute__ to declaration of programming_error,
-         report_error, parser_error, fatal_error, sys_error, internal_error,
-         internal_warning
-
-lib/readline/readline.h
-       - add printf __attribute__ to declaration of rl_message
-
-pcomplete.c
-       - add printf __attribute__ to declaration of debug_printf
-
-print_cmd.c
-       - add printf __attribute__ to declarations of cprintf, xprintf
-
-include/chartypes.h
-       - new file, includes <ctype.h> and defines macros that check for
-         safe (ascii) arguments before calling the regular ctype macros
-
-{alias,bashline,execute_cmd,expr,findcmd,general,locale,mksyntax,stringlib,subst,variables}.c
-parse.y
-builtins/{bashgetopt,common}.c
-builtins/{fc,printf,umask,wait}.def
-lib/glob/strmatch.c
-lib/sh/{oslib,pathcanon,pathphys,snprintf,strcasecmp,strindex,stringvec,strtod,strtol,strtrans}.c
-examples/loadables/{head,sleep}.c
-       - include "chartypes.h" or <chartypes.h> instead of <ctype.h>
-
-Makefile.in,{builtins,lib/{glob,sh}}/Makefile.in
-       - update dependencies to include chartypes.h
-
-lib/sh/inet_aton.c
-       - use `unsigned char' instead of `char' to pass to ctype.h functions
-
-lib/sh/netopen.c
-       - check for '0' <= host[0] <= '9' in _getaddr instead of using
-         isdigit
-
-subst.c,lib/sh/shquote.c
-       - change array subscripts into sh_syntaxtab from `char' to
-         `unsigned char'
-
-{alias,bashline,execute_cmd,expr,general,subst}.c, parse.y
-builtins/{fc,printf,umask,wait}.def builtins/{bashgetopt,common}.c
-lib/sh/{pathcanon,pathphys,snprintf,strcasecmp,strindex,strtod,strtol,strtrans}.c
-examples/loadables/{head,sleep}.c
-       - change to use some of the new macros in chartypes.h
-       - remove old local macro definitions now provided by chartypes.h
-
-general.h
-       - remove definition of isletter, ISOCTAL, digit, digit_value
-       - change legal_variable_starter and legal_variable_char to use
-         chartypes.h macros
-       - change ABSPATH to use chartypes.h macros
-
-lib/readline/util.c
-       - change to use Paul Eggert's FUNCTION_FOR_MACRO define to define
-         function replacements for macros in chardefs.h
-
-lib/readline/chardefs.h
-       - added some of the same macros as in chartypes.h
-       - change _rl_lowercase_p, _rl_uppercase_p, _rl_digit_p,
-         _rl_to_upper, _rl_to_lower to use new IS* macros
-       - added _rl_isident macro from vi_mode.c:isident
-
-lib/readline/{bind,complete,nls}.c
-       - change to use some of the new macros from chardefs.h
-
-lib/readline/vi_mode.c
-       - isident -> _rl_isident
-       - remove local defines of macros in chardefs.h
-
-lib/sh/strtol.c
-       - updated to new version, modified from glibc 2.2.4 and sh-utils-2.0.
-         This one can do strtoll and strtoull, if necessary
-
-                                  9/13
-                                  ----
-builtins/ulimit.def
-       - changed get_limit so it retrieves both hard and soft limits
-         instead of one or the other
-       - changed callers of get_limit
-       - changed getmaxvm to take soft limit, hard limit as arguments
-       - changed getmaxuprc to just take a single argument, the value
-       - changed calls to printone() to pass soft limit or hard limit
-         depending on `mode' instead of using old current_limit variable
-       - moved check for out-of-range limits in ulimit_internal into the
-         block that converts a string argument to a value of type rlim_t
-       - changed RESOURCE_LIMITS struct to break the description into a
-         description string and separate scale factor string
-       - changed print_all_limits to print a single error message if
-         get_limit fails, including limits[i].description now that the
-         scale factor has been removed from the description string
-       - removed DESCFMT define, since it's now used only in printone()
-       - changed printone to print the option character associated with a
-         particular limit if we're printing multiple limits
-       - changed calls to builtin_error to print the description associated
-         with a limit if setting or getting the limit fails
-       - added support for new POSIX 1003.1-200x rlim_t values:
-         RLIM_SAVED_CUR and RLIM_SAVED_MAX, which expand to the current
-         soft and hard limits, whatever they are
-       - changed printone to print `hard' or `soft' if the current limit is
-         RLIM_SAVED_MAX or RLIM_SAVED_CUR, respectively
-       - changed ulimit_internal to handle new `hard' and `soft' arguments
-       - changed help text do describe the special limit arguments `hard',
-         `soft', and `unlimited'
-
-doc/{bash.1,bashref.texi}
-       - documented new `hard' and `soft' limit arguments to `ulimit'
-
-hashlib.[ch]
-       - find_hash_item now takes a `const char *' is its first argument
-       - hash_string now takes a `const char *' is its first argument
-       - remove_hash_item now takes a `const char *' as its first argument
-
-pcomplib.c
-       - removed cast from first argument to find_hash_item in find_compspec
-
-general.[ch]
-       - absolute_program now takes a `const char *' as its argument
-       - absolute_pathname now takes a `const char *' as its argument
-
-lib/glob/glob.[ch]
-       - glob_pattern_p now takes a `const char *' as its argument
-
-bashline.c
-       - removed cast from first argument to absolute_program in
-         command_word_completion_function
-       - removed cast from first argument to glob_pattern_p in
-         attempt_shell_completion
-
-findcmd.[ch]
-       - find_absolute_program, find_user_command, find_path_file,
-         search_for_command, user_command_matches now take a
-         `const char *' as their first argument
-       - file_status, executable_file, is_directory, executable_or_directory
-         now take a `const char *' as their argument
-       - _find_user_command_internal, find_user_command_internal,
-         find_user_command_in_path 
-
-lib/sh/makepath.c, externs.h
-       - changed sh_makepath so it takes `const char *' for its first
-         two arguments
-
-hashcmd.[ch]
-       - find_hashed_filename now takes a `const char *' as its first arg
-       - remove_hashed_filename now takes a `const char *' as its first arg
-
-variables.[ch]
-       - new_shell_variable, var_lookup, shell_var_from_env_string,
-         find_name_in_env_array, bind_function, makunbound,
-         bind_name_in_env_array, bind_tempenv_variable, bind_variable
-         now take a `const char *' as their first arg
-       - find_function, make_new_variable, find_tempenv_variable,
-         find_variable_internal, find_variable, set_func_read_only,
-         set_func_auto_export, all_variables_matching_prefix, assign_in_env,
-         assignment, kill_local_variable, make_local_variable, unbind_variable
-         now take a `const char *' as their arg
-       - mk_env_string now takes `const char *' arguments
-
-arrayfunc.[ch]
-       - skipsubscript now takes a `const char *' as its argument
-
-                                  9/17
-                                  ----
-lib/readline/complete.c
-       - attempt to preserve case of what the user typed in
-         compute_lcd_of_matches if we're ignoring case in completion
-
-builtins/{let,pushd}.def,{execute_cmd,expr}.c
-       - change some 0L constants to 0 and let the compiler sort it out
-
-                                  9/18
-                                  ----
-lib/malloc/alloca.c
-       - alloca now takes a `size_t' argument
-
-include/memalloc.h
-       - if we're providing an extern function declaration for alloca,
-         use `void *' and prototype if __STDC__ is defined
-       - if HAVE_ALLOCA_H is defined, but C_ALLOCA is defined, don't
-         define HAVE_ALLOCA
-
-                                  9/19
-                                  ----
-subst.c
-       - do_assignment_internal, do_assignment, and do_assignment_no_expand
-         now take a `const char *' as their first argument
-
-general.h
-       - a `sh_assign_func_t' is now a function taking a `const char *' and
-         returning int
-
-hashcmd.c
-       - free_filename_data now takes a `PTR_T' argument to agree with the
-         typedef for `sh_free_func_t'
-
-lib/sh/snprintf.c
-       - use TYPE_MAXIMUM define like strtol.c instead of huge constants
-
-                                  9/20
-                                  ----
-lib/sh/snprintf.c
-       - don't bother to compile the bulk of the body unless HAVE_SNPRINTF
-         or HAVE_ASPRINTF is not defined
-
-                                  9/24
-                                  ----
-flags.c
-       - ignore `set -n' if the shell was started interactively
-
-lib/readline/readline.c
-       - initialize readline_echoing_p to 0; let the terminal-specific code
-         in rltty.c set it appropriately
-
-lib/malloc/malloc.c
-       - changed internal_memalign() slightly to avoid compiler warnings about
-         negating an unsigned variable (-alignment -> (~alignment + 1))
-
-                                  9/27
-                                  ----
-lib/readline/readline.c
-       - changed rl_newline to set _rl_history_saved_point appropriately
-         for the {previous,next}_history code
-
-lib/readline/rlprivate.h
-       - extern declaration for _rl_history_preserve_point
-
-lib/readline/bind.c
-       - new bindable variable, `history-preserve-point', sets value of
-         _rl_history_preserve_point
-
-                                  10/1
-                                  ----
-lib/malloc/table.c
-       - new file, with a map of allocated (and freed) memory for debugging
-         multiple frees, etc.  Indexed by hash on values returned by
-         malloc(); holds size, file and line number info for last alloc or
-         free and a couple of statistics pointers
-
-lib/malloc/malloc.c
-       - a few cleanups; added calls for registering allocations and frees
-         if MALLOC_REGISTER is defined
-       - replaced MALLOC_RETURN with explicit MALLOC_NOTRACE define
-       - reordered fields in `struct...minfo' in `union mhead' to restore
-         eight-byte alignment
-       - added explicit checks for underflow in free and realloc since
-         checking mh_magic2 is not sufficient to detect everything (it's
-         no longer the last field in the struct, and thus not the bytes
-         immediately preceding what's returned to the user)
-       - new function, xbotch, for printing file and line number info for
-         the failed assertion before calling botch() (programming_error())
-
-configure.in
-       - replaced call to BASH_C_LONG_LONG with call to
-         AC_CHECK_TYPES([long long])
-       - moved the C compiler tests before the tests for various
-         system types, so we can know whether we have `long long'
-         before testing for 64-bit types
-       - if we have `long long', check for sizeof(long long) and save value
-
-aclocal.m4
-       - changed BASH_TYPE_BITS64_T to check `long long' before `long', but
-         after `double'
-
-                                  10/2
-                                  ----
-lib/malloc/malloc.c
-       - made malloc and realloc both agree on the rounding for a request of
-         size N (round up to nearest multiple of 8 after adjusting for
-         malloc overhead); uses new ALLOCATED_BYTES macro
-       - realloc and free now use new IN_BUCKET macro for underflow checks
-
-execute_cmd.c
-       - fixed time_command() to use `time_t' instead of `long' to hold
-         time stamps
-
-lib/sh/clock.c
-       - clock_t_to_secs now takes a `time_t *' second argument
-       - fixed print_clock_t to call clock_t_to_secs with right arguments
-
-lib/sh/timeval.c
-       - fixed print_timeval to make `minutes' a `long' and make its
-         structure identical to print_clock_t
-
-redir.c
-       - changed redirection_error to check for EBADF and use the file
-         descriptor being redirected from in the error message if it
-         is >= 0
-
-Makefile.in
-       - changed release status to `beta1'
-
-lib/glob/collsyms.h
-       - added a few ASCII symbols to the posix_collsyms array
-
-                                  10/3
-                                  ----
-aclocal.m4
-       - fixed typo in BASH_TYPE_BITS64_T
-
-configure.in
-       - added check for unsigned chars with AC_C_CHAR_UNSIGNED
-
-config.h.in
-       - added PROTOTYPES and __CHAR_UNSIGNED__ #defines
-
-general.h
-       - if CHAR_MAX is not define by <limits.h>, provide a definition
-
-builtins/printf.def
-       - change tescape() to mask \0 and \x escape sequences with 0xFF
-       - change tescape() to process at most two hex digits after a `\x'
-
-lib/sh/strtrans.c
-       - change strtrans() to mask \0 and \x escape sequences with 0xFF
-       - change strtrans() to process at most two hex digits after a `\x'.
-         This affects `echo -e' and $'...' processing
-
-lib/readline/bind.c
-       - changed rl_translate_keyseq() to process at most two hex digits
-         after a `\x'
-
-lib/readline/doc/{rluser.texinfo,readline.3}, doc/bash.1
-       - changed documentation for key binding escape sequences to specify
-         that at most two hex digits after \x are translated
-       - changed documentation for key binding to specify that the result
-         of \nnn or \xhh escapes is an eight-bit value, not just ASCII
-
-doc/{bash.1,bashref.texi}
-       - changed documentation of $'...' to specify that at most two hex
-         digits after \x are translated
-       - changed `echo' documentation to specify that at most two hex
-         digits after \x are translated
-       - changed documentation for `echo' and $'...' to specify that the
-         result of \nnn or \xhh escapes is an eight-bit value, not just ASCII
-
-                                  10/4
-                                  ----
-lib/malloc/malloc.c
-       - changed interface for xbotch to pass memory address and error code
-         as two additional arguments
-       - call mregister_describe_mem from xbotch to get the last allocation
-         or free before the botch
-
-configure.in
-       - call AC_CHECK_DECLS([strsignal])
-
-config.h.in
-       - add HAVE_DECL_STRSIGNAL
-
-siglist.h
-       - make declaration of strsignal() dependent on !HAVE_DECL_STRSIGNAL
-
-                                  10/5
-                                  ----
-support/texi2html
-       - upgraded to version 1.64
-
-                                  10/9
-                                  ----
-aclocal.m4
-       - added check for `long long' to BASH_TYPE_PTRDIFF_T
-
-configure.in
-       - replaced call to BASH_HAVE_TIOCGWINSZ with AC_HEADER_TIOCGWINSZ
-
-aclocal.m4
-       - replaced body of BASH_STRUCT_TERMIOS_LDISC with call to
-         AC_CHECK_MEMBER(struct termios.c_line, ...)
-       - replaced body of BASH_STRUCT_TERMIO_LDISC with call to
-         AC_CHECK_MEMBER(struct termios.c_line, ...)
-
-[bash-2.05a-beta1 frozen]
-
-                                  10/10
-                                  -----
-lib/sh/snprintf.c
-       - fixed exponent() to not smash the trailing zeros in the fraction
-         when using %g or %G with an `alternate form'
-       - fixed exponent() to handle the optional precision with %g and %G
-         correctly (number of significant digits before the exponent)
-
-                                  10/11
-                                  -----
-expr.c
-       - fixed strlong() to correct the values of `@' and `_' when
-         translating base-64 constants (64#@ == 62 and 64#_ == 64), for
-         compatibility with ksh
-
-lib/sh/itos.c
-       - added a slightly more flexible fmtlong() function that takes a
-         base argument and flags (for future use)
-       - rewrote itos and inttostr in terms of fmtlong
-
-lib/sh/fmtulong.c
-       - new file, converts unsigned long to string.  hooks for `unsigned
-         long long' in the future.  unused as yet
-
-                                  10/15
-                                  -----
-lib/readline/rltty.c
-       - change the SET_SPECIAL macro to avoid possible (but highly
-         unlikely) negative array subscripts
-
-error.h
-       - add __attribute__ to extern declaration of itrace (even though the
-         function isn't defined in released versions of bash)
-
-bashansi.h
-       - include <strings.h> if HAVE_STRINGS_H is defined, to get any extra
-         function declarations provided therein
-
-copy_cmd.c
-       - fix typo in forward declaration for copy_arith_for_command
-
-lib/malloc/stats.c
-       - make the accumulators in _print_malloc_stats be `unsigned long'
-         instead of `int'
-
-externs.h, sig.h
-       - add `__noreturn__' gcc attribute to exit_shell and jump_to_top_level
-         declarations
-
-lib/sh/mailstat.c, support/bashversion.c
-       - include <bashansi.h> for some string function declarations
-
-lib/malloc/shmalloc.h
-       - added extern declarations of functions that do malloc debugging
-
-lib/readline/{isearch,readline,vi_mode}.c
-       - make sure we index into _rl_keymap with a non-negative index
-
-parse.y
-       - make sure we index into sh_syntaxtab with a non-negative index
-
-lib/readline/vi_mode.c
-       - bound the vi_mark_chars array with the number of characters between
-         'a' and 'z' rather than using a fixed amount
-       - don't use _rl_lowercase_p when deciding whether the char read by
-         rl_vi_set_mark is a valid mark; just use 'a' <= char <= 'z'
-
-lib/readline/chardefs.h
-       - conditionally include memory.h and strings.h as in general.h
-       - replace ISASCII with IN_CTYPE_DOMAIN like other GNU software
-       - add defines for ISPRINT(c), ISLOWER(c) and ISUPPER(c)
-       - fix defines for _rl_lowercase_p, _rl_uppercase_p, _rl_digit_p,
-         _rl_pure_alphabetic, ALPHABETIC, _rl_to_upper, _rl_to_lower,
-         and _rl_isident to work on systems with signed chars
-
-include/chartypes.h
-       - replace ISASCII with IN_CTYPE_DOMAIN like other GNU software
-
-lib/sh/{strcasecmp,strtod,strtol}.c
-       - don't pass possibly-negative characters to tolower() or toupper()
-
-lib/glob/strmatch.c
-       - don't bother testing for isupper in FOLD; rely on TOLOWER macro
-         from <chartypes.h> to do it
-       - don't use local definitions of isblank, et al.; rely on macros
-         from <chartypes.h>
-
-lib/readline/{display,readline}.c, mksyntax.c
-       - use new ISPRINT macro instead of isprint()
-
-builtins/{kill.def,mkbuiltins.c},{error,execute_cmd,jobs,nojobs,subst}.c
-       - don't assume that a pid_t fits into an int for printing and other
-         uses
-
-variables.[ch]
-       - the unused put_gnu_argv_flags_into_env now takes a `long' pid
-         argument
-
-configure.in, config.h.in
-       - call AC_STRUCT_ST_BLOCKS, define HAVE_STRUCT_STAT_ST_BLOCKS if found
-       - check for strtoull(), define HAVE_STRTOULL if found
-       - check for uintmax_t, define to `unsigned long' if not found
-
-lib/sh/mailstat.c
-       - don't use st_blocks member of struct stat unless
-         HAVE_STRUCT_STAT_ST_BLOCKS is defined; otherwise use the st_nlink
-         field to return the total number of messages in a maildir-style
-         mail directory
-
-general.h,{alias,expr,general,subst,variables}.c
-builtins/{printf,read}.def
-lib/readline/{bind,complete,nls}.c
-lib/sh/{pathcanon,pathphys,shquote,snprintf,strindex,strtod,strtol,strtrans}.c
-       - cast args to ctype macros to unsigned char for systems with signed
-         chars; other fixes for signed chars
-
-lib/sh/{fmtullong,strtoull.c}
-       - new files, more support for `long long'
-
-Makefile.in, lib/sh/Makefile.in
-       - make fmtullong.o and strtoull.o part of libsh
-
-lib/sh/itos.c
-       - remove local copy of fmtlong; use fmtulong instead
-       - new functions: uitos, uinttostr work on `unsigned long'
-
-lib/sh/snprintf.c
-       - fixes to make `unsigned long long' work (%llu)
-       - fixes to make unsigned formats not print the sign when given
-         an unsigned long that is greater than LONG_MAX
-
-externs.h
-       - extern declarations for fmtulong, fmtulloing, strtoull
-       - extern declarations for uitos, uinttostr
-
-                                  10/16
-                                  -----
-configure.in
-       - move header checks before function checks
-       - move c compiler tests before header checks
-       - check for <inttypes.h> with BASH_HEADER_INTTYPES
-       - change type checks for intmax_t, uintmax_t to not attempt to
-         include <stdint.h>
-       - check for strtoimax, strtoumax, strtoll, strtol, strtoull, strtoul
-         with BASH_CHECK_DECL (for declarations in header files) and
-         AC_REPLACE_FUNCS (for availability and LIBOBJS substitution)
-       - remove check for have_long_long around sizeof check for long long
-         (since autoconf will give it a size of 0 if the type isn't found)
-
-config.h.in
-       - add a define for HAVE_INTTYPES_H
-       - add a define for HAVE_UNSIGNED_LONG_LONG
-       - add defines for HAVE_STRTOIMAX, HAVE_STRTOUMAX, HAVE_STRTOLL
-
-aclocal.m4
-       - new func, BASH_HEADER_INTTYPES, which just calls AC_CHECK_HEADERS
-         on <inttypes.h>; separate so it can be AC_REQUIREd
-       - AC_REQUIRE([BASH_HEADER_INTTYPES]) in BASH_CHECK_TYPE
-       - include <inttypes.h> in BASH_CHECK_TYPE if HAVE_INTTYPES_H is
-         defined
-       - change AC_DEFINE to AC_DEFINE_UNQUOTED in BASH_CHECK_TYPE
-       - new `long long' checking macros:  BASH_TYPE_LONG_LONG and
-         BASH_TYPE_UNSIGNED_LONG_LONG
-       - new BASH_CHECK_DECL 
-
-lib/sh/{strto[iu]max,strtoll}.c, lib/sh/Makefile.in, Makefile.in
-       - new files
-
-externs.h
-       - extern declarations for strtoll, strtoimax, strtoumax
-
-lib/malloc/alloca.c
-       - include <bashtypes.h> for size_t
-
-builtins/printf.def
-       - new functions: getllong, getullong, getintmax, getuintmax; return
-         long long, unsigned long long, intmax_t, uintmax_t respectively
-       - builtin printf now handles `ll' and `j' length modifiers directly
-
-lib/sh/Makefile.in
-       - use LIBOBJS to decide whether or not the strto* functions are
-         needed
-
-                                  10/17
-                                  -----
-configure.in
-       - call AC_REPLACE_FUNCS(rename)
-       - move getcwd, strpbrk, strcasecmp, strerror, strtod
-         from AC_CHECK_FUNCS to AC_REPLACE_FUNCS
-       - only call BASH_FUNC_GETCWD if $ac_func_getcwd == "yes"
-       - call BASH_CHECK_SYS_SIGLIST
-       - if we don't have vprintf but have _doprnt, call AC_LIBOBJ(vprint)
-
-lib/sh/Makefile.in
-       - remove rename, getcwd, inet_aton, strpbrk, strcasecmp, strerror,
-         strtod, vprint from OBJECTS; picked up from LIBOBJS
-
-aclocal.m4
-       - change BASH_FUNC_GETCWD to call AC_LIBOBJ(getcwd) if the libc
-         getcwd(3) calls popen(3)
-       - change BASH_FUNC_INET_ATON to call AC_LIBOBJ(inet_aton) if it's
-         not found in libc or as a #define even with the special includes
-       - BASH_KERNEL_RLIMIT_CHECK -> BASH_CHECK_KERNEL_RLIMIT
-       - BASH_DEFAULT_MAILDIR -> BASH_SYS_DEFAULT_MAILDIR
-       - BASH_JOB_CONTROL_MISSING -> BASH_SYS_JOB_CONTROL_MISSING
-       - BASH_REINSTALL_SIGHANDLERS -> BASH_SYS_REINSTALL_SIGHANDLERS
-       - BASH_SIGNAL_CHECK -> BASH_SYS_SIGNAL_VINTAGE
-       - BASH_DUP2_CLOEXEC_CHECK -> BASH_FUNC_DUP2_CLOEXEC_CHECK
-       - BASH_PGRP_SYNC -> BASH_SYS_PGRP_SYNC
-       - BASH_RLIMIT_TYPE -> BASH_TYPE_RLIMIT
-       - BASH_FUNC_PRINTF -> BASH_DECL_PRINTF
-       - BASH_FUNC_SBRK_DECLARED -> BASH_DECL_SBRK
-       - BASH_MISC_SPEED_T -> BASH_CHECK_SPEED_T
-       - BASH_CHECK_SOCKLIB -> BASH_CHECK_LIB_SOCKET
-       - new macro, BASH_CHECK_SYS_SIGLIST, encapsulates all the checks for
-         sys_siglist, _sys_siglist, and strsignal(), sets SIGLIST_O to
-         siglist.o if appropriate
-
-Makefile.in
-       - use SIGLIST_O variable to decide whether or not we need siglist.o
-
-{execute_cmd,subst}.c
-       - change a couple of instances of ISDIGIT to DIGIT, where we really,
-         really only want ascii digits
-
-ansi_stdlib.h
-       - don't need a declaration for atol()
-
-                                  10/18
-                                  -----
-
-aclocal.m4
-       - new macro, BASH_FUNC_PRINTF_A_FORMAT, checks for printf support
-         for %a, %A conversion specifiers, defines HAVE_PRINTF_A_FORMAT
-         if successful
-
-configure.in
-       - call AC_CHECK_FUNCS for isascii
-       - call BASH_FUNC_PRINTF_A_FORMAT
-
-config.h.in
-       - add a define for HAVE_ISASCII
-       - add a define for HAVE_PRINTF_A_FORMAT
-
-lib/sh/snprintf.c
-       - for long double output, fall back to sprintf using ldfallback()
-         function for floating point formats
-       - support %a, %A using dfallback() or ldfallback() if
-         HAVE_PRINTF_A_FORMAT is defined
-       - fix bug in vasprintf that returned wrong value in its first
-         argument if the buffer holding the result string got reallocated
-       - fixed PUT_CHAR macro to increment the counter even if we've
-         exceeded the buffer size, for the return value from
-         vsnprintf/snprintf
-       - fix vsnprintf_internal to not use counter < length as a loop
-         condition, but always process the entire format string (for
-         the return value from vsnprintf/snprintf)
-
-builtins/printf.def
-       - support %a, %A if HAVE_PRINTF_A_FORMAT is defined
-
-include/typemax.h
-       - new file, with the TYPE_MAXIMUM stuff that's duplicated in several
-         files in lib/sh
-
-lib/sh/{fmtulong,strtol,snprintf}.c
-       - include <typemax.h> instead of having the definitions in each file
-
-lib/sh/Makefile.in
-       - updated dependencies for typemax.h
-
-                                  10/22
-                                  -----
-configure.in
-       - call AC_CHECK_FUNCS on ctype.h functions/macros that bash redefines
-         in chartypes.h
-
-config.h.in
-       - defines for HAVE_IS{ASCII,BLANK,GRAPH,PRINT,SPACE,XDIGIT}
-
-include/chartypes.h, lib/glob/strmatch.c, lib/readline/chardefs.h
-       - don't redefine some is* ctype macros/functions if HAVE_ISXXX is
-         defined (meaning that an appropriate function, but not a macro,
-         exists)
-
-lib/sh/strtrans.c
-       - new function, ansic_shouldquote, returns 1 if argument string
-         contains non-printing chars that should be quoted with $'...'
-
-externs.h
-       - new declaration for ansic_shouldquote()
-
-variables.c
-       - change print_var_value to ansi C quote the string if we're not in
-         posix mode and the variable's value contains non-printing chars,
-         to use the regular shell single quoting if the value contains
-         shell meta-characters, and to just output the string otherwise
-
-lib/sh/shquote.c
-       - add `break' to `case '~':' to avoid fallthrough and extra test
-
-doc/bashref.texi
-       - note that in POSIX mode, `set' displays variable values that
-         include nonprinting characters without quoting, unless they
-         contain shell metacharacters
-
-builtins/printf.def, lib/sh/snprintf.c
-       - handle `F' conversion specifier as equivalent to 'f'
-
-parse.y, {nojobs,variables}.c
-       - a couple of cleanups for when building a minimal configuration
-
-nojobs.c
-       - new function: stop_making_children(), just sets
-         already_making_children to 0 (like stop_pipeline)
-
-subst.c
-       - call stop_making_children from subst.c:command_substitute if
-         JOB_CONTROL is not defined.  This fixes the bug where the wrong
-         process is waited for (and its status returned) when using
-         command substitution in a null command in a shell function
-
-builtins/printf.def
-       - new variable `tw' used to keep track of the total number of
-         characters written by a single call to `printf' -- to be
-         used for the `%n' conversion, which will be added later.  It
-         gets reset each time we reuse the format string, which is what
-         ksh93 seems to do
-
-                                  10/23
-                                  -----
-variables.c
-       - new function, bind_var_to_int (char *var, long val)
-
-variables.h
-       - extern declaration for bind_var_to_int
-
-lib/sh/netopen.c
-       - use gai_strerror() for error messages when getaddrinfo() fails
-       - use PF_INET if DEBUG is defined, since IPv6 doesn't work for me
-
-Makefile.in
-       - pass DEBUG=${DEBUG} down to makes in some subdirectories
-
-{builtins,lib/{glob,sh}}/Makefile.in
-       - append ${DEBUG} to LOCAL_CFLAGS value, passed by top-level Makefile
-
-builtins/printf.def
-       - added support for %n format conversion char (number of chars printed
-         so far from current format string)
-
-                                  10/24
-                                  -----
-variables.c
-       - if posixly_correct is set, the default value of $MAILCHECK is 600
-       - use legal_number instead of atoi in adjust_shell_level
-       - treat non-numeric assignments to SECONDS as 0 in assign_seconds
-       - new function, init_funcname_var; sets FUNCNAME as a dynamic variable
-         if it's not set in the initial environment
-       - new function, init_groups_var; sets GROUPS as a dynamic array
-         variable if it's not set in the initial environment
-       - new function, init_dirstack_var; sets DIRSTACK as a dynamic array
-         variable if it's not set in the initial environment
-       - new function, init_seconds_var; sets SECONDS as a dynamic
-         variable using any valid integer value in the initial environment
-         as the initial value, as if an assignment had been performed
-       - call init_funcname_var, init_groups_var, init_dirstack_var,
-         init_seconds_var from initialize_dynamic_variables
-       - non-numeric values assigned to LINENO are treated as 0
-       - change initialize_shell_variables to not auto-export PATH or TERM
-       - change set_home_var to not auto-export HOME
-       - change set_shell_var to not auto-export SHELL
-       - broke the code that sets HOSTNAME, HOSTTYPE, MACHTYPE, OSTYPE
-         out into a separate function, set_machine_vars; none of those
-         variables are auto-exported
-       - bash no longer un-exports SSH_CLIENT or SSH2_CLIENT
-
-shell.c
-       - changed isnetconn() to check SSH_CLIENT and SSH2_CLIENT only if
-         SSH_SOURCE_BASHRC is defined in config-top.h
-
-config-top.h
-       - added a commented-out definition for SSH_SOURCE_BASHRC
-
-                                  10/25
-                                  -----
-
-Makefile.in
-       - changed RELSTATUS to `rc1' (release candidate 1)
-
-                                  10/29
-                                  -----
-locale.c
-       - fixed an `=' vs. `==' typo in set_locale_var when parsing
-         LC_NUMERIC
-
-doc/{bash.1,bashref.texi}
-       - document what bash does with $POSIXLY_CORRECT
-
-doc/builtins.1
-       - some updates
-
-builtins/psize.sh
-       - some mktemp(1) changes
-
-lib/readline/readline.c
-       - change rl_backward to check for rl_point < 0 and reset to 0 if so
-
-lib/readline/util.c
-       - don't compile in _rl_strpbrk if HAVE_STRPBRK is defined
-
-lib/readline/rlprivate.h
-       - remove extern declaration of _rl_strpbrk
-
-lib/readline/rldefs.h
-       - #define _rl_strpbrk as strpbrk if HAVE_STRPBRK is define, otherwise
-         add extern declaration of _rl_strpbrk from rlprivate.h
-
-{mailcheck,shell,variables}.c
-       - make sure to include posixtime.h to get any prototype for time(3)
-         in scope
-
-{array,eval,execute_cmd,mksyntax,subst}.c, parse.y
-builtins/common.c
-lib/sh/pathcanon.c
-       - a few changes as the result of `gcc -Wall' patches from solar
-         designer
-
-builtins/read.def, parse.y
-       - change some calls to free() to xfree()
-
-builtins/set.def
-       - make sure unset_builtin() resets unset_array to 0 each time through
-         the loop, because it's set (and used) depending on the current
-         argument
-
-shell.h
-       - new define, USE_VAR, to force the compiler to not put a particular
-         variable in a register -- helpful if registers are not restored
-         by setjmp/longjmp
-
-builtins/{evalfile.c,{read,wait}.def}, {eval,execute_cmd,shell,test}.c
-       - use USE_VAR for some variables
-
-subst.c
-       - fixed a case in expand_word_internal where a NULL pointer could
-         have been passed to free() (though free() should ignore it)
-       - fixed a case at the end of expand_word_internal where LIST could
-         have been used uninitialized (it makes gcc happy, though it
-         doesn't happen in practice)
-
-test.c
-       - give test_syntax_error(), beyond(), and integer_expected_error()
-         the `__noreturn__' attribute for gcc
-
-unwind_prot.c
-       - in clear_unwind_protect_list(), convert `flags' to `long' (via
-         assignment to a `long' variable) before casting to `char *', in
-         case pointers and longs are 64 bits and ints are 32 (makes no
-         difference on 32-bit machines)
-
-                                  10/30
-                                  -----
-print_cmd.c
-       - fixed cprintf to avoid gcc warning about assigning const pointer
-         to non-const (discarding type qualifier)
-
-{make_cmd,pcomplete,test}.c,parse.y
-       - some minor changes to shut up gcc warnings
-
-lib/sh/tmpfile.c
-       - fixed sh_mktmpfp to avoid file descriptor leaks in the case that
-         sh_mktmpfd succeeds but fdopen fails for some reason
-       - change sh_mktmpfd to use the same scheme for computing `filenum'
-         as sh_mktmpname
-       - change get_sys_tmpdir to prefer P_tmpdir if P_tmpdir is defined
-       - changed sh_mktmpname and sh_mktmpfd to avoid trying to assign to
-         `nameroot' if `nameroot == 0' (duh)
-       - add code to sh_mktmpfd to use mkstemp(3) if USE_MKSTEMP is defined
-       - add code to sh_mktmpname to use mktemp(3) if USE_MKTEMP is defined
-
-support/{fixlinks,mkclone}
-       - use mktemp if it's available for the symlink test
-       - use $TMPDIR instead of hardcoding /tmp; default to /tmp
-       - use a better filename for the symlink test instead of `z'
-
-support/bashbug.sh
-       - more changes inspired by a patch from solar designer
-
-lib/malloc/Makefile.in
-       - new target `alloca', which builds libmalloc.a with alloca.o only
-         (for systems without alloca that are configured --without-bash-malloc)
-
-configure.in
-       - if we don't have a working alloca and are not configured to build
-         the bash malloc library, make a malloc library containing only
-         alloca.o
-
-aclocal.m4
-       - slight change to RL_LIB_READLINE_VERSION to deal with minor version
-         numbers with a letter appended (like 4.2a)
-
-                                  10/31
-                                  -----
-doc/{bash.1,bashref.texi}
-       - slight change to note that only interactive shells resend a SIGHUP
-         to all jobs before exiting
-
-externs.h
-       - declare strto[ui]max only if NEED_STRTOIMAX_DECL is defined.  This
-         keeps picky compilers from choking because intmax_t is not defined
-         (MacOS X 10.1)
-
-builtins/printf.def
-       - #define NEED_STRTOIMAX_DECL before including shell.h
-
-                                  11/1
-                                  ----
-general.c
-       - check in bash_tilde_expand() for an unquoted tilde-prefix; don't
-         bother passing the string to tilde_expand unless the prefix is
-         unquoted
-
-shell.c
-       - fix a problem with $LINENO when executing commands supplied with
-         the -c invocation option when ONESHOT is defined
-
-[bash-2.05a-rc1 frozen]
-
-builtins/printf.def
-       - fix the %n conversion to require that the variable name supplied
-         be a valid shell identifier
-
-variables.c
-       - improve random number generator slightly by using the upper 16
-         bits of the running random number instead of the lower 16, which
-         are incrementally more random
-
-                                  11/2
-                                  ----
-configure.in
-       - if RL_INCLUDEDIR ends up being /usr/include, don't put
-         -I$(RL_INCLUDEDIR) into CFLAGS
-
-                                  11/5
-                                  ----
-doc/{bash.1,bashref.texi}
-       - correct description of POSIXLY_CORRECT to note that the shell enters
-         posix mode *before* the startup files are read if POSIXLY_CORRECT
-         is in the initial environment
-
-variables.c
-       - fix function prologues for init_dirstack_var and init_groups_var
-         to agree with caller (no arguments)
-
-jobs.c
-       - fix forward function declarations for pipe_read and pipe_close
-
-subst.c
-       - removed `inline' attribute from skip_double_quoted because it can
-         potentially be called recursively
-
-bashline.c
-       - quick fix to bashline.c:attempt_shell_completion programmable
-         completion code to just punt if the end of the command word found
-         by find_cmd_end is <= the start found by find_cmd_start (the bug
-         is probably in find_cmd_start -- fix later)
-
-pcomplete.c
-       - fix gen_matches_from_itemlist to return if the stringlist is null
-         after any cleaning or initialization, before trying to use it
-       - fix GEN_COMPS to only bother to try to append the STRINGLIST
-         returned by gen_matches_from_itemlist to `glist' if it's non-NULL
-
-lib/sh/stringlist.c
-       - make copy_stringlist return NULL if the STRINGLIST * passed as an
-         argument is NULL
-       - make append_stringlist call copy_stringlist only if M2 is non-NULL;
-         otherwise just return NULL if m1 is NULL
-       - make word_list_to_stringlist return 0 immediately if the passed
-         LIST argument is NULL
-       - make realloc_stringlist call alloc_stringlist if the passed
-         STRINGLIST argument (`sl') is 0, just like realloc calls malloc
-
-subst.c
-       - in skip_to_delim(), if we have an unclosed ${, and it's at the end
-         of the string (string[i] == '{', string[i+1] == '{' and
-         string[i+2] == 0, return si (i + 2) immediately without bothering
-         to call extract_dollar_brace_string or extract_delimited_string
-       - in skip_to_delim(), if string[i] is 0 after a call to
-         extract_dollar_brace_string or extract_delimited_string (meaning we
-         have an unclosed ${ or other expansion, return i immediately without
-         doing a `continue' (which will increment i past the end of string)
-       - in split_at_delims, don't increment te by 1 if it's pointing to a
-         delimiter.  this has the effect of skipping the first delimiter
-         char in a possibly multi-character delimiter, and ignoring
-         single-char delimiters like `>'
-
-configure.in
-       - use AC_CHECK_MEMBERS([struct stat.st_blocks]) instead of a call to
-         AC_STRUCT_ST_BLOCKS to avoid configure changing LIBOBJS if the test
-         fails
-
-general.c
-       - introduce two new variables: bash_tilde_{prefixes,suffixes}, set
-         to the additional prefixes and suffixes bash wants to pass to the
-         tilde expansion code (reserved for post-bash-2.05a fix)
-
-aclocal.m4
-       - add missing `test' in BASH_CHECK_SYS_SIGLIST
-
-                                  11/7
-                                  ----
-lib/readline/vi_mode.c
-       - fix rl_vi_goto_mark to explicitly check that the desired mark is
-         between 'a' and 'z', since some locales have lowercase letters
-         outside that range, which could cause a negative subscript
-
-include/chartypes.h
-       - remove superfluous `#undef ISASCII'
-
-lib/sh/strto[iu]max.c
-       - changes from Paul Eggert to work around buggy compilers and catch
-         configuration errors at compile time
-
-aclocal.m4
-       - new macro, BASH_C_LONG_DOUBLE, identical to AC_C_LONG_DOUBLE but
-         with a fix for Irix 5.3 (not called, since I'm not sure it's the
-         right thing to do -- the C standard allows double and long double
-         to be the same size)
-
-lib/sh/snprintf.c
-       - only try to write the trailing NUL in vsnprintf_internal if
-         data->length is >= 0, since if it's not, we probably don't have
-         a buffer
-
-Makefile.in
-       - changed RELSTATUS to `release'
-
-                                  11/8
-                                  ----
-lib/sh/strtol.c
-       - make sure chars passed to toupper are cast to unsigned
-
-unwind_prot.c
-       - change clear_unwind_protect_list to not require a cast from `int'
-         to `char *'
-
-lib/readline/chardefs.h
-       - make _rl_digit_p succeed only for ascii digits, since that's what
-         most callers assume
-
-                                  11/13
-                                  -----
-doc/bashref.texi
-       - added `ERR' trap and [-+]O invocation option to section listing
-         differences from the Bourne shell
-
-                                  11/15
-                                  -----
-[bash-2.05a released]
-
-                                  11/19
-                                  -----
-include/stdc.h
-       - new define, INLINE, defined as `inline' for gcc and empty otherwise
-
-subst.c
-       - make skip_double_quoted, sub_append_string have INLINE attribute
-
-trap.c
-       - use BASH_NSIG as upper limit for signal names in signal_name()
-
-lib/readline/bind.c
-       - use RL_COMMENT_BEGIN_DEFAULT in output for rl-comment-begin value
-
-error.c
-       - fix sys_error to save value of errno around calls to fprintf
-
-doc/Makefile.in
-       - added rules to create PDF files from postscript and dvi input
-
-MANIFEST.doc
-       - added {article,bash,bashref,rose94}.pdf
-
-doc/bash.1
-       - rearranged some `.PD 0' and `.TP' directives so man2html will
-         handle them better (shouldn't affect groff output)
-
-support/man2html.c
-       - small fix to handle quoted string arguments to directives like
-         `.BR' without mangling the output
-
-                                  11/20
-                                  -----
-{arrayfunc,variables}.c
-       - changed calling sequence for dynamic array variable `assign'
-         functions to (SHELL_VAR *self, char *value, arrayind_t ind)
-       - changed calling sequence for dynamic variable assign functions
-         to the same as array variable assign_func.  Now this can be
-         prototyped
-
-variables.h
-       - the assign_func member of a `struct variable' is now of type
-         `sh_var_assign_func_t', which is prototyped
-       - the dynamic_value member of a `struct variable' is now of type
-         `sh_var_value_func_t', which is prototyped
-
-variables.c
-       - changed to use `sh_var_assign_func_t' and `sh_var_value_func_t'
-
-builtins/cd.def
-       - when in posix mode, if the new directory name formed by PWD and
-         the argument passed by the user cannot be canonicalized, and the
-         -P option has not been supplied, return failure immediately
-       - if canonicalization failed, but the fallback to the directory
-         name specified by the user succeeds, reset the current working
-         directory
-
-lib/readline/{input.c,rlprivate.h}
-       - renamed rl_unget_char to _rl_unget_char; made library global
-
-lib/readline/{{bind,readline}.c,{keymaps,rlprivate}.h}
-       - support for `key subsequences'; allows a key sequence and a function
-         mapped to a subsequence of that key sequence.  Primarily to allow
-         arrow keys to be bound in readline vi insert mode, while preserving
-         the ESC function to switch to command mode.
-
-lib/readline/{input.c,rlprivate.h}
-       - new function, _rl_input_queued(T), does a check with select or
-         FIONREAD with a timeout of `T' (which is generally 0)
-
-lib/readline/readline.c
-       - change _rl_dispatch_subseq to test for input in the queue if we
-         get ESC while in vi insertion mode if the keymap entry type for
-         ESC is ISKMAP.  If _rl_input_queued returns non-zero, we assume
-         that an arrow key sequence has been pressed and go ahead with the
-         subsequence.  If it returns zero, we assume that the user pressed
-         ESC to switch into command mode, and dispatch to that right away.
-         This avoids forcing the user to press another key before switching
-         into command mode
-
-                                  11/21
-                                  -----
-lib/readline/readline.c
-       - bind common arrow key sequences in vi insertion keymap
-
-lib/readline/terminal.c
-       - bind termcap definition's arrow keys in vi insertion keymap
-
-lib/readline/bind.c
-       - check for rl_vi_movement_mode in _rl_bind_if_unbound, so
-         binding the arrow keys can work
-
-lib/readline/readline.c
-       - since _rl_bind_if_unbound does the check of what's currently
-         bound to the key sequence, the check in bind_arrow_keys_internal
-         was redundant
-       - bind_arrow_keys_internal now takes a Keymap argument and handles
-         saving and restoring _rl_keymap; changed bind_arrow_keys
-         accordingly
-
-builtins/fc.def
-       - fix from Paul Eggert to substitute the nearest history number in
-         range if an out-of-range value is supplied.  POSIX requires this
-
-lib/sh/pathcanon.c
-       - fix from Corrina Vinschen for the special `cygdrive' prefix on
-         Cygwin
-
-bashhist.c
-       - split the history adding code into more pieces:
-           check_history_control (char *line) checks LINE against the value
-           of HISTCONTROL, returning 1 if LINE should be saved and 0 if not
-
-           check_add_history (char *line) calls check_history_control and
-           history_should_ignore (line) and saves the line with
-           bash_add_history if the checks indicate that it should be saved
-
-           maybe_add_history just calls check_add_history to set the value
-           of first_line_saved
-
-bashhist.h
-       - extern declaration for check_add_history()
-
-shell.c
-       - don't call load_history() from the interactive shell startup
-         code if history_lines_this_session is > 0, indicating that we've
-         already saved some lines in the history and that we probably
-         don't want to overwrite them
-
-builtins/history.def
-       - call check_add_history from push_history, so `history -s xx'
-         works even when in a compound command whose first line has not
-         been saved.  (Caveat:  in a compound command when the first
-         line has been saved, the line supplied to history -s will become
-         part of the compound command's history entry.  Of course, the
-         delete_history call could remove the compound command from the
-         history entirely)
-
-bashline.c
-       - use sh_makepath instead of xmalloc/sprintf in
-         command_word_completion_function
-
-lib/readline/complete.c
-       - get_y_or_n now takes an int FOR_PAGER argument; caller changed
-         If FOR_PAGER is non-zero, get_y_or_n returns appropriate values
-         for a more-like pager:  `newline' or `return' return 2; `q' or
-         `Q' return 0
-       - there is now a mini internal more-like pager for displaying a
-         list of completions that exceeds the screen height (new function
-         _rl_internal_pager, called from rl_display_match_list)
-
-                                  11/24
-                                  -----
-command.h
-       - new flag, W_TILDEEXP, says to do tilde expansion on an
-         assignment word
-
-execute_cmd.c
-       - fix_assignment_words now sets W_TILDEEXP for assignment word
-         arguments to `assignment builtins'
-
-general.c
-       - bash_tilde_expand now takes a second argument indicating whether
-         or not it's being invoked in an `assignment context'
-
-general.h
-       - change extern declaration for bash_tilde_expand
-
-{bashline,execute_cmd,findcmd,general,variables}.c
-builtins/evalfile.c
-lib/sh/makepath.c
-       - fix callers of bash_tilde_expand appropriately
-
-subst.c
-       - fix callers of bash_tilde_expansion appropriately
-       - add (currently commented-out) code that would tilde expand assignment
-         statement arguments to assignment builtins (W_TILDEEXP flag set)
-         even when the shell is in posix mode
-
-bashline.c
-       - fix attempt_shell_completion to turn off
-         rl_filename_completion_desired when doing command name completion,
-         so no slash gets appended to the name if there happens to be a
-         directory with the same name in the current directory
-
-                                  11/26
-                                  -----
-lib/readline/rltech.texinfo
-       - a couple of additions to the rl_stuff_char description
-
-parse.y
-       - turn off echo_input_at_read in parse_string_to_word_list, so `set -v'
-         doesn't give extra lines of output when doing compound array
-         assignment
-
-subst.c
-       - fix split_at_delims to handle skipping over a `\n' if it's a
-         delimiter (use spctabnl(c) instead of whitespace(c))
-
-                                  11/27
-                                  -----
-support/config.{guess,sub}
-       - updated (with bash changes) to latest version from gnu.org
-
-sig.h
-       - add prototype for set_signal_handler declaration
-
-builtins/setattr.def
-       - add prototype to extern declaration of declare_builtin
-
-builtins/times.def
-       - add no_options call, since times takes no options
-
-lib/sh/spell.c
-       - add prototypes to forward declarations for midist and spdist
-
-lib/sh/strtrans.c
-       - add explicit int return type to ansic_shouldquote declaration
-
-lib/readline/rldefs.h, lib/readline/{macro,readline,util,undo}.c
-       - move define for SWAP to rldefs.h, removed from various C files
-
-lib/readline/vi_mode.c
-       - removed define for exchange(), changed to use SWAP instead
-
-lib/readline/bind.c
-       - added some static forward function declarations
-       - find_boolean_var, find_string_var now take a `const char *' argument
-
-lib/readline/signals.c
-       - added static forward declaration for rl_maybe_set_sighandler
-
-lib/readline/readline.c
-       - add some common key bindings for the HOME and END keys in
-         bind_arrow_keys_internal
-
-lib/readline/terminal.c
-       - fetch the `@7' termcap string; it's sent by the END key
-       - attempt to bind the terminal's END key to rl_end_of_line in
-         bind_termcap_arrow_keys; I don't know why I was using `kH'
-         instead of `@7'
-
-doc/builtins.1
-       - remove `case', `for', `if', `until', `while' from NAME section;
-         those are not shell builtins
-
-                                  11/28
-                                  -----
-stringlib.c
-       - new function, find_token_in_alist, takes a token value and an
-         ALIST argument, and returns the string correspoinding to the
-         token if found in the alist
-
-externs.h
-       - new extern declaration for find_token_in_alist()
-
-subst.c
-       - string_list_internal is no longer static
-
-subst.h
-       - new extern declaration for string_list_internal()
-
-parse.y
-       - new alist array of other tokens returned by read_token which are
-         not reserved words in word_token_alist[]
-       - reworked error reporting:  new functions print_offending_line,
-         which prints the line containing the syntax error,
-         error_token_from_token, which takes the current token and tries to
-         figure out its textual representation, and error_token_from_text,
-         which does the old job of finding the bad token by analyzing the
-         text of shell_input_line at the current index
-       - report_syntax_error now tries to figure out the token that caused
-         the syntax error by first looking at current_token and falling
-         back to the old method of textual analysis if that fails
-       - report_syntax_error doesn't say the token resulting from the textual
-         analysis of the input line is an `unexpected token'; it just
-         says there is a `syntax error near xxx'
-       - changed conditional command error reporting to use the value
-         returned by error_token_from_token if it's not null instead of
-         just using the token value in the message, since current_token
-         ends up being set to -1, and the text of the message from
-         report_syntax_error might not be exactly right
-       - change parse_string_to_word_list to set current_token to the
-         offending token returned by read_token before calling yyerror()
-         to make the error reporting do the right thing
-
-aclocal.m4
-       - fixed typo in BASH_CHECK_LIB_TERMCAP
-
-configure.in
-       - add check for isinf(3); define HAVE_ISINF_IN_LIBC if found
-
-config.h.in
-       - add define for HAVE_ISINF_IN_LIBC
-
-lib/sh/snprintf.c
-       - check for Inf and NaN, using isinf and isnan if they're found in
-         libc
-       - use the current locale for thousands separator and decimal point
-       - recognize "'" flag; not implemented yet
-       - fix for snprintf/vsnprintf with length of 0 and string argument of
-         0 with non-zero length
-
-builtins/read.def
-       - TMOUT is now the default timeout for `read' (and select) if set,
-         like ksh93 when reading from the terminal
-       - edit_line (called by read -e) now just does readline's filename
-         completion by setting rl_attempted_completion_function to NULL,
-         since e.g., doing command completion for the first word on the
-         line wasn't really useful
-
-execute_cmd.c
-       - changed select_command to return failure status if select_query
-         returns NULL, indicating that read_builtin returned
-         EXECUTION_FAILURE
-
-doc/{bash.1,bashref.texi}
-       - documented new TMOUT behavior 
-       - slight change to the description of the test `-ef' option
-
-doc/bashref.texi
-       - added item to posix mode section describing failure behavior of
-         cd when invoked in logical mode and the pathname formed by
-         combining $PWD and the directory argument does not refer to an
-         existing directory
-
-                                  11/29
-                                  -----
-execute_cmd.c
-       - fix execute_function to call dispose_function_env after
-         merge_function_env if the shell is in posix mode (fixes debian
-         bash bug #117673)
-
-lib/readline/readline.c
-       - rl_forward -> rl_forward_char; rl_forward function for compatibility
-       - rl_backward -> rl_backward_char; rl_forward function for
-         compatibility
-       - new functions, rl_forward_byte, rl_backward_byte, for future use
-
-lib/readline/readline.h
-       - extern declarations for rl_forward_char, rl_backward_char,
-         rl_forward_byte, rl_backward_byte
-
-lib/readline/{emacs_keymap,funmap,vi_keymap,vi_mode
-       - rl_forward -> rl_forward_char
-       - rl_backward -> rl_backward_char
-
-lib/readline/funmap.c
-       - new bindable names, `backward-byte' and `forward-byte'
-
-aclocal.m4
-       - new function, BASH_CHECK_MULTIBYTE, encapsulates checks for
-         multibyte code
-
-config.h.in
-       - add necessary defines for multibyte include files and functions
-
-configure.in
-       - add call to BASH_CHECK_MULTIBYTE
-
-config-bot.h
-       - add code to define HANDLE_MULTIBYTE if prerequisites are met
-
-lib/sh/xstrchr.c
-       - new file, xstrchr() is strchr(3) that handles multibyte characters
-
-bashhist.c
-       - first_line_saved -> current_command_first_line_saved; variable is
-         now global
-
-bashhist.h
-       - extern declaration for current_command_first_line_saved
-
-                                  11/30
-                                  -----
-bashhist.c
-       - break the code that actually calls add_history out of
-         bash_add_history into a new function, really_add_history;
-         bash_add_history now calls really_add_history
-       - check_add_history takes a second `force' argument telling it
-         whether to call bash_add_history (force == 0) or really_add_history
-         (force != 0)
-
-builtins/history.def
-       - in push_history, call delete_last_history if the current command
-         has more than one line, the first line was saved, and
-         command-oriented history is active.  This takes care of deleting
-         the right history element if `history -s' is used within a
-         compound or multiline command
-       - in push_history, call check_add_history with second argument of 1
-         to skip check of current_command_line_count and add the arguments
-         to history -s as a single separate history entry
-
-                                  12/3
-                                  ----
-lib/readline/complete.c
-       - append a slash to completed names which are symlinks to directories
-         if the new variable _rl_complete_mark_symlink_dirs is non-zero
-
-lib/readline/rlprivate.h
-       - extern declaration for _rl_complete_mark_symlink_dirs
-
-lib/readline/bind.c
-       - new bindable variable, `mark-symlinked-directories', mirrors the
-         value of _rl_complete_mark_symlink_dirs
-
-doc/bash.1, lib/readline/doc/{readline.3,rluser.texinfo}
-       - documented new `mark-symlinked-directories' variable
-
-                                  12/4
-                                  ----
-variables.[ch]
-       - set_pipestatus_array now takes a second argument with the number
-         of processes in the array
-       - changed set_pipestatus_array to just modify the value in place if
-         the existing array has one element and the new array has one
-         element, and to modify existing values in place if new array has
-         more elements than existing array
-
-variables.c, jobs.c
-       - changed set_pipestatus_array callers
-
-jobs.c
-       - moved call to setjstatus() from set_job_status_and_cleanup to
-         wait_for, since set_job_status_and_cleanup is part of the SIGCHLD
-         signal handler call path, and race conditions accessing the
-         PIPESTATUS array will result for things like
-
-               while true; do date; done | cat > /dev/null
-
-                                  12/5
-                                  ----
-xmalloc.h
-       - don't redefine xmalloc, xrealloc, and xfree if DISABLE_MALLOC_WRAPPERS
-         is #defined
-
-config.h.in
-       - #undef for DISABLE_MALLOC_WRAPPERS
-
-configure.in
-       - define DISABLE_MALLOC_WRAPPERS if the --with-purify option is
-         supplied
-
-lib/malloc/trace.c
-       - new function, malloc_trace_bin(N), traces allocations and frees
-         to bucket N (uses the same type of bitmap as `busy')
-
-lib/malloc/table.c
-       - fix wraparound search problem in find_entry when searching for a
-         free entry when the table is full
-
-                                  12/6
-                                  ----
-lib/malloc/table.c
-       - keep an `overflow bucket' around to use when the table is full,
-         so find_entry always returns a valid pointer when FIND_ALLOC
-         is set
-       - new static variable to keep a count of the number of MT_ALLOC
-         entries in the mem_table
-
-lib/sh/{oslib,clktck}.c
-       - if HAVE_LIMITS_H is defined, include <limits.h>
-
-lib/sh/oslib.c
-       - new function, getmaxgroups() returns max number of simultaneous
-         groups
-       - new function, getmaxchild(), returns max number of simultaneous
-         user processes
-
-general.c
-       - removed forest of #defines for getmaxgroups()
-
-externs.h
-       - new extern declaration for getmaxgroups()
-       - new extern declaration for getmaxchild()
-       - new extern declaration for isnetconn()
-
-lib/sh/netconn.c,shell.c
-       - new file, isnetconn() from shell.c moved here
-
-Makefile.in, lib/sh/Makefile.in
-       - necessary changes for netconn.c
-
-builtins/ulimit.def
-       - changed getmaxuprc() to just call getmaxchild() and massage the
-         return value appropriately
-
-{jobs,nojobs}.c
-       - use the value returned by getmaxchild() in
-         mark_dead_jobs_as_notified instead of static CHILD_MAX
-
-jobs.c
-       - new function, compact_jobs_list, removes some number of jobs from
-         the jobs table and reallocates the table, copying the jobs that
-         are left from the old table to the new.  Compaction happens from
-         the beginning of the list and removes dead jobs, and we make sure
-         to keep the last CHILD_MAX jobs as POSIX.2 requires
-       - call compact_jobs_list from stop_pipeline if we're in a subshell,
-         there are no free jobs in the jobs table, and the jobs table is
-         at or above some maximum limit
-
-execute_cmd.c
-       - change eval_arith_for_expr to set this_command_name to `((' before
-         calling evalexp, since it might be changed by evaluating the
-         loop body between evalexp calls
-
-trap.c
-       - change reset_signal to turn off the SIG_TRAPPED flag for the
-         given signal, so shell builtins and functions running in command
-         substitutions don't run the signal handlers (traps are not supposed
-         to be inherited by command substitutions)
-
-parse.y
-       - changed parse_string_to_word_list to turn off alias expansion
-         while parsing the array assignment
-
-                                  12/9
-                                  ----
-alias.c
-       - fix add_alias so that redefining an alias's value also resets the
-         EXPANDNEXT flag
-
-                                  12/10
-                                  -----
-parse.y
-       - new function, token_is_assignment, called to check whether the text
-         before `=' makes up a valid assignment token before trying to parse
-         a compound assignment statement
-       - new function, parse_compound_assignment, to parse a compound
-         assignment statement instead of using parse_matched_pair; handles
-         comments and error reporting in the parser instead of waiting until
-         expansion time
-       - changed parse_compound_assignment and parse_string_to_word_list to
-         allow reserved words in compound array assignments
-
-lib/readline/doc/rltech.texinfo
-       - changed the documentation for rl_callback_read_char and
-         rl_callback_handler_remove to say what happens to the terminal
-         settings and what needs to be done to reset them
-
-                                  12/11
-                                  -----
-bashline.c
-       - add emacs_edit_and_execute_command, bound to C-xC-e, like vi-mode
-         `v' command
-       - add bindable command name `edit-and-execute-command', bound to
-         run emacs_edit_and_execute_command()
-
-lib/glob/strmatch.c
-       - add support for ksh93-like [:word:] character class (isalnum + `_')
-
-doc/{bash.1,bashref.texi}
-       - add note to section describing lists to clarify that a sequence of
-         one or more newlines may be used to delimit a command, equivalent
-         to a semicolon
-       - document new [:word:] pattern matching character class
-
-doc/bash.1, lib/readline/doc/rluser.texinfo
-       - document `edit-and-execute-command' and its default emacs-mode
-         binding
-
-include/chartypes.h
-       - add defines for TOCTRL and UNCTRL if they're not already defined
-
-lib/readline/chardefs.h
-       - #undef UNCTRL if it's defined to avoid cpp redefinition warnings
-
-lib/sh/strtrans.c
-       - add \cX (Control-X) escape for $'...' to ansicstr()
-       - change ansic_quote() to allocate at least four chars for each char
-         in the string argument, to account for \0xx octal values
-       - change ansic_quote() to no longer call sprintf for non-printable
-         characters; just translate the string to octal directly
-
-print_cmd.c
-       - change xtrace_print_word_list to call ansic_quote() if
-         ansic_shouldquote() indicates that there are nonprinting characters
-         in a word
-
-builtins/type.def
-       - changed deprecated long option parsing to just replace the word
-         in the list with the equivalent short option (-type -> -t) instead
-         of removing words from the list
-       - changed describe_command to take a single flags argument instead
-         of two int args; changed caller
-       - type now has two new options:  -f suppresses function lookup (like
-         command), and -P forces a PATH search for the name(s)
-
-builtins/common.h
-       - flags for describe_command are here
-       - changed extern declaration of describe_command
-
-builtins/command.def
-       - changed call to describe_command to use flags from common.h, and
-         the right number of arguments
-
-doc/{bash.1,bashref.texi}
-       - documented new -f and -P options to `type'
-
-                                  12/12
-                                  -----
-lib/readline/rldefs.h
-       - fixed prototype for _rl_strnicmp
-
-execute_cmd.c
-       - select_query now takes a new argument, an int flag saying whether
-         or not to print the menu the first time through the loop.  An
-         empty line in response to the prompt will always cause the menu
-         to be reprinted
-       - changed execute_select_command to cause select_query to reprint
-         the menu only if REPLY is set to NULL, if KSH_COMPATIBLE_SELECT
-         is defined
-
-config-top.h
-       - define KSH_COMPATIBLE_SELECT, with a comment about its meaning
-
-lib/readline/readline.c
-       - change rl_insert_comment to toggle if given an explicit numeric
-         argument:  if the first characters on the line don't specify a
-         comment, insert one; if they do, delete the comment text
-
-doc/bash.1, lib/readline/doc/{readline.3,rluser.texinfo}
-       - documented new behavior of insert-comment with a numeric argument
-
-                                  12/13
-                                  -----
-lib/malloc/watch.c
-       - new file, implements watchpoint functions
-
-lib/malloc/watch.h
-       - new file, define some `events' for watchpoints and extern function
-         and variable declarations for watchpoint code
-
-lib/malloc/imalloc.h
-       - #define MALLOC_WATCH if MALLOC_DEBUG is defined
-       - add __P define as in include/stdc.h if not already defined
-
-lib/malloc/malloc.c
-       - remove __P define, now in imalloc.h
-       - include watch.h if MALLOC_WATCH is defined
-       - added calls to _malloc_ckwatch in internal_malloc, internal_free,
-         and internal_realloc
-
-include/stdc.h
-       - augment __P define to allow prototypes if PROTOTYPES is defined
-
-lib/readline/rlstdc.h
-       - augment PARAMS define to allow prototypes if PROTOTYPES is defined
-
-lib/malloc/Makefile.in, Makefile.in
-       necessary changes to include watch.c in libmalloc
-
-lib/readline/readline.c
-       - fix rl_delete_text to make sure that the starting position is >= 0
-       - _rl_init_line_state (called by readline via readline_initialize)
-         now sets rl_mark to 0
-       - rl_get_{next,previous}_history set rl_mark to 0 if rl_point is at
-         the end of the line and rl_end otherwise in emacs mode
-
-lib/readline/kill.c
-       - rl_yank_nth_arg_internal and rl_paste_clipboard now set the mark
-         at point before calling rl_insert_text, like rl_yank
-       - rl_kill_full_line now resets rl_mark to 0
-       - rl_kill_line and rl_backward_kill_line now set rl_mark to the
-         point after the kill in emacs mode
-       - rl_kill_word and rl_backward_kill_word now set rl_mark to the
-         point after the kill in emacs mode
-       - rl_unix_word_rubout and rl_unix_line_discard now set rl_mark to
-         the point after the kill in emacs mode
-
-lib/readline/search.c
-       - noninc_search saves and restores the mark, since it can be changed
-         while reading the search string
-       - noninc_dosearch sets the mark at the end of the line, making the
-         region bound the `inserted' text since rl_point is set to 0
-       - rl_history_search_internal sets the mark at the end of the line,
-         for the same reason
-
-lib/readline/isearch.c
-       - rl_search_history now saves and restores the mark
-       - if no matching lines are found at all when doing an isearch, leave
-         point where it was instead of moving it to the end of the line
-
-                                  12/17
-                                  -----
-lib/readline/rlmbutil.h
-       - new file, place for multi-byte character defines and extern
-         declarations
-
-lib/readline/{bind.c,readline.c,rlprivate.h}
-       - new bindable variable, `byte-oriented', tracks value of
-         rl_byte_oriented variable
-
-lib/readline/mbutil.c
-       - new file, with multibyte char utility functions
-
-lib/readline/{complete,display,readline,util,vi_mode}.c
-       - new code for multibyte characters, derived from IBM patch
-
-                                  12/18
-                                  -----
-lib/sh/tmpfile.c
-       - include posixtime.h for time() extern declaration
-
-support/bashversion.c
-       - include <unistd.h> if it's available
-
-lib/readline/{histexpand,input,isearch,search}.c
-       - new code for multibyte characters, derived from IBM patch
-
-lib/readline/readline.h
-       - include rltypedefs.h
-
-                                  12/19
-                                  -----
-lib/readline/complete.c
-       - slight change to mark-directories code to avoid adding a slash if
-         point is at the end of the line (rl_line_buffer[rl_point] == '\0')
-         and the previous character was a slash
-       - change printable_part to not return empty pathnames, which could
-         happen when completing filenames and a filename with a trailing
-         slash was passed as the argument.  If the portion following the
-         trailing slash is NULL, ignore it and look for a previous slash.
-         If there's no previous slash, just return the filename argument
-       - new variable, rl_completion_mark_symlink_dirs, mirrors the value
-         of (user-settable with a variable) _rl_complete_mark_symlink_dirs
-         but may be modified by application-specific completion functions
-         when appropriate (set in rl_complete_internal and rl_menu_complete)
-
-lib/readline/readline.h
-       - extern declaration for rl_completion_mark_symlink_dirs
-
-pcomplete.c
-       - if one of the actions is CA_DIRECTORY, set
-         rl_completion_mark_symlink_dirs to indicate that we want the
-         trailing slash (might have to relax this)
-
-lib/readline/doc/rltech.texinfo
-       - documented rl_completion_mark_symlink_dirs variable
-
-lib/readline/doc/rluser.texinfo, doc/bash.1
-       - documented the fact that `complete -d' and `complete -o dirnames'
-         force readline to append a slash to symlinks to directories
-
-builtins/enable.def
-       - changed enable_shell_builtin to disallow enabling disabled
-         builtins in a restricted shell
-
-doc/{bash.1,bashref.texi}
-       - documented new enable behavior in restricted shells
-
-doc/Makefile.in
-       - new rule to make an `RBASH' file documenting the restrictions
-         imposed by a restricted shell
-
-expr.c
-       - broke the code that evaluates variables and returns results out
-         of readtok() into a new function: expr_streval()
-       - expr_streval() now performs the standard unset variable error
-         behavior if `set -u' has been executed and it's asked to look
-         up an unset variable
-       - broke the code that frees up the expression context stack into
-         a new function: expr_unwind()
-
-variables.c
-       - fixed bind_int_variable so it handles array element assignment,
-         so expressions like `b[7]++' and `b[0] = 42' work right
-       - new function, get_variable_value, returns the string value of
-         the SHELL_VAR * passed as an argument
-       - get_string_value now calls get_variable_value with a non-null
-         result from find_variable
-
-                                  12/20
-                                  -----
-lib/readline/rlmbutil.h, mbutil.c
-       - combined _rl_find_next_mbchar and _rl_find_next_nonzero_mbchar into
-         a single function
-       - combined _rl_find_prev_mbchar and _rl_find_prev_nonzero_mbchar into
-         a single function
-
-lib/readline/{display,readline,vi_mode}.c
-       - changed callers of _rl_find_next_mbchar and
-         _rl_find_next_nonzero_mbchar
-
-lib/readline/{complete,display,histexpand,readline,vi_mode}.c
-       - changed callers of _rl_find_prev_mbchar and
-         _rl_find_prev_nonzero_mbchar
-
-                                  12/20
-                                  -----
-lib/sh/mktime.c
-       - new file, from glibc/gawk, compiled in if system doesn't have a
-         working mktime(3)
-
-lib/sh/strftime.c
-       - new file, from gawk, compiled in if system doesn't have a
-         working strftime(3)
-
-lib/sh/Makefile.in, Makefile.in
-       - changes for mktime.c, strftime.c
-
-configure.in
-       - call AC_FUNC_MKTIME, AC_STRUCT_TM, AC_STRUCT_TIMEZONE
-       - call AC_REPLACE_FUNC(strftime)
-
-config.h.in
-       - add defines for TM_IN_SYS_TIME, HAVE_TZSET, HAVE_TM_ZONE,
-         HAVE_STRUCT_TM_TM_ZONE, HAVE_STRFTIME
-
-externs.h
-       - provide an extern declaration for strftime if HAVE_STRFTIME is
-         not defined and NEED_STRFTIME_DECL is
-
-lib/tilde/tilde.h
-       - header files should not include <config.h>
-
-parse.y
-       - replace code in decode_prompt_string that chops up value returned
-         by ctime(3) with calls to strftime -- as a result, the expansion
-         of \@ has changed slightly (since it depends on the locale)
-       - added new \D{format} prompt string escape; `format' is passed to
-         strftime(3).  Empty format is the same as `%X' (locale-specific
-         representation of the current time)
-       - combined cases for '\\', '\a', '\e', and '\r' in same case branch
-         in decode_prompt_string
-
-doc/{bash.1,bashref.texi}
-       - documented new \D{format} prompt string expansion
-
-builtins/printf.def
-       - use ISO C PRIdMAX instead of INTMAX_CONV
-       - pass length of format modifiers to mklong instead of computing it
-         with strlen()
-
-lib/sh/{fmtulong,fmtullong}.c
-       - changes from Paul Eggert to make more general
-
-arrayfunc.c
-       - when converting a variable to an array, make sure to unset the
-         dynamic_value and assign_func members of the struct variable,
-         since they're not valid anymore
-
-                                  12/27
-                                  -----
-configure.in
-       - use AC_HELP_STRING in AC_ARG_WITH and AC_ARG_ENABLE 
-       - remove AC_ARG_ENABLE for largefile, since AC_SYS_LARGEFILE adds
-         one
-
-                                1/2/2002
-                                --------
-{alias,bashline,execute_cmd,general,shell,subst,variables,arrayfunc}.c,general.h
-       - changed some calls to strchr to calls to xstrchr for multibyte
-         characters
-
-include/shmbutil.h
-       - add extern declaration for xstrchr to avoid including externs.h
-         where it's not appropriate
-
-{braces,make_cmd,pathexp,subst,arrayfunc}.c, lib/sh/xstrchr.c
-       - include shmbutil.h
-
-{stringlib,subst}.c, {externs,subst}.h
-       - moved substring() from subst.c to stringlib.c, moved declaration
-         from subst.h to externs.h
-
-lib/sh/xmbsrtowcs.c
-       - new file, replacement function for mbsrtowcs
-
-lib/sh/Makefile.in
-       - add entries for xmbsrtowcs.c
-
-Makefile.in
-       - add dependencies on shmbutil.h to appropriate object files
-
-lib/glob/strmatch.c
-       - break character-class testing out into separate function:
-         is_cclass, in prep for multibyte changes
-
-{braces,make_cmd}.c
-       - changes for multibyte characters
-
-builtins/printf.def
-       - changes from Paul Eggert to just use intmax_t everywhere an
-         int/long/quad is needed and print with "%ld" if the number
-         fits in a long and %PRIdMAX otherwise
-       - remove getlong, getulong, getllong, getullong, since they're
-         no longer needed
-       - use a new type `floatmax_t' to print floating point numbers, the
-         widest-available floating point type (like `intmax_t'); new
-         function `getfloatmax' that calls strtold or strtod as appropriate
-       - remove getdouble, getldouble, since they're no longer needed
-
-lib/sh/fmtumax.c
-       - new file, string-to-[u]intmax_t conversion, just includes
-         fmtulong.c with the right defines
-
-Makefile.in, lib/sh/Makefile.in
-       - additions for fmtumax.c
-
-bashtypes.h
-       - include <inttypes.h> if it's available
-
-expr.c
-       - arithmetic is now in intmax_t instead of long
-
-externs.h
-       - extern declaration for fmtumax
-       - change extern declarations for evalexp, itos, inttostr,
-         uitos, uinttostr since they now return or use intmax_t instead
-         of long
-
-{execute_cmd,general,mailcheck,subst,variables}.c, parse.y
-{array,general,subst,test,variables}.h
-lib/sh/{itos,netopen}.c
-builtins/{bashgetopt,common}.c, builtins/common.h
-builtins/{break,fc,history,jobs,let,printf,pushd,read,shift,wait}.def
-       - changes for intmax_t shell arithmetic conversion
-
-doc/{bashref.texi,bash.1}
-       - documented long->intmax_t shell arithmetic conversion
-
-sig.c
-       - in initialize_terminating_signals, if we've already trapped a
-         terminating signal, don't reset the signal handler for it
-
-                                   1/3
-                                   ---
-{arrayfunc,pathexp}.c, parse.y
-       - changes for multibyte chars
-
-parse.y, lib/sh/strtrans.c
-       - moved ansiexpand from parse.y to lib/sh/strtrans.c
-
-parse.y, locale.c
-       - moved mk_msgstr and localeexpand from parse.y to locale.c
-
-parse.y
-       - new function, yy_input_name, returns name of input file from
-         bash_input.name
-       - broke the code that parses ((...)) constructs out of read_token
-         into a new function, parse_dparen()
-
-externs.h
-       - new extern declaration for ansiexpand(), mk_msgstr(), and
-         localeexpand()
-
-input.h
-       - new extern declaration for yy_input_name()
-
-{error,locale}.c
-       - use yy_input_name for error and other messages
-
-execute_cmd.c
-       - change shell_execve to make sure that the file is executable
-         before looking at the interpreter to find out why the execve()
-         failed (avoids misleading error message)
-
-lib/glob/glob.c
-       - move code that matches leading `.' and skips those filenames into
-         a separate function: skipname(), so there can be unibyte and
-         multibyte versions of that function
-
-                                   1/7
-                                   ---
-subst.c
-       - more changes for multibyte characters
-
-print_cmd.c
-       - change semicolon() so it doesn't output a `;' immediately after a
-         newline, since that results in a null command, which is a syntax
-         error
-
-variables.c
-       - fix indirection_level_string to turn off set -x while evaluating
-         PS4
-
-                                   1/8
-                                   ---
-builtins/set.def
-       - make -o options into one struct, instead of separate structs for
-         option names corresponding to flags and non-flag option names.
-         This has the side effect of sorting the option names in output
-
-lib/glob/glob.c
-       - new function, mbskipname(), multibyte char version of skipname()
-       - removed all #ifndef SHELL code, this will never be used outside
-         the shell
-
-include/posixdir.h
-       - move REAL_DIR_ENTRY define here from lib/glob/glob.c
-
-lib/glob/glob_loop.c
-       - new file, included in glob.c for unibyte and multibyte versions of
-         glob_pattern_p
-       - added some forward static function declarations with prototypes
-       - more changes for multibyte character handling
-
-lib/glob/Makefile.in
-       - make glob.c depend on glob_loop.c
-       - changes for xmbsrtowcs.[co]
-
-lib/glob/xmbsrtowcs.c
-       - moved here from lib/sh, since the matching functions use it, and
-         libglob.a is linked after libsh.a
-
-                                   1/9
-                                   ---
-lib/glob/smatch.c
-       - new file, with strmatch (now xstrmatch) and associated functions,
-         with changes for multibyte chars
-
-lib/glob/sm_loop.c
-       - new file, included by smatch.c, with `generic' versions of matching
-         functions that are compiled twice:  once each for single-byte and
-         multibyte characters
-
-lib/glob/strmatch.c
-       - strip out everything except strmatch(), which either calls fnmatch
-         (if HAVE_LIBC_FNM_EXTMATCH is defined) or xstrmatch
-
-lib/glob/collsyms.c
-       - changes for multibyte chars
-
-lib/glob/Makefile.in, Makefile.in
-       - changes for new source files
-
-                                  1/10
-                                  ----
-lib/readline/complete.c
-       - new function, rl_completion_mode (rl_command_func_t *func), returns
-         the appropriate value to pass to rl_complete_internal depending on
-         FUNC and the value of `show-all-if-ambiguous'.  This allows
-         application completion functions to present the same interface as
-         rl_complete
-
-lib/readline/readline.h
-       - new extern declaration for rl_completion_mode()
-
-lib/readline/doc/rltech.texinfo
-       - documented rl_completion_mode
-
-lib/readline/readline.[ch]
-       - bumped the version number to 4.3, changing the relevant cpp defines
-
-configure.in
-       - require that an installed readline version be at least readline-4.3
-
-bashline.c
-       - converted bash-specific completion functions to use
-         rl_completion_mode instead of passing TAB unconditionally
-
-builtins/bashgetopt.c
-       - the `#' option specifier now means a required numeric argument,
-         not an optional one
-
-builtins/type.def
-       - when converting [-]-{path,type,all} to -[pta], don't bother
-         freeing and reallocating the option string; just change opt[1]
-         and null opt[2]
-
-lib/sh/snprintf.c
-       - support %ls/%S and %lc/%C for wide strings and characters,
-         respectively, if HANDLE_MULTIBYTE is defined
-
-mailcheck.c
-       - don't print a message about new mail if the file has not grown,
-         even if the access time is less than the modification time
-
-                                  1/14
-                                  ----
-lib/readline/readline.c
-       - new function, rl_replace_line, to replace the readline line buffer
-         with the text supplied as an argument
-       - new function, rl_replace_from_history, replaces readline line
-         buffer with text from history entry passed as argument (undocumented,
-         not in readline.h because it requires a definition of
-         HIST_ENTRY for the prototype)
-
-lib/readline/readlne.h
-       - new extern declaration for rl_replace_line
-
-lib/readline/doc/rltech.texinfo
-       - documented rl_replace_line
-
-lib/readline/{isearch,readline,search}.c
-       - use rl_replace_line and rl_replace_from_history where appropriate
-
-lib/readline/readline.c
-       - broke the code that sets point after moving through the history
-         (_rl_history_preserve_point and _rl_history_saved_point) out
-         into a separate function, _rl_history_set_point()
-
-lib/readline/{complete.c,rlprivate.h}
-       - find_completion_word -> _rl_find_completion_word
-       - free_match_list -> _rl_free_match_list
-
-lib/readline/complete.c
-       - postprocess_matches and _rl_free_match_list now return immediately
-         if passed a null match list
-
-variables.c
-       - new function, find_local_variable, finds a local variable by name
-         at the current variable context
-       - in find_variable_internal, call find_local_variable before searching
-         any of the temporary environments if variable_context > 0 (meaning
-         we're in a shell function).  This lets a local variable
-         override a variable whose value was passed in the `function
-         environment'
-
-                                  1/15
-                                  ----
-variables.h, execute_cmd.c
-       - declare variables describing the temporary environments in
-         variables.h instead of in C files
-
-findcmd.c, builtins/setattr.def
-       - instead of calling find_tempenv_variable, use find_variable_internal
-         and check whether the returned SHELL_VAR * has the tempvar
-         attribute
-
-variables.c
-       - tentative change to lookup order in find_variable_internal so that
-         function local variables are found before variables in
-         function_env when executing a shell function
-       - change make_local_variable to handle making a local variable when
-         a variable with the same name already appears in one of the
-         temporary environments
-       - broke the body of make_var_array out into a new function:
-               static char **make_env_array_from_var_list (SHELL_VAR **vars)
-       - new function, make_var_array_internal, takes a hash table to look
-         in and a pointer to a mapping function and returns a char **
-         environment-style list
-       - make_var_array now just calls make_var_array_internal
-       - new mapping function, local_and_exported, returns all local variables
-         in the current variable context with the export attribute set
-       - new function, make_local_export_array, returns an environment-style
-         char ** array of exported local variables in current context
-       - change environment creation order in maybe_make_export_env to
-         add variables to the environment in opposite order that
-         find_variable_internal uses.  This means that local variables in
-         shell functions override variables with the same name in the
-         function_env
-       - change make_local_variable to set the initial value of the
-         variable it creates to NULL to make the `is set' and `is null'
-         tests that the expansion code does work right
-       - change make_local_variable to inherit the value of a variable with
-         the same name from the temporary enviroment
-
-                                  1/16
-                                  ----
-Makefile.in
-       - link bashversion with buildversion.o instead of version.o, for
-         cross-compiling.  version.o is for the target system;
-         buildversion.o is for the build system
-
-error.c
-       - add line numbers to internal_error() messages if the shell is
-         not interactive and running a shell script or a -c command
-       - report_error now prints non-zero line numbers for non-interactive
-         shells
-
-test.c
-       - test_syntax_error now calls builtin_error() instead of printing
-         its own messages
-
-builtins/common.c
-       - builtin_error now prints line numbers if a non-interactive shell
-         is running a shell script or a -c command
-
-print_cmd.c
-       - in cprintf, remove free_argp, since it's not used
-
-builtins/history.def
-       - make `history -n' increment the number of history lines in this
-         session by the number of lines read from the history file
-
-arrayfunc.c
-       - fix array_value_internal to expand the subscript even if the
-         variable is unset, so side effects produced by the arithmetic
-         evaluation will take place
-
-lib/readline/doc/{rluser,rltech}.texinfo
-       - some fixes for printing in @smallbook format from Brian
-         Youmans
-
-                                  1/17
-                                  ----
-jobs.h
-       - new PRUNNING, PSTOPPED, PDEADPROC defines for PROCESSes, analogous
-         to RUNNING, STOPPED, and DEADJOB defines for jobs
-
-jobs.c
-       - use PS_RUNNING, PS_DONE, PS_STOPPED values for `running' field
-         of a PROCESS
-       - find_pipeline and find_job now take an additional flags argument
-         that, if non-zero, means to find only running processes; changed
-         all callers
-       - changed calls to find_pipeline and find_job made from waitchld
-         to find only running processes
-       - find_pipeline takes a third argument: an int *.  If it looks in
-         the jobs list to find the pid, and the arg is non-null, it passes
-         the job index back to the caller.  Used to avoid calls to
-         find_pipeline immediately followed by find_job with the same PID
-
-nojobs.c
-       - a couple of changes to make sure that set_pid_status is never
-         called with a pid argument of 0 or -1
-
-trap.c
-       - change trap_handler to longjmp to wait_intr_buf (set by wait_builtin)
-         if a signal is received for which a trap has been set during
-         execution of the wait builtin (need to include builtins.h and
-         builtins/builtext.h and declare some extern variables for the
-         right things to check)
-       - new variable to keep track of which signal caused the longjmp to
-         wait_intr_buf, set by trap_handler (wait_signal_received)
-
-builtins/wait.def
-       - set the return value of wait when a longjmp(wait_intr_buf, 1) is
-         done to 128 + wait_signal_received
-
-{jobs,nojobs}.c
-       - set wait_signal_received to SIGINT in wait_sigint_handler before
-         the longjmp(wait_intr_buf, 1)
-
-                                  1/18
-                                  ----
-bashline.c
-       - turn off rl_filename_completion_desired when completing a command
-         name with a single match only if the first char of that match is
-         not a `/'
-       - if there are multiple identical matches for a command name in
-         attempt_shell_completion, turn off rl_filename_completion_desired
-         if the first char is not a `/' to avoid readline appending a
-         slash if there's a directory with the same name in the current
-         directory
-
-                                  1/22
-                                  ----
-lib/readline/complete.c
-       - new variable, _rl_page_completions, to control whether we want to
-         run the internal pager when listing completions (defaults to 1)
-
-lib/readline/rlprivate.h
-       - extern declaration for _rl_page_completions
-
-lib/readline/bind.c
-       - new bindable variable, `page-completions', controls value of
-         _rl_page_completions
-
-lib/readline/doc/{rluser.texinfo,readline.3}, doc/bash.1
-       - documented `page-completions' variable
-
-Makefile.in
-       - use $(INSTALL_SCRIPT) instead of $(INSTALL_PROGRAM) to install
-         `bashbug'
-
-aclocal.m4
-       - fix small quoting problem in RL_LIB_READLINE_VERSION macro
-
-lib/readline/terminal.c
-       - fetch and save terminal's `vs' and `ve' cursor control attributes
-       - fetch and save terminal's `kI' attribute (string sent by Insert)
-       - new function, _rl_set_cursor, sets cursor to normal (insert mode)
-         or very visible (overwrite mode)
-
-lib/readline/readline.c
-       - new global variable, rl_insert_mode
-       - new function to toggle overwrite mode, rl_overwrite_mode
-       - each new line starts in insert mode
-       - switching to vi mode or emacs mode resets to insert mode
-       - reset cursor to normal before returning line
-       - _rl_replace_text now returns the number of characters inserted,
-         the return value from rl_insert_text
-       - new function, _rl_insert_or_replace_text (const char *string, int insert),
-         either inserts STRING or replaces the number of chars in STRING
-         with STRING starting at rl_point, depending on value of INSERT
-       - renamed rl_insert to _rl_insert_char, rl_insert just calls
-         _rl_insert_char with the same arguments when in insert mode
-       - new function, _rl_overwrite_char, handles self-insert in overwrite
-         mode.  Does multibyte chars by reading an entire multibyte character
-         before entering overwrite loop
-       - new function, _rl_overwrite_rubout, handles RUBOUT when in
-         overwrite mode, called from rl_rubout
-       - new function, _rl_rubout_char, old body of rl_rubout; rl_rubout
-         calls this when not in overwrite mode 
-
-lib/readline/readline.h
-       - extern declarations for rl_insert_mode and rl_overwrite_mode()
-
-lib/readline/rldefs.h
-       - define constants for values of rl_insert_mode
-
-lib/readline/rlprivate.h
-       - extern declarations for _rl_set_cursor and _rl_set_insert_mode
-       - change type of _rl_replace_text to return int
-       - extern declarations for _rl_insert_char, _rl_rubout_char
-
-lib/readline/funmap.c
-       - new bindable name `overwrite-mode', bound to rl_overwrite_mode
-
-lib/readline/rlconf.h
-       - define CURSOR_MODE if you want the cursor to show insert or
-         overwrite mode (only available if both `vs' and `ve' capabilities
-         are present)
-
-lib/readline/{complete,parens,readline,search,vi_mode}.c
-       - change calls to rl_insert to _rl_insert_char
-
-lib/readline/{readline,search}.c
-       - change calls to rl_rubout to _rl_rubout_char to avoid overwrite
-         mode problems
-
-lib/readline/vi_mode.c
-       - fix rl_vi_overstrike to just call _rl_overwrite_char, which
-         handles multibyte chars
-
-lib/readline/doc/{rluser.texinfo,readline.3}, doc/bash.1
-       - document new `overwrite-mode' command
-
-                                  1/23
-                                  ----
-lib/readline/readline.c
-       - return 0 immediately from rl_insert_text if the string to insert
-         is NULL or ""
-
-bashline.c
-       - if a numeric argument is given to one of the bash-specific glob
-         pattern completion functions (including TAB), append a `*' to
-         the word before generating matches
-       - in attempt_shell_completion, when doing glob completion, only
-         set the match list to NULL if rl_completion_type == TAB and
-         there is more than one completion.  This permits listing completions
-         with double tabs and displaying ambiguous completions
-       - new function, bash_glob_complete_word, appends a `*' to the word
-         to be completed and then globs it.  It uses a new filename
-         quoting function (bash_glob_quote_filename) to avoid quoting
-         globbing characters in the filename if there are no matches or
-         multiple matches
-
-lib/readline/complete.c
-       - set completion_changed_buffer to 0 in rl_complete_internal if
-         no matches were produced by the completion generator function
-       - new variable, rl_completion_suppress_append, suppresses appending
-         of rl_completion_append_character.  Settable by application
-         completion functions, always 0 when application completion
-         functions are called (set to 0 by rl_complete_internal and
-         rl_menu_complete)
-       - broke the code that assigns default values to readline completion
-         variables out of rl_complete_internal and rl_menu_complete into
-         a new function, set_completion_defaults (int what_to_do)
-
-lib/readline/readline.h
-       - extern declaration for rl_completion_suppress_append
-
-lib/readline/doc/rluser.texinfo, doc/bash.1
-       - documented behavior of glob-expand-word and glob-list-expansions
-         when supplied a numeric argument
-       - documented glob-complete-word
-
-lib/readline/doc/rltech.texinfo
-       - documented rl_completion_suppress_append
-
-                                  1/24
-                                  ----
-lib/readline/text.c
-       - new file, text and character handling functions from readline.c
-
-lib/readline/misc.c
-       - new file, miscellanous bindable functions and their supporting
-         code from readline.c
-
-Makefile.in, lib/readline/Makefile.in
-       - changes for text.c, misc.c
-
-lib/readline/bind.c
-       - change ISKMAP case of rl_invoking_keyseqs_in_map to output
-         ESC as "\M-" instead of "\e" -- it's closer to the documentation
-       - change _rl_get_keyname to output ESC as \e instead of \C-[
-         (it's easier to understand)
-
-pcomplete.h
-       - new flag, COPT_NOSPACE
-
-builtins/complete.def
-       - new `-o nospace' option for complete and compgen (though it doesn't
-         really do anything for compgen, since that doesn't hand anything
-         off to readline)
-
-bashline.c
-       - if a programmable completion specifies COPT_NOSPACE, set
-         rl_completion_suppress_append = 1
-
-lib/readline/doc/rluser.texinfo
-       - documented new `-o nospace' option to complete and compgen
-
-doc/{bash.1,bashref.texi}
-       - documented $'\cX' escape sequence (forgot to before)
-
-                                  1/28
-                                  ----
-variables.c
-       - make_new_variable now takes the HASH_TABLE * as its second
-         argument; changed callers
-       - new function, bind_variable_in_table, takes the HASH_TABLE * as
-         its third paramter; bind_variable calls bind_variable_in_table
-         with shell_variables as third argument
-
-variables.h
-       - new struct var_context, variable context (per-scope -- global,
-         function local, etc.)
-
-variables.[ch],builtins/common.[ch]
-       - moved functions that push and pop a variable context from
-         builtins/common.c to variables.c; move extern function
-         declarations to variables.h
-       - new function, all_local_variables
-       - variable_in_context is now static, used only by all_local_variables
-
-variables.[ch],execute_cmd.c
-       - push_context now takes the function name as an argument for
-         future use
-       - push_context takes an indication of whether or not the function is
-         executing in a subshell and saves the positional parameters only
-         if not in a subshell
-       - new functions for managing a stack of variable contexts and
-         scopes:  new_var_context, dispose_var_context, push_var_context,
-         pop_var_context, push_scope, pop_scope
-
-builtins/declare.def
-       - call all_local_variables instead of map_over (...) in declare_internal
-       - don't call make_local_variable if we're looking at functions
-         ((flags_on & att_function) != 0), since it's wasted
-       - make sure VAR is set to NULL if check for variable_context fails
-         and we didn't just create or fetch a local variable in
-         declare_internal
-       - in non-function branch of declare_internal, only call find_variable
-         if VAR is NULL -- if it's not null, we just created or fetched a
-         local variable and don't need to do it again
-
-                                  1/29
-                                  ----
-variables.[ch]
-       - the temporary environments (temporary_env, builtin_env, function_env)
-         are now HASH_TABLEs instead of argv-style arrays of strings (this
-         is an intermediate step on the way to the new lcc-inspired symbol
-         table scope structure)
-       - new internal attribute for variables: att_propagate.  This means
-         to propagate the value out of the temporary environment up the
-         (for now implicit) chain of variable scopes when the containing
-         temporary environment is deleted
-
-variables.c
-       - assign_in_env now adds to the HASH_TABLE temporary_env instead
-         of making environment-style strings in an array of strings
-       - changed the way the temporary environments are merged into the
-         shell variable table to account for the new HASH_TABLE temp
-         environments
-       - changed the way the export environment is created due to the new
-         structure of the temporary environments
-       - new function, bind_variable_internal (name, value, table), binds
-         NAME to have VALUE in TABLE without searching the temporary
-         environments
-       - removed: shell_var_from_env_string, bind_name_in_env_array
-       - variable_in_context now checks the att_local attribute and makes
-         sure the variable is not invisible
-       - local_and_exported now makes sure the variable is not invisible
-
-execute_cmd.c
-       - we no longer need to copy the temporary environment to function_env
-         or builtin_env, we can simply use variable assignments
-
-{findcmd,subst,variables}.c, builtins/{declare,setattr}.def
-       - since variables from the temporary environments are no longer turned
-         into SHELL_VARs on the fly, don't dispose the SHELL_VAR returned
-         by find_variable or find_variable_internal
-       - need to savestring() the value returned by find_variable if it has
-         the tempvar attribute before calling bind_variable on it, because
-         bind_variable will search and bind into the temporary environments
-         and will free the old value before binding the new.  For temporary
-         environments, these two pointers will be the same, and
-         bind_tempenv_variable will end up using freed memory
-
-builtins/{declare,setattr}.def
-       - set the att_propagate attribute when exporting or making readonly
-         variables from the temp environment (i.e., `var=value declare -x var'
-         or `var=value export var' sets the propagate attribute on the entry
-         for `var' in the temporary environment HASH_TABLE)
-
-lib/readline/isearch.c
-       - ^W when reading isearch string yanks the current word out of the
-         current line into the search string, skipping the portion already
-         matched
-       - ^Y when reading isearch string yanks the rest of the current line
-         into the search string, skipping the portion already matched
-
-                                  1/30
-                                  ----
-{print_cmd,variables}.c
-       - moved indirection_level_string() from variables.c to print_cmd.c
-
-{externs,variables}.h
-       - moved extern declaration of indirection_level_string to externs.h
-
-{general,variables}.c
-       - moved assignment() from variables.c to general.c
-
-{general,variables}.h
-       - moved extern declaration of assignment() to general.h
-
-{externs,input}.h
-       - moved extern declaration of decode_prompt_string to externs.h
-
-print_cmd.c
-       - include flags.h, don't include stdc.h
-
-variables.c
-       - moved some functions around to group functions better
-       - changed new_shell_variable to explicitly initialize each member
-         of the created struct variable instead of calling bzero()
-       - make_new_variable now just calls new_shell_variable instead
-         of duplicating what it does
-       - removed some code in bind_function that duplicated what
-         new_variable does on the newly-created SHELL_VAR
-       - since there are no local function variables (functions are always
-         made at the global scope), kill_all_local_variables() doesn't
-         need to consider functions
-
-                                  1/31
-                                  ----
-variables.c
-       - sort the array of special variables
-       - short-circuit the search in stupidly_hack_special_variables if
-         the passed name can't be found in the rest of the array
-         (that is, if name[0] < special_vars[i].name[0])
-
-lib/readline/history.c
-       - unstifle_history() was returning values exactly opposite of
-         the documentation
-
-lib/readline/doc/{hsuser.texinfo,history.3}
-       - clarified the unstifle_history() documentation a little
-
-                                   2/4
-                                   ---
-variables.c
-       - in bind_variable, don't call bind_tempenv_variable after a
-         find_tempenv_variable succeeds -- just change the value inline.
-         There's no reason to look it up twice
-       - change makunbound to only call stupidly_hack_special_variables
-         if we're not unsetting a function
-
-variables.[ch]
-       - new function, unbind_function, like makunbound but doesn't mess
-         with previous contexts or calling stupidly_hack_special_variables
-
-builtins/set.def
-       - change unset_builtin to call either unbind_func or unbind_variable
-
-builtins/getopts.def
-       - call unbind_variable(name) instead of makunbound(name, shell_variables)
-
-                                   2/5
-                                   ---
-lib/glob/sm_loop.c
-       - use malloc instead of xmalloc in BRACKMATCH and handle failures
-
-error.c
-       - add extern declaration of executing_line_number with prototype,
-         since execute_cmd.h can't be included without including other
-         files
-
-lib/readline/parens.c
-       - include <unistd.h>
-
-lib/malloc/stats.c
-       - include <unistd.h>
-       - add extern declaration of malloc_free_blocks() with prototype
-
-pathexp.c
-       - added some forward declarations with prototypes for static functions
-
-lib/readline/rlprivate.h
-       - removed declarations of rl_untranslate_keyseq, rl_discard_argument,
-         rl_stop_output, rl_alphabetic since they appear in readline.h
-
-                                   2/6
-                                   ---
-{arrayfunc,execute_cmd,pcomplete,shell}.c
-       - change calls to makunbound(name, shell_variables) to
-         unbind_variable (name)
-
-                                   2/7
-                                   ---
-builtins/getopt.c
-       - don't defer incrementing of OPTIND when an invalid option is
-         encountered until the next call to sh_getopt() -- what if OPTIND
-         is reset before that next call?  This means that OPTIND is always
-         incremented to the next option to be handled when an option is
-         returned, whether it's valid or not.  This is what POSIX-2002
-         says to do.
-
-syntax.h
-       - new #define, CSUBSTOP
-
-mksyntax.c
-       - add "-=?+" with value CSUBSTOP to the syntax table.  These are the
-         valid expansion operators OP in ${param[:]OPword}
-
-subst.c
-       - use table lookup for CSUBSTOP in VALID_PARAM_EXPAND_CHAR
-       - new flags for the string extraction functions:  EX_NOALLOC.  This
-         indicates that the functions are being used only to skip over
-         strings and the result won't be used, so the substring shouldn't
-         be allocated, copied, and freed
-       - new flag for string_extract:  EX_VARNAME.  This serves the same
-         purpose as the old `varname' parameter.  parameter_brace_expand()
-         changed appropriately
-       - extract_delimited_string and extract_dollar_brace_string now take
-         an additional `flags' argument, which may include EX_NOALLOC
-       - changed callers of extract_delimited_string and
-         extract_dollar_brace_string appropriately
-       - string_extract now understands EX_NOALLOC; callers changed
-       - some smaller code cleanups
-       - converted char_is_quoted(), unclosed_pair(), and skip_to_delim()
-         to understand multibyte characters
-
-                                  2/11
-                                  ----
-variables.[ch]
-       - moved to a symbol organization inspired by lcc.  The basic structure
-         is no longer a HASH_TABLE, but a VAR_CONTEXT, which includes a hash
-         table as one of its members.  VAR_CONTEXTs are linked together to do
-         variable scoping.  One nice thing about this is that the entire
-         symbol table doesn't need to be searched at function scope exit to
-         remove local variables.  Fixes problems with only one instance of
-         builtin_env and function_env, even though it really is a stack
-       - shell_variables is now a VAR_CONTEXT *, with a global_variables
-         variable that points to the bottom of the stack for fast access
-       - function-scope local variables (assignments specified on the command
-         line before a function call) and function-local variables (declared
-         with the `local' builtin) have been unified in the same variable
-         context, replacing function_env
-       - assignment statements preceding the `.' and `eval' builtins are now
-         a separate variable scope VAR_CONTEXT, replacing builtin_env
-       - temporary_env (a HASH_TABLE) is now the only separate environment
-       - changes to export environment creation, variable binding, variable
-         lookup, local variable propagation all changed to work with the
-         new symbol table/scope structure
-       - a SHELL_VAR no longer has a `prev_context' member; it's not needed
-
-execute_cmd.c
-       - changes to push_context calls to include any temporary variables in
-         temporary_env; pop_context takes care of propagating any temporary
-         variables if necessary
-       - calls to push_scope if `eval' or `.' is called with a list of
-         preceding variable assignments, and pop_scope called at end of
-         builtin's execution.  pop_scope takes care of merging temporary
-         variables into the shell environment when appropriate
-
-builtins/{setattr,declare}.def
-       - changes to account for variable assignments preceding `local',
-         `export', `readonly', `declare', etc. to work with the new
-         variable scoping implementation
-
-shell.c
-       - since shell_variables is now a VAR_CONTEXT, call
-         delete_all_contexts() when the shell is reinitializing instead of
-         delete_all_variables()
-
-builtins/common.c
-       - new function, get_job_by_name(), used by execute_simple_command()
-         for the `auto_resume' stuff and get_job_spec()
-
-builtins/common.h
-       - new set of #defined constants for flags argument to
-         get_job_by_name()
-
-                                  2/12
-                                  ----
-command.h
-       - new redirection operator: r_reading_string for `here strings'
-
-parse.y
-       - new token, LESS_LESS_LESS, for new redirection `here string'
-         operator: [N]<<< word
-       - recognize LESS_LESS_LESS and create the appropriate redirection
-
-{dispose_cmd,copy_cmd,make_cmd,print_cmd}.c
-       - recognize r_reading_string and do the right thing (dispose_redirects,
-         copy_redirect, print_redirection, and make_redirection, respectively)
-
-redir.c
-       - here_document_to_fd now takes the redirection operator as its
-         second argument
-       - new function, write_here_string, expands a here string and writes it
-         to the here document file descriptor
-       - here_document_to_fd calls write_here_string for r_reading_string
-         operator
-       - handle r_reading_string in do_redirection_internal() and
-         stdin_redirection()
-
-                                  2/18
-                                  ----
-doc/{bash.1,bashref.texi}
-       - documented here strings
-
-{configure,Makefile}.in
-       - bumped version number up to bash-2.05b and the release status
-         to alpha1
-
-expr.c
-       - make expr_streval understand that variables with the `invisible'
-         attribute are really unset, and accessing such a variable when
-         `set -u' is set should be an error
-
-variables.h
-       - new accessor macros: var_isset(var) and var_isnull(var), test
-         whether var->value is NULL
-
-{eval,subst,variables}.c, builtins/{declare,setattr}.def
-       - be more consistent about using value_cell(var) instead of
-         directly referencing var->value
-       - use var_isset and var_isnull where appropriate
-
-builtins/help.def
-       - augmented a couple of help strings with pointers to `info' and
-         `man -k'
-
-                                  2/14
-                                  ----
-variables.h
-       - new macros to use when setting variable values directly instead of
-         through bind_variable and its siblings
-
-{arrayfunc,variables}.c
-       - use var_setarray and other lvalue macros instead of assigning to
-         var->value directly
-
-builtins/setattr.def
-       - change show_var_attributes to show function definitions separately
-         from function attributes.  This allows the output of `declare -f'
-         (with other flags), `export -f', and `readonly -f' to be reused as
-         shell input, instead of the old
-
-               declare -f[flags] func()
-               {
-                       foo
-               }
-
-         which has syntax errors.  When in posix mode, `export -fp' and
-         `readonly -fp' still don't print function definitions
-
-                                  2/16
-                                  ----
-parse.y
-       - comment out calls to discard_parser_constructs; no need to call
-         empty functions
-
-                                  2/18
-                                  ----
-lib/sh/memset.c
-       - replacement function for memset(3)
-
-lib/sh/Makefile.in, Makefile.in
-       - additions for memset.c
-
-configure.in,config.h.in
-       - check for memset, define HAVE_MEMSET if found, add memset.o to
-         LIBOBJS if not
-
-lib/malloc/malloc.c
-       - removed zmemset(), replaced with calls to memset(3)
-
-{subst,execute_cmd,lib/sh/netopen}.c
-       - replaced calls to bzero with calls to memset
-
-subst.c
-       - word_split() now takes a second argument: the value of $IFS, so
-         it doesn't have to look up IFS every time
-       - word_list_split() now calls getifs() and passes the result to
-         each call to word_split() as its second arg
-       - do a quick scan for CTLNUL in remove_quoted_nulls before allocating
-         new string, copying old string to it, copying over original string
-         and freeing new string
-
-eval.c
-       - don't bother calling dispose_used_env_vars if temporary_env is NULL
-
-execute_cmd.c
-       - fix fix_assignment_words to only look up the builtin corresponding
-         to the first word if one of the words in the list is marked as
-         W_ASSIGNMENT
-
-hashlib.c
-       - renamed hash_string to hash_bucket, which better reflects what it
-         does
-       - extracted the portion of hash_bucket that computes the hash out
-         into a new hash_string()
-       - made new body of hash_bucket into a macro HASH_BUCKET; function
-         just calls the macro
-       - calls to hash_bucket in this file now call HASH_BUCKET macro
-       - in add_hash_item, just add a new item at the front of the appropriate
-         bucket list instead of at the end
-
-hashcmd.h
-       - reduced FILENAME_HASH_BUCKETS to 53 from 107
-
-                                  2/19
-                                  ----
-hashlib.[ch]
-       - find_hash_item, remove_hash_item, add_hash_item all take a new
-         third `flags' argument
-       - add_hash_item doesn't call find_hash_item if HASH_NOSRCH passed in
-         flags arg
-       - find_hash_item will create a new hash table entry if HASH_CREATE is
-         passed in flags arg
-       - new function, hash_walk, takes a pointer to a function and a table
-         and calls the function for each item in the table.  If the function
-         returns < 0, the walk is terminated
-       - fixed flush_hash_table to set table->nentries to 0 after freeing
-         all entries
-       - BUCKET_CONTENTS now has a new `khash' member, what key hashes to;
-         set by HASH_BUCKET macro (which calls hash_string), assigned in
-         find_hash_item (HASH_CREATE) and add_hash_item
-       - find_hash_item and remove_hash_item check `khash' against the
-         hash of the string argument before calling strcmp
-
-{alias,hashlib,hashcmd,pcomplib,variables}.c
-       - changed all calls to {find,remove,add}_hash_item
-
-builtins/hash.def
-       - return immediately from print_hashed_commands if there are no
-         entries in the hash table (this eliminates need for `any_printed'
-         variable)
-       - change print_hashed_commands to use hash_walk
-
-alias.c
-       - short-circuit all_aliases and map_over_aliases if
-         HASH_ENTRIES(aliases) == 0
-       - simplify map_over_aliases by just allocating enough room in the
-         returned list for all entries in the aliases hash table, instead
-         of doing the check and xrealloc
-       - add_alias now calls add_hash_item with HASH_NOSRCH argument
-
-pcomplete.h
-       - sh_csprint_func_t is no more; use hash_wfunc instead
-
-pcomplib.c
-       - short-circuit print_all_compspecs if HASH_ENTRIES(prog_completes)
-         is 0
-       - print_all_compspecs now takes a `hash_wfunc *' argument
-       - print_all_compspecs now just calls hash_walk
-
-builtins/complete.def
-       - new function, print_compitem, takes a BUCKET_CONTENTS *, extracts
-         the right info, and calls print_one_completion
-
-variables.c
-       - short-circuit map_over_funcs if HASH_ENTRIES(shell_functions) == 0
-       - short-circuit flatten if the passed table has no entries
-       - bind_variable_internal takes a new fourth argument: `hflags',
-         to pass to hash table functions
-       - make_new_variable now passes HASH_NOSRCH flag to add_hash_item
-       - set_if_not now calls bind_variable_internal and passes
-         HASH_NOSRCH as flags argument
-       - bind_function now calls add_hash_item with HASH_NOSRCH argument
-       - fixed make_local_variable:  old_var == 0 && was_tmpvar can never
-         be true
-       - if we didn't find an old variable in make_local_variable, call
-         bind_variable_internal with HASH_NOSRCH argument
-       - fix push_temp_var to reset variable context to 0 if binding into
-         global_variables->table
-
-parse.y
-       - fix to parse_compound_assignment to avoid core dumps on empty
-         compound array assignments
-
-subst.c
-       - getifs() is now global so read_builtin can call it
-
-subst.h
-       - extern declaration for getifs()
-
-                                  2/20
-                                  ----
-hashlib.c
-       - changed hash_string to use a better hash function
-       - changed HASH_BUCKET to use masking rather than modulus to hash a
-         string to a bucket -- HASH TABLES MUST NOW BE SIZED BY POWERS
-         OF TWO
-
-hashlib.h
-       - DEFAULT_HASH_BUCKETS is now 64
-
-hashcmd.h
-       - FILENAME_HASH_BUCKETS is now 64
-
-pcomplib.c
-       - COMPLETE_HASH_BUCKETS is now 32
-
-variables.c
-       - TEMPENV_HASH_BUCKETS is now 4
-
-alias.c
-       - new define, ALIAS_HASH_BUCKETS, set to 16, used to size alias table
-
-hashlib.c
-       - removed initialize_hash_table; folded code into make_hash_table
-       - fixed copy_bucket_array to copy the `khash' member of an item
-       - renamed functions to be more systematic and easier for me:
-               make_hash_table -> hash_create
-               hash_table_nentries -> hash_size
-               copy_hash_table -> hash_copy
-               find_hash_item -> hash_search
-               remove_hash_item -> hash_remove
-               add_hash_item -> hash_insert
-               flush_hash_table -> hash_flush
-               dispose_hash_table -> hash_dispose
-               print_table_stats -> hash_pstats
-               get_hash_bucket -> hash_items
-       - changed hash_search to short-circuit if table->nentries == 0 and
-         HASH_CREATE has not been passed in the flags argument
-
-{alias,variables,hashcmd,pcomplib}.c
-       - renamed calls to all renamed functions from hashlib.c
-
-builtins/kill.def
-       - don't drop a leading `-' in a pid argument
-       - call kill_pid with an explicit third argument of 1 if the pid
-         argument to kill is < -1, rather than rely on the behavior of
-         kill(2)
-
-                                  2/21
-                                  ----
-subst.c
-       - quoted_strchr is no longer declared `inline'
-       - skip_double_quoted is no longer declared `inline'
-       - string_extract_double_quoted is no longer declared `inline'
-
-lib/readline/input.c
-       - rl_gather_tyi is now an `int' valued function; returns the number
-         of characters read (0 or 1) or -1 on error
-       - if rl_gather_tyi() returns -1 to rl_read_key(), set rl_done to 1
-         and return a newline; something is wrong with the input fd
-
-                                  2/25
-                                  ----
-variables.[ch]
-       - IFS is now a special variable
-       - new special var function, sv_ifs(), called when IFS is set or unset
-       - call setifs() when IFS is first set in initialize_shell_variables
-       - call setifs() from make_local_variable and assign_in_env if
-         appropriate
-       - if assign_in_env() is called with a var assignment like `VAR=',
-         make the value in the new SHELL_VAR created be "" like
-         do_assignment_internal does, since certain parts of the shell use
-         a NULL value as evidence that the variable is unset (though
-         attributes may have been assigned)
-       - if push_temp_var pushes something up to the global_variables table,
-         make sure that the context is set to 0
-       - new function dispose_temporary_env, called by both
-         dispose_used_env_vars and merge_temporary_env with different `free
-         func' function pointers; calls sv_ifs after disposing the temporary
-         environment
-       - push_exported_var now calls bind_variable_internal instead of
-         bind_variable
-       - pop_scope and pop_context now call sv_ifs
-
-subst.[ch]
-       - new global variables used to keep track of IFS state, to avoid
-         having to call find_variable("IFS") all the time:
-
-               ifs_var         the SHELL_VAR for IFS
-               ifs_value       ifs_var ? value_cell (ifs_var) : " \t\n"
-               ifs_cmap        bitmap of characters in ifs_value
-               ifs_firstc      first character in ifs_value
-
-       - new function setifs(), sets the aforementioned ifs variables each
-         time IFS is set or unset, and at nested scope exit
-       - instead of calling getifs() from inside subst.c, use ifs_value
-       - getifs() now just returns ifs_value
-       - use ifs_firstc in string_list_dollar_star()
-       - only call member() in issep() if separators is more than one char
-       - don't cache a bitmap every time expand_word_internal() is called;
-         use ifs_cmap instead
-       - new macro, isifs(c), checks whether C is in ifs_cmap
-
-builtins/read.def
-       - use issep() and isifs() macros instead of looking at $IFS directly
-
-syntax.h
-       - make sure macros that access sh_syntaxtab cast the argument to
-         `unsigned char' before array access
-       - new macros: issyntype(c, type) and notsyntype(c, type), check
-         sh_syntaxtab[c] for a particular flag value `type'
-
-                                  2/26
-                                  ----
-hashlib.h
-       - the `data' member of a `BUCKET_CONTENTS' is now a PTR_T
-
-{hashlib,alias,variables,hashcmd,pcomplib}.c
-       - removed some casts when assigning to and using `data' member of a
-         `BUCKET_CONTENTS'
-
-subst.c
-       - in split_at_delims, call make_word_list instead of allocating and
-         initializing a WORD_LIST * directly
-
-make_cmd.[ch]
-       - add_string_to_list is now just a macro that calls make_word_list
-       - make_simple_command now calls make_word_list instead of allocating
-         a WORD_LIST * directly
-
-                                  2/27
-                                  ----
-copy_cmd.c
-       - copy_word now calls make_bare_word to allocate the copy
-       - copy_word_list now calls make_word_list to allocate the copy
-
-shell.h
-       - include `ocache.h' for simple object caching
-       - call cmd_init() to initialize the WORD_DESC and WORD_LIST object
-         caches
-
-{make,dispose}_cmd.c
-       - allocate WORD_DESC * and WORD_LIST * vars from their respective
-         ocaches, and return them to the cache when disposing
-
-jobs.c
-       - renamed old `waiting_for_job' variable to `queue_sigchld', which
-         better reflects its intent:  sigchld_handler does not call waitchld
-         if `queue_sigchld' is non-zero, it simply increments the count of
-         waiting children
-       - cleanup_dead_jobs now just sets and clears queue_sigchld instead of
-         blocking and unblocking SIGCHLD; it calls waitchld at the end if
-         `sigchld' is non-zero, but that's not really necessary
-       - in setjstatus, only call xrealloc if `statsize' is less than the
-         number of processes passed -- no reason to do it if they're the
-         same
-
-                                  2/28
-                                  ----
-sig.[ch]
-       - reinitialize_signals is no more; initialize_signals takes an
-         argument saying whether or not we are reinitializing
-
-builtins/exec.def
-       - reinitialize_signals() -> initialize_signals(1)
-
-test.c
-       - fix filecomp() to work right when one file has a non-positive
-         timestamp and the other file does not exist
-
-doc/{bash.1,bashref.texi}
-       - document what happens for test's -nt and -ot operators when one
-         file operand exists and the other does not
-
-jobs.c
-       - if we haven't messed with SIGTTOU, just manipulate queue_sigchld
-         in notify_of_job_status instead of calling sigprocmask()
-       - list_one_job now calls pretty_print_job directly instead of going
-         through print_job
-       - pretty_print_job now must be called with SIGCHLD blocked or held
-         instead of blocking SIGCHLD itself
-       - changed start_job so that it doesn't call UNBLOCK_CHILD and then
-         immediately call BLOCK_CHILD again (explicitly or via last_pid()),
-         call find_last_pid instead of last_pid and then UNBLOCK_CHILD
-       - changed wait_for_job the same way
-       - find_last_pid now takes a second argument: block; uses BLOCK_CHILD
-         if `block' is 1, not otherwise.  Changed existing calls:
-               find_last_pid(j) -> find_last_pid(j, 0)
-               last_pid(j) -> find_last_pid(j, 1)
-         `last_pid()' is now gone
-       - rewrote wait_for_background_pids(); it was a little strange
-       
-copy_cmd.c
-       - copy_if_command: don't copy null false_case commands
-       - copy_simple_command: don't copy a null redirection list
-
-subst.c
-       - in get_word_from_string and list_string, just check for " \t\n"
-         directly rather than calling strcmp
-       - in get_word_from_string and strip_trailing_ifs_whitespace, use
-         isifs() instead of issep(), since they're never called with
-         separators != $IFS
-       - change issep() to call isifs if separators is longer than one
-         character, since it's never called with anything but "", " ",
-         or $IFS
-
-                                   3/1
-                                   ---
-sig.h
-       - enclose the BLOCK_SIGNAL macro in a do {...} while (0) loop, at it
-         should have been all along
-
-lib/readline/doc/rltech.texinfo
-       - document that readline defaults to stdin/stdout if rl_instream/
-         rl_outstream are NULL
-
-lib/readline/terminal.c
-       - if an application is using a custom redisplay function,
-         rl_resize_terminal just calls rl_forced_update_display to tell
-         (*rl_redisplay_func) to update the display, otherwise call
-         _rl_redisplay_after_sigwinch
-
-lib/readline/readline.c
-       - change readline_internal_setup() so the change to vi insertion mode
-         happens even if readline_echoing_p is 0
-       - don't print the prompt to rl_outstream in readline_internal_setup
-         if we're not echoing and the caller has defined a custom redisplay
-         function -- let the redisplay function deal with it
-
-configure.in
-       - new option: --enable-mem-scramble, controls memory scrambling on
-         free() (on by default; only affects use of bash malloc)
-
-config.h.in
-       - new option MEMSCRAMBLE, controlled by --enable-mem-scramble
-
-                                   3/5
-                                   ---
-parse.y
-       - added ksh-like behavior of [...] to read_token_word:  if a `[' is
-         seen in an assignment context and the previous characters in the
-         token form a valid identifier, parse the [...] with
-         parse_matched_pair to allow spaces (and newlines) in the subscript
-
-bashline.c
-       - new function bash_servicename_completion_function, for completing
-         service names from /etc/services
-
-bashline.h
-       - new extern declaration for bash_servicename_completion_function
-
-builtins/complete.def
-       - allow new `-s/-A service' option to complete and compgen builtins
-
-pcomplete.h
-       - new CA_SERVICE define, new ITEMLIST variable it_services
-
-pcomplete.c
-       - add callback to bash_servicename_completion_function to generate
-         list of matching service names for completion
-
-doc/bash.1,lib/readline/doc/rluser.texinfo
-       - documented new `-s/-A service' option to complete and compgen
-
-                                   3/6
-                                   ---
-builtins/read.def
-       - change hard-coded `0' to new variable `fd' (initially 0) in
-         preparation for adding `-u fd' option
-
-bashline.c
-       - bash_directory_completion_hook calls expand_prompt_string instead
-         of expand_string (it does the right thing).  This keeps expansion
-         errors from causing a longjmp, which shouldn't happen because of
-         completion
-       - command_subst_completion_function was augmented very slightly to
-         do filename completion on a non-command-word in a command
-         substitution
-       - command_subst_completion_function now skips over the lcd that
-         rl_completion_matches puts in matches[0] if there is more than
-         one possible completion
-
-                                   3/7
-                                   ---
-builtins/read.def
-       - only add the unwind_protect to free `rlbuf' if `edit' is non-zero,
-         since we won't be using readline otherwise
-
-lib/sh/zread.c
-       - renamed zread1 -> zreadintr
-
-redir.c
-       - small change to redirection_error() to make a slightly better
-         guess about the invalid file descriptor if the redirection op is
-         r_duplicating_input or r_duplicating_output
-
-include/stdc.h
-       - new macro, SH_VA_START, to encapsulate the difference between
-         stdarg va_start and varargs va_start
-
-{error,pcomplete,print_cmd}.c,builtins/common.c,lib/sh/snprintf.c
-       - use SH_VA_START
-
-                                   3/8
-                                   ---
-builtins/read.def
-       - support for the ksh-like `-u fd' option
-
-general.c
-       - new function sh_validfd(fd), returns 1 if fd is a valid open file
-         descriptor
-
-general.h
-       - extern decl for sh_validfd
-
-bashline.c
-       - don't call posix_readline_initialize() from initialize_readline();
-         sv_strict_posix() should already have taken care of it
-
-                                  3/11
-                                  ----
-{error,pcomplete,print_cmd}.c, builtins/common.c
-       - removed non-varargs versions of functions
-
-builtins/printf.def
-       - if the string argument to %q has non-printing characters, call
-         ansic_quote to quote it rather than sh_backslash_quote
-
-variables.h
-       - new attribute: att_trace (and corresponding trace_p() macro).
-         Functions with this attribute will inherit the DEBUG trap.
-         Currently ignored for variables
-
-builtins/declare.def
-       - new `-t' option to declare/typeset toggle the `att_trace' attribute
-
-builtins/setattr.def
-       - check for att_trace and output `-t' flag in show_var_attributes
-
-execute_cmd.c
-       - if a function is being traced (it has the `-t' attribute set),
-         don't turn off the DEBUG trap when it executes
-
-doc/{bash.1,bashref.texi}
-       - document the new `-t' option to declare/typeset
-
-                                  3/12
-                                  ----
-execute_cmd.c
-       - don't execute the debug trap in the `cm_simple:' case of
-         execute_command_internal; run it in execute_simple_command so we
-         get the line number information right when executing in a shell
-         function
-       - run a DEBUG trap before executing ((...)) arithmetic commands,
-         like ksh93
-       - run a DEBUG trap before executing [[...]] conditional commands,
-         like ksh93
-
-eval.c
-       - add a static forward declaration for alrm_catcher()
-
-general.c
-       - add static forward declarations for bash_special_tilde_expansions,
-         unquoted_tilde_word, initialize_group_array
-
-variables.h
-       - add extern declarations for sh_get_env_value, map_over_funcs,
-         local_exported_variables
-
-variables.c
-       - add static forward declarations for dispose_temporary_env,
-         make_func_export_array
-
-bashhist.c
-       - add static forward declaration for check_history_control
-
-configure.in
-       - add a call to AC_CHECK_DECLS for strcpy
-
-config.h.in
-       - add placeholder for HAVE_DECL_STRCPY define, set by configure
-
-general.h
-       - don't declare strcpy if HAVE_DECL_STRCPY is defined with a non-zero
-         value
-
-sig.h
-       - add prototype to typedef of SigHandler
-
-lib/readline/histlib.h
-       - removed extern declaration of strcpy()
-       - include string.h/strings.h directly in histlib.h instead of source
-         files
-
-lib/readline/{histexpand,histfile,history,histsearch}.c
-       - don't include string.h/strings.h now that histlib.h includes it
-
-lib/tilde/tilde.c
-       - removed extern declaration of strcpy(), rely on string.h/strings.h
-
-command.h
-       - four new redirection types: r_move_input, r_move_output,
-         r_move_input_word, r_move_output_word, for
-         [N]<&word- and [N]>&word- from ksh93
-
-print_cmd.c
-       - changes to print r_move_input[_word] and r_move_output[_word]
-
-copy_cmd.c
-       - changes to copy r_move_input[_word] and r_move_output[_word]
-
-dispose_cmd.c
-       - changes to dispose r_move_input_word and r_move_output_word
-
-make_cmd.c
-       - changes to make r_move_input[_word] and r_move_output[_word] from
-         r_duplicating_{input,output}_word, which is how the new redirs
-         are passed by the parser
-
-redir.c
-       - changes to make r_move_input[_word] and r_move_output[_word] do
-         the right thing when executed
-
-builtins/read.def
-       - print an error message and return failure immediately if zread/zreadc
-         return < 0
-
-doc/{bash.1,bashref.texi}
-       - documented new [n]<&word- and [n]>&word- redirections
-
-                                  3/13
-                                  ----
-lib/readline/isearch.c 
-       - enabled code to allow chars bound to rl_rubout to delete characters
-         from the incremental search string
-
-shell.c
-       - add `-l' invocation option to parse_shell_options; equivalent to
-         `--login'
-       - fixed set_login_shell to check first char of base pathname of argv0
-         for `-', like other shells
-       - move the check for make_login_shell after the call to
-         parse_shell_options because the `-l' option might set it
-
-doc/{bash.1,bashref.texi}
-       - documented new `-l' invocation option
-
-array.c
-       - new function, array_shift, shifts an array left by a specified
-         number of elements
-       - array_walk is now compiled in by default
-       - array_to_assignment_string now takes a second argument: int quoted.
-         If non-zero, the result is single-quoted before being returned
-       - quoted_array_assignment_string has been removed
-
-array.[ch]
-       - renamed most of the array functions so that all have an array_
-         prefix and are more systematically named
-       - array_slice now preserves the indicies from the original array
-       - change array_to_assign to use a static buffer for expanding the
-         array indices, instead of malloc/free
-
-{arrayfunc,subst,variables}.c, builtins/read.def
-       - changed calls to various array functions to use new names
-
-lib/sh/stringvec.c, externs.h
-       - renamed all of the functions to have a strvec_ prefix and to have
-         a more sensible name scheme
-       - strvec_search's arguments are now supplied in reverse order, so
-         the char **array is first, like the other functions
-       - new function, strvec_resize, xrealloc for strvecs
-
-{alias,array,bracecomp,braces,bashline,execute_cmd,findcmd,general,pathexp,
-pcomplete,variables}.c
-lib/sh/stringlist.c
-builtins/{bind,complete,exec,getopts,pushd,set}.def
-       - change calls to all functions from lib/sh/stringvec.c
-       - use strvec_resize where appropriate
-
-externs.h
-       - only declare dup2() if HAVE_DUP2 is undefined or DUP2_BROKEN is
-         defined
-
-lib/readline/{macro,readline,util}.c, lib/readline/rlprivate.h
-       - _rl_defining_kbd_macro is gone, use RL_ISSTATE(RL_STATE_MACRODEF)
-
-lib/readline/readline.h
-       - new struct readline_state, encapsulates most of readline's internal
-         state in case you need reentrancy or nested calls to readline()
-       - extern declarations for rl_save_state, rl_restore_state
-
-lib/readline/readline.c
-       - add (undocumented) int rl_save_state (struct readline_state *),
-         int rl_restore_state (struct readline_state *)
-
-                                  3/14
-                                  ----
-array.[ch]
-       - new function, array_rshift, shifts an array right by a specified
-         number of elements, optionally inserting a new element 0
-
-examples/bashdb/bashdb
-       - new single-file version of bash debugger, originally modified from
-         version in bash-2.04 by Gary Vaughan (the old debugger still
-         appears in examples/obashdb).  This version has a more gdb-like
-         command set
-
-examples/bashdb/bashdb.el
-       - new emacs bashdb debugger mode from Masatake YAMATO <jet@gyve.org>
-
-execute_cmd.c
-       - don't make $LINENO relative to function start unless the shell is
-         currently interactive -- this is what ksh93 does and what I
-         believe to be the intent of POSIX.2 (this required changing some
-         of the test checks because the output has changed)
-       - run the debug trap for each command in an arithmetic for expression,
-         like ksh93 does
-
-lib/readline/vi_mode.c
-       - redid rl_vi_subst (binding func for `s' and `S') in terms of
-         rl_vi_change_to:  `S' == `cc' and `s' == `c '.  This makes undo
-         work right
-
-                                  3/18
-                                  ----
-hashlib.c
-       - fixed hash_walk to return if the item function returns < 0, instead
-         of breaking out of the current hash chain
-
-array.c
-       - fixed array_walk to return if the item function returns < 0, like
-         hash_walk
-
-lib/sh/stringlist.c, externs.h
-       - new function: strlist_walk, takes a stringlist and a pointer to an
-         item func.  Like other _walk funcs, if item func returns < 0 the
-         walk is cancelled
-       - new function: strlist_flush, frees items in the contained list
-         with strvec_flush
-       - renamed functions to have a strlist_ prefix and be more systematic
-
-pcomplib.c,pcomplete.h
-       - removed redundant `progcomp_initialized' variable
-       - renamed functions to have `progcomp_' or `compspec_' prefixes
-         like the hash library
-
-{bashline,pcomplete}.c,builtins/complete.def
-       - fixed calls to stringlist functions to use new names
-       - fixed calls to functions in pcomplib.c to use new names
-
-pcomplete.c
-       - made the debugging code #ifdef DEBUG -- it should be mature enough
-
-builtins/hash.def,parse.y
-       - use REVERSE_LIST(x, t) instead of (t)reverse_list(x)
-
-list.c,{externs,general}.h
-       - renamed the list functions to have a list_ prefix, changed callers
-
-externs.h,{execute_cmd,stringlib,subst}.c,builtins/common.c,lib/sh/stringvec.c
-       - word_list_to_argv -> strvec_from_word_list
-       - argv_to_word_list -> strvec_to_word_list
-       - moved functions to lib/sh/stringvec.c
-
-lib/sh/stringvec.c
-       - changed name of second argument to strvec_from_word_list from `copy'
-         to `alloc' so the use of `copy' between strvec_from_word_list and
-         strvec_to_word_list isn't as confusing
-       - changed name and sense of second argument to
-         strvec_to_word_list from `copy' to `alloc' for the same reason --
-         now both functions agree on semantics of second argument
-
-lib/sh/stringlist.c
-       - ditto for strlist_from_word_list and strlist_to_word_list
-
-subst.c
-       - changed callers of strvec_to_word_list
-
-                                  3/19
-                                  ----
-builtins/hash.def
-       - added `-l' option to list table or individual targets in reusable
-         format
-       - added `-d' option to remove one or more names from the table of
-         hashed commands (provides `unhash' or `unalias -t' functionality)
-
-doc/{bash.1,bashref.texi}
-       - documented new `-l' and `-d' options to `hash'
-
-hashcmd.[ch]
-       - renamed functions to have a `phash_' prefix and follow new naming
-         convention
-       - phash_remove now returns an int:  1 if command not in hash table,
-         0 if filename removed OK
-
-{findcmd,variables}.c, builtins/{hash,type}.def
-       - changed callers to use new names from hashcmd.c
-
-builtins/common.[ch]
-       - new function, sh_notfound(s), prints standard `not found' message
-       - new function, sh_invalidid(s), prints standard `invalid identifier'
-         message
-       - new function, sh_restricted(s), prints standard `restricted' message
-         for restricted shells
-       - new function, sh_invalidnum(s), prints standard `invalid number'
-         message
-       - renamed bad_option to sh_invalidopt, changed to print
-         `invalid option' instead of `unknown option'
-       - new function, sh_invalidoptname, prints standard `invalid option
-         name' for long options
-       - new function, sh_badjob (s), prints standard `no such job' message
-       - new function, sh_invalidsig (s), prints standard `invalid signal
-         specification' message
-       - new function, sh_nojobs (s), prints standard `no job control' message
-       - new function, sh_needarg (s), prints standard `option requires an
-         argument' message
-       - new function, sh_neednumarg (s), prints standard `numeric
-         argument required' message
-       - new function, sh_badpid(s), prints standard `not a pid...' message
-       - new function, sh_erange (s, desc) prints standard `out of range'
-         message, optionally using `desc' to say what the argument is
-
-builtins/{alias,command,declare,exec,hash,type}.def
-       - call sh_notfound() instead of calling builtin_error directly
-
-builtins/{declare,getopts,read,set,setattr}.def
-       - call sh_invalidid() instead of calling builtin_error directly
-
-builtins/{cd,command,enable,exec,hash,source}.def
-       - call sh_restricted() instead of calling builtin_error directly
-
-builtins/{printf,read,ulimit}.def, builtins/common.c
-       - call sh_invalidnum instead of calling builtin_error directly
-
-builtins/{complete,declare,pushd,set}.def, builtins/bashgetopt.c
-       - call sh_invalidopt instead of bad_option or builtin_error directly
-
-builtins/{complete,set,shopt}.def
-       - call sh_invalidoptname instead of builtin_error directly
-
-builtins/{fg_bg,jobs,kill,wait}.def
-       - call sh_badjob instead of calling builtin_error directly
-
-builtins/common.c, builtins/{kill,signal}.def
-       - call sh_invalidsig instead of calling builtin_error directly
-
-builtins/{fg_bg,suspend,wait}.def
-       - call sh_nojobs instead of calling builtin_error directly
-
-builtins/{common,bashgetopt}.c, builtins/{hash,kill}.def
-       - call sh_neednumarg and sh_needarg where required
-
-builtins/{kill,wait}.def
-       - call sh_badpid where required
-
-builtins/{break,fc,history,pushd,shift,ulimit,umask}.def
-       - call sh_erange where appropriate
-
-builtins/printf.def
-       - new static function, printf_erange, prints standard out-of-range
-         warning message
-
-builtins/set.def
-       - changed so that calls to sh_invalidopt always include the leading
-         `+' or `-'
-
-builtins/shopt.def
-       - changed SHOPT_ERROR macro to shopt_error function
-
-builtins/bind.def
-       - regularized error messages to `bind: object: error string' like
-         other error messages
-
-builtins.h
-       - the `short_doc' member of a `struct builtin' is now of type
-         `const char *'
-       - the strings in `long_doc' array of a struct builtin are now const
-
-builtins/mkbuiltins.c
-       - changes for new `const' members of struct builtin
-
-                                  3/20
-                                  ----
-lib/readline/histfile.c
-       - use pointers instead of indexing into buffer when reading the
-         contents of the history file in read_history_range and
-         history_truncate_file
-
-                                  3/21
-                                  ----
-lib/readline/histfile.c
-       - new file, with code to mmap the history file for reading and
-         writing (depends on HAVE_MMAP, currently nothing checks for that)
-
-                                  3/25
-                                  ----
-error.[ch]
-       - new function, err_badarraysub(s), calls report_error with standard
-         `bad array subscript' message
-       - new function, err_unboundvar(s), calls report_error with standard
-         `unbound variable' message
-       - new function, err_readonly(s), calls report_error with standard
-         `readonly variable' message
-
-{arrayfunc,subst}.c
-       - call err_badarraysub where appropriate
-
-{expr,subst}.c
-       - call err_unboundvar where appropriate
-
-{arrayfunc,variables}.c
-       - call err_readonly where appropriate
-
-shell.c
-       - changed text of bad option error messages to be the same as that
-         printed for builtin errors
-
-builtins/common.c
-       - changed sh_invalidopt to print the invalid option before the rest
-         of the error message (required some tests to be modified)
-       - new function, sh_readonly, calls builtin_error with standard
-         `readonly variable' message
-
-variables.c,builtins/declare.def
-       - call sh_readonly where appropriate
-
-lib/sh/stringvec.c
-       - added strvec_remove (sv, s), removes S from SV and shuffles rest of
-         elements down 1
-
-lib/sh/stringlist.c
-       - added strlist_remove(sl, s), just calls strvec_remove on the
-         component list
-
-externs.h
-       - new extern declarations for strvec_remove and strlist_remove
-       - fixed extern declaration for strvec_search; the arguments were
-         reversed (unimportant, it's not compiled into the shell)
-
-subst.c
-       - change param_expand to call quote_escapes on values retrieved when
-         expanding the positional parameters
-       - change parameter_brace_expand_word to quote escapes on values
-         retrieved when expanding the positional parameters
-       - fix parameter_brace_substring to quote escape characters on unquoted
-         substrings extracted from variable values (needed to separate case
-         VT_VARIABLE from VT_ARRAYMEMBER for this, since, because
-         get_var_and_type calls array_value for VT_ARRAYMEMBER, we need to
-         skip over quoted characters in an already-appropriately-quoted
-         string to find the substring we want)
-       - fix parameter_brace_substring to quote escape characters in the
-         value returned by pos_params when expanding subsets of the
-         positional parameters and not within double quotes (in which case
-         pos_params() quotes the string for us)
-       - fix parameter_brace_substring to quote escape characters in the
-         value returned by array_subrange when expanding subsets of an
-         array and not within double quotes (in which case
-         array_subrange() quotes the string for us)
-       - new function, quoted_strlen(s), does strlen(s) while skipping over
-         characters quoted with CTLESC (#ifdef INCLUDE_UNUSED, since it's
-         not used yet)
-       - changed pos_params() so it always returns a list whose members are
-         quoted strings if (quoted&(Q_HERE_DOCUMENT|Q_DOUBLE_QUOTES)) != 0
-
-arrayfunc.c
-       - fix array_value to consistently call quote_escapes, even when a
-         non-array variable is being subscripted with element 0, in which
-         case we return the variable value
-
-lib/sh/strtrans.c
-       - make the for_echo parameter to ansicstr a `flags' parameter that
-         has its old `for echo' meaning if flags&1 is non-zero (which is
-         consistent with the old code)
-       - Added code to the `flags' parameter to ansicstr so that if flags&2
-         is non-zero, CTLESC and CTLNUL are escaped with CTLESC in the
-         expanded string
-       - change ansiexpand() to call ansicstr with a `flags' parameter of 2
-
-                                  3/26
-                                  ----
-lib/readline/histfile.c
-       - when reading and writing the history file, use malloc instead of
-         xmalloc and handle failures gracefully, so the application doesn't
-         abort if the history file or history list is too big
-
-                                  3/27
-                                  ----
-arrayfunc.c
-       - changed array_value_internal to take an additional `int *'
-         parameter, in which is returned the type of array indexing
-         performed (array[@] vs. array or array[index])
-       - changed array_value and get_array_value to take a corresponding
-         extra parameter and pass it to array_value_internal
-       - changed array_value_internal to no longer return newly-allocated
-         memory or quote CTLESC and CTLNUL in the returned string if
-         `simple' array indexing (subscript not `@' or `*') is being
-         performed.  This makes it more like a variable lookup
-
-arrayfunc.h
-       - changed prototypes for array_value and get_array_value
-
-expr.c
-       - added new parameter to call to get_array_value in expr_streval
-       - don't need to free memory returned by get_array_value any more
-
-subst.c
-       - quote_escapes now works with multibyte characters
-       - dequote_string now works with multibyte characters
-       - dequote_escapes is now needed, so it's compiled in, and it
-         now works with multibyte characters
-       - remove_quoted_escapes now just calls dequote_escapes and copies the
-         result over the argument string
-       - remove_quoted_nulls now returns its char * argument, parallels
-         remove_quoted_escapes
-       - parameter_brace_expand_word now passes the new argument to
-         array_value and quotes CTLESC and CTLNUL in the result if it's a
-         `simple' array expansion by calling quote_escapes
-       - get_var_and_type now returns VT_ARRAYMEMBER for references like
-         ${array} where `array' is an array variable (just like ${array[0]}).
-         Documented (in comment) that a VT_VARIABLE return value means that
-         quote_escapes has been called at some point
-       - changed callers of get_var_and_type to no longer free value if
-         VT_ARRAYMEMBER is returned as type
-       - changed parameter_brace_substring and parameter_brace_patsub to
-         call dequote_escapes on the value from get_var_and_type if the
-         type is VT_VARIABLE, since the substring and pattern substitution
-         code doesn't understand CTLESC quoting
-       - parameter_brace_substring no longer needs to call quoted_substring
-         for the VT_ARRAYMEMBER case
-       - changed parameter_brace_patsub to call quote_escapes on the result
-         of pat_subst for the VT_VARIABLE and VT_ARRAYMEMBER cases, and to
-         quote the returned string in the VT_ARRAYVAR and VT_POSPARAMS cases
-         if the `MATCH_QUOTED' flag isn't set (if it is, the pattern
-         substitution functions perform any necessary quoting)
-       - quoted_substring is no longer used; it's now #ifdef INCLUDE_UNUSED
-
-lib/malloc/mstats.h
-       - new member in _malstats: u_bits32_t bytesreq, the total number of
-         bytes requested by the caller via calls to malloc() and realloc()
-
-lib/malloc/stats.c
-       - print bytesreq member in _print_malloc_stats
-       - don't print statistics for buckets for which nmal == 0 (no mallocs)
-
-lib/malloc/malloc.c
-       - modified internal_malloc, internal_realloc to keep running total of
-         number of bytes requested by calling application
-
-shell.c
-       - sh_exit is now compiled in; exit_shell calls sh_exit
-
-error.c
-       - changed fatal_error, report_error, parser_error to call sh_exit
-
-                                  3/28
-                                  ----
-subst.[ch]
-       - changed Q_NOQUOTE to Q_PATQUOTE; it makes the intent more clear
-
-subst.c
-       - moved code from parameter_brace_expand into a new function that
-         dispatches for pattern substitution: parameter_brace_remove_pattern
-       - changed structure of parameter_brace_remove_pattern to be like
-         parameter_brace_patsub and its ilk:  call get_var_and_type to
-         isolate the variable name, move the pattern isolation code out of
-         the various *_remove_pattern functions into
-         parameter_brace_remove_pattern and pass the results to the various
-         functions, use a switch on the return value from get_var_and_type
-         to decide which function to call, regularized the arguments to the
-         separate pattern removal functions
-       - parameter_brace_remove_pattern now properly quotes escape chars in
-         the returned value
-       - changed get_var_and_type to call dequote_escapes on the `value'
-         parameter for case VT_VARIABLE and return the result in *valp,
-         so the calling functions don't have to do it themselves; changed
-         callers appropriately
-       - fixed getpattern() where it broke posix compliance:  if you enclose
-         a pattern removal spec in double quotes, the outer double quotes
-         have no effect on the pattern (POSIX.1-200x 2.6.2).  This uncovered
-         a bug in the test suite (!)
-
-pathexp.c
-       - fixed a problem with quote_string_for_globbing where it would change
-         consecutive CTLESC chars all to \ instead of changing every other
-         quoted char
-
-                                  3/31
-                                  ----
-lib/malloc/{malloc,stats}.c
-       - moved declaration of _mstats to malloc.c so stats.o doesn't get
-         linked into the shell if the stats functions aren't called
-
-                                   4/2
-                                   ---
-lib/glob/smatch.c
-       - introduce `XCHAR' define, which is the type of arguments passed to
-         strcoll/strcmp/strlen and their wide-character equivalents, added
-         appropriate casts
-       - static arrays in single-byte version of rangecmp() are `char', not
-         `unsigned char', so compilers don't complain about calls to strcoll
-
-lib/glob/sm_loop.c
-       - casts for `XCHAR' and `XCHAR *' arguments to libc functions
-       - use prototype declaration for BRACKMATCH if `PROTOTYPES' is defined
-         to avoid problems with type promotion (unsigned char -> int)
-
-lib/glob/collsyms.h
-       - `name' member of struct _COLLSYM is now of type `XCHAR *', since
-         some compilers don't like `unsigned char *' initializers from
-         constant strings
-
-[bash-2.05b-alpha1 released]
-
-                                   4/3
-                                   ---
-builtins/{evalstring.c,common.h}
-       - new flag for parse_and_execute, SEVAL_NOFREE, means to not free
-         the argument string when finished
-
-lib/readline/text.c
-       - fixed a trivial typo in _rl_insert_char when reading multibyte
-         char sequences
-       - replace calls to ding() with rl_ding()
-
-include/chartypes.h
-       - remove SIGN_EXTEND_CHAR and TOASCII macros; they're unused
-
-make_cmd.c
-       - include dispose_cmd.h for extern function declarations
-
-lib/glob/glob.c
-       - include `shmbutil.h' and `xmalloc.h' for extern function declarations
-
-lib/glob/smatch.c
-       - include `xmalloc.h' for extern function declarations
-
-shell.c
-       - fix maybe_make_restricted to use its argument instead of global
-         `shell_name'
-
-version.c
-       - update copyright message to include this year
-
-lib/readline/display.c
-       - fixes from Jiro SEKIBA <jir@yamato.ibm.com> to fix autowrapping
-         when using multibyte characters
-
-lib/glob/sm_loop.c
-       - fixed a problem in BRACKMATCH where not enough memory was allocated
-         to hold a multibyte character when parsing POSIX.2 char class names
-
-support/config.{guess,sub}
-       - updated via patch from Paul Eggert with latest GNU additions
-
-variables.c
-       - var_lookup should use its `vcontext' argument instead of
-         unconditionally using `shell_variables'
-
-                                   4/4
-                                   ---
-builtins/bind.def,doc/{bash.1,bashref.texi}
-       - changed the usage summary and help text to make it clear that any
-         readline command that may appear in ~/.inputrc may be supplied as
-         one of the non-option arguments to `bind'
-
-builtins/mkbuiltins.c
-       - added support for `-H' option, which means to write long documentation
-         for each builtin to a separate file in the `helpfiles' directory
-
-builtins/Makefile.in
-       - new target `helpdoc', just creates long doc files in helpfiles
-         directory
-
-lib/sh/zcatfd.c
-       - new file, with zcatfd(int fd, int ofd, char *fn); dumps data from
-         FD to OFD
-
-Makefile.in,lib/sh/Makefile.in
-       - added zcatfd.c, zcatfd.o member of libsh.a
-
-builtins/evalstring.c
-       - changed cat_file to call zcatfd(fd, 1, fn)
-
-builtins/{shopt,colon}.def
-       - removed the $DOCNAME directive for `shopt', `true', and `false';
-         just use the names
-       - changed $DOCNAME for `:' to just be `colon' instead of
-         `colon_builtin'
-
-builtins/reserved.def
-       - added help entries for ((, [[, `for (('
-
-builtins/let.def
-       - add id++, id--, ++id, --id, ** to help text
-
-                                   4/8
-                                   ---
-builtins/bashgetopt.[ch]
-       - changed to allow options beginning with `+', enabled by a leading
-         `+' in the option string
-       - new variable, list_opttype, set to `-' or `+'
-
-builtins/{common.c,{builtin,eval,exit,fg_bg,let,printf,pushd,return,source,wait}.def
-       - changes to allow a `--' option for every builtin that accepts
-         operands but not options, as per posix.1-2001
-
-builtins/{declare,setattr}.def
-       - use internal_getopt for parsing options, now that it supports `+'
-
-builtins/set.def
-       - use internal_getopt for initial option parse, now that it supports
-         a leading `+'
-
-
-{configure,Makefile}.in, builtins/{Makefile.in,help.def,mkbuiltins.c}
-       - support for a new configure option, ``--enable-separate-helpfiles'',
-         moves the `long' help text to separate help files, installed by
-         default into ${datadir}/bash, one file per builtin.  Off by
-         default -- it saves 47K, but it's only 47K, and it's in the text
-         segment
-
-flags.c
-       - build internal_getopt() option string argument from flags array at
-         runtime in shell.c
-
-shell.c
-       - new variable to control writing malloc stats at exit:
-         malloc_trace_at_exit, 0 by default
-
-lib/malloc/malloc.c
-       - heavily updated:
-               o partial page allocated on first call to malloc to make
-                 subsequent sbrks page-aligned no longer wasted
-               o begin and end range guards are now the same value: the chunk
-                 requested
-               o coalescing code was changed to attempt to coalesce first two
-                 adjacent blocks on the free list; enabled by default
-               o blocks of size 32 are now candidates for larger block
-                 splitting, since 32 is the most popular size
-               o blocks of size 32 are now candidates for smaller block
-                 coalescing
-               o the IN_BUCKET check was changed to just make sure that the
-                 size isn't too big for the bucket, since the `busy block'
-                 checking code may increase the bucket by one or more,
-                 meaning that the old check would fail and cause a panic when
-                 a chunk allocated in such a way was freed
-               o bin sizes are now precomputed and looked up in an array
-                 rather than being computed at runtime
-               o moved the _mstats declaration here to avoid the stats code
-                 being linked in even when no stats functions were called
-                 (only matters if MALLOC_DEBUG is defined)
-               o malloc now keeps track of the address of the top of the heap
-                 and will return large chunks to the system with calls to
-                 sbrk with a negative argument when freeing the top chunk.
-                 Two thresholds:  LESSCORE_FRC means to unconditionally return
-                 memory to the system; LESSCORE_MIN means to return memory if
-                 there's at least one block already on the free list
-
-lib/malloc/mstats.h
-       - stats struct now keeps track of number of block coalesces by bin,
-         and the number of times memory was returned to the system by bin
-
-lib/malloc/stats.c
-       - trace_malloc_stats now takes a second argument: the name of the file
-         to write to.  The first `%p' in the template file name is replaced
-         by the pid
-
-                                   4/9
-                                   ---
-lib/malloc/imalloc.h
-       - added some macros derived from dlmalloc and glibc malloc to inline
-         memcpy and memset if the requested size is <= 32 bytes
-
-lib/malloc/malloc.c
-       - use MALLOC_MEMSET instead of memset in internal_{malloc,free}
-
-include/ocache.h
-       - use OC_MEMSET (variant of MALLOC_MEMSET) in ocache_free
-
-configure.in, config.h.in
-       - check for getservent(), define HAVE_GETSERVENT if found
-
-bashline.c
-       - punt immediately from bash_servicename_completion_function if
-         HAVE_GETSERVENT is not defined (cygwin seems to not define it)
-       - include "input.h" for extern save_token_state() and
-         restore_token_state() declarations
-       - change bash_execute_unix_command to call parse_and_execute with
-         SEVAL_NOHIST flag so the command doesn't get saved on the history
-         list
-       - change bash_execute_unix_command to save and restore the current
-         command line count and the token state (last_read_token, etc.).
-         Everything else is saved by either parse_and_execute directly or
-         the call it makes to push_stream().  The shell_input_line stuff
-         doesn't need to be saved and restored; it's not computed until
-         readline() returns
-
-                                  4/10
-                                  ----
-lib/glob/glob.[ch]
-       - glob_filename and glob_vector now take an additional `flags' arg
-       - define GX_MARKDIRS as possible flag value for glob_filename and
-         glob_vector
-
-lib/sh/snprintf.c
-       - fixed some bugs with handling of `g' and `G' formats
-       - make sure numtoa returns the fractional part correctly when passed 0
-       - implemented thousands grouping for `'' flag character
-
-lib/sh/rename.c
-       - a few changes to make it more bulletproof
-
-                                  4/11
-                                  ----
-lib/glob/glob.c
-       - added the couple of dozen lines of code to glob_dir_to_array to
-         finish implementing GX_MARKDIRS
-
-builtins/set.def
-       - changed unset builtin so that it no longer considers unsetting an
-         unset variable or function to be an error
-
-lib/readline/display.c
-       - fix to rl_redisplay for a problem which caused display to be messed
-         up when the last line of a multi-line prompt (possibly containing
-         invisible characters) was longer than the screen width
-
-                                  4/15
-                                  ----
-aclocal.m4
-       - use AC_DEFINE_UNQUOTED in BASH_SYS_DEFAULT_MAIL_DIR instead of
-         enumerating all of the possible values and using AC_DEFINE
-
-                                  4/16
-                                  ----
-Makefile.in, {builtins,support}/Makefile.in
-       - new variables, CFLAGS_FOR_BUILD and CPPFLAGS_FOR_BUILD, substituted
-         by `configure'
-       - changed CCFLAGS_FOR_BUILD to BASE_CCFLAGS, removing $(CPPFLAGS);
-         CCFLAGS and CCFLAGS_FOR_BUILD now include $(BASE_CCFLAGS) with
-         (possibly) different values for CPPFLAGS and CFLAGS 
-       - GCC_LINT_CFLAGS now includes $(BASE_CCFLAGS) and $(CPPFLAGS)
-         instead of CCFLAGS_FOR_BUILD
-       - new variable, LDFLAGS_FOR_BUILD, right now equivalent to LDFLAGS
-       - remove $(CPPFLAGS) from recipes for buildversion, mksignames, and
-         mksyntax
-
-configure.in
-       - compute and substitute CFLAGS_FOR_BUILD, CPPFLAGS_FOR_BUILD, and
-         LDFLAGS_FOR_BUILD
-       - changed qnx to use LOCAL_LDFLAGS and LOCAL_LIBS instead of putting
-         everything in LOCAL_LDFLAGS
-
-builtins/Makefile.in
-       - remove $(PROFILE_FLAGS) from recipe for building `mkbuiltins'
-       - use LDFLAGS_FOR_BUILD instead of LDFLAGS in recipe for building
-         `mkbuiltins'
-
-Makefile.in
-       - use $(CC_FOR_BUILD) and $(CCFLAGS_FOR_BUILD) to build auxiliary
-         test programs (printenv, recho, zecho)
-
-support/Makefile.in
-       - use CC_FOR_BUILD and CCFLAGS_FOR_BUILD in recipe for building
-         `man2html'
-
-lib/tilde/Makefile.in
-       - substitute PROFILE_FLAGS, use PROFILE_FLAGS in $(CCFLAGS)
-
-                                  4/25
-                                  ----
-Makefile.in, configure.in
-       - moved RELSTATUS to configure.in; configure substitutes it into
-         the generated Makefile
-
-lib/sh/snprintf.c
-       - fix wchars() to deal with systems where MB_CUR_MAX is not a
-         constant expression
-
-                                   5/2
-                                   ---
-lib/sh/shquote.c
-       - add `,' to list of chars that are backslash-quoted.  It doesn't
-         hurt normal usage and prevents filenames with commas from being
-         inappropriately split by brace expansion after using
-         complete-into-braces
-
-                                   5/6
-                                   ---
-lib/sh/xstrchr.c
-       - we only need the check of MB_CUR_MAX and the slow code for a
-         few encodings, and even then only for a subset of the charset
-
-arrayfunc.c
-       - some speedups for skipsubscript and multibyte chars from Bruno Haible
-
-locale.c
-       - changed set_lang to call setlocale(LC_ALL, ...) if LC_ALL doesn't
-         already have a value, but doesn't change any shell variables
-
-include/shmbutil.h
-       - major speedups from Bruno Haible, mostly concerned with reducing
-         the number of strlen(3) calls
-
-subst.c
-       - change callers of macros in shmbutil.h to add extra argument as
-         necessary
-       - skip_single_quoted and skip_double_quoted take another argument:
-         the length of the string; mostly useful when using multibyte chars
-       - many speedups from precomputing string lengths at function start
-       - fixed a small bug in de_backslash in the midst of rewriting for
-         better efficiency
-
-{braces,make_cmd,pathexp}.c
-       - change callers of macros in shmbutil.h to add extra argument as
-         necessary
-
-pathexp.c
-       - fix a one-too-far problem with multibyte chars in
-         unquoted_glob_pattern_p
-
-braces.c
-       - brace_gobbler takes a new argument, the length of the passed string
-       - expand_amble takes a new argument, the length of the passed string
-
-                                   5/7
-                                   ---
-subst.c
-       - modified remove_quoted_nulls to eliminate the memory allocation and
-         do the copy in place using the same strategy as de_backslash
-
-lib/readline/{rldefs.h,complete.c}
-       - new define RL_QF_OTHER_QUOTE, so _rl_find_completion_word can note
-         that it found a quoting character other than \'" that appears in
-         rl_completer_quote_characters
-
-                                   5/9
-                                   ---
-jobs.c
-       - save and restore old value of jobs_list_frozen when calling trap
-         handlers from set_job_status_and_cleanup to avoid seg faults when
-         running recursive trap handlers
-
-                                  5/10
-                                  ----
-builtins/common.h
-       - new #defines to use for value of changed_dollar_vars (provides
-         information about the caller who wants to blow away the old dollar
-         variables)
-
-builtins/common.c
-       - changed set_dollar_vars_changed to set changed_dollar_vars to one
-         of the ARGS_* values depending on the caller and environment
-
-builtins/source.def
-       - source restores the positional parameters unless the `set' builtin
-         was called to specify a new set while not executing a shell function
-
-                                  5/13
-                                  ----
-POSIX
-       - new file, was in CWRU/POSIX.NOTES
-
-doc/{Makefile.in,Makefile}
-       - changed `posix' rule to modify ../POSIX
-
-doc/mkposix
-       - write to `POSIX' by default
-
-lib/sh/strtrans.c
-       - when ansicstr is parsing a format string for `echo -e' (or the
-         equivalent xpg_echo option is enabled), obey the POSIX-2001/SUSv3
-         standard and accept 0-3 octal digits after a leading `0'
-
-doc/{bash.1,bashref.texi}
-       - updated `echo' description to note that up to three octal digits
-         are now accepted following `\0'
-
-                                  5/16
-                                  ----
-doc/Makefile.in
-       - remove the generated documentation on `make distclean' if the
-         build directory and source directory are not the same
-
-Makefile.in
-       - descend into `support' subdirectory on a `make clean' and
-         `make distclean'
-       - remove parser-built, y.tab[ch] on a `make distclean' if the build
-         directory and source directory are not the same
-
-support/Makefile.in
-       - support various `clean' targets and remove man2html.o and man2html
-
-{configure,Makefile}.in
-       - move values for DEBUG and MALLOC_DEBUG into configure.in; on by
-         default for development versions; off by default for releases
-         (off for profiling, too)
-
-                                  5/21
-                                  ----
-parse.y
-       - modified the grammar to allow a simple_list followed by yacc_EOF
-         to terminate a command.  This fixes problems with things like
-         a backslash-newline at the end of an `eval'd string
-       - change handle_eof_input_unit() to reset the token state before
-         calling prompt_again(), in case the prompt to be evaluated contains
-         a command substitution
-
-                                  5/23
-                                  ----
-lib/readline/vi_mode.c
-       - fix `r' command (rl_vi_change_char) when HANDLE_MULTIBYTE is defined
-         but MB_CUR_MAX == 1
-
-                                  5/24
-                                  ----
-lib/malloc/watch.c
-       - don't try to print `file' argument to _watch_warn if it's null
-
-lib/malloc/malloc.c
-       - changed guard checking code in internal_{malloc,free,realloc} to
-         access memory as (char *) and copy into a union instead of
-         casting and dereferencing a pointer to u_bits32_t, since that
-         results in unaligned accesses which will cause Sparcs to upchuck
-
-                                  5/30
-                                  ----
-[bash-2.05b-beta1 released]
-
-lib/readline/text.c
-       - fixed a problem with rl_transpose_chars on systems supporting
-         multibyte characters with a locale that doesn't have any multibyte
-         chars
-
-                                   6/4
-                                   ---
-expr.c
-       - fix a/=0 and a%=0 to throw evaluation errors rather than core dumps
-
-lib/readline/display.c
-       - fix core dump when line wrapping a multibyte character (line
-         accidentally dropped from the original patch)
-
-lib/readline/mbutil.c
-       - fix reversed return value from _rl_is_mbchar_matched; fixes problem
-         with backward-char-search
-
-                                  6/10
-                                  ----
-lib/sh/getenv.c
-       - fix getenv to not free value returned by find_tempenv_variable
-       - add setenv, putenv, unsetenv for completeness
-
-                                  6/12
-                                  ----
-shell.c
-       - change init_noninteractive to init expand_aliases to the value of
-         posixly_correct
-       - don't initialize expand_aliases to posixly_correct anywhere else.
-         This allows the -O expand_aliases invocation option to work correctly
-
-general.c
-       - fix move_to_high_fd to not try the dup2 unless the fd loop results
-         in an fd > 3; just return the passed file descriptor otherwise
-       - use HIGH_FD_MAX, defined in general.h, instead of hard-coded 256
-         as highest file descriptor to try
-
-subst.c
-       - in process_substitute, call move_to_high_fd with `maxfd' parameter
-         of -1 instead of 64, so move_to_high_fd will use its maximum
-
-                                  6/21
-                                  ----
-lib/malloc/malloc.c
-       - don't bother calling MALLOC_MEMSET if the requested size is 0
-
-builtins/setattr.def
-       - note in short doc that export and readonly can take assignment
-         statements as arguments
-
-error.c
-       - new function, error_prolog(), to capture common error message
-         prefix code (except for parser errors)
-
-                                  6/25
-                                  ----
-aclocal.m4
-       - add tests for standard-conforming declarations for putenv and
-         unsetenv in system header files
-
-{configure,config.h}.in
-       - call BASH_FUNC_STD_PUTENV and BASH_FUNC_STD_UNSETENV, define
-         HAVE_STD_GETENV and HAVE_STD_UNSETENV, respectively, if they
-         succeed
-
-lib/sh/getenv.c
-       - change putenv and unsetenv to take differing prototypes in
-         stdlib.h into account
-
-                                  6/27
-                                  ----
-[bash-2.05b-beta2 released]
-
-                                  6/28
-                                  ----
-builtins/common.c
-       - fix get_job_spec so that %N works when N is the size of the jobs
-         list (%8 means job 8, but the 7th member of the jobs array, so
-         it's OK if N == job_slots because the function returns N-1)
-
-                                   7/1
-                                   ---
-shell.c
-       - turn off line editing if $EMACS is set to `t'
-
-                                  7/10
-                                  ----
-builtins/set.def
-       - remove mention of `-i' from long help doc, since it has no effect
-
-                                  7/17
-                                  ----
-[bash-2.05b released]
-
-                                  7/18
-                                  ----
-
-lib/malloc/malloc.c
-       - make sure that the `free_return' label has a non-empty statement
-         to branch to
-
-                                  7/19
-                                  ----
-locale.c
-       -  only call setlocale() from set_lang() if HAVE_SETLOCALE is defined;
-          otherwise just return 0
-
-lib/readline/mbutil.c
-       - only try to memset `ps' in _rl_get_char_len if it's non-NULL.  Ditto
-         for _rl_adjust_point
-
-                                  7/23
-                                  ----
-execute_cmd.c
-       - fix for executing_line_number() when compiling without conditional
-         commands, dparen arithmetic or the arithmetic for command
-
-                                  
-                                  7/24
-                                  ----
-support/Makefile.in
-       - fix maintainer-clean, distclean, mostlyclean targets
-
-builtins/common.c
-       - fix bug in sh_nojobs where it doesn't pass the right number of args
-         to builtin_error
-
-bashline.c
-       - when using command completion and trying to avoid appending a slash
-         if there's a directory with the same name in the current directory,
-         use absolute_pathname() instead of just checking whether the first
-         char of the match is a slash to catch things like ./ and ../
-
-examples/complete/bashcc-1.0.1.tar.gz
-       - a package of completions for Clear Case, from Richard S. Smith
-         (http://www.rssnet.org/bashcc.html)
-
-input.c
-       - fix check_bash_input to call sync_buffered_stream if the passed fd
-         is 0 and the shell is currently reading input from fd 0 -- all it
-         should cost is maybe an additional read system call, and it fixes
-         the bug where an input redirection to a builtin inside a script
-         which is being read from stdin causes the already-read-and-buffered
-         part of the script to be thrown away, e.g.:
-
-               bash < x1
-
-         where x1 is
-
-               hostname
-               read Input < t.in
-               echo $Input
-               echo xxx
-
-execute_cmd.c
-       - in initialize_subshell(), call unset_bash_input (0) to not mess with
-         fd 0 if that's where bash thinks it's reading input from.  Fixes
-         bug reported by jg@cs.tu-berlin.de on 17 July 2002.  Should be a way
-         to check whether or not the current fd 0 at the time of the call has
-         not been redirected, like in the bug report.  Also might eventually
-         want to throw in a sync_buffered_stream if bash is reading input
-         from fd 0 in a non-interactive shell into a buffered stream, so the
-         stream is sync'd -- might be necessary for some uses
-
-                                  7/25
-                                  ----
-lib/readline/signals.c
-       - make sure rl_catch_sigwinch is declared even if SIGWINCH is not
-         defined, so the readline state saving and restoring functions in
-         readline.c are always the same size even if SIGWINCH is not defined,
-         and undefined references don't occur when SIGWINCH is not defined
-
-                                  7/30
-                                  ----
-bashline.c
-       - augment patch from 7/24 to not disable rl_filename_completion_desired
-         if the first char of the match is `~'
-
-lib/readline/bind.c
-       - when creating `shadow' keymaps `bound' to ANYOTHERKEY, don't bind
-         a key whose type is ISFUNC but whose function is the `fake'
-         rl_do_lowercase_version (fixes debian bash bug #154123)
-
-lib/readline/readline.c
-       - don't call _rl_vi_set_last from _rl_dispatch_subseq if
-         key == ANYOTHERKEY (when truncated to `sizeof(char)', it will be 0,
-         which strchr will find in `vi_textmod')
-
-                                  7/31
-                                  ----
-lib/readline/input.c
-       - fix rl_gather_tyi to only slurp up one line of available input, even
-         if more than one line is available (fixes debian bash bug #144585)
-
-                                   8/3
-                                   ---
-bashline.c
-       - better fix for command completion problem -- test for directory
-         explicitly with test_for_directory before turning off
-         rl_filename_completion_desired, since that's the case we're trying
-         to protect against
-
-                                   8/5
-                                   ---
-include/shmbutil.h
-       - fix ADVANCE_CHAR macro to advance the string pointer if mbrlen
-         returns 0, indicating that the null wide character (wide string
-         terminator) was found (debian bash bug #155436)
-
-lib/readline/mbutil.c
-       - fix _rl_adjust_point to increment the string pointer if mbrlen
-         returns 0
-
-support/shobj-conf
-       - fix for the `-install_name' value in SHLIB_XLDFLAGS assignment for
-         Darwin from the fink folks
-
-                                   8/6
-                                   ---
-builtins/exit.def
-       - broke code that runs ~/.bash_logout out into a separate function:
-         bash_logout()
-
-builtins/common.h
-       - extern declaration for bash_logout()
-
-eval.c
-       - call bash_logout() from alrm_catcher(), so timed-out login shells
-         run ~/.bash_logout before processing the exit trap
-
-lib/sh/strtrans.c
-       - implemented $'\x{hexdigits}' expansion from ksh93
-
-configure.in
-       - define RECYCLES_PIDS in LOCAL_CFLAGS for cygwin; don't bother to
-         link with -luser32
-
-examples/loadables/strftime.c
-       - new loadable builtin, interface to strftime(3)
-
-                                   8/7
-                                   ---
-parse.y
-       - parse_arith_cmd now takes a second argument, a flag saying whether
-         or not to add double quotes to a parsed arithmetic command; changed
-         callers
-       - changed parse_dparen so it tells parse_arith_cmd to not add the
-         double quotes and therefore doesn't need to remove them
-       - change parse_dparen to add W_NOGLOB|W_NOSPLIT|W_QUOTED flags to word
-         created when parsing (( ... )) arithmetic command, since the double
-         quotes are no longer added
-
-make_cmd.c
-       - in make_arith_for_expr, set the flags on the created word to
-         W_NOGLOB|W_NOSPLIT|W_QUOTED
-
-execute_cmd.c
-       - change execute_arith_command to expand the expression with
-         expand_words_no_vars, like the arithmetic for command code does
-       - fix execute_arith_command to handle the case where the expanded
-         expression results in a NULL word without crashing
-
-tests/{arith-for,cprint}.tests
-       - change expected output to account for no longer adding quotes to
-         ((...)) commands
-
-                                   8/8
-                                   ---
-print_cmd.c
-       - take out the space after printing the `((' and before printing the
-         `))' in print_arith_command, print_arith_for_command, and
-         xtrace_print_arith_cmd
-
-tests/{arith-for,cprint}.tests
-       - change expected output to account for no longer adding leading and
-         trailing spaces when printing ((...)) and arithmetic for commands
-
-                                  8/17
-                                  ----
-subst.c
-       - fix issep() define to handle case where separators[0] == '\0', in
-         which case it always returns false
-
-lib/readline/histexpand.c
-       - fix off-by-one error in history_expand_internal when using the `g'
-         modifier that causes it to skip every other match when matching a
-         single character (reported by gjyun90@resl.auto.inha.ac.kr)
-
-doc/{bash.1,bashref.texi}
-       - make sure that the name=word form of argument to declare/typeset,
-         export, and readonly is documented in the description
-
-                                  8/30
-                                  ----
-lib/readline/histexpand.c
-       - make history_expand_internal understand double quotes, because
-         single quotes are not special inside double quotes, according to
-         our shell-like quoting conventions.  We don't want unmatched
-         single quotes inside double-quoted strings inhibiting history
-         expansion
-       - make `a' modifier equivalent to `g' modifier for compatibility with
-         the BSD csh
-       - add a `G' modifier that performs a given substitution once per word
-         (tokenized as the shell would do it) like the BSD csh `g' modifier
-
-                                  8/31
-                                  ----
-braces.c
-       - when compiling for the shell, treat ${...} like \{...} instead of
-         trying to peek backward when we see a `{'.  This makes it easier
-         to handle things like \${, which should be brace expanded because
-         the $ is quoted
-
-                                   9/7
-                                   ---
-aclocal.m4
-       - redirect stdin from /dev/null in BASH_CHECK_DEV_FD before testing
-         the readability of /dev/fd/0, so we're dealing with a known quantity
-
-                                  9/11
-                                  ----
-[prayers for the victims of 9/11/01]
-
-shell.c
-       - fix maybe_make_restricted to handle a restricted login shell with a
-         base pathname of `-rbash' and skip over any leading `-'
-
-                                  9/13
-                                  ----
-builtins/evalstring.c
-       - in parse_and_execute, make sure we don't try to run unwind-protects
-         back to `pe_dispose' after a longjmp back to top_level if the
-         pe_dispose frame hasn't been initialized
-
-lib/readline/display.c
-       - fix problem with prompt overwriting previous output when the output
-         doesn't contain a newline in a multi-byte locale.  This also should
-         fix the problem of bash slowing down drastically on long lines when
-         using a multi-byte locale, because it no longer tries to rewrite the
-         entire line each time.  Patch from Jiro SEKIBA <jir@yamato.ibm.com>
-
-parse.y
-       - move the typedef for alias_t that is compiled in if ALIAS is not
-         defined up before the prototype for push_string, since that takes
-         an alias_t * parameter
-
-lib/readline/terminal.c
-       - bind the termcap description's left and right arrow keys to
-         rl_backward_char and rl_forward_char, respectively,  instead of
-         rl_forward and rl_backward (which are just there for backwards
-         compatibility)
-
-aclocal.m4
-       - when testing readability of /dev/stdin, redirect stdin from /dev/null
-         to make sure it's a readable file
-
-                                  9/17
-                                  ----
-config-bot.h
-       - don't test __STDC__ when deciding whether or not to use stdarg.h;
-         just use it if it's present
-
-tests/read2.sub
-       - redirect from /dev/tty when using `read -t' 
-
-                                  9/20
-                                  ----
-builtins/history.def
-       - when reading `new' entries from the history file with `history -n',
-         fix increment of history_lines_this_session by taking any change
-         in history_base into account
-
-lib/sh/pathphys.c
-       - changes to sh_physpath to deal with pathnames that end up being
-         longer than PATH_MAX without dumping core
-
-lib/readline/doc/{history.3,hsuser.texinfo},doc/ bash.1
-       - documented new `a' and `G' history modifiers
-
-                                  9/25
-                                  ----
-lib/readline/misc.c
-       - when traversing the history list with arrow keys in vi insertion
-         mode, put the cursor at the end of the line (like in emacs mode)
-
-mksyntax.c
-       - don't try to use \a and \v unless __STDC__ is defined; use the
-         ascii integer equivalents otherwise
-       - include "config.h" in the generated syntax.c file for a possible
-         definition of `const'
-
-doc/{bash.1,bashref.texi}
-       - document the meaning of a null directory in $PATH
-
-                                  9/26
-                                  ----
-parse.y
-       - fix set_line_mbstate to handle case where mbrlen() returns 0,
-         indicating the null wide character
-       - fix set_line_mbstate so we don't directly compare a char variable
-         to EOF, since char can (and is) unsigned on some machines
-
-bashline.c
-       - change bash_execute_unix_command to save a little bit more state:
-         last_shell_builtin, this_shell_builtin, last_command_exit_value
-
-                                  9/27
-                                  ----
-execute_cmd.c
-       - tentative change to execute_simple_command to avoid freeing freed
-         memory in the case where bash forks early but still ends up calling
-         execute_disk_command, without passing newly-allocated memory to
-         make_child.  This may fix the core dumps with the linux-from-scratch
-         folks
-
-                                  9/28
-                                  ----
-Makefile.in,{builtins,lib/sh}/Makefile.in      
-       - fix up dependencies, mostly on ${BUILD_DIR}/version.h, so that
-         parallel makes work with GNU and BSD makes
-
-shell.h
-       - new struct to save partial parsing state when doing things like
-         bash_execute_unix_command and other operations that execute
-         commands while a line is being entered and parsed
-
-parse.y
-       - new functions, save_parser_state() and restore_parser_state(), to
-         save and restore partial parsing state 
-
-bashline.c
-       - change bash_execute_unix_command to call {save,restore}_parser_state
-
-builtins/jobs.def
-       - change execute_list_with_replacements to eliminate a run_unwind_frame
-         in favor of calling the cleanup explicitly and discarding the frame
-
-execute_cmd.c
-       - change execute_for_command to avoid a run_unwind_frame in the case
-         where the loop variable is readonly or otherwise not assignable
-       - change execute_select_command and execute_simple_command to use
-         discard_unwind_frame by running the cleanup code explicitly, instead
-         of using run_unwind_frame
-       - make sure execute_select_command decreases loop_level even on error
-
-                                  9/30
-                                  ----
-doc/{bash.1,bashref.texi}
-       - fixed description of `unset' now that unsetting a previously-unset
-         variable is no longer an error
-
-                                  10/3
-                                  ----
-{configure,config.h}.in
-       - augment check for strtold with additional check to detect the
-         horribly broken hp/ux 11.x implementation that returns `long_double';
-         defines STRTOLD_BROKEN if so
-
-builtins/printf.def
-       - define floatmax_t as `double' if STRTOLD_BROKEN is defined
-
-                                  10/5
-                                  ----
-lib/readline/keymaps.c
-       - don't automatically bind uppercase keys to rl_do_lowercase_version
-         in rl_make_bare_keymap
-
-lib/readline/readline.c
-       - explicitly check for ANYOTHERKEY binding to rl_do_lowercase_version
-         and dispatch to lowercase of key when a prefix is not matched
-
-                                  10/12
-                                  -----
-bashline.c
-       - set COMP_WORDBREAKS in enable_hostname_completion to the value
-         of rl_completer_word_break_characters
-
-variables.c
-       - new special variable COMP_WORDBREAKS, controls the value of
-         rl_completer_word_break_characters
-
-variables.h
-       - new extern declaration for sv_comp_wordbreaks()
-
-subst.c
-       - change split_at_delims to behave more like shell word splitting if
-         the passed value for the delimiters is NULL, indicating that the
-         function is to use $IFS to split
-
-{execute_cmd,jobs,test,findcmd,input,make_cmd,redir,shell}.c
-builtins/mkbuiltins.c,builtins/{fc,history,source,umask}.def
-lib/sh/netconn.c
-lib/termcap/termcap.c
-lib/readline/histfile.c
-       - make sure all inclusions of <sys/file.h> are protected by
-         HAVE_SYS_FILE_H
-
-bashline.c
-       - don't turn off rl_filename_completion_desired in
-         attempt_shell_completion if the partial pathname contains a slash.
-         This still doesn't solve the problem of partial pathname completion
-         starting with a directory in the current directory without a
-         leading `./'.  There's no way to tell the difference between that
-         and a file found in $PATH (which may contain `.') at the point that
-         attempt_shell_completion acts
-
-                                  10/18
-                                  -----
-locale.c
-       - don't set lc_all to the default locale when LC_ALL is being unset
-       - new function, reset_locale_vars(), called to recompute the correct
-         locale variable values when LC_ALL is unset
-       - changed set_lang to not set LC_ALL, which it never should have been
-         doing in the first place, and to maintain a local variable `lang'
-         corresponding to $LANG
-       - change get_locale_var to use the precedence posix.2 specifies:
-         LC_ALL overrides individual variables; LANG, if set, is the default
-       - change set_locale_var to call get_locale_var to get the appropriate
-         value for the variable being set or unset
-       - call get_locale_var instead of using passed value in set_locale_var
-         to get the defaulting and precedence right
-
-lib/readline/nls.c
-       - new function, _rl_get_locale_var(), which does the same thing as
-         locale.c:get_locale_var(), with the right precedence and defaulting,
-         using sh_get_env_value to get the right bash variable values
-       - if HAVE_SETLOCALE is defined, _rl_init_eightbit first calls
-         _rl_get_locale_var to get the right value for LC_CTYPE, and uses
-         that in the call to setlocale.  If _rl_get_locale_var returns NULL,
-         call setlocale() to get the current international environment, and,
-         finally, if that returns null, call setlocale with a second argument
-         of "" to force the implementation's `native' environment
-
-pcomplete.c
-       - change gen_wordlist_completions to dequote the text before comparing
-         it against the expanded word list 
-       - changed gen_matches_from_itemlist to do the same thing
-
-bashline.c
-       - new global function, bash_dequote_word, calls bash_dequote_filename
-         on the text passed.  Used by the programmable completion code
-
-lib/readline/histfile.c
-       - make sure that whenever read_history_range returns a non-zero value
-         that it sets errno to some useful value
-
-                                  10/19
-                                  -----
-variables.c
-       - COMP_WORDBREAKS is now a dynamic variable, mirroring value of
-         rl_completer_word_break_characters.  Makes sure that the variable
-         always points to dynamic memory if it's not null or the readline
-         default
-
-bashline.c
-       - change enable_hostname_completion to manage a dynamic value of
-         rl_completer_word_break_characters, since assignments to
-         COMP_WORDBREAKS can change its value unpredictably
-
-lib/readline/{complete.c,readline.h}
-       - rl_completer_word_break_characters no longer has `const' attribute
-
-bashline.c
-       - clean up necessary places due to rl_completer_word_break_characters
-         no longer being `const'
-
-doc/{bash.1,bashref.texi}
-       - document new COMP_WORDBREAKS variable
-
-                                  10/21
-                                  -----
-print_cmd.c
-       - fix indirection_level_string to handle the case where the decoded
-         $PS4 is null without seg faulting
-
-                                  10/22
-                                  -----
-builtins/shift.def
-       - make sure that there is actually an argument when reporting a shift
-         count that exceeds the number of positional paramters and
-         shift_verbose is enabled
-
-lib/readline/rltty.c
-       - change SET_SPECIAL to call a new function, set_special_char, since
-         it contains a block.  It's called infrequently, so the performance
-         impact of making it a function should be negligible, and it helps
-         debugging
-
-                                  10/29
-                                  -----
-bashline.c
-       - make sure the editor in VI_EDIT_COMMAND and EMACS_EDIT_COMMAND is
-         quoted; it might contain spaces (e.g., `emacs -nw')
-
-aclocal.m4
-       - cache ac_cv_rl_version in RL_LIB_READLINE_VERSION macro
-
-configure.in
-       - change logic that sets RL_INCLUDEDIR so that it doesn't try to set
-         a bogus include path if the argument to --with-installed-readline
-         is `yes' -- helps with cross-compiling
-
-lib/readline/histexpand.c
-       - fix history_tokenize_word so that it handles <( and >( better
-
-                                  10/30
-                                  -----
-redir.c
-       - fix write_here_string so it handles the case where `herestr' expands
-         to NULL without seg faulting
-
-                                  10/31
-                                  -----
-mailcheck.c
-       - reverse logic flip from bash-2.05 that handled systems that don't
-         change the atime when the mailbox is accessed; make sure the file
-         is bigger before we report new mail.  This is the case in the vast
-         majority of cases.  Reported by jim@jtan.com
-
-                                  11/5
-                                  ----
-parse.y
-       - change action for `for x; { list; }' and corresponding `select'
-         production to use \"$@\" instead of just $@, as it is with all the
-         other actions
-
-                                  11/9
-                                  ----
-parse.y
-       - new flag for parse_matched_pair: P_DQUOTE, indicating that the
-         pair of characters being matched is between double quotes
-       - parse_matched_pair now passes P_DQUOTE down to recursive calls:
-         if the open char to be matched is a `"' or the passed-in flags
-         include P_DQUOTE, set the local `rflags' variable to P_DQUOTE and
-         pass `rflags' down to recursive calls
-       - if `rflags' includes P_DQUOTE, don't try to ansiexpand $'...' or
-         locale expand $"..."; consistent with other quoting constructs
-
-                                  11/11
-                                  -----
-doc/{bash.1,bashref.texi}
-       - explicitly note that variables referenced in arithmetic expressions
-         without using `$' evaluate to 0 if they are null or unset
-       - note that a null variable value evaluates to 0 when used in an
-         arithmetic context, like when a variable with the `-i' attribute is
-         assigned a null value
-       - document the ${!prefix@} expansion as equivalent to ${!prefix*}
-
-                                  11/12
-                                  -----
-doc/{bash.1,bashref.texi}
-       - note that the value of an arithmetic expression is as in C
-       - change the wording to note that `arithmetic evaluation' (not
-         arithmetic expansion, which has a different meaning) is performed
-         on the value assigned to a variable whose integer attribute is set
-
-                                  11/13
-                                  -----
-execute_cmd.c
-       - fix execute_disk_command so it calls exit() after printing the error
-         message in a restricted shell context if the shell has already forked
-         (nofork != 0 && there are no pipes)
-
-                                  11/19
-                                  -----
-builtins/type.def
-       - don't report on aliases unless expand_aliases is set and the parser
-         is performing alias expansion; changed tests/type.tests and
-         tests/type.right accordingly
-
-                                  11/25
-                                  -----
-general.c
-       - fix for full pathnames including drive letters on cygwin from
-         Corinna (convert to posix-style paths, which the rest of the
-         code handles much better)
-
-lib/readline/text.c
-       - fixes to overwrite mode from jimmy@is-vn.bg:
-               o in _rl_overwrite_char, do the overwrite mode self-insert
-                 as one group, even when overwriting more than 1 char
-               o in _rl_overwrite_char, do the insert before the delete so
-                 that an undo positions the cursor on the character restored,
-                 not to the right of it
-               o in _rl_overwrite_rubout, don't do rl_insert_char(' ') unless
-                 rl_point < rl_end.  Since overwrite-mode self-insert acts as
-                 in insert-mode when at eol, make rubout behave like
-                 insert-mode rubout
-
-                                  11/30
-                                  -----
-lib/readline/misc.c
-       - call rl_replace_line with `1' as second parameter if we're going to
-         immediately overwrite the undo list
-
-lib/readline/search.c
-       - in make_history_line_current, use _rl_replace_text to make the line
-         replacement an undoable operation.  Affects all non-incremental
-         search functions.
-
-parse.y
-       - make behavior introduced on 11/9 dependent on extended_quote
-         variable, controllable by extquote shopt option.  Default setting is
-         on for backwards compatibility
-
-builtins/shopt.def
-       - new `extquote' option to control extended_quote variable
-
-                                  12/3
-                                  ----
-jobs.c
-       - change message printed when attempting to put a background job in
-         the background with `bg' to include the job id and make the
-         statement declarative
-
-                                  12/10
-                                  -----
-bashhist.h
-       - define explicit flag values for history_control
-
-variables.c
-       - change sv_history_control to use new flag values
-       - change sv_history_control to parse $HISTCONTROL as a colon-separated
-         list of values for the history_control variable
-
-bashhist.c
-       - change check_history_control to use new flag values and restructure
-         to remove case statement
-       - new function hc_erasedups(line); removes all entries matching LINE
-         from the history list
-       - call hc_erasedups() from check_add_history after we've determined
-         that we're saving the line
-
-doc/{bash.1,bashref.texi}
-       - documented new options available for $HISTCONTROL and that it can
-         be a colon-separated list of history control options
-
-                                  12/11
-                                  -----
-subst.c
-       - fix pat_subst() to not increment `e' (pointer to the end of the
-         matched portion of the string) until after we're sure we're going
-         around the loop again; fixes problem with empty replacements for
-         a pattern that doesn't match (bug reported by Don Coleman
-         <don@coleman.org>)
-
-                                  12/17
-                                  -----
-lib/readline/display.c
-       - fixes to multibyte redisplay from jir@yamato.ibm.com (Jiro SEKIBA):
-               o speed up calculation of first difference between old and new
-                 lines in the common case
-               o don't try to see if we're in the middle of a multbyte char
-                 in update_line (we'll see how this one works out)
-
-                                  12/18
-                                  -----
-doc/bashref.texi
-       - make it clear that the `command-list' function definition may be
-         terminated by an ampersand before the closing brace
-
-                                  12/28
-                                  -----
-redir.c
-       - set `expanding_redir' flag when expanding words in a redirection
-
-subst.c
-       - new function, exp_jump_to_top_level(), to do any word expansion
-         cleanup before a call to jump_to_top_level from within that file;
-         sets expanding_redir back to 0 before jump_to_top_level
-
-variables.c
-       - in find_variable(), don't call find_variable_internal with a second
-         parameter of 1 if expanding_redir is non-zero
-       - in find_variable_internal(), don't search the temporary env if
-         subshell_environment includes SUBSHELL_FORK (indicating a simple
-         command) and expanding_redir is non-zero
-
-parse.y
-       - increment line_number when we read a \<newline> pair
-
-array.c
-       - added array_unshift_element and array_shift_element (which just call
-         array_shift and array_rshift, respectively), for bash debugger
-         support
-
-                                1/4/2003
-                                --------
-doc/{bash.1,bashref.texi}
-       - note in the section describing the execution environment passed to
-         children that subshells inherit shell functions marked for export
-       - note in the section describing shell functions the possibility
-         that exported functions may result in two entries in the environment
-         with the same name
-
-parse.y
-       - when pushing an alias expansion onto the pushed_string list, append
-         a space to the expanded definition to make the parser's lookahead
-         work without using the `mustpop' hack in shell_getc
-
-                                   1/8
-                                   ---
-shell.c
-       - change calls to exit() with EX_USAGE as a parameter to use
-         EX_BADUSAGE instead, since EX_USAGE is defined as 258 and is
-         technically out of range
-
-                                  1/14
-                                  ----
-aclocal.m4
-       - check for the termcap functions in libc first:  if we don't have
-         to link in another library, let's not do it
-       - change the test for mbstate_t to use AC_TRY_COMPILE instead of
-         AC_TRY_RUN
-
-doc/{bash.1,bashref.texi}
-       - document that bash turns line editing off if environment variable
-         EMACS is set to `t' when it starts up
-
-doc/bash.1
-       - minor change to give the ftp url for the latest version of bash in
-         the bug reports section
-
-lib/readline/histexpand.c
-       - in get_history_event, cast a couple of `const char *' variables to
-         `char *' in function call parameter lists to avoid compiler warnings
-
-                                  1/21
-                                  ----
-builtins/cd.def
-       - change `cd -' so it prints the current working directory after a
-          successful chdir even when the shell is not interactive
-
-                                  1/31
-                                  ----
-lib/readline/doc/rltech.texinfo
-       - clarified exactly what is meant by the term `application-specific
-         completion function', made its use consistent, and documented
-         what variables are changed before such a function is called
-
-lib/readline/input.c
-       - new function, _rl_pushed_input_available(), returns non-zero if
-         there are characters in the input queue managed by rl_get_char
-         and _rl_unget_char
-
-lib/readline/rlprivate.h
-       - new extern declaration for _rl_pushed_input_available
-
-lib/readline/callback.c
-       - change rl_callback_read_char to check _rl_pushed_input_available
-         and loop if there's something there, so characters don't languish
-         until more keyboard input is read
-
-execute_cmd.c
-       - new variable, last_command_exit_signal, non-zero if
-         last_command_exit_value result from wait_for was result of a signal
-
-nojobs.c
-       - keep track of whether or not a given pid was killed by a signal with
-         a new flag in the pid_list array
-       - new function int find_termsig_by_pid(pid_t pid) to get the
-         terminating signal, if any, for a particular pid
-       - new function int get_termsig(WAIT status) returns the terminating
-         signal corresponding to status
-       - set last_command_exit_signal in wait_for and the various wait_for_xx
-         functions
-
-jobs.c
-       - new functions, process_exit_signal and job_exit_signal, return the
-         signal that killed a given process or job, if a signal caused its
-         death
-       - set last_command_exit_signal in wait_for by calling job_exit_signal
-         or process_exit_signal appropriately
-
-subst.c
-       - don't resend SIGINT to ourselves unless last_command_exit_signal is
-         SIGINT and last_command_exit_value == 128 + SIGINT.  This fixes the
-         $(exit 130) bug reported by Paul Jarc
-
-expr.c
-       - new function, expr_bind_variable, calls bind_int_variable and
-         then stupidly_hack_special_variables.  This fixes the
-         `let OPTIND=1' bug
-
-bashline.c
-       - change history_and_alias_expand_line and shell_expand_line to call
-         history_expand_line_internal so calls to pre_process_line are
-         localized
-       - change history_expand_line_internal and cleanup_expansion_error to
-         temporarily turn off hist_verify before calling pre_process_line
-         to avoid the effects described by teirllm@dms.auburn.edu
-
-parse.y
-       - don't unconditionally turn off PST_ALEXPNEXT in push_string.  This
-         fixes the multiple alias expansion bug reported by Paul Jarc.
-
-lib/readline/vi_mode.c
-       - change rl_vi_subst to push `l' instead of ` ' -- it should be
-         equivalent, but this has been reported to fix a problem in multibyte
-         locales
-
-lib/readline/readline.h
-       - new state flag value RL_STATE_TTYCSAVED, indicates that save_tty_chars
-         has been called.  Since it's only used and visible internally, it's
-         undocumented
-
-lib/readline/rltty.h
-       - changed all of the members of _rl_tty_chars struct to `unsigned char'
-
-lib/readline/rltty.c
-       - set the RL_STATE_TTYCSAVED after save_tty_chars is called
-       - new function, rl_tty_unset_default_bindings(), resets bindings for
-         everything rl_tty_set_default_bindings() messes with back to
-         rl_insert, so rl_tty_set_default_bindings can be called again with
-         possible changes
-       - new function that does the bulk of the work for
-         rltty_set_default_bindings:  _rl_bind_tty_special_chars()
-       - change prepare_terminal_settings so that it can track changes to the
-         terminal special chars made by stty(1):  unset the bindings with
-         rl_tty_unset_default_bindings before calling save_tty_chars, and
-         _rl_tty_set_default_bindings after, with the new values from
-         get_tty_settings().  This implements a long-standing request, most
-         recently made by Tim Waugh of Red Hat.
-
-lib/readline/readline.h
-       - extern declaration for rl_tty_unset_default_bindings()
-
-lib/readline/readline.c
-       - new function, reset_default_bindings, calls
-         rl_tty_unset_default_bindings() to reset the terminal special chars
-         back to rl_insert and then read the new ones
-
-lib/readline/doc/rltech.texinfo
-       - documented rl_tty_unset_default_bindings()
-
-                                   2/1
-                                   ---
-[prayers and condolences to the families of the space shuttle crew members]
-
-aclocal.m4
-       - add checks for mbrtowc and mbrlen in BASH_CHECK_MULTIBYTE
-       - new check, BASH_FUNC_CTYPE_NONASCII, checks whether or not the ctype
-         functions handle non-ascii characters correctly
-
-config.h.in
-       - add HAVE_MBRTOWC and HAVE_MBRLEN
-       - add NO_MULTIBYTE_SUPPORT for new configure argument
-       - add CTYPE_NON_ASCII
-
-config-bot.h, lib/readline/rlmbutil.h
-       - make sure that mbrtowc, mbrlen, and wcwidth are all present before
-         turning on HANDLE_MULTIBYTE
-       - turn off multibyte chars if NO_MULTIBYTE_SUPPORT is defined
-
-configure.in
-       - new argument --enable-multibyte (enabled by default), allows
-         multibyte support to be turned off even on systems that support it
-
-lib/readline/chardefs.h
-       - define NON_NEGATIVE as 1 if CTYPE_NON_ASCII is defined
-
-                                   2/3
-                                   ---
-config.h.in
-       - add HAVE_WCTOMB
-
-aclocal.m4
-       - check for wctomb in BASH_CHECK_MULTIBYTE
-
-                                   2/4
-                                   ---
-lib/readline/vi_mode.c
-       - in _rl_vi_change_mbchar_case, make sure the result from wctomb()
-         is NULL-terminated before trying to insert it with rl_insert_text()
-
-                                   2/5
-                                   ---
-lib/readline/display.c
-       - fix to update_line to avoid problems on systems with multibyte
-         characters when moving between history lines when the new line
-         has more glyphs but fewer bytes (twaugh@redhat.com)
-
-lib/readline/vi_mode.c
-       - use wcrtomb() instead of wctomb() in _rl_vi_change_mbchar_case
-
-pcomplete.c
-       - fix init_itemlist_from_varlist to handle the case where the
-         `varlist' is NULL
-
-doc/{bash.1,bashref.texi}
-       - clarified when a simple command may fail without the shell exiting
-         when -e is set
-
-                                  2/13
-                                  ----
-parse.y
-       - when bash is started with --nolineediting, ignore \[ and \] when
-         decoding the prompt string
-
-subst.c
-       - fix remove_quoted_nulls so that a string with a CTLESC appearing
-         after a CTLNUL (which was removed) does not leave characters in
-         the string inappropriately
-
-                                  2/14
-                                  ----
-builtins/common.h
-       - new flag value for parse_and_execute(): SEVAL_RESETLINE, which
-         allows the caller to specify whether or not the internal idea
-         of the line number should be reset to 1
-
-builtins/evalstring.c
-       - parse_and_execute() now tells push_string to reset the line
-         number only if the SEVAL_RESETLINE flag is set by the caller
-
-                                  2/15
-                                  ----
-builtins/evalfile.c
-       - pass SEVAL_RESETLINE from _evalfile() to parse_and_execute()
-
-subst.c
-       - if the shell is currently interactive, pass SEVAL_RESETLINE to
-         parse_and_execute() when doing command substitution
-
-jobs.c
-       - add SEVAL_RESETLINE to parse_and_execute while running SIGCHLD trap
-
-command.h
-       - add `line' members to case_com, for_com, select_com
-       - rearranged order of members in some of the command structs, so
-         `flags' and `line' are first
-       - added a `source_file' member to the function_def struct; keeps
-         track of where the function was defined
-
-doc/Makefile.in
-       - add some new suffix rules:  .dvi.ps
-
-doc/{bash.1,bashref.texi}
-       - added text to the description of the `trap' builtin tightening up
-         the language describing when the ERR trap will be run
-
-error.c
-       - if $BASH_SOURCE (internally-maintained) exists, use BASH_SOURCE[0]
-         in get_name_for_error if the shell is not interactive
-
-array.h
-       - new convenience defines: array_push and array_pop
-
-variables.c
-       - change get_funcname to return this_shell_function->name only if
-         arrays have not been compiled into the shell
-       - change init_funcname_var to initialize FUNCNAME as an array variable
-         if we have arrays
-       - new function: get_self(SHELL_VAR *self), a degenerate `dynamic_value'
-         function for dynamic variables
-       - new function: init_dynamic_array_var(), a generic dynamic array
-         variable initializer to handle the common case
-       - use init_dynamic_array_var() instead of explicit init_dirstack_var()
-       - use init_dynamic_array_var() instead of explicit init_groups_var()
-       - new dynamic array variables:  BASH_ARGC, BASH_ARGV, BASH_SOURCE,
-         BASH_LINENO, initialized with init_dynamic_array_var
-
-shell.c
-       - initialize BASH_LINENO, BASH_SOURCE, FUNCNAME in open_shell_script
-
-{execute_cmd,trap}.c
-       - take out trap_line_number, since parse_and_execute doesn't reset the
-         line number any more when running the trap commands
-
-make_cmd.c
-       - augment make_function_def to get source file name and call
-         bind_function_def to save the entire FUNCTION_DEF
-
-variables.c
-       - new hash table: shell_function_defs, keeps table of shell function
-         definitions including source file and line number info corresponding
-         to shell_functions table
-       - new functions: find_function_def and bind_function_def to manage
-         the shell_function_defs hash table
-       - new function: unbind_function_def to remove a function definition
-         from the shell_function_defs table (right now uncalled)
-
-variables.h
-       - extern declaration for bind_function_def, find_function_def
-       - new extern declaration for unbind_function_def
-
-execute_cmd.c
-       - in function prologue and epilogue, push and pop FUNCNAME,
-         BASH_SOURCE, and BASH_LINENO information
-
-dispose_cmd.c
-       - broke the code that disposes a FUNCTION_DEF out into two new
-         functions: dispose_function_def and dispose_function_def_contents
-
-dispose_cmd.h
-       - new extern declarations for dispose_function_def_contents and 
-         dispose_function_def
-
-copy_cmd.c
-       - move body of copy_function_def (other than allocating a new
-         FUNCTION_DEF) to copy_function_def_contents
-       - make sure to copy the new source_file member of a function_def in
-         copy_function_def_contents
-       - copy_function_def is no longer static, copy_function_def_contents
-         is not either
-
-command.h
-       - new extern declaration for copy_function_def_contents and
-         copy_function_def
-
-parse.y
-       - keep a stack of line numbers where case, select, and for commands
-         start, with a maximum nesting level of 128; increment when reading
-         word after `for', `select' or `case' in read_token_word; decrement
-         in grammar actions after parsing a complete for, arith_for, select,
-         or case command
-       - create for, case, arith_for, and select commands with an extra
-         line number (word_lineno[word_top]) argument
-
-make_cmd.c
-       - make_for_or_select, make_for_command, make_case_command, and
-         make_select_command all take an extra `line_number' argument
-
-make_cmd.h
-       - corresponding changes to extern declarations for those functions
-
-                                  2/16
-                                  ----
-{execute_cmd,shell,variables}.c
-       - follow each call to remember_args with a call to push_args or
-         pop_args to manage the BASH_ARGV and BASH_ARGC arrays.  Only set
-         when the shell is started to run shell script or runs a shell
-         function.  Doesn't handle `set' or `shift' yet, nor `source'.
-
-execute_cmd.c
-       - keep track of the level of subshells with a new variable, manipulated
-         in execute_in_subshell
-       - set currently_executing_command in execute_command_internal(),
-         even if we're running a trap
-       - better line number management when executing simple commands,
-         conditional commands, for commands in execute_command_internal()
-         and the various functions that implement the commands
-         (execute_cond_command, execute_for_command, execute_etc.)
-
-variables.c
-       - new dynamic variable BASH_SUBSHELL, with new get_subshell and
-         assign_subshell functions to manipulate it
-       - new functions push_args (WORD_LIST *list) and pop_args (void) to
-         manage the BASH_ARGC and BASH_ARGV dynamic array variables
-
-variables.h
-       - new extern declarations for push_args and pop_args
-
-builtins/evalfile.c
-       - in _evalfile, do appropriate things to the FUNCNAME, BASH_ARGV,
-         BASH_ARGC, BASH_SOURCE, and BASH_LINENO variables
-
-support/mksignames.c
-       - add another fake signal for `trap'; make NSIG+2 == `RETURN'
-
-trap.c
-       - _run_trap_internal now returns an int:  the exit value of the command
-         run as the result of the trap
-       - run_debug_trap now returns an int: the exit value of the command
-         run as the result of the trap
-       - RETURN is a new special trap
-       - new function: set_return_trap(char *command) interface for the rest
-         of the shell, like set_{debug,error}_trap
-       - new function: run_return_trap()
-       - command substitution and other child processes don't inherit the
-         return trap
-
-trap.h
-       - new extern declaration for set_return_trap() and run_return_trap
-       - new defines for RETURN_TRAP; increment BASH_NSIG
-       - change extern declaration for run_debug_trap() since it now returns
-         an int
-
-shell.c
-       - new invocation long option:  --debugger, turns on debugging and
-         sets internal `debugging_mode' variable
-
-execute_cmd.c
-       - new code to save return trap when executing a shell function, so
-         shell functions don't inherit it
-       - run debug trap before binding the variable and running the action
-         list in a `for' command
-       - run debug trap before binding the selection variable and running
-         the query in a `select' command
-       - run debug trap before running matcher in a `case' command
-
-builtins/set.def
-       - new `set -o functrace' (set -T), causes DEBUG trap to be inherited
-         by shell functions
-       - new `set -o errtrace' (set -E), causes ERR trap to be inherited
-         by shell functions
-
-flags.c
-       - new flags -E and -T, control error_trace_mode and
-         function_trace_mode respectively
-
-flags.h
-       - new extern declarations for error_trace_mode and function_trace_mode
-
-                                  2/17
-                                  ----
-doc/bashref.texi
-       - changed the `dircategory' as per Karl Berry's suggestion
-
-doc/texinfo.tex
-       - update to version of 2003/02/04 from texinfo.org
-
-support/texi2dvi
-       - update to version 1.14 from texinfo-4.5 distribution
-
-                                  2/20
-                                  ----
-support/config.{guess,sub}
-       - update to versions of 2002/11/30
-
-lib/readline/doc/manvers.texinfo
-       - renamed to version.texi to match other GNU software
-       - UPDATE-MONTH variable is now `UPDATED-MONTH'
-
-lib/readline/doc/{hist,rlman,rluserman}.texinfo
-       - include version.texi
-
-doc/version.texi
-       - new file, with standard stuff matching other GNU distributions
-
-{doc,lib/readline/doc}/Makefile.in
-       - include right stuff for `version.texi'
-
-lib/readline/doc/{rluserman,rlman,hist}.texinfo
-       - use @copying and @insertcopying and @ifnottex instead of @ifinfo
-       - add FDL as an appendix entitled `Copying This Manual'
-
-lib/readline/doc/{rltech,rluser,hstech,hsuser}.texi
-       - changed the suffix from `texinfo' to `texi'
-
-lib/readline/doc/{rlman,rluserman}.texinfo, doc/bashref.texi
-       - include rltech.texi,rluser.texi,hstech.texi, and hsuser.texi
-
-lib/readline/doc/Makefile.in,doc/Makefile.in
-       - made appropriate changes for {{rl,hs}tech,{rl,hs}user}.texi
-
-lib/readline/doc/{rlman,rluserman}.texinfo
-       - changed the suffix from `texinfo' to `texi'
-
-lib/readline/doc/hist.texinfo
-       - renamed to history.texi
-
-                                  2/25
-                                  ----
-pathnames.h.in
-       - moved pathnames.h here so value of DEBUGGER_START_FILE can be
-         substituted by configure
-
-aclocal.m4
-       - added AM_PATH_LISPDIR for debugger
-
-configure.in
-       - added some variables: `bashvers', `relstatus' to use info in more
-         than one place
-       - call AM_PATH_LISPDIR
-       - new option:  --enable-debugger, sets DEBUGGER cpp option
-       - new option with AC_ARG_VAR:  DEBUGGER_START_FILE
-       - make `pathnames.h' a file generated by configure
-
-Makefile.in
-       - add rule to create pathnames.h
-
-builtins/declare.def
-       - added extra line number and source file name to `declare -F' output
-         if `--debugger' is used at startup
-
-builtins/evalfile.c
-       - call run_return_trap from source_file before returning the result
-         from _evalfile()
-
-execute_cmd.c
-       - call run_return_trap in execute_function before restoring the old
-         context
-
-builtins/source.def
-       - arrange to save and restore DEBUG traps when sourcing files if
-         function_trace_mode (set -o functrace) is not set
-
-print_cmd.c
-       - broke print_for_command, print_select_command, print_case_command
-         into two functions each:  one to print the `header' and one for
-         the body
-       - print_cond_command is no longer static
-       - print_arith_command now takes a WORD_LIST *, since it doesn't
-         actually do anything with the ARITH_COM it's passed except print
-         the enclosed WORD_LIST
-       - print_arith_command is no longer static
-
-externs.h
-       - extern declarations for print_{for,select,case}_command_head,
-         print_cond_command, print_arith_command
-
-{.,builtins,lib/sh}/Makefile.in
-       - corrected dependencies on pathnames.h, since it's now created in
-         the build directory
-
-                                   3/5
-                                   ---
-lib/glob/glob.c
-       - handle alloca() failing (it's supposed to return NULL)
-       - use malloc() (with its attendent bookkeeping) instead of alloca()
-         in glob_filename()
-
-subst.c
-       - check whether shell_glob_filename returns NULL in
-         glob_expand_word_list
-       - change parameter_brace_expand_rhs to handle cases like
-         ${a[2]:=value} by properly creating the array element instead of a
-         variable named `a[2]' (reported by <opengeometry@yahoo.ca>)
-
-variables.c
-       - change bind_int_variable to use valid_array_reference instead
-         of looking for `[' 
-
-lib/readline/vi_mode.c
-       - check for `a' in _rl_vi_done_inserting so the text inserted by an
-         `a' command can be reinserted with a `.'
-
-lib/readline/readline.c
-       - when entering vi insertion mode in readline_internal_setup(), make
-         sure that _rl_vi_last_key_before_insert is set to `i' so that undo
-         groups and redo work better (reported by <opengeometry@yahoo.ca>)
-
-lib/glob/sm_loop.c
-       - handle ?(...) in a pattern immediately following a `*', instead of
-         ignoring the `(' and treating the `?' as a single-char match, as
-         long as FNM_EXTFLAG is set (reported by <anderson110@poptop.llnl.gov>)
-
-aclocal.m4
-       - new test for presence of struct timezone, BASH_STRUCT_TIMEZONE
-
-config.h.in
-       - add HAVE_STRUCT_TIMEZONE
-
-configure.in
-       - call BASH_STRUCT_TIMEZONE
-
-execute_cmd.c
-       - don't try to use `struct timezone' in calls to gettimeofday unless
-         HAVE_STRUCT_TIMEZONE is defined; use (void *)NULL otherwise
-
-                                  3/20
-                                  ----
-execute_cmd.c
-       - new variable, the_printed_command_except_trap, saves the command
-         being executed before a trap is executed, for the debugger
-
-trap.c
-       - if in debugging mode, let command substitutions and other child
-         processes inherit the DEBUG and ERR traps if the `functrace'
-         (which is really a bad name, given this semantic) or `errtrace'
-         options, respectively, have been set
-
-shell.c
-       - local_pending_command renamed to command_execution_string; no longer
-         static
-
-variables.c
-       - new dynamic variable, BASH_COMMAND, set to the command string
-         currently executing, or the one that caused a trap to execute
-         (mapped to the_printed_command_except_trap)
-       - new variable, BASH_EXECUTION_STRING, set to the argument to the
-         -c invocation option, if the shell was started that way
-
-                                  3/22
-                                  ----
-execute_cmd.c
-       - changed execute_for_command, eval_arith_for_expr,
-         execute_select_command, execute_arith_command, execute_cond_command,
-         execute_simple_command to implement new DEBUG trap semantics
-         for the debugger: if the DEBUG trap commands return a non-zero
-         status and debugging_mode is non-zero, we skip the command to be
-         executed
-
-trap.c
-       - change run_debug_trap for the debugger: if we're in the debugger
-         and the DEBUG trap returns 2 while we're in a function or sourced
-         script, we force a `return'
-
-shell.c
-       - new function, start_debugger(), that sources the debugger start file
-         and turns the debugger on
-
-builtins/shopt.def
-       - new settable option, `extdebug', turns on debugging_mode, as if
-         --debugger had been supplied at invocation (but does not source
-         debugger startup file)
-
-trap.c
-       - make sure that run_exit_trap arranges for `returns' to come back
-         there, too, so a `return' executed by an `exit' invoked within a
-         shell function behaves correctly
-
-support/shobj-conf
-       - change darwin/MacOS X stanza based on advice from mac os x developers
-
-lib/sh/mailstat.c
-       - set the atime member of the synthesized stat struct to 0 if `cur/'
-         is empty, rather than leaving it undefined
-
-                                  3/24
-                                  ----
-builtins/caller.def
-       - new builtin to provide a call stack for the debugger
-
-builtins/evalfile.c
-       - added a second `flags' argument to source_file()
-       - new flag value for flags argument to _evalfile():  FEVAL_NOPUSHARGS.
-         If included in flags arg, it means to not manipulate the BASH_ARGV
-         and BASH_ARGC arrays
-
-builtins/common.h
-       - change prototype for source_file()
-
-builtins/source.def
-       - add flag value to call to source_file():  set to 1 if we replaced
-         the positional parameters
-       - add call to push_args if additional arguments supplied to the
-         source builtin
-       - add call to pop_args in maybe_pop_dollar_vars
-
-execute_cmd.c
-       - run the debug trap in execute_function so the debugger can stop
-         before the first command in a function body is executed
-       - modify subshell_level before executing a builtin or function in a
-         subshell
-       - print `for', `select', `case' command heads when set -x is enabled
-
-print_cmd.c
-       - `xtrace_print_word_list' now takes an additional flags argument,
-         which, if non-zero, says to print indirection_level_string()
-       - new functions to print for, select, and case command heads when
-         set -x is enabled
-       - add spaces after `((' and before `))' in xtrace_print_arith_command
-
-externs.h
-       - changed extern declaration for xtrace_print_word_list
-       - new declarations for xtrace_print_{for,case,select}_command_head()
-
-subst.c
-       - modify subshell_level when executing a command substitution
-
-                                  3/25
-                                  ----
-execute_cmd.c
-       - use `line_number' in executing_line_number instead of looking into
-         the current command if it's a simple command; rearrange code to
-         make this simpler to compile in and out
-       - need to save and restore value of currently_executing_command around
-         calls to debug trap and return trap in execute_function
-
-make_cmd.c
-       - make sure make_arith_for_command() disposes the WORD_LIST * it is
-         passed, since nothing else does and it's not used directly
-
-                                  3/28
-                                  ----
-Makefile.in    
-       - fixed dependencies for `error.o' on shell.h and version.h -- makes
-         parallel makes (gmake -j 4) work correctly
-
-doc/{bash.1,bashref.texi}
-       - documented all new features added to support the debugger
-
-                                   4/1
-                                   ---
-lib/sh/shquote.c
-       - make sure CTLESC and CTLNUL characters are escaped with CTLESC
-         by sh_double_quote, sh_backslash_quote and
-         sh_backslash_quote_for_double_quotes
-         Fixes vulnerability reported by svdb@stack.nl
-
-shell.h
-       - new `pipestatus' member of sh_parser_state_t, to save and restore
-         $PIPESTATUS
-
-parse.y
-       - changes to save_parser_state and restore_parser_state to save and
-         restore $PIPESTATUS
-
-builtins/read.def
-       - add a call to word_list_remove_quoted_nulls before assigning the
-         word list read from standard input to an array variable.  Fixes
-         bug reported by holzhey@ppprs1.phy.tu-dresden.de
-
-                                   4/3
-                                   ---
-execute_cmd.c
-       - in execute_null_command, if redirections are supplied, make sure
-         things like 3</etc/passwd are undone immediately, since they're
-         being done in the current shell
-       - functions now inherit the RETURN trap only if function tracing is
-         on for that function or globally
-
-lib/readline/misc.c
-       - in rl_replace_from_history, don't force rl_replace_line to clear
-         the undo_list, since it might point directly at an undo list
-         from a history entry (to which we have no handle)
-
-                                   4/4
-                                   ---
-trap.c
-       - initialize RETURN_TRAP stuff appropriately in initialize_traps()
-       - let command substitutions inherit the RETURN trap if we're in
-         the debugger and function tracing has been enabled
-
-redir.c
-       - do_redirections and do_redirection_internal now take a single
-         flags argument instead of multiple boolean flags
-
-redir.h
-       - new #defines for flags argument to do_redirection{s,_internal}
-
-execute_cmd.c
-       - change all calls to do_redirection to use new flag values
-
-parse.y
-       - new function, free_pushed_string_input(), an external interface to
-         clear the pushed_string list (alias expansion)
-       - new define SHOULD_PROMPT to say when it's OK to call prompt_again
-         (if the shell is currently interactive and is reading input from
-         the terminal or readline)
-       - make sure shell_getc and read_secondary_line only call prompt_again
-         if SHOULD_PROMPT evaluates to true
-       - prompt_again shouldn't do anything if the shell is currently in the
-         middle of expanding a multiline alias, since we won't be printing a
-         prompt anyway
-
-externs.h
-       - new extern declaration for free_pushed_string_input()
-
-execute_cmd.c
-       - command_substitute and process_substitute now call
-         free_pushed_string_input because they shouldn't deal with any
-         partial alias expansion the parent shell may have started
-
-                                   4/5
-                                   ---
-braces.c
-       - added {x..y} brace expansion, shorthand for {x,x+1,x+2,...,y}:
-         x, y can be integers or single characters; the sequence can be
-         ascending or descending; increment is always 1.  Beware that
-         something like {a..A} can lead to non-letters.
-
-                                   4/7
-                                   ---
-subst.c
-       - change extract_delimited_string and extract_dollar_brace_string to
-         return NULL on an expansion error when no_longjmp_on_fatal_error
-         is set, so the calling functions don't assume that the expansion
-         was successful (primarily the prompt expansion and completion code)
-
-doc/{bash.1,bashref.texi}
-       - documented new sequence generation feature of brace expansion
-
-                                   4/8
-                                   ---
-lib/sh/strstr.c
-       - replacement for strstr(3), in case the C library doesn't provide it
-
-configure.in
-       - check for strstr, add to LIBOBJS if not found
-
-array.c
-       - array_walk now takes a third void * argument; it's passed to `func'
-         as its second argument
-
-array.h
-       - change sh_ae_map_func_t prototype to add void * second argument
-
-                                  4/10
-                                  ----
-array.c
-       - new function: array_keys_to_word_list, returns a list of indices for
-         a given array
-
-array.h
-       - new extern declaration for array_keys_to_word_list
-
-arrayfunc.c
-3      - new function: char *array_keys(), returns a string with keys for a
-         given array, with the appropriate quoting
-
-arrayfunc.h
-       - new extern declaration for array_keys
-
-subst.c
-       - code to implement ksh93-like ${!array[@]} expansion (array[*] works,
-         too), which expands to all the keys (indices) of ARRAY
-
-doc/{bash.1,bashref.texi}
-       - documented new ${!array[@]} expansion
-
-                                  4/19
-                                  ----
-builtins/setattr.def
-       - remove any mention of the `-n' option from readonly builtin's short
-         and long documentation
-
-pcomplib.c
-       - fix progcomp_insert to increase the refcount on the `cs' argument
-         before calling hash_insert -- fixes the problem of multiple calls
-         to progcomp_insert with the same compspec
-
-doc/bash.1
-       - add mention of characters that inhibit history expansion when found
-         immediately following an unquoted `!'
-
-bashline.c
-       - convert the code conditionally compiled in by the NO_FORCE_FIGNORE
-         #define to something runtime-tunable with the `force_fignore'
-         variable (opposite sense).  force_fignore is 1 by default
-
-builtins/shopt.def
-       - new tunable `shopt' option: `force_fignore', controls force_fignore
-         variable and behavior of FIGNORE handling
-
-lib/readline/complete.c
-       - new variable, _rl_complete_show_unmodified, causes completer to list
-         possible completions if more than one completion and partial
-         completion cannot be done
-       - new value for what_to_do argument to rl_complete_internal, `@',
-         indicating that we want the show-unmodified behavior
-       - change rl_completion_type to return `@' when appropriate
-
-lib/readline/bind.c
-       - new bindable variable, show-all-if-unmodified, which controls value
-         of _rl_complete_show_unmodified
-
-lib/readline/rlprivate.h
-       - extern declaration for _rl_complete_show_unmodified
-
-lib/readline/doc/rluser.texi
-       - documented show-all-if-unmodified
-
-lib/readline/doc/rltech.texi
-       - documented new `@' value for second argument to rl_complete_internal
-       - documented new return value from rl_completion_type
-
-                                  4/22
-                                  ----
-lib/readline/signals.c
-       - in rl_set_signal, set sa_flags to SA_RESTART for SIGWINCH, if we
-         have POSIX signals -- this is what most applications expect, and
-         they're not prepared to deal with EINTR
-
-                                  4/25
-                                  ----
-bashline.c
-       - take out attempts to suppress readline filename completion when
-         attempting command completion and there is a directory with the
-         same name in the current directory.  #if 0'd for now; maybe make
-         it conditional later
-
-error.c
-       - new variable, gnu_error_format, causes non-interactive errors with
-         line numbers to be printed in the `gnu style' (filename:lineno:)
-         instead of the `shell style' (filename: line lineno:) by
-         error_prolog and parser_error
-
-version.h,support/mkversion
-       - don't put extern function declarations into created version.h any
-         more
-
-version.c,externs.h
-       - add extern declarations for show_shell_version() and
-         shell_version_string(), since they're no longer in version.h
-         (this backs out change from 9/10/2001)
-
-shell.h
-       - don't include version.h
-
-Makefile.in
-       - remove unneeded dependencies on version.h -- only version.o
-         needs it now
-
-builtins/shopt.def
-       - new option `gnu_errfmt', changes error messages with line numbers
-         to use the `standard' gnu format
-
-pcomplete.h
-       - new COPT_BASHDEFAULT and COPT_PLUSDIRS defines
-
-bashline.c
-       - if the COPT_BASHDEFAULT flag is set, try the rest of the bash
-         default completions if a compspec with that flag set generates
-         no matches
-       - broke bash completions out into separate function:
-         bash_default_completion(const char *text, int start, int end,
-         int qc, int in_command_position); change attempt_shell_completion
-         to call it
-
-bashline.h
-       - new extern declaration for bash_default_completion
-
-builtins/complete.def
-       - added code to compgen to call bash_default_completion if a compspec
-         with the COPT_BASHDEFAULT flag set generates no matches from the
-         programmable completion options
-
-doc/{bash.1,bashref.texi}
-       - document new `gnu_errfmt' shopt option
-
-doc/bash.1,lib/readline/doc/rluser.texi
-       - document new `-o bashdefault' option to complete and compgen
-
-                                  4/26
-                                  ----
-pcomplete.c
-       - if a compspec has the COPT_PLUSDIRS flag set, generate any
-         directory name completions and add them to the set of possible
-         completions as the last thing in gen_compspec_completions
-
-builtins/complete.def
-       - add new `-o plusdirs' option to complete and compgen; means to
-         do directory name completion in addition to other actions
-         specified by the compspec, and do it last
-
-                                  5/12
-                                  ----
-copy_cmd.c
-       - fix copy_{for,select,case}_command to copy the line member
-
-                                  5/13
-                                  ----
-lib/readline/rlmbutil.h,include/shmbutil.h
-       - new #define MB_INVALIDCH, evaluates to true if return value from
-         mbrtowc or mbrlen denotes an invalid multibyte character
-       - new #define MB_NULLWCH, evaluates to true if return value from
-         mbrtowc or mbrlen denotes a null multibyte character
-
-lib/readline/complete.c
-       - new function, fnwidth(), returns printed length of a filename,
-         correctly handling multibyte characters
-       - new function, fnprint(), displays a filename on rl_outstream
-         correctly handling multibyte characters
-       - use fnwidth() instead of simple strlen() for length calculations
-         in display_matches
-
-lib/readline/{display,mbutil}.c
-       - use MB_INVALIDCH and MB_NULLWCH as appropriate
-
-                                  5/21
-                                  ----
-configure.in
-       - turn off the builtin malloc on GNU/FreeBSD systems (GNU userland,
-         FreeBSD kernel)
-
-                                  5/24
-                                  ----
-pcomplete.c
-       - in programmable_completions, copy the compspec before using it to
-         generate the possible completions, allowing the completion for the
-         command to be changed by the compspec itself without causing a
-         core dump because the shell frees freed memory (reported by
-         marcus.harnish@gmx.net)
-
-parse.y
-       - in shell_getc, don't call notify_and_cleanup in an interactive shell
-         unless the shell is currently reading from the terminal and would
-         print a prompt.  This fixes programmable completions printing job
-         notifications (reported by r.d.green@lancaster.ac.uk)
-       - use SHOULD_PROMPT macro consistently
-
-shell.c
-       - use get_string_value instead of getenv when looking up $TERM and
-         $EMACS to see whether the shell is running under emacs
-       - check for `TERM=dumb' as well as `EMACS=t' to decide whether or
-         not to turn off command-line editing in emacs shell windows
-         (reported by jik@kamens.brookline.ma.us)
-
-                                  5/28
-                                  ----
-expr.c
-       - save and restore the `evalbuf' context, since evalexp can be
-         called recursively (e.g. a[b[c]])
-
-                                  5/29
-                                  ----
-builtins/common.c
-       - in display_signal_list, when displaying for `kill -l' in posix mode,
-         display signal names without the `SIG' prefix
-
-doc/bashref.texi
-       - documented changed to posix mode behavior of kill -l
-
-builtins/kill.def
-       - changed the error message printed when argument is not a pid or
-         job id
-
-doc/{bash.1,bashref.texi}
-       - fixed a slight inconsistency in the different sections describing
-         the `promptvars' option
-
-doc/Makefile.in
-       - new rule to create `bash.info' from `bashref.info' by running sed
-         to change the internal references.  This makes the installed
-         bash.info work right
-       - make the install target install bash.info after it's been modified
-         from bashref.info
-
-                                  5/30
-                                  ----
-builtins/cd.def
-       - after testing with ferror(), call clearerr if ferror() evaluates
-         to true
-
-execute_cmd.c
-       - call clearerr(stdout) after executing a builtin or function,
-         before restoring any redirections
-
-bashhist.c
-       - initialize history_comment_char in bash_history_initialize
-
-builtins/alias.def
-       - if posix mode is enabled, and the `-p' option is not supplied, don't
-         list aliases with a preceding `alias ', as POSIX.2 specifies
-
-doc/bashref.texi
-       - note new posix mode behavior of displaying alias names and values
-       - note new posix mode behavior of trap builtin not checking first
-         argument to be a possible signal specification
-       - note new posix mode behavior of `kill' not accepting signal names
-         with a leading `SIG'
-
-include/stdc.h,lib/readline/rlstdc.h
-       - don't check the __STRICT_ANSI__ define when deciding whether or not
-         to #undef __attribute__
-
-trap.[ch]
-       - decode_signal and signal_object_p take an additional flags arg to
-         satisfy POSIX.2 signal name translation requirements
-       - change decode_signal to honor the new DSIG_NOCASE (match case-
-         insensitively) and DSIG_SIGPREFIX (allow signal specifications
-         with the `SIG' prefix) flags
-
-builtins/{common.c,{trap,kill}.def}
-       - change calls to decode_signal to add the new argument with
-         appropriate values.  For kill, POSIX.2 says case-insensitive without
-         the `SIG' prefix.  For trap, POSIX.2 says applications may decode
-         case-insensitively and with the SIG prefix
-
-builtins/trap.def
-       - when in posix mode, don't check for the first argument being a
-         possible signal spec and revert the signal handling to the
-         original disposition
-
-                                   6/1
-                                   ---
-shell.h
-       - new MATCH_STARSUB define, to tell the callers of the various pattern
-         substitution and removal functions that call string_list to treat
-         "$*" and "${array[*]}" appropriately
-subst.c
-       - if get_var_and_type encounters an array variable subscripted by `*'
-         or `$*', return VT_STARSUB or'd into the variable type value
-       - callers of get_var_and_type check for VT_STARSUB in the returned type
-         this will fix problems with ${*...} not being separated with the
-         first character of $IFS when double-quoted
-       - in parameter_brace_patsub, set MATCH_STARSUB if VT_STARSUB is set by
-         get_var_and_type
-       - change pos_params_pat_subst to call string_list_dollar_star if
-         the match flags include MATCH_STARSUB
-       - change parameter_brace_substring to call array_subrange with an
-         additional argument indicating the character indexing the array
-
-array.c
-       - change array_patsub to join the modified array elements with the
-         first character of $IFS if MATCH_STARSUB is set in the match flags
-         passed in
-       - array_subrange now takes an additional argument indicating the
-         index type -- used to separate with first char of $IFS if the
-         index char is `*' and the expression is double-quoted
-
-array.h
-       - change prototype declaration of array_subrange to add additional arg
-
-                                   6/2
-                                   ---
-doc/FAQ
-       - merged in some updates about POSIX from Andrew Josey
-
-                                   6/3
-                                   ---
-bashjmp.h
-       - new value for jump_to_top_level:  ERREXIT
-
-{eval,shell,subst,trap}.c,builtins/evalstring.c
-       - ERREXIT is (for now) equivalent to EXITPROG as a value from
-         jump_to_top_level
-
-                                   6/9
-                                   ---
-doc/bash.1,lib/readline/doc/readline.3
-       - documented new `show-all-if-unmodified' readline variable
-
-                                  6/14
-                                  ----
-lib/readline/history.c
-       - new function, histdata_t free_history_entry (HIST_ENTRY *h),
-         frees H and its line, returning the application-specific data
-       - use free_history_entry where appropriate
-
-lib/readline/history.h
-       - extern declaration for free_history_entry()
-
-lib/readline/doc/{history.3,hstech.texi}
-       - document free_history_entry
-
-                                  6/16
-                                  ----
-lib/readline/readline.[ch]
-       - changed varions defines for readline/history library versions to 5.0
-
-subst.c
-       - pass information about whether or not an indirectly-expanded variable
-         contains ${array[@]}, ${array[*]}, $@, or $*
-       - new function, chk_atstar, performs checks for ${array[@]},
-         ${array[*]}, $@, or $* for the parameter_brace_expand* functions and
-         sets flags (passed as args) to the results
-       - call chk_atstar from parameter_brace_expand_indir and
-         parameter_brace_expand
-
-                                  6/28
-                                  ----
-doc/{bash.1,bashref.texi}
-       - clarified that (...) commands are executed in a subshell environment
-
-                                  6/30
-                                  ----
-lib/readline/bind.c
-       - fix a problem with parsing nested if statements in inputrc files
-         (fix from dimakar@yahoo.com)
-
-                                   7/3
-                                   ---
-{jobs,nojobs}.c
-       - fix places that use the return value from strsignal() to check
-         for NULL return values using a new function, j_strsignal()
-
-builtins/kill.def
-       - removed JOB_CONTROL restriction; kill is now available as a builtin
-         when the shell is built without job control
-
-                                  7/10
-                                  ----
-jobs.c
-       - some systems have WIFCONTINUED but not WCONTINUED; separate the
-         #defines
-
-                                  7/14
-                                  ----
-lib/readline/history.h
-       - new `timestamp' member of a HIST_ENTRY
-       - extern declarations for add_history_time and history_get_time
-
-lib/readline/doc/{history.3,hstech.texi}
-       - document add_history_time and history_get_time
-
-lib/readline/history.c
-       - implementations of history_get_time and add_history_time
-       - change add_history to initialize the timestamp information
-       - change free_history_entry to free the timestamp
-       - change replace_history_entry to duplicate the timestamp
-       - change history_total_bytes to add the memory taken by the time
-         stamps
-
-bashhist.c,builtins/history.def
-       - use free_history_entry where appropriate
-
-lib/readline/histfile.c
-       - changes to read_history_range to deal with new history file format
-         including timestamps
-       - changes to history_do_write to write out the timestamp information
-       - changes to history_truncate_file to understand the timestamp
-         information
-
-                                  7/22
-                                  ----
-doc/{bash.1,bashref.texi}
-       - fixed function declaration documentation to specify that any compound
-         command may be used as the function body, not just a group command
-
-                                  7/23
-                                  ----
-lib/readline/histfile.c
-       - don't allocate space for null timestamps in history_do_write, and
-         don't write out null timestamp entries
-
-parse.y
-       - fix CHECK_FOR_RESERVED_WORD to call time_command_acceptable() and
-         return TIME if the token is "time" and `time' is legal in that
-         context
-
-                                  7/29
-                                  ----
-lib/sh/fmtulong.c
-       - include <inttypes.h> for possible definitions of intmax_t, uintmax_t
-         (reported by ro@techfak.uni-bielefeld.de)
-
-                                  7/30
-                                  ----
-parse.y
-       - remove checking for `time' reserved word from special_case_tokens();
-         use regular mechanism in CHECK_FOR_RESERVED_WORD.  This allows `time'
-         to be aliased.  (Reported by Glenn Morris
-         <gmorris+gmane@ast.cam.ac.uk>)
-
-                                  7/31
-                                  ----
-lib/readline/history.h
-       - extern declaration for history_write_timestamps
-
-lib/readline/histfile.c
-       - don't write timestamps to the history file in history_do_write
-         unless history_write_timestamps is set to non-zero by the application
-         (set to 0 by default)
-
-lib/readline/doc/{hstech.texi,history.3}
-       - document history_write_timestamps
-
-variables.[ch]
-       - new special variable function, HISTTIMEFORMAT; special function
-         sets history_write_timestamps to 1 if HISTTIMEFORMAT is set
-
-                                   8/4
-                                   ---
-builtins/history.def
-       - added support for printing time stamps based on the value of the
-         HISTTIMEFORMAT variable when displaying history entries
-
-doc/{bash.1,bashref.texi}
-       - added description of new HISTTIMEFORMAT variable
-
-                                   8/5
-                                   ---
-config-top.h
-       - remove /usr/ucb from any default paths
-
-mailcheck.c
-       - make_default_mailpath now returns NULL if DEFAULT_MAIL_DIRECTORY
-         is not defined
-       - remember_mail_dates now returns if make_default_mailpath returns
-         NULL
-
-config-bot.h
-       - reorganized the sections; provide an explicit placeholder for
-         builders to #undef any feature defines they don't want that
-         configure creates for them, like the default mail path
-
-                                   8/9
-                                   ---
-config.h.in
-       - add HAVE_REGEX_H, HAVE_REGCOMP, HAVE_REGEXEC for detection of POSIX.2
-         regular expression functions
-       - add COND_REGEXP define to enable and disable the =~ operator for
-         matching extended regular expressions in [[...]] commands
-
-configure.in
-       - new option, --enable-cond-regexp, enables =~ and code to perform
-         regular expression matching in [[...]]
-
-config-bot.h
-       - undef COND_REGEXP if the OS doesn't provide posix regexp support
-
-doc/bashref.texi
-       - documnent new --enable-cond-regexp option to configure
-
-                                  8/18
-                                  ----
-support/shobj-conf
-       - support for shared objects on FreeBSD-gnu (from Robert Millan)
-
-                                  8/25
-                                  ----
-lib/sh/shmatch.c
-       - new file, shell interface to posix extended regular expression
-         matching
-
-externs.h
-       - new extern declarations for functions in shmatch.c
-
-execute_cmd.c
-       - incorporate code into execute_cond_node that does extended regular
-         expression matching for the =~ operator
-
-parse.y
-       - add `=~' to the list of binary operators accepted by the conditional
-         command parser
-
-doc/{bash.1,bashref.texi}
-       - documented =~ conditional binary operator and the BASH_REMATCH
-         variable
-
-                                  8/27
-                                  ----
-lib/readline/display.c
-       - take multibyte characters into account when looking for quoted
-         substrings on which to do completion (fix from jir@yamato.ibm.com)
-
-lib/readline/util.c
-       - fix typo in _rl_strpbrk
-
-lib/readline/rldefs.h
-       - use function version of _rl_strpbrk in multibyte locales, because
-         it understands to skip over special characters in multibyte
-         character sequences
-
-                                  8/28
-                                  ----
-jobs.c
-       - in wait_for, check for window size changes if a job that exits due
-         to a signal or is stopped was in the foreground, not just if it's
-         the current job
-
-                                  9/10
-                                  ----
-support/config.{guess,sub}
-       - add support to recognize FreeBSD running on the amd64
-
-subst.c
-       - if the new `fail_glob_expansion' variable is non-zero, globbing that
-         fails to match anything causes an expansion error
-
-builtins/shopt.def
-       - new `failglob' expansion:  if enabled, failed globs cause an error
-
-test/shopt.right
-       - take `failglob' into account
-
-doc/{bash.1,bashref.texi}
-       - documented new `failglob' option and its effects
-
-                                  9/12
-                                  ----
-findcmd.c
-       - fix file_status to treat the mode bits and uid right -- in particular,
-         don't assume the `other' bits always apply.  Bug reported by
-         <moseley@hank.org>; fix inspired by <carlo@alinoe.com>
-
-command.h
-       - new word flag: W_NOCOMSUB, meaning to not perform command
-         substitution on a word
-
-subst.c
-       - new flag for param_expand: PF_NOCOMSUB.  If non-zero, $(...)
-         command substitutions are not expanded, but returned unchanged
-       - change expand_word_internal to pass through `` command substitutions
-         unchanged if (word->flags & W_NOCOMSUB) != 0
-       - change expand_word_internal to pass PF_NOCOMSUB to param_expand
-         if (word->flags & W_NOCOMSUB) != 0
-
-builtins/shopt.def
-       - rename set_interactive_comments to set_shellopts_after_change, which
-         more accurately reflects its purpose
-
-syntax.h
-       - add a define for isblank() in case the system doesn't provide one
-
-jobs.c
-       - change raw_job_exit_status to understand `pipefail', using the new
-         `pipefail_opt' variable
-
-flags.[ch]
-       - declare pipefail_opt
-       - reset pipefail_opt to 0 in reset_shell_flags
-
-builtins/set.def
-       - add `set -o pipefail' and document it in help output
-
-doc/{bash.1,bashref.texi}
-       - document `set -o pipefail' and the effect of the pipefail option
-
-mksyntax.c,syntax.h
-       - sh_syntaxtab is no longer `const'
-       - new generated variable, sh_syntabsiz, set to number of entries in
-         sh_syntaxtab, written to generated syntax.c
-
-locale.c
-       - new function, locale_setblanks(), sets each member of the current
-         locale's <blank> class to have the CSHBRK flag in sh_syntaxtab
-
-                                  9/17
-                                  ----
-arrayfunc.c
-       - change convert_var_to_array to not set array[0] to a NULL value
-         (if the scalar variable had no value; e.g., after being created
-         with `local arrayvar')
-
-lib/readline/display.c
-       - save and restore the value of prompt_invis_chars_first_line in
-         rl_{save,restore}_prompt, and reinitialize it to 0 before printing
-         something in the message area
-
-lib/readline/bind.c
-       - new functions: rl_bind_keyseq_if_unbound_in_map(ks, func, kmap);
-         binds key sequence KS to function FUNC in keymap KMAP, and
-         rl_bind_keyseq_if_unbound (ks, func); binds key sequence KS to
-         function FUNC in the current keymap
-
-lib/readline/readline.h
-       - extern function declarations for rl_bind_keyseq_if_unbound_in_map and
-         rl_bind_keyseq_if_unbound
-
-lib/readline/{readline,terminal}.c
-       - _rl_bind_if_unbound -> rl_bind_keyseq_if_unbound
-
-lib/readline/{bind.c,rlprivate.h}
-       - remove _rl_bind_if_unbound
-
-                                  9/18
-                                  ----
-lib/readline/doc/rltech.texi
-       - document rl_bind_keyseq_if_unbound and
-         rl_bind_keyseq_if_unbound_in_map
-
-                                  9/19
-                                  ----
-lib/readline/bind.c
-       - new functions rl_bind_key_if_unbound_in_map and
-         rl_bind_key_if_unbound; analogous to (and implemented in terms of)
-         keyseq functions
-       - rl_bind_keyseq_in_map: a new function, equivalent to rl_set_key
-         (which remains for backwards compatibility); changed callers to
-         use it
-       - new function, rl_bind_keyseq, equivalent to rl_bind_keyseq_in_map
-         with a third argument of _rl_keymap
-
-lib/readline/readline.h
-       - extern declarations for rl_bind_key_if_unbound_in_map and
-         rl_bind_key_if_unbound
-       - extern declarations for rl_bind_keyseq_in_map and rl_bind_keyseq
-
-lib/readline/doc/rltech.texi
-       - document rl_bind_keyseq and rl_bind_keyseq_in_map
-
-configure.in
-       - require at least readline-5.0
-
-config-bot.h
-       - define SYS_SIGLIST_DECLARED if it's not defined, but
-         HAVE_DECL_SYS_SIGLIST is, to deal with differences between
-         autoconf versions
-
-bashline.c
-       - use rl_bind_key_if_unbound_in_map when binding bash keybindings in
-         initialize_readline(), so inputrc files can override them
-
-                                  9/22
-                                  ----
-lib/readline/histsearch.c
-       - do better bounds checking for history_offset and history_length in
-         history_search_internal
-
-builtins/history.def
-       - in delete_last_history(), make sure we don't leave the history
-         offset longer than the history length after calling delete_histent
-
-                                  9/23
-                                  ----
-jobs.c
-       - small change to notify_of_job_status so job status messages get
-         printed even if the shell was started to run `-c command'.  The
-         old behavior was intentional, but I cannot remember why, so we'll
-         try it the other way for a while (debian bash bug #211693)
-
-                                  9/24
-                                  ----
-jobs.c
-       - slightly modify change from 9/23 so that jobs started to run
-         command substitutions don't print job status messages
-
-                                  9/25
-                                  ----
-lib/readline/search.c
-       - when reading a non-incremental search string from the terminal,
-         use a separate undo list rather than chaining it to the undo list
-         from the rest of the line, since the whole undo list will get
-         freed when the search string is complete
-
-lib/readline/readline.h
-       - changed the defines guarding the stdarg prototype for rl_message to
-         match what's actually used in display.c, where it's defined
-
-                                  9/26
-                                  ----
-[bash-3.0-alpha released]
-
-                                  9/29
-                                  ----
-lib/sh/shmatch.c
-       - fix to build correctly when arrays are not compiled into the shell
-
-subst.c
-       - fix command substitution to run any exit trap defined in the
-         command substitution before returning; the exit trap is not inherited
-         from the calling shell
-
-lib/readline/shell.c
-       - change sh_set_lines_and_columns to free the memory allocated and
-         passed to setenv(), since setenv is specified by POSIX to allocate
-         new memory and copy its arguments
-
-jobs.c
-       - change logic in make_child so that every child process attempts to
-         set the terminal's process group to the pipeline's process group
-         when PGRP_PIPE is defined, just like when it's undefined.  This is
-         reported to fix some tricky synchronization problems on Red Hat
-         Enterprise Linux 3.  Fix from Ernie Petrides <petrides@redhat.com>.
-
-                                  9/30
-                                  ----
-builtins/printf.def
-       - tescape no longer needs a `trans_squote' argument, since it's the
-         same as the `sawc' argument.  The `sawc' argument now means to do
-         the %b argument processing if non-null
-       - fix processing of octal constants for %b arguments (\0 followed by
-         up to three octal digits) and other escape sequences (\ followed by
-         up to three octal digits)
-       - hex constants `\xHHH' are now allowed to contain any positive
-         number of digits; previously they were restricted to two [removed]
-       - allow two new escape sequences: \" and \?, for compatibility with
-         ksh93 and ANSI C
-
-doc/{bash.1,bashref.texi}
-       - documented processing that printf performs for arguments to %b
-         escape sequences
-
-lib/sh/strtrans.c
-       - add \" and \? to escape sequences recognized by `echo -e'
-
-                                  10/1
-                                  ----
-version.c
-       - use snprintf instead of sprintf if configure tells us we have it
-
-                                  10/3
-                                  ----
-subst.c
-       - in list_remove_pattern, take into account the fact that one of the
-         list elements may be NULL, and don't free the result of
-         remove_pattern() without checking
-       - in remove_pattern, return savestring(param) if *param == '\0',
-         since callers expect to free() non-null return values
-
-                                  10/4
-                                  ----
-subst.c
-       - change verify_substring_values to make it clearer that the first
-         offset deals with array indices and the second deals with numbers
-         of elements, when doing array subranges with ${a[@]:e1:e2}
-
-array.c
-       - change array_subrange to make it explicit that the second offset
-         argument is a count of the desired number of elements, not an
-         ending index.  This deals with sparse arrays correctly.
-
-                                  10/6
-                                  ----
-variables.c
-       - fix memory leak in assign_in_env
-
-                                  10/8
-                                  ----
-subst.c
-       - in parameter_brace_expand, check that the last characters are `]}'
-         before checking for ${!array[@]}
-
-execute_cmd.c,builtins/source.def
-       - push and pop the args (BASH_ARGV and BASH_ARGC) when executing a
-         shell function or sourcing a script only when in debugging mode
-
-                                  10/11
-                                  -----
-arrayfunc.c
-       - make sure array_variable_name returns values for the SUBP and LENP
-         arguments if they're non-null, since callers expect to use them
-         even if the array subscript is bad
-
-error.c
-       - call exit_shell instead of sh_exit from parser_error and
-         report_error so the right things happen (running exit trap, doing
-         the right interactive cleanup, etc.)
-
-lib/readline/complete.c
-       - new variable, rl_completion_quote_character, set to any quote char
-         readline thinks it finds before any application completion
-         function is called
-       - new variable, rl_completion_suppress_quote, settable by an
-         application-specific completion function.  If set to non-zero, the
-         completion code does not append a closing quote in append_to_match
-
-lib/readline/readline.h
-       - extern declarations for rl_completion_quote_character and
-         rl_completion_suppress_quote
-
-bashline.c
-       - set rl_completion_suppress_quote in command_subst_completion_function
-         because that would be inserted before any closing "`" or ")", which
-         is somewhat disconcerting
-
-lib/readline/doc/rltech.texi
-       - documented rl_completion_suppress_quote and
-         rl_completion_quote_character
-
-                                  10/13
-                                  -----
-bashhist.c
-       - use sv_histchars instead of setting history_comment_char directly in
-         bash_initialize_history so assignments to $histchars made in
-         ~/.bashrc are honored
-
-                                  10/21
-                                  -----
-trap.c
-       - make sure run_exit_trap sets `running_trap' appropriately
-       - new variable, trap_saved_exit_value, set to last_command_exit_value
-         before running any trap commands; available to the rest of the
-         shell; use trap_saved_exit_value to replace some function-local
-         variables
-
-builtins/exit.def
-       - if the shell is running the exit trap, and no argument is given
-         to `exit', use trap_saved_exit_value as the exit status instead
-         of the last command exit value (which could be the previous command
-         run in the exit trap), as required by POSIX.2
-
-                                  10/25
-                                  -----
-doc/{bash.1,bashref.texi}
-       - add `alias' to the list of documented `assignment statement' builtins
-
-                                  11/1
-                                  ----
-doc/bash.1
-       - remove the `.' from the sample $PATH value
-
-parse.y
-       - make sure parse_compound_assignment prompts with $PS2 if it reads
-         a newline while parsing the compound assignment statement. Bug
-         reported by Stephane Chazelas
-       - parse_string_to_word_list now takes a new second argument: `int flags'
-       - new parser state flag: PST_COMPASSIGN; indicates that the shell is
-         parsing a compound assignment statement
-       - parse_string_to_word_list turns on PST_COMPASSIGN if `flags' arg
-         has low bit set
-       - turn PST_COMPASSIGN on and off in parse_compound_assignment
-
-externs.h
-       - change prototype declaration for parse_string_to_word_list
-
-arrayfunc.c
-       - change call to parse_string_to_word_list to add new flags arg
-
-general.c
-       - assignment() takes a new `flags' second argument
-       - if `flags' is non-zero, accept `[' as a legal assignment statement
-         starter character (for parsing compound array assignments)
-
-general.h
-       - add new argument to prototype declaration for assignment()
-
-parse.y,{subst,variables}.c, builtins/{setattr,declare}.def
-       - change calls to assignment() (parse.y calls with flags == 1 when
-         parser_state inlcudes PST_COMPASSIGN)
-
-arrayfunc.c
-       - in assign_array_var_from_string(), don't treat an expanded word
-         of the form [ind]=value specially unless the W_ASSIGNMENT flag is
-         set.  This means that words that are the result of expansions but
-         happen to have the same format as compound assignment statement
-         words will not be treated as such.  For instance
-
-               v='[12]=foobar'
-               a=( $v )
-
-         will result in a[0]='[12]=foobar' instead of a[12]=foobar.  This
-         is closer to how `regular' assignment statements are treated and
-         compatible with ksh93.  Bug reported by Stephane Chazelas
-
-shell.c
-       - new --protected argument, disables command substitution when used
-         with --wordexp (like --wordexp, it remains undocumented)
-       - change run_wordexp to turn on the W_NOCOMSUB flag in each word
-         to be expanded if protected_mode is set
-
-                                  11/7
-                                  ----
-doc/{bash.1,bashref.texi}
-       - clarified the language concerning inherited signal dispositions and
-         when traps are run
-
-support/shobj-conf
-       - slight changes to the darwin (Mac OS X) stanza for MacOS X 10.3
-         (for the readline shared library builds, which shares this script)
-
-lib/readline/histexpand.c
-       - change to make `^' behave as equivalent to word one, as csh does,
-         and as the documentation states
-
-lib/readline/display.c
-       - in update_line, make sure to use col_lendiff in all calculations
-         where the cursor position is concerned (like when calculating
-         the value of _rl_last_c_pos).  Fixes bug reported by Andreas
-         Schwab
-
-                                  11/12
-                                  -----
-trap.c
-       - make _run_trap_internal catch `return' builtin longjmps and clean
-         up before longjmping on to where the return was intended to go
-         (fixes bug with not turning off SIG_INPROGRESS flag when `return'
-         executed in trap command)
-
-                                  11/18
-                                  -----
-builtins/cd.def
-       - in posix mode, set errno to ENOTDIR if canonicalization fails,
-         unless the canonicalization functions leave it set to ENOENT
-
-                                  11/25
-                                  -----
-make_cmd.c
-       - in make_simple_command, don't blindly dereference element.redirect
-
-parse.y
-       - the list_terminator production now has an `int' value so it can be
-         used in other grammar productions
-       - add a rule that makes `time' on a line by itself time a null
-         command (this is iffy)
-
-                                  11/28
-                                  -----
-subst.c
-       - change the pattern substitution code (${var//pat/rep}) to use the
-         same pattern expansion function (getpattern()) as the pattern
-         removal expansions.  This has the effect of no longer performing
-         quote removal on the pattern before trying to match it.  This
-         fixes an incompatibility with ksh93 reported on comp.unix.shell
-
-nojobs.c
-       - add replacement function for siginterrupt on the off chance that a
-         system has posix signals but lacks siginterrrupt
-
-lib/readline/display.c
-       - fix from Tim Waugh at Red Hat to speed up inserting characters into
-         long lines in a UTF-8 environment by optimizing the calculation of
-         the first difference between old and new lines by checking to see
-         whether the old line is a subset of the new
-
-                                  11/29
-                                  -----
-lib/malloc/stats.c
-       - break code that opens file (and interprets %p) into separate function
-         _imalloc_fopen(char *s, char *fn, char *def, char *defbuf, size_t defsiz)
-         for use by rest of library
-       - default stats file is now `stats.PID'
-
-lib/malloc/trace.c
-       - new function, malloc_set_tracefn (char *s, char *fn), sets tracing
-         to the file named by FN (with %p interpolated as the pid), using
-         some default if FN is NULL
-
-lib/malloc/shmalloc.h
-       - new extern declaration for malloc_set_tracefn
-
-                                  12/4
-                                  ----
-execute_cmd.c
-       - combined several common strings from do_piping() into one
-         dup_error() function
-
-builtins/common.[ch]
-       - new function, `sh_notbuiltin(s)' prints error message about s not
-         being a shell builtin
-
-builtins/{builtin,enable}.def
-       - call sh_notbuiltin instead of using literal string
-
-{arrayfunc,expr,error}.c
-       - use one string variable for `bad array subscript' error message; use
-         in calls to various error reporting functions
-
-Makefile.in
-       - add variables for localedir and the PACKAGE_* variables, auto-set
-         by configure
-
-configure.in
-       - un-cache values for gettext, textdomain, and bindtextdomain if they're
-         not in libc but in libintl so the right variables get set
-
-bashintl.h
-       - add necessary defines for marking strings to be translated using
-         gettext
-
-locale.c
-       - set textdomain and directory in set_default_locale
-       - don't call textdomain with the value of $TEXTDOMAIN, since we don't
-         want to override the default domain ("bash")
-       - don't call bindtextdomain unless default_domain already has a value
-       - when translating $"..." strings, use dgettext with the script's
-         default domain (value of $TEXTDOMAIN)
-
-                                  12/9
-                                  ----
-builtins/mkbuiltins.c
-       - include "bashintl.h" in the generated "builtins.c"
-
-support/{config.rpath,mkinstalldirs}
-       - new files to support gettext i18n
-
-ABOUT-NLS
-       - new readme file for gettext internationalization
-
-po/{Makefile.in.in,Rules-quot,boldquot.sed,en@boldquot.header,en@quot.header,insert-header.sin,quot.sed,remove-potcdate.sin}
-po/{POTFILES.in,bash.pot}
-       - new files for gettext
-
-lib/intl
-       - new directory, with libintl stuff from gettext
-
-aclocal.m4
-       - add m4 files from gettext distribution needed by libintl
-
-configure.in
-       - create po/Makefile.in and lib/intl/Makefile in AC_OUTPUT
-       - add call to AM_GNU_GETTEXT to initialize gettext stuff
-
-Makefile.in
-       - use mkinstalldirs instead of mkdirs in the `installdirs' target
-       - changes for intl/ and po/ subdirectories in build and install
-       - changes to have libintl linked in, as determined by configure
-       - changes to have libintl built, just in case it's used (though I'd
-         rather not)
-
-                                  12/10
-                                  -----
-config.h.in
-       - additional #defines required by the libintl library
-       - add ENABLE_NLS define for AM_GNU_GETTEXT
-       - take out defines for HAVE_{BINDTEXTDOMAIN,GETTEXT,TEXTDOMAIN}
-
-configure.in
-       - removed old tests for libintl and gettext/textdomain/bindtextdomain
-
-locale.c
-       - remove HAVE_GETTEXT code; we have gettext unconditionally now
-
-bashintl.h
-       - change to include "gettext.h" and remove the conditional code based
-         on whether or not gettext is present
-
-                                  12/16
-                                  -----
-lib/readline/vi_mode.c
-       - fix problem with rl_vi_eWord that caused it to skip over the last
-         character of a word if invoked while point was on the next-to-last
-         character
-
-                                  12/18
-                                  -----
-{arrayfunc,bashhist,bashline,error,eval,execute_cmd,expr,general,input,jobs}.c
-{mailcheck,make_cmd,nojobs,pcomplete,pcomplib,print_cmd,redir,shell,sig}.c
-{subst,test,trap,variables,version,xmalloc}.c
-parse.y
-builtins/{common,evalfile,getopt}.c
-builtins/{bind,break,caller,cd,complete,declare,enable,exec,exit,fc,fg_bg}.def
-builtins/{hash,help,history,jobs,kill,printf,pushd,read,return,set,setattr}.def
-builtins/{shift,shopt,source,suspend,type,ulimit,umask}.def
-lib/sh/{fmtulong,netopen}.c
-       - include "bashintl.h" for gettext defines
-
-Makefile.in
-       - add `-DBUILDTOOL' to CFLAGS for buildversion.o
-
-bashintl.h
-       - if `BUILDTOOL' is defined, define ENABLE_NLS to 0 so we don't have
-         to compile and link in the gettext stuff
-
-Makefile.in,lib/sh/Makefile.in,builtins/Makefile.in
-       - update dependencies on bashintl.h and include/gettext.h
-
-                                  12/19
-                                  -----
-{arrayfunc,bashhist,bashline,error,eval,execute_cmd,expr,general,input,jobs}.c
-{mailcheck,make_cmd,nojobs,pcomplete,pcomplib,print_cmd,redir,shell,sig}.c
-{subst,test,trap,variables,version,xmalloc}.c
-builtins/{common,evalfile,getopt}.c
-builtins/{bind,break,caller,cd,complete,declare,enable,exec,exit,fc,fg_bg}.def
-builtins/{hash,help,history,jobs,kill,let,printf,pushd,read,return,set}.def
-builtins/{setattr,shift,shopt,source,suspend,type,ulimit,umask}.def
-lib/sh/{fmtulong,netopen}.c
-lib/malloc/{malloc,stats,table,watch}.c
-       - mark up strings in source files for gettext processing
-
-lib/malloc/imalloc.h
-       - include "bashintl.h" if SHELL is defined, otherwise make _(x) an
-         identity define
-
-lib/malloc/Makefile.in
-       - add dependencies on ${topdir}/bashintl.h and ${BASHINCDIR}/gettext.h
-
-                                  12/21
-                                  -----
-bashline.c
-       - make sure we index into rl_line_buffer with indexes > 0 in
-         attempt_shell_completion
-
-                                  12/31
-                                  -----
-Makefile.in
-       - descend into `po' and run make recursively for the various clean
-         targets
-
-                                1/4/2004
-                                --------
-include/shmbutil.h
-       - two new macros:  BACKUP_CHAR(str, strsize, i), which backs up one
-         multibyte character in STR starting at index I, and
-         BACKUP_CHAR_P(str, strsize, p), which backs up one multibyte
-         character in STR starting at P, which is a char *
-
-                                   1/6
-                                   ---
-pcomplete.c
-       - in pcomp_filename_completion_function, use the quote character
-         readline found (and assigned to rl_complete_quote_character) when
-         dequoting the filename by a completion call from readline (when
-         rl_dispatching != 0)
-
-bashline.c
-       - ditto for bash_directory_completion_matches
-
-                                   1/7
-                                   ---
-lib/readline/complete.c
-       - new variable,  rl_completion_found_quote, set to non-zero value if
-         readline finds what it thinks is quoting in the word to be completed
-
-lib/readline/readline.h
-       - extern declaration for rl_completion_found_quote
-
-                                   1/8
-                                   ---
-lib/readline/doc/rltech.texi
-       - documented rl_completion_found_quote
-
-lib/readline/complete.c
-       - in compute_lcd_of_matches, if it looks like what the user typed was
-         dequoted before generating filename matches, dequote the user's
-         text again before figuring out the case-insensitive lcd
-
-                                   1/9
-                                   ---
-lib/readline/display.c
-       - fix from Edward Catmur <ed@catmur.co.uk> to logic that handles
-         invisible characters in prompt string.  Original code was wrong
-         about local_prompt_prefix; it gave incorrect results when prompt
-         contained invisible characters after a line break
-
-                                  1/10
-                                  ----
-subst.c
-       - new function, mb_substring(), does character (possibly multibyte)
-         oriented rather than strictly byte-oriented substring extraction.
-         The passed indices, rather than strictly indexing into the string,
-         indicate character positions that need to be calculated.  From
-         Tim Waugh <twaugh@redhat.com>
-       - change parameter_brace_substring to use mb_substring if necessary
-
-included/shmbutil.h
-       - new define SADD_MBQCHAR_BODY, common code for adding a quoted
-         (preceded by CTLESC) multibyte character to an accumulating string
-         in the subst.c expansion code
-
-subst.c
-       - use SADD_MBQCHAR_BODY in expand_word_internal
-       - new static function, mb_getcharlens, allocates and returns an array
-         of character lengths for (possibly multibyte) characters in the
-         argument string
-       - change pattern matching operations to use while loops instead of
-         for loops to handle multibyte characters better (no more simple
-         increment or decrement)
-       - change pattern matching operations to use multibyte character
-         operations instead of simple increments and decrements.  Don't
-         use BACKUP_CHAR_P -- use the mblen array instead, because that
-         avoids the N**2 behavior of having to count from the beginning
-         of the string each time you want to back up one character.  Changes
-         to remove_pattern and match_pattern
-
-                                  1/12
-                                  ----
-lib/readline/display.c
-       - make expand_prompt count multbyte characters in the prompt string
-         by using _rl_find_next_mbchar (and copying possibly more than one
-         byte) instead of a simple increment and single byte copy
-
-                                  1/13
-                                  ----
-lib/readline/display.c
-       - expand_prompt takes a new reference argument -- it returns
-         the actual count of (possibly multibyte) characters displayed
-         on the screen
-       - don't short-circuit in expand_prompt unless we're not going to
-         be using any multibyte characters
-       - change calls  to expand_prompt to pass an argument for the
-         number of physical characters the prompt occupies
-         (prompt_physical_chars)
-       - initialize `lpos' (the physical cursor position) from
-         prompt_physical_chars in rl_redisplay
-
-lib/readline/mbutil.c
-       - in _rl_find_prev_mbchar_internal, if mbrtowc returns -1 or -2, and
-         we assume that the character is a single-byte char, make sure we
-         update `prev' so it doesn't get lost.  Fixes problems encountered
-         when a non-ascii char is the last char on the line and we're moving
-         back past it with ^B, and other display problems caused by the same
-         situation
-
-                                  1/15
-                                  ----
-lib/readline/doc/rltech.texi
-       - document RL_PROMPT_START_IGNORE and RL_PROMPT_END_IGNORE in the
-         description of rl_expand_prompt()
-
-                                  1/20
-                                  ----
-bashline.c
-       - in initialize_readline, make sure M-C-j and M-C-m are still bound to
-         vi-editing-mode before unbinding them -- they may have been rebound
-         in an inputrc
-
-variables.c
-       - in unbind_variable, unset attributes other than `local' and exported
-         (if the variable came from a temporary environment) when unsetting a
-         local variable inside a function
-
-                                  1/21
-                                  ----
-configure.in
-       - add libintl build directory to the list of include directories if
-         it's being built (using INTL_BUILDDIR)
-
-Makefile.in,{builtins,lib/{sh,malloc}}/Makefile.in
-       - substitute LIBBUILD as ${BUILD_DIR}/${LIBSUBDIR}
-       - define INTL_BUILDDIR as ${LIBBUILD}/intl
-
-{builtins,lib/sh}/Makefile.in
-       - make sure INTL_INC is added to  the list of include directories
-       - make sure INTL_LIBSRC is defined with the correct value
-
-{configure,Makefile,{builtins,lib/sh}/Makefile}.in
-       - substitute LIBINTL_H as ${INTL_BUILDDIR}/libintl.h
-
-Makefile.in,builtins/Makefile.iin
-       - all files depending on bashintl.h also depend on ${LIBINTL_H}
-         (which may be empty)
-
-Makefile.in
-       - make a rule telling how to build lib/intl/libintl.h if necessary
-
-                                  1/24
-                                  ----
-builtins/read.def
-       - make sure that the array name supplied as an argument to -a is a
-         valid identifier
-
-parse.y
-       - make the \W expansion abbreviate $HOME with a ~ (seems to be more
-         useful)
-
-doc/{bash.1,bashref.texi}
-       - document new behavior of \W
-
-subst.c
-       - make sure parameter_brace_expand_rhs uses the first character of
-         $IFS when making the string to return from the expanded word
-         (which, in the case of "$@" or $@, contains multiple words that
-         need to be separated)
-
-                                  1/25
-                                  ----
-builtins/common.c
-       - change get_job_spec to make `%' by itself or an empty argument
-         return NO_JOB
-
-jobs.h
-       - new possible value for a job spec return value:  BAD_JOBSPEC
-         (for syntactically invalid specs, like the empty string)
-
-shell.c
-       - in open_shell_script, check to see whether or not we can find and
-         open the filename argument before setting dollar_vars[0] or
-         manipulating BASH_SOURCE, so the error messages come out better
-
-subst.c
-       - in string_list_internal, short-circuit right away to savestring()
-         if the list only has a single element
-
-                                  1/28
-                                  ----
-lib/readline/rltypedefs.h
-       - new set of typedefs for functions returning char * with various
-         arguments (standard set)
-
-lib/readline/complete.c
-       - new function pointer, rl_completion_word_break_hook, called by
-         _rl_find_completion_word, used to set word break characters at
-         completion time, allowing them to be position-based
-
-lib/readline/doc/rltech.texi
-       - documented rl_completion_word_break_hook
-
-lib/readline/kill.c
-       - added new rl_unix_filename_rubout, which deletes one filename
-         component in a Unix pathname backward (delimiters are whitespace
-         and `/')
-
-lib/readline/readline.h
-       - extern declaration for rl_unix_filename_rubout
-
-lib/readline/funmap.c
-       - new bindable readline command `unix-filename-rubout'
-
-lib/readline/doc/{readline.3,rluser.texi},doc/bash.1
-       - documented `unix-filename-rubout'
-
-                                  1/29
-                                  ----
-lib/readline/histexpand.c
-       - change history_tokenize_internal to handle non-whitespace delimiter
-         characters by creating separate fields (like the shell does when
-         splitting on $IFS)
-
-                                  1/30
-                                  ----
-lib/glob/xmbsrtowcs.c
-       - new function, xdupmbstowcs, for convenience:  calls xmbsrtowcs
-         while allocating memory for the new wide character string
-       - some small efficiency improvments to xmbsrtowcs
-
-include/shmbutil.h
-       - extern declaration for xdupmbstowcs
-
-lib/glob/strmatch.h
-       - include config.h for definition of HANDLE_MULTIBYTE
-       - remove the HAVE_LIBC_FNM_EXTMATCH tests
-       - new extern declaration for wcsmatch(whchar_t *, wchar_t *, int)
-
-configure.in
-       - remove call to BASH_FUNC_FNMATCH_EXTMATCH; it's no longer used
-
-lib/glob/smatch.c
-       - simplify xstrmatch() by using xdupmbstowcs() instead of inline code
-
-lib/glob/glob.c
-       - modify mbskipname() to avoid the use of alloca
-       - simplify mbskipname() by using xdupmbstowcs() instead of inline code
-       - simplify glob_pattern_p() by using xdupmbstowcs() instead of
-         inline code
-       - fix memory leak in wdequote_pathname
-       - simplify wdequote_pathname() by using xdupmbstowcs() instead of
-         inline code
-
-lib/glob/strmatch.c
-       - new function, wcsmatch(), `exported' wide-character equivalent of
-         strmatch()
-
-subst.c
-       - old match_pattern is now match_upattern
-       - match_pattern now either calls match_upattern or converts
-         mbstrings to wide chars and calls match_wpattern
-       - match_upattern reverted to old non-multibyte code
-       - new function: match_pattern_wchar, wide character version of
-         match_pattern_char
-
-                                   2/1
-                                   ---
-subst.c
-       - old remove_pattern is now remove_upattern
-       - remove_upattern reverted to old non-multibyte code (pre-Waugh patch)
-       - new multibyte version of remove_pattern: remove_wpattern
-       - remove_pattern now calls either remove_upattern or converts a
-         multibyte string to a wide character string and calls
-         remove_wpattern
-       - new function, wcsdup, wide-character version of strdup(3)
-
-                                   2/4
-                                   ---
-print_cmd.c
-       - temporarily translate a >&filename redirection from
-         r_duplicating_output_word to r_err_and_out (as the expansion code
-         in redir.c does) so it prints without a leading `1' (file
-         descriptor)
-
-                                   2/5
-                                   ---
-aclocal.m4
-       - add a check for wcsdup to BASH_CHECK_MULTIBYTE
-
-config.h.in
-       - add HAVE_WCSDUP define
-
-                                   2/9
-                                   ---
-builtins/shift.def
-       - fix a call to sh_erange that possibly dereferences a NULL pointer
-
-                                  2/12
-                                  ----
-general.c
-       - start at a general set of file property checking functions:
-         file_isdir(), file_iswdir() (is writable directory)
-
-general.h
-       - extern declarations for new functions
-
-lib/sh/tmpfile.c
-       - use file_iswdir() to make sure the temporary directory used for
-         here documents and other temp files is writable in get_sys_tmpdir()
-
-                                  2/17
-                                  ----
-bashline.c
-       - fix conditional binding of emacs-mode M-~ -- there is a default
-         binding for it (rl_tilde_expand), so a straight call to
-         rl_bind_key_if_unbound_in_map doesn't do the right thing
-
-                                  2/27
-                                  ----
-[bash-3.0-beta1 released]
-
-                                  2/29
-                                  ----
-subst.c
-       - fixed expansion so referencing $a, when a is an array variable
-         without an element assigned to index 0, exits the shell when
-         `-u' is enabled
-
-expr.c
-       - make the exponentiation operator (**) associative, so things like
-         2**3**4  work right (change `if' to `while')
-
-                                   3/3
-                                   ---
-lib/sh/strftime.c
-       - SCO Unix 3.2, like Solaris, requires that the system's `timezone'
-         variable be declared as long
-
-lib/readline/{bind,histfile,input,parens}.c
-       - changes for Tandem (including `floss.h' (?))
-
-                                   3/4
-                                   ---
-subst.c
-       - change param_expand to quote the entire expanded string instead
-         of just the escape characters if the expansion appears between
-         double quotes or in a here-document (for simple variable expansions
-         or expansions of positional parameters)
-
-                                   3/8
-                                   ---
-subst.c
-       - analogous changes to parameter_brace_expand_word to fix the same
-         quoting problem as on 3/4; fix callers to understand that  the
-         value returned might be quoted now and should be dequoted if
-         necessary
-       - add a `quoted' argument to get_var_and_type, change callers
-       - change today's fix and fix from 3/4 to not call quote_string if the
-         value is "" (because quote_string turns that into CTLNUL\0)
-
-                                   3/9
-                                   ---
-builtins/cd.def
-       - resetpwd() now takes a `caller' argument so it can be used by pwd
-         as well as cd
-       - change pwd_builtin to call resetpwd() if sh_physpath() fails to
-         return a valid pathname
-
-                                  3/14
-                                  ----
-expr.c
-       - reworked exp0 and readtok() to make post-increment and post-decrement
-         into real tokens, which may be separated from their accompanying
-         variables by whitesapce
-       - made analogous changes to readtok() to make pre-increment and
-         pre-decrement work when separated from their accompanying identifier
-         by whitespace
-
-                                  3/18
-                                  ----
-lib/readline/misc.c
-       - in rl_maybe_unsave_line, don't force rl_replace_line to clear
-         the undo_list, since it might point directly at an undo list
-         from a history entry (to which we have no handle)
-
-                                  3/19
-                                  ----
-lib/readline/display.c
-       - rl_save_prompt and rl_restore_prompt now save and restore the value
-         of prompt_physical_chars
-       - set prompt_physical_chars in rl_redisplay when expand_prompt has
-         not been called (e.g., when rl_display_prompt is set and is not
-         equal to rl_prompt, like when searching)
-
-lib/readline/histexpand.c
-       - don't call add_history in history_expand if the `:p' modifier is
-         supplied; leave that to the calling application.  This means that
-         `history -p', for example, will not add anything to the history
-         list (as documented), nor will history expansions invoked by
-         emacs-mode M-C-e line editing
-
-config-bot.h
-       - check whether HAVE_DECL_SYS_SIGLIST is defined to 1 rather than just
-         defined, to work around newer versions of autoconf defining it to 0
-
-config.h.in
-       - change default status of HAVE_MALLOC to #undef instead of #define
-
-bashhist.c
-       - extern declarations for rl_done and rl_dispatching
-       - don't call re_edit from pre_process_line unless rl_dispatcing is zero,
-         so we don't call it from something like shell-expand-line
-       - change pre_process_line to add an expanded history specification
-         that returned `print only' to the history list, since history_expand
-         no longer does it (and, when using readline, do it only when
-         rl_dispatching is zero)
-
-                                  3/22
-                                  ----
-config.h.in,aclocal.m4
-       - change bash-specific functions that look in struct dirent to define
-         HAVE_STRUCT_DIRENT_xxx, like AC_CHECK_MEMBERS does (though the
-         functions are otherwise the same)
-       - new function, BASH_STRUCT_DIRENT_D_NAMLEN, define
-         HAVE_STRUCT_DIRENT_D_NAMLEN if struct dirent has a `d_namlen' member
-
-configure.in
-       - call BASH_STRUCT_DIRENT_D_NAMLEN
-
-include/posixdir.h
-       - use new and renamed HAVE_STRUCT_DIRENT_D_xxx defines
-
-                                   4/7
-                                   ---
-builtins/cd.def
-       - ensure that we print out a non-null pathname after getting a
-         directory from CDPATH and canonicalizing it (e.g., if the result
-         exceeds PATH_MAX in length and the_current_working_directory is
-         set to NULL)
-
-                                  4/12
-                                  ----
-print_cmd.c
-       - new function to print out assignment statements when `set -x' has
-         been enabled: xtrace_print_assignment
-
-externs.h
-       - extern declaration for xtrace_print_assignment
-
-                                  4/13
-                                  ----
-{subst,variables}.c
-       - call xtrace_print_assignment instead of using inline code
-
-jobs.c
-       - if turning on job control when it was previously off, set
-         pipeline_pgrp to 0 in set_job_control so make_child puts
-         subsequent children in their own process group
-
-                                  4/14
-                                  ----
-general.c
-       - new function, legal_alias_name, called to decide whether an
-         argument to add_alias is a valid alias name -- essentially any
-         character except one which must be quoted to the shell parser
-         and `/'
-
-general.h
-       - new extern declaration for legal_alias_name
-
-builtins/alias.def
-       - `unalias' now returns failure status if no NAME arguments are
-         supplied and -a is not given
-       - call legal_alias_name to make sure alias name is valid before
-         calling add_alias from alias_builtin
-
-                                  4/19
-                                  ----
-include/shmbutil.h
-       - include <config.h> for definition of HANDLE_MULTIBYTE rather than
-         duplicating logic
-
-                                  4/20
-                                  ----
-
-doc/{bash.1,bashref.texi}
-       - make sure $0 is consistently referred to as a `special parameter'
-       - document which characters are now not allowed in alias names
-
-                                  4/23
-                                  ----
-
-builtins/{jobs,kill,wait}.def
-       - removed requirement that job control be enabled to use job control
-         notation, as SUSv3 implies
-
-subst.c
-       - based on a message from David Korn, change param_expand to not call
-         string_list_dollar_star if the only quoting is Q_HERE_DOCUMENT --
-         quoted here documents are like double quoting, but not exactly
-       - analogous changes to list_remove_pattern and pos_params
-
-                                  4/24
-                                  ----
-lib/readline/doc/rluser.texi
-       - fix error in description of emacs-mode C-xC-e command (uses $VISUAL
-         instead of $FCEDIT)
-
-                                  4/28
-                                  ----
-support/bashbug.sh
-       - integrate a patch from Stefan Nordhausen
-         <nordhaus@informatik.hu-berlin.de> that reduces race conditions
-         by using a temporary directory inside $TMPDIR and creating the
-         temp files in that
-
-                                  4/30
-                                  ----
-builtins/common.c
-       - use pathconf(".", _PC_PATH_MAX) where available to size the argument
-         to getcwd() rather than using a straight PATH_MAX
-
-builtins/cd.def
-       - if get_working_directory fails and returns null (causing resetpwd
-         to return NULL), use set_working_directory to set $PWD to the
-         absolute pathname for which chdir just succeeded
-
-                                   5/1
-                                   ---
-lib/readline/vi_mode.c
-       - in rl_vi_change_to, call _rl_vi_set_last with rl_numeric_arg instead
-         of `last', since they're equal at call time and rl_vi_domove can
-         change rl_numeric_arg (which vi apparently updates).  Fixes redo bug
-         of `c2....' reported by Marion Berryman <mwberryman@copper.net>
-
-                                   5/4
-                                   ---
-parse.y
-       - fix decode_prompt_string to properly deal with strftime() returning 0
-
-                                   5/6
-                                   ---
-variables.c
-       - in make_local_array_variable, return an already-existing local array
-         variable immediately rather than creating a new array (causing a
-         memory leak)
-
-                                   5/8
-                                   ---
-lib/readline/vi_mode.c
-       - change rl_vi_domove to set rl_explicit_arg before calling
-         rl_digit_loop1 so that multi-digit numeric arguments work right
-       - _rl_vi_last_command is no longer static
-
-lib/readline/rlprivate.h
-       - new extern declaration for _rl_vi_last_command
-
-lib/readline/text.c
-       - change rl_newline to only call _rl_vi_reset_last if the last command
-         (_rl_vi_last_command) is not a text modification command.  This lets
-         the last-command and last-argument work across command lines
-
-                                  5/13
-                                  ----
-builtins/common.c
-       - use getcwd(0,0) rather than providing a fixed pathname with a fixed
-         length (PATH_MAX) so getcwd() will allocate sufficient memory
-
-aclocal.m4
-       - change BASH_FUNC_GETCWD to check whether or not getcwd(0,0) will
-         allocate memory for the returned value -- nobody implements that
-         and getcwd-via-popen, so it should capture the old test as well
-
-                                  5/27
-                                  ----
-
-builtins/trap.def
-       - the historical behavior of assuming that a signal's handling should
-         be set to its original disposition is only in effect if a single
-         argument is given, otherwise the first argument is assumed to be a
-         command to execute
-       - when in posix mode, if trap gets a single argument, display an
-         error message and return EX_USAGE
-       - change the help message and usage string to better explain trap's
-         behavior
-
-doc/{bash.1,bashref.texi}
-       - describe the new default behavior when the first argument is a
-         signal spec
-       - note that signal names are case insensitive and the SIG prefix is
-         optional in arguments to `trap'
-       - note that signal name arguments to `kill' are case-insensitive
-
-lib/readline/display.c
-       - make sure rl_on_new_line_with_prompt sets rl_display_prompt to
-         rl_prompt (just to make sure it's set)
-       - have rl_on_new_line_with_prompt use local_prompt if it's set
-
-                                   6/2
-                                   ---
-subst.c
-       - in string_extract_double_quoted, cope with extract_delimited_string
-         returning NULL, as it can when attempting completion on an unclosed
-         command substitution
-
-                                  6/24
-                                  ----
-lib/readline/complete.c
-       - change print_filename to add a `/' to listed directory names if
-         `mark-directories' has been enabled
-
-builtins/umask.def
-       - make sure that the mask passed to parse_symbolic_mode has all but
-         the operative low eight bits masked off, to avoid complementing
-         all 0s to -1, which is the error return code.  This makes things
-         like `a=rwx' and `ugo=rwx' work and turn off the umask
-
-                                  6/26
-                                  ----
-builtins/getopts.def
-       - when `getopts' reaches the end of options, unset OPTARG before
-         returning EOF.  In response to a bug report from Apple
-
-configure.in
-       - when cross-compiling, don't set CPPFLAGS_FOR_BUILD and
-         LDFLAGS_FOR_BUILD from CPPFLAGS and LDFLAGS, respectively, since
-         those are for the target instead of the build platform (report
-         from robert@schwebel.de)
-
-shell.c
-       - a shell whose standard error (but not standard output) is directed
-         to a terminal should be interactive, according to POSIX/SUS.  This
-         means that sh > sh.out will start an interactive shell.  Bug report
-         from llattanzi@apple.com
-
-doc/{bash.1,bashref.texi}
-       - change mention of standard output to standard error in definition
-         of interactive shell
-
-lib/readline/vi_mode.c
-       - new convenience function, rl_vi_start_inserting, calls
-         _rl_vi_set_last to save the last textmod command state and then calls
-         rl_vi_insertion_mode to enter insert mode
-       - change functions to use rl_vi_start_inserting
-
-lib/readline/readline.h
-       - extern declaration for rl_vi_start_inserting
-
-bashline.c
-       - new function for vi-mode completion, bash_vi_complete.  Does
-         filename expansion as POSIX specifies, unlike the default readline
-         bindings (which don't know about globbing).  Bound to `\', `*',
-         and `=' in vi command keymap.  Internals very similar to
-         rl_vi_complete; just calls bash glob expansion functions
-
-lib/readline/vi_mode.c
-       - change rl_vi_change_char so that an entire change is a single
-         undoable event, rather than each individual change in a [count]r
-         command
-       - fix rl_vi_change_char so that replacing characters up to EOL works
-         rather than generating rl_ding
-       - fix rl_vi_change_case so that replacing characters up to EOL works
-         rather than generating rl_ding
-
-                                  6/28
-                                  ----
-builtins/echo.def
-       - call clearerr(stdout) before writing anything and testing its
-         failure or success
-
-                                  6/29
-                                  ----
-bashline.c
-       - only set rl_explicit_arg in bash_glob_complete_word if readline is
-         in emacs mode; let bash_vi_complete take care of setting it in vi
-         mode
-       - fix bash_vi_complete to only set rl_explicit_arg unless the posix
-         conditions are met: no globbing characters in the vi `bigword'
-         being completed
-
-                                  6/30
-                                  ----
-[bash-3.0-rc1 released]
-
-                                   7/1
-                                   ---
-lib/readline/complete.c
-       - make sure `extension_char' is initialized before deciding whether
-         or not the append a `/' to a possible completion when visible-stats
-         is not enabled
-
-                                   7/2
-                                   ---
-subst.c
-       - fix a boundary overrun in string_extract_double_quoted that could
-         occur when the word completion code attempts to expand an incomplete
-         construct (like a quoted unclosed command substitution)
-
-                                   7/4
-                                   ---
-subst.c
-       - set tempenv_assign_error to non-zero if an assignment to the
-         temporary environment fails for some reason (e.g., attempted
-         assignment to a readonly variable)
-
-execute_cmd.c
-       - fix execute_simple_command to force a non-interactive shell in
-         POSIX mode to exit if an assignment to the temporary environment
-         preceding a special builtin fails (bug report from
-         llattanzi@apple.com)
-
-                                   7/5
-                                   ---
-bashline.c
-       - in bash_directory_completion_hook, don't perform word expansions
-         if the filename appears to have been completed from the file
-         system rather than typed in by the user.  Bug reported by Tim
-         Waugh <twaugh@redhat.com>
-
-                                   7/7
-                                   ---
-lib/readline/misc.c
-       - if _rl_maybe_save_line is being asked to save a line other than
-         what's already saved, free up the current saved line and save the
-         current contents of rl_line_buffer.  Bug reported by
-         llattanzi@apple.com
-
-                                  7/12
-                                  ----
-lib/readline/input.c
-       - do better EOF detection in rl_gather_tyi -- if a read returns 0 when
-         the fd is in non-blocking mode, stuff an EOF into the input stream
-         (reported by mattias@virtutech.se)
-
-                                  7/13
-                                  ----
-lib/readline/vi_mode.c
-       - make sure rl_vi_put honors `count' arguments and yanks things
-         multiple times if requested
-
-                                  7/16
-                                  ----
-builtins/umask.def
-       - make sure that the `who' part of the umask symbolic mode argument
-         defaults to `a' if it's missing
-
-flags.c
-       - make sure that maybe_make_restricted only gets called after the
-         shell is initialized, so `bash -r' doesn't result in inappropriate
-         error messages
-
-[bash-3.0 frozen]
-
-                                  7/27
-                                  ----
-doc/Makefile.in
-       - small fixes
+                                7/27/2004
+                                ---------
 
-[bash-3.0-released]
+[bash-3.0 released]
 
                                   7/28
                                   ----
@@ -16167,3 +6524,140 @@ subst.c
          internal `declare -A xxx' before doing the variable assignment,
          because associative arrays have to be declared before being assigned
          to as such; uses new function make_internal_declare
+
+                                  6/30
+                                  ----
+subst.[ch]
+       - dequote_escapes is now external; add declaration in subst.h
+       - remove_quoted_nulls is now external; add declaration in subst.h
+
+array.[ch]
+       - new functions for completeness:  array_dequote, array_dequote_escapes,
+         array_remove_quoted_nulls
+       - array_subrange now calls array_remove_quoted_nulls for "${array[*]}".
+         Fixes bug reported by Vitor De Araujo <ux386@yahoo.com.br>
+       - array_patsub now calls array_remove_quoted_nulls for "${array[*]}"
+       - array_modcase now calls array_remove_quoted_nulls for "${array[*]}"
+       - array_patsub now handles the mflags&MATCH_QUOTED case appropriately
+         (that implies "${array[@]}")
+
+subst.c
+       - new functions for case-modifying word expansion suppport:
+         pos_params_casemod, parameter_brace_casemod; from bash-4.0-devel branch
+
+assoc.c
+       - new functions for completeness: assoc_remove_quoted_nulls
+       - assoc_patsub now calls assoc_remove_quoted_nulls for "${assoc[*]}"
+       - assoc_modcase now calls assoc_remove_quoted_nulls for "${array[*]}"
+       - assoc_patsub now handles the mflags&MATCH_QUOTED case appropriately
+         (that implies "${assoc[@]}")
+
+                                   7/1
+                                   ---
+assoc.[ch]
+       - new function, assoc_subrange: takes a hash table, converts it to a
+         word list, and performs the subrange and indexing on that list
+       - new functions for completeness: assoc_dequote, assoc_dequote_escapes
+
+subst.c
+       - verify_substring_values now takes the variable SHELL_VAR * as its
+         new first argument; changed callers
+       - change verify_substring_values to handle associative arrays using the
+         number of elements as the upper bound
+       - brought in code to do case-modifying word expansions from
+         bash-4.0-devel branch, conditional on CASEMOD_EXPANSIONS
+
+input.c
+       - if the read(2) in getc_with_restart returns -1/EAGAIN, turn off
+         non-blocking mode on the file descriptor and try again.  Fixes
+         problem reported by Glynn Clements <glynn@clements.plus.com>
+
+                                   7/2
+                                   ---
+doc/{bash.1,bashref.texi}
+       - documented new case-modifying word expansions
+
+make_cmd.c
+       - change make_here_document to display a warning message including the
+         start line of a here document if it ends up delimited by EOF.
+         Addresses issue raised by Richard Neill <rn214@hermes.cam.ac.uk>
+
+subst.c
+       - in do_assignment_internal, make sure the `invisible' attribute is
+         unset before returning success
+
+                                   7/3
+                                   ---
+config-top.h
+       - add `CASEMOD_CAPCASE' define to include or exclude the ~[~] word
+         expansion and the `capcase' variable attribute (declare -c)
+
+builtins/declare.def
+       - add support for manipulating the case-modifying attributes (new
+         declare -clu); from bash-4.0-devel branch
+
+builtins/setattr.def
+       - add support for reporting case-modifying attributes (-clu attributes);
+         from bash-4.0-devel branch
+
+doc/{bash.1,bashref.texi}
+       - specify that the read builtin timing out results in a return value
+         greater than 128
+       - document new `-l' and `-u' options to declare/typeset/local.  Leave
+         `-c' undocumented for now
+
+                                   7/4
+                                   ---
+make_cmd.[ch]
+       - make_coproc_command: construct a coproc; from bash-4.0-devel tree
+
+dispose_cmd.c
+       - dispose coproc command; from bash-4.0-devel tree
+
+copy_cmd.c
+       - copy a coproc command; from bash-4.0-devel tree
+
+print_cmd.c
+       - print a coproc command; from bash-4.0-devel tree
+
+shell.c
+       - dispoe the current coproc on shell exit; from bash-4.0-devel tree
+
+redir.c
+       - when closing redirects as part of user redirections, check whether
+         or not active coprocess fds are being closed and close the coproc
+         if so; from bash-4.0-devel tree
+
+config.h.in
+       - add define for COPROCESS_SUPPORT to include coprocesses
+
+configure.in
+       - add support for configuring coprocesses into and out of the build
+
+jobs.c
+       - in waitchld, check whether or not a coproc processs has exited;
+         from the bash-4.0-devel tree
+
+                                   7/5
+                                   ---
+doc/bashref.texi
+       - document new --enable-coprocesses option that includes coprocess
+         support
+
+execute_cmd.c
+       - add functions for coprocess support, including execute_coproc and
+         code to call it when command->type == cm_coproc; from
+         bash-4.0-devel tree
+
+lib/sh/fdprintf.c
+       - new library function fdprintf(int fd, const char *format, ...);
+         printf to a file descriptor
+
+{configure,config.h}.in
+       - support for detecting fdprintf and compiling in replacement
+
+Makefile.in,lib/sh/Makefile.in
+       - add rules to include fdprintf.o
+
+doc/{bash.1,bashref.texi}
+       - documented coprocesses and `coproc' reserved word
index 67711244f71b01421987fe9354999e51875b6ccb..573816cd30d0b58c135566bf130eaf30ad6c2a0f 100644 (file)
-                                4/9/2001
-                                --------
-[bash-2.05 released]
-
-                                  4/10
-                                  ----
-redir.c
-       - check return value of fclose() in write_here_document() for error
-         returns; don't just rely on fwrite() failing
-
-support/bashbug.sh
-       - set TMPDIR to /tmp if it's null or unset
-       - use $TMPDIR in the TEMP tempfile name template
-       - fixed the call to `mktemp', if it exists, to make it more portable
-
-jobs.c
-       - if WCONTINUED is not defined, define it to 0 and add a define for
-         WIFCONTINUED(wstatus) which expands to 0
-       - add WCONTINUED to the flags passed to waitpid(2) in waitchld()
-       - don't increment children_exited if waitpid's status is WIFCONTINUED,
-         since we don't want to call a SIGCHLD trap handler in this case
-       - in waitchld(), we set child->running to 1 if WIFCONTINUED(status)
-         is non-zero
-       - make sure pretty_print_job doesn't check for the core dump bit if
-         the process has been continued; it's only valid if the job is dead
-       - in set_job_status_and_cleanup, set the job to JRUNNING if job_state
-         is non-zero and the job was previously marked as JSTOPPED
-
-configure.in
-       - add -DBROKEN_DIRENT_D_INO to interix LOCAL_CFLAGS
-
-lib/glob/glob.c
-       - if BROKEN_DIRENT_D_INO is defined, define REAL_DIR_ENTRY to 1
-
-jobs.c
-       - in kill_pid, we only need to block and unblock SIGCHLD if the
-         `group' argument is non-zero, since otherwise we just call `kill'
-         on the pid argument
-
-version.c
-       - update copyright date to 2001
-
-bashline.c
-       - prog_complete_return needs to take a `const char *' as its first
-         argument
-       - history_completion_generator needs to take a `const char *' as
-         its first argument, and `text' needs to be a `const char *'
-
-                                  4/11
-                                  ----
-redir.c
-       - fixed a weird typo in redir_special_open, case RF_DEVFD, added
-         call to all_digits before call to legal_number
-       - fixed do_redirection_internal to call legal_number instead of atol(3)
-         when translating r_duplicating_{in,out}put_word, so it handles
-         overflow better
-       - produce an error message in redirection_error for out-of-range
-         file descriptors
-       - change allocation strategy in redirection_error so we don't have to
-         malloc scratch memory if redirection_expand() fails
-
-jobs.h
-       - added defines for `running' member of a struct process
-
-general.c
-       - fix legal_number to return 0 when strtol(3) reports overflow or
-         underflow
-
-parse.y
-       - changed read_token_word to call legal_number instead of atoi(3)
-
-input.c
-       - return -1/EBADF from close_buffered_fd if fd is < 0
-
-command.h
-       - fixed bogus comment about IS_DESCRIPTOR in description of the
-         REDIRECTEE struct
-
-print_cmd.c
-       - change cprintf's 'd' modifier code to display negative numbers as
-         an out-of-range value.  We can do this only because the only use
-         of %d is to output file descriptor numbers in redirections
-
-support/mksignames.c
-       - need to include config.h to get a possible value for
-         UNUSABLE_RT_SIGNALS
-
-                                  4/16
-                                  ----
-lib/readline/doc/rluser.texinfo
-       - corrected a small error in one description of M-DEL
-
-                                  4/17
-                                  ----
-stringlib.c
-       - need to initialize `ind' before calls to RESIZE_MALLOCED_BUFFER
-         in strcreplace()
-
-support/bashversion.c
-       - new file, prints bash version information
-
-Makefile.in
-       - rules for building bashversion and linking it to version.o
-
-                                  4/24
-                                  ----
-conftypes.h
-       - new file with HOSTTYPE, OSTYPE, MACHTYPE, etc. defines from
-         variables.h
-
-variables.h, version.c
-       - include conftypes.h
-
-patchlevel.h
-       - new file, contains define for PATCHLEVEL.  Doing away with the old
-         scheme of having the information in configure.in
-
-version.c
-       - include patchlevel.h
-
-Makefile.in
-       - run bashversion -p to find patch level rather than have configure
-         substitute in a value
-       - pass -S ${top_srcdir} to support/mkversion.sh
-
-support/mkversion.sh
-       - don't put PATCHLEVEL define into version.h, but accept and ignore
-         a -p option
-       - take a new -S srcdir option
-       - find the patch level by parsing it out of patchlevel.h
-
-configure.in
-       - hard-code BASHVERS assignment instead of reading it from a file
-       - remove BASHPATCH; don't substitute it
-
-_distribution,_patchlevel
-       - removed
-
-                                  4/26
-                                  ----
-shell.c
-       - call init_noninteractive() in open_shell_script if forced_interactive
-         is non-zero (the shell was started with -i) and fd_is_tty is 0
-         (the script file is a real file, not something like /dev/stdin),
-         since it wasn't done earlier
-
-builtins/printf.def
-       - change for POSIX.2 compliance when conversion errors are encountered
-         when processing %d, %u, and floating point conversion operators
-         (print a warning message, return the value accumulated at the time
-         of the error -- which is always 0 -- and exit with a non-zero status)
-
-command.h
-       - added CMD_COMMAND_BUILTIN for use by the `command' builtin and the
-         code in execute_cmd.c
-
-builtins/command.def
-       - add CMD_COMMAND_BUILTIN to the created command's flags
-
-                                   5/1
-                                   ---
-configure.in
-       - add call to AC_C_CONST to test `const' compiler behavior
-       - add call to AC_C_INLINE to test `inline' compiler behavior
-       - add call to AC_C_STRINGIZE to test cpp #x stringizing operator
-
-config.h.in
-       - add `#undef const' for configure to substitute
-       - add `#undef inline' for configure to substitute
-       - add `#undef HAVE_STRINGIZE' for configure to substitute
-
-include/stdc.h
-       - remove code that defines or undefines `const' and `inline'
-       - change the __STRING macro to be defined depending on the value
-         of HAVE_STRINGIZE
-
-lib/malloc/malloc.c
-       - change the __STRING macro to be defined depending on the value
-         of HAVE_STRINGIZE
-
-lib/readline/{readline,rlprivate}.h
-       - moved rl_get_termcap to readline.h, making it a public function
-
-lib/readline/readline.h
-       - new #define, RL_READLINE_VERSION, hex-encoded library version
-         number, currently set to 0x0402
-       - new public int variable, rl_readline_version
-
-lib/readline/readline.c
-       - #define RL_READLINE_VERSION if it is not already defined (which it
-         should be in readline.h)
-       - initialize rl_readline_version to RL_READLINE_VERSION
-
-lib/readline/doc/rltech.texinfo
-       - documented rl_get_termcap
-       - documented rl_readline_version
-
-jobs.c
-       - job_exit_status should return an int, not a WAIT (undetected
-         before because on most POSIX-like systems a WAIT is really an int)
-
-builtins/evalfile.c
-       - added FEVAL_REGFILE (file must be a regular file) to accepted
-          _evalfile flags
-       - fc_execute_file() adds FEVAL_REGFILE to _evalfile flags.  This
-         means that startup files and files read with `.' no longer need
-         to be regular files
-
-                                   5/2
-                                   ---
-
-lib/termcap/Makefile.in
-       - fix target for installed termcap library (normally unused)
-
-lib/tilde/Makefile.in
-       - fix install target to install in $(libdir) (normally unused)
-
-Makefile.in
-       - don't make $(man3dir) since there's nothing installed there
-
-Makefile.in,doc/Makefile.in
-       - change `man1ext' to `.1', `man3ext' to `.3'
-       - change appropriate install targets to use new values of man[13]ext
-       - use `test ...' instead of `[...]'
-       - add support for DESTDIR root installation prefix, for package
-         building (installdirs, install, install-strip, uninstall targets)
-
-builtins/common.c
-       - new function int get_exitstat(WORD_LIST *list) returns an eight-bit
-         exit status value for use in return, exit, logout builtins
-
-builtins/common.h
-       - extern declaration for get_exitstat()
-
-builtins/{exit,return}.def
-       - call get_exitstat where appropriate
-
-builtins/printf.def
-       - add support for "'" flag character as posix 1003.2-200x d6 says
-       - fix core dump when user-supplied field width or precision is 0
-       - fix to printstr() to handle zero-length precision with `%b' format
-         specifier (printf '%.0b-%.0s\n' foo bar)
-       - fix to printstr() to treat a negative field width as a positive
-         field width with left-justification
-       - fix to mklong to avoid static buffers, which can always be overrun
-         by someone sufficiently motivated
-
-bashline.c
-       - change var in add_host_name to type `size_t' for passing to xrealloc
-
-                                   5/3
-                                   ---
-execute_cmd.c
-       - change restore_signal_mask to accept a sigset_t *, since a sigset_t
-         may not fit into a pointer, change call
-
-unwind_prot.c
-       - use a union UWP in restore_variable when restoring a variable whose
-         size is the same as sizeof(int), the reverse of the method used to
-         store it in unwind_protect_int
-
-builtins/printf.def
-       - use a #define LENMODS containing the length modifiers instead of
-         testing against each possible modifier character, save any mod
-         character found
-       - add support for ISO C99 length specifiers `j', `t', and `z'
-       - if `L' modifier is supplied with a floating point conversion char,
-         pass a `long double' to printf if HAVE_LONG_DOUBLE is defined
-
-configure.in,config.h.in
-       - call AC_C_LONG_DOUBLE to check for `long double'; define
-         HAVE_LONG_DOUBLE if supported
-
-bashline.c
-       - fix an inadvertantly-unclosed comment in attempt_shell_completion
-       - make set_saved_history return a value
-       - make dynamic_complete_history return a useful value
-
-{make_cmd,execute_cmd,shell,subst,trap,variables,input,unwind_prot,test,
-pcomplete}.c
-       - removed some declared-but-unused variables
-
-builtins/{cd,enable,fc,set,setattr,type,umask,printf,complete}.def
-       - removed some declared-but-unused variables
-
-lib/sh/{zread,netopen}.c
-       - removed some declared-but-unused variables
-
-execute_cmd.c
-       - in execute_arith_command, use a long variable to hold the result
-         of evalexp(), since that's what it returns
-
-builtins/evalstring.c
-       - make cat_file return -1 on a read or write error
-
-lib/sh/stringlib.c
-       - make merge_stringlists() return the right value
-
-                                   5/7
-                                   ---
-pcomplete.c
-       - remove typo that caused empty declaration (;;)
-
-parse.y
-       - fix yyerror() to accept a single string argument; fix callers
-
-trap.c
-       - cast pointer to long instead of int when printing message with
-         internal_warning() in run_pending_traps()
-
-subst.c
-       - fix process_substitute to handle stdin being closed
-
-test.c
-       - change `while' to `if' in and() and or(), since the loop isn't
-         actually performed -- there's an unconditional `return' in the
-         loop body
-       - check for integer overflow of arguments to `-t'
-
-lib/sh/netopen.c
-       - change _getserv() to reject negative port/service numbers
-
-expr.c
-       - fix strlong() to not convert the base specification from long to
-         int before checking for overflow, since truncation on machines
-         where sizeof(int) != sizeof(long) may mask errors
-
-builtins/{jobs,kill,wait}.def
-       - use legal_number instead of atoi when converting strings to pid_t;
-         check for numeric overflow
-
-input.c
-       - fix for cygwin in b_fill_buffer -- off-by-one error when checking
-         buffer for \r\n termination
-
-general.h
-       - new #define INT_STRLEN_BOUND(t), computes max length of string
-         representing integer value of type T, possibly including a sign
-         character
-       - include <limits.h> if it's present
-
-{execute_cmd,findcmd,test}.c
-       - don't include <limits.h>, since general.h does it now
-
-{execute_cmd,lib/sh/itos,pcomplete,print_cmd,subst,variables}.c
-       - use INT_STRLEN_BOUND instead of static array sizes when converting
-         various strings to integer values
-
-shell.h
-       - struct fd_bitmap now uses an `int' size, since it's bounded by
-         the number of file descriptors, which must fit into an `int'
-
-execute_cmd.c
-       - FD_BITMAP_DEFAULT_SIZE is now 32, not 32L
-       - new_fd_bitmap takes an `int' size parameter, not a `long'
-
-execute_cmd.h
-       - change prototype for new_fd_bitmap()
-
-test.c
-       - fix test_stat to check for overflow when parsing the integer file
-         descriptor number; return ENOENT instead of EBADF for files that
-         are not open
-
-hashlib.c
-       - don't discard the upper 32 bits of the random value, if present
-
-lib/readline/shell.c
-       - use the same INT_STRLEN_BOUND mechanism to decide how much space to
-         allocated in sh_set_lines_and_columns
-
-                                   5/8
-                                   ---
-aclocal.m4
-       - add check for libtinfo (termcap-specific portion of ncurses-5.2) to
-         BASH_CHECK_LIB_TERMCAP
-       - new macro, RL_LIB_READLINE_VERSION, checks version of installed
-         readline library and (optionally) writes version #defines to
-         config.h.  Bash doesn't use the version defines
-
-configure.in
-       - call RL_LIB_READLINE_VERSION instead of support/rlvers.sh
-
-execute_cmd.c
-       - fix execute_shell_script and the WHITECHAR and STRINGCHAR macros
-         to check array bounds before indexing into the sample string
-
-unwind_prot.[ch]
-       - import new versions submitted by Paul Eggert <eggert@twinsun.com>
-         with a couple of changes for backwards compatibility, so the rest
-         of the source doesn't need to be changed yet
-
-jobs.c
-       - use unwind_protect_var on last_made_pid in run_sigchld_trap
-
-builtins/bind.def
-       - use unwind_protect_var on rl_outstream
-
-general.c
-       - rework print_rlimtype to use INT_STRLEN_BOUND and handle the
-         most negative number correctly
-
-expr.c
-       - `tokval' should have been a `long', since all arithmetic is done
-         as longs
-
-builtins/history.def
-       - consolidate tests for valid history position in one block to
-         avoid duplicate code and strings
-
-builtins/ulimit.def
-       - fix check for overflow when setting limit to work when int is 32
-         bits and RLIMTYPE is 64
-
-lib/sh/tmpfile.c
-       - don't truncate the result of time(3) to int; just use time_t,
-         since it's being assigned to an `unsigned long'
-
-mailcheck.c
-       - use legal_number instead of atoi in time_to_check_mail() to catch
-         more numeric errors; consolidate error checking in one block
-       - last_time_mail_checked should be a time_t
-
-                                   5/9
-                                   ---
-builtins/set.def
-       - recognize `set [-+]o nolog' if HISTORY is defined
-
-bashline.c
-       - new variable `dont_save_function_defs', set by `set -o nolog';
-         currently ignored
-
-command.h
-       - the `dest' member of a REDIRECTEE is now an `int'
-
-parse.y,redir.c
-       - changed uses of `redir.test' (where redir is a REDIRECTEE) since
-         it's now an int
-
-lib/readline/rlstdc.h
-       - don't mess around with `const', rely on configure to supply a
-         proper definition if the compiler doesn't support it
-
-lib/tilde/tilde.h
-       - include <config.h> if HAVE_CONFIG_H is defined
-       - don't mess around with `const', rely on configure
-
-builtins/shopt.def
-       - new read-only `shopt' option, login_shell, non-zero if shell is a
-         login shell (as decided by shell.c)
-       - new function set_login_shell(), sets shopt private value of
-         login_shell
-
-builtins/common.h
-       - new extern declaration for set_login_shell
-
-shell.c
-       - call set_login_shell after setting value of login_shell (in
-         main() and set_shell_name())
-
-parse.y
-       - added new `\A' prompt string escape sequence:  time in 24-hour
-         HH:MM format
-
-configure.in, config.h.in
-       - check for <grp.h>, define HAVE_GRP_H if found
-
-builtins/complete.def
-       - add new `-A group/-g' option to complete group names
-
-pcomplete.h
-       - new define for CA_GROUP, used with group name completion
-
-pcomplete.c
-       - add code to support CA_GROUP group name completion
-
-bashline.c
-       - new function, bash_groupname_completion_function(), supports
-         programmable completion of group names
-
-bashline.h
-       - extern declaration for bash_groupname_completion_function
-
-lib/readline/bind.c
-       - new inputrc variable, `match-hidden-files', controls completion
-         matching files beginning with a `.' (on Unix)
-
-lib/readline/complete.c
-       - new variable, _rl_match_hidden_files, mirrors `match-hidden-files'
-         inputrc variable
-
-lib/readline/rlprivate.h
-       - extern declaration for _rl_match_hidden_files
-
-builtins/hash.def
-       - new `-t' option to list hash values for each filename argument
-
-builtins/read.def
-       - alarm(3) takes an `unsigned int' argument, not int
-       - check for arithmetic overflow with -t and -n options
-
-input.c
-       - check for read error before doing \r\n translation on cygwin in
-         b_fill_buffer
-       - reset bp->b_used to 0 instead of leaving it at -1 on read error
-         in b_fill_buffer
-
-builtins/shopt.def
-       - new functions, shopt_setopt(name, mode) and
-         shopt_listopt(name, mode) to give the rest of the shell an easy
-         interface
-
-builtins/common.h
-       - extern declarations for shopt_setopt and shopt_listopt
-
-shell.c
-       - new invocation options -O and +O, to list or set/unset shopt
-         options like +o/-o sets and unsets `set -o' options
-
-doc/{bash.1,bashref.texi}
-       - document `set -o nolog'
-       - document `login_shell' shopt option
-       - document new `\A' prompt string escape sequence
-       - document new `-t' option to `hash'
-       - document new `[+-]O' invocation option
-
-doc/bashref.texi
-       - add text to `Invoking Bash' section defining a login shell; text
-         taken from man page
-
-doc/bash.1, lib/readline/doc/rluser.texinfo
-       - documented new complete/compgen `-A group/-g' option
-
-lib/readline/doc/{rluser.texinfo,readline.3}, doc/bash.1
-       - documented new `match-hidden-files' inputrc variable
-
-                                  5/10
-                                  ----
-configure.in
-       - fix AC_CHECK_PROG(ar, ...)
-       - add AC_CHECK_TYPE for ssize_t
-
-config.h.in
-       - new #undef for ssize_t
-
-lib/sh/zread.c
-       - int -> ssize_t fixes to mirror modern declarations of read and write
-       - the `off' variable in zsyncfd should be an off_t since it computes
-         a file offset
-       - the local buffer `lbuf' is now char, since it's not nice to pass
-         unsigned char * to read(2), and the values from it are assigned to
-         a char anyway
-       - lind and lused are now size_t, since they index into a buffer
-       - set lused to 0 on read error
-
-lib/sh/zwrite.c
-       - change second argument to type `char *', since ISO C says you have
-         to pass a `char *' to `write'
-
-externs.h
-       - fix extern declarations of zread, zread1, zreadc, and zwrite
-       - prototype extern declaration of qsort_string_compare
-       - add extern declaration for history_delimiting_chars() from parse.y
-
-input.h
-       - b_used and b_inputp members ofr struct BSTREAM are now size_t
-
-builtins/evalstring.c
-       - the number of chars read with zread in cat_file should be assigned
-         to a variable of type ssize_t
-
-input.c
-       - the number of chars read with zread in b_fill_buffer should be
-         assigned to a variable of type ssize_t
-       - `localbuf' is now type char[], since POSIX says you shouldn't pass
-         unsigned char * to read(2)
-       - in getc_with_restart(), use a variable of type unsigned char to
-         get a value from the local buffer and return it
-       - in ungetc_with_restart, explicitly return the character arg passed
-         to avoid relying on localbuf being unsigned char
-
-subst.c
-       - the number of chars read with zread in read_comsub should be
-         assigned to a variable of type ssize_t
-
-mksyntax.c
-       - instead of casting to unsigned char * in addcstr, use a variable
-         of type unsigned char and let the compiler do the work
-
-parse.y
-       - instead of casting to unsigned char * in yy_readline_get, use a
-         variable of type unsigned char and let the compiler do the work
-       - ditto for yy_string_get and shell_getc (cast to unsigned char)
-
-subst.c
-       - instead of casting to unsigned char when assigning to ifscmap in
-         expand_word_internal, use a variable of type unsigned char and
-         let the compiler do the work
-
-lib/sh/strtrans.c
-       - instead of casting to unsigned char in ansic_quote, use a variable
-         of type unsigned char and let the compiler do the work
-
-builtins/evalstring.c
-       - remove extern declarations for zwrite and run_trap_cleanup; they're
-         in externs.h
-       - prototype cat_file forward declaration
-
-Makefile.in
-       - remove -I$(includedir) from INCLUDES and SUBDIR_INCLUDES
-
-aclocal.m4
-       - change RL_LIB_READLINE_VERSION to set RL_PREFIX, RL_LIBDIR,
-         and RL_INCLUDEDIR to what it used to test the installed readline
-         library version for use by the caller
-       - change RL_LIB_READLINE_VERSION to not compute ac_cv_rl_prefix if
-         the caller has already assigned it a value
-       - rename _rl_prefix -> ac_cv_rl_prefix, _rl_libdir -> ac_cv_rl_libdir,
-         _rl_includedir -> ac_cv_rl_includedir
-
-configure.in
-       - change testing of whether to use the value of
-         $opt_with_installed_readline to be != no, to allow the user to
-         specify a prefix where the installed readline library may be found
-       - if --with-installed-readline=PREFIX is supplied, set ac_cv_rl_prefix
-         to PREFIX before calling RL_LIB_READLINE_VERSION
-       - if --with-installed-readline[=PREFIX] is supplied, don't set
-         RL_LIBDIR and RL_INCLUDEDIR; let RL_LIB_READLINE_VERSION take care
-         of it, set RL_INCLUDE=-I${RL_INCLUDEDIR}
-       - if --with-installed-readline[=PREFIX] is supplied, and we're
-         linking with the history library, assign $RL_LIBDIR to HIST_LIBDIR
-         so we use the same version of the installed readline and history
-         libraries
-
-Makefile.in, builtins/Makefile.in
-       - have configure substitute RL_INCLUDEDIR, set RL_INCLUDEDIR variable
-
-doc/bashref.texi
-       - updated description of --with-installed-readline configure option 
-
-general.c
-       - moved QSFUNC typedef here from builtins/common.c
-
-{alias,bashline,variables,lib/sh/stringvec}.c
-       - cast fourth argument to qsort to (QSFUNC *)
-
-alias.c
-       - prototype forward declaration of qsort_alias_compare
-
-bashhist.c
-       - include <glob/glob.h> for extern declaration of glob_pattern_p
-       - remove extern declaration of history_delimiting_chars; it's now
-         in externs.h
-       - prototype forward declarations of histignore_item_func,
-         maybe_add_history, and bash_add_history
-
-bracecomp.c
-       - remove extern declaration for sh_backslash_quote; it's in externs.h
-
-braces.c
-       - remove extern declaration for extract_command_subst; it's in subst.h
-       - prototype forward declarations for expand_amble, array_concat, and
-         brace_gobbler
-
-error.c
-       - prototype extern declaration of give_terminal_to, fix bad call
-
-{execute_cmd,expr,findcmd,jobs,mailcheck,nojobs,pcomplete,print_cmd,redir,
-shell}.c
-       - prototype all static forward function declarations
-
-pcomplete.c
-       - changed some function parameters to `const char *' to avoid discarding
-         const qualifier
-
-make_cmd.c
-       - make_bare_word, make_word_flags, and make_word now take a
-         `const char *' string argument
-
-make_cmd.h
-       - changed extern declarations for make_bare_word and make_word
-
-print_cmd.c
-       - cprintf now takes a `const char *' as its first argument, like
-         xprintf and printf
-       - the conditional define for xprintf should have been HAVE_VPRINTF,
-         not HAVE_VFPRINTF
-
-shell.c
-       - in isnetconn(), the return value of sizeof() is size_t
-
-aclocal.m4
-       - add inclusion of stddef.h if STDC_HEADERS is defined to 1 in
-         BASH_CHECK_TYPE
-
-configure.in
-       - add a call to BASH_CHECK_TYPE for socklen_t (type of third argument
-         to getpeername(2))
-
-                                  5/11
-                                  ----
-lib/readline/bind.c
-       - make `useq' a char array to pass to rl_macro_bind in
-         rl_parse_and_bind
-
-lib/readline/{{bind,isearch}.c,rlprivate.h}
-       - _rl_isearch_terminators is now a char *, not unsigned char *
-
-{subst,variables,lib/sh/tmpfile}.c
-       - dollar_dollar_pid is now a `pid_t' instead of `int'
-
-variables.c
-       - sbrand() now takes an `unsigned long' to set the seed value
-       - changed last_random_value to type int, since it's always between
-         0 and 32767
-       - use strtoul to convert the value in assign_random instead of atoi
-       - take out casts in any arguments to sbrand()
-       - take out cast to int in call to inttostr in set_ppid()
-
-subst.c
-       - don't cast last_asynchronous_pid when passing to itos()
-
-{sig,subst}.c
-       - prototype all static forward function declarations
-
-                                  5/14
-                                  ----
-{test,trap,variables}.c
-       - prototype all static forward function declarations
-
-variables.c
-       - free_variable_hash_data() now takes a PTR_T, a `generic pointer'
-
-builtins/{alias,bind,break,cd,complete,declare,enable,exit,fc,fg_bg,help,
-history,jobs,pushd,read,set,trap,umask,
-       - prototype all static forward function declarations
-
-builtins/read.def
-       - reset_eol_delim now takes a `char *' arg, since that's what the
-         unwind_protect functions pass it, and it ignores its arguments
-         anyway
-
-lib/readline/{histsearch,input,kill,rltty,search,vi_mode}.c
-       - prototype all static forward function declarations
-
-lib/tilde/tilde.c
-       - prototype all static forward function declarations
-       - tilde_find_prefix, tilde_find_suffix, isolate_tilde_prefix, and
-         glue_prefix_and_suffix now take `const char *' arguments where
-         appropriate
-
-configure.in,config.h.in
-       - check for vsnprintf, define HAVE_VSNPRINTF if found
-
-lib/readline/display.c
-       - use vsnprintf() in rl_message if it's available; if we don't, at
-         least set the last character in msg_buf to 0 to avoid overrun --
-         we really can't do anything about overflow at this point.  if it's
-         available, this fixes buffer overflow problems in rl_message
-
-                                  5/15
-                                  ----
-lib/readline/histexpand.c
-       - in get_history_word_specifier, allow any character to terminate
-         a `:first-' modifier, not just `:' and null.  This is what csh
-         appears to do.  This allows things like `!:0- xyzzy' to replace the
-         last argument with xyzzy
-
-                                  5/18
-                                  ----
-configure.in, config.h.in
-       - check for <stdint.h>, define HAVE_STDINT_H if found
-       - check for intmax_t in <stdint.h>, define intmax_t as long if not
-         found
-
-                                  5/21
-                                  ----
-builtins/kill.def
-       - change to use strerror() for error message when kill(2) fails
-
-aclocal.m4
-       - new macro, BASH_C_LONG_LONG, check for `long long'
-
-configure.in, config.h.in
-       - call BASH_C_LONG_LONG, define HAVE_LONG_LONG if found
-
-lib/sh/snprintf.c
-       - new file, with implementations of snprintf, vsnprintf, asprintf,
-         and vasprintf, derived from inetutils version
-
-Makefile.in, lib/sh/Makefile.in
-       - add snprintf.c/snprintf.o
-
-configure.in, config.h.in
-       - add checks for snprintf, asprintf, vasprintf, with appropriate
-         cpp defines
-
-lib/readline/{rldefs,xmalloc}.h, lib/readline/xmalloc.c
-       - xmalloc and xrealloc now take `size_t' arguments, like their bash
-         counterparts
-
-externs.h,lib/sh/itos.c
-       - inttostr and itos now take `long' arguments
-       - inttostr takes a `size_t' argument for the buffer size
-
-{expr,lib/malloc/malloc,variables,general}.c
-       - fixed calls to itos() by removing casts, etc.
-
-subst.[ch]
-       - get_dollar_var_value now takes a long, not an int
-       - sub_append_number now takes a long, not an int
-
-subst.c
-       - in parameter_brace_expand_word, use a long and legal_number to
-         translate ${N}, to avoid overflow
-       - in parameter_brace_expand_length, use a long and legal_number to
-         translate ${#N}, to avoid overflow
-       - in do_array_element_assignment, array_expand_index,
-         array_value_internal, use arrayind_t instead of int
-       - let verify_substring_values take long * arguments for the return
-         value of evalexp()
-       - pass long * arguments to verify_substring_values in
-         parameter_brace_substring
-       - parameter_brace_expand_length now returns `long'
-       - parameter_brace_expand now uses a long variable for the return
-         value of parameter_brace_expand_length
-       - param_expand now uses a long variable for the return value from
-         evalexp
-       - array_length reference now returns an `arrayind_t', since it can
-         return the num_elements member of an array, which is of type
-         arrayind_t
-
-subst.h
-       - array_expand_index now returns an `arrayind_t'
-
-array.[ch]
-       - array_subrange now takes arrayind_t arguments, not `int'
-       - dup_array_subrange now uses arrayind_t local variable to do
-         array indexing
-       - use long to print array indices in print_element
-
-variables.c
-       - null_array_assign, assign_dirstack, bind_array_variable
-         now take arrayind_t arguments as array indices
-       - assign_array_var_from_word_list, assign_array_var_from_string,
-         unbind_array_element now use arrayind_t local variables for
-         array indexing
-
-variables.h
-       - change extern declaration of bind_array_variable
-
-builtins/common.[ch]
-       - get_numeric_arg now returns a `long', since it usually returns
-         the value of legal_number()
-
-builtins/{shift,break}.def
-       - use long variables for the return value of get_numeric_arg
-
-builtins/history.def
-       - convert string argument to int only if it's in range
-
-builtins/pushd.def
-       - set_dirstack_element and get_dirstack_element now take `long'
-         index arguments
-       - get_dirstack_index now takes a `long' index argument, since it's
-         passed the converted value from legal_number
-
-lib/sh/timeval.c
-       - in print_timeval, don't assume that the number of minutes fits into
-         an int, since it's just seconds/60.
-
-lib/sh/clock.c
-       - ditto for print_clock_t
-
-                                  5/22
-                                  ----
-shell.c
-       - since the -O option settings may possibly be overridden by the
-         normal shell initialization or posix initialization, save the
-         invocation options on an alist (with add_shopt_to_alist) and
-         process them after basic initialization (with run_shopt_alist)
-
-                                  5/23
-                                  ----
-trap.h
-       - new define, BASH_NSIG, all system signals plus special bash traps
-
-trap.c, builtins/trap.def
-       - use BASH_NSIG for array bounds and loops where appropriate
-
-trap.c
-       - change decode_signal to disallow numeric signal numbers above
-         NSIG -- this means you can only reference special traps like
-         DEBUG by name
-       - new SPECIAL_TRAP(s) macro to test whether s is one of the special
-         bash traps (currently DEBUG and EXIT)
-       - change reset_or_restore_signal_handlers so command substitution
-         doesn't inherit the debug trap (like ksh93), and child processes
-         don't have to rely on initialize_traps being run to get rid of
-         any debug trap
-
-support/mksignames.c
-       - add extra "ERR" signal name, value NSIG+1, allocate space for it
-         and write it out in signal_names[]
-
-trap.h
-       - new define: ERROR_TRAP == NSIG+1, change BASH_NSIG to NSIG+2
-       - extern declarations for set_error_trap, run_error_trap
-       - new define: TRAP_STRING(s), expands to trap_list[s] if signal S
-         is trapped and not ignored, NULL otherwise
-
-trap.c
-       - add ERROR_TRAP to SPECIAL_TRAPS define
-       - initialize ERROR_TRAP stuff in initialize_traps
-       - new function: set_error_trap(command), sets the ERR trap string
-       - new function: run_error_trap(command), runs the ERR trap string
-       - set trap string for ERROR_TRAP to NULL in free_trap_strings
-       - change reset_or_restore_signal_handlers so child processes don't
-         inherit the ERR trap
-       - add case to call run_error_trap in maybe_call_trap_handler
-
-execute_cmd.c
-       - in execute_command_internal, keep track of ERR trap and call it if
-         necessary
-       - use TRAP_STRING to get the value of debug and error traps
-       - in execute_function, arrange things so the ERR trap is not inherited
-         by shell functions, and is saved and restored like the DEBUG trap
-
-doc/{bash.1,bashref.texi}
-       - documented new ERR trap
-
-tests/{trap.{tests,right},trap2.sub,trap2a.sub}
-       - added ERR trap tests
-
-subst.c
-       - on machines without /dev/fd, change the named pipe fifo list to a
-         list of structs containing pathname and proc information
-       - change unlink_fifo_list to kill the proc in the fifo list with
-         signal 0 and not remove the fifo if the proc is still alive.  This
-         should fix the problem on those backward systems without /dev/fd
-         where fifos were removed when a job using process substitution was
-         suspended
-
-                                  5/24
-                                  ----
-examples/loadables/getconf.h
-       - new file, with basic defines needed to make getconf work minimally
-         on POSIX systems without the necessary definitions
-
-examples/loadables/getconf.c
-       - replacement functions for confstr, sysconf, pathconf for systems
-         that lack them, providing a minimal posix interface
-       - heavily augmented getconf, now supports all POSIX.1-200x,
-         POSIX.2-200x, Solaris 7, AIX 4.2 getconf variables
-
-                                  5/29
-                                  ----
-builtins/setattr.def
-       - make `readonly', `export', and `declare' print `invisible' variables
-         as just a command and variable name, without a value, when listing
-         all variables (as POSIX.2-200x d6 requires)
-
-                                  5/30
-                                  ----
-
-configure.in
-       - upgraded to autoconf-2.50 on main development machine, so require
-         autoconf-2.50 in preparation for using some if its new features
-       - call AC_C_PROTOTYPES
-       - remove call to AC_EXEEXT, which now does the wrong thing
-       - changed AC_INIT to new flavor
-       - added call to AC_CONFIG_SRCDIR
-       - AC_CONFIG_HEADER -> AC_CONFIG_HEADERS
-       - AC_RETSIGTYPE -> AC_TYPE_SIGNAL
-
-configure.in, aclocal.m4, config.h.in
-       - removed call to BASH_LARGE_FILE_SUPPORT, use AC_SYS_LARGEFILE
-         standard support, with new macros _FILE_OFFSET_BITS and
-         _LARGE_FILES
-       - removed definition of BASH_LARGE_FILE_SUPPORT
-
-doc/bashref.texi
-       - document new `--enable-largefile' configure option
-
-lib/readline/readline.c
-       - change rl_set_prompt to call rl_expand_prompt unconditionally, so
-         local_prompt and local_prompt_prefix get set correctly
-
-                                   6/6
-                                   ---
-lib/readline/complete.c
-       - don't append `/' or ` ' to a match when completing a symlink that
-         resolves to a directory, unless the match doesn't add anything
-         to the word.  This means that a tab will complete the word up to
-         the full name, but not add anything, and a subsequent tab will add
-         a slash.  Change to append_to_match; callers changed
-
-hashlib.c
-       - new function, hash_table_nentries (table), returns the number of
-         items in TABLE
-
-hashlib.h
-       - extern declaration for hash_table_nentries
-
-configure.in
-       - configure without bash malloc on openbsd; they claim it needs
-         eight-bit alignment (which the bash malloc provides, but...)
-
-                                   7/2
-                                   ---
-stringlib.c
-       - only call RESIZE_MALLOCED_BUFFER from strsub() if the replacement
-         string length is > 0, avoid possible hangs if replacement is null
-
-subst.c
-       - don't include input.h; no longer needed
-
-configure.in
-       - remove calls to AC_SYS_RESTARTABLE_SYSCALLS and
-         BASH_SYS_RESTARTABLE_SYSCALLS; the results are no longer used
-
-config.h.in
-       - remove define for HAVE_RESTARTABLE_SYSCALLS
-
-aclocal.m4
-       - removed definition of BASH_SYS_RESTARTABLE_SYSCALLS; no longer used
-
-execute_cmd.c
-       - changed select command so `return' no longer terminates the select
-         command, so it can be used to return from an enclosing function.
-         This is as ksh (88 and 93) does it
-
-lib/readline/vi_mode.c
-       - fix trivial typo in declaration of vi_motion; `t' appears twice;
-         the second instance should be `T'
-
-                                   7/3
-                                   ---
-configure.in
-       - don't add -static to LDFLAGS on Solaris 2.x.  This means that the
-         auxiliary programs will be built as dynamic executables, but that
-         should do no harm
-
-                                   7/5
-                                   ---
-lib/glob/fnmatch.c
-       - fix the code that processes **(pattern) to short-circuit if the
-         pattern is ill-formed or lacks a trailing `)'  -- this fixes the
-         segfault on **(/*)
-
-Makefile.in, builtins/Makefile.in
-       - split CCFLAGS into CCFLAGS_FOR_BUILD and CFLAGS, to aid in
-         cross-compilation
-       - build programs that use $(CC_FOR_BUILD) using $(CCFLAGS_FOR_BUILD)
-
-configure.in, config.h.in
-       - check for getaddrinfo(3), define HAVE_GETADDRINFO if found
-
-lib/sh/netopen.c
-       - implemented a version of _netopen (_netopen6) that uses
-         getaddrinfo(3) if available, use if HAVE_GETADDRINFO is defined.
-         old _netopen is _netopen4; _netopen now calls either _netopen6
-         or _netopen4 as appropriate
-
-                                   7/9
-                                   ---
-builtins/exit.def
-       - don't source ~/.bash_logout if subshell_environment is non-zero
-
-execute_command.c
-       - in execute_until_or_while, handle the case where `breaking' is
-         set in the loop test (e.g., by the job control code when a job
-         is stopped with SIGTSTP), but the return value from the test is
-         something that would cause the loop to break.  Need to decrement
-         `breaking' in this case
-
-                                  7/10
-                                  ----
-execute_cmd.c
-       - in execute_in_subshell, make sure a command of type cm_subshell
-         inherits its `enclosing' command's CMD_IGNORE_RETURN flag
-
-variables.c
-       - in maybe_make_export_env, don't allow restricted shells to put
-         exported functions in the export environment
-
-                                  7/11
-                                  ----
-lib/glob/strmatch.h
-       - renamed old fnmatch.h
-       - changed guard #ifdef to _STRMATCH_H
-       - include system <fnmatch.h> if HAVE_LIBC_FNM_EXTMATCH is defined
-
-lib/glob/strmatch.c
-       - renamed old fnmatch.c
-       - include "strmatch.h"
-       - if HAVE_LIBC_FNM_EXTMATCH is defined, define a dummy version of
-         strmatch() that just calls fnmatch(3)
-
-lib/glob/glob.c
-       - include "strmatch.h"
-       - fnmatch -> strmatch
-
-Makefile.in, lib/glob/Makefile.in
-       - fnmatch -> strmatch
-
-{bashhist,execute_cmd,pathexp,pcomplete,shell,stringlib,subst,test}.c,
-pathexp.h,builtins/help.def
-       - include <glob/strmatch.h>
-       - fnmatch -> strmatch
-
-execute_cmd.c
-       - broke the code that parses the interpreter name from a #! line
-         out from execute_shell_script to a new function, getinterp()
-       - call getinterp from execute_shell_script
-       - use return value from getinterp in error message about bad
-         #! interpreter in shell_execve
-
-                                  7/12
-                                  ----
-lib/readline/isearch.c
-       - the last isearch string is now remembered in a new static variable,
-         last_isearch_string
-       - if ^R^R is typed, readline now searches for the remembered isearch
-         string, if one exists
-
-                                  7/24
-                                  ----
-pcomplete.h
-       - extern declaration for completions_to_stringlist()
-
-                                  7/25
-                                  ----
-builtins/complete.def
-       - make compgen handle -o default option
-       - make compgen return success only if sl->list_len is non-zero,
-         indicating that there are items on the list
-
-                                  7/31
-                                  ----
-execute_cmd.c
-       - in execute_connection, force stdin to /dev/null for asynchronous
-         commands if job control is not active, not just if the shell is
-         running a shell script (since you can run `set -m' in a script)
-
-lib/readline/rltty.c
-       - make sure _rl_tty_restore_signals resets `tty_sigs_disabled' on
-         successful restoration of the terminal modes
-       - make sure _rl_tty_disable_signals turns off IXON so that ^S and
-         ^Q can be read by rl_quoted_insert
-
-                                   8/1
-                                   ---
-aclocal.m4
-       - new check for FNM_EXTMATCH being defined in <fnmatch.h>, as Ullrich
-         Drepper intends to do for new versions of GNU libc
-
-config.h.in
-       - new definition for HAVE_LIBC_FNM_EXTMATCH
-
-configure.in
-       - check for fnmatch, but don't define anything in config.h
-       - call BASH_FUNC_FNMATCH_EXTMATCH to check for FNM_EXTMATCH
-
-                                   8/2
-                                   ---
-alias.h
-       - remove bogus extern declaration for xmalloc()
-       - include "stdc.h"
-       - add prototype declarations for all extern function declarations
-
-xmalloc.c,lib/readline/xmalloc.c
-       - fix xmalloc to return a PTR_T
-       - fix xrealloc to return a PTR_T and take a PTR_T as first argument
-
-include/ansi_stdlib.h
-       - extern declarations for malloc and realloc have them return PTR_T
-
-xmalloc.h
-       - new file, with extern declarations for functions in xmalloc.c
-
-general.h
-       - removed extern declarations for functions in xmalloc.c
-       - include xmalloc.h
-
-Makefile.in,builtins/Makefile.in
-       - update dependencies to include xmalloc.h
-
-parse.y,{alias,array,bashline,bracecomp,execute_cmd,findcmd,flags,general,
-hashcmd,locale,mailcheck,make_cmd,pathexp,pcomplete,print_cmd,stringlib,
-subst,unwind_prot,variables}.c
-builtins/{common,evalfile}.c
-builtins/{cd,command,enable,exec,printf,read,set}.def
-lib/sh/{makepath,netopen,pathphys,setlinebuf,shquote,snprintf,stringlist,
-strtrans,tmpfile}.c
-lib/readline/{util,terminal,shell,readline,macro,kill,isearch,input,
-histfile,histexpand,display,complete,bind}.c
-       - make sure all calls to xmalloc are cast to the right return value
-
-siglist.c
-       - include xmalloc.h
-
-parse.y,{alias,bashline,bracecomp,expr,make_cmd,nojobs,print_cmd,subst}.c
-builtins/{fc,printf,read}.def
-lib/sh/snprintf.c, lib/tilde/tilde.c
-lib/readline/{bind,display,histexpand,isearch,macro,util,vi_mode}.c
-       - make sure all calls to xrealloc are cast to the right return value
-
-lib/sh/{netopen,setlinebuf,shquote,snprintf}.c, lib/tilde/tilde.c
-       - include xmalloc.h, remove extern declaration of xmalloc
-
-lib/readline/xmalloc.h
-       - xmalloc and xrealloc should return PTR_T
-
-lib/readline/rldefs.h
-       - don't include an extern declaration for xmalloc
-
-                                   8/7
-                                   ---
-support/shobj-conf
-       - fixed up commented-out stanzas for HP's unbundled C compiler on
-         HP/UX
-
-support/bashbug.sh
-       - force the subject to be changed from the default
-
-lib/readline/doc/{rluser.texinfo,readline.3}, doc/bash.1
-       - document that transpose-words swaps the last two words on the line
-         if point is at the end of the line
-
-                                   8/9
-                                   ---
-stringlib.c
-       - fix possible infinite recursion problem with null pattern in
-         strsub()
-
-hashlib.c
-       - new function copy_hash_table to copy a hash table using a caller-
-         supplied function to copy item data (defaults to savestring())
-
-hashlib.h
-       - new extern declaration for copy_hash_table
-
-builtins/declare.def
-       - changes so that declare [-a] var=value assigns `value' to element 0
-         of array variable `var' like ksh93
-       - change so that declare [-a] var[N]=value assigns `value' to element
-         N of array variable `var' like ksh93
-
-                                  8/13
-                                  ----
-arrayfunc.c
-       - new file, for miscellaneous array functions
-
-arrayfunc.h
-       - new file, extern declarations for functions in arrayfunc.c
-
-variables.c
-       - move convert_var_to_array, bind_array_variable,
-         assign_array_from_string, assign_array_var_from_word_list,
-         assign_array_var_from_string, quote_array_assignment_chars,
-         skipsubscript, unbind_array_element, print_array_assignment
-         to arrayfunc.c
-
-shell.h
-       - include arrayfunc.h after variables.h
-
-variables.h
-       - remove above extern function declarations moved to arrayfunc.h
-       - add extern declaration for var_lookup
-
-Makefile.in
-       - add arrayfunc.c, arrayfunc.h in appropriate places
-       - add arrayfunc.h to dependencies
-
-subst.c
-       - move valid_array_reference, array_expand_index, array_variable_part,
-         array_value_internal, array_value (now global), get_array_value,
-         do_array_element_assignment to arrayfunc.c
-
-subst.h
-       - extern declarations for functions above moved to arrayfunc.h
-
-arrayfunc.h
-       - extern declarations for above functions from subst.c
-
-subst.[ch]
-       - string_list_dollar_star and string_list_dollar_at are now global
-         functions
-       - quote_escapes is now a global function
-
-subst.c
-       - maybe_expand_string -> expand_string_if_necessary
-       - expand_string_to_string -> expand_string_to_string_internal
-       - new functions: expand_string_to_string and
-         expand_string_unsplit_to_string, which call
-         expand_string_to_string_internal with expand_string and
-         expand_string_unsplit as the FUNC arguments, respectively
-
-arrayfunc.c
-       - change array_expand_index to call expand_string_to_string instead
-         of maybe_expand_string
-
-                                  8/14
-                                  ----
-shell.c
-       - in execute_env_file, call expand_string_unsplit_to_string
-
-mailcheck.c
-       - in check_mail, call expand_string_to_string
-
-variables.c
-       - in assign_in_env, call expand_string_unsplit_to_string
-
-arrayfunc.c
-       - new function, array_variable_name, splits an array reference into
-         a name (which is returned as a new string) and subscript
-       - change array_variable_part to just call array_variable_name and
-         look up the string returned with find_variable
-       - new function, find_or_make_array_variable (name, flags) which will
-         look up an array variable and convert a string variable to an
-         array if necessary.  The FLAGS argument, if non-zero, says to
-         check the readonly and noassign attributes and fail if either is set
-
-builtins/read.def
-       - make `read -a aname' honor any readonly status of `aname'
-       - read -a now calls find_or_make_array_variable with FLAGS value 1
-
-arrayfunc.[ch], subst.c, builtins/{declare,read}.def
-       - do_array_element_assignment -> assign_array_element
-
-                                  8/20
-                                  ----
-parse.y
-       - changed `for' command grammar to allow missing word list after `IN'
-         token, like latest POSIX drafts require
-
-lib/sh/tmpfile.c
-       - in sh_mktmpname(), check for filenum == 0 and init to non-zero number
-         in this case.  it can happen on arithmetic overflow
-
-support/mkversion.sh
-       - added `[0-9].[0-9][0-9][a-z]' as an acceptable value for a
-         distribution to allow for intermediate versions, like 2.05a
-
-support/config.guess
-       - removed the addition of the output of `/usr/bin/objformat' when
-         creating the canonical name on FreeBSD machines, so the canonical
-         name is once again `freebsd4.2' instead of `freebsdelf4.2'
-
-                                  8/22
-                                  ----
-lib/readline/{rlstdc,history,keymaps,readline,rldefs,rlprivate,rlshell,
-rltypedefs,xmalloc}.h
-lib/readline/{bind,compat,complete,display,funmap,histexpand,histsearch,
-input,isearch,kill,nls,parens,readline,rltty,search,shell,signals,vi_mode
-       - changed __P to PARAMS
-
-lib/tilde/tilde.[ch]
-       - changed __P to PARAMS
-
-{Makefile,configure}.in
-       - changed the version number to 2.05a
-       - changed the release status to `alpha1'
-
-                                  8/23
-                                  ----
-support/shobj-conf
-       - support for building shared libraries on Darwin/MacOS X
-
-siglist.h
-       - extern declaration for strsignal() to compensate for lack of
-         a definition in some system include files
-
-jobs.c
-       - remove casts from strsignal() calls
-
-[bash-2.05a-alpha1 frozen]
-
-                                  8/27
-                                  ----
-[bash-2.05a-alpha1 released]
-
-                                  8/27
-                                  ----
-execute_cmd.c
-       - fix eval_arith_for_expr to handle the case where the expanded
-         word list is NULL, returning 0 in this case
-
-print_cmd.c
-       - in print_function_def, make sure that func_redirects is assigned
-         a value before being used
-
-                                  8/28
-                                  ----
-alias.c
-       - include <ctype.h> for definition of isalpha()
-
-bashhist.h
-       - add prototypes for extern function declarations
-
-flags.c
-       - include bashhist.h for extern function declarations
-
-mksyntax.c
-       - include <unistd.h> if HAVE_UNISTD_H is defined in config.h
-
-parse.y
-       - include test.h for extern function declarations
-
-externs.h
-       - change extern declaration for setlinebuf to sh_setlinebuf
-
-stringlib.c
-       - include <glob/glob.h> for extern function declarations
-
-variables.h
-       - add function prototypes for all of the sv_* functions
-
-builtins/common.h
-       - add extern declarations for set_shellopts() and parse_shellopts()
-         from builtins/set.def
-
-variables.c
-       - include "hashcmd.h" for extern declaration for flush_hashed_filenames
-       - include "pathexp.h" for extern declaration for setup_glob_ignore
-
-lib/malloc/malloc.c
-       - cast to `long' instead of `int' in memalign for 64-bit machines
-
-{pcomplete,trap}.c
-       - changed printf escape sequences used to print pointers to %p
-
-lib/readline/undo.c
-       - include "xmalloc.h" for extern function declaration
-
-input.h
-       - add function prototypes to extern declarations for getc_with_restart
-         and ungetc_with_restart
-
-variables.[ch]
-       - changed type of `function' member of `struct name_and_function' to
-         `sv_func_t', which is defined and prototyped in variables.h
-       - map_over now takes an `sh_var_map_func_t *'
-
-shell.h
-       - start of a set of function pointer typedefs like those in
-         lib/readline/rltypedefs.h
-
-hashlib.[ch]
-       - second paramter to flush_hash_table is now an `sh_free_func_t *'
-
-trap.c
-       - parameter to reset_or_restore_signal_handlers is now an
-         `sh_resetsig_func_t *'
-
-pcomplete.h, pcomplib.c
-       - function pointer argument to print_all_compspecs is now an
-         `sh_csprint_func_t *'
-       - function pointer `list_getter' element of an `ITEMLIST' is now
-         prototyped with __P((...)) instead of using `Function *'
-
-jobs.[ch]
-       - `j_cleanup' member of a JOB is now an `sh_vptrfunc_t *'
-
-alias.c
-       - map_over_aliases now takes an `sh_alias_map_func_t *'
-       - free_alias_data now takes a `PTR_T'
-
-pathexp.c
-       - function pointer argument to ignore_globbed_names is now an
-         `sh_ignore_func_t *' 
-
-bashline.c
-       - function pointer argument to _ignore_completion_names is now an
-         `sh_ignore_func_t *' 
-
-pathexp.h,{bashhist,bashline.c
-       - `item_func' member of a `struct ignorevar' is now an
-         `sh_iv_item_func_t *'
-
-builtins/evalfile.c
-       - `errfunc' is now an `sh_vmsg_func_t *'
-
-jobs.c
-       - map_over_job now takes an `sh_job_map_func_t *' as its first argument
-
-array.[ch]
-       - function pointer argument to array_walk is now an
-         `sh_ae_map_func_t *'
-
-general.c
-       - tilde_expansion_preexpansion_hook has type `tilde_hook_func_t *',
-         and so the assignment in tilde_initialize doesn't need a cast
-
-list.c
-       - map_over_words now takes an `sh_icpfunc_t *' as its second argument
-
-input.h
-       - the `getter' and `ungetter' function pointer members of a
-         BASH_INPUT are now of types `sh_cget_func_t *' and
-         `sh_cunget_func_t *' respectively
-       - init_yy_io now takes an `sh_cget_func_t *' as its first argument and
-         an `sh_cunget_func_t *' as its second
-
-parse.y
-       - init_yy_io now takes an `sh_cget_func_t *' as its first argument and
-         an `sh_cunget_func_t *' as its second
-       - initialize_bash_input casts bash_input.getter and bash_input.ungetter
-         appropriately
-
-builtins/mkbuiltins.c
-       - make the extern function definitions written to builtext.h have
-         prototypes with __P((...))
-       - include "stdc.h"
-       - change Function to mk_handler_func_t
-       - fixed comment_handler to take the right number of args
-       - prototyped all the handler functions with __P((...))
-
-builtins.h
-       - the `function' member of a struct builtin is now of type
-         `sh_builtin_func_t *'
-
-builtins/common.[ch]
-       - last_shell_builtin, this_shell_builtin are now of type
-         `sh_builtin_func_t *'
-       - find_shell_builtin, builtin_address, find_special_builtin now return
-         `sh_builtin_func_t *'
-
-builtins/exit.def, {execute_cmd,jobs,nojobs,variables}.c, parse.y
-       - changed all declarations of last_shell_builtin and this_shell_builtin
-
-execute_cmd.c
-       - execute_builtin, execute_builtin_or_function,
-         execute_subshell_builtin_or_function now take an
-         `sh_builtin_func_t *' instead of a `Function *' for argument
-       - changed appropriate variables from `Function *' to
-         `sh_builtin_func_t *'
-
-builtins/{bind,builtin,enable,read,setattr}.def
-       - replaced uses of `Function *' in variable declarations with
-         appropriate types (sh_builtin_func_t * or rl_command_func_t *)
-
-builtins/set.def
-       - set_func and get_func members of binary_o_options are now of types
-         `setopt_set_func_t *' and `setopt_get_func_t *', which are
-         prototyped
-
-builtins/shopt.def
-       - set_func member of shopt_vars is now of type `shopt_set_func_t *'
-
-bashline.c
-       - enable_hostname_completion now returns `int' (the old value of
-         perform_hostname_completion)
-
-[The only use of Function and VFunction now is for unwind-protects]
-
-                                   9/4
-                                   ---
-lib/sh/getcwd.c
-       - use const define from config.h rather than `CONST'
-       - use PTR_T define from xmalloc.h rather than `PTR'
-       - include xmalloc.h for PTR_T
-       - remove PATH_MAX define, rely on value from maxpath.h
-
-{general,mailcheck}.c, lib/sh/{pathcanon,pathphys}.c
-       - don't include maxpath.h directly; it's already included by shell.h
-
-lib/sh/mailstat.c
-       - new `mailstat()' implementation, to stat a mailbox file for
-         mail checking.  handles maildir-style mail directories with one
-         file per message and creates a dummy stat struct from them
-
-lib/sh/Makefile.in
-       - add mailstat.c and mailstat.o in the appropriate places
-
-lib/malloc/malloc.c
-       - augmented implementation with wrapper functions that pass in file
-         and line number information from cpp.  currently unused, but a
-         placeholder for future debugging and use tracking
-
-lib/malloc/shmalloc.h
-       - new file, extern declarations for allocation wrapper functions for
-         use by the shell (and others, I guess)
-
-xmalloc.[ch]
-       - wrapper functions for xmalloc, xfree, xrealloc (sh_ prefixed) that
-         pass cpp line number information through to the malloc functions,
-         if USING_BASH_MALLOC is defined
-
-                                   9/5
-                                   ---
-lib/malloc/gmalloc.c
-       - removed; no longer part of distribution
-
-lib/malloc/Makefile.in
-       - removed references to gmalloc.[co]
-
-configure.in, doc/bashref.texi
-       - removed references to `--with-glibc-malloc' configure option
-
-{configure,Makefile}.in
-       - changed the way bash malloc is configured into the Makefile, making
-         it more like how readline is configured.  If the bash malloc is
-         not configured in, nothing in lib/malloc will be built
-
-                                   9/6
-                                   ---
-lib/malloc/imalloc.h
-       - new file, some internal malloc definitions
-
-lib/malloc/mstats.h
-       - new file, definitions for malloc statistics structs and functions
-
-lib/malloc/trace.c
-       - new file, malloc tracing functions (currently just print messages
-         to stderr), code is #ifdef MALLOC_TRACE
-
-lib/malloc/stats.c
-       - new file, moved malloc stats code from malloc.c to here
-
-lib/malloc/malloc.c
-       - moved some definitions to imalloc.h
-       - moved stats code to stats.c
-       - malloc tracing calls added to internal_{malloc,realloc,free}, all
-         #ifdef MALLOC_TRACE
-
-lib/malloc/Makefile.in, Makefile.in
-       - added {imalloc,mstats}.h, {trace,stats}.c
-
-parse.y
-       - changed decode_prompt_string to save and restore $?
-         (last_command_exit_value) around calls to expand_prompt_string(),
-         so command substitutions in PS1, etc. don't change $?
-
-{array,subst}.c
-       - a couple more arrayind_t fixes from Paul Eggert
-
-configure.in
-       - remove redundant check for wait3(2)
-
-redir.h
-       - fixed a typo (stdin_redirs -> stdin_redirects)
-
-                                  9/10
-                                  ----
-execute_cmd.c
-       - remove check for \n and \r from WHITESPACE macro, since those
-         chars are not whitespace as returned by the whitespace(c) macro
-       - getinterp now takes a `char *' as first arg, not unsigned char *
-       - execute_shell_script now takes a `char *' as first arg, not
-         unsigned char *
-       - fix typo in forward declaration for `initialize_subshell'
-       
-general.[ch]
-       - check_binary_file now takes a (char *) argument, not unsigned char *
-       - pass unsigned char to isspace and isprint because of ISO C fuckup
-       - bash_tilde_expand now takes a `const char *' as its argument
-
-builtins/evalfile.c, shell.c
-       - buffer passed to check_binary_file is char, not unsigned char
-
-parse.y
-       - fix extern declaration for yyerror()
-       - yyerror now takes a `const char *' as first arg
-
-{error,jobs}.c
-       - fixes to printf-style functions to handle pids wider than an int
-
-lib/readline/{isearch,vi_mode}.c
-       - fix call to rl_message in rl_display_search (remove extra arg)
-
-variables.c
-       - fix missing argument to builtin_error in make_local_variable
-
-builtins/getopts.def
-       - since getopts takes no options, change while loop calling
-         internal_getopts to a simple `if' check
-
-builtins/printf.def
-       - since printf takes no options, change while loop calling
-         internal_getopts to a simple `if' check
-
-lib/readline/bind.c
-       - remove _SET_BELL macro, expand code inline
-
-lib/readline/input.c
-       - change _rl_input_available to use either select or FIONREAD,
-         but not both
-
-lib/readline/readline.c
-       - fix rl_digit_loop to remove unreachable code at end of loop
-
-{bashhist,bashline,expr,jobs,redir,shell}.c, builtins/fc.def, lib/sh/snprintf.c
-       - bracket unused functions with #ifdef INCLUDE_UNUSED/#endif
-       - remove some unused variables
-
-execute_cmd.c
-       - remove #ifdef'd code that allowed `return' to terminate a select
-         statement
-
-expr.c
-       - remove some extraneous tests from strlong()
-
-array.h
-       - arrayind_t is now a long, since shell arithmetic is performed as
-         longs
-       - remove second declaration of new_array_element
-
-builtins/printf.def
-       - in mklong, xrealloc cannot return NULL, so don't check for it
-       - remove some #if 0 code
-       - fix core dump triggered by a format specification with more than
-         one `*'
-       - remove `foundmod', since its value mirrors `modchar != 0'
-       - include "common.h" for builtin_{error,usage} declarations
-
-Makefile.in,builtins/Makefile.in
-       - updated some dependencies due to new include files
-
-pcomplete.c
-       - include "execute_cmd.h" for declaration of execute_shell_function
-
-arrayfunc.c
-       - include <stdio.h> for printf
-       - include "builtins/common.h" for builtin_error declaration
-
-builtins/evalstring.c
-       - include "../trap.h" for run_trap_cleanup declaration
-
-builtins/help.def
-       - include "common.h" instead of locally declaring builtin_error
-         and builtin_usage
-
-error.h
-       - add extern declaration for itrace()
-       - add prototype to extern declaration of get_name_for_error
-       - file_error now takes a `const char *' as first argument
-
-externs.h
-       - added prototype for sh_setlinebuf declaration, bracketed with
-         NEED_SH_SETLINEBUF_DECL so we don't need stdio.h everywhere
-       - add extern declaration for parse.y:return_EOF()
-
-shell.c
-       - add NEED_SH_SETLINEBUF_DECL before including shell.h
-
-lib/readline/callback.c
-       - include <stdlib.h> or "ansi_stdlib.h" for abort declaration
-
-quit.h
-       - remove declaration of throw_to_top_level
-
-subst.c
-       - remove unused extern declaration for getopts_reset
-
-lib/sh/netopen.c
-       - include <shell.h> for legal_number, etc.
-       - add prototype for inet_aton extern declaration
-
-lib/sh/clock.c
-       - include <stdc.h> for __P declaration
-       - add extern declaration for get_clk_tck
-
-support/mkversion.sh
-       - changed so that extern function declarations for functions in
-         version.c (moved from externs.h) are in the generated version.h
-
-shell.h
-       - include version.h
-
-version.c
-       - various `char *' version variables are now `const char *'
-
-general.h
-       - add prototype for same_file, bracketed with _POSIXSTAT_H
-         #ifdef, since that's what include/posixstat.h defines
-
-builtins/common.[ch]
-       - _evalfile, maybe_execute_file, source_file, and fc_execute_file
-         now take a `const char *' as their first argument
-
-eval.c
-       - removed extern declaration of yyparse; it's in externs.h
-
-parse.y
-       - added prototypes to static forward function declarations
-       - changed local `all_digits' variable in read_token_word () to
-         all_digit_token to avoid clash with all_digits() function in
-         general.c
-
-{bashhist,copy_cmd,make_cmd,hashlib,mailcheck}.c
-       - added prototypes for static function declarations
-
-shell.h
-       - add extern declarations for interactive, interactive_shell,
-         changed c files with extern declarations
-
-pcomplete.c
-       - changed it_init_aliases to avoid shadowing global variable
-         `aliases'
-
-bashline.c,pathexp.c,general.h
-       - sh_ignore_func_t is now a pointer to a function taking a
-         `const char *'; users changed
-
-configure.in
-       - test for <strings.h>
-
-config.h.in
-       - add #undef HAVE_STRINGS_H
-
-bashansi.h
-       - change like recommended in autoconf manual
-
-                                  9/11
-                                  ----
-[a date which will live in infamy.  prayers for the victims.]
-
-execute_cmd.c
-       - don't use an absolute index into abuf in mkfmt, use
-         sizeof(abuf) to compute last index
-
-builtins/common.c
-       - fix read_octal to do a better job of detecting overflow while
-         iterating through the string
-
-builtins/umask.def
-       - change octal-print mode to print 4 digits, like other shells
-       - cast umask to unsigned long to avoid problems on systems where
-         it's wider than an int (POSIX doesn't guarantee that mode_t is
-         no wider than an int, but real-world systems use int)
-
-builtins/printf.def
-       - mklong can never return NULL (it uses xrealloc), so the mainline
-         doesn't need to check for NULL returns
-       - new function, getldouble (long double *), to get long doubles
-       - mklong now takes a `char *' as its second argument, the modifier(s)
-         to use
-       - changed use of `modchar' to handle more than a single modifier
-         character
-       - changed to handle `long double' and `L' formats better, rather
-         than discarding long double information
-       - since printf now follows the POSIX.2 rules for conversion errors,
-         we can dispense with the status returns from the get* functions
-       - make the get* functions as similar in structure as possible,
-         removing type casts, etc.
-
-lib/sh/timeval.c,execute_cmd.c
-       - change some instances of `long' to `time_t', for systems where
-         a time_t is bigger than a long
-
-jobs.c
-       - include "posixtime.h" instead of <sys/time.h>
-
-config.h.in
-       - add defines for HAVE_DECL_CONFSTR, HAVE_DECL_STRTOLD,
-         HAVE_DECL_SBRK, HAVE_DECL_PRINTF
-       - remove defines for SBRK_DECLARED and PRINTF_DECLARED
-       - add _GNU_SOURCE define
-
-configure.in
-       - add AC_CHECK_DECLS for strtold, confstr, sbrk, printf
-       - remove call to BASH_FUNC_SBRK_DECLARED
-       - remove call to BASH_FUNC_PRINTF
-
-xmalloc.c, lib/malloc/malloc.c
-       - change check of SBRK_DECLARED to HAVE_SBRK_DECL
-
-print_cmd.c
-       - change PRINTF_DECLARED to HAVE_DECL_PRINTF
-
-builtins/evalstring.c, builtins/common.h
-       - parse_and_execute now takes a `const char *' as its second argument
-
-input.h,parse.y
-       - with_input_from_* functions now take a `const char *' as their
-         second argument
-       - init_yy_io now takes a `const char *' as its fourth argument
-
-parse.y,externs.h
-       - parse_string_to_word_list now takes a `const char *' as its second
-         argument
-
-tests/builtins.right
-       - change output to account for extra digit in umask output
-
-pcomplib.c
-       - free_progcomp now takes a PTR_T argument
-
-builtins/bashgetopt.h
-       - include <stdc.h>
-       - add prototypes to extern declarations
-
-builtins/shopt.def
-       - add prototypes to static function declarations
-
-builtins/{fc,umask,wait}.def, builtins/{bashgetopt,common}.c
-       - include <ctype.h> for isdigit macro (referenced by `digit(x)')
-
-lib/readline/complete.c
-       - added more static function declarations with prototypes
-
-                                  9/12
-                                  ----
-lib/sh/tmpfile.c
-       - use `^' instead of `*' in sh_mktmpname to make filenames a bit
-         more random
-
-include/stdc.h,lib/readline/rldstdc.h
-       - add __attribute__ definition 
-
-builtins/common.h
-       - add printf __attribute__ to declaration of builtin_error
-
-error.h
-       - add printf __attribute__ to declaration of programming_error,
-         report_error, parser_error, fatal_error, sys_error, internal_error,
-         internal_warning
-
-lib/readline/readline.h
-       - add printf __attribute__ to declaration of rl_message
-
-pcomplete.c
-       - add printf __attribute__ to declaration of debug_printf
-
-print_cmd.c
-       - add printf __attribute__ to declarations of cprintf, xprintf
-
-include/chartypes.h
-       - new file, includes <ctype.h> and defines macros that check for
-         safe (ascii) arguments before calling the regular ctype macros
-
-{alias,bashline,execute_cmd,expr,findcmd,general,locale,mksyntax,stringlib,subst,variables}.c
-parse.y
-builtins/{bashgetopt,common}.c
-builtins/{fc,printf,umask,wait}.def
-lib/glob/strmatch.c
-lib/sh/{oslib,pathcanon,pathphys,snprintf,strcasecmp,strindex,stringvec,strtod,strtol,strtrans}.c
-examples/loadables/{head,sleep}.c
-       - include "chartypes.h" or <chartypes.h> instead of <ctype.h>
-
-Makefile.in,{builtins,lib/{glob,sh}}/Makefile.in
-       - update dependencies to include chartypes.h
-
-lib/sh/inet_aton.c
-       - use `unsigned char' instead of `char' to pass to ctype.h functions
-
-lib/sh/netopen.c
-       - check for '0' <= host[0] <= '9' in _getaddr instead of using
-         isdigit
-
-subst.c,lib/sh/shquote.c
-       - change array subscripts into sh_syntaxtab from `char' to
-         `unsigned char'
-
-{alias,bashline,execute_cmd,expr,general,subst}.c, parse.y
-builtins/{fc,printf,umask,wait}.def builtins/{bashgetopt,common}.c
-lib/sh/{pathcanon,pathphys,snprintf,strcasecmp,strindex,strtod,strtol,strtrans}.c
-examples/loadables/{head,sleep}.c
-       - change to use some of the new macros in chartypes.h
-       - remove old local macro definitions now provided by chartypes.h
-
-general.h
-       - remove definition of isletter, ISOCTAL, digit, digit_value
-       - change legal_variable_starter and legal_variable_char to use
-         chartypes.h macros
-       - change ABSPATH to use chartypes.h macros
-
-lib/readline/util.c
-       - change to use Paul Eggert's FUNCTION_FOR_MACRO define to define
-         function replacements for macros in chardefs.h
-
-lib/readline/chardefs.h
-       - added some of the same macros as in chartypes.h
-       - change _rl_lowercase_p, _rl_uppercase_p, _rl_digit_p,
-         _rl_to_upper, _rl_to_lower to use new IS* macros
-       - added _rl_isident macro from vi_mode.c:isident
-
-lib/readline/{bind,complete,nls}.c
-       - change to use some of the new macros from chardefs.h
-
-lib/readline/vi_mode.c
-       - isident -> _rl_isident
-       - remove local defines of macros in chardefs.h
-
-lib/sh/strtol.c
-       - updated to new version, modified from glibc 2.2.4 and sh-utils-2.0.
-         This one can do strtoll and strtoull, if necessary
-
-                                  9/13
-                                  ----
-builtins/ulimit.def
-       - changed get_limit so it retrieves both hard and soft limits
-         instead of one or the other
-       - changed callers of get_limit
-       - changed getmaxvm to take soft limit, hard limit as arguments
-       - changed getmaxuprc to just take a single argument, the value
-       - changed calls to printone() to pass soft limit or hard limit
-         depending on `mode' instead of using old current_limit variable
-       - moved check for out-of-range limits in ulimit_internal into the
-         block that converts a string argument to a value of type rlim_t
-       - changed RESOURCE_LIMITS struct to break the description into a
-         description string and separate scale factor string
-       - changed print_all_limits to print a single error message if
-         get_limit fails, including limits[i].description now that the
-         scale factor has been removed from the description string
-       - removed DESCFMT define, since it's now used only in printone()
-       - changed printone to print the option character associated with a
-         particular limit if we're printing multiple limits
-       - changed calls to builtin_error to print the description associated
-         with a limit if setting or getting the limit fails
-       - added support for new POSIX 1003.1-200x rlim_t values:
-         RLIM_SAVED_CUR and RLIM_SAVED_MAX, which expand to the current
-         soft and hard limits, whatever they are
-       - changed printone to print `hard' or `soft' if the current limit is
-         RLIM_SAVED_MAX or RLIM_SAVED_CUR, respectively
-       - changed ulimit_internal to handle new `hard' and `soft' arguments
-       - changed help text do describe the special limit arguments `hard',
-         `soft', and `unlimited'
-
-doc/{bash.1,bashref.texi}
-       - documented new `hard' and `soft' limit arguments to `ulimit'
-
-hashlib.[ch]
-       - find_hash_item now takes a `const char *' is its first argument
-       - hash_string now takes a `const char *' is its first argument
-       - remove_hash_item now takes a `const char *' as its first argument
-
-pcomplib.c
-       - removed cast from first argument to find_hash_item in find_compspec
-
-general.[ch]
-       - absolute_program now takes a `const char *' as its argument
-       - absolute_pathname now takes a `const char *' as its argument
-
-lib/glob/glob.[ch]
-       - glob_pattern_p now takes a `const char *' as its argument
-
-bashline.c
-       - removed cast from first argument to absolute_program in
-         command_word_completion_function
-       - removed cast from first argument to glob_pattern_p in
-         attempt_shell_completion
-
-findcmd.[ch]
-       - find_absolute_program, find_user_command, find_path_file,
-         search_for_command, user_command_matches now take a
-         `const char *' as their first argument
-       - file_status, executable_file, is_directory, executable_or_directory
-         now take a `const char *' as their argument
-       - _find_user_command_internal, find_user_command_internal,
-         find_user_command_in_path 
-
-lib/sh/makepath.c, externs.h
-       - changed sh_makepath so it takes `const char *' for its first
-         two arguments
-
-hashcmd.[ch]
-       - find_hashed_filename now takes a `const char *' as its first arg
-       - remove_hashed_filename now takes a `const char *' as its first arg
-
-variables.[ch]
-       - new_shell_variable, var_lookup, shell_var_from_env_string,
-         find_name_in_env_array, bind_function, makunbound,
-         bind_name_in_env_array, bind_tempenv_variable, bind_variable
-         now take a `const char *' as their first arg
-       - find_function, make_new_variable, find_tempenv_variable,
-         find_variable_internal, find_variable, set_func_read_only,
-         set_func_auto_export, all_variables_matching_prefix, assign_in_env,
-         assignment, kill_local_variable, make_local_variable, unbind_variable
-         now take a `const char *' as their arg
-       - mk_env_string now takes `const char *' arguments
-
-arrayfunc.[ch]
-       - skipsubscript now takes a `const char *' as its argument
-
-                                  9/17
-                                  ----
-lib/readline/complete.c
-       - attempt to preserve case of what the user typed in
-         compute_lcd_of_matches if we're ignoring case in completion
-
-builtins/{let,pushd}.def,{execute_cmd,expr}.c
-       - change some 0L constants to 0 and let the compiler sort it out
-
-                                  9/18
-                                  ----
-lib/malloc/alloca.c
-       - alloca now takes a `size_t' argument
-
-include/memalloc.h
-       - if we're providing an extern function declaration for alloca,
-         use `void *' and prototype if __STDC__ is defined
-       - if HAVE_ALLOCA_H is defined, but C_ALLOCA is defined, don't
-         define HAVE_ALLOCA
-
-                                  9/19
-                                  ----
-subst.c
-       - do_assignment_internal, do_assignment, and do_assignment_no_expand
-         now take a `const char *' as their first argument
-
-general.h
-       - a `sh_assign_func_t' is now a function taking a `const char *' and
-         returning int
-
-hashcmd.c
-       - free_filename_data now takes a `PTR_T' argument to agree with the
-         typedef for `sh_free_func_t'
-
-lib/sh/snprintf.c
-       - use TYPE_MAXIMUM define like strtol.c instead of huge constants
-
-                                  9/20
-                                  ----
-lib/sh/snprintf.c
-       - don't bother to compile the bulk of the body unless HAVE_SNPRINTF
-         or HAVE_ASPRINTF is not defined
-
-                                  9/24
-                                  ----
-flags.c
-       - ignore `set -n' if the shell was started interactively
-
-lib/readline/readline.c
-       - initialize readline_echoing_p to 0; let the terminal-specific code
-         in rltty.c set it appropriately
-
-lib/malloc/malloc.c
-       - changed internal_memalign() slightly to avoid compiler warnings about
-         negating an unsigned variable (-alignment -> (~alignment + 1))
-
-                                  9/27
-                                  ----
-lib/readline/readline.c
-       - changed rl_newline to set _rl_history_saved_point appropriately
-         for the {previous,next}_history code
-
-lib/readline/rlprivate.h
-       - extern declaration for _rl_history_preserve_point
-
-lib/readline/bind.c
-       - new bindable variable, `history-preserve-point', sets value of
-         _rl_history_preserve_point
-
-                                  10/1
-                                  ----
-lib/malloc/table.c
-       - new file, with a map of allocated (and freed) memory for debugging
-         multiple frees, etc.  Indexed by hash on values returned by
-         malloc(); holds size, file and line number info for last alloc or
-         free and a couple of statistics pointers
-
-lib/malloc/malloc.c
-       - a few cleanups; added calls for registering allocations and frees
-         if MALLOC_REGISTER is defined
-       - replaced MALLOC_RETURN with explicit MALLOC_NOTRACE define
-       - reordered fields in `struct...minfo' in `union mhead' to restore
-         eight-byte alignment
-       - added explicit checks for underflow in free and realloc since
-         checking mh_magic2 is not sufficient to detect everything (it's
-         no longer the last field in the struct, and thus not the bytes
-         immediately preceding what's returned to the user)
-       - new function, xbotch, for printing file and line number info for
-         the failed assertion before calling botch() (programming_error())
-
-configure.in
-       - replaced call to BASH_C_LONG_LONG with call to
-         AC_CHECK_TYPES([long long])
-       - moved the C compiler tests before the tests for various
-         system types, so we can know whether we have `long long'
-         before testing for 64-bit types
-       - if we have `long long', check for sizeof(long long) and save value
-
-aclocal.m4
-       - changed BASH_TYPE_BITS64_T to check `long long' before `long', but
-         after `double'
-
-                                  10/2
-                                  ----
-lib/malloc/malloc.c
-       - made malloc and realloc both agree on the rounding for a request of
-         size N (round up to nearest multiple of 8 after adjusting for
-         malloc overhead); uses new ALLOCATED_BYTES macro
-       - realloc and free now use new IN_BUCKET macro for underflow checks
-
-execute_cmd.c
-       - fixed time_command() to use `time_t' instead of `long' to hold
-         time stamps
-
-lib/sh/clock.c
-       - clock_t_to_secs now takes a `time_t *' second argument
-       - fixed print_clock_t to call clock_t_to_secs with right arguments
-
-lib/sh/timeval.c
-       - fixed print_timeval to make `minutes' a `long' and make its
-         structure identical to print_clock_t
-
-redir.c
-       - changed redirection_error to check for EBADF and use the file
-         descriptor being redirected from in the error message if it
-         is >= 0
-
-Makefile.in
-       - changed release status to `beta1'
-
-lib/glob/collsyms.h
-       - added a few ASCII symbols to the posix_collsyms array
-
-                                  10/3
-                                  ----
-aclocal.m4
-       - fixed typo in BASH_TYPE_BITS64_T
-
-configure.in
-       - added check for unsigned chars with AC_C_CHAR_UNSIGNED
-
-config.h.in
-       - added PROTOTYPES and __CHAR_UNSIGNED__ #defines
-
-general.h
-       - if CHAR_MAX is not define by <limits.h>, provide a definition
-
-builtins/printf.def
-       - change tescape() to mask \0 and \x escape sequences with 0xFF
-       - change tescape() to process at most two hex digits after a `\x'
-
-lib/sh/strtrans.c
-       - change strtrans() to mask \0 and \x escape sequences with 0xFF
-       - change strtrans() to process at most two hex digits after a `\x'.
-         This affects `echo -e' and $'...' processing
-
-lib/readline/bind.c
-       - changed rl_translate_keyseq() to process at most two hex digits
-         after a `\x'
-
-lib/readline/doc/{rluser.texinfo,readline.3}, doc/bash.1
-       - changed documentation for key binding escape sequences to specify
-         that at most two hex digits after \x are translated
-       - changed documentation for key binding to specify that the result
-         of \nnn or \xhh escapes is an eight-bit value, not just ASCII
-
-doc/{bash.1,bashref.texi}
-       - changed documentation of $'...' to specify that at most two hex
-         digits after \x are translated
-       - changed `echo' documentation to specify that at most two hex
-         digits after \x are translated
-       - changed documentation for `echo' and $'...' to specify that the
-         result of \nnn or \xhh escapes is an eight-bit value, not just ASCII
-
-                                  10/4
-                                  ----
-lib/malloc/malloc.c
-       - changed interface for xbotch to pass memory address and error code
-         as two additional arguments
-       - call mregister_describe_mem from xbotch to get the last allocation
-         or free before the botch
-
-configure.in
-       - call AC_CHECK_DECLS([strsignal])
-
-config.h.in
-       - add HAVE_DECL_STRSIGNAL
-
-siglist.h
-       - make declaration of strsignal() dependent on !HAVE_DECL_STRSIGNAL
-
-                                  10/5
-                                  ----
-support/texi2html
-       - upgraded to version 1.64
-
-                                  10/9
-                                  ----
-aclocal.m4
-       - added check for `long long' to BASH_TYPE_PTRDIFF_T
-
-configure.in
-       - replaced call to BASH_HAVE_TIOCGWINSZ with AC_HEADER_TIOCGWINSZ
-
-aclocal.m4
-       - replaced body of BASH_STRUCT_TERMIOS_LDISC with call to
-         AC_CHECK_MEMBER(struct termios.c_line, ...)
-       - replaced body of BASH_STRUCT_TERMIO_LDISC with call to
-         AC_CHECK_MEMBER(struct termios.c_line, ...)
-
-[bash-2.05a-beta1 frozen]
-
-                                  10/10
-                                  -----
-lib/sh/snprintf.c
-       - fixed exponent() to not smash the trailing zeros in the fraction
-         when using %g or %G with an `alternate form'
-       - fixed exponent() to handle the optional precision with %g and %G
-         correctly (number of significant digits before the exponent)
-
-                                  10/11
-                                  -----
-expr.c
-       - fixed strlong() to correct the values of `@' and `_' when
-         translating base-64 constants (64#@ == 62 and 64#_ == 64), for
-         compatibility with ksh
-
-lib/sh/itos.c
-       - added a slightly more flexible fmtlong() function that takes a
-         base argument and flags (for future use)
-       - rewrote itos and inttostr in terms of fmtlong
-
-lib/sh/fmtulong.c
-       - new file, converts unsigned long to string.  hooks for `unsigned
-         long long' in the future.  unused as yet
-
-                                  10/15
-                                  -----
-lib/readline/rltty.c
-       - change the SET_SPECIAL macro to avoid possible (but highly
-         unlikely) negative array subscripts
-
-error.h
-       - add __attribute__ to extern declaration of itrace (even though the
-         function isn't defined in released versions of bash)
-
-bashansi.h
-       - include <strings.h> if HAVE_STRINGS_H is defined, to get any extra
-         function declarations provided therein
-
-copy_cmd.c
-       - fix typo in forward declaration for copy_arith_for_command
-
-lib/malloc/stats.c
-       - make the accumulators in _print_malloc_stats be `unsigned long'
-         instead of `int'
-
-externs.h, sig.h
-       - add `__noreturn__' gcc attribute to exit_shell and jump_to_top_level
-         declarations
-
-lib/sh/mailstat.c, support/bashversion.c
-       - include <bashansi.h> for some string function declarations
-
-lib/malloc/shmalloc.h
-       - added extern declarations of functions that do malloc debugging
-
-lib/readline/{isearch,readline,vi_mode}.c
-       - make sure we index into _rl_keymap with a non-negative index
-
-parse.y
-       - make sure we index into sh_syntaxtab with a non-negative index
-
-lib/readline/vi_mode.c
-       - bound the vi_mark_chars array with the number of characters between
-         'a' and 'z' rather than using a fixed amount
-       - don't use _rl_lowercase_p when deciding whether the char read by
-         rl_vi_set_mark is a valid mark; just use 'a' <= char <= 'z'
-
-lib/readline/chardefs.h
-       - conditionally include memory.h and strings.h as in general.h
-       - replace ISASCII with IN_CTYPE_DOMAIN like other GNU software
-       - add defines for ISPRINT(c), ISLOWER(c) and ISUPPER(c)
-       - fix defines for _rl_lowercase_p, _rl_uppercase_p, _rl_digit_p,
-         _rl_pure_alphabetic, ALPHABETIC, _rl_to_upper, _rl_to_lower,
-         and _rl_isident to work on systems with signed chars
-
-include/chartypes.h
-       - replace ISASCII with IN_CTYPE_DOMAIN like other GNU software
-
-lib/sh/{strcasecmp,strtod,strtol}.c
-       - don't pass possibly-negative characters to tolower() or toupper()
-
-lib/glob/strmatch.c
-       - don't bother testing for isupper in FOLD; rely on TOLOWER macro
-         from <chartypes.h> to do it
-       - don't use local definitions of isblank, et al.; rely on macros
-         from <chartypes.h>
-
-lib/readline/{display,readline}.c, mksyntax.c
-       - use new ISPRINT macro instead of isprint()
-
-builtins/{kill.def,mkbuiltins.c},{error,execute_cmd,jobs,nojobs,subst}.c
-       - don't assume that a pid_t fits into an int for printing and other
-         uses
-
-variables.[ch]
-       - the unused put_gnu_argv_flags_into_env now takes a `long' pid
-         argument
-
-configure.in, config.h.in
-       - call AC_STRUCT_ST_BLOCKS, define HAVE_STRUCT_STAT_ST_BLOCKS if found
-       - check for strtoull(), define HAVE_STRTOULL if found
-       - check for uintmax_t, define to `unsigned long' if not found
-
-lib/sh/mailstat.c
-       - don't use st_blocks member of struct stat unless
-         HAVE_STRUCT_STAT_ST_BLOCKS is defined; otherwise use the st_nlink
-         field to return the total number of messages in a maildir-style
-         mail directory
-
-general.h,{alias,expr,general,subst,variables}.c
-builtins/{printf,read}.def
-lib/readline/{bind,complete,nls}.c
-lib/sh/{pathcanon,pathphys,shquote,snprintf,strindex,strtod,strtol,strtrans}.c
-       - cast args to ctype macros to unsigned char for systems with signed
-         chars; other fixes for signed chars
-
-lib/sh/{fmtullong,strtoull.c}
-       - new files, more support for `long long'
-
-Makefile.in, lib/sh/Makefile.in
-       - make fmtullong.o and strtoull.o part of libsh
-
-lib/sh/itos.c
-       - remove local copy of fmtlong; use fmtulong instead
-       - new functions: uitos, uinttostr work on `unsigned long'
-
-lib/sh/snprintf.c
-       - fixes to make `unsigned long long' work (%llu)
-       - fixes to make unsigned formats not print the sign when given
-         an unsigned long that is greater than LONG_MAX
-
-externs.h
-       - extern declarations for fmtulong, fmtulloing, strtoull
-       - extern declarations for uitos, uinttostr
-
-                                  10/16
-                                  -----
-configure.in
-       - move header checks before function checks
-       - move c compiler tests before header checks
-       - check for <inttypes.h> with BASH_HEADER_INTTYPES
-       - change type checks for intmax_t, uintmax_t to not attempt to
-         include <stdint.h>
-       - check for strtoimax, strtoumax, strtoll, strtol, strtoull, strtoul
-         with BASH_CHECK_DECL (for declarations in header files) and
-         AC_REPLACE_FUNCS (for availability and LIBOBJS substitution)
-       - remove check for have_long_long around sizeof check for long long
-         (since autoconf will give it a size of 0 if the type isn't found)
-
-config.h.in
-       - add a define for HAVE_INTTYPES_H
-       - add a define for HAVE_UNSIGNED_LONG_LONG
-       - add defines for HAVE_STRTOIMAX, HAVE_STRTOUMAX, HAVE_STRTOLL
-
-aclocal.m4
-       - new func, BASH_HEADER_INTTYPES, which just calls AC_CHECK_HEADERS
-         on <inttypes.h>; separate so it can be AC_REQUIREd
-       - AC_REQUIRE([BASH_HEADER_INTTYPES]) in BASH_CHECK_TYPE
-       - include <inttypes.h> in BASH_CHECK_TYPE if HAVE_INTTYPES_H is
-         defined
-       - change AC_DEFINE to AC_DEFINE_UNQUOTED in BASH_CHECK_TYPE
-       - new `long long' checking macros:  BASH_TYPE_LONG_LONG and
-         BASH_TYPE_UNSIGNED_LONG_LONG
-       - new BASH_CHECK_DECL 
-
-lib/sh/{strto[iu]max,strtoll}.c, lib/sh/Makefile.in, Makefile.in
-       - new files
-
-externs.h
-       - extern declarations for strtoll, strtoimax, strtoumax
-
-lib/malloc/alloca.c
-       - include <bashtypes.h> for size_t
-
-builtins/printf.def
-       - new functions: getllong, getullong, getintmax, getuintmax; return
-         long long, unsigned long long, intmax_t, uintmax_t respectively
-       - builtin printf now handles `ll' and `j' length modifiers directly
-
-lib/sh/Makefile.in
-       - use LIBOBJS to decide whether or not the strto* functions are
-         needed
-
-                                  10/17
-                                  -----
-configure.in
-       - call AC_REPLACE_FUNCS(rename)
-       - move getcwd, strpbrk, strcasecmp, strerror, strtod
-         from AC_CHECK_FUNCS to AC_REPLACE_FUNCS
-       - only call BASH_FUNC_GETCWD if $ac_func_getcwd == "yes"
-       - call BASH_CHECK_SYS_SIGLIST
-       - if we don't have vprintf but have _doprnt, call AC_LIBOBJ(vprint)
-
-lib/sh/Makefile.in
-       - remove rename, getcwd, inet_aton, strpbrk, strcasecmp, strerror,
-         strtod, vprint from OBJECTS; picked up from LIBOBJS
-
-aclocal.m4
-       - change BASH_FUNC_GETCWD to call AC_LIBOBJ(getcwd) if the libc
-         getcwd(3) calls popen(3)
-       - change BASH_FUNC_INET_ATON to call AC_LIBOBJ(inet_aton) if it's
-         not found in libc or as a #define even with the special includes
-       - BASH_KERNEL_RLIMIT_CHECK -> BASH_CHECK_KERNEL_RLIMIT
-       - BASH_DEFAULT_MAILDIR -> BASH_SYS_DEFAULT_MAILDIR
-       - BASH_JOB_CONTROL_MISSING -> BASH_SYS_JOB_CONTROL_MISSING
-       - BASH_REINSTALL_SIGHANDLERS -> BASH_SYS_REINSTALL_SIGHANDLERS
-       - BASH_SIGNAL_CHECK -> BASH_SYS_SIGNAL_VINTAGE
-       - BASH_DUP2_CLOEXEC_CHECK -> BASH_FUNC_DUP2_CLOEXEC_CHECK
-       - BASH_PGRP_SYNC -> BASH_SYS_PGRP_SYNC
-       - BASH_RLIMIT_TYPE -> BASH_TYPE_RLIMIT
-       - BASH_FUNC_PRINTF -> BASH_DECL_PRINTF
-       - BASH_FUNC_SBRK_DECLARED -> BASH_DECL_SBRK
-       - BASH_MISC_SPEED_T -> BASH_CHECK_SPEED_T
-       - BASH_CHECK_SOCKLIB -> BASH_CHECK_LIB_SOCKET
-       - new macro, BASH_CHECK_SYS_SIGLIST, encapsulates all the checks for
-         sys_siglist, _sys_siglist, and strsignal(), sets SIGLIST_O to
-         siglist.o if appropriate
-
-Makefile.in
-       - use SIGLIST_O variable to decide whether or not we need siglist.o
-
-{execute_cmd,subst}.c
-       - change a couple of instances of ISDIGIT to DIGIT, where we really,
-         really only want ascii digits
-
-ansi_stdlib.h
-       - don't need a declaration for atol()
-
-                                  10/18
-                                  -----
-
-aclocal.m4
-       - new macro, BASH_FUNC_PRINTF_A_FORMAT, checks for printf support
-         for %a, %A conversion specifiers, defines HAVE_PRINTF_A_FORMAT
-         if successful
-
-configure.in
-       - call AC_CHECK_FUNCS for isascii
-       - call BASH_FUNC_PRINTF_A_FORMAT
-
-config.h.in
-       - add a define for HAVE_ISASCII
-       - add a define for HAVE_PRINTF_A_FORMAT
-
-lib/sh/snprintf.c
-       - for long double output, fall back to sprintf using ldfallback()
-         function for floating point formats
-       - support %a, %A using dfallback() or ldfallback() if
-         HAVE_PRINTF_A_FORMAT is defined
-       - fix bug in vasprintf that returned wrong value in its first
-         argument if the buffer holding the result string got reallocated
-       - fixed PUT_CHAR macro to increment the counter even if we've
-         exceeded the buffer size, for the return value from
-         vsnprintf/snprintf
-       - fix vsnprintf_internal to not use counter < length as a loop
-         condition, but always process the entire format string (for
-         the return value from vsnprintf/snprintf)
-
-builtins/printf.def
-       - support %a, %A if HAVE_PRINTF_A_FORMAT is defined
-
-include/typemax.h
-       - new file, with the TYPE_MAXIMUM stuff that's duplicated in several
-         files in lib/sh
-
-lib/sh/{fmtulong,strtol,snprintf}.c
-       - include <typemax.h> instead of having the definitions in each file
-
-lib/sh/Makefile.in
-       - updated dependencies for typemax.h
-
-                                  10/22
-                                  -----
-configure.in
-       - call AC_CHECK_FUNCS on ctype.h functions/macros that bash redefines
-         in chartypes.h
-
-config.h.in
-       - defines for HAVE_IS{ASCII,BLANK,GRAPH,PRINT,SPACE,XDIGIT}
-
-include/chartypes.h, lib/glob/strmatch.c, lib/readline/chardefs.h
-       - don't redefine some is* ctype macros/functions if HAVE_ISXXX is
-         defined (meaning that an appropriate function, but not a macro,
-         exists)
-
-lib/sh/strtrans.c
-       - new function, ansic_shouldquote, returns 1 if argument string
-         contains non-printing chars that should be quoted with $'...'
-
-externs.h
-       - new declaration for ansic_shouldquote()
-
-variables.c
-       - change print_var_value to ansi C quote the string if we're not in
-         posix mode and the variable's value contains non-printing chars,
-         to use the regular shell single quoting if the value contains
-         shell meta-characters, and to just output the string otherwise
-
-lib/sh/shquote.c
-       - add `break' to `case '~':' to avoid fallthrough and extra test
-
-doc/bashref.texi
-       - note that in POSIX mode, `set' displays variable values that
-         include nonprinting characters without quoting, unless they
-         contain shell metacharacters
-
-builtins/printf.def, lib/sh/snprintf.c
-       - handle `F' conversion specifier as equivalent to 'f'
-
-parse.y, {nojobs,variables}.c
-       - a couple of cleanups for when building a minimal configuration
-
-nojobs.c
-       - new function: stop_making_children(), just sets
-         already_making_children to 0 (like stop_pipeline)
-
-subst.c
-       - call stop_making_children from subst.c:command_substitute if
-         JOB_CONTROL is not defined.  This fixes the bug where the wrong
-         process is waited for (and its status returned) when using
-         command substitution in a null command in a shell function
-
-builtins/printf.def
-       - new variable `tw' used to keep track of the total number of
-         characters written by a single call to `printf' -- to be
-         used for the `%n' conversion, which will be added later.  It
-         gets reset each time we reuse the format string, which is what
-         ksh93 seems to do
-
-                                  10/23
-                                  -----
-variables.c
-       - new function, bind_var_to_int (char *var, long val)
-
-variables.h
-       - extern declaration for bind_var_to_int
-
-lib/sh/netopen.c
-       - use gai_strerror() for error messages when getaddrinfo() fails
-       - use PF_INET if DEBUG is defined, since IPv6 doesn't work for me
-
-Makefile.in
-       - pass DEBUG=${DEBUG} down to makes in some subdirectories
-
-{builtins,lib/{glob,sh}}/Makefile.in
-       - append ${DEBUG} to LOCAL_CFLAGS value, passed by top-level Makefile
-
-builtins/printf.def
-       - added support for %n format conversion char (number of chars printed
-         so far from current format string)
-
-                                  10/24
-                                  -----
-variables.c
-       - if posixly_correct is set, the default value of $MAILCHECK is 600
-       - use legal_number instead of atoi in adjust_shell_level
-       - treat non-numeric assignments to SECONDS as 0 in assign_seconds
-       - new function, init_funcname_var; sets FUNCNAME as a dynamic variable
-         if it's not set in the initial environment
-       - new function, init_groups_var; sets GROUPS as a dynamic array
-         variable if it's not set in the initial environment
-       - new function, init_dirstack_var; sets DIRSTACK as a dynamic array
-         variable if it's not set in the initial environment
-       - new function, init_seconds_var; sets SECONDS as a dynamic
-         variable using any valid integer value in the initial environment
-         as the initial value, as if an assignment had been performed
-       - call init_funcname_var, init_groups_var, init_dirstack_var,
-         init_seconds_var from initialize_dynamic_variables
-       - non-numeric values assigned to LINENO are treated as 0
-       - change initialize_shell_variables to not auto-export PATH or TERM
-       - change set_home_var to not auto-export HOME
-       - change set_shell_var to not auto-export SHELL
-       - broke the code that sets HOSTNAME, HOSTTYPE, MACHTYPE, OSTYPE
-         out into a separate function, set_machine_vars; none of those
-         variables are auto-exported
-       - bash no longer un-exports SSH_CLIENT or SSH2_CLIENT
-
-shell.c
-       - changed isnetconn() to check SSH_CLIENT and SSH2_CLIENT only if
-         SSH_SOURCE_BASHRC is defined in config-top.h
-
-config-top.h
-       - added a commented-out definition for SSH_SOURCE_BASHRC
-
-                                  10/25
-                                  -----
-
-Makefile.in
-       - changed RELSTATUS to `rc1' (release candidate 1)
-
-                                  10/29
-                                  -----
-locale.c
-       - fixed an `=' vs. `==' typo in set_locale_var when parsing
-         LC_NUMERIC
-
-doc/{bash.1,bashref.texi}
-       - document what bash does with $POSIXLY_CORRECT
-
-doc/builtins.1
-       - some updates
-
-builtins/psize.sh
-       - some mktemp(1) changes
-
-lib/readline/readline.c
-       - change rl_backward to check for rl_point < 0 and reset to 0 if so
-
-lib/readline/util.c
-       - don't compile in _rl_strpbrk if HAVE_STRPBRK is defined
-
-lib/readline/rlprivate.h
-       - remove extern declaration of _rl_strpbrk
-
-lib/readline/rldefs.h
-       - #define _rl_strpbrk as strpbrk if HAVE_STRPBRK is define, otherwise
-         add extern declaration of _rl_strpbrk from rlprivate.h
-
-{mailcheck,shell,variables}.c
-       - make sure to include posixtime.h to get any prototype for time(3)
-         in scope
-
-{array,eval,execute_cmd,mksyntax,subst}.c, parse.y
-builtins/common.c
-lib/sh/pathcanon.c
-       - a few changes as the result of `gcc -Wall' patches from solar
-         designer
-
-builtins/read.def, parse.y
-       - change some calls to free() to xfree()
-
-builtins/set.def
-       - make sure unset_builtin() resets unset_array to 0 each time through
-         the loop, because it's set (and used) depending on the current
-         argument
-
-shell.h
-       - new define, USE_VAR, to force the compiler to not put a particular
-         variable in a register -- helpful if registers are not restored
-         by setjmp/longjmp
-
-builtins/{evalfile.c,{read,wait}.def}, {eval,execute_cmd,shell,test}.c
-       - use USE_VAR for some variables
-
-subst.c
-       - fixed a case in expand_word_internal where a NULL pointer could
-         have been passed to free() (though free() should ignore it)
-       - fixed a case at the end of expand_word_internal where LIST could
-         have been used uninitialized (it makes gcc happy, though it
-         doesn't happen in practice)
-
-test.c
-       - give test_syntax_error(), beyond(), and integer_expected_error()
-         the `__noreturn__' attribute for gcc
-
-unwind_prot.c
-       - in clear_unwind_protect_list(), convert `flags' to `long' (via
-         assignment to a `long' variable) before casting to `char *', in
-         case pointers and longs are 64 bits and ints are 32 (makes no
-         difference on 32-bit machines)
-
-                                  10/30
-                                  -----
-print_cmd.c
-       - fixed cprintf to avoid gcc warning about assigning const pointer
-         to non-const (discarding type qualifier)
-
-{make_cmd,pcomplete,test}.c,parse.y
-       - some minor changes to shut up gcc warnings
-
-lib/sh/tmpfile.c
-       - fixed sh_mktmpfp to avoid file descriptor leaks in the case that
-         sh_mktmpfd succeeds but fdopen fails for some reason
-       - change sh_mktmpfd to use the same scheme for computing `filenum'
-         as sh_mktmpname
-       - change get_sys_tmpdir to prefer P_tmpdir if P_tmpdir is defined
-       - changed sh_mktmpname and sh_mktmpfd to avoid trying to assign to
-         `nameroot' if `nameroot == 0' (duh)
-       - add code to sh_mktmpfd to use mkstemp(3) if USE_MKSTEMP is defined
-       - add code to sh_mktmpname to use mktemp(3) if USE_MKTEMP is defined
-
-support/{fixlinks,mkclone}
-       - use mktemp if it's available for the symlink test
-       - use $TMPDIR instead of hardcoding /tmp; default to /tmp
-       - use a better filename for the symlink test instead of `z'
-
-support/bashbug.sh
-       - more changes inspired by a patch from solar designer
-
-lib/malloc/Makefile.in
-       - new target `alloca', which builds libmalloc.a with alloca.o only
-         (for systems without alloca that are configured --without-bash-malloc)
-
-configure.in
-       - if we don't have a working alloca and are not configured to build
-         the bash malloc library, make a malloc library containing only
-         alloca.o
-
-aclocal.m4
-       - slight change to RL_LIB_READLINE_VERSION to deal with minor version
-         numbers with a letter appended (like 4.2a)
-
-                                  10/31
-                                  -----
-doc/{bash.1,bashref.texi}
-       - slight change to note that only interactive shells resend a SIGHUP
-         to all jobs before exiting
-
-externs.h
-       - declare strto[ui]max only if NEED_STRTOIMAX_DECL is defined.  This
-         keeps picky compilers from choking because intmax_t is not defined
-         (MacOS X 10.1)
-
-builtins/printf.def
-       - #define NEED_STRTOIMAX_DECL before including shell.h
-
-                                  11/1
-                                  ----
-general.c
-       - check in bash_tilde_expand() for an unquoted tilde-prefix; don't
-         bother passing the string to tilde_expand unless the prefix is
-         unquoted
-
-shell.c
-       - fix a problem with $LINENO when executing commands supplied with
-         the -c invocation option when ONESHOT is defined
-
-[bash-2.05a-rc1 frozen]
-
-builtins/printf.def
-       - fix the %n conversion to require that the variable name supplied
-         be a valid shell identifier
-
-variables.c
-       - improve random number generator slightly by using the upper 16
-         bits of the running random number instead of the lower 16, which
-         are incrementally more random
-
-                                  11/2
-                                  ----
-configure.in
-       - if RL_INCLUDEDIR ends up being /usr/include, don't put
-         -I$(RL_INCLUDEDIR) into CFLAGS
-
-                                  11/5
-                                  ----
-doc/{bash.1,bashref.texi}
-       - correct description of POSIXLY_CORRECT to note that the shell enters
-         posix mode *before* the startup files are read if POSIXLY_CORRECT
-         is in the initial environment
-
-variables.c
-       - fix function prologues for init_dirstack_var and init_groups_var
-         to agree with caller (no arguments)
-
-jobs.c
-       - fix forward function declarations for pipe_read and pipe_close
-
-subst.c
-       - removed `inline' attribute from skip_double_quoted because it can
-         potentially be called recursively
-
-bashline.c
-       - quick fix to bashline.c:attempt_shell_completion programmable
-         completion code to just punt if the end of the command word found
-         by find_cmd_end is <= the start found by find_cmd_start (the bug
-         is probably in find_cmd_start -- fix later)
-
-pcomplete.c
-       - fix gen_matches_from_itemlist to return if the stringlist is null
-         after any cleaning or initialization, before trying to use it
-       - fix GEN_COMPS to only bother to try to append the STRINGLIST
-         returned by gen_matches_from_itemlist to `glist' if it's non-NULL
-
-lib/sh/stringlist.c
-       - make copy_stringlist return NULL if the STRINGLIST * passed as an
-         argument is NULL
-       - make append_stringlist call copy_stringlist only if M2 is non-NULL;
-         otherwise just return NULL if m1 is NULL
-       - make word_list_to_stringlist return 0 immediately if the passed
-         LIST argument is NULL
-       - make realloc_stringlist call alloc_stringlist if the passed
-         STRINGLIST argument (`sl') is 0, just like realloc calls malloc
-
-subst.c
-       - in skip_to_delim(), if we have an unclosed ${, and it's at the end
-         of the string (string[i] == '{', string[i+1] == '{' and
-         string[i+2] == 0, return si (i + 2) immediately without bothering
-         to call extract_dollar_brace_string or extract_delimited_string
-       - in skip_to_delim(), if string[i] is 0 after a call to
-         extract_dollar_brace_string or extract_delimited_string (meaning we
-         have an unclosed ${ or other expansion, return i immediately without
-         doing a `continue' (which will increment i past the end of string)
-       - in split_at_delims, don't increment te by 1 if it's pointing to a
-         delimiter.  this has the effect of skipping the first delimiter
-         char in a possibly multi-character delimiter, and ignoring
-         single-char delimiters like `>'
-
-configure.in
-       - use AC_CHECK_MEMBERS([struct stat.st_blocks]) instead of a call to
-         AC_STRUCT_ST_BLOCKS to avoid configure changing LIBOBJS if the test
-         fails
-
-general.c
-       - introduce two new variables: bash_tilde_{prefixes,suffixes}, set
-         to the additional prefixes and suffixes bash wants to pass to the
-         tilde expansion code (reserved for post-bash-2.05a fix)
-
-aclocal.m4
-       - add missing `test' in BASH_CHECK_SYS_SIGLIST
-
-                                  11/7
-                                  ----
-lib/readline/vi_mode.c
-       - fix rl_vi_goto_mark to explicitly check that the desired mark is
-         between 'a' and 'z', since some locales have lowercase letters
-         outside that range, which could cause a negative subscript
-
-include/chartypes.h
-       - remove superfluous `#undef ISASCII'
-
-lib/sh/strto[iu]max.c
-       - changes from Paul Eggert to work around buggy compilers and catch
-         configuration errors at compile time
-
-aclocal.m4
-       - new macro, BASH_C_LONG_DOUBLE, identical to AC_C_LONG_DOUBLE but
-         with a fix for Irix 5.3 (not called, since I'm not sure it's the
-         right thing to do -- the C standard allows double and long double
-         to be the same size)
-
-lib/sh/snprintf.c
-       - only try to write the trailing NUL in vsnprintf_internal if
-         data->length is >= 0, since if it's not, we probably don't have
-         a buffer
-
-Makefile.in
-       - changed RELSTATUS to `release'
-
-                                  11/8
-                                  ----
-lib/sh/strtol.c
-       - make sure chars passed to toupper are cast to unsigned
-
-unwind_prot.c
-       - change clear_unwind_protect_list to not require a cast from `int'
-         to `char *'
-
-lib/readline/chardefs.h
-       - make _rl_digit_p succeed only for ascii digits, since that's what
-         most callers assume
-
-                                  11/13
-                                  -----
-doc/bashref.texi
-       - added `ERR' trap and [-+]O invocation option to section listing
-         differences from the Bourne shell
-
-                                  11/15
-                                  -----
-[bash-2.05a released]
-
-                                  11/19
-                                  -----
-include/stdc.h
-       - new define, INLINE, defined as `inline' for gcc and empty otherwise
-
-subst.c
-       - make skip_double_quoted, sub_append_string have INLINE attribute
-
-trap.c
-       - use BASH_NSIG as upper limit for signal names in signal_name()
-
-lib/readline/bind.c
-       - use RL_COMMENT_BEGIN_DEFAULT in output for rl-comment-begin value
-
-error.c
-       - fix sys_error to save value of errno around calls to fprintf
-
-doc/Makefile.in
-       - added rules to create PDF files from postscript and dvi input
-
-MANIFEST.doc
-       - added {article,bash,bashref,rose94}.pdf
-
-doc/bash.1
-       - rearranged some `.PD 0' and `.TP' directives so man2html will
-         handle them better (shouldn't affect groff output)
-
-support/man2html.c
-       - small fix to handle quoted string arguments to directives like
-         `.BR' without mangling the output
-
-                                  11/20
-                                  -----
-{arrayfunc,variables}.c
-       - changed calling sequence for dynamic array variable `assign'
-         functions to (SHELL_VAR *self, char *value, arrayind_t ind)
-       - changed calling sequence for dynamic variable assign functions
-         to the same as array variable assign_func.  Now this can be
-         prototyped
-
-variables.h
-       - the assign_func member of a `struct variable' is now of type
-         `sh_var_assign_func_t', which is prototyped
-       - the dynamic_value member of a `struct variable' is now of type
-         `sh_var_value_func_t', which is prototyped
-
-variables.c
-       - changed to use `sh_var_assign_func_t' and `sh_var_value_func_t'
-
-builtins/cd.def
-       - when in posix mode, if the new directory name formed by PWD and
-         the argument passed by the user cannot be canonicalized, and the
-         -P option has not been supplied, return failure immediately
-       - if canonicalization failed, but the fallback to the directory
-         name specified by the user succeeds, reset the current working
-         directory
-
-lib/readline/{input.c,rlprivate.h}
-       - renamed rl_unget_char to _rl_unget_char; made library global
-
-lib/readline/{{bind,readline}.c,{keymaps,rlprivate}.h}
-       - support for `key subsequences'; allows a key sequence and a function
-         mapped to a subsequence of that key sequence.  Primarily to allow
-         arrow keys to be bound in readline vi insert mode, while preserving
-         the ESC function to switch to command mode.
-
-lib/readline/{input.c,rlprivate.h}
-       - new function, _rl_input_queued(T), does a check with select or
-         FIONREAD with a timeout of `T' (which is generally 0)
-
-lib/readline/readline.c
-       - change _rl_dispatch_subseq to test for input in the queue if we
-         get ESC while in vi insertion mode if the keymap entry type for
-         ESC is ISKMAP.  If _rl_input_queued returns non-zero, we assume
-         that an arrow key sequence has been pressed and go ahead with the
-         subsequence.  If it returns zero, we assume that the user pressed
-         ESC to switch into command mode, and dispatch to that right away.
-         This avoids forcing the user to press another key before switching
-         into command mode
-
-                                  11/21
-                                  -----
-lib/readline/readline.c
-       - bind common arrow key sequences in vi insertion keymap
-
-lib/readline/terminal.c
-       - bind termcap definition's arrow keys in vi insertion keymap
-
-lib/readline/bind.c
-       - check for rl_vi_movement_mode in _rl_bind_if_unbound, so
-         binding the arrow keys can work
-
-lib/readline/readline.c
-       - since _rl_bind_if_unbound does the check of what's currently
-         bound to the key sequence, the check in bind_arrow_keys_internal
-         was redundant
-       - bind_arrow_keys_internal now takes a Keymap argument and handles
-         saving and restoring _rl_keymap; changed bind_arrow_keys
-         accordingly
-
-builtins/fc.def
-       - fix from Paul Eggert to substitute the nearest history number in
-         range if an out-of-range value is supplied.  POSIX requires this
-
-lib/sh/pathcanon.c
-       - fix from Corrina Vinschen for the special `cygdrive' prefix on
-         Cygwin
-
-bashhist.c
-       - split the history adding code into more pieces:
-           check_history_control (char *line) checks LINE against the value
-           of HISTCONTROL, returning 1 if LINE should be saved and 0 if not
-
-           check_add_history (char *line) calls check_history_control and
-           history_should_ignore (line) and saves the line with
-           bash_add_history if the checks indicate that it should be saved
-
-           maybe_add_history just calls check_add_history to set the value
-           of first_line_saved
-
-bashhist.h
-       - extern declaration for check_add_history()
-
-shell.c
-       - don't call load_history() from the interactive shell startup
-         code if history_lines_this_session is > 0, indicating that we've
-         already saved some lines in the history and that we probably
-         don't want to overwrite them
-
-builtins/history.def
-       - call check_add_history from push_history, so `history -s xx'
-         works even when in a compound command whose first line has not
-         been saved.  (Caveat:  in a compound command when the first
-         line has been saved, the line supplied to history -s will become
-         part of the compound command's history entry.  Of course, the
-         delete_history call could remove the compound command from the
-         history entirely)
-
-bashline.c
-       - use sh_makepath instead of xmalloc/sprintf in
-         command_word_completion_function
-
-lib/readline/complete.c
-       - get_y_or_n now takes an int FOR_PAGER argument; caller changed
-         If FOR_PAGER is non-zero, get_y_or_n returns appropriate values
-         for a more-like pager:  `newline' or `return' return 2; `q' or
-         `Q' return 0
-       - there is now a mini internal more-like pager for displaying a
-         list of completions that exceeds the screen height (new function
-         _rl_internal_pager, called from rl_display_match_list)
-
-                                  11/24
-                                  -----
-command.h
-       - new flag, W_TILDEEXP, says to do tilde expansion on an
-         assignment word
-
-execute_cmd.c
-       - fix_assignment_words now sets W_TILDEEXP for assignment word
-         arguments to `assignment builtins'
-
-general.c
-       - bash_tilde_expand now takes a second argument indicating whether
-         or not it's being invoked in an `assignment context'
-
-general.h
-       - change extern declaration for bash_tilde_expand
-
-{bashline,execute_cmd,findcmd,general,variables}.c
-builtins/evalfile.c
-lib/sh/makepath.c
-       - fix callers of bash_tilde_expand appropriately
-
-subst.c
-       - fix callers of bash_tilde_expansion appropriately
-       - add (currently commented-out) code that would tilde expand assignment
-         statement arguments to assignment builtins (W_TILDEEXP flag set)
-         even when the shell is in posix mode
-
-bashline.c
-       - fix attempt_shell_completion to turn off
-         rl_filename_completion_desired when doing command name completion,
-         so no slash gets appended to the name if there happens to be a
-         directory with the same name in the current directory
-
-                                  11/26
-                                  -----
-lib/readline/rltech.texinfo
-       - a couple of additions to the rl_stuff_char description
-
-parse.y
-       - turn off echo_input_at_read in parse_string_to_word_list, so `set -v'
-         doesn't give extra lines of output when doing compound array
-         assignment
-
-subst.c
-       - fix split_at_delims to handle skipping over a `\n' if it's a
-         delimiter (use spctabnl(c) instead of whitespace(c))
-
-                                  11/27
-                                  -----
-support/config.{guess,sub}
-       - updated (with bash changes) to latest version from gnu.org
-
-sig.h
-       - add prototype for set_signal_handler declaration
-
-builtins/setattr.def
-       - add prototype to extern declaration of declare_builtin
-
-builtins/times.def
-       - add no_options call, since times takes no options
-
-lib/sh/spell.c
-       - add prototypes to forward declarations for midist and spdist
-
-lib/sh/strtrans.c
-       - add explicit int return type to ansic_shouldquote declaration
-
-lib/readline/rldefs.h, lib/readline/{macro,readline,util,undo}.c
-       - move define for SWAP to rldefs.h, removed from various C files
-
-lib/readline/vi_mode.c
-       - removed define for exchange(), changed to use SWAP instead
-
-lib/readline/bind.c
-       - added some static forward function declarations
-       - find_boolean_var, find_string_var now take a `const char *' argument
-
-lib/readline/signals.c
-       - added static forward declaration for rl_maybe_set_sighandler
-
-lib/readline/readline.c
-       - add some common key bindings for the HOME and END keys in
-         bind_arrow_keys_internal
-
-lib/readline/terminal.c
-       - fetch the `@7' termcap string; it's sent by the END key
-       - attempt to bind the terminal's END key to rl_end_of_line in
-         bind_termcap_arrow_keys; I don't know why I was using `kH'
-         instead of `@7'
-
-doc/builtins.1
-       - remove `case', `for', `if', `until', `while' from NAME section;
-         those are not shell builtins
-
-                                  11/28
-                                  -----
-stringlib.c
-       - new function, find_token_in_alist, takes a token value and an
-         ALIST argument, and returns the string correspoinding to the
-         token if found in the alist
-
-externs.h
-       - new extern declaration for find_token_in_alist()
-
-subst.c
-       - string_list_internal is no longer static
-
-subst.h
-       - new extern declaration for string_list_internal()
-
-parse.y
-       - new alist array of other tokens returned by read_token which are
-         not reserved words in word_token_alist[]
-       - reworked error reporting:  new functions print_offending_line,
-         which prints the line containing the syntax error,
-         error_token_from_token, which takes the current token and tries to
-         figure out its textual representation, and error_token_from_text,
-         which does the old job of finding the bad token by analyzing the
-         text of shell_input_line at the current index
-       - report_syntax_error now tries to figure out the token that caused
-         the syntax error by first looking at current_token and falling
-         back to the old method of textual analysis if that fails
-       - report_syntax_error doesn't say the token resulting from the textual
-         analysis of the input line is an `unexpected token'; it just
-         says there is a `syntax error near xxx'
-       - changed conditional command error reporting to use the value
-         returned by error_token_from_token if it's not null instead of
-         just using the token value in the message, since current_token
-         ends up being set to -1, and the text of the message from
-         report_syntax_error might not be exactly right
-       - change parse_string_to_word_list to set current_token to the
-         offending token returned by read_token before calling yyerror()
-         to make the error reporting do the right thing
-
-aclocal.m4
-       - fixed typo in BASH_CHECK_LIB_TERMCAP
-
-configure.in
-       - add check for isinf(3); define HAVE_ISINF_IN_LIBC if found
-
-config.h.in
-       - add define for HAVE_ISINF_IN_LIBC
-
-lib/sh/snprintf.c
-       - check for Inf and NaN, using isinf and isnan if they're found in
-         libc
-       - use the current locale for thousands separator and decimal point
-       - recognize "'" flag; not implemented yet
-       - fix for snprintf/vsnprintf with length of 0 and string argument of
-         0 with non-zero length
-
-builtins/read.def
-       - TMOUT is now the default timeout for `read' (and select) if set,
-         like ksh93 when reading from the terminal
-       - edit_line (called by read -e) now just does readline's filename
-         completion by setting rl_attempted_completion_function to NULL,
-         since e.g., doing command completion for the first word on the
-         line wasn't really useful
-
-execute_cmd.c
-       - changed select_command to return failure status if select_query
-         returns NULL, indicating that read_builtin returned
-         EXECUTION_FAILURE
-
-doc/{bash.1,bashref.texi}
-       - documented new TMOUT behavior 
-       - slight change to the description of the test `-ef' option
-
-doc/bashref.texi
-       - added item to posix mode section describing failure behavior of
-         cd when invoked in logical mode and the pathname formed by
-         combining $PWD and the directory argument does not refer to an
-         existing directory
-
-                                  11/29
-                                  -----
-execute_cmd.c
-       - fix execute_function to call dispose_function_env after
-         merge_function_env if the shell is in posix mode (fixes debian
-         bash bug #117673)
-
-lib/readline/readline.c
-       - rl_forward -> rl_forward_char; rl_forward function for compatibility
-       - rl_backward -> rl_backward_char; rl_forward function for
-         compatibility
-       - new functions, rl_forward_byte, rl_backward_byte, for future use
-
-lib/readline/readline.h
-       - extern declarations for rl_forward_char, rl_backward_char,
-         rl_forward_byte, rl_backward_byte
-
-lib/readline/{emacs_keymap,funmap,vi_keymap,vi_mode
-       - rl_forward -> rl_forward_char
-       - rl_backward -> rl_backward_char
-
-lib/readline/funmap.c
-       - new bindable names, `backward-byte' and `forward-byte'
-
-aclocal.m4
-       - new function, BASH_CHECK_MULTIBYTE, encapsulates checks for
-         multibyte code
-
-config.h.in
-       - add necessary defines for multibyte include files and functions
-
-configure.in
-       - add call to BASH_CHECK_MULTIBYTE
-
-config-bot.h
-       - add code to define HANDLE_MULTIBYTE if prerequisites are met
-
-lib/sh/xstrchr.c
-       - new file, xstrchr() is strchr(3) that handles multibyte characters
-
-bashhist.c
-       - first_line_saved -> current_command_first_line_saved; variable is
-         now global
-
-bashhist.h
-       - extern declaration for current_command_first_line_saved
-
-                                  11/30
-                                  -----
-bashhist.c
-       - break the code that actually calls add_history out of
-         bash_add_history into a new function, really_add_history;
-         bash_add_history now calls really_add_history
-       - check_add_history takes a second `force' argument telling it
-         whether to call bash_add_history (force == 0) or really_add_history
-         (force != 0)
-
-builtins/history.def
-       - in push_history, call delete_last_history if the current command
-         has more than one line, the first line was saved, and
-         command-oriented history is active.  This takes care of deleting
-         the right history element if `history -s' is used within a
-         compound or multiline command
-       - in push_history, call check_add_history with second argument of 1
-         to skip check of current_command_line_count and add the arguments
-         to history -s as a single separate history entry
-
-                                  12/3
-                                  ----
-lib/readline/complete.c
-       - append a slash to completed names which are symlinks to directories
-         if the new variable _rl_complete_mark_symlink_dirs is non-zero
-
-lib/readline/rlprivate.h
-       - extern declaration for _rl_complete_mark_symlink_dirs
-
-lib/readline/bind.c
-       - new bindable variable, `mark-symlinked-directories', mirrors the
-         value of _rl_complete_mark_symlink_dirs
-
-doc/bash.1, lib/readline/doc/{readline.3,rluser.texinfo}
-       - documented new `mark-symlinked-directories' variable
-
-                                  12/4
-                                  ----
-variables.[ch]
-       - set_pipestatus_array now takes a second argument with the number
-         of processes in the array
-       - changed set_pipestatus_array to just modify the value in place if
-         the existing array has one element and the new array has one
-         element, and to modify existing values in place if new array has
-         more elements than existing array
-
-variables.c, jobs.c
-       - changed set_pipestatus_array callers
-
-jobs.c
-       - moved call to setjstatus() from set_job_status_and_cleanup to
-         wait_for, since set_job_status_and_cleanup is part of the SIGCHLD
-         signal handler call path, and race conditions accessing the
-         PIPESTATUS array will result for things like
-
-               while true; do date; done | cat > /dev/null
-
-                                  12/5
-                                  ----
-xmalloc.h
-       - don't redefine xmalloc, xrealloc, and xfree if DISABLE_MALLOC_WRAPPERS
-         is #defined
-
-config.h.in
-       - #undef for DISABLE_MALLOC_WRAPPERS
-
-configure.in
-       - define DISABLE_MALLOC_WRAPPERS if the --with-purify option is
-         supplied
-
-lib/malloc/trace.c
-       - new function, malloc_trace_bin(N), traces allocations and frees
-         to bucket N (uses the same type of bitmap as `busy')
-
-lib/malloc/table.c
-       - fix wraparound search problem in find_entry when searching for a
-         free entry when the table is full
-
-                                  12/6
-                                  ----
-lib/malloc/table.c
-       - keep an `overflow bucket' around to use when the table is full,
-         so find_entry always returns a valid pointer when FIND_ALLOC
-         is set
-       - new static variable to keep a count of the number of MT_ALLOC
-         entries in the mem_table
-
-lib/sh/{oslib,clktck}.c
-       - if HAVE_LIMITS_H is defined, include <limits.h>
-
-lib/sh/oslib.c
-       - new function, getmaxgroups() returns max number of simultaneous
-         groups
-       - new function, getmaxchild(), returns max number of simultaneous
-         user processes
-
-general.c
-       - removed forest of #defines for getmaxgroups()
-
-externs.h
-       - new extern declaration for getmaxgroups()
-       - new extern declaration for getmaxchild()
-       - new extern declaration for isnetconn()
-
-lib/sh/netconn.c,shell.c
-       - new file, isnetconn() from shell.c moved here
-
-Makefile.in, lib/sh/Makefile.in
-       - necessary changes for netconn.c
-
-builtins/ulimit.def
-       - changed getmaxuprc() to just call getmaxchild() and massage the
-         return value appropriately
-
-{jobs,nojobs}.c
-       - use the value returned by getmaxchild() in
-         mark_dead_jobs_as_notified instead of static CHILD_MAX
-
-jobs.c
-       - new function, compact_jobs_list, removes some number of jobs from
-         the jobs table and reallocates the table, copying the jobs that
-         are left from the old table to the new.  Compaction happens from
-         the beginning of the list and removes dead jobs, and we make sure
-         to keep the last CHILD_MAX jobs as POSIX.2 requires
-       - call compact_jobs_list from stop_pipeline if we're in a subshell,
-         there are no free jobs in the jobs table, and the jobs table is
-         at or above some maximum limit
-
-execute_cmd.c
-       - change eval_arith_for_expr to set this_command_name to `((' before
-         calling evalexp, since it might be changed by evaluating the
-         loop body between evalexp calls
-
-trap.c
-       - change reset_signal to turn off the SIG_TRAPPED flag for the
-         given signal, so shell builtins and functions running in command
-         substitutions don't run the signal handlers (traps are not supposed
-         to be inherited by command substitutions)
-
-parse.y
-       - changed parse_string_to_word_list to turn off alias expansion
-         while parsing the array assignment
-
-                                  12/9
-                                  ----
-alias.c
-       - fix add_alias so that redefining an alias's value also resets the
-         EXPANDNEXT flag
-
-                                  12/10
-                                  -----
-parse.y
-       - new function, token_is_assignment, called to check whether the text
-         before `=' makes up a valid assignment token before trying to parse
-         a compound assignment statement
-       - new function, parse_compound_assignment, to parse a compound
-         assignment statement instead of using parse_matched_pair; handles
-         comments and error reporting in the parser instead of waiting until
-         expansion time
-       - changed parse_compound_assignment and parse_string_to_word_list to
-         allow reserved words in compound array assignments
-
-lib/readline/doc/rltech.texinfo
-       - changed the documentation for rl_callback_read_char and
-         rl_callback_handler_remove to say what happens to the terminal
-         settings and what needs to be done to reset them
-
-                                  12/11
-                                  -----
-bashline.c
-       - add emacs_edit_and_execute_command, bound to C-xC-e, like vi-mode
-         `v' command
-       - add bindable command name `edit-and-execute-command', bound to
-         run emacs_edit_and_execute_command()
-
-lib/glob/strmatch.c
-       - add support for ksh93-like [:word:] character class (isalnum + `_')
-
-doc/{bash.1,bashref.texi}
-       - add note to section describing lists to clarify that a sequence of
-         one or more newlines may be used to delimit a command, equivalent
-         to a semicolon
-       - document new [:word:] pattern matching character class
-
-doc/bash.1, lib/readline/doc/rluser.texinfo
-       - document `edit-and-execute-command' and its default emacs-mode
-         binding
-
-include/chartypes.h
-       - add defines for TOCTRL and UNCTRL if they're not already defined
-
-lib/readline/chardefs.h
-       - #undef UNCTRL if it's defined to avoid cpp redefinition warnings
-
-lib/sh/strtrans.c
-       - add \cX (Control-X) escape for $'...' to ansicstr()
-       - change ansic_quote() to allocate at least four chars for each char
-         in the string argument, to account for \0xx octal values
-       - change ansic_quote() to no longer call sprintf for non-printable
-         characters; just translate the string to octal directly
-
-print_cmd.c
-       - change xtrace_print_word_list to call ansic_quote() if
-         ansic_shouldquote() indicates that there are nonprinting characters
-         in a word
-
-builtins/type.def
-       - changed deprecated long option parsing to just replace the word
-         in the list with the equivalent short option (-type -> -t) instead
-         of removing words from the list
-       - changed describe_command to take a single flags argument instead
-         of two int args; changed caller
-       - type now has two new options:  -f suppresses function lookup (like
-         command), and -P forces a PATH search for the name(s)
-
-builtins/common.h
-       - flags for describe_command are here
-       - changed extern declaration of describe_command
-
-builtins/command.def
-       - changed call to describe_command to use flags from common.h, and
-         the right number of arguments
-
-doc/{bash.1,bashref.texi}
-       - documented new -f and -P options to `type'
-
-                                  12/12
-                                  -----
-lib/readline/rldefs.h
-       - fixed prototype for _rl_strnicmp
-
-execute_cmd.c
-       - select_query now takes a new argument, an int flag saying whether
-         or not to print the menu the first time through the loop.  An
-         empty line in response to the prompt will always cause the menu
-         to be reprinted
-       - changed execute_select_command to cause select_query to reprint
-         the menu only if REPLY is set to NULL, if KSH_COMPATIBLE_SELECT
-         is defined
-
-config-top.h
-       - define KSH_COMPATIBLE_SELECT, with a comment about its meaning
-
-lib/readline/readline.c
-       - change rl_insert_comment to toggle if given an explicit numeric
-         argument:  if the first characters on the line don't specify a
-         comment, insert one; if they do, delete the comment text
-
-doc/bash.1, lib/readline/doc/{readline.3,rluser.texinfo}
-       - documented new behavior of insert-comment with a numeric argument
-
-                                  12/13
-                                  -----
-lib/malloc/watch.c
-       - new file, implements watchpoint functions
-
-lib/malloc/watch.h
-       - new file, define some `events' for watchpoints and extern function
-         and variable declarations for watchpoint code
-
-lib/malloc/imalloc.h
-       - #define MALLOC_WATCH if MALLOC_DEBUG is defined
-       - add __P define as in include/stdc.h if not already defined
-
-lib/malloc/malloc.c
-       - remove __P define, now in imalloc.h
-       - include watch.h if MALLOC_WATCH is defined
-       - added calls to _malloc_ckwatch in internal_malloc, internal_free,
-         and internal_realloc
-
-include/stdc.h
-       - augment __P define to allow prototypes if PROTOTYPES is defined
-
-lib/readline/rlstdc.h
-       - augment PARAMS define to allow prototypes if PROTOTYPES is defined
-
-lib/malloc/Makefile.in, Makefile.in
-       necessary changes to include watch.c in libmalloc
-
-lib/readline/readline.c
-       - fix rl_delete_text to make sure that the starting position is >= 0
-       - _rl_init_line_state (called by readline via readline_initialize)
-         now sets rl_mark to 0
-       - rl_get_{next,previous}_history set rl_mark to 0 if rl_point is at
-         the end of the line and rl_end otherwise in emacs mode
-
-lib/readline/kill.c
-       - rl_yank_nth_arg_internal and rl_paste_clipboard now set the mark
-         at point before calling rl_insert_text, like rl_yank
-       - rl_kill_full_line now resets rl_mark to 0
-       - rl_kill_line and rl_backward_kill_line now set rl_mark to the
-         point after the kill in emacs mode
-       - rl_kill_word and rl_backward_kill_word now set rl_mark to the
-         point after the kill in emacs mode
-       - rl_unix_word_rubout and rl_unix_line_discard now set rl_mark to
-         the point after the kill in emacs mode
-
-lib/readline/search.c
-       - noninc_search saves and restores the mark, since it can be changed
-         while reading the search string
-       - noninc_dosearch sets the mark at the end of the line, making the
-         region bound the `inserted' text since rl_point is set to 0
-       - rl_history_search_internal sets the mark at the end of the line,
-         for the same reason
-
-lib/readline/isearch.c
-       - rl_search_history now saves and restores the mark
-       - if no matching lines are found at all when doing an isearch, leave
-         point where it was instead of moving it to the end of the line
-
-                                  12/17
-                                  -----
-lib/readline/rlmbutil.h
-       - new file, place for multi-byte character defines and extern
-         declarations
-
-lib/readline/{bind.c,readline.c,rlprivate.h}
-       - new bindable variable, `byte-oriented', tracks value of
-         rl_byte_oriented variable
-
-lib/readline/mbutil.c
-       - new file, with multibyte char utility functions
-
-lib/readline/{complete,display,readline,util,vi_mode}.c
-       - new code for multibyte characters, derived from IBM patch
-
-                                  12/18
-                                  -----
-lib/sh/tmpfile.c
-       - include posixtime.h for time() extern declaration
-
-support/bashversion.c
-       - include <unistd.h> if it's available
-
-lib/readline/{histexpand,input,isearch,search}.c
-       - new code for multibyte characters, derived from IBM patch
-
-lib/readline/readline.h
-       - include rltypedefs.h
-
-                                  12/19
-                                  -----
-lib/readline/complete.c
-       - slight change to mark-directories code to avoid adding a slash if
-         point is at the end of the line (rl_line_buffer[rl_point] == '\0')
-         and the previous character was a slash
-       - change printable_part to not return empty pathnames, which could
-         happen when completing filenames and a filename with a trailing
-         slash was passed as the argument.  If the portion following the
-         trailing slash is NULL, ignore it and look for a previous slash.
-         If there's no previous slash, just return the filename argument
-       - new variable, rl_completion_mark_symlink_dirs, mirrors the value
-         of (user-settable with a variable) _rl_complete_mark_symlink_dirs
-         but may be modified by application-specific completion functions
-         when appropriate (set in rl_complete_internal and rl_menu_complete)
-
-lib/readline/readline.h
-       - extern declaration for rl_completion_mark_symlink_dirs
-
-pcomplete.c
-       - if one of the actions is CA_DIRECTORY, set
-         rl_completion_mark_symlink_dirs to indicate that we want the
-         trailing slash (might have to relax this)
-
-lib/readline/doc/rltech.texinfo
-       - documented rl_completion_mark_symlink_dirs variable
-
-lib/readline/doc/rluser.texinfo, doc/bash.1
-       - documented the fact that `complete -d' and `complete -o dirnames'
-         force readline to append a slash to symlinks to directories
-
-builtins/enable.def
-       - changed enable_shell_builtin to disallow enabling disabled
-         builtins in a restricted shell
-
-doc/{bash.1,bashref.texi}
-       - documented new enable behavior in restricted shells
-
-doc/Makefile.in
-       - new rule to make an `RBASH' file documenting the restrictions
-         imposed by a restricted shell
-
-expr.c
-       - broke the code that evaluates variables and returns results out
-         of readtok() into a new function: expr_streval()
-       - expr_streval() now performs the standard unset variable error
-         behavior if `set -u' has been executed and it's asked to look
-         up an unset variable
-       - broke the code that frees up the expression context stack into
-         a new function: expr_unwind()
-
-variables.c
-       - fixed bind_int_variable so it handles array element assignment,
-         so expressions like `b[7]++' and `b[0] = 42' work right
-       - new function, get_variable_value, returns the string value of
-         the SHELL_VAR * passed as an argument
-       - get_string_value now calls get_variable_value with a non-null
-         result from find_variable
-
-                                  12/20
-                                  -----
-lib/readline/rlmbutil.h, mbutil.c
-       - combined _rl_find_next_mbchar and _rl_find_next_nonzero_mbchar into
-         a single function
-       - combined _rl_find_prev_mbchar and _rl_find_prev_nonzero_mbchar into
-         a single function
-
-lib/readline/{display,readline,vi_mode}.c
-       - changed callers of _rl_find_next_mbchar and
-         _rl_find_next_nonzero_mbchar
-
-lib/readline/{complete,display,histexpand,readline,vi_mode}.c
-       - changed callers of _rl_find_prev_mbchar and
-         _rl_find_prev_nonzero_mbchar
-
-                                  12/20
-                                  -----
-lib/sh/mktime.c
-       - new file, from glibc/gawk, compiled in if system doesn't have a
-         working mktime(3)
-
-lib/sh/strftime.c
-       - new file, from gawk, compiled in if system doesn't have a
-         working strftime(3)
-
-lib/sh/Makefile.in, Makefile.in
-       - changes for mktime.c, strftime.c
-
-configure.in
-       - call AC_FUNC_MKTIME, AC_STRUCT_TM, AC_STRUCT_TIMEZONE
-       - call AC_REPLACE_FUNC(strftime)
-
-config.h.in
-       - add defines for TM_IN_SYS_TIME, HAVE_TZSET, HAVE_TM_ZONE,
-         HAVE_STRUCT_TM_TM_ZONE, HAVE_STRFTIME
-
-externs.h
-       - provide an extern declaration for strftime if HAVE_STRFTIME is
-         not defined and NEED_STRFTIME_DECL is
-
-lib/tilde/tilde.h
-       - header files should not include <config.h>
-
-parse.y
-       - replace code in decode_prompt_string that chops up value returned
-         by ctime(3) with calls to strftime -- as a result, the expansion
-         of \@ has changed slightly (since it depends on the locale)
-       - added new \D{format} prompt string escape; `format' is passed to
-         strftime(3).  Empty format is the same as `%X' (locale-specific
-         representation of the current time)
-       - combined cases for '\\', '\a', '\e', and '\r' in same case branch
-         in decode_prompt_string
-
-doc/{bash.1,bashref.texi}
-       - documented new \D{format} prompt string expansion
-
-builtins/printf.def
-       - use ISO C PRIdMAX instead of INTMAX_CONV
-       - pass length of format modifiers to mklong instead of computing it
-         with strlen()
-
-lib/sh/{fmtulong,fmtullong}.c
-       - changes from Paul Eggert to make more general
-
-arrayfunc.c
-       - when converting a variable to an array, make sure to unset the
-         dynamic_value and assign_func members of the struct variable,
-         since they're not valid anymore
-
-                                  12/27
-                                  -----
-configure.in
-       - use AC_HELP_STRING in AC_ARG_WITH and AC_ARG_ENABLE 
-       - remove AC_ARG_ENABLE for largefile, since AC_SYS_LARGEFILE adds
-         one
-
-                                1/2/2002
-                                --------
-{alias,bashline,execute_cmd,general,shell,subst,variables,arrayfunc}.c,general.h
-       - changed some calls to strchr to calls to xstrchr for multibyte
-         characters
-
-include/shmbutil.h
-       - add extern declaration for xstrchr to avoid including externs.h
-         where it's not appropriate
-
-{braces,make_cmd,pathexp,subst,arrayfunc}.c, lib/sh/xstrchr.c
-       - include shmbutil.h
-
-{stringlib,subst}.c, {externs,subst}.h
-       - moved substring() from subst.c to stringlib.c, moved declaration
-         from subst.h to externs.h
-
-lib/sh/xmbsrtowcs.c
-       - new file, replacement function for mbsrtowcs
-
-lib/sh/Makefile.in
-       - add entries for xmbsrtowcs.c
-
-Makefile.in
-       - add dependencies on shmbutil.h to appropriate object files
-
-lib/glob/strmatch.c
-       - break character-class testing out into separate function:
-         is_cclass, in prep for multibyte changes
-
-{braces,make_cmd}.c
-       - changes for multibyte characters
-
-builtins/printf.def
-       - changes from Paul Eggert to just use intmax_t everywhere an
-         int/long/quad is needed and print with "%ld" if the number
-         fits in a long and %PRIdMAX otherwise
-       - remove getlong, getulong, getllong, getullong, since they're
-         no longer needed
-       - use a new type `floatmax_t' to print floating point numbers, the
-         widest-available floating point type (like `intmax_t'); new
-         function `getfloatmax' that calls strtold or strtod as appropriate
-       - remove getdouble, getldouble, since they're no longer needed
-
-lib/sh/fmtumax.c
-       - new file, string-to-[u]intmax_t conversion, just includes
-         fmtulong.c with the right defines
-
-Makefile.in, lib/sh/Makefile.in
-       - additions for fmtumax.c
-
-bashtypes.h
-       - include <inttypes.h> if it's available
-
-expr.c
-       - arithmetic is now in intmax_t instead of long
-
-externs.h
-       - extern declaration for fmtumax
-       - change extern declarations for evalexp, itos, inttostr,
-         uitos, uinttostr since they now return or use intmax_t instead
-         of long
-
-{execute_cmd,general,mailcheck,subst,variables}.c, parse.y
-{array,general,subst,test,variables}.h
-lib/sh/{itos,netopen}.c
-builtins/{bashgetopt,common}.c, builtins/common.h
-builtins/{break,fc,history,jobs,let,printf,pushd,read,shift,wait}.def
-       - changes for intmax_t shell arithmetic conversion
-
-doc/{bashref.texi,bash.1}
-       - documented long->intmax_t shell arithmetic conversion
-
-sig.c
-       - in initialize_terminating_signals, if we've already trapped a
-         terminating signal, don't reset the signal handler for it
-
-                                   1/3
-                                   ---
-{arrayfunc,pathexp}.c, parse.y
-       - changes for multibyte chars
-
-parse.y, lib/sh/strtrans.c
-       - moved ansiexpand from parse.y to lib/sh/strtrans.c
-
-parse.y, locale.c
-       - moved mk_msgstr and localeexpand from parse.y to locale.c
-
-parse.y
-       - new function, yy_input_name, returns name of input file from
-         bash_input.name
-       - broke the code that parses ((...)) constructs out of read_token
-         into a new function, parse_dparen()
-
-externs.h
-       - new extern declaration for ansiexpand(), mk_msgstr(), and
-         localeexpand()
-
-input.h
-       - new extern declaration for yy_input_name()
-
-{error,locale}.c
-       - use yy_input_name for error and other messages
-
-execute_cmd.c
-       - change shell_execve to make sure that the file is executable
-         before looking at the interpreter to find out why the execve()
-         failed (avoids misleading error message)
-
-lib/glob/glob.c
-       - move code that matches leading `.' and skips those filenames into
-         a separate function: skipname(), so there can be unibyte and
-         multibyte versions of that function
-
-                                   1/7
-                                   ---
-subst.c
-       - more changes for multibyte characters
-
-print_cmd.c
-       - change semicolon() so it doesn't output a `;' immediately after a
-         newline, since that results in a null command, which is a syntax
-         error
-
-variables.c
-       - fix indirection_level_string to turn off set -x while evaluating
-         PS4
-
-                                   1/8
-                                   ---
-builtins/set.def
-       - make -o options into one struct, instead of separate structs for
-         option names corresponding to flags and non-flag option names.
-         This has the side effect of sorting the option names in output
-
-lib/glob/glob.c
-       - new function, mbskipname(), multibyte char version of skipname()
-       - removed all #ifndef SHELL code, this will never be used outside
-         the shell
-
-include/posixdir.h
-       - move REAL_DIR_ENTRY define here from lib/glob/glob.c
-
-lib/glob/glob_loop.c
-       - new file, included in glob.c for unibyte and multibyte versions of
-         glob_pattern_p
-       - added some forward static function declarations with prototypes
-       - more changes for multibyte character handling
-
-lib/glob/Makefile.in
-       - make glob.c depend on glob_loop.c
-       - changes for xmbsrtowcs.[co]
-
-lib/glob/xmbsrtowcs.c
-       - moved here from lib/sh, since the matching functions use it, and
-         libglob.a is linked after libsh.a
-
-                                   1/9
-                                   ---
-lib/glob/smatch.c
-       - new file, with strmatch (now xstrmatch) and associated functions,
-         with changes for multibyte chars
-
-lib/glob/sm_loop.c
-       - new file, included by smatch.c, with `generic' versions of matching
-         functions that are compiled twice:  once each for single-byte and
-         multibyte characters
-
-lib/glob/strmatch.c
-       - strip out everything except strmatch(), which either calls fnmatch
-         (if HAVE_LIBC_FNM_EXTMATCH is defined) or xstrmatch
-
-lib/glob/collsyms.c
-       - changes for multibyte chars
-
-lib/glob/Makefile.in, Makefile.in
-       - changes for new source files
-
-                                  1/10
-                                  ----
-lib/readline/complete.c
-       - new function, rl_completion_mode (rl_command_func_t *func), returns
-         the appropriate value to pass to rl_complete_internal depending on
-         FUNC and the value of `show-all-if-ambiguous'.  This allows
-         application completion functions to present the same interface as
-         rl_complete
-
-lib/readline/readline.h
-       - new extern declaration for rl_completion_mode()
-
-lib/readline/doc/rltech.texinfo
-       - documented rl_completion_mode
-
-lib/readline/readline.[ch]
-       - bumped the version number to 4.3, changing the relevant cpp defines
-
-configure.in
-       - require that an installed readline version be at least readline-4.3
-
-bashline.c
-       - converted bash-specific completion functions to use
-         rl_completion_mode instead of passing TAB unconditionally
-
-builtins/bashgetopt.c
-       - the `#' option specifier now means a required numeric argument,
-         not an optional one
-
-builtins/type.def
-       - when converting [-]-{path,type,all} to -[pta], don't bother
-         freeing and reallocating the option string; just change opt[1]
-         and null opt[2]
-
-lib/sh/snprintf.c
-       - support %ls/%S and %lc/%C for wide strings and characters,
-         respectively, if HANDLE_MULTIBYTE is defined
-
-mailcheck.c
-       - don't print a message about new mail if the file has not grown,
-         even if the access time is less than the modification time
-
-                                  1/14
-                                  ----
-lib/readline/readline.c
-       - new function, rl_replace_line, to replace the readline line buffer
-         with the text supplied as an argument
-       - new function, rl_replace_from_history, replaces readline line
-         buffer with text from history entry passed as argument (undocumented,
-         not in readline.h because it requires a definition of
-         HIST_ENTRY for the prototype)
-
-lib/readline/readlne.h
-       - new extern declaration for rl_replace_line
-
-lib/readline/doc/rltech.texinfo
-       - documented rl_replace_line
-
-lib/readline/{isearch,readline,search}.c
-       - use rl_replace_line and rl_replace_from_history where appropriate
-
-lib/readline/readline.c
-       - broke the code that sets point after moving through the history
-         (_rl_history_preserve_point and _rl_history_saved_point) out
-         into a separate function, _rl_history_set_point()
-
-lib/readline/{complete.c,rlprivate.h}
-       - find_completion_word -> _rl_find_completion_word
-       - free_match_list -> _rl_free_match_list
-
-lib/readline/complete.c
-       - postprocess_matches and _rl_free_match_list now return immediately
-         if passed a null match list
-
-variables.c
-       - new function, find_local_variable, finds a local variable by name
-         at the current variable context
-       - in find_variable_internal, call find_local_variable before searching
-         any of the temporary environments if variable_context > 0 (meaning
-         we're in a shell function).  This lets a local variable
-         override a variable whose value was passed in the `function
-         environment'
-
-                                  1/15
-                                  ----
-variables.h, execute_cmd.c
-       - declare variables describing the temporary environments in
-         variables.h instead of in C files
-
-findcmd.c, builtins/setattr.def
-       - instead of calling find_tempenv_variable, use find_variable_internal
-         and check whether the returned SHELL_VAR * has the tempvar
-         attribute
-
-variables.c
-       - tentative change to lookup order in find_variable_internal so that
-         function local variables are found before variables in
-         function_env when executing a shell function
-       - change make_local_variable to handle making a local variable when
-         a variable with the same name already appears in one of the
-         temporary environments
-       - broke the body of make_var_array out into a new function:
-               static char **make_env_array_from_var_list (SHELL_VAR **vars)
-       - new function, make_var_array_internal, takes a hash table to look
-         in and a pointer to a mapping function and returns a char **
-         environment-style list
-       - make_var_array now just calls make_var_array_internal
-       - new mapping function, local_and_exported, returns all local variables
-         in the current variable context with the export attribute set
-       - new function, make_local_export_array, returns an environment-style
-         char ** array of exported local variables in current context
-       - change environment creation order in maybe_make_export_env to
-         add variables to the environment in opposite order that
-         find_variable_internal uses.  This means that local variables in
-         shell functions override variables with the same name in the
-         function_env
-       - change make_local_variable to set the initial value of the
-         variable it creates to NULL to make the `is set' and `is null'
-         tests that the expansion code does work right
-       - change make_local_variable to inherit the value of a variable with
-         the same name from the temporary enviroment
-
-                                  1/16
-                                  ----
-Makefile.in
-       - link bashversion with buildversion.o instead of version.o, for
-         cross-compiling.  version.o is for the target system;
-         buildversion.o is for the build system
-
-error.c
-       - add line numbers to internal_error() messages if the shell is
-         not interactive and running a shell script or a -c command
-       - report_error now prints non-zero line numbers for non-interactive
-         shells
-
-test.c
-       - test_syntax_error now calls builtin_error() instead of printing
-         its own messages
-
-builtins/common.c
-       - builtin_error now prints line numbers if a non-interactive shell
-         is running a shell script or a -c command
-
-print_cmd.c
-       - in cprintf, remove free_argp, since it's not used
-
-builtins/history.def
-       - make `history -n' increment the number of history lines in this
-         session by the number of lines read from the history file
-
-arrayfunc.c
-       - fix array_value_internal to expand the subscript even if the
-         variable is unset, so side effects produced by the arithmetic
-         evaluation will take place
-
-lib/readline/doc/{rluser,rltech}.texinfo
-       - some fixes for printing in @smallbook format from Brian
-         Youmans
-
-                                  1/17
-                                  ----
-jobs.h
-       - new PRUNNING, PSTOPPED, PDEADPROC defines for PROCESSes, analogous
-         to RUNNING, STOPPED, and DEADJOB defines for jobs
-
-jobs.c
-       - use PS_RUNNING, PS_DONE, PS_STOPPED values for `running' field
-         of a PROCESS
-       - find_pipeline and find_job now take an additional flags argument
-         that, if non-zero, means to find only running processes; changed
-         all callers
-       - changed calls to find_pipeline and find_job made from waitchld
-         to find only running processes
-       - find_pipeline takes a third argument: an int *.  If it looks in
-         the jobs list to find the pid, and the arg is non-null, it passes
-         the job index back to the caller.  Used to avoid calls to
-         find_pipeline immediately followed by find_job with the same PID
-
-nojobs.c
-       - a couple of changes to make sure that set_pid_status is never
-         called with a pid argument of 0 or -1
-
-trap.c
-       - change trap_handler to longjmp to wait_intr_buf (set by wait_builtin)
-         if a signal is received for which a trap has been set during
-         execution of the wait builtin (need to include builtins.h and
-         builtins/builtext.h and declare some extern variables for the
-         right things to check)
-       - new variable to keep track of which signal caused the longjmp to
-         wait_intr_buf, set by trap_handler (wait_signal_received)
-
-builtins/wait.def
-       - set the return value of wait when a longjmp(wait_intr_buf, 1) is
-         done to 128 + wait_signal_received
-
-{jobs,nojobs}.c
-       - set wait_signal_received to SIGINT in wait_sigint_handler before
-         the longjmp(wait_intr_buf, 1)
-
-                                  1/18
-                                  ----
-bashline.c
-       - turn off rl_filename_completion_desired when completing a command
-         name with a single match only if the first char of that match is
-         not a `/'
-       - if there are multiple identical matches for a command name in
-         attempt_shell_completion, turn off rl_filename_completion_desired
-         if the first char is not a `/' to avoid readline appending a
-         slash if there's a directory with the same name in the current
-         directory
-
-                                  1/22
-                                  ----
-lib/readline/complete.c
-       - new variable, _rl_page_completions, to control whether we want to
-         run the internal pager when listing completions (defaults to 1)
-
-lib/readline/rlprivate.h
-       - extern declaration for _rl_page_completions
-
-lib/readline/bind.c
-       - new bindable variable, `page-completions', controls value of
-         _rl_page_completions
-
-lib/readline/doc/{rluser.texinfo,readline.3}, doc/bash.1
-       - documented `page-completions' variable
-
-Makefile.in
-       - use $(INSTALL_SCRIPT) instead of $(INSTALL_PROGRAM) to install
-         `bashbug'
-
-aclocal.m4
-       - fix small quoting problem in RL_LIB_READLINE_VERSION macro
-
-lib/readline/terminal.c
-       - fetch and save terminal's `vs' and `ve' cursor control attributes
-       - fetch and save terminal's `kI' attribute (string sent by Insert)
-       - new function, _rl_set_cursor, sets cursor to normal (insert mode)
-         or very visible (overwrite mode)
-
-lib/readline/readline.c
-       - new global variable, rl_insert_mode
-       - new function to toggle overwrite mode, rl_overwrite_mode
-       - each new line starts in insert mode
-       - switching to vi mode or emacs mode resets to insert mode
-       - reset cursor to normal before returning line
-       - _rl_replace_text now returns the number of characters inserted,
-         the return value from rl_insert_text
-       - new function, _rl_insert_or_replace_text (const char *string, int insert),
-         either inserts STRING or replaces the number of chars in STRING
-         with STRING starting at rl_point, depending on value of INSERT
-       - renamed rl_insert to _rl_insert_char, rl_insert just calls
-         _rl_insert_char with the same arguments when in insert mode
-       - new function, _rl_overwrite_char, handles self-insert in overwrite
-         mode.  Does multibyte chars by reading an entire multibyte character
-         before entering overwrite loop
-       - new function, _rl_overwrite_rubout, handles RUBOUT when in
-         overwrite mode, called from rl_rubout
-       - new function, _rl_rubout_char, old body of rl_rubout; rl_rubout
-         calls this when not in overwrite mode 
-
-lib/readline/readline.h
-       - extern declarations for rl_insert_mode and rl_overwrite_mode()
-
-lib/readline/rldefs.h
-       - define constants for values of rl_insert_mode
-
-lib/readline/rlprivate.h
-       - extern declarations for _rl_set_cursor and _rl_set_insert_mode
-       - change type of _rl_replace_text to return int
-       - extern declarations for _rl_insert_char, _rl_rubout_char
-
-lib/readline/funmap.c
-       - new bindable name `overwrite-mode', bound to rl_overwrite_mode
-
-lib/readline/rlconf.h
-       - define CURSOR_MODE if you want the cursor to show insert or
-         overwrite mode (only available if both `vs' and `ve' capabilities
-         are present)
-
-lib/readline/{complete,parens,readline,search,vi_mode}.c
-       - change calls to rl_insert to _rl_insert_char
-
-lib/readline/{readline,search}.c
-       - change calls to rl_rubout to _rl_rubout_char to avoid overwrite
-         mode problems
-
-lib/readline/vi_mode.c
-       - fix rl_vi_overstrike to just call _rl_overwrite_char, which
-         handles multibyte chars
-
-lib/readline/doc/{rluser.texinfo,readline.3}, doc/bash.1
-       - document new `overwrite-mode' command
-
-                                  1/23
-                                  ----
-lib/readline/readline.c
-       - return 0 immediately from rl_insert_text if the string to insert
-         is NULL or ""
-
-bashline.c
-       - if a numeric argument is given to one of the bash-specific glob
-         pattern completion functions (including TAB), append a `*' to
-         the word before generating matches
-       - in attempt_shell_completion, when doing glob completion, only
-         set the match list to NULL if rl_completion_type == TAB and
-         there is more than one completion.  This permits listing completions
-         with double tabs and displaying ambiguous completions
-       - new function, bash_glob_complete_word, appends a `*' to the word
-         to be completed and then globs it.  It uses a new filename
-         quoting function (bash_glob_quote_filename) to avoid quoting
-         globbing characters in the filename if there are no matches or
-         multiple matches
-
-lib/readline/complete.c
-       - set completion_changed_buffer to 0 in rl_complete_internal if
-         no matches were produced by the completion generator function
-       - new variable, rl_completion_suppress_append, suppresses appending
-         of rl_completion_append_character.  Settable by application
-         completion functions, always 0 when application completion
-         functions are called (set to 0 by rl_complete_internal and
-         rl_menu_complete)
-       - broke the code that assigns default values to readline completion
-         variables out of rl_complete_internal and rl_menu_complete into
-         a new function, set_completion_defaults (int what_to_do)
-
-lib/readline/readline.h
-       - extern declaration for rl_completion_suppress_append
-
-lib/readline/doc/rluser.texinfo, doc/bash.1
-       - documented behavior of glob-expand-word and glob-list-expansions
-         when supplied a numeric argument
-       - documented glob-complete-word
-
-lib/readline/doc/rltech.texinfo
-       - documented rl_completion_suppress_append
-
-                                  1/24
-                                  ----
-lib/readline/text.c
-       - new file, text and character handling functions from readline.c
-
-lib/readline/misc.c
-       - new file, miscellanous bindable functions and their supporting
-         code from readline.c
-
-Makefile.in, lib/readline/Makefile.in
-       - changes for text.c, misc.c
-
-lib/readline/bind.c
-       - change ISKMAP case of rl_invoking_keyseqs_in_map to output
-         ESC as "\M-" instead of "\e" -- it's closer to the documentation
-       - change _rl_get_keyname to output ESC as \e instead of \C-[
-         (it's easier to understand)
-
-pcomplete.h
-       - new flag, COPT_NOSPACE
-
-builtins/complete.def
-       - new `-o nospace' option for complete and compgen (though it doesn't
-         really do anything for compgen, since that doesn't hand anything
-         off to readline)
-
-bashline.c
-       - if a programmable completion specifies COPT_NOSPACE, set
-         rl_completion_suppress_append = 1
-
-lib/readline/doc/rluser.texinfo
-       - documented new `-o nospace' option to complete and compgen
-
-doc/{bash.1,bashref.texi}
-       - documented $'\cX' escape sequence (forgot to before)
-
-                                  1/28
-                                  ----
-variables.c
-       - make_new_variable now takes the HASH_TABLE * as its second
-         argument; changed callers
-       - new function, bind_variable_in_table, takes the HASH_TABLE * as
-         its third paramter; bind_variable calls bind_variable_in_table
-         with shell_variables as third argument
-
-variables.h
-       - new struct var_context, variable context (per-scope -- global,
-         function local, etc.)
-
-variables.[ch],builtins/common.[ch]
-       - moved functions that push and pop a variable context from
-         builtins/common.c to variables.c; move extern function
-         declarations to variables.h
-       - new function, all_local_variables
-       - variable_in_context is now static, used only by all_local_variables
-
-variables.[ch],execute_cmd.c
-       - push_context now takes the function name as an argument for
-         future use
-       - push_context takes an indication of whether or not the function is
-         executing in a subshell and saves the positional parameters only
-         if not in a subshell
-       - new functions for managing a stack of variable contexts and
-         scopes:  new_var_context, dispose_var_context, push_var_context,
-         pop_var_context, push_scope, pop_scope
-
-builtins/declare.def
-       - call all_local_variables instead of map_over (...) in declare_internal
-       - don't call make_local_variable if we're looking at functions
-         ((flags_on & att_function) != 0), since it's wasted
-       - make sure VAR is set to NULL if check for variable_context fails
-         and we didn't just create or fetch a local variable in
-         declare_internal
-       - in non-function branch of declare_internal, only call find_variable
-         if VAR is NULL -- if it's not null, we just created or fetched a
-         local variable and don't need to do it again
-
-                                  1/29
-                                  ----
-variables.[ch]
-       - the temporary environments (temporary_env, builtin_env, function_env)
-         are now HASH_TABLEs instead of argv-style arrays of strings (this
-         is an intermediate step on the way to the new lcc-inspired symbol
-         table scope structure)
-       - new internal attribute for variables: att_propagate.  This means
-         to propagate the value out of the temporary environment up the
-         (for now implicit) chain of variable scopes when the containing
-         temporary environment is deleted
-
-variables.c
-       - assign_in_env now adds to the HASH_TABLE temporary_env instead
-         of making environment-style strings in an array of strings
-       - changed the way the temporary environments are merged into the
-         shell variable table to account for the new HASH_TABLE temp
-         environments
-       - changed the way the export environment is created due to the new
-         structure of the temporary environments
-       - new function, bind_variable_internal (name, value, table), binds
-         NAME to have VALUE in TABLE without searching the temporary
-         environments
-       - removed: shell_var_from_env_string, bind_name_in_env_array
-       - variable_in_context now checks the att_local attribute and makes
-         sure the variable is not invisible
-       - local_and_exported now makes sure the variable is not invisible
-
-execute_cmd.c
-       - we no longer need to copy the temporary environment to function_env
-         or builtin_env, we can simply use variable assignments
-
-{findcmd,subst,variables}.c, builtins/{declare,setattr}.def
-       - since variables from the temporary environments are no longer turned
-         into SHELL_VARs on the fly, don't dispose the SHELL_VAR returned
-         by find_variable or find_variable_internal
-       - need to savestring() the value returned by find_variable if it has
-         the tempvar attribute before calling bind_variable on it, because
-         bind_variable will search and bind into the temporary environments
-         and will free the old value before binding the new.  For temporary
-         environments, these two pointers will be the same, and
-         bind_tempenv_variable will end up using freed memory
-
-builtins/{declare,setattr}.def
-       - set the att_propagate attribute when exporting or making readonly
-         variables from the temp environment (i.e., `var=value declare -x var'
-         or `var=value export var' sets the propagate attribute on the entry
-         for `var' in the temporary environment HASH_TABLE)
-
-lib/readline/isearch.c
-       - ^W when reading isearch string yanks the current word out of the
-         current line into the search string, skipping the portion already
-         matched
-       - ^Y when reading isearch string yanks the rest of the current line
-         into the search string, skipping the portion already matched
-
-                                  1/30
-                                  ----
-{print_cmd,variables}.c
-       - moved indirection_level_string() from variables.c to print_cmd.c
-
-{externs,variables}.h
-       - moved extern declaration of indirection_level_string to externs.h
-
-{general,variables}.c
-       - moved assignment() from variables.c to general.c
-
-{general,variables}.h
-       - moved extern declaration of assignment() to general.h
-
-{externs,input}.h
-       - moved extern declaration of decode_prompt_string to externs.h
-
-print_cmd.c
-       - include flags.h, don't include stdc.h
-
-variables.c
-       - moved some functions around to group functions better
-       - changed new_shell_variable to explicitly initialize each member
-         of the created struct variable instead of calling bzero()
-       - make_new_variable now just calls new_shell_variable instead
-         of duplicating what it does
-       - removed some code in bind_function that duplicated what
-         new_variable does on the newly-created SHELL_VAR
-       - since there are no local function variables (functions are always
-         made at the global scope), kill_all_local_variables() doesn't
-         need to consider functions
-
-                                  1/31
-                                  ----
-variables.c
-       - sort the array of special variables
-       - short-circuit the search in stupidly_hack_special_variables if
-         the passed name can't be found in the rest of the array
-         (that is, if name[0] < special_vars[i].name[0])
-
-lib/readline/history.c
-       - unstifle_history() was returning values exactly opposite of
-         the documentation
-
-lib/readline/doc/{hsuser.texinfo,history.3}
-       - clarified the unstifle_history() documentation a little
-
-                                   2/4
-                                   ---
-variables.c
-       - in bind_variable, don't call bind_tempenv_variable after a
-         find_tempenv_variable succeeds -- just change the value inline.
-         There's no reason to look it up twice
-       - change makunbound to only call stupidly_hack_special_variables
-         if we're not unsetting a function
-
-variables.[ch]
-       - new function, unbind_function, like makunbound but doesn't mess
-         with previous contexts or calling stupidly_hack_special_variables
-
-builtins/set.def
-       - change unset_builtin to call either unbind_func or unbind_variable
-
-builtins/getopts.def
-       - call unbind_variable(name) instead of makunbound(name, shell_variables)
-
-                                   2/5
-                                   ---
-lib/glob/sm_loop.c
-       - use malloc instead of xmalloc in BRACKMATCH and handle failures
-
-error.c
-       - add extern declaration of executing_line_number with prototype,
-         since execute_cmd.h can't be included without including other
-         files
-
-lib/readline/parens.c
-       - include <unistd.h>
-
-lib/malloc/stats.c
-       - include <unistd.h>
-       - add extern declaration of malloc_free_blocks() with prototype
-
-pathexp.c
-       - added some forward declarations with prototypes for static functions
-
-lib/readline/rlprivate.h
-       - removed declarations of rl_untranslate_keyseq, rl_discard_argument,
-         rl_stop_output, rl_alphabetic since they appear in readline.h
-
-                                   2/6
-                                   ---
-{arrayfunc,execute_cmd,pcomplete,shell}.c
-       - change calls to makunbound(name, shell_variables) to
-         unbind_variable (name)
-
-                                   2/7
-                                   ---
-builtins/getopt.c
-       - don't defer incrementing of OPTIND when an invalid option is
-         encountered until the next call to sh_getopt() -- what if OPTIND
-         is reset before that next call?  This means that OPTIND is always
-         incremented to the next option to be handled when an option is
-         returned, whether it's valid or not.  This is what POSIX-2002
-         says to do.
-
-syntax.h
-       - new #define, CSUBSTOP
-
-mksyntax.c
-       - add "-=?+" with value CSUBSTOP to the syntax table.  These are the
-         valid expansion operators OP in ${param[:]OPword}
-
-subst.c
-       - use table lookup for CSUBSTOP in VALID_PARAM_EXPAND_CHAR
-       - new flags for the string extraction functions:  EX_NOALLOC.  This
-         indicates that the functions are being used only to skip over
-         strings and the result won't be used, so the substring shouldn't
-         be allocated, copied, and freed
-       - new flag for string_extract:  EX_VARNAME.  This serves the same
-         purpose as the old `varname' parameter.  parameter_brace_expand()
-         changed appropriately
-       - extract_delimited_string and extract_dollar_brace_string now take
-         an additional `flags' argument, which may include EX_NOALLOC
-       - changed callers of extract_delimited_string and
-         extract_dollar_brace_string appropriately
-       - string_extract now understands EX_NOALLOC; callers changed
-       - some smaller code cleanups
-       - converted char_is_quoted(), unclosed_pair(), and skip_to_delim()
-         to understand multibyte characters
-
-                                  2/11
-                                  ----
-variables.[ch]
-       - moved to a symbol organization inspired by lcc.  The basic structure
-         is no longer a HASH_TABLE, but a VAR_CONTEXT, which includes a hash
-         table as one of its members.  VAR_CONTEXTs are linked together to do
-         variable scoping.  One nice thing about this is that the entire
-         symbol table doesn't need to be searched at function scope exit to
-         remove local variables.  Fixes problems with only one instance of
-         builtin_env and function_env, even though it really is a stack
-       - shell_variables is now a VAR_CONTEXT *, with a global_variables
-         variable that points to the bottom of the stack for fast access
-       - function-scope local variables (assignments specified on the command
-         line before a function call) and function-local variables (declared
-         with the `local' builtin) have been unified in the same variable
-         context, replacing function_env
-       - assignment statements preceding the `.' and `eval' builtins are now
-         a separate variable scope VAR_CONTEXT, replacing builtin_env
-       - temporary_env (a HASH_TABLE) is now the only separate environment
-       - changes to export environment creation, variable binding, variable
-         lookup, local variable propagation all changed to work with the
-         new symbol table/scope structure
-       - a SHELL_VAR no longer has a `prev_context' member; it's not needed
-
-execute_cmd.c
-       - changes to push_context calls to include any temporary variables in
-         temporary_env; pop_context takes care of propagating any temporary
-         variables if necessary
-       - calls to push_scope if `eval' or `.' is called with a list of
-         preceding variable assignments, and pop_scope called at end of
-         builtin's execution.  pop_scope takes care of merging temporary
-         variables into the shell environment when appropriate
-
-builtins/{setattr,declare}.def
-       - changes to account for variable assignments preceding `local',
-         `export', `readonly', `declare', etc. to work with the new
-         variable scoping implementation
-
-shell.c
-       - since shell_variables is now a VAR_CONTEXT, call
-         delete_all_contexts() when the shell is reinitializing instead of
-         delete_all_variables()
-
-builtins/common.c
-       - new function, get_job_by_name(), used by execute_simple_command()
-         for the `auto_resume' stuff and get_job_spec()
-
-builtins/common.h
-       - new set of #defined constants for flags argument to
-         get_job_by_name()
-
-                                  2/12
-                                  ----
-command.h
-       - new redirection operator: r_reading_string for `here strings'
-
-parse.y
-       - new token, LESS_LESS_LESS, for new redirection `here string'
-         operator: [N]<<< word
-       - recognize LESS_LESS_LESS and create the appropriate redirection
-
-{dispose_cmd,copy_cmd,make_cmd,print_cmd}.c
-       - recognize r_reading_string and do the right thing (dispose_redirects,
-         copy_redirect, print_redirection, and make_redirection, respectively)
-
-redir.c
-       - here_document_to_fd now takes the redirection operator as its
-         second argument
-       - new function, write_here_string, expands a here string and writes it
-         to the here document file descriptor
-       - here_document_to_fd calls write_here_string for r_reading_string
-         operator
-       - handle r_reading_string in do_redirection_internal() and
-         stdin_redirection()
-
-                                  2/18
-                                  ----
-doc/{bash.1,bashref.texi}
-       - documented here strings
-
-{configure,Makefile}.in
-       - bumped version number up to bash-2.05b and the release status
-         to alpha1
-
-expr.c
-       - make expr_streval understand that variables with the `invisible'
-         attribute are really unset, and accessing such a variable when
-         `set -u' is set should be an error
-
-variables.h
-       - new accessor macros: var_isset(var) and var_isnull(var), test
-         whether var->value is NULL
-
-{eval,subst,variables}.c, builtins/{declare,setattr}.def
-       - be more consistent about using value_cell(var) instead of
-         directly referencing var->value
-       - use var_isset and var_isnull where appropriate
-
-builtins/help.def
-       - augmented a couple of help strings with pointers to `info' and
-         `man -k'
-
-                                  2/14
-                                  ----
-variables.h
-       - new macros to use when setting variable values directly instead of
-         through bind_variable and its siblings
-
-{arrayfunc,variables}.c
-       - use var_setarray and other lvalue macros instead of assigning to
-         var->value directly
-
-builtins/setattr.def
-       - change show_var_attributes to show function definitions separately
-         from function attributes.  This allows the output of `declare -f'
-         (with other flags), `export -f', and `readonly -f' to be reused as
-         shell input, instead of the old
-
-               declare -f[flags] func()
-               {
-                       foo
-               }
-
-         which has syntax errors.  When in posix mode, `export -fp' and
-         `readonly -fp' still don't print function definitions
-
-                                  2/16
-                                  ----
-parse.y
-       - comment out calls to discard_parser_constructs; no need to call
-         empty functions
-
-                                  2/18
-                                  ----
-lib/sh/memset.c
-       - replacement function for memset(3)
-
-lib/sh/Makefile.in, Makefile.in
-       - additions for memset.c
-
-configure.in,config.h.in
-       - check for memset, define HAVE_MEMSET if found, add memset.o to
-         LIBOBJS if not
-
-lib/malloc/malloc.c
-       - removed zmemset(), replaced with calls to memset(3)
-
-{subst,execute_cmd,lib/sh/netopen}.c
-       - replaced calls to bzero with calls to memset
-
-subst.c
-       - word_split() now takes a second argument: the value of $IFS, so
-         it doesn't have to look up IFS every time
-       - word_list_split() now calls getifs() and passes the result to
-         each call to word_split() as its second arg
-       - do a quick scan for CTLNUL in remove_quoted_nulls before allocating
-         new string, copying old string to it, copying over original string
-         and freeing new string
-
-eval.c
-       - don't bother calling dispose_used_env_vars if temporary_env is NULL
-
-execute_cmd.c
-       - fix fix_assignment_words to only look up the builtin corresponding
-         to the first word if one of the words in the list is marked as
-         W_ASSIGNMENT
-
-hashlib.c
-       - renamed hash_string to hash_bucket, which better reflects what it
-         does
-       - extracted the portion of hash_bucket that computes the hash out
-         into a new hash_string()
-       - made new body of hash_bucket into a macro HASH_BUCKET; function
-         just calls the macro
-       - calls to hash_bucket in this file now call HASH_BUCKET macro
-       - in add_hash_item, just add a new item at the front of the appropriate
-         bucket list instead of at the end
-
-hashcmd.h
-       - reduced FILENAME_HASH_BUCKETS to 53 from 107
-
-                                  2/19
-                                  ----
-hashlib.[ch]
-       - find_hash_item, remove_hash_item, add_hash_item all take a new
-         third `flags' argument
-       - add_hash_item doesn't call find_hash_item if HASH_NOSRCH passed in
-         flags arg
-       - find_hash_item will create a new hash table entry if HASH_CREATE is
-         passed in flags arg
-       - new function, hash_walk, takes a pointer to a function and a table
-         and calls the function for each item in the table.  If the function
-         returns < 0, the walk is terminated
-       - fixed flush_hash_table to set table->nentries to 0 after freeing
-         all entries
-       - BUCKET_CONTENTS now has a new `khash' member, what key hashes to;
-         set by HASH_BUCKET macro (which calls hash_string), assigned in
-         find_hash_item (HASH_CREATE) and add_hash_item
-       - find_hash_item and remove_hash_item check `khash' against the
-         hash of the string argument before calling strcmp
-
-{alias,hashlib,hashcmd,pcomplib,variables}.c
-       - changed all calls to {find,remove,add}_hash_item
-
-builtins/hash.def
-       - return immediately from print_hashed_commands if there are no
-         entries in the hash table (this eliminates need for `any_printed'
-         variable)
-       - change print_hashed_commands to use hash_walk
-
-alias.c
-       - short-circuit all_aliases and map_over_aliases if
-         HASH_ENTRIES(aliases) == 0
-       - simplify map_over_aliases by just allocating enough room in the
-         returned list for all entries in the aliases hash table, instead
-         of doing the check and xrealloc
-       - add_alias now calls add_hash_item with HASH_NOSRCH argument
-
-pcomplete.h
-       - sh_csprint_func_t is no more; use hash_wfunc instead
-
-pcomplib.c
-       - short-circuit print_all_compspecs if HASH_ENTRIES(prog_completes)
-         is 0
-       - print_all_compspecs now takes a `hash_wfunc *' argument
-       - print_all_compspecs now just calls hash_walk
-
-builtins/complete.def
-       - new function, print_compitem, takes a BUCKET_CONTENTS *, extracts
-         the right info, and calls print_one_completion
-
-variables.c
-       - short-circuit map_over_funcs if HASH_ENTRIES(shell_functions) == 0
-       - short-circuit flatten if the passed table has no entries
-       - bind_variable_internal takes a new fourth argument: `hflags',
-         to pass to hash table functions
-       - make_new_variable now passes HASH_NOSRCH flag to add_hash_item
-       - set_if_not now calls bind_variable_internal and passes
-         HASH_NOSRCH as flags argument
-       - bind_function now calls add_hash_item with HASH_NOSRCH argument
-       - fixed make_local_variable:  old_var == 0 && was_tmpvar can never
-         be true
-       - if we didn't find an old variable in make_local_variable, call
-         bind_variable_internal with HASH_NOSRCH argument
-       - fix push_temp_var to reset variable context to 0 if binding into
-         global_variables->table
-
-parse.y
-       - fix to parse_compound_assignment to avoid core dumps on empty
-         compound array assignments
-
-subst.c
-       - getifs() is now global so read_builtin can call it
-
-subst.h
-       - extern declaration for getifs()
-
-                                  2/20
-                                  ----
-hashlib.c
-       - changed hash_string to use a better hash function
-       - changed HASH_BUCKET to use masking rather than modulus to hash a
-         string to a bucket -- HASH TABLES MUST NOW BE SIZED BY POWERS
-         OF TWO
-
-hashlib.h
-       - DEFAULT_HASH_BUCKETS is now 64
-
-hashcmd.h
-       - FILENAME_HASH_BUCKETS is now 64
-
-pcomplib.c
-       - COMPLETE_HASH_BUCKETS is now 32
-
-variables.c
-       - TEMPENV_HASH_BUCKETS is now 4
-
-alias.c
-       - new define, ALIAS_HASH_BUCKETS, set to 16, used to size alias table
-
-hashlib.c
-       - removed initialize_hash_table; folded code into make_hash_table
-       - fixed copy_bucket_array to copy the `khash' member of an item
-       - renamed functions to be more systematic and easier for me:
-               make_hash_table -> hash_create
-               hash_table_nentries -> hash_size
-               copy_hash_table -> hash_copy
-               find_hash_item -> hash_search
-               remove_hash_item -> hash_remove
-               add_hash_item -> hash_insert
-               flush_hash_table -> hash_flush
-               dispose_hash_table -> hash_dispose
-               print_table_stats -> hash_pstats
-               get_hash_bucket -> hash_items
-       - changed hash_search to short-circuit if table->nentries == 0 and
-         HASH_CREATE has not been passed in the flags argument
-
-{alias,variables,hashcmd,pcomplib}.c
-       - renamed calls to all renamed functions from hashlib.c
-
-builtins/kill.def
-       - don't drop a leading `-' in a pid argument
-       - call kill_pid with an explicit third argument of 1 if the pid
-         argument to kill is < -1, rather than rely on the behavior of
-         kill(2)
-
-                                  2/21
-                                  ----
-subst.c
-       - quoted_strchr is no longer declared `inline'
-       - skip_double_quoted is no longer declared `inline'
-       - string_extract_double_quoted is no longer declared `inline'
-
-lib/readline/input.c
-       - rl_gather_tyi is now an `int' valued function; returns the number
-         of characters read (0 or 1) or -1 on error
-       - if rl_gather_tyi() returns -1 to rl_read_key(), set rl_done to 1
-         and return a newline; something is wrong with the input fd
-
-                                  2/25
-                                  ----
-variables.[ch]
-       - IFS is now a special variable
-       - new special var function, sv_ifs(), called when IFS is set or unset
-       - call setifs() when IFS is first set in initialize_shell_variables
-       - call setifs() from make_local_variable and assign_in_env if
-         appropriate
-       - if assign_in_env() is called with a var assignment like `VAR=',
-         make the value in the new SHELL_VAR created be "" like
-         do_assignment_internal does, since certain parts of the shell use
-         a NULL value as evidence that the variable is unset (though
-         attributes may have been assigned)
-       - if push_temp_var pushes something up to the global_variables table,
-         make sure that the context is set to 0
-       - new function dispose_temporary_env, called by both
-         dispose_used_env_vars and merge_temporary_env with different `free
-         func' function pointers; calls sv_ifs after disposing the temporary
-         environment
-       - push_exported_var now calls bind_variable_internal instead of
-         bind_variable
-       - pop_scope and pop_context now call sv_ifs
-
-subst.[ch]
-       - new global variables used to keep track of IFS state, to avoid
-         having to call find_variable("IFS") all the time:
-
-               ifs_var         the SHELL_VAR for IFS
-               ifs_value       ifs_var ? value_cell (ifs_var) : " \t\n"
-               ifs_cmap        bitmap of characters in ifs_value
-               ifs_firstc      first character in ifs_value
-
-       - new function setifs(), sets the aforementioned ifs variables each
-         time IFS is set or unset, and at nested scope exit
-       - instead of calling getifs() from inside subst.c, use ifs_value
-       - getifs() now just returns ifs_value
-       - use ifs_firstc in string_list_dollar_star()
-       - only call member() in issep() if separators is more than one char
-       - don't cache a bitmap every time expand_word_internal() is called;
-         use ifs_cmap instead
-       - new macro, isifs(c), checks whether C is in ifs_cmap
-
-builtins/read.def
-       - use issep() and isifs() macros instead of looking at $IFS directly
-
-syntax.h
-       - make sure macros that access sh_syntaxtab cast the argument to
-         `unsigned char' before array access
-       - new macros: issyntype(c, type) and notsyntype(c, type), check
-         sh_syntaxtab[c] for a particular flag value `type'
-
-                                  2/26
-                                  ----
-hashlib.h
-       - the `data' member of a `BUCKET_CONTENTS' is now a PTR_T
-
-{hashlib,alias,variables,hashcmd,pcomplib}.c
-       - removed some casts when assigning to and using `data' member of a
-         `BUCKET_CONTENTS'
-
-subst.c
-       - in split_at_delims, call make_word_list instead of allocating and
-         initializing a WORD_LIST * directly
-
-make_cmd.[ch]
-       - add_string_to_list is now just a macro that calls make_word_list
-       - make_simple_command now calls make_word_list instead of allocating
-         a WORD_LIST * directly
-
-                                  2/27
-                                  ----
-copy_cmd.c
-       - copy_word now calls make_bare_word to allocate the copy
-       - copy_word_list now calls make_word_list to allocate the copy
-
-shell.h
-       - include `ocache.h' for simple object caching
-       - call cmd_init() to initialize the WORD_DESC and WORD_LIST object
-         caches
-
-{make,dispose}_cmd.c
-       - allocate WORD_DESC * and WORD_LIST * vars from their respective
-         ocaches, and return them to the cache when disposing
-
-jobs.c
-       - renamed old `waiting_for_job' variable to `queue_sigchld', which
-         better reflects its intent:  sigchld_handler does not call waitchld
-         if `queue_sigchld' is non-zero, it simply increments the count of
-         waiting children
-       - cleanup_dead_jobs now just sets and clears queue_sigchld instead of
-         blocking and unblocking SIGCHLD; it calls waitchld at the end if
-         `sigchld' is non-zero, but that's not really necessary
-       - in setjstatus, only call xrealloc if `statsize' is less than the
-         number of processes passed -- no reason to do it if they're the
-         same
-
-                                  2/28
-                                  ----
-sig.[ch]
-       - reinitialize_signals is no more; initialize_signals takes an
-         argument saying whether or not we are reinitializing
-
-builtins/exec.def
-       - reinitialize_signals() -> initialize_signals(1)
-
-test.c
-       - fix filecomp() to work right when one file has a non-positive
-         timestamp and the other file does not exist
-
-doc/{bash.1,bashref.texi}
-       - document what happens for test's -nt and -ot operators when one
-         file operand exists and the other does not
-
-jobs.c
-       - if we haven't messed with SIGTTOU, just manipulate queue_sigchld
-         in notify_of_job_status instead of calling sigprocmask()
-       - list_one_job now calls pretty_print_job directly instead of going
-         through print_job
-       - pretty_print_job now must be called with SIGCHLD blocked or held
-         instead of blocking SIGCHLD itself
-       - changed start_job so that it doesn't call UNBLOCK_CHILD and then
-         immediately call BLOCK_CHILD again (explicitly or via last_pid()),
-         call find_last_pid instead of last_pid and then UNBLOCK_CHILD
-       - changed wait_for_job the same way
-       - find_last_pid now takes a second argument: block; uses BLOCK_CHILD
-         if `block' is 1, not otherwise.  Changed existing calls:
-               find_last_pid(j) -> find_last_pid(j, 0)
-               last_pid(j) -> find_last_pid(j, 1)
-         `last_pid()' is now gone
-       - rewrote wait_for_background_pids(); it was a little strange
-       
-copy_cmd.c
-       - copy_if_command: don't copy null false_case commands
-       - copy_simple_command: don't copy a null redirection list
-
-subst.c
-       - in get_word_from_string and list_string, just check for " \t\n"
-         directly rather than calling strcmp
-       - in get_word_from_string and strip_trailing_ifs_whitespace, use
-         isifs() instead of issep(), since they're never called with
-         separators != $IFS
-       - change issep() to call isifs if separators is longer than one
-         character, since it's never called with anything but "", " ",
-         or $IFS
-
-                                   3/1
-                                   ---
-sig.h
-       - enclose the BLOCK_SIGNAL macro in a do {...} while (0) loop, at it
-         should have been all along
-
-lib/readline/doc/rltech.texinfo
-       - document that readline defaults to stdin/stdout if rl_instream/
-         rl_outstream are NULL
-
-lib/readline/terminal.c
-       - if an application is using a custom redisplay function,
-         rl_resize_terminal just calls rl_forced_update_display to tell
-         (*rl_redisplay_func) to update the display, otherwise call
-         _rl_redisplay_after_sigwinch
-
-lib/readline/readline.c
-       - change readline_internal_setup() so the change to vi insertion mode
-         happens even if readline_echoing_p is 0
-       - don't print the prompt to rl_outstream in readline_internal_setup
-         if we're not echoing and the caller has defined a custom redisplay
-         function -- let the redisplay function deal with it
-
-configure.in
-       - new option: --enable-mem-scramble, controls memory scrambling on
-         free() (on by default; only affects use of bash malloc)
-
-config.h.in
-       - new option MEMSCRAMBLE, controlled by --enable-mem-scramble
-
-                                   3/5
-                                   ---
-parse.y
-       - added ksh-like behavior of [...] to read_token_word:  if a `[' is
-         seen in an assignment context and the previous characters in the
-         token form a valid identifier, parse the [...] with
-         parse_matched_pair to allow spaces (and newlines) in the subscript
-
-bashline.c
-       - new function bash_servicename_completion_function, for completing
-         service names from /etc/services
-
-bashline.h
-       - new extern declaration for bash_servicename_completion_function
-
-builtins/complete.def
-       - allow new `-s/-A service' option to complete and compgen builtins
-
-pcomplete.h
-       - new CA_SERVICE define, new ITEMLIST variable it_services
-
-pcomplete.c
-       - add callback to bash_servicename_completion_function to generate
-         list of matching service names for completion
-
-doc/bash.1,lib/readline/doc/rluser.texinfo
-       - documented new `-s/-A service' option to complete and compgen
-
-                                   3/6
-                                   ---
-builtins/read.def
-       - change hard-coded `0' to new variable `fd' (initially 0) in
-         preparation for adding `-u fd' option
-
-bashline.c
-       - bash_directory_completion_hook calls expand_prompt_string instead
-         of expand_string (it does the right thing).  This keeps expansion
-         errors from causing a longjmp, which shouldn't happen because of
-         completion
-       - command_subst_completion_function was augmented very slightly to
-         do filename completion on a non-command-word in a command
-         substitution
-       - command_subst_completion_function now skips over the lcd that
-         rl_completion_matches puts in matches[0] if there is more than
-         one possible completion
-
-                                   3/7
-                                   ---
-builtins/read.def
-       - only add the unwind_protect to free `rlbuf' if `edit' is non-zero,
-         since we won't be using readline otherwise
-
-lib/sh/zread.c
-       - renamed zread1 -> zreadintr
-
-redir.c
-       - small change to redirection_error() to make a slightly better
-         guess about the invalid file descriptor if the redirection op is
-         r_duplicating_input or r_duplicating_output
-
-include/stdc.h
-       - new macro, SH_VA_START, to encapsulate the difference between
-         stdarg va_start and varargs va_start
-
-{error,pcomplete,print_cmd}.c,builtins/common.c,lib/sh/snprintf.c
-       - use SH_VA_START
-
-                                   3/8
-                                   ---
-builtins/read.def
-       - support for the ksh-like `-u fd' option
-
-general.c
-       - new function sh_validfd(fd), returns 1 if fd is a valid open file
-         descriptor
-
-general.h
-       - extern decl for sh_validfd
-
-bashline.c
-       - don't call posix_readline_initialize() from initialize_readline();
-         sv_strict_posix() should already have taken care of it
-
-                                  3/11
-                                  ----
-{error,pcomplete,print_cmd}.c, builtins/common.c
-       - removed non-varargs versions of functions
-
-builtins/printf.def
-       - if the string argument to %q has non-printing characters, call
-         ansic_quote to quote it rather than sh_backslash_quote
-
-variables.h
-       - new attribute: att_trace (and corresponding trace_p() macro).
-         Functions with this attribute will inherit the DEBUG trap.
-         Currently ignored for variables
-
-builtins/declare.def
-       - new `-t' option to declare/typeset toggle the `att_trace' attribute
-
-builtins/setattr.def
-       - check for att_trace and output `-t' flag in show_var_attributes
-
-execute_cmd.c
-       - if a function is being traced (it has the `-t' attribute set),
-         don't turn off the DEBUG trap when it executes
-
-doc/{bash.1,bashref.texi}
-       - document the new `-t' option to declare/typeset
-
-                                  3/12
-                                  ----
-execute_cmd.c
-       - don't execute the debug trap in the `cm_simple:' case of
-         execute_command_internal; run it in execute_simple_command so we
-         get the line number information right when executing in a shell
-         function
-       - run a DEBUG trap before executing ((...)) arithmetic commands,
-         like ksh93
-       - run a DEBUG trap before executing [[...]] conditional commands,
-         like ksh93
-
-eval.c
-       - add a static forward declaration for alrm_catcher()
-
-general.c
-       - add static forward declarations for bash_special_tilde_expansions,
-         unquoted_tilde_word, initialize_group_array
-
-variables.h
-       - add extern declarations for sh_get_env_value, map_over_funcs,
-         local_exported_variables
-
-variables.c
-       - add static forward declarations for dispose_temporary_env,
-         make_func_export_array
-
-bashhist.c
-       - add static forward declaration for check_history_control
-
-configure.in
-       - add a call to AC_CHECK_DECLS for strcpy
-
-config.h.in
-       - add placeholder for HAVE_DECL_STRCPY define, set by configure
-
-general.h
-       - don't declare strcpy if HAVE_DECL_STRCPY is defined with a non-zero
-         value
-
-sig.h
-       - add prototype to typedef of SigHandler
-
-lib/readline/histlib.h
-       - removed extern declaration of strcpy()
-       - include string.h/strings.h directly in histlib.h instead of source
-         files
-
-lib/readline/{histexpand,histfile,history,histsearch}.c
-       - don't include string.h/strings.h now that histlib.h includes it
-
-lib/tilde/tilde.c
-       - removed extern declaration of strcpy(), rely on string.h/strings.h
-
-command.h
-       - four new redirection types: r_move_input, r_move_output,
-         r_move_input_word, r_move_output_word, for
-         [N]<&word- and [N]>&word- from ksh93
-
-print_cmd.c
-       - changes to print r_move_input[_word] and r_move_output[_word]
-
-copy_cmd.c
-       - changes to copy r_move_input[_word] and r_move_output[_word]
-
-dispose_cmd.c
-       - changes to dispose r_move_input_word and r_move_output_word
-
-make_cmd.c
-       - changes to make r_move_input[_word] and r_move_output[_word] from
-         r_duplicating_{input,output}_word, which is how the new redirs
-         are passed by the parser
-
-redir.c
-       - changes to make r_move_input[_word] and r_move_output[_word] do
-         the right thing when executed
-
-builtins/read.def
-       - print an error message and return failure immediately if zread/zreadc
-         return < 0
-
-doc/{bash.1,bashref.texi}
-       - documented new [n]<&word- and [n]>&word- redirections
-
-                                  3/13
-                                  ----
-lib/readline/isearch.c 
-       - enabled code to allow chars bound to rl_rubout to delete characters
-         from the incremental search string
-
-shell.c
-       - add `-l' invocation option to parse_shell_options; equivalent to
-         `--login'
-       - fixed set_login_shell to check first char of base pathname of argv0
-         for `-', like other shells
-       - move the check for make_login_shell after the call to
-         parse_shell_options because the `-l' option might set it
-
-doc/{bash.1,bashref.texi}
-       - documented new `-l' invocation option
-
-array.c
-       - new function, array_shift, shifts an array left by a specified
-         number of elements
-       - array_walk is now compiled in by default
-       - array_to_assignment_string now takes a second argument: int quoted.
-         If non-zero, the result is single-quoted before being returned
-       - quoted_array_assignment_string has been removed
-
-array.[ch]
-       - renamed most of the array functions so that all have an array_
-         prefix and are more systematically named
-       - array_slice now preserves the indicies from the original array
-       - change array_to_assign to use a static buffer for expanding the
-         array indices, instead of malloc/free
-
-{arrayfunc,subst,variables}.c, builtins/read.def
-       - changed calls to various array functions to use new names
-
-lib/sh/stringvec.c, externs.h
-       - renamed all of the functions to have a strvec_ prefix and to have
-         a more sensible name scheme
-       - strvec_search's arguments are now supplied in reverse order, so
-         the char **array is first, like the other functions
-       - new function, strvec_resize, xrealloc for strvecs
-
-{alias,array,bracecomp,braces,bashline,execute_cmd,findcmd,general,pathexp,
-pcomplete,variables}.c
-lib/sh/stringlist.c
-builtins/{bind,complete,exec,getopts,pushd,set}.def
-       - change calls to all functions from lib/sh/stringvec.c
-       - use strvec_resize where appropriate
-
-externs.h
-       - only declare dup2() if HAVE_DUP2 is undefined or DUP2_BROKEN is
-         defined
-
-lib/readline/{macro,readline,util}.c, lib/readline/rlprivate.h
-       - _rl_defining_kbd_macro is gone, use RL_ISSTATE(RL_STATE_MACRODEF)
-
-lib/readline/readline.h
-       - new struct readline_state, encapsulates most of readline's internal
-         state in case you need reentrancy or nested calls to readline()
-       - extern declarations for rl_save_state, rl_restore_state
-
-lib/readline/readline.c
-       - add (undocumented) int rl_save_state (struct readline_state *),
-         int rl_restore_state (struct readline_state *)
-
-                                  3/14
-                                  ----
-array.[ch]
-       - new function, array_rshift, shifts an array right by a specified
-         number of elements, optionally inserting a new element 0
-
-examples/bashdb/bashdb
-       - new single-file version of bash debugger, originally modified from
-         version in bash-2.04 by Gary Vaughan (the old debugger still
-         appears in examples/obashdb).  This version has a more gdb-like
-         command set
-
-examples/bashdb/bashdb.el
-       - new emacs bashdb debugger mode from Masatake YAMATO <jet@gyve.org>
-
-execute_cmd.c
-       - don't make $LINENO relative to function start unless the shell is
-         currently interactive -- this is what ksh93 does and what I
-         believe to be the intent of POSIX.2 (this required changing some
-         of the test checks because the output has changed)
-       - run the debug trap for each command in an arithmetic for expression,
-         like ksh93 does
-
-lib/readline/vi_mode.c
-       - redid rl_vi_subst (binding func for `s' and `S') in terms of
-         rl_vi_change_to:  `S' == `cc' and `s' == `c '.  This makes undo
-         work right
-
-                                  3/18
-                                  ----
-hashlib.c
-       - fixed hash_walk to return if the item function returns < 0, instead
-         of breaking out of the current hash chain
-
-array.c
-       - fixed array_walk to return if the item function returns < 0, like
-         hash_walk
-
-lib/sh/stringlist.c, externs.h
-       - new function: strlist_walk, takes a stringlist and a pointer to an
-         item func.  Like other _walk funcs, if item func returns < 0 the
-         walk is cancelled
-       - new function: strlist_flush, frees items in the contained list
-         with strvec_flush
-       - renamed functions to have a strlist_ prefix and be more systematic
-
-pcomplib.c,pcomplete.h
-       - removed redundant `progcomp_initialized' variable
-       - renamed functions to have `progcomp_' or `compspec_' prefixes
-         like the hash library
-
-{bashline,pcomplete}.c,builtins/complete.def
-       - fixed calls to stringlist functions to use new names
-       - fixed calls to functions in pcomplib.c to use new names
-
-pcomplete.c
-       - made the debugging code #ifdef DEBUG -- it should be mature enough
-
-builtins/hash.def,parse.y
-       - use REVERSE_LIST(x, t) instead of (t)reverse_list(x)
-
-list.c,{externs,general}.h
-       - renamed the list functions to have a list_ prefix, changed callers
-
-externs.h,{execute_cmd,stringlib,subst}.c,builtins/common.c,lib/sh/stringvec.c
-       - word_list_to_argv -> strvec_from_word_list
-       - argv_to_word_list -> strvec_to_word_list
-       - moved functions to lib/sh/stringvec.c
-
-lib/sh/stringvec.c
-       - changed name of second argument to strvec_from_word_list from `copy'
-         to `alloc' so the use of `copy' between strvec_from_word_list and
-         strvec_to_word_list isn't as confusing
-       - changed name and sense of second argument to
-         strvec_to_word_list from `copy' to `alloc' for the same reason --
-         now both functions agree on semantics of second argument
-
-lib/sh/stringlist.c
-       - ditto for strlist_from_word_list and strlist_to_word_list
-
-subst.c
-       - changed callers of strvec_to_word_list
-
-                                  3/19
-                                  ----
-builtins/hash.def
-       - added `-l' option to list table or individual targets in reusable
-         format
-       - added `-d' option to remove one or more names from the table of
-         hashed commands (provides `unhash' or `unalias -t' functionality)
-
-doc/{bash.1,bashref.texi}
-       - documented new `-l' and `-d' options to `hash'
-
-hashcmd.[ch]
-       - renamed functions to have a `phash_' prefix and follow new naming
-         convention
-       - phash_remove now returns an int:  1 if command not in hash table,
-         0 if filename removed OK
-
-{findcmd,variables}.c, builtins/{hash,type}.def
-       - changed callers to use new names from hashcmd.c
-
-builtins/common.[ch]
-       - new function, sh_notfound(s), prints standard `not found' message
-       - new function, sh_invalidid(s), prints standard `invalid identifier'
-         message
-       - new function, sh_restricted(s), prints standard `restricted' message
-         for restricted shells
-       - new function, sh_invalidnum(s), prints standard `invalid number'
-         message
-       - renamed bad_option to sh_invalidopt, changed to print
-         `invalid option' instead of `unknown option'
-       - new function, sh_invalidoptname, prints standard `invalid option
-         name' for long options
-       - new function, sh_badjob (s), prints standard `no such job' message
-       - new function, sh_invalidsig (s), prints standard `invalid signal
-         specification' message
-       - new function, sh_nojobs (s), prints standard `no job control' message
-       - new function, sh_needarg (s), prints standard `option requires an
-         argument' message
-       - new function, sh_neednumarg (s), prints standard `numeric
-         argument required' message
-       - new function, sh_badpid(s), prints standard `not a pid...' message
-       - new function, sh_erange (s, desc) prints standard `out of range'
-         message, optionally using `desc' to say what the argument is
-
-builtins/{alias,command,declare,exec,hash,type}.def
-       - call sh_notfound() instead of calling builtin_error directly
-
-builtins/{declare,getopts,read,set,setattr}.def
-       - call sh_invalidid() instead of calling builtin_error directly
-
-builtins/{cd,command,enable,exec,hash,source}.def
-       - call sh_restricted() instead of calling builtin_error directly
-
-builtins/{printf,read,ulimit}.def, builtins/common.c
-       - call sh_invalidnum instead of calling builtin_error directly
-
-builtins/{complete,declare,pushd,set}.def, builtins/bashgetopt.c
-       - call sh_invalidopt instead of bad_option or builtin_error directly
-
-builtins/{complete,set,shopt}.def
-       - call sh_invalidoptname instead of builtin_error directly
-
-builtins/{fg_bg,jobs,kill,wait}.def
-       - call sh_badjob instead of calling builtin_error directly
-
-builtins/common.c, builtins/{kill,signal}.def
-       - call sh_invalidsig instead of calling builtin_error directly
-
-builtins/{fg_bg,suspend,wait}.def
-       - call sh_nojobs instead of calling builtin_error directly
-
-builtins/{common,bashgetopt}.c, builtins/{hash,kill}.def
-       - call sh_neednumarg and sh_needarg where required
-
-builtins/{kill,wait}.def
-       - call sh_badpid where required
-
-builtins/{break,fc,history,pushd,shift,ulimit,umask}.def
-       - call sh_erange where appropriate
-
-builtins/printf.def
-       - new static function, printf_erange, prints standard out-of-range
-         warning message
-
-builtins/set.def
-       - changed so that calls to sh_invalidopt always include the leading
-         `+' or `-'
-
-builtins/shopt.def
-       - changed SHOPT_ERROR macro to shopt_error function
-
-builtins/bind.def
-       - regularized error messages to `bind: object: error string' like
-         other error messages
-
-builtins.h
-       - the `short_doc' member of a `struct builtin' is now of type
-         `const char *'
-       - the strings in `long_doc' array of a struct builtin are now const
-
-builtins/mkbuiltins.c
-       - changes for new `const' members of struct builtin
-
-                                  3/20
-                                  ----
-lib/readline/histfile.c
-       - use pointers instead of indexing into buffer when reading the
-         contents of the history file in read_history_range and
-         history_truncate_file
-
-                                  3/21
-                                  ----
-lib/readline/histfile.c
-       - new file, with code to mmap the history file for reading and
-         writing (depends on HAVE_MMAP, currently nothing checks for that)
-
-                                  3/25
-                                  ----
-error.[ch]
-       - new function, err_badarraysub(s), calls report_error with standard
-         `bad array subscript' message
-       - new function, err_unboundvar(s), calls report_error with standard
-         `unbound variable' message
-       - new function, err_readonly(s), calls report_error with standard
-         `readonly variable' message
-
-{arrayfunc,subst}.c
-       - call err_badarraysub where appropriate
-
-{expr,subst}.c
-       - call err_unboundvar where appropriate
-
-{arrayfunc,variables}.c
-       - call err_readonly where appropriate
-
-shell.c
-       - changed text of bad option error messages to be the same as that
-         printed for builtin errors
-
-builtins/common.c
-       - changed sh_invalidopt to print the invalid option before the rest
-         of the error message (required some tests to be modified)
-       - new function, sh_readonly, calls builtin_error with standard
-         `readonly variable' message
-
-variables.c,builtins/declare.def
-       - call sh_readonly where appropriate
-
-lib/sh/stringvec.c
-       - added strvec_remove (sv, s), removes S from SV and shuffles rest of
-         elements down 1
-
-lib/sh/stringlist.c
-       - added strlist_remove(sl, s), just calls strvec_remove on the
-         component list
-
-externs.h
-       - new extern declarations for strvec_remove and strlist_remove
-       - fixed extern declaration for strvec_search; the arguments were
-         reversed (unimportant, it's not compiled into the shell)
-
-subst.c
-       - change param_expand to call quote_escapes on values retrieved when
-         expanding the positional parameters
-       - change parameter_brace_expand_word to quote escapes on values
-         retrieved when expanding the positional parameters
-       - fix parameter_brace_substring to quote escape characters on unquoted
-         substrings extracted from variable values (needed to separate case
-         VT_VARIABLE from VT_ARRAYMEMBER for this, since, because
-         get_var_and_type calls array_value for VT_ARRAYMEMBER, we need to
-         skip over quoted characters in an already-appropriately-quoted
-         string to find the substring we want)
-       - fix parameter_brace_substring to quote escape characters in the
-         value returned by pos_params when expanding subsets of the
-         positional parameters and not within double quotes (in which case
-         pos_params() quotes the string for us)
-       - fix parameter_brace_substring to quote escape characters in the
-         value returned by array_subrange when expanding subsets of an
-         array and not within double quotes (in which case
-         array_subrange() quotes the string for us)
-       - new function, quoted_strlen(s), does strlen(s) while skipping over
-         characters quoted with CTLESC (#ifdef INCLUDE_UNUSED, since it's
-         not used yet)
-       - changed pos_params() so it always returns a list whose members are
-         quoted strings if (quoted&(Q_HERE_DOCUMENT|Q_DOUBLE_QUOTES)) != 0
-
-arrayfunc.c
-       - fix array_value to consistently call quote_escapes, even when a
-         non-array variable is being subscripted with element 0, in which
-         case we return the variable value
-
-lib/sh/strtrans.c
-       - make the for_echo parameter to ansicstr a `flags' parameter that
-         has its old `for echo' meaning if flags&1 is non-zero (which is
-         consistent with the old code)
-       - Added code to the `flags' parameter to ansicstr so that if flags&2
-         is non-zero, CTLESC and CTLNUL are escaped with CTLESC in the
-         expanded string
-       - change ansiexpand() to call ansicstr with a `flags' parameter of 2
-
-                                  3/26
-                                  ----
-lib/readline/histfile.c
-       - when reading and writing the history file, use malloc instead of
-         xmalloc and handle failures gracefully, so the application doesn't
-         abort if the history file or history list is too big
-
-                                  3/27
-                                  ----
-arrayfunc.c
-       - changed array_value_internal to take an additional `int *'
-         parameter, in which is returned the type of array indexing
-         performed (array[@] vs. array or array[index])
-       - changed array_value and get_array_value to take a corresponding
-         extra parameter and pass it to array_value_internal
-       - changed array_value_internal to no longer return newly-allocated
-         memory or quote CTLESC and CTLNUL in the returned string if
-         `simple' array indexing (subscript not `@' or `*') is being
-         performed.  This makes it more like a variable lookup
-
-arrayfunc.h
-       - changed prototypes for array_value and get_array_value
-
-expr.c
-       - added new parameter to call to get_array_value in expr_streval
-       - don't need to free memory returned by get_array_value any more
-
-subst.c
-       - quote_escapes now works with multibyte characters
-       - dequote_string now works with multibyte characters
-       - dequote_escapes is now needed, so it's compiled in, and it
-         now works with multibyte characters
-       - remove_quoted_escapes now just calls dequote_escapes and copies the
-         result over the argument string
-       - remove_quoted_nulls now returns its char * argument, parallels
-         remove_quoted_escapes
-       - parameter_brace_expand_word now passes the new argument to
-         array_value and quotes CTLESC and CTLNUL in the result if it's a
-         `simple' array expansion by calling quote_escapes
-       - get_var_and_type now returns VT_ARRAYMEMBER for references like
-         ${array} where `array' is an array variable (just like ${array[0]}).
-         Documented (in comment) that a VT_VARIABLE return value means that
-         quote_escapes has been called at some point
-       - changed callers of get_var_and_type to no longer free value if
-         VT_ARRAYMEMBER is returned as type
-       - changed parameter_brace_substring and parameter_brace_patsub to
-         call dequote_escapes on the value from get_var_and_type if the
-         type is VT_VARIABLE, since the substring and pattern substitution
-         code doesn't understand CTLESC quoting
-       - parameter_brace_substring no longer needs to call quoted_substring
-         for the VT_ARRAYMEMBER case
-       - changed parameter_brace_patsub to call quote_escapes on the result
-         of pat_subst for the VT_VARIABLE and VT_ARRAYMEMBER cases, and to
-         quote the returned string in the VT_ARRAYVAR and VT_POSPARAMS cases
-         if the `MATCH_QUOTED' flag isn't set (if it is, the pattern
-         substitution functions perform any necessary quoting)
-       - quoted_substring is no longer used; it's now #ifdef INCLUDE_UNUSED
-
-lib/malloc/mstats.h
-       - new member in _malstats: u_bits32_t bytesreq, the total number of
-         bytes requested by the caller via calls to malloc() and realloc()
-
-lib/malloc/stats.c
-       - print bytesreq member in _print_malloc_stats
-       - don't print statistics for buckets for which nmal == 0 (no mallocs)
-
-lib/malloc/malloc.c
-       - modified internal_malloc, internal_realloc to keep running total of
-         number of bytes requested by calling application
-
-shell.c
-       - sh_exit is now compiled in; exit_shell calls sh_exit
-
-error.c
-       - changed fatal_error, report_error, parser_error to call sh_exit
-
-                                  3/28
-                                  ----
-subst.[ch]
-       - changed Q_NOQUOTE to Q_PATQUOTE; it makes the intent more clear
-
-subst.c
-       - moved code from parameter_brace_expand into a new function that
-         dispatches for pattern substitution: parameter_brace_remove_pattern
-       - changed structure of parameter_brace_remove_pattern to be like
-         parameter_brace_patsub and its ilk:  call get_var_and_type to
-         isolate the variable name, move the pattern isolation code out of
-         the various *_remove_pattern functions into
-         parameter_brace_remove_pattern and pass the results to the various
-         functions, use a switch on the return value from get_var_and_type
-         to decide which function to call, regularized the arguments to the
-         separate pattern removal functions
-       - parameter_brace_remove_pattern now properly quotes escape chars in
-         the returned value
-       - changed get_var_and_type to call dequote_escapes on the `value'
-         parameter for case VT_VARIABLE and return the result in *valp,
-         so the calling functions don't have to do it themselves; changed
-         callers appropriately
-       - fixed getpattern() where it broke posix compliance:  if you enclose
-         a pattern removal spec in double quotes, the outer double quotes
-         have no effect on the pattern (POSIX.1-200x 2.6.2).  This uncovered
-         a bug in the test suite (!)
-
-pathexp.c
-       - fixed a problem with quote_string_for_globbing where it would change
-         consecutive CTLESC chars all to \ instead of changing every other
-         quoted char
-
-                                  3/31
-                                  ----
-lib/malloc/{malloc,stats}.c
-       - moved declaration of _mstats to malloc.c so stats.o doesn't get
-         linked into the shell if the stats functions aren't called
-
-                                   4/2
-                                   ---
-lib/glob/smatch.c
-       - introduce `XCHAR' define, which is the type of arguments passed to
-         strcoll/strcmp/strlen and their wide-character equivalents, added
-         appropriate casts
-       - static arrays in single-byte version of rangecmp() are `char', not
-         `unsigned char', so compilers don't complain about calls to strcoll
-
-lib/glob/sm_loop.c
-       - casts for `XCHAR' and `XCHAR *' arguments to libc functions
-       - use prototype declaration for BRACKMATCH if `PROTOTYPES' is defined
-         to avoid problems with type promotion (unsigned char -> int)
-
-lib/glob/collsyms.h
-       - `name' member of struct _COLLSYM is now of type `XCHAR *', since
-         some compilers don't like `unsigned char *' initializers from
-         constant strings
-
-[bash-2.05b-alpha1 released]
-
-                                   4/3
-                                   ---
-builtins/{evalstring.c,common.h}
-       - new flag for parse_and_execute, SEVAL_NOFREE, means to not free
-         the argument string when finished
-
-lib/readline/text.c
-       - fixed a trivial typo in _rl_insert_char when reading multibyte
-         char sequences
-       - replace calls to ding() with rl_ding()
-
-include/chartypes.h
-       - remove SIGN_EXTEND_CHAR and TOASCII macros; they're unused
-
-make_cmd.c
-       - include dispose_cmd.h for extern function declarations
-
-lib/glob/glob.c
-       - include `shmbutil.h' and `xmalloc.h' for extern function declarations
-
-lib/glob/smatch.c
-       - include `xmalloc.h' for extern function declarations
-
-shell.c
-       - fix maybe_make_restricted to use its argument instead of global
-         `shell_name'
-
-version.c
-       - update copyright message to include this year
-
-lib/readline/display.c
-       - fixes from Jiro SEKIBA <jir@yamato.ibm.com> to fix autowrapping
-         when using multibyte characters
-
-lib/glob/sm_loop.c
-       - fixed a problem in BRACKMATCH where not enough memory was allocated
-         to hold a multibyte character when parsing POSIX.2 char class names
-
-support/config.{guess,sub}
-       - updated via patch from Paul Eggert with latest GNU additions
-
-variables.c
-       - var_lookup should use its `vcontext' argument instead of
-         unconditionally using `shell_variables'
-
-                                   4/4
-                                   ---
-builtins/bind.def,doc/{bash.1,bashref.texi}
-       - changed the usage summary and help text to make it clear that any
-         readline command that may appear in ~/.inputrc may be supplied as
-         one of the non-option arguments to `bind'
-
-builtins/mkbuiltins.c
-       - added support for `-H' option, which means to write long documentation
-         for each builtin to a separate file in the `helpfiles' directory
-
-builtins/Makefile.in
-       - new target `helpdoc', just creates long doc files in helpfiles
-         directory
-
-lib/sh/zcatfd.c
-       - new file, with zcatfd(int fd, int ofd, char *fn); dumps data from
-         FD to OFD
-
-Makefile.in,lib/sh/Makefile.in
-       - added zcatfd.c, zcatfd.o member of libsh.a
-
-builtins/evalstring.c
-       - changed cat_file to call zcatfd(fd, 1, fn)
-
-builtins/{shopt,colon}.def
-       - removed the $DOCNAME directive for `shopt', `true', and `false';
-         just use the names
-       - changed $DOCNAME for `:' to just be `colon' instead of
-         `colon_builtin'
-
-builtins/reserved.def
-       - added help entries for ((, [[, `for (('
-
-builtins/let.def
-       - add id++, id--, ++id, --id, ** to help text
-
-                                   4/8
-                                   ---
-builtins/bashgetopt.[ch]
-       - changed to allow options beginning with `+', enabled by a leading
-         `+' in the option string
-       - new variable, list_opttype, set to `-' or `+'
-
-builtins/{common.c,{builtin,eval,exit,fg_bg,let,printf,pushd,return,source,wait}.def
-       - changes to allow a `--' option for every builtin that accepts
-         operands but not options, as per posix.1-2001
-
-builtins/{declare,setattr}.def
-       - use internal_getopt for parsing options, now that it supports `+'
-
-builtins/set.def
-       - use internal_getopt for initial option parse, now that it supports
-         a leading `+'
-
-
-{configure,Makefile}.in, builtins/{Makefile.in,help.def,mkbuiltins.c}
-       - support for a new configure option, ``--enable-separate-helpfiles'',
-         moves the `long' help text to separate help files, installed by
-         default into ${datadir}/bash, one file per builtin.  Off by
-         default -- it saves 47K, but it's only 47K, and it's in the text
-         segment
-
-flags.c
-       - build internal_getopt() option string argument from flags array at
-         runtime in shell.c
-
-shell.c
-       - new variable to control writing malloc stats at exit:
-         malloc_trace_at_exit, 0 by default
-
-lib/malloc/malloc.c
-       - heavily updated:
-               o partial page allocated on first call to malloc to make
-                 subsequent sbrks page-aligned no longer wasted
-               o begin and end range guards are now the same value: the chunk
-                 requested
-               o coalescing code was changed to attempt to coalesce first two
-                 adjacent blocks on the free list; enabled by default
-               o blocks of size 32 are now candidates for larger block
-                 splitting, since 32 is the most popular size
-               o blocks of size 32 are now candidates for smaller block
-                 coalescing
-               o the IN_BUCKET check was changed to just make sure that the
-                 size isn't too big for the bucket, since the `busy block'
-                 checking code may increase the bucket by one or more,
-                 meaning that the old check would fail and cause a panic when
-                 a chunk allocated in such a way was freed
-               o bin sizes are now precomputed and looked up in an array
-                 rather than being computed at runtime
-               o moved the _mstats declaration here to avoid the stats code
-                 being linked in even when no stats functions were called
-                 (only matters if MALLOC_DEBUG is defined)
-               o malloc now keeps track of the address of the top of the heap
-                 and will return large chunks to the system with calls to
-                 sbrk with a negative argument when freeing the top chunk.
-                 Two thresholds:  LESSCORE_FRC means to unconditionally return
-                 memory to the system; LESSCORE_MIN means to return memory if
-                 there's at least one block already on the free list
-
-lib/malloc/mstats.h
-       - stats struct now keeps track of number of block coalesces by bin,
-         and the number of times memory was returned to the system by bin
-
-lib/malloc/stats.c
-       - trace_malloc_stats now takes a second argument: the name of the file
-         to write to.  The first `%p' in the template file name is replaced
-         by the pid
-
-                                   4/9
-                                   ---
-lib/malloc/imalloc.h
-       - added some macros derived from dlmalloc and glibc malloc to inline
-         memcpy and memset if the requested size is <= 32 bytes
-
-lib/malloc/malloc.c
-       - use MALLOC_MEMSET instead of memset in internal_{malloc,free}
-
-include/ocache.h
-       - use OC_MEMSET (variant of MALLOC_MEMSET) in ocache_free
-
-configure.in, config.h.in
-       - check for getservent(), define HAVE_GETSERVENT if found
-
-bashline.c
-       - punt immediately from bash_servicename_completion_function if
-         HAVE_GETSERVENT is not defined (cygwin seems to not define it)
-       - include "input.h" for extern save_token_state() and
-         restore_token_state() declarations
-       - change bash_execute_unix_command to call parse_and_execute with
-         SEVAL_NOHIST flag so the command doesn't get saved on the history
-         list
-       - change bash_execute_unix_command to save and restore the current
-         command line count and the token state (last_read_token, etc.).
-         Everything else is saved by either parse_and_execute directly or
-         the call it makes to push_stream().  The shell_input_line stuff
-         doesn't need to be saved and restored; it's not computed until
-         readline() returns
-
-                                  4/10
-                                  ----
-lib/glob/glob.[ch]
-       - glob_filename and glob_vector now take an additional `flags' arg
-       - define GX_MARKDIRS as possible flag value for glob_filename and
-         glob_vector
-
-lib/sh/snprintf.c
-       - fixed some bugs with handling of `g' and `G' formats
-       - make sure numtoa returns the fractional part correctly when passed 0
-       - implemented thousands grouping for `'' flag character
-
-lib/sh/rename.c
-       - a few changes to make it more bulletproof
-
-                                  4/11
-                                  ----
-lib/glob/glob.c
-       - added the couple of dozen lines of code to glob_dir_to_array to
-         finish implementing GX_MARKDIRS
-
-builtins/set.def
-       - changed unset builtin so that it no longer considers unsetting an
-         unset variable or function to be an error
-
-lib/readline/display.c
-       - fix to rl_redisplay for a problem which caused display to be messed
-         up when the last line of a multi-line prompt (possibly containing
-         invisible characters) was longer than the screen width
-
-                                  4/15
-                                  ----
-aclocal.m4
-       - use AC_DEFINE_UNQUOTED in BASH_SYS_DEFAULT_MAIL_DIR instead of
-         enumerating all of the possible values and using AC_DEFINE
-
-                                  4/16
-                                  ----
-Makefile.in, {builtins,support}/Makefile.in
-       - new variables, CFLAGS_FOR_BUILD and CPPFLAGS_FOR_BUILD, substituted
-         by `configure'
-       - changed CCFLAGS_FOR_BUILD to BASE_CCFLAGS, removing $(CPPFLAGS);
-         CCFLAGS and CCFLAGS_FOR_BUILD now include $(BASE_CCFLAGS) with
-         (possibly) different values for CPPFLAGS and CFLAGS 
-       - GCC_LINT_CFLAGS now includes $(BASE_CCFLAGS) and $(CPPFLAGS)
-         instead of CCFLAGS_FOR_BUILD
-       - new variable, LDFLAGS_FOR_BUILD, right now equivalent to LDFLAGS
-       - remove $(CPPFLAGS) from recipes for buildversion, mksignames, and
-         mksyntax
-
-configure.in
-       - compute and substitute CFLAGS_FOR_BUILD, CPPFLAGS_FOR_BUILD, and
-         LDFLAGS_FOR_BUILD
-       - changed qnx to use LOCAL_LDFLAGS and LOCAL_LIBS instead of putting
-         everything in LOCAL_LDFLAGS
-
-builtins/Makefile.in
-       - remove $(PROFILE_FLAGS) from recipe for building `mkbuiltins'
-       - use LDFLAGS_FOR_BUILD instead of LDFLAGS in recipe for building
-         `mkbuiltins'
-
-Makefile.in
-       - use $(CC_FOR_BUILD) and $(CCFLAGS_FOR_BUILD) to build auxiliary
-         test programs (printenv, recho, zecho)
-
-support/Makefile.in
-       - use CC_FOR_BUILD and CCFLAGS_FOR_BUILD in recipe for building
-         `man2html'
-
-lib/tilde/Makefile.in
-       - substitute PROFILE_FLAGS, use PROFILE_FLAGS in $(CCFLAGS)
-
-                                  4/25
-                                  ----
-Makefile.in, configure.in
-       - moved RELSTATUS to configure.in; configure substitutes it into
-         the generated Makefile
-
-lib/sh/snprintf.c
-       - fix wchars() to deal with systems where MB_CUR_MAX is not a
-         constant expression
-
-                                   5/2
-                                   ---
-lib/sh/shquote.c
-       - add `,' to list of chars that are backslash-quoted.  It doesn't
-         hurt normal usage and prevents filenames with commas from being
-         inappropriately split by brace expansion after using
-         complete-into-braces
-
-                                   5/6
-                                   ---
-lib/sh/xstrchr.c
-       - we only need the check of MB_CUR_MAX and the slow code for a
-         few encodings, and even then only for a subset of the charset
-
-arrayfunc.c
-       - some speedups for skipsubscript and multibyte chars from Bruno Haible
-
-locale.c
-       - changed set_lang to call setlocale(LC_ALL, ...) if LC_ALL doesn't
-         already have a value, but doesn't change any shell variables
-
-include/shmbutil.h
-       - major speedups from Bruno Haible, mostly concerned with reducing
-         the number of strlen(3) calls
-
-subst.c
-       - change callers of macros in shmbutil.h to add extra argument as
-         necessary
-       - skip_single_quoted and skip_double_quoted take another argument:
-         the length of the string; mostly useful when using multibyte chars
-       - many speedups from precomputing string lengths at function start
-       - fixed a small bug in de_backslash in the midst of rewriting for
-         better efficiency
-
-{braces,make_cmd,pathexp}.c
-       - change callers of macros in shmbutil.h to add extra argument as
-         necessary
-
-pathexp.c
-       - fix a one-too-far problem with multibyte chars in
-         unquoted_glob_pattern_p
-
-braces.c
-       - brace_gobbler takes a new argument, the length of the passed string
-       - expand_amble takes a new argument, the length of the passed string
-
-                                   5/7
-                                   ---
-subst.c
-       - modified remove_quoted_nulls to eliminate the memory allocation and
-         do the copy in place using the same strategy as de_backslash
-
-lib/readline/{rldefs.h,complete.c}
-       - new define RL_QF_OTHER_QUOTE, so _rl_find_completion_word can note
-         that it found a quoting character other than \'" that appears in
-         rl_completer_quote_characters
-
-                                   5/9
-                                   ---
-jobs.c
-       - save and restore old value of jobs_list_frozen when calling trap
-         handlers from set_job_status_and_cleanup to avoid seg faults when
-         running recursive trap handlers
-
-                                  5/10
-                                  ----
-builtins/common.h
-       - new #defines to use for value of changed_dollar_vars (provides
-         information about the caller who wants to blow away the old dollar
-         variables)
-
-builtins/common.c
-       - changed set_dollar_vars_changed to set changed_dollar_vars to one
-         of the ARGS_* values depending on the caller and environment
-
-builtins/source.def
-       - source restores the positional parameters unless the `set' builtin
-         was called to specify a new set while not executing a shell function
-
-                                  5/13
-                                  ----
-POSIX
-       - new file, was in CWRU/POSIX.NOTES
-
-doc/{Makefile.in,Makefile}
-       - changed `posix' rule to modify ../POSIX
-
-doc/mkposix
-       - write to `POSIX' by default
-
-lib/sh/strtrans.c
-       - when ansicstr is parsing a format string for `echo -e' (or the
-         equivalent xpg_echo option is enabled), obey the POSIX-2001/SUSv3
-         standard and accept 0-3 octal digits after a leading `0'
-
-doc/{bash.1,bashref.texi}
-       - updated `echo' description to note that up to three octal digits
-         are now accepted following `\0'
-
-                                  5/16
-                                  ----
-doc/Makefile.in
-       - remove the generated documentation on `make distclean' if the
-         build directory and source directory are not the same
-
-Makefile.in
-       - descend into `support' subdirectory on a `make clean' and
-         `make distclean'
-       - remove parser-built, y.tab[ch] on a `make distclean' if the build
-         directory and source directory are not the same
-
-support/Makefile.in
-       - support various `clean' targets and remove man2html.o and man2html
-
-{configure,Makefile}.in
-       - move values for DEBUG and MALLOC_DEBUG into configure.in; on by
-         default for development versions; off by default for releases
-         (off for profiling, too)
-
-                                  5/21
-                                  ----
-parse.y
-       - modified the grammar to allow a simple_list followed by yacc_EOF
-         to terminate a command.  This fixes problems with things like
-         a backslash-newline at the end of an `eval'd string
-       - change handle_eof_input_unit() to reset the token state before
-         calling prompt_again(), in case the prompt to be evaluated contains
-         a command substitution
-
-                                  5/23
-                                  ----
-lib/readline/vi_mode.c
-       - fix `r' command (rl_vi_change_char) when HANDLE_MULTIBYTE is defined
-         but MB_CUR_MAX == 1
-
-                                  5/24
-                                  ----
-lib/malloc/watch.c
-       - don't try to print `file' argument to _watch_warn if it's null
-
-lib/malloc/malloc.c
-       - changed guard checking code in internal_{malloc,free,realloc} to
-         access memory as (char *) and copy into a union instead of
-         casting and dereferencing a pointer to u_bits32_t, since that
-         results in unaligned accesses which will cause Sparcs to upchuck
-
-                                  5/30
-                                  ----
-[bash-2.05b-beta1 released]
-
-lib/readline/text.c
-       - fixed a problem with rl_transpose_chars on systems supporting
-         multibyte characters with a locale that doesn't have any multibyte
-         chars
-
-                                   6/4
-                                   ---
-expr.c
-       - fix a/=0 and a%=0 to throw evaluation errors rather than core dumps
-
-lib/readline/display.c
-       - fix core dump when line wrapping a multibyte character (line
-         accidentally dropped from the original patch)
-
-lib/readline/mbutil.c
-       - fix reversed return value from _rl_is_mbchar_matched; fixes problem
-         with backward-char-search
-
-                                  6/10
-                                  ----
-lib/sh/getenv.c
-       - fix getenv to not free value returned by find_tempenv_variable
-       - add setenv, putenv, unsetenv for completeness
-
-                                  6/12
-                                  ----
-shell.c
-       - change init_noninteractive to init expand_aliases to the value of
-         posixly_correct
-       - don't initialize expand_aliases to posixly_correct anywhere else.
-         This allows the -O expand_aliases invocation option to work correctly
-
-general.c
-       - fix move_to_high_fd to not try the dup2 unless the fd loop results
-         in an fd > 3; just return the passed file descriptor otherwise
-       - use HIGH_FD_MAX, defined in general.h, instead of hard-coded 256
-         as highest file descriptor to try
-
-subst.c
-       - in process_substitute, call move_to_high_fd with `maxfd' parameter
-         of -1 instead of 64, so move_to_high_fd will use its maximum
-
-                                  6/21
-                                  ----
-lib/malloc/malloc.c
-       - don't bother calling MALLOC_MEMSET if the requested size is 0
-
-builtins/setattr.def
-       - note in short doc that export and readonly can take assignment
-         statements as arguments
-
-error.c
-       - new function, error_prolog(), to capture common error message
-         prefix code (except for parser errors)
-
-                                  6/25
-                                  ----
-aclocal.m4
-       - add tests for standard-conforming declarations for putenv and
-         unsetenv in system header files
-
-{configure,config.h}.in
-       - call BASH_FUNC_STD_PUTENV and BASH_FUNC_STD_UNSETENV, define
-         HAVE_STD_GETENV and HAVE_STD_UNSETENV, respectively, if they
-         succeed
-
-lib/sh/getenv.c
-       - change putenv and unsetenv to take differing prototypes in
-         stdlib.h into account
-
-                                  6/27
-                                  ----
-[bash-2.05b-beta2 released]
-
-                                  6/28
-                                  ----
-builtins/common.c
-       - fix get_job_spec so that %N works when N is the size of the jobs
-         list (%8 means job 8, but the 7th member of the jobs array, so
-         it's OK if N == job_slots because the function returns N-1)
-
-                                   7/1
-                                   ---
-shell.c
-       - turn off line editing if $EMACS is set to `t'
-
-                                  7/10
-                                  ----
-builtins/set.def
-       - remove mention of `-i' from long help doc, since it has no effect
-
-                                  7/17
-                                  ----
-[bash-2.05b released]
-
-                                  7/18
-                                  ----
-
-lib/malloc/malloc.c
-       - make sure that the `free_return' label has a non-empty statement
-         to branch to
-
-                                  7/19
-                                  ----
-locale.c
-       -  only call setlocale() from set_lang() if HAVE_SETLOCALE is defined;
-          otherwise just return 0
-
-lib/readline/mbutil.c
-       - only try to memset `ps' in _rl_get_char_len if it's non-NULL.  Ditto
-         for _rl_adjust_point
-
-                                  7/23
-                                  ----
-execute_cmd.c
-       - fix for executing_line_number() when compiling without conditional
-         commands, dparen arithmetic or the arithmetic for command
-
-                                  
-                                  7/24
-                                  ----
-support/Makefile.in
-       - fix maintainer-clean, distclean, mostlyclean targets
-
-builtins/common.c
-       - fix bug in sh_nojobs where it doesn't pass the right number of args
-         to builtin_error
-
-bashline.c
-       - when using command completion and trying to avoid appending a slash
-         if there's a directory with the same name in the current directory,
-         use absolute_pathname() instead of just checking whether the first
-         char of the match is a slash to catch things like ./ and ../
-
-examples/complete/bashcc-1.0.1.tar.gz
-       - a package of completions for Clear Case, from Richard S. Smith
-         (http://www.rssnet.org/bashcc.html)
-
-input.c
-       - fix check_bash_input to call sync_buffered_stream if the passed fd
-         is 0 and the shell is currently reading input from fd 0 -- all it
-         should cost is maybe an additional read system call, and it fixes
-         the bug where an input redirection to a builtin inside a script
-         which is being read from stdin causes the already-read-and-buffered
-         part of the script to be thrown away, e.g.:
-
-               bash < x1
-
-         where x1 is
-
-               hostname
-               read Input < t.in
-               echo $Input
-               echo xxx
-
-execute_cmd.c
-       - in initialize_subshell(), call unset_bash_input (0) to not mess with
-         fd 0 if that's where bash thinks it's reading input from.  Fixes
-         bug reported by jg@cs.tu-berlin.de on 17 July 2002.  Should be a way
-         to check whether or not the current fd 0 at the time of the call has
-         not been redirected, like in the bug report.  Also might eventually
-         want to throw in a sync_buffered_stream if bash is reading input
-         from fd 0 in a non-interactive shell into a buffered stream, so the
-         stream is sync'd -- might be necessary for some uses
-
-                                  7/25
-                                  ----
-lib/readline/signals.c
-       - make sure rl_catch_sigwinch is declared even if SIGWINCH is not
-         defined, so the readline state saving and restoring functions in
-         readline.c are always the same size even if SIGWINCH is not defined,
-         and undefined references don't occur when SIGWINCH is not defined
-
-                                  7/30
-                                  ----
-bashline.c
-       - augment patch from 7/24 to not disable rl_filename_completion_desired
-         if the first char of the match is `~'
-
-lib/readline/bind.c
-       - when creating `shadow' keymaps `bound' to ANYOTHERKEY, don't bind
-         a key whose type is ISFUNC but whose function is the `fake'
-         rl_do_lowercase_version (fixes debian bash bug #154123)
-
-lib/readline/readline.c
-       - don't call _rl_vi_set_last from _rl_dispatch_subseq if
-         key == ANYOTHERKEY (when truncated to `sizeof(char)', it will be 0,
-         which strchr will find in `vi_textmod')
-
-                                  7/31
-                                  ----
-lib/readline/input.c
-       - fix rl_gather_tyi to only slurp up one line of available input, even
-         if more than one line is available (fixes debian bash bug #144585)
-
-                                   8/3
-                                   ---
-bashline.c
-       - better fix for command completion problem -- test for directory
-         explicitly with test_for_directory before turning off
-         rl_filename_completion_desired, since that's the case we're trying
-         to protect against
-
-                                   8/5
-                                   ---
-include/shmbutil.h
-       - fix ADVANCE_CHAR macro to advance the string pointer if mbrlen
-         returns 0, indicating that the null wide character (wide string
-         terminator) was found (debian bash bug #155436)
-
-lib/readline/mbutil.c
-       - fix _rl_adjust_point to increment the string pointer if mbrlen
-         returns 0
-
-support/shobj-conf
-       - fix for the `-install_name' value in SHLIB_XLDFLAGS assignment for
-         Darwin from the fink folks
-
-                                   8/6
-                                   ---
-builtins/exit.def
-       - broke code that runs ~/.bash_logout out into a separate function:
-         bash_logout()
-
-builtins/common.h
-       - extern declaration for bash_logout()
-
-eval.c
-       - call bash_logout() from alrm_catcher(), so timed-out login shells
-         run ~/.bash_logout before processing the exit trap
-
-lib/sh/strtrans.c
-       - implemented $'\x{hexdigits}' expansion from ksh93
-
-configure.in
-       - define RECYCLES_PIDS in LOCAL_CFLAGS for cygwin; don't bother to
-         link with -luser32
-
-examples/loadables/strftime.c
-       - new loadable builtin, interface to strftime(3)
-
-                                   8/7
-                                   ---
-parse.y
-       - parse_arith_cmd now takes a second argument, a flag saying whether
-         or not to add double quotes to a parsed arithmetic command; changed
-         callers
-       - changed parse_dparen so it tells parse_arith_cmd to not add the
-         double quotes and therefore doesn't need to remove them
-       - change parse_dparen to add W_NOGLOB|W_NOSPLIT|W_QUOTED flags to word
-         created when parsing (( ... )) arithmetic command, since the double
-         quotes are no longer added
-
-make_cmd.c
-       - in make_arith_for_expr, set the flags on the created word to
-         W_NOGLOB|W_NOSPLIT|W_QUOTED
-
-execute_cmd.c
-       - change execute_arith_command to expand the expression with
-         expand_words_no_vars, like the arithmetic for command code does
-       - fix execute_arith_command to handle the case where the expanded
-         expression results in a NULL word without crashing
-
-tests/{arith-for,cprint}.tests
-       - change expected output to account for no longer adding quotes to
-         ((...)) commands
-
-                                   8/8
-                                   ---
-print_cmd.c
-       - take out the space after printing the `((' and before printing the
-         `))' in print_arith_command, print_arith_for_command, and
-         xtrace_print_arith_cmd
-
-tests/{arith-for,cprint}.tests
-       - change expected output to account for no longer adding leading and
-         trailing spaces when printing ((...)) and arithmetic for commands
-
-                                  8/17
-                                  ----
-subst.c
-       - fix issep() define to handle case where separators[0] == '\0', in
-         which case it always returns false
-
-lib/readline/histexpand.c
-       - fix off-by-one error in history_expand_internal when using the `g'
-         modifier that causes it to skip every other match when matching a
-         single character (reported by gjyun90@resl.auto.inha.ac.kr)
-
-doc/{bash.1,bashref.texi}
-       - make sure that the name=word form of argument to declare/typeset,
-         export, and readonly is documented in the description
-
-                                  8/30
-                                  ----
-lib/readline/histexpand.c
-       - make history_expand_internal understand double quotes, because
-         single quotes are not special inside double quotes, according to
-         our shell-like quoting conventions.  We don't want unmatched
-         single quotes inside double-quoted strings inhibiting history
-         expansion
-       - make `a' modifier equivalent to `g' modifier for compatibility with
-         the BSD csh
-       - add a `G' modifier that performs a given substitution once per word
-         (tokenized as the shell would do it) like the BSD csh `g' modifier
-
-                                  8/31
-                                  ----
-braces.c
-       - when compiling for the shell, treat ${...} like \{...} instead of
-         trying to peek backward when we see a `{'.  This makes it easier
-         to handle things like \${, which should be brace expanded because
-         the $ is quoted
-
-                                   9/7
-                                   ---
-aclocal.m4
-       - redirect stdin from /dev/null in BASH_CHECK_DEV_FD before testing
-         the readability of /dev/fd/0, so we're dealing with a known quantity
-
-                                  9/11
-                                  ----
-[prayers for the victims of 9/11/01]
-
-shell.c
-       - fix maybe_make_restricted to handle a restricted login shell with a
-         base pathname of `-rbash' and skip over any leading `-'
-
-                                  9/13
-                                  ----
-builtins/evalstring.c
-       - in parse_and_execute, make sure we don't try to run unwind-protects
-         back to `pe_dispose' after a longjmp back to top_level if the
-         pe_dispose frame hasn't been initialized
-
-lib/readline/display.c
-       - fix problem with prompt overwriting previous output when the output
-         doesn't contain a newline in a multi-byte locale.  This also should
-         fix the problem of bash slowing down drastically on long lines when
-         using a multi-byte locale, because it no longer tries to rewrite the
-         entire line each time.  Patch from Jiro SEKIBA <jir@yamato.ibm.com>
-
-parse.y
-       - move the typedef for alias_t that is compiled in if ALIAS is not
-         defined up before the prototype for push_string, since that takes
-         an alias_t * parameter
-
-lib/readline/terminal.c
-       - bind the termcap description's left and right arrow keys to
-         rl_backward_char and rl_forward_char, respectively,  instead of
-         rl_forward and rl_backward (which are just there for backwards
-         compatibility)
-
-aclocal.m4
-       - when testing readability of /dev/stdin, redirect stdin from /dev/null
-         to make sure it's a readable file
-
-                                  9/17
-                                  ----
-config-bot.h
-       - don't test __STDC__ when deciding whether or not to use stdarg.h;
-         just use it if it's present
-
-tests/read2.sub
-       - redirect from /dev/tty when using `read -t' 
-
-                                  9/20
-                                  ----
-builtins/history.def
-       - when reading `new' entries from the history file with `history -n',
-         fix increment of history_lines_this_session by taking any change
-         in history_base into account
-
-lib/sh/pathphys.c
-       - changes to sh_physpath to deal with pathnames that end up being
-         longer than PATH_MAX without dumping core
-
-lib/readline/doc/{history.3,hsuser.texinfo},doc/ bash.1
-       - documented new `a' and `G' history modifiers
-
-                                  9/25
-                                  ----
-lib/readline/misc.c
-       - when traversing the history list with arrow keys in vi insertion
-         mode, put the cursor at the end of the line (like in emacs mode)
-
-mksyntax.c
-       - don't try to use \a and \v unless __STDC__ is defined; use the
-         ascii integer equivalents otherwise
-       - include "config.h" in the generated syntax.c file for a possible
-         definition of `const'
-
-doc/{bash.1,bashref.texi}
-       - document the meaning of a null directory in $PATH
-
-                                  9/26
-                                  ----
-parse.y
-       - fix set_line_mbstate to handle case where mbrlen() returns 0,
-         indicating the null wide character
-       - fix set_line_mbstate so we don't directly compare a char variable
-         to EOF, since char can (and is) unsigned on some machines
-
-bashline.c
-       - change bash_execute_unix_command to save a little bit more state:
-         last_shell_builtin, this_shell_builtin, last_command_exit_value
-
-                                  9/27
-                                  ----
-execute_cmd.c
-       - tentative change to execute_simple_command to avoid freeing freed
-         memory in the case where bash forks early but still ends up calling
-         execute_disk_command, without passing newly-allocated memory to
-         make_child.  This may fix the core dumps with the linux-from-scratch
-         folks
-
-                                  9/28
-                                  ----
-Makefile.in,{builtins,lib/sh}/Makefile.in      
-       - fix up dependencies, mostly on ${BUILD_DIR}/version.h, so that
-         parallel makes work with GNU and BSD makes
-
-shell.h
-       - new struct to save partial parsing state when doing things like
-         bash_execute_unix_command and other operations that execute
-         commands while a line is being entered and parsed
-
-parse.y
-       - new functions, save_parser_state() and restore_parser_state(), to
-         save and restore partial parsing state 
-
-bashline.c
-       - change bash_execute_unix_command to call {save,restore}_parser_state
-
-builtins/jobs.def
-       - change execute_list_with_replacements to eliminate a run_unwind_frame
-         in favor of calling the cleanup explicitly and discarding the frame
-
-execute_cmd.c
-       - change execute_for_command to avoid a run_unwind_frame in the case
-         where the loop variable is readonly or otherwise not assignable
-       - change execute_select_command and execute_simple_command to use
-         discard_unwind_frame by running the cleanup code explicitly, instead
-         of using run_unwind_frame
-       - make sure execute_select_command decreases loop_level even on error
-
-                                  9/30
-                                  ----
-doc/{bash.1,bashref.texi}
-       - fixed description of `unset' now that unsetting a previously-unset
-         variable is no longer an error
-
-                                  10/3
-                                  ----
-{configure,config.h}.in
-       - augment check for strtold with additional check to detect the
-         horribly broken hp/ux 11.x implementation that returns `long_double';
-         defines STRTOLD_BROKEN if so
-
-builtins/printf.def
-       - define floatmax_t as `double' if STRTOLD_BROKEN is defined
-
-                                  10/5
-                                  ----
-lib/readline/keymaps.c
-       - don't automatically bind uppercase keys to rl_do_lowercase_version
-         in rl_make_bare_keymap
-
-lib/readline/readline.c
-       - explicitly check for ANYOTHERKEY binding to rl_do_lowercase_version
-         and dispatch to lowercase of key when a prefix is not matched
-
-                                  10/12
-                                  -----
-bashline.c
-       - set COMP_WORDBREAKS in enable_hostname_completion to the value
-         of rl_completer_word_break_characters
-
-variables.c
-       - new special variable COMP_WORDBREAKS, controls the value of
-         rl_completer_word_break_characters
-
-variables.h
-       - new extern declaration for sv_comp_wordbreaks()
-
-subst.c
-       - change split_at_delims to behave more like shell word splitting if
-         the passed value for the delimiters is NULL, indicating that the
-         function is to use $IFS to split
-
-{execute_cmd,jobs,test,findcmd,input,make_cmd,redir,shell}.c
-builtins/mkbuiltins.c,builtins/{fc,history,source,umask}.def
-lib/sh/netconn.c
-lib/termcap/termcap.c
-lib/readline/histfile.c
-       - make sure all inclusions of <sys/file.h> are protected by
-         HAVE_SYS_FILE_H
-
-bashline.c
-       - don't turn off rl_filename_completion_desired in
-         attempt_shell_completion if the partial pathname contains a slash.
-         This still doesn't solve the problem of partial pathname completion
-         starting with a directory in the current directory without a
-         leading `./'.  There's no way to tell the difference between that
-         and a file found in $PATH (which may contain `.') at the point that
-         attempt_shell_completion acts
-
-                                  10/18
-                                  -----
-locale.c
-       - don't set lc_all to the default locale when LC_ALL is being unset
-       - new function, reset_locale_vars(), called to recompute the correct
-         locale variable values when LC_ALL is unset
-       - changed set_lang to not set LC_ALL, which it never should have been
-         doing in the first place, and to maintain a local variable `lang'
-         corresponding to $LANG
-       - change get_locale_var to use the precedence posix.2 specifies:
-         LC_ALL overrides individual variables; LANG, if set, is the default
-       - change set_locale_var to call get_locale_var to get the appropriate
-         value for the variable being set or unset
-       - call get_locale_var instead of using passed value in set_locale_var
-         to get the defaulting and precedence right
-
-lib/readline/nls.c
-       - new function, _rl_get_locale_var(), which does the same thing as
-         locale.c:get_locale_var(), with the right precedence and defaulting,
-         using sh_get_env_value to get the right bash variable values
-       - if HAVE_SETLOCALE is defined, _rl_init_eightbit first calls
-         _rl_get_locale_var to get the right value for LC_CTYPE, and uses
-         that in the call to setlocale.  If _rl_get_locale_var returns NULL,
-         call setlocale() to get the current international environment, and,
-         finally, if that returns null, call setlocale with a second argument
-         of "" to force the implementation's `native' environment
-
-pcomplete.c
-       - change gen_wordlist_completions to dequote the text before comparing
-         it against the expanded word list 
-       - changed gen_matches_from_itemlist to do the same thing
-
-bashline.c
-       - new global function, bash_dequote_word, calls bash_dequote_filename
-         on the text passed.  Used by the programmable completion code
-
-lib/readline/histfile.c
-       - make sure that whenever read_history_range returns a non-zero value
-         that it sets errno to some useful value
-
-                                  10/19
-                                  -----
-variables.c
-       - COMP_WORDBREAKS is now a dynamic variable, mirroring value of
-         rl_completer_word_break_characters.  Makes sure that the variable
-         always points to dynamic memory if it's not null or the readline
-         default
-
-bashline.c
-       - change enable_hostname_completion to manage a dynamic value of
-         rl_completer_word_break_characters, since assignments to
-         COMP_WORDBREAKS can change its value unpredictably
-
-lib/readline/{complete.c,readline.h}
-       - rl_completer_word_break_characters no longer has `const' attribute
-
-bashline.c
-       - clean up necessary places due to rl_completer_word_break_characters
-         no longer being `const'
-
-doc/{bash.1,bashref.texi}
-       - document new COMP_WORDBREAKS variable
-
-                                  10/21
-                                  -----
-print_cmd.c
-       - fix indirection_level_string to handle the case where the decoded
-         $PS4 is null without seg faulting
-
-                                  10/22
-                                  -----
-builtins/shift.def
-       - make sure that there is actually an argument when reporting a shift
-         count that exceeds the number of positional paramters and
-         shift_verbose is enabled
-
-lib/readline/rltty.c
-       - change SET_SPECIAL to call a new function, set_special_char, since
-         it contains a block.  It's called infrequently, so the performance
-         impact of making it a function should be negligible, and it helps
-         debugging
-
-                                  10/29
-                                  -----
-bashline.c
-       - make sure the editor in VI_EDIT_COMMAND and EMACS_EDIT_COMMAND is
-         quoted; it might contain spaces (e.g., `emacs -nw')
-
-aclocal.m4
-       - cache ac_cv_rl_version in RL_LIB_READLINE_VERSION macro
-
-configure.in
-       - change logic that sets RL_INCLUDEDIR so that it doesn't try to set
-         a bogus include path if the argument to --with-installed-readline
-         is `yes' -- helps with cross-compiling
-
-lib/readline/histexpand.c
-       - fix history_tokenize_word so that it handles <( and >( better
-
-                                  10/30
-                                  -----
-redir.c
-       - fix write_here_string so it handles the case where `herestr' expands
-         to NULL without seg faulting
-
-                                  10/31
-                                  -----
-mailcheck.c
-       - reverse logic flip from bash-2.05 that handled systems that don't
-         change the atime when the mailbox is accessed; make sure the file
-         is bigger before we report new mail.  This is the case in the vast
-         majority of cases.  Reported by jim@jtan.com
-
-                                  11/5
-                                  ----
-parse.y
-       - change action for `for x; { list; }' and corresponding `select'
-         production to use \"$@\" instead of just $@, as it is with all the
-         other actions
-
-                                  11/9
-                                  ----
-parse.y
-       - new flag for parse_matched_pair: P_DQUOTE, indicating that the
-         pair of characters being matched is between double quotes
-       - parse_matched_pair now passes P_DQUOTE down to recursive calls:
-         if the open char to be matched is a `"' or the passed-in flags
-         include P_DQUOTE, set the local `rflags' variable to P_DQUOTE and
-         pass `rflags' down to recursive calls
-       - if `rflags' includes P_DQUOTE, don't try to ansiexpand $'...' or
-         locale expand $"..."; consistent with other quoting constructs
-
-                                  11/11
-                                  -----
-doc/{bash.1,bashref.texi}
-       - explicitly note that variables referenced in arithmetic expressions
-         without using `$' evaluate to 0 if they are null or unset
-       - note that a null variable value evaluates to 0 when used in an
-         arithmetic context, like when a variable with the `-i' attribute is
-         assigned a null value
-       - document the ${!prefix@} expansion as equivalent to ${!prefix*}
-
-                                  11/12
-                                  -----
-doc/{bash.1,bashref.texi}
-       - note that the value of an arithmetic expression is as in C
-       - change the wording to note that `arithmetic evaluation' (not
-         arithmetic expansion, which has a different meaning) is performed
-         on the value assigned to a variable whose integer attribute is set
-
-                                  11/13
-                                  -----
-execute_cmd.c
-       - fix execute_disk_command so it calls exit() after printing the error
-         message in a restricted shell context if the shell has already forked
-         (nofork != 0 && there are no pipes)
-
-                                  11/19
-                                  -----
-builtins/type.def
-       - don't report on aliases unless expand_aliases is set and the parser
-         is performing alias expansion; changed tests/type.tests and
-         tests/type.right accordingly
-
-                                  11/25
-                                  -----
-general.c
-       - fix for full pathnames including drive letters on cygwin from
-         Corinna (convert to posix-style paths, which the rest of the
-         code handles much better)
-
-lib/readline/text.c
-       - fixes to overwrite mode from jimmy@is-vn.bg:
-               o in _rl_overwrite_char, do the overwrite mode self-insert
-                 as one group, even when overwriting more than 1 char
-               o in _rl_overwrite_char, do the insert before the delete so
-                 that an undo positions the cursor on the character restored,
-                 not to the right of it
-               o in _rl_overwrite_rubout, don't do rl_insert_char(' ') unless
-                 rl_point < rl_end.  Since overwrite-mode self-insert acts as
-                 in insert-mode when at eol, make rubout behave like
-                 insert-mode rubout
-
-                                  11/30
-                                  -----
-lib/readline/misc.c
-       - call rl_replace_line with `1' as second parameter if we're going to
-         immediately overwrite the undo list
-
-lib/readline/search.c
-       - in make_history_line_current, use _rl_replace_text to make the line
-         replacement an undoable operation.  Affects all non-incremental
-         search functions.
-
-parse.y
-       - make behavior introduced on 11/9 dependent on extended_quote
-         variable, controllable by extquote shopt option.  Default setting is
-         on for backwards compatibility
-
-builtins/shopt.def
-       - new `extquote' option to control extended_quote variable
-
-                                  12/3
-                                  ----
-jobs.c
-       - change message printed when attempting to put a background job in
-         the background with `bg' to include the job id and make the
-         statement declarative
-
-                                  12/10
-                                  -----
-bashhist.h
-       - define explicit flag values for history_control
-
-variables.c
-       - change sv_history_control to use new flag values
-       - change sv_history_control to parse $HISTCONTROL as a colon-separated
-         list of values for the history_control variable
-
-bashhist.c
-       - change check_history_control to use new flag values and restructure
-         to remove case statement
-       - new function hc_erasedups(line); removes all entries matching LINE
-         from the history list
-       - call hc_erasedups() from check_add_history after we've determined
-         that we're saving the line
-
-doc/{bash.1,bashref.texi}
-       - documented new options available for $HISTCONTROL and that it can
-         be a colon-separated list of history control options
-
-                                  12/11
-                                  -----
-subst.c
-       - fix pat_subst() to not increment `e' (pointer to the end of the
-         matched portion of the string) until after we're sure we're going
-         around the loop again; fixes problem with empty replacements for
-         a pattern that doesn't match (bug reported by Don Coleman
-         <don@coleman.org>)
-
-                                  12/17
-                                  -----
-lib/readline/display.c
-       - fixes to multibyte redisplay from jir@yamato.ibm.com (Jiro SEKIBA):
-               o speed up calculation of first difference between old and new
-                 lines in the common case
-               o don't try to see if we're in the middle of a multbyte char
-                 in update_line (we'll see how this one works out)
-
-                                  12/18
-                                  -----
-doc/bashref.texi
-       - make it clear that the `command-list' function definition may be
-         terminated by an ampersand before the closing brace
-
-                                  12/28
-                                  -----
-redir.c
-       - set `expanding_redir' flag when expanding words in a redirection
-
-subst.c
-       - new function, exp_jump_to_top_level(), to do any word expansion
-         cleanup before a call to jump_to_top_level from within that file;
-         sets expanding_redir back to 0 before jump_to_top_level
-
-variables.c
-       - in find_variable(), don't call find_variable_internal with a second
-         parameter of 1 if expanding_redir is non-zero
-       - in find_variable_internal(), don't search the temporary env if
-         subshell_environment includes SUBSHELL_FORK (indicating a simple
-         command) and expanding_redir is non-zero
-
-parse.y
-       - increment line_number when we read a \<newline> pair
-
-array.c
-       - added array_unshift_element and array_shift_element (which just call
-         array_shift and array_rshift, respectively), for bash debugger
-         support
-
-                                1/4/2003
-                                --------
-doc/{bash.1,bashref.texi}
-       - note in the section describing the execution environment passed to
-         children that subshells inherit shell functions marked for export
-       - note in the section describing shell functions the possibility
-         that exported functions may result in two entries in the environment
-         with the same name
-
-parse.y
-       - when pushing an alias expansion onto the pushed_string list, append
-         a space to the expanded definition to make the parser's lookahead
-         work without using the `mustpop' hack in shell_getc
-
-                                   1/8
-                                   ---
-shell.c
-       - change calls to exit() with EX_USAGE as a parameter to use
-         EX_BADUSAGE instead, since EX_USAGE is defined as 258 and is
-         technically out of range
-
-                                  1/14
-                                  ----
-aclocal.m4
-       - check for the termcap functions in libc first:  if we don't have
-         to link in another library, let's not do it
-       - change the test for mbstate_t to use AC_TRY_COMPILE instead of
-         AC_TRY_RUN
-
-doc/{bash.1,bashref.texi}
-       - document that bash turns line editing off if environment variable
-         EMACS is set to `t' when it starts up
-
-doc/bash.1
-       - minor change to give the ftp url for the latest version of bash in
-         the bug reports section
-
-lib/readline/histexpand.c
-       - in get_history_event, cast a couple of `const char *' variables to
-         `char *' in function call parameter lists to avoid compiler warnings
-
-                                  1/21
-                                  ----
-builtins/cd.def
-       - change `cd -' so it prints the current working directory after a
-          successful chdir even when the shell is not interactive
-
-                                  1/31
-                                  ----
-lib/readline/doc/rltech.texinfo
-       - clarified exactly what is meant by the term `application-specific
-         completion function', made its use consistent, and documented
-         what variables are changed before such a function is called
-
-lib/readline/input.c
-       - new function, _rl_pushed_input_available(), returns non-zero if
-         there are characters in the input queue managed by rl_get_char
-         and _rl_unget_char
-
-lib/readline/rlprivate.h
-       - new extern declaration for _rl_pushed_input_available
-
-lib/readline/callback.c
-       - change rl_callback_read_char to check _rl_pushed_input_available
-         and loop if there's something there, so characters don't languish
-         until more keyboard input is read
-
-execute_cmd.c
-       - new variable, last_command_exit_signal, non-zero if
-         last_command_exit_value result from wait_for was result of a signal
-
-nojobs.c
-       - keep track of whether or not a given pid was killed by a signal with
-         a new flag in the pid_list array
-       - new function int find_termsig_by_pid(pid_t pid) to get the
-         terminating signal, if any, for a particular pid
-       - new function int get_termsig(WAIT status) returns the terminating
-         signal corresponding to status
-       - set last_command_exit_signal in wait_for and the various wait_for_xx
-         functions
-
-jobs.c
-       - new functions, process_exit_signal and job_exit_signal, return the
-         signal that killed a given process or job, if a signal caused its
-         death
-       - set last_command_exit_signal in wait_for by calling job_exit_signal
-         or process_exit_signal appropriately
-
-subst.c
-       - don't resend SIGINT to ourselves unless last_command_exit_signal is
-         SIGINT and last_command_exit_value == 128 + SIGINT.  This fixes the
-         $(exit 130) bug reported by Paul Jarc
-
-expr.c
-       - new function, expr_bind_variable, calls bind_int_variable and
-         then stupidly_hack_special_variables.  This fixes the
-         `let OPTIND=1' bug
-
-bashline.c
-       - change history_and_alias_expand_line and shell_expand_line to call
-         history_expand_line_internal so calls to pre_process_line are
-         localized
-       - change history_expand_line_internal and cleanup_expansion_error to
-         temporarily turn off hist_verify before calling pre_process_line
-         to avoid the effects described by teirllm@dms.auburn.edu
-
-parse.y
-       - don't unconditionally turn off PST_ALEXPNEXT in push_string.  This
-         fixes the multiple alias expansion bug reported by Paul Jarc.
-
-lib/readline/vi_mode.c
-       - change rl_vi_subst to push `l' instead of ` ' -- it should be
-         equivalent, but this has been reported to fix a problem in multibyte
-         locales
-
-lib/readline/readline.h
-       - new state flag value RL_STATE_TTYCSAVED, indicates that save_tty_chars
-         has been called.  Since it's only used and visible internally, it's
-         undocumented
-
-lib/readline/rltty.h
-       - changed all of the members of _rl_tty_chars struct to `unsigned char'
-
-lib/readline/rltty.c
-       - set the RL_STATE_TTYCSAVED after save_tty_chars is called
-       - new function, rl_tty_unset_default_bindings(), resets bindings for
-         everything rl_tty_set_default_bindings() messes with back to
-         rl_insert, so rl_tty_set_default_bindings can be called again with
-         possible changes
-       - new function that does the bulk of the work for
-         rltty_set_default_bindings:  _rl_bind_tty_special_chars()
-       - change prepare_terminal_settings so that it can track changes to the
-         terminal special chars made by stty(1):  unset the bindings with
-         rl_tty_unset_default_bindings before calling save_tty_chars, and
-         _rl_tty_set_default_bindings after, with the new values from
-         get_tty_settings().  This implements a long-standing request, most
-         recently made by Tim Waugh of Red Hat.
-
-lib/readline/readline.h
-       - extern declaration for rl_tty_unset_default_bindings()
-
-lib/readline/readline.c
-       - new function, reset_default_bindings, calls
-         rl_tty_unset_default_bindings() to reset the terminal special chars
-         back to rl_insert and then read the new ones
-
-lib/readline/doc/rltech.texinfo
-       - documented rl_tty_unset_default_bindings()
-
-                                   2/1
-                                   ---
-[prayers and condolences to the families of the space shuttle crew members]
-
-aclocal.m4
-       - add checks for mbrtowc and mbrlen in BASH_CHECK_MULTIBYTE
-       - new check, BASH_FUNC_CTYPE_NONASCII, checks whether or not the ctype
-         functions handle non-ascii characters correctly
-
-config.h.in
-       - add HAVE_MBRTOWC and HAVE_MBRLEN
-       - add NO_MULTIBYTE_SUPPORT for new configure argument
-       - add CTYPE_NON_ASCII
-
-config-bot.h, lib/readline/rlmbutil.h
-       - make sure that mbrtowc, mbrlen, and wcwidth are all present before
-         turning on HANDLE_MULTIBYTE
-       - turn off multibyte chars if NO_MULTIBYTE_SUPPORT is defined
-
-configure.in
-       - new argument --enable-multibyte (enabled by default), allows
-         multibyte support to be turned off even on systems that support it
-
-lib/readline/chardefs.h
-       - define NON_NEGATIVE as 1 if CTYPE_NON_ASCII is defined
-
-                                   2/3
-                                   ---
-config.h.in
-       - add HAVE_WCTOMB
-
-aclocal.m4
-       - check for wctomb in BASH_CHECK_MULTIBYTE
-
-                                   2/4
-                                   ---
-lib/readline/vi_mode.c
-       - in _rl_vi_change_mbchar_case, make sure the result from wctomb()
-         is NULL-terminated before trying to insert it with rl_insert_text()
-
-                                   2/5
-                                   ---
-lib/readline/display.c
-       - fix to update_line to avoid problems on systems with multibyte
-         characters when moving between history lines when the new line
-         has more glyphs but fewer bytes (twaugh@redhat.com)
-
-lib/readline/vi_mode.c
-       - use wcrtomb() instead of wctomb() in _rl_vi_change_mbchar_case
-
-pcomplete.c
-       - fix init_itemlist_from_varlist to handle the case where the
-         `varlist' is NULL
-
-doc/{bash.1,bashref.texi}
-       - clarified when a simple command may fail without the shell exiting
-         when -e is set
-
-                                  2/13
-                                  ----
-parse.y
-       - when bash is started with --nolineediting, ignore \[ and \] when
-         decoding the prompt string
-
-subst.c
-       - fix remove_quoted_nulls so that a string with a CTLESC appearing
-         after a CTLNUL (which was removed) does not leave characters in
-         the string inappropriately
-
-                                  2/14
-                                  ----
-builtins/common.h
-       - new flag value for parse_and_execute(): SEVAL_RESETLINE, which
-         allows the caller to specify whether or not the internal idea
-         of the line number should be reset to 1
-
-builtins/evalstring.c
-       - parse_and_execute() now tells push_string to reset the line
-         number only if the SEVAL_RESETLINE flag is set by the caller
-
-                                  2/15
-                                  ----
-builtins/evalfile.c
-       - pass SEVAL_RESETLINE from _evalfile() to parse_and_execute()
-
-subst.c
-       - if the shell is currently interactive, pass SEVAL_RESETLINE to
-         parse_and_execute() when doing command substitution
-
-jobs.c
-       - add SEVAL_RESETLINE to parse_and_execute while running SIGCHLD trap
-
-command.h
-       - add `line' members to case_com, for_com, select_com
-       - rearranged order of members in some of the command structs, so
-         `flags' and `line' are first
-       - added a `source_file' member to the function_def struct; keeps
-         track of where the function was defined
-
-doc/Makefile.in
-       - add some new suffix rules:  .dvi.ps
-
-doc/{bash.1,bashref.texi}
-       - added text to the description of the `trap' builtin tightening up
-         the language describing when the ERR trap will be run
-
-error.c
-       - if $BASH_SOURCE (internally-maintained) exists, use BASH_SOURCE[0]
-         in get_name_for_error if the shell is not interactive
-
-array.h
-       - new convenience defines: array_push and array_pop
-
-variables.c
-       - change get_funcname to return this_shell_function->name only if
-         arrays have not been compiled into the shell
-       - change init_funcname_var to initialize FUNCNAME as an array variable
-         if we have arrays
-       - new function: get_self(SHELL_VAR *self), a degenerate `dynamic_value'
-         function for dynamic variables
-       - new function: init_dynamic_array_var(), a generic dynamic array
-         variable initializer to handle the common case
-       - use init_dynamic_array_var() instead of explicit init_dirstack_var()
-       - use init_dynamic_array_var() instead of explicit init_groups_var()
-       - new dynamic array variables:  BASH_ARGC, BASH_ARGV, BASH_SOURCE,
-         BASH_LINENO, initialized with init_dynamic_array_var
-
-shell.c
-       - initialize BASH_LINENO, BASH_SOURCE, FUNCNAME in open_shell_script
-
-{execute_cmd,trap}.c
-       - take out trap_line_number, since parse_and_execute doesn't reset the
-         line number any more when running the trap commands
-
-make_cmd.c
-       - augment make_function_def to get source file name and call
-         bind_function_def to save the entire FUNCTION_DEF
-
-variables.c
-       - new hash table: shell_function_defs, keeps table of shell function
-         definitions including source file and line number info corresponding
-         to shell_functions table
-       - new functions: find_function_def and bind_function_def to manage
-         the shell_function_defs hash table
-       - new function: unbind_function_def to remove a function definition
-         from the shell_function_defs table (right now uncalled)
-
-variables.h
-       - extern declaration for bind_function_def, find_function_def
-       - new extern declaration for unbind_function_def
-
-execute_cmd.c
-       - in function prologue and epilogue, push and pop FUNCNAME,
-         BASH_SOURCE, and BASH_LINENO information
-
-dispose_cmd.c
-       - broke the code that disposes a FUNCTION_DEF out into two new
-         functions: dispose_function_def and dispose_function_def_contents
-
-dispose_cmd.h
-       - new extern declarations for dispose_function_def_contents and 
-         dispose_function_def
-
-copy_cmd.c
-       - move body of copy_function_def (other than allocating a new
-         FUNCTION_DEF) to copy_function_def_contents
-       - make sure to copy the new source_file member of a function_def in
-         copy_function_def_contents
-       - copy_function_def is no longer static, copy_function_def_contents
-         is not either
-
-command.h
-       - new extern declaration for copy_function_def_contents and
-         copy_function_def
-
-parse.y
-       - keep a stack of line numbers where case, select, and for commands
-         start, with a maximum nesting level of 128; increment when reading
-         word after `for', `select' or `case' in read_token_word; decrement
-         in grammar actions after parsing a complete for, arith_for, select,
-         or case command
-       - create for, case, arith_for, and select commands with an extra
-         line number (word_lineno[word_top]) argument
-
-make_cmd.c
-       - make_for_or_select, make_for_command, make_case_command, and
-         make_select_command all take an extra `line_number' argument
-
-make_cmd.h
-       - corresponding changes to extern declarations for those functions
-
-                                  2/16
-                                  ----
-{execute_cmd,shell,variables}.c
-       - follow each call to remember_args with a call to push_args or
-         pop_args to manage the BASH_ARGV and BASH_ARGC arrays.  Only set
-         when the shell is started to run shell script or runs a shell
-         function.  Doesn't handle `set' or `shift' yet, nor `source'.
-
-execute_cmd.c
-       - keep track of the level of subshells with a new variable, manipulated
-         in execute_in_subshell
-       - set currently_executing_command in execute_command_internal(),
-         even if we're running a trap
-       - better line number management when executing simple commands,
-         conditional commands, for commands in execute_command_internal()
-         and the various functions that implement the commands
-         (execute_cond_command, execute_for_command, execute_etc.)
-
-variables.c
-       - new dynamic variable BASH_SUBSHELL, with new get_subshell and
-         assign_subshell functions to manipulate it
-       - new functions push_args (WORD_LIST *list) and pop_args (void) to
-         manage the BASH_ARGC and BASH_ARGV dynamic array variables
-
-variables.h
-       - new extern declarations for push_args and pop_args
-
-builtins/evalfile.c
-       - in _evalfile, do appropriate things to the FUNCNAME, BASH_ARGV,
-         BASH_ARGC, BASH_SOURCE, and BASH_LINENO variables
-
-support/mksignames.c
-       - add another fake signal for `trap'; make NSIG+2 == `RETURN'
-
-trap.c
-       - _run_trap_internal now returns an int:  the exit value of the command
-         run as the result of the trap
-       - run_debug_trap now returns an int: the exit value of the command
-         run as the result of the trap
-       - RETURN is a new special trap
-       - new function: set_return_trap(char *command) interface for the rest
-         of the shell, like set_{debug,error}_trap
-       - new function: run_return_trap()
-       - command substitution and other child processes don't inherit the
-         return trap
-
-trap.h
-       - new extern declaration for set_return_trap() and run_return_trap
-       - new defines for RETURN_TRAP; increment BASH_NSIG
-       - change extern declaration for run_debug_trap() since it now returns
-         an int
-
-shell.c
-       - new invocation long option:  --debugger, turns on debugging and
-         sets internal `debugging_mode' variable
-
-execute_cmd.c
-       - new code to save return trap when executing a shell function, so
-         shell functions don't inherit it
-       - run debug trap before binding the variable and running the action
-         list in a `for' command
-       - run debug trap before binding the selection variable and running
-         the query in a `select' command
-       - run debug trap before running matcher in a `case' command
-
-builtins/set.def
-       - new `set -o functrace' (set -T), causes DEBUG trap to be inherited
-         by shell functions
-       - new `set -o errtrace' (set -E), causes ERR trap to be inherited
-         by shell functions
-
-flags.c
-       - new flags -E and -T, control error_trace_mode and
-         function_trace_mode respectively
-
-flags.h
-       - new extern declarations for error_trace_mode and function_trace_mode
-
-                                  2/17
-                                  ----
-doc/bashref.texi
-       - changed the `dircategory' as per Karl Berry's suggestion
-
-doc/texinfo.tex
-       - update to version of 2003/02/04 from texinfo.org
-
-support/texi2dvi
-       - update to version 1.14 from texinfo-4.5 distribution
-
-                                  2/20
-                                  ----
-support/config.{guess,sub}
-       - update to versions of 2002/11/30
-
-lib/readline/doc/manvers.texinfo
-       - renamed to version.texi to match other GNU software
-       - UPDATE-MONTH variable is now `UPDATED-MONTH'
-
-lib/readline/doc/{hist,rlman,rluserman}.texinfo
-       - include version.texi
-
-doc/version.texi
-       - new file, with standard stuff matching other GNU distributions
-
-{doc,lib/readline/doc}/Makefile.in
-       - include right stuff for `version.texi'
-
-lib/readline/doc/{rluserman,rlman,hist}.texinfo
-       - use @copying and @insertcopying and @ifnottex instead of @ifinfo
-       - add FDL as an appendix entitled `Copying This Manual'
-
-lib/readline/doc/{rltech,rluser,hstech,hsuser}.texi
-       - changed the suffix from `texinfo' to `texi'
-
-lib/readline/doc/{rlman,rluserman}.texinfo, doc/bashref.texi
-       - include rltech.texi,rluser.texi,hstech.texi, and hsuser.texi
-
-lib/readline/doc/Makefile.in,doc/Makefile.in
-       - made appropriate changes for {{rl,hs}tech,{rl,hs}user}.texi
-
-lib/readline/doc/{rlman,rluserman}.texinfo
-       - changed the suffix from `texinfo' to `texi'
-
-lib/readline/doc/hist.texinfo
-       - renamed to history.texi
-
-                                  2/25
-                                  ----
-pathnames.h.in
-       - moved pathnames.h here so value of DEBUGGER_START_FILE can be
-         substituted by configure
-
-aclocal.m4
-       - added AM_PATH_LISPDIR for debugger
-
-configure.in
-       - added some variables: `bashvers', `relstatus' to use info in more
-         than one place
-       - call AM_PATH_LISPDIR
-       - new option:  --enable-debugger, sets DEBUGGER cpp option
-       - new option with AC_ARG_VAR:  DEBUGGER_START_FILE
-       - make `pathnames.h' a file generated by configure
-
-Makefile.in
-       - add rule to create pathnames.h
-
-builtins/declare.def
-       - added extra line number and source file name to `declare -F' output
-         if `--debugger' is used at startup
-
-builtins/evalfile.c
-       - call run_return_trap from source_file before returning the result
-         from _evalfile()
-
-execute_cmd.c
-       - call run_return_trap in execute_function before restoring the old
-         context
-
-builtins/source.def
-       - arrange to save and restore DEBUG traps when sourcing files if
-         function_trace_mode (set -o functrace) is not set
-
-print_cmd.c
-       - broke print_for_command, print_select_command, print_case_command
-         into two functions each:  one to print the `header' and one for
-         the body
-       - print_cond_command is no longer static
-       - print_arith_command now takes a WORD_LIST *, since it doesn't
-         actually do anything with the ARITH_COM it's passed except print
-         the enclosed WORD_LIST
-       - print_arith_command is no longer static
-
-externs.h
-       - extern declarations for print_{for,select,case}_command_head,
-         print_cond_command, print_arith_command
-
-{.,builtins,lib/sh}/Makefile.in
-       - corrected dependencies on pathnames.h, since it's now created in
-         the build directory
-
-                                   3/5
-                                   ---
-lib/glob/glob.c
-       - handle alloca() failing (it's supposed to return NULL)
-       - use malloc() (with its attendent bookkeeping) instead of alloca()
-         in glob_filename()
-
-subst.c
-       - check whether shell_glob_filename returns NULL in
-         glob_expand_word_list
-       - change parameter_brace_expand_rhs to handle cases like
-         ${a[2]:=value} by properly creating the array element instead of a
-         variable named `a[2]' (reported by <opengeometry@yahoo.ca>)
-
-variables.c
-       - change bind_int_variable to use valid_array_reference instead
-         of looking for `[' 
-
-lib/readline/vi_mode.c
-       - check for `a' in _rl_vi_done_inserting so the text inserted by an
-         `a' command can be reinserted with a `.'
-
-lib/readline/readline.c
-       - when entering vi insertion mode in readline_internal_setup(), make
-         sure that _rl_vi_last_key_before_insert is set to `i' so that undo
-         groups and redo work better (reported by <opengeometry@yahoo.ca>)
-
-lib/glob/sm_loop.c
-       - handle ?(...) in a pattern immediately following a `*', instead of
-         ignoring the `(' and treating the `?' as a single-char match, as
-         long as FNM_EXTFLAG is set (reported by <anderson110@poptop.llnl.gov>)
-
-aclocal.m4
-       - new test for presence of struct timezone, BASH_STRUCT_TIMEZONE
-
-config.h.in
-       - add HAVE_STRUCT_TIMEZONE
-
-configure.in
-       - call BASH_STRUCT_TIMEZONE
-
-execute_cmd.c
-       - don't try to use `struct timezone' in calls to gettimeofday unless
-         HAVE_STRUCT_TIMEZONE is defined; use (void *)NULL otherwise
-
-                                  3/20
-                                  ----
-execute_cmd.c
-       - new variable, the_printed_command_except_trap, saves the command
-         being executed before a trap is executed, for the debugger
-
-trap.c
-       - if in debugging mode, let command substitutions and other child
-         processes inherit the DEBUG and ERR traps if the `functrace'
-         (which is really a bad name, given this semantic) or `errtrace'
-         options, respectively, have been set
-
-shell.c
-       - local_pending_command renamed to command_execution_string; no longer
-         static
-
-variables.c
-       - new dynamic variable, BASH_COMMAND, set to the command string
-         currently executing, or the one that caused a trap to execute
-         (mapped to the_printed_command_except_trap)
-       - new variable, BASH_EXECUTION_STRING, set to the argument to the
-         -c invocation option, if the shell was started that way
-
-                                  3/22
-                                  ----
-execute_cmd.c
-       - changed execute_for_command, eval_arith_for_expr,
-         execute_select_command, execute_arith_command, execute_cond_command,
-         execute_simple_command to implement new DEBUG trap semantics
-         for the debugger: if the DEBUG trap commands return a non-zero
-         status and debugging_mode is non-zero, we skip the command to be
-         executed
-
-trap.c
-       - change run_debug_trap for the debugger: if we're in the debugger
-         and the DEBUG trap returns 2 while we're in a function or sourced
-         script, we force a `return'
-
-shell.c
-       - new function, start_debugger(), that sources the debugger start file
-         and turns the debugger on
-
-builtins/shopt.def
-       - new settable option, `extdebug', turns on debugging_mode, as if
-         --debugger had been supplied at invocation (but does not source
-         debugger startup file)
-
-trap.c
-       - make sure that run_exit_trap arranges for `returns' to come back
-         there, too, so a `return' executed by an `exit' invoked within a
-         shell function behaves correctly
-
-support/shobj-conf
-       - change darwin/MacOS X stanza based on advice from mac os x developers
-
-lib/sh/mailstat.c
-       - set the atime member of the synthesized stat struct to 0 if `cur/'
-         is empty, rather than leaving it undefined
-
-                                  3/24
-                                  ----
-builtins/caller.def
-       - new builtin to provide a call stack for the debugger
-
-builtins/evalfile.c
-       - added a second `flags' argument to source_file()
-       - new flag value for flags argument to _evalfile():  FEVAL_NOPUSHARGS.
-         If included in flags arg, it means to not manipulate the BASH_ARGV
-         and BASH_ARGC arrays
-
-builtins/common.h
-       - change prototype for source_file()
-
-builtins/source.def
-       - add flag value to call to source_file():  set to 1 if we replaced
-         the positional parameters
-       - add call to push_args if additional arguments supplied to the
-         source builtin
-       - add call to pop_args in maybe_pop_dollar_vars
-
-execute_cmd.c
-       - run the debug trap in execute_function so the debugger can stop
-         before the first command in a function body is executed
-       - modify subshell_level before executing a builtin or function in a
-         subshell
-       - print `for', `select', `case' command heads when set -x is enabled
-
-print_cmd.c
-       - `xtrace_print_word_list' now takes an additional flags argument,
-         which, if non-zero, says to print indirection_level_string()
-       - new functions to print for, select, and case command heads when
-         set -x is enabled
-       - add spaces after `((' and before `))' in xtrace_print_arith_command
-
-externs.h
-       - changed extern declaration for xtrace_print_word_list
-       - new declarations for xtrace_print_{for,case,select}_command_head()
-
-subst.c
-       - modify subshell_level when executing a command substitution
-
-                                  3/25
-                                  ----
-execute_cmd.c
-       - use `line_number' in executing_line_number instead of looking into
-         the current command if it's a simple command; rearrange code to
-         make this simpler to compile in and out
-       - need to save and restore value of currently_executing_command around
-         calls to debug trap and return trap in execute_function
-
-make_cmd.c
-       - make sure make_arith_for_command() disposes the WORD_LIST * it is
-         passed, since nothing else does and it's not used directly
-
-                                  3/28
-                                  ----
-Makefile.in    
-       - fixed dependencies for `error.o' on shell.h and version.h -- makes
-         parallel makes (gmake -j 4) work correctly
-
-doc/{bash.1,bashref.texi}
-       - documented all new features added to support the debugger
-
-                                   4/1
-                                   ---
-lib/sh/shquote.c
-       - make sure CTLESC and CTLNUL characters are escaped with CTLESC
-         by sh_double_quote, sh_backslash_quote and
-         sh_backslash_quote_for_double_quotes
-         Fixes vulnerability reported by svdb@stack.nl
-
-shell.h
-       - new `pipestatus' member of sh_parser_state_t, to save and restore
-         $PIPESTATUS
-
-parse.y
-       - changes to save_parser_state and restore_parser_state to save and
-         restore $PIPESTATUS
-
-builtins/read.def
-       - add a call to word_list_remove_quoted_nulls before assigning the
-         word list read from standard input to an array variable.  Fixes
-         bug reported by holzhey@ppprs1.phy.tu-dresden.de
-
-                                   4/3
-                                   ---
-execute_cmd.c
-       - in execute_null_command, if redirections are supplied, make sure
-         things like 3</etc/passwd are undone immediately, since they're
-         being done in the current shell
-       - functions now inherit the RETURN trap only if function tracing is
-         on for that function or globally
-
-lib/readline/misc.c
-       - in rl_replace_from_history, don't force rl_replace_line to clear
-         the undo_list, since it might point directly at an undo list
-         from a history entry (to which we have no handle)
-
-                                   4/4
-                                   ---
-trap.c
-       - initialize RETURN_TRAP stuff appropriately in initialize_traps()
-       - let command substitutions inherit the RETURN trap if we're in
-         the debugger and function tracing has been enabled
-
-redir.c
-       - do_redirections and do_redirection_internal now take a single
-         flags argument instead of multiple boolean flags
-
-redir.h
-       - new #defines for flags argument to do_redirection{s,_internal}
-
-execute_cmd.c
-       - change all calls to do_redirection to use new flag values
-
-parse.y
-       - new function, free_pushed_string_input(), an external interface to
-         clear the pushed_string list (alias expansion)
-       - new define SHOULD_PROMPT to say when it's OK to call prompt_again
-         (if the shell is currently interactive and is reading input from
-         the terminal or readline)
-       - make sure shell_getc and read_secondary_line only call prompt_again
-         if SHOULD_PROMPT evaluates to true
-       - prompt_again shouldn't do anything if the shell is currently in the
-         middle of expanding a multiline alias, since we won't be printing a
-         prompt anyway
-
-externs.h
-       - new extern declaration for free_pushed_string_input()
-
-execute_cmd.c
-       - command_substitute and process_substitute now call
-         free_pushed_string_input because they shouldn't deal with any
-         partial alias expansion the parent shell may have started
-
-                                   4/5
-                                   ---
-braces.c
-       - added {x..y} brace expansion, shorthand for {x,x+1,x+2,...,y}:
-         x, y can be integers or single characters; the sequence can be
-         ascending or descending; increment is always 1.  Beware that
-         something like {a..A} can lead to non-letters.
-
-                                   4/7
-                                   ---
-subst.c
-       - change extract_delimited_string and extract_dollar_brace_string to
-         return NULL on an expansion error when no_longjmp_on_fatal_error
-         is set, so the calling functions don't assume that the expansion
-         was successful (primarily the prompt expansion and completion code)
-
-doc/{bash.1,bashref.texi}
-       - documented new sequence generation feature of brace expansion
-
-                                   4/8
-                                   ---
-lib/sh/strstr.c
-       - replacement for strstr(3), in case the C library doesn't provide it
-
-configure.in
-       - check for strstr, add to LIBOBJS if not found
-
-array.c
-       - array_walk now takes a third void * argument; it's passed to `func'
-         as its second argument
-
-array.h
-       - change sh_ae_map_func_t prototype to add void * second argument
-
-                                  4/10
-                                  ----
-array.c
-       - new function: array_keys_to_word_list, returns a list of indices for
-         a given array
-
-array.h
-       - new extern declaration for array_keys_to_word_list
-
-arrayfunc.c
-3      - new function: char *array_keys(), returns a string with keys for a
-         given array, with the appropriate quoting
-
-arrayfunc.h
-       - new extern declaration for array_keys
-
-subst.c
-       - code to implement ksh93-like ${!array[@]} expansion (array[*] works,
-         too), which expands to all the keys (indices) of ARRAY
-
-doc/{bash.1,bashref.texi}
-       - documented new ${!array[@]} expansion
-
-                                  4/19
-                                  ----
-builtins/setattr.def
-       - remove any mention of the `-n' option from readonly builtin's short
-         and long documentation
-
-pcomplib.c
-       - fix progcomp_insert to increase the refcount on the `cs' argument
-         before calling hash_insert -- fixes the problem of multiple calls
-         to progcomp_insert with the same compspec
-
-doc/bash.1
-       - add mention of characters that inhibit history expansion when found
-         immediately following an unquoted `!'
-
-bashline.c
-       - convert the code conditionally compiled in by the NO_FORCE_FIGNORE
-         #define to something runtime-tunable with the `force_fignore'
-         variable (opposite sense).  force_fignore is 1 by default
-
-builtins/shopt.def
-       - new tunable `shopt' option: `force_fignore', controls force_fignore
-         variable and behavior of FIGNORE handling
-
-lib/readline/complete.c
-       - new variable, _rl_complete_show_unmodified, causes completer to list
-         possible completions if more than one completion and partial
-         completion cannot be done
-       - new value for what_to_do argument to rl_complete_internal, `@',
-         indicating that we want the show-unmodified behavior
-       - change rl_completion_type to return `@' when appropriate
-
-lib/readline/bind.c
-       - new bindable variable, show-all-if-unmodified, which controls value
-         of _rl_complete_show_unmodified
-
-lib/readline/rlprivate.h
-       - extern declaration for _rl_complete_show_unmodified
-
-lib/readline/doc/rluser.texi
-       - documented show-all-if-unmodified
-
-lib/readline/doc/rltech.texi
-       - documented new `@' value for second argument to rl_complete_internal
-       - documented new return value from rl_completion_type
-
-                                  4/22
-                                  ----
-lib/readline/signals.c
-       - in rl_set_signal, set sa_flags to SA_RESTART for SIGWINCH, if we
-         have POSIX signals -- this is what most applications expect, and
-         they're not prepared to deal with EINTR
-
-                                  4/25
-                                  ----
-bashline.c
-       - take out attempts to suppress readline filename completion when
-         attempting command completion and there is a directory with the
-         same name in the current directory.  #if 0'd for now; maybe make
-         it conditional later
-
-error.c
-       - new variable, gnu_error_format, causes non-interactive errors with
-         line numbers to be printed in the `gnu style' (filename:lineno:)
-         instead of the `shell style' (filename: line lineno:) by
-         error_prolog and parser_error
-
-version.h,support/mkversion
-       - don't put extern function declarations into created version.h any
-         more
-
-version.c,externs.h
-       - add extern declarations for show_shell_version() and
-         shell_version_string(), since they're no longer in version.h
-         (this backs out change from 9/10/2001)
-
-shell.h
-       - don't include version.h
-
-Makefile.in
-       - remove unneeded dependencies on version.h -- only version.o
-         needs it now
-
-builtins/shopt.def
-       - new option `gnu_errfmt', changes error messages with line numbers
-         to use the `standard' gnu format
-
-pcomplete.h
-       - new COPT_BASHDEFAULT and COPT_PLUSDIRS defines
-
-bashline.c
-       - if the COPT_BASHDEFAULT flag is set, try the rest of the bash
-         default completions if a compspec with that flag set generates
-         no matches
-       - broke bash completions out into separate function:
-         bash_default_completion(const char *text, int start, int end,
-         int qc, int in_command_position); change attempt_shell_completion
-         to call it
-
-bashline.h
-       - new extern declaration for bash_default_completion
-
-builtins/complete.def
-       - added code to compgen to call bash_default_completion if a compspec
-         with the COPT_BASHDEFAULT flag set generates no matches from the
-         programmable completion options
-
-doc/{bash.1,bashref.texi}
-       - document new `gnu_errfmt' shopt option
-
-doc/bash.1,lib/readline/doc/rluser.texi
-       - document new `-o bashdefault' option to complete and compgen
-
-                                  4/26
-                                  ----
-pcomplete.c
-       - if a compspec has the COPT_PLUSDIRS flag set, generate any
-         directory name completions and add them to the set of possible
-         completions as the last thing in gen_compspec_completions
-
-builtins/complete.def
-       - add new `-o plusdirs' option to complete and compgen; means to
-         do directory name completion in addition to other actions
-         specified by the compspec, and do it last
-
-                                  5/12
-                                  ----
-copy_cmd.c
-       - fix copy_{for,select,case}_command to copy the line member
-
-                                  5/13
-                                  ----
-lib/readline/rlmbutil.h,include/shmbutil.h
-       - new #define MB_INVALIDCH, evaluates to true if return value from
-         mbrtowc or mbrlen denotes an invalid multibyte character
-       - new #define MB_NULLWCH, evaluates to true if return value from
-         mbrtowc or mbrlen denotes a null multibyte character
-
-lib/readline/complete.c
-       - new function, fnwidth(), returns printed length of a filename,
-         correctly handling multibyte characters
-       - new function, fnprint(), displays a filename on rl_outstream
-         correctly handling multibyte characters
-       - use fnwidth() instead of simple strlen() for length calculations
-         in display_matches
-
-lib/readline/{display,mbutil}.c
-       - use MB_INVALIDCH and MB_NULLWCH as appropriate
-
-                                  5/21
-                                  ----
-configure.in
-       - turn off the builtin malloc on GNU/FreeBSD systems (GNU userland,
-         FreeBSD kernel)
-
-                                  5/24
-                                  ----
-pcomplete.c
-       - in programmable_completions, copy the compspec before using it to
-         generate the possible completions, allowing the completion for the
-         command to be changed by the compspec itself without causing a
-         core dump because the shell frees freed memory (reported by
-         marcus.harnish@gmx.net)
-
-parse.y
-       - in shell_getc, don't call notify_and_cleanup in an interactive shell
-         unless the shell is currently reading from the terminal and would
-         print a prompt.  This fixes programmable completions printing job
-         notifications (reported by r.d.green@lancaster.ac.uk)
-       - use SHOULD_PROMPT macro consistently
-
-shell.c
-       - use get_string_value instead of getenv when looking up $TERM and
-         $EMACS to see whether the shell is running under emacs
-       - check for `TERM=dumb' as well as `EMACS=t' to decide whether or
-         not to turn off command-line editing in emacs shell windows
-         (reported by jik@kamens.brookline.ma.us)
-
-                                  5/28
-                                  ----
-expr.c
-       - save and restore the `evalbuf' context, since evalexp can be
-         called recursively (e.g. a[b[c]])
-
-                                  5/29
-                                  ----
-builtins/common.c
-       - in display_signal_list, when displaying for `kill -l' in posix mode,
-         display signal names without the `SIG' prefix
-
-doc/bashref.texi
-       - documented changed to posix mode behavior of kill -l
-
-builtins/kill.def
-       - changed the error message printed when argument is not a pid or
-         job id
-
-doc/{bash.1,bashref.texi}
-       - fixed a slight inconsistency in the different sections describing
-         the `promptvars' option
-
-doc/Makefile.in
-       - new rule to create `bash.info' from `bashref.info' by running sed
-         to change the internal references.  This makes the installed
-         bash.info work right
-       - make the install target install bash.info after it's been modified
-         from bashref.info
-
-                                  5/30
-                                  ----
-builtins/cd.def
-       - after testing with ferror(), call clearerr if ferror() evaluates
-         to true
-
-execute_cmd.c
-       - call clearerr(stdout) after executing a builtin or function,
-         before restoring any redirections
-
-bashhist.c
-       - initialize history_comment_char in bash_history_initialize
-
-builtins/alias.def
-       - if posix mode is enabled, and the `-p' option is not supplied, don't
-         list aliases with a preceding `alias ', as POSIX.2 specifies
-
-doc/bashref.texi
-       - note new posix mode behavior of displaying alias names and values
-       - note new posix mode behavior of trap builtin not checking first
-         argument to be a possible signal specification
-       - note new posix mode behavior of `kill' not accepting signal names
-         with a leading `SIG'
-
-include/stdc.h,lib/readline/rlstdc.h
-       - don't check the __STRICT_ANSI__ define when deciding whether or not
-         to #undef __attribute__
-
-trap.[ch]
-       - decode_signal and signal_object_p take an additional flags arg to
-         satisfy POSIX.2 signal name translation requirements
-       - change decode_signal to honor the new DSIG_NOCASE (match case-
-         insensitively) and DSIG_SIGPREFIX (allow signal specifications
-         with the `SIG' prefix) flags
-
-builtins/{common.c,{trap,kill}.def}
-       - change calls to decode_signal to add the new argument with
-         appropriate values.  For kill, POSIX.2 says case-insensitive without
-         the `SIG' prefix.  For trap, POSIX.2 says applications may decode
-         case-insensitively and with the SIG prefix
-
-builtins/trap.def
-       - when in posix mode, don't check for the first argument being a
-         possible signal spec and revert the signal handling to the
-         original disposition
-
-                                   6/1
-                                   ---
-shell.h
-       - new MATCH_STARSUB define, to tell the callers of the various pattern
-         substitution and removal functions that call string_list to treat
-         "$*" and "${array[*]}" appropriately
-subst.c
-       - if get_var_and_type encounters an array variable subscripted by `*'
-         or `$*', return VT_STARSUB or'd into the variable type value
-       - callers of get_var_and_type check for VT_STARSUB in the returned type
-         this will fix problems with ${*...} not being separated with the
-         first character of $IFS when double-quoted
-       - in parameter_brace_patsub, set MATCH_STARSUB if VT_STARSUB is set by
-         get_var_and_type
-       - change pos_params_pat_subst to call string_list_dollar_star if
-         the match flags include MATCH_STARSUB
-       - change parameter_brace_substring to call array_subrange with an
-         additional argument indicating the character indexing the array
-
-array.c
-       - change array_patsub to join the modified array elements with the
-         first character of $IFS if MATCH_STARSUB is set in the match flags
-         passed in
-       - array_subrange now takes an additional argument indicating the
-         index type -- used to separate with first char of $IFS if the
-         index char is `*' and the expression is double-quoted
-
-array.h
-       - change prototype declaration of array_subrange to add additional arg
-
-                                   6/2
-                                   ---
-doc/FAQ
-       - merged in some updates about POSIX from Andrew Josey
-
-                                   6/3
-                                   ---
-bashjmp.h
-       - new value for jump_to_top_level:  ERREXIT
-
-{eval,shell,subst,trap}.c,builtins/evalstring.c
-       - ERREXIT is (for now) equivalent to EXITPROG as a value from
-         jump_to_top_level
-
-                                   6/9
-                                   ---
-doc/bash.1,lib/readline/doc/readline.3
-       - documented new `show-all-if-unmodified' readline variable
-
-                                  6/14
-                                  ----
-lib/readline/history.c
-       - new function, histdata_t free_history_entry (HIST_ENTRY *h),
-         frees H and its line, returning the application-specific data
-       - use free_history_entry where appropriate
-
-lib/readline/history.h
-       - extern declaration for free_history_entry()
-
-lib/readline/doc/{history.3,hstech.texi}
-       - document free_history_entry
-
-                                  6/16
-                                  ----
-lib/readline/readline.[ch]
-       - changed varions defines for readline/history library versions to 5.0
-
-subst.c
-       - pass information about whether or not an indirectly-expanded variable
-         contains ${array[@]}, ${array[*]}, $@, or $*
-       - new function, chk_atstar, performs checks for ${array[@]},
-         ${array[*]}, $@, or $* for the parameter_brace_expand* functions and
-         sets flags (passed as args) to the results
-       - call chk_atstar from parameter_brace_expand_indir and
-         parameter_brace_expand
-
-                                  6/28
-                                  ----
-doc/{bash.1,bashref.texi}
-       - clarified that (...) commands are executed in a subshell environment
-
-                                  6/30
-                                  ----
-lib/readline/bind.c
-       - fix a problem with parsing nested if statements in inputrc files
-         (fix from dimakar@yahoo.com)
-
-                                   7/3
-                                   ---
-{jobs,nojobs}.c
-       - fix places that use the return value from strsignal() to check
-         for NULL return values using a new function, j_strsignal()
-
-builtins/kill.def
-       - removed JOB_CONTROL restriction; kill is now available as a builtin
-         when the shell is built without job control
-
-                                  7/10
-                                  ----
-jobs.c
-       - some systems have WIFCONTINUED but not WCONTINUED; separate the
-         #defines
-
-                                  7/14
-                                  ----
-lib/readline/history.h
-       - new `timestamp' member of a HIST_ENTRY
-       - extern declarations for add_history_time and history_get_time
-
-lib/readline/doc/{history.3,hstech.texi}
-       - document add_history_time and history_get_time
-
-lib/readline/history.c
-       - implementations of history_get_time and add_history_time
-       - change add_history to initialize the timestamp information
-       - change free_history_entry to free the timestamp
-       - change replace_history_entry to duplicate the timestamp
-       - change history_total_bytes to add the memory taken by the time
-         stamps
-
-bashhist.c,builtins/history.def
-       - use free_history_entry where appropriate
-
-lib/readline/histfile.c
-       - changes to read_history_range to deal with new history file format
-         including timestamps
-       - changes to history_do_write to write out the timestamp information
-       - changes to history_truncate_file to understand the timestamp
-         information
-
-                                  7/22
-                                  ----
-doc/{bash.1,bashref.texi}
-       - fixed function declaration documentation to specify that any compound
-         command may be used as the function body, not just a group command
-
-                                  7/23
-                                  ----
-lib/readline/histfile.c
-       - don't allocate space for null timestamps in history_do_write, and
-         don't write out null timestamp entries
-
-parse.y
-       - fix CHECK_FOR_RESERVED_WORD to call time_command_acceptable() and
-         return TIME if the token is "time" and `time' is legal in that
-         context
-
-                                  7/29
-                                  ----
-lib/sh/fmtulong.c
-       - include <inttypes.h> for possible definitions of intmax_t, uintmax_t
-         (reported by ro@techfak.uni-bielefeld.de)
-
-                                  7/30
-                                  ----
-parse.y
-       - remove checking for `time' reserved word from special_case_tokens();
-         use regular mechanism in CHECK_FOR_RESERVED_WORD.  This allows `time'
-         to be aliased.  (Reported by Glenn Morris
-         <gmorris+gmane@ast.cam.ac.uk>)
-
-                                  7/31
-                                  ----
-lib/readline/history.h
-       - extern declaration for history_write_timestamps
-
-lib/readline/histfile.c
-       - don't write timestamps to the history file in history_do_write
-         unless history_write_timestamps is set to non-zero by the application
-         (set to 0 by default)
-
-lib/readline/doc/{hstech.texi,history.3}
-       - document history_write_timestamps
-
-variables.[ch]
-       - new special variable function, HISTTIMEFORMAT; special function
-         sets history_write_timestamps to 1 if HISTTIMEFORMAT is set
-
-                                   8/4
-                                   ---
-builtins/history.def
-       - added support for printing time stamps based on the value of the
-         HISTTIMEFORMAT variable when displaying history entries
-
-doc/{bash.1,bashref.texi}
-       - added description of new HISTTIMEFORMAT variable
-
-                                   8/5
-                                   ---
-config-top.h
-       - remove /usr/ucb from any default paths
-
-mailcheck.c
-       - make_default_mailpath now returns NULL if DEFAULT_MAIL_DIRECTORY
-         is not defined
-       - remember_mail_dates now returns if make_default_mailpath returns
-         NULL
-
-config-bot.h
-       - reorganized the sections; provide an explicit placeholder for
-         builders to #undef any feature defines they don't want that
-         configure creates for them, like the default mail path
-
-                                   8/9
-                                   ---
-config.h.in
-       - add HAVE_REGEX_H, HAVE_REGCOMP, HAVE_REGEXEC for detection of POSIX.2
-         regular expression functions
-       - add COND_REGEXP define to enable and disable the =~ operator for
-         matching extended regular expressions in [[...]] commands
-
-configure.in
-       - new option, --enable-cond-regexp, enables =~ and code to perform
-         regular expression matching in [[...]]
-
-config-bot.h
-       - undef COND_REGEXP if the OS doesn't provide posix regexp support
-
-doc/bashref.texi
-       - documnent new --enable-cond-regexp option to configure
-
-                                  8/18
-                                  ----
-support/shobj-conf
-       - support for shared objects on FreeBSD-gnu (from Robert Millan)
-
-                                  8/25
-                                  ----
-lib/sh/shmatch.c
-       - new file, shell interface to posix extended regular expression
-         matching
-
-externs.h
-       - new extern declarations for functions in shmatch.c
-
-execute_cmd.c
-       - incorporate code into execute_cond_node that does extended regular
-         expression matching for the =~ operator
-
-parse.y
-       - add `=~' to the list of binary operators accepted by the conditional
-         command parser
-
-doc/{bash.1,bashref.texi}
-       - documented =~ conditional binary operator and the BASH_REMATCH
-         variable
-
-                                  8/27
-                                  ----
-lib/readline/display.c
-       - take multibyte characters into account when looking for quoted
-         substrings on which to do completion (fix from jir@yamato.ibm.com)
-
-lib/readline/util.c
-       - fix typo in _rl_strpbrk
-
-lib/readline/rldefs.h
-       - use function version of _rl_strpbrk in multibyte locales, because
-         it understands to skip over special characters in multibyte
-         character sequences
-
-                                  8/28
-                                  ----
-jobs.c
-       - in wait_for, check for window size changes if a job that exits due
-         to a signal or is stopped was in the foreground, not just if it's
-         the current job
-
-                                  9/10
-                                  ----
-support/config.{guess,sub}
-       - add support to recognize FreeBSD running on the amd64
-
-subst.c
-       - if the new `fail_glob_expansion' variable is non-zero, globbing that
-         fails to match anything causes an expansion error
-
-builtins/shopt.def
-       - new `failglob' expansion:  if enabled, failed globs cause an error
-
-test/shopt.right
-       - take `failglob' into account
-
-doc/{bash.1,bashref.texi}
-       - documented new `failglob' option and its effects
-
-                                  9/12
-                                  ----
-findcmd.c
-       - fix file_status to treat the mode bits and uid right -- in particular,
-         don't assume the `other' bits always apply.  Bug reported by
-         <moseley@hank.org>; fix inspired by <carlo@alinoe.com>
-
-command.h
-       - new word flag: W_NOCOMSUB, meaning to not perform command
-         substitution on a word
-
-subst.c
-       - new flag for param_expand: PF_NOCOMSUB.  If non-zero, $(...)
-         command substitutions are not expanded, but returned unchanged
-       - change expand_word_internal to pass through `` command substitutions
-         unchanged if (word->flags & W_NOCOMSUB) != 0
-       - change expand_word_internal to pass PF_NOCOMSUB to param_expand
-         if (word->flags & W_NOCOMSUB) != 0
-
-builtins/shopt.def
-       - rename set_interactive_comments to set_shellopts_after_change, which
-         more accurately reflects its purpose
-
-syntax.h
-       - add a define for isblank() in case the system doesn't provide one
-
-jobs.c
-       - change raw_job_exit_status to understand `pipefail', using the new
-         `pipefail_opt' variable
-
-flags.[ch]
-       - declare pipefail_opt
-       - reset pipefail_opt to 0 in reset_shell_flags
-
-builtins/set.def
-       - add `set -o pipefail' and document it in help output
-
-doc/{bash.1,bashref.texi}
-       - document `set -o pipefail' and the effect of the pipefail option
-
-mksyntax.c,syntax.h
-       - sh_syntaxtab is no longer `const'
-       - new generated variable, sh_syntabsiz, set to number of entries in
-         sh_syntaxtab, written to generated syntax.c
-
-locale.c
-       - new function, locale_setblanks(), sets each member of the current
-         locale's <blank> class to have the CSHBRK flag in sh_syntaxtab
-
-                                  9/17
-                                  ----
-arrayfunc.c
-       - change convert_var_to_array to not set array[0] to a NULL value
-         (if the scalar variable had no value; e.g., after being created
-         with `local arrayvar')
-
-lib/readline/display.c
-       - save and restore the value of prompt_invis_chars_first_line in
-         rl_{save,restore}_prompt, and reinitialize it to 0 before printing
-         something in the message area
-
-lib/readline/bind.c
-       - new functions: rl_bind_keyseq_if_unbound_in_map(ks, func, kmap);
-         binds key sequence KS to function FUNC in keymap KMAP, and
-         rl_bind_keyseq_if_unbound (ks, func); binds key sequence KS to
-         function FUNC in the current keymap
-
-lib/readline/readline.h
-       - extern function declarations for rl_bind_keyseq_if_unbound_in_map and
-         rl_bind_keyseq_if_unbound
-
-lib/readline/{readline,terminal}.c
-       - _rl_bind_if_unbound -> rl_bind_keyseq_if_unbound
-
-lib/readline/{bind.c,rlprivate.h}
-       - remove _rl_bind_if_unbound
-
-                                  9/18
-                                  ----
-lib/readline/doc/rltech.texi
-       - document rl_bind_keyseq_if_unbound and
-         rl_bind_keyseq_if_unbound_in_map
-
-                                  9/19
-                                  ----
-lib/readline/bind.c
-       - new functions rl_bind_key_if_unbound_in_map and
-         rl_bind_key_if_unbound; analogous to (and implemented in terms of)
-         keyseq functions
-       - rl_bind_keyseq_in_map: a new function, equivalent to rl_set_key
-         (which remains for backwards compatibility); changed callers to
-         use it
-       - new function, rl_bind_keyseq, equivalent to rl_bind_keyseq_in_map
-         with a third argument of _rl_keymap
-
-lib/readline/readline.h
-       - extern declarations for rl_bind_key_if_unbound_in_map and
-         rl_bind_key_if_unbound
-       - extern declarations for rl_bind_keyseq_in_map and rl_bind_keyseq
-
-lib/readline/doc/rltech.texi
-       - document rl_bind_keyseq and rl_bind_keyseq_in_map
-
-configure.in
-       - require at least readline-5.0
-
-config-bot.h
-       - define SYS_SIGLIST_DECLARED if it's not defined, but
-         HAVE_DECL_SYS_SIGLIST is, to deal with differences between
-         autoconf versions
-
-bashline.c
-       - use rl_bind_key_if_unbound_in_map when binding bash keybindings in
-         initialize_readline(), so inputrc files can override them
-
-                                  9/22
-                                  ----
-lib/readline/histsearch.c
-       - do better bounds checking for history_offset and history_length in
-         history_search_internal
-
-builtins/history.def
-       - in delete_last_history(), make sure we don't leave the history
-         offset longer than the history length after calling delete_histent
-
-                                  9/23
-                                  ----
-jobs.c
-       - small change to notify_of_job_status so job status messages get
-         printed even if the shell was started to run `-c command'.  The
-         old behavior was intentional, but I cannot remember why, so we'll
-         try it the other way for a while (debian bash bug #211693)
-
-                                  9/24
-                                  ----
-jobs.c
-       - slightly modify change from 9/23 so that jobs started to run
-         command substitutions don't print job status messages
-
-                                  9/25
-                                  ----
-lib/readline/search.c
-       - when reading a non-incremental search string from the terminal,
-         use a separate undo list rather than chaining it to the undo list
-         from the rest of the line, since the whole undo list will get
-         freed when the search string is complete
-
-lib/readline/readline.h
-       - changed the defines guarding the stdarg prototype for rl_message to
-         match what's actually used in display.c, where it's defined
-
-                                  9/26
-                                  ----
-[bash-3.0-alpha released]
-
-                                  9/29
-                                  ----
-lib/sh/shmatch.c
-       - fix to build correctly when arrays are not compiled into the shell
-
-subst.c
-       - fix command substitution to run any exit trap defined in the
-         command substitution before returning; the exit trap is not inherited
-         from the calling shell
-
-lib/readline/shell.c
-       - change sh_set_lines_and_columns to free the memory allocated and
-         passed to setenv(), since setenv is specified by POSIX to allocate
-         new memory and copy its arguments
-
-jobs.c
-       - change logic in make_child so that every child process attempts to
-         set the terminal's process group to the pipeline's process group
-         when PGRP_PIPE is defined, just like when it's undefined.  This is
-         reported to fix some tricky synchronization problems on Red Hat
-         Enterprise Linux 3.  Fix from Ernie Petrides <petrides@redhat.com>.
-
-                                  9/30
-                                  ----
-builtins/printf.def
-       - tescape no longer needs a `trans_squote' argument, since it's the
-         same as the `sawc' argument.  The `sawc' argument now means to do
-         the %b argument processing if non-null
-       - fix processing of octal constants for %b arguments (\0 followed by
-         up to three octal digits) and other escape sequences (\ followed by
-         up to three octal digits)
-       - hex constants `\xHHH' are now allowed to contain any positive
-         number of digits; previously they were restricted to two [removed]
-       - allow two new escape sequences: \" and \?, for compatibility with
-         ksh93 and ANSI C
-
-doc/{bash.1,bashref.texi}
-       - documented processing that printf performs for arguments to %b
-         escape sequences
-
-lib/sh/strtrans.c
-       - add \" and \? to escape sequences recognized by `echo -e'
-
-                                  10/1
-                                  ----
-version.c
-       - use snprintf instead of sprintf if configure tells us we have it
-
-                                  10/3
-                                  ----
-subst.c
-       - in list_remove_pattern, take into account the fact that one of the
-         list elements may be NULL, and don't free the result of
-         remove_pattern() without checking
-       - in remove_pattern, return savestring(param) if *param == '\0',
-         since callers expect to free() non-null return values
-
-                                  10/4
-                                  ----
-subst.c
-       - change verify_substring_values to make it clearer that the first
-         offset deals with array indices and the second deals with numbers
-         of elements, when doing array subranges with ${a[@]:e1:e2}
-
-array.c
-       - change array_subrange to make it explicit that the second offset
-         argument is a count of the desired number of elements, not an
-         ending index.  This deals with sparse arrays correctly.
-
-                                  10/6
-                                  ----
-variables.c
-       - fix memory leak in assign_in_env
-
-                                  10/8
-                                  ----
-subst.c
-       - in parameter_brace_expand, check that the last characters are `]}'
-         before checking for ${!array[@]}
-
-execute_cmd.c,builtins/source.def
-       - push and pop the args (BASH_ARGV and BASH_ARGC) when executing a
-         shell function or sourcing a script only when in debugging mode
-
-                                  10/11
-                                  -----
-arrayfunc.c
-       - make sure array_variable_name returns values for the SUBP and LENP
-         arguments if they're non-null, since callers expect to use them
-         even if the array subscript is bad
-
-error.c
-       - call exit_shell instead of sh_exit from parser_error and
-         report_error so the right things happen (running exit trap, doing
-         the right interactive cleanup, etc.)
-
-lib/readline/complete.c
-       - new variable, rl_completion_quote_character, set to any quote char
-         readline thinks it finds before any application completion
-         function is called
-       - new variable, rl_completion_suppress_quote, settable by an
-         application-specific completion function.  If set to non-zero, the
-         completion code does not append a closing quote in append_to_match
-
-lib/readline/readline.h
-       - extern declarations for rl_completion_quote_character and
-         rl_completion_suppress_quote
-
-bashline.c
-       - set rl_completion_suppress_quote in command_subst_completion_function
-         because that would be inserted before any closing "`" or ")", which
-         is somewhat disconcerting
-
-lib/readline/doc/rltech.texi
-       - documented rl_completion_suppress_quote and
-         rl_completion_quote_character
-
-                                  10/13
-                                  -----
-bashhist.c
-       - use sv_histchars instead of setting history_comment_char directly in
-         bash_initialize_history so assignments to $histchars made in
-         ~/.bashrc are honored
-
-                                  10/21
-                                  -----
-trap.c
-       - make sure run_exit_trap sets `running_trap' appropriately
-       - new variable, trap_saved_exit_value, set to last_command_exit_value
-         before running any trap commands; available to the rest of the
-         shell; use trap_saved_exit_value to replace some function-local
-         variables
-
-builtins/exit.def
-       - if the shell is running the exit trap, and no argument is given
-         to `exit', use trap_saved_exit_value as the exit status instead
-         of the last command exit value (which could be the previous command
-         run in the exit trap), as required by POSIX.2
-
-                                  10/25
-                                  -----
-doc/{bash.1,bashref.texi}
-       - add `alias' to the list of documented `assignment statement' builtins
-
-                                  11/1
-                                  ----
-doc/bash.1
-       - remove the `.' from the sample $PATH value
-
-parse.y
-       - make sure parse_compound_assignment prompts with $PS2 if it reads
-         a newline while parsing the compound assignment statement. Bug
-         reported by Stephane Chazelas
-       - parse_string_to_word_list now takes a new second argument: `int flags'
-       - new parser state flag: PST_COMPASSIGN; indicates that the shell is
-         parsing a compound assignment statement
-       - parse_string_to_word_list turns on PST_COMPASSIGN if `flags' arg
-         has low bit set
-       - turn PST_COMPASSIGN on and off in parse_compound_assignment
-
-externs.h
-       - change prototype declaration for parse_string_to_word_list
-
-arrayfunc.c
-       - change call to parse_string_to_word_list to add new flags arg
-
-general.c
-       - assignment() takes a new `flags' second argument
-       - if `flags' is non-zero, accept `[' as a legal assignment statement
-         starter character (for parsing compound array assignments)
-
-general.h
-       - add new argument to prototype declaration for assignment()
-
-parse.y,{subst,variables}.c, builtins/{setattr,declare}.def
-       - change calls to assignment() (parse.y calls with flags == 1 when
-         parser_state inlcudes PST_COMPASSIGN)
-
-arrayfunc.c
-       - in assign_array_var_from_string(), don't treat an expanded word
-         of the form [ind]=value specially unless the W_ASSIGNMENT flag is
-         set.  This means that words that are the result of expansions but
-         happen to have the same format as compound assignment statement
-         words will not be treated as such.  For instance
-
-               v='[12]=foobar'
-               a=( $v )
-
-         will result in a[0]='[12]=foobar' instead of a[12]=foobar.  This
-         is closer to how `regular' assignment statements are treated and
-         compatible with ksh93.  Bug reported by Stephane Chazelas
-
-shell.c
-       - new --protected argument, disables command substitution when used
-         with --wordexp (like --wordexp, it remains undocumented)
-       - change run_wordexp to turn on the W_NOCOMSUB flag in each word
-         to be expanded if protected_mode is set
-
-                                  11/7
-                                  ----
-doc/{bash.1,bashref.texi}
-       - clarified the language concerning inherited signal dispositions and
-         when traps are run
-
-support/shobj-conf
-       - slight changes to the darwin (Mac OS X) stanza for MacOS X 10.3
-         (for the readline shared library builds, which shares this script)
-
-lib/readline/histexpand.c
-       - change to make `^' behave as equivalent to word one, as csh does,
-         and as the documentation states
-
-lib/readline/display.c
-       - in update_line, make sure to use col_lendiff in all calculations
-         where the cursor position is concerned (like when calculating
-         the value of _rl_last_c_pos).  Fixes bug reported by Andreas
-         Schwab
-
-                                  11/12
-                                  -----
-trap.c
-       - make _run_trap_internal catch `return' builtin longjmps and clean
-         up before longjmping on to where the return was intended to go
-         (fixes bug with not turning off SIG_INPROGRESS flag when `return'
-         executed in trap command)
-
-                                  11/18
-                                  -----
-builtins/cd.def
-       - in posix mode, set errno to ENOTDIR if canonicalization fails,
-         unless the canonicalization functions leave it set to ENOENT
-
-                                  11/25
-                                  -----
-make_cmd.c
-       - in make_simple_command, don't blindly dereference element.redirect
-
-parse.y
-       - the list_terminator production now has an `int' value so it can be
-         used in other grammar productions
-       - add a rule that makes `time' on a line by itself time a null
-         command (this is iffy)
-
-                                  11/28
-                                  -----
-subst.c
-       - change the pattern substitution code (${var//pat/rep}) to use the
-         same pattern expansion function (getpattern()) as the pattern
-         removal expansions.  This has the effect of no longer performing
-         quote removal on the pattern before trying to match it.  This
-         fixes an incompatibility with ksh93 reported on comp.unix.shell
-
-nojobs.c
-       - add replacement function for siginterrupt on the off chance that a
-         system has posix signals but lacks siginterrrupt
-
-lib/readline/display.c
-       - fix from Tim Waugh at Red Hat to speed up inserting characters into
-         long lines in a UTF-8 environment by optimizing the calculation of
-         the first difference between old and new lines by checking to see
-         whether the old line is a subset of the new
-
-                                  11/29
-                                  -----
-lib/malloc/stats.c
-       - break code that opens file (and interprets %p) into separate function
-         _imalloc_fopen(char *s, char *fn, char *def, char *defbuf, size_t defsiz)
-         for use by rest of library
-       - default stats file is now `stats.PID'
-
-lib/malloc/trace.c
-       - new function, malloc_set_tracefn (char *s, char *fn), sets tracing
-         to the file named by FN (with %p interpolated as the pid), using
-         some default if FN is NULL
-
-lib/malloc/shmalloc.h
-       - new extern declaration for malloc_set_tracefn
-
-                                  12/4
-                                  ----
-execute_cmd.c
-       - combined several common strings from do_piping() into one
-         dup_error() function
-
-builtins/common.[ch]
-       - new function, `sh_notbuiltin(s)' prints error message about s not
-         being a shell builtin
-
-builtins/{builtin,enable}.def
-       - call sh_notbuiltin instead of using literal string
-
-{arrayfunc,expr,error}.c
-       - use one string variable for `bad array subscript' error message; use
-         in calls to various error reporting functions
-
-Makefile.in
-       - add variables for localedir and the PACKAGE_* variables, auto-set
-         by configure
-
-configure.in
-       - un-cache values for gettext, textdomain, and bindtextdomain if they're
-         not in libc but in libintl so the right variables get set
-
-bashintl.h
-       - add necessary defines for marking strings to be translated using
-         gettext
-
-locale.c
-       - set textdomain and directory in set_default_locale
-       - don't call textdomain with the value of $TEXTDOMAIN, since we don't
-         want to override the default domain ("bash")
-       - don't call bindtextdomain unless default_domain already has a value
-       - when translating $"..." strings, use dgettext with the script's
-         default domain (value of $TEXTDOMAIN)
-
-                                  12/9
-                                  ----
-builtins/mkbuiltins.c
-       - include "bashintl.h" in the generated "builtins.c"
-
-support/{config.rpath,mkinstalldirs}
-       - new files to support gettext i18n
-
-ABOUT-NLS
-       - new readme file for gettext internationalization
-
-po/{Makefile.in.in,Rules-quot,boldquot.sed,en@boldquot.header,en@quot.header,insert-header.sin,quot.sed,remove-potcdate.sin}
-po/{POTFILES.in,bash.pot}
-       - new files for gettext
-
-lib/intl
-       - new directory, with libintl stuff from gettext
-
-aclocal.m4
-       - add m4 files from gettext distribution needed by libintl
-
-configure.in
-       - create po/Makefile.in and lib/intl/Makefile in AC_OUTPUT
-       - add call to AM_GNU_GETTEXT to initialize gettext stuff
-
-Makefile.in
-       - use mkinstalldirs instead of mkdirs in the `installdirs' target
-       - changes for intl/ and po/ subdirectories in build and install
-       - changes to have libintl linked in, as determined by configure
-       - changes to have libintl built, just in case it's used (though I'd
-         rather not)
-
-                                  12/10
-                                  -----
-config.h.in
-       - additional #defines required by the libintl library
-       - add ENABLE_NLS define for AM_GNU_GETTEXT
-       - take out defines for HAVE_{BINDTEXTDOMAIN,GETTEXT,TEXTDOMAIN}
-
-configure.in
-       - removed old tests for libintl and gettext/textdomain/bindtextdomain
-
-locale.c
-       - remove HAVE_GETTEXT code; we have gettext unconditionally now
-
-bashintl.h
-       - change to include "gettext.h" and remove the conditional code based
-         on whether or not gettext is present
-
-                                  12/16
-                                  -----
-lib/readline/vi_mode.c
-       - fix problem with rl_vi_eWord that caused it to skip over the last
-         character of a word if invoked while point was on the next-to-last
-         character
-
-                                  12/18
-                                  -----
-{arrayfunc,bashhist,bashline,error,eval,execute_cmd,expr,general,input,jobs}.c
-{mailcheck,make_cmd,nojobs,pcomplete,pcomplib,print_cmd,redir,shell,sig}.c
-{subst,test,trap,variables,version,xmalloc}.c
-parse.y
-builtins/{common,evalfile,getopt}.c
-builtins/{bind,break,caller,cd,complete,declare,enable,exec,exit,fc,fg_bg}.def
-builtins/{hash,help,history,jobs,kill,printf,pushd,read,return,set,setattr}.def
-builtins/{shift,shopt,source,suspend,type,ulimit,umask}.def
-lib/sh/{fmtulong,netopen}.c
-       - include "bashintl.h" for gettext defines
-
-Makefile.in
-       - add `-DBUILDTOOL' to CFLAGS for buildversion.o
-
-bashintl.h
-       - if `BUILDTOOL' is defined, define ENABLE_NLS to 0 so we don't have
-         to compile and link in the gettext stuff
-
-Makefile.in,lib/sh/Makefile.in,builtins/Makefile.in
-       - update dependencies on bashintl.h and include/gettext.h
-
-                                  12/19
-                                  -----
-{arrayfunc,bashhist,bashline,error,eval,execute_cmd,expr,general,input,jobs}.c
-{mailcheck,make_cmd,nojobs,pcomplete,pcomplib,print_cmd,redir,shell,sig}.c
-{subst,test,trap,variables,version,xmalloc}.c
-builtins/{common,evalfile,getopt}.c
-builtins/{bind,break,caller,cd,complete,declare,enable,exec,exit,fc,fg_bg}.def
-builtins/{hash,help,history,jobs,kill,let,printf,pushd,read,return,set}.def
-builtins/{setattr,shift,shopt,source,suspend,type,ulimit,umask}.def
-lib/sh/{fmtulong,netopen}.c
-lib/malloc/{malloc,stats,table,watch}.c
-       - mark up strings in source files for gettext processing
-
-lib/malloc/imalloc.h
-       - include "bashintl.h" if SHELL is defined, otherwise make _(x) an
-         identity define
-
-lib/malloc/Makefile.in
-       - add dependencies on ${topdir}/bashintl.h and ${BASHINCDIR}/gettext.h
-
-                                  12/21
-                                  -----
-bashline.c
-       - make sure we index into rl_line_buffer with indexes > 0 in
-         attempt_shell_completion
-
-                                  12/31
-                                  -----
-Makefile.in
-       - descend into `po' and run make recursively for the various clean
-         targets
-
-                                1/4/2004
-                                --------
-include/shmbutil.h
-       - two new macros:  BACKUP_CHAR(str, strsize, i), which backs up one
-         multibyte character in STR starting at index I, and
-         BACKUP_CHAR_P(str, strsize, p), which backs up one multibyte
-         character in STR starting at P, which is a char *
-
-                                   1/6
-                                   ---
-pcomplete.c
-       - in pcomp_filename_completion_function, use the quote character
-         readline found (and assigned to rl_complete_quote_character) when
-         dequoting the filename by a completion call from readline (when
-         rl_dispatching != 0)
-
-bashline.c
-       - ditto for bash_directory_completion_matches
-
-                                   1/7
-                                   ---
-lib/readline/complete.c
-       - new variable,  rl_completion_found_quote, set to non-zero value if
-         readline finds what it thinks is quoting in the word to be completed
-
-lib/readline/readline.h
-       - extern declaration for rl_completion_found_quote
-
-                                   1/8
-                                   ---
-lib/readline/doc/rltech.texi
-       - documented rl_completion_found_quote
-
-lib/readline/complete.c
-       - in compute_lcd_of_matches, if it looks like what the user typed was
-         dequoted before generating filename matches, dequote the user's
-         text again before figuring out the case-insensitive lcd
-
-                                   1/9
-                                   ---
-lib/readline/display.c
-       - fix from Edward Catmur <ed@catmur.co.uk> to logic that handles
-         invisible characters in prompt string.  Original code was wrong
-         about local_prompt_prefix; it gave incorrect results when prompt
-         contained invisible characters after a line break
-
-                                  1/10
-                                  ----
-subst.c
-       - new function, mb_substring(), does character (possibly multibyte)
-         oriented rather than strictly byte-oriented substring extraction.
-         The passed indices, rather than strictly indexing into the string,
-         indicate character positions that need to be calculated.  From
-         Tim Waugh <twaugh@redhat.com>
-       - change parameter_brace_substring to use mb_substring if necessary
-
-included/shmbutil.h
-       - new define SADD_MBQCHAR_BODY, common code for adding a quoted
-         (preceded by CTLESC) multibyte character to an accumulating string
-         in the subst.c expansion code
-
-subst.c
-       - use SADD_MBQCHAR_BODY in expand_word_internal
-       - new static function, mb_getcharlens, allocates and returns an array
-         of character lengths for (possibly multibyte) characters in the
-         argument string
-       - change pattern matching operations to use while loops instead of
-         for loops to handle multibyte characters better (no more simple
-         increment or decrement)
-       - change pattern matching operations to use multibyte character
-         operations instead of simple increments and decrements.  Don't
-         use BACKUP_CHAR_P -- use the mblen array instead, because that
-         avoids the N**2 behavior of having to count from the beginning
-         of the string each time you want to back up one character.  Changes
-         to remove_pattern and match_pattern
-
-                                  1/12
-                                  ----
-lib/readline/display.c
-       - make expand_prompt count multbyte characters in the prompt string
-         by using _rl_find_next_mbchar (and copying possibly more than one
-         byte) instead of a simple increment and single byte copy
-
-                                  1/13
-                                  ----
-lib/readline/display.c
-       - expand_prompt takes a new reference argument -- it returns
-         the actual count of (possibly multibyte) characters displayed
-         on the screen
-       - don't short-circuit in expand_prompt unless we're not going to
-         be using any multibyte characters
-       - change calls  to expand_prompt to pass an argument for the
-         number of physical characters the prompt occupies
-         (prompt_physical_chars)
-       - initialize `lpos' (the physical cursor position) from
-         prompt_physical_chars in rl_redisplay
-
-lib/readline/mbutil.c
-       - in _rl_find_prev_mbchar_internal, if mbrtowc returns -1 or -2, and
-         we assume that the character is a single-byte char, make sure we
-         update `prev' so it doesn't get lost.  Fixes problems encountered
-         when a non-ascii char is the last char on the line and we're moving
-         back past it with ^B, and other display problems caused by the same
-         situation
-
-                                  1/15
-                                  ----
-lib/readline/doc/rltech.texi
-       - document RL_PROMPT_START_IGNORE and RL_PROMPT_END_IGNORE in the
-         description of rl_expand_prompt()
-
-                                  1/20
-                                  ----
-bashline.c
-       - in initialize_readline, make sure M-C-j and M-C-m are still bound to
-         vi-editing-mode before unbinding them -- they may have been rebound
-         in an inputrc
-
-variables.c
-       - in unbind_variable, unset attributes other than `local' and exported
-         (if the variable came from a temporary environment) when unsetting a
-         local variable inside a function
-
-                                  1/21
-                                  ----
-configure.in
-       - add libintl build directory to the list of include directories if
-         it's being built (using INTL_BUILDDIR)
-
-Makefile.in,{builtins,lib/{sh,malloc}}/Makefile.in
-       - substitute LIBBUILD as ${BUILD_DIR}/${LIBSUBDIR}
-       - define INTL_BUILDDIR as ${LIBBUILD}/intl
-
-{builtins,lib/sh}/Makefile.in
-       - make sure INTL_INC is added to  the list of include directories
-       - make sure INTL_LIBSRC is defined with the correct value
-
-{configure,Makefile,{builtins,lib/sh}/Makefile}.in
-       - substitute LIBINTL_H as ${INTL_BUILDDIR}/libintl.h
-
-Makefile.in,builtins/Makefile.iin
-       - all files depending on bashintl.h also depend on ${LIBINTL_H}
-         (which may be empty)
-
-Makefile.in
-       - make a rule telling how to build lib/intl/libintl.h if necessary
-
-                                  1/24
-                                  ----
-builtins/read.def
-       - make sure that the array name supplied as an argument to -a is a
-         valid identifier
-
-parse.y
-       - make the \W expansion abbreviate $HOME with a ~ (seems to be more
-         useful)
-
-doc/{bash.1,bashref.texi}
-       - document new behavior of \W
-
-subst.c
-       - make sure parameter_brace_expand_rhs uses the first character of
-         $IFS when making the string to return from the expanded word
-         (which, in the case of "$@" or $@, contains multiple words that
-         need to be separated)
-
-                                  1/25
-                                  ----
-builtins/common.c
-       - change get_job_spec to make `%' by itself or an empty argument
-         return NO_JOB
-
-jobs.h
-       - new possible value for a job spec return value:  BAD_JOBSPEC
-         (for syntactically invalid specs, like the empty string)
-
-shell.c
-       - in open_shell_script, check to see whether or not we can find and
-         open the filename argument before setting dollar_vars[0] or
-         manipulating BASH_SOURCE, so the error messages come out better
-
-subst.c
-       - in string_list_internal, short-circuit right away to savestring()
-         if the list only has a single element
-
-                                  1/28
-                                  ----
-lib/readline/rltypedefs.h
-       - new set of typedefs for functions returning char * with various
-         arguments (standard set)
-
-lib/readline/complete.c
-       - new function pointer, rl_completion_word_break_hook, called by
-         _rl_find_completion_word, used to set word break characters at
-         completion time, allowing them to be position-based
-
-lib/readline/doc/rltech.texi
-       - documented rl_completion_word_break_hook
-
-lib/readline/kill.c
-       - added new rl_unix_filename_rubout, which deletes one filename
-         component in a Unix pathname backward (delimiters are whitespace
-         and `/')
-
-lib/readline/readline.h
-       - extern declaration for rl_unix_filename_rubout
-
-lib/readline/funmap.c
-       - new bindable readline command `unix-filename-rubout'
-
-lib/readline/doc/{readline.3,rluser.texi},doc/bash.1
-       - documented `unix-filename-rubout'
-
-                                  1/29
-                                  ----
-lib/readline/histexpand.c
-       - change history_tokenize_internal to handle non-whitespace delimiter
-         characters by creating separate fields (like the shell does when
-         splitting on $IFS)
-
-                                  1/30
-                                  ----
-lib/glob/xmbsrtowcs.c
-       - new function, xdupmbstowcs, for convenience:  calls xmbsrtowcs
-         while allocating memory for the new wide character string
-       - some small efficiency improvments to xmbsrtowcs
-
-include/shmbutil.h
-       - extern declaration for xdupmbstowcs
-
-lib/glob/strmatch.h
-       - include config.h for definition of HANDLE_MULTIBYTE
-       - remove the HAVE_LIBC_FNM_EXTMATCH tests
-       - new extern declaration for wcsmatch(whchar_t *, wchar_t *, int)
-
-configure.in
-       - remove call to BASH_FUNC_FNMATCH_EXTMATCH; it's no longer used
-
-lib/glob/smatch.c
-       - simplify xstrmatch() by using xdupmbstowcs() instead of inline code
-
-lib/glob/glob.c
-       - modify mbskipname() to avoid the use of alloca
-       - simplify mbskipname() by using xdupmbstowcs() instead of inline code
-       - simplify glob_pattern_p() by using xdupmbstowcs() instead of
-         inline code
-       - fix memory leak in wdequote_pathname
-       - simplify wdequote_pathname() by using xdupmbstowcs() instead of
-         inline code
-
-lib/glob/strmatch.c
-       - new function, wcsmatch(), `exported' wide-character equivalent of
-         strmatch()
-
-subst.c
-       - old match_pattern is now match_upattern
-       - match_pattern now either calls match_upattern or converts
-         mbstrings to wide chars and calls match_wpattern
-       - match_upattern reverted to old non-multibyte code
-       - new function: match_pattern_wchar, wide character version of
-         match_pattern_char
-
-                                   2/1
-                                   ---
-subst.c
-       - old remove_pattern is now remove_upattern
-       - remove_upattern reverted to old non-multibyte code (pre-Waugh patch)
-       - new multibyte version of remove_pattern: remove_wpattern
-       - remove_pattern now calls either remove_upattern or converts a
-         multibyte string to a wide character string and calls
-         remove_wpattern
-       - new function, wcsdup, wide-character version of strdup(3)
-
-                                   2/4
-                                   ---
-print_cmd.c
-       - temporarily translate a >&filename redirection from
-         r_duplicating_output_word to r_err_and_out (as the expansion code
-         in redir.c does) so it prints without a leading `1' (file
-         descriptor)
-
-                                   2/5
-                                   ---
-aclocal.m4
-       - add a check for wcsdup to BASH_CHECK_MULTIBYTE
-
-config.h.in
-       - add HAVE_WCSDUP define
-
-                                   2/9
-                                   ---
-builtins/shift.def
-       - fix a call to sh_erange that possibly dereferences a NULL pointer
-
-                                  2/12
-                                  ----
-general.c
-       - start at a general set of file property checking functions:
-         file_isdir(), file_iswdir() (is writable directory)
-
-general.h
-       - extern declarations for new functions
-
-lib/sh/tmpfile.c
-       - use file_iswdir() to make sure the temporary directory used for
-         here documents and other temp files is writable in get_sys_tmpdir()
-
-                                  2/17
-                                  ----
-bashline.c
-       - fix conditional binding of emacs-mode M-~ -- there is a default
-         binding for it (rl_tilde_expand), so a straight call to
-         rl_bind_key_if_unbound_in_map doesn't do the right thing
-
-                                  2/27
-                                  ----
-[bash-3.0-beta1 released]
-
-                                  2/29
-                                  ----
-subst.c
-       - fixed expansion so referencing $a, when a is an array variable
-         without an element assigned to index 0, exits the shell when
-         `-u' is enabled
-
-expr.c
-       - make the exponentiation operator (**) associative, so things like
-         2**3**4  work right (change `if' to `while')
-
-                                   3/3
-                                   ---
-lib/sh/strftime.c
-       - SCO Unix 3.2, like Solaris, requires that the system's `timezone'
-         variable be declared as long
-
-lib/readline/{bind,histfile,input,parens}.c
-       - changes for Tandem (including `floss.h' (?))
-
-                                   3/4
-                                   ---
-subst.c
-       - change param_expand to quote the entire expanded string instead
-         of just the escape characters if the expansion appears between
-         double quotes or in a here-document (for simple variable expansions
-         or expansions of positional parameters)
-
-                                   3/8
-                                   ---
-subst.c
-       - analogous changes to parameter_brace_expand_word to fix the same
-         quoting problem as on 3/4; fix callers to understand that  the
-         value returned might be quoted now and should be dequoted if
-         necessary
-       - add a `quoted' argument to get_var_and_type, change callers
-       - change today's fix and fix from 3/4 to not call quote_string if the
-         value is "" (because quote_string turns that into CTLNUL\0)
-
-                                   3/9
-                                   ---
-builtins/cd.def
-       - resetpwd() now takes a `caller' argument so it can be used by pwd
-         as well as cd
-       - change pwd_builtin to call resetpwd() if sh_physpath() fails to
-         return a valid pathname
-
-                                  3/14
-                                  ----
-expr.c
-       - reworked exp0 and readtok() to make post-increment and post-decrement
-         into real tokens, which may be separated from their accompanying
-         variables by whitesapce
-       - made analogous changes to readtok() to make pre-increment and
-         pre-decrement work when separated from their accompanying identifier
-         by whitespace
-
-                                  3/18
-                                  ----
-lib/readline/misc.c
-       - in rl_maybe_unsave_line, don't force rl_replace_line to clear
-         the undo_list, since it might point directly at an undo list
-         from a history entry (to which we have no handle)
-
-                                  3/19
-                                  ----
-lib/readline/display.c
-       - rl_save_prompt and rl_restore_prompt now save and restore the value
-         of prompt_physical_chars
-       - set prompt_physical_chars in rl_redisplay when expand_prompt has
-         not been called (e.g., when rl_display_prompt is set and is not
-         equal to rl_prompt, like when searching)
-
-lib/readline/histexpand.c
-       - don't call add_history in history_expand if the `:p' modifier is
-         supplied; leave that to the calling application.  This means that
-         `history -p', for example, will not add anything to the history
-         list (as documented), nor will history expansions invoked by
-         emacs-mode M-C-e line editing
-
-config-bot.h
-       - check whether HAVE_DECL_SYS_SIGLIST is defined to 1 rather than just
-         defined, to work around newer versions of autoconf defining it to 0
-
-config.h.in
-       - change default status of HAVE_MALLOC to #undef instead of #define
-
-bashhist.c
-       - extern declarations for rl_done and rl_dispatching
-       - don't call re_edit from pre_process_line unless rl_dispatcing is zero,
-         so we don't call it from something like shell-expand-line
-       - change pre_process_line to add an expanded history specification
-         that returned `print only' to the history list, since history_expand
-         no longer does it (and, when using readline, do it only when
-         rl_dispatching is zero)
-
-                                  3/22
-                                  ----
-config.h.in,aclocal.m4
-       - change bash-specific functions that look in struct dirent to define
-         HAVE_STRUCT_DIRENT_xxx, like AC_CHECK_MEMBERS does (though the
-         functions are otherwise the same)
-       - new function, BASH_STRUCT_DIRENT_D_NAMLEN, define
-         HAVE_STRUCT_DIRENT_D_NAMLEN if struct dirent has a `d_namlen' member
-
-configure.in
-       - call BASH_STRUCT_DIRENT_D_NAMLEN
-
-include/posixdir.h
-       - use new and renamed HAVE_STRUCT_DIRENT_D_xxx defines
-
-                                   4/7
-                                   ---
-builtins/cd.def
-       - ensure that we print out a non-null pathname after getting a
-         directory from CDPATH and canonicalizing it (e.g., if the result
-         exceeds PATH_MAX in length and the_current_working_directory is
-         set to NULL)
-
-                                  4/12
-                                  ----
-print_cmd.c
-       - new function to print out assignment statements when `set -x' has
-         been enabled: xtrace_print_assignment
-
-externs.h
-       - extern declaration for xtrace_print_assignment
-
-                                  4/13
-                                  ----
-{subst,variables}.c
-       - call xtrace_print_assignment instead of using inline code
-
-jobs.c
-       - if turning on job control when it was previously off, set
-         pipeline_pgrp to 0 in set_job_control so make_child puts
-         subsequent children in their own process group
-
-                                  4/14
-                                  ----
-general.c
-       - new function, legal_alias_name, called to decide whether an
-         argument to add_alias is a valid alias name -- essentially any
-         character except one which must be quoted to the shell parser
-         and `/'
-
-general.h
-       - new extern declaration for legal_alias_name
-
-builtins/alias.def
-       - `unalias' now returns failure status if no NAME arguments are
-         supplied and -a is not given
-       - call legal_alias_name to make sure alias name is valid before
-         calling add_alias from alias_builtin
-
-                                  4/19
-                                  ----
-include/shmbutil.h
-       - include <config.h> for definition of HANDLE_MULTIBYTE rather than
-         duplicating logic
-
-                                  4/20
-                                  ----
-
-doc/{bash.1,bashref.texi}
-       - make sure $0 is consistently referred to as a `special parameter'
-       - document which characters are now not allowed in alias names
-
-                                  4/23
-                                  ----
-
-builtins/{jobs,kill,wait}.def
-       - removed requirement that job control be enabled to use job control
-         notation, as SUSv3 implies
-
-subst.c
-       - based on a message from David Korn, change param_expand to not call
-         string_list_dollar_star if the only quoting is Q_HERE_DOCUMENT --
-         quoted here documents are like double quoting, but not exactly
-       - analogous changes to list_remove_pattern and pos_params
-
-                                  4/24
-                                  ----
-lib/readline/doc/rluser.texi
-       - fix error in description of emacs-mode C-xC-e command (uses $VISUAL
-         instead of $FCEDIT)
-
-                                  4/28
-                                  ----
-support/bashbug.sh
-       - integrate a patch from Stefan Nordhausen
-         <nordhaus@informatik.hu-berlin.de> that reduces race conditions
-         by using a temporary directory inside $TMPDIR and creating the
-         temp files in that
-
-                                  4/30
-                                  ----
-builtins/common.c
-       - use pathconf(".", _PC_PATH_MAX) where available to size the argument
-         to getcwd() rather than using a straight PATH_MAX
-
-builtins/cd.def
-       - if get_working_directory fails and returns null (causing resetpwd
-         to return NULL), use set_working_directory to set $PWD to the
-         absolute pathname for which chdir just succeeded
-
-                                   5/1
-                                   ---
-lib/readline/vi_mode.c
-       - in rl_vi_change_to, call _rl_vi_set_last with rl_numeric_arg instead
-         of `last', since they're equal at call time and rl_vi_domove can
-         change rl_numeric_arg (which vi apparently updates).  Fixes redo bug
-         of `c2....' reported by Marion Berryman <mwberryman@copper.net>
-
-                                   5/4
-                                   ---
-parse.y
-       - fix decode_prompt_string to properly deal with strftime() returning 0
-
-                                   5/6
-                                   ---
-variables.c
-       - in make_local_array_variable, return an already-existing local array
-         variable immediately rather than creating a new array (causing a
-         memory leak)
-
-                                   5/8
-                                   ---
-lib/readline/vi_mode.c
-       - change rl_vi_domove to set rl_explicit_arg before calling
-         rl_digit_loop1 so that multi-digit numeric arguments work right
-       - _rl_vi_last_command is no longer static
-
-lib/readline/rlprivate.h
-       - new extern declaration for _rl_vi_last_command
-
-lib/readline/text.c
-       - change rl_newline to only call _rl_vi_reset_last if the last command
-         (_rl_vi_last_command) is not a text modification command.  This lets
-         the last-command and last-argument work across command lines
-
-                                  5/13
-                                  ----
-builtins/common.c
-       - use getcwd(0,0) rather than providing a fixed pathname with a fixed
-         length (PATH_MAX) so getcwd() will allocate sufficient memory
-
-aclocal.m4
-       - change BASH_FUNC_GETCWD to check whether or not getcwd(0,0) will
-         allocate memory for the returned value -- nobody implements that
-         and getcwd-via-popen, so it should capture the old test as well
-
-                                  5/27
-                                  ----
-
-builtins/trap.def
-       - the historical behavior of assuming that a signal's handling should
-         be set to its original disposition is only in effect if a single
-         argument is given, otherwise the first argument is assumed to be a
-         command to execute
-       - when in posix mode, if trap gets a single argument, display an
-         error message and return EX_USAGE
-       - change the help message and usage string to better explain trap's
-         behavior
-
-doc/{bash.1,bashref.texi}
-       - describe the new default behavior when the first argument is a
-         signal spec
-       - note that signal names are case insensitive and the SIG prefix is
-         optional in arguments to `trap'
-       - note that signal name arguments to `kill' are case-insensitive
-
-lib/readline/display.c
-       - make sure rl_on_new_line_with_prompt sets rl_display_prompt to
-         rl_prompt (just to make sure it's set)
-       - have rl_on_new_line_with_prompt use local_prompt if it's set
-
-                                   6/2
-                                   ---
-subst.c
-       - in string_extract_double_quoted, cope with extract_delimited_string
-         returning NULL, as it can when attempting completion on an unclosed
-         command substitution
-
-                                  6/24
-                                  ----
-lib/readline/complete.c
-       - change print_filename to add a `/' to listed directory names if
-         `mark-directories' has been enabled
-
-builtins/umask.def
-       - make sure that the mask passed to parse_symbolic_mode has all but
-         the operative low eight bits masked off, to avoid complementing
-         all 0s to -1, which is the error return code.  This makes things
-         like `a=rwx' and `ugo=rwx' work and turn off the umask
-
-                                  6/26
-                                  ----
-builtins/getopts.def
-       - when `getopts' reaches the end of options, unset OPTARG before
-         returning EOF.  In response to a bug report from Apple
-
-configure.in
-       - when cross-compiling, don't set CPPFLAGS_FOR_BUILD and
-         LDFLAGS_FOR_BUILD from CPPFLAGS and LDFLAGS, respectively, since
-         those are for the target instead of the build platform (report
-         from robert@schwebel.de)
-
-shell.c
-       - a shell whose standard error (but not standard output) is directed
-         to a terminal should be interactive, according to POSIX/SUS.  This
-         means that sh > sh.out will start an interactive shell.  Bug report
-         from llattanzi@apple.com
-
-doc/{bash.1,bashref.texi}
-       - change mention of standard output to standard error in definition
-         of interactive shell
-
-lib/readline/vi_mode.c
-       - new convenience function, rl_vi_start_inserting, calls
-         _rl_vi_set_last to save the last textmod command state and then calls
-         rl_vi_insertion_mode to enter insert mode
-       - change functions to use rl_vi_start_inserting
-
-lib/readline/readline.h
-       - extern declaration for rl_vi_start_inserting
-
-bashline.c
-       - new function for vi-mode completion, bash_vi_complete.  Does
-         filename expansion as POSIX specifies, unlike the default readline
-         bindings (which don't know about globbing).  Bound to `\', `*',
-         and `=' in vi command keymap.  Internals very similar to
-         rl_vi_complete; just calls bash glob expansion functions
-
-lib/readline/vi_mode.c
-       - change rl_vi_change_char so that an entire change is a single
-         undoable event, rather than each individual change in a [count]r
-         command
-       - fix rl_vi_change_char so that replacing characters up to EOL works
-         rather than generating rl_ding
-       - fix rl_vi_change_case so that replacing characters up to EOL works
-         rather than generating rl_ding
-
-                                  6/28
-                                  ----
-builtins/echo.def
-       - call clearerr(stdout) before writing anything and testing its
-         failure or success
-
-                                  6/29
-                                  ----
-bashline.c
-       - only set rl_explicit_arg in bash_glob_complete_word if readline is
-         in emacs mode; let bash_vi_complete take care of setting it in vi
-         mode
-       - fix bash_vi_complete to only set rl_explicit_arg unless the posix
-         conditions are met: no globbing characters in the vi `bigword'
-         being completed
-
-                                  6/30
-                                  ----
-[bash-3.0-rc1 released]
-
-                                   7/1
-                                   ---
-lib/readline/complete.c
-       - make sure `extension_char' is initialized before deciding whether
-         or not the append a `/' to a possible completion when visible-stats
-         is not enabled
-
-                                   7/2
-                                   ---
-subst.c
-       - fix a boundary overrun in string_extract_double_quoted that could
-         occur when the word completion code attempts to expand an incomplete
-         construct (like a quoted unclosed command substitution)
-
-                                   7/4
-                                   ---
-subst.c
-       - set tempenv_assign_error to non-zero if an assignment to the
-         temporary environment fails for some reason (e.g., attempted
-         assignment to a readonly variable)
-
-execute_cmd.c
-       - fix execute_simple_command to force a non-interactive shell in
-         POSIX mode to exit if an assignment to the temporary environment
-         preceding a special builtin fails (bug report from
-         llattanzi@apple.com)
-
-                                   7/5
-                                   ---
-bashline.c
-       - in bash_directory_completion_hook, don't perform word expansions
-         if the filename appears to have been completed from the file
-         system rather than typed in by the user.  Bug reported by Tim
-         Waugh <twaugh@redhat.com>
-
-                                   7/7
-                                   ---
-lib/readline/misc.c
-       - if _rl_maybe_save_line is being asked to save a line other than
-         what's already saved, free up the current saved line and save the
-         current contents of rl_line_buffer.  Bug reported by
-         llattanzi@apple.com
-
-                                  7/12
-                                  ----
-lib/readline/input.c
-       - do better EOF detection in rl_gather_tyi -- if a read returns 0 when
-         the fd is in non-blocking mode, stuff an EOF into the input stream
-         (reported by mattias@virtutech.se)
-
-                                  7/13
-                                  ----
-lib/readline/vi_mode.c
-       - make sure rl_vi_put honors `count' arguments and yanks things
-         multiple times if requested
-
-                                  7/16
-                                  ----
-builtins/umask.def
-       - make sure that the `who' part of the umask symbolic mode argument
-         defaults to `a' if it's missing
-
-flags.c
-       - make sure that maybe_make_restricted only gets called after the
-         shell is initialized, so `bash -r' doesn't result in inappropriate
-         error messages
-
-[bash-3.0 frozen]
-
-                                  7/27
-                                  ----
-doc/Makefile.in
-       - small fixes
+                                7/27/2004
+                                ---------
 
-[bash-3.0-released]
+[bash-3.0 released]
 
                                   7/28
                                   ----
@@ -16161,3 +6518,143 @@ make_cmd.[ch],parse.y
 builtins/setattr.def
        - added support for associative arrays and the `-A' variable attribute
          option; from the bash-4.0-devel tree
+
+subst.c
+       - change code that transforms `declare -A xxx=(yyy)' to perform the
+         internal `declare -A xxx' before doing the variable assignment,
+         because associative arrays have to be declared before being assigned
+         to as such; uses new function make_internal_declare
+
+                                  6/30
+                                  ----
+subst.[ch]
+       - dequote_escapes is now external; add declaration in subst.h
+       - remove_quoted_nulls is now external; add declaration in subst.h
+
+array.[ch]
+       - new functions for completeness:  array_dequote, array_dequote_escapes,
+         array_remove_quoted_nulls
+       - array_subrange now calls array_remove_quoted_nulls for "${array[*]}".
+         Fixes bug reported by Vitor De Araujo <ux386@yahoo.com.br>
+       - array_patsub now calls array_remove_quoted_nulls for "${array[*]}"
+       - array_modcase now calls array_remove_quoted_nulls for "${array[*]}"
+       - array_patsub now handles the mflags&MATCH_QUOTED case appropriately
+         (that implies "${array[@]}")
+
+subst.c
+       - new functions for case-modifying word expansion suppport:
+         pos_params_casemod, parameter_brace_casemod; from bash-4.0-devel branch
+
+assoc.c
+       - new functions for completeness: assoc_remove_quoted_nulls
+       - assoc_patsub now calls assoc_remove_quoted_nulls for "${assoc[*]}"
+       - assoc_modcase now calls assoc_remove_quoted_nulls for "${array[*]}"
+       - assoc_patsub now handles the mflags&MATCH_QUOTED case appropriately
+         (that implies "${assoc[@]}")
+
+                                   7/1
+                                   ---
+assoc.[ch]
+       - new function, assoc_subrange: takes a hash table, converts it to a
+         word list, and performs the subrange and indexing on that list
+       - new functions for completeness: assoc_dequote, assoc_dequote_escapes
+
+subst.c
+       - verify_substring_values now takes the variable SHELL_VAR * as its
+         new first argument; changed callers
+       - change verify_substring_values to handle associative arrays using the
+         number of elements as the upper bound
+       - brought in code to do case-modifying word expansions from
+         bash-4.0-devel branch, conditional on CASEMOD_EXPANSIONS
+
+input.c
+       - if the read(2) in getc_with_restart returns -1/EAGAIN, turn off
+         non-blocking mode on the file descriptor and try again.  Fixes
+         problem reported by Glynn Clements <glynn@clements.plus.com>
+
+                                   7/2
+                                   ---
+doc/{bash.1,bashref.texi}
+       - documented new case-modifying word expansions
+
+make_cmd.c
+       - change make_here_document to display a warning message including the
+         start line of a here document if it ends up delimited by EOF.
+         Addresses issue raised by Richard Neill <rn214@hermes.cam.ac.uk>
+
+subst.c
+       - in do_assignment_internal, make sure the `invisible' attribute is
+         unset before returning success
+
+                                   7/3
+                                   ---
+config-top.h
+       - add `CASEMOD_CAPCASE' define to include or exclude the ~[~] word
+         expansion and the `capcase' variable attribute (declare -c)
+
+builtins/declare.def
+       - add support for manipulating the case-modifying attributes (new
+         declare -clu); from bash-4.0-devel branch
+
+builtins/setattr.def
+       - add support for reporting case-modifying attributes (-clu attributes);
+         from bash-4.0-devel branch
+
+doc/{bash.1,bashref.texi}
+       - specify that the read builtin timing out results in a return value
+         greater than 128
+       - document new `-l' and `-u' options to declare/typeset/local.  Leave
+         `-c' undocumented for now
+
+                                   7/4
+                                   ---
+make_cmd.[ch]
+       - make_coproc_command: construct a coproc; from bash-4.0-devel tree
+
+dispose_cmd.c
+       - dispose coproc command; from bash-4.0-devel tree
+
+copy_cmd.c
+       - copy a coproc command; from bash-4.0-devel tree
+
+print_cmd.c
+       - print a coproc command; from bash-4.0-devel tree
+
+shell.c
+       - dispoe the current coproc on shell exit; from bash-4.0-devel tree
+
+redir.c
+       - when closing redirects as part of user redirections, check whether
+         or not active coprocess fds are being closed and close the coproc
+         if so; from bash-4.0-devel tree
+
+config.h.in
+       - add define for COPROCESS_SUPPORT to include coprocesses
+
+configure.in
+       - add support for configuring coprocesses into and out of the build
+
+jobs.c
+       - in waitchld, check whether or not a coproc processs has exited;
+         from the bash-4.0-devel tree
+
+                                   7/5
+                                   ---
+doc/bashref.texi
+       - document new --enable-coprocesses option that includes coprocess
+         support
+
+execute_cmd.c
+       - add functions for coprocess support, including execute_coproc and
+         code to call it when command->type == cm_coproc; from
+         bash-4.0-devel tree
+
+lib/sh/fdprintf.c
+       - new library function fdprintf(int fd, const char *format, ...);
+         printf to a file descriptor
+
+{configure,config.h}.in
+       - support for detecting fdprintf and compiling in replacement
+
+Makefile.in,lib/sh/Makefile.in
+       - add rules to include fdprintf.o
diff --git a/CWRU/old-changelogs/CWRU.chlog.v13 b/CWRU/old-changelogs/CWRU.chlog.v13
new file mode 100644 (file)
index 0000000..565b0cb
--- /dev/null
@@ -0,0 +1,9648 @@
+                                4/9/2001
+                                --------
+[bash-2.05 released]
+
+                                  4/10
+                                  ----
+redir.c
+       - check return value of fclose() in write_here_document() for error
+         returns; don't just rely on fwrite() failing
+
+support/bashbug.sh
+       - set TMPDIR to /tmp if it's null or unset
+       - use $TMPDIR in the TEMP tempfile name template
+       - fixed the call to `mktemp', if it exists, to make it more portable
+
+jobs.c
+       - if WCONTINUED is not defined, define it to 0 and add a define for
+         WIFCONTINUED(wstatus) which expands to 0
+       - add WCONTINUED to the flags passed to waitpid(2) in waitchld()
+       - don't increment children_exited if waitpid's status is WIFCONTINUED,
+         since we don't want to call a SIGCHLD trap handler in this case
+       - in waitchld(), we set child->running to 1 if WIFCONTINUED(status)
+         is non-zero
+       - make sure pretty_print_job doesn't check for the core dump bit if
+         the process has been continued; it's only valid if the job is dead
+       - in set_job_status_and_cleanup, set the job to JRUNNING if job_state
+         is non-zero and the job was previously marked as JSTOPPED
+
+configure.in
+       - add -DBROKEN_DIRENT_D_INO to interix LOCAL_CFLAGS
+
+lib/glob/glob.c
+       - if BROKEN_DIRENT_D_INO is defined, define REAL_DIR_ENTRY to 1
+
+jobs.c
+       - in kill_pid, we only need to block and unblock SIGCHLD if the
+         `group' argument is non-zero, since otherwise we just call `kill'
+         on the pid argument
+
+version.c
+       - update copyright date to 2001
+
+bashline.c
+       - prog_complete_return needs to take a `const char *' as its first
+         argument
+       - history_completion_generator needs to take a `const char *' as
+         its first argument, and `text' needs to be a `const char *'
+
+                                  4/11
+                                  ----
+redir.c
+       - fixed a weird typo in redir_special_open, case RF_DEVFD, added
+         call to all_digits before call to legal_number
+       - fixed do_redirection_internal to call legal_number instead of atol(3)
+         when translating r_duplicating_{in,out}put_word, so it handles
+         overflow better
+       - produce an error message in redirection_error for out-of-range
+         file descriptors
+       - change allocation strategy in redirection_error so we don't have to
+         malloc scratch memory if redirection_expand() fails
+
+jobs.h
+       - added defines for `running' member of a struct process
+
+general.c
+       - fix legal_number to return 0 when strtol(3) reports overflow or
+         underflow
+
+parse.y
+       - changed read_token_word to call legal_number instead of atoi(3)
+
+input.c
+       - return -1/EBADF from close_buffered_fd if fd is < 0
+
+command.h
+       - fixed bogus comment about IS_DESCRIPTOR in description of the
+         REDIRECTEE struct
+
+print_cmd.c
+       - change cprintf's 'd' modifier code to display negative numbers as
+         an out-of-range value.  We can do this only because the only use
+         of %d is to output file descriptor numbers in redirections
+
+support/mksignames.c
+       - need to include config.h to get a possible value for
+         UNUSABLE_RT_SIGNALS
+
+                                  4/16
+                                  ----
+lib/readline/doc/rluser.texinfo
+       - corrected a small error in one description of M-DEL
+
+                                  4/17
+                                  ----
+stringlib.c
+       - need to initialize `ind' before calls to RESIZE_MALLOCED_BUFFER
+         in strcreplace()
+
+support/bashversion.c
+       - new file, prints bash version information
+
+Makefile.in
+       - rules for building bashversion and linking it to version.o
+
+                                  4/24
+                                  ----
+conftypes.h
+       - new file with HOSTTYPE, OSTYPE, MACHTYPE, etc. defines from
+         variables.h
+
+variables.h, version.c
+       - include conftypes.h
+
+patchlevel.h
+       - new file, contains define for PATCHLEVEL.  Doing away with the old
+         scheme of having the information in configure.in
+
+version.c
+       - include patchlevel.h
+
+Makefile.in
+       - run bashversion -p to find patch level rather than have configure
+         substitute in a value
+       - pass -S ${top_srcdir} to support/mkversion.sh
+
+support/mkversion.sh
+       - don't put PATCHLEVEL define into version.h, but accept and ignore
+         a -p option
+       - take a new -S srcdir option
+       - find the patch level by parsing it out of patchlevel.h
+
+configure.in
+       - hard-code BASHVERS assignment instead of reading it from a file
+       - remove BASHPATCH; don't substitute it
+
+_distribution,_patchlevel
+       - removed
+
+                                  4/26
+                                  ----
+shell.c
+       - call init_noninteractive() in open_shell_script if forced_interactive
+         is non-zero (the shell was started with -i) and fd_is_tty is 0
+         (the script file is a real file, not something like /dev/stdin),
+         since it wasn't done earlier
+
+builtins/printf.def
+       - change for POSIX.2 compliance when conversion errors are encountered
+         when processing %d, %u, and floating point conversion operators
+         (print a warning message, return the value accumulated at the time
+         of the error -- which is always 0 -- and exit with a non-zero status)
+
+command.h
+       - added CMD_COMMAND_BUILTIN for use by the `command' builtin and the
+         code in execute_cmd.c
+
+builtins/command.def
+       - add CMD_COMMAND_BUILTIN to the created command's flags
+
+                                   5/1
+                                   ---
+configure.in
+       - add call to AC_C_CONST to test `const' compiler behavior
+       - add call to AC_C_INLINE to test `inline' compiler behavior
+       - add call to AC_C_STRINGIZE to test cpp #x stringizing operator
+
+config.h.in
+       - add `#undef const' for configure to substitute
+       - add `#undef inline' for configure to substitute
+       - add `#undef HAVE_STRINGIZE' for configure to substitute
+
+include/stdc.h
+       - remove code that defines or undefines `const' and `inline'
+       - change the __STRING macro to be defined depending on the value
+         of HAVE_STRINGIZE
+
+lib/malloc/malloc.c
+       - change the __STRING macro to be defined depending on the value
+         of HAVE_STRINGIZE
+
+lib/readline/{readline,rlprivate}.h
+       - moved rl_get_termcap to readline.h, making it a public function
+
+lib/readline/readline.h
+       - new #define, RL_READLINE_VERSION, hex-encoded library version
+         number, currently set to 0x0402
+       - new public int variable, rl_readline_version
+
+lib/readline/readline.c
+       - #define RL_READLINE_VERSION if it is not already defined (which it
+         should be in readline.h)
+       - initialize rl_readline_version to RL_READLINE_VERSION
+
+lib/readline/doc/rltech.texinfo
+       - documented rl_get_termcap
+       - documented rl_readline_version
+
+jobs.c
+       - job_exit_status should return an int, not a WAIT (undetected
+         before because on most POSIX-like systems a WAIT is really an int)
+
+builtins/evalfile.c
+       - added FEVAL_REGFILE (file must be a regular file) to accepted
+          _evalfile flags
+       - fc_execute_file() adds FEVAL_REGFILE to _evalfile flags.  This
+         means that startup files and files read with `.' no longer need
+         to be regular files
+
+                                   5/2
+                                   ---
+
+lib/termcap/Makefile.in
+       - fix target for installed termcap library (normally unused)
+
+lib/tilde/Makefile.in
+       - fix install target to install in $(libdir) (normally unused)
+
+Makefile.in
+       - don't make $(man3dir) since there's nothing installed there
+
+Makefile.in,doc/Makefile.in
+       - change `man1ext' to `.1', `man3ext' to `.3'
+       - change appropriate install targets to use new values of man[13]ext
+       - use `test ...' instead of `[...]'
+       - add support for DESTDIR root installation prefix, for package
+         building (installdirs, install, install-strip, uninstall targets)
+
+builtins/common.c
+       - new function int get_exitstat(WORD_LIST *list) returns an eight-bit
+         exit status value for use in return, exit, logout builtins
+
+builtins/common.h
+       - extern declaration for get_exitstat()
+
+builtins/{exit,return}.def
+       - call get_exitstat where appropriate
+
+builtins/printf.def
+       - add support for "'" flag character as posix 1003.2-200x d6 says
+       - fix core dump when user-supplied field width or precision is 0
+       - fix to printstr() to handle zero-length precision with `%b' format
+         specifier (printf '%.0b-%.0s\n' foo bar)
+       - fix to printstr() to treat a negative field width as a positive
+         field width with left-justification
+       - fix to mklong to avoid static buffers, which can always be overrun
+         by someone sufficiently motivated
+
+bashline.c
+       - change var in add_host_name to type `size_t' for passing to xrealloc
+
+                                   5/3
+                                   ---
+execute_cmd.c
+       - change restore_signal_mask to accept a sigset_t *, since a sigset_t
+         may not fit into a pointer, change call
+
+unwind_prot.c
+       - use a union UWP in restore_variable when restoring a variable whose
+         size is the same as sizeof(int), the reverse of the method used to
+         store it in unwind_protect_int
+
+builtins/printf.def
+       - use a #define LENMODS containing the length modifiers instead of
+         testing against each possible modifier character, save any mod
+         character found
+       - add support for ISO C99 length specifiers `j', `t', and `z'
+       - if `L' modifier is supplied with a floating point conversion char,
+         pass a `long double' to printf if HAVE_LONG_DOUBLE is defined
+
+configure.in,config.h.in
+       - call AC_C_LONG_DOUBLE to check for `long double'; define
+         HAVE_LONG_DOUBLE if supported
+
+bashline.c
+       - fix an inadvertantly-unclosed comment in attempt_shell_completion
+       - make set_saved_history return a value
+       - make dynamic_complete_history return a useful value
+
+{make_cmd,execute_cmd,shell,subst,trap,variables,input,unwind_prot,test,
+pcomplete}.c
+       - removed some declared-but-unused variables
+
+builtins/{cd,enable,fc,set,setattr,type,umask,printf,complete}.def
+       - removed some declared-but-unused variables
+
+lib/sh/{zread,netopen}.c
+       - removed some declared-but-unused variables
+
+execute_cmd.c
+       - in execute_arith_command, use a long variable to hold the result
+         of evalexp(), since that's what it returns
+
+builtins/evalstring.c
+       - make cat_file return -1 on a read or write error
+
+lib/sh/stringlib.c
+       - make merge_stringlists() return the right value
+
+                                   5/7
+                                   ---
+pcomplete.c
+       - remove typo that caused empty declaration (;;)
+
+parse.y
+       - fix yyerror() to accept a single string argument; fix callers
+
+trap.c
+       - cast pointer to long instead of int when printing message with
+         internal_warning() in run_pending_traps()
+
+subst.c
+       - fix process_substitute to handle stdin being closed
+
+test.c
+       - change `while' to `if' in and() and or(), since the loop isn't
+         actually performed -- there's an unconditional `return' in the
+         loop body
+       - check for integer overflow of arguments to `-t'
+
+lib/sh/netopen.c
+       - change _getserv() to reject negative port/service numbers
+
+expr.c
+       - fix strlong() to not convert the base specification from long to
+         int before checking for overflow, since truncation on machines
+         where sizeof(int) != sizeof(long) may mask errors
+
+builtins/{jobs,kill,wait}.def
+       - use legal_number instead of atoi when converting strings to pid_t;
+         check for numeric overflow
+
+input.c
+       - fix for cygwin in b_fill_buffer -- off-by-one error when checking
+         buffer for \r\n termination
+
+general.h
+       - new #define INT_STRLEN_BOUND(t), computes max length of string
+         representing integer value of type T, possibly including a sign
+         character
+       - include <limits.h> if it's present
+
+{execute_cmd,findcmd,test}.c
+       - don't include <limits.h>, since general.h does it now
+
+{execute_cmd,lib/sh/itos,pcomplete,print_cmd,subst,variables}.c
+       - use INT_STRLEN_BOUND instead of static array sizes when converting
+         various strings to integer values
+
+shell.h
+       - struct fd_bitmap now uses an `int' size, since it's bounded by
+         the number of file descriptors, which must fit into an `int'
+
+execute_cmd.c
+       - FD_BITMAP_DEFAULT_SIZE is now 32, not 32L
+       - new_fd_bitmap takes an `int' size parameter, not a `long'
+
+execute_cmd.h
+       - change prototype for new_fd_bitmap()
+
+test.c
+       - fix test_stat to check for overflow when parsing the integer file
+         descriptor number; return ENOENT instead of EBADF for files that
+         are not open
+
+hashlib.c
+       - don't discard the upper 32 bits of the random value, if present
+
+lib/readline/shell.c
+       - use the same INT_STRLEN_BOUND mechanism to decide how much space to
+         allocated in sh_set_lines_and_columns
+
+                                   5/8
+                                   ---
+aclocal.m4
+       - add check for libtinfo (termcap-specific portion of ncurses-5.2) to
+         BASH_CHECK_LIB_TERMCAP
+       - new macro, RL_LIB_READLINE_VERSION, checks version of installed
+         readline library and (optionally) writes version #defines to
+         config.h.  Bash doesn't use the version defines
+
+configure.in
+       - call RL_LIB_READLINE_VERSION instead of support/rlvers.sh
+
+execute_cmd.c
+       - fix execute_shell_script and the WHITECHAR and STRINGCHAR macros
+         to check array bounds before indexing into the sample string
+
+unwind_prot.[ch]
+       - import new versions submitted by Paul Eggert <eggert@twinsun.com>
+         with a couple of changes for backwards compatibility, so the rest
+         of the source doesn't need to be changed yet
+
+jobs.c
+       - use unwind_protect_var on last_made_pid in run_sigchld_trap
+
+builtins/bind.def
+       - use unwind_protect_var on rl_outstream
+
+general.c
+       - rework print_rlimtype to use INT_STRLEN_BOUND and handle the
+         most negative number correctly
+
+expr.c
+       - `tokval' should have been a `long', since all arithmetic is done
+         as longs
+
+builtins/history.def
+       - consolidate tests for valid history position in one block to
+         avoid duplicate code and strings
+
+builtins/ulimit.def
+       - fix check for overflow when setting limit to work when int is 32
+         bits and RLIMTYPE is 64
+
+lib/sh/tmpfile.c
+       - don't truncate the result of time(3) to int; just use time_t,
+         since it's being assigned to an `unsigned long'
+
+mailcheck.c
+       - use legal_number instead of atoi in time_to_check_mail() to catch
+         more numeric errors; consolidate error checking in one block
+       - last_time_mail_checked should be a time_t
+
+                                   5/9
+                                   ---
+builtins/set.def
+       - recognize `set [-+]o nolog' if HISTORY is defined
+
+bashline.c
+       - new variable `dont_save_function_defs', set by `set -o nolog';
+         currently ignored
+
+command.h
+       - the `dest' member of a REDIRECTEE is now an `int'
+
+parse.y,redir.c
+       - changed uses of `redir.test' (where redir is a REDIRECTEE) since
+         it's now an int
+
+lib/readline/rlstdc.h
+       - don't mess around with `const', rely on configure to supply a
+         proper definition if the compiler doesn't support it
+
+lib/tilde/tilde.h
+       - include <config.h> if HAVE_CONFIG_H is defined
+       - don't mess around with `const', rely on configure
+
+builtins/shopt.def
+       - new read-only `shopt' option, login_shell, non-zero if shell is a
+         login shell (as decided by shell.c)
+       - new function set_login_shell(), sets shopt private value of
+         login_shell
+
+builtins/common.h
+       - new extern declaration for set_login_shell
+
+shell.c
+       - call set_login_shell after setting value of login_shell (in
+         main() and set_shell_name())
+
+parse.y
+       - added new `\A' prompt string escape sequence:  time in 24-hour
+         HH:MM format
+
+configure.in, config.h.in
+       - check for <grp.h>, define HAVE_GRP_H if found
+
+builtins/complete.def
+       - add new `-A group/-g' option to complete group names
+
+pcomplete.h
+       - new define for CA_GROUP, used with group name completion
+
+pcomplete.c
+       - add code to support CA_GROUP group name completion
+
+bashline.c
+       - new function, bash_groupname_completion_function(), supports
+         programmable completion of group names
+
+bashline.h
+       - extern declaration for bash_groupname_completion_function
+
+lib/readline/bind.c
+       - new inputrc variable, `match-hidden-files', controls completion
+         matching files beginning with a `.' (on Unix)
+
+lib/readline/complete.c
+       - new variable, _rl_match_hidden_files, mirrors `match-hidden-files'
+         inputrc variable
+
+lib/readline/rlprivate.h
+       - extern declaration for _rl_match_hidden_files
+
+builtins/hash.def
+       - new `-t' option to list hash values for each filename argument
+
+builtins/read.def
+       - alarm(3) takes an `unsigned int' argument, not int
+       - check for arithmetic overflow with -t and -n options
+
+input.c
+       - check for read error before doing \r\n translation on cygwin in
+         b_fill_buffer
+       - reset bp->b_used to 0 instead of leaving it at -1 on read error
+         in b_fill_buffer
+
+builtins/shopt.def
+       - new functions, shopt_setopt(name, mode) and
+         shopt_listopt(name, mode) to give the rest of the shell an easy
+         interface
+
+builtins/common.h
+       - extern declarations for shopt_setopt and shopt_listopt
+
+shell.c
+       - new invocation options -O and +O, to list or set/unset shopt
+         options like +o/-o sets and unsets `set -o' options
+
+doc/{bash.1,bashref.texi}
+       - document `set -o nolog'
+       - document `login_shell' shopt option
+       - document new `\A' prompt string escape sequence
+       - document new `-t' option to `hash'
+       - document new `[+-]O' invocation option
+
+doc/bashref.texi
+       - add text to `Invoking Bash' section defining a login shell; text
+         taken from man page
+
+doc/bash.1, lib/readline/doc/rluser.texinfo
+       - documented new complete/compgen `-A group/-g' option
+
+lib/readline/doc/{rluser.texinfo,readline.3}, doc/bash.1
+       - documented new `match-hidden-files' inputrc variable
+
+                                  5/10
+                                  ----
+configure.in
+       - fix AC_CHECK_PROG(ar, ...)
+       - add AC_CHECK_TYPE for ssize_t
+
+config.h.in
+       - new #undef for ssize_t
+
+lib/sh/zread.c
+       - int -> ssize_t fixes to mirror modern declarations of read and write
+       - the `off' variable in zsyncfd should be an off_t since it computes
+         a file offset
+       - the local buffer `lbuf' is now char, since it's not nice to pass
+         unsigned char * to read(2), and the values from it are assigned to
+         a char anyway
+       - lind and lused are now size_t, since they index into a buffer
+       - set lused to 0 on read error
+
+lib/sh/zwrite.c
+       - change second argument to type `char *', since ISO C says you have
+         to pass a `char *' to `write'
+
+externs.h
+       - fix extern declarations of zread, zread1, zreadc, and zwrite
+       - prototype extern declaration of qsort_string_compare
+       - add extern declaration for history_delimiting_chars() from parse.y
+
+input.h
+       - b_used and b_inputp members ofr struct BSTREAM are now size_t
+
+builtins/evalstring.c
+       - the number of chars read with zread in cat_file should be assigned
+         to a variable of type ssize_t
+
+input.c
+       - the number of chars read with zread in b_fill_buffer should be
+         assigned to a variable of type ssize_t
+       - `localbuf' is now type char[], since POSIX says you shouldn't pass
+         unsigned char * to read(2)
+       - in getc_with_restart(), use a variable of type unsigned char to
+         get a value from the local buffer and return it
+       - in ungetc_with_restart, explicitly return the character arg passed
+         to avoid relying on localbuf being unsigned char
+
+subst.c
+       - the number of chars read with zread in read_comsub should be
+         assigned to a variable of type ssize_t
+
+mksyntax.c
+       - instead of casting to unsigned char * in addcstr, use a variable
+         of type unsigned char and let the compiler do the work
+
+parse.y
+       - instead of casting to unsigned char * in yy_readline_get, use a
+         variable of type unsigned char and let the compiler do the work
+       - ditto for yy_string_get and shell_getc (cast to unsigned char)
+
+subst.c
+       - instead of casting to unsigned char when assigning to ifscmap in
+         expand_word_internal, use a variable of type unsigned char and
+         let the compiler do the work
+
+lib/sh/strtrans.c
+       - instead of casting to unsigned char in ansic_quote, use a variable
+         of type unsigned char and let the compiler do the work
+
+builtins/evalstring.c
+       - remove extern declarations for zwrite and run_trap_cleanup; they're
+         in externs.h
+       - prototype cat_file forward declaration
+
+Makefile.in
+       - remove -I$(includedir) from INCLUDES and SUBDIR_INCLUDES
+
+aclocal.m4
+       - change RL_LIB_READLINE_VERSION to set RL_PREFIX, RL_LIBDIR,
+         and RL_INCLUDEDIR to what it used to test the installed readline
+         library version for use by the caller
+       - change RL_LIB_READLINE_VERSION to not compute ac_cv_rl_prefix if
+         the caller has already assigned it a value
+       - rename _rl_prefix -> ac_cv_rl_prefix, _rl_libdir -> ac_cv_rl_libdir,
+         _rl_includedir -> ac_cv_rl_includedir
+
+configure.in
+       - change testing of whether to use the value of
+         $opt_with_installed_readline to be != no, to allow the user to
+         specify a prefix where the installed readline library may be found
+       - if --with-installed-readline=PREFIX is supplied, set ac_cv_rl_prefix
+         to PREFIX before calling RL_LIB_READLINE_VERSION
+       - if --with-installed-readline[=PREFIX] is supplied, don't set
+         RL_LIBDIR and RL_INCLUDEDIR; let RL_LIB_READLINE_VERSION take care
+         of it, set RL_INCLUDE=-I${RL_INCLUDEDIR}
+       - if --with-installed-readline[=PREFIX] is supplied, and we're
+         linking with the history library, assign $RL_LIBDIR to HIST_LIBDIR
+         so we use the same version of the installed readline and history
+         libraries
+
+Makefile.in, builtins/Makefile.in
+       - have configure substitute RL_INCLUDEDIR, set RL_INCLUDEDIR variable
+
+doc/bashref.texi
+       - updated description of --with-installed-readline configure option 
+
+general.c
+       - moved QSFUNC typedef here from builtins/common.c
+
+{alias,bashline,variables,lib/sh/stringvec}.c
+       - cast fourth argument to qsort to (QSFUNC *)
+
+alias.c
+       - prototype forward declaration of qsort_alias_compare
+
+bashhist.c
+       - include <glob/glob.h> for extern declaration of glob_pattern_p
+       - remove extern declaration of history_delimiting_chars; it's now
+         in externs.h
+       - prototype forward declarations of histignore_item_func,
+         maybe_add_history, and bash_add_history
+
+bracecomp.c
+       - remove extern declaration for sh_backslash_quote; it's in externs.h
+
+braces.c
+       - remove extern declaration for extract_command_subst; it's in subst.h
+       - prototype forward declarations for expand_amble, array_concat, and
+         brace_gobbler
+
+error.c
+       - prototype extern declaration of give_terminal_to, fix bad call
+
+{execute_cmd,expr,findcmd,jobs,mailcheck,nojobs,pcomplete,print_cmd,redir,
+shell}.c
+       - prototype all static forward function declarations
+
+pcomplete.c
+       - changed some function parameters to `const char *' to avoid discarding
+         const qualifier
+
+make_cmd.c
+       - make_bare_word, make_word_flags, and make_word now take a
+         `const char *' string argument
+
+make_cmd.h
+       - changed extern declarations for make_bare_word and make_word
+
+print_cmd.c
+       - cprintf now takes a `const char *' as its first argument, like
+         xprintf and printf
+       - the conditional define for xprintf should have been HAVE_VPRINTF,
+         not HAVE_VFPRINTF
+
+shell.c
+       - in isnetconn(), the return value of sizeof() is size_t
+
+aclocal.m4
+       - add inclusion of stddef.h if STDC_HEADERS is defined to 1 in
+         BASH_CHECK_TYPE
+
+configure.in
+       - add a call to BASH_CHECK_TYPE for socklen_t (type of third argument
+         to getpeername(2))
+
+                                  5/11
+                                  ----
+lib/readline/bind.c
+       - make `useq' a char array to pass to rl_macro_bind in
+         rl_parse_and_bind
+
+lib/readline/{{bind,isearch}.c,rlprivate.h}
+       - _rl_isearch_terminators is now a char *, not unsigned char *
+
+{subst,variables,lib/sh/tmpfile}.c
+       - dollar_dollar_pid is now a `pid_t' instead of `int'
+
+variables.c
+       - sbrand() now takes an `unsigned long' to set the seed value
+       - changed last_random_value to type int, since it's always between
+         0 and 32767
+       - use strtoul to convert the value in assign_random instead of atoi
+       - take out casts in any arguments to sbrand()
+       - take out cast to int in call to inttostr in set_ppid()
+
+subst.c
+       - don't cast last_asynchronous_pid when passing to itos()
+
+{sig,subst}.c
+       - prototype all static forward function declarations
+
+                                  5/14
+                                  ----
+{test,trap,variables}.c
+       - prototype all static forward function declarations
+
+variables.c
+       - free_variable_hash_data() now takes a PTR_T, a `generic pointer'
+
+builtins/{alias,bind,break,cd,complete,declare,enable,exit,fc,fg_bg,help,
+history,jobs,pushd,read,set,trap,umask,
+       - prototype all static forward function declarations
+
+builtins/read.def
+       - reset_eol_delim now takes a `char *' arg, since that's what the
+         unwind_protect functions pass it, and it ignores its arguments
+         anyway
+
+lib/readline/{histsearch,input,kill,rltty,search,vi_mode}.c
+       - prototype all static forward function declarations
+
+lib/tilde/tilde.c
+       - prototype all static forward function declarations
+       - tilde_find_prefix, tilde_find_suffix, isolate_tilde_prefix, and
+         glue_prefix_and_suffix now take `const char *' arguments where
+         appropriate
+
+configure.in,config.h.in
+       - check for vsnprintf, define HAVE_VSNPRINTF if found
+
+lib/readline/display.c
+       - use vsnprintf() in rl_message if it's available; if we don't, at
+         least set the last character in msg_buf to 0 to avoid overrun --
+         we really can't do anything about overflow at this point.  if it's
+         available, this fixes buffer overflow problems in rl_message
+
+                                  5/15
+                                  ----
+lib/readline/histexpand.c
+       - in get_history_word_specifier, allow any character to terminate
+         a `:first-' modifier, not just `:' and null.  This is what csh
+         appears to do.  This allows things like `!:0- xyzzy' to replace the
+         last argument with xyzzy
+
+                                  5/18
+                                  ----
+configure.in, config.h.in
+       - check for <stdint.h>, define HAVE_STDINT_H if found
+       - check for intmax_t in <stdint.h>, define intmax_t as long if not
+         found
+
+                                  5/21
+                                  ----
+builtins/kill.def
+       - change to use strerror() for error message when kill(2) fails
+
+aclocal.m4
+       - new macro, BASH_C_LONG_LONG, check for `long long'
+
+configure.in, config.h.in
+       - call BASH_C_LONG_LONG, define HAVE_LONG_LONG if found
+
+lib/sh/snprintf.c
+       - new file, with implementations of snprintf, vsnprintf, asprintf,
+         and vasprintf, derived from inetutils version
+
+Makefile.in, lib/sh/Makefile.in
+       - add snprintf.c/snprintf.o
+
+configure.in, config.h.in
+       - add checks for snprintf, asprintf, vasprintf, with appropriate
+         cpp defines
+
+lib/readline/{rldefs,xmalloc}.h, lib/readline/xmalloc.c
+       - xmalloc and xrealloc now take `size_t' arguments, like their bash
+         counterparts
+
+externs.h,lib/sh/itos.c
+       - inttostr and itos now take `long' arguments
+       - inttostr takes a `size_t' argument for the buffer size
+
+{expr,lib/malloc/malloc,variables,general}.c
+       - fixed calls to itos() by removing casts, etc.
+
+subst.[ch]
+       - get_dollar_var_value now takes a long, not an int
+       - sub_append_number now takes a long, not an int
+
+subst.c
+       - in parameter_brace_expand_word, use a long and legal_number to
+         translate ${N}, to avoid overflow
+       - in parameter_brace_expand_length, use a long and legal_number to
+         translate ${#N}, to avoid overflow
+       - in do_array_element_assignment, array_expand_index,
+         array_value_internal, use arrayind_t instead of int
+       - let verify_substring_values take long * arguments for the return
+         value of evalexp()
+       - pass long * arguments to verify_substring_values in
+         parameter_brace_substring
+       - parameter_brace_expand_length now returns `long'
+       - parameter_brace_expand now uses a long variable for the return
+         value of parameter_brace_expand_length
+       - param_expand now uses a long variable for the return value from
+         evalexp
+       - array_length reference now returns an `arrayind_t', since it can
+         return the num_elements member of an array, which is of type
+         arrayind_t
+
+subst.h
+       - array_expand_index now returns an `arrayind_t'
+
+array.[ch]
+       - array_subrange now takes arrayind_t arguments, not `int'
+       - dup_array_subrange now uses arrayind_t local variable to do
+         array indexing
+       - use long to print array indices in print_element
+
+variables.c
+       - null_array_assign, assign_dirstack, bind_array_variable
+         now take arrayind_t arguments as array indices
+       - assign_array_var_from_word_list, assign_array_var_from_string,
+         unbind_array_element now use arrayind_t local variables for
+         array indexing
+
+variables.h
+       - change extern declaration of bind_array_variable
+
+builtins/common.[ch]
+       - get_numeric_arg now returns a `long', since it usually returns
+         the value of legal_number()
+
+builtins/{shift,break}.def
+       - use long variables for the return value of get_numeric_arg
+
+builtins/history.def
+       - convert string argument to int only if it's in range
+
+builtins/pushd.def
+       - set_dirstack_element and get_dirstack_element now take `long'
+         index arguments
+       - get_dirstack_index now takes a `long' index argument, since it's
+         passed the converted value from legal_number
+
+lib/sh/timeval.c
+       - in print_timeval, don't assume that the number of minutes fits into
+         an int, since it's just seconds/60.
+
+lib/sh/clock.c
+       - ditto for print_clock_t
+
+                                  5/22
+                                  ----
+shell.c
+       - since the -O option settings may possibly be overridden by the
+         normal shell initialization or posix initialization, save the
+         invocation options on an alist (with add_shopt_to_alist) and
+         process them after basic initialization (with run_shopt_alist)
+
+                                  5/23
+                                  ----
+trap.h
+       - new define, BASH_NSIG, all system signals plus special bash traps
+
+trap.c, builtins/trap.def
+       - use BASH_NSIG for array bounds and loops where appropriate
+
+trap.c
+       - change decode_signal to disallow numeric signal numbers above
+         NSIG -- this means you can only reference special traps like
+         DEBUG by name
+       - new SPECIAL_TRAP(s) macro to test whether s is one of the special
+         bash traps (currently DEBUG and EXIT)
+       - change reset_or_restore_signal_handlers so command substitution
+         doesn't inherit the debug trap (like ksh93), and child processes
+         don't have to rely on initialize_traps being run to get rid of
+         any debug trap
+
+support/mksignames.c
+       - add extra "ERR" signal name, value NSIG+1, allocate space for it
+         and write it out in signal_names[]
+
+trap.h
+       - new define: ERROR_TRAP == NSIG+1, change BASH_NSIG to NSIG+2
+       - extern declarations for set_error_trap, run_error_trap
+       - new define: TRAP_STRING(s), expands to trap_list[s] if signal S
+         is trapped and not ignored, NULL otherwise
+
+trap.c
+       - add ERROR_TRAP to SPECIAL_TRAPS define
+       - initialize ERROR_TRAP stuff in initialize_traps
+       - new function: set_error_trap(command), sets the ERR trap string
+       - new function: run_error_trap(command), runs the ERR trap string
+       - set trap string for ERROR_TRAP to NULL in free_trap_strings
+       - change reset_or_restore_signal_handlers so child processes don't
+         inherit the ERR trap
+       - add case to call run_error_trap in maybe_call_trap_handler
+
+execute_cmd.c
+       - in execute_command_internal, keep track of ERR trap and call it if
+         necessary
+       - use TRAP_STRING to get the value of debug and error traps
+       - in execute_function, arrange things so the ERR trap is not inherited
+         by shell functions, and is saved and restored like the DEBUG trap
+
+doc/{bash.1,bashref.texi}
+       - documented new ERR trap
+
+tests/{trap.{tests,right},trap2.sub,trap2a.sub}
+       - added ERR trap tests
+
+subst.c
+       - on machines without /dev/fd, change the named pipe fifo list to a
+         list of structs containing pathname and proc information
+       - change unlink_fifo_list to kill the proc in the fifo list with
+         signal 0 and not remove the fifo if the proc is still alive.  This
+         should fix the problem on those backward systems without /dev/fd
+         where fifos were removed when a job using process substitution was
+         suspended
+
+                                  5/24
+                                  ----
+examples/loadables/getconf.h
+       - new file, with basic defines needed to make getconf work minimally
+         on POSIX systems without the necessary definitions
+
+examples/loadables/getconf.c
+       - replacement functions for confstr, sysconf, pathconf for systems
+         that lack them, providing a minimal posix interface
+       - heavily augmented getconf, now supports all POSIX.1-200x,
+         POSIX.2-200x, Solaris 7, AIX 4.2 getconf variables
+
+                                  5/29
+                                  ----
+builtins/setattr.def
+       - make `readonly', `export', and `declare' print `invisible' variables
+         as just a command and variable name, without a value, when listing
+         all variables (as POSIX.2-200x d6 requires)
+
+                                  5/30
+                                  ----
+
+configure.in
+       - upgraded to autoconf-2.50 on main development machine, so require
+         autoconf-2.50 in preparation for using some if its new features
+       - call AC_C_PROTOTYPES
+       - remove call to AC_EXEEXT, which now does the wrong thing
+       - changed AC_INIT to new flavor
+       - added call to AC_CONFIG_SRCDIR
+       - AC_CONFIG_HEADER -> AC_CONFIG_HEADERS
+       - AC_RETSIGTYPE -> AC_TYPE_SIGNAL
+
+configure.in, aclocal.m4, config.h.in
+       - removed call to BASH_LARGE_FILE_SUPPORT, use AC_SYS_LARGEFILE
+         standard support, with new macros _FILE_OFFSET_BITS and
+         _LARGE_FILES
+       - removed definition of BASH_LARGE_FILE_SUPPORT
+
+doc/bashref.texi
+       - document new `--enable-largefile' configure option
+
+lib/readline/readline.c
+       - change rl_set_prompt to call rl_expand_prompt unconditionally, so
+         local_prompt and local_prompt_prefix get set correctly
+
+                                   6/6
+                                   ---
+lib/readline/complete.c
+       - don't append `/' or ` ' to a match when completing a symlink that
+         resolves to a directory, unless the match doesn't add anything
+         to the word.  This means that a tab will complete the word up to
+         the full name, but not add anything, and a subsequent tab will add
+         a slash.  Change to append_to_match; callers changed
+
+hashlib.c
+       - new function, hash_table_nentries (table), returns the number of
+         items in TABLE
+
+hashlib.h
+       - extern declaration for hash_table_nentries
+
+configure.in
+       - configure without bash malloc on openbsd; they claim it needs
+         eight-bit alignment (which the bash malloc provides, but...)
+
+                                   7/2
+                                   ---
+stringlib.c
+       - only call RESIZE_MALLOCED_BUFFER from strsub() if the replacement
+         string length is > 0, avoid possible hangs if replacement is null
+
+subst.c
+       - don't include input.h; no longer needed
+
+configure.in
+       - remove calls to AC_SYS_RESTARTABLE_SYSCALLS and
+         BASH_SYS_RESTARTABLE_SYSCALLS; the results are no longer used
+
+config.h.in
+       - remove define for HAVE_RESTARTABLE_SYSCALLS
+
+aclocal.m4
+       - removed definition of BASH_SYS_RESTARTABLE_SYSCALLS; no longer used
+
+execute_cmd.c
+       - changed select command so `return' no longer terminates the select
+         command, so it can be used to return from an enclosing function.
+         This is as ksh (88 and 93) does it
+
+lib/readline/vi_mode.c
+       - fix trivial typo in declaration of vi_motion; `t' appears twice;
+         the second instance should be `T'
+
+                                   7/3
+                                   ---
+configure.in
+       - don't add -static to LDFLAGS on Solaris 2.x.  This means that the
+         auxiliary programs will be built as dynamic executables, but that
+         should do no harm
+
+                                   7/5
+                                   ---
+lib/glob/fnmatch.c
+       - fix the code that processes **(pattern) to short-circuit if the
+         pattern is ill-formed or lacks a trailing `)'  -- this fixes the
+         segfault on **(/*)
+
+Makefile.in, builtins/Makefile.in
+       - split CCFLAGS into CCFLAGS_FOR_BUILD and CFLAGS, to aid in
+         cross-compilation
+       - build programs that use $(CC_FOR_BUILD) using $(CCFLAGS_FOR_BUILD)
+
+configure.in, config.h.in
+       - check for getaddrinfo(3), define HAVE_GETADDRINFO if found
+
+lib/sh/netopen.c
+       - implemented a version of _netopen (_netopen6) that uses
+         getaddrinfo(3) if available, use if HAVE_GETADDRINFO is defined.
+         old _netopen is _netopen4; _netopen now calls either _netopen6
+         or _netopen4 as appropriate
+
+                                   7/9
+                                   ---
+builtins/exit.def
+       - don't source ~/.bash_logout if subshell_environment is non-zero
+
+execute_command.c
+       - in execute_until_or_while, handle the case where `breaking' is
+         set in the loop test (e.g., by the job control code when a job
+         is stopped with SIGTSTP), but the return value from the test is
+         something that would cause the loop to break.  Need to decrement
+         `breaking' in this case
+
+                                  7/10
+                                  ----
+execute_cmd.c
+       - in execute_in_subshell, make sure a command of type cm_subshell
+         inherits its `enclosing' command's CMD_IGNORE_RETURN flag
+
+variables.c
+       - in maybe_make_export_env, don't allow restricted shells to put
+         exported functions in the export environment
+
+                                  7/11
+                                  ----
+lib/glob/strmatch.h
+       - renamed old fnmatch.h
+       - changed guard #ifdef to _STRMATCH_H
+       - include system <fnmatch.h> if HAVE_LIBC_FNM_EXTMATCH is defined
+
+lib/glob/strmatch.c
+       - renamed old fnmatch.c
+       - include "strmatch.h"
+       - if HAVE_LIBC_FNM_EXTMATCH is defined, define a dummy version of
+         strmatch() that just calls fnmatch(3)
+
+lib/glob/glob.c
+       - include "strmatch.h"
+       - fnmatch -> strmatch
+
+Makefile.in, lib/glob/Makefile.in
+       - fnmatch -> strmatch
+
+{bashhist,execute_cmd,pathexp,pcomplete,shell,stringlib,subst,test}.c,
+pathexp.h,builtins/help.def
+       - include <glob/strmatch.h>
+       - fnmatch -> strmatch
+
+execute_cmd.c
+       - broke the code that parses the interpreter name from a #! line
+         out from execute_shell_script to a new function, getinterp()
+       - call getinterp from execute_shell_script
+       - use return value from getinterp in error message about bad
+         #! interpreter in shell_execve
+
+                                  7/12
+                                  ----
+lib/readline/isearch.c
+       - the last isearch string is now remembered in a new static variable,
+         last_isearch_string
+       - if ^R^R is typed, readline now searches for the remembered isearch
+         string, if one exists
+
+                                  7/24
+                                  ----
+pcomplete.h
+       - extern declaration for completions_to_stringlist()
+
+                                  7/25
+                                  ----
+builtins/complete.def
+       - make compgen handle -o default option
+       - make compgen return success only if sl->list_len is non-zero,
+         indicating that there are items on the list
+
+                                  7/31
+                                  ----
+execute_cmd.c
+       - in execute_connection, force stdin to /dev/null for asynchronous
+         commands if job control is not active, not just if the shell is
+         running a shell script (since you can run `set -m' in a script)
+
+lib/readline/rltty.c
+       - make sure _rl_tty_restore_signals resets `tty_sigs_disabled' on
+         successful restoration of the terminal modes
+       - make sure _rl_tty_disable_signals turns off IXON so that ^S and
+         ^Q can be read by rl_quoted_insert
+
+                                   8/1
+                                   ---
+aclocal.m4
+       - new check for FNM_EXTMATCH being defined in <fnmatch.h>, as Ullrich
+         Drepper intends to do for new versions of GNU libc
+
+config.h.in
+       - new definition for HAVE_LIBC_FNM_EXTMATCH
+
+configure.in
+       - check for fnmatch, but don't define anything in config.h
+       - call BASH_FUNC_FNMATCH_EXTMATCH to check for FNM_EXTMATCH
+
+                                   8/2
+                                   ---
+alias.h
+       - remove bogus extern declaration for xmalloc()
+       - include "stdc.h"
+       - add prototype declarations for all extern function declarations
+
+xmalloc.c,lib/readline/xmalloc.c
+       - fix xmalloc to return a PTR_T
+       - fix xrealloc to return a PTR_T and take a PTR_T as first argument
+
+include/ansi_stdlib.h
+       - extern declarations for malloc and realloc have them return PTR_T
+
+xmalloc.h
+       - new file, with extern declarations for functions in xmalloc.c
+
+general.h
+       - removed extern declarations for functions in xmalloc.c
+       - include xmalloc.h
+
+Makefile.in,builtins/Makefile.in
+       - update dependencies to include xmalloc.h
+
+parse.y,{alias,array,bashline,bracecomp,execute_cmd,findcmd,flags,general,
+hashcmd,locale,mailcheck,make_cmd,pathexp,pcomplete,print_cmd,stringlib,
+subst,unwind_prot,variables}.c
+builtins/{common,evalfile}.c
+builtins/{cd,command,enable,exec,printf,read,set}.def
+lib/sh/{makepath,netopen,pathphys,setlinebuf,shquote,snprintf,stringlist,
+strtrans,tmpfile}.c
+lib/readline/{util,terminal,shell,readline,macro,kill,isearch,input,
+histfile,histexpand,display,complete,bind}.c
+       - make sure all calls to xmalloc are cast to the right return value
+
+siglist.c
+       - include xmalloc.h
+
+parse.y,{alias,bashline,bracecomp,expr,make_cmd,nojobs,print_cmd,subst}.c
+builtins/{fc,printf,read}.def
+lib/sh/snprintf.c, lib/tilde/tilde.c
+lib/readline/{bind,display,histexpand,isearch,macro,util,vi_mode}.c
+       - make sure all calls to xrealloc are cast to the right return value
+
+lib/sh/{netopen,setlinebuf,shquote,snprintf}.c, lib/tilde/tilde.c
+       - include xmalloc.h, remove extern declaration of xmalloc
+
+lib/readline/xmalloc.h
+       - xmalloc and xrealloc should return PTR_T
+
+lib/readline/rldefs.h
+       - don't include an extern declaration for xmalloc
+
+                                   8/7
+                                   ---
+support/shobj-conf
+       - fixed up commented-out stanzas for HP's unbundled C compiler on
+         HP/UX
+
+support/bashbug.sh
+       - force the subject to be changed from the default
+
+lib/readline/doc/{rluser.texinfo,readline.3}, doc/bash.1
+       - document that transpose-words swaps the last two words on the line
+         if point is at the end of the line
+
+                                   8/9
+                                   ---
+stringlib.c
+       - fix possible infinite recursion problem with null pattern in
+         strsub()
+
+hashlib.c
+       - new function copy_hash_table to copy a hash table using a caller-
+         supplied function to copy item data (defaults to savestring())
+
+hashlib.h
+       - new extern declaration for copy_hash_table
+
+builtins/declare.def
+       - changes so that declare [-a] var=value assigns `value' to element 0
+         of array variable `var' like ksh93
+       - change so that declare [-a] var[N]=value assigns `value' to element
+         N of array variable `var' like ksh93
+
+                                  8/13
+                                  ----
+arrayfunc.c
+       - new file, for miscellaneous array functions
+
+arrayfunc.h
+       - new file, extern declarations for functions in arrayfunc.c
+
+variables.c
+       - move convert_var_to_array, bind_array_variable,
+         assign_array_from_string, assign_array_var_from_word_list,
+         assign_array_var_from_string, quote_array_assignment_chars,
+         skipsubscript, unbind_array_element, print_array_assignment
+         to arrayfunc.c
+
+shell.h
+       - include arrayfunc.h after variables.h
+
+variables.h
+       - remove above extern function declarations moved to arrayfunc.h
+       - add extern declaration for var_lookup
+
+Makefile.in
+       - add arrayfunc.c, arrayfunc.h in appropriate places
+       - add arrayfunc.h to dependencies
+
+subst.c
+       - move valid_array_reference, array_expand_index, array_variable_part,
+         array_value_internal, array_value (now global), get_array_value,
+         do_array_element_assignment to arrayfunc.c
+
+subst.h
+       - extern declarations for functions above moved to arrayfunc.h
+
+arrayfunc.h
+       - extern declarations for above functions from subst.c
+
+subst.[ch]
+       - string_list_dollar_star and string_list_dollar_at are now global
+         functions
+       - quote_escapes is now a global function
+
+subst.c
+       - maybe_expand_string -> expand_string_if_necessary
+       - expand_string_to_string -> expand_string_to_string_internal
+       - new functions: expand_string_to_string and
+         expand_string_unsplit_to_string, which call
+         expand_string_to_string_internal with expand_string and
+         expand_string_unsplit as the FUNC arguments, respectively
+
+arrayfunc.c
+       - change array_expand_index to call expand_string_to_string instead
+         of maybe_expand_string
+
+                                  8/14
+                                  ----
+shell.c
+       - in execute_env_file, call expand_string_unsplit_to_string
+
+mailcheck.c
+       - in check_mail, call expand_string_to_string
+
+variables.c
+       - in assign_in_env, call expand_string_unsplit_to_string
+
+arrayfunc.c
+       - new function, array_variable_name, splits an array reference into
+         a name (which is returned as a new string) and subscript
+       - change array_variable_part to just call array_variable_name and
+         look up the string returned with find_variable
+       - new function, find_or_make_array_variable (name, flags) which will
+         look up an array variable and convert a string variable to an
+         array if necessary.  The FLAGS argument, if non-zero, says to
+         check the readonly and noassign attributes and fail if either is set
+
+builtins/read.def
+       - make `read -a aname' honor any readonly status of `aname'
+       - read -a now calls find_or_make_array_variable with FLAGS value 1
+
+arrayfunc.[ch], subst.c, builtins/{declare,read}.def
+       - do_array_element_assignment -> assign_array_element
+
+                                  8/20
+                                  ----
+parse.y
+       - changed `for' command grammar to allow missing word list after `IN'
+         token, like latest POSIX drafts require
+
+lib/sh/tmpfile.c
+       - in sh_mktmpname(), check for filenum == 0 and init to non-zero number
+         in this case.  it can happen on arithmetic overflow
+
+support/mkversion.sh
+       - added `[0-9].[0-9][0-9][a-z]' as an acceptable value for a
+         distribution to allow for intermediate versions, like 2.05a
+
+support/config.guess
+       - removed the addition of the output of `/usr/bin/objformat' when
+         creating the canonical name on FreeBSD machines, so the canonical
+         name is once again `freebsd4.2' instead of `freebsdelf4.2'
+
+                                  8/22
+                                  ----
+lib/readline/{rlstdc,history,keymaps,readline,rldefs,rlprivate,rlshell,
+rltypedefs,xmalloc}.h
+lib/readline/{bind,compat,complete,display,funmap,histexpand,histsearch,
+input,isearch,kill,nls,parens,readline,rltty,search,shell,signals,vi_mode
+       - changed __P to PARAMS
+
+lib/tilde/tilde.[ch]
+       - changed __P to PARAMS
+
+{Makefile,configure}.in
+       - changed the version number to 2.05a
+       - changed the release status to `alpha1'
+
+                                  8/23
+                                  ----
+support/shobj-conf
+       - support for building shared libraries on Darwin/MacOS X
+
+siglist.h
+       - extern declaration for strsignal() to compensate for lack of
+         a definition in some system include files
+
+jobs.c
+       - remove casts from strsignal() calls
+
+[bash-2.05a-alpha1 frozen]
+
+                                  8/27
+                                  ----
+[bash-2.05a-alpha1 released]
+
+                                  8/27
+                                  ----
+execute_cmd.c
+       - fix eval_arith_for_expr to handle the case where the expanded
+         word list is NULL, returning 0 in this case
+
+print_cmd.c
+       - in print_function_def, make sure that func_redirects is assigned
+         a value before being used
+
+                                  8/28
+                                  ----
+alias.c
+       - include <ctype.h> for definition of isalpha()
+
+bashhist.h
+       - add prototypes for extern function declarations
+
+flags.c
+       - include bashhist.h for extern function declarations
+
+mksyntax.c
+       - include <unistd.h> if HAVE_UNISTD_H is defined in config.h
+
+parse.y
+       - include test.h for extern function declarations
+
+externs.h
+       - change extern declaration for setlinebuf to sh_setlinebuf
+
+stringlib.c
+       - include <glob/glob.h> for extern function declarations
+
+variables.h
+       - add function prototypes for all of the sv_* functions
+
+builtins/common.h
+       - add extern declarations for set_shellopts() and parse_shellopts()
+         from builtins/set.def
+
+variables.c
+       - include "hashcmd.h" for extern declaration for flush_hashed_filenames
+       - include "pathexp.h" for extern declaration for setup_glob_ignore
+
+lib/malloc/malloc.c
+       - cast to `long' instead of `int' in memalign for 64-bit machines
+
+{pcomplete,trap}.c
+       - changed printf escape sequences used to print pointers to %p
+
+lib/readline/undo.c
+       - include "xmalloc.h" for extern function declaration
+
+input.h
+       - add function prototypes to extern declarations for getc_with_restart
+         and ungetc_with_restart
+
+variables.[ch]
+       - changed type of `function' member of `struct name_and_function' to
+         `sv_func_t', which is defined and prototyped in variables.h
+       - map_over now takes an `sh_var_map_func_t *'
+
+shell.h
+       - start of a set of function pointer typedefs like those in
+         lib/readline/rltypedefs.h
+
+hashlib.[ch]
+       - second paramter to flush_hash_table is now an `sh_free_func_t *'
+
+trap.c
+       - parameter to reset_or_restore_signal_handlers is now an
+         `sh_resetsig_func_t *'
+
+pcomplete.h, pcomplib.c
+       - function pointer argument to print_all_compspecs is now an
+         `sh_csprint_func_t *'
+       - function pointer `list_getter' element of an `ITEMLIST' is now
+         prototyped with __P((...)) instead of using `Function *'
+
+jobs.[ch]
+       - `j_cleanup' member of a JOB is now an `sh_vptrfunc_t *'
+
+alias.c
+       - map_over_aliases now takes an `sh_alias_map_func_t *'
+       - free_alias_data now takes a `PTR_T'
+
+pathexp.c
+       - function pointer argument to ignore_globbed_names is now an
+         `sh_ignore_func_t *' 
+
+bashline.c
+       - function pointer argument to _ignore_completion_names is now an
+         `sh_ignore_func_t *' 
+
+pathexp.h,{bashhist,bashline.c
+       - `item_func' member of a `struct ignorevar' is now an
+         `sh_iv_item_func_t *'
+
+builtins/evalfile.c
+       - `errfunc' is now an `sh_vmsg_func_t *'
+
+jobs.c
+       - map_over_job now takes an `sh_job_map_func_t *' as its first argument
+
+array.[ch]
+       - function pointer argument to array_walk is now an
+         `sh_ae_map_func_t *'
+
+general.c
+       - tilde_expansion_preexpansion_hook has type `tilde_hook_func_t *',
+         and so the assignment in tilde_initialize doesn't need a cast
+
+list.c
+       - map_over_words now takes an `sh_icpfunc_t *' as its second argument
+
+input.h
+       - the `getter' and `ungetter' function pointer members of a
+         BASH_INPUT are now of types `sh_cget_func_t *' and
+         `sh_cunget_func_t *' respectively
+       - init_yy_io now takes an `sh_cget_func_t *' as its first argument and
+         an `sh_cunget_func_t *' as its second
+
+parse.y
+       - init_yy_io now takes an `sh_cget_func_t *' as its first argument and
+         an `sh_cunget_func_t *' as its second
+       - initialize_bash_input casts bash_input.getter and bash_input.ungetter
+         appropriately
+
+builtins/mkbuiltins.c
+       - make the extern function definitions written to builtext.h have
+         prototypes with __P((...))
+       - include "stdc.h"
+       - change Function to mk_handler_func_t
+       - fixed comment_handler to take the right number of args
+       - prototyped all the handler functions with __P((...))
+
+builtins.h
+       - the `function' member of a struct builtin is now of type
+         `sh_builtin_func_t *'
+
+builtins/common.[ch]
+       - last_shell_builtin, this_shell_builtin are now of type
+         `sh_builtin_func_t *'
+       - find_shell_builtin, builtin_address, find_special_builtin now return
+         `sh_builtin_func_t *'
+
+builtins/exit.def, {execute_cmd,jobs,nojobs,variables}.c, parse.y
+       - changed all declarations of last_shell_builtin and this_shell_builtin
+
+execute_cmd.c
+       - execute_builtin, execute_builtin_or_function,
+         execute_subshell_builtin_or_function now take an
+         `sh_builtin_func_t *' instead of a `Function *' for argument
+       - changed appropriate variables from `Function *' to
+         `sh_builtin_func_t *'
+
+builtins/{bind,builtin,enable,read,setattr}.def
+       - replaced uses of `Function *' in variable declarations with
+         appropriate types (sh_builtin_func_t * or rl_command_func_t *)
+
+builtins/set.def
+       - set_func and get_func members of binary_o_options are now of types
+         `setopt_set_func_t *' and `setopt_get_func_t *', which are
+         prototyped
+
+builtins/shopt.def
+       - set_func member of shopt_vars is now of type `shopt_set_func_t *'
+
+bashline.c
+       - enable_hostname_completion now returns `int' (the old value of
+         perform_hostname_completion)
+
+[The only use of Function and VFunction now is for unwind-protects]
+
+                                   9/4
+                                   ---
+lib/sh/getcwd.c
+       - use const define from config.h rather than `CONST'
+       - use PTR_T define from xmalloc.h rather than `PTR'
+       - include xmalloc.h for PTR_T
+       - remove PATH_MAX define, rely on value from maxpath.h
+
+{general,mailcheck}.c, lib/sh/{pathcanon,pathphys}.c
+       - don't include maxpath.h directly; it's already included by shell.h
+
+lib/sh/mailstat.c
+       - new `mailstat()' implementation, to stat a mailbox file for
+         mail checking.  handles maildir-style mail directories with one
+         file per message and creates a dummy stat struct from them
+
+lib/sh/Makefile.in
+       - add mailstat.c and mailstat.o in the appropriate places
+
+lib/malloc/malloc.c
+       - augmented implementation with wrapper functions that pass in file
+         and line number information from cpp.  currently unused, but a
+         placeholder for future debugging and use tracking
+
+lib/malloc/shmalloc.h
+       - new file, extern declarations for allocation wrapper functions for
+         use by the shell (and others, I guess)
+
+xmalloc.[ch]
+       - wrapper functions for xmalloc, xfree, xrealloc (sh_ prefixed) that
+         pass cpp line number information through to the malloc functions,
+         if USING_BASH_MALLOC is defined
+
+                                   9/5
+                                   ---
+lib/malloc/gmalloc.c
+       - removed; no longer part of distribution
+
+lib/malloc/Makefile.in
+       - removed references to gmalloc.[co]
+
+configure.in, doc/bashref.texi
+       - removed references to `--with-glibc-malloc' configure option
+
+{configure,Makefile}.in
+       - changed the way bash malloc is configured into the Makefile, making
+         it more like how readline is configured.  If the bash malloc is
+         not configured in, nothing in lib/malloc will be built
+
+                                   9/6
+                                   ---
+lib/malloc/imalloc.h
+       - new file, some internal malloc definitions
+
+lib/malloc/mstats.h
+       - new file, definitions for malloc statistics structs and functions
+
+lib/malloc/trace.c
+       - new file, malloc tracing functions (currently just print messages
+         to stderr), code is #ifdef MALLOC_TRACE
+
+lib/malloc/stats.c
+       - new file, moved malloc stats code from malloc.c to here
+
+lib/malloc/malloc.c
+       - moved some definitions to imalloc.h
+       - moved stats code to stats.c
+       - malloc tracing calls added to internal_{malloc,realloc,free}, all
+         #ifdef MALLOC_TRACE
+
+lib/malloc/Makefile.in, Makefile.in
+       - added {imalloc,mstats}.h, {trace,stats}.c
+
+parse.y
+       - changed decode_prompt_string to save and restore $?
+         (last_command_exit_value) around calls to expand_prompt_string(),
+         so command substitutions in PS1, etc. don't change $?
+
+{array,subst}.c
+       - a couple more arrayind_t fixes from Paul Eggert
+
+configure.in
+       - remove redundant check for wait3(2)
+
+redir.h
+       - fixed a typo (stdin_redirs -> stdin_redirects)
+
+                                  9/10
+                                  ----
+execute_cmd.c
+       - remove check for \n and \r from WHITESPACE macro, since those
+         chars are not whitespace as returned by the whitespace(c) macro
+       - getinterp now takes a `char *' as first arg, not unsigned char *
+       - execute_shell_script now takes a `char *' as first arg, not
+         unsigned char *
+       - fix typo in forward declaration for `initialize_subshell'
+       
+general.[ch]
+       - check_binary_file now takes a (char *) argument, not unsigned char *
+       - pass unsigned char to isspace and isprint because of ISO C fuckup
+       - bash_tilde_expand now takes a `const char *' as its argument
+
+builtins/evalfile.c, shell.c
+       - buffer passed to check_binary_file is char, not unsigned char
+
+parse.y
+       - fix extern declaration for yyerror()
+       - yyerror now takes a `const char *' as first arg
+
+{error,jobs}.c
+       - fixes to printf-style functions to handle pids wider than an int
+
+lib/readline/{isearch,vi_mode}.c
+       - fix call to rl_message in rl_display_search (remove extra arg)
+
+variables.c
+       - fix missing argument to builtin_error in make_local_variable
+
+builtins/getopts.def
+       - since getopts takes no options, change while loop calling
+         internal_getopts to a simple `if' check
+
+builtins/printf.def
+       - since printf takes no options, change while loop calling
+         internal_getopts to a simple `if' check
+
+lib/readline/bind.c
+       - remove _SET_BELL macro, expand code inline
+
+lib/readline/input.c
+       - change _rl_input_available to use either select or FIONREAD,
+         but not both
+
+lib/readline/readline.c
+       - fix rl_digit_loop to remove unreachable code at end of loop
+
+{bashhist,bashline,expr,jobs,redir,shell}.c, builtins/fc.def, lib/sh/snprintf.c
+       - bracket unused functions with #ifdef INCLUDE_UNUSED/#endif
+       - remove some unused variables
+
+execute_cmd.c
+       - remove #ifdef'd code that allowed `return' to terminate a select
+         statement
+
+expr.c
+       - remove some extraneous tests from strlong()
+
+array.h
+       - arrayind_t is now a long, since shell arithmetic is performed as
+         longs
+       - remove second declaration of new_array_element
+
+builtins/printf.def
+       - in mklong, xrealloc cannot return NULL, so don't check for it
+       - remove some #if 0 code
+       - fix core dump triggered by a format specification with more than
+         one `*'
+       - remove `foundmod', since its value mirrors `modchar != 0'
+       - include "common.h" for builtin_{error,usage} declarations
+
+Makefile.in,builtins/Makefile.in
+       - updated some dependencies due to new include files
+
+pcomplete.c
+       - include "execute_cmd.h" for declaration of execute_shell_function
+
+arrayfunc.c
+       - include <stdio.h> for printf
+       - include "builtins/common.h" for builtin_error declaration
+
+builtins/evalstring.c
+       - include "../trap.h" for run_trap_cleanup declaration
+
+builtins/help.def
+       - include "common.h" instead of locally declaring builtin_error
+         and builtin_usage
+
+error.h
+       - add extern declaration for itrace()
+       - add prototype to extern declaration of get_name_for_error
+       - file_error now takes a `const char *' as first argument
+
+externs.h
+       - added prototype for sh_setlinebuf declaration, bracketed with
+         NEED_SH_SETLINEBUF_DECL so we don't need stdio.h everywhere
+       - add extern declaration for parse.y:return_EOF()
+
+shell.c
+       - add NEED_SH_SETLINEBUF_DECL before including shell.h
+
+lib/readline/callback.c
+       - include <stdlib.h> or "ansi_stdlib.h" for abort declaration
+
+quit.h
+       - remove declaration of throw_to_top_level
+
+subst.c
+       - remove unused extern declaration for getopts_reset
+
+lib/sh/netopen.c
+       - include <shell.h> for legal_number, etc.
+       - add prototype for inet_aton extern declaration
+
+lib/sh/clock.c
+       - include <stdc.h> for __P declaration
+       - add extern declaration for get_clk_tck
+
+support/mkversion.sh
+       - changed so that extern function declarations for functions in
+         version.c (moved from externs.h) are in the generated version.h
+
+shell.h
+       - include version.h
+
+version.c
+       - various `char *' version variables are now `const char *'
+
+general.h
+       - add prototype for same_file, bracketed with _POSIXSTAT_H
+         #ifdef, since that's what include/posixstat.h defines
+
+builtins/common.[ch]
+       - _evalfile, maybe_execute_file, source_file, and fc_execute_file
+         now take a `const char *' as their first argument
+
+eval.c
+       - removed extern declaration of yyparse; it's in externs.h
+
+parse.y
+       - added prototypes to static forward function declarations
+       - changed local `all_digits' variable in read_token_word () to
+         all_digit_token to avoid clash with all_digits() function in
+         general.c
+
+{bashhist,copy_cmd,make_cmd,hashlib,mailcheck}.c
+       - added prototypes for static function declarations
+
+shell.h
+       - add extern declarations for interactive, interactive_shell,
+         changed c files with extern declarations
+
+pcomplete.c
+       - changed it_init_aliases to avoid shadowing global variable
+         `aliases'
+
+bashline.c,pathexp.c,general.h
+       - sh_ignore_func_t is now a pointer to a function taking a
+         `const char *'; users changed
+
+configure.in
+       - test for <strings.h>
+
+config.h.in
+       - add #undef HAVE_STRINGS_H
+
+bashansi.h
+       - change like recommended in autoconf manual
+
+                                  9/11
+                                  ----
+[a date which will live in infamy.  prayers for the victims.]
+
+execute_cmd.c
+       - don't use an absolute index into abuf in mkfmt, use
+         sizeof(abuf) to compute last index
+
+builtins/common.c
+       - fix read_octal to do a better job of detecting overflow while
+         iterating through the string
+
+builtins/umask.def
+       - change octal-print mode to print 4 digits, like other shells
+       - cast umask to unsigned long to avoid problems on systems where
+         it's wider than an int (POSIX doesn't guarantee that mode_t is
+         no wider than an int, but real-world systems use int)
+
+builtins/printf.def
+       - mklong can never return NULL (it uses xrealloc), so the mainline
+         doesn't need to check for NULL returns
+       - new function, getldouble (long double *), to get long doubles
+       - mklong now takes a `char *' as its second argument, the modifier(s)
+         to use
+       - changed use of `modchar' to handle more than a single modifier
+         character
+       - changed to handle `long double' and `L' formats better, rather
+         than discarding long double information
+       - since printf now follows the POSIX.2 rules for conversion errors,
+         we can dispense with the status returns from the get* functions
+       - make the get* functions as similar in structure as possible,
+         removing type casts, etc.
+
+lib/sh/timeval.c,execute_cmd.c
+       - change some instances of `long' to `time_t', for systems where
+         a time_t is bigger than a long
+
+jobs.c
+       - include "posixtime.h" instead of <sys/time.h>
+
+config.h.in
+       - add defines for HAVE_DECL_CONFSTR, HAVE_DECL_STRTOLD,
+         HAVE_DECL_SBRK, HAVE_DECL_PRINTF
+       - remove defines for SBRK_DECLARED and PRINTF_DECLARED
+       - add _GNU_SOURCE define
+
+configure.in
+       - add AC_CHECK_DECLS for strtold, confstr, sbrk, printf
+       - remove call to BASH_FUNC_SBRK_DECLARED
+       - remove call to BASH_FUNC_PRINTF
+
+xmalloc.c, lib/malloc/malloc.c
+       - change check of SBRK_DECLARED to HAVE_SBRK_DECL
+
+print_cmd.c
+       - change PRINTF_DECLARED to HAVE_DECL_PRINTF
+
+builtins/evalstring.c, builtins/common.h
+       - parse_and_execute now takes a `const char *' as its second argument
+
+input.h,parse.y
+       - with_input_from_* functions now take a `const char *' as their
+         second argument
+       - init_yy_io now takes a `const char *' as its fourth argument
+
+parse.y,externs.h
+       - parse_string_to_word_list now takes a `const char *' as its second
+         argument
+
+tests/builtins.right
+       - change output to account for extra digit in umask output
+
+pcomplib.c
+       - free_progcomp now takes a PTR_T argument
+
+builtins/bashgetopt.h
+       - include <stdc.h>
+       - add prototypes to extern declarations
+
+builtins/shopt.def
+       - add prototypes to static function declarations
+
+builtins/{fc,umask,wait}.def, builtins/{bashgetopt,common}.c
+       - include <ctype.h> for isdigit macro (referenced by `digit(x)')
+
+lib/readline/complete.c
+       - added more static function declarations with prototypes
+
+                                  9/12
+                                  ----
+lib/sh/tmpfile.c
+       - use `^' instead of `*' in sh_mktmpname to make filenames a bit
+         more random
+
+include/stdc.h,lib/readline/rldstdc.h
+       - add __attribute__ definition 
+
+builtins/common.h
+       - add printf __attribute__ to declaration of builtin_error
+
+error.h
+       - add printf __attribute__ to declaration of programming_error,
+         report_error, parser_error, fatal_error, sys_error, internal_error,
+         internal_warning
+
+lib/readline/readline.h
+       - add printf __attribute__ to declaration of rl_message
+
+pcomplete.c
+       - add printf __attribute__ to declaration of debug_printf
+
+print_cmd.c
+       - add printf __attribute__ to declarations of cprintf, xprintf
+
+include/chartypes.h
+       - new file, includes <ctype.h> and defines macros that check for
+         safe (ascii) arguments before calling the regular ctype macros
+
+{alias,bashline,execute_cmd,expr,findcmd,general,locale,mksyntax,stringlib,subst,variables}.c
+parse.y
+builtins/{bashgetopt,common}.c
+builtins/{fc,printf,umask,wait}.def
+lib/glob/strmatch.c
+lib/sh/{oslib,pathcanon,pathphys,snprintf,strcasecmp,strindex,stringvec,strtod,strtol,strtrans}.c
+examples/loadables/{head,sleep}.c
+       - include "chartypes.h" or <chartypes.h> instead of <ctype.h>
+
+Makefile.in,{builtins,lib/{glob,sh}}/Makefile.in
+       - update dependencies to include chartypes.h
+
+lib/sh/inet_aton.c
+       - use `unsigned char' instead of `char' to pass to ctype.h functions
+
+lib/sh/netopen.c
+       - check for '0' <= host[0] <= '9' in _getaddr instead of using
+         isdigit
+
+subst.c,lib/sh/shquote.c
+       - change array subscripts into sh_syntaxtab from `char' to
+         `unsigned char'
+
+{alias,bashline,execute_cmd,expr,general,subst}.c, parse.y
+builtins/{fc,printf,umask,wait}.def builtins/{bashgetopt,common}.c
+lib/sh/{pathcanon,pathphys,snprintf,strcasecmp,strindex,strtod,strtol,strtrans}.c
+examples/loadables/{head,sleep}.c
+       - change to use some of the new macros in chartypes.h
+       - remove old local macro definitions now provided by chartypes.h
+
+general.h
+       - remove definition of isletter, ISOCTAL, digit, digit_value
+       - change legal_variable_starter and legal_variable_char to use
+         chartypes.h macros
+       - change ABSPATH to use chartypes.h macros
+
+lib/readline/util.c
+       - change to use Paul Eggert's FUNCTION_FOR_MACRO define to define
+         function replacements for macros in chardefs.h
+
+lib/readline/chardefs.h
+       - added some of the same macros as in chartypes.h
+       - change _rl_lowercase_p, _rl_uppercase_p, _rl_digit_p,
+         _rl_to_upper, _rl_to_lower to use new IS* macros
+       - added _rl_isident macro from vi_mode.c:isident
+
+lib/readline/{bind,complete,nls}.c
+       - change to use some of the new macros from chardefs.h
+
+lib/readline/vi_mode.c
+       - isident -> _rl_isident
+       - remove local defines of macros in chardefs.h
+
+lib/sh/strtol.c
+       - updated to new version, modified from glibc 2.2.4 and sh-utils-2.0.
+         This one can do strtoll and strtoull, if necessary
+
+                                  9/13
+                                  ----
+builtins/ulimit.def
+       - changed get_limit so it retrieves both hard and soft limits
+         instead of one or the other
+       - changed callers of get_limit
+       - changed getmaxvm to take soft limit, hard limit as arguments
+       - changed getmaxuprc to just take a single argument, the value
+       - changed calls to printone() to pass soft limit or hard limit
+         depending on `mode' instead of using old current_limit variable
+       - moved check for out-of-range limits in ulimit_internal into the
+         block that converts a string argument to a value of type rlim_t
+       - changed RESOURCE_LIMITS struct to break the description into a
+         description string and separate scale factor string
+       - changed print_all_limits to print a single error message if
+         get_limit fails, including limits[i].description now that the
+         scale factor has been removed from the description string
+       - removed DESCFMT define, since it's now used only in printone()
+       - changed printone to print the option character associated with a
+         particular limit if we're printing multiple limits
+       - changed calls to builtin_error to print the description associated
+         with a limit if setting or getting the limit fails
+       - added support for new POSIX 1003.1-200x rlim_t values:
+         RLIM_SAVED_CUR and RLIM_SAVED_MAX, which expand to the current
+         soft and hard limits, whatever they are
+       - changed printone to print `hard' or `soft' if the current limit is
+         RLIM_SAVED_MAX or RLIM_SAVED_CUR, respectively
+       - changed ulimit_internal to handle new `hard' and `soft' arguments
+       - changed help text do describe the special limit arguments `hard',
+         `soft', and `unlimited'
+
+doc/{bash.1,bashref.texi}
+       - documented new `hard' and `soft' limit arguments to `ulimit'
+
+hashlib.[ch]
+       - find_hash_item now takes a `const char *' is its first argument
+       - hash_string now takes a `const char *' is its first argument
+       - remove_hash_item now takes a `const char *' as its first argument
+
+pcomplib.c
+       - removed cast from first argument to find_hash_item in find_compspec
+
+general.[ch]
+       - absolute_program now takes a `const char *' as its argument
+       - absolute_pathname now takes a `const char *' as its argument
+
+lib/glob/glob.[ch]
+       - glob_pattern_p now takes a `const char *' as its argument
+
+bashline.c
+       - removed cast from first argument to absolute_program in
+         command_word_completion_function
+       - removed cast from first argument to glob_pattern_p in
+         attempt_shell_completion
+
+findcmd.[ch]
+       - find_absolute_program, find_user_command, find_path_file,
+         search_for_command, user_command_matches now take a
+         `const char *' as their first argument
+       - file_status, executable_file, is_directory, executable_or_directory
+         now take a `const char *' as their argument
+       - _find_user_command_internal, find_user_command_internal,
+         find_user_command_in_path 
+
+lib/sh/makepath.c, externs.h
+       - changed sh_makepath so it takes `const char *' for its first
+         two arguments
+
+hashcmd.[ch]
+       - find_hashed_filename now takes a `const char *' as its first arg
+       - remove_hashed_filename now takes a `const char *' as its first arg
+
+variables.[ch]
+       - new_shell_variable, var_lookup, shell_var_from_env_string,
+         find_name_in_env_array, bind_function, makunbound,
+         bind_name_in_env_array, bind_tempenv_variable, bind_variable
+         now take a `const char *' as their first arg
+       - find_function, make_new_variable, find_tempenv_variable,
+         find_variable_internal, find_variable, set_func_read_only,
+         set_func_auto_export, all_variables_matching_prefix, assign_in_env,
+         assignment, kill_local_variable, make_local_variable, unbind_variable
+         now take a `const char *' as their arg
+       - mk_env_string now takes `const char *' arguments
+
+arrayfunc.[ch]
+       - skipsubscript now takes a `const char *' as its argument
+
+                                  9/17
+                                  ----
+lib/readline/complete.c
+       - attempt to preserve case of what the user typed in
+         compute_lcd_of_matches if we're ignoring case in completion
+
+builtins/{let,pushd}.def,{execute_cmd,expr}.c
+       - change some 0L constants to 0 and let the compiler sort it out
+
+                                  9/18
+                                  ----
+lib/malloc/alloca.c
+       - alloca now takes a `size_t' argument
+
+include/memalloc.h
+       - if we're providing an extern function declaration for alloca,
+         use `void *' and prototype if __STDC__ is defined
+       - if HAVE_ALLOCA_H is defined, but C_ALLOCA is defined, don't
+         define HAVE_ALLOCA
+
+                                  9/19
+                                  ----
+subst.c
+       - do_assignment_internal, do_assignment, and do_assignment_no_expand
+         now take a `const char *' as their first argument
+
+general.h
+       - a `sh_assign_func_t' is now a function taking a `const char *' and
+         returning int
+
+hashcmd.c
+       - free_filename_data now takes a `PTR_T' argument to agree with the
+         typedef for `sh_free_func_t'
+
+lib/sh/snprintf.c
+       - use TYPE_MAXIMUM define like strtol.c instead of huge constants
+
+                                  9/20
+                                  ----
+lib/sh/snprintf.c
+       - don't bother to compile the bulk of the body unless HAVE_SNPRINTF
+         or HAVE_ASPRINTF is not defined
+
+                                  9/24
+                                  ----
+flags.c
+       - ignore `set -n' if the shell was started interactively
+
+lib/readline/readline.c
+       - initialize readline_echoing_p to 0; let the terminal-specific code
+         in rltty.c set it appropriately
+
+lib/malloc/malloc.c
+       - changed internal_memalign() slightly to avoid compiler warnings about
+         negating an unsigned variable (-alignment -> (~alignment + 1))
+
+                                  9/27
+                                  ----
+lib/readline/readline.c
+       - changed rl_newline to set _rl_history_saved_point appropriately
+         for the {previous,next}_history code
+
+lib/readline/rlprivate.h
+       - extern declaration for _rl_history_preserve_point
+
+lib/readline/bind.c
+       - new bindable variable, `history-preserve-point', sets value of
+         _rl_history_preserve_point
+
+                                  10/1
+                                  ----
+lib/malloc/table.c
+       - new file, with a map of allocated (and freed) memory for debugging
+         multiple frees, etc.  Indexed by hash on values returned by
+         malloc(); holds size, file and line number info for last alloc or
+         free and a couple of statistics pointers
+
+lib/malloc/malloc.c
+       - a few cleanups; added calls for registering allocations and frees
+         if MALLOC_REGISTER is defined
+       - replaced MALLOC_RETURN with explicit MALLOC_NOTRACE define
+       - reordered fields in `struct...minfo' in `union mhead' to restore
+         eight-byte alignment
+       - added explicit checks for underflow in free and realloc since
+         checking mh_magic2 is not sufficient to detect everything (it's
+         no longer the last field in the struct, and thus not the bytes
+         immediately preceding what's returned to the user)
+       - new function, xbotch, for printing file and line number info for
+         the failed assertion before calling botch() (programming_error())
+
+configure.in
+       - replaced call to BASH_C_LONG_LONG with call to
+         AC_CHECK_TYPES([long long])
+       - moved the C compiler tests before the tests for various
+         system types, so we can know whether we have `long long'
+         before testing for 64-bit types
+       - if we have `long long', check for sizeof(long long) and save value
+
+aclocal.m4
+       - changed BASH_TYPE_BITS64_T to check `long long' before `long', but
+         after `double'
+
+                                  10/2
+                                  ----
+lib/malloc/malloc.c
+       - made malloc and realloc both agree on the rounding for a request of
+         size N (round up to nearest multiple of 8 after adjusting for
+         malloc overhead); uses new ALLOCATED_BYTES macro
+       - realloc and free now use new IN_BUCKET macro for underflow checks
+
+execute_cmd.c
+       - fixed time_command() to use `time_t' instead of `long' to hold
+         time stamps
+
+lib/sh/clock.c
+       - clock_t_to_secs now takes a `time_t *' second argument
+       - fixed print_clock_t to call clock_t_to_secs with right arguments
+
+lib/sh/timeval.c
+       - fixed print_timeval to make `minutes' a `long' and make its
+         structure identical to print_clock_t
+
+redir.c
+       - changed redirection_error to check for EBADF and use the file
+         descriptor being redirected from in the error message if it
+         is >= 0
+
+Makefile.in
+       - changed release status to `beta1'
+
+lib/glob/collsyms.h
+       - added a few ASCII symbols to the posix_collsyms array
+
+                                  10/3
+                                  ----
+aclocal.m4
+       - fixed typo in BASH_TYPE_BITS64_T
+
+configure.in
+       - added check for unsigned chars with AC_C_CHAR_UNSIGNED
+
+config.h.in
+       - added PROTOTYPES and __CHAR_UNSIGNED__ #defines
+
+general.h
+       - if CHAR_MAX is not define by <limits.h>, provide a definition
+
+builtins/printf.def
+       - change tescape() to mask \0 and \x escape sequences with 0xFF
+       - change tescape() to process at most two hex digits after a `\x'
+
+lib/sh/strtrans.c
+       - change strtrans() to mask \0 and \x escape sequences with 0xFF
+       - change strtrans() to process at most two hex digits after a `\x'.
+         This affects `echo -e' and $'...' processing
+
+lib/readline/bind.c
+       - changed rl_translate_keyseq() to process at most two hex digits
+         after a `\x'
+
+lib/readline/doc/{rluser.texinfo,readline.3}, doc/bash.1
+       - changed documentation for key binding escape sequences to specify
+         that at most two hex digits after \x are translated
+       - changed documentation for key binding to specify that the result
+         of \nnn or \xhh escapes is an eight-bit value, not just ASCII
+
+doc/{bash.1,bashref.texi}
+       - changed documentation of $'...' to specify that at most two hex
+         digits after \x are translated
+       - changed `echo' documentation to specify that at most two hex
+         digits after \x are translated
+       - changed documentation for `echo' and $'...' to specify that the
+         result of \nnn or \xhh escapes is an eight-bit value, not just ASCII
+
+                                  10/4
+                                  ----
+lib/malloc/malloc.c
+       - changed interface for xbotch to pass memory address and error code
+         as two additional arguments
+       - call mregister_describe_mem from xbotch to get the last allocation
+         or free before the botch
+
+configure.in
+       - call AC_CHECK_DECLS([strsignal])
+
+config.h.in
+       - add HAVE_DECL_STRSIGNAL
+
+siglist.h
+       - make declaration of strsignal() dependent on !HAVE_DECL_STRSIGNAL
+
+                                  10/5
+                                  ----
+support/texi2html
+       - upgraded to version 1.64
+
+                                  10/9
+                                  ----
+aclocal.m4
+       - added check for `long long' to BASH_TYPE_PTRDIFF_T
+
+configure.in
+       - replaced call to BASH_HAVE_TIOCGWINSZ with AC_HEADER_TIOCGWINSZ
+
+aclocal.m4
+       - replaced body of BASH_STRUCT_TERMIOS_LDISC with call to
+         AC_CHECK_MEMBER(struct termios.c_line, ...)
+       - replaced body of BASH_STRUCT_TERMIO_LDISC with call to
+         AC_CHECK_MEMBER(struct termios.c_line, ...)
+
+[bash-2.05a-beta1 frozen]
+
+                                  10/10
+                                  -----
+lib/sh/snprintf.c
+       - fixed exponent() to not smash the trailing zeros in the fraction
+         when using %g or %G with an `alternate form'
+       - fixed exponent() to handle the optional precision with %g and %G
+         correctly (number of significant digits before the exponent)
+
+                                  10/11
+                                  -----
+expr.c
+       - fixed strlong() to correct the values of `@' and `_' when
+         translating base-64 constants (64#@ == 62 and 64#_ == 64), for
+         compatibility with ksh
+
+lib/sh/itos.c
+       - added a slightly more flexible fmtlong() function that takes a
+         base argument and flags (for future use)
+       - rewrote itos and inttostr in terms of fmtlong
+
+lib/sh/fmtulong.c
+       - new file, converts unsigned long to string.  hooks for `unsigned
+         long long' in the future.  unused as yet
+
+                                  10/15
+                                  -----
+lib/readline/rltty.c
+       - change the SET_SPECIAL macro to avoid possible (but highly
+         unlikely) negative array subscripts
+
+error.h
+       - add __attribute__ to extern declaration of itrace (even though the
+         function isn't defined in released versions of bash)
+
+bashansi.h
+       - include <strings.h> if HAVE_STRINGS_H is defined, to get any extra
+         function declarations provided therein
+
+copy_cmd.c
+       - fix typo in forward declaration for copy_arith_for_command
+
+lib/malloc/stats.c
+       - make the accumulators in _print_malloc_stats be `unsigned long'
+         instead of `int'
+
+externs.h, sig.h
+       - add `__noreturn__' gcc attribute to exit_shell and jump_to_top_level
+         declarations
+
+lib/sh/mailstat.c, support/bashversion.c
+       - include <bashansi.h> for some string function declarations
+
+lib/malloc/shmalloc.h
+       - added extern declarations of functions that do malloc debugging
+
+lib/readline/{isearch,readline,vi_mode}.c
+       - make sure we index into _rl_keymap with a non-negative index
+
+parse.y
+       - make sure we index into sh_syntaxtab with a non-negative index
+
+lib/readline/vi_mode.c
+       - bound the vi_mark_chars array with the number of characters between
+         'a' and 'z' rather than using a fixed amount
+       - don't use _rl_lowercase_p when deciding whether the char read by
+         rl_vi_set_mark is a valid mark; just use 'a' <= char <= 'z'
+
+lib/readline/chardefs.h
+       - conditionally include memory.h and strings.h as in general.h
+       - replace ISASCII with IN_CTYPE_DOMAIN like other GNU software
+       - add defines for ISPRINT(c), ISLOWER(c) and ISUPPER(c)
+       - fix defines for _rl_lowercase_p, _rl_uppercase_p, _rl_digit_p,
+         _rl_pure_alphabetic, ALPHABETIC, _rl_to_upper, _rl_to_lower,
+         and _rl_isident to work on systems with signed chars
+
+include/chartypes.h
+       - replace ISASCII with IN_CTYPE_DOMAIN like other GNU software
+
+lib/sh/{strcasecmp,strtod,strtol}.c
+       - don't pass possibly-negative characters to tolower() or toupper()
+
+lib/glob/strmatch.c
+       - don't bother testing for isupper in FOLD; rely on TOLOWER macro
+         from <chartypes.h> to do it
+       - don't use local definitions of isblank, et al.; rely on macros
+         from <chartypes.h>
+
+lib/readline/{display,readline}.c, mksyntax.c
+       - use new ISPRINT macro instead of isprint()
+
+builtins/{kill.def,mkbuiltins.c},{error,execute_cmd,jobs,nojobs,subst}.c
+       - don't assume that a pid_t fits into an int for printing and other
+         uses
+
+variables.[ch]
+       - the unused put_gnu_argv_flags_into_env now takes a `long' pid
+         argument
+
+configure.in, config.h.in
+       - call AC_STRUCT_ST_BLOCKS, define HAVE_STRUCT_STAT_ST_BLOCKS if found
+       - check for strtoull(), define HAVE_STRTOULL if found
+       - check for uintmax_t, define to `unsigned long' if not found
+
+lib/sh/mailstat.c
+       - don't use st_blocks member of struct stat unless
+         HAVE_STRUCT_STAT_ST_BLOCKS is defined; otherwise use the st_nlink
+         field to return the total number of messages in a maildir-style
+         mail directory
+
+general.h,{alias,expr,general,subst,variables}.c
+builtins/{printf,read}.def
+lib/readline/{bind,complete,nls}.c
+lib/sh/{pathcanon,pathphys,shquote,snprintf,strindex,strtod,strtol,strtrans}.c
+       - cast args to ctype macros to unsigned char for systems with signed
+         chars; other fixes for signed chars
+
+lib/sh/{fmtullong,strtoull.c}
+       - new files, more support for `long long'
+
+Makefile.in, lib/sh/Makefile.in
+       - make fmtullong.o and strtoull.o part of libsh
+
+lib/sh/itos.c
+       - remove local copy of fmtlong; use fmtulong instead
+       - new functions: uitos, uinttostr work on `unsigned long'
+
+lib/sh/snprintf.c
+       - fixes to make `unsigned long long' work (%llu)
+       - fixes to make unsigned formats not print the sign when given
+         an unsigned long that is greater than LONG_MAX
+
+externs.h
+       - extern declarations for fmtulong, fmtulloing, strtoull
+       - extern declarations for uitos, uinttostr
+
+                                  10/16
+                                  -----
+configure.in
+       - move header checks before function checks
+       - move c compiler tests before header checks
+       - check for <inttypes.h> with BASH_HEADER_INTTYPES
+       - change type checks for intmax_t, uintmax_t to not attempt to
+         include <stdint.h>
+       - check for strtoimax, strtoumax, strtoll, strtol, strtoull, strtoul
+         with BASH_CHECK_DECL (for declarations in header files) and
+         AC_REPLACE_FUNCS (for availability and LIBOBJS substitution)
+       - remove check for have_long_long around sizeof check for long long
+         (since autoconf will give it a size of 0 if the type isn't found)
+
+config.h.in
+       - add a define for HAVE_INTTYPES_H
+       - add a define for HAVE_UNSIGNED_LONG_LONG
+       - add defines for HAVE_STRTOIMAX, HAVE_STRTOUMAX, HAVE_STRTOLL
+
+aclocal.m4
+       - new func, BASH_HEADER_INTTYPES, which just calls AC_CHECK_HEADERS
+         on <inttypes.h>; separate so it can be AC_REQUIREd
+       - AC_REQUIRE([BASH_HEADER_INTTYPES]) in BASH_CHECK_TYPE
+       - include <inttypes.h> in BASH_CHECK_TYPE if HAVE_INTTYPES_H is
+         defined
+       - change AC_DEFINE to AC_DEFINE_UNQUOTED in BASH_CHECK_TYPE
+       - new `long long' checking macros:  BASH_TYPE_LONG_LONG and
+         BASH_TYPE_UNSIGNED_LONG_LONG
+       - new BASH_CHECK_DECL 
+
+lib/sh/{strto[iu]max,strtoll}.c, lib/sh/Makefile.in, Makefile.in
+       - new files
+
+externs.h
+       - extern declarations for strtoll, strtoimax, strtoumax
+
+lib/malloc/alloca.c
+       - include <bashtypes.h> for size_t
+
+builtins/printf.def
+       - new functions: getllong, getullong, getintmax, getuintmax; return
+         long long, unsigned long long, intmax_t, uintmax_t respectively
+       - builtin printf now handles `ll' and `j' length modifiers directly
+
+lib/sh/Makefile.in
+       - use LIBOBJS to decide whether or not the strto* functions are
+         needed
+
+                                  10/17
+                                  -----
+configure.in
+       - call AC_REPLACE_FUNCS(rename)
+       - move getcwd, strpbrk, strcasecmp, strerror, strtod
+         from AC_CHECK_FUNCS to AC_REPLACE_FUNCS
+       - only call BASH_FUNC_GETCWD if $ac_func_getcwd == "yes"
+       - call BASH_CHECK_SYS_SIGLIST
+       - if we don't have vprintf but have _doprnt, call AC_LIBOBJ(vprint)
+
+lib/sh/Makefile.in
+       - remove rename, getcwd, inet_aton, strpbrk, strcasecmp, strerror,
+         strtod, vprint from OBJECTS; picked up from LIBOBJS
+
+aclocal.m4
+       - change BASH_FUNC_GETCWD to call AC_LIBOBJ(getcwd) if the libc
+         getcwd(3) calls popen(3)
+       - change BASH_FUNC_INET_ATON to call AC_LIBOBJ(inet_aton) if it's
+         not found in libc or as a #define even with the special includes
+       - BASH_KERNEL_RLIMIT_CHECK -> BASH_CHECK_KERNEL_RLIMIT
+       - BASH_DEFAULT_MAILDIR -> BASH_SYS_DEFAULT_MAILDIR
+       - BASH_JOB_CONTROL_MISSING -> BASH_SYS_JOB_CONTROL_MISSING
+       - BASH_REINSTALL_SIGHANDLERS -> BASH_SYS_REINSTALL_SIGHANDLERS
+       - BASH_SIGNAL_CHECK -> BASH_SYS_SIGNAL_VINTAGE
+       - BASH_DUP2_CLOEXEC_CHECK -> BASH_FUNC_DUP2_CLOEXEC_CHECK
+       - BASH_PGRP_SYNC -> BASH_SYS_PGRP_SYNC
+       - BASH_RLIMIT_TYPE -> BASH_TYPE_RLIMIT
+       - BASH_FUNC_PRINTF -> BASH_DECL_PRINTF
+       - BASH_FUNC_SBRK_DECLARED -> BASH_DECL_SBRK
+       - BASH_MISC_SPEED_T -> BASH_CHECK_SPEED_T
+       - BASH_CHECK_SOCKLIB -> BASH_CHECK_LIB_SOCKET
+       - new macro, BASH_CHECK_SYS_SIGLIST, encapsulates all the checks for
+         sys_siglist, _sys_siglist, and strsignal(), sets SIGLIST_O to
+         siglist.o if appropriate
+
+Makefile.in
+       - use SIGLIST_O variable to decide whether or not we need siglist.o
+
+{execute_cmd,subst}.c
+       - change a couple of instances of ISDIGIT to DIGIT, where we really,
+         really only want ascii digits
+
+ansi_stdlib.h
+       - don't need a declaration for atol()
+
+                                  10/18
+                                  -----
+
+aclocal.m4
+       - new macro, BASH_FUNC_PRINTF_A_FORMAT, checks for printf support
+         for %a, %A conversion specifiers, defines HAVE_PRINTF_A_FORMAT
+         if successful
+
+configure.in
+       - call AC_CHECK_FUNCS for isascii
+       - call BASH_FUNC_PRINTF_A_FORMAT
+
+config.h.in
+       - add a define for HAVE_ISASCII
+       - add a define for HAVE_PRINTF_A_FORMAT
+
+lib/sh/snprintf.c
+       - for long double output, fall back to sprintf using ldfallback()
+         function for floating point formats
+       - support %a, %A using dfallback() or ldfallback() if
+         HAVE_PRINTF_A_FORMAT is defined
+       - fix bug in vasprintf that returned wrong value in its first
+         argument if the buffer holding the result string got reallocated
+       - fixed PUT_CHAR macro to increment the counter even if we've
+         exceeded the buffer size, for the return value from
+         vsnprintf/snprintf
+       - fix vsnprintf_internal to not use counter < length as a loop
+         condition, but always process the entire format string (for
+         the return value from vsnprintf/snprintf)
+
+builtins/printf.def
+       - support %a, %A if HAVE_PRINTF_A_FORMAT is defined
+
+include/typemax.h
+       - new file, with the TYPE_MAXIMUM stuff that's duplicated in several
+         files in lib/sh
+
+lib/sh/{fmtulong,strtol,snprintf}.c
+       - include <typemax.h> instead of having the definitions in each file
+
+lib/sh/Makefile.in
+       - updated dependencies for typemax.h
+
+                                  10/22
+                                  -----
+configure.in
+       - call AC_CHECK_FUNCS on ctype.h functions/macros that bash redefines
+         in chartypes.h
+
+config.h.in
+       - defines for HAVE_IS{ASCII,BLANK,GRAPH,PRINT,SPACE,XDIGIT}
+
+include/chartypes.h, lib/glob/strmatch.c, lib/readline/chardefs.h
+       - don't redefine some is* ctype macros/functions if HAVE_ISXXX is
+         defined (meaning that an appropriate function, but not a macro,
+         exists)
+
+lib/sh/strtrans.c
+       - new function, ansic_shouldquote, returns 1 if argument string
+         contains non-printing chars that should be quoted with $'...'
+
+externs.h
+       - new declaration for ansic_shouldquote()
+
+variables.c
+       - change print_var_value to ansi C quote the string if we're not in
+         posix mode and the variable's value contains non-printing chars,
+         to use the regular shell single quoting if the value contains
+         shell meta-characters, and to just output the string otherwise
+
+lib/sh/shquote.c
+       - add `break' to `case '~':' to avoid fallthrough and extra test
+
+doc/bashref.texi
+       - note that in POSIX mode, `set' displays variable values that
+         include nonprinting characters without quoting, unless they
+         contain shell metacharacters
+
+builtins/printf.def, lib/sh/snprintf.c
+       - handle `F' conversion specifier as equivalent to 'f'
+
+parse.y, {nojobs,variables}.c
+       - a couple of cleanups for when building a minimal configuration
+
+nojobs.c
+       - new function: stop_making_children(), just sets
+         already_making_children to 0 (like stop_pipeline)
+
+subst.c
+       - call stop_making_children from subst.c:command_substitute if
+         JOB_CONTROL is not defined.  This fixes the bug where the wrong
+         process is waited for (and its status returned) when using
+         command substitution in a null command in a shell function
+
+builtins/printf.def
+       - new variable `tw' used to keep track of the total number of
+         characters written by a single call to `printf' -- to be
+         used for the `%n' conversion, which will be added later.  It
+         gets reset each time we reuse the format string, which is what
+         ksh93 seems to do
+
+                                  10/23
+                                  -----
+variables.c
+       - new function, bind_var_to_int (char *var, long val)
+
+variables.h
+       - extern declaration for bind_var_to_int
+
+lib/sh/netopen.c
+       - use gai_strerror() for error messages when getaddrinfo() fails
+       - use PF_INET if DEBUG is defined, since IPv6 doesn't work for me
+
+Makefile.in
+       - pass DEBUG=${DEBUG} down to makes in some subdirectories
+
+{builtins,lib/{glob,sh}}/Makefile.in
+       - append ${DEBUG} to LOCAL_CFLAGS value, passed by top-level Makefile
+
+builtins/printf.def
+       - added support for %n format conversion char (number of chars printed
+         so far from current format string)
+
+                                  10/24
+                                  -----
+variables.c
+       - if posixly_correct is set, the default value of $MAILCHECK is 600
+       - use legal_number instead of atoi in adjust_shell_level
+       - treat non-numeric assignments to SECONDS as 0 in assign_seconds
+       - new function, init_funcname_var; sets FUNCNAME as a dynamic variable
+         if it's not set in the initial environment
+       - new function, init_groups_var; sets GROUPS as a dynamic array
+         variable if it's not set in the initial environment
+       - new function, init_dirstack_var; sets DIRSTACK as a dynamic array
+         variable if it's not set in the initial environment
+       - new function, init_seconds_var; sets SECONDS as a dynamic
+         variable using any valid integer value in the initial environment
+         as the initial value, as if an assignment had been performed
+       - call init_funcname_var, init_groups_var, init_dirstack_var,
+         init_seconds_var from initialize_dynamic_variables
+       - non-numeric values assigned to LINENO are treated as 0
+       - change initialize_shell_variables to not auto-export PATH or TERM
+       - change set_home_var to not auto-export HOME
+       - change set_shell_var to not auto-export SHELL
+       - broke the code that sets HOSTNAME, HOSTTYPE, MACHTYPE, OSTYPE
+         out into a separate function, set_machine_vars; none of those
+         variables are auto-exported
+       - bash no longer un-exports SSH_CLIENT or SSH2_CLIENT
+
+shell.c
+       - changed isnetconn() to check SSH_CLIENT and SSH2_CLIENT only if
+         SSH_SOURCE_BASHRC is defined in config-top.h
+
+config-top.h
+       - added a commented-out definition for SSH_SOURCE_BASHRC
+
+                                  10/25
+                                  -----
+
+Makefile.in
+       - changed RELSTATUS to `rc1' (release candidate 1)
+
+                                  10/29
+                                  -----
+locale.c
+       - fixed an `=' vs. `==' typo in set_locale_var when parsing
+         LC_NUMERIC
+
+doc/{bash.1,bashref.texi}
+       - document what bash does with $POSIXLY_CORRECT
+
+doc/builtins.1
+       - some updates
+
+builtins/psize.sh
+       - some mktemp(1) changes
+
+lib/readline/readline.c
+       - change rl_backward to check for rl_point < 0 and reset to 0 if so
+
+lib/readline/util.c
+       - don't compile in _rl_strpbrk if HAVE_STRPBRK is defined
+
+lib/readline/rlprivate.h
+       - remove extern declaration of _rl_strpbrk
+
+lib/readline/rldefs.h
+       - #define _rl_strpbrk as strpbrk if HAVE_STRPBRK is define, otherwise
+         add extern declaration of _rl_strpbrk from rlprivate.h
+
+{mailcheck,shell,variables}.c
+       - make sure to include posixtime.h to get any prototype for time(3)
+         in scope
+
+{array,eval,execute_cmd,mksyntax,subst}.c, parse.y
+builtins/common.c
+lib/sh/pathcanon.c
+       - a few changes as the result of `gcc -Wall' patches from solar
+         designer
+
+builtins/read.def, parse.y
+       - change some calls to free() to xfree()
+
+builtins/set.def
+       - make sure unset_builtin() resets unset_array to 0 each time through
+         the loop, because it's set (and used) depending on the current
+         argument
+
+shell.h
+       - new define, USE_VAR, to force the compiler to not put a particular
+         variable in a register -- helpful if registers are not restored
+         by setjmp/longjmp
+
+builtins/{evalfile.c,{read,wait}.def}, {eval,execute_cmd,shell,test}.c
+       - use USE_VAR for some variables
+
+subst.c
+       - fixed a case in expand_word_internal where a NULL pointer could
+         have been passed to free() (though free() should ignore it)
+       - fixed a case at the end of expand_word_internal where LIST could
+         have been used uninitialized (it makes gcc happy, though it
+         doesn't happen in practice)
+
+test.c
+       - give test_syntax_error(), beyond(), and integer_expected_error()
+         the `__noreturn__' attribute for gcc
+
+unwind_prot.c
+       - in clear_unwind_protect_list(), convert `flags' to `long' (via
+         assignment to a `long' variable) before casting to `char *', in
+         case pointers and longs are 64 bits and ints are 32 (makes no
+         difference on 32-bit machines)
+
+                                  10/30
+                                  -----
+print_cmd.c
+       - fixed cprintf to avoid gcc warning about assigning const pointer
+         to non-const (discarding type qualifier)
+
+{make_cmd,pcomplete,test}.c,parse.y
+       - some minor changes to shut up gcc warnings
+
+lib/sh/tmpfile.c
+       - fixed sh_mktmpfp to avoid file descriptor leaks in the case that
+         sh_mktmpfd succeeds but fdopen fails for some reason
+       - change sh_mktmpfd to use the same scheme for computing `filenum'
+         as sh_mktmpname
+       - change get_sys_tmpdir to prefer P_tmpdir if P_tmpdir is defined
+       - changed sh_mktmpname and sh_mktmpfd to avoid trying to assign to
+         `nameroot' if `nameroot == 0' (duh)
+       - add code to sh_mktmpfd to use mkstemp(3) if USE_MKSTEMP is defined
+       - add code to sh_mktmpname to use mktemp(3) if USE_MKTEMP is defined
+
+support/{fixlinks,mkclone}
+       - use mktemp if it's available for the symlink test
+       - use $TMPDIR instead of hardcoding /tmp; default to /tmp
+       - use a better filename for the symlink test instead of `z'
+
+support/bashbug.sh
+       - more changes inspired by a patch from solar designer
+
+lib/malloc/Makefile.in
+       - new target `alloca', which builds libmalloc.a with alloca.o only
+         (for systems without alloca that are configured --without-bash-malloc)
+
+configure.in
+       - if we don't have a working alloca and are not configured to build
+         the bash malloc library, make a malloc library containing only
+         alloca.o
+
+aclocal.m4
+       - slight change to RL_LIB_READLINE_VERSION to deal with minor version
+         numbers with a letter appended (like 4.2a)
+
+                                  10/31
+                                  -----
+doc/{bash.1,bashref.texi}
+       - slight change to note that only interactive shells resend a SIGHUP
+         to all jobs before exiting
+
+externs.h
+       - declare strto[ui]max only if NEED_STRTOIMAX_DECL is defined.  This
+         keeps picky compilers from choking because intmax_t is not defined
+         (MacOS X 10.1)
+
+builtins/printf.def
+       - #define NEED_STRTOIMAX_DECL before including shell.h
+
+                                  11/1
+                                  ----
+general.c
+       - check in bash_tilde_expand() for an unquoted tilde-prefix; don't
+         bother passing the string to tilde_expand unless the prefix is
+         unquoted
+
+shell.c
+       - fix a problem with $LINENO when executing commands supplied with
+         the -c invocation option when ONESHOT is defined
+
+[bash-2.05a-rc1 frozen]
+
+builtins/printf.def
+       - fix the %n conversion to require that the variable name supplied
+         be a valid shell identifier
+
+variables.c
+       - improve random number generator slightly by using the upper 16
+         bits of the running random number instead of the lower 16, which
+         are incrementally more random
+
+                                  11/2
+                                  ----
+configure.in
+       - if RL_INCLUDEDIR ends up being /usr/include, don't put
+         -I$(RL_INCLUDEDIR) into CFLAGS
+
+                                  11/5
+                                  ----
+doc/{bash.1,bashref.texi}
+       - correct description of POSIXLY_CORRECT to note that the shell enters
+         posix mode *before* the startup files are read if POSIXLY_CORRECT
+         is in the initial environment
+
+variables.c
+       - fix function prologues for init_dirstack_var and init_groups_var
+         to agree with caller (no arguments)
+
+jobs.c
+       - fix forward function declarations for pipe_read and pipe_close
+
+subst.c
+       - removed `inline' attribute from skip_double_quoted because it can
+         potentially be called recursively
+
+bashline.c
+       - quick fix to bashline.c:attempt_shell_completion programmable
+         completion code to just punt if the end of the command word found
+         by find_cmd_end is <= the start found by find_cmd_start (the bug
+         is probably in find_cmd_start -- fix later)
+
+pcomplete.c
+       - fix gen_matches_from_itemlist to return if the stringlist is null
+         after any cleaning or initialization, before trying to use it
+       - fix GEN_COMPS to only bother to try to append the STRINGLIST
+         returned by gen_matches_from_itemlist to `glist' if it's non-NULL
+
+lib/sh/stringlist.c
+       - make copy_stringlist return NULL if the STRINGLIST * passed as an
+         argument is NULL
+       - make append_stringlist call copy_stringlist only if M2 is non-NULL;
+         otherwise just return NULL if m1 is NULL
+       - make word_list_to_stringlist return 0 immediately if the passed
+         LIST argument is NULL
+       - make realloc_stringlist call alloc_stringlist if the passed
+         STRINGLIST argument (`sl') is 0, just like realloc calls malloc
+
+subst.c
+       - in skip_to_delim(), if we have an unclosed ${, and it's at the end
+         of the string (string[i] == '{', string[i+1] == '{' and
+         string[i+2] == 0, return si (i + 2) immediately without bothering
+         to call extract_dollar_brace_string or extract_delimited_string
+       - in skip_to_delim(), if string[i] is 0 after a call to
+         extract_dollar_brace_string or extract_delimited_string (meaning we
+         have an unclosed ${ or other expansion, return i immediately without
+         doing a `continue' (which will increment i past the end of string)
+       - in split_at_delims, don't increment te by 1 if it's pointing to a
+         delimiter.  this has the effect of skipping the first delimiter
+         char in a possibly multi-character delimiter, and ignoring
+         single-char delimiters like `>'
+
+configure.in
+       - use AC_CHECK_MEMBERS([struct stat.st_blocks]) instead of a call to
+         AC_STRUCT_ST_BLOCKS to avoid configure changing LIBOBJS if the test
+         fails
+
+general.c
+       - introduce two new variables: bash_tilde_{prefixes,suffixes}, set
+         to the additional prefixes and suffixes bash wants to pass to the
+         tilde expansion code (reserved for post-bash-2.05a fix)
+
+aclocal.m4
+       - add missing `test' in BASH_CHECK_SYS_SIGLIST
+
+                                  11/7
+                                  ----
+lib/readline/vi_mode.c
+       - fix rl_vi_goto_mark to explicitly check that the desired mark is
+         between 'a' and 'z', since some locales have lowercase letters
+         outside that range, which could cause a negative subscript
+
+include/chartypes.h
+       - remove superfluous `#undef ISASCII'
+
+lib/sh/strto[iu]max.c
+       - changes from Paul Eggert to work around buggy compilers and catch
+         configuration errors at compile time
+
+aclocal.m4
+       - new macro, BASH_C_LONG_DOUBLE, identical to AC_C_LONG_DOUBLE but
+         with a fix for Irix 5.3 (not called, since I'm not sure it's the
+         right thing to do -- the C standard allows double and long double
+         to be the same size)
+
+lib/sh/snprintf.c
+       - only try to write the trailing NUL in vsnprintf_internal if
+         data->length is >= 0, since if it's not, we probably don't have
+         a buffer
+
+Makefile.in
+       - changed RELSTATUS to `release'
+
+                                  11/8
+                                  ----
+lib/sh/strtol.c
+       - make sure chars passed to toupper are cast to unsigned
+
+unwind_prot.c
+       - change clear_unwind_protect_list to not require a cast from `int'
+         to `char *'
+
+lib/readline/chardefs.h
+       - make _rl_digit_p succeed only for ascii digits, since that's what
+         most callers assume
+
+                                  11/13
+                                  -----
+doc/bashref.texi
+       - added `ERR' trap and [-+]O invocation option to section listing
+         differences from the Bourne shell
+
+                                  11/15
+                                  -----
+[bash-2.05a released]
+
+                                  11/19
+                                  -----
+include/stdc.h
+       - new define, INLINE, defined as `inline' for gcc and empty otherwise
+
+subst.c
+       - make skip_double_quoted, sub_append_string have INLINE attribute
+
+trap.c
+       - use BASH_NSIG as upper limit for signal names in signal_name()
+
+lib/readline/bind.c
+       - use RL_COMMENT_BEGIN_DEFAULT in output for rl-comment-begin value
+
+error.c
+       - fix sys_error to save value of errno around calls to fprintf
+
+doc/Makefile.in
+       - added rules to create PDF files from postscript and dvi input
+
+MANIFEST.doc
+       - added {article,bash,bashref,rose94}.pdf
+
+doc/bash.1
+       - rearranged some `.PD 0' and `.TP' directives so man2html will
+         handle them better (shouldn't affect groff output)
+
+support/man2html.c
+       - small fix to handle quoted string arguments to directives like
+         `.BR' without mangling the output
+
+                                  11/20
+                                  -----
+{arrayfunc,variables}.c
+       - changed calling sequence for dynamic array variable `assign'
+         functions to (SHELL_VAR *self, char *value, arrayind_t ind)
+       - changed calling sequence for dynamic variable assign functions
+         to the same as array variable assign_func.  Now this can be
+         prototyped
+
+variables.h
+       - the assign_func member of a `struct variable' is now of type
+         `sh_var_assign_func_t', which is prototyped
+       - the dynamic_value member of a `struct variable' is now of type
+         `sh_var_value_func_t', which is prototyped
+
+variables.c
+       - changed to use `sh_var_assign_func_t' and `sh_var_value_func_t'
+
+builtins/cd.def
+       - when in posix mode, if the new directory name formed by PWD and
+         the argument passed by the user cannot be canonicalized, and the
+         -P option has not been supplied, return failure immediately
+       - if canonicalization failed, but the fallback to the directory
+         name specified by the user succeeds, reset the current working
+         directory
+
+lib/readline/{input.c,rlprivate.h}
+       - renamed rl_unget_char to _rl_unget_char; made library global
+
+lib/readline/{{bind,readline}.c,{keymaps,rlprivate}.h}
+       - support for `key subsequences'; allows a key sequence and a function
+         mapped to a subsequence of that key sequence.  Primarily to allow
+         arrow keys to be bound in readline vi insert mode, while preserving
+         the ESC function to switch to command mode.
+
+lib/readline/{input.c,rlprivate.h}
+       - new function, _rl_input_queued(T), does a check with select or
+         FIONREAD with a timeout of `T' (which is generally 0)
+
+lib/readline/readline.c
+       - change _rl_dispatch_subseq to test for input in the queue if we
+         get ESC while in vi insertion mode if the keymap entry type for
+         ESC is ISKMAP.  If _rl_input_queued returns non-zero, we assume
+         that an arrow key sequence has been pressed and go ahead with the
+         subsequence.  If it returns zero, we assume that the user pressed
+         ESC to switch into command mode, and dispatch to that right away.
+         This avoids forcing the user to press another key before switching
+         into command mode
+
+                                  11/21
+                                  -----
+lib/readline/readline.c
+       - bind common arrow key sequences in vi insertion keymap
+
+lib/readline/terminal.c
+       - bind termcap definition's arrow keys in vi insertion keymap
+
+lib/readline/bind.c
+       - check for rl_vi_movement_mode in _rl_bind_if_unbound, so
+         binding the arrow keys can work
+
+lib/readline/readline.c
+       - since _rl_bind_if_unbound does the check of what's currently
+         bound to the key sequence, the check in bind_arrow_keys_internal
+         was redundant
+       - bind_arrow_keys_internal now takes a Keymap argument and handles
+         saving and restoring _rl_keymap; changed bind_arrow_keys
+         accordingly
+
+builtins/fc.def
+       - fix from Paul Eggert to substitute the nearest history number in
+         range if an out-of-range value is supplied.  POSIX requires this
+
+lib/sh/pathcanon.c
+       - fix from Corrina Vinschen for the special `cygdrive' prefix on
+         Cygwin
+
+bashhist.c
+       - split the history adding code into more pieces:
+           check_history_control (char *line) checks LINE against the value
+           of HISTCONTROL, returning 1 if LINE should be saved and 0 if not
+
+           check_add_history (char *line) calls check_history_control and
+           history_should_ignore (line) and saves the line with
+           bash_add_history if the checks indicate that it should be saved
+
+           maybe_add_history just calls check_add_history to set the value
+           of first_line_saved
+
+bashhist.h
+       - extern declaration for check_add_history()
+
+shell.c
+       - don't call load_history() from the interactive shell startup
+         code if history_lines_this_session is > 0, indicating that we've
+         already saved some lines in the history and that we probably
+         don't want to overwrite them
+
+builtins/history.def
+       - call check_add_history from push_history, so `history -s xx'
+         works even when in a compound command whose first line has not
+         been saved.  (Caveat:  in a compound command when the first
+         line has been saved, the line supplied to history -s will become
+         part of the compound command's history entry.  Of course, the
+         delete_history call could remove the compound command from the
+         history entirely)
+
+bashline.c
+       - use sh_makepath instead of xmalloc/sprintf in
+         command_word_completion_function
+
+lib/readline/complete.c
+       - get_y_or_n now takes an int FOR_PAGER argument; caller changed
+         If FOR_PAGER is non-zero, get_y_or_n returns appropriate values
+         for a more-like pager:  `newline' or `return' return 2; `q' or
+         `Q' return 0
+       - there is now a mini internal more-like pager for displaying a
+         list of completions that exceeds the screen height (new function
+         _rl_internal_pager, called from rl_display_match_list)
+
+                                  11/24
+                                  -----
+command.h
+       - new flag, W_TILDEEXP, says to do tilde expansion on an
+         assignment word
+
+execute_cmd.c
+       - fix_assignment_words now sets W_TILDEEXP for assignment word
+         arguments to `assignment builtins'
+
+general.c
+       - bash_tilde_expand now takes a second argument indicating whether
+         or not it's being invoked in an `assignment context'
+
+general.h
+       - change extern declaration for bash_tilde_expand
+
+{bashline,execute_cmd,findcmd,general,variables}.c
+builtins/evalfile.c
+lib/sh/makepath.c
+       - fix callers of bash_tilde_expand appropriately
+
+subst.c
+       - fix callers of bash_tilde_expansion appropriately
+       - add (currently commented-out) code that would tilde expand assignment
+         statement arguments to assignment builtins (W_TILDEEXP flag set)
+         even when the shell is in posix mode
+
+bashline.c
+       - fix attempt_shell_completion to turn off
+         rl_filename_completion_desired when doing command name completion,
+         so no slash gets appended to the name if there happens to be a
+         directory with the same name in the current directory
+
+                                  11/26
+                                  -----
+lib/readline/rltech.texinfo
+       - a couple of additions to the rl_stuff_char description
+
+parse.y
+       - turn off echo_input_at_read in parse_string_to_word_list, so `set -v'
+         doesn't give extra lines of output when doing compound array
+         assignment
+
+subst.c
+       - fix split_at_delims to handle skipping over a `\n' if it's a
+         delimiter (use spctabnl(c) instead of whitespace(c))
+
+                                  11/27
+                                  -----
+support/config.{guess,sub}
+       - updated (with bash changes) to latest version from gnu.org
+
+sig.h
+       - add prototype for set_signal_handler declaration
+
+builtins/setattr.def
+       - add prototype to extern declaration of declare_builtin
+
+builtins/times.def
+       - add no_options call, since times takes no options
+
+lib/sh/spell.c
+       - add prototypes to forward declarations for midist and spdist
+
+lib/sh/strtrans.c
+       - add explicit int return type to ansic_shouldquote declaration
+
+lib/readline/rldefs.h, lib/readline/{macro,readline,util,undo}.c
+       - move define for SWAP to rldefs.h, removed from various C files
+
+lib/readline/vi_mode.c
+       - removed define for exchange(), changed to use SWAP instead
+
+lib/readline/bind.c
+       - added some static forward function declarations
+       - find_boolean_var, find_string_var now take a `const char *' argument
+
+lib/readline/signals.c
+       - added static forward declaration for rl_maybe_set_sighandler
+
+lib/readline/readline.c
+       - add some common key bindings for the HOME and END keys in
+         bind_arrow_keys_internal
+
+lib/readline/terminal.c
+       - fetch the `@7' termcap string; it's sent by the END key
+       - attempt to bind the terminal's END key to rl_end_of_line in
+         bind_termcap_arrow_keys; I don't know why I was using `kH'
+         instead of `@7'
+
+doc/builtins.1
+       - remove `case', `for', `if', `until', `while' from NAME section;
+         those are not shell builtins
+
+                                  11/28
+                                  -----
+stringlib.c
+       - new function, find_token_in_alist, takes a token value and an
+         ALIST argument, and returns the string correspoinding to the
+         token if found in the alist
+
+externs.h
+       - new extern declaration for find_token_in_alist()
+
+subst.c
+       - string_list_internal is no longer static
+
+subst.h
+       - new extern declaration for string_list_internal()
+
+parse.y
+       - new alist array of other tokens returned by read_token which are
+         not reserved words in word_token_alist[]
+       - reworked error reporting:  new functions print_offending_line,
+         which prints the line containing the syntax error,
+         error_token_from_token, which takes the current token and tries to
+         figure out its textual representation, and error_token_from_text,
+         which does the old job of finding the bad token by analyzing the
+         text of shell_input_line at the current index
+       - report_syntax_error now tries to figure out the token that caused
+         the syntax error by first looking at current_token and falling
+         back to the old method of textual analysis if that fails
+       - report_syntax_error doesn't say the token resulting from the textual
+         analysis of the input line is an `unexpected token'; it just
+         says there is a `syntax error near xxx'
+       - changed conditional command error reporting to use the value
+         returned by error_token_from_token if it's not null instead of
+         just using the token value in the message, since current_token
+         ends up being set to -1, and the text of the message from
+         report_syntax_error might not be exactly right
+       - change parse_string_to_word_list to set current_token to the
+         offending token returned by read_token before calling yyerror()
+         to make the error reporting do the right thing
+
+aclocal.m4
+       - fixed typo in BASH_CHECK_LIB_TERMCAP
+
+configure.in
+       - add check for isinf(3); define HAVE_ISINF_IN_LIBC if found
+
+config.h.in
+       - add define for HAVE_ISINF_IN_LIBC
+
+lib/sh/snprintf.c
+       - check for Inf and NaN, using isinf and isnan if they're found in
+         libc
+       - use the current locale for thousands separator and decimal point
+       - recognize "'" flag; not implemented yet
+       - fix for snprintf/vsnprintf with length of 0 and string argument of
+         0 with non-zero length
+
+builtins/read.def
+       - TMOUT is now the default timeout for `read' (and select) if set,
+         like ksh93 when reading from the terminal
+       - edit_line (called by read -e) now just does readline's filename
+         completion by setting rl_attempted_completion_function to NULL,
+         since e.g., doing command completion for the first word on the
+         line wasn't really useful
+
+execute_cmd.c
+       - changed select_command to return failure status if select_query
+         returns NULL, indicating that read_builtin returned
+         EXECUTION_FAILURE
+
+doc/{bash.1,bashref.texi}
+       - documented new TMOUT behavior 
+       - slight change to the description of the test `-ef' option
+
+doc/bashref.texi
+       - added item to posix mode section describing failure behavior of
+         cd when invoked in logical mode and the pathname formed by
+         combining $PWD and the directory argument does not refer to an
+         existing directory
+
+                                  11/29
+                                  -----
+execute_cmd.c
+       - fix execute_function to call dispose_function_env after
+         merge_function_env if the shell is in posix mode (fixes debian
+         bash bug #117673)
+
+lib/readline/readline.c
+       - rl_forward -> rl_forward_char; rl_forward function for compatibility
+       - rl_backward -> rl_backward_char; rl_forward function for
+         compatibility
+       - new functions, rl_forward_byte, rl_backward_byte, for future use
+
+lib/readline/readline.h
+       - extern declarations for rl_forward_char, rl_backward_char,
+         rl_forward_byte, rl_backward_byte
+
+lib/readline/{emacs_keymap,funmap,vi_keymap,vi_mode
+       - rl_forward -> rl_forward_char
+       - rl_backward -> rl_backward_char
+
+lib/readline/funmap.c
+       - new bindable names, `backward-byte' and `forward-byte'
+
+aclocal.m4
+       - new function, BASH_CHECK_MULTIBYTE, encapsulates checks for
+         multibyte code
+
+config.h.in
+       - add necessary defines for multibyte include files and functions
+
+configure.in
+       - add call to BASH_CHECK_MULTIBYTE
+
+config-bot.h
+       - add code to define HANDLE_MULTIBYTE if prerequisites are met
+
+lib/sh/xstrchr.c
+       - new file, xstrchr() is strchr(3) that handles multibyte characters
+
+bashhist.c
+       - first_line_saved -> current_command_first_line_saved; variable is
+         now global
+
+bashhist.h
+       - extern declaration for current_command_first_line_saved
+
+                                  11/30
+                                  -----
+bashhist.c
+       - break the code that actually calls add_history out of
+         bash_add_history into a new function, really_add_history;
+         bash_add_history now calls really_add_history
+       - check_add_history takes a second `force' argument telling it
+         whether to call bash_add_history (force == 0) or really_add_history
+         (force != 0)
+
+builtins/history.def
+       - in push_history, call delete_last_history if the current command
+         has more than one line, the first line was saved, and
+         command-oriented history is active.  This takes care of deleting
+         the right history element if `history -s' is used within a
+         compound or multiline command
+       - in push_history, call check_add_history with second argument of 1
+         to skip check of current_command_line_count and add the arguments
+         to history -s as a single separate history entry
+
+                                  12/3
+                                  ----
+lib/readline/complete.c
+       - append a slash to completed names which are symlinks to directories
+         if the new variable _rl_complete_mark_symlink_dirs is non-zero
+
+lib/readline/rlprivate.h
+       - extern declaration for _rl_complete_mark_symlink_dirs
+
+lib/readline/bind.c
+       - new bindable variable, `mark-symlinked-directories', mirrors the
+         value of _rl_complete_mark_symlink_dirs
+
+doc/bash.1, lib/readline/doc/{readline.3,rluser.texinfo}
+       - documented new `mark-symlinked-directories' variable
+
+                                  12/4
+                                  ----
+variables.[ch]
+       - set_pipestatus_array now takes a second argument with the number
+         of processes in the array
+       - changed set_pipestatus_array to just modify the value in place if
+         the existing array has one element and the new array has one
+         element, and to modify existing values in place if new array has
+         more elements than existing array
+
+variables.c, jobs.c
+       - changed set_pipestatus_array callers
+
+jobs.c
+       - moved call to setjstatus() from set_job_status_and_cleanup to
+         wait_for, since set_job_status_and_cleanup is part of the SIGCHLD
+         signal handler call path, and race conditions accessing the
+         PIPESTATUS array will result for things like
+
+               while true; do date; done | cat > /dev/null
+
+                                  12/5
+                                  ----
+xmalloc.h
+       - don't redefine xmalloc, xrealloc, and xfree if DISABLE_MALLOC_WRAPPERS
+         is #defined
+
+config.h.in
+       - #undef for DISABLE_MALLOC_WRAPPERS
+
+configure.in
+       - define DISABLE_MALLOC_WRAPPERS if the --with-purify option is
+         supplied
+
+lib/malloc/trace.c
+       - new function, malloc_trace_bin(N), traces allocations and frees
+         to bucket N (uses the same type of bitmap as `busy')
+
+lib/malloc/table.c
+       - fix wraparound search problem in find_entry when searching for a
+         free entry when the table is full
+
+                                  12/6
+                                  ----
+lib/malloc/table.c
+       - keep an `overflow bucket' around to use when the table is full,
+         so find_entry always returns a valid pointer when FIND_ALLOC
+         is set
+       - new static variable to keep a count of the number of MT_ALLOC
+         entries in the mem_table
+
+lib/sh/{oslib,clktck}.c
+       - if HAVE_LIMITS_H is defined, include <limits.h>
+
+lib/sh/oslib.c
+       - new function, getmaxgroups() returns max number of simultaneous
+         groups
+       - new function, getmaxchild(), returns max number of simultaneous
+         user processes
+
+general.c
+       - removed forest of #defines for getmaxgroups()
+
+externs.h
+       - new extern declaration for getmaxgroups()
+       - new extern declaration for getmaxchild()
+       - new extern declaration for isnetconn()
+
+lib/sh/netconn.c,shell.c
+       - new file, isnetconn() from shell.c moved here
+
+Makefile.in, lib/sh/Makefile.in
+       - necessary changes for netconn.c
+
+builtins/ulimit.def
+       - changed getmaxuprc() to just call getmaxchild() and massage the
+         return value appropriately
+
+{jobs,nojobs}.c
+       - use the value returned by getmaxchild() in
+         mark_dead_jobs_as_notified instead of static CHILD_MAX
+
+jobs.c
+       - new function, compact_jobs_list, removes some number of jobs from
+         the jobs table and reallocates the table, copying the jobs that
+         are left from the old table to the new.  Compaction happens from
+         the beginning of the list and removes dead jobs, and we make sure
+         to keep the last CHILD_MAX jobs as POSIX.2 requires
+       - call compact_jobs_list from stop_pipeline if we're in a subshell,
+         there are no free jobs in the jobs table, and the jobs table is
+         at or above some maximum limit
+
+execute_cmd.c
+       - change eval_arith_for_expr to set this_command_name to `((' before
+         calling evalexp, since it might be changed by evaluating the
+         loop body between evalexp calls
+
+trap.c
+       - change reset_signal to turn off the SIG_TRAPPED flag for the
+         given signal, so shell builtins and functions running in command
+         substitutions don't run the signal handlers (traps are not supposed
+         to be inherited by command substitutions)
+
+parse.y
+       - changed parse_string_to_word_list to turn off alias expansion
+         while parsing the array assignment
+
+                                  12/9
+                                  ----
+alias.c
+       - fix add_alias so that redefining an alias's value also resets the
+         EXPANDNEXT flag
+
+                                  12/10
+                                  -----
+parse.y
+       - new function, token_is_assignment, called to check whether the text
+         before `=' makes up a valid assignment token before trying to parse
+         a compound assignment statement
+       - new function, parse_compound_assignment, to parse a compound
+         assignment statement instead of using parse_matched_pair; handles
+         comments and error reporting in the parser instead of waiting until
+         expansion time
+       - changed parse_compound_assignment and parse_string_to_word_list to
+         allow reserved words in compound array assignments
+
+lib/readline/doc/rltech.texinfo
+       - changed the documentation for rl_callback_read_char and
+         rl_callback_handler_remove to say what happens to the terminal
+         settings and what needs to be done to reset them
+
+                                  12/11
+                                  -----
+bashline.c
+       - add emacs_edit_and_execute_command, bound to C-xC-e, like vi-mode
+         `v' command
+       - add bindable command name `edit-and-execute-command', bound to
+         run emacs_edit_and_execute_command()
+
+lib/glob/strmatch.c
+       - add support for ksh93-like [:word:] character class (isalnum + `_')
+
+doc/{bash.1,bashref.texi}
+       - add note to section describing lists to clarify that a sequence of
+         one or more newlines may be used to delimit a command, equivalent
+         to a semicolon
+       - document new [:word:] pattern matching character class
+
+doc/bash.1, lib/readline/doc/rluser.texinfo
+       - document `edit-and-execute-command' and its default emacs-mode
+         binding
+
+include/chartypes.h
+       - add defines for TOCTRL and UNCTRL if they're not already defined
+
+lib/readline/chardefs.h
+       - #undef UNCTRL if it's defined to avoid cpp redefinition warnings
+
+lib/sh/strtrans.c
+       - add \cX (Control-X) escape for $'...' to ansicstr()
+       - change ansic_quote() to allocate at least four chars for each char
+         in the string argument, to account for \0xx octal values
+       - change ansic_quote() to no longer call sprintf for non-printable
+         characters; just translate the string to octal directly
+
+print_cmd.c
+       - change xtrace_print_word_list to call ansic_quote() if
+         ansic_shouldquote() indicates that there are nonprinting characters
+         in a word
+
+builtins/type.def
+       - changed deprecated long option parsing to just replace the word
+         in the list with the equivalent short option (-type -> -t) instead
+         of removing words from the list
+       - changed describe_command to take a single flags argument instead
+         of two int args; changed caller
+       - type now has two new options:  -f suppresses function lookup (like
+         command), and -P forces a PATH search for the name(s)
+
+builtins/common.h
+       - flags for describe_command are here
+       - changed extern declaration of describe_command
+
+builtins/command.def
+       - changed call to describe_command to use flags from common.h, and
+         the right number of arguments
+
+doc/{bash.1,bashref.texi}
+       - documented new -f and -P options to `type'
+
+                                  12/12
+                                  -----
+lib/readline/rldefs.h
+       - fixed prototype for _rl_strnicmp
+
+execute_cmd.c
+       - select_query now takes a new argument, an int flag saying whether
+         or not to print the menu the first time through the loop.  An
+         empty line in response to the prompt will always cause the menu
+         to be reprinted
+       - changed execute_select_command to cause select_query to reprint
+         the menu only if REPLY is set to NULL, if KSH_COMPATIBLE_SELECT
+         is defined
+
+config-top.h
+       - define KSH_COMPATIBLE_SELECT, with a comment about its meaning
+
+lib/readline/readline.c
+       - change rl_insert_comment to toggle if given an explicit numeric
+         argument:  if the first characters on the line don't specify a
+         comment, insert one; if they do, delete the comment text
+
+doc/bash.1, lib/readline/doc/{readline.3,rluser.texinfo}
+       - documented new behavior of insert-comment with a numeric argument
+
+                                  12/13
+                                  -----
+lib/malloc/watch.c
+       - new file, implements watchpoint functions
+
+lib/malloc/watch.h
+       - new file, define some `events' for watchpoints and extern function
+         and variable declarations for watchpoint code
+
+lib/malloc/imalloc.h
+       - #define MALLOC_WATCH if MALLOC_DEBUG is defined
+       - add __P define as in include/stdc.h if not already defined
+
+lib/malloc/malloc.c
+       - remove __P define, now in imalloc.h
+       - include watch.h if MALLOC_WATCH is defined
+       - added calls to _malloc_ckwatch in internal_malloc, internal_free,
+         and internal_realloc
+
+include/stdc.h
+       - augment __P define to allow prototypes if PROTOTYPES is defined
+
+lib/readline/rlstdc.h
+       - augment PARAMS define to allow prototypes if PROTOTYPES is defined
+
+lib/malloc/Makefile.in, Makefile.in
+       necessary changes to include watch.c in libmalloc
+
+lib/readline/readline.c
+       - fix rl_delete_text to make sure that the starting position is >= 0
+       - _rl_init_line_state (called by readline via readline_initialize)
+         now sets rl_mark to 0
+       - rl_get_{next,previous}_history set rl_mark to 0 if rl_point is at
+         the end of the line and rl_end otherwise in emacs mode
+
+lib/readline/kill.c
+       - rl_yank_nth_arg_internal and rl_paste_clipboard now set the mark
+         at point before calling rl_insert_text, like rl_yank
+       - rl_kill_full_line now resets rl_mark to 0
+       - rl_kill_line and rl_backward_kill_line now set rl_mark to the
+         point after the kill in emacs mode
+       - rl_kill_word and rl_backward_kill_word now set rl_mark to the
+         point after the kill in emacs mode
+       - rl_unix_word_rubout and rl_unix_line_discard now set rl_mark to
+         the point after the kill in emacs mode
+
+lib/readline/search.c
+       - noninc_search saves and restores the mark, since it can be changed
+         while reading the search string
+       - noninc_dosearch sets the mark at the end of the line, making the
+         region bound the `inserted' text since rl_point is set to 0
+       - rl_history_search_internal sets the mark at the end of the line,
+         for the same reason
+
+lib/readline/isearch.c
+       - rl_search_history now saves and restores the mark
+       - if no matching lines are found at all when doing an isearch, leave
+         point where it was instead of moving it to the end of the line
+
+                                  12/17
+                                  -----
+lib/readline/rlmbutil.h
+       - new file, place for multi-byte character defines and extern
+         declarations
+
+lib/readline/{bind.c,readline.c,rlprivate.h}
+       - new bindable variable, `byte-oriented', tracks value of
+         rl_byte_oriented variable
+
+lib/readline/mbutil.c
+       - new file, with multibyte char utility functions
+
+lib/readline/{complete,display,readline,util,vi_mode}.c
+       - new code for multibyte characters, derived from IBM patch
+
+                                  12/18
+                                  -----
+lib/sh/tmpfile.c
+       - include posixtime.h for time() extern declaration
+
+support/bashversion.c
+       - include <unistd.h> if it's available
+
+lib/readline/{histexpand,input,isearch,search}.c
+       - new code for multibyte characters, derived from IBM patch
+
+lib/readline/readline.h
+       - include rltypedefs.h
+
+                                  12/19
+                                  -----
+lib/readline/complete.c
+       - slight change to mark-directories code to avoid adding a slash if
+         point is at the end of the line (rl_line_buffer[rl_point] == '\0')
+         and the previous character was a slash
+       - change printable_part to not return empty pathnames, which could
+         happen when completing filenames and a filename with a trailing
+         slash was passed as the argument.  If the portion following the
+         trailing slash is NULL, ignore it and look for a previous slash.
+         If there's no previous slash, just return the filename argument
+       - new variable, rl_completion_mark_symlink_dirs, mirrors the value
+         of (user-settable with a variable) _rl_complete_mark_symlink_dirs
+         but may be modified by application-specific completion functions
+         when appropriate (set in rl_complete_internal and rl_menu_complete)
+
+lib/readline/readline.h
+       - extern declaration for rl_completion_mark_symlink_dirs
+
+pcomplete.c
+       - if one of the actions is CA_DIRECTORY, set
+         rl_completion_mark_symlink_dirs to indicate that we want the
+         trailing slash (might have to relax this)
+
+lib/readline/doc/rltech.texinfo
+       - documented rl_completion_mark_symlink_dirs variable
+
+lib/readline/doc/rluser.texinfo, doc/bash.1
+       - documented the fact that `complete -d' and `complete -o dirnames'
+         force readline to append a slash to symlinks to directories
+
+builtins/enable.def
+       - changed enable_shell_builtin to disallow enabling disabled
+         builtins in a restricted shell
+
+doc/{bash.1,bashref.texi}
+       - documented new enable behavior in restricted shells
+
+doc/Makefile.in
+       - new rule to make an `RBASH' file documenting the restrictions
+         imposed by a restricted shell
+
+expr.c
+       - broke the code that evaluates variables and returns results out
+         of readtok() into a new function: expr_streval()
+       - expr_streval() now performs the standard unset variable error
+         behavior if `set -u' has been executed and it's asked to look
+         up an unset variable
+       - broke the code that frees up the expression context stack into
+         a new function: expr_unwind()
+
+variables.c
+       - fixed bind_int_variable so it handles array element assignment,
+         so expressions like `b[7]++' and `b[0] = 42' work right
+       - new function, get_variable_value, returns the string value of
+         the SHELL_VAR * passed as an argument
+       - get_string_value now calls get_variable_value with a non-null
+         result from find_variable
+
+                                  12/20
+                                  -----
+lib/readline/rlmbutil.h, mbutil.c
+       - combined _rl_find_next_mbchar and _rl_find_next_nonzero_mbchar into
+         a single function
+       - combined _rl_find_prev_mbchar and _rl_find_prev_nonzero_mbchar into
+         a single function
+
+lib/readline/{display,readline,vi_mode}.c
+       - changed callers of _rl_find_next_mbchar and
+         _rl_find_next_nonzero_mbchar
+
+lib/readline/{complete,display,histexpand,readline,vi_mode}.c
+       - changed callers of _rl_find_prev_mbchar and
+         _rl_find_prev_nonzero_mbchar
+
+                                  12/20
+                                  -----
+lib/sh/mktime.c
+       - new file, from glibc/gawk, compiled in if system doesn't have a
+         working mktime(3)
+
+lib/sh/strftime.c
+       - new file, from gawk, compiled in if system doesn't have a
+         working strftime(3)
+
+lib/sh/Makefile.in, Makefile.in
+       - changes for mktime.c, strftime.c
+
+configure.in
+       - call AC_FUNC_MKTIME, AC_STRUCT_TM, AC_STRUCT_TIMEZONE
+       - call AC_REPLACE_FUNC(strftime)
+
+config.h.in
+       - add defines for TM_IN_SYS_TIME, HAVE_TZSET, HAVE_TM_ZONE,
+         HAVE_STRUCT_TM_TM_ZONE, HAVE_STRFTIME
+
+externs.h
+       - provide an extern declaration for strftime if HAVE_STRFTIME is
+         not defined and NEED_STRFTIME_DECL is
+
+lib/tilde/tilde.h
+       - header files should not include <config.h>
+
+parse.y
+       - replace code in decode_prompt_string that chops up value returned
+         by ctime(3) with calls to strftime -- as a result, the expansion
+         of \@ has changed slightly (since it depends on the locale)
+       - added new \D{format} prompt string escape; `format' is passed to
+         strftime(3).  Empty format is the same as `%X' (locale-specific
+         representation of the current time)
+       - combined cases for '\\', '\a', '\e', and '\r' in same case branch
+         in decode_prompt_string
+
+doc/{bash.1,bashref.texi}
+       - documented new \D{format} prompt string expansion
+
+builtins/printf.def
+       - use ISO C PRIdMAX instead of INTMAX_CONV
+       - pass length of format modifiers to mklong instead of computing it
+         with strlen()
+
+lib/sh/{fmtulong,fmtullong}.c
+       - changes from Paul Eggert to make more general
+
+arrayfunc.c
+       - when converting a variable to an array, make sure to unset the
+         dynamic_value and assign_func members of the struct variable,
+         since they're not valid anymore
+
+                                  12/27
+                                  -----
+configure.in
+       - use AC_HELP_STRING in AC_ARG_WITH and AC_ARG_ENABLE 
+       - remove AC_ARG_ENABLE for largefile, since AC_SYS_LARGEFILE adds
+         one
+
+                                1/2/2002
+                                --------
+{alias,bashline,execute_cmd,general,shell,subst,variables,arrayfunc}.c,general.h
+       - changed some calls to strchr to calls to xstrchr for multibyte
+         characters
+
+include/shmbutil.h
+       - add extern declaration for xstrchr to avoid including externs.h
+         where it's not appropriate
+
+{braces,make_cmd,pathexp,subst,arrayfunc}.c, lib/sh/xstrchr.c
+       - include shmbutil.h
+
+{stringlib,subst}.c, {externs,subst}.h
+       - moved substring() from subst.c to stringlib.c, moved declaration
+         from subst.h to externs.h
+
+lib/sh/xmbsrtowcs.c
+       - new file, replacement function for mbsrtowcs
+
+lib/sh/Makefile.in
+       - add entries for xmbsrtowcs.c
+
+Makefile.in
+       - add dependencies on shmbutil.h to appropriate object files
+
+lib/glob/strmatch.c
+       - break character-class testing out into separate function:
+         is_cclass, in prep for multibyte changes
+
+{braces,make_cmd}.c
+       - changes for multibyte characters
+
+builtins/printf.def
+       - changes from Paul Eggert to just use intmax_t everywhere an
+         int/long/quad is needed and print with "%ld" if the number
+         fits in a long and %PRIdMAX otherwise
+       - remove getlong, getulong, getllong, getullong, since they're
+         no longer needed
+       - use a new type `floatmax_t' to print floating point numbers, the
+         widest-available floating point type (like `intmax_t'); new
+         function `getfloatmax' that calls strtold or strtod as appropriate
+       - remove getdouble, getldouble, since they're no longer needed
+
+lib/sh/fmtumax.c
+       - new file, string-to-[u]intmax_t conversion, just includes
+         fmtulong.c with the right defines
+
+Makefile.in, lib/sh/Makefile.in
+       - additions for fmtumax.c
+
+bashtypes.h
+       - include <inttypes.h> if it's available
+
+expr.c
+       - arithmetic is now in intmax_t instead of long
+
+externs.h
+       - extern declaration for fmtumax
+       - change extern declarations for evalexp, itos, inttostr,
+         uitos, uinttostr since they now return or use intmax_t instead
+         of long
+
+{execute_cmd,general,mailcheck,subst,variables}.c, parse.y
+{array,general,subst,test,variables}.h
+lib/sh/{itos,netopen}.c
+builtins/{bashgetopt,common}.c, builtins/common.h
+builtins/{break,fc,history,jobs,let,printf,pushd,read,shift,wait}.def
+       - changes for intmax_t shell arithmetic conversion
+
+doc/{bashref.texi,bash.1}
+       - documented long->intmax_t shell arithmetic conversion
+
+sig.c
+       - in initialize_terminating_signals, if we've already trapped a
+         terminating signal, don't reset the signal handler for it
+
+                                   1/3
+                                   ---
+{arrayfunc,pathexp}.c, parse.y
+       - changes for multibyte chars
+
+parse.y, lib/sh/strtrans.c
+       - moved ansiexpand from parse.y to lib/sh/strtrans.c
+
+parse.y, locale.c
+       - moved mk_msgstr and localeexpand from parse.y to locale.c
+
+parse.y
+       - new function, yy_input_name, returns name of input file from
+         bash_input.name
+       - broke the code that parses ((...)) constructs out of read_token
+         into a new function, parse_dparen()
+
+externs.h
+       - new extern declaration for ansiexpand(), mk_msgstr(), and
+         localeexpand()
+
+input.h
+       - new extern declaration for yy_input_name()
+
+{error,locale}.c
+       - use yy_input_name for error and other messages
+
+execute_cmd.c
+       - change shell_execve to make sure that the file is executable
+         before looking at the interpreter to find out why the execve()
+         failed (avoids misleading error message)
+
+lib/glob/glob.c
+       - move code that matches leading `.' and skips those filenames into
+         a separate function: skipname(), so there can be unibyte and
+         multibyte versions of that function
+
+                                   1/7
+                                   ---
+subst.c
+       - more changes for multibyte characters
+
+print_cmd.c
+       - change semicolon() so it doesn't output a `;' immediately after a
+         newline, since that results in a null command, which is a syntax
+         error
+
+variables.c
+       - fix indirection_level_string to turn off set -x while evaluating
+         PS4
+
+                                   1/8
+                                   ---
+builtins/set.def
+       - make -o options into one struct, instead of separate structs for
+         option names corresponding to flags and non-flag option names.
+         This has the side effect of sorting the option names in output
+
+lib/glob/glob.c
+       - new function, mbskipname(), multibyte char version of skipname()
+       - removed all #ifndef SHELL code, this will never be used outside
+         the shell
+
+include/posixdir.h
+       - move REAL_DIR_ENTRY define here from lib/glob/glob.c
+
+lib/glob/glob_loop.c
+       - new file, included in glob.c for unibyte and multibyte versions of
+         glob_pattern_p
+       - added some forward static function declarations with prototypes
+       - more changes for multibyte character handling
+
+lib/glob/Makefile.in
+       - make glob.c depend on glob_loop.c
+       - changes for xmbsrtowcs.[co]
+
+lib/glob/xmbsrtowcs.c
+       - moved here from lib/sh, since the matching functions use it, and
+         libglob.a is linked after libsh.a
+
+                                   1/9
+                                   ---
+lib/glob/smatch.c
+       - new file, with strmatch (now xstrmatch) and associated functions,
+         with changes for multibyte chars
+
+lib/glob/sm_loop.c
+       - new file, included by smatch.c, with `generic' versions of matching
+         functions that are compiled twice:  once each for single-byte and
+         multibyte characters
+
+lib/glob/strmatch.c
+       - strip out everything except strmatch(), which either calls fnmatch
+         (if HAVE_LIBC_FNM_EXTMATCH is defined) or xstrmatch
+
+lib/glob/collsyms.c
+       - changes for multibyte chars
+
+lib/glob/Makefile.in, Makefile.in
+       - changes for new source files
+
+                                  1/10
+                                  ----
+lib/readline/complete.c
+       - new function, rl_completion_mode (rl_command_func_t *func), returns
+         the appropriate value to pass to rl_complete_internal depending on
+         FUNC and the value of `show-all-if-ambiguous'.  This allows
+         application completion functions to present the same interface as
+         rl_complete
+
+lib/readline/readline.h
+       - new extern declaration for rl_completion_mode()
+
+lib/readline/doc/rltech.texinfo
+       - documented rl_completion_mode
+
+lib/readline/readline.[ch]
+       - bumped the version number to 4.3, changing the relevant cpp defines
+
+configure.in
+       - require that an installed readline version be at least readline-4.3
+
+bashline.c
+       - converted bash-specific completion functions to use
+         rl_completion_mode instead of passing TAB unconditionally
+
+builtins/bashgetopt.c
+       - the `#' option specifier now means a required numeric argument,
+         not an optional one
+
+builtins/type.def
+       - when converting [-]-{path,type,all} to -[pta], don't bother
+         freeing and reallocating the option string; just change opt[1]
+         and null opt[2]
+
+lib/sh/snprintf.c
+       - support %ls/%S and %lc/%C for wide strings and characters,
+         respectively, if HANDLE_MULTIBYTE is defined
+
+mailcheck.c
+       - don't print a message about new mail if the file has not grown,
+         even if the access time is less than the modification time
+
+                                  1/14
+                                  ----
+lib/readline/readline.c
+       - new function, rl_replace_line, to replace the readline line buffer
+         with the text supplied as an argument
+       - new function, rl_replace_from_history, replaces readline line
+         buffer with text from history entry passed as argument (undocumented,
+         not in readline.h because it requires a definition of
+         HIST_ENTRY for the prototype)
+
+lib/readline/readlne.h
+       - new extern declaration for rl_replace_line
+
+lib/readline/doc/rltech.texinfo
+       - documented rl_replace_line
+
+lib/readline/{isearch,readline,search}.c
+       - use rl_replace_line and rl_replace_from_history where appropriate
+
+lib/readline/readline.c
+       - broke the code that sets point after moving through the history
+         (_rl_history_preserve_point and _rl_history_saved_point) out
+         into a separate function, _rl_history_set_point()
+
+lib/readline/{complete.c,rlprivate.h}
+       - find_completion_word -> _rl_find_completion_word
+       - free_match_list -> _rl_free_match_list
+
+lib/readline/complete.c
+       - postprocess_matches and _rl_free_match_list now return immediately
+         if passed a null match list
+
+variables.c
+       - new function, find_local_variable, finds a local variable by name
+         at the current variable context
+       - in find_variable_internal, call find_local_variable before searching
+         any of the temporary environments if variable_context > 0 (meaning
+         we're in a shell function).  This lets a local variable
+         override a variable whose value was passed in the `function
+         environment'
+
+                                  1/15
+                                  ----
+variables.h, execute_cmd.c
+       - declare variables describing the temporary environments in
+         variables.h instead of in C files
+
+findcmd.c, builtins/setattr.def
+       - instead of calling find_tempenv_variable, use find_variable_internal
+         and check whether the returned SHELL_VAR * has the tempvar
+         attribute
+
+variables.c
+       - tentative change to lookup order in find_variable_internal so that
+         function local variables are found before variables in
+         function_env when executing a shell function
+       - change make_local_variable to handle making a local variable when
+         a variable with the same name already appears in one of the
+         temporary environments
+       - broke the body of make_var_array out into a new function:
+               static char **make_env_array_from_var_list (SHELL_VAR **vars)
+       - new function, make_var_array_internal, takes a hash table to look
+         in and a pointer to a mapping function and returns a char **
+         environment-style list
+       - make_var_array now just calls make_var_array_internal
+       - new mapping function, local_and_exported, returns all local variables
+         in the current variable context with the export attribute set
+       - new function, make_local_export_array, returns an environment-style
+         char ** array of exported local variables in current context
+       - change environment creation order in maybe_make_export_env to
+         add variables to the environment in opposite order that
+         find_variable_internal uses.  This means that local variables in
+         shell functions override variables with the same name in the
+         function_env
+       - change make_local_variable to set the initial value of the
+         variable it creates to NULL to make the `is set' and `is null'
+         tests that the expansion code does work right
+       - change make_local_variable to inherit the value of a variable with
+         the same name from the temporary enviroment
+
+                                  1/16
+                                  ----
+Makefile.in
+       - link bashversion with buildversion.o instead of version.o, for
+         cross-compiling.  version.o is for the target system;
+         buildversion.o is for the build system
+
+error.c
+       - add line numbers to internal_error() messages if the shell is
+         not interactive and running a shell script or a -c command
+       - report_error now prints non-zero line numbers for non-interactive
+         shells
+
+test.c
+       - test_syntax_error now calls builtin_error() instead of printing
+         its own messages
+
+builtins/common.c
+       - builtin_error now prints line numbers if a non-interactive shell
+         is running a shell script or a -c command
+
+print_cmd.c
+       - in cprintf, remove free_argp, since it's not used
+
+builtins/history.def
+       - make `history -n' increment the number of history lines in this
+         session by the number of lines read from the history file
+
+arrayfunc.c
+       - fix array_value_internal to expand the subscript even if the
+         variable is unset, so side effects produced by the arithmetic
+         evaluation will take place
+
+lib/readline/doc/{rluser,rltech}.texinfo
+       - some fixes for printing in @smallbook format from Brian
+         Youmans
+
+                                  1/17
+                                  ----
+jobs.h
+       - new PRUNNING, PSTOPPED, PDEADPROC defines for PROCESSes, analogous
+         to RUNNING, STOPPED, and DEADJOB defines for jobs
+
+jobs.c
+       - use PS_RUNNING, PS_DONE, PS_STOPPED values for `running' field
+         of a PROCESS
+       - find_pipeline and find_job now take an additional flags argument
+         that, if non-zero, means to find only running processes; changed
+         all callers
+       - changed calls to find_pipeline and find_job made from waitchld
+         to find only running processes
+       - find_pipeline takes a third argument: an int *.  If it looks in
+         the jobs list to find the pid, and the arg is non-null, it passes
+         the job index back to the caller.  Used to avoid calls to
+         find_pipeline immediately followed by find_job with the same PID
+
+nojobs.c
+       - a couple of changes to make sure that set_pid_status is never
+         called with a pid argument of 0 or -1
+
+trap.c
+       - change trap_handler to longjmp to wait_intr_buf (set by wait_builtin)
+         if a signal is received for which a trap has been set during
+         execution of the wait builtin (need to include builtins.h and
+         builtins/builtext.h and declare some extern variables for the
+         right things to check)
+       - new variable to keep track of which signal caused the longjmp to
+         wait_intr_buf, set by trap_handler (wait_signal_received)
+
+builtins/wait.def
+       - set the return value of wait when a longjmp(wait_intr_buf, 1) is
+         done to 128 + wait_signal_received
+
+{jobs,nojobs}.c
+       - set wait_signal_received to SIGINT in wait_sigint_handler before
+         the longjmp(wait_intr_buf, 1)
+
+                                  1/18
+                                  ----
+bashline.c
+       - turn off rl_filename_completion_desired when completing a command
+         name with a single match only if the first char of that match is
+         not a `/'
+       - if there are multiple identical matches for a command name in
+         attempt_shell_completion, turn off rl_filename_completion_desired
+         if the first char is not a `/' to avoid readline appending a
+         slash if there's a directory with the same name in the current
+         directory
+
+                                  1/22
+                                  ----
+lib/readline/complete.c
+       - new variable, _rl_page_completions, to control whether we want to
+         run the internal pager when listing completions (defaults to 1)
+
+lib/readline/rlprivate.h
+       - extern declaration for _rl_page_completions
+
+lib/readline/bind.c
+       - new bindable variable, `page-completions', controls value of
+         _rl_page_completions
+
+lib/readline/doc/{rluser.texinfo,readline.3}, doc/bash.1
+       - documented `page-completions' variable
+
+Makefile.in
+       - use $(INSTALL_SCRIPT) instead of $(INSTALL_PROGRAM) to install
+         `bashbug'
+
+aclocal.m4
+       - fix small quoting problem in RL_LIB_READLINE_VERSION macro
+
+lib/readline/terminal.c
+       - fetch and save terminal's `vs' and `ve' cursor control attributes
+       - fetch and save terminal's `kI' attribute (string sent by Insert)
+       - new function, _rl_set_cursor, sets cursor to normal (insert mode)
+         or very visible (overwrite mode)
+
+lib/readline/readline.c
+       - new global variable, rl_insert_mode
+       - new function to toggle overwrite mode, rl_overwrite_mode
+       - each new line starts in insert mode
+       - switching to vi mode or emacs mode resets to insert mode
+       - reset cursor to normal before returning line
+       - _rl_replace_text now returns the number of characters inserted,
+         the return value from rl_insert_text
+       - new function, _rl_insert_or_replace_text (const char *string, int insert),
+         either inserts STRING or replaces the number of chars in STRING
+         with STRING starting at rl_point, depending on value of INSERT
+       - renamed rl_insert to _rl_insert_char, rl_insert just calls
+         _rl_insert_char with the same arguments when in insert mode
+       - new function, _rl_overwrite_char, handles self-insert in overwrite
+         mode.  Does multibyte chars by reading an entire multibyte character
+         before entering overwrite loop
+       - new function, _rl_overwrite_rubout, handles RUBOUT when in
+         overwrite mode, called from rl_rubout
+       - new function, _rl_rubout_char, old body of rl_rubout; rl_rubout
+         calls this when not in overwrite mode 
+
+lib/readline/readline.h
+       - extern declarations for rl_insert_mode and rl_overwrite_mode()
+
+lib/readline/rldefs.h
+       - define constants for values of rl_insert_mode
+
+lib/readline/rlprivate.h
+       - extern declarations for _rl_set_cursor and _rl_set_insert_mode
+       - change type of _rl_replace_text to return int
+       - extern declarations for _rl_insert_char, _rl_rubout_char
+
+lib/readline/funmap.c
+       - new bindable name `overwrite-mode', bound to rl_overwrite_mode
+
+lib/readline/rlconf.h
+       - define CURSOR_MODE if you want the cursor to show insert or
+         overwrite mode (only available if both `vs' and `ve' capabilities
+         are present)
+
+lib/readline/{complete,parens,readline,search,vi_mode}.c
+       - change calls to rl_insert to _rl_insert_char
+
+lib/readline/{readline,search}.c
+       - change calls to rl_rubout to _rl_rubout_char to avoid overwrite
+         mode problems
+
+lib/readline/vi_mode.c
+       - fix rl_vi_overstrike to just call _rl_overwrite_char, which
+         handles multibyte chars
+
+lib/readline/doc/{rluser.texinfo,readline.3}, doc/bash.1
+       - document new `overwrite-mode' command
+
+                                  1/23
+                                  ----
+lib/readline/readline.c
+       - return 0 immediately from rl_insert_text if the string to insert
+         is NULL or ""
+
+bashline.c
+       - if a numeric argument is given to one of the bash-specific glob
+         pattern completion functions (including TAB), append a `*' to
+         the word before generating matches
+       - in attempt_shell_completion, when doing glob completion, only
+         set the match list to NULL if rl_completion_type == TAB and
+         there is more than one completion.  This permits listing completions
+         with double tabs and displaying ambiguous completions
+       - new function, bash_glob_complete_word, appends a `*' to the word
+         to be completed and then globs it.  It uses a new filename
+         quoting function (bash_glob_quote_filename) to avoid quoting
+         globbing characters in the filename if there are no matches or
+         multiple matches
+
+lib/readline/complete.c
+       - set completion_changed_buffer to 0 in rl_complete_internal if
+         no matches were produced by the completion generator function
+       - new variable, rl_completion_suppress_append, suppresses appending
+         of rl_completion_append_character.  Settable by application
+         completion functions, always 0 when application completion
+         functions are called (set to 0 by rl_complete_internal and
+         rl_menu_complete)
+       - broke the code that assigns default values to readline completion
+         variables out of rl_complete_internal and rl_menu_complete into
+         a new function, set_completion_defaults (int what_to_do)
+
+lib/readline/readline.h
+       - extern declaration for rl_completion_suppress_append
+
+lib/readline/doc/rluser.texinfo, doc/bash.1
+       - documented behavior of glob-expand-word and glob-list-expansions
+         when supplied a numeric argument
+       - documented glob-complete-word
+
+lib/readline/doc/rltech.texinfo
+       - documented rl_completion_suppress_append
+
+                                  1/24
+                                  ----
+lib/readline/text.c
+       - new file, text and character handling functions from readline.c
+
+lib/readline/misc.c
+       - new file, miscellanous bindable functions and their supporting
+         code from readline.c
+
+Makefile.in, lib/readline/Makefile.in
+       - changes for text.c, misc.c
+
+lib/readline/bind.c
+       - change ISKMAP case of rl_invoking_keyseqs_in_map to output
+         ESC as "\M-" instead of "\e" -- it's closer to the documentation
+       - change _rl_get_keyname to output ESC as \e instead of \C-[
+         (it's easier to understand)
+
+pcomplete.h
+       - new flag, COPT_NOSPACE
+
+builtins/complete.def
+       - new `-o nospace' option for complete and compgen (though it doesn't
+         really do anything for compgen, since that doesn't hand anything
+         off to readline)
+
+bashline.c
+       - if a programmable completion specifies COPT_NOSPACE, set
+         rl_completion_suppress_append = 1
+
+lib/readline/doc/rluser.texinfo
+       - documented new `-o nospace' option to complete and compgen
+
+doc/{bash.1,bashref.texi}
+       - documented $'\cX' escape sequence (forgot to before)
+
+                                  1/28
+                                  ----
+variables.c
+       - make_new_variable now takes the HASH_TABLE * as its second
+         argument; changed callers
+       - new function, bind_variable_in_table, takes the HASH_TABLE * as
+         its third paramter; bind_variable calls bind_variable_in_table
+         with shell_variables as third argument
+
+variables.h
+       - new struct var_context, variable context (per-scope -- global,
+         function local, etc.)
+
+variables.[ch],builtins/common.[ch]
+       - moved functions that push and pop a variable context from
+         builtins/common.c to variables.c; move extern function
+         declarations to variables.h
+       - new function, all_local_variables
+       - variable_in_context is now static, used only by all_local_variables
+
+variables.[ch],execute_cmd.c
+       - push_context now takes the function name as an argument for
+         future use
+       - push_context takes an indication of whether or not the function is
+         executing in a subshell and saves the positional parameters only
+         if not in a subshell
+       - new functions for managing a stack of variable contexts and
+         scopes:  new_var_context, dispose_var_context, push_var_context,
+         pop_var_context, push_scope, pop_scope
+
+builtins/declare.def
+       - call all_local_variables instead of map_over (...) in declare_internal
+       - don't call make_local_variable if we're looking at functions
+         ((flags_on & att_function) != 0), since it's wasted
+       - make sure VAR is set to NULL if check for variable_context fails
+         and we didn't just create or fetch a local variable in
+         declare_internal
+       - in non-function branch of declare_internal, only call find_variable
+         if VAR is NULL -- if it's not null, we just created or fetched a
+         local variable and don't need to do it again
+
+                                  1/29
+                                  ----
+variables.[ch]
+       - the temporary environments (temporary_env, builtin_env, function_env)
+         are now HASH_TABLEs instead of argv-style arrays of strings (this
+         is an intermediate step on the way to the new lcc-inspired symbol
+         table scope structure)
+       - new internal attribute for variables: att_propagate.  This means
+         to propagate the value out of the temporary environment up the
+         (for now implicit) chain of variable scopes when the containing
+         temporary environment is deleted
+
+variables.c
+       - assign_in_env now adds to the HASH_TABLE temporary_env instead
+         of making environment-style strings in an array of strings
+       - changed the way the temporary environments are merged into the
+         shell variable table to account for the new HASH_TABLE temp
+         environments
+       - changed the way the export environment is created due to the new
+         structure of the temporary environments
+       - new function, bind_variable_internal (name, value, table), binds
+         NAME to have VALUE in TABLE without searching the temporary
+         environments
+       - removed: shell_var_from_env_string, bind_name_in_env_array
+       - variable_in_context now checks the att_local attribute and makes
+         sure the variable is not invisible
+       - local_and_exported now makes sure the variable is not invisible
+
+execute_cmd.c
+       - we no longer need to copy the temporary environment to function_env
+         or builtin_env, we can simply use variable assignments
+
+{findcmd,subst,variables}.c, builtins/{declare,setattr}.def
+       - since variables from the temporary environments are no longer turned
+         into SHELL_VARs on the fly, don't dispose the SHELL_VAR returned
+         by find_variable or find_variable_internal
+       - need to savestring() the value returned by find_variable if it has
+         the tempvar attribute before calling bind_variable on it, because
+         bind_variable will search and bind into the temporary environments
+         and will free the old value before binding the new.  For temporary
+         environments, these two pointers will be the same, and
+         bind_tempenv_variable will end up using freed memory
+
+builtins/{declare,setattr}.def
+       - set the att_propagate attribute when exporting or making readonly
+         variables from the temp environment (i.e., `var=value declare -x var'
+         or `var=value export var' sets the propagate attribute on the entry
+         for `var' in the temporary environment HASH_TABLE)
+
+lib/readline/isearch.c
+       - ^W when reading isearch string yanks the current word out of the
+         current line into the search string, skipping the portion already
+         matched
+       - ^Y when reading isearch string yanks the rest of the current line
+         into the search string, skipping the portion already matched
+
+                                  1/30
+                                  ----
+{print_cmd,variables}.c
+       - moved indirection_level_string() from variables.c to print_cmd.c
+
+{externs,variables}.h
+       - moved extern declaration of indirection_level_string to externs.h
+
+{general,variables}.c
+       - moved assignment() from variables.c to general.c
+
+{general,variables}.h
+       - moved extern declaration of assignment() to general.h
+
+{externs,input}.h
+       - moved extern declaration of decode_prompt_string to externs.h
+
+print_cmd.c
+       - include flags.h, don't include stdc.h
+
+variables.c
+       - moved some functions around to group functions better
+       - changed new_shell_variable to explicitly initialize each member
+         of the created struct variable instead of calling bzero()
+       - make_new_variable now just calls new_shell_variable instead
+         of duplicating what it does
+       - removed some code in bind_function that duplicated what
+         new_variable does on the newly-created SHELL_VAR
+       - since there are no local function variables (functions are always
+         made at the global scope), kill_all_local_variables() doesn't
+         need to consider functions
+
+                                  1/31
+                                  ----
+variables.c
+       - sort the array of special variables
+       - short-circuit the search in stupidly_hack_special_variables if
+         the passed name can't be found in the rest of the array
+         (that is, if name[0] < special_vars[i].name[0])
+
+lib/readline/history.c
+       - unstifle_history() was returning values exactly opposite of
+         the documentation
+
+lib/readline/doc/{hsuser.texinfo,history.3}
+       - clarified the unstifle_history() documentation a little
+
+                                   2/4
+                                   ---
+variables.c
+       - in bind_variable, don't call bind_tempenv_variable after a
+         find_tempenv_variable succeeds -- just change the value inline.
+         There's no reason to look it up twice
+       - change makunbound to only call stupidly_hack_special_variables
+         if we're not unsetting a function
+
+variables.[ch]
+       - new function, unbind_function, like makunbound but doesn't mess
+         with previous contexts or calling stupidly_hack_special_variables
+
+builtins/set.def
+       - change unset_builtin to call either unbind_func or unbind_variable
+
+builtins/getopts.def
+       - call unbind_variable(name) instead of makunbound(name, shell_variables)
+
+                                   2/5
+                                   ---
+lib/glob/sm_loop.c
+       - use malloc instead of xmalloc in BRACKMATCH and handle failures
+
+error.c
+       - add extern declaration of executing_line_number with prototype,
+         since execute_cmd.h can't be included without including other
+         files
+
+lib/readline/parens.c
+       - include <unistd.h>
+
+lib/malloc/stats.c
+       - include <unistd.h>
+       - add extern declaration of malloc_free_blocks() with prototype
+
+pathexp.c
+       - added some forward declarations with prototypes for static functions
+
+lib/readline/rlprivate.h
+       - removed declarations of rl_untranslate_keyseq, rl_discard_argument,
+         rl_stop_output, rl_alphabetic since they appear in readline.h
+
+                                   2/6
+                                   ---
+{arrayfunc,execute_cmd,pcomplete,shell}.c
+       - change calls to makunbound(name, shell_variables) to
+         unbind_variable (name)
+
+                                   2/7
+                                   ---
+builtins/getopt.c
+       - don't defer incrementing of OPTIND when an invalid option is
+         encountered until the next call to sh_getopt() -- what if OPTIND
+         is reset before that next call?  This means that OPTIND is always
+         incremented to the next option to be handled when an option is
+         returned, whether it's valid or not.  This is what POSIX-2002
+         says to do.
+
+syntax.h
+       - new #define, CSUBSTOP
+
+mksyntax.c
+       - add "-=?+" with value CSUBSTOP to the syntax table.  These are the
+         valid expansion operators OP in ${param[:]OPword}
+
+subst.c
+       - use table lookup for CSUBSTOP in VALID_PARAM_EXPAND_CHAR
+       - new flags for the string extraction functions:  EX_NOALLOC.  This
+         indicates that the functions are being used only to skip over
+         strings and the result won't be used, so the substring shouldn't
+         be allocated, copied, and freed
+       - new flag for string_extract:  EX_VARNAME.  This serves the same
+         purpose as the old `varname' parameter.  parameter_brace_expand()
+         changed appropriately
+       - extract_delimited_string and extract_dollar_brace_string now take
+         an additional `flags' argument, which may include EX_NOALLOC
+       - changed callers of extract_delimited_string and
+         extract_dollar_brace_string appropriately
+       - string_extract now understands EX_NOALLOC; callers changed
+       - some smaller code cleanups
+       - converted char_is_quoted(), unclosed_pair(), and skip_to_delim()
+         to understand multibyte characters
+
+                                  2/11
+                                  ----
+variables.[ch]
+       - moved to a symbol organization inspired by lcc.  The basic structure
+         is no longer a HASH_TABLE, but a VAR_CONTEXT, which includes a hash
+         table as one of its members.  VAR_CONTEXTs are linked together to do
+         variable scoping.  One nice thing about this is that the entire
+         symbol table doesn't need to be searched at function scope exit to
+         remove local variables.  Fixes problems with only one instance of
+         builtin_env and function_env, even though it really is a stack
+       - shell_variables is now a VAR_CONTEXT *, with a global_variables
+         variable that points to the bottom of the stack for fast access
+       - function-scope local variables (assignments specified on the command
+         line before a function call) and function-local variables (declared
+         with the `local' builtin) have been unified in the same variable
+         context, replacing function_env
+       - assignment statements preceding the `.' and `eval' builtins are now
+         a separate variable scope VAR_CONTEXT, replacing builtin_env
+       - temporary_env (a HASH_TABLE) is now the only separate environment
+       - changes to export environment creation, variable binding, variable
+         lookup, local variable propagation all changed to work with the
+         new symbol table/scope structure
+       - a SHELL_VAR no longer has a `prev_context' member; it's not needed
+
+execute_cmd.c
+       - changes to push_context calls to include any temporary variables in
+         temporary_env; pop_context takes care of propagating any temporary
+         variables if necessary
+       - calls to push_scope if `eval' or `.' is called with a list of
+         preceding variable assignments, and pop_scope called at end of
+         builtin's execution.  pop_scope takes care of merging temporary
+         variables into the shell environment when appropriate
+
+builtins/{setattr,declare}.def
+       - changes to account for variable assignments preceding `local',
+         `export', `readonly', `declare', etc. to work with the new
+         variable scoping implementation
+
+shell.c
+       - since shell_variables is now a VAR_CONTEXT, call
+         delete_all_contexts() when the shell is reinitializing instead of
+         delete_all_variables()
+
+builtins/common.c
+       - new function, get_job_by_name(), used by execute_simple_command()
+         for the `auto_resume' stuff and get_job_spec()
+
+builtins/common.h
+       - new set of #defined constants for flags argument to
+         get_job_by_name()
+
+                                  2/12
+                                  ----
+command.h
+       - new redirection operator: r_reading_string for `here strings'
+
+parse.y
+       - new token, LESS_LESS_LESS, for new redirection `here string'
+         operator: [N]<<< word
+       - recognize LESS_LESS_LESS and create the appropriate redirection
+
+{dispose_cmd,copy_cmd,make_cmd,print_cmd}.c
+       - recognize r_reading_string and do the right thing (dispose_redirects,
+         copy_redirect, print_redirection, and make_redirection, respectively)
+
+redir.c
+       - here_document_to_fd now takes the redirection operator as its
+         second argument
+       - new function, write_here_string, expands a here string and writes it
+         to the here document file descriptor
+       - here_document_to_fd calls write_here_string for r_reading_string
+         operator
+       - handle r_reading_string in do_redirection_internal() and
+         stdin_redirection()
+
+                                  2/18
+                                  ----
+doc/{bash.1,bashref.texi}
+       - documented here strings
+
+{configure,Makefile}.in
+       - bumped version number up to bash-2.05b and the release status
+         to alpha1
+
+expr.c
+       - make expr_streval understand that variables with the `invisible'
+         attribute are really unset, and accessing such a variable when
+         `set -u' is set should be an error
+
+variables.h
+       - new accessor macros: var_isset(var) and var_isnull(var), test
+         whether var->value is NULL
+
+{eval,subst,variables}.c, builtins/{declare,setattr}.def
+       - be more consistent about using value_cell(var) instead of
+         directly referencing var->value
+       - use var_isset and var_isnull where appropriate
+
+builtins/help.def
+       - augmented a couple of help strings with pointers to `info' and
+         `man -k'
+
+                                  2/14
+                                  ----
+variables.h
+       - new macros to use when setting variable values directly instead of
+         through bind_variable and its siblings
+
+{arrayfunc,variables}.c
+       - use var_setarray and other lvalue macros instead of assigning to
+         var->value directly
+
+builtins/setattr.def
+       - change show_var_attributes to show function definitions separately
+         from function attributes.  This allows the output of `declare -f'
+         (with other flags), `export -f', and `readonly -f' to be reused as
+         shell input, instead of the old
+
+               declare -f[flags] func()
+               {
+                       foo
+               }
+
+         which has syntax errors.  When in posix mode, `export -fp' and
+         `readonly -fp' still don't print function definitions
+
+                                  2/16
+                                  ----
+parse.y
+       - comment out calls to discard_parser_constructs; no need to call
+         empty functions
+
+                                  2/18
+                                  ----
+lib/sh/memset.c
+       - replacement function for memset(3)
+
+lib/sh/Makefile.in, Makefile.in
+       - additions for memset.c
+
+configure.in,config.h.in
+       - check for memset, define HAVE_MEMSET if found, add memset.o to
+         LIBOBJS if not
+
+lib/malloc/malloc.c
+       - removed zmemset(), replaced with calls to memset(3)
+
+{subst,execute_cmd,lib/sh/netopen}.c
+       - replaced calls to bzero with calls to memset
+
+subst.c
+       - word_split() now takes a second argument: the value of $IFS, so
+         it doesn't have to look up IFS every time
+       - word_list_split() now calls getifs() and passes the result to
+         each call to word_split() as its second arg
+       - do a quick scan for CTLNUL in remove_quoted_nulls before allocating
+         new string, copying old string to it, copying over original string
+         and freeing new string
+
+eval.c
+       - don't bother calling dispose_used_env_vars if temporary_env is NULL
+
+execute_cmd.c
+       - fix fix_assignment_words to only look up the builtin corresponding
+         to the first word if one of the words in the list is marked as
+         W_ASSIGNMENT
+
+hashlib.c
+       - renamed hash_string to hash_bucket, which better reflects what it
+         does
+       - extracted the portion of hash_bucket that computes the hash out
+         into a new hash_string()
+       - made new body of hash_bucket into a macro HASH_BUCKET; function
+         just calls the macro
+       - calls to hash_bucket in this file now call HASH_BUCKET macro
+       - in add_hash_item, just add a new item at the front of the appropriate
+         bucket list instead of at the end
+
+hashcmd.h
+       - reduced FILENAME_HASH_BUCKETS to 53 from 107
+
+                                  2/19
+                                  ----
+hashlib.[ch]
+       - find_hash_item, remove_hash_item, add_hash_item all take a new
+         third `flags' argument
+       - add_hash_item doesn't call find_hash_item if HASH_NOSRCH passed in
+         flags arg
+       - find_hash_item will create a new hash table entry if HASH_CREATE is
+         passed in flags arg
+       - new function, hash_walk, takes a pointer to a function and a table
+         and calls the function for each item in the table.  If the function
+         returns < 0, the walk is terminated
+       - fixed flush_hash_table to set table->nentries to 0 after freeing
+         all entries
+       - BUCKET_CONTENTS now has a new `khash' member, what key hashes to;
+         set by HASH_BUCKET macro (which calls hash_string), assigned in
+         find_hash_item (HASH_CREATE) and add_hash_item
+       - find_hash_item and remove_hash_item check `khash' against the
+         hash of the string argument before calling strcmp
+
+{alias,hashlib,hashcmd,pcomplib,variables}.c
+       - changed all calls to {find,remove,add}_hash_item
+
+builtins/hash.def
+       - return immediately from print_hashed_commands if there are no
+         entries in the hash table (this eliminates need for `any_printed'
+         variable)
+       - change print_hashed_commands to use hash_walk
+
+alias.c
+       - short-circuit all_aliases and map_over_aliases if
+         HASH_ENTRIES(aliases) == 0
+       - simplify map_over_aliases by just allocating enough room in the
+         returned list for all entries in the aliases hash table, instead
+         of doing the check and xrealloc
+       - add_alias now calls add_hash_item with HASH_NOSRCH argument
+
+pcomplete.h
+       - sh_csprint_func_t is no more; use hash_wfunc instead
+
+pcomplib.c
+       - short-circuit print_all_compspecs if HASH_ENTRIES(prog_completes)
+         is 0
+       - print_all_compspecs now takes a `hash_wfunc *' argument
+       - print_all_compspecs now just calls hash_walk
+
+builtins/complete.def
+       - new function, print_compitem, takes a BUCKET_CONTENTS *, extracts
+         the right info, and calls print_one_completion
+
+variables.c
+       - short-circuit map_over_funcs if HASH_ENTRIES(shell_functions) == 0
+       - short-circuit flatten if the passed table has no entries
+       - bind_variable_internal takes a new fourth argument: `hflags',
+         to pass to hash table functions
+       - make_new_variable now passes HASH_NOSRCH flag to add_hash_item
+       - set_if_not now calls bind_variable_internal and passes
+         HASH_NOSRCH as flags argument
+       - bind_function now calls add_hash_item with HASH_NOSRCH argument
+       - fixed make_local_variable:  old_var == 0 && was_tmpvar can never
+         be true
+       - if we didn't find an old variable in make_local_variable, call
+         bind_variable_internal with HASH_NOSRCH argument
+       - fix push_temp_var to reset variable context to 0 if binding into
+         global_variables->table
+
+parse.y
+       - fix to parse_compound_assignment to avoid core dumps on empty
+         compound array assignments
+
+subst.c
+       - getifs() is now global so read_builtin can call it
+
+subst.h
+       - extern declaration for getifs()
+
+                                  2/20
+                                  ----
+hashlib.c
+       - changed hash_string to use a better hash function
+       - changed HASH_BUCKET to use masking rather than modulus to hash a
+         string to a bucket -- HASH TABLES MUST NOW BE SIZED BY POWERS
+         OF TWO
+
+hashlib.h
+       - DEFAULT_HASH_BUCKETS is now 64
+
+hashcmd.h
+       - FILENAME_HASH_BUCKETS is now 64
+
+pcomplib.c
+       - COMPLETE_HASH_BUCKETS is now 32
+
+variables.c
+       - TEMPENV_HASH_BUCKETS is now 4
+
+alias.c
+       - new define, ALIAS_HASH_BUCKETS, set to 16, used to size alias table
+
+hashlib.c
+       - removed initialize_hash_table; folded code into make_hash_table
+       - fixed copy_bucket_array to copy the `khash' member of an item
+       - renamed functions to be more systematic and easier for me:
+               make_hash_table -> hash_create
+               hash_table_nentries -> hash_size
+               copy_hash_table -> hash_copy
+               find_hash_item -> hash_search
+               remove_hash_item -> hash_remove
+               add_hash_item -> hash_insert
+               flush_hash_table -> hash_flush
+               dispose_hash_table -> hash_dispose
+               print_table_stats -> hash_pstats
+               get_hash_bucket -> hash_items
+       - changed hash_search to short-circuit if table->nentries == 0 and
+         HASH_CREATE has not been passed in the flags argument
+
+{alias,variables,hashcmd,pcomplib}.c
+       - renamed calls to all renamed functions from hashlib.c
+
+builtins/kill.def
+       - don't drop a leading `-' in a pid argument
+       - call kill_pid with an explicit third argument of 1 if the pid
+         argument to kill is < -1, rather than rely on the behavior of
+         kill(2)
+
+                                  2/21
+                                  ----
+subst.c
+       - quoted_strchr is no longer declared `inline'
+       - skip_double_quoted is no longer declared `inline'
+       - string_extract_double_quoted is no longer declared `inline'
+
+lib/readline/input.c
+       - rl_gather_tyi is now an `int' valued function; returns the number
+         of characters read (0 or 1) or -1 on error
+       - if rl_gather_tyi() returns -1 to rl_read_key(), set rl_done to 1
+         and return a newline; something is wrong with the input fd
+
+                                  2/25
+                                  ----
+variables.[ch]
+       - IFS is now a special variable
+       - new special var function, sv_ifs(), called when IFS is set or unset
+       - call setifs() when IFS is first set in initialize_shell_variables
+       - call setifs() from make_local_variable and assign_in_env if
+         appropriate
+       - if assign_in_env() is called with a var assignment like `VAR=',
+         make the value in the new SHELL_VAR created be "" like
+         do_assignment_internal does, since certain parts of the shell use
+         a NULL value as evidence that the variable is unset (though
+         attributes may have been assigned)
+       - if push_temp_var pushes something up to the global_variables table,
+         make sure that the context is set to 0
+       - new function dispose_temporary_env, called by both
+         dispose_used_env_vars and merge_temporary_env with different `free
+         func' function pointers; calls sv_ifs after disposing the temporary
+         environment
+       - push_exported_var now calls bind_variable_internal instead of
+         bind_variable
+       - pop_scope and pop_context now call sv_ifs
+
+subst.[ch]
+       - new global variables used to keep track of IFS state, to avoid
+         having to call find_variable("IFS") all the time:
+
+               ifs_var         the SHELL_VAR for IFS
+               ifs_value       ifs_var ? value_cell (ifs_var) : " \t\n"
+               ifs_cmap        bitmap of characters in ifs_value
+               ifs_firstc      first character in ifs_value
+
+       - new function setifs(), sets the aforementioned ifs variables each
+         time IFS is set or unset, and at nested scope exit
+       - instead of calling getifs() from inside subst.c, use ifs_value
+       - getifs() now just returns ifs_value
+       - use ifs_firstc in string_list_dollar_star()
+       - only call member() in issep() if separators is more than one char
+       - don't cache a bitmap every time expand_word_internal() is called;
+         use ifs_cmap instead
+       - new macro, isifs(c), checks whether C is in ifs_cmap
+
+builtins/read.def
+       - use issep() and isifs() macros instead of looking at $IFS directly
+
+syntax.h
+       - make sure macros that access sh_syntaxtab cast the argument to
+         `unsigned char' before array access
+       - new macros: issyntype(c, type) and notsyntype(c, type), check
+         sh_syntaxtab[c] for a particular flag value `type'
+
+                                  2/26
+                                  ----
+hashlib.h
+       - the `data' member of a `BUCKET_CONTENTS' is now a PTR_T
+
+{hashlib,alias,variables,hashcmd,pcomplib}.c
+       - removed some casts when assigning to and using `data' member of a
+         `BUCKET_CONTENTS'
+
+subst.c
+       - in split_at_delims, call make_word_list instead of allocating and
+         initializing a WORD_LIST * directly
+
+make_cmd.[ch]
+       - add_string_to_list is now just a macro that calls make_word_list
+       - make_simple_command now calls make_word_list instead of allocating
+         a WORD_LIST * directly
+
+                                  2/27
+                                  ----
+copy_cmd.c
+       - copy_word now calls make_bare_word to allocate the copy
+       - copy_word_list now calls make_word_list to allocate the copy
+
+shell.h
+       - include `ocache.h' for simple object caching
+       - call cmd_init() to initialize the WORD_DESC and WORD_LIST object
+         caches
+
+{make,dispose}_cmd.c
+       - allocate WORD_DESC * and WORD_LIST * vars from their respective
+         ocaches, and return them to the cache when disposing
+
+jobs.c
+       - renamed old `waiting_for_job' variable to `queue_sigchld', which
+         better reflects its intent:  sigchld_handler does not call waitchld
+         if `queue_sigchld' is non-zero, it simply increments the count of
+         waiting children
+       - cleanup_dead_jobs now just sets and clears queue_sigchld instead of
+         blocking and unblocking SIGCHLD; it calls waitchld at the end if
+         `sigchld' is non-zero, but that's not really necessary
+       - in setjstatus, only call xrealloc if `statsize' is less than the
+         number of processes passed -- no reason to do it if they're the
+         same
+
+                                  2/28
+                                  ----
+sig.[ch]
+       - reinitialize_signals is no more; initialize_signals takes an
+         argument saying whether or not we are reinitializing
+
+builtins/exec.def
+       - reinitialize_signals() -> initialize_signals(1)
+
+test.c
+       - fix filecomp() to work right when one file has a non-positive
+         timestamp and the other file does not exist
+
+doc/{bash.1,bashref.texi}
+       - document what happens for test's -nt and -ot operators when one
+         file operand exists and the other does not
+
+jobs.c
+       - if we haven't messed with SIGTTOU, just manipulate queue_sigchld
+         in notify_of_job_status instead of calling sigprocmask()
+       - list_one_job now calls pretty_print_job directly instead of going
+         through print_job
+       - pretty_print_job now must be called with SIGCHLD blocked or held
+         instead of blocking SIGCHLD itself
+       - changed start_job so that it doesn't call UNBLOCK_CHILD and then
+         immediately call BLOCK_CHILD again (explicitly or via last_pid()),
+         call find_last_pid instead of last_pid and then UNBLOCK_CHILD
+       - changed wait_for_job the same way
+       - find_last_pid now takes a second argument: block; uses BLOCK_CHILD
+         if `block' is 1, not otherwise.  Changed existing calls:
+               find_last_pid(j) -> find_last_pid(j, 0)
+               last_pid(j) -> find_last_pid(j, 1)
+         `last_pid()' is now gone
+       - rewrote wait_for_background_pids(); it was a little strange
+       
+copy_cmd.c
+       - copy_if_command: don't copy null false_case commands
+       - copy_simple_command: don't copy a null redirection list
+
+subst.c
+       - in get_word_from_string and list_string, just check for " \t\n"
+         directly rather than calling strcmp
+       - in get_word_from_string and strip_trailing_ifs_whitespace, use
+         isifs() instead of issep(), since they're never called with
+         separators != $IFS
+       - change issep() to call isifs if separators is longer than one
+         character, since it's never called with anything but "", " ",
+         or $IFS
+
+                                   3/1
+                                   ---
+sig.h
+       - enclose the BLOCK_SIGNAL macro in a do {...} while (0) loop, at it
+         should have been all along
+
+lib/readline/doc/rltech.texinfo
+       - document that readline defaults to stdin/stdout if rl_instream/
+         rl_outstream are NULL
+
+lib/readline/terminal.c
+       - if an application is using a custom redisplay function,
+         rl_resize_terminal just calls rl_forced_update_display to tell
+         (*rl_redisplay_func) to update the display, otherwise call
+         _rl_redisplay_after_sigwinch
+
+lib/readline/readline.c
+       - change readline_internal_setup() so the change to vi insertion mode
+         happens even if readline_echoing_p is 0
+       - don't print the prompt to rl_outstream in readline_internal_setup
+         if we're not echoing and the caller has defined a custom redisplay
+         function -- let the redisplay function deal with it
+
+configure.in
+       - new option: --enable-mem-scramble, controls memory scrambling on
+         free() (on by default; only affects use of bash malloc)
+
+config.h.in
+       - new option MEMSCRAMBLE, controlled by --enable-mem-scramble
+
+                                   3/5
+                                   ---
+parse.y
+       - added ksh-like behavior of [...] to read_token_word:  if a `[' is
+         seen in an assignment context and the previous characters in the
+         token form a valid identifier, parse the [...] with
+         parse_matched_pair to allow spaces (and newlines) in the subscript
+
+bashline.c
+       - new function bash_servicename_completion_function, for completing
+         service names from /etc/services
+
+bashline.h
+       - new extern declaration for bash_servicename_completion_function
+
+builtins/complete.def
+       - allow new `-s/-A service' option to complete and compgen builtins
+
+pcomplete.h
+       - new CA_SERVICE define, new ITEMLIST variable it_services
+
+pcomplete.c
+       - add callback to bash_servicename_completion_function to generate
+         list of matching service names for completion
+
+doc/bash.1,lib/readline/doc/rluser.texinfo
+       - documented new `-s/-A service' option to complete and compgen
+
+                                   3/6
+                                   ---
+builtins/read.def
+       - change hard-coded `0' to new variable `fd' (initially 0) in
+         preparation for adding `-u fd' option
+
+bashline.c
+       - bash_directory_completion_hook calls expand_prompt_string instead
+         of expand_string (it does the right thing).  This keeps expansion
+         errors from causing a longjmp, which shouldn't happen because of
+         completion
+       - command_subst_completion_function was augmented very slightly to
+         do filename completion on a non-command-word in a command
+         substitution
+       - command_subst_completion_function now skips over the lcd that
+         rl_completion_matches puts in matches[0] if there is more than
+         one possible completion
+
+                                   3/7
+                                   ---
+builtins/read.def
+       - only add the unwind_protect to free `rlbuf' if `edit' is non-zero,
+         since we won't be using readline otherwise
+
+lib/sh/zread.c
+       - renamed zread1 -> zreadintr
+
+redir.c
+       - small change to redirection_error() to make a slightly better
+         guess about the invalid file descriptor if the redirection op is
+         r_duplicating_input or r_duplicating_output
+
+include/stdc.h
+       - new macro, SH_VA_START, to encapsulate the difference between
+         stdarg va_start and varargs va_start
+
+{error,pcomplete,print_cmd}.c,builtins/common.c,lib/sh/snprintf.c
+       - use SH_VA_START
+
+                                   3/8
+                                   ---
+builtins/read.def
+       - support for the ksh-like `-u fd' option
+
+general.c
+       - new function sh_validfd(fd), returns 1 if fd is a valid open file
+         descriptor
+
+general.h
+       - extern decl for sh_validfd
+
+bashline.c
+       - don't call posix_readline_initialize() from initialize_readline();
+         sv_strict_posix() should already have taken care of it
+
+                                  3/11
+                                  ----
+{error,pcomplete,print_cmd}.c, builtins/common.c
+       - removed non-varargs versions of functions
+
+builtins/printf.def
+       - if the string argument to %q has non-printing characters, call
+         ansic_quote to quote it rather than sh_backslash_quote
+
+variables.h
+       - new attribute: att_trace (and corresponding trace_p() macro).
+         Functions with this attribute will inherit the DEBUG trap.
+         Currently ignored for variables
+
+builtins/declare.def
+       - new `-t' option to declare/typeset toggle the `att_trace' attribute
+
+builtins/setattr.def
+       - check for att_trace and output `-t' flag in show_var_attributes
+
+execute_cmd.c
+       - if a function is being traced (it has the `-t' attribute set),
+         don't turn off the DEBUG trap when it executes
+
+doc/{bash.1,bashref.texi}
+       - document the new `-t' option to declare/typeset
+
+                                  3/12
+                                  ----
+execute_cmd.c
+       - don't execute the debug trap in the `cm_simple:' case of
+         execute_command_internal; run it in execute_simple_command so we
+         get the line number information right when executing in a shell
+         function
+       - run a DEBUG trap before executing ((...)) arithmetic commands,
+         like ksh93
+       - run a DEBUG trap before executing [[...]] conditional commands,
+         like ksh93
+
+eval.c
+       - add a static forward declaration for alrm_catcher()
+
+general.c
+       - add static forward declarations for bash_special_tilde_expansions,
+         unquoted_tilde_word, initialize_group_array
+
+variables.h
+       - add extern declarations for sh_get_env_value, map_over_funcs,
+         local_exported_variables
+
+variables.c
+       - add static forward declarations for dispose_temporary_env,
+         make_func_export_array
+
+bashhist.c
+       - add static forward declaration for check_history_control
+
+configure.in
+       - add a call to AC_CHECK_DECLS for strcpy
+
+config.h.in
+       - add placeholder for HAVE_DECL_STRCPY define, set by configure
+
+general.h
+       - don't declare strcpy if HAVE_DECL_STRCPY is defined with a non-zero
+         value
+
+sig.h
+       - add prototype to typedef of SigHandler
+
+lib/readline/histlib.h
+       - removed extern declaration of strcpy()
+       - include string.h/strings.h directly in histlib.h instead of source
+         files
+
+lib/readline/{histexpand,histfile,history,histsearch}.c
+       - don't include string.h/strings.h now that histlib.h includes it
+
+lib/tilde/tilde.c
+       - removed extern declaration of strcpy(), rely on string.h/strings.h
+
+command.h
+       - four new redirection types: r_move_input, r_move_output,
+         r_move_input_word, r_move_output_word, for
+         [N]<&word- and [N]>&word- from ksh93
+
+print_cmd.c
+       - changes to print r_move_input[_word] and r_move_output[_word]
+
+copy_cmd.c
+       - changes to copy r_move_input[_word] and r_move_output[_word]
+
+dispose_cmd.c
+       - changes to dispose r_move_input_word and r_move_output_word
+
+make_cmd.c
+       - changes to make r_move_input[_word] and r_move_output[_word] from
+         r_duplicating_{input,output}_word, which is how the new redirs
+         are passed by the parser
+
+redir.c
+       - changes to make r_move_input[_word] and r_move_output[_word] do
+         the right thing when executed
+
+builtins/read.def
+       - print an error message and return failure immediately if zread/zreadc
+         return < 0
+
+doc/{bash.1,bashref.texi}
+       - documented new [n]<&word- and [n]>&word- redirections
+
+                                  3/13
+                                  ----
+lib/readline/isearch.c 
+       - enabled code to allow chars bound to rl_rubout to delete characters
+         from the incremental search string
+
+shell.c
+       - add `-l' invocation option to parse_shell_options; equivalent to
+         `--login'
+       - fixed set_login_shell to check first char of base pathname of argv0
+         for `-', like other shells
+       - move the check for make_login_shell after the call to
+         parse_shell_options because the `-l' option might set it
+
+doc/{bash.1,bashref.texi}
+       - documented new `-l' invocation option
+
+array.c
+       - new function, array_shift, shifts an array left by a specified
+         number of elements
+       - array_walk is now compiled in by default
+       - array_to_assignment_string now takes a second argument: int quoted.
+         If non-zero, the result is single-quoted before being returned
+       - quoted_array_assignment_string has been removed
+
+array.[ch]
+       - renamed most of the array functions so that all have an array_
+         prefix and are more systematically named
+       - array_slice now preserves the indicies from the original array
+       - change array_to_assign to use a static buffer for expanding the
+         array indices, instead of malloc/free
+
+{arrayfunc,subst,variables}.c, builtins/read.def
+       - changed calls to various array functions to use new names
+
+lib/sh/stringvec.c, externs.h
+       - renamed all of the functions to have a strvec_ prefix and to have
+         a more sensible name scheme
+       - strvec_search's arguments are now supplied in reverse order, so
+         the char **array is first, like the other functions
+       - new function, strvec_resize, xrealloc for strvecs
+
+{alias,array,bracecomp,braces,bashline,execute_cmd,findcmd,general,pathexp,
+pcomplete,variables}.c
+lib/sh/stringlist.c
+builtins/{bind,complete,exec,getopts,pushd,set}.def
+       - change calls to all functions from lib/sh/stringvec.c
+       - use strvec_resize where appropriate
+
+externs.h
+       - only declare dup2() if HAVE_DUP2 is undefined or DUP2_BROKEN is
+         defined
+
+lib/readline/{macro,readline,util}.c, lib/readline/rlprivate.h
+       - _rl_defining_kbd_macro is gone, use RL_ISSTATE(RL_STATE_MACRODEF)
+
+lib/readline/readline.h
+       - new struct readline_state, encapsulates most of readline's internal
+         state in case you need reentrancy or nested calls to readline()
+       - extern declarations for rl_save_state, rl_restore_state
+
+lib/readline/readline.c
+       - add (undocumented) int rl_save_state (struct readline_state *),
+         int rl_restore_state (struct readline_state *)
+
+                                  3/14
+                                  ----
+array.[ch]
+       - new function, array_rshift, shifts an array right by a specified
+         number of elements, optionally inserting a new element 0
+
+examples/bashdb/bashdb
+       - new single-file version of bash debugger, originally modified from
+         version in bash-2.04 by Gary Vaughan (the old debugger still
+         appears in examples/obashdb).  This version has a more gdb-like
+         command set
+
+examples/bashdb/bashdb.el
+       - new emacs bashdb debugger mode from Masatake YAMATO <jet@gyve.org>
+
+execute_cmd.c
+       - don't make $LINENO relative to function start unless the shell is
+         currently interactive -- this is what ksh93 does and what I
+         believe to be the intent of POSIX.2 (this required changing some
+         of the test checks because the output has changed)
+       - run the debug trap for each command in an arithmetic for expression,
+         like ksh93 does
+
+lib/readline/vi_mode.c
+       - redid rl_vi_subst (binding func for `s' and `S') in terms of
+         rl_vi_change_to:  `S' == `cc' and `s' == `c '.  This makes undo
+         work right
+
+                                  3/18
+                                  ----
+hashlib.c
+       - fixed hash_walk to return if the item function returns < 0, instead
+         of breaking out of the current hash chain
+
+array.c
+       - fixed array_walk to return if the item function returns < 0, like
+         hash_walk
+
+lib/sh/stringlist.c, externs.h
+       - new function: strlist_walk, takes a stringlist and a pointer to an
+         item func.  Like other _walk funcs, if item func returns < 0 the
+         walk is cancelled
+       - new function: strlist_flush, frees items in the contained list
+         with strvec_flush
+       - renamed functions to have a strlist_ prefix and be more systematic
+
+pcomplib.c,pcomplete.h
+       - removed redundant `progcomp_initialized' variable
+       - renamed functions to have `progcomp_' or `compspec_' prefixes
+         like the hash library
+
+{bashline,pcomplete}.c,builtins/complete.def
+       - fixed calls to stringlist functions to use new names
+       - fixed calls to functions in pcomplib.c to use new names
+
+pcomplete.c
+       - made the debugging code #ifdef DEBUG -- it should be mature enough
+
+builtins/hash.def,parse.y
+       - use REVERSE_LIST(x, t) instead of (t)reverse_list(x)
+
+list.c,{externs,general}.h
+       - renamed the list functions to have a list_ prefix, changed callers
+
+externs.h,{execute_cmd,stringlib,subst}.c,builtins/common.c,lib/sh/stringvec.c
+       - word_list_to_argv -> strvec_from_word_list
+       - argv_to_word_list -> strvec_to_word_list
+       - moved functions to lib/sh/stringvec.c
+
+lib/sh/stringvec.c
+       - changed name of second argument to strvec_from_word_list from `copy'
+         to `alloc' so the use of `copy' between strvec_from_word_list and
+         strvec_to_word_list isn't as confusing
+       - changed name and sense of second argument to
+         strvec_to_word_list from `copy' to `alloc' for the same reason --
+         now both functions agree on semantics of second argument
+
+lib/sh/stringlist.c
+       - ditto for strlist_from_word_list and strlist_to_word_list
+
+subst.c
+       - changed callers of strvec_to_word_list
+
+                                  3/19
+                                  ----
+builtins/hash.def
+       - added `-l' option to list table or individual targets in reusable
+         format
+       - added `-d' option to remove one or more names from the table of
+         hashed commands (provides `unhash' or `unalias -t' functionality)
+
+doc/{bash.1,bashref.texi}
+       - documented new `-l' and `-d' options to `hash'
+
+hashcmd.[ch]
+       - renamed functions to have a `phash_' prefix and follow new naming
+         convention
+       - phash_remove now returns an int:  1 if command not in hash table,
+         0 if filename removed OK
+
+{findcmd,variables}.c, builtins/{hash,type}.def
+       - changed callers to use new names from hashcmd.c
+
+builtins/common.[ch]
+       - new function, sh_notfound(s), prints standard `not found' message
+       - new function, sh_invalidid(s), prints standard `invalid identifier'
+         message
+       - new function, sh_restricted(s), prints standard `restricted' message
+         for restricted shells
+       - new function, sh_invalidnum(s), prints standard `invalid number'
+         message
+       - renamed bad_option to sh_invalidopt, changed to print
+         `invalid option' instead of `unknown option'
+       - new function, sh_invalidoptname, prints standard `invalid option
+         name' for long options
+       - new function, sh_badjob (s), prints standard `no such job' message
+       - new function, sh_invalidsig (s), prints standard `invalid signal
+         specification' message
+       - new function, sh_nojobs (s), prints standard `no job control' message
+       - new function, sh_needarg (s), prints standard `option requires an
+         argument' message
+       - new function, sh_neednumarg (s), prints standard `numeric
+         argument required' message
+       - new function, sh_badpid(s), prints standard `not a pid...' message
+       - new function, sh_erange (s, desc) prints standard `out of range'
+         message, optionally using `desc' to say what the argument is
+
+builtins/{alias,command,declare,exec,hash,type}.def
+       - call sh_notfound() instead of calling builtin_error directly
+
+builtins/{declare,getopts,read,set,setattr}.def
+       - call sh_invalidid() instead of calling builtin_error directly
+
+builtins/{cd,command,enable,exec,hash,source}.def
+       - call sh_restricted() instead of calling builtin_error directly
+
+builtins/{printf,read,ulimit}.def, builtins/common.c
+       - call sh_invalidnum instead of calling builtin_error directly
+
+builtins/{complete,declare,pushd,set}.def, builtins/bashgetopt.c
+       - call sh_invalidopt instead of bad_option or builtin_error directly
+
+builtins/{complete,set,shopt}.def
+       - call sh_invalidoptname instead of builtin_error directly
+
+builtins/{fg_bg,jobs,kill,wait}.def
+       - call sh_badjob instead of calling builtin_error directly
+
+builtins/common.c, builtins/{kill,signal}.def
+       - call sh_invalidsig instead of calling builtin_error directly
+
+builtins/{fg_bg,suspend,wait}.def
+       - call sh_nojobs instead of calling builtin_error directly
+
+builtins/{common,bashgetopt}.c, builtins/{hash,kill}.def
+       - call sh_neednumarg and sh_needarg where required
+
+builtins/{kill,wait}.def
+       - call sh_badpid where required
+
+builtins/{break,fc,history,pushd,shift,ulimit,umask}.def
+       - call sh_erange where appropriate
+
+builtins/printf.def
+       - new static function, printf_erange, prints standard out-of-range
+         warning message
+
+builtins/set.def
+       - changed so that calls to sh_invalidopt always include the leading
+         `+' or `-'
+
+builtins/shopt.def
+       - changed SHOPT_ERROR macro to shopt_error function
+
+builtins/bind.def
+       - regularized error messages to `bind: object: error string' like
+         other error messages
+
+builtins.h
+       - the `short_doc' member of a `struct builtin' is now of type
+         `const char *'
+       - the strings in `long_doc' array of a struct builtin are now const
+
+builtins/mkbuiltins.c
+       - changes for new `const' members of struct builtin
+
+                                  3/20
+                                  ----
+lib/readline/histfile.c
+       - use pointers instead of indexing into buffer when reading the
+         contents of the history file in read_history_range and
+         history_truncate_file
+
+                                  3/21
+                                  ----
+lib/readline/histfile.c
+       - new file, with code to mmap the history file for reading and
+         writing (depends on HAVE_MMAP, currently nothing checks for that)
+
+                                  3/25
+                                  ----
+error.[ch]
+       - new function, err_badarraysub(s), calls report_error with standard
+         `bad array subscript' message
+       - new function, err_unboundvar(s), calls report_error with standard
+         `unbound variable' message
+       - new function, err_readonly(s), calls report_error with standard
+         `readonly variable' message
+
+{arrayfunc,subst}.c
+       - call err_badarraysub where appropriate
+
+{expr,subst}.c
+       - call err_unboundvar where appropriate
+
+{arrayfunc,variables}.c
+       - call err_readonly where appropriate
+
+shell.c
+       - changed text of bad option error messages to be the same as that
+         printed for builtin errors
+
+builtins/common.c
+       - changed sh_invalidopt to print the invalid option before the rest
+         of the error message (required some tests to be modified)
+       - new function, sh_readonly, calls builtin_error with standard
+         `readonly variable' message
+
+variables.c,builtins/declare.def
+       - call sh_readonly where appropriate
+
+lib/sh/stringvec.c
+       - added strvec_remove (sv, s), removes S from SV and shuffles rest of
+         elements down 1
+
+lib/sh/stringlist.c
+       - added strlist_remove(sl, s), just calls strvec_remove on the
+         component list
+
+externs.h
+       - new extern declarations for strvec_remove and strlist_remove
+       - fixed extern declaration for strvec_search; the arguments were
+         reversed (unimportant, it's not compiled into the shell)
+
+subst.c
+       - change param_expand to call quote_escapes on values retrieved when
+         expanding the positional parameters
+       - change parameter_brace_expand_word to quote escapes on values
+         retrieved when expanding the positional parameters
+       - fix parameter_brace_substring to quote escape characters on unquoted
+         substrings extracted from variable values (needed to separate case
+         VT_VARIABLE from VT_ARRAYMEMBER for this, since, because
+         get_var_and_type calls array_value for VT_ARRAYMEMBER, we need to
+         skip over quoted characters in an already-appropriately-quoted
+         string to find the substring we want)
+       - fix parameter_brace_substring to quote escape characters in the
+         value returned by pos_params when expanding subsets of the
+         positional parameters and not within double quotes (in which case
+         pos_params() quotes the string for us)
+       - fix parameter_brace_substring to quote escape characters in the
+         value returned by array_subrange when expanding subsets of an
+         array and not within double quotes (in which case
+         array_subrange() quotes the string for us)
+       - new function, quoted_strlen(s), does strlen(s) while skipping over
+         characters quoted with CTLESC (#ifdef INCLUDE_UNUSED, since it's
+         not used yet)
+       - changed pos_params() so it always returns a list whose members are
+         quoted strings if (quoted&(Q_HERE_DOCUMENT|Q_DOUBLE_QUOTES)) != 0
+
+arrayfunc.c
+       - fix array_value to consistently call quote_escapes, even when a
+         non-array variable is being subscripted with element 0, in which
+         case we return the variable value
+
+lib/sh/strtrans.c
+       - make the for_echo parameter to ansicstr a `flags' parameter that
+         has its old `for echo' meaning if flags&1 is non-zero (which is
+         consistent with the old code)
+       - Added code to the `flags' parameter to ansicstr so that if flags&2
+         is non-zero, CTLESC and CTLNUL are escaped with CTLESC in the
+         expanded string
+       - change ansiexpand() to call ansicstr with a `flags' parameter of 2
+
+                                  3/26
+                                  ----
+lib/readline/histfile.c
+       - when reading and writing the history file, use malloc instead of
+         xmalloc and handle failures gracefully, so the application doesn't
+         abort if the history file or history list is too big
+
+                                  3/27
+                                  ----
+arrayfunc.c
+       - changed array_value_internal to take an additional `int *'
+         parameter, in which is returned the type of array indexing
+         performed (array[@] vs. array or array[index])
+       - changed array_value and get_array_value to take a corresponding
+         extra parameter and pass it to array_value_internal
+       - changed array_value_internal to no longer return newly-allocated
+         memory or quote CTLESC and CTLNUL in the returned string if
+         `simple' array indexing (subscript not `@' or `*') is being
+         performed.  This makes it more like a variable lookup
+
+arrayfunc.h
+       - changed prototypes for array_value and get_array_value
+
+expr.c
+       - added new parameter to call to get_array_value in expr_streval
+       - don't need to free memory returned by get_array_value any more
+
+subst.c
+       - quote_escapes now works with multibyte characters
+       - dequote_string now works with multibyte characters
+       - dequote_escapes is now needed, so it's compiled in, and it
+         now works with multibyte characters
+       - remove_quoted_escapes now just calls dequote_escapes and copies the
+         result over the argument string
+       - remove_quoted_nulls now returns its char * argument, parallels
+         remove_quoted_escapes
+       - parameter_brace_expand_word now passes the new argument to
+         array_value and quotes CTLESC and CTLNUL in the result if it's a
+         `simple' array expansion by calling quote_escapes
+       - get_var_and_type now returns VT_ARRAYMEMBER for references like
+         ${array} where `array' is an array variable (just like ${array[0]}).
+         Documented (in comment) that a VT_VARIABLE return value means that
+         quote_escapes has been called at some point
+       - changed callers of get_var_and_type to no longer free value if
+         VT_ARRAYMEMBER is returned as type
+       - changed parameter_brace_substring and parameter_brace_patsub to
+         call dequote_escapes on the value from get_var_and_type if the
+         type is VT_VARIABLE, since the substring and pattern substitution
+         code doesn't understand CTLESC quoting
+       - parameter_brace_substring no longer needs to call quoted_substring
+         for the VT_ARRAYMEMBER case
+       - changed parameter_brace_patsub to call quote_escapes on the result
+         of pat_subst for the VT_VARIABLE and VT_ARRAYMEMBER cases, and to
+         quote the returned string in the VT_ARRAYVAR and VT_POSPARAMS cases
+         if the `MATCH_QUOTED' flag isn't set (if it is, the pattern
+         substitution functions perform any necessary quoting)
+       - quoted_substring is no longer used; it's now #ifdef INCLUDE_UNUSED
+
+lib/malloc/mstats.h
+       - new member in _malstats: u_bits32_t bytesreq, the total number of
+         bytes requested by the caller via calls to malloc() and realloc()
+
+lib/malloc/stats.c
+       - print bytesreq member in _print_malloc_stats
+       - don't print statistics for buckets for which nmal == 0 (no mallocs)
+
+lib/malloc/malloc.c
+       - modified internal_malloc, internal_realloc to keep running total of
+         number of bytes requested by calling application
+
+shell.c
+       - sh_exit is now compiled in; exit_shell calls sh_exit
+
+error.c
+       - changed fatal_error, report_error, parser_error to call sh_exit
+
+                                  3/28
+                                  ----
+subst.[ch]
+       - changed Q_NOQUOTE to Q_PATQUOTE; it makes the intent more clear
+
+subst.c
+       - moved code from parameter_brace_expand into a new function that
+         dispatches for pattern substitution: parameter_brace_remove_pattern
+       - changed structure of parameter_brace_remove_pattern to be like
+         parameter_brace_patsub and its ilk:  call get_var_and_type to
+         isolate the variable name, move the pattern isolation code out of
+         the various *_remove_pattern functions into
+         parameter_brace_remove_pattern and pass the results to the various
+         functions, use a switch on the return value from get_var_and_type
+         to decide which function to call, regularized the arguments to the
+         separate pattern removal functions
+       - parameter_brace_remove_pattern now properly quotes escape chars in
+         the returned value
+       - changed get_var_and_type to call dequote_escapes on the `value'
+         parameter for case VT_VARIABLE and return the result in *valp,
+         so the calling functions don't have to do it themselves; changed
+         callers appropriately
+       - fixed getpattern() where it broke posix compliance:  if you enclose
+         a pattern removal spec in double quotes, the outer double quotes
+         have no effect on the pattern (POSIX.1-200x 2.6.2).  This uncovered
+         a bug in the test suite (!)
+
+pathexp.c
+       - fixed a problem with quote_string_for_globbing where it would change
+         consecutive CTLESC chars all to \ instead of changing every other
+         quoted char
+
+                                  3/31
+                                  ----
+lib/malloc/{malloc,stats}.c
+       - moved declaration of _mstats to malloc.c so stats.o doesn't get
+         linked into the shell if the stats functions aren't called
+
+                                   4/2
+                                   ---
+lib/glob/smatch.c
+       - introduce `XCHAR' define, which is the type of arguments passed to
+         strcoll/strcmp/strlen and their wide-character equivalents, added
+         appropriate casts
+       - static arrays in single-byte version of rangecmp() are `char', not
+         `unsigned char', so compilers don't complain about calls to strcoll
+
+lib/glob/sm_loop.c
+       - casts for `XCHAR' and `XCHAR *' arguments to libc functions
+       - use prototype declaration for BRACKMATCH if `PROTOTYPES' is defined
+         to avoid problems with type promotion (unsigned char -> int)
+
+lib/glob/collsyms.h
+       - `name' member of struct _COLLSYM is now of type `XCHAR *', since
+         some compilers don't like `unsigned char *' initializers from
+         constant strings
+
+[bash-2.05b-alpha1 released]
+
+                                   4/3
+                                   ---
+builtins/{evalstring.c,common.h}
+       - new flag for parse_and_execute, SEVAL_NOFREE, means to not free
+         the argument string when finished
+
+lib/readline/text.c
+       - fixed a trivial typo in _rl_insert_char when reading multibyte
+         char sequences
+       - replace calls to ding() with rl_ding()
+
+include/chartypes.h
+       - remove SIGN_EXTEND_CHAR and TOASCII macros; they're unused
+
+make_cmd.c
+       - include dispose_cmd.h for extern function declarations
+
+lib/glob/glob.c
+       - include `shmbutil.h' and `xmalloc.h' for extern function declarations
+
+lib/glob/smatch.c
+       - include `xmalloc.h' for extern function declarations
+
+shell.c
+       - fix maybe_make_restricted to use its argument instead of global
+         `shell_name'
+
+version.c
+       - update copyright message to include this year
+
+lib/readline/display.c
+       - fixes from Jiro SEKIBA <jir@yamato.ibm.com> to fix autowrapping
+         when using multibyte characters
+
+lib/glob/sm_loop.c
+       - fixed a problem in BRACKMATCH where not enough memory was allocated
+         to hold a multibyte character when parsing POSIX.2 char class names
+
+support/config.{guess,sub}
+       - updated via patch from Paul Eggert with latest GNU additions
+
+variables.c
+       - var_lookup should use its `vcontext' argument instead of
+         unconditionally using `shell_variables'
+
+                                   4/4
+                                   ---
+builtins/bind.def,doc/{bash.1,bashref.texi}
+       - changed the usage summary and help text to make it clear that any
+         readline command that may appear in ~/.inputrc may be supplied as
+         one of the non-option arguments to `bind'
+
+builtins/mkbuiltins.c
+       - added support for `-H' option, which means to write long documentation
+         for each builtin to a separate file in the `helpfiles' directory
+
+builtins/Makefile.in
+       - new target `helpdoc', just creates long doc files in helpfiles
+         directory
+
+lib/sh/zcatfd.c
+       - new file, with zcatfd(int fd, int ofd, char *fn); dumps data from
+         FD to OFD
+
+Makefile.in,lib/sh/Makefile.in
+       - added zcatfd.c, zcatfd.o member of libsh.a
+
+builtins/evalstring.c
+       - changed cat_file to call zcatfd(fd, 1, fn)
+
+builtins/{shopt,colon}.def
+       - removed the $DOCNAME directive for `shopt', `true', and `false';
+         just use the names
+       - changed $DOCNAME for `:' to just be `colon' instead of
+         `colon_builtin'
+
+builtins/reserved.def
+       - added help entries for ((, [[, `for (('
+
+builtins/let.def
+       - add id++, id--, ++id, --id, ** to help text
+
+                                   4/8
+                                   ---
+builtins/bashgetopt.[ch]
+       - changed to allow options beginning with `+', enabled by a leading
+         `+' in the option string
+       - new variable, list_opttype, set to `-' or `+'
+
+builtins/{common.c,{builtin,eval,exit,fg_bg,let,printf,pushd,return,source,wait}.def
+       - changes to allow a `--' option for every builtin that accepts
+         operands but not options, as per posix.1-2001
+
+builtins/{declare,setattr}.def
+       - use internal_getopt for parsing options, now that it supports `+'
+
+builtins/set.def
+       - use internal_getopt for initial option parse, now that it supports
+         a leading `+'
+
+
+{configure,Makefile}.in, builtins/{Makefile.in,help.def,mkbuiltins.c}
+       - support for a new configure option, ``--enable-separate-helpfiles'',
+         moves the `long' help text to separate help files, installed by
+         default into ${datadir}/bash, one file per builtin.  Off by
+         default -- it saves 47K, but it's only 47K, and it's in the text
+         segment
+
+flags.c
+       - build internal_getopt() option string argument from flags array at
+         runtime in shell.c
+
+shell.c
+       - new variable to control writing malloc stats at exit:
+         malloc_trace_at_exit, 0 by default
+
+lib/malloc/malloc.c
+       - heavily updated:
+               o partial page allocated on first call to malloc to make
+                 subsequent sbrks page-aligned no longer wasted
+               o begin and end range guards are now the same value: the chunk
+                 requested
+               o coalescing code was changed to attempt to coalesce first two
+                 adjacent blocks on the free list; enabled by default
+               o blocks of size 32 are now candidates for larger block
+                 splitting, since 32 is the most popular size
+               o blocks of size 32 are now candidates for smaller block
+                 coalescing
+               o the IN_BUCKET check was changed to just make sure that the
+                 size isn't too big for the bucket, since the `busy block'
+                 checking code may increase the bucket by one or more,
+                 meaning that the old check would fail and cause a panic when
+                 a chunk allocated in such a way was freed
+               o bin sizes are now precomputed and looked up in an array
+                 rather than being computed at runtime
+               o moved the _mstats declaration here to avoid the stats code
+                 being linked in even when no stats functions were called
+                 (only matters if MALLOC_DEBUG is defined)
+               o malloc now keeps track of the address of the top of the heap
+                 and will return large chunks to the system with calls to
+                 sbrk with a negative argument when freeing the top chunk.
+                 Two thresholds:  LESSCORE_FRC means to unconditionally return
+                 memory to the system; LESSCORE_MIN means to return memory if
+                 there's at least one block already on the free list
+
+lib/malloc/mstats.h
+       - stats struct now keeps track of number of block coalesces by bin,
+         and the number of times memory was returned to the system by bin
+
+lib/malloc/stats.c
+       - trace_malloc_stats now takes a second argument: the name of the file
+         to write to.  The first `%p' in the template file name is replaced
+         by the pid
+
+                                   4/9
+                                   ---
+lib/malloc/imalloc.h
+       - added some macros derived from dlmalloc and glibc malloc to inline
+         memcpy and memset if the requested size is <= 32 bytes
+
+lib/malloc/malloc.c
+       - use MALLOC_MEMSET instead of memset in internal_{malloc,free}
+
+include/ocache.h
+       - use OC_MEMSET (variant of MALLOC_MEMSET) in ocache_free
+
+configure.in, config.h.in
+       - check for getservent(), define HAVE_GETSERVENT if found
+
+bashline.c
+       - punt immediately from bash_servicename_completion_function if
+         HAVE_GETSERVENT is not defined (cygwin seems to not define it)
+       - include "input.h" for extern save_token_state() and
+         restore_token_state() declarations
+       - change bash_execute_unix_command to call parse_and_execute with
+         SEVAL_NOHIST flag so the command doesn't get saved on the history
+         list
+       - change bash_execute_unix_command to save and restore the current
+         command line count and the token state (last_read_token, etc.).
+         Everything else is saved by either parse_and_execute directly or
+         the call it makes to push_stream().  The shell_input_line stuff
+         doesn't need to be saved and restored; it's not computed until
+         readline() returns
+
+                                  4/10
+                                  ----
+lib/glob/glob.[ch]
+       - glob_filename and glob_vector now take an additional `flags' arg
+       - define GX_MARKDIRS as possible flag value for glob_filename and
+         glob_vector
+
+lib/sh/snprintf.c
+       - fixed some bugs with handling of `g' and `G' formats
+       - make sure numtoa returns the fractional part correctly when passed 0
+       - implemented thousands grouping for `'' flag character
+
+lib/sh/rename.c
+       - a few changes to make it more bulletproof
+
+                                  4/11
+                                  ----
+lib/glob/glob.c
+       - added the couple of dozen lines of code to glob_dir_to_array to
+         finish implementing GX_MARKDIRS
+
+builtins/set.def
+       - changed unset builtin so that it no longer considers unsetting an
+         unset variable or function to be an error
+
+lib/readline/display.c
+       - fix to rl_redisplay for a problem which caused display to be messed
+         up when the last line of a multi-line prompt (possibly containing
+         invisible characters) was longer than the screen width
+
+                                  4/15
+                                  ----
+aclocal.m4
+       - use AC_DEFINE_UNQUOTED in BASH_SYS_DEFAULT_MAIL_DIR instead of
+         enumerating all of the possible values and using AC_DEFINE
+
+                                  4/16
+                                  ----
+Makefile.in, {builtins,support}/Makefile.in
+       - new variables, CFLAGS_FOR_BUILD and CPPFLAGS_FOR_BUILD, substituted
+         by `configure'
+       - changed CCFLAGS_FOR_BUILD to BASE_CCFLAGS, removing $(CPPFLAGS);
+         CCFLAGS and CCFLAGS_FOR_BUILD now include $(BASE_CCFLAGS) with
+         (possibly) different values for CPPFLAGS and CFLAGS 
+       - GCC_LINT_CFLAGS now includes $(BASE_CCFLAGS) and $(CPPFLAGS)
+         instead of CCFLAGS_FOR_BUILD
+       - new variable, LDFLAGS_FOR_BUILD, right now equivalent to LDFLAGS
+       - remove $(CPPFLAGS) from recipes for buildversion, mksignames, and
+         mksyntax
+
+configure.in
+       - compute and substitute CFLAGS_FOR_BUILD, CPPFLAGS_FOR_BUILD, and
+         LDFLAGS_FOR_BUILD
+       - changed qnx to use LOCAL_LDFLAGS and LOCAL_LIBS instead of putting
+         everything in LOCAL_LDFLAGS
+
+builtins/Makefile.in
+       - remove $(PROFILE_FLAGS) from recipe for building `mkbuiltins'
+       - use LDFLAGS_FOR_BUILD instead of LDFLAGS in recipe for building
+         `mkbuiltins'
+
+Makefile.in
+       - use $(CC_FOR_BUILD) and $(CCFLAGS_FOR_BUILD) to build auxiliary
+         test programs (printenv, recho, zecho)
+
+support/Makefile.in
+       - use CC_FOR_BUILD and CCFLAGS_FOR_BUILD in recipe for building
+         `man2html'
+
+lib/tilde/Makefile.in
+       - substitute PROFILE_FLAGS, use PROFILE_FLAGS in $(CCFLAGS)
+
+                                  4/25
+                                  ----
+Makefile.in, configure.in
+       - moved RELSTATUS to configure.in; configure substitutes it into
+         the generated Makefile
+
+lib/sh/snprintf.c
+       - fix wchars() to deal with systems where MB_CUR_MAX is not a
+         constant expression
+
+                                   5/2
+                                   ---
+lib/sh/shquote.c
+       - add `,' to list of chars that are backslash-quoted.  It doesn't
+         hurt normal usage and prevents filenames with commas from being
+         inappropriately split by brace expansion after using
+         complete-into-braces
+
+                                   5/6
+                                   ---
+lib/sh/xstrchr.c
+       - we only need the check of MB_CUR_MAX and the slow code for a
+         few encodings, and even then only for a subset of the charset
+
+arrayfunc.c
+       - some speedups for skipsubscript and multibyte chars from Bruno Haible
+
+locale.c
+       - changed set_lang to call setlocale(LC_ALL, ...) if LC_ALL doesn't
+         already have a value, but doesn't change any shell variables
+
+include/shmbutil.h
+       - major speedups from Bruno Haible, mostly concerned with reducing
+         the number of strlen(3) calls
+
+subst.c
+       - change callers of macros in shmbutil.h to add extra argument as
+         necessary
+       - skip_single_quoted and skip_double_quoted take another argument:
+         the length of the string; mostly useful when using multibyte chars
+       - many speedups from precomputing string lengths at function start
+       - fixed a small bug in de_backslash in the midst of rewriting for
+         better efficiency
+
+{braces,make_cmd,pathexp}.c
+       - change callers of macros in shmbutil.h to add extra argument as
+         necessary
+
+pathexp.c
+       - fix a one-too-far problem with multibyte chars in
+         unquoted_glob_pattern_p
+
+braces.c
+       - brace_gobbler takes a new argument, the length of the passed string
+       - expand_amble takes a new argument, the length of the passed string
+
+                                   5/7
+                                   ---
+subst.c
+       - modified remove_quoted_nulls to eliminate the memory allocation and
+         do the copy in place using the same strategy as de_backslash
+
+lib/readline/{rldefs.h,complete.c}
+       - new define RL_QF_OTHER_QUOTE, so _rl_find_completion_word can note
+         that it found a quoting character other than \'" that appears in
+         rl_completer_quote_characters
+
+                                   5/9
+                                   ---
+jobs.c
+       - save and restore old value of jobs_list_frozen when calling trap
+         handlers from set_job_status_and_cleanup to avoid seg faults when
+         running recursive trap handlers
+
+                                  5/10
+                                  ----
+builtins/common.h
+       - new #defines to use for value of changed_dollar_vars (provides
+         information about the caller who wants to blow away the old dollar
+         variables)
+
+builtins/common.c
+       - changed set_dollar_vars_changed to set changed_dollar_vars to one
+         of the ARGS_* values depending on the caller and environment
+
+builtins/source.def
+       - source restores the positional parameters unless the `set' builtin
+         was called to specify a new set while not executing a shell function
+
+                                  5/13
+                                  ----
+POSIX
+       - new file, was in CWRU/POSIX.NOTES
+
+doc/{Makefile.in,Makefile}
+       - changed `posix' rule to modify ../POSIX
+
+doc/mkposix
+       - write to `POSIX' by default
+
+lib/sh/strtrans.c
+       - when ansicstr is parsing a format string for `echo -e' (or the
+         equivalent xpg_echo option is enabled), obey the POSIX-2001/SUSv3
+         standard and accept 0-3 octal digits after a leading `0'
+
+doc/{bash.1,bashref.texi}
+       - updated `echo' description to note that up to three octal digits
+         are now accepted following `\0'
+
+                                  5/16
+                                  ----
+doc/Makefile.in
+       - remove the generated documentation on `make distclean' if the
+         build directory and source directory are not the same
+
+Makefile.in
+       - descend into `support' subdirectory on a `make clean' and
+         `make distclean'
+       - remove parser-built, y.tab[ch] on a `make distclean' if the build
+         directory and source directory are not the same
+
+support/Makefile.in
+       - support various `clean' targets and remove man2html.o and man2html
+
+{configure,Makefile}.in
+       - move values for DEBUG and MALLOC_DEBUG into configure.in; on by
+         default for development versions; off by default for releases
+         (off for profiling, too)
+
+                                  5/21
+                                  ----
+parse.y
+       - modified the grammar to allow a simple_list followed by yacc_EOF
+         to terminate a command.  This fixes problems with things like
+         a backslash-newline at the end of an `eval'd string
+       - change handle_eof_input_unit() to reset the token state before
+         calling prompt_again(), in case the prompt to be evaluated contains
+         a command substitution
+
+                                  5/23
+                                  ----
+lib/readline/vi_mode.c
+       - fix `r' command (rl_vi_change_char) when HANDLE_MULTIBYTE is defined
+         but MB_CUR_MAX == 1
+
+                                  5/24
+                                  ----
+lib/malloc/watch.c
+       - don't try to print `file' argument to _watch_warn if it's null
+
+lib/malloc/malloc.c
+       - changed guard checking code in internal_{malloc,free,realloc} to
+         access memory as (char *) and copy into a union instead of
+         casting and dereferencing a pointer to u_bits32_t, since that
+         results in unaligned accesses which will cause Sparcs to upchuck
+
+                                  5/30
+                                  ----
+[bash-2.05b-beta1 released]
+
+lib/readline/text.c
+       - fixed a problem with rl_transpose_chars on systems supporting
+         multibyte characters with a locale that doesn't have any multibyte
+         chars
+
+                                   6/4
+                                   ---
+expr.c
+       - fix a/=0 and a%=0 to throw evaluation errors rather than core dumps
+
+lib/readline/display.c
+       - fix core dump when line wrapping a multibyte character (line
+         accidentally dropped from the original patch)
+
+lib/readline/mbutil.c
+       - fix reversed return value from _rl_is_mbchar_matched; fixes problem
+         with backward-char-search
+
+                                  6/10
+                                  ----
+lib/sh/getenv.c
+       - fix getenv to not free value returned by find_tempenv_variable
+       - add setenv, putenv, unsetenv for completeness
+
+                                  6/12
+                                  ----
+shell.c
+       - change init_noninteractive to init expand_aliases to the value of
+         posixly_correct
+       - don't initialize expand_aliases to posixly_correct anywhere else.
+         This allows the -O expand_aliases invocation option to work correctly
+
+general.c
+       - fix move_to_high_fd to not try the dup2 unless the fd loop results
+         in an fd > 3; just return the passed file descriptor otherwise
+       - use HIGH_FD_MAX, defined in general.h, instead of hard-coded 256
+         as highest file descriptor to try
+
+subst.c
+       - in process_substitute, call move_to_high_fd with `maxfd' parameter
+         of -1 instead of 64, so move_to_high_fd will use its maximum
+
+                                  6/21
+                                  ----
+lib/malloc/malloc.c
+       - don't bother calling MALLOC_MEMSET if the requested size is 0
+
+builtins/setattr.def
+       - note in short doc that export and readonly can take assignment
+         statements as arguments
+
+error.c
+       - new function, error_prolog(), to capture common error message
+         prefix code (except for parser errors)
+
+                                  6/25
+                                  ----
+aclocal.m4
+       - add tests for standard-conforming declarations for putenv and
+         unsetenv in system header files
+
+{configure,config.h}.in
+       - call BASH_FUNC_STD_PUTENV and BASH_FUNC_STD_UNSETENV, define
+         HAVE_STD_GETENV and HAVE_STD_UNSETENV, respectively, if they
+         succeed
+
+lib/sh/getenv.c
+       - change putenv and unsetenv to take differing prototypes in
+         stdlib.h into account
+
+                                  6/27
+                                  ----
+[bash-2.05b-beta2 released]
+
+                                  6/28
+                                  ----
+builtins/common.c
+       - fix get_job_spec so that %N works when N is the size of the jobs
+         list (%8 means job 8, but the 7th member of the jobs array, so
+         it's OK if N == job_slots because the function returns N-1)
+
+                                   7/1
+                                   ---
+shell.c
+       - turn off line editing if $EMACS is set to `t'
+
+                                  7/10
+                                  ----
+builtins/set.def
+       - remove mention of `-i' from long help doc, since it has no effect
+
+                                  7/17
+                                  ----
+[bash-2.05b released]
+
+                                  7/18
+                                  ----
+
+lib/malloc/malloc.c
+       - make sure that the `free_return' label has a non-empty statement
+         to branch to
+
+                                  7/19
+                                  ----
+locale.c
+       -  only call setlocale() from set_lang() if HAVE_SETLOCALE is defined;
+          otherwise just return 0
+
+lib/readline/mbutil.c
+       - only try to memset `ps' in _rl_get_char_len if it's non-NULL.  Ditto
+         for _rl_adjust_point
+
+                                  7/23
+                                  ----
+execute_cmd.c
+       - fix for executing_line_number() when compiling without conditional
+         commands, dparen arithmetic or the arithmetic for command
+
+                                  
+                                  7/24
+                                  ----
+support/Makefile.in
+       - fix maintainer-clean, distclean, mostlyclean targets
+
+builtins/common.c
+       - fix bug in sh_nojobs where it doesn't pass the right number of args
+         to builtin_error
+
+bashline.c
+       - when using command completion and trying to avoid appending a slash
+         if there's a directory with the same name in the current directory,
+         use absolute_pathname() instead of just checking whether the first
+         char of the match is a slash to catch things like ./ and ../
+
+examples/complete/bashcc-1.0.1.tar.gz
+       - a package of completions for Clear Case, from Richard S. Smith
+         (http://www.rssnet.org/bashcc.html)
+
+input.c
+       - fix check_bash_input to call sync_buffered_stream if the passed fd
+         is 0 and the shell is currently reading input from fd 0 -- all it
+         should cost is maybe an additional read system call, and it fixes
+         the bug where an input redirection to a builtin inside a script
+         which is being read from stdin causes the already-read-and-buffered
+         part of the script to be thrown away, e.g.:
+
+               bash < x1
+
+         where x1 is
+
+               hostname
+               read Input < t.in
+               echo $Input
+               echo xxx
+
+execute_cmd.c
+       - in initialize_subshell(), call unset_bash_input (0) to not mess with
+         fd 0 if that's where bash thinks it's reading input from.  Fixes
+         bug reported by jg@cs.tu-berlin.de on 17 July 2002.  Should be a way
+         to check whether or not the current fd 0 at the time of the call has
+         not been redirected, like in the bug report.  Also might eventually
+         want to throw in a sync_buffered_stream if bash is reading input
+         from fd 0 in a non-interactive shell into a buffered stream, so the
+         stream is sync'd -- might be necessary for some uses
+
+                                  7/25
+                                  ----
+lib/readline/signals.c
+       - make sure rl_catch_sigwinch is declared even if SIGWINCH is not
+         defined, so the readline state saving and restoring functions in
+         readline.c are always the same size even if SIGWINCH is not defined,
+         and undefined references don't occur when SIGWINCH is not defined
+
+                                  7/30
+                                  ----
+bashline.c
+       - augment patch from 7/24 to not disable rl_filename_completion_desired
+         if the first char of the match is `~'
+
+lib/readline/bind.c
+       - when creating `shadow' keymaps `bound' to ANYOTHERKEY, don't bind
+         a key whose type is ISFUNC but whose function is the `fake'
+         rl_do_lowercase_version (fixes debian bash bug #154123)
+
+lib/readline/readline.c
+       - don't call _rl_vi_set_last from _rl_dispatch_subseq if
+         key == ANYOTHERKEY (when truncated to `sizeof(char)', it will be 0,
+         which strchr will find in `vi_textmod')
+
+                                  7/31
+                                  ----
+lib/readline/input.c
+       - fix rl_gather_tyi to only slurp up one line of available input, even
+         if more than one line is available (fixes debian bash bug #144585)
+
+                                   8/3
+                                   ---
+bashline.c
+       - better fix for command completion problem -- test for directory
+         explicitly with test_for_directory before turning off
+         rl_filename_completion_desired, since that's the case we're trying
+         to protect against
+
+                                   8/5
+                                   ---
+include/shmbutil.h
+       - fix ADVANCE_CHAR macro to advance the string pointer if mbrlen
+         returns 0, indicating that the null wide character (wide string
+         terminator) was found (debian bash bug #155436)
+
+lib/readline/mbutil.c
+       - fix _rl_adjust_point to increment the string pointer if mbrlen
+         returns 0
+
+support/shobj-conf
+       - fix for the `-install_name' value in SHLIB_XLDFLAGS assignment for
+         Darwin from the fink folks
+
+                                   8/6
+                                   ---
+builtins/exit.def
+       - broke code that runs ~/.bash_logout out into a separate function:
+         bash_logout()
+
+builtins/common.h
+       - extern declaration for bash_logout()
+
+eval.c
+       - call bash_logout() from alrm_catcher(), so timed-out login shells
+         run ~/.bash_logout before processing the exit trap
+
+lib/sh/strtrans.c
+       - implemented $'\x{hexdigits}' expansion from ksh93
+
+configure.in
+       - define RECYCLES_PIDS in LOCAL_CFLAGS for cygwin; don't bother to
+         link with -luser32
+
+examples/loadables/strftime.c
+       - new loadable builtin, interface to strftime(3)
+
+                                   8/7
+                                   ---
+parse.y
+       - parse_arith_cmd now takes a second argument, a flag saying whether
+         or not to add double quotes to a parsed arithmetic command; changed
+         callers
+       - changed parse_dparen so it tells parse_arith_cmd to not add the
+         double quotes and therefore doesn't need to remove them
+       - change parse_dparen to add W_NOGLOB|W_NOSPLIT|W_QUOTED flags to word
+         created when parsing (( ... )) arithmetic command, since the double
+         quotes are no longer added
+
+make_cmd.c
+       - in make_arith_for_expr, set the flags on the created word to
+         W_NOGLOB|W_NOSPLIT|W_QUOTED
+
+execute_cmd.c
+       - change execute_arith_command to expand the expression with
+         expand_words_no_vars, like the arithmetic for command code does
+       - fix execute_arith_command to handle the case where the expanded
+         expression results in a NULL word without crashing
+
+tests/{arith-for,cprint}.tests
+       - change expected output to account for no longer adding quotes to
+         ((...)) commands
+
+                                   8/8
+                                   ---
+print_cmd.c
+       - take out the space after printing the `((' and before printing the
+         `))' in print_arith_command, print_arith_for_command, and
+         xtrace_print_arith_cmd
+
+tests/{arith-for,cprint}.tests
+       - change expected output to account for no longer adding leading and
+         trailing spaces when printing ((...)) and arithmetic for commands
+
+                                  8/17
+                                  ----
+subst.c
+       - fix issep() define to handle case where separators[0] == '\0', in
+         which case it always returns false
+
+lib/readline/histexpand.c
+       - fix off-by-one error in history_expand_internal when using the `g'
+         modifier that causes it to skip every other match when matching a
+         single character (reported by gjyun90@resl.auto.inha.ac.kr)
+
+doc/{bash.1,bashref.texi}
+       - make sure that the name=word form of argument to declare/typeset,
+         export, and readonly is documented in the description
+
+                                  8/30
+                                  ----
+lib/readline/histexpand.c
+       - make history_expand_internal understand double quotes, because
+         single quotes are not special inside double quotes, according to
+         our shell-like quoting conventions.  We don't want unmatched
+         single quotes inside double-quoted strings inhibiting history
+         expansion
+       - make `a' modifier equivalent to `g' modifier for compatibility with
+         the BSD csh
+       - add a `G' modifier that performs a given substitution once per word
+         (tokenized as the shell would do it) like the BSD csh `g' modifier
+
+                                  8/31
+                                  ----
+braces.c
+       - when compiling for the shell, treat ${...} like \{...} instead of
+         trying to peek backward when we see a `{'.  This makes it easier
+         to handle things like \${, which should be brace expanded because
+         the $ is quoted
+
+                                   9/7
+                                   ---
+aclocal.m4
+       - redirect stdin from /dev/null in BASH_CHECK_DEV_FD before testing
+         the readability of /dev/fd/0, so we're dealing with a known quantity
+
+                                  9/11
+                                  ----
+[prayers for the victims of 9/11/01]
+
+shell.c
+       - fix maybe_make_restricted to handle a restricted login shell with a
+         base pathname of `-rbash' and skip over any leading `-'
+
+                                  9/13
+                                  ----
+builtins/evalstring.c
+       - in parse_and_execute, make sure we don't try to run unwind-protects
+         back to `pe_dispose' after a longjmp back to top_level if the
+         pe_dispose frame hasn't been initialized
+
+lib/readline/display.c
+       - fix problem with prompt overwriting previous output when the output
+         doesn't contain a newline in a multi-byte locale.  This also should
+         fix the problem of bash slowing down drastically on long lines when
+         using a multi-byte locale, because it no longer tries to rewrite the
+         entire line each time.  Patch from Jiro SEKIBA <jir@yamato.ibm.com>
+
+parse.y
+       - move the typedef for alias_t that is compiled in if ALIAS is not
+         defined up before the prototype for push_string, since that takes
+         an alias_t * parameter
+
+lib/readline/terminal.c
+       - bind the termcap description's left and right arrow keys to
+         rl_backward_char and rl_forward_char, respectively,  instead of
+         rl_forward and rl_backward (which are just there for backwards
+         compatibility)
+
+aclocal.m4
+       - when testing readability of /dev/stdin, redirect stdin from /dev/null
+         to make sure it's a readable file
+
+                                  9/17
+                                  ----
+config-bot.h
+       - don't test __STDC__ when deciding whether or not to use stdarg.h;
+         just use it if it's present
+
+tests/read2.sub
+       - redirect from /dev/tty when using `read -t' 
+
+                                  9/20
+                                  ----
+builtins/history.def
+       - when reading `new' entries from the history file with `history -n',
+         fix increment of history_lines_this_session by taking any change
+         in history_base into account
+
+lib/sh/pathphys.c
+       - changes to sh_physpath to deal with pathnames that end up being
+         longer than PATH_MAX without dumping core
+
+lib/readline/doc/{history.3,hsuser.texinfo},doc/ bash.1
+       - documented new `a' and `G' history modifiers
+
+                                  9/25
+                                  ----
+lib/readline/misc.c
+       - when traversing the history list with arrow keys in vi insertion
+         mode, put the cursor at the end of the line (like in emacs mode)
+
+mksyntax.c
+       - don't try to use \a and \v unless __STDC__ is defined; use the
+         ascii integer equivalents otherwise
+       - include "config.h" in the generated syntax.c file for a possible
+         definition of `const'
+
+doc/{bash.1,bashref.texi}
+       - document the meaning of a null directory in $PATH
+
+                                  9/26
+                                  ----
+parse.y
+       - fix set_line_mbstate to handle case where mbrlen() returns 0,
+         indicating the null wide character
+       - fix set_line_mbstate so we don't directly compare a char variable
+         to EOF, since char can (and is) unsigned on some machines
+
+bashline.c
+       - change bash_execute_unix_command to save a little bit more state:
+         last_shell_builtin, this_shell_builtin, last_command_exit_value
+
+                                  9/27
+                                  ----
+execute_cmd.c
+       - tentative change to execute_simple_command to avoid freeing freed
+         memory in the case where bash forks early but still ends up calling
+         execute_disk_command, without passing newly-allocated memory to
+         make_child.  This may fix the core dumps with the linux-from-scratch
+         folks
+
+                                  9/28
+                                  ----
+Makefile.in,{builtins,lib/sh}/Makefile.in      
+       - fix up dependencies, mostly on ${BUILD_DIR}/version.h, so that
+         parallel makes work with GNU and BSD makes
+
+shell.h
+       - new struct to save partial parsing state when doing things like
+         bash_execute_unix_command and other operations that execute
+         commands while a line is being entered and parsed
+
+parse.y
+       - new functions, save_parser_state() and restore_parser_state(), to
+         save and restore partial parsing state 
+
+bashline.c
+       - change bash_execute_unix_command to call {save,restore}_parser_state
+
+builtins/jobs.def
+       - change execute_list_with_replacements to eliminate a run_unwind_frame
+         in favor of calling the cleanup explicitly and discarding the frame
+
+execute_cmd.c
+       - change execute_for_command to avoid a run_unwind_frame in the case
+         where the loop variable is readonly or otherwise not assignable
+       - change execute_select_command and execute_simple_command to use
+         discard_unwind_frame by running the cleanup code explicitly, instead
+         of using run_unwind_frame
+       - make sure execute_select_command decreases loop_level even on error
+
+                                  9/30
+                                  ----
+doc/{bash.1,bashref.texi}
+       - fixed description of `unset' now that unsetting a previously-unset
+         variable is no longer an error
+
+                                  10/3
+                                  ----
+{configure,config.h}.in
+       - augment check for strtold with additional check to detect the
+         horribly broken hp/ux 11.x implementation that returns `long_double';
+         defines STRTOLD_BROKEN if so
+
+builtins/printf.def
+       - define floatmax_t as `double' if STRTOLD_BROKEN is defined
+
+                                  10/5
+                                  ----
+lib/readline/keymaps.c
+       - don't automatically bind uppercase keys to rl_do_lowercase_version
+         in rl_make_bare_keymap
+
+lib/readline/readline.c
+       - explicitly check for ANYOTHERKEY binding to rl_do_lowercase_version
+         and dispatch to lowercase of key when a prefix is not matched
+
+                                  10/12
+                                  -----
+bashline.c
+       - set COMP_WORDBREAKS in enable_hostname_completion to the value
+         of rl_completer_word_break_characters
+
+variables.c
+       - new special variable COMP_WORDBREAKS, controls the value of
+         rl_completer_word_break_characters
+
+variables.h
+       - new extern declaration for sv_comp_wordbreaks()
+
+subst.c
+       - change split_at_delims to behave more like shell word splitting if
+         the passed value for the delimiters is NULL, indicating that the
+         function is to use $IFS to split
+
+{execute_cmd,jobs,test,findcmd,input,make_cmd,redir,shell}.c
+builtins/mkbuiltins.c,builtins/{fc,history,source,umask}.def
+lib/sh/netconn.c
+lib/termcap/termcap.c
+lib/readline/histfile.c
+       - make sure all inclusions of <sys/file.h> are protected by
+         HAVE_SYS_FILE_H
+
+bashline.c
+       - don't turn off rl_filename_completion_desired in
+         attempt_shell_completion if the partial pathname contains a slash.
+         This still doesn't solve the problem of partial pathname completion
+         starting with a directory in the current directory without a
+         leading `./'.  There's no way to tell the difference between that
+         and a file found in $PATH (which may contain `.') at the point that
+         attempt_shell_completion acts
+
+                                  10/18
+                                  -----
+locale.c
+       - don't set lc_all to the default locale when LC_ALL is being unset
+       - new function, reset_locale_vars(), called to recompute the correct
+         locale variable values when LC_ALL is unset
+       - changed set_lang to not set LC_ALL, which it never should have been
+         doing in the first place, and to maintain a local variable `lang'
+         corresponding to $LANG
+       - change get_locale_var to use the precedence posix.2 specifies:
+         LC_ALL overrides individual variables; LANG, if set, is the default
+       - change set_locale_var to call get_locale_var to get the appropriate
+         value for the variable being set or unset
+       - call get_locale_var instead of using passed value in set_locale_var
+         to get the defaulting and precedence right
+
+lib/readline/nls.c
+       - new function, _rl_get_locale_var(), which does the same thing as
+         locale.c:get_locale_var(), with the right precedence and defaulting,
+         using sh_get_env_value to get the right bash variable values
+       - if HAVE_SETLOCALE is defined, _rl_init_eightbit first calls
+         _rl_get_locale_var to get the right value for LC_CTYPE, and uses
+         that in the call to setlocale.  If _rl_get_locale_var returns NULL,
+         call setlocale() to get the current international environment, and,
+         finally, if that returns null, call setlocale with a second argument
+         of "" to force the implementation's `native' environment
+
+pcomplete.c
+       - change gen_wordlist_completions to dequote the text before comparing
+         it against the expanded word list 
+       - changed gen_matches_from_itemlist to do the same thing
+
+bashline.c
+       - new global function, bash_dequote_word, calls bash_dequote_filename
+         on the text passed.  Used by the programmable completion code
+
+lib/readline/histfile.c
+       - make sure that whenever read_history_range returns a non-zero value
+         that it sets errno to some useful value
+
+                                  10/19
+                                  -----
+variables.c
+       - COMP_WORDBREAKS is now a dynamic variable, mirroring value of
+         rl_completer_word_break_characters.  Makes sure that the variable
+         always points to dynamic memory if it's not null or the readline
+         default
+
+bashline.c
+       - change enable_hostname_completion to manage a dynamic value of
+         rl_completer_word_break_characters, since assignments to
+         COMP_WORDBREAKS can change its value unpredictably
+
+lib/readline/{complete.c,readline.h}
+       - rl_completer_word_break_characters no longer has `const' attribute
+
+bashline.c
+       - clean up necessary places due to rl_completer_word_break_characters
+         no longer being `const'
+
+doc/{bash.1,bashref.texi}
+       - document new COMP_WORDBREAKS variable
+
+                                  10/21
+                                  -----
+print_cmd.c
+       - fix indirection_level_string to handle the case where the decoded
+         $PS4 is null without seg faulting
+
+                                  10/22
+                                  -----
+builtins/shift.def
+       - make sure that there is actually an argument when reporting a shift
+         count that exceeds the number of positional paramters and
+         shift_verbose is enabled
+
+lib/readline/rltty.c
+       - change SET_SPECIAL to call a new function, set_special_char, since
+         it contains a block.  It's called infrequently, so the performance
+         impact of making it a function should be negligible, and it helps
+         debugging
+
+                                  10/29
+                                  -----
+bashline.c
+       - make sure the editor in VI_EDIT_COMMAND and EMACS_EDIT_COMMAND is
+         quoted; it might contain spaces (e.g., `emacs -nw')
+
+aclocal.m4
+       - cache ac_cv_rl_version in RL_LIB_READLINE_VERSION macro
+
+configure.in
+       - change logic that sets RL_INCLUDEDIR so that it doesn't try to set
+         a bogus include path if the argument to --with-installed-readline
+         is `yes' -- helps with cross-compiling
+
+lib/readline/histexpand.c
+       - fix history_tokenize_word so that it handles <( and >( better
+
+                                  10/30
+                                  -----
+redir.c
+       - fix write_here_string so it handles the case where `herestr' expands
+         to NULL without seg faulting
+
+                                  10/31
+                                  -----
+mailcheck.c
+       - reverse logic flip from bash-2.05 that handled systems that don't
+         change the atime when the mailbox is accessed; make sure the file
+         is bigger before we report new mail.  This is the case in the vast
+         majority of cases.  Reported by jim@jtan.com
+
+                                  11/5
+                                  ----
+parse.y
+       - change action for `for x; { list; }' and corresponding `select'
+         production to use \"$@\" instead of just $@, as it is with all the
+         other actions
+
+                                  11/9
+                                  ----
+parse.y
+       - new flag for parse_matched_pair: P_DQUOTE, indicating that the
+         pair of characters being matched is between double quotes
+       - parse_matched_pair now passes P_DQUOTE down to recursive calls:
+         if the open char to be matched is a `"' or the passed-in flags
+         include P_DQUOTE, set the local `rflags' variable to P_DQUOTE and
+         pass `rflags' down to recursive calls
+       - if `rflags' includes P_DQUOTE, don't try to ansiexpand $'...' or
+         locale expand $"..."; consistent with other quoting constructs
+
+                                  11/11
+                                  -----
+doc/{bash.1,bashref.texi}
+       - explicitly note that variables referenced in arithmetic expressions
+         without using `$' evaluate to 0 if they are null or unset
+       - note that a null variable value evaluates to 0 when used in an
+         arithmetic context, like when a variable with the `-i' attribute is
+         assigned a null value
+       - document the ${!prefix@} expansion as equivalent to ${!prefix*}
+
+                                  11/12
+                                  -----
+doc/{bash.1,bashref.texi}
+       - note that the value of an arithmetic expression is as in C
+       - change the wording to note that `arithmetic evaluation' (not
+         arithmetic expansion, which has a different meaning) is performed
+         on the value assigned to a variable whose integer attribute is set
+
+                                  11/13
+                                  -----
+execute_cmd.c
+       - fix execute_disk_command so it calls exit() after printing the error
+         message in a restricted shell context if the shell has already forked
+         (nofork != 0 && there are no pipes)
+
+                                  11/19
+                                  -----
+builtins/type.def
+       - don't report on aliases unless expand_aliases is set and the parser
+         is performing alias expansion; changed tests/type.tests and
+         tests/type.right accordingly
+
+                                  11/25
+                                  -----
+general.c
+       - fix for full pathnames including drive letters on cygwin from
+         Corinna (convert to posix-style paths, which the rest of the
+         code handles much better)
+
+lib/readline/text.c
+       - fixes to overwrite mode from jimmy@is-vn.bg:
+               o in _rl_overwrite_char, do the overwrite mode self-insert
+                 as one group, even when overwriting more than 1 char
+               o in _rl_overwrite_char, do the insert before the delete so
+                 that an undo positions the cursor on the character restored,
+                 not to the right of it
+               o in _rl_overwrite_rubout, don't do rl_insert_char(' ') unless
+                 rl_point < rl_end.  Since overwrite-mode self-insert acts as
+                 in insert-mode when at eol, make rubout behave like
+                 insert-mode rubout
+
+                                  11/30
+                                  -----
+lib/readline/misc.c
+       - call rl_replace_line with `1' as second parameter if we're going to
+         immediately overwrite the undo list
+
+lib/readline/search.c
+       - in make_history_line_current, use _rl_replace_text to make the line
+         replacement an undoable operation.  Affects all non-incremental
+         search functions.
+
+parse.y
+       - make behavior introduced on 11/9 dependent on extended_quote
+         variable, controllable by extquote shopt option.  Default setting is
+         on for backwards compatibility
+
+builtins/shopt.def
+       - new `extquote' option to control extended_quote variable
+
+                                  12/3
+                                  ----
+jobs.c
+       - change message printed when attempting to put a background job in
+         the background with `bg' to include the job id and make the
+         statement declarative
+
+                                  12/10
+                                  -----
+bashhist.h
+       - define explicit flag values for history_control
+
+variables.c
+       - change sv_history_control to use new flag values
+       - change sv_history_control to parse $HISTCONTROL as a colon-separated
+         list of values for the history_control variable
+
+bashhist.c
+       - change check_history_control to use new flag values and restructure
+         to remove case statement
+       - new function hc_erasedups(line); removes all entries matching LINE
+         from the history list
+       - call hc_erasedups() from check_add_history after we've determined
+         that we're saving the line
+
+doc/{bash.1,bashref.texi}
+       - documented new options available for $HISTCONTROL and that it can
+         be a colon-separated list of history control options
+
+                                  12/11
+                                  -----
+subst.c
+       - fix pat_subst() to not increment `e' (pointer to the end of the
+         matched portion of the string) until after we're sure we're going
+         around the loop again; fixes problem with empty replacements for
+         a pattern that doesn't match (bug reported by Don Coleman
+         <don@coleman.org>)
+
+                                  12/17
+                                  -----
+lib/readline/display.c
+       - fixes to multibyte redisplay from jir@yamato.ibm.com (Jiro SEKIBA):
+               o speed up calculation of first difference between old and new
+                 lines in the common case
+               o don't try to see if we're in the middle of a multbyte char
+                 in update_line (we'll see how this one works out)
+
+                                  12/18
+                                  -----
+doc/bashref.texi
+       - make it clear that the `command-list' function definition may be
+         terminated by an ampersand before the closing brace
+
+                                  12/28
+                                  -----
+redir.c
+       - set `expanding_redir' flag when expanding words in a redirection
+
+subst.c
+       - new function, exp_jump_to_top_level(), to do any word expansion
+         cleanup before a call to jump_to_top_level from within that file;
+         sets expanding_redir back to 0 before jump_to_top_level
+
+variables.c
+       - in find_variable(), don't call find_variable_internal with a second
+         parameter of 1 if expanding_redir is non-zero
+       - in find_variable_internal(), don't search the temporary env if
+         subshell_environment includes SUBSHELL_FORK (indicating a simple
+         command) and expanding_redir is non-zero
+
+parse.y
+       - increment line_number when we read a \<newline> pair
+
+array.c
+       - added array_unshift_element and array_shift_element (which just call
+         array_shift and array_rshift, respectively), for bash debugger
+         support
+
+                                1/4/2003
+                                --------
+doc/{bash.1,bashref.texi}
+       - note in the section describing the execution environment passed to
+         children that subshells inherit shell functions marked for export
+       - note in the section describing shell functions the possibility
+         that exported functions may result in two entries in the environment
+         with the same name
+
+parse.y
+       - when pushing an alias expansion onto the pushed_string list, append
+         a space to the expanded definition to make the parser's lookahead
+         work without using the `mustpop' hack in shell_getc
+
+                                   1/8
+                                   ---
+shell.c
+       - change calls to exit() with EX_USAGE as a parameter to use
+         EX_BADUSAGE instead, since EX_USAGE is defined as 258 and is
+         technically out of range
+
+                                  1/14
+                                  ----
+aclocal.m4
+       - check for the termcap functions in libc first:  if we don't have
+         to link in another library, let's not do it
+       - change the test for mbstate_t to use AC_TRY_COMPILE instead of
+         AC_TRY_RUN
+
+doc/{bash.1,bashref.texi}
+       - document that bash turns line editing off if environment variable
+         EMACS is set to `t' when it starts up
+
+doc/bash.1
+       - minor change to give the ftp url for the latest version of bash in
+         the bug reports section
+
+lib/readline/histexpand.c
+       - in get_history_event, cast a couple of `const char *' variables to
+         `char *' in function call parameter lists to avoid compiler warnings
+
+                                  1/21
+                                  ----
+builtins/cd.def
+       - change `cd -' so it prints the current working directory after a
+          successful chdir even when the shell is not interactive
+
+                                  1/31
+                                  ----
+lib/readline/doc/rltech.texinfo
+       - clarified exactly what is meant by the term `application-specific
+         completion function', made its use consistent, and documented
+         what variables are changed before such a function is called
+
+lib/readline/input.c
+       - new function, _rl_pushed_input_available(), returns non-zero if
+         there are characters in the input queue managed by rl_get_char
+         and _rl_unget_char
+
+lib/readline/rlprivate.h
+       - new extern declaration for _rl_pushed_input_available
+
+lib/readline/callback.c
+       - change rl_callback_read_char to check _rl_pushed_input_available
+         and loop if there's something there, so characters don't languish
+         until more keyboard input is read
+
+execute_cmd.c
+       - new variable, last_command_exit_signal, non-zero if
+         last_command_exit_value result from wait_for was result of a signal
+
+nojobs.c
+       - keep track of whether or not a given pid was killed by a signal with
+         a new flag in the pid_list array
+       - new function int find_termsig_by_pid(pid_t pid) to get the
+         terminating signal, if any, for a particular pid
+       - new function int get_termsig(WAIT status) returns the terminating
+         signal corresponding to status
+       - set last_command_exit_signal in wait_for and the various wait_for_xx
+         functions
+
+jobs.c
+       - new functions, process_exit_signal and job_exit_signal, return the
+         signal that killed a given process or job, if a signal caused its
+         death
+       - set last_command_exit_signal in wait_for by calling job_exit_signal
+         or process_exit_signal appropriately
+
+subst.c
+       - don't resend SIGINT to ourselves unless last_command_exit_signal is
+         SIGINT and last_command_exit_value == 128 + SIGINT.  This fixes the
+         $(exit 130) bug reported by Paul Jarc
+
+expr.c
+       - new function, expr_bind_variable, calls bind_int_variable and
+         then stupidly_hack_special_variables.  This fixes the
+         `let OPTIND=1' bug
+
+bashline.c
+       - change history_and_alias_expand_line and shell_expand_line to call
+         history_expand_line_internal so calls to pre_process_line are
+         localized
+       - change history_expand_line_internal and cleanup_expansion_error to
+         temporarily turn off hist_verify before calling pre_process_line
+         to avoid the effects described by teirllm@dms.auburn.edu
+
+parse.y
+       - don't unconditionally turn off PST_ALEXPNEXT in push_string.  This
+         fixes the multiple alias expansion bug reported by Paul Jarc.
+
+lib/readline/vi_mode.c
+       - change rl_vi_subst to push `l' instead of ` ' -- it should be
+         equivalent, but this has been reported to fix a problem in multibyte
+         locales
+
+lib/readline/readline.h
+       - new state flag value RL_STATE_TTYCSAVED, indicates that save_tty_chars
+         has been called.  Since it's only used and visible internally, it's
+         undocumented
+
+lib/readline/rltty.h
+       - changed all of the members of _rl_tty_chars struct to `unsigned char'
+
+lib/readline/rltty.c
+       - set the RL_STATE_TTYCSAVED after save_tty_chars is called
+       - new function, rl_tty_unset_default_bindings(), resets bindings for
+         everything rl_tty_set_default_bindings() messes with back to
+         rl_insert, so rl_tty_set_default_bindings can be called again with
+         possible changes
+       - new function that does the bulk of the work for
+         rltty_set_default_bindings:  _rl_bind_tty_special_chars()
+       - change prepare_terminal_settings so that it can track changes to the
+         terminal special chars made by stty(1):  unset the bindings with
+         rl_tty_unset_default_bindings before calling save_tty_chars, and
+         _rl_tty_set_default_bindings after, with the new values from
+         get_tty_settings().  This implements a long-standing request, most
+         recently made by Tim Waugh of Red Hat.
+
+lib/readline/readline.h
+       - extern declaration for rl_tty_unset_default_bindings()
+
+lib/readline/readline.c
+       - new function, reset_default_bindings, calls
+         rl_tty_unset_default_bindings() to reset the terminal special chars
+         back to rl_insert and then read the new ones
+
+lib/readline/doc/rltech.texinfo
+       - documented rl_tty_unset_default_bindings()
+
+                                   2/1
+                                   ---
+[prayers and condolences to the families of the space shuttle crew members]
+
+aclocal.m4
+       - add checks for mbrtowc and mbrlen in BASH_CHECK_MULTIBYTE
+       - new check, BASH_FUNC_CTYPE_NONASCII, checks whether or not the ctype
+         functions handle non-ascii characters correctly
+
+config.h.in
+       - add HAVE_MBRTOWC and HAVE_MBRLEN
+       - add NO_MULTIBYTE_SUPPORT for new configure argument
+       - add CTYPE_NON_ASCII
+
+config-bot.h, lib/readline/rlmbutil.h
+       - make sure that mbrtowc, mbrlen, and wcwidth are all present before
+         turning on HANDLE_MULTIBYTE
+       - turn off multibyte chars if NO_MULTIBYTE_SUPPORT is defined
+
+configure.in
+       - new argument --enable-multibyte (enabled by default), allows
+         multibyte support to be turned off even on systems that support it
+
+lib/readline/chardefs.h
+       - define NON_NEGATIVE as 1 if CTYPE_NON_ASCII is defined
+
+                                   2/3
+                                   ---
+config.h.in
+       - add HAVE_WCTOMB
+
+aclocal.m4
+       - check for wctomb in BASH_CHECK_MULTIBYTE
+
+                                   2/4
+                                   ---
+lib/readline/vi_mode.c
+       - in _rl_vi_change_mbchar_case, make sure the result from wctomb()
+         is NULL-terminated before trying to insert it with rl_insert_text()
+
+                                   2/5
+                                   ---
+lib/readline/display.c
+       - fix to update_line to avoid problems on systems with multibyte
+         characters when moving between history lines when the new line
+         has more glyphs but fewer bytes (twaugh@redhat.com)
+
+lib/readline/vi_mode.c
+       - use wcrtomb() instead of wctomb() in _rl_vi_change_mbchar_case
+
+pcomplete.c
+       - fix init_itemlist_from_varlist to handle the case where the
+         `varlist' is NULL
+
+doc/{bash.1,bashref.texi}
+       - clarified when a simple command may fail without the shell exiting
+         when -e is set
+
+                                  2/13
+                                  ----
+parse.y
+       - when bash is started with --nolineediting, ignore \[ and \] when
+         decoding the prompt string
+
+subst.c
+       - fix remove_quoted_nulls so that a string with a CTLESC appearing
+         after a CTLNUL (which was removed) does not leave characters in
+         the string inappropriately
+
+                                  2/14
+                                  ----
+builtins/common.h
+       - new flag value for parse_and_execute(): SEVAL_RESETLINE, which
+         allows the caller to specify whether or not the internal idea
+         of the line number should be reset to 1
+
+builtins/evalstring.c
+       - parse_and_execute() now tells push_string to reset the line
+         number only if the SEVAL_RESETLINE flag is set by the caller
+
+                                  2/15
+                                  ----
+builtins/evalfile.c
+       - pass SEVAL_RESETLINE from _evalfile() to parse_and_execute()
+
+subst.c
+       - if the shell is currently interactive, pass SEVAL_RESETLINE to
+         parse_and_execute() when doing command substitution
+
+jobs.c
+       - add SEVAL_RESETLINE to parse_and_execute while running SIGCHLD trap
+
+command.h
+       - add `line' members to case_com, for_com, select_com
+       - rearranged order of members in some of the command structs, so
+         `flags' and `line' are first
+       - added a `source_file' member to the function_def struct; keeps
+         track of where the function was defined
+
+doc/Makefile.in
+       - add some new suffix rules:  .dvi.ps
+
+doc/{bash.1,bashref.texi}
+       - added text to the description of the `trap' builtin tightening up
+         the language describing when the ERR trap will be run
+
+error.c
+       - if $BASH_SOURCE (internally-maintained) exists, use BASH_SOURCE[0]
+         in get_name_for_error if the shell is not interactive
+
+array.h
+       - new convenience defines: array_push and array_pop
+
+variables.c
+       - change get_funcname to return this_shell_function->name only if
+         arrays have not been compiled into the shell
+       - change init_funcname_var to initialize FUNCNAME as an array variable
+         if we have arrays
+       - new function: get_self(SHELL_VAR *self), a degenerate `dynamic_value'
+         function for dynamic variables
+       - new function: init_dynamic_array_var(), a generic dynamic array
+         variable initializer to handle the common case
+       - use init_dynamic_array_var() instead of explicit init_dirstack_var()
+       - use init_dynamic_array_var() instead of explicit init_groups_var()
+       - new dynamic array variables:  BASH_ARGC, BASH_ARGV, BASH_SOURCE,
+         BASH_LINENO, initialized with init_dynamic_array_var
+
+shell.c
+       - initialize BASH_LINENO, BASH_SOURCE, FUNCNAME in open_shell_script
+
+{execute_cmd,trap}.c
+       - take out trap_line_number, since parse_and_execute doesn't reset the
+         line number any more when running the trap commands
+
+make_cmd.c
+       - augment make_function_def to get source file name and call
+         bind_function_def to save the entire FUNCTION_DEF
+
+variables.c
+       - new hash table: shell_function_defs, keeps table of shell function
+         definitions including source file and line number info corresponding
+         to shell_functions table
+       - new functions: find_function_def and bind_function_def to manage
+         the shell_function_defs hash table
+       - new function: unbind_function_def to remove a function definition
+         from the shell_function_defs table (right now uncalled)
+
+variables.h
+       - extern declaration for bind_function_def, find_function_def
+       - new extern declaration for unbind_function_def
+
+execute_cmd.c
+       - in function prologue and epilogue, push and pop FUNCNAME,
+         BASH_SOURCE, and BASH_LINENO information
+
+dispose_cmd.c
+       - broke the code that disposes a FUNCTION_DEF out into two new
+         functions: dispose_function_def and dispose_function_def_contents
+
+dispose_cmd.h
+       - new extern declarations for dispose_function_def_contents and 
+         dispose_function_def
+
+copy_cmd.c
+       - move body of copy_function_def (other than allocating a new
+         FUNCTION_DEF) to copy_function_def_contents
+       - make sure to copy the new source_file member of a function_def in
+         copy_function_def_contents
+       - copy_function_def is no longer static, copy_function_def_contents
+         is not either
+
+command.h
+       - new extern declaration for copy_function_def_contents and
+         copy_function_def
+
+parse.y
+       - keep a stack of line numbers where case, select, and for commands
+         start, with a maximum nesting level of 128; increment when reading
+         word after `for', `select' or `case' in read_token_word; decrement
+         in grammar actions after parsing a complete for, arith_for, select,
+         or case command
+       - create for, case, arith_for, and select commands with an extra
+         line number (word_lineno[word_top]) argument
+
+make_cmd.c
+       - make_for_or_select, make_for_command, make_case_command, and
+         make_select_command all take an extra `line_number' argument
+
+make_cmd.h
+       - corresponding changes to extern declarations for those functions
+
+                                  2/16
+                                  ----
+{execute_cmd,shell,variables}.c
+       - follow each call to remember_args with a call to push_args or
+         pop_args to manage the BASH_ARGV and BASH_ARGC arrays.  Only set
+         when the shell is started to run shell script or runs a shell
+         function.  Doesn't handle `set' or `shift' yet, nor `source'.
+
+execute_cmd.c
+       - keep track of the level of subshells with a new variable, manipulated
+         in execute_in_subshell
+       - set currently_executing_command in execute_command_internal(),
+         even if we're running a trap
+       - better line number management when executing simple commands,
+         conditional commands, for commands in execute_command_internal()
+         and the various functions that implement the commands
+         (execute_cond_command, execute_for_command, execute_etc.)
+
+variables.c
+       - new dynamic variable BASH_SUBSHELL, with new get_subshell and
+         assign_subshell functions to manipulate it
+       - new functions push_args (WORD_LIST *list) and pop_args (void) to
+         manage the BASH_ARGC and BASH_ARGV dynamic array variables
+
+variables.h
+       - new extern declarations for push_args and pop_args
+
+builtins/evalfile.c
+       - in _evalfile, do appropriate things to the FUNCNAME, BASH_ARGV,
+         BASH_ARGC, BASH_SOURCE, and BASH_LINENO variables
+
+support/mksignames.c
+       - add another fake signal for `trap'; make NSIG+2 == `RETURN'
+
+trap.c
+       - _run_trap_internal now returns an int:  the exit value of the command
+         run as the result of the trap
+       - run_debug_trap now returns an int: the exit value of the command
+         run as the result of the trap
+       - RETURN is a new special trap
+       - new function: set_return_trap(char *command) interface for the rest
+         of the shell, like set_{debug,error}_trap
+       - new function: run_return_trap()
+       - command substitution and other child processes don't inherit the
+         return trap
+
+trap.h
+       - new extern declaration for set_return_trap() and run_return_trap
+       - new defines for RETURN_TRAP; increment BASH_NSIG
+       - change extern declaration for run_debug_trap() since it now returns
+         an int
+
+shell.c
+       - new invocation long option:  --debugger, turns on debugging and
+         sets internal `debugging_mode' variable
+
+execute_cmd.c
+       - new code to save return trap when executing a shell function, so
+         shell functions don't inherit it
+       - run debug trap before binding the variable and running the action
+         list in a `for' command
+       - run debug trap before binding the selection variable and running
+         the query in a `select' command
+       - run debug trap before running matcher in a `case' command
+
+builtins/set.def
+       - new `set -o functrace' (set -T), causes DEBUG trap to be inherited
+         by shell functions
+       - new `set -o errtrace' (set -E), causes ERR trap to be inherited
+         by shell functions
+
+flags.c
+       - new flags -E and -T, control error_trace_mode and
+         function_trace_mode respectively
+
+flags.h
+       - new extern declarations for error_trace_mode and function_trace_mode
+
+                                  2/17
+                                  ----
+doc/bashref.texi
+       - changed the `dircategory' as per Karl Berry's suggestion
+
+doc/texinfo.tex
+       - update to version of 2003/02/04 from texinfo.org
+
+support/texi2dvi
+       - update to version 1.14 from texinfo-4.5 distribution
+
+                                  2/20
+                                  ----
+support/config.{guess,sub}
+       - update to versions of 2002/11/30
+
+lib/readline/doc/manvers.texinfo
+       - renamed to version.texi to match other GNU software
+       - UPDATE-MONTH variable is now `UPDATED-MONTH'
+
+lib/readline/doc/{hist,rlman,rluserman}.texinfo
+       - include version.texi
+
+doc/version.texi
+       - new file, with standard stuff matching other GNU distributions
+
+{doc,lib/readline/doc}/Makefile.in
+       - include right stuff for `version.texi'
+
+lib/readline/doc/{rluserman,rlman,hist}.texinfo
+       - use @copying and @insertcopying and @ifnottex instead of @ifinfo
+       - add FDL as an appendix entitled `Copying This Manual'
+
+lib/readline/doc/{rltech,rluser,hstech,hsuser}.texi
+       - changed the suffix from `texinfo' to `texi'
+
+lib/readline/doc/{rlman,rluserman}.texinfo, doc/bashref.texi
+       - include rltech.texi,rluser.texi,hstech.texi, and hsuser.texi
+
+lib/readline/doc/Makefile.in,doc/Makefile.in
+       - made appropriate changes for {{rl,hs}tech,{rl,hs}user}.texi
+
+lib/readline/doc/{rlman,rluserman}.texinfo
+       - changed the suffix from `texinfo' to `texi'
+
+lib/readline/doc/hist.texinfo
+       - renamed to history.texi
+
+                                  2/25
+                                  ----
+pathnames.h.in
+       - moved pathnames.h here so value of DEBUGGER_START_FILE can be
+         substituted by configure
+
+aclocal.m4
+       - added AM_PATH_LISPDIR for debugger
+
+configure.in
+       - added some variables: `bashvers', `relstatus' to use info in more
+         than one place
+       - call AM_PATH_LISPDIR
+       - new option:  --enable-debugger, sets DEBUGGER cpp option
+       - new option with AC_ARG_VAR:  DEBUGGER_START_FILE
+       - make `pathnames.h' a file generated by configure
+
+Makefile.in
+       - add rule to create pathnames.h
+
+builtins/declare.def
+       - added extra line number and source file name to `declare -F' output
+         if `--debugger' is used at startup
+
+builtins/evalfile.c
+       - call run_return_trap from source_file before returning the result
+         from _evalfile()
+
+execute_cmd.c
+       - call run_return_trap in execute_function before restoring the old
+         context
+
+builtins/source.def
+       - arrange to save and restore DEBUG traps when sourcing files if
+         function_trace_mode (set -o functrace) is not set
+
+print_cmd.c
+       - broke print_for_command, print_select_command, print_case_command
+         into two functions each:  one to print the `header' and one for
+         the body
+       - print_cond_command is no longer static
+       - print_arith_command now takes a WORD_LIST *, since it doesn't
+         actually do anything with the ARITH_COM it's passed except print
+         the enclosed WORD_LIST
+       - print_arith_command is no longer static
+
+externs.h
+       - extern declarations for print_{for,select,case}_command_head,
+         print_cond_command, print_arith_command
+
+{.,builtins,lib/sh}/Makefile.in
+       - corrected dependencies on pathnames.h, since it's now created in
+         the build directory
+
+                                   3/5
+                                   ---
+lib/glob/glob.c
+       - handle alloca() failing (it's supposed to return NULL)
+       - use malloc() (with its attendent bookkeeping) instead of alloca()
+         in glob_filename()
+
+subst.c
+       - check whether shell_glob_filename returns NULL in
+         glob_expand_word_list
+       - change parameter_brace_expand_rhs to handle cases like
+         ${a[2]:=value} by properly creating the array element instead of a
+         variable named `a[2]' (reported by <opengeometry@yahoo.ca>)
+
+variables.c
+       - change bind_int_variable to use valid_array_reference instead
+         of looking for `[' 
+
+lib/readline/vi_mode.c
+       - check for `a' in _rl_vi_done_inserting so the text inserted by an
+         `a' command can be reinserted with a `.'
+
+lib/readline/readline.c
+       - when entering vi insertion mode in readline_internal_setup(), make
+         sure that _rl_vi_last_key_before_insert is set to `i' so that undo
+         groups and redo work better (reported by <opengeometry@yahoo.ca>)
+
+lib/glob/sm_loop.c
+       - handle ?(...) in a pattern immediately following a `*', instead of
+         ignoring the `(' and treating the `?' as a single-char match, as
+         long as FNM_EXTFLAG is set (reported by <anderson110@poptop.llnl.gov>)
+
+aclocal.m4
+       - new test for presence of struct timezone, BASH_STRUCT_TIMEZONE
+
+config.h.in
+       - add HAVE_STRUCT_TIMEZONE
+
+configure.in
+       - call BASH_STRUCT_TIMEZONE
+
+execute_cmd.c
+       - don't try to use `struct timezone' in calls to gettimeofday unless
+         HAVE_STRUCT_TIMEZONE is defined; use (void *)NULL otherwise
+
+                                  3/20
+                                  ----
+execute_cmd.c
+       - new variable, the_printed_command_except_trap, saves the command
+         being executed before a trap is executed, for the debugger
+
+trap.c
+       - if in debugging mode, let command substitutions and other child
+         processes inherit the DEBUG and ERR traps if the `functrace'
+         (which is really a bad name, given this semantic) or `errtrace'
+         options, respectively, have been set
+
+shell.c
+       - local_pending_command renamed to command_execution_string; no longer
+         static
+
+variables.c
+       - new dynamic variable, BASH_COMMAND, set to the command string
+         currently executing, or the one that caused a trap to execute
+         (mapped to the_printed_command_except_trap)
+       - new variable, BASH_EXECUTION_STRING, set to the argument to the
+         -c invocation option, if the shell was started that way
+
+                                  3/22
+                                  ----
+execute_cmd.c
+       - changed execute_for_command, eval_arith_for_expr,
+         execute_select_command, execute_arith_command, execute_cond_command,
+         execute_simple_command to implement new DEBUG trap semantics
+         for the debugger: if the DEBUG trap commands return a non-zero
+         status and debugging_mode is non-zero, we skip the command to be
+         executed
+
+trap.c
+       - change run_debug_trap for the debugger: if we're in the debugger
+         and the DEBUG trap returns 2 while we're in a function or sourced
+         script, we force a `return'
+
+shell.c
+       - new function, start_debugger(), that sources the debugger start file
+         and turns the debugger on
+
+builtins/shopt.def
+       - new settable option, `extdebug', turns on debugging_mode, as if
+         --debugger had been supplied at invocation (but does not source
+         debugger startup file)
+
+trap.c
+       - make sure that run_exit_trap arranges for `returns' to come back
+         there, too, so a `return' executed by an `exit' invoked within a
+         shell function behaves correctly
+
+support/shobj-conf
+       - change darwin/MacOS X stanza based on advice from mac os x developers
+
+lib/sh/mailstat.c
+       - set the atime member of the synthesized stat struct to 0 if `cur/'
+         is empty, rather than leaving it undefined
+
+                                  3/24
+                                  ----
+builtins/caller.def
+       - new builtin to provide a call stack for the debugger
+
+builtins/evalfile.c
+       - added a second `flags' argument to source_file()
+       - new flag value for flags argument to _evalfile():  FEVAL_NOPUSHARGS.
+         If included in flags arg, it means to not manipulate the BASH_ARGV
+         and BASH_ARGC arrays
+
+builtins/common.h
+       - change prototype for source_file()
+
+builtins/source.def
+       - add flag value to call to source_file():  set to 1 if we replaced
+         the positional parameters
+       - add call to push_args if additional arguments supplied to the
+         source builtin
+       - add call to pop_args in maybe_pop_dollar_vars
+
+execute_cmd.c
+       - run the debug trap in execute_function so the debugger can stop
+         before the first command in a function body is executed
+       - modify subshell_level before executing a builtin or function in a
+         subshell
+       - print `for', `select', `case' command heads when set -x is enabled
+
+print_cmd.c
+       - `xtrace_print_word_list' now takes an additional flags argument,
+         which, if non-zero, says to print indirection_level_string()
+       - new functions to print for, select, and case command heads when
+         set -x is enabled
+       - add spaces after `((' and before `))' in xtrace_print_arith_command
+
+externs.h
+       - changed extern declaration for xtrace_print_word_list
+       - new declarations for xtrace_print_{for,case,select}_command_head()
+
+subst.c
+       - modify subshell_level when executing a command substitution
+
+                                  3/25
+                                  ----
+execute_cmd.c
+       - use `line_number' in executing_line_number instead of looking into
+         the current command if it's a simple command; rearrange code to
+         make this simpler to compile in and out
+       - need to save and restore value of currently_executing_command around
+         calls to debug trap and return trap in execute_function
+
+make_cmd.c
+       - make sure make_arith_for_command() disposes the WORD_LIST * it is
+         passed, since nothing else does and it's not used directly
+
+                                  3/28
+                                  ----
+Makefile.in    
+       - fixed dependencies for `error.o' on shell.h and version.h -- makes
+         parallel makes (gmake -j 4) work correctly
+
+doc/{bash.1,bashref.texi}
+       - documented all new features added to support the debugger
+
+                                   4/1
+                                   ---
+lib/sh/shquote.c
+       - make sure CTLESC and CTLNUL characters are escaped with CTLESC
+         by sh_double_quote, sh_backslash_quote and
+         sh_backslash_quote_for_double_quotes
+         Fixes vulnerability reported by svdb@stack.nl
+
+shell.h
+       - new `pipestatus' member of sh_parser_state_t, to save and restore
+         $PIPESTATUS
+
+parse.y
+       - changes to save_parser_state and restore_parser_state to save and
+         restore $PIPESTATUS
+
+builtins/read.def
+       - add a call to word_list_remove_quoted_nulls before assigning the
+         word list read from standard input to an array variable.  Fixes
+         bug reported by holzhey@ppprs1.phy.tu-dresden.de
+
+                                   4/3
+                                   ---
+execute_cmd.c
+       - in execute_null_command, if redirections are supplied, make sure
+         things like 3</etc/passwd are undone immediately, since they're
+         being done in the current shell
+       - functions now inherit the RETURN trap only if function tracing is
+         on for that function or globally
+
+lib/readline/misc.c
+       - in rl_replace_from_history, don't force rl_replace_line to clear
+         the undo_list, since it might point directly at an undo list
+         from a history entry (to which we have no handle)
+
+                                   4/4
+                                   ---
+trap.c
+       - initialize RETURN_TRAP stuff appropriately in initialize_traps()
+       - let command substitutions inherit the RETURN trap if we're in
+         the debugger and function tracing has been enabled
+
+redir.c
+       - do_redirections and do_redirection_internal now take a single
+         flags argument instead of multiple boolean flags
+
+redir.h
+       - new #defines for flags argument to do_redirection{s,_internal}
+
+execute_cmd.c
+       - change all calls to do_redirection to use new flag values
+
+parse.y
+       - new function, free_pushed_string_input(), an external interface to
+         clear the pushed_string list (alias expansion)
+       - new define SHOULD_PROMPT to say when it's OK to call prompt_again
+         (if the shell is currently interactive and is reading input from
+         the terminal or readline)
+       - make sure shell_getc and read_secondary_line only call prompt_again
+         if SHOULD_PROMPT evaluates to true
+       - prompt_again shouldn't do anything if the shell is currently in the
+         middle of expanding a multiline alias, since we won't be printing a
+         prompt anyway
+
+externs.h
+       - new extern declaration for free_pushed_string_input()
+
+execute_cmd.c
+       - command_substitute and process_substitute now call
+         free_pushed_string_input because they shouldn't deal with any
+         partial alias expansion the parent shell may have started
+
+                                   4/5
+                                   ---
+braces.c
+       - added {x..y} brace expansion, shorthand for {x,x+1,x+2,...,y}:
+         x, y can be integers or single characters; the sequence can be
+         ascending or descending; increment is always 1.  Beware that
+         something like {a..A} can lead to non-letters.
+
+                                   4/7
+                                   ---
+subst.c
+       - change extract_delimited_string and extract_dollar_brace_string to
+         return NULL on an expansion error when no_longjmp_on_fatal_error
+         is set, so the calling functions don't assume that the expansion
+         was successful (primarily the prompt expansion and completion code)
+
+doc/{bash.1,bashref.texi}
+       - documented new sequence generation feature of brace expansion
+
+                                   4/8
+                                   ---
+lib/sh/strstr.c
+       - replacement for strstr(3), in case the C library doesn't provide it
+
+configure.in
+       - check for strstr, add to LIBOBJS if not found
+
+array.c
+       - array_walk now takes a third void * argument; it's passed to `func'
+         as its second argument
+
+array.h
+       - change sh_ae_map_func_t prototype to add void * second argument
+
+                                  4/10
+                                  ----
+array.c
+       - new function: array_keys_to_word_list, returns a list of indices for
+         a given array
+
+array.h
+       - new extern declaration for array_keys_to_word_list
+
+arrayfunc.c
+3      - new function: char *array_keys(), returns a string with keys for a
+         given array, with the appropriate quoting
+
+arrayfunc.h
+       - new extern declaration for array_keys
+
+subst.c
+       - code to implement ksh93-like ${!array[@]} expansion (array[*] works,
+         too), which expands to all the keys (indices) of ARRAY
+
+doc/{bash.1,bashref.texi}
+       - documented new ${!array[@]} expansion
+
+                                  4/19
+                                  ----
+builtins/setattr.def
+       - remove any mention of the `-n' option from readonly builtin's short
+         and long documentation
+
+pcomplib.c
+       - fix progcomp_insert to increase the refcount on the `cs' argument
+         before calling hash_insert -- fixes the problem of multiple calls
+         to progcomp_insert with the same compspec
+
+doc/bash.1
+       - add mention of characters that inhibit history expansion when found
+         immediately following an unquoted `!'
+
+bashline.c
+       - convert the code conditionally compiled in by the NO_FORCE_FIGNORE
+         #define to something runtime-tunable with the `force_fignore'
+         variable (opposite sense).  force_fignore is 1 by default
+
+builtins/shopt.def
+       - new tunable `shopt' option: `force_fignore', controls force_fignore
+         variable and behavior of FIGNORE handling
+
+lib/readline/complete.c
+       - new variable, _rl_complete_show_unmodified, causes completer to list
+         possible completions if more than one completion and partial
+         completion cannot be done
+       - new value for what_to_do argument to rl_complete_internal, `@',
+         indicating that we want the show-unmodified behavior
+       - change rl_completion_type to return `@' when appropriate
+
+lib/readline/bind.c
+       - new bindable variable, show-all-if-unmodified, which controls value
+         of _rl_complete_show_unmodified
+
+lib/readline/rlprivate.h
+       - extern declaration for _rl_complete_show_unmodified
+
+lib/readline/doc/rluser.texi
+       - documented show-all-if-unmodified
+
+lib/readline/doc/rltech.texi
+       - documented new `@' value for second argument to rl_complete_internal
+       - documented new return value from rl_completion_type
+
+                                  4/22
+                                  ----
+lib/readline/signals.c
+       - in rl_set_signal, set sa_flags to SA_RESTART for SIGWINCH, if we
+         have POSIX signals -- this is what most applications expect, and
+         they're not prepared to deal with EINTR
+
+                                  4/25
+                                  ----
+bashline.c
+       - take out attempts to suppress readline filename completion when
+         attempting command completion and there is a directory with the
+         same name in the current directory.  #if 0'd for now; maybe make
+         it conditional later
+
+error.c
+       - new variable, gnu_error_format, causes non-interactive errors with
+         line numbers to be printed in the `gnu style' (filename:lineno:)
+         instead of the `shell style' (filename: line lineno:) by
+         error_prolog and parser_error
+
+version.h,support/mkversion
+       - don't put extern function declarations into created version.h any
+         more
+
+version.c,externs.h
+       - add extern declarations for show_shell_version() and
+         shell_version_string(), since they're no longer in version.h
+         (this backs out change from 9/10/2001)
+
+shell.h
+       - don't include version.h
+
+Makefile.in
+       - remove unneeded dependencies on version.h -- only version.o
+         needs it now
+
+builtins/shopt.def
+       - new option `gnu_errfmt', changes error messages with line numbers
+         to use the `standard' gnu format
+
+pcomplete.h
+       - new COPT_BASHDEFAULT and COPT_PLUSDIRS defines
+
+bashline.c
+       - if the COPT_BASHDEFAULT flag is set, try the rest of the bash
+         default completions if a compspec with that flag set generates
+         no matches
+       - broke bash completions out into separate function:
+         bash_default_completion(const char *text, int start, int end,
+         int qc, int in_command_position); change attempt_shell_completion
+         to call it
+
+bashline.h
+       - new extern declaration for bash_default_completion
+
+builtins/complete.def
+       - added code to compgen to call bash_default_completion if a compspec
+         with the COPT_BASHDEFAULT flag set generates no matches from the
+         programmable completion options
+
+doc/{bash.1,bashref.texi}
+       - document new `gnu_errfmt' shopt option
+
+doc/bash.1,lib/readline/doc/rluser.texi
+       - document new `-o bashdefault' option to complete and compgen
+
+                                  4/26
+                                  ----
+pcomplete.c
+       - if a compspec has the COPT_PLUSDIRS flag set, generate any
+         directory name completions and add them to the set of possible
+         completions as the last thing in gen_compspec_completions
+
+builtins/complete.def
+       - add new `-o plusdirs' option to complete and compgen; means to
+         do directory name completion in addition to other actions
+         specified by the compspec, and do it last
+
+                                  5/12
+                                  ----
+copy_cmd.c
+       - fix copy_{for,select,case}_command to copy the line member
+
+                                  5/13
+                                  ----
+lib/readline/rlmbutil.h,include/shmbutil.h
+       - new #define MB_INVALIDCH, evaluates to true if return value from
+         mbrtowc or mbrlen denotes an invalid multibyte character
+       - new #define MB_NULLWCH, evaluates to true if return value from
+         mbrtowc or mbrlen denotes a null multibyte character
+
+lib/readline/complete.c
+       - new function, fnwidth(), returns printed length of a filename,
+         correctly handling multibyte characters
+       - new function, fnprint(), displays a filename on rl_outstream
+         correctly handling multibyte characters
+       - use fnwidth() instead of simple strlen() for length calculations
+         in display_matches
+
+lib/readline/{display,mbutil}.c
+       - use MB_INVALIDCH and MB_NULLWCH as appropriate
+
+                                  5/21
+                                  ----
+configure.in
+       - turn off the builtin malloc on GNU/FreeBSD systems (GNU userland,
+         FreeBSD kernel)
+
+                                  5/24
+                                  ----
+pcomplete.c
+       - in programmable_completions, copy the compspec before using it to
+         generate the possible completions, allowing the completion for the
+         command to be changed by the compspec itself without causing a
+         core dump because the shell frees freed memory (reported by
+         marcus.harnish@gmx.net)
+
+parse.y
+       - in shell_getc, don't call notify_and_cleanup in an interactive shell
+         unless the shell is currently reading from the terminal and would
+         print a prompt.  This fixes programmable completions printing job
+         notifications (reported by r.d.green@lancaster.ac.uk)
+       - use SHOULD_PROMPT macro consistently
+
+shell.c
+       - use get_string_value instead of getenv when looking up $TERM and
+         $EMACS to see whether the shell is running under emacs
+       - check for `TERM=dumb' as well as `EMACS=t' to decide whether or
+         not to turn off command-line editing in emacs shell windows
+         (reported by jik@kamens.brookline.ma.us)
+
+                                  5/28
+                                  ----
+expr.c
+       - save and restore the `evalbuf' context, since evalexp can be
+         called recursively (e.g. a[b[c]])
+
+                                  5/29
+                                  ----
+builtins/common.c
+       - in display_signal_list, when displaying for `kill -l' in posix mode,
+         display signal names without the `SIG' prefix
+
+doc/bashref.texi
+       - documented changed to posix mode behavior of kill -l
+
+builtins/kill.def
+       - changed the error message printed when argument is not a pid or
+         job id
+
+doc/{bash.1,bashref.texi}
+       - fixed a slight inconsistency in the different sections describing
+         the `promptvars' option
+
+doc/Makefile.in
+       - new rule to create `bash.info' from `bashref.info' by running sed
+         to change the internal references.  This makes the installed
+         bash.info work right
+       - make the install target install bash.info after it's been modified
+         from bashref.info
+
+                                  5/30
+                                  ----
+builtins/cd.def
+       - after testing with ferror(), call clearerr if ferror() evaluates
+         to true
+
+execute_cmd.c
+       - call clearerr(stdout) after executing a builtin or function,
+         before restoring any redirections
+
+bashhist.c
+       - initialize history_comment_char in bash_history_initialize
+
+builtins/alias.def
+       - if posix mode is enabled, and the `-p' option is not supplied, don't
+         list aliases with a preceding `alias ', as POSIX.2 specifies
+
+doc/bashref.texi
+       - note new posix mode behavior of displaying alias names and values
+       - note new posix mode behavior of trap builtin not checking first
+         argument to be a possible signal specification
+       - note new posix mode behavior of `kill' not accepting signal names
+         with a leading `SIG'
+
+include/stdc.h,lib/readline/rlstdc.h
+       - don't check the __STRICT_ANSI__ define when deciding whether or not
+         to #undef __attribute__
+
+trap.[ch]
+       - decode_signal and signal_object_p take an additional flags arg to
+         satisfy POSIX.2 signal name translation requirements
+       - change decode_signal to honor the new DSIG_NOCASE (match case-
+         insensitively) and DSIG_SIGPREFIX (allow signal specifications
+         with the `SIG' prefix) flags
+
+builtins/{common.c,{trap,kill}.def}
+       - change calls to decode_signal to add the new argument with
+         appropriate values.  For kill, POSIX.2 says case-insensitive without
+         the `SIG' prefix.  For trap, POSIX.2 says applications may decode
+         case-insensitively and with the SIG prefix
+
+builtins/trap.def
+       - when in posix mode, don't check for the first argument being a
+         possible signal spec and revert the signal handling to the
+         original disposition
+
+                                   6/1
+                                   ---
+shell.h
+       - new MATCH_STARSUB define, to tell the callers of the various pattern
+         substitution and removal functions that call string_list to treat
+         "$*" and "${array[*]}" appropriately
+subst.c
+       - if get_var_and_type encounters an array variable subscripted by `*'
+         or `$*', return VT_STARSUB or'd into the variable type value
+       - callers of get_var_and_type check for VT_STARSUB in the returned type
+         this will fix problems with ${*...} not being separated with the
+         first character of $IFS when double-quoted
+       - in parameter_brace_patsub, set MATCH_STARSUB if VT_STARSUB is set by
+         get_var_and_type
+       - change pos_params_pat_subst to call string_list_dollar_star if
+         the match flags include MATCH_STARSUB
+       - change parameter_brace_substring to call array_subrange with an
+         additional argument indicating the character indexing the array
+
+array.c
+       - change array_patsub to join the modified array elements with the
+         first character of $IFS if MATCH_STARSUB is set in the match flags
+         passed in
+       - array_subrange now takes an additional argument indicating the
+         index type -- used to separate with first char of $IFS if the
+         index char is `*' and the expression is double-quoted
+
+array.h
+       - change prototype declaration of array_subrange to add additional arg
+
+                                   6/2
+                                   ---
+doc/FAQ
+       - merged in some updates about POSIX from Andrew Josey
+
+                                   6/3
+                                   ---
+bashjmp.h
+       - new value for jump_to_top_level:  ERREXIT
+
+{eval,shell,subst,trap}.c,builtins/evalstring.c
+       - ERREXIT is (for now) equivalent to EXITPROG as a value from
+         jump_to_top_level
+
+                                   6/9
+                                   ---
+doc/bash.1,lib/readline/doc/readline.3
+       - documented new `show-all-if-unmodified' readline variable
+
+                                  6/14
+                                  ----
+lib/readline/history.c
+       - new function, histdata_t free_history_entry (HIST_ENTRY *h),
+         frees H and its line, returning the application-specific data
+       - use free_history_entry where appropriate
+
+lib/readline/history.h
+       - extern declaration for free_history_entry()
+
+lib/readline/doc/{history.3,hstech.texi}
+       - document free_history_entry
+
+                                  6/16
+                                  ----
+lib/readline/readline.[ch]
+       - changed varions defines for readline/history library versions to 5.0
+
+subst.c
+       - pass information about whether or not an indirectly-expanded variable
+         contains ${array[@]}, ${array[*]}, $@, or $*
+       - new function, chk_atstar, performs checks for ${array[@]},
+         ${array[*]}, $@, or $* for the parameter_brace_expand* functions and
+         sets flags (passed as args) to the results
+       - call chk_atstar from parameter_brace_expand_indir and
+         parameter_brace_expand
+
+                                  6/28
+                                  ----
+doc/{bash.1,bashref.texi}
+       - clarified that (...) commands are executed in a subshell environment
+
+                                  6/30
+                                  ----
+lib/readline/bind.c
+       - fix a problem with parsing nested if statements in inputrc files
+         (fix from dimakar@yahoo.com)
+
+                                   7/3
+                                   ---
+{jobs,nojobs}.c
+       - fix places that use the return value from strsignal() to check
+         for NULL return values using a new function, j_strsignal()
+
+builtins/kill.def
+       - removed JOB_CONTROL restriction; kill is now available as a builtin
+         when the shell is built without job control
+
+                                  7/10
+                                  ----
+jobs.c
+       - some systems have WIFCONTINUED but not WCONTINUED; separate the
+         #defines
+
+                                  7/14
+                                  ----
+lib/readline/history.h
+       - new `timestamp' member of a HIST_ENTRY
+       - extern declarations for add_history_time and history_get_time
+
+lib/readline/doc/{history.3,hstech.texi}
+       - document add_history_time and history_get_time
+
+lib/readline/history.c
+       - implementations of history_get_time and add_history_time
+       - change add_history to initialize the timestamp information
+       - change free_history_entry to free the timestamp
+       - change replace_history_entry to duplicate the timestamp
+       - change history_total_bytes to add the memory taken by the time
+         stamps
+
+bashhist.c,builtins/history.def
+       - use free_history_entry where appropriate
+
+lib/readline/histfile.c
+       - changes to read_history_range to deal with new history file format
+         including timestamps
+       - changes to history_do_write to write out the timestamp information
+       - changes to history_truncate_file to understand the timestamp
+         information
+
+                                  7/22
+                                  ----
+doc/{bash.1,bashref.texi}
+       - fixed function declaration documentation to specify that any compound
+         command may be used as the function body, not just a group command
+
+                                  7/23
+                                  ----
+lib/readline/histfile.c
+       - don't allocate space for null timestamps in history_do_write, and
+         don't write out null timestamp entries
+
+parse.y
+       - fix CHECK_FOR_RESERVED_WORD to call time_command_acceptable() and
+         return TIME if the token is "time" and `time' is legal in that
+         context
+
+                                  7/29
+                                  ----
+lib/sh/fmtulong.c
+       - include <inttypes.h> for possible definitions of intmax_t, uintmax_t
+         (reported by ro@techfak.uni-bielefeld.de)
+
+                                  7/30
+                                  ----
+parse.y
+       - remove checking for `time' reserved word from special_case_tokens();
+         use regular mechanism in CHECK_FOR_RESERVED_WORD.  This allows `time'
+         to be aliased.  (Reported by Glenn Morris
+         <gmorris+gmane@ast.cam.ac.uk>)
+
+                                  7/31
+                                  ----
+lib/readline/history.h
+       - extern declaration for history_write_timestamps
+
+lib/readline/histfile.c
+       - don't write timestamps to the history file in history_do_write
+         unless history_write_timestamps is set to non-zero by the application
+         (set to 0 by default)
+
+lib/readline/doc/{hstech.texi,history.3}
+       - document history_write_timestamps
+
+variables.[ch]
+       - new special variable function, HISTTIMEFORMAT; special function
+         sets history_write_timestamps to 1 if HISTTIMEFORMAT is set
+
+                                   8/4
+                                   ---
+builtins/history.def
+       - added support for printing time stamps based on the value of the
+         HISTTIMEFORMAT variable when displaying history entries
+
+doc/{bash.1,bashref.texi}
+       - added description of new HISTTIMEFORMAT variable
+
+                                   8/5
+                                   ---
+config-top.h
+       - remove /usr/ucb from any default paths
+
+mailcheck.c
+       - make_default_mailpath now returns NULL if DEFAULT_MAIL_DIRECTORY
+         is not defined
+       - remember_mail_dates now returns if make_default_mailpath returns
+         NULL
+
+config-bot.h
+       - reorganized the sections; provide an explicit placeholder for
+         builders to #undef any feature defines they don't want that
+         configure creates for them, like the default mail path
+
+                                   8/9
+                                   ---
+config.h.in
+       - add HAVE_REGEX_H, HAVE_REGCOMP, HAVE_REGEXEC for detection of POSIX.2
+         regular expression functions
+       - add COND_REGEXP define to enable and disable the =~ operator for
+         matching extended regular expressions in [[...]] commands
+
+configure.in
+       - new option, --enable-cond-regexp, enables =~ and code to perform
+         regular expression matching in [[...]]
+
+config-bot.h
+       - undef COND_REGEXP if the OS doesn't provide posix regexp support
+
+doc/bashref.texi
+       - documnent new --enable-cond-regexp option to configure
+
+                                  8/18
+                                  ----
+support/shobj-conf
+       - support for shared objects on FreeBSD-gnu (from Robert Millan)
+
+                                  8/25
+                                  ----
+lib/sh/shmatch.c
+       - new file, shell interface to posix extended regular expression
+         matching
+
+externs.h
+       - new extern declarations for functions in shmatch.c
+
+execute_cmd.c
+       - incorporate code into execute_cond_node that does extended regular
+         expression matching for the =~ operator
+
+parse.y
+       - add `=~' to the list of binary operators accepted by the conditional
+         command parser
+
+doc/{bash.1,bashref.texi}
+       - documented =~ conditional binary operator and the BASH_REMATCH
+         variable
+
+                                  8/27
+                                  ----
+lib/readline/display.c
+       - take multibyte characters into account when looking for quoted
+         substrings on which to do completion (fix from jir@yamato.ibm.com)
+
+lib/readline/util.c
+       - fix typo in _rl_strpbrk
+
+lib/readline/rldefs.h
+       - use function version of _rl_strpbrk in multibyte locales, because
+         it understands to skip over special characters in multibyte
+         character sequences
+
+                                  8/28
+                                  ----
+jobs.c
+       - in wait_for, check for window size changes if a job that exits due
+         to a signal or is stopped was in the foreground, not just if it's
+         the current job
+
+                                  9/10
+                                  ----
+support/config.{guess,sub}
+       - add support to recognize FreeBSD running on the amd64
+
+subst.c
+       - if the new `fail_glob_expansion' variable is non-zero, globbing that
+         fails to match anything causes an expansion error
+
+builtins/shopt.def
+       - new `failglob' expansion:  if enabled, failed globs cause an error
+
+test/shopt.right
+       - take `failglob' into account
+
+doc/{bash.1,bashref.texi}
+       - documented new `failglob' option and its effects
+
+                                  9/12
+                                  ----
+findcmd.c
+       - fix file_status to treat the mode bits and uid right -- in particular,
+         don't assume the `other' bits always apply.  Bug reported by
+         <moseley@hank.org>; fix inspired by <carlo@alinoe.com>
+
+command.h
+       - new word flag: W_NOCOMSUB, meaning to not perform command
+         substitution on a word
+
+subst.c
+       - new flag for param_expand: PF_NOCOMSUB.  If non-zero, $(...)
+         command substitutions are not expanded, but returned unchanged
+       - change expand_word_internal to pass through `` command substitutions
+         unchanged if (word->flags & W_NOCOMSUB) != 0
+       - change expand_word_internal to pass PF_NOCOMSUB to param_expand
+         if (word->flags & W_NOCOMSUB) != 0
+
+builtins/shopt.def
+       - rename set_interactive_comments to set_shellopts_after_change, which
+         more accurately reflects its purpose
+
+syntax.h
+       - add a define for isblank() in case the system doesn't provide one
+
+jobs.c
+       - change raw_job_exit_status to understand `pipefail', using the new
+         `pipefail_opt' variable
+
+flags.[ch]
+       - declare pipefail_opt
+       - reset pipefail_opt to 0 in reset_shell_flags
+
+builtins/set.def
+       - add `set -o pipefail' and document it in help output
+
+doc/{bash.1,bashref.texi}
+       - document `set -o pipefail' and the effect of the pipefail option
+
+mksyntax.c,syntax.h
+       - sh_syntaxtab is no longer `const'
+       - new generated variable, sh_syntabsiz, set to number of entries in
+         sh_syntaxtab, written to generated syntax.c
+
+locale.c
+       - new function, locale_setblanks(), sets each member of the current
+         locale's <blank> class to have the CSHBRK flag in sh_syntaxtab
+
+                                  9/17
+                                  ----
+arrayfunc.c
+       - change convert_var_to_array to not set array[0] to a NULL value
+         (if the scalar variable had no value; e.g., after being created
+         with `local arrayvar')
+
+lib/readline/display.c
+       - save and restore the value of prompt_invis_chars_first_line in
+         rl_{save,restore}_prompt, and reinitialize it to 0 before printing
+         something in the message area
+
+lib/readline/bind.c
+       - new functions: rl_bind_keyseq_if_unbound_in_map(ks, func, kmap);
+         binds key sequence KS to function FUNC in keymap KMAP, and
+         rl_bind_keyseq_if_unbound (ks, func); binds key sequence KS to
+         function FUNC in the current keymap
+
+lib/readline/readline.h
+       - extern function declarations for rl_bind_keyseq_if_unbound_in_map and
+         rl_bind_keyseq_if_unbound
+
+lib/readline/{readline,terminal}.c
+       - _rl_bind_if_unbound -> rl_bind_keyseq_if_unbound
+
+lib/readline/{bind.c,rlprivate.h}
+       - remove _rl_bind_if_unbound
+
+                                  9/18
+                                  ----
+lib/readline/doc/rltech.texi
+       - document rl_bind_keyseq_if_unbound and
+         rl_bind_keyseq_if_unbound_in_map
+
+                                  9/19
+                                  ----
+lib/readline/bind.c
+       - new functions rl_bind_key_if_unbound_in_map and
+         rl_bind_key_if_unbound; analogous to (and implemented in terms of)
+         keyseq functions
+       - rl_bind_keyseq_in_map: a new function, equivalent to rl_set_key
+         (which remains for backwards compatibility); changed callers to
+         use it
+       - new function, rl_bind_keyseq, equivalent to rl_bind_keyseq_in_map
+         with a third argument of _rl_keymap
+
+lib/readline/readline.h
+       - extern declarations for rl_bind_key_if_unbound_in_map and
+         rl_bind_key_if_unbound
+       - extern declarations for rl_bind_keyseq_in_map and rl_bind_keyseq
+
+lib/readline/doc/rltech.texi
+       - document rl_bind_keyseq and rl_bind_keyseq_in_map
+
+configure.in
+       - require at least readline-5.0
+
+config-bot.h
+       - define SYS_SIGLIST_DECLARED if it's not defined, but
+         HAVE_DECL_SYS_SIGLIST is, to deal with differences between
+         autoconf versions
+
+bashline.c
+       - use rl_bind_key_if_unbound_in_map when binding bash keybindings in
+         initialize_readline(), so inputrc files can override them
+
+                                  9/22
+                                  ----
+lib/readline/histsearch.c
+       - do better bounds checking for history_offset and history_length in
+         history_search_internal
+
+builtins/history.def
+       - in delete_last_history(), make sure we don't leave the history
+         offset longer than the history length after calling delete_histent
+
+                                  9/23
+                                  ----
+jobs.c
+       - small change to notify_of_job_status so job status messages get
+         printed even if the shell was started to run `-c command'.  The
+         old behavior was intentional, but I cannot remember why, so we'll
+         try it the other way for a while (debian bash bug #211693)
+
+                                  9/24
+                                  ----
+jobs.c
+       - slightly modify change from 9/23 so that jobs started to run
+         command substitutions don't print job status messages
+
+                                  9/25
+                                  ----
+lib/readline/search.c
+       - when reading a non-incremental search string from the terminal,
+         use a separate undo list rather than chaining it to the undo list
+         from the rest of the line, since the whole undo list will get
+         freed when the search string is complete
+
+lib/readline/readline.h
+       - changed the defines guarding the stdarg prototype for rl_message to
+         match what's actually used in display.c, where it's defined
+
+                                  9/26
+                                  ----
+[bash-3.0-alpha released]
+
+                                  9/29
+                                  ----
+lib/sh/shmatch.c
+       - fix to build correctly when arrays are not compiled into the shell
+
+subst.c
+       - fix command substitution to run any exit trap defined in the
+         command substitution before returning; the exit trap is not inherited
+         from the calling shell
+
+lib/readline/shell.c
+       - change sh_set_lines_and_columns to free the memory allocated and
+         passed to setenv(), since setenv is specified by POSIX to allocate
+         new memory and copy its arguments
+
+jobs.c
+       - change logic in make_child so that every child process attempts to
+         set the terminal's process group to the pipeline's process group
+         when PGRP_PIPE is defined, just like when it's undefined.  This is
+         reported to fix some tricky synchronization problems on Red Hat
+         Enterprise Linux 3.  Fix from Ernie Petrides <petrides@redhat.com>.
+
+                                  9/30
+                                  ----
+builtins/printf.def
+       - tescape no longer needs a `trans_squote' argument, since it's the
+         same as the `sawc' argument.  The `sawc' argument now means to do
+         the %b argument processing if non-null
+       - fix processing of octal constants for %b arguments (\0 followed by
+         up to three octal digits) and other escape sequences (\ followed by
+         up to three octal digits)
+       - hex constants `\xHHH' are now allowed to contain any positive
+         number of digits; previously they were restricted to two [removed]
+       - allow two new escape sequences: \" and \?, for compatibility with
+         ksh93 and ANSI C
+
+doc/{bash.1,bashref.texi}
+       - documented processing that printf performs for arguments to %b
+         escape sequences
+
+lib/sh/strtrans.c
+       - add \" and \? to escape sequences recognized by `echo -e'
+
+                                  10/1
+                                  ----
+version.c
+       - use snprintf instead of sprintf if configure tells us we have it
+
+                                  10/3
+                                  ----
+subst.c
+       - in list_remove_pattern, take into account the fact that one of the
+         list elements may be NULL, and don't free the result of
+         remove_pattern() without checking
+       - in remove_pattern, return savestring(param) if *param == '\0',
+         since callers expect to free() non-null return values
+
+                                  10/4
+                                  ----
+subst.c
+       - change verify_substring_values to make it clearer that the first
+         offset deals with array indices and the second deals with numbers
+         of elements, when doing array subranges with ${a[@]:e1:e2}
+
+array.c
+       - change array_subrange to make it explicit that the second offset
+         argument is a count of the desired number of elements, not an
+         ending index.  This deals with sparse arrays correctly.
+
+                                  10/6
+                                  ----
+variables.c
+       - fix memory leak in assign_in_env
+
+                                  10/8
+                                  ----
+subst.c
+       - in parameter_brace_expand, check that the last characters are `]}'
+         before checking for ${!array[@]}
+
+execute_cmd.c,builtins/source.def
+       - push and pop the args (BASH_ARGV and BASH_ARGC) when executing a
+         shell function or sourcing a script only when in debugging mode
+
+                                  10/11
+                                  -----
+arrayfunc.c
+       - make sure array_variable_name returns values for the SUBP and LENP
+         arguments if they're non-null, since callers expect to use them
+         even if the array subscript is bad
+
+error.c
+       - call exit_shell instead of sh_exit from parser_error and
+         report_error so the right things happen (running exit trap, doing
+         the right interactive cleanup, etc.)
+
+lib/readline/complete.c
+       - new variable, rl_completion_quote_character, set to any quote char
+         readline thinks it finds before any application completion
+         function is called
+       - new variable, rl_completion_suppress_quote, settable by an
+         application-specific completion function.  If set to non-zero, the
+         completion code does not append a closing quote in append_to_match
+
+lib/readline/readline.h
+       - extern declarations for rl_completion_quote_character and
+         rl_completion_suppress_quote
+
+bashline.c
+       - set rl_completion_suppress_quote in command_subst_completion_function
+         because that would be inserted before any closing "`" or ")", which
+         is somewhat disconcerting
+
+lib/readline/doc/rltech.texi
+       - documented rl_completion_suppress_quote and
+         rl_completion_quote_character
+
+                                  10/13
+                                  -----
+bashhist.c
+       - use sv_histchars instead of setting history_comment_char directly in
+         bash_initialize_history so assignments to $histchars made in
+         ~/.bashrc are honored
+
+                                  10/21
+                                  -----
+trap.c
+       - make sure run_exit_trap sets `running_trap' appropriately
+       - new variable, trap_saved_exit_value, set to last_command_exit_value
+         before running any trap commands; available to the rest of the
+         shell; use trap_saved_exit_value to replace some function-local
+         variables
+
+builtins/exit.def
+       - if the shell is running the exit trap, and no argument is given
+         to `exit', use trap_saved_exit_value as the exit status instead
+         of the last command exit value (which could be the previous command
+         run in the exit trap), as required by POSIX.2
+
+                                  10/25
+                                  -----
+doc/{bash.1,bashref.texi}
+       - add `alias' to the list of documented `assignment statement' builtins
+
+                                  11/1
+                                  ----
+doc/bash.1
+       - remove the `.' from the sample $PATH value
+
+parse.y
+       - make sure parse_compound_assignment prompts with $PS2 if it reads
+         a newline while parsing the compound assignment statement. Bug
+         reported by Stephane Chazelas
+       - parse_string_to_word_list now takes a new second argument: `int flags'
+       - new parser state flag: PST_COMPASSIGN; indicates that the shell is
+         parsing a compound assignment statement
+       - parse_string_to_word_list turns on PST_COMPASSIGN if `flags' arg
+         has low bit set
+       - turn PST_COMPASSIGN on and off in parse_compound_assignment
+
+externs.h
+       - change prototype declaration for parse_string_to_word_list
+
+arrayfunc.c
+       - change call to parse_string_to_word_list to add new flags arg
+
+general.c
+       - assignment() takes a new `flags' second argument
+       - if `flags' is non-zero, accept `[' as a legal assignment statement
+         starter character (for parsing compound array assignments)
+
+general.h
+       - add new argument to prototype declaration for assignment()
+
+parse.y,{subst,variables}.c, builtins/{setattr,declare}.def
+       - change calls to assignment() (parse.y calls with flags == 1 when
+         parser_state inlcudes PST_COMPASSIGN)
+
+arrayfunc.c
+       - in assign_array_var_from_string(), don't treat an expanded word
+         of the form [ind]=value specially unless the W_ASSIGNMENT flag is
+         set.  This means that words that are the result of expansions but
+         happen to have the same format as compound assignment statement
+         words will not be treated as such.  For instance
+
+               v='[12]=foobar'
+               a=( $v )
+
+         will result in a[0]='[12]=foobar' instead of a[12]=foobar.  This
+         is closer to how `regular' assignment statements are treated and
+         compatible with ksh93.  Bug reported by Stephane Chazelas
+
+shell.c
+       - new --protected argument, disables command substitution when used
+         with --wordexp (like --wordexp, it remains undocumented)
+       - change run_wordexp to turn on the W_NOCOMSUB flag in each word
+         to be expanded if protected_mode is set
+
+                                  11/7
+                                  ----
+doc/{bash.1,bashref.texi}
+       - clarified the language concerning inherited signal dispositions and
+         when traps are run
+
+support/shobj-conf
+       - slight changes to the darwin (Mac OS X) stanza for MacOS X 10.3
+         (for the readline shared library builds, which shares this script)
+
+lib/readline/histexpand.c
+       - change to make `^' behave as equivalent to word one, as csh does,
+         and as the documentation states
+
+lib/readline/display.c
+       - in update_line, make sure to use col_lendiff in all calculations
+         where the cursor position is concerned (like when calculating
+         the value of _rl_last_c_pos).  Fixes bug reported by Andreas
+         Schwab
+
+                                  11/12
+                                  -----
+trap.c
+       - make _run_trap_internal catch `return' builtin longjmps and clean
+         up before longjmping on to where the return was intended to go
+         (fixes bug with not turning off SIG_INPROGRESS flag when `return'
+         executed in trap command)
+
+                                  11/18
+                                  -----
+builtins/cd.def
+       - in posix mode, set errno to ENOTDIR if canonicalization fails,
+         unless the canonicalization functions leave it set to ENOENT
+
+                                  11/25
+                                  -----
+make_cmd.c
+       - in make_simple_command, don't blindly dereference element.redirect
+
+parse.y
+       - the list_terminator production now has an `int' value so it can be
+         used in other grammar productions
+       - add a rule that makes `time' on a line by itself time a null
+         command (this is iffy)
+
+                                  11/28
+                                  -----
+subst.c
+       - change the pattern substitution code (${var//pat/rep}) to use the
+         same pattern expansion function (getpattern()) as the pattern
+         removal expansions.  This has the effect of no longer performing
+         quote removal on the pattern before trying to match it.  This
+         fixes an incompatibility with ksh93 reported on comp.unix.shell
+
+nojobs.c
+       - add replacement function for siginterrupt on the off chance that a
+         system has posix signals but lacks siginterrrupt
+
+lib/readline/display.c
+       - fix from Tim Waugh at Red Hat to speed up inserting characters into
+         long lines in a UTF-8 environment by optimizing the calculation of
+         the first difference between old and new lines by checking to see
+         whether the old line is a subset of the new
+
+                                  11/29
+                                  -----
+lib/malloc/stats.c
+       - break code that opens file (and interprets %p) into separate function
+         _imalloc_fopen(char *s, char *fn, char *def, char *defbuf, size_t defsiz)
+         for use by rest of library
+       - default stats file is now `stats.PID'
+
+lib/malloc/trace.c
+       - new function, malloc_set_tracefn (char *s, char *fn), sets tracing
+         to the file named by FN (with %p interpolated as the pid), using
+         some default if FN is NULL
+
+lib/malloc/shmalloc.h
+       - new extern declaration for malloc_set_tracefn
+
+                                  12/4
+                                  ----
+execute_cmd.c
+       - combined several common strings from do_piping() into one
+         dup_error() function
+
+builtins/common.[ch]
+       - new function, `sh_notbuiltin(s)' prints error message about s not
+         being a shell builtin
+
+builtins/{builtin,enable}.def
+       - call sh_notbuiltin instead of using literal string
+
+{arrayfunc,expr,error}.c
+       - use one string variable for `bad array subscript' error message; use
+         in calls to various error reporting functions
+
+Makefile.in
+       - add variables for localedir and the PACKAGE_* variables, auto-set
+         by configure
+
+configure.in
+       - un-cache values for gettext, textdomain, and bindtextdomain if they're
+         not in libc but in libintl so the right variables get set
+
+bashintl.h
+       - add necessary defines for marking strings to be translated using
+         gettext
+
+locale.c
+       - set textdomain and directory in set_default_locale
+       - don't call textdomain with the value of $TEXTDOMAIN, since we don't
+         want to override the default domain ("bash")
+       - don't call bindtextdomain unless default_domain already has a value
+       - when translating $"..." strings, use dgettext with the script's
+         default domain (value of $TEXTDOMAIN)
+
+                                  12/9
+                                  ----
+builtins/mkbuiltins.c
+       - include "bashintl.h" in the generated "builtins.c"
+
+support/{config.rpath,mkinstalldirs}
+       - new files to support gettext i18n
+
+ABOUT-NLS
+       - new readme file for gettext internationalization
+
+po/{Makefile.in.in,Rules-quot,boldquot.sed,en@boldquot.header,en@quot.header,insert-header.sin,quot.sed,remove-potcdate.sin}
+po/{POTFILES.in,bash.pot}
+       - new files for gettext
+
+lib/intl
+       - new directory, with libintl stuff from gettext
+
+aclocal.m4
+       - add m4 files from gettext distribution needed by libintl
+
+configure.in
+       - create po/Makefile.in and lib/intl/Makefile in AC_OUTPUT
+       - add call to AM_GNU_GETTEXT to initialize gettext stuff
+
+Makefile.in
+       - use mkinstalldirs instead of mkdirs in the `installdirs' target
+       - changes for intl/ and po/ subdirectories in build and install
+       - changes to have libintl linked in, as determined by configure
+       - changes to have libintl built, just in case it's used (though I'd
+         rather not)
+
+                                  12/10
+                                  -----
+config.h.in
+       - additional #defines required by the libintl library
+       - add ENABLE_NLS define for AM_GNU_GETTEXT
+       - take out defines for HAVE_{BINDTEXTDOMAIN,GETTEXT,TEXTDOMAIN}
+
+configure.in
+       - removed old tests for libintl and gettext/textdomain/bindtextdomain
+
+locale.c
+       - remove HAVE_GETTEXT code; we have gettext unconditionally now
+
+bashintl.h
+       - change to include "gettext.h" and remove the conditional code based
+         on whether or not gettext is present
+
+                                  12/16
+                                  -----
+lib/readline/vi_mode.c
+       - fix problem with rl_vi_eWord that caused it to skip over the last
+         character of a word if invoked while point was on the next-to-last
+         character
+
+                                  12/18
+                                  -----
+{arrayfunc,bashhist,bashline,error,eval,execute_cmd,expr,general,input,jobs}.c
+{mailcheck,make_cmd,nojobs,pcomplete,pcomplib,print_cmd,redir,shell,sig}.c
+{subst,test,trap,variables,version,xmalloc}.c
+parse.y
+builtins/{common,evalfile,getopt}.c
+builtins/{bind,break,caller,cd,complete,declare,enable,exec,exit,fc,fg_bg}.def
+builtins/{hash,help,history,jobs,kill,printf,pushd,read,return,set,setattr}.def
+builtins/{shift,shopt,source,suspend,type,ulimit,umask}.def
+lib/sh/{fmtulong,netopen}.c
+       - include "bashintl.h" for gettext defines
+
+Makefile.in
+       - add `-DBUILDTOOL' to CFLAGS for buildversion.o
+
+bashintl.h
+       - if `BUILDTOOL' is defined, define ENABLE_NLS to 0 so we don't have
+         to compile and link in the gettext stuff
+
+Makefile.in,lib/sh/Makefile.in,builtins/Makefile.in
+       - update dependencies on bashintl.h and include/gettext.h
+
+                                  12/19
+                                  -----
+{arrayfunc,bashhist,bashline,error,eval,execute_cmd,expr,general,input,jobs}.c
+{mailcheck,make_cmd,nojobs,pcomplete,pcomplib,print_cmd,redir,shell,sig}.c
+{subst,test,trap,variables,version,xmalloc}.c
+builtins/{common,evalfile,getopt}.c
+builtins/{bind,break,caller,cd,complete,declare,enable,exec,exit,fc,fg_bg}.def
+builtins/{hash,help,history,jobs,kill,let,printf,pushd,read,return,set}.def
+builtins/{setattr,shift,shopt,source,suspend,type,ulimit,umask}.def
+lib/sh/{fmtulong,netopen}.c
+lib/malloc/{malloc,stats,table,watch}.c
+       - mark up strings in source files for gettext processing
+
+lib/malloc/imalloc.h
+       - include "bashintl.h" if SHELL is defined, otherwise make _(x) an
+         identity define
+
+lib/malloc/Makefile.in
+       - add dependencies on ${topdir}/bashintl.h and ${BASHINCDIR}/gettext.h
+
+                                  12/21
+                                  -----
+bashline.c
+       - make sure we index into rl_line_buffer with indexes > 0 in
+         attempt_shell_completion
+
+                                  12/31
+                                  -----
+Makefile.in
+       - descend into `po' and run make recursively for the various clean
+         targets
+
+                                1/4/2004
+                                --------
+include/shmbutil.h
+       - two new macros:  BACKUP_CHAR(str, strsize, i), which backs up one
+         multibyte character in STR starting at index I, and
+         BACKUP_CHAR_P(str, strsize, p), which backs up one multibyte
+         character in STR starting at P, which is a char *
+
+                                   1/6
+                                   ---
+pcomplete.c
+       - in pcomp_filename_completion_function, use the quote character
+         readline found (and assigned to rl_complete_quote_character) when
+         dequoting the filename by a completion call from readline (when
+         rl_dispatching != 0)
+
+bashline.c
+       - ditto for bash_directory_completion_matches
+
+                                   1/7
+                                   ---
+lib/readline/complete.c
+       - new variable,  rl_completion_found_quote, set to non-zero value if
+         readline finds what it thinks is quoting in the word to be completed
+
+lib/readline/readline.h
+       - extern declaration for rl_completion_found_quote
+
+                                   1/8
+                                   ---
+lib/readline/doc/rltech.texi
+       - documented rl_completion_found_quote
+
+lib/readline/complete.c
+       - in compute_lcd_of_matches, if it looks like what the user typed was
+         dequoted before generating filename matches, dequote the user's
+         text again before figuring out the case-insensitive lcd
+
+                                   1/9
+                                   ---
+lib/readline/display.c
+       - fix from Edward Catmur <ed@catmur.co.uk> to logic that handles
+         invisible characters in prompt string.  Original code was wrong
+         about local_prompt_prefix; it gave incorrect results when prompt
+         contained invisible characters after a line break
+
+                                  1/10
+                                  ----
+subst.c
+       - new function, mb_substring(), does character (possibly multibyte)
+         oriented rather than strictly byte-oriented substring extraction.
+         The passed indices, rather than strictly indexing into the string,
+         indicate character positions that need to be calculated.  From
+         Tim Waugh <twaugh@redhat.com>
+       - change parameter_brace_substring to use mb_substring if necessary
+
+included/shmbutil.h
+       - new define SADD_MBQCHAR_BODY, common code for adding a quoted
+         (preceded by CTLESC) multibyte character to an accumulating string
+         in the subst.c expansion code
+
+subst.c
+       - use SADD_MBQCHAR_BODY in expand_word_internal
+       - new static function, mb_getcharlens, allocates and returns an array
+         of character lengths for (possibly multibyte) characters in the
+         argument string
+       - change pattern matching operations to use while loops instead of
+         for loops to handle multibyte characters better (no more simple
+         increment or decrement)
+       - change pattern matching operations to use multibyte character
+         operations instead of simple increments and decrements.  Don't
+         use BACKUP_CHAR_P -- use the mblen array instead, because that
+         avoids the N**2 behavior of having to count from the beginning
+         of the string each time you want to back up one character.  Changes
+         to remove_pattern and match_pattern
+
+                                  1/12
+                                  ----
+lib/readline/display.c
+       - make expand_prompt count multbyte characters in the prompt string
+         by using _rl_find_next_mbchar (and copying possibly more than one
+         byte) instead of a simple increment and single byte copy
+
+                                  1/13
+                                  ----
+lib/readline/display.c
+       - expand_prompt takes a new reference argument -- it returns
+         the actual count of (possibly multibyte) characters displayed
+         on the screen
+       - don't short-circuit in expand_prompt unless we're not going to
+         be using any multibyte characters
+       - change calls  to expand_prompt to pass an argument for the
+         number of physical characters the prompt occupies
+         (prompt_physical_chars)
+       - initialize `lpos' (the physical cursor position) from
+         prompt_physical_chars in rl_redisplay
+
+lib/readline/mbutil.c
+       - in _rl_find_prev_mbchar_internal, if mbrtowc returns -1 or -2, and
+         we assume that the character is a single-byte char, make sure we
+         update `prev' so it doesn't get lost.  Fixes problems encountered
+         when a non-ascii char is the last char on the line and we're moving
+         back past it with ^B, and other display problems caused by the same
+         situation
+
+                                  1/15
+                                  ----
+lib/readline/doc/rltech.texi
+       - document RL_PROMPT_START_IGNORE and RL_PROMPT_END_IGNORE in the
+         description of rl_expand_prompt()
+
+                                  1/20
+                                  ----
+bashline.c
+       - in initialize_readline, make sure M-C-j and M-C-m are still bound to
+         vi-editing-mode before unbinding them -- they may have been rebound
+         in an inputrc
+
+variables.c
+       - in unbind_variable, unset attributes other than `local' and exported
+         (if the variable came from a temporary environment) when unsetting a
+         local variable inside a function
+
+                                  1/21
+                                  ----
+configure.in
+       - add libintl build directory to the list of include directories if
+         it's being built (using INTL_BUILDDIR)
+
+Makefile.in,{builtins,lib/{sh,malloc}}/Makefile.in
+       - substitute LIBBUILD as ${BUILD_DIR}/${LIBSUBDIR}
+       - define INTL_BUILDDIR as ${LIBBUILD}/intl
+
+{builtins,lib/sh}/Makefile.in
+       - make sure INTL_INC is added to  the list of include directories
+       - make sure INTL_LIBSRC is defined with the correct value
+
+{configure,Makefile,{builtins,lib/sh}/Makefile}.in
+       - substitute LIBINTL_H as ${INTL_BUILDDIR}/libintl.h
+
+Makefile.in,builtins/Makefile.iin
+       - all files depending on bashintl.h also depend on ${LIBINTL_H}
+         (which may be empty)
+
+Makefile.in
+       - make a rule telling how to build lib/intl/libintl.h if necessary
+
+                                  1/24
+                                  ----
+builtins/read.def
+       - make sure that the array name supplied as an argument to -a is a
+         valid identifier
+
+parse.y
+       - make the \W expansion abbreviate $HOME with a ~ (seems to be more
+         useful)
+
+doc/{bash.1,bashref.texi}
+       - document new behavior of \W
+
+subst.c
+       - make sure parameter_brace_expand_rhs uses the first character of
+         $IFS when making the string to return from the expanded word
+         (which, in the case of "$@" or $@, contains multiple words that
+         need to be separated)
+
+                                  1/25
+                                  ----
+builtins/common.c
+       - change get_job_spec to make `%' by itself or an empty argument
+         return NO_JOB
+
+jobs.h
+       - new possible value for a job spec return value:  BAD_JOBSPEC
+         (for syntactically invalid specs, like the empty string)
+
+shell.c
+       - in open_shell_script, check to see whether or not we can find and
+         open the filename argument before setting dollar_vars[0] or
+         manipulating BASH_SOURCE, so the error messages come out better
+
+subst.c
+       - in string_list_internal, short-circuit right away to savestring()
+         if the list only has a single element
+
+                                  1/28
+                                  ----
+lib/readline/rltypedefs.h
+       - new set of typedefs for functions returning char * with various
+         arguments (standard set)
+
+lib/readline/complete.c
+       - new function pointer, rl_completion_word_break_hook, called by
+         _rl_find_completion_word, used to set word break characters at
+         completion time, allowing them to be position-based
+
+lib/readline/doc/rltech.texi
+       - documented rl_completion_word_break_hook
+
+lib/readline/kill.c
+       - added new rl_unix_filename_rubout, which deletes one filename
+         component in a Unix pathname backward (delimiters are whitespace
+         and `/')
+
+lib/readline/readline.h
+       - extern declaration for rl_unix_filename_rubout
+
+lib/readline/funmap.c
+       - new bindable readline command `unix-filename-rubout'
+
+lib/readline/doc/{readline.3,rluser.texi},doc/bash.1
+       - documented `unix-filename-rubout'
+
+                                  1/29
+                                  ----
+lib/readline/histexpand.c
+       - change history_tokenize_internal to handle non-whitespace delimiter
+         characters by creating separate fields (like the shell does when
+         splitting on $IFS)
+
+                                  1/30
+                                  ----
+lib/glob/xmbsrtowcs.c
+       - new function, xdupmbstowcs, for convenience:  calls xmbsrtowcs
+         while allocating memory for the new wide character string
+       - some small efficiency improvments to xmbsrtowcs
+
+include/shmbutil.h
+       - extern declaration for xdupmbstowcs
+
+lib/glob/strmatch.h
+       - include config.h for definition of HANDLE_MULTIBYTE
+       - remove the HAVE_LIBC_FNM_EXTMATCH tests
+       - new extern declaration for wcsmatch(whchar_t *, wchar_t *, int)
+
+configure.in
+       - remove call to BASH_FUNC_FNMATCH_EXTMATCH; it's no longer used
+
+lib/glob/smatch.c
+       - simplify xstrmatch() by using xdupmbstowcs() instead of inline code
+
+lib/glob/glob.c
+       - modify mbskipname() to avoid the use of alloca
+       - simplify mbskipname() by using xdupmbstowcs() instead of inline code
+       - simplify glob_pattern_p() by using xdupmbstowcs() instead of
+         inline code
+       - fix memory leak in wdequote_pathname
+       - simplify wdequote_pathname() by using xdupmbstowcs() instead of
+         inline code
+
+lib/glob/strmatch.c
+       - new function, wcsmatch(), `exported' wide-character equivalent of
+         strmatch()
+
+subst.c
+       - old match_pattern is now match_upattern
+       - match_pattern now either calls match_upattern or converts
+         mbstrings to wide chars and calls match_wpattern
+       - match_upattern reverted to old non-multibyte code
+       - new function: match_pattern_wchar, wide character version of
+         match_pattern_char
+
+                                   2/1
+                                   ---
+subst.c
+       - old remove_pattern is now remove_upattern
+       - remove_upattern reverted to old non-multibyte code (pre-Waugh patch)
+       - new multibyte version of remove_pattern: remove_wpattern
+       - remove_pattern now calls either remove_upattern or converts a
+         multibyte string to a wide character string and calls
+         remove_wpattern
+       - new function, wcsdup, wide-character version of strdup(3)
+
+                                   2/4
+                                   ---
+print_cmd.c
+       - temporarily translate a >&filename redirection from
+         r_duplicating_output_word to r_err_and_out (as the expansion code
+         in redir.c does) so it prints without a leading `1' (file
+         descriptor)
+
+                                   2/5
+                                   ---
+aclocal.m4
+       - add a check for wcsdup to BASH_CHECK_MULTIBYTE
+
+config.h.in
+       - add HAVE_WCSDUP define
+
+                                   2/9
+                                   ---
+builtins/shift.def
+       - fix a call to sh_erange that possibly dereferences a NULL pointer
+
+                                  2/12
+                                  ----
+general.c
+       - start at a general set of file property checking functions:
+         file_isdir(), file_iswdir() (is writable directory)
+
+general.h
+       - extern declarations for new functions
+
+lib/sh/tmpfile.c
+       - use file_iswdir() to make sure the temporary directory used for
+         here documents and other temp files is writable in get_sys_tmpdir()
+
+                                  2/17
+                                  ----
+bashline.c
+       - fix conditional binding of emacs-mode M-~ -- there is a default
+         binding for it (rl_tilde_expand), so a straight call to
+         rl_bind_key_if_unbound_in_map doesn't do the right thing
+
+                                  2/27
+                                  ----
+[bash-3.0-beta1 released]
+
+                                  2/29
+                                  ----
+subst.c
+       - fixed expansion so referencing $a, when a is an array variable
+         without an element assigned to index 0, exits the shell when
+         `-u' is enabled
+
+expr.c
+       - make the exponentiation operator (**) associative, so things like
+         2**3**4  work right (change `if' to `while')
+
+                                   3/3
+                                   ---
+lib/sh/strftime.c
+       - SCO Unix 3.2, like Solaris, requires that the system's `timezone'
+         variable be declared as long
+
+lib/readline/{bind,histfile,input,parens}.c
+       - changes for Tandem (including `floss.h' (?))
+
+                                   3/4
+                                   ---
+subst.c
+       - change param_expand to quote the entire expanded string instead
+         of just the escape characters if the expansion appears between
+         double quotes or in a here-document (for simple variable expansions
+         or expansions of positional parameters)
+
+                                   3/8
+                                   ---
+subst.c
+       - analogous changes to parameter_brace_expand_word to fix the same
+         quoting problem as on 3/4; fix callers to understand that  the
+         value returned might be quoted now and should be dequoted if
+         necessary
+       - add a `quoted' argument to get_var_and_type, change callers
+       - change today's fix and fix from 3/4 to not call quote_string if the
+         value is "" (because quote_string turns that into CTLNUL\0)
+
+                                   3/9
+                                   ---
+builtins/cd.def
+       - resetpwd() now takes a `caller' argument so it can be used by pwd
+         as well as cd
+       - change pwd_builtin to call resetpwd() if sh_physpath() fails to
+         return a valid pathname
+
+                                  3/14
+                                  ----
+expr.c
+       - reworked exp0 and readtok() to make post-increment and post-decrement
+         into real tokens, which may be separated from their accompanying
+         variables by whitesapce
+       - made analogous changes to readtok() to make pre-increment and
+         pre-decrement work when separated from their accompanying identifier
+         by whitespace
+
+                                  3/18
+                                  ----
+lib/readline/misc.c
+       - in rl_maybe_unsave_line, don't force rl_replace_line to clear
+         the undo_list, since it might point directly at an undo list
+         from a history entry (to which we have no handle)
+
+                                  3/19
+                                  ----
+lib/readline/display.c
+       - rl_save_prompt and rl_restore_prompt now save and restore the value
+         of prompt_physical_chars
+       - set prompt_physical_chars in rl_redisplay when expand_prompt has
+         not been called (e.g., when rl_display_prompt is set and is not
+         equal to rl_prompt, like when searching)
+
+lib/readline/histexpand.c
+       - don't call add_history in history_expand if the `:p' modifier is
+         supplied; leave that to the calling application.  This means that
+         `history -p', for example, will not add anything to the history
+         list (as documented), nor will history expansions invoked by
+         emacs-mode M-C-e line editing
+
+config-bot.h
+       - check whether HAVE_DECL_SYS_SIGLIST is defined to 1 rather than just
+         defined, to work around newer versions of autoconf defining it to 0
+
+config.h.in
+       - change default status of HAVE_MALLOC to #undef instead of #define
+
+bashhist.c
+       - extern declarations for rl_done and rl_dispatching
+       - don't call re_edit from pre_process_line unless rl_dispatcing is zero,
+         so we don't call it from something like shell-expand-line
+       - change pre_process_line to add an expanded history specification
+         that returned `print only' to the history list, since history_expand
+         no longer does it (and, when using readline, do it only when
+         rl_dispatching is zero)
+
+                                  3/22
+                                  ----
+config.h.in,aclocal.m4
+       - change bash-specific functions that look in struct dirent to define
+         HAVE_STRUCT_DIRENT_xxx, like AC_CHECK_MEMBERS does (though the
+         functions are otherwise the same)
+       - new function, BASH_STRUCT_DIRENT_D_NAMLEN, define
+         HAVE_STRUCT_DIRENT_D_NAMLEN if struct dirent has a `d_namlen' member
+
+configure.in
+       - call BASH_STRUCT_DIRENT_D_NAMLEN
+
+include/posixdir.h
+       - use new and renamed HAVE_STRUCT_DIRENT_D_xxx defines
+
+                                   4/7
+                                   ---
+builtins/cd.def
+       - ensure that we print out a non-null pathname after getting a
+         directory from CDPATH and canonicalizing it (e.g., if the result
+         exceeds PATH_MAX in length and the_current_working_directory is
+         set to NULL)
+
+                                  4/12
+                                  ----
+print_cmd.c
+       - new function to print out assignment statements when `set -x' has
+         been enabled: xtrace_print_assignment
+
+externs.h
+       - extern declaration for xtrace_print_assignment
+
+                                  4/13
+                                  ----
+{subst,variables}.c
+       - call xtrace_print_assignment instead of using inline code
+
+jobs.c
+       - if turning on job control when it was previously off, set
+         pipeline_pgrp to 0 in set_job_control so make_child puts
+         subsequent children in their own process group
+
+                                  4/14
+                                  ----
+general.c
+       - new function, legal_alias_name, called to decide whether an
+         argument to add_alias is a valid alias name -- essentially any
+         character except one which must be quoted to the shell parser
+         and `/'
+
+general.h
+       - new extern declaration for legal_alias_name
+
+builtins/alias.def
+       - `unalias' now returns failure status if no NAME arguments are
+         supplied and -a is not given
+       - call legal_alias_name to make sure alias name is valid before
+         calling add_alias from alias_builtin
+
+                                  4/19
+                                  ----
+include/shmbutil.h
+       - include <config.h> for definition of HANDLE_MULTIBYTE rather than
+         duplicating logic
+
+                                  4/20
+                                  ----
+
+doc/{bash.1,bashref.texi}
+       - make sure $0 is consistently referred to as a `special parameter'
+       - document which characters are now not allowed in alias names
+
+                                  4/23
+                                  ----
+
+builtins/{jobs,kill,wait}.def
+       - removed requirement that job control be enabled to use job control
+         notation, as SUSv3 implies
+
+subst.c
+       - based on a message from David Korn, change param_expand to not call
+         string_list_dollar_star if the only quoting is Q_HERE_DOCUMENT --
+         quoted here documents are like double quoting, but not exactly
+       - analogous changes to list_remove_pattern and pos_params
+
+                                  4/24
+                                  ----
+lib/readline/doc/rluser.texi
+       - fix error in description of emacs-mode C-xC-e command (uses $VISUAL
+         instead of $FCEDIT)
+
+                                  4/28
+                                  ----
+support/bashbug.sh
+       - integrate a patch from Stefan Nordhausen
+         <nordhaus@informatik.hu-berlin.de> that reduces race conditions
+         by using a temporary directory inside $TMPDIR and creating the
+         temp files in that
+
+                                  4/30
+                                  ----
+builtins/common.c
+       - use pathconf(".", _PC_PATH_MAX) where available to size the argument
+         to getcwd() rather than using a straight PATH_MAX
+
+builtins/cd.def
+       - if get_working_directory fails and returns null (causing resetpwd
+         to return NULL), use set_working_directory to set $PWD to the
+         absolute pathname for which chdir just succeeded
+
+                                   5/1
+                                   ---
+lib/readline/vi_mode.c
+       - in rl_vi_change_to, call _rl_vi_set_last with rl_numeric_arg instead
+         of `last', since they're equal at call time and rl_vi_domove can
+         change rl_numeric_arg (which vi apparently updates).  Fixes redo bug
+         of `c2....' reported by Marion Berryman <mwberryman@copper.net>
+
+                                   5/4
+                                   ---
+parse.y
+       - fix decode_prompt_string to properly deal with strftime() returning 0
+
+                                   5/6
+                                   ---
+variables.c
+       - in make_local_array_variable, return an already-existing local array
+         variable immediately rather than creating a new array (causing a
+         memory leak)
+
+                                   5/8
+                                   ---
+lib/readline/vi_mode.c
+       - change rl_vi_domove to set rl_explicit_arg before calling
+         rl_digit_loop1 so that multi-digit numeric arguments work right
+       - _rl_vi_last_command is no longer static
+
+lib/readline/rlprivate.h
+       - new extern declaration for _rl_vi_last_command
+
+lib/readline/text.c
+       - change rl_newline to only call _rl_vi_reset_last if the last command
+         (_rl_vi_last_command) is not a text modification command.  This lets
+         the last-command and last-argument work across command lines
+
+                                  5/13
+                                  ----
+builtins/common.c
+       - use getcwd(0,0) rather than providing a fixed pathname with a fixed
+         length (PATH_MAX) so getcwd() will allocate sufficient memory
+
+aclocal.m4
+       - change BASH_FUNC_GETCWD to check whether or not getcwd(0,0) will
+         allocate memory for the returned value -- nobody implements that
+         and getcwd-via-popen, so it should capture the old test as well
+
+                                  5/27
+                                  ----
+
+builtins/trap.def
+       - the historical behavior of assuming that a signal's handling should
+         be set to its original disposition is only in effect if a single
+         argument is given, otherwise the first argument is assumed to be a
+         command to execute
+       - when in posix mode, if trap gets a single argument, display an
+         error message and return EX_USAGE
+       - change the help message and usage string to better explain trap's
+         behavior
+
+doc/{bash.1,bashref.texi}
+       - describe the new default behavior when the first argument is a
+         signal spec
+       - note that signal names are case insensitive and the SIG prefix is
+         optional in arguments to `trap'
+       - note that signal name arguments to `kill' are case-insensitive
+
+lib/readline/display.c
+       - make sure rl_on_new_line_with_prompt sets rl_display_prompt to
+         rl_prompt (just to make sure it's set)
+       - have rl_on_new_line_with_prompt use local_prompt if it's set
+
+                                   6/2
+                                   ---
+subst.c
+       - in string_extract_double_quoted, cope with extract_delimited_string
+         returning NULL, as it can when attempting completion on an unclosed
+         command substitution
+
+                                  6/24
+                                  ----
+lib/readline/complete.c
+       - change print_filename to add a `/' to listed directory names if
+         `mark-directories' has been enabled
+
+builtins/umask.def
+       - make sure that the mask passed to parse_symbolic_mode has all but
+         the operative low eight bits masked off, to avoid complementing
+         all 0s to -1, which is the error return code.  This makes things
+         like `a=rwx' and `ugo=rwx' work and turn off the umask
+
+                                  6/26
+                                  ----
+builtins/getopts.def
+       - when `getopts' reaches the end of options, unset OPTARG before
+         returning EOF.  In response to a bug report from Apple
+
+configure.in
+       - when cross-compiling, don't set CPPFLAGS_FOR_BUILD and
+         LDFLAGS_FOR_BUILD from CPPFLAGS and LDFLAGS, respectively, since
+         those are for the target instead of the build platform (report
+         from robert@schwebel.de)
+
+shell.c
+       - a shell whose standard error (but not standard output) is directed
+         to a terminal should be interactive, according to POSIX/SUS.  This
+         means that sh > sh.out will start an interactive shell.  Bug report
+         from llattanzi@apple.com
+
+doc/{bash.1,bashref.texi}
+       - change mention of standard output to standard error in definition
+         of interactive shell
+
+lib/readline/vi_mode.c
+       - new convenience function, rl_vi_start_inserting, calls
+         _rl_vi_set_last to save the last textmod command state and then calls
+         rl_vi_insertion_mode to enter insert mode
+       - change functions to use rl_vi_start_inserting
+
+lib/readline/readline.h
+       - extern declaration for rl_vi_start_inserting
+
+bashline.c
+       - new function for vi-mode completion, bash_vi_complete.  Does
+         filename expansion as POSIX specifies, unlike the default readline
+         bindings (which don't know about globbing).  Bound to `\', `*',
+         and `=' in vi command keymap.  Internals very similar to
+         rl_vi_complete; just calls bash glob expansion functions
+
+lib/readline/vi_mode.c
+       - change rl_vi_change_char so that an entire change is a single
+         undoable event, rather than each individual change in a [count]r
+         command
+       - fix rl_vi_change_char so that replacing characters up to EOL works
+         rather than generating rl_ding
+       - fix rl_vi_change_case so that replacing characters up to EOL works
+         rather than generating rl_ding
+
+                                  6/28
+                                  ----
+builtins/echo.def
+       - call clearerr(stdout) before writing anything and testing its
+         failure or success
+
+                                  6/29
+                                  ----
+bashline.c
+       - only set rl_explicit_arg in bash_glob_complete_word if readline is
+         in emacs mode; let bash_vi_complete take care of setting it in vi
+         mode
+       - fix bash_vi_complete to only set rl_explicit_arg unless the posix
+         conditions are met: no globbing characters in the vi `bigword'
+         being completed
+
+                                  6/30
+                                  ----
+[bash-3.0-rc1 released]
+
+                                   7/1
+                                   ---
+lib/readline/complete.c
+       - make sure `extension_char' is initialized before deciding whether
+         or not the append a `/' to a possible completion when visible-stats
+         is not enabled
+
+                                   7/2
+                                   ---
+subst.c
+       - fix a boundary overrun in string_extract_double_quoted that could
+         occur when the word completion code attempts to expand an incomplete
+         construct (like a quoted unclosed command substitution)
+
+                                   7/4
+                                   ---
+subst.c
+       - set tempenv_assign_error to non-zero if an assignment to the
+         temporary environment fails for some reason (e.g., attempted
+         assignment to a readonly variable)
+
+execute_cmd.c
+       - fix execute_simple_command to force a non-interactive shell in
+         POSIX mode to exit if an assignment to the temporary environment
+         preceding a special builtin fails (bug report from
+         llattanzi@apple.com)
+
+                                   7/5
+                                   ---
+bashline.c
+       - in bash_directory_completion_hook, don't perform word expansions
+         if the filename appears to have been completed from the file
+         system rather than typed in by the user.  Bug reported by Tim
+         Waugh <twaugh@redhat.com>
+
+                                   7/7
+                                   ---
+lib/readline/misc.c
+       - if _rl_maybe_save_line is being asked to save a line other than
+         what's already saved, free up the current saved line and save the
+         current contents of rl_line_buffer.  Bug reported by
+         llattanzi@apple.com
+
+                                  7/12
+                                  ----
+lib/readline/input.c
+       - do better EOF detection in rl_gather_tyi -- if a read returns 0 when
+         the fd is in non-blocking mode, stuff an EOF into the input stream
+         (reported by mattias@virtutech.se)
+
+                                  7/13
+                                  ----
+lib/readline/vi_mode.c
+       - make sure rl_vi_put honors `count' arguments and yanks things
+         multiple times if requested
+
+                                  7/16
+                                  ----
+builtins/umask.def
+       - make sure that the `who' part of the umask symbolic mode argument
+         defaults to `a' if it's missing
+
+flags.c
+       - make sure that maybe_make_restricted only gets called after the
+         shell is initialized, so `bash -r' doesn't result in inappropriate
+         error messages
+
+[bash-3.0 frozen]
+
+                                  7/27
+                                  ----
+doc/Makefile.in
+       - small fixes
+
+[bash-3.0 released]
+
index 59b510735de613c4182fcade0f62822adeb9ed71..83a86c70ddce301944d2b719a537c9d54504bfe5 100644 (file)
--- a/MANIFEST
+++ b/MANIFEST
@@ -381,6 +381,7 @@ lib/sh/casemod.c    f
 lib/sh/clktck.c                f
 lib/sh/clock.c         f
 lib/sh/eaccess.c       f
+lib/sh/fdprintf.c      f
 lib/sh/fmtullong.c     f
 lib/sh/fmtulong.c      f
 lib/sh/fmtumax.c       f
@@ -746,12 +747,15 @@ tests/array4.sub  f
 tests/array5.sub       f
 tests/array6.sub       f
 tests/array7.sub       f
+tests/array8.sub       f
 tests/array-at-star    f
 tests/array2.right     f
 tests/assoc.tests      f
 tests/assoc.right      f
 tests/assoc1.sub       f
 tests/assoc2.sub       f
+tests/assoc3.sub       f
+tests/assoc4.sub       f
 tests/braces.tests     f
 tests/braces.right     f
 tests/builtins.tests   f
@@ -766,14 +770,24 @@ tests/source5.sub f
 tests/source6.sub      f
 tests/case.tests       f
 tests/case.right       f
+tests/casemod.tests    f
+tests/casemod.right    f
 tests/comsub.tests     f
 tests/comsub.right     f
+tests/comsub-eof.tests f
+tests/comsub-eof0.sub  f
+tests/comsub-eof1.sub  f
+tests/comsub-eof2.sub  f
+tests/comsub-eof3.sub  f
+tests/comsub-eof.right f
 tests/comsub-posix.tests       f
 tests/comsub-posix.right       f
 tests/comsub-posix1.sub        f
 tests/cond.tests       f
 tests/cond.right       f
 tests/cond-regexp.sub  f
+tests/coproc.tests     f
+tests/coproc.right     f
 tests/cprint.tests     f
 tests/cprint.right     f
 tests/dbg-support.right        f
@@ -786,6 +800,7 @@ tests/dollar-at1.sub        f
 tests/dollar-at2.sub   f
 tests/dollar-star1.sub f
 tests/dollar-star2.sub f
+tests/dollar-star3.sub f
 tests/dollar.right     f
 tests/dstack.tests     f
 tests/dstack.right     f
@@ -933,9 +948,12 @@ tests/run-assoc            f
 tests/run-braces       f
 tests/run-builtins     f
 tests/run-case         f
+tests/run-casemod      f
 tests/run-comsub       f
+tests/run-comsub-eof   f
 tests/run-comsub-posix f
 tests/run-cond         f
+tests/run-coproc       f
 tests/run-cprint       f
 tests/run-dbg-support  f
 tests/run-dbg-support2 f
index dcc8914f721bfaed8f22a9e57d64dea478fb4fd8..fcdf044eda7413998f933ad66449028015091228 100644 (file)
--- a/MANIFEST~
+++ b/MANIFEST~
@@ -746,8 +746,15 @@ tests/array4.sub   f
 tests/array5.sub       f
 tests/array6.sub       f
 tests/array7.sub       f
+tests/array8.sub       f
 tests/array-at-star    f
 tests/array2.right     f
+tests/assoc.tests      f
+tests/assoc.right      f
+tests/assoc1.sub       f
+tests/assoc2.sub       f
+tests/assoc3.sub       f
+tests/assoc4.sub       f
 tests/braces.tests     f
 tests/braces.right     f
 tests/builtins.tests   f
@@ -762,14 +769,24 @@ tests/source5.sub f
 tests/source6.sub      f
 tests/case.tests       f
 tests/case.right       f
+tests/casemod.tests    f
+tests/casemod.right    f
 tests/comsub.tests     f
 tests/comsub.right     f
+tests/comsub-eof.tests f
+tests/comsub-eof0.sub  f
+tests/comsub-eof1.sub  f
+tests/comsub-eof2.sub  f
+tests/comsub-eof3.sub  f
+tests/comsub-eof.right f
 tests/comsub-posix.tests       f
 tests/comsub-posix.right       f
 tests/comsub-posix1.sub        f
 tests/cond.tests       f
 tests/cond.right       f
 tests/cond-regexp.sub  f
+tests/coproc.tests     f
+tests/coproc.right     f
 tests/cprint.tests     f
 tests/cprint.right     f
 tests/dbg-support.right        f
@@ -782,6 +799,7 @@ tests/dollar-at1.sub        f
 tests/dollar-at2.sub   f
 tests/dollar-star1.sub f
 tests/dollar-star2.sub f
+tests/dollar-star3.sub f
 tests/dollar.right     f
 tests/dstack.tests     f
 tests/dstack.right     f
@@ -925,12 +943,16 @@ tests/run-arith-for       f
 tests/run-arith                f
 tests/run-array                f
 tests/run-array2       f
+tests/run-assoc                f
 tests/run-braces       f
 tests/run-builtins     f
 tests/run-case         f
+tests/run-casemod      f
 tests/run-comsub       f
+tests/run-comsub-eof   f
 tests/run-comsub-posix f
 tests/run-cond         f
+tests/run-coproc       f
 tests/run-cprint       f
 tests/run-dbg-support  f
 tests/run-dbg-support2 f
index 8251d39fd7d6519cb5a63e05cc263984e5eccc18..a750ea97114f8c161dbe5499483c1613d385a7b9 100644 (file)
@@ -213,7 +213,7 @@ SHLIB_SOURCE =      ${SH_LIBSRC}/clktck.c ${SH_LIBSRC}/getcwd.c \
                ${SH_LIBSRC}/zmapfd.c ${SH_LIBSRC}/fpurge.c \
                ${SH_LIBSRC}/zgetline.c ${SH_LIBSRC}/mbscmp.c \
                ${SH_LIBSRC}/casemod.c ${SH_LIBSRC}/uconvert.c \
-               ${SH_LIBSRC}/ufuncs.c
+               ${SH_LIBSRC}/ufuncs.c ${SH_LIBSRC}/fdprintf.c
 
 SHLIB_LIB = -lsh
 SHLIB_LIBNAME = libsh.a
index e6b0aa3d8304e5fab4a305d87ce8747ad07d9c38..8251d39fd7d6519cb5a63e05cc263984e5eccc18 100644 (file)
@@ -993,7 +993,7 @@ shell.o: general.h xmalloc.h bashtypes.h variables.h arrayfunc.h conftypes.h arr
 shell.o: quit.h ${BASHINCDIR}/maxpath.h unwind_prot.h dispose_cmd.h
 shell.o: make_cmd.h subst.h sig.h pathnames.h externs.h 
 shell.o: flags.h trap.h mailcheck.h builtins.h $(DEFSRC)/common.h
-shell.o: jobs.h siglist.h input.h execute_cmd.h findcmd.h bashhist.h
+shell.o: jobs.h siglist.h input.h execute_cmd.h findcmd.h bashhist.h bashline.h
 shell.o: ${GLOB_LIBSRC}/strmatch.h ${BASHINCDIR}/posixtime.h
 sig.o: config.h bashtypes.h
 sig.o: shell.h syntax.h config.h bashjmp.h ${BASHINCDIR}/posixjmp.h command.h ${BASHINCDIR}/stdc.h error.h
diff --git a/array.c b/array.c
index f045d3430c5435c90d5c9dae69c2f1134d0c5778..2030762b75471840247212a582b9bb67418fb158 100644 (file)
--- a/array.c
+++ b/array.c
@@ -281,7 +281,7 @@ char        *v;
        return (array_rshift (a, 1, v));
 }
 
-ARRAY  *
+ARRAY *
 array_quote(array)
 ARRAY  *array;
 {
@@ -298,7 +298,7 @@ ARRAY       *array;
        return array;
 }
 
-ARRAY  *
+ARRAY *
 array_quote_escapes(array)
 ARRAY  *array;
 {
@@ -315,6 +315,54 @@ ARRAY      *array;
        return array;
 }
 
+ARRAY *
+array_dequote(array)
+ARRAY  *array;
+{
+       ARRAY_ELEMENT   *a;
+       char    *t;
+
+       if (array == 0 || array_head(array) == 0 || array_empty(array))
+               return (ARRAY *)NULL;
+       for (a = element_forw(array->head); a != array->head; a = element_forw(a)) {
+               t = dequote_string (a->value);
+               FREE(a->value);
+               a->value = t;
+       }
+       return array;
+}
+
+ARRAY *
+array_dequote_escapes(array)
+ARRAY  *array;
+{
+       ARRAY_ELEMENT   *a;
+       char    *t;
+
+       if (array == 0 || array_head(array) == 0 || array_empty(array))
+               return (ARRAY *)NULL;
+       for (a = element_forw(array->head); a != array->head; a = element_forw(a)) {
+               t = dequote_escapes (a->value);
+               FREE(a->value);
+               a->value = t;
+       }
+       return array;
+}
+
+ARRAY *
+array_remove_quoted_nulls(array)
+ARRAY  *array;
+{
+       ARRAY_ELEMENT   *a;
+       char    *t;
+
+       if (array == 0 || array_head(array) == 0 || array_empty(array))
+               return (ARRAY *)NULL;
+       for (a = element_forw(array->head); a != array->head; a = element_forw(a))
+               a->value = remove_quoted_nulls (a->value);
+       return array;
+}
+
 /*
  * Return a string whose elements are the members of array A beginning at
  * index START and spanning NELEM members.  Null elements are counted.
@@ -329,7 +377,8 @@ int starsub, quoted;
        ARRAY           *a2;
        ARRAY_ELEMENT   *h, *p;
        arrayind_t      i;
-       char            *ifs, *sep, *t;
+       char            *ifs, *sifs, *t;
+       int             slen;
 
        p = a ? array_head (a) : 0;
        if (p == 0 || array_empty (a) || start > array_max_index(a))
@@ -361,24 +410,25 @@ int       starsub, quoted;
 
        if (starsub && (quoted & (Q_DOUBLE_QUOTES|Q_HERE_DOCUMENT))) {
                /* ${array[*]} */
-               sep = ifs_firstchar ((int *)NULL);
+               array_remove_quoted_nulls (a2);
+               sifs = ifs_firstchar ((int *)NULL);
+               t = array_to_string (a2, sifs, 0);
+               free (sifs);
        } else if (quoted & (Q_DOUBLE_QUOTES|Q_HERE_DOCUMENT)) {
                /* ${array[@]} */
-               sep = ifs_firstchar ((int *)NULL);
+               sifs = ifs_firstchar (&slen);
                ifs = getifs ();
                if (ifs == 0 || *ifs == 0) {
-                       sep[0] = ' ';
-                       sep[1] = '\0';
+                       if (slen < 2)
+                               sifs = xrealloc(sifs, 2);
+                       sifs[0] = ' ';
+                       sifs[1] = '\0';
                }
-       } else {
-               sep = xmalloc (2);
-               sep[0] = ' ';
-               sep[1] = '\0';
-       }
-
-       t = array_to_string (a2, sep, 0);
+               t = array_to_string (a2, sifs, 0);
+               free (sifs);
+       } else
+               t = array_to_string (a2, " ", 0);
        array_dispose(a2);
-       free (sep);
 
        return t;
 }
@@ -391,7 +441,8 @@ int mflags;
 {
        ARRAY           *a2;
        ARRAY_ELEMENT   *e;
-       char    *t, *sifs;
+       char    *t, *sifs, *ifs;
+       int     slen;
 
        if (a == 0 || array_head(a) == 0 || array_empty(a))
                return ((char *)NULL);
@@ -407,10 +458,24 @@ int       mflags;
                array_quote(a2);
        else
                array_quote_escapes(a2);
+
        if (mflags & MATCH_STARSUB) {
+               array_remove_quoted_nulls (a2);
                sifs = ifs_firstchar((int *)NULL);
                t = array_to_string (a2, sifs, 0);
                free(sifs);
+       } else if (mflags & MATCH_QUOTED) {
+               /* ${array[@]} */
+               sifs = ifs_firstchar (&slen);
+               ifs = getifs ();
+               if (ifs == 0 || *ifs == 0) {
+                       if (slen < 2)
+                               sifs = xrealloc (sifs, 2);
+                       sifs[0] = ' ';
+                       sifs[1] = '\0';
+               }
+               t = array_to_string (a2, sifs, 0);
+               free(sifs);
        } else
                t = array_to_string (a2, " ", 0);
        array_dispose (a2);
@@ -427,7 +492,8 @@ int mflags;
 {
        ARRAY           *a2;
        ARRAY_ELEMENT   *e;
-       char    *t, *sifs;
+       char    *t, *sifs, *ifs;
+       int     slen;
 
        if (a == 0 || array_head(a) == 0 || array_empty(a))
                return ((char *)NULL);
@@ -443,10 +509,24 @@ int       mflags;
                array_quote(a2);
        else
                array_quote_escapes(a2);
+
        if (mflags & MATCH_STARSUB) {
+               array_remove_quoted_nulls (a2);
                sifs = ifs_firstchar((int *)NULL);
                t = array_to_string (a2, sifs, 0);
                free(sifs);
+       } else if (mflags & MATCH_QUOTED) {
+               /* ${array[@]} */
+               sifs = ifs_firstchar (&slen);
+               ifs = getifs ();
+               if (ifs == 0 || *ifs == 0) {
+                       if (slen < 2)
+                               sifs = xrealloc (sifs, 2);
+                       sifs[0] = ' ';
+                       sifs[1] = '\0';
+               }
+               t = array_to_string (a2, sifs, 0);
+               free(sifs);
        } else
                t = array_to_string (a2, " ", 0);
        array_dispose (a2);
diff --git a/array.h b/array.h
index 6b928c949d9386f2a4b4cbf0a7865c14c346270b..ee2406c87c883bb5673a7b77c1589ec63c3fb72f 100644 (file)
--- a/array.h
+++ b/array.h
@@ -54,8 +54,12 @@ extern ARRAY_ELEMENT *array_shift __P((ARRAY *, int, int));
 extern int     array_rshift __P((ARRAY *, int, char *));
 extern ARRAY_ELEMENT *array_unshift_element __P((ARRAY *));
 extern int     array_shift_element __P((ARRAY *, char *));
+
 extern ARRAY   *array_quote __P((ARRAY *));
 extern ARRAY   *array_quote_escapes __P((ARRAY *));
+extern ARRAY   *array_dequote __P((ARRAY *));
+extern ARRAY   *array_dequote_escapes __P((ARRAY *));
+extern ARRAY   *array_remove_quoted_nulls __P((ARRAY *));
 
 extern char    *array_subrange __P((ARRAY *, arrayind_t, arrayind_t, int, int));
 extern char    *array_patsub __P((ARRAY *, char *, char *, int));
diff --git a/assoc.c b/assoc.c
index 8d0193672a286916d2eaf84bef97dbe6099cd4b2..9cdb9c845dea662bbc7c1c9300e958ae5bb47b11 100644 (file)
--- a/assoc.c
+++ b/assoc.c
@@ -160,6 +160,114 @@ assoc_quote_escapes (h)
   return h;
 }
 
+HASH_TABLE *
+assoc_dequote (h)
+     HASH_TABLE *h;
+{
+  int i;
+  BUCKET_CONTENTS *tlist;
+  char *t;
+
+  if (h == 0 || assoc_empty (h))
+    return ((HASH_TABLE *)NULL);
+  
+  for (i = 0; i < h->nbuckets; i++)
+    for (tlist = hash_items (i, h); tlist; tlist = tlist->next)
+      {
+       t = dequote_string ((char *)tlist->data);
+       FREE (tlist->data);
+       tlist->data = t;
+      }
+
+  return h;
+}
+
+HASH_TABLE *
+assoc_dequote_escapes (h)
+     HASH_TABLE *h;
+{
+  int i;
+  BUCKET_CONTENTS *tlist;
+  char *t;
+
+  if (h == 0 || assoc_empty (h))
+    return ((HASH_TABLE *)NULL);
+  
+  for (i = 0; i < h->nbuckets; i++)
+    for (tlist = hash_items (i, h); tlist; tlist = tlist->next)
+      {
+       t = dequote_escapes ((char *)tlist->data);
+       FREE (tlist->data);
+       tlist->data = t;
+      }
+
+  return h;
+}
+
+HASH_TABLE *
+assoc_remove_quoted_nulls (h)
+     HASH_TABLE *h;
+{
+  int i;
+  BUCKET_CONTENTS *tlist;
+  char *t;
+
+  if (h == 0 || assoc_empty (h))
+    return ((HASH_TABLE *)NULL);
+  
+  for (i = 0; i < h->nbuckets; i++)
+    for (tlist = hash_items (i, h); tlist; tlist = tlist->next)
+      {
+       t = remove_quoted_nulls ((char *)tlist->data);
+       tlist->data = t;
+      }
+
+  return h;
+}
+
+/*
+ * Return a string whose elements are the members of array H beginning at
+ * the STARTth element and spanning NELEM members.  Null elements are counted.
+ */
+char *
+assoc_subrange (hash, start, nelem, starsub, quoted)
+HASH_TABLE *hash;
+arrayind_t start, nelem;
+int starsub, quoted;
+{
+  WORD_LIST *l, *save, *h, *t;
+  int i, j;
+  char *ret;
+
+  if (assoc_empty (hash))
+    return ((char *)NULL);
+
+  save = l = assoc_to_word_list (hash);
+  if (save == 0)
+    return ((char *)NULL);
+
+  for (i = 1; l && i < start; i++)
+    l = l->next;
+  if (l == 0)
+    return ((char *)NULL);
+  for (j = 0,h = t = l; l && j < nelem; j++)
+    {
+      t = l;
+      l = l->next;
+    }
+
+  t->next = (WORD_LIST *)NULL;
+
+  ret = string_list_pos_params (starsub ? '*' : '@', h, quoted);
+
+  if (t != l)
+    t->next = l;
+
+  dispose_words (save);
+  return (ret);
+
+}
+
 char *
 assoc_patsub (h, pat, rep, mflags)
      HASH_TABLE *h;
@@ -167,9 +275,9 @@ assoc_patsub (h, pat, rep, mflags)
      int mflags;
 {
   BUCKET_CONTENTS *tlist;
-  int i;
+  int i, slen;
   HASH_TABLE *h2;
-  char *t, *sifs;
+  char *t, *sifs, *ifs;
 
   if (h == 0 || assoc_empty (h))
     return ((char *)NULL);
@@ -190,10 +298,26 @@ assoc_patsub (h, pat, rep, mflags)
 
   if (mflags & MATCH_STARSUB)
     {
+      assoc_remove_quoted_nulls (h2);
       sifs = ifs_firstchar ((int *)NULL);
       t = assoc_to_string (h2, sifs, 0);
       free (sifs);
     }
+  else if (mflags & MATCH_QUOTED)
+    {
+      /* ${array[@]} */
+      sifs = ifs_firstchar (&slen);
+      ifs = getifs ();
+      if (ifs == 0 || *ifs == 0)
+       {
+         if (slen < 2)
+           sifs = xrealloc (sifs, 2);
+         sifs[0] = ' ';
+         sifs[1] = '\0';
+       }
+      t = assoc_to_string (h2, sifs, 0);
+      free(sifs);
+    }
   else
     t = assoc_to_string (h2, " ", 0);
 
@@ -210,9 +334,9 @@ assoc_modcase (h, pat, modop, mflags)
      int mflags;
 {
   BUCKET_CONTENTS *tlist;
-  int i;
+  int i, slen;
   HASH_TABLE *h2;
-  char *t, *sifs;
+  char *t, *sifs, *ifs;
 
   if (h == 0 || assoc_empty (h))
     return ((char *)NULL);
@@ -233,10 +357,26 @@ assoc_modcase (h, pat, modop, mflags)
 
   if (mflags & MATCH_STARSUB)
     {
+      assoc_remove_quoted_nulls (h2);
       sifs = ifs_firstchar ((int *)NULL);
       t = assoc_to_string (h2, sifs, 0);
       free (sifs);
     }
+  else if (mflags & MATCH_QUOTED)
+    {
+      /* ${array[@]} */
+      sifs = ifs_firstchar (&slen);
+      ifs = getifs ();
+      if (ifs == 0 || *ifs == 0)
+       {
+         if (slen < 2)
+           sifs = xrealloc (sifs, 2);
+         sifs[0] = ' ';
+         sifs[1] = '\0';
+       }
+      t = assoc_to_string (h2, sifs, 0);
+      free(sifs);
+    }
   else
     t = assoc_to_string (h2, " ", 0);
 
diff --git a/assoc.h b/assoc.h
index f6a480aaa4bd0b66ca9548685e7e6df9ece4db74..0c02f18fe380a9425f57418f9ce7697fa3a9fd2d 100644 (file)
--- a/assoc.h
+++ b/assoc.h
@@ -42,11 +42,15 @@ extern void assoc_remove __P((HASH_TABLE *, char *));
 
 extern char *assoc_reference __P((HASH_TABLE *, char *));
 
+extern char *assoc_subrange __P((HASH_TABLE *, arrayind_t, arrayind_t, int, int));
 extern char *assoc_patsub __P((HASH_TABLE *, char *, char *, int));
 extern char *assoc_modcase __P((HASH_TABLE *, char *, int, int));
 
 extern HASH_TABLE *assoc_quote __P((HASH_TABLE *));
 extern HASH_TABLE *assoc_quote_escapes __P((HASH_TABLE *));
+extern HASH_TABLE *assoc_dequote __P((HASH_TABLE *));
+extern HASH_TABLE *assoc_dequote_escapes __P((HASH_TABLE *));
+extern HASH_TABLE *assoc_remove_quoted_nulls __P((HASH_TABLE *));
 
 extern char *assoc_to_assign __P((HASH_TABLE *, int));
 
index 6d881820fdd0032cd2c0da7376b39b6527ec2096..23a4de681d564e1ff2f7fed21b34e5a93b6734b3 100644 (file)
@@ -1,7 +1,7 @@
 @%:@! /bin/sh
-@%:@ From configure.in for Bash 4.0, version 4.002.
+@%:@ From configure.in for Bash 4.0, version 4.003.
 @%:@ Guess values for system-dependent variables and create Makefiles.
-@%:@ Generated by GNU Autoconf 2.61 for bash 4.0-devel.
+@%:@ Generated by GNU Autoconf 2.60 for bash 4.0-devel.
 @%:@
 @%:@ Report bugs to <bug-bash@gnu.org>.
 @%:@ 
@@ -13,8 +13,7 @@
 ## M4sh Initialization.  ##
 ## --------------------- ##
 
-# Be more Bourne compatible
-DUALCASE=1; export DUALCASE # for MKS sh
+# Be Bourne compatible
 if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
   emulate sh
   NULLCMD=:
@@ -23,13 +22,10 @@ if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
   alias -g '${1+"$@"}'='"$@"'
   setopt NO_GLOB_SUBST
 else
-  case `(set -o) 2>/dev/null` in
-  *posix*) set -o posix ;;
-esac
-
+  case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
 fi
-
-
+BIN_SH=xpg4; export BIN_SH # for Tru64
+DUALCASE=1; export DUALCASE # for MKS sh
 
 
 # PATH needs CR
@@ -222,7 +218,7 @@ test \$exitcode = 0) || { (exit 1); exit 1; }
 else
   as_candidate_shells=
     as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
+for as_dir in /usr/bin/posix$PATH_SEPARATOR/bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
 do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
@@ -240,6 +236,7 @@ IFS=$as_save_IFS
         # Try only shells that exist, to save several forks.
         if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
                { ("$as_shell") 2> /dev/null <<\_ASEOF
+# Be Bourne compatible
 if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
   emulate sh
   NULLCMD=:
@@ -248,12 +245,10 @@ if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
   alias -g '${1+"$@"}'='"$@"'
   setopt NO_GLOB_SUBST
 else
-  case `(set -o) 2>/dev/null` in
-  *posix*) set -o posix ;;
-esac
-
+  case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
 fi
-
+BIN_SH=xpg4; export BIN_SH # for Tru64
+DUALCASE=1; export DUALCASE # for MKS sh
 
 :
 _ASEOF
@@ -261,6 +256,7 @@ _ASEOF
   CONFIG_SHELL=$as_shell
               as_have_required=yes
               if { "$as_shell" 2> /dev/null <<\_ASEOF
+# Be Bourne compatible
 if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
   emulate sh
   NULLCMD=:
@@ -269,12 +265,10 @@ if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
   alias -g '${1+"$@"}'='"$@"'
   setopt NO_GLOB_SUBST
 else
-  case `(set -o) 2>/dev/null` in
-  *posix*) set -o posix ;;
-esac
-
+  case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
 fi
-
+BIN_SH=xpg4; export BIN_SH # for Tru64
+DUALCASE=1; export DUALCASE # for MKS sh
 
 :
 (as_func_return () {
@@ -521,28 +515,19 @@ else
   as_mkdir_p=false
 fi
 
-if test -x / >/dev/null 2>&1; then
-  as_test_x='test -x'
+# Find out whether ``test -x'' works.  Don't use a zero-byte file, as
+# systems may use methods other than mode bits to determine executability.
+cat >conf$$.file <<_ASEOF
+#! /bin/sh
+exit 0
+_ASEOF
+chmod +x conf$$.file
+if test -x conf$$.file >/dev/null 2>&1; then
+  as_executable_p="test -x"
 else
-  if ls -dL / >/dev/null 2>&1; then
-    as_ls_L_option=L
-  else
-    as_ls_L_option=
-  fi
-  as_test_x='
-    eval sh -c '\''
-      if test -d "$1"; then
-        test -d "$1/.";
-      else
-       case $1 in
-        -*)set "./$1";;
-       esac;
-       case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in
-       ???[sx]*):;;*)false;;esac;fi
-    '\'' sh
-  '
+  as_executable_p=:
 fi
-as_executable_p=$as_test_x
+rm -f conf$$.file
 
 # Sed expression to map a string onto a valid CPP name.
 as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -583,40 +568,39 @@ ac_unique_file="shell.h"
 # Factoring default headers for most tests.
 ac_includes_default="\
 #include <stdio.h>
-#ifdef HAVE_SYS_TYPES_H
+#if HAVE_SYS_TYPES_H
 # include <sys/types.h>
 #endif
-#ifdef HAVE_SYS_STAT_H
+#if HAVE_SYS_STAT_H
 # include <sys/stat.h>
 #endif
-#ifdef STDC_HEADERS
+#if STDC_HEADERS
 # include <stdlib.h>
 # include <stddef.h>
 #else
-# ifdef HAVE_STDLIB_H
+# if HAVE_STDLIB_H
 #  include <stdlib.h>
 # endif
 #endif
-#ifdef HAVE_STRING_H
-# if !defined STDC_HEADERS && defined HAVE_MEMORY_H
+#if HAVE_STRING_H
+# if !STDC_HEADERS && HAVE_MEMORY_H
 #  include <memory.h>
 # endif
 # include <string.h>
 #endif
-#ifdef HAVE_STRINGS_H
+#if HAVE_STRINGS_H
 # include <strings.h>
 #endif
-#ifdef HAVE_INTTYPES_H
+#if HAVE_INTTYPES_H
 # include <inttypes.h>
 #endif
-#ifdef HAVE_STDINT_H
+#if HAVE_STDINT_H
 # include <stdint.h>
 #endif
-#ifdef HAVE_UNISTD_H
+#if HAVE_UNISTD_H
 # include <unistd.h>
 #endif"
 
-ac_header_list=
 ac_func_list=
 ac_subst_vars='SHELL
 PATH_SEPARATOR
@@ -777,7 +761,6 @@ DEBUGGER_START_FILE
 CC
 CFLAGS
 LDFLAGS
-LIBS
 CPPFLAGS
 CPP
 YACC
@@ -887,10 +870,10 @@ do
   -disable-* | --disable-*)
     ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
     # Reject names that are not valid shell variable names.
-    expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null &&
+    expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null &&
       { echo "$as_me: error: invalid feature name: $ac_feature" >&2
    { (exit 1); exit 1; }; }
-    ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'`
+    ac_feature=`echo $ac_feature | sed 's/-/_/g'`
     eval enable_$ac_feature=no ;;
 
   -docdir | --docdir | --docdi | --doc | --do)
@@ -906,10 +889,10 @@ do
   -enable-* | --enable-*)
     ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
     # Reject names that are not valid shell variable names.
-    expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null &&
+    expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null &&
       { echo "$as_me: error: invalid feature name: $ac_feature" >&2
    { (exit 1); exit 1; }; }
-    ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'`
+    ac_feature=`echo $ac_feature | sed 's/-/_/g'`
     eval enable_$ac_feature=\$ac_optarg ;;
 
   -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
@@ -1103,19 +1086,19 @@ do
   -with-* | --with-*)
     ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
     # Reject names that are not valid shell variable names.
-    expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null &&
+    expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null &&
       { echo "$as_me: error: invalid package name: $ac_package" >&2
    { (exit 1); exit 1; }; }
-    ac_package=`echo $ac_package | sed 's/[-.]/_/g'`
+    ac_package=`echo $ac_package| sed 's/-/_/g'`
     eval with_$ac_package=\$ac_optarg ;;
 
   -without-* | --without-*)
     ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'`
     # Reject names that are not valid shell variable names.
-    expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null &&
+    expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null &&
       { echo "$as_me: error: invalid package name: $ac_package" >&2
    { (exit 1); exit 1; }; }
-    ac_package=`echo $ac_package | sed 's/[-.]/_/g'`
+    ac_package=`echo $ac_package | sed 's/-/_/g'`
     eval with_$ac_package=no ;;
 
   --x)
@@ -1373,6 +1356,8 @@ Optional Features:
   --enable-cond-command   enable the conditional command
   --enable-cond-regexp    enable extended regular expression matching in
                           conditional commands
+  --enable-coprocesses    enable coprocess support and the coproc reserved
+                          word
   --enable-debugger       enable support for bash debugger
   --enable-directory-stack 
                           enable builtins pushd/popd/dirs
@@ -1443,7 +1428,6 @@ Some influential environment variables:
   CFLAGS      C compiler flags
   LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
               nonstandard directory <lib dir>
-  LIBS        libraries to pass to the linker, e.g. -l<library>
   CPPFLAGS    C/C++/Objective C preprocessor flags, e.g. -I<include dir> if
               you have headers in a nonstandard directory <include dir>
   CPP         C preprocessor
@@ -1518,7 +1502,7 @@ test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
 bash configure 4.0-devel
-generated by GNU Autoconf 2.61
+generated by GNU Autoconf 2.60
 
 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
@@ -1532,7 +1516,7 @@ This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
 It was created by bash $as_me 4.0-devel, which was
-generated by GNU Autoconf 2.61.  Invocation command line was
+generated by GNU Autoconf 2.60.  Invocation command line was
 
   $ $0 $@
 
@@ -1804,9 +1788,6 @@ echo "$as_me: creating cache $cache_file" >&6;}
   >$cache_file
 fi
 
-ac_header_list="$ac_header_list sys/time.h"
-ac_header_list="$ac_header_list unistd.h"
-ac_func_list="$ac_func_list alarm"
 ac_func_list="$ac_func_list fpurge"
 ac_func_list="$ac_func_list __fpurge"
 # Check that the precious variables saved in the cache have kept the same
@@ -2091,7 +2072,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_EMACS="$ac_prog"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -2256,6 +2237,7 @@ opt_xpg_echo=no
 opt_strict_posix=no
 opt_cond_command=yes
 opt_cond_regexp=yes
+opt_coproc=yes
 opt_arith_for_command=yes
 opt_net_redirs=yes
 opt_progcomp=yes
@@ -2283,7 +2265,7 @@ if test $opt_minimal_config = yes; then
        opt_brace_expansion=no opt_disabled_builtins=no opt_command_timing=no
        opt_extended_glob=no opt_cond_command=no opt_arith_for_command=no
        opt_net_redirs=no opt_progcomp=no opt_separate_help=no
-       opt_multibyte=yes opt_cond_regexp=no
+       opt_multibyte=yes opt_cond_regexp=no opt_coproc=no
        opt_casemod_attrs=no opt_casemod_expansions=no
 fi
 
@@ -2337,6 +2319,11 @@ if test "${enable_cond_regexp+set}" = set; then
   enableval=$enable_cond_regexp; opt_cond_regexp=$enableval
 fi
 
+# Check whether --enable-coprocesses was given.
+if test "${enable_coprocesses+set}" = set; then
+  enableval=$enable_coprocesses; opt_coproc=$enableval
+fi
+
 # Check whether --enable-debugger was given.
 if test "${enable_debugger+set}" = set; then
   enableval=$enable_debugger; opt_debugger=$enableval
@@ -2562,6 +2549,12 @@ cat >>confdefs.h <<\_ACEOF
 @%:@define COND_REGEXP 1
 _ACEOF
 
+fi
+if test $opt_coproc = yes; then
+cat >>confdefs.h <<\_ACEOF
+@%:@define COPROCESS_SUPPORT 1
+_ACEOF
+
 fi
 if test $opt_arith_for_command = yes; then
 cat >>confdefs.h <<\_ACEOF
@@ -2677,7 +2670,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_CC="${ac_tool_prefix}gcc"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -2717,7 +2710,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_ac_ct_CC="gcc"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -2774,7 +2767,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_CC="${ac_tool_prefix}cc"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -2815,7 +2808,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
     if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
        ac_prog_rejected=yes
        continue
@@ -2873,7 +2866,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -2917,7 +2910,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_ac_ct_CC="$ac_prog"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -3058,7 +3051,7 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
 # in a Makefile.  We should not override ac_cv_exeext if it was cached,
 # so that the user can short-circuit this test for compilers unknown to
 # Autoconf.
-for ac_file in $ac_files ''
+for ac_file in $ac_files
 do
   test -f "$ac_file" || continue
   case $ac_file in
@@ -3086,12 +3079,6 @@ done
 test "$ac_cv_exeext" = no && ac_cv_exeext=
 
 else
-  ac_file=''
-fi
-
-{ echo "$as_me:$LINENO: result: $ac_file" >&5
-echo "${ECHO_T}$ac_file" >&6; }
-if test -z "$ac_file"; then
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
@@ -3103,6 +3090,8 @@ See \`config.log' for more details." >&2;}
 fi
 
 ac_exeext=$ac_cv_exeext
+{ echo "$as_me:$LINENO: result: $ac_file" >&5
+echo "${ECHO_T}$ac_file" >&6; }
 
 # Check that the compiler produces executables we can run.  If not, either
 # the compiler is broken, or we cross compile.
@@ -3280,10 +3269,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_compiler_gnu=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -3338,10 +3344,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_prog_cc_g=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -3376,10 +3399,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   :
 else
   echo "$as_me: failed program was:" >&5
@@ -3415,10 +3455,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_prog_cc_g=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -3534,10 +3591,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_prog_cc_c89=$ac_arg
 else
   echo "$as_me: failed program was:" >&5
@@ -3619,11 +3693,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_lib_cposix_strerror=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -3632,7 +3722,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_cv_lib_cposix_strerror=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
@@ -3696,10 +3786,17 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       }; then
+  (exit $ac_status); } >/dev/null; then
+  if test -s conftest.err; then
+    ac_cpp_err=$ac_c_preproc_warn_flag
+    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
+  else
+    ac_cpp_err=
+  fi
+else
+  ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
   :
 else
   echo "$as_me: failed program was:" >&5
@@ -3733,10 +3830,17 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       }; then
+  (exit $ac_status); } >/dev/null; then
+  if test -s conftest.err; then
+    ac_cpp_err=$ac_c_preproc_warn_flag
+    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
+  else
+    ac_cpp_err=
+  fi
+else
+  ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
   # Broken: success on invalid input.
 continue
 else
@@ -3801,10 +3905,17 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       }; then
+  (exit $ac_status); } >/dev/null; then
+  if test -s conftest.err; then
+    ac_cpp_err=$ac_c_preproc_warn_flag
+    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
+  else
+    ac_cpp_err=
+  fi
+else
+  ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
   :
 else
   echo "$as_me: failed program was:" >&5
@@ -3838,10 +3949,17 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       }; then
+  (exit $ac_status); } >/dev/null; then
+  if test -s conftest.err; then
+    ac_cpp_err=$ac_c_preproc_warn_flag
+    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
+  else
+    ac_cpp_err=
+  fi
+else
+  ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
   # Broken: success on invalid input.
 continue
 else
@@ -3896,7 +4014,7 @@ do
   for ac_prog in grep ggrep; do
   for ac_exec_ext in '' $ac_executable_extensions; do
     ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
-    { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
+    { test -f "$ac_path_GREP" && $as_executable_p "$ac_path_GREP"; } || continue
     # Check for GNU ac_path_GREP and select it if it is found.
   # Check for GNU $ac_path_GREP
 case `"$ac_path_GREP" --version 2>&1` in
@@ -3978,7 +4096,7 @@ do
   for ac_prog in egrep; do
   for ac_exec_ext in '' $ac_executable_extensions; do
     ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
-    { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
+    { test -f "$ac_path_EGREP" && $as_executable_p "$ac_path_EGREP"; } || continue
     # Check for GNU ac_path_EGREP and select it if it is found.
   # Check for GNU $ac_path_EGREP
 case `"$ac_path_EGREP" --version 2>&1` in
@@ -4074,10 +4192,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_header_stdc=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -4253,10 +4388,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   eval "$as_ac_Header=yes"
 else
   echo "$as_me: failed program was:" >&5
@@ -4314,10 +4466,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_header_compiler=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -4353,10 +4522,17 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       }; then
+  (exit $ac_status); } >/dev/null; then
+  if test -s conftest.err; then
+    ac_cpp_err=$ac_c_preproc_warn_flag
+    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
+  else
+    ac_cpp_err=
+  fi
+else
+  ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
   ac_header_preproc=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -4490,10 +4666,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   break
 else
   echo "$as_me: failed program was:" >&5
@@ -4517,10 +4710,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_sys_largefile_CC=' -n32'; break
 else
   echo "$as_me: failed program was:" >&5
@@ -4548,6 +4758,7 @@ if test "${ac_cv_sys_file_offset_bits+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   while :; do
+  ac_cv_sys_file_offset_bits=no
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -4584,19 +4795,36 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_cv_sys_file_offset_bits=no; break
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  break
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -4634,10 +4862,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_sys_file_offset_bits=64; break
 else
   echo "$as_me: failed program was:" >&5
@@ -4647,28 +4892,26 @@ sed 's/^/| /' conftest.$ac_ext >&5
 fi
 
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  ac_cv_sys_file_offset_bits=unknown
   break
 done
 fi
 { echo "$as_me:$LINENO: result: $ac_cv_sys_file_offset_bits" >&5
 echo "${ECHO_T}$ac_cv_sys_file_offset_bits" >&6; }
-case $ac_cv_sys_file_offset_bits in #(
-  no | unknown) ;;
-  *) 
+if test "$ac_cv_sys_file_offset_bits" != no; then
+  
 cat >>confdefs.h <<_ACEOF
 @%:@define _FILE_OFFSET_BITS $ac_cv_sys_file_offset_bits
 _ACEOF
-;;
-esac
+
+fi
 rm -f conftest*
-  if test $ac_cv_sys_file_offset_bits = unknown; then
-    { echo "$as_me:$LINENO: checking for _LARGE_FILES value needed for large files" >&5
+  { echo "$as_me:$LINENO: checking for _LARGE_FILES value needed for large files" >&5
 echo $ECHO_N "checking for _LARGE_FILES value needed for large files... $ECHO_C" >&6; }
 if test "${ac_cv_sys_large_files+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   while :; do
+  ac_cv_sys_large_files=no
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -4705,11 +4948,28 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_cv_sys_large_files=no; break
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  break
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
@@ -4755,10 +5015,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_sys_large_files=1; break
 else
   echo "$as_me: failed program was:" >&5
@@ -4768,22 +5045,19 @@ sed 's/^/| /' conftest.$ac_ext >&5
 fi
 
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  ac_cv_sys_large_files=unknown
   break
 done
 fi
 { echo "$as_me:$LINENO: result: $ac_cv_sys_large_files" >&5
 echo "${ECHO_T}$ac_cv_sys_large_files" >&6; }
-case $ac_cv_sys_large_files in #(
-  no | unknown) ;;
-  *) 
+if test "$ac_cv_sys_large_files" != no; then
+  
 cat >>confdefs.h <<_ACEOF
 @%:@define _LARGE_FILES $ac_cv_sys_large_files
 _ACEOF
-;;
-esac
+
+fi
 rm -f conftest*
-  fi
 fi
 
 
@@ -5005,11 +5279,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_func_tgetent=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -5018,7 +5308,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_cv_func_tgetent=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 fi
 { echo "$as_me:$LINENO: result: $ac_cv_func_tgetent" >&5
@@ -5068,11 +5358,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_lib_termcap_tgetent=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -5081,7 +5387,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_cv_lib_termcap_tgetent=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
@@ -5132,11 +5438,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_lib_tinfo_tgetent=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -5145,7 +5467,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_cv_lib_tinfo_tgetent=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
@@ -5196,11 +5518,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_lib_curses_tgetent=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -5209,7 +5547,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_cv_lib_curses_tgetent=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
@@ -5260,11 +5598,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_lib_ncurses_tgetent=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -5273,7 +5627,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_cv_lib_ncurses_tgetent=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
@@ -5632,7 +5986,7 @@ case $as_dir/ in
     # by default.
     for ac_prog in ginstall scoinst install; do
       for ac_exec_ext in '' $ac_executable_extensions; do
-       if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
+       if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; }; then
          if test $ac_prog = install &&
            grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
            # AIX install.  It has an incompatible calling convention.
@@ -5692,7 +6046,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_AR=""
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -5732,7 +6086,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -5772,7 +6126,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_ac_ct_RANLIB="ranlib"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -5829,7 +6183,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_YACC="$ac_prog"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -5936,10 +6290,10 @@ main ()
 #ifndef __cplusplus
   /* Ultrix mips cc rejects this.  */
   typedef int charset[2];
-  const charset cs;
+  const charset x;
   /* SunOS 4.1.1 cc rejects this.  */
-  char const *const *pcpcc;
-  char **ppc;
+  char const *const *ccp;
+  char **p;
   /* NEC SVR4.0.2 mips cc rejects this.  */
   struct point {int x, y;};
   static struct point const zero = {0,0};
@@ -5948,11 +6302,11 @@ main ()
      an arm of an if-expression whose if-part is not a constant
      expression */
   const char *g = "string";
-  pcpcc = &g + (g ? g-g : 0);
+  ccp = &g + (g ? g-g : 0);
   /* HPUX 7.0 cc rejects these. */
-  ++pcpcc;
-  ppc = (char**) pcpcc;
-  pcpcc = (char const *const *) ppc;
+  ++ccp;
+  p = (char**) ccp;
+  ccp = (char const *const *) p;
   { /* SCO 3.2v4 cc rejects this.  */
     char *t;
     char const *s = 0 ? (char *) 0 : (char const *) 0;
@@ -5979,7 +6333,7 @@ main ()
     const int foo = 10;
     if (!foo) return 0;
   }
-  return !cs[0] && !zero.x;
+  return !x[0] && !zero.x;
 #endif
 
   ;
@@ -5999,10 +6353,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_c_const=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -6056,10 +6427,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_c_inline=$ac_kw
 else
   echo "$as_me: failed program was:" >&5
@@ -6110,8 +6498,7 @@ cat >>conftest.$ac_ext <<_ACEOF
 int
 main ()
 {
-#if  ! (defined BYTE_ORDER && defined BIG_ENDIAN && defined LITTLE_ENDIAN \
-       && BYTE_ORDER && BIG_ENDIAN && LITTLE_ENDIAN)
+#if !BYTE_ORDER || !BIG_ENDIAN || !LITTLE_ENDIAN
  bogus endian macros
 #endif
 
@@ -6132,10 +6519,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   # It does; now see whether it defined to BIG_ENDIAN or not.
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
@@ -6170,10 +6574,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_c_bigendian=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -6224,26 +6645,43 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  if grep BIGenDianSyS conftest.$ac_objext >/dev/null ; then
-  ac_cv_c_bigendian=yes
-fi
-if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then
-  if test "$ac_cv_c_bigendian" = unknown; then
-    ac_cv_c_bigendian=no
-  else
-    # finding both strings is unlikely to happen, but who knows?
-    ac_cv_c_bigendian=unknown
-  fi
-fi
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  if grep BIGenDianSyS conftest.$ac_objext >/dev/null ; then
+  ac_cv_c_bigendian=yes
+fi
+if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then
+  if test "$ac_cv_c_bigendian" = unknown; then
+    ac_cv_c_bigendian=no
+  else
+    # finding both strings is unlikely to happen, but who knows?
+    ac_cv_c_bigendian=unknown
+  fi
+fi
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       
 fi
 
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
@@ -6416,10 +6854,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_type_long_double_wider=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -6505,10 +6960,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_c_char_unsigned=no
 else
   echo "$as_me: failed program was:" >&5
@@ -6646,7 +7118,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_path_GMSGFMT="$as_dir/$ac_word$ac_exec_ext"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6874,10 +7346,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_type_off_t=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -6937,10 +7426,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_type_size_t=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -6999,11 +7505,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_working_alloca_h=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -7012,7 +7534,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_cv_working_alloca_h=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 fi
 { echo "$as_me:$LINENO: result: $ac_cv_working_alloca_h" >&5
@@ -7043,7 +7565,7 @@ cat >>conftest.$ac_ext <<_ACEOF
 #  include <malloc.h>
 #  define alloca _alloca
 # else
-#  ifdef HAVE_ALLOCA_H
+#  if HAVE_ALLOCA_H
 #   include <alloca.h>
 #  else
 #   ifdef _AIX
@@ -7079,11 +7601,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_func_alloca_works=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -7092,7 +7630,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_cv_func_alloca_works=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 fi
 { echo "$as_me:$LINENO: result: $ac_cv_func_alloca_works" >&5
@@ -7212,11 +7750,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   eval "$as_ac_var=yes"
 else
   echo "$as_me: failed program was:" >&5
@@ -7225,7 +7779,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        eval "$as_ac_var=no"
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 fi
 ac_res=`eval echo '${'$as_ac_var'}'`
@@ -7362,10 +7916,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_header_compiler=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -7401,10 +7972,17 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       }; then
+  (exit $ac_status); } >/dev/null; then
+  if test -s conftest.err; then
+    ac_cpp_err=$ac_c_preproc_warn_flag
+    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
+  else
+    ac_cpp_err=
+  fi
+else
+  ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
   ac_header_preproc=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -7535,11 +8113,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   eval "$as_ac_var=yes"
 else
   echo "$as_me: failed program was:" >&5
@@ -7548,7 +8142,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        eval "$as_ac_var=no"
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 fi
 ac_res=`eval echo '${'$as_ac_var'}'`
@@ -7605,21 +8199,21 @@ $ac_includes_default
 #include <fcntl.h>
 #include <sys/mman.h>
 
-#if !defined STDC_HEADERS && !defined HAVE_STDLIB_H
+#if !STDC_HEADERS && !HAVE_STDLIB_H
 char *malloc ();
 #endif
 
 /* This mess was copied from the GNU getpagesize.h.  */
-#ifndef HAVE_GETPAGESIZE
+#if !HAVE_GETPAGESIZE
 /* Assume that all systems that can run configure have sys/param.h.  */
-# ifndef HAVE_SYS_PARAM_H
+# if !HAVE_SYS_PARAM_H
 #  define HAVE_SYS_PARAM_H 1
 # endif
 
 # ifdef _SC_PAGESIZE
 #  define getpagesize() sysconf(_SC_PAGESIZE)
 # else /* no _SC_PAGESIZE */
-#  ifdef HAVE_SYS_PARAM_H
+#  if HAVE_SYS_PARAM_H
 #   include <sys/param.h>
 #   ifdef EXEC_PAGESIZE
 #    define getpagesize() EXEC_PAGESIZE
@@ -7931,10 +8525,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   jm_ac_cv_header_inttypes_h=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -7990,10 +8601,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   jm_ac_cv_header_stdint_h=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -8049,11 +8677,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_type_unsigned_long_long=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -8062,7 +8706,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_cv_type_unsigned_long_long=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 fi
 { echo "$as_me:$LINENO: result: $ac_cv_type_unsigned_long_long" >&5
@@ -8132,25 +8776,42 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  gt_cv_header_inttypes_h=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       gt_cv_header_inttypes_h=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  
-fi
-{ echo "$as_me:$LINENO: result: $gt_cv_header_inttypes_h" >&5
-echo "${ECHO_T}$gt_cv_header_inttypes_h" >&6; }
-  if test $gt_cv_header_inttypes_h = yes; then
-    
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  gt_cv_header_inttypes_h=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       gt_cv_header_inttypes_h=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  
+fi
+{ echo "$as_me:$LINENO: result: $gt_cv_header_inttypes_h" >&5
+echo "${ECHO_T}$gt_cv_header_inttypes_h" >&6; }
+  if test $gt_cv_header_inttypes_h = yes; then
+    
 cat >>confdefs.h <<_ACEOF
 @%:@define HAVE_INTTYPES_H 1
 _ACEOF
@@ -8198,10 +8859,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   gt_cv_inttypes_pri_broken=no
 else
   echo "$as_me: failed program was:" >&5
@@ -8818,10 +9496,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_header_compiler=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -8857,10 +9552,17 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       }; then
+  (exit $ac_status); } >/dev/null; then
+  if test -s conftest.err; then
+    ac_cpp_err=$ac_c_preproc_warn_flag
+    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
+  else
+    ac_cpp_err=
+  fi
+else
+  ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
   ac_header_preproc=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -9016,11 +9718,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   eval "$as_ac_var=yes"
 else
   echo "$as_me: failed program was:" >&5
@@ -9029,7 +9747,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        eval "$as_ac_var=no"
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 fi
 ac_res=`eval echo '${'$as_ac_var'}'`
@@ -9113,11 +9831,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   am_cv_func_iconv=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -9126,7 +9860,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
     if test "$am_cv_func_iconv" != yes; then
       am_save_LIBS="$LIBS"
@@ -9162,11 +9896,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   am_cv_lib_iconv=yes
         am_cv_func_iconv=yes
 else
@@ -9176,7 +9926,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
       LIBS="$am_save_LIBS"
     fi
@@ -9251,10 +10001,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   am_cv_proto_iconv_arg1=""
 else
   echo "$as_me: failed program was:" >&5
@@ -9313,11 +10080,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   am_cv_langinfo_codeset=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -9326,7 +10109,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        am_cv_langinfo_codeset=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
     
 fi
@@ -9375,11 +10158,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   am_cv_val_LC_MESSAGES=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -9388,7 +10187,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        am_cv_val_LC_MESSAGES=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 fi
 { echo "$as_me:$LINENO: result: $am_cv_val_LC_MESSAGES" >&5
@@ -9421,7 +10220,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_INTLBISON="$ac_prog"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -9561,11 +10360,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   gt_cv_func_gnugettext2_libc=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -9574,7 +10389,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        gt_cv_func_gnugettext2_libc=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 fi
 { echo "$as_me:$LINENO: result: $gt_cv_func_gnugettext2_libc" >&5
@@ -10004,11 +10819,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   gt_cv_func_gnugettext2_libintl=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -10017,7 +10848,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        gt_cv_func_gnugettext2_libintl=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
                         if test "$gt_cv_func_gnugettext2_libintl" != yes && test -n "$LIBICONV"; then
               LIBS="$LIBS $LIBICONV"
@@ -10056,11 +10887,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   LIBINTL="$LIBINTL $LIBICONV"
                 LTLIBINTL="$LTLIBINTL $LTLIBICONV"
                 gt_cv_func_gnugettext2_libintl=yes
@@ -10072,7 +10919,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
             fi
             CPPFLAGS="$gt_save_CPPFLAGS"
@@ -10275,10 +11122,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   eval "$as_ac_Header=yes"
 else
   echo "$as_me: failed program was:" >&5
@@ -10351,28 +11215,44 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
-  ac_cv_search_opendir=$ac_res
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext 
-  if test "${ac_cv_search_opendir+set}" = set; then
-  break
-fi
-done
-if test "${ac_cv_search_opendir+set}" = set; then
-  :
-else
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_search_opendir=$ac_res
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       
+fi
+
+rm -f core conftest.err conftest.$ac_objext \
+      conftest$ac_exeext 
+  if test "${ac_cv_search_opendir+set}" = set; then
+  break
+fi
+done
+if test "${ac_cv_search_opendir+set}" = set; then
+  :
+else
   ac_cv_search_opendir=no
 fi
 rm conftest.$ac_ext
@@ -10435,11 +11315,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_search_opendir=$ac_res
 else
   echo "$as_me: failed program was:" >&5
@@ -10448,7 +11344,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext 
   if test "${ac_cv_search_opendir+set}" = set; then
   break
@@ -10509,10 +11405,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_header_time=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -10574,10 +11487,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_header_compiler=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -10613,10 +11543,17 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       }; then
+  (exit $ac_status); } >/dev/null; then
+  if test -s conftest.err; then
+    ac_cpp_err=$ac_c_preproc_warn_flag
+    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
+  else
+    ac_cpp_err=
+  fi
+else
+  ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
   ac_header_preproc=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -10741,10 +11678,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_header_compiler=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -10780,10 +11734,17 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       }; then
+  (exit $ac_status); } >/dev/null; then
+  if test -s conftest.err; then
+    ac_cpp_err=$ac_c_preproc_warn_flag
+    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
+  else
+    ac_cpp_err=
+  fi
+else
+  ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
   ac_header_preproc=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -10899,10 +11860,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_header_compiler=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -10938,10 +11916,17 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       }; then
+  (exit $ac_status); } >/dev/null; then
+  if test -s conftest.err; then
+    ac_cpp_err=$ac_c_preproc_warn_flag
+    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
+  else
+    ac_cpp_err=
+  fi
+else
+  ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
   ac_header_preproc=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -11045,10 +12030,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_header_compiler=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -11084,10 +12086,17 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       }; then
+  (exit $ac_status); } >/dev/null; then
+  if test -s conftest.err; then
+    ac_cpp_err=$ac_c_preproc_warn_flag
+    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
+  else
+    ac_cpp_err=
+  fi
+else
+  ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
   ac_header_preproc=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -11184,10 +12193,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_header_sys_ptem_h=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -11239,11 +12265,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_working_alloca_h=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -11252,7 +12294,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_cv_working_alloca_h=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 fi
 { echo "$as_me:$LINENO: result: $ac_cv_working_alloca_h" >&5
@@ -11283,7 +12325,7 @@ cat >>conftest.$ac_ext <<_ACEOF
 #  include <malloc.h>
 #  define alloca _alloca
 # else
-#  ifdef HAVE_ALLOCA_H
+#  if HAVE_ALLOCA_H
 #   include <alloca.h>
 #  else
 #   ifdef _AIX
@@ -11319,11 +12361,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_func_alloca_works=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -11332,7 +12390,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_cv_func_alloca_works=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 fi
 { echo "$as_me:$LINENO: result: $ac_cv_func_alloca_works" >&5
@@ -11452,11 +12510,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   eval "$as_ac_var=yes"
 else
   echo "$as_me: failed program was:" >&5
@@ -11465,7 +12539,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        eval "$as_ac_var=no"
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 fi
 ac_res=`eval echo '${'$as_ac_var'}'`
@@ -11596,10 +12670,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_func_getpgrp_void=no
 else
   echo "$as_me: failed program was:" >&5
@@ -11634,7 +12725,7 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 #include <stdio.h>
-#        ifdef PROTOTYPES
+#        if PROTOTYPES
           int (setvbuf) (FILE *, int, char *, size_t);
 #        endif
 int
@@ -11658,11 +12749,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -11670,7 +12777,7 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 #include <stdio.h>
-#           ifdef PROTOTYPES
+#           if PROTOTYPES
              int (setvbuf) (FILE *, int, char *, size_t);
 #           endif
 int
@@ -11694,14 +12801,30 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
-  # It compiles and links either way, so it must not be declared
-        # with a prototype and most likely this is a K&R C compiler.
-        # Try running it.
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  # It compiles and links either way, so it must not be declared
+        # with a prototype and most likely this is a K&R C compiler.
+        # Try running it.
         if test "$cross_compiling" = yes; then
   : # Assume setvbuf is not reversed when cross-compiling.
 else
@@ -11766,7 +12889,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 else
   echo "$as_me: failed program was:" >&5
@@ -11775,7 +12898,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 fi
 { echo "$as_me:$LINENO: result: $ac_cv_func_setvbuf_reversed" >&5
@@ -11855,11 +12978,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   eval "$as_ac_var=yes"
 else
   echo "$as_me: failed program was:" >&5
@@ -11868,7 +13007,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        eval "$as_ac_var=no"
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 fi
 ac_res=`eval echo '${'$as_ac_var'}'`
@@ -11942,11 +13081,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_func__doprnt=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -11955,7 +13110,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_cv_func__doprnt=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 fi
 { echo "$as_me:$LINENO: result: $ac_cv_func__doprnt" >&5
@@ -12125,10 +13280,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_type_signal=int
 else
   echo "$as_me: failed program was:" >&5
@@ -12211,11 +13383,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_func___setostype=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -12224,7 +13412,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_cv_func___setostype=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 fi
 { echo "$as_me:$LINENO: result: $ac_cv_func___setostype" >&5
@@ -12299,11 +13487,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_func_wait3=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -12312,7 +13516,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_cv_func_wait3=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 fi
 { echo "$as_me:$LINENO: result: $ac_cv_func_wait3" >&5
@@ -12387,11 +13591,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_func_isinf=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -12400,7 +13620,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_cv_func_isinf=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 fi
 { echo "$as_me:$LINENO: result: $ac_cv_func_isinf" >&5
@@ -12475,11 +13695,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_func_isnan=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -12488,7 +13724,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_cv_func_isnan=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 fi
 { echo "$as_me:$LINENO: result: $ac_cv_func_isnan" >&5
@@ -12564,11 +13800,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_func_mkfifo=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -12577,7 +13829,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_cv_func_mkfifo=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 fi
 { echo "$as_me:$LINENO: result: $ac_cv_func_mkfifo" >&5
@@ -12687,11 +13939,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   eval "$as_ac_var=yes"
 else
   echo "$as_me: failed program was:" >&5
@@ -12700,7 +13968,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        eval "$as_ac_var=no"
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 fi
 ac_res=`eval echo '${'$as_ac_var'}'`
@@ -12781,11 +14049,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   eval "$as_ac_var=yes"
 else
   echo "$as_me: failed program was:" >&5
@@ -12794,7 +14078,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        eval "$as_ac_var=no"
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 fi
 ac_res=`eval echo '${'$as_ac_var'}'`
@@ -12914,11 +14198,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   eval "$as_ac_var=yes"
 else
   echo "$as_me: failed program was:" >&5
@@ -12927,7 +14227,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        eval "$as_ac_var=no"
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 fi
 ac_res=`eval echo '${'$as_ac_var'}'`
@@ -13012,11 +14312,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   eval "$as_ac_var=yes"
 else
   echo "$as_me: failed program was:" >&5
@@ -13025,7 +14341,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        eval "$as_ac_var=no"
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 fi
 ac_res=`eval echo '${'$as_ac_var'}'`
@@ -13111,11 +14427,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   eval "$as_ac_var=yes"
 else
   echo "$as_me: failed program was:" >&5
@@ -13124,7 +14456,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        eval "$as_ac_var=no"
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 fi
 ac_res=`eval echo '${'$as_ac_var'}'`
@@ -13207,27 +14539,43 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
-  eval "$as_ac_var=yes"
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       eval "$as_ac_var=no"
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
-fi
-ac_res=`eval echo '${'$as_ac_var'}'`
-              { echo "$as_me:$LINENO: result: $ac_res" >&5
-echo "${ECHO_T}$ac_res" >&6; }
-if test `eval echo '${'$as_ac_var'}'` = yes; then
-  cat >>confdefs.h <<_ACEOF
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  eval "$as_ac_var=yes"
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       eval "$as_ac_var=no"
+fi
+
+rm -f core conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
+fi
+ac_res=`eval echo '${'$as_ac_var'}'`
+              { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
+if test `eval echo '${'$as_ac_var'}'` = yes; then
+  cat >>confdefs.h <<_ACEOF
 @%:@define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
 _ACEOF
  
@@ -13308,11 +14656,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   eval "$as_ac_var=yes"
 else
   echo "$as_me: failed program was:" >&5
@@ -13321,7 +14685,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        eval "$as_ac_var=no"
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 fi
 ac_res=`eval echo '${'$as_ac_var'}'`
@@ -13416,11 +14780,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   eval "$as_ac_var=yes"
 else
   echo "$as_me: failed program was:" >&5
@@ -13429,7 +14809,125 @@ sed 's/^/| /' conftest.$ac_ext >&5
        eval "$as_ac_var=no"
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
+fi
+ac_res=`eval echo '${'$as_ac_var'}'`
+              { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
+if test `eval echo '${'$as_ac_var'}'` = yes; then
+  cat >>confdefs.h <<_ACEOF
+@%:@define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
+_ACEOF
+else
+  case " $LIB@&t@OBJS " in
+  *" $ac_func.$ac_objext "* ) ;;
+  *) LIB@&t@OBJS="$LIB@&t@OBJS $ac_func.$ac_objext"
+ ;;
+esac
+
+fi
+done
+
+
+
+for ac_func in fdprintf
+do
+as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
+{ echo "$as_me:$LINENO: checking for $ac_func" >&5
+echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; }
+if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
+   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
+#define $ac_func innocuous_$ac_func
+
+/* System header to define __stub macros and hopefully few prototypes,
+    which can conflict with char $ac_func (); below.
+    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+    <limits.h> exists even on freestanding compilers.  */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef $ac_func
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char $ac_func ();
+/* The GNU C library defines this for functions which it implements
+    to always fail with ENOSYS.  Some functions are actually named
+    something starting with __ and the normal name is an alias.  */
+#if defined __stub_$ac_func || defined __stub___$ac_func
+choke me
+#endif
+
+int
+main ()
+{
+return $ac_func ();
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  eval "$as_ac_var=yes"
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       eval "$as_ac_var=no"
+fi
+
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 fi
 ac_res=`eval echo '${'$as_ac_var'}'`
@@ -13468,7 +14966,8 @@ int
 main ()
 {
 #ifndef confstr
-  (void) confstr;
+  char *p = (char *) confstr;
+  return !p;
 #endif
 
   ;
@@ -13488,10 +14987,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_have_decl_confstr=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -13536,7 +15052,8 @@ int
 main ()
 {
 #ifndef printf
-  (void) printf;
+  char *p = (char *) printf;
+  return !p;
 #endif
 
   ;
@@ -13556,10 +15073,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_have_decl_printf=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -13604,7 +15138,8 @@ int
 main ()
 {
 #ifndef sbrk
-  (void) sbrk;
+  char *p = (char *) sbrk;
+  return !p;
 #endif
 
   ;
@@ -13624,10 +15159,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_have_decl_sbrk=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -13672,7 +15224,8 @@ int
 main ()
 {
 #ifndef setregid
-  (void) setregid;
+  char *p = (char *) setregid;
+  return !p;
 #endif
 
   ;
@@ -13692,10 +15245,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_have_decl_setregid=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -13740,7 +15310,8 @@ int
 main ()
 {
 #ifndef strcpy
-  (void) strcpy;
+  char *p = (char *) strcpy;
+  return !p;
 #endif
 
   ;
@@ -13760,10 +15331,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_have_decl_strcpy=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -13808,7 +15396,8 @@ int
 main ()
 {
 #ifndef strsignal
-  (void) strsignal;
+  char *p = (char *) strsignal;
+  return !p;
 #endif
 
   ;
@@ -13828,10 +15417,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_have_decl_strsignal=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -13877,7 +15483,8 @@ int
 main ()
 {
 #ifndef strtold
-  (void) strtold;
+  char *p = (char *) strtold;
+  return !p;
 #endif
 
   ;
@@ -13897,10 +15504,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_have_decl_strtold=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -13953,10 +15577,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   bash_cv_strtold_broken=no
 else
   echo "$as_me: failed program was:" >&5
@@ -14033,11 +15674,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   bash_cv_decl_strtoimax=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -14046,7 +15703,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        bash_cv_decl_strtoimax=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 fi
 { echo "$as_me:$LINENO: result: $bash_cv_decl_strtoimax" >&5
@@ -14107,11 +15764,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   bash_cv_decl_strtol=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -14120,7 +15793,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        bash_cv_decl_strtol=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 fi
 { echo "$as_me:$LINENO: result: $bash_cv_decl_strtol" >&5
@@ -14181,11 +15854,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   bash_cv_decl_strtoll=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -14194,7 +15883,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        bash_cv_decl_strtoll=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 fi
 { echo "$as_me:$LINENO: result: $bash_cv_decl_strtoll" >&5
@@ -14255,11 +15944,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   bash_cv_decl_strtoul=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -14268,7 +15973,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        bash_cv_decl_strtoul=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 fi
 { echo "$as_me:$LINENO: result: $bash_cv_decl_strtoul" >&5
@@ -14329,11 +16034,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   bash_cv_decl_strtoull=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -14342,7 +16063,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        bash_cv_decl_strtoull=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 fi
 { echo "$as_me:$LINENO: result: $bash_cv_decl_strtoull" >&5
@@ -14403,11 +16124,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   bash_cv_decl_strtoumax=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -14416,7 +16153,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        bash_cv_decl_strtoumax=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 fi
 { echo "$as_me:$LINENO: result: $bash_cv_decl_strtoumax" >&5
 
 
 
-       
-  
-  
-for ac_header in $ac_header_list
+
+
+for ac_header in stdlib.h sys/time.h unistd.h
 do
 as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
 if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
@@ -14477,10 +16213,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_header_compiler=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -14516,10 +16269,17 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       }; then
+  (exit $ac_status); } >/dev/null; then
+  if test -s conftest.err; then
+    ac_cpp_err=$ac_c_preproc_warn_flag
+    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
+  else
+    ac_cpp_err=
+  fi
+else
+  ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
   ac_header_preproc=yes
 else
   echo "$as_me: failed program was:" >&5
 
 done
 
-  
-
-
-       
 
-       
-  
-  
-for ac_func in $ac_func_list
+for ac_func in alarm
 do
 as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
 { echo "$as_me:$LINENO: checking for $ac_func" >&5
@@ -14657,11 +16410,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   eval "$as_ac_var=yes"
 else
   echo "$as_me: failed program was:" >&5
@@ -14670,7 +16439,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        eval "$as_ac_var=no"
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 fi
 ac_res=`eval echo '${'$as_ac_var'}'`
@@ -14684,22 +16453,6 @@ _ACEOF
 fi
 done
 
-  
-
-
-  
-
-
-  
-     
-     
-
-
-  
-
-  
-     
-
 { echo "$as_me:$LINENO: checking for working mktime" >&5
 echo $ECHO_N "checking for working mktime... $ECHO_C" >&6; }
 if test "${ac_cv_func_working_mktime+set}" = set; then
@@ -14715,24 +16468,26 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 /* Test program from Paul Eggert and Tony Leneis.  */
-#ifdef TIME_WITH_SYS_TIME
+#if TIME_WITH_SYS_TIME
 # include <sys/time.h>
 # include <time.h>
 #else
-# ifdef HAVE_SYS_TIME_H
+# if HAVE_SYS_TIME_H
 #  include <sys/time.h>
 # else
 #  include <time.h>
 # endif
 #endif
 
-#include <stdlib.h>
+#if HAVE_STDLIB_H
+# include <stdlib.h>
+#endif
 
-#ifdef HAVE_UNISTD_H
+#if HAVE_UNISTD_H
 # include <unistd.h>
 #endif
 
-#ifndef HAVE_ALARM
+#if !HAVE_ALARM
 # define alarm(X) /* empty */
 #endif
 
@@ -14833,36 +16588,6 @@ bigtime_test (j)
   return 1;
 }
 
-static int
-year_2050_test ()
-{
-  /* The correct answer for 2050-02-01 00:00:00 in Pacific time,
-     ignoring leap seconds.  */
-  unsigned long int answer = 2527315200UL;
-
-  struct tm tm;
-  time_t t;
-  tm.tm_year = 2050 - 1900;
-  tm.tm_mon = 2 - 1;
-  tm.tm_mday = 1;
-  tm.tm_hour = tm.tm_min = tm.tm_sec = 0;
-  tm.tm_isdst = -1;
-
-  /* Use the portable POSIX.1 specification "TZ=PST8PDT,M4.1.0,M10.5.0"
-     instead of "TZ=America/Vancouver" in order to detect the bug even
-     on systems that don't support the Olson extension, or don't have the
-     full zoneinfo tables installed.  */
-  putenv ("TZ=PST8PDT,M4.1.0,M10.5.0");
-
-  t = mktime (&tm);
-
-  /* Check that the result is either a failure, or close enough
-     to the correct answer that we can assume the discrepancy is
-     due to leap seconds.  */
-  return (t == (time_t) -1
-         || (0 < t && answer - 120 <= t && t <= answer + 120));
-}
-
 int
 main ()
 {
@@ -14900,7 +16625,7 @@ main ()
       if (! bigtime_test (j - 1))
        return 1;
     }
-  return ! (irix_6_4_bug () && spring_forward_gap () && year_2050_test ());
+  return ! (irix_6_4_bug () && spring_forward_gap ());
 }
 _ACEOF
 rm -f conftest$ac_exeext
@@ -14993,10 +16718,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_header_compiler=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -15032,10 +16774,17 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       }; then
+  (exit $ac_status); } >/dev/null; then
+  if test -s conftest.err; then
+    ac_cpp_err=$ac_c_preproc_warn_flag
+    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
+  else
+    ac_cpp_err=
+  fi
+else
+  ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
   ac_header_preproc=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -15140,10 +16889,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_header_compiler=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -15179,10 +16945,17 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       }; then
+  (exit $ac_status); } >/dev/null; then
+  if test -s conftest.err; then
+    ac_cpp_err=$ac_c_preproc_warn_flag
+    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
+  else
+    ac_cpp_err=
+  fi
+else
+  ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
   ac_header_preproc=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -15313,11 +17086,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   eval "$as_ac_var=yes"
 else
   echo "$as_me: failed program was:" >&5
@@ -15326,7 +17115,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        eval "$as_ac_var=no"
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 fi
 ac_res=`eval echo '${'$as_ac_var'}'`
@@ -15383,21 +17172,21 @@ $ac_includes_default
 #include <fcntl.h>
 #include <sys/mman.h>
 
-#if !defined STDC_HEADERS && !defined HAVE_STDLIB_H
+#if !STDC_HEADERS && !HAVE_STDLIB_H
 char *malloc ();
 #endif
 
 /* This mess was copied from the GNU getpagesize.h.  */
-#ifndef HAVE_GETPAGESIZE
+#if !HAVE_GETPAGESIZE
 /* Assume that all systems that can run configure have sys/param.h.  */
-# ifndef HAVE_SYS_PARAM_H
+# if !HAVE_SYS_PARAM_H
 #  define HAVE_SYS_PARAM_H 1
 # endif
 
 # ifdef _SC_PAGESIZE
 #  define getpagesize() sysconf(_SC_PAGESIZE)
 # else /* no _SC_PAGESIZE */
-#  ifdef HAVE_SYS_PARAM_H
+#  if HAVE_SYS_PARAM_H
 #   include <sys/param.h>
 #   ifdef EXEC_PAGESIZE
 #    define getpagesize() EXEC_PAGESIZE
@@ -15602,11 +17391,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   eval "$as_ac_var=yes"
 else
   echo "$as_me: failed program was:" >&5
@@ -15615,7 +17420,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        eval "$as_ac_var=no"
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 fi
 ac_res=`eval echo '${'$as_ac_var'}'`
@@ -15681,10 +17486,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_header_compiler=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -15720,10 +17542,17 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       }; then
+  (exit $ac_status); } >/dev/null; then
+  if test -s conftest.err; then
+    ac_cpp_err=$ac_c_preproc_warn_flag
+    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
+  else
+    ac_cpp_err=
+  fi
+else
+  ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
   ac_header_preproc=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -15826,10 +17655,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_header_compiler=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -15865,10 +17711,17 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       }; then
+  (exit $ac_status); } >/dev/null; then
+  if test -s conftest.err; then
+    ac_cpp_err=$ac_c_preproc_warn_flag
+    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
+  else
+    ac_cpp_err=
+  fi
+else
+  ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
   ac_header_preproc=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -15967,14 +17820,31 @@ esac
 eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); }; }; then
   ac_header_compiler=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -16010,10 +17880,17 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       }; then
+  (exit $ac_status); } >/dev/null; then
+  if test -s conftest.err; then
+    ac_cpp_err=$ac_c_preproc_warn_flag
+    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
+  else
+    ac_cpp_err=
+  fi
+else
+  ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
   ac_header_preproc=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -16141,11 +18018,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_func_mbrlen=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -16154,7 +18047,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_cv_func_mbrlen=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 fi
 { echo "$as_me:$LINENO: result: $ac_cv_func_mbrlen" >&5
@@ -16229,11 +18122,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_func_mbscmp=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -16242,7 +18151,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_cv_func_mbscmp=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 fi
 { echo "$as_me:$LINENO: result: $ac_cv_func_mbscmp" >&5
@@ -16317,11 +18226,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_func_mbsrtowcs=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -16330,7 +18255,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_cv_func_mbsrtowcs=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 fi
 { echo "$as_me:$LINENO: result: $ac_cv_func_mbsrtowcs" >&5
@@ -16406,11 +18331,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_func_wcrtomb=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -16419,7 +18360,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_cv_func_wcrtomb=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 fi
 { echo "$as_me:$LINENO: result: $ac_cv_func_wcrtomb" >&5
@@ -16494,11 +18435,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_func_wcscoll=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -16507,7 +18464,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_cv_func_wcscoll=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 fi
 { echo "$as_me:$LINENO: result: $ac_cv_func_wcscoll" >&5
@@ -16582,11 +18539,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_func_wcsdup=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -16595,7 +18568,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_cv_func_wcsdup=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 fi
 { echo "$as_me:$LINENO: result: $ac_cv_func_wcsdup" >&5
@@ -16670,11 +18643,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_func_wcwidth=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -16683,7 +18672,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_cv_func_wcwidth=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 fi
 { echo "$as_me:$LINENO: result: $ac_cv_func_wcwidth" >&5
@@ -16758,11 +18747,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_func_wctype=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -16771,7 +18776,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_cv_func_wctype=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 fi
 { echo "$as_me:$LINENO: result: $ac_cv_func_wctype" >&5
@@ -16822,11 +18827,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_func_mbrtowc=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -16835,7 +18856,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_cv_func_mbrtowc=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 fi
 { echo "$as_me:$LINENO: result: $ac_cv_func_mbrtowc" >&5
@@ -16926,11 +18947,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   eval "$as_ac_var=yes"
 else
   echo "$as_me: failed program was:" >&5
@@ -16939,7 +18976,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        eval "$as_ac_var=no"
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 fi
 ac_res=`eval echo '${'$as_ac_var'}'`
@@ -16987,11 +19024,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   bash_cv_langinfo_codeset=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -17000,7 +19053,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        bash_cv_langinfo_codeset=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 fi
 { echo "$as_me:$LINENO: result: $bash_cv_langinfo_codeset" >&5
@@ -17049,10 +19102,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   bash_cv_type_wchar_t=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -17109,10 +19179,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   bash_cv_type_wctype_t=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -17169,10 +19256,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   bash_cv_type_wint_t=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -17233,17 +19337,33 @@ case "(($ac_try" in
   *) ac_try_echo=$ac_try;;
 esac
 eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_link") 2>conftest.er1
+  (eval "$ac_link") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); }; }; then
   ac_cv_lib_dl_dlopen=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -17252,7 +19372,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_cv_lib_dl_dlopen=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
@@ -17336,11 +19456,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   eval "$as_ac_var=yes"
 else
   echo "$as_me: failed program was:" >&5
@@ -17349,7 +19485,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        eval "$as_ac_var=no"
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 fi
 ac_res=`eval echo '${'$as_ac_var'}'`
@@ -17378,7 +19514,7 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 #include <signal.h>
 /* NetBSD declares sys_siglist in unistd.h.  */
-#ifdef HAVE_UNISTD_H
+#if HAVE_UNISTD_H
 # include <unistd.h>
 #endif
 
@@ -17387,7 +19523,8 @@ int
 main ()
 {
 #ifndef sys_siglist
-  (void) sys_siglist;
+  char *p = (char *) sys_siglist;
+  return !p;
 #endif
 
   ;
@@ -17407,10 +19544,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_have_decl_sys_siglist=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -17480,11 +19634,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   bash_cv_func_inet_aton=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -17493,7 +19663,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        bash_cv_func_inet_aton=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 fi
 { echo "$as_me:$LINENO: result: $bash_cv_func_inet_aton" >&5
@@ -17558,11 +19728,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_lib_sun_getpwent=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -17571,7 +19757,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_cv_lib_sun_getpwent=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
@@ -17642,11 +19828,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_lib_socket_getpeername=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -17655,7 +19857,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_cv_lib_socket_getpeername=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
@@ -17728,11 +19930,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_lib_nsl_t_open=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -17741,7 +19959,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_cv_lib_nsl_t_open=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
@@ -17817,11 +20035,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   bash_cv_have_gethostbyname=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -17830,7 +20064,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        bash_cv_have_gethostbyname=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 
 fi
@@ -18024,10 +20258,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_type_off_t=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -18087,10 +20338,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_type_mode_t=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -18188,10 +20456,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_type_pid_t=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -18251,10 +20536,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_type_size_t=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -18314,10 +20616,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_type_ssize_t=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -18377,10 +20696,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_type_time_t=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -18436,17 +20772,33 @@ case "(($ac_try" in
   *) ac_try_echo=$ac_try;;
 esac
 eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_link") 2>conftest.er1
+  (eval "$ac_link") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); }; }; then
   bash_cv_type_long_long='long long'
 else
   echo "$as_me: failed program was:" >&5
@@ -18455,7 +20807,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        bash_cv_type_long_long='long'
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 fi
 { echo "$as_me:$LINENO: result: $bash_cv_type_long_long" >&5
@@ -18505,11 +20857,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   bash_cv_type_unsigned_long_long='unsigned long long'
 else
   echo "$as_me: failed program was:" >&5
@@ -18518,7 +20886,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        bash_cv_type_unsigned_long_long='unsigned long'
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 fi
 { echo "$as_me:$LINENO: result: $bash_cv_type_unsigned_long_long" >&5
@@ -18566,10 +20934,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_type_signal=int
 else
   echo "$as_me: failed program was:" >&5
@@ -18626,10 +21011,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_type_char=yes
 else
   echo "$as_me: failed program was:" >&5
 { echo "$as_me:$LINENO: result: $ac_cv_type_char" >&5
 echo "${ECHO_T}$ac_cv_type_char" >&6; }
 
-# The cast to long int works around a bug in the HP C Compiler
-# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-# This bug is HP SR number 8606223364.
 { echo "$as_me:$LINENO: checking size of char" >&5
 echo $ECHO_N "checking size of char... $ECHO_C" >&6; }
 if test "${ac_cv_sizeof_char+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
+  if test "$ac_cv_type_char" = yes; then
+  # The cast to long int works around a bug in the HP C Compiler
+  # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+  # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+  # This bug is HP SR number 8606223364.
   if test "$cross_compiling" = yes; then
   # Depending upon the size, compute the lo and hi bounds.
 cat >conftest.$ac_ext <<_ACEOF
@@ -18661,7 +21064,7 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
-   typedef char ac__type_sizeof_;
+                  typedef char ac__type_sizeof_;
 int
 main ()
 {
@@ -18685,10 +21088,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_lo=0 ac_mid=0
   while :; do
     cat >conftest.$ac_ext <<_ACEOF
@@ -18698,7 +21118,7 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
-   typedef char ac__type_sizeof_;
+                  typedef char ac__type_sizeof_;
 int
 main ()
 {
@@ -18722,10 +21142,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_hi=$ac_mid; break
 else
   echo "$as_me: failed program was:" >&5
@@ -18752,7 +21189,7 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
-   typedef char ac__type_sizeof_;
+                  typedef char ac__type_sizeof_;
 int
 main ()
 {
@@ -18776,10 +21213,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_hi=-1 ac_mid=-1
   while :; do
     cat >conftest.$ac_ext <<_ACEOF
@@ -18789,7 +21243,7 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
-   typedef char ac__type_sizeof_;
+                  typedef char ac__type_sizeof_;
 int
 main ()
 {
@@ -18813,10 +21267,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_lo=$ac_mid; break
 else
   echo "$as_me: failed program was:" >&5
@@ -18853,7 +21324,7 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
-   typedef char ac__type_sizeof_;
+                  typedef char ac__type_sizeof_;
 int
 main ()
 {
@@ -18877,10 +21348,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_hi=$ac_mid
 else
   echo "$as_me: failed program was:" >&5
@@ -18893,15 +21381,11 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 done
 case $ac_lo in
 ?*) ac_cv_sizeof_char=$ac_lo;;
-'') if test "$ac_cv_type_char" = yes; then
-     { { echo "$as_me:$LINENO: error: cannot compute sizeof (char)
+'') { { echo "$as_me:$LINENO: error: cannot compute sizeof (char)
 See \`config.log' for more details." >&5
 echo "$as_me: error: cannot compute sizeof (char)
 See \`config.log' for more details." >&2;}
-   { (exit 77); exit 77; }; }
-   else
-     ac_cv_sizeof_char=0
-   fi ;;
+   { (exit 77); exit 77; }; } ;;
 esac
 else
   cat >conftest.$ac_ext <<_ACEOF
@@ -18911,7 +21395,7 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
-   typedef char ac__type_sizeof_;
+                  typedef char ac__type_sizeof_;
 static long int longval () { return (long int) (sizeof (ac__type_sizeof_)); }
 static unsigned long int ulongval () { return (long int) (sizeof (ac__type_sizeof_)); }
 @%:@include <stdio.h>
@@ -18970,25 +21454,21 @@ echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
 ( exit $ac_status )
-if test "$ac_cv_type_char" = yes; then
-     { { echo "$as_me:$LINENO: error: cannot compute sizeof (char)
+{ { echo "$as_me:$LINENO: error: cannot compute sizeof (char)
 See \`config.log' for more details." >&5
 echo "$as_me: error: cannot compute sizeof (char)
 See \`config.log' for more details." >&2;}
    { (exit 77); exit 77; }; }
-   else
-     ac_cv_sizeof_char=0
-   fi
 fi
 rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
 rm -f conftest.val
+else
+  ac_cv_sizeof_char=0
+fi
 fi
 { echo "$as_me:$LINENO: result: $ac_cv_sizeof_char" >&5
 echo "${ECHO_T}$ac_cv_sizeof_char" >&6; }
-
-
-
 cat >>confdefs.h <<_ACEOF
 @%:@define SIZEOF_CHAR $ac_cv_sizeof_char
 _ACEOF
@@ -19031,10 +21511,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_type_short=yes
 else
   echo "$as_me: failed program was:" >&5
 { echo "$as_me:$LINENO: result: $ac_cv_type_short" >&5
 echo "${ECHO_T}$ac_cv_type_short" >&6; }
 
-# The cast to long int works around a bug in the HP C Compiler
-# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-# This bug is HP SR number 8606223364.
 { echo "$as_me:$LINENO: checking size of short" >&5
 echo $ECHO_N "checking size of short... $ECHO_C" >&6; }
 if test "${ac_cv_sizeof_short+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
+  if test "$ac_cv_type_short" = yes; then
+  # The cast to long int works around a bug in the HP C Compiler
+  # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+  # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+  # This bug is HP SR number 8606223364.
   if test "$cross_compiling" = yes; then
   # Depending upon the size, compute the lo and hi bounds.
 cat >conftest.$ac_ext <<_ACEOF
@@ -19066,7 +21564,7 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
-   typedef short ac__type_sizeof_;
+                  typedef short ac__type_sizeof_;
 int
 main ()
 {
@@ -19090,10 +21588,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_lo=0 ac_mid=0
   while :; do
     cat >conftest.$ac_ext <<_ACEOF
@@ -19103,7 +21618,7 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
-   typedef short ac__type_sizeof_;
+                  typedef short ac__type_sizeof_;
 int
 main ()
 {
@@ -19127,10 +21642,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_hi=$ac_mid; break
 else
   echo "$as_me: failed program was:" >&5
@@ -19157,7 +21689,7 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
-   typedef short ac__type_sizeof_;
+                  typedef short ac__type_sizeof_;
 int
 main ()
 {
@@ -19181,10 +21713,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_hi=-1 ac_mid=-1
   while :; do
     cat >conftest.$ac_ext <<_ACEOF
@@ -19194,7 +21743,7 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
-   typedef short ac__type_sizeof_;
+                  typedef short ac__type_sizeof_;
 int
 main ()
 {
@@ -19218,10 +21767,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_lo=$ac_mid; break
 else
   echo "$as_me: failed program was:" >&5
@@ -19258,7 +21824,7 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
-   typedef short ac__type_sizeof_;
+                  typedef short ac__type_sizeof_;
 int
 main ()
 {
@@ -19276,16 +21842,33 @@ case "(($ac_try" in
   *) ac_try_echo=$ac_try;;
 esac
 eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compile") 2>conftest.er1
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); }; }; then
   ac_hi=$ac_mid
 else
   echo "$as_me: failed program was:" >&5
@@ -19298,15 +21881,11 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 done
 case $ac_lo in
 ?*) ac_cv_sizeof_short=$ac_lo;;
-'') if test "$ac_cv_type_short" = yes; then
-     { { echo "$as_me:$LINENO: error: cannot compute sizeof (short)
+'') { { echo "$as_me:$LINENO: error: cannot compute sizeof (short)
 See \`config.log' for more details." >&5
 echo "$as_me: error: cannot compute sizeof (short)
 See \`config.log' for more details." >&2;}
-   { (exit 77); exit 77; }; }
-   else
-     ac_cv_sizeof_short=0
-   fi ;;
+   { (exit 77); exit 77; }; } ;;
 esac
 else
   cat >conftest.$ac_ext <<_ACEOF
@@ -19316,7 +21895,7 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
-   typedef short ac__type_sizeof_;
+                  typedef short ac__type_sizeof_;
 static long int longval () { return (long int) (sizeof (ac__type_sizeof_)); }
 static unsigned long int ulongval () { return (long int) (sizeof (ac__type_sizeof_)); }
 @%:@include <stdio.h>
@@ -19375,25 +21954,21 @@ echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
 ( exit $ac_status )
-if test "$ac_cv_type_short" = yes; then
-     { { echo "$as_me:$LINENO: error: cannot compute sizeof (short)
+{ { echo "$as_me:$LINENO: error: cannot compute sizeof (short)
 See \`config.log' for more details." >&5
 echo "$as_me: error: cannot compute sizeof (short)
 See \`config.log' for more details." >&2;}
    { (exit 77); exit 77; }; }
-   else
-     ac_cv_sizeof_short=0
-   fi
 fi
 rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
 rm -f conftest.val
+else
+  ac_cv_sizeof_short=0
+fi
 fi
 { echo "$as_me:$LINENO: result: $ac_cv_sizeof_short" >&5
 echo "${ECHO_T}$ac_cv_sizeof_short" >&6; }
-
-
-
 cat >>confdefs.h <<_ACEOF
 @%:@define SIZEOF_SHORT $ac_cv_sizeof_short
 _ACEOF
@@ -19436,10 +22011,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_type_int=yes
 else
   echo "$as_me: failed program was:" >&5
 { echo "$as_me:$LINENO: result: $ac_cv_type_int" >&5
 echo "${ECHO_T}$ac_cv_type_int" >&6; }
 
-# The cast to long int works around a bug in the HP C Compiler
-# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-# This bug is HP SR number 8606223364.
 { echo "$as_me:$LINENO: checking size of int" >&5
 echo $ECHO_N "checking size of int... $ECHO_C" >&6; }
 if test "${ac_cv_sizeof_int+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
+  if test "$ac_cv_type_int" = yes; then
+  # The cast to long int works around a bug in the HP C Compiler
+  # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+  # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+  # This bug is HP SR number 8606223364.
   if test "$cross_compiling" = yes; then
   # Depending upon the size, compute the lo and hi bounds.
 cat >conftest.$ac_ext <<_ACEOF
@@ -19471,7 +22064,7 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
-   typedef int ac__type_sizeof_;
+                  typedef int ac__type_sizeof_;
 int
 main ()
 {
@@ -19495,10 +22088,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_lo=0 ac_mid=0
   while :; do
     cat >conftest.$ac_ext <<_ACEOF
@@ -19508,7 +22118,7 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
-   typedef int ac__type_sizeof_;
+                  typedef int ac__type_sizeof_;
 int
 main ()
 {
@@ -19532,10 +22142,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_hi=$ac_mid; break
 else
   echo "$as_me: failed program was:" >&5
@@ -19562,7 +22189,7 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
-   typedef int ac__type_sizeof_;
+                  typedef int ac__type_sizeof_;
 int
 main ()
 {
@@ -19586,10 +22213,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_hi=-1 ac_mid=-1
   while :; do
     cat >conftest.$ac_ext <<_ACEOF
@@ -19599,7 +22243,7 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
-   typedef int ac__type_sizeof_;
+                  typedef int ac__type_sizeof_;
 int
 main ()
 {
@@ -19623,10 +22267,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_lo=$ac_mid; break
 else
   echo "$as_me: failed program was:" >&5
@@ -19663,7 +22324,7 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
-   typedef int ac__type_sizeof_;
+                  typedef int ac__type_sizeof_;
 int
 main ()
 {
@@ -19687,10 +22348,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_hi=$ac_mid
 else
   echo "$as_me: failed program was:" >&5
@@ -19703,15 +22381,11 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 done
 case $ac_lo in
 ?*) ac_cv_sizeof_int=$ac_lo;;
-'') if test "$ac_cv_type_int" = yes; then
-     { { echo "$as_me:$LINENO: error: cannot compute sizeof (int)
+'') { { echo "$as_me:$LINENO: error: cannot compute sizeof (int)
 See \`config.log' for more details." >&5
 echo "$as_me: error: cannot compute sizeof (int)
 See \`config.log' for more details." >&2;}
-   { (exit 77); exit 77; }; }
-   else
-     ac_cv_sizeof_int=0
-   fi ;;
+   { (exit 77); exit 77; }; } ;;
 esac
 else
   cat >conftest.$ac_ext <<_ACEOF
@@ -19721,7 +22395,7 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
-   typedef int ac__type_sizeof_;
+                  typedef int ac__type_sizeof_;
 static long int longval () { return (long int) (sizeof (ac__type_sizeof_)); }
 static unsigned long int ulongval () { return (long int) (sizeof (ac__type_sizeof_)); }
 @%:@include <stdio.h>
@@ -19780,25 +22454,21 @@ echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
 ( exit $ac_status )
-if test "$ac_cv_type_int" = yes; then
-     { { echo "$as_me:$LINENO: error: cannot compute sizeof (int)
+{ { echo "$as_me:$LINENO: error: cannot compute sizeof (int)
 See \`config.log' for more details." >&5
 echo "$as_me: error: cannot compute sizeof (int)
 See \`config.log' for more details." >&2;}
    { (exit 77); exit 77; }; }
-   else
-     ac_cv_sizeof_int=0
-   fi
 fi
 rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
 rm -f conftest.val
+else
+  ac_cv_sizeof_int=0
+fi
 fi
 { echo "$as_me:$LINENO: result: $ac_cv_sizeof_int" >&5
 echo "${ECHO_T}$ac_cv_sizeof_int" >&6; }
-
-
-
 cat >>confdefs.h <<_ACEOF
 @%:@define SIZEOF_INT $ac_cv_sizeof_int
 _ACEOF
@@ -19841,10 +22511,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_type_long=yes
 else
   echo "$as_me: failed program was:" >&5
 { echo "$as_me:$LINENO: result: $ac_cv_type_long" >&5
 echo "${ECHO_T}$ac_cv_type_long" >&6; }
 
-# The cast to long int works around a bug in the HP C Compiler
-# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-# This bug is HP SR number 8606223364.
 { echo "$as_me:$LINENO: checking size of long" >&5
 echo $ECHO_N "checking size of long... $ECHO_C" >&6; }
 if test "${ac_cv_sizeof_long+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
+  if test "$ac_cv_type_long" = yes; then
+  # The cast to long int works around a bug in the HP C Compiler
+  # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+  # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+  # This bug is HP SR number 8606223364.
   if test "$cross_compiling" = yes; then
   # Depending upon the size, compute the lo and hi bounds.
 cat >conftest.$ac_ext <<_ACEOF
@@ -19876,7 +22564,7 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
-   typedef long ac__type_sizeof_;
+                  typedef long ac__type_sizeof_;
 int
 main ()
 {
@@ -19900,10 +22588,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_lo=0 ac_mid=0
   while :; do
     cat >conftest.$ac_ext <<_ACEOF
@@ -19913,7 +22618,7 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
-   typedef long ac__type_sizeof_;
+                  typedef long ac__type_sizeof_;
 int
 main ()
 {
@@ -19937,10 +22642,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_hi=$ac_mid; break
 else
   echo "$as_me: failed program was:" >&5
@@ -19967,7 +22689,7 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
-   typedef long ac__type_sizeof_;
+                  typedef long ac__type_sizeof_;
 int
 main ()
 {
@@ -19991,10 +22713,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_hi=-1 ac_mid=-1
   while :; do
     cat >conftest.$ac_ext <<_ACEOF
@@ -20004,7 +22743,7 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
-   typedef long ac__type_sizeof_;
+                  typedef long ac__type_sizeof_;
 int
 main ()
 {
@@ -20028,10 +22767,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_lo=$ac_mid; break
 else
   echo "$as_me: failed program was:" >&5
@@ -20068,7 +22824,7 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
-   typedef long ac__type_sizeof_;
+                  typedef long ac__type_sizeof_;
 int
 main ()
 {
@@ -20092,10 +22848,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_hi=$ac_mid
 else
   echo "$as_me: failed program was:" >&5
@@ -20108,15 +22881,11 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 done
 case $ac_lo in
 ?*) ac_cv_sizeof_long=$ac_lo;;
-'') if test "$ac_cv_type_long" = yes; then
-     { { echo "$as_me:$LINENO: error: cannot compute sizeof (long)
+'') { { echo "$as_me:$LINENO: error: cannot compute sizeof (long)
 See \`config.log' for more details." >&5
 echo "$as_me: error: cannot compute sizeof (long)
 See \`config.log' for more details." >&2;}
-   { (exit 77); exit 77; }; }
-   else
-     ac_cv_sizeof_long=0
-   fi ;;
+   { (exit 77); exit 77; }; } ;;
 esac
 else
   cat >conftest.$ac_ext <<_ACEOF
@@ -20126,7 +22895,7 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
-   typedef long ac__type_sizeof_;
+                  typedef long ac__type_sizeof_;
 static long int longval () { return (long int) (sizeof (ac__type_sizeof_)); }
 static unsigned long int ulongval () { return (long int) (sizeof (ac__type_sizeof_)); }
 @%:@include <stdio.h>
@@ -20185,25 +22954,21 @@ echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
 ( exit $ac_status )
-if test "$ac_cv_type_long" = yes; then
-     { { echo "$as_me:$LINENO: error: cannot compute sizeof (long)
+{ { echo "$as_me:$LINENO: error: cannot compute sizeof (long)
 See \`config.log' for more details." >&5
 echo "$as_me: error: cannot compute sizeof (long)
 See \`config.log' for more details." >&2;}
    { (exit 77); exit 77; }; }
-   else
-     ac_cv_sizeof_long=0
-   fi
 fi
 rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
 rm -f conftest.val
+else
+  ac_cv_sizeof_long=0
+fi
 fi
 { echo "$as_me:$LINENO: result: $ac_cv_sizeof_long" >&5
 echo "${ECHO_T}$ac_cv_sizeof_long" >&6; }
-
-
-
 cat >>confdefs.h <<_ACEOF
 @%:@define SIZEOF_LONG $ac_cv_sizeof_long
 _ACEOF
@@ -20242,14 +23007,31 @@ esac
 eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); }; }; then
   ac_cv_type_char_p=yes
 else
   echo "$as_me: failed program was:" >&5
 { echo "$as_me:$LINENO: result: $ac_cv_type_char_p" >&5
 echo "${ECHO_T}$ac_cv_type_char_p" >&6; }
 
-# The cast to long int works around a bug in the HP C Compiler
-# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-# This bug is HP SR number 8606223364.
 { echo "$as_me:$LINENO: checking size of char *" >&5
 echo $ECHO_N "checking size of char *... $ECHO_C" >&6; }
 if test "${ac_cv_sizeof_char_p+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
+  if test "$ac_cv_type_char_p" = yes; then
+  # The cast to long int works around a bug in the HP C Compiler
+  # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+  # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+  # This bug is HP SR number 8606223364.
   if test "$cross_compiling" = yes; then
   # Depending upon the size, compute the lo and hi bounds.
 cat >conftest.$ac_ext <<_ACEOF
@@ -20281,7 +23064,7 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
-   typedef char * ac__type_sizeof_;
+                  typedef char * ac__type_sizeof_;
 int
 main ()
 {
@@ -20305,10 +23088,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_lo=0 ac_mid=0
   while :; do
     cat >conftest.$ac_ext <<_ACEOF
@@ -20318,7 +23118,7 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
-   typedef char * ac__type_sizeof_;
+                  typedef char * ac__type_sizeof_;
 int
 main ()
 {
@@ -20342,10 +23142,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_hi=$ac_mid; break
 else
   echo "$as_me: failed program was:" >&5
@@ -20372,7 +23189,7 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
-   typedef char * ac__type_sizeof_;
+                  typedef char * ac__type_sizeof_;
 int
 main ()
 {
@@ -20396,10 +23213,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_hi=-1 ac_mid=-1
   while :; do
     cat >conftest.$ac_ext <<_ACEOF
@@ -20409,7 +23243,7 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
-   typedef char * ac__type_sizeof_;
+                  typedef char * ac__type_sizeof_;
 int
 main ()
 {
@@ -20433,10 +23267,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_lo=$ac_mid; break
 else
   echo "$as_me: failed program was:" >&5
@@ -20473,7 +23324,7 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
-   typedef char * ac__type_sizeof_;
+                  typedef char * ac__type_sizeof_;
 int
 main ()
 {
@@ -20497,10 +23348,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_hi=$ac_mid
 else
   echo "$as_me: failed program was:" >&5
@@ -20513,15 +23381,11 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 done
 case $ac_lo in
 ?*) ac_cv_sizeof_char_p=$ac_lo;;
-'') if test "$ac_cv_type_char_p" = yes; then
-     { { echo "$as_me:$LINENO: error: cannot compute sizeof (char *)
+'') { { echo "$as_me:$LINENO: error: cannot compute sizeof (char *)
 See \`config.log' for more details." >&5
 echo "$as_me: error: cannot compute sizeof (char *)
 See \`config.log' for more details." >&2;}
-   { (exit 77); exit 77; }; }
-   else
-     ac_cv_sizeof_char_p=0
-   fi ;;
+   { (exit 77); exit 77; }; } ;;
 esac
 else
   cat >conftest.$ac_ext <<_ACEOF
@@ -20531,7 +23395,7 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
-   typedef char * ac__type_sizeof_;
+                  typedef char * ac__type_sizeof_;
 static long int longval () { return (long int) (sizeof (ac__type_sizeof_)); }
 static unsigned long int ulongval () { return (long int) (sizeof (ac__type_sizeof_)); }
 @%:@include <stdio.h>
@@ -20590,25 +23454,21 @@ echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
 ( exit $ac_status )
-if test "$ac_cv_type_char_p" = yes; then
-     { { echo "$as_me:$LINENO: error: cannot compute sizeof (char *)
+{ { echo "$as_me:$LINENO: error: cannot compute sizeof (char *)
 See \`config.log' for more details." >&5
 echo "$as_me: error: cannot compute sizeof (char *)
 See \`config.log' for more details." >&2;}
    { (exit 77); exit 77; }; }
-   else
-     ac_cv_sizeof_char_p=0
-   fi
 fi
 rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
 rm -f conftest.val
+else
+  ac_cv_sizeof_char_p=0
+fi
 fi
 { echo "$as_me:$LINENO: result: $ac_cv_sizeof_char_p" >&5
 echo "${ECHO_T}$ac_cv_sizeof_char_p" >&6; }
-
-
-
 cat >>confdefs.h <<_ACEOF
 @%:@define SIZEOF_CHAR_P $ac_cv_sizeof_char_p
 _ACEOF
@@ -20651,10 +23511,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_type_double=yes
 else
   echo "$as_me: failed program was:" >&5
 { echo "$as_me:$LINENO: result: $ac_cv_type_double" >&5
 echo "${ECHO_T}$ac_cv_type_double" >&6; }
 
-# The cast to long int works around a bug in the HP C Compiler
-# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-# This bug is HP SR number 8606223364.
 { echo "$as_me:$LINENO: checking size of double" >&5
 echo $ECHO_N "checking size of double... $ECHO_C" >&6; }
 if test "${ac_cv_sizeof_double+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
+  if test "$ac_cv_type_double" = yes; then
+  # The cast to long int works around a bug in the HP C Compiler
+  # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+  # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+  # This bug is HP SR number 8606223364.
   if test "$cross_compiling" = yes; then
   # Depending upon the size, compute the lo and hi bounds.
 cat >conftest.$ac_ext <<_ACEOF
@@ -20686,7 +23564,7 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
-   typedef double ac__type_sizeof_;
+                  typedef double ac__type_sizeof_;
 int
 main ()
 {
@@ -20710,10 +23588,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_lo=0 ac_mid=0
   while :; do
     cat >conftest.$ac_ext <<_ACEOF
@@ -20723,7 +23618,7 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
-   typedef double ac__type_sizeof_;
+                  typedef double ac__type_sizeof_;
 int
 main ()
 {
@@ -20747,10 +23642,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_hi=$ac_mid; break
 else
   echo "$as_me: failed program was:" >&5
@@ -20777,7 +23689,7 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
-   typedef double ac__type_sizeof_;
+                  typedef double ac__type_sizeof_;
 int
 main ()
 {
@@ -20801,10 +23713,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_hi=-1 ac_mid=-1
   while :; do
     cat >conftest.$ac_ext <<_ACEOF
@@ -20814,7 +23743,7 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
-   typedef double ac__type_sizeof_;
+                  typedef double ac__type_sizeof_;
 int
 main ()
 {
@@ -20838,10 +23767,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_lo=$ac_mid; break
 else
   echo "$as_me: failed program was:" >&5
@@ -20878,7 +23824,7 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
-   typedef double ac__type_sizeof_;
+                  typedef double ac__type_sizeof_;
 int
 main ()
 {
@@ -20902,10 +23848,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_hi=$ac_mid
 else
   echo "$as_me: failed program was:" >&5
@@ -20918,15 +23881,11 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 done
 case $ac_lo in
 ?*) ac_cv_sizeof_double=$ac_lo;;
-'') if test "$ac_cv_type_double" = yes; then
-     { { echo "$as_me:$LINENO: error: cannot compute sizeof (double)
+'') { { echo "$as_me:$LINENO: error: cannot compute sizeof (double)
 See \`config.log' for more details." >&5
 echo "$as_me: error: cannot compute sizeof (double)
 See \`config.log' for more details." >&2;}
-   { (exit 77); exit 77; }; }
-   else
-     ac_cv_sizeof_double=0
-   fi ;;
+   { (exit 77); exit 77; }; } ;;
 esac
 else
   cat >conftest.$ac_ext <<_ACEOF
@@ -20936,7 +23895,7 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
-   typedef double ac__type_sizeof_;
+                  typedef double ac__type_sizeof_;
 static long int longval () { return (long int) (sizeof (ac__type_sizeof_)); }
 static unsigned long int ulongval () { return (long int) (sizeof (ac__type_sizeof_)); }
 @%:@include <stdio.h>
@@ -20995,25 +23954,21 @@ echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
 ( exit $ac_status )
-if test "$ac_cv_type_double" = yes; then
-     { { echo "$as_me:$LINENO: error: cannot compute sizeof (double)
+{ { echo "$as_me:$LINENO: error: cannot compute sizeof (double)
 See \`config.log' for more details." >&5
 echo "$as_me: error: cannot compute sizeof (double)
 See \`config.log' for more details." >&2;}
    { (exit 77); exit 77; }; }
-   else
-     ac_cv_sizeof_double=0
-   fi
 fi
 rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
 rm -f conftest.val
+else
+  ac_cv_sizeof_double=0
+fi
 fi
 { echo "$as_me:$LINENO: result: $ac_cv_sizeof_double" >&5
 echo "${ECHO_T}$ac_cv_sizeof_double" >&6; }
-
-
-
 cat >>confdefs.h <<_ACEOF
 @%:@define SIZEOF_DOUBLE $ac_cv_sizeof_double
 _ACEOF
@@ -21056,10 +24011,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_type_long_long=yes
 else
   echo "$as_me: failed program was:" >&5
 { echo "$as_me:$LINENO: result: $ac_cv_type_long_long" >&5
 echo "${ECHO_T}$ac_cv_type_long_long" >&6; }
 
-# The cast to long int works around a bug in the HP C Compiler
-# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-# This bug is HP SR number 8606223364.
 { echo "$as_me:$LINENO: checking size of long long" >&5
 echo $ECHO_N "checking size of long long... $ECHO_C" >&6; }
 if test "${ac_cv_sizeof_long_long+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
+  if test "$ac_cv_type_long_long" = yes; then
+  # The cast to long int works around a bug in the HP C Compiler
+  # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+  # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+  # This bug is HP SR number 8606223364.
   if test "$cross_compiling" = yes; then
   # Depending upon the size, compute the lo and hi bounds.
 cat >conftest.$ac_ext <<_ACEOF
@@ -21091,7 +24064,7 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
-   typedef long long ac__type_sizeof_;
+                  typedef long long ac__type_sizeof_;
 int
 main ()
 {
@@ -21115,10 +24088,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_lo=0 ac_mid=0
   while :; do
     cat >conftest.$ac_ext <<_ACEOF
@@ -21128,7 +24118,7 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
-   typedef long long ac__type_sizeof_;
+                  typedef long long ac__type_sizeof_;
 int
 main ()
 {
@@ -21146,16 +24136,33 @@ case "(($ac_try" in
   *) ac_try_echo=$ac_try;;
 esac
 eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compile") 2>conftest.er1
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); }; }; then
   ac_hi=$ac_mid; break
 else
   echo "$as_me: failed program was:" >&5
@@ -21182,7 +24189,7 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
-   typedef long long ac__type_sizeof_;
+                  typedef long long ac__type_sizeof_;
 int
 main ()
 {
@@ -21206,10 +24213,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_hi=-1 ac_mid=-1
   while :; do
     cat >conftest.$ac_ext <<_ACEOF
@@ -21219,7 +24243,7 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
-   typedef long long ac__type_sizeof_;
+                  typedef long long ac__type_sizeof_;
 int
 main ()
 {
@@ -21243,10 +24267,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_lo=$ac_mid; break
 else
   echo "$as_me: failed program was:" >&5
@@ -21283,7 +24324,7 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
-   typedef long long ac__type_sizeof_;
+                  typedef long long ac__type_sizeof_;
 int
 main ()
 {
@@ -21307,10 +24348,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_hi=$ac_mid
 else
   echo "$as_me: failed program was:" >&5
@@ -21323,15 +24381,11 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 done
 case $ac_lo in
 ?*) ac_cv_sizeof_long_long=$ac_lo;;
-'') if test "$ac_cv_type_long_long" = yes; then
-     { { echo "$as_me:$LINENO: error: cannot compute sizeof (long long)
+'') { { echo "$as_me:$LINENO: error: cannot compute sizeof (long long)
 See \`config.log' for more details." >&5
 echo "$as_me: error: cannot compute sizeof (long long)
 See \`config.log' for more details." >&2;}
-   { (exit 77); exit 77; }; }
-   else
-     ac_cv_sizeof_long_long=0
-   fi ;;
+   { (exit 77); exit 77; }; } ;;
 esac
 else
   cat >conftest.$ac_ext <<_ACEOF
@@ -21341,7 +24395,7 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
-   typedef long long ac__type_sizeof_;
+                  typedef long long ac__type_sizeof_;
 static long int longval () { return (long int) (sizeof (ac__type_sizeof_)); }
 static unsigned long int ulongval () { return (long int) (sizeof (ac__type_sizeof_)); }
 @%:@include <stdio.h>
@@ -21400,25 +24454,21 @@ echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
 ( exit $ac_status )
-if test "$ac_cv_type_long_long" = yes; then
-     { { echo "$as_me:$LINENO: error: cannot compute sizeof (long long)
+{ { echo "$as_me:$LINENO: error: cannot compute sizeof (long long)
 See \`config.log' for more details." >&5
 echo "$as_me: error: cannot compute sizeof (long long)
 See \`config.log' for more details." >&2;}
    { (exit 77); exit 77; }; }
-   else
-     ac_cv_sizeof_long_long=0
-   fi
 fi
 rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
 rm -f conftest.val
+else
+  ac_cv_sizeof_long_long=0
+fi
 fi
 { echo "$as_me:$LINENO: result: $ac_cv_sizeof_long_long" >&5
 echo "${ECHO_T}$ac_cv_sizeof_long_long" >&6; }
-
-
-
 cat >>confdefs.h <<_ACEOF
 @%:@define SIZEOF_LONG_LONG $ac_cv_sizeof_long_long
 _ACEOF
@@ -21462,10 +24512,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_type_u_int=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -21525,10 +24592,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_type_u_long=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -21591,10 +24675,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_type_bits16_t=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -21655,10 +24756,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_type_bits16_t=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -21719,10 +24837,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_type_bits16_t=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -21786,10 +24921,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_type_u_bits16_t=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -21850,10 +25002,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_type_u_bits16_t=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -21914,10 +25083,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_type_u_bits16_t=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -21981,10 +25167,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_type_bits32_t=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -22045,10 +25248,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_type_bits32_t=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -22103,16 +25323,33 @@ case "(($ac_try" in
   *) ac_try_echo=$ac_try;;
 esac
 eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compile") 2>conftest.er1
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); }; }; then
   ac_cv_type_bits32_t=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -22176,10 +25413,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_type_u_bits32_t=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -22240,10 +25494,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_type_u_bits32_t=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -22304,10 +25575,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_type_u_bits32_t=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -22371,10 +25659,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_type_bits64_t=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -22435,10 +25740,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_type_bits64_t=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -22499,10 +25821,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_type_bits64_t=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -22563,10 +25902,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_type_bits64_t=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -22627,10 +25983,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_type_bits64_t=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -22695,10 +26068,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_type_ptrdiff_t=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -22759,10 +26149,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_type_ptrdiff_t=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -22823,10 +26230,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_type_ptrdiff_t=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -22887,10 +26311,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_type_ptrdiff_t=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -22931,48 +26372,38 @@ cat >>conftest.$ac_ext <<_ACEOF
 #include <sys/stat.h>
 
 #if defined S_ISBLK && defined S_IFDIR
-extern char c1[S_ISBLK (S_IFDIR) ? -1 : 1];
+# if S_ISBLK (S_IFDIR)
+You lose.
+# endif
 #endif
 
 #if defined S_ISBLK && defined S_IFCHR
-extern char c2[S_ISBLK (S_IFCHR) ? -1 : 1];
+# if S_ISBLK (S_IFCHR)
+You lose.
+# endif
 #endif
 
 #if defined S_ISLNK && defined S_IFREG
-extern char c3[S_ISLNK (S_IFREG) ? -1 : 1];
+# if S_ISLNK (S_IFREG)
+You lose.
+# endif
 #endif
 
 #if defined S_ISSOCK && defined S_IFREG
-extern char c4[S_ISSOCK (S_IFREG) ? -1 : 1];
+# if S_ISSOCK (S_IFREG)
+You lose.
+# endif
 #endif
 
 _ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_cv_header_stat_broken=no
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "You lose" >/dev/null 2>&1; then
+  ac_cv_header_stat_broken=yes
 else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_cv_header_stat_broken=yes
+  ac_cv_header_stat_broken=no
 fi
+rm -f conftest*
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 { echo "$as_me:$LINENO: result: $ac_cv_header_stat_broken" >&5
 echo "${ECHO_T}$ac_cv_header_stat_broken" >&6; }
@@ -22994,7 +26425,7 @@ else
 exit 69
 ' >conftest
 chmod u+x conftest
-(SHELL=/bin/sh; export SHELL; ./conftest >/dev/null 2>&1)
+(SHELL=/bin/sh; export SHELL; ./conftest >/dev/null)
 if test $? -ne 69; then
    ac_cv_sys_interpreter=yes
 else
@@ -23050,11 +26481,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   bash_cv_func_lstat=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -23063,7 +26510,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        bash_cv_func_lstat=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 fi
 { echo "$as_me:$LINENO: result: $bash_cv_func_lstat" >&5
@@ -23403,11 +26850,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   bash_cv_signal_vintage=posix
 else
   echo "$as_me: failed program was:" >&5
@@ -23445,11 +26908,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   bash_cv_signal_vintage=4.2bsd
 else
   echo "$as_me: failed program was:" >&5
@@ -23490,11 +26969,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   bash_cv_signal_vintage=svr3
 else
   echo "$as_me: failed program was:" >&5
@@ -23504,17 +26999,17 @@ sed 's/^/| /' conftest.$ac_ext >&5
     
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
   
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 
 fi
@@ -23574,11 +27069,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   bash_cv_sys_errlist=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -23587,7 +27098,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        bash_cv_sys_errlist=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 fi
 { echo "$as_me:$LINENO: result: $bash_cv_sys_errlist" >&5
@@ -23713,10 +27224,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   bash_cv_decl_under_sys_siglist=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -23854,10 +27382,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   bash_cv_void_sighandler=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -24187,10 +27732,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   bash_cv_type_rlimit=rlim_t
 else
   echo "$as_me: failed program was:" >&5
@@ -24316,10 +27878,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_member_struct_termios_c_line=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -24359,10 +27938,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_member_struct_termios_c_line=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -24426,10 +28022,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_member_struct_termio_c_line=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -24469,10 +28082,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_member_struct_termio_c_line=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -24552,10 +28182,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   bash_cv_dirent_has_dino=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -24632,10 +28279,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   bash_cv_dirent_has_d_fileno=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -24712,10 +28376,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   bash_cv_dirent_has_d_namlen=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -24770,10 +28451,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   bash_cv_struct_winsize_header=ioctl_h
 else
   echo "$as_me: failed program was:" >&5
@@ -24808,10 +28506,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   bash_cv_struct_winsize_header=termios_h
 else
   echo "$as_me: failed program was:" >&5
@@ -24932,10 +28647,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_member_struct_stat_st_blocks=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -24971,10 +28703,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_member_struct_stat_st_blocks=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -25016,9 +28765,7 @@ cat >>conftest.$ac_ext <<_ACEOF
 int
 main ()
 {
-struct tm tm;
-                                    int *p = &tm.tm_sec;
-                                    return !p;
+struct tm *tp; tp->tm_sec;
   ;
   return 0;
 }
@@ -25036,10 +28783,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_struct_tm=time.h
 else
   echo "$as_me: failed program was:" >&5
@@ -25098,10 +28862,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_member_struct_tm_tm_zone=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -25140,10 +28921,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_member_struct_tm_tm_zone=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -25192,7 +28990,8 @@ int
 main ()
 {
 #ifndef tzname
-  (void) tzname;
+  char *p = (char *) tzname;
+  return !p;
 #endif
 
   ;
@@ -25212,10 +29011,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_have_decl_tzname=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -25281,11 +29097,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_var_tzname=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -25294,7 +29126,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_cv_var_tzname=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 fi
 { echo "$as_me:$LINENO: result: $ac_cv_var_tzname" >&5
@@ -25394,11 +29226,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   bash_cv_have_strsignal=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -25407,7 +29255,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        bash_cv_have_strsignal=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 fi
 
 
 fi
 
-{ echo "$as_me:$LINENO: result: $bash_cv_ulimit_maxfds" >&5
-echo "${ECHO_T}$bash_cv_ulimit_maxfds" >&6; }
-if test $bash_cv_ulimit_maxfds = yes; then
-cat >>confdefs.h <<\_ACEOF
-@%:@define ULIMIT_MAXFDS 1
+{ echo "$as_me:$LINENO: result: $bash_cv_ulimit_maxfds" >&5
+echo "${ECHO_T}$bash_cv_ulimit_maxfds" >&6; }
+if test $bash_cv_ulimit_maxfds = yes; then
+cat >>confdefs.h <<\_ACEOF
+@%:@define ULIMIT_MAXFDS 1
+_ACEOF
+
+fi
+
+
+       
+  
+  
+for ac_func in $ac_func_list
+do
+as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
+{ echo "$as_me:$LINENO: checking for $ac_func" >&5
+echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; }
+if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
+   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
+#define $ac_func innocuous_$ac_func
+
+/* System header to define __stub macros and hopefully few prototypes,
+    which can conflict with char $ac_func (); below.
+    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+    <limits.h> exists even on freestanding compilers.  */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef $ac_func
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char $ac_func ();
+/* The GNU C library defines this for functions which it implements
+    to always fail with ENOSYS.  Some functions are actually named
+    something starting with __ and the normal name is an alias.  */
+#if defined __stub_$ac_func || defined __stub___$ac_func
+choke me
+#endif
+
+int
+main ()
+{
+return $ac_func ();
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  eval "$as_ac_var=yes"
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       eval "$as_ac_var=no"
+fi
+
+rm -f core conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
+fi
+ac_res=`eval echo '${'$as_ac_var'}'`
+              { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
+if test `eval echo '${'$as_ac_var'}'` = yes; then
+  cat >>confdefs.h <<_ACEOF
+@%:@define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
 _ACEOF
-
 fi
+done
 
+  
 
-       
 
        
 
@@ -25624,7 +29585,8 @@ int
 main ()
 {
 #ifndef fpurge
-  (void) fpurge;
+  char *p = (char *) fpurge;
+  return !p;
 #endif
 
   ;
@@ -25644,10 +29606,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_have_decl_fpurge=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -26108,11 +30087,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   bash_cv_std_putenv=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -26122,7 +30117,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 fi
 { echo "$as_me:$LINENO: result: $bash_cv_std_putenv" >&5
@@ -26192,11 +30187,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   bash_cv_std_unsetenv=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -26206,7 +30217,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 fi
 { echo "$as_me:$LINENO: result: $bash_cv_std_unsetenv" >&5
@@ -26722,10 +30733,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   bash_cv_tiocstat_in_ioctl=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -26780,10 +30808,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   bash_cv_fionread_in_ioctl=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -26922,10 +30967,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   bash_cv_speed_t_in_sys_types=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -27117,10 +31179,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   bash_cv_kernel_rlimit=no
 else
   echo "$as_me: failed program was:" >&5
@@ -27162,10 +31241,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   bash_cv_kernel_rlimit=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -27270,11 +31366,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_func_tgetent=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -27283,7 +31395,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_cv_func_tgetent=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 fi
 { echo "$as_me:$LINENO: result: $ac_cv_func_tgetent" >&5
@@ -27333,11 +31445,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_lib_termcap_tgetent=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -27346,7 +31474,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_cv_lib_termcap_tgetent=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
@@ -27397,11 +31525,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_lib_tinfo_tgetent=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -27410,7 +31554,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_cv_lib_tinfo_tgetent=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
@@ -27461,11 +31605,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_lib_curses_tgetent=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -27474,7 +31634,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_cv_lib_curses_tgetent=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
@@ -27525,11 +31685,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_lib_ncurses_tgetent=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -27538,7 +31714,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_cv_lib_ncurses_tgetent=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
@@ -27982,8 +32158,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF
 ## M4sh Initialization.  ##
 ## --------------------- ##
 
-# Be more Bourne compatible
-DUALCASE=1; export DUALCASE # for MKS sh
+# Be Bourne compatible
 if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
   emulate sh
   NULLCMD=:
@@ -27992,13 +32167,10 @@ if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
   alias -g '${1+"$@"}'='"$@"'
   setopt NO_GLOB_SUBST
 else
-  case `(set -o) 2>/dev/null` in
-  *posix*) set -o posix ;;
-esac
-
+  case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
 fi
-
-
+BIN_SH=xpg4; export BIN_SH # for Tru64
+DUALCASE=1; export DUALCASE # for MKS sh
 
 
 # PATH needs CR
@@ -28222,28 +32394,19 @@ else
   as_mkdir_p=false
 fi
 
-if test -x / >/dev/null 2>&1; then
-  as_test_x='test -x'
+# Find out whether ``test -x'' works.  Don't use a zero-byte file, as
+# systems may use methods other than mode bits to determine executability.
+cat >conf$$.file <<_ASEOF
+#! /bin/sh
+exit 0
+_ASEOF
+chmod +x conf$$.file
+if test -x conf$$.file >/dev/null 2>&1; then
+  as_executable_p="test -x"
 else
-  if ls -dL / >/dev/null 2>&1; then
-    as_ls_L_option=L
-  else
-    as_ls_L_option=
-  fi
-  as_test_x='
-    eval sh -c '\''
-      if test -d "$1"; then
-        test -d "$1/.";
-      else
-       case $1 in
-        -*)set "./$1";;
-       esac;
-       case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in
-       ???[sx]*):;;*)false;;esac;fi
-    '\'' sh
-  '
+  as_executable_p=:
 fi
-as_executable_p=$as_test_x
+rm -f conf$$.file
 
 # Sed expression to map a string onto a valid CPP name.
 as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -28259,7 +32422,7 @@ exec 6>&1
 # values after options handling.
 ac_log="
 This file was extended by bash $as_me 4.0-devel, which was
-generated by GNU Autoconf 2.61.  Invocation command line was
+generated by GNU Autoconf 2.60.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
   CONFIG_HEADERS  = $CONFIG_HEADERS
@@ -28288,7 +32451,7 @@ current configuration.
 Usage: $0 [OPTIONS] [FILE]...
 
   -h, --help       print this help, then exit
-  -V, --version    print version number and configuration settings, then exit
+  -V, --version    print version number, then exit
   -q, --quiet      do not print progress messages
   -d, --debug      don't remove temporary files
       --recheck    update $as_me by reconfiguring in the same conditions
@@ -28312,7 +32475,7 @@ _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF
 ac_cs_version="\\
 bash config.status 4.0-devel
-configured by $0, generated by GNU Autoconf 2.61,
+configured by $0, generated by GNU Autoconf 2.60,
   with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
 
 Copyright (C) 2006 Free Software Foundation, Inc.
index f7edd0d9fa344cc1fb5a4375225f7359fd3f4f54..6efc0623180281942e89790af1e33bcba931c97a 100644 (file)
                         'AM_PROG_F77_C_O' => 1,
                         '_LT_AC_TAGCONFIG' => 1,
                         'm4_pattern_forbid' => 1,
-                        'AC_INIT' => 1,
                         'AC_CANONICAL_TARGET' => 1,
                         'AC_CONFIG_LIBOBJ_DIR' => 1,
+                        'AC_C_VOLATILE' => 1,
+                        'AC_TYPE_OFF_T' => 1,
+                        'AC_FUNC_CLOSEDIR_VOID' => 1,
+                        'AC_REPLACE_FNMATCH' => 1,
+                        'AC_PROG_LIBTOOL' => 1,
+                        'AC_FUNC_STAT' => 1,
+                        'AC_FUNC_WAIT3' => 1,
+                        'AC_HEADER_TIME' => 1,
+                        'AM_AUTOMAKE_VERSION' => 1,
+                        'AC_FUNC_LSTAT' => 1,
+                        'AC_STRUCT_TM' => 1,
+                        'AC_FUNC_GETMNTENT' => 1,
+                        'AC_TYPE_MODE_T' => 1,
+                        'AC_CHECK_HEADERS' => 1,
+                        'AC_FUNC_STRTOD' => 1,
+                        'LT_CONFIG_LTDL_DIR' => 1,
+                        'AC_FUNC_STRNLEN' => 1,
+                        'm4_sinclude' => 1,
+                        'AC_PROG_CXX' => 1,
+                        'AC_PATH_X' => 1,
+                        'AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK' => 1,
+                        'AC_PROG_AWK' => 1,
+                        '_m4_warn' => 1,
+                        'AC_HEADER_STDC' => 1,
+                        'AC_HEADER_MAJOR' => 1,
+                        'AM_PROG_CXX_C_O' => 1,
+                        'LT_INIT' => 1,
+                        'AC_FUNC_ERROR_AT_LINE' => 1,
+                        'AC_PROG_GCC_TRADITIONAL' => 1,
+                        'AC_LIBSOURCE' => 1,
+                        'AC_FUNC_MBRTOWC' => 1,
+                        'AC_STRUCT_ST_BLOCKS' => 1,
+                        'AC_CANONICAL_BUILD' => 1,
+                        'AM_PROG_FC_C_O' => 1,
+                        'AC_TYPE_SIGNAL' => 1,
+                        'AC_TYPE_UID_T' => 1,
+                        'AC_CONFIG_AUX_DIR' => 1,
+                        '_AM_SUBST_NOTMAKE' => 1,
+                        'AC_PROG_MAKE_SET' => 1,
+                        'm4_pattern_allow' => 1,
+                        'sinclude' => 1,
+                        'AC_DEFINE_TRACE_LITERAL' => 1,
+                        'AC_FUNC_STRERROR_R' => 1,
+                        'AC_PROG_CC' => 1,
+                        'AC_DECL_SYS_SIGLIST' => 1,
+                        'AC_FUNC_FORK' => 1,
+                        'AC_FUNC_STRCOLL' => 1,
+                        'AC_FUNC_VPRINTF' => 1,
+                        'AC_PROG_YACC' => 1,
+                        'AC_SUBST_TRACE' => 1,
+                        'AC_STRUCT_TIMEZONE' => 1,
+                        'AC_INIT' => 1,
+                        'AC_FUNC_CHOWN' => 1,
                         'AC_SUBST' => 1,
+                        'AC_FUNC_ALLOCA' => 1,
                         'AC_CANONICAL_HOST' => 1,
                         'AC_FC_SRCEXT' => 1,
-                        'AC_PROG_LIBTOOL' => 1,
+                        'AC_FUNC_GETPGRP' => 1,
+                        'AC_PROG_RANLIB' => 1,
                         'AM_INIT_AUTOMAKE' => 1,
+                        'AC_FUNC_SETPGRP' => 1,
                         'AC_CONFIG_SUBDIRS' => 1,
-                        'AM_AUTOMAKE_VERSION' => 1,
-                        'LT_CONFIG_LTDL_DIR' => 1,
+                        'AC_FUNC_MMAP' => 1,
+                        'AC_FUNC_REALLOC' => 1,
+                        'AC_TYPE_SIZE_T' => 1,
+                        'AC_CHECK_TYPES' => 1,
                         'AC_REQUIRE_AUX_FILE' => 1,
                         'AC_CONFIG_LINKS' => 1,
                         'LT_SUPPORTED_TAG' => 1,
-                        'm4_sinclude' => 1,
+                        'AC_CHECK_MEMBERS' => 1,
                         'AM_MAINTAINER_MODE' => 1,
+                        'AC_FUNC_UTIME_NULL' => 1,
+                        'AC_FUNC_SELECT_ARGTYPES' => 1,
                         'AM_GNU_GETTEXT_INTL_SUBDIR' => 1,
-                        '_m4_warn' => 1,
-                        'AM_PROG_CXX_C_O' => 1,
+                        'AC_FUNC_STRFTIME' => 1,
+                        'AC_HEADER_STAT' => 1,
+                        'AC_C_INLINE' => 1,
+                        'AC_PROG_CPP' => 1,
+                        'AC_C_CONST' => 1,
                         'AM_ENABLE_MULTILIB' => 1,
+                        'AC_PROG_LEX' => 1,
+                        'AC_TYPE_PID_T' => 1,
                         'AC_CONFIG_FILES' => 1,
                         'include' => 1,
-                        'LT_INIT' => 1,
+                        'AC_FUNC_SETVBUF_REVERSED' => 1,
+                        'AC_PROG_INSTALL' => 1,
                         'AM_GNU_GETTEXT' => 1,
-                        'AC_LIBSOURCE' => 1,
-                        'AM_PROG_FC_C_O' => 1,
-                        'AC_CANONICAL_BUILD' => 1,
+                        'AC_CHECK_LIB' => 1,
+                        'AC_FUNC_OBSTACK' => 1,
+                        'AC_FUNC_MALLOC' => 1,
+                        'AC_FUNC_GETGROUPS' => 1,
+                        'AC_FUNC_GETLOADAVG' => 1,
                         'AC_FC_FREEFORM' => 1,
                         'AH_OUTPUT' => 1,
-                        '_AM_SUBST_NOTMAKE' => 1,
-                        'AC_CONFIG_AUX_DIR' => 1,
+                        'AC_FUNC_FSEEKO' => 1,
                         'AM_PROG_CC_C_O' => 1,
-                        'm4_pattern_allow' => 1,
-                        'sinclude' => 1,
-                        'AM_CONDITIONAL' => 1,
                         'AC_CANONICAL_SYSTEM' => 1,
+                        'AM_CONDITIONAL' => 1,
+                        'AC_FUNC_MKTIME' => 1,
                         'AC_CONFIG_HEADERS' => 1,
-                        'AC_DEFINE_TRACE_LITERAL' => 1,
+                        'AC_HEADER_SYS_WAIT' => 1,
+                        'AC_FUNC_MEMCMP' => 1,
+                        'AC_PROG_LN_S' => 1,
                         'm4_include' => 1,
-                        'AC_SUBST_TRACE' => 1
+                        'AC_HEADER_DIRENT' => 1,
+                        'AC_CHECK_FUNCS' => 1
                       }
                     ], 'Autom4te::Request' )
            );
index 051ae625637498cf61604d75285b97285ac4442d..d12919ba9f09f82d1edf95ba03c3499b3a590c7d 100644 (file)
@@ -171,7 +171,7 @@ m4trace:configure.in:52: -1- AC_SUBST_TRACE([host_os])
 m4trace:configure.in:52: -1- m4_pattern_allow([^host_os$])
 m4trace:configure.in:102: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
 You should run autoupdate.], [autoconf/general.m4:209: AC_HELP_STRING is expanded from...
-aclocal.m4:1947: AM_PATH_LISPDIR is expanded from...
+aclocal.m4:1970: AM_PATH_LISPDIR is expanded from...
 configure.in:102: the top level])
 m4trace:configure.in:102: -1- AC_SUBST([EMACS])
 m4trace:configure.in:102: -1- AC_SUBST_TRACE([EMACS])
@@ -209,12 +209,9 @@ m4trace:configure.in:134: -1- AC_DEFINE_TRACE_LITERAL([DISABLE_MALLOC_WRAPPERS])
 m4trace:configure.in:134: -1- m4_pattern_allow([^DISABLE_MALLOC_WRAPPERS$])
 m4trace:configure.in:144: -1- AC_DEFINE_TRACE_LITERAL([AFS])
 m4trace:configure.in:144: -1- m4_pattern_allow([^AFS$])
-m4trace:configure.in:194: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
+m4trace:configure.in:195: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
 You should run autoupdate.], [autoconf/general.m4:209: AC_HELP_STRING is expanded from...
-configure.in:194: the top level])
-m4trace:configure.in:210: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
-You should run autoupdate.], [autoconf/general.m4:209: AC_HELP_STRING is expanded from...
-configure.in:210: the top level])
+configure.in:195: the top level])
 m4trace:configure.in:211: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
 You should run autoupdate.], [autoconf/general.m4:209: AC_HELP_STRING is expanded from...
 configure.in:211: the top level])
@@ -305,2125 +302,2255 @@ configure.in:239: the top level])
 m4trace:configure.in:240: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
 You should run autoupdate.], [autoconf/general.m4:209: AC_HELP_STRING is expanded from...
 configure.in:240: the top level])
-m4trace:configure.in:243: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
+m4trace:configure.in:241: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
 You should run autoupdate.], [autoconf/general.m4:209: AC_HELP_STRING is expanded from...
-configure.in:243: the top level])
-m4trace:configure.in:244: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
+configure.in:241: the top level])
+m4trace:configure.in:242: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
 You should run autoupdate.], [autoconf/general.m4:209: AC_HELP_STRING is expanded from...
-configure.in:244: the top level])
+configure.in:242: the top level])
 m4trace:configure.in:245: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
 You should run autoupdate.], [autoconf/general.m4:209: AC_HELP_STRING is expanded from...
 configure.in:245: the top level])
-m4trace:configure.in:254: -1- AC_DEFINE_TRACE_LITERAL([ALIAS])
-m4trace:configure.in:254: -1- m4_pattern_allow([^ALIAS$])
-m4trace:configure.in:257: -1- AC_DEFINE_TRACE_LITERAL([PUSHD_AND_POPD])
-m4trace:configure.in:257: -1- m4_pattern_allow([^PUSHD_AND_POPD$])
-m4trace:configure.in:260: -1- AC_DEFINE_TRACE_LITERAL([RESTRICTED_SHELL])
-m4trace:configure.in:260: -1- m4_pattern_allow([^RESTRICTED_SHELL$])
-m4trace:configure.in:263: -1- AC_DEFINE_TRACE_LITERAL([PROCESS_SUBSTITUTION])
-m4trace:configure.in:263: -1- m4_pattern_allow([^PROCESS_SUBSTITUTION$])
-m4trace:configure.in:266: -1- AC_DEFINE_TRACE_LITERAL([PROMPT_STRING_DECODE])
-m4trace:configure.in:266: -1- m4_pattern_allow([^PROMPT_STRING_DECODE$])
-m4trace:configure.in:269: -1- AC_DEFINE_TRACE_LITERAL([SELECT_COMMAND])
-m4trace:configure.in:269: -1- m4_pattern_allow([^SELECT_COMMAND$])
-m4trace:configure.in:272: -1- AC_DEFINE_TRACE_LITERAL([HELP_BUILTIN])
-m4trace:configure.in:272: -1- m4_pattern_allow([^HELP_BUILTIN$])
-m4trace:configure.in:275: -1- AC_DEFINE_TRACE_LITERAL([ARRAY_VARS])
-m4trace:configure.in:275: -1- m4_pattern_allow([^ARRAY_VARS$])
-m4trace:configure.in:278: -1- AC_DEFINE_TRACE_LITERAL([DPAREN_ARITHMETIC])
-m4trace:configure.in:278: -1- m4_pattern_allow([^DPAREN_ARITHMETIC$])
-m4trace:configure.in:281: -1- AC_DEFINE_TRACE_LITERAL([BRACE_EXPANSION])
-m4trace:configure.in:281: -1- m4_pattern_allow([^BRACE_EXPANSION$])
-m4trace:configure.in:284: -1- AC_DEFINE_TRACE_LITERAL([DISABLED_BUILTINS])
-m4trace:configure.in:284: -1- m4_pattern_allow([^DISABLED_BUILTINS$])
-m4trace:configure.in:287: -1- AC_DEFINE_TRACE_LITERAL([COMMAND_TIMING])
-m4trace:configure.in:287: -1- m4_pattern_allow([^COMMAND_TIMING$])
-m4trace:configure.in:290: -1- AC_DEFINE_TRACE_LITERAL([DEFAULT_ECHO_TO_XPG])
-m4trace:configure.in:290: -1- m4_pattern_allow([^DEFAULT_ECHO_TO_XPG$])
-m4trace:configure.in:293: -1- AC_DEFINE_TRACE_LITERAL([STRICT_POSIX])
-m4trace:configure.in:293: -1- m4_pattern_allow([^STRICT_POSIX$])
-m4trace:configure.in:296: -1- AC_DEFINE_TRACE_LITERAL([EXTENDED_GLOB])
-m4trace:configure.in:296: -1- m4_pattern_allow([^EXTENDED_GLOB$])
-m4trace:configure.in:299: -1- AC_DEFINE_TRACE_LITERAL([COND_COMMAND])
-m4trace:configure.in:299: -1- m4_pattern_allow([^COND_COMMAND$])
-m4trace:configure.in:302: -1- AC_DEFINE_TRACE_LITERAL([COND_REGEXP])
-m4trace:configure.in:302: -1- m4_pattern_allow([^COND_REGEXP$])
-m4trace:configure.in:305: -1- AC_DEFINE_TRACE_LITERAL([ARITH_FOR_COMMAND])
-m4trace:configure.in:305: -1- m4_pattern_allow([^ARITH_FOR_COMMAND$])
-m4trace:configure.in:308: -1- AC_DEFINE_TRACE_LITERAL([NETWORK_REDIRECTIONS])
-m4trace:configure.in:308: -1- m4_pattern_allow([^NETWORK_REDIRECTIONS$])
-m4trace:configure.in:311: -1- AC_DEFINE_TRACE_LITERAL([PROGRAMMABLE_COMPLETION])
-m4trace:configure.in:311: -1- m4_pattern_allow([^PROGRAMMABLE_COMPLETION$])
-m4trace:configure.in:314: -1- AC_DEFINE_TRACE_LITERAL([NO_MULTIBYTE_SUPPORT])
-m4trace:configure.in:314: -1- m4_pattern_allow([^NO_MULTIBYTE_SUPPORT$])
-m4trace:configure.in:317: -1- AC_DEFINE_TRACE_LITERAL([DEBUGGER])
-m4trace:configure.in:317: -1- m4_pattern_allow([^DEBUGGER$])
-m4trace:configure.in:320: -1- AC_DEFINE_TRACE_LITERAL([CASEMOD_ATTRS])
-m4trace:configure.in:320: -1- m4_pattern_allow([^CASEMOD_ATTRS$])
-m4trace:configure.in:323: -1- AC_DEFINE_TRACE_LITERAL([CASEMOD_EXPANSIONS])
-m4trace:configure.in:323: -1- m4_pattern_allow([^CASEMOD_EXPANSIONS$])
-m4trace:configure.in:327: -1- AC_DEFINE_TRACE_LITERAL([MEMSCRAMBLE])
-m4trace:configure.in:327: -1- m4_pattern_allow([^MEMSCRAMBLE$])
-m4trace:configure.in:352: -1- AC_SUBST([TESTSCRIPT])
-m4trace:configure.in:352: -1- AC_SUBST_TRACE([TESTSCRIPT])
-m4trace:configure.in:352: -1- m4_pattern_allow([^TESTSCRIPT$])
-m4trace:configure.in:353: -1- AC_SUBST([PURIFY])
-m4trace:configure.in:353: -1- AC_SUBST_TRACE([PURIFY])
-m4trace:configure.in:353: -1- m4_pattern_allow([^PURIFY$])
-m4trace:configure.in:354: -1- AC_SUBST([MALLOC_TARGET])
-m4trace:configure.in:354: -1- AC_SUBST_TRACE([MALLOC_TARGET])
-m4trace:configure.in:354: -1- m4_pattern_allow([^MALLOC_TARGET$])
-m4trace:configure.in:355: -1- AC_SUBST([MALLOC_SRC])
-m4trace:configure.in:355: -1- AC_SUBST_TRACE([MALLOC_SRC])
-m4trace:configure.in:355: -1- m4_pattern_allow([^MALLOC_SRC$])
-m4trace:configure.in:357: -1- AC_SUBST([MALLOC_LIB])
-m4trace:configure.in:357: -1- AC_SUBST_TRACE([MALLOC_LIB])
-m4trace:configure.in:357: -1- m4_pattern_allow([^MALLOC_LIB$])
-m4trace:configure.in:358: -1- AC_SUBST([MALLOC_LIBRARY])
-m4trace:configure.in:358: -1- AC_SUBST_TRACE([MALLOC_LIBRARY])
-m4trace:configure.in:358: -1- m4_pattern_allow([^MALLOC_LIBRARY$])
-m4trace:configure.in:359: -1- AC_SUBST([MALLOC_LDFLAGS])
-m4trace:configure.in:359: -1- AC_SUBST_TRACE([MALLOC_LDFLAGS])
-m4trace:configure.in:359: -1- m4_pattern_allow([^MALLOC_LDFLAGS$])
-m4trace:configure.in:360: -1- AC_SUBST([MALLOC_DEP])
-m4trace:configure.in:360: -1- AC_SUBST_TRACE([MALLOC_DEP])
-m4trace:configure.in:360: -1- m4_pattern_allow([^MALLOC_DEP$])
-m4trace:configure.in:362: -1- AC_SUBST([htmldir])
-m4trace:configure.in:362: -1- AC_SUBST_TRACE([htmldir])
-m4trace:configure.in:362: -1- m4_pattern_allow([^htmldir$])
-m4trace:configure.in:364: -1- AC_SUBST([HELPDIR])
-m4trace:configure.in:364: -1- AC_SUBST_TRACE([HELPDIR])
-m4trace:configure.in:364: -1- m4_pattern_allow([^HELPDIR$])
-m4trace:configure.in:365: -1- AC_SUBST([HELPDIRDEFINE])
-m4trace:configure.in:365: -1- AC_SUBST_TRACE([HELPDIRDEFINE])
-m4trace:configure.in:365: -1- m4_pattern_allow([^HELPDIRDEFINE$])
-m4trace:configure.in:366: -1- AC_SUBST([HELPINSTALL])
-m4trace:configure.in:366: -1- AC_SUBST_TRACE([HELPINSTALL])
-m4trace:configure.in:366: -1- m4_pattern_allow([^HELPINSTALL$])
-m4trace:configure.in:367: -1- AC_SUBST([HELPSTRINGS])
-m4trace:configure.in:367: -1- AC_SUBST_TRACE([HELPSTRINGS])
-m4trace:configure.in:367: -1- m4_pattern_allow([^HELPSTRINGS$])
-m4trace:configure.in:376: -1- AC_SUBST([CC])
-m4trace:configure.in:376: -1- AC_SUBST_TRACE([CC])
-m4trace:configure.in:376: -1- m4_pattern_allow([^CC$])
-m4trace:configure.in:376: -1- AC_SUBST([CFLAGS])
-m4trace:configure.in:376: -1- AC_SUBST_TRACE([CFLAGS])
-m4trace:configure.in:376: -1- m4_pattern_allow([^CFLAGS$])
-m4trace:configure.in:376: -1- AC_SUBST([LDFLAGS])
-m4trace:configure.in:376: -1- AC_SUBST_TRACE([LDFLAGS])
-m4trace:configure.in:376: -1- m4_pattern_allow([^LDFLAGS$])
-m4trace:configure.in:376: -1- AC_SUBST([LIBS])
-m4trace:configure.in:376: -1- AC_SUBST_TRACE([LIBS])
-m4trace:configure.in:376: -1- m4_pattern_allow([^LIBS$])
-m4trace:configure.in:376: -1- AC_SUBST([CPPFLAGS])
-m4trace:configure.in:376: -1- AC_SUBST_TRACE([CPPFLAGS])
-m4trace:configure.in:376: -1- m4_pattern_allow([^CPPFLAGS$])
-m4trace:configure.in:376: -1- AC_SUBST([CC])
-m4trace:configure.in:376: -1- AC_SUBST_TRACE([CC])
-m4trace:configure.in:376: -1- m4_pattern_allow([^CC$])
-m4trace:configure.in:376: -1- AC_SUBST([CC])
-m4trace:configure.in:376: -1- AC_SUBST_TRACE([CC])
-m4trace:configure.in:376: -1- m4_pattern_allow([^CC$])
-m4trace:configure.in:376: -1- AC_SUBST([CC])
-m4trace:configure.in:376: -1- AC_SUBST_TRACE([CC])
-m4trace:configure.in:376: -1- m4_pattern_allow([^CC$])
-m4trace:configure.in:376: -1- AC_SUBST([CC])
-m4trace:configure.in:376: -1- AC_SUBST_TRACE([CC])
-m4trace:configure.in:376: -1- m4_pattern_allow([^CC$])
-m4trace:configure.in:376: -1- AC_SUBST([ac_ct_CC])
-m4trace:configure.in:376: -1- AC_SUBST_TRACE([ac_ct_CC])
-m4trace:configure.in:376: -1- m4_pattern_allow([^ac_ct_CC$])
-m4trace:configure.in:376: -1- AC_SUBST([EXEEXT], [$ac_cv_exeext])
-m4trace:configure.in:376: -1- AC_SUBST_TRACE([EXEEXT])
-m4trace:configure.in:376: -1- m4_pattern_allow([^EXEEXT$])
-m4trace:configure.in:376: -1- AC_SUBST([OBJEXT], [$ac_cv_objext])
-m4trace:configure.in:376: -1- AC_SUBST_TRACE([OBJEXT])
-m4trace:configure.in:376: -1- m4_pattern_allow([^OBJEXT$])
-m4trace:configure.in:380: -1- AC_SUBST([CPP])
-m4trace:configure.in:380: -1- AC_SUBST_TRACE([CPP])
-m4trace:configure.in:380: -1- m4_pattern_allow([^CPP$])
-m4trace:configure.in:380: -1- AC_SUBST([CPPFLAGS])
-m4trace:configure.in:380: -1- AC_SUBST_TRACE([CPPFLAGS])
-m4trace:configure.in:380: -1- m4_pattern_allow([^CPPFLAGS$])
-m4trace:configure.in:380: -1- AC_SUBST([CPP])
-m4trace:configure.in:380: -1- AC_SUBST_TRACE([CPP])
-m4trace:configure.in:380: -1- m4_pattern_allow([^CPP$])
-m4trace:configure.in:380: -1- AC_SUBST([GREP])
-m4trace:configure.in:380: -1- AC_SUBST_TRACE([GREP])
-m4trace:configure.in:380: -1- m4_pattern_allow([^GREP$])
-m4trace:configure.in:380: -1- AC_SUBST([GREP])
-m4trace:configure.in:380: -1- AC_SUBST_TRACE([GREP])
-m4trace:configure.in:380: -1- m4_pattern_allow([^GREP$])
-m4trace:configure.in:380: -1- AC_SUBST([EGREP])
-m4trace:configure.in:380: -1- AC_SUBST_TRACE([EGREP])
-m4trace:configure.in:380: -1- m4_pattern_allow([^EGREP$])
-m4trace:configure.in:380: -1- AC_SUBST([EGREP])
-m4trace:configure.in:380: -1- AC_SUBST_TRACE([EGREP])
-m4trace:configure.in:380: -1- m4_pattern_allow([^EGREP$])
-m4trace:configure.in:380: -1- AC_DEFINE_TRACE_LITERAL([STDC_HEADERS])
-m4trace:configure.in:380: -1- m4_pattern_allow([^STDC_HEADERS$])
-m4trace:configure.in:380: -1- AH_OUTPUT([STDC_HEADERS], [/* Define to 1 if you have the ANSI C header files. */
+m4trace:configure.in:246: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
+You should run autoupdate.], [autoconf/general.m4:209: AC_HELP_STRING is expanded from...
+configure.in:246: the top level])
+m4trace:configure.in:247: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
+You should run autoupdate.], [autoconf/general.m4:209: AC_HELP_STRING is expanded from...
+configure.in:247: the top level])
+m4trace:configure.in:256: -1- AC_DEFINE_TRACE_LITERAL([ALIAS])
+m4trace:configure.in:256: -1- m4_pattern_allow([^ALIAS$])
+m4trace:configure.in:259: -1- AC_DEFINE_TRACE_LITERAL([PUSHD_AND_POPD])
+m4trace:configure.in:259: -1- m4_pattern_allow([^PUSHD_AND_POPD$])
+m4trace:configure.in:262: -1- AC_DEFINE_TRACE_LITERAL([RESTRICTED_SHELL])
+m4trace:configure.in:262: -1- m4_pattern_allow([^RESTRICTED_SHELL$])
+m4trace:configure.in:265: -1- AC_DEFINE_TRACE_LITERAL([PROCESS_SUBSTITUTION])
+m4trace:configure.in:265: -1- m4_pattern_allow([^PROCESS_SUBSTITUTION$])
+m4trace:configure.in:268: -1- AC_DEFINE_TRACE_LITERAL([PROMPT_STRING_DECODE])
+m4trace:configure.in:268: -1- m4_pattern_allow([^PROMPT_STRING_DECODE$])
+m4trace:configure.in:271: -1- AC_DEFINE_TRACE_LITERAL([SELECT_COMMAND])
+m4trace:configure.in:271: -1- m4_pattern_allow([^SELECT_COMMAND$])
+m4trace:configure.in:274: -1- AC_DEFINE_TRACE_LITERAL([HELP_BUILTIN])
+m4trace:configure.in:274: -1- m4_pattern_allow([^HELP_BUILTIN$])
+m4trace:configure.in:277: -1- AC_DEFINE_TRACE_LITERAL([ARRAY_VARS])
+m4trace:configure.in:277: -1- m4_pattern_allow([^ARRAY_VARS$])
+m4trace:configure.in:280: -1- AC_DEFINE_TRACE_LITERAL([DPAREN_ARITHMETIC])
+m4trace:configure.in:280: -1- m4_pattern_allow([^DPAREN_ARITHMETIC$])
+m4trace:configure.in:283: -1- AC_DEFINE_TRACE_LITERAL([BRACE_EXPANSION])
+m4trace:configure.in:283: -1- m4_pattern_allow([^BRACE_EXPANSION$])
+m4trace:configure.in:286: -1- AC_DEFINE_TRACE_LITERAL([DISABLED_BUILTINS])
+m4trace:configure.in:286: -1- m4_pattern_allow([^DISABLED_BUILTINS$])
+m4trace:configure.in:289: -1- AC_DEFINE_TRACE_LITERAL([COMMAND_TIMING])
+m4trace:configure.in:289: -1- m4_pattern_allow([^COMMAND_TIMING$])
+m4trace:configure.in:292: -1- AC_DEFINE_TRACE_LITERAL([DEFAULT_ECHO_TO_XPG])
+m4trace:configure.in:292: -1- m4_pattern_allow([^DEFAULT_ECHO_TO_XPG$])
+m4trace:configure.in:295: -1- AC_DEFINE_TRACE_LITERAL([STRICT_POSIX])
+m4trace:configure.in:295: -1- m4_pattern_allow([^STRICT_POSIX$])
+m4trace:configure.in:298: -1- AC_DEFINE_TRACE_LITERAL([EXTENDED_GLOB])
+m4trace:configure.in:298: -1- m4_pattern_allow([^EXTENDED_GLOB$])
+m4trace:configure.in:301: -1- AC_DEFINE_TRACE_LITERAL([COND_COMMAND])
+m4trace:configure.in:301: -1- m4_pattern_allow([^COND_COMMAND$])
+m4trace:configure.in:304: -1- AC_DEFINE_TRACE_LITERAL([COND_REGEXP])
+m4trace:configure.in:304: -1- m4_pattern_allow([^COND_REGEXP$])
+m4trace:configure.in:307: -1- AC_DEFINE_TRACE_LITERAL([COPROCESS_SUPPORT])
+m4trace:configure.in:307: -1- m4_pattern_allow([^COPROCESS_SUPPORT$])
+m4trace:configure.in:310: -1- AC_DEFINE_TRACE_LITERAL([ARITH_FOR_COMMAND])
+m4trace:configure.in:310: -1- m4_pattern_allow([^ARITH_FOR_COMMAND$])
+m4trace:configure.in:313: -1- AC_DEFINE_TRACE_LITERAL([NETWORK_REDIRECTIONS])
+m4trace:configure.in:313: -1- m4_pattern_allow([^NETWORK_REDIRECTIONS$])
+m4trace:configure.in:316: -1- AC_DEFINE_TRACE_LITERAL([PROGRAMMABLE_COMPLETION])
+m4trace:configure.in:316: -1- m4_pattern_allow([^PROGRAMMABLE_COMPLETION$])
+m4trace:configure.in:319: -1- AC_DEFINE_TRACE_LITERAL([NO_MULTIBYTE_SUPPORT])
+m4trace:configure.in:319: -1- m4_pattern_allow([^NO_MULTIBYTE_SUPPORT$])
+m4trace:configure.in:322: -1- AC_DEFINE_TRACE_LITERAL([DEBUGGER])
+m4trace:configure.in:322: -1- m4_pattern_allow([^DEBUGGER$])
+m4trace:configure.in:325: -1- AC_DEFINE_TRACE_LITERAL([CASEMOD_ATTRS])
+m4trace:configure.in:325: -1- m4_pattern_allow([^CASEMOD_ATTRS$])
+m4trace:configure.in:328: -1- AC_DEFINE_TRACE_LITERAL([CASEMOD_EXPANSIONS])
+m4trace:configure.in:328: -1- m4_pattern_allow([^CASEMOD_EXPANSIONS$])
+m4trace:configure.in:332: -1- AC_DEFINE_TRACE_LITERAL([MEMSCRAMBLE])
+m4trace:configure.in:332: -1- m4_pattern_allow([^MEMSCRAMBLE$])
+m4trace:configure.in:357: -1- AC_SUBST([TESTSCRIPT])
+m4trace:configure.in:357: -1- AC_SUBST_TRACE([TESTSCRIPT])
+m4trace:configure.in:357: -1- m4_pattern_allow([^TESTSCRIPT$])
+m4trace:configure.in:358: -1- AC_SUBST([PURIFY])
+m4trace:configure.in:358: -1- AC_SUBST_TRACE([PURIFY])
+m4trace:configure.in:358: -1- m4_pattern_allow([^PURIFY$])
+m4trace:configure.in:359: -1- AC_SUBST([MALLOC_TARGET])
+m4trace:configure.in:359: -1- AC_SUBST_TRACE([MALLOC_TARGET])
+m4trace:configure.in:359: -1- m4_pattern_allow([^MALLOC_TARGET$])
+m4trace:configure.in:360: -1- AC_SUBST([MALLOC_SRC])
+m4trace:configure.in:360: -1- AC_SUBST_TRACE([MALLOC_SRC])
+m4trace:configure.in:360: -1- m4_pattern_allow([^MALLOC_SRC$])
+m4trace:configure.in:362: -1- AC_SUBST([MALLOC_LIB])
+m4trace:configure.in:362: -1- AC_SUBST_TRACE([MALLOC_LIB])
+m4trace:configure.in:362: -1- m4_pattern_allow([^MALLOC_LIB$])
+m4trace:configure.in:363: -1- AC_SUBST([MALLOC_LIBRARY])
+m4trace:configure.in:363: -1- AC_SUBST_TRACE([MALLOC_LIBRARY])
+m4trace:configure.in:363: -1- m4_pattern_allow([^MALLOC_LIBRARY$])
+m4trace:configure.in:364: -1- AC_SUBST([MALLOC_LDFLAGS])
+m4trace:configure.in:364: -1- AC_SUBST_TRACE([MALLOC_LDFLAGS])
+m4trace:configure.in:364: -1- m4_pattern_allow([^MALLOC_LDFLAGS$])
+m4trace:configure.in:365: -1- AC_SUBST([MALLOC_DEP])
+m4trace:configure.in:365: -1- AC_SUBST_TRACE([MALLOC_DEP])
+m4trace:configure.in:365: -1- m4_pattern_allow([^MALLOC_DEP$])
+m4trace:configure.in:367: -1- AC_SUBST([htmldir])
+m4trace:configure.in:367: -1- AC_SUBST_TRACE([htmldir])
+m4trace:configure.in:367: -1- m4_pattern_allow([^htmldir$])
+m4trace:configure.in:369: -1- AC_SUBST([HELPDIR])
+m4trace:configure.in:369: -1- AC_SUBST_TRACE([HELPDIR])
+m4trace:configure.in:369: -1- m4_pattern_allow([^HELPDIR$])
+m4trace:configure.in:370: -1- AC_SUBST([HELPDIRDEFINE])
+m4trace:configure.in:370: -1- AC_SUBST_TRACE([HELPDIRDEFINE])
+m4trace:configure.in:370: -1- m4_pattern_allow([^HELPDIRDEFINE$])
+m4trace:configure.in:371: -1- AC_SUBST([HELPINSTALL])
+m4trace:configure.in:371: -1- AC_SUBST_TRACE([HELPINSTALL])
+m4trace:configure.in:371: -1- m4_pattern_allow([^HELPINSTALL$])
+m4trace:configure.in:372: -1- AC_SUBST([HELPSTRINGS])
+m4trace:configure.in:372: -1- AC_SUBST_TRACE([HELPSTRINGS])
+m4trace:configure.in:372: -1- m4_pattern_allow([^HELPSTRINGS$])
+m4trace:configure.in:381: -1- AC_PROG_CC
+m4trace:configure.in:381: -1- AC_SUBST([CC])
+m4trace:configure.in:381: -1- AC_SUBST_TRACE([CC])
+m4trace:configure.in:381: -1- m4_pattern_allow([^CC$])
+m4trace:configure.in:381: -1- AC_SUBST([CFLAGS])
+m4trace:configure.in:381: -1- AC_SUBST_TRACE([CFLAGS])
+m4trace:configure.in:381: -1- m4_pattern_allow([^CFLAGS$])
+m4trace:configure.in:381: -1- AC_SUBST([LDFLAGS])
+m4trace:configure.in:381: -1- AC_SUBST_TRACE([LDFLAGS])
+m4trace:configure.in:381: -1- m4_pattern_allow([^LDFLAGS$])
+m4trace:configure.in:381: -1- AC_SUBST([CPPFLAGS])
+m4trace:configure.in:381: -1- AC_SUBST_TRACE([CPPFLAGS])
+m4trace:configure.in:381: -1- m4_pattern_allow([^CPPFLAGS$])
+m4trace:configure.in:381: -1- AC_SUBST([CC])
+m4trace:configure.in:381: -1- AC_SUBST_TRACE([CC])
+m4trace:configure.in:381: -1- m4_pattern_allow([^CC$])
+m4trace:configure.in:381: -1- AC_SUBST([CC])
+m4trace:configure.in:381: -1- AC_SUBST_TRACE([CC])
+m4trace:configure.in:381: -1- m4_pattern_allow([^CC$])
+m4trace:configure.in:381: -1- AC_SUBST([CC])
+m4trace:configure.in:381: -1- AC_SUBST_TRACE([CC])
+m4trace:configure.in:381: -1- m4_pattern_allow([^CC$])
+m4trace:configure.in:381: -1- AC_SUBST([CC])
+m4trace:configure.in:381: -1- AC_SUBST_TRACE([CC])
+m4trace:configure.in:381: -1- m4_pattern_allow([^CC$])
+m4trace:configure.in:381: -1- AC_SUBST([ac_ct_CC])
+m4trace:configure.in:381: -1- AC_SUBST_TRACE([ac_ct_CC])
+m4trace:configure.in:381: -1- m4_pattern_allow([^ac_ct_CC$])
+m4trace:configure.in:381: -1- AC_SUBST([EXEEXT], [$ac_cv_exeext])
+m4trace:configure.in:381: -1- AC_SUBST_TRACE([EXEEXT])
+m4trace:configure.in:381: -1- m4_pattern_allow([^EXEEXT$])
+m4trace:configure.in:381: -1- AC_SUBST([OBJEXT], [$ac_cv_objext])
+m4trace:configure.in:381: -1- AC_SUBST_TRACE([OBJEXT])
+m4trace:configure.in:381: -1- m4_pattern_allow([^OBJEXT$])
+m4trace:configure.in:384: -1- AC_CHECK_LIB([cposix], [strerror], [LIBS="$LIBS -lcposix"])
+m4trace:configure.in:385: -1- AC_HEADER_STDC
+m4trace:configure.in:385: -1- AC_PROG_CPP
+m4trace:configure.in:385: -1- AC_SUBST([CPP])
+m4trace:configure.in:385: -1- AC_SUBST_TRACE([CPP])
+m4trace:configure.in:385: -1- m4_pattern_allow([^CPP$])
+m4trace:configure.in:385: -1- AC_SUBST([CPPFLAGS])
+m4trace:configure.in:385: -1- AC_SUBST_TRACE([CPPFLAGS])
+m4trace:configure.in:385: -1- m4_pattern_allow([^CPPFLAGS$])
+m4trace:configure.in:385: -1- AC_SUBST([CPP])
+m4trace:configure.in:385: -1- AC_SUBST_TRACE([CPP])
+m4trace:configure.in:385: -1- m4_pattern_allow([^CPP$])
+m4trace:configure.in:385: -1- AC_SUBST([GREP])
+m4trace:configure.in:385: -1- AC_SUBST_TRACE([GREP])
+m4trace:configure.in:385: -1- m4_pattern_allow([^GREP$])
+m4trace:configure.in:385: -1- AC_SUBST([GREP])
+m4trace:configure.in:385: -1- AC_SUBST_TRACE([GREP])
+m4trace:configure.in:385: -1- m4_pattern_allow([^GREP$])
+m4trace:configure.in:385: -1- AC_SUBST([EGREP])
+m4trace:configure.in:385: -1- AC_SUBST_TRACE([EGREP])
+m4trace:configure.in:385: -1- m4_pattern_allow([^EGREP$])
+m4trace:configure.in:385: -1- AC_SUBST([EGREP])
+m4trace:configure.in:385: -1- AC_SUBST_TRACE([EGREP])
+m4trace:configure.in:385: -1- m4_pattern_allow([^EGREP$])
+m4trace:configure.in:385: -1- AC_DEFINE_TRACE_LITERAL([STDC_HEADERS])
+m4trace:configure.in:385: -1- m4_pattern_allow([^STDC_HEADERS$])
+m4trace:configure.in:385: -1- AH_OUTPUT([STDC_HEADERS], [/* Define to 1 if you have the ANSI C header files. */
 #undef STDC_HEADERS])
-m4trace:configure.in:380: -1- AH_OUTPUT([HAVE_SYS_TYPES_H], [/* Define to 1 if you have the <sys/types.h> header file. */
+m4trace:configure.in:385: -1- AC_CHECK_HEADERS([sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
+                 inttypes.h stdint.h unistd.h], [], [], [$ac_includes_default])
+m4trace:configure.in:385: -1- AH_OUTPUT([HAVE_SYS_TYPES_H], [/* Define to 1 if you have the <sys/types.h> header file. */
 #undef HAVE_SYS_TYPES_H])
-m4trace:configure.in:380: -1- AH_OUTPUT([HAVE_SYS_STAT_H], [/* Define to 1 if you have the <sys/stat.h> header file. */
+m4trace:configure.in:385: -1- AH_OUTPUT([HAVE_SYS_STAT_H], [/* Define to 1 if you have the <sys/stat.h> header file. */
 #undef HAVE_SYS_STAT_H])
-m4trace:configure.in:380: -1- AH_OUTPUT([HAVE_STDLIB_H], [/* Define to 1 if you have the <stdlib.h> header file. */
+m4trace:configure.in:385: -1- AH_OUTPUT([HAVE_STDLIB_H], [/* Define to 1 if you have the <stdlib.h> header file. */
 #undef HAVE_STDLIB_H])
-m4trace:configure.in:380: -1- AH_OUTPUT([HAVE_STRING_H], [/* Define to 1 if you have the <string.h> header file. */
+m4trace:configure.in:385: -1- AH_OUTPUT([HAVE_STRING_H], [/* Define to 1 if you have the <string.h> header file. */
 #undef HAVE_STRING_H])
-m4trace:configure.in:380: -1- AH_OUTPUT([HAVE_MEMORY_H], [/* Define to 1 if you have the <memory.h> header file. */
+m4trace:configure.in:385: -1- AH_OUTPUT([HAVE_MEMORY_H], [/* Define to 1 if you have the <memory.h> header file. */
 #undef HAVE_MEMORY_H])
-m4trace:configure.in:380: -1- AH_OUTPUT([HAVE_STRINGS_H], [/* Define to 1 if you have the <strings.h> header file. */
+m4trace:configure.in:385: -1- AH_OUTPUT([HAVE_STRINGS_H], [/* Define to 1 if you have the <strings.h> header file. */
 #undef HAVE_STRINGS_H])
-m4trace:configure.in:380: -1- AH_OUTPUT([HAVE_INTTYPES_H], [/* Define to 1 if you have the <inttypes.h> header file. */
+m4trace:configure.in:385: -1- AH_OUTPUT([HAVE_INTTYPES_H], [/* Define to 1 if you have the <inttypes.h> header file. */
 #undef HAVE_INTTYPES_H])
-m4trace:configure.in:380: -1- AH_OUTPUT([HAVE_STDINT_H], [/* Define to 1 if you have the <stdint.h> header file. */
+m4trace:configure.in:385: -1- AH_OUTPUT([HAVE_STDINT_H], [/* Define to 1 if you have the <stdint.h> header file. */
 #undef HAVE_STDINT_H])
-m4trace:configure.in:380: -1- AH_OUTPUT([HAVE_UNISTD_H], [/* Define to 1 if you have the <unistd.h> header file. */
+m4trace:configure.in:385: -1- AH_OUTPUT([HAVE_UNISTD_H], [/* Define to 1 if you have the <unistd.h> header file. */
 #undef HAVE_UNISTD_H])
-m4trace:configure.in:380: -1- AC_DEFINE_TRACE_LITERAL([_POSIX_SOURCE])
-m4trace:configure.in:380: -1- m4_pattern_allow([^_POSIX_SOURCE$])
-m4trace:configure.in:380: -1- AH_OUTPUT([_POSIX_SOURCE], [/* Define to 1 if you need to in order for `stat\' and other things to work. */
+m4trace:configure.in:385: -1- AC_DEFINE_TRACE_LITERAL([_POSIX_SOURCE])
+m4trace:configure.in:385: -1- m4_pattern_allow([^_POSIX_SOURCE$])
+m4trace:configure.in:385: -1- AH_OUTPUT([_POSIX_SOURCE], [/* Define to 1 if you need to in order for `stat\' and other things to work. */
 #undef _POSIX_SOURCE])
-m4trace:configure.in:380: -1- AC_DEFINE_TRACE_LITERAL([_POSIX_1_SOURCE])
-m4trace:configure.in:380: -1- m4_pattern_allow([^_POSIX_1_SOURCE$])
-m4trace:configure.in:380: -1- AH_OUTPUT([_POSIX_1_SOURCE], [/* Define to 2 if the system does not provide POSIX.1 features except with
+m4trace:configure.in:385: -1- AC_DEFINE_TRACE_LITERAL([_POSIX_1_SOURCE])
+m4trace:configure.in:385: -1- m4_pattern_allow([^_POSIX_1_SOURCE$])
+m4trace:configure.in:385: -1- AH_OUTPUT([_POSIX_1_SOURCE], [/* Define to 2 if the system does not provide POSIX.1 features except with
    this defined. */
 #undef _POSIX_1_SOURCE])
-m4trace:configure.in:380: -1- AC_DEFINE_TRACE_LITERAL([_MINIX])
-m4trace:configure.in:380: -1- m4_pattern_allow([^_MINIX$])
-m4trace:configure.in:380: -1- AH_OUTPUT([_MINIX], [/* Define to 1 if on MINIX. */
+m4trace:configure.in:385: -1- AC_DEFINE_TRACE_LITERAL([_MINIX])
+m4trace:configure.in:385: -1- m4_pattern_allow([^_MINIX$])
+m4trace:configure.in:385: -1- AH_OUTPUT([_MINIX], [/* Define to 1 if on MINIX. */
 #undef _MINIX])
-m4trace:configure.in:382: -1- AC_DEFINE_TRACE_LITERAL([_FILE_OFFSET_BITS])
-m4trace:configure.in:382: -1- m4_pattern_allow([^_FILE_OFFSET_BITS$])
-m4trace:configure.in:382: -1- AH_OUTPUT([_FILE_OFFSET_BITS], [/* Number of bits in a file offset, on hosts where this is settable. */
+m4trace:configure.in:387: -1- AC_DEFINE_TRACE_LITERAL([_FILE_OFFSET_BITS])
+m4trace:configure.in:387: -1- m4_pattern_allow([^_FILE_OFFSET_BITS$])
+m4trace:configure.in:387: -1- AH_OUTPUT([_FILE_OFFSET_BITS], [/* Number of bits in a file offset, on hosts where this is settable. */
 #undef _FILE_OFFSET_BITS])
-m4trace:configure.in:382: -1- AC_DEFINE_TRACE_LITERAL([_LARGE_FILES])
-m4trace:configure.in:382: -1- m4_pattern_allow([^_LARGE_FILES$])
-m4trace:configure.in:382: -1- AH_OUTPUT([_LARGE_FILES], [/* Define for large files, on AIX-style hosts. */
+m4trace:configure.in:387: -1- AC_DEFINE_TRACE_LITERAL([_LARGE_FILES])
+m4trace:configure.in:387: -1- m4_pattern_allow([^_LARGE_FILES$])
+m4trace:configure.in:387: -1- AH_OUTPUT([_LARGE_FILES], [/* Define for large files, on AIX-style hosts. */
 #undef _LARGE_FILES])
-m4trace:configure.in:419: -1- AC_SUBST([CROSS_COMPILE])
-m4trace:configure.in:419: -1- AC_SUBST_TRACE([CROSS_COMPILE])
-m4trace:configure.in:419: -1- m4_pattern_allow([^CROSS_COMPILE$])
-m4trace:configure.in:421: -1- AC_SUBST([SIGNAMES_H])
-m4trace:configure.in:421: -1- AC_SUBST_TRACE([SIGNAMES_H])
-m4trace:configure.in:421: -1- m4_pattern_allow([^SIGNAMES_H$])
-m4trace:configure.in:422: -1- AC_SUBST([SIGNAMES_O])
-m4trace:configure.in:422: -1- AC_SUBST_TRACE([SIGNAMES_O])
-m4trace:configure.in:422: -1- m4_pattern_allow([^SIGNAMES_O$])
-m4trace:configure.in:431: -1- AC_SUBST([CC_FOR_BUILD])
-m4trace:configure.in:431: -1- AC_SUBST_TRACE([CC_FOR_BUILD])
-m4trace:configure.in:431: -1- m4_pattern_allow([^CC_FOR_BUILD$])
-m4trace:configure.in:454: -1- _m4_warn([obsolete], [The macro `ac_cv_prog_gcc' is obsolete.
-You should run autoupdate.], [autoconf/c.m4:511: ac_cv_prog_gcc is expanded from...
-configure.in:454: the top level])
-m4trace:configure.in:473: -1- AC_SUBST([CFLAGS])
-m4trace:configure.in:473: -1- AC_SUBST_TRACE([CFLAGS])
-m4trace:configure.in:473: -1- m4_pattern_allow([^CFLAGS$])
-m4trace:configure.in:474: -1- AC_SUBST([CPPFLAGS])
-m4trace:configure.in:474: -1- AC_SUBST_TRACE([CPPFLAGS])
-m4trace:configure.in:474: -1- m4_pattern_allow([^CPPFLAGS$])
-m4trace:configure.in:475: -1- AC_SUBST([LDFLAGS])
-m4trace:configure.in:475: -1- AC_SUBST_TRACE([LDFLAGS])
-m4trace:configure.in:475: -1- m4_pattern_allow([^LDFLAGS$])
-m4trace:configure.in:476: -1- AC_SUBST([STATIC_LD])
-m4trace:configure.in:476: -1- AC_SUBST_TRACE([STATIC_LD])
-m4trace:configure.in:476: -1- m4_pattern_allow([^STATIC_LD$])
-m4trace:configure.in:478: -1- AC_SUBST([CFLAGS_FOR_BUILD])
-m4trace:configure.in:478: -1- AC_SUBST_TRACE([CFLAGS_FOR_BUILD])
-m4trace:configure.in:478: -1- m4_pattern_allow([^CFLAGS_FOR_BUILD$])
-m4trace:configure.in:479: -1- AC_SUBST([CPPFLAGS_FOR_BUILD])
-m4trace:configure.in:479: -1- AC_SUBST_TRACE([CPPFLAGS_FOR_BUILD])
-m4trace:configure.in:479: -1- m4_pattern_allow([^CPPFLAGS_FOR_BUILD$])
-m4trace:configure.in:480: -1- AC_SUBST([LDFLAGS_FOR_BUILD])
-m4trace:configure.in:480: -1- AC_SUBST_TRACE([LDFLAGS_FOR_BUILD])
-m4trace:configure.in:480: -1- m4_pattern_allow([^LDFLAGS_FOR_BUILD$])
-m4trace:configure.in:494: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
-You should run autoupdate.], [autoconf/general.m4:2479: AC_TRY_RUN is expanded from...
-../../lib/m4sugar/m4sh.m4:523: AS_IF is expanded from...
-autoconf/general.m4:1905: AC_CACHE_VAL is expanded from...
-aclocal.m4:1751: RL_LIB_READLINE_VERSION is expanded from...
-configure.in:494: the top level])
-m4trace:configure.in:494: -1- AC_DEFINE_TRACE_LITERAL([RL_READLINE_VERSION])
-m4trace:configure.in:494: -1- m4_pattern_allow([^RL_READLINE_VERSION$])
-m4trace:configure.in:494: -1- AH_OUTPUT([RL_READLINE_VERSION], [/* encoded version of the installed readline library */
+m4trace:configure.in:424: -1- AC_SUBST([CROSS_COMPILE])
+m4trace:configure.in:424: -1- AC_SUBST_TRACE([CROSS_COMPILE])
+m4trace:configure.in:424: -1- m4_pattern_allow([^CROSS_COMPILE$])
+m4trace:configure.in:426: -1- AC_SUBST([SIGNAMES_H])
+m4trace:configure.in:426: -1- AC_SUBST_TRACE([SIGNAMES_H])
+m4trace:configure.in:426: -1- m4_pattern_allow([^SIGNAMES_H$])
+m4trace:configure.in:427: -1- AC_SUBST([SIGNAMES_O])
+m4trace:configure.in:427: -1- AC_SUBST_TRACE([SIGNAMES_O])
+m4trace:configure.in:427: -1- m4_pattern_allow([^SIGNAMES_O$])
+m4trace:configure.in:436: -1- AC_SUBST([CC_FOR_BUILD])
+m4trace:configure.in:436: -1- AC_SUBST_TRACE([CC_FOR_BUILD])
+m4trace:configure.in:436: -1- m4_pattern_allow([^CC_FOR_BUILD$])
+m4trace:configure.in:459: -1- _m4_warn([obsolete], [The macro `ac_cv_prog_gcc' is obsolete.
+You should run autoupdate.], [autoconf/c.m4:504: ac_cv_prog_gcc is expanded from...
+configure.in:459: the top level])
+m4trace:configure.in:478: -1- AC_SUBST([CFLAGS])
+m4trace:configure.in:478: -1- AC_SUBST_TRACE([CFLAGS])
+m4trace:configure.in:478: -1- m4_pattern_allow([^CFLAGS$])
+m4trace:configure.in:479: -1- AC_SUBST([CPPFLAGS])
+m4trace:configure.in:479: -1- AC_SUBST_TRACE([CPPFLAGS])
+m4trace:configure.in:479: -1- m4_pattern_allow([^CPPFLAGS$])
+m4trace:configure.in:480: -1- AC_SUBST([LDFLAGS])
+m4trace:configure.in:480: -1- AC_SUBST_TRACE([LDFLAGS])
+m4trace:configure.in:480: -1- m4_pattern_allow([^LDFLAGS$])
+m4trace:configure.in:481: -1- AC_SUBST([STATIC_LD])
+m4trace:configure.in:481: -1- AC_SUBST_TRACE([STATIC_LD])
+m4trace:configure.in:481: -1- m4_pattern_allow([^STATIC_LD$])
+m4trace:configure.in:483: -1- AC_SUBST([CFLAGS_FOR_BUILD])
+m4trace:configure.in:483: -1- AC_SUBST_TRACE([CFLAGS_FOR_BUILD])
+m4trace:configure.in:483: -1- m4_pattern_allow([^CFLAGS_FOR_BUILD$])
+m4trace:configure.in:484: -1- AC_SUBST([CPPFLAGS_FOR_BUILD])
+m4trace:configure.in:484: -1- AC_SUBST_TRACE([CPPFLAGS_FOR_BUILD])
+m4trace:configure.in:484: -1- m4_pattern_allow([^CPPFLAGS_FOR_BUILD$])
+m4trace:configure.in:485: -1- AC_SUBST([LDFLAGS_FOR_BUILD])
+m4trace:configure.in:485: -1- AC_SUBST_TRACE([LDFLAGS_FOR_BUILD])
+m4trace:configure.in:485: -1- m4_pattern_allow([^LDFLAGS_FOR_BUILD$])
+m4trace:configure.in:487: -1- AC_PROG_GCC_TRADITIONAL
+m4trace:configure.in:499: -1- AC_CHECK_LIB([termcap], [tgetent], [bash_cv_termcap_lib=libtermcap], [AC_CHECK_LIB(tinfo, tgetent, bash_cv_termcap_lib=libtinfo,
+        [AC_CHECK_LIB(curses, tgetent, bash_cv_termcap_lib=libcurses,
+           [AC_CHECK_LIB(ncurses, tgetent, bash_cv_termcap_lib=libncurses,
+               bash_cv_termcap_lib=gnutermcap)])])])
+m4trace:configure.in:499: -1- AC_CHECK_LIB([tinfo], [tgetent], [bash_cv_termcap_lib=libtinfo], [AC_CHECK_LIB(curses, tgetent, bash_cv_termcap_lib=libcurses,
+           [AC_CHECK_LIB(ncurses, tgetent, bash_cv_termcap_lib=libncurses,
+               bash_cv_termcap_lib=gnutermcap)])])
+m4trace:configure.in:499: -1- AC_CHECK_LIB([curses], [tgetent], [bash_cv_termcap_lib=libcurses], [AC_CHECK_LIB(ncurses, tgetent, bash_cv_termcap_lib=libncurses,
+               bash_cv_termcap_lib=gnutermcap)])
+m4trace:configure.in:499: -1- AC_CHECK_LIB([ncurses], [tgetent], [bash_cv_termcap_lib=libncurses], [bash_cv_termcap_lib=gnutermcap])
+m4trace:configure.in:499: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
+You should run autoupdate.], [autoconf/general.m4:2490: AC_TRY_RUN is expanded from...
+../../lib/m4sugar/m4sh.m4:519: AS_IF is expanded from...
+autoconf/general.m4:1922: AC_CACHE_VAL is expanded from...
+aclocal.m4:1863: RL_LIB_READLINE_VERSION is expanded from...
+configure.in:499: the top level])
+m4trace:configure.in:499: -1- AC_DEFINE_TRACE_LITERAL([RL_READLINE_VERSION])
+m4trace:configure.in:499: -1- m4_pattern_allow([^RL_READLINE_VERSION$])
+m4trace:configure.in:499: -1- AH_OUTPUT([RL_READLINE_VERSION], [/* encoded version of the installed readline library */
 #undef RL_READLINE_VERSION])
-m4trace:configure.in:494: -1- AC_DEFINE_TRACE_LITERAL([RL_VERSION_MAJOR])
-m4trace:configure.in:494: -1- m4_pattern_allow([^RL_VERSION_MAJOR$])
-m4trace:configure.in:494: -1- AH_OUTPUT([RL_VERSION_MAJOR], [/* major version of installed readline library */
+m4trace:configure.in:499: -1- AC_DEFINE_TRACE_LITERAL([RL_VERSION_MAJOR])
+m4trace:configure.in:499: -1- m4_pattern_allow([^RL_VERSION_MAJOR$])
+m4trace:configure.in:499: -1- AH_OUTPUT([RL_VERSION_MAJOR], [/* major version of installed readline library */
 #undef RL_VERSION_MAJOR])
-m4trace:configure.in:494: -1- AC_DEFINE_TRACE_LITERAL([RL_VERSION_MINOR])
-m4trace:configure.in:494: -1- m4_pattern_allow([^RL_VERSION_MINOR$])
-m4trace:configure.in:494: -1- AH_OUTPUT([RL_VERSION_MINOR], [/* minor version of installed readline library */
+m4trace:configure.in:499: -1- AC_DEFINE_TRACE_LITERAL([RL_VERSION_MINOR])
+m4trace:configure.in:499: -1- m4_pattern_allow([^RL_VERSION_MINOR$])
+m4trace:configure.in:499: -1- AH_OUTPUT([RL_VERSION_MINOR], [/* minor version of installed readline library */
 #undef RL_VERSION_MINOR])
-m4trace:configure.in:494: -1- AC_SUBST([RL_VERSION])
-m4trace:configure.in:494: -1- AC_SUBST_TRACE([RL_VERSION])
-m4trace:configure.in:494: -1- m4_pattern_allow([^RL_VERSION$])
-m4trace:configure.in:494: -1- AC_SUBST([RL_MAJOR])
-m4trace:configure.in:494: -1- AC_SUBST_TRACE([RL_MAJOR])
-m4trace:configure.in:494: -1- m4_pattern_allow([^RL_MAJOR$])
-m4trace:configure.in:494: -1- AC_SUBST([RL_MINOR])
-m4trace:configure.in:494: -1- AC_SUBST_TRACE([RL_MINOR])
-m4trace:configure.in:494: -1- m4_pattern_allow([^RL_MINOR$])
-m4trace:configure.in:507: -1- AC_DEFINE_TRACE_LITERAL([READLINE])
-m4trace:configure.in:507: -1- m4_pattern_allow([^READLINE$])
-m4trace:configure.in:542: -1- AC_DEFINE_TRACE_LITERAL([HISTORY])
-m4trace:configure.in:542: -1- m4_pattern_allow([^HISTORY$])
-m4trace:configure.in:545: -1- AC_DEFINE_TRACE_LITERAL([BANG_HISTORY])
-m4trace:configure.in:545: -1- m4_pattern_allow([^BANG_HISTORY$])
-m4trace:configure.in:575: -1- AC_SUBST([READLINE_LIB])
-m4trace:configure.in:575: -1- AC_SUBST_TRACE([READLINE_LIB])
-m4trace:configure.in:575: -1- m4_pattern_allow([^READLINE_LIB$])
-m4trace:configure.in:576: -1- AC_SUBST([READLINE_DEP])
-m4trace:configure.in:576: -1- AC_SUBST_TRACE([READLINE_DEP])
-m4trace:configure.in:576: -1- m4_pattern_allow([^READLINE_DEP$])
-m4trace:configure.in:577: -1- AC_SUBST([RL_LIBDIR])
-m4trace:configure.in:577: -1- AC_SUBST_TRACE([RL_LIBDIR])
-m4trace:configure.in:577: -1- m4_pattern_allow([^RL_LIBDIR$])
-m4trace:configure.in:578: -1- AC_SUBST([RL_INCLUDEDIR])
-m4trace:configure.in:578: -1- AC_SUBST_TRACE([RL_INCLUDEDIR])
-m4trace:configure.in:578: -1- m4_pattern_allow([^RL_INCLUDEDIR$])
-m4trace:configure.in:579: -1- AC_SUBST([RL_INCLUDE])
-m4trace:configure.in:579: -1- AC_SUBST_TRACE([RL_INCLUDE])
-m4trace:configure.in:579: -1- m4_pattern_allow([^RL_INCLUDE$])
-m4trace:configure.in:580: -1- AC_SUBST([HISTORY_LIB])
-m4trace:configure.in:580: -1- AC_SUBST_TRACE([HISTORY_LIB])
-m4trace:configure.in:580: -1- m4_pattern_allow([^HISTORY_LIB$])
-m4trace:configure.in:581: -1- AC_SUBST([HISTORY_DEP])
-m4trace:configure.in:581: -1- AC_SUBST_TRACE([HISTORY_DEP])
-m4trace:configure.in:581: -1- m4_pattern_allow([^HISTORY_DEP$])
-m4trace:configure.in:582: -1- AC_SUBST([HIST_LIBDIR])
-m4trace:configure.in:582: -1- AC_SUBST_TRACE([HIST_LIBDIR])
-m4trace:configure.in:582: -1- m4_pattern_allow([^HIST_LIBDIR$])
-m4trace:configure.in:583: -1- AC_SUBST([TILDE_LIB])
-m4trace:configure.in:583: -1- AC_SUBST_TRACE([TILDE_LIB])
-m4trace:configure.in:583: -1- m4_pattern_allow([^TILDE_LIB$])
-m4trace:configure.in:588: -1- AC_REQUIRE_AUX_FILE([install-sh])
-m4trace:configure.in:588: -1- AC_SUBST([INSTALL_PROGRAM])
-m4trace:configure.in:588: -1- AC_SUBST_TRACE([INSTALL_PROGRAM])
-m4trace:configure.in:588: -1- m4_pattern_allow([^INSTALL_PROGRAM$])
-m4trace:configure.in:588: -1- AC_SUBST([INSTALL_SCRIPT])
-m4trace:configure.in:588: -1- AC_SUBST_TRACE([INSTALL_SCRIPT])
-m4trace:configure.in:588: -1- m4_pattern_allow([^INSTALL_SCRIPT$])
-m4trace:configure.in:588: -1- AC_SUBST([INSTALL_DATA])
-m4trace:configure.in:588: -1- AC_SUBST_TRACE([INSTALL_DATA])
-m4trace:configure.in:588: -1- m4_pattern_allow([^INSTALL_DATA$])
-m4trace:configure.in:589: -1- AC_SUBST([AR])
-m4trace:configure.in:589: -1- AC_SUBST_TRACE([AR])
-m4trace:configure.in:589: -1- m4_pattern_allow([^AR$])
-m4trace:configure.in:593: -1- AC_SUBST([RANLIB])
-m4trace:configure.in:593: -1- AC_SUBST_TRACE([RANLIB])
-m4trace:configure.in:593: -1- m4_pattern_allow([^RANLIB$])
-m4trace:configure.in:594: -1- AC_SUBST([YACC])
-m4trace:configure.in:594: -1- AC_SUBST_TRACE([YACC])
-m4trace:configure.in:594: -1- m4_pattern_allow([^YACC$])
-m4trace:configure.in:594: -1- AC_SUBST([YACC])
-m4trace:configure.in:594: -1- AC_SUBST_TRACE([YACC])
-m4trace:configure.in:594: -1- m4_pattern_allow([^YACC$])
-m4trace:configure.in:594: -1- AC_SUBST([YFLAGS])
-m4trace:configure.in:594: -1- AC_SUBST_TRACE([YFLAGS])
-m4trace:configure.in:594: -1- m4_pattern_allow([^YFLAGS$])
-m4trace:configure.in:595: -1- AC_SUBST([SET_MAKE])
-m4trace:configure.in:595: -1- AC_SUBST_TRACE([SET_MAKE])
-m4trace:configure.in:595: -1- m4_pattern_allow([^SET_MAKE$])
-m4trace:configure.in:601: -1- AC_SUBST([MAKE_SHELL])
-m4trace:configure.in:601: -1- AC_SUBST_TRACE([MAKE_SHELL])
-m4trace:configure.in:601: -1- m4_pattern_allow([^MAKE_SHELL$])
-m4trace:configure.in:623: -1- AC_SUBST([SIZE])
-m4trace:configure.in:623: -1- AC_SUBST_TRACE([SIZE])
-m4trace:configure.in:623: -1- m4_pattern_allow([^SIZE$])
-m4trace:configure.in:626: -1- AC_DEFINE_TRACE_LITERAL([_GNU_SOURCE])
-m4trace:configure.in:626: -1- m4_pattern_allow([^_GNU_SOURCE$])
-m4trace:configure.in:629: -1- AC_DEFINE_TRACE_LITERAL([const])
-m4trace:configure.in:629: -1- m4_pattern_allow([^const$])
-m4trace:configure.in:629: -1- AH_OUTPUT([const], [/* Define to empty if `const\' does not conform to ANSI C. */
+m4trace:configure.in:499: -1- AC_SUBST([RL_VERSION])
+m4trace:configure.in:499: -1- AC_SUBST_TRACE([RL_VERSION])
+m4trace:configure.in:499: -1- m4_pattern_allow([^RL_VERSION$])
+m4trace:configure.in:499: -1- AC_SUBST([RL_MAJOR])
+m4trace:configure.in:499: -1- AC_SUBST_TRACE([RL_MAJOR])
+m4trace:configure.in:499: -1- m4_pattern_allow([^RL_MAJOR$])
+m4trace:configure.in:499: -1- AC_SUBST([RL_MINOR])
+m4trace:configure.in:499: -1- AC_SUBST_TRACE([RL_MINOR])
+m4trace:configure.in:499: -1- m4_pattern_allow([^RL_MINOR$])
+m4trace:configure.in:512: -1- AC_DEFINE_TRACE_LITERAL([READLINE])
+m4trace:configure.in:512: -1- m4_pattern_allow([^READLINE$])
+m4trace:configure.in:547: -1- AC_DEFINE_TRACE_LITERAL([HISTORY])
+m4trace:configure.in:547: -1- m4_pattern_allow([^HISTORY$])
+m4trace:configure.in:550: -1- AC_DEFINE_TRACE_LITERAL([BANG_HISTORY])
+m4trace:configure.in:550: -1- m4_pattern_allow([^BANG_HISTORY$])
+m4trace:configure.in:580: -1- AC_SUBST([READLINE_LIB])
+m4trace:configure.in:580: -1- AC_SUBST_TRACE([READLINE_LIB])
+m4trace:configure.in:580: -1- m4_pattern_allow([^READLINE_LIB$])
+m4trace:configure.in:581: -1- AC_SUBST([READLINE_DEP])
+m4trace:configure.in:581: -1- AC_SUBST_TRACE([READLINE_DEP])
+m4trace:configure.in:581: -1- m4_pattern_allow([^READLINE_DEP$])
+m4trace:configure.in:582: -1- AC_SUBST([RL_LIBDIR])
+m4trace:configure.in:582: -1- AC_SUBST_TRACE([RL_LIBDIR])
+m4trace:configure.in:582: -1- m4_pattern_allow([^RL_LIBDIR$])
+m4trace:configure.in:583: -1- AC_SUBST([RL_INCLUDEDIR])
+m4trace:configure.in:583: -1- AC_SUBST_TRACE([RL_INCLUDEDIR])
+m4trace:configure.in:583: -1- m4_pattern_allow([^RL_INCLUDEDIR$])
+m4trace:configure.in:584: -1- AC_SUBST([RL_INCLUDE])
+m4trace:configure.in:584: -1- AC_SUBST_TRACE([RL_INCLUDE])
+m4trace:configure.in:584: -1- m4_pattern_allow([^RL_INCLUDE$])
+m4trace:configure.in:585: -1- AC_SUBST([HISTORY_LIB])
+m4trace:configure.in:585: -1- AC_SUBST_TRACE([HISTORY_LIB])
+m4trace:configure.in:585: -1- m4_pattern_allow([^HISTORY_LIB$])
+m4trace:configure.in:586: -1- AC_SUBST([HISTORY_DEP])
+m4trace:configure.in:586: -1- AC_SUBST_TRACE([HISTORY_DEP])
+m4trace:configure.in:586: -1- m4_pattern_allow([^HISTORY_DEP$])
+m4trace:configure.in:587: -1- AC_SUBST([HIST_LIBDIR])
+m4trace:configure.in:587: -1- AC_SUBST_TRACE([HIST_LIBDIR])
+m4trace:configure.in:587: -1- m4_pattern_allow([^HIST_LIBDIR$])
+m4trace:configure.in:588: -1- AC_SUBST([TILDE_LIB])
+m4trace:configure.in:588: -1- AC_SUBST_TRACE([TILDE_LIB])
+m4trace:configure.in:588: -1- m4_pattern_allow([^TILDE_LIB$])
+m4trace:configure.in:593: -1- AC_PROG_INSTALL
+m4trace:configure.in:593: -1- AC_REQUIRE_AUX_FILE([install-sh])
+m4trace:configure.in:593: -1- AC_SUBST([INSTALL_PROGRAM])
+m4trace:configure.in:593: -1- AC_SUBST_TRACE([INSTALL_PROGRAM])
+m4trace:configure.in:593: -1- m4_pattern_allow([^INSTALL_PROGRAM$])
+m4trace:configure.in:593: -1- AC_SUBST([INSTALL_SCRIPT])
+m4trace:configure.in:593: -1- AC_SUBST_TRACE([INSTALL_SCRIPT])
+m4trace:configure.in:593: -1- m4_pattern_allow([^INSTALL_SCRIPT$])
+m4trace:configure.in:593: -1- AC_SUBST([INSTALL_DATA])
+m4trace:configure.in:593: -1- AC_SUBST_TRACE([INSTALL_DATA])
+m4trace:configure.in:593: -1- m4_pattern_allow([^INSTALL_DATA$])
+m4trace:configure.in:594: -1- AC_SUBST([AR])
+m4trace:configure.in:594: -1- AC_SUBST_TRACE([AR])
+m4trace:configure.in:594: -1- m4_pattern_allow([^AR$])
+m4trace:configure.in:598: -1- AC_PROG_RANLIB
+m4trace:configure.in:598: -1- AC_SUBST([RANLIB])
+m4trace:configure.in:598: -1- AC_SUBST_TRACE([RANLIB])
+m4trace:configure.in:598: -1- m4_pattern_allow([^RANLIB$])
+m4trace:configure.in:599: -1- AC_PROG_YACC
+m4trace:configure.in:599: -1- AC_SUBST([YACC])
+m4trace:configure.in:599: -1- AC_SUBST_TRACE([YACC])
+m4trace:configure.in:599: -1- m4_pattern_allow([^YACC$])
+m4trace:configure.in:599: -1- AC_SUBST([YACC])
+m4trace:configure.in:599: -1- AC_SUBST_TRACE([YACC])
+m4trace:configure.in:599: -1- m4_pattern_allow([^YACC$])
+m4trace:configure.in:599: -1- AC_SUBST([YFLAGS])
+m4trace:configure.in:599: -1- AC_SUBST_TRACE([YFLAGS])
+m4trace:configure.in:599: -1- m4_pattern_allow([^YFLAGS$])
+m4trace:configure.in:600: -1- AC_PROG_MAKE_SET
+m4trace:configure.in:600: -1- AC_SUBST([SET_MAKE])
+m4trace:configure.in:600: -1- AC_SUBST_TRACE([SET_MAKE])
+m4trace:configure.in:600: -1- m4_pattern_allow([^SET_MAKE$])
+m4trace:configure.in:606: -1- AC_SUBST([MAKE_SHELL])
+m4trace:configure.in:606: -1- AC_SUBST_TRACE([MAKE_SHELL])
+m4trace:configure.in:606: -1- m4_pattern_allow([^MAKE_SHELL$])
+m4trace:configure.in:628: -1- AC_SUBST([SIZE])
+m4trace:configure.in:628: -1- AC_SUBST_TRACE([SIZE])
+m4trace:configure.in:628: -1- m4_pattern_allow([^SIZE$])
+m4trace:configure.in:631: -1- AC_DEFINE_TRACE_LITERAL([_GNU_SOURCE])
+m4trace:configure.in:631: -1- m4_pattern_allow([^_GNU_SOURCE$])
+m4trace:configure.in:634: -1- AC_C_CONST
+m4trace:configure.in:634: -1- AC_DEFINE_TRACE_LITERAL([const])
+m4trace:configure.in:634: -1- m4_pattern_allow([^const$])
+m4trace:configure.in:634: -1- AH_OUTPUT([const], [/* Define to empty if `const\' does not conform to ANSI C. */
 #undef const])
-m4trace:configure.in:630: -1- AH_OUTPUT([inline], [/* Define to `__inline__\' or `__inline\' if that\'s what the C compiler
+m4trace:configure.in:635: -1- AC_C_INLINE
+m4trace:configure.in:635: -1- AH_OUTPUT([inline], [/* Define to `__inline__\' or `__inline\' if that\'s what the C compiler
    calls it, or to nothing if \'inline\' is not supported under any name.  */
 #ifndef __cplusplus
 #undef inline
 #endif])
-m4trace:configure.in:631: -1- AC_DEFINE_TRACE_LITERAL([WORDS_BIGENDIAN])
-m4trace:configure.in:631: -1- m4_pattern_allow([^WORDS_BIGENDIAN$])
-m4trace:configure.in:631: -1- AH_OUTPUT([WORDS_BIGENDIAN], [/* Define to 1 if your processor stores words with the most significant byte
+m4trace:configure.in:636: -1- AC_DEFINE_TRACE_LITERAL([WORDS_BIGENDIAN])
+m4trace:configure.in:636: -1- m4_pattern_allow([^WORDS_BIGENDIAN$])
+m4trace:configure.in:636: -1- AH_OUTPUT([WORDS_BIGENDIAN], [/* Define to 1 if your processor stores words with the most significant byte
    first (like Motorola and SPARC, unlike Intel and VAX). */
 #undef WORDS_BIGENDIAN])
-m4trace:configure.in:632: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRINGIZE])
-m4trace:configure.in:632: -1- m4_pattern_allow([^HAVE_STRINGIZE$])
-m4trace:configure.in:632: -1- AH_OUTPUT([HAVE_STRINGIZE], [/* Define to 1 if cpp supports the ANSI @%:@ stringizing operator. */
+m4trace:configure.in:637: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRINGIZE])
+m4trace:configure.in:637: -1- m4_pattern_allow([^HAVE_STRINGIZE$])
+m4trace:configure.in:637: -1- AH_OUTPUT([HAVE_STRINGIZE], [/* Define to 1 if cpp supports the ANSI @%:@ stringizing operator. */
 #undef HAVE_STRINGIZE])
-m4trace:configure.in:633: -1- _m4_warn([obsolete], [The macro `AC_C_LONG_DOUBLE' is obsolete.
+m4trace:configure.in:638: -1- _m4_warn([obsolete], [The macro `AC_C_LONG_DOUBLE' is obsolete.
 You should run autoupdate.], [autoconf/types.m4:465: AC_C_LONG_DOUBLE is expanded from...
-configure.in:633: the top level])
-m4trace:configure.in:633: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LONG_DOUBLE_WIDER])
-m4trace:configure.in:633: -1- m4_pattern_allow([^HAVE_LONG_DOUBLE_WIDER$])
-m4trace:configure.in:633: -1- AH_OUTPUT([HAVE_LONG_DOUBLE_WIDER], [/* Define to 1 if the type `long double\' works and has more range or precision
+configure.in:638: the top level])
+m4trace:configure.in:638: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LONG_DOUBLE_WIDER])
+m4trace:configure.in:638: -1- m4_pattern_allow([^HAVE_LONG_DOUBLE_WIDER$])
+m4trace:configure.in:638: -1- AH_OUTPUT([HAVE_LONG_DOUBLE_WIDER], [/* Define to 1 if the type `long double\' works and has more range or precision
    than `double\'. */
 #undef HAVE_LONG_DOUBLE_WIDER])
-m4trace:configure.in:633: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LONG_DOUBLE])
-m4trace:configure.in:633: -1- m4_pattern_allow([^HAVE_LONG_DOUBLE$])
-m4trace:configure.in:633: -1- AH_OUTPUT([HAVE_LONG_DOUBLE], [/* Define to 1 if the type `long double\' works and has more range or precision
+m4trace:configure.in:638: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LONG_DOUBLE])
+m4trace:configure.in:638: -1- m4_pattern_allow([^HAVE_LONG_DOUBLE$])
+m4trace:configure.in:638: -1- AH_OUTPUT([HAVE_LONG_DOUBLE], [/* Define to 1 if the type `long double\' works and has more range or precision
    than `double\'. */
 #undef HAVE_LONG_DOUBLE])
-m4trace:configure.in:634: -1- AC_DEFINE_TRACE_LITERAL([PROTOTYPES])
-m4trace:configure.in:634: -1- m4_pattern_allow([^PROTOTYPES$])
-m4trace:configure.in:634: -1- AH_OUTPUT([PROTOTYPES], [/* Define to 1 if the C compiler supports function prototypes. */
+m4trace:configure.in:639: -1- AC_DEFINE_TRACE_LITERAL([PROTOTYPES])
+m4trace:configure.in:639: -1- m4_pattern_allow([^PROTOTYPES$])
+m4trace:configure.in:639: -1- AH_OUTPUT([PROTOTYPES], [/* Define to 1 if the C compiler supports function prototypes. */
 #undef PROTOTYPES])
-m4trace:configure.in:634: -1- AC_DEFINE_TRACE_LITERAL([__PROTOTYPES])
-m4trace:configure.in:634: -1- m4_pattern_allow([^__PROTOTYPES$])
-m4trace:configure.in:634: -1- AH_OUTPUT([__PROTOTYPES], [/* Define like PROTOTYPES; this can be used by system headers. */
+m4trace:configure.in:639: -1- AC_DEFINE_TRACE_LITERAL([__PROTOTYPES])
+m4trace:configure.in:639: -1- m4_pattern_allow([^__PROTOTYPES$])
+m4trace:configure.in:639: -1- AH_OUTPUT([__PROTOTYPES], [/* Define like PROTOTYPES; this can be used by system headers. */
 #undef __PROTOTYPES])
-m4trace:configure.in:635: -1- AH_OUTPUT([__CHAR_UNSIGNED__], [/* Define to 1 if type `char\' is unsigned and you are not using gcc.  */
+m4trace:configure.in:640: -1- AH_OUTPUT([__CHAR_UNSIGNED__], [/* Define to 1 if type `char\' is unsigned and you are not using gcc.  */
 #ifndef __CHAR_UNSIGNED__
 # undef __CHAR_UNSIGNED__
 #endif])
-m4trace:configure.in:635: -1- AC_DEFINE_TRACE_LITERAL([__CHAR_UNSIGNED__])
-m4trace:configure.in:635: -1- m4_pattern_allow([^__CHAR_UNSIGNED__$])
-m4trace:configure.in:638: -1- AM_GNU_GETTEXT([no-libtool], [need-ngettext], [lib/intl])
-m4trace:configure.in:638: -1- AC_SUBST([MKINSTALLDIRS])
-m4trace:configure.in:638: -1- AC_SUBST_TRACE([MKINSTALLDIRS])
-m4trace:configure.in:638: -1- m4_pattern_allow([^MKINSTALLDIRS$])
-m4trace:configure.in:638: -1- AC_SUBST([USE_NLS])
-m4trace:configure.in:638: -1- AC_SUBST_TRACE([USE_NLS])
-m4trace:configure.in:638: -1- m4_pattern_allow([^USE_NLS$])
-m4trace:configure.in:638: -1- AC_SUBST([MSGFMT])
-m4trace:configure.in:638: -1- AC_SUBST_TRACE([MSGFMT])
-m4trace:configure.in:638: -1- m4_pattern_allow([^MSGFMT$])
-m4trace:configure.in:638: -1- AC_SUBST([GMSGFMT])
-m4trace:configure.in:638: -1- AC_SUBST_TRACE([GMSGFMT])
-m4trace:configure.in:638: -1- m4_pattern_allow([^GMSGFMT$])
-m4trace:configure.in:638: -1- AC_SUBST([XGETTEXT])
-m4trace:configure.in:638: -1- AC_SUBST_TRACE([XGETTEXT])
-m4trace:configure.in:638: -1- m4_pattern_allow([^XGETTEXT$])
-m4trace:configure.in:638: -1- AC_SUBST([MSGMERGE])
-m4trace:configure.in:638: -1- AC_SUBST_TRACE([MSGMERGE])
-m4trace:configure.in:638: -1- m4_pattern_allow([^MSGMERGE$])
-m4trace:configure.in:638: -1- _m4_warn([obsolete], [The macro `AC_OUTPUT_COMMANDS' is obsolete.
+m4trace:configure.in:640: -1- AC_DEFINE_TRACE_LITERAL([__CHAR_UNSIGNED__])
+m4trace:configure.in:640: -1- m4_pattern_allow([^__CHAR_UNSIGNED__$])
+m4trace:configure.in:643: -1- AM_GNU_GETTEXT([no-libtool], [need-ngettext], [lib/intl])
+m4trace:configure.in:643: -1- AC_SUBST([MKINSTALLDIRS])
+m4trace:configure.in:643: -1- AC_SUBST_TRACE([MKINSTALLDIRS])
+m4trace:configure.in:643: -1- m4_pattern_allow([^MKINSTALLDIRS$])
+m4trace:configure.in:643: -1- AC_SUBST([USE_NLS])
+m4trace:configure.in:643: -1- AC_SUBST_TRACE([USE_NLS])
+m4trace:configure.in:643: -1- m4_pattern_allow([^USE_NLS$])
+m4trace:configure.in:643: -1- AC_SUBST([MSGFMT])
+m4trace:configure.in:643: -1- AC_SUBST_TRACE([MSGFMT])
+m4trace:configure.in:643: -1- m4_pattern_allow([^MSGFMT$])
+m4trace:configure.in:643: -1- AC_SUBST([GMSGFMT])
+m4trace:configure.in:643: -1- AC_SUBST_TRACE([GMSGFMT])
+m4trace:configure.in:643: -1- m4_pattern_allow([^GMSGFMT$])
+m4trace:configure.in:643: -1- AC_SUBST([XGETTEXT])
+m4trace:configure.in:643: -1- AC_SUBST_TRACE([XGETTEXT])
+m4trace:configure.in:643: -1- m4_pattern_allow([^XGETTEXT$])
+m4trace:configure.in:643: -1- AC_SUBST([MSGMERGE])
+m4trace:configure.in:643: -1- AC_SUBST_TRACE([MSGMERGE])
+m4trace:configure.in:643: -1- m4_pattern_allow([^MSGMERGE$])
+m4trace:configure.in:643: -1- _m4_warn([obsolete], [The macro `AC_OUTPUT_COMMANDS' is obsolete.
 You should run autoupdate.], [autoconf/status.m4:853: AC_OUTPUT_COMMANDS is expanded from...
-aclocal.m4:3652: AM_PO_SUBDIRS is expanded from...
-aclocal.m4:2056: AM_GNU_GETTEXT is expanded from...
-configure.in:638: the top level])
-m4trace:configure.in:638: -1- AC_DEFINE_TRACE_LITERAL([off_t])
-m4trace:configure.in:638: -1- m4_pattern_allow([^off_t$])
-m4trace:configure.in:638: -1- AH_OUTPUT([off_t], [/* Define to `long int\' if <sys/types.h> does not define. */
+aclocal.m4:3826: AM_PO_SUBDIRS is expanded from...
+aclocal.m4:2338: AM_GNU_GETTEXT is expanded from...
+configure.in:643: the top level])
+m4trace:configure.in:643: -1- AC_TYPE_OFF_T
+m4trace:configure.in:643: -1- AC_DEFINE_TRACE_LITERAL([off_t])
+m4trace:configure.in:643: -1- m4_pattern_allow([^off_t$])
+m4trace:configure.in:643: -1- AH_OUTPUT([off_t], [/* Define to `long int\' if <sys/types.h> does not define. */
 #undef off_t])
-m4trace:configure.in:638: -1- AC_DEFINE_TRACE_LITERAL([size_t])
-m4trace:configure.in:638: -1- m4_pattern_allow([^size_t$])
-m4trace:configure.in:638: -1- AH_OUTPUT([size_t], [/* Define to `unsigned int\' if <sys/types.h> does not define. */
+m4trace:configure.in:643: -1- AC_TYPE_SIZE_T
+m4trace:configure.in:643: -1- AC_DEFINE_TRACE_LITERAL([size_t])
+m4trace:configure.in:643: -1- m4_pattern_allow([^size_t$])
+m4trace:configure.in:643: -1- AH_OUTPUT([size_t], [/* Define to `unsigned int\' if <sys/types.h> does not define. */
 #undef size_t])
-m4trace:configure.in:638: -1- AC_DEFINE_TRACE_LITERAL([HAVE_ALLOCA_H])
-m4trace:configure.in:638: -1- m4_pattern_allow([^HAVE_ALLOCA_H$])
-m4trace:configure.in:638: -1- AH_OUTPUT([HAVE_ALLOCA_H], [/* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix).
+m4trace:configure.in:643: -1- AC_FUNC_ALLOCA
+m4trace:configure.in:643: -1- AC_DEFINE_TRACE_LITERAL([HAVE_ALLOCA_H])
+m4trace:configure.in:643: -1- m4_pattern_allow([^HAVE_ALLOCA_H$])
+m4trace:configure.in:643: -1- AH_OUTPUT([HAVE_ALLOCA_H], [/* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix).
    */
 #undef HAVE_ALLOCA_H])
-m4trace:configure.in:638: -1- AC_DEFINE_TRACE_LITERAL([HAVE_ALLOCA])
-m4trace:configure.in:638: -1- m4_pattern_allow([^HAVE_ALLOCA$])
-m4trace:configure.in:638: -1- AH_OUTPUT([HAVE_ALLOCA], [/* Define to 1 if you have `alloca\', as a function or macro. */
+m4trace:configure.in:643: -1- AC_DEFINE_TRACE_LITERAL([HAVE_ALLOCA])
+m4trace:configure.in:643: -1- m4_pattern_allow([^HAVE_ALLOCA$])
+m4trace:configure.in:643: -1- AH_OUTPUT([HAVE_ALLOCA], [/* Define to 1 if you have `alloca\', as a function or macro. */
 #undef HAVE_ALLOCA])
-m4trace:configure.in:638: -1- AC_LIBSOURCE([alloca.c])
-m4trace:configure.in:638: -1- AC_SUBST([ALLOCA], [\${LIBOBJDIR}alloca.$ac_objext])
-m4trace:configure.in:638: -1- AC_SUBST_TRACE([ALLOCA])
-m4trace:configure.in:638: -1- m4_pattern_allow([^ALLOCA$])
-m4trace:configure.in:638: -1- AC_DEFINE_TRACE_LITERAL([C_ALLOCA])
-m4trace:configure.in:638: -1- m4_pattern_allow([^C_ALLOCA$])
-m4trace:configure.in:638: -1- AH_OUTPUT([C_ALLOCA], [/* Define to 1 if using `alloca.c\'. */
+m4trace:configure.in:643: -1- AC_LIBSOURCE([alloca.c])
+m4trace:configure.in:643: -1- AC_SUBST([ALLOCA], [\${LIBOBJDIR}alloca.$ac_objext])
+m4trace:configure.in:643: -1- AC_SUBST_TRACE([ALLOCA])
+m4trace:configure.in:643: -1- m4_pattern_allow([^ALLOCA$])
+m4trace:configure.in:643: -1- AC_DEFINE_TRACE_LITERAL([C_ALLOCA])
+m4trace:configure.in:643: -1- m4_pattern_allow([^C_ALLOCA$])
+m4trace:configure.in:643: -1- AH_OUTPUT([C_ALLOCA], [/* Define to 1 if using `alloca.c\'. */
 #undef C_ALLOCA])
-m4trace:configure.in:638: -1- AC_DEFINE_TRACE_LITERAL([CRAY_STACKSEG_END])
-m4trace:configure.in:638: -1- m4_pattern_allow([^CRAY_STACKSEG_END$])
-m4trace:configure.in:638: -1- AH_OUTPUT([CRAY_STACKSEG_END], [/* Define to one of `_getb67\', `GETB67\', `getb67\' for Cray-2 and Cray-YMP
+m4trace:configure.in:643: -1- AC_DEFINE_TRACE_LITERAL([CRAY_STACKSEG_END])
+m4trace:configure.in:643: -1- m4_pattern_allow([^CRAY_STACKSEG_END$])
+m4trace:configure.in:643: -1- AH_OUTPUT([CRAY_STACKSEG_END], [/* Define to one of `_getb67\', `GETB67\', `getb67\' for Cray-2 and Cray-YMP
    systems. This function is required for `alloca.c\' support on those systems.
    */
 #undef CRAY_STACKSEG_END])
-m4trace:configure.in:638: -1- AH_OUTPUT([STACK_DIRECTION], [/* If using the C implementation of alloca, define if you know the
+m4trace:configure.in:643: -1- AH_OUTPUT([STACK_DIRECTION], [/* If using the C implementation of alloca, define if you know the
    direction of stack growth for your system; otherwise it will be
    automatically deduced at runtime.
        STACK_DIRECTION > 0 => grows toward higher addresses
        STACK_DIRECTION < 0 => grows toward lower addresses
        STACK_DIRECTION = 0 => direction of growth unknown */
 @%:@undef STACK_DIRECTION])
-m4trace:configure.in:638: -1- AC_DEFINE_TRACE_LITERAL([STACK_DIRECTION])
-m4trace:configure.in:638: -1- m4_pattern_allow([^STACK_DIRECTION$])
-m4trace:configure.in:638: -1- AH_OUTPUT([HAVE_STDLIB_H], [/* Define to 1 if you have the <stdlib.h> header file. */
+m4trace:configure.in:643: -1- AC_DEFINE_TRACE_LITERAL([STACK_DIRECTION])
+m4trace:configure.in:643: -1- m4_pattern_allow([^STACK_DIRECTION$])
+m4trace:configure.in:643: -1- AC_FUNC_MMAP
+m4trace:configure.in:643: -1- AC_CHECK_HEADERS([stdlib.h unistd.h])
+m4trace:configure.in:643: -1- AH_OUTPUT([HAVE_STDLIB_H], [/* Define to 1 if you have the <stdlib.h> header file. */
 #undef HAVE_STDLIB_H])
-m4trace:configure.in:638: -1- AH_OUTPUT([HAVE_UNISTD_H], [/* Define to 1 if you have the <unistd.h> header file. */
+m4trace:configure.in:643: -1- AH_OUTPUT([HAVE_UNISTD_H], [/* Define to 1 if you have the <unistd.h> header file. */
 #undef HAVE_UNISTD_H])
-m4trace:configure.in:638: -1- AH_OUTPUT([HAVE_GETPAGESIZE], [/* Define to 1 if you have the `getpagesize\' function. */
+m4trace:configure.in:643: -1- AC_CHECK_FUNCS([getpagesize])
+m4trace:configure.in:643: -1- AH_OUTPUT([HAVE_GETPAGESIZE], [/* Define to 1 if you have the `getpagesize\' function. */
 #undef HAVE_GETPAGESIZE])
-m4trace:configure.in:638: -1- AC_DEFINE_TRACE_LITERAL([HAVE_MMAP])
-m4trace:configure.in:638: -1- m4_pattern_allow([^HAVE_MMAP$])
-m4trace:configure.in:638: -1- AH_OUTPUT([HAVE_MMAP], [/* Define to 1 if you have a working `mmap\' system call. */
+m4trace:configure.in:643: -1- AC_DEFINE_TRACE_LITERAL([HAVE_MMAP])
+m4trace:configure.in:643: -1- m4_pattern_allow([^HAVE_MMAP$])
+m4trace:configure.in:643: -1- AH_OUTPUT([HAVE_MMAP], [/* Define to 1 if you have a working `mmap\' system call. */
 #undef HAVE_MMAP])
-m4trace:configure.in:638: -1- AC_SUBST([GLIBC21])
-m4trace:configure.in:638: -1- AC_SUBST_TRACE([GLIBC21])
-m4trace:configure.in:638: -1- m4_pattern_allow([^GLIBC21$])
-m4trace:configure.in:638: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
-You should run autoupdate.], [autoconf/general.m4:2479: AC_TRY_RUN is expanded from...
-../../lib/m4sugar/m4sh.m4:523: AS_IF is expanded from...
-autoconf/general.m4:1905: AC_CACHE_VAL is expanded from...
-autoconf/general.m4:1918: AC_CACHE_CHECK is expanded from...
-aclocal.m4:2558: gt_INTDIV0 is expanded from...
-aclocal.m4:2344: AM_INTL_SUBDIR is expanded from...
-aclocal.m4:2056: AM_GNU_GETTEXT is expanded from...
-configure.in:638: the top level])
-m4trace:configure.in:638: -1- AC_DEFINE_TRACE_LITERAL([INTDIV0_RAISES_SIGFPE])
-m4trace:configure.in:638: -1- m4_pattern_allow([^INTDIV0_RAISES_SIGFPE$])
-m4trace:configure.in:638: -1- AH_OUTPUT([INTDIV0_RAISES_SIGFPE], [/* Define if integer division by zero raises signal SIGFPE. */
+m4trace:configure.in:643: -1- AC_SUBST([GLIBC21])
+m4trace:configure.in:643: -1- AC_SUBST_TRACE([GLIBC21])
+m4trace:configure.in:643: -1- m4_pattern_allow([^GLIBC21$])
+m4trace:configure.in:643: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
+You should run autoupdate.], [autoconf/general.m4:2490: AC_TRY_RUN is expanded from...
+../../lib/m4sugar/m4sh.m4:519: AS_IF is expanded from...
+autoconf/general.m4:1922: AC_CACHE_VAL is expanded from...
+autoconf/general.m4:1935: AC_CACHE_CHECK is expanded from...
+aclocal.m4:2619: gt_INTDIV0 is expanded from...
+aclocal.m4:2408: AM_INTL_SUBDIR is expanded from...
+aclocal.m4:2338: AM_GNU_GETTEXT is expanded from...
+configure.in:643: the top level])
+m4trace:configure.in:643: -1- AC_DEFINE_TRACE_LITERAL([INTDIV0_RAISES_SIGFPE])
+m4trace:configure.in:643: -1- m4_pattern_allow([^INTDIV0_RAISES_SIGFPE$])
+m4trace:configure.in:643: -1- AH_OUTPUT([INTDIV0_RAISES_SIGFPE], [/* Define if integer division by zero raises signal SIGFPE. */
 #undef INTDIV0_RAISES_SIGFPE])
-m4trace:configure.in:638: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
-You should run autoupdate.], [autoconf/general.m4:2368: AC_TRY_COMPILE is expanded from...
-../../lib/m4sugar/m4sh.m4:523: AS_IF is expanded from...
-autoconf/general.m4:1905: AC_CACHE_VAL is expanded from...
-autoconf/general.m4:1918: AC_CACHE_CHECK is expanded from...
-aclocal.m4:2660: jm_AC_HEADER_INTTYPES_H is expanded from...
-aclocal.m4:3961: jm_AC_TYPE_UINTMAX_T is expanded from...
-aclocal.m4:2344: AM_INTL_SUBDIR is expanded from...
-aclocal.m4:2056: AM_GNU_GETTEXT is expanded from...
-configure.in:638: the top level])
-m4trace:configure.in:638: -1- AC_DEFINE_TRACE_LITERAL([HAVE_INTTYPES_H_WITH_UINTMAX])
-m4trace:configure.in:638: -1- m4_pattern_allow([^HAVE_INTTYPES_H_WITH_UINTMAX$])
-m4trace:configure.in:638: -1- AH_OUTPUT([HAVE_INTTYPES_H_WITH_UINTMAX], [/* Define if <inttypes.h> exists, doesn\'t clash with <sys/types.h>, and
+m4trace:configure.in:643: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
+You should run autoupdate.], [autoconf/general.m4:2384: AC_TRY_COMPILE is expanded from...
+../../lib/m4sugar/m4sh.m4:519: AS_IF is expanded from...
+autoconf/general.m4:1922: AC_CACHE_VAL is expanded from...
+autoconf/general.m4:1935: AC_CACHE_CHECK is expanded from...
+aclocal.m4:2674: jm_AC_HEADER_INTTYPES_H is expanded from...
+aclocal.m4:3977: jm_AC_TYPE_UINTMAX_T is expanded from...
+aclocal.m4:2408: AM_INTL_SUBDIR is expanded from...
+aclocal.m4:2338: AM_GNU_GETTEXT is expanded from...
+configure.in:643: the top level])
+m4trace:configure.in:643: -1- AC_DEFINE_TRACE_LITERAL([HAVE_INTTYPES_H_WITH_UINTMAX])
+m4trace:configure.in:643: -1- m4_pattern_allow([^HAVE_INTTYPES_H_WITH_UINTMAX$])
+m4trace:configure.in:643: -1- AH_OUTPUT([HAVE_INTTYPES_H_WITH_UINTMAX], [/* Define if <inttypes.h> exists, doesn\'t clash with <sys/types.h>, and
    declares uintmax_t. */
 #undef HAVE_INTTYPES_H_WITH_UINTMAX])
-m4trace:configure.in:638: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
-You should run autoupdate.], [autoconf/general.m4:2368: AC_TRY_COMPILE is expanded from...
-../../lib/m4sugar/m4sh.m4:523: AS_IF is expanded from...
-autoconf/general.m4:1905: AC_CACHE_VAL is expanded from...
-autoconf/general.m4:1918: AC_CACHE_CHECK is expanded from...
-aclocal.m4:3931: jm_AC_HEADER_STDINT_H is expanded from...
-aclocal.m4:3961: jm_AC_TYPE_UINTMAX_T is expanded from...
-aclocal.m4:2344: AM_INTL_SUBDIR is expanded from...
-aclocal.m4:2056: AM_GNU_GETTEXT is expanded from...
-configure.in:638: the top level])
-m4trace:configure.in:638: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STDINT_H_WITH_UINTMAX])
-m4trace:configure.in:638: -1- m4_pattern_allow([^HAVE_STDINT_H_WITH_UINTMAX$])
-m4trace:configure.in:638: -1- AH_OUTPUT([HAVE_STDINT_H_WITH_UINTMAX], [/* Define if <stdint.h> exists, doesn\'t clash with <sys/types.h>, and declares
+m4trace:configure.in:643: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
+You should run autoupdate.], [autoconf/general.m4:2384: AC_TRY_COMPILE is expanded from...
+../../lib/m4sugar/m4sh.m4:519: AS_IF is expanded from...
+autoconf/general.m4:1922: AC_CACHE_VAL is expanded from...
+autoconf/general.m4:1935: AC_CACHE_CHECK is expanded from...
+aclocal.m4:3945: jm_AC_HEADER_STDINT_H is expanded from...
+aclocal.m4:3977: jm_AC_TYPE_UINTMAX_T is expanded from...
+aclocal.m4:2408: AM_INTL_SUBDIR is expanded from...
+aclocal.m4:2338: AM_GNU_GETTEXT is expanded from...
+configure.in:643: the top level])
+m4trace:configure.in:643: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STDINT_H_WITH_UINTMAX])
+m4trace:configure.in:643: -1- m4_pattern_allow([^HAVE_STDINT_H_WITH_UINTMAX$])
+m4trace:configure.in:643: -1- AH_OUTPUT([HAVE_STDINT_H_WITH_UINTMAX], [/* Define if <stdint.h> exists, doesn\'t clash with <sys/types.h>, and declares
    uintmax_t. */
 #undef HAVE_STDINT_H_WITH_UINTMAX])
-m4trace:configure.in:638: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
-You should run autoupdate.], [autoconf/general.m4:2415: AC_TRY_LINK is expanded from...
-../../lib/m4sugar/m4sh.m4:523: AS_IF is expanded from...
-autoconf/general.m4:1905: AC_CACHE_VAL is expanded from...
-autoconf/general.m4:1918: AC_CACHE_CHECK is expanded from...
-aclocal.m4:3988: jm_AC_TYPE_UNSIGNED_LONG_LONG is expanded from...
-aclocal.m4:3961: jm_AC_TYPE_UINTMAX_T is expanded from...
-aclocal.m4:2344: AM_INTL_SUBDIR is expanded from...
-aclocal.m4:2056: AM_GNU_GETTEXT is expanded from...
-configure.in:638: the top level])
-m4trace:configure.in:638: -1- AC_DEFINE_TRACE_LITERAL([HAVE_UNSIGNED_LONG_LONG])
-m4trace:configure.in:638: -1- m4_pattern_allow([^HAVE_UNSIGNED_LONG_LONG$])
-m4trace:configure.in:638: -1- AH_OUTPUT([HAVE_UNSIGNED_LONG_LONG], [/* Define if you have the unsigned long long type. */
+m4trace:configure.in:643: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+You should run autoupdate.], [autoconf/general.m4:2426: AC_TRY_LINK is expanded from...
+../../lib/m4sugar/m4sh.m4:519: AS_IF is expanded from...
+autoconf/general.m4:1922: AC_CACHE_VAL is expanded from...
+autoconf/general.m4:1935: AC_CACHE_CHECK is expanded from...
+aclocal.m4:4000: jm_AC_TYPE_UNSIGNED_LONG_LONG is expanded from...
+aclocal.m4:3977: jm_AC_TYPE_UINTMAX_T is expanded from...
+aclocal.m4:2408: AM_INTL_SUBDIR is expanded from...
+aclocal.m4:2338: AM_GNU_GETTEXT is expanded from...
+configure.in:643: the top level])
+m4trace:configure.in:643: -1- AC_DEFINE_TRACE_LITERAL([HAVE_UNSIGNED_LONG_LONG])
+m4trace:configure.in:643: -1- m4_pattern_allow([^HAVE_UNSIGNED_LONG_LONG$])
+m4trace:configure.in:643: -1- AH_OUTPUT([HAVE_UNSIGNED_LONG_LONG], [/* Define if you have the unsigned long long type. */
 #undef HAVE_UNSIGNED_LONG_LONG])
-m4trace:configure.in:638: -1- AC_DEFINE_TRACE_LITERAL([uintmax_t])
-m4trace:configure.in:638: -1- m4_pattern_allow([^uintmax_t$])
-m4trace:configure.in:638: -1- AH_OUTPUT([uintmax_t], [/* Define to unsigned long or unsigned long long if <stdint.h> and
+m4trace:configure.in:643: -1- AC_DEFINE_TRACE_LITERAL([uintmax_t])
+m4trace:configure.in:643: -1- m4_pattern_allow([^uintmax_t$])
+m4trace:configure.in:643: -1- AH_OUTPUT([uintmax_t], [/* Define to unsigned long or unsigned long long if <stdint.h> and
    <inttypes.h> don\'t define. */
 #undef uintmax_t])
-m4trace:configure.in:638: -1- AC_DEFINE_TRACE_LITERAL([HAVE_UINTMAX_T])
-m4trace:configure.in:638: -1- m4_pattern_allow([^HAVE_UINTMAX_T$])
-m4trace:configure.in:638: -1- AH_OUTPUT([HAVE_UINTMAX_T], [/* Define if you have the \'uintmax_t\' type in <stdint.h> or <inttypes.h>. */
+m4trace:configure.in:643: -1- AC_DEFINE_TRACE_LITERAL([HAVE_UINTMAX_T])
+m4trace:configure.in:643: -1- m4_pattern_allow([^HAVE_UINTMAX_T$])
+m4trace:configure.in:643: -1- AH_OUTPUT([HAVE_UINTMAX_T], [/* Define if you have the \'uintmax_t\' type in <stdint.h> or <inttypes.h>. */
 #undef HAVE_UINTMAX_T])
-m4trace:configure.in:638: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
-You should run autoupdate.], [autoconf/general.m4:2368: AC_TRY_COMPILE is expanded from...
-../../lib/m4sugar/m4sh.m4:523: AS_IF is expanded from...
-autoconf/general.m4:1905: AC_CACHE_VAL is expanded from...
-autoconf/general.m4:1918: AC_CACHE_CHECK is expanded from...
-aclocal.m4:2633: gt_HEADER_INTTYPES_H is expanded from...
-aclocal.m4:2344: AM_INTL_SUBDIR is expanded from...
-aclocal.m4:2056: AM_GNU_GETTEXT is expanded from...
-configure.in:638: the top level])
-m4trace:configure.in:638: -1- AC_DEFINE_TRACE_LITERAL([HAVE_INTTYPES_H])
-m4trace:configure.in:638: -1- m4_pattern_allow([^HAVE_INTTYPES_H$])
-m4trace:configure.in:638: -1- AH_OUTPUT([HAVE_INTTYPES_H], [/* Define if <inttypes.h> exists and doesn\'t clash with <sys/types.h>. */
+m4trace:configure.in:643: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
+You should run autoupdate.], [autoconf/general.m4:2384: AC_TRY_COMPILE is expanded from...
+../../lib/m4sugar/m4sh.m4:519: AS_IF is expanded from...
+autoconf/general.m4:1922: AC_CACHE_VAL is expanded from...
+autoconf/general.m4:1935: AC_CACHE_CHECK is expanded from...
+aclocal.m4:2646: gt_HEADER_INTTYPES_H is expanded from...
+aclocal.m4:2408: AM_INTL_SUBDIR is expanded from...
+aclocal.m4:2338: AM_GNU_GETTEXT is expanded from...
+configure.in:643: the top level])
+m4trace:configure.in:643: -1- AC_DEFINE_TRACE_LITERAL([HAVE_INTTYPES_H])
+m4trace:configure.in:643: -1- m4_pattern_allow([^HAVE_INTTYPES_H$])
+m4trace:configure.in:643: -1- AH_OUTPUT([HAVE_INTTYPES_H], [/* Define if <inttypes.h> exists and doesn\'t clash with <sys/types.h>. */
 #undef HAVE_INTTYPES_H])
-m4trace:configure.in:638: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
-You should run autoupdate.], [autoconf/general.m4:2368: AC_TRY_COMPILE is expanded from...
-../../lib/m4sugar/m4sh.m4:523: AS_IF is expanded from...
-autoconf/general.m4:1905: AC_CACHE_VAL is expanded from...
-autoconf/general.m4:1918: AC_CACHE_CHECK is expanded from...
-aclocal.m4:2688: gt_INTTYPES_PRI is expanded from...
-aclocal.m4:2344: AM_INTL_SUBDIR is expanded from...
-aclocal.m4:2056: AM_GNU_GETTEXT is expanded from...
-configure.in:638: the top level])
-m4trace:configure.in:638: -1- AC_DEFINE_TRACE_LITERAL([PRI_MACROS_BROKEN])
-m4trace:configure.in:638: -1- m4_pattern_allow([^PRI_MACROS_BROKEN$])
-m4trace:configure.in:638: -1- AH_OUTPUT([PRI_MACROS_BROKEN], [/* Define if <inttypes.h> exists and defines unusable PRI* macros. */
+m4trace:configure.in:643: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
+You should run autoupdate.], [autoconf/general.m4:2384: AC_TRY_COMPILE is expanded from...
+../../lib/m4sugar/m4sh.m4:519: AS_IF is expanded from...
+autoconf/general.m4:1922: AC_CACHE_VAL is expanded from...
+autoconf/general.m4:1935: AC_CACHE_CHECK is expanded from...
+aclocal.m4:2706: gt_INTTYPES_PRI is expanded from...
+aclocal.m4:2408: AM_INTL_SUBDIR is expanded from...
+aclocal.m4:2338: AM_GNU_GETTEXT is expanded from...
+configure.in:643: the top level])
+m4trace:configure.in:643: -1- AC_DEFINE_TRACE_LITERAL([PRI_MACROS_BROKEN])
+m4trace:configure.in:643: -1- m4_pattern_allow([^PRI_MACROS_BROKEN$])
+m4trace:configure.in:643: -1- AH_OUTPUT([PRI_MACROS_BROKEN], [/* Define if <inttypes.h> exists and defines unusable PRI* macros. */
 #undef PRI_MACROS_BROKEN])
-m4trace:configure.in:638: -1- AH_OUTPUT([HAVE_ARGZ_H], [/* Define to 1 if you have the <argz.h> header file. */
+m4trace:configure.in:643: -1- AC_CHECK_HEADERS([argz.h limits.h locale.h nl_types.h malloc.h stddef.h \
+stdlib.h string.h unistd.h sys/param.h])
+m4trace:configure.in:643: -1- AH_OUTPUT([HAVE_ARGZ_H], [/* Define to 1 if you have the <argz.h> header file. */
 #undef HAVE_ARGZ_H])
-m4trace:configure.in:638: -1- AH_OUTPUT([HAVE_LIMITS_H], [/* Define to 1 if you have the <limits.h> header file. */
+m4trace:configure.in:643: -1- AH_OUTPUT([HAVE_LIMITS_H], [/* Define to 1 if you have the <limits.h> header file. */
 #undef HAVE_LIMITS_H])
-m4trace:configure.in:638: -1- AH_OUTPUT([HAVE_LOCALE_H], [/* Define to 1 if you have the <locale.h> header file. */
+m4trace:configure.in:643: -1- AH_OUTPUT([HAVE_LOCALE_H], [/* Define to 1 if you have the <locale.h> header file. */
 #undef HAVE_LOCALE_H])
-m4trace:configure.in:638: -1- AH_OUTPUT([HAVE_NL_TYPES_H], [/* Define to 1 if you have the <nl_types.h> header file. */
+m4trace:configure.in:643: -1- AH_OUTPUT([HAVE_NL_TYPES_H], [/* Define to 1 if you have the <nl_types.h> header file. */
 #undef HAVE_NL_TYPES_H])
-m4trace:configure.in:638: -1- AH_OUTPUT([HAVE_MALLOC_H], [/* Define to 1 if you have the <malloc.h> header file. */
+m4trace:configure.in:643: -1- AH_OUTPUT([HAVE_MALLOC_H], [/* Define to 1 if you have the <malloc.h> header file. */
 #undef HAVE_MALLOC_H])
-m4trace:configure.in:638: -1- AH_OUTPUT([HAVE_STDDEF_H], [/* Define to 1 if you have the <stddef.h> header file. */
+m4trace:configure.in:643: -1- AH_OUTPUT([HAVE_STDDEF_H], [/* Define to 1 if you have the <stddef.h> header file. */
 #undef HAVE_STDDEF_H])
-m4trace:configure.in:638: -1- AH_OUTPUT([HAVE_STDLIB_H], [/* Define to 1 if you have the <stdlib.h> header file. */
+m4trace:configure.in:643: -1- AH_OUTPUT([HAVE_STDLIB_H], [/* Define to 1 if you have the <stdlib.h> header file. */
 #undef HAVE_STDLIB_H])
-m4trace:configure.in:638: -1- AH_OUTPUT([HAVE_STRING_H], [/* Define to 1 if you have the <string.h> header file. */
+m4trace:configure.in:643: -1- AH_OUTPUT([HAVE_STRING_H], [/* Define to 1 if you have the <string.h> header file. */
 #undef HAVE_STRING_H])
-m4trace:configure.in:638: -1- AH_OUTPUT([HAVE_UNISTD_H], [/* Define to 1 if you have the <unistd.h> header file. */
+m4trace:configure.in:643: -1- AH_OUTPUT([HAVE_UNISTD_H], [/* Define to 1 if you have the <unistd.h> header file. */
 #undef HAVE_UNISTD_H])
-m4trace:configure.in:638: -1- AH_OUTPUT([HAVE_SYS_PARAM_H], [/* Define to 1 if you have the <sys/param.h> header file. */
+m4trace:configure.in:643: -1- AH_OUTPUT([HAVE_SYS_PARAM_H], [/* Define to 1 if you have the <sys/param.h> header file. */
 #undef HAVE_SYS_PARAM_H])
-m4trace:configure.in:638: -1- AH_OUTPUT([HAVE_FEOF_UNLOCKED], [/* Define to 1 if you have the `feof_unlocked\' function. */
+m4trace:configure.in:643: -1- AC_CHECK_FUNCS([feof_unlocked fgets_unlocked getc_unlocked getcwd getegid \
+geteuid getgid getuid mempcpy munmap putenv setenv setlocale localeconv stpcpy \
+strcasecmp strdup strtoul tsearch __argz_count __argz_stringify __argz_next \
+__fsetlocking])
+m4trace:configure.in:643: -1- AH_OUTPUT([HAVE_FEOF_UNLOCKED], [/* Define to 1 if you have the `feof_unlocked\' function. */
 #undef HAVE_FEOF_UNLOCKED])
-m4trace:configure.in:638: -1- AH_OUTPUT([HAVE_FGETS_UNLOCKED], [/* Define to 1 if you have the `fgets_unlocked\' function. */
+m4trace:configure.in:643: -1- AH_OUTPUT([HAVE_FGETS_UNLOCKED], [/* Define to 1 if you have the `fgets_unlocked\' function. */
 #undef HAVE_FGETS_UNLOCKED])
-m4trace:configure.in:638: -1- AH_OUTPUT([HAVE_GETC_UNLOCKED], [/* Define to 1 if you have the `getc_unlocked\' function. */
+m4trace:configure.in:643: -1- AH_OUTPUT([HAVE_GETC_UNLOCKED], [/* Define to 1 if you have the `getc_unlocked\' function. */
 #undef HAVE_GETC_UNLOCKED])
-m4trace:configure.in:638: -1- AH_OUTPUT([HAVE_GETCWD], [/* Define to 1 if you have the `getcwd\' function. */
+m4trace:configure.in:643: -1- AH_OUTPUT([HAVE_GETCWD], [/* Define to 1 if you have the `getcwd\' function. */
 #undef HAVE_GETCWD])
-m4trace:configure.in:638: -1- AH_OUTPUT([HAVE_GETEGID], [/* Define to 1 if you have the `getegid\' function. */
+m4trace:configure.in:643: -1- AH_OUTPUT([HAVE_GETEGID], [/* Define to 1 if you have the `getegid\' function. */
 #undef HAVE_GETEGID])
-m4trace:configure.in:638: -1- AH_OUTPUT([HAVE_GETEUID], [/* Define to 1 if you have the `geteuid\' function. */
+m4trace:configure.in:643: -1- AH_OUTPUT([HAVE_GETEUID], [/* Define to 1 if you have the `geteuid\' function. */
 #undef HAVE_GETEUID])
-m4trace:configure.in:638: -1- AH_OUTPUT([HAVE_GETGID], [/* Define to 1 if you have the `getgid\' function. */
+m4trace:configure.in:643: -1- AH_OUTPUT([HAVE_GETGID], [/* Define to 1 if you have the `getgid\' function. */
 #undef HAVE_GETGID])
-m4trace:configure.in:638: -1- AH_OUTPUT([HAVE_GETUID], [/* Define to 1 if you have the `getuid\' function. */
+m4trace:configure.in:643: -1- AH_OUTPUT([HAVE_GETUID], [/* Define to 1 if you have the `getuid\' function. */
 #undef HAVE_GETUID])
-m4trace:configure.in:638: -1- AH_OUTPUT([HAVE_MEMPCPY], [/* Define to 1 if you have the `mempcpy\' function. */
+m4trace:configure.in:643: -1- AH_OUTPUT([HAVE_MEMPCPY], [/* Define to 1 if you have the `mempcpy\' function. */
 #undef HAVE_MEMPCPY])
-m4trace:configure.in:638: -1- AH_OUTPUT([HAVE_MUNMAP], [/* Define to 1 if you have the `munmap\' function. */
+m4trace:configure.in:643: -1- AH_OUTPUT([HAVE_MUNMAP], [/* Define to 1 if you have the `munmap\' function. */
 #undef HAVE_MUNMAP])
-m4trace:configure.in:638: -1- AH_OUTPUT([HAVE_PUTENV], [/* Define to 1 if you have the `putenv\' function. */
+m4trace:configure.in:643: -1- AH_OUTPUT([HAVE_PUTENV], [/* Define to 1 if you have the `putenv\' function. */
 #undef HAVE_PUTENV])
-m4trace:configure.in:638: -1- AH_OUTPUT([HAVE_SETENV], [/* Define to 1 if you have the `setenv\' function. */
+m4trace:configure.in:643: -1- AH_OUTPUT([HAVE_SETENV], [/* Define to 1 if you have the `setenv\' function. */
 #undef HAVE_SETENV])
-m4trace:configure.in:638: -1- AH_OUTPUT([HAVE_SETLOCALE], [/* Define to 1 if you have the `setlocale\' function. */
+m4trace:configure.in:643: -1- AH_OUTPUT([HAVE_SETLOCALE], [/* Define to 1 if you have the `setlocale\' function. */
 #undef HAVE_SETLOCALE])
-m4trace:configure.in:638: -1- AH_OUTPUT([HAVE_LOCALECONV], [/* Define to 1 if you have the `localeconv\' function. */
+m4trace:configure.in:643: -1- AH_OUTPUT([HAVE_LOCALECONV], [/* Define to 1 if you have the `localeconv\' function. */
 #undef HAVE_LOCALECONV])
-m4trace:configure.in:638: -1- AH_OUTPUT([HAVE_STPCPY], [/* Define to 1 if you have the `stpcpy\' function. */
+m4trace:configure.in:643: -1- AH_OUTPUT([HAVE_STPCPY], [/* Define to 1 if you have the `stpcpy\' function. */
 #undef HAVE_STPCPY])
-m4trace:configure.in:638: -1- AH_OUTPUT([HAVE_STRCASECMP], [/* Define to 1 if you have the `strcasecmp\' function. */
+m4trace:configure.in:643: -1- AH_OUTPUT([HAVE_STRCASECMP], [/* Define to 1 if you have the `strcasecmp\' function. */
 #undef HAVE_STRCASECMP])
-m4trace:configure.in:638: -1- AH_OUTPUT([HAVE_STRDUP], [/* Define to 1 if you have the `strdup\' function. */
+m4trace:configure.in:643: -1- AH_OUTPUT([HAVE_STRDUP], [/* Define to 1 if you have the `strdup\' function. */
 #undef HAVE_STRDUP])
-m4trace:configure.in:638: -1- AH_OUTPUT([HAVE_STRTOUL], [/* Define to 1 if you have the `strtoul\' function. */
+m4trace:configure.in:643: -1- AH_OUTPUT([HAVE_STRTOUL], [/* Define to 1 if you have the `strtoul\' function. */
 #undef HAVE_STRTOUL])
-m4trace:configure.in:638: -1- AH_OUTPUT([HAVE_TSEARCH], [/* Define to 1 if you have the `tsearch\' function. */
+m4trace:configure.in:643: -1- AH_OUTPUT([HAVE_TSEARCH], [/* Define to 1 if you have the `tsearch\' function. */
 #undef HAVE_TSEARCH])
-m4trace:configure.in:638: -1- AH_OUTPUT([HAVE___ARGZ_COUNT], [/* Define to 1 if you have the `__argz_count\' function. */
+m4trace:configure.in:643: -1- AH_OUTPUT([HAVE___ARGZ_COUNT], [/* Define to 1 if you have the `__argz_count\' function. */
 #undef HAVE___ARGZ_COUNT])
-m4trace:configure.in:638: -1- AH_OUTPUT([HAVE___ARGZ_STRINGIFY], [/* Define to 1 if you have the `__argz_stringify\' function. */
+m4trace:configure.in:643: -1- AH_OUTPUT([HAVE___ARGZ_STRINGIFY], [/* Define to 1 if you have the `__argz_stringify\' function. */
 #undef HAVE___ARGZ_STRINGIFY])
-m4trace:configure.in:638: -1- AH_OUTPUT([HAVE___ARGZ_NEXT], [/* Define to 1 if you have the `__argz_next\' function. */
+m4trace:configure.in:643: -1- AH_OUTPUT([HAVE___ARGZ_NEXT], [/* Define to 1 if you have the `__argz_next\' function. */
 #undef HAVE___ARGZ_NEXT])
-m4trace:configure.in:638: -1- AH_OUTPUT([HAVE___FSETLOCKING], [/* Define to 1 if you have the `__fsetlocking\' function. */
+m4trace:configure.in:643: -1- AH_OUTPUT([HAVE___FSETLOCKING], [/* Define to 1 if you have the `__fsetlocking\' function. */
 #undef HAVE___FSETLOCKING])
-m4trace:configure.in:638: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
-You should run autoupdate.], [autoconf/general.m4:2415: AC_TRY_LINK is expanded from...
-../../lib/m4sugar/m4sh.m4:523: AS_IF is expanded from...
-autoconf/general.m4:1905: AC_CACHE_VAL is expanded from...
-autoconf/general.m4:1918: AC_CACHE_CHECK is expanded from...
-aclocal.m4:2466: AM_ICONV_LINK is expanded from...
-aclocal.m4:2521: AM_ICONV is expanded from...
-aclocal.m4:2344: AM_INTL_SUBDIR is expanded from...
-aclocal.m4:2056: AM_GNU_GETTEXT is expanded from...
-configure.in:638: the top level])
-m4trace:configure.in:638: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
-You should run autoupdate.], [autoconf/general.m4:2415: AC_TRY_LINK is expanded from...
-../../lib/m4sugar/m4sh.m4:523: AS_IF is expanded from...
-autoconf/general.m4:1905: AC_CACHE_VAL is expanded from...
-autoconf/general.m4:1918: AC_CACHE_CHECK is expanded from...
-aclocal.m4:2466: AM_ICONV_LINK is expanded from...
-aclocal.m4:2521: AM_ICONV is expanded from...
-aclocal.m4:2344: AM_INTL_SUBDIR is expanded from...
-aclocal.m4:2056: AM_GNU_GETTEXT is expanded from...
-configure.in:638: the top level])
-m4trace:configure.in:638: -1- AC_DEFINE_TRACE_LITERAL([HAVE_ICONV])
-m4trace:configure.in:638: -1- m4_pattern_allow([^HAVE_ICONV$])
-m4trace:configure.in:638: -1- AH_OUTPUT([HAVE_ICONV], [/* Define if you have the iconv() function. */
+m4trace:configure.in:643: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+You should run autoupdate.], [autoconf/general.m4:2426: AC_TRY_LINK is expanded from...
+../../lib/m4sugar/m4sh.m4:519: AS_IF is expanded from...
+autoconf/general.m4:1922: AC_CACHE_VAL is expanded from...
+autoconf/general.m4:1935: AC_CACHE_CHECK is expanded from...
+aclocal.m4:2519: AM_ICONV_LINK is expanded from...
+aclocal.m4:2547: AM_ICONV is expanded from...
+aclocal.m4:2408: AM_INTL_SUBDIR is expanded from...
+aclocal.m4:2338: AM_GNU_GETTEXT is expanded from...
+configure.in:643: the top level])
+m4trace:configure.in:643: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+You should run autoupdate.], [autoconf/general.m4:2426: AC_TRY_LINK is expanded from...
+../../lib/m4sugar/m4sh.m4:519: AS_IF is expanded from...
+autoconf/general.m4:1922: AC_CACHE_VAL is expanded from...
+autoconf/general.m4:1935: AC_CACHE_CHECK is expanded from...
+aclocal.m4:2519: AM_ICONV_LINK is expanded from...
+aclocal.m4:2547: AM_ICONV is expanded from...
+aclocal.m4:2408: AM_INTL_SUBDIR is expanded from...
+aclocal.m4:2338: AM_GNU_GETTEXT is expanded from...
+configure.in:643: the top level])
+m4trace:configure.in:643: -1- AC_DEFINE_TRACE_LITERAL([HAVE_ICONV])
+m4trace:configure.in:643: -1- m4_pattern_allow([^HAVE_ICONV$])
+m4trace:configure.in:643: -1- AH_OUTPUT([HAVE_ICONV], [/* Define if you have the iconv() function. */
 #undef HAVE_ICONV])
-m4trace:configure.in:638: -1- AC_SUBST([LIBICONV])
-m4trace:configure.in:638: -1- AC_SUBST_TRACE([LIBICONV])
-m4trace:configure.in:638: -1- m4_pattern_allow([^LIBICONV$])
-m4trace:configure.in:638: -1- AC_SUBST([LTLIBICONV])
-m4trace:configure.in:638: -1- AC_SUBST_TRACE([LTLIBICONV])
-m4trace:configure.in:638: -1- m4_pattern_allow([^LTLIBICONV$])
-m4trace:configure.in:638: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
-You should run autoupdate.], [autoconf/general.m4:2368: AC_TRY_COMPILE is expanded from...
-../../lib/m4sugar/m4sh.m4:523: AS_IF is expanded from...
-autoconf/general.m4:1905: AC_CACHE_VAL is expanded from...
-aclocal.m4:2521: AM_ICONV is expanded from...
-aclocal.m4:2344: AM_INTL_SUBDIR is expanded from...
-aclocal.m4:2056: AM_GNU_GETTEXT is expanded from...
-configure.in:638: the top level])
-m4trace:configure.in:638: -1- AC_DEFINE_TRACE_LITERAL([ICONV_CONST])
-m4trace:configure.in:638: -1- m4_pattern_allow([^ICONV_CONST$])
-m4trace:configure.in:638: -1- AH_OUTPUT([ICONV_CONST], [/* Define as const if the declaration of iconv() needs const. */
+m4trace:configure.in:643: -1- AC_SUBST([LIBICONV])
+m4trace:configure.in:643: -1- AC_SUBST_TRACE([LIBICONV])
+m4trace:configure.in:643: -1- m4_pattern_allow([^LIBICONV$])
+m4trace:configure.in:643: -1- AC_SUBST([LTLIBICONV])
+m4trace:configure.in:643: -1- AC_SUBST_TRACE([LTLIBICONV])
+m4trace:configure.in:643: -1- m4_pattern_allow([^LTLIBICONV$])
+m4trace:configure.in:643: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
+You should run autoupdate.], [autoconf/general.m4:2384: AC_TRY_COMPILE is expanded from...
+../../lib/m4sugar/m4sh.m4:519: AS_IF is expanded from...
+autoconf/general.m4:1922: AC_CACHE_VAL is expanded from...
+aclocal.m4:2547: AM_ICONV is expanded from...
+aclocal.m4:2408: AM_INTL_SUBDIR is expanded from...
+aclocal.m4:2338: AM_GNU_GETTEXT is expanded from...
+configure.in:643: the top level])
+m4trace:configure.in:643: -1- AC_DEFINE_TRACE_LITERAL([ICONV_CONST])
+m4trace:configure.in:643: -1- m4_pattern_allow([^ICONV_CONST$])
+m4trace:configure.in:643: -1- AH_OUTPUT([ICONV_CONST], [/* Define as const if the declaration of iconv() needs const. */
 #undef ICONV_CONST])
-m4trace:configure.in:638: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
-You should run autoupdate.], [autoconf/general.m4:2415: AC_TRY_LINK is expanded from...
-../../lib/m4sugar/m4sh.m4:523: AS_IF is expanded from...
-autoconf/general.m4:1905: AC_CACHE_VAL is expanded from...
-autoconf/general.m4:1918: AC_CACHE_CHECK is expanded from...
-aclocal.m4:1985: AM_LANGINFO_CODESET is expanded from...
-aclocal.m4:2344: AM_INTL_SUBDIR is expanded from...
-aclocal.m4:2056: AM_GNU_GETTEXT is expanded from...
-configure.in:638: the top level])
-m4trace:configure.in:638: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LANGINFO_CODESET])
-m4trace:configure.in:638: -1- m4_pattern_allow([^HAVE_LANGINFO_CODESET$])
-m4trace:configure.in:638: -1- AH_OUTPUT([HAVE_LANGINFO_CODESET], [/* Define if you have <langinfo.h> and nl_langinfo(CODESET). */
+m4trace:configure.in:643: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+You should run autoupdate.], [autoconf/general.m4:2426: AC_TRY_LINK is expanded from...
+../../lib/m4sugar/m4sh.m4:519: AS_IF is expanded from...
+autoconf/general.m4:1922: AC_CACHE_VAL is expanded from...
+autoconf/general.m4:1935: AC_CACHE_CHECK is expanded from...
+aclocal.m4:1997: AM_LANGINFO_CODESET is expanded from...
+aclocal.m4:2408: AM_INTL_SUBDIR is expanded from...
+aclocal.m4:2338: AM_GNU_GETTEXT is expanded from...
+configure.in:643: the top level])
+m4trace:configure.in:643: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LANGINFO_CODESET])
+m4trace:configure.in:643: -1- m4_pattern_allow([^HAVE_LANGINFO_CODESET$])
+m4trace:configure.in:643: -1- AH_OUTPUT([HAVE_LANGINFO_CODESET], [/* Define if you have <langinfo.h> and nl_langinfo(CODESET). */
 #undef HAVE_LANGINFO_CODESET])
-m4trace:configure.in:638: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
-You should run autoupdate.], [autoconf/general.m4:2415: AC_TRY_LINK is expanded from...
-../../lib/m4sugar/m4sh.m4:523: AS_IF is expanded from...
-autoconf/general.m4:1905: AC_CACHE_VAL is expanded from...
-autoconf/general.m4:1918: AC_CACHE_CHECK is expanded from...
-aclocal.m4:2755: AM_LC_MESSAGES is expanded from...
-aclocal.m4:2344: AM_INTL_SUBDIR is expanded from...
-aclocal.m4:2056: AM_GNU_GETTEXT is expanded from...
-configure.in:638: the top level])
-m4trace:configure.in:638: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LC_MESSAGES])
-m4trace:configure.in:638: -1- m4_pattern_allow([^HAVE_LC_MESSAGES$])
-m4trace:configure.in:638: -1- AH_OUTPUT([HAVE_LC_MESSAGES], [/* Define if your <locale.h> file defines LC_MESSAGES. */
+m4trace:configure.in:643: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+You should run autoupdate.], [autoconf/general.m4:2426: AC_TRY_LINK is expanded from...
+../../lib/m4sugar/m4sh.m4:519: AS_IF is expanded from...
+autoconf/general.m4:1922: AC_CACHE_VAL is expanded from...
+autoconf/general.m4:1935: AC_CACHE_CHECK is expanded from...
+aclocal.m4:2764: AM_LC_MESSAGES is expanded from...
+aclocal.m4:2408: AM_INTL_SUBDIR is expanded from...
+aclocal.m4:2338: AM_GNU_GETTEXT is expanded from...
+configure.in:643: the top level])
+m4trace:configure.in:643: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LC_MESSAGES])
+m4trace:configure.in:643: -1- m4_pattern_allow([^HAVE_LC_MESSAGES$])
+m4trace:configure.in:643: -1- AH_OUTPUT([HAVE_LC_MESSAGES], [/* Define if your <locale.h> file defines LC_MESSAGES. */
 #undef HAVE_LC_MESSAGES])
-m4trace:configure.in:638: -1- AC_SUBST([INTLBISON])
-m4trace:configure.in:638: -1- AC_SUBST_TRACE([INTLBISON])
-m4trace:configure.in:638: -1- m4_pattern_allow([^INTLBISON$])
-m4trace:configure.in:638: -1- AC_SUBST([USE_NLS])
-m4trace:configure.in:638: -1- AC_SUBST_TRACE([USE_NLS])
-m4trace:configure.in:638: -1- m4_pattern_allow([^USE_NLS$])
-m4trace:configure.in:638: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
-You should run autoupdate.], [autoconf/general.m4:2415: AC_TRY_LINK is expanded from...
-../../lib/m4sugar/m4sh.m4:523: AS_IF is expanded from...
-autoconf/general.m4:1905: AC_CACHE_VAL is expanded from...
-autoconf/general.m4:1918: AC_CACHE_CHECK is expanded from...
-aclocal.m4:2056: AM_GNU_GETTEXT is expanded from...
-configure.in:638: the top level])
-m4trace:configure.in:638: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
-You should run autoupdate.], [autoconf/general.m4:2415: AC_TRY_LINK is expanded from...
-../../lib/m4sugar/m4sh.m4:523: AS_IF is expanded from...
-autoconf/general.m4:1905: AC_CACHE_VAL is expanded from...
-autoconf/general.m4:1918: AC_CACHE_CHECK is expanded from...
-aclocal.m4:2056: AM_GNU_GETTEXT is expanded from...
-configure.in:638: the top level])
-m4trace:configure.in:638: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
-You should run autoupdate.], [autoconf/general.m4:2415: AC_TRY_LINK is expanded from...
-../../lib/m4sugar/m4sh.m4:523: AS_IF is expanded from...
-autoconf/general.m4:1905: AC_CACHE_VAL is expanded from...
-autoconf/general.m4:1918: AC_CACHE_CHECK is expanded from...
-aclocal.m4:2056: AM_GNU_GETTEXT is expanded from...
-configure.in:638: the top level])
-m4trace:configure.in:638: -1- AC_DEFINE_TRACE_LITERAL([ENABLE_NLS])
-m4trace:configure.in:638: -1- m4_pattern_allow([^ENABLE_NLS$])
-m4trace:configure.in:638: -1- AH_OUTPUT([ENABLE_NLS], [/* Define to 1 if translation of program messages to the user\'s native
+m4trace:configure.in:643: -1- AC_SUBST([INTLBISON])
+m4trace:configure.in:643: -1- AC_SUBST_TRACE([INTLBISON])
+m4trace:configure.in:643: -1- m4_pattern_allow([^INTLBISON$])
+m4trace:configure.in:643: -1- AC_SUBST([USE_NLS])
+m4trace:configure.in:643: -1- AC_SUBST_TRACE([USE_NLS])
+m4trace:configure.in:643: -1- m4_pattern_allow([^USE_NLS$])
+m4trace:configure.in:643: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+You should run autoupdate.], [autoconf/general.m4:2426: AC_TRY_LINK is expanded from...
+../../lib/m4sugar/m4sh.m4:519: AS_IF is expanded from...
+autoconf/general.m4:1922: AC_CACHE_VAL is expanded from...
+autoconf/general.m4:1935: AC_CACHE_CHECK is expanded from...
+aclocal.m4:2338: AM_GNU_GETTEXT is expanded from...
+configure.in:643: the top level])
+m4trace:configure.in:643: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+You should run autoupdate.], [autoconf/general.m4:2426: AC_TRY_LINK is expanded from...
+../../lib/m4sugar/m4sh.m4:519: AS_IF is expanded from...
+autoconf/general.m4:1922: AC_CACHE_VAL is expanded from...
+autoconf/general.m4:1935: AC_CACHE_CHECK is expanded from...
+aclocal.m4:2338: AM_GNU_GETTEXT is expanded from...
+configure.in:643: the top level])
+m4trace:configure.in:643: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+You should run autoupdate.], [autoconf/general.m4:2426: AC_TRY_LINK is expanded from...
+../../lib/m4sugar/m4sh.m4:519: AS_IF is expanded from...
+autoconf/general.m4:1922: AC_CACHE_VAL is expanded from...
+autoconf/general.m4:1935: AC_CACHE_CHECK is expanded from...
+aclocal.m4:2338: AM_GNU_GETTEXT is expanded from...
+configure.in:643: the top level])
+m4trace:configure.in:643: -1- AC_DEFINE_TRACE_LITERAL([ENABLE_NLS])
+m4trace:configure.in:643: -1- m4_pattern_allow([^ENABLE_NLS$])
+m4trace:configure.in:643: -1- AH_OUTPUT([ENABLE_NLS], [/* Define to 1 if translation of program messages to the user\'s native
    language is requested. */
 #undef ENABLE_NLS])
-m4trace:configure.in:638: -1- AC_DEFINE_TRACE_LITERAL([HAVE_GETTEXT])
-m4trace:configure.in:638: -1- m4_pattern_allow([^HAVE_GETTEXT$])
-m4trace:configure.in:638: -1- AH_OUTPUT([HAVE_GETTEXT], [/* Define if the GNU gettext() function is already present or preinstalled. */
+m4trace:configure.in:643: -1- AC_DEFINE_TRACE_LITERAL([HAVE_GETTEXT])
+m4trace:configure.in:643: -1- m4_pattern_allow([^HAVE_GETTEXT$])
+m4trace:configure.in:643: -1- AH_OUTPUT([HAVE_GETTEXT], [/* Define if the GNU gettext() function is already present or preinstalled. */
 #undef HAVE_GETTEXT])
-m4trace:configure.in:638: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DCGETTEXT])
-m4trace:configure.in:638: -1- m4_pattern_allow([^HAVE_DCGETTEXT$])
-m4trace:configure.in:638: -1- AH_OUTPUT([HAVE_DCGETTEXT], [/* Define if the GNU dcgettext() function is already present or preinstalled.
+m4trace:configure.in:643: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DCGETTEXT])
+m4trace:configure.in:643: -1- m4_pattern_allow([^HAVE_DCGETTEXT$])
+m4trace:configure.in:643: -1- AH_OUTPUT([HAVE_DCGETTEXT], [/* Define if the GNU dcgettext() function is already present or preinstalled.
    */
 #undef HAVE_DCGETTEXT])
-m4trace:configure.in:638: -1- AC_SUBST([BUILD_INCLUDED_LIBINTL])
-m4trace:configure.in:638: -1- AC_SUBST_TRACE([BUILD_INCLUDED_LIBINTL])
-m4trace:configure.in:638: -1- m4_pattern_allow([^BUILD_INCLUDED_LIBINTL$])
-m4trace:configure.in:638: -1- AC_SUBST([USE_INCLUDED_LIBINTL])
-m4trace:configure.in:638: -1- AC_SUBST_TRACE([USE_INCLUDED_LIBINTL])
-m4trace:configure.in:638: -1- m4_pattern_allow([^USE_INCLUDED_LIBINTL$])
-m4trace:configure.in:638: -1- AC_SUBST([CATOBJEXT])
-m4trace:configure.in:638: -1- AC_SUBST_TRACE([CATOBJEXT])
-m4trace:configure.in:638: -1- m4_pattern_allow([^CATOBJEXT$])
-m4trace:configure.in:638: -1- AC_SUBST([DATADIRNAME])
-m4trace:configure.in:638: -1- AC_SUBST_TRACE([DATADIRNAME])
-m4trace:configure.in:638: -1- m4_pattern_allow([^DATADIRNAME$])
-m4trace:configure.in:638: -1- AC_SUBST([INSTOBJEXT])
-m4trace:configure.in:638: -1- AC_SUBST_TRACE([INSTOBJEXT])
-m4trace:configure.in:638: -1- m4_pattern_allow([^INSTOBJEXT$])
-m4trace:configure.in:638: -1- AC_SUBST([GENCAT])
-m4trace:configure.in:638: -1- AC_SUBST_TRACE([GENCAT])
-m4trace:configure.in:638: -1- m4_pattern_allow([^GENCAT$])
-m4trace:configure.in:638: -1- AC_SUBST([INTLOBJS])
-m4trace:configure.in:638: -1- AC_SUBST_TRACE([INTLOBJS])
-m4trace:configure.in:638: -1- m4_pattern_allow([^INTLOBJS$])
-m4trace:configure.in:638: -1- AC_SUBST([INTL_LIBTOOL_SUFFIX_PREFIX])
-m4trace:configure.in:638: -1- AC_SUBST_TRACE([INTL_LIBTOOL_SUFFIX_PREFIX])
-m4trace:configure.in:638: -1- m4_pattern_allow([^INTL_LIBTOOL_SUFFIX_PREFIX$])
-m4trace:configure.in:638: -1- AC_SUBST([INTLLIBS])
-m4trace:configure.in:638: -1- AC_SUBST_TRACE([INTLLIBS])
-m4trace:configure.in:638: -1- m4_pattern_allow([^INTLLIBS$])
-m4trace:configure.in:638: -1- AC_SUBST([LIBINTL])
-m4trace:configure.in:638: -1- AC_SUBST_TRACE([LIBINTL])
-m4trace:configure.in:638: -1- m4_pattern_allow([^LIBINTL$])
-m4trace:configure.in:638: -1- AC_SUBST([LTLIBINTL])
-m4trace:configure.in:638: -1- AC_SUBST_TRACE([LTLIBINTL])
-m4trace:configure.in:638: -1- m4_pattern_allow([^LTLIBINTL$])
-m4trace:configure.in:638: -1- AC_SUBST([POSUB])
-m4trace:configure.in:638: -1- AC_SUBST_TRACE([POSUB])
-m4trace:configure.in:638: -1- m4_pattern_allow([^POSUB$])
-m4trace:configure.in:641: -1- AH_OUTPUT([HAVE_DIRENT_H], [/* Define to 1 if you have the <dirent.h> header file, and it defines `DIR\'.
+m4trace:configure.in:643: -1- AC_SUBST([BUILD_INCLUDED_LIBINTL])
+m4trace:configure.in:643: -1- AC_SUBST_TRACE([BUILD_INCLUDED_LIBINTL])
+m4trace:configure.in:643: -1- m4_pattern_allow([^BUILD_INCLUDED_LIBINTL$])
+m4trace:configure.in:643: -1- AC_SUBST([USE_INCLUDED_LIBINTL])
+m4trace:configure.in:643: -1- AC_SUBST_TRACE([USE_INCLUDED_LIBINTL])
+m4trace:configure.in:643: -1- m4_pattern_allow([^USE_INCLUDED_LIBINTL$])
+m4trace:configure.in:643: -1- AC_SUBST([CATOBJEXT])
+m4trace:configure.in:643: -1- AC_SUBST_TRACE([CATOBJEXT])
+m4trace:configure.in:643: -1- m4_pattern_allow([^CATOBJEXT$])
+m4trace:configure.in:643: -1- AC_SUBST([DATADIRNAME])
+m4trace:configure.in:643: -1- AC_SUBST_TRACE([DATADIRNAME])
+m4trace:configure.in:643: -1- m4_pattern_allow([^DATADIRNAME$])
+m4trace:configure.in:643: -1- AC_SUBST([INSTOBJEXT])
+m4trace:configure.in:643: -1- AC_SUBST_TRACE([INSTOBJEXT])
+m4trace:configure.in:643: -1- m4_pattern_allow([^INSTOBJEXT$])
+m4trace:configure.in:643: -1- AC_SUBST([GENCAT])
+m4trace:configure.in:643: -1- AC_SUBST_TRACE([GENCAT])
+m4trace:configure.in:643: -1- m4_pattern_allow([^GENCAT$])
+m4trace:configure.in:643: -1- AC_SUBST([INTLOBJS])
+m4trace:configure.in:643: -1- AC_SUBST_TRACE([INTLOBJS])
+m4trace:configure.in:643: -1- m4_pattern_allow([^INTLOBJS$])
+m4trace:configure.in:643: -1- AC_SUBST([INTL_LIBTOOL_SUFFIX_PREFIX])
+m4trace:configure.in:643: -1- AC_SUBST_TRACE([INTL_LIBTOOL_SUFFIX_PREFIX])
+m4trace:configure.in:643: -1- m4_pattern_allow([^INTL_LIBTOOL_SUFFIX_PREFIX$])
+m4trace:configure.in:643: -1- AC_SUBST([INTLLIBS])
+m4trace:configure.in:643: -1- AC_SUBST_TRACE([INTLLIBS])
+m4trace:configure.in:643: -1- m4_pattern_allow([^INTLLIBS$])
+m4trace:configure.in:643: -1- AC_SUBST([LIBINTL])
+m4trace:configure.in:643: -1- AC_SUBST_TRACE([LIBINTL])
+m4trace:configure.in:643: -1- m4_pattern_allow([^LIBINTL$])
+m4trace:configure.in:643: -1- AC_SUBST([LTLIBINTL])
+m4trace:configure.in:643: -1- AC_SUBST_TRACE([LTLIBINTL])
+m4trace:configure.in:643: -1- m4_pattern_allow([^LTLIBINTL$])
+m4trace:configure.in:643: -1- AC_SUBST([POSUB])
+m4trace:configure.in:643: -1- AC_SUBST_TRACE([POSUB])
+m4trace:configure.in:643: -1- m4_pattern_allow([^POSUB$])
+m4trace:configure.in:646: -1- AC_HEADER_DIRENT
+m4trace:configure.in:646: -1- AH_OUTPUT([HAVE_DIRENT_H], [/* Define to 1 if you have the <dirent.h> header file, and it defines `DIR\'.
    */
 #undef HAVE_DIRENT_H])
-m4trace:configure.in:641: -1- AH_OUTPUT([HAVE_SYS_NDIR_H], [/* Define to 1 if you have the <sys/ndir.h> header file, and it defines `DIR\'.
+m4trace:configure.in:646: -1- AH_OUTPUT([HAVE_SYS_NDIR_H], [/* Define to 1 if you have the <sys/ndir.h> header file, and it defines `DIR\'.
    */
 #undef HAVE_SYS_NDIR_H])
-m4trace:configure.in:641: -1- AH_OUTPUT([HAVE_SYS_DIR_H], [/* Define to 1 if you have the <sys/dir.h> header file, and it defines `DIR\'.
+m4trace:configure.in:646: -1- AH_OUTPUT([HAVE_SYS_DIR_H], [/* Define to 1 if you have the <sys/dir.h> header file, and it defines `DIR\'.
    */
 #undef HAVE_SYS_DIR_H])
-m4trace:configure.in:641: -1- AH_OUTPUT([HAVE_NDIR_H], [/* Define to 1 if you have the <ndir.h> header file, and it defines `DIR\'. */
+m4trace:configure.in:646: -1- AH_OUTPUT([HAVE_NDIR_H], [/* Define to 1 if you have the <ndir.h> header file, and it defines `DIR\'. */
 #undef HAVE_NDIR_H])
-m4trace:configure.in:642: -1- AC_DEFINE_TRACE_LITERAL([TIME_WITH_SYS_TIME])
-m4trace:configure.in:642: -1- m4_pattern_allow([^TIME_WITH_SYS_TIME$])
-m4trace:configure.in:642: -1- AH_OUTPUT([TIME_WITH_SYS_TIME], [/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
+m4trace:configure.in:647: -1- AC_HEADER_TIME
+m4trace:configure.in:647: -1- AC_DEFINE_TRACE_LITERAL([TIME_WITH_SYS_TIME])
+m4trace:configure.in:647: -1- m4_pattern_allow([^TIME_WITH_SYS_TIME$])
+m4trace:configure.in:647: -1- AH_OUTPUT([TIME_WITH_SYS_TIME], [/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
 #undef TIME_WITH_SYS_TIME])
-m4trace:configure.in:644: -1- AH_OUTPUT([HAVE_INTTYPES_H], [/* Define to 1 if you have the <inttypes.h> header file. */
+m4trace:configure.in:649: -1- AC_CHECK_HEADERS([inttypes.h])
+m4trace:configure.in:649: -1- AH_OUTPUT([HAVE_INTTYPES_H], [/* Define to 1 if you have the <inttypes.h> header file. */
 #undef HAVE_INTTYPES_H])
-m4trace:configure.in:646: -1- AH_OUTPUT([HAVE_UNISTD_H], [/* Define to 1 if you have the <unistd.h> header file. */
+m4trace:configure.in:653: -1- AC_CHECK_HEADERS([unistd.h stdlib.h stdarg.h varargs.h limits.h string.h \
+                memory.h locale.h termcap.h termio.h termios.h dlfcn.h \
+                stddef.h stdint.h netdb.h pwd.h grp.h strings.h regex.h])
+m4trace:configure.in:653: -1- AH_OUTPUT([HAVE_UNISTD_H], [/* Define to 1 if you have the <unistd.h> header file. */
 #undef HAVE_UNISTD_H])
-m4trace:configure.in:646: -1- AH_OUTPUT([HAVE_STDLIB_H], [/* Define to 1 if you have the <stdlib.h> header file. */
+m4trace:configure.in:653: -1- AH_OUTPUT([HAVE_STDLIB_H], [/* Define to 1 if you have the <stdlib.h> header file. */
 #undef HAVE_STDLIB_H])
-m4trace:configure.in:646: -1- AH_OUTPUT([HAVE_STDARG_H], [/* Define to 1 if you have the <stdarg.h> header file. */
+m4trace:configure.in:653: -1- AH_OUTPUT([HAVE_STDARG_H], [/* Define to 1 if you have the <stdarg.h> header file. */
 #undef HAVE_STDARG_H])
-m4trace:configure.in:646: -1- AH_OUTPUT([HAVE_VARARGS_H], [/* Define to 1 if you have the <varargs.h> header file. */
+m4trace:configure.in:653: -1- AH_OUTPUT([HAVE_VARARGS_H], [/* Define to 1 if you have the <varargs.h> header file. */
 #undef HAVE_VARARGS_H])
-m4trace:configure.in:646: -1- AH_OUTPUT([HAVE_LIMITS_H], [/* Define to 1 if you have the <limits.h> header file. */
+m4trace:configure.in:653: -1- AH_OUTPUT([HAVE_LIMITS_H], [/* Define to 1 if you have the <limits.h> header file. */
 #undef HAVE_LIMITS_H])
-m4trace:configure.in:646: -1- AH_OUTPUT([HAVE_STRING_H], [/* Define to 1 if you have the <string.h> header file. */
+m4trace:configure.in:653: -1- AH_OUTPUT([HAVE_STRING_H], [/* Define to 1 if you have the <string.h> header file. */
 #undef HAVE_STRING_H])
-m4trace:configure.in:646: -1- AH_OUTPUT([HAVE_MEMORY_H], [/* Define to 1 if you have the <memory.h> header file. */
+m4trace:configure.in:653: -1- AH_OUTPUT([HAVE_MEMORY_H], [/* Define to 1 if you have the <memory.h> header file. */
 #undef HAVE_MEMORY_H])
-m4trace:configure.in:646: -1- AH_OUTPUT([HAVE_LOCALE_H], [/* Define to 1 if you have the <locale.h> header file. */
+m4trace:configure.in:653: -1- AH_OUTPUT([HAVE_LOCALE_H], [/* Define to 1 if you have the <locale.h> header file. */
 #undef HAVE_LOCALE_H])
-m4trace:configure.in:646: -1- AH_OUTPUT([HAVE_TERMCAP_H], [/* Define to 1 if you have the <termcap.h> header file. */
+m4trace:configure.in:653: -1- AH_OUTPUT([HAVE_TERMCAP_H], [/* Define to 1 if you have the <termcap.h> header file. */
 #undef HAVE_TERMCAP_H])
-m4trace:configure.in:646: -1- AH_OUTPUT([HAVE_TERMIO_H], [/* Define to 1 if you have the <termio.h> header file. */
+m4trace:configure.in:653: -1- AH_OUTPUT([HAVE_TERMIO_H], [/* Define to 1 if you have the <termio.h> header file. */
 #undef HAVE_TERMIO_H])
-m4trace:configure.in:646: -1- AH_OUTPUT([HAVE_TERMIOS_H], [/* Define to 1 if you have the <termios.h> header file. */
+m4trace:configure.in:653: -1- AH_OUTPUT([HAVE_TERMIOS_H], [/* Define to 1 if you have the <termios.h> header file. */
 #undef HAVE_TERMIOS_H])
-m4trace:configure.in:646: -1- AH_OUTPUT([HAVE_DLFCN_H], [/* Define to 1 if you have the <dlfcn.h> header file. */
+m4trace:configure.in:653: -1- AH_OUTPUT([HAVE_DLFCN_H], [/* Define to 1 if you have the <dlfcn.h> header file. */
 #undef HAVE_DLFCN_H])
-m4trace:configure.in:646: -1- AH_OUTPUT([HAVE_STDDEF_H], [/* Define to 1 if you have the <stddef.h> header file. */
+m4trace:configure.in:653: -1- AH_OUTPUT([HAVE_STDDEF_H], [/* Define to 1 if you have the <stddef.h> header file. */
 #undef HAVE_STDDEF_H])
-m4trace:configure.in:646: -1- AH_OUTPUT([HAVE_STDINT_H], [/* Define to 1 if you have the <stdint.h> header file. */
+m4trace:configure.in:653: -1- AH_OUTPUT([HAVE_STDINT_H], [/* Define to 1 if you have the <stdint.h> header file. */
 #undef HAVE_STDINT_H])
-m4trace:configure.in:646: -1- AH_OUTPUT([HAVE_NETDB_H], [/* Define to 1 if you have the <netdb.h> header file. */
+m4trace:configure.in:653: -1- AH_OUTPUT([HAVE_NETDB_H], [/* Define to 1 if you have the <netdb.h> header file. */
 #undef HAVE_NETDB_H])
-m4trace:configure.in:646: -1- AH_OUTPUT([HAVE_PWD_H], [/* Define to 1 if you have the <pwd.h> header file. */
+m4trace:configure.in:653: -1- AH_OUTPUT([HAVE_PWD_H], [/* Define to 1 if you have the <pwd.h> header file. */
 #undef HAVE_PWD_H])
-m4trace:configure.in:646: -1- AH_OUTPUT([HAVE_GRP_H], [/* Define to 1 if you have the <grp.h> header file. */
+m4trace:configure.in:653: -1- AH_OUTPUT([HAVE_GRP_H], [/* Define to 1 if you have the <grp.h> header file. */
 #undef HAVE_GRP_H])
-m4trace:configure.in:646: -1- AH_OUTPUT([HAVE_STRINGS_H], [/* Define to 1 if you have the <strings.h> header file. */
+m4trace:configure.in:653: -1- AH_OUTPUT([HAVE_STRINGS_H], [/* Define to 1 if you have the <strings.h> header file. */
 #undef HAVE_STRINGS_H])
-m4trace:configure.in:646: -1- AH_OUTPUT([HAVE_REGEX_H], [/* Define to 1 if you have the <regex.h> header file. */
+m4trace:configure.in:653: -1- AH_OUTPUT([HAVE_REGEX_H], [/* Define to 1 if you have the <regex.h> header file. */
 #undef HAVE_REGEX_H])
-m4trace:configure.in:649: -1- AH_OUTPUT([HAVE_SYS_PTE_H], [/* Define to 1 if you have the <sys/pte.h> header file. */
+m4trace:configure.in:656: -1- AC_CHECK_HEADERS([sys/pte.h sys/stream.h sys/select.h sys/file.h \
+                sys/resource.h sys/param.h sys/socket.h sys/stat.h \
+                sys/time.h sys/times.h sys/types.h sys/wait.h])
+m4trace:configure.in:656: -1- AH_OUTPUT([HAVE_SYS_PTE_H], [/* Define to 1 if you have the <sys/pte.h> header file. */
 #undef HAVE_SYS_PTE_H])
-m4trace:configure.in:649: -1- AH_OUTPUT([HAVE_SYS_STREAM_H], [/* Define to 1 if you have the <sys/stream.h> header file. */
+m4trace:configure.in:656: -1- AH_OUTPUT([HAVE_SYS_STREAM_H], [/* Define to 1 if you have the <sys/stream.h> header file. */
 #undef HAVE_SYS_STREAM_H])
-m4trace:configure.in:649: -1- AH_OUTPUT([HAVE_SYS_SELECT_H], [/* Define to 1 if you have the <sys/select.h> header file. */
+m4trace:configure.in:656: -1- AH_OUTPUT([HAVE_SYS_SELECT_H], [/* Define to 1 if you have the <sys/select.h> header file. */
 #undef HAVE_SYS_SELECT_H])
-m4trace:configure.in:649: -1- AH_OUTPUT([HAVE_SYS_FILE_H], [/* Define to 1 if you have the <sys/file.h> header file. */
+m4trace:configure.in:656: -1- AH_OUTPUT([HAVE_SYS_FILE_H], [/* Define to 1 if you have the <sys/file.h> header file. */
 #undef HAVE_SYS_FILE_H])
-m4trace:configure.in:649: -1- AH_OUTPUT([HAVE_SYS_RESOURCE_H], [/* Define to 1 if you have the <sys/resource.h> header file. */
+m4trace:configure.in:656: -1- AH_OUTPUT([HAVE_SYS_RESOURCE_H], [/* Define to 1 if you have the <sys/resource.h> header file. */
 #undef HAVE_SYS_RESOURCE_H])
-m4trace:configure.in:649: -1- AH_OUTPUT([HAVE_SYS_PARAM_H], [/* Define to 1 if you have the <sys/param.h> header file. */
+m4trace:configure.in:656: -1- AH_OUTPUT([HAVE_SYS_PARAM_H], [/* Define to 1 if you have the <sys/param.h> header file. */
 #undef HAVE_SYS_PARAM_H])
-m4trace:configure.in:649: -1- AH_OUTPUT([HAVE_SYS_SOCKET_H], [/* Define to 1 if you have the <sys/socket.h> header file. */
+m4trace:configure.in:656: -1- AH_OUTPUT([HAVE_SYS_SOCKET_H], [/* Define to 1 if you have the <sys/socket.h> header file. */
 #undef HAVE_SYS_SOCKET_H])
-m4trace:configure.in:649: -1- AH_OUTPUT([HAVE_SYS_STAT_H], [/* Define to 1 if you have the <sys/stat.h> header file. */
+m4trace:configure.in:656: -1- AH_OUTPUT([HAVE_SYS_STAT_H], [/* Define to 1 if you have the <sys/stat.h> header file. */
 #undef HAVE_SYS_STAT_H])
-m4trace:configure.in:649: -1- AH_OUTPUT([HAVE_SYS_TIME_H], [/* Define to 1 if you have the <sys/time.h> header file. */
+m4trace:configure.in:656: -1- AH_OUTPUT([HAVE_SYS_TIME_H], [/* Define to 1 if you have the <sys/time.h> header file. */
 #undef HAVE_SYS_TIME_H])
-m4trace:configure.in:649: -1- AH_OUTPUT([HAVE_SYS_TIMES_H], [/* Define to 1 if you have the <sys/times.h> header file. */
+m4trace:configure.in:656: -1- AH_OUTPUT([HAVE_SYS_TIMES_H], [/* Define to 1 if you have the <sys/times.h> header file. */
 #undef HAVE_SYS_TIMES_H])
-m4trace:configure.in:649: -1- AH_OUTPUT([HAVE_SYS_TYPES_H], [/* Define to 1 if you have the <sys/types.h> header file. */
+m4trace:configure.in:656: -1- AH_OUTPUT([HAVE_SYS_TYPES_H], [/* Define to 1 if you have the <sys/types.h> header file. */
 #undef HAVE_SYS_TYPES_H])
-m4trace:configure.in:649: -1- AH_OUTPUT([HAVE_SYS_WAIT_H], [/* Define to 1 if you have the <sys/wait.h> header file. */
+m4trace:configure.in:656: -1- AH_OUTPUT([HAVE_SYS_WAIT_H], [/* Define to 1 if you have the <sys/wait.h> header file. */
 #undef HAVE_SYS_WAIT_H])
-m4trace:configure.in:652: -1- AH_OUTPUT([HAVE_NETINET_IN_H], [/* Define to 1 if you have the <netinet/in.h> header file. */
+m4trace:configure.in:657: -1- AC_CHECK_HEADERS([netinet/in.h arpa/inet.h])
+m4trace:configure.in:657: -1- AH_OUTPUT([HAVE_NETINET_IN_H], [/* Define to 1 if you have the <netinet/in.h> header file. */
 #undef HAVE_NETINET_IN_H])
-m4trace:configure.in:652: -1- AH_OUTPUT([HAVE_ARPA_INET_H], [/* Define to 1 if you have the <arpa/inet.h> header file. */
+m4trace:configure.in:657: -1- AH_OUTPUT([HAVE_ARPA_INET_H], [/* Define to 1 if you have the <arpa/inet.h> header file. */
 #undef HAVE_ARPA_INET_H])
-m4trace:configure.in:663: -1- AC_DEFINE_TRACE_LITERAL([HAVE_ALLOCA_H])
-m4trace:configure.in:663: -1- m4_pattern_allow([^HAVE_ALLOCA_H$])
-m4trace:configure.in:663: -1- AH_OUTPUT([HAVE_ALLOCA_H], [/* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix).
+m4trace:configure.in:668: -1- AC_FUNC_ALLOCA
+m4trace:configure.in:668: -1- AC_DEFINE_TRACE_LITERAL([HAVE_ALLOCA_H])
+m4trace:configure.in:668: -1- m4_pattern_allow([^HAVE_ALLOCA_H$])
+m4trace:configure.in:668: -1- AH_OUTPUT([HAVE_ALLOCA_H], [/* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix).
    */
 #undef HAVE_ALLOCA_H])
-m4trace:configure.in:663: -1- AC_DEFINE_TRACE_LITERAL([HAVE_ALLOCA])
-m4trace:configure.in:663: -1- m4_pattern_allow([^HAVE_ALLOCA$])
-m4trace:configure.in:663: -1- AH_OUTPUT([HAVE_ALLOCA], [/* Define to 1 if you have `alloca\', as a function or macro. */
+m4trace:configure.in:668: -1- AC_DEFINE_TRACE_LITERAL([HAVE_ALLOCA])
+m4trace:configure.in:668: -1- m4_pattern_allow([^HAVE_ALLOCA$])
+m4trace:configure.in:668: -1- AH_OUTPUT([HAVE_ALLOCA], [/* Define to 1 if you have `alloca\', as a function or macro. */
 #undef HAVE_ALLOCA])
-m4trace:configure.in:663: -1- AC_LIBSOURCE([alloca.c])
-m4trace:configure.in:663: -1- AC_SUBST([ALLOCA], [\${LIBOBJDIR}alloca.$ac_objext])
-m4trace:configure.in:663: -1- AC_SUBST_TRACE([ALLOCA])
-m4trace:configure.in:663: -1- m4_pattern_allow([^ALLOCA$])
-m4trace:configure.in:663: -1- AC_DEFINE_TRACE_LITERAL([C_ALLOCA])
-m4trace:configure.in:663: -1- m4_pattern_allow([^C_ALLOCA$])
-m4trace:configure.in:663: -1- AH_OUTPUT([C_ALLOCA], [/* Define to 1 if using `alloca.c\'. */
+m4trace:configure.in:668: -1- AC_LIBSOURCE([alloca.c])
+m4trace:configure.in:668: -1- AC_SUBST([ALLOCA], [\${LIBOBJDIR}alloca.$ac_objext])
+m4trace:configure.in:668: -1- AC_SUBST_TRACE([ALLOCA])
+m4trace:configure.in:668: -1- m4_pattern_allow([^ALLOCA$])
+m4trace:configure.in:668: -1- AC_DEFINE_TRACE_LITERAL([C_ALLOCA])
+m4trace:configure.in:668: -1- m4_pattern_allow([^C_ALLOCA$])
+m4trace:configure.in:668: -1- AH_OUTPUT([C_ALLOCA], [/* Define to 1 if using `alloca.c\'. */
 #undef C_ALLOCA])
-m4trace:configure.in:663: -1- AC_DEFINE_TRACE_LITERAL([CRAY_STACKSEG_END])
-m4trace:configure.in:663: -1- m4_pattern_allow([^CRAY_STACKSEG_END$])
-m4trace:configure.in:663: -1- AH_OUTPUT([CRAY_STACKSEG_END], [/* Define to one of `_getb67\', `GETB67\', `getb67\' for Cray-2 and Cray-YMP
+m4trace:configure.in:668: -1- AC_DEFINE_TRACE_LITERAL([CRAY_STACKSEG_END])
+m4trace:configure.in:668: -1- m4_pattern_allow([^CRAY_STACKSEG_END$])
+m4trace:configure.in:668: -1- AH_OUTPUT([CRAY_STACKSEG_END], [/* Define to one of `_getb67\', `GETB67\', `getb67\' for Cray-2 and Cray-YMP
    systems. This function is required for `alloca.c\' support on those systems.
    */
 #undef CRAY_STACKSEG_END])
-m4trace:configure.in:663: -1- AH_OUTPUT([STACK_DIRECTION], [/* If using the C implementation of alloca, define if you know the
+m4trace:configure.in:668: -1- AH_OUTPUT([STACK_DIRECTION], [/* If using the C implementation of alloca, define if you know the
    direction of stack growth for your system; otherwise it will be
    automatically deduced at runtime.
        STACK_DIRECTION > 0 => grows toward higher addresses
        STACK_DIRECTION < 0 => grows toward lower addresses
        STACK_DIRECTION = 0 => direction of growth unknown */
 @%:@undef STACK_DIRECTION])
-m4trace:configure.in:663: -1- AC_DEFINE_TRACE_LITERAL([STACK_DIRECTION])
-m4trace:configure.in:663: -1- m4_pattern_allow([^STACK_DIRECTION$])
-m4trace:configure.in:664: -1- AC_DEFINE_TRACE_LITERAL([GETPGRP_VOID])
-m4trace:configure.in:664: -1- m4_pattern_allow([^GETPGRP_VOID$])
-m4trace:configure.in:664: -1- AH_OUTPUT([GETPGRP_VOID], [/* Define to 1 if the `getpgrp\' function requires zero arguments. */
+m4trace:configure.in:668: -1- AC_DEFINE_TRACE_LITERAL([STACK_DIRECTION])
+m4trace:configure.in:668: -1- m4_pattern_allow([^STACK_DIRECTION$])
+m4trace:configure.in:669: -1- AC_FUNC_GETPGRP
+m4trace:configure.in:669: -1- AC_DEFINE_TRACE_LITERAL([GETPGRP_VOID])
+m4trace:configure.in:669: -1- m4_pattern_allow([^GETPGRP_VOID$])
+m4trace:configure.in:669: -1- AH_OUTPUT([GETPGRP_VOID], [/* Define to 1 if the `getpgrp\' function requires zero arguments. */
 #undef GETPGRP_VOID])
-m4trace:configure.in:665: -1- AC_DEFINE_TRACE_LITERAL([SETVBUF_REVERSED])
-m4trace:configure.in:665: -1- m4_pattern_allow([^SETVBUF_REVERSED$])
-m4trace:configure.in:665: -1- AH_OUTPUT([SETVBUF_REVERSED], [/* Define to 1 if the `setvbuf\' function takes the buffering type as its
+m4trace:configure.in:670: -1- AC_FUNC_SETVBUF_REVERSED
+m4trace:configure.in:670: -1- AC_DEFINE_TRACE_LITERAL([SETVBUF_REVERSED])
+m4trace:configure.in:670: -1- m4_pattern_allow([^SETVBUF_REVERSED$])
+m4trace:configure.in:670: -1- AH_OUTPUT([SETVBUF_REVERSED], [/* Define to 1 if the `setvbuf\' function takes the buffering type as its
    second argument and the buffer pointer as the third, as on System V before
    release 3. */
 #undef SETVBUF_REVERSED])
-m4trace:configure.in:666: -1- AH_OUTPUT([HAVE_VPRINTF], [/* Define to 1 if you have the `vprintf\' function. */
+m4trace:configure.in:671: -1- AC_FUNC_VPRINTF
+m4trace:configure.in:671: -1- AC_CHECK_FUNCS([vprintf], [
+AC_CHECK_FUNC(_doprnt,
+              [AC_DEFINE(HAVE_DOPRNT, 1,
+                         [Define to 1 if you don't have `vprintf' but do have
+                         `_doprnt.'])])])
+m4trace:configure.in:671: -1- AH_OUTPUT([HAVE_VPRINTF], [/* Define to 1 if you have the `vprintf\' function. */
 #undef HAVE_VPRINTF])
-m4trace:configure.in:666: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DOPRNT])
-m4trace:configure.in:666: -1- m4_pattern_allow([^HAVE_DOPRNT$])
-m4trace:configure.in:666: -1- AH_OUTPUT([HAVE_DOPRNT], [/* Define to 1 if you don\'t have `vprintf\' but do have `_doprnt.\' */
+m4trace:configure.in:671: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DOPRNT])
+m4trace:configure.in:671: -1- m4_pattern_allow([^HAVE_DOPRNT$])
+m4trace:configure.in:671: -1- AH_OUTPUT([HAVE_DOPRNT], [/* Define to 1 if you don\'t have `vprintf\' but do have `_doprnt.\' */
 #undef HAVE_DOPRNT])
-m4trace:configure.in:667: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRCOLL])
-m4trace:configure.in:667: -1- m4_pattern_allow([^HAVE_STRCOLL$])
-m4trace:configure.in:667: -1- AH_OUTPUT([HAVE_STRCOLL], [/* Define to 1 if you have the `strcoll\' function and it is properly defined.
+m4trace:configure.in:672: -1- AC_FUNC_STRCOLL
+m4trace:configure.in:672: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRCOLL])
+m4trace:configure.in:672: -1- m4_pattern_allow([^HAVE_STRCOLL$])
+m4trace:configure.in:672: -1- AH_OUTPUT([HAVE_STRCOLL], [/* Define to 1 if you have the `strcoll\' function and it is properly defined.
    */
 #undef HAVE_STRCOLL])
-m4trace:configure.in:688: -1- AC_DEFINE_TRACE_LITERAL([HAVE_VPRINTF])
-m4trace:configure.in:688: -1- m4_pattern_allow([^HAVE_VPRINTF$])
-m4trace:configure.in:693: -1- AC_LIBSOURCE([vprint.c])
-m4trace:configure.in:693: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS vprint.$ac_objext"])
-m4trace:configure.in:693: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
-m4trace:configure.in:693: -1- m4_pattern_allow([^LIB@&t@OBJS$])
-m4trace:configure.in:697: -1- AC_DEFINE_TRACE_LITERAL([RETSIGTYPE])
-m4trace:configure.in:697: -1- m4_pattern_allow([^RETSIGTYPE$])
-m4trace:configure.in:697: -1- AH_OUTPUT([RETSIGTYPE], [/* Define as the return type of signal handlers (`int\' or `void\'). */
+m4trace:configure.in:693: -1- AC_DEFINE_TRACE_LITERAL([HAVE_VPRINTF])
+m4trace:configure.in:693: -1- m4_pattern_allow([^HAVE_VPRINTF$])
+m4trace:configure.in:698: -1- AC_LIBSOURCE([vprint.c])
+m4trace:configure.in:698: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS vprint.$ac_objext"])
+m4trace:configure.in:698: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
+m4trace:configure.in:698: -1- m4_pattern_allow([^LIB@&t@OBJS$])
+m4trace:configure.in:702: -1- AC_TYPE_SIGNAL
+m4trace:configure.in:702: -1- AC_DEFINE_TRACE_LITERAL([RETSIGTYPE])
+m4trace:configure.in:702: -1- m4_pattern_allow([^RETSIGTYPE$])
+m4trace:configure.in:702: -1- AH_OUTPUT([RETSIGTYPE], [/* Define as the return type of signal handlers (`int\' or `void\'). */
 #undef RETSIGTYPE])
-m4trace:configure.in:700: -2- AC_DEFINE_TRACE_LITERAL([HAVE_SETOSTYPE])
-m4trace:configure.in:700: -2- m4_pattern_allow([^HAVE_SETOSTYPE$])
-m4trace:configure.in:701: -2- AC_DEFINE_TRACE_LITERAL([HAVE_WAIT3])
-m4trace:configure.in:701: -2- m4_pattern_allow([^HAVE_WAIT3$])
-m4trace:configure.in:702: -2- AC_DEFINE_TRACE_LITERAL([HAVE_ISINF_IN_LIBC])
-m4trace:configure.in:702: -2- m4_pattern_allow([^HAVE_ISINF_IN_LIBC$])
-m4trace:configure.in:703: -2- AC_DEFINE_TRACE_LITERAL([HAVE_ISNAN_IN_LIBC])
-m4trace:configure.in:703: -2- m4_pattern_allow([^HAVE_ISNAN_IN_LIBC$])
-m4trace:configure.in:706: -2- AC_DEFINE_TRACE_LITERAL([HAVE_MKFIFO])
-m4trace:configure.in:706: -2- m4_pattern_allow([^HAVE_MKFIFO$])
-m4trace:configure.in:706: -2- AC_DEFINE_TRACE_LITERAL([MKFIFO_MISSING])
-m4trace:configure.in:706: -2- m4_pattern_allow([^MKFIFO_MISSING$])
-m4trace:configure.in:709: -1- AH_OUTPUT([HAVE_DUP2], [/* Define to 1 if you have the `dup2\' function. */
+m4trace:configure.in:705: -2- AC_DEFINE_TRACE_LITERAL([HAVE_SETOSTYPE])
+m4trace:configure.in:705: -2- m4_pattern_allow([^HAVE_SETOSTYPE$])
+m4trace:configure.in:706: -2- AC_DEFINE_TRACE_LITERAL([HAVE_WAIT3])
+m4trace:configure.in:706: -2- m4_pattern_allow([^HAVE_WAIT3$])
+m4trace:configure.in:707: -2- AC_DEFINE_TRACE_LITERAL([HAVE_ISINF_IN_LIBC])
+m4trace:configure.in:707: -2- m4_pattern_allow([^HAVE_ISINF_IN_LIBC$])
+m4trace:configure.in:708: -2- AC_DEFINE_TRACE_LITERAL([HAVE_ISNAN_IN_LIBC])
+m4trace:configure.in:708: -2- m4_pattern_allow([^HAVE_ISNAN_IN_LIBC$])
+m4trace:configure.in:711: -2- AC_DEFINE_TRACE_LITERAL([HAVE_MKFIFO])
+m4trace:configure.in:711: -2- m4_pattern_allow([^HAVE_MKFIFO$])
+m4trace:configure.in:711: -2- AC_DEFINE_TRACE_LITERAL([MKFIFO_MISSING])
+m4trace:configure.in:711: -2- m4_pattern_allow([^MKFIFO_MISSING$])
+m4trace:configure.in:717: -1- AC_CHECK_FUNCS([dup2 eaccess fcntl getdtablesize getgroups gethostname \
+               getpagesize getpeername getrlimit getrusage gettimeofday \
+               kill killpg lstat readlink sbrk select setdtablesize \
+               setitimer tcgetpgrp uname ulimit waitpid])
+m4trace:configure.in:717: -1- AH_OUTPUT([HAVE_DUP2], [/* Define to 1 if you have the `dup2\' function. */
 #undef HAVE_DUP2])
-m4trace:configure.in:709: -1- AH_OUTPUT([HAVE_EACCESS], [/* Define to 1 if you have the `eaccess\' function. */
+m4trace:configure.in:717: -1- AH_OUTPUT([HAVE_EACCESS], [/* Define to 1 if you have the `eaccess\' function. */
 #undef HAVE_EACCESS])
-m4trace:configure.in:709: -1- AH_OUTPUT([HAVE_FCNTL], [/* Define to 1 if you have the `fcntl\' function. */
+m4trace:configure.in:717: -1- AH_OUTPUT([HAVE_FCNTL], [/* Define to 1 if you have the `fcntl\' function. */
 #undef HAVE_FCNTL])
-m4trace:configure.in:709: -1- AH_OUTPUT([HAVE_GETDTABLESIZE], [/* Define to 1 if you have the `getdtablesize\' function. */
+m4trace:configure.in:717: -1- AH_OUTPUT([HAVE_GETDTABLESIZE], [/* Define to 1 if you have the `getdtablesize\' function. */
 #undef HAVE_GETDTABLESIZE])
-m4trace:configure.in:709: -1- AH_OUTPUT([HAVE_GETGROUPS], [/* Define to 1 if you have the `getgroups\' function. */
+m4trace:configure.in:717: -1- AH_OUTPUT([HAVE_GETGROUPS], [/* Define to 1 if you have the `getgroups\' function. */
 #undef HAVE_GETGROUPS])
-m4trace:configure.in:709: -1- AH_OUTPUT([HAVE_GETHOSTNAME], [/* Define to 1 if you have the `gethostname\' function. */
+m4trace:configure.in:717: -1- AH_OUTPUT([HAVE_GETHOSTNAME], [/* Define to 1 if you have the `gethostname\' function. */
 #undef HAVE_GETHOSTNAME])
-m4trace:configure.in:709: -1- AH_OUTPUT([HAVE_GETPAGESIZE], [/* Define to 1 if you have the `getpagesize\' function. */
+m4trace:configure.in:717: -1- AH_OUTPUT([HAVE_GETPAGESIZE], [/* Define to 1 if you have the `getpagesize\' function. */
 #undef HAVE_GETPAGESIZE])
-m4trace:configure.in:709: -1- AH_OUTPUT([HAVE_GETPEERNAME], [/* Define to 1 if you have the `getpeername\' function. */
+m4trace:configure.in:717: -1- AH_OUTPUT([HAVE_GETPEERNAME], [/* Define to 1 if you have the `getpeername\' function. */
 #undef HAVE_GETPEERNAME])
-m4trace:configure.in:709: -1- AH_OUTPUT([HAVE_GETRLIMIT], [/* Define to 1 if you have the `getrlimit\' function. */
+m4trace:configure.in:717: -1- AH_OUTPUT([HAVE_GETRLIMIT], [/* Define to 1 if you have the `getrlimit\' function. */
 #undef HAVE_GETRLIMIT])
-m4trace:configure.in:709: -1- AH_OUTPUT([HAVE_GETRUSAGE], [/* Define to 1 if you have the `getrusage\' function. */
+m4trace:configure.in:717: -1- AH_OUTPUT([HAVE_GETRUSAGE], [/* Define to 1 if you have the `getrusage\' function. */
 #undef HAVE_GETRUSAGE])
-m4trace:configure.in:709: -1- AH_OUTPUT([HAVE_GETTIMEOFDAY], [/* Define to 1 if you have the `gettimeofday\' function. */
+m4trace:configure.in:717: -1- AH_OUTPUT([HAVE_GETTIMEOFDAY], [/* Define to 1 if you have the `gettimeofday\' function. */
 #undef HAVE_GETTIMEOFDAY])
-m4trace:configure.in:709: -1- AH_OUTPUT([HAVE_KILL], [/* Define to 1 if you have the `kill\' function. */
+m4trace:configure.in:717: -1- AH_OUTPUT([HAVE_KILL], [/* Define to 1 if you have the `kill\' function. */
 #undef HAVE_KILL])
-m4trace:configure.in:709: -1- AH_OUTPUT([HAVE_KILLPG], [/* Define to 1 if you have the `killpg\' function. */
+m4trace:configure.in:717: -1- AH_OUTPUT([HAVE_KILLPG], [/* Define to 1 if you have the `killpg\' function. */
 #undef HAVE_KILLPG])
-m4trace:configure.in:709: -1- AH_OUTPUT([HAVE_LSTAT], [/* Define to 1 if you have the `lstat\' function. */
+m4trace:configure.in:717: -1- AH_OUTPUT([HAVE_LSTAT], [/* Define to 1 if you have the `lstat\' function. */
 #undef HAVE_LSTAT])
-m4trace:configure.in:709: -1- AH_OUTPUT([HAVE_READLINK], [/* Define to 1 if you have the `readlink\' function. */
+m4trace:configure.in:717: -1- AH_OUTPUT([HAVE_READLINK], [/* Define to 1 if you have the `readlink\' function. */
 #undef HAVE_READLINK])
-m4trace:configure.in:709: -1- AH_OUTPUT([HAVE_SBRK], [/* Define to 1 if you have the `sbrk\' function. */
+m4trace:configure.in:717: -1- AH_OUTPUT([HAVE_SBRK], [/* Define to 1 if you have the `sbrk\' function. */
 #undef HAVE_SBRK])
-m4trace:configure.in:709: -1- AH_OUTPUT([HAVE_SELECT], [/* Define to 1 if you have the `select\' function. */
+m4trace:configure.in:717: -1- AH_OUTPUT([HAVE_SELECT], [/* Define to 1 if you have the `select\' function. */
 #undef HAVE_SELECT])
-m4trace:configure.in:709: -1- AH_OUTPUT([HAVE_SETDTABLESIZE], [/* Define to 1 if you have the `setdtablesize\' function. */
+m4trace:configure.in:717: -1- AH_OUTPUT([HAVE_SETDTABLESIZE], [/* Define to 1 if you have the `setdtablesize\' function. */
 #undef HAVE_SETDTABLESIZE])
-m4trace:configure.in:709: -1- AH_OUTPUT([HAVE_SETITIMER], [/* Define to 1 if you have the `setitimer\' function. */
+m4trace:configure.in:717: -1- AH_OUTPUT([HAVE_SETITIMER], [/* Define to 1 if you have the `setitimer\' function. */
 #undef HAVE_SETITIMER])
-m4trace:configure.in:709: -1- AH_OUTPUT([HAVE_TCGETPGRP], [/* Define to 1 if you have the `tcgetpgrp\' function. */
+m4trace:configure.in:717: -1- AH_OUTPUT([HAVE_TCGETPGRP], [/* Define to 1 if you have the `tcgetpgrp\' function. */
 #undef HAVE_TCGETPGRP])
-m4trace:configure.in:709: -1- AH_OUTPUT([HAVE_UNAME], [/* Define to 1 if you have the `uname\' function. */
+m4trace:configure.in:717: -1- AH_OUTPUT([HAVE_UNAME], [/* Define to 1 if you have the `uname\' function. */
 #undef HAVE_UNAME])
-m4trace:configure.in:709: -1- AH_OUTPUT([HAVE_ULIMIT], [/* Define to 1 if you have the `ulimit\' function. */
+m4trace:configure.in:717: -1- AH_OUTPUT([HAVE_ULIMIT], [/* Define to 1 if you have the `ulimit\' function. */
 #undef HAVE_ULIMIT])
-m4trace:configure.in:709: -1- AH_OUTPUT([HAVE_WAITPID], [/* Define to 1 if you have the `waitpid\' function. */
+m4trace:configure.in:717: -1- AH_OUTPUT([HAVE_WAITPID], [/* Define to 1 if you have the `waitpid\' function. */
 #undef HAVE_WAITPID])
-m4trace:configure.in:713: -1- AC_LIBSOURCE([rename.c])
-m4trace:configure.in:713: -1- AH_OUTPUT([HAVE_RENAME], [/* Define to 1 if you have the `rename\' function. */
+m4trace:configure.in:718: -1- AC_LIBSOURCE([rename.c])
+m4trace:configure.in:718: -1- AC_CHECK_FUNCS([rename], [], [_AC_LIBOBJ($ac_func)])
+m4trace:configure.in:718: -1- AH_OUTPUT([HAVE_RENAME], [/* Define to 1 if you have the `rename\' function. */
 #undef HAVE_RENAME])
-m4trace:configure.in:713: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS $ac_func.$ac_objext"])
-m4trace:configure.in:713: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
-m4trace:configure.in:713: -1- m4_pattern_allow([^LIB@&t@OBJS$])
-m4trace:configure.in:716: -1- AH_OUTPUT([HAVE_BCOPY], [/* Define to 1 if you have the `bcopy\' function. */
+m4trace:configure.in:718: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS $ac_func.$ac_objext"])
+m4trace:configure.in:718: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
+m4trace:configure.in:718: -1- m4_pattern_allow([^LIB@&t@OBJS$])
+m4trace:configure.in:725: -1- AC_CHECK_FUNCS([bcopy bzero confstr fnmatch \
+               getaddrinfo gethostbyname getservbyname getservent inet_aton \
+               memmove pathconf putenv raise regcomp regexec \
+               setenv setlinebuf setlocale setvbuf siginterrupt strchr \
+               sysconf tcgetattr times ttyname tzset unsetenv])
+m4trace:configure.in:725: -1- AH_OUTPUT([HAVE_BCOPY], [/* Define to 1 if you have the `bcopy\' function. */
 #undef HAVE_BCOPY])
-m4trace:configure.in:716: -1- AH_OUTPUT([HAVE_BZERO], [/* Define to 1 if you have the `bzero\' function. */
+m4trace:configure.in:725: -1- AH_OUTPUT([HAVE_BZERO], [/* Define to 1 if you have the `bzero\' function. */
 #undef HAVE_BZERO])
-m4trace:configure.in:716: -1- AH_OUTPUT([HAVE_CONFSTR], [/* Define to 1 if you have the `confstr\' function. */
+m4trace:configure.in:725: -1- AH_OUTPUT([HAVE_CONFSTR], [/* Define to 1 if you have the `confstr\' function. */
 #undef HAVE_CONFSTR])
-m4trace:configure.in:716: -1- AH_OUTPUT([HAVE_FNMATCH], [/* Define to 1 if you have the `fnmatch\' function. */
+m4trace:configure.in:725: -1- AH_OUTPUT([HAVE_FNMATCH], [/* Define to 1 if you have the `fnmatch\' function. */
 #undef HAVE_FNMATCH])
-m4trace:configure.in:716: -1- AH_OUTPUT([HAVE_GETADDRINFO], [/* Define to 1 if you have the `getaddrinfo\' function. */
+m4trace:configure.in:725: -1- AH_OUTPUT([HAVE_GETADDRINFO], [/* Define to 1 if you have the `getaddrinfo\' function. */
 #undef HAVE_GETADDRINFO])
-m4trace:configure.in:716: -1- AH_OUTPUT([HAVE_GETHOSTBYNAME], [/* Define to 1 if you have the `gethostbyname\' function. */
+m4trace:configure.in:725: -1- AH_OUTPUT([HAVE_GETHOSTBYNAME], [/* Define to 1 if you have the `gethostbyname\' function. */
 #undef HAVE_GETHOSTBYNAME])
-m4trace:configure.in:716: -1- AH_OUTPUT([HAVE_GETSERVBYNAME], [/* Define to 1 if you have the `getservbyname\' function. */
+m4trace:configure.in:725: -1- AH_OUTPUT([HAVE_GETSERVBYNAME], [/* Define to 1 if you have the `getservbyname\' function. */
 #undef HAVE_GETSERVBYNAME])
-m4trace:configure.in:716: -1- AH_OUTPUT([HAVE_GETSERVENT], [/* Define to 1 if you have the `getservent\' function. */
+m4trace:configure.in:725: -1- AH_OUTPUT([HAVE_GETSERVENT], [/* Define to 1 if you have the `getservent\' function. */
 #undef HAVE_GETSERVENT])
-m4trace:configure.in:716: -1- AH_OUTPUT([HAVE_INET_ATON], [/* Define to 1 if you have the `inet_aton\' function. */
+m4trace:configure.in:725: -1- AH_OUTPUT([HAVE_INET_ATON], [/* Define to 1 if you have the `inet_aton\' function. */
 #undef HAVE_INET_ATON])
-m4trace:configure.in:716: -1- AH_OUTPUT([HAVE_MEMMOVE], [/* Define to 1 if you have the `memmove\' function. */
+m4trace:configure.in:725: -1- AH_OUTPUT([HAVE_MEMMOVE], [/* Define to 1 if you have the `memmove\' function. */
 #undef HAVE_MEMMOVE])
-m4trace:configure.in:716: -1- AH_OUTPUT([HAVE_PATHCONF], [/* Define to 1 if you have the `pathconf\' function. */
+m4trace:configure.in:725: -1- AH_OUTPUT([HAVE_PATHCONF], [/* Define to 1 if you have the `pathconf\' function. */
 #undef HAVE_PATHCONF])
-m4trace:configure.in:716: -1- AH_OUTPUT([HAVE_PUTENV], [/* Define to 1 if you have the `putenv\' function. */
+m4trace:configure.in:725: -1- AH_OUTPUT([HAVE_PUTENV], [/* Define to 1 if you have the `putenv\' function. */
 #undef HAVE_PUTENV])
-m4trace:configure.in:716: -1- AH_OUTPUT([HAVE_RAISE], [/* Define to 1 if you have the `raise\' function. */
+m4trace:configure.in:725: -1- AH_OUTPUT([HAVE_RAISE], [/* Define to 1 if you have the `raise\' function. */
 #undef HAVE_RAISE])
-m4trace:configure.in:716: -1- AH_OUTPUT([HAVE_REGCOMP], [/* Define to 1 if you have the `regcomp\' function. */
+m4trace:configure.in:725: -1- AH_OUTPUT([HAVE_REGCOMP], [/* Define to 1 if you have the `regcomp\' function. */
 #undef HAVE_REGCOMP])
-m4trace:configure.in:716: -1- AH_OUTPUT([HAVE_REGEXEC], [/* Define to 1 if you have the `regexec\' function. */
+m4trace:configure.in:725: -1- AH_OUTPUT([HAVE_REGEXEC], [/* Define to 1 if you have the `regexec\' function. */
 #undef HAVE_REGEXEC])
-m4trace:configure.in:716: -1- AH_OUTPUT([HAVE_SETENV], [/* Define to 1 if you have the `setenv\' function. */
+m4trace:configure.in:725: -1- AH_OUTPUT([HAVE_SETENV], [/* Define to 1 if you have the `setenv\' function. */
 #undef HAVE_SETENV])
-m4trace:configure.in:716: -1- AH_OUTPUT([HAVE_SETLINEBUF], [/* Define to 1 if you have the `setlinebuf\' function. */
+m4trace:configure.in:725: -1- AH_OUTPUT([HAVE_SETLINEBUF], [/* Define to 1 if you have the `setlinebuf\' function. */
 #undef HAVE_SETLINEBUF])
-m4trace:configure.in:716: -1- AH_OUTPUT([HAVE_SETLOCALE], [/* Define to 1 if you have the `setlocale\' function. */
+m4trace:configure.in:725: -1- AH_OUTPUT([HAVE_SETLOCALE], [/* Define to 1 if you have the `setlocale\' function. */
 #undef HAVE_SETLOCALE])
-m4trace:configure.in:716: -1- AH_OUTPUT([HAVE_SETVBUF], [/* Define to 1 if you have the `setvbuf\' function. */
+m4trace:configure.in:725: -1- AH_OUTPUT([HAVE_SETVBUF], [/* Define to 1 if you have the `setvbuf\' function. */
 #undef HAVE_SETVBUF])
-m4trace:configure.in:716: -1- AH_OUTPUT([HAVE_SIGINTERRUPT], [/* Define to 1 if you have the `siginterrupt\' function. */
+m4trace:configure.in:725: -1- AH_OUTPUT([HAVE_SIGINTERRUPT], [/* Define to 1 if you have the `siginterrupt\' function. */
 #undef HAVE_SIGINTERRUPT])
-m4trace:configure.in:716: -1- AH_OUTPUT([HAVE_STRCHR], [/* Define to 1 if you have the `strchr\' function. */
+m4trace:configure.in:725: -1- AH_OUTPUT([HAVE_STRCHR], [/* Define to 1 if you have the `strchr\' function. */
 #undef HAVE_STRCHR])
-m4trace:configure.in:716: -1- AH_OUTPUT([HAVE_SYSCONF], [/* Define to 1 if you have the `sysconf\' function. */
+m4trace:configure.in:725: -1- AH_OUTPUT([HAVE_SYSCONF], [/* Define to 1 if you have the `sysconf\' function. */
 #undef HAVE_SYSCONF])
-m4trace:configure.in:716: -1- AH_OUTPUT([HAVE_TCGETATTR], [/* Define to 1 if you have the `tcgetattr\' function. */
+m4trace:configure.in:725: -1- AH_OUTPUT([HAVE_TCGETATTR], [/* Define to 1 if you have the `tcgetattr\' function. */
 #undef HAVE_TCGETATTR])
-m4trace:configure.in:716: -1- AH_OUTPUT([HAVE_TIMES], [/* Define to 1 if you have the `times\' function. */
+m4trace:configure.in:725: -1- AH_OUTPUT([HAVE_TIMES], [/* Define to 1 if you have the `times\' function. */
 #undef HAVE_TIMES])
-m4trace:configure.in:716: -1- AH_OUTPUT([HAVE_TTYNAME], [/* Define to 1 if you have the `ttyname\' function. */
+m4trace:configure.in:725: -1- AH_OUTPUT([HAVE_TTYNAME], [/* Define to 1 if you have the `ttyname\' function. */
 #undef HAVE_TTYNAME])
-m4trace:configure.in:716: -1- AH_OUTPUT([HAVE_TZSET], [/* Define to 1 if you have the `tzset\' function. */
+m4trace:configure.in:725: -1- AH_OUTPUT([HAVE_TZSET], [/* Define to 1 if you have the `tzset\' function. */
 #undef HAVE_TZSET])
-m4trace:configure.in:716: -1- AH_OUTPUT([HAVE_UNSETENV], [/* Define to 1 if you have the `unsetenv\' function. */
+m4trace:configure.in:725: -1- AH_OUTPUT([HAVE_UNSETENV], [/* Define to 1 if you have the `unsetenv\' function. */
 #undef HAVE_UNSETENV])
-m4trace:configure.in:722: -1- AH_OUTPUT([HAVE_VSNPRINTF], [/* Define to 1 if you have the `vsnprintf\' function. */
+m4trace:configure.in:727: -1- AC_CHECK_FUNCS([vsnprintf snprintf vasprintf asprintf])
+m4trace:configure.in:727: -1- AH_OUTPUT([HAVE_VSNPRINTF], [/* Define to 1 if you have the `vsnprintf\' function. */
 #undef HAVE_VSNPRINTF])
-m4trace:configure.in:722: -1- AH_OUTPUT([HAVE_SNPRINTF], [/* Define to 1 if you have the `snprintf\' function. */
+m4trace:configure.in:727: -1- AH_OUTPUT([HAVE_SNPRINTF], [/* Define to 1 if you have the `snprintf\' function. */
 #undef HAVE_SNPRINTF])
-m4trace:configure.in:722: -1- AH_OUTPUT([HAVE_VASPRINTF], [/* Define to 1 if you have the `vasprintf\' function. */
+m4trace:configure.in:727: -1- AH_OUTPUT([HAVE_VASPRINTF], [/* Define to 1 if you have the `vasprintf\' function. */
 #undef HAVE_VASPRINTF])
-m4trace:configure.in:722: -1- AH_OUTPUT([HAVE_ASPRINTF], [/* Define to 1 if you have the `asprintf\' function. */
+m4trace:configure.in:727: -1- AH_OUTPUT([HAVE_ASPRINTF], [/* Define to 1 if you have the `asprintf\' function. */
 #undef HAVE_ASPRINTF])
-m4trace:configure.in:723: -1- AH_OUTPUT([HAVE_ISASCII], [/* Define to 1 if you have the `isascii\' function. */
+m4trace:configure.in:728: -1- AC_CHECK_FUNCS([isascii isblank isgraph isprint isspace isxdigit])
+m4trace:configure.in:728: -1- AH_OUTPUT([HAVE_ISASCII], [/* Define to 1 if you have the `isascii\' function. */
 #undef HAVE_ISASCII])
-m4trace:configure.in:723: -1- AH_OUTPUT([HAVE_ISBLANK], [/* Define to 1 if you have the `isblank\' function. */
+m4trace:configure.in:728: -1- AH_OUTPUT([HAVE_ISBLANK], [/* Define to 1 if you have the `isblank\' function. */
 #undef HAVE_ISBLANK])
-m4trace:configure.in:723: -1- AH_OUTPUT([HAVE_ISGRAPH], [/* Define to 1 if you have the `isgraph\' function. */
+m4trace:configure.in:728: -1- AH_OUTPUT([HAVE_ISGRAPH], [/* Define to 1 if you have the `isgraph\' function. */
 #undef HAVE_ISGRAPH])
-m4trace:configure.in:723: -1- AH_OUTPUT([HAVE_ISPRINT], [/* Define to 1 if you have the `isprint\' function. */
+m4trace:configure.in:728: -1- AH_OUTPUT([HAVE_ISPRINT], [/* Define to 1 if you have the `isprint\' function. */
 #undef HAVE_ISPRINT])
-m4trace:configure.in:723: -1- AH_OUTPUT([HAVE_ISSPACE], [/* Define to 1 if you have the `isspace\' function. */
+m4trace:configure.in:728: -1- AH_OUTPUT([HAVE_ISSPACE], [/* Define to 1 if you have the `isspace\' function. */
 #undef HAVE_ISSPACE])
-m4trace:configure.in:723: -1- AH_OUTPUT([HAVE_ISXDIGIT], [/* Define to 1 if you have the `isxdigit\' function. */
+m4trace:configure.in:728: -1- AH_OUTPUT([HAVE_ISXDIGIT], [/* Define to 1 if you have the `isxdigit\' function. */
 #undef HAVE_ISXDIGIT])
-m4trace:configure.in:724: -1- AH_OUTPUT([HAVE_GETPWENT], [/* Define to 1 if you have the `getpwent\' function. */
+m4trace:configure.in:729: -1- AC_CHECK_FUNCS([getpwent getpwnam getpwuid])
+m4trace:configure.in:729: -1- AH_OUTPUT([HAVE_GETPWENT], [/* Define to 1 if you have the `getpwent\' function. */
 #undef HAVE_GETPWENT])
-m4trace:configure.in:724: -1- AH_OUTPUT([HAVE_GETPWNAM], [/* Define to 1 if you have the `getpwnam\' function. */
+m4trace:configure.in:729: -1- AH_OUTPUT([HAVE_GETPWNAM], [/* Define to 1 if you have the `getpwnam\' function. */
 #undef HAVE_GETPWNAM])
-m4trace:configure.in:724: -1- AH_OUTPUT([HAVE_GETPWUID], [/* Define to 1 if you have the `getpwuid\' function. */
+m4trace:configure.in:729: -1- AH_OUTPUT([HAVE_GETPWUID], [/* Define to 1 if you have the `getpwuid\' function. */
 #undef HAVE_GETPWUID])
-m4trace:configure.in:725: -1- AC_LIBSOURCE([getcwd.c])
-m4trace:configure.in:725: -1- AC_LIBSOURCE([memset.c])
-m4trace:configure.in:725: -1- AC_LIBSOURCE([strcasecmp.c])
-m4trace:configure.in:725: -1- AC_LIBSOURCE([strerror.c])
-m4trace:configure.in:725: -1- AC_LIBSOURCE([strftime.c])
-m4trace:configure.in:725: -1- AC_LIBSOURCE([strnlen.c])
-m4trace:configure.in:725: -1- AC_LIBSOURCE([strpbrk.c])
-m4trace:configure.in:725: -1- AC_LIBSOURCE([strstr.c])
-m4trace:configure.in:725: -1- AH_OUTPUT([HAVE_GETCWD], [/* Define to 1 if you have the `getcwd\' function. */
+m4trace:configure.in:730: -1- AC_LIBSOURCE([getcwd.c])
+m4trace:configure.in:730: -1- AC_LIBSOURCE([memset.c])
+m4trace:configure.in:730: -1- AC_LIBSOURCE([strcasecmp.c])
+m4trace:configure.in:730: -1- AC_LIBSOURCE([strerror.c])
+m4trace:configure.in:730: -1- AC_LIBSOURCE([strftime.c])
+m4trace:configure.in:730: -1- AC_LIBSOURCE([strnlen.c])
+m4trace:configure.in:730: -1- AC_LIBSOURCE([strpbrk.c])
+m4trace:configure.in:730: -1- AC_LIBSOURCE([strstr.c])
+m4trace:configure.in:730: -1- AC_CHECK_FUNCS([getcwd memset strcasecmp strerror strftime strnlen strpbrk strstr], [], [_AC_LIBOBJ($ac_func)])
+m4trace:configure.in:730: -1- AH_OUTPUT([HAVE_GETCWD], [/* Define to 1 if you have the `getcwd\' function. */
 #undef HAVE_GETCWD])
-m4trace:configure.in:725: -1- AH_OUTPUT([HAVE_MEMSET], [/* Define to 1 if you have the `memset\' function. */
+m4trace:configure.in:730: -1- AH_OUTPUT([HAVE_MEMSET], [/* Define to 1 if you have the `memset\' function. */
 #undef HAVE_MEMSET])
-m4trace:configure.in:725: -1- AH_OUTPUT([HAVE_STRCASECMP], [/* Define to 1 if you have the `strcasecmp\' function. */
+m4trace:configure.in:730: -1- AH_OUTPUT([HAVE_STRCASECMP], [/* Define to 1 if you have the `strcasecmp\' function. */
 #undef HAVE_STRCASECMP])
-m4trace:configure.in:725: -1- AH_OUTPUT([HAVE_STRERROR], [/* Define to 1 if you have the `strerror\' function. */
+m4trace:configure.in:730: -1- AH_OUTPUT([HAVE_STRERROR], [/* Define to 1 if you have the `strerror\' function. */
 #undef HAVE_STRERROR])
-m4trace:configure.in:725: -1- AH_OUTPUT([HAVE_STRFTIME], [/* Define to 1 if you have the `strftime\' function. */
+m4trace:configure.in:730: -1- AH_OUTPUT([HAVE_STRFTIME], [/* Define to 1 if you have the `strftime\' function. */
 #undef HAVE_STRFTIME])
-m4trace:configure.in:725: -1- AH_OUTPUT([HAVE_STRNLEN], [/* Define to 1 if you have the `strnlen\' function. */
+m4trace:configure.in:730: -1- AH_OUTPUT([HAVE_STRNLEN], [/* Define to 1 if you have the `strnlen\' function. */
 #undef HAVE_STRNLEN])
-m4trace:configure.in:725: -1- AH_OUTPUT([HAVE_STRPBRK], [/* Define to 1 if you have the `strpbrk\' function. */
+m4trace:configure.in:730: -1- AH_OUTPUT([HAVE_STRPBRK], [/* Define to 1 if you have the `strpbrk\' function. */
 #undef HAVE_STRPBRK])
-m4trace:configure.in:725: -1- AH_OUTPUT([HAVE_STRSTR], [/* Define to 1 if you have the `strstr\' function. */
+m4trace:configure.in:730: -1- AH_OUTPUT([HAVE_STRSTR], [/* Define to 1 if you have the `strstr\' function. */
 #undef HAVE_STRSTR])
-m4trace:configure.in:725: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS $ac_func.$ac_objext"])
-m4trace:configure.in:725: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
-m4trace:configure.in:725: -1- m4_pattern_allow([^LIB@&t@OBJS$])
-m4trace:configure.in:726: -1- AC_LIBSOURCE([strtod.c])
-m4trace:configure.in:726: -1- AC_LIBSOURCE([strtol.c])
-m4trace:configure.in:726: -1- AC_LIBSOURCE([strtoul.c])
-m4trace:configure.in:726: -1- AC_LIBSOURCE([strtoll.c])
-m4trace:configure.in:726: -1- AC_LIBSOURCE([strtoull.c])
-m4trace:configure.in:726: -1- AC_LIBSOURCE([strtoimax.c])
-m4trace:configure.in:726: -1- AC_LIBSOURCE([strtoumax.c])
-m4trace:configure.in:726: -1- AH_OUTPUT([HAVE_STRTOD], [/* Define to 1 if you have the `strtod\' function. */
+m4trace:configure.in:730: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS $ac_func.$ac_objext"])
+m4trace:configure.in:730: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
+m4trace:configure.in:730: -1- m4_pattern_allow([^LIB@&t@OBJS$])
+m4trace:configure.in:731: -1- AC_LIBSOURCE([strtod.c])
+m4trace:configure.in:731: -1- AC_LIBSOURCE([strtol.c])
+m4trace:configure.in:731: -1- AC_LIBSOURCE([strtoul.c])
+m4trace:configure.in:731: -1- AC_LIBSOURCE([strtoll.c])
+m4trace:configure.in:731: -1- AC_LIBSOURCE([strtoull.c])
+m4trace:configure.in:731: -1- AC_LIBSOURCE([strtoimax.c])
+m4trace:configure.in:731: -1- AC_LIBSOURCE([strtoumax.c])
+m4trace:configure.in:731: -1- AC_CHECK_FUNCS([strtod strtol strtoul strtoll strtoull strtoimax strtoumax], [], [_AC_LIBOBJ($ac_func)])
+m4trace:configure.in:731: -1- AH_OUTPUT([HAVE_STRTOD], [/* Define to 1 if you have the `strtod\' function. */
 #undef HAVE_STRTOD])
-m4trace:configure.in:726: -1- AH_OUTPUT([HAVE_STRTOL], [/* Define to 1 if you have the `strtol\' function. */
+m4trace:configure.in:731: -1- AH_OUTPUT([HAVE_STRTOL], [/* Define to 1 if you have the `strtol\' function. */
 #undef HAVE_STRTOL])
-m4trace:configure.in:726: -1- AH_OUTPUT([HAVE_STRTOUL], [/* Define to 1 if you have the `strtoul\' function. */
+m4trace:configure.in:731: -1- AH_OUTPUT([HAVE_STRTOUL], [/* Define to 1 if you have the `strtoul\' function. */
 #undef HAVE_STRTOUL])
-m4trace:configure.in:726: -1- AH_OUTPUT([HAVE_STRTOLL], [/* Define to 1 if you have the `strtoll\' function. */
+m4trace:configure.in:731: -1- AH_OUTPUT([HAVE_STRTOLL], [/* Define to 1 if you have the `strtoll\' function. */
 #undef HAVE_STRTOLL])
-m4trace:configure.in:726: -1- AH_OUTPUT([HAVE_STRTOULL], [/* Define to 1 if you have the `strtoull\' function. */
+m4trace:configure.in:731: -1- AH_OUTPUT([HAVE_STRTOULL], [/* Define to 1 if you have the `strtoull\' function. */
 #undef HAVE_STRTOULL])
-m4trace:configure.in:726: -1- AH_OUTPUT([HAVE_STRTOIMAX], [/* Define to 1 if you have the `strtoimax\' function. */
+m4trace:configure.in:731: -1- AH_OUTPUT([HAVE_STRTOIMAX], [/* Define to 1 if you have the `strtoimax\' function. */
 #undef HAVE_STRTOIMAX])
-m4trace:configure.in:726: -1- AH_OUTPUT([HAVE_STRTOUMAX], [/* Define to 1 if you have the `strtoumax\' function. */
+m4trace:configure.in:731: -1- AH_OUTPUT([HAVE_STRTOUMAX], [/* Define to 1 if you have the `strtoumax\' function. */
 #undef HAVE_STRTOUMAX])
-m4trace:configure.in:726: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS $ac_func.$ac_objext"])
-m4trace:configure.in:726: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
-m4trace:configure.in:726: -1- m4_pattern_allow([^LIB@&t@OBJS$])
-m4trace:configure.in:728: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_CONFSTR])
-m4trace:configure.in:728: -1- m4_pattern_allow([^HAVE_DECL_CONFSTR$])
-m4trace:configure.in:728: -1- AH_OUTPUT([HAVE_DECL_CONFSTR], [/* Define to 1 if you have the declaration of `confstr\', and to 0 if you
+m4trace:configure.in:731: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS $ac_func.$ac_objext"])
+m4trace:configure.in:731: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
+m4trace:configure.in:731: -1- m4_pattern_allow([^LIB@&t@OBJS$])
+m4trace:configure.in:732: -1- AC_LIBSOURCE([fdprintf.c])
+m4trace:configure.in:732: -1- AC_CHECK_FUNCS([fdprintf], [], [_AC_LIBOBJ($ac_func)])
+m4trace:configure.in:732: -1- AH_OUTPUT([HAVE_FDPRINTF], [/* Define to 1 if you have the `fdprintf\' function. */
+#undef HAVE_FDPRINTF])
+m4trace:configure.in:732: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS $ac_func.$ac_objext"])
+m4trace:configure.in:732: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
+m4trace:configure.in:732: -1- m4_pattern_allow([^LIB@&t@OBJS$])
+m4trace:configure.in:734: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_CONFSTR])
+m4trace:configure.in:734: -1- m4_pattern_allow([^HAVE_DECL_CONFSTR$])
+m4trace:configure.in:734: -1- AH_OUTPUT([HAVE_DECL_CONFSTR], [/* Define to 1 if you have the declaration of `confstr\', and to 0 if you
    don\'t. */
 #undef HAVE_DECL_CONFSTR])
-m4trace:configure.in:728: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_CONFSTR])
-m4trace:configure.in:728: -1- m4_pattern_allow([^HAVE_DECL_CONFSTR$])
-m4trace:configure.in:729: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_PRINTF])
-m4trace:configure.in:729: -1- m4_pattern_allow([^HAVE_DECL_PRINTF$])
-m4trace:configure.in:729: -1- AH_OUTPUT([HAVE_DECL_PRINTF], [/* Define to 1 if you have the declaration of `printf\', and to 0 if you don\'t.
+m4trace:configure.in:734: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_CONFSTR])
+m4trace:configure.in:734: -1- m4_pattern_allow([^HAVE_DECL_CONFSTR$])
+m4trace:configure.in:735: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_PRINTF])
+m4trace:configure.in:735: -1- m4_pattern_allow([^HAVE_DECL_PRINTF$])
+m4trace:configure.in:735: -1- AH_OUTPUT([HAVE_DECL_PRINTF], [/* Define to 1 if you have the declaration of `printf\', and to 0 if you don\'t.
    */
 #undef HAVE_DECL_PRINTF])
-m4trace:configure.in:729: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_PRINTF])
-m4trace:configure.in:729: -1- m4_pattern_allow([^HAVE_DECL_PRINTF$])
-m4trace:configure.in:730: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_SBRK])
-m4trace:configure.in:730: -1- m4_pattern_allow([^HAVE_DECL_SBRK$])
-m4trace:configure.in:730: -1- AH_OUTPUT([HAVE_DECL_SBRK], [/* Define to 1 if you have the declaration of `sbrk\', and to 0 if you don\'t.
+m4trace:configure.in:735: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_PRINTF])
+m4trace:configure.in:735: -1- m4_pattern_allow([^HAVE_DECL_PRINTF$])
+m4trace:configure.in:736: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_SBRK])
+m4trace:configure.in:736: -1- m4_pattern_allow([^HAVE_DECL_SBRK$])
+m4trace:configure.in:736: -1- AH_OUTPUT([HAVE_DECL_SBRK], [/* Define to 1 if you have the declaration of `sbrk\', and to 0 if you don\'t.
    */
 #undef HAVE_DECL_SBRK])
-m4trace:configure.in:730: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_SBRK])
-m4trace:configure.in:730: -1- m4_pattern_allow([^HAVE_DECL_SBRK$])
-m4trace:configure.in:731: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_SETREGID])
-m4trace:configure.in:731: -1- m4_pattern_allow([^HAVE_DECL_SETREGID$])
-m4trace:configure.in:731: -1- AH_OUTPUT([HAVE_DECL_SETREGID], [/* Define to 1 if you have the declaration of `setregid\', and to 0 if you
+m4trace:configure.in:736: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_SBRK])
+m4trace:configure.in:736: -1- m4_pattern_allow([^HAVE_DECL_SBRK$])
+m4trace:configure.in:737: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_SETREGID])
+m4trace:configure.in:737: -1- m4_pattern_allow([^HAVE_DECL_SETREGID$])
+m4trace:configure.in:737: -1- AH_OUTPUT([HAVE_DECL_SETREGID], [/* Define to 1 if you have the declaration of `setregid\', and to 0 if you
    don\'t. */
 #undef HAVE_DECL_SETREGID])
-m4trace:configure.in:731: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_SETREGID])
-m4trace:configure.in:731: -1- m4_pattern_allow([^HAVE_DECL_SETREGID$])
-m4trace:configure.in:732: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_STRCPY])
-m4trace:configure.in:732: -1- m4_pattern_allow([^HAVE_DECL_STRCPY$])
-m4trace:configure.in:732: -1- AH_OUTPUT([HAVE_DECL_STRCPY], [/* Define to 1 if you have the declaration of `strcpy\', and to 0 if you don\'t.
+m4trace:configure.in:737: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_SETREGID])
+m4trace:configure.in:737: -1- m4_pattern_allow([^HAVE_DECL_SETREGID$])
+m4trace:configure.in:738: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_STRCPY])
+m4trace:configure.in:738: -1- m4_pattern_allow([^HAVE_DECL_STRCPY$])
+m4trace:configure.in:738: -1- AH_OUTPUT([HAVE_DECL_STRCPY], [/* Define to 1 if you have the declaration of `strcpy\', and to 0 if you don\'t.
    */
 #undef HAVE_DECL_STRCPY])
-m4trace:configure.in:732: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_STRCPY])
-m4trace:configure.in:732: -1- m4_pattern_allow([^HAVE_DECL_STRCPY$])
-m4trace:configure.in:733: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_STRSIGNAL])
-m4trace:configure.in:733: -1- m4_pattern_allow([^HAVE_DECL_STRSIGNAL$])
-m4trace:configure.in:733: -1- AH_OUTPUT([HAVE_DECL_STRSIGNAL], [/* Define to 1 if you have the declaration of `strsignal\', and to 0 if you
+m4trace:configure.in:738: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_STRCPY])
+m4trace:configure.in:738: -1- m4_pattern_allow([^HAVE_DECL_STRCPY$])
+m4trace:configure.in:739: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_STRSIGNAL])
+m4trace:configure.in:739: -1- m4_pattern_allow([^HAVE_DECL_STRSIGNAL$])
+m4trace:configure.in:739: -1- AH_OUTPUT([HAVE_DECL_STRSIGNAL], [/* Define to 1 if you have the declaration of `strsignal\', and to 0 if you
    don\'t. */
 #undef HAVE_DECL_STRSIGNAL])
-m4trace:configure.in:733: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_STRSIGNAL])
-m4trace:configure.in:733: -1- m4_pattern_allow([^HAVE_DECL_STRSIGNAL$])
-m4trace:configure.in:736: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_STRTOLD])
-m4trace:configure.in:736: -1- m4_pattern_allow([^HAVE_DECL_STRTOLD$])
-m4trace:configure.in:736: -1- AH_OUTPUT([HAVE_DECL_STRTOLD], [/* Define to 1 if you have the declaration of `strtold\', and to 0 if you
+m4trace:configure.in:739: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_STRSIGNAL])
+m4trace:configure.in:739: -1- m4_pattern_allow([^HAVE_DECL_STRSIGNAL$])
+m4trace:configure.in:756: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_STRTOLD])
+m4trace:configure.in:756: -1- m4_pattern_allow([^HAVE_DECL_STRTOLD$])
+m4trace:configure.in:756: -1- AH_OUTPUT([HAVE_DECL_STRTOLD], [/* Define to 1 if you have the declaration of `strtold\', and to 0 if you
    don\'t. */
 #undef HAVE_DECL_STRTOLD])
-m4trace:configure.in:736: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
-You should run autoupdate.], [autoconf/general.m4:2368: AC_TRY_COMPILE is expanded from...
-../../lib/m4sugar/m4sh.m4:523: AS_IF is expanded from...
-autoconf/general.m4:1905: AC_CACHE_VAL is expanded from...
-../../lib/m4sugar/m4sh.m4:523: AS_IF is expanded from...
-autoconf/general.m4:2542: AC_CHECK_DECL is expanded from...
-autoconf/general.m4:2562: AC_CHECK_DECLS is expanded from...
-configure.in:736: the top level])
-m4trace:configure.in:736: -1- AC_DEFINE_TRACE_LITERAL([STRTOLD_BROKEN])
-m4trace:configure.in:736: -1- m4_pattern_allow([^STRTOLD_BROKEN$])
-m4trace:configure.in:736: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_STRTOLD])
-m4trace:configure.in:736: -1- m4_pattern_allow([^HAVE_DECL_STRTOLD$])
-m4trace:configure.in:753: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
-You should run autoupdate.], [autoconf/general.m4:2415: AC_TRY_LINK is expanded from...
-../../lib/m4sugar/m4sh.m4:523: AS_IF is expanded from...
-autoconf/general.m4:1905: AC_CACHE_VAL is expanded from...
-autoconf/general.m4:1918: AC_CACHE_CHECK is expanded from...
-aclocal.m4:100: BASH_CHECK_DECL is expanded from...
-configure.in:753: the top level])
-m4trace:configure.in:754: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
-You should run autoupdate.], [autoconf/general.m4:2415: AC_TRY_LINK is expanded from...
-../../lib/m4sugar/m4sh.m4:523: AS_IF is expanded from...
-autoconf/general.m4:1905: AC_CACHE_VAL is expanded from...
-autoconf/general.m4:1918: AC_CACHE_CHECK is expanded from...
-aclocal.m4:100: BASH_CHECK_DECL is expanded from...
-configure.in:754: the top level])
-m4trace:configure.in:755: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
-You should run autoupdate.], [autoconf/general.m4:2415: AC_TRY_LINK is expanded from...
-../../lib/m4sugar/m4sh.m4:523: AS_IF is expanded from...
-autoconf/general.m4:1905: AC_CACHE_VAL is expanded from...
-autoconf/general.m4:1918: AC_CACHE_CHECK is expanded from...
-aclocal.m4:100: BASH_CHECK_DECL is expanded from...
-configure.in:755: the top level])
-m4trace:configure.in:756: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
-You should run autoupdate.], [autoconf/general.m4:2415: AC_TRY_LINK is expanded from...
-../../lib/m4sugar/m4sh.m4:523: AS_IF is expanded from...
-autoconf/general.m4:1905: AC_CACHE_VAL is expanded from...
-autoconf/general.m4:1918: AC_CACHE_CHECK is expanded from...
-aclocal.m4:100: BASH_CHECK_DECL is expanded from...
+m4trace:configure.in:756: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
+You should run autoupdate.], [autoconf/general.m4:2384: AC_TRY_COMPILE is expanded from...
+../../lib/m4sugar/m4sh.m4:519: AS_IF is expanded from...
+autoconf/general.m4:1922: AC_CACHE_VAL is expanded from...
+../../lib/m4sugar/m4sh.m4:519: AS_IF is expanded from...
+autoconf/general.m4:2554: AC_CHECK_DECL is expanded from...
+autoconf/general.m4:2574: AC_CHECK_DECLS is expanded from...
 configure.in:756: the top level])
-m4trace:configure.in:757: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
-You should run autoupdate.], [autoconf/general.m4:2415: AC_TRY_LINK is expanded from...
-../../lib/m4sugar/m4sh.m4:523: AS_IF is expanded from...
-autoconf/general.m4:1905: AC_CACHE_VAL is expanded from...
-autoconf/general.m4:1918: AC_CACHE_CHECK is expanded from...
-aclocal.m4:100: BASH_CHECK_DECL is expanded from...
-configure.in:757: the top level])
-m4trace:configure.in:758: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
-You should run autoupdate.], [autoconf/general.m4:2415: AC_TRY_LINK is expanded from...
-../../lib/m4sugar/m4sh.m4:523: AS_IF is expanded from...
-autoconf/general.m4:1905: AC_CACHE_VAL is expanded from...
-autoconf/general.m4:1918: AC_CACHE_CHECK is expanded from...
-aclocal.m4:100: BASH_CHECK_DECL is expanded from...
-configure.in:758: the top level])
-m4trace:configure.in:760: -1- AH_OUTPUT([HAVE_SYS_TIME_H], [/* Define to 1 if you have the <sys/time.h> header file. */
+m4trace:configure.in:756: -1- AC_DEFINE_TRACE_LITERAL([STRTOLD_BROKEN])
+m4trace:configure.in:756: -1- m4_pattern_allow([^STRTOLD_BROKEN$])
+m4trace:configure.in:756: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_STRTOLD])
+m4trace:configure.in:756: -1- m4_pattern_allow([^HAVE_DECL_STRTOLD$])
+m4trace:configure.in:759: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+You should run autoupdate.], [autoconf/general.m4:2426: AC_TRY_LINK is expanded from...
+../../lib/m4sugar/m4sh.m4:519: AS_IF is expanded from...
+autoconf/general.m4:1922: AC_CACHE_VAL is expanded from...
+autoconf/general.m4:1935: AC_CACHE_CHECK is expanded from...
+aclocal.m4:122: BASH_CHECK_DECL is expanded from...
+configure.in:759: the top level])
+m4trace:configure.in:760: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+You should run autoupdate.], [autoconf/general.m4:2426: AC_TRY_LINK is expanded from...
+../../lib/m4sugar/m4sh.m4:519: AS_IF is expanded from...
+autoconf/general.m4:1922: AC_CACHE_VAL is expanded from...
+autoconf/general.m4:1935: AC_CACHE_CHECK is expanded from...
+aclocal.m4:122: BASH_CHECK_DECL is expanded from...
+configure.in:760: the top level])
+m4trace:configure.in:761: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+You should run autoupdate.], [autoconf/general.m4:2426: AC_TRY_LINK is expanded from...
+../../lib/m4sugar/m4sh.m4:519: AS_IF is expanded from...
+autoconf/general.m4:1922: AC_CACHE_VAL is expanded from...
+autoconf/general.m4:1935: AC_CACHE_CHECK is expanded from...
+aclocal.m4:122: BASH_CHECK_DECL is expanded from...
+configure.in:761: the top level])
+m4trace:configure.in:762: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+You should run autoupdate.], [autoconf/general.m4:2426: AC_TRY_LINK is expanded from...
+../../lib/m4sugar/m4sh.m4:519: AS_IF is expanded from...
+autoconf/general.m4:1922: AC_CACHE_VAL is expanded from...
+autoconf/general.m4:1935: AC_CACHE_CHECK is expanded from...
+aclocal.m4:122: BASH_CHECK_DECL is expanded from...
+configure.in:762: the top level])
+m4trace:configure.in:763: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+You should run autoupdate.], [autoconf/general.m4:2426: AC_TRY_LINK is expanded from...
+../../lib/m4sugar/m4sh.m4:519: AS_IF is expanded from...
+autoconf/general.m4:1922: AC_CACHE_VAL is expanded from...
+autoconf/general.m4:1935: AC_CACHE_CHECK is expanded from...
+aclocal.m4:122: BASH_CHECK_DECL is expanded from...
+configure.in:763: the top level])
+m4trace:configure.in:764: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+You should run autoupdate.], [autoconf/general.m4:2426: AC_TRY_LINK is expanded from...
+../../lib/m4sugar/m4sh.m4:519: AS_IF is expanded from...
+autoconf/general.m4:1922: AC_CACHE_VAL is expanded from...
+autoconf/general.m4:1935: AC_CACHE_CHECK is expanded from...
+aclocal.m4:122: BASH_CHECK_DECL is expanded from...
+configure.in:764: the top level])
+m4trace:configure.in:766: -1- AC_FUNC_MKTIME
+m4trace:configure.in:766: -1- AC_CHECK_HEADERS([stdlib.h sys/time.h unistd.h])
+m4trace:configure.in:766: -1- AH_OUTPUT([HAVE_STDLIB_H], [/* Define to 1 if you have the <stdlib.h> header file. */
+#undef HAVE_STDLIB_H])
+m4trace:configure.in:766: -1- AH_OUTPUT([HAVE_SYS_TIME_H], [/* Define to 1 if you have the <sys/time.h> header file. */
 #undef HAVE_SYS_TIME_H])
-m4trace:configure.in:760: -1- AH_OUTPUT([HAVE_UNISTD_H], [/* Define to 1 if you have the <unistd.h> header file. */
+m4trace:configure.in:766: -1- AH_OUTPUT([HAVE_UNISTD_H], [/* Define to 1 if you have the <unistd.h> header file. */
 #undef HAVE_UNISTD_H])
-m4trace:configure.in:760: -1- AH_OUTPUT([HAVE_ALARM], [/* Define to 1 if you have the `alarm\' function. */
+m4trace:configure.in:766: -1- AC_CHECK_FUNCS([alarm])
+m4trace:configure.in:766: -1- AH_OUTPUT([HAVE_ALARM], [/* Define to 1 if you have the `alarm\' function. */
 #undef HAVE_ALARM])
-m4trace:configure.in:760: -1- AC_LIBSOURCE([mktime.c])
-m4trace:configure.in:760: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS mktime.$ac_objext"])
-m4trace:configure.in:760: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
-m4trace:configure.in:760: -1- m4_pattern_allow([^LIB@&t@OBJS$])
-m4trace:configure.in:767: -1- AH_OUTPUT([HAVE_ARGZ_H], [/* Define to 1 if you have the <argz.h> header file. */
+m4trace:configure.in:766: -1- AC_LIBSOURCE([mktime.c])
+m4trace:configure.in:766: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS mktime.$ac_objext"])
+m4trace:configure.in:766: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
+m4trace:configure.in:766: -1- m4_pattern_allow([^LIB@&t@OBJS$])
+m4trace:configure.in:773: -1- AC_CHECK_HEADERS([argz.h errno.h fcntl.h malloc.h stdio_ext.h])
+m4trace:configure.in:773: -1- AH_OUTPUT([HAVE_ARGZ_H], [/* Define to 1 if you have the <argz.h> header file. */
 #undef HAVE_ARGZ_H])
-m4trace:configure.in:767: -1- AH_OUTPUT([HAVE_ERRNO_H], [/* Define to 1 if you have the <errno.h> header file. */
+m4trace:configure.in:773: -1- AH_OUTPUT([HAVE_ERRNO_H], [/* Define to 1 if you have the <errno.h> header file. */
 #undef HAVE_ERRNO_H])
-m4trace:configure.in:767: -1- AH_OUTPUT([HAVE_FCNTL_H], [/* Define to 1 if you have the <fcntl.h> header file. */
+m4trace:configure.in:773: -1- AH_OUTPUT([HAVE_FCNTL_H], [/* Define to 1 if you have the <fcntl.h> header file. */
 #undef HAVE_FCNTL_H])
-m4trace:configure.in:767: -1- AH_OUTPUT([HAVE_MALLOC_H], [/* Define to 1 if you have the <malloc.h> header file. */
+m4trace:configure.in:773: -1- AH_OUTPUT([HAVE_MALLOC_H], [/* Define to 1 if you have the <malloc.h> header file. */
 #undef HAVE_MALLOC_H])
-m4trace:configure.in:767: -1- AH_OUTPUT([HAVE_STDIO_EXT_H], [/* Define to 1 if you have the <stdio_ext.h> header file. */
+m4trace:configure.in:773: -1- AH_OUTPUT([HAVE_STDIO_EXT_H], [/* Define to 1 if you have the <stdio_ext.h> header file. */
 #undef HAVE_STDIO_EXT_H])
-m4trace:configure.in:770: -1- AH_OUTPUT([HAVE_STDLIB_H], [/* Define to 1 if you have the <stdlib.h> header file. */
+m4trace:configure.in:776: -1- AC_FUNC_MMAP
+m4trace:configure.in:776: -1- AC_CHECK_HEADERS([stdlib.h unistd.h])
+m4trace:configure.in:776: -1- AH_OUTPUT([HAVE_STDLIB_H], [/* Define to 1 if you have the <stdlib.h> header file. */
 #undef HAVE_STDLIB_H])
-m4trace:configure.in:770: -1- AH_OUTPUT([HAVE_UNISTD_H], [/* Define to 1 if you have the <unistd.h> header file. */
+m4trace:configure.in:776: -1- AH_OUTPUT([HAVE_UNISTD_H], [/* Define to 1 if you have the <unistd.h> header file. */
 #undef HAVE_UNISTD_H])
-m4trace:configure.in:770: -1- AH_OUTPUT([HAVE_GETPAGESIZE], [/* Define to 1 if you have the `getpagesize\' function. */
+m4trace:configure.in:776: -1- AC_CHECK_FUNCS([getpagesize])
+m4trace:configure.in:776: -1- AH_OUTPUT([HAVE_GETPAGESIZE], [/* Define to 1 if you have the `getpagesize\' function. */
 #undef HAVE_GETPAGESIZE])
-m4trace:configure.in:770: -1- AC_DEFINE_TRACE_LITERAL([HAVE_MMAP])
-m4trace:configure.in:770: -1- m4_pattern_allow([^HAVE_MMAP$])
-m4trace:configure.in:770: -1- AH_OUTPUT([HAVE_MMAP], [/* Define to 1 if you have a working `mmap\' system call. */
+m4trace:configure.in:776: -1- AC_DEFINE_TRACE_LITERAL([HAVE_MMAP])
+m4trace:configure.in:776: -1- m4_pattern_allow([^HAVE_MMAP$])
+m4trace:configure.in:776: -1- AH_OUTPUT([HAVE_MMAP], [/* Define to 1 if you have a working `mmap\' system call. */
 #undef HAVE_MMAP])
-m4trace:configure.in:771: -1- AH_OUTPUT([HAVE___ARGZ_COUNT], [/* Define to 1 if you have the `__argz_count\' function. */
+m4trace:configure.in:778: -1- AC_CHECK_FUNCS([__argz_count __argz_next __argz_stringify dcgettext mempcpy \
+               munmap stpcpy strcspn strdup])
+m4trace:configure.in:778: -1- AH_OUTPUT([HAVE___ARGZ_COUNT], [/* Define to 1 if you have the `__argz_count\' function. */
 #undef HAVE___ARGZ_COUNT])
-m4trace:configure.in:771: -1- AH_OUTPUT([HAVE___ARGZ_NEXT], [/* Define to 1 if you have the `__argz_next\' function. */
+m4trace:configure.in:778: -1- AH_OUTPUT([HAVE___ARGZ_NEXT], [/* Define to 1 if you have the `__argz_next\' function. */
 #undef HAVE___ARGZ_NEXT])
-m4trace:configure.in:771: -1- AH_OUTPUT([HAVE___ARGZ_STRINGIFY], [/* Define to 1 if you have the `__argz_stringify\' function. */
+m4trace:configure.in:778: -1- AH_OUTPUT([HAVE___ARGZ_STRINGIFY], [/* Define to 1 if you have the `__argz_stringify\' function. */
 #undef HAVE___ARGZ_STRINGIFY])
-m4trace:configure.in:771: -1- AH_OUTPUT([HAVE_DCGETTEXT], [/* Define to 1 if you have the `dcgettext\' function. */
+m4trace:configure.in:778: -1- AH_OUTPUT([HAVE_DCGETTEXT], [/* Define to 1 if you have the `dcgettext\' function. */
 #undef HAVE_DCGETTEXT])
-m4trace:configure.in:771: -1- AH_OUTPUT([HAVE_MEMPCPY], [/* Define to 1 if you have the `mempcpy\' function. */
+m4trace:configure.in:778: -1- AH_OUTPUT([HAVE_MEMPCPY], [/* Define to 1 if you have the `mempcpy\' function. */
 #undef HAVE_MEMPCPY])
-m4trace:configure.in:771: -1- AH_OUTPUT([HAVE_MUNMAP], [/* Define to 1 if you have the `munmap\' function. */
+m4trace:configure.in:778: -1- AH_OUTPUT([HAVE_MUNMAP], [/* Define to 1 if you have the `munmap\' function. */
 #undef HAVE_MUNMAP])
-m4trace:configure.in:771: -1- AH_OUTPUT([HAVE_STPCPY], [/* Define to 1 if you have the `stpcpy\' function. */
+m4trace:configure.in:778: -1- AH_OUTPUT([HAVE_STPCPY], [/* Define to 1 if you have the `stpcpy\' function. */
 #undef HAVE_STPCPY])
-m4trace:configure.in:771: -1- AH_OUTPUT([HAVE_STRCSPN], [/* Define to 1 if you have the `strcspn\' function. */
+m4trace:configure.in:778: -1- AH_OUTPUT([HAVE_STRCSPN], [/* Define to 1 if you have the `strcspn\' function. */
 #undef HAVE_STRCSPN])
-m4trace:configure.in:771: -1- AH_OUTPUT([HAVE_STRDUP], [/* Define to 1 if you have the `strdup\' function. */
+m4trace:configure.in:778: -1- AH_OUTPUT([HAVE_STRDUP], [/* Define to 1 if you have the `strdup\' function. */
 #undef HAVE_STRDUP])
-m4trace:configure.in:780: -1- AC_SUBST([INTL_DEP])
-m4trace:configure.in:780: -1- AC_SUBST_TRACE([INTL_DEP])
-m4trace:configure.in:780: -1- m4_pattern_allow([^INTL_DEP$])
-m4trace:configure.in:781: -1- AC_SUBST([INTL_INC])
-m4trace:configure.in:781: -1- AC_SUBST_TRACE([INTL_INC])
-m4trace:configure.in:781: -1- m4_pattern_allow([^INTL_INC$])
-m4trace:configure.in:782: -1- AC_SUBST([LIBINTL_H])
-m4trace:configure.in:782: -1- AC_SUBST_TRACE([LIBINTL_H])
-m4trace:configure.in:782: -1- m4_pattern_allow([^LIBINTL_H$])
-m4trace:configure.in:788: -1- AH_OUTPUT([HAVE_WCTYPE_H], [/* Define to 1 if you have the <wctype.h> header file. */
+m4trace:configure.in:786: -1- AC_SUBST([INTL_DEP])
+m4trace:configure.in:786: -1- AC_SUBST_TRACE([INTL_DEP])
+m4trace:configure.in:786: -1- m4_pattern_allow([^INTL_DEP$])
+m4trace:configure.in:787: -1- AC_SUBST([INTL_INC])
+m4trace:configure.in:787: -1- AC_SUBST_TRACE([INTL_INC])
+m4trace:configure.in:787: -1- m4_pattern_allow([^INTL_INC$])
+m4trace:configure.in:788: -1- AC_SUBST([LIBINTL_H])
+m4trace:configure.in:788: -1- AC_SUBST_TRACE([LIBINTL_H])
+m4trace:configure.in:788: -1- m4_pattern_allow([^LIBINTL_H$])
+m4trace:configure.in:794: -1- AC_CHECK_HEADERS([wctype.h])
+m4trace:configure.in:794: -1- AH_OUTPUT([HAVE_WCTYPE_H], [/* Define to 1 if you have the <wctype.h> header file. */
 #undef HAVE_WCTYPE_H])
-m4trace:configure.in:788: -1- AH_OUTPUT([HAVE_WCHAR_H], [/* Define to 1 if you have the <wchar.h> header file. */
+m4trace:configure.in:794: -1- AC_CHECK_HEADERS([wchar.h])
+m4trace:configure.in:794: -1- AH_OUTPUT([HAVE_WCHAR_H], [/* Define to 1 if you have the <wchar.h> header file. */
 #undef HAVE_WCHAR_H])
-m4trace:configure.in:788: -1- AH_OUTPUT([HAVE_LANGINFO_H], [/* Define to 1 if you have the <langinfo.h> header file. */
+m4trace:configure.in:794: -1- AC_CHECK_HEADERS([langinfo.h])
+m4trace:configure.in:794: -1- AH_OUTPUT([HAVE_LANGINFO_H], [/* Define to 1 if you have the <langinfo.h> header file. */
 #undef HAVE_LANGINFO_H])
-m4trace:configure.in:788: -2- AC_DEFINE_TRACE_LITERAL([HAVE_MBRLEN])
-m4trace:configure.in:788: -2- m4_pattern_allow([^HAVE_MBRLEN$])
-m4trace:configure.in:788: -2- AC_DEFINE_TRACE_LITERAL([HAVE_MBSCMP])
-m4trace:configure.in:788: -2- m4_pattern_allow([^HAVE_MBSCMP$])
-m4trace:configure.in:788: -2- AC_DEFINE_TRACE_LITERAL([HAVE_MBSRTOWCS])
-m4trace:configure.in:788: -2- m4_pattern_allow([^HAVE_MBSRTOWCS$])
-m4trace:configure.in:788: -2- AC_DEFINE_TRACE_LITERAL([HAVE_WCRTOMB])
-m4trace:configure.in:788: -2- m4_pattern_allow([^HAVE_WCRTOMB$])
-m4trace:configure.in:788: -2- AC_DEFINE_TRACE_LITERAL([HAVE_WCSCOLL])
-m4trace:configure.in:788: -2- m4_pattern_allow([^HAVE_WCSCOLL$])
-m4trace:configure.in:788: -2- AC_DEFINE_TRACE_LITERAL([HAVE_WCSDUP])
-m4trace:configure.in:788: -2- m4_pattern_allow([^HAVE_WCSDUP$])
-m4trace:configure.in:788: -2- AC_DEFINE_TRACE_LITERAL([HAVE_WCWIDTH])
-m4trace:configure.in:788: -2- m4_pattern_allow([^HAVE_WCWIDTH$])
-m4trace:configure.in:788: -2- AC_DEFINE_TRACE_LITERAL([HAVE_WCTYPE])
-m4trace:configure.in:788: -2- m4_pattern_allow([^HAVE_WCTYPE$])
-m4trace:configure.in:788: -1- AC_DEFINE_TRACE_LITERAL([HAVE_MBRTOWC])
-m4trace:configure.in:788: -1- m4_pattern_allow([^HAVE_MBRTOWC$])
-m4trace:configure.in:788: -1- AH_OUTPUT([HAVE_MBRTOWC], [/* Define to 1 if mbrtowc and mbstate_t are properly declared. */
+m4trace:configure.in:794: -2- AC_DEFINE_TRACE_LITERAL([HAVE_MBRLEN])
+m4trace:configure.in:794: -2- m4_pattern_allow([^HAVE_MBRLEN$])
+m4trace:configure.in:794: -2- AC_DEFINE_TRACE_LITERAL([HAVE_MBSCMP])
+m4trace:configure.in:794: -2- m4_pattern_allow([^HAVE_MBSCMP$])
+m4trace:configure.in:794: -2- AC_DEFINE_TRACE_LITERAL([HAVE_MBSRTOWCS])
+m4trace:configure.in:794: -2- m4_pattern_allow([^HAVE_MBSRTOWCS$])
+m4trace:configure.in:794: -2- AC_DEFINE_TRACE_LITERAL([HAVE_WCRTOMB])
+m4trace:configure.in:794: -2- m4_pattern_allow([^HAVE_WCRTOMB$])
+m4trace:configure.in:794: -2- AC_DEFINE_TRACE_LITERAL([HAVE_WCSCOLL])
+m4trace:configure.in:794: -2- m4_pattern_allow([^HAVE_WCSCOLL$])
+m4trace:configure.in:794: -2- AC_DEFINE_TRACE_LITERAL([HAVE_WCSDUP])
+m4trace:configure.in:794: -2- m4_pattern_allow([^HAVE_WCSDUP$])
+m4trace:configure.in:794: -2- AC_DEFINE_TRACE_LITERAL([HAVE_WCWIDTH])
+m4trace:configure.in:794: -2- m4_pattern_allow([^HAVE_WCWIDTH$])
+m4trace:configure.in:794: -2- AC_DEFINE_TRACE_LITERAL([HAVE_WCTYPE])
+m4trace:configure.in:794: -2- m4_pattern_allow([^HAVE_WCTYPE$])
+m4trace:configure.in:794: -1- AC_FUNC_MBRTOWC
+m4trace:configure.in:794: -1- AC_DEFINE_TRACE_LITERAL([HAVE_MBRTOWC])
+m4trace:configure.in:794: -1- m4_pattern_allow([^HAVE_MBRTOWC$])
+m4trace:configure.in:794: -1- AH_OUTPUT([HAVE_MBRTOWC], [/* Define to 1 if mbrtowc and mbstate_t are properly declared. */
 #undef HAVE_MBRTOWC])
-m4trace:configure.in:788: -1- AC_DEFINE_TRACE_LITERAL([HAVE_MBSTATE_T])
-m4trace:configure.in:788: -1- m4_pattern_allow([^HAVE_MBSTATE_T$])
-m4trace:configure.in:788: -1- AH_OUTPUT([HAVE_ISWLOWER], [/* Define to 1 if you have the `iswlower\' function. */
+m4trace:configure.in:794: -1- AC_DEFINE_TRACE_LITERAL([HAVE_MBSTATE_T])
+m4trace:configure.in:794: -1- m4_pattern_allow([^HAVE_MBSTATE_T$])
+m4trace:configure.in:794: -1- AC_CHECK_FUNCS([iswlower iswupper towlower towupper iswctype])
+m4trace:configure.in:794: -1- AH_OUTPUT([HAVE_ISWLOWER], [/* Define to 1 if you have the `iswlower\' function. */
 #undef HAVE_ISWLOWER])
-m4trace:configure.in:788: -1- AH_OUTPUT([HAVE_ISWUPPER], [/* Define to 1 if you have the `iswupper\' function. */
+m4trace:configure.in:794: -1- AH_OUTPUT([HAVE_ISWUPPER], [/* Define to 1 if you have the `iswupper\' function. */
 #undef HAVE_ISWUPPER])
-m4trace:configure.in:788: -1- AH_OUTPUT([HAVE_TOWLOWER], [/* Define to 1 if you have the `towlower\' function. */
+m4trace:configure.in:794: -1- AH_OUTPUT([HAVE_TOWLOWER], [/* Define to 1 if you have the `towlower\' function. */
 #undef HAVE_TOWLOWER])
-m4trace:configure.in:788: -1- AH_OUTPUT([HAVE_TOWUPPER], [/* Define to 1 if you have the `towupper\' function. */
+m4trace:configure.in:794: -1- AH_OUTPUT([HAVE_TOWUPPER], [/* Define to 1 if you have the `towupper\' function. */
 #undef HAVE_TOWUPPER])
-m4trace:configure.in:788: -1- AH_OUTPUT([HAVE_ISWCTYPE], [/* Define to 1 if you have the `iswctype\' function. */
+m4trace:configure.in:794: -1- AH_OUTPUT([HAVE_ISWCTYPE], [/* Define to 1 if you have the `iswctype\' function. */
 #undef HAVE_ISWCTYPE])
-m4trace:configure.in:788: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
-You should run autoupdate.], [autoconf/general.m4:2415: AC_TRY_LINK is expanded from...
-../../lib/m4sugar/m4sh.m4:523: AS_IF is expanded from...
-autoconf/general.m4:1905: AC_CACHE_VAL is expanded from...
-autoconf/general.m4:1918: AC_CACHE_CHECK is expanded from...
-aclocal.m4:1674: BASH_CHECK_MULTIBYTE is expanded from...
-configure.in:788: the top level])
-m4trace:configure.in:788: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LANGINFO_CODESET])
-m4trace:configure.in:788: -1- m4_pattern_allow([^HAVE_LANGINFO_CODESET$])
-m4trace:configure.in:788: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
-You should run autoupdate.], [autoconf/general.m4:2368: AC_TRY_COMPILE is expanded from...
-../../lib/m4sugar/m4sh.m4:523: AS_IF is expanded from...
-autoconf/general.m4:1905: AC_CACHE_VAL is expanded from...
-autoconf/general.m4:1918: AC_CACHE_CHECK is expanded from...
-aclocal.m4:1674: BASH_CHECK_MULTIBYTE is expanded from...
-configure.in:788: the top level])
-m4trace:configure.in:788: -1- AC_DEFINE_TRACE_LITERAL([HAVE_WCHAR_T])
-m4trace:configure.in:788: -1- m4_pattern_allow([^HAVE_WCHAR_T$])
-m4trace:configure.in:788: -1- AH_OUTPUT([HAVE_WCHAR_T], [/* systems should define this type here */
+m4trace:configure.in:794: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+You should run autoupdate.], [autoconf/general.m4:2426: AC_TRY_LINK is expanded from...
+../../lib/m4sugar/m4sh.m4:519: AS_IF is expanded from...
+autoconf/general.m4:1922: AC_CACHE_VAL is expanded from...
+autoconf/general.m4:1935: AC_CACHE_CHECK is expanded from...
+aclocal.m4:1744: BASH_CHECK_MULTIBYTE is expanded from...
+configure.in:794: the top level])
+m4trace:configure.in:794: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LANGINFO_CODESET])
+m4trace:configure.in:794: -1- m4_pattern_allow([^HAVE_LANGINFO_CODESET$])
+m4trace:configure.in:794: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
+You should run autoupdate.], [autoconf/general.m4:2384: AC_TRY_COMPILE is expanded from...
+../../lib/m4sugar/m4sh.m4:519: AS_IF is expanded from...
+autoconf/general.m4:1922: AC_CACHE_VAL is expanded from...
+autoconf/general.m4:1935: AC_CACHE_CHECK is expanded from...
+aclocal.m4:1744: BASH_CHECK_MULTIBYTE is expanded from...
+configure.in:794: the top level])
+m4trace:configure.in:794: -1- AC_DEFINE_TRACE_LITERAL([HAVE_WCHAR_T])
+m4trace:configure.in:794: -1- m4_pattern_allow([^HAVE_WCHAR_T$])
+m4trace:configure.in:794: -1- AH_OUTPUT([HAVE_WCHAR_T], [/* systems should define this type here */
 #undef HAVE_WCHAR_T])
-m4trace:configure.in:788: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
-You should run autoupdate.], [autoconf/general.m4:2368: AC_TRY_COMPILE is expanded from...
-../../lib/m4sugar/m4sh.m4:523: AS_IF is expanded from...
-autoconf/general.m4:1905: AC_CACHE_VAL is expanded from...
-autoconf/general.m4:1918: AC_CACHE_CHECK is expanded from...
-aclocal.m4:1674: BASH_CHECK_MULTIBYTE is expanded from...
-configure.in:788: the top level])
-m4trace:configure.in:788: -1- AC_DEFINE_TRACE_LITERAL([HAVE_WCTYPE_T])
-m4trace:configure.in:788: -1- m4_pattern_allow([^HAVE_WCTYPE_T$])
-m4trace:configure.in:788: -1- AH_OUTPUT([HAVE_WCTYPE_T], [/* systems should define this type here */
+m4trace:configure.in:794: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
+You should run autoupdate.], [autoconf/general.m4:2384: AC_TRY_COMPILE is expanded from...
+../../lib/m4sugar/m4sh.m4:519: AS_IF is expanded from...
+autoconf/general.m4:1922: AC_CACHE_VAL is expanded from...
+autoconf/general.m4:1935: AC_CACHE_CHECK is expanded from...
+aclocal.m4:1744: BASH_CHECK_MULTIBYTE is expanded from...
+configure.in:794: the top level])
+m4trace:configure.in:794: -1- AC_DEFINE_TRACE_LITERAL([HAVE_WCTYPE_T])
+m4trace:configure.in:794: -1- m4_pattern_allow([^HAVE_WCTYPE_T$])
+m4trace:configure.in:794: -1- AH_OUTPUT([HAVE_WCTYPE_T], [/* systems should define this type here */
 #undef HAVE_WCTYPE_T])
-m4trace:configure.in:788: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
-You should run autoupdate.], [autoconf/general.m4:2368: AC_TRY_COMPILE is expanded from...
-../../lib/m4sugar/m4sh.m4:523: AS_IF is expanded from...
-autoconf/general.m4:1905: AC_CACHE_VAL is expanded from...
-autoconf/general.m4:1918: AC_CACHE_CHECK is expanded from...
-aclocal.m4:1674: BASH_CHECK_MULTIBYTE is expanded from...
-configure.in:788: the top level])
-m4trace:configure.in:788: -1- AC_DEFINE_TRACE_LITERAL([HAVE_WINT_T])
-m4trace:configure.in:788: -1- m4_pattern_allow([^HAVE_WINT_T$])
-m4trace:configure.in:788: -1- AH_OUTPUT([HAVE_WINT_T], [/* systems should define this type here */
+m4trace:configure.in:794: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
+You should run autoupdate.], [autoconf/general.m4:2384: AC_TRY_COMPILE is expanded from...
+../../lib/m4sugar/m4sh.m4:519: AS_IF is expanded from...
+autoconf/general.m4:1922: AC_CACHE_VAL is expanded from...
+autoconf/general.m4:1935: AC_CACHE_CHECK is expanded from...
+aclocal.m4:1744: BASH_CHECK_MULTIBYTE is expanded from...
+configure.in:794: the top level])
+m4trace:configure.in:794: -1- AC_DEFINE_TRACE_LITERAL([HAVE_WINT_T])
+m4trace:configure.in:794: -1- m4_pattern_allow([^HAVE_WINT_T$])
+m4trace:configure.in:794: -1- AH_OUTPUT([HAVE_WINT_T], [/* systems should define this type here */
 #undef HAVE_WINT_T])
-m4trace:configure.in:792: -1- AH_OUTPUT([HAVE_LIBDL], [/* Define to 1 if you have the `dl\' library (-ldl). */
+m4trace:configure.in:798: -1- AC_CHECK_LIB([dl], [dlopen])
+m4trace:configure.in:798: -1- AH_OUTPUT([HAVE_LIBDL], [/* Define to 1 if you have the `dl\' library (-ldl). */
 #undef HAVE_LIBDL])
-m4trace:configure.in:792: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBDL])
-m4trace:configure.in:792: -1- m4_pattern_allow([^HAVE_LIBDL$])
-m4trace:configure.in:793: -1- AH_OUTPUT([HAVE_DLOPEN], [/* Define to 1 if you have the `dlopen\' function. */
+m4trace:configure.in:798: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBDL])
+m4trace:configure.in:798: -1- m4_pattern_allow([^HAVE_LIBDL$])
+m4trace:configure.in:799: -1- AC_CHECK_FUNCS([dlopen dlclose dlsym])
+m4trace:configure.in:799: -1- AH_OUTPUT([HAVE_DLOPEN], [/* Define to 1 if you have the `dlopen\' function. */
 #undef HAVE_DLOPEN])
-m4trace:configure.in:793: -1- AH_OUTPUT([HAVE_DLCLOSE], [/* Define to 1 if you have the `dlclose\' function. */
+m4trace:configure.in:799: -1- AH_OUTPUT([HAVE_DLCLOSE], [/* Define to 1 if you have the `dlclose\' function. */
 #undef HAVE_DLCLOSE])
-m4trace:configure.in:793: -1- AH_OUTPUT([HAVE_DLSYM], [/* Define to 1 if you have the `dlsym\' function. */
+m4trace:configure.in:799: -1- AH_OUTPUT([HAVE_DLSYM], [/* Define to 1 if you have the `dlsym\' function. */
 #undef HAVE_DLSYM])
-m4trace:configure.in:797: -1- _m4_warn([obsolete], [The macro `AC_DECL_SYS_SIGLIST' is obsolete.
+m4trace:configure.in:803: -1- AC_DECL_SYS_SIGLIST
+m4trace:configure.in:803: -1- _m4_warn([obsolete], [The macro `AC_DECL_SYS_SIGLIST' is obsolete.
 You should run autoupdate.], [autoconf/specific.m4:70: AC_DECL_SYS_SIGLIST is expanded from...
-configure.in:797: the top level])
-m4trace:configure.in:797: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_SYS_SIGLIST])
-m4trace:configure.in:797: -1- m4_pattern_allow([^HAVE_DECL_SYS_SIGLIST$])
-m4trace:configure.in:797: -1- AH_OUTPUT([HAVE_DECL_SYS_SIGLIST], [/* Define to 1 if you have the declaration of `sys_siglist\', and to 0 if you
+configure.in:803: the top level])
+m4trace:configure.in:803: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_SYS_SIGLIST])
+m4trace:configure.in:803: -1- m4_pattern_allow([^HAVE_DECL_SYS_SIGLIST$])
+m4trace:configure.in:803: -1- AH_OUTPUT([HAVE_DECL_SYS_SIGLIST], [/* Define to 1 if you have the declaration of `sys_siglist\', and to 0 if you
    don\'t. */
 #undef HAVE_DECL_SYS_SIGLIST])
-m4trace:configure.in:797: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_SYS_SIGLIST])
-m4trace:configure.in:797: -1- m4_pattern_allow([^HAVE_DECL_SYS_SIGLIST$])
-m4trace:configure.in:801: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
-You should run autoupdate.], [autoconf/general.m4:2415: AC_TRY_LINK is expanded from...
-../../lib/m4sugar/m4sh.m4:523: AS_IF is expanded from...
-autoconf/general.m4:1905: AC_CACHE_VAL is expanded from...
-autoconf/general.m4:1918: AC_CACHE_CHECK is expanded from...
-aclocal.m4:548: BASH_FUNC_INET_ATON is expanded from...
-configure.in:801: the top level])
-m4trace:configure.in:801: -1- AC_DEFINE_TRACE_LITERAL([HAVE_INET_ATON])
-m4trace:configure.in:801: -1- m4_pattern_allow([^HAVE_INET_ATON$])
-m4trace:configure.in:801: -1- AC_LIBSOURCE([inet_aton.c])
-m4trace:configure.in:801: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS inet_aton.$ac_objext"])
-m4trace:configure.in:801: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
-m4trace:configure.in:801: -1- m4_pattern_allow([^LIB@&t@OBJS$])
-m4trace:configure.in:807: -1- AH_OUTPUT([HAVE_LIBSUN], [/* Define to 1 if you have the `sun\' library (-lsun). */
+m4trace:configure.in:803: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_SYS_SIGLIST])
+m4trace:configure.in:803: -1- m4_pattern_allow([^HAVE_DECL_SYS_SIGLIST$])
+m4trace:configure.in:807: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+You should run autoupdate.], [autoconf/general.m4:2426: AC_TRY_LINK is expanded from...
+../../lib/m4sugar/m4sh.m4:519: AS_IF is expanded from...
+autoconf/general.m4:1922: AC_CACHE_VAL is expanded from...
+autoconf/general.m4:1935: AC_CACHE_CHECK is expanded from...
+aclocal.m4:562: BASH_FUNC_INET_ATON is expanded from...
+configure.in:807: the top level])
+m4trace:configure.in:807: -1- AC_DEFINE_TRACE_LITERAL([HAVE_INET_ATON])
+m4trace:configure.in:807: -1- m4_pattern_allow([^HAVE_INET_ATON$])
+m4trace:configure.in:807: -1- AC_LIBSOURCE([inet_aton.c])
+m4trace:configure.in:807: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS inet_aton.$ac_objext"])
+m4trace:configure.in:807: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
+m4trace:configure.in:807: -1- m4_pattern_allow([^LIB@&t@OBJS$])
+m4trace:configure.in:813: -1- AC_CHECK_LIB([sun], [getpwent])
+m4trace:configure.in:813: -1- AH_OUTPUT([HAVE_LIBSUN], [/* Define to 1 if you have the `sun\' library (-lsun). */
 #undef HAVE_LIBSUN])
-m4trace:configure.in:807: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBSUN])
-m4trace:configure.in:807: -1- m4_pattern_allow([^HAVE_LIBSUN$])
-m4trace:configure.in:812: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBSOCKET])
-m4trace:configure.in:812: -1- m4_pattern_allow([^HAVE_LIBSOCKET$])
-m4trace:configure.in:812: -1- AC_DEFINE_TRACE_LITERAL([HAVE_GETPEERNAME])
-m4trace:configure.in:812: -1- m4_pattern_allow([^HAVE_GETPEERNAME$])
-m4trace:configure.in:816: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
-You should run autoupdate.], [autoconf/general.m4:2415: AC_TRY_LINK is expanded from...
-../../lib/m4sugar/m4sh.m4:523: AS_IF is expanded from...
-autoconf/general.m4:1905: AC_CACHE_VAL is expanded from...
-aclocal.m4:717: BASH_FUNC_GETHOSTBYNAME is expanded from...
-configure.in:816: the top level])
-m4trace:configure.in:816: -1- AC_DEFINE_TRACE_LITERAL([HAVE_GETHOSTBYNAME])
-m4trace:configure.in:816: -1- m4_pattern_allow([^HAVE_GETHOSTBYNAME$])
-m4trace:configure.in:820: -1- AC_DEFINE_TRACE_LITERAL([uid_t])
-m4trace:configure.in:820: -1- m4_pattern_allow([^uid_t$])
-m4trace:configure.in:820: -1- AH_OUTPUT([uid_t], [/* Define to `int\' if <sys/types.h> doesn\'t define. */
+m4trace:configure.in:813: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBSUN])
+m4trace:configure.in:813: -1- m4_pattern_allow([^HAVE_LIBSUN$])
+m4trace:configure.in:818: -1- AC_CHECK_LIB([socket], [getpeername], [bash_cv_have_socklib=yes], [bash_cv_have_socklib=no], [-lnsl])
+m4trace:configure.in:818: -1- AC_CHECK_LIB([nsl], [t_open], [bash_cv_have_libnsl=yes], [bash_cv_have_libnsl=no])
+m4trace:configure.in:818: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBSOCKET])
+m4trace:configure.in:818: -1- m4_pattern_allow([^HAVE_LIBSOCKET$])
+m4trace:configure.in:818: -1- AC_DEFINE_TRACE_LITERAL([HAVE_GETPEERNAME])
+m4trace:configure.in:818: -1- m4_pattern_allow([^HAVE_GETPEERNAME$])
+m4trace:configure.in:822: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+You should run autoupdate.], [autoconf/general.m4:2426: AC_TRY_LINK is expanded from...
+../../lib/m4sugar/m4sh.m4:519: AS_IF is expanded from...
+autoconf/general.m4:1922: AC_CACHE_VAL is expanded from...
+aclocal.m4:737: BASH_FUNC_GETHOSTBYNAME is expanded from...
+configure.in:822: the top level])
+m4trace:configure.in:822: -1- AC_DEFINE_TRACE_LITERAL([HAVE_GETHOSTBYNAME])
+m4trace:configure.in:822: -1- m4_pattern_allow([^HAVE_GETHOSTBYNAME$])
+m4trace:configure.in:826: -1- AC_TYPE_UID_T
+m4trace:configure.in:826: -1- AC_DEFINE_TRACE_LITERAL([uid_t])
+m4trace:configure.in:826: -1- m4_pattern_allow([^uid_t$])
+m4trace:configure.in:826: -1- AH_OUTPUT([uid_t], [/* Define to `int\' if <sys/types.h> doesn\'t define. */
 #undef uid_t])
-m4trace:configure.in:820: -1- AC_DEFINE_TRACE_LITERAL([gid_t])
-m4trace:configure.in:820: -1- m4_pattern_allow([^gid_t$])
-m4trace:configure.in:820: -1- AH_OUTPUT([gid_t], [/* Define to `int\' if <sys/types.h> doesn\'t define. */
+m4trace:configure.in:826: -1- AC_DEFINE_TRACE_LITERAL([gid_t])
+m4trace:configure.in:826: -1- m4_pattern_allow([^gid_t$])
+m4trace:configure.in:826: -1- AH_OUTPUT([gid_t], [/* Define to `int\' if <sys/types.h> doesn\'t define. */
 #undef gid_t])
-m4trace:configure.in:820: -1- AC_DEFINE_TRACE_LITERAL([GETGROUPS_T])
-m4trace:configure.in:820: -1- m4_pattern_allow([^GETGROUPS_T$])
-m4trace:configure.in:820: -1- AH_OUTPUT([GETGROUPS_T], [/* Define to the type of elements in the array set by `getgroups\'. Usually
+m4trace:configure.in:826: -1- AC_DEFINE_TRACE_LITERAL([GETGROUPS_T])
+m4trace:configure.in:826: -1- m4_pattern_allow([^GETGROUPS_T$])
+m4trace:configure.in:826: -1- AH_OUTPUT([GETGROUPS_T], [/* Define to the type of elements in the array set by `getgroups\'. Usually
    this is either `int\' or `gid_t\'. */
 #undef GETGROUPS_T])
-m4trace:configure.in:821: -1- AC_DEFINE_TRACE_LITERAL([off_t])
-m4trace:configure.in:821: -1- m4_pattern_allow([^off_t$])
-m4trace:configure.in:821: -1- AH_OUTPUT([off_t], [/* Define to `long int\' if <sys/types.h> does not define. */
+m4trace:configure.in:827: -1- AC_TYPE_OFF_T
+m4trace:configure.in:827: -1- AC_DEFINE_TRACE_LITERAL([off_t])
+m4trace:configure.in:827: -1- m4_pattern_allow([^off_t$])
+m4trace:configure.in:827: -1- AH_OUTPUT([off_t], [/* Define to `long int\' if <sys/types.h> does not define. */
 #undef off_t])
-m4trace:configure.in:822: -1- AC_DEFINE_TRACE_LITERAL([mode_t])
-m4trace:configure.in:822: -1- m4_pattern_allow([^mode_t$])
-m4trace:configure.in:822: -1- AH_OUTPUT([mode_t], [/* Define to `int\' if <sys/types.h> does not define. */
+m4trace:configure.in:828: -1- AC_TYPE_MODE_T
+m4trace:configure.in:828: -1- AC_DEFINE_TRACE_LITERAL([mode_t])
+m4trace:configure.in:828: -1- m4_pattern_allow([^mode_t$])
+m4trace:configure.in:828: -1- AH_OUTPUT([mode_t], [/* Define to `int\' if <sys/types.h> does not define. */
 #undef mode_t])
-m4trace:configure.in:823: -1- AC_DEFINE_TRACE_LITERAL([uid_t])
-m4trace:configure.in:823: -1- m4_pattern_allow([^uid_t$])
-m4trace:configure.in:823: -1- AH_OUTPUT([uid_t], [/* Define to `int\' if <sys/types.h> doesn\'t define. */
+m4trace:configure.in:829: -1- AC_TYPE_UID_T
+m4trace:configure.in:829: -1- AC_DEFINE_TRACE_LITERAL([uid_t])
+m4trace:configure.in:829: -1- m4_pattern_allow([^uid_t$])
+m4trace:configure.in:829: -1- AH_OUTPUT([uid_t], [/* Define to `int\' if <sys/types.h> doesn\'t define. */
 #undef uid_t])
-m4trace:configure.in:823: -1- AC_DEFINE_TRACE_LITERAL([gid_t])
-m4trace:configure.in:823: -1- m4_pattern_allow([^gid_t$])
-m4trace:configure.in:823: -1- AH_OUTPUT([gid_t], [/* Define to `int\' if <sys/types.h> doesn\'t define. */
+m4trace:configure.in:829: -1- AC_DEFINE_TRACE_LITERAL([gid_t])
+m4trace:configure.in:829: -1- m4_pattern_allow([^gid_t$])
+m4trace:configure.in:829: -1- AH_OUTPUT([gid_t], [/* Define to `int\' if <sys/types.h> doesn\'t define. */
 #undef gid_t])
-m4trace:configure.in:824: -1- AC_DEFINE_TRACE_LITERAL([pid_t])
-m4trace:configure.in:824: -1- m4_pattern_allow([^pid_t$])
-m4trace:configure.in:824: -1- AH_OUTPUT([pid_t], [/* Define to `int\' if <sys/types.h> does not define. */
+m4trace:configure.in:830: -1- AC_TYPE_PID_T
+m4trace:configure.in:830: -1- AC_DEFINE_TRACE_LITERAL([pid_t])
+m4trace:configure.in:830: -1- m4_pattern_allow([^pid_t$])
+m4trace:configure.in:830: -1- AH_OUTPUT([pid_t], [/* Define to `int\' if <sys/types.h> does not define. */
 #undef pid_t])
-m4trace:configure.in:825: -1- AC_DEFINE_TRACE_LITERAL([size_t])
-m4trace:configure.in:825: -1- m4_pattern_allow([^size_t$])
-m4trace:configure.in:825: -1- AH_OUTPUT([size_t], [/* Define to `unsigned int\' if <sys/types.h> does not define. */
+m4trace:configure.in:831: -1- AC_TYPE_SIZE_T
+m4trace:configure.in:831: -1- AC_DEFINE_TRACE_LITERAL([size_t])
+m4trace:configure.in:831: -1- m4_pattern_allow([^size_t$])
+m4trace:configure.in:831: -1- AH_OUTPUT([size_t], [/* Define to `unsigned int\' if <sys/types.h> does not define. */
 #undef size_t])
-m4trace:configure.in:826: -1- AC_DEFINE_TRACE_LITERAL([ssize_t])
-m4trace:configure.in:826: -1- m4_pattern_allow([^ssize_t$])
-m4trace:configure.in:826: -1- AH_OUTPUT([ssize_t], [/* Define to `int\' if <sys/types.h> does not define. */
+m4trace:configure.in:832: -1- AC_DEFINE_TRACE_LITERAL([ssize_t])
+m4trace:configure.in:832: -1- m4_pattern_allow([^ssize_t$])
+m4trace:configure.in:832: -1- AH_OUTPUT([ssize_t], [/* Define to `int\' if <sys/types.h> does not define. */
 #undef ssize_t])
-m4trace:configure.in:827: -1- AC_DEFINE_TRACE_LITERAL([time_t])
-m4trace:configure.in:827: -1- m4_pattern_allow([^time_t$])
-m4trace:configure.in:827: -1- AH_OUTPUT([time_t], [/* Define to `long\' if <sys/types.h> does not define. */
+m4trace:configure.in:833: -1- AC_DEFINE_TRACE_LITERAL([time_t])
+m4trace:configure.in:833: -1- m4_pattern_allow([^time_t$])
+m4trace:configure.in:833: -1- AH_OUTPUT([time_t], [/* Define to `long\' if <sys/types.h> does not define. */
 #undef time_t])
-m4trace:configure.in:829: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
-You should run autoupdate.], [autoconf/general.m4:2415: AC_TRY_LINK is expanded from...
-../../lib/m4sugar/m4sh.m4:523: AS_IF is expanded from...
-autoconf/general.m4:1905: AC_CACHE_VAL is expanded from...
-autoconf/general.m4:1918: AC_CACHE_CHECK is expanded from...
-aclocal.m4:469: BASH_TYPE_LONG_LONG is expanded from...
-configure.in:829: the top level])
-m4trace:configure.in:829: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LONG_LONG])
-m4trace:configure.in:829: -1- m4_pattern_allow([^HAVE_LONG_LONG$])
-m4trace:configure.in:830: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
-You should run autoupdate.], [autoconf/general.m4:2415: AC_TRY_LINK is expanded from...
-../../lib/m4sugar/m4sh.m4:523: AS_IF is expanded from...
-autoconf/general.m4:1905: AC_CACHE_VAL is expanded from...
-autoconf/general.m4:1918: AC_CACHE_CHECK is expanded from...
-aclocal.m4:483: BASH_TYPE_UNSIGNED_LONG_LONG is expanded from...
-configure.in:830: the top level])
-m4trace:configure.in:830: -1- AC_DEFINE_TRACE_LITERAL([HAVE_UNSIGNED_LONG_LONG])
-m4trace:configure.in:830: -1- m4_pattern_allow([^HAVE_UNSIGNED_LONG_LONG$])
-m4trace:configure.in:832: -1- AC_DEFINE_TRACE_LITERAL([RETSIGTYPE])
-m4trace:configure.in:832: -1- m4_pattern_allow([^RETSIGTYPE$])
-m4trace:configure.in:832: -1- AH_OUTPUT([RETSIGTYPE], [/* Define as the return type of signal handlers (`int\' or `void\'). */
+m4trace:configure.in:835: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+You should run autoupdate.], [autoconf/general.m4:2426: AC_TRY_LINK is expanded from...
+../../lib/m4sugar/m4sh.m4:519: AS_IF is expanded from...
+autoconf/general.m4:1922: AC_CACHE_VAL is expanded from...
+autoconf/general.m4:1935: AC_CACHE_CHECK is expanded from...
+aclocal.m4:481: BASH_TYPE_LONG_LONG is expanded from...
+configure.in:835: the top level])
+m4trace:configure.in:835: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LONG_LONG])
+m4trace:configure.in:835: -1- m4_pattern_allow([^HAVE_LONG_LONG$])
+m4trace:configure.in:836: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+You should run autoupdate.], [autoconf/general.m4:2426: AC_TRY_LINK is expanded from...
+../../lib/m4sugar/m4sh.m4:519: AS_IF is expanded from...
+autoconf/general.m4:1922: AC_CACHE_VAL is expanded from...
+autoconf/general.m4:1935: AC_CACHE_CHECK is expanded from...
+aclocal.m4:496: BASH_TYPE_UNSIGNED_LONG_LONG is expanded from...
+configure.in:836: the top level])
+m4trace:configure.in:836: -1- AC_DEFINE_TRACE_LITERAL([HAVE_UNSIGNED_LONG_LONG])
+m4trace:configure.in:836: -1- m4_pattern_allow([^HAVE_UNSIGNED_LONG_LONG$])
+m4trace:configure.in:838: -1- AC_TYPE_SIGNAL
+m4trace:configure.in:838: -1- AC_DEFINE_TRACE_LITERAL([RETSIGTYPE])
+m4trace:configure.in:838: -1- m4_pattern_allow([^RETSIGTYPE$])
+m4trace:configure.in:838: -1- AH_OUTPUT([RETSIGTYPE], [/* Define as the return type of signal handlers (`int\' or `void\'). */
 #undef RETSIGTYPE])
-m4trace:configure.in:834: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_CHAR])
-m4trace:configure.in:834: -1- m4_pattern_allow([^SIZEOF_CHAR$])
-m4trace:configure.in:834: -1- AH_OUTPUT([SIZEOF_CHAR], [/* The size of `char\', as computed by sizeof. */
+m4trace:configure.in:840: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_CHAR])
+m4trace:configure.in:840: -1- m4_pattern_allow([^SIZEOF_CHAR$])
+m4trace:configure.in:840: -1- AH_OUTPUT([SIZEOF_CHAR], [/* The size of `char\', as computed by sizeof. */
 #undef SIZEOF_CHAR])
-m4trace:configure.in:835: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_SHORT])
-m4trace:configure.in:835: -1- m4_pattern_allow([^SIZEOF_SHORT$])
-m4trace:configure.in:835: -1- AH_OUTPUT([SIZEOF_SHORT], [/* The size of `short\', as computed by sizeof. */
+m4trace:configure.in:841: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_SHORT])
+m4trace:configure.in:841: -1- m4_pattern_allow([^SIZEOF_SHORT$])
+m4trace:configure.in:841: -1- AH_OUTPUT([SIZEOF_SHORT], [/* The size of `short\', as computed by sizeof. */
 #undef SIZEOF_SHORT])
-m4trace:configure.in:836: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_INT])
-m4trace:configure.in:836: -1- m4_pattern_allow([^SIZEOF_INT$])
-m4trace:configure.in:836: -1- AH_OUTPUT([SIZEOF_INT], [/* The size of `int\', as computed by sizeof. */
+m4trace:configure.in:842: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_INT])
+m4trace:configure.in:842: -1- m4_pattern_allow([^SIZEOF_INT$])
+m4trace:configure.in:842: -1- AH_OUTPUT([SIZEOF_INT], [/* The size of `int\', as computed by sizeof. */
 #undef SIZEOF_INT])
-m4trace:configure.in:837: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_LONG])
-m4trace:configure.in:837: -1- m4_pattern_allow([^SIZEOF_LONG$])
-m4trace:configure.in:837: -1- AH_OUTPUT([SIZEOF_LONG], [/* The size of `long\', as computed by sizeof. */
+m4trace:configure.in:843: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_LONG])
+m4trace:configure.in:843: -1- m4_pattern_allow([^SIZEOF_LONG$])
+m4trace:configure.in:843: -1- AH_OUTPUT([SIZEOF_LONG], [/* The size of `long\', as computed by sizeof. */
 #undef SIZEOF_LONG])
-m4trace:configure.in:838: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_CHAR_P])
-m4trace:configure.in:838: -1- m4_pattern_allow([^SIZEOF_CHAR_P$])
-m4trace:configure.in:838: -1- AH_OUTPUT([SIZEOF_CHAR_P], [/* The size of `char *\', as computed by sizeof. */
+m4trace:configure.in:844: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_CHAR_P])
+m4trace:configure.in:844: -1- m4_pattern_allow([^SIZEOF_CHAR_P$])
+m4trace:configure.in:844: -1- AH_OUTPUT([SIZEOF_CHAR_P], [/* The size of `char *\', as computed by sizeof. */
 #undef SIZEOF_CHAR_P])
-m4trace:configure.in:839: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_DOUBLE])
-m4trace:configure.in:839: -1- m4_pattern_allow([^SIZEOF_DOUBLE$])
-m4trace:configure.in:839: -1- AH_OUTPUT([SIZEOF_DOUBLE], [/* The size of `double\', as computed by sizeof. */
+m4trace:configure.in:845: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_DOUBLE])
+m4trace:configure.in:845: -1- m4_pattern_allow([^SIZEOF_DOUBLE$])
+m4trace:configure.in:845: -1- AH_OUTPUT([SIZEOF_DOUBLE], [/* The size of `double\', as computed by sizeof. */
 #undef SIZEOF_DOUBLE])
-m4trace:configure.in:840: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_LONG_LONG])
-m4trace:configure.in:840: -1- m4_pattern_allow([^SIZEOF_LONG_LONG$])
-m4trace:configure.in:840: -1- AH_OUTPUT([SIZEOF_LONG_LONG], [/* The size of `long long\', as computed by sizeof. */
+m4trace:configure.in:846: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_LONG_LONG])
+m4trace:configure.in:846: -1- m4_pattern_allow([^SIZEOF_LONG_LONG$])
+m4trace:configure.in:846: -1- AH_OUTPUT([SIZEOF_LONG_LONG], [/* The size of `long long\', as computed by sizeof. */
 #undef SIZEOF_LONG_LONG])
-m4trace:configure.in:842: -1- AC_DEFINE_TRACE_LITERAL([u_int])
-m4trace:configure.in:842: -1- m4_pattern_allow([^u_int$])
-m4trace:configure.in:842: -1- AH_OUTPUT([u_int], [/* Define to `unsigned int\' if <sys/types.h> does not define. */
+m4trace:configure.in:848: -1- AC_DEFINE_TRACE_LITERAL([u_int])
+m4trace:configure.in:848: -1- m4_pattern_allow([^u_int$])
+m4trace:configure.in:848: -1- AH_OUTPUT([u_int], [/* Define to `unsigned int\' if <sys/types.h> does not define. */
 #undef u_int])
-m4trace:configure.in:843: -1- AC_DEFINE_TRACE_LITERAL([u_long])
-m4trace:configure.in:843: -1- m4_pattern_allow([^u_long$])
-m4trace:configure.in:843: -1- AH_OUTPUT([u_long], [/* Define to `unsigned long\' if <sys/types.h> does not define. */
+m4trace:configure.in:849: -1- AC_DEFINE_TRACE_LITERAL([u_long])
+m4trace:configure.in:849: -1- m4_pattern_allow([^u_long$])
+m4trace:configure.in:849: -1- AH_OUTPUT([u_long], [/* Define to `unsigned long\' if <sys/types.h> does not define. */
 #undef u_long])
-m4trace:configure.in:845: -1- AC_DEFINE_TRACE_LITERAL([bits16_t])
-m4trace:configure.in:845: -1- m4_pattern_allow([^bits16_t$])
-m4trace:configure.in:845: -1- AH_OUTPUT([bits16_t], [/* Define to `short\' if <sys/types.h> does not define. */
+m4trace:configure.in:851: -1- AC_DEFINE_TRACE_LITERAL([bits16_t])
+m4trace:configure.in:851: -1- m4_pattern_allow([^bits16_t$])
+m4trace:configure.in:851: -1- AH_OUTPUT([bits16_t], [/* Define to `short\' if <sys/types.h> does not define. */
 #undef bits16_t])
-m4trace:configure.in:845: -1- AC_DEFINE_TRACE_LITERAL([bits16_t])
-m4trace:configure.in:845: -1- m4_pattern_allow([^bits16_t$])
-m4trace:configure.in:845: -1- AH_OUTPUT([bits16_t], [/* Define to `char\' if <sys/types.h> does not define. */
+m4trace:configure.in:851: -1- AC_DEFINE_TRACE_LITERAL([bits16_t])
+m4trace:configure.in:851: -1- m4_pattern_allow([^bits16_t$])
+m4trace:configure.in:851: -1- AH_OUTPUT([bits16_t], [/* Define to `char\' if <sys/types.h> does not define. */
 #undef bits16_t])
-m4trace:configure.in:845: -1- AC_DEFINE_TRACE_LITERAL([bits16_t])
-m4trace:configure.in:845: -1- m4_pattern_allow([^bits16_t$])
-m4trace:configure.in:845: -1- AH_OUTPUT([bits16_t], [/* Define to `short\' if <sys/types.h> does not define. */
+m4trace:configure.in:851: -1- AC_DEFINE_TRACE_LITERAL([bits16_t])
+m4trace:configure.in:851: -1- m4_pattern_allow([^bits16_t$])
+m4trace:configure.in:851: -1- AH_OUTPUT([bits16_t], [/* Define to `short\' if <sys/types.h> does not define. */
 #undef bits16_t])
-m4trace:configure.in:846: -1- AC_DEFINE_TRACE_LITERAL([u_bits16_t])
-m4trace:configure.in:846: -1- m4_pattern_allow([^u_bits16_t$])
-m4trace:configure.in:846: -1- AH_OUTPUT([u_bits16_t], [/* Define to `unsigned short\' if <sys/types.h> does not define. */
+m4trace:configure.in:852: -1- AC_DEFINE_TRACE_LITERAL([u_bits16_t])
+m4trace:configure.in:852: -1- m4_pattern_allow([^u_bits16_t$])
+m4trace:configure.in:852: -1- AH_OUTPUT([u_bits16_t], [/* Define to `unsigned short\' if <sys/types.h> does not define. */
 #undef u_bits16_t])
-m4trace:configure.in:846: -1- AC_DEFINE_TRACE_LITERAL([u_bits16_t])
-m4trace:configure.in:846: -1- m4_pattern_allow([^u_bits16_t$])
-m4trace:configure.in:846: -1- AH_OUTPUT([u_bits16_t], [/* Define to `unsigned char\' if <sys/types.h> does not define. */
+m4trace:configure.in:852: -1- AC_DEFINE_TRACE_LITERAL([u_bits16_t])
+m4trace:configure.in:852: -1- m4_pattern_allow([^u_bits16_t$])
+m4trace:configure.in:852: -1- AH_OUTPUT([u_bits16_t], [/* Define to `unsigned char\' if <sys/types.h> does not define. */
 #undef u_bits16_t])
-m4trace:configure.in:846: -1- AC_DEFINE_TRACE_LITERAL([u_bits16_t])
-m4trace:configure.in:846: -1- m4_pattern_allow([^u_bits16_t$])
-m4trace:configure.in:846: -1- AH_OUTPUT([u_bits16_t], [/* Define to `unsigned short\' if <sys/types.h> does not define. */
+m4trace:configure.in:852: -1- AC_DEFINE_TRACE_LITERAL([u_bits16_t])
+m4trace:configure.in:852: -1- m4_pattern_allow([^u_bits16_t$])
+m4trace:configure.in:852: -1- AH_OUTPUT([u_bits16_t], [/* Define to `unsigned short\' if <sys/types.h> does not define. */
 #undef u_bits16_t])
-m4trace:configure.in:847: -1- AC_DEFINE_TRACE_LITERAL([bits32_t])
-m4trace:configure.in:847: -1- m4_pattern_allow([^bits32_t$])
-m4trace:configure.in:847: -1- AH_OUTPUT([bits32_t], [/* Define to `int\' if <sys/types.h> does not define. */
+m4trace:configure.in:853: -1- AC_DEFINE_TRACE_LITERAL([bits32_t])
+m4trace:configure.in:853: -1- m4_pattern_allow([^bits32_t$])
+m4trace:configure.in:853: -1- AH_OUTPUT([bits32_t], [/* Define to `int\' if <sys/types.h> does not define. */
 #undef bits32_t])
-m4trace:configure.in:847: -1- AC_DEFINE_TRACE_LITERAL([bits32_t])
-m4trace:configure.in:847: -1- m4_pattern_allow([^bits32_t$])
-m4trace:configure.in:847: -1- AH_OUTPUT([bits32_t], [/* Define to `long\' if <sys/types.h> does not define. */
+m4trace:configure.in:853: -1- AC_DEFINE_TRACE_LITERAL([bits32_t])
+m4trace:configure.in:853: -1- m4_pattern_allow([^bits32_t$])
+m4trace:configure.in:853: -1- AH_OUTPUT([bits32_t], [/* Define to `long\' if <sys/types.h> does not define. */
 #undef bits32_t])
-m4trace:configure.in:847: -1- AC_DEFINE_TRACE_LITERAL([bits32_t])
-m4trace:configure.in:847: -1- m4_pattern_allow([^bits32_t$])
-m4trace:configure.in:847: -1- AH_OUTPUT([bits32_t], [/* Define to `int\' if <sys/types.h> does not define. */
+m4trace:configure.in:853: -1- AC_DEFINE_TRACE_LITERAL([bits32_t])
+m4trace:configure.in:853: -1- m4_pattern_allow([^bits32_t$])
+m4trace:configure.in:853: -1- AH_OUTPUT([bits32_t], [/* Define to `int\' if <sys/types.h> does not define. */
 #undef bits32_t])
-m4trace:configure.in:848: -1- AC_DEFINE_TRACE_LITERAL([u_bits32_t])
-m4trace:configure.in:848: -1- m4_pattern_allow([^u_bits32_t$])
-m4trace:configure.in:848: -1- AH_OUTPUT([u_bits32_t], [/* Define to `unsigned int\' if <sys/types.h> does not define. */
+m4trace:configure.in:854: -1- AC_DEFINE_TRACE_LITERAL([u_bits32_t])
+m4trace:configure.in:854: -1- m4_pattern_allow([^u_bits32_t$])
+m4trace:configure.in:854: -1- AH_OUTPUT([u_bits32_t], [/* Define to `unsigned int\' if <sys/types.h> does not define. */
 #undef u_bits32_t])
-m4trace:configure.in:848: -1- AC_DEFINE_TRACE_LITERAL([u_bits32_t])
-m4trace:configure.in:848: -1- m4_pattern_allow([^u_bits32_t$])
-m4trace:configure.in:848: -1- AH_OUTPUT([u_bits32_t], [/* Define to `unsigned long\' if <sys/types.h> does not define. */
+m4trace:configure.in:854: -1- AC_DEFINE_TRACE_LITERAL([u_bits32_t])
+m4trace:configure.in:854: -1- m4_pattern_allow([^u_bits32_t$])
+m4trace:configure.in:854: -1- AH_OUTPUT([u_bits32_t], [/* Define to `unsigned long\' if <sys/types.h> does not define. */
 #undef u_bits32_t])
-m4trace:configure.in:848: -1- AC_DEFINE_TRACE_LITERAL([u_bits32_t])
-m4trace:configure.in:848: -1- m4_pattern_allow([^u_bits32_t$])
-m4trace:configure.in:848: -1- AH_OUTPUT([u_bits32_t], [/* Define to `unsigned int\' if <sys/types.h> does not define. */
+m4trace:configure.in:854: -1- AC_DEFINE_TRACE_LITERAL([u_bits32_t])
+m4trace:configure.in:854: -1- m4_pattern_allow([^u_bits32_t$])
+m4trace:configure.in:854: -1- AH_OUTPUT([u_bits32_t], [/* Define to `unsigned int\' if <sys/types.h> does not define. */
 #undef u_bits32_t])
-m4trace:configure.in:849: -1- AC_DEFINE_TRACE_LITERAL([bits64_t])
-m4trace:configure.in:849: -1- m4_pattern_allow([^bits64_t$])
-m4trace:configure.in:849: -1- AH_OUTPUT([bits64_t], [/* Define to `char *\' if <sys/types.h> does not define. */
+m4trace:configure.in:855: -1- AC_DEFINE_TRACE_LITERAL([bits64_t])
+m4trace:configure.in:855: -1- m4_pattern_allow([^bits64_t$])
+m4trace:configure.in:855: -1- AH_OUTPUT([bits64_t], [/* Define to `char *\' if <sys/types.h> does not define. */
 #undef bits64_t])
-m4trace:configure.in:849: -1- AC_DEFINE_TRACE_LITERAL([bits64_t])
-m4trace:configure.in:849: -1- m4_pattern_allow([^bits64_t$])
-m4trace:configure.in:849: -1- AH_OUTPUT([bits64_t], [/* Define to `double\' if <sys/types.h> does not define. */
+m4trace:configure.in:855: -1- AC_DEFINE_TRACE_LITERAL([bits64_t])
+m4trace:configure.in:855: -1- m4_pattern_allow([^bits64_t$])
+m4trace:configure.in:855: -1- AH_OUTPUT([bits64_t], [/* Define to `double\' if <sys/types.h> does not define. */
 #undef bits64_t])
-m4trace:configure.in:849: -1- AC_DEFINE_TRACE_LITERAL([bits64_t])
-m4trace:configure.in:849: -1- m4_pattern_allow([^bits64_t$])
-m4trace:configure.in:849: -1- AH_OUTPUT([bits64_t], [/* Define to `long long\' if <sys/types.h> does not define. */
+m4trace:configure.in:855: -1- AC_DEFINE_TRACE_LITERAL([bits64_t])
+m4trace:configure.in:855: -1- m4_pattern_allow([^bits64_t$])
+m4trace:configure.in:855: -1- AH_OUTPUT([bits64_t], [/* Define to `long long\' if <sys/types.h> does not define. */
 #undef bits64_t])
-m4trace:configure.in:849: -1- AC_DEFINE_TRACE_LITERAL([bits64_t])
-m4trace:configure.in:849: -1- m4_pattern_allow([^bits64_t$])
-m4trace:configure.in:849: -1- AH_OUTPUT([bits64_t], [/* Define to `long\' if <sys/types.h> does not define. */
+m4trace:configure.in:855: -1- AC_DEFINE_TRACE_LITERAL([bits64_t])
+m4trace:configure.in:855: -1- m4_pattern_allow([^bits64_t$])
+m4trace:configure.in:855: -1- AH_OUTPUT([bits64_t], [/* Define to `long\' if <sys/types.h> does not define. */
 #undef bits64_t])
-m4trace:configure.in:849: -1- AC_DEFINE_TRACE_LITERAL([bits64_t])
-m4trace:configure.in:849: -1- m4_pattern_allow([^bits64_t$])
-m4trace:configure.in:849: -1- AH_OUTPUT([bits64_t], [/* Define to `double\' if <sys/types.h> does not define. */
+m4trace:configure.in:855: -1- AC_DEFINE_TRACE_LITERAL([bits64_t])
+m4trace:configure.in:855: -1- m4_pattern_allow([^bits64_t$])
+m4trace:configure.in:855: -1- AH_OUTPUT([bits64_t], [/* Define to `double\' if <sys/types.h> does not define. */
 #undef bits64_t])
-m4trace:configure.in:851: -1- AC_DEFINE_TRACE_LITERAL([ptrdiff_t])
-m4trace:configure.in:851: -1- m4_pattern_allow([^ptrdiff_t$])
-m4trace:configure.in:851: -1- AH_OUTPUT([ptrdiff_t], [/* Define to `int\' if <sys/types.h> does not define. */
+m4trace:configure.in:857: -1- AC_DEFINE_TRACE_LITERAL([ptrdiff_t])
+m4trace:configure.in:857: -1- m4_pattern_allow([^ptrdiff_t$])
+m4trace:configure.in:857: -1- AH_OUTPUT([ptrdiff_t], [/* Define to `int\' if <sys/types.h> does not define. */
 #undef ptrdiff_t])
-m4trace:configure.in:851: -1- AC_DEFINE_TRACE_LITERAL([ptrdiff_t])
-m4trace:configure.in:851: -1- m4_pattern_allow([^ptrdiff_t$])
-m4trace:configure.in:851: -1- AH_OUTPUT([ptrdiff_t], [/* Define to `long\' if <sys/types.h> does not define. */
+m4trace:configure.in:857: -1- AC_DEFINE_TRACE_LITERAL([ptrdiff_t])
+m4trace:configure.in:857: -1- m4_pattern_allow([^ptrdiff_t$])
+m4trace:configure.in:857: -1- AH_OUTPUT([ptrdiff_t], [/* Define to `long\' if <sys/types.h> does not define. */
 #undef ptrdiff_t])
-m4trace:configure.in:851: -1- AC_DEFINE_TRACE_LITERAL([ptrdiff_t])
-m4trace:configure.in:851: -1- m4_pattern_allow([^ptrdiff_t$])
-m4trace:configure.in:851: -1- AH_OUTPUT([ptrdiff_t], [/* Define to `long long\' if <sys/types.h> does not define. */
+m4trace:configure.in:857: -1- AC_DEFINE_TRACE_LITERAL([ptrdiff_t])
+m4trace:configure.in:857: -1- m4_pattern_allow([^ptrdiff_t$])
+m4trace:configure.in:857: -1- AH_OUTPUT([ptrdiff_t], [/* Define to `long long\' if <sys/types.h> does not define. */
 #undef ptrdiff_t])
-m4trace:configure.in:851: -1- AC_DEFINE_TRACE_LITERAL([ptrdiff_t])
-m4trace:configure.in:851: -1- m4_pattern_allow([^ptrdiff_t$])
-m4trace:configure.in:851: -1- AH_OUTPUT([ptrdiff_t], [/* Define to `int\' if <sys/types.h> does not define. */
+m4trace:configure.in:857: -1- AC_DEFINE_TRACE_LITERAL([ptrdiff_t])
+m4trace:configure.in:857: -1- m4_pattern_allow([^ptrdiff_t$])
+m4trace:configure.in:857: -1- AH_OUTPUT([ptrdiff_t], [/* Define to `int\' if <sys/types.h> does not define. */
 #undef ptrdiff_t])
-m4trace:configure.in:854: -1- AC_DEFINE_TRACE_LITERAL([STAT_MACROS_BROKEN])
-m4trace:configure.in:854: -1- m4_pattern_allow([^STAT_MACROS_BROKEN$])
-m4trace:configure.in:854: -1- AH_OUTPUT([STAT_MACROS_BROKEN], [/* Define to 1 if the `S_IS*\' macros in <sys/stat.h> do not work properly. */
+m4trace:configure.in:860: -1- AC_HEADER_STAT
+m4trace:configure.in:860: -1- AC_DEFINE_TRACE_LITERAL([STAT_MACROS_BROKEN])
+m4trace:configure.in:860: -1- m4_pattern_allow([^STAT_MACROS_BROKEN$])
+m4trace:configure.in:860: -1- AH_OUTPUT([STAT_MACROS_BROKEN], [/* Define to 1 if the `S_IS*\' macros in <sys/stat.h> do not work properly. */
 #undef STAT_MACROS_BROKEN])
-m4trace:configure.in:859: -1- AC_DEFINE_TRACE_LITERAL([HAVE_HASH_BANG_EXEC])
-m4trace:configure.in:859: -1- m4_pattern_allow([^HAVE_HASH_BANG_EXEC$])
-m4trace:configure.in:864: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
-You should run autoupdate.], [autoconf/general.m4:2415: AC_TRY_LINK is expanded from...
-../../lib/m4sugar/m4sh.m4:523: AS_IF is expanded from...
-autoconf/general.m4:1905: AC_CACHE_VAL is expanded from...
-autoconf/general.m4:1918: AC_CACHE_CHECK is expanded from...
-aclocal.m4:534: BASH_FUNC_LSTAT is expanded from...
-configure.in:864: the top level])
-m4trace:configure.in:864: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LSTAT])
-m4trace:configure.in:864: -1- m4_pattern_allow([^HAVE_LSTAT$])
-m4trace:configure.in:868: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
-You should run autoupdate.], [autoconf/general.m4:2479: AC_TRY_RUN is expanded from...
-../../lib/m4sugar/m4sh.m4:523: AS_IF is expanded from...
-autoconf/general.m4:1905: AC_CACHE_VAL is expanded from...
-aclocal.m4:1865: BASH_FUNC_CTYPE_NONASCII is expanded from...
-configure.in:868: the top level])
-m4trace:configure.in:868: -1- AC_DEFINE_TRACE_LITERAL([CTYPE_NON_ASCII])
-m4trace:configure.in:868: -1- m4_pattern_allow([^CTYPE_NON_ASCII$])
-m4trace:configure.in:869: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
-You should run autoupdate.], [autoconf/general.m4:2479: AC_TRY_RUN is expanded from...
-../../lib/m4sugar/m4sh.m4:523: AS_IF is expanded from...
-autoconf/general.m4:1905: AC_CACHE_VAL is expanded from...
-aclocal.m4:267: BASH_FUNC_DUP2_CLOEXEC_CHECK is expanded from...
-configure.in:869: the top level])
-m4trace:configure.in:869: -1- AC_DEFINE_TRACE_LITERAL([DUP2_BROKEN])
-m4trace:configure.in:869: -1- m4_pattern_allow([^DUP2_BROKEN$])
-m4trace:configure.in:870: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
-You should run autoupdate.], [autoconf/general.m4:2479: AC_TRY_RUN is expanded from...
-../../lib/m4sugar/m4sh.m4:523: AS_IF is expanded from...
-autoconf/general.m4:1905: AC_CACHE_VAL is expanded from...
-aclocal.m4:1220: BASH_SYS_PGRP_SYNC is expanded from...
+m4trace:configure.in:865: -1- AC_DEFINE_TRACE_LITERAL([HAVE_HASH_BANG_EXEC])
+m4trace:configure.in:865: -1- m4_pattern_allow([^HAVE_HASH_BANG_EXEC$])
+m4trace:configure.in:870: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+You should run autoupdate.], [autoconf/general.m4:2426: AC_TRY_LINK is expanded from...
+../../lib/m4sugar/m4sh.m4:519: AS_IF is expanded from...
+autoconf/general.m4:1922: AC_CACHE_VAL is expanded from...
+autoconf/general.m4:1935: AC_CACHE_CHECK is expanded from...
+aclocal.m4:546: BASH_FUNC_LSTAT is expanded from...
 configure.in:870: the top level])
-m4trace:configure.in:870: -1- AC_DEFINE_TRACE_LITERAL([PGRP_PIPE])
-m4trace:configure.in:870: -1- m4_pattern_allow([^PGRP_PIPE$])
-m4trace:configure.in:871: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
-You should run autoupdate.], [autoconf/general.m4:2415: AC_TRY_LINK is expanded from...
-../../lib/m4sugar/m4sh.m4:523: AS_IF is expanded from...
-autoconf/general.m4:1905: AC_CACHE_VAL is expanded from...
-aclocal.m4:1180: BASH_SYS_SIGNAL_VINTAGE is expanded from...
-configure.in:871: the top level])
-m4trace:configure.in:871: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
-You should run autoupdate.], [autoconf/general.m4:2415: AC_TRY_LINK is expanded from...
-../../lib/m4sugar/m4sh.m4:523: AS_IF is expanded from...
-autoconf/general.m4:2407: AC_LINK_IFELSE is expanded from...
-autoconf/general.m4:2415: AC_TRY_LINK is expanded from...
-../../lib/m4sugar/m4sh.m4:523: AS_IF is expanded from...
-autoconf/general.m4:1905: AC_CACHE_VAL is expanded from...
-aclocal.m4:1180: BASH_SYS_SIGNAL_VINTAGE is expanded from...
-configure.in:871: the top level])
-m4trace:configure.in:871: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
-You should run autoupdate.], [autoconf/general.m4:2415: AC_TRY_LINK is expanded from...
-../../lib/m4sugar/m4sh.m4:523: AS_IF is expanded from...
-autoconf/general.m4:2407: AC_LINK_IFELSE is expanded from...
-autoconf/general.m4:2415: AC_TRY_LINK is expanded from...
-../../lib/m4sugar/m4sh.m4:523: AS_IF is expanded from...
-autoconf/general.m4:2407: AC_LINK_IFELSE is expanded from...
-autoconf/general.m4:2415: AC_TRY_LINK is expanded from...
-../../lib/m4sugar/m4sh.m4:523: AS_IF is expanded from...
-autoconf/general.m4:1905: AC_CACHE_VAL is expanded from...
-aclocal.m4:1180: BASH_SYS_SIGNAL_VINTAGE is expanded from...
-configure.in:871: the top level])
-m4trace:configure.in:871: -1- AC_DEFINE_TRACE_LITERAL([HAVE_POSIX_SIGNALS])
-m4trace:configure.in:871: -1- m4_pattern_allow([^HAVE_POSIX_SIGNALS$])
-m4trace:configure.in:871: -1- AC_DEFINE_TRACE_LITERAL([HAVE_BSD_SIGNALS])
-m4trace:configure.in:871: -1- m4_pattern_allow([^HAVE_BSD_SIGNALS$])
-m4trace:configure.in:871: -1- AC_DEFINE_TRACE_LITERAL([HAVE_USG_SIGHOLD])
-m4trace:configure.in:871: -1- m4_pattern_allow([^HAVE_USG_SIGHOLD$])
-m4trace:configure.in:874: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
-You should run autoupdate.], [autoconf/general.m4:2415: AC_TRY_LINK is expanded from...
-../../lib/m4sugar/m4sh.m4:523: AS_IF is expanded from...
-autoconf/general.m4:1905: AC_CACHE_VAL is expanded from...
-aclocal.m4:250: BASH_SYS_ERRLIST is expanded from...
+m4trace:configure.in:870: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LSTAT])
+m4trace:configure.in:870: -1- m4_pattern_allow([^HAVE_LSTAT$])
+m4trace:configure.in:874: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
+You should run autoupdate.], [autoconf/general.m4:2490: AC_TRY_RUN is expanded from...
+../../lib/m4sugar/m4sh.m4:519: AS_IF is expanded from...
+autoconf/general.m4:1922: AC_CACHE_VAL is expanded from...
+aclocal.m4:1907: BASH_FUNC_CTYPE_NONASCII is expanded from...
 configure.in:874: the top level])
-m4trace:configure.in:874: -1- AC_DEFINE_TRACE_LITERAL([HAVE_SYS_ERRLIST])
-m4trace:configure.in:874: -1- m4_pattern_allow([^HAVE_SYS_ERRLIST$])
+m4trace:configure.in:874: -1- AC_DEFINE_TRACE_LITERAL([CTYPE_NON_ASCII])
+m4trace:configure.in:874: -1- m4_pattern_allow([^CTYPE_NON_ASCII$])
 m4trace:configure.in:875: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
-You should run autoupdate.], [autoconf/general.m4:2479: AC_TRY_RUN is expanded from...
-../../lib/m4sugar/m4sh.m4:523: AS_IF is expanded from...
-autoconf/general.m4:1905: AC_CACHE_VAL is expanded from...
-aclocal.m4:208: BASH_SYS_SIGLIST is expanded from...
+You should run autoupdate.], [autoconf/general.m4:2490: AC_TRY_RUN is expanded from...
+../../lib/m4sugar/m4sh.m4:519: AS_IF is expanded from...
+autoconf/general.m4:1922: AC_CACHE_VAL is expanded from...
+aclocal.m4:294: BASH_FUNC_DUP2_CLOEXEC_CHECK is expanded from...
 configure.in:875: the top level])
-m4trace:configure.in:875: -1- AC_DEFINE_TRACE_LITERAL([HAVE_SYS_SIGLIST])
-m4trace:configure.in:875: -1- m4_pattern_allow([^HAVE_SYS_SIGLIST$])
-m4trace:configure.in:876: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
-You should run autoupdate.], [autoconf/general.m4:2368: AC_TRY_COMPILE is expanded from...
-../../lib/m4sugar/m4sh.m4:523: AS_IF is expanded from...
-autoconf/general.m4:1905: AC_CACHE_VAL is expanded from...
-aclocal.m4:164: BASH_DECL_UNDER_SYS_SIGLIST is expanded from...
-aclocal.m4:181: BASH_UNDER_SYS_SIGLIST is expanded from...
-configure.in:876: the top level])
-m4trace:configure.in:876: -1- AC_DEFINE_TRACE_LITERAL([UNDER_SYS_SIGLIST_DECLARED])
-m4trace:configure.in:876: -1- m4_pattern_allow([^UNDER_SYS_SIGLIST_DECLARED$])
+m4trace:configure.in:875: -1- AC_DEFINE_TRACE_LITERAL([DUP2_BROKEN])
+m4trace:configure.in:875: -1- m4_pattern_allow([^DUP2_BROKEN$])
 m4trace:configure.in:876: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
-You should run autoupdate.], [autoconf/general.m4:2479: AC_TRY_RUN is expanded from...
-../../lib/m4sugar/m4sh.m4:523: AS_IF is expanded from...
-autoconf/general.m4:1905: AC_CACHE_VAL is expanded from...
-aclocal.m4:181: BASH_UNDER_SYS_SIGLIST is expanded from...
+You should run autoupdate.], [autoconf/general.m4:2490: AC_TRY_RUN is expanded from...
+../../lib/m4sugar/m4sh.m4:519: AS_IF is expanded from...
+autoconf/general.m4:1922: AC_CACHE_VAL is expanded from...
+aclocal.m4:1280: BASH_SYS_PGRP_SYNC is expanded from...
 configure.in:876: the top level])
-m4trace:configure.in:876: -1- AC_DEFINE_TRACE_LITERAL([HAVE_UNDER_SYS_SIGLIST])
-m4trace:configure.in:876: -1- m4_pattern_allow([^HAVE_UNDER_SYS_SIGLIST$])
-m4trace:configure.in:879: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
-You should run autoupdate.], [autoconf/general.m4:2368: AC_TRY_COMPILE is expanded from...
-../../lib/m4sugar/m4sh.m4:523: AS_IF is expanded from...
-autoconf/general.m4:1905: AC_CACHE_VAL is expanded from...
-aclocal.m4:363: BASH_TYPE_SIGHANDLER is expanded from...
-configure.in:879: the top level])
-m4trace:configure.in:879: -1- AC_DEFINE_TRACE_LITERAL([VOID_SIGHANDLER])
-m4trace:configure.in:879: -1- m4_pattern_allow([^VOID_SIGHANDLER$])
-m4trace:configure.in:880: -1- AC_DEFINE_TRACE_LITERAL([clock_t])
-m4trace:configure.in:880: -1- m4_pattern_allow([^clock_t$])
-m4trace:configure.in:881: -1- AC_DEFINE_TRACE_LITERAL([sigset_t])
-m4trace:configure.in:881: -1- m4_pattern_allow([^sigset_t$])
-m4trace:configure.in:882: -1- AC_DEFINE_TRACE_LITERAL([HAVE_QUAD_T])
-m4trace:configure.in:882: -1- m4_pattern_allow([^HAVE_QUAD_T$])
-m4trace:configure.in:882: -1- AC_DEFINE_TRACE_LITERAL([quad_t])
-m4trace:configure.in:882: -1- m4_pattern_allow([^quad_t$])
-m4trace:configure.in:883: -1- AC_DEFINE_TRACE_LITERAL([intmax_t])
-m4trace:configure.in:883: -1- m4_pattern_allow([^intmax_t$])
-m4trace:configure.in:884: -1- AC_DEFINE_TRACE_LITERAL([uintmax_t])
-m4trace:configure.in:884: -1- m4_pattern_allow([^uintmax_t$])
-m4trace:configure.in:886: -1- AC_DEFINE_TRACE_LITERAL([HAVE_SOCKLEN_T])
-m4trace:configure.in:886: -1- m4_pattern_allow([^HAVE_SOCKLEN_T$])
-m4trace:configure.in:886: -1- AC_DEFINE_TRACE_LITERAL([socklen_t])
-m4trace:configure.in:886: -1- m4_pattern_allow([^socklen_t$])
-m4trace:configure.in:888: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
-You should run autoupdate.], [autoconf/general.m4:2368: AC_TRY_COMPILE is expanded from...
-../../lib/m4sugar/m4sh.m4:523: AS_IF is expanded from...
-autoconf/general.m4:1905: AC_CACHE_VAL is expanded from...
-aclocal.m4:504: BASH_TYPE_RLIMIT is expanded from...
-configure.in:888: the top level])
-m4trace:configure.in:888: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
-You should run autoupdate.], [autoconf/general.m4:2479: AC_TRY_RUN is expanded from...
-../../lib/m4sugar/m4sh.m4:523: AS_IF is expanded from...
-autoconf/general.m4:2361: AC_COMPILE_IFELSE is expanded from...
-autoconf/general.m4:2368: AC_TRY_COMPILE is expanded from...
-../../lib/m4sugar/m4sh.m4:523: AS_IF is expanded from...
-autoconf/general.m4:1905: AC_CACHE_VAL is expanded from...
-aclocal.m4:504: BASH_TYPE_RLIMIT is expanded from...
-configure.in:888: the top level])
-m4trace:configure.in:888: -1- AC_DEFINE_TRACE_LITERAL([RLIMTYPE])
-m4trace:configure.in:888: -1- m4_pattern_allow([^RLIMTYPE$])
-m4trace:configure.in:888: -1- AC_DEFINE_TRACE_LITERAL([RLIMTYPE])
-m4trace:configure.in:888: -1- m4_pattern_allow([^RLIMTYPE$])
-m4trace:configure.in:891: -2- AC_DEFINE_TRACE_LITERAL([TERMIOS_LDISC])
-m4trace:configure.in:891: -2- m4_pattern_allow([^TERMIOS_LDISC$])
-m4trace:configure.in:892: -2- AC_DEFINE_TRACE_LITERAL([TERMIO_LDISC])
-m4trace:configure.in:892: -2- m4_pattern_allow([^TERMIO_LDISC$])
-m4trace:configure.in:893: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
-You should run autoupdate.], [autoconf/general.m4:2368: AC_TRY_COMPILE is expanded from...
-../../lib/m4sugar/m4sh.m4:523: AS_IF is expanded from...
-autoconf/general.m4:1905: AC_CACHE_VAL is expanded from...
-aclocal.m4:1027: BASH_STRUCT_DIRENT_D_INO is expanded from...
-configure.in:893: the top level])
-m4trace:configure.in:893: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRUCT_DIRENT_D_INO])
-m4trace:configure.in:893: -1- m4_pattern_allow([^HAVE_STRUCT_DIRENT_D_INO$])
+m4trace:configure.in:876: -1- AC_DEFINE_TRACE_LITERAL([PGRP_PIPE])
+m4trace:configure.in:876: -1- m4_pattern_allow([^PGRP_PIPE$])
+m4trace:configure.in:877: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+You should run autoupdate.], [autoconf/general.m4:2426: AC_TRY_LINK is expanded from...
+../../lib/m4sugar/m4sh.m4:519: AS_IF is expanded from...
+autoconf/general.m4:1922: AC_CACHE_VAL is expanded from...
+aclocal.m4:1217: BASH_SYS_SIGNAL_VINTAGE is expanded from...
+configure.in:877: the top level])
+m4trace:configure.in:877: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+You should run autoupdate.], [autoconf/general.m4:2426: AC_TRY_LINK is expanded from...
+../../lib/m4sugar/m4sh.m4:519: AS_IF is expanded from...
+autoconf/general.m4:2418: AC_LINK_IFELSE is expanded from...
+autoconf/general.m4:2426: AC_TRY_LINK is expanded from...
+../../lib/m4sugar/m4sh.m4:519: AS_IF is expanded from...
+autoconf/general.m4:1922: AC_CACHE_VAL is expanded from...
+aclocal.m4:1217: BASH_SYS_SIGNAL_VINTAGE is expanded from...
+configure.in:877: the top level])
+m4trace:configure.in:877: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+You should run autoupdate.], [autoconf/general.m4:2426: AC_TRY_LINK is expanded from...
+../../lib/m4sugar/m4sh.m4:519: AS_IF is expanded from...
+autoconf/general.m4:2418: AC_LINK_IFELSE is expanded from...
+autoconf/general.m4:2426: AC_TRY_LINK is expanded from...
+../../lib/m4sugar/m4sh.m4:519: AS_IF is expanded from...
+autoconf/general.m4:2418: AC_LINK_IFELSE is expanded from...
+autoconf/general.m4:2426: AC_TRY_LINK is expanded from...
+../../lib/m4sugar/m4sh.m4:519: AS_IF is expanded from...
+autoconf/general.m4:1922: AC_CACHE_VAL is expanded from...
+aclocal.m4:1217: BASH_SYS_SIGNAL_VINTAGE is expanded from...
+configure.in:877: the top level])
+m4trace:configure.in:877: -1- AC_DEFINE_TRACE_LITERAL([HAVE_POSIX_SIGNALS])
+m4trace:configure.in:877: -1- m4_pattern_allow([^HAVE_POSIX_SIGNALS$])
+m4trace:configure.in:877: -1- AC_DEFINE_TRACE_LITERAL([HAVE_BSD_SIGNALS])
+m4trace:configure.in:877: -1- m4_pattern_allow([^HAVE_BSD_SIGNALS$])
+m4trace:configure.in:877: -1- AC_DEFINE_TRACE_LITERAL([HAVE_USG_SIGHOLD])
+m4trace:configure.in:877: -1- m4_pattern_allow([^HAVE_USG_SIGHOLD$])
+m4trace:configure.in:880: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+You should run autoupdate.], [autoconf/general.m4:2426: AC_TRY_LINK is expanded from...
+../../lib/m4sugar/m4sh.m4:519: AS_IF is expanded from...
+autoconf/general.m4:1922: AC_CACHE_VAL is expanded from...
+aclocal.m4:262: BASH_SYS_ERRLIST is expanded from...
+configure.in:880: the top level])
+m4trace:configure.in:880: -1- AC_DEFINE_TRACE_LITERAL([HAVE_SYS_ERRLIST])
+m4trace:configure.in:880: -1- m4_pattern_allow([^HAVE_SYS_ERRLIST$])
+m4trace:configure.in:881: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
+You should run autoupdate.], [autoconf/general.m4:2490: AC_TRY_RUN is expanded from...
+../../lib/m4sugar/m4sh.m4:519: AS_IF is expanded from...
+autoconf/general.m4:1922: AC_CACHE_VAL is expanded from...
+aclocal.m4:233: BASH_SYS_SIGLIST is expanded from...
+configure.in:881: the top level])
+m4trace:configure.in:881: -1- AC_DEFINE_TRACE_LITERAL([HAVE_SYS_SIGLIST])
+m4trace:configure.in:881: -1- m4_pattern_allow([^HAVE_SYS_SIGLIST$])
+m4trace:configure.in:882: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
+You should run autoupdate.], [autoconf/general.m4:2384: AC_TRY_COMPILE is expanded from...
+../../lib/m4sugar/m4sh.m4:519: AS_IF is expanded from...
+autoconf/general.m4:1922: AC_CACHE_VAL is expanded from...
+aclocal.m4:179: BASH_DECL_UNDER_SYS_SIGLIST is expanded from...
+aclocal.m4:206: BASH_UNDER_SYS_SIGLIST is expanded from...
+configure.in:882: the top level])
+m4trace:configure.in:882: -1- AC_DEFINE_TRACE_LITERAL([UNDER_SYS_SIGLIST_DECLARED])
+m4trace:configure.in:882: -1- m4_pattern_allow([^UNDER_SYS_SIGLIST_DECLARED$])
+m4trace:configure.in:882: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
+You should run autoupdate.], [autoconf/general.m4:2490: AC_TRY_RUN is expanded from...
+../../lib/m4sugar/m4sh.m4:519: AS_IF is expanded from...
+autoconf/general.m4:1922: AC_CACHE_VAL is expanded from...
+aclocal.m4:206: BASH_UNDER_SYS_SIGLIST is expanded from...
+configure.in:882: the top level])
+m4trace:configure.in:882: -1- AC_DEFINE_TRACE_LITERAL([HAVE_UNDER_SYS_SIGLIST])
+m4trace:configure.in:882: -1- m4_pattern_allow([^HAVE_UNDER_SYS_SIGLIST$])
+m4trace:configure.in:885: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
+You should run autoupdate.], [autoconf/general.m4:2384: AC_TRY_COMPILE is expanded from...
+../../lib/m4sugar/m4sh.m4:519: AS_IF is expanded from...
+autoconf/general.m4:1922: AC_CACHE_VAL is expanded from...
+aclocal.m4:380: BASH_TYPE_SIGHANDLER is expanded from...
+configure.in:885: the top level])
+m4trace:configure.in:885: -1- AC_DEFINE_TRACE_LITERAL([VOID_SIGHANDLER])
+m4trace:configure.in:885: -1- m4_pattern_allow([^VOID_SIGHANDLER$])
+m4trace:configure.in:886: -1- AC_DEFINE_TRACE_LITERAL([clock_t])
+m4trace:configure.in:886: -1- m4_pattern_allow([^clock_t$])
+m4trace:configure.in:887: -1- AC_DEFINE_TRACE_LITERAL([sigset_t])
+m4trace:configure.in:887: -1- m4_pattern_allow([^sigset_t$])
+m4trace:configure.in:888: -1- AC_DEFINE_TRACE_LITERAL([HAVE_QUAD_T])
+m4trace:configure.in:888: -1- m4_pattern_allow([^HAVE_QUAD_T$])
+m4trace:configure.in:888: -1- AC_DEFINE_TRACE_LITERAL([quad_t])
+m4trace:configure.in:888: -1- m4_pattern_allow([^quad_t$])
+m4trace:configure.in:889: -1- AC_DEFINE_TRACE_LITERAL([intmax_t])
+m4trace:configure.in:889: -1- m4_pattern_allow([^intmax_t$])
+m4trace:configure.in:890: -1- AC_DEFINE_TRACE_LITERAL([uintmax_t])
+m4trace:configure.in:890: -1- m4_pattern_allow([^uintmax_t$])
+m4trace:configure.in:892: -1- AC_DEFINE_TRACE_LITERAL([HAVE_SOCKLEN_T])
+m4trace:configure.in:892: -1- m4_pattern_allow([^HAVE_SOCKLEN_T$])
+m4trace:configure.in:892: -1- AC_DEFINE_TRACE_LITERAL([socklen_t])
+m4trace:configure.in:892: -1- m4_pattern_allow([^socklen_t$])
 m4trace:configure.in:894: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
-You should run autoupdate.], [autoconf/general.m4:2368: AC_TRY_COMPILE is expanded from...
-../../lib/m4sugar/m4sh.m4:523: AS_IF is expanded from...
-autoconf/general.m4:1905: AC_CACHE_VAL is expanded from...
-aclocal.m4:1060: BASH_STRUCT_DIRENT_D_FILENO is expanded from...
+You should run autoupdate.], [autoconf/general.m4:2384: AC_TRY_COMPILE is expanded from...
+../../lib/m4sugar/m4sh.m4:519: AS_IF is expanded from...
+autoconf/general.m4:1922: AC_CACHE_VAL is expanded from...
+aclocal.m4:532: BASH_TYPE_RLIMIT is expanded from...
 configure.in:894: the top level])
-m4trace:configure.in:894: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRUCT_DIRENT_D_FILENO])
-m4trace:configure.in:894: -1- m4_pattern_allow([^HAVE_STRUCT_DIRENT_D_FILENO$])
-m4trace:configure.in:895: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
-You should run autoupdate.], [autoconf/general.m4:2368: AC_TRY_COMPILE is expanded from...
-../../lib/m4sugar/m4sh.m4:523: AS_IF is expanded from...
-autoconf/general.m4:1905: AC_CACHE_VAL is expanded from...
-aclocal.m4:1093: BASH_STRUCT_DIRENT_D_NAMLEN is expanded from...
-configure.in:895: the top level])
-m4trace:configure.in:895: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRUCT_DIRENT_D_NAMLEN])
-m4trace:configure.in:895: -1- m4_pattern_allow([^HAVE_STRUCT_DIRENT_D_NAMLEN$])
-m4trace:configure.in:896: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
-You should run autoupdate.], [autoconf/general.m4:2368: AC_TRY_COMPILE is expanded from...
-../../lib/m4sugar/m4sh.m4:523: AS_IF is expanded from...
-autoconf/general.m4:1905: AC_CACHE_VAL is expanded from...
-aclocal.m4:1158: BASH_STRUCT_WINSIZE is expanded from...
-configure.in:896: the top level])
-m4trace:configure.in:896: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
-You should run autoupdate.], [autoconf/general.m4:2368: AC_TRY_COMPILE is expanded from...
-../../lib/m4sugar/m4sh.m4:523: AS_IF is expanded from...
-autoconf/general.m4:2361: AC_COMPILE_IFELSE is expanded from...
-autoconf/general.m4:2368: AC_TRY_COMPILE is expanded from...
-../../lib/m4sugar/m4sh.m4:523: AS_IF is expanded from...
-autoconf/general.m4:1905: AC_CACHE_VAL is expanded from...
-aclocal.m4:1158: BASH_STRUCT_WINSIZE is expanded from...
-configure.in:896: the top level])
-m4trace:configure.in:896: -1- AC_DEFINE_TRACE_LITERAL([STRUCT_WINSIZE_IN_SYS_IOCTL])
-m4trace:configure.in:896: -1- m4_pattern_allow([^STRUCT_WINSIZE_IN_SYS_IOCTL$])
-m4trace:configure.in:896: -1- AC_DEFINE_TRACE_LITERAL([STRUCT_WINSIZE_IN_TERMIOS])
-m4trace:configure.in:896: -1- m4_pattern_allow([^STRUCT_WINSIZE_IN_TERMIOS$])
-m4trace:configure.in:897: -1- AC_DEFINE_TRACE_LITERAL([HAVE_TIMEVAL])
-m4trace:configure.in:897: -1- m4_pattern_allow([^HAVE_TIMEVAL$])
-m4trace:configure.in:898: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRUCT_STAT_ST_BLOCKS])
-m4trace:configure.in:898: -1- m4_pattern_allow([^HAVE_STRUCT_STAT_ST_BLOCKS$])
-m4trace:configure.in:898: -1- AH_OUTPUT([HAVE_STRUCT_STAT_ST_BLOCKS], [/* Define to 1 if `st_blocks\' is member of `struct stat\'. */
+m4trace:configure.in:894: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
+You should run autoupdate.], [autoconf/general.m4:2490: AC_TRY_RUN is expanded from...
+../../lib/m4sugar/m4sh.m4:519: AS_IF is expanded from...
+autoconf/general.m4:2377: AC_COMPILE_IFELSE is expanded from...
+autoconf/general.m4:2384: AC_TRY_COMPILE is expanded from...
+../../lib/m4sugar/m4sh.m4:519: AS_IF is expanded from...
+autoconf/general.m4:1922: AC_CACHE_VAL is expanded from...
+aclocal.m4:532: BASH_TYPE_RLIMIT is expanded from...
+configure.in:894: the top level])
+m4trace:configure.in:894: -1- AC_DEFINE_TRACE_LITERAL([RLIMTYPE])
+m4trace:configure.in:894: -1- m4_pattern_allow([^RLIMTYPE$])
+m4trace:configure.in:894: -1- AC_DEFINE_TRACE_LITERAL([RLIMTYPE])
+m4trace:configure.in:894: -1- m4_pattern_allow([^RLIMTYPE$])
+m4trace:configure.in:897: -2- AC_DEFINE_TRACE_LITERAL([TERMIOS_LDISC])
+m4trace:configure.in:897: -2- m4_pattern_allow([^TERMIOS_LDISC$])
+m4trace:configure.in:898: -2- AC_DEFINE_TRACE_LITERAL([TERMIO_LDISC])
+m4trace:configure.in:898: -2- m4_pattern_allow([^TERMIO_LDISC$])
+m4trace:configure.in:899: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
+You should run autoupdate.], [autoconf/general.m4:2384: AC_TRY_COMPILE is expanded from...
+../../lib/m4sugar/m4sh.m4:519: AS_IF is expanded from...
+autoconf/general.m4:1922: AC_CACHE_VAL is expanded from...
+aclocal.m4:1058: BASH_STRUCT_DIRENT_D_INO is expanded from...
+configure.in:899: the top level])
+m4trace:configure.in:899: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRUCT_DIRENT_D_INO])
+m4trace:configure.in:899: -1- m4_pattern_allow([^HAVE_STRUCT_DIRENT_D_INO$])
+m4trace:configure.in:900: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
+You should run autoupdate.], [autoconf/general.m4:2384: AC_TRY_COMPILE is expanded from...
+../../lib/m4sugar/m4sh.m4:519: AS_IF is expanded from...
+autoconf/general.m4:1922: AC_CACHE_VAL is expanded from...
+aclocal.m4:1091: BASH_STRUCT_DIRENT_D_FILENO is expanded from...
+configure.in:900: the top level])
+m4trace:configure.in:900: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRUCT_DIRENT_D_FILENO])
+m4trace:configure.in:900: -1- m4_pattern_allow([^HAVE_STRUCT_DIRENT_D_FILENO$])
+m4trace:configure.in:901: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
+You should run autoupdate.], [autoconf/general.m4:2384: AC_TRY_COMPILE is expanded from...
+../../lib/m4sugar/m4sh.m4:519: AS_IF is expanded from...
+autoconf/general.m4:1922: AC_CACHE_VAL is expanded from...
+aclocal.m4:1124: BASH_STRUCT_DIRENT_D_NAMLEN is expanded from...
+configure.in:901: the top level])
+m4trace:configure.in:901: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRUCT_DIRENT_D_NAMLEN])
+m4trace:configure.in:901: -1- m4_pattern_allow([^HAVE_STRUCT_DIRENT_D_NAMLEN$])
+m4trace:configure.in:902: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
+You should run autoupdate.], [autoconf/general.m4:2384: AC_TRY_COMPILE is expanded from...
+../../lib/m4sugar/m4sh.m4:519: AS_IF is expanded from...
+autoconf/general.m4:1922: AC_CACHE_VAL is expanded from...
+aclocal.m4:1177: BASH_STRUCT_WINSIZE is expanded from...
+configure.in:902: the top level])
+m4trace:configure.in:902: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
+You should run autoupdate.], [autoconf/general.m4:2384: AC_TRY_COMPILE is expanded from...
+../../lib/m4sugar/m4sh.m4:519: AS_IF is expanded from...
+autoconf/general.m4:2377: AC_COMPILE_IFELSE is expanded from...
+autoconf/general.m4:2384: AC_TRY_COMPILE is expanded from...
+../../lib/m4sugar/m4sh.m4:519: AS_IF is expanded from...
+autoconf/general.m4:1922: AC_CACHE_VAL is expanded from...
+aclocal.m4:1177: BASH_STRUCT_WINSIZE is expanded from...
+configure.in:902: the top level])
+m4trace:configure.in:902: -1- AC_DEFINE_TRACE_LITERAL([STRUCT_WINSIZE_IN_SYS_IOCTL])
+m4trace:configure.in:902: -1- m4_pattern_allow([^STRUCT_WINSIZE_IN_SYS_IOCTL$])
+m4trace:configure.in:902: -1- AC_DEFINE_TRACE_LITERAL([STRUCT_WINSIZE_IN_TERMIOS])
+m4trace:configure.in:902: -1- m4_pattern_allow([^STRUCT_WINSIZE_IN_TERMIOS$])
+m4trace:configure.in:903: -1- AC_DEFINE_TRACE_LITERAL([HAVE_TIMEVAL])
+m4trace:configure.in:903: -1- m4_pattern_allow([^HAVE_TIMEVAL$])
+m4trace:configure.in:904: -1- AC_CHECK_MEMBERS([struct stat.st_blocks])
+m4trace:configure.in:904: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRUCT_STAT_ST_BLOCKS])
+m4trace:configure.in:904: -1- m4_pattern_allow([^HAVE_STRUCT_STAT_ST_BLOCKS$])
+m4trace:configure.in:904: -1- AH_OUTPUT([HAVE_STRUCT_STAT_ST_BLOCKS], [/* Define to 1 if `st_blocks\' is member of `struct stat\'. */
 #undef HAVE_STRUCT_STAT_ST_BLOCKS])
-m4trace:configure.in:899: -1- AC_DEFINE_TRACE_LITERAL([TM_IN_SYS_TIME])
-m4trace:configure.in:899: -1- m4_pattern_allow([^TM_IN_SYS_TIME$])
-m4trace:configure.in:899: -1- AH_OUTPUT([TM_IN_SYS_TIME], [/* Define to 1 if your <sys/time.h> declares `struct tm\'. */
+m4trace:configure.in:905: -1- AC_STRUCT_TM
+m4trace:configure.in:905: -1- AC_DEFINE_TRACE_LITERAL([TM_IN_SYS_TIME])
+m4trace:configure.in:905: -1- m4_pattern_allow([^TM_IN_SYS_TIME$])
+m4trace:configure.in:905: -1- AH_OUTPUT([TM_IN_SYS_TIME], [/* Define to 1 if your <sys/time.h> declares `struct tm\'. */
 #undef TM_IN_SYS_TIME])
-m4trace:configure.in:900: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRUCT_TM_TM_ZONE])
-m4trace:configure.in:900: -1- m4_pattern_allow([^HAVE_STRUCT_TM_TM_ZONE$])
-m4trace:configure.in:900: -1- AH_OUTPUT([HAVE_STRUCT_TM_TM_ZONE], [/* Define to 1 if `tm_zone\' is member of `struct tm\'. */
+m4trace:configure.in:906: -1- AC_STRUCT_TIMEZONE
+m4trace:configure.in:906: -1- AC_CHECK_MEMBERS([struct tm.tm_zone], [], [], [#include <sys/types.h>
+#include <$ac_cv_struct_tm>
+])
+m4trace:configure.in:906: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRUCT_TM_TM_ZONE])
+m4trace:configure.in:906: -1- m4_pattern_allow([^HAVE_STRUCT_TM_TM_ZONE$])
+m4trace:configure.in:906: -1- AH_OUTPUT([HAVE_STRUCT_TM_TM_ZONE], [/* Define to 1 if `tm_zone\' is member of `struct tm\'. */
 #undef HAVE_STRUCT_TM_TM_ZONE])
-m4trace:configure.in:900: -1- AC_DEFINE_TRACE_LITERAL([HAVE_TM_ZONE])
-m4trace:configure.in:900: -1- m4_pattern_allow([^HAVE_TM_ZONE$])
-m4trace:configure.in:900: -1- AH_OUTPUT([HAVE_TM_ZONE], [/* Define to 1 if your `struct tm\' has `tm_zone\'. Deprecated, use
+m4trace:configure.in:906: -1- AC_DEFINE_TRACE_LITERAL([HAVE_TM_ZONE])
+m4trace:configure.in:906: -1- m4_pattern_allow([^HAVE_TM_ZONE$])
+m4trace:configure.in:906: -1- AH_OUTPUT([HAVE_TM_ZONE], [/* Define to 1 if your `struct tm\' has `tm_zone\'. Deprecated, use
    `HAVE_STRUCT_TM_TM_ZONE\' instead. */
 #undef HAVE_TM_ZONE])
-m4trace:configure.in:900: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_TZNAME])
-m4trace:configure.in:900: -1- m4_pattern_allow([^HAVE_DECL_TZNAME$])
-m4trace:configure.in:900: -1- AH_OUTPUT([HAVE_DECL_TZNAME], [/* Define to 1 if you have the declaration of `tzname\', and to 0 if you don\'t.
+m4trace:configure.in:906: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_TZNAME])
+m4trace:configure.in:906: -1- m4_pattern_allow([^HAVE_DECL_TZNAME$])
+m4trace:configure.in:906: -1- AH_OUTPUT([HAVE_DECL_TZNAME], [/* Define to 1 if you have the declaration of `tzname\', and to 0 if you don\'t.
    */
 #undef HAVE_DECL_TZNAME])
-m4trace:configure.in:900: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_TZNAME])
-m4trace:configure.in:900: -1- m4_pattern_allow([^HAVE_DECL_TZNAME$])
-m4trace:configure.in:900: -1- AC_DEFINE_TRACE_LITERAL([HAVE_TZNAME])
-m4trace:configure.in:900: -1- m4_pattern_allow([^HAVE_TZNAME$])
-m4trace:configure.in:900: -1- AH_OUTPUT([HAVE_TZNAME], [/* Define to 1 if you don\'t have `tm_zone\' but do have the external array
+m4trace:configure.in:906: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_TZNAME])
+m4trace:configure.in:906: -1- m4_pattern_allow([^HAVE_DECL_TZNAME$])
+m4trace:configure.in:906: -1- AC_DEFINE_TRACE_LITERAL([HAVE_TZNAME])
+m4trace:configure.in:906: -1- m4_pattern_allow([^HAVE_TZNAME$])
+m4trace:configure.in:906: -1- AH_OUTPUT([HAVE_TZNAME], [/* Define to 1 if you don\'t have `tm_zone\' but do have the external array
    `tzname\'. */
 #undef HAVE_TZNAME])
-m4trace:configure.in:901: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRUCT_TIMEZONE])
-m4trace:configure.in:901: -1- m4_pattern_allow([^HAVE_STRUCT_TIMEZONE$])
-m4trace:configure.in:904: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
-You should run autoupdate.], [autoconf/general.m4:2415: AC_TRY_LINK is expanded from...
-../../lib/m4sugar/m4sh.m4:523: AS_IF is expanded from...
-autoconf/general.m4:1905: AC_CACHE_VAL is expanded from...
-aclocal.m4:296: BASH_FUNC_STRSIGNAL is expanded from...
-configure.in:904: the top level])
-m4trace:configure.in:904: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRSIGNAL])
-m4trace:configure.in:904: -1- m4_pattern_allow([^HAVE_STRSIGNAL$])
-m4trace:configure.in:905: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
-You should run autoupdate.], [autoconf/general.m4:2479: AC_TRY_RUN is expanded from...
-../../lib/m4sugar/m4sh.m4:523: AS_IF is expanded from...
-autoconf/general.m4:1905: AC_CACHE_VAL is expanded from...
-aclocal.m4:310: BASH_FUNC_OPENDIR_CHECK is expanded from...
-configure.in:905: the top level])
-m4trace:configure.in:905: -1- AC_DEFINE_TRACE_LITERAL([OPENDIR_NOT_ROBUST])
-m4trace:configure.in:905: -1- m4_pattern_allow([^OPENDIR_NOT_ROBUST$])
-m4trace:configure.in:906: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
-You should run autoupdate.], [autoconf/general.m4:2479: AC_TRY_RUN is expanded from...
-../../lib/m4sugar/m4sh.m4:523: AS_IF is expanded from...
-autoconf/general.m4:1905: AC_CACHE_VAL is expanded from...
-aclocal.m4:668: BASH_FUNC_ULIMIT_MAXFDS is expanded from...
-configure.in:906: the top level])
-m4trace:configure.in:906: -1- AC_DEFINE_TRACE_LITERAL([ULIMIT_MAXFDS])
-m4trace:configure.in:906: -1- m4_pattern_allow([^ULIMIT_MAXFDS$])
-m4trace:configure.in:907: -1- AH_OUTPUT([HAVE_FPURGE], [/* Define to 1 if you have the `fpurge\' function. */
+m4trace:configure.in:907: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRUCT_TIMEZONE])
+m4trace:configure.in:907: -1- m4_pattern_allow([^HAVE_STRUCT_TIMEZONE$])
+m4trace:configure.in:910: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+You should run autoupdate.], [autoconf/general.m4:2426: AC_TRY_LINK is expanded from...
+../../lib/m4sugar/m4sh.m4:519: AS_IF is expanded from...
+autoconf/general.m4:1922: AC_CACHE_VAL is expanded from...
+aclocal.m4:307: BASH_FUNC_STRSIGNAL is expanded from...
+configure.in:910: the top level])
+m4trace:configure.in:910: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRSIGNAL])
+m4trace:configure.in:910: -1- m4_pattern_allow([^HAVE_STRSIGNAL$])
+m4trace:configure.in:911: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
+You should run autoupdate.], [autoconf/general.m4:2490: AC_TRY_RUN is expanded from...
+../../lib/m4sugar/m4sh.m4:519: AS_IF is expanded from...
+autoconf/general.m4:1922: AC_CACHE_VAL is expanded from...
+aclocal.m4:360: BASH_FUNC_OPENDIR_CHECK is expanded from...
+configure.in:911: the top level])
+m4trace:configure.in:911: -1- AC_DEFINE_TRACE_LITERAL([OPENDIR_NOT_ROBUST])
+m4trace:configure.in:911: -1- m4_pattern_allow([^OPENDIR_NOT_ROBUST$])
+m4trace:configure.in:912: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
+You should run autoupdate.], [autoconf/general.m4:2490: AC_TRY_RUN is expanded from...
+../../lib/m4sugar/m4sh.m4:519: AS_IF is expanded from...
+autoconf/general.m4:1922: AC_CACHE_VAL is expanded from...
+aclocal.m4:685: BASH_FUNC_ULIMIT_MAXFDS is expanded from...
+configure.in:912: the top level])
+m4trace:configure.in:912: -1- AC_DEFINE_TRACE_LITERAL([ULIMIT_MAXFDS])
+m4trace:configure.in:912: -1- m4_pattern_allow([^ULIMIT_MAXFDS$])
+m4trace:configure.in:913: -1- AH_OUTPUT([HAVE_FPURGE], [/* Define to 1 if you have the `fpurge\' function. */
 #undef HAVE_FPURGE])
-m4trace:configure.in:907: -1- AH_OUTPUT([HAVE___FPURGE], [/* Define to 1 if you have the `__fpurge\' function. */
+m4trace:configure.in:913: -1- AC_CHECK_FUNCS([$ac_func_list])
+m4trace:configure.in:913: -1- AH_OUTPUT([HAVE___FPURGE], [/* Define to 1 if you have the `__fpurge\' function. */
 #undef HAVE___FPURGE])
-m4trace:configure.in:907: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_FPURGE])
-m4trace:configure.in:907: -1- m4_pattern_allow([^HAVE_DECL_FPURGE$])
-m4trace:configure.in:907: -1- AH_OUTPUT([HAVE_DECL_FPURGE], [/* Define to 1 if you have the declaration of `fpurge\', and to 0 if you don\'t.
+m4trace:configure.in:913: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_FPURGE])
+m4trace:configure.in:913: -1- m4_pattern_allow([^HAVE_DECL_FPURGE$])
+m4trace:configure.in:913: -1- AH_OUTPUT([HAVE_DECL_FPURGE], [/* Define to 1 if you have the declaration of `fpurge\', and to 0 if you don\'t.
    */
 #undef HAVE_DECL_FPURGE])
-m4trace:configure.in:907: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_FPURGE])
-m4trace:configure.in:907: -1- m4_pattern_allow([^HAVE_DECL_FPURGE$])
-m4trace:configure.in:908: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
-You should run autoupdate.], [autoconf/general.m4:2479: AC_TRY_RUN is expanded from...
-../../lib/m4sugar/m4sh.m4:523: AS_IF is expanded from...
-autoconf/general.m4:1905: AC_CACHE_VAL is expanded from...
-aclocal.m4:564: BASH_FUNC_GETENV is expanded from...
-configure.in:908: the top level])
-m4trace:configure.in:908: -1- AC_DEFINE_TRACE_LITERAL([CAN_REDEFINE_GETENV])
-m4trace:configure.in:908: -1- m4_pattern_allow([^CAN_REDEFINE_GETENV$])
-m4trace:configure.in:910: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
-You should run autoupdate.], [autoconf/general.m4:2479: AC_TRY_RUN is expanded from...
-../../lib/m4sugar/m4sh.m4:523: AS_IF is expanded from...
-autoconf/general.m4:1905: AC_CACHE_VAL is expanded from...
-aclocal.m4:687: BASH_FUNC_GETCWD is expanded from...
-configure.in:910: the top level])
-m4trace:configure.in:910: -1- AC_DEFINE_TRACE_LITERAL([GETCWD_BROKEN])
-m4trace:configure.in:910: -1- m4_pattern_allow([^GETCWD_BROKEN$])
-m4trace:configure.in:910: -1- AC_LIBSOURCE([getcwd.c])
-m4trace:configure.in:910: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS getcwd.$ac_objext"])
-m4trace:configure.in:910: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
-m4trace:configure.in:910: -1- m4_pattern_allow([^LIB@&t@OBJS$])
-m4trace:configure.in:912: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
-You should run autoupdate.], [autoconf/general.m4:2479: AC_TRY_RUN is expanded from...
-../../lib/m4sugar/m4sh.m4:523: AS_IF is expanded from...
-autoconf/general.m4:1905: AC_CACHE_VAL is expanded from...
-aclocal.m4:763: BASH_FUNC_POSIX_SETJMP is expanded from...
-configure.in:912: the top level])
-m4trace:configure.in:912: -1- AC_DEFINE_TRACE_LITERAL([HAVE_POSIX_SIGSETJMP])
-m4trace:configure.in:912: -1- m4_pattern_allow([^HAVE_POSIX_SIGSETJMP$])
-m4trace:configure.in:913: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
-You should run autoupdate.], [autoconf/general.m4:2479: AC_TRY_RUN is expanded from...
-../../lib/m4sugar/m4sh.m4:523: AS_IF is expanded from...
-autoconf/general.m4:1905: AC_CACHE_VAL is expanded from...
-aclocal.m4:814: BASH_FUNC_STRCOLL is expanded from...
-configure.in:913: the top level])
-m4trace:configure.in:913: -1- AC_DEFINE_TRACE_LITERAL([STRCOLL_BROKEN])
-m4trace:configure.in:913: -1- m4_pattern_allow([^STRCOLL_BROKEN$])
-m4trace:configure.in:919: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
-You should run autoupdate.], [autoconf/general.m4:2415: AC_TRY_LINK is expanded from...
-../../lib/m4sugar/m4sh.m4:523: AS_IF is expanded from...
-autoconf/general.m4:1905: AC_CACHE_VAL is expanded from...
-autoconf/general.m4:1918: AC_CACHE_CHECK is expanded from...
-aclocal.m4:609: BASH_FUNC_STD_PUTENV is expanded from...
+m4trace:configure.in:913: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_FPURGE])
+m4trace:configure.in:913: -1- m4_pattern_allow([^HAVE_DECL_FPURGE$])
+m4trace:configure.in:914: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
+You should run autoupdate.], [autoconf/general.m4:2490: AC_TRY_RUN is expanded from...
+../../lib/m4sugar/m4sh.m4:519: AS_IF is expanded from...
+autoconf/general.m4:1922: AC_CACHE_VAL is expanded from...
+aclocal.m4:606: BASH_FUNC_GETENV is expanded from...
+configure.in:914: the top level])
+m4trace:configure.in:914: -1- AC_DEFINE_TRACE_LITERAL([CAN_REDEFINE_GETENV])
+m4trace:configure.in:914: -1- m4_pattern_allow([^CAN_REDEFINE_GETENV$])
+m4trace:configure.in:916: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
+You should run autoupdate.], [autoconf/general.m4:2490: AC_TRY_RUN is expanded from...
+../../lib/m4sugar/m4sh.m4:519: AS_IF is expanded from...
+autoconf/general.m4:1922: AC_CACHE_VAL is expanded from...
+aclocal.m4:711: BASH_FUNC_GETCWD is expanded from...
+configure.in:916: the top level])
+m4trace:configure.in:916: -1- AC_DEFINE_TRACE_LITERAL([GETCWD_BROKEN])
+m4trace:configure.in:916: -1- m4_pattern_allow([^GETCWD_BROKEN$])
+m4trace:configure.in:916: -1- AC_LIBSOURCE([getcwd.c])
+m4trace:configure.in:916: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS getcwd.$ac_objext"])
+m4trace:configure.in:916: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
+m4trace:configure.in:916: -1- m4_pattern_allow([^LIB@&t@OBJS$])
+m4trace:configure.in:918: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
+You should run autoupdate.], [autoconf/general.m4:2490: AC_TRY_RUN is expanded from...
+../../lib/m4sugar/m4sh.m4:519: AS_IF is expanded from...
+autoconf/general.m4:1922: AC_CACHE_VAL is expanded from...
+aclocal.m4:812: BASH_FUNC_POSIX_SETJMP is expanded from...
+configure.in:918: the top level])
+m4trace:configure.in:918: -1- AC_DEFINE_TRACE_LITERAL([HAVE_POSIX_SIGSETJMP])
+m4trace:configure.in:918: -1- m4_pattern_allow([^HAVE_POSIX_SIGSETJMP$])
+m4trace:configure.in:919: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
+You should run autoupdate.], [autoconf/general.m4:2490: AC_TRY_RUN is expanded from...
+../../lib/m4sugar/m4sh.m4:519: AS_IF is expanded from...
+autoconf/general.m4:1922: AC_CACHE_VAL is expanded from...
+aclocal.m4:861: BASH_FUNC_STRCOLL is expanded from...
 configure.in:919: the top level])
-m4trace:configure.in:919: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STD_PUTENV])
-m4trace:configure.in:919: -1- m4_pattern_allow([^HAVE_STD_PUTENV$])
-m4trace:configure.in:921: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STD_PUTENV])
-m4trace:configure.in:921: -1- m4_pattern_allow([^HAVE_STD_PUTENV$])
-m4trace:configure.in:924: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
-You should run autoupdate.], [autoconf/general.m4:2415: AC_TRY_LINK is expanded from...
-../../lib/m4sugar/m4sh.m4:523: AS_IF is expanded from...
-autoconf/general.m4:1905: AC_CACHE_VAL is expanded from...
-autoconf/general.m4:1918: AC_CACHE_CHECK is expanded from...
-aclocal.m4:639: BASH_FUNC_STD_UNSETENV is expanded from...
-configure.in:924: the top level])
-m4trace:configure.in:924: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STD_UNSETENV])
-m4trace:configure.in:924: -1- m4_pattern_allow([^HAVE_STD_UNSETENV$])
-m4trace:configure.in:926: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STD_UNSETENV])
-m4trace:configure.in:926: -1- m4_pattern_allow([^HAVE_STD_UNSETENV$])
-m4trace:configure.in:929: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
-You should run autoupdate.], [autoconf/general.m4:2479: AC_TRY_RUN is expanded from...
-../../lib/m4sugar/m4sh.m4:523: AS_IF is expanded from...
-autoconf/general.m4:1905: AC_CACHE_VAL is expanded from...
-aclocal.m4:863: BASH_FUNC_PRINTF_A_FORMAT is expanded from...
-configure.in:929: the top level])
-m4trace:configure.in:929: -1- AC_DEFINE_TRACE_LITERAL([HAVE_PRINTF_A_FORMAT])
-m4trace:configure.in:929: -1- m4_pattern_allow([^HAVE_PRINTF_A_FORMAT$])
-m4trace:configure.in:932: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
-You should run autoupdate.], [autoconf/general.m4:2479: AC_TRY_RUN is expanded from...
-../../lib/m4sugar/m4sh.m4:523: AS_IF is expanded from...
-autoconf/general.m4:1905: AC_CACHE_VAL is expanded from...
-aclocal.m4:1282: BASH_SYS_REINSTALL_SIGHANDLERS is expanded from...
-configure.in:932: the top level])
-m4trace:configure.in:932: -1- AC_DEFINE_TRACE_LITERAL([MUST_REINSTALL_SIGHANDLERS])
-m4trace:configure.in:932: -1- m4_pattern_allow([^MUST_REINSTALL_SIGHANDLERS$])
-m4trace:configure.in:933: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
-You should run autoupdate.], [autoconf/general.m4:2479: AC_TRY_RUN is expanded from...
-../../lib/m4sugar/m4sh.m4:523: AS_IF is expanded from...
-autoconf/general.m4:1905: AC_CACHE_VAL is expanded from...
-aclocal.m4:1341: BASH_SYS_JOB_CONTROL_MISSING is expanded from...
-configure.in:933: the top level])
-m4trace:configure.in:933: -1- AC_DEFINE_TRACE_LITERAL([JOB_CONTROL_MISSING])
-m4trace:configure.in:933: -1- m4_pattern_allow([^JOB_CONTROL_MISSING$])
-m4trace:configure.in:934: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
-You should run autoupdate.], [autoconf/general.m4:2479: AC_TRY_RUN is expanded from...
-../../lib/m4sugar/m4sh.m4:523: AS_IF is expanded from...
-autoconf/general.m4:1905: AC_CACHE_VAL is expanded from...
-aclocal.m4:1400: BASH_SYS_NAMED_PIPES is expanded from...
-configure.in:934: the top level])
-m4trace:configure.in:934: -1- AC_DEFINE_TRACE_LITERAL([NAMED_PIPES_MISSING])
-m4trace:configure.in:934: -1- m4_pattern_allow([^NAMED_PIPES_MISSING$])
-m4trace:configure.in:937: -1- AC_DEFINE_TRACE_LITERAL([GWINSZ_IN_SYS_IOCTL])
-m4trace:configure.in:937: -1- m4_pattern_allow([^GWINSZ_IN_SYS_IOCTL$])
-m4trace:configure.in:937: -1- AH_OUTPUT([GWINSZ_IN_SYS_IOCTL], [/* Define to 1 if `TIOCGWINSZ\' requires <sys/ioctl.h>. */
-#undef GWINSZ_IN_SYS_IOCTL])
-m4trace:configure.in:938: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
-You should run autoupdate.], [autoconf/general.m4:2368: AC_TRY_COMPILE is expanded from...
-../../lib/m4sugar/m4sh.m4:523: AS_IF is expanded from...
-autoconf/general.m4:1905: AC_CACHE_VAL is expanded from...
-aclocal.m4:1481: BASH_HAVE_TIOCSTAT is expanded from...
+m4trace:configure.in:919: -1- AC_DEFINE_TRACE_LITERAL([STRCOLL_BROKEN])
+m4trace:configure.in:919: -1- m4_pattern_allow([^STRCOLL_BROKEN$])
+m4trace:configure.in:925: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+You should run autoupdate.], [autoconf/general.m4:2426: AC_TRY_LINK is expanded from...
+../../lib/m4sugar/m4sh.m4:519: AS_IF is expanded from...
+autoconf/general.m4:1922: AC_CACHE_VAL is expanded from...
+autoconf/general.m4:1935: AC_CACHE_CHECK is expanded from...
+aclocal.m4:636: BASH_FUNC_STD_PUTENV is expanded from...
+configure.in:925: the top level])
+m4trace:configure.in:925: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STD_PUTENV])
+m4trace:configure.in:925: -1- m4_pattern_allow([^HAVE_STD_PUTENV$])
+m4trace:configure.in:927: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STD_PUTENV])
+m4trace:configure.in:927: -1- m4_pattern_allow([^HAVE_STD_PUTENV$])
+m4trace:configure.in:930: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+You should run autoupdate.], [autoconf/general.m4:2426: AC_TRY_LINK is expanded from...
+../../lib/m4sugar/m4sh.m4:519: AS_IF is expanded from...
+autoconf/general.m4:1922: AC_CACHE_VAL is expanded from...
+autoconf/general.m4:1935: AC_CACHE_CHECK is expanded from...
+aclocal.m4:666: BASH_FUNC_STD_UNSETENV is expanded from...
+configure.in:930: the top level])
+m4trace:configure.in:930: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STD_UNSETENV])
+m4trace:configure.in:930: -1- m4_pattern_allow([^HAVE_STD_UNSETENV$])
+m4trace:configure.in:932: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STD_UNSETENV])
+m4trace:configure.in:932: -1- m4_pattern_allow([^HAVE_STD_UNSETENV$])
+m4trace:configure.in:935: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
+You should run autoupdate.], [autoconf/general.m4:2490: AC_TRY_RUN is expanded from...
+../../lib/m4sugar/m4sh.m4:519: AS_IF is expanded from...
+autoconf/general.m4:1922: AC_CACHE_VAL is expanded from...
+aclocal.m4:887: BASH_FUNC_PRINTF_A_FORMAT is expanded from...
+configure.in:935: the top level])
+m4trace:configure.in:935: -1- AC_DEFINE_TRACE_LITERAL([HAVE_PRINTF_A_FORMAT])
+m4trace:configure.in:935: -1- m4_pattern_allow([^HAVE_PRINTF_A_FORMAT$])
+m4trace:configure.in:938: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
+You should run autoupdate.], [autoconf/general.m4:2490: AC_TRY_RUN is expanded from...
+../../lib/m4sugar/m4sh.m4:519: AS_IF is expanded from...
+autoconf/general.m4:1922: AC_CACHE_VAL is expanded from...
+aclocal.m4:1338: BASH_SYS_REINSTALL_SIGHANDLERS is expanded from...
 configure.in:938: the top level])
-m4trace:configure.in:938: -1- AC_DEFINE_TRACE_LITERAL([TIOCSTAT_IN_SYS_IOCTL])
-m4trace:configure.in:938: -1- m4_pattern_allow([^TIOCSTAT_IN_SYS_IOCTL$])
-m4trace:configure.in:939: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
-You should run autoupdate.], [autoconf/general.m4:2368: AC_TRY_COMPILE is expanded from...
-../../lib/m4sugar/m4sh.m4:523: AS_IF is expanded from...
-autoconf/general.m4:1905: AC_CACHE_VAL is expanded from...
-aclocal.m4:1493: BASH_HAVE_FIONREAD is expanded from...
+m4trace:configure.in:938: -1- AC_DEFINE_TRACE_LITERAL([MUST_REINSTALL_SIGHANDLERS])
+m4trace:configure.in:938: -1- m4_pattern_allow([^MUST_REINSTALL_SIGHANDLERS$])
+m4trace:configure.in:939: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
+You should run autoupdate.], [autoconf/general.m4:2490: AC_TRY_RUN is expanded from...
+../../lib/m4sugar/m4sh.m4:519: AS_IF is expanded from...
+autoconf/general.m4:1922: AC_CACHE_VAL is expanded from...
+aclocal.m4:1396: BASH_SYS_JOB_CONTROL_MISSING is expanded from...
 configure.in:939: the top level])
-m4trace:configure.in:939: -1- AC_DEFINE_TRACE_LITERAL([FIONREAD_IN_SYS_IOCTL])
-m4trace:configure.in:939: -1- m4_pattern_allow([^FIONREAD_IN_SYS_IOCTL$])
-m4trace:configure.in:941: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
-You should run autoupdate.], [autoconf/general.m4:2479: AC_TRY_RUN is expanded from...
-../../lib/m4sugar/m4sh.m4:523: AS_IF is expanded from...
-autoconf/general.m4:1905: AC_CACHE_VAL is expanded from...
-aclocal.m4:1909: BASH_CHECK_WCONTINUED is expanded from...
-configure.in:941: the top level])
-m4trace:configure.in:941: -1- AC_DEFINE_TRACE_LITERAL([WCONTINUED_BROKEN])
-m4trace:configure.in:941: -1- m4_pattern_allow([^WCONTINUED_BROKEN$])
+m4trace:configure.in:939: -1- AC_DEFINE_TRACE_LITERAL([JOB_CONTROL_MISSING])
+m4trace:configure.in:939: -1- m4_pattern_allow([^JOB_CONTROL_MISSING$])
+m4trace:configure.in:940: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
+You should run autoupdate.], [autoconf/general.m4:2490: AC_TRY_RUN is expanded from...
+../../lib/m4sugar/m4sh.m4:519: AS_IF is expanded from...
+autoconf/general.m4:1922: AC_CACHE_VAL is expanded from...
+aclocal.m4:1448: BASH_SYS_NAMED_PIPES is expanded from...
+configure.in:940: the top level])
+m4trace:configure.in:940: -1- AC_DEFINE_TRACE_LITERAL([NAMED_PIPES_MISSING])
+m4trace:configure.in:940: -1- m4_pattern_allow([^NAMED_PIPES_MISSING$])
+m4trace:configure.in:943: -1- AC_DEFINE_TRACE_LITERAL([GWINSZ_IN_SYS_IOCTL])
+m4trace:configure.in:943: -1- m4_pattern_allow([^GWINSZ_IN_SYS_IOCTL$])
+m4trace:configure.in:943: -1- AH_OUTPUT([GWINSZ_IN_SYS_IOCTL], [/* Define to 1 if `TIOCGWINSZ\' requires <sys/ioctl.h>. */
+#undef GWINSZ_IN_SYS_IOCTL])
 m4trace:configure.in:944: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
-You should run autoupdate.], [autoconf/general.m4:2368: AC_TRY_COMPILE is expanded from...
-../../lib/m4sugar/m4sh.m4:523: AS_IF is expanded from...
-autoconf/general.m4:1905: AC_CACHE_VAL is expanded from...
-aclocal.m4:1511: BASH_CHECK_SPEED_T is expanded from...
+You should run autoupdate.], [autoconf/general.m4:2384: AC_TRY_COMPILE is expanded from...
+../../lib/m4sugar/m4sh.m4:519: AS_IF is expanded from...
+autoconf/general.m4:1922: AC_CACHE_VAL is expanded from...
+aclocal.m4:1491: BASH_HAVE_TIOCSTAT is expanded from...
 configure.in:944: the top level])
-m4trace:configure.in:944: -1- AC_DEFINE_TRACE_LITERAL([SPEED_T_IN_SYS_TYPES])
-m4trace:configure.in:944: -1- m4_pattern_allow([^SPEED_T_IN_SYS_TYPES$])
-m4trace:configure.in:945: -1- AC_DEFINE_TRACE_LITERAL([HAVE_GETPW_DECLS])
-m4trace:configure.in:945: -1- m4_pattern_allow([^HAVE_GETPW_DECLS$])
-m4trace:configure.in:946: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
-You should run autoupdate.], [autoconf/general.m4:2479: AC_TRY_RUN is expanded from...
-../../lib/m4sugar/m4sh.m4:523: AS_IF is expanded from...
-autoconf/general.m4:1905: AC_CACHE_VAL is expanded from...
-aclocal.m4:1638: BASH_CHECK_RTSIGS is expanded from...
-configure.in:946: the top level])
-m4trace:configure.in:946: -1- AC_DEFINE_TRACE_LITERAL([UNUSABLE_RT_SIGNALS])
-m4trace:configure.in:946: -1- m4_pattern_allow([^UNUSABLE_RT_SIGNALS$])
-m4trace:configure.in:947: -1- AC_SUBST([SIGLIST_O])
-m4trace:configure.in:947: -1- AC_SUBST_TRACE([SIGLIST_O])
-m4trace:configure.in:947: -1- m4_pattern_allow([^SIGLIST_O$])
-m4trace:configure.in:951: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
-You should run autoupdate.], [autoconf/general.m4:2368: AC_TRY_COMPILE is expanded from...
-../../lib/m4sugar/m4sh.m4:523: AS_IF is expanded from...
-autoconf/general.m4:1905: AC_CACHE_VAL is expanded from...
-aclocal.m4:1590: BASH_CHECK_KERNEL_RLIMIT is expanded from...
-configure.in:951: the top level])
-m4trace:configure.in:951: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
-You should run autoupdate.], [autoconf/general.m4:2368: AC_TRY_COMPILE is expanded from...
-../../lib/m4sugar/m4sh.m4:523: AS_IF is expanded from...
-autoconf/general.m4:2361: AC_COMPILE_IFELSE is expanded from...
-autoconf/general.m4:2368: AC_TRY_COMPILE is expanded from...
-../../lib/m4sugar/m4sh.m4:523: AS_IF is expanded from...
-autoconf/general.m4:1905: AC_CACHE_VAL is expanded from...
-aclocal.m4:1590: BASH_CHECK_KERNEL_RLIMIT is expanded from...
-configure.in:951: the top level])
-m4trace:configure.in:951: -1- AC_DEFINE_TRACE_LITERAL([RLIMIT_NEEDS_KERNEL])
-m4trace:configure.in:951: -1- m4_pattern_allow([^RLIMIT_NEEDS_KERNEL$])
-m4trace:configure.in:961: -1- AC_SUBST([TERMCAP_LIB])
-m4trace:configure.in:961: -1- AC_SUBST_TRACE([TERMCAP_LIB])
-m4trace:configure.in:961: -1- m4_pattern_allow([^TERMCAP_LIB$])
-m4trace:configure.in:962: -1- AC_SUBST([TERMCAP_DEP])
-m4trace:configure.in:962: -1- AC_SUBST_TRACE([TERMCAP_DEP])
-m4trace:configure.in:962: -1- m4_pattern_allow([^TERMCAP_DEP$])
-m4trace:configure.in:964: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DEV_FD])
-m4trace:configure.in:964: -1- m4_pattern_allow([^HAVE_DEV_FD$])
-m4trace:configure.in:964: -1- AC_DEFINE_TRACE_LITERAL([DEV_FD_PREFIX])
-m4trace:configure.in:964: -1- m4_pattern_allow([^DEV_FD_PREFIX$])
-m4trace:configure.in:964: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DEV_FD])
-m4trace:configure.in:964: -1- m4_pattern_allow([^HAVE_DEV_FD$])
-m4trace:configure.in:964: -1- AC_DEFINE_TRACE_LITERAL([DEV_FD_PREFIX])
-m4trace:configure.in:964: -1- m4_pattern_allow([^DEV_FD_PREFIX$])
-m4trace:configure.in:965: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DEV_STDIN])
-m4trace:configure.in:965: -1- m4_pattern_allow([^HAVE_DEV_STDIN$])
-m4trace:configure.in:966: -1- AC_DEFINE_TRACE_LITERAL([DEFAULT_MAIL_DIRECTORY])
-m4trace:configure.in:966: -1- m4_pattern_allow([^DEFAULT_MAIL_DIRECTORY$])
-m4trace:configure.in:973: -1- AC_DEFINE_TRACE_LITERAL([JOB_CONTROL])
-m4trace:configure.in:973: -1- m4_pattern_allow([^JOB_CONTROL$])
-m4trace:configure.in:979: -1- AC_SUBST([JOBS_O])
-m4trace:configure.in:979: -1- AC_SUBST_TRACE([JOBS_O])
-m4trace:configure.in:979: -1- m4_pattern_allow([^JOBS_O$])
-m4trace:configure.in:992: -1- AC_DEFINE_TRACE_LITERAL([SVR4_2])
-m4trace:configure.in:992: -1- m4_pattern_allow([^SVR4_2$])
-m4trace:configure.in:993: -1- AC_DEFINE_TRACE_LITERAL([SVR4])
-m4trace:configure.in:993: -1- m4_pattern_allow([^SVR4$])
-m4trace:configure.in:994: -1- AC_DEFINE_TRACE_LITERAL([SVR4])
-m4trace:configure.in:994: -1- m4_pattern_allow([^SVR4$])
-m4trace:configure.in:995: -1- AC_DEFINE_TRACE_LITERAL([SVR5])
-m4trace:configure.in:995: -1- m4_pattern_allow([^SVR5$])
-m4trace:configure.in:1011: -1- AC_DEFINE_TRACE_LITERAL([PGRP_PIPE])
-m4trace:configure.in:1011: -1- m4_pattern_allow([^PGRP_PIPE$])
-m4trace:configure.in:1058: -1- AC_SUBST([SHOBJ_CC])
-m4trace:configure.in:1058: -1- AC_SUBST_TRACE([SHOBJ_CC])
-m4trace:configure.in:1058: -1- m4_pattern_allow([^SHOBJ_CC$])
-m4trace:configure.in:1059: -1- AC_SUBST([SHOBJ_CFLAGS])
-m4trace:configure.in:1059: -1- AC_SUBST_TRACE([SHOBJ_CFLAGS])
-m4trace:configure.in:1059: -1- m4_pattern_allow([^SHOBJ_CFLAGS$])
-m4trace:configure.in:1060: -1- AC_SUBST([SHOBJ_LD])
-m4trace:configure.in:1060: -1- AC_SUBST_TRACE([SHOBJ_LD])
-m4trace:configure.in:1060: -1- m4_pattern_allow([^SHOBJ_LD$])
-m4trace:configure.in:1061: -1- AC_SUBST([SHOBJ_LDFLAGS])
-m4trace:configure.in:1061: -1- AC_SUBST_TRACE([SHOBJ_LDFLAGS])
-m4trace:configure.in:1061: -1- m4_pattern_allow([^SHOBJ_LDFLAGS$])
-m4trace:configure.in:1062: -1- AC_SUBST([SHOBJ_XLDFLAGS])
-m4trace:configure.in:1062: -1- AC_SUBST_TRACE([SHOBJ_XLDFLAGS])
-m4trace:configure.in:1062: -1- m4_pattern_allow([^SHOBJ_XLDFLAGS$])
-m4trace:configure.in:1063: -1- AC_SUBST([SHOBJ_LIBS])
-m4trace:configure.in:1063: -1- AC_SUBST_TRACE([SHOBJ_LIBS])
-m4trace:configure.in:1063: -1- m4_pattern_allow([^SHOBJ_LIBS$])
-m4trace:configure.in:1064: -1- AC_SUBST([SHOBJ_STATUS])
-m4trace:configure.in:1064: -1- AC_SUBST_TRACE([SHOBJ_STATUS])
-m4trace:configure.in:1064: -1- m4_pattern_allow([^SHOBJ_STATUS$])
-m4trace:configure.in:1096: -1- AC_SUBST([PROFILE_FLAGS])
-m4trace:configure.in:1096: -1- AC_SUBST_TRACE([PROFILE_FLAGS])
-m4trace:configure.in:1096: -1- m4_pattern_allow([^PROFILE_FLAGS$])
-m4trace:configure.in:1098: -1- AC_SUBST([incdir])
-m4trace:configure.in:1098: -1- AC_SUBST_TRACE([incdir])
-m4trace:configure.in:1098: -1- m4_pattern_allow([^incdir$])
-m4trace:configure.in:1099: -1- AC_SUBST([BUILD_DIR])
-m4trace:configure.in:1099: -1- AC_SUBST_TRACE([BUILD_DIR])
-m4trace:configure.in:1099: -1- m4_pattern_allow([^BUILD_DIR$])
-m4trace:configure.in:1102: -1- AC_SUBST([datarootdir])
-m4trace:configure.in:1102: -1- AC_SUBST_TRACE([datarootdir])
-m4trace:configure.in:1102: -1- m4_pattern_allow([^datarootdir$])
-m4trace:configure.in:1103: -1- AC_SUBST([localedir])
-m4trace:configure.in:1103: -1- AC_SUBST_TRACE([localedir])
-m4trace:configure.in:1103: -1- m4_pattern_allow([^localedir$])
-m4trace:configure.in:1105: -1- AC_SUBST([YACC])
-m4trace:configure.in:1105: -1- AC_SUBST_TRACE([YACC])
-m4trace:configure.in:1105: -1- m4_pattern_allow([^YACC$])
-m4trace:configure.in:1106: -1- AC_SUBST([AR])
-m4trace:configure.in:1106: -1- AC_SUBST_TRACE([AR])
-m4trace:configure.in:1106: -1- m4_pattern_allow([^AR$])
-m4trace:configure.in:1107: -1- AC_SUBST([ARFLAGS])
-m4trace:configure.in:1107: -1- AC_SUBST_TRACE([ARFLAGS])
-m4trace:configure.in:1107: -1- m4_pattern_allow([^ARFLAGS$])
-m4trace:configure.in:1109: -1- AC_SUBST([BASHVERS])
-m4trace:configure.in:1109: -1- AC_SUBST_TRACE([BASHVERS])
-m4trace:configure.in:1109: -1- m4_pattern_allow([^BASHVERS$])
-m4trace:configure.in:1110: -1- AC_SUBST([RELSTATUS])
-m4trace:configure.in:1110: -1- AC_SUBST_TRACE([RELSTATUS])
-m4trace:configure.in:1110: -1- m4_pattern_allow([^RELSTATUS$])
-m4trace:configure.in:1111: -1- AC_SUBST([DEBUG])
-m4trace:configure.in:1111: -1- AC_SUBST_TRACE([DEBUG])
-m4trace:configure.in:1111: -1- m4_pattern_allow([^DEBUG$])
-m4trace:configure.in:1112: -1- AC_SUBST([MALLOC_DEBUG])
-m4trace:configure.in:1112: -1- AC_SUBST_TRACE([MALLOC_DEBUG])
-m4trace:configure.in:1112: -1- m4_pattern_allow([^MALLOC_DEBUG$])
-m4trace:configure.in:1114: -1- AC_SUBST([host_cpu])
-m4trace:configure.in:1114: -1- AC_SUBST_TRACE([host_cpu])
-m4trace:configure.in:1114: -1- m4_pattern_allow([^host_cpu$])
-m4trace:configure.in:1115: -1- AC_SUBST([host_vendor])
-m4trace:configure.in:1115: -1- AC_SUBST_TRACE([host_vendor])
-m4trace:configure.in:1115: -1- m4_pattern_allow([^host_vendor$])
-m4trace:configure.in:1116: -1- AC_SUBST([host_os])
-m4trace:configure.in:1116: -1- AC_SUBST_TRACE([host_os])
-m4trace:configure.in:1116: -1- m4_pattern_allow([^host_os$])
-m4trace:configure.in:1118: -1- AC_SUBST([LOCAL_LIBS])
-m4trace:configure.in:1118: -1- AC_SUBST_TRACE([LOCAL_LIBS])
-m4trace:configure.in:1118: -1- m4_pattern_allow([^LOCAL_LIBS$])
-m4trace:configure.in:1119: -1- AC_SUBST([LOCAL_CFLAGS])
-m4trace:configure.in:1119: -1- AC_SUBST_TRACE([LOCAL_CFLAGS])
-m4trace:configure.in:1119: -1- m4_pattern_allow([^LOCAL_CFLAGS$])
-m4trace:configure.in:1120: -1- AC_SUBST([LOCAL_LDFLAGS])
-m4trace:configure.in:1120: -1- AC_SUBST_TRACE([LOCAL_LDFLAGS])
-m4trace:configure.in:1120: -1- m4_pattern_allow([^LOCAL_LDFLAGS$])
-m4trace:configure.in:1121: -1- AC_SUBST([LOCAL_DEFS])
-m4trace:configure.in:1121: -1- AC_SUBST_TRACE([LOCAL_DEFS])
-m4trace:configure.in:1121: -1- m4_pattern_allow([^LOCAL_DEFS$])
-m4trace:configure.in:1126: -1- AC_CONFIG_FILES([Makefile builtins/Makefile lib/readline/Makefile lib/glob/Makefile \
+m4trace:configure.in:944: -1- AC_DEFINE_TRACE_LITERAL([TIOCSTAT_IN_SYS_IOCTL])
+m4trace:configure.in:944: -1- m4_pattern_allow([^TIOCSTAT_IN_SYS_IOCTL$])
+m4trace:configure.in:945: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
+You should run autoupdate.], [autoconf/general.m4:2384: AC_TRY_COMPILE is expanded from...
+../../lib/m4sugar/m4sh.m4:519: AS_IF is expanded from...
+autoconf/general.m4:1922: AC_CACHE_VAL is expanded from...
+aclocal.m4:1503: BASH_HAVE_FIONREAD is expanded from...
+configure.in:945: the top level])
+m4trace:configure.in:945: -1- AC_DEFINE_TRACE_LITERAL([FIONREAD_IN_SYS_IOCTL])
+m4trace:configure.in:945: -1- m4_pattern_allow([^FIONREAD_IN_SYS_IOCTL$])
+m4trace:configure.in:947: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
+You should run autoupdate.], [autoconf/general.m4:2490: AC_TRY_RUN is expanded from...
+../../lib/m4sugar/m4sh.m4:519: AS_IF is expanded from...
+autoconf/general.m4:1922: AC_CACHE_VAL is expanded from...
+aclocal.m4:1940: BASH_CHECK_WCONTINUED is expanded from...
+configure.in:947: the top level])
+m4trace:configure.in:947: -1- AC_DEFINE_TRACE_LITERAL([WCONTINUED_BROKEN])
+m4trace:configure.in:947: -1- m4_pattern_allow([^WCONTINUED_BROKEN$])
+m4trace:configure.in:950: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
+You should run autoupdate.], [autoconf/general.m4:2384: AC_TRY_COMPILE is expanded from...
+../../lib/m4sugar/m4sh.m4:519: AS_IF is expanded from...
+autoconf/general.m4:1922: AC_CACHE_VAL is expanded from...
+aclocal.m4:1520: BASH_CHECK_SPEED_T is expanded from...
+configure.in:950: the top level])
+m4trace:configure.in:950: -1- AC_DEFINE_TRACE_LITERAL([SPEED_T_IN_SYS_TYPES])
+m4trace:configure.in:950: -1- m4_pattern_allow([^SPEED_T_IN_SYS_TYPES$])
+m4trace:configure.in:951: -1- AC_DEFINE_TRACE_LITERAL([HAVE_GETPW_DECLS])
+m4trace:configure.in:951: -1- m4_pattern_allow([^HAVE_GETPW_DECLS$])
+m4trace:configure.in:952: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
+You should run autoupdate.], [autoconf/general.m4:2490: AC_TRY_RUN is expanded from...
+../../lib/m4sugar/m4sh.m4:519: AS_IF is expanded from...
+autoconf/general.m4:1922: AC_CACHE_VAL is expanded from...
+aclocal.m4:1667: BASH_CHECK_RTSIGS is expanded from...
+configure.in:952: the top level])
+m4trace:configure.in:952: -1- AC_DEFINE_TRACE_LITERAL([UNUSABLE_RT_SIGNALS])
+m4trace:configure.in:952: -1- m4_pattern_allow([^UNUSABLE_RT_SIGNALS$])
+m4trace:configure.in:953: -1- AC_SUBST([SIGLIST_O])
+m4trace:configure.in:953: -1- AC_SUBST_TRACE([SIGLIST_O])
+m4trace:configure.in:953: -1- m4_pattern_allow([^SIGLIST_O$])
+m4trace:configure.in:957: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
+You should run autoupdate.], [autoconf/general.m4:2384: AC_TRY_COMPILE is expanded from...
+../../lib/m4sugar/m4sh.m4:519: AS_IF is expanded from...
+autoconf/general.m4:1922: AC_CACHE_VAL is expanded from...
+aclocal.m4:1616: BASH_CHECK_KERNEL_RLIMIT is expanded from...
+configure.in:957: the top level])
+m4trace:configure.in:957: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
+You should run autoupdate.], [autoconf/general.m4:2384: AC_TRY_COMPILE is expanded from...
+../../lib/m4sugar/m4sh.m4:519: AS_IF is expanded from...
+autoconf/general.m4:2377: AC_COMPILE_IFELSE is expanded from...
+autoconf/general.m4:2384: AC_TRY_COMPILE is expanded from...
+../../lib/m4sugar/m4sh.m4:519: AS_IF is expanded from...
+autoconf/general.m4:1922: AC_CACHE_VAL is expanded from...
+aclocal.m4:1616: BASH_CHECK_KERNEL_RLIMIT is expanded from...
+configure.in:957: the top level])
+m4trace:configure.in:957: -1- AC_DEFINE_TRACE_LITERAL([RLIMIT_NEEDS_KERNEL])
+m4trace:configure.in:957: -1- m4_pattern_allow([^RLIMIT_NEEDS_KERNEL$])
+m4trace:configure.in:965: -1- AC_CHECK_LIB([termcap], [tgetent], [bash_cv_termcap_lib=libtermcap], [AC_CHECK_LIB(tinfo, tgetent, bash_cv_termcap_lib=libtinfo,
+        [AC_CHECK_LIB(curses, tgetent, bash_cv_termcap_lib=libcurses,
+           [AC_CHECK_LIB(ncurses, tgetent, bash_cv_termcap_lib=libncurses,
+               bash_cv_termcap_lib=gnutermcap)])])])
+m4trace:configure.in:965: -1- AC_CHECK_LIB([tinfo], [tgetent], [bash_cv_termcap_lib=libtinfo], [AC_CHECK_LIB(curses, tgetent, bash_cv_termcap_lib=libcurses,
+           [AC_CHECK_LIB(ncurses, tgetent, bash_cv_termcap_lib=libncurses,
+               bash_cv_termcap_lib=gnutermcap)])])
+m4trace:configure.in:965: -1- AC_CHECK_LIB([curses], [tgetent], [bash_cv_termcap_lib=libcurses], [AC_CHECK_LIB(ncurses, tgetent, bash_cv_termcap_lib=libncurses,
+               bash_cv_termcap_lib=gnutermcap)])
+m4trace:configure.in:965: -1- AC_CHECK_LIB([ncurses], [tgetent], [bash_cv_termcap_lib=libncurses], [bash_cv_termcap_lib=gnutermcap])
+m4trace:configure.in:967: -1- AC_SUBST([TERMCAP_LIB])
+m4trace:configure.in:967: -1- AC_SUBST_TRACE([TERMCAP_LIB])
+m4trace:configure.in:967: -1- m4_pattern_allow([^TERMCAP_LIB$])
+m4trace:configure.in:968: -1- AC_SUBST([TERMCAP_DEP])
+m4trace:configure.in:968: -1- AC_SUBST_TRACE([TERMCAP_DEP])
+m4trace:configure.in:968: -1- m4_pattern_allow([^TERMCAP_DEP$])
+m4trace:configure.in:970: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DEV_FD])
+m4trace:configure.in:970: -1- m4_pattern_allow([^HAVE_DEV_FD$])
+m4trace:configure.in:970: -1- AC_DEFINE_TRACE_LITERAL([DEV_FD_PREFIX])
+m4trace:configure.in:970: -1- m4_pattern_allow([^DEV_FD_PREFIX$])
+m4trace:configure.in:970: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DEV_FD])
+m4trace:configure.in:970: -1- m4_pattern_allow([^HAVE_DEV_FD$])
+m4trace:configure.in:970: -1- AC_DEFINE_TRACE_LITERAL([DEV_FD_PREFIX])
+m4trace:configure.in:970: -1- m4_pattern_allow([^DEV_FD_PREFIX$])
+m4trace:configure.in:971: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DEV_STDIN])
+m4trace:configure.in:971: -1- m4_pattern_allow([^HAVE_DEV_STDIN$])
+m4trace:configure.in:972: -1- AC_DEFINE_TRACE_LITERAL([DEFAULT_MAIL_DIRECTORY])
+m4trace:configure.in:972: -1- m4_pattern_allow([^DEFAULT_MAIL_DIRECTORY$])
+m4trace:configure.in:979: -1- AC_DEFINE_TRACE_LITERAL([JOB_CONTROL])
+m4trace:configure.in:979: -1- m4_pattern_allow([^JOB_CONTROL$])
+m4trace:configure.in:985: -1- AC_SUBST([JOBS_O])
+m4trace:configure.in:985: -1- AC_SUBST_TRACE([JOBS_O])
+m4trace:configure.in:985: -1- m4_pattern_allow([^JOBS_O$])
+m4trace:configure.in:998: -1- AC_DEFINE_TRACE_LITERAL([SVR4_2])
+m4trace:configure.in:998: -1- m4_pattern_allow([^SVR4_2$])
+m4trace:configure.in:999: -1- AC_DEFINE_TRACE_LITERAL([SVR4])
+m4trace:configure.in:999: -1- m4_pattern_allow([^SVR4$])
+m4trace:configure.in:1000: -1- AC_DEFINE_TRACE_LITERAL([SVR4])
+m4trace:configure.in:1000: -1- m4_pattern_allow([^SVR4$])
+m4trace:configure.in:1001: -1- AC_DEFINE_TRACE_LITERAL([SVR5])
+m4trace:configure.in:1001: -1- m4_pattern_allow([^SVR5$])
+m4trace:configure.in:1017: -1- AC_DEFINE_TRACE_LITERAL([PGRP_PIPE])
+m4trace:configure.in:1017: -1- m4_pattern_allow([^PGRP_PIPE$])
+m4trace:configure.in:1064: -1- AC_SUBST([SHOBJ_CC])
+m4trace:configure.in:1064: -1- AC_SUBST_TRACE([SHOBJ_CC])
+m4trace:configure.in:1064: -1- m4_pattern_allow([^SHOBJ_CC$])
+m4trace:configure.in:1065: -1- AC_SUBST([SHOBJ_CFLAGS])
+m4trace:configure.in:1065: -1- AC_SUBST_TRACE([SHOBJ_CFLAGS])
+m4trace:configure.in:1065: -1- m4_pattern_allow([^SHOBJ_CFLAGS$])
+m4trace:configure.in:1066: -1- AC_SUBST([SHOBJ_LD])
+m4trace:configure.in:1066: -1- AC_SUBST_TRACE([SHOBJ_LD])
+m4trace:configure.in:1066: -1- m4_pattern_allow([^SHOBJ_LD$])
+m4trace:configure.in:1067: -1- AC_SUBST([SHOBJ_LDFLAGS])
+m4trace:configure.in:1067: -1- AC_SUBST_TRACE([SHOBJ_LDFLAGS])
+m4trace:configure.in:1067: -1- m4_pattern_allow([^SHOBJ_LDFLAGS$])
+m4trace:configure.in:1068: -1- AC_SUBST([SHOBJ_XLDFLAGS])
+m4trace:configure.in:1068: -1- AC_SUBST_TRACE([SHOBJ_XLDFLAGS])
+m4trace:configure.in:1068: -1- m4_pattern_allow([^SHOBJ_XLDFLAGS$])
+m4trace:configure.in:1069: -1- AC_SUBST([SHOBJ_LIBS])
+m4trace:configure.in:1069: -1- AC_SUBST_TRACE([SHOBJ_LIBS])
+m4trace:configure.in:1069: -1- m4_pattern_allow([^SHOBJ_LIBS$])
+m4trace:configure.in:1070: -1- AC_SUBST([SHOBJ_STATUS])
+m4trace:configure.in:1070: -1- AC_SUBST_TRACE([SHOBJ_STATUS])
+m4trace:configure.in:1070: -1- m4_pattern_allow([^SHOBJ_STATUS$])
+m4trace:configure.in:1102: -1- AC_SUBST([PROFILE_FLAGS])
+m4trace:configure.in:1102: -1- AC_SUBST_TRACE([PROFILE_FLAGS])
+m4trace:configure.in:1102: -1- m4_pattern_allow([^PROFILE_FLAGS$])
+m4trace:configure.in:1104: -1- AC_SUBST([incdir])
+m4trace:configure.in:1104: -1- AC_SUBST_TRACE([incdir])
+m4trace:configure.in:1104: -1- m4_pattern_allow([^incdir$])
+m4trace:configure.in:1105: -1- AC_SUBST([BUILD_DIR])
+m4trace:configure.in:1105: -1- AC_SUBST_TRACE([BUILD_DIR])
+m4trace:configure.in:1105: -1- m4_pattern_allow([^BUILD_DIR$])
+m4trace:configure.in:1108: -1- AC_SUBST([datarootdir])
+m4trace:configure.in:1108: -1- AC_SUBST_TRACE([datarootdir])
+m4trace:configure.in:1108: -1- m4_pattern_allow([^datarootdir$])
+m4trace:configure.in:1109: -1- AC_SUBST([localedir])
+m4trace:configure.in:1109: -1- AC_SUBST_TRACE([localedir])
+m4trace:configure.in:1109: -1- m4_pattern_allow([^localedir$])
+m4trace:configure.in:1111: -1- AC_SUBST([YACC])
+m4trace:configure.in:1111: -1- AC_SUBST_TRACE([YACC])
+m4trace:configure.in:1111: -1- m4_pattern_allow([^YACC$])
+m4trace:configure.in:1112: -1- AC_SUBST([AR])
+m4trace:configure.in:1112: -1- AC_SUBST_TRACE([AR])
+m4trace:configure.in:1112: -1- m4_pattern_allow([^AR$])
+m4trace:configure.in:1113: -1- AC_SUBST([ARFLAGS])
+m4trace:configure.in:1113: -1- AC_SUBST_TRACE([ARFLAGS])
+m4trace:configure.in:1113: -1- m4_pattern_allow([^ARFLAGS$])
+m4trace:configure.in:1115: -1- AC_SUBST([BASHVERS])
+m4trace:configure.in:1115: -1- AC_SUBST_TRACE([BASHVERS])
+m4trace:configure.in:1115: -1- m4_pattern_allow([^BASHVERS$])
+m4trace:configure.in:1116: -1- AC_SUBST([RELSTATUS])
+m4trace:configure.in:1116: -1- AC_SUBST_TRACE([RELSTATUS])
+m4trace:configure.in:1116: -1- m4_pattern_allow([^RELSTATUS$])
+m4trace:configure.in:1117: -1- AC_SUBST([DEBUG])
+m4trace:configure.in:1117: -1- AC_SUBST_TRACE([DEBUG])
+m4trace:configure.in:1117: -1- m4_pattern_allow([^DEBUG$])
+m4trace:configure.in:1118: -1- AC_SUBST([MALLOC_DEBUG])
+m4trace:configure.in:1118: -1- AC_SUBST_TRACE([MALLOC_DEBUG])
+m4trace:configure.in:1118: -1- m4_pattern_allow([^MALLOC_DEBUG$])
+m4trace:configure.in:1120: -1- AC_SUBST([host_cpu])
+m4trace:configure.in:1120: -1- AC_SUBST_TRACE([host_cpu])
+m4trace:configure.in:1120: -1- m4_pattern_allow([^host_cpu$])
+m4trace:configure.in:1121: -1- AC_SUBST([host_vendor])
+m4trace:configure.in:1121: -1- AC_SUBST_TRACE([host_vendor])
+m4trace:configure.in:1121: -1- m4_pattern_allow([^host_vendor$])
+m4trace:configure.in:1122: -1- AC_SUBST([host_os])
+m4trace:configure.in:1122: -1- AC_SUBST_TRACE([host_os])
+m4trace:configure.in:1122: -1- m4_pattern_allow([^host_os$])
+m4trace:configure.in:1124: -1- AC_SUBST([LOCAL_LIBS])
+m4trace:configure.in:1124: -1- AC_SUBST_TRACE([LOCAL_LIBS])
+m4trace:configure.in:1124: -1- m4_pattern_allow([^LOCAL_LIBS$])
+m4trace:configure.in:1125: -1- AC_SUBST([LOCAL_CFLAGS])
+m4trace:configure.in:1125: -1- AC_SUBST_TRACE([LOCAL_CFLAGS])
+m4trace:configure.in:1125: -1- m4_pattern_allow([^LOCAL_CFLAGS$])
+m4trace:configure.in:1126: -1- AC_SUBST([LOCAL_LDFLAGS])
+m4trace:configure.in:1126: -1- AC_SUBST_TRACE([LOCAL_LDFLAGS])
+m4trace:configure.in:1126: -1- m4_pattern_allow([^LOCAL_LDFLAGS$])
+m4trace:configure.in:1127: -1- AC_SUBST([LOCAL_DEFS])
+m4trace:configure.in:1127: -1- AC_SUBST_TRACE([LOCAL_DEFS])
+m4trace:configure.in:1127: -1- m4_pattern_allow([^LOCAL_DEFS$])
+m4trace:configure.in:1140: -1- AC_CONFIG_FILES([Makefile builtins/Makefile lib/readline/Makefile lib/glob/Makefile \
          lib/intl/Makefile \
          lib/malloc/Makefile lib/sh/Makefile lib/termcap/Makefile \
          lib/tilde/Makefile doc/Makefile support/Makefile po/Makefile.in \
          examples/loadables/Makefile examples/loadables/perl/Makefile])
-m4trace:configure.in:1126: -1- _m4_warn([obsolete], [AC_OUTPUT should be used without arguments.
+m4trace:configure.in:1140: -1- _m4_warn([obsolete], [AC_OUTPUT should be used without arguments.
 You should run autoupdate.], [])
-m4trace:configure.in:1126: -1- AC_SUBST([LIB@&t@OBJS], [$ac_libobjs])
-m4trace:configure.in:1126: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
-m4trace:configure.in:1126: -1- m4_pattern_allow([^LIB@&t@OBJS$])
-m4trace:configure.in:1126: -1- AC_SUBST([LTLIBOBJS], [$ac_ltlibobjs])
-m4trace:configure.in:1126: -1- AC_SUBST_TRACE([LTLIBOBJS])
-m4trace:configure.in:1126: -1- m4_pattern_allow([^LTLIBOBJS$])
-m4trace:configure.in:1126: -1- AC_SUBST_TRACE([top_builddir])
-m4trace:configure.in:1126: -1- AC_SUBST_TRACE([srcdir])
-m4trace:configure.in:1126: -1- AC_SUBST_TRACE([abs_srcdir])
-m4trace:configure.in:1126: -1- AC_SUBST_TRACE([top_srcdir])
-m4trace:configure.in:1126: -1- AC_SUBST_TRACE([abs_top_srcdir])
-m4trace:configure.in:1126: -1- AC_SUBST_TRACE([builddir])
-m4trace:configure.in:1126: -1- AC_SUBST_TRACE([abs_builddir])
-m4trace:configure.in:1126: -1- AC_SUBST_TRACE([abs_top_builddir])
-m4trace:configure.in:1126: -1- AC_SUBST_TRACE([INSTALL])
+m4trace:configure.in:1140: -1- AC_SUBST([LIB@&t@OBJS], [$ac_libobjs])
+m4trace:configure.in:1140: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
+m4trace:configure.in:1140: -1- m4_pattern_allow([^LIB@&t@OBJS$])
+m4trace:configure.in:1140: -1- AC_SUBST([LTLIBOBJS], [$ac_ltlibobjs])
+m4trace:configure.in:1140: -1- AC_SUBST_TRACE([LTLIBOBJS])
+m4trace:configure.in:1140: -1- m4_pattern_allow([^LTLIBOBJS$])
+m4trace:configure.in:1140: -1- AC_SUBST_TRACE([top_builddir])
+m4trace:configure.in:1140: -1- AC_SUBST_TRACE([srcdir])
+m4trace:configure.in:1140: -1- AC_SUBST_TRACE([abs_srcdir])
+m4trace:configure.in:1140: -1- AC_SUBST_TRACE([top_srcdir])
+m4trace:configure.in:1140: -1- AC_SUBST_TRACE([abs_top_srcdir])
+m4trace:configure.in:1140: -1- AC_SUBST_TRACE([builddir])
+m4trace:configure.in:1140: -1- AC_SUBST_TRACE([abs_builddir])
+m4trace:configure.in:1140: -1- AC_SUBST_TRACE([abs_top_builddir])
+m4trace:configure.in:1140: -1- AC_SUBST_TRACE([INSTALL])
index dbf3bda39da0b7f8c65a71ee4209745d13628640..f1bd489ecae38dfef54728df34dbfd95e0e996ad 100644 (file)
@@ -23,7 +23,7 @@ $PRODUCES declare.c
 
 $BUILTIN declare
 $FUNCTION declare_builtin
-$SHORT_DOC declare [-afFirtx] [-p] [name[=value] ...]
+$SHORT_DOC declare [-aAfFilrtux] [-p] [name[=value] ...]
 Set variable values and attributes.
 
 Declare variables and give them attributes.  If no NAMEs are given,
@@ -39,8 +39,10 @@ Options which set attributes:
   -a   to make NAMEs indexed arrays (if supported)
   -A   to make NAMEs associative arrays (if supported)
   -i   to make NAMEs have the `integer' attribute
+  -l   to convert NAMEs to lower case on assignment
   -r   to make NAMEs readonly
   -t   to make NAMEs have the `trace' attribute
+  -u   to convert NAMEs to upper case on assignment
   -x   to make NAMEs export
 
 Using `+' instead of `-' turns off the given attribute.
@@ -57,7 +59,7 @@ $END
 
 $BUILTIN typeset
 $FUNCTION declare_builtin
-$SHORT_DOC typeset [-afFirtx] [-p] name[=value] ...
+$SHORT_DOC typeset [-aAfFilrtux] [-p] name[=value] ...
 Set variable values and attributes.
 
 Obsolete.  See `help declare'.
@@ -124,9 +126,9 @@ local_builtin (list)
 }
 
 #if defined (ARRAY_VARS)
-#  define DECLARE_OPTS "+afiprtxAF"
+#  define DECLARE_OPTS "+acfilprtuxAF"
 #else
-#  define DECLARE_OPTS "+fiprtxF"
+#  define DECLARE_OPTS "+cfilprtuxF"
 #endif
 
 /* The workhorse function. */
@@ -189,6 +191,25 @@ declare_internal (list, local_var)
          *flags |= att_exported;
          array_needs_making = 1;
          break;
+#if defined (CASEMOD_ATTRS)
+#  if defined (CASEMOD_CAPCASE)
+        case 'c':
+         *flags |= att_capcase;
+         if (flags == &flags_on)
+           flags_off |= att_uppercase|att_lowercase;
+         break;
+#  endif
+       case 'l':
+         *flags |= att_lowercase;
+         if (flags == &flags_on)
+           flags_off |= att_capcase|att_uppercase;
+         break;
+       case 'u':
+         *flags |= att_uppercase;
+         if (flags == &flags_on)
+           flags_off |= att_capcase|att_lowercase;
+         break;
+#endif /* CASEMOD_ATTRS */
        default:
          builtin_usage ();
          return (EX_USAGE);
index 190b8658ee62f5cfda90888f99e76acbeb6aafde..634220285a18fbf50567590487381fc5f6f915f3 100644 (file)
@@ -336,6 +336,112 @@ parse_and_execute (string, from_file, flags)
   return (last_result);
 }
 
+/* Parse a command contained in STRING according to FLAGS and return the
+   number of characters consumed from the string.  If non-NULL, set *ENDP
+   to the position in the string where the parse ended.  Used to validate
+   command substitutions during parsing to obey Posix rules about finding
+   the end of the command and balancing parens. */
+int
+parse_string (string, from_file, flags, endp)
+     char *string;
+     const char *from_file;
+     int flags;
+     char **endp;
+{
+  int code, nc;
+  volatile int should_jump_to_top_level;
+  COMMAND *volatile command, *oglobal;
+  char *ostring;
+
+  parse_prologue (string, flags, PS_TAG);
+
+  /* Reset the line number if the caller wants us to.  If we don't reset the
+     line number, we have to subtract one, because we will add one just
+     before executing the next command (resetting the line number sets it to
+     0; the first line number is 1). */
+  push_stream (0);
+    
+  code = should_jump_to_top_level = 0;
+  oglobal = global_command;
+
+  with_input_from_string (string, from_file);
+  while (*(bash_input.location.string))
+    {
+      command = (COMMAND *)NULL;
+
+#if 0
+      if (interrupt_state)
+       break;
+#endif
+
+      /* Provide a location for functions which `longjmp (top_level)' to
+        jump to. */
+      code = setjmp (top_level);
+
+      if (code)
+       {
+#if defined (DEBUG)
+itrace("parse_string: longjmp executed: code = %d", code);
+#endif
+         should_jump_to_top_level = 0;
+         switch (code)
+           {
+           case FORCE_EOF:
+           case ERREXIT:
+           case EXITPROG:
+           case DISCARD:               /* XXX */
+             if (command)
+               dispose_command (command);
+             /* Remember to call longjmp (top_level) after the old
+                value for it is restored. */
+             should_jump_to_top_level = 1;
+             goto out;
+
+           default:
+             command_error ("parse_string", CMDERR_BADJUMP, code, 0);
+             break;
+           }
+       }
+         
+      if (parse_command () == 0)
+       {
+         dispose_command (global_command);
+         global_command = (COMMAND *)NULL;
+       }
+      else
+       {
+         if ((flags & SEVAL_NOLONGJMP) == 0)
+           {
+             should_jump_to_top_level = 1;
+             code = DISCARD;
+           }
+         else
+           reset_parser ();    /* XXX - sets token_to_read */
+         break;
+       }
+
+      if (current_token == yacc_EOF || current_token == shell_eof_token)
+{
+itrace("parse_string: current_token = %d; breaking", current_token);
+         break;
+}
+    }
+
+ out:
+
+  global_command = oglobal;
+  nc = bash_input.location.string - ostring;
+  if (endp)
+    *endp = bash_input.location.string;
+
+  run_unwind_frame (PS_TAG);
+
+  if (should_jump_to_top_level)
+    jump_to_top_level (code);
+
+  return (nc);
+}
+
 /* Handle a $( < file ) command substitution.  This expands the filename,
    returning errors as appropriate, then just cats the file to the standard
    output. */
index 44397cd41bfca38c4422577c4f82ac9a610eb684..8b17388b3bb2796a70a5bd3a047d177ba7765971 100644 (file)
@@ -377,6 +377,15 @@ show_var_attributes (var, pattr, nodefs)
 
       if (exported_p (var))
        flags[i++] = 'x';
+
+      if (capcase_p (var))
+       flags[i++] = 'c';
+
+      if (lowercase_p (var))
+       flags[i++] = 'l';
+
+      if (uppercase_p (var))
+       flags[i++] = 'u';
     }
   else
     {
index 460535bc23be0f73b4c8846f4c3936a6767c2394..da13400053cc4173703a2e4e221cfa086575d476 100644 (file)
@@ -28,6 +28,7 @@ $SHORT_DOC suspend [-f]
 Suspend shell execution.
 
 Suspend the execution of this shell until it receives a SIGCONT signal.
+Unless forced, login shells cannot be suspended.
 
 Options:
   -f   force the suspend, even if the shell is a login shell
index fe7edde3e3a1b56ec7748ceff94d89ee6de3caef..a217e2cb4359670297b316b2c90a83ee0e1a23c6 100644 (file)
@@ -92,3 +92,7 @@
    for the presence of SSH_CLIENT or SSH2_CLIENT in the initial environment,
    which can be fooled under certain not-uncommon circumstances. */
 /* #define SSH_SOURCE_BASHRC */
+
+/* Define if you want the case-capitalizing operators (~[~]) and the
+   `capcase' variable attribute (declare -c). */
+#define  CASEMOD_CAPCASE
index 04dc26be53b9774c520ca7fc3c7fbd57d1be6f7b..fbe6b93197655163d27a235606950e5869fcfe68 100644 (file)
    =~ binary operator in the [[...]] conditional command. */
 #define COND_REGEXP
 
+/* Define COPROCESS_SUPPORT if you want support for ksh-like coprocesses and
+   the `coproc' reserved word */
+#define COPROCESS_SUPPORT
+
 /* Define ARITH_FOR_COMMAND if you want the ksh93-style
        for (( init; test; step )) do list; done
    arithmetic for command. */
 /* Define if you have the fcntl function.  */
 #undef HAVE_FCNTL
 
+/* Define if you have the fdprintf function. */
+#undef HAVE_FDPRINTF
+
 /* Define if you have the fpurge/__fpurge function.  */
 #undef HAVE_FPURGE
 #undef HAVE___FPURGE
index a6ea2a978470dc34e2239782a60e806966eb0ba8..663746eeaf4fef0d4b135d3208643a0441a0f26d 100644 (file)
    =~ binary operator in the [[...]] conditional command. */
 #define COND_REGEXP
 
+/* Define COPROCESS_SUPPORT if you want support for ksh-like coprocesses and
+   the `coproc' reserved word */
+#define COPROCESS_SUPPORT
+
 /* Define ARITH_FOR_COMMAND if you want the ksh93-style
        for (( init; test; step )) do list; done
    arithmetic for command. */
 /* Define AFS if you are using Transarc's AFS. */
 #undef AFS
 
+/* Define for case-modifying variable attributes; variables modified on
+   assignment */
+#undef CASEMOD_ATTRS
+
+/* Define for case-modifying word expansions */
+#undef CASEMOD_EXPANSIONS
+
 #undef ENABLE_NLS
 
 /* End of configuration settings controllable by autoconf. */
 /* Define if you have the setenv function.  */
 #undef HAVE_SETENV
 
+/* Define if you have the setitimer function.  */
+#undef HAVE_SETITIMER
+
 /* Define if you have the setlinebuf function.  */
 #undef HAVE_SETLINEBUF
 
index 873a877f4847230cc30a8a2514dcd49f0ae372b5..ee8f6bac61b33f7bfc7cf446af785afad8476707 100755 (executable)
--- a/configure
+++ b/configure
@@ -1,7 +1,7 @@
 #! /bin/sh
-# From configure.in for Bash 4.0, version 4.002.
+# From configure.in for Bash 4.0, version 4.003.
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.61 for bash 4.0-devel.
+# Generated by GNU Autoconf 2.60 for bash 4.0-devel.
 #
 # Report bugs to <bug-bash@gnu.org>.
 #
@@ -13,8 +13,7 @@
 ## M4sh Initialization.  ##
 ## --------------------- ##
 
-# Be more Bourne compatible
-DUALCASE=1; export DUALCASE # for MKS sh
+# Be Bourne compatible
 if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
   emulate sh
   NULLCMD=:
@@ -23,13 +22,10 @@ if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
   alias -g '${1+"$@"}'='"$@"'
   setopt NO_GLOB_SUBST
 else
-  case `(set -o) 2>/dev/null` in
-  *posix*) set -o posix ;;
-esac
-
+  case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
 fi
-
-
+BIN_SH=xpg4; export BIN_SH # for Tru64
+DUALCASE=1; export DUALCASE # for MKS sh
 
 
 # PATH needs CR
@@ -222,7 +218,7 @@ test \$exitcode = 0) || { (exit 1); exit 1; }
 else
   as_candidate_shells=
     as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
+for as_dir in /usr/bin/posix$PATH_SEPARATOR/bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
 do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
@@ -240,6 +236,7 @@ IFS=$as_save_IFS
         # Try only shells that exist, to save several forks.
         if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
                { ("$as_shell") 2> /dev/null <<\_ASEOF
+# Be Bourne compatible
 if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
   emulate sh
   NULLCMD=:
@@ -248,12 +245,10 @@ if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
   alias -g '${1+"$@"}'='"$@"'
   setopt NO_GLOB_SUBST
 else
-  case `(set -o) 2>/dev/null` in
-  *posix*) set -o posix ;;
-esac
-
+  case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
 fi
-
+BIN_SH=xpg4; export BIN_SH # for Tru64
+DUALCASE=1; export DUALCASE # for MKS sh
 
 :
 _ASEOF
@@ -261,6 +256,7 @@ _ASEOF
   CONFIG_SHELL=$as_shell
               as_have_required=yes
               if { "$as_shell" 2> /dev/null <<\_ASEOF
+# Be Bourne compatible
 if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
   emulate sh
   NULLCMD=:
@@ -269,12 +265,10 @@ if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
   alias -g '${1+"$@"}'='"$@"'
   setopt NO_GLOB_SUBST
 else
-  case `(set -o) 2>/dev/null` in
-  *posix*) set -o posix ;;
-esac
-
+  case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
 fi
-
+BIN_SH=xpg4; export BIN_SH # for Tru64
+DUALCASE=1; export DUALCASE # for MKS sh
 
 :
 (as_func_return () {
@@ -521,28 +515,19 @@ else
   as_mkdir_p=false
 fi
 
-if test -x / >/dev/null 2>&1; then
-  as_test_x='test -x'
+# Find out whether ``test -x'' works.  Don't use a zero-byte file, as
+# systems may use methods other than mode bits to determine executability.
+cat >conf$$.file <<_ASEOF
+#! /bin/sh
+exit 0
+_ASEOF
+chmod +x conf$$.file
+if test -x conf$$.file >/dev/null 2>&1; then
+  as_executable_p="test -x"
 else
-  if ls -dL / >/dev/null 2>&1; then
-    as_ls_L_option=L
-  else
-    as_ls_L_option=
-  fi
-  as_test_x='
-    eval sh -c '\''
-      if test -d "$1"; then
-        test -d "$1/.";
-      else
-       case $1 in
-        -*)set "./$1";;
-       esac;
-       case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in
-       ???[sx]*):;;*)false;;esac;fi
-    '\'' sh
-  '
+  as_executable_p=:
 fi
-as_executable_p=$as_test_x
+rm -f conf$$.file
 
 # Sed expression to map a string onto a valid CPP name.
 as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -583,40 +568,39 @@ ac_unique_file="shell.h"
 # Factoring default headers for most tests.
 ac_includes_default="\
 #include <stdio.h>
-#ifdef HAVE_SYS_TYPES_H
+#if HAVE_SYS_TYPES_H
 # include <sys/types.h>
 #endif
-#ifdef HAVE_SYS_STAT_H
+#if HAVE_SYS_STAT_H
 # include <sys/stat.h>
 #endif
-#ifdef STDC_HEADERS
+#if STDC_HEADERS
 # include <stdlib.h>
 # include <stddef.h>
 #else
-# ifdef HAVE_STDLIB_H
+# if HAVE_STDLIB_H
 #  include <stdlib.h>
 # endif
 #endif
-#ifdef HAVE_STRING_H
-# if !defined STDC_HEADERS && defined HAVE_MEMORY_H
+#if HAVE_STRING_H
+# if !STDC_HEADERS && HAVE_MEMORY_H
 #  include <memory.h>
 # endif
 # include <string.h>
 #endif
-#ifdef HAVE_STRINGS_H
+#if HAVE_STRINGS_H
 # include <strings.h>
 #endif
-#ifdef HAVE_INTTYPES_H
+#if HAVE_INTTYPES_H
 # include <inttypes.h>
 #endif
-#ifdef HAVE_STDINT_H
+#if HAVE_STDINT_H
 # include <stdint.h>
 #endif
-#ifdef HAVE_UNISTD_H
+#if HAVE_UNISTD_H
 # include <unistd.h>
 #endif"
 
-ac_header_list=
 ac_func_list=
 ac_subst_vars='SHELL
 PATH_SEPARATOR
@@ -777,7 +761,6 @@ DEBUGGER_START_FILE
 CC
 CFLAGS
 LDFLAGS
-LIBS
 CPPFLAGS
 CPP
 YACC
@@ -887,10 +870,10 @@ do
   -disable-* | --disable-*)
     ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
     # Reject names that are not valid shell variable names.
-    expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null &&
+    expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null &&
       { echo "$as_me: error: invalid feature name: $ac_feature" >&2
    { (exit 1); exit 1; }; }
-    ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'`
+    ac_feature=`echo $ac_feature | sed 's/-/_/g'`
     eval enable_$ac_feature=no ;;
 
   -docdir | --docdir | --docdi | --doc | --do)
@@ -906,10 +889,10 @@ do
   -enable-* | --enable-*)
     ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
     # Reject names that are not valid shell variable names.
-    expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null &&
+    expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null &&
       { echo "$as_me: error: invalid feature name: $ac_feature" >&2
    { (exit 1); exit 1; }; }
-    ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'`
+    ac_feature=`echo $ac_feature | sed 's/-/_/g'`
     eval enable_$ac_feature=\$ac_optarg ;;
 
   -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
@@ -1103,19 +1086,19 @@ do
   -with-* | --with-*)
     ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
     # Reject names that are not valid shell variable names.
-    expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null &&
+    expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null &&
       { echo "$as_me: error: invalid package name: $ac_package" >&2
    { (exit 1); exit 1; }; }
-    ac_package=`echo $ac_package | sed 's/[-.]/_/g'`
+    ac_package=`echo $ac_package| sed 's/-/_/g'`
     eval with_$ac_package=\$ac_optarg ;;
 
   -without-* | --without-*)
     ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'`
     # Reject names that are not valid shell variable names.
-    expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null &&
+    expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null &&
       { echo "$as_me: error: invalid package name: $ac_package" >&2
    { (exit 1); exit 1; }; }
-    ac_package=`echo $ac_package | sed 's/[-.]/_/g'`
+    ac_package=`echo $ac_package | sed 's/-/_/g'`
     eval with_$ac_package=no ;;
 
   --x)
@@ -1373,6 +1356,8 @@ Optional Features:
   --enable-cond-command   enable the conditional command
   --enable-cond-regexp    enable extended regular expression matching in
                           conditional commands
+  --enable-coprocesses    enable coprocess support and the coproc reserved
+                          word
   --enable-debugger       enable support for bash debugger
   --enable-directory-stack
                           enable builtins pushd/popd/dirs
@@ -1443,7 +1428,6 @@ Some influential environment variables:
   CFLAGS      C compiler flags
   LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
               nonstandard directory <lib dir>
-  LIBS        libraries to pass to the linker, e.g. -l<library>
   CPPFLAGS    C/C++/Objective C preprocessor flags, e.g. -I<include dir> if
               you have headers in a nonstandard directory <include dir>
   CPP         C preprocessor
@@ -1518,7 +1502,7 @@ test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
 bash configure 4.0-devel
-generated by GNU Autoconf 2.61
+generated by GNU Autoconf 2.60
 
 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
@@ -1532,7 +1516,7 @@ This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
 It was created by bash $as_me 4.0-devel, which was
-generated by GNU Autoconf 2.61.  Invocation command line was
+generated by GNU Autoconf 2.60.  Invocation command line was
 
   $ $0 $@
 
@@ -1804,9 +1788,6 @@ echo "$as_me: creating cache $cache_file" >&6;}
   >$cache_file
 fi
 
-ac_header_list="$ac_header_list sys/time.h"
-ac_header_list="$ac_header_list unistd.h"
-ac_func_list="$ac_func_list alarm"
 ac_func_list="$ac_func_list fpurge"
 ac_func_list="$ac_func_list __fpurge"
 # Check that the precious variables saved in the cache have kept the same
@@ -2091,7 +2072,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_EMACS="$ac_prog"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -2256,6 +2237,7 @@ opt_xpg_echo=no
 opt_strict_posix=no
 opt_cond_command=yes
 opt_cond_regexp=yes
+opt_coproc=yes
 opt_arith_for_command=yes
 opt_net_redirs=yes
 opt_progcomp=yes
@@ -2283,7 +2265,7 @@ if test $opt_minimal_config = yes; then
        opt_brace_expansion=no opt_disabled_builtins=no opt_command_timing=no
        opt_extended_glob=no opt_cond_command=no opt_arith_for_command=no
        opt_net_redirs=no opt_progcomp=no opt_separate_help=no
-       opt_multibyte=yes opt_cond_regexp=no
+       opt_multibyte=yes opt_cond_regexp=no opt_coproc=no
        opt_casemod_attrs=no opt_casemod_expansions=no
 fi
 
@@ -2337,6 +2319,11 @@ if test "${enable_cond_regexp+set}" = set; then
   enableval=$enable_cond_regexp; opt_cond_regexp=$enableval
 fi
 
+# Check whether --enable-coprocesses was given.
+if test "${enable_coprocesses+set}" = set; then
+  enableval=$enable_coprocesses; opt_coproc=$enableval
+fi
+
 # Check whether --enable-debugger was given.
 if test "${enable_debugger+set}" = set; then
   enableval=$enable_debugger; opt_debugger=$enableval
@@ -2562,6 +2549,12 @@ cat >>confdefs.h <<\_ACEOF
 #define COND_REGEXP 1
 _ACEOF
 
+fi
+if test $opt_coproc = yes; then
+cat >>confdefs.h <<\_ACEOF
+#define COPROCESS_SUPPORT 1
+_ACEOF
+
 fi
 if test $opt_arith_for_command = yes; then
 cat >>confdefs.h <<\_ACEOF
@@ -2677,7 +2670,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_CC="${ac_tool_prefix}gcc"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -2717,7 +2710,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_ac_ct_CC="gcc"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -2774,7 +2767,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_CC="${ac_tool_prefix}cc"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -2815,7 +2808,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
     if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
        ac_prog_rejected=yes
        continue
@@ -2873,7 +2866,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -2917,7 +2910,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_ac_ct_CC="$ac_prog"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -3058,7 +3051,7 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
 # in a Makefile.  We should not override ac_cv_exeext if it was cached,
 # so that the user can short-circuit this test for compilers unknown to
 # Autoconf.
-for ac_file in $ac_files ''
+for ac_file in $ac_files
 do
   test -f "$ac_file" || continue
   case $ac_file in
@@ -3086,12 +3079,6 @@ done
 test "$ac_cv_exeext" = no && ac_cv_exeext=
 
 else
-  ac_file=''
-fi
-
-{ echo "$as_me:$LINENO: result: $ac_file" >&5
-echo "${ECHO_T}$ac_file" >&6; }
-if test -z "$ac_file"; then
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
@@ -3103,6 +3090,8 @@ See \`config.log' for more details." >&2;}
 fi
 
 ac_exeext=$ac_cv_exeext
+{ echo "$as_me:$LINENO: result: $ac_file" >&5
+echo "${ECHO_T}$ac_file" >&6; }
 
 # Check that the compiler produces executables we can run.  If not, either
 # the compiler is broken, or we cross compile.
@@ -3280,10 +3269,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_compiler_gnu=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -3338,10 +3344,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_prog_cc_g=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -3376,10 +3399,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   :
 else
   echo "$as_me: failed program was:" >&5
@@ -3415,10 +3455,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_prog_cc_g=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -3534,10 +3591,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_prog_cc_c89=$ac_arg
 else
   echo "$as_me: failed program was:" >&5
@@ -3619,11 +3693,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_lib_cposix_strerror=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -3632,7 +3722,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_cv_lib_cposix_strerror=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
@@ -3696,10 +3786,17 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       }; then
+  (exit $ac_status); } >/dev/null; then
+  if test -s conftest.err; then
+    ac_cpp_err=$ac_c_preproc_warn_flag
+    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
+  else
+    ac_cpp_err=
+  fi
+else
+  ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
   :
 else
   echo "$as_me: failed program was:" >&5
@@ -3733,10 +3830,17 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       }; then
+  (exit $ac_status); } >/dev/null; then
+  if test -s conftest.err; then
+    ac_cpp_err=$ac_c_preproc_warn_flag
+    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
+  else
+    ac_cpp_err=
+  fi
+else
+  ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
   # Broken: success on invalid input.
 continue
 else
@@ -3801,10 +3905,17 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       }; then
+  (exit $ac_status); } >/dev/null; then
+  if test -s conftest.err; then
+    ac_cpp_err=$ac_c_preproc_warn_flag
+    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
+  else
+    ac_cpp_err=
+  fi
+else
+  ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
   :
 else
   echo "$as_me: failed program was:" >&5
@@ -3838,10 +3949,17 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       }; then
+  (exit $ac_status); } >/dev/null; then
+  if test -s conftest.err; then
+    ac_cpp_err=$ac_c_preproc_warn_flag
+    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
+  else
+    ac_cpp_err=
+  fi
+else
+  ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
   # Broken: success on invalid input.
 continue
 else
@@ -3896,7 +4014,7 @@ do
   for ac_prog in grep ggrep; do
   for ac_exec_ext in '' $ac_executable_extensions; do
     ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
-    { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
+    { test -f "$ac_path_GREP" && $as_executable_p "$ac_path_GREP"; } || continue
     # Check for GNU ac_path_GREP and select it if it is found.
   # Check for GNU $ac_path_GREP
 case `"$ac_path_GREP" --version 2>&1` in
@@ -3978,7 +4096,7 @@ do
   for ac_prog in egrep; do
   for ac_exec_ext in '' $ac_executable_extensions; do
     ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
-    { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
+    { test -f "$ac_path_EGREP" && $as_executable_p "$ac_path_EGREP"; } || continue
     # Check for GNU ac_path_EGREP and select it if it is found.
   # Check for GNU $ac_path_EGREP
 case `"$ac_path_EGREP" --version 2>&1` in
@@ -4074,10 +4192,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_header_stdc=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -4253,10 +4388,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   eval "$as_ac_Header=yes"
 else
   echo "$as_me: failed program was:" >&5
@@ -4314,10 +4466,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_header_compiler=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -4353,10 +4522,17 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       }; then
+  (exit $ac_status); } >/dev/null; then
+  if test -s conftest.err; then
+    ac_cpp_err=$ac_c_preproc_warn_flag
+    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
+  else
+    ac_cpp_err=
+  fi
+else
+  ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
   ac_header_preproc=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -4490,10 +4666,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   break
 else
   echo "$as_me: failed program was:" >&5
@@ -4517,10 +4710,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_sys_largefile_CC=' -n32'; break
 else
   echo "$as_me: failed program was:" >&5
@@ -4548,6 +4758,7 @@ if test "${ac_cv_sys_file_offset_bits+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   while :; do
+  ac_cv_sys_file_offset_bits=no
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -4584,19 +4795,36 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_cv_sys_file_offset_bits=no; break
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  break
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -4634,10 +4862,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_sys_file_offset_bits=64; break
 else
   echo "$as_me: failed program was:" >&5
@@ -4647,28 +4892,26 @@ sed 's/^/| /' conftest.$ac_ext >&5
 fi
 
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  ac_cv_sys_file_offset_bits=unknown
   break
 done
 fi
 { echo "$as_me:$LINENO: result: $ac_cv_sys_file_offset_bits" >&5
 echo "${ECHO_T}$ac_cv_sys_file_offset_bits" >&6; }
-case $ac_cv_sys_file_offset_bits in #(
-  no | unknown) ;;
-  *)
+if test "$ac_cv_sys_file_offset_bits" != no; then
+
 cat >>confdefs.h <<_ACEOF
 #define _FILE_OFFSET_BITS $ac_cv_sys_file_offset_bits
 _ACEOF
-;;
-esac
+
+fi
 rm -f conftest*
-  if test $ac_cv_sys_file_offset_bits = unknown; then
-    { echo "$as_me:$LINENO: checking for _LARGE_FILES value needed for large files" >&5
+  { echo "$as_me:$LINENO: checking for _LARGE_FILES value needed for large files" >&5
 echo $ECHO_N "checking for _LARGE_FILES value needed for large files... $ECHO_C" >&6; }
 if test "${ac_cv_sys_large_files+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   while :; do
+  ac_cv_sys_large_files=no
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -4705,11 +4948,28 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_cv_sys_large_files=no; break
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  break
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
@@ -4755,10 +5015,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_sys_large_files=1; break
 else
   echo "$as_me: failed program was:" >&5
@@ -4768,22 +5045,19 @@ sed 's/^/| /' conftest.$ac_ext >&5
 fi
 
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  ac_cv_sys_large_files=unknown
   break
 done
 fi
 { echo "$as_me:$LINENO: result: $ac_cv_sys_large_files" >&5
 echo "${ECHO_T}$ac_cv_sys_large_files" >&6; }
-case $ac_cv_sys_large_files in #(
-  no | unknown) ;;
-  *)
+if test "$ac_cv_sys_large_files" != no; then
+
 cat >>confdefs.h <<_ACEOF
 #define _LARGE_FILES $ac_cv_sys_large_files
 _ACEOF
-;;
-esac
+
+fi
 rm -f conftest*
-  fi
 fi
 
 
@@ -5005,11 +5279,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_func_tgetent=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -5018,7 +5308,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_cv_func_tgetent=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 fi
 { echo "$as_me:$LINENO: result: $ac_cv_func_tgetent" >&5
@@ -5068,11 +5358,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_lib_termcap_tgetent=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -5081,7 +5387,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_cv_lib_termcap_tgetent=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
@@ -5132,11 +5438,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_lib_tinfo_tgetent=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -5145,7 +5467,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_cv_lib_tinfo_tgetent=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
@@ -5196,11 +5518,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_lib_curses_tgetent=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -5209,7 +5547,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_cv_lib_curses_tgetent=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
@@ -5260,11 +5598,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_lib_ncurses_tgetent=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -5273,7 +5627,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_cv_lib_ncurses_tgetent=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
@@ -5632,7 +5986,7 @@ case $as_dir/ in
     # by default.
     for ac_prog in ginstall scoinst install; do
       for ac_exec_ext in '' $ac_executable_extensions; do
-       if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
+       if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; }; then
          if test $ac_prog = install &&
            grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
            # AIX install.  It has an incompatible calling convention.
@@ -5692,7 +6046,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_AR=""
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -5732,7 +6086,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -5772,7 +6126,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_ac_ct_RANLIB="ranlib"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -5829,7 +6183,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_YACC="$ac_prog"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -5936,10 +6290,10 @@ main ()
 #ifndef __cplusplus
   /* Ultrix mips cc rejects this.  */
   typedef int charset[2];
-  const charset cs;
+  const charset x;
   /* SunOS 4.1.1 cc rejects this.  */
-  char const *const *pcpcc;
-  char **ppc;
+  char const *const *ccp;
+  char **p;
   /* NEC SVR4.0.2 mips cc rejects this.  */
   struct point {int x, y;};
   static struct point const zero = {0,0};
@@ -5948,11 +6302,11 @@ main ()
      an arm of an if-expression whose if-part is not a constant
      expression */
   const char *g = "string";
-  pcpcc = &g + (g ? g-g : 0);
+  ccp = &g + (g ? g-g : 0);
   /* HPUX 7.0 cc rejects these. */
-  ++pcpcc;
-  ppc = (char**) pcpcc;
-  pcpcc = (char const *const *) ppc;
+  ++ccp;
+  p = (char**) ccp;
+  ccp = (char const *const *) p;
   { /* SCO 3.2v4 cc rejects this.  */
     char *t;
     char const *s = 0 ? (char *) 0 : (char const *) 0;
@@ -5979,7 +6333,7 @@ main ()
     const int foo = 10;
     if (!foo) return 0;
   }
-  return !cs[0] && !zero.x;
+  return !x[0] && !zero.x;
 #endif
 
   ;
@@ -5999,10 +6353,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_c_const=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -6056,10 +6427,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_c_inline=$ac_kw
 else
   echo "$as_me: failed program was:" >&5
@@ -6110,8 +6498,7 @@ cat >>conftest.$ac_ext <<_ACEOF
 int
 main ()
 {
-#if  ! (defined BYTE_ORDER && defined BIG_ENDIAN && defined LITTLE_ENDIAN \
-       && BYTE_ORDER && BIG_ENDIAN && LITTLE_ENDIAN)
+#if !BYTE_ORDER || !BIG_ENDIAN || !LITTLE_ENDIAN
  bogus endian macros
 #endif
 
@@ -6132,10 +6519,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   # It does; now see whether it defined to BIG_ENDIAN or not.
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
@@ -6170,10 +6574,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_c_bigendian=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -6224,24 +6645,41 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  if grep BIGenDianSyS conftest.$ac_objext >/dev/null ; then
-  ac_cv_c_bigendian=yes
-fi
-if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then
-  if test "$ac_cv_c_bigendian" = unknown; then
-    ac_cv_c_bigendian=no
-  else
-    # finding both strings is unlikely to happen, but who knows?
-    ac_cv_c_bigendian=unknown
-  fi
-fi
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  if grep BIGenDianSyS conftest.$ac_objext >/dev/null ; then
+  ac_cv_c_bigendian=yes
+fi
+if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then
+  if test "$ac_cv_c_bigendian" = unknown; then
+    ac_cv_c_bigendian=no
+  else
+    # finding both strings is unlikely to happen, but who knows?
+    ac_cv_c_bigendian=unknown
+  fi
+fi
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
 
 
 fi
@@ -6416,10 +6854,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_type_long_double_wider=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -6505,10 +6960,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_c_char_unsigned=no
 else
   echo "$as_me: failed program was:" >&5
@@ -6646,7 +7118,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_path_GMSGFMT="$as_dir/$ac_word$ac_exec_ext"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6874,10 +7346,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_type_off_t=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -6937,10 +7426,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_type_size_t=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -6999,11 +7505,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_working_alloca_h=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -7012,7 +7534,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_cv_working_alloca_h=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 fi
 { echo "$as_me:$LINENO: result: $ac_cv_working_alloca_h" >&5
@@ -7043,7 +7565,7 @@ cat >>conftest.$ac_ext <<_ACEOF
 #  include <malloc.h>
 #  define alloca _alloca
 # else
-#  ifdef HAVE_ALLOCA_H
+#  if HAVE_ALLOCA_H
 #   include <alloca.h>
 #  else
 #   ifdef _AIX
@@ -7079,11 +7601,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_func_alloca_works=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -7092,7 +7630,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_cv_func_alloca_works=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 fi
 { echo "$as_me:$LINENO: result: $ac_cv_func_alloca_works" >&5
@@ -7212,11 +7750,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   eval "$as_ac_var=yes"
 else
   echo "$as_me: failed program was:" >&5
@@ -7225,7 +7779,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        eval "$as_ac_var=no"
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 fi
 ac_res=`eval echo '${'$as_ac_var'}'`
@@ -7362,10 +7916,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_header_compiler=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -7401,10 +7972,17 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       }; then
+  (exit $ac_status); } >/dev/null; then
+  if test -s conftest.err; then
+    ac_cpp_err=$ac_c_preproc_warn_flag
+    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
+  else
+    ac_cpp_err=
+  fi
+else
+  ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
   ac_header_preproc=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -7535,11 +8113,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   eval "$as_ac_var=yes"
 else
   echo "$as_me: failed program was:" >&5
@@ -7548,7 +8142,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        eval "$as_ac_var=no"
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 fi
 ac_res=`eval echo '${'$as_ac_var'}'`
@@ -7605,21 +8199,21 @@ $ac_includes_default
 #include <fcntl.h>
 #include <sys/mman.h>
 
-#if !defined STDC_HEADERS && !defined HAVE_STDLIB_H
+#if !STDC_HEADERS && !HAVE_STDLIB_H
 char *malloc ();
 #endif
 
 /* This mess was copied from the GNU getpagesize.h.  */
-#ifndef HAVE_GETPAGESIZE
+#if !HAVE_GETPAGESIZE
 /* Assume that all systems that can run configure have sys/param.h.  */
-# ifndef HAVE_SYS_PARAM_H
+# if !HAVE_SYS_PARAM_H
 #  define HAVE_SYS_PARAM_H 1
 # endif
 
 # ifdef _SC_PAGESIZE
 #  define getpagesize() sysconf(_SC_PAGESIZE)
 # else /* no _SC_PAGESIZE */
-#  ifdef HAVE_SYS_PARAM_H
+#  if HAVE_SYS_PARAM_H
 #   include <sys/param.h>
 #   ifdef EXEC_PAGESIZE
 #    define getpagesize() EXEC_PAGESIZE
@@ -7931,10 +8525,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   jm_ac_cv_header_inttypes_h=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -7990,10 +8601,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   jm_ac_cv_header_stdint_h=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -8049,11 +8677,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_type_unsigned_long_long=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -8062,7 +8706,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_cv_type_unsigned_long_long=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 fi
 { echo "$as_me:$LINENO: result: $ac_cv_type_unsigned_long_long" >&5
@@ -8132,10 +8776,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   gt_cv_header_inttypes_h=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -8198,10 +8859,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   gt_cv_inttypes_pri_broken=no
 else
   echo "$as_me: failed program was:" >&5
@@ -8818,10 +9496,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_header_compiler=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -8857,10 +9552,17 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       }; then
+  (exit $ac_status); } >/dev/null; then
+  if test -s conftest.err; then
+    ac_cpp_err=$ac_c_preproc_warn_flag
+    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
+  else
+    ac_cpp_err=
+  fi
+else
+  ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
   ac_header_preproc=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -9016,11 +9718,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   eval "$as_ac_var=yes"
 else
   echo "$as_me: failed program was:" >&5
@@ -9029,7 +9747,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        eval "$as_ac_var=no"
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 fi
 ac_res=`eval echo '${'$as_ac_var'}'`
@@ -9113,11 +9831,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   am_cv_func_iconv=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -9126,7 +9860,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
     if test "$am_cv_func_iconv" != yes; then
       am_save_LIBS="$LIBS"
@@ -9162,11 +9896,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   am_cv_lib_iconv=yes
         am_cv_func_iconv=yes
 else
@@ -9176,7 +9926,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
       LIBS="$am_save_LIBS"
     fi
@@ -9251,10 +10001,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   am_cv_proto_iconv_arg1=""
 else
   echo "$as_me: failed program was:" >&5
@@ -9313,11 +10080,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   am_cv_langinfo_codeset=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -9326,7 +10109,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        am_cv_langinfo_codeset=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 
 fi
@@ -9375,11 +10158,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   am_cv_val_LC_MESSAGES=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -9388,7 +10187,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        am_cv_val_LC_MESSAGES=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 fi
 { echo "$as_me:$LINENO: result: $am_cv_val_LC_MESSAGES" >&5
@@ -9421,7 +10220,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_INTLBISON="$ac_prog"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -9561,11 +10360,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   gt_cv_func_gnugettext2_libc=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -9574,7 +10389,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        gt_cv_func_gnugettext2_libc=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 fi
 { echo "$as_me:$LINENO: result: $gt_cv_func_gnugettext2_libc" >&5
@@ -10004,11 +10819,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   gt_cv_func_gnugettext2_libintl=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -10017,7 +10848,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        gt_cv_func_gnugettext2_libintl=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
                         if test "$gt_cv_func_gnugettext2_libintl" != yes && test -n "$LIBICONV"; then
               LIBS="$LIBS $LIBICONV"
@@ -10056,11 +10887,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   LIBINTL="$LIBINTL $LIBICONV"
                 LTLIBINTL="$LTLIBINTL $LTLIBICONV"
                 gt_cv_func_gnugettext2_libintl=yes
@@ -10072,7 +10919,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
             fi
             CPPFLAGS="$gt_save_CPPFLAGS"
@@ -10275,10 +11122,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   eval "$as_ac_Header=yes"
 else
   echo "$as_me: failed program was:" >&5
@@ -10351,11 +11215,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_search_opendir=$ac_res
 else
   echo "$as_me: failed program was:" >&5
@@ -10364,7 +11244,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext
   if test "${ac_cv_search_opendir+set}" = set; then
   break
@@ -10435,11 +11315,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_search_opendir=$ac_res
 else
   echo "$as_me: failed program was:" >&5
@@ -10448,7 +11344,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext
   if test "${ac_cv_search_opendir+set}" = set; then
   break
@@ -10509,24 +11405,41 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_cv_header_time=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_cv_header_time=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_header_time" >&5
-echo "${ECHO_T}$ac_cv_header_time" >&6; }
-if test $ac_cv_header_time = yes; then
-
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_header_time=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       ac_cv_header_time=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_header_time" >&5
+echo "${ECHO_T}$ac_cv_header_time" >&6; }
+if test $ac_cv_header_time = yes; then
+
 cat >>confdefs.h <<\_ACEOF
 #define TIME_WITH_SYS_TIME 1
 _ACEOF
@@ -10574,10 +11487,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_header_compiler=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -10613,10 +11543,17 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       }; then
+  (exit $ac_status); } >/dev/null; then
+  if test -s conftest.err; then
+    ac_cpp_err=$ac_c_preproc_warn_flag
+    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
+  else
+    ac_cpp_err=
+  fi
+else
+  ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
   ac_header_preproc=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -10741,10 +11678,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_header_compiler=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -10780,10 +11734,17 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       }; then
+  (exit $ac_status); } >/dev/null; then
+  if test -s conftest.err; then
+    ac_cpp_err=$ac_c_preproc_warn_flag
+    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
+  else
+    ac_cpp_err=
+  fi
+else
+  ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
   ac_header_preproc=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -10899,10 +11860,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_header_compiler=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -10938,10 +11916,17 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       }; then
+  (exit $ac_status); } >/dev/null; then
+  if test -s conftest.err; then
+    ac_cpp_err=$ac_c_preproc_warn_flag
+    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
+  else
+    ac_cpp_err=
+  fi
+else
+  ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
   ac_header_preproc=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -11045,10 +12030,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_header_compiler=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -11084,10 +12086,17 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       }; then
+  (exit $ac_status); } >/dev/null; then
+  if test -s conftest.err; then
+    ac_cpp_err=$ac_c_preproc_warn_flag
+    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
+  else
+    ac_cpp_err=
+  fi
+else
+  ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
   ac_header_preproc=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -11184,10 +12193,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_header_sys_ptem_h=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -11239,11 +12265,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_working_alloca_h=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -11252,7 +12294,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_cv_working_alloca_h=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 fi
 { echo "$as_me:$LINENO: result: $ac_cv_working_alloca_h" >&5
@@ -11283,7 +12325,7 @@ cat >>conftest.$ac_ext <<_ACEOF
 #  include <malloc.h>
 #  define alloca _alloca
 # else
-#  ifdef HAVE_ALLOCA_H
+#  if HAVE_ALLOCA_H
 #   include <alloca.h>
 #  else
 #   ifdef _AIX
@@ -11319,11 +12361,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_func_alloca_works=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -11332,7 +12390,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_cv_func_alloca_works=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 fi
 { echo "$as_me:$LINENO: result: $ac_cv_func_alloca_works" >&5
@@ -11452,11 +12510,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   eval "$as_ac_var=yes"
 else
   echo "$as_me: failed program was:" >&5
@@ -11465,7 +12539,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        eval "$as_ac_var=no"
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 fi
 ac_res=`eval echo '${'$as_ac_var'}'`
@@ -11596,10 +12670,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_func_getpgrp_void=no
 else
   echo "$as_me: failed program was:" >&5
@@ -11634,7 +12725,7 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 #include <stdio.h>
-#        ifdef PROTOTYPES
+#        if PROTOTYPES
           int (setvbuf) (FILE *, int, char *, size_t);
 #        endif
 int
@@ -11658,11 +12749,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -11670,7 +12777,7 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 #include <stdio.h>
-#           ifdef PROTOTYPES
+#           if PROTOTYPES
              int (setvbuf) (FILE *, int, char *, size_t);
 #           endif
 int
@@ -11694,11 +12801,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   # It compiles and links either way, so it must not be declared
         # with a prototype and most likely this is a K&R C compiler.
         # Try running it.
@@ -11766,7 +12889,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 else
   echo "$as_me: failed program was:" >&5
@@ -11775,7 +12898,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 fi
 { echo "$as_me:$LINENO: result: $ac_cv_func_setvbuf_reversed" >&5
@@ -11855,11 +12978,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   eval "$as_ac_var=yes"
 else
   echo "$as_me: failed program was:" >&5
@@ -11868,7 +13007,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        eval "$as_ac_var=no"
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 fi
 ac_res=`eval echo '${'$as_ac_var'}'`
@@ -11942,20 +13081,36 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
-  ac_cv_func__doprnt=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_func__doprnt=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
        ac_cv_func__doprnt=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 fi
 { echo "$as_me:$LINENO: result: $ac_cv_func__doprnt" >&5
@@ -12125,10 +13280,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_type_signal=int
 else
   echo "$as_me: failed program was:" >&5
@@ -12211,11 +13383,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_func___setostype=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -12224,7 +13412,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_cv_func___setostype=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 fi
 { echo "$as_me:$LINENO: result: $ac_cv_func___setostype" >&5
@@ -12299,11 +13487,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_func_wait3=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -12312,7 +13516,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_cv_func_wait3=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 fi
 { echo "$as_me:$LINENO: result: $ac_cv_func_wait3" >&5
@@ -12387,11 +13591,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_func_isinf=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -12400,7 +13620,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_cv_func_isinf=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 fi
 { echo "$as_me:$LINENO: result: $ac_cv_func_isinf" >&5
@@ -12475,11 +13695,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_func_isnan=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -12488,7 +13724,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_cv_func_isnan=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 fi
 { echo "$as_me:$LINENO: result: $ac_cv_func_isnan" >&5
@@ -12564,11 +13800,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_func_mkfifo=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -12577,7 +13829,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_cv_func_mkfifo=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 fi
 { echo "$as_me:$LINENO: result: $ac_cv_func_mkfifo" >&5
@@ -12687,11 +13939,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   eval "$as_ac_var=yes"
 else
   echo "$as_me: failed program was:" >&5
@@ -12700,7 +13968,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        eval "$as_ac_var=no"
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 fi
 ac_res=`eval echo '${'$as_ac_var'}'`
@@ -12781,11 +14049,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   eval "$as_ac_var=yes"
 else
   echo "$as_me: failed program was:" >&5
@@ -12794,7 +14078,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        eval "$as_ac_var=no"
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 fi
 ac_res=`eval echo '${'$as_ac_var'}'`
@@ -12914,11 +14198,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   eval "$as_ac_var=yes"
 else
   echo "$as_me: failed program was:" >&5
@@ -12927,7 +14227,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        eval "$as_ac_var=no"
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 fi
 ac_res=`eval echo '${'$as_ac_var'}'`
@@ -13012,11 +14312,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   eval "$as_ac_var=yes"
 else
   echo "$as_me: failed program was:" >&5
@@ -13025,7 +14341,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        eval "$as_ac_var=no"
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 fi
 ac_res=`eval echo '${'$as_ac_var'}'`
@@ -13111,11 +14427,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   eval "$as_ac_var=yes"
 else
   echo "$as_me: failed program was:" >&5
@@ -13124,7 +14456,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        eval "$as_ac_var=no"
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 fi
 ac_res=`eval echo '${'$as_ac_var'}'`
@@ -13207,11 +14539,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   eval "$as_ac_var=yes"
 else
   echo "$as_me: failed program was:" >&5
@@ -13220,7 +14568,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        eval "$as_ac_var=no"
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 fi
 ac_res=`eval echo '${'$as_ac_var'}'`
@@ -13308,11 +14656,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   eval "$as_ac_var=yes"
 else
   echo "$as_me: failed program was:" >&5
@@ -13321,7 +14685,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        eval "$as_ac_var=no"
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 fi
 ac_res=`eval echo '${'$as_ac_var'}'`
@@ -13416,25 +14780,159 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
-  eval "$as_ac_var=yes"
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       eval "$as_ac_var=no"
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
-fi
-ac_res=`eval echo '${'$as_ac_var'}'`
-              { echo "$as_me:$LINENO: result: $ac_res" >&5
-echo "${ECHO_T}$ac_res" >&6; }
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  eval "$as_ac_var=yes"
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       eval "$as_ac_var=no"
+fi
+
+rm -f core conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
+fi
+ac_res=`eval echo '${'$as_ac_var'}'`
+              { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
+if test `eval echo '${'$as_ac_var'}'` = yes; then
+  cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
+_ACEOF
+
+else
+  case " $LIBOBJS " in
+  *" $ac_func.$ac_objext "* ) ;;
+  *) LIBOBJS="$LIBOBJS $ac_func.$ac_objext"
+ ;;
+esac
+
+fi
+done
+
+
+
+for ac_func in fdprintf
+do
+as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
+{ echo "$as_me:$LINENO: checking for $ac_func" >&5
+echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; }
+if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
+   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
+#define $ac_func innocuous_$ac_func
+
+/* System header to define __stub macros and hopefully few prototypes,
+    which can conflict with char $ac_func (); below.
+    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+    <limits.h> exists even on freestanding compilers.  */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef $ac_func
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char $ac_func ();
+/* The GNU C library defines this for functions which it implements
+    to always fail with ENOSYS.  Some functions are actually named
+    something starting with __ and the normal name is an alias.  */
+#if defined __stub_$ac_func || defined __stub___$ac_func
+choke me
+#endif
+
+int
+main ()
+{
+return $ac_func ();
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  eval "$as_ac_var=yes"
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       eval "$as_ac_var=no"
+fi
+
+rm -f core conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
+fi
+ac_res=`eval echo '${'$as_ac_var'}'`
+              { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 if test `eval echo '${'$as_ac_var'}'` = yes; then
   cat >>confdefs.h <<_ACEOF
 #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
@@ -13468,7 +14966,8 @@ int
 main ()
 {
 #ifndef confstr
-  (void) confstr;
+  char *p = (char *) confstr;
+  return !p;
 #endif
 
   ;
@@ -13488,10 +14987,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_have_decl_confstr=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -13536,7 +15052,8 @@ int
 main ()
 {
 #ifndef printf
-  (void) printf;
+  char *p = (char *) printf;
+  return !p;
 #endif
 
   ;
@@ -13556,10 +15073,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_have_decl_printf=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -13604,7 +15138,8 @@ int
 main ()
 {
 #ifndef sbrk
-  (void) sbrk;
+  char *p = (char *) sbrk;
+  return !p;
 #endif
 
   ;
@@ -13624,10 +15159,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_have_decl_sbrk=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -13672,7 +15224,8 @@ int
 main ()
 {
 #ifndef setregid
-  (void) setregid;
+  char *p = (char *) setregid;
+  return !p;
 #endif
 
   ;
@@ -13692,10 +15245,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_have_decl_setregid=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -13740,7 +15310,8 @@ int
 main ()
 {
 #ifndef strcpy
-  (void) strcpy;
+  char *p = (char *) strcpy;
+  return !p;
 #endif
 
   ;
@@ -13760,10 +15331,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_have_decl_strcpy=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -13808,7 +15396,8 @@ int
 main ()
 {
 #ifndef strsignal
-  (void) strsignal;
+  char *p = (char *) strsignal;
+  return !p;
 #endif
 
   ;
@@ -13828,10 +15417,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_have_decl_strsignal=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -13877,7 +15483,8 @@ int
 main ()
 {
 #ifndef strtold
-  (void) strtold;
+  char *p = (char *) strtold;
+  return !p;
 #endif
 
   ;
@@ -13897,10 +15504,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_have_decl_strtold=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -13953,10 +15577,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   bash_cv_strtold_broken=no
 else
   echo "$as_me: failed program was:" >&5
@@ -14033,11 +15674,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   bash_cv_decl_strtoimax=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -14046,7 +15703,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        bash_cv_decl_strtoimax=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 fi
 { echo "$as_me:$LINENO: result: $bash_cv_decl_strtoimax" >&5
@@ -14107,11 +15764,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   bash_cv_decl_strtol=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -14120,7 +15793,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        bash_cv_decl_strtol=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 fi
 { echo "$as_me:$LINENO: result: $bash_cv_decl_strtol" >&5
@@ -14177,15 +15850,31 @@ esac
 eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   (eval "$ac_link") 2>conftest.er1
   ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); }; }; then
   bash_cv_decl_strtoll=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -14194,7 +15883,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        bash_cv_decl_strtoll=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 fi
 { echo "$as_me:$LINENO: result: $bash_cv_decl_strtoll" >&5
@@ -14255,11 +15944,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   bash_cv_decl_strtoul=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -14268,7 +15973,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        bash_cv_decl_strtoul=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 fi
 { echo "$as_me:$LINENO: result: $bash_cv_decl_strtoul" >&5
@@ -14329,11 +16034,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   bash_cv_decl_strtoull=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -14342,7 +16063,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        bash_cv_decl_strtoull=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 fi
 { echo "$as_me:$LINENO: result: $bash_cv_decl_strtoull" >&5
@@ -14403,11 +16124,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   bash_cv_decl_strtoumax=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -14416,7 +16153,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        bash_cv_decl_strtoumax=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 fi
 { echo "$as_me:$LINENO: result: $bash_cv_decl_strtoumax" >&5
@@ -14438,8 +16175,7 @@ fi
 
 
 
-
-for ac_header in $ac_header_list
+for ac_header in stdlib.h sys/time.h unistd.h
 do
 as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
 if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
@@ -14477,10 +16213,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_header_compiler=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -14516,10 +16269,17 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       }; then
+  (exit $ac_status); } >/dev/null; then
+  if test -s conftest.err; then
+    ac_cpp_err=$ac_c_preproc_warn_flag
+    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
+  else
+    ac_cpp_err=
+  fi
+else
+  ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
   ac_header_preproc=yes
 else
   echo "$as_me: failed program was:" >&5
 done
 
 
-
-
-
-
-
-
-
-for ac_func in $ac_func_list
+for ac_func in alarm
 do
 as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
 { echo "$as_me:$LINENO: checking for $ac_func" >&5
@@ -14657,11 +16410,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   eval "$as_ac_var=yes"
 else
   echo "$as_me: failed program was:" >&5
@@ -14670,7 +16439,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        eval "$as_ac_var=no"
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 fi
 ac_res=`eval echo '${'$as_ac_var'}'`
@@ -14684,22 +16453,6 @@ _ACEOF
 fi
 done
 
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
 { echo "$as_me:$LINENO: checking for working mktime" >&5
 echo $ECHO_N "checking for working mktime... $ECHO_C" >&6; }
 if test "${ac_cv_func_working_mktime+set}" = set; then
@@ -14715,24 +16468,26 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 /* Test program from Paul Eggert and Tony Leneis.  */
-#ifdef TIME_WITH_SYS_TIME
+#if TIME_WITH_SYS_TIME
 # include <sys/time.h>
 # include <time.h>
 #else
-# ifdef HAVE_SYS_TIME_H
+# if HAVE_SYS_TIME_H
 #  include <sys/time.h>
 # else
 #  include <time.h>
 # endif
 #endif
 
-#include <stdlib.h>
+#if HAVE_STDLIB_H
+# include <stdlib.h>
+#endif
 
-#ifdef HAVE_UNISTD_H
+#if HAVE_UNISTD_H
 # include <unistd.h>
 #endif
 
-#ifndef HAVE_ALARM
+#if !HAVE_ALARM
 # define alarm(X) /* empty */
 #endif
 
@@ -14833,36 +16588,6 @@ bigtime_test (j)
   return 1;
 }
 
-static int
-year_2050_test ()
-{
-  /* The correct answer for 2050-02-01 00:00:00 in Pacific time,
-     ignoring leap seconds.  */
-  unsigned long int answer = 2527315200UL;
-
-  struct tm tm;
-  time_t t;
-  tm.tm_year = 2050 - 1900;
-  tm.tm_mon = 2 - 1;
-  tm.tm_mday = 1;
-  tm.tm_hour = tm.tm_min = tm.tm_sec = 0;
-  tm.tm_isdst = -1;
-
-  /* Use the portable POSIX.1 specification "TZ=PST8PDT,M4.1.0,M10.5.0"
-     instead of "TZ=America/Vancouver" in order to detect the bug even
-     on systems that don't support the Olson extension, or don't have the
-     full zoneinfo tables installed.  */
-  putenv ("TZ=PST8PDT,M4.1.0,M10.5.0");
-
-  t = mktime (&tm);
-
-  /* Check that the result is either a failure, or close enough
-     to the correct answer that we can assume the discrepancy is
-     due to leap seconds.  */
-  return (t == (time_t) -1
-         || (0 < t && answer - 120 <= t && t <= answer + 120));
-}
-
 int
 main ()
 {
@@ -14900,7 +16625,7 @@ main ()
       if (! bigtime_test (j - 1))
        return 1;
     }
-  return ! (irix_6_4_bug () && spring_forward_gap () && year_2050_test ());
+  return ! (irix_6_4_bug () && spring_forward_gap ());
 }
 _ACEOF
 rm -f conftest$ac_exeext
@@ -14993,10 +16718,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_header_compiler=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -15032,10 +16774,17 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       }; then
+  (exit $ac_status); } >/dev/null; then
+  if test -s conftest.err; then
+    ac_cpp_err=$ac_c_preproc_warn_flag
+    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
+  else
+    ac_cpp_err=
+  fi
+else
+  ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
   ac_header_preproc=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -15140,10 +16889,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_header_compiler=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -15179,10 +16945,17 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       }; then
+  (exit $ac_status); } >/dev/null; then
+  if test -s conftest.err; then
+    ac_cpp_err=$ac_c_preproc_warn_flag
+    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
+  else
+    ac_cpp_err=
+  fi
+else
+  ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
   ac_header_preproc=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -15313,11 +17086,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   eval "$as_ac_var=yes"
 else
   echo "$as_me: failed program was:" >&5
@@ -15326,7 +17115,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        eval "$as_ac_var=no"
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 fi
 ac_res=`eval echo '${'$as_ac_var'}'`
@@ -15383,21 +17172,21 @@ $ac_includes_default
 #include <fcntl.h>
 #include <sys/mman.h>
 
-#if !defined STDC_HEADERS && !defined HAVE_STDLIB_H
+#if !STDC_HEADERS && !HAVE_STDLIB_H
 char *malloc ();
 #endif
 
 /* This mess was copied from the GNU getpagesize.h.  */
-#ifndef HAVE_GETPAGESIZE
+#if !HAVE_GETPAGESIZE
 /* Assume that all systems that can run configure have sys/param.h.  */
-# ifndef HAVE_SYS_PARAM_H
+# if !HAVE_SYS_PARAM_H
 #  define HAVE_SYS_PARAM_H 1
 # endif
 
 # ifdef _SC_PAGESIZE
 #  define getpagesize() sysconf(_SC_PAGESIZE)
 # else /* no _SC_PAGESIZE */
-#  ifdef HAVE_SYS_PARAM_H
+#  if HAVE_SYS_PARAM_H
 #   include <sys/param.h>
 #   ifdef EXEC_PAGESIZE
 #    define getpagesize() EXEC_PAGESIZE
@@ -15602,11 +17391,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   eval "$as_ac_var=yes"
 else
   echo "$as_me: failed program was:" >&5
@@ -15615,7 +17420,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        eval "$as_ac_var=no"
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 fi
 ac_res=`eval echo '${'$as_ac_var'}'`
@@ -15681,10 +17486,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_header_compiler=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -15720,10 +17542,17 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       }; then
+  (exit $ac_status); } >/dev/null; then
+  if test -s conftest.err; then
+    ac_cpp_err=$ac_c_preproc_warn_flag
+    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
+  else
+    ac_cpp_err=
+  fi
+else
+  ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
   ac_header_preproc=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -15826,10 +17655,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_header_compiler=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -15865,10 +17711,17 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       }; then
+  (exit $ac_status); } >/dev/null; then
+  if test -s conftest.err; then
+    ac_cpp_err=$ac_c_preproc_warn_flag
+    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
+  else
+    ac_cpp_err=
+  fi
+else
+  ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
   ac_header_preproc=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -15971,10 +17824,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_header_compiler=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -16010,10 +17880,17 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       }; then
+  (exit $ac_status); } >/dev/null; then
+  if test -s conftest.err; then
+    ac_cpp_err=$ac_c_preproc_warn_flag
+    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
+  else
+    ac_cpp_err=
+  fi
+else
+  ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
   ac_header_preproc=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -16141,11 +18018,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_func_mbrlen=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -16154,7 +18047,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_cv_func_mbrlen=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 fi
 { echo "$as_me:$LINENO: result: $ac_cv_func_mbrlen" >&5
@@ -16229,11 +18122,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_func_mbscmp=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -16242,7 +18151,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_cv_func_mbscmp=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 fi
 { echo "$as_me:$LINENO: result: $ac_cv_func_mbscmp" >&5
@@ -16317,11 +18226,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_func_mbsrtowcs=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -16330,7 +18255,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_cv_func_mbsrtowcs=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 fi
 { echo "$as_me:$LINENO: result: $ac_cv_func_mbsrtowcs" >&5
@@ -16406,11 +18331,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_func_wcrtomb=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -16419,7 +18360,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_cv_func_wcrtomb=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 fi
 { echo "$as_me:$LINENO: result: $ac_cv_func_wcrtomb" >&5
@@ -16494,11 +18435,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_func_wcscoll=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -16507,7 +18464,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_cv_func_wcscoll=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 fi
 { echo "$as_me:$LINENO: result: $ac_cv_func_wcscoll" >&5
@@ -16582,11 +18539,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_func_wcsdup=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -16595,7 +18568,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_cv_func_wcsdup=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 fi
 { echo "$as_me:$LINENO: result: $ac_cv_func_wcsdup" >&5
@@ -16670,11 +18643,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_func_wcwidth=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -16683,7 +18672,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_cv_func_wcwidth=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 fi
 { echo "$as_me:$LINENO: result: $ac_cv_func_wcwidth" >&5
@@ -16758,11 +18747,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_func_wctype=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -16771,7 +18776,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_cv_func_wctype=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 fi
 { echo "$as_me:$LINENO: result: $ac_cv_func_wctype" >&5
@@ -16822,11 +18827,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_func_mbrtowc=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -16835,7 +18856,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_cv_func_mbrtowc=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 fi
 { echo "$as_me:$LINENO: result: $ac_cv_func_mbrtowc" >&5
@@ -16926,11 +18947,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   eval "$as_ac_var=yes"
 else
   echo "$as_me: failed program was:" >&5
@@ -16939,7 +18976,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        eval "$as_ac_var=no"
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 fi
 ac_res=`eval echo '${'$as_ac_var'}'`
@@ -16987,11 +19024,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   bash_cv_langinfo_codeset=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -17000,7 +19053,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        bash_cv_langinfo_codeset=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 fi
 { echo "$as_me:$LINENO: result: $bash_cv_langinfo_codeset" >&5
@@ -17049,10 +19102,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   bash_cv_type_wchar_t=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -17109,10 +19179,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   bash_cv_type_wctype_t=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -17169,10 +19256,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   bash_cv_type_wint_t=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -17239,11 +19343,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_lib_dl_dlopen=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -17252,7 +19372,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_cv_lib_dl_dlopen=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
@@ -17336,11 +19456,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   eval "$as_ac_var=yes"
 else
   echo "$as_me: failed program was:" >&5
@@ -17349,7 +19485,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        eval "$as_ac_var=no"
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 fi
 ac_res=`eval echo '${'$as_ac_var'}'`
@@ -17378,7 +19514,7 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 #include <signal.h>
 /* NetBSD declares sys_siglist in unistd.h.  */
-#ifdef HAVE_UNISTD_H
+#if HAVE_UNISTD_H
 # include <unistd.h>
 #endif
 
@@ -17387,7 +19523,8 @@ int
 main ()
 {
 #ifndef sys_siglist
-  (void) sys_siglist;
+  char *p = (char *) sys_siglist;
+  return !p;
 #endif
 
   ;
@@ -17407,10 +19544,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_have_decl_sys_siglist=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -17480,11 +19634,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   bash_cv_func_inet_aton=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -17493,7 +19663,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        bash_cv_func_inet_aton=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 fi
 { echo "$as_me:$LINENO: result: $bash_cv_func_inet_aton" >&5
@@ -17558,11 +19728,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_lib_sun_getpwent=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -17571,7 +19757,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_cv_lib_sun_getpwent=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
@@ -17642,11 +19828,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_lib_socket_getpeername=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -17655,7 +19857,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_cv_lib_socket_getpeername=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
@@ -17728,11 +19930,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_lib_nsl_t_open=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -17741,7 +19959,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_cv_lib_nsl_t_open=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
@@ -17817,11 +20035,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   bash_cv_have_gethostbyname=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -17830,7 +20064,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        bash_cv_have_gethostbyname=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 
 fi
@@ -18024,10 +20258,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_type_off_t=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -18087,10 +20338,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_type_mode_t=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -18188,10 +20456,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_type_pid_t=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -18251,10 +20536,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_type_size_t=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -18314,10 +20616,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_type_ssize_t=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -18377,10 +20696,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_type_time_t=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -18436,17 +20772,33 @@ case "(($ac_try" in
   *) ac_try_echo=$ac_try;;
 esac
 eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_link") 2>conftest.er1
+  (eval "$ac_link") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); }; }; then
   bash_cv_type_long_long='long long'
 else
   echo "$as_me: failed program was:" >&5
@@ -18455,7 +20807,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        bash_cv_type_long_long='long'
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 fi
 { echo "$as_me:$LINENO: result: $bash_cv_type_long_long" >&5
@@ -18505,11 +20857,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   bash_cv_type_unsigned_long_long='unsigned long long'
 else
   echo "$as_me: failed program was:" >&5
@@ -18518,7 +20886,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        bash_cv_type_unsigned_long_long='unsigned long'
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 fi
 { echo "$as_me:$LINENO: result: $bash_cv_type_unsigned_long_long" >&5
@@ -18566,10 +20934,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_type_signal=int
 else
   echo "$as_me: failed program was:" >&5
@@ -18626,10 +21011,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_type_char=yes
 else
   echo "$as_me: failed program was:" >&5
 { echo "$as_me:$LINENO: result: $ac_cv_type_char" >&5
 echo "${ECHO_T}$ac_cv_type_char" >&6; }
 
-# The cast to long int works around a bug in the HP C Compiler
-# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-# This bug is HP SR number 8606223364.
 { echo "$as_me:$LINENO: checking size of char" >&5
 echo $ECHO_N "checking size of char... $ECHO_C" >&6; }
 if test "${ac_cv_sizeof_char+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
+  if test "$ac_cv_type_char" = yes; then
+  # The cast to long int works around a bug in the HP C Compiler
+  # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+  # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+  # This bug is HP SR number 8606223364.
   if test "$cross_compiling" = yes; then
   # Depending upon the size, compute the lo and hi bounds.
 cat >conftest.$ac_ext <<_ACEOF
@@ -18661,7 +21064,7 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
-   typedef char ac__type_sizeof_;
+                  typedef char ac__type_sizeof_;
 int
 main ()
 {
@@ -18685,10 +21088,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_lo=0 ac_mid=0
   while :; do
     cat >conftest.$ac_ext <<_ACEOF
@@ -18698,7 +21118,7 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
-   typedef char ac__type_sizeof_;
+                  typedef char ac__type_sizeof_;
 int
 main ()
 {
@@ -18722,10 +21142,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_hi=$ac_mid; break
 else
   echo "$as_me: failed program was:" >&5
@@ -18752,7 +21189,7 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
-   typedef char ac__type_sizeof_;
+                  typedef char ac__type_sizeof_;
 int
 main ()
 {
@@ -18776,10 +21213,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_hi=-1 ac_mid=-1
   while :; do
     cat >conftest.$ac_ext <<_ACEOF
@@ -18789,7 +21243,7 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
-   typedef char ac__type_sizeof_;
+                  typedef char ac__type_sizeof_;
 int
 main ()
 {
@@ -18813,10 +21267,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_lo=$ac_mid; break
 else
   echo "$as_me: failed program was:" >&5
@@ -18853,7 +21324,7 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
-   typedef char ac__type_sizeof_;
+                  typedef char ac__type_sizeof_;
 int
 main ()
 {
@@ -18877,10 +21348,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_hi=$ac_mid
 else
   echo "$as_me: failed program was:" >&5
@@ -18893,15 +21381,11 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 done
 case $ac_lo in
 ?*) ac_cv_sizeof_char=$ac_lo;;
-'') if test "$ac_cv_type_char" = yes; then
-     { { echo "$as_me:$LINENO: error: cannot compute sizeof (char)
+'') { { echo "$as_me:$LINENO: error: cannot compute sizeof (char)
 See \`config.log' for more details." >&5
 echo "$as_me: error: cannot compute sizeof (char)
 See \`config.log' for more details." >&2;}
-   { (exit 77); exit 77; }; }
-   else
-     ac_cv_sizeof_char=0
-   fi ;;
+   { (exit 77); exit 77; }; } ;;
 esac
 else
   cat >conftest.$ac_ext <<_ACEOF
@@ -18911,7 +21395,7 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
-   typedef char ac__type_sizeof_;
+                  typedef char ac__type_sizeof_;
 static long int longval () { return (long int) (sizeof (ac__type_sizeof_)); }
 static unsigned long int ulongval () { return (long int) (sizeof (ac__type_sizeof_)); }
 #include <stdio.h>
@@ -18970,25 +21454,21 @@ echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
 ( exit $ac_status )
-if test "$ac_cv_type_char" = yes; then
-     { { echo "$as_me:$LINENO: error: cannot compute sizeof (char)
+{ { echo "$as_me:$LINENO: error: cannot compute sizeof (char)
 See \`config.log' for more details." >&5
 echo "$as_me: error: cannot compute sizeof (char)
 See \`config.log' for more details." >&2;}
    { (exit 77); exit 77; }; }
-   else
-     ac_cv_sizeof_char=0
-   fi
 fi
 rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
 rm -f conftest.val
+else
+  ac_cv_sizeof_char=0
+fi
 fi
 { echo "$as_me:$LINENO: result: $ac_cv_sizeof_char" >&5
 echo "${ECHO_T}$ac_cv_sizeof_char" >&6; }
-
-
-
 cat >>confdefs.h <<_ACEOF
 #define SIZEOF_CHAR $ac_cv_sizeof_char
 _ACEOF
@@ -19031,10 +21511,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_type_short=yes
 else
   echo "$as_me: failed program was:" >&5
 { echo "$as_me:$LINENO: result: $ac_cv_type_short" >&5
 echo "${ECHO_T}$ac_cv_type_short" >&6; }
 
-# The cast to long int works around a bug in the HP C Compiler
-# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-# This bug is HP SR number 8606223364.
 { echo "$as_me:$LINENO: checking size of short" >&5
 echo $ECHO_N "checking size of short... $ECHO_C" >&6; }
 if test "${ac_cv_sizeof_short+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
+  if test "$ac_cv_type_short" = yes; then
+  # The cast to long int works around a bug in the HP C Compiler
+  # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+  # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+  # This bug is HP SR number 8606223364.
   if test "$cross_compiling" = yes; then
   # Depending upon the size, compute the lo and hi bounds.
 cat >conftest.$ac_ext <<_ACEOF
@@ -19066,7 +21564,7 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
-   typedef short ac__type_sizeof_;
+                  typedef short ac__type_sizeof_;
 int
 main ()
 {
@@ -19090,10 +21588,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_lo=0 ac_mid=0
   while :; do
     cat >conftest.$ac_ext <<_ACEOF
@@ -19103,7 +21618,7 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
-   typedef short ac__type_sizeof_;
+                  typedef short ac__type_sizeof_;
 int
 main ()
 {
@@ -19127,10 +21642,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_hi=$ac_mid; break
 else
   echo "$as_me: failed program was:" >&5
@@ -19157,7 +21689,7 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
-   typedef short ac__type_sizeof_;
+                  typedef short ac__type_sizeof_;
 int
 main ()
 {
@@ -19181,10 +21713,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_hi=-1 ac_mid=-1
   while :; do
     cat >conftest.$ac_ext <<_ACEOF
@@ -19194,7 +21743,7 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
-   typedef short ac__type_sizeof_;
+                  typedef short ac__type_sizeof_;
 int
 main ()
 {
@@ -19218,10 +21767,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_lo=$ac_mid; break
 else
   echo "$as_me: failed program was:" >&5
@@ -19258,7 +21824,7 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
-   typedef short ac__type_sizeof_;
+                  typedef short ac__type_sizeof_;
 int
 main ()
 {
@@ -19276,16 +21842,33 @@ case "(($ac_try" in
   *) ac_try_echo=$ac_try;;
 esac
 eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compile") 2>conftest.er1
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); }; }; then
   ac_hi=$ac_mid
 else
   echo "$as_me: failed program was:" >&5
@@ -19298,15 +21881,11 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 done
 case $ac_lo in
 ?*) ac_cv_sizeof_short=$ac_lo;;
-'') if test "$ac_cv_type_short" = yes; then
-     { { echo "$as_me:$LINENO: error: cannot compute sizeof (short)
+'') { { echo "$as_me:$LINENO: error: cannot compute sizeof (short)
 See \`config.log' for more details." >&5
 echo "$as_me: error: cannot compute sizeof (short)
 See \`config.log' for more details." >&2;}
-   { (exit 77); exit 77; }; }
-   else
-     ac_cv_sizeof_short=0
-   fi ;;
+   { (exit 77); exit 77; }; } ;;
 esac
 else
   cat >conftest.$ac_ext <<_ACEOF
@@ -19316,7 +21895,7 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
-   typedef short ac__type_sizeof_;
+                  typedef short ac__type_sizeof_;
 static long int longval () { return (long int) (sizeof (ac__type_sizeof_)); }
 static unsigned long int ulongval () { return (long int) (sizeof (ac__type_sizeof_)); }
 #include <stdio.h>
@@ -19375,25 +21954,21 @@ echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
 ( exit $ac_status )
-if test "$ac_cv_type_short" = yes; then
-     { { echo "$as_me:$LINENO: error: cannot compute sizeof (short)
+{ { echo "$as_me:$LINENO: error: cannot compute sizeof (short)
 See \`config.log' for more details." >&5
 echo "$as_me: error: cannot compute sizeof (short)
 See \`config.log' for more details." >&2;}
    { (exit 77); exit 77; }; }
-   else
-     ac_cv_sizeof_short=0
-   fi
 fi
 rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
 rm -f conftest.val
+else
+  ac_cv_sizeof_short=0
+fi
 fi
 { echo "$as_me:$LINENO: result: $ac_cv_sizeof_short" >&5
 echo "${ECHO_T}$ac_cv_sizeof_short" >&6; }
-
-
-
 cat >>confdefs.h <<_ACEOF
 #define SIZEOF_SHORT $ac_cv_sizeof_short
 _ACEOF
@@ -19436,10 +22011,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_type_int=yes
 else
   echo "$as_me: failed program was:" >&5
 { echo "$as_me:$LINENO: result: $ac_cv_type_int" >&5
 echo "${ECHO_T}$ac_cv_type_int" >&6; }
 
-# The cast to long int works around a bug in the HP C Compiler
-# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-# This bug is HP SR number 8606223364.
 { echo "$as_me:$LINENO: checking size of int" >&5
 echo $ECHO_N "checking size of int... $ECHO_C" >&6; }
 if test "${ac_cv_sizeof_int+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
+  if test "$ac_cv_type_int" = yes; then
+  # The cast to long int works around a bug in the HP C Compiler
+  # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+  # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+  # This bug is HP SR number 8606223364.
   if test "$cross_compiling" = yes; then
   # Depending upon the size, compute the lo and hi bounds.
 cat >conftest.$ac_ext <<_ACEOF
@@ -19471,7 +22064,7 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
-   typedef int ac__type_sizeof_;
+                  typedef int ac__type_sizeof_;
 int
 main ()
 {
@@ -19495,10 +22088,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_lo=0 ac_mid=0
   while :; do
     cat >conftest.$ac_ext <<_ACEOF
@@ -19508,7 +22118,7 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
-   typedef int ac__type_sizeof_;
+                  typedef int ac__type_sizeof_;
 int
 main ()
 {
@@ -19532,10 +22142,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_hi=$ac_mid; break
 else
   echo "$as_me: failed program was:" >&5
@@ -19562,7 +22189,7 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
-   typedef int ac__type_sizeof_;
+                  typedef int ac__type_sizeof_;
 int
 main ()
 {
@@ -19586,10 +22213,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_hi=-1 ac_mid=-1
   while :; do
     cat >conftest.$ac_ext <<_ACEOF
@@ -19599,7 +22243,7 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
-   typedef int ac__type_sizeof_;
+                  typedef int ac__type_sizeof_;
 int
 main ()
 {
@@ -19623,10 +22267,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_lo=$ac_mid; break
 else
   echo "$as_me: failed program was:" >&5
@@ -19663,7 +22324,7 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
-   typedef int ac__type_sizeof_;
+                  typedef int ac__type_sizeof_;
 int
 main ()
 {
@@ -19687,10 +22348,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_hi=$ac_mid
 else
   echo "$as_me: failed program was:" >&5
@@ -19703,15 +22381,11 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 done
 case $ac_lo in
 ?*) ac_cv_sizeof_int=$ac_lo;;
-'') if test "$ac_cv_type_int" = yes; then
-     { { echo "$as_me:$LINENO: error: cannot compute sizeof (int)
+'') { { echo "$as_me:$LINENO: error: cannot compute sizeof (int)
 See \`config.log' for more details." >&5
 echo "$as_me: error: cannot compute sizeof (int)
 See \`config.log' for more details." >&2;}
-   { (exit 77); exit 77; }; }
-   else
-     ac_cv_sizeof_int=0
-   fi ;;
+   { (exit 77); exit 77; }; } ;;
 esac
 else
   cat >conftest.$ac_ext <<_ACEOF
@@ -19721,7 +22395,7 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
-   typedef int ac__type_sizeof_;
+                  typedef int ac__type_sizeof_;
 static long int longval () { return (long int) (sizeof (ac__type_sizeof_)); }
 static unsigned long int ulongval () { return (long int) (sizeof (ac__type_sizeof_)); }
 #include <stdio.h>
@@ -19780,25 +22454,21 @@ echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
 ( exit $ac_status )
-if test "$ac_cv_type_int" = yes; then
-     { { echo "$as_me:$LINENO: error: cannot compute sizeof (int)
+{ { echo "$as_me:$LINENO: error: cannot compute sizeof (int)
 See \`config.log' for more details." >&5
 echo "$as_me: error: cannot compute sizeof (int)
 See \`config.log' for more details." >&2;}
    { (exit 77); exit 77; }; }
-   else
-     ac_cv_sizeof_int=0
-   fi
 fi
 rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
 rm -f conftest.val
+else
+  ac_cv_sizeof_int=0
+fi
 fi
 { echo "$as_me:$LINENO: result: $ac_cv_sizeof_int" >&5
 echo "${ECHO_T}$ac_cv_sizeof_int" >&6; }
-
-
-
 cat >>confdefs.h <<_ACEOF
 #define SIZEOF_INT $ac_cv_sizeof_int
 _ACEOF
@@ -19841,10 +22511,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_type_long=yes
 else
   echo "$as_me: failed program was:" >&5
 { echo "$as_me:$LINENO: result: $ac_cv_type_long" >&5
 echo "${ECHO_T}$ac_cv_type_long" >&6; }
 
-# The cast to long int works around a bug in the HP C Compiler
-# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-# This bug is HP SR number 8606223364.
 { echo "$as_me:$LINENO: checking size of long" >&5
 echo $ECHO_N "checking size of long... $ECHO_C" >&6; }
 if test "${ac_cv_sizeof_long+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
+  if test "$ac_cv_type_long" = yes; then
+  # The cast to long int works around a bug in the HP C Compiler
+  # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+  # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+  # This bug is HP SR number 8606223364.
   if test "$cross_compiling" = yes; then
   # Depending upon the size, compute the lo and hi bounds.
 cat >conftest.$ac_ext <<_ACEOF
@@ -19876,7 +22564,7 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
-   typedef long ac__type_sizeof_;
+                  typedef long ac__type_sizeof_;
 int
 main ()
 {
@@ -19900,10 +22588,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_lo=0 ac_mid=0
   while :; do
     cat >conftest.$ac_ext <<_ACEOF
@@ -19913,7 +22618,7 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
-   typedef long ac__type_sizeof_;
+                  typedef long ac__type_sizeof_;
 int
 main ()
 {
@@ -19937,10 +22642,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_hi=$ac_mid; break
 else
   echo "$as_me: failed program was:" >&5
@@ -19967,7 +22689,7 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
-   typedef long ac__type_sizeof_;
+                  typedef long ac__type_sizeof_;
 int
 main ()
 {
@@ -19991,10 +22713,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_hi=-1 ac_mid=-1
   while :; do
     cat >conftest.$ac_ext <<_ACEOF
@@ -20004,7 +22743,7 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
-   typedef long ac__type_sizeof_;
+                  typedef long ac__type_sizeof_;
 int
 main ()
 {
@@ -20028,10 +22767,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_lo=$ac_mid; break
 else
   echo "$as_me: failed program was:" >&5
@@ -20068,7 +22824,7 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
-   typedef long ac__type_sizeof_;
+                  typedef long ac__type_sizeof_;
 int
 main ()
 {
@@ -20092,10 +22848,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_hi=$ac_mid
 else
   echo "$as_me: failed program was:" >&5
@@ -20108,15 +22881,11 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 done
 case $ac_lo in
 ?*) ac_cv_sizeof_long=$ac_lo;;
-'') if test "$ac_cv_type_long" = yes; then
-     { { echo "$as_me:$LINENO: error: cannot compute sizeof (long)
+'') { { echo "$as_me:$LINENO: error: cannot compute sizeof (long)
 See \`config.log' for more details." >&5
 echo "$as_me: error: cannot compute sizeof (long)
 See \`config.log' for more details." >&2;}
-   { (exit 77); exit 77; }; }
-   else
-     ac_cv_sizeof_long=0
-   fi ;;
+   { (exit 77); exit 77; }; } ;;
 esac
 else
   cat >conftest.$ac_ext <<_ACEOF
@@ -20126,7 +22895,7 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
-   typedef long ac__type_sizeof_;
+                  typedef long ac__type_sizeof_;
 static long int longval () { return (long int) (sizeof (ac__type_sizeof_)); }
 static unsigned long int ulongval () { return (long int) (sizeof (ac__type_sizeof_)); }
 #include <stdio.h>
@@ -20185,25 +22954,21 @@ echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
 ( exit $ac_status )
-if test "$ac_cv_type_long" = yes; then
-     { { echo "$as_me:$LINENO: error: cannot compute sizeof (long)
+{ { echo "$as_me:$LINENO: error: cannot compute sizeof (long)
 See \`config.log' for more details." >&5
 echo "$as_me: error: cannot compute sizeof (long)
 See \`config.log' for more details." >&2;}
    { (exit 77); exit 77; }; }
-   else
-     ac_cv_sizeof_long=0
-   fi
 fi
 rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
 rm -f conftest.val
+else
+  ac_cv_sizeof_long=0
+fi
 fi
 { echo "$as_me:$LINENO: result: $ac_cv_sizeof_long" >&5
 echo "${ECHO_T}$ac_cv_sizeof_long" >&6; }
-
-
-
 cat >>confdefs.h <<_ACEOF
 #define SIZEOF_LONG $ac_cv_sizeof_long
 _ACEOF
@@ -20246,10 +23011,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_type_char_p=yes
 else
   echo "$as_me: failed program was:" >&5
 { echo "$as_me:$LINENO: result: $ac_cv_type_char_p" >&5
 echo "${ECHO_T}$ac_cv_type_char_p" >&6; }
 
-# The cast to long int works around a bug in the HP C Compiler
-# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-# This bug is HP SR number 8606223364.
 { echo "$as_me:$LINENO: checking size of char *" >&5
 echo $ECHO_N "checking size of char *... $ECHO_C" >&6; }
 if test "${ac_cv_sizeof_char_p+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
+  if test "$ac_cv_type_char_p" = yes; then
+  # The cast to long int works around a bug in the HP C Compiler
+  # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+  # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+  # This bug is HP SR number 8606223364.
   if test "$cross_compiling" = yes; then
   # Depending upon the size, compute the lo and hi bounds.
 cat >conftest.$ac_ext <<_ACEOF
@@ -20281,7 +23064,7 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
-   typedef char * ac__type_sizeof_;
+                  typedef char * ac__type_sizeof_;
 int
 main ()
 {
@@ -20305,10 +23088,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_lo=0 ac_mid=0
   while :; do
     cat >conftest.$ac_ext <<_ACEOF
@@ -20318,7 +23118,7 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
-   typedef char * ac__type_sizeof_;
+                  typedef char * ac__type_sizeof_;
 int
 main ()
 {
@@ -20342,10 +23142,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_hi=$ac_mid; break
 else
   echo "$as_me: failed program was:" >&5
@@ -20372,7 +23189,7 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
-   typedef char * ac__type_sizeof_;
+                  typedef char * ac__type_sizeof_;
 int
 main ()
 {
@@ -20396,10 +23213,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_hi=-1 ac_mid=-1
   while :; do
     cat >conftest.$ac_ext <<_ACEOF
@@ -20409,7 +23243,7 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
-   typedef char * ac__type_sizeof_;
+                  typedef char * ac__type_sizeof_;
 int
 main ()
 {
@@ -20433,10 +23267,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_lo=$ac_mid; break
 else
   echo "$as_me: failed program was:" >&5
@@ -20473,7 +23324,7 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
-   typedef char * ac__type_sizeof_;
+                  typedef char * ac__type_sizeof_;
 int
 main ()
 {
@@ -20497,10 +23348,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_hi=$ac_mid
 else
   echo "$as_me: failed program was:" >&5
@@ -20513,15 +23381,11 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 done
 case $ac_lo in
 ?*) ac_cv_sizeof_char_p=$ac_lo;;
-'') if test "$ac_cv_type_char_p" = yes; then
-     { { echo "$as_me:$LINENO: error: cannot compute sizeof (char *)
+'') { { echo "$as_me:$LINENO: error: cannot compute sizeof (char *)
 See \`config.log' for more details." >&5
 echo "$as_me: error: cannot compute sizeof (char *)
 See \`config.log' for more details." >&2;}
-   { (exit 77); exit 77; }; }
-   else
-     ac_cv_sizeof_char_p=0
-   fi ;;
+   { (exit 77); exit 77; }; } ;;
 esac
 else
   cat >conftest.$ac_ext <<_ACEOF
@@ -20531,7 +23395,7 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
-   typedef char * ac__type_sizeof_;
+                  typedef char * ac__type_sizeof_;
 static long int longval () { return (long int) (sizeof (ac__type_sizeof_)); }
 static unsigned long int ulongval () { return (long int) (sizeof (ac__type_sizeof_)); }
 #include <stdio.h>
@@ -20590,25 +23454,21 @@ echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
 ( exit $ac_status )
-if test "$ac_cv_type_char_p" = yes; then
-     { { echo "$as_me:$LINENO: error: cannot compute sizeof (char *)
+{ { echo "$as_me:$LINENO: error: cannot compute sizeof (char *)
 See \`config.log' for more details." >&5
 echo "$as_me: error: cannot compute sizeof (char *)
 See \`config.log' for more details." >&2;}
    { (exit 77); exit 77; }; }
-   else
-     ac_cv_sizeof_char_p=0
-   fi
 fi
 rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
 rm -f conftest.val
+else
+  ac_cv_sizeof_char_p=0
+fi
 fi
 { echo "$as_me:$LINENO: result: $ac_cv_sizeof_char_p" >&5
 echo "${ECHO_T}$ac_cv_sizeof_char_p" >&6; }
-
-
-
 cat >>confdefs.h <<_ACEOF
 #define SIZEOF_CHAR_P $ac_cv_sizeof_char_p
 _ACEOF
@@ -20651,10 +23511,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_type_double=yes
 else
   echo "$as_me: failed program was:" >&5
 { echo "$as_me:$LINENO: result: $ac_cv_type_double" >&5
 echo "${ECHO_T}$ac_cv_type_double" >&6; }
 
-# The cast to long int works around a bug in the HP C Compiler
-# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-# This bug is HP SR number 8606223364.
 { echo "$as_me:$LINENO: checking size of double" >&5
 echo $ECHO_N "checking size of double... $ECHO_C" >&6; }
 if test "${ac_cv_sizeof_double+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
+  if test "$ac_cv_type_double" = yes; then
+  # The cast to long int works around a bug in the HP C Compiler
+  # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+  # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+  # This bug is HP SR number 8606223364.
   if test "$cross_compiling" = yes; then
   # Depending upon the size, compute the lo and hi bounds.
 cat >conftest.$ac_ext <<_ACEOF
@@ -20686,7 +23564,7 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
-   typedef double ac__type_sizeof_;
+                  typedef double ac__type_sizeof_;
 int
 main ()
 {
@@ -20710,10 +23588,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_lo=0 ac_mid=0
   while :; do
     cat >conftest.$ac_ext <<_ACEOF
@@ -20723,7 +23618,7 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
-   typedef double ac__type_sizeof_;
+                  typedef double ac__type_sizeof_;
 int
 main ()
 {
@@ -20747,10 +23642,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_hi=$ac_mid; break
 else
   echo "$as_me: failed program was:" >&5
@@ -20777,7 +23689,7 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
-   typedef double ac__type_sizeof_;
+                  typedef double ac__type_sizeof_;
 int
 main ()
 {
@@ -20801,10 +23713,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_hi=-1 ac_mid=-1
   while :; do
     cat >conftest.$ac_ext <<_ACEOF
@@ -20814,7 +23743,7 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
-   typedef double ac__type_sizeof_;
+                  typedef double ac__type_sizeof_;
 int
 main ()
 {
@@ -20838,10 +23767,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_lo=$ac_mid; break
 else
   echo "$as_me: failed program was:" >&5
@@ -20878,7 +23824,7 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
-   typedef double ac__type_sizeof_;
+                  typedef double ac__type_sizeof_;
 int
 main ()
 {
@@ -20902,10 +23848,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_hi=$ac_mid
 else
   echo "$as_me: failed program was:" >&5
@@ -20918,15 +23881,11 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 done
 case $ac_lo in
 ?*) ac_cv_sizeof_double=$ac_lo;;
-'') if test "$ac_cv_type_double" = yes; then
-     { { echo "$as_me:$LINENO: error: cannot compute sizeof (double)
+'') { { echo "$as_me:$LINENO: error: cannot compute sizeof (double)
 See \`config.log' for more details." >&5
 echo "$as_me: error: cannot compute sizeof (double)
 See \`config.log' for more details." >&2;}
-   { (exit 77); exit 77; }; }
-   else
-     ac_cv_sizeof_double=0
-   fi ;;
+   { (exit 77); exit 77; }; } ;;
 esac
 else
   cat >conftest.$ac_ext <<_ACEOF
@@ -20936,7 +23895,7 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
-   typedef double ac__type_sizeof_;
+                  typedef double ac__type_sizeof_;
 static long int longval () { return (long int) (sizeof (ac__type_sizeof_)); }
 static unsigned long int ulongval () { return (long int) (sizeof (ac__type_sizeof_)); }
 #include <stdio.h>
@@ -20995,25 +23954,21 @@ echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
 ( exit $ac_status )
-if test "$ac_cv_type_double" = yes; then
-     { { echo "$as_me:$LINENO: error: cannot compute sizeof (double)
+{ { echo "$as_me:$LINENO: error: cannot compute sizeof (double)
 See \`config.log' for more details." >&5
 echo "$as_me: error: cannot compute sizeof (double)
 See \`config.log' for more details." >&2;}
    { (exit 77); exit 77; }; }
-   else
-     ac_cv_sizeof_double=0
-   fi
 fi
 rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
 rm -f conftest.val
+else
+  ac_cv_sizeof_double=0
+fi
 fi
 { echo "$as_me:$LINENO: result: $ac_cv_sizeof_double" >&5
 echo "${ECHO_T}$ac_cv_sizeof_double" >&6; }
-
-
-
 cat >>confdefs.h <<_ACEOF
 #define SIZEOF_DOUBLE $ac_cv_sizeof_double
 _ACEOF
@@ -21056,10 +24011,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_type_long_long=yes
 else
   echo "$as_me: failed program was:" >&5
 { echo "$as_me:$LINENO: result: $ac_cv_type_long_long" >&5
 echo "${ECHO_T}$ac_cv_type_long_long" >&6; }
 
-# The cast to long int works around a bug in the HP C Compiler
-# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-# This bug is HP SR number 8606223364.
 { echo "$as_me:$LINENO: checking size of long long" >&5
 echo $ECHO_N "checking size of long long... $ECHO_C" >&6; }
 if test "${ac_cv_sizeof_long_long+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
+  if test "$ac_cv_type_long_long" = yes; then
+  # The cast to long int works around a bug in the HP C Compiler
+  # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+  # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+  # This bug is HP SR number 8606223364.
   if test "$cross_compiling" = yes; then
   # Depending upon the size, compute the lo and hi bounds.
 cat >conftest.$ac_ext <<_ACEOF
@@ -21091,7 +24064,7 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
-   typedef long long ac__type_sizeof_;
+                  typedef long long ac__type_sizeof_;
 int
 main ()
 {
@@ -21115,10 +24088,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_lo=0 ac_mid=0
   while :; do
     cat >conftest.$ac_ext <<_ACEOF
@@ -21128,7 +24118,7 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
-   typedef long long ac__type_sizeof_;
+                  typedef long long ac__type_sizeof_;
 int
 main ()
 {
@@ -21146,16 +24136,33 @@ case "(($ac_try" in
   *) ac_try_echo=$ac_try;;
 esac
 eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compile") 2>conftest.er1
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); }; }; then
   ac_hi=$ac_mid; break
 else
   echo "$as_me: failed program was:" >&5
@@ -21182,7 +24189,7 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
-   typedef long long ac__type_sizeof_;
+                  typedef long long ac__type_sizeof_;
 int
 main ()
 {
@@ -21206,10 +24213,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_hi=-1 ac_mid=-1
   while :; do
     cat >conftest.$ac_ext <<_ACEOF
@@ -21219,7 +24243,7 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
-   typedef long long ac__type_sizeof_;
+                  typedef long long ac__type_sizeof_;
 int
 main ()
 {
@@ -21243,10 +24267,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_lo=$ac_mid; break
 else
   echo "$as_me: failed program was:" >&5
@@ -21283,7 +24324,7 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
-   typedef long long ac__type_sizeof_;
+                  typedef long long ac__type_sizeof_;
 int
 main ()
 {
@@ -21307,10 +24348,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_hi=$ac_mid
 else
   echo "$as_me: failed program was:" >&5
@@ -21323,15 +24381,11 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 done
 case $ac_lo in
 ?*) ac_cv_sizeof_long_long=$ac_lo;;
-'') if test "$ac_cv_type_long_long" = yes; then
-     { { echo "$as_me:$LINENO: error: cannot compute sizeof (long long)
+'') { { echo "$as_me:$LINENO: error: cannot compute sizeof (long long)
 See \`config.log' for more details." >&5
 echo "$as_me: error: cannot compute sizeof (long long)
 See \`config.log' for more details." >&2;}
-   { (exit 77); exit 77; }; }
-   else
-     ac_cv_sizeof_long_long=0
-   fi ;;
+   { (exit 77); exit 77; }; } ;;
 esac
 else
   cat >conftest.$ac_ext <<_ACEOF
@@ -21341,7 +24395,7 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
-   typedef long long ac__type_sizeof_;
+                  typedef long long ac__type_sizeof_;
 static long int longval () { return (long int) (sizeof (ac__type_sizeof_)); }
 static unsigned long int ulongval () { return (long int) (sizeof (ac__type_sizeof_)); }
 #include <stdio.h>
@@ -21400,25 +24454,21 @@ echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
 ( exit $ac_status )
-if test "$ac_cv_type_long_long" = yes; then
-     { { echo "$as_me:$LINENO: error: cannot compute sizeof (long long)
+{ { echo "$as_me:$LINENO: error: cannot compute sizeof (long long)
 See \`config.log' for more details." >&5
 echo "$as_me: error: cannot compute sizeof (long long)
 See \`config.log' for more details." >&2;}
    { (exit 77); exit 77; }; }
-   else
-     ac_cv_sizeof_long_long=0
-   fi
 fi
 rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
 rm -f conftest.val
+else
+  ac_cv_sizeof_long_long=0
+fi
 fi
 { echo "$as_me:$LINENO: result: $ac_cv_sizeof_long_long" >&5
 echo "${ECHO_T}$ac_cv_sizeof_long_long" >&6; }
-
-
-
 cat >>confdefs.h <<_ACEOF
 #define SIZEOF_LONG_LONG $ac_cv_sizeof_long_long
 _ACEOF
@@ -21462,10 +24512,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_type_u_int=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -21525,10 +24592,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_type_u_long=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -21591,10 +24675,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_type_bits16_t=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -21655,10 +24756,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_type_bits16_t=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -21719,10 +24837,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_type_bits16_t=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -21786,10 +24921,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_type_u_bits16_t=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -21850,10 +25002,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_type_u_bits16_t=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -21914,10 +25083,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_type_u_bits16_t=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -21981,10 +25167,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_type_bits32_t=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -22045,10 +25248,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_type_bits32_t=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -22109,10 +25329,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_type_bits32_t=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -22176,10 +25413,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_type_u_bits32_t=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -22240,10 +25494,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_type_u_bits32_t=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -22304,10 +25575,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_type_u_bits32_t=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -22371,10 +25659,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_type_bits64_t=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -22435,10 +25740,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_type_bits64_t=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -22499,10 +25821,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_type_bits64_t=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -22563,10 +25902,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_type_bits64_t=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -22627,10 +25983,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_type_bits64_t=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -22695,10 +26068,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_type_ptrdiff_t=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -22759,10 +26149,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_type_ptrdiff_t=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -22823,10 +26230,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_type_ptrdiff_t=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -22887,10 +26311,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_type_ptrdiff_t=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -22931,48 +26372,38 @@ cat >>conftest.$ac_ext <<_ACEOF
 #include <sys/stat.h>
 
 #if defined S_ISBLK && defined S_IFDIR
-extern char c1[S_ISBLK (S_IFDIR) ? -1 : 1];
+# if S_ISBLK (S_IFDIR)
+You lose.
+# endif
 #endif
 
 #if defined S_ISBLK && defined S_IFCHR
-extern char c2[S_ISBLK (S_IFCHR) ? -1 : 1];
+# if S_ISBLK (S_IFCHR)
+You lose.
+# endif
 #endif
 
 #if defined S_ISLNK && defined S_IFREG
-extern char c3[S_ISLNK (S_IFREG) ? -1 : 1];
+# if S_ISLNK (S_IFREG)
+You lose.
+# endif
 #endif
 
 #if defined S_ISSOCK && defined S_IFREG
-extern char c4[S_ISSOCK (S_IFREG) ? -1 : 1];
+# if S_ISSOCK (S_IFREG)
+You lose.
+# endif
 #endif
 
 _ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_cv_header_stat_broken=no
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "You lose" >/dev/null 2>&1; then
+  ac_cv_header_stat_broken=yes
 else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_cv_header_stat_broken=yes
+  ac_cv_header_stat_broken=no
 fi
+rm -f conftest*
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 { echo "$as_me:$LINENO: result: $ac_cv_header_stat_broken" >&5
 echo "${ECHO_T}$ac_cv_header_stat_broken" >&6; }
@@ -22994,7 +26425,7 @@ else
 exit 69
 ' >conftest
 chmod u+x conftest
-(SHELL=/bin/sh; export SHELL; ./conftest >/dev/null 2>&1)
+(SHELL=/bin/sh; export SHELL; ./conftest >/dev/null)
 if test $? -ne 69; then
    ac_cv_sys_interpreter=yes
 else
@@ -23050,11 +26481,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   bash_cv_func_lstat=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -23063,7 +26510,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        bash_cv_func_lstat=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 fi
 { echo "$as_me:$LINENO: result: $bash_cv_func_lstat" >&5
@@ -23397,17 +26844,33 @@ case "(($ac_try" in
   *) ac_try_echo=$ac_try;;
 esac
 eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_link") 2>conftest.er1
+  (eval "$ac_link") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); }; }; then
   bash_cv_signal_vintage=posix
 else
   echo "$as_me: failed program was:" >&5
@@ -23445,11 +26908,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   bash_cv_signal_vintage=4.2bsd
 else
   echo "$as_me: failed program was:" >&5
@@ -23490,11 +26969,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   bash_cv_signal_vintage=svr3
 else
   echo "$as_me: failed program was:" >&5
@@ -23504,17 +26999,17 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 
 fi
@@ -23574,11 +27069,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   bash_cv_sys_errlist=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -23587,7 +27098,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        bash_cv_sys_errlist=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 fi
 { echo "$as_me:$LINENO: result: $bash_cv_sys_errlist" >&5
@@ -23713,10 +27224,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   bash_cv_decl_under_sys_siglist=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -23854,10 +27382,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   bash_cv_void_sighandler=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -24187,10 +27732,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   bash_cv_type_rlimit=rlim_t
 else
   echo "$as_me: failed program was:" >&5
@@ -24316,10 +27878,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_member_struct_termios_c_line=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -24359,10 +27938,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_member_struct_termios_c_line=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -24426,10 +28022,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_member_struct_termio_c_line=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -24469,10 +28082,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_member_struct_termio_c_line=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -24552,10 +28182,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   bash_cv_dirent_has_dino=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -24632,10 +28279,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   bash_cv_dirent_has_d_fileno=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -24712,10 +28376,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   bash_cv_dirent_has_d_namlen=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -24766,14 +28447,31 @@ esac
 eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); }; }; then
   bash_cv_struct_winsize_header=ioctl_h
 else
   echo "$as_me: failed program was:" >&5
@@ -24808,10 +28506,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   bash_cv_struct_winsize_header=termios_h
 else
   echo "$as_me: failed program was:" >&5
@@ -24932,10 +28647,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_member_struct_stat_st_blocks=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -24971,10 +28703,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_member_struct_stat_st_blocks=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -25016,9 +28765,7 @@ cat >>conftest.$ac_ext <<_ACEOF
 int
 main ()
 {
-struct tm tm;
-                                    int *p = &tm.tm_sec;
-                                    return !p;
+struct tm *tp; tp->tm_sec;
   ;
   return 0;
 }
@@ -25036,10 +28783,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_struct_tm=time.h
 else
   echo "$as_me: failed program was:" >&5
@@ -25098,10 +28862,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_member_struct_tm_tm_zone=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -25140,10 +28921,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_member_struct_tm_tm_zone=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -25192,7 +28990,8 @@ int
 main ()
 {
 #ifndef tzname
-  (void) tzname;
+  char *p = (char *) tzname;
+  return !p;
 #endif
 
   ;
@@ -25212,10 +29011,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_have_decl_tzname=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -25281,11 +29097,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_var_tzname=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -25294,7 +29126,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_cv_var_tzname=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 fi
 { echo "$as_me:$LINENO: result: $ac_cv_var_tzname" >&5
@@ -25394,11 +29226,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   bash_cv_have_strsignal=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -25407,7 +29255,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        bash_cv_have_strsignal=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 fi
 
 
 fi
 
-{ echo "$as_me:$LINENO: result: $bash_cv_ulimit_maxfds" >&5
-echo "${ECHO_T}$bash_cv_ulimit_maxfds" >&6; }
-if test $bash_cv_ulimit_maxfds = yes; then
-cat >>confdefs.h <<\_ACEOF
-#define ULIMIT_MAXFDS 1
+{ echo "$as_me:$LINENO: result: $bash_cv_ulimit_maxfds" >&5
+echo "${ECHO_T}$bash_cv_ulimit_maxfds" >&6; }
+if test $bash_cv_ulimit_maxfds = yes; then
+cat >>confdefs.h <<\_ACEOF
+#define ULIMIT_MAXFDS 1
+_ACEOF
+
+fi
+
+
+
+
+
+for ac_func in $ac_func_list
+do
+as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
+{ echo "$as_me:$LINENO: checking for $ac_func" >&5
+echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; }
+if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
+   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
+#define $ac_func innocuous_$ac_func
+
+/* System header to define __stub macros and hopefully few prototypes,
+    which can conflict with char $ac_func (); below.
+    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+    <limits.h> exists even on freestanding compilers.  */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef $ac_func
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char $ac_func ();
+/* The GNU C library defines this for functions which it implements
+    to always fail with ENOSYS.  Some functions are actually named
+    something starting with __ and the normal name is an alias.  */
+#if defined __stub_$ac_func || defined __stub___$ac_func
+choke me
+#endif
+
+int
+main ()
+{
+return $ac_func ();
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  eval "$as_ac_var=yes"
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       eval "$as_ac_var=no"
+fi
+
+rm -f core conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
+fi
+ac_res=`eval echo '${'$as_ac_var'}'`
+              { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
+if test `eval echo '${'$as_ac_var'}'` = yes; then
+  cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
 _ACEOF
 
 fi
+done
 
 
 
@@ -25624,7 +29585,8 @@ int
 main ()
 {
 #ifndef fpurge
-  (void) fpurge;
+  char *p = (char *) fpurge;
+  return !p;
 #endif
 
   ;
@@ -25644,10 +29606,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_have_decl_fpurge=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -26108,11 +30087,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   bash_cv_std_putenv=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -26122,7 +30117,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 fi
 { echo "$as_me:$LINENO: result: $bash_cv_std_putenv" >&5
@@ -26192,11 +30187,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   bash_cv_std_unsetenv=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -26206,7 +30217,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 fi
 { echo "$as_me:$LINENO: result: $bash_cv_std_unsetenv" >&5
@@ -26722,10 +30733,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   bash_cv_tiocstat_in_ioctl=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -26780,10 +30808,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   bash_cv_fionread_in_ioctl=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -26922,10 +30967,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   bash_cv_speed_t_in_sys_types=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -27117,10 +31179,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   bash_cv_kernel_rlimit=no
 else
   echo "$as_me: failed program was:" >&5
@@ -27162,10 +31241,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   bash_cv_kernel_rlimit=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -27270,11 +31366,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_func_tgetent=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -27283,7 +31395,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_cv_func_tgetent=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 fi
 { echo "$as_me:$LINENO: result: $ac_cv_func_tgetent" >&5
@@ -27333,11 +31445,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_lib_termcap_tgetent=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -27346,7 +31474,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_cv_lib_termcap_tgetent=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
@@ -27397,11 +31525,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_lib_tinfo_tgetent=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -27410,7 +31554,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_cv_lib_tinfo_tgetent=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
@@ -27461,11 +31605,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_lib_curses_tgetent=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -27474,7 +31634,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_cv_lib_curses_tgetent=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
@@ -27525,11 +31685,27 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_lib_ncurses_tgetent=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -27538,7 +31714,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_cv_lib_ncurses_tgetent=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+rm -f core conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
@@ -27982,8 +32158,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF
 ## M4sh Initialization.  ##
 ## --------------------- ##
 
-# Be more Bourne compatible
-DUALCASE=1; export DUALCASE # for MKS sh
+# Be Bourne compatible
 if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
   emulate sh
   NULLCMD=:
@@ -27992,13 +32167,10 @@ if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
   alias -g '${1+"$@"}'='"$@"'
   setopt NO_GLOB_SUBST
 else
-  case `(set -o) 2>/dev/null` in
-  *posix*) set -o posix ;;
-esac
-
+  case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
 fi
-
-
+BIN_SH=xpg4; export BIN_SH # for Tru64
+DUALCASE=1; export DUALCASE # for MKS sh
 
 
 # PATH needs CR
@@ -28222,28 +32394,19 @@ else
   as_mkdir_p=false
 fi
 
-if test -x / >/dev/null 2>&1; then
-  as_test_x='test -x'
+# Find out whether ``test -x'' works.  Don't use a zero-byte file, as
+# systems may use methods other than mode bits to determine executability.
+cat >conf$$.file <<_ASEOF
+#! /bin/sh
+exit 0
+_ASEOF
+chmod +x conf$$.file
+if test -x conf$$.file >/dev/null 2>&1; then
+  as_executable_p="test -x"
 else
-  if ls -dL / >/dev/null 2>&1; then
-    as_ls_L_option=L
-  else
-    as_ls_L_option=
-  fi
-  as_test_x='
-    eval sh -c '\''
-      if test -d "$1"; then
-        test -d "$1/.";
-      else
-       case $1 in
-        -*)set "./$1";;
-       esac;
-       case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in
-       ???[sx]*):;;*)false;;esac;fi
-    '\'' sh
-  '
+  as_executable_p=:
 fi
-as_executable_p=$as_test_x
+rm -f conf$$.file
 
 # Sed expression to map a string onto a valid CPP name.
 as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -28259,7 +32422,7 @@ exec 6>&1
 # values after options handling.
 ac_log="
 This file was extended by bash $as_me 4.0-devel, which was
-generated by GNU Autoconf 2.61.  Invocation command line was
+generated by GNU Autoconf 2.60.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
   CONFIG_HEADERS  = $CONFIG_HEADERS
@@ -28288,7 +32451,7 @@ current configuration.
 Usage: $0 [OPTIONS] [FILE]...
 
   -h, --help       print this help, then exit
-  -V, --version    print version number and configuration settings, then exit
+  -V, --version    print version number, then exit
   -q, --quiet      do not print progress messages
   -d, --debug      don't remove temporary files
       --recheck    update $as_me by reconfiguring in the same conditions
@@ -28312,7 +32475,7 @@ _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF
 ac_cs_version="\\
 bash config.status 4.0-devel
-configured by $0, generated by GNU Autoconf 2.61,
+configured by $0, generated by GNU Autoconf 2.60,
   with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
 
 Copyright (C) 2006 Free Software Foundation, Inc.
index faab7fc65eb5414a01b28c020a923fdaf70a54e1..ac12ff7e0c6396f0f621b5d05cafef57b17e415f 100644 (file)
@@ -22,7 +22,7 @@ dnl Process this file with autoconf to produce a configure script.
 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
 # 02111-1307, USA.
 
-AC_REVISION([for Bash 4.0, version 4.002])dnl
+AC_REVISION([for Bash 4.0, version 4.003])dnl
 
 define(bashvers, 4.0)
 define(relstatus, devel)
@@ -176,6 +176,7 @@ opt_xpg_echo=no
 opt_strict_posix=no
 opt_cond_command=yes
 opt_cond_regexp=yes
+opt_coproc=yes
 opt_arith_for_command=yes
 opt_net_redirs=yes
 opt_progcomp=yes
@@ -203,7 +204,7 @@ if test $opt_minimal_config = yes; then
        opt_brace_expansion=no opt_disabled_builtins=no opt_command_timing=no
        opt_extended_glob=no opt_cond_command=no opt_arith_for_command=no
        opt_net_redirs=no opt_progcomp=no opt_separate_help=no
-       opt_multibyte=yes opt_cond_regexp=no
+       opt_multibyte=yes opt_cond_regexp=no opt_coproc=no
        opt_casemod_attrs=no opt_casemod_expansions=no
 fi
 
@@ -217,6 +218,7 @@ AC_ARG_ENABLE(casemod-expansions, AC_HELP_STRING([--enable-casemod-expansions],
 AC_ARG_ENABLE(command-timing, AC_HELP_STRING([--enable-command-timing], [enable the time reserved word and command timing]), opt_command_timing=$enableval)
 AC_ARG_ENABLE(cond-command, AC_HELP_STRING([--enable-cond-command], [enable the conditional command]), opt_cond_command=$enableval)
 AC_ARG_ENABLE(cond-regexp, AC_HELP_STRING([--enable-cond-regexp], [enable extended regular expression matching in conditional commands]), opt_cond_regexp=$enableval)
+AC_ARG_ENABLE(coprocesses, AC_HELP_STRING([--enable-coprocesses], [enable coprocess support and the coproc reserved word]), opt_coproc=$enableval)
 AC_ARG_ENABLE(debugger, AC_HELP_STRING([--enable-debugger], [enable support for bash debugger]), opt_debugger=$enableval)
 AC_ARG_ENABLE(directory-stack, AC_HELP_STRING([--enable-directory-stack], [enable builtins pushd/popd/dirs]), opt_dirstack=$enableval)
 AC_ARG_ENABLE(disabled-builtins, AC_HELP_STRING([--enable-disabled-builtins], [allow disabled builtins to still be invoked]), opt_disabled_builtins=$enableval)
@@ -301,6 +303,9 @@ fi
 if test $opt_cond_regexp = yes ; then
 AC_DEFINE(COND_REGEXP)
 fi
+if test $opt_coproc = yes; then
+AC_DEFINE(COPROCESS_SUPPORT)
+fi
 if test $opt_arith_for_command = yes; then
 AC_DEFINE(ARITH_FOR_COMMAND)
 fi
@@ -724,6 +729,7 @@ AC_CHECK_FUNCS(isascii isblank isgraph isprint isspace isxdigit)
 AC_CHECK_FUNCS(getpwent getpwnam getpwuid)
 AC_REPLACE_FUNCS(getcwd memset strcasecmp strerror strftime strnlen strpbrk strstr)
 AC_REPLACE_FUNCS(strtod strtol strtoul strtoll strtoull strtoimax strtoumax)
+AC_REPLACE_FUNCS(fdprintf)
 
 AC_CHECK_DECLS([confstr])
 AC_CHECK_DECLS([printf])
index 397cbfc70e76c556e3eba27e765808d33f014e79..17b2c1b3df27232d57df119b7cc3fd47358f6a1e 100644 (file)
@@ -22,7 +22,7 @@ dnl Process this file with autoconf to produce a configure script.
 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
 # 02111-1307, USA.
 
-AC_REVISION([for Bash 4.0, version 4.001])dnl
+AC_REVISION([for Bash 4.0, version 4.003])dnl
 
 define(bashvers, 4.0)
 define(relstatus, devel)
@@ -176,6 +176,7 @@ opt_xpg_echo=no
 opt_strict_posix=no
 opt_cond_command=yes
 opt_cond_regexp=yes
+opt_coproc=yes
 opt_arith_for_command=yes
 opt_net_redirs=yes
 opt_progcomp=yes
@@ -183,6 +184,8 @@ opt_separate_help=no
 opt_multibyte=yes
 opt_debugger=yes
 opt_single_longdoc_strings=yes
+opt_casemod_attrs=yes
+opt_casemod_expansions=yes
 
 dnl options that affect how bash is compiled and linked
 opt_static_link=no
@@ -201,7 +204,8 @@ if test $opt_minimal_config = yes; then
        opt_brace_expansion=no opt_disabled_builtins=no opt_command_timing=no
        opt_extended_glob=no opt_cond_command=no opt_arith_for_command=no
        opt_net_redirs=no opt_progcomp=no opt_separate_help=no
-       opt_multibyte=yes opt_cond_regexp=no
+       opt_multibyte=yes opt_cond_regexp=no opt_coproc=no
+       opt_casemod_attrs=no opt_casemod_expansions=no
 fi
 
 AC_ARG_ENABLE(alias, AC_HELP_STRING([--enable-alias], [enable shell aliases]), opt_alias=$enableval)
@@ -209,9 +213,12 @@ AC_ARG_ENABLE(arith-for-command, AC_HELP_STRING([--enable-arith-for-command], [e
 AC_ARG_ENABLE(array-variables, AC_HELP_STRING([--enable-array-variables], [include shell array variables]), opt_array_variables=$enableval)
 AC_ARG_ENABLE(bang-history, AC_HELP_STRING([--enable-bang-history], [turn on csh-style history substitution]), opt_bang_history=$enableval)
 AC_ARG_ENABLE(brace-expansion, AC_HELP_STRING([--enable-brace-expansion], [include brace expansion]), opt_brace_expansion=$enableval)
+AC_ARG_ENABLE(casemod-attributes, AC_HELP_STRING([--enable-casemod-attributes], [include case-modifying variable attributes]), opt_casemod_attrs=$enableval)
+AC_ARG_ENABLE(casemod-expansions, AC_HELP_STRING([--enable-casemod-expansions], [include case-modifying word expansions]), opt_casemod_expansions=$enableval)
 AC_ARG_ENABLE(command-timing, AC_HELP_STRING([--enable-command-timing], [enable the time reserved word and command timing]), opt_command_timing=$enableval)
 AC_ARG_ENABLE(cond-command, AC_HELP_STRING([--enable-cond-command], [enable the conditional command]), opt_cond_command=$enableval)
 AC_ARG_ENABLE(cond-regexp, AC_HELP_STRING([--enable-cond-regexp], [enable extended regular expression matching in conditional commands]), opt_cond_regexp=$enableval)
+AC_ARG_ENABLE(coprocesses, AC_HELP_STRING([--enable-coprocesses], [enable coprocess support and the coproc reserved word]), opt_coproc=$enableval)
 AC_ARG_ENABLE(debugger, AC_HELP_STRING([--enable-debugger], [enable support for bash debugger]), opt_debugger=$enableval)
 AC_ARG_ENABLE(directory-stack, AC_HELP_STRING([--enable-directory-stack], [enable builtins pushd/popd/dirs]), opt_dirstack=$enableval)
 AC_ARG_ENABLE(disabled-builtins, AC_HELP_STRING([--enable-disabled-builtins], [allow disabled builtins to still be invoked]), opt_disabled_builtins=$enableval)
@@ -296,6 +303,9 @@ fi
 if test $opt_cond_regexp = yes ; then
 AC_DEFINE(COND_REGEXP)
 fi
+if test $opt_coproc = yes; then
+AC_DEFINE(COPROCESS_SUPPORT)
+fi
 if test $opt_arith_for_command = yes; then
 AC_DEFINE(ARITH_FOR_COMMAND)
 fi
@@ -311,6 +321,12 @@ fi
 if test $opt_debugger = yes; then
 AC_DEFINE(DEBUGGER)
 fi
+if test $opt_casemod_attrs = yes; then
+AC_DEFINE(CASEMOD_ATTRS)
+fi
+if test $opt_casemod_expansions = yes; then
+AC_DEFINE(CASEMOD_EXPANSIONS)
+fi
 
 if test $opt_memscramble = yes; then
 AC_DEFINE(MEMSCRAMBLE)
@@ -698,7 +714,7 @@ dnl checks for system calls
 AC_CHECK_FUNCS(dup2 eaccess fcntl getdtablesize getgroups gethostname \
                getpagesize getpeername getrlimit getrusage gettimeofday \
                kill killpg lstat readlink sbrk select setdtablesize \
-               tcgetpgrp uname ulimit waitpid)
+               setitimer tcgetpgrp uname ulimit waitpid)
 AC_REPLACE_FUNCS(rename)
 
 dnl checks for c library functions
index 0adf0229e3f4a082e585d4911694a387d473f7da..0dfcbfb38345f9dcdf55f316ef51738fde3f4f46 100644 (file)
@@ -40,6 +40,7 @@ static ARITH_FOR_COM *copy_arith_for_command __P((ARITH_FOR_COM *));
 #endif
 static GROUP_COM *copy_group_command __P((GROUP_COM *));
 static SUBSHELL_COM *copy_subshell_command __P((SUBSHELL_COM *));
+static COPROC_COM *copy_coproc_command __P((COPROC_COM *));
 static CASE_COM *copy_case_command __P((CASE_COM *));
 static WHILE_COM *copy_while_command __P((WHILE_COM *));
 static IF_COM *copy_if_command __P((IF_COM *));
@@ -215,6 +216,19 @@ copy_subshell_command (com)
   return (new_subshell);
 }
 
+static COPROC_COM *
+copy_coproc_command (com)
+     COPROC_COM *com;
+{
+  COPROC_COM *new_coproc;
+
+  new_coproc = (COPROC_COM *)xmalloc (sizeof (COPROC_COM));
+  new_coproc->name = savestring (com->name);
+  new_coproc->command = copy_command (com->command);
+  new_coproc->flags = com->flags;
+  return (new_coproc);
+}
+
 static CASE_COM *
 copy_case_command (com)
      CASE_COM *com;
@@ -375,6 +389,10 @@ copy_command (command)
        new_command->value.Subshell = copy_subshell_command (command->value.Subshell);
        break;
 
+      case cm_coproc:
+       new_command->value.Coproc = copy_coproc_command (command->value.Coproc);
+       break;
+
       case cm_case:
        new_command->value.Case = copy_case_command (command->value.Case);
        break;
index d36436c9c8437550b0c3bcd665849746dbcb1e1d..0adf0229e3f4a082e585d4911694a387d473f7da 100644 (file)
@@ -85,6 +85,7 @@ copy_case_clause (clause)
   new_clause = (PATTERN_LIST *)xmalloc (sizeof (PATTERN_LIST));
   new_clause->patterns = copy_word_list (clause->patterns);
   new_clause->action = copy_command (clause->action);
+  new_clause->flags = clause->flags;
   return (new_clause);
 }
 
@@ -124,6 +125,7 @@ copy_redirect (redirect)
     case r_input_direction:
     case r_inputa_direction:
     case r_err_and_out:
+    case r_append_err_and_out:
     case r_input_output:
     case r_output_force:
     case r_duplicating_input_word:
index 36c195f9f9fe60ea785c4f6dc461937ec68ea8a4..d06a51af114838759e2cc357a0900b9df2bdeb58 100644 (file)
@@ -92,6 +92,14 @@ dispose_command (command)
        break;
       }
 
+    case cm_coproc:
+      {
+       free (command->value.Coproc->name);
+       dispose_command (command->value.Coproc->command);
+       free (command->value.Coproc);
+       break;
+      }
+
     case cm_case:
       {
        register CASE_COM *c;
index 8b8790ddfb691c22fd1a528bae1cba8207c016d0..36c195f9f9fe60ea785c4f6dc461937ec68ea8a4 100644 (file)
@@ -1,6 +1,6 @@
 /* dispose_command.c -- dispose of a COMMAND structure. */
 
-/* Copyright (C) 1987-2005 Free Software Foundation, Inc.
+/* Copyright (C) 1987-2008 Free Software Foundation, Inc.
 
    This file is part of GNU Bash, the Bourne Again SHell.
 
index 7dc069cb97d582ebd088d02be277721f547d27dc..24f7f4d789b32ced0d82985aab661455986aa4e6 100644 (file)
@@ -595,142 +595,154 @@ P\bPA\bAR\bRA\bAM\bME\bET\bTE\bER\bRS\bS
        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
        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
-       variable's value.
+       beginning  at  one  greater than the array's maximum index (for indexed
+       arrays) or added as additional key-value pairs in an associative array.
+       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 exit status of the most recently executed fore-
+       ?\b?      Expands to the exit status of the most recently  executed  fore-
               ground 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\bHP\bPI\bID\bD
-              Expands  to  the  process  id of the current b\bba\bas\bsh\bh process.  This
-              differs from $\b$$\b$ under certain circumstances, such  as  subshells
+              Expands to the process id of the  current  b\bba\bas\bsh\bh  process.   This
+              differs  from  $\b$$\b$ under certain circumstances, such as subshells
               that do not require b\bba\bas\bsh\bh to be re-initialized.
+       B\bBA\bAS\bSH\bH_\b_A\bAL\bLI\bIA\bAS\bSE\bES\bS
+              An associative array variable whose members  correspond  to  the
+              internal list of aliases as maintained by the a\bal\bli\bia\bas\bs builtin Ele-
+              ments added to this array appear in the  alias  list;  unsetting
+              array  elements cause aliases to be removed from the alias list.
        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 b\bba\bas\bsh\bh 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 b\bba\bas\bsh\bh 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\b 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\bt builtin
               below)
+       B\bBA\bAS\bSH\bH_\b_C\bCM\bMD\bDS\bS
+              An associative array variable whose members  correspond  to  the
+              internal  hash  table  of  commands  as  maintained  by the h\bha\bas\bsh\bh
+              builtin.  Elements added to this array appear in the hash table;
+              unsetting  array  elements cause commands to be removed from the
+              hash table.
        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]}\bis the line number in the source  file  where
-              $\b${\b{F\bFU\bUN\bNC\bCN\bNA\bAM\bME\bE[\b[_\b$_\bi]\b]}\b was  called  (or $\b${\b{B\bBA\bAS\bSH\bH_\b_L\bLI\bIN\bNE\bEN\bNO\bO[\b[_\b$_\bi_\b-_\b1]\b]}\b} if refer-
-              enced within another shell function).  The corresponding  source
-              file  name is $\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\br-\b-
+              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]\b]}\bwas called (or  $\b${\b{B\bBA\bAS\bSH\bH_\b_L\bLI\bIN\bNE\bEN\bNO\bO[\b[_\b$_\bi_\b-_\b1]\b]}\b}  if  refer-
+              enced  within another shell function).  The corresponding source
+              file name is $\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\br-\b-
               r\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_K\bKE\bEY\bY
@@ -738,116 +750,116 @@ P\bPA\bAR\bRA\bAM\bME\bET\bTE\bER\bRS\bS
               rent completion function.
 
        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\b 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\be 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\b 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\be C\bCo\bom\bmp\bpl\ble\bet\bti\bio\bon\bn
               below).
 
        C\bCO\bOM\bMP\bP_\b_T\bTY\bYP\bPE\bE
-              Set  to an integer value corresponding to the type of completion
-              attempted that caused a completion function to be  called:  _\bT_\bA_\bB,
-              for  normal completion, _\b?, for listing completions after succes-
-              sive tabs, _\b!, for listing alternatives on partial  word  comple-
-              tion,  _\b@,  to list completions if the word is not unmodified, or
-              _\b%, for menu completion.  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
+              Set to an integer value corresponding to the type of  completion
+              attempted  that  caused a completion function to be called: _\bT_\bA_\bB,
+              for normal completion, _\b?, for listing completions after  succes-
+              sive  tabs,  _\b!, for listing alternatives on partial word comple-
+              tion, _\b@, to list completions if the word is not  unmodified,  or
+              _\b%,  for  menu  completion.   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
               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.  The words are split on
-              shell metacharacters as the shell parser  would  separate  them.
-              This  variable  is  available only in shell functions invoked by
+              An  array variable (see A\bAr\brr\bra\bay\bys\bs below) consisting of the individ-
+              ual words in the current command line.  The words are  split  on
+              shell  metacharacters  as  the shell parser would separate them.
+              This variable is available only in shell  functions  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\be-\b-
               t\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\bK 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\b 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.
@@ -855,27 +867,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.
@@ -883,183 +895,188 @@ 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\b 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\bL 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\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
+              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
               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, by removing the oldest entries, to  contain
-              no  more  than  that number of lines.  The default value is 500.
+              this variable is assigned a value, the  history  file  is  trun-
+              cated,  if necessary, by removing the oldest entries, 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\bare 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\b are  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
-              file so they may be preserved across shell sessions.  This  uses
-              the  history  comment  character  to distinguish timestamps from
+              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.  This uses
+              the history comment character  to  distinguish  timestamps  from
               other history lines.
        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\bH 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\b 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\b supplies  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\bsupplies 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\b below).
-              O\bOP\bPT\bTE\bER\bRR\b is  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\bS below).
+              O\bOP\bPT\bTE\bER\bRR\bis 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\bbelow).  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\b below).   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\bPR\bRO\bOM\bMP\bPT\bT_\b_D\bDI\bIR\bRT\bTR\bRI\bIM\bM
+              If  set  to a number greater than zero, the value is used as the
+              number of trailing directory components to retain when expanding
+              the  \\b\w\bw  a\ban\bnd\bd  \\b\W\bW  p\bpr\bro\bom\bmp\bpt\bt  s\bst\btr\bri\bin\bng\bg  e\bes\bsc\bca\bap\bpe\bes\bs (\b(s\bse\bee\be P\bPR\bRO\bOM\bMP\bPT\bTI\bIN\bNG\bG below).
+              Characters removed are replaced with an ellipsis.
        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
               ``\\b\s\bs-\b-\\b\v\bv\\b\$\b$ ''.
@@ -1148,59 +1165,70 @@ P\bPA\bAR\bRA\bAM\bME\bET\bTE\bER\bRS\bS
               shell parser to treat the rest of the line as a comment.
 
    A\bAr\brr\bra\bay\bys\bs
-       B\bBa\bas\bsh\bh provides 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
-       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\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.
+       B\bBa\bas\bsh\bh provides one-dimensional indexed and associative array  variables.
+       Any  variable may be used as an indexed 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 con-
+       tiguously.  Indexed arrays are  referenced  using  integers  (including
+       arithmetic  expressions)   and  are  zero-based; associative arrays are
+       referenced using arbitrary strings.
+
+       An indexed 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 indexed 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.
+
+       Associative arrays are created using d\bde\bec\bcl\bla\bar\bre\be -\b-A\bA _\bn_\ba_\bm_\be.
+
+       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_\b1 ... 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
-       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]}.
+       _\bs_\bc_\br_\bi_\bp_\bt]=_\bs_\bt_\br_\bi_\bn_\bg.   Indexed  array assignments do not require the bracket
+       and subscript.  When assigning  to  indexed  arrays,  if  the  optional
+       brackets  and subscript are supplied, that index is assigned to; other-
+       wise the index of the element assigned is the last index assigned to by
+       the statement plus one.  Indexing starts at zero.
+
+       When assigning to an associative array, the subscript is required.
+
+       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]}.
        The braces are required to avoid conflicts with pathname expansion.  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
+       _\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
        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\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\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
+       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
+       is equivalent to referencing the array with a subscript of 0.
+
+       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
        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\be  builtins  display array values in a way that allows them to be
-       reused as assignments.
+       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 indexed array and a -\b-A\bA  option  to  specify  an  associative
+       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\be builtins
+       display  array values in a way that allows them to be reused as assign-
+       ments.
 
 E\bEX\bXP\bPA\bAN\bNS\bSI\bIO\bON\bN
        Expansion is performed on the command line after it has been split into
@@ -1370,16 +1398,17 @@ E\bEX\bXP\bPA\bAN\bNS\bSI\bIO\bON\bN
               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_\br is @\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
-              parameters are used, in which case the indexing starts at  1  by
-              default.   If  _\bo_\bf_\bf_\bs_\be_\bt  is  0,  and the positional parameters are
-              used, $\b$0\b0 is prefixed to the list.
+              beginning at _\bo_\bf_\bf_\bs_\be_\bt.  If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is an indexed array name sub-
+              scripted 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.  Substring expansion applied to an associative
+              array produces undefined results.  Note that a  negative  offset
+              must  be separated from the colon by at least one space to avoid
+              being confused with the :-  expansion.   Substring  indexing  is
+              zero-based  unless  the positional parameters are used, in which
+              case the indexing starts at 1 by default.  If _\bo_\bf_\bf_\bs_\be_\bt is  0,  and
+              the  positional parameters are used, $\b$0\b0 is prefixed to the list.
 
        ${!\b!_\bp_\br_\be_\bf_\bi_\bx*\b*}
        ${!\b!_\bp_\br_\be_\bf_\bi_\bx@\b@}
@@ -1448,6 +1477,25 @@ E\bEX\bXP\bPA\bAN\bNS\bSI\bIO\bON\bN
               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}
+       ${_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br^\b^^\b^_\bp_\ba_\bt_\bt_\be_\br_\bn}
+       ${_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br,\b,_\bp_\ba_\bt_\bt_\be_\br_\bn}
+       ${_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br,\b,,\b,_\bp_\ba_\bt_\bt_\be_\br_\bn}
+              This  expansion  modifies  the  case of alphabetic characters in
+              _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br.  The _\bp_\ba_\bt_\bt_\be_\br_\bn is expanded to produce a pattern just as
+              in  pathname  expansion.  The ^\b^ operator converts lowercase let-
+              ters matching _\bp_\ba_\bt_\bt_\be_\br_\bn to  uppercase;  the  ,\b,  operator  converts
+              matching  uppercase  letters to lowercase.  The ^\b^^\b^ and ,\b,,\b, expan-
+              sions convert each matched character in the expanded value;  the
+              ^\b^  and  ,\b, expansions match and convert only the first character.
+              If _\bp_\ba_\bt_\bt_\be_\br_\bn is omitted, it is treated like  a  ?\b?,  which  matches
+              every  character.  If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is @\b@ or *\b*, the case modification
+              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 case  modification  opera-
+              tion  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
        _\bC_\bo_\bm_\bm_\ba_\bn_\bd _\bs_\bu_\bb_\bs_\bt_\bi_\bt_\bu_\bt_\bi_\bo_\bn allows the output of a command to replace the com-
        mand name.  There are two forms:
@@ -1458,160 +1506,160 @@ 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 sequences of <\b<s\bsp\bpa\bac\bce\be>\b>, <\b<t\bta\bab\bb>\b>, and <\b<n\bne\bew\bwl\bli\bin\bne\be>\b> at  the  beginning  and
-       end  of  the  results  of  the previous expansions are ignored, and any
-       sequence of I\bIF\bFS\bS characters not  at  the  beginning  or  end  serves  to
-       delimit  words.   If  I\bIF\bFS\bS  has  a  value  other  than the default, then
+       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  sequences  of  <\b<s\bsp\bpa\bac\bce\be>\b>, <\b<t\bta\bab\bb>\b>, and <\b<n\bne\bew\bwl\bli\bin\bne\be>\b> at the beginning and
+       end of the results of the previous  expansions  are  ignored,  and  any
+       sequence  of  I\bIF\bFS\bS  characters  not  at  the  beginning or end serves to
+       delimit words.  If I\bIF\bFS\bS  has  a  value  other  than  the  default,  then
        sequences of the whitespace characters s\bsp\bpa\bac\bce\be 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\b that is not I\bIF\bFS\bS whitespace, along with any adjacent I\bIF\bFS\bS whitespace
-       characters, delimits a field.  A sequence of I\bIF\bFS\bS whitespace  characters
-       is  also  treated as a delimiter.  If the value of I\bIF\bFS\bS is null, no word
+       beginning and end of the word, as long as the whitespace  character  is
+       in  the  value  of I\bIF\bFS\bS (an I\bIF\bFS\bS whitespace character).  Any character in
+       I\bIF\bFS\bthat is not I\bIF\bFS\bS whitespace, along with any adjacent I\bIF\bFS\b whitespace
+       characters,  delimits a field.  A sequence of I\bIF\bFS\bS whitespace characters
+       is also treated as a delimiter.  If the value of I\bIF\bFS\bS is null,  no  word
        splitting occurs.
 
-       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.  When the g\bgl\blo\bob\bb-\b-
+       *\b*      Matches any string, including the null string.  When  the  g\bgl\blo\bob\bb-\b-
               s\bst\bta\bar\br shell option is enabled, and *\b* is used in a filename expan-
-              sion  context,  two  adjacent  *\b*s  used as a single pattern will
+              sion context, two adjacent *\b*s used  as  a  single  pattern  will
               match all files and zero or more directories and subdirectories.
-              If  followed by a /\b/, two adjacent *\b*s will match only directories
+              If followed by a /\b/, two adjacent *\b*s will match only  directories
               and subdirectories.
        ?\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 standard:
-              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
+              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
               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:
@@ -1629,48 +1677,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.
@@ -1680,22 +1728,22 @@ R\bRE\bED\bDI\bIR\bRE\bEC\bCT\bTI\bIO\bON\bN
                      File descriptor 2 is duplicated.
               /\b/d\bde\bev\bv/\b/t\btc\bcp\bp/\b/_\bh_\bo_\bs_\bt/\b/_\bp_\bo_\br_\bt
                      If _\bh_\bo_\bs_\bt is a valid hostname or Internet address, and _\bp_\bo_\br_\bt
-                     is  an integer port number or service name, b\bba\bas\bsh\bh attempts
+                     is an integer port number or service name, b\bba\bas\bsh\b attempts
                      to open 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\bh attempts
+                     is an integer port number or service name, b\bba\bas\bsh\b 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:
@@ -1703,27 +1751,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:
@@ -1732,11 +1780,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
-       This construct allows both the standard output (file descriptor 1)  and
-       the  standard  error output (file descriptor 2) to be redirected to the
+       This  construct allows both the standard output (file descriptor 1) and
+       the standard error output (file descriptor 2) to be redirected  to  the
        file whose name is the expansion of _\bw_\bo_\br_\bd.
 
-       There are two formats for  redirecting  standard  output  and  standard
+       There  are  two  formats  for  redirecting standard output and standard
        error:
 
               &\b&>\b>_\bw_\bo_\br_\bd
@@ -1750,8 +1798,8 @@ R\bRE\bED\bDI\bIR\bRE\bEC\bCT\bTI\bIO\bON\bN
 
 
    A\bAp\bpp\bpe\ben\bnd\bdi\bin\bng\bg S\bSt\bta\ban\bnd\bda\bar\brd\bd O\bOu\but\btp\bpu\but\bt a\ban\bnd\bd S\bSt\bta\ban\bnd\bda\bar\brd\bd E\bEr\brr\bro\bor\br
-       This construct allows both the standard output (file descriptor 1)  and
-       the  standard  error  output  (file descriptor 2) to be appended to the
+       This  construct allows both the standard output (file descriptor 1) and
+       the standard error output (file descriptor 2) to  be  appended  to  the
        file whose name is the expansion of _\bw_\bo_\br_\bd.
 
        The format for appending standard output and standard error is:
@@ -1763,9 +1811,9 @@ R\bRE\bED\bDI\bIR\bRE\bEC\bCT\bTI\bIO\bON\bN
               >\b>>\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:
@@ -1774,18 +1822,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
@@ -1801,20 +1849,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_\bd 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_\b 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.
 
@@ -1823,7 +1871,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.
 
@@ -1831,7 +1879,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
@@ -1839,108 +1887,108 @@ R\bRE\bED\bDI\bIR\bRE\bEC\bCT\bTI\bIO\bON\bN
 
               [_\bn]<\b<>\b>_\bw_\bo_\br_\bd
 
-       causes  the  file  whose name is the expansion of _\bw_\bo_\br_\bd to be opened for
-       both reading and writing on file descriptor _\bn, or on file descriptor  0
+       causes the file whose name is the expansion of _\bw_\bo_\br_\bd to  be  opened  for
+       both  reading and writing on file descriptor _\bn, or on file descriptor 0
        if _\bn is not specified.  If the file does not exist, it is created.
 
 A\bAL\bLI\bIA\bAS\bSE\bES\bS
-       _\bA_\bl_\bi_\ba_\bs_\be_\b allow a string to be substituted for a word when it is used as
-       the first word of a simple command.  The  shell  maintains  a  list  of
-       aliases  that  may  be set and unset with the a\bal\bli\bia\bas\bs and u\bun\bna\bal\bli\bia\bas\bs builtin
-       commands (see S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below).  The first  word  of  each
-       simple  command, if unquoted, is checked to see if it has an alias.  If
-       so, that word is replaced by the text of the alias.  The characters  /\b/,
-       $\b$,  `\b`,  and =\b= and any of the shell _\bm_\be_\bt_\ba_\bc_\bh_\ba_\br_\ba_\bc_\bt_\be_\br_\bs or quoting characters
+       _\bA_\bl_\bi_\ba_\bs_\be_\ballow a string to be substituted for a word when it is used  as
+       the  first  word  of  a  simple command.  The shell maintains a list of
+       aliases that may be set and unset with the a\bal\bli\bia\bas\bs  and  u\bun\bna\bal\bli\bia\bas\b builtin
+       commands  (see  S\bSH\bHE\bEL\bLL\bL  B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below).  The first word of each
+       simple command, if unquoted, is checked to see if it has an alias.   If
+       so,  that word is replaced by the text of the alias.  The characters /\b/,
+       $\b$, `\b`, and =\b= and any of the shell _\bm_\be_\bt_\ba_\bc_\bh_\ba_\br_\ba_\bc_\bt_\be_\br_\bs or  quoting  characters
        listed above may not appear in an alias name.  The replacement text may
-       contain  any  valid  shell  input, including shell metacharacters.  The
-       first word of the replacement text is tested for aliases,  but  a  word
-       that  is  identical to an alias being expanded is not expanded a second
-       time.  This means that one may alias l\bls\bs to l\bls\bs  -\b-F\bF,  for  instance,  and
-       b\bba\bas\bsh\b does  not try to recursively expand the replacement text.  If the
-       last character of the alias value is a _\bb_\bl_\ba_\bn_\bk,  then  the  next  command
+       contain any valid shell input,  including  shell  metacharacters.   The
+       first  word  of  the replacement text is tested for aliases, but a word
+       that is identical to an alias being expanded is not expanded  a  second
+       time.   This  means  that  one may alias l\bls\bs to l\bls\bs -\b-F\bF, for instance, and
+       b\bba\bas\bsh\bdoes not try to recursively expand the replacement text.   If  the
+       last  character  of  the  alias value is a _\bb_\bl_\ba_\bn_\bk, then the next command
        word following the alias is also checked for alias expansion.
 
        Aliases are created and listed with the a\bal\bli\bia\bas\bs command, and removed with
        the u\bun\bna\bal\bli\bia\bas\bs command.
 
-       There is no mechanism for using arguments in the replacement text.   If
-       arguments  are  needed,  a shell function should be used (see F\bFU\bUN\bNC\bCT\bTI\bIO\bON\bNS\bS
+       There  is no mechanism for using arguments in the replacement text.  If
+       arguments are needed, a shell function should be  used  (see  F\bFU\bUN\bNC\bCT\bTI\bIO\bON\bNS\bS
        below).
 
-       Aliases are not expanded when the shell is not interactive, unless  the
-       e\bex\bxp\bpa\ban\bnd\bd_\b_a\bal\bli\bia\bas\bse\bes\b shell option is set using s\bsh\bho\bop\bpt\bt (see the description of
+       Aliases  are not expanded when the shell is not interactive, unless the
+       e\bex\bxp\bpa\ban\bnd\bd_\b_a\bal\bli\bia\bas\bse\bes\bshell option is set using s\bsh\bho\bop\bpt\bt (see the description  of
        s\bsh\bho\bop\bpt\bt under S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below).
 
-       The rules concerning the definition and use  of  aliases  are  somewhat
-       confusing.   B\bBa\bas\bsh\bh  always  reads  at  least  one complete line of input
-       before executing any  of  the  commands  on  that  line.   Aliases  are
-       expanded  when  a command is read, not when it is executed.  Therefore,
-       an alias definition appearing on the same line as another command  does
-       not  take  effect  until  the next line of input is read.  The commands
+       The  rules  concerning  the  definition and use of aliases are somewhat
+       confusing.  B\bBa\bas\bsh\bh always reads at  least  one  complete  line  of  input
+       before  executing  any  of  the  commands  on  that  line.  Aliases are
+       expanded when a command is read, not when it is  executed.   Therefore,
+       an  alias definition appearing on the same line as another command does
+       not take effect until the next line of input  is  read.   The  commands
        following the alias definition on that line are not affected by the new
-       alias.   This  behavior  is  also an issue when functions are executed.
-       Aliases are expanded when a function definition is read, not  when  the
-       function  is  executed,  because a function definition is itself a com-
+       alias.  This behavior is also an issue  when  functions  are  executed.
+       Aliases  are  expanded when a function definition is read, not when the
+       function is executed, because a function definition is  itself  a  com-
        pound command.  As a consequence, aliases defined in a function are not
-       available  until  after  that function is executed.  To be safe, always
-       put alias definitions on a separate line, and do not use a\bal\bli\bia\bas\bs in  com-
+       available until after that function is executed.  To  be  safe,  always
+       put  alias definitions on a separate line, and do not use a\bal\bli\bia\bas\bs in com-
        pound commands.
 
        For almost every purpose, aliases are superseded by shell functions.
 
 F\bFU\bUN\bNC\bCT\bTI\bIO\bON\bNS\bS
-       A  shell  function,  defined  as  described  above under S\bSH\bHE\bEL\bLL\bL G\bGR\bRA\bAM\bMM\bMA\bAR\bR,
-       stores a series of commands for later execution.  When the  name  of  a
-       shell  function  is used as a simple command name, the list of commands
+       A shell function, defined  as  described  above  under  S\bSH\bHE\bEL\bLL\b G\bGR\bRA\bAM\bMM\bMA\bAR\bR,
+       stores  a  series  of commands for later execution.  When the name of a
+       shell function is used as a simple command name, the list  of  commands
        associated with that function name is executed.  Functions are executed
-       in  the  context  of  the  current  shell; no new process is created to
-       interpret them (contrast this with the execution of  a  shell  script).
-       When  a  function is executed, the arguments to the function become the
+       in the context of the current shell;  no  new  process  is  created  to
+       interpret  them  (contrast  this with the execution of a shell script).
+       When a function is executed, the arguments to the function  become  the
        positional parameters during its execution.  The special parameter #\b# is
-       updated  to reflect the change.  Special parameter 0 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\b 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\be 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\b builtin
+       Variables  local to the function may be declared with the l\blo\boc\bca\bal\bl 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\b will  list the function names only (and optionally the source file
-       and line number, if the e\bex\bxt\btd\bde\beb\bbu\bug\bg shell option is  enabled).   Functions
-       may  be exported so that subshells automatically have them defined with
-       the -\b-f\bf option to the e\bex\bxp\bpo\bor\brt\bt builtin.   A  function  definition  may  be
-       deleted  using  the  -\b-f\bf  option  to the u\bun\bns\bse\bet\bt builtin.  Note that shell
+       s\bse\bet\bwill list the function names only (and optionally the  source  file
+       and  line  number, if the e\bex\bxt\btd\bde\beb\bbu\bug\bg shell option is enabled).  Functions
+       may be exported so that subshells automatically have them defined  with
+       the  -\b-f\bf  option  to  the  e\bex\bxp\bpo\bor\brt\bt builtin.  A function definition may be
+       deleted using the -\b-f\bf option to the  u\bun\bns\bse\bet\bt  builtin.   Note  that  shell
        functions and variables with the same name may result in multiple iden-
-       tically-named  entries  in  the environment passed to the shell's chil-
+       tically-named entries in the environment passed to  the  shell's  chil-
        dren.  Care should be taken in cases where this may cause a problem.
 
-       Functions may be recursive.  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-
@@ -1968,39 +2016,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-
@@ -2047,20 +2095,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.
@@ -2076,115 +2124,115 @@ 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
+       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 searches for a defined shell function
        named c\bco\bom\bmm\bma\ban\bnd\bd_\b_n\bno\bot\bt_\b_f\bfo\bou\bun\bnd\bd_\b_h\bha\ban\bnd\bdl\ble\be.  If that function exists, it is invoked
-       with  the  original command and the original command's arguments as its
-       arguments, and the function's exit status becomes the  exit  status  of
-       the  shell.  If that function is not defined, the shell prints an error
+       with the original command and the original command's arguments  as  its
+       arguments,  and  the  function's exit status becomes the exit status of
+       the shell.  If that function is not defined, the shell prints an  error
        message and returns an exit status of 127.
 
-       If the search is successful, or if the command  name  contains  one  or
+       If  the  search  is  successful, or if the command name contains one or
        more slashes, the shell executes the named program in a separate execu-
        tion environment.  Argument 0 is set to the name given, and the remain-
        ing arguments to the command are set to the arguments given, if any.
 
-       If  this  execution fails because the file is not in executable format,
-       and the file is not a directory, it is assumed to be a _\bs_\bh_\be_\bl_\bl _\bs_\bc_\br_\bi_\bp_\bt,  a
-       file  containing  shell commands.  A subshell is spawned to execute it.
-       This subshell reinitializes itself, so that the effect is as if  a  new
-       shell  had  been  invoked to handle the script, with the exception that
-       the locations of commands remembered by  the  parent  (see  h\bha\bas\bsh\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
@@ -2192,201 +2240,202 @@ 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
-       The exit status of an executed command is the  value  returned  by  the
+       The  exit  status  of  an executed command is the value returned by the
        _\bw_\ba_\bi_\bt_\bp_\bi_\bd system call or equivalent function.  Exit statuses fall between
-       0 and 255, though, as explained below, the shell may use  values  above
+       0  and  255, though, as explained below, the shell may use values above
        125 specially.  Exit statuses from shell builtins and compound commands
-       are also limited to this range. Under certain circumstances, the  shell
+       are  also limited to this range. Under certain circumstances, the shell
        will use special values to indicate specific failure modes.
 
        For the shell's purposes, a command which exits with a zero exit status
-       has succeeded.  An exit status of zero indicates success.   A  non-zero
-       exit  status  indicates  failure.  When a command terminates on a fatal
+       has  succeeded.   An exit status of zero indicates success.  A non-zero
+       exit status indicates failure.  When a command terminates  on  a  fatal
        signal _\bN, b\bba\bas\bsh\bh uses the value of 128+_\bN as the exit status.
 
-       If a command is not found, the child  process  created  to  execute  it
-       returns  a status of 127.  If a command is found but is not executable,
+       If  a  command  is  not  found, the child process created to execute it
+       returns a status of 127.  If a command is found but is not  executable,
        the return status is 126.
 
        If a command fails because of an error during expansion or redirection,
        the exit status is greater than zero.
 
-       Shell  builtin  commands return a status of 0 (_\bt_\br_\bu_\be) if successful, and
-       non-zero (_\bf_\ba_\bl_\bs_\be) if an error occurs while they execute.   All  builtins
+       Shell builtin commands return a status of 0 (_\bt_\br_\bu_\be) if  successful,  and
+       non-zero  (_\bf_\ba_\bl_\bs_\be)  if an error occurs while they execute.  All builtins
        return an exit status of 2 to indicate incorrect usage.
 
-       B\bBa\bas\bsh\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
+       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
        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\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
+       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
        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\b command.
-       When  b\bba\bas\bsh\bh starts a job asynchronously (in the _\bb_\ba_\bc_\bk_\bg_\br_\bo_\bu_\bn_\bd), it prints a
+       The shell associates a _\bj_\bo_\bb with each pipeline.  It  keeps  a  table  of
+       currently  executing  jobs,  which may be listed with the j\bjo\bob\bbs\bs command.
+       When b\bba\bas\bsh\bh starts a job asynchronously (in the _\bb_\ba_\bc_\bk_\bg_\br_\bo_\bu_\bn_\bd), it prints  a
        line that looks like:
 
               [1] 25647
 
        indicating that this job is job number 1 and that the process ID of the
        last process in the pipeline associated with this job is 25647.  All of
-       the processes in a single pipeline are members of the same  job.   B\bBa\bas\bsh\bh
+       the  processes  in a single pipeline are members of the same job.  B\bBa\bas\bsh\bh
        uses the _\bj_\bo_\bb abstraction as the basis for job control.
 
-       To  facilitate the implementation of the user interface to job control,
+       To facilitate the implementation of the user interface to job  control,
        the operating system maintains the notion of a _\bc_\bu_\br_\br_\be_\bn_\bt _\bt_\be_\br_\bm_\bi_\bn_\ba_\bl _\bp_\br_\bo_\bc_\be_\bs_\bs
        _\bg_\br_\bo_\bu_\bp _\bI_\bD.  Members of this process group (processes whose process group
        ID is equal to the current terminal process group ID) receive keyboard-
-       generated  signals  such  as S\bSI\bIG\bGI\bIN\bNT\bT.  These processes are said to be in
-       the _\bf_\bo_\br_\be_\bg_\br_\bo_\bu_\bn_\bd.  _\bB_\ba_\bc_\bk_\bg_\br_\bo_\bu_\bn_\bd processes are those whose process group  ID
+       generated signals such as S\bSI\bIG\bGI\bIN\bNT\bT.  These processes are said  to  be  in
+       the  _\bf_\bo_\br_\be_\bg_\br_\bo_\bu_\bn_\bd.  _\bB_\ba_\bc_\bk_\bg_\br_\bo_\bu_\bn_\bd processes are those whose process group ID
        differs from the terminal's; such processes are immune to keyboard-gen-
-       erated signals.  Only foreground processes are allowed to read from  or
+       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_\b _\bs_\bu_\bs_\bp_\be_\bn_\bd
-       character  (typically  ^\b^Y\bY,  Control-Y) causes the process to be stopped
-       when it attempts to read input from the terminal,  and  control  to  be
-       returned  to b\bba\bas\bsh\bh.  The user may then manipulate the state of this job,
-       using the b\bbg\bg command to continue it in the background, the  f\bfg\b command
+       be  stopped  and  returns  control to b\bba\bas\bsh\bh.  Typing the _\bd_\be_\bl_\ba_\by_\be_\bd _\bs_\bu_\bs_\bp_\be_\bn_\bd
+       character (typically ^\b^Y\bY, Control-Y) causes the process  to  be  stopped
+       when  it  attempts  to  read input from the terminal, and control to be
+       returned to b\bba\bas\bsh\bh.  The user may then manipulate the state of this  job,
+       using  the  b\bbg\bg command to continue it in the background, the f\bfg\bg command
        to continue it in the foreground, or the k\bki\bil\bll\bl command to kill it.  A ^\b^Z\bZ
        takes effect immediately, and has the additional side effect of causing
        pending output and typeahead to be discarded.
 
        There are a number of ways to refer to a job in the shell.  The charac-
        ter %\b% introduces a job 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%+\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
-       job.
+       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-.  If there is only
+       a single job, %\b%+\b+ and %\b%-\b- can both be used to refer to that job.  In out-
+       put pertaining to jobs (e.g., the output of the j\bjo\bob\bbs\bs command), the cur-
+       rent  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 job.
 
        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
@@ -2439,7 +2488,7 @@ P\bPR\bRO\bOM\bMP\bPT\bTI\bIN\bNG\bG
               \\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\bE abbreviated
-                     with a tilde
+                     with a tilde (uses the $\b$P\bPR\bRO\bOM\bMP\bPT\bT_\b_D\bDI\bIR\bRT\bTR\bRI\bIM\bM variable)
               \\b\W\bW     the basename of the current working directory, with $\b$H\bHO\bOM\bME\bE
                      abbreviated with a tilde
               \\b\!\b!     the history number of this command
@@ -3789,8 +3838,8 @@ S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
               loop) is resumed.  The return value is 0 unless _\bn is not greater
               than or equal to 1.
 
-       d\bde\bec\bcl\bla\bar\bre\be [-\b-a\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] ...]
+       d\bde\bec\bcl\bla\bar\bre\be [-\b-a\baA\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\baA\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\bp is used
@@ -3807,7 +3856,10 @@ S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
               played as well.   The  -\b-F\bF  option  implies  -\b-f\bf.   The  following
               options  can  be  used  to restrict output to variables with the
               specified attribute or to give variables attributes:
-              -\b-a\ba     Each _\bn_\ba_\bm_\be is an array variable (see A\bAr\brr\bra\bay\bys\bs above).
+              -\b-a\ba     Each _\bn_\ba_\bm_\be  is  an  indexed  array  variable  (see  A\bAr\brr\bra\bay\bys\bs
+                     above).
+              -\b-A\bA     Each  _\bn_\ba_\bm_\be  is  an associative array variable (see A\bAr\brr\bra\bay\bys\bs
+                     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
@@ -4181,126 +4233,126 @@ S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
 
        l\blo\bog\bgo\bou\but\bt Exit a login shell.
 
-       m\bma\bap\bpf\bfi\bil\ble\b[-\b-n\bn _\bc_\bo_\bu_\bn_\bt] [-\b-O\bO _\bo_\br_\bi_\bg_\bi_\bn] [-\b-s\bs _\bc_\bo_\bu
-              nt_\b]  _\b[-\b-t\bt_\b] _\b[-\b-u\bu _\bf_\bd_\b] _\b[-\b-C\bC _\bc_\ba_\bl_\bl_\bb_\ba_\bc_\bk_\b] _\b[-\b-c\bc _\bI_\bq_\bu_\ba_\bn_\bt_\bu_\bm]\b] [\b[_\ba_\br_\br_\ba_\by]\b] R\bRe\bea\bad\bd l\bli\bin\bne\bes\bs
-              f\bfr\bro\bom\bm t\bth\bhe\be s\bst\bta\ban\bnd\bda\bar\brd\bd i\bin\bnp\bpu\but\bt i\bin\bnt\bto\bo a\bar\brr\bra\bay\by v\bva\bar\bri\bia\bab\bbl\ble\be _\ba_\br_\br_\ba_\by, or from  file
-              descriptor  _\bf_\bd  if the -\b-u\bu option is supplied.  The variable M\bMA\bAP\bP-\b-
-              F\bFI\bIL\bLE\bE is the default _\ba_\br_\br_\ba_\by.  Options, if supplied, have the  fol-
-              lowing meanings:
-              -\b-n\bn     Copy  at  most _\bc_\bo_\bu_\bn_\bt lines.  If _\bc_\bo_\bu_\bn_\bt is 0, all lines are
+       m\bma\bap\bpf\bfi\bil\ble\b [-\b-n\bn  _\bc_\bo_\bu_\bn_\bt]  [-\b-O\bO _\bo_\br_\bi_\bg_\bi_\bn] [-\b-s\bs _\bc_\bo_\bu_\bn_\bt] [-\b-t\bt] [-\b-u\bu _\bf_\bd] [-\b-C\bC _\bc_\ba_\bl_\bl_\bb_\ba_\bc_\bk]
+       [-\b-c\bc _\bq_\bu_\ba_\bn_\bt_\bu_\bm] [_\ba_\br_\br_\ba_\by]
+              Read lines from the standard input into array variable _\ba_\br_\br_\ba_\by, or
+              from file descriptor _\bf_\bd if the -\b-u\bu option is supplied.  The vari-
+              able  M\bMA\bAP\bPF\bFI\bIL\bLE\bE  is the default _\ba_\br_\br_\ba_\by.  Options, if supplied, have
+              the following meanings:
+              -\b-n\bn     Copy at most _\bc_\bo_\bu_\bn_\bt lines.  If _\bc_\bo_\bu_\bn_\bt is 0, all  lines  are
                      copied.
-              -\b-O\bO     Begin assigning to _\ba_\br_\br_\ba_\by at index  _\bo_\br_\bi_\bg_\bi_\bn.   The  default
+              -\b-O\bO     Begin  assigning  to  _\ba_\br_\br_\ba_\by at index _\bo_\br_\bi_\bg_\bi_\bn.  The default
                      index is 0.
               -\b-s\bs     Discard the first _\bc_\bo_\bu_\bn_\bt lines read.
               -\b-t\bt     Remove a trailing line from each line read.
-              -\b-u\bu     Read  lines  from file descriptor _\bf_\bd instead of the stan-
+              -\b-u\bu     Read lines from file descriptor _\bf_\bd instead of  the  stan-
                      dard input.
-              -\b-C\bC     Evaluate _\bc_\ba_\bl_\bl_\bb_\ba_\bc_\bk each time _\bq_\bu_\ba_\bn_\bt_\bu_\bm lines are read.   The
+              -\b-C\bC     Evaluate  _\bc_\ba_\bl_\bl_\bb_\ba_\bc_\bk each time _\bq_\bu_\ba_\bn_\bt_\bu_\bm lines are read.  The
                      -\b-c\bc option specifies _\bq_\bu_\ba_\bn_\bt_\bu_\bm.
-              -\b-c\bc     Specify  the  number  of  lines read between each call to
+              -\b-c\bc     Specify the number of lines read  between  each  call  to
                      _\bc_\ba_\bl_\bl_\bb_\ba_\bc_\bk.
 
               If -\b-C\bC is specified without -\b-c\bc, the default quantum is 5000.
 
-              If not supplied with an  explicit  origin,  m\bma\bap\bpf\bfi\bil\ble\be  will  clear
+              If  not  supplied  with  an  explicit origin, m\bma\bap\bpf\bfi\bil\ble\be will clear
               _\ba_\br_\br_\ba_\by before assigning to it.
 
-              m\bma\bap\bpf\bfi\bil\ble\b returns successfully unless an invalid option or option
+              m\bma\bap\bpf\bfi\bil\ble\breturns successfully unless an invalid option or  option
               argument is supplied, or _\ba_\br_\br_\ba_\by is invalid or unassignable.
 
        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\bd to
+              Removes  entries  from  the directory stack.  With no arguments,
+              removes the top directory from the stack, and performs a  c\bcd\b to
               the new top directory.  Arguments, if supplied, have the follow-
               ing meanings:
-              -\b-n\bn     Suppresses  the  normal change of directory when removing
-                     directories from the stack, so that  only  the  stack  is
+              -\b-n\bn     Suppresses the normal change of directory  when  removing
+                     directories  from  the  stack,  so that only the stack is
                      manipulated.
-              +\b+_\bn     Removes  the _\bnth entry counting from the left of the list
-                     shown by d\bdi\bir\brs\bs, starting with zero.  For  example:  ``popd
+              +\b+_\bn     Removes the _\bnth entry counting from the left of the  list
+                     shown  by  d\bdi\bir\brs\bs, starting with zero.  For example: ``popd
                      +0'' removes the first directory, ``popd +1'' the second.
               -\b-_\bn     Removes the _\bnth entry counting from the right of the list
-                     shown  by  d\bdi\bir\brs\bs, starting with zero.  For example: ``popd
-                     -0'' removes the last directory, ``popd -1'' the next  to
+                     shown by d\bdi\bir\brs\bs, starting with zero.  For  example:  ``popd
+                     -0''  removes the last directory, ``popd -1'' the next to
                      last.
 
-              If  the p\bpo\bop\bpd\bd command is successful, a d\bdi\bir\brs\bs is performed as well,
-              and the return status is 0.  p\bpo\bop\bpd\bd returns false  if  an  invalid
+              If the p\bpo\bop\bpd\bd command is successful, a d\bdi\bir\brs\bs is performed as  well,
+              and  the  return  status is 0.  p\bpo\bop\bpd\bd returns false if an invalid
               option is encountered, the directory stack is empty, a non-exis-
               tent directory stack entry is specified, or the directory change
               fails.
 
        p\bpr\bri\bin\bnt\btf\bf [-\b-v\bv _\bv_\ba_\br] _\bf_\bo_\br_\bm_\ba_\bt [_\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs]
-              Write  the  formatted _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs to the standard output under the
-              control of the _\bf_\bo_\br_\bm_\ba_\bt.  The _\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
+              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_\bt  (except that \\b\c\bc terminates output,
+              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_\bt (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\bq causes
+              beginning with \\b\0\b0 may contain up to four digits), and %\b%q\b 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] [+_\bn] [-_\bn]
        p\bpu\bus\bsh\bhd\bd [-\b-n\bn] [_\bd_\bi_\br]
-              Adds a directory to the top of the directory stack,  or  rotates
-              the  stack,  making the new top of the stack the current working
+              Adds  a  directory to the top of the directory stack, or rotates
+              the stack, making the new top of the stack the  current  working
               directory.  With no arguments, exchanges the top two directories
-              and  returns 0, unless the directory stack is empty.  Arguments,
+              and returns 0, unless the directory stack is empty.   Arguments,
               if supplied, have the following meanings:
-              -\b-n\bn     Suppresses the normal change  of  directory  when  adding
-                     directories  to  the  stack,  so  that  only the stack is
+              -\b-n\bn     Suppresses  the  normal  change  of directory when adding
+                     directories to the stack,  so  that  only  the  stack  is
                      manipulated.
-              +\b+_\bn     Rotates the stack so that  the  _\bnth  directory  (counting
-                     from  the  left  of the list shown by d\bdi\bir\brs\bs, starting with
+              +\b+_\bn     Rotates  the  stack  so  that the _\bnth directory (counting
+                     from the left of the list shown by  d\bdi\bir\brs\bs,  starting  with
                      zero) is at the top.
-              -\b-_\bn     Rotates the stack so that  the  _\bnth  directory  (counting
-                     from  the  right of the list shown by d\bdi\bir\brs\bs, starting with
+              -\b-_\bn     Rotates  the  stack  so  that the _\bnth directory (counting
+                     from the right of the list shown by d\bdi\bir\brs\bs,  starting  with
                      zero) is at the top.
               _\bd_\bi_\br    Adds _\bd_\bi_\br to the directory stack at the top, making it the
                      new current working directory.
 
               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\b[-\b-e\ber\brs\bs] [-\b-a\ba _\ba_\bn_\ba_\bm_\be] [-\b-d\bd _\bd_\be_\bl_\bi_\bm] [-\b- _\bt_\be_\bx_\bt] [-\b-n\bn _\bn_\bc_\bh_\ba_\br_\bs] [-\b-p\bp _\bp_\br_\bo_\bm_\bp_\bt]  [-\b-t\bt
+       r\bre\bea\bad\b [-\b-e\ber\brs\bs] [-\b-a\ba _\ba_\bn_\ba_\bm_\be] [-\b-d\bd _\bd_\be_\bl_\bi_\bm] [-\b- _\bt_\be_\bx_\bt] [-\b-n\bn _\bn_\bc_\bh_\ba_\br_\bs] [-\b-p\bp _\bp_\br_\bo_\bm_\bp_\bt] [-\b-t\bt
        _\bt_\bi_\bm_\be_\bo_\bu_\bt] [-\b-u\bu _\bf_\bd] [_\bn_\ba_\bm_\be ...]
-              One line is read from the  standard  input,  or  from  the  file
-              descriptor  _\bf_\bd supplied as an argument to the -\b-u\bu option, and the
+              One  line  is  read  from  the  standard input, or from the file
+              descriptor _\bf_\bd supplied as an argument to the -\b-u\bu option, and  the
               first word is assigned to the first _\bn_\ba_\bm_\be, the second word to the
-              second  _\bn_\ba_\bm_\be, and so on, with leftover words and their interven-
-              ing separators assigned to the last _\bn_\ba_\bm_\be.  If  there  are  fewer
+              second _\bn_\ba_\bm_\be, and so on, with leftover words and their  interven-
+              ing  separators  assigned  to the last _\bn_\ba_\bm_\be.  If there are fewer
               words read from the input stream than names, the remaining names
-              are assigned empty values.  The characters in I\bIF\bFS\bS  are  used  to
-              split  the  line into words.  The backslash character (\\b\) may be
-              used to remove any special meaning for the next  character  read
-              and  for line continuation.  Options, if supplied, have the fol-
+              are  assigned  empty  values.  The characters in I\bIF\bFS\bS are used to
+              split the line into words.  The backslash character (\\b\)  may  be
+              used  to  remove any special meaning for the next character read
+              and for line continuation.  Options, if supplied, have the  fol-
               lowing meanings:
               -\b-a\ba _\ba_\bn_\ba_\bm_\be
                      The words are assigned to sequential indices of the array
@@ -4308,52 +4360,56 @@ S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
                      new  values  are  assigned.   Other  _\bn_\ba_\bm_\be  arguments  are
                      ignored.
               -\b-d\bd _\bd_\be_\bl_\bi_\bm
-                     The  first  character  of  _\bd_\be_\bl_\bi_\bm is used to terminate the
+                     The first character of _\bd_\be_\bl_\bi_\bm is  used  to  terminate  the
                      input line, rather than newline.
               -\b-e\be     If the standard input is coming from a terminal, r\bre\bea\bad\bdl\bli\bin\bne\be
                      (see R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE above) is used to obtain the line.
               -\b-i\bi _\bt_\be_\bx_\bt
-                     If  r\bre\bea\bad\bdl\bli\bin\bne\be  is  being  used  to  read the line, _\bt_\be_\bx_\bt is
+                     If r\bre\bea\bad\bdl\bli\bin\bne\be is being used  to  read  the  line,  _\bt_\be_\bx_\b is
                      placed into the editing buffer before editing begins.
               -\b-n\bn _\bn_\bc_\bh_\ba_\br_\bs
-                     r\bre\bea\bad\breturns after reading _\bn_\bc_\bh_\ba_\br_\bs characters rather  than
+                     r\bre\bea\bad\b returns after reading _\bn_\bc_\bh_\ba_\br_\bs characters rather than
                      waiting for a complete line of input.
               -\b-p\bp _\bp_\br_\bo_\bm_\bp_\bt
                      Display _\bp_\br_\bo_\bm_\bp_\bt on standard error, without a trailing new-
                      line, before attempting to read any input.  The prompt is
                      displayed only if input is coming from a terminal.
               -\b-r\br     Backslash does not act as an escape character.  The back-
-                     slash is considered to be part of the line.  In  particu-
-                     lar,  a  backslash-newline pair may not be used as a line
+                     slash  is considered to be part of the line.  In particu-
+                     lar, a backslash-newline pair may not be used as  a  line
                      continuation.
               -\b-s\bs     Silent mode.  If input is coming from a terminal, charac-
                      ters are not echoed.
               -\b-t\bt _\bt_\bi_\bm_\be_\bo_\bu_\bt
-                     Cause  r\bre\bea\bad\bd  to time out and return failure if a complete
-                     line of input is not read within _\bt_\bi_\bm_\be_\bo_\bu_\bt seconds.   _\bt_\bi_\bm_\be_\b-
-                     _\bo_\bu_\bt  may  be  a  decimal number with a fractional portion
-                     following the decimal point.  This option has  no  effect
-                     if r\bre\bea\bad\bd is not reading input from the terminal or a pipe.
+                     Cause r\bre\bea\bad\bd to time out and return failure if  a  complete
+                     line  of input is not read within _\bt_\bi_\bm_\be_\bo_\bu_\bt seconds.  _\bt_\bi_\bm_\be_\b-
+                     _\bo_\bu_\bt may be a decimal number  with  a  fractional  portion
+                     following  the decimal point.  This option is only effec-
+                     tive if r\bre\bea\bad\bd is reading input from a terminal,  pipe,  or
+                     other  special  file;  it has no effect when reading from
+                     regular files.  The exit status is greater  than  128  if
+                     the timeout is exceeded.
               -\b-u\bu _\bf_\bd  Read input from file descriptor _\bf_\bd.
 
               If no _\bn_\ba_\bm_\be_\bs are supplied, the line read is assigned to the vari-
-              able  R\bRE\bEP\bPL\bLY\bY.   The  return  code  is zero, unless end-of-file is
-              encountered, r\bre\bea\bad\bd times out, 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\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_\be  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
-              variable name, or -\b-f\bf is supplied with a _\bn_\ba_\bm_\be that is not a func-
-              tion.
+       r\bre\bea\bad\bdo\bon\bnl\bly\by [-\b-a\baA\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\bf option
+              is supplied, the functions corresponding to  the  _\bn_\ba_\bm_\be_\bs  are  so
+              marked.   The  -\b-a\ba  option  restricts  the  variables  to indexed
+              arrays; the -\b-A\bA option restricts  the  variables  to  associative
+              arrays.   If no _\bn_\ba_\bm_\be arguments are given, or if the -\b-p\bp option is
+              supplied, a list of all  readonly  names  is  printed.   The  -\b-p\bp
+              option  causes  output  to  be displayed in a format that may be
+              reused as input.  If a variable name is followed by  =_\bw_\bo_\br_\bd,  the
+              value  of  the  variable is set to _\bw_\bo_\br_\bd.  The return status is 0
+              unless an invalid option is encountered, one of the _\bn_\ba_\bm_\be_\bs is not
+              a  valid shell variable name, or -\b-f\bf is supplied with a _\bn_\ba_\bm_\be that
+              is not a function.
 
        r\bre\bet\btu\bur\brn\bn [_\bn]
               Causes a function to exit with the return value specified by  _\bn.
@@ -4745,10 +4801,10 @@ S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
                       sequences by default.
        s\bsu\bus\bsp\bpe\ben\bnd\bd [-\b-f\bf]
               Suspend  the execution of this shell until it receives a S\bSI\bIG\bGC\bCO\bON\bNT\bT
-              signal.  The -\b-f\bf option says not to complain if this is  a  login
-              shell;  just  suspend anyway.  The return status is 0 unless the
-              shell is a login shell and -\b-f\bf is not supplied, or if job control
-              is not enabled.
+              signal.  A login shell cannot be suspended; the -\b-f\bf option can be
+              used to override this and force the suspension.  The return sta-
+              tus is 0 unless the shell is a login shell and -\b-f\bf  is  not  sup-
+              plied, or if job control is not enabled.
        t\bte\bes\bst\bt _\be_\bx_\bp_\br
        [\b[ _\be_\bx_\bp_\br ]\b]
               Return  a  status  of  0 or 1 depending on the evaluation of the
@@ -5088,4 +5144,4 @@ B\bBU\bUG\bGS\bS
 
 
 
-GNU Bash-4.0                      2008 May 25                          BASH(1)
+GNU Bash-4.0                     2008 June 29                          BASH(1)
index c2e7122c0749353fdb6a53466c7e73c01623b46c..108daf468457f282ff0210bb0d331e5ba3339157 100644 (file)
@@ -5,12 +5,12 @@
 .\"    Case Western Reserve University
 .\"    chet@po.cwru.edu
 .\"
-.\"    Last Change: Sun Jun 29 22:44:15 EDT 2008
+.\"    Last Change: Sun Jul  6 14:33:52 EDT 2008
 .\"
 .\" bash_builtins, strip all but Built-Ins section
 .if \n(zZ=1 .ig zZ
 .if \n(zY=1 .ig zY
-.TH BASH 1 "2008 June 29" "GNU Bash-4.0"
+.TH BASH 1 "2008 July 6" "GNU Bash-4.0"
 .\"
 .\" There's some problem with having a `@'
 .\" in a tagged paragraph with the BSD man macros.
@@ -871,6 +871,42 @@ The exit status of the \fBwhile\fP and \fBuntil\fP commands
 is the exit status
 of the last \fBdo\fP \fIlist\fP command executed, or zero if
 none was executed.
+.SS Coprocesses
+.PP
+A \fIcoprocess\fP is a shell command preceded by the \fBcoproc\fP reserved
+word.
+A coprocess is executed asynchronously in a subshell, as if the command
+had been terminated with the \fB&\fP control operator, with a two-way pipe
+established between the executing shell and the coprocess.
+.PP
+The format for a coprocess is:
+.RS
+.PP
+\fBcoproc\fP [\fINAME\fP] \fIcommand\fP [\fIredirections\fP]
+.RE
+.PP
+This creates a coprocess named \fINAME\fP.
+If \fINAME\fP is not supplied, the default name is \fICOPROC\fP.
+When the coproc is executed, the shell creates an array variable (see
+.B Arrays
+below) named \fINAME\fP in the context of the executing shell.
+The standard output of
+.I command
+is connected via a pipe to a file descriptor in the executing shell,
+and that file descriptor is assigned to \fINAME\fP[0].
+The standard input of
+.I command
+is connected via a pipe to a file descriptor in the executing shell,
+and that file descriptor is assigned to \fINAME\fP[1].
+This pipe is established before any redirections specified by the
+command (see
+.SM
+.B REDIRECTION
+below).
+The file descriptors can be utilized as arguments to shell commands
+and redirections using standard word expansions.
+.PP
+The return status of a coprocess is the exit status of \fIcommand\fP.
 .SS Shell Function Definitions
 .PP
 A shell function is an object that is called like a simple command and
@@ -2116,15 +2152,15 @@ parser to treat the rest of the line as a comment.
 .SS Arrays
 .B Bash
 provides one-dimensional indexed and associative array variables.
-Any variable may be used as an array; the
+Any variable may be used as an indexed array; the
 .B declare
 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.
 Indexed arrays are referenced using integers (including arithmetic
-expressions)  and are zero-based; associative arrays use arbitrary
-strings.
+expressions)  and are zero-based; associative arrays are referenced
+using arbitrary strings.
 .PP
 An indexed array is created automatically if any variable is assigned to
 using the syntax \fIname\fP[\fIsubscript\fP]=\fIvalue\fP.  The
@@ -2138,21 +2174,24 @@ use
 .B SHELL BUILTIN COMMANDS
 below).
 .B declare \-a \fIname\fP[\fIsubscript\fP]
-is also accepted; the \fIsubscript\fP is ignored.  Attributes may be
+is also accepted; the \fIsubscript\fP is ignored.
+.PP
+Associative arrays are created using
+.BR "declare \-A \fIname\fP" .
+.PP
+Attributes may be
 specified for an array variable using the
 .B declare
 and
 .B readonly
 builtins.  Each attribute applies to all members of an array.
 .PP
-Associative arrays are created using
-.BR declare \-A \fIname\fP .
-.PP
 Arrays are assigned to using compound assignments of the form
 \fIname\fP=\fB(\fPvalue\fI1\fP ... value\fIn\fP\fB)\fP, where each
-\fIvalue\fP is of the form [\fIsubscript\fP]=\fIstring\fP.  Only
-\fIstring\fP is required.  When using indexed arrays, if
-the optional brackets and subscript are supplied, that index is assigned to;
+\fIvalue\fP is of the form [\fIsubscript\fP]=\fIstring\fP.
+Indexed array assignments do not require the bracket and subscript.
+When assigning to indexed arrays, 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.
 .PP
@@ -2508,11 +2547,13 @@ If \fIoffset\fP evaluates to a number less than zero, the value
 is used as an offset from the end of the value of \fIparameter\fP.
 If \fIparameter\fP is \fB@\fP, the result is \fIlength\fP positional
 parameters beginning at \fIoffset\fP.
-If \fIparameter\fP is an array name indexed by @ or *,
+If \fIparameter\fP is an indexed array name subscripted by @ or *,
 the result is the \fIlength\fP
 members of the array beginning with ${\fIparameter\fP[\fIoffset\fP]}.
 A negative \fIoffset\fP is taken relative to one greater than the maximum
 index of the specified array.
+Substring expansion applied to an associative array produces undefined
+results.
 Note that a negative offset must be separated from the colon by at least
 one space to avoid being confused with the :- expansion.
 Substring indexing is zero-based unless the positional parameters 
@@ -2653,6 +2694,43 @@ or
 .BR * ,
 the substitution operation is applied to each member of the
 array in turn, and the expansion is the resultant list.
+.TP
+${\fIparameter\fP\fB^\fP\fIpattern\fP}
+.PD 0
+.TP
+${\fIparameter\fP\fB^^\fP\fIpattern\fP}
+.TP
+${\fIparameter\fP\fB,\fP\fIpattern\fP}
+.TP
+${\fIparameter\fP\fB,,\fP\fIpattern\fP}
+.PD
+This expansion modifies the case of alphabetic characters in \fIparameter\fP.
+The \fIpattern\fP is expanded to produce a pattern just as in
+pathname expansion.
+The \fB^\fP operator converts lowercase letters matching \fIpattern\fP
+to uppercase; the \fB,\fP operator converts matching uppercase letters
+to lowercase.
+The \fB^^\fP and \fB,,\fP expansions convert each matched character in the
+expanded value; the \fB^\fP and \fB,\fP expansions match and convert only
+the first character.
+If \fIpattern\fP is omitted, it is treated like a \fB?\fP, which matches
+every character.
+If
+.I parameter
+is
+.B @
+or
+.BR * ,
+the case modification operation is applied to each positional
+parameter in turn, and the expansion is the resultant list.
+If
+.I parameter
+is an array variable subscripted with
+.B @
+or
+.BR * ,
+the case modification operation is applied to each member of the
+array in turn, and the expansion is the resultant list.
 .SS Command Substitution
 .PP
 \fICommand substitution\fP allows the output of a command to replace
@@ -6645,10 +6723,10 @@ is greater than the number of enclosing loops, the last enclosing loop
 (the ``top-level'' loop) is resumed.
 The return value is 0 unless \fIn\fP is not greater than or equal to 1.
 .TP
-\fBdeclare\fP [\fB\-aAfFirtx\fP] [\fB\-p\fP] [\fIname\fP[=\fIvalue\fP] ...]
+\fBdeclare\fP [\fB\-aAfFilrtux\fP] [\fB\-p\fP] [\fIname\fP[=\fIvalue\fP] ...]
 .PD 0
 .TP
-\fBtypeset\fP [\fB\-aAfFirtx\fP] [\fB\-p\fP] [\fIname\fP[=\fIvalue\fP] ...]
+\fBtypeset\fP [\fB\-aAfFilrtux\fP] [\fB\-p\fP] [\fIname\fP[=\fIvalue\fP] ...]
 .PD
 Declare variables and/or give them attributes.
 If no \fIname\fPs are given then display the values of variables.
@@ -6702,6 +6780,11 @@ The variable is treated as an integer; arithmetic evaluation (see
 .B "ARITHMETIC EVALUATION" ") "
 is performed when the variable is assigned a value.
 .TP
+.B \-l
+When the variable is assigned a value, all upper-case characters are
+converted to lower-case.
+The upper-case attribute is disabled.
+.TP
 .B \-r
 Make \fIname\fPs readonly.  These names cannot then be assigned values
 by subsequent assignment statements or unset.
@@ -6712,6 +6795,11 @@ Traced functions inherit the \fBDEBUG\fP and \fBRETURN\fP traps from
 the calling shell.
 The trace attribute has no special meaning for variables.
 .TP
+.B \-u
+When the variable is assigned a value, all lower-case characters are
+converted to upper-case.
+The lower-case attribute is disabled.
+.TP
 .B \-x
 Mark \fIname\fPs for export to subsequent commands via the environment.
 .PD
@@ -7505,9 +7593,7 @@ is supplied, or
 .B logout
 Exit a login shell.
 .TP
-\fBmapfile\fP [\fB\-n\fP \fIcount\fP] [\fB\-O\fP \fIorigin\fP] [\fB\-s\fP \fIcou
-nt\fP] [\fB\-t\fP] [\fB\-u\fP \fIfd\fP] [\fB\-C\fP \fIcallback\fP] [\fB\-c\fP \f
-Iquantum\fP] [\fIarray\fP]
+\fBmapfile\fP [\fB\-n\fP \fIcount\fP] [\fB\-O\fP \fIorigin\fP] [\fB\-s\fP \fIcount\fP] [\fB\-t\fP] [\fB\-u\fP \fIfd\fP] [\fB\-C\fP \fIcallback\fP] [\fB\-c\fP \fIquantum\fP] [\fIarray\fP]
 Read lines from the standard input into array variable
 .IR array ,
 or from file descriptor 
@@ -7709,7 +7795,7 @@ The return status is 0 unless an error occurs while
 reading the name of the current directory or an
 invalid option is supplied.
 .TP
-\fBread\fP [\fB\-ers\fP] [\fB\-a\fP \fIaname\fP] [\fB\-d\fP \fIdelim\fP] [\fb\-\fP \fItext\fP] [\fB\-n\fP \fInchars\fP] [\fB\-p\fP \fIprompt\fP] [\fB\-t\fP \fItimeout\fP] [\fB\-u\fP \fIfd\fP] [\fIname\fP ...]
+\fBread\fP [\fB\-ers\fP] [\fB\-a\fP \fIaname\fP] [\fB\-d\fP \fIdelim\fP] [\fB\-\fP \fItext\fP] [\fB\-n\fP \fInchars\fP] [\fB\-p\fP \fIprompt\fP] [\fB\-t\fP \fItimeout\fP] [\fB\-u\fP \fIfd\fP] [\fIname\fP ...]
 One line is read from the standard input, or from the file descriptor
 \fIfd\fP supplied as an argument to the \fB\-u\fP option, and the first word
 is assigned to the first
@@ -7798,8 +7884,8 @@ are supplied, the line read is assigned to the variable
 .SM
 .BR REPLY .
 The return code is zero, unless end-of-file is encountered, \fBread\fP
-times out, or an invalid file descriptor is supplied as the argument to
-\fB\-u\fP.
+times out (in which case the return code is greater than 128), or an
+invalid file descriptor is supplied as the argument to \fB\-u\fP.
 .RE
 .TP
 \fBreadonly\fP [\fB\-aApf\fP] [\fIname\fP[=\fIword\fP] ...]
@@ -8555,11 +8641,10 @@ by default.
 Suspend the execution of this shell until it receives a
 .SM
 .B SIGCONT
-signal.  The
+signal.  A login shell cannot be suspended; the
 .B \-f
-option says not to complain if this is 
-a login shell; just suspend anyway.  The return status is 0 unless
-the shell is a login shell and
+option can be used to override this and force the suspension.
+The return status is 0 unless the shell is a login shell and
 .B \-f
 is not supplied, or if job control is not enabled.
 .TP
@@ -9249,5 +9334,7 @@ unmatched parentheses, even inside shell comments, will result in
 error messages while the construct is being read.
 .PP
 Array variables may not (yet) be exported.
+.PP
+There may be only one active coprocess at a time.
 .zZ
 .zY
index e2decb94d5b0dfaeb5c2541be4d04b8f24cf13a4..e6d7a4642f7de1d593d4cf7b737e8c1fbc0e9d8b 100644 (file)
@@ -5,12 +5,12 @@
 .\"    Case Western Reserve University
 .\"    chet@po.cwru.edu
 .\"
-.\"    Last Change: Mon Jun  2 20:32:53 EDT 2008
+.\"    Last Change: Sun Jul  6 14:33:52 EDT 2008
 .\"
 .\" bash_builtins, strip all but Built-Ins section
 .if \n(zZ=1 .ig zZ
 .if \n(zY=1 .ig zY
-.TH BASH 1 "2008 June 2" "GNU Bash-4.0"
+.TH BASH 1 "2008 July 6" "GNU Bash-4.0"
 .\"
 .\" There's some problem with having a `@'
 .\" in a tagged paragraph with the BSD man macros.
@@ -871,6 +871,42 @@ The exit status of the \fBwhile\fP and \fBuntil\fP commands
 is the exit status
 of the last \fBdo\fP \fIlist\fP command executed, or zero if
 none was executed.
+.SS Coprocesses
+.PP
+A \fIcoprocess\fP is a shell command preceded by the \fBcoproc\fP reserved
+word.
+A coprocess is executed asynchronously in a subshell, as if the command
+had been terminated with the \fB&\fP control operator, with a two-way pipe
+established between the executing shell and the coprocess.
+.PP
+The format for a coprocess is:
+.RS
+.PP
+\fBcoproc\fP [\fINAME\fP] \fIcommand\fP [\fIredirections\fP]
+.RE
+.PP
+This creates a coprocess named \fINAME\fP.
+If \fINAME\fP is not supplied, the default name is \fICOPROC\fP.
+When the coproc is executed, the shell creates an array variable (see
+.B arrays
+below) named \fINAME\fP in the context of the executing shell.
+The standard output of
+.I command
+is connected via a pipe to a file descriptor in the executing shell,
+and that file descriptor is assigned to \fINAME\fP[0].
+The standard input of
+.I command
+is connected via a pipe to a file descriptor in the executing shell,
+and that file descriptor is assigned to \fINAME\fP[1].
+This pipe is established before any redirections specified by the
+command (see
+.SM
+.B REDIRECTION
+below).
+The file descriptors can be utilized as arguments to shell commands
+and redirections using standard word expansions.
+.PP
+The return status of a coprocess is the exit status of \fIcommand\fP.
 .SS Shell Function Definitions
 .PP
 A shell function is an object that is called like a simple command and
@@ -2116,15 +2152,15 @@ parser to treat the rest of the line as a comment.
 .SS Arrays
 .B Bash
 provides one-dimensional indexed and associative array variables.
-Any variable may be used as an array; the
+Any variable may be used as an indexed array; the
 .B declare
 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.
 Indexed arrays are referenced using integers (including arithmetic
-expressions)  and are zero-based; associative arrays use arbitrary
-strings.
+expressions)  and are zero-based; associative arrays are referenced
+using arbitrary strings.
 .PP
 An indexed array is created automatically if any variable is assigned to
 using the syntax \fIname\fP[\fIsubscript\fP]=\fIvalue\fP.  The
@@ -2138,21 +2174,24 @@ use
 .B SHELL BUILTIN COMMANDS
 below).
 .B declare \-a \fIname\fP[\fIsubscript\fP]
-is also accepted; the \fIsubscript\fP is ignored.  Attributes may be
+is also accepted; the \fIsubscript\fP is ignored.
+.PP
+Associative arrays are created using
+.BR "declare \-A \fIname\fP" .
+.PP
+Attributes may be
 specified for an array variable using the
 .B declare
 and
 .B readonly
 builtins.  Each attribute applies to all members of an array.
 .PP
-Associative arrays are created using
-.BR declare \-A \fIname\fP .
-.PP
 Arrays are assigned to using compound assignments of the form
 \fIname\fP=\fB(\fPvalue\fI1\fP ... value\fIn\fP\fB)\fP, where each
-\fIvalue\fP is of the form [\fIsubscript\fP]=\fIstring\fP.  Only
-\fIstring\fP is required.  When using indexed arrays, if
-the optional brackets and subscript are supplied, that index is assigned to;
+\fIvalue\fP is of the form [\fIsubscript\fP]=\fIstring\fP.
+Indexed array assignments do not require the bracket and subscript.
+When assigning to indexed arrays, 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.
 .PP
@@ -2508,11 +2547,13 @@ If \fIoffset\fP evaluates to a number less than zero, the value
 is used as an offset from the end of the value of \fIparameter\fP.
 If \fIparameter\fP is \fB@\fP, the result is \fIlength\fP positional
 parameters beginning at \fIoffset\fP.
-If \fIparameter\fP is an array name indexed by @ or *,
+If \fIparameter\fP is an indexed array name subscripted by @ or *,
 the result is the \fIlength\fP
 members of the array beginning with ${\fIparameter\fP[\fIoffset\fP]}.
 A negative \fIoffset\fP is taken relative to one greater than the maximum
 index of the specified array.
+Substring expansion applied to an associative array produces undefined
+results.
 Note that a negative offset must be separated from the colon by at least
 one space to avoid being confused with the :- expansion.
 Substring indexing is zero-based unless the positional parameters 
@@ -2653,6 +2694,43 @@ or
 .BR * ,
 the substitution operation is applied to each member of the
 array in turn, and the expansion is the resultant list.
+.TP
+${\fIparameter\fP\fB^\fP\fIpattern\fP}
+.PD 0
+.TP
+${\fIparameter\fP\fB^^\fP\fIpattern\fP}
+.TP
+${\fIparameter\fP\fB,\fP\fIpattern\fP}
+.TP
+${\fIparameter\fP\fB,,\fP\fIpattern\fP}
+.PD
+This expansion modifies the case of alphabetic characters in \fIparameter\fP.
+The \fIpattern\fP is expanded to produce a pattern just as in
+pathname expansion.
+The \fB^\fP operator converts lowercase letters matching \fIpattern\fP
+to uppercase; the \fB,\fP operator converts matching uppercase letters
+to lowercase.
+The \fB^^\fP and \fB,,\fP expansions convert each matched character in the
+expanded value; the \fB^\fP and \fB,\fP expansions match and convert only
+the first character.
+If \fIpattern\fP is omitted, it is treated like a \fB?\fP, which matches
+every character.
+If
+.I parameter
+is
+.B @
+or
+.BR * ,
+the case modification operation is applied to each positional
+parameter in turn, and the expansion is the resultant list.
+If
+.I parameter
+is an array variable subscripted with
+.B @
+or
+.BR * ,
+the case modification operation is applied to each member of the
+array in turn, and the expansion is the resultant list.
 .SS Command Substitution
 .PP
 \fICommand substitution\fP allows the output of a command to replace
@@ -6645,10 +6723,10 @@ is greater than the number of enclosing loops, the last enclosing loop
 (the ``top-level'' loop) is resumed.
 The return value is 0 unless \fIn\fP is not greater than or equal to 1.
 .TP
-\fBdeclare\fP [\fB\-aAfFirtx\fP] [\fB\-p\fP] [\fIname\fP[=\fIvalue\fP] ...]
+\fBdeclare\fP [\fB\-aAfFilrtux\fP] [\fB\-p\fP] [\fIname\fP[=\fIvalue\fP] ...]
 .PD 0
 .TP
-\fBtypeset\fP [\fB\-aAfFirtx\fP] [\fB\-p\fP] [\fIname\fP[=\fIvalue\fP] ...]
+\fBtypeset\fP [\fB\-aAfFilrtux\fP] [\fB\-p\fP] [\fIname\fP[=\fIvalue\fP] ...]
 .PD
 Declare variables and/or give them attributes.
 If no \fIname\fPs are given then display the values of variables.
@@ -6702,6 +6780,11 @@ The variable is treated as an integer; arithmetic evaluation (see
 .B "ARITHMETIC EVALUATION" ") "
 is performed when the variable is assigned a value.
 .TP
+.B \-l
+When the variable is assigned a value, all upper-case characters are
+converted to lower-case.
+The upper-case attribute is disabled.
+.TP
 .B \-r
 Make \fIname\fPs readonly.  These names cannot then be assigned values
 by subsequent assignment statements or unset.
@@ -6712,6 +6795,11 @@ Traced functions inherit the \fBDEBUG\fP and \fBRETURN\fP traps from
 the calling shell.
 The trace attribute has no special meaning for variables.
 .TP
+.B \-u
+When the variable is assigned a value, all lower-case characters are
+converted to upper-case.
+The lower-case attribute is disabled.
+.TP
 .B \-x
 Mark \fIname\fPs for export to subsequent commands via the environment.
 .PD
@@ -7505,9 +7593,7 @@ is supplied, or
 .B logout
 Exit a login shell.
 .TP
-\fBmapfile\fP [\fB\-n\fP \fIcount\fP] [\fB\-O\fP \fIorigin\fP] [\fB\-s\fP \fIcou
-nt\fP] [\fB\-t\fP] [\fB\-u\fP \fIfd\fP] [\fB\-C\fP \fIcallback\fP] [\fB\-c\fP \f
-Iquantum\fP] [\fIarray\fP]
+\fBmapfile\fP [\fB\-n\fP \fIcount\fP] [\fB\-O\fP \fIorigin\fP] [\fB\-s\fP \fIcount\fP] [\fB\-t\fP] [\fB\-u\fP \fIfd\fP] [\fB\-C\fP \fIcallback\fP] [\fB\-c\fP \fIquantum\fP] [\fIarray\fP]
 Read lines from the standard input into array variable
 .IR array ,
 or from file descriptor 
@@ -7709,7 +7795,7 @@ The return status is 0 unless an error occurs while
 reading the name of the current directory or an
 invalid option is supplied.
 .TP
-\fBread\fP [\fB\-ers\fP] [\fB\-a\fP \fIaname\fP] [\fB\-d\fP \fIdelim\fP] [\fb\-\fP \fItext\fP] [\fB\-n\fP \fInchars\fP] [\fB\-p\fP \fIprompt\fP] [\fB\-t\fP \fItimeout\fP] [\fB\-u\fP \fIfd\fP] [\fIname\fP ...]
+\fBread\fP [\fB\-ers\fP] [\fB\-a\fP \fIaname\fP] [\fB\-d\fP \fIdelim\fP] [\fB\-\fP \fItext\fP] [\fB\-n\fP \fInchars\fP] [\fB\-p\fP \fIprompt\fP] [\fB\-t\fP \fItimeout\fP] [\fB\-u\fP \fIfd\fP] [\fIname\fP ...]
 One line is read from the standard input, or from the file descriptor
 \fIfd\fP supplied as an argument to the \fB\-u\fP option, and the first word
 is assigned to the first
@@ -7798,8 +7884,8 @@ are supplied, the line read is assigned to the variable
 .SM
 .BR REPLY .
 The return code is zero, unless end-of-file is encountered, \fBread\fP
-times out, or an invalid file descriptor is supplied as the argument to
-\fB\-u\fP.
+times out (in which case the return code is greater than 128), or an
+invalid file descriptor is supplied as the argument to \fB\-u\fP.
 .RE
 .TP
 \fBreadonly\fP [\fB\-aApf\fP] [\fIname\fP[=\fIword\fP] ...]
@@ -8555,11 +8641,10 @@ by default.
 Suspend the execution of this shell until it receives a
 .SM
 .B SIGCONT
-signal.  The
+signal.  A login shell cannot be suspended; the
 .B \-f
-option says not to complain if this is 
-a login shell; just suspend anyway.  The return status is 0 unless
-the shell is a login shell and
+option can be used to override this and force the suspension.
+The return status is 0 unless the shell is a login shell and
 .B \-f
 is not supplied, or if job control is not enabled.
 .TP
@@ -9249,5 +9334,7 @@ unmatched parentheses, even inside shell comments, will result in
 error messages while the construct is being read.
 .PP
 Array variables may not (yet) be exported.
+.PP
+There may be only one active coprocess at a time.
 .zZ
 .zY
index dfa3d65174d8073105f99c6823d2146d04fa182f..9e17e2cd1bed19b4cf893ecdb64231840d9c8a6a 100644 (file)
@@ -3,7 +3,7 @@
 </HEAD>
 <BODY><TABLE WIDTH=100%>
 <TR>
-<TH ALIGN=LEFT width=33%>BASH(1)<TH ALIGN=CENTER width=33%>2008 May 25<TH ALIGN=RIGHT width=33%>BASH(1)
+<TH ALIGN=LEFT width=33%>BASH(1)<TH ALIGN=CENTER width=33%>2008 June 29<TH ALIGN=RIGHT width=33%>BASH(1)
 </TR>
 </TABLE>
 <BR><A HREF="#index">Index</A>
@@ -1467,7 +1467,9 @@ When += is applied to an array variable using compound assignment (see
 
 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.
+appended to the array beginning at one greater than the array's maximum index
+(for indexed arrays) or added as additional key-value pairs in an
+associative array.
 When applied to a string-valued variable, <I>value</I> is expanded and
 appended to the variable's value.
 <A NAME="lbAT">&nbsp;</A>
@@ -1644,6 +1646,13 @@ Expands to the full file name used to invoke this instance of
 Expands to the process id of the current <B>bash</B> process.
 This differs from <B>$$</B> under certain circumstances, such as subshells
 that do not require <B>bash</B> to be re-initialized.
+<DT><B>BASH_ALIASES</B>
+
+<DD>
+An associative array variable whose members correspond to the internal
+list of aliases as maintained by the <B>alias</B> builtin
+Elements added to this array appear in the alias list; unsetting array
+elements cause aliases to be removed from the alias list.
 <DT><B>BASH_ARGC</B>
 
 <DD>
@@ -1678,6 +1687,13 @@ option to the
 <B>shopt</B>
 
 builtin below)
+<DT><B>BASH_CMDS</B>
+
+<DD>
+An associative array variable whose members correspond to the internal
+hash table of commands as maintained by the <B>hash</B> builtin.
+Elements added to this array appear in the hash table; unsetting array
+elements cause commands to be removed from the hash table.
 <DT><B>BASH_COMMAND</B>
 
 <DD>
@@ -2501,6 +2517,16 @@ had been executed.
 <DD>
 If set, the value is executed as a command prior to issuing each primary
 prompt.
+<DT><B>PROMPT_DIRTRIM</B>
+
+<DD>
+If set to a number greater than zero, the value is used as the number of
+trailing directory components to retain when expanding the <B>\w and
+\W</B> prompt string escapes (see
+<FONT SIZE=-1><B>PROMPTING</B>
+
+</FONT>
+below).  Characters removed are replaced with an ellipsis.
 <DT><B>PS1</B>
 
 <DD>
@@ -2688,22 +2714,26 @@ parser to treat the rest of the line as a comment.
 
 <B>Bash</B>
 
-provides one-dimensional array variables.  Any variable may be used as
-an array; the
+provides one-dimensional indexed and associative array variables.
+Any variable may be used as an indexed array; the
 <B>declare</B>
 
-builtin will explicitly declare an array.  There is no maximum
+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 using
-integers and are zero-based.
+be indexed or assigned contiguously.
+Indexed arrays are referenced using integers (including arithmetic
+expressions)  and are zero-based; associative arrays are referenced
+using arbitrary strings.
 <P>
 
-An array is created automatically if any variable is assigned to using
-the syntax <I>name</I>[<I>subscript</I>]=<I>value</I>.  The
+An indexed array is created automatically if any variable is assigned to
+using the syntax <I>name</I>[<I>subscript</I>]=<I>value</I>.  The
 <I>subscript</I>
 
 is treated as an arithmetic expression that must evaluate to a number
-greater than or equal to zero.  To explicitly declare an array, use
+greater than or equal to zero.  To explicitly declare an indexed array,
+use
 <B>declare -a </B><I>name</I>
 
 (see
@@ -2713,7 +2743,15 @@ greater than or equal to zero.  To explicitly declare an array, use
 below).
 <B>declare -a </B><I>name</I>[<I>subscript</I>]
 
-is also accepted; the <I>subscript</I> is ignored.  Attributes may be
+is also accepted; the <I>subscript</I> is ignored.
+<P>
+
+Associative arrays are created using
+<B>declare -A </B><I>name</I>.
+
+<P>
+
+Attributes may be
 specified for an array variable using the
 <B>declare</B>
 
@@ -2725,11 +2763,17 @@ builtins.  Each attribute applies to all members of an array.
 
 Arrays are assigned to using compound assignments of the form
 <I>name</I>=<B>(</B>value<I>1</I> ... value<I>n</I><B>)</B>, where each
-<I>value</I> is of the form [<I>subscript</I>]=<I>string</I>.  Only
-<I>string</I> is required.  If
-the optional brackets and subscript are supplied, that index is assigned to;
+<I>value</I> is of the form [<I>subscript</I>]=<I>string</I>.
+Indexed array assignments do not require the bracket and subscript.
+When assigning to indexed arrays, 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.
+<P>
+
+When assigning to an associative array, the subscript is required.
+<P>
+
 This syntax is also accepted by the
 <B>declare</B>
 
@@ -2764,7 +2808,7 @@ above).  ${#<I>name</I>[<I>subscript</I>]} expands to the length of
 ${<I>name</I>[<I>subscript</I>]}.  If <I>subscript</I> is <B>*</B> or
 <B>@</B>, the expansion is the number of elements in the array.
 Referencing an array variable without a subscript is equivalent to
-referencing element zero.
+referencing the array with a subscript of 0.
 <P>
 
 The
@@ -2790,7 +2834,11 @@ and
 builtins each accept a
 <B>-a</B>
 
-option to specify an array.  The
+option to specify an indexed array and a
+<B>-A</B>
+
+option to specify an associative array.
+The
 <B>read</B>
 
 builtin accepts a
@@ -3166,11 +3214,13 @@ If <I>offset</I> evaluates to a number less than zero, the value
 is used as an offset from the end of the value of <I>parameter</I>.
 If <I>parameter</I> is <B>@</B>, the result is <I>length</I> positional
 parameters beginning at <I>offset</I>.
-If <I>parameter</I> is an array name indexed by @ or *,
+If <I>parameter</I> is an indexed array name subscripted by @ or *,
 the result is the <I>length</I>
 members of the array beginning with ${<I>parameter</I>[<I>offset</I>]}.
 A negative <I>offset</I> is taken relative to one greater than the maximum
 index of the specified array.
+Substring expansion applied to an associative array produces undefined
+results.
 Note that a negative offset must be separated from the colon by at least
 one space to avoid being confused with the :- expansion.
 Substring indexing is zero-based unless the positional parameters 
@@ -3331,6 +3381,45 @@ or
 
 the substitution operation is applied to each member of the
 array in turn, and the expansion is the resultant list.
+<DT>${<I>parameter</I><B>^</B><I>pattern</I>}<DD>
+
+<DT>${<I>parameter</I><B>^^</B><I>pattern</I>}<DD>
+<DT>${<I>parameter</I><B>,</B><I>pattern</I>}<DD>
+<DT>${<I>parameter</I><B>,,</B><I>pattern</I>}<DD>
+
+This expansion modifies the case of alphabetic characters in <I>parameter</I>.
+The <I>pattern</I> is expanded to produce a pattern just as in
+pathname expansion.
+The <B>^</B> operator converts lowercase letters matching <I>pattern</I>
+to uppercase; the <B>,</B> operator converts matching uppercase letters
+to lowercase.
+The <B>^^</B> and <B>,,</B> expansions convert each matched character in the
+expanded value; the <B>^</B> and <B>,</B> expansions match and convert only
+the first character.
+If <I>pattern</I> is omitted, it is treated like a <B>?</B>, which matches
+every character.
+If
+<I>parameter</I>
+
+is
+<B>@</B>
+
+or
+<B>*</B>,
+
+the case modification operation is applied to each positional
+parameter in turn, and the expansion is the resultant list.
+If
+<I>parameter</I>
+
+is an array variable subscripted with
+<B>@</B>
+
+or
+<B>*</B>,
+
+the case modification operation is applied to each member of the
+array in turn, and the expansion is the resultant list.
 </DL>
 <A NAME="lbBB">&nbsp;</A>
 <H4>Command Substitution</H4>
@@ -5477,6 +5566,8 @@ The
 may be referenced using
 <B>%-</B>.
 
+If there is only a single job, <B>%+</B> and <B>%-</B> can both be used
+to refer to that job.
 In output pertaining to jobs (e.g., the output of the
 <B>jobs</B>
 
@@ -5645,6 +5736,7 @@ the release of <B>bash</B>, version + patch level (e.g., 2.00.0)
 
 <DD>
 the current working directory, with <B>$HOME</B> abbreviated with a tilde
+(uses the <B>$PROMPT_DIRTRIM</B> variable)
 <DT><B>\W</B>
 
 <DD>
@@ -8525,9 +8617,9 @@ must be >= 1.  If
 is greater than the number of enclosing loops, the last enclosing loop
 (the ``top-level'' loop) is resumed.
 The return value is 0 unless <I>n</I> is not greater than or equal to 1.
-<DT><B>declare</B> [<B>-afFirtx</B>] [<B>-p</B>] [<I>name</I>[=<I>value</I>] ...]<DD>
+<DT><B>declare</B> [<B>-aAfFirtx</B>] [<B>-p</B>] [<I>name</I>[=<I>value</I>] ...]<DD>
 
-<DT><B>typeset</B> [<B>-afFirtx</B>] [<B>-p</B>] [<I>name</I>[=<I>value</I>] ...]<DD>
+<DT><B>typeset</B> [<B>-aAfFirtx</B>] [<B>-p</B>] [<I>name</I>[=<I>value</I>] ...]<DD>
 
 Declare variables and/or give them attributes.
 If no <I>name</I>s are given then display the values of variables.
@@ -8572,7 +8664,14 @@ to give variables attributes:
 <DT><B>-a</B>
 
 <DD>
-Each <I>name</I> is an array variable (see
+Each <I>name</I> is an indexed array variable (see
+<B>Arrays</B>
+
+above).
+<DT><B>-A</B>
+
+<DD>
+Each <I>name</I> is an associative array variable (see
 <B>Arrays</B>
 
 above).
@@ -9588,8 +9687,7 @@ is supplied, or
 
 <DD>
 Exit a login shell.
-<DT><B>mapfile</B> [<B>-n</B> <I>count</I>] [<B>-O</B> <I>origin</I>] [<B>-s</B> <I>cou<DD>
-nt</I>] [<B>-t</B>] [<B>-u</B> <I>fd</I>] [<B>-C</B> <I>callback</I>] [<B>-c</B> Iquantum] [<I>array</I>]
+<DT><B>mapfile</B> [<B>-n</B> <I>count</I>] [<B>-O</B> <I>origin</I>] [<B>-s</B> <I>count</I>] [<B>-t</B>] [<B>-u</B> <I>fd</I>] [<B>-C</B> <I>callback</I>] [<B>-c</B> <I>quantum</I>] [<I>array</I>]<DD>
 Read lines from the standard input into array variable
 <I>array</I>,
 
@@ -9834,7 +9932,7 @@ 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.
-<DT><B>read</B> [<B>-ers</B>] [<B>-a</B> <I>aname</I>] [<B>-d</B> <I>delim</I>] [- <I>text</I>] [<B>-n</B> <I>nchars</I>] [<B>-p</B> <I>prompt</I>] [<B>-t</B> <I>timeout</I>] [<B>-u</B> <I>fd</I>] [<I>name</I> ...]<DD>
+<DT><B>read</B> [<B>-ers</B>] [<B>-a</B> <I>aname</I>] [<B>-d</B> <I>delim</I>] [<B>-</B> <I>text</I>] [<B>-n</B> <I>nchars</I>] [<B>-p</B> <I>prompt</I>] [<B>-t</B> <I>timeout</I>] [<B>-u</B> <I>fd</I>] [<I>name</I> ...]<DD>
 One line is read from the standard input, or from the file descriptor
 <I>fd</I> supplied as an argument to the <B>-u</B> option, and the first word
 is assigned to the first
@@ -9927,8 +10025,10 @@ Cause <B>read</B> to time out and return failure if a complete line of
 input is not read within <I>timeout</I> seconds.
 <I>timeout</I> may be a decimal number with a fractional portion following
 the decimal point.
-This option has no effect if <B>read</B> is not reading input from the
-terminal or a pipe.
+This option is only effective if <B>read</B> is reading input from a
+terminal, pipe, or other special file; it has no effect when reading
+from regular files.
+The exit status is greater than 128 if the timeout is exceeded.
 <DT><B>-u </B><I>fd</I>
 
 <DD>
@@ -9949,7 +10049,7 @@ times out, or an invalid file descriptor is supplied as the argument to
 <B>-u</B>.
 </DL>
 
-<DT><B>readonly</B> [<B>-apf</B>] [<I>name</I>[=<I>word</I>] ...]<DD>
+<DT><B>readonly</B> [<B>-aApf</B>] [<I>name</I>[=<I>word</I>] ...]<DD>
 
 The given
 <I>names</I> are marked readonly; the values of these
@@ -9965,7 +10065,10 @@ marked.
 The
 <B>-a</B>
 
-option restricts the variables to arrays.
+option restricts the variables to indexed arrays; the
+<B>-A</B>
+
+option restricts the variables to associative arrays.
 If no
 <I>name</I>
 
@@ -10925,12 +11028,11 @@ Suspend the execution of this shell until it receives a
 <FONT SIZE=-1><B>SIGCONT</B>
 
 </FONT>
-signal.  The
+signal.  A login shell cannot be suspended; the
 <B>-f</B>
 
-option says not to complain if this is 
-a login shell; just suspend anyway.  The return status is 0 unless
-the shell is a login shell and
+option can be used to override this and force the suspension.
+The return status is 0 unless the shell is a login shell and
 <B>-f</B>
 
 is not supplied, or if job control is not enabled.
@@ -11823,7 +11925,7 @@ Array variables may not (yet) be exported.
 <HR>
 <TABLE WIDTH=100%>
 <TR>
-<TH ALIGN=LEFT width=33%>GNU Bash-4.0<TH ALIGN=CENTER width=33%>2008 May 25<TH ALIGN=RIGHT width=33%>BASH(1)
+<TH ALIGN=LEFT width=33%>GNU Bash-4.0<TH ALIGN=CENTER width=33%>2008 June 29<TH ALIGN=RIGHT width=33%>BASH(1)
 </TR>
 </TABLE>
 <HR>
@@ -11928,6 +12030,6 @@ Array variables may not (yet) be exported.
 </DL>
 <HR>
 This document was created by man2html from bash.1.<BR>
-Time: 29 May 2008 11:48:48 EDT
+Time: 02 July 2008 09:08:29 EDT
 </BODY>
 </HTML>
index 13481655ce225e29a26de1246bc6b8243831d931..62e4aefce348a3d16b7ad2a54620abc89426cf29 100644 (file)
Binary files a/doc/bash.pdf and b/doc/bash.pdf differ
index 32982e94cca35dbf4be8d6a57e4ffbc5d1135c04..38148bd4faad2cb754b60b241451c65be5e08148 100644 (file)
@@ -1,6 +1,6 @@
 %!PS-Adobe-3.0
 %%Creator: groff version 1.19.2
-%%CreationDate: Thu May 29 11:48:42 2008
+%%CreationDate: Wed Jul  2 09:08:25 2008
 %%DocumentNeededResources: font Times-Roman
 %%+ font Times-Bold
 %%+ font Times-Italic
@@ -331,7 +331,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-4.0)72 768 Q(2008 May 25)147.345 E(1)202.335 E 0 Cg EP
+(GNU Bash-4.0)72 768 Q(2008 June 29)147.345 E(1)202.335 E 0 Cg EP
 %%Page: 2 2
 %%BeginPageSetup
 BP
@@ -453,7 +453,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-4.0)72
-768 Q(2008 May 25)147.345 E(2)202.335 E 0 Cg EP
+768 Q(2008 June 29)147.345 E(2)202.335 E 0 Cg EP
 %%Page: 3 3
 %%BeginPageSetup
 BP
@@ -579,7 +579,7 @@ F1(Pipelines)87 691.2 Q F0(A)108 703.2 Q F2(pipeline)2.996 E F0 .496(is\
  a sequence of one or more commands separated by one of the control ope\
 rators)2.996 F F1(|)2.996 E F0(or)2.996 E F1(|&)2.996 E F0 5.496(.T)C
 (he)-5.496 E(format for a pipeline is:)108 715.2 Q(GNU Bash-4.0)72 768 Q
-(2008 May 25)147.345 E(3)202.335 E 0 Cg EP
+(2008 June 29)147.345 E(3)202.335 E 0 Cg EP
 %%Page: 4 4
 %%BeginPageSetup
 BP
@@ -699,7 +699,7 @@ E(\(\()108 703.2 Q F2 -.2(ex)C(pr).2 E(ession)-.37 E F0(\)\))A(The)144
 (A-)-.54 E(TION)144 727.2 Q/F5 9/Times-Roman@0 SF(.)A F0 .411(If the v)
 4.911 F .411(alue of the e)-.25 F .411(xpression is non-zero, the retur\
 n status is 0; otherwise the return status)-.15 F(GNU Bash-4.0)72 768 Q
-(2008 May 25)147.345 E(4)202.335 E 0 Cg EP
+(2008 June 29)147.345 E(4)202.335 E 0 Cg EP
 %%Page: 5 5
 %%BeginPageSetup
 BP
@@ -833,7 +833,7 @@ F2(list)3.092 E F0 .592(is e)3.092 F -.15(xe)-.15 G .592
 (list)2.728 E F0 .228(that is e)2.728 F -.15(xe)-.15 G .228(cuted, or f)
 .15 F .228(alse if an)-.1 F 2.728(yo)-.15 G 2.728(ft)-2.728 G(he)-2.728
 E -.15(ex)144 715.2 S(pressions is in).15 E -.25(va)-.4 G(lid.).25 E
-(GNU Bash-4.0)72 768 Q(2008 May 25)147.345 E(5)202.335 E 0 Cg EP
+(GNU Bash-4.0)72 768 Q(2008 June 29)147.345 E(5)202.335 E 0 Cg EP
 %%Page: 6 6
 %%BeginPageSetup
 BP
@@ -986,7 +986,7 @@ F0 -.2(bu)108 724.8 S .951(iltin is enabled \(see).2 F F3 .952(SHELL B)
 3.451 F(UIL)-.09 E .952(TIN COMMANDS)-.828 F F0(belo)3.202 E .952
 (w\), a w)-.25 F .952(ord be)-.1 F .952(ginning with)-.15 F F1(#)3.452 E
 F0 .952(causes that w)3.452 F(ord)-.1 E(GNU Bash-4.0)72 768 Q
-(2008 May 25)147.345 E(6)202.335 E 0 Cg EP
+(2008 June 29)147.345 E(6)202.335 E 0 Cg EP
 %%Page: 7 7
 %%BeginPageSetup
 BP
@@ -1102,7 +1102,7 @@ F0 .823(is a parameter denoted by a)3.503 F F3(name)3.323 E F0 5.823(.A)
 (e)-.18 E F0 -.2(bu)2.869 G .369(iltin command \(see).2 F F1(declar)
 2.869 E(e)-.18 E F0(belo)108 729.6 Q 2.5(wi)-.25 G(n)-2.5 E F4(SHELL B)
 2.5 E(UIL)-.09 E(TIN COMMANDS)-.828 E/F5 9/Times-Roman@0 SF(\).)A F0
-(GNU Bash-4.0)72 768 Q(2008 May 25)147.345 E(7)202.335 E 0 Cg EP
+(GNU Bash-4.0)72 768 Q(2008 June 29)147.345 E(7)202.335 E 0 Cg EP
 %%Page: 8 8
 %%BeginPageSetup
 BP
@@ -1158,6617 +1158,6714 @@ E F0(,)A F1(export)3.648 E F0(,)A F1 -.18(re)108 218.4 S(adonly).18 E F0
 .185(assignment \(see)108 283.2 R F1(Arrays)2.685 E F0(belo)2.685 E .185
 (w\), the v)-.25 F(ariable')-.25 E 2.685(sv)-.55 G .185
 (alue is not unset \(as it is when using =\), and ne)-2.935 F 2.686(wv)
--.25 G .186(alues are)-2.936 F .32(appended to the array be)108 295.2 R
-.32(ginning at one greater than the array')-.15 F 2.82(sm)-.55 G .32
-(aximum inde)-2.82 F 2.82(x. When)-.15 F .32(applied to a string-)2.82 F
--.25(va)108 307.2 S(lued v).25 E(ariable,)-.25 E F3(value)2.5 E F0(is e)
-2.5 E(xpanded and appended to the v)-.15 E(ariable')-.25 E 2.5(sv)-.55 G
-(alue.)-2.75 E F1 -.2(Po)87 324 S(sitional P).2 E(arameters)-.1 E F0(A)
-108 336 Q F3 .705(positional par)4.455 F(ameter)-.15 E F0 .706(is a par\
+-.25 G .186(alues are)-2.936 F 1.385(appended to the array be)108 295.2
+R 1.384(ginning at one greater than the array')-.15 F 3.884(sm)-.55 G
+1.384(aximum inde)-3.884 F 3.884(x\()-.15 G 1.384(for inde)-3.884 F -.15
+(xe)-.15 G 3.884(da).15 G 1.384(rrays\) or)-3.884 F .122
+(added as additional k)108 307.2 R -.15(ey)-.1 G<ad76>.15 E .122
+(alue pairs in an associati)-.25 F .423 -.15(ve a)-.25 H(rray).15 E
+5.123(.W)-.65 G .123(hen applied to a string-v)-5.123 F .123(alued v)
+-.25 F(ariable,)-.25 E F3(value)2.623 E F0(is e)108 319.2 Q
+(xpanded and appended to the v)-.15 E(ariable')-.25 E 2.5(sv)-.55 G
+(alue.)-2.75 E F1 -.2(Po)87 336 S(sitional P).2 E(arameters)-.1 E F0(A)
+108 348 Q F3 .706(positional par)4.456 F(ameter)-.15 E F0 .706(is a par\
 ameter denoted by one or more digits, other than the single digit 0.)
-3.935 F(Posi-)5.706 E .445
-(tional parameters are assigned from the shell')108 348 R 2.944(sa)-.55
+3.936 F(Posi-)5.705 E .444
+(tional parameters are assigned from the shell')108 360 R 2.944(sa)-.55
 G -.18(rg)-2.944 G .444(uments when it is in).18 F -.2(vo)-.4 G -.1(ke)
-.2 G .444(d, and may be reassigned using).1 F(the)108 360 Q F1(set)3.333
-E F0 -.2(bu)3.333 G .833(iltin command.).2 F .834(Positional parameters\
- may not be assigned to with assignment statements.)5.833 F(The)5.834 E
+.2 G .445(d, and may be reassigned using).1 F(the)108 372 Q F1(set)3.334
+E F0 -.2(bu)3.334 G .834(iltin command.).2 F .833(Positional parameters\
+ may not be assigned to with assignment statements.)5.834 F(The)5.833 E
 .334(positional parameters are temporarily replaced when a shell functi\
-on is e)108 372 R -.15(xe)-.15 G .333(cuted \(see).15 F F2(FUNCTIONS)
-2.833 E F0(belo)2.583 E(w\).)-.25 E 1.403(When a positional parameter c\
-onsisting of more than a single digit is e)108 388.8 R 1.404
-(xpanded, it must be enclosed in)-.15 F(braces \(see)108 400.8 Q F2(EXP)
-2.5 E(ANSION)-.666 E F0(belo)2.25 E(w\).)-.25 E F1(Special P)87 417.6 Q
-(arameters)-.1 E F0 1.675(The shell treats se)108 429.6 R -.15(ve)-.25 G
-1.675(ral parameters specially).15 F 6.675(.T)-.65 G 1.674
+on is e)108 384 R -.15(xe)-.15 G .334(cuted \(see).15 F F2(FUNCTIONS)
+2.834 E F0(belo)2.584 E(w\).)-.25 E 1.404(When a positional parameter c\
+onsisting of more than a single digit is e)108 400.8 R 1.403
+(xpanded, it must be enclosed in)-.15 F(braces \(see)108 412.8 Q F2(EXP)
+2.5 E(ANSION)-.666 E F0(belo)2.25 E(w\).)-.25 E F1(Special P)87 429.6 Q
+(arameters)-.1 E F0 1.674(The shell treats se)108 441.6 R -.15(ve)-.25 G
+1.674(ral parameters specially).15 F 6.675(.T)-.65 G 1.675
 (hese parameters may only be referenced; assignment to)-6.675 F
-(them is not allo)108 441.6 Q(wed.)-.25 E F1(*)108 453.6 Q F0 .605
-(Expands to the positional parameters, starting from one.)31 F .606
-(When the e)5.605 F .606(xpansion occurs within dou-)-.15 F .084
-(ble quotes, it e)144 465.6 R .084(xpands to a single w)-.15 F .084
+(them is not allo)108 453.6 Q(wed.)-.25 E F1(*)108 465.6 Q F0 .606
+(Expands to the positional parameters, starting from one.)31 F .605
+(When the e)5.605 F .605(xpansion occurs within dou-)-.15 F .083
+(ble quotes, it e)144 477.6 R .084(xpands to a single w)-.15 F .084
 (ord with the v)-.1 F .084
 (alue of each parameter separated by the \214rst char)-.25 F(-)-.2 E
-.003(acter of the)144 477.6 R F2(IFS)2.503 E F0 .003(special v)2.253 F
+.004(acter of the)144 489.6 R F2(IFS)2.503 E F0 .003(special v)2.253 F
 2.503(ariable. That)-.25 F .003(is, ")2.503 F F1($*)A F0 2.503("i)C
 2.503(se)-2.503 G(qui)-2.503 E -.25(va)-.25 G .003(lent to ").25 F F1
 ($1)A F3(c)A F1($2)A F3(c)A F1(...)A F0 .003(", where)B F3(c)2.703 E F0
-.004(is the \214rst char)2.813 F(-)-.2 E .769(acter of the v)144 489.6 R
-.769(alue of the)-.25 F F2(IFS)3.269 E F0 -.25(va)3.019 G 3.269
-(riable. If).25 F F2(IFS)3.268 E F0 .768
-(is unset, the parameters are separated by spaces.)3.018 F(If)5.768 E F2
-(IFS)144 501.6 Q F0(is null, the parameters are joined without interv)
-2.25 E(ening separators.)-.15 E F1(@)108 513.6 Q F0 .605
-(Expands to the positional parameters, starting from one.)26.7 F .606
-(When the e)5.605 F .606(xpansion occurs within dou-)-.15 F .114
-(ble quotes, each parameter e)144 525.6 R .114(xpands to a separate w)
--.15 F 2.614(ord. That)-.1 F .113(is, ")2.613 F F1($@)A F0 2.613("i)C
-2.613(se)-2.613 G(qui)-2.613 E -.25(va)-.25 G .113(lent to ").25 F F1
-($1)A F0 2.613("")C F1($2)-2.613 E F0 2.613(".)C(..)-2.613 E .134
-(If the double-quoted e)144 537.6 R .134(xpansion occurs within a w)-.15
-F .135(ord, the e)-.1 F .135
-(xpansion of the \214rst parameter is joined)-.15 F .151(with the be)144
-549.6 R .151(ginning part of the original w)-.15 F .151(ord, and the e)
--.1 F .15(xpansion of the last parameter is joined with)-.15 F .337
-(the last part of the original w)144 561.6 R 2.837(ord. When)-.1 F .338
-(there are no positional parameters, ")2.837 F F1($@)A F0 2.838("a)C(nd)
--2.838 E F1($@)2.838 E F0 -.15(ex)2.838 G(pand).15 E
-(to nothing \(i.e., the)144 573.6 Q 2.5(ya)-.15 G(re remo)-2.5 E -.15
-(ve)-.15 G(d\).).15 E F1(#)108 585.6 Q F0
+.003(is the \214rst char)2.813 F(-)-.2 E .768(acter of the v)144 501.6 R
+.768(alue of the)-.25 F F2(IFS)3.268 E F0 -.25(va)3.018 G 3.268
+(riable. If).25 F F2(IFS)3.268 E F0 .769
+(is unset, the parameters are separated by spaces.)3.018 F(If)5.769 E F2
+(IFS)144 513.6 Q F0(is null, the parameters are joined without interv)
+2.25 E(ening separators.)-.15 E F1(@)108 525.6 Q F0 .606
+(Expands to the positional parameters, starting from one.)26.7 F .605
+(When the e)5.605 F .605(xpansion occurs within dou-)-.15 F .113
+(ble quotes, each parameter e)144 537.6 R .113(xpands to a separate w)
+-.15 F 2.614(ord. That)-.1 F .114(is, ")2.614 F F1($@)A F0 2.614("i)C
+2.614(se)-2.614 G(qui)-2.614 E -.25(va)-.25 G .114(lent to ").25 F F1
+($1)A F0 2.614("")C F1($2)-2.614 E F0 2.614(".)C(..)-2.614 E .135
+(If the double-quoted e)144 549.6 R .135(xpansion occurs within a w)-.15
+F .135(ord, the e)-.1 F .134
+(xpansion of the \214rst parameter is joined)-.15 F .15(with the be)144
+561.6 R .15(ginning part of the original w)-.15 F .151(ord, and the e)
+-.1 F .151(xpansion of the last parameter is joined with)-.15 F .338
+(the last part of the original w)144 573.6 R 2.838(ord. When)-.1 F .337
+(there are no positional parameters, ")2.838 F F1($@)A F0 2.837("a)C(nd)
+-2.837 E F1($@)2.837 E F0 -.15(ex)2.837 G(pand).15 E
+(to nothing \(i.e., the)144 585.6 Q 2.5(ya)-.15 G(re remo)-2.5 E -.15
+(ve)-.15 G(d\).).15 E F1(#)108 597.6 Q F0
 (Expands to the number of positional parameters in decimal.)31 E F1(?)
-108 597.6 Q F0(Expands to the e)31 E(xit status of the most recently e)
+108 609.6 Q F0(Expands to the e)31 E(xit status of the most recently e)
 -.15 E -.15(xe)-.15 G(cuted fore).15 E(ground pipeline.)-.15 E F1<ad>108
-609.6 Q F0 .882
+621.6 Q F0 .881
 (Expands to the current option \215ags as speci\214ed upon in)30.3 F -.2
-(vo)-.4 G .881(cation, by the).2 F F1(set)3.381 E F0 -.2(bu)3.381 G .881
+(vo)-.4 G .881(cation, by the).2 F F1(set)3.382 E F0 -.2(bu)3.382 G .882
 (iltin command, or).2 F(those set by the shell itself \(such as the)144
-621.6 Q F1<ad69>2.5 E F0(option\).)2.5 E F1($)108 633.6 Q F0 .214
+633.6 Q F1<ad69>2.5 E F0(option\).)2.5 E F1($)108 645.6 Q F0 .214
 (Expands to the process ID of the shell.)31 F .214
 (In a \(\) subshell, it e)5.214 F .214
 (xpands to the process ID of the current)-.15 F
-(shell, not the subshell.)144 645.6 Q F1(!)108 657.6 Q F0
+(shell, not the subshell.)144 657.6 Q F1(!)108 669.6 Q F0
 (Expands to the process ID of the most recently e)32.67 E -.15(xe)-.15 G
-(cuted background \(asynchronous\) command.).15 E F1(0)108 669.6 Q F0
-1.692(Expands to the name of the shell or shell script.)31 F 1.691
-(This is set at shell initialization.)6.692 F(If)6.691 E F1(bash)4.191 E
-F0(is)4.191 E(in)144 681.6 Q -.2(vo)-.4 G -.1(ke).2 G 3.077(dw).1 G .577
-(ith a \214le of commands,)-3.077 F F1($0)3.077 E F0 .578
-(is set to the name of that \214le.)3.077 F(If)5.578 E F1(bash)3.078 E
-F0 .578(is started with the)3.078 F F1<ad63>3.078 E F0 .369
-(option, then)144 693.6 R F1($0)2.869 E F0 .369
+(cuted background \(asynchronous\) command.).15 E F1(0)108 681.6 Q F0
+1.691(Expands to the name of the shell or shell script.)31 F 1.692
+(This is set at shell initialization.)6.692 F(If)6.692 E F1(bash)4.192 E
+F0(is)4.192 E(in)144 693.6 Q -.2(vo)-.4 G -.1(ke).2 G 3.078(dw).1 G .578
+(ith a \214le of commands,)-3.078 F F1($0)3.078 E F0 .578
+(is set to the name of that \214le.)3.078 F(If)5.577 E F1(bash)3.077 E
+F0 .577(is started with the)3.077 F F1<ad63>3.077 E F0 .368
+(option, then)144 705.6 R F1($0)2.869 E F0 .369
 (is set to the \214rst ar)2.869 F .369(gument after the string to be e)
--.18 F -.15(xe)-.15 G .369(cuted, if one is present.).15 F(Other)5.368 E
-(-)-.2 E(wise, it is set to the \214le name used to in)144 705.6 Q -.2
+-.18 F -.15(xe)-.15 G .369(cuted, if one is present.).15 F(Other)5.369 E
+(-)-.2 E(wise, it is set to the \214le name used to in)144 717.6 Q -.2
 (vo)-.4 G -.1(ke).2 G F1(bash)2.6 E F0 2.5(,a)C 2.5(sg)-2.5 G -2.15 -.25
 (iv e)-2.5 H 2.5(nb).25 G 2.5(ya)-2.5 G -.18(rg)-2.5 G(ument zero.).18 E
-F1(_)108 717.6 Q F0 .054
-(At shell startup, set to the absolute pathname used to in)31 F -.2(vo)
--.4 G .255 -.1(ke t).2 H .055(he shell or shell script being e).1 F -.15
-(xe)-.15 G(cuted).15 E .692(as passed in the en)144 729.6 R .692
-(vironment or ar)-.4 F .691(gument list.)-.18 F(Subsequently)5.691 E
-3.191(,e)-.65 G .691(xpands to the last ar)-3.341 F .691(gument to the)
--.18 F(GNU Bash-4.0)72 768 Q(2008 May 25)147.345 E(8)202.335 E 0 Cg EP
+(GNU Bash-4.0)72 768 Q(2008 June 29)147.345 E(8)202.335 E 0 Cg EP
 %%Page: 9 9
 %%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(pre)144 84 Q .57(vious command, after e)-.25 F 3.07
+-.35 E/F1 10/Times-Bold@0 SF(_)108 84 Q F0 .055
+(At shell startup, set to the absolute pathname used to in)31 F -.2(vo)
+-.4 G .255 -.1(ke t).2 H .054(he shell or shell script being e).1 F -.15
+(xe)-.15 G(cuted).15 E .691(as passed in the en)144 96 R .691
+(vironment or ar)-.4 F .691(gument list.)-.18 F(Subsequently)5.691 E
+3.191(,e)-.65 G .692(xpands to the last ar)-3.341 F .692(gument to the)
+-.18 F(pre)144 108 Q .571(vious command, after e)-.25 F 3.071
 (xpansion. Also)-.15 F .571(set to the full pathname used to in)3.071 F
--.2(vo)-.4 G .771 -.1(ke e).2 H .571(ach command).1 F -.15(exe)144 96 S
+-.2(vo)-.4 G .77 -.1(ke e).2 H .57(ach command).1 F -.15(exe)144 120 S
 1.6(cuted and placed in the en).15 F 1.6(vironment e)-.4 F 1.6
 (xported to that command.)-.15 F 1.6(When checking mail, this)6.6 F
 (parameter holds the name of the mail \214le currently being check)144
-108 Q(ed.)-.1 E/F1 10/Times-Bold@0 SF(Shell V)87 124.8 Q(ariables)-.92 E
-F0(The follo)108 136.8 Q(wing v)-.25 E(ariables are set by the shell:)
--.25 E F1 -.3(BA)108 153.6 S(SH).3 E F0
-(Expands to the full \214le name used to in)9.07 E -.2(vo)-.4 G .2 -.1
-(ke t).2 H(his instance of).1 E F1(bash)2.5 E F0(.)A F1 -.3(BA)108 165.6
-S(SHPID).3 E F0 .36(Expands to the process id of the current)144 177.6 R
-F1(bash)2.861 E F0 2.861(process. This)2.861 F(dif)2.861 E .361
-(fers from)-.25 F F1($$)2.861 E F0 .361(under certain circum-)2.861 F
-(stances, such as subshells that do not require)144 189.6 Q F1(bash)2.5
-E F0(to be re-initialized.)2.5 E F1 -.3(BA)108 201.6 S(SH_ARGC).3 E F0
-.935(An array v)144 213.6 R .935(ariable whose v)-.25 F .934
+132 Q(ed.)-.1 E F1(Shell V)87 148.8 Q(ariables)-.92 E F0(The follo)108
+160.8 Q(wing v)-.25 E(ariables are set by the shell:)-.25 E F1 -.3(BA)
+108 177.6 S(SH).3 E F0(Expands to the full \214le name used to in)9.07 E
+-.2(vo)-.4 G .2 -.1(ke t).2 H(his instance of).1 E F1(bash)2.5 E F0(.)A
+F1 -.3(BA)108 189.6 S(SHPID).3 E F0 .361
+(Expands to the process id of the current)144 201.6 R F1(bash)2.861 E F0
+2.861(process. This)2.861 F(dif)2.86 E .36(fers from)-.25 F F1($$)2.86 E
+F0 .36(under certain circum-)2.86 F
+(stances, such as subshells that do not require)144 213.6 Q F1(bash)2.5
+E F0(to be re-initialized.)2.5 E F1 -.3(BA)108 225.6 S(SH_ALIASES).3 E
+F0 1.195(An associati)144 237.6 R 1.495 -.15(ve a)-.25 H 1.195(rray v)
+.15 F 1.195(ariable whose members correspond to the internal list of al\
+iases as main-)-.25 F .319(tained by the)144 249.6 R F1(alias)2.819 E F0
+-.2(bu)2.819 G .318(iltin Elements added to this array appear in the al\
+ias list; unsetting array ele-).2 F(ments cause aliases to be remo)144
+261.6 Q -.15(ve)-.15 G 2.5(df).15 G(rom the alias list.)-2.5 E F1 -.3
+(BA)108 273.6 S(SH_ARGC).3 E F0 .934(An array v)144 285.6 R .934
+(ariable whose v)-.25 F .934
 (alues are the number of parameters in each frame of the current)-.25 F
-F1(bash)3.434 E F0 -.15(exe)144 225.6 S .535(cution call stack.).15 F
+F1(bash)3.435 E F0 -.15(exe)144 297.6 S .535(cution call stack.).15 F
 .535(The number of parameters to the current subroutine \(shell functio\
-n or script)5.535 F -.15(exe)144 237.6 S .142(cuted with).15 F F1(.)
-2.642 E F0(or)2.642 E F1(sour)2.642 E(ce)-.18 E F0 2.642(\)i)C 2.642(sa)
--2.642 G 2.642(tt)-2.642 G .142(he top of the stack.)-2.642 F .141
-(When a subroutine is e)5.141 F -.15(xe)-.15 G .141
-(cuted, the number of).15 F 1.524(parameters passed is pushed onto)144
-249.6 R F1 -.3(BA)4.024 G(SH_ARGC).3 E F0 6.524(.T)C 1.524
-(he shell sets)-6.524 F F1 -.3(BA)4.024 G(SH_ARGC).3 E F0 1.525
-(only when in)4.024 F -.15(ex)144 261.6 S(tended deb).15 E
+n or script)5.535 F -.15(exe)144 309.6 S .141(cuted with).15 F F1(.)
+2.641 E F0(or)2.641 E F1(sour)2.641 E(ce)-.18 E F0 2.641(\)i)C 2.641(sa)
+-2.641 G 2.641(tt)-2.641 G .142(he top of the stack.)-2.641 F .142
+(When a subroutine is e)5.142 F -.15(xe)-.15 G .142
+(cuted, the number of).15 F 1.525(parameters passed is pushed onto)144
+321.6 R F1 -.3(BA)4.024 G(SH_ARGC).3 E F0 6.524(.T)C 1.524
+(he shell sets)-6.524 F F1 -.3(BA)4.024 G(SH_ARGC).3 E F0 1.524
+(only when in)4.024 F -.15(ex)144 333.6 S(tended deb).15 E
 (ugging mode \(see the description of the)-.2 E F1(extdeb)2.5 E(ug)-.2 E
 F0(option to the)2.5 E F1(shopt)2.5 E F0 -.2(bu)2.5 G(iltin belo).2 E
-(w\))-.25 E F1 -.3(BA)108 273.6 S(SH_ARGV).3 E F0 .98(An array v)144
-285.6 R .979(ariable containing all of the parameters in the current)
--.25 F F1(bash)3.479 E F0 -.15(exe)3.479 G .979(cution call stack.).15 F
-(The)5.979 E .275(\214nal parameter of the last subroutine call is at t\
-he top of the stack; the \214rst parameter of the initial)144 297.6 R
-1.424(call is at the bottom.)144 309.6 R 1.424(When a subroutine is e)
+(w\))-.25 E F1 -.3(BA)108 345.6 S(SH_ARGV).3 E F0 .979(An array v)144
+357.6 R .979(ariable containing all of the parameters in the current)
+-.25 F F1(bash)3.48 E F0 -.15(exe)3.48 G .98(cution call stack.).15 F
+(The)5.98 E .275(\214nal parameter of the last subroutine call is at th\
+e top of the stack; the \214rst parameter of the initial)144 369.6 R
+1.424(call is at the bottom.)144 381.6 R 1.424(When a subroutine is e)
 6.424 F -.15(xe)-.15 G 1.424
 (cuted, the parameters supplied are pushed onto).15 F F1 -.3(BA)144
-321.6 S(SH_ARGV).3 E F0 6.09(.T)C 1.09(he shell sets)-6.09 F F1 -.3(BA)
-3.591 G(SH_ARGV).3 E F0 1.091(only when in e)3.591 F 1.091(xtended deb)
--.15 F 1.091(ugging mode \(see the)-.2 F(description of the)144 333.6 Q
-F1(extdeb)2.5 E(ug)-.2 E F0(option to the)2.5 E F1(shopt)2.5 E F0 -.2
-(bu)2.5 G(iltin belo).2 E(w\))-.25 E F1 -.3(BA)108 345.6 S(SH_COMMAND).3
-E F0 1.243(The command currently being e)144 357.6 R -.15(xe)-.15 G
-1.243(cuted or about to be e).15 F -.15(xe)-.15 G 1.242
-(cuted, unless the shell is e).15 F -.15(xe)-.15 G 1.242(cuting a).15 F
+393.6 S(SH_ARGV).3 E F0 6.091(.T)C 1.091(he shell sets)-6.091 F F1 -.3
+(BA)3.591 G(SH_ARGV).3 E F0 1.091(only when in e)3.591 F 1.091
+(xtended deb)-.15 F 1.09(ugging mode \(see the)-.2 F(description of the)
+144 405.6 Q F1(extdeb)2.5 E(ug)-.2 E F0(option to the)2.5 E F1(shopt)2.5
+E F0 -.2(bu)2.5 G(iltin belo).2 E(w\))-.25 E F1 -.3(BA)108 417.6 S
+(SH_CMDS).3 E F0 .667(An associati)144 429.6 R .967 -.15(ve a)-.25 H
+.667(rray v).15 F .668(ariable whose members correspond to the internal\
+ hash table of commands)-.25 F .147(as maintained by the)144 441.6 R F1
+(hash)2.647 E F0 -.2(bu)2.646 G 2.646(iltin. Elements).2 F .146
+(added to this array appear in the hash table; unsetting)2.646 F
+(array elements cause commands to be remo)144 453.6 Q -.15(ve)-.15 G 2.5
+(df).15 G(rom the hash table.)-2.5 E F1 -.3(BA)108 465.6 S(SH_COMMAND).3
+E F0 1.242(The command currently being e)144 477.6 R -.15(xe)-.15 G
+1.243(cuted or about to be e).15 F -.15(xe)-.15 G 1.243
+(cuted, unless the shell is e).15 F -.15(xe)-.15 G 1.243(cuting a).15 F
 (command as the result of a trap, in which case it is the command e)144
-369.6 Q -.15(xe)-.15 G(cuting at the time of the trap.).15 E F1 -.3(BA)
-108 381.6 S(SH_EXECUTION_STRING).3 E F0(The command ar)144 393.6 Q
+489.6 Q -.15(xe)-.15 G(cuting at the time of the trap.).15 E F1 -.3(BA)
+108 501.6 S(SH_EXECUTION_STRING).3 E F0(The command ar)144 513.6 Q
 (gument to the)-.18 E F1<ad63>2.5 E F0(in)2.5 E -.2(vo)-.4 G
-(cation option.).2 E F1 -.3(BA)108 405.6 S(SH_LINENO).3 E F0 .034
-(An array v)144 417.6 R .034(ariable whose members are the line numbers\
- in source \214les corresponding to each mem-)-.25 F 2.945(ber of)144
-429.6 R F1(FUNCN)5.445 E(AME)-.2 E F0(.)A F1(${B)7.944 E(ASH_LINENO[)-.3
+(cation option.).2 E F1 -.3(BA)108 525.6 S(SH_LINENO).3 E F0 .034
+(An array v)144 537.6 R .034(ariable whose members are the line numbers\
+ in source \214les corresponding to each mem-)-.25 F 2.944(ber of)144
+549.6 R F1(FUNCN)5.444 E(AME)-.2 E F0(.)A F1(${B)7.944 E(ASH_LINENO[)-.3
 E/F2 10/Times-Italic@0 SF($i)A F1(]})A F0 2.944
 (is the line number in the source \214le where)5.444 F F1(${FUNCN)144
-441.6 Q(AME[)-.2 E F2($i)A F1(]})A F0 -.1(wa)3.311 G 3.311(sc).1 G .811
+561.6 Q(AME[)-.2 E F2($i)A F1(]})A F0 -.1(wa)3.312 G 3.311(sc).1 G .811
 (alled \(or)-3.311 F F1(${B)3.311 E(ASH_LINENO[)-.3 E F2($i-1)A F1(]})A
 F0 .811(if referenced within another shell)3.311 F 4.512
-(function\). The)144 453.6 R 2.012(corresponding source \214le name is)
+(function\). The)144 573.6 R 2.012(corresponding source \214le name is)
 4.512 F F1(${B)4.512 E(ASH_SOURCE[)-.3 E F2($i)A F1 4.512(]}. Use)B
-2.012(LINENO to)4.512 F(obtain the curr)144 465.6 Q(ent line number)-.18
-E(.)-1 E -.3(BA)108 477.6 S(SH_REMA).3 E(TCH)-.95 E F0 .005(An array v)
-144 489.6 R .005(ariable whose members are assigned by the)-.25 F F1(=~)
-2.506 E F0 .006(binary operator to the)2.506 F F1([[)2.506 E F0 .006
-(conditional com-)2.506 F 2.507(mand. The)144 501.6 R .007
-(element with inde)2.507 F 2.507(x0i)-.15 G 2.507(st)-2.507 G .007
-(he portion of the string matching the entire re)-2.507 F .006(gular e)
--.15 F(xpression.)-.15 E .997(The element with inde)144 513.6 R(x)-.15 E
-F2(n)3.497 E F0 .997(is the portion of the string matching the)3.497 F
-F2(n)3.498 E F0 .998(th parenthesized sube)B(xpres-)-.15 E 2.5
-(sion. This)144 525.6 R -.25(va)2.5 G(riable is read-only).25 E(.)-.65 E
-F1 -.3(BA)108 537.6 S(SH_SOURCE).3 E F0 .89(An array v)144 549.6 R .889
+2.012(LINENO to)4.512 F(obtain the curr)144 585.6 Q(ent line number)-.18
+E(.)-1 E -.3(BA)108 597.6 S(SH_REMA).3 E(TCH)-.95 E F0 .006(An array v)
+144 609.6 R .006(ariable whose members are assigned by the)-.25 F F1(=~)
+2.506 E F0 .005(binary operator to the)2.506 F F1([[)2.505 E F0 .005
+(conditional com-)2.505 F 2.506(mand. The)144 621.6 R .007
+(element with inde)2.506 F 2.507(x0i)-.15 G 2.507(st)-2.507 G .007
+(he portion of the string matching the entire re)-2.507 F .007(gular e)
+-.15 F(xpression.)-.15 E .998(The element with inde)144 633.6 R(x)-.15 E
+F2(n)3.498 E F0 .997(is the portion of the string matching the)3.498 F
+F2(n)3.497 E F0 .997(th parenthesized sube)B(xpres-)-.15 E 2.5
+(sion. This)144 645.6 R -.25(va)2.5 G(riable is read-only).25 E(.)-.65 E
+F1 -.3(BA)108 657.6 S(SH_SOURCE).3 E F0 .889(An array v)144 669.6 R .889
 (ariable whose members are the source \214lenames corresponding to the \
-elements in the)-.25 F F1(FUNCN)144 561.6 Q(AME)-.2 E F0(array v)2.5 E
-(ariable.)-.25 E F1 -.3(BA)108 573.6 S(SH_SUBSHELL).3 E F0 .401
-(Incremented by one each time a subshell or subshell en)144 585.6 R .401
-(vironment is spa)-.4 F 2.902(wned. The)-.15 F .402(initial v)2.902 F
-.402(alue is)-.25 F(0.)144 597.6 Q F1 -.3(BA)108 609.6 S(SH_VERSINFO).3
-E F0 2.645(Ar)144 621.6 S .145(eadonly array v)-2.645 F .144
-(ariable whose members hold v)-.25 F .144
-(ersion information for this instance of)-.15 F F1(bash)2.644 E F0 5.144
-(.T)C(he)-5.144 E -.25(va)144 633.6 S
-(lues assigned to the array members are as follo).25 E(ws:)-.25 E F1 -.3
-(BA)144 651.6 S(SH_VERSINFO[).3 E F0(0)A F1(])A F0(The major v)24.74 E
-(ersion number \(the)-.15 E F2 -.37(re)2.5 G(lease).37 E F0(\).)A F1 -.3
-(BA)144 663.6 S(SH_VERSINFO[).3 E F0(1)A F1(])A F0(The minor v)24.74 E
-(ersion number \(the)-.15 E F2(ver)2.5 E(sion)-.1 E F0(\).)A F1 -.3(BA)
-144 675.6 S(SH_VERSINFO[).3 E F0(2)A F1(])A F0(The patch le)24.74 E -.15
-(ve)-.25 G(l.).15 E F1 -.3(BA)144 687.6 S(SH_VERSINFO[).3 E F0(3)A F1(])
-A F0(The b)24.74 E(uild v)-.2 E(ersion.)-.15 E F1 -.3(BA)144 699.6 S
-(SH_VERSINFO[).3 E F0(4)A F1(])A F0(The release status \(e.g.,)24.74 E
-F2(beta1)2.5 E F0(\).)A F1 -.3(BA)144 711.6 S(SH_VERSINFO[).3 E F0(5)A
-F1(])A F0(The v)24.74 E(alue of)-.25 E F1(MA)2.5 E(CHTYPE)-.55 E F0(.)A
-(GNU Bash-4.0)72 768 Q(2008 May 25)147.345 E(9)202.335 E 0 Cg EP
+elements in the)-.25 F F1(FUNCN)144 681.6 Q(AME)-.2 E F0(array v)2.5 E
+(ariable.)-.25 E F1 -.3(BA)108 693.6 S(SH_SUBSHELL).3 E F0 .402
+(Incremented by one each time a subshell or subshell en)144 705.6 R .401
+(vironment is spa)-.4 F 2.901(wned. The)-.15 F .401(initial v)2.901 F
+.401(alue is)-.25 F(0.)144 717.6 Q(GNU Bash-4.0)72 768 Q(2008 June 29)
+147.345 E(9)202.335 E 0 Cg EP
 %%Page: 10 10
 %%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 -.3(BA)108 84 S(SH_VERSION).3 E F0
-(Expands to a string describing the v)144 96 Q
+-.35 E/F1 10/Times-Bold@0 SF -.3(BA)108 84 S(SH_VERSINFO).3 E F0 2.644
+(Ar)144 96 S .144(eadonly array v)-2.644 F .144
+(ariable whose members hold v)-.25 F .144
+(ersion information for this instance of)-.15 F F1(bash)2.645 E F0 5.145
+(.T)C(he)-5.145 E -.25(va)144 108 S
+(lues assigned to the array members are as follo).25 E(ws:)-.25 E F1 -.3
+(BA)144 126 S(SH_VERSINFO[).3 E F0(0)A F1(])A F0(The major v)24.74 E
+(ersion number \(the)-.15 E/F2 10/Times-Italic@0 SF -.37(re)2.5 G(lease)
+.37 E F0(\).)A F1 -.3(BA)144 138 S(SH_VERSINFO[).3 E F0(1)A F1(])A F0
+(The minor v)24.74 E(ersion number \(the)-.15 E F2(ver)2.5 E(sion)-.1 E
+F0(\).)A F1 -.3(BA)144 150 S(SH_VERSINFO[).3 E F0(2)A F1(])A F0
+(The patch le)24.74 E -.15(ve)-.25 G(l.).15 E F1 -.3(BA)144 162 S
+(SH_VERSINFO[).3 E F0(3)A F1(])A F0(The b)24.74 E(uild v)-.2 E(ersion.)
+-.15 E F1 -.3(BA)144 174 S(SH_VERSINFO[).3 E F0(4)A F1(])A F0
+(The release status \(e.g.,)24.74 E F2(beta1)2.5 E F0(\).)A F1 -.3(BA)
+144 186 S(SH_VERSINFO[).3 E F0(5)A F1(])A F0(The v)24.74 E(alue of)-.25
+E F1(MA)2.5 E(CHTYPE)-.55 E F0(.)A F1 -.3(BA)108 202.8 S(SH_VERSION).3 E
+F0(Expands to a string describing the v)144 214.8 Q
 (ersion of this instance of)-.15 E F1(bash)2.5 E F0(.)A F1(COMP_CW)108
-112.8 Q(ORD)-.1 E F0 .396(An inde)144 124.8 R 2.896(xi)-.15 G(nto)-2.896
+231.6 Q(ORD)-.1 E F0 .397(An inde)144 243.6 R 2.897(xi)-.15 G(nto)-2.897
 E F1(${COMP_W)2.896 E(ORDS})-.1 E F0 .396(of the w)2.896 F .396
-(ord containing the current cursor position.)-.1 F .397(This v)5.397 F
-(ari-)-.25 E 1.181(able is a)144 136.8 R -.25(va)-.2 G 1.181
+(ord containing the current cursor position.)-.1 F .396(This v)5.396 F
+(ari-)-.25 E 1.18(able is a)144 255.6 R -.25(va)-.2 G 1.181
 (ilable only in shell functions in).25 F -.2(vo)-.4 G -.1(ke).2 G 3.681
-(db).1 G 3.681(yt)-3.681 G 1.18(he programmable completion f)-3.681 F
-1.18(acilities \(see)-.1 F F1(Pr)144 148.8 Q(ogrammable Completion)-.18
-E F0(belo)2.5 E(w\).)-.25 E F1(COMP_KEY)108 165.6 Q F0(The k)144 177.6 Q
+(db).1 G 3.681(yt)-3.681 G 1.181(he programmable completion f)-3.681 F
+1.181(acilities \(see)-.1 F F1(Pr)144 267.6 Q(ogrammable Completion)-.18
+E F0(belo)2.5 E(w\).)-.25 E F1(COMP_KEY)108 284.4 Q F0(The k)144 296.4 Q
 .3 -.15(ey \()-.1 H(or \214nal k).15 E .3 -.15(ey o)-.1 H 2.5(fak).15 G
 .3 -.15(ey s)-2.6 H(equence\) used to in).15 E -.2(vo)-.4 G .2 -.1(ke t)
-.2 H(he current completion function.).1 E F1(COMP_LINE)108 194.4 Q F0
-1.207(The current command line.)144 206.4 R 1.208(This v)6.208 F 1.208
+.2 H(he current completion function.).1 E F1(COMP_LINE)108 313.2 Q F0
+1.208(The current command line.)144 325.2 R 1.208(This v)6.208 F 1.208
 (ariable is a)-.25 F -.25(va)-.2 G 1.208
-(ilable only in shell functions and e).25 F 1.208(xternal com-)-.15 F
-2.849(mands in)144 218.4 R -.2(vo)-.4 G -.1(ke).2 G 5.349(db).1 G 5.349
+(ilable only in shell functions and e).25 F 1.207(xternal com-)-.15 F
+2.848(mands in)144 337.2 R -.2(vo)-.4 G -.1(ke).2 G 5.349(db).1 G 5.349
 (yt)-5.349 G 2.849(he programmable completion f)-5.349 F 2.849
-(acilities \(see)-.1 F F1(Pr)5.349 E 2.848(ogrammable Completion)-.18 F
-F0(belo)144 230.4 Q(w\).)-.25 E F1(COMP_POINT)108 247.2 Q F0 .666
-(The inde)144 259.2 R 3.166(xo)-.15 G 3.166(ft)-3.166 G .666
-(he current cursor position relati)-3.166 F .966 -.15(ve t)-.25 H 3.166
+(acilities \(see)-.1 F F1(Pr)5.349 E 2.849(ogrammable Completion)-.18 F
+F0(belo)144 349.2 Q(w\).)-.25 E F1(COMP_POINT)108 366 Q F0 .667
+(The inde)144 378 R 3.167(xo)-.15 G 3.167(ft)-3.167 G .666
+(he current cursor position relati)-3.167 F .966 -.15(ve t)-.25 H 3.166
 (ot).15 G .666(he be)-3.166 F .666(ginning of the current command.)-.15
-F .667(If the)5.667 F .535
+F .666(If the)5.666 F .534
 (current cursor position is at the end of the current command, the v)144
-271.2 R .534(alue of this v)-.25 F .534(ariable is equal to)-.25 F F1
-(${#COMP_LINE})144 283.2 Q F0 7.005(.T)C 2.005(his v)-7.005 F 2.005
-(ariable is a)-.25 F -.25(va)-.2 G 2.006
-(ilable only in shell functions and e).25 F 2.006(xternal commands)-.15
-F(in)144 295.2 Q -.2(vo)-.4 G -.1(ke).2 G 2.5(db).1 G 2.5(yt)-2.5 G
+390 R .535(alue of this v)-.25 F .535(ariable is equal to)-.25 F F1
+(${#COMP_LINE})144 402 Q F0 7.006(.T)C 2.006(his v)-7.006 F 2.006
+(ariable is a)-.25 F -.25(va)-.2 G 2.005
+(ilable only in shell functions and e).25 F 2.005(xternal commands)-.15
+F(in)144 414 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 F1(COMP_TYPE)108
-312 Q F0 .042(Set to an inte)144 324 R .042(ger v)-.15 F .041(alue corr\
-esponding to the type of completion attempted that caused a completion)
--.25 F .337(function to be called:)144 336 R/F2 10/Times-Italic@0 SF -.5
-(TA)2.837 G(B).5 E F0 2.837(,f)C .337(or normal completion,)-2.837 F F2
-(?)2.837 E F0 2.837(,f)C .337(or listing completions after successi)
--2.837 F .638 -.15(ve t)-.25 H(abs,).15 E F2(!)144 348 Q F0 4.092(,f)C
-1.592(or listing alternati)-4.092 F -.15(ve)-.25 G 4.092(so).15 G 4.092
-(np)-4.092 G 1.592(artial w)-4.092 F 1.592(ord completion,)-.1 F F2(@)
-4.092 E F0 4.092(,t)C 4.092(ol)-4.092 G 1.592(ist completions if the w)
--4.092 F 1.591(ord is not)-.1 F 1.552(unmodi\214ed, or)144 360 R F2(%)
-4.052 E F0 4.052(,f)C 1.552(or menu completion.)-4.052 F 1.552(This v)
-6.552 F 1.552(ariable is a)-.25 F -.25(va)-.2 G 1.552
-(ilable only in shell functions and).25 F -.15(ex)144 372 S 2.929
+430.8 Q F0 .041(Set to an inte)144 442.8 R .041(ger v)-.15 F .041(alue \
+corresponding to the type of completion attempted that caused a complet\
+ion)-.25 F .338(function to be called:)144 454.8 R F2 -.5(TA)2.837 G(B)
+.5 E F0 2.837(,f)C .337(or normal completion,)-2.837 F F2(?)2.837 E F0
+2.837(,f)C .337(or listing completions after successi)-2.837 F .637 -.15
+(ve t)-.25 H(abs,).15 E F2(!)144 466.8 Q F0 4.091(,f)C 1.591
+(or listing alternati)-4.091 F -.15(ve)-.25 G 4.092(so).15 G 4.092(np)
+-4.092 G 1.592(artial w)-4.092 F 1.592(ord completion,)-.1 F F2(@)4.092
+E F0 4.092(,t)C 4.092(ol)-4.092 G 1.592(ist completions if the w)-4.092
+F 1.592(ord is not)-.1 F 1.553(unmodi\214ed, or)144 478.8 R F2(%)4.053 E
+F0 4.052(,f)C 1.552(or menu completion.)-4.052 F 1.552(This v)6.552 F
+1.552(ariable is a)-.25 F -.25(va)-.2 G 1.552
+(ilable only in shell functions and).25 F -.15(ex)144 490.8 S 2.928
 (ternal commands in).15 F -.2(vo)-.4 G -.1(ke).2 G 5.429(db).1 G 5.429
 (yt)-5.429 G 2.929(he programmable completion f)-5.429 F 2.929
-(acilities \(see)-.1 F F1(Pr)5.428 E(ogrammable)-.18 E(Completion)144
-384 Q F0(belo)2.5 E(w\).)-.25 E F1(COMP_W)108 400.8 Q(ORDBREAKS)-.1 E F0
-1.283(The set of characters that the Readline library treats as w)144
-412.8 R 1.284(ord separators when performing w)-.1 F(ord)-.1 E 3.126
-(completion. If)144 424.8 R/F3 9/Times-Bold@0 SF(COMP_W)3.126 E
+(acilities \(see)-.1 F F1(Pr)5.429 E(ogrammable)-.18 E(Completion)144
+502.8 Q F0(belo)2.5 E(w\).)-.25 E F1(COMP_W)108 519.6 Q(ORDBREAKS)-.1 E
+F0 1.284(The set of characters that the Readline library treats as w)144
+531.6 R 1.283(ord separators when performing w)-.1 F(ord)-.1 E 3.125
+(completion. If)144 543.6 R/F3 9/Times-Bold@0 SF(COMP_W)3.125 E
 (ORDBREAKS)-.09 E F0 .626(is unset, it loses its special properties, e)
-2.876 F -.15(ve)-.25 G 3.125(ni).15 G 3.125(fi)-3.125 G 3.125(ti)-3.125
-G 3.125(ss)-3.125 G(ubse-)-3.125 E(quently reset.)144 436.8 Q F1(COMP_W)
-108 453.6 Q(ORDS)-.1 E F0 .653(An array v)144 465.6 R .653
-(ariable \(see)-.25 F F1(Arrays)3.153 E F0(belo)3.153 E .654
-(w\) consisting of the indi)-.25 F .654(vidual w)-.25 F .654
-(ords in the current command)-.1 F 3.567(line. The)144 477.6 R -.1(wo)
-3.567 G 1.067
-(rds are split on shell metacharacters as the shell parser w).1 F 1.066
-(ould separate them.)-.1 F(This)6.066 E -.25(va)144 489.6 S .003
+2.875 F -.15(ve)-.25 G 3.126(ni).15 G 3.126(fi)-3.126 G 3.126(ti)-3.126
+G 3.126(ss)-3.126 G(ubse-)-3.126 E(quently reset.)144 555.6 Q F1(COMP_W)
+108 572.4 Q(ORDS)-.1 E F0 .654(An array v)144 584.4 R .654
+(ariable \(see)-.25 F F1(Arrays)3.154 E F0(belo)3.154 E .654
+(w\) consisting of the indi)-.25 F .653(vidual w)-.25 F .653
+(ords in the current command)-.1 F 3.566(line. The)144 596.4 R -.1(wo)
+3.566 G 1.067
+(rds are split on shell metacharacters as the shell parser w).1 F 1.067
+(ould separate them.)-.1 F(This)6.067 E -.25(va)144 608.4 S .004
 (riable is a).25 F -.25(va)-.2 G .004(ilable only in shell functions in)
 .25 F -.2(vo)-.4 G -.1(ke).2 G 2.504(db).1 G 2.504(yt)-2.504 G .004
-(he programmable completion f)-2.504 F .004(acilities \(see)-.1 F F1(Pr)
-144 501.6 Q(ogrammable Completion)-.18 E F0(belo)2.5 E(w\).)-.25 E F1
-(DIRST)108 518.4 Q -.55(AC)-.9 G(K).55 E F0 2.26(An array v)144 530.4 R
+(he programmable completion f)-2.504 F .003(acilities \(see)-.1 F F1(Pr)
+144 620.4 Q(ogrammable Completion)-.18 E F0(belo)2.5 E(w\).)-.25 E F1
+(DIRST)108 637.2 Q -.55(AC)-.9 G(K).55 E F0 2.26(An array v)144 649.2 R
 2.26(ariable \(see)-.25 F F1(Arrays)4.76 E F0(belo)4.76 E 2.26
 (w\) containing the current contents of the directory stack.)-.25 F
-1.094(Directories appear in the stack in the order the)144 542.4 R 3.594
-(ya)-.15 G 1.095(re displayed by the)-3.594 F F1(dirs)3.595 E F0 -.2(bu)
-3.595 G 3.595(iltin. Assigning).2 F(to)3.595 E 1.432
-(members of this array v)144 554.4 R 1.432
+1.095(Directories appear in the stack in the order the)144 661.2 R 3.594
+(ya)-.15 G 1.094(re displayed by the)-3.594 F F1(dirs)3.594 E F0 -.2(bu)
+3.594 G 3.594(iltin. Assigning).2 F(to)3.594 E 1.431
+(members of this array v)144 673.2 R 1.432
 (ariable may be used to modify directories already in the stack, b)-.25
-F 1.431(ut the)-.2 F F1(pushd)144 566.4 Q F0(and)2.746 E F1(popd)2.746 E
+F 1.432(ut the)-.2 F F1(pushd)144 685.2 Q F0(and)2.746 E F1(popd)2.746 E
 F0 -.2(bu)2.746 G .246(iltins must be used to add and remo).2 F .546
 -.15(ve d)-.15 H 2.746(irectories. Assignment).15 F .246(to this v)2.746
-F(ariable)-.25 E .351(will not change the current directory)144 578.4 R
+F(ariable)-.25 E .35(will not change the current directory)144 697.2 R
 5.35(.I)-.65 G(f)-5.35 E F3(DIRST)2.85 E -.495(AC)-.81 G(K).495 E F0 .35
-(is unset, it loses its special properties, e)2.6 F -.15(ve)-.25 G 2.85
-(ni).15 G(f)-2.85 E(it is subsequently reset.)144 590.4 Q F1(EUID)108
-607.2 Q F0 1.103(Expands to the ef)11 F(fecti)-.25 E 1.403 -.15(ve u)
--.25 H 1.103(ser ID of the current user).15 F 3.603(,i)-.4 G 1.103
-(nitialized at shell startup.)-3.603 F 1.104(This v)6.103 F 1.104
-(ariable is)-.25 F(readonly)144 619.2 Q(.)-.65 E F1(FUNCN)108 636 Q(AME)
--.2 E F0 .479(An array v)144 648 R .479
-(ariable containing the names of all shell functions currently in the e)
--.25 F -.15(xe)-.15 G .478(cution call stack.).15 F .276
-(The element with inde)144 660 R 2.776(x0i)-.15 G 2.776(st)-2.776 G .276
-(he name of an)-2.776 F 2.777(yc)-.15 G(urrently-e)-2.777 E -.15(xe)-.15
-G .277(cuting shell function.).15 F .277(The bottom-most)5.277 F .25
-(element is)144 672 R/F4 10/Courier@0 SF("main")2.75 E F0 5.25(.T)C .25
-(his v)-5.25 F .25(ariable e)-.25 F .25
-(xists only when a shell function is e)-.15 F -.15(xe)-.15 G 2.75
-(cuting. Assignments).15 F(to)2.75 E F3(FUNCN)144 684 Q(AME)-.18 E F0
-(ha)2.634 E .684 -.15(ve n)-.2 H 2.884(oe).15 G -.25(ff)-2.884 G .384
-(ect and return an error status.).25 F(If)5.385 E F3(FUNCN)2.885 E(AME)
--.18 E F0 .385(is unset, it loses its special)2.635 F(properties, e)144
-696 Q -.15(ve)-.25 G 2.5(ni).15 G 2.5(fi)-2.5 G 2.5(ti)-2.5 G 2.5(ss)
--2.5 G(ubsequently reset.)-2.5 E(GNU Bash-4.0)72 768 Q(2008 May 25)
-147.345 E(10)197.335 E 0 Cg EP
+(is unset, it loses its special properties, e)2.6 F -.15(ve)-.25 G 2.851
+(ni).15 G(f)-2.851 E(it is subsequently reset.)144 709.2 Q(GNU Bash-4.0)
+72 768 Q(2008 June 29)147.345 E(10)197.335 E 0 Cg EP
 %%Page: 11 11
 %%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(GR)108 84 Q(OUPS)-.3 E F0 1.229(An array v)
-144 96 R 1.228(ariable containing the list of groups of which the curre\
-nt user is a member)-.25 F 6.228(.A)-.55 G(ssign-)-6.228 E .596
-(ments to)144 108 R/F2 9/Times-Bold@0 SF(GR)3.096 E(OUPS)-.27 E F0(ha)
-2.847 E .897 -.15(ve n)-.2 H 3.097(oe).15 G -.25(ff)-3.097 G .597
-(ect and return an error status.).25 F(If)5.597 E F2(GR)3.097 E(OUPS)
--.27 E F0 .597(is unset, it loses its spe-)2.847 F(cial properties, e)
-144 120 Q -.15(ve)-.25 G 2.5(ni).15 G 2.5(fi)-2.5 G 2.5(ti)-2.5 G 2.5
-(ss)-2.5 G(ubsequently reset.)-2.5 E F1(HISTCMD)108 136.8 Q F0 .356
-(The history number)144 148.8 R 2.856(,o)-.4 G 2.856(ri)-2.856 G(nde)
--2.856 E 2.856(xi)-.15 G 2.856(nt)-2.856 G .356
-(he history list, of the current command.)-2.856 F(If)5.356 E F2
-(HISTCMD)2.855 E F0 .355(is unset, it)2.605 F
-(loses its special properties, e)144 160.8 Q -.15(ve)-.25 G 2.5(ni).15 G
+-.35 E/F1 10/Times-Bold@0 SF(EUID)108 84 Q F0 1.104(Expands to the ef)11
+F(fecti)-.25 E 1.403 -.15(ve u)-.25 H 1.103(ser ID of the current user)
+.15 F 3.603(,i)-.4 G 1.103(nitialized at shell startup.)-3.603 F 1.103
+(This v)6.103 F 1.103(ariable is)-.25 F(readonly)144 96 Q(.)-.65 E F1
+(FUNCN)108 112.8 Q(AME)-.2 E F0 .478(An array v)144 124.8 R .479
+(ariable containing the names of all shell functions currently in the e)
+-.25 F -.15(xe)-.15 G .479(cution call stack.).15 F .277
+(The element with inde)144 136.8 R 2.777(x0i)-.15 G 2.777(st)-2.777 G
+.276(he name of an)-2.777 F 2.776(yc)-.15 G(urrently-e)-2.776 E -.15(xe)
+-.15 G .276(cuting shell function.).15 F .276(The bottom-most)5.276 F
+.25(element is)144 148.8 R/F2 10/Courier@0 SF("main")2.75 E F0 5.25(.T)C
+.25(his v)-5.25 F .25(ariable e)-.25 F .25
+(xists only when a shell function is e)-.15 F -.15(xe)-.15 G 2.75
+(cuting. Assignments).15 F(to)2.75 E/F3 9/Times-Bold@0 SF(FUNCN)144
+160.8 Q(AME)-.18 E F0(ha)2.635 E .685 -.15(ve n)-.2 H 2.885(oe).15 G
+-.25(ff)-2.885 G .385(ect and return an error status.).25 F(If)5.385 E
+F3(FUNCN)2.885 E(AME)-.18 E F0 .384(is unset, it loses its special)2.634
+F(properties, e)144 172.8 Q -.15(ve)-.25 G 2.5(ni).15 G 2.5(fi)-2.5 G
+2.5(ti)-2.5 G 2.5(ss)-2.5 G(ubsequently reset.)-2.5 E F1(GR)108 189.6 Q
+(OUPS)-.3 E F0 1.228(An array v)144 201.6 R 1.228(ariable containing th\
+e list of groups of which the current user is a member)-.25 F 6.229(.A)
+-.55 G(ssign-)-6.229 E .597(ments to)144 213.6 R F3(GR)3.097 E(OUPS)-.27
+E F0(ha)2.847 E .897 -.15(ve n)-.2 H 3.097(oe).15 G -.25(ff)-3.097 G
+.597(ect and return an error status.).25 F(If)5.597 E F3(GR)3.097 E
+(OUPS)-.27 E F0 .597(is unset, it loses its spe-)2.847 F
+(cial properties, e)144 225.6 Q -.15(ve)-.25 G 2.5(ni).15 G 2.5(fi)-2.5
+G 2.5(ti)-2.5 G 2.5(ss)-2.5 G(ubsequently reset.)-2.5 E F1(HISTCMD)108
+242.4 Q F0 .355(The history number)144 254.4 R 2.855(,o)-.4 G 2.855(ri)
+-2.855 G(nde)-2.855 E 2.856(xi)-.15 G 2.856(nt)-2.856 G .356
+(he history list, of the current command.)-2.856 F(If)5.356 E F3
+(HISTCMD)2.856 E F0 .356(is unset, it)2.606 F
+(loses its special properties, e)144 266.4 Q -.15(ve)-.25 G 2.5(ni).15 G
 2.5(fi)-2.5 G 2.5(ti)-2.5 G 2.5(ss)-2.5 G(ubsequently reset.)-2.5 E F1
-(HOSTN)108 177.6 Q(AME)-.2 E F0
-(Automatically set to the name of the current host.)144 189.6 Q F1
-(HOSTTYPE)108 206.4 Q F0 .222(Automatically set to a string that unique\
-ly describes the type of machine on which)144 218.4 R F1(bash)2.723 E F0
-.223(is e)2.723 F -.15(xe)-.15 G(cut-).15 E 2.5(ing. The)144 230.4 R
-(def)2.5 E(ault is system-dependent.)-.1 E F1(LINENO)108 247.2 Q F0
-1.408(Each time this parameter is referenced, the shell substitutes a d\
-ecimal number representing the)144 259.2 R .078(current sequential line\
- number \(starting with 1\) within a script or function.)144 271.2 R
-.079(When not in a script or)5.078 F .307(function, the v)144 283.2 R
-.307(alue substituted is not guaranteed to be meaningful.)-.25 F(If)
-5.306 E F2(LINENO)2.806 E F0 .306(is unset, it loses its)2.556 F
-(special properties, e)144 295.2 Q -.15(ve)-.25 G 2.5(ni).15 G 2.5(fi)
+(HOSTN)108 283.2 Q(AME)-.2 E F0
+(Automatically set to the name of the current host.)144 295.2 Q F1
+(HOSTTYPE)108 312 Q F0 .223(Automatically set to a string that uniquely\
+ describes the type of machine on which)144 324 R F1(bash)2.722 E F0
+.222(is e)2.722 F -.15(xe)-.15 G(cut-).15 E 2.5(ing. The)144 336 R(def)
+2.5 E(ault is system-dependent.)-.1 E F1(LINENO)108 352.8 Q F0 1.408(Ea\
+ch time this parameter is referenced, the shell substitutes a decimal n\
+umber representing the)144 364.8 R .078(current sequential line number \
+\(starting with 1\) within a script or function.)144 376.8 R .078
+(When not in a script or)5.078 F .306(function, the v)144 388.8 R .306
+(alue substituted is not guaranteed to be meaningful.)-.25 F(If)5.307 E
+F3(LINENO)2.807 E F0 .307(is unset, it loses its)2.557 F
+(special properties, e)144 400.8 Q -.15(ve)-.25 G 2.5(ni).15 G 2.5(fi)
 -2.5 G 2.5(ti)-2.5 G 2.5(ss)-2.5 G(ubsequently reset.)-2.5 E F1(MA)108
-312 Q(CHTYPE)-.55 E F0 .898(Automatically set to a string that fully de\
-scribes the system type on which)144 324 R F1(bash)3.398 E F0 .899(is e)
-3.398 F -.15(xe)-.15 G .899(cuting, in).15 F(the standard GNU)144 336 Q
-/F3 10/Times-Italic@0 SF(cpu-company-system)2.5 E F0 2.5(format. The)2.5
-F(def)2.5 E(ault is system-dependent.)-.1 E F1(OLDPWD)108 352.8 Q F0
-(The pre)144 364.8 Q(vious w)-.25 E(orking directory as set by the)-.1 E
-F1(cd)2.5 E F0(command.)2.5 E F1(OPT)108 381.6 Q(ARG)-.9 E F0 1.627
-(The v)144 393.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 405.6 S(IL)
-.09 E(TIN COMMANDS)-.828 E F0(belo)2.25 E(w\).)-.25 E F1(OPTIND)108
-422.4 Q F0 1.651(The inde)144 434.4 R 4.151(xo)-.15 G 4.151(ft)-4.151 G
-1.651(he ne)-4.151 F 1.651(xt ar)-.15 F 1.652
-(gument to be processed by the)-.18 F F1(getopts)4.152 E F0 -.2(bu)4.152
-G 1.652(iltin command \(see).2 F F2(SHELL)4.152 E -.09(BU)144 446.4 S
-(IL).09 E(TIN COMMANDS)-.828 E F0(belo)2.25 E(w\).)-.25 E F1(OSTYPE)108
-463.2 Q F0 .329(Automatically set to a string that describes the operat\
-ing system on which)144 475.2 R F1(bash)2.829 E F0 .329(is e)2.829 F
--.15(xe)-.15 G 2.829(cuting. The).15 F(def)144 487.2 Q
-(ault is system-dependent.)-.1 E F1(PIPEST)108 504 Q -.95(AT)-.9 G(US)
-.95 E F0 .61(An array v)144 516 R .61(ariable \(see)-.25 F F1(Arrays)
+417.6 Q(CHTYPE)-.55 E F0 .898(Automatically set to a string that fully \
+describes the system type on which)144 429.6 R F1(bash)3.398 E F0 .898
+(is e)3.398 F -.15(xe)-.15 G .898(cuting, in).15 F(the standard GNU)144
+441.6 Q/F4 10/Times-Italic@0 SF(cpu-company-system)2.5 E F0 2.5
+(format. The)2.5 F(def)2.5 E(ault is system-dependent.)-.1 E F1(OLDPWD)
+108 458.4 Q F0(The pre)144 470.4 Q(vious w)-.25 E
+(orking directory as set by the)-.1 E F1(cd)2.5 E F0(command.)2.5 E F1
+(OPT)108 487.2 Q(ARG)-.9 E F0 1.626(The v)144 499.2 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.627(iltin command \(see).2 F F3
+(SHELL)4.127 E -.09(BU)144 511.2 S(IL).09 E(TIN COMMANDS)-.828 E F0
+(belo)2.25 E(w\).)-.25 E F1(OPTIND)108 528 Q F0 1.652(The inde)144 540 R
+4.152(xo)-.15 G 4.152(ft)-4.152 G 1.652(he ne)-4.152 F 1.652(xt ar)-.15
+F 1.652(gument to be processed by the)-.18 F F1(getopts)4.151 E F0 -.2
+(bu)4.151 G 1.651(iltin command \(see).2 F F3(SHELL)4.151 E -.09(BU)144
+552 S(IL).09 E(TIN COMMANDS)-.828 E F0(belo)2.25 E(w\).)-.25 E F1
+(OSTYPE)108 568.8 Q F0 .329(Automatically set to a string that describe\
+s the operating system on which)144 580.8 R F1(bash)2.83 E F0 .33(is e)
+2.83 F -.15(xe)-.15 G 2.83(cuting. The).15 F(def)144 592.8 Q
+(ault is system-dependent.)-.1 E F1(PIPEST)108 609.6 Q -.95(AT)-.9 G(US)
+.95 E F0 .61(An array v)144 621.6 R .61(ariable \(see)-.25 F F1(Arrays)
 3.11 E F0(belo)3.11 E .61(w\) containing a list of e)-.25 F .61
 (xit status v)-.15 F .61(alues from the processes in)-.25 F
-(the most-recently-e)144 528 Q -.15(xe)-.15 G(cuted fore).15 E
+(the most-recently-e)144 633.6 Q -.15(xe)-.15 G(cuted fore).15 E
 (ground pipeline \(which may contain only a single command\).)-.15 E F1
-(PPID)108 544.8 Q F0(The process ID of the shell')12.67 E 2.5(sp)-.55 G
+(PPID)108 650.4 Q F0(The process ID of the shell')12.67 E 2.5(sp)-.55 G
 2.5(arent. This)-2.5 F -.25(va)2.5 G(riable is readonly).25 E(.)-.65 E
-F1(PWD)108 561.6 Q F0(The current w)12.67 E
+F1(PWD)108 667.2 Q F0(The current w)12.67 E
 (orking directory as set by the)-.1 E F1(cd)2.5 E F0(command.)2.5 E F1
-(RANDOM)108 578.4 Q F0 .566
-(Each time this parameter is referenced, a random inte)144 590.4 R .565
-(ger between 0 and 32767 is generated.)-.15 F(The)5.565 E .01
-(sequence of random numbers may be initialized by assigning a v)144
-602.4 R .01(alue to)-.25 F F2(RANDOM)2.51 E/F4 9/Times-Roman@0 SF(.)A F0
-(If)4.51 E F2(RANDOM)2.51 E F0(is)2.26 E
-(unset, it loses its special properties, e)144 614.4 Q -.15(ve)-.25 G
-2.5(ni).15 G 2.5(fi)-2.5 G 2.5(ti)-2.5 G 2.5(ss)-2.5 G
-(ubsequently reset.)-2.5 E F1(REPL)108 631.2 Q(Y)-.92 E F0
-(Set to the line of input read by the)144 643.2 Q F1 -.18(re)2.5 G(ad)
-.18 E F0 -.2(bu)2.5 G(iltin command when no ar).2 E
-(guments are supplied.)-.18 E F1(SECONDS)108 660 Q F0 .795(Each time th\
-is parameter is referenced, the number of seconds since shell in)144 672
-R -.2(vo)-.4 G .795(cation is returned.).2 F .712(If a v)144 684 R .712
-(alue is assigned to)-.25 F F2(SECONDS)3.212 E F4(,)A F0 .712(the v)
-2.962 F .712(alue returned upon subsequent references is the number)-.25
-F .408(of seconds since the assignment plus the v)144 696 R .408
-(alue assigned.)-.25 F(If)5.408 E F2(SECONDS)2.908 E F0 .407
-(is unset, it loses its special)2.658 F(properties, e)144 708 Q -.15(ve)
--.25 G 2.5(ni).15 G 2.5(fi)-2.5 G 2.5(ti)-2.5 G 2.5(ss)-2.5 G
-(ubsequently reset.)-2.5 E(GNU Bash-4.0)72 768 Q(2008 May 25)147.345 E
-(11)197.335 E 0 Cg EP
+(RANDOM)108 684 Q F0 .565
+(Each time this parameter is referenced, a random inte)144 696 R .566
+(ger between 0 and 32767 is generated.)-.15 F(The)5.566 E .01
+(sequence of random numbers may be initialized by assigning a v)144 708
+R .01(alue to)-.25 F F3(RANDOM)2.51 E/F5 9/Times-Roman@0 SF(.)A F0(If)
+4.51 E F3(RANDOM)2.51 E F0(is)2.26 E
+(unset, it loses its special properties, e)144 720 Q -.15(ve)-.25 G 2.5
+(ni).15 G 2.5(fi)-2.5 G 2.5(ti)-2.5 G 2.5(ss)-2.5 G(ubsequently reset.)
+-2.5 E(GNU Bash-4.0)72 768 Q(2008 June 29)147.345 E(11)197.335 E 0 Cg EP
 %%Page: 12 12
 %%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(SHELLOPTS)108 84 Q F0 3.262(Ac)144 96 S
-.763(olon-separated list of enabled shell options.)-3.262 F .763(Each w)
-5.763 F .763(ord in the list is a v)-.1 F .763(alid ar)-.25 F .763
-(gument for the)-.18 F F1<ad6f>144 108 Q F0 1.174(option to the)3.674 F
-F1(set)3.674 E F0 -.2(bu)3.674 G 1.174(iltin command \(see).2 F/F2 9
-/Times-Bold@0 SF 1.173(SHELL B)3.673 F(UIL)-.09 E 1.173(TIN COMMANDS)
--.828 F F0(belo)3.423 E 3.673(w\). The)-.25 F(options)3.673 E .019
-(appearing in)144 120 R F2(SHELLOPTS)2.519 E F0 .019
-(are those reported as)2.269 F/F3 10/Times-Italic@0 SF(on)2.749 E F0(by)
-2.759 E F1 .019(set \255o)2.519 F F0 5.019(.I)C 2.519(ft)-5.019 G .019
-(his v)-2.519 F .02(ariable is in the en)-.25 F(vironment)-.4 E(when)144
-132 Q F1(bash)3.142 E F0 .642(starts up, each shell option in the list \
-will be enabled before reading an)3.142 F 3.141(ys)-.15 G .641
-(tartup \214les.)-3.141 F(This v)144 144 Q(ariable is read-only)-.25 E
-(.)-.65 E F1(SHL)108 160.8 Q(VL)-.92 E F0
-(Incremented by one each time an instance of)144 172.8 Q F1(bash)2.5 E
-F0(is started.)2.5 E F1(UID)108 189.6 Q F0
+-.35 E/F1 10/Times-Bold@0 SF(REPL)108 84 Q(Y)-.92 E F0
+(Set to the line of input read by the)144 96 Q F1 -.18(re)2.5 G(ad).18 E
+F0 -.2(bu)2.5 G(iltin command when no ar).2 E(guments are supplied.)-.18
+E F1(SECONDS)108 112.8 Q F0 .795(Each time this parameter is referenced\
+, the number of seconds since shell in)144 124.8 R -.2(vo)-.4 G .795
+(cation is returned.).2 F .713(If a v)144 136.8 R .712
+(alue is assigned to)-.25 F/F2 9/Times-Bold@0 SF(SECONDS)3.212 E/F3 9
+/Times-Roman@0 SF(,)A F0 .712(the v)2.962 F .712
+(alue returned upon subsequent references is the number)-.25 F .407
+(of seconds since the assignment plus the v)144 148.8 R .408
+(alue assigned.)-.25 F(If)5.408 E F2(SECONDS)2.908 E F0 .408
+(is unset, it loses its special)2.658 F(properties, e)144 160.8 Q -.15
+(ve)-.25 G 2.5(ni).15 G 2.5(fi)-2.5 G 2.5(ti)-2.5 G 2.5(ss)-2.5 G
+(ubsequently reset.)-2.5 E F1(SHELLOPTS)108 177.6 Q F0 3.263(Ac)144
+189.6 S .763(olon-separated list of enabled shell options.)-3.263 F .763
+(Each w)5.763 F .763(ord in the list is a v)-.1 F .763(alid ar)-.25 F
+.763(gument for the)-.18 F F1<ad6f>144 201.6 Q F0 1.173(option to the)
+3.673 F F1(set)3.673 E F0 -.2(bu)3.673 G 1.173(iltin command \(see).2 F
+F2 1.174(SHELL B)3.674 F(UIL)-.09 E 1.174(TIN COMMANDS)-.828 F F0(belo)
+3.424 E 3.674(w\). The)-.25 F(options)3.674 E .02(appearing in)144 213.6
+R F2(SHELLOPTS)2.52 E F0 .019(are those reported as)2.27 F/F4 10
+/Times-Italic@0 SF(on)2.749 E F0(by)2.759 E F1 .019(set \255o)2.519 F F0
+5.019(.I)C 2.519(ft)-5.019 G .019(his v)-2.519 F .019
+(ariable is in the en)-.25 F(vironment)-.4 E(when)144 225.6 Q F1(bash)
+3.141 E F0 .642(starts up, each shell option in the list will be enable\
+d before reading an)3.141 F 3.142(ys)-.15 G .642(tartup \214les.)-3.142
+F(This v)144 237.6 Q(ariable is read-only)-.25 E(.)-.65 E F1(SHL)108
+254.4 Q(VL)-.92 E F0(Incremented by one each time an instance of)144
+266.4 Q F1(bash)2.5 E F0(is started.)2.5 E F1(UID)108 283.2 Q F0
 (Expands to the user ID of the current user)17.67 E 2.5(,i)-.4 G
 (nitialized at shell startup.)-2.5 E(This v)5 E(ariable is readonly)-.25
-E(.)-.65 E .993(The follo)108 206.4 R .993(wing v)-.25 F .994
+E(.)-.65 E .994(The follo)108 300 R .994(wing v)-.25 F .994
 (ariables are used by the shell.)-.25 F .994(In some cases,)5.994 F F1
-(bash)3.494 E F0 .994(assigns a def)3.494 F .994(ault v)-.1 F .994
-(alue to a v)-.25 F(ariable;)-.25 E(these cases are noted belo)108 218.4
-Q -.65(w.)-.25 G F1 -.3(BA)108 235.2 S(SH_ENV).3 E F0 .506
-(If this parameter is set when)144 247.2 R F1(bash)3.006 E F0 .506(is e)
-3.006 F -.15(xe)-.15 G .505(cuting a shell script, its v).15 F .505
-(alue is interpreted as a \214lename)-.25 F .354
-(containing commands to initialize the shell, as in)144 259.2 R F3
-(~/.bashr)2.855 E(c)-.37 E F0 5.355(.T).31 G .355(he v)-5.355 F .355
-(alue of)-.25 F F2 -.27(BA)2.855 G(SH_ENV).27 E F0 .355(is subjected)
-2.605 F .525(to parameter e)144 271.2 R .525
+(bash)3.494 E F0 .994(assigns a def)3.494 F .994(ault v)-.1 F .993
+(alue to a v)-.25 F(ariable;)-.25 E(these cases are noted belo)108 312 Q
+-.65(w.)-.25 G F1 -.3(BA)108 328.8 S(SH_ENV).3 E F0 .505
+(If this parameter is set when)144 340.8 R F1(bash)3.005 E F0 .505(is e)
+3.005 F -.15(xe)-.15 G .506(cuting a shell script, its v).15 F .506
+(alue is interpreted as a \214lename)-.25 F .355
+(containing commands to initialize the shell, as in)144 352.8 R F4
+(~/.bashr)2.855 E(c)-.37 E F0 5.354(.T).31 G .354(he v)-5.354 F .354
+(alue of)-.25 F F2 -.27(BA)2.854 G(SH_ENV).27 E F0 .354(is subjected)
+2.604 F .525(to parameter e)144 364.8 R .525
 (xpansion, command substitution, and arithmetic e)-.15 F .525
-(xpansion before being interpreted)-.15 F(as a \214le name.)144 283.2 Q
+(xpansion before being interpreted)-.15 F(as a \214le name.)144 376.8 Q
 F2 -.666(PA)5 G(TH)-.189 E F0
 (is not used to search for the resultant \214le name.)2.25 E F1(CDP)108
-295.2 Q -.95(AT)-.74 G(H).95 E F0 1.247(The search path for the)144
-307.2 R F1(cd)3.747 E F0 3.747(command. This)3.747 F 1.248
-(is a colon-separated list of directories in which the)3.747 F 3.796
-(shell looks for destination directories speci\214ed by the)144 319.2 R
-F1(cd)6.295 E F0 6.295(command. A)6.295 F 3.795(sample v)6.295 F 3.795
-(alue is)-.25 F/F4 10/Courier@0 SF(".:~:/usr")144 331.2 Q F0(.)A F1
-(COLUMNS)108 343.2 Q F0 .425(Used by the)144 355.2 R F1(select)2.925 E
+388.8 Q -.95(AT)-.74 G(H).95 E F0 1.248(The search path for the)144
+400.8 R F1(cd)3.748 E F0 3.748(command. This)3.748 F 1.247
+(is a colon-separated list of directories in which the)3.748 F 3.795
+(shell looks for destination directories speci\214ed by the)144 412.8 R
+F1(cd)6.295 E F0 6.296(command. A)6.296 F 3.796(sample v)6.296 F 3.796
+(alue is)-.25 F/F5 10/Courier@0 SF(".:~:/usr")144 424.8 Q F0(.)A F1
+(COLUMNS)108 436.8 Q F0 .425(Used by the)144 448.8 R F1(select)2.925 E
 F0 -.2(bu)2.925 G .425(iltin command to determine the terminal width wh\
 en printing selection lists.).2 F
-(Automatically set upon receipt of a SIGWINCH.)144 367.2 Q F1(COMPREPL)
-108 379.2 Q(Y)-.92 E F0 .848(An array v)144 391.2 R .848
+(Automatically set upon receipt of a SIGWINCH.)144 460.8 Q F1(COMPREPL)
+108 472.8 Q(Y)-.92 E F0 .847(An array v)144 484.8 R .848
 (ariable from which)-.25 F F1(bash)3.348 E F0 .848
 (reads the possible completions generated by a shell function)3.348 F
-(in)144 403.2 Q -.2(vo)-.4 G -.1(ke).2 G 2.5(db).1 G 2.5(yt)-2.5 G
+(in)144 496.8 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 F1(EMA)108 415.2
-Q(CS)-.55 E F0(If)144 427.2 Q F1(bash)2.535 E F0 .035(\214nds this v)
-2.535 F .035(ariable in the en)-.25 F .036
-(vironment when the shell starts with v)-.4 F(alue)-.25 E F4(t)2.536 E
-F0 2.536(,i)C 2.536(ta)-2.536 G .036(ssumes that the)-2.536 F
-(shell is running in an emacs shell b)144 439.2 Q(uf)-.2 E
-(fer and disables line editing.)-.25 E F1(FCEDIT)108 451.2 Q F0(The def)
-144 463.2 Q(ault editor for the)-.1 E F1(fc)2.5 E F0 -.2(bu)2.5 G
-(iltin command.).2 E F1(FIGNORE)108 475.2 Q F0 2.599(Ac)144 487.2 S .098
-(olon-separated list of suf)-2.599 F<8c78>-.25 E .098
+(ogrammable Completion)-.18 E F0(belo)2.5 E(w\).)-.25 E F1(EMA)108 508.8
+Q(CS)-.55 E F0(If)144 520.8 Q F1(bash)2.536 E F0 .036(\214nds this v)
+2.536 F .036(ariable in the en)-.25 F .036
+(vironment when the shell starts with v)-.4 F(alue)-.25 E F5(t)2.535 E
+F0 2.535(,i)C 2.535(ta)-2.535 G .035(ssumes that the)-2.535 F
+(shell is running in an emacs shell b)144 532.8 Q(uf)-.2 E
+(fer and disables line editing.)-.25 E F1(FCEDIT)108 544.8 Q F0(The def)
+144 556.8 Q(ault editor for the)-.1 E F1(fc)2.5 E F0 -.2(bu)2.5 G
+(iltin command.).2 E F1(FIGNORE)108 568.8 Q F0 2.598(Ac)144 580.8 S .098
+(olon-separated list of suf)-2.598 F<8c78>-.25 E .098
 (es to ignore when performing \214lename completion \(see)-.15 F F2
-(READLINE)2.598 E F0(belo)144 499.2 Q 2.704(w\). A)-.25 F .204
-(\214lename whose suf)2.704 F .205(\214x matches one of the entries in)
--.25 F F2(FIGNORE)2.705 E F0 .205(is e)2.455 F .205
-(xcluded from the list)-.15 F(of matched \214lenames.)144 511.2 Q 2.5
-(As)5 G(ample v)-2.5 E(alue is)-.25 E F4(".o:~")2.5 E F0(.)A F1
-(GLOBIGNORE)108 523.2 Q F0 3.118(Ac)144 535.2 S .618(olon-separated lis\
+(READLINE)2.599 E F0(belo)144 592.8 Q 2.705(w\). A)-.25 F .205
+(\214lename whose suf)2.705 F .205(\214x matches one of the entries in)
+-.25 F F2(FIGNORE)2.705 E F0 .205(is e)2.455 F .204
+(xcluded from the list)-.15 F(of matched \214lenames.)144 604.8 Q 2.5
+(As)5 G(ample v)-2.5 E(alue is)-.25 E F5(".o:~")2.5 E F0(.)A F1
+(GLOBIGNORE)108 616.8 Q F0 3.118(Ac)144 628.8 S .618(olon-separated lis\
 t of patterns de\214ning the set of \214lenames to be ignored by pathna\
-me e)-3.118 F(xpan-)-.15 E 3.131(sion. If)144 547.2 R 3.132<618c>3.131 G
+me e)-3.118 F(xpan-)-.15 E 3.132(sion. If)144 640.8 R 3.132<618c>3.132 G
 .632(lename matched by a pathname e)-3.132 F .632
 (xpansion pattern also matches one of the patterns in)-.15 F F2
-(GLOBIGNORE)144 559.2 Q/F5 9/Times-Roman@0 SF(,)A F0(it is remo)2.25 E
--.15(ve)-.15 G 2.5(df).15 G(rom the list of matches.)-2.5 E F1
-(HISTCONTR)108 571.2 Q(OL)-.3 E F0 2.654(Ac)144 583.2 S .153
-(olon-separated list of v)-2.654 F .153(alues controlling ho)-.25 F
-2.653(wc)-.25 G .153(ommands are sa)-2.653 F -.15(ve)-.2 G 2.653(do).15
-G 2.653(nt)-2.653 G .153(he history list.)-2.653 F .153(If the list)
-5.153 F .49(of v)144 595.2 R .49(alues includes)-.25 F F3(ignor)2.99 E
-(espace)-.37 E F0 2.99(,l).18 G .49(ines which be)-2.99 F .491
-(gin with a)-.15 F F1(space)2.991 E F0 .491(character are not sa)2.991 F
--.15(ve)-.2 G 2.991(di).15 G 2.991(nt)-2.991 G .491(he his-)-2.991 F
-.558(tory list.)144 607.2 R 3.058(Av)5.558 G .558(alue of)-3.308 F F3
-(ignor)3.068 E(edups)-.37 E F0 .558(causes lines matching the pre)3.328
-F .557(vious history entry to not be sa)-.25 F -.15(ve)-.2 G(d.).15 E
-2.958(Av)144 619.2 S .458(alue of)-3.208 F F3(ignor)2.968 E(eboth)-.37 E
-F0 .458(is shorthand for)3.238 F F3(ignor)2.959 E(espace)-.37 E F0(and)
-2.959 E F3(ignor)2.959 E(edups)-.37 E F0 5.459(.A)C -.25(va)-2.5 G .459
-(lue of).25 F F3(er)2.959 E(asedups)-.15 E F0(causes)2.959 E .699
-(all pre)144 631.2 R .698
+(GLOBIGNORE)144 652.8 Q F3(,)A F0(it is remo)2.25 E -.15(ve)-.15 G 2.5
+(df).15 G(rom the list of matches.)-2.5 E F1(HISTCONTR)108 664.8 Q(OL)
+-.3 E F0 2.653(Ac)144 676.8 S .153(olon-separated list of v)-2.653 F
+.153(alues controlling ho)-.25 F 2.653(wc)-.25 G .153(ommands are sa)
+-2.653 F -.15(ve)-.2 G 2.653(do).15 G 2.653(nt)-2.653 G .153
+(he history list.)-2.653 F .154(If the list)5.153 F .491(of v)144 688.8
+R .491(alues includes)-.25 F F4(ignor)2.991 E(espace)-.37 E F0 2.991(,l)
+.18 G .491(ines which be)-2.991 F .491(gin with a)-.15 F F1(space)2.991
+E F0 .49(character are not sa)2.991 F -.15(ve)-.2 G 2.99(di).15 G 2.99
+(nt)-2.99 G .49(he his-)-2.99 F .557(tory list.)144 700.8 R 3.057(Av)
+5.557 G .557(alue of)-3.307 F F4(ignor)3.067 E(edups)-.37 E F0 .557
+(causes lines matching the pre)3.327 F .558
+(vious history entry to not be sa)-.25 F -.15(ve)-.2 G(d.).15 E 2.959
+(Av)144 712.8 S .459(alue of)-3.209 F F4(ignor)2.969 E(eboth)-.37 E F0
+.459(is shorthand for)3.239 F F4(ignor)2.959 E(espace)-.37 E F0(and)
+2.959 E F4(ignor)2.958 E(edups)-.37 E F0 5.458(.A)C -.25(va)-2.5 G .458
+(lue of).25 F F4(er)2.958 E(asedups)-.15 E F0(causes)2.958 E .698
+(all pre)144 724.8 R .698
 (vious lines matching the current line to be remo)-.25 F -.15(ve)-.15 G
-3.198(df).15 G .698(rom the history list before that line is)-3.198 F
-(sa)144 643.2 Q -.15(ve)-.2 G 4.296(d. An).15 F 4.296(yv)-.15 G 1.797
-(alue not in the abo)-4.546 F 2.097 -.15(ve l)-.15 H 1.797
-(ist is ignored.).15 F(If)6.797 E F1(HISTCONTR)4.297 E(OL)-.3 E F0 1.797
-(is unset, or does not)4.297 F .613(include a v)144 655.2 R .612(alid v)
--.25 F .612(alue, all lines read by the shell parser are sa)-.25 F -.15
-(ve)-.2 G 3.112(do).15 G 3.112(nt)-3.112 G .612
-(he history list, subject to the)-3.112 F -.25(va)144 667.2 S .985
-(lue of).25 F F1(HISTIGNORE)3.485 E F0 5.986(.T)C .986
-(he second and subsequent lines of a multi-line compound command)-5.986
-F(are not tested, and are added to the history re)144 679.2 Q -.05(ga)
--.15 G(rdless of the v).05 E(alue of)-.25 E F1(HISTCONTR)2.5 E(OL)-.3 E
-F0(.)A F1(HISTFILE)108 691.2 Q F0 .181
-(The name of the \214le in which command history is sa)144 703.2 R -.15
-(ve)-.2 G 2.681(d\().15 G(see)-2.681 E F2(HIST)2.681 E(OR)-.162 E(Y)
--.315 E F0(belo)2.431 E 2.681(w\). The)-.25 F(def)2.681 E .181(ault v)
--.1 F(alue)-.25 E(is)144 715.2 Q F3(~/.bash_history)2.5 E F0 5(.I)C 2.5
-(fu)-5 G(nset, the command history is not sa)-2.5 E -.15(ve)-.2 G 2.5
-(dw).15 G(hen an interacti)-2.5 E .3 -.15(ve s)-.25 H(hell e).15 E
-(xits.)-.15 E(GNU Bash-4.0)72 768 Q(2008 May 25)147.345 E(12)197.335 E 0
-Cg EP
+3.198(df).15 G .699(rom the history list before that line is)-3.198 F
+(GNU Bash-4.0)72 768 Q(2008 June 29)147.345 E(12)197.335 E 0 Cg EP
 %%Page: 13 13
 %%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(HISTFILESIZE)108 84 Q F0 1.622
-(The maximum number of lines contained in the history \214le.)144 96 R
-1.623(When this v)6.623 F 1.623(ariable is assigned a)-.25 F -.25(va)144
-108 S .305(lue, the history \214le is truncated, if necessary).25 F
+-.35 E(sa)144 84 Q -.15(ve)-.2 G 4.297(d. An).15 F 4.297(yv)-.15 G 1.797
+(alue not in the abo)-4.547 F 2.097 -.15(ve l)-.15 H 1.797
+(ist is ignored.).15 F(If)6.797 E/F1 10/Times-Bold@0 SF(HISTCONTR)4.297
+E(OL)-.3 E F0 1.797(is unset, or does not)4.297 F .612(include a v)144
+96 R .612(alid v)-.25 F .612
+(alue, all lines read by the shell parser are sa)-.25 F -.15(ve)-.2 G
+3.112(do).15 G 3.112(nt)-3.112 G .612(he history list, subject to the)
+-3.112 F -.25(va)144 108 S .986(lue of).25 F F1(HISTIGNORE)3.486 E F0
+5.986(.T)C .986
+(he second and subsequent lines of a multi-line compound command)-5.986
+F(are not tested, and are added to the history re)144 120 Q -.05(ga)-.15
+G(rdless of the v).05 E(alue of)-.25 E F1(HISTCONTR)2.5 E(OL)-.3 E F0(.)
+A F1(HISTFILE)108 132 Q F0 .181
+(The name of the \214le in which command history is sa)144 144 R -.15
+(ve)-.2 G 2.681(d\().15 G(see)-2.681 E/F2 9/Times-Bold@0 SF(HIST)2.681 E
+(OR)-.162 E(Y)-.315 E F0(belo)2.431 E 2.682(w\). The)-.25 F(def)2.682 E
+.182(ault v)-.1 F(alue)-.25 E(is)144 156 Q/F3 10/Times-Italic@0 SF
+(~/.bash_history)2.5 E F0 5(.I)C 2.5(fu)-5 G
+(nset, the command history is not sa)-2.5 E -.15(ve)-.2 G 2.5(dw).15 G
+(hen an interacti)-2.5 E .3 -.15(ve s)-.25 H(hell e).15 E(xits.)-.15 E
+F1(HISTFILESIZE)108 168 Q F0 1.623
+(The maximum number of lines contained in the history \214le.)144 180 R
+1.622(When this v)6.623 F 1.622(ariable is assigned a)-.25 F -.25(va)144
+192 S .305(lue, the history \214le is truncated, if necessary).25 F
 2.805(,b)-.65 G 2.805(yr)-2.805 G(emo)-2.805 E .305
-(ving the oldest entries, to contain no more)-.15 F .601
-(than that number of lines.)144 120 R .601(The def)5.601 F .602(ault v)
--.1 F .602(alue is 500.)-.25 F .602
+(ving the oldest entries, to contain no more)-.15 F .602
+(than that number of lines.)144 204 R .602(The def)5.602 F .602(ault v)
+-.1 F .602(alue is 500.)-.25 F .601
 (The history \214le is also truncated to this size)5.602 F
-(after writing it when an interacti)144 132 Q .3 -.15(ve s)-.25 H
-(hell e).15 E(xits.)-.15 E F1(HISTIGNORE)108 144 Q F0 2.658(Ac)144 156 S
-.158(olon-separated list of patterns used to decide which command lines\
- should be sa)-2.658 F -.15(ve)-.2 G 2.657(do).15 G 2.657(nt)-2.657 G
-.157(he his-)-2.657 F .707(tory list.)144 168 R .707
-(Each pattern is anchored at the be)5.707 F .708
-(ginning of the line and must match the complete line)-.15 F .626
-(\(no implicit `)144 180 R F1(*)A F0 3.126('i)C 3.126(sa)-3.126 G 3.126
-(ppended\). Each)-3.126 F .626(pattern is tested ag)3.126 F .625
+(after writing it when an interacti)144 216 Q .3 -.15(ve s)-.25 H
+(hell e).15 E(xits.)-.15 E F1(HISTIGNORE)108 228 Q F0 2.657(Ac)144 240 S
+.157(olon-separated list of patterns used to decide which command lines\
+ should be sa)-2.657 F -.15(ve)-.2 G 2.658(do).15 G 2.658(nt)-2.658 G
+.158(he his-)-2.658 F .708(tory list.)144 252 R .708
+(Each pattern is anchored at the be)5.708 F .707
+(ginning of the line and must match the complete line)-.15 F .625
+(\(no implicit `)144 264 R F1(*)A F0 3.125('i)C 3.125(sa)-3.125 G 3.125
+(ppended\). Each)-3.125 F .626(pattern is tested ag)3.125 F .626
 (ainst the line after the checks speci\214ed by)-.05 F F1(HISTCONTR)144
-192 Q(OL)-.3 E F0 1.154(are applied.)3.654 F 1.154
+276 Q(OL)-.3 E F0 1.155(are applied.)3.655 F 1.154
 (In addition to the normal shell pattern matching characters, `)6.154 F
-F1(&)A F0(')A 2.515(matches the pre)144 204 R 2.515(vious history line.)
+F1(&)A F0(')A 2.514(matches the pre)144 288 R 2.514(vious history line.)
 -.25 F(`)7.514 E F1(&)A F0 5.014('m)C 2.514
-(ay be escaped using a backslash; the backslash is)-5.014 F(remo)144 216
-Q -.15(ve)-.15 G 3.352(db).15 G .852(efore attempting a match.)-3.352 F
+(ay be escaped using a backslash; the backslash is)-5.014 F(remo)144 300
+Q -.15(ve)-.15 G 3.353(db).15 G .853(efore attempting a match.)-3.353 F
 .852(The second and subsequent lines of a multi-line compound)5.852 F
-(command are not tested, and are added to the history re)144 228 Q -.05
+(command are not tested, and are added to the history re)144 312 Q -.05
 (ga)-.15 G(rdless of the v).05 E(alue of)-.25 E F1(HISTIGNORE)2.5 E F0
-(.)A F1(HISTSIZE)108 240 Q F0 1.942
-(The number of commands to remember in the command history \(see)144 252
-R/F2 9/Times-Bold@0 SF(HIST)4.442 E(OR)-.162 E(Y)-.315 E F0(belo)4.192 E
-4.442(w\). The)-.25 F(def)144 264 Q(ault v)-.1 E(alue is 500.)-.25 E F1
-(HISTTIMEFORMA)108 276 Q(T)-.95 E F0 .951(If this v)144 288 R .951
-(ariable is set and not null, its v)-.25 F .952
-(alue is used as a format string for)-.25 F/F3 10/Times-Italic@0 SF
-(strftime)3.452 E F0 .952(\(3\) to print the)B .673
-(time stamp associated with each history entry displayed by the)144 300
-R F1(history)3.173 E F0 -.2(bu)3.172 G 3.172(iltin. If).2 F .672(this v)
-3.172 F .672(ariable is)-.25 F .144
-(set, time stamps are written to the history \214le so the)144 312 R
+(.)A F1(HISTSIZE)108 324 Q F0 1.942
+(The number of commands to remember in the command history \(see)144 336
+R F2(HIST)4.443 E(OR)-.162 E(Y)-.315 E F0(belo)4.193 E 4.443(w\). The)
+-.25 F(def)144 348 Q(ault v)-.1 E(alue is 500.)-.25 E F1(HISTTIMEFORMA)
+108 360 Q(T)-.95 E F0 .952(If this v)144 372 R .952
+(ariable is set and not null, its v)-.25 F .951
+(alue is used as a format string for)-.25 F F3(strftime)3.451 E F0 .951
+(\(3\) to print the)B .672
+(time stamp associated with each history entry displayed by the)144 384
+R F1(history)3.173 E F0 -.2(bu)3.173 G 3.173(iltin. If).2 F .673(this v)
+3.173 F .673(ariable is)-.25 F .144
+(set, time stamps are written to the history \214le so the)144 396 R
 2.644(ym)-.15 G .144(ay be preserv)-2.644 F .144
-(ed across shell sessions.)-.15 F(This)5.145 E(uses the history comment\
- character to distinguish timestamps from other history lines.)144 324 Q
-F1(HOME)108 336 Q F0 1.27
-(The home directory of the current user; the def)144 348 R 1.27(ault ar)
+(ed across shell sessions.)-.15 F(This)5.144 E(uses the history comment\
+ character to distinguish timestamps from other history lines.)144 408 Q
+F1(HOME)108 420 Q F0 1.27
+(The home directory of the current user; the def)144 432 R 1.27(ault ar)
 -.1 F 1.27(gument for the)-.18 F F1(cd)3.77 E F0 -.2(bu)3.77 G 1.27
-(iltin command.).2 F(The)6.27 E -.25(va)144 360 S(lue of this v).25 E
+(iltin command.).2 F(The)6.27 E -.25(va)144 444 S(lue of this v).25 E
 (ariable is also used when performing tilde e)-.25 E(xpansion.)-.15 E F1
-(HOSTFILE)108 372 Q F0 1.015
-(Contains the name of a \214le in the same format as)144 384 R F3
+(HOSTFILE)108 456 Q F0 1.015
+(Contains the name of a \214le in the same format as)144 468 R F3
 (/etc/hosts)5.181 E F0 1.015(that should be read when the shell)5.181 F
-.551(needs to complete a hostname.)144 396 R .551
+.55(needs to complete a hostname.)144 480 R .551
 (The list of possible hostname completions may be changed while)5.551 F
-1.058(the shell is running; the ne)144 408 R 1.059
-(xt time hostname completion is attempted after the v)-.15 F 1.059
-(alue is changed,)-.25 F F1(bash)144 420 Q F0 .716
-(adds the contents of the ne)3.216 F 3.216<778c>-.25 G .715(le to the e)
--3.216 F .715(xisting list.)-.15 F(If)5.715 E F2(HOSTFILE)3.215 E F0
-.715(is set, b)2.965 F .715(ut has no v)-.2 F(alue,)-.25 E F1(bash)144
-432 Q F0 2.235(attempts to read)4.735 F F3(/etc/hosts)6.401 E F0 2.235
-(to obtain the list of possible hostname completions.)6.401 F(When)7.236
-E F2(HOSTFILE)144 444 Q F0(is unset, the hostname list is cleared.)2.25
-E F1(IFS)108 456 Q F0(The)20.44 E F3 .556(Internal F)3.636 F .556
-(ield Separ)-.45 F(ator)-.15 E F0 .556(that is used for w)3.786 F .556
-(ord splitting after e)-.1 F .555(xpansion and to split lines into)-.15
-F -.1(wo)144 468 S(rds with the).1 E F1 -.18(re)2.5 G(ad).18 E F0 -.2
+1.059(the shell is running; the ne)144 492 R 1.059
+(xt time hostname completion is attempted after the v)-.15 F 1.058
+(alue is changed,)-.25 F F1(bash)144 504 Q F0 .715
+(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 F2(HOSTFILE)3.216 E F0
+.716(is set, b)2.966 F .716(ut has no v)-.2 F(alue,)-.25 E F1(bash)144
+516 Q F0 2.236(attempts to read)4.736 F F3(/etc/hosts)6.401 E F0 2.235
+(to obtain the list of possible hostname completions.)6.401 F(When)7.235
+E F2(HOSTFILE)144 528 Q F0(is unset, the hostname list is cleared.)2.25
+E F1(IFS)108 540 Q F0(The)20.44 E F3 .555(Internal F)3.635 F .555
+(ield Separ)-.45 F(ator)-.15 E F0 .555(that is used for w)3.785 F .556
+(ord splitting after e)-.1 F .556(xpansion and to split lines into)-.15
+F -.1(wo)144 552 S(rds with the).1 E F1 -.18(re)2.5 G(ad).18 E F0 -.2
 (bu)2.5 G(iltin command.).2 E(The def)5 E(ault v)-.1 E(alue is `)-.25 E
-(`<space><tab><ne)-.74 E(wline>')-.25 E('.)-.74 E F1(IGNOREEOF)108 480 Q
-F0 .503(Controls the action of an interacti)144 492 R .803 -.15(ve s)
+(`<space><tab><ne)-.74 E(wline>')-.25 E('.)-.74 E F1(IGNOREEOF)108 564 Q
+F0 .503(Controls the action of an interacti)144 576 R .803 -.15(ve s)
 -.25 H .503(hell on receipt of an).15 F F2(EOF)3.003 E F0 .503
-(character as the sole input.)2.753 F .504(If set,)5.504 F .426(the v)
-144 504 R .426(alue is the number of consecuti)-.25 F -.15(ve)-.25 G F2
+(character as the sole input.)2.753 F .503(If set,)5.503 F .426(the v)
+144 588 R .426(alue is the number of consecuti)-.25 F -.15(ve)-.25 G F2
 (EOF)3.076 E F0 .426
-(characters which must be typed as the \214rst characters)2.676 F .302
-(on an input line before)144 516 R F1(bash)2.802 E F0 -.15(ex)2.802 G
+(characters which must be typed as the \214rst characters)2.676 F .303
+(on an input line before)144 600 R F1(bash)2.802 E F0 -.15(ex)2.802 G
 2.802(its. If).15 F .302(the v)2.802 F .302(ariable e)-.25 F .302
 (xists b)-.15 F .302(ut does not ha)-.2 F .602 -.15(ve a n)-.2 H .302
-(umeric v).15 F .303(alue, or has)-.25 F(no v)144 528 Q(alue, the def)
+(umeric v).15 F .302(alue, or has)-.25 F(no v)144 612 Q(alue, the def)
 -.25 E(ault v)-.1 E(alue is 10.)-.25 E(If it does not e)5 E(xist,)-.15 E
 F2(EOF)2.5 E F0(signi\214es the end of input to the shell.)2.25 E F1
-(INPUTRC)108 540 Q F0 1.436(The \214lename for the)144 552 R F1 -.18(re)
+(INPUTRC)108 624 Q F0 1.435(The \214lename for the)144 636 R F1 -.18(re)
 3.936 G(adline).18 E F0 1.436(startup \214le, o)3.936 F -.15(ve)-.15 G
 1.436(rriding the def).15 F 1.436(ault of)-.1 F F3(~/.inputr)5.602 E(c)
--.37 E F0(\(see)5.601 E F2(READLINE)3.935 E F0(belo)144 564 Q(w\).)-.25
-E F1(LANG)108 576 Q F0 1.239(Used to determine the locale cate)7.11 F
-1.239(gory for an)-.15 F 3.739(yc)-.15 G(ate)-3.739 E 1.24
+-.37 E F0(\(see)5.602 E F2(READLINE)3.936 E F0(belo)144 648 Q(w\).)-.25
+E F1(LANG)108 660 Q F0 1.24(Used to determine the locale cate)7.11 F
+1.239(gory for an)-.15 F 3.739(yc)-.15 G(ate)-3.739 E 1.239
 (gory not speci\214cally selected with a v)-.15 F(ariable)-.25 E
-(starting with)144 588 Q F1(LC_)2.5 E F0(.)A F1(LC_ALL)108 600 Q F0 .764
-(This v)144 612 R .764(ariable o)-.25 F -.15(ve)-.15 G .764
+(starting with)144 672 Q F1(LC_)2.5 E F0(.)A F1(LC_ALL)108 684 Q F0 .764
+(This v)144 696 R .764(ariable o)-.25 F -.15(ve)-.15 G .764
 (rrides the v).15 F .764(alue of)-.25 F F1(LANG)3.264 E F0 .764(and an)
 3.264 F 3.264(yo)-.15 G(ther)-3.264 E F1(LC_)3.264 E F0 -.25(va)3.264 G
-.764(riable specifying a locale cate-).25 F(gory)144 624 Q(.)-.65 E F1
-(LC_COLLA)108 636 Q(TE)-.95 E F0 .411(This v)144 648 R .412(ariable det\
-ermines the collation order used when sorting the results of pathname e)
--.25 F(xpansion,)-.15 E 1.465(and determines the beha)144 660 R 1.465
-(vior of range e)-.2 F 1.464(xpressions, equi)-.15 F -.25(va)-.25 G
-1.464(lence classes, and collating sequences).25 F(within pathname e)144
-672 Q(xpansion and pattern matching.)-.15 E F1(LC_CTYPE)108 684 Q F0
-1.935(This v)144 696 R 1.936
-(ariable determines the interpretation of characters and the beha)-.25 F
-1.936(vior of character classes)-.2 F(within pathname e)144 708 Q
-(xpansion and pattern matching.)-.15 E(GNU Bash-4.0)72 768 Q
-(2008 May 25)147.345 E(13)197.335 E 0 Cg EP
+.764(riable specifying a locale cate-).25 F(gory)144 708 Q(.)-.65 E
+(GNU Bash-4.0)72 768 Q(2008 June 29)147.345 E(13)197.335 E 0 Cg EP
 %%Page: 14 14
 %%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(LC_MESSA)108 84 Q(GES)-.55 E F0(This v)144
-96 Q(ariable determines the locale used to translate double-quoted stri\
-ngs preceded by a)-.25 E F1($)2.5 E F0(.)A F1(LC_NUMERIC)108 108 Q F0
-(This v)144 120 Q(ariable determines the locale cate)-.25 E
-(gory used for number formatting.)-.15 E F1(LINES)108 132 Q F0 1.219
-(Used by the)5.99 F F1(select)3.719 E F0 -.2(bu)3.719 G 1.218(iltin com\
+-.35 E/F1 10/Times-Bold@0 SF(LC_COLLA)108 84 Q(TE)-.95 E F0 .412(This v)
+144 96 R .412(ariable determines the collation order used when sorting \
+the results of pathname e)-.25 F(xpansion,)-.15 E 1.464
+(and determines the beha)144 108 R 1.464(vior of range e)-.2 F 1.465
+(xpressions, equi)-.15 F -.25(va)-.25 G 1.465
+(lence classes, and collating sequences).25 F(within pathname e)144 120
+Q(xpansion and pattern matching.)-.15 E F1(LC_CTYPE)108 132 Q F0 1.936
+(This v)144 144 R 1.936
+(ariable determines the interpretation of characters and the beha)-.25 F
+1.935(vior of character classes)-.2 F(within pathname e)144 156 Q
+(xpansion and pattern matching.)-.15 E F1(LC_MESSA)108 168 Q(GES)-.55 E
+F0(This v)144 180 Q(ariable determines the locale used to translate dou\
+ble-quoted strings preceded by a)-.25 E F1($)2.5 E F0(.)A F1(LC_NUMERIC)
+108 192 Q F0(This v)144 204 Q(ariable determines the locale cate)-.25 E
+(gory used for number formatting.)-.15 E F1(LINES)108 216 Q F0 1.218
+(Used by the)5.99 F F1(select)3.718 E F0 -.2(bu)3.718 G 1.219(iltin com\
 mand to determine the column length for printing selection lists.).2 F
-(Automatically set upon receipt of a SIGWINCH.)144 144 Q F1(MAIL)108 156
-Q F0 .187(If this parameter is set to a \214le name and the)8.78 F/F2 9
+(Automatically set upon receipt of a SIGWINCH.)144 228 Q F1(MAIL)108 240
+Q F0 .188(If this parameter is set to a \214le name and the)8.78 F/F2 9
 /Times-Bold@0 SF(MAILP)2.687 E -.855(AT)-.666 G(H).855 E F0 -.25(va)
-2.438 G .188(riable is not set,).25 F F1(bash)2.688 E F0 .188
-(informs the user)2.688 F(of the arri)144 168 Q -.25(va)-.25 G 2.5(lo)
+2.437 G .187(riable is not set,).25 F F1(bash)2.687 E F0 .187
+(informs the user)2.687 F(of the arri)144 252 Q -.25(va)-.25 G 2.5(lo)
 .25 G 2.5(fm)-2.5 G(ail in the speci\214ed \214le.)-2.5 E F1(MAILCHECK)
-108 180 Q F0 .099(Speci\214es ho)144 192 R 2.599(wo)-.25 G .099
-(ften \(in seconds\))-2.599 F F1(bash)2.598 E F0 .098(checks for mail.)
-2.598 F .098(The def)5.098 F .098(ault is 60 seconds.)-.1 F .098
-(When it is time)5.098 F .223(to check for mail, the shell does so befo\
-re displaying the primary prompt.)144 204 R .224(If this v)5.224 F .224
-(ariable is unset,)-.25 F .066(or set to a v)144 216 R .066(alue that i\
+108 264 Q F0 .098(Speci\214es ho)144 276 R 2.598(wo)-.25 G .098
+(ften \(in seconds\))-2.598 F F1(bash)2.598 E F0 .098(checks for mail.)
+2.598 F .098(The def)5.098 F .098(ault is 60 seconds.)-.1 F .099
+(When it is time)5.099 F .224(to check for mail, the shell does so befo\
+re displaying the primary prompt.)144 288 R .223(If this v)5.223 F .223
+(ariable is unset,)-.25 F .066(or set to a v)144 300 R .066(alue that i\
 s not a number greater than or equal to zero, the shell disables mail c\
-hecking.)-.25 F F1(MAILP)108 228 Q -.95(AT)-.74 G(H).95 E F0 2.814(Ac)
-144 240 S .314(olon-separated list of \214le names to be check)-2.814 F
+hecking.)-.25 F F1(MAILP)108 312 Q -.95(AT)-.74 G(H).95 E F0 2.815(Ac)
+144 324 S .314(olon-separated list of \214le names to be check)-2.815 F
 .314(ed for mail.)-.1 F .314(The message to be printed when mail)5.314 F
-(arri)144 252 Q -.15(ve)-.25 G 3.42(si).15 G 3.42(nap)-3.42 G .92(artic\
+(arri)144 336 Q -.15(ve)-.25 G 3.42(si).15 G 3.42(nap)-3.42 G .92(artic\
 ular \214le may be speci\214ed by separating the \214le name from the m\
-essage with a)-3.42 F 2.807(`?'. When)144 264 R .307(used in the te)
-2.807 F .308(xt of the message,)-.15 F F1($_)2.808 E F0 -.15(ex)2.808 G
-.308(pands to the name of the current mail\214le.).15 F(Exam-)5.308 E
-(ple:)144 276 Q F1(MAILP)144 288 Q -.95(AT)-.74 G(H).95 E F0(=\010/v)A
+essage with a)-3.42 F 2.808(`?'. When)144 348 R .308(used in the te)
+2.808 F .308(xt of the message,)-.15 F F1($_)2.808 E F0 -.15(ex)2.808 G
+.308(pands to the name of the current mail\214le.).15 F(Exam-)5.307 E
+(ple:)144 360 Q F1(MAILP)144 372 Q -.95(AT)-.74 G(H).95 E F0(=\010/v)A
 (ar/mail/bfox?"Y)-.25 E(ou ha)-1.1 E .3 -.15(ve m)-.2 H
-(ail":~/shell\255mail?"$_ has mail!"\010).15 E F1(Bash)144 300 Q F0 .389
-(supplies a def)2.889 F .389(ault v)-.1 F .389(alue for this v)-.25 F
-.389(ariable, b)-.25 F .388
+(ail":~/shell\255mail?"$_ has mail!"\010).15 E F1(Bash)144 384 Q F0 .388
+(supplies a def)2.888 F .388(ault v)-.1 F .388(alue for this v)-.25 F
+.388(ariable, b)-.25 F .389
 (ut the location of the user mail \214les that it uses is)-.2 F
-(system dependent \(e.g., /v)144 312 Q(ar/mail/)-.25 E F1($USER)A F0
-(\).)A F1(OPTERR)108 324 Q F0 .389(If set to the v)144 336 R .389
-(alue 1,)-.25 F F1(bash)2.889 E F0 .389
-(displays error messages generated by the)2.889 F F1(getopts)2.89 E F0
--.2(bu)2.89 G .39(iltin command \(see).2 F F2 .36(SHELL B)144 348 R(UIL)
--.09 E .36(TIN COMMANDS)-.828 F F0(belo)2.61 E(w\).)-.25 E F2(OPTERR)
-5.36 E F0 .359(is initialized to 1 each time the shell is in)2.61 F -.2
-(vo)-.4 G -.1(ke).2 G(d).1 E(or a shell script is e)144 360 Q -.15(xe)
--.15 G(cuted.).15 E F1 -.74(PA)108 372 S(TH)-.21 E F0 .587
-(The search path for commands.)9.91 F .588
+(system dependent \(e.g., /v)144 396 Q(ar/mail/)-.25 E F1($USER)A F0
+(\).)A F1(OPTERR)108 408 Q F0 .39(If set to the v)144 420 R .39(alue 1,)
+-.25 F F1(bash)2.89 E F0 .389(displays error messages generated by the)
+2.889 F F1(getopts)2.889 E F0 -.2(bu)2.889 G .389(iltin command \(see).2
+F F2 .359(SHELL B)144 432 R(UIL)-.09 E .359(TIN COMMANDS)-.828 F F0
+(belo)2.609 E(w\).)-.25 E F2(OPTERR)5.359 E F0 .36
+(is initialized to 1 each time the shell is in)2.609 F -.2(vo)-.4 G -.1
+(ke).2 G(d).1 E(or a shell script is e)144 444 Q -.15(xe)-.15 G(cuted.)
+.15 E F1 -.74(PA)108 456 S(TH)-.21 E F0 .588
+(The search path for commands.)9.91 F .587
 (It is a colon-separated list of directories in which the shell looks)
-5.587 F .472(for commands \(see)144 384 R F2 .472(COMMAND EXECUTION)
-2.972 F F0(belo)2.722 E 2.972(w\). A)-.25 F .471
-(zero-length \(null\) directory name in the)2.972 F -.25(va)144 396 S
-.344(lue of).25 F F1 -.74(PA)2.844 G(TH)-.21 E F0 .344
-(indicates the current directory)2.844 F 5.345(.A)-.65 G .345
-(null directory name may appear as tw)-2.5 F 2.845(oa)-.1 G(djacent)
--2.845 E .868(colons, or as an initial or trailing colon.)144 408 R .868
-(The def)5.868 F .867(ault path is system-dependent, and is set by the)
--.1 F 26.328(administrator who installs)144 420 R F1(bash)28.828 E F0
-31.329(.A)C 26.329(common v)-2.5 F 26.329(alue is)-.25 F/F3 10/Courier@0
-SF(/usr/gnu/bin:/usr/local/bin:/usr/ucb:/bin:/usr/bin)144 432 Q F0(.)A
-F1(POSIXL)108 444 Q(Y_CORRECT)-.92 E F0 .472(If this v)144 456 R .472
-(ariable is in the en)-.25 F .471(vironment when)-.4 F F1(bash)2.971 E
-F0 .471(starts, the shell enters)2.971 F/F4 10/Times-Italic@0 SF .471
-(posix mode)2.971 F F0 .471(before reading)2.971 F .011
-(the startup \214les, as if the)144 468 R F1(\255\255posix)2.511 E F0
+5.588 F .471(for commands \(see)144 468 R F2 .471(COMMAND EXECUTION)
+2.971 F F0(belo)2.722 E 2.972(w\). A)-.25 F .472
+(zero-length \(null\) directory name in the)2.972 F -.25(va)144 480 S
+.345(lue of).25 F F1 -.74(PA)2.845 G(TH)-.21 E F0 .345
+(indicates the current directory)2.845 F 5.345(.A)-.65 G .344
+(null directory name may appear as tw)-2.5 F 2.844(oa)-.1 G(djacent)
+-2.844 E .867(colons, or as an initial or trailing colon.)144 492 R .868
+(The def)5.868 F .868(ault path is system-dependent, and is set by the)
+-.1 F 26.329(administrator who installs)144 504 R F1(bash)28.829 E F0
+31.329(.A)C 26.328(common v)-2.501 F 26.328(alue is)-.25 F/F3 10
+/Courier@0 SF(/usr/gnu/bin:/usr/local/bin:/usr/ucb:/bin:/usr/bin)144 516
+Q F0(.)A F1(POSIXL)108 528 Q(Y_CORRECT)-.92 E F0 .471(If this v)144 540
+R .471(ariable is in the en)-.25 F .471(vironment when)-.4 F F1(bash)
+2.971 E F0 .471(starts, the shell enters)2.971 F/F4 10/Times-Italic@0 SF
+.472(posix mode)2.972 F F0 .472(before reading)2.972 F .011
+(the startup \214les, as if the)144 552 R F1(\255\255posix)2.511 E F0
 (in)2.511 E -.2(vo)-.4 G .011(cation option had been supplied.).2 F .011
-(If it is set while the shell is)5.011 F(running,)144 480 Q F1(bash)2.5
+(If it is set while the shell is)5.011 F(running,)144 564 Q F1(bash)2.5
 E F0(enables)2.5 E F4(posix mode)2.5 E F0 2.5(,a)C 2.5(si)-2.5 G 2.5(ft)
 -2.5 G(he command)-2.5 E F3(set -o posix)2.5 E F0(had been e)2.5 E -.15
-(xe)-.15 G(cuted.).15 E F1(PR)108 492 Q(OMPT_COMMAND)-.3 E F0
-(If set, the v)144 504 Q(alue is e)-.25 E -.15(xe)-.15 G
-(cuted as a command prior to issuing each primary prompt.).15 E F1(PS1)
-108 516 Q F0 .065(The v)19.33 F .065(alue of this parameter is e)-.25 F
+(xe)-.15 G(cuted.).15 E F1(PR)108 576 Q(OMPT_COMMAND)-.3 E F0
+(If set, the v)144 588 Q(alue is e)-.25 E -.15(xe)-.15 G
+(cuted as a command prior to issuing each primary prompt.).15 E F1(PR)
+108 600 Q(OMPT_DIR)-.3 E(TRIM)-.4 E F0 .676
+(If set to a number greater than zero, the v)144 612 R .676
+(alue is used as the number of trailing directory compo-)-.25 F .34
+(nents to retain when e)144 624 R .34(xpanding the)-.15 F F1 .339
+(\\w and \\W pr)2.84 F .339(ompt string escapes \(see)-.18 F F2(PR)2.839
+E(OMPTING)-.27 E F0(belo)2.589 E(w\).)-.25 E(Characters remo)144 636 Q
+-.15(ve)-.15 G 2.5(da).15 G(re replaced with an ellipsis.)-2.5 E F1(PS1)
+108 648 Q F0 .064(The v)19.33 F .065(alue of this parameter is e)-.25 F
 .065(xpanded \(see)-.15 F F2(PR)2.565 E(OMPTING)-.27 E F0(belo)2.315 E
-.065(w\) and used as the primary prompt)-.25 F 2.5(string. The)144 528 R
+.065(w\) and used as the primary prompt)-.25 F 2.5(string. The)144 660 R
 (def)2.5 E(ault v)-.1 E(alue is `)-.25 E(`)-.74 E F1(\\s\255\\v\\$)A F0
--.74('')2.5 G(.).74 E F1(PS2)108 540 Q F0 .004(The v)19.33 F .004
+-.74('')2.5 G(.).74 E F1(PS2)108 672 Q F0 .005(The v)19.33 F .005
 (alue of this parameter is e)-.25 F .005(xpanded as with)-.15 F F1(PS1)
-2.505 E F0 .005(and used as the secondary prompt string.)2.505 F(The)
-5.005 E(def)144 552 Q(ault is `)-.1 E(`)-.74 E F1(>)A F0 -.74('')2.5 G
-(.).74 E F1(PS3)108 564 Q F0 1.116(The v)19.33 F 1.115
+2.505 E F0 .004(and used as the secondary prompt string.)2.505 F(The)
+5.004 E(def)144 684 Q(ault is `)-.1 E(`)-.74 E F1(>)A F0 -.74('')2.5 G
+(.).74 E F1(PS3)108 696 Q F0 1.115(The v)19.33 F 1.115
 (alue of this parameter is used as the prompt for the)-.25 F F1(select)
-3.615 E F0 1.115(command \(see)3.615 F F2 1.115(SHELL GRAM-)3.615 F(MAR)
-144 576 Q F0(abo)2.25 E -.15(ve)-.15 G(\).).15 E F1(PS4)108 588 Q F0
-1.098(The v)19.33 F 1.099(alue of this parameter is e)-.25 F 1.099
-(xpanded as with)-.15 F F1(PS1)3.599 E F0 1.099(and the v)3.599 F 1.099
-(alue is printed before each com-)-.25 F(mand)144 600 Q F1(bash)3.726 E
-F0 1.226(displays during an e)3.726 F -.15(xe)-.15 G 1.226
-(cution trace.).15 F 1.225(The \214rst character of)6.226 F F2(PS4)3.725
-E F0 1.225(is replicated multiple)3.475 F(times, as necessary)144 612 Q
-2.5(,t)-.65 G 2.5(oi)-2.5 G(ndicate multiple le)-2.5 E -.15(ve)-.25 G
-(ls of indirection.).15 E(The def)5 E(ault is `)-.1 E(`)-.74 E F1(+)A F0
--.74('')2.5 G(.).74 E F1(SHELL)108 624 Q F0 .663
-(The full pathname to the shell is k)144 636 R .664(ept in this en)-.1 F
-.664(vironment v)-.4 F 3.164(ariable. If)-.25 F .664
-(it is not set when the shell)3.164 F(starts,)144 648 Q F1(bash)2.5 E F0
-(assigns to it the full pathname of the current user')2.5 E 2.5(sl)-.55
-G(ogin shell.)-2.5 E F1(TIMEFORMA)108 660 Q(T)-.95 E F0 .827(The v)144
-672 R .826
-(alue of this parameter is used as a format string specifying ho)-.25 F
-3.326(wt)-.25 G .826(he timing information for)-3.326 F .648
-(pipelines pre\214x)144 684 R .648(ed with the)-.15 F F1(time)3.148 E F0
-(reserv)3.148 E .648(ed w)-.15 F .649(ord should be displayed.)-.1 F
-(The)5.649 E F1(%)3.149 E F0 .649(character introduces)3.149 F .712
-(an escape sequence that is e)144 696 R .711(xpanded to a time v)-.15 F
-.711(alue or other information.)-.25 F .711(The escape sequences)5.711 F
-(and their meanings are as follo)144 708 Q
-(ws; the braces denote optional portions.)-.25 E(GNU Bash-4.0)72 768 Q
-(2008 May 25)147.345 E(14)197.335 E 0 Cg EP
+3.615 E F0 1.116(command \(see)3.616 F F2 1.116(SHELL GRAM-)3.616 F(MAR)
+144 708 Q F0(abo)2.25 E -.15(ve)-.15 G(\).).15 E(GNU Bash-4.0)72 768 Q
+(2008 June 29)147.345 E(14)197.335 E 0 Cg EP
 %%Page: 15 15
 %%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 F0 2.5(Al)30 G(iteral)-2.5 E F1
-(%)2.5 E F0(.)A F1(%[)144 96 Q/F2 10/Times-Italic@0 SF(p)A F1(][l]R)A F0
-(The elapsed time in seconds.)11.68 E F1(%[)144 108 Q F2(p)A F1(][l]U)A
-F0(The number of CPU seconds spent in user mode.)11.68 E F1(%[)144 120 Q
-F2(p)A F1(][l]S)A F0(The number of CPU seconds spent in system mode.)
-13.34 E F1(%P)144 132 Q F0
+-.35 E/F1 10/Times-Bold@0 SF(PS4)108 84 Q F0 1.099(The v)19.33 F 1.099
+(alue of this parameter is e)-.25 F 1.099(xpanded as with)-.15 F F1(PS1)
+3.599 E F0 1.099(and the v)3.599 F 1.098
+(alue is printed before each com-)-.25 F(mand)144 96 Q F1(bash)3.725 E
+F0 1.225(displays during an e)3.725 F -.15(xe)-.15 G 1.225
+(cution trace.).15 F 1.226(The \214rst character of)6.225 F/F2 9
+/Times-Bold@0 SF(PS4)3.726 E F0 1.226(is replicated multiple)3.476 F
+(times, as necessary)144 108 Q 2.5(,t)-.65 G 2.5(oi)-2.5 G
+(ndicate multiple le)-2.5 E -.15(ve)-.25 G(ls of indirection.).15 E
+(The def)5 E(ault is `)-.1 E(`)-.74 E F1(+)A F0 -.74('')2.5 G(.).74 E F1
+(SHELL)108 120 Q F0 .664(The full pathname to the shell is k)144 132 R
+.664(ept in this en)-.1 F .664(vironment v)-.4 F 3.164(ariable. If)-.25
+F .663(it is not set when the shell)3.164 F(starts,)144 144 Q F1(bash)
+2.5 E F0(assigns to it the full pathname of the current user')2.5 E 2.5
+(sl)-.55 G(ogin shell.)-2.5 E F1(TIMEFORMA)108 156 Q(T)-.95 E F0 .826
+(The v)144 168 R .826
+(alue of this parameter is used as a format string specifying ho)-.25 F
+3.327(wt)-.25 G .827(he timing information for)-3.327 F .649
+(pipelines pre\214x)144 180 R .649(ed with the)-.15 F F1(time)3.149 E F0
+(reserv)3.149 E .649(ed w)-.15 F .648(ord should be displayed.)-.1 F
+(The)5.648 E F1(%)3.148 E F0 .648(character introduces)3.148 F .711
+(an escape sequence that is e)144 192 R .711(xpanded to a time v)-.15 F
+.712(alue or other information.)-.25 F .712(The escape sequences)5.712 F
+(and their meanings are as follo)144 204 Q
+(ws; the braces denote optional portions.)-.25 E F1(%%)144 222 Q F0 2.5
+(Al)30 G(iteral)-2.5 E F1(%)2.5 E F0(.)A F1(%[)144 234 Q/F3 10
+/Times-Italic@0 SF(p)A F1(][l]R)A F0(The elapsed time in seconds.)11.68
+E F1(%[)144 246 Q F3(p)A F1(][l]U)A F0
+(The number of CPU seconds spent in user mode.)11.68 E F1(%[)144 258 Q
+F3(p)A F1(][l]S)A F0(The number of CPU seconds spent in system mode.)
+13.34 E F1(%P)144 270 Q F0
 (The CPU percentage, computed as \(%U + %S\) / %R.)33.89 E .87
-(The optional)144 148.8 R F2(p)3.37 E F0 .87(is a digit specifying the)
-3.37 F F2(pr)3.37 E(ecision)-.37 E F0 3.37(,t)C .87
-(he number of fractional digits after a decimal)-3.37 F 2.526(point. A)
-144 160.8 R -.25(va)2.526 G .025
-(lue of 0 causes no decimal point or fraction to be output.).25 F .025
-(At most three places after the)5.025 F .537
-(decimal point may be speci\214ed; v)144 172.8 R .537(alues of)-.25 F F2
-(p)3.037 E F0 .537(greater than 3 are changed to 3.)3.037 F(If)5.538 E
-F2(p)3.038 E F0 .538(is not speci\214ed,)3.038 F(the v)144 184.8 Q
-(alue 3 is used.)-.25 E .668(The optional)144 201.6 R F1(l)3.168 E F0
+(The optional)144 286.8 R F3(p)3.37 E F0 .87(is a digit specifying the)
+3.37 F F3(pr)3.37 E(ecision)-.37 E F0 3.37(,t)C .87
+(he number of fractional digits after a decimal)-3.37 F 2.525(point. A)
+144 298.8 R -.25(va)2.525 G .025
+(lue of 0 causes no decimal point or fraction to be output.).25 F .026
+(At most three places after the)5.025 F .538
+(decimal point may be speci\214ed; v)144 310.8 R .538(alues of)-.25 F F3
+(p)3.038 E F0 .537(greater than 3 are changed to 3.)3.037 F(If)5.537 E
+F3(p)3.037 E F0 .537(is not speci\214ed,)3.037 F(the v)144 322.8 Q
+(alue 3 is used.)-.25 E .667(The optional)144 339.6 R F1(l)3.167 E F0
 .668(speci\214es a longer format, including minutes, of the form)3.168 F
-F2(MM)3.168 E F0(m)A F2(SS)A F0(.)A F2(FF)A F0 3.167(s. The)B -.25(va)
-3.167 G(lue).25 E(of)144 213.6 Q F2(p)2.5 E F0
-(determines whether or not the fraction is included.)2.5 E(If this v)144
-230.4 Q(ariable is not set,)-.25 E F1(bash)2.501 E F0 .001
-(acts as if it had the v)2.501 F(alue)-.25 E F1($\010\\nr)2.501 E
-(eal\\t%3lR\\nuser\\t%3lU\\nsys%3lS\010)-.18 E F0(.)A .495(If the v)144
-242.4 R .494(alue is null, no timing information is displayed.)-.25 F
+F3(MM)3.168 E F0(m)A F3(SS)A F0(.)A F3(FF)A F0 3.168(s. The)B -.25(va)
+3.168 G(lue).25 E(of)144 351.6 Q F3(p)2.5 E F0
+(determines whether or not the fraction is included.)2.5 E .001
+(If this v)144 368.4 R .001(ariable is not set,)-.25 F F1(bash)2.501 E
+F0 .001(acts as if it had the v)2.501 F(alue)-.25 E F1($\010\\nr)2.5 E
+(eal\\t%3lR\\nuser\\t%3lU\\nsys%3lS\010)-.18 E F0(.)A .494(If the v)144
+380.4 R .494(alue is null, no timing information is displayed.)-.25 F
 2.994(At)5.494 G .494(railing ne)-2.994 F .494
 (wline is added when the for)-.25 F(-)-.2 E(mat string is displayed.)144
-254.4 Q F1(TMOUT)108 271.2 Q F0 .717(If set to a v)144 283.2 R .717
+392.4 Q F1(TMOUT)108 409.2 Q F0 .718(If set to a v)144 421.2 R .717
 (alue greater than zero,)-.25 F F1(TMOUT)3.217 E F0 .717
-(is treated as the def)3.217 F .718(ault timeout for the)-.1 F F1 -.18
-(re)3.218 G(ad).18 E F0 -.2(bu)3.218 G(iltin.).2 E(The)144 295.2 Q F1
+(is treated as the def)3.217 F .717(ault timeout for the)-.1 F F1 -.18
+(re)3.217 G(ad).18 E F0 -.2(bu)3.217 G(iltin.).2 E(The)144 433.2 Q F1
 (select)2.542 E F0 .042(command terminates if input does not arri)2.542
 F .342 -.15(ve a)-.25 H(fter).15 E F1(TMOUT)2.542 E F0 .042
-(seconds when input is com-)2.542 F .885(ing from a terminal.)144 307.2
-R .885(In an interacti)5.885 F 1.185 -.15(ve s)-.25 H .885(hell, the v)
-.15 F .886(alue is interpreted as the number of seconds to)-.25 F -.1
-(wa)144 319.2 S .546(it for input after issuing the primary prompt.).1 F
+(seconds when input is com-)2.542 F .886(ing from a terminal.)144 445.2
+R .886(In an interacti)5.886 F 1.185 -.15(ve s)-.25 H .885(hell, the v)
+.15 F .885(alue is interpreted as the number of seconds to)-.25 F -.1
+(wa)144 457.2 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
-331.2 Q -.15(ve)-.25 G(.).15 E F1(TMPDIR)108 348 Q F0 .273(If set,)144
-360 R F1(Bash)2.773 E F0 .273(uses its v)2.773 F .274
-(alue as the name of a directory in which)-.25 F F1(Bash)2.774 E F0 .274
-(creates temporary \214les for the)2.774 F(shell')144 372 Q 2.5(su)-.55
-G(se.)-2.5 E F1(auto_r)108 388.8 Q(esume)-.18 E F0 .531(This v)144 400.8
-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 412.8 R
+469.2 Q -.15(ve)-.25 G(.).15 E F1(TMPDIR)108 486 Q F0 .274(If set,)144
+498 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 510 Q 2.5(su)-.55
+G(se.)-2.5 E F1(auto_r)108 526.8 Q(esume)-.18 E F0 .53(This v)144 538.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 550.8 R
 .538(ord simple commands without redirections are treated as candidates\
- for resumption of an)-.1 F -.15(ex)144 424.8 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
-436.8 R(The)6.125 E F2(name)3.985 E F0 1.125(of a stopped job, in this)
-3.805 F(conte)144 448.8 Q 1.133
+ for resumption of an)-.1 F -.15(ex)144 562.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
+574.8 R(The)6.125 E F3(name)3.985 E F0 1.124(of a stopped job, in this)
+3.805 F(conte)144 586.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.632(,t).68 G 1.132
-(he string supplied must)-3.632 F .624
-(match the name of a stopped job e)144 460.8 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 472.8 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 484.8 Q F1(%?)3.333 E
-F0 .833(job identi\214er \(see)5.833 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 .834
-(alue, the supplied string)-.25 F .316
-(must be a pre\214x of a stopped job')144 496.8 R 2.816(sn)-.55 G .316
-(ame; this pro)-2.816 F .315(vides functionality analogous to the)-.15 F
-F1(%)2.815 E F2(string)A F0(job)2.815 E(identi\214er)144 508.8 Q(.)-.55
-E F1(histchars)108 525.6 Q F0 2.069(The tw)144 537.6 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.57 E
-(OR)-.162 E(Y)-.315 E(EXP)144 549.6 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 561.6 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 573.6 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 585.6 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\
- that the remainder of the line is a comment when found as the \214rst \
-char)144 597.6 R(-)-.2 E 1.293(acter of a w)144 609.6 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 621.6 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 633.6 Q F1(Arrays)87 650.4 Q
-(Bash)108 662.4 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 674.4 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 686.4 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 703.2 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 715.2 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
-727.2 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(GNU Bash-4.0)72 768 Q
-(2008 May 25)147.345 E(15)197.335 E 0 Cg EP
+6.133 F(alue)-.25 E F3 -.2(ex)3.633 G(act).2 E F0 3.633(,t).68 G 1.133
+(he string supplied must)-3.633 F .625
+(match the name of a stopped job e)144 598.8 R .624(xactly; if set to)
+-.15 F F3(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 610.8 R 5.884(.T)-.4 G(he)
+-5.884 E F3(substring)3.724 E F0 -.25(va)3.604 G .885(lue pro).25 F .885
+(vides functionality analogous to)-.15 F(the)144 622.8 Q F1(%?)3.334 E
+F0 .834(job identi\214er \(see)5.834 F F2 .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 634.8 R 2.816(sn)-.55 G .316
+(ame; this pro)-2.816 F .316(vides functionality analogous to the)-.15 F
+F1(%)2.816 E F3(string)A F0(job)2.816 E(identi\214er)144 646.8 Q(.)-.55
+E F1(histchars)108 663.6 Q F0 2.07(The tw)144 675.6 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 F2(HIST)4.569 E(OR)
+-.162 E(Y)-.315 E(EXP)144 687.6 Q(ANSION)-.666 E F0(belo)3.465 E 3.715
+(w\). The)-.25 F 1.215(\214rst character is the)3.715 F F3 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 699.6 R .798(xpansion, normally `)-.15 F F1(!)A F0 3.298('. The)B
+.798(second character is the)3.298 F F3(quic)3.298 E 3.298(ks)-.2 G
+(ubstitu-)-3.298 E(tion)144 711.6 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 723.6 R .575(The def)
+5.575 F .575(ault is `)-.1 F F1(^)A F0 3.075('. The)B .575
+(optional third character is the)3.075 F(GNU Bash-4.0)72 768 Q
+(2008 June 29)147.345 E(15)197.335 E 0 Cg EP
 %%Page: 16 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/F1 10/Times-Bold@0 SF(declar)108 84 Q 3.376<65ad>-.18 G(a)-3.376
-E/F2 10/Times-Italic@0 SF(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 96 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
-(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 112.8
-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 124.8 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
-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 136.8 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 148.8 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 160.8 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 177.6 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 189.6 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 201.6 R 1.056(fer only when the w)-.25 F 1.057
+-.35 E .223(character which indicates that the remainder of the line is\
+ a comment when found as the \214rst char)144 84 R(-)-.2 E 1.294
+(acter of a w)144 96 R 1.294(ord, normally `)-.1 F/F1 10/Times-Bold@0 SF
+(#)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 108 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 120 Q F1(Arrays)87 136.8 Q(Bash)
+108 148.8 Q F0(pro)3.391 E .891(vides one-dimensional inde)-.15 F -.15
+(xe)-.15 G 3.391(da).15 G .891(nd associati)-3.391 F 1.191 -.15(ve a)
+-.25 H .891(rray v).15 F 3.391(ariables. An)-.25 F 3.391(yv)-.15 G .89
+(ariable may be used as an)-3.641 F(inde)108 160.8 Q -.15(xe)-.15 G
+2.573(da).15 G .073(rray; the)-2.573 F F1(declar)2.573 E(e)-.18 E F0 -.2
+(bu)2.573 G .073(iltin will e).2 F .073(xplicitly declare an array)-.15
+F 5.073(.T)-.65 G .074(here is no maximum limit on the size of)-5.073 F
+.329(an array)108 172.8 R 2.829(,n)-.65 G .329(or an)-2.829 F 2.829(yr)
+-.15 G .329(equirement that members be inde)-2.829 F -.15(xe)-.15 G
+2.829(do).15 G 2.829(ra)-2.829 G .328(ssigned contiguously)-2.829 F
+5.328(.I)-.65 G(nde)-5.328 E -.15(xe)-.15 G 2.828(da).15 G .328
+(rrays are refer)-2.828 F(-)-.2 E 1.386(enced using inte)108 184.8 R
+1.386(gers \(including arithmetic e)-.15 F 3.887(xpressions\) and)-.15 F
+1.387(are zero-based; associati)3.887 F 1.687 -.15(ve a)-.25 H 1.387
+(rrays are refer).15 F(-)-.2 E(enced using arbitrary strings.)108 196.8
+Q 2.463(An inde)108 213.6 R -.15(xe)-.15 G 4.963(da).15 G 2.463
+(rray is created automatically if an)-4.963 F 4.963(yv)-.15 G 2.462
+(ariable is assigned to using the syntax)-5.213 F/F2 10/Times-Italic@0
+SF(name)4.962 E F0([)A F2(sub-)A(script)108 225.6 Q F0(]=)A F2(value)A
+F0 5.682(.T)C(he)-5.682 E F2(subscript)3.522 E F0 .682
+(is treated as an arithmetic e)3.862 F .682(xpression that must e)-.15 F
+-.25(va)-.25 G .682(luate to a number greater).25 F .75
+(than or equal to zero.)108 237.6 R 2.349 -.8(To e)5.749 H .749
+(xplicitly declare an inde).65 F -.15(xe)-.15 G 3.249(da).15 G(rray)
+-3.249 E 3.249(,u)-.65 G(se)-3.249 E F1(declar)3.249 E 3.249<65ad>-.18 G
+(a)-3.249 E F2(name)3.249 E F0(\(see)3.249 E/F3 9/Times-Bold@0 SF .749
+(SHELL B)3.249 F(UIL)-.09 E(TIN)-.828 E(COMMANDS)108 249.6 Q F0(belo)
+2.25 E(w\).)-.25 E F1(declar)5 E 2.5<65ad>-.18 G(a)-2.5 E F2(name)2.5 E
+F1([)A F2(subscript)A F1(])A F0(is also accepted; the)2.5 E F2
+(subscript)2.5 E F0(is ignored.)2.5 E(Associati)108 266.4 Q .3 -.15
+(ve a)-.25 H(rrays are created using).15 E F1(declar)2.5 E 2.5<65ad>-.18
+G(A)-2.5 E F2(name)2.5 E F0(.)A(Attrib)108 283.2 Q .94
+(utes may be speci\214ed for an array v)-.2 F .941(ariable using the)
+-.25 F F1(declar)3.441 E(e)-.18 E F0(and)3.441 E F1 -.18(re)3.441 G
+(adonly).18 E F0 -.2(bu)3.441 G 3.441(iltins. Each).2 F(attrib)3.441 E
+(ute)-.2 E(applies to all members of an array)108 295.2 Q(.)-.65 E 1.647
+(Arrays are assigned to using compound assignments of the form)108 312 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.147(,w)C 1.647(here each)
+-4.147 F F2(value)108 324 Q F0 .122(is of the form [)2.622 F F2
+(subscript)A F0(]=)A F2(string)A F0 5.122(.I)C(nde)-5.122 E -.15(xe)-.15
+G 2.622(da).15 G .122(rray assignments do not require the brack)-2.622 F
+.122(et and subscript.)-.1 F .164(When assigning to inde)108 336 R -.15
+(xe)-.15 G 2.663(da).15 G .163(rrays, if the optional brack)-2.663 F
+.163(ets and subscript are supplied, that inde)-.1 F 2.663(xi)-.15 G
+2.663(sa)-2.663 G(ssigned)-2.663 E 1.41(to; otherwise the inde)108 348 R
+3.91(xo)-.15 G 3.91(ft)-3.91 G 1.41
+(he element assigned is the last inde)-3.91 F 3.911(xa)-.15 G 1.411
+(ssigned to by the statement plus one.)-3.911 F(Inde)108 360 Q
+(xing starts at zero.)-.15 E(When assigning to an associati)108 376.8 Q
+.3 -.15(ve a)-.25 H(rray).15 E 2.5(,t)-.65 G(he subscript is required.)
+-2.5 E .24(This syntax is also accepted by the)108 393.6 R F1(declar)
+2.74 E(e)-.18 E F0 -.2(bu)2.739 G 2.739(iltin. Indi).2 F .239
+(vidual array elements may be assigned to using the)-.25 F F2(name)108
+405.6 Q 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 422.4 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 434.4 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 446.4 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 213.6 Q F2(name)A F0 .521([*]} e)B
+(ord is double-quoted,)-.1 F(${)108 458.4 Q F2(name)A F0 .521([*]} e)B
 .521(xpands to a single w)-.15 F .521(ord with the v)-.1 F .52
 (alue of each array member separated by the \214rst character)-.25 F
-1.374(of the)108 225.6 R/F3 9/Times-Bold@0 SF(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 237.6 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 249.6 R .759
-(ord, the e)-.1 F .759
+1.374(of the)108 470.4 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
+482.4 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 494.4 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
-261.6 R .516(xpansion of the last parameter is joined with the last par\
+506.4 R .516(xpansion of the last parameter is joined with the last par\
 t of the original w)-.15 F 3.015(ord. This)-.1 F .515(is analogous)3.015
-F .227(to the e)108 273.6 R .228(xpansion of the special parameters)-.15
+F .227(to the e)108 518.4 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 285.6
+(\). ${#).15 F F2(name)A F0([)A F2(subscript)A F0(]})A -.15(ex)108 530.4
 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 297.6
-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 309.6 Q(The)108 326.4 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
-(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
-338.4 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 F1(unset)6.38 E F2(name)
-3.88 E F0(,)A(where)108 350.4 Q F2(name)2.5 E F0(is an array)2.5 E 2.5
-(,o)-.65 G(r)-2.5 E F1(unset)2.5 E F2(name)2.5 E F0([)A F2(subscript)A
-F0(], where)A F2(subscript)2.5 E F0(is)2.5 E F1(*)2.5 E F0(or)2.5 E F1
+(xpansion is the number of ele-)-.15 F .462(ments in the array)108 542.4
+R 5.462(.R)-.65 G .462(eferencing an array v)-5.462 F .463
+(ariable without a subscript is equi)-.25 F -.25(va)-.25 G .463
+(lent to referencing the array).25 F(with a subscript of 0.)108 554.4 Q
+(The)108 571.2 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(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 583.2 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 F1(unset)6.38 E F2
+(name)3.88 E F0(,)A(where)108 595.2 Q F2(name)2.5 E F0(is an array)2.5 E
+2.5(,o)-.65 G(r)-2.5 E F1(unset)2.5 E F2(name)2.5 E F0([)A F2(subscript)
+F0(], where)A F2(subscript)2.5 E F0(is)2.5 E F1(*)2.5 E F0(or)2.5 E F1
 (@)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 367.2 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 379.2 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 391.2 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 408 Q(ANSION)-.81 E F0 .76(Expansion is perform\
-ed on the command line after it has been split into w)108 420 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 432 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 444 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 460.8 R .471(xpansions is: brace e)-.15 F .471
+(he entire array)-2.5 E(.)-.65 E(The)108 612 Q F1(declar)3.574 E(e)-.18
+E F0(,)A F1(local)3.574 E F0 3.574(,a)C(nd)-3.574 E F1 -.18(re)3.574 G
+(adonly).18 E F0 -.2(bu)3.574 G 1.073(iltins each accept a).2 F F1<ad61>
+3.573 E F0 1.073(option to specify an inde)3.573 F -.15(xe)-.15 G 3.573
+(da).15 G 1.073(rray and a)-3.573 F F1<ad41>3.573 E F0 .751
+(option to specify an associati)108 624 R 1.051 -.15(ve a)-.25 H(rray)
+.15 E 5.751(.T)-.65 G(he)-5.751 E F1 -.18(re)3.251 G(ad).18 E F0 -.2(bu)
+3.251 G .752(iltin accepts a).2 F F1<ad61>3.252 E F0 .752
+(option to assign a list of w)3.252 F .752(ords read)-.1 F .502
+(from the standard input to an array)108 636 R 5.502(.T)-.65 G(he)-5.502
+E F1(set)3.002 E F0(and)3.002 E F1(declar)3.002 E(e)-.18 E F0 -.2(bu)
+3.002 G .502(iltins display array v).2 F .502(alues in a w)-.25 F .502
+(ay that allo)-.1 F(ws)-.25 E(them to be reused as assignments.)108 648
+Q/F4 10.95/Times-Bold@0 SF(EXP)72 664.8 Q(ANSION)-.81 E F0 .76(Expansio\
+n is performed on the command line after it has been split into w)108
+676.8 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 688.8 S .37(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 .369
+(command sub-)2.869 F(stitution)108 700.8 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 .47(The order of e)108 717.6 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 472.8 Q
+.471(ariable and arithmetic e)-3.221 F(xpansion)-.15 E
+(and command substitution \(done in a left-to-right f)108 729.6 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 489.6 Q
-(xpansion a)-.15 E -.25(va)-.2 G(ilable:).25 E F2(pr)2.5 E
-(ocess substitution)-.45 E F0(.)A 1.486(Only brace e)108 506.4 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 518.4 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 530.4 S(pansions of ").15 E F1($@)A F0 2.5("a)C(nd ")
--2.5 E F1(${)A F2(name)A F1([@]})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 -.666(PA)2.5 G
-(RAMETERS).666 E/F5 9/Times-Roman@0 SF(\).)A F1(Brace Expansion)87 547.2
-Q F2(Br)108.58 559.2 Q .606(ace e)-.15 F(xpansion)-.2 E F0 .606
+(GNU Bash-4.0)72 768 Q(2008 June 29)147.345 E(16)197.335 E 0 Cg EP
+%%Page: 17 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
+(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.487(Only brace e)108 100.8
+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 112.8 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 124.8 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)
+-.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 571.2 Q F2 .415
+.606(This mechanism is similar)5.606 F(to)108 165.6 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 583.2 R F2(pr)2.651 E(eamble)
+(he)-2.915 E .152(form of an optional)108 177.6 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 595.2 R
-.563(wed by an optional)-.25 F F2(postscript)3.063 E F0 5.563(.T).68 G
+F(xpres-)-.15 E .563(sion between a pair of braces, follo)108 189.6 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 607.2 R .659(xpanding left to)-.15 F(right.)
-108 619.2 Q .719(Brace e)108 636 R .719(xpansions may be nested.)-.15 F
-.719(The results of each e)5.719 F .719
+ch resulting string, e)108 201.6 R .658(xpanding left to)-.15 F(right.)
+108 213.6 Q .718(Brace e)108 230.4 R .719(xpansions may be nested.)-.15
+.719(The results of each e)5.719 F .719
 (xpanded string are not sorted; left to right order is)-.15 F(preserv)
-108 648 Q 2.5(ed. F)-.15 F(or e)-.15 E(xample, a)-.15 E F1({)A F0(d,c,b)
-A F1(})A F0 2.5(ee)C(xpands into `ade ace abe'.)-2.65 E 2.991(As)108
-664.8 S .491(equence e)-2.991 F .491(xpression tak)-.15 F .491
-(es the form)-.1 F F1({)2.991 E F2(x)A F1(..)A F2(y)A F1([..)A F2(incr)A
-F1(]})A F2 2.991(,w)C(her)-2.991 E 2.991(exa)-.37 G .491(nd y ar)-2.991
-F 2.991(ee)-.37 G .492(ither inte)-2.991 F -.1(ge)-.4 G .692 -.1(rs o).1
-H 2.992(rs).1 G .492(ingle c)-2.992 F(har)-.15 E(acter)-.15 E(s,)-.1 E
-.526(and incr)108 676.8 R 3.026(,a)-1.11 G 3.026(no)-3.026 G .526
-(ptional incr)-3.026 F .526(ement, is an inte)-.37 F -.1(ge)-.4 G 5.246
+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 2.992(As)
+108 259.2 S .492(equence e)-2.992 F .492(xpression tak)-.15 F .492
+(es the form)-.1 F F2({)2.991 E F1(x)A F2(..)A F1(y)A F2([..)A F1(incr)A
+F2(]})A F1 2.991(,w)C(her)-2.991 E 2.991(exa)-.37 G .491(nd y ar)-2.991
+F 2.991(ee)-.37 G .491(ither inte)-2.991 F -.1(ge)-.4 G .691 -.1(rs o).1
+H 2.991(rs).1 G .491(ingle c)-2.991 F(har)-.15 E(acter)-.15 E(s,)-.1 E
+.525(and incr)108 271.2 R 3.025(,a)-1.11 G 3.025(no)-3.025 G .525
+(ptional incr)-3.025 F .525(ement, is an inte)-.37 F -.1(ge)-.4 G 5.246
 -1.11(r. W).1 H .526(hen inte)1.11 F -.1(ge)-.4 G .726 -.1(rs a).1 H
-1.265 -.37(re s).1 H .525(upplied, the e).37 F(xpr)-.2 E .525(ession e)
--.37 F .525(xpands to eac)-.2 F(h)-.15 E .224(number between x and y)108
-688.8 R 2.724(,i)-.55 G(nclusive)-2.724 E 5.224(.S)-.15 G .224
+1.266 -.37(re s).1 H .526(upplied, the e).37 F(xpr)-.2 E .526(ession e)
+-.37 F .526(xpands to eac)-.2 F(h)-.15 E .225(number between x and y)108
+283.2 R 2.724(,i)-.55 G(nclusive)-2.724 E 5.224(.S)-.15 G .224
 (upplied inte)-5.224 F -.1(ge)-.4 G .424 -.1(rs m).1 H .224(ay be pr).1
-F .224(e\214xed with 0 to for)-.37 F .224(ce eac)-.37 F 2.725(ht)-.15 G
-.225(erm to have the)-2.725 F .606(same width.)108 700.8 R .606
-(When either x or y be)5.606 F .606(gins with a zer)-.4 F .605
-(o, the shell attempts to for)-.45 F .605(ce all g)-.37 F(ener)-.1 E
-.605(ated terms to con-)-.15 F .658(tain the same number of digits, zer)
-108 712.8 R .658(o-padding wher)-.45 F 3.158(en)-.37 G(ecessary)-3.158 E
+F .224(e\214xed with 0 to for)-.37 F .224(ce eac)-.37 F 2.724(ht)-.15 G
+.224(erm to have the)-2.724 F .605(same width.)108 295.2 R .605
+(When either x or y be)5.605 F .605(gins with a zer)-.4 F .606
+(o, the shell attempts to for)-.45 F .606(ce all g)-.37 F(ener)-.1 E
+.606(ated terms to con-)-.15 F .658(tain the same number of digits, zer)
+108 307.2 R .658(o-padding wher)-.45 F 3.158(en)-.37 G(ecessary)-3.158 E
 5.658(.W)-.55 G .658(hen c)-5.658 F(har)-.15 E(acter)-.15 E 3.158(sa)-.1
-G 1.398 -.37(re s)-3.158 H .658(upplied, the e).37 F(xpr)-.2 E(es-)-.37
-E .685(sion e)108 724.8 R .685(xpands to eac)-.2 F 3.184(hc)-.15 G(har)
+G 1.398 -.37(re s)-3.158 H .657(upplied, the e).37 F(xpr)-.2 E(es-)-.37
+E .684(sion e)108 319.2 R .684(xpands to eac)-.2 F 3.184(hc)-.15 G(har)
 -3.334 E .684(acter le)-.15 F(xico)-.2 E(gr)-.1 E .684
 (aphically between x and y)-.15 F 3.184(,i)-.55 G(nclusive)-3.184 E
-5.684(.N)-.15 G .684(ote that both x and y must)-5.684 F F0
-(GNU Bash-4.0)72 768 Q(2008 May 25)147.345 E(16)197.335 E 0 Cg EP
-%%Page: 17 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/F1 10/Times-Italic@0 SF .757(be of the same type)108 84 R 5.757
-(.W)-.15 G .757(hen the incr)-5.757 F .757
-(ement is supplied, it is used as the dif)-.37 F(fer)-.18 E .758
-(ence between eac)-.37 F 3.258(ht)-.15 G 3.258(erm. The)-3.258 F
-(default incr)108 96 Q(ement is 1 or -1 as appr)-.37 E(opriate)-.45 E(.)
--.15 E F0 .582(Brace e)108 112.8 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 124.8 R .015(ed in the result.)-.15 F .015
-(It is strictly te)5.015 F(xtual.)-.15 E/F2 10/Times-Bold@0 SF(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 136.8 Q
-(xt of the e)-.15 E(xpansion or the te)-.15 E(xt between the braces.)
--.15 E 3.633(Ac)108 153.6 S 1.133(orrectly-formed brace e)-3.633 F 1.132
-(xpansion must contain unquoted opening and closing braces, and at leas\
-t one)-.15 F 3.44(unquoted comma or a v)108 165.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.441(xpansion is left)-.15 F 2.755
-(unchanged. A)108 177.6 R F2({)2.755 E F0(or)2.755 E F2(,)2.755 E F0
+5.684(.N)-.15 G .684(ote that both x and y must)-5.684 F .758
+(be of the same type)108 331.2 R 5.758(.W)-.15 G .758(hen the incr)
+-5.758 F .757(ement is supplied, it is used as the dif)-.37 F(fer)-.18 E
+.757(ence between eac)-.37 F 3.257(ht)-.15 G 3.257(erm. The)-3.257 F
+(default incr)108 343.2 Q(ement is 1 or -1 as appr)-.37 E(opriate)-.45 E
+(.)-.15 E F0 .581(Brace e)108 360 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 372 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 384 Q(xt of the e)
+-.15 E(xpansion or the te)-.15 E(xt between the braces.)-.15 E 3.632(Ac)
+108 400.8 S 1.132(orrectly-formed brace e)-3.632 F 1.132(xpansion must \
+contain unquoted opening and closing braces, and at least one)-.15 F
+3.441(unquoted comma or a v)108 412.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.44(xpansion is left)-.15 F 2.755
+(unchanged. A)108 424.8 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 189.6 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 436.8 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 201.6 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 448.8 Q 1.476(This construct is typically used \
 as shorthand when the common pre\214x of the strings to be generated is)
-108 218.4 R(longer than in the abo)108 230.4 Q .3 -.15(ve ex)-.15 H
-(ample:).15 E(mkdir /usr/local/src/bash/{old,ne)144 247.2 Q -.65(w,)-.25
-G(dist,b).65 E(ugs})-.2 E(or)108 259.2 Q(cho)144 271.2 Q
+108 465.6 R(longer than in the abo)108 477.6 Q .3 -.15(ve ex)-.15 H
+(ample:).15 E(mkdir /usr/local/src/bash/{old,ne)144 494.4 Q -.65(w,)-.25
+G(dist,b).65 E(ugs})-.2 E(or)108 506.4 Q(cho)144 518.4 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 288 R .618
+-.25 E(x}})-.15 E .618(Brace e)108 535.2 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 300 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 312 Q -.15
+(does not treat open-)3.118 F .247
+(ing or closing braces specially when the)108 547.2 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 559.2 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 324 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 336 R F2(sh)2.936 E F0 .436
+3.53 E F0(as)3.53 E F1(\214le{1,2})108 571.2 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 583.2 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 348 Q F0(option to the)2.5 E F2(set)
-2.5 E F0(command \(see)2.5 E/F3 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 -.18(Ti)87 364.8 S
-(lde Expansion).18 E F0 1.087(If a w)108 376.8 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 595.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 612 S
+(lde Expansion).18 E F0 1.086(If a w)108 624 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 388.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 .726(in the tilde-pre\214x\
- are quoted, the characters in the tilde-pre\214x follo)108 400.8 R .725
-(wing the tilde are treated as a possible)-.25 F F1(lo)108 412.8 Q .522
-(gin name)-.1 F F0 5.522(.I)C 3.022(ft)-5.522 G .522
+108 636 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 648 R .726
+(wing the tilde are treated as a possible)-.25 F F1(lo)108 660 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 424.8 Q/F4
-9/Times-Roman@0 SF(.)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 672 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 436.8 Q .092
-(If the tilde-pre\214x is a `~+', the v)108 453.6 R .092
+with the speci\214ed login name.)108 684 Q .093
+(If the tilde-pre\214x is a `~+', the v)108 700.8 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 465.6 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 712.8 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 477.6 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\
-ith the corresponding element from the directory stack, as it w)108
-489.6 R 1.437(ould be displayed by the)-.1 F F2(dirs)3.937 E F0 -.2(bu)
-108 501.6 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
+.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 724.8 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(GNU Bash-4.0)72
+768 Q(2008 June 29)147.345 E(17)197.335 E 0 Cg EP
+%%Page: 18 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 1.437(replaced with the corresponding element from the directory\
+ stack, as it w)108 84 R 1.438(ould be displayed by the)-.1 F/F1 10
+/Times-Bold@0 SF(dirs)3.938 E F0 -.2(bu)108 96 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
 (consist of a number without a leading `+' or `\255', `+' is assumed.)
-108 513.6 Q(If the login name is in)108 530.4 Q -.25(va)-.4 G
+108 108 Q(If the login name is in)108 124.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 .167(Each v)108 547.2 R .167
+(ord is unchanged.)-.1 E .166(Each v)108 141.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 F2(:)2.667 E
-F0 .167(or the \214rst)2.667 F F2(=)2.666 E F0 5.166(.I)C(n)-5.166 E
-.281(these cases, tilde e)108 559.2 R .282(xpansion is also performed.)
+-.1 F .167(es immediately follo)-.15 F .167(wing a)-.25 F F1(:)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 153.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
-571.2 Q F3 -.666(PA)2.5 G(TH)-.189 E F4(,)A F3(MAILP)2.25 E -.855(AT)
--.666 G(H).855 E F4(,)A F0(and)2.25 E F3(CDP)2.5 E -.855(AT)-.666 G(H)
-.855 E F4(,)A F0(and the shell assigns the e)2.25 E(xpanded v)-.15 E
-(alue.)-.25 E F2 -.1(Pa)87 588 S(rameter Expansion).1 E F0 1.606(The `)
-108 600 R F2($)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 612
-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 624 R .033(ariable to be e)-.25 F .033
-(xpanded from characters immediately follo)-.15 F .032
-(wing it which could be interpreted as part)-.25 F(of the name.)108 636
-Q 1.189
+165.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 182.4 S(rameter Expansion).1 E F0 1.605(The `)108 194.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 206.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 218.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
+230.4 Q 1.19
 (When braces are used, the matching ending brace is the \214rst `)108
-652.8 R F2(})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
-664.8 R 2.15(xpansion, command substitution, or parameter)-.15 F -.15
-(ex)108 676.8 S(pansion.).15 E(${)108 693.6 Q F1(par)A(ameter)-.15 E F0
-(})A 1.204(The v)144 705.6 R 1.204(alue of)-.25 F F1(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 F1(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 717.6 R F1(par)4.014 E
+247.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 259.2 R 2.15
+(xpansion, command substitution, or parameter)-.15 F -.15(ex)108 271.2 S
+(pansion.).15 E(${)108 288 Q/F4 10/Times-Italic@0 SF(par)A(ameter)-.15 E
+F0(})A 1.205(The v)144 300 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 312 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 729.6 Q(GNU Bash-4.0)72 768 Q
-(2008 May 25)147.345 E(17)197.335 E 0 Cg EP
-%%Page: 18 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 1.508(If the \214rst character of)108 84 R/F1 10/Times-Italic@0
-SF(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/F2 10
-/Times-Bold@0 SF(Bash)108 96 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 F1
-(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 108 R .351
-(xpanded and that v)-.15 F .352
+(be interpreted as part of its name.)144 324 Q 1.509
+(If the \214rst character of)108 340.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.008(fv)-4.009 G 1.508
+(ariable indirection is introduced.)-4.258 F F1(Bash)108 352.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 .352(able is then e)108 364.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 F1(par)2.852 E(ame-)-.15 E(ter)108 120 Q F0 2.52
-(itself. This)2.52 F .02(is kno)2.52 F .02(wn as)-.25 F F1(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 F1(pr)A
-(e\214x)-.37 E F0 .019(*} and)B(${)108 132 Q F2(!)A F1(name)A F0([)A F1
-(@)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 144 Q
-.334(In each of the cases belo)108 160.8 R -.65(w,)-.25 G F1(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 172.8 R 3.918(xpansion. When)-.15 F 1.418
-(not performing substring e)3.918 F(xpansion,)-.15 E F2(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 184.8 Q
-(${)108 201.6 Q F1(par)A(ameter)-.15 E F2<3aad>A F1(wor)A(d)-.37 E F0(})
-A F2 .723(Use Default V)144 213.6 R(alues)-.92 E F0 5.723(.I)C(f)-5.723
-E F1(par)4.473 E(ameter)-.15 E F0 .723(is unset or null, the e)3.953 F
-.722(xpansion of)-.15 F F1(wor)3.562 E(d)-.37 E F0 .722(is substituted.)
-3.992 F(Other)5.722 E(-)-.2 E(wise, the v)144 225.6 Q(alue of)-.25 E F1
-(par)3.75 E(ameter)-.15 E F0(is substituted.)3.23 E(${)108 237.6 Q F1
-(par)A(ameter)-.15 E F2(:=)A F1(wor)A(d)-.37 E F0(})A F2 2.004
-(Assign Default V)144 249.6 R(alues)-.92 E F0 7.004(.I)C(f)-7.004 E F1
-(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 F1(wor)4.845 E(d)-.37 E F0 2.005
-(is assigned to)5.275 F F1(par)144 261.6 Q(ameter)-.15 E F0 5.279(.T).73
-G .279(he v)-5.279 F .279(alue of)-.25 F F1(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 376.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 388.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 400.8 Q .334(In each of the cases belo)108
+417.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 429.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 441.6 Q(${)
+108 458.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 470.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 482.4 Q(alue of)-.25 E F4
+(par)3.75 E(ameter)-.15 E F0(is substituted.)3.23 E(${)108 494.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 506.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 518.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 273.6 Q(ay)-.1 E(.)-.65 E
-(${)108 285.6 Q F1(par)A(ameter)-.15 E F2(:?)A F1(wor)A(d)-.37 E F0(})A
-F2 .535(Display Err)144 297.6 R .535(or if Null or Unset)-.18 F F0 5.535
-(.I)C(f)-5.535 E F1(par)4.285 E(ameter)-.15 E F0 .535
-(is null or unset, the e)3.765 F .535(xpansion of)-.15 F F1(wor)3.035 E
-(d)-.37 E F0 .535(\(or a mes-)3.035 F .662(sage to that ef)144 309.6 R
-.662(fect if)-.25 F F1(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 321.6 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 F1(par)2.5 E(ameter)-.15 E F0
-(is substituted.)2.5 E(${)108 333.6 Q F1(par)A(ameter)-.15 E F2(:+)A F1
-(wor)A(d)-.37 E F0(})A F2 .745(Use Alter)144 345.6 R .745(nate V)-.15 F
-(alue)-.92 E F0 5.745(.I)C(f)-5.745 E F1(par)4.495 E(ameter)-.15 E F0
+(eters may not be assigned to in this w)144 530.4 Q(ay)-.1 E(.)-.65 E
+(${)108 542.4 Q F4(par)A(ameter)-.15 E F1(:?)A F4(wor)A(d)-.37 E F0(})A
+F1 .535(Display Err)144 554.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 .661(sage to that ef)144 566.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 578.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 590.4 Q F4(par)A(ameter)-.15 E F1(:+)A F4
+(wor)A(d)-.37 E F0(})A F1 .745(Use Alter)144 602.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 357.6 Q F1(wor)2.84 E(d)-.37 E F0
-(is substituted.)3.27 E(${)108 369.6 Q F1(par)A(ameter)-.15 E F2(:)A F1
-(of)A(fset)-.18 E F0(})A(${)108 381.6 Q F1(par)A(ameter)-.15 E F2(:)A F1
-(of)A(fset)-.18 E F2(:)A F1(length)A F0(})A F2 .797
-(Substring Expansion.)144 393.6 R F0 .796(Expands to up to)5.797 F F1
-(length)3.296 E F0 .796(characters of)3.296 F F1(par)3.296 E(ameter)-.15
-E F0 .796(starting at the character)3.296 F .228(speci\214ed by)144
-405.6 R F1(of)2.728 E(fset)-.18 E F0 5.228(.I)C(f)-5.228 E F1(length)
-2.728 E F0 .229(is omitted, e)2.729 F .229(xpands to the substring of)
--.15 F F1(par)2.729 E(ameter)-.15 E F0 .229(starting at the char)2.729 F
-(-)-.2 E .433(acter speci\214ed by)144 417.6 R F1(of)2.933 E(fset)-.18 E
-F0(.)A F1(length)5.433 E F0(and)2.933 E F1(of)2.933 E(fset)-.18 E F0
-.433(are arithmetic e)2.933 F .433(xpressions \(see)-.15 F/F3 9
-/Times-Bold@0 SF .432(ARITHMETIC EV)2.933 F(ALU-)-1.215 E -.855(AT)144
-429.6 S(ION).855 E F0(belo)2.576 E(w\).)-.25 E F1(length)5.326 E F0 .326
-(must e)2.826 F -.25(va)-.25 G .326
-(luate to a number greater than or equal to zero.).25 F(If)5.327 E F1
-(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 441.6 R .015
+(xpan-)-.15 E(sion of)144 614.4 Q F4(wor)2.84 E(d)-.37 E F0
+(is substituted.)3.27 E(${)108 626.4 Q F4(par)A(ameter)-.15 E F1(:)A F4
+(of)A(fset)-.18 E F0(})A(${)108 638.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 650.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 .797(starting at the character)3.296 F .229(speci\214ed by)144
+662.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 674.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 .433
+(ARITHMETIC EV)2.933 F(ALU-)-1.215 E -.855(AT)144 686.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.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 698.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 F1(par)2.515 E(ameter)-.15 E F0 5.015(.I)C(f)-5.015
-E F1(par)144 453.6 Q(ameter)-.15 E F0(is)3.25 E F2(@)3.25 E F0 3.25(,t)C
-.75(he result is)-3.25 F F1(length)3.25 E F0 .75
-(positional parameters be)3.25 F .75(ginning at)-.15 F F1(of)3.25 E
-(fset)-.18 E F0 5.75(.I)C(f)-5.75 E F1(par)3.25 E(ameter)-.15 E F0 .75
-(is an)3.25 F 1.835(array name inde)144 465.6 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 F1(length)4.335 E F0 1.834
-(members of the array be)4.335 F 1.834(ginning with)-.15 F(${)144 477.6
-Q F1(par)A(ameter)-.15 E F0([)A F1(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 F1(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 489.6 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 501.6 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 .299
-(positional parameters are used, in which case the inde)144 513.6 R .299
-(xing starts at 1 by def)-.15 F 2.799(ault. If)-.1 F F1(of)2.799 E(fset)
--.18 E F0 .298(is 0, and)2.799 F(the positional parameters are used,)144
-525.6 Q F2($0)2.5 E F0(is pre\214x)2.5 E(ed to the list.)-.15 E(${)108
-542.4 Q F2(!)A F1(pr)A(e\214x)-.37 E F2(*)A F0(})A(${)108 554.4 Q F2(!)A
-F1(pr)A(e\214x)-.37 E F2(@)A F0(})A .42(Expands to the names of v)144
-566.4 R .42(ariables whose names be)-.25 F .42(gin with)-.15 F F1(pr)
-2.92 E(e\214x)-.37 E F0 2.92(,s)C .42(eparated by the \214rst character)
--2.92 F .099(of the)144 578.4 R F3(IFS)2.599 E F0 .099(special v)2.349 F
-2.599(ariable. When)-.25 F F1(@)2.599 E F0 .098(is used and the e)2.599
-F .098(xpansion appears within double quotes, each)-.15 F -.25(va)144
-590.4 S(riable name e).25 E(xpands to a separate w)-.15 E(ord.)-.1 E(${)
-108 607.2 Q F2(!)A F1(name)A F0([)A F1(@)A F0(]})A(${)108 619.2 Q F2(!)A
-F1(name)A F0([)A F1(*)A F0(]})A(If)144 631.2 Q F1(name)2.921 E F0 .421
+.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 710.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(inde)144 722.4 Q -.15(xe)-.15 G 2.701(da).15 G .201
+(rray name subscripted by @ or *, the result is the)-2.701 F F4(length)
+2.701 E F0 .202(members of the array be)2.701 F(ginning)-.15 E
+(GNU Bash-4.0)72 768 Q(2008 June 29)147.345 E(18)197.335 E 0 Cg EP
+%%Page: 19 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 1.283(with ${)144 84 R/F1 10/Times-Italic@0 SF(par)A(ameter)-.15
+E F0([)A F1(of)A(fset)-.18 E F0 3.783(]}. A)B(ne)3.783 E -.05(ga)-.15 G
+(ti).05 E -.15(ve)-.25 G F1(of)3.933 E(fset)-.18 E F0 1.282(is tak)3.782
+F 1.282(en relati)-.1 F 1.582 -.15(ve t)-.25 H 3.782(oo).15 G 1.282
+(ne greater than the maximum)-3.782 F(inde)144 96 Q 3.434(xo)-.15 G
+3.434(ft)-3.434 G .934(he speci\214ed array)-3.434 F 5.934(.S)-.65 G
+.935(ubstring e)-5.934 F .935(xpansion applied to an associati)-.15 F
+1.235 -.15(ve a)-.25 H .935(rray produces unde-).15 F .262
+(\214ned results.)144 108 R .261(Note that a ne)5.262 F -.05(ga)-.15 G
+(ti).05 E .561 -.15(ve o)-.25 H -.25(ff).15 G .261
+(set must be separated from the colon by at least one space to).25 F -.2
+(avo)144 120 S .154(id being confused with the :- e).2 F 2.655
+(xpansion. Substring)-.15 F(inde)2.655 E .155
+(xing is zero-based unless the positional)-.15 F .532
+(parameters are used, in which case the inde)144 132 R .532
+(xing starts at 1 by def)-.15 F 3.032(ault. If)-.1 F F1(of)3.032 E(fset)
+-.18 E F0 .532(is 0, and the posi-)3.032 F(tional parameters are used,)
+144 144 Q/F2 10/Times-Bold@0 SF($0)2.5 E F0(is pre\214x)2.5 E
+(ed to the list.)-.15 E(${)108 160.8 Q F2(!)A F1(pr)A(e\214x)-.37 E F2
+(*)A F0(})A(${)108 172.8 Q F2(!)A F1(pr)A(e\214x)-.37 E F2(@)A F0(})A
+.42(Expands to the names of v)144 184.8 R .42(ariables whose names be)
+-.25 F .42(gin with)-.15 F F1(pr)2.92 E(e\214x)-.37 E F0 2.92(,s)C .42
+(eparated by the \214rst character)-2.92 F .099(of the)144 196.8 R/F3 9
+/Times-Bold@0 SF(IFS)2.599 E F0 .099(special v)2.349 F 2.599
+(ariable. When)-.25 F F1(@)2.599 E F0 .098(is used and the e)2.599 F
+.098(xpansion appears within double quotes, each)-.15 F -.25(va)144
+208.8 S(riable name e).25 E(xpands to a separate w)-.15 E(ord.)-.1 E(${)
+108 225.6 Q F2(!)A F1(name)A F0([)A F1(@)A F0(]})A(${)108 237.6 Q F2(!)A
+F1(name)A F0([)A F1(*)A F0(]})A(If)144 249.6 Q F1(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 F1(name)2.921 E F0 5.422(.I)C(f)-5.422 E F1(name)
-2.922 E F0 .238(is not an array)144 643.2 R 2.738(,e)-.65 G .238
+2.922 E F0 .238(is not an array)144 261.6 R 2.738(,e)-.65 G .238
 (xpands to 0 if)-2.888 F F1(name)2.738 E F0 .237
 (is set and null otherwise.)2.738 F(When)5.237 E F1(@)2.737 E F0 .237
 (is used and the e)2.737 F(xpansion)-.15 E
-(appears within double quotes, each k)144 655.2 Q .3 -.15(ey ex)-.1 H
-(pands to a separate w).15 E(ord.)-.1 E(${)108 672 Q F2(#)A F1(par)A
-(ameter)-.15 E F0(})A 1.391(The length in characters of the v)144 684 R
-1.392(alue of)-.25 F F1(par)3.892 E(ameter)-.15 E F0 1.392
+(appears within double quotes, each k)144 273.6 Q .3 -.15(ey ex)-.1 H
+(pands to a separate w).15 E(ord.)-.1 E(${)108 290.4 Q F2(#)A F1(par)A
+(ameter)-.15 E F0(})A 1.391(The length in characters of the v)144 302.4
+1.392(alue of)-.25 F F1(par)3.892 E(ameter)-.15 E F0 1.392
 (is substituted.)3.892 F(If)6.392 E F1(par)5.142 E(ameter)-.15 E F0(is)
 4.622 E F2(*)3.892 E F0(or)3.892 E F2(@)3.892 E F0 3.892(,t)C(he)-3.892
-E -.25(va)144 696 S 1.749
+E -.25(va)144 314.4 S 1.749
 (lue substituted is the number of positional parameters.).25 F(If)6.749
 E F1(par)5.498 E(ameter)-.15 E F0 1.748(is an array name sub-)4.978 F
-(scripted by)144 708 Q F2(*)2.5 E F0(or)2.5 E F2(@)2.5 E F0 2.5(,t)C
+(scripted by)144 326.4 Q F2(*)2.5 E F0(or)2.5 E F2(@)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(GNU Bash-4.0)72 768 Q(2008 May 25)147.345 E(18)197.335 E
-0 Cg EP
-%%Page: 19 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-Italic@0 SF(par)A(ameter)-.15 E/F2 10
-/Times-Bold@0 SF(#)A F1(wor)A(d)-.37 E F0(})A(${)108 96 Q F1(par)A
-(ameter)-.15 E F2(##)A F1(wor)A(d)-.37 E F0(})A(The)144 108 Q F1(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
+-.25 E(.)-.65 E(${)108 343.2 Q F1(par)A(ameter)-.15 E F2(#)A F1(wor)A(d)
+-.37 E F0(})A(${)108 355.2 Q F1(par)A(ameter)-.15 E F2(##)A F1(wor)A(d)
+-.37 E F0(})A(The)144 367.2 Q F1(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
-120 R .412(ginning of the v)-.15 F .411(alue of)-.25 F F1(par)2.911 E
+379.2 R .412(ginning of the v)-.15 F .411(alue of)-.25 F F1(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
-F1(par)145.25 132 Q(ameter)-.15 E F0 .607
+F1(par)145.25 391.2 Q(ameter)-.15 E F0 .607
 (with the shortest matching pattern \(the `)3.837 F(`)-.74 E F2(#)A F0
 2.087 -.74('' c)D .607(ase\) or the longest matching pattern \(the).74 F
--.74(``)144 144 S F2(##).74 E F0 1.654 -.74('' c)D .174(ase\) deleted.)
-.74 F(If)5.174 E F1(par)3.924 E(ameter)-.15 E F0(is)3.404 E F2(@)2.674 E
-F0(or)2.674 E F2(*)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 156 R .654
+-.74(``)144 403.2 S F2(##).74 E F0 1.654 -.74('' c)D .174
+(ase\) deleted.).74 F(If)5.174 E F1(par)3.924 E(ameter)-.15 E F0(is)
+3.404 E F2(@)2.674 E F0(or)2.674 E F2(*)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 415.2 R .654
 (xpansion is the resultant list.)-.15 F(If)5.655 E F1(par)4.405 E
 (ameter)-.15 E F0 .655(is an array v)3.885 F(ariable)-.25 E .651
-(subscripted with)144 168 R F2(@)3.151 E F0(or)3.151 E F2(*)3.151 E F0
+(subscripted with)144 427.2 R F2(@)3.151 E F0(or)3.151 E F2(*)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 180 Q(xpansion is the resultant list.)-.15 E(${)108
-196.8 Q F1(par)A(ameter)-.15 E F2(%)A F1(wor)A(d)-.37 E F0(})A(${)108
-208.8 Q F1(par)A(ameter)-.15 E F2(%%)A F1(wor)A(d)-.37 E F0(})A(The)144
-220.8 Q F1(wor)2.618 E(d)-.37 E F0 .118(is e)2.618 F .119
+(turn, and the e)144 439.2 Q(xpansion is the resultant list.)-.15 E(${)
+108 456 Q F1(par)A(ameter)-.15 E F2(%)A F1(wor)A(d)-.37 E F0(})A(${)108
+468 Q F1(par)A(ameter)-.15 E F2(%%)A F1(wor)A(d)-.37 E F0(})A(The)144
+480 Q F1(wor)2.618 E(d)-.37 E F0 .118(is e)2.618 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 232.8 R 2.402(xpanded v)-.15 F 2.401
+(trailing portion of the e)144 492 R 2.402(xpanded v)-.15 F 2.401
 (alue of)-.25 F F1(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 244.8 S 1.152(panded v).15 F 1.152(alue of)-.25 F F1(par)4.902 E
+144 504 S 1.152(panded v).15 F 1.152(alue of)-.25 F F1(par)4.902 E
 (ameter)-.15 E F0 1.152(with the shortest matching pattern \(the `)4.382
 F(`)-.74 E F2(%)A F0 2.632 -.74('' c)D 1.153(ase\) or the longest).74 F
-.79(matching pattern \(the `)144 256.8 R(`)-.74 E F2(%%)A F0 2.27 -.74
+.79(matching pattern \(the `)144 516 R(`)-.74 E F2(%%)A F0 2.27 -.74
 ('' c)D .79(ase\) deleted.).74 F(If)5.79 E F1(par)4.54 E(ameter)-.15 E
 F0(is)4.02 E F2(@)3.29 E F0(or)3.29 E F2(*)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 268.8 R 1.758(xpansion is the resultant list.)-.15 F(If)6.759 E F1
-(par)145.25 280.8 Q(ameter)-.15 E F0 .089(is an array v)3.319 F .089
+144 528 R 1.758(xpansion is the resultant list.)-.15 F(If)6.759 E F1
+(par)145.25 540 Q(ameter)-.15 E F0 .089(is an array v)3.319 F .089
 (ariable subscripted with)-.25 F F2(@)2.589 E F0(or)2.589 E F2(*)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 292.8 Q
-(xpansion is the resultant list.)-.15 E(${)108 309.6 Q F1(par)A(ameter)
--.15 E F2(/)A F1(pattern)A F2(/)A F1(string)A F0(})A(The)144 321.6 Q F1
+(each member of the array in turn, and the e)144 552 Q
+(xpansion is the resultant list.)-.15 E(${)108 568.8 Q F1(par)A(ameter)
+-.15 E F2(/)A F1(pattern)A F2(/)A F1(string)A F0(})A(The)144 580.8 Q F1
 (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 F1 -.8(Pa)7.585 G -.15(ra).8 G(meter).15 E F0(is)5.085 E -.15(ex)
-144 333.6 S 1.452(panded and the longest match of).15 F F1(pattern)3.951
+144 592.8 S 1.452(panded and the longest match of).15 F F1(pattern)3.951
 E F0(ag)3.951 E 1.451(ainst its v)-.05 F 1.451(alue is replaced with)
 -.25 F F1(string)3.951 E F0 6.451(.I)C(f)-6.451 E F1(pattern)3.951 E F0
-(be)144 345.6 Q 1.236(gins with)-.15 F F2(/)3.736 E F0 3.737(,a)C 1.237
+(be)144 604.8 Q 1.236(gins with)-.15 F F2(/)3.736 E F0 3.737(,a)C 1.237
 (ll matches of)-3.737 F F1(pattern)3.737 E F0 1.237(are replaced with)
 3.737 F F1(string)3.737 E F0 6.237(.N)C 1.237
-(ormally only the \214rst match is)-6.237 F 2.58(replaced. If)144 357.6
+(ormally only the \214rst match is)-6.237 F 2.58(replaced. If)144 616.8
 R F1(pattern)2.58 E F0(be)2.58 E .08(gins with)-.15 F F2(#)2.58 E F0
 2.58(,i)C 2.58(tm)-2.58 G .079(ust match at the be)-2.58 F .079
 (ginning of the e)-.15 F .079(xpanded v)-.15 F .079(alue of)-.25 F F1
-(par)2.579 E(am-)-.15 E(eter)144 369.6 Q F0 5.761(.I)C(f)-5.761 E F1
+(par)2.579 E(am-)-.15 E(eter)144 628.8 Q F0 5.761(.I)C(f)-5.761 E F1
 (pattern)3.261 E F0(be)3.261 E .761(gins with)-.15 F F2(%)3.261 E F0
 3.261(,i)C 3.261(tm)-3.261 G .761(ust match at the end of the e)-3.261 F
 .761(xpanded v)-.15 F .761(alue of)-.25 F F1(par)3.262 E(ameter)-.15 E
-F0 5.762(.I)C(f)-5.762 E F1(string)144 381.6 Q F0 1.938
+F0 5.762(.I)C(f)-5.762 E F1(string)144 640.8 Q F0 1.938
 (is null, matches of)4.438 F F1(pattern)4.438 E F0 1.938
 (are deleted and the)4.438 F F2(/)4.437 E F0(follo)4.437 E(wing)-.25 E
 F1(pattern)4.437 E F0 1.937(may be omitted.)4.437 F(If)6.937 E F1(par)
-145.25 393.6 Q(ameter)-.15 E F0(is)3.328 E F2(@)2.598 E F0(or)2.598 E F2
+145.25 652.8 Q(ameter)-.15 E F0(is)3.328 E F2(@)2.598 E F0(or)2.598 E F2
 (*)2.598 E F0 2.598(,t)C .098(he substitution operation is applied to e\
-ach positional parameter in turn, and)-2.598 F .64(the e)144 405.6 R .64
+ach positional parameter in turn, and)-2.598 F .64(the e)144 664.8 R .64
 (xpansion is the resultant list.)-.15 F(If)5.64 E F1(par)4.39 E(ameter)
 -.15 E F0 .64(is an array v)3.87 F .64(ariable subscripted with)-.25 F
 F2(@)3.14 E F0(or)3.14 E F2(*)3.14 E F0 3.14(,t)C(he)-3.14 E 1.446(subs\
 titution operation is applied to each member of the array in turn, and \
-the e)144 417.6 R 1.447(xpansion is the)-.15 F(resultant list.)144 429.6
-Q F2(Command Substitution)87 446.4 Q F1 1.698(Command substitution)108
-458.4 R F0(allo)4.198 E 1.697
+the e)144 676.8 R 1.447(xpansion is the)-.15 F(resultant list.)144 688.8
+Q(${)108 705.6 Q F1(par)A(ameter)-.15 E F2(^)A F1(pattern)A F0(})A
+(GNU Bash-4.0)72 768 Q(2008 June 29)147.345 E(19)197.335 E 0 Cg EP
+%%Page: 20 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(${)108 84 Q/F1 10/Times-Italic@0 SF(par)A(ameter)-.15 E/F2 10
+/Times-Bold@0 SF(^^)A F1(pattern)A F0(})A(${)108 96 Q F1(par)A(ameter)
+-.15 E F2(,)A F1(pattern)A F0(})A(${)108 108 Q F1(par)A(ameter)-.15 E F2
+(,,)A F1(pattern)A F0(})A .609(This e)144 120 R .609
+(xpansion modi\214es the case of alphabetic characters in)-.15 F F1(par)
+3.108 E(ameter)-.15 E F0 5.608(.T)C(he)-5.608 E F1(pattern)3.108 E F0
+.608(is e)3.108 F(xpanded)-.15 E 1.733
+(to produce a pattern just as in pathname e)144 132 R 4.233
+(xpansion. The)-.15 F F2(^)4.233 E F0 1.733(operator con)4.233 F -.15
+(ve)-.4 G 1.733(rts lo).15 F 1.733(wercase letters)-.25 F(matching)144
+144 Q F1(pattern)3.861 E F0 1.361(to uppercase; the)3.861 F F2(,)3.861 E
+F0 1.361(operator con)3.861 F -.15(ve)-.4 G 1.361
+(rts matching uppercase letters to lo).15 F(wercase.)-.25 E(The)144 156
+Q F2(^^)2.933 E F0(and)2.933 E F2(,,)2.933 E F0 -.15(ex)2.933 G .433
+(pansions con).15 F -.15(ve)-.4 G .433
+(rt each matched character in the e).15 F .434(xpanded v)-.15 F .434
+(alue; the)-.25 F F2(^)2.934 E F0(and)2.934 E F2(,)2.934 E F0 -.15(ex)
+2.934 G(pan-).15 E .527(sions match and con)144 168 R -.15(ve)-.4 G .526
+(rt only the \214rst character).15 F 5.526(.I)-.55 G(f)-5.526 E F1
+(pattern)3.026 E F0 .526(is omitted, it is treated lik)3.026 F 3.026(ea)
+-.1 G F2(?)A F0 3.026(,w)C(hich)-3.026 E 1.282(matches e)144 180 R -.15
+(ve)-.25 G 1.282(ry character).15 F 6.282(.I)-.55 G(f)-6.282 E F1(par)
+5.032 E(ameter)-.15 E F0(is)4.512 E F2(@)3.782 E F0(or)3.782 E F2(*)
+3.782 E F0 3.782(,t)C 1.282
+(he case modi\214cation operation is applied to)-3.782 F .465
+(each positional parameter in turn, and the e)144 192 R .465
+(xpansion is the resultant list.)-.15 F(If)5.465 E F1(par)4.215 E
+(ameter)-.15 E F0 .465(is an array)3.695 F -.25(va)144 204 S .143
+(riable subscripted with).25 F F2(@)2.643 E F0(or)2.643 E F2(*)2.643 E
+F0 2.643(,t)C .143
+(he case modi\214cation operation is applied to each member of the)
+-2.643 F(array in turn, and the e)144 216 Q
+(xpansion is the resultant list.)-.15 E F2(Command Substitution)87 232.8
+Q F1 1.698(Command substitution)108 244.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 470.4 Q F2($\()144 492 Q F1
-(command)A F2(\))1.666 E F0(or)108 504 Q F2<92>144 516 Q F1(command)A F2
-<92>A(Bash)108 532.8 Q F0 .019(performs the e)2.519 F .019
+(There are tw)6.697 F(o)-.1 E(forms:)108 256.8 Q F2($\()144 278.4 Q F1
+(command)A F2(\))1.666 E F0(or)108 290.4 Q F2<92>144 302.4 Q F1(command)
+A F2<92>A(Bash)108 319.2 Q F0 .019(performs the e)2.519 F .019
 (xpansion by e)-.15 F -.15(xe)-.15 G(cuting).15 E F1(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 544.8 R 3.268(yt)-.15 G .768
+(dard output of the command, with an)108 331.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(the)108 556.8 Q 3.218
+F .768(wlines are not deleted, b)-.25 F(ut)-.2 E(the)108 343.2 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 F2($\(cat)3.219 E F1(\214le)3.219 E F2
-(\))A F0 .719(can be replaced by the)3.219 F(equi)108 568.8 Q -.25(va)
+(\))A F0 .719(can be replaced by the)3.219 F(equi)108 355.2 Q -.25(va)
 -.25 G(lent b).25 E(ut f)-.2 E(aster)-.1 E F2($\(<)2.5 E F1(\214le)2.5 E
 F2(\))A F0(.)A 1.724(When the old-style backquote form of substitution \
-is used, backslash retains its literal meaning e)108 585.6 R(xcept)-.15
-E .314(when follo)108 597.6 R .314(wed by)-.25 F F2($)2.814 E F0(,)A F2
-<92>2.814 E F0 2.814(,o)C(r)-2.814 E F2(\\)2.814 E F0 5.314(.T)C .315(h\
-e \214rst backquote not preceded by a backslash terminates the command \
-sub-)-5.314 F 3.887(stitution. When)108 609.6 R 1.387(using the $\()
-3.887 F F1(command).833 E F0 3.887(\)f)1.666 G 1.386
+is used, backslash retains its literal meaning e)108 372 R(xcept)-.15 E
+.314(when follo)108 384 R .314(wed by)-.25 F F2($)2.814 E F0(,)A F2<92>
+2.814 E F0 2.814(,o)C(r)-2.814 E F2(\\)2.814 E F0 5.314(.T)C .315(he \
+\214rst backquote not preceded by a backslash terminates the command su\
+b-)-5.314 F 3.887(stitution. When)108 396 R 1.387(using the $\()3.887 F
+F1(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 621.6 Q(.)-.65 E .894
-(Command substitutions may be nested.)108 638.4 R 2.494 -.8(To n)5.894 H
+(mand; none are treated specially)108 408 Q(.)-.65 E .894
+(Command substitutions may be nested.)108 424.8 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 650.4 Q .422
-(If the substitution appears within double quotes, w)108 667.2 R .422
+(quotes with backslashes.)108 436.8 Q .422
+(If the substitution appears within double quotes, w)108 453.6 R .422
 (ord splitting and pathname e)-.1 F .422(xpansion are not performed)-.15
-F(on the results.)108 679.2 Q F2(Arithmetic Expansion)87 696 Q F0 1.034
-(Arithmetic e)108 708 R 1.034(xpansion allo)-.15 F 1.034(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 720 Q(xpansion is:)-.15 E(GNU Bash-4.0)
-72 768 Q(2008 May 25)147.345 E(19)197.335 E 0 Cg EP
-%%Page: 20 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/F1 10/Times-Bold@0 SF($\(\()144 84 Q/F2 10/Times-Italic@0 SF -.2
-(ex)C(pr).2 E(ession)-.37 E F1(\)\))A F0(The)108 100.8 Q F2 -.2(ex)2.666
-G(pr).2 E(ession)-.37 E F0 .165
+F(on the results.)108 465.6 Q F2(Arithmetic Expansion)87 482.4 Q F0
+1.034(Arithmetic e)108 494.4 R 1.034(xpansion allo)-.15 F 1.034
+(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 506.4 Q(xpansion is:)-.15 E F2($\(\()
+144 523.2 Q F1 -.2(ex)C(pr).2 E(ession)-.37 E F2(\)\))A F0(The)108 540 Q
+F1 -.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 112.8 R 6.074(.A)-.65 G 1.074(ll tok)-6.074 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 124.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 141.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 153.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 170.4 Q(ocess Substitution)-.18 E F2(Pr)108 182.4 Q .97
-(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 194.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 206.4
-R F2(FIFO)2.558 E F0 .058(or some \214le in)2.558 F F1(/de)2.558 E(v/fd)
+(treated specially)108 552 R 6.074(.A)-.65 G 1.074(ll tok)-6.074 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 564 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 580.8 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 F1 -.2(ex)108 592.8 S(pr).2 E(ession)-.37 E F0(is in)2.74 E
+-.25(va)-.4 G(lid,).25 E F2(bash)2.5 E F0(prints a message indicating f)
+2.5 E(ailure and no substitution occurs.)-.1 E F2(Pr)87 609.6 Q
+(ocess Substitution)-.18 E F1(Pr)108 621.6 Q .97(ocess substitution)-.45
+F F0 .971(is supported on systems that support named pipes \()3.47 F F1
+(FIFOs)A F0 3.471(\)o)C 3.471(rt)-3.471 G(he)-3.471 E F2(/de)3.471 E
+(v/fd)-.15 E F0 .971(method of)3.471 F .022(naming open \214les.)108
+633.6 R .021(It tak)5.022 F .021(es the form of)-.1 F F2(<\()2.521 E F1
+(list)A F2(\)).833 E F0(or)2.521 E F2(>\()2.521 E F1(list)A F2(\)).833 E
+F0 5.021(.T)C .021(he process)-5.021 F F1(list)2.521 E F0 .021
+(is run with its input or output con-)2.521 F .058(nected to a)108 645.6
+R F1(FIFO)2.558 E F0 .058(or some \214le in)2.558 F F2(/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 218.4 R 2.631(xpansion. If)-.15 F(the)
-2.63 E F1(>\()2.63 E F2(list)A F1(\)).833 E F0 .13
+(mand as the result of the e)108 657.6 R 2.631(xpansion. If)-.15 F(the)
+2.63 E F2(>\()2.63 E F1(list)A F2(\)).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 230.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 247.2 R -.25(va)-.2 G .896(ilable, process substit\
+-.15 F F1(list)2.63 E F0(.)A(If the)108 669.6 Q F2(<\()2.5 E F1(list)A
+F2(\)).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 F1(list)2.5 E F0
+(.)A .896(When a)108 686.4 R -.25(va)-.2 G .896(ilable, process substit\
 ution is performed simultaneously with parameter and v).25 F .897
 (ariable e)-.25 F(xpansion,)-.15 E
-(command substitution, and arithmetic e)108 259.2 Q(xpansion.)-.15 E F1
--.75(Wo)87 276 S(rd Splitting).75 E F0 1.143
-(The shell scans the results of parameter e)108 288 R 1.142
+(command substitution, and arithmetic e)108 698.4 Q(xpansion.)-.15 E
+(GNU Bash-4.0)72 768 Q(2008 June 29)147.345 E(20)197.335 E 0 Cg EP
+%%Page: 21 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/F1 10/Times-Bold@0 SF -.75(Wo)87 84 S(rd Splitting).75 E F0 1.143
+(The shell scans the results of parameter e)108 96 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 300 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 316.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 1.789(on these characters.)108 328.8 R(If)6.789 E F3
-(IFS)4.289 E F0 1.788(is unset, or its v)4.039 F 1.788(alue is e)-.25 F
-(xactly)-.15 E F1(<space><tab><newline>)4.288 E F0 4.288(,t)C 1.788
-(he def)-4.288 F 1.788(ault, then)-.1 F .021(sequences of)108 340.8 R F1
-(<space>)2.521 E F0(,)A F1(<tab>)2.521 E F0 2.521(,a)C(nd)-2.521 E F1
-(<newline>)2.521 E F0 .021(at the be)2.521 F .021
-(ginning and end of the results of the pre)-.15 F .022(vious e)-.25 F
-(xpan-)-.15 E .586(sions are ignored, and an)108 352.8 R 3.086(ys)-.15 G
-.586(equence of)-3.086 F F3(IFS)3.086 E F0 .586
+(xpansion that)-.15 F(did not occur within double quotes for)108 108 Q
+/F2 10/Times-Italic@0 SF(wor)2.5 E 2.5(ds)-.37 G(plitting)-2.5 E F0(.)
+.22 E .063(The shell treats each character of)108 124.8 R/F3 9
+/Times-Bold@0 SF(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 1.789(on these characters.)108 136.8
+R(If)6.789 E F3(IFS)4.289 E F0 1.788(is unset, or its v)4.039 F 1.788
+(alue is e)-.25 F(xactly)-.15 E F1(<space><tab><newline>)4.288 E F0
+4.288(,t)C 1.788(he def)-4.288 F 1.788(ault, then)-.1 F .021
+(sequences of)108 148.8 R F1(<space>)2.521 E F0(,)A F1(<tab>)2.521 E F0
+2.521(,a)C(nd)-2.521 E F1(<newline>)2.521 E F0 .021(at the be)2.521 F
+.021(ginning and end of the results of the pre)-.15 F .022(vious e)-.25
+F(xpan-)-.15 E .586(sions are ignored, and an)108 160.8 R 3.086(ys)-.15
+.586(equence of)-3.086 F F3(IFS)3.086 E F0 .586
 (characters not at the be)2.836 F .586(ginning or end serv)-.15 F .585
-(es to delimit w)-.15 F(ords.)-.1 E(If)108 364.8 Q F3(IFS)3.617 E F0
+(es to delimit w)-.15 F(ords.)-.1 E(If)108 172.8 Q F3(IFS)3.617 E F0
 1.117(has a v)3.367 F 1.117(alue other than the def)-.25 F 1.117
 (ault, then sequences of the whitespace characters)-.1 F F1(space)3.617
 E F0(and)3.617 E F1(tab)3.617 E F0(are)3.617 E .315(ignored at the be)
-108 376.8 R .315(ginning and end of the w)-.15 F .315
+108 184.8 R .315(ginning and end of the w)-.15 F .315
 (ord, as long as the whitespace character is in the v)-.1 F .315
-(alue of)-.25 F F3(IFS)2.815 E F0(\(an)2.565 E F3(IFS)108 388.8 Q F0
+(alue of)-.25 F F3(IFS)2.815 E F0(\(an)2.565 E F3(IFS)108 196.8 Q F0
 1.053(whitespace character\).)3.303 F(An)6.053 E 3.553(yc)-.15 G 1.053
 (haracter in)-3.553 F F3(IFS)3.553 E F0 1.053(that is not)3.303 F F3
 (IFS)3.553 E F0 1.054(whitespace, along with an)3.304 F 3.554(ya)-.15 G
 (djacent)-3.554 E F3(IFS)3.554 E F0 .332
-(whitespace characters, delimits a \214eld.)108 400.8 R 2.832(As)5.332 G
+(whitespace characters, delimits a \214eld.)108 208.8 R 2.832(As)5.332 G
 .332(equence of)-2.832 F F3(IFS)2.832 E F0 .331
 (whitespace characters is also treated as a delim-)2.582 F(iter)108
-412.8 Q 5(.I)-.55 G 2.5(ft)-5 G(he v)-2.5 E(alue of)-.25 E F3(IFS)2.5 E
+220.8 Q 5(.I)-.55 G 2.5(ft)-5 G(he v)-2.5 E(alue of)-.25 E F3(IFS)2.5 E
 F0(is null, no w)2.25 E(ord splitting occurs.)-.1 E 1.878
-(Explicit null ar)108 429.6 R 1.878(guments \()-.18 F F1 .833("").833 G
+(Explicit null ar)108 237.6 R 1.878(guments \()-.18 F F1 .833("").833 G
 F0(or)3.545 E F1 .833<0808>5.211 G F0 4.378(\)a)C 1.878(re retained.)
 -4.378 F 1.878(Unquoted implicit null ar)6.878 F 1.879
-(guments, resulting from the)-.18 F -.15(ex)108 441.6 S .177
+(guments, resulting from the)-.18 F -.15(ex)108 249.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 453.6 Q
-(gument results and is retained.)-.18 E(Note that if no e)108 470.4 Q
-(xpansion occurs, no splitting is performed.)-.15 E F1 -.1(Pa)87 487.2 S
-(thname Expansion).1 E F0 .37(After w)108 499.2 R .37
+(xpanded within)-.15 F(double quotes, a null ar)108 261.6 Q
+(gument results and is retained.)-.18 E(Note that if no e)108 278.4 Q
+(xpansion occurs, no splitting is performed.)-.15 E F1 -.1(Pa)87 295.2 S
+(thname Expansion).1 E F0 .37(After w)108 307.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 511.2 R .677
+(If one of these characters appears, then the w)108 319.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 .677(nd replaced with an alphabeti-)-3.177 F 1.456
-(cally sorted list of \214le names matching the pattern.)108 523.2 R
+(cally sorted list of \214le names matching the pattern.)108 331.2 R
 1.457(If no matching \214le names are found, and the shell)6.457 F
-(option)108 535.2 Q F1(nullglob)3.265 E F0 .765(is disabled, the w)3.265
+(option)108 343.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 .305
-(found, the w)108 547.2 R .305(ord is remo)-.1 F -.15(ve)-.15 G 2.805
+(found, the w)108 355.2 R .305(ord is remo)-.1 F -.15(ve)-.15 G 2.805
 (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
-.929(is printed and the command is not e)108 559.2 R -.15(xe)-.15 G
+.929(is printed and the command is not e)108 367.2 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 571.2 R -.05(ga)-.15 G .032
+(formed without re)108 379.2 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 583.2 R F1 -.63(``)2.605 G -.55(.').63 G(')-.08 E F0
+(the character)108 391.2 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 595.2 R F1(dotglob)3.387 E F0
+(nless)-2.604 E .887(the shell option)108 403.2 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 607.2 S(plicitly).15 E 6.166
+-.1 G .888(ys be matched).1 F -.15(ex)108 415.2 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 619.2 Q F3 .477(SHELL B)2.977 F(UIL)-.09 E .477
+E(under)108 427.2 Q F3 .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
-631.2 Q(The)108 648 Q F3(GLOBIGNORE)2.631 E F0 .131(shell v)2.381 F .131
+439.2 Q(The)108 456 Q F3(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 F2(pattern)2.63 E F0 5.13(.I).24 G(f)-5.13 E F3(GLO-)2.63 E(BIGNORE)
-108 660 Q F0 2.015(is set, each matching \214le name that also matches \
+108 468 Q F0 2.015(is set, each matching \214le name that also matches \
 one of the patterns in)4.264 F F3(GLOBIGNORE)4.515 E F0(is)4.265 E(remo)
-108 672 Q -.15(ve)-.15 G 2.504(df).15 G .004(rom the list of matches.)
+108 480 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
 .003(are al)5.633 F -.1(wa)-.1 G .003(ys ignored when).1 F F3
-(GLOBIGNORE)2.503 E F0(is)2.253 E .045(set and not null.)108 684 R(Ho)
+(GLOBIGNORE)2.503 E F0(is)2.253 E .045(set and not null.)108 492 R(Ho)
 5.045 E(we)-.25 E -.15(ve)-.25 G .845 -.4(r, s).15 H(etting).4 E F3
 (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 696 R
+2.546 E F0 .614(shell option, so all other \214le names be)108 504 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.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 708 R .456
+F .613(vior of ignoring)-.2 F .456(\214le names be)108 516 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 F3(GLOBIGNORE)2.957 E F4(.)A F0(The)
-4.957 E F1(dotglob)2.957 E F0 .457(option is)2.957 F(disabled when)108
-720 Q F3(GLOBIGNORE)2.5 E F0(is unset.)2.25 E(GNU Bash-4.0)72 768 Q
-(2008 May 25)147.345 E(20)197.335 E 0 Cg EP
-%%Page: 21 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/F1 10/Times-Bold@0 SF -.1(Pa)108 84 S(tter).1 E 2.5(nM)-.15 G
-(atching)-2.5 E F0(An)108 100.8 Q 3.138(yc)-.15 G .638(haracter that ap\
-pears 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
-112.8 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 124.8 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 136.8 Q(.)-.65 E
-(The special pattern characters ha)108 153.6 Q .3 -.15(ve t)-.2 H
-(he follo).15 E(wing meanings:)-.25 E F1(*)108 170.4 Q F0 .455
+.457(one of the patterns in)5.457 F F3(GLOBIGNORE)2.957 E/F4 9
+/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 528 Q F3(GLOBIGNORE)2.5 E F0
+(is unset.)2.25 E F1 -.1(Pa)108 544.8 S(tter).1 E 2.5(nM)-.15 G(atching)
+-2.5 E F0(An)108 561.6 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 573.6
+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 585.6 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 597.6 Q(.)-.65 E
+(The special pattern characters ha)108 614.4 Q .3 -.15(ve t)-.2 H
+(he follo).15 E(wing meanings:)-.25 E F1(*)108 631.2 Q F0 .455
 (Matches an)31 F 2.955(ys)-.15 G .455(tring, including the null string.)
 -2.955 F .455(When the)5.455 F F1(globstar)2.955 E F0 .455
 (shell option is enabled, and)2.955 F F1(*)2.955 E F0(is)2.955 E .576
-(used in a \214lename e)144 182.4 R .576(xpansion conte)-.15 F .575
+(used in a \214lename e)144 643.2 R .576(xpansion conte)-.15 F .575
 (xt, tw)-.15 F 3.075(oa)-.1 G(djacent)-3.075 E F1(*)3.075 E F0 3.075(su)
 C .575(sed as a single pattern will match all \214les)-3.075 F 1.183
-(and zero or more directories and subdirectories.)144 194.4 R 1.183
+(and zero or more directories and subdirectories.)144 655.2 R 1.183
 (If follo)6.183 F 1.183(wed by a)-.25 F F1(/)3.683 E F0 3.683(,t)C 1.383
 -.1(wo a)-3.683 H(djacent).1 E F1(*)3.683 E F0 3.684(sw)C 1.184
-(ill match)-3.684 F(only directories and subdirectories.)144 206.4 Q F1
-(?)108 218.4 Q F0(Matches an)31 E 2.5(ys)-.15 G(ingle character)-2.5 E
-(.)-.55 E F1([...])108 230.4 Q F0 .257(Matches an)21.84 F 2.757(yo)-.15
+(ill match)-3.684 F(only directories and subdirectories.)144 667.2 Q F1
+(?)108 679.2 Q F0(Matches an)31 E 2.5(ys)-.15 G(ingle character)-2.5 E
+(.)-.55 E F1([...])108 691.2 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
-/F2 10/Times-Italic@0 SF -.15(ra)144 242.4 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
+F2 -.15(ra)144 703.2 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
 (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 254.4 R 2.85(sc)-.55
+(sing the cur)-3.29 F(-)-.2 E .35(rent locale')144 715.2 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 266.4 R F1(!)3.063 E F0 .563(or a)5.563 F F1(^)3.063
+E F0 .563(is a)144 727.2 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 278.4 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 290.4 R(A)5.088 E F1<ad>2.588
-E F0 .088(may be matched by including it as the \214rst or last charact\
-er 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 302.4
-Q -.4(Wi)144 320.4 S(thin).4 E F1([)2.915 E F0(and)2.915 E F1(])2.915 E
-F0(,)A F2 -.15(ch)2.915 G(ar).15 E .415(acter classes)-.15 F F0 .415
-(can be speci\214ed using the syntax)2.915 F F1([:)2.915 E F2(class)A F1
-(:])A F0 2.914(,w)C(here)-2.914 E F2(class)2.914 E F0 .414(is one of)
-2.914 F(the follo)144 332.4 Q
+(The sorting order of characters in range)5.564 F(GNU Bash-4.0)72 768 Q
+(2008 June 29)147.345 E(21)197.335 E 0 Cg EP
+%%Page: 22 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 -.15(ex)144 84 S 1.102
+(pressions is determined by the current locale and the v).15 F 1.102
+(alue of the)-.25 F/F1 10/Times-Bold@0 SF(LC_COLLA)3.602 E(TE)-.95 E F0
+1.102(shell v)3.602 F(ari-)-.25 E .088(able, if set.)144 96 R(A)5.088 E
+F1<ad>2.588 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 108 Q
+-.4(Wi)144 126 S(thin).4 E F1([)2.915 E F0(and)2.915 E F1(])2.915 E F0
+(,)A/F2 10/Times-Italic@0 SF -.15(ch)2.915 G(ar).15 E .415
+(acter classes)-.15 F F0 .415(can be speci\214ed using the syntax)2.915
+F F1([:)2.915 E F2(class)A F1(:])A F0 2.914(,w)C(here)-2.914 E F2(class)
+2.914 E F0 .414(is one of)2.914 F(the follo)144 138 Q
 (wing classes de\214ned in the POSIX standard:)-.25 E F1 5.421
-(alnum alpha ascii blank cntrl digit graph lo)144 344.4 R 5.421
-(wer print punct space upper w)-.1 F(ord)-.1 E(xdigit)144 356.4 Q F0
-2.519(Ac)144 368.4 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 380.4 Q -.4(Wi)144 398.4 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 F2 1.046(equivalence class)3.546 F F0 1.046
+(alnum alpha ascii blank cntrl digit graph lo)144 150 R 5.421
+(wer print punct space upper w)-.1 F(ord)-.1 E(xdigit)144 162 Q F0 2.519
+(Ac)144 174 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 186 Q -.4(Wi)144 204 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
+F2 1.046(equivalence class)3.546 F F0 1.046
 (can be speci\214ed using the syntax)3.546 F F1([=)3.547 E F2(c)A F1(=])
 A F0 3.547(,w)C 1.047(hich matches all)-3.547 F(characters with the sam\
 e collation weight \(as de\214ned by the current locale\) as the charac\
-ter)144 410.4 Q F2(c)2.5 E F0(.)A -.4(Wi)144 428.4 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 F2
+ter)144 216 Q F2(c)2.5 E F0(.)A -.4(Wi)144 234 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 F2
 (symbol)A F1(.])A F0(matches the collating symbol)2.5 E F2(symbol)2.5 E
-F0(.)A .705(If the)108 445.2 R F1(extglob)3.205 E F0 .705
+F0(.)A .705(If the)108 250.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
-457.2 R .255(In the follo)5.255 F .255(wing description, a)-.25 F F2
+262.8 R .255(In the follo)5.255 F .255(wing description, a)-.25 F F2
 (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
 F0(.)A(Composite patterns may be formed using one or more of the follo)
-108 469.2 Q(wing sub-patterns:)-.25 E F1(?\()144 493.2 Q F2
+108 274.8 Q(wing sub-patterns:)-.25 E F1(?\()144 298.8 Q F2
 (pattern-list).833 E F1(\)).833 E F0
-(Matches zero or one occurrence of the gi)180 505.2 Q -.15(ve)-.25 G 2.5
-(np).15 G(atterns)-2.5 E F1(*\()144 517.2 Q F2(pattern-list).833 E F1
-(\)).833 E F0(Matches zero or more occurrences of the gi)180 529.2 Q
--.15(ve)-.25 G 2.5(np).15 G(atterns)-2.5 E F1(+\()144 541.2 Q F2
+(Matches zero or one occurrence of the gi)180 310.8 Q -.15(ve)-.25 G 2.5
+(np).15 G(atterns)-2.5 E F1(*\()144 322.8 Q F2(pattern-list).833 E F1
+(\)).833 E F0(Matches zero or more occurrences of the gi)180 334.8 Q
+-.15(ve)-.25 G 2.5(np).15 G(atterns)-2.5 E F1(+\()144 346.8 Q F2
 (pattern-list).833 E F1(\)).833 E F0
-(Matches one or more occurrences of the gi)180 553.2 Q -.15(ve)-.25 G
-2.5(np).15 G(atterns)-2.5 E F1(@\()144 565.2 Q F2(pattern-list).833 E F1
-(\)).833 E F0(Matches one of the gi)180 577.2 Q -.15(ve)-.25 G 2.5(np)
-.15 G(atterns)-2.5 E F1(!\()144 589.2 Q F2(pattern-list).833 E F1(\))
-.833 E F0(Matches an)180 601.2 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 618 Q
--.1(va)-.1 G(l).1 E F0 1.113(After the preceding e)108 630 R 1.113
+(Matches one or more occurrences of the gi)180 358.8 Q -.15(ve)-.25 G
+2.5(np).15 G(atterns)-2.5 E F1(@\()144 370.8 Q F2(pattern-list).833 E F1
+(\)).833 E F0(Matches one of the gi)180 382.8 Q -.15(ve)-.25 G 2.5(np)
+.15 G(atterns)-2.5 E F1(!\()144 394.8 Q F2(pattern-list).833 E F1(\))
+.833 E F0(Matches an)180 406.8 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 423.6
+Q -.1(va)-.1 G(l).1 E F0 1.113(After the preceding e)108 435.6 R 1.113
 (xpansions, all unquoted occurrences of the characters)-.15 F F1(\\)
 3.613 E F0(,)A F1<08>3.612 E F0 3.612(,a)C(nd)-3.612 E F1(")4.445 E F0
-1.112(that did not result)4.445 F(from one of the abo)108 642 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 658.8 Q F0 .545(Before a command is e)
-108 670.8 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
-682.8 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 694.8 R(follo)3.274 E .774
-(wing redirection operators may precede or appear an)-.25 F .774
+1.112(that did not result)4.445 F(from one of the abo)108 447.6 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 464.4 Q F0 .545
+(Before a command is e)108 476.4 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 488.4 R .617(Redirection may also be used to open an\
+d 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 500.4 R(follo)3.274 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 706.8 Q 2.5(wa)-.25 G F2(command)A F0 5(.R).77 G
+(may follo)108 512.4 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 2.575(In the follo)108
-723.6 R 2.574(wing descriptions, if the \214le descriptor number is omi\
-tted, and the \214rst character of the)-.25 F(GNU Bash-4.0)72 768 Q
-(2008 May 25)147.345 E(21)197.335 E 0 Cg EP
-%%Page: 22 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 .278(redirection operator is)108 84 R/F1 10/Times-Bold@0 SF(<)
-2.778 E F0 2.779(,t)C .279
+-2.5 E 2.5(,f)-.4 G(rom left to right.)-2.5 E .284(In the follo)108
+529.2 R .283(wing descriptions, if the \214le descriptor number is omit\
+ted, and the \214rst character of the redirect-)-.25 F .512
+(ion operator is)108 541.2 R F1(<)3.012 E F0 3.012(,t)C .512
 (he redirection refers to the standard input \(\214le descriptor 0\).)
--2.779 F .279(If the \214rst character)5.279 F
-(of the redirection operator is)108 96 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 553.2 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 112.8 R .825(ord follo)-.1 F .824
+-2.5 E .825(The w)108 570 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 124.8 R .773(xpansion, tilde e)-.15 F .773
+(jected to brace e)108 582 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 136.8 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
-.843(xpands to more than one w)-.15 F(ord,)-.1 E F1(bash)3.343 E F0
-(reports an error)108 148.8 Q(.)-.55 E
-(Note that the order of redirections is signi\214cant.)108 165.6 Q -.15
-(Fo)5 G 2.5(re).15 G(xample, the command)-2.65 E(ls)144 182.4 Q F1(>)2.5
+(sion, quote remo)108 594 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 606 Q(.)-.55 E
+(Note that the order of redirections is signi\214cant.)108 622.8 Q -.15
+(Fo)5 G 2.5(re).15 G(xample, the command)-2.65 E(ls)144 639.6 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 199.2
-Q/F2 10/Times-Italic@0 SF(dirlist)2.5 E F0 2.5(,w).68 G
-(hile the command)-2.5 E(ls 2)144 216 Q F1(>&)A F0(1)A F1(>)2.5 E F0
-(dirlist)2.5 E .387(directs only the standard output to \214le)108 232.8
-R F2(dirlist)2.887 E F0 2.887(,b).68 G .388(ecause the standard error w)
--2.887 F .388(as duplicated as standard output)-.1 F
-(before the standard output w)108 244.8 Q(as redirected to)-.1 E F2
-(dirlist)2.5 E F0(.).68 E F1(Bash)108 261.6 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(re used in redirections, as described in the follo)-3.099 F
-(wing)-.25 E(table:)108 273.6 Q F1(/de)144 290.4 Q(v/fd/)-.15 E F2(fd)A
-F0(If)180 302.4 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 314.4 Q(v/stdin)-.15 E F0(File descriptor 0 is duplicated.)
-180 326.4 Q F1(/de)144 338.4 Q(v/stdout)-.15 E F0
-(File descriptor 1 is duplicated.)180 350.4 Q F1(/de)144 362.4 Q
-(v/stderr)-.15 E F0(File descriptor 2 is duplicated.)180 374.4 Q F1(/de)
-144 386.4 Q(v/tcp/)-.15 E F2(host)A F1(/)A F2(port)A F0(If)180 398.4 Q
-F2(host)2.996 E F0 .496(is a v)2.996 F .496
+(directs both standard output and standard error to the \214le)108 656.4
+Q F2(dirlist)2.5 E F0 2.5(,w).68 G(hile the command)-2.5 E(ls 2)144
+673.2 Q F1(>&)A F0(1)A F1(>)2.5 E F0(dirlist)2.5 E .387
+(directs only the standard output to \214le)108 690 R F2(dirlist)2.887 E
+F0 2.887(,b).68 G .388(ecause the standard error w)-2.887 F .388
+(as duplicated as standard output)-.1 F(before the standard output w)108
+702 Q(as redirected to)-.1 E F2(dirlist)2.5 E F0(.).68 E F1(Bash)108
+718.8 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
+(re used in redirections, as described in the follo)-3.099 F(wing)-.25 E
+(table:)108 730.8 Q(GNU Bash-4.0)72 768 Q(2008 June 29)147.345 E(22)
+197.335 E 0 Cg EP
+%%Page: 23 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(/de)144 84 Q(v/fd/)-.15 E/F2 10
+/Times-Italic@0 SF(fd)A F0(If)180 96 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 108 Q(v/stdin)-.15 E F0
+(File descriptor 0 is duplicated.)180 120 Q F1(/de)144 132 Q(v/stdout)
+-.15 E F0(File descriptor 1 is duplicated.)180 144 Q F1(/de)144 156 Q
+(v/stderr)-.15 E F0(File descriptor 2 is duplicated.)180 168 Q F1(/de)
+144 180 Q(v/tcp/)-.15 E F2(host)A F1(/)A F2(port)A F0(If)180 192 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 410.4 Q F1(bash)2.5 E F0
+(vice name,)180 204 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 422.4 Q(v/udp/)-.15 E F2(host)A F1(/)A F2(port)A F0(If)
-180 434.4 Q F2(host)2.997 E F0 .497(is a v)2.997 F .497
+-.1 E F1(/de)144 216 Q(v/udp/)-.15 E F2(host)A F1(/)A F2(port)A F0(If)
+180 228 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 446.4 Q F1(bash)2.5 E F0
+(vice name,)180 240 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 463.2 S
+-.1 E 2.5(Af)108 256.8 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 480 R 3.447(ym)-.15 G .947
+hould be used with care, as the)108 273.6 R 3.447(ym)-.15 G .947
 (ay con\215ict with \214le)-3.447 F
-(descriptors the shell uses internally)108 492 Q(.)-.65 E F1(Redir)87
-508.8 Q(ecting Input)-.18 E F0 .391
+(descriptors the shell uses internally)108 285.6 Q(.)-.65 E F1(Redir)87
+302.4 Q(ecting Input)-.18 E F0 .391
 (Redirection of input causes the \214le whose name results from the e)
-108 520.8 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 532.8 Q F2
+108 314.4 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 326.4 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 549.6 Q([)144 566.4 Q
-F2(n)A F0(])A F1(<)A F2(wor)A(d)-.37 E F1(Redir)87 583.2 Q
-(ecting Output)-.18 E F0 .174
+(The general format for redirecting input is:)108 343.2 Q([)144 360 Q F2
+(n)A F0(])A F1(<)A F2(wor)A(d)-.37 E F1(Redir)87 376.8 Q(ecting Output)
+-.18 E F0 .174
 (Redirection of output causes the \214le whose name results from the e)
-108 595.2 R .175(xpansion of)-.15 F F2(wor)3.015 E(d)-.37 E F0 .175
-(to be opened for writ-)3.445 F .825(ing on \214le descriptor)108 607.2
+108 388.8 R .175(xpansion of)-.15 F F2(wor)3.015 E(d)-.37 E F0 .175
+(to be opened for writ-)3.445 F .825(ing on \214le descriptor)108 400.8
 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 619.2 S(ist it is created; if it does e).15 E
+-.15(ex)108 412.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 636 Q([)144 652.8 Q
+(The general format for redirecting output is:)108 429.6 Q([)144 446.4 Q
 F2(n)A F0(])A F1(>)A F2(wor)A(d)-.37 E F0 .154
-(If the redirection operator is)108 669.6 R F1(>)2.654 E F0 2.654(,a)C
+(If the redirection operator is)108 463.2 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 .658(will f)108 681.6 R
+(iltin has been enabled, the redirection).2 F .658(will f)108 475.2 R
 .658(ail if the \214le whose name results from the e)-.1 F .658
 (xpansion of)-.15 F F2(wor)3.158 E(d)-.37 E F0 -.15(ex)3.158 G .657
 (ists and is a re).15 F .657(gular \214le.)-.15 F .657(If the redi-)
-5.657 F .408(rection operator is)108 693.6 R F1(>|)2.909 E F0 2.909(,o)C
+5.657 F .408(rection operator is)108 487.2 R F1(>|)2.909 E F0 2.909(,o)C
 2.909(rt)-2.909 G .409(he redirection operator is)-2.909 F F1(>)2.909 E
 F0 .409(and the)2.909 F F1(noclob)2.909 E(ber)-.1 E F0 .409
 (option to the)2.909 F F1(set)2.909 E F0 -.2(bu)2.909 G .409
 (iltin command).2 F(is not enabled, the redirection is attempted e)108
-705.6 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(GNU Bash-4.0)
-72 768 Q(2008 May 25)147.345 E(22)197.335 E 0 Cg EP
-%%Page: 23 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 -.25(Ap)87 84 S(pending Redir).25 E
-(ected Output)-.18 E F0 .642(Redirection of output in this f)108 96 R
-.642(ashion causes the \214le whose name results from the e)-.1 F .641
-(xpansion of)-.15 F/F2 10/Times-Italic@0 SF(wor)3.481 E(d)-.37 E F0 .641
-(to be)3.911 F .473(opened for appending on \214le descriptor)108 108 R
-F2(n)2.973 E F0 2.974(,o).24 G 2.974(rt)-2.974 G .474
+499.2 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
+516 S(pending Redir).25 E(ected Output)-.18 E F0 .642
+(Redirection of output in this f)108 528 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 540 R F2(n)2.973 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
-120 Q(xist it is created.)-.15 E
-(The general format for appending output is:)108 136.8 Q([)144 153.6 Q
-F2(n)A F0(])A F1(>>)A F2(wor)A(d)-.37 E F1(Redir)87 175.2 Q
+552 Q(xist it is created.)-.15 E
+(The general format for appending output is:)108 568.8 Q([)144 585.6 Q
+F2(n)A F0(])A F1(>>)A F2(wor)A(d)-.37 E F1(Redir)87 607.2 Q
 (ecting Standard Output and Standard Err)-.18 E(or)-.18 E F0 .249
-(This construct allo)108 187.2 R .249(ws both the standard output \(\
+(This construct allo)108 619.2 R .249(ws both the standard output \(\
 \214le descriptor 1\) and the standard error output \(\214le descrip-)
 -.25 F(tor 2\) to be redirected to the \214le whose name is the e)108
-199.2 Q(xpansion of)-.15 E F2(wor)2.5 E(d)-.37 E F0(.).77 E
-(There are tw)108 216 Q 2.5(of)-.1 G
+631.2 Q(xpansion of)-.15 E F2(wor)2.5 E(d)-.37 E F0(.).77 E
+(There are tw)108 648 Q 2.5(of)-.1 G
 (ormats for redirecting standard output and standard error:)-2.5 E F1
-(&>)144 232.8 Q F2(wor)A(d)-.37 E F0(and)108 244.8 Q F1(>&)144 256.8 Q
-F2(wor)A(d)-.37 E F0(Of the tw)108 273.6 Q 2.5(of)-.1 G
+(&>)144 664.8 Q F2(wor)A(d)-.37 E F0(and)108 676.8 Q F1(>&)144 688.8 Q
+F2(wor)A(d)-.37 E F0(Of the tw)108 705.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 290.4 Q F2(wor)A(d)-.37 E F0(2)2.5
-E F1(>&)A F0(1)A F1 -.25(Ap)87 312 S
+-.25(va)-.25 G(lent to).25 E F1(>)144 722.4 Q F2(wor)A(d)-.37 E F0(2)2.5
+E F1(>&)A F0(1)A(GNU Bash-4.0)72 768 Q(2008 June 29)147.345 E(23)197.335
+E 0 Cg EP
+%%Page: 24 24
+%%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 -.25(Ap)87 84 S
 (pending Standard Output and Standard Err).25 E(or)-.18 E F0 .248
-(This construct allo)108 324 R .249(ws both the standard output \(\214l\
-e descriptor 1\) and the standard error output \(\214le descrip-)-.25 F
-(tor 2\) to be appended to the \214le whose name is the e)108 336 Q
-(xpansion of)-.15 E F2(wor)2.5 E(d)-.37 E F0(.).77 E
-(The format for appending standard output and standard error is:)108
-352.8 Q F1(&>>)144 369.6 Q F2(wor)A(d)-.37 E F0
-(This is semantically equi)108 386.4 Q -.25(va)-.25 G(lent to).25 E F1
-(>>)144 403.2 Q F2(wor)A(d)-.37 E F0(2)2.5 E F1(>&)A F0(1)A F1(Her)87
-420 Q 2.5(eD)-.18 G(ocuments)-2.5 E F0 .33(This type of redirection ins\
+(This construct allo)108 96 R .249(ws both the standard output \(\214le\
+ descriptor 1\) and the standard error output \(\214le descrip-)-.25 F
+(tor 2\) to be appended to the \214le whose name is the e)108 108 Q
+(xpansion of)-.15 E/F2 10/Times-Italic@0 SF(wor)2.5 E(d)-.37 E F0(.).77
+E(The format for appending standard output and standard error is:)108
+124.8 Q F1(&>>)144 141.6 Q F2(wor)A(d)-.37 E F0
+(This is semantically equi)108 158.4 Q -.25(va)-.25 G(lent to).25 E F1
+(>>)144 175.2 Q F2(wor)A(d)-.37 E F0(2)2.5 E F1(>&)A F0(1)A F1(Her)87
+192 Q 2.5(eD)-.18 G(ocuments)-2.5 E F0 .33(This type of redirection ins\
 tructs the shell to read input from the current source until a line con\
-taining only)108 432 R F2(wor)108.34 444 Q(d)-.37 E F0 .683
+taining only)108 204 R F2(wor)108.34 216 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 456 Q(The format of here-documents is:)
-108 472.8 Q F1(<<)144 489.6 Q F0([)A F1<ad>A F0(])A F2(wor)A(d)-.37 E
-(her)164 501.6 Q(e-document)-.37 E(delimiter)144 513.6 Q F0 .128
-(No parameter e)108 530.4 R .127
+5.684 F(input for a command.)108 228 Q(The format of here-documents is:)
+108 244.8 Q F1(<<)144 261.6 Q F0([)A F1<ad>A F0(])A F2(wor)A(d)-.37 E
+(her)164 273.6 Q(e-document)-.37 E(delimiter)144 285.6 Q F0 .128
+(No parameter e)108 302.4 R .127
 (xpansion, command substitution, arithmetic e)-.15 F .127
 (xpansion, or pathname e)-.15 F .127(xpansion is performed)-.15 F(on)108
-542.4 Q F2(wor)3.274 E(d)-.37 E F0 5.774(.I).77 G 3.274(fa)-5.774 G
+314.4 Q F2(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 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.275(lo).25 G(n)
 -3.275 E F2(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 554.4 R 3.405(xpanded. If)
+(the lines in the here-document are not e)108 326.4 R 3.405(xpanded. If)
 -.15 F F2(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 566.4 R .695
+(subjected to parameter e)108 338.4 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 578.4 Q F1(\\<newline>)2.5 E F0(is ignored, and)
+(character sequence)108 350.4 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<92>2.5 E F0(.)A .602
-(If the redirection operator is)108 595.2 R F1(<<\255)3.101 E F0 3.101
+(If the redirection operator is)108 367.2 R F1(<<\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 607.2 Q F2(delimiter)2.5 E F0 5
+ and the line)-3.101 F(containing)108 379.2 Q F2(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 624 Q 2.5(eS)-.18 G(trings)-2.5 E F0 2.5
-(Av)108 636 S(ariant of here documents, the format is:)-2.75 E F1(<<<)
-144 652.8 Q F2(wor)A(d)-.37 E F0(The)108 669.6 Q F2(wor)2.5 E(d)-.37 E
+-.25 E(ashion.)-.1 E F1(Her)87 396 Q 2.5(eS)-.18 G(trings)-2.5 E F0 2.5
+(Av)108 408 S(ariant of here documents, the format is:)-2.75 E F1(<<<)
+144 424.8 Q F2(wor)A(d)-.37 E F0(The)108 441.6 Q F2(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 F1
-(Duplicating File Descriptors)87 686.4 Q F0(The redirection operator)108
-698.4 Q([)144 715.2 Q F2(n)A F0(])A F1(<&)A F2(wor)A(d)-.37 E F0
-(GNU Bash-4.0)72 768 Q(2008 May 25)147.345 E(23)197.335 E 0 Cg EP
-%%Page: 24 24
-%%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 .126(is used to duplicate input \214le descriptors.)108 84 R(If)
-5.127 E/F1 10/Times-Italic@0 SF(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 96 Q F1(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 F1(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 108 R(If)5.149 E F1(wor)
-2.989 E(d)-.37 E F0 -.25(eva)3.419 G .149(luates to).25 F/F2 10
-/Times-Bold@0 SF<ad>2.649 E F0 2.65<2c8c>C .15(le descriptor)-2.65 F F1
-(n)3.01 E F0 .15(is closed.)2.89 F(If)5.15 E F1(n)3.01 E F0 .15
-(is not speci\214ed,)2.89 F
-(the standard input \(\214le descriptor 0\) is used.)108 120 Q
-(The operator)108 136.8 Q([)144 153.6 Q F1(n)A F0(])A F2(>&)A F1(wor)A
+(Duplicating File Descriptors)87 458.4 Q F0(The redirection operator)108
+470.4 Q([)144 487.2 Q F2(n)A F0(])A F1(<&)A F2(wor)A(d)-.37 E F0 .126
+(is used to duplicate input \214le descriptors.)108 504 R(If)5.127 E F2
+(wor)2.967 E(d)-.37 E F0 -.15(ex)3.397 G .127
+(pands to one or more digits, the \214le descriptor denoted).15 F(by)108
+516 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 528 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 540 Q
+(The operator)108 556.8 Q([)144 573.6 Q F2(n)A F0(])A F1(>&)A F2(wor)A
 (d)-.37 E F0 .444
-(is used similarly to duplicate output \214le descriptors.)108 170.4 R
-(If)5.444 E F1(n)3.304 E F0 .443
+(is used similarly to duplicate output \214le descriptors.)108 590.4 R
+(If)5.444 E F2(n)3.304 E F0 .443
 (is not speci\214ed, the standard output \(\214le descrip-)3.183 F 1.357
-(tor 1\) is used.)108 182.4 R 1.357(If the digits in)6.357 F F1(wor)
+(tor 1\) is used.)108 602.4 R 1.357(If the digits in)6.357 F F2(wor)
 4.197 E(d)-.37 E F0 1.358(do not specify a \214le descriptor open for o\
-utput, a redirection error)4.627 F 2.597(occurs. As)108 194.4 R 2.597
-(as)2.597 G .097(pecial case, if)-2.597 F F1(n)2.596 E F0 .096
-(is omitted, and)2.596 F F1(wor)2.596 E(d)-.37 E F0 .096(does not e)
+utput, a redirection error)4.627 F 2.597(occurs. As)108 614.4 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 206.4 Q
-(viously)-.25 E(.)-.65 E F2(Mo)87 223.2 Q(ving File Descriptors)-.1 E F0
-(The redirection operator)108 235.2 Q([)144 252 Q F1(n)A F0(])A F2(<&)A
-F1(digit)A F2<ad>A F0(mo)108 268.8 Q -.15(ve)-.15 G 3.035(st).15 G .535
-(he \214le descriptor)-3.035 F F1(digit)3.035 E F0 .535
-(to \214le descriptor)3.035 F F1(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 F1
-(n)3.036 E F0 .536(is not speci-)3.036 F(\214ed.)108 280.8 Q F1(digit)5
-E F0(is closed after being duplicated to)2.5 E F1(n)2.5 E F0(.)A
-(Similarly)108 297.6 Q 2.5(,t)-.65 G(he redirection operator)-2.5 E([)
-144 314.4 Q F1(n)A F0(])A F2(>&)A F1(digit)A F2<ad>A F0(mo)108 331.2 Q
--.15(ve)-.15 G 2.786(st).15 G .286(he \214le descriptor)-2.786 F F1
-(digit)2.786 E F0 .286(to \214le descriptor)2.786 F F1(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 F1(n)2.785 E F0
-.285(is not speci-)2.785 F(\214ed.)108 343.2 Q F2
-(Opening File Descriptors f)87 360 Q(or Reading and Writing)-.25 E F0
-(The redirection operator)108 372 Q([)144 388.8 Q F1(n)A F0(])A F2(<>)A
-F1(wor)A(d)-.37 E F0 1.349(causes the \214le whose name is the e)108
-405.6 R 1.349(xpansion of)-.15 F F1(wor)4.189 E(d)-.37 E F0 1.349
+(put and standard error are redirected as described pre)108 626.4 Q
+(viously)-.25 E(.)-.65 E F1(Mo)87 643.2 Q(ving File Descriptors)-.1 E F0
+(The redirection operator)108 655.2 Q([)144 672 Q F2(n)A F0(])A F1(<&)A
+F2(digit)A F1<ad>A F0(mo)108 688.8 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 700.8 Q F2(digit)5
+E F0(is closed after being duplicated to)2.5 E F2(n)2.5 E F0(.)A
+(Similarly)108 717.6 Q 2.5(,t)-.65 G(he redirection operator)-2.5 E
+(GNU Bash-4.0)72 768 Q(2008 June 29)147.345 E(24)197.335 E 0 Cg EP
+%%Page: 25 25
+%%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([)144 84 Q/F1 10/Times-Italic@0 SF(n)A F0(])A/F2 10/Times-Bold@0
+SF(>&)A F1(digit)A F2<ad>A F0(mo)108 100.8 Q -.15(ve)-.15 G 2.786(st).15
+G .286(he \214le descriptor)-2.786 F F1(digit)2.786 E F0 .286
+(to \214le descriptor)2.786 F F1(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 F1
+(n)2.785 E F0 .285(is not speci-)2.785 F(\214ed.)108 112.8 Q F2
+(Opening File Descriptors f)87 129.6 Q(or Reading and Writing)-.25 E F0
+(The redirection operator)108 141.6 Q([)144 158.4 Q F1(n)A F0(])A F2(<>)
+A F1(wor)A(d)-.37 E F0 1.349(causes the \214le whose name is the e)108
+175.2 R 1.349(xpansion of)-.15 F F1(wor)4.189 E(d)-.37 E F0 1.349
 (to be opened for both reading and writing on \214le)4.619 F(descriptor)
-108 417.6 Q F1(n)2.5 E F0 2.5(,o).24 G 2.5(ro)-2.5 G 2.5<6e8c>-2.5 G
+108 187.2 Q F1(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 F1(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 434.4 Q F1(Aliases)108 446.4 Q F0(allo)3.174
-3.174(was)-.25 G .674(tring to be substituted for a w)-3.174 F .674
+/Times-Bold@0 SF(ALIASES)72 204 Q F1(Aliases)108 216 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 458.4 R F2(alias)2.894 E F0
+ses that may be set and unset with the)108 228 R F2(alias)2.894 E F0
 (and)2.894 E F2(unalias)2.894 E F0 -.2(bu)2.894 G .394(iltin commands).2
-F(\(see)108 470.4 Q/F4 9/Times-Bold@0 SF 1.98(SHELL B)4.48 F(UIL)-.09 E
+F(\(see)108 240 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 482.4 Q .472(ed to see if it has an alias.)-.1 F .472
+F(check)108 252 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 F2(/)2.973 E F0(,)A
-F2($)2.973 E F0(,)A F2<92>2.973 E F0(,)A(and)108 494.4 Q F2(=)3.612 E F0
+F2($)2.973 E F0(,)A F2<92>2.973 E F0(,)A(and)108 264 Q F2(=)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 F1(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 506.4 R 1.119
+(ay not appear in an alias).15 F 3.619(name. The)108 276 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 518.4 S .514(rd of the replacement te).1
-.514(xt is tested for aliases, b)-.15 F .514(ut a w)-.2 F .513
+(The \214rst)6.12 F -.1(wo)108 288 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 530.4 R .295(xpanded a second time.)-.15 F .296
+.295(not e)108 300 R .295(xpanded a second time.)-.15 F .296
 (This means that one may alias)5.295 F F2(ls)2.796 E F0(to)2.796 E F2
 .296(ls \255F)2.796 F F0 2.796(,f)C .296(or instance, and)-2.796 F F2
-(bash)2.796 E F0 .296(does not try)2.796 F .543(to recursi)108 542.4 R
+(bash)2.796 E F0 .296(does not try)2.796 F .543(to recursi)108 312 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 F1(blank)3.042 E F0 3.042(,t).67 G .542(hen the ne)
--3.042 F(xt)-.15 E(command w)108 554.4 Q(ord follo)-.1 E
+-3.042 F(xt)-.15 E(command w)108 324 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 571.2 Q F2(alias)2.5 E F0
+E(Aliases are created and listed with the)108 340.8 Q F2(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 F2
 (unalias)2.5 E F0(command.)2.5 E .284
-(There is no mechanism for using ar)108 588 R .284
+(There is no mechanism for using ar)108 357.6 R .284
 (guments in the replacement te)-.18 F 2.784(xt. If)-.15 F(ar)2.784 E
 .284(guments are needed, a shell func-)-.18 F(tion should be used \(see)
-108 600 Q F4(FUNCTIONS)2.5 E F0(belo)2.25 E(w\).)-.25 E 1.22
-(Aliases are not e)108 616.8 R 1.22
+108 369.6 Q F4(FUNCTIONS)2.5 E F0(belo)2.25 E(w\).)-.25 E 1.22
+(Aliases are not e)108 386.4 R 1.22
 (xpanded when the shell is not interacti)-.15 F -.15(ve)-.25 G 3.72(,u)
 .15 G 1.22(nless the)-3.72 F F2(expand_aliases)3.72 E F0 1.22
-(shell option is set)3.72 F(using)108 628.8 Q F2(shopt)2.5 E F0
+(shell option is set)3.72 F(using)108 398.4 Q F2(shopt)2.5 E F0
 (\(see the description of)2.5 E F2(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 .435
 (The rules concerning the de\214nition and use of aliases are some)108
-645.6 R .436(what confusing.)-.25 F F2(Bash)5.436 E F0(al)2.936 E -.1
+415.2 R .436(what confusing.)-.25 F F2(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 657.6 R -.15(xe)-.15 G .338
+(one complete line of input before e)108 427.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 .337(Aliases are e)5.337 F .337
-(xpanded when)-.15 F 3.403(ac)108 669.6 S .904
+(xpanded when)-.15 F 3.403(ac)108 439.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.162
-(another command does not tak)108 681.6 R 3.662(ee)-.1 G -.25(ff)-3.662
+(another command does not tak)108 451.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.161(The commands follo)6.161 F 1.161(wing the)-.25 F .277
-(alias de\214nition on that line are not af)108 693.6 R .277
+(alias de\214nition on that line are not af)108 463.2 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 .699(are e)108
-705.6 R -.15(xe)-.15 G 3.199(cuted. Aliases).15 F .699(are e)3.199 F
+475.2 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 functio\
 n is e)-.15 F -.15(xe)-.15 G(cuted,).15 E .494
-(because a function de\214nition is itself a compound command.)108 717.6
-R .495(As a consequence, aliases de\214ned in a func-)5.494 F 1.4
-(tion are not a)108 729.6 R -.25(va)-.2 G 1.4
-(ilable until after that function is e).25 F -.15(xe)-.15 G 3.9
-(cuted. T).15 F 3.9(ob)-.8 G 3.9(es)-3.9 G 1.4(afe, al)-3.9 F -.1(wa)-.1
-G 1.4(ys put alias de\214nitions on a).1 F(GNU Bash-4.0)72 768 Q
-(2008 May 25)147.345 E(24)197.335 E 0 Cg EP
-%%Page: 25 25
-%%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(separate line, and do not use)108 84 Q/F1 10/Times-Bold@0 SF
-(alias)2.5 E F0(in compound commands.)2.5 E -.15(Fo)108 100.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 117.6 Q F0 3.467(As)108 129.6 S .967
+(because a function de\214nition is itself a compound command.)108 487.2
+R .495(As a consequence, aliases de\214ned in a func-)5.494 F .085
+(tion are not a)108 499.2 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 .084(ys put alias de\214nitions on a sepa-).1 F
+(rate line, and do not use)108 511.2 Q F2(alias)2.5 E F0
+(in compound commands.)2.5 E -.15(Fo)108 528 S 2.5(ra).15 G(lmost e)-2.5
+E -.15(ve)-.25 G(ry purpose, aliases are superseded by shell functions.)
+.15 E F3(FUNCTIONS)72 544.8 Q F0 3.467(As)108 556.8 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 .968(stores a series of commands for)3.217 F
-1.002(later e)108 141.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.502 F .315(mands associated with that function name is e)108
-153.6 R -.15(xe)-.15 G 2.816(cuted. Functions).15 F .316(are e)2.816 F
--.15(xe)-.15 G .316(cuted in the conte).15 F .316(xt of the current)-.15
-F .036(shell; no ne)108 165.6 R 2.536(wp)-.25 G .036
+H(nder).15 E F4 .967(SHELL GRAMMAR)3.467 F/F5 9/Times-Roman@0 SF(,)A F0
+.968(stores a series of commands for)3.217 F 1.002(later e)108 568.8 R
+-.15(xe)-.15 G 3.502(cution. When).15 F 1.002(the name of a shell funct\
+ion is used as a simple command name, the list of com-)3.502 F .315
+(mands associated with that function name is e)108 580.8 R -.15(xe)-.15
+G 2.816(cuted. Functions).15 F .316(are e)2.816 F -.15(xe)-.15 G .316
+(cuted in the conte).15 F .316(xt of the current)-.15 F .036
+(shell; no ne)108 592.8 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 177.6 R -.15(xe)-.15 G .639(cuted, the ar).15 F
+F .639(function is e)108 604.8 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 .533(The special parameter)108 189.6
-R F1(#)3.033 E F0 .532(is updated to re\215ect the change.)3.033 F .532
+-.18 F -.15(xe)-.15 G(cution.).15 E .533(The special parameter)108 616.8
+R F2(#)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 201.6 R F3(FUNCN)3.517 E(AME)-.18 E F0 -.25(va)
+1.017(ment of the)108 628.8 R F4(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.518(cuting. All).15 F 1.285
-(other aspects of the shell e)108 213.6 R -.15(xe)-.15 G 1.285
+(other aspects of the shell e)108 640.8 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 225.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 237.6 S(IL).09
+F -.15(ex)108 652.8 S 2.029(ception that the).15 F F4(DEB)4.529 E(UG)
+-.09 E F0(and)4.279 E F2(RETURN)4.529 E F0 2.029
+(traps \(see the description of the)4.529 F F2(trap)4.53 E F0 -.2(bu)
+4.53 G 2.03(iltin under).2 F F4(SHELL)4.53 E -.09(BU)108 664.8 S(IL).09
 E .479(TIN COMMANDS)-.828 F F0(belo)2.729 E .479
 (w\) are not inherited unless the function has been gi)-.25 F -.15(ve)
--.25 G 2.978(nt).15 G(he)-2.978 E F1(trace)2.978 E F0(attrib)2.978 E
-.478(ute \(see)-.2 F .42(the description of the)108 249.6 R F3(declar)
+-.25 G 2.978(nt).15 G(he)-2.978 E F2(trace)2.978 E F0(attrib)2.978 E
+.478(ute \(see)-.2 F .42(the description of the)108 676.8 R F4(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.921 E F0 -.2(bu)
-108 261.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 278.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
+-.25 F F2 .42(\255o functrace)2.92 F F0 .42
+(shell option has been enabled with the)2.92 F F2(set)2.921 E F0 -.2(bu)
+108 688.8 S(iltin \(in which case all functions inherit the).2 E F2(DEB)
+2.5 E(UG)-.1 E F0(and)2.5 E F2(RETURN)2.5 E F0(traps\).)2.5 E -1.11(Va)
+108 705.6 S .656(riables local to the function may be declared with the)
+1.11 F F2(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 290.4 Q(alues are shared between the function and its caller)-.25 E
-(.)-.55 E .043(If the b)108 307.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
-.044(cution resumes with).15 F 1.012(the ne)108 319.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.511 E F0 1.011
-(trap is e)3.511 F -.15(xe)-.15 G(cuted).15 E .213(before e)108 331.2 R
--.15(xe)-.15 G .213(cution resumes.).15 F .213
+108 717.6 Q(alues are shared between the function and its caller)-.25 E
+(.)-.55 E(GNU Bash-4.0)72 768 Q(2008 June 29)147.345 E(25)197.335 E 0 Cg
+EP
+%%Page: 26 26
+%%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 .043(If the b)108 84 R .043(uiltin command)-.2 F/F1 10
+/Times-Bold@0 SF -.18(re)2.543 G(tur).18 E(n)-.15 E F0 .043(is e)2.543 F
+-.15(xe)-.15 G .043(cuted in a function, the function completes and e)
+.15 F -.15(xe)-.15 G .044(cution resumes with).15 F 1.012(the ne)108 96
+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.511 E F0
+1.011(trap is e)3.511 F -.15(xe)-.15 G(cuted).15 E .213(before e)108 108
+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 343.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.359
-(Function names and de\214nitions may be listed with the)108 360 R F1
+108 120 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.359
+(Function names and de\214nitions may be listed with the)108 136.8 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.858 E F1(typeset)3.858 E F0 -.2(bu)3.858 G 1.358(iltin com-).2 F
-3.39(mands. The)108 372 R F1<ad46>3.39 E F0 .89(option to)3.39 F F1
+3.39(mands. The)108 148.8 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
-.327(\214le and line number)108 384 R 2.827(,i)-.4 G 2.827(ft)-2.827 G
+.327(\214le and line number)108 160.8 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 1.297(automatically ha)108 396 R 1.597
--.15(ve t)-.2 H 1.297(hem de\214ned with the).15 F F1<ad66>3.797 E F0
-1.297(option to the)3.797 F F1(export)3.798 E F0 -.2(bu)3.798 G 3.798
+(xported so that subshells)-.15 F 1.297(automatically ha)108 172.8 R
+1.597 -.15(ve t)-.2 H 1.297(hem de\214ned with the).15 F F1<ad66>3.797 E
+F0 1.297(option to the)3.797 F F1(export)3.798 E F0 -.2(bu)3.798 G 3.798
 (iltin. A).2 F 1.298(function de\214nition may be)3.798 F .161
-(deleted using the)108 408 R F1<ad66>2.661 E F0 .161(option to the)2.661
-F F1(unset)2.661 E F0 -.2(bu)2.661 G 2.661(iltin. Note).2 F .16
+(deleted using the)108 184.8 R F1<ad66>2.661 E F0 .161(option to the)
+2.661 F F1(unset)2.661 E F0 -.2(bu)2.661 G 2.661(iltin. Note).2 F .16
 (that shell functions and v)2.661 F .16(ariables with the same name)-.25
 F 1.325(may result in multiple identically-named entries in the en)108
-420 R 1.325(vironment passed to the shell')-.4 F 3.825(sc)-.55 G 3.825
-(hildren. Care)-3.825 F(should be tak)108 432 Q
+196.8 R 1.325(vironment passed to the shell')-.4 F 3.825(sc)-.55 G 3.825
+(hildren. Care)-3.825 F(should be tak)108 208.8 Q
 (en in cases where this may cause a problem.)-.1 E
-(Functions may be recursi)108 448.8 Q -.15(ve)-.25 G 5(.N).15 G 2.5(ol)
+(Functions may be recursi)108 225.6 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 465.6 Q(ALU)-1.478 E -1.04(AT)-.657 G
-(ION)1.04 E F0 2.298(The shell allo)108 477.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 489.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 501.6 R -.15(ve)-.15 G
-(r\215o).15 E 1.729 -.65(w, t)-.25 H .429(hough di).65 F .428
+(alls.).15 E/F2 10.95/Times-Bold@0 SF(ARITHMETIC EV)72 242.4 Q(ALU)
+-1.478 E -1.04(AT)-.657 G(ION)1.04 E F0 2.298(The shell allo)108 254.4 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 266.4 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 278.4 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
-513.6 R(vity)-.25 E 4.419(,a)-.65 G 1.919(nd v)-4.419 F 1.919
+290.4 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 525.6 Q -.15
+1.92(wing list of operators is)-.25 F(grouped into le)108 302.4 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 542.4 Q F1(++)A F5(id)2.5 E F1<adad>A F0 -.25
-(va)144 554.4 S(riable post-increment and post-decrement).25 E F1(++)108
-566.4 Q F5(id)A F1<adad>2.5 E F5(id)A F0 -.25(va)144 578.4 S
-(riable pre-increment and pre-decrement).25 E F1 2.5<ad2b>108 590.4 S F0
-(unary minus and plus)19.6 E F1 2.5(!~)108 602.4 S F0
+-.25 G(ls are listed in order of decreasing precedence.).15 E/F3 10
+/Times-Italic@0 SF(id)108 319.2 Q F1(++)A F3(id)2.5 E F1<adad>A F0 -.25
+(va)144 331.2 S(riable post-increment and post-decrement).25 E F1(++)108
+343.2 Q F3(id)A F1<adad>2.5 E F3(id)A F0 -.25(va)144 355.2 S
+(riable pre-increment and pre-decrement).25 E F1 2.5<ad2b>108 367.2 S F0
+(unary minus and plus)19.6 E F1 2.5(!~)108 379.2 S F0
 (logical and bitwise ne)24.34 E -.05(ga)-.15 G(tion).05 E F1(**)108
-614.4 Q F0 -.15(ex)26 G(ponentiation).15 E F1 2.5(*/%)108 626.4 S F0
+391.2 Q F0 -.15(ex)26 G(ponentiation).15 E F1 2.5(*/%)108 403.2 S F0
 (multiplication, di)10.72 E(vision, remainder)-.25 E F1 2.5<2bad>108
-638.4 S F0(addition, subtraction)19.6 E F1(<< >>)108 650.4 Q F0
-(left and right bitwise shifts)10.7 E F1(<= >= < >)108 662.4 Q F0
-(comparison)144 674.4 Q F1(== !=)108 686.4 Q F0(equality and inequality)
-13.07 E F1(&)108 698.4 Q F0(bitwise AND)27.67 E F1(^)108 710.4 Q F0
-(bitwise e)32.67 E(xclusi)-.15 E .3 -.15(ve O)-.25 H(R).15 E
-(GNU Bash-4.0)72 768 Q(2008 May 25)147.345 E(25)197.335 E 0 Cg EP
-%%Page: 26 26
-%%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(bitwise OR)33.8 E F1(&&)108
-96 Q F0(logical AND)19.34 E F1(||)108 108 Q F0(logical OR)31.6 E/F2 10
-/Times-Italic@0 SF -.2(ex)108 120 S(pr).2 E F1(?)A F2 -.2(ex)C(pr).2 E
-F1(:)A F2 -.2(ex)C(pr).2 E F0(conditional operator)144 132 Q F1 2.5(=*)
-108 144 S 2.5(=/)-2.5 G 2.5(=%)-2.5 G 2.5(=+)-2.5 G 2.5<3dad>-2.5 G 2.5
-(=<)-2.5 G(<= >>= &= ^= |=)-2.5 E F0(assignment)144 156 Q F2 -.2(ex)108
-168 S(pr1).2 E F1(,)2.5 E F2 -.2(ex)2.5 G(pr2).2 E F0(comma)144 180 Q
-.68(Shell v)108 196.8 R .68(ariables are allo)-.25 F .68
+415.2 S F0(addition, subtraction)19.6 E F1(<< >>)108 427.2 Q F0
+(left and right bitwise shifts)10.7 E F1(<= >= < >)108 439.2 Q F0
+(comparison)144 451.2 Q F1(== !=)108 463.2 Q F0(equality and inequality)
+13.07 E F1(&)108 475.2 Q F0(bitwise AND)27.67 E F1(^)108 487.2 Q F0
+(bitwise e)32.67 E(xclusi)-.15 E .3 -.15(ve O)-.25 H(R).15 E F1(|)108
+499.2 Q F0(bitwise OR)33.8 E F1(&&)108 511.2 Q F0(logical AND)19.34 E F1
+(||)108 523.2 Q F0(logical OR)31.6 E F3 -.2(ex)108 535.2 S(pr).2 E F1(?)
+A F3 -.2(ex)C(pr).2 E F1(:)A F3 -.2(ex)C(pr).2 E F0
+(conditional operator)144 547.2 Q F1 2.5(=*)108 559.2 S 2.5(=/)-2.5 G
+2.5(=%)-2.5 G 2.5(=+)-2.5 G 2.5<3dad>-2.5 G 2.5(=<)-2.5 G
+(<= >>= &= ^= |=)-2.5 E F0(assignment)144 571.2 Q F3 -.2(ex)108 583.2 S
+(pr1).2 E F1(,)2.5 E F3 -.2(ex)2.5 G(pr2).2 E F0(comma)144 595.2 Q .68
+(Shell v)108 612 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 208.8 R 1.007(ithin an e)-.4
-1.007(xpression, shell v)-.15 F 1.007
+-.25(va)-.25 G(lu-).25 E 3.507(ated. W)108 624 R 1.007(ithin an e)-.4 F
+1.007(xpression, shell v)-.15 F 1.007
 (ariables may also be referenced by name without using the parameter)
--.25 F -.15(ex)108 220.8 S 1.041(pansion syntax.).15 F 3.541(As)6.041 G
+-.25 F -.15(ex)108 636 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 232.8 R 1.466(xpansion syntax.)-.15 F 1.467
+(using the parameter e)108 648 R 1.466(xpansion syntax.)-.15 F 1.467
 (The v)6.466 F 1.467(alue of a v)-.25 F 1.467(ariable is e)-.25 F -.25
 (va)-.25 G 1.467(luated as an arithmetic e).25 F(xpression)-.15 E 1.39
-(when it is referenced, or when a v)108 244.8 R 1.389
+(when it is referenced, or when a v)108 660 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
+-3.889 E F3(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 256.8 R 2.843(alue. A)-.25 F .343(null v)
+3.889 E .343(assigned a v)108 672 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 268.8 Q(xpression.)-.15 E
+(ute turned on)-.2 F(to be used in an e)108 684 Q(xpression.)-.15 E
 1.406(Constants with a leading 0 are interpreted as octal numbers.)108
-285.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 297.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
+700.8 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 712.8 R 3.089(et)-.1
+G .589(he form [)-3.089 F F3(base#)A F0 .589(]n, where)B F3(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 309.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
-(greater than 9 are represented by the lo)108 321.6 R .064
+(ing the arithmetic base, and)108 724.8 R F3(n)2.593 E F0 .093
+(is a number in that base.)2.593 F(If)5.093 E F3(base#)2.593 E F0 .092
+(is omitted, then base 10 is used.)2.593 F .092(The digits)5.092 F
+(GNU Bash-4.0)72 768 Q(2008 June 29)147.345 E(26)197.335 E 0 Cg EP
+%%Page: 27 27
+%%BeginPageSetup
+BP
+%%EndPageSetup
+/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
+-.35 E .064(greater than 9 are represented by the lo)108 84 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 333.6 R .432(wercase and uppercase\
- letters may be used interchangeably to represent num-)-.25 F
-(bers between 10 and 35.)108 345.6 Q .234(Operators are e)108 362.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
-(luated \214rst and may).25 F -.15(ove)108 374.4 S
-(rride the precedence rules abo).15 E -.15(ve)-.15 G(.).15 E/F3 10.95
-/Times-Bold@0 SF(CONDITION)72 391.2 Q(AL EXPRESSIONS)-.219 E F0 .256
-(Conditional e)108 403.2 R .256(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
-.77(\214le attrib)108 415.2 R .77
+5.065(.I)-.55 G(f)-5.065 E/F1 10/Times-Italic@0 SF(base)2.565 E F0 .433
+(is less than or equal to 36, lo)108 96 R .432(wercase and uppercase le\
+tters may be used interchangeably to represent num-)-.25 F
+(bers between 10 and 35.)108 108 Q .234(Operators are e)108 124.8 R -.25
+(va)-.25 G .234(luated in order of precedence.).25 F(Sub-e)5.234 E .234
+(xpressions in parentheses are e)-.15 F -.25(va)-.25 G .235
+(luated \214rst and may).25 F -.15(ove)108 136.8 S
+(rride the precedence rules abo).15 E -.15(ve)-.15 G(.).15 E/F2 10.95
+/Times-Bold@0 SF(CONDITION)72 153.6 Q(AL EXPRESSIONS)-.219 E F0 .256
+(Conditional e)108 165.6 R .256(xpressions are used by the)-.15 F/F3 10
+/Times-Bold@0 SF([[)2.755 E F0 .255(compound command and the)2.755 F F3
+(test)2.755 E F0(and)2.755 E F3([)2.755 E F0 -.2(bu)2.755 G .255
+(iltin commands to test).2 F .77(\214le attrib)108 177.6 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 427.2 R 1.041(If an)6.041 F(y)-.15 E F2
+(unary or binary primaries.)108 189.6 R 1.041(If an)6.041 F(y)-.15 E F1
 (\214le)3.541 E F0(ar)3.541 E 1.04
-(gument to one of the primaries is of the form)-.18 F F2(/de)3.54 E
-(v/fd/n)-.15 E F0 3.54(,t)C 1.04(hen \214le)-3.54 F(descriptor)108 439.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
-(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
-(/de)108 451.2 Q(v/stderr)-.15 E F0 2.5<2c8c>C
+(gument to one of the primaries is of the form)-.18 F F1(/de)3.54 E
+(v/fd/n)-.15 E F0 3.54(,t)C 1.04(hen \214le)-3.54 F(descriptor)108 201.6
+Q F1(n)3.788 E F0 1.289(is check)3.788 F 3.789(ed. If)-.1 F(the)3.789 E
+F1(\214le)3.789 E F0(ar)3.789 E 1.289
+(gument to one of the primaries is one of)-.18 F F1(/de)3.789 E(v/stdin)
+-.15 E F0(,)A F1(/de)3.789 E(v/stdout)-.15 E F0 3.789(,o)C(r)-3.789 E F1
+(/de)108 213.6 Q(v/stderr)-.15 E F0 2.5<2c8c>C
 (le descriptor 0, 1, or 2, respecti)-2.5 E -.15(ve)-.25 G(ly).15 E 2.5
 (,i)-.65 G 2.5(sc)-2.5 G(heck)-2.5 E(ed.)-.1 E .722
 (Unless otherwise speci\214ed, primaries that operate on \214les follo)
-108 468 R 3.221(ws)-.25 G .721(ymbolic links and operate on the tar)
--3.221 F(get)-.18 E(of the link, rather than the link itself.)108 480 Q
-F1<ad61>108 504 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 516 Q 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 is a block special \214le.).15 E F1<ad63>108 528 Q F2(\214le)
-2.5 E F0 -.35(Tr)11.14 G(ue if).35 E F2(\214le)2.5 E F0 -.15(ex)2.5 G
-(ists and is a character special \214le.).15 E F1<ad64>108 540 Q 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 is a directory).15 E(.)-.65 E F1<ad65>108 552 Q F2
-(\214le)2.5 E F0 -.35(Tr)11.14 G(ue if).35 E F2(\214le)2.5 E F0 -.15(ex)
-2.5 G(ists.).15 E F1<ad66>108 564 Q F2(\214le)2.5 E F0 -.35(Tr)12.25 G
-(ue if).35 E F2(\214le)2.5 E F0 -.15(ex)2.5 G(ists and is a re).15 E
-(gular \214le.)-.15 E F1<ad67>108 576 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 and is set-group-id.).15 E F1<ad68>108 588 Q 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 is a symbolic link.).15 E F1<ad6b>108 600 Q 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
+108 230.4 R 3.221(ws)-.25 G .721(ymbolic links and operate on the tar)
+-3.221 F(get)-.18 E(of the link, rather than the link itself.)108 242.4
+Q F3<ad61>108 266.4 Q F1(\214le)2.5 E F0 -.35(Tr)10.58 G(ue if).35 E F1
+(\214le)2.5 E F0 -.15(ex)2.5 G(ists.).15 E F3<ad62>108 278.4 Q F1
+(\214le)2.5 E F0 -.35(Tr)10.02 G(ue if).35 E F1(\214le)2.5 E F0 -.15(ex)
+2.5 G(ists and is a block special \214le.).15 E F3<ad63>108 290.4 Q F1
+(\214le)2.5 E F0 -.35(Tr)11.14 G(ue if).35 E F1(\214le)2.5 E F0 -.15(ex)
+2.5 G(ists and is a character special \214le.).15 E F3<ad64>108 302.4 Q
+F1(\214le)2.5 E F0 -.35(Tr)10.02 G(ue if).35 E F1(\214le)2.5 E F0 -.15
+(ex)2.5 G(ists and is a directory).15 E(.)-.65 E F3<ad65>108 314.4 Q F1
+(\214le)2.5 E F0 -.35(Tr)11.14 G(ue if).35 E F1(\214le)2.5 E F0 -.15(ex)
+2.5 G(ists.).15 E F3<ad66>108 326.4 Q F1(\214le)2.5 E F0 -.35(Tr)12.25 G
+(ue if).35 E F1(\214le)2.5 E F0 -.15(ex)2.5 G(ists and is a re).15 E
+(gular \214le.)-.15 E F3<ad67>108 338.4 Q F1(\214le)2.5 E F0 -.35(Tr)
+10.58 G(ue if).35 E F1(\214le)2.5 E F0 -.15(ex)2.5 G
+(ists and is set-group-id.).15 E F3<ad68>108 350.4 Q F1(\214le)2.5 E F0
+-.35(Tr)10.02 G(ue if).35 E F1(\214le)2.5 E F0 -.15(ex)2.5 G
+(ists and is a symbolic link.).15 E F3<ad6b>108 362.4 Q F1(\214le)2.5 E
+F0 -.35(Tr)10.02 G(ue if).35 E F1(\214le)2.5 E F0 -.15(ex)2.5 G
 (ists and its `).15 E(`stick)-.74 E(y')-.15 E 2.5('b)-.74 G(it is set.)
--2.5 E F1<ad70>108 612 Q 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 is a named pipe \(FIFO\).).15
-E F1<ad72>108 624 Q F2(\214le)2.5 E F0 -.35(Tr)11.14 G(ue if).35 E F2
-(\214le)2.5 E F0 -.15(ex)2.5 G(ists and is readable.).15 E F1<ad73>108
-636 Q F2(\214le)2.5 E F0 -.35(Tr)11.69 G(ue if).35 E F2(\214le)2.5 E F0
--.15(ex)2.5 G(ists and has a size greater than zero.).15 E F1<ad74>108
-648 Q F2(fd)2.5 E F0 -.35(Tr)16.69 G(ue if \214le descriptor).35 E F2
-(fd)4.47 E F0(is open and refers to a terminal.)3.27 E F1<ad75>108 660 Q
-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
-672 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 F1<ad78>108 684 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 and is e).15 E -.15(xe)-.15 G(cutable.).15 E F1<ad4f>108 696 Q F2
-(\214le)2.5 E F0 -.35(Tr)7.8 G(ue if).35 E F2(\214le)2.5 E F0 -.15(ex)
+-2.5 E F3<ad70>108 374.4 Q F1(\214le)2.5 E F0 -.35(Tr)10.02 G(ue if).35
+E F1(\214le)2.5 E F0 -.15(ex)2.5 G(ists and is a named pipe \(FIFO\).)
+.15 E F3<ad72>108 386.4 Q F1(\214le)2.5 E F0 -.35(Tr)11.14 G(ue if).35 E
+F1(\214le)2.5 E F0 -.15(ex)2.5 G(ists and is readable.).15 E F3<ad73>108
+398.4 Q F1(\214le)2.5 E F0 -.35(Tr)11.69 G(ue if).35 E F1(\214le)2.5 E
+F0 -.15(ex)2.5 G(ists and has a size greater than zero.).15 E F3<ad74>
+108 410.4 Q F1(fd)2.5 E F0 -.35(Tr)16.69 G(ue if \214le descriptor).35 E
+F1(fd)4.47 E F0(is open and refers to a terminal.)3.27 E F3<ad75>108
+422.4 Q F1(\214le)2.5 E F0 -.35(Tr)10.02 G(ue if).35 E F1(\214le)2.5 E
+F0 -.15(ex)2.5 G(ists and its set-user).15 E(-id bit is set.)-.2 E F3
+<ad77>108 434.4 Q F1(\214le)2.5 E F0 -.35(Tr)8.36 G(ue if).35 E F1
+(\214le)2.5 E F0 -.15(ex)2.5 G(ists and is writable.).15 E F3<ad78>108
+446.4 Q F1(\214le)2.5 E F0 -.35(Tr)10.58 G(ue if).35 E F1(\214le)2.5 E
+F0 -.15(ex)2.5 G(ists and is e).15 E -.15(xe)-.15 G(cutable.).15 E F3
+<ad4f>108 458.4 Q F1(\214le)2.5 E F0 -.35(Tr)7.8 G(ue if).35 E F1
+(\214le)2.5 E F0 -.15(ex)2.5 G(ists and is o).15 E(wned by the ef)-.25 E
+(fecti)-.25 E .3 -.15(ve u)-.25 H(ser id.).15 E F3<ad47>108 470.4 Q F1
+(\214le)2.5 E F0 -.35(Tr)7.8 G(ue if).35 E F1(\214le)2.5 E F0 -.15(ex)
 2.5 G(ists and is o).15 E(wned by the ef)-.25 E(fecti)-.25 E .3 -.15
-(ve u)-.25 H(ser id.).15 E F1<ad47>108 708 Q F2(\214le)2.5 E F0 -.35(Tr)
-7.8 G(ue if).35 E F2(\214le)2.5 E F0 -.15(ex)2.5 G(ists and is o).15 E
-(wned by the ef)-.25 E(fecti)-.25 E .3 -.15(ve g)-.25 H(roup id.).15 E
-(GNU Bash-4.0)72 768 Q(2008 May 25)147.345 E(26)197.335 E 0 Cg EP
-%%Page: 27 27
+(ve g)-.25 H(roup id.).15 E F3<ad4c>108 482.4 Q F1(\214le)2.5 E F0 -.35
+(Tr)8.91 G(ue if).35 E F1(\214le)2.5 E F0 -.15(ex)2.5 G
+(ists and is a symbolic link.).15 E F3<ad53>108 494.4 Q F1(\214le)2.5 E
+F0 -.35(Tr)10.02 G(ue if).35 E F1(\214le)2.5 E F0 -.15(ex)2.5 G
+(ists and is a sock).15 E(et.)-.1 E F3<ad4e>108 506.4 Q F1(\214le)2.5 E
+F0 -.35(Tr)8.36 G(ue if).35 E F1(\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 F1
+(\214le1)108 518.4 Q F0<ad>2.5 E F3(nt)A F1(\214le2)2.5 E F0 -.35(Tr)144
+530.4 S .038(ue if).35 F F1(\214le1)2.538 E F0 .039(is ne)2.539 F .039
+(wer \(according to modi\214cation date\) than)-.25 F F1(\214le2)2.539 E
+F0 2.539(,o)C 2.539(ri)-2.539 G(f)-2.539 E F1(\214le1)2.539 E F0 -.15
+(ex)2.539 G .039(ists and).15 F F1(\214le2)2.539 E F0 .039(does not.)
+2.539 F F1(\214le1)108 542.4 Q F0<ad>2.5 E F3(ot)A F1(\214le2)2.5 E F0
+-.35(Tr)144 554.4 S(ue if).35 E F1(\214le1)2.5 E F0(is older than)2.5 E
+F1(\214le2)2.5 E F0 2.5(,o)C 2.5(ri)-2.5 G(f)-2.5 E F1(\214le2)2.5 E F0
+-.15(ex)2.5 G(ists and).15 E F1(\214le1)2.5 E F0(does not.)2.5 E F1
+(\214le1)108 566.4 Q F3(\255ef)2.5 E F1(\214le2)2.5 E F0 -.35(Tr)144
+578.4 S(ue if).35 E F1(\214le1)2.5 E F0(and)2.5 E F1(\214le2)2.5 E F0
+(refer to the same de)2.5 E(vice and inode numbers.)-.25 E F3<ad6f>108
+590.4 Q F1(optname)2.5 E F0 -.35(Tr)144 602.4 S 1.144
+(ue if shell option).35 F F1(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 F3
+<ad6f>3.643 E F0(option to the)144 614.4 Q F3(set)2.5 E F0 -.2(bu)2.5 G
+(iltin belo).2 E -.65(w.)-.25 G F3<ad7a>108 626.4 Q F1(string)2.5 E F0
+-.35(Tr)144 638.4 S(ue if the length of).35 E F1(string)2.5 E F0
+(is zero.)2.5 E F1(string)108 650.4 Q F3<ad6e>108 662.4 Q F1(string)2.5
+E F0 -.35(Tr)144 674.4 S(ue if the length of).35 E F1(string)2.84 E F0
+(is non-zero.)2.72 E F1(string1)108 691.2 Q F3(==)2.5 E F1(string2)2.5 E
+F0 -.35(Tr)144 703.2 S(ue if the strings are equal.).35 E F3(=)5 E F0
+(may be used in place of)2.5 E F3(==)2.5 E F0
+(for strict POSIX compliance.)2.5 E(GNU Bash-4.0)72 768 Q(2008 June 29)
+147.345 E(27)197.335 E 0 Cg EP
+%%Page: 28 28
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E/F1 10/Times-Bold@0 SF<ad4c>108 84 Q/F2 10/Times-Italic@0 SF
-(\214le)2.5 E F0 -.35(Tr)8.91 G(ue if).35 E F2(\214le)2.5 E F0 -.15(ex)
-2.5 G(ists and is a symbolic link.).15 E F1<ad53>108 96 Q 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 is a sock).15 E(et.)-.1 E F1<ad4e>108 108 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 120 Q F0<ad>2.5 E F1(nt)A F2(\214le2)2.5 E F0 -.35(Tr)144
-132 S .038(ue if).35 F F2(\214le1)2.538 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 144 Q F0<ad>2.5 E F1(ot)A F2(\214le2)2.5 E F0
--.35(Tr)144 156 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 168 Q F1(\255ef)2.5 E F2(\214le2)2.5 E F0 -.35(Tr)144 180 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
-192 Q F2(optname)2.5 E F0 -.35(Tr)144 204 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 216 Q F1(set)2.5 E F0 -.2(bu)2.5 G
-(iltin belo).2 E -.65(w.)-.25 G F1<ad7a>108 228 Q F2(string)2.5 E F0
--.35(Tr)144 240 S(ue if the length of).35 E F2(string)2.5 E F0(is zero.)
-2.5 E F2(string)108 252 Q F1<ad6e>108 264 Q F2(string)2.5 E F0 -.35(Tr)
-144 276 S(ue if the length of).35 E F2(string)2.84 E F0(is non-zero.)
-2.72 E F2(string1)108 292.8 Q F1(==)2.5 E F2(string2)2.5 E F0 -.35(Tr)
-144 304.8 S(ue if the strings are equal.).35 E F1(=)5 E F0
-(may be used in place of)2.5 E F1(==)2.5 E F0
-(for strict POSIX compliance.)2.5 E F2(string1)108 321.6 Q F1(!=)2.5 E
-F2(string2)2.5 E F0 -.35(Tr)144 333.6 S
-(ue if the strings are not equal.).35 E F2(string1)108 350.4 Q F1(<)2.5
-E F2(string2)2.5 E F0 -.35(Tr)144 362.4 S(ue if).35 E F2(string1)2.5 E
-F0(sorts before)2.5 E F2(string2)2.5 E F0(le)2.5 E
-(xicographically in the current locale.)-.15 E F2(string1)108 379.2 Q F1
-(>)2.5 E F2(string2)2.5 E F0 -.35(Tr)144 391.2 S(ue if).35 E F2(string1)
-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 408 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 420
-Q F0 .385(is one of)2.634 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
-(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 432 R F2(ar)144
-444 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 460.8 Q(ANSION)-.81 E F0 .613
-(When a simple command is e)108 472.8 R -.15(xe)-.15 G .614
+-.35 E/F1 10/Times-Italic@0 SF(string1)108 84 Q/F2 10/Times-Bold@0 SF
+(!=)2.5 E F1(string2)2.5 E F0 -.35(Tr)144 96 S
+(ue if the strings are not equal.).35 E F1(string1)108 112.8 Q F2(<)2.5
+E F1(string2)2.5 E F0 -.35(Tr)144 124.8 S(ue if).35 E F1(string1)2.5 E
+F0(sorts before)2.5 E F1(string2)2.5 E F0(le)2.5 E
+(xicographically in the current locale.)-.15 E F1(string1)108 141.6 Q F2
+(>)2.5 E F1(string2)2.5 E F0 -.35(Tr)144 153.6 S(ue if).35 E F1(string1)
+2.5 E F0(sorts after)2.5 E F1(string2)2.5 E F0(le)2.5 E
+(xicographically in the current locale.)-.15 E F1(ar)108.33 170.4 Q(g1)
+-.37 E F2(OP)2.5 E F1(ar)2.5 E(g2)-.37 E/F3 9/Times-Bold@0 SF(OP)144
+182.4 Q F0 .385(is one of)2.634 F F2(\255eq)2.885 E F0(,)A F2(\255ne)
+2.885 E F0(,)A F2(\255lt)2.885 E F0(,)A F2(\255le)2.885 E F0(,)A F2
+(\255gt)2.885 E F0 2.885(,o)C(r)-2.885 E F2(\255ge)2.885 E F0 5.385(.T)C
+.385(hese arithmetic binary operators return true if)-5.385 F F1(ar)
+2.885 E(g1)-.37 E F0 .845(is equal to, not equal to, less than, less th\
+an or equal to, greater than, or greater than or equal to)144 194.4 R F1
+(ar)144 206.4 Q(g2)-.37 E F0 2.5(,r)C(especti)-2.5 E -.15(ve)-.25 G(ly)
+.15 E(.)-.65 E F1(Ar)6.01 E(g1)-.37 E F0(and)2.5 E F1(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 223.2 Q(ANSION)-.81 E F0
+.613(When a simple command is e)108 235.2 R -.15(xe)-.15 G .614
 (cuted, the shell performs the follo).15 F .614(wing e)-.25 F .614
 (xpansions, assignments, and redi-)-.15 F(rections, from left to right.)
-108 484.8 Q 26(1. The)108 501.6 R -.1(wo)4.349 G 1.849
+108 247.2 Q 26(1. The)108 264 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
 (ariable assignments \(those preceding the command)-.25 F
-(name\) and redirections are sa)144 513.6 Q -.15(ve)-.2 G 2.5(df).15 G
-(or later processing.)-2.5 E 26(2. The)108 530.4 R -.1(wo)3.663 G 1.163
+(name\) and redirections are sa)144 276 Q -.15(ve)-.2 G 2.5(df).15 G
+(or later processing.)-2.5 E 26(2. The)108 292.8 R -.1(wo)3.663 G 1.163
 (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
-542.4 R .776(xpansion, the \214rst w)-.15 F .776(ord is tak)-.1 F .775
+304.8 R .776(xpansion, the \214rst w)-.15 F .776(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 554.4 Q(guments.)-.18 E 26(3. Redirections)108 571.2 R
+(are the ar)144 316.8 Q(guments.)-.18 E 26(3. Redirections)108 333.6 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 588 R(te)
-3.216 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
-(command substitution, arithmetic e)144 600 R .339
+(REDIRECTION)2.5 E/F5 9/Times-Roman@0 SF(.)A F0 26(4. The)108 350.4 R
+(te)3.216 E .717(xt after the)-.15 F F2(=)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
+(command substitution, arithmetic e)144 362.4 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 612 Q .332
-(If no command name results, the v)108 628.8 R .332
+(efore being assigned to the v)-2.839 F(ari-)-.25 E(able.)144 374.4 Q
+.332(If no command name results, the v)108 391.2 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 640.8 S .757
+2.833(vironment. Otherwise,)-.4 F(the)2.833 E -.25(va)108 403.2 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 652.8
+(fect the current shell en)-.25 F(vi-)-.4 E 3.176(ronment. If)108 415.2
 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 664.8 Q(xits with a non-zero status.)-.15 E .15
-(If no command name results, redirections are performed, b)108 681.6 R
+(the command e)108 427.2 Q(xits with a non-zero status.)-.15 E .15
+(If no command name results, redirections are performed, b)108 444 R
 .149(ut do not af)-.2 F .149(fect the current shell en)-.25 F 2.649
-(vironment. A)-.4 F(redirection error causes the command to e)108 693.6
-Q(xit with a non-zero status.)-.15 E 1.064
-(If there is a command name left after e)108 710.4 R 1.064(xpansion, e)
+(vironment. A)-.4 F(redirection error causes the command to e)108 456 Q
+(xit with a non-zero status.)-.15 E 1.064
+(If there is a command name left after e)108 472.8 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
-722.4 R 2.569(xits. If)-.15 F .069(one of the e)2.569 F .069
+484.8 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(GNU Bash-4.0)72 768 Q(2008 May 25)
-147.345 E(27)197.335 E 0 Cg EP
-%%Page: 28 28
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E .466(is the e)108 84 R .466
+(xit status of the command)-.15 F .466(is the e)108 496.8 R .466
 (xit status of the last command substitution performed.)-.15 F .467
-(If there were no command substitutions, the)5.466 F(command e)108 96 Q
-(xits with a status of zero.)-.15 E/F1 10.95/Times-Bold@0 SF
-(COMMAND EXECUTION)72 112.8 Q F0 .547
-(After a command has been split into w)108 124.8 R .546
+(If there were no command substitutions, the)5.466 F(command e)108 508.8
+Q(xits with a status of zero.)-.15 E F4(COMMAND EXECUTION)72 525.6 Q F0
+.547(After a command has been split into w)108 537.6 R .546
 (ords, if it results in a simple command and an optional list of ar)-.1
-F(gu-)-.18 E(ments, the follo)108 136.8 Q(wing actions are tak)-.25 E
+F(gu-)-.18 E(ments, the follo)108 549.6 Q(wing actions are tak)-.25 E
 (en.)-.1 E .379(If the command name contains no slashes, the shell atte\
-mpts to locate it.)108 153.6 R .379(If there e)5.379 F .379
+mpts to locate it.)108 566.4 R .379(If there e)5.379 F .379
 (xists a shell function by)-.15 F .246(that name, that function is in)
-108 165.6 R -.2(vo)-.4 G -.1(ke).2 G 2.746(da).1 G 2.746(sd)-2.746 G
-.246(escribed abo)-2.746 F .546 -.15(ve i)-.15 H(n).15 E/F2 9
-/Times-Bold@0 SF(FUNCTIONS)2.746 E/F3 9/Times-Roman@0 SF(.)A F0 .246
-(If the name does not match a func-)4.746 F
-(tion, the shell searches for it in the list of shell b)108 177.6 Q 2.5
+108 578.4 R -.2(vo)-.4 G -.1(ke).2 G 2.746(da).1 G 2.746(sd)-2.746 G
+.246(escribed abo)-2.746 F .546 -.15(ve i)-.15 H(n).15 E F3(FUNCTIONS)
+2.746 E F5(.)A F0 .246(If the name does not match a func-)4.746 F
+(tion, the shell searches for it in the list of shell b)108 590.4 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 194.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 206.4 Q F2 -.666(PA)
-3.163 G(TH)-.189 E F0 .662(for a directory containing an e)2.913 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
-(the full pathnames of e)108 218.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
-230.4 R F2 -.666(PA)3.22 G(TH)-.189 E F0 .719
+(If the name is neither a shell function nor a b)108 607.2 R .31
+(uiltin, and contains no slashes,)-.2 F F2(bash)2.81 E F0 .31
+(searches each element of)2.81 F(the)108 619.2 Q F3 -.666(PA)3.163 G(TH)
+-.189 E F0 .662(for a directory containing an e)2.913 F -.15(xe)-.15 G
+.662(cutable \214le by that name.).15 F F2(Bash)5.662 E F0 .662
+(uses a hash table to remember)3.162 F 1.914(the full pathnames of e)108
+631.2 R -.15(xe)-.15 G 1.915(cutable \214les \(see).15 F F2(hash)4.415 E
+F0(under)4.415 E F3 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 643.2 R F3 -.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 .956(search is unsuccessful, the shell searches for\
- a de\214ned shell function named)108 242.4 R F4(command_not_f)3.456 E
-(ound_han-)-.25 E(dle)108 254.4 Q F0 5.278(.I)C 2.778(ft)-5.278 G .278
+ a de\214ned shell function named)108 655.2 R F2(command_not_f)3.456 E
+(ound_han-)-.25 E(dle)108 667.2 Q F0 5.278(.I)C 2.778(ft)-5.278 G .278
 (hat function e)-2.778 F .278(xists, it is in)-.15 F -.2(vo)-.4 G -.1
 (ke).2 G 2.778(dw).1 G .277
 (ith the original command and the original command')-2.778 F 2.777(sa)
--.55 G -.18(rg)-2.777 G(uments).18 E .775(as its ar)108 266.4 R .775
+-.55 G -.18(rg)-2.777 G(uments).18 E .775(as its ar)108 679.2 R .775
 (guments, and the function')-.18 F 3.275(se)-.55 G .775
 (xit status becomes the e)-3.425 F .775(xit status of the shell.)-.15 F
 .776(If that function is not)5.776 F
-(de\214ned, the shell prints an error message and returns an e)108 278.4
+(de\214ned, the shell prints an error message and returns an e)108 691.2
 Q(xit status of 127.)-.15 E 1.089(If the search is successful, or if th\
-e command name contains one or more slashes, the shell e)108 295.2 R
--.15(xe)-.15 G 1.089(cutes the).15 F .197(named program in a separate e)
-108 307.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 .198
-(n, and the remain-).15 F(ing ar)108 319.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 336 R -.15
-(xe)-.15 G 1.809(cution f).15 F 1.809
+e command name contains one or more slashes, the shell e)108 708 R -.15
+(xe)-.15 G 1.089(cutes the).15 F 2.31(named program in a separate e)108
+720 R -.15(xe)-.15 G 2.31(cution en).15 F 4.81(vironment. Ar)-.4 F 2.31
+(gument 0 is set to the name gi)-.18 F -.15(ve)-.25 G 2.31(n, and the)
+.15 F(GNU Bash-4.0)72 768 Q(2008 June 29)147.345 E(28)197.335 E 0 Cg EP
+%%Page: 29 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(remaining ar)108 84 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 100.8 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 .677(assumed to be a)108 348 R/F5 10
+4.309(ti)-4.309 G(s)-4.309 E .677(assumed to be a)108 112.8 R/F1 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 .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 360 R .33
+(subshell reinitializes itself, so that the ef)108 124.8 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 372 R 1.219
+(andle the script, with)-2.829 F 1.219(the e)108 136.8 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 384 S(IL).09 E(TIN COMMANDS)-.828 E F3(\))A
-F0(are retained by the child.)2.25 E .348(If the program is a \214le be)
-108 400.8 R .348(ginning with)-.15 F F4(#!)2.848 E F0 2.848(,t)C .347(h\
+-.15 F/F2 10/Times-Bold@0 SF(hash)3.719 E F0(belo)3.719 E 3.719(wu)-.25
+G(nder)-3.719 E/F3 9/Times-Bold@0 SF(SHELL)3.719 E -.09(BU)108 148.8 S
+(IL).09 E(TIN COMMANDS)-.828 E/F4 9/Times-Roman@0 SF(\))A F0
+(are retained by the child.)2.25 E .348(If the program is a \214le be)
+108 165.6 R .348(ginning with)-.15 F F2(#!)2.848 E F0 2.848(,t)C .347(h\
 e remainder of the \214rst line speci\214es an interpreter for the pro-)
--2.848 F 3.178(gram. The)108 412.8 R .678(shell e)3.178 F -.15(xe)-.15 G
+-2.848 F 3.178(gram. The)108 177.6 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.193(format themselv)
-108 424.8 R 3.693(es. The)-.15 F(ar)3.693 E 1.193
+108 189.6 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 436.8 R
+(interpreter name on the \214rst line of the program, follo)108 201.6 R
 1.131(wed by the name of the program, follo)-.25 F 1.131(wed by the)-.25
-F(command ar)108 448.8 Q(guments, if an)-.18 E -.65(y.)-.15 G F1
-(COMMAND EXECUTION ENVIR)72 465.6 Q(ONMENT)-.329 E F0(The shell has an)
-108 477.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
-506.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 518.4 S(iltin).2 E 32.5<8374>108 535.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)
+F(command ar)108 213.6 Q(guments, if an)-.18 E -.65(y.)-.15 G/F5 10.95
+/Times-Bold@0 SF(COMMAND EXECUTION ENVIR)72 230.4 Q(ONMENT)-.329 E F0
+(The shell has an)108 242.4 Q F1 -.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 271.2 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 F2(exec)
+3.905 E F0 -.2(bu)144 283.2 S(iltin).2 E 32.5<8374>108 300 S
+(he current w)-32.5 E(orking directory as set by)-.1 E F2(cd)2.5 E F0(,)
+A F2(pushd)2.5 E F0 2.5(,o)C(r)-2.5 E F2(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 552 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 568.8 S(urrent traps set by)-32.5 E F4(trap)2.5 E F0 32.5
-<8373>108 585.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
+<8374>108 316.8 S(he \214le creation mode mask as set by)-32.5 E F2
+(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 333.6 S(urrent traps set by)-32.5 E F2(trap)2.5 E
+F0 32.5<8373>108 350.4 S .256(hell parameters that are set by v)-32.5 F
+.256(ariable assignment or with)-.25 F F2(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 597.6 Q(vironment)-.4 E 32.5<8373>108 614.4 S
+(in the en)144 362.4 Q(vironment)-.4 E 32.5<8373>108 379.2 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
-(arent in the en)-2.5 E(vironment)-.4 E 32.5<836f>108 631.2 S
+(arent in the en)-2.5 E(vironment)-.4 E 32.5<836f>108 396 S
 (ptions enabled at in)-32.5 E -.2(vo)-.4 G(cation \(either by def).2 E
-(ault or with command-line ar)-.1 E(guments\) or by)-.18 E F4(set)2.5 E
-F0 32.5<836f>108 648 S(ptions enabled by)-32.5 E F4(shopt)2.5 E F0 32.5
-<8373>108 664.8 S(hell aliases de\214ned with)-32.5 E F4(alias)2.5 E F0
-32.5<8376>108 681.6 S
+(ault or with command-line ar)-.1 E(guments\) or by)-.18 E F2(set)2.5 E
+F0 32.5<836f>108 412.8 S(ptions enabled by)-32.5 E F2(shopt)2.5 E F0
+32.5<8373>108 429.6 S(hell aliases de\214ned with)-32.5 E F2(alias)2.5 E
+F0 32.5<8376>108 446.4 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 .427(When a simple command other than a b)108 698.4 R
+(alue of)-.25 E F2($$)2.5 E F0 2.5(,a)C(nd the v)-2.5 E(alue of)-.25 E
+F2($PPID)2.5 E F0 .427(When a simple command other than a b)108 463.2 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 710.4 S .133(cution en).15 F .133
+-2.926 G(eparate)-2.926 E -.15(exe)108 475.2 S .133(cution en).15 F .133
 (vironment that consists of the follo)-.4 F 2.634(wing. Unless)-.25 F
 .134(otherwise noted, the v)2.634 F .134(alues are inherited from)-.25 F
-(the shell.)108 722.4 Q(GNU Bash-4.0)72 768 Q(2008 May 25)147.345 E(28)
-197.335 E 0 Cg EP
-%%Page: 29 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.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
+(the shell.)108 487.2 Q 32.5<8374>108 516 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 .856(hell v)
+-3.556 F(mand)144 528 Q 32.5<8374>108 544.8 S(he current w)-32.5 E
+(orking directory)-.1 E 32.5<8374>108 561.6 S
+(he \214le creation mode mask)-32.5 E 32.5<8373>108 578.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 .307
+(xported for the command,)-.15 F(passed in the en)144 590.4 Q(vironment)
+-.4 E 32.5<8374>108 607.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
+(arent, and traps ignored)-2.806 F(by the shell are ignored)144 619.2 Q
+2.5(Ac)108 636 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.078(di).1 G(n)-3.078 E 2.745(as)108 232.8 S .245(ubshell en)
+ntheses, and asynchronous commands are in)108 652.8 R -.2(vo)-.4 G -.1
+(ke).2 G 3.078(di).1 G(n)-3.078 E 2.745(as)108 664.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
+.358(reset to the v)108 676.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 .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
+-.4 G -.1(ke).2 G(d).1 E .857(as part of a pipeline are also e)108 688.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
+-.4 E(ment cannot af)108 700.8 Q(fect the shell')-.25 E 2.5(se)-.55 G
 -.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.353(When a program is in)108 338.4
+(If a command is follo)108 717.6 R .404(wed by a)-.25 F F2(&)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 729.6 R F1(/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(GNU Bash-4.0)72 768 Q(2008 June 29)147.345 E(29)197.335 E 0 Cg
+EP
+%%Page: 30 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(as modi\214ed by redirections.)108 84 Q/F1 10.95/Times-Bold@0 SF
+(ENVIR)72 100.8 Q(ONMENT)-.329 E F0 2.353(When a program is in)108 112.8
 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.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.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.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.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
+(rray of strings called the)-4.853 F/F2 10/Times-Italic@0 SF(en)4.853 E
+(vir)-.4 E(onment)-.45 E F0 7.353(.T).68 G 2.354(his is a list of)-7.353
+F F2(name)108 124.8 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.486(The shell pro)108 141.6 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
+153.6 Q .144(vironment and creates a parameter for each name found, aut\
+omatically marking 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 165.6 R .203
+(ecuted commands inherit the en)-.15 F 2.703(vironment. The)-.4 F/F3 10
+/Times-Bold@0 SF(export)2.703 E F0(and)2.703 E F3(declar)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 177.6 R
 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
+(alue of a parameter in the)-.25 F(en)108 189.6 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.)
--.4 F .64(The en)5.64 F(viron-)-.4 E .58(ment inherited by an)108 427.2
+-.4 F .64(The en)5.64 F(viron-)-.4 E .58(ment inherited by an)108 201.6
 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
-.301(modi\214ed in the shell, less an)108 439.2 R 2.801(yp)-.15 G .301
+.301(modi\214ed in the shell, less an)108 213.6 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)
+-2.801 E F3(unset)2.801 E F0 .3(command, plus an)2.8 F 2.8(ya)-.15 G .3
+(dditions via the)-2.8 F F3(export)2.8 E F0(and)2.8 E F3(declar)108
+225.6 Q 2.5<65ad>-.18 G(x)-2.5 E F0(commands.)2.5 E .562(The en)108
+242.4 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 254.4 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 266.4 Q
+(vironment seen by that command.)-.4 E .81(If the)108 283.2 R F3<ad6b>
+3.31 E F0 .81(option is set \(see the)3.31 F F3(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
+.81(parameter assignments are placed in)3.82 F(the en)108 295.2 Q
 (vironment for a command, not just those that precede the command name.)
--.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
+-.4 E(When)108 312 Q F3(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 F3(_)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(The e)108 578.4 R
-.15(xit status of an e)-.15 F -.15(xe)-.15 G .15(cuted command is the v)
-.15 F .151(alue returned by the)-.25 F F2(waitpid)2.651 E F0 .151
+(passed to that command in its en)108 324 Q(vironment.)-.4 E F1(EXIT ST)
+72 340.8 Q -1.04(AT)-.986 G(US)1.04 E F0 .15(The e)108 352.8 R .15
+(xit status of an e)-.15 F -.15(xe)-.15 G .15(cuted command is the v).15
+F .151(alue returned by the)-.25 F F2(waitpid)2.651 E F0 .151
 (system call or equi)2.651 F -.25(va)-.25 G .151(lent func-).25 F 2.848
-(tion. Exit)108 590.4 R .348(statuses f)2.848 F .347
+(tion. Exit)108 364.8 R .348(statuses f)2.848 F .347
 (all between 0 and 255, though, as e)-.1 F .347(xplained belo)-.15 F
 1.647 -.65(w, t)-.25 H .347(he shell may use v).65 F .347(alues abo)-.25
-F .647 -.15(ve 1)-.15 H(25).15 E(specially)108 602.4 Q 5.673(.E)-.65 G
+F .647 -.15(ve 1)-.15 H(25).15 E(specially)108 376.8 Q 5.673(.E)-.65 G
 .673(xit statuses from shell b)-5.673 F .673
 (uiltins and compound commands are also limited to this range. Under)-.2
-F(certain circumstances, the shell will use special v)108 614.4 Q
+F(certain circumstances, the shell will use special v)108 388.8 Q
 (alues to indicate speci\214c f)-.25 E(ailure modes.)-.1 E -.15(Fo)108
-631.2 S 3.373(rt).15 G .873(he shell')-3.373 F 3.373(sp)-.55 G .873
+405.6 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 643.2 R 2.548(An)5.048 G .049
+-.15 F .048(zero indicates success.)108 417.6 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 655.2 Q F2(N)2.5 E F0(,)A F1(bash)
+-2.549 F .049(atal sig-)-.1 F(nal)108 429.6 Q F2(N)2.5 E F0(,)A F3(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
-(If a command is not found, the child process created to e)108 672 R
+(If a command is not found, the child process created to e)108 446.4 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 684 Q(ut is not e)-.2 E -.15(xe)
--.15 G(cutable, the return status is 126.).15 E(If a command f)108 700.8
+(If a command is)5.404 F(found b)108 458.4 Q(ut is not e)-.2 E -.15(xe)
+-.15 G(cutable, the return status is 126.).15 E(If a command f)108 475.2
 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 717.6 R .08
+-.15 E .08(Shell b)108 492 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 729.6 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(GNU Bash-4.0)72 768
-Q(2008 May 25)147.345 E(29)197.335 E 0 Cg EP
-%%Page: 30 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/Times-Bold@0 SF(Bash)108 84 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
-(cuted, unless a syntax error occurs, in which case).15 F(it e)108 96 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/F2
-10.95/Times-Bold@0 SF(SIGN)72 112.8 Q(ALS)-.219 E F0(When)108 124.8 Q F1
-(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 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 F1 .683(kill 0)3.183 F F0 .683(does not kill an)3.183
-F(interacti)108 136.8 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 F1
-(wait)2.958 E F0 -.2(bu)2.958 G .457(iltin is interruptible\).).2 F .457
-(In all cases,)5.457 F F1(bash)108 148.8 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 F1(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 165.6 Q 1.064(uiltin commands run by)-.2 F F1(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 177.6 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
-(tion to these inherited handlers.)108 189.6 R .653
+-2.581 F(the)108 504 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 F3(Bash)108 520.8 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
+(cuted, unless a syntax error occurs, in which case).15 F(it e)108 532.8
+Q(xits with a non-zero v)-.15 E 2.5(alue. See)-.25 F(also the)2.5 E F3
+(exit)2.5 E F0 -.2(bu)2.5 G(iltin command belo).2 E -.65(w.)-.25 G F1
+(SIGN)72 549.6 Q(ALS)-.219 E F0(When)108 561.6 Q F3(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 F 3.183(yt)-.15 G .683(raps, it ignores)
+-3.183 F F4(SIGTERM)3.183 E F0 .683(\(so that)2.933 F F3 .683(kill 0)
+3.183 F F0 .683(does not kill an)3.183 F(interacti)108 573.6 Q .758 -.15
+(ve s)-.25 H .458(hell\), and).15 F F4(SIGINT)2.958 E F0 .458
+(is caught and handled \(so that the)2.708 F F3(wait)2.958 E F0 -.2(bu)
+2.958 G .457(iltin is interruptible\).).2 F .457(In all cases,)5.457 F
+F3(bash)108 585.6 Q F0(ignores)2.5 E F4(SIGQ)2.5 E(UIT)-.09 E F5(.)A F0
+(If job control is in ef)4.5 E(fect,)-.25 E F3(bash)2.5 E F0(ignores)2.5
+E F4(SIGTTIN)2.5 E F5(,)A F4(SIGTT)2.25 E(OU)-.162 E F5(,)A F0(and)2.25
+E F4(SIGTSTP)2.5 E F5(.)A F0(Non-b)108 602.4 Q 1.064
+(uiltin commands run by)-.2 F F3(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
+614.4 R .748(job control is not in ef)3.248 F .747
+(fect, asynchronous commands ignore)-.25 F F4(SIGINT)3.247 E F0(and)
+2.997 E F4(SIGQ)3.247 E(UIT)-.09 E F0 .747(in addi-)2.997 F .652
+(tion to these inherited handlers.)108 626.4 R .653
 (Commands run as a result of command substitution ignore the k)5.652 F
--.15(ey)-.1 G(board-).15 E(generated job control signals)108 201.6 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 218.4 R 2.046
-(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 230.4 Q F0
+-.15(ey)-.1 G(board-).15 E(generated job control signals)108 638.4 Q F4
+(SIGTTIN)2.5 E F5(,)A F4(SIGTT)2.25 E(OU)-.162 E F5(,)A F0(and)2.25 E F4
+(SIGTSTP)2.5 E F5(.)A F0 2.046(The shell e)108 655.2 R 2.046
+(xits by def)-.15 F 2.045(ault upon receipt of a)-.1 F F4(SIGHUP)4.545 E
+F5(.)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 F4(SIGHUP)108 667.2 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
+(Stopped jobs are sent)6.004 F F4(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 242.4 Q F4(.)A F0 2.53 -.8(To p)5.43
+(ve t)-.25 H(he).15 E F4(SIGHUP)108 679.2 Q F5(.)A F0 2.53 -.8(To p)5.43
 H(re).8 E -.15(ve)-.25 G .93(nt the shell from sending the signal to a \
 particular job, it should be remo).15 F -.15(ve)-.15 G 3.429(df).15 G
-.929(rom the)-3.429 F 1.356(jobs table with the)108 254.4 R F1(diso)
-3.856 E(wn)-.1 E F0 -.2(bu)3.856 G 1.356(iltin \(see).2 F F3 1.356
+.929(rom the)-3.429 F 1.356(jobs table with the)108 691.2 R F3(diso)
+3.856 E(wn)-.1 E F0 -.2(bu)3.856 G 1.356(iltin \(see).2 F F4 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
-(SIGHUP)108 266.4 Q F0(using)2.25 E F1(diso)2.5 E(wn \255h)-.1 E F0(.)A
-.166(If the)108 283.2 R F1(huponexit)2.666 E F0 .166
-(shell option has been set with)2.666 F F1(shopt)2.666 E F0(,)A F1(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
-295.2 Q(xits.)-.15 E(If)108 312 Q F1(bash)3.046 E F0 .546(is w)3.046 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 324 R -.15(xe)-.15 G .663
+1.357(w\) or mark)-.25 F 1.357(ed to not recei)-.1 F -.15(ve)-.25 G F4
+(SIGHUP)108 703.2 Q F0(using)2.25 E F3(diso)2.5 E(wn \255h)-.1 E F0(.)A
+.166(If the)108 720 R F3(huponexit)2.666 E F0 .166
+(shell option has been set with)2.666 F F3(shopt)2.666 E F0(,)A F3(bash)
+2.666 E F0 .166(sends a)2.666 F F4(SIGHUP)2.666 E F0 .166
+(to all jobs when an interacti)2.416 F -.15(ve)-.25 G(GNU Bash-4.0)72
+768 Q(2008 June 29)147.345 E(30)197.335 E 0 Cg EP
+%%Page: 31 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(login shell e)108 84 Q(xits.)-.15 E(If)108 100.8 Q/F1 10
+/Times-Bold@0 SF(bash)3.046 E F0 .546(is w)3.046 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 112.8 R -.15(xe)-.15 G .663
 (cuted until the command completes.).15 F(When)5.663 E F1(bash)3.163 E
 F0 .662(is w)3.163 F .662(aiting for an asynchronous command)-.1 F .99
-(via the)108 336 R F1(wait)3.49 E F0 -.2(bu)3.49 G .99(iltin, the recep\
-tion of a signal for which a trap has been set will cause the).2 F F1
+(via the)108 124.8 R F1(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 F1
 (wait)3.49 E F0 -.2(bu)3.49 G .99(iltin to).2 F
-(return immediately with an e)108 348 Q
+(return immediately with an e)108 136.8 Q
 (xit status greater than 128, immediately after which the trap is e)-.15
-E -.15(xe)-.15 G(cuted.).15 E F2(JOB CONTR)72 364.8 Q(OL)-.329 E/F5 10
-/Times-Italic@0 SF -.25(Jo)108 376.8 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 388.8
-Q F5 -.37(re)C(sume).37 E F0 3.201(\)t)C .701(heir e)-3.201 F -.15(xe)
--.15 G .702(cution at a later point.).15 F 3.202(Au)5.702 G .702
+E -.15(xe)-.15 G(cuted.).15 E/F2 10.95/Times-Bold@0 SF(JOB CONTR)72
+153.6 Q(OL)-.329 E/F3 10/Times-Italic@0 SF -.25(Jo)108 165.6 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 F3(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 177.6 Q F3 -.37(re)C
+(sume).37 E F0 3.201(\)t)C .701(heir e)-3.201 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)
--.1 E(supplied jointly by the system')108 400.8 Q 2.5(st)-.55 G
+-.1 E(supplied jointly by the system')108 189.6 Q 2.5(st)-.55 G
 (erminal dri)-2.5 E -.15(ve)-.25 G 2.5(ra).15 G(nd)-2.5 E F1(bash)2.5 E
-F0(.)A .785(The shell associates a)108 417.6 R F5(job)5.025 E F0 .785
+F0(.)A .785(The shell associates a)108 206.4 R F3(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 429.6 R F1
+(cuting jobs, which may be).15 F .34(listed with the)108 218.4 R F1
 (jobs)2.84 E F0 2.84(command. When)2.84 F F1(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 441.6
-Q(e:)-.1 E([1] 25647)144 458.4 Q .241(indicating that this job is job n\
+(starts a job asynchronously \(in the)2.84 F F3(bac)2.841 E(kgr)-.2 E
+(ound)-.45 E F0 .341(\), it prints a line).77 F(that looks lik)108 230.4
+Q(e:)-.1 E([1] 25647)144 247.2 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 475.2 R .732(with this job is 25647.)108 487.2 R .733
+ociated)108 264 R .732(with this job is 25647.)108 276 R .733
 (All of the processes in a single pipeline are members of the same job)
-5.732 F(.)-.4 E F1(Bash)5.733 E F0(uses)3.233 E(the)108 499.2 Q F5(job)
+5.732 F(.)-.4 E F1(Bash)5.733 E F0(uses)3.233 E(the)108 288 Q F3(job)
 4.24 E F0(abstraction as the basis for job control.)2.73 E 3.063 -.8
-(To f)108 516 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 528 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
+(To f)108 304.8 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 316.8 R F3(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
 (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
-540 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 552 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 564 R .146(fers from the terminal')-.25 F .146
+328.8 R .323 -.15(ve k)-.25 H -.15(ey).05 G .023
+(board-generated signals such as).15 F/F4 9/Times-Bold@0 SF(SIG-)2.522 E
+(INT)108 340.8 Q/F5 9/Times-Roman@0 SF(.)A F0 1.346
+(These processes are said to be in the)5.846 F F3(for)3.847 E -.4(eg)
+-.37 G -.45(ro).4 G(und).45 E F0(.).77 E F3(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 352.8 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
-(ground processes are allo)108 576 R .042
+(ground processes are allo)108 364.8 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 588 R F3 1.639
+(read from \(write to\) the terminal are sent a)108 376.8 R F4 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 600 Q 1.087
-(If the operating system on which)108 616.8 R F1(bash)3.587 E F0 1.088
+(hich,).4 E(unless caught, suspends the process.)108 388.8 Q 1.087
+(If the operating system on which)108 405.6 R F1(bash)3.587 E F0 1.088
 (is running supports job control,)3.588 F F1(bash)3.588 E F0 1.088
-(contains f)3.588 F 1.088(acilities to use it.)-.1 F -.8(Ty)108 628.8 S
-.302(ping the).8 F F5(suspend)3.142 E F0 .302(character \(typically)
+(contains f)3.588 F 1.088(acilities to use it.)-.1 F -.8(Ty)108 417.6 S
+.302(ping the).8 F F3(suspend)3.142 E F0 .302(character \(typically)
 3.572 F F1(^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 640.8 R F1(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
+F 2.142(stopped and returns control to)108 429.6 R F1(bash)4.642 E F0
+7.142(.T)C 2.142(yping the)-7.942 F F3 2.142(delayed suspend)4.992 F F0
 2.143(character \(typically)5.413 F F1(^Y)4.643 E F0 4.643(,C)C
 (ontrol-Y\))-4.643 E .021(causes the process to be stopped when it atte\
 mpts to read input from the terminal, and control to be returned)108
-652.8 R(to)108 664.8 Q F1(bash)3.392 E F0 5.892(.T)C .892
+441.6 R(to)108 453.6 Q F1(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
 F1(bg)3.392 E F0 .892(command to continue it in the)3.392 F .895
-(background, the)108 676.8 R F1(fg)3.395 E F0 .895
+(background, the)108 465.6 R F1(fg)3.395 E F0 .895
 (command to continue it in the fore)3.395 F .895(ground, or the)-.15 F
 F1(kill)3.395 E F0 .894(command to kill it.)3.395 F(A)5.894 E F1(^Z)
-3.394 E F0(tak)3.394 E(es)-.1 E(ef)108 688.8 Q .948(fect immediately)
+3.394 E F0(tak)3.394 E(es)-.1 E(ef)108 477.6 Q .948(fect immediately)
 -.25 F 3.448(,a)-.65 G .948(nd has the additional side ef)-3.448 F .948
 (fect of causing pending output and typeahead to be dis-)-.25 F(carded.)
-108 700.8 Q 1.098(There are a number of w)108 717.6 R 1.097
+108 489.6 Q 1.098(There are a number of w)108 506.4 R 1.097
 (ays to refer to a job in the shell.)-.1 F 1.097(The character)6.097 F
 F1(%)3.597 E F0 1.097(introduces a job name.)3.597 F(Job)6.097 E(number)
-108 729.6 Q F5(n)3.13 E F0 .27(may be referred to as)3.01 F F1(%n)2.77 E
+108 518.4 Q F3(n)3.13 E F0 .27(may be referred to as)3.01 F F1(%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(GNU Bash-4.0)72 768 Q(2008 May 25)147.345 E(30)197.335 E 0 Cg EP
-%%Page: 31 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 .277(it, or using a substring that appears in its command line.)
-108 84 R -.15(Fo)5.277 G 2.777(re).15 G(xample,)-2.927 E/F1 10
-/Times-Bold@0 SF(%ce)2.777 E F0 .277(refers to a stopped)2.777 F F1(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 96 R F1(bash)2.88 E F0 .38
-(reports an error)2.88 F 5.38(.U)-.55 G(sing)-5.38 E F1(%?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 .623(containing the string)108 108 R F1(ce)3.123 E
-F0 .622(in its command line.)3.123 F .622
+-2.5 F .277(it, or using a substring that appears in its command line.)
+108 530.4 R -.15(Fo)5.277 G 2.777(re).15 G(xample,)-2.927 E F1(%ce)2.777
+E F0 .277(refers to a stopped)2.777 F F1(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
+542.4 R F1(bash)2.88 E F0 .38(reports an error)2.88 F 5.38(.U)-.55 G
+(sing)-5.38 E F1(%?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 .623
+(containing the string)108 554.4 R F1(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 120 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
+.622(reports an)3.122 F(error)108 566.4 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
-132 R 1.209(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 144 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 156 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
-168 Q(.)-.4 E .443
-(Simply naming a job can be used to bring it into the fore)108 184.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
-196.8 R 3.973(ground. Similarly)-.15 F(,)-.65 E F1 -.63(``)3.972 G 1.472
+F3(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 578.4 R
+1.209(as in the fore)-.1 F 1.208(ground or started in the background.)
+-.15 F(The)6.208 E F3(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 590.4 Q F0 5.208(.I)C
+2.708(ft)-5.208 G .208(here is only a single job,)-2.708 F F1(%+)2.708 E
+F0(and)2.708 E F1<25ad>2.708 E F0 .208
+(can both be used to refer to that job)2.708 F 5.209(.I)-.4 G 2.709(no)
+-5.209 G .209(utput pertaining to)-2.709 F .132
+(jobs \(e.g., the output of the)108 602.4 R F1(jobs)2.632 E F0 .132
+(command\), the current job is al)2.632 F -.1(wa)-.1 G .131
+(ys \215agged with a).1 F F1(+)2.631 E F0 2.631(,a)C .131(nd the pre)
+-2.631 F .131(vious job)-.25 F(with a)108 614.4 Q F1<ad>2.5 E F0 5(.A)C
+(single % \(with no accompan)-2.5 E
+(ying job speci\214cation\) also refers to the current job)-.15 E(.)-.4
+E .443(Simply naming a job can be used to bring it into the fore)108
+631.2 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
+643.2 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
-(equi)108 208.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 225.6 R
+(equi)108 655.2 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 672 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 237.6 R 2.658(ss)-.55 G
+(prompt before reporting changes in a job')108 684 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 249.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
+(option to)2.657 F(the)108 696 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 261.6 S(cuted for each child that e).15 E
-(xits.)-.15 E .033(If an attempt to e)108 278.4 R(xit)-.15 E F1(bash)
-2.533 E F0 .033(is made while jobs are stopped \(or)2.533 F 2.532(,i)-.4
-G 2.532(ft)-2.532 G(he)-2.532 E F1(checkjobs)2.532 E F0 .032
-(shell option has been enabled)2.532 F 2.019(using the)108 290.4 R F1
-(shopt)4.519 E F0 -.2(bu)4.519 G 2.019
-(iltin, running\), the shell prints a w).2 F 2.02
+(ny t)-6.452 H 1.452(rap on).15 F F4(SIGCHLD)3.952 E F0(is)3.702 E -.15
+(exe)108 708 S(cuted for each child that e).15 E(xits.)-.15 E .033
+(If an attempt to e)108 724.8 R(xit)-.15 E F1(bash)2.533 E F0 .033
+(is made while jobs are stopped \(or)2.533 F 2.532(,i)-.4 G 2.532(ft)
+-2.532 G(he)-2.532 E F1(checkjobs)2.532 E F0 .032
+(shell option has been enabled)2.532 F(GNU Bash-4.0)72 768 Q
+(2008 June 29)147.345 E(31)197.335 E 0 Cg EP
+%%Page: 32 32
+%%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 2.019(using the)108 84 R/F1 10/Times-Bold@0 SF(shopt)4.519 E F0
+-.2(bu)4.519 G 2.019(iltin, running\), the shell prints a w).2 F 2.02
 (arning message, and, if the)-.1 F F1(checkjobs)4.52 E F0 2.02
 (option is)4.52 F .459(enabled, lists the jobs and their statuses.)108
-302.4 R(The)5.459 E F1(jobs)2.959 E F0 .458
+96 R(The)5.459 E F1(jobs)2.959 E F0 .458
 (command may then be used to inspect their status.)2.958 F .458(If a)
-5.458 F .603(second attempt to e)108 314.4 R .604
+5.458 F .603(second attempt to e)108 108 R .604
 (xit is made without an interv)-.15 F .604
 (ening command, the shell does not print another w)-.15 F(arning,)-.1 E
-(and an)108 326.4 Q 2.5(ys)-.15 G(topped jobs are terminated.)-2.5 E/F4
-10.95/Times-Bold@0 SF(PR)72 343.2 Q(OMPTING)-.329 E F0 .645(When e)108
-355.2 R -.15(xe)-.15 G .645(cuting interacti).15 F -.15(ve)-.25 G(ly).15
+(and an)108 120 Q 2.5(ys)-.15 G(topped jobs are terminated.)-2.5 E/F2
+10.95/Times-Bold@0 SF(PR)72 136.8 Q(OMPTING)-.329 E F0 .645(When e)108
+148.8 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 367.2 R F3(PS2)4.325 E F0 1.825
+/F3 9/Times-Bold@0 SF(PS1)3.145 E F0 .645
+(when it is ready to read a command,)2.895 F 1.825
+(and the secondary prompt)108 160.8 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\
 ized by inserting a number of backslash-escaped special characters that\
- are)108 379.2 R(decoded as follo)108 391.2 Q(ws:)-.25 E F1(\\a)144
-403.2 Q F0(an ASCII bell character \(07\))28.22 E F1(\\d)144 415.2 Q F0
+ are)108 172.8 R(decoded as follo)108 184.8 Q(ws:)-.25 E F1(\\a)144
+196.8 Q F0(an ASCII bell character \(07\))28.22 E F1(\\d)144 208.8 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 427.2 Q F2(format)A F1(})A F0(the)180
-439.2 Q F2(format)3.926 E F0 1.426(is passed to)3.926 F F2(strftime)
-3.926 E F0 1.427
+(ue May 26"\))-.45 E F1(\\D{)144 220.8 Q/F4 10/Times-Italic@0 SF(format)
+A F1(})A F0(the)180 232.8 Q F4(format)3.926 E F0 1.426(is passed to)
+3.926 F F4(strftime)3.926 E F0 1.427
 (\(3\) and the result is inserted into the prompt string; an)B(empty)180
-451.2 Q F2(format)2.5 E F0
+244.8 Q F4(format)2.5 E F0
 (results in a locale-speci\214c time representation.)2.5 E
-(The braces are required)5 E F1(\\e)144 463.2 Q F0
-(an ASCII escape character \(033\))28.78 E F1(\\h)144 475.2 Q F0
-(the hostname up to the \214rst `.)27.66 E(')-.7 E F1(\\H)144 487.2 Q F0
-(the hostname)25.44 E F1(\\j)144 499.2 Q F0
+(The braces are required)5 E F1(\\e)144 256.8 Q F0
+(an ASCII escape character \(033\))28.78 E F1(\\h)144 268.8 Q F0
+(the hostname up to the \214rst `.)27.66 E(')-.7 E F1(\\H)144 280.8 Q F0
+(the hostname)25.44 E F1(\\j)144 292.8 Q F0
 (the number of jobs currently managed by the shell)29.89 E F1(\\l)144
-511.2 Q F0(the basename of the shell')30.44 E 2.5(st)-.55 G(erminal de)
--2.5 E(vice name)-.25 E F1(\\n)144 523.2 Q F0(ne)27.66 E(wline)-.25 E F1
-(\\r)144 535.2 Q F0(carriage return)28.78 E F1(\\s)144 547.2 Q F0
+304.8 Q F0(the basename of the shell')30.44 E 2.5(st)-.55 G(erminal de)
+-2.5 E(vice name)-.25 E F1(\\n)144 316.8 Q F0(ne)27.66 E(wline)-.25 E F1
+(\\r)144 328.8 Q F0(carriage return)28.78 E F1(\\s)144 340.8 Q F0
 (the name of the shell, the basename of)29.33 E F1($0)2.5 E F0
 (\(the portion follo)2.5 E(wing the \214nal slash\))-.25 E F1(\\t)144
-559.2 Q F0(the current time in 24-hour HH:MM:SS format)29.89 E F1(\\T)
-144 571.2 Q F0(the current time in 12-hour HH:MM:SS format)26.55 E F1
-(\\@)144 583.2 Q F0(the current time in 12-hour am/pm format)23.92 E F1
-(\\A)144 595.2 Q F0(the current time in 24-hour HH:MM format)26 E F1
-(\\u)144 607.2 Q F0(the username of the current user)27.66 E F1(\\v)144
-619.2 Q F0(the v)28.22 E(ersion of)-.15 E F1(bash)2.5 E F0
-(\(e.g., 2.00\))2.5 E F1(\\V)144 631.2 Q F0(the release of)26 E F1(bash)
+352.8 Q F0(the current time in 24-hour HH:MM:SS format)29.89 E F1(\\T)
+144 364.8 Q F0(the current time in 12-hour HH:MM:SS format)26.55 E F1
+(\\@)144 376.8 Q F0(the current time in 12-hour am/pm format)23.92 E F1
+(\\A)144 388.8 Q F0(the current time in 24-hour HH:MM format)26 E F1
+(\\u)144 400.8 Q F0(the username of the current user)27.66 E F1(\\v)144
+412.8 Q F0(the v)28.22 E(ersion of)-.15 E F1(bash)2.5 E F0
+(\(e.g., 2.00\))2.5 E F1(\\V)144 424.8 Q F0(the release of)26 E F1(bash)
 2.5 E F0 2.5(,v)C(ersion + patch le)-2.65 E -.15(ve)-.25 G 2.5(l\().15 G
-(e.g., 2.00.0\))-2.5 E F1(\\w)144 643.2 Q F0(the current w)26 E
+(e.g., 2.00.0\))-2.5 E F1(\\w)144 436.8 Q F0 4.288(the current w)26 F
+4.288(orking directory)-.1 F 6.787(,w)-.65 G(ith)-6.787 E F1($HOME)6.787
+E F0(abbre)6.787 E 4.287(viated with a tilde \(uses the)-.25 F F1($PR)
+180 448.8 Q(OMPT_DIR)-.3 E(TRIM)-.4 E F0 -.25(va)2.5 G(riable\)).25 E F1
+(\\W)144 460.8 Q F0(the basename of the current w)23.22 E
 (orking directory)-.1 E 2.5(,w)-.65 G(ith)-2.5 E F1($HOME)2.5 E F0
-(abbre)2.5 E(viated with a tilde)-.25 E F1(\\W)144 655.2 Q F0
-(the basename of the current w)23.22 E(orking directory)-.1 E 2.5(,w)
--.65 G(ith)-2.5 E F1($HOME)2.5 E F0(abbre)2.5 E(viated with a tilde)-.25
-E F1(\\!)144 667.2 Q F0(the history number of this command)29.89 E F1
-(\\#)144 679.2 Q F0(the command number of this command)28.22 E F1(\\$)
-144 691.2 Q F0(if the ef)28.22 E(fecti)-.25 E .3 -.15(ve U)-.25 H
-(ID is 0, a).15 E F1(#)2.5 E F0 2.5(,o)C(therwise a)-2.5 E F1($)2.5 E
-(\\)144 703.2 Q F2(nnn)A F0
-(the character corresponding to the octal number)18.22 E F2(nnn)2.5 E F1
-(\\\\)144 715.2 Q F0 2.5(ab)30.44 G(ackslash)-2.5 E(GNU Bash-4.0)72 768
-Q(2008 May 25)147.345 E(31)197.335 E 0 Cg EP
-%%Page: 32 32
-%%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 F0(be)29.89 E 1.257(gin a seq\
-uence of non-printing characters, which could be used to embed a termin\
-al)-.15 F(control sequence into the prompt)180 96 Q F1(\\])144 108 Q F0
-(end a sequence of non-printing characters)29.89 E .119
-(The command number and the history number are usually dif)108 124.8 R
-.12(ferent: the history number of a command is its)-.25 F 1.585(positio\
-n in the history list, which may include commands restored from the his\
-tory \214le \(see)108 136.8 R/F2 9/Times-Bold@0 SF(HIST)4.084 E(OR)-.162
-E(Y)-.315 E F0(belo)108 148.8 Q .541(w\), while the command number is t\
-he position in the sequence of commands e)-.25 F -.15(xe)-.15 G .541
-(cuted during the cur).15 F(-)-.2 E .546(rent shell session.)108 160.8 R
+(abbre)2.5 E(viated with a tilde)-.25 E F1(\\!)144 472.8 Q F0
+(the history number of this command)29.89 E F1(\\#)144 484.8 Q F0
+(the command number of this command)28.22 E F1(\\$)144 496.8 Q F0
+(if the ef)28.22 E(fecti)-.25 E .3 -.15(ve U)-.25 H(ID is 0, a).15 E F1
+(#)2.5 E F0 2.5(,o)C(therwise a)-2.5 E F1($)2.5 E(\\)144 508.8 Q F4(nnn)
+A F0(the character corresponding to the octal number)18.22 E F4(nnn)2.5
+E F1(\\\\)144 520.8 Q F0 2.5(ab)30.44 G(ackslash)-2.5 E F1(\\[)144 532.8
+Q F0(be)29.89 E 1.257(gin a sequence of non-printing characters, which \
+could be used to embed a terminal)-.15 F
+(control sequence into the prompt)180 544.8 Q F1(\\])144 556.8 Q F0
+(end a sequence of non-printing characters)29.89 E .12
+(The command number and the history number are usually dif)108 573.6 R
+.119(ferent: the history number of a command is its)-.25 F 1.585(positi\
+on in the history list, which may include commands restored from the hi\
+story \214le \(see)108 585.6 R F3(HIST)4.085 E(OR)-.162 E(Y)-.315 E F0
+(belo)108 597.6 Q .541(w\), while the command number is the position in\
+ the sequence of commands e)-.25 F -.15(xe)-.15 G .54
+(cuted during the cur).15 F(-)-.2 E .546(rent shell session.)108 609.6 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 172.8 R .352(xpansion, and quote remo)-.15 F
+.352(tion, arithmetic e)108 621.6 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 F1
-(pr)2.852 E(omptv)-.18 E(ars)-.1 E F0 .352(shell option \(see the)2.852
-F(description of the)108 184.8 Q F1(shopt)2.5 E F0(command under)2.5 E
-F2(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 201.6 Q F0 .151
+(pr)2.852 E(omptv)-.18 E(ars)-.1 E F0 .351(shell option \(see the)2.852
+F(description of the)108 633.6 Q F1(shopt)2.5 E F0(command under)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(READLINE)72 650.4 Q F0 .15
 (This is the library that handles reading input when using an interacti)
-108 213.6 R .45 -.15(ve s)-.25 H .15(hell, unless the).15 F F1
-(\255\255noediting)2.65 E F0(option)2.65 E .066(is gi)108 225.6 R -.15
-(ve)-.25 G 2.566(na).15 G 2.566(ts)-2.566 G .066(hell in)-2.566 F -.2
+108 662.4 R .451 -.15(ve s)-.25 H .151(hell, unless the).15 F F1
+(\255\255noediting)2.651 E F0(option)2.651 E .067(is gi)108 674.4 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 237.6 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 686.4 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 F1 .565
-(+o emacs)3.065 F F0(or)108 249.6 Q F1(+o vi)2.5 E F0(options to the)2.5
-E F1(set)2.5 E F0 -.2(bu)2.5 G(iltin \(see).2 E F2(SHELL B)2.5 E(UIL)
--.09 E(TIN COMMANDS)-.828 E F0(belo)2.25 E(w\).)-.25 E F1
-(Readline Notation)87 266.4 Q F0 .567
-(In this section, the emacs-style notation is used to denote k)108 278.4
-R -.15(ey)-.1 G(strok).15 E 3.068(es. Control)-.1 F -.1(ke)3.068 G .568
-(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 290.4 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 302.4 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 314.4 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 326.4 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 343.2 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 355.2 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
+(ine editing after the shell is running, use the)-3.065 F F1 .566
+(+o emacs)3.066 F F0(or)108 698.4 Q F1(+o vi)2.5 E F0(options to the)2.5
+E F1(set)2.5 E F0 -.2(bu)2.5 G(iltin \(see).2 E F3(SHELL B)2.5 E(UIL)
+-.09 E(TIN COMMANDS)-.828 E F0(belo)2.25 E(w\).)-.25 E(GNU Bash-4.0)72
+768 Q(2008 June 29)147.345 E(32)197.335 E 0 Cg EP
+%%Page: 33 33
+%%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(Readline Notation)87 84 Q F0 .568
+(In this section, the emacs-style notation is used to denote k)108 96 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/F2 10/Times-Italic@0 SF -.1(ke)C(y)-.2 E
+F0(,)A 1.152(e.g., C\255n means Control\255N.)108 108 R(Similarly)6.152
+E(,)-.65 E F2(meta)4.032 E F0 -.1(ke)3.913 G 1.153
+(ys are denoted by M\255)-.05 F F2 -.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 120 S .831(yboards without a)-.05 F F2(meta)3.711 E F0 -.1(ke)3.591
+G 2.131 -.65(y, M)-.05 H<ad>.65 E F2(x)A F0 .831(means ESC)3.331 F F2(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 F2(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 132 R F2 .599
+(meta pr)3.099 F(e\214x)-.37 E F0 5.599(.T)C .599
+(he combination M\255C\255)-5.599 F F2(x)A F0 .599
+(means ESC\255Control\255)3.099 F F2(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 144 Q .3 -.15(ey w)-.1 H(hile pressing the).15 E F2
+(x)3.27 E F0 -.1(ke)3.03 G -.65(y.)-.05 G(\)).65 E .62
+(Readline commands may be gi)108 160.8 R -.15(ve)-.25 G 3.119(nn).15 G
+(umeric)-3.119 E F2(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
+172.8 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 367.2 R 1.018
+(ument to a command that).18 F 1.019(acts in the forw)108 184.8 R 1.018
 (ard direction \(e.g.,)-.1 F F1(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 379.2 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 196.8 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 396 R F4
+-.25 E -.65(w.)-.25 G .811(When a command is described as)108 213.6 R F2
 (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 408 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
+(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 F2
+(yank-)-3.312 E(ing)108 225.6 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 F2
 .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,)
--.15 F .567(which can be yank)108 420 R .567(ed all at once.)-.1 F .567
-(Commands which do not kill te)5.567 F .567
+-.15 F .567(which can be yank)108 237.6 R .567(ed all at once.)-.1 F
+.567(Commands which do not kill te)5.567 F .567
 (xt separate the chunks of te)-.15 F .567(xt on the kill)-.15 F(ring.)
-108 432 Q F1(Readline Initialization)87 448.8 Q F0 .091(Readline is cus\
-tomized by putting commands in an initialization \214le \(the)108 460.8
-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 472.8 R .196(en from the v)
--.1 F .196(alue of the)-.25 F F2(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\
+108 249.6 Q F1(Readline Initialization)87 266.4 Q F0 .091(Readline is c\
+ustomized by putting commands in an initialization \214le \(the)108
+278.4 R F2(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 290.4 R .196(en from the v)
+-.1 F .196(alue of the)-.25 F/F3 9/Times-Bold@0 SF(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 F2(~/.inputr)2.696
+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 484.8 R 1.335 -.15(ey b)-.1 H 1.035(indings and).15 F -.25
-(va)108 496.8 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
-(lines are ignored.)108 508.8 R .737(Lines be)5.737 F .737
+nd the k)108 302.4 R 1.334 -.15(ey b)-.1 H 1.034(indings and).15 F -.25
+(va)108 314.4 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 326.4 R .737(Lines be)5.737 F .737
 (ginning with a)-.15 F F1(#)3.237 E F0 .737(are comments.)3.237 F .737
-(Lines be)5.737 F .737(ginning with a)-.15 F F1($)3.237 E F0 .737
-(indicate conditional)3.237 F 2.5(constructs. Other)108 520.8 R
+(Lines be)5.737 F .737(ginning with a)-.15 F F1($)3.237 E F0 .736
+(indicate conditional)3.236 F 2.5(constructs. Other)108 338.4 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 537.6 R .987(ault k)-.1 F
--.15(ey)-.1 G .987(-bindings may be changed with an).15 F F4(inputr)
+(ariable settings.)-.25 E .986(The def)108 355.2 R .986(ault k)-.1 F
+-.15(ey)-.1 G .987(-bindings may be changed with an).15 F F2(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 549.6 Q
-(wn commands and bindings.)-.25 E -.15(Fo)108 566.4 S 2.5(re).15 G
-(xample, placing)-2.65 E(M\255Control\255u: uni)144 583.2 Q -.15(ve)-.25
-G(rsal\255ar).15 E(gument)-.18 E(or)108 595.2 Q(C\255Meta\255u: uni)144
-607.2 Q -.15(ve)-.25 G(rsal\255ar).15 E(gument)-.18 E(into the)108 619.2
-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 636 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 648 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 664.8 R .209(ws k)-.25
+(programs that use this library may)3.487 F(add their o)108 367.2 Q
+(wn commands and bindings.)-.25 E -.15(Fo)108 384 S 2.5(re).15 G
+(xample, placing)-2.65 E(M\255Control\255u: uni)144 400.8 Q -.15(ve)-.25
+G(rsal\255ar).15 E(gument)-.18 E(or)108 412.8 Q(C\255Meta\255u: uni)144
+424.8 Q -.15(ve)-.25 G(rsal\255ar).15 E(gument)-.18 E(into the)108 436.8
+Q F2(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 F2
+(univer)2.5 E(sal\255ar)-.1 E(gument)-.37 E F0(.).68 E 1.261(The follo)
+108 453.6 R 1.261(wing symbolic character names are recognized:)-.25 F
+F2 -.4(RU)3.761 G(BOUT).4 E F0(,)1.27 E F2(DEL)3.761 E F0(,).53 E F2
+(ESC)3.761 E F0(,).72 E F2(LFD)3.761 E F0(,).28 E F2(NEWLINE)3.76 E F0
+(,).73 E F2(RET)3.76 E F0(,)1.27 E F2(RETURN)108 465.6 Q F0(,)1.1 E F2
+(SPC)2.5 E F0(,).72 E F2(SP)2.5 E -.3(AC)-.9 G(E).3 E F0 2.5(,a).73 G
+(nd)-2.5 E F2 -.5(TA)2.5 G(B).5 E F0(.).27 E .209
+(In addition to command names, readline allo)108 482.4 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
 (ound to a string that is inserted when the k)-2.709 F .509 -.15(ey i)
--.1 H(s).15 E(pressed \(a)108 676.8 Q F4(macr)2.5 E(o)-.45 E F0(\).)A F1
-(Readline K)87 693.6 Q(ey Bindings)-.25 E F0 .366
-(The syntax for controlling k)108 705.6 R .666 -.15(ey b)-.1 H .366
-(indings in the).15 F F4(inputr)2.876 E(c)-.37 E F0 .366
+-.1 H(s).15 E(pressed \(a)108 494.4 Q F2(macr)2.5 E(o)-.45 E F0(\).)A F1
+(Readline K)87 511.2 Q(ey Bindings)-.25 E F0 .366
+(The syntax for controlling k)108 523.2 R .666 -.15(ey b)-.1 H .366
+(indings in the).15 F F2(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 717.6 R .383(xt of a macro and a k)
+5.366 F .382(command or the te)108 535.2 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 729.6 R 3.353(ow)-.1 G .853
+(\214ed in one of tw)108 547.2 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)
+(ame, possibly with).15 F F2(Meta\255)3.353 E F0(or)3.353 E F2(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(GNU Bash-4.0)72 768 Q(2008 May 25)147.345 E(32)197.335 E 0 Cg
-EP
-%%Page: 33 33
+(ey)-.1 G(sequence.)108 559.2 Q 1.541(When using the form)108 576 R F1
+-.1(ke)4.041 G(yname).1 E F0(:)A F2(function\255name).833 E F0(or)4.041
+E F2(macr)4.042 E(o)-.45 E F0(,)A F2 -.1(ke)4.042 G(yname)-.2 E F0 1.542
+(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 588 R(or e)-.15 E(xample:)-.15 E
+(Control-u: uni)144 612 Q -.15(ve)-.25 G(rsal\255ar).15 E(gument)-.18 E
+(Meta-Rubout: backw)144 624 Q(ard-kill-w)-.1 E(ord)-.1 E
+(Control-o: "> output")144 636 Q .699(In the abo)108 652.8 R .998 -.15
+(ve ex)-.15 H(ample,).15 E F2(C\255u)3.038 E F0 .698
+(is bound to the function)3.448 F F1(uni)3.198 E -.1(ve)-.1 G
+(rsal\255ar).1 E(gument)-.1 E F0(,)A F2(M\255DEL)3.878 E F0 .698
+(is bound to the func-)3.728 F(tion)108 664.8 Q F1
+(backward\255kill\255w)2.758 E(ord)-.1 E F0 2.758(,a)C(nd)-2.758 E F2
+(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
+676.8 Q(xt)-.15 E/F4 10/Courier@0 SF 6(>o)2.5 G(utput)-6 E F0
+(into the line\).)2.5 E .056(In the second form,)108 693.6 R F1("k)2.556
+E(eyseq")-.1 E F0(:)A F2(function\255name).833 E F0(or)2.556 E F2(macr)
+2.556 E(o)-.45 E F0(,)A F1 -.1(ke)2.556 G(yseq).1 E F0(dif)2.555 E .055
+(fers from)-.25 F F1 -.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 705.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 .386(GNU Emacs style k)108 717.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 729.6 Q(GNU Bash-4.0)72 768 Q(2008 June 29)
+147.345 E(33)197.335 E 0 Cg EP
+%%Page: 34 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(sequence.)108 84 Q 1.542(When using the form)108 100.8 R/F1 10
-/Times-Bold@0 SF -.1(ke)4.042 G(yname).1 E F0(:)A/F2 10/Times-Italic@0
-SF(function\255name).833 E F0(or)4.042 E F2(macr)4.042 E(o)-.45 E F0(,)A
-F2 -.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).15 F 2.5(English. F)108 112.8 R
-(or e)-.15 E(xample:)-.15 E(Control-u: uni)144 136.8 Q -.15(ve)-.25 G
-(rsal\255ar).15 E(gument)-.18 E(Meta-Rubout: backw)144 148.8 Q
-(ard-kill-w)-.1 E(ord)-.1 E(Control-o: "> output")144 160.8 Q .698
-(In the abo)108 177.6 R .998 -.15(ve ex)-.15 H(ample,).15 E F2(C\255u)
-3.038 E F0 .698(is bound to the function)3.448 F F1(uni)3.198 E -.1(ve)
--.1 G(rsal\255ar).1 E(gument)-.1 E F0(,)A F2(M\255DEL)3.878 E F0 .698
-(is bound to the func-)3.728 F(tion)108 189.6 Q F1
-(backward\255kill\255w)2.759 E(ord)-.1 E F0 2.759(,a)C(nd)-2.759 E F2
-(C\255o)2.599 E F0 .258(is bound to run the macro e)2.939 F .258
-(xpressed on the right hand side \(that is, to)-.15 F(insert the te)108
-201.6 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 218.4 R F1("k)2.555
-E(eyseq")-.1 E F0(:)A F2(function\255name).833 E F0(or)2.555 E F2(macr)
-2.555 E(o)-.45 E F0(,)A F1 -.1(ke)2.555 G(yseq).1 E F0(dif)2.556 E .056
-(fers from)-.25 F F1 -.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
-(denoting an entire k)108 230.4 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 242.4 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
-(are not recognized.)108 254.4 Q("\\C\255u": uni)144 278.4 Q -.15(ve)
--.25 G(rsal\255ar).15 E(gument)-.18 E
-("\\C\255x\\C\255r": re\255read\255init\255\214le)144 290.4 Q
-("\\e[11~": "Function K)144 302.4 Q .3 -.15(ey 1)-.25 H(").15 E .315
-(In this e)108 319.2 R(xample,)-.15 E F2(C\255u)2.655 E F0 .315(is ag)
-3.065 F .315(ain bound to the function)-.05 F F1(uni)2.815 E -.1(ve)-.1
-G(rsal\255ar).1 E(gument)-.1 E F0(.)A F2 .315(C\255x C\255r)5.155 F F0
-.314(is bound to the func-)3.544 F(tion)108 331.2 Q F1 -.18(re)2.5 G
-<ad72>.18 E(ead\255init\255\214le)-.18 E F0 2.5(,a)C(nd)-2.5 E F2
-(ESC [ 1 1 ~)3.01 E F0(is bound to insert the te)3.94 E(xt)-.15 E F3
+-.35 E("\\C\255u": uni)144 84 Q -.15(ve)-.25 G(rsal\255ar).15 E(gument)
+-.18 E("\\C\255x\\C\255r": re\255read\255init\255\214le)144 96 Q
+("\\e[11~": "Function K)144 108 Q .3 -.15(ey 1)-.25 H(").15 E .314
+(In this e)108 124.8 R(xample,)-.15 E/F1 10/Times-Italic@0 SF(C\255u)
+2.654 E F0 .314(is ag)3.064 F .315(ain bound to the function)-.05 F/F2
+10/Times-Bold@0 SF(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 .315(is bound to the func-)3.545
+F(tion)108 136.8 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 10/Courier@0 SF
 (Function Key 1)2.5 E F0(.)A
-(The full set of GNU Emacs style escape sequences is)108 348 Q F1
-<5c43ad>144 360 Q F0(control pre\214x)20.3 E F1<5c4dad>144 372 Q F0
-(meta pre\214x)18.08 E F1(\\e)144 384 Q F0(an escape character)28.78 E
-F1(\\\\)144 396 Q F0(backslash)30.44 E F1(\\")144 408 Q F0(literal ")
-27.67 E F1<5c08>144 420 Q F0(literal \010)30.44 E(In addition to the GN\
-U Emacs style escape sequences, a second set of backslash escapes is a)
-108 436.8 Q -.25(va)-.2 G(ilable:).25 E F1(\\a)144 448.8 Q F0
-(alert \(bell\))28.22 E F1(\\b)144 460.8 Q F0(backspace)27.66 E F1(\\d)
-144 472.8 Q F0(delete)27.66 E F1(\\f)144 484.8 Q F0(form feed)29.89 E F1
-(\\n)144 496.8 Q F0(ne)27.66 E(wline)-.25 E F1(\\r)144 508.8 Q F0
-(carriage return)28.78 E F1(\\t)144 520.8 Q F0(horizontal tab)29.89 E F1
-(\\v)144 532.8 Q F0 -.15(ve)28.22 G(rtical tab).15 E F1(\\)144 544.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 F2(nnn)2.5 E F0(\(one to three digits\))2.5 E F1(\\x)
-144 556.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 1.141
-(When entering the te)108 573.6 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 585.6 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
-597.6 Q 2.5(xpanded. Backslash)-.15 F(will quote an)2.5 E 2.5(yo)-.15 G
+(The full set of GNU Emacs style escape sequences is)108 153.6 Q F2
+<5c43ad>144 165.6 Q F0(control pre\214x)20.3 E F2<5c4dad>144 177.6 Q F0
+(meta pre\214x)18.08 E F2(\\e)144 189.6 Q F0(an escape character)28.78 E
+F2(\\\\)144 201.6 Q F0(backslash)30.44 E F2(\\")144 213.6 Q F0
+(literal ")27.67 E F2<5c08>144 225.6 Q F0(literal \010)30.44 E(In addit\
+ion to the GNU Emacs style escape sequences, a second set of backslash \
+escapes is a)108 242.4 Q -.25(va)-.2 G(ilable:).25 E F2(\\a)144 254.4 Q
+F0(alert \(bell\))28.22 E F2(\\b)144 266.4 Q F0(backspace)27.66 E F2
+(\\d)144 278.4 Q F0(delete)27.66 E F2(\\f)144 290.4 Q F0(form feed)29.89
+E F2(\\n)144 302.4 Q F0(ne)27.66 E(wline)-.25 E F2(\\r)144 314.4 Q F0
+(carriage return)28.78 E F2(\\t)144 326.4 Q F0(horizontal tab)29.89 E F2
+(\\v)144 338.4 Q F0 -.15(ve)28.22 G(rtical tab).15 E F2(\\)144 350.4 Q
+F1(nnn)A F0(the eight-bit character whose v)18.22 E(alue is the octal v)
+-.25 E(alue)-.25 E F1(nnn)2.5 E F0(\(one to three digits\))2.5 E F2(\\x)
+144 362.4 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.142
+(When entering the te)108 379.2 R 1.141(xt of a macro, single or double\
+ quotes must be used to indicate a macro de\214nition.)-.15 F .089
+(Unquoted te)108 391.2 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
+403.2 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 \010.)-.15 E
-F1(Bash)108 614.4 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 F1(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 626.4 R .346 -.15
-(ve u)-.25 H .046(se by using the).15 F F1<ad6f>2.545 E F0 .045
-(option to the)2.545 F F1(set)2.545 E F0 -.2(bu)2.545 G .045
-(iltin command).2 F(\(see)108 638.4 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 F1
-(Readline V)87 655.2 Q(ariables)-.92 E F0 .043(Readline has v)108 667.2
+F2(Bash)108 420 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 432 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 444 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 460.8 Q(ariables)-.92 E F0 .044(Readline has v)108 472.8
 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 F2(inpu-)2.554 E(tr)108 679.2 Q(c)-.37 E
-F0(\214le with a statement of the form)2.81 E F1(set)144 696 Q F2
+(riable may be set in the).25 F F1(inpu-)2.553 E(tr)108 484.8 Q(c)-.37 E
+F0(\214le with a statement of the form)2.81 E F2(set)144 501.6 Q F1
 (variable\255name value)2.5 E F0 .79(Except where noted, readline v)108
-712.8 R .79(ariables can tak)-.25 F 3.29(et)-.1 G .79(he v)-3.29 F
-(alues)-.25 E F1(On)3.29 E F0(or)3.29 E F1(Off)3.29 E F0 .79
+518.4 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 2.392(nized v)108 724.8 R 2.392(ariable names are ignored.)-.25 F
-2.392(When a v)7.392 F 2.392(ariable v)-.25 F 2.393
-(alue is read, empty or null v)-.25 F 2.393(alues, "on" \(case-)-.25 F
-(GNU Bash-4.0)72 768 Q(2008 May 25)147.345 E(33)197.335 E 0 Cg EP
-%%Page: 34 34
+5.79 E .449(nized v)108 530.4 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 542.4 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 554.4 S(lues are:)
+.25 E F2(bell\255style \(audible\))108 571.2 Q F0 .011
+(Controls what happens when readline w)144 583.2 R .011
+(ants to ring the terminal bell.)-.1 F .01(If set to)5.01 F F2(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 595.2 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 607.2 Q 2.5(sb)-.55 G(ell.)
+-2.5 E F2(bind\255tty\255special\255chars \(On\))108 619.2 Q F0 .056
+(If set to)144 631.2 R F2(On)2.556 E F0 2.556(,r)C .056(eadline attempt\
+s 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 643.2 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 F2(comment\255begin \(`)108 655.2 Q(`#')-.63 E('\))
+-.63 E F0 .884(The string that is inserted when the readline)144 667.2 R
+F2(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 679.2 Q F2
+(M\255#)2.5 E F0(in emacs mode and to)2.5 E F2(#)2.5 E F0
+(in vi command mode.)2.5 E F2(completion\255ignor)108 691.2 Q
+(e\255case \(Off\))-.18 E F0(If set to)144 703.2 Q F2(On)2.5 E F0 2.5
+(,r)C(eadline performs \214lename matching and completion in a case\255\
+insensiti)-2.5 E .3 -.15(ve f)-.25 H(ashion.).05 E(GNU Bash-4.0)72 768 Q
+(2008 June 29)147.345 E(34)197.335 E 0 Cg EP
+%%Page: 35 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(insensiti)108 84 Q -.15(ve)-.25 G .636(\), and "1" are equi).15 F
--.25(va)-.25 G .636(lent to).25 F/F1 10/Times-Bold@0 SF(On)3.136 E F0
-5.636(.A)C .636(ll other v)-5.636 F .636(alues are equi)-.25 F -.25(va)
--.25 G .636(lent to).25 F F1(Off)3.136 E F0 5.636(.T)C .636(he v)-5.636
-F .635(ariables and their)-.25 F(def)108 96 Q(ault v)-.1 E(alues are:)
--.25 E F1(bell\255style \(audible\))108 112.8 Q F0 .01
-(Controls what happens when readline w)144 124.8 R .011
-(ants to ring the terminal bell.)-.1 F .011(If set to)5.011 F F1(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 136.8 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 148.8 Q 2.5(sb)-.55 G
-(ell.)-2.5 E F1(bind\255tty\255special\255chars \(On\))108 160.8 Q F0
-.055(If set to)144 172.8 R F1(On)2.555 E F0 2.555(,r)C .056(eadline att\
-empts 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 184.8 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 196.8 Q(`#')-.63 E('\))
--.63 E F0 .885(The string that is inserted when the readline)144 208.8 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 220.8 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 232.8 Q
-(e\255case \(Off\))-.18 E F0(If set to)144 244.8 Q F1(On)2.5 E F0 2.5
-(,r)C(eadline performs \214lename matching and completion in a case\255\
-insensiti)-2.5 E .3 -.15(ve f)-.25 H(ashion.).05 E F1(completion\255pr)
-108 256.8 Q(e\214x\255display\255length \(0\))-.18 E F0 .829(The length\
- in characters of the common pre\214x of a list of possible completions\
- that is displayed)144 268.8 R 1.275(without modi\214cation.)144 280.8 R
-1.275(When set to a v)6.275 F 1.274
-(alue greater than zero, common pre\214x)-.25 F 1.274
-(es longer than this)-.15 F -.25(va)144 292.8 S(lue are replaced with a\
-n ellipsis when displaying possible completions.).25 E F1
-(completion\255query\255items \(100\))108 304.8 Q F0 .529
-(This determines when the user is queried about vie)144 316.8 R .53
-(wing the number of possible completions gen-)-.25 F .561(erated by the)
-144 328.8 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
-340.8 R .783(If the number of possible completions is greater than or e\
-qual to the v)5.782 F .783(alue of this)-.25 F -.25(va)144 352.8 S .237
+-.35 E/F1 10/Times-Bold@0 SF(completion\255pr)108 84 Q
+(e\214x\255display\255length \(0\))-.18 E F0 .829(The length in charact\
+ers of the common pre\214x of a list of possible completions that is di\
+splayed)144 96 R 1.274(without modi\214cation.)144 108 R 1.274
+(When set to a v)6.274 F 1.274(alue greater than zero, common pre\214x)
+-.25 F 1.275(es longer than this)-.15 F -.25(va)144 120 S(lue are repla\
+ced with an ellipsis when displaying possible completions.).25 E F1
+(completion\255query\255items \(100\))108 132 Q F0 .53
+(This determines when the user is queried about vie)144 144 R .529
+(wing the number of possible completions gen-)-.25 F .56(erated by the)
+144 156 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 168 R
+.783(If the number of possible completions is greater than or equal to \
+the v)5.783 F .782(alue of this)-.25 F -.25(va)144 180 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 364.8 Q F1(con)108
-376.8 Q -.1(ve)-.4 G(rt\255meta \(On\)).1 E F0 .612(If set to)144 388.8
-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 192 Q F1(con)108 204
+Q -.1(ve)-.4 G(rt\255meta \(On\)).1 E F0 .613(If set to)144 216 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 400.8 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 412.8 Q F0(\).)A F1
-(disable\255completion \(Off\))108 424.8 Q F0 .038(If set to)144 436.8 R
-F1(On)2.538 E F0 2.538(,r)C .038(eadline will inhibit w)-2.538 F .038
+144 228 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 240 Q F0(\).)A F1
+(disable\255completion \(Off\))108 252 Q F0 .038(If set to)144 264 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 448.8 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 460.8 Q F0 .253
-(Controls whether readline be)144 472.8 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 484.8 Q F1(emacs)2.5 E F0(or)2.5 E F1(vi)2.5 E
-F0(.)A F1(enable\255k)108 496.8 Q(eypad \(Off\))-.1 E F0 .892
-(When set to)144 508.8 R F1(On)3.393 E F0 3.393(,r)C .893
+144 276 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 288 Q F0 .252
+(Controls whether readline be)144 300 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 312 Q F1(emacs)2.5 E F0(or)2.5 E F1(vi)2.5 E
+F0(.)A F1(enable\255k)108 324 Q(eypad \(Off\))-.1 E F0 .893(When set to)
+144 336 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 520.8 Q 2.5(wk)-.25 G -.15(ey)
--2.6 G(s.).15 E F1(expand\255tilde \(Off\))108 532.8 Q F0(If set to)144
-544.8 Q F1(on)2.5 E F0 2.5(,t)C(ilde e)-2.5 E
+.893(pad when it is called.).15 F .892(Some sys-)5.893 F
+(tems need this to enable the arro)144 348 Q 2.5(wk)-.25 G -.15(ey)-2.6
+G(s.).15 E F1(expand\255tilde \(Off\))108 360 Q F0(If set to)144 372 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\255pr)108 556.8 Q(eser)-.18 E -.1(ve)-.1 G
-(\255point \(Off\)).1 E F0 1.493(If set to)144 568.8 R F1(on)3.993 E F0
-3.993(,t)C 1.493(he history code attempts to place point at the same lo\
-cation on each history line)-3.993 F(retrie)144 580.8 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(history\255size \(0\))108
-592.8 Q F0 .462(Set the maximum number of history entries sa)144 604.8 R
--.15(ve)-.2 G 2.963(di).15 G 2.963(nt)-2.963 G .463(he history list.)
--2.963 F .463(If set to zero, the number of)5.463 F
-(entries in the history list is not limited.)144 616.8 Q F1
-(horizontal\255scr)108 628.8 Q(oll\255mode \(Off\))-.18 E F0 .449
-(When set to)144 640.8 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
+-.1 E F1(history\255pr)108 384 Q(eser)-.18 E -.1(ve)-.1 G
+(\255point \(Off\)).1 E F0 1.492(If set to)144 396 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 408 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(history\255size \(0\))108 420
+Q F0 .463(Set the maximum number of history entries sa)144 432 R -.15
+(ve)-.2 G 2.963(di).15 G 2.963(nt)-2.963 G .463(he history list.)-2.963
+F .462(If set to zero, the number of)5.463 F
+(entries in the history list is not limited.)144 444 Q F1
+(horizontal\255scr)108 456 Q(oll\255mode \(Off\))-.18 E F0 .448
+(When set to)144 468 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
 (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 652.8 R(w)-.25 E(line.)144 664.8 Q F1(input\255meta \(Off\))108
-676.8 Q F0 .228(If set to)144 688.8 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 hi\
-gh bit from the char)-2.728 F(-)-.2 E .956(acters it reads\), re)144
-700.8 R -.05(ga)-.15 G .956
-(rdless of what the terminal claims it can support.).05 F .957(The name)
-5.956 F F1(meta\255\215ag)3.457 E F0 .957(is a)3.457 F(synon)144 712.8 Q
-(ym for this v)-.15 E(ariable.)-.25 E(GNU Bash-4.0)72 768 Q(2008 May 25)
-147.345 E(34)197.335 E 0 Cg EP
-%%Page: 35 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(isear)108 84 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 without subsequently e)144 96 R
--.15(xe)-.15 G(cut-).15 E .934(ing the character as a command.)144 108 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 10
-/Times-Italic@0 SF(ESC)3.435 E F0(and)144 120 Q F2(C\255J)2.5 E F0
-(will terminate an incremental search.)2.5 E F1 -.1(ke)108 132 S
-(ymap \(emacs\)).1 E F0 2.021(Set the current readline k)144 144 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 156 R F0 2.568(,a)C
+ ne)144 480 R(w)-.25 E(line.)144 492 Q F1(input\255meta \(Off\))108 504
+Q F0 .227(If set to)144 516 R F1(On)2.727 E F0 2.727(,r)C .228(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 528 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 540 Q(ym for this v)-.15 E(ariable.)-.25 E F1(isear)108 552 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 564 R -.15(xe)-.15 G(cut-).15 E .935
+(ing the character as a command.)144 576 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 588 Q F2
+(C\255J)2.5 E F0(will terminate an incremental search.)2.5 E F1 -.1(ke)
+108 600 S(ymap \(emacs\)).1 E F0 2.02(Set the current readline k)144 612
+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 624 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.569 E F0(;)A F2(emacs)2.569 E F0 1.544(is equi)144 168 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
+2.568 E F0(;)A F2(emacs)2.568 E F0 1.543(is equi)144 636 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
 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.043 E F0(also)4.043 E(af)144 180 Q(fects the def)-.25
-E(ault k)-.1 E -.15(ey)-.1 G(map.).15 E F1(mark\255dir)108 192 Q
-(ectories \(On\))-.18 E F0(If set to)144 204 Q F1(On)2.5 E F0 2.5(,c)C
+(editing\255mode)4.044 E F0(also)4.044 E(af)144 648 Q(fects the def)-.25
+E(ault k)-.1 E -.15(ey)-.1 G(map.).15 E F1(mark\255dir)108 660 Q
+(ectories \(On\))-.18 E F0(If set to)144 672 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 216 Q F0(If set to)144
-228 Q F1(On)2.5 E F0 2.5(,h)C(istory lines that ha)-2.5 E .3 -.15(ve b)
+.15 E F1(mark\255modi\214ed\255lines \(Off\))108 684 Q F0(If set to)144
+696 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 240 Q(ed\255dir)-.1 E
-(ectories \(Off\))-.18 E F0 .175(If set to)144 252 R F1(On)2.675 E F0
+(*)A F0(\).)A(GNU Bash-4.0)72 768 Q(2008 June 29)147.345 E(35)197.335 E
+0 Cg EP
+%%Page: 36 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/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
 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 264
+-.15(ve a s)-.2 H .175(lash appended \(sub-).15 F(ject to the v)144 108
 Q(alue of)-.25 E F1(mark\255dir)2.5 E(ectories)-.18 E F0(\).)A F1
-(match\255hidden\255\214les \(On\))108 276 Q F0 .193(This v)144 288 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
+(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
 (\214les\) when performing \214lename completion, unless the leading `.)
-144 300 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 312
-Q F1(output\255meta \(Off\))108 324 Q F0 .507(If set to)144 336 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 348 Q
-(ed escape sequence.)-.15 E F1(page\255completions \(On\))108 360 Q F0
-.808(If set to)144 372 R F1(On)3.308 E F0 3.308(,r)C .808
-(eadline uses an internal)-3.308 F F2(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 384 Q F1
-(print\255completions\255horizontally \(Off\))108 396 Q F0 1.319
-(If set to)144 408 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 420 Q 2.5(,r)-.4 G(ather than do)-2.5 E(wn the screen.)-.25
-E F1 -2.29 -.18(re v)108 432 T(ert\255all\255at\255newline \(Off\)).08 E
-F0 .872(If set to)144 444 R F1(on)3.372 E F0 3.372(,r)C .873
+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
+(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 -2.29 -.18(re v)108 276 T(ert\255all\255at\255newline \(Off\)).08 E
+F0 .873(If set to)144 288 R F1(on)3.373 E F0 3.373(,r)C .872
 (eadline will undo all changes to history lines before returning when)
--3.372 F F1(accept\255line)3.373 E F0(is)3.373 E -.15(exe)144 456 S
+-3.373 F F1(accept\255line)3.372 E F0(is)3.372 E -.15(exe)144 300 S
 2.686(cuted. By).15 F(def)2.686 E .186
 (ault, history lines may be modi\214ed and retain indi)-.1 F .186
-(vidual undo lists across calls to)-.25 F F1 -.18(re)144 468 S(adline)
-.18 E F0(.)A F1(sho)108 480 Q(w\255all\255if\255ambiguous \(Off\))-.1 E
-F0 .477(This alters the def)144 492 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
+(vidual undo lists across calls to)-.25 F F1 -.18(re)144 312 S(adline)
+.18 E F0(.)A F1(sho)108 324 Q(w\255all\255if\255ambiguous \(Off\))-.1 E
+F0 .478(This alters the def)144 336 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
 (ore).15 E 1.264(than one possible completion cause the matches to be l\
-isted immediately instead of ringing the)144 504 R(bell.)144 516 Q F1
-(sho)108 528 Q(w\255all\255if\255unmodi\214ed \(Off\))-.1 E F0 5.345
-(This alters the def)144 540 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 552 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 564 R 3.539
+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.346
+(This alters the def)144 384 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 396 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 408 R 3.54
 (yp)-.15 G 1.039
-(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 576 Q F1
-(visible\255stats \(Off\))108 588 Q F0 .847(If set to)144 600 R F1(On)
+(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 420 Q F1
+(visible\255stats \(Off\))108 432 Q F0 .846(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 612 Q F1
-(Readline Conditional Constructs)87 628.8 Q F0 .05
-(Readline implements a f)108 640.8 R .05(acility similar in spirit to t\
-he conditional compilation features of the C preprocessor)-.1 F .097
-(which allo)108 652.8 R .097(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 .096
+(which allo)108 496.8 R .096(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 .096
-(There are four parser)5.096 F(directi)108 664.8 Q -.15(ve)-.25 G 2.5
-(su).15 G(sed.)-2.5 E F1($if)108 681.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 693.6 R .477(The te)5.477 F .477
+(ariable settings to be performed as the result of tests.)-.25 F .097
+(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.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 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 705.6 Q(GNU Bash-4.0)72 768 Q
-(2008 May 25)147.345 E(35)197.335 E 0 Cg EP
-%%Page: 36 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/F1 10/Times-Bold@0 SF(mode)144 84 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
+(are required to isolate it.)144 549.6 Q F1(mode)144 566.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
+(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 96 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 108 R/F2 10/Times-Italic@0 SF
-(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 120 Q F1(term)144 136.8 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 148.8 R
+(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 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 602.4
+Q F1(term)144 619.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 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 160.8 Q F1(=)3.232
-E F0 .732(is tested ag)3.232 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.231
+E F0 .731(is tested ag)3.231 F .732(ainst the both full name of the ter\
 minal and the portion of the terminal)-.05 F(name before the \214rst)180
-172.8 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 189.6 Q F0(The)180
-201.6 Q F1(application)3.003 E F0 .503
+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
-213.6 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
-225.6 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 237.6 R -.15(Fo)5.397 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 .501(particular v)
+180 708 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 720 R -.15(Fo)5.396 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 .396(equence that quotes the).15 F(current or pre)180 249.6
-Q(vious w)-.25 E(ord in Bash:)-.1 E F1($if)180 273.6 Q F0(Bash)2.5 E 2.5
-(#Q)180 285.6 S(uote the current or pre)-2.5 E(vious w)-.25 E(ord)-.1 E
-("\\C\255xq": "\\eb\\"\\ef\\"")180 297.6 Q F1($endif)180 309.6 Q($endif)
-108 326.4 Q F0(This command, as seen in the pre)9.33 E(vious e)-.25 E
+(ey s)-.1 H .397(equence that quotes the).15 F(GNU Bash-4.0)72 768 Q
+(2008 June 29)147.345 E(36)197.335 E 0 Cg EP
+%%Page: 37 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(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 343.2 Q F0(Commands in this branch of the)15.45 E F1($if)2.5 E F0
+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 360 Q F0 .356
-(This directi)144 372 R .656 -.15(ve t)-.25 H(ak).15 E .356
-(es a single \214lename as an ar)-.1 F .357
+(cuted if the test f).15 E(ails.)-.1 E F1($include)108 194.4 Q F0 .357
+(This directi)144 206.4 R .657 -.15(ve t)-.25 H(ak).15 E .357
+(es a single \214lename as an ar)-.1 F .356
 (gument and reads commands and bindings from that)-.18 F 2.5(\214le. F)
-144 384 R(or e)-.15 E(xample, the follo)-.15 E(wing directi)-.25 E .3
--.15(ve w)-.25 H(ould read).05 E F2(/etc/inputr)2.5 E(c)-.37 E F0(:)A F1
-($include)144 408 Q F2(/etc/inputr)5.833 E(c)-.37 E F1(Sear)87 424.8 Q
-(ching)-.18 E F0 .835(Readline pro)108 436.8 R .835
+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 242.4 Q F2(/etc/inputr)5.833 E(c)-.37
+E F1(Sear)87 259.2 Q(ching)-.18 E F0 .834(Readline pro)108 271.2 R .834
 (vides commands for searching through the command history \(see)-.15 F
-/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 448.8 Q
+/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 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 .697(Incremental searches be)108 465.6 R .697
+E .698(Incremental searches be)108 300 R .698
 (gin before the user has \214nished typing the search string.)-.15 F
-.698(As each character of the)5.698 F .113
-(search string is typed, readline displays the ne)108 477.6 R .112
+.697(As each character of the)5.697 F .112
+(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.112(.A)-.55 G(n)-5.112 E .542
-(incremental search requires only as man)108 489.6 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 501.6 R .224(alue of the)-.25 F F1(isear)
-2.724 E(ch-terminators)-.18 E F0 -.25(va)2.724 G .224
+E 5.113(.A)-.55 G(n)-5.113 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.541
+(.T)-.65 G .541(he char)-5.541 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 513.6 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 .097(mental search.)108 525.6 R .096(Control-G will abort an incremen\
-tal search and restore the original line.)5.097 F .096
-(When the search is)5.096 F(terminated, the history entry containing th\
-e search string becomes the current line.)108 537.6 Q 2.938 -.8(To \214)
-108 554.4 T 1.339(nd other matching entries in the history list, type C\
-ontrol-S or Control-R as appropriate.).8 F 1.339(This will)6.339 F .675
-(search backw)108 566.4 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 578.4 R .474 -.15(ey s)-.1
-H .174
+F .096(mental search.)108 360 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 372 Q 2.939 -.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
+400.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 412.8 R .475 -.15
+(ey s)-.1 H .174
 (equence bound to a readline command will terminate the search and e).15
-F -.15(xe)-.15 G .175(cute that command.).15 F -.15(Fo)5.175 G(r).15 E
-.541(instance, a)108 590.4 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 602.4
-Q .653(Readline remembers the last incremental search string.)108 619.2
-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 631.2 Q 2.5(ws)-.25 G
+F -.15(xe)-.15 G .174(cute that command.).15 F -.15(Fo)5.174 G(r).15 E
+.54(instance, a)108 424.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
+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.152(yi)-.15 G(nterv)-3.152 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 648 R(The search \
-string may be typed by the user or be part of the contents of the curre\
-nt line.)108 660 Q F1(Readline Command Names)87 676.8 Q F0 1.391
-(The follo)108 688.8 R 1.391
+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 494.4 Q F1(Readline Command Names)87 511.2 Q F0 1.392
+(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.892(ya)-.15 G(re)-3.892 E 2.622(bound. Command)108 700.8 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 712.8 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 724.8 Q F0 2.5
+3.891(ya)-.15 G(re)-3.891 E 2.621(bound. Command)108 535.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 547.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 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(GNU Bash-4.0)72 768 Q(2008 May 25)147.345 E(36)
-197.335 E 0 Cg EP
-%%Page: 37 37
+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 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
+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 .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
+(ords are composed of alphanumeric characters \(let-)-.8 F
+(ters and digits\).)144 708 Q(GNU Bash-4.0)72 768 Q(2008 June 29)147.345
+E(37)197.335 E 0 Cg EP
+%%Page: 38 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(Commands f)87 84 Q(or Mo)-.25 E(ving)-.1 E
-(beginning\255of\255line \(C\255a\))108 96 Q F0(Mo)144 108 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 120 Q F0(Mo)144 132 Q .3 -.15(ve t)
--.15 H 2.5(ot).15 G(he end of the line.)-2.5 E F1 -.25(fo)108 144 S
-(rward\255char \(C\255f\)).25 E F0(Mo)144 156 Q .3 -.15(ve f)-.15 H(orw)
-.15 E(ard a character)-.1 E(.)-.55 E F1(backward\255char \(C\255b\))108
-168 Q F0(Mo)144 180 Q .3 -.15(ve b)-.15 H(ack a character).15 E(.)-.55 E
-F1 -.25(fo)108 192 S(rward\255w).25 E(ord \(M\255f\))-.1 E F0(Mo)144 204
-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 216 Q F1(backward\255w)108 228 Q(ord \(M\255b\))
--.1 E F0(Mo)144 240 Q 1.71 -.15(ve b)-.15 H 1.41
+-.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 252 Q F1(clear\255scr)108 264 Q
-(een \(C\255l\))-.18 E F0 .993(Clear the screen lea)144 276 R .993
+(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 288 Q F1 -.18(re)108 300
+(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
-312 Q F1(Commands f)87 328.8 Q(or Manipulating the History)-.25 E
-(accept\255line \(Newline, Retur)108 340.8 Q(n\))-.15 E F0 .158
-(Accept the line re)144 352.8 R -.05(ga)-.15 G .158
+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 .159
+(Accept the line re)144 208.8 R -.05(ga)-.15 G .159
 (rdless of where the cursor is.).05 F .158(If this line is non-empty)
-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 364.8 R/F2 9/Times-Bold@0 SF
+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 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 376.8 Q F1(pr)108
-388.8 Q -.15(ev)-.18 G(ious\255history \(C\255p\)).15 E F0
-(Fetch the pre)144 400.8 Q(vious command from the history list, mo)-.25
-E(ving back in the list.)-.15 E F1(next\255history \(C\255n\))108 412.8
-Q F0(Fetch the ne)144 424.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 436.8 Q F0(Mo)144 448.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 460.8 Q F0(Mo)144 472.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 484.8 T(erse\255sear).08 E(ch\255history \(C\255r\))-.18 E F0
-1.47(Search backw)144 496.8 R 1.471
-(ard starting at the current line and mo)-.1 F 1.471
+(re v)108 340.8 T(erse\255sear).08 E(ch\255history \(C\255r\))-.18 E F0
+1.471(Search backw)144 352.8 R 1.471
+(ard starting at the current line and mo)-.1 F 1.47
 (ving `up' through the history as necessary)-.15 F(.)-.65 E
-(This is an incremental search.)144 508.8 Q F1 -.25(fo)108 520.8 S
-(rward\255sear).25 E(ch\255history \(C\255s\))-.18 E F0 1.132
-(Search forw)144 532.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 544.8 Q F1
-(non\255incr)108 556.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 568.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 580.8 S
-(tring supplied by the user)-2.5 E(.)-.55 E F1(non\255incr)108 592.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.131
+(Search forw)144 388.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 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 .165(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.354(Search forw)144 604.8 R 1.354(ard through the history using \
+E F0 1.353(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
-616.8 Q(.)-.55 E F1(history\255sear)108 628.8 Q(ch\255f)-.18 E(orward)
--.25 E F0 .248(Search forw)144 640.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 .249(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 652.8 Q(This is a non-incremental search.)5 E F1
-(history\255sear)108 664.8 Q(ch\255backward)-.18 E F0 .951(Search backw)
-144 676.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 688.8 Q
-(This is a non-incremental search.)5 E F1(yank\255nth\255ar)108 700.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 .95(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
-712.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 .795(at point.)144 724.8 R -.4(Wi)5.795 G .794
+.622(vious line\))-.25 F .794(at point.)144 580.8 R -.4(Wi)5.794 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 .794
-(ords in the)-.1 F(GNU Bash-4.0)72 768 Q(2008 May 25)147.345 E(37)
-197.335 E 0 Cg EP
-%%Page: 38 38
+(ord from the pre)-.1 F .794(vious command \(the w)-.25 F .795
+(ords in the)-.1 F(pre)144 592.8 Q .292(vious command be)-.25 F .292
+(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 604.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 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.308
+(Insert the last ar)144 640.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 652.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 664.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 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 688.8 Q F1
+(shell\255expand\255line \(M\255C\255e\))108 700.8 Q F0 .623
+(Expand the line as the shell does.)144 712.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 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(GNU Bash-4.0)72
+768 Q(2008 June 29)147.345 E(38)197.335 E 0 Cg EP
+%%Page: 39 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(pre)144 84 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/F1 10
-/Times-Italic@0 SF(n)2.791 E F0 .291(th w)B .292(ord from the end of)-.1
-F .282(the pre)144 96 R .282(vious command.)-.25 F .282(Once the ar)
-5.282 F(gument)-.18 E F1(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 F1(n)A F0(")A
-(history e)144 108 Q(xpansion had been speci\214ed.)-.15 E/F2 10
-/Times-Bold@0 SF(yank\255last\255ar)108 120 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
-132 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 144 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 F2(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 F2(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
-156 R .728(gument of each line in turn.)-.18 F .729(The history e)5.728
-F(xpan-)-.15 E .14(sion f)144 168 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 180 Q F2
-(shell\255expand\255line \(M\255C\255e\))108 192 Q F0 .622
-(Expand the line as the shell does.)144 204 R .622
-(This performs alias and history e)5.622 F .623
-(xpansion as well as all of the)-.15 F(shell w)144 216 Q(ord e)-.1 E 2.5
-(xpansions. See)-.15 F/F3 9/Times-Bold@0 SF(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 F2
-(history\255expand\255line \(M\255^\))108 228 Q F0 .939
-(Perform history e)144 240 R .939(xpansion on the current line.)-.15 F
-(See)5.939 E F3(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 252 Q(xpansion.)-.15 E F2(magic\255space)
-108 264 Q F0 1.626(Perform history e)144 276 R 1.626
-(xpansion on the current line and insert a space.)-.15 F(See)6.627 E F3
-(HIST)4.127 E(OR)-.162 E 3.877(YE)-.315 G(XP)-3.877 E(ANSION)-.666 E F0
-(belo)144 288 Q 2.5(wf)-.25 G(or a description of history e)-2.5 E
-(xpansion.)-.15 E F2(alias\255expand\255line)108 300 Q F0 .395
-(Perform alias e)144 312 R .395(xpansion on the current line.)-.15 F
-(See)5.395 E F3(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 324 Q F2
-(history\255and\255alias\255expand\255line)108 336 Q F0
-(Perform history and alias e)144 348 Q(xpansion on the current line.)
--.15 E F2(insert\255last\255ar)108 360 Q(gument \(M\255.)-.1 E 2.5(,M)
-.833 G -1.667(\255_ \))-2.5 F F0 2.5(As)144 372 S(ynon)-2.5 E(ym for)
--.15 E F2(yank\255last\255ar)2.5 E(g)-.1 E F0(.)A F2
-(operate\255and\255get\255next \(C\255o\))108 384 Q F0 .947
-(Accept the current line for e)144 396 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 408 Q(An)5 E 2.5(ya)-.15 G -.18(rg)-2.5 G
-(ument is ignored.).18 E F2
-(edit\255and\255execute\255command \(C\255xC\255e\))108 420 Q F0(In)144
-432 Q -.2(vo)-.4 G 1.226 -.1(ke a).2 H 3.526(ne).1 G 1.026
+-.35 E/F1 10/Times-Bold@0 SF(history\255expand\255line \(M\255^\))108 84
+Q F0 .938(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.439(wf)-.25 G
+.939(or a descrip-)-3.439 F(tion of history e)144 108 Q(xpansion.)-.15 E
+F1(magic\255space)108 120 Q F0 1.627(Perform history e)144 132 R 1.627
+(xpansion on the current line and insert a space.)-.15 F(See)6.626 E F2
+(HIST)4.126 E(OR)-.162 E 3.876(YE)-.315 G(XP)-3.876 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 .394
+(Perform alias e)144 168 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 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 240 Q F0 .948
+(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.247 -.15
+(ve t)-.25 H 3.447(ot).15 G .947(he current line from the)-3.447 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 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 F2(Bash)6.026 E F0
-(attempts to in)144 444 Q -.2(vo)-.4 G -.1(ke).2 G F3($FCEDIT)2.6 E/F4 9
-/Times-Roman@0 SF(,)A F3($EDIT)2.25 E(OR)-.162 E F4(,)A F0(and)2.25 E F1
-(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 F2(Commands f)87 460.8 Q(or Changing T)-.25 E
-(ext)-.92 E(delete\255char \(C\255d\))108 472.8 Q F0 .357
-(Delete the character at point.)144 484.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 496.8 Q(as not bound to)-.1 E
-F2(delete\255char)2.5 E F0 2.5(,t)C(hen return)-2.5 E F3(EOF)2.5 E F4(.)
-A F2(backward\255delete\255char \(Rubout\))108 508.8 Q F0 .553
-(Delete the character behind the cursor)144 520.8 R 5.553(.W)-.55 G .553
+(cute the result as shell commands.).15 F F1(Bash)6.026 E F0
+(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 316.8 Q
+(or Changing T)-.25 E(ext)-.92 E(delete\255char \(C\255d\))108 328.8 Q
+F0 .358(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 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 364.8 Q F0 .552
+(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
-.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 532.8 Q F2 -.25(fo)108 544.8 S
-(rward\255backward\255delete\255char).25 E F0 .473
-(Delete the character under the cursor)144 556.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 568.8 Q F2
-(quoted\255insert \(C\255q, C\255v\))108 580.8 Q F0 .779(Add the ne)144
-592.8 R .779(xt character typed to the line v)-.15 F 3.279
+.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 388.8 Q F1 -.25(fo)108 400.8 S
+(rward\255backward\255delete\255char).25 E F0 .474
+(Delete the character under the cursor)144 412.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 424.8 Q F1
+(quoted\255insert \(C\255q, C\255v\))108 436.8 Q F0 .778(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 F2(C\255q)3.278 E F0 3.278
-(,f)C(or)-3.278 E -.15(ex)144 604.8 S(ample.).15 E F2
-(tab\255insert \(C\255v T)108 616.8 Q(AB\))-.9 E F0
-(Insert a tab character)144 628.8 Q(.)-.55 E F2
-(self\255insert \(a, b, A, 1, !, ...\))108 640.8 Q F0
-(Insert the character typed.)144 652.8 Q F2
-(transpose\255chars \(C\255t\))108 664.8 Q F0 .321
-(Drag the character before point forw)144 676.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
+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 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 .322
+(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 .321
+(ving point forw)-.15 F .321(ard as well.)-.1 F 1.182
 (If point is at the end of the line, then this transposes the tw)144
-688.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 700.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(GNU Bash-4.0)
-72 768 Q(2008 May 25)147.345 E(38)197.335 E 0 Cg EP
-%%Page: 39 39
+544.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 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 568.8 Q(ords \(M\255t\))-.1 E F0 .024(Drag the w)144
+580.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 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.698(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.999 -.15(ve a)-.25 H -.18(rg).15 G 1.699
+(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.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 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.974(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.975
+(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-4.0)72
+768 Q(2008 June 29)147.345 E(39)197.335 E 0 Cg EP
+%%Page: 40 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(transpose\255w)108 84 Q(ords \(M\255t\))-.1
-E F0 .023(Drag the w)144 96 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 108 Q 2.5
-(ow)-.1 G(ords on the line.)-2.6 E F1(upcase\255w)108 120 Q
-(ord \(M\255u\))-.1 E F0 1.699(Uppercase the current \(or follo)144 132
-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 144 S(rd, b).1 E
-(ut do not mo)-.2 E .3 -.15(ve p)-.15 H(oint.).15 E F1(do)108 156 Q
-(wncase\255w)-.1 E(ord \(M\255l\))-.1 E F0(Lo)144 168 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 180 S(rd, b).1 E(ut do not mo)-.2 E .3
--.15(ve p)-.15 H(oint.).15 E F1(capitalize\255w)108 192 Q
-(ord \(M\255c\))-.1 E F0 1.975(Capitalize the current \(or follo)144 204
-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 216 S(rd, b).1
-E(ut do not mo)-.2 E .3 -.15(ve p)-.15 H(oint.).15 E F1 -.1(ove)108 228
-S(rwrite\255mode).1 E F0 -.8(To)144 240 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 252 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 264 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
+-.35 E/F1 10/Times-Bold@0 SF -.1(ove)108 84 S(rwrite\255mode).1 E F0 -.8
+(To)144 96 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 108 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 120 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/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 276 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 288 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 300 Q
+/Times-Italic@0 SF -.37(re)4.394 G(adline\(\)).37 E F0 1.894
+(starts in insert)4.394 F 3.968(mode. In)144 132 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
+.958(pushing the te)144 144 R .958(xt to the right.)-.15 F .957
+(Characters bound to)5.958 F F1(backward\255delete\255char)3.457 E F0
+.957(replace the character)3.457 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
-316.8 Q(anking)-.85 E(kill\255line \(C\255k\))108 328.8 Q F0
-(Kill the te)144 340.8 Q(xt from point to the end of the line.)-.15 E F1
-(backward\255kill\255line \(C\255x Rubout\))108 352.8 Q F0(Kill backw)
-144 364.8 Q(ard to the be)-.1 E(ginning of the line.)-.15 E F1
-(unix\255line\255discard \(C\255u\))108 376.8 Q F0(Kill backw)144 388.8
+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 400.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
-412.8 Q F1(kill\255w)108 424.8 Q(ord \(M\255d\))-.1 E F0 .729
-(Kill from point to the end of the current w)144 436.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 448.8 S
+268.8 Q F1(kill\255w)108 280.8 Q(ord \(M\255d\))-.1 E F0 .728
+(Kill from point to the end of the current w)144 292.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 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 460.8 Q
-(ord \(M\255Rubout\))-.1 E F0(Kill the w)144 472.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 484.8 Q
-(ord\255rubout \(C\255w\))-.1 E F0 .364(Kill the w)144 496.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
-508.8 Q F1(unix\255\214lename\255rubout)108 520.8 Q F0 .167(Kill the w)
-144 532.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 .365(Kill the w)144 352.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
+364.8 Q F1(unix\255\214lename\255rubout)108 376.8 Q F0 .166(Kill the w)
+144 388.8 R .166
 (ord behind point, using white space and the slash character as the w)
--.1 F .166(ord boundaries.)-.1 F(The)5.166 E(killed te)144 544.8 Q
+-.1 F .167(ord boundaries.)-.1 F(The)5.167 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 556.8 Q F0
-(Delete all spaces and tabs around point.)144 568.8 Q F1(kill\255r)108
-580.8 Q(egion)-.18 E F0(Kill the te)144 592.8 Q(xt in the current re)
--.15 E(gion.)-.15 E F1(copy\255r)108 604.8 Q(egion\255as\255kill)-.18 E
-F0(Cop)144 616.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 628.8 Q(ord)-.1 E F0(Cop)144 640.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
-652.8 Q(ord)-.1 E F0(.)A F1(copy\255f)108 664.8 Q(orward\255w)-.25 E
-(ord)-.1 E F0(Cop)144 676.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 688.8 Q(ord)-.1 E F0(.)A F1(yank \(C\255y\))108 700.8 Q
-F0 -1(Ya)144 712.8 S(nk the top of the kill ring into the b)1 E(uf)-.2 E
-(fer at point.)-.25 E(GNU Bash-4.0)72 768 Q(2008 May 25)147.345 E(39)
-197.335 E 0 Cg EP
-%%Page: 40 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(yank\255pop \(M\255y\))108 84 Q F0
-(Rotate the kill ring, and yank the ne)144 96 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.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 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.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 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 112.8 Q
-(guments)-.1 E(digit\255ar)108 124.8 Q
-(gument \(M\2550, M\2551, ..., M\255\255\))-.1 E F0 .641
-(Add this digit to the ar)144 136.8 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 .642
+(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.142(ument. M\255\255).18 F .642(starts a ne)3.142 F(g-)
--.15 E(ati)144 148.8 Q .3 -.15(ve a)-.25 H -.18(rg).15 G(ument.).18 E F1
-(uni)108 160.8 Q -.1(ve)-.1 G(rsal\255ar).1 E(gument)-.1 E F0 .779
-(This is another w)144 172.8 R .779(ay to specify an ar)-.1 F 3.279
-(gument. If)-.18 F .779(this command is follo)3.279 F .778
+(rg)-3.141 G 3.141(ument. M\255\255).18 F .641(starts a ne)3.141 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 .778
+(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 .779
 (wed by one or more digits,)-.25 F 1.376
 (optionally with a leading minus sign, those digits de\214ne the ar)144
-184.8 R 3.876(gument. If)-.18 F 1.376(the command is fol-)3.876 F(lo)144
-196.8 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 .898(wise ignored.)144 208.8 R .898
-(As a special case, if this command is immediately follo)5.898 F .898
+-.2 F(-)-.2 E .899(wise ignored.)144 705.6 R .898
+(As a special case, if this command is immediately follo)5.899 F .898
 (wed by a character that is)-.25 F .243
-(neither a digit or minus sign, the ar)144 220.8 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.242(.T)-.55 G(he)-5.242 E(ar)144 232.8 Q .378
+-.15 F 5.243(.T)-.55 G(he)-5.243 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 244.8 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 261.6 Q(complete \(T)108 273.6 Q(AB\))-.9 E F0 1.137
-(Attempt to perform completion on the te)144 285.6 R 1.137
+.378(gument count)-.18 F(GNU Bash-4.0)72 768 Q(2008 June 29)147.345 E
+(40)197.335 E 0 Cg EP
+%%Page: 41 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(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 297.6 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 309.6 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
+(attempts completion treating the)3.637 F(te)144 136.8 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 148.8 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
 (If none of these pro-)5.701 F
-(duces a match, \214lename completion is attempted.)144 321.6 Q F1
-(possible\255completions \(M\255?\))108 333.6 Q F0
-(List the possible completions of the te)144 345.6 Q(xt before point.)
--.15 E F1(insert\255completions \(M\255*\))108 357.6 Q F0 .783
-(Insert all completions of the te)144 369.6 R .783
+(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
-381.6 Q F0(.)A F1(menu\255complete)108 393.6 Q F0 .929(Similar to)144
-405.6 R F1(complete)3.429 E F0 3.429(,b)C .929(ut replaces the w)-3.629
+.783(een generated by).15 F F1(possible\255com-)3.282 E(pletions)144
+220.8 Q F0(.)A F1(menu\255complete)108 232.8 Q F0 .928(Similar to)144
+244.8 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.193(possible completions.)144 417.6 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 429.6 R .828
+1.194(possible completions.)144 256.8 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 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 441.6 R F1(bell\255style)3.227 E F0
+(\(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 453.6 R 1.73(ard in the list of matches; a ne)-.1 F
+E F0(mo)3.227 E -.15(ve)-.15 G(s).15 E F2(n)3.227 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 465.6 Q(This command is intended to be bound to)
+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 477.6 Q F0 .234
-(Deletes the character under the cursor if not at the be)144 489.6 R
+(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 501.6 R -.15
+2.734 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 513.6 Q(ault.)-.1 E F1
-(complete\255\214lename \(M\255/\))108 525.6 Q F0
-(Attempt \214lename completion on the te)144 537.6 Q(xt before point.)
--.15 E F1(possible\255\214lename\255completions \(C\255x /\))108 549.6 Q
-F0(List the possible completions of the te)144 561.6 Q
+(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 573.6 Q(name \(M\255~\))-.15 E F0
-(Attempt completion on the te)144 585.6 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 597.6 Q(name\255completions \(C\255x ~\))-.15 E F0
-(List the possible completions of the te)144 609.6 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
-621.6 Q(ariable \(M\255$\))-.1 E F0(Attempt completion on the te)144
-633.6 Q(xt before point, treating it as a shell v)-.15 E(ariable.)-.25 E
-F1(possible\255v)108 645.6 Q(ariable\255completions \(C\255x $\))-.1 E
-F0(List the possible completions of the te)144 657.6 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
-(complete\255hostname \(M\255@\))108 669.6 Q F0
-(Attempt completion on the te)144 681.6 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 693.6 Q F0
-(List the possible completions of the te)144 705.6 Q
-(xt before point, treating it as a hostname.)-.15 E(GNU Bash-4.0)72 768
-Q(2008 May 25)147.345 E(40)197.335 E 0 Cg EP
-%%Page: 41 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(complete\255command \(M\255!\))108 84 Q F0
-.58(Attempt completion on the te)144 96 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 108 R
+(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 556.8 Q F0 .581
+(Attempt completion on the te)144 568.8 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 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 120 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 132 Q F0
-(List the possible completions of the te)144 144 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 156 Q(AB\))-.9 E F0 .424
-(Attempt completion on the te)144 168 R .425
-(xt before point, comparing the te)-.15 F .425(xt ag)-.15 F .425
+(dynamic\255complete\255history \(M\255T)108 628.8 Q(AB\))-.9 E F0 .425
+(Attempt completion on the te)144 640.8 R .425
+(xt before point, comparing the te)-.15 F .425(xt ag)-.15 F .424
 (ainst lines from the history list)-.05 F
-(for possible completion matches.)144 180 Q F1(dab)108 192 Q(br)-.1 E
--.15(ev)-.18 G(\255expand).15 E F0 .611
-(Attempt menu completion on the te)144 204 R .611
-(xt before point, comparing the te)-.15 F .61(xt ag)-.15 F .61
+(for possible completion matches.)144 652.8 Q F1(dab)108 664.8 Q(br)-.1
+E -.15(ev)-.18 G(\255expand).15 E F0 .61
+(Attempt menu completion on the te)144 676.8 R .611
+(xt before point, comparing the te)-.15 F .611(xt ag)-.15 F .611
 (ainst lines from the his-)-.05 F
-(tory list for possible completion matches.)144 216 Q F1
-(complete\255into\255braces \(M\255{\))108 228 Q F0 .4(Perform \214lena\
-me completion and insert the list of possible completions enclosed with\
-in braces so)144 240 R(the list is a)144 252 Q -.25(va)-.2 G
+(tory list for possible completion matches.)144 688.8 Q F1
+(complete\255into\255braces \(M\255{\))108 700.8 Q F0 .4(Perform \214le\
+name completion and insert the list of possible completions enclosed wi\
+thin braces so)144 712.8 R(the list is a)144 724.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 268.8 S(yboard Macr).25 E(os)-.18
-E(start\255kbd\255macr)108 280.8 Q 2.5(o\()-.18 G(C\255x \()-2.5 E(\))
-.833 E F0(Be)144 292.8 Q(gin sa)-.15 E
+-.15(ve)-.15 G(\).).15 E(GNU Bash-4.0)72 768 Q(2008 June 29)147.345 E
+(41)197.335 E 0 Cg EP
+%%Page: 42 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 -.25(Ke)87 84 S(yboard Macr).25 E(os)-.18 E
+(start\255kbd\255macr)108 96 Q 2.5(o\()-.18 G(C\255x \()-2.5 E(\)).833 E
+F0(Be)144 108 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 304.8 Q 2.5(o\()-.18 G
-(C\255x \))-2.5 E(\)).833 E F0(Stop sa)144 316.8 Q
+(board macro.).15 E F1(end\255kbd\255macr)108 120 Q 2.5(o\()-.18 G
+(C\255x \))-2.5 E(\)).833 E F0(Stop sa)144 132 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 328.8 Q 2.5(o\()-.18 G(C\255x e\))-2.5
-E F0(Re-e)144 340.8 Q -.15(xe)-.15 G 1(cute the last k).15 F -.15(ey)-.1
+(call\255last\255kbd\255macr)108 144 Q 2.5(o\()-.18 G(C\255x e\))-2.5 E
+F0(Re-e)144 156 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 352.8 Q -.15(ey)-.1 G(board.).15 E F1
-(Miscellaneous)87 369.6 Q -.18(re)108 381.6 S<ad72>.18 E
-(ead\255init\255\214le \(C\255x C\255r\))-.18 E F0 1.776
-(Read in the contents of the)144 393.6 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 405.6 Q F1(abort \(C\255g\))108 417.6 Q F0 3.249
-(Abort the current editing command and ring the terminal')144 429.6 R
-5.748(sb)-.55 G 3.248(ell \(subject to the setting of)-5.748 F F1
-(bell\255style)144 441.6 Q F0(\).)A F1(do\255upper)108 453.6 Q
+ear as if).15 F(typed at the k)144 168 Q -.15(ey)-.1 G(board.).15 E F1
+(Miscellaneous)87 184.8 Q -.18(re)108 196.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 208.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 220.8 Q F1(abort \(C\255g\))108 232.8 Q F0 3.248
+(Abort the current editing command and ring the terminal')144 244.8 R
+5.749(sb)-.55 G 3.249(ell \(subject to the setting of)-5.749 F F1
+(bell\255style)144 256.8 Q F0(\).)A F1(do\255upper)108 268.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 465.6 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 280.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 477.6 Q(.)-.55 E F1(pr)108 489.6 Q
-(e\214x\255meta \(ESC\))-.18 E F0(Metafy the ne)144 501.6 Q
+(uppercase character)144 292.8 Q(.)-.55 E F1(pr)108 304.8 Q
+(e\214x\255meta \(ESC\))-.18 E F0(Metafy the ne)144 316.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 513.6 Q F0
-(Incremental undo, separately remembered for each line.)144 525.6 Q F1
--2.29 -.18(re v)108 537.6 T(ert\255line \(M\255r\)).08 E F0 1.095
-(Undo all changes made to this line.)144 549.6 R 1.095(This is lik)6.095
+(undo \(C\255_, C\255x C\255u\))108 328.8 Q F0
+(Incremental undo, separately remembered for each line.)144 340.8 Q F1
+-2.29 -.18(re v)108 352.8 T(ert\255line \(M\255r\)).08 E F0 1.095
+(Undo all changes made to this line.)144 364.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 561.6 Q F1
-(tilde\255expand \(M\255&\))108 573.6 Q F0(Perform tilde e)144 585.6 Q
+(return the line to its initial state.)144 376.8 Q F1
+(tilde\255expand \(M\255&\))108 388.8 Q F0(Perform tilde e)144 400.8 Q
 (xpansion on the current w)-.15 E(ord.)-.1 E F1
-(set\255mark \(C\255@, M\255<space>\))108 597.6 Q F0
-(Set the mark to the point.)144 609.6 Q(If a numeric ar)5 E
+(set\255mark \(C\255@, M\255<space>\))108 412.8 Q F0
+(Set the mark to the point.)144 424.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 621.6 Q F0(Sw)
-144 633.6 Q .282(ap the point with the mark.)-.1 F .283
+(exchange\255point\255and\255mark \(C\255x C\255x\))108 436.8 Q F0(Sw)
+144 448.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 645.6 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 657.6 Q(ch \(C\255]\))-.18 E F0 3.036(Ac)144
-669.6 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 460.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 472.8 Q(ch \(C\255]\))-.18 E F0 3.035(Ac)144
+484.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 681.6 Q(vious occurrences.)-.25 E F1(character\255sear)108 693.6 Q
-(ch\255backward \(M\255C\255]\))-.18 E F0 3.543(Ac)144 705.6 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 496.8 Q(vious occurrences.)-.25 E F1(character\255sear)108 508.8 Q
+(ch\255backward \(M\255C\255]\))-.18 E F0 3.544(Ac)144 520.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 717.6 Q(GNU Bash-4.0)72
-768 Q(2008 May 25)147.345 E(41)197.335 E 0 Cg EP
-%%Page: 42 42
+(count searches for subsequent occurrences.)144 532.8 Q F1
+(insert\255comment \(M\255#\))108 544.8 Q F0 -.4(Wi)144 556.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 .481(riable is inserted at the).25 F(be)144 568.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 580.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.822(,t)C .322(he v)-2.822 F .322(alue is)
+-.25 F 1.014(inserted, otherwise the characters in)144 592.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 604.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 616.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 628.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 640.8 Q
+(ord \(M\255g\))-.1 E F0 .791(The w)144 652.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
+664.8 R(pattern is used to generate a list of matching \214le names for\
+ possible completions.)2.5 E F1(glob\255expand\255w)108 676.8 Q
+(ord \(C\255x *\))-.1 E F0 .372(The w)144 688.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 700.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 712.8 Q(xpansion.)-.15 E(GNU Bash-4.0)72 768 Q(2008 June 29)147.345
+E(42)197.335 E 0 Cg EP
+%%Page: 43 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/F1 10/Times-Bold@0 SF(insert\255comment \(M\255#\))108 84 Q F0
--.4(Wi)144 96 S .481(thout a numeric ar).4 F .481(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 108 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 120 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 132 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 144 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 156 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 168 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 180 Q
-(ord \(M\255g\))-.1 E F0 .792(The w)144 192 R .791
-(ord before point is treated as a pattern for pathname e)-.1 F .791
-(xpansion, with an asterisk implicitly)-.15 F 2.5(appended. This)144 204
-R(pattern is used to generate a list of matching \214le names for possi\
-ble completions.)2.5 E F1(glob\255expand\255w)108 216 Q
-(ord \(C\255x *\))-.1 E F0 .371(The w)144 228 R .372
-(ord before point is treated as a pattern for pathname e)-.1 F .372
-(xpansion, and the list of matching \214le)-.15 F .516
-(names is inserted, replacing the w)144 240 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 252 Q(xpansion.)-.15 E F1(glob\255list\255expansions \(C\255x g\))
-108 264 Q F0 .923(The list of e)144 276 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
+-.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 288 R 3.372(wn. If)-.15 F 3.372(an)3.372 G
+.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 300 S(pansion.).15 E F1(dump\255functions)108 312 Q F0 .626
-(Print all of the functions and their k)144 324 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 336 Q
+(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 348 Q(ariables)-.1 E F0
-1.8(Print all of the settable readline v)144 360 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 372 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 384 Q(c)-.37 E F0
-(\214le.)2.5 E F1(dump\255macr)108 396 Q(os)-.18 E F0 .593
-(Print all of the readline k)144 408 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 420 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 432 Q F1(display\255shell\255v)108 444 Q
-(ersion \(C\255x C\255v\))-.1 E F0(Display v)144 456 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 472.8 Q(ogrammable Completion)-.18 E F0 .147(When w)108
-484.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 496.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 508.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 525.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 537.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 549.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 561.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 578.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
-590.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 607.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 619.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 631.2 Q(ariable)-.25 E F3(FIGNORE)2.5 E F0
-(is used to \214lter the matches.)2.25 E(An)108 648 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 660 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 672 Q(ut the)-.2 E F3(FIGNORE)
-2.5 E F0 -.25(va)2.25 G(riable is used.).25 E(Ne)108 688.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
-700.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 712.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
-724.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
-(GNU Bash-4.0)72 768 Q(2008 May 25)147.345 E(42)197.335 E 0 Cg EP
-%%Page: 43 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(abo)108 84 Q .51 -.15(ve u)-.15 H(nder).15 E/F1 10/Times-Bold@0
-SF -.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 96 Q
-(ords become the possible completions.)-.1 E 1.237
-(After these matches ha)108 112.8 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 3.376(options is in)108 124.8 R -.2
+1.396(The results are split using the rules described)5.896 F(abo)108
+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 3.375(options is in)108 597.6 R -.2
 (vo)-.4 G -.1(ke).2 G 5.875(d. When).1 F 3.375
 (the command or function is in)5.875 F -.2(vo)-.4 G -.1(ke).2 G 3.375
-(d, the).1 F/F2 9/Times-Bold@0 SF(COMP_LINE)5.875 E/F3 9/Times-Roman@0
-SF(,)A F2(COMP_POINT)5.625 E F3(,)A F2(COMP_KEY)108 136.8 Q F3(,)A F0
-(and)2.407 E F2(COMP_TYPE)2.657 E F0 -.25(va)2.407 G .157
-(riables are assigned v).25 F .157(alues as described abo)-.25 F .457
--.15(ve u)-.15 H(nder).15 E F1 .158(Shell V)2.658 F(ariables)-.92 E F0
-5.158(.I)C(f)-5.158 E 3.486(as)108 148.8 S .986
-(hell function is being in)-3.486 F -.2(vo)-.4 G -.1(ke).2 G .986
-(d, the).1 F F2(COMP_W)3.486 E(ORDS)-.09 E F0(and)3.236 E F2(COMP_CW)
-3.486 E(ORD)-.09 E F0 -.25(va)3.236 G .986(riables are also set.).25 F
-(When)5.985 E .608(the function or command is in)108 160.8 R -.2(vo)-.4
-G -.1(ke).2 G .608(d, the \214rst ar).1 F .608
-(gument is the name of the command whose ar)-.18 F .609(guments are)-.18
-F .073(being completed, the second ar)108 172.8 R .073(gument is the w)
--.18 F .073(ord being completed, and the third ar)-.1 F .073
-(gument is the w)-.18 F .072(ord pre-)-.1 F .607(ceding the w)108 184.8
-R .607(ord being completed on the current command line.)-.1 F .608
-(No \214ltering of the generated completions)5.607 F(ag)108 196.8 Q .094
+(d, the).1 F F3(COMP_LINE)5.876 E F4(,)A F3(COMP_POINT)5.626 E F4(,)A F3
+(COMP_KEY)108 609.6 Q F4(,)A F0(and)2.408 E F3(COMP_TYPE)2.658 E F0 -.25
+(va)2.408 G .157(riables are assigned v).25 F .157
+(alues as described abo)-.25 F .457 -.15(ve u)-.15 H(nder).15 E F1 .157
+(Shell V)2.657 F(ariables)-.92 E F0 5.157(.I)C(f)-5.157 E 3.485(as)108
+621.6 S .986(hell function is being in)-3.485 F -.2(vo)-.4 G -.1(ke).2 G
+.986(d, the).1 F F3(COMP_W)3.486 E(ORDS)-.09 E F0(and)3.236 E F3
+(COMP_CW)3.486 E(ORD)-.09 E F0 -.25(va)3.236 G .986
+(riables are also set.).25 F(When)5.986 E .609
+(the function or command is in)108 633.6 R -.2(vo)-.4 G -.1(ke).2 G .608
+(d, the \214rst ar).1 F .608(gument is the name of the command whose ar)
+-.18 F .608(guments are)-.18 F .073(being completed, the second ar)108
+645.6 R .073(gument is the w)-.18 F .073
+(ord being completed, and the third ar)-.1 F .073(gument is the w)-.18 F
+.073(ord pre-)-.1 F .608(ceding the w)108 657.6 R .607
+(ord being completed on the current command line.)-.1 F .607
+(No \214ltering of the generated completions)5.607 F(ag)108 669.6 Q .093
 (ainst the w)-.05 F .093(ord being completed is performed; the function\
  or command has complete freedom in generat-)-.1 F(ing the matches.)108
-208.8 Q(An)108 225.6 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
+681.6 Q(An)108 698.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
 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 .438
-(acilities, including)-.1 F(the)108 237.6 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 F2(COMPREPL)108
-249.6 Q(Y)-.828 E F0(array v)2.25 E(ariable.)-.25 E(Ne)108 266.4 Q .08
-(xt, an)-.15 F 2.58(yc)-.15 G .08(ommand speci\214ed with the)-2.58 F F1
-<ad43>2.58 E F0 .081(option is in)2.581 F -.2(vo)-.4 G -.1(ke).2 G 2.581
-(di).1 G 2.581(na)-2.581 G 2.581(ne)-2.581 G -.4(nv)-2.581 G .081
-(ironment equi).4 F -.25(va)-.25 G .081(lent to command sub-).25 F 2.859
-(stitution. It)108 278.4 R .359(should print a list of completions, one\
- per line, to the standard output.)2.859 F .358(Backslash may be used)
-5.359 F(to escape a ne)108 290.4 Q(wline, if necessary)-.25 E(.)-.65 E
-.376(After all of the possible completions are generated, an)108 307.2 R
-2.877<798c>-.15 G .377(lter speci\214ed with the)-2.877 F F1<ad58>2.877
-E F0 .377(option is applied to the)2.877 F 3.182(list. The)108 319.2 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 331.2 R .522(ord being completed.)-.1 F 3.022(Al)5.522 G
-(iteral)-3.022 E F1(&)3.022 E F0 .523
+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 710.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
+(It must put the possible completions in the)5.456 F F3(COMPREPL)108
+722.4 Q(Y)-.828 E F0(array v)2.25 E(ariable.)-.25 E(GNU Bash-4.0)72 768
+Q(2008 June 29)147.345 E(43)197.335 E 0 Cg EP
+%%Page: 44 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(Ne)108 84 Q .081(xt, an)-.15 F 2.581(yc)-.15 G .081
+(ommand speci\214ed with the)-2.581 F/F1 10/Times-Bold@0 SF<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 96 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
+108 Q(wline, if necessary)-.25 E(.)-.65 E .377
+(After all of the possible completions are generated, an)108 124.8 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 3.181(list. The)108 136.8 R
+.681(\214lter is a pattern as used for pathname e)3.181 F .681
+(xpansion; a)-.15 F F1(&)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 148.8 R .523(ord being completed.)-.1 F 3.023(Al)5.523 G
+(iteral)-3.023 E F1(&)3.023 E F0 .522
 (may be escaped with a backslash; the backslash is remo)3.022 F -.15(ve)
--.15 G 3.023(db).15 G(efore)-3.023 E .85(attempting a match.)108 343.2 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 355.2 Q -.05(ga)-.15 G
+-.15 G 3.022(db).15 G(efore)-3.022 E .849(attempting a match.)108 160.8
+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 172.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 372 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
+(d.).15 E(Finally)108 189.6 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
+<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 384 Q .247(If the pre)108 400.8 R .247
+possible completions.)108 201.6 Q .246(If the pre)108 218.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 .246(as supplied to)-.1 F F1(complete)108 412.8 Q F0
+(option w)2.747 F .247(as supplied to)-.1 F F1(complete)108 230.4 Q F0
 (when the compspec w)2.5 E
-(as de\214ned, directory name completion is attempted.)-.1 E .461
-(If the)108 429.6 R F1 .462(\255o plusdirs)2.961 F F0 .462(option w)
+(as de\214ned, directory name completion is attempted.)-.1 E .462
+(If the)108 247.2 R F1 .462(\255o plusdirs)2.962 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 441.6 Q 2.5(ym)-.15 G
-(atches are added to the results of the other actions.)-2.5 E .56
-(By def)108 458.4 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 470.4 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 482.4 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 494.4 S 3.171(sd).1 G .671
-(e\214ned, the)-3.171 F F1(bash)3.171 E F0(def)3.171 E .671
+F(pletion is attempted and an)108 259.2 Q 2.5(ym)-.15 G
+(atches are added to the results of the other actions.)-2.5 E .559
+(By def)108 276 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 288 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 300 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 312 S 3.172(sd).1 G .672
+(e\214ned, the)-3.172 F F1(bash)3.172 E F0(def)3.172 E .671
 (ault completions are attempted if the compspec generates no matches.)
--.1 F .672(If the)5.672 F F1<ad6f>3.172 E(default)108 506.4 Q F0 1.207
-(option w)3.707 F 1.207(as supplied to)-.1 F F1(complete)3.707 E F0
+-.1 F .671(If the)5.671 F F1<ad6f>3.171 E(default)108 324 Q F0 1.207
+(option w)3.706 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.206(ault completion)-.1 F
-(will be performed if the compspec \(and, if attempted, the def)108
-518.4 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 535.2 R .633(tions force\
- readline to append a slash to completed names which are symbolic links\
- to directories, subject)108 547.2 R 2.761(to the v)108 559.2 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 571.2
-Q(ed\255dir)-.1 E(ectories)-.18 E F0(readline v)2.5 E(ariable.)-.25 E/F4
-10.95/Times-Bold@0 SF(HIST)72 588 Q(OR)-.197 E(Y)-.383 E F0 .372
-(When the)108 600 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/F5
-10/Times-Italic@0 SF .371(command history)2.871 F F0(,)A .031
-(the list of commands pre)108 612 R .031(viously typed.)-.25 F .031
+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 336
+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 352.8 R .632(tions force readl\
+ine to append a slash to completed names which are symbolic links to di\
+rectories, subject)108 364.8 R 2.762(to the v)108 376.8 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 388.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 405.6 Q(OR)-.197 E(Y)-.383 E F0 .371
+(When the)108 417.6 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 429.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 .43(mands to sa)
-108 624 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 F2(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
-636 R .287(ariable e)-.25 F .287(xpansion \(see)-.15 F F2(EXP)2.787 E
-(ANSION)-.666 E F0(abo)2.537 E -.15(ve)-.15 G(\)).15 E -.2(bu)108 648 S
-4.066(ta).2 G 1.565(fter history e)-4.066 F 1.565
+2.531 G .031(riable is used as the number of com-).25 F .429
+(mands to sa)108 441.6 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 453.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
+465.6 S 4.065(ta).2 G 1.565(fter history e)-4.065 F 1.565
 (xpansion is performed, subject to the v)-.15 F 1.565
-(alues of the shell v)-.25 F(ariables)-.25 E F2(HISTIGNORE)4.065 E F0
-(and)3.815 E F2(HISTCONTR)108 660 Q(OL)-.27 E F3(.)A F0 .082
+(alues of the shell v)-.25 F(ariables)-.25 E F4(HISTIGNORE)4.065 E F0
+(and)3.816 E F4(HISTCONTR)108 477.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 676.8 R(ariable)-.25 E F2(HISTFILE)2.583 E F0(\(def)2.333 E(ault)-.1
-E F5(~/.bash_history)2.583 E F0(\).)A .315(The \214le named by the v)108
-688.8 R .315(alue of)-.25 F F2(HISTFILE)2.815 E F0 .315
+108 494.4 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
+506.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 .532
-(lines speci\214ed by the v)108 700.8 R .532(alue of)-.25 F F2
-(HISTFILESIZE)3.032 E F3(.)A F0 .532
+(lines speci\214ed by the v)108 518.4 R .532(alue of)-.25 F F4
+(HISTFILESIZE)3.032 E F5(.)A F0 .532
 (When the history \214le is read, lines be)5.032 F .532
-(ginning with the his-)-.15 F 1.159(tory comment character follo)108
-712.8 R 1.158(wed immediately by a digit are interpreted as timestamps \
-for the preceding)-.25 F .052(history line.)108 724.8 R .053
-(These timestamps are optionally displayed depending on the v)5.052 F
-.053(alue of the)-.25 F F2(HISTTIMEFORMA)2.553 E(T)-.855 E F0
-(GNU Bash-4.0)72 768 Q(2008 May 25)147.345 E(43)197.335 E 0 Cg EP
-%%Page: 44 44
+(ginning with the his-)-.15 F 1.158(tory comment character follo)108
+530.4 R 1.159(wed immediately by a digit are interpreted as timestamps \
+for the preceding)-.25 F .053(history line.)108 542.4 R .053
+(These timestamps are optionally displayed depending on the v)5.053 F
+.052(alue of the)-.25 F F4(HISTTIMEFORMA)2.552 E(T)-.855 E F0 -.25(va)
+108 554.4 S 4.386(riable. When).25 F 1.886(an interacti)4.386 F 2.187
+-.15(ve s)-.25 H 1.887(hell e).15 F 1.887(xits, the last)-.15 F F4
+($HISTSIZE)4.387 E F0 1.887(lines are copied from the history list to)
+4.137 F F4($HISTFILE)108 566.4 Q F5(.)A F0 .056(If the)4.556 F F1
+(histappend)2.556 E F0 .056
+(shell option is enabled \(see the description of)2.556 F F1(shopt)2.556
+E F0(under)2.556 E F4 .056(SHELL B)2.556 F(UIL)-.09 E(TIN)-.828 E
+(COMMANDS)108 578.4 Q F0(belo)2.671 E .422(w\), the lines are appended \
+to the history \214le, otherwise the history \214le is o)-.25 F -.15(ve)
+-.15 G 2.922(rwritten. If).15 F F4(HISTFILE)108 590.4 Q F0 1.114(is uns\
+et, or if the history \214le is unwritable, the history is not sa)3.364
+F -.15(ve)-.2 G 3.614(d. If).15 F(the)3.614 E F5 -.225(va)3.613 G 1.113
+(riable is set, time).225 F 1.251
+(stamps are written to the history \214le, mark)108 602.4 R(ed)-.09 E F0
+1.252(with the history comment character)3.502 F 3.752(,s)-.4 G 3.752
+(ot)-3.752 G(he)-3.752 E 3.752(ym)-.15 G 1.252(ay be preserv)-3.752 F
+(ed)-.15 E .105(across shell sessions.)108 614.4 R .105(This uses the h\
+istory comment character to distinguish timestamps from other history)
+5.105 F 2.604(lines. After)108 626.4 R(sa)2.604 E .104(ving the history)
+-.2 F 2.604(,t)-.65 G .104
+(he history \214le is truncated to contain no more than)-2.604 F F4
+(HISTFILESIZE)2.605 E F0 2.605(lines. If)2.355 F F4(HISTFILESIZE)108
+638.4 Q F0(is not set, no truncation is performed.)2.25 E 1.294(The b)
+108 655.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 667.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 .28
+(and manipulate the history \214le.)108 679.2 R .279
+(When using command-line editing, search commands are a)5.279 F -.25(va)
+-.2 G .279(ilable in each).25 F(editing mode that pro)108 691.2 Q
+(vide access to the history list.)-.15 E 1.485(The shell allo)108 708 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.486 E F4(HISTCONTR)3.986
+E(OL)-.27 E F0(and)3.736 E F4(HISTIGNORE)108 720 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
+(GNU Bash-4.0)72 768 Q(2008 June 29)147.345 E(44)197.335 E 0 Cg EP
+%%Page: 45 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 -.25(va)108 84 S 4.387(riable. When).25 F 1.887(an interacti)
-4.387 F 2.187 -.15(ve s)-.25 H 1.887(hell e).15 F 1.887(xits, the last)
--.15 F/F1 9/Times-Bold@0 SF($HISTSIZE)4.387 E F0 1.887
-(lines are copied from the history list to)4.137 F F1($HISTFILE)108 96 Q
-/F2 9/Times-Roman@0 SF(.)A F0 .056(If the)4.556 F/F3 10/Times-Bold@0 SF
-(histappend)2.556 E F0 .056
-(shell option is enabled \(see the description of)2.556 F F3(shopt)2.556
-E F0(under)2.556 E F1 .056(SHELL B)2.556 F(UIL)-.09 E(TIN)-.828 E
-(COMMANDS)108 108 Q F0(belo)2.672 E .422(w\), the lines are appended to\
- the history \214le, otherwise the history \214le is o)-.25 F -.15(ve)
--.15 G 2.921(rwritten. If).15 F F1(HISTFILE)108 120 Q F0 1.114(is unset\
-, or if the history \214le is unwritable, the history is not sa)3.363 F
--.15(ve)-.2 G 3.614(d. If).15 F(the)3.614 E F2 -.225(va)3.614 G 1.114
-(riable is set, time).225 F 1.252
-(stamps are written to the history \214le, mark)108 132 R(ed)-.09 E F0
-1.252(with the history comment character)3.502 F 3.751(,s)-.4 G 3.751
-(ot)-3.751 G(he)-3.751 E 3.751(ym)-.15 G 1.251(ay be preserv)-3.751 F
-(ed)-.15 E .105(across shell sessions.)108 144 R .105(This uses the his\
-tory comment character to distinguish timestamps from other history)
-5.105 F 2.605(lines. After)108 156 R(sa)2.605 E .105(ving the history)
--.2 F 2.605(,t)-.65 G .104
-(he history \214le is truncated to contain no more than)-2.605 F F1
-(HISTFILESIZE)2.604 E F0 2.604(lines. If)2.354 F F1(HISTFILESIZE)108 168
-Q F0(is not set, no truncation is performed.)2.25 E 1.293(The b)108
-184.8 R 1.293(uiltin command)-.2 F F3(fc)3.793 E F0(\(see)3.793 E F1
-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 196.8 S .674(cute a portion of the history list.).15 F(The)5.673 E
-F3(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 208.8 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 220.8 Q
-(vide access to the history list.)-.15 E 1.486(The shell allo)108 237.6
-R 1.486(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 F1(HISTCONTR)3.985
-E(OL)-.27 E F0(and)3.735 E F1(HISTIGNORE)108 249.6 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 F3
-(cmdhist)108 261.6 Q F0 .75
+-.35 E/F1 10/Times-Bold@0 SF(cmdhist)108 84 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 273.6 R 3.577(,a)-.65 G 1.077
+(the same history entry)108 96 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 F3(lithist)3.577 E F0
-.374(shell option causes the shell to sa)108 285.6 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 297.6 R F3(shopt)2.818 E F0 -.2(bu)2.818 G .318
-(iltin belo).2 F 2.818(wu)-.25 G(nder)-2.818 E F1 .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
-309.6 Q/F4 10.95/Times-Bold@0 SF(HIST)72 326.4 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 338.4 R .611
-(xpansion feature that is similar to the history e)-.15 F .61
-(xpansion in)-.15 F F3(csh.)3.11 E F0 .61(This section)5.61 F .87
-(describes what syntax features are a)108 350.4 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 362.4 R F3(+H)4.514 E F0 2.014
-(option to the)4.514 F F3(set)4.514 E F0 -.2(bu)4.514 G 2.014
-(iltin command \(see).2 F F1 2.013(SHELL B)4.513 F(UIL)-.09 E 2.013
-(TIN COMMANDS)-.828 F F0(belo)108 374.4 Q 2.5(w\). Non-interacti)-.25 F
+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 108 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 120 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/F2 9/Times-Bold@0 SF .318
+(SHELL B)2.818 F(UIL)-.09 E .318(TIN COMMANDS)-.828 F F0 .318
+(for information on setting and)2.568 F(unsetting shell options.)108 132
+Q/F3 10.95/Times-Bold@0 SF(HIST)72 148.8 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
+160.8 R .611(xpansion feature that is similar to the history e)-.15 F
+.611(xpansion in)-.15 F F1(csh.)3.111 E F0 .611(This section)5.611 F
+.871(describes what syntax features are a)108 172.8 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 184.8 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 F2 2.014(SHELL B)4.514 F(UIL)-.09 E 2.014
+(TIN COMMANDS)-.828 F F0(belo)108 196.8 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 391.2 R 1.305
+(xpansion by def)-.15 E(ault.)-.1 E 1.306(History e)108 213.6 R 1.306
 (xpansions introduce w)-.15 F 1.306(ords from the history list into the\
- input stream, making it easy to repeat)-.1 F .21
-(commands, insert the ar)108 403.2 R .21(guments to a pre)-.18 F .209
+ input stream, making it easy to repeat)-.1 F .209
+(commands, insert the ar)108 225.6 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 415.2 Q(.)-.65 E 1.163(History e)108
-432 R 1.163(xpansion is performed immediately after a complete line is \
-read, before the shell breaks it into)-.15 F -.1(wo)108 444 S 3.2
+F(vious)-.25 E(commands quickly)108 237.6 Q(.)-.65 E 1.164(History e)108
+254.4 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 266.4 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 456 R 1.868(second is to select porti\
-ons 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 468 R/F5 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 F5(wor)
-3.162 E(ds)-.37 E F0 5.662(.V)C(arious)-6.772 E F5(modi\214er)108 480 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 492 R -.15(ve)
--.25 G(ral).15 E F5(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 504 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 516 Q F3
-(!)3.333 E F0(by def)3.333 E 2.5(ault. Only)-.1 F(backslash \()2.5 E F3
-(\\).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 532.8 Q -.15(ve)-.25 G
+3.2 F 4.368(substitution. The)108 278.4 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 290.4 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 302.4
+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 314.4 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 326.4 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 338.4 Q
+F1(!)3.333 E F0(by def)3.333 E 2.5(ault. Only)-.1 F(backslash \()2.5 E
+F1(\\).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 355.2 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 544.8 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 367.2 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 F3(=)3.162 E F0 5.662(.I)C 3.162(ft)-5.662 G(he)-3.162 E F3
-(extglob)3.162 E F0 .662(shell option is enabled,)3.162 F F3(\()3.163 E
-F0(will also inhibit e)108 556.8 Q(xpansion.)-.15 E(Se)108 573.6 Q -.15
-(ve)-.25 G .11(ral shell options settable with the).15 F F3(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 585.6 R F3
-(histv)3.758 E(erify)-.1 E F0 1.259
-(shell option is enabled \(see the description of the)3.758 F F3(shopt)
-3.759 E F0 -.2(bu)3.759 G 1.259(iltin\), and).2 F F3 -.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 597.6 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 609.6 R F3 -.18(re)4.728 G(adline).18 E F0 2.228
+-.25 F F1(=)3.162 E F0 5.662(.I)C 3.162(ft)-5.662 G(he)-3.162 E F1
+(extglob)3.162 E F0 .662(shell option is enabled,)3.162 F F1(\()3.162 E
+F0(will also inhibit e)108 379.2 Q(xpansion.)-.15 E(Se)108 396 Q -.15
+(ve)-.25 G .109(ral shell options settable with the).15 F F1(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 408 R F1
+(histv)3.759 E(erify)-.1 E F0 1.259
+(shell option is enabled \(see the description of the)3.759 F F1(shopt)
+3.759 E F0 -.2(bu)3.759 G 1.259(iltin\), and).2 F F1 -.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 420 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 432 R F1 -.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 F3 -.18(re)4.728 G(adline).18 E F0 2.228
-(is being used, and the)4.728 F F3(histr)108 621.6 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 F3 -.18(re)
-3.702 G(adline).18 E F0(editing)3.702 E -.2(bu)108 633.6 S -.25(ff).2 G
-1.16(er for correction.).25 F(The)6.16 E F3<ad70>3.66 E F0 1.16
-(option to the)3.66 F F3(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 645.6
-S .056(pansion will do before using it.).15 F(The)5.056 E F3<ad73>2.556
-E F0 .056(option to the)2.556 F F3(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 657.6 Q -.15(xe)-.15 G
+(If)7.228 E F1 -.18(re)4.728 G(adline).18 E F0 2.228
+(is being used, and the)4.728 F F1(histr)108 444 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 F1 -.18(re)
+3.702 G(adline).18 E F0(editing)3.702 E -.2(bu)108 456 S -.25(ff).2 G
+1.161(er for correction.).25 F(The)6.161 E F1<ad70>3.661 E F0 1.161
+(option to the)3.661 F F1(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 468 S
+.055(pansion will do before using it.).15 F(The)5.055 E F1<ad73>2.555 E
+F0 .055(option to the)2.555 F F1(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 480 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 674.4 R 2.2
+(ilable for subsequent recall.).25 E 2.2(The shell allo)108 496.8 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 1.147(description of)108
-686.4 R F3(histchars)3.647 E F0(abo)3.647 E 1.447 -.15(ve u)-.15 H(nder)
-.15 E F3 1.147(Shell V)3.647 F(ariables)-.92 E F0 3.646(\). The)B 1.146
+-.25 F 2.2(xpansion mechanism \(see the)-.15 F 1.146(description of)108
+508.8 R F1(histchars)3.646 E F0(abo)3.646 E 1.446 -.15(ve u)-.15 H(nder)
+.15 E F1 1.146(Shell V)3.646 F(ariables)-.92 E F0 3.646(\). The)B 1.147
 (shell uses the history comment character to)3.646 F
-(mark history timestamps when writing the history \214le.)108 698.4 Q
-(GNU Bash-4.0)72 768 Q(2008 May 25)147.345 E(44)197.335 E 0 Cg EP
-%%Page: 45 45
+(mark history timestamps when writing the history \214le.)108 520.8 Q F1
+(Ev)87 537.6 Q(ent Designators)-.1 E F0(An e)108 549.6 Q -.15(ve)-.25 G
+(nt designator is a reference to a command line entry in the history li\
+st.).15 E F1(!)108 566.4 Q F0 1.608(Start a history substitution, e)
+32.67 F 1.608(xcept when follo)-.15 F 1.607(wed by a)-.25 F F1(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 578.4 Q F1(extglob)
+2.5 E F0(shell option is enabled using the)2.5 E F1(shopt)2.5 E F0 -.2
+(bu)2.5 G(iltin\).).2 E F1(!)108 590.4 Q F4(n)A F0
+(Refer to command line)27.67 E F4(n)2.5 E F0(.).24 E F1<21ad>108 602.4 Q
+F4(n)A F0(Refer to the current command line minus)21.97 E F4(n)2.5 E F0
+(.).24 E F1(!!)108 614.4 Q F0(Refer to the pre)29.34 E(vious command.)
+-.25 E(This is a synon)5 E(ym for `!\2551'.)-.15 E F1(!)108 626.4 Q F4
+(string)A F0(Refer to the most recent command starting with)9.33 E F4
+(string)2.5 E F0(.).22 E F1(!?)108 638.4 Q F4(string)A F1([?])A F0 1.022
+(Refer to the most recent command containing)144 650.4 R F4(string)3.522
+E F0 6.022(.T).22 G 1.022(he trailing)-6.022 F F1(?)3.522 E F0 1.022
+(may be omitted if)3.522 F F4(string)3.862 E F0(is)3.742 E(follo)144
+662.4 Q(wed immediately by a ne)-.25 E(wline.)-.25 E/F5 12/Times-Bold@0
+SF(^)108 679.4 Q F4(string1)-5 I F5(^)5 I F4(string2)-5 I F5(^)5 I F0
+2.63(Quick substitution.)144 686.4 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.629(lent to).25 F -.74(``)144 698.4 S(!!:s/).74 E F4(string1)A F0(/)A
+F4(string2)A F0(/')A 2.5('\()-.74 G(see)-2.5 E F1(Modi\214ers)2.5 E F0
+(belo)2.5 E(w\).)-.25 E F1(!#)108 710.4 Q F0
+(The entire command line typed so f)27.67 E(ar)-.1 E(.)-.55 E
+(GNU Bash-4.0)72 768 Q(2008 June 29)147.345 E(45)197.335 E 0 Cg EP
+%%Page: 46 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(Ev)87 84 Q(ent Designators)-.1 E F0(An e)
-108 96 Q -.15(ve)-.25 G(nt designator is a reference to a command line \
-entry in the history list.).15 E F1(!)108 112.8 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 F1(blank)4.107 E F0 4.107(,n)C -.25(ew)-4.107 G
-1.608(line, carriage return, = or \().25 F(\(when the)144 124.8 Q F1
-(extglob)2.5 E F0(shell option is enabled using the)2.5 E F1(shopt)2.5 E
-F0 -.2(bu)2.5 G(iltin\).).2 E F1(!)108 136.8 Q/F2 10/Times-Italic@0 SF
-(n)A F0(Refer to command line)27.67 E F2(n)2.5 E F0(.).24 E F1<21ad>108
-148.8 Q F2(n)A F0(Refer to the current command line minus)21.97 E F2(n)
-2.5 E F0(.).24 E F1(!!)108 160.8 Q F0(Refer to the pre)29.34 E
-(vious command.)-.25 E(This is a synon)5 E(ym for `!\2551'.)-.15 E F1(!)
-108 172.8 Q F2(string)A F0
-(Refer to the most recent command starting with)9.33 E F2(string)2.5 E
-F0(.).22 E F1(!?)108 184.8 Q F2(string)A F1([?])A F0 1.022
-(Refer to the most recent command containing)144 196.8 R F2(string)3.522
-E F0 6.022(.T).22 G 1.022(he trailing)-6.022 F F1(?)3.522 E F0 1.022
-(may be omitted if)3.522 F F2(string)3.861 E F0(is)3.741 E(follo)144
-208.8 Q(wed immediately by a ne)-.25 E(wline.)-.25 E/F3 12/Times-Bold@0
-SF(^)108 225.8 Q F2(string1)-5 I F3(^)5 I F2(string2)-5 I F3(^)5 I F0
-2.629(Quick substitution.)144 232.8 R 2.629
-(Repeat the last command, replacing)7.629 F F2(string1)5.469 E F0(with)
-5.129 E F2(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 244.8 S(!!:s/).74 E F2(string1)A F0(/)A
-F2(string2)A F0(/')A 2.5('\()-.74 G(see)-2.5 E F1(Modi\214ers)2.5 E F0
-(belo)2.5 E(w\).)-.25 E F1(!#)108 256.8 Q F0
-(The entire command line typed so f)27.67 E(ar)-.1 E(.)-.55 E F1 -.75
-(Wo)87 273.6 S(rd Designators).75 E F0 -.8(Wo)108 285.6 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 F1(:)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 297.6 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 F1(^)3.029 E F0(,)A F1
-($)3.029 E F0(,)A F1(*)3.029 E F0(,)A F1<ad>3.029 E F0 3.029(,o)C(r)
--3.029 E F1(%)3.029 E F0 5.53(.W)C(ords)-6.33 E 1.301
-(are numbered from the be)108 309.6 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 321.6 Q
-F1 2.5(0\()108 338.4 S(zer)-2.5 E(o\))-.18 E F0(The zeroth w)144 350.4 Q
+-.35 E/F1 10/Times-Bold@0 SF -.75(Wo)87 84 S(rd Designators).75 E F0 -.8
+(Wo)108 96 S 1.313(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 F1(:)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 108 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 F1(^)3.029
+E F0(,)A F1($)3.029 E F0(,)A F1(*)3.029 E F0(,)A F1<ad>3.029 E F0 3.029
+(,o)C(r)-3.029 E F1(%)3.029 E F0 5.529(.W)C(ords)-6.329 E 1.3
+(are numbered from the be)108 120 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 132 Q
+F1 2.5(0\()108 148.8 S(zer)-2.5 E(o\))-.18 E F0(The zeroth w)144 160.8 Q
 2.5(ord. F)-.1 F(or the shell, this is the command w)-.15 E(ord.)-.1 E
-F2(n)108.36 362.4 Q F0(The)30.64 E F2(n)2.5 E F0(th w)A(ord.)-.1 E F1(^)
-108 374.4 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 386.4 Q F0(The last ar)31 E(gument.)-.18 E F1(%)
-108 398.4 Q F0(The w)26 E(ord matched by the most recent `?)-.1 E F2
-(string)A F0(?' search.)A F2(x)108.77 410.4 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 422.4 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 434.4 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
-446.4 Q F0(Abbre)26 E(viates)-.25 E F2(x\255$)2.5 E F0(.)A F1<78ad>108
-458.4 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 475.2 Q(ord designator is supplied without an e)-.1 E -.15(ve)-.25 G
+/F2 10/Times-Italic@0 SF(n)108.36 172.8 Q F0(The)30.64 E F2(n)2.5 E F0
+(th w)A(ord.)-.1 E F1(^)108 184.8 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 196.8 Q F0
+(The last ar)31 E(gument.)-.18 E F1(%)108 208.8 Q F0(The w)26 E
+(ord matched by the most recent `?)-.1 E F2(string)A F0(?' search.)A F2
+(x)108.77 220.8 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 232.8 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 244.8 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 256.8 Q
+F0(Abbre)26 E(viates)-.25 E F2(x\255$)2.5 E F0(.)A F1<78ad>108 268.8 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
+285.6 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 492 Q F0 .184
-(After the optional w)108 504 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 516 Q F1(h)108
-532.8 Q F0(Remo)30.44 E .3 -.15(ve a t)-.15 H
+-.15(ve)-.25 G(nt.).15 E F1(Modi\214ers)87 302.4 Q F0 .183
+(After the optional w)108 314.4 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 326.4 Q F1(h)
+108 343.2 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 544.8 Q F0(Remo)32.67 E .3 -.15(ve a)-.15 H
+(t)108 355.2 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 556.8 Q F0(Remo)31.56 E .3 -.15(ve a t)-.15 H(railing suf).15 E
+108 367.2 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 568.8 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 580.8
+(ving the basename.)-.2 E F1(e)108 379.2 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 391.2
 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 592.8 Q F0
+E -.15(xe)-.15 G(cute it.).15 E F1(q)108 403.2 Q F0
 (Quote the substituted w)30.44 E(ords, escaping further substitutions.)
--.1 E F1(x)108 604.8 Q F0(Quote the substituted w)31 E(ords as with)-.1
+-.1 E F1(x)108 415.2 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 616.8 Q F2(old)A F1(/)A
-F2(ne)A(w)-.15 E F1(/)A F0(Substitute)144 628.8 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
+2.5 E F0(and ne)2.5 E(wlines.)-.25 E F1(s/)108 427.2 Q F2(old)A F1(/)A
+F2(ne)A(w)-.15 E F1(/)A F0(Substitute)144 439.2 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
 (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 .617(of /.)144
-640.8 R .617
+(yd)-.15 G .221(elimiter can be used in place)-2.721 F .616(of /.)144
+451.2 R .617
 (The \214nal delimiter is optional if it is the last character of the e)
-5.617 F -.15(ve)-.25 G .617(nt line.).15 F .616(The delimiter may)5.616
-F .666(be quoted in)144 652.8 R F2(old)3.396 E F0(and)3.936 E F2(ne)
+5.616 F -.15(ve)-.25 G .617(nt line.).15 F .617(The delimiter may)5.617
+F .666(be quoted in)144 463.2 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 .275(single backslash will quote the &.)144 664.8 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 676.8 Q F2(string)
+F0 5.666(.A).77 G .274(single backslash will quote the &.)144 475.2 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 487.2 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 688.8 Q F0(Repeat the pre)27.67 E(vious substitution.)-.25 E F1
-(g)108 700.8 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 712.8 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 724.8 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(GNU Bash-4.0)72 768 Q
-(2008 May 25)147.345 E(45)197.335 E 0 Cg EP
-%%Page: 46 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(g)144 84 Q F0(.)A F1(G)108 96 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/F2 10.95/Times-Bold@0 SF(SHELL B)72 112.8 Q(UIL)-.11 E
-(TIN COMMANDS)-1.007 E F0 .063(Unless otherwise noted, each b)108 124.8
-R .062(uiltin command documented in this section as accepting options p\
-receded by)-.2 F F1<ad>108 136.8 Q F0(accepts)3.8 E F1<adad>3.8 E F0 1.3
+(&)108 499.2 Q F0(Repeat the pre)27.67 E(vious substitution.)-.25 E F1
+(g)108 511.2 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 523.2 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 535.2 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 547.2 Q F0
+(.)A F1(G)108 559.2 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 576 Q(UIL)-.11 E
+(TIN COMMANDS)-1.007 E F0 .062(Unless otherwise noted, each b)108 588 R
+.062(uiltin command documented in this section as accepting options pre\
+ceded by)-.2 F F1<ad>108 600 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 148.8 Q F1(:)108 166.8 Q F0([)2.5 E/F3 10
-/Times-Italic@0 SF(ar)A(guments)-.37 E F0(])A .452(No ef)144 178.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
-190.8 R(zero e)2.5 E(xit code is returned.)-.15 E F1(.)110.5 207.6 Q F3
-(\214lename)6.666 E F0([)2.5 E F3(ar)A(guments)-.37 E F0(])A F1(sour)108
-219.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 231.6 R -.15(xe)-.15 G 1.02
-(cute commands from).15 F F3(\214lename)5.43 E F0 1.02
+.2 F(accept options.)108 612 Q F1(:)108 630 Q F0([)2.5 E F2(ar)A
+(guments)-.37 E F0(])A .451(No ef)144 642 R .451
+(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 .452(and performing an)3.222 F
+2.952(ys)-.15 G(peci\214ed)-2.952 E 2.5(redirections. A)144 654 R
+(zero e)2.5 E(xit code is returned.)-.15 E F1(.)110.5 670.8 Q F2
+(\214lename)6.666 E F0([)2.5 E F2(ar)A(guments)-.37 E F0(])A F1(sour)108
+682.8 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 694.8 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 243.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
+(xit)-.15 E 1.68(status of the last command e)144 706.8 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 255.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
+(names in)144 718.8 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 267.6
-R -.15(xe)-.15 G 3.333(cutable. When).15 F F1(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 279.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 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
-291.6 S(TH)-.189 E F0 .112(is not searched.)2.363 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 303.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 315.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 327.6
-Q F0(is not found or cannot be read.)2.68 E F1(alias)108 344.4 Q F0([)
-2.5 E F1<ad70>A F0 2.5(][)C F3(name)-2.5 E F0([=)A F3(value)A F0 2.5(].)
-C(..])-2.5 E F1(Alias)144 356.4 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
-F3(name)144 368.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 380.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 392.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 404.4 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 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 416.4 Q F1(bg)108 433.2 Q F0([)
-2.5 E F3(jobspec)A F0(...])2.5 E .745(Resume each suspended job)144
-445.2 R F3(jobspec)3.245 E F0 .745
-(in the background, as if it had been started with)3.245 F F1(&)3.244 E
-F0 5.744(.I)C(f)-5.744 E F3(job-)4.984 E(spec)144 457.2 Q F0 .671
-(is not present, the shell')3.481 F 3.171(sn)-.55 G .672(otion of the)
--3.171 F F3(curr)3.172 E .672(ent job)-.37 F F0 .672(is used.)3.172 F F1
-(bg)5.672 E F3(jobspec)4.912 E F0 .672(returns 0 unless run)3.482 F .419
-(when job control is disabled or)144 469.2 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 F3(jobspec)2.918 E F0 -.1(wa)2.918 G 2.918(sn).1 G
-(ot)-2.918 E(found or w)144 481.2 Q(as started without job control.)-.1
-E F1(bind)108 498 Q F0([)2.5 E F1<ad6d>A F3 -.1(ke)2.5 G(ymap)-.2 E F0
-2.5(][)C F1(\255lpsvPSV)-2.5 E F0(])A F1(bind)108 510 Q F0([)2.5 E F1
-<ad6d>A F3 -.1(ke)2.5 G(ymap)-.2 E F0 2.5(][)C F1<ad71>-2.5 E F3
-(function)2.5 E F0 2.5(][)C F1<ad75>-2.5 E F3(function)2.5 E F0 2.5(][)C
-F1<ad72>-2.5 E F3 -.1(ke)2.5 G(yseq)-.2 E F0(])A F1(bind)108 522 Q F0([)
-2.5 E F1<ad6d>A F3 -.1(ke)2.5 G(ymap)-.2 E F0(])A F1<ad66>2.5 E F3
-(\214lename)2.5 E F1(bind)108 534 Q F0([)2.5 E F1<ad6d>A F3 -.1(ke)2.5 G
-(ymap)-.2 E F0(])A F1<ad78>2.5 E F3 -.1(ke)2.5 G(yseq)-.2 E F0(:)A F3
-(shell\255command)A F1(bind)108 546 Q F0([)2.5 E F1<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 F1(bind)108 558 Q F3 -.37(re)2.5 G
-(adline\255command).37 E F0 .238(Display current)144 570 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 582 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 F3
-(.inputr)144 594 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 606 R(if supplied, ha)2.5 E
-.3 -.15(ve t)-.2 H(he follo).15 E(wing meanings:)-.25 E F1<ad6d>144 618
-Q F3 -.1(ke)2.5 G(ymap)-.2 E F0(Use)180 630 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 642 S(ymap)-.2 E F0 3.192(names are)5.882 F F3 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 654 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
-(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 666 Q(d)-.37 E F0(.)A F1<ad6c>144 678 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
-690 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 702 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
-<ad73>144 714 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 726 S 2.5(yt).1 G(hat the)-2.5
-E 2.5(yc)-.15 G(an be re-read.)-2.5 E(GNU Bash-4.0)72 768 Q(2008 May 25)
-147.345 E(46)197.335 E 0 Cg EP
+-5.608 F F4 -.666(PA)3.108 G(TH)-.189 E F0 .832(need not be e)144 730.8
+R -.15(xe)-.15 G 3.332(cutable. When).15 F F1(bash)3.332 E F0 .832
+(is not in)3.332 F F2 .832(posix mode)3.332 F F0 3.332(,t)C .833
+(he current directory is searched if no)-3.332 F(GNU Bash-4.0)72 768 Q
+(2008 June 29)147.345 E(46)197.335 E 0 Cg EP
 %%Page: 47 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<ad53>144 84 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<ad76>144 96 Q F0(Display)25.3 E F1 -.18(re)2.5 G
+-.35 E .982(\214le is found in)144 84 R/F1 9/Times-Bold@0 SF -.666(PA)
+3.481 G(TH)-.189 E/F2 9/Times-Roman@0 SF(.)A F0 .981(If the)5.481 F/F3
+10/Times-Bold@0 SF(sour)3.481 E(cepath)-.18 E F0 .981(option to the)
+3.481 F F3(shopt)3.481 E F0 -.2(bu)3.481 G .981
+(iltin command is turned of).2 F .981(f, the)-.25 F F1 -.666(PA)144 96 S
+(TH)-.189 E F0 .112(is not searched.)2.362 F .112(If an)5.112 F(y)-.15 E
+/F4 10/Times-Italic@0 SF(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 F4(\214lename)144 108 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
+120 R .716(xited within the script \(0 if no commands are e)-.15 F -.15
+(xe)-.15 G .716(cuted\), and f).15 F .716(alse if)-.1 F F4(\214lename)
+145.91 132 Q F0(is not found or cannot be read.)2.68 E F3(alias)108
+148.8 Q F0([)2.5 E F3<ad70>A F0 2.5(][)C F4(name)-2.5 E F0([=)A F4
+(value)A F0 2.5(].)C(..])-2.5 E F3(Alias)144 160.8 Q F0 2.725
+(with no ar)5.225 F 2.724(guments or with the)-.18 F F3<ad70>5.224 E F0
+2.724(option prints the list of aliases in the form)5.224 F F3(alias)
+5.224 E F4(name)144 172.8 Q F0(=)A F4(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 F4(name)
+3.08 E F0(whose)144 184.8 Q F4(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 F4(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 196.8 R 2.554(xpanded. F)-.15 F .054
+(or each)-.15 F F4(name)2.554 E F0 .054(in the ar)2.554 F .054
+(gument list for which no)-.18 F F4(value)2.554 E F0 .054(is sup-)2.554
+F 1.314(plied, the name and v)144 208.8 R 1.314
+(alue of the alias is printed.)-.25 F F3(Alias)6.314 E F0 1.314
+(returns true unless a)3.814 F F4(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 220.8 Q F3(bg)108 237.6 Q F0([)
+2.5 E F4(jobspec)A F0(...])2.5 E .744(Resume each suspended job)144
+249.6 R F4(jobspec)3.244 E F0 .745
+(in the background, as if it had been started with)3.244 F F3(&)3.245 E
+F0 5.745(.I)C(f)-5.745 E F4(job-)4.985 E(spec)144 261.6 Q F0 .672
+(is not present, the shell')3.482 F 3.172(sn)-.55 G .672(otion of the)
+-3.172 F F4(curr)3.172 E .672(ent job)-.37 F F0 .672(is used.)3.172 F F3
+(bg)5.671 E F4(jobspec)4.911 E F0 .671(returns 0 unless run)3.481 F .418
+(when job control is disabled or)144 273.6 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 F4(jobspec)2.919 E F0 -.1(wa)2.919 G 2.919(sn).1 G
+(ot)-2.919 E(found or w)144 285.6 Q(as started without job control.)-.1
+E F3(bind)108 302.4 Q F0([)2.5 E F3<ad6d>A F4 -.1(ke)2.5 G(ymap)-.2 E F0
+2.5(][)C F3(\255lpsvPSV)-2.5 E F0(])A F3(bind)108 314.4 Q F0([)2.5 E F3
+<ad6d>A F4 -.1(ke)2.5 G(ymap)-.2 E F0 2.5(][)C F3<ad71>-2.5 E F4
+(function)2.5 E F0 2.5(][)C F3<ad75>-2.5 E F4(function)2.5 E F0 2.5(][)C
+F3<ad72>-2.5 E F4 -.1(ke)2.5 G(yseq)-.2 E F0(])A F3(bind)108 326.4 Q F0
+([)2.5 E F3<ad6d>A F4 -.1(ke)2.5 G(ymap)-.2 E F0(])A F3<ad66>2.5 E F4
+(\214lename)2.5 E F3(bind)108 338.4 Q F0([)2.5 E F3<ad6d>A F4 -.1(ke)2.5
+G(ymap)-.2 E F0(])A F3<ad78>2.5 E F4 -.1(ke)2.5 G(yseq)-.2 E F0(:)A F4
+(shell\255command)A F3(bind)108 350.4 Q F0([)2.5 E F3<ad6d>A F4 -.1(ke)
+2.5 G(ymap)-.2 E F0(])A F4 -.1(ke)2.5 G(yseq)-.2 E F0(:)A F4
+(function\255name)A F3(bind)108 362.4 Q F4 -.37(re)2.5 G
+(adline\255command).37 E F0 .239(Display current)144 374.4 R F3 -.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 F3 -.18(re)2.738 G(adline).18 E F0 .238(function or)
+2.738 F .475(macro, or set a)144 386.4 R F3 -.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 F4
+(.inputr)144 398.4 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 410.4 R(if supplied, ha)2.5
+E .3 -.15(ve t)-.2 H(he follo).15 E(wing meanings:)-.25 E F3<ad6d>144
+422.4 Q F4 -.1(ke)2.5 G(ymap)-.2 E F0(Use)180 434.4 Q F4 -.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
+F4 -.1(ke)180 446.4 S(ymap)-.2 E F0 3.193(names are)5.883 F F4 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 458.4 Q F0 4.429(,a)C(nd)-4.429 E F4(vi\255insert)
+4.429 E F0(.).68 E F4(vi)6.929 E F0 1.929(is equi)4.429 F -.25(va)-.25 G
+1.929(lent to).25 F F4(vi\255command)4.429 E F0(;)A F4(emacs)4.429 E F0
+1.929(is equi)4.429 F -.25(va)-.25 G 1.93(lent to).25 F F4
+(emacs\255standar)180 470.4 Q(d)-.37 E F0(.)A F3<ad6c>144 482.4 Q F0
+(List the names of all)27.52 E F3 -.18(re)2.5 G(adline).18 E F0
+(functions.)2.5 E F3<ad70>144 494.4 Q F0(Display)24.74 E F3 -.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 F3<ad50>144 506.4
+Q F0(List current)24.19 E F3 -.18(re)2.5 G(adline).18 E F0
+(function names and bindings.)2.5 E F3<ad73>144 518.4 Q F0(Display)26.41
+E F3 -.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 530.4 S 2.5(yt).1 G
+(hat the)-2.5 E 2.5(yc)-.15 G(an be re-read.)-2.5 E F3<ad53>144 542.4 Q
+F0(Display)24.74 E F3 -.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 F3<ad76>144 554.4 Q F0(Display)25.3 E F3 -.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<ad66>144 120 Q/F2 10/Times-Italic@0 SF(\214lename)2.5 E F0
-(Read k)180 132 Q .3 -.15(ey b)-.1 H(indings from).15 E F2(\214lename)
-2.5 E F0(.)A F1<ad71>144 144 Q F2(function)2.5 E F0(Query about which k)
-180 156 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 168 Q F2(function)
-2.5 E F0(Unbind all k)180 180 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 192 Q F2
--.1(ke)2.5 G(yseq)-.2 E F0(Remo)180 204 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 216 Q F2 -.1(ke)2.5 G(yseq)-.2 E F1(:)A F2(shell\255command)
-A F0(Cause)180 228 Q F2(shell\255command)4.325 E F0 1.825(to be e)4.325
-F -.15(xe)-.15 G 1.825(cuted whene).15 F -.15(ve)-.25 G(r).15 E F2 -.1
-(ke)4.325 G(yseq)-.2 E F0 1.825(is entered.)4.325 F(When)6.825 E F2
-(shell\255com-)4.325 E(mand)180 240 Q F0 1.113(is e)3.613 F -.15(xe)-.15
-G 1.113(cuted, the shell sets the).15 F F1(READLINE_LINE)3.613 E F0 -.25
-(va)3.613 G 1.113(riable to the contents of the).25 F F1 -.18(re)180 252
-S(adline).18 E F0 .587(line b)3.087 F(uf)-.2 E .587(fer and the)-.25 F
-F1(READLINE_POINT)3.087 E F0 -.25(va)3.087 G .586
-(riable to the current location of the).25 F 1.24(insertion point.)180
-264 R 1.241(If the e)6.241 F -.15(xe)-.15 G 1.241
-(cuted command changes the v).15 F 1.241(alue of)-.25 F F1
-(READLINE_LINE)3.741 E F0(or)3.741 E F1(READLINE_POINT)180 276 Q F0 2.5
-(,t)C(hose ne)-2.5 E 2.5(wv)-.25 G
+(an be re-read.)-2.5 E F3<ad56>144 566.4 Q F0(List current)23.08 E F3
+-.18(re)2.5 G(adline).18 E F0 -.25(va)2.5 G(riable names and v).25 E
+(alues.)-.25 E F3<ad66>144 578.4 Q F4(\214lename)2.5 E F0(Read k)180
+590.4 Q .3 -.15(ey b)-.1 H(indings from).15 E F4(\214lename)2.5 E F0(.)A
+F3<ad71>144 602.4 Q F4(function)2.5 E F0(Query about which k)180 614.4 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 F4(function)2.5 E F0(.)A F3<ad75>144 626.4 Q F4(function)
+2.5 E F0(Unbind all k)180 638.4 Q -.15(ey)-.1 G 2.5(sb).15 G
+(ound to the named)-2.5 E F4(function)2.5 E F0(.)A F3<ad72>144 650.4 Q
+F4 -.1(ke)2.5 G(yseq)-.2 E F0(Remo)180 662.4 Q .3 -.15(ve a)-.15 H .3
+-.15(ny c).15 H(urrent binding for).15 E F4 -.1(ke)2.5 G(yseq)-.2 E F0
+(.)A F3<ad78>144 674.4 Q F4 -.1(ke)2.5 G(yseq)-.2 E F3(:)A F4
+(shell\255command)A F0(Cause)180 686.4 Q F4(shell\255command)4.325 E F0
+1.825(to be e)4.325 F -.15(xe)-.15 G 1.825(cuted whene).15 F -.15(ve)
+-.25 G(r).15 E F4 -.1(ke)4.325 G(yseq)-.2 E F0 1.825(is entered.)4.325 F
+(When)6.825 E F4(shell\255com-)4.325 E(mand)180 698.4 Q F0 1.113(is e)
+3.614 F -.15(xe)-.15 G 1.113(cuted, the shell sets the).15 F F3
+(READLINE_LINE)3.613 E F0 -.25(va)3.613 G 1.113
+(riable to the contents of the).25 F F3 -.18(re)180 710.4 S(adline).18 E
+F0 .586(line b)3.086 F(uf)-.2 E .586(fer and the)-.25 F F3
+(READLINE_POINT)3.087 E F0 -.25(va)3.087 G .587
+(riable to the current location of the).25 F 1.241(insertion point.)180
+722.4 R 1.241(If the e)6.241 F -.15(xe)-.15 G 1.241
+(cuted command changes the v).15 F 1.241(alue of)-.25 F F3
+(READLINE_LINE)3.741 E F0(or)3.74 E(GNU Bash-4.0)72 768 Q(2008 June 29)
+147.345 E(47)197.335 E 0 Cg EP
+%%Page: 48 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(READLINE_POINT)180 84 Q F0 2.5(,t)C
+(hose ne)-2.5 E 2.5(wv)-.25 G
 (alues will be re\215ected in the editing state.)-2.75 E(The return v)
-144 292.8 Q(alue is 0 unless an unrecognized option is gi)-.25 E -.15
+144 100.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 309.6 Q(eak)-.18 E F0([)2.5 E F2(n)A F0(])A .055
-(Exit from within a)144 321.6 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
+E F1(br)108 117.6 Q(eak)-.18 E F0([)2.5 E/F2 10/Times-Italic@0 SF(n)A F0
+(])A .054(Exit from within a)144 129.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 333.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)144
-345.6 Q F2(n)2.5 E F0(is not greater than or equal to 1.)2.5 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 374.4 Q .793
-(ecute the speci\214ed shell b)-.15 F .793(uiltin, passing it)-.2 F F2
+(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 141.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)144
+153.6 Q F2(n)2.5 E F0(is not greater than or equal to 1.)2.5 E F1 -.2
+(bu)108 170.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 182.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
+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
-386.4 R .616(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
+194.4 R .615(uiltin, retaining the functionality of)-.2 F .57(the b)144
+206.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 410.4 Q(alse if)-.1
+5.57(.T)-.65 G .57(he return status)-5.57 F(is f)144 218.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(caller)108 427.2 Q F0([)2.5 E F2 -.2(ex)C(pr)
-.2 E F0(])A .253(Returns the conte)144 439.2 R .254(xt of an)-.15 F
+(uiltin command.)-.2 E F1(caller)108 235.2 Q F0([)2.5 E F2 -.2(ex)C(pr)
+.2 E F0(])A .254(Returns the conte)144 247.2 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.754 E F0(or)2.754 E F1(sour)144 451.2 Q
-(ce)-.18 E F0 -.2(bu)3.063 G 3.063(iltins. W).2 F(ithout)-.4 E F2 -.2
+.254(cuted with the).15 F F1(.)2.753 E F0(or)2.753 E F1(sour)144 259.2 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
-.253(subroutine call.)144 463.2 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\
+.254(subroutine call.)144 271.2 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\
 tine name, and source \214le corresponding to that position in the curr\
-ent e)144 475.2 R -.15(xe)-.15 G 1.327(cution call stack.).15 F(This e)
-144 487.2 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 499.2 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 511.2 Q
-(alid position in the call stack.)-.25 E F1(cd)108 528 Q F0([)2.5 E F1
+ent e)144 283.2 R -.15(xe)-.15 G 1.328(cution call stack.).15 F .001
+(This e)144 295.2 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 307.2 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 319.2 Q
+(alid position in the call stack.)-.25 E F1(cd)108 336 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 540 R F2(dir)2.71 E F0 5.21(.T)C
+(Change the current directory to)144 348 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 552 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 564 R 3.264(An)5.764 G .764
+-5.21 F(ariable)-.25 E F4(CDP)2.71 E -.855(AT)-.666 G(H).855 E F0 .776
+(de\214nes the search path for the directory containing)144 360 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 372 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 576 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 384 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 588 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 396 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 600 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 408 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
-612 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 624 Q .116(gument, an\
+(ar)3.384 E .884(gument of)-.18 F F1<ad>3.384 E F0(is)3.384 E(equi)144
+420 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 432 Q .116(gument, an\
 d 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 636 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 648 Q(alse otherwise.)-.1 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 676.8 Q F2(command)2.957
+-.18 F 2.616(ww)-.25 G .116(orking direc-)-2.716 F 1.165
+(tory is written to the standard output.)144 444 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 456 Q(alse otherwise.)-.1 E F1
+(command)108 472.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 484.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 688.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 496.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 700.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 508.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 712.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 724.8 S .61(ingle w)-3.11 F
+5.232 E .175(either the)144 520.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 532.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
-(GNU Bash-4.0)72 768 Q(2008 May 25)147.345 E(47)197.335 E 0 Cg EP
-%%Page: 48 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<ad56>144 84 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 96 R/F2 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
+F1<ad56>144 544.8 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 556.8 R F2(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.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 F1(command)4.099 E F0 -.2(bu)144 120 S
+(command)144.2 568.8 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 580.8 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 .013(Generate possible completion matches for)144 148.8 R
+(compgen)108 597.6 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 609.6 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 160.8 R F1(complete)3.481 E F0 -.2(bu)3.481 G .981
+E F0 .013(s, which may be an)B 2.513(yo)-.15 G(ption)-2.513 E .982
+(accepted by the)144 621.6 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 .982(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
+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 633.6 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 184.8 Q(acilities, while a)-.1 E -.25(va)
+F(grammable completion f)144 645.6 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 208.8 R .352
+-.25 E .352(The matches will be generated in the same w)144 669.6 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
-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
+681.6 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 693.6 Q F2(wor)2.5 E(d)-.37 E F0
+(will be displayed.)2.5 E(The return v)144 717.6 Q
 (alue is true unless an in)-.25 E -.25(va)-.4 G
-(lid option is supplied, or no matches were generated.).25 E F1
-(complete)108 273.6 Q F0([)3.033 E F1(\255abcdefgjksuv)A F0 3.033(][)C
-F1<ad6f>-3.033 E F2(comp-option)3.033 E F0 3.033(][)C F1<ad45>-3.033 E
-F0 3.033(][)C F1<ad41>-3.033 E F2(action)3.033 E F0 3.033(][)C F1<ad47>
--3.033 E F2(globpat)3.033 E F0 3.034(][)C F1<ad57>-3.034 E F2(wor)3.034
-E(dlist)-.37 E F0 3.034(][)C F1<ad46>-3.034 E F2(function)3.034 E F0(])A
-([)108 285.6 Q F1<ad43>A F2(command)2.5 E F0(])A([)144 297.6 Q F1<ad58>A
-F2(\214lterpat)2.5 E F0 2.5(][)C F1<ad50>-2.5 E F2(pr)2.5 E(e\214x)-.37
-E F0 2.5(][)C F1<ad53>-2.5 E F2(suf)2.5 E<8c78>-.18 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 F1<ad45>A F0 2.5(][)C F2(name)-2.5 E F0(...])2.5 E .633
-(Specify ho)144 321.6 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
-333.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 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 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 1.393
-(are supplied, all completion speci\214cations.)144 357.6 R(The)6.393 E
-F1<ad45>3.893 E F0 1.392(option indicates that the remaining options)
-3.892 F 1.304(and actions should apply to `)144 369.6 R(`empty')-.74 E
-3.804('c)-.74 G 1.304
-(ommand completion; that is, completion attempted on a)-3.804 F
-(blank line.)144 381.6 Q 1.438
+(lid option is supplied, or no matches were generated.).25 E
+(GNU Bash-4.0)72 768 Q(2008 June 29)147.345 E(48)197.335 E 0 Cg EP
+%%Page: 49 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(complete)108 84 Q F0([)3.034 E F1
+(\255abcdefgjksuv)A F0 3.034(][)C F1<ad6f>-3.034 E/F2 10/Times-Italic@0
+SF(comp-option)3.034 E F0 3.034(][)C F1<ad45>-3.034 E F0 3.033(][)C F1
+<ad41>-3.033 E F2(action)3.033 E F0 3.033(][)C F1<ad47>-3.033 E F2
+(globpat)3.033 E F0 3.033(][)C F1<ad57>-3.033 E F2(wor)3.033 E(dlist)
+-.37 E F0 3.033(][)C F1<ad46>-3.033 E F2(function)3.033 E F0(])A([)108
+96 Q F1<ad43>A F2(command)2.5 E F0(])A([)144 108 Q F1<ad58>A F2
+(\214lterpat)2.5 E F0 2.5(][)C F1<ad50>-2.5 E F2(pr)2.5 E(e\214x)-.37 E
+F0 2.5(][)C F1<ad53>-2.5 E F2(suf)2.5 E<8c78>-.18 E F0(])A F2(name)2.5 E
+F0([)2.5 E F2(name ...)A F0(])A F1(complete \255pr)108 120 Q F0([)2.5 E
+F1<ad45>A F0 2.5(][)C F2(name)-2.5 E F0(...])2.5 E .634(Specify ho)144
+132 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 144 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
+156 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 1.392
+(are supplied, all completion speci\214cations.)144 168 R(The)6.392 E F1
+<ad45>3.892 E F0 1.393(option indicates that the remaining options)3.893
+F 1.304(and actions should apply to `)144 180 R(`empty')-.74 E 3.804('c)
+-.74 G 1.304(ommand completion; that is, completion attempted on a)
+-3.804 F(blank line.)144 192 Q 1.437
 (The process of applying these completion speci\214cations when w)144
-405.6 R 1.437(ord completion is attempted is)-.1 F(described abo)144
-417.6 Q .3 -.15(ve u)-.15 H(nder).15 E F1(Pr)2.5 E
-(ogrammable Completion)-.18 E F0(.)A .555
-(Other options, if speci\214ed, ha)144 441.6 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 453.6 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 465.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 477.6 Q
-F2(comp-option)2.5 E F0(The)184 489.6 Q F2(comp-option)2.79 E F0 .291
+216 R 1.438(ord completion is attempted is)-.1 F(described abo)144 228 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 252 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 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 264 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 276 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 288 Q F2
+(comp-option)2.5 E F0(The)184 300 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 501.6 Q F2
-(comp-option)5 E F0(may be one of:)2.5 E F1(bashdefault)184 513.6 Q F0
-.281(Perform the rest of the def)224 525.6 R(ault)-.1 E F1(bash)2.781 E
-F0 .281(completions if the compspec generates no)2.781 F(matches.)224
-537.6 Q F1(default)184 549.6 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 561.6 Q F1(dir)184 573.6 Q(names)-.15 E F0(Perform directory name c\
-ompletion if the compspec generates no matches.)224 585.6 Q F1
-(\214lenames)184 597.6 Q F0 -.7(Te)224 609.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 621.6 R
-2.996(ea)-.1 G .496(dding a slash to directory names or suppress-)-2.996
-F(ing trailing spaces\).)224 633.6 Q
-(Intended to be used with shell functions.)5 E F1(nospace)184 645.6 Q F0
+(yond the simple)-.15 F(generation of completions.)184 312 Q F2
+(comp-option)5 E F0(may be one of:)2.5 E F1(bashdefault)184 324 Q F0
+.281(Perform the rest of the def)224 336 R(ault)-.1 E F1(bash)2.781 E F0
+.281(completions if the compspec generates no)2.781 F(matches.)224 348 Q
+F1(default)184 360 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 372 Q F1(dir)184 384 Q(names)-.15 E F0(Perform direc\
+tory name completion if the compspec generates no matches.)224 396 Q F1
+(\214lenames)184 408 Q F0 -.7(Te)224 420 S .137(ll readline that the co\
+mpspec 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 432 R 2.996
+(ea)-.1 G .496(dding a slash to directory names or suppress-)-2.996 F
+(ing trailing spaces\).)224 444 Q
+(Intended to be used with shell functions.)5 E F1(nospace)184 456 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
-657.6 Q F1(plusdirs)184 669.6 Q F0 1.985(After an)5.54 F 4.485(ym)-.15 G
+468 Q F1(plusdirs)184 480 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 681.6 R 3.084(ym)-.15 G
+-4.485 F .583(completion is attempted and an)224 492 R 3.084(ym)-.15 G
 .584(atches are added to the results of the other)-3.084 F(actions.)224
-693.6 Q F1<ad41>144 705.6 Q F2(action)2.5 E F0(The)184 717.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(GNU Bash-4.0)72
-768 Q(2008 May 25)147.345 E(48)197.335 E 0 Cg EP
-%%Page: 49 49
+504 Q F1<ad41>144 516 Q F2(action)2.5 E F0(The)184 528 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
+540 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 552 Q(ar)-.1 E F0(Array v)224 564 Q
+(ariable names.)-.25 E F1 4.7(binding Readline)184 576 R F0 -.1(ke)2.5 G
+2.5(yb)-.05 G(inding names.)-2.5 E F1 -.2(bu)184 588 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 600
+Q F0(Command names.)224 612 Q(May also be speci\214ed as)5 E F1<ad63>2.5
+E F0(.)A F1(dir)184 624 Q(ectory)-.18 E F0(Directory names.)224 636 Q
+(May also be speci\214ed as)5 E F1<ad64>2.5 E F0(.)A F1(disabled)184 648
+Q F0(Names of disabled shell b)224 660 Q(uiltins.)-.2 E F1(enabled)184
+672 Q F0(Names of enabled shell b)6.66 E(uiltins.)-.2 E F1(export)184
+684 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
+696 Q F0(File names.)27.22 E(May also be speci\214ed as)5 E F1<ad66>2.5
+E F0(.)A(GNU Bash-4.0)72 768 Q(2008 June 29)147.345 E(49)197.335 E 0 Cg
+EP
+%%Page: 50 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/F1 10/Times-Bold@0 SF(alias)184 84 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 96 Q
-(ar)-.1 E F0(Array v)224 108 Q(ariable names.)-.25 E F1 4.7
-(binding Readline)184 120 R F0 -.1(ke)2.5 G 2.5(yb)-.05 G(inding names.)
--2.5 E F1 -.2(bu)184 132 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 144 Q F0(Command names.)224 156 Q
-(May also be speci\214ed as)5 E F1<ad63>2.5 E F0(.)A F1(dir)184 168 Q
-(ectory)-.18 E F0(Directory names.)224 180 Q(May also be speci\214ed as)
-5 E F1<ad64>2.5 E F0(.)A F1(disabled)184 192 Q F0
-(Names of disabled shell b)224 204 Q(uiltins.)-.2 E F1(enabled)184 216 Q
-F0(Names of enabled shell b)6.66 E(uiltins.)-.2 E F1(export)184 228 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 240 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 252 Q F0(Names of shell functions.)224 264 Q F1(gr)
-184 276 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 288 Q F0
-(Help topics as accepted by the)224 300 Q F1(help)2.5 E F0 -.2(bu)2.5 G
-(iltin.).2 E F1(hostname)184 312 Q F0(Hostnames, as tak)224 324 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 336 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 348 S
-(yw).1 E(ord)-.1 E F0(Shell reserv)224 360 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
-372 Q F0(Names of running jobs, if job control is acti)5.54 E -.15(ve)
--.25 G(.).15 E F1(ser)184 384 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 396 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 408 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 420 Q F0
-(Signal names.)14.99 E F1(stopped)184 432 Q F0
+-.35 E/F1 10/Times-Bold@0 SF(function)184 84 Q F0
+(Names of shell functions.)224 96 Q F1(gr)184 108 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 120 Q F0(Help topics as accepted by the)224 132 Q F1
+(help)2.5 E F0 -.2(bu)2.5 G(iltin.).2 E F1(hostname)184 144 Q F0
+(Hostnames, as tak)224 156 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 168 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 180 S(yw).1 E(ord)-.1 E F0(Shell reserv)224 192 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 204 Q F0(Names of running jobs, if job control is acti)5.54
+E -.15(ve)-.25 G(.).15 E F1(ser)184 216 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 228 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 240 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 252 Q F0
+(Signal names.)14.99 E F1(stopped)184 264 Q F0
 (Names of stopped jobs, if job control is acti)6.66 E -.15(ve)-.25 G(.)
-.15 E F1(user)184 444 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 456 S
+.15 E F1(user)184 276 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 288 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 468 Q/F3
-10/Times-Italic@0 SF(globpat)2.5 E F0 1.41(The \214lename e)184 480 R
+(also be speci\214ed as)2.5 E F1<ad76>2.5 E F0(.)A F1<ad47>144 300 Q/F3
+10/Times-Italic@0 SF(globpat)2.5 E F0 1.411(The \214lename e)184 312 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 492 Q
-F1<ad57>144 504 Q F3(wor)2.5 E(dlist)-.37 E F0(The)184 516 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 528 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 540 Q(ord being completed.)
--.1 E F1<ad43>144 552 Q F3(command)2.5 E(command)184 564 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 324 Q
+F1<ad57>144 336 Q F3(wor)2.5 E(dlist)-.37 E F0(The)184 348 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 360 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 372 Q(ord being completed.)-.1 E
+F1<ad43>144 384 Q F3(command)2.5 E(command)184 396 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 576 Q F1<ad46>144 588 Q F3(function)2.5 E F0 1.18
-(The shell function)184 600 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 612 R -.15(ve)-.25 G
+184 408 Q F1<ad46>144 420 Q F3(function)2.5 E F0 1.181
+(The shell function)184 432 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 444 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 624 S(riable.)
-.25 E F1<ad58>144 636 Q F3(\214lterpat)2.5 E(\214lterpat)184 648 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 456 S(riable.)
+.25 E F1<ad58>144 468 Q F3(\214lterpat)2.5 E(\214lterpat)184 480 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 660 R 1.596
-(guments, and each completion)-.18 F(matching)184 672 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 684 Q 2.5(yc)-.15 G
+(completions generated by the preceding options and ar)184 492 R 1.596
+(guments, and each completion)-.18 F(matching)184 504 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 516 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 696 Q F3(pr)2.5 E(e\214x)-.37 E(pr)
-184 708 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 528 Q F3(pr)2.5 E(e\214x)-.37 E(pr)
+184 540 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 720 Q(GNU Bash-4.0)72 768 Q(2008 May 25)
-147.345 E(49)197.335 E 0 Cg EP
-%%Page: 50 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/F1 10/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
+-.15(ve)-.2 G(been applied.)184 552 Q F1<ad53>144 564 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 100.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 112.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 124.8 Q F0
+E .3 -.15(ve b)-.2 H(een applied.).15 E .467(The return v)144 580.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 592.8 R F3(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 F3(name)144 604.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(compopt)108 141.6 Q F0([)2.5 E F1<ad6f>A F2(option)2.5 E F0 2.5(][)C
-F1(+o)-2.5 E F2(option)2.5 E F0 2.5(][)C F2(name)-2.5 E F0(])A .447
-(Modify completion options for each)144 153.6 R F2(name)2.947 E F0 .447
-(according to the)2.947 F F2(option)2.947 E F0 .447
-(s, or for the currently-e)B -.15(xe)-.15 G(cution).15 E .726
-(completion if no)144 165.6 R F2(name)3.226 E F0 3.226(sa)C .726
-(re supplied.)-3.226 F .725(If no)5.725 F F2(option)3.225 E F0 3.225(sa)
-C .725(re gi)-3.225 F -.15(ve)-.25 G .725
-(n, display the completion options for).15 F(each)144 177.6 Q F2(name)
-3.223 E F0 .723(or the current completion.)3.223 F .724(The possible v)
-5.724 F .724(alues of)-.25 F F2(option)3.224 E F0 .724(are those v)3.224
-F .724(alid for the)-.25 F F1(com-)3.224 E(plete)144 189.6 Q F0 -.2(bu)
+F1(compopt)108 621.6 Q F0([)2.5 E F1<ad6f>A F3(option)2.5 E F0 2.5(][)C
+F1(+o)-2.5 E F3(option)2.5 E F0 2.5(][)C F3(name)-2.5 E F0(])A .447
+(Modify completion options for each)144 633.6 R F3(name)2.947 E F0 .447
+(according to the)2.947 F F3(option)2.947 E F0 .447
+(s, or for the currently-e)B -.15(xe)-.15 G(cution).15 E .725
+(completion if no)144 645.6 R F3(name)3.225 E F0 3.225(sa)C .725
+(re supplied.)-3.225 F .725(If no)5.725 F F3(option)3.225 E F0 3.225(sa)
+C .725(re gi)-3.225 F -.15(ve)-.25 G .726
+(n, display the completion options for).15 F(each)144 657.6 Q F3(name)
+3.224 E F0 .724(or the current completion.)3.224 F .724(The possible v)
+5.724 F .724(alues of)-.25 F F3(option)3.224 E F0 .724(are those v)3.224
+F .723(alid for the)-.25 F F1(com-)3.223 E(plete)144 669.6 Q F0 -.2(bu)
 2.5 G(iltin described abo).2 E -.15(ve)-.15 G(.).15 E .327(The return v)
-108 206.4 R .327(alue is true unless an in)-.25 F -.25(va)-.4 G .327
+108 686.4 R .327(alue is true unless an in)-.25 F -.25(va)-.4 G .327
 (lid option is supplied, an attempt is made to modify the options for a)
-.25 F F2(name)108 218.4 Q F0(for which no completion speci\214cation e)
-2.5 E(xists, or an output error occurs.)-.15 E F1(continue)108 235.2 Q
-F0([)2.5 E F2(n)A F0(])A 1.753(Resume the ne)144 247.2 R 1.753
+.25 F F3(name)108 698.4 Q F0(for which no completion speci\214cation e)
+2.5 E(xists, or an output error occurs.)-.15 E(GNU Bash-4.0)72 768 Q
+(2008 June 29)147.345 E(50)197.335 E 0 Cg EP
+%%Page: 51 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/F1 10/Times-Bold@0 SF(continue)108 84 Q F0([)2.5 E/F2 10
+/Times-Italic@0 SF(n)A F0(])A 1.754(Resume the ne)144 96 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.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 259.2 R F2(n)3.709 E F0
+(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 108 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 .513
-(loops, the last enclosing loop \(the `)144 271.2 R(`top-le)-.74 E -.15
-(ve)-.25 G(l').15 E 3.013('l)-.74 G .513(oop\) is resumed.)-3.013 F .514
-(The return v)5.514 F .514(alue is 0 unless)-.25 F F2(n)3.014 E F0(is)
-3.014 E(not greater than or equal to 1.)144 283.2 Q F1(declar)108 300 Q
-(e)-.18 E F0([)2.5 E F1(\255afFirtx)A F0 2.5(][)C F1<ad70>-2.5 E F0 2.5
+(is greater than the number of enclosing)3.949 F .514
+(loops, the last enclosing loop \(the `)144 120 R(`top-le)-.74 E -.15
+(ve)-.25 G(l').15 E 3.014('l)-.74 G .514(oop\) is resumed.)-3.014 F .513
+(The return v)5.513 F .513(alue is 0 unless)-.25 F F2(n)3.013 E F0(is)
+3.013 E(not greater than or equal to 1.)144 132 Q F1(declar)108 148.8 Q
+(e)-.18 E F0([)2.5 E F1(\255aAfFirtx)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 312 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 324 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 336 S 3.482(riables. The).25 F F1<ad70>3.482 E F0 .982
-(option will display the attrib)3.482 F .982(utes and v)-.2 F .983
-(alues of each)-.25 F F2(name)3.483 E F0 5.983(.W).18 G(hen)-5.983 E F1
-<ad70>3.483 E F0 .983(is used)3.483 F(with)144 348 Q F2(name)3.58 E F0
-(ar)3.58 E 1.079(guments, additional options are ignored.)-.18 F(When)
-6.079 E F1<ad70>3.579 E F0 1.079(is supplied without)3.579 F F2(name)
-3.579 E F0(ar)3.579 E(gu-)-.18 E .15(ments, it will display the attrib)
-144 360 R .15(utes and v)-.2 F .151(alues of all v)-.25 F .151
-(ariables ha)-.25 F .151(ving the attrib)-.2 F .151
-(utes speci\214ed by the)-.2 F .047(additional options.)144 372 R .047
-(If no other options are supplied with)5.047 F F1<ad70>2.547 E F0(,)A F1
-(declar)2.547 E(e)-.18 E F0 .046(will display the attrib)2.546 F .046
-(utes and)-.2 F -.25(va)144 384 S 1.362(lues of all shell v).25 F 3.862
-(ariables. The)-.25 F F1<ad66>3.862 E F0 1.363
-(option will restrict the display to shell functions.)3.862 F(The)6.363
-E F1<ad46>3.863 E F0 2.422(option inhibits the display of function de\
-\214nitions; only the function name and attrib)144 396 R 2.422(utes are)
--.2 F 2.663(printed. If)144 408 R(the)2.663 E F1(extdeb)2.663 E(ug)-.2 E
-F0 .164(shell option is enabled using)2.663 F F1(shopt)2.664 E F0 2.664
-(,t)C .164(he source \214le name and line number)-2.664 F 1.382
-(where the function is de\214ned are displayed as well.)144 420 R(The)
-6.382 E F1<ad46>3.882 E F0 1.382(option implies)3.882 F F1<ad66>3.882 E
-F0 6.382(.T)C 1.382(he follo)-6.382 F(wing)-.25 E .793
-(options can be used to restrict output to v)144 432 R .794
-(ariables with the speci\214ed attrib)-.25 F .794(ute or to gi)-.2 F
-1.094 -.15(ve v)-.25 H(ariables)-.1 E(attrib)144 444 Q(utes:)-.2 E F1
-<ad61>144 456 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 468 Q F0(Use function names only)26.97 E(.)-.65 E F1
-<ad69>144 480 Q F0 .558(The v)27.52 F .558
+(typeset)108 160.8 Q F0([)2.5 E F1(\255aAfFirtx)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 172.8 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 184.8 S 3.483(riables. The).25 F F1<ad70>3.483 E F0 .983
+(option will display the attrib)3.483 F .983(utes and v)-.2 F .982
+(alues of each)-.25 F F2(name)3.482 E F0 5.982(.W).18 G(hen)-5.982 E F1
+<ad70>3.482 E F0 .982(is used)3.482 F(with)144 196.8 Q F2(name)3.579 E
+F0(ar)3.579 E 1.079(guments, additional options are ignored.)-.18 F
+(When)6.079 E F1<ad70>3.579 E F0 1.079(is supplied without)3.579 F F2
+(name)3.58 E F0(ar)3.58 E(gu-)-.18 E .151
+(ments, it will display the attrib)144 208.8 R .151(utes and v)-.2 F
+.151(alues of all v)-.25 F .15(ariables ha)-.25 F .15(ving the attrib)
+-.2 F .15(utes speci\214ed by the)-.2 F .046(additional options.)144
+220.8 R .046(If no other options are supplied with)5.046 F F1<ad70>2.547
+E F0(,)A F1(declar)2.547 E(e)-.18 E F0 .047(will display the attrib)
+2.547 F .047(utes and)-.2 F -.25(va)144 232.8 S 1.363
+(lues of all shell v).25 F 3.863(ariables. The)-.25 F F1<ad66>3.863 E F0
+1.362(option will restrict the display to shell functions.)3.863 F(The)
+6.362 E F1<ad46>3.862 E F0 2.422(option inhibits the display of functio\
+n de\214nitions; only the function name and attrib)144 244.8 R 2.423
+(utes are)-.2 F 2.664(printed. If)144 256.8 R(the)2.664 E F1(extdeb)
+2.664 E(ug)-.2 E F0 .164(shell option is enabled using)2.664 F F1(shopt)
+2.664 E F0 2.664(,t)C .163(he source \214le name and line number)-2.664
+F 1.382(where the function is de\214ned are displayed as well.)144 268.8
+R(The)6.382 E F1<ad46>3.882 E F0 1.382(option implies)3.882 F F1<ad66>
+3.882 E F0 6.382(.T)C 1.382(he follo)-6.382 F(wing)-.25 E .794
+(options can be used to restrict output to v)144 280.8 R .794
+(ariables with the speci\214ed attrib)-.25 F .793(ute or to gi)-.2 F
+1.093 -.15(ve v)-.25 H(ariables)-.1 E(attrib)144 292.8 Q(utes:)-.2 E F1
+<ad61>144 304.8 Q F0(Each)25.3 E F2(name)2.5 E F0(is an inde)2.5 E -.15
+(xe)-.15 G 2.5(da).15 G(rray 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<ad41>144 316.8 Q F0(Each)
+23.08 E F2(name)2.5 E F0(is an associati)2.5 E .3 -.15(ve a)-.25 H
+(rray v).15 E(ariable \(see)-.25 E F1(Arrays)2.5 E F0(abo)2.5 E -.15(ve)
+-.15 G(\).).15 E F1<ad66>144 328.8 Q F0(Use function names only)26.97 E
+(.)-.65 E F1<ad69>144 340.8 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 492 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 352.8 Q F0
 (is performed when the v)2.25 E(ariable is assigned a v)-.25 E(alue.)
--.25 E F1<ad72>144 504 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 516 Q F1
-<ad74>144 528 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 540 Q(The trace attrib)5 E(ute has no special meaning for v)-.2 E
-(ariables.)-.25 E F1<ad78>144 552 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 .12(Using `+' instead of `\255' turns of)144 568.8 R
-2.62(ft)-.25 G .12(he attrib)-2.62 F .121(ute instead, with the e)-.2 F
-.121(xceptions that)-.15 F F1(+a)2.621 E F0 .121(may not be used)2.621 F
-1.237(to destro)144 580.8 R 3.737(ya)-.1 G 3.737(na)-3.737 G 1.237
-(rray v)-3.737 F 1.237(ariable and)-.25 F F1 1.237(+r will not r)3.737 F
-(emo)-.18 E 1.437 -.1(ve t)-.1 H 1.237(he r).1 F 1.237(eadonly attrib)
--.18 F 3.737(ute. When)-.2 F 1.236(used in a)3.737 F .311(function, mak)
-144 592.8 R .311(es each)-.1 F F2(name)2.811 E F1 .311
-(local, as with the local)2.811 F F0 2.811(command. If)2.811 F 2.811(av)
-2.811 G .312(ariable name is follo)-3.061 F .312(wed by)-.25 F(=)144
-604.8 Q F2(value)A F0 3.239(,t)C .739(he v)-3.239 F .739(alue of the v)
--.25 F .739(ariable is set to)-.25 F F2(value)3.238 E F0 5.738(.T)C .738
-(he return v)-5.738 F .738(alue is 0 unless an in)-.25 F -.25(va)-.4 G
-.738(lid option is).25 F .603
-(encountered, an attempt is made to de\214ne a function using)144 616.8
+-.25 E F1<ad72>144 364.8 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 376.8 Q
+F1<ad74>144 388.8 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 400.8 Q(The trace attrib)5 E
+(ute has no special meaning for v)-.2 E(ariables.)-.25 E F1<ad78>144
+412.8 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 .121
+(Using `+' instead of `\255' turns of)144 429.6 R 2.621(ft)-.25 G .121
+(he attrib)-2.621 F .121(ute instead, with the e)-.2 F .12
+(xceptions that)-.15 F F1(+a)2.62 E F0 .12(may not be used)2.62 F 1.236
+(to destro)144 441.6 R 3.736(ya)-.1 G 3.737(na)-3.736 G 1.237(rray v)
+-3.737 F 1.237(ariable and)-.25 F F1 1.237(+r will not r)3.737 F(emo)
+-.18 E 1.437 -.1(ve t)-.1 H 1.237(he r).1 F 1.237(eadonly attrib)-.18 F
+3.737(ute. When)-.2 F 1.237(used in a)3.737 F .312(function, mak)144
+453.6 R .312(es each)-.1 F F2(name)2.812 E F1 .311
+(local, as with the local)2.812 F F0 2.811(command. If)2.811 F 2.811(av)
+2.811 G .311(ariable name is follo)-3.061 F .311(wed by)-.25 F(=)144
+465.6 Q F2(value)A F0 3.238(,t)C .738(he v)-3.238 F .738(alue of the v)
+-.25 F .738(ariable is set to)-.25 F F2(value)3.238 E F0 5.738(.T)C .738
+(he return v)-5.738 F .739(alue is 0 unless an in)-.25 F -.25(va)-.4 G
+.739(lid option is).25 F .603
+(encountered, an attempt is made to de\214ne a function using)144 477.6
 R/F5 10/Courier@0 SF .603(\255f foo=bar)3.103 F F0 3.103(,a)C 3.103(na)
--3.103 G .604(ttempt is made to)-3.103 F 1.243(assign a v)144 628.8 R
-1.243(alue to a readonly v)-.25 F 1.242
-(ariable, an attempt is made to assign a v)-.25 F 1.242
+-3.103 G .603(ttempt is made to)-3.103 F 1.242(assign a v)144 489.6 R
+1.242(alue to a readonly v)-.25 F 1.242
+(ariable, an attempt is made to assign a v)-.25 F 1.243
 (alue to an array v)-.25 F(ariable)-.25 E 1.386
-(without using the compound assignment syntax \(see)144 640.8 R F1
+(without using the compound assignment syntax \(see)144 501.6 R F1
 (Arrays)3.886 E F0(abo)3.886 E -.15(ve)-.15 G 1.386(\), one of the).15 F
-F2(names)3.886 E F0 1.386(is not a)3.886 F -.25(va)144 652.8 S .172
+F2(names)3.886 E F0 1.386(is not a)3.886 F -.25(va)144 513.6 S .171
 (lid shell v).25 F .171(ariable name, an attempt is made to turn of)-.25
-F 2.671(fr)-.25 G .171(eadonly status for a readonly v)-2.671 F .171
-(ariable, an)-.25 F .96(attempt is made to turn of)144 664.8 R 3.46(fa)
+F 2.671(fr)-.25 G .171(eadonly status for a readonly v)-2.671 F .172
+(ariable, an)-.25 F .96(attempt is made to turn of)144 525.6 R 3.46(fa)
 -.25 G .96(rray status for an array v)-3.46 F .96
-(ariable, or an attempt is made to display a)-.25 F(non-e)144 676.8 Q
-(xistent function with)-.15 E F1<ad66>2.5 E F0(.)A F1(dirs [+)108 693.6
+(ariable, or an attempt is made to display a)-.25 F(non-e)144 537.6 Q
+(xistent function with)-.15 E F1<ad66>2.5 E F0(.)A F1(dirs [+)108 554.4
 Q F2(n)A F1 2.5(][)C<ad>-2.5 E F2(n)A F1 2.5(][)C(\255cplv])-2.5 E F0
--.4(Wi)144 705.6 S .329
+-.4(Wi)144 566.4 S .328
 (thout options, displays the list of currently remembered directories.)
-.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 717.6 R 1.238
-(Directories are added to the list with the)6.238 F F1(pushd)144 729.6 Q
+.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 578.4 R 1.238
+(Directories are added to the list with the)6.238 F F1(pushd)144 590.4 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(GNU Bash-4.0)72 768 Q
-(2008 May 25)147.345 E(50)197.335 E 0 Cg EP
-%%Page: 51 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/F1 10/Times-Bold@0 SF(+)144 84 Q/F2 10/Times-Italic@0 SF(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 96 Q F1<ad>144 108 Q F2(n)A F0
-1.194(Displays the)25.3 F F2(n)3.694 E F0 1.194
+2.5(se).15 G(ntries from the list.)-2.5 E F1(+)144 602.4 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 614.4 Q F1<ad>144 626.4 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
 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 120 Q F1<ad63>144 132 Q F0
+(without options, starting with zero.)180 638.4 Q F1<ad63>144 650.4 Q F0
 (Clears the directory stack by deleting all of the entries.)25.86 E F1
-<ad6c>144 144 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 156 Q(.)-.65 E F1<ad70>144 168 Q F0
+<ad6c>144 662.4 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 674.4 Q(.)-.65 E F1<ad70>144 686.4 Q F0
 (Print the directory stack with one entry per line.)24.74 E F1<ad76>144
-180 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 192 Q .258(The return v)144 208.8 R .258
-(alue is 0 unless an in)-.25 F -.25(va)-.4 G .258
-(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 220.8 Q F1(diso)108 237.6 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 249.6 S .295(thout options, each).4 F F2(jobspec)
-4.535 E F0 .295(is remo)3.105 F -.15(ve)-.15 G 2.795(df).15 G .295
-(rom the table of acti)-2.795 F .595 -.15(ve j)-.25 H 2.795(obs. If).15
-F F2(jobspec)4.535 E F0 .295(is not present,)3.105 F .244(and neither)
-144 261.6 R F1 .243(\255a nor \255r is supplied, the shell')2.744 F
-2.743(sn)-.37 G .243(otion of the)-2.743 F F2(curr)2.743 E .243(ent job)
--.37 F F1 .243(is used.)2.743 F .243(If the \255h option)5.243 F .333
-(is gi)144 273.6 R -.1(ve)-.1 G .333(n, each).1 F F2(jobspec)4.574 E F0
-.334(is not remo)3.144 F -.15(ve)-.15 G 2.834(df).15 G .334
-(rom the table, b)-2.834 F .334(ut is mark)-.2 F .334(ed so that)-.1 F
-/F3 9/Times-Bold@0 SF(SIGHUP)2.834 E F0 .334(is not sent to)2.584 F 1.19
-(the job if the shell recei)144 285.6 R -.15(ve)-.25 G 3.689(sa).15 G F3
-(SIGHUP)A/F4 9/Times-Roman@0 SF(.)A F0 1.189(If no)5.689 F F2(jobspec)
-5.429 E F0 1.189(is present, and neither the)3.999 F F1<ad61>3.689 E F0
-1.189(nor the)3.689 F F1<ad72>3.689 E F0 1.569(option is supplied, the)
-144 297.6 R F2(curr)4.069 E 1.569(ent job)-.37 F F0 1.569(is used.)4.069
-F 1.569(If no)6.569 F F2(jobspec)5.809 E F0 1.57(is supplied, the)4.38 F
-F1<ad61>4.07 E F0 1.57(option means to)4.07 F(remo)144 309.6 Q .904 -.15
-(ve o)-.15 H 3.104(rm).15 G .604(ark all jobs; the)-3.104 F F1<ad72>
-3.103 E F0 .603(option without a)3.103 F F2(jobspec)4.843 E F0(ar)3.413
-E .603(gument restricts operation to running)-.18 F 2.5(jobs. The)144
-321.6 R(return v)2.5 E(alue 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 338.4 Q
+698.4 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 710.4 Q 1.706(The return v)144 727.2 R 1.706
+(alue is 0 unless an in)-.25 F -.25(va)-.4 G 1.707
+(lid option is supplied or).25 F F2(n)4.207 E F0(inde)4.207 E -.15(xe)
+-.15 G 4.207(sb).15 G -.15(ey)-4.207 G 1.707(ond the end of the).15 F
+(GNU Bash-4.0)72 768 Q(2008 June 29)147.345 E(51)197.335 E 0 Cg EP
+%%Page: 52 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(directory stack.)144 84 Q/F1 10/Times-Bold@0 SF(diso)108 100.8 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 112.8 S
+.295(thout options, each).4 F F2(jobspec)4.535 E F0 .295(is remo)3.105 F
+-.15(ve)-.15 G 2.795(df).15 G .295(rom the table of acti)-2.795 F .595
+-.15(ve j)-.25 H 2.795(obs. If).15 F F2(jobspec)4.535 E F0 .295
+(is not present,)3.105 F .243(and neither)144 124.8 R F1 .243
+(\255a nor \255r is supplied, the shell')2.743 F 2.743(sn)-.37 G .243
+(otion of the)-2.743 F F2(curr)2.743 E .243(ent job)-.37 F F1 .243
+(is used.)2.743 F .244(If the \255h option)5.243 F .334(is gi)144 136.8
+R -.1(ve)-.1 G .334(n, each).1 F F2(jobspec)4.574 E F0 .334(is not remo)
+3.144 F -.15(ve)-.15 G 2.834(df).15 G .334(rom the table, b)-2.834 F
+.334(ut is mark)-.2 F .334(ed so that)-.1 F/F3 9/Times-Bold@0 SF(SIGHUP)
+2.834 E F0 .333(is not sent to)2.584 F 1.189(the job if the shell recei)
+144 148.8 R -.15(ve)-.25 G 3.689(sa).15 G F3(SIGHUP)A/F4 9/Times-Roman@0
+SF(.)A F0 1.189(If no)5.689 F F2(jobspec)5.429 E F0 1.189
+(is present, and neither the)3.999 F F1<ad61>3.689 E F0 1.19(nor the)
+3.69 F F1<ad72>3.69 E F0 1.57(option is supplied, the)144 160.8 R F2
+(curr)4.07 E 1.57(ent job)-.37 F F0 1.57(is used.)4.07 F 1.569(If no)
+6.569 F F2(jobspec)5.809 E F0 1.569(is supplied, the)4.379 F F1<ad61>
+4.069 E F0 1.569(option means to)4.069 F(remo)144 172.8 Q .903 -.15
+(ve o)-.15 H 3.103(rm).15 G .603(ark all jobs; the)-3.103 F F1<ad72>
+3.103 E F0 .603(option without a)3.103 F F2(jobspec)4.843 E F0(ar)3.414
+E .604(gument restricts operation to running)-.18 F 2.5(jobs. The)144
+184.8 R(return v)2.5 E(alue 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 201.6 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 350.4 R F2(ar)2.894 E(g)-.37 E F0 .394
+.395(Output the)144 213.6 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 F1<ad6e>2.895 E F0 .549
-(is speci\214ed, the trailing ne)144 362.4 R .548(wline is suppressed.)
+(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 225.6 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 374.4 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 386.4 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 F1(xpg_echo)4.002
-E F0(shell)4.002 E .009
-(option may be used to dynamically determine whether or not)144 398.4 R
-F1(echo)2.509 E F0 -.15(ex)2.51 G .01(pands these escape characters).15
-F .66(by def)144 410.4 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 422.4 Q
-F1(\\a)144 434.4 Q F0(alert \(bell\))28.22 E F1(\\b)144 446.4 Q F0
-(backspace)27.66 E F1(\\c)144 458.4 Q F0(suppress trailing ne)28.78 E
-(wline)-.25 E F1(\\e)144 470.4 Q F0(an escape character)28.78 E F1(\\f)
-144 482.4 Q F0(form feed)29.89 E F1(\\n)144 494.4 Q F0(ne)27.66 E 2.5
-(wl)-.25 G(ine)-2.5 E F1(\\r)144 506.4 Q F0(carriage return)28.78 E F1
-(\\t)144 518.4 Q F0(horizontal tab)29.89 E F1(\\v)144 530.4 Q F0 -.15
-(ve)28.22 G(rtical tab).15 E F1(\\\\)144 542.4 Q F0(backslash)30.44 E F1
-(\\0)144 554.4 Q F2(nnn)A F0(the eight-bit character whose v)13.22 E
+-.15(ve)-.25 G .548(n, interpretation of the fol-).15 F(lo)144 237.6 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 249.6 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 261.6 R
+F1(echo)2.509 E F0 -.15(ex)2.509 G .009(pands these escape characters)
+.15 F .659(by def)144 273.6 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 285.6 Q
+F1(\\a)144 297.6 Q F0(alert \(bell\))28.22 E F1(\\b)144 309.6 Q F0
+(backspace)27.66 E F1(\\c)144 321.6 Q F0(suppress trailing ne)28.78 E
+(wline)-.25 E F1(\\e)144 333.6 Q F0(an escape character)28.78 E F1(\\f)
+144 345.6 Q F0(form feed)29.89 E F1(\\n)144 357.6 Q F0(ne)27.66 E 2.5
+(wl)-.25 G(ine)-2.5 E F1(\\r)144 369.6 Q F0(carriage return)28.78 E F1
+(\\t)144 381.6 Q F0(horizontal tab)29.89 E F1(\\v)144 393.6 Q F0 -.15
+(ve)28.22 G(rtical tab).15 E F1(\\\\)144 405.6 Q F0(backslash)30.44 E F1
+(\\0)144 417.6 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(\\x)144 566.4 Q F2(HH)A F0
+(\(zero to three octal digits\))2.5 E F1(\\x)144 429.6 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 583.2 Q F0([)2.5 E
+-.1 G .3 -.15(ex d)-2.5 H(igits\)).15 E F1(enable)108 446.4 Q F0([)2.5 E
 F1<ad61>A F0 2.5(][)C F1(\255dnps)-2.5 E 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 595.2 R .278(uiltin shell commands.)-.2 F .278
+(\214lename)2.5 E F0 2.5(][)C F2(name)-2.5 E F0(...])2.5 E .278
+(Enable and disable b)144 458.4 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
-607.2 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
-619.2 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 631.2 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.081 G(TH)-.189 E F0 .08
-(instead of the shell b)144 643.2 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 F1<ad66>2.581 E F0 .081(option means to load the ne)2.581 F(w)
--.25 E -.2(bu)144 655.2 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 667.2 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 679.2 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 691.2 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 703.2 R 1.916
-(uiltins, with an indication of whether or not each is)-.2 F 2.878
-(enabled. If)144 715.2 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 727.2 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(GNU Bash-4.0)72
-768 Q(2008 May 25)147.345 E(51)197.335 E 0 Cg EP
-%%Page: 52 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(object.)144 84 Q/F1 10/Times-Bold@0 SF -2.3 -.15(ev a)108 100.8 T
-(l).15 E F0([)2.5 E/F2 10/Times-Italic@0 SF(ar)A(g)-.37 E F0(...])2.5 E
-(The)144 112.8 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 124.8 R -.15(xe)-.15 G
-.495(cuted by the shell, and its e).15 F .495
+(ws a disk command which has)-.25 F .833(the same name as a shell b)144
+470.4 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 482.4
+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 494.4 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 506.4 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 518.4 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 530.4 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 542.4 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
+554.4 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 566.4 R 1.916
+(uiltins, with an indication of whether or not each is)-.2 F 2.879
+(enabled. If)144 578.4 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 590.4 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
+602.4 Q F1 -2.3 -.15(ev a)108 619.2 T(l).15 E F0([)2.5 E F2(ar)A(g)-.37
+E F0(...])2.5 E(The)144 631.2 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 643.2 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 136.8 Q
+-2.995 F F2(ar)2.995 E(gs)-.37 E F0(,).27 E(or only null ar)144 655.2 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 153.6 Q F0([)2.5 E F1(\255cl)A F0 2.5(][)C F1<ad61>-2.5 E F2
+(exec)108 672 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 165.6 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 177.6 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 .499(the zeroth ar)144 189.6 R .499(gument passed to)
--.18 F F2(command)2.999 E F0 5.499(.T).77 G .499(his is what)-5.499 F F2
-(lo)2.999 E(gin)-.1 E F0 .499(\(1\) does.).24 F(The)5.5 E F1<ad63>3 E F0
-.5(option causes)3 F F2(com-)3.2 E(mand)144 201.6 Q F0 .639(to be e)
-3.909 F -.15(xe)-.15 G .638(cuted with an empty en).15 F 3.138
+-.37 E F0(]])A(If)144 684 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 696 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 .5(the zeroth ar)144 708 R .5(gument passed to)-.18 F
+F2(command)3 E F0 5.499(.T).77 G .499(his is what)-5.499 F F2(lo)2.999 E
+(gin)-.1 E F0 .499(\(1\) does.).24 F(The)5.499 E F1<ad63>2.999 E F0 .499
+(option causes)2.999 F F2(com-)3.199 E(mand)144 720 Q F0 .638(to be e)
+3.908 F -.15(xe)-.15 G .638(cuted with an empty en).15 F 3.138
 (vironment. If)-.4 F F1<ad61>3.138 E F0 .638
-(is supplied, the shell passes)3.138 F F2(name)3.498 E F0 .638(as the)
-3.318 F 1.077(zeroth ar)144 213.6 R 1.077(gument to the e)-.18 F -.15
-(xe)-.15 G 1.077(cuted command.).15 F(If)6.077 E F2(command)3.777 E F0
-1.077(cannot be e)4.347 F -.15(xe)-.15 G 1.077(cuted for some reason, a)
-.15 F(non-interacti)144 225.6 Q .618 -.15(ve s)-.25 H .318(hell e).15 F
-.318(xits, unless the shell option)-.15 F F1(execfail)2.817 E F0 .317
+(is supplied, the shell passes)3.138 F F2(name)3.499 E F0 .639(as the)
+3.319 F(GNU Bash-4.0)72 768 Q(2008 June 29)147.345 E(52)197.335 E 0 Cg
+EP
+%%Page: 53 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 1.078(zeroth ar)144 84 R 1.077(gument to the e)-.18 F -.15(xe)
+-.15 G 1.077(cuted command.).15 F(If)6.077 E/F1 10/Times-Italic@0 SF
+(command)3.777 E F0 1.077(cannot be e)4.347 F -.15(xe)-.15 G 1.077
+(cuted for some reason, a).15 F(non-interacti)144 96 Q .617 -.15(ve s)
+-.25 H .317(hell e).15 F .317(xits, unless the shell option)-.15 F/F2 10
+/Times-Bold@0 SF(execfail)2.817 E F0 .318
 (is enabled, in which case it returns f)2.817 F(ail-)-.1 E 2.505
-(ure. An)144 237.6 R(interacti)2.505 E .305 -.15(ve s)-.25 H .005
+(ure. An)144 108 R(interacti)2.505 E .305 -.15(ve s)-.25 H .005
 (hell returns f).15 F .005(ailure if the \214le cannot be e)-.1 F -.15
-(xe)-.15 G 2.505(cuted. If).15 F F2(command)2.705 E F0 .005
-(is not speci\214ed,)3.275 F(an)144 249.6 Q 3.037(yr)-.15 G .537
-(edirections tak)-3.037 F 3.036(ee)-.1 G -.25(ff)-3.036 G .536
+(xe)-.15 G 2.505(cuted. If).15 F F1(command)2.705 E F0 .005
+(is not speci\214ed,)3.275 F(an)144 120 Q 3.036(yr)-.15 G .536
+(edirections tak)-3.036 F 3.036(ee)-.1 G -.25(ff)-3.036 G .536
 (ect in the current shell, and the return status is 0.).25 F .536
-(If there is a redirection)5.536 F(error)144 261.6 Q 2.5(,t)-.4 G
-(he return status is 1.)-2.5 E F1(exit)108 278.4 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 290.4 S 2.5(cuted. A).15 F(trap on)2.5 E/F3 9
+(If there is a redirection)5.536 F(error)144 132 Q 2.5(,t)-.4 G
+(he return status is 1.)-2.5 E F2(exit)108 148.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 160.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 F1(export)108 307.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 319.2 Q F0 .257(The supplied)144 331.2 R
-F2(names)3.117 E F0 .257(are mark)3.027 F .257(ed for automatic e)-.1 F
+(cuted before the shell terminates.).15 E F2(export)108 177.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 189.6 Q F0 .256(The supplied)144 201.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.626(commands. If)144 343.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 355.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 367.2 R 1.586
+(xe)-.15 G(cuted).15 E 2.627(commands. If)144 213.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 225.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 237.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 379.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
-(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 391.2 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 249.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 261.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
-403.2 Q F0(that is not a function.)2.68 E F1(fc)108 420 Q F0([)2.5 E F1
-<ad65>A F2(ename)2.5 E F0 2.5(][)C F1(\255lnr)-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
-432 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 444 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 456 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
+273.6 Q F0(that is not a function.)2.68 E F2(fc)108 290.4 Q F0([)2.5 E
+F2<ad65>A F1(ename)2.5 E F0 2.5(][)C F2(\255lnr)-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
+302.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 314.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 326.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
-468 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 480 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 492 R/F4 10/Courier@0 SF .092
+.881(ginning with)-.15 F .797(that string\) or as a number \(an inde)144
+338.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 350.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 362.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 504 Q
-(vious command for editing and \25516 for listing.)-.25 E(The)144 528 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 374.4 Q
+(vious command for editing and \25516 for listing.)-.25 E(The)144 398.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 540 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 410.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 552 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 564 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 576 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 588 S(cuted.).15 E .04(In the second form,)144 612 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 624 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 636 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 660 R .142
+.335(the editor gi)144 422.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.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 434.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 .951(ther v)144 446.4 R .951
+(ariable is set,)-.25 F F1(vi)5.117 E F0 .951(is used.)5.117 F .95
+(When editing is complete, the edited commands are echoed and)5.951 F
+-.15(exe)144 458.4 S(cuted.).15 E .039(In the second form,)144 482.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 494.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 506.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 530.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 672 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 684 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 542.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 554.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
-696 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 708 Q
-(alid history line, in which case)-.25 E F1(fc)2.5 E F0(returns f)2.5 E
-(ailure.)-.1 E(GNU Bash-4.0)72 768 Q(2008 May 25)147.345 E(52)197.335 E
-0 Cg EP
-%%Page: 53 53
+566.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 578.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 595.2 Q F0([)2.5 E F1(jobspec)A F0(])A(Resume)
+144 607.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 F1(jobspec)5.653 E F0
+1.414(is not present, the)4.223 F(shell')144 619.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 631.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 643.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 F2(getopts)108 660 Q F1
+(optstring name)2.5 E F0([)2.5 E F1(ar)A(gs)-.37 E F0(])A F2(getopts)144
+672 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 684 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 696 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 708 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 720 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(GNU Bash-4.0)72 768 Q(2008 June 29)147.345
+E(53)197.335 E 0 Cg EP
+%%Page: 54 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/F1 10/Times-Bold@0 SF(fg)108 84 Q F0([)2.5 E/F2 10/Times-Italic@0
-SF(jobspec)A F0(])A(Resume)144 96 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 F2
-(jobspec)5.653 E F0 1.413(is not present, the)4.223 F(shell')144 108 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 120 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 132 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 F1(getopts)108 148.8
-Q F2(optstring name)2.5 E F0([)2.5 E F2(ar)A(gs)-.37 E F0(])A F1
-(getopts)144 160.8 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 172.8 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 184.8 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 196.8 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 208.8 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 220.8 Q .085
-(gument to be processed into the v)-.18 F(ariable)-.25 E/F3 9
-/Times-Bold@0 SF(OPTIND)2.585 E/F4 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 232.8 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 244.8 R(ariable)-.25 E F3(OPT)3.303 E(ARG)-.81 E F4(.)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 256.8 R F1(getopts)2.793 E F0 .293
+-.35 E(ar)144 84 Q .085(gument to be processed into the v)-.18 F
+(ariable)-.25 E/F1 9/Times-Bold@0 SF(OPTIND)2.585 E/F2 9/Times-Roman@0
+SF(.)A F1(OPTIND)4.585 E F0 .085
+(is initialized to 1 each time the shell)2.335 F .845
+(or a shell script is in)144 96 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 10
+/Times-Bold@0 SF(getopts)3.346 E F0 .846(places that ar)3.346 F(gument)
+-.18 E .804(into the v)144 108 R(ariable)-.25 E F1(OPT)3.304 E(ARG)-.81
+E F2(.)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 120 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 268.8
-Q 2.043(When the end of options is encountered,)144 292.8 R F1(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 304.8 Q F0
+2.793(ws)-.25 G .294(et of parameters)-2.793 F(is to be used.)144 132 Q
+2.044(When the end of options is encountered,)144 156 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 168 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 328.8 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(ar)4.892 E(gs)-.37 E F0(,).27 E F1(getopts)144
-340.8 Q F0(parses those instead.)2.5 E F1(getopts)144 364.8 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 376.8 R 1.263
+(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 192 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 204 Q F0(parses those instead.)2.5 E F3(getopts)144
+228 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 240 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
-388.8 R .393(guments are encountered.)-.18 F .394(If the v)5.394 F
-(ariable)-.25 E F3(OPTERR)2.894 E F0 .394
-(is set to 0, no error messages)2.644 F(will be displayed, e)144 400.8 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 424.8 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
-436.8 R F3(OPT)2.899 E(ARG)-.81 E F4(.)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 448.8 Q 1.242(If a required ar)144
-472.8 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 484.8
-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 496.8 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 520.8 Q F0 .902
+-.25(va)-.4 G 1.263(lid options or).25 F .394(missing option ar)144 252
+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 264 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 288 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 300 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
+312 Q 1.241(If a required ar)144 336 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 348 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 360 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 384 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 532.8 Q F1(hash)108
-549.6 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 561.6 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 determined by sea\
-rching the directories in)-3.554 F F1($P)144 573.6 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 585.6 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 597.6 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 609.6 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 621.6 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 633.6 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 645.6 R -.15(ve)-.25 G 1.184(n, or if only).15 F
-F1<ad6c>3.684 E F0 1.183
+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 396 Q F3(hash)108 412.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 424.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.555 F F3($P)144 436.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 448.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 460.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 472.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 484.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 496.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 508.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 657.6 Q F2(name)2.86 E F0
+(The return status is true unless a)144 520.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 674.4 Q F0([)2.5 E F1(\255dms)A F0 2.5(][)C F2(pattern)
--2.5 E F0(])A .866(Display helpful information about b)144 686.4 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
-698.4 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(tures is printed.)144 710.4 Q
-(GNU Bash-4.0)72 768 Q(2008 May 25)147.345 E(53)197.335 E 0 Cg EP
-%%Page: 54 54
+E F3(help)108 537.6 Q F0([)2.5 E F3(\255dms)A F0 2.5(][)C F4(pattern)
+-2.5 E F0(])A .867(Display helpful information about b)144 549.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
+561.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(tures is printed.)144 573.6 Q F3
+<ad64>144 585.6 Q F0(Display a short description of each)24.74 E F4
+(pattern)2.5 E F3(-m)146.5 597.6 Q F0(Display the description of each)
+21.84 E F4(pattern)2.5 E F0(in a manpage-lik)2.5 E 2.5(ef)-.1 G(ormat)
+-2.5 E F3<ad73>144 609.6 Q F0
+(Display only a short usage synopsis for each)26.41 E F4(pattern)2.5 E
+F0(The return status is 0 unless no command matches)108 621.6 Q F4
+(pattern)2.5 E F0(.).24 E F3(history [)108 638.4 Q F4(n)A F3(])A
+(history \255c)108 650.4 Q(history \255d)108 662.4 Q F4(of)2.5 E(fset)
+-.18 E F3(history \255anrw)108 674.4 Q F0([)2.5 E F4(\214lename)A F0(])A
+F3(history \255p)108 686.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 698.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
+710.4 S .752
+(th no options, display the command history list with line numbers.).4 F
+.752(Lines listed with a)5.752 F F3(*)3.251 E F0(ha)3.251 E -.15(ve)-.2
+G 5.072(been modi\214ed.)144 722.4 R 5.072(An ar)10.072 F 5.072
+(gument of)-.18 F F4(n)7.932 E F0 5.073(lists only the last)7.813 F F4
+(n)7.933 E F0 7.573(lines. If)7.813 F 5.073(the shell v)7.573 F(ariable)
+-.25 E(GNU Bash-4.0)72 768 Q(2008 June 29)147.345 E(54)197.335 E 0 Cg EP
+%%Page: 55 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<ad64>144 84 Q F0
-(Display a short description of each)24.74 E/F2 10/Times-Italic@0 SF
-(pattern)2.5 E F1(-m)146.5 96 Q F0(Display the description of each)21.84
-E F2(pattern)2.5 E F0(in a manpage-lik)2.5 E 2.5(ef)-.1 G(ormat)-2.5 E
-F1<ad73>144 108 Q F0(Display only a short usage synopsis for each)26.41
-E F2(pattern)2.5 E F0(The return status is 0 unless no command matches)
-108 120 Q F2(pattern)2.5 E F0(.).24 E F1(history [)108 136.8 Q F2(n)A F1
-(])A(history \255c)108 148.8 Q(history \255d)108 160.8 Q F2(of)2.5 E
-(fset)-.18 E F1(history \255anrw)108 172.8 Q F0([)2.5 E F2(\214lename)A
-F0(])A F1(history \255p)108 184.8 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 196.8 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 208.8 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.252 E F0(ha)3.252 E -.15(ve)-.2
-G 1.231(been modi\214ed.)144 220.8 R 1.231(An ar)6.231 F 1.231
-(gument of)-.18 F F2(n)4.091 E F0 1.231(lists only the last)3.971 F F2
-(n)4.091 E F0 3.73(lines. If)3.97 F 1.23(the shell v)3.73 F(ariable)-.25
-E F1(HISTTIME-)3.73 E(FORMA)144 232.8 Q(T)-.95 E F0 .249
-(is set and not null, it is used as a format string for)2.749 F F2
-(strftime)2.75 E F0 .25(\(3\) to display the time stamp)B .379
-(associated with each displayed history entry)144 244.8 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 256.8 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 268.8 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 F1<ad63>144 280.8 Q F0
+-.35 E/F1 10/Times-Bold@0 SF(HISTTIMEFORMA)144 84 Q(T)-.95 E F0 .05
+(is set and not null, it is used as a format string for)2.55 F/F2 10
+/Times-Italic@0 SF(strftime)2.549 E F0 .049(\(3\) to display the)B .42
+(time stamp associated with each displayed history entry)144 96 R 5.42
+(.N)-.65 G 2.92(oi)-5.42 G(nterv)-2.92 E .42
+(ening blank is printed between)-.15 F .23
+(the formatted time stamp and the history line.)144 108 R(If)5.23 E F2
+(\214lename)2.73 E F0 .23(is supplied, it is used as the name of the)
+2.73 F .374(history \214le; if not, the v)144 120 R .374(alue of)-.25 F
+/F3 9/Times-Bold@0 SF(HISTFILE)2.875 E F0 .375(is used.)2.625 F .375
+(Options, if supplied, ha)5.375 F .675 -.15(ve t)-.2 H .375(he follo).15
+F .375(wing mean-)-.25 F(ings:)144 132 Q F1<ad63>144 144 Q F0
 (Clear the history list by deleting all the entries.)25.86 E F1<ad64>144
-292.8 Q F2(of)2.5 E(fset)-.18 E F0(Delete the history entry at position)
-180 304.8 Q F2(of)2.5 E(fset)-.18 E F0(.)A F1<ad61>144 316.8 Q F0 .599
+156 Q F2(of)2.5 E(fset)-.18 E F0(Delete the history entry at position)
+180 168 Q F2(of)2.5 E(fset)-.18 E F0(.)A F1<ad61>144 180 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 328.8 Q F0
-(session\) to the history \214le.)2.5 E F1<ad6e>144 340.8 Q F0 .854(Rea\
-d the history lines not already read from the history \214le into the c\
-urrent history list.)24.74 F .773
-(These are lines appended to the history \214le since the be)180 352.8 R
+(ginning of the current)-.15 F F1(bash)180 192 Q F0
+(session\) to the history \214le.)2.5 E F1<ad6e>144 204 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 216 R
 .772(ginning of the current)-.15 F F1(bash)3.272 E F0(ses-)3.272 E
-(sion.)180 364.8 Q F1<ad72>144 376.8 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 388.8 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 400.8 Q F0 .625
+(sion.)180 228 Q F1<ad72>144 240 Q F0(Read the contents of the history \
+\214le and use them as the current history)25.86 E(.)-.65 E F1<ad77>144
+252 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 264 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 412.8 R .475
+2.975(output. Does)180 276 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 424.8 Q(xpansion.)-.15 E F1<ad73>144 436.8 Q F0
-.362(Store the)26.41 F F2(ar)3.192 E(gs)-.37 E F0 .363
+(normal history e)180 288 Q(xpansion.)-.15 E F1<ad73>144 300 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 448.8 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 465.6 R F1(HISTTIMEFORMA)2.78 E(T)-.95
+(he last command in the history list is)-5.363 F(remo)180 312 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 328.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 .539(is written to the history \214le, mark)144 477.6 R .539
+2.78 F .539(is written to the history \214le, mark)144 340.8 R .539
 (ed with the history comment character)-.1 F 5.54(.W)-.55 G .54
-(hen the history \214le is)-5.54 F 1.779(read, lines be)144 489.6 R
+(hen the history \214le is)-5.54 F 1.779(read, lines be)144 352.8 R
 1.779(ginning with the history comment character follo)-.15 F 1.778
 (wed immediately by a digit are)-.25 F 1.424
-(interpreted as timestamps for the pre)144 501.6 R 1.424
+(interpreted as timestamps for the pre)144 364.8 R 1.424
 (vious history line.)-.25 F 1.424(The return v)6.424 F 1.424
 (alue is 0 unless an in)-.25 F -.25(va)-.4 G(lid).25 E .499(option is e\
 ncountered, an error occurs while reading or writing the history \214le\
-, an in)144 513.6 R -.25(va)-.4 G(lid).25 E F2(of)2.999 E(fset)-.18 E F0
-(is)2.999 E(supplied as an ar)144 525.6 Q(gument to)-.18 E F1<ad64>2.5 E
+, an in)144 376.8 R -.25(va)-.4 G(lid).25 E F2(of)2.999 E(fset)-.18 E F0
+(is)2.999 E(supplied as an ar)144 388.8 Q(gument to)-.18 E F1<ad64>2.5 E
 F0 2.5(,o)C 2.5(rt)-2.5 G(he history e)-2.5 E
 (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 542.4 Q F0([)2.5 E F1(\255lnprs)A F0 2.5
-(][)C F2(jobspec)A F0(... ])2.5 E F1(jobs \255x)108 554.4 Q F2(command)
+(fa)2.5 G(ils.).1 E F1(jobs)108 405.6 Q F0([)2.5 E F1(\255lnprs)A F0 2.5
+(][)C F2(jobspec)A F0(... ])2.5 E F1(jobs \255x)108 417.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 566.4 Q .3 -.15(ve j)-.25 H 2.5
+(The \214rst form lists the acti)144 429.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 578.4 Q F0
+(wing meanings:)-.25 E F1<ad6c>144 441.6 Q F0
 (List process IDs in addition to the normal information.)27.52 E F1
-<ad70>144 590.4 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 602.4 Q F0
+<ad70>144 453.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 465.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 614.4 Q F1<ad72>144 626.4 Q F0
-(Restrict output to running jobs.)25.86 E F1<ad73>144 638.4 Q F0
-(Restrict output to stopped jobs.)26.41 E(If)144 655.2 Q F2(jobspec)
+(\214ed of their status.)180 477.6 Q F1<ad72>144 489.6 Q F0
+(Restrict output to running jobs.)25.86 E F1<ad73>144 501.6 Q F0
+(Restrict output to stopped jobs.)26.41 E(If)144 518.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 667.2 Q -.25
+-.4 G .313(he return status is 0 unless)-5.313 F(an in)144 530.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 .394(If the)144 684 R F1
+E F2(jobspec)4.24 E F0(is supplied.)2.81 E .394(If the)144 547.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 .395
-(with the corre-)3.164 F(sponding process group ID, and e)144 696 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
-(GNU Bash-4.0)72 768 Q(2008 May 25)147.345 E(54)197.335 E 0 Cg EP
-%%Page: 55 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(kill)108 84 Q F0([)2.5 E F1<ad73>A/F2 10
-/Times-Italic@0 SF(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 96 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 108 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 120 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 132 Q F2(signum)4.189 E F0
+(with the corre-)3.164 F(sponding process group ID, and e)144 559.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 576 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 588 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 600 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 612 R .618 -.15(ve s)-.25 H .318
+(ignal name such as).15 F F3(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 624 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.348(is assumed.)3.599 F(An)6.348 E(ar)144 144 Q .522(gument of)-.18 F
+1.348(is assumed.)3.599 F(An)6.348 E(ar)144 636 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 156 R .28
+.15 F .28(of the signals corresponding to the ar)144 648 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 168 Q .377(gument to)-.18 F F1
+-.2(ex)2.78 G(it_status).2 E F0(ar)144 660 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 180 R
+(xit status of a process termi-)-.15 F .594(nated by a signal.)144 672 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 .593(alse if an error)-.1 F
-(occurs or an in)144 192 Q -.25(va)-.4 G(lid option is encountered.).25
-E F1(let)108 208.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 220.8 Q F2(ar)3.964 E(g)-.37 E F0 1.134
+(occurs or an in)144 684 Q -.25(va)-.4 G(lid option is encountered.).25
+E F1(let)108 700.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 712.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 232.8 Q F2(ar)2.83 E(g)-.37 E F0 -.25(eva)2.72 G
+5.635 F(last)144 724.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 249.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 261.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 273.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
+2.5 E(GNU Bash-4.0)72 768 Q(2008 June 29)147.345 E(55)197.335 E 0 Cg EP
+%%Page: 56 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(local)108 84 Q F0([)2.5 E/F2 10
+/Times-Italic@0 SF(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 96 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 108 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
-285.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 297.6 Q F0 1.164
+120 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 132 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.665 E F0 1.165(when not)3.665 F .233
-(within a function.)144 309.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.092 E F0(is)2.912 E(supplied, or)144
-321.6 Q F2(name)2.5 E F0(is a readonly v)2.5 E(ariable.)-.25 E F1
-(logout)108 338.4 Q F0(Exit a login shell.)9.33 E F1(map\214le)108 355.2
-Q F0([)2.5 E F1<ad6e>A F2(count)2.5 E F0 2.5(][)C F1<ad4f>-2.5 E F2
-(origin)2.5 E F0 2.5(][)C F1<ad73>-2.5 E F2(cou)2.5 E F0(nt)144 367.2 Q
-F2 3.212(][)C F1<ad74>-3.212 E F2 3.212(][)C F1<ad75>-3.212 E F2 .712
-(fd] [)3.212 F F1<ad43>A F2(callbac)3.212 E .712(k] [)-.2 F F1<ad63>A F2
-(Iquantum)3.212 E F1 3.212(][)C F2(arr)-3.212 E(ay)-.15 E F1 3.212(]R)C
-.712(ead lines fr)-3.212 F .712(om the standard input into)-.18 F .606
-(array v)144 379.2 R(ariable)-.1 E F2(arr)3.106 E(ay)-.15 E F0 3.106(,o)
-.32 G 3.106(rf)-3.106 G .606(rom \214le descriptor)-3.106 F F2(fd)3.106
-E F0 .606(if the)3.106 F F1<ad75>3.106 E F0 .605(option is supplied.)
-3.105 F .605(The v)5.605 F(ariable)-.25 E F1(MAP-)3.105 E(FILE)144 391.2
-Q F0(is the def)2.5 E(ault)-.1 E F2(arr)2.5 E(ay)-.15 E F0 5(.O)C
-(ptions, if supplied, ha)-5 E .3 -.15(ve t)-.2 H(he follo).15 E
-(wing meanings:)-.25 E F1<ad6e>144 403.2 Q F0(Cop)24.74 E 2.5(ya)-.1 G
-2.5(tm)-2.5 G(ost)-2.5 E F2(count)2.7 E F0 2.5(lines. If)3.18 F F2
-(count)2.5 E F0(is 0, all lines are copied.)2.5 E F1<ad4f>144 415.2 Q F0
-(Be)22.52 E(gin assigning to)-.15 E F2(arr)2.83 E(ay)-.15 E F0(at inde)
-2.82 E(x)-.15 E F2(origin)2.5 E F0 5(.T).24 G(he def)-5 E(ault inde)-.1
-E 2.5(xi)-.15 G 2.5(s0)-2.5 G(.)-2.5 E F1<ad73>144 427.2 Q F0
-(Discard the \214rst)26.41 E F2(count)2.5 E F0(lines read.)2.5 E F1
-<ad74>144 439.2 Q F0(Remo)26.97 E .3 -.15(ve a t)-.15 H
-(railing line from each line read.).15 E F1<ad75>144 451.2 Q F0
+(within a function.)144 144 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.092 E F0(is)2.912 E(supplied, or)144 156 Q
+F2(name)2.5 E F0(is a readonly v)2.5 E(ariable.)-.25 E F1(logout)108
+172.8 Q F0(Exit a login shell.)9.33 E F1(map\214le)108 189.6 Q F0([)2.5
+E F1<ad6e>A F2(count)2.5 E F0 2.5(][)C F1<ad4f>-2.5 E F2(origin)2.5 E F0
+2.5(][)C F1<ad73>-2.5 E F2(count)2.5 E F0 2.5(][)C F1<ad74>-2.5 E F0 2.5
+(][)C F1<ad75>-2.5 E F2(fd)2.5 E F0 2.5(][)C F1<ad43>-2.5 E F2(callbac)
+2.5 E(k)-.2 E F0 2.5(][)C F1<ad63>-2.5 E F2(quantum)2.5 E F0 2.5(][)C F2
+(arr)-2.5 E(ay)-.15 E F0(])A 1.006
+(Read lines from the standard input into array v)144 201.6 R(ariable)
+-.25 E F2(arr)3.506 E(ay)-.15 E F0 3.506(,o).32 G 3.506(rf)-3.506 G
+1.006(rom \214le descriptor)-3.506 F F2(fd)3.506 E F0 1.006(if the)3.506
+F F1<ad75>3.506 E F0 1.087(option is supplied.)144 213.6 R 1.087(The v)
+6.087 F(ariable)-.25 E F1(MAPFILE)3.587 E F0 1.086(is the def)3.587 F
+(ault)-.1 E F2(arr)3.586 E(ay)-.15 E F0 6.086(.O)C 1.086
+(ptions, if supplied, ha)-6.086 F 1.386 -.15(ve t)-.2 H(he).15 E(follo)
+144 225.6 Q(wing meanings:)-.25 E F1<ad6e>144 237.6 Q F0(Cop)24.74 E 2.5
+(ya)-.1 G 2.5(tm)-2.5 G(ost)-2.5 E F2(count)2.7 E F0 2.5(lines. If)3.18
+F F2(count)2.5 E F0(is 0, all lines are copied.)2.5 E F1<ad4f>144 249.6
+Q F0(Be)22.52 E(gin assigning to)-.15 E F2(arr)2.83 E(ay)-.15 E F0
+(at inde)2.82 E(x)-.15 E F2(origin)2.5 E F0 5(.T).24 G(he def)-5 E
+(ault inde)-.1 E 2.5(xi)-.15 G 2.5(s0)-2.5 G(.)-2.5 E F1<ad73>144 261.6
+Q F0(Discard the \214rst)26.41 E F2(count)2.5 E F0(lines read.)2.5 E F1
+<ad74>144 273.6 Q F0(Remo)26.97 E .3 -.15(ve a t)-.15 H
+(railing line from each line read.).15 E F1<ad75>144 285.6 Q F0
 (Read lines from \214le descriptor)24.74 E F2(fd)2.5 E F0
-(instead of the standard input.)2.5 E F1<ad43>144 463.2 Q F0(Ev)23.08 E
+(instead of the standard input.)2.5 E F1<ad43>144 297.6 Q F0(Ev)23.08 E
 (aluate)-.25 E F2(callbac)2.7 E(k)-.2 E F0(each time)3.17 E F2(quantum)
 2.5 E F0(lines are read.)2.5 E(The)5 E F1<ad63>2.5 E F0
-(option speci\214es)2.5 E F2(quantum)2.5 E F0(.).32 E F1<ad63>144 475.2
+(option speci\214es)2.5 E F2(quantum)2.5 E F0(.).32 E F1<ad63>144 309.6
 Q F0(Specify the number of lines read between each call to)25.86 E F2
-(callbac)2.5 E(k)-.2 E F0(.).67 E(If)144 492 Q F1<ad43>2.5 E F0
+(callbac)2.5 E(k)-.2 E F0(.).67 E(If)144 326.4 Q F1<ad43>2.5 E F0
 (is speci\214ed without)2.5 E F1<ad63>2.5 E F0 2.5(,t)C(he def)-2.5 E
-(ault quantum is 5000.)-.1 E(If not supplied with an e)144 508.8 Q
+(ault quantum is 5000.)-.1 E(If not supplied with an e)144 343.2 Q
 (xplicit origin,)-.15 E F1(map\214le)2.5 E F0(will clear)2.5 E F2(arr)
-2.5 E(ay)-.15 E F0(before assigning to it.)2.5 E F1(map\214le)144 525.6
-F0 .995(returns successfully unless an in)3.495 F -.25(va)-.4 G .996
+2.5 E(ay)-.15 E F0(before assigning to it.)2.5 E F1(map\214le)144 360 Q
+F0 .995(returns successfully unless an in)3.495 F -.25(va)-.4 G .996
 (lid option or option ar).25 F .996(gument is supplied, or)-.18 F F2
-(arr)3.496 E(ay)-.15 E F0(is)3.496 E(in)144 537.6 Q -.25(va)-.4 G
-(lid or unassignable.).25 E F1(popd)108 554.4 Q F0<5bad>2.5 E F1(n)A F0
+(arr)3.496 E(ay)-.15 E F0(is)3.496 E(in)144 372 Q -.25(va)-.4 G
+(lid or unassignable.).25 E F1(popd)108 388.8 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
-566.4 Q -.15(ve)-.15 G 2.8(se).15 G .3(ntries from the directory stack.)
+400.8 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 578.4 R F1(cd)3.978 E F0 1.479(to the ne)
+(stack, and performs a)144 412.8 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 590.4 Q F1<ad6e>144 602.4
+1.479(he follo).15 F(wing)-.25 E(meanings:)144 424.8 Q F1<ad6e>144 436.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 614.4 Q F1(+)144 626.4 Q F2(n)A
+(that only the stack is manipulated.)180 448.8 Q F1(+)144 460.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
-638.4 S 2.5(re).15 G(xample:)-2.65 E/F5 10/Courier@0 SF(popd +0)2.5 E F0
+472.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 F5(popd +1)2.5 E F0(the second.)2.5 E F1<ad>144 650.4 Q F2(n)A F0
+-.65 E F3(popd +1)2.5 E F0(the second.)2.5 E F1<ad>144 484.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 662.4 R(or e)-.15 E(xample:)-.15 E F5(popd -0)2.5 E F0
+(zero. F)180 496.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 F5(popd -1)2.5 E F0(the ne)2.5 E(xt to last.)-.15 E .643(If the)144
-679.2 R F1(popd)3.143 E F0 .643(command is successful, a)3.143 F F1
+E F3(popd -1)2.5 E F0(the ne)2.5 E(xt to last.)-.15 E .643(If the)144
+513.6 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 691.2 R .416
+3.143 F F1(popd)5.644 E F0 .416(returns f)144 525.6 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 703.2 Q
-(ails.)-.1 E(GNU Bash-4.0)72 768 Q(2008 May 25)147.345 E(55)197.335 E 0
-Cg EP
-%%Page: 56 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(printf)108 84 Q F0([)2.5 E F1<ad76>A/F2 10
-/Times-Italic@0 SF(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 96 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 string which contains three types of objects: plai\
-n characters, which are simply)144 108 R .158
+(tory stack entry is speci\214ed, or the directory change f)144 537.6 Q
+(ails.)-.1 E F1(printf)108 554.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 566.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 578.4 R .158
 (copied to standard output, character escape sequences, which are con)
-144 120 R -.15(ve)-.4 G .159(rted and copied to the stan-).15 F .499(da\
-rd output, and format speci\214cations, each of which causes printing o\
-f the ne)144 132 R .499(xt successi)-.15 F -.15(ve)-.25 G F2(ar)3.149 E
-(gu-)-.37 E(ment)144 144 Q F0 5.423(.I)C 2.923(na)-5.423 G .423
+144 590.4 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 602.4 R .499(xt successi)-.15 F -.15(ve)-.25 G F2(ar)
+3.149 E(gu-)-.37 E(ment)144 614.4 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 .977
-(sequences in the corresponding)144 156 R F2(ar)3.476 E(gument)-.37 E F0
-(\(e)3.476 E .976(xcept that)-.15 F F1(\\c)3.476 E F0 .976
+(sequences in the corresponding)144 626.4 R F2(ar)3.476 E(gument)-.37 E
+F0(\(e)3.476 E .976(xcept that)-.15 F F1(\\c)3.476 E F0 .976
 (terminates output, backslashes in)3.476 F F1<5c08>3.476 E F0(,)A F1
-(\\")3.476 E F0(,)A(and)144 168 Q F1(\\?)3.421 E F0 .921(are not remo)
+(\\")3.476 E F0(,)A(and)144 638.4 Q F1(\\?)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 180 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 192 Q(The)
-144 216 Q F1<ad76>2.903 E F0 .404
+(may contain up to four digits\), and)3.422 F F1(%q)144 650.4 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 662.4 Q(The)
+144 686.4 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 228 Q(The)144 252 Q F2(format)3.424 E F0 .923
+(standard output.)144 698.4 Q(The)144 722.4 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 264 Q(guments)-.37 E F0
-.033(than are supplied, the e)2.533 F .033
+3.423 E F0 .923(requires more)3.423 F(GNU Bash-4.0)72 768 Q
+(2008 June 29)147.345 E(56)197.335 E 0 Cg EP
+%%Page: 57 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/Times-Italic@0 SF(ar)144 84 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 276 Q(The return v)5 E
-(alue is zero on success, non-zero on f)-.25 E(ailure.)-.1 E F1(pushd)
-108 292.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 F1(pushd)108 304.8 Q F0([)2.5 E F1<ad6e>A F0
-2.5(][)C F2(dir)-2.5 E F0(])A .64(Adds a directory to the top of the di\
-rectory stack, or rotates the stack, making the ne)144 316.8 R 3.139(wt)
--.25 G .639(op of the)-3.139 F 1.315(stack the current w)144 328.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 340.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 352.8 Q
-F1<ad6e>144 364.8 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 376.8 Q F1(+)144 388.8 Q F2(n)A F0
-1.268(Rotates the stack so that the)25.3 F F2(n)3.768 E F0 1.267
+-.25 F(as appropriate, had been supplied.)144 96 Q(The return v)5 E
+(alue is zero on success, non-zero on f)-.25 E(ailure.)-.1 E/F2 10
+/Times-Bold@0 SF(pushd)108 112.8 Q F0([)2.5 E F2<ad6e>A F0 2.5(][)C(+)
+-2.5 E F1(n)A F0 2.5(][)C<ad>-2.5 E F1(n)A F0(])A F2(pushd)108 124.8 Q
+F0([)2.5 E F2<ad6e>A F0 2.5(][)C F1(dir)-2.5 E F0(])A .64(Adds a direct\
+ory to the top of the directory stack, or rotates the stack, making the\
+ ne)144 136.8 R 3.139(wt)-.25 G .639(op of the)-3.139 F 1.315
+(stack the current w)144 148.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 160.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
+172.8 Q F2<ad6e>144 184.8 Q F0 .902(Suppresses the normal change of dir\
+ectory when adding directories to the stack, so that)24.74 F
+(only the stack is manipulated.)180 196.8 Q F2(+)144 208.8 Q F1(n)A F0
+1.268(Rotates the stack so that the)25.3 F F1(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 400.8 Q F0 2.5(,s)C
-(tarting with zero\) is at the top.)-2.5 E F1<ad>144 412.8 Q F2(n)A F0
-.92(Rotates the stack so that the)25.3 F F2(n)3.42 E F0 .92
+-.25 F F2(dirs)180 220.8 Q F0 2.5(,s)C
+(tarting with zero\) is at the top.)-2.5 E F2<ad>144 232.8 Q F1(n)A F0
+.92(Rotates the stack so that the)25.3 F F1(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 424.8 Q F0 2.5(,s)C(tarting with zero\) is at the top.)
--2.5 E F2(dir)144.35 436.8 Q F0(Adds)23.98 E F2(dir)2.85 E F0
+F F2(dirs)180 244.8 Q F0 2.5(,s)C(tarting with zero\) is at the top.)
+-2.5 E F1(dir)144.35 256.8 Q F0(Adds)23.98 E F1(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 453.6
-R F1(pushd)2.989 E F0 .489(command is successful, a)2.989 F F1(dirs)
+G(urrent w)-2.5 E(orking directory)-.1 E(.)-.65 E .489(If the)144 273.6
+R F2(pushd)2.989 E F0 .489(command is successful, a)2.989 F F2(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 465.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 477.6
+(If the \214rst form is used,)5.488 F F2(pushd)2.988 E F0 1.039
+(returns 0 unless the cd to)144 285.6 R F1(dir)3.889 E F0 -.1(fa)4.269 G
+3.539(ils. W).1 F 1.039(ith the second form,)-.4 F F2(pushd)3.54 E F0
+1.04(returns 0 unless the directory)3.54 F .847(stack is empty)144 297.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
-489.6 Q 2.5(wc)-.25 G(urrent directory f)-2.5 E(ails.)-.1 E F1(pwd)108
-506.4 Q F0([)2.5 E F1(\255LP)A F0(])A .844
-(Print the absolute pathname of the current w)144 518.4 R .845
+309.6 Q 2.5(wc)-.25 G(urrent directory f)-2.5 E(ails.)-.1 E F2(pwd)108
+326.4 Q F0([)2.5 E F2(\255LP)A F0(])A .844
+(Print the absolute pathname of the current w)144 338.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
-530.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
+350.4 R F2<ad50>2.681 E F0 .181(option is supplied or the)2.681 F F2
+.181(\255o ph)2.681 F(ysical)-.15 E F0 .181(option to the)2.681 F F2
 (set)2.681 E F0 -.2(bu)2.681 G .181(iltin command is).2 F 3.263
-(enabled. If)144 542.4 R(the)3.263 E F1<ad4c>3.263 E F0 .763
+(enabled. If)144 362.4 R(the)3.263 E F2<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 554.4 R -.25(va)
--.4 G(lid).25 E(option is supplied.)144 566.4 Q F1 -.18(re)108 583.2 S
-(ad).18 E F0([)2.5 E F1(\255ers)A F0 2.5(][)C F1<ad61>-2.5 E F2(aname)
-2.5 E F0 2.5(][)C F1<ad64>-2.5 E F2(delim)2.5 E F0 2.5(][)C<ad>-2.5 E F2
-(te)2.5 E(xt)-.2 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<ad70>-2.5 E F2(pr)2.5 E(ompt)-.45 E F0 2.5(][)C F1
-<ad74>-2.5 E F2(timeout)2.5 E F0 2.5(][)C F1<ad75>-2.5 E F2(fd)2.5 E F0
-2.5(][)C F2(name)-2.5 E F0(...])2.5 E .516(One line is read from the st\
-andard input, or from the \214le descriptor)144 595.2 R F2(fd)3.016 E F0
-.516(supplied as an ar)3.016 F .517(gument to)-.18 F(the)144 607.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 619.2 R -.15(ve)-.15 G 2.92(rw)
+ reading the name of the current directory or an in)144 374.4 R -.25(va)
+-.4 G(lid).25 E(option is supplied.)144 386.4 Q F2 -.18(re)108 403.2 S
+(ad).18 E F0([)2.5 E F2(\255ers)A F0 2.5(][)C F2<ad61>-2.5 E F1(aname)
+2.5 E F0 2.5(][)C F2<ad64>-2.5 E F1(delim)2.5 E F0 2.5(][)C F2<ad>-2.5 E
+F1(te)2.5 E(xt)-.2 E F0 2.5(][)C F2<ad6e>-2.5 E F1(nc)2.5 E(har)-.15 E
+(s)-.1 E F0 2.5(][)C F2<ad70>-2.5 E F1(pr)2.5 E(ompt)-.45 E F0 2.5(][)C
+F2<ad74>-2.5 E F1(timeout)2.5 E F0 2.5(][)C F2<ad75>-2.5 E F1(fd)2.5 E
+F0 2.5(][)C F1(name)-2.5 E F0(...])2.5 E .516(One line is read from the\
+ standard input, or from the \214le descriptor)144 415.2 R F1(fd)3.016 E
+F0 .516(supplied as an ar)3.016 F .517(gument to)-.18 F(the)144 427.2 Q
+F2<ad75>2.539 E F0 .039(option, and the \214rst w)2.539 F .038
+(ord is assigned to the \214rst)-.1 F F1(name)2.538 E F0 2.538(,t).18 G
+.038(he second w)-2.538 F .038(ord to the second)-.1 F F1(name)2.538 E
+F0(,).18 E .42(and so on, with lefto)144 439.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 631.2 R .541(wer w)
+(ening separators assigned to the last)-.15 F F1(name)2.92 E F0 5.42(.I)
+.18 G 2.92(ft)-5.42 G(here)-2.92 E .541(are fe)144 451.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 643.2 S 2.51(lues. The).25 F
+ames are assigned empty)-.1 F -.25(va)144 463.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 655.2 R 2.191 -.15(ve a)-.15 H 2.191 -.15(ny s).15
+(backslash character \()2.511 F F2(\\)A F0 2.511(\)m)C(ay)-2.511 E 1.891
+(be used to remo)144 475.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 667.2 Q .3 -.15(ve t)-.2 H(he follo).15 E
-(wing meanings:)-.25 E F1<ad61>144 679.2 Q F2(aname)2.5 E F0 1.049
-(The w)180 691.2 R 1.049
+(Options, if supplied, ha)144 487.2 Q .3 -.15(ve t)-.2 H(he follo).15 E
+(wing meanings:)-.25 E F2<ad61>144 499.2 Q F1(aname)2.5 E F0 1.049
+(The w)180 511.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 703.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(GNU Bash-4.0)72 768 Q(2008 May 25)147.345
-E(56)197.335 E 0 Cg EP
-%%Page: 57 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/Times-Bold@0 SF<ad64>144 84 Q/F2 10/Times-Italic@0 SF
-(delim)2.5 E F0(The \214rst character of)180 96 Q F2(delim)2.5 E F0
+-.25 E F1(aname)3.55 E F0 3.55(,s).18 G 1.05(tarting at 0.)-3.55 F F1
+(aname)180.33 523.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 F1(name)2.5 E F0(ar)2.5
+E(guments are ignored.)-.18 E F2<ad64>144 535.2 Q F1(delim)2.5 E F0
+(The \214rst character of)180 547.2 Q F1(delim)2.5 E F0
 (is used to terminate the input line, rather than ne)2.5 E(wline.)-.25 E
-F1<ad65>144 108 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 9/Times-Bold@0 SF(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 120 Q F1<ad69>144 132 Q F2(te)2.5
-E(xt)-.2 E F0(If)10.78 E F1 -.18(re)2.715 G(adline).18 E F0 .216
-(is being used to read the line,)2.715 F F2(te)2.716 E(xt)-.2 E F0 .216
+F2<ad65>144 559.2 Q F0 .373
+(If the standard input is coming from a terminal,)25.86 F F2 -.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 571.2 Q F2<ad69>144 583.2 Q F1(te)2.5 E(xt)-.2
+E F0(If)10.78 E F2 -.18(re)2.715 G(adline).18 E F0 .216
+(is being used to read the line,)2.715 F F1(te)2.716 E(xt)-.2 E F0 .216
 (is placed into the editing b)2.716 F(uf)-.2 E .216(fer before edit-)
--.25 F(ing be)180 144 Q(gins.)-.15 E F1<ad6e>144 156 Q F2(nc)2.5 E(har)
--.15 E(s)-.1 E F1 -.18(re)180 168 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
+-.25 F(ing be)180 595.2 Q(gins.)-.15 E F2<ad6e>144 607.2 Q F1(nc)2.5 E
+(har)-.15 E(s)-.1 E F2 -.18(re)180 619.2 S(ad).18 E F0 1.395
+(returns after reading)3.895 F F1(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 180 Q F1<ad70>144 192 Q F2(pr)2.5 E(ompt)-.45 E F0
-(Display)180 204 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 216 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 228 Q F0 .544(Backslash does not act as an escape character)
+-.1 F(input.)180 631.2 Q F2<ad70>144 643.2 Q F1(pr)2.5 E(ompt)-.45 E F0
+(Display)180 655.2 Q F1(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 667.2 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 F2
+<ad72>144 679.2 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 240 Q(In particular)5 E 2.5(,ab)-.4 G
+-5.543 F(the line.)180 691.2 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 252 Q F0(Silent mode.)26.41 E
-(If input is coming from a terminal, characters are not echoed.)5 E F1
-<ad74>144 264 Q F2(timeout)2.5 E F0(Cause)180 276 Q F1 -.18(re)3.548 G
-(ad).18 E F0 1.048(to time out and return f)3.548 F 1.048
+-.25 E F2<ad73>144 703.2 Q F0(Silent mode.)26.41 E
+(If input is coming from a terminal, characters are not echoed.)5 E
+(GNU Bash-4.0)72 768 Q(2008 June 29)147.345 E(57)197.335 E 0 Cg EP
+%%Page: 58 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/Times-Bold@0 SF<ad74>144 84 Q/F2 10/Times-Italic@0 SF
+(timeout)2.5 E F0(Cause)180 96 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 288 Q F0(seconds.)3.497 E F2(timeout)5.997 E F0 .997
+180 108 Q F0(seconds.)3.497 E F2(timeout)5.997 E F0 .997
 (may be a decimal number with a fractional portion follo)3.497 F(wing)
--.25 E .063(the decimal point.)180 300 R .064(This option has no ef)
-5.063 F .064(fect if)-.25 F F1 -.18(re)2.564 G(ad).18 E F0 .064
-(is not reading input from the terminal)2.564 F(or a pipe.)180 312 Q F1
-<ad75>144 324 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 340.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(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 352.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 364.8 Q
-(gument to)-.18 E F1<ad75>2.5 E F0(.)A F1 -.18(re)108 381.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 393.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 405.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 417.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 429.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 441.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 453.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
-465.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 477.6 Q F1 -.18(re)108 494.4 S(tur).18 E(n)-.15 E F0([)
-2.5 E F2(n)A F0(])A .586(Causes a function to e)144 506.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 518.4 R -.15(xe)-.15 G 1.335
+-.25 E .576(the decimal point.)180 120 R .576(This option is only ef)
+5.576 F(fecti)-.25 E .876 -.15(ve i)-.25 H(f).15 E F1 -.18(re)3.076 G
+(ad).18 E F0 .576(is reading input from a terminal,)3.076 F .16
+(pipe, or other special \214le; it has no ef)180 132 R .16
+(fect when reading from re)-.25 F .16(gular \214les.)-.15 F .16(The e)
+5.16 F .16(xit status)-.15 F(is greater than 128 if the timeout is e)180
+144 Q(xceeded.)-.15 E F1<ad75>144 156 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 172.8 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 9/Times-Bold@0 SF(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 184.8 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 196.8 Q
+(gument to)-.18 E F1<ad75>2.5 E F0(.)A F1 -.18(re)108 213.6 S(adonly).18
+E F0([)2.5 E F1(\255aA)A(pf)-.25 E 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 225.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.097(quent assignment.)144
+237.6 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 249.6 Q 3.334(ed. The)
+-.1 F F1<ad61>3.334 E F0 .834(option restricts the v)3.334 F .834
+(ariables to inde)-.25 F -.15(xe)-.15 G 3.334(da).15 G .834(rrays; the)
+-3.334 F F1<ad41>3.334 E F0 .834(option restricts the v)3.334 F(ari-)
+-.25 E .538(ables to associati)144 261.6 R .838 -.15(ve a)-.25 H 3.038
+(rrays. If).15 F(no)3.038 E F2(name)3.398 E F0(ar)3.218 E .538
+(guments are gi)-.18 F -.15(ve)-.25 G .538(n, or if the).15 F F1<ad70>
+3.038 E F0 .537(option is supplied, a list)3.038 F .08
+(of all readonly names is printed.)144 273.6 R(The)5.08 E F1<ad70>2.58 E
+F0 .081(option causes output to be displayed in a format that may)2.58 F
+1.177(be reused as input.)144 285.6 R 1.177(If a v)6.177 F 1.176
+(ariable name is follo)-.25 F 1.176(wed by =)-.25 F F2(wor)A(d)-.37 E F0
+3.676(,t)C 1.176(he v)-3.676 F 1.176(alue of the v)-.25 F 1.176
+(ariable is set to)-.25 F F2(wor)144 297.6 Q(d)-.37 E F0 6.205(.T)C
+1.205(he return status is 0 unless an in)-6.205 F -.25(va)-.4 G 1.206
+(lid option is encountered, one of the).25 F F2(names)4.066 E F0 1.206
+(is not a)3.976 F -.25(va)144 309.6 S(lid shell v).25 E
+(ariable name, or)-.25 E F1<ad66>2.5 E F0(is supplied with a)2.5 E F2
+(name)2.86 E F0(that is not a function.)2.68 E F1 -.18(re)108 326.4 S
+(tur).18 E(n)-.15 E F0([)2.5 E F2(n)A F0(])A .587
+(Causes a function to e)144 338.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 .586(is omitted, the return status is)3.327 F 1.335
+(that of the last command e)144 350.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 530.4 S .794(cution of a script by the).15 F F1(.)3.294 E F0(\()
+144 362.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 542.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 554.4 R .082
+(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 374.4 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 386.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 566.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)
+(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 398.4 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 578.4 Q F1(set)108 595.2 Q F0([)2.5 E F1
+144 410.4 Q F1(set)108 427.2 Q F0([)2.5 E F1
 (\255\255abefhkmnptuvxBCEHPT)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 F1(set)108 607.2 Q F0
+E F0 2.5(][)C F2(ar)-2.5 E(g)-.37 E F0(...])2.5 E F1(set)108 439.2 Q F0
 ([)2.5 E F1(+abefhkmnptuvxBCEHPT)A F0 2.5(][)C F1(+o)-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 619.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 631.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 643.2 R F2 .447(posix mode)
-2.946 F F0 2.947(,o)C .447(nly shell v)-2.947 F .447
+2.5 E F0 2.5(][)C F2(ar)-2.5 E(g)-.37 E F0(...])2.5 E -.4(Wi)144 451.2 S
+.836(thout options, the name and v).4 F .835(alue of each shell v)-.25 F
+.835(ariable are displayed in a format that can be)-.25 F .784
+(reused as input for setting or resetting the currently-set v)144 463.2
+R 3.284(ariables. Read-only)-.25 F -.25(va)3.284 G .784
+(riables cannot be).25 F 2.947(reset. In)144 475.2 R F2 .447(posix mode)
+2.947 F F0 2.947(,o)C .447(nly shell v)-2.947 F .447
 (ariables are listed.)-.25 F .447
-(The output is sorted according to the current)5.447 F 3.531
-(locale. When)144 655.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 667.2 R .202
+(The output is sorted according to the current)5.447 F 3.53
+(locale. When)144 487.2 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 499.2 R .202
 (alues for the positional parameters and are assigned,)-.25 F(in order)
-144 679.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
+144 511.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 691.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 703.2 Q
-(vironment of subsequent commands.)-.4 E F1<ad62>144 715.2 Q F0 .131
+-.15(ve t)-.2 H(he follo).15 E(wing meanings:)-.25 E F1<ad61>144 523.2 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 535.2 Q(vironment of subsequent commands.)
+-.4 E F1<ad62>144 547.2 Q F0 .132
 (Report the status of terminated background jobs immediately)28.74 F
-2.632(,r)-.65 G .132(ather than before the ne)-2.632 F(xt)-.15 E
-(primary prompt.)184 727.2 Q(This is ef)5 E(fecti)-.25 E .3 -.15(ve o)
--.25 H(nly when job control is enabled.).15 E(GNU Bash-4.0)72 768 Q
-(2008 May 25)147.345 E(57)197.335 E 0 Cg EP
-%%Page: 58 58
+2.632(,r)-.65 G .131(ather than before the ne)-2.632 F(xt)-.15 E
+(primary prompt.)184 559.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 571.2 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 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 583.2 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
+.718(list immediately follo)184 595.2 R .718(wing a)-.25 F F1(while)
+3.218 E F0(or)3.218 E F1(until)3.219 E F0 -.1(ke)3.219 G(yw)-.05 E .719
+(ord, part of the test in an)-.1 F F1(if)3.219 E F0(statement,)3.219 E
+.379(part of a command e)184 607.2 R -.15(xe)-.15 G .379(cuted in a).15
+F F1(&&)2.879 E F0(or)2.879 E/F5 10/Symbol SF<efef>2.879 E F0 .379
+(list, an)2.879 F 2.879(yc)-.15 G .379(ommand in a pipeline b)-2.879 F
+.378(ut the last,)-.2 F .577(or if the command')184 619.2 R 3.078(sr)
+-.55 G .578(eturn v)-3.078 F .578(alue is being in)-.25 F -.15(ve)-.4 G
+.578(rted via).15 F F1(!)3.078 E F0 5.578(.F)C .578
+(ailing simple commands that)-5.728 F .402(are part of shell functions \
+or command lists enclosed in braces or parentheses satisfying)184 631.2
+R .84(the abo)184 643.2 R 1.14 -.15(ve c)-.15 H .84
+(onditions do not cause the shell to e).15 F 3.341(xit. A)-.15 F .841
+(trap on)3.341 F F1(ERR)3.341 E F0 3.341(,i)C 3.341(fs)-3.341 G .841
+(et, is e)-3.341 F -.15(xe)-.15 G(cuted).15 E(before the shell e)184
+655.2 Q(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-4.0)72 768 Q(2008 June 29)147.345 E(58)197.335 E 0 Cg EP
+%%Page: 59 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/Times-Bold@0 SF<ad65>144 84 Q F0 1.694
-(Exit immediately if a)29.86 F/F2 10/Times-Italic@0 SF 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.193(\)e).15 G
-1.693(xits with a)-4.343 F .011(non-zero status.)184 96 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 .719(list immediately follo)184 108 R
-.719(wing a)-.25 F F1(while)3.219 E F0(or)3.219 E F1(until)3.219 E F0
--.1(ke)3.219 G(yw)-.05 E .719(ord, part of the test in an)-.1 F F1(if)
-3.218 E F0(statement,)3.218 E .378(part of a command e)184 120 R -.15
-(xe)-.15 G .379(cuted in a).15 F F1(&&)2.879 E F0(or)2.879 E/F4 10
-/Symbol SF<efef>2.879 E F0 .379(list, an)2.879 F 2.879(yc)-.15 G .379
-(ommand in a pipeline b)-2.879 F .379(ut the last,)-.2 F .578
-(or if the command')184 132 R 3.078(sr)-.55 G .578(eturn v)-3.078 F .578
-(alue is being in)-.25 F -.15(ve)-.4 G .578(rted via).15 F F1(!)3.078 E
-F0 5.578(.F)C .577(ailing simple commands that)-5.728 F .402(are part o\
-f shell functions or command lists enclosed in braces or parentheses sa\
-tisfying)184 144 R .841(the abo)184 156 R 1.141 -.15(ve c)-.15 H .841
-(onditions do not cause the shell to e).15 F 3.341(xit. A)-.15 F .84
-(trap on)3.34 F F1(ERR)3.34 E F0 3.34(,i)C 3.34(fs)-3.34 G .84(et, is e)
--3.34 F -.15(xe)-.15 G(cuted).15 E(before the shell e)184 168 Q(xits.)
--.15 E F1<ad66>144 180 Q F0(Disable pathname e)30.97 E(xpansion.)-.15 E
-F1<ad68>144 192 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
-204 Q(ault.)-.1 E F1<ad6b>144 216 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 228 Q F1
-<ad6d>144 240 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 252 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 264 R .642
-(xit status is printed upon their com-)-.15 F(pletion.)184 276 Q F1
-<ad6e>144 288 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
-300 Q(This is ignored by interacti)5 E .3 -.15(ve s)-.25 H(hells.).15 E
-F1<ad6f>144 312 Q F2(option\255name)2.5 E F0(The)184 324 Q F2
-(option\255name)2.5 E F0(can be one of the follo)2.5 E(wing:)-.25 E F1
-(allexport)184 336 Q F0(Same as)224 348 Q F1<ad61>2.5 E F0(.)A F1
-(braceexpand)184 360 Q F0(Same as)224 372 Q F1<ad42>2.5 E F0(.)A F1
-(emacs)184 384 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 396 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 408 Q F1(errtrace)184 420 Q F0(Same as)5.03 E F1
-<ad45>2.5 E F0(.)A F1(functrace)184 432 Q F0(Same as)224 444 Q F1<ad54>
-2.5 E F0(.)A F1(err)184 456 Q(exit)-.18 E F0(Same as)11.31 E F1<ad65>2.5
-E F0(.)A F1(hashall)184 468 Q F0(Same as)9.43 E F1<ad68>2.5 E F0(.)A F1
-(histexpand)184 480 Q F0(Same as)224 492 Q F1<ad48>2.5 E F0(.)A F1
-(history)184 504 Q F0 .586(Enable command history)10 F 3.087(,a)-.65 G
+-.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 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 516 Q(ault in interacti)-.1 E
-.3 -.15(ve s)-.25 H(hells.).15 E F1(ignor)184 528 Q(eeof)-.18 E F0 1.657
-(The ef)224 540 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 552 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 564 S(yw).1 E(ord)-.1
-E F0(Same as)224 576 Q F1<ad6b>2.5 E F0(.)A F1(monitor)184 588 Q F0
-(Same as)5.56 E F1<ad6d>2.5 E F0(.)A F1(noclob)184 600 Q(ber)-.1 E F0
-(Same as)224 612 Q F1<ad43>2.5 E F0(.)A F1(noexec)184 624 Q F0(Same as)
-11.12 E F1<ad6e>2.5 E F0(.)A F1(noglob)184 636 Q F0(Same as)11.1 E F1
+.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 648 Q F0(Same as)15 E F1<ad62>2.5 E F0(.)A F1(nounset)184 660 Q F0
-(Same as)6.66 E F1<ad75>2.5 E F0(.)A F1(onecmd)184 672 Q F0(Same as)6.67
-E F1<ad74>2.5 E F0(.)A F1(ph)184 684 Q(ysical)-.15 E F0(Same as)5.14 E
-F1<ad50>2.5 E F0(.)A F1(pipefail)184 696 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 708
-1.136
+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 720 S(it successfully).15 E 5(.T)-.65 G
-(his option is disabled by def)-5 E(ault.)-.1 E(GNU Bash-4.0)72 768 Q
-(2008 May 25)147.345 E(58)197.335 E 0 Cg EP
-%%Page: 59 59
+-.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 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-4.0)72 768 Q(2008 June 29)147.345 E(59)197.335 E 0 Cg
+EP
+%%Page: 60 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/Times-Bold@0 SF(posix)184 84 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 standard to match the standard \()224 96 Q/F2 10/Times-Italic@0
-SF(posix mode)A F0(\).)A F1(pri)184 108 Q(vileged)-.1 E F0(Same as)224
-120 Q F1<ad70>2.5 E F0(.)A F1 -.1(ve)184 132 S(rbose).1 E F0(Same as)
-7.33 E F1<ad76>2.5 E F0(.)A F1(vi)184 144 Q F0
-(Use a vi-style command line editing interf)32.22 E(ace.)-.1 E F1
-(xtrace)184 156 Q F0(Same as)13.35 E F1<ad78>2.5 E F0(.)A(If)184 174 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
-186 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 198 Q F1<ad70>
-144 210 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 222 R 1.705
-(vironment, and the)-.4 F F3(SHELLOPTS)4.206 E F0 -.25(va)184 234 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 246
-Q 1.158 -.15(ve u)-.25 H .859
+-.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<ad70>3.359 E F0 .859(option is not sup-)3.359 F .294
-(plied, these actions are tak)184 258 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 270 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 282 Q(fecti)-.25
-E .3 -.15(ve u)-.25 H
+/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 294 Q F0(Exit after reading and e)30.97 E -.15(xe)-.15 G
-(cuting one command.).15 E F1<ad75>144 306 Q F0 -.35(Tr)28.74 G .445
+<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.944 G .444(pansion is).15 F .519
-(attempted on an unset v)184 318 R .519
+(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 330 S(its with a non-zero status.)
-.15 E F1<ad76>144 342 Q F0(Print shell input lines as the)29.3 E 2.5(ya)
--.15 G(re read.)-2.5 E F1<ad78>144 354 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 366 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
-378 Q(xpanded ar)-.15 E(guments or associated w)-.18 E(ord list.)-.1 E
-F1<ad42>144 390 Q F0 2.579(The shell performs brace e)27.63 F 2.578
+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.078(\). This).15 F 2.578(is on by)5.078 F(def)184 402 Q
-(ault.)-.1 E F1<ad43>144 414 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
+-.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.714(,a)C(nd)-2.714 E F1(<>)2.714 E F0 .214(redirection opera-)2.714 F
-3.054(tors. This)184 426 R .553(may be o)3.053 F -.15(ve)-.15 G .553
+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 438 Q F1(>|)2.5 E F0(instead of)2.5 E F1(>)2.5 E F0(.)A F1
-<ad45>144 450 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 462 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 474 Q F1
-<ad48>144 486 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 498 Q -.15
-(ve)-.25 G(.).15 E F1<ad50>144 510 Q F0 1.165
+.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.164
-(cuting commands such as).15 F F1(cd)3.664 E F0 2.821
-(that change the current w)184 522 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 534 R(def)2.686
+(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 546 Q(.)-.65 E F1<ad54>144
-558 Q F0 .89(If set, an)27.63 F 3.39(yt)-.15 G .89(raps on)-3.39 F F1
+(mands which change the current directory)184 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 570 R -.15(xe)-.15 G 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 582 Q F0
-(traps are normally not inherited in such cases.)2.5 E F1<adad>144 594 Q
-F0 .4(If no ar)28.6 F .401(guments follo)-.18 F 2.901(wt)-.25 G .401
+(UG)-.1 E F0(and)4.432 E F1(RETURN)184 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.401 E(the positional parameters are set to the)184 606 Q
-F2(ar)2.5 E(g)-.37 E F0(s, e)A -.15(ve)-.25 G 2.5(ni).15 G 2.5(fs)-2.5 G
+(Otherwise,)5.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
-618 Q F0 1.945(Signal the end of options, cause all remaining)34.3 F F2
-(ar)4.444 E(g)-.37 E F0 4.444(st)C 4.444(ob)-4.444 G 4.444(ea)-4.444 G
-1.944(ssigned to the positional)-4.444 F 3.445(parameters. The)184 630 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 642 Q .425(The options are of)144
-658.8 R 2.925(fb)-.25 G 2.925(yd)-2.925 G(ef)-2.925 E .425
+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 .177
-(to be turned of)144 670.8 R 2.677(f. The)-.25 F .178
+(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 .178(cation of the shell.).2 F(The)5.178 E .066
-(current set of options may be found in)144 682.8 R F1<24ad>2.566 E F0
+-.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 .066(lid option).25 F
-(is encountered.)144 694.8 Q(GNU Bash-4.0)72 768 Q(2008 May 25)147.345 E
-(59)197.335 E 0 Cg EP
-%%Page: 60 60
+(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-4.0)72 768 Q(2008 June 29)147.345 E(60)197.335 E 0 Cg EP
+%%Page: 61 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/Times-Bold@0 SF(shift)108 84 Q F0([)2.5 E/F2 10
-/Times-Italic@0 SF(n)A F0(])A .428(The positional parameters from)144 96
-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
-108 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 120 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 132 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 144 Q F1(shopt)108 160.8 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 172.8 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 displayed, with an \
-indication of whether or not each is set.)144 184.8 R(The)144 196.8 Q F1
-<ad70>2.827 E F0 .327(option causes output to be displayed in a form th\
-at may be reused as input.)2.827 F .328(Other options)5.328 F(ha)144
-208.8 Q .3 -.15(ve t)-.2 H(he follo).15 E(wing meanings:)-.25 E F1<ad73>
-144 220.8 Q F0(Enable \(set\) each)26.41 E F2(optname)2.5 E F0(.)A F1
-<ad75>144 232.8 Q F0(Disable \(unset\) each)24.74 E F2(optname)2.5 E F0
-(.)A F1<ad71>144 244.8 Q F0 .003(Suppresses normal output \(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 256.8 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 268.8 Q F2(optnames)2.5 E
-F0(are enabled; non-zero otherwise.)2.5 E F1<ad6f>144 280.8 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 297.6 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 309.6 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 321.6 Q(ault.)
+-.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
-338.4 R F2(optnames)4.044 E F0 1.544(are enabled, non-zero otherwise.)
-4.044 F .696
+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 350.4 R F2(optname)3.196 E F0 .696(is not a v)3.196 F .696
-(alid shell)-.25 F(option.)144 362.4 Q(The list of)144 379.2 Q F1(shopt)
-2.5 E F0(options is:)2.5 E F1(autocd)144 397.2 Q F0 .2
+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(autocd)144 212.4 Q F0 .199
 (If set, a command name that is the name of a directory is e)11.11 F
--.15(xe)-.15 G .199(cuted as if it were the ar).15 F(gu-)-.18 E
-(ment to the)184 409.2 Q F1(cd)2.5 E F0 2.5(command. This)2.5 F
+-.15(xe)-.15 G .2(cuted as if it were the ar).15 F(gu-)-.18 E
+(ment to the)184 224.4 Q F2(cd)2.5 E F0 2.5(command. This)2.5 F
 (option is only used by interacti)2.5 E .3 -.15(ve s)-.25 H(hells.).15 E
-F1(cdable_v)144 421.2 Q(ars)-.1 E F0 .155(If set, an ar)184 433.2 R .155
-(gument to the)-.18 F F1(cd)2.655 E F0 -.2(bu)2.655 G .156
+F2(cdable_v)144 236.4 Q(ars)-.1 E F0 .156(If set, an ar)184 248.4 R .156
+(gument to the)-.18 F F2(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 445.2 Q(ariable whose v)-.25 E
-(alue is the directory to change to.)-.25 E F1(cdspell)144 457.2 Q F0
+(name of a v)184 260.4 Q(ariable whose v)-.25 E
+(alue is the directory to change to.)-.25 E F2(cdspell)144 272.4 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.987
-(corrected. The)184 469.2 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 481.2 R 4.352 -.65
+10.55 F F2(cd)3.555 E F0 1.055(command will be)3.555 F 3.988
+(corrected. The)184 284.4 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 296.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 493.2 Q
+(the command proceeds.)184 308.4 Q
 (This option is only used by interacti)5 E .3 -.15(ve s)-.25 H(hells.)
-.15 E F1(checkhash)144 505.2 Q F0 2.079(If set,)184 517.2 R F1(bash)
-4.579 E F0 2.079(checks that a command found in the hash table e)4.579 F
-2.08(xists before trying to)-.15 F -.15(exe)184 529.2 S(cute it.).15 E
+.15 E F2(checkhash)144 320.4 Q F0 2.08(If set,)184 332.4 R F2(bash)4.58
+E F0 2.079(checks that a command found in the hash table e)4.58 F 2.079
+(xists before trying to)-.15 F -.15(exe)184 344.4 S(cute it.).15 E
 (If a hashed command no longer e)5 E
-(xists, a normal path search is performed.)-.15 E F1(checkjobs)144 541.2
-Q F0 .449(If set,)184 553.2 R F1(bash)2.949 E F0 .449
-(lists the status of an)2.949 F 2.949(ys)-.15 G .448
-(topped and running jobs before e)-2.949 F .448(xiting an interacti)-.15
-F -.15(ve)-.25 G 3.438(shell. If)184 565.2 R(an)3.438 E 3.438(yj)-.15 G
-.938(obs are running, this causes the e)-3.438 F .938
-(xit to be deferred until a second e)-.15 F .939(xit is)-.15 F 1.456
-(attempted without an interv)184 577.2 R 1.456(ening command \(see)-.15
-F F1 1.456(JOB CONTR)3.956 F(OL)-.3 E F0(abo)3.956 E -.15(ve)-.15 G
-3.956(\). The).15 F(shell)3.956 E(al)184 589.2 Q -.1(wa)-.1 G
+(xists, a normal path search is performed.)-.15 E F2(checkjobs)144 356.4
+Q F0 .448(If set,)184 368.4 R F2(bash)2.948 E F0 .448
+(lists the status of an)2.948 F 2.949(ys)-.15 G .449
+(topped and running jobs before e)-2.949 F .449(xiting an interacti)-.15
+F -.15(ve)-.25 G 3.439(shell. If)184 380.4 R(an)3.439 E 3.439(yj)-.15 G
+.938(obs are running, this causes the e)-3.439 F .938
+(xit to be deferred until a second e)-.15 F .938(xit is)-.15 F 1.456
+(attempted without an interv)184 392.4 R 1.456(ening command \(see)-.15
+F F2 1.456(JOB CONTR)3.956 F(OL)-.3 E F0(abo)3.956 E -.15(ve)-.15 G
+3.956(\). The).15 F(shell)3.956 E(al)184 404.4 Q -.1(wa)-.1 G
 (ys postpones e).1 E(xiting if an)-.15 E 2.5(yj)-.15 G(obs are stopped.)
--2.5 E F1(checkwinsize)144 601.2 Q F0 .796(If set,)184 613.2 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 625.2 S(lues of).25 E/F3 9/Times-Bold@0
+-2.5 E F2(checkwinsize)144 416.4 Q F0 .797(If set,)184 428.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 440.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
-F1(cmdhist)144 637.2 Q F0 1.202(If set,)6.11 F F1(bash)3.702 E F0 1.202
+F2(cmdhist)144 452.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
-649.2 Q 5(.T)-.65 G(his allo)-5 E
-(ws easy re-editing of multi-line commands.)-.25 E F1(compat31)144 661.2
-Q F0 .419(If set,)184 673.2 R F1(bash)2.919 E F0 .419(changes its beha)
-2.919 F .419(vior to that of v)-.2 F .42
+464.4 Q 5(.T)-.65 G(his allo)-5 E
+(ws easy re-editing of multi-line commands.)-.25 E F2(compat31)144 476.4
+Q F0 .42(If set,)184 488.4 R F2(bash)2.92 E F0 .42(changes its beha)2.92
+F .419(vior to that of v)-.2 F .419
 (ersion 3.1 with respect to quoted ar)-.15 F(guments)-.18 E
-(to the conditional command')184 685.2 Q 2.5(s=)-.55 G 2.5(~o)-2.5 G
-(perator)-2.5 E(.)-.55 E F1(dirspell)144 697.2 Q F0 .859(If set,)7.77 F
-F1(bash)3.359 E F0 .858
-(attempts spelling correction on directory names during w)3.359 F .858
+(to the conditional command')184 500.4 Q 2.5(s=)-.55 G 2.5(~o)-2.5 G
+(perator)-2.5 E(.)-.55 E F2(dirspell)144 512.4 Q F0 .858(If set,)7.77 F
+F2(bash)3.358 E F0 .858
+(attempts spelling correction on directory names during w)3.358 F .859
 (ord completion if)-.1 F
-(the directory name initially supplied does not e)184 709.2 Q(xist.)-.15
-E(GNU Bash-4.0)72 768 Q(2008 May 25)147.345 E(60)197.335 E 0 Cg EP
-%%Page: 61 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/Times-Bold@0 SF(dotglob)144 84 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 96 Q
-F0 1.387(If set, a non-interacti)7.79 F 1.687 -.15(ve s)-.25 H 1.386
+(the directory name initially supplied does not e)184 524.4 Q(xist.)-.15
+E F2(dotglob)144 536.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 548.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.386(cute the \214le speci\214ed as an).15 F(ar)184 108 Q
-(gument to the)-.18 E F1(exec)2.5 E F0 -.2(bu)2.5 G(iltin command.).2 E
+1.387(cute the \214le speci\214ed as an).15 F(ar)184 560.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 F1(exec)2.5 E F0 -.1(fa)2.5 G(ils.).1 E F1(expand_aliases)144 120 Q F0
-.716(If set, aliases are e)184 132 R .717(xpanded as described abo)-.15
-F 1.017 -.15(ve u)-.15 H(nder).15 E/F2 9/Times-Bold@0 SF(ALIASES)3.217 E
-/F3 9/Times-Roman@0 SF(.)A F0 .717(This option is enabled)5.217 F
-(by def)184 144 Q(ault for interacti)-.1 E .3 -.15(ve s)-.25 H(hells.)
-.15 E F1(extdeb)144 156 Q(ug)-.2 E F0(If set, beha)184 168 Q
-(vior intended for use by deb)-.2 E(uggers is enabled:)-.2 E F1(1.)184
-180 Q F0(The)28.5 E F1<ad46>4.251 E F0 1.751(option to the)4.251 F F1
+E F2(exec)2.5 E F0 -.1(fa)2.5 G(ils.).1 E F2(expand_aliases)144 572.4 Q
+F0 .717(If set, aliases are e)184 584.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 596.4 Q
+(ault for interacti)-.1 E .3 -.15(ve s)-.25 H(hells.).15 E F2(extdeb)144
+608.4 Q(ug)-.2 E F0(If set, beha)184 620.4 Q
+(vior intended for use by deb)-.2 E(uggers is enabled:)-.2 E F2(1.)184
+632.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 192 Q
-(gument.)-.18 E F1(2.)184 204 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 216
-Q -.15(xe)-.15 G(cuted.).15 E F1(3.)184 228 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 240 S .488
+(number corresponding to each function name supplied as an ar)220 644.4
+Q(gument.)-.18 E F2(2.)184 656.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
+668.4 Q -.15(xe)-.15 G(cuted.).15 E F2(3.)184 680.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 692.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 F1(.)2.988 E F0(or)2.988 E F1
-(sour)220 252 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
-264 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
-276 Q -.15(ve)-.15 G(.).15 E F1(5.)184 288 Q F0 1.359
+-.15(xe)-.15 G .488(cuted by the).15 F F2(.)2.988 E F0(or)2.988 E F2
+(sour)220 704.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
+716.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
+728.4 Q -.15(ve)-.15 G(.).15 E(GNU Bash-4.0)72 768 Q(2008 June 29)
+147.345 E(61)197.335 E 0 Cg EP
+%%Page: 62 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/Times-Bold@0 SF(5.)184 84 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
-300 Q -.2(vo)-.4 G -.1(ke).2 G 2.5(dw).1 G(ith)-2.5 E F1(\()2.5 E/F4 10
+96 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 312 Q F0 .805(Error tracing is enabled:)28.5 F .804
-(command substitution, shell functions, and subshells)5.805 F(in)220 324
-Q -.2(vo)-.4 G -.1(ke).2 G 2.5(dw).1 G(ith)-2.5 E F1(\()2.5 E F4
+184 108 Q F0 .804(Error tracing is enabled:)28.5 F .805
+(command substitution, shell functions, and subshells)5.804 F(in)220 120
+Q -.2(vo)-.4 G -.1(ke).2 G 2.5(dw).1 G(ith)-2.5 E F1(\()2.5 E 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 336 Q F0 .4(If set, the e)8.89 F .4
+(trap.)2.5 E F1(extglob)144 132 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 348 Q
-F0(are enabled.)2.5 E F1(extquote)144 360 Q F0 2.473(If set,)184 372 R
-F1($)4.973 E F0<08>A F4(string)A F0 4.973<0861>C(nd)-4.973 E F1($)4.973
-E F0(")A F4(string)A F0 4.973("q)C 2.473(uoting is performed within)
--4.973 F F1(${)4.973 E F4(par)A(ameter)-.15 E F1(})A F0 -.15(ex)4.973 G
-(pansions).15 E(enclosed in double quotes.)184 384 Q
-(This option is enabled by def)5 E(ault.)-.1 E F1(failglob)144 396 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 408 S(pansion error).15 E(.)
--.55 E F1 -.25(fo)144 420 S -.18(rc).25 G(e_\214gnor).18 E(e)-.18 E F0
-.585(If set, the suf)184 432 R<8c78>-.25 E .585(es speci\214ed by the)
+-.15 H(nder).15 E F1 -.1(Pa)2.9 G .4(thname Expan-).1 F(sion)184 144 Q
+F0(are enabled.)2.5 E F1(extquote)144 156 Q F0 2.473(If set,)184 168 R
+F1($)4.973 E F0<08>A F2(string)A F0 4.973<0861>C(nd)-4.973 E F1($)4.973
+E F0(")A F2(string)A F0 4.973("q)C 2.473(uoting is performed within)
+-4.973 F F1(${)4.973 E F2(par)A(ameter)-.15 E F1(})A F0 -.15(ex)4.973 G
+(pansions).15 E(enclosed in double quotes.)184 180 Q
+(This option is enabled by def)5 E(ault.)-.1 E F1(failglob)144 192 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 204 S(pansion error).15 E(.)
+-.55 E F1 -.25(fo)144 216 S -.18(rc).25 G(e_\214gnor).18 E(e)-.18 E F0
+.585(If set, the suf)184 228 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 444 R .32
+-.25 F .585(ords to be ignored)-.1 F .32(when performing w)184 240 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 456 R F2 .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 468
-Q(ault.)-.1 E F1(globstar)144 480 Q F0 .439(If set, the pattern)5 F F1
-(**)2.939 E F0 .439(used in a \214lename e)2.939 F .439(xpansion conte)
--.15 F .44(xt will match a \214les and zero or)-.15 F 1.298
-(more directories and subdirectories.)184 492 R 1.298
-(If the pattern is follo)6.298 F 1.298(wed by a)-.25 F F1(/)3.797 E F0
-3.797(,o)C 1.297(nly directories)-3.797 F(and subdirectories match.)184
-504 Q F1(gnu_errfmt)144 516 Q F0(If set, shell error messages are writt\
-en in the standard GNU error message format.)184 528 Q F1(histappend)144
-540 Q F0 .383
+(he ignored w)-2.82 F .32(ords are the only possible com-)-.1 F 3.329
+(pletions. See)184 252 R/F3 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 264 Q(ault.)-.1 E F1(globstar)
+144 276 Q F0 .44(If set, the pattern)5 F F1(**)2.94 E F0 .44
+(used in a \214lename e)2.94 F .439(xpansion conte)-.15 F .439
+(xt will match a \214les and zero or)-.15 F 1.297
+(more directories and subdirectories.)184 288 R 1.298
+(If the pattern is follo)6.297 F 1.298(wed by a)-.25 F F1(/)3.798 E F0
+3.798(,o)C 1.298(nly directories)-3.798 F(and subdirectories match.)184
+300 Q F1(gnu_errfmt)144 312 Q F0(If set, shell error messages are writt\
+en in the standard GNU error message format.)184 324 Q F1(histappend)144
+336 Q F0 .384
 (If set, the history list is appended to the \214le named by the v)184
-552 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 564 Q(xits, rather than o)-.15 E
--.15(ve)-.15 G(rwriting the \214le.).15 E F1(histr)144 576 Q(eedit)-.18
-E F0 .576(If set, and)184 588 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 600 Q F1(histv)144 612 Q(erify)-.1 E F0 .402
-(If set, and)184 624 R F1 -.18(re)2.903 G(adline).18 E F0 .403
+348 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 360 Q(xits, rather than o)-.15 E
+-.15(ve)-.15 G(rwriting the \214le.).15 E F1(histr)144 372 Q(eedit)-.18
+E F0 .575(If set, and)184 384 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 396 Q F1(histv)144 408 Q(erify)-.1 E F0 .403
+(If set, and)184 420 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 636 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 648 S -.25(ff).2 G(er).25 E
+2.903 F .661(passed to the shell parser)184 432 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 444 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 660 Q F0 1.181(If set, and)184 672 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
-684 R 1.381(ord containing a)-.1 F F1(@)3.881 E F0 1.381
-(is being completed \(see)3.881 F F1(Completing)3.88 E F0(under)3.88 E
-F2(READLINE)3.88 E F0(abo)184 696 Q -.15(ve)-.15 G 2.5(\). This).15 F
-(is enabled by def)2.5 E(ault.)-.1 E(GNU Bash-4.0)72 768 Q(2008 May 25)
-147.345 E(61)197.335 E 0 Cg EP
-%%Page: 62 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/Times-Bold@0 SF(huponexit)144 84 Q F0(If set,)184 96 Q F1
-(bash)2.5 E F0(will send)2.5 E/F2 9/Times-Bold@0 SF(SIGHUP)2.5 E F0
+(hostcomplete)144 456 Q F0 1.182(If set, and)184 468 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
+480 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
+F3(READLINE)3.881 E F0(abo)184 492 Q -.15(ve)-.15 G 2.5(\). This).15 F
+(is enabled by def)2.5 E(ault.)-.1 E F1(huponexit)144 504 Q F0(If set,)
+184 516 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 108 Q -.1(ve)-.1 G(_comments).1 E F0
-.33(If set, allo)184 120 R 2.83(waw)-.25 G .33(ord be)-2.93 F .33
+.15 E(xits.)-.15 E F1(interacti)144 528 Q -.1(ve)-.1 G(_comments).1 E F0
+.33(If set, allo)184 540 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 132 R 1.267 -.15(ve s)-.25
-H .967(hell \(see).15 F F2(COMMENTS)3.467 E F0(abo)3.217 E -.15(ve)-.15
-G 3.467(\). This).15 F .967(option is)3.467 F(enabled by def)184 144 Q
-(ault.)-.1 E F1(lithist)144 156 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 168 Q
+(that line to be ignored in an interacti)184 552 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 .968(option is)3.468 F(enabled by def)184 564 Q
+(ault.)-.1 E F1(lithist)144 576 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 588 Q
 (wlines rather than using semicolon separators where possible.)-.25 E F1
-(login_shell)144 180 Q F0 .486
+(login_shell)144 600 Q F0 .486
 (The shell sets this option if it is started as a login shell \(see)184
-192 R F2(INV)2.986 E(OCA)-.405 E(TION)-.855 E F0(abo)2.736 E -.15(ve)
--.15 G 2.986(\). The).15 F -.25(va)184 204 S(lue may not be changed.).25
-E F1(mailwar)144 216 Q(n)-.15 E F0 .814(If set, and a \214le that)184
-228 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 240 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 252 Q F0 .146(If set, and)184 264 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 276 Q F1
-(nocaseglob)144 288 Q F0 .436(If set,)184 300 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 312 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 324 Q F0 1.194(If set,)184
-336 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 348 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 360 Q F0
-.854(If set,)184 372 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 384 S(pand to a null string, rather than themselv)
-.15 E(es.)-.15 E F1(pr)144 396 Q(ogcomp)-.18 E F0 .677
-(If set, the programmable completion f)184 408 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 420 Q
-(This option is enabled by def)5 E(ault.)-.1 E F1(pr)144 432 Q(omptv)
--.18 E(ars)-.1 E F0 1.447(If set, prompt strings under)184 444 R 1.448
-(go parameter e)-.18 F 1.448(xpansion, command substitution, arithmetic)
--.15 F -.15(ex)184 456 S .171(pansion, and quote remo).15 F -.25(va)-.15
+612 R F3(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 624 S(lue may not be changed.).25
+E F1(mailwar)144 636 Q(n)-.15 E F0 .815(If set, and a \214le that)184
+648 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 660 S 2.5(sc).1 G(heck)-2.5 E(ed, the message `)-.1 E
+(`The mail in)-.74 E F2(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 672
+Q F0 .145(If set, and)184 684 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 696 Q
+(GNU Bash-4.0)72 768 Q(2008 June 29)147.345 E(62)197.335 E 0 Cg EP
+%%Page: 63 63
+%%BeginPageSetup
+BP
+%%EndPageSetup
+/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
+-.35 E/F1 10/Times-Bold@0 SF(nocaseglob)144 84 Q F0 .437(If set,)184 96
+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 108 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 120 Q F0
+1.193(If set,)184 132 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 144 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 156 Q F0 .855(If set,)184
+168 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 180 S(pand to a null string, rather than themselv)
+.15 E(es.)-.15 E F1(pr)144 192 Q(ogcomp)-.18 E F0 .676
+(If set, the programmable completion f)184 204 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 216 Q
+(This option is enabled by def)5 E(ault.)-.1 E F1(pr)144 228 Q(omptv)
+-.18 E(ars)-.1 E F0 1.448(If set, prompt strings under)184 240 R 1.448
+(go parameter e)-.18 F 1.447(xpansion, command substitution, arithmetic)
+-.15 F -.15(ex)184 252 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.67 E(OMPTING)-.27 E F0(abo)2.42 E -.15(ve)-.15 G(.).15 E
-(This option is enabled by def)184 468 Q(ault.)-.1 E F1 -.18(re)144 480
-S(stricted_shell).18 E F0 1.069
+-.15 F/F2 9/Times-Bold@0 SF(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 264 Q(ault.)-.1
+E F1 -.18(re)144 276 S(stricted_shell).18 E F0 1.069
 (The shell sets this option if it is started in restricted mode \(see)
-184 492 R F2 1.069(RESTRICTED SHELL)3.569 F F0(belo)184 504 Q 4.178
+184 288 R F2 1.069(RESTRICTED SHELL)3.569 F F0(belo)184 300 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 516 S(cuted, allo).15 E(wing the startup \214les to disco)-.25 E
+184 312 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 528 Q(erbose)-.1 E F0 .501(If set, the)184 540 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 552 Q F1(sour)
-144 564 Q(cepath)-.18 E F0 .771(If set, the)184 576 R F1(sour)3.271 E
-(ce)-.18 E F0(\()3.271 E F1(.)A F0 3.271(\)b)C .771(uiltin uses the v)
--3.471 F .771(alue of)-.25 F F2 -.666(PA)3.27 G(TH)-.189 E F0 .77
-(to \214nd the directory containing the)3.02 F(\214le supplied as an ar)
-184 588 Q 2.5(gument. This)-.18 F(option is enabled by def)2.5 E(ault.)
--.1 E F1(xpg_echo)144 600 Q F0(If set, the)184 612 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 624 Q F0([)2.5 E F1<ad66>A F0(])A .492
-(Suspend the e)144 636 R -.15(xe)-.15 G .492
-(cution of this shell until it recei).15 F -.15(ve)-.25 G 2.992(sa).15 G
-F2(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 648 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 660 Q F1<ad66>2.5 E F0
-(is not supplied, or if job control is not enabled.)2.5 E F1(test)108
-672 Q F3 -.2(ex)2.5 G(pr).2 E F1([)108 684 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.188
-(operator and operand must be a separate ar)144 696 R 3.688
-(gument. Expressions)-.18 F 1.187(are composed of the primaries)3.688 F
-1.889(described abo)144 708 R 2.189 -.15(ve u)-.15 H(nder).15 E F2
-(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 720 Q
+F1(shift_v)144 324 Q(erbose)-.1 E F0 .502(If set, the)184 336 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 348 Q F1(sour)
+144 360 Q(cepath)-.18 E F0 .77(If set, the)184 372 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 384 Q 2.5(gument. This)-.18 F
+(option is enabled by def)2.5 E(ault.)-.1 E F1(xpg_echo)144 396 Q F0
+(If set, the)184 408 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 420 Q F0([)2.5 E F1<ad66>A F0(])A 1.002(Suspend the e)144 432 R -.15
+(xe)-.15 G 1.002(cution of this shell until it recei).15 F -.15(ve)-.25
+G 3.501(sa).15 G F2(SIGCONT)A F0 3.501(signal. A)3.251 F 1.001
+(login shell cannot be)3.501 F .022(suspended; the)144 444 R F1<ad66>
+2.522 E F0 .022(option can be used to o)2.522 F -.15(ve)-.15 G .022
+(rride this and force the suspension.).15 F .023(The return status is)
+5.023 F 2.5(0u)144 456 S(nless the shell is a login shell and)-2.5 E F1
+<ad66>2.5 E F0(is not supplied, or if job control is not enabled.)2.5 E
+F1(test)108 468 Q/F3 10/Times-Italic@0 SF -.2(ex)2.5 G(pr).2 E F1([)108
+480 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 492 R 3.688
+(gument. Expressions)-.18 F 1.188(are composed of the primaries)3.688 F
+1.89(described abo)144 504 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 516 Q
 (gument of)-.18 E F1<adad>2.5 E F0(as signifying the end of options.)2.5
-E(GNU Bash-4.0)72 768 Q(2008 May 25)147.345 E(62)197.335 E 0 Cg EP
-%%Page: 63 63
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E .786(Expressions may be combined using the follo)144 84 R .785
+E .785(Expressions may be combined using the follo)144 534 R .786
 (wing operators, listed in decreasing order of prece-)-.25 F 2.5
-(dence. The)144 96 R -.25(eva)2.5 G(luation depends on the number of ar)
-.25 E(guments; see belo)-.18 E -.65(w.)-.25 G/F1 10/Times-Bold@0 SF(!)
-144 108 Q/F2 10/Times-Italic@0 SF -.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 120 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
+(dence. The)144 546 R -.25(eva)2.5 G
+(luation depends on the number of ar).25 E(guments; see belo)-.18 E -.65
+(w.)-.25 G F1(!)144 558 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 570 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 132 Q F2 -.2(ex)
-144 144 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 156 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 168 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 180 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 196.8 Q F0(and)2.5 E F1([)2.5 E
+(rride the normal precedence of opera-).15 F(tors.)180 582 Q F3 -.2(ex)
+144 594 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 606 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 618 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 630 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 646.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 214.8 S -.18(rg)-2.5 G(uments).18 E(The e)
-180 226.8 Q(xpression is f)-.15 E(alse.)-.1 E 2.5(1a)144 238.8 S -.18
-(rg)-2.5 G(ument).18 E(The e)180 250.8 Q
+(guments.)-.18 E 2.5(0a)144 664.8 S -.18(rg)-2.5 G(uments).18 E(The e)
+180 676.8 Q(xpression is f)-.15 E(alse.)-.1 E 2.5(1a)144 688.8 S -.18
+(rg)-2.5 G(ument).18 E(The e)180 700.8 Q
 (xpression is true if and only if the ar)-.15 E(gument is not null.)-.18
-E 2.5(2a)144 262.8 S -.18(rg)-2.5 G(uments).18 E .37(If the \214rst ar)
-180 274.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 .379(If the \214rst ar)180 286.8 R .38
-(gument is one of the unary conditional operators listed abo)-.18 F .68
--.15(ve u)-.15 H(nder).15 E/F3 9/Times-Bold@0 SF(CONDI-)2.88 E(TION)180
-298.8 Q .553(AL EXPRESSIONS)-.18 F/F4 9/Times-Roman@0 SF(,)A F0 .552
+E(GNU Bash-4.0)72 768 Q(2008 June 29)147.345 E(63)197.335 E 0 Cg EP
+%%Page: 64 64
+%%BeginPageSetup
+BP
+%%EndPageSetup
+/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
+-.35 E 2.5(2a)144 84 S -.18(rg)-2.5 G(uments).18 E .37
+(If the \214rst ar)180 96 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 .38(If the \214rst ar)180 108 R .38
+(gument is one of the unary conditional operators listed abo)-.18 F .679
+-.15(ve u)-.15 H(nder).15 E/F2 9/Times-Bold@0 SF(CONDI-)2.879 E(TION)180
+120 Q .552(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 310.8 Q
+.552(If the \214rst ar)5.552 F(gu-)-.18 E(ment is not a v)180 132 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 322.8 S -.18(rg)-2.5 G
-(uments).18 E .023(If the second ar)180 334.8 R .023
+(xpression is f)-.15 E(alse.)-.1 E 2.5(3a)144 144 S -.18(rg)-2.5 G
+(uments).18 E .024(If the second ar)180 156 R .023
 (gument is one of the binary conditional operators listed abo)-.18 F
-.324 -.15(ve u)-.15 H(nder).15 E F3(CON-)2.524 E(DITION)180 346.8 Q
-1.478(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 .513
-(using the \214rst and third ar)180 358.8 R .513(guments as operands.)
--.18 F(The)5.513 E F1<ad61>3.013 E F0(and)3.013 E F1<ad6f>3.013 E F0
-.513(operators are considered)3.013 F .972
-(binary operators when there are three ar)180 370.8 R 3.472(guments. If)
+.323 -.15(ve u)-.15 H(nder).15 E F2(CON-)2.523 E(DITION)180 168 Q 1.477
+(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 .513
+(using the \214rst and third ar)180 180 R .513(guments as operands.)-.18
+F(The)5.513 E F1<ad61>3.013 E F0(and)3.013 E F1<ad6f>3.013 E F0 .512
+(operators are considered)3.013 F .972
+(binary operators when there are three ar)180 192 R 3.472(guments. If)
 -.18 F .972(the \214rst ar)3.472 F .972(gument is)-.18 F F1(!)3.472 E F0
-3.472(,t)C .972(he v)-3.472 F .972(alue is)-.25 F .883(the ne)180 382.8
-R -.05(ga)-.15 G .883(tion of the tw).05 F(o-ar)-.1 E .884
-(gument test using the second and third ar)-.18 F 3.384(guments. If)-.18
-F .884(the \214rst)3.384 F(ar)180 394.8 Q .875(gument is e)-.18 F
-(xactly)-.15 E F1(\()3.375 E F0 .875(and the third ar)3.375 F .875
-(gument is e)-.18 F(xactly)-.15 E F1(\))3.375 E F0 3.374(,t)C .874
-(he result is the one-ar)-3.374 F(gument)-.18 E(test of the second ar)
-180 406.8 Q 2.5(gument. Otherwise,)-.18 F(the e)2.5 E(xpression is f)
--.15 E(alse.)-.1 E 2.5(4a)144 418.8 S -.18(rg)-2.5 G(uments).18 E .384
-(If the \214rst ar)180 430.8 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 442.8 R 4.147
-(guments. Otherwise,)-.18 F 1.647(the e)4.147 F 1.647
+3.472(,t)C .972(he v)-3.472 F .972(alue is)-.25 F .884(the ne)180 204 R
+-.05(ga)-.15 G .884(tion of the tw).05 F(o-ar)-.1 E .884
+(gument test using the second and third ar)-.18 F 3.383(guments. If)-.18
+F .883(the \214rst)3.383 F(ar)180 216 Q .874(gument is e)-.18 F(xactly)
+-.15 E F1(\()3.374 E F0 .875(and the third ar)3.374 F .875(gument is e)
+-.18 F(xactly)-.15 E F1(\))3.375 E F0 3.375(,t)C .875
+(he result is the one-ar)-3.375 F(gument)-.18 E(test of the second ar)
+180 228 Q 2.5(gument. Otherwise,)-.18 F(the e)2.5 E(xpression is f)-.15
+E(alse.)-.1 E 2.5(4a)144 240 S -.18(rg)-2.5 G(uments).18 E .385
+(If the \214rst ar)180 252 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 264 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 454.8 Q -.15(ve)
--.15 G(.).15 E 2.5(5o)144 466.8 S 2.5(rm)-2.5 G(ore ar)-2.5 E(guments)
--.18 E 1.635(The e)180 478.8 R 1.635(xpression is parsed and e)-.15 F
--.25(va)-.25 G 1.635
-(luated according to precedence using the rules listed).25 F(abo)180
-490.8 Q -.15(ve)-.15 G(.).15 E F1(times)108 507.6 Q F0 1.229(Print the \
-accumulated user and system times for the shell and for processes run f\
-rom the shell.)13.23 F(The return status is 0.)144 519.6 Q F1(trap)108
-536.4 Q F0([)2.5 E F1(\255lp)A F0 2.5(][)C([)-2.5 E F2(ar)A(g)-.37 E F0
-(])A F2(sigspec)2.5 E F0(...])2.5 E .702(The command)144 548.4 R F2(ar)
-3.532 E(g)-.37 E F0 .702(is to be read and e)3.422 F -.15(xe)-.15 G .702
-(cuted when the shell recei).15 F -.15(ve)-.25 G 3.203(ss).15 G
-(ignal\(s\))-3.203 E F2(sigspec)3.203 E F0 5.703(.I).31 G(f)-5.703 E F2
-(ar)3.533 E(g)-.37 E F0(is)3.423 E .609(absent \(and there is a single)
-144 560.4 R F2(sigspec)3.108 E F0 3.108(\)o)C(r)-3.108 E F1<ad>3.108 E
+(according to precedence using the rules listed abo)180 276 Q -.15(ve)
+-.15 G(.).15 E 2.5(5o)144 288 S 2.5(rm)-2.5 G(ore ar)-2.5 E(guments)-.18
+E 1.635(The e)180 300 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 312 Q -.15(ve)-.15 G(.).15 E F1(times)108 328.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 340.8 Q F1
+(trap)108 357.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
+.703(The command)144 369.6 R F4(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 F4(sigspec)3.202 E F0 5.702(.I).31 G(f)-5.702 E F4
+(ar)3.532 E(g)-.37 E F0(is)3.422 E .608(absent \(and there is a single)
+144 381.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 572.4 R .658(alue it had upon entrance to the shell\).)
--.25 F(If)5.658 E F2(ar)3.488 E(g)-.37 E F0 .659
-(is the null string the signal speci\214ed by each)3.378 F F2(sigspec)
-144.34 584.4 Q F0 .581
-(is ignored by the shell and by the commands it in)3.391 F -.2(vo)-.4 G
--.1(ke).2 G 3.08(s. If).1 F F2(ar)3.41 E(g)-.37 E F0 .58
-(is not present and)3.3 F F1<ad70>3.08 E F0(has)3.08 E 1.214
-(been supplied, then the trap commands associated with each)144 596.4 R
-F2(sigspec)4.054 E F0 1.215(are displayed.)4.024 F 1.215(If no ar)6.215
-F(gu-)-.18 E .86(ments are supplied or if only)144 608.4 R F1<ad70>3.36
+.659(\(the v)144 393.6 R .659(alue it had upon entrance to the shell\).)
+-.25 F(If)5.658 E F4(ar)3.488 E(g)-.37 E F0 .658
+(is the null string the signal speci\214ed by each)3.378 F F4(sigspec)
+144.34 405.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 F4(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 417.6 R
+F4(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 429.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 620.4 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 632.4 R F2(sigspec)4.651 E F0 1.811
-(is either a signal name de\214ned in <)4.621 F F2(signal.h)A F0 1.81
-(>, or a signal number)B 6.81(.S)-.55 G(ignal)-6.81 E .745
-(names are case insensiti)144 644.4 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(EXIT)3.245 E F0 .745(\(0\) the command)2.995 F
-F2(ar)144.33 656.4 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 F2
-(sigspec)4.47 E F0(is)4.44 E F3(DEB)4.13 E(UG)-.09 E F4(,)A F0 1.629
-(the command)3.88 F F2(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 668.4 R -.15(ve)-.25 G(ry).15
-E F2 1.206(simple command)3.706 F F0(,)A F2(for)3.706 E F0(command,)
-3.706 E F2(case)3.706 E F0(command,)3.706 E F2(select)3.707 E F0 1.207
-(command, e)3.707 F -.15(ve)-.25 G 1.207(ry arithmetic).15 F F2(for)144
-680.4 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 F3 .412
-(SHELL GRAMMAR)2.912 F F0(abo)144 692.4 Q -.15(ve)-.15 G 2.665
-(\). Refer).15 F .166(to the description of the)2.665 F F1(extdeb)2.666
+(signal. The)144 441.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 453.6 R F4(sigspec)4.65 E F0 1.811
+(is either a signal name de\214ned in <)4.62 F F4(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 465.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 477.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 F4
+(sigspec)4.47 E F0(is)4.44 E F2(DEB)4.13 E(UG)-.09 E F3(,)A F0 1.63
+(the command)3.88 F F4(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 489.6 R -.15(ve)-.25 G(ry).15 E F4
+1.207(simple command)3.707 F F0(,)A F4(for)3.707 E F0(command,)3.706 E
+F4(case)3.706 E F0(command,)3.706 E F4(select)3.706 E F0 1.206
+(command, e)3.706 F -.15(ve)-.25 G 1.206(ry arithmetic).15 F F4(for)144
+501.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 F2 .413
+(SHELL GRAMMAR)2.912 F F0(abo)144 513.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 .509(on the)
-144 704.4 R F1(DEB)3.009 E(UG)-.1 E F0 3.009(trap. If)3.009 F(a)3.009 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 .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 716.4 R 2.506
+2.666 G .166(iltin for details of its ef).2 F(fect)-.25 E .508(on the)
+144 525.6 R F1(DEB)3.008 E(UG)-.1 E F0 3.008(trap. If)3.008 F(a)3.008 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 .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 537.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
-728.4 S .105(cuted if the f).15 F .105
+(The)7.506 E F2(ERR)5.006 E F0 2.506(trap is not)4.756 F -.15(exe)144
+549.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
-(GNU Bash-4.0)72 768 Q(2008 May 25)147.345 E(63)197.335 E 0 Cg EP
-%%Page: 64 64
+(wing a)-.25 F F1(while)2.605 E F0(or)2.605 E F1(until)2.605 E F0 -.1
+(ke)144 561.6 S(yw)-.05 E .549(ord, part of the test in an)-.1 F F4(if)
+3.059 E F0 .549(statement, part of a command e)5.009 F -.15(xe)-.15 G
+.549(cuted in a).15 F F1(&&)3.049 E F0(or)3.049 E/F5 10/Symbol SF<efef>
+3.049 E F0 .549(list, or if)3.049 F .577(the command')144 573.6 R 3.077
+(sr)-.55 G .577(eturn v)-3.077 F .577(alue is being in)-.25 F -.15(ve)
+-.4 G .577(rted via).15 F F1(!)3.077 E F0 5.578(.T)C .578
+(hese are the same conditions obe)-5.578 F .578(yed by the)-.15 F F1
+(err)144 585.6 Q(exit)-.18 E F0 3.031(option. If)3.031 F(a)3.031 E F4
+(sigspec)3.371 E F0(is)3.341 E F2(RETURN)3.031 E F3(,)A F0 .531
+(the command)2.781 F F4(ar)3.361 E(g)-.37 E F0 .531(is e)3.251 F -.15
+(xe)-.15 G .53(cuted each time a shell function).15 F .316
+(or a script e)144 597.6 R -.15(xe)-.15 G .317(cuted with the).15 F F1
+(.)2.817 E F0(or)2.817 E F1(sour)2.817 E(ce)-.18 E F0 -.2(bu)2.817 G
+.317(iltins \214nishes e).2 F -.15(xe)-.15 G 2.817(cuting. Signals).15 F
+.317(ignored upon entry to)2.817 F .787
+(the shell cannot be trapped or reset.)144 609.6 R -.35(Tr)5.787 G .787
+(apped signals that are not being ignored are reset to their).35 F 1.1
+(original v)144 621.6 R 1.1
+(alues in a child process when it is created.)-.25 F 1.1
+(The return status is f)6.1 F 1.1(alse if an)-.1 F(y)-.15 E F4(sigspec)
+3.94 E F0(is)3.91 E(in)144 633.6 Q -.25(va)-.4 G(lid; otherwise).25 E F1
+(trap)2.5 E F0(returns true.)2.5 E F1(type)108 650.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 662.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 674.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 686.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 .118
+(found, then nothing is printed, and an e)144 698.4 R .118
+(xit status of f)-.15 F .118(alse is returned.)-.1 F .119(If the)5.119 F
+F1<ad70>2.619 E F0 .119(option is used,)2.619 F F1(type)2.619 E F0 .855
+(either returns the name of the disk \214le that w)144 710.4 R .855
+(ould be e)-.1 F -.15(xe)-.15 G .855(cuted if).15 F F4(name)3.715 E F0
+.855(were speci\214ed as a com-)3.535 F .64(mand name, or nothing if)144
+722.4 R/F6 10/Courier@0 SF .64(type -t name)3.14 F F0 -.1(wo)3.14 G .641
+(uld not return).1 F F4(\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 F2 -.666(PA)3.141 G(TH)
+-.189 E F0(GNU Bash-4.0)72 768 Q(2008 June 29)147.345 E(64)197.335 E 0
+Cg EP
+%%Page: 65 65
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E -.1(ke)144 84 S(yw)-.05 E .549(ord, part of the test in an)-.1 F
-/F1 10/Times-Italic@0 SF(if)3.059 E F0 .549
-(statement, part of a command e)5.009 F -.15(xe)-.15 G .549(cuted in a)
-.15 F/F2 10/Times-Bold@0 SF(&&)3.049 E F0(or)3.049 E/F3 10/Symbol SF
-<efef>3.049 E F0 .549(list, or if)3.049 F .578(the command')144 96 R
-3.078(sr)-.55 G .578(eturn v)-3.078 F .578(alue is being in)-.25 F -.15
-(ve)-.4 G .578(rted via).15 F F2(!)3.078 E F0 5.577(.T)C .577
-(hese are the same conditions obe)-5.577 F .577(yed by the)-.15 F F2
-(err)144 108 Q(exit)-.18 E F0 3.03(option. If)3.03 F(a)3.03 E F1
-(sigspec)3.37 E F0(is)3.341 E/F4 9/Times-Bold@0 SF(RETURN)3.031 E/F5 9
-/Times-Roman@0 SF(,)A F0 .531(the command)2.781 F F1(ar)3.361 E(g)-.37 E
-F0 .531(is e)3.251 F -.15(xe)-.15 G .531
-(cuted each time a shell function).15 F .317(or a script e)144 120 R
--.15(xe)-.15 G .317(cuted with the).15 F F2(.)2.817 E F0(or)2.817 E F2
-(sour)2.817 E(ce)-.18 E F0 -.2(bu)2.817 G .317(iltins \214nishes e).2 F
--.15(xe)-.15 G 2.817(cuting. Signals).15 F .316(ignored upon entry to)
-2.817 F .787(the shell cannot be trapped or reset.)144 132 R -.35(Tr)
-5.787 G .787
-(apped signals that are not being ignored are reset to their).35 F 1.1
-(original v)144 144 R 1.1(alues in a child process when it is created.)
--.25 F 1.1(The return status is f)6.1 F 1.1(alse if an)-.1 F(y)-.15 E F1
-(sigspec)3.94 E F0(is)3.91 E(in)144 156 Q -.25(va)-.4 G(lid; otherwise)
-.25 E F2(trap)2.5 E F0(returns true.)2.5 E F2(type)108 172.8 Q F0([)2.5
-E F2(\255aftpP)A F0(])A F1(name)2.5 E F0([)2.5 E F1(name)A F0(...])2.5 E
--.4(Wi)144 184.8 S .173(th no options, indicate ho).4 F 2.673(we)-.25 G
-(ach)-2.673 E F1(name)3.033 E F0 -.1(wo)2.853 G .174
-(uld be interpreted if used as a command name.).1 F .174(If the)5.174 F
-F2<ad74>144 196.8 Q F0 .843(option is used,)3.343 F F2(type)3.343 E F0
-.843(prints a string which is one of)3.343 F F1(alias)3.343 E F0(,).27 E
-F1 -.1(ke)3.343 G(ywor)-.2 E(d)-.37 E F0(,).77 E F1(function)3.343 E F0
-(,).24 E F1 -.2(bu)3.342 G(iltin).2 E F0 3.342(,o).24 G(r)-3.342 E F1
-(\214le)5.252 E F0(if)3.522 E F1(name)144.36 208.8 Q F0 .086
-(is an alias, shell reserv)2.766 F .086(ed w)-.15 F .086
-(ord, function, b)-.1 F .087(uiltin, or disk \214le, respecti)-.2 F -.15
-(ve)-.25 G(ly).15 E 5.087(.I)-.65 G 2.587(ft)-5.087 G(he)-2.587 E F1
-(name)2.947 E F0 .087(is not)2.767 F .119
-(found, then nothing is printed, and an e)144 220.8 R .118
-(xit status of f)-.15 F .118(alse is returned.)-.1 F .118(If the)5.118 F
-F2<ad70>2.618 E F0 .118(option is used,)2.618 F F2(type)2.618 E F0 .855
-(either returns the name of the disk \214le that w)144 232.8 R .855
-(ould be e)-.1 F -.15(xe)-.15 G .855(cuted if).15 F F1(name)3.715 E F0
-.855(were speci\214ed as a com-)3.535 F .641(mand name, or nothing if)
-144 244.8 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 F1(\214le)3.14 E F0 5.64(.T).18 G(he)-5.64 E
-F2<ad50>3.14 E F0 .64(option forces a)3.14 F F4 -.666(PA)3.14 G(TH)-.189
-E F0 .112(search for each)144 256.8 R F1(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 F1(\214le)2.613 E F0 5.113(.I)
-.18 G 2.613(fac)-5.113 G .113(ommand is hashed,)-2.613 F F2<ad70>2.613 E
-F0(and)144 268.8 Q F2<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 F4
--.666(PA)2.944 G(TH)-.189 E F5(.)A F0 .444(If the)4.944 F F2<ad61>2.944
-E F0(option)2.944 E .265(is used,)144 280.8 R F2(type)2.765 E F0 .265
+-.35 E .113(search for each)144 84 R/F1 10/Times-Italic@0 SF(name)2.613
+E F0 2.613(,e)C -.15(ve)-2.863 G 2.613(ni).15 G(f)-2.613 E/F2 10
+/Courier@0 SF .113(type -t name)2.613 F F0 -.1(wo)2.613 G .113
+(uld not return).1 F F1(\214le)2.613 E F0 5.113(.I).18 G 2.613(fa)-5.113
+G .112(command is hashed,)-.001 F/F3 10/Times-Bold@0 SF<ad70>2.612 E F0
+(and)144 96 Q F3<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 9
+/Times-Bold@0 SF -.666(PA)2.945 G(TH)-.189 E/F5 9/Times-Roman@0 SF(.)A
+F0 .445(If the)4.945 F F3<ad61>2.945 E F0(option)2.945 E .265(is used,)
+144 108 R F3(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 F1(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 292.8 R F2<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 304.8 R F2<ad61>3.048 E F0 5.548(.T)C(he)
--5.548 E F2<ad66>3.048 E F0 .549
-(option suppresses shell function lookup, as with the)3.048 F F2
-(command)3.049 E F0 -.2(bu)144 316.8 S(iltin.).2 E F2(type)5 E F0
+(his includes aliases)-5.265 F .426(and functions, if and only if the)
+144 120 R F3<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 132 R F3<ad61>3.049 E F0 5.549(.T)C(he)-5.549 E F3<ad66>3.049 E F0
+.548(option suppresses shell function lookup, as with the)3.049 F F3
+(command)3.048 E F0 -.2(bu)144 144 S(iltin.).2 E F3(type)5 E F0
 (returns true if all of the ar)2.5 E(guments are found, f)-.18 E
-(alse if an)-.1 E 2.5(ya)-.15 G(re not found.)-2.5 E F2(ulimit)108 333.6
-Q F0([)2.5 E F2(\255HST)A(abcde\214lmnpqrstuvx)-.92 E F0([)2.5 E F1
-(limit)A F0(]])A(Pro)144 345.6 Q .244(vides control o)-.15 F -.15(ve)
--.15 G 2.744(rt).15 G .244(he resources a)-2.744 F -.25(va)-.2 G .244
+(alse if an)-.1 E 2.5(ya)-.15 G(re not found.)-2.5 E F3(ulimit)108 160.8
+Q F0([)2.5 E F3(\255HST)A(abcde\214lmnpqrstuvx)-.92 E F0([)2.5 E F1
+(limit)A F0(]])A(Pro)144 172.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
-.943(that allo)144 357.6 R 3.443(ws)-.25 G .943(uch control.)-3.443 F
-(The)5.943 E F2<ad48>3.443 E F0(and)3.443 E F2<ad53>3.444 E F0 .944
+.944(that allo)144 184.8 R 3.444(ws)-.25 G .944(uch control.)-3.444 F
+(The)5.944 E F3<ad48>3.444 E F0(and)3.444 E F3<ad53>3.444 E F0 .943
 (options specify that the hard or soft limit is set for the)3.444 F(gi)
-144 369.6 Q -.15(ve)-.25 G 2.709(nr).15 G 2.709(esource. A)-2.709 F .208
+144 196.8 Q -.15(ve)-.25 G 2.708(nr).15 G 2.708(esource. A)-2.708 F .208
 (hard limit cannot be increased by a non-root user once it is set; a so\
-ft limit may)2.709 F .425(be increased up to the v)144 381.6 R .425
-(alue of the hard limit.)-.25 F .426(If neither)5.425 F F2<ad48>2.926 E
-F0(nor)2.926 E F2<ad53>2.926 E F0 .426
-(is speci\214ed, both the soft and)2.926 F .139(hard limits are set.)144
-393.6 R .139(The v)5.139 F .139(alue of)-.25 F F1(limit)2.729 E F0 .139
+ft limit may)2.708 F .426(be increased up to the v)144 208.8 R .426
+(alue of the hard limit.)-.25 F .425(If neither)5.426 F F3<ad48>2.925 E
+F0(nor)2.925 E F3<ad53>2.925 E F0 .425
+(is speci\214ed, both the soft and)2.925 F .139(hard limits are set.)144
+220.8 R .139(The v)5.139 F .139(alue of)-.25 F F1(limit)2.729 E F0 .139
 (can be a number in the unit speci\214ed for the resource or one)3.319 F
-.741(of the special v)144 405.6 R(alues)-.25 E F2(hard)3.241 E F0(,)A F2
-(soft)3.241 E F0 3.241(,o)C(r)-3.241 E F2(unlimited)3.241 E F0 3.241(,w)
+.742(of the special v)144 232.8 R(alues)-.25 E F3(hard)3.242 E F0(,)A F3
+(soft)3.241 E F0 3.241(,o)C(r)-3.241 E F3(unlimited)3.241 E F0 3.241(,w)
 C .741(hich stand for the current hard limit, the current)-3.241 F .78
-(soft limit, and no limit, respecti)144 417.6 R -.15(ve)-.25 G(ly).15 E
+(soft limit, and no limit, respecti)144 244.8 R -.15(ve)-.25 G(ly).15 E
 5.78(.I)-.65 G(f)-5.78 E F1(limit)3.37 E F0 .78
 (is omitted, the current v)3.96 F .78(alue of the soft limit of the)-.25
-F .498(resource is printed, unless the)144 429.6 R F2<ad48>2.999 E F0
-.499(option is gi)2.999 F -.15(ve)-.25 G 2.999(n. When).15 F .499
+F .499(resource is printed, unless the)144 256.8 R F3<ad48>2.999 E F0
+.499(option is gi)2.999 F -.15(ve)-.25 G 2.999(n. When).15 F .498
 (more than one resource is speci\214ed, the)2.999 F
-(limit name and unit are printed before the v)144 441.6 Q 2.5
-(alue. Other)-.25 F(options are interpreted as follo)2.5 E(ws:)-.25 E F2
-<ad61>144 453.6 Q F0(All current limits are reported)25.3 E F2<ad62>144
-465.6 Q F0(The maximum sock)24.74 E(et b)-.1 E(uf)-.2 E(fer size)-.25 E
-F2<ad63>144 477.6 Q F0(The maximum size of core \214les created)25.86 E
-F2<ad64>144 489.6 Q F0(The maximum size of a process')24.74 E 2.5(sd)
--.55 G(ata se)-2.5 E(gment)-.15 E F2<ad65>144 501.6 Q F0
-(The maximum scheduling priority \("nice"\))25.86 E F2<ad66>144 513.6 Q
+(limit name and unit are printed before the v)144 268.8 Q 2.5
+(alue. Other)-.25 F(options are interpreted as follo)2.5 E(ws:)-.25 E F3
+<ad61>144 280.8 Q F0(All current limits are reported)25.3 E F3<ad62>144
+292.8 Q F0(The maximum sock)24.74 E(et b)-.1 E(uf)-.2 E(fer size)-.25 E
+F3<ad63>144 304.8 Q F0(The maximum size of core \214les created)25.86 E
+F3<ad64>144 316.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 F3<ad65>144 328.8 Q F0
+(The maximum scheduling priority \("nice"\))25.86 E F3<ad66>144 340.8 Q
 F0(The maximum size of \214les written by the shell and its children)
-26.97 E F2<ad69>144 525.6 Q F0(The maximum number of pending signals)
-27.52 E F2<ad6c>144 537.6 Q F0(The maximum size that may be lock)27.52 E
-(ed into memory)-.1 E F2<ad6d>144 549.6 Q F0
-(The maximum resident set size)21.97 E F2<ad6e>144 561.6 Q F0 .791(The \
+26.97 E F3<ad69>144 352.8 Q F0(The maximum number of pending signals)
+27.52 E F3<ad6c>144 364.8 Q F0(The maximum size that may be lock)27.52 E
+(ed into memory)-.1 E F3<ad6d>144 376.8 Q F0
+(The maximum resident set size)21.97 E F3<ad6e>144 388.8 Q F0 .791(The \
 maximum number of open \214le descriptors \(most systems do not allo)
-24.74 F 3.29(wt)-.25 G .79(his v)-3.29 F .79(alue to)-.25 F(be set\))180
-573.6 Q F2<ad70>144 585.6 Q F0
-(The pipe size in 512-byte blocks \(this may not be set\))24.74 E F2
-<ad71>144 597.6 Q F0
-(The maximum number of bytes in POSIX message queues)24.74 E F2<ad72>144
-609.6 Q F0(The maximum real-time scheduling priority)25.86 E F2<ad73>144
-621.6 Q F0(The maximum stack size)26.41 E F2<ad74>144 633.6 Q F0
-(The maximum amount of cpu time in seconds)26.97 E F2<ad75>144 645.6 Q
+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 F3<ad70>144 412.8 Q F0
+(The pipe size in 512-byte blocks \(this may not be set\))24.74 E F3
+<ad71>144 424.8 Q F0
+(The maximum number of bytes in POSIX message queues)24.74 E F3<ad72>144
+436.8 Q F0(The maximum real-time scheduling priority)25.86 E F3<ad73>144
+448.8 Q F0(The maximum stack size)26.41 E F3<ad74>144 460.8 Q F0
+(The maximum amount of cpu time in seconds)26.97 E F3<ad75>144 472.8 Q
 F0(The maximum number of processes a)24.74 E -.25(va)-.2 G
-(ilable to a single user).25 E F2<ad76>144 657.6 Q F0
+(ilable to a single user).25 E F3<ad76>144 484.8 Q F0
 (The maximum amount of virtual memory a)25.3 E -.25(va)-.2 G
-(ilable to the shell).25 E F2<ad78>144 669.6 Q F0
-(The maximum number of \214le locks)25.3 E F2<ad54>144 681.6 Q F0
-(The maximum number of threads)23.63 E(If)144 698.4 Q F1(limit)2.933 E
+(ilable to the shell).25 E F3<ad78>144 496.8 Q F0
+(The maximum number of \214le locks)25.3 E F3<ad54>144 508.8 Q F0
+(The maximum number of threads)23.63 E(If)144 525.6 Q F1(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 F2<ad61>
+(wv)-.25 G .343(alue of the speci\214ed resource \(the)-3.093 F F3<ad61>
 2.843 E F0 .343(option is display only\).)2.843 F .343(If no)5.343 F
-.176(option is gi)144 710.4 R -.15(ve)-.25 G .176(n, then).15 F F2<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 F2
-<ad74>2.675 E F0 2.675(,w)C .175(hich is in)-2.675 F(seconds,)144 722.4
-Q F2<ad70>3.563 E F0 3.563(,w)C 1.063
-(hich is in units of 512-byte blocks, and)-3.563 F F2<ad54>3.564 E F0(,)
-A F2<ad62>3.564 E F0(,)A F2<ad6e>3.564 E F0 3.564(,a)C(nd)-3.564 E F2
-<ad75>3.564 E F0 3.564(,w)C 1.064(hich are unscaled)-3.564 F
-(GNU Bash-4.0)72 768 Q(2008 May 25)147.345 E(64)197.335 E 0 Cg EP
-%%Page: 65 65
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E -.25(va)144 84 S 3.083(lues. The).25 F .583
-(return status is 0 unless an in)3.083 F -.25(va)-.4 G .583
-(lid option or ar).25 F .583(gument is supplied, or an error occurs)-.18
-F(while setting a ne)144 96 Q 2.5(wl)-.25 G(imit.)-2.5 E/F1 10
-/Times-Bold@0 SF(umask)108 112.8 Q F0([)2.5 E F1<ad70>A F0 2.5(][)C F1
-<ad53>-2.5 E F0 2.5(][)C/F2 10/Times-Italic@0 SF(mode)-2.5 E F0(])A .2
-(The user \214le-creation mask is set to)144 124.8 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
+.175(option is gi)144 537.6 R -.15(ve)-.25 G .175(n, then).15 F F3<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 F3
+<ad74>2.676 E F0 2.676(,w)C .176(hich is in)-2.676 F(seconds,)144 549.6
+Q F3<ad70>2.516 E F0 2.516(,w)C .016
+(hich is in units of 512-byte blocks, and)-2.516 F F3<ad54>2.516 E F0(,)
+A F3<ad62>2.515 E F0(,)A F3<ad6e>2.515 E F0 2.515(,a)C(nd)-2.515 E F3
+<ad75>2.515 E F0 2.515(,w)C .015(hich are unscaled v)-2.515 F(al-)-.25 E
+3.787(ues. The)144 561.6 R 1.287(return status is 0 unless an in)3.787 F
+-.25(va)-.4 G 1.287(lid option or ar).25 F 1.287
+(gument is supplied, or an error occurs)-.18 F(while setting a ne)144
+573.6 Q 2.5(wl)-.25 G(imit.)-2.5 E F3(umask)108 590.4 Q F0([)2.5 E F3
+<ad70>A F0 2.5(][)C F3<ad53>-2.5 E F0 2.5(][)C F1(mode)-2.5 E F0(])A .2
+(The user \214le-creation mask is set to)144 602.4 R F1(mode)2.7 E F0
+5.2(.I).18 G(f)-5.2 E F1(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 136.8 R F2 -.15(ch)2.566 G(mod).15 E F0(\(1\).).77 E(If)144
-148.8 Q F2(mode)3.262 E F0 .382(is omitted, the current v)3.062 F .382
-(alue of the mask is printed.)-.25 F(The)5.382 E F1<ad53>2.882 E F0 .382
+pted by)144 614.4 R F1 -.15(ch)2.566 G(mod).15 E F0(\(1\).).77 E(If)144
+626.4 Q F1(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 F3<ad53>2.882 E F0 .382
 (option causes the mask to be)2.882 F .547
-(printed in symbolic form; the def)144 160.8 R .547
+(printed in symbolic form; the def)144 638.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 172.8 Q F0 .551
-(is omitted, the output is in a form that may be reused as input.)3.231
-F .552(The return status is 0 if the)5.552 F(mode w)144 184.8 Q
-(as successfully changed or if no)-.1 E F2(mode)2.5 E F0(ar)2.5 E
-(gument w)-.18 E(as supplied, and f)-.1 E(alse otherwise.)-.1 E F1
-(unalias)108 201.6 Q F0<5bad>2.5 E F1(a)A F0 2.5(][)C F2(name)-2.5 E F0
-(...])2.5 E(Remo)144 213.6 Q 1.955 -.15(ve e)-.15 H(ach).15 E F2(name)
+(he)-3.047 E F3<ad70>3.047 E F0 .547(option is supplied, and)3.047 F F1
+(mode)144.38 650.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 662.4 Q
+(as successfully changed or if no)-.1 E F1(mode)2.5 E F0(ar)2.5 E
+(gument w)-.18 E(as supplied, and f)-.1 E(alse otherwise.)-.1 E F3
+(unalias)108 679.2 Q F0<5bad>2.5 E F3(a)A F0 2.5(][)C F1(name)-2.5 E F0
+(...])2.5 E(Remo)144 691.2 Q 1.955 -.15(ve e)-.15 H(ach).15 E F1(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 225.6 Q -.15(ve)-.15 G 2.5(d. The).15 F(return v)2.5 E
-(alue is true unless a supplied)-.25 E F2(name)2.86 E F0
-(is not a de\214ned alias.)2.68 E F1(unset)108 242.4 Q F0<5bad>2.5 E F1
-(fv)A F0 2.5(][)C F2(name)-2.5 E F0(...])2.5 E -.15(Fo)144 254.4 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 266.4 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 278.4 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 290.4 R .903
+F3<ad61>4.155 E F0 1.655(is supplied, all alias de\214nitions are)4.155
+F(remo)144 703.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 F1(name)2.86 E F0
+(is not a de\214ned alias.)2.68 E(GNU Bash-4.0)72 768 Q(2008 June 29)
+147.345 E(65)197.335 E 0 Cg EP
+%%Page: 66 66
+%%BeginPageSetup
+BP
+%%EndPageSetup
+/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
+-.35 E/F1 10/Times-Bold@0 SF(unset)108 84 Q F0<5bad>2.5 E F1(fv)A F0 2.5
+(][)C/F2 10/Times-Italic@0 SF(name)-2.5 E F0(...])2.5 E -.15(Fo)144 96 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 108 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 120 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 132 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 .902(vironment passed to subsequent commands.)-.4 F
-(If)5.902 E(an)144 302.4 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
+(rom the en)-3.402 F .903(vironment passed to subsequent commands.)-.4 F
+(If)5.903 E(an)144 144 Q 4.285(yo)-.15 G(f)-4.285 E/F3 9/Times-Bold@0 SF
+(RANDOM)4.285 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
-314.4 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 326.4 Q F2(name)2.86 E F0
-(is readonly)2.68 E(.)-.65 E F1(wait)108 343.2 Q F0([)2.5 E F2 2.5(n.)C
-(..)-2.5 E F0(])A -.8(Wa)144 355.2 S .288
+4.284 E -.495(AC)-.81 G(K).495 E F0(are)4.034 E .328(unset, the)144 156
+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 168 Q F2(name)2.86 E F0
+(is readonly)2.68 E(.)-.65 E F1(wait)108 184.8 Q F0([)2.5 E F2 2.5(n.)C
+(..)-2.5 E F0(])A -.8(Wa)144 196.8 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 367.2 R -.15(ve)-.25 G
+(Each)5.288 E F2(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 208.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
-F2(n)3.582 E F0(is)3.462 E 1.265(not gi)144 379.2 R -.15(ve)-.25 G 1.265
-(n, all currently acti).15 F 1.565 -.15(ve c)-.25 H 1.265
-(hild processes are w).15 F 1.265(aited for)-.1 F 3.765(,a)-.4 G 1.266
-(nd the return status is zero.)-3.765 F(If)6.266 E F2(n)4.126 E F0 .457
-(speci\214es a non-e)144 391.2 R .457
+F2(n)3.583 E F0(is)3.463 E 1.266(not gi)144 220.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 F2(n)4.125 E F0 .456
+(speci\214es a non-e)144 232.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 403.2 S
+(Otherwise, the return status is the)5.457 F -.15(ex)144 244.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(RESTRICTED SHELL)72 420 Q F0(If)108 432 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 444 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 456 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
+/F5 10.95/Times-Bold@0 SF(RESTRICTED SHELL)72 261.6 Q F0(If)108 273.6 Q
+F1(bash)4.397 E F0 1.897(is started with the name)4.397 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.896
+(option is supplied at in)4.397 F -.2(vo)-.4 G 1.896
+(cation, the shell becomes).2 F 3.445(restricted. A)108 285.6 R .945
+(restricted shell is used to set up an en)3.445 F .946
+(vironment more controlled than the standard shell.)-.4 F(It)5.946 E
+(beha)108 297.6 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
-472.8 S(hanging directories with)-32.5 E F1(cd)2.5 E F0 32.5<8373>108
-489.6 S(etting or unsetting the v)-32.5 E(alues of)-.25 E F1(SHELL)2.5 E
+314.4 S(hanging directories with)-32.5 E F1(cd)2.5 E F0 32.5<8373>108
+331.2 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 506.4 S
+E F1 -.3(BA)2.5 G(SH_ENV).3 E F0 32.5<8373>108 348 S
 (pecifying command names containing)-32.5 E F1(/)2.5 E F0 32.5<8373>108
-523.2 S(pecifying a \214le name containing a)-32.5 E F1(/)2.5 E F0
+364.8 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 32.5<8353>108 540 S .351
+(iltin command).2 E 32.5<8353>108 381.6 S .351
 (pecifying a \214lename containing a slash as an ar)-32.5 F .351
 (gument to the)-.18 F F1<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 552 Q 32.5
-<8369>108 568.8 S(mporting function de\214nitions from the shell en)
--32.5 E(vironment at startup)-.4 E 32.5<8370>108 585.6 S(arsing the v)
+(hash)2.851 E F0 -.2(bu)2.851 G .351(iltin com-).2 F(mand)144 393.6 Q
+32.5<8369>108 410.4 S(mporting function de\214nitions from the shell en)
+-32.5 E(vironment at startup)-.4 E 32.5<8370>108 427.2 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 602.4 S(edirecting output usi\
-ng the >, >|, <>, >&, &>, and >> redirection operators)-32.5 E 32.5
-<8375>108 619.2 S(sing the)-32.5 E F1(exec)2.5 E F0 -.2(bu)2.5 G
+(vironment at startup)-.4 E 32.5<8372>108 444 S(edirecting output using\
+ the >, >|, <>, >&, &>, and >> redirection operators)-32.5 E 32.5<8375>
+108 460.8 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 636 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 652.8 S
+108 477.6 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 494.4 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 669.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 686.4
-S(urning of)-32.5 E 2.5(fr)-.25 G(estricted mode with)-2.5 E F1(set +r)
+108 511.2 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 528 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 703.2 Q 2.5(ys)-.15 G
+(These restrictions are enforced after an)108 544.8 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 720 R -.15
-(xe)-.15 G 1.566(cuted \(see).15 F F3 1.566(COMMAND EXECUTION)4.066 F F0
-(abo)3.816 E -.15(ve)-.15 G(\),).15 E(GNU Bash-4.0)72 768 Q(2008 May 25)
-147.345 E(65)197.335 E 0 Cg EP
-%%Page: 66 66
+(When a command that is found to be a shell script is e)108 561.6 R -.15
+(xe)-.15 G 1.567(cuted \(see).15 F F3 1.567(COMMAND EXECUTION)4.067 F F0
+(abo)3.817 E -.15(ve)-.15 G(\),).15 E F1(rbash)108 573.6 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 F5(SEE ALSO)72
+590.4 Q F2(Bash Refer)108 602.4 Q(ence Manual)-.37 E F0 2.5(,B)C(rian F)
+-2.5 E(ox and Chet Rame)-.15 E(y)-.15 E F2(The Gnu Readline Libr)108
+614.4 Q(ary)-.15 E F0 2.5(,B)C(rian F)-2.5 E(ox and Chet Rame)-.15 E(y)
+-.15 E F2(The Gnu History Libr)108 626.4 Q(ary)-.15 E F0 2.5(,B)C
+(rian F)-2.5 E(ox and Chet Rame)-.15 E(y)-.15 E F2 -.8(Po)108 638.4 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 F2(sh)108 650.4
+Q F0(\(1\),)A F2(ksh)2.5 E F0(\(1\),)A F2(csh)2.5 E F0(\(1\))A F2(emacs)
+108 662.4 Q F0(\(1\),)A F2(vi)2.5 E F0(\(1\))A F2 -.37(re)108 674.4 S
+(adline).37 E F0(\(3\))A F5(FILES)72 691.2 Q F2(/bin/bash)109.666 703.2
+Q F0(The)144 715.2 Q F1(bash)2.5 E F0 -.15(exe)2.5 G(cutable).15 E
+(GNU Bash-4.0)72 768 Q(2008 June 29)147.345 E(66)197.335 E 0 Cg EP
+%%Page: 67 67
 %%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(rbash)108 84 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/F2 10.95/Times-Bold@0 SF
-(SEE ALSO)72 100.8 Q/F3 10/Times-Italic@0 SF(Bash Refer)108 112.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 F3(The Gnu Readline Libr)108 124.8 Q(ary)-.15 E F0 2.5(,B)C
-(rian F)-2.5 E(ox and Chet Rame)-.15 E(y)-.15 E F3(The Gnu History Libr)
-108 136.8 Q(ary)-.15 E F0 2.5(,B)C(rian F)-2.5 E(ox and Chet Rame)-.15 E
-(y)-.15 E F3 -.8(Po)108 148.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 F3(sh)108 160.8 Q F0(\(1\),)A F3(ksh)2.5 E
-F0(\(1\),)A F3(csh)2.5 E F0(\(1\))A F3(emacs)108 172.8 Q F0(\(1\),)A F3
-(vi)2.5 E F0(\(1\))A F3 -.37(re)108 184.8 S(adline).37 E F0(\(3\))A F2
-(FILES)72 201.6 Q F3(/bin/bash)109.666 213.6 Q F0(The)144 225.6 Q F1
-(bash)2.5 E F0 -.15(exe)2.5 G(cutable).15 E F3(/etc/pr)109.666 237.6 Q
-(o\214le)-.45 E F0(The systemwide initialization \214le, e)144 249.6 Q
--.15(xe)-.15 G(cuted for login shells).15 E F3(~/.bash_pr)109.666 261.6
-Q(o\214le)-.45 E F0(The personal initialization \214le, e)144 273.6 Q
--.15(xe)-.15 G(cuted for login shells).15 E F3(~/.bashr)109.666 285.6 Q
-(c)-.37 E F0(The indi)144 297.6 Q(vidual per)-.25 E(-interacti)-.2 E
--.15(ve)-.25 G(-shell startup \214le).15 E F3(~/.bash_lo)109.666 309.6 Q
-(gout)-.1 E F0(The indi)144 321.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 F3(~/.inputr)109.666 333.6
-Q(c)-.37 E F0(Indi)144 345.6 Q(vidual)-.25 E F3 -.37(re)2.5 G(adline).37
-E F0(initialization \214le)2.5 E F2 -.548(AU)72 362.4 S(THORS).548 E F0
-(Brian F)108 374.4 Q(ox, Free Softw)-.15 E(are F)-.1 E(oundation)-.15 E
-(bfox@gnu.or)108 386.4 Q(g)-.18 E(Chet Rame)108 403.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.cwru.edu)108 415.2 Q F2 -.11(BU)72 432 S
-2.738(GR).11 G(EPOR)-2.738 E(TS)-.438 E F0 .567(If you \214nd a b)108
-444 R .568(ug in)-.2 F F1(bash,)3.068 E F0 .568(you should report it.)
+-.35 E/F1 10/Times-Italic@0 SF(/etc/pr)109.666 84 Q(o\214le)-.45 E F0
+(The systemwide initialization \214le, e)144 96 Q -.15(xe)-.15 G
+(cuted for login shells).15 E F1(~/.bash_pr)109.666 108 Q(o\214le)-.45 E
+F0(The personal initialization \214le, e)144 120 Q -.15(xe)-.15 G
+(cuted for login shells).15 E F1(~/.bashr)109.666 132 Q(c)-.37 E F0
+(The indi)144 144 Q(vidual per)-.25 E(-interacti)-.2 E -.15(ve)-.25 G
+(-shell startup \214le).15 E F1(~/.bash_lo)109.666 156 Q(gout)-.1 E F0
+(The indi)144 168 Q(vidual login shell cleanup \214le, e)-.25 E -.15(xe)
+-.15 G(cuted when a login shell e).15 E(xits)-.15 E F1(~/.inputr)109.666
+180 Q(c)-.37 E F0(Indi)144 192 Q(vidual)-.25 E F1 -.37(re)2.5 G(adline)
+.37 E F0(initialization \214le)2.5 E/F2 10.95/Times-Bold@0 SF -.548(AU)
+72 208.8 S(THORS).548 E F0(Brian F)108 220.8 Q(ox, Free Softw)-.15 E
+(are F)-.1 E(oundation)-.15 E(bfox@gnu.or)108 232.8 Q(g)-.18 E
+(Chet Rame)108 249.6 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.cwru.edu)108 261.6 Q F2 -.11(BU)72 278.4 S 2.738(GR).11 G(EPOR)
+-2.738 E(TS)-.438 E F0 .568(If you \214nd a b)108 290.4 R .568(ug in)-.2
+F/F3 10/Times-Bold@0 SF(bash,)3.068 E F0 .568(you should report it.)
 3.068 F .568(But \214rst, you should mak)5.568 F 3.068(es)-.1 G .568
-(ure that it really is a b)-3.068 F .568(ug, and)-.2 F 5.626
-(that it appears in the latest v)108 456 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 F3(ftp://ftp.gnu.or)108 468 Q(g/pub/bash/)-.37 E F0
-(.)A .41(Once you ha)108 484.8 R .71 -.15(ve d)-.2 H .41
-(etermined that a b).15 F .41(ug actually e)-.2 F .411(xists, use the)
--.15 F F3(bashb)3.181 E(ug)-.2 E F0 .411(command to submit a b)3.131 F
-.411(ug report.)-.2 F(If)5.411 E .595(you ha)108 496.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 508.8 Q F3 -.2(bu)2.5 G(g-bash@gnu.or).2 E(g)-.37 E F0
-(or posted to the Usenet ne)2.5 E(wsgroup)-.25 E F1(gnu.bash.b)2.5 E(ug)
--.2 E F0(.)A(ALL b)108 525.6 Q(ug reports should include:)-.2 E(The v)
-108 542.4 Q(ersion number of)-.15 E F1(bash)2.5 E F0(The hardw)108 554.4
-Q(are and operating system)-.1 E(The compiler used to compile)108 566.4
-Q 2.5(Ad)108 578.4 S(escription of the b)-2.5 E(ug beha)-.2 E(viour)-.2
-E 2.5(As)108 590.4 S(hort script or `recipe' which e)-2.5 E -.15(xe)-.15
-G(rcises the b).15 E(ug)-.2 E F3(bashb)108.27 607.2 Q(ug)-.2 E F0
+(ure that it really is a b)-3.068 F .567(ug, and)-.2 F 5.625
+(that it appears in the latest v)108 302.4 R 5.625(ersion of)-.15 F F3
+(bash)8.125 E F0 10.625(.T)C 5.625(he latest v)-10.625 F 5.626
+(ersion is al)-.15 F -.1(wa)-.1 G 5.626(ys a).1 F -.25(va)-.2 G 5.626
+(ilable from).25 F F1(ftp://ftp.gnu.or)108 314.4 Q(g/pub/bash/)-.37 E F0
+(.)A .411(Once you ha)108 331.2 R .711 -.15(ve d)-.2 H .411
+(etermined that a b).15 F .411(ug actually e)-.2 F .411(xists, use the)
+-.15 F F1(bashb)3.18 E(ug)-.2 E F0 .41(command to submit a b)3.13 F .41
+(ug report.)-.2 F(If)5.41 E .594(you ha)108 343.2 R .894 -.15(ve a \214)
+-.2 H .595(x, you are encouraged to mail that as well!).15 F .595
+(Suggestions and `philosophical' b)5.595 F .595(ug reports may)-.2 F
+(be mailed to)108 355.2 Q F1 -.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 F3(gnu.bash.b)2.5 E(ug)
+-.2 E F0(.)A(ALL b)108 372 Q(ug reports should include:)-.2 E(The v)108
+388.8 Q(ersion number of)-.15 E F3(bash)2.5 E F0(The hardw)108 400.8 Q
+(are and operating system)-.1 E(The compiler used to compile)108 412.8 Q
+2.5(Ad)108 424.8 S(escription of the b)-2.5 E(ug beha)-.2 E(viour)-.2 E
+2.5(As)108 436.8 S(hort script or `recipe' which e)-2.5 E -.15(xe)-.15 G
+(rcises the b).15 E(ug)-.2 E F1(bashb)108.27 453.6 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
-624 Q(ug reports concerning this manual page should be directed to)-.2 E
-F3 -.15(ch)2.5 G(et@po.cwru.edu).15 E F0(.).25 E F2 -.11(BU)72 640.8 S
-(GS).11 E F0(It')108 652.8 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 669.6 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 681.6 Q F0
-(speci\214cation.)2.25 E(Aliases are confusing in some uses.)108 698.4 Q
-(Shell b)108 715.2 Q
+470.4 Q(ug reports concerning this manual page should be directed to)-.2
+E F1 -.15(ch)2.5 G(et@po.cwru.edu).15 E F0(.).25 E F2 -.11(BU)72 487.2 S
+(GS).11 E F0(It')108 499.2 Q 2.5(st)-.55 G(oo big and too slo)-2.5 E
+-.65(w.)-.25 G 1.869(There are some subtle dif)108 516 R 1.869
+(ferences between)-.25 F F3(bash)4.369 E F0 1.869(and traditional v)
+4.369 F 1.869(ersions of)-.15 F F3(sh)4.368 E F0 4.368(,m)C 1.868
+(ostly because of the)-4.368 F/F4 9/Times-Bold@0 SF(POSIX)108 528 Q F0
+(speci\214cation.)2.25 E(Aliases are confusing in some uses.)108 544.8 Q
+(Shell b)108 561.6 Q
 (uiltin commands and functions are not stoppable/restartable.)-.2 E
-(GNU Bash-4.0)72 768 Q(2008 May 25)147.345 E(66)197.335 E 0 Cg EP
-%%Page: 67 67
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E 1.315(Compound commands and command sequences of the form `a ; b\
- ; c' are not handled gracefully when)108 84 R .389
-(process suspension is attempted.)108 96 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 108 R .192(It suf)5.193 F .192(\214ces to place the sequence of com\
-mands between parentheses to force it into a)-.25 F
-(subshell, which may be stopped as a unit.)108 120 Q .955
-(Commands inside of)108 136.8 R/F1 10/Times-Bold@0 SF($\()3.455 E F0
-(...)A F1(\))A F0 .956
+1.315(Compound commands and command sequences of the form `a ; b ; c' a\
+re not handled gracefully when)108 578.4 R .39
+(process suspension is attempted.)108 590.4 R .389
+(When a process is stopped, the shell immediately e)5.39 F -.15(xe)-.15
+G .389(cutes the ne).15 F .389(xt com-)-.15 F .192
+(mand in the sequence.)108 602.4 R .192(It suf)5.192 F .192(\214ces to \
+place the sequence of commands between parentheses to force it into a)
+-.25 F(subshell, which may be stopped as a unit.)108 614.4 Q .956
+(Commands inside of)108 631.2 R F3($\()3.456 E F0(...)A F3(\))A F0 .956
 (command substitution are not parsed until substitution is attempted.)
-3.455 F .956(This will)5.956 F .567
+3.456 F .955(This will)5.955 F .567
 (delay error reporting until some time after the command is entered.)108
-148.8 R -.15(Fo)5.567 G 3.067(re).15 G .567
-(xample, unmatched parentheses,)-3.217 F -2.15 -.25(ev e)108 160.8 T 2.5
+643.2 R -.15(Fo)5.567 G 3.067(re).15 G .568
+(xample, unmatched parentheses,)-3.217 F -2.15 -.25(ev e)108 655.2 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 177.6 Q
+ construct is being read.)-2.5 E(Array v)108 672 Q
 (ariables may not \(yet\) be e)-.25 E(xported.)-.15 E(GNU Bash-4.0)72
-768 Q(2008 May 25)147.345 E(67)197.335 E 0 Cg EP
+768 Q(2008 June 29)147.345 E(67)197.335 E 0 Cg EP
 %%Trailer
 end
 %%EOF
index 0894535beafdaf5afc1f222beae1b6c81711cfbb..00ef47f4539c55e6d0107993951cf053f31d5de6 100644 (file)
 @xrdef{Command Substitution-pg}{22}
 @xrdef{Command Substitution-snt}{Section@tie 3.5.4}
 @xrdef{Arithmetic Expansion-title}{Arithmetic Expansion}
-@xrdef{Arithmetic Expansion-pg}{22}
+@xrdef{Arithmetic Expansion-pg}{23}
 @xrdef{Arithmetic Expansion-snt}{Section@tie 3.5.5}
 @xrdef{Process Substitution-title}{Process Substitution}
-@xrdef{Process Substitution-pg}{22}
+@xrdef{Process Substitution-pg}{23}
 @xrdef{Process Substitution-snt}{Section@tie 3.5.6}
 @xrdef{Word Splitting-title}{Word Splitting}
 @xrdef{Word Splitting-pg}{23}
 @xrdef{Word Splitting-snt}{Section@tie 3.5.7}
 @xrdef{Filename Expansion-title}{Filename Expansion}
-@xrdef{Filename Expansion-pg}{23}
+@xrdef{Filename Expansion-pg}{24}
 @xrdef{Filename Expansion-snt}{Section@tie 3.5.8}
 @xrdef{Pattern Matching-title}{Pattern Matching}
 @xrdef{Pattern Matching-pg}{24}
 @xrdef{Quote Removal-pg}{25}
 @xrdef{Quote Removal-snt}{Section@tie 3.5.9}
 @xrdef{Redirections-title}{Redirections}
-@xrdef{Redirections-pg}{25}
+@xrdef{Redirections-pg}{26}
 @xrdef{Redirections-snt}{Section@tie 3.6}
 @xrdef{Executing Commands-title}{Executing Commands}
 @xrdef{Executing Commands-pg}{29}
 @xrdef{Command Search and Execution-pg}{30}
 @xrdef{Command Search and Execution-snt}{Section@tie 3.7.2}
 @xrdef{Command Execution Environment-title}{Command Execution Environment}
-@xrdef{Command Execution Environment-pg}{30}
+@xrdef{Command Execution Environment-pg}{31}
 @xrdef{Command Execution Environment-snt}{Section@tie 3.7.3}
 @xrdef{Environment-title}{Environment}
-@xrdef{Environment-pg}{31}
+@xrdef{Environment-pg}{32}
 @xrdef{Environment-snt}{Section@tie 3.7.4}
 @xrdef{Exit Status-title}{Exit Status}
 @xrdef{Exit Status-pg}{32}
 @xrdef{Exit Status-snt}{Section@tie 3.7.5}
 @xrdef{Signals-title}{Signals}
-@xrdef{Signals-pg}{32}
+@xrdef{Signals-pg}{33}
 @xrdef{Signals-snt}{Section@tie 3.7.6}
 @xrdef{Shell Scripts-title}{Shell Scripts}
 @xrdef{Shell Scripts-pg}{33}
 @xrdef{The Directory Stack-pg}{79}
 @xrdef{The Directory Stack-snt}{Section@tie 6.8}
 @xrdef{Directory Stack Builtins-title}{Directory Stack Builtins}
-@xrdef{Directory Stack Builtins-pg}{79}
+@xrdef{Directory Stack Builtins-pg}{80}
 @xrdef{Directory Stack Builtins-snt}{Section@tie 6.8.1}
 @xrdef{Printing a Prompt-title}{Controlling the Prompt}
 @xrdef{Printing a Prompt-pg}{81}
 @xrdef{The Restricted Shell-pg}{82}
 @xrdef{The Restricted Shell-snt}{Section@tie 6.10}
 @xrdef{Bash POSIX Mode-title}{Bash POSIX Mode}
-@xrdef{Bash POSIX Mode-pg}{82}
+@xrdef{Bash POSIX Mode-pg}{83}
 @xrdef{Bash POSIX Mode-snt}{Section@tie 6.11}
 @xrdef{Job Control-title}{Job Control}
 @xrdef{Job Control-pg}{87}
index 6e69b4089615c32da58aef46ed038ce142bd4e16..c7ca1412512017167b4d6c4d1e6e53950325a909 100644 (file)
@@ -17,7 +17,7 @@
 \entry{[}{39}{\code {[}}
 \entry{times}{40}{\code {times}}
 \entry{trap}{40}{\code {trap}}
-\entry{umask}{40}{\code {umask}}
+\entry{umask}{41}{\code {umask}}
 \entry{unset}{41}{\code {unset}}
 \entry{alias}{41}{\code {alias}}
 \entry{bind}{41}{\code {bind}}
@@ -32,7 +32,7 @@
 \entry{local}{46}{\code {local}}
 \entry{logout}{46}{\code {logout}}
 \entry{mapfile}{46}{\code {mapfile}}
-\entry{printf}{46}{\code {printf}}
+\entry{printf}{47}{\code {printf}}
 \entry{read}{47}{\code {read}}
 \entry{source}{48}{\code {source}}
 \entry{type}{48}{\code {type}}
@@ -41,7 +41,7 @@
 \entry{unalias}{50}{\code {unalias}}
 \entry{set}{50}{\code {set}}
 \entry{shopt}{54}{\code {shopt}}
-\entry{dirs}{79}{\code {dirs}}
+\entry{dirs}{80}{\code {dirs}}
 \entry{popd}{80}{\code {popd}}
 \entry{pushd}{80}{\code {pushd}}
 \entry{bg}{88}{\code {bg}}
index 39a6449f51eb9eafbe5bcb36f23014f8d5d94e72..80f91ec46df229f79966f6401fe9b3bdc4d6e268 100644 (file)
@@ -21,7 +21,7 @@
 \entry {\code {continue}}{36}
 \initial {D}
 \entry {\code {declare}}{43}
-\entry {\code {dirs}}{79}
+\entry {\code {dirs}}{80}
 \entry {\code {disown}}{89}
 \initial {E}
 \entry {\code {echo}}{44}
@@ -51,7 +51,7 @@
 \entry {\code {mapfile}}{46}
 \initial {P}
 \entry {\code {popd}}{80}
-\entry {\code {printf}}{46}
+\entry {\code {printf}}{47}
 \entry {\code {pushd}}{80}
 \entry {\code {pwd}}{38}
 \initial {R}
@@ -72,7 +72,7 @@
 \entry {\code {typeset}}{49}
 \initial {U}
 \entry {\code {ulimit}}{49}
-\entry {\code {umask}}{40}
+\entry {\code {umask}}{41}
 \entry {\code {unalias}}{50}
 \entry {\code {unset}}{41}
 \initial {W}
index 4476e17666e87f91f6896b4231fa0ebaf0fd888b..6fda06994651212f35b1ccfcc814eaa0a59c9772 100644 (file)
 \entry{parameter expansion}{19}{parameter expansion}
 \entry{expansion, parameter}{19}{expansion, parameter}
 \entry{command substitution}{22}{command substitution}
-\entry{expansion, arithmetic}{22}{expansion, arithmetic}
-\entry{arithmetic expansion}{22}{arithmetic expansion}
-\entry{process substitution}{22}{process substitution}
+\entry{expansion, arithmetic}{23}{expansion, arithmetic}
+\entry{arithmetic expansion}{23}{arithmetic expansion}
+\entry{process substitution}{23}{process substitution}
 \entry{word splitting}{23}{word splitting}
-\entry{expansion, filename}{23}{expansion, filename}
-\entry{expansion, pathname}{23}{expansion, pathname}
-\entry{filename expansion}{23}{filename expansion}
-\entry{pathname expansion}{23}{pathname expansion}
+\entry{expansion, filename}{24}{expansion, filename}
+\entry{expansion, pathname}{24}{expansion, pathname}
+\entry{filename expansion}{24}{filename expansion}
+\entry{pathname expansion}{24}{pathname expansion}
 \entry{pattern matching}{24}{pattern matching}
 \entry{matching, pattern}{24}{matching, pattern}
-\entry{redirection}{25}{redirection}
+\entry{redirection}{26}{redirection}
 \entry{command expansion}{29}{command expansion}
 \entry{command execution}{30}{command execution}
 \entry{command search}{30}{command search}
-\entry{execution environment}{30}{execution environment}
-\entry{environment}{31}{environment}
+\entry{execution environment}{31}{execution environment}
+\entry{environment}{32}{environment}
 \entry{exit status}{32}{exit status}
-\entry{signal handling}{32}{signal handling}
+\entry{signal handling}{33}{signal handling}
 \entry{shell script}{33}{shell script}
 \entry{special builtin}{58}{special builtin}
 \entry{login shell}{71}{login shell}
@@ -87,7 +87,7 @@
 \entry{directory stack}{79}{directory stack}
 \entry{prompting}{81}{prompting}
 \entry{restricted shell}{82}{restricted shell}
-\entry{POSIX Mode}{82}{POSIX Mode}
+\entry{POSIX Mode}{83}{POSIX Mode}
 \entry{job control}{87}{job control}
 \entry{foreground}{87}{foreground}
 \entry{background}{87}{background}
index f4bcd578c57a1bfe19387e4d29de3ae623a1b92a..aafd9057ffd697c0d71f343d83dd672d4b6baefe 100644 (file)
@@ -1,7 +1,7 @@
 \initial {A}
 \entry {alias expansion}{77}
 \entry {arithmetic evaluation}{76}
-\entry {arithmetic expansion}{22}
+\entry {arithmetic expansion}{23}
 \entry {arithmetic, shell}{76}
 \entry {arrays}{78}
 \initial {B}
 \entry {directory stack}{79}
 \initial {E}
 \entry {editing command lines}{91}
-\entry {environment}{31}
+\entry {environment}{32}
 \entry {evaluation, arithmetic}{76}
 \entry {event designators}{122}
-\entry {execution environment}{30}
+\entry {execution environment}{31}
 \entry {exit status}{3, 32}
 \entry {expansion}{17}
-\entry {expansion, arithmetic}{22}
+\entry {expansion, arithmetic}{23}
 \entry {expansion, brace}{18}
-\entry {expansion, filename}{23}
+\entry {expansion, filename}{24}
 \entry {expansion, parameter}{19}
-\entry {expansion, pathname}{23}
+\entry {expansion, pathname}{24}
 \entry {expansion, tilde}{18}
 \entry {expressions, arithmetic}{76}
 \entry {expressions, conditional}{75}
 \initial {F}
 \entry {field}{3}
 \entry {filename}{3}
-\entry {filename expansion}{23}
+\entry {filename expansion}{24}
 \entry {foreground}{87}
 \entry {functions, shell}{14}
 \initial {H}
 \entry {parameters}{15}
 \entry {parameters, positional}{16}
 \entry {parameters, special}{16}
-\entry {pathname expansion}{23}
+\entry {pathname expansion}{24}
 \entry {pattern matching}{24}
 \entry {pipeline}{8}
 \entry {POSIX}{3}
-\entry {POSIX Mode}{82}
+\entry {POSIX Mode}{83}
 \entry {process group}{3}
 \entry {process group ID}{3}
-\entry {process substitution}{22}
+\entry {process substitution}{23}
 \entry {programmable completion}{112}
 \entry {prompting}{81}
 \initial {Q}
 \entry {quoting, ANSI}{6}
 \initial {R}
 \entry {Readline, how to use}{90}
-\entry {redirection}{25}
+\entry {redirection}{26}
 \entry {reserved word}{3}
 \entry {restricted shell}{82}
 \entry {return status}{3}
 \entry {shell variable}{15}
 \entry {shell, interactive}{73}
 \entry {signal}{4}
-\entry {signal handling}{32}
+\entry {signal handling}{33}
 \entry {special builtin}{4, 58}
 \entry {startup files}{71}
 \entry {suspending jobs}{87}
index 384bc1beedc2515ebae9e33f1acbb3a9b24a2e28..7027dd3642cc6ef000c8a7929ac6f74c7b6a0188 100644 (file)
Binary files a/doc/bashref.dvi and b/doc/bashref.dvi differ
index 221f90fd8cd0534393d99b0833a818bf9d9693ab..752f75e7eb729e0963bd4fce2b12eaab2ecd1765 100644 (file)
@@ -1,6 +1,6 @@
 <HTML>
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<!-- Created on May, 29  2008 by texi2html 1.64 -->
+<!-- Created on July, 2  2008 by texi2html 1.64 -->
 <!-- 
 Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
             Karl Berry  <karl@freefriends.org>
@@ -33,10 +33,10 @@ Send bugs and suggestions to <texi2html@mathematik.uni-kl.de>
 <H1>Bash Reference Manual</H1></P><P>
 
 This text is a brief description of the features that are present in
-the Bash shell (version 4.0, 25 May 2008).
+the Bash shell (version 4.0, 29 June 2008).
 </P><P>
 
-This is Edition 4.0, last updated 25 May 2008,
+This is Edition 4.0, last updated 29 June 2008,
 of <CITE>The GNU Bash Reference Manual</CITE>,
 for <CODE>Bash</CODE>, Version 4.0.
 </P><P>
@@ -1635,7 +1635,8 @@ When <SAMP>`+='</SAMP> is applied to an array variable using compound assignment
 (see section <A HREF="bashref.html#SEC84">6.7 Arrays</A>), the
 variable's value is not unset (as it is when using <SAMP>`='</SAMP>), and new
 values are appended to the array beginning at one greater than the array's
-maximum index.
+maximum index (for indexed arrays),  or added as additional key-value pairs
+in an associative array.
 When applied to a string-valued variable, <VAR>value</VAR> is expanded and
 appended to the variable's value.
 </P><P>
@@ -2163,11 +2164,15 @@ If <VAR>offset</VAR> evaluates to a number less than zero, the value
 is used as an offset from the end of the value of <VAR>parameter</VAR>.
 If <VAR>parameter</VAR> is <SAMP>`@'</SAMP>, the result is <VAR>length</VAR> positional
 parameters beginning at <VAR>offset</VAR>.
-If <VAR>parameter</VAR> is an array name indexed by <SAMP>`@'</SAMP> or <SAMP>`*'</SAMP>,
-the result is the <VAR>length</VAR>
+If <VAR>parameter</VAR> is an indexed array name subscripted
+by <SAMP>`@'</SAMP> or <SAMP>`*'</SAMP>, the result is the <VAR>length</VAR>
 members of the array beginning with <CODE>${<VAR>parameter</VAR>[<VAR>offset</VAR>]}</CODE>.
 A negative <VAR>offset</VAR> is taken relative to one greater than the maximum
 index of the specified array.
+Substring expansion applied to an associative array produces undefined
+results.
+</P><P>
+
 Note that a negative offset must be separated from the colon by at least
 one space to avoid being confused with the <SAMP>`:-'</SAMP> expansion.
 Substring indexing is zero-based unless the positional parameters
@@ -2262,6 +2267,30 @@ the substitution operation is applied to each member of the
 array in turn, and the expansion is the resultant list.
 </P><P>
 
+<DT><CODE>${<VAR>parameter</VAR>^<VAR>pattern</VAR>}</CODE>
+<DD><DT><CODE>${<VAR>parameter</VAR>^^<VAR>pattern</VAR>}</CODE>
+<DD><DT><CODE>${<VAR>parameter</VAR>,<VAR>pattern</VAR>}</CODE>
+<DD><DT><CODE>${<VAR>parameter</VAR>,,<VAR>pattern</VAR>}</CODE>
+<DD>This expansion modifies the case of alphabetic characters in <VAR>parameter</VAR>.
+The <VAR>pattern</VAR> is expanded to produce a pattern just as in
+pathname expansion.
+The <SAMP>`^'</SAMP> operator converts lowercase letters matching <VAR>pattern</VAR>
+to uppercase; the <SAMP>`,'</SAMP> operator converts matching uppercase letters
+to lowercase.
+The <SAMP>`^^'</SAMP> and <SAMP>`,,'</SAMP> expansions convert each matched character in the
+expanded value; the <SAMP>`^'</SAMP> and <SAMP>`,'</SAMP> expansions match and convert only
+the first character.
+If <VAR>pattern</VAR> is omitted, it is treated like a <SAMP>`?'</SAMP>, which matches
+every character.
+If <VAR>parameter</VAR> is <SAMP>`@'</SAMP> or <SAMP>`*'</SAMP>,
+the case modification operation is applied to each positional
+parameter in turn, and the expansion is the resultant list.
+If <VAR>parameter</VAR>
+is an array variable subscripted with <SAMP>`@'</SAMP> or <SAMP>`*'</SAMP>,
+the case modification operation is applied to each member of the
+array in turn, and the expansion is the resultant list.
+<P>
+
 </DL>
 <P>
 
@@ -3934,12 +3963,14 @@ is supplied.
 
 <DT><CODE>readonly</CODE>
 <DD><A NAME="IDX80"></A>
-<TABLE><tr><td>&nbsp;</td><td class=example><pre>readonly [-apf] [<VAR>name</VAR>[=<VAR>value</VAR>]] <small>...</small>
+<TABLE><tr><td>&nbsp;</td><td class=example><pre>readonly [-aApf] [<VAR>name</VAR>[=<VAR>value</VAR>]] <small>...</small>
 </pre></td></tr></table>Mark each <VAR>name</VAR> as readonly.
 The values of these names may not be changed by subsequent assignment.
 If the <SAMP>`-f'</SAMP> option is supplied, each <VAR>name</VAR> refers to a shell
 function.
-The <SAMP>`-a'</SAMP> option means each <VAR>name</VAR> refers to an array variable.
+The <SAMP>`-a'</SAMP> option means each <VAR>name</VAR> refers to an indexed
+array variable; the <SAMP>`-A'</SAMP> option means each <VAR>name</VAR> refers
+to an associative array variable.
 If no <VAR>name</VAR> arguments are given, or if the <SAMP>`-p'</SAMP>
 option is supplied, a list of all readonly names is printed.
 The <SAMP>`-p'</SAMP> option causes output to be displayed in a format that
@@ -4371,7 +4402,7 @@ zero if <VAR>command</VAR> is found, and non-zero if not.
 
 <DT><CODE>declare</CODE>
 <DD><A NAME="IDX94"></A>
-<TABLE><tr><td>&nbsp;</td><td class=example><pre>declare [-afFirtx] [-p] [<VAR>name</VAR>[=<VAR>value</VAR>] <small>...</small>]
+<TABLE><tr><td>&nbsp;</td><td class=example><pre>declare [-aAfFirtx] [-p] [<VAR>name</VAR>[=<VAR>value</VAR>] <small>...</small>]
 </pre></td></tr></table><P>
 
 Declare variables and give them attributes.  If no <VAR>name</VAR>s
@@ -4404,7 +4435,11 @@ the specified attributes or to give variables attributes:
 
 <DL COMPACT>
 <DT><CODE>-a</CODE>
-<DD>Each <VAR>name</VAR> is an array variable (see section <A HREF="bashref.html#SEC84">6.7 Arrays</A>).
+<DD>Each <VAR>name</VAR> is an indexed array variable (see section <A HREF="bashref.html#SEC84">6.7 Arrays</A>).
+<P>
+
+<DT><CODE>-A</CODE>
+<DD>Each <VAR>name</VAR> is an associative array variable (see section <A HREF="bashref.html#SEC84">6.7 Arrays</A>).
 <P>
 
 <DT><CODE>-f</CODE>
@@ -4738,8 +4773,10 @@ not echoed.
 input is not read within <VAR>timeout</VAR> seconds.
 <VAR>timeout</VAR>  may be a decimal number with a fractional portion following
 the decimal point.
-This option has no effect if <CODE>read</CODE> is not reading input from the
-terminal or a pipe.
+This option is only effective if <CODE>read</CODE> is reading input from a
+terminal, pipe, or other special file; it has no effect when reading
+from regular files.
+The exit status is greater than 128 if the timeout is exceeded.
 <P>
 
 <DT><CODE>-u <VAR>fd</VAR></CODE>
@@ -5877,8 +5914,18 @@ that do not require Bash to be re-initialized.
 <P>
 
 <A NAME="IDX135"></A>
-<DT><CODE>BASH_ARGC</CODE>
+<DT><CODE>BASH_ALIASES</CODE>
 <DD><A NAME="IDX136"></A>
+An associative array variable whose members correspond to the internal
+list of aliases as maintained by the <CODE>alias</CODE> builtin
+(see section <A HREF="bashref.html#SEC58">4.1 Bourne Shell Builtins</A>).
+Elements added to this array appear in the alias list; unsetting array
+elements cause aliases to be removed from the alias list.
+<P>
+
+<A NAME="IDX137"></A>
+<DT><CODE>BASH_ARGC</CODE>
+<DD><A NAME="IDX138"></A>
 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
@@ -5891,9 +5938,9 @@ for a description of the <CODE>extdebug</CODE> option to the <CODE>shopt</CODE>
 builtin).
 <P>
 
-<A NAME="IDX137"></A>
+<A NAME="IDX139"></A>
 <DT><CODE>BASH_ARGV</CODE>
-<DD><A NAME="IDX138"></A>
+<DD><A NAME="IDX140"></A>
 An array variable containing all of the parameters in the current bash
 execution call stack.  The final parameter of the last subroutine call
 is at the top of the stack; the first parameter of the initial call is
@@ -5905,31 +5952,41 @@ for a description of the <CODE>extdebug</CODE> option to the <CODE>shopt</CODE>
 builtin).
 <P>
 
-<A NAME="IDX139"></A>
+<A NAME="IDX141"></A>
+<DT><CODE>BASH_CMDS</CODE>
+<DD><A NAME="IDX142"></A>
+An associative array variable whose members correspond to the internal
+hash table of commands as maintained by the <CODE>hash</CODE> builtin
+(see section <A HREF="bashref.html#SEC58">4.1 Bourne Shell Builtins</A>).
+Elements added to this array appear in the hash table; unsetting array
+elements cause commands to be removed from the hash table.
+<P>
+
+<A NAME="IDX143"></A>
 <DT><CODE>BASH_COMMAND</CODE>
-<DD><A NAME="IDX140"></A>
+<DD><A NAME="IDX144"></A>
 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 trap.
 <P>
 
-<A NAME="IDX141"></A>
+<A NAME="IDX145"></A>
 <DT><CODE>BASH_ENV</CODE>
-<DD><A NAME="IDX142"></A>
+<DD><A NAME="IDX146"></A>
 If this variable is set when Bash is invoked to execute a shell
 script, its value is expanded and used as the name of a startup file
 to read before executing the script.  See section <A HREF="bashref.html#SEC69">6.2 Bash Startup Files</A>.
 <P>
 
-<A NAME="IDX143"></A>
+<A NAME="IDX147"></A>
 <DT><CODE>BASH_EXECUTION_STRING</CODE>
-<DD><A NAME="IDX144"></A>
+<DD><A NAME="IDX148"></A>
 The command argument to the <SAMP>`-c'</SAMP> invocation option.
 <P>
 
-<A NAME="IDX145"></A>
+<A NAME="IDX149"></A>
 <DT><CODE>BASH_LINENO</CODE>
-<DD><A NAME="IDX146"></A>
+<DD><A NAME="IDX150"></A>
 An array variable whose members are the line numbers in source files
 corresponding to each member of <VAR>FUNCNAME</VAR>.
 <CODE>${BASH_LINENO[$i]}</CODE> is the line number in the source file where
@@ -5939,9 +5996,9 @@ The corresponding source file name is <CODE>${BASH_SOURCE[$i]}</CODE>.
 Use <CODE>LINENO</CODE> to obtain the current line number.
 <P>
 
-<A NAME="IDX147"></A>
+<A NAME="IDX151"></A>
 <DT><CODE>BASH_REMATCH</CODE>
-<DD><A NAME="IDX148"></A>
+<DD><A NAME="IDX152"></A>
 An array variable whose members are assigned by the <SAMP>`=~'</SAMP> binary
 operator to the <CODE>[[</CODE> conditional command
 (see section <A HREF="bashref.html#SEC21">3.2.4.2 Conditional Constructs</A>).
@@ -5952,23 +6009,23 @@ string matching the <VAR>n</VAR>th parenthesized subexpression.
 This variable is read-only.
 <P>
 
-<A NAME="IDX149"></A>
+<A NAME="IDX153"></A>
 <DT><CODE>BASH_SOURCE</CODE>
-<DD><A NAME="IDX150"></A>
+<DD><A NAME="IDX154"></A>
 An array variable whose members are the source filenames corresponding
 to the elements in the <CODE>FUNCNAME</CODE> array variable.
 <P>
 
-<A NAME="IDX151"></A>
+<A NAME="IDX155"></A>
 <DT><CODE>BASH_SUBSHELL</CODE>
-<DD><A NAME="IDX152"></A>
+<DD><A NAME="IDX156"></A>
 Incremented by one each time a subshell or subshell environment is spawned.
 The initial value is 0.
 <P>
 
-<A NAME="IDX153"></A>
+<A NAME="IDX157"></A>
 <DT><CODE>BASH_VERSINFO</CODE>
-<DD><A NAME="IDX154"></A>
+<DD><A NAME="IDX158"></A>
 A readonly array variable (see section <A HREF="bashref.html#SEC84">6.7 Arrays</A>)
 whose members hold version information for this instance of Bash.
 The values assigned to the array members are as follows:
@@ -6003,41 +6060,41 @@ The values assigned to the array members are as follows:
 </DL>
 <P>
 
-<A NAME="IDX155"></A>
+<A NAME="IDX159"></A>
 <DT><CODE>BASH_VERSION</CODE>
-<DD><A NAME="IDX156"></A>
+<DD><A NAME="IDX160"></A>
 The version number of the current instance of Bash.
 <P>
 
-<A NAME="IDX157"></A>
+<A NAME="IDX161"></A>
 <DT><CODE>COLUMNS</CODE>
-<DD><A NAME="IDX158"></A>
+<DD><A NAME="IDX162"></A>
 Used by the <CODE>select</CODE> builtin command to determine the terminal width
 when printing selection lists.  Automatically set upon receipt of a
 <CODE>SIGWINCH</CODE>.
 <P>
 
-<A NAME="IDX159"></A>
+<A NAME="IDX163"></A>
 <DT><CODE>COMP_CWORD</CODE>
-<DD><A NAME="IDX160"></A>
+<DD><A NAME="IDX164"></A>
 An index into <CODE>${COMP_WORDS}</CODE> of the word containing the current
 cursor position.
 This variable is available only in shell functions invoked by the
 programmable completion facilities (see section <A HREF="bashref.html#SEC116">8.6 Programmable Completion</A>).
 <P>
 
-<A NAME="IDX161"></A>
+<A NAME="IDX165"></A>
 <DT><CODE>COMP_LINE</CODE>
-<DD><A NAME="IDX162"></A>
+<DD><A NAME="IDX166"></A>
 The current command line.
 This variable is available only in shell functions and external
 commands invoked by the
 programmable completion facilities (see section <A HREF="bashref.html#SEC116">8.6 Programmable Completion</A>).
 <P>
 
-<A NAME="IDX163"></A>
+<A NAME="IDX167"></A>
 <DT><CODE>COMP_POINT</CODE>
-<DD><A NAME="IDX164"></A>
+<DD><A NAME="IDX168"></A>
 The index of the current cursor position relative to the beginning of
 the current command.
 If the current cursor position is at the end of the current command,
@@ -6047,9 +6104,9 @@ commands invoked by the
 programmable completion facilities (see section <A HREF="bashref.html#SEC116">8.6 Programmable Completion</A>).
 <P>
 
-<A NAME="IDX165"></A>
+<A NAME="IDX169"></A>
 <DT><CODE>COMP_TYPE</CODE>
-<DD><A NAME="IDX166"></A>
+<DD><A NAME="IDX170"></A>
 Set to an integer value corresponding to the type of completion attempted
 that caused a completion function to be called:
 <VAR>TAB</VAR>, for normal completion,
@@ -6063,25 +6120,25 @@ commands invoked by the
 programmable completion facilities (see section <A HREF="bashref.html#SEC116">8.6 Programmable Completion</A>).
 <P>
 
-<A NAME="IDX167"></A>
+<A NAME="IDX171"></A>
 <DT><CODE>COMP_KEY</CODE>
-<DD><A NAME="IDX168"></A>
+<DD><A NAME="IDX172"></A>
 The key (or final key of a key sequence) used to invoke the current
 completion function.
 <P>
 
-<A NAME="IDX169"></A>
+<A NAME="IDX173"></A>
 <DT><CODE>COMP_WORDBREAKS</CODE>
-<DD><A NAME="IDX170"></A>
+<DD><A NAME="IDX174"></A>
 The set of characters that the Readline library treats as word
 separators when performing word completion.
 If <CODE>COMP_WORDBREAKS</CODE> is unset, it loses its special properties,
 even if it is subsequently reset.
 <P>
 
-<A NAME="IDX171"></A>
+<A NAME="IDX175"></A>
 <DT><CODE>COMP_WORDS</CODE>
-<DD><A NAME="IDX172"></A>
+<DD><A NAME="IDX176"></A>
 An array variable consisting of the individual
 words in the current command line.
 The words are split on shell metacharacters as the shell parser would
@@ -6090,17 +6147,17 @@ This variable is available only in shell functions invoked by the
 programmable completion facilities (see section <A HREF="bashref.html#SEC116">8.6 Programmable Completion</A>).
 <P>
 
-<A NAME="IDX173"></A>
+<A NAME="IDX177"></A>
 <DT><CODE>COMPREPLY</CODE>
-<DD><A NAME="IDX174"></A>
+<DD><A NAME="IDX178"></A>
 An array variable from which Bash reads the possible completions
 generated by a shell function invoked by the programmable completion
 facility (see section <A HREF="bashref.html#SEC116">8.6 Programmable Completion</A>).
 <P>
 
-<A NAME="IDX175"></A>
+<A NAME="IDX179"></A>
 <DT><CODE>DIRSTACK</CODE>
-<DD><A NAME="IDX176"></A>
+<DD><A NAME="IDX180"></A>
 An array variable containing the current contents of the directory stack.
 Directories appear in the stack in the order they are displayed by the
 <CODE>dirs</CODE> builtin.
@@ -6112,31 +6169,31 @@ If <CODE>DIRSTACK</CODE> is unset, it loses its special properties, even if
 it is subsequently reset.
 <P>
 
-<A NAME="IDX177"></A>
+<A NAME="IDX181"></A>
 <DT><CODE>EMACS</CODE>
-<DD><A NAME="IDX178"></A>
+<DD><A NAME="IDX182"></A>
 If Bash finds this variable in the environment when the shell
 starts with value <SAMP>`t'</SAMP>, it assumes that the shell is running in an
 emacs shell buffer and disables line editing.
 <P>
 
-<A NAME="IDX179"></A>
+<A NAME="IDX183"></A>
 <DT><CODE>EUID</CODE>
-<DD><A NAME="IDX180"></A>
+<DD><A NAME="IDX184"></A>
 The numeric effective user id of the current user.  This variable
 is readonly.
 <P>
 
-<A NAME="IDX181"></A>
+<A NAME="IDX185"></A>
 <DT><CODE>FCEDIT</CODE>
-<DD><A NAME="IDX182"></A>
+<DD><A NAME="IDX186"></A>
 The editor used as a default by the <SAMP>`-e'</SAMP> option to the <CODE>fc</CODE>
 builtin command.
 <P>
 
-<A NAME="IDX183"></A>
+<A NAME="IDX187"></A>
 <DT><CODE>FIGNORE</CODE>
-<DD><A NAME="IDX184"></A>
+<DD><A NAME="IDX188"></A>
 A colon-separated list of suffixes to ignore when performing
 filename completion.
 A file name whose suffix matches one of the entries in 
@@ -6145,9 +6202,9 @@ is excluded from the list of matched file names.  A sample
 value is <SAMP>`.o:~'</SAMP>
 <P>
 
-<A NAME="IDX185"></A>
+<A NAME="IDX189"></A>
 <DT><CODE>FUNCNAME</CODE>
-<DD><A NAME="IDX186"></A>
+<DD><A NAME="IDX190"></A>
 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
@@ -6159,9 +6216,9 @@ If <CODE>FUNCNAME</CODE> is unset, it loses its special properties, even if
 it is subsequently reset.
 <P>
 
-<A NAME="IDX187"></A>
+<A NAME="IDX191"></A>
 <DT><CODE>GLOBIGNORE</CODE>
-<DD><A NAME="IDX188"></A>
+<DD><A NAME="IDX192"></A>
 A colon-separated list of patterns defining the set of filenames to
 be ignored by filename expansion.
 If a filename matched by a filename expansion pattern also matches one
@@ -6169,9 +6226,9 @@ of the patterns in <CODE>GLOBIGNORE</CODE>, it is removed from the list
 of matches.
 <P>
 
-<A NAME="IDX189"></A>
+<A NAME="IDX193"></A>
 <DT><CODE>GROUPS</CODE>
-<DD><A NAME="IDX190"></A>
+<DD><A NAME="IDX194"></A>
 An array variable containing the list of groups of which the current    
 user is a member.
 Assignments to <CODE>GROUPS</CODE> have no effect and return an error status.
@@ -6179,9 +6236,9 @@ If <CODE>GROUPS</CODE> is unset, it loses its special properties, even if it is
 subsequently reset.
 <P>
 
-<A NAME="IDX191"></A>
+<A NAME="IDX195"></A>
 <DT><CODE>histchars</CODE>
-<DD><A NAME="IDX192"></A>
+<DD><A NAME="IDX196"></A>
 Up to three characters which control history expansion, quick
 substitution, and tokenization (see section <A HREF="bashref.html#SEC121">9.3 History Expansion</A>).
 The first character is the
@@ -6196,17 +6253,17 @@ remaining words on the line.  It does not necessarily cause the shell
 parser to treat the rest of the line as a comment.
 <P>
 
-<A NAME="IDX193"></A>
+<A NAME="IDX197"></A>
 <DT><CODE>HISTCMD</CODE>
-<DD><A NAME="IDX194"></A>
+<DD><A NAME="IDX198"></A>
 The history number, or index in the history list, of the current
 command.  If <CODE>HISTCMD</CODE> is unset, it loses its special properties,
 even if it is subsequently reset.
 <P>
 
-<A NAME="IDX195"></A>
+<A NAME="IDX199"></A>
 <DT><CODE>HISTCONTROL</CODE>
-<DD><A NAME="IDX196"></A>
+<DD><A NAME="IDX200"></A>
 A colon-separated list of values controlling how commands are saved on
 the history list.
 If the list of values includes <SAMP>`ignorespace'</SAMP>, lines which begin
@@ -6227,16 +6284,16 @@ not tested, and are added to the history regardless of the value of
 <CODE>HISTCONTROL</CODE>.
 <P>
 
-<A NAME="IDX197"></A>
+<A NAME="IDX201"></A>
 <DT><CODE>HISTFILE</CODE>
-<DD><A NAME="IDX198"></A>
+<DD><A NAME="IDX202"></A>
 The name of the file to which the command history is saved.  The
 default value is <TT>`~/.bash_history'</TT>.
 <P>
 
-<A NAME="IDX199"></A>
+<A NAME="IDX203"></A>
 <DT><CODE>HISTFILESIZE</CODE>
-<DD><A NAME="IDX200"></A>
+<DD><A NAME="IDX204"></A>
 The maximum number of lines contained in the history file.  When this
 variable is assigned a value, the history file is truncated, if
 necessary, by removing the oldest entries,
@@ -6246,9 +6303,9 @@ writing it when an interactive shell exits.
 The default value is 500.
 <P>
 
-<A NAME="IDX201"></A>
+<A NAME="IDX205"></A>
 <DT><CODE>HISTIGNORE</CODE>
-<DD><A NAME="IDX202"></A>
+<DD><A NAME="IDX206"></A>
 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 complete
@@ -6270,16 +6327,16 @@ Combining these two patterns, separating them with a colon,
 provides the functionality of <CODE>ignoreboth</CODE>. 
 </P><P>
 
-<A NAME="IDX203"></A>
+<A NAME="IDX207"></A>
 <DT><CODE>HISTSIZE</CODE>
-<DD><A NAME="IDX204"></A>
+<DD><A NAME="IDX208"></A>
 The maximum number of commands to remember on the history list.
 The default value is 500.
 <P>
 
-<A NAME="IDX205"></A>
+<A NAME="IDX209"></A>
 <DT><CODE>HISTTIMEFORMAT</CODE>
-<DD><A NAME="IDX206"></A>
+<DD><A NAME="IDX210"></A>
 If this variable is set and not null, its value is used as a format string
 for <VAR>strftime</VAR> to print the time stamp associated with each history
 entry displayed by the <CODE>history</CODE> builtin.
@@ -6289,9 +6346,9 @@ This uses the history comment character to distinguish timestamps from
 other history lines.
 <P>
 
-<A NAME="IDX207"></A>
+<A NAME="IDX211"></A>
 <DT><CODE>HOSTFILE</CODE>
-<DD><A NAME="IDX208"></A>
+<DD><A NAME="IDX212"></A>
 Contains the name of a file in the same format as <TT>`/etc/hosts'</TT> that
 should be read when the shell needs to complete a hostname.
 The list of possible hostname completions may be changed while the shell
@@ -6304,21 +6361,21 @@ If <CODE>HOSTFILE</CODE> is set, but has no value, Bash attempts to read
 When <CODE>HOSTFILE</CODE> is unset, the hostname list is cleared.
 <P>
 
-<A NAME="IDX209"></A>
+<A NAME="IDX213"></A>
 <DT><CODE>HOSTNAME</CODE>
-<DD><A NAME="IDX210"></A>
+<DD><A NAME="IDX214"></A>
 The name of the current host.
 <P>
 
-<A NAME="IDX211"></A>
+<A NAME="IDX215"></A>
 <DT><CODE>HOSTTYPE</CODE>
-<DD><A NAME="IDX212"></A>
+<DD><A NAME="IDX216"></A>
 A string describing the machine Bash is running on.
 <P>
 
-<A NAME="IDX213"></A>
+<A NAME="IDX217"></A>
 <DT><CODE>IGNOREEOF</CODE>
-<DD><A NAME="IDX214"></A>
+<DD><A NAME="IDX218"></A>
 Controls the action of the shell on receipt of an <CODE>EOF</CODE> character
 as the sole input.  If set, the value denotes the number
 of consecutive <CODE>EOF</CODE> characters that can be read as the
@@ -6329,30 +6386,30 @@ If the variable does not exist, then <CODE>EOF</CODE> signifies the end of
 input to the shell.  This is only in effect for interactive shells.
 <P>
 
-<A NAME="IDX215"></A>
+<A NAME="IDX219"></A>
 <DT><CODE>INPUTRC</CODE>
-<DD><A NAME="IDX216"></A>
+<DD><A NAME="IDX220"></A>
 The name of the Readline initialization file, overriding the default
 of <TT>`~/.inputrc'</TT>.
 <P>
 
-<A NAME="IDX217"></A>
+<A NAME="IDX221"></A>
 <DT><CODE>LANG</CODE>
-<DD><A NAME="IDX218"></A>
+<DD><A NAME="IDX222"></A>
 Used to determine the locale category for any category not specifically
 selected with a variable starting with <CODE>LC_</CODE>.
 <P>
 
-<A NAME="IDX219"></A>
+<A NAME="IDX223"></A>
 <DT><CODE>LC_ALL</CODE>
-<DD><A NAME="IDX220"></A>
+<DD><A NAME="IDX224"></A>
 This variable overrides the value of <CODE>LANG</CODE> and any other
 <CODE>LC_</CODE> variable specifying a locale category.
 <P>
 
-<A NAME="IDX221"></A>
+<A NAME="IDX225"></A>
 <DT><CODE>LC_COLLATE</CODE>
-<DD><A NAME="IDX222"></A>
+<DD><A NAME="IDX226"></A>
 This variable determines the collation order used when sorting the
 results of filename expansion, and
 determines the behavior of range expressions, equivalence classes,
@@ -6360,51 +6417,51 @@ and collating sequences within filename expansion and pattern matching
 (see section <A HREF="bashref.html#SEC35">3.5.8 Filename Expansion</A>).
 <P>
 
-<A NAME="IDX223"></A>
+<A NAME="IDX227"></A>
 <DT><CODE>LC_CTYPE</CODE>
-<DD><A NAME="IDX224"></A>
+<DD><A NAME="IDX228"></A>
 This variable determines the interpretation of characters and the
 behavior of character classes within filename expansion and pattern
 matching (see section <A HREF="bashref.html#SEC35">3.5.8 Filename Expansion</A>).
 <P>
 
-<A NAME="IDX225"></A>
+<A NAME="IDX229"></A>
 <DT><CODE>LC_MESSAGES</CODE>
-<DD><A NAME="IDX226"></A>
+<DD><A NAME="IDX230"></A>
 This variable determines the locale used to translate double-quoted
 strings preceded by a <SAMP>`$'</SAMP> (see section <A HREF="bashref.html#SEC13">3.1.2.5 Locale-Specific Translation</A>).
 <P>
 
-<A NAME="IDX227"></A>
+<A NAME="IDX231"></A>
 <DT><CODE>LC_NUMERIC</CODE>
-<DD><A NAME="IDX228"></A>
+<DD><A NAME="IDX232"></A>
 This variable determines the locale category used for number formatting.
 <P>
 
-<A NAME="IDX229"></A>
+<A NAME="IDX233"></A>
 <DT><CODE>LINENO</CODE>
-<DD><A NAME="IDX230"></A>
+<DD><A NAME="IDX234"></A>
 The line number in the script or shell function currently executing.
 <P>
 
-<A NAME="IDX231"></A>
+<A NAME="IDX235"></A>
 <DT><CODE>LINES</CODE>
-<DD><A NAME="IDX232"></A>
+<DD><A NAME="IDX236"></A>
 Used by the <CODE>select</CODE> builtin command to determine the column length
 for printing selection lists.  Automatically set upon receipt of a
 <CODE>SIGWINCH</CODE>.
 <P>
 
-<A NAME="IDX233"></A>
+<A NAME="IDX237"></A>
 <DT><CODE>MACHTYPE</CODE>
-<DD><A NAME="IDX234"></A>
+<DD><A NAME="IDX238"></A>
 A string that fully describes the system type on which Bash
 is executing, in the standard GNU <VAR>cpu-company-system</VAR> format.
 <P>
 
-<A NAME="IDX235"></A>
+<A NAME="IDX239"></A>
 <DT><CODE>MAILCHECK</CODE>
-<DD><A NAME="IDX236"></A>
+<DD><A NAME="IDX240"></A>
 How often (in seconds) that the shell should check for mail in the
 files specified in the <CODE>MAILPATH</CODE> or <CODE>MAIL</CODE> variables.
 The default is 60 seconds.  When it is time to check
@@ -6413,37 +6470,37 @@ 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.
 <P>
 
-<A NAME="IDX237"></A>
+<A NAME="IDX241"></A>
 <DT><CODE>OLDPWD</CODE>
-<DD><A NAME="IDX238"></A>
+<DD><A NAME="IDX242"></A>
 The previous working directory as set by the <CODE>cd</CODE> builtin.
 <P>
 
-<A NAME="IDX239"></A>
+<A NAME="IDX243"></A>
 <DT><CODE>OPTERR</CODE>
-<DD><A NAME="IDX240"></A>
+<DD><A NAME="IDX244"></A>
 If set to the value 1, Bash displays error messages
 generated by the <CODE>getopts</CODE> builtin command.
 <P>
 
-<A NAME="IDX241"></A>
+<A NAME="IDX245"></A>
 <DT><CODE>OSTYPE</CODE>
-<DD><A NAME="IDX242"></A>
+<DD><A NAME="IDX246"></A>
 A string describing the operating system Bash is running on.
 <P>
 
-<A NAME="IDX243"></A>
+<A NAME="IDX247"></A>
 <DT><CODE>PIPESTATUS</CODE>
-<DD><A NAME="IDX244"></A>
+<DD><A NAME="IDX248"></A>
 An array variable (see section <A HREF="bashref.html#SEC84">6.7 Arrays</A>)
 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>
 
-<A NAME="IDX245"></A>
+<A NAME="IDX249"></A>
 <DT><CODE>POSIXLY_CORRECT</CODE>
-<DD><A NAME="IDX246"></A>
+<DD><A NAME="IDX250"></A>
 If this variable is in the environment when <CODE>bash</CODE> starts, the shell
 enters POSIX mode (see section <A HREF="bashref.html#SEC89">6.11 Bash POSIX Mode</A>) before reading the
 startup files, as if the <SAMP>`--posix'</SAMP> invocation option had been supplied.
@@ -6453,31 +6510,40 @@ as if the command
 </pre></td></tr></table>had been executed.  
 <P>
 
-<A NAME="IDX247"></A>
+<A NAME="IDX251"></A>
 <DT><CODE>PPID</CODE>
-<DD><A NAME="IDX248"></A>
+<DD><A NAME="IDX252"></A>
 The process ID of the shell's parent process.  This variable
 is readonly.
 <P>
 
-<A NAME="IDX249"></A>
+<A NAME="IDX253"></A>
 <DT><CODE>PROMPT_COMMAND</CODE>
-<DD><A NAME="IDX250"></A>
+<DD><A NAME="IDX254"></A>
 If set, the value is interpreted as a command to execute
 before the printing of each primary prompt (<CODE>$PS1</CODE>).
 <P>
 
-<A NAME="IDX251"></A>
-<DT><CODE>PS3</CODE>
-<DD><A NAME="IDX252"></A>
+<A NAME="IDX255"></A>
+<DT><CODE>PROMPT_DIRTRIM</CODE>
+<DD><A NAME="IDX256"></A>
+If set to a number greater than zero, the value is used as the number of
+trailing directory components to retain when expanding the <CODE>\w</CODE> and
+<CODE>\W</CODE> prompt string escapes (see section <A HREF="bashref.html#SEC87">6.9 Controlling the Prompt</A>).
+Characters removed are replaced with an ellipsis.
+<P>
+
+<A NAME="IDX257"></A>
+<DT><CODE>PS3</CODE>
+<DD><A NAME="IDX258"></A>
 The value of this variable is used as the prompt for the
 <CODE>select</CODE> command.  If this variable is not set, the
 <CODE>select</CODE> command prompts with <SAMP>`#? '</SAMP>
 <P>
 
-<A NAME="IDX253"></A>
+<A NAME="IDX259"></A>
 <DT><CODE>PS4</CODE>
-<DD><A NAME="IDX254"></A>
+<DD><A NAME="IDX260"></A>
 The value is the prompt printed before the command line is echoed
 when the <SAMP>`-x'</SAMP> option is set (see section <A HREF="bashref.html#SEC61">4.3.1 The Set Builtin</A>).
 The first character of <CODE>PS4</CODE> is replicated multiple times, as
@@ -6485,29 +6551,29 @@ necessary, to indicate multiple levels of indirection.
 The default is <SAMP>`+ '</SAMP>.
 <P>
 
-<A NAME="IDX255"></A>
+<A NAME="IDX261"></A>
 <DT><CODE>PWD</CODE>
-<DD><A NAME="IDX256"></A>
+<DD><A NAME="IDX262"></A>
 The current working directory as set by the <CODE>cd</CODE> builtin.
 <P>
 
-<A NAME="IDX257"></A>
+<A NAME="IDX263"></A>
 <DT><CODE>RANDOM</CODE>
-<DD><A NAME="IDX258"></A>
+<DD><A NAME="IDX264"></A>
 Each time this parameter is referenced, a random integer
 between 0 and 32767 is generated.  Assigning a value to this
 variable seeds the random number generator.
 <P>
 
-<A NAME="IDX259"></A>
+<A NAME="IDX265"></A>
 <DT><CODE>REPLY</CODE>
-<DD><A NAME="IDX260"></A>
+<DD><A NAME="IDX266"></A>
 The default variable for the <CODE>read</CODE> builtin.
 <P>
 
-<A NAME="IDX261"></A>
+<A NAME="IDX267"></A>
 <DT><CODE>SECONDS</CODE>
-<DD><A NAME="IDX262"></A>
+<DD><A NAME="IDX268"></A>
 This variable expands to the number of seconds since the
 shell was started.  Assignment to this variable resets
 the count to the value assigned, and the expanded value
@@ -6515,17 +6581,17 @@ becomes the value assigned plus the number of seconds
 since the assignment.
 <P>
 
-<A NAME="IDX263"></A>
+<A NAME="IDX269"></A>
 <DT><CODE>SHELL</CODE>
-<DD><A NAME="IDX264"></A>
+<DD><A NAME="IDX270"></A>
 The full pathname to the shell is kept in this environment variable.
 If it is not set when the shell starts,
 Bash assigns to it the full pathname of the current user's login shell.
 <P>
 
-<A NAME="IDX265"></A>
+<A NAME="IDX271"></A>
 <DT><CODE>SHELLOPTS</CODE>
-<DD><A NAME="IDX266"></A>
+<DD><A NAME="IDX272"></A>
 A colon-separated list of enabled shell options.  Each word in
 the list is a valid argument for the <SAMP>`-o'</SAMP> option to the
 <CODE>set</CODE> builtin command (see section <A HREF="bashref.html#SEC61">4.3.1 The Set Builtin</A>).
@@ -6536,16 +6602,16 @@ starts up, each shell option in the list will be enabled before
 reading any startup files.  This variable is readonly.
 <P>
 
-<A NAME="IDX267"></A>
+<A NAME="IDX273"></A>
 <DT><CODE>SHLVL</CODE>
-<DD><A NAME="IDX268"></A>
+<DD><A NAME="IDX274"></A>
 Incremented by one each time a new instance of Bash is started.  This is
 intended to be a count of how deeply your Bash shells are nested.
 <P>
 
-<A NAME="IDX269"></A>
+<A NAME="IDX275"></A>
 <DT><CODE>TIMEFORMAT</CODE>
-<DD><A NAME="IDX270"></A>
+<DD><A NAME="IDX276"></A>
 The value of this parameter is used as a format string specifying
 how the timing information for pipelines prefixed with the <CODE>time</CODE>
 reserved word should be displayed.
@@ -6598,9 +6664,9 @@ If this variable is not set, Bash acts as if it had the value
 A trailing newline is added when the format string is displayed.
 </P><P>
 
-<A NAME="IDX271"></A>
+<A NAME="IDX277"></A>
 <DT><CODE>TMOUT</CODE>
-<DD><A NAME="IDX272"></A>
+<DD><A NAME="IDX278"></A>
 If set to a value greater than zero, <CODE>TMOUT</CODE> is treated as the
 default timeout for the <CODE>read</CODE> builtin (see section <A HREF="bashref.html#SEC59">4.2 Bash Builtin Commands</A>).
 The <CODE>select</CODE> command (see section <A HREF="bashref.html#SEC21">3.2.4.2 Conditional Constructs</A>) terminates
@@ -6615,16 +6681,16 @@ Bash terminates after that number of seconds if input does
 not arrive.
 </P><P>
 
-<A NAME="IDX273"></A>
+<A NAME="IDX279"></A>
 <DT><CODE>TMPDIR</CODE>
-<DD><A NAME="IDX274"></A>
+<DD><A NAME="IDX280"></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="IDX275"></A>
+<A NAME="IDX281"></A>
 <DT><CODE>UID</CODE>
-<DD><A NAME="IDX276"></A>
+<DD><A NAME="IDX282"></A>
 The numeric real user id of the current user.  This variable is readonly.
 <P>
 
@@ -6844,12 +6910,12 @@ Any arguments after the <CODE>--</CODE> are treated as filenames and arguments.
 </DL>
 <P>
 
-<A NAME="IDX277"></A>
+<A NAME="IDX283"></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="IDX278"></A>
+<A NAME="IDX284"></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
@@ -7690,15 +7756,19 @@ For almost every purpose, shell functions are preferred over aliases.
 <!--docid::SEC84::-->
 <P>
 
-Bash provides one-dimensional array variables.  Any variable may be used as
-an array; the <CODE>declare</CODE> builtin will explicitly declare an array.
+Bash provides one-dimensional indexed and associative array variables.
+Any variable may be used as an indexed array;
+the <CODE>declare</CODE> 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 zero-based.
+be indexed or assigned contiguously.
+Indexed arrays are referenced using integers (including arithmetic
+expressions (see section <A HREF="bashref.html#SEC82">6.5 Shell Arithmetic</A>) and are zero-based;
+associative arrays use arbitrary strings.
 </P><P>
 
-An array is created automatically if any variable is assigned to using
-the syntax
+An indexed array is created automatically if any variable is assigned to
+using the syntax
 <TABLE><tr><td>&nbsp;</td><td class=example><pre>name[<VAR>subscript</VAR>]=<VAR>value</VAR>
 </pre></td></tr></table></P><P>
 
@@ -7708,7 +7778,14 @@ greater than or equal to zero.  To explicitly declare an array, use
 <TABLE><tr><td>&nbsp;</td><td class=example><pre>declare -a <VAR>name</VAR>
 </pre></td></tr></table>The syntax
 <TABLE><tr><td>&nbsp;</td><td class=example><pre>declare -a <VAR>name</VAR>[<VAR>subscript</VAR>]
-</pre></td></tr></table>is also accepted; the <VAR>subscript</VAR> is ignored.  Attributes may be
+</pre></td></tr></table>is also accepted; the <VAR>subscript</VAR> is ignored.
+</P><P>
+
+Associative arrays are created using
+<TABLE><tr><td>&nbsp;</td><td class=example><pre>declare -A <VAR>name</VAR>.
+</pre></td></tr></table></P><P>
+
+Attributes may be
 specified for an array variable using the <CODE>declare</CODE> and
 <CODE>readonly</CODE> builtins.  Each attribute applies to all members of
 an array.
@@ -7717,10 +7794,17 @@ an array.
 Arrays are assigned to using compound assignments of the form
 <TABLE><tr><td>&nbsp;</td><td class=example><pre>name=(value<VAR>1</VAR> <small>...</small> value<VAR>n</VAR>)
 </pre></td></tr></table>where each
-<VAR>value</VAR> is of the form <CODE>[[<VAR>subscript</VAR>]=]</CODE><VAR>string</VAR>.  If
+<VAR>value</VAR> is of the form <CODE>[<VAR>subscript</VAR>]=</CODE><VAR>string</VAR>.
+Indexed array assignments do not require the bracket and subscript.
+When assigning to indexed arrays, if
 the optional subscript is 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.
+</P><P>
+
+When assigning to an associative array, the subscript is required.
+</P><P>
+
 This syntax is also accepted by the <CODE>declare</CODE>
 builtin.  Individual array elements may be assigned to using the
 <CODE>name[</CODE><VAR>subscript</VAR><CODE>]=</CODE><VAR>value</VAR> syntax introduced above.
@@ -7750,7 +7834,7 @@ expansion of the special parameters <SAMP>`@'</SAMP> and <SAMP>`*'</SAMP>.
 If <VAR>subscript</VAR> is <SAMP>`@'</SAMP> or
 <SAMP>`*'</SAMP>, the expansion is the number of elements in the array. 
 Referencing an array variable without a subscript is equivalent to
-referencing element zero
+referencing with a subscript of 0
 </P><P>
 
 The <CODE>unset</CODE> builtin is used to destroy arrays.
@@ -7764,9 +7848,9 @@ entire array.
 </P><P>
 
 The <CODE>declare</CODE>, <CODE>local</CODE>, and <CODE>readonly</CODE>
-builtins each accept a <SAMP>`-a'</SAMP>
-option to specify an array.  The <CODE>read</CODE>
-builtin accepts a <SAMP>`-a'</SAMP>
+builtins each accept a <SAMP>`-a'</SAMP> option to specify an indexed
+array and a <SAMP>`-A'</SAMP> option to specify an associative array.
+The <CODE>read</CODE> builtin accepts a <SAMP>`-a'</SAMP>
 option to assign a list of words read from the standard input
 to an array, and can read values from the standard input into
 individual array elements.  The <CODE>set</CODE> and <CODE>declare</CODE>
@@ -7831,7 +7915,7 @@ as the value of the <CODE>DIRSTACK</CODE> shell variable.
 <DL COMPACT>
 
 <DT><CODE>dirs</CODE>
-<DD><A NAME="IDX279"></A>
+<DD><A NAME="IDX285"></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
@@ -7860,7 +7944,7 @@ line, prefixing each entry with its index in the stack.
 <P>
 
 <DT><CODE>popd</CODE>
-<DD><A NAME="IDX280"></A>
+<DD><A NAME="IDX286"></A>
 <TABLE><tr><td>&nbsp;</td><td class=example><pre>popd [+<VAR>N</VAR> | -<VAR>N</VAR>] [-n]
 </pre></td></tr></table><P>
 
@@ -7884,7 +7968,7 @@ from the stack, so that only the stack is manipulated.
 </DL>
 <P>
 
-<A NAME="IDX281"></A>
+<A NAME="IDX287"></A>
 <DT><CODE>pushd</CODE>
 <DD><TABLE><tr><td>&nbsp;</td><td class=example><pre>pushd [-n] [<VAR>+N</VAR> | <VAR>-N</VAR> | <VAR>dir</VAR> ]
 </pre></td></tr></table><P>
@@ -7985,7 +8069,8 @@ following the final slash).
 <DT><CODE>\V</CODE>
 <DD>The release of Bash, version + patchlevel (e.g., 2.00.0)
 <DT><CODE>\w</CODE>
-<DD>The current working directory, with <CODE>$HOME</CODE> abbreviated with a tilde.
+<DD>The current working directory, with <CODE>$HOME</CODE> abbreviated with a tilde
+(uses the <CODE>$PROMPT_DIRTRIM</CODE> variable).
 <DT><CODE>\W</CODE>
 <DD>The basename of <CODE>$PWD</CODE>, with <CODE>$HOME</CODE> abbreviated with a tilde.
 <DT><CODE>\!</CODE>
@@ -8358,6 +8443,11 @@ any arguments to <CODE>echo</CODE> as options.  Each argument is displayed, afte
 escape characters are converted.
 <P>
 
+<LI>
+The <CODE>ulimit</CODE> builtin uses a block size of 512 bytes for the <SAMP>`-c'</SAMP>
+and <SAMP>`-f'</SAMP> options.
+<P>
+
 </OL>
 <P>
 
@@ -8497,9 +8587,11 @@ current job, which is the last job stopped while it was in the foreground
 or started in the background.
 A single <SAMP>`%'</SAMP> (with no accompanying job specification) also refers
 to the current job.
-The previous job may be referenced using <SAMP>`%-'</SAMP>.  In output
-pertaining to jobs (e.g., the output of the <CODE>jobs</CODE> command),
-the current job is always flagged with a <SAMP>`+'</SAMP>, and the
+The previous job may be referenced using <SAMP>`%-'</SAMP>.
+If there is only a single job, <SAMP>`%+'</SAMP> and <SAMP>`%-'</SAMP> can both be used
+to refer to that job.
+In output pertaining to jobs (e.g., the output of the <CODE>jobs</CODE>
+command), the current job is always flagged with a <SAMP>`+'</SAMP>, and the
 previous job with a <SAMP>`-'</SAMP>. 
 </P><P>
 
@@ -8558,7 +8650,7 @@ Bash does not print another warning, and any stopped jobs are terminated.
 <DL COMPACT>
 
 <DT><CODE>bg</CODE>
-<DD><A NAME="IDX282"></A>
+<DD><A NAME="IDX288"></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>.
@@ -8570,7 +8662,7 @@ that was started without job control.
 <P>
 
 <DT><CODE>fg</CODE>
-<DD><A NAME="IDX283"></A>
+<DD><A NAME="IDX289"></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.
@@ -8581,7 +8673,7 @@ job control enabled, <VAR>jobspec</VAR> does not specify a valid job or
 <P>
 
 <DT><CODE>jobs</CODE>
-<DD><A NAME="IDX284"></A>
+<DD><A NAME="IDX290"></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>
@@ -8626,7 +8718,7 @@ passing it <VAR>argument</VAR>s, returning its exit status.
 </P><P>
 
 <DT><CODE>kill</CODE>
-<DD><A NAME="IDX285"></A>
+<DD><A NAME="IDX291"></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
@@ -8646,7 +8738,7 @@ or non-zero if an error occurs or an invalid option is encountered.
 <P>
 
 <DT><CODE>wait</CODE>
-<DD><A NAME="IDX286"></A>
+<DD><A NAME="IDX292"></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
@@ -8659,7 +8751,7 @@ of the shell, the return status is 127.
 <P>
 
 <DT><CODE>disown</CODE>
-<DD><A NAME="IDX287"></A>
+<DD><A NAME="IDX293"></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.
@@ -8674,11 +8766,12 @@ argument restricts operation to running jobs.
 <P>
 
 <DT><CODE>suspend</CODE>
-<DD><A NAME="IDX288"></A>
+<DD><A NAME="IDX294"></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
-even if the shell is a login shell.
+<CODE>SIGCONT</CODE> signal.
+A login shell cannot be suspended; the <SAMP>`-f'</SAMP>
+option can be used to override this and force the suspension.
 <P>
 
 </DL>
@@ -8709,9 +8802,9 @@ supplied process IDs.
 
 <DL COMPACT>
 
-<A NAME="IDX289"></A>
+<A NAME="IDX295"></A>
 <DT><CODE>auto_resume</CODE>
-<DD><A NAME="IDX290"></A>
+<DD><A NAME="IDX296"></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
@@ -8733,7 +8826,7 @@ analogous to the <SAMP>`%'</SAMP> job ID.
 </DL>
 <P>
 
-<A NAME="IDX291"></A>
+<A NAME="IDX297"></A>
 </P><P>
 
 <A NAME="Command Line Editing"></A>
@@ -8997,8 +9090,8 @@ operate on characters while meta keystrokes operate on words.
 <!--docid::SEC99::-->
 <P>
 
-<A NAME="IDX292"></A>
-<A NAME="IDX293"></A>
+<A NAME="IDX298"></A>
+<A NAME="IDX299"></A>
 </P><P>
 
 <EM>Killing</EM> text means to delete the text from the line, but to save
@@ -9018,7 +9111,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="IDX294"></A>
+<A NAME="IDX300"></A>
 </P><P>
 
 Here is the list of commands for killing text.
@@ -9277,11 +9370,11 @@ A great deal of run-time behavior is changeable with the following
 variables.
 </P><P>
 
-<A NAME="IDX295"></A>
+<A NAME="IDX301"></A>
 <DL COMPACT>
 
 <DT><CODE>bell-style</CODE>
-<DD><A NAME="IDX296"></A>
+<DD><A NAME="IDX302"></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.
@@ -9290,14 +9383,14 @@ the terminal's bell.
 <P>
 
 <DT><CODE>bind-tty-special-chars</CODE>
-<DD><A NAME="IDX297"></A>
+<DD><A NAME="IDX303"></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="IDX298"></A>
+<DD><A NAME="IDX304"></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>.
@@ -9310,7 +9403,7 @@ The default value is <SAMP>`off'</SAMP>.
 <P>
 
 <DT><CODE>completion-prefix-display-length</CODE>
-<DD><A NAME="IDX299"></A>
+<DD><A NAME="IDX305"></A>
 The length in characters of the common prefix of a list of possible
 completions that is displayed without modification.  When set to a
 value greater than zero, common prefixes longer than this value are
@@ -9318,7 +9411,7 @@ replaced with an ellipsis when displaying possible completions.
 <P>
 
 <DT><CODE>completion-query-items</CODE>
-<DD><A NAME="IDX300"></A>
+<DD><A NAME="IDX306"></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,
@@ -9330,7 +9423,7 @@ The default limit is <CODE>100</CODE>.
 <P>
 
 <DT><CODE>convert-meta</CODE>
-<DD><A NAME="IDX301"></A>
+<DD><A NAME="IDX307"></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
@@ -9338,14 +9431,14 @@ meta-prefixed key sequence.  The default value is <SAMP>`on'</SAMP>.
 <P>
 
 <DT><CODE>disable-completion</CODE>
-<DD><A NAME="IDX302"></A>
+<DD><A NAME="IDX308"></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="IDX303"></A>
+<DD><A NAME="IDX309"></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
@@ -9353,20 +9446,20 @@ set to either <SAMP>`emacs'</SAMP> or <SAMP>`vi'</SAMP>.
 <P>
 
 <DT><CODE>enable-keypad</CODE>
-<DD><A NAME="IDX304"></A>
+<DD><A NAME="IDX310"></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="IDX305"></A>
+<DD><A NAME="IDX311"></A>
 If set to <SAMP>`on'</SAMP>, tilde expansion is performed when Readline
 attempts word completion.  The default is <SAMP>`off'</SAMP>.
 <P>
 
 <DT><CODE>history-preserve-point</CODE>
-<DD><A NAME="IDX306"></A>
+<DD><A NAME="IDX312"></A>
 If set to <SAMP>`on'</SAMP>, the history code attempts to place the point (the
 current cursor position) at the
 same location on each history line retrieved with <CODE>previous-history</CODE>
@@ -9374,13 +9467,13 @@ or <CODE>next-history</CODE>.  The default is <SAMP>`off'</SAMP>.
 <P>
 
 <DT><CODE>history-size</CODE>
-<DD><A NAME="IDX307"></A>
+<DD><A NAME="IDX313"></A>
 Set the maximum number of history entries saved in the history list.  If
 set to zero, the number of entries in the history list is not limited.
 <P>
 
 <DT><CODE>horizontal-scroll-mode</CODE>
-<DD><A NAME="IDX308"></A>
+<DD><A NAME="IDX314"></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
@@ -9389,8 +9482,8 @@ this variable is set to <SAMP>`off'</SAMP>.
 <P>
 
 <DT><CODE>input-meta</CODE>
-<DD><A NAME="IDX309"></A>
-<A NAME="IDX310"></A>
+<DD><A NAME="IDX315"></A>
+<A NAME="IDX316"></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
@@ -9399,7 +9492,7 @@ synonym for this variable.
 <P>
 
 <DT><CODE>isearch-terminators</CODE>
-<DD><A NAME="IDX311"></A>
+<DD><A NAME="IDX317"></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#SEC101">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
@@ -9407,7 +9500,7 @@ If this variable has not been given a value, the characters <KBD>ESC</KBD> and
 <P>
 
 <DT><CODE>keymap</CODE>
-<DD><A NAME="IDX312"></A>
+<DD><A NAME="IDX318"></A>
 Sets Readline's idea of the current keymap for key binding commands.
 Acceptable <CODE>keymap</CODE> names are
 <CODE>emacs</CODE>,
@@ -9430,14 +9523,14 @@ appended.  The default is <SAMP>`on'</SAMP>.
 <P>
 
 <DT><CODE>mark-modified-lines</CODE>
-<DD><A NAME="IDX313"></A>
+<DD><A NAME="IDX319"></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="IDX314"></A>
+<DD><A NAME="IDX320"></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>).
@@ -9445,7 +9538,7 @@ The default is <SAMP>`off'</SAMP>.
 <P>
 
 <DT><CODE>match-hidden-files</CODE>
-<DD><A NAME="IDX315"></A>
+<DD><A NAME="IDX321"></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
@@ -9454,14 +9547,14 @@ This variable is <SAMP>`on'</SAMP> by default.
 <P>
 
 <DT><CODE>output-meta</CODE>
-<DD><A NAME="IDX316"></A>
+<DD><A NAME="IDX322"></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="IDX317"></A>
+<DD><A NAME="IDX323"></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.
@@ -9474,7 +9567,7 @@ The default is <SAMP>`off'</SAMP>.
 <P>
 
 <DT><CODE>revert-all-at-newline</CODE>
-<DD><A NAME="IDX318"></A>
+<DD><A NAME="IDX324"></A>
 If set to <SAMP>`on'</SAMP>, Readline will undo all changes to history lines
 before returning when <CODE>accept-line</CODE> is executed.  By default,
 history lines may be modified and retain individual undo lists across
@@ -9482,7 +9575,7 @@ calls to <CODE>readline</CODE>.  The default is <SAMP>`off'</SAMP>.
 <P>
 
 <DT><CODE>show-all-if-ambiguous</CODE>
-<DD><A NAME="IDX319"></A>
+<DD><A NAME="IDX325"></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
@@ -9491,7 +9584,7 @@ The default value is <SAMP>`off'</SAMP>.
 <P>
 
 <DT><CODE>show-all-if-unmodified</CODE>
-<DD><A NAME="IDX320"></A>
+<DD><A NAME="IDX326"></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>, 
@@ -9503,7 +9596,7 @@ The default value is <SAMP>`off'</SAMP>.
 <P>
 
 <DT><CODE>visible-stats</CODE>
-<DD><A NAME="IDX321"></A>
+<DD><A NAME="IDX327"></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>.
@@ -9927,54 +10020,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::SEC107::-->
 <DL COMPACT>
-<A NAME="IDX322"></A>
+<A NAME="IDX328"></A>
 <DT><CODE>beginning-of-line (C-a)</CODE>
-<DD><A NAME="IDX323"></A>
+<DD><A NAME="IDX329"></A>
 Move to the start of the current line.
 <P>
 
-<A NAME="IDX324"></A>
+<A NAME="IDX330"></A>
 <DT><CODE>end-of-line (C-e)</CODE>
-<DD><A NAME="IDX325"></A>
+<DD><A NAME="IDX331"></A>
 Move to the end of the line.
 <P>
 
-<A NAME="IDX326"></A>
+<A NAME="IDX332"></A>
 <DT><CODE>forward-char (C-f)</CODE>
-<DD><A NAME="IDX327"></A>
+<DD><A NAME="IDX333"></A>
 Move forward a character.
 <P>
 
-<A NAME="IDX328"></A>
+<A NAME="IDX334"></A>
 <DT><CODE>backward-char (C-b)</CODE>
-<DD><A NAME="IDX329"></A>
+<DD><A NAME="IDX335"></A>
 Move back a character.
 <P>
 
-<A NAME="IDX330"></A>
+<A NAME="IDX336"></A>
 <DT><CODE>forward-word (M-f)</CODE>
-<DD><A NAME="IDX331"></A>
+<DD><A NAME="IDX337"></A>
 Move forward to the end of the next word.  Words are composed of
 letters and digits.
 <P>
 
-<A NAME="IDX332"></A>
+<A NAME="IDX338"></A>
 <DT><CODE>backward-word (M-b)</CODE>
-<DD><A NAME="IDX333"></A>
+<DD><A NAME="IDX339"></A>
 Move back to the start of the current or previous word.  Words are
 composed of letters and digits.
 <P>
 
-<A NAME="IDX334"></A>
+<A NAME="IDX340"></A>
 <DT><CODE>clear-screen (C-l)</CODE>
-<DD><A NAME="IDX335"></A>
+<DD><A NAME="IDX341"></A>
 Clear the screen and redraw the current line,
 leaving the current line at the top of the screen.
 <P>
 
-<A NAME="IDX336"></A>
+<A NAME="IDX342"></A>
 <DT><CODE>redraw-current-line ()</CODE>
-<DD><A NAME="IDX337"></A>
+<DD><A NAME="IDX343"></A>
 Refresh the current line.  By default, this is unbound.
 <P>
 
@@ -10000,9 +10093,9 @@ Refresh the current line.  By default, this is unbound.
 <P>
 
 <DL COMPACT>
-<A NAME="IDX338"></A>
+<A NAME="IDX344"></A>
 <DT><CODE>accept-line (Newline or Return)</CODE>
-<DD><A NAME="IDX339"></A>
+<DD><A NAME="IDX345"></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
@@ -10011,81 +10104,81 @@ If this line is a modified history line, then restore the history line
 to its original state.
 <P>
 
-<A NAME="IDX340"></A>
+<A NAME="IDX346"></A>
 <DT><CODE>previous-history (C-p)</CODE>
-<DD><A NAME="IDX341"></A>
+<DD><A NAME="IDX347"></A>
 Move `back' through the history list, fetching the previous command.
 <P>
 
-<A NAME="IDX342"></A>
+<A NAME="IDX348"></A>
 <DT><CODE>next-history (C-n)</CODE>
-<DD><A NAME="IDX343"></A>
+<DD><A NAME="IDX349"></A>
 Move `forward' through the history list, fetching the next command.
 <P>
 
-<A NAME="IDX344"></A>
+<A NAME="IDX350"></A>
 <DT><CODE>beginning-of-history (M-&#60;)</CODE>
-<DD><A NAME="IDX345"></A>
+<DD><A NAME="IDX351"></A>
 Move to the first line in the history.
 <P>
 
-<A NAME="IDX346"></A>
+<A NAME="IDX352"></A>
 <DT><CODE>end-of-history (M-&#62;)</CODE>
-<DD><A NAME="IDX347"></A>
+<DD><A NAME="IDX353"></A>
 Move to the end of the input history, i.e., the line currently
 being entered.
 <P>
 
-<A NAME="IDX348"></A>
+<A NAME="IDX354"></A>
 <DT><CODE>reverse-search-history (C-r)</CODE>
-<DD><A NAME="IDX349"></A>
+<DD><A NAME="IDX355"></A>
 Search backward starting at the current line and moving `up' through
 the history as necessary.  This is an incremental search.
 <P>
 
-<A NAME="IDX350"></A>
+<A NAME="IDX356"></A>
 <DT><CODE>forward-search-history (C-s)</CODE>
-<DD><A NAME="IDX351"></A>
+<DD><A NAME="IDX357"></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="IDX352"></A>
+<A NAME="IDX358"></A>
 <DT><CODE>non-incremental-reverse-search-history (M-p)</CODE>
-<DD><A NAME="IDX353"></A>
+<DD><A NAME="IDX359"></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="IDX354"></A>
+<A NAME="IDX360"></A>
 <DT><CODE>non-incremental-forward-search-history (M-n)</CODE>
-<DD><A NAME="IDX355"></A>
+<DD><A NAME="IDX361"></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="IDX356"></A>
+<A NAME="IDX362"></A>
 <DT><CODE>history-search-forward ()</CODE>
-<DD><A NAME="IDX357"></A>
+<DD><A NAME="IDX363"></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="IDX358"></A>
+<A NAME="IDX364"></A>
 <DT><CODE>history-search-backward ()</CODE>
-<DD><A NAME="IDX359"></A>
+<DD><A NAME="IDX365"></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="IDX360"></A>
+<A NAME="IDX366"></A>
 <DT><CODE>yank-nth-arg (M-C-y)</CODE>
-<DD><A NAME="IDX361"></A>
+<DD><A NAME="IDX367"></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>,
@@ -10096,9 +10189,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="IDX362"></A>
+<A NAME="IDX368"></A>
 <DT><CODE>yank-last-arg (M-. or M-_)</CODE>
-<DD><A NAME="IDX363"></A>
+<DD><A NAME="IDX369"></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>.
@@ -10130,46 +10223,46 @@ as if the <SAMP>`!$'</SAMP> history expansion had been specified.
 <P>
 
 <DL COMPACT>
-<A NAME="IDX364"></A>
+<A NAME="IDX370"></A>
 <DT><CODE>delete-char (C-d)</CODE>
-<DD><A NAME="IDX365"></A>
+<DD><A NAME="IDX371"></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="IDX366"></A>
+<A NAME="IDX372"></A>
 <DT><CODE>backward-delete-char (Rubout)</CODE>
-<DD><A NAME="IDX367"></A>
+<DD><A NAME="IDX373"></A>
 Delete the character behind the cursor.  A numeric argument means
 to kill the characters instead of deleting them.
 <P>
 
-<A NAME="IDX368"></A>
+<A NAME="IDX374"></A>
 <DT><CODE>forward-backward-delete-char ()</CODE>
-<DD><A NAME="IDX369"></A>
+<DD><A NAME="IDX375"></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="IDX370"></A>
+<A NAME="IDX376"></A>
 <DT><CODE>quoted-insert (C-q or C-v)</CODE>
-<DD><A NAME="IDX371"></A>
+<DD><A NAME="IDX377"></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="IDX372"></A>
+<A NAME="IDX378"></A>
 <DT><CODE>self-insert (a, b, A, 1, !, <small>...</small>)</CODE>
-<DD><A NAME="IDX373"></A>
+<DD><A NAME="IDX379"></A>
 Insert yourself.
 <P>
 
-<A NAME="IDX374"></A>
+<A NAME="IDX380"></A>
 <DT><CODE>transpose-chars (C-t)</CODE>
-<DD><A NAME="IDX375"></A>
+<DD><A NAME="IDX381"></A>
 Drag the character before the cursor forward over
 the character at the cursor, moving the
 cursor forward as well.  If the insertion point
@@ -10178,39 +10271,39 @@ transposes the last two characters of the line.
 Negative arguments have no effect.
 <P>
 
-<A NAME="IDX376"></A>
+<A NAME="IDX382"></A>
 <DT><CODE>transpose-words (M-t)</CODE>
-<DD><A NAME="IDX377"></A>
+<DD><A NAME="IDX383"></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="IDX378"></A>
+<A NAME="IDX384"></A>
 <DT><CODE>upcase-word (M-u)</CODE>
-<DD><A NAME="IDX379"></A>
+<DD><A NAME="IDX385"></A>
 Uppercase the current (or following) word.  With a negative argument,
 uppercase the previous word, but do not move the cursor.
 <P>
 
-<A NAME="IDX380"></A>
+<A NAME="IDX386"></A>
 <DT><CODE>downcase-word (M-l)</CODE>
-<DD><A NAME="IDX381"></A>
+<DD><A NAME="IDX387"></A>
 Lowercase the current (or following) word.  With a negative argument,
 lowercase the previous word, but do not move the cursor.
 <P>
 
-<A NAME="IDX382"></A>
+<A NAME="IDX388"></A>
 <DT><CODE>capitalize-word (M-c)</CODE>
-<DD><A NAME="IDX383"></A>
+<DD><A NAME="IDX389"></A>
 Capitalize the current (or following) word.  With a negative argument,
 capitalize the previous word, but do not move the cursor.
 <P>
 
-<A NAME="IDX384"></A>
+<A NAME="IDX390"></A>
 <DT><CODE>overwrite-mode ()</CODE>
-<DD><A NAME="IDX385"></A>
+<DD><A NAME="IDX391"></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
@@ -10250,106 +10343,106 @@ By default, this command is unbound.
 
 <DL COMPACT>
 
-<A NAME="IDX386"></A>
+<A NAME="IDX392"></A>
 <DT><CODE>kill-line (C-k)</CODE>
-<DD><A NAME="IDX387"></A>
+<DD><A NAME="IDX393"></A>
 Kill the text from point to the end of the line.
 <P>
 
-<A NAME="IDX388"></A>
+<A NAME="IDX394"></A>
 <DT><CODE>backward-kill-line (C-x Rubout)</CODE>
-<DD><A NAME="IDX389"></A>
+<DD><A NAME="IDX395"></A>
 Kill backward to the beginning of the line.
 <P>
 
-<A NAME="IDX390"></A>
+<A NAME="IDX396"></A>
 <DT><CODE>unix-line-discard (C-u)</CODE>
-<DD><A NAME="IDX391"></A>
+<DD><A NAME="IDX397"></A>
 Kill backward from the cursor to the beginning of the current line.
 <P>
 
-<A NAME="IDX392"></A>
+<A NAME="IDX398"></A>
 <DT><CODE>kill-whole-line ()</CODE>
-<DD><A NAME="IDX393"></A>
+<DD><A NAME="IDX399"></A>
 Kill all characters on the current line, no matter where point is.
 By default, this is unbound.
 <P>
 
-<A NAME="IDX394"></A>
+<A NAME="IDX400"></A>
 <DT><CODE>kill-word (M-d)</CODE>
-<DD><A NAME="IDX395"></A>
+<DD><A NAME="IDX401"></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="IDX396"></A>
+<A NAME="IDX402"></A>
 <DT><CODE>backward-kill-word (M-<KBD>DEL</KBD>)</CODE>
-<DD><A NAME="IDX397"></A>
+<DD><A NAME="IDX403"></A>
 Kill the word behind point.
 Word boundaries are the same as <CODE>backward-word</CODE>.
 <P>
 
-<A NAME="IDX398"></A>
+<A NAME="IDX404"></A>
 <DT><CODE>unix-word-rubout (C-w)</CODE>
-<DD><A NAME="IDX399"></A>
+<DD><A NAME="IDX405"></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="IDX400"></A>
+<A NAME="IDX406"></A>
 <DT><CODE>unix-filename-rubout ()</CODE>
-<DD><A NAME="IDX401"></A>
+<DD><A NAME="IDX407"></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="IDX402"></A>
+<A NAME="IDX408"></A>
 <DT><CODE>delete-horizontal-space ()</CODE>
-<DD><A NAME="IDX403"></A>
+<DD><A NAME="IDX409"></A>
 Delete all spaces and tabs around point.  By default, this is unbound.
 <P>
 
-<A NAME="IDX404"></A>
+<A NAME="IDX410"></A>
 <DT><CODE>kill-region ()</CODE>
-<DD><A NAME="IDX405"></A>
+<DD><A NAME="IDX411"></A>
 Kill the text in the current region.
 By default, this command is unbound.
 <P>
 
-<A NAME="IDX406"></A>
+<A NAME="IDX412"></A>
 <DT><CODE>copy-region-as-kill ()</CODE>
-<DD><A NAME="IDX407"></A>
+<DD><A NAME="IDX413"></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="IDX408"></A>
+<A NAME="IDX414"></A>
 <DT><CODE>copy-backward-word ()</CODE>
-<DD><A NAME="IDX409"></A>
+<DD><A NAME="IDX415"></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="IDX410"></A>
+<A NAME="IDX416"></A>
 <DT><CODE>copy-forward-word ()</CODE>
-<DD><A NAME="IDX411"></A>
+<DD><A NAME="IDX417"></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="IDX412"></A>
+<A NAME="IDX418"></A>
 <DT><CODE>yank (C-y)</CODE>
-<DD><A NAME="IDX413"></A>
+<DD><A NAME="IDX419"></A>
 Yank the top of the kill ring into the buffer at point.
 <P>
 
-<A NAME="IDX414"></A>
+<A NAME="IDX420"></A>
 <DT><CODE>yank-pop (M-y)</CODE>
-<DD><A NAME="IDX415"></A>
+<DD><A NAME="IDX421"></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>
@@ -10373,16 +10466,16 @@ the prior command is <CODE>yank</CODE> or <CODE>yank-pop</CODE>.
 <!--docid::SEC111::-->
 <DL COMPACT>
 
-<A NAME="IDX416"></A>
+<A NAME="IDX422"></A>
 <DT><CODE>digit-argument (<KBD>M-0</KBD>, <KBD>M-1</KBD>, <small>...</small> <KBD>M--</KBD>)</CODE>
-<DD><A NAME="IDX417"></A>
+<DD><A NAME="IDX423"></A>
 Add this digit to the argument already accumulating, or start a new
 argument.  <KBD>M--</KBD> starts a negative argument.
 <P>
 
-<A NAME="IDX418"></A>
+<A NAME="IDX424"></A>
 <DT><CODE>universal-argument ()</CODE>
-<DD><A NAME="IDX419"></A>
+<DD><A NAME="IDX425"></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.
@@ -10417,9 +10510,9 @@ By default, this is not bound to a key.
 <P>
 
 <DL COMPACT>
-<A NAME="IDX420"></A>
+<A NAME="IDX426"></A>
 <DT><CODE>complete (<KBD>TAB</KBD>)</CODE>
-<DD><A NAME="IDX421"></A>
+<DD><A NAME="IDX427"></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
@@ -10429,22 +10522,22 @@ command (including aliases and functions) in turn.  If none
 of these produces a match, filename completion is attempted.
 <P>
 
-<A NAME="IDX422"></A>
+<A NAME="IDX428"></A>
 <DT><CODE>possible-completions (M-?)</CODE>
-<DD><A NAME="IDX423"></A>
+<DD><A NAME="IDX429"></A>
 List the possible completions of the text before point.
 <P>
 
-<A NAME="IDX424"></A>
+<A NAME="IDX430"></A>
 <DT><CODE>insert-completions (M-*)</CODE>
-<DD><A NAME="IDX425"></A>
+<DD><A NAME="IDX431"></A>
 Insert all completions of the text before point that would have
 been generated by <CODE>possible-completions</CODE>.
 <P>
 
-<A NAME="IDX426"></A>
+<A NAME="IDX432"></A>
 <DT><CODE>menu-complete ()</CODE>
-<DD><A NAME="IDX427"></A>
+<DD><A NAME="IDX433"></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
@@ -10459,9 +10552,9 @@ This command is intended to be bound to <KBD>TAB</KBD>, but is unbound
 by default.
 <P>
 
-<A NAME="IDX428"></A>
+<A NAME="IDX434"></A>
 <DT><CODE>delete-char-or-list ()</CODE>
-<DD><A NAME="IDX429"></A>
+<DD><A NAME="IDX435"></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
@@ -10469,64 +10562,64 @@ If at the end of the line, behaves identically to
 This command is unbound by default.
 <P>
 
-<A NAME="IDX430"></A>
+<A NAME="IDX436"></A>
 <DT><CODE>complete-filename (M-/)</CODE>
-<DD><A NAME="IDX431"></A>
+<DD><A NAME="IDX437"></A>
 Attempt filename completion on the text before point.
 <P>
 
-<A NAME="IDX432"></A>
+<A NAME="IDX438"></A>
 <DT><CODE>possible-filename-completions (C-x /)</CODE>
-<DD><A NAME="IDX433"></A>
+<DD><A NAME="IDX439"></A>
 List the possible completions of the text before point,
 treating it as a filename.
 <P>
 
-<A NAME="IDX434"></A>
+<A NAME="IDX440"></A>
 <DT><CODE>complete-username (M-~)</CODE>
-<DD><A NAME="IDX435"></A>
+<DD><A NAME="IDX441"></A>
 Attempt completion on the text before point, treating
 it as a username.
 <P>
 
-<A NAME="IDX436"></A>
+<A NAME="IDX442"></A>
 <DT><CODE>possible-username-completions (C-x ~)</CODE>
-<DD><A NAME="IDX437"></A>
+<DD><A NAME="IDX443"></A>
 List the possible completions of the text before point,
 treating it as a username.
 <P>
 
-<A NAME="IDX438"></A>
+<A NAME="IDX444"></A>
 <DT><CODE>complete-variable (M-$)</CODE>
-<DD><A NAME="IDX439"></A>
+<DD><A NAME="IDX445"></A>
 Attempt completion on the text before point, treating
 it as a shell variable.
 <P>
 
-<A NAME="IDX440"></A>
+<A NAME="IDX446"></A>
 <DT><CODE>possible-variable-completions (C-x $)</CODE>
-<DD><A NAME="IDX441"></A>
+<DD><A NAME="IDX447"></A>
 List the possible completions of the text before point,
 treating it as a shell variable.
 <P>
 
-<A NAME="IDX442"></A>
+<A NAME="IDX448"></A>
 <DT><CODE>complete-hostname (M-@)</CODE>
-<DD><A NAME="IDX443"></A>
+<DD><A NAME="IDX449"></A>
 Attempt completion on the text before point, treating
 it as a hostname.
 <P>
 
-<A NAME="IDX444"></A>
+<A NAME="IDX450"></A>
 <DT><CODE>possible-hostname-completions (C-x @)</CODE>
-<DD><A NAME="IDX445"></A>
+<DD><A NAME="IDX451"></A>
 List the possible completions of the text before point,
 treating it as a hostname.
 <P>
 
-<A NAME="IDX446"></A>
+<A NAME="IDX452"></A>
 <DT><CODE>complete-command (M-!)</CODE>
-<DD><A NAME="IDX447"></A>
+<DD><A NAME="IDX453"></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
@@ -10534,32 +10627,32 @@ functions, shell builtins, and finally executable filenames,
 in that order.
 <P>
 
-<A NAME="IDX448"></A>
+<A NAME="IDX454"></A>
 <DT><CODE>possible-command-completions (C-x !)</CODE>
-<DD><A NAME="IDX449"></A>
+<DD><A NAME="IDX455"></A>
 List the possible completions of the text before point,
 treating it as a command name.
 <P>
 
-<A NAME="IDX450"></A>
+<A NAME="IDX456"></A>
 <DT><CODE>dynamic-complete-history (M-<KBD>TAB</KBD>)</CODE>
-<DD><A NAME="IDX451"></A>
+<DD><A NAME="IDX457"></A>
 Attempt completion on the text before point, comparing
 the text against lines from the history list for possible
 completion matches.
 <P>
 
-<A NAME="IDX452"></A>
+<A NAME="IDX458"></A>
 <DT><CODE>dabbrev-expand ()</CODE>
-<DD><A NAME="IDX453"></A>
+<DD><A NAME="IDX459"></A>
 Attempt menu completion on the text before point, comparing
 the text against lines from the history list for possible
 completion matches.
 <P>
 
-<A NAME="IDX454"></A>
+<A NAME="IDX460"></A>
 <DT><CODE>complete-into-braces (M-{)</CODE>
-<DD><A NAME="IDX455"></A>
+<DD><A NAME="IDX461"></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>).
@@ -10586,22 +10679,22 @@ enclosed within braces so the list is available to the shell
 <!--docid::SEC113::-->
 <DL COMPACT>
 
-<A NAME="IDX456"></A>
+<A NAME="IDX462"></A>
 <DT><CODE>start-kbd-macro (C-x ()</CODE>
-<DD><A NAME="IDX457"></A>
+<DD><A NAME="IDX463"></A>
 Begin saving the characters typed into the current keyboard macro.
 <P>
 
-<A NAME="IDX458"></A>
+<A NAME="IDX464"></A>
 <DT><CODE>end-kbd-macro (C-x ))</CODE>
-<DD><A NAME="IDX459"></A>
+<DD><A NAME="IDX465"></A>
 Stop saving the characters typed into the current keyboard macro
 and save the definition.
 <P>
 
-<A NAME="IDX460"></A>
+<A NAME="IDX466"></A>
 <DT><CODE>call-last-kbd-macro (C-x e)</CODE>
-<DD><A NAME="IDX461"></A>
+<DD><A NAME="IDX467"></A>
 Re-execute the last keyboard macro defined, by making the characters
 in the macro appear as if typed at the keyboard.
 <P>
@@ -10627,87 +10720,87 @@ in the macro appear as if typed at the keyboard.
 <!--docid::SEC114::-->
 <DL COMPACT>
 
-<A NAME="IDX462"></A>
+<A NAME="IDX468"></A>
 <DT><CODE>re-read-init-file (C-x C-r)</CODE>
-<DD><A NAME="IDX463"></A>
+<DD><A NAME="IDX469"></A>
 Read in the contents of the <VAR>inputrc</VAR> file, and incorporate
 any bindings or variable assignments found there.
 <P>
 
-<A NAME="IDX464"></A>
+<A NAME="IDX470"></A>
 <DT><CODE>abort (C-g)</CODE>
-<DD><A NAME="IDX465"></A>
+<DD><A NAME="IDX471"></A>
 Abort the current editing command and
 ring the terminal's bell (subject to the setting of
 <CODE>bell-style</CODE>).
 <P>
 
-<A NAME="IDX466"></A>
+<A NAME="IDX472"></A>
 <DT><CODE>do-uppercase-version (M-a, M-b, M-<VAR>x</VAR>, <small>...</small>)</CODE>
-<DD><A NAME="IDX467"></A>
+<DD><A NAME="IDX473"></A>
 If the metafied character <VAR>x</VAR> is lowercase, run the command
 that is bound to the corresponding uppercase character.
 <P>
 
-<A NAME="IDX468"></A>
+<A NAME="IDX474"></A>
 <DT><CODE>prefix-meta (<KBD>ESC</KBD>)</CODE>
-<DD><A NAME="IDX469"></A>
+<DD><A NAME="IDX475"></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="IDX470"></A>
+<A NAME="IDX476"></A>
 <DT><CODE>undo (C-_ or C-x C-u)</CODE>
-<DD><A NAME="IDX471"></A>
+<DD><A NAME="IDX477"></A>
 Incremental undo, separately remembered for each line.
 <P>
 
-<A NAME="IDX472"></A>
+<A NAME="IDX478"></A>
 <DT><CODE>revert-line (M-r)</CODE>
-<DD><A NAME="IDX473"></A>
+<DD><A NAME="IDX479"></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="IDX474"></A>
+<A NAME="IDX480"></A>
 <DT><CODE>tilde-expand (M-&#38;)</CODE>
-<DD><A NAME="IDX475"></A>
+<DD><A NAME="IDX481"></A>
 Perform tilde expansion on the current word.
 <P>
 
-<A NAME="IDX476"></A>
+<A NAME="IDX482"></A>
 <DT><CODE>set-mark (C-@)</CODE>
-<DD><A NAME="IDX477"></A>
+<DD><A NAME="IDX483"></A>
 Set the mark to the point.  If a
 numeric argument is supplied, the mark is set to that position.
 <P>
 
-<A NAME="IDX478"></A>
+<A NAME="IDX484"></A>
 <DT><CODE>exchange-point-and-mark (C-x C-x)</CODE>
-<DD><A NAME="IDX479"></A>
+<DD><A NAME="IDX485"></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="IDX480"></A>
+<A NAME="IDX486"></A>
 <DT><CODE>character-search (C-])</CODE>
-<DD><A NAME="IDX481"></A>
+<DD><A NAME="IDX487"></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="IDX482"></A>
+<A NAME="IDX488"></A>
 <DT><CODE>character-search-backward (M-C-])</CODE>
-<DD><A NAME="IDX483"></A>
+<DD><A NAME="IDX489"></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="IDX484"></A>
+<A NAME="IDX490"></A>
 <DT><CODE>insert-comment (M-#)</CODE>
-<DD><A NAME="IDX485"></A>
+<DD><A NAME="IDX491"></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
@@ -10722,115 +10815,115 @@ If a numeric argument causes the comment character to be removed, the line
 will be executed by the shell.
 <P>
 
-<A NAME="IDX486"></A>
+<A NAME="IDX492"></A>
 <DT><CODE>dump-functions ()</CODE>
-<DD><A NAME="IDX487"></A>
+<DD><A NAME="IDX493"></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="IDX488"></A>
+<A NAME="IDX494"></A>
 <DT><CODE>dump-variables ()</CODE>
-<DD><A NAME="IDX489"></A>
+<DD><A NAME="IDX495"></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="IDX490"></A>
+<A NAME="IDX496"></A>
 <DT><CODE>dump-macros ()</CODE>
-<DD><A NAME="IDX491"></A>
+<DD><A NAME="IDX497"></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="IDX492"></A>
+<A NAME="IDX498"></A>
 <DT><CODE>glob-complete-word (M-g)</CODE>
-<DD><A NAME="IDX493"></A>
+<DD><A NAME="IDX499"></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="IDX494"></A>
+<A NAME="IDX500"></A>
 <DT><CODE>glob-expand-word (C-x *)</CODE>
-<DD><A NAME="IDX495"></A>
+<DD><A NAME="IDX501"></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="IDX496"></A>
+<A NAME="IDX502"></A>
 <DT><CODE>glob-list-expansions (C-x g)</CODE>
-<DD><A NAME="IDX497"></A>
+<DD><A NAME="IDX503"></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="IDX498"></A>
+<A NAME="IDX504"></A>
 <DT><CODE>display-shell-version (C-x C-v)</CODE>
-<DD><A NAME="IDX499"></A>
+<DD><A NAME="IDX505"></A>
 Display version information about the current instance of Bash.
 <P>
 
-<A NAME="IDX500"></A>
+<A NAME="IDX506"></A>
 <DT><CODE>shell-expand-line (M-C-e)</CODE>
-<DD><A NAME="IDX501"></A>
+<DD><A NAME="IDX507"></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="IDX502"></A>
+<A NAME="IDX508"></A>
 <DT><CODE>history-expand-line (M-^)</CODE>
-<DD><A NAME="IDX503"></A>
+<DD><A NAME="IDX509"></A>
 Perform history expansion on the current line.
 <P>
 
-<A NAME="IDX504"></A>
+<A NAME="IDX510"></A>
 <DT><CODE>magic-space ()</CODE>
-<DD><A NAME="IDX505"></A>
+<DD><A NAME="IDX511"></A>
 Perform history expansion on the current line and insert a space
 (see section <A HREF="bashref.html#SEC121">9.3 History Expansion</A>).
 <P>
 
-<A NAME="IDX506"></A>
+<A NAME="IDX512"></A>
 <DT><CODE>alias-expand-line ()</CODE>
-<DD><A NAME="IDX507"></A>
+<DD><A NAME="IDX513"></A>
 Perform alias expansion on the current line (see section <A HREF="bashref.html#SEC83">6.6 Aliases</A>).
 <P>
 
-<A NAME="IDX508"></A>
+<A NAME="IDX514"></A>
 <DT><CODE>history-and-alias-expand-line ()</CODE>
-<DD><A NAME="IDX509"></A>
+<DD><A NAME="IDX515"></A>
 Perform history and alias expansion on the current line.
 <P>
 
-<A NAME="IDX510"></A>
+<A NAME="IDX516"></A>
 <DT><CODE>insert-last-argument (M-. or M-_)</CODE>
-<DD><A NAME="IDX511"></A>
+<DD><A NAME="IDX517"></A>
 A synonym for <CODE>yank-last-arg</CODE>.
 <P>
 
-<A NAME="IDX512"></A>
+<A NAME="IDX518"></A>
 <DT><CODE>operate-and-get-next (C-o)</CODE>
-<DD><A NAME="IDX513"></A>
+<DD><A NAME="IDX519"></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="IDX514"></A>
+<A NAME="IDX520"></A>
 <DT><CODE>edit-and-execute-command (C-xC-e)</CODE>
-<DD><A NAME="IDX515"></A>
+<DD><A NAME="IDX521"></A>
 Invoke an editor on the current command line, and execute the result as shell
 commands.
 Bash attempts to invoke
@@ -11051,7 +11144,7 @@ facilities.
 
 <DL COMPACT>
 <DT><CODE>compgen</CODE>
-<DD><A NAME="IDX516"></A>
+<DD><A NAME="IDX522"></A>
 <TABLE><tr><td>&nbsp;</td><td class=example><pre><CODE>compgen [<VAR>option</VAR>] [<VAR>word</VAR>]</CODE>
 </pre></td></tr></table><P>
 
@@ -11077,7 +11170,7 @@ matches were generated.
 </P><P>
 
 <DT><CODE>complete</CODE>
-<DD><A NAME="IDX517"></A>
+<DD><A NAME="IDX523"></A>
 <TABLE><tr><td>&nbsp;</td><td class=example><pre><CODE>complete [-abcdefgjksuv] [-o <VAR>comp-option</VAR>] [-E] [-A <VAR>action</VAR>] [-G <VAR>globpat</VAR>] [-W <VAR>wordlist</VAR>]
 [-F <VAR>function</VAR>] [-C <VAR>command</VAR>] [-X <VAR>filterpat</VAR>]
 [-P <VAR>prefix</VAR>] [-S <VAR>suffix</VAR>] <VAR>name</VAR> [<VAR>name</VAR> <small>...</small>]</CODE>
@@ -11310,7 +11403,7 @@ an error occurs adding a completion specification.
 </P><P>
 
 <DT><CODE>compopt</CODE>
-<DD><A NAME="IDX518"></A>
+<DD><A NAME="IDX524"></A>
 <TABLE><tr><td>&nbsp;</td><td class=example><pre><CODE>compopt</CODE> [-o <VAR>option</VAR>] [+o <VAR>option</VAR>] [<VAR>name</VAR>]
 </pre></td></tr></table>Modify completion options for each <VAR>name</VAR> according to the
 <VAR>option</VAR>s, or for the currently-execution completion if no <VAR>name</VAR>s
@@ -11329,7 +11422,7 @@ specification exists, or an output error occurs.
 </DL>
 <P>
 
-<A NAME="IDX519"></A>
+<A NAME="IDX525"></A>
 </P><P>
 
 <A NAME="Using History Interactively"></A>
@@ -11474,7 +11567,7 @@ history list and history file.
 <DL COMPACT>
 
 <DT><CODE>fc</CODE>
-<DD><A NAME="IDX520"></A>
+<DD><A NAME="IDX526"></A>
 <TABLE><tr><td>&nbsp;</td><td class=example><pre><CODE>fc [-e <VAR>ename</VAR>] [-lnr] [<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>
@@ -11508,7 +11601,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="IDX521"></A>
+<DD><A NAME="IDX527"></A>
 <TABLE><tr><td>&nbsp;</td><td class=example><pre>history [<VAR>n</VAR>]
 history -c
 history -d <VAR>offset</VAR>
@@ -11681,7 +11774,7 @@ writing the history file.
 
 An event designator is a reference to a command line entry in the
 history list.
-<A NAME="IDX522"></A>
+<A NAME="IDX528"></A>
 </P><P>
 
 <DL COMPACT>
@@ -12438,6 +12531,16 @@ that behaves like the C language <CODE>for</CODE> statement
 See <A HREF="bashref.html#SEC28">3.5.1 Brace Expansion</A>, for a complete description.
 <P>
 
+<DT><CODE>--enable-casemod-attributes</CODE>
+<DD>Include support for case-modifying attributes in the <CODE>declare</CODE> builtin
+and assignment statements.  Variables with the <VAR>uppercase</VAR> attribute,
+for example, will have their values converted to uppercase upon assignment.
+<P>
+
+<DT><CODE>--enable-casemod-expansion</CODE>
+<DD>Include support for case-modifying word expansions.
+<P>
+
 <DT><CODE>--enable-command-timing</CODE>
 <DD>Include support for recognizing <CODE>time</CODE> as a reserved word and for
 displaying timing statistics for the pipeline following <CODE>time</CODE>
@@ -13853,7 +13956,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#SEC59">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#IDX282"><CODE>bg</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC92">7.2 Job Control Builtins</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX288"><CODE>bg</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC92">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#SEC59">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#SEC58">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#SEC59">4.2 Bash Builtin Commands</A></TD></TR>
@@ -13862,15 +13965,15 @@ 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#SEC59">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#SEC58">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#SEC59">4.2 Bash Builtin Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX516"><CODE>compgen</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC117">8.7 Programmable Completion Builtins</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX517"><CODE>complete</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC117">8.7 Programmable Completion Builtins</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX518"><CODE>compopt</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC117">8.7 Programmable Completion Builtins</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX522"><CODE>compgen</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC117">8.7 Programmable Completion Builtins</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX523"><CODE>complete</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC117">8.7 Programmable Completion Builtins</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX524"><CODE>compopt</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC117">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#SEC58">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#SEC59">4.2 Bash Builtin Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX279"><CODE>dirs</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC86">6.8.1 Directory Stack Builtins</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX287"><CODE>disown</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC92">7.2 Job Control Builtins</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX285"><CODE>dirs</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC86">6.8.1 Directory Stack Builtins</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX293"><CODE>disown</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC92">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#SEC59">4.2 Bash Builtin Commands</A></TD></TR>
@@ -13881,8 +13984,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#SEC58">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#IDX520"><CODE>fc</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC120">9.2 Bash History Builtins</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX283"><CODE>fg</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC92">7.2 Job Control Builtins</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX526"><CODE>fc</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC120">9.2 Bash History Builtins</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX289"><CODE>fg</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC92">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#SEC58">4.1 Bourne Shell Builtins</A></TD></TR>
@@ -13890,13 +13993,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#SEC58">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#SEC59">4.2 Bash Builtin Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX521"><CODE>history</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC120">9.2 Bash History Builtins</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX527"><CODE>history</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC120">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#IDX284"><CODE>jobs</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC92">7.2 Job Control Builtins</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX290"><CODE>jobs</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC92">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#IDX285"><CODE>kill</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC92">7.2 Job Control Builtins</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX291"><CODE>kill</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC92">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#SEC59">4.2 Bash Builtin Commands</A></TD></TR>
@@ -13907,9 +14010,9 @@ to permit their use in free software.
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX101"><CODE>mapfile</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC59">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#IDX280"><CODE>popd</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC86">6.8.1 Directory Stack Builtins</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX286"><CODE>popd</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC86">6.8.1 Directory Stack Builtins</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX102"><CODE>printf</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC59">4.2 Bash Builtin Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX281"><CODE>pushd</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC86">6.8.1 Directory Stack Builtins</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX287"><CODE>pushd</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC86">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#SEC58">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>
@@ -13922,7 +14025,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#SEC58">4.1 Bourne Shell Builtins</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX110"><CODE>shopt</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC62">4.3.2 The Shopt Builtin</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#SEC59">4.2 Bash Builtin Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX288"><CODE>suspend</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC92">7.2 Job Control Builtins</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX294"><CODE>suspend</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC92">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#SEC58">4.1 Bourne Shell Builtins</A></TD></TR>
@@ -13938,7 +14041,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#SEC58">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#IDX286"><CODE>wait</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC92">7.2 Job Control Builtins</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX292"><CODE>wait</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC92">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; 
@@ -14228,239 +14331,245 @@ 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#IDX289"><CODE>auto_resume</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC93">7.3 Job Control Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX290"><CODE>auto_resume</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC93">7.3 Job Control Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX295"><CODE>auto_resume</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC93">7.3 Job Control Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX296"><CODE>auto_resume</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC93">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#IDX131"><CODE>BASH</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX132"><CODE>BASH</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX135"><CODE>BASH_ARGC</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX136"><CODE>BASH_ARGC</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX137"><CODE>BASH_ARGV</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX138"><CODE>BASH_ARGV</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX139"><CODE>BASH_COMMAND</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX140"><CODE>BASH_COMMAND</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX141"><CODE>BASH_ENV</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX142"><CODE>BASH_ENV</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX143"><CODE>BASH_EXECUTION_STRING</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX144"><CODE>BASH_EXECUTION_STRING</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX145"><CODE>BASH_LINENO</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX146"><CODE>BASH_LINENO</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX147"><CODE>BASH_REMATCH</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX148"><CODE>BASH_REMATCH</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX149"><CODE>BASH_SOURCE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX150"><CODE>BASH_SOURCE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX151"><CODE>BASH_SUBSHELL</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX152"><CODE>BASH_SUBSHELL</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX153"><CODE>BASH_VERSINFO</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX154"><CODE>BASH_VERSINFO</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX155"><CODE>BASH_VERSION</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX156"><CODE>BASH_VERSION</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX135"><CODE>BASH_ALIASES</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX136"><CODE>BASH_ALIASES</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX137"><CODE>BASH_ARGC</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX138"><CODE>BASH_ARGC</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX139"><CODE>BASH_ARGV</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX140"><CODE>BASH_ARGV</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX141"><CODE>BASH_CMDS</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX142"><CODE>BASH_CMDS</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX143"><CODE>BASH_COMMAND</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX144"><CODE>BASH_COMMAND</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX145"><CODE>BASH_ENV</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX146"><CODE>BASH_ENV</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX147"><CODE>BASH_EXECUTION_STRING</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX148"><CODE>BASH_EXECUTION_STRING</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX149"><CODE>BASH_LINENO</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX150"><CODE>BASH_LINENO</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX151"><CODE>BASH_REMATCH</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX152"><CODE>BASH_REMATCH</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX153"><CODE>BASH_SOURCE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX154"><CODE>BASH_SOURCE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX155"><CODE>BASH_SUBSHELL</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX156"><CODE>BASH_SUBSHELL</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX157"><CODE>BASH_VERSINFO</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX158"><CODE>BASH_VERSINFO</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX159"><CODE>BASH_VERSION</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX160"><CODE>BASH_VERSION</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX133"><CODE>BASHPID</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX134"><CODE>BASHPID</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX296"><CODE>bell-style</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC103">8.3.1 Readline Init File Syntax</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX297"><CODE>bind-tty-special-chars</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC103">8.3.1 Readline Init File Syntax</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX302"><CODE>bell-style</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC103">8.3.1 Readline Init File Syntax</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX303"><CODE>bind-tty-special-chars</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC103">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#IDX111"><CODE>CDPATH</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC65">5.1 Bourne Shell Variables</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX112"><CODE>CDPATH</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC65">5.1 Bourne Shell Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX157"><CODE>COLUMNS</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX158"><CODE>COLUMNS</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX298"><CODE>comment-begin</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC103">8.3.1 Readline Init File Syntax</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX159"><CODE>COMP_CWORD</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX160"><CODE>COMP_CWORD</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX167"><CODE>COMP_KEY</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX168"><CODE>COMP_KEY</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX161"><CODE>COMP_LINE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX162"><CODE>COMP_LINE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX163"><CODE>COMP_POINT</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX164"><CODE>COMP_POINT</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX165"><CODE>COMP_TYPE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX166"><CODE>COMP_TYPE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX169"><CODE>COMP_WORDBREAKS</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX170"><CODE>COMP_WORDBREAKS</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX171"><CODE>COMP_WORDS</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX172"><CODE>COMP_WORDS</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX299"><CODE>completion-prefix-display-length</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC103">8.3.1 Readline Init File Syntax</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX300"><CODE>completion-query-items</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC103">8.3.1 Readline Init File Syntax</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX173"><CODE>COMPREPLY</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX174"><CODE>COMPREPLY</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX301"><CODE>convert-meta</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC103">8.3.1 Readline Init File Syntax</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX161"><CODE>COLUMNS</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX162"><CODE>COLUMNS</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX304"><CODE>comment-begin</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC103">8.3.1 Readline Init File Syntax</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX163"><CODE>COMP_CWORD</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX164"><CODE>COMP_CWORD</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX171"><CODE>COMP_KEY</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX172"><CODE>COMP_KEY</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX165"><CODE>COMP_LINE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX166"><CODE>COMP_LINE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX167"><CODE>COMP_POINT</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX168"><CODE>COMP_POINT</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX169"><CODE>COMP_TYPE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX170"><CODE>COMP_TYPE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX173"><CODE>COMP_WORDBREAKS</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX174"><CODE>COMP_WORDBREAKS</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX175"><CODE>COMP_WORDS</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX176"><CODE>COMP_WORDS</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX305"><CODE>completion-prefix-display-length</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC103">8.3.1 Readline Init File Syntax</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX306"><CODE>completion-query-items</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC103">8.3.1 Readline Init File Syntax</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX177"><CODE>COMPREPLY</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX178"><CODE>COMPREPLY</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX307"><CODE>convert-meta</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC103">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#IDX175"><CODE>DIRSTACK</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX176"><CODE>DIRSTACK</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX302"><CODE>disable-completion</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC103">8.3.1 Readline Init File Syntax</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX179"><CODE>DIRSTACK</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX180"><CODE>DIRSTACK</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX308"><CODE>disable-completion</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC103">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#IDX303"><CODE>editing-mode</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC103">8.3.1 Readline Init File Syntax</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX177"><CODE>EMACS</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX178"><CODE>EMACS</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX304"><CODE>enable-keypad</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC103">8.3.1 Readline Init File Syntax</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX179"><CODE>EUID</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX180"><CODE>EUID</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX305"><CODE>expand-tilde</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC103">8.3.1 Readline Init File Syntax</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX309"><CODE>editing-mode</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC103">8.3.1 Readline Init File Syntax</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX181"><CODE>EMACS</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX182"><CODE>EMACS</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX310"><CODE>enable-keypad</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC103">8.3.1 Readline Init File Syntax</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX183"><CODE>EUID</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX184"><CODE>EUID</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX311"><CODE>expand-tilde</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC103">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#IDX181"><CODE>FCEDIT</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX182"><CODE>FCEDIT</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX183"><CODE>FIGNORE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX184"><CODE>FIGNORE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX185"><CODE>FUNCNAME</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX186"><CODE>FUNCNAME</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX185"><CODE>FCEDIT</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX186"><CODE>FCEDIT</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX187"><CODE>FIGNORE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX188"><CODE>FIGNORE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX189"><CODE>FUNCNAME</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX190"><CODE>FUNCNAME</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
 <TR><TD COLSPAN=3> <HR></TD></TR>
 <TR><TH><A NAME="vr_G"></A>G</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX187"><CODE>GLOBIGNORE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX188"><CODE>GLOBIGNORE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX189"><CODE>GROUPS</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX190"><CODE>GROUPS</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX191"><CODE>GLOBIGNORE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX192"><CODE>GLOBIGNORE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX193"><CODE>GROUPS</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX194"><CODE>GROUPS</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
 <TR><TD COLSPAN=3> <HR></TD></TR>
 <TR><TH><A NAME="vr_H"></A>H</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX191"><CODE>histchars</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX192"><CODE>histchars</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX193"><CODE>HISTCMD</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX194"><CODE>HISTCMD</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX195"><CODE>HISTCONTROL</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX196"><CODE>HISTCONTROL</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX197"><CODE>HISTFILE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX198"><CODE>HISTFILE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX199"><CODE>HISTFILESIZE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX200"><CODE>HISTFILESIZE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX201"><CODE>HISTIGNORE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX202"><CODE>HISTIGNORE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX306"><CODE>history-preserve-point</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC103">8.3.1 Readline Init File Syntax</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX307"><CODE>history-size</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC103">8.3.1 Readline Init File Syntax</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX203"><CODE>HISTSIZE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX204"><CODE>HISTSIZE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX205"><CODE>HISTTIMEFORMAT</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX206"><CODE>HISTTIMEFORMAT</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX195"><CODE>histchars</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX196"><CODE>histchars</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX197"><CODE>HISTCMD</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX198"><CODE>HISTCMD</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX199"><CODE>HISTCONTROL</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX200"><CODE>HISTCONTROL</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX201"><CODE>HISTFILE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX202"><CODE>HISTFILE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX203"><CODE>HISTFILESIZE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX204"><CODE>HISTFILESIZE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX205"><CODE>HISTIGNORE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX206"><CODE>HISTIGNORE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX312"><CODE>history-preserve-point</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC103">8.3.1 Readline Init File Syntax</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX313"><CODE>history-size</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC103">8.3.1 Readline Init File Syntax</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX207"><CODE>HISTSIZE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX208"><CODE>HISTSIZE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX209"><CODE>HISTTIMEFORMAT</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX210"><CODE>HISTTIMEFORMAT</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash 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#SEC65">5.1 Bourne Shell Variables</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX114"><CODE>HOME</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC65">5.1 Bourne Shell Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX308"><CODE>horizontal-scroll-mode</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC103">8.3.1 Readline Init File Syntax</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX207"><CODE>HOSTFILE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX208"><CODE>HOSTFILE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX209"><CODE>HOSTNAME</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX210"><CODE>HOSTNAME</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX211"><CODE>HOSTTYPE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX212"><CODE>HOSTTYPE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX314"><CODE>horizontal-scroll-mode</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC103">8.3.1 Readline Init File Syntax</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX211"><CODE>HOSTFILE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX212"><CODE>HOSTFILE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX213"><CODE>HOSTNAME</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX214"><CODE>HOSTNAME</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX215"><CODE>HOSTTYPE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX216"><CODE>HOSTTYPE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
 <TR><TD COLSPAN=3> <HR></TD></TR>
 <TR><TH><A NAME="vr_I"></A>I</TH><TD></TD><TD></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX115"><CODE>IFS</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC65">5.1 Bourne Shell Variables</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX116"><CODE>IFS</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC65">5.1 Bourne Shell Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX213"><CODE>IGNOREEOF</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX214"><CODE>IGNOREEOF</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX309"><CODE>input-meta</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC103">8.3.1 Readline Init File Syntax</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX215"><CODE>INPUTRC</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX216"><CODE>INPUTRC</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX311"><CODE>isearch-terminators</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC103">8.3.1 Readline Init File Syntax</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX217"><CODE>IGNOREEOF</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX218"><CODE>IGNOREEOF</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX315"><CODE>input-meta</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC103">8.3.1 Readline Init File Syntax</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX219"><CODE>INPUTRC</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX220"><CODE>INPUTRC</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX317"><CODE>isearch-terminators</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC103">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#IDX312"><CODE>keymap</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC103">8.3.1 Readline Init File Syntax</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX318"><CODE>keymap</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC103">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#IDX217"><CODE>LANG</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX218"><CODE>LANG</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX219"><CODE>LC_ALL</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX220"><CODE>LC_ALL</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX221"><CODE>LC_COLLATE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX222"><CODE>LC_COLLATE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX223"><CODE>LC_CTYPE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX224"><CODE>LC_CTYPE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX221"><CODE>LANG</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX222"><CODE>LANG</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX223"><CODE>LC_ALL</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX224"><CODE>LC_ALL</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX225"><CODE>LC_COLLATE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX226"><CODE>LC_COLLATE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX227"><CODE>LC_CTYPE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX228"><CODE>LC_CTYPE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX21"><CODE>LC_MESSAGES</CODE></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#IDX225"><CODE>LC_MESSAGES</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX226"><CODE>LC_MESSAGES</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX227"><CODE>LC_NUMERIC</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX228"><CODE>LC_NUMERIC</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX229"><CODE>LINENO</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX230"><CODE>LINENO</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX231"><CODE>LINES</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX232"><CODE>LINES</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX229"><CODE>LC_MESSAGES</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX230"><CODE>LC_MESSAGES</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX231"><CODE>LC_NUMERIC</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX232"><CODE>LC_NUMERIC</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX233"><CODE>LINENO</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX234"><CODE>LINENO</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX235"><CODE>LINES</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX236"><CODE>LINES</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
 <TR><TD COLSPAN=3> <HR></TD></TR>
 <TR><TH><A NAME="vr_M"></A>M</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX233"><CODE>MACHTYPE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX234"><CODE>MACHTYPE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX237"><CODE>MACHTYPE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX238"><CODE>MACHTYPE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX117"><CODE>MAIL</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC65">5.1 Bourne Shell Variables</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX118"><CODE>MAIL</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC65">5.1 Bourne Shell Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX235"><CODE>MAILCHECK</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX236"><CODE>MAILCHECK</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX239"><CODE>MAILCHECK</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX240"><CODE>MAILCHECK</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash 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#SEC65">5.1 Bourne Shell Variables</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX120"><CODE>MAILPATH</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC65">5.1 Bourne Shell Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX313"><CODE>mark-modified-lines</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC103">8.3.1 Readline Init File Syntax</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX314"><CODE>mark-symlinked-directories</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC103">8.3.1 Readline Init File Syntax</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX315"><CODE>match-hidden-files</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC103">8.3.1 Readline Init File Syntax</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX310"><CODE>meta-flag</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC103">8.3.1 Readline Init File Syntax</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX319"><CODE>mark-modified-lines</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC103">8.3.1 Readline Init File Syntax</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX320"><CODE>mark-symlinked-directories</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC103">8.3.1 Readline Init File Syntax</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX321"><CODE>match-hidden-files</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC103">8.3.1 Readline Init File Syntax</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX316"><CODE>meta-flag</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC103">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#IDX237"><CODE>OLDPWD</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX238"><CODE>OLDPWD</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX241"><CODE>OLDPWD</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX242"><CODE>OLDPWD</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX121"><CODE>OPTARG</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC65">5.1 Bourne Shell Variables</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX122"><CODE>OPTARG</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC65">5.1 Bourne Shell Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX239"><CODE>OPTERR</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX240"><CODE>OPTERR</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX243"><CODE>OPTERR</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX244"><CODE>OPTERR</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX123"><CODE>OPTIND</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC65">5.1 Bourne Shell Variables</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX124"><CODE>OPTIND</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC65">5.1 Bourne Shell Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX241"><CODE>OSTYPE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX242"><CODE>OSTYPE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX316"><CODE>output-meta</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC103">8.3.1 Readline Init File Syntax</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX245"><CODE>OSTYPE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX246"><CODE>OSTYPE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX322"><CODE>output-meta</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC103">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#IDX317"><CODE>page-completions</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC103">8.3.1 Readline Init File Syntax</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX323"><CODE>page-completions</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC103">8.3.1 Readline Init File Syntax</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#SEC65">5.1 Bourne Shell Variables</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX126"><CODE>PATH</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC65">5.1 Bourne Shell Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX243"><CODE>PIPESTATUS</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX244"><CODE>PIPESTATUS</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX245"><CODE>POSIXLY_CORRECT</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX246"><CODE>POSIXLY_CORRECT</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX247"><CODE>PPID</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX248"><CODE>PPID</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX249"><CODE>PROMPT_COMMAND</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX250"><CODE>PROMPT_COMMAND</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX247"><CODE>PIPESTATUS</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX248"><CODE>PIPESTATUS</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX249"><CODE>POSIXLY_CORRECT</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX250"><CODE>POSIXLY_CORRECT</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX251"><CODE>PPID</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX252"><CODE>PPID</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX253"><CODE>PROMPT_COMMAND</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX254"><CODE>PROMPT_COMMAND</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX255"><CODE>PROMPT_DIRTRIM</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX256"><CODE>PROMPT_DIRTRIM</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX127"><CODE>PS1</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC65">5.1 Bourne Shell Variables</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX128"><CODE>PS1</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC65">5.1 Bourne Shell Variables</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX129"><CODE>PS2</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC65">5.1 Bourne Shell Variables</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX130"><CODE>PS2</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC65">5.1 Bourne Shell Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX251"><CODE>PS3</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX252"><CODE>PS3</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX253"><CODE>PS4</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX254"><CODE>PS4</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX255"><CODE>PWD</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX256"><CODE>PWD</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX257"><CODE>PS3</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX258"><CODE>PS3</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX259"><CODE>PS4</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX260"><CODE>PS4</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX261"><CODE>PWD</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX262"><CODE>PWD</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
 <TR><TD COLSPAN=3> <HR></TD></TR>
 <TR><TH><A NAME="vr_R"></A>R</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX257"><CODE>RANDOM</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX258"><CODE>RANDOM</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX259"><CODE>REPLY</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX260"><CODE>REPLY</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX318"><CODE>revert-all-at-newline</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC103">8.3.1 Readline Init File Syntax</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX263"><CODE>RANDOM</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX264"><CODE>RANDOM</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX265"><CODE>REPLY</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX266"><CODE>REPLY</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX324"><CODE>revert-all-at-newline</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC103">8.3.1 Readline Init File Syntax</A></TD></TR>
 <TR><TD COLSPAN=3> <HR></TD></TR>
 <TR><TH><A NAME="vr_S"></A>S</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX261"><CODE>SECONDS</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX262"><CODE>SECONDS</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX263"><CODE>SHELL</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX264"><CODE>SHELL</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX265"><CODE>SHELLOPTS</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX266"><CODE>SHELLOPTS</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX267"><CODE>SHLVL</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX268"><CODE>SHLVL</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX319"><CODE>show-all-if-ambiguous</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC103">8.3.1 Readline Init File Syntax</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX320"><CODE>show-all-if-unmodified</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC103">8.3.1 Readline Init File Syntax</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX267"><CODE>SECONDS</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX268"><CODE>SECONDS</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX269"><CODE>SHELL</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX270"><CODE>SHELL</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX271"><CODE>SHELLOPTS</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX272"><CODE>SHELLOPTS</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX273"><CODE>SHLVL</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX274"><CODE>SHLVL</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX325"><CODE>show-all-if-ambiguous</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC103">8.3.1 Readline Init File Syntax</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX326"><CODE>show-all-if-unmodified</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC103">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>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX23"><CODE>TEXTDOMAINDIR</CODE></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#IDX269"><CODE>TIMEFORMAT</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX270"><CODE>TIMEFORMAT</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX271"><CODE>TMOUT</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX272"><CODE>TMOUT</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX273"><CODE>TMPDIR</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX274"><CODE>TMPDIR</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX275"><CODE>TIMEFORMAT</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX276"><CODE>TIMEFORMAT</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX277"><CODE>TMOUT</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX278"><CODE>TMOUT</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX279"><CODE>TMPDIR</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX280"><CODE>TMPDIR</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">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#IDX275"><CODE>UID</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX276"><CODE>UID</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX281"><CODE>UID</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX282"><CODE>UID</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">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#IDX321"><CODE>visible-stats</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC103">8.3.1 Readline Init File Syntax</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX327"><CODE>visible-stats</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC103">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; 
@@ -14582,238 +14691,238 @@ 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#IDX464"><CODE>abort (C-g)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX465"><CODE>abort (C-g)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX338"><CODE>accept-line (Newline or Return)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC108">8.4.2 Commands For Manipulating The History</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX339"><CODE>accept-line (Newline or Return)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC108">8.4.2 Commands For Manipulating The History</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX506"><CODE>alias-expand-line ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX507"><CODE>alias-expand-line ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX470"><CODE>abort (C-g)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX471"><CODE>abort (C-g)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX344"><CODE>accept-line (Newline or Return)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC108">8.4.2 Commands For Manipulating The History</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX345"><CODE>accept-line (Newline or Return)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC108">8.4.2 Commands For Manipulating The History</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX512"><CODE>alias-expand-line ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX513"><CODE>alias-expand-line ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">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#IDX328"><CODE>backward-char (C-b)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC107">8.4.1 Commands For Moving</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX329"><CODE>backward-char (C-b)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC107">8.4.1 Commands For Moving</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX366"><CODE>backward-delete-char (Rubout)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.3 Commands For Changing Text</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX367"><CODE>backward-delete-char (Rubout)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.3 Commands For Changing Text</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX388"><CODE>backward-kill-line (C-x Rubout)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.4 Killing And Yanking</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX389"><CODE>backward-kill-line (C-x Rubout)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.4 Killing And Yanking</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX396"><CODE>backward-kill-word (M-<KBD>DEL</KBD>)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.4 Killing And Yanking</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX397"><CODE>backward-kill-word (M-<KBD>DEL</KBD>)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.4 Killing And Yanking</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX332"><CODE>backward-word (M-b)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC107">8.4.1 Commands For Moving</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX333"><CODE>backward-word (M-b)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC107">8.4.1 Commands For Moving</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX344"><CODE>beginning-of-history (M-&#38;#60;)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC108">8.4.2 Commands For Manipulating The History</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX345"><CODE>beginning-of-history (M-&#38;#60;)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC108">8.4.2 Commands For Manipulating The History</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX322"><CODE>beginning-of-line (C-a)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC107">8.4.1 Commands For Moving</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX323"><CODE>beginning-of-line (C-a)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC107">8.4.1 Commands For Moving</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX334"><CODE>backward-char (C-b)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC107">8.4.1 Commands For Moving</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX335"><CODE>backward-char (C-b)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC107">8.4.1 Commands For Moving</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX372"><CODE>backward-delete-char (Rubout)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.3 Commands For Changing Text</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX373"><CODE>backward-delete-char (Rubout)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.3 Commands For Changing Text</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX394"><CODE>backward-kill-line (C-x Rubout)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX395"><CODE>backward-kill-line (C-x Rubout)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX402"><CODE>backward-kill-word (M-<KBD>DEL</KBD>)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX403"><CODE>backward-kill-word (M-<KBD>DEL</KBD>)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX338"><CODE>backward-word (M-b)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC107">8.4.1 Commands For Moving</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX339"><CODE>backward-word (M-b)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC107">8.4.1 Commands For Moving</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX350"><CODE>beginning-of-history (M-&#38;#60;)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC108">8.4.2 Commands For Manipulating The History</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX351"><CODE>beginning-of-history (M-&#38;#60;)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC108">8.4.2 Commands For Manipulating The History</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX328"><CODE>beginning-of-line (C-a)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC107">8.4.1 Commands For Moving</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX329"><CODE>beginning-of-line (C-a)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC107">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#IDX460"><CODE>call-last-kbd-macro (C-x e)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC113">8.4.7 Keyboard Macros</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX461"><CODE>call-last-kbd-macro (C-x e)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC113">8.4.7 Keyboard Macros</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX382"><CODE>capitalize-word (M-c)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.3 Commands For Changing Text</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX383"><CODE>capitalize-word (M-c)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.3 Commands For Changing Text</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX480"><CODE>character-search (C-])</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX481"><CODE>character-search (C-])</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX482"><CODE>character-search-backward (M-C-])</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX483"><CODE>character-search-backward (M-C-])</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX334"><CODE>clear-screen (C-l)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC107">8.4.1 Commands For Moving</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX335"><CODE>clear-screen (C-l)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC107">8.4.1 Commands For Moving</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX420"><CODE>complete (<KBD>TAB</KBD>)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.6 Letting Readline Type For You</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX421"><CODE>complete (<KBD>TAB</KBD>)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.6 Letting Readline Type For You</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX446"><CODE>complete-command (M-!)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.6 Letting Readline Type For You</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX447"><CODE>complete-command (M-!)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.6 Letting Readline Type For You</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX430"><CODE>complete-filename (M-/)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.6 Letting Readline Type For You</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX431"><CODE>complete-filename (M-/)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.6 Letting Readline Type For You</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX442"><CODE>complete-hostname (M-@)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.6 Letting Readline Type For You</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX443"><CODE>complete-hostname (M-@)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.6 Letting Readline Type For You</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX454"><CODE>complete-into-braces (M-{)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.6 Letting Readline Type For You</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX455"><CODE>complete-into-braces (M-{)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.6 Letting Readline Type For You</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX434"><CODE>complete-username (M-~)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.6 Letting Readline Type For You</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX435"><CODE>complete-username (M-~)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.6 Letting Readline Type For You</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX438"><CODE>complete-variable (M-$)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.6 Letting Readline Type For You</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX439"><CODE>complete-variable (M-$)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.6 Letting Readline Type For You</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX408"><CODE>copy-backward-word ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.4 Killing And Yanking</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX409"><CODE>copy-backward-word ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.4 Killing And Yanking</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX410"><CODE>copy-forward-word ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.4 Killing And Yanking</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX411"><CODE>copy-forward-word ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.4 Killing And Yanking</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX406"><CODE>copy-region-as-kill ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.4 Killing And Yanking</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX407"><CODE>copy-region-as-kill ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX466"><CODE>call-last-kbd-macro (C-x e)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC113">8.4.7 Keyboard Macros</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX467"><CODE>call-last-kbd-macro (C-x e)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC113">8.4.7 Keyboard Macros</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX388"><CODE>capitalize-word (M-c)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.3 Commands For Changing Text</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX389"><CODE>capitalize-word (M-c)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.3 Commands For Changing Text</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX486"><CODE>character-search (C-])</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX487"><CODE>character-search (C-])</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX488"><CODE>character-search-backward (M-C-])</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX489"><CODE>character-search-backward (M-C-])</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX340"><CODE>clear-screen (C-l)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC107">8.4.1 Commands For Moving</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX341"><CODE>clear-screen (C-l)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC107">8.4.1 Commands For Moving</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX426"><CODE>complete (<KBD>TAB</KBD>)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX427"><CODE>complete (<KBD>TAB</KBD>)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX452"><CODE>complete-command (M-!)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX453"><CODE>complete-command (M-!)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX436"><CODE>complete-filename (M-/)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX437"><CODE>complete-filename (M-/)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX448"><CODE>complete-hostname (M-@)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX449"><CODE>complete-hostname (M-@)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX460"><CODE>complete-into-braces (M-{)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX461"><CODE>complete-into-braces (M-{)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX440"><CODE>complete-username (M-~)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX441"><CODE>complete-username (M-~)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX444"><CODE>complete-variable (M-$)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX445"><CODE>complete-variable (M-$)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX414"><CODE>copy-backward-word ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX415"><CODE>copy-backward-word ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX416"><CODE>copy-forward-word ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX417"><CODE>copy-forward-word ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX412"><CODE>copy-region-as-kill ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX413"><CODE>copy-region-as-kill ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">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#IDX452"><CODE>dabbrev-expand ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.6 Letting Readline Type For You</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX453"><CODE>dabbrev-expand ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.6 Letting Readline Type For You</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX364"><CODE>delete-char (C-d)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.3 Commands For Changing Text</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX365"><CODE>delete-char (C-d)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.3 Commands For Changing Text</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX428"><CODE>delete-char-or-list ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.6 Letting Readline Type For You</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX429"><CODE>delete-char-or-list ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.6 Letting Readline Type For You</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX402"><CODE>delete-horizontal-space ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.4 Killing And Yanking</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX403"><CODE>delete-horizontal-space ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.4 Killing And Yanking</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX416"><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#SEC111">8.4.5 Specifying Numeric Arguments</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX417"><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#SEC111">8.4.5 Specifying Numeric Arguments</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX498"><CODE>display-shell-version (C-x C-v)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX499"><CODE>display-shell-version (C-x C-v)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX466"><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#SEC114">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX467"><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#SEC114">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX380"><CODE>downcase-word (M-l)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.3 Commands For Changing Text</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX381"><CODE>downcase-word (M-l)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.3 Commands For Changing Text</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX486"><CODE>dump-functions ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX487"><CODE>dump-functions ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX490"><CODE>dump-macros ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX491"><CODE>dump-macros ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX488"><CODE>dump-variables ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX489"><CODE>dump-variables ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX450"><CODE>dynamic-complete-history (M-<KBD>TAB</KBD>)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.6 Letting Readline Type For You</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX451"><CODE>dynamic-complete-history (M-<KBD>TAB</KBD>)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX458"><CODE>dabbrev-expand ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX459"><CODE>dabbrev-expand ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX370"><CODE>delete-char (C-d)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.3 Commands For Changing Text</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX371"><CODE>delete-char (C-d)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.3 Commands For Changing Text</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX434"><CODE>delete-char-or-list ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX435"><CODE>delete-char-or-list ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX408"><CODE>delete-horizontal-space ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX409"><CODE>delete-horizontal-space ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX422"><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#SEC111">8.4.5 Specifying Numeric Arguments</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX423"><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#SEC111">8.4.5 Specifying Numeric Arguments</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX504"><CODE>display-shell-version (C-x C-v)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX505"><CODE>display-shell-version (C-x C-v)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX472"><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#SEC114">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX473"><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#SEC114">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX386"><CODE>downcase-word (M-l)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.3 Commands For Changing Text</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX387"><CODE>downcase-word (M-l)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.3 Commands For Changing Text</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX492"><CODE>dump-functions ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX493"><CODE>dump-functions ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX496"><CODE>dump-macros ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX497"><CODE>dump-macros ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX494"><CODE>dump-variables ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX495"><CODE>dump-variables ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX456"><CODE>dynamic-complete-history (M-<KBD>TAB</KBD>)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX457"><CODE>dynamic-complete-history (M-<KBD>TAB</KBD>)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">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#IDX514"><CODE>edit-and-execute-command (C-xC-e)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX515"><CODE>edit-and-execute-command (C-xC-e)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX458"><CODE>end-kbd-macro (C-x ))</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC113">8.4.7 Keyboard Macros</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX459"><CODE>end-kbd-macro (C-x ))</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC113">8.4.7 Keyboard Macros</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX346"><CODE>end-of-history (M-&#38;#62;)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC108">8.4.2 Commands For Manipulating The History</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX347"><CODE>end-of-history (M-&#38;#62;)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC108">8.4.2 Commands For Manipulating The History</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX324"><CODE>end-of-line (C-e)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC107">8.4.1 Commands For Moving</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX325"><CODE>end-of-line (C-e)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC107">8.4.1 Commands For Moving</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX478"><CODE>exchange-point-and-mark (C-x C-x)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX479"><CODE>exchange-point-and-mark (C-x C-x)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX520"><CODE>edit-and-execute-command (C-xC-e)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX521"><CODE>edit-and-execute-command (C-xC-e)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX464"><CODE>end-kbd-macro (C-x ))</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC113">8.4.7 Keyboard Macros</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX465"><CODE>end-kbd-macro (C-x ))</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC113">8.4.7 Keyboard Macros</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX352"><CODE>end-of-history (M-&#38;#62;)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC108">8.4.2 Commands For Manipulating The History</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX353"><CODE>end-of-history (M-&#38;#62;)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC108">8.4.2 Commands For Manipulating The History</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX330"><CODE>end-of-line (C-e)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC107">8.4.1 Commands For Moving</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX331"><CODE>end-of-line (C-e)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC107">8.4.1 Commands For Moving</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX484"><CODE>exchange-point-and-mark (C-x C-x)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX485"><CODE>exchange-point-and-mark (C-x C-x)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">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#IDX368"><CODE>forward-backward-delete-char ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.3 Commands For Changing Text</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX369"><CODE>forward-backward-delete-char ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.3 Commands For Changing Text</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX326"><CODE>forward-char (C-f)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC107">8.4.1 Commands For Moving</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX327"><CODE>forward-char (C-f)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC107">8.4.1 Commands For Moving</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX350"><CODE>forward-search-history (C-s)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC108">8.4.2 Commands For Manipulating The History</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX351"><CODE>forward-search-history (C-s)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC108">8.4.2 Commands For Manipulating The History</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX330"><CODE>forward-word (M-f)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC107">8.4.1 Commands For Moving</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX331"><CODE>forward-word (M-f)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC107">8.4.1 Commands For Moving</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX374"><CODE>forward-backward-delete-char ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.3 Commands For Changing Text</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX375"><CODE>forward-backward-delete-char ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.3 Commands For Changing Text</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX332"><CODE>forward-char (C-f)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC107">8.4.1 Commands For Moving</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX333"><CODE>forward-char (C-f)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC107">8.4.1 Commands For Moving</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX356"><CODE>forward-search-history (C-s)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC108">8.4.2 Commands For Manipulating The History</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX357"><CODE>forward-search-history (C-s)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC108">8.4.2 Commands For Manipulating The History</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX336"><CODE>forward-word (M-f)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC107">8.4.1 Commands For Moving</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX337"><CODE>forward-word (M-f)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC107">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#IDX492"><CODE>glob-complete-word (M-g)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX493"><CODE>glob-complete-word (M-g)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX494"><CODE>glob-expand-word (C-x *)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX495"><CODE>glob-expand-word (C-x *)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX496"><CODE>glob-list-expansions (C-x g)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX497"><CODE>glob-list-expansions (C-x g)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX498"><CODE>glob-complete-word (M-g)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX499"><CODE>glob-complete-word (M-g)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX500"><CODE>glob-expand-word (C-x *)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX501"><CODE>glob-expand-word (C-x *)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX502"><CODE>glob-list-expansions (C-x g)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX503"><CODE>glob-list-expansions (C-x g)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">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#IDX508"><CODE>history-and-alias-expand-line ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX509"><CODE>history-and-alias-expand-line ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX502"><CODE>history-expand-line (M-^)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX503"><CODE>history-expand-line (M-^)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX358"><CODE>history-search-backward ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC108">8.4.2 Commands For Manipulating The History</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX359"><CODE>history-search-backward ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC108">8.4.2 Commands For Manipulating The History</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX356"><CODE>history-search-forward ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC108">8.4.2 Commands For Manipulating The History</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX357"><CODE>history-search-forward ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC108">8.4.2 Commands For Manipulating The History</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX514"><CODE>history-and-alias-expand-line ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX515"><CODE>history-and-alias-expand-line ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX508"><CODE>history-expand-line (M-^)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX509"><CODE>history-expand-line (M-^)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX364"><CODE>history-search-backward ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC108">8.4.2 Commands For Manipulating The History</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX365"><CODE>history-search-backward ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC108">8.4.2 Commands For Manipulating The History</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX362"><CODE>history-search-forward ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC108">8.4.2 Commands For Manipulating The History</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX363"><CODE>history-search-forward ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC108">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#IDX484"><CODE>insert-comment (M-#)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX485"><CODE>insert-comment (M-#)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX424"><CODE>insert-completions (M-*)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.6 Letting Readline Type For You</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX425"><CODE>insert-completions (M-*)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.6 Letting Readline Type For You</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX510"><CODE>insert-last-argument (M-. or M-_)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX511"><CODE>insert-last-argument (M-. or M-_)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX490"><CODE>insert-comment (M-#)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX491"><CODE>insert-comment (M-#)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX430"><CODE>insert-completions (M-*)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX431"><CODE>insert-completions (M-*)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX516"><CODE>insert-last-argument (M-. or M-_)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX517"><CODE>insert-last-argument (M-. or M-_)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">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#IDX386"><CODE>kill-line (C-k)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.4 Killing And Yanking</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX387"><CODE>kill-line (C-k)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.4 Killing And Yanking</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX404"><CODE>kill-region ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.4 Killing And Yanking</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX405"><CODE>kill-region ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.4 Killing And Yanking</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX392"><CODE>kill-whole-line ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.4 Killing And Yanking</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX393"><CODE>kill-whole-line ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.4 Killing And Yanking</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX394"><CODE>kill-word (M-d)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.4 Killing And Yanking</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX395"><CODE>kill-word (M-d)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX392"><CODE>kill-line (C-k)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX393"><CODE>kill-line (C-k)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX410"><CODE>kill-region ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX411"><CODE>kill-region ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX398"><CODE>kill-whole-line ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX399"><CODE>kill-whole-line ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX400"><CODE>kill-word (M-d)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX401"><CODE>kill-word (M-d)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">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#IDX504"><CODE>magic-space ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX505"><CODE>magic-space ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX426"><CODE>menu-complete ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.6 Letting Readline Type For You</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX427"><CODE>menu-complete ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX510"><CODE>magic-space ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX511"><CODE>magic-space ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX432"><CODE>menu-complete ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX433"><CODE>menu-complete ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">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#IDX342"><CODE>next-history (C-n)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC108">8.4.2 Commands For Manipulating The History</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX343"><CODE>next-history (C-n)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC108">8.4.2 Commands For Manipulating The History</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX354"><CODE>non-incremental-forward-search-history (M-n)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC108">8.4.2 Commands For Manipulating The History</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX355"><CODE>non-incremental-forward-search-history (M-n)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC108">8.4.2 Commands For Manipulating The History</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX352"><CODE>non-incremental-reverse-search-history (M-p)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC108">8.4.2 Commands For Manipulating The History</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX353"><CODE>non-incremental-reverse-search-history (M-p)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC108">8.4.2 Commands For Manipulating The History</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX348"><CODE>next-history (C-n)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC108">8.4.2 Commands For Manipulating The History</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX349"><CODE>next-history (C-n)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC108">8.4.2 Commands For Manipulating The History</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX360"><CODE>non-incremental-forward-search-history (M-n)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC108">8.4.2 Commands For Manipulating The History</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX361"><CODE>non-incremental-forward-search-history (M-n)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC108">8.4.2 Commands For Manipulating The History</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX358"><CODE>non-incremental-reverse-search-history (M-p)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC108">8.4.2 Commands For Manipulating The History</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX359"><CODE>non-incremental-reverse-search-history (M-p)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC108">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#IDX512"><CODE>operate-and-get-next (C-o)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX513"><CODE>operate-and-get-next (C-o)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX384"><CODE>overwrite-mode ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.3 Commands For Changing Text</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX385"><CODE>overwrite-mode ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.3 Commands For Changing Text</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX518"><CODE>operate-and-get-next (C-o)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX519"><CODE>operate-and-get-next (C-o)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX390"><CODE>overwrite-mode ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.3 Commands For Changing Text</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX391"><CODE>overwrite-mode ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">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#IDX448"><CODE>possible-command-completions (C-x !)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.6 Letting Readline Type For You</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX449"><CODE>possible-command-completions (C-x !)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.6 Letting Readline Type For You</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX422"><CODE>possible-completions (M-?)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.6 Letting Readline Type For You</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX423"><CODE>possible-completions (M-?)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.6 Letting Readline Type For You</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX432"><CODE>possible-filename-completions (C-x /)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.6 Letting Readline Type For You</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX433"><CODE>possible-filename-completions (C-x /)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.6 Letting Readline Type For You</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX444"><CODE>possible-hostname-completions (C-x @)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.6 Letting Readline Type For You</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX445"><CODE>possible-hostname-completions (C-x @)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.6 Letting Readline Type For You</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX436"><CODE>possible-username-completions (C-x ~)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.6 Letting Readline Type For You</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX437"><CODE>possible-username-completions (C-x ~)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.6 Letting Readline Type For You</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX440"><CODE>possible-variable-completions (C-x $)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.6 Letting Readline Type For You</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX441"><CODE>possible-variable-completions (C-x $)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.6 Letting Readline Type For You</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX468"><CODE>prefix-meta (<KBD>ESC</KBD>)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX469"><CODE>prefix-meta (<KBD>ESC</KBD>)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX340"><CODE>previous-history (C-p)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC108">8.4.2 Commands For Manipulating The History</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX341"><CODE>previous-history (C-p)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC108">8.4.2 Commands For Manipulating The History</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX454"><CODE>possible-command-completions (C-x !)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX455"><CODE>possible-command-completions (C-x !)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX428"><CODE>possible-completions (M-?)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX429"><CODE>possible-completions (M-?)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX438"><CODE>possible-filename-completions (C-x /)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX439"><CODE>possible-filename-completions (C-x /)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX450"><CODE>possible-hostname-completions (C-x @)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX451"><CODE>possible-hostname-completions (C-x @)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX442"><CODE>possible-username-completions (C-x ~)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX443"><CODE>possible-username-completions (C-x ~)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX446"><CODE>possible-variable-completions (C-x $)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX447"><CODE>possible-variable-completions (C-x $)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX474"><CODE>prefix-meta (<KBD>ESC</KBD>)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX475"><CODE>prefix-meta (<KBD>ESC</KBD>)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX346"><CODE>previous-history (C-p)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC108">8.4.2 Commands For Manipulating The History</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX347"><CODE>previous-history (C-p)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC108">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#IDX370"><CODE>quoted-insert (C-q or C-v)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.3 Commands For Changing Text</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX371"><CODE>quoted-insert (C-q or C-v)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.3 Commands For Changing Text</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX376"><CODE>quoted-insert (C-q or C-v)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.3 Commands For Changing Text</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX377"><CODE>quoted-insert (C-q or C-v)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">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#IDX462"><CODE>re-read-init-file (C-x C-r)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX463"><CODE>re-read-init-file (C-x C-r)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX336"><CODE>redraw-current-line ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC107">8.4.1 Commands For Moving</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX337"><CODE>redraw-current-line ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC107">8.4.1 Commands For Moving</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX348"><CODE>reverse-search-history (C-r)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC108">8.4.2 Commands For Manipulating The History</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX349"><CODE>reverse-search-history (C-r)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC108">8.4.2 Commands For Manipulating The History</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX472"><CODE>revert-line (M-r)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX473"><CODE>revert-line (M-r)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX468"><CODE>re-read-init-file (C-x C-r)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX469"><CODE>re-read-init-file (C-x C-r)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX342"><CODE>redraw-current-line ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC107">8.4.1 Commands For Moving</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX343"><CODE>redraw-current-line ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC107">8.4.1 Commands For Moving</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX354"><CODE>reverse-search-history (C-r)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC108">8.4.2 Commands For Manipulating The History</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX355"><CODE>reverse-search-history (C-r)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC108">8.4.2 Commands For Manipulating The History</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX478"><CODE>revert-line (M-r)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX479"><CODE>revert-line (M-r)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">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#IDX372"><CODE>self-insert (a, b, A, 1, !, &#60;small&#62;...&#60;/small&#62;)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.3 Commands For Changing Text</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX373"><CODE>self-insert (a, b, A, 1, !, &#60;small&#62;...&#60;/small&#62;)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.3 Commands For Changing Text</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX476"><CODE>set-mark (C-@)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX477"><CODE>set-mark (C-@)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX500"><CODE>shell-expand-line (M-C-e)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX501"><CODE>shell-expand-line (M-C-e)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX456"><CODE>start-kbd-macro (C-x ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC113">8.4.7 Keyboard Macros</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX457"><CODE>start-kbd-macro (C-x ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC113">8.4.7 Keyboard Macros</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX378"><CODE>self-insert (a, b, A, 1, !, &#60;small&#62;...&#60;/small&#62;)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.3 Commands For Changing Text</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX379"><CODE>self-insert (a, b, A, 1, !, &#60;small&#62;...&#60;/small&#62;)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.3 Commands For Changing Text</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX482"><CODE>set-mark (C-@)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX483"><CODE>set-mark (C-@)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX506"><CODE>shell-expand-line (M-C-e)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX507"><CODE>shell-expand-line (M-C-e)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX462"><CODE>start-kbd-macro (C-x ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC113">8.4.7 Keyboard Macros</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX463"><CODE>start-kbd-macro (C-x ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC113">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#IDX474"><CODE>tilde-expand (M-&#38;#38;)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX475"><CODE>tilde-expand (M-&#38;#38;)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX374"><CODE>transpose-chars (C-t)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.3 Commands For Changing Text</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX375"><CODE>transpose-chars (C-t)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.3 Commands For Changing Text</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX376"><CODE>transpose-words (M-t)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.3 Commands For Changing Text</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX377"><CODE>transpose-words (M-t)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.3 Commands For Changing Text</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX480"><CODE>tilde-expand (M-&#38;#38;)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX481"><CODE>tilde-expand (M-&#38;#38;)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX380"><CODE>transpose-chars (C-t)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.3 Commands For Changing Text</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX381"><CODE>transpose-chars (C-t)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.3 Commands For Changing Text</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX382"><CODE>transpose-words (M-t)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.3 Commands For Changing Text</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX383"><CODE>transpose-words (M-t)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">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#IDX470"><CODE>undo (C-_ or C-x C-u)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX471"><CODE>undo (C-_ or C-x C-u)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX418"><CODE>universal-argument ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.5 Specifying Numeric Arguments</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX419"><CODE>universal-argument ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.5 Specifying Numeric Arguments</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX400"><CODE>unix-filename-rubout ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.4 Killing And Yanking</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX401"><CODE>unix-filename-rubout ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.4 Killing And Yanking</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX390"><CODE>unix-line-discard (C-u)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.4 Killing And Yanking</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX391"><CODE>unix-line-discard (C-u)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.4 Killing And Yanking</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX398"><CODE>unix-word-rubout (C-w)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.4 Killing And Yanking</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX399"><CODE>unix-word-rubout (C-w)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.4 Killing And Yanking</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX378"><CODE>upcase-word (M-u)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.3 Commands For Changing Text</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX379"><CODE>upcase-word (M-u)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.3 Commands For Changing Text</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX476"><CODE>undo (C-_ or C-x C-u)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX477"><CODE>undo (C-_ or C-x C-u)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX424"><CODE>universal-argument ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.5 Specifying Numeric Arguments</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX425"><CODE>universal-argument ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.5 Specifying Numeric Arguments</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX406"><CODE>unix-filename-rubout ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX407"><CODE>unix-filename-rubout ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX396"><CODE>unix-line-discard (C-u)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX397"><CODE>unix-line-discard (C-u)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX404"><CODE>unix-word-rubout (C-w)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX405"><CODE>unix-word-rubout (C-w)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX384"><CODE>upcase-word (M-u)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.3 Commands For Changing Text</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX385"><CODE>upcase-word (M-u)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">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#IDX412"><CODE>yank (C-y)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.4 Killing And Yanking</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX413"><CODE>yank (C-y)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.4 Killing And Yanking</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX362"><CODE>yank-last-arg (M-. or M-_)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC108">8.4.2 Commands For Manipulating The History</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX363"><CODE>yank-last-arg (M-. or M-_)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC108">8.4.2 Commands For Manipulating The History</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX360"><CODE>yank-nth-arg (M-C-y)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC108">8.4.2 Commands For Manipulating The History</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX361"><CODE>yank-nth-arg (M-C-y)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC108">8.4.2 Commands For Manipulating The History</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX414"><CODE>yank-pop (M-y)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.4 Killing And Yanking</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX415"><CODE>yank-pop (M-y)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX418"><CODE>yank (C-y)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX419"><CODE>yank (C-y)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX368"><CODE>yank-last-arg (M-. or M-_)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC108">8.4.2 Commands For Manipulating The History</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX369"><CODE>yank-last-arg (M-. or M-_)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC108">8.4.2 Commands For Manipulating The History</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX366"><CODE>yank-nth-arg (M-C-y)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC108">8.4.2 Commands For Manipulating The History</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX367"><CODE>yank-nth-arg (M-C-y)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC108">8.4.2 Commands For Manipulating The History</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX420"><CODE>yank-pop (M-y)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX421"><CODE>yank-pop (M-y)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">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; 
@@ -14987,17 +15096,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#SEC120">history builtins</A></TD><TD valign=top><A HREF="bashref.html#SEC120">9.2 Bash History Builtins</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX522">history events</A></TD><TD valign=top><A HREF="bashref.html#SEC122">9.3.1 Event Designators</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX528">history events</A></TD><TD valign=top><A HREF="bashref.html#SEC122">9.3.1 Event Designators</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC121">history expansion</A></TD><TD valign=top><A HREF="bashref.html#SEC121">9.3 History Expansion</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC119">history list</A></TD><TD valign=top><A HREF="bashref.html#SEC119">9.1 Bash History Facilities</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX519">History, how to use</A></TD><TD valign=top><A HREF="bashref.html#SEC117">8.7 Programmable Completion Builtins</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX525">History, how to use</A></TD><TD valign=top><A HREF="bashref.html#SEC117">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#SEC102">initialization file, readline</A></TD><TD valign=top><A HREF="bashref.html#SEC102">8.3 Readline Init File</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC126">installation</A></TD><TD valign=top><A HREF="bashref.html#SEC126">10.1 Basic Installation</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC96">interaction, readline</A></TD><TD valign=top><A HREF="bashref.html#SEC96">8.2 Readline Interaction</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX278">interactive shell</A></TD><TD valign=top><A HREF="bashref.html#SEC68">6.1 Invoking Bash</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX284">interactive shell</A></TD><TD valign=top><A HREF="bashref.html#SEC68">6.1 Invoking Bash</A></TD></TR>
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC77">interactive shell</A></TD><TD valign=top><A HREF="bashref.html#SEC77">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>
@@ -15007,12 +15116,12 @@ to permit their use in free software.
 <TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC91">job control</A></TD><TD valign=top><A HREF="bashref.html#SEC91">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#IDX294">kill ring</A></TD><TD valign=top><A HREF="bashref.html#SEC99">8.2.3 Readline Killing Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX292">killing text</A></TD><TD valign=top><A HREF="bashref.html#SEC99">8.2.3 Readline Killing Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX300">kill ring</A></TD><TD valign=top><A HREF="bashref.html#SEC99">8.2.3 Readline Killing Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX298">killing text</A></TD><TD valign=top><A HREF="bashref.html#SEC99">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#IDX277">login shell</A></TD><TD valign=top><A HREF="bashref.html#SEC68">6.1 Invoking Bash</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX283">login shell</A></TD><TD valign=top><A HREF="bashref.html#SEC68">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>
@@ -15047,7 +15156,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#IDX291">Readline, how to use</A></TD><TD valign=top><A HREF="bashref.html#SEC93">7.3 Job Control Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX297">Readline, how to use</A></TD><TD valign=top><A HREF="bashref.html#SEC93">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#SEC88">restricted shell</A></TD><TD valign=top><A HREF="bashref.html#SEC88">6.10 The Restricted Shell</A></TD></TR>
@@ -15073,14 +15182,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#IDX295">variables, readline</A></TD><TD valign=top><A HREF="bashref.html#SEC103">8.3.1 Readline Init File Syntax</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX301">variables, readline</A></TD><TD valign=top><A HREF="bashref.html#SEC103">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#IDX293">yanking text</A></TD><TD valign=top><A HREF="bashref.html#SEC99">8.2.3 Readline Killing Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX299">yanking text</A></TD><TD valign=top><A HREF="bashref.html#SEC99">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; 
@@ -15514,7 +15623,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>May, 29  2008</I>
+This document was generated by <I>Chet Ramey</I> on <I>July, 2  2008</I>
 using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
 "><I>texi2html</I></A>
 <P></P>  
@@ -15676,7 +15785,7 @@ the following structure:
 <BR>  
 <FONT SIZE="-1">
 This document was generated
-by <I>Chet Ramey</I> on <I>May, 29  2008</I>
+by <I>Chet Ramey</I> on <I>July, 2  2008</I>
 using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
 "><I>texi2html</I></A>
 
index 7c528378528a053a362bdcd09e42d374ad4920f6..76eaa522c8391c95a5ecc782d6be5e6de1969bd6 100644 (file)
@@ -1,10 +1,10 @@
 This is bashref.info, produced by makeinfo version 4.11 from
-/Users/chet/src/bash/src/doc/bashref.texi.
+/usr/homes/chet/src/bash/src/doc/bashref.texi.
 
 This text is a brief description of the features that are present in
-the Bash shell (version 4.0, 25 May 2008).
+the Bash shell (version 4.0, 29 June 2008).
 
-   This is Edition 4.0, last updated 25 May 2008, of `The GNU Bash
+   This is Edition 4.0, last updated 29 June 2008, of `The GNU Bash
 Reference Manual', for `Bash', Version 4.0.
 
    Copyright (C) 1988-2007 Free Software Foundation, Inc.
@@ -38,9 +38,9 @@ Bash Features
 *************
 
 This text is a brief description of the features that are present in
-the Bash shell (version 4.0, 25 May 2008).
+the Bash shell (version 4.0, 29 June 2008).
 
-   This is Edition 4.0, last updated 25 May 2008, of `The GNU Bash
+   This is Edition 4.0, last updated 29 June 2008, of `The GNU Bash
 Reference Manual', for `Bash', Version 4.0.
 
    Bash contains features that appear in other popular shells, and some
@@ -1064,8 +1064,10 @@ variable's current value, which is also evaluated.  When `+=' is
 applied to an array variable using compound assignment (*note
 Arrays::), 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,
-VALUE is expanded and appended to the variable's value.
+the array's maximum index (for indexed arrays),  or added as additional
+key-value pairs in an associative array.  When applied to a
+string-valued variable, VALUE is expanded and appended to the
+variable's value.
 
 \1f
 File: bashref.info,  Node: Positional Parameters,  Next: Special Parameters,  Up: Shell Parameters
@@ -1404,12 +1406,15 @@ if the colon is omitted, the operator tests only for existence.
      If OFFSET evaluates to a number less than zero, the value is used
      as an offset from the end of the value of PARAMETER.  If PARAMETER
      is `@', the result is LENGTH positional parameters beginning at
-     OFFSET.  If PARAMETER is an array name indexed by `@' or `*', the
-     result is the LENGTH members of the array beginning with
-     `${PARAMETER[OFFSET]}'.  A negative OFFSET 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 `:-' expansion.
+     OFFSET.  If PARAMETER is an indexed array name subscripted by `@'
+     or `*', the result is the LENGTH members of the array beginning
+     with `${PARAMETER[OFFSET]}'.  A negative OFFSET is taken relative
+     to one greater than the maximum index of the specified array.
+     Substring expansion applied to an associative array produces
+     undefined results.
+
+     Note that a negative offset must be separated from the colon by at
+     least one space to avoid being confused with the `:-' expansion.
      Substring indexing is zero-based unless the positional parameters
      are used, in which case the indexing starts at 1 by default.  If
      OFFSET is 0, and the positional parameters are used, `$@' is
@@ -1482,6 +1487,25 @@ if the colon is omitted, the operator tests only for existence.
      member of the array in turn, and the expansion is the resultant
      list.
 
+`${PARAMETER^PATTERN}'
+`${PARAMETER^^PATTERN}'
+`${PARAMETER,PATTERN}'
+`${PARAMETER,,PATTERN}'
+     This expansion modifies the case of alphabetic characters in
+     PARAMETER.  The PATTERN is expanded to produce a pattern just as in
+     pathname expansion.  The `^' operator converts lowercase letters
+     matching PATTERN to uppercase; the `,' operator converts matching
+     uppercase letters to lowercase.  The `^^' and `,,' expansions
+     convert each matched character in the expanded value; the `^' and
+     `,' expansions match and convert only the first character.  If
+     PATTERN is omitted, it is treated like a `?', which matches every
+     character.  If PARAMETER is `@' or `*', the case modification
+     operation is applied to each positional parameter in turn, and the
+     expansion is the resultant list.  If PARAMETER is an array
+     variable subscripted with `@' or `*', the case modification
+     operation is applied to each member of the array in turn, and the
+     expansion is the resultant list.
+
 
 \1f
 File: bashref.info,  Node: Command Substitution,  Next: Arithmetic Expansion,  Prev: Shell Parameter Expansion,  Up: Shell Expansions
@@ -2506,19 +2530,20 @@ standard.
      current directory or an invalid option is supplied.
 
 `readonly'
-          readonly [-apf] [NAME[=VALUE]] ...
+          readonly [-aApf] [NAME[=VALUE]] ...
      Mark each NAME as readonly.  The values of these names may not be
      changed by subsequent assignment.  If the `-f' option is supplied,
      each NAME refers to a shell function.  The `-a' option means each
-     NAME refers to an array variable.  If no NAME arguments are given,
-     or if the `-p' option is supplied, a list of all readonly names is
-     printed.  The `-p' option causes output to be displayed in a
-     format that may be reused as input.  If a variable name is
-     followed by =VALUE, the value of the variable is set to VALUE.
-     The return status is zero unless an invalid option is supplied,
-     one of the NAME arguments is not a valid shell variable or
-     function name, or the `-f' option is supplied with a name that is
-     not a shell function.
+     NAME refers to an indexed array variable; the `-A' option means
+     each NAME refers to an associative array variable.  If no NAME
+     arguments are given, or if the `-p' option is supplied, a list of
+     all readonly names is printed.  The `-p' option causes output to
+     be displayed in a format that may be reused as input.  If a
+     variable name is followed by =VALUE, the value of the variable is
+     set to VALUE.  The return status is zero unless an invalid option
+     is supplied, one of the NAME arguments is not a valid shell
+     variable or function name, or the `-f' option is supplied with a
+     name that is not a shell function.
 
 `return'
           return [N]
@@ -2827,7 +2852,7 @@ POSIX standard.
      non-zero if not.
 
 `declare'
-          declare [-afFirtx] [-p] [NAME[=VALUE] ...]
+          declare [-aAfFirtx] [-p] [NAME[=VALUE] ...]
 
      Declare variables and give them attributes.  If no NAMEs are
      given, then display the values of variables instead.
@@ -2852,7 +2877,10 @@ POSIX standard.
      attributes or to give variables attributes:
 
     `-a'
-          Each NAME is an array variable (*note Arrays::).
+          Each NAME is an indexed array variable (*note Arrays::).
+
+    `-A'
+          Each NAME is an associative array variable (*note Arrays::).
 
     `-f'
           Use function names only.
@@ -3138,8 +3166,10 @@ POSIX standard.
           Cause `read' to time out and return failure if a complete
           line of input is not read within TIMEOUT seconds.  TIMEOUT
           may be a decimal number with a fractional portion following
-          the decimal point.  This option has no effect if `read' is
-          not reading input from the terminal or a pipe.
+          the decimal point.  This option is only effective if `read'
+          is reading input from a terminal, pipe, or other special
+          file; it has no effect when reading from regular files.  The
+          exit status is greater than 128 if the timeout is exceeded.
 
     `-u FD'
           Read input from file descriptor FD.
@@ -3937,6 +3967,13 @@ Variables::).
      differs from `$$' under certain circumstances, such as subshells
      that do not require Bash to be re-initialized.
 
+`BASH_ALIASES'
+     An associative array variable whose members correspond to the
+     internal list of aliases as maintained by the `alias' builtin
+     (*note Bourne Shell Builtins::).  Elements added to this array
+     appear in the alias list; unsetting array elements cause aliases
+     to be removed from the alias list.
+
 `BASH_ARGC'
      An array variable whose values are the number of parameters in each
      frame of the current bash execution call stack.  The number of
@@ -3957,6 +3994,13 @@ Variables::).
      The Shopt Builtin:: for a description of the `extdebug' option to
      the `shopt' builtin).
 
+`BASH_CMDS'
+     An associative array variable whose members correspond to the
+     internal hash table of commands as maintained by the `hash' builtin
+     (*note Bourne Shell Builtins::).  Elements added to this array
+     appear in the hash table; unsetting array elements cause commands
+     to be removed from the hash table.
+
 `BASH_COMMAND'
      The command currently being executed or about to be executed,
      unless the shell is executing a command as the result of a trap,
@@ -4321,6 +4365,12 @@ Variables::).
      If set, the value is interpreted as a command to execute before
      the printing of each primary prompt (`$PS1').
 
+`PROMPT_DIRTRIM'
+     If set to a number greater than zero, the value is used as the
+     number of trailing directory components to retain when expanding
+     the `\w' and `\W' prompt string escapes (*note Printing a
+     Prompt::).  Characters removed are replaced with an ellipsis.
+
 `PS3'
      The value of this variable is used as the prompt for the `select'
      command.  If this variable is not set, the `select' command
@@ -5125,14 +5175,16 @@ File: bashref.info,  Node: Arrays,  Next: The Directory Stack,  Prev: Aliases,
 6.7 Arrays
 ==========
 
-Bash provides one-dimensional array variables.  Any variable may be
-used as an array; the `declare' 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 zero-based.
+Bash provides one-dimensional indexed and associative array variables.
+Any variable may be used as an indexed array; the `declare' 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.  Indexed arrays are referenced using integers
+(including arithmetic expressions (*note Shell Arithmetic::) and are
+zero-based; associative arrays use arbitrary strings.
 
-   An array is created automatically if any variable is assigned to
-using the syntax
+   An indexed array is created automatically if any variable is
+assigned to using the syntax
      name[SUBSCRIPT]=VALUE
 
 The SUBSCRIPT is treated as an arithmetic expression that must evaluate
@@ -5141,18 +5193,28 @@ array, use
      declare -a NAME
    The syntax
      declare -a NAME[SUBSCRIPT]
-   is also accepted; the SUBSCRIPT is ignored.  Attributes may be
-specified for an array variable using the `declare' and `readonly'
-builtins.  Each attribute applies to all members of an array.
+   is also accepted; the SUBSCRIPT is ignored.
+
+   Associative arrays are created using
+     declare -A NAME.
+
+   Attributes may be specified for an array variable using the
+`declare' and `readonly' builtins.  Each attribute applies to all
+members of an array.
 
    Arrays are assigned to using compound assignments of the form
      name=(value1 ... valueN)
-   where each VALUE is of the form `[[SUBSCRIPT]=]'STRING.  If the
-optional subscript is 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 `declare' builtin.  Individual array elements may be
-assigned to using the `name['SUBSCRIPT`]='VALUE syntax introduced above.
+   where each VALUE is of the form `[SUBSCRIPT]='STRING.  Indexed array
+assignments do not require the bracket and subscript.  When assigning
+to indexed arrays, if the optional subscript is 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.
+
+   When assigning to an associative array, the subscript is required.
+
+   This syntax is also accepted by the `declare' builtin.  Individual
+array elements may be assigned to using the `name['SUBSCRIPT`]='VALUE
+syntax introduced above.
 
    Any element of an array may be referenced using
 `${name['SUBSCRIPT`]}'.  The braces are required to avoid conflicts
@@ -5171,7 +5233,7 @@ expansion of the special parameters `@' and `*'.
 `${#name['SUBSCRIPT`]}' expands to the length of `${name['SUBSCRIPT`]}'.
 If SUBSCRIPT is `@' or `*', the expansion is the number of elements in
 the array.  Referencing an array variable without a subscript is
-equivalent to referencing element zero.
+equivalent to referencing with a subscript of 0.
 
    The `unset' builtin is used to destroy arrays.  `unset'
 NAME[SUBSCRIPT] destroys the array element at index SUBSCRIPT.  Care
@@ -5180,11 +5242,12 @@ 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
-to assign a list of words read from the standard input to an array, and
-can read values from the standard input into individual array elements.
-The `set' and `declare' builtins display array values in a way that
-allows them to be reused as input.
+option to specify an indexed array and a `-A' option to specify an
+associative array.  The `read' builtin accepts a `-a' option to assign
+a list of words read from the standard input to an array, and can read
+values from the standard input into individual array elements.  The
+`set' and `declare' builtins display array values in a way that allows
+them to be reused as input.
 
 \1f
 File: bashref.info,  Node: The Directory Stack,  Next: Printing a Prompt,  Prev: Arrays,  Up: Bash Features
@@ -5364,7 +5427,7 @@ which can appear in the prompt variables:
 
 `\w'
      The current working directory, with `$HOME' abbreviated with a
-     tilde.
+     tilde (uses the `$PROMPT_DIRTRIM' variable).
 
 `\W'
      The basename of `$PWD', with `$HOME' abbreviated with a tilde.
@@ -5619,6 +5682,9 @@ startup files.
      interpret any arguments to `echo' as options.  Each argument is
      displayed, after escape characters are converted.
 
+ 42. The `ulimit' builtin uses a block size of 512 bytes for the `-c'
+     and `-f' options.
+
 
    There is other POSIX behavior that Bash does not implement by
 default even when in POSIX mode.  Specifically:
@@ -5705,10 +5771,11 @@ character `%' introduces a job name.
 `%+' refer to the shell's notion of the current job, which is the last
 job stopped while it was in the foreground or started in the background.
 A single `%' (with no accompanying job specification) also refers to
-the current job.  The previous job may be referenced using `%-'.  In
-output pertaining to jobs (e.g., the output of the `jobs' command), the
-current job is always flagged with a `+', and the previous job with a
-`-'.
+the current job.  The previous job may be referenced using `%-'.  If
+there is only a single job, `%+' and `%-' can both be used to refer to
+that job.  In output pertaining to jobs (e.g., the output of the `jobs'
+command), the current job is always flagged with a `+', and the
+previous job with a `-'.
 
    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
@@ -5833,8 +5900,8 @@ File: bashref.info,  Node: Job Control Builtins,  Next: Job Control Variables,
 `suspend'
           suspend [-f]
      Suspend the execution of this shell until it receives a `SIGCONT'
-     signal.  The `-f' option means to suspend even if the shell is a
-     login shell.
+     signal.  A login shell cannot be suspended; the `-f' option can be
+     used to override this and force the suspension.
 
 
    When job control is not active, the `kill' and `wait' builtins do
@@ -8270,6 +8337,15 @@ does not provide the necessary support.
      Include `csh'-like brace expansion ( `b{a,b}c' ==> `bac bbc' ).
      See *note Brace Expansion::, for a complete description.
 
+`--enable-casemod-attributes'
+     Include support for case-modifying attributes in the `declare'
+     builtin and assignment statements.  Variables with the UPPERCASE
+     attribute, for example, will have their values converted to
+     uppercase upon assignment.
+
+`--enable-casemod-expansion'
+     Include support for case-modifying word expansions.
+
 `--enable-command-timing'
      Include support for recognizing `time' as a reserved word and for
      displaying timing statistics for the pipeline following `time'
@@ -9246,7 +9322,7 @@ D.1 Index of Shell Builtin Commands
 * ::                                     Bourne Shell Builtins.
                                                               (line  11)
 * [:                                     Bourne Shell Builtins.
-                                                              (line 212)
+                                                              (line 213)
 * alias:                                 Bash Builtins.       (line  11)
 * bg:                                    Job Control Builtins.
                                                               (line   7)
@@ -9271,8 +9347,8 @@ D.1 Index of Shell Builtin Commands
                                                               (line   7)
 * disown:                                Job Control Builtins.
                                                               (line  83)
-* echo:                                  Bash Builtins.       (line 208)
-* enable:                                Bash Builtins.       (line 260)
+* echo:                                  Bash Builtins.       (line 211)
+* enable:                                Bash Builtins.       (line 263)
 * eval:                                  Bourne Shell Builtins.
                                                               (line  63)
 * exec:                                  Bourne Shell Builtins.
@@ -9289,50 +9365,50 @@ D.1 Index of Shell Builtin Commands
                                                               (line 103)
 * hash:                                  Bourne Shell Builtins.
                                                               (line 145)
-* help:                                  Bash Builtins.       (line 288)
+* help:                                  Bash Builtins.       (line 291)
 * history:                               Bash History Builtins.
                                                               (line  39)
 * jobs:                                  Job Control Builtins.
                                                               (line  25)
 * kill:                                  Job Control Builtins.
                                                               (line  57)
-* let:                                   Bash Builtins.       (line 308)
-* local:                                 Bash Builtins.       (line 315)
-* logout:                                Bash Builtins.       (line 325)
-* mapfile:                               Bash Builtins.       (line 329)
+* let:                                   Bash Builtins.       (line 311)
+* local:                                 Bash Builtins.       (line 318)
+* logout:                                Bash Builtins.       (line 328)
+* mapfile:                               Bash Builtins.       (line 332)
 * popd:                                  Directory Stack Builtins.
                                                               (line  37)
-* printf:                                Bash Builtins.       (line 370)
+* printf:                                Bash Builtins.       (line 373)
 * pushd:                                 Directory Stack Builtins.
                                                               (line  58)
 * pwd:                                   Bourne Shell Builtins.
                                                               (line 163)
-* read:                                  Bash Builtins.       (line 395)
+* read:                                  Bash Builtins.       (line 398)
 * readonly:                              Bourne Shell Builtins.
                                                               (line 172)
 * return:                                Bourne Shell Builtins.
-                                                              (line 187)
+                                                              (line 188)
 * set:                                   The Set Builtin.     (line  11)
 * shift:                                 Bourne Shell Builtins.
-                                                              (line 200)
+                                                              (line 201)
 * shopt:                                 The Shopt Builtin.   (line   9)
-* source:                                Bash Builtins.       (line 461)
+* source:                                Bash Builtins.       (line 466)
 * suspend:                               Job Control Builtins.
                                                               (line  94)
 * test:                                  Bourne Shell Builtins.
-                                                              (line 212)
+                                                              (line 213)
 * times:                                 Bourne Shell Builtins.
-                                                              (line 280)
+                                                              (line 281)
 * trap:                                  Bourne Shell Builtins.
-                                                              (line 285)
-* type:                                  Bash Builtins.       (line 465)
-* typeset:                               Bash Builtins.       (line 496)
-* ulimit:                                Bash Builtins.       (line 502)
+                                                              (line 286)
+* type:                                  Bash Builtins.       (line 470)
+* typeset:                               Bash Builtins.       (line 501)
+* ulimit:                                Bash Builtins.       (line 507)
 * umask:                                 Bourne Shell Builtins.
-                                                              (line 326)
-* unalias:                               Bash Builtins.       (line 588)
+                                                              (line 327)
+* unalias:                               Bash Builtins.       (line 593)
 * unset:                                 Bourne Shell Builtins.
-                                                              (line 343)
+                                                              (line 344)
 * wait:                                  Job Control Builtins.
                                                               (line  73)
 
@@ -9399,17 +9475,19 @@ D.3 Parameter and Variable Index
 * auto_resume:                           Job Control Variables.
                                                               (line   6)
 * BASH:                                  Bash Variables.      (line  13)
-* BASH_ARGC:                             Bash Variables.      (line  21)
-* BASH_ARGV:                             Bash Variables.      (line  31)
-* BASH_COMMAND:                          Bash Variables.      (line  41)
-* BASH_ENV:                              Bash Variables.      (line  46)
-* BASH_EXECUTION_STRING:                 Bash Variables.      (line  52)
-* BASH_LINENO:                           Bash Variables.      (line  55)
-* BASH_REMATCH:                          Bash Variables.      (line  64)
-* BASH_SOURCE:                           Bash Variables.      (line  72)
-* BASH_SUBSHELL:                         Bash Variables.      (line  76)
-* BASH_VERSINFO:                         Bash Variables.      (line  80)
-* BASH_VERSION:                          Bash Variables.      (line 104)
+* BASH_ALIASES:                          Bash Variables.      (line  21)
+* BASH_ARGC:                             Bash Variables.      (line  28)
+* BASH_ARGV:                             Bash Variables.      (line  38)
+* BASH_CMDS:                             Bash Variables.      (line  48)
+* BASH_COMMAND:                          Bash Variables.      (line  55)
+* BASH_ENV:                              Bash Variables.      (line  60)
+* BASH_EXECUTION_STRING:                 Bash Variables.      (line  66)
+* BASH_LINENO:                           Bash Variables.      (line  69)
+* BASH_REMATCH:                          Bash Variables.      (line  78)
+* BASH_SOURCE:                           Bash Variables.      (line  86)
+* BASH_SUBSHELL:                         Bash Variables.      (line  90)
+* BASH_VERSINFO:                         Bash Variables.      (line  94)
+* BASH_VERSION:                          Bash Variables.      (line 118)
 * BASHPID:                               Bash Variables.      (line  16)
 * bell-style:                            Readline Init File Syntax.
                                                               (line  38)
@@ -9417,81 +9495,81 @@ D.3 Parameter and Variable Index
                                                               (line  45)
 * CDPATH:                                Bourne Shell Variables.
                                                               (line   9)
-* COLUMNS:                               Bash Variables.      (line 107)
+* COLUMNS:                               Bash Variables.      (line 121)
 * comment-begin:                         Readline Init File Syntax.
                                                               (line  50)
-* COMP_CWORD:                            Bash Variables.      (line 112)
-* COMP_KEY:                              Bash Variables.      (line 141)
-* COMP_LINE:                             Bash Variables.      (line 118)
-* COMP_POINT:                            Bash Variables.      (line 123)
-* COMP_TYPE:                             Bash Variables.      (line 131)
-* COMP_WORDBREAKS:                       Bash Variables.      (line 145)
-* COMP_WORDS:                            Bash Variables.      (line 151)
+* COMP_CWORD:                            Bash Variables.      (line 126)
+* COMP_KEY:                              Bash Variables.      (line 155)
+* COMP_LINE:                             Bash Variables.      (line 132)
+* COMP_POINT:                            Bash Variables.      (line 137)
+* COMP_TYPE:                             Bash Variables.      (line 145)
+* COMP_WORDBREAKS:                       Bash Variables.      (line 159)
+* COMP_WORDS:                            Bash Variables.      (line 165)
 * completion-prefix-display-length:      Readline Init File Syntax.
                                                               (line  60)
 * completion-query-items:                Readline Init File Syntax.
                                                               (line  67)
-* COMPREPLY:                             Bash Variables.      (line 158)
+* COMPREPLY:                             Bash Variables.      (line 172)
 * convert-meta:                          Readline Init File Syntax.
                                                               (line  77)
-* DIRSTACK:                              Bash Variables.      (line 163)
+* DIRSTACK:                              Bash Variables.      (line 177)
 * disable-completion:                    Readline Init File Syntax.
                                                               (line  83)
 * editing-mode:                          Readline Init File Syntax.
                                                               (line  88)
-* EMACS:                                 Bash Variables.      (line 173)
+* EMACS:                                 Bash Variables.      (line 187)
 * enable-keypad:                         Readline Init File Syntax.
                                                               (line  94)
-* EUID:                                  Bash Variables.      (line 178)
+* EUID:                                  Bash Variables.      (line 192)
 * expand-tilde:                          Readline Init File Syntax.
                                                               (line  99)
-* FCEDIT:                                Bash Variables.      (line 182)
-* FIGNORE:                               Bash Variables.      (line 186)
-* FUNCNAME:                              Bash Variables.      (line 192)
-* GLOBIGNORE:                            Bash Variables.      (line 201)
-* GROUPS:                                Bash Variables.      (line 207)
-* histchars:                             Bash Variables.      (line 213)
-* HISTCMD:                               Bash Variables.      (line 228)
-* HISTCONTROL:                           Bash Variables.      (line 233)
-* HISTFILE:                              Bash Variables.      (line 249)
-* HISTFILESIZE:                          Bash Variables.      (line 253)
-* HISTIGNORE:                            Bash Variables.      (line 261)
+* FCEDIT:                                Bash Variables.      (line 196)
+* FIGNORE:                               Bash Variables.      (line 200)
+* FUNCNAME:                              Bash Variables.      (line 206)
+* GLOBIGNORE:                            Bash Variables.      (line 215)
+* GROUPS:                                Bash Variables.      (line 221)
+* histchars:                             Bash Variables.      (line 227)
+* HISTCMD:                               Bash Variables.      (line 242)
+* HISTCONTROL:                           Bash Variables.      (line 247)
+* HISTFILE:                              Bash Variables.      (line 263)
+* HISTFILESIZE:                          Bash Variables.      (line 267)
+* HISTIGNORE:                            Bash Variables.      (line 275)
 * history-preserve-point:                Readline Init File Syntax.
                                                               (line 103)
 * history-size:                          Readline Init File Syntax.
                                                               (line 109)
-* HISTSIZE:                              Bash Variables.      (line 280)
-* HISTTIMEFORMAT:                        Bash Variables.      (line 284)
+* HISTSIZE:                              Bash Variables.      (line 294)
+* HISTTIMEFORMAT:                        Bash Variables.      (line 298)
 * HOME:                                  Bourne Shell Variables.
                                                               (line  13)
 * horizontal-scroll-mode:                Readline Init File Syntax.
                                                               (line 114)
-* HOSTFILE:                              Bash Variables.      (line 293)
-* HOSTNAME:                              Bash Variables.      (line 304)
-* HOSTTYPE:                              Bash Variables.      (line 307)
+* HOSTFILE:                              Bash Variables.      (line 307)
+* HOSTNAME:                              Bash Variables.      (line 318)
+* HOSTTYPE:                              Bash Variables.      (line 321)
 * IFS:                                   Bourne Shell Variables.
                                                               (line  18)
-* IGNOREEOF:                             Bash Variables.      (line 310)
+* IGNOREEOF:                             Bash Variables.      (line 324)
 * input-meta:                            Readline Init File Syntax.
                                                               (line 121)
-* INPUTRC:                               Bash Variables.      (line 320)
+* INPUTRC:                               Bash Variables.      (line 334)
 * isearch-terminators:                   Readline Init File Syntax.
                                                               (line 128)
 * keymap:                                Readline Init File Syntax.
                                                               (line 135)
-* LANG:                                  Bash Variables.      (line 324)
-* LC_ALL:                                Bash Variables.      (line 328)
-* LC_COLLATE:                            Bash Variables.      (line 332)
-* LC_CTYPE:                              Bash Variables.      (line 339)
+* LANG:                                  Bash Variables.      (line 338)
+* LC_ALL:                                Bash Variables.      (line 342)
+* LC_COLLATE:                            Bash Variables.      (line 346)
+* LC_CTYPE:                              Bash Variables.      (line 353)
 * LC_MESSAGES <1>:                       Locale Translation.  (line  11)
-* LC_MESSAGES:                           Bash Variables.      (line 344)
-* LC_NUMERIC:                            Bash Variables.      (line 348)
-* LINENO:                                Bash Variables.      (line 352)
-* LINES:                                 Bash Variables.      (line 356)
-* MACHTYPE:                              Bash Variables.      (line 361)
+* LC_MESSAGES:                           Bash Variables.      (line 358)
+* LC_NUMERIC:                            Bash Variables.      (line 362)
+* LINENO:                                Bash Variables.      (line 366)
+* LINES:                                 Bash Variables.      (line 370)
+* MACHTYPE:                              Bash Variables.      (line 375)
 * MAIL:                                  Bourne Shell Variables.
                                                               (line  22)
-* MAILCHECK:                             Bash Variables.      (line 365)
+* MAILCHECK:                             Bash Variables.      (line 379)
 * MAILPATH:                              Bourne Shell Variables.
                                                               (line  27)
 * mark-modified-lines:                   Readline Init File Syntax.
@@ -9502,48 +9580,49 @@ D.3 Parameter and Variable Index
                                                               (line 158)
 * meta-flag:                             Readline Init File Syntax.
                                                               (line 121)
-* OLDPWD:                                Bash Variables.      (line 373)
+* OLDPWD:                                Bash Variables.      (line 387)
 * OPTARG:                                Bourne Shell Variables.
                                                               (line  34)
-* OPTERR:                                Bash Variables.      (line 376)
+* OPTERR:                                Bash Variables.      (line 390)
 * OPTIND:                                Bourne Shell Variables.
                                                               (line  38)
-* OSTYPE:                                Bash Variables.      (line 380)
+* OSTYPE:                                Bash Variables.      (line 394)
 * output-meta:                           Readline Init File Syntax.
                                                               (line 165)
 * page-completions:                      Readline Init File Syntax.
                                                               (line 170)
 * PATH:                                  Bourne Shell Variables.
                                                               (line  42)
-* PIPESTATUS:                            Bash Variables.      (line 383)
-* POSIXLY_CORRECT:                       Bash Variables.      (line 388)
-* PPID:                                  Bash Variables.      (line 397)
-* PROMPT_COMMAND:                        Bash Variables.      (line 401)
+* PIPESTATUS:                            Bash Variables.      (line 397)
+* POSIXLY_CORRECT:                       Bash Variables.      (line 402)
+* PPID:                                  Bash Variables.      (line 411)
+* PROMPT_COMMAND:                        Bash Variables.      (line 415)
+* PROMPT_DIRTRIM:                        Bash Variables.      (line 419)
 * PS1:                                   Bourne Shell Variables.
                                                               (line  48)
 * PS2:                                   Bourne Shell Variables.
                                                               (line  53)
-* PS3:                                   Bash Variables.      (line 405)
-* PS4:                                   Bash Variables.      (line 410)
-* PWD:                                   Bash Variables.      (line 416)
-* RANDOM:                                Bash Variables.      (line 419)
-* REPLY:                                 Bash Variables.      (line 424)
+* PS3:                                   Bash Variables.      (line 425)
+* PS4:                                   Bash Variables.      (line 430)
+* PWD:                                   Bash Variables.      (line 436)
+* RANDOM:                                Bash Variables.      (line 439)
+* REPLY:                                 Bash Variables.      (line 444)
 * revert-all-at-newline:                 Readline Init File Syntax.
                                                               (line 180)
-* SECONDS:                               Bash Variables.      (line 427)
-* SHELL:                                 Bash Variables.      (line 433)
-* SHELLOPTS:                             Bash Variables.      (line 438)
-* SHLVL:                                 Bash Variables.      (line 447)
+* SECONDS:                               Bash Variables.      (line 447)
+* SHELL:                                 Bash Variables.      (line 453)
+* SHELLOPTS:                             Bash Variables.      (line 458)
+* SHLVL:                                 Bash Variables.      (line 467)
 * show-all-if-ambiguous:                 Readline Init File Syntax.
                                                               (line 186)
 * show-all-if-unmodified:                Readline Init File Syntax.
                                                               (line 192)
 * TEXTDOMAIN:                            Locale Translation.  (line  11)
 * TEXTDOMAINDIR:                         Locale Translation.  (line  11)
-* TIMEFORMAT:                            Bash Variables.      (line 452)
-* TMOUT:                                 Bash Variables.      (line 490)
-* TMPDIR:                                Bash Variables.      (line 502)
-* UID:                                   Bash Variables.      (line 506)
+* TIMEFORMAT:                            Bash Variables.      (line 472)
+* TMOUT:                                 Bash Variables.      (line 510)
+* TMPDIR:                                Bash Variables.      (line 522)
+* UID:                                   Bash Variables.      (line 526)
 * visible-stats:                         Readline Init File Syntax.
                                                               (line 201)
 
@@ -9809,131 +9888,131 @@ D.5 Concept Index
 
 \1f
 Tag Table:
-Node: Top\7f1338
-Node: Introduction\7f3167
-Node: What is Bash?\7f3395
-Node: What is a shell?\7f4508
-Node: Definitions\7f7048
-Node: Basic Shell Features\7f9828
-Node: Shell Syntax\7f11047
-Node: Shell Operation\7f12077
-Node: Quoting\7f13371
-Node: Escape Character\7f14674
-Node: Single Quotes\7f15159
-Node: Double Quotes\7f15507
-Node: ANSI-C Quoting\7f16632
-Node: Locale Translation\7f17588
-Node: Comments\7f18484
-Node: Shell Commands\7f19102
-Node: Simple Commands\7f19868
-Node: Pipelines\7f20499
-Node: Lists\7f22755
-Node: Compound Commands\7f24484
-Node: Looping Constructs\7f25268
-Node: Conditional Constructs\7f27715
-Node: Command Grouping\7f35721
-Node: Shell Functions\7f37200
-Node: Shell Parameters\7f41661
-Node: Positional Parameters\7f43991
-Node: Special Parameters\7f44891
-Node: Shell Expansions\7f47855
-Node: Brace Expansion\7f49780
-Node: Tilde Expansion\7f52533
-Node: Shell Parameter Expansion\7f54884
-Node: Command Substitution\7f62584
-Node: Arithmetic Expansion\7f63917
-Node: Process Substitution\7f64767
-Node: Word Splitting\7f65817
-Node: Filename Expansion\7f67440
-Node: Pattern Matching\7f69580
-Node: Quote Removal\7f73219
-Node: Redirections\7f73514
-Node: Executing Commands\7f81657
-Node: Simple Command Expansion\7f82327
-Node: Command Search and Execution\7f84257
-Node: Command Execution Environment\7f86594
-Node: Environment\7f89393
-Node: Exit Status\7f91053
-Node: Signals\7f92674
-Node: Shell Scripts\7f94642
-Node: Shell Builtin Commands\7f97160
-Node: Bourne Shell Builtins\7f98837
-Node: Bash Builtins\7f116067
-Node: Modifying Shell Behavior\7f138853
-Node: The Set Builtin\7f139198
-Node: The Shopt Builtin\7f148046
-Node: Special Builtins\7f158908
-Node: Shell Variables\7f159887
-Node: Bourne Shell Variables\7f160327
-Node: Bash Variables\7f162308
-Node: Bash Features\7f183680
-Node: Invoking Bash\7f184563
-Node: Bash Startup Files\7f190372
-Node: Interactive Shells\7f195341
-Node: What is an Interactive Shell?\7f195751
-Node: Is this Shell Interactive?\7f196400
-Node: Interactive Shell Behavior\7f197215
-Node: Bash Conditional Expressions\7f200495
-Node: Shell Arithmetic\7f204074
-Node: Aliases\7f206820
-Node: Arrays\7f209392
-Node: The Directory Stack\7f212741
-Node: Directory Stack Builtins\7f213455
-Node: Printing a Prompt\7f216347
-Node: The Restricted Shell\7f219061
-Node: Bash POSIX Mode\7f220893
-Node: Job Control\7f228652
-Node: Job Control Basics\7f229112
-Node: Job Control Builtins\7f233621
-Node: Job Control Variables\7f237948
-Node: Command Line Editing\7f239106
-Node: Introduction and Notation\7f240101
-Node: Readline Interaction\7f241723
-Node: Readline Bare Essentials\7f242914
-Node: Readline Movement Commands\7f244703
-Node: Readline Killing Commands\7f245668
-Node: Readline Arguments\7f247588
-Node: Searching\7f248632
-Node: Readline Init File\7f250818
-Node: Readline Init File Syntax\7f251965
-Node: Conditional Init Constructs\7f265199
-Node: Sample Init File\7f267732
-Node: Bindable Readline Commands\7f270849
-Node: Commands For Moving\7f272056
-Node: Commands For History\7f272917
-Node: Commands For Text\7f276072
-Node: Commands For Killing\7f278745
-Node: Numeric Arguments\7f280887
-Node: Commands For Completion\7f282026
-Node: Keyboard Macros\7f285793
-Node: Miscellaneous Commands\7f286364
-Node: Readline vi Mode\7f291675
-Node: Programmable Completion\7f292589
-Node: Programmable Completion Builtins\7f298422
-Node: Using History Interactively\7f306805
-Node: Bash History Facilities\7f307489
-Node: Bash History Builtins\7f310403
-Node: History Interaction\7f314260
-Node: Event Designators\7f316965
-Node: Word Designators\7f317980
-Node: Modifiers\7f319619
-Node: Installing Bash\7f321023
-Node: Basic Installation\7f322160
-Node: Compilers and Options\7f324852
-Node: Compiling For Multiple Architectures\7f325593
-Node: Installation Names\7f327257
-Node: Specifying the System Type\7f328075
-Node: Sharing Defaults\7f328791
-Node: Operation Controls\7f329464
-Node: Optional Features\7f330422
-Node: Reporting Bugs\7f339353
-Node: Major Differences From The Bourne Shell\7f340547
-Node: GNU Free Documentation License\7f357234
-Node: Indexes\7f379695
-Node: Builtin Index\7f380149
-Node: Reserved Word Index\7f386903
-Node: Variable Index\7f389351
-Node: Function Index\7f400938
-Node: Concept Index\7f407670
+Node: Top\7f1344
+Node: Introduction\7f3175
+Node: What is Bash?\7f3403
+Node: What is a shell?\7f4516
+Node: Definitions\7f7056
+Node: Basic Shell Features\7f9836
+Node: Shell Syntax\7f11055
+Node: Shell Operation\7f12085
+Node: Quoting\7f13379
+Node: Escape Character\7f14682
+Node: Single Quotes\7f15167
+Node: Double Quotes\7f15515
+Node: ANSI-C Quoting\7f16640
+Node: Locale Translation\7f17596
+Node: Comments\7f18492
+Node: Shell Commands\7f19110
+Node: Simple Commands\7f19876
+Node: Pipelines\7f20507
+Node: Lists\7f22763
+Node: Compound Commands\7f24492
+Node: Looping Constructs\7f25276
+Node: Conditional Constructs\7f27723
+Node: Command Grouping\7f35729
+Node: Shell Functions\7f37208
+Node: Shell Parameters\7f41669
+Node: Positional Parameters\7f44085
+Node: Special Parameters\7f44985
+Node: Shell Expansions\7f47949
+Node: Brace Expansion\7f49874
+Node: Tilde Expansion\7f52627
+Node: Shell Parameter Expansion\7f54978
+Node: Command Substitution\7f63809
+Node: Arithmetic Expansion\7f65142
+Node: Process Substitution\7f65992
+Node: Word Splitting\7f67042
+Node: Filename Expansion\7f68665
+Node: Pattern Matching\7f70805
+Node: Quote Removal\7f74444
+Node: Redirections\7f74739
+Node: Executing Commands\7f82882
+Node: Simple Command Expansion\7f83552
+Node: Command Search and Execution\7f85482
+Node: Command Execution Environment\7f87819
+Node: Environment\7f90618
+Node: Exit Status\7f92278
+Node: Signals\7f93899
+Node: Shell Scripts\7f95867
+Node: Shell Builtin Commands\7f98385
+Node: Bourne Shell Builtins\7f100062
+Node: Bash Builtins\7f117380
+Node: Modifying Shell Behavior\7f140408
+Node: The Set Builtin\7f140753
+Node: The Shopt Builtin\7f149601
+Node: Special Builtins\7f160463
+Node: Shell Variables\7f161442
+Node: Bourne Shell Variables\7f161882
+Node: Bash Variables\7f163863
+Node: Bash Features\7f186181
+Node: Invoking Bash\7f187064
+Node: Bash Startup Files\7f192873
+Node: Interactive Shells\7f197842
+Node: What is an Interactive Shell?\7f198252
+Node: Is this Shell Interactive?\7f198901
+Node: Interactive Shell Behavior\7f199716
+Node: Bash Conditional Expressions\7f202996
+Node: Shell Arithmetic\7f206575
+Node: Aliases\7f209321
+Node: Arrays\7f211893
+Node: The Directory Stack\7f215735
+Node: Directory Stack Builtins\7f216449
+Node: Printing a Prompt\7f219341
+Node: The Restricted Shell\7f222093
+Node: Bash POSIX Mode\7f223925
+Node: Job Control\7f231778
+Node: Job Control Basics\7f232238
+Node: Job Control Builtins\7f236832
+Node: Job Control Variables\7f241196
+Node: Command Line Editing\7f242354
+Node: Introduction and Notation\7f243349
+Node: Readline Interaction\7f244971
+Node: Readline Bare Essentials\7f246162
+Node: Readline Movement Commands\7f247951
+Node: Readline Killing Commands\7f248916
+Node: Readline Arguments\7f250836
+Node: Searching\7f251880
+Node: Readline Init File\7f254066
+Node: Readline Init File Syntax\7f255213
+Node: Conditional Init Constructs\7f268447
+Node: Sample Init File\7f270980
+Node: Bindable Readline Commands\7f274097
+Node: Commands For Moving\7f275304
+Node: Commands For History\7f276165
+Node: Commands For Text\7f279320
+Node: Commands For Killing\7f281993
+Node: Numeric Arguments\7f284135
+Node: Commands For Completion\7f285274
+Node: Keyboard Macros\7f289041
+Node: Miscellaneous Commands\7f289612
+Node: Readline vi Mode\7f294923
+Node: Programmable Completion\7f295837
+Node: Programmable Completion Builtins\7f301670
+Node: Using History Interactively\7f310053
+Node: Bash History Facilities\7f310737
+Node: Bash History Builtins\7f313651
+Node: History Interaction\7f317508
+Node: Event Designators\7f320213
+Node: Word Designators\7f321228
+Node: Modifiers\7f322867
+Node: Installing Bash\7f324271
+Node: Basic Installation\7f325408
+Node: Compilers and Options\7f328100
+Node: Compiling For Multiple Architectures\7f328841
+Node: Installation Names\7f330505
+Node: Specifying the System Type\7f331323
+Node: Sharing Defaults\7f332039
+Node: Operation Controls\7f332712
+Node: Optional Features\7f333670
+Node: Reporting Bugs\7f342954
+Node: Major Differences From The Bourne Shell\7f344148
+Node: GNU Free Documentation License\7f360835
+Node: Indexes\7f383296
+Node: Builtin Index\7f383750
+Node: Reserved Word Index\7f390504
+Node: Variable Index\7f392952
+Node: Function Index\7f404758
+Node: Concept Index\7f411490
 \1f
 End Tag Table
index 56b7b4157e0deaddcc6c76eb1497802fc9f1518b..edbb364b5e2e7a73d28f023ac16b45d3bfb24e56 100644 (file)
@@ -1,6 +1,6 @@
-This is TeX, Version 3.141592 (Web2C 7.5.4) (format=tex 2008.4.8)  29 MAY 2008 11:48
-**/Users/chet/src/bash/src/doc/bashref.texi
-(/Users/chet/src/bash/src/doc/bashref.texi (./texinfo.tex
+This is TeX, Version 3.141592 (Web2C 7.5.4) (format=tex 2008.4.8)  2 JUL 2008 09:08
+**/usr/homes/chet/src/bash/src/doc/bashref.texi
+(/usr/homes/chet/src/bash/src/doc/bashref.texi (./texinfo.tex
 Loading texinfo [version 2003-02-03.16]: Basics,
 \bindingoffset=\dimen16
 \normaloffset=\dimen17
@@ -173,7 +173,7 @@ 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] [32] [33] Chapter 4 [34] [35] [36] [37] [38]
 [39] [40] [41]
-Underfull \hbox (badness 5231) in paragraph at lines 3194--3207
+Underfull \hbox (badness 5231) in paragraph at lines 3223--3236
  @texttt emacs-meta[]@textrm , @texttt emacs-ctlx[]@textrm , @texttt vi[]@textr
 m , @texttt vi-move[]@textrm , @texttt vi-command[]@textrm , and
 
@@ -186,7 +186,7 @@ m , @texttt vi-move[]@textrm , @texttt vi-command[]@textrm , and
 .etc.
 
 [42] [43] [44] [45] [46]
-Overfull \hbox (102.08961pt too wide) in paragraph at lines 3602--3602
+Overfull \hbox (102.08961pt too wide) in paragraph at lines 3634--3634
  []@texttt read [-ers] [-a @textttsl aname@texttt ] [-d @textttsl de-lim@texttt
  ] [-i @textttsl text@texttt ] [-n @textttsl nchars@texttt ] [-p @textttsl prom
 pt@texttt ] [-t @textttsl time-
@@ -199,8 +199,8 @@ pt@texttt ] [-t @textttsl time-
 .@texttt a
 .etc.
 
-[47] [48] [49] [50] [51] [52] [53] [54]
-Underfull \hbox (badness 2573) in paragraph at lines 4251--4255
+[47] [48] [49] [50] [51] [52] [53] [54] [55]
+Underfull \hbox (badness 2573) in paragraph at lines 4285--4289
  [] []@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
@@ -215,9 +215,9 @@ Underfull \hbox (badness 2573) in paragraph at lines 4251--4255
 .@textrm E
 .etc.
 
-[55] [56] [57] Chapter 5 [58] [59] [60] [61] [62] [63] [64] [65] [66]
-Chapter 6 [67] [68]
-Overfull \hbox (51.96864pt too wide) in paragraph at lines 5074--5074
+[56] [57] Chapter 5 [58] [59] [60] [61] [62] [63] [64] [65] [66] Chapter 6
+[67] [68]
+Overfull \hbox (51.96864pt too wide) in paragraph at lines 5128--5128
  []@texttt bash [long-opt] [-ir] [-abefhkmnptuvxdBCDHP] [-o @textttsl op-tion@t
 exttt ] [-O @textttsl shopt_option@texttt ] [@textttsl ar-
 
@@ -230,7 +230,7 @@ exttt ] [-O @textttsl shopt_option@texttt ] [@textttsl ar-
 .etc.
 
 
-Overfull \hbox (76.23077pt too wide) in paragraph at lines 5075--5075
+Overfull \hbox (76.23077pt too wide) in paragraph at lines 5129--5129
  []@texttt bash [long-opt] [-abefhkmnptuvxdBCDHP] [-o @textttsl op-tion@texttt 
 ] [-O @textttsl shopt_option@texttt ] -c @textttsl string @texttt [@textttsl ar
 -
@@ -244,7 +244,7 @@ Overfull \hbox (76.23077pt too wide) in paragraph at lines 5075--5075
 .etc.
 
 
-Overfull \hbox (34.72258pt too wide) in paragraph at lines 5076--5076
+Overfull \hbox (34.72258pt too wide) in paragraph at lines 5130--5130
  []@texttt bash [long-opt] -s [-abefhkmnptuvxdBCDHP] [-o @textttsl op-tion@text
 tt ] [-O @textttsl shopt_option@texttt ] [@textttsl ar-
 
@@ -257,7 +257,7 @@ tt ] [-O @textttsl shopt_option@texttt ] [@textttsl ar-
 .etc.
 
 [69] [70]
-Underfull \hbox (badness 2245) in paragraph at lines 5250--5252
+Underfull \hbox (badness 2245) in paragraph at lines 5304--5306
 []@textrm When a lo-gin shell ex-its, Bash reads and ex-e-cutes com-mands from 
 the file
 
@@ -270,7 +270,7 @@ the file
 .etc.
 
 [71] [72] [73] [74] [75] [76] [77] [78] [79] [80] [81] [82] [83] [84]
-Underfull \hbox (badness 2521) in paragraph at lines 6366--6369
+Underfull \hbox (badness 2521) in paragraph at lines 6441--6444
 @textrm `@texttt --enable-strict-posix-default[]@textrm '[] to @texttt configur
 e[] @textrm when build-ing (see Sec-tion 10.8
 
@@ -283,8 +283,8 @@ e[] @textrm when build-ing (see Sec-tion 10.8
 .etc.
 
 Chapter 7 [85] [86] [87] [88] [89]
-(/Users/chet/src/bash/src/lib/readline/doc/rluser.texi Chapter 8 [90] [91]
-[92] [93] [94] [95] [96]
+(/usr/homes/chet/src/bash/src/lib/readline/doc/rluser.texi Chapter 8 [90]
+[91] [92] [93] [94] [95] [96]
 Underfull \hbox (badness 5231) in paragraph at lines 514--530
  @texttt emacs-meta[]@textrm , @texttt emacs-ctlx[]@textrm , @texttt vi[]@textr
 m , @texttt vi-move[]@textrm , @texttt vi-command[]@textrm , and
@@ -323,10 +323,10 @@ Underfull \hbox (badness 2753) in paragraph at lines 1795--1798
 .@texttt o
 .etc.
 
-[116]) (/Users/chet/src/bash/src/lib/readline/doc/hsuser.texi Chapter 9
+[116]) (/usr/homes/chet/src/bash/src/lib/readline/doc/hsuser.texi Chapter 9
 [117] [118] [119] [120] [121] [122]) Chapter 10 [123] [124] [125] [126]
 [127]
-Underfull \hbox (badness 2772) in paragraph at lines 6962--6966
+Underfull \hbox (badness 2772) in paragraph at lines 7040--7044
  []@textrm Enable sup-port for large files (@texttt http://www.sas.com/standard
 s/large_
 
@@ -345,11 +345,11 @@ s/large_
 [155] [156] ) 
 Here is how much of TeX's memory you used:
  1732 strings out of 97980
- 23635 string characters out of 1221006
- 51884 words of memory out of 1500000
+ 23667 string characters out of 1221006
+ 51886 words of memory out of 1500000
  2583 multiletter control sequences out of 10000+50000
  31953 words of font info for 111 fonts, out of 1200000 for 2000
  19 hyphenation exceptions out of 8191
- 15i,8n,11p,269b,471s stack positions out of 5000i,500n,6000p,200000b,5000s
+ 15i,8n,11p,273b,471s stack positions out of 5000i,500n,6000p,200000b,5000s
 
-Output written on bashref.dvi (162 pages, 624132 bytes).
+Output written on bashref.dvi (162 pages, 629552 bytes).
index 8dbd41d577e60c317ff09f2013a3458394b2aece..1438c382b3c0bf05f73a43441a02e2eac94ee7fd 100644 (file)
Binary files a/doc/bashref.pdf and b/doc/bashref.pdf differ
index 313ebb83c0690e8cc8f10fbcca55b3b2a181829a..8cdadf31c132263102912d86a828624830b2060d 100644 (file)
@@ -11,7 +11,7 @@
 %DVIPSWebPage: (www.radicaleye.com)
 %DVIPSCommandLine: dvips -D 600 -t letter -o bashref.ps bashref.dvi
 %DVIPSParameters: dpi=600
-%DVIPSSource:  TeX output 2008.05.29:1148
+%DVIPSSource:  TeX output 2008.07.02:0908
 %%BeginProcSet: tex.pro 0 0
 %!
 /TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S
@@ -4537,7 +4537,7 @@ letter
 TeXDict begin 1 0 bop 150 1318 a Fu(Bash)64 b(Reference)j(Man)-5
 b(ual)p 150 1385 3600 34 v 2361 1481 a Ft(Reference)31
 b(Do)s(cumen)m(tation)i(for)d(Bash)2428 1589 y(Edition)h(4.0,)g(for)f
-Fs(Bash)g Ft(V)-8 b(ersion)31 b(4.0.)3364 1697 y(Ma)m(y)g(2008)150
+Fs(Bash)g Ft(V)-8 b(ersion)31 b(4.0.)3350 1697 y(June)e(2008)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
@@ -4545,21 +4545,21 @@ b(oundation)p 150 5141 3600 17 v eop end
 %%Page: 2 2
 TeXDict begin 2 1 bop 150 2889 a Ft(This)35 b(text)h(is)g(a)g(brief)f
 (description)h(of)f(the)h(features)g(that)g(are)g(presen)m(t)g(in)f
-(the)h(Bash)f(shell)h(\(v)m(ersion)150 2999 y(4.0,)c(25)f(Ma)m(y)g
-(2008\).)150 3133 y(This)k(is)h(Edition)f(4.0,)k(last)d(up)s(dated)e
-(25)j(Ma)m(y)g(2008,)i(of)c Fq(The)h(GNU)g(Bash)g(Reference)g(Man)m
-(ual)p Ft(,)i(for)150 3243 y Fs(Bash)p Ft(,)29 b(V)-8
-b(ersion)31 b(4.0.)150 3377 y(Cop)m(yrigh)m(t)602 3374
-y(c)577 3377 y Fp(\015)f Ft(1988{2007)35 b(F)-8 b(ree)31
-b(Soft)m(w)m(are)h(F)-8 b(oundation,)31 b(Inc.)150 3512
-y(P)m(ermission)h(is)h(gran)m(ted)g(to)f(mak)m(e)i(and)d(distribute)h
-(v)m(erbatim)h(copies)g(of)f(this)g(man)m(ual)h(pro)m(vided)f(the)150
-3621 y(cop)m(yrigh)m(t)g(notice)f(and)f(this)g(p)s(ermission)g(notice)h
-(are)g(preserv)m(ed)f(on)h(all)g(copies.)390 3756 y(P)m(ermission)k(is)
-h(gran)m(ted)f(to)h(cop)m(y)-8 b(,)38 b(distribute)d(and/or)g(mo)s
-(dify)f(this)h(do)s(cumen)m(t)g(under)390 3866 y(the)j(terms)g(of)g
-(the)g(GNU)h(F)-8 b(ree)39 b(Do)s(cumen)m(tation)h(License,)g(V)-8
-b(ersion)39 b(1.2)g(or)f(an)m(y)g(later)390 3975 y(v)m(ersion)28
+(the)h(Bash)f(shell)h(\(v)m(ersion)150 2999 y(4.0,)c(29)f(June)e
+(2008\).)150 3133 y(This)34 b(is)h(Edition)g(4.0,)i(last)e(up)s(dated)f
+(29)h(June)f(2008,)k(of)d Fq(The)f(GNU)i(Bash)f(Reference)g(Man)m(ual)p
+Ft(,)i(for)150 3243 y Fs(Bash)p Ft(,)29 b(V)-8 b(ersion)31
+b(4.0.)150 3377 y(Cop)m(yrigh)m(t)602 3374 y(c)577 3377
+y Fp(\015)f Ft(1988{2007)35 b(F)-8 b(ree)31 b(Soft)m(w)m(are)h(F)-8
+b(oundation,)31 b(Inc.)150 3512 y(P)m(ermission)h(is)h(gran)m(ted)g(to)
+f(mak)m(e)i(and)d(distribute)h(v)m(erbatim)h(copies)g(of)f(this)g(man)m
+(ual)h(pro)m(vided)f(the)150 3621 y(cop)m(yrigh)m(t)g(notice)f(and)f
+(this)g(p)s(ermission)g(notice)h(are)g(preserv)m(ed)f(on)h(all)g
+(copies.)390 3756 y(P)m(ermission)k(is)h(gran)m(ted)f(to)h(cop)m(y)-8
+b(,)38 b(distribute)d(and/or)g(mo)s(dify)f(this)h(do)s(cumen)m(t)g
+(under)390 3866 y(the)j(terms)g(of)g(the)g(GNU)h(F)-8
+b(ree)39 b(Do)s(cumen)m(tation)h(License,)g(V)-8 b(ersion)39
+b(1.2)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
@@ -4672,12 +4672,12 @@ b(Substitution)f Fm(.)15 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
 g(.)g(.)g(.)42 b Ft(22)748 4496 y(3.5.6)93 b(Pro)s(cess)30
 b(Substitution)19 b Fm(.)c(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
 (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)49
-b Ft(22)748 4605 y(3.5.7)93 b(W)-8 b(ord)30 b(Splitting)c
+b Ft(23)748 4605 y(3.5.7)93 b(W)-8 b(ord)30 b(Splitting)c
 Fm(.)15 b(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g
 (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)55
 b Ft(23)748 4715 y(3.5.8)93 b(Filename)31 b(Expansion)25
 b Fm(.)15 b(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
-(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)55 b Ft(23)1047
+(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)55 b Ft(24)1047
 4824 y(3.5.8.1)93 b(P)m(attern)31 b(Matc)m(hing)20 b
 Fm(.)d(.)e(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g
 (.)g(.)g(.)g(.)49 b Ft(24)748 4934 y(3.5.9)93 b(Quote)30
@@ -4692,7 +4692,7 @@ y(3.6.1)93 b(Redirecting)31 b(Input)11 b Fm(.)j(.)h(.)g(.)g(.)g(.)g(.)g
 g(.)h(.)f(.)g(.)g(.)40 b Ft(26)748 5263 y(3.6.2)93 b(Redirecting)31
 b(Output)18 b Fm(.)13 b(.)i(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
 (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)47
-b Ft(26)p eop end
+b Ft(27)p eop end
 %%Page: -2 4
 TeXDict begin -2 3 bop 150 -116 a Ft(ii)2612 b(Bash)31
 b(Reference)g(Man)m(ual)748 83 y(3.6.3)93 b(App)s(ending)28
@@ -4709,7 +4709,7 @@ g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
 (.)g(.)g(.)g(.)54 b Ft(27)748 631 y(3.6.6)93 b(Here)30
 b(Do)s(cumen)m(ts)13 b Fm(.)k(.)e(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
 (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
-g(.)g(.)43 b Ft(27)748 741 y(3.6.7)93 b(Here)30 b(Strings)10
+g(.)g(.)43 b Ft(28)748 741 y(3.6.7)93 b(Here)30 b(Strings)10
 b Fm(.)15 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
 (.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
 g(.)39 b Ft(28)748 850 y(3.6.8)93 b(Duplicating)31 b(File)h
@@ -4717,7 +4717,7 @@ g(.)39 b Ft(28)748 850 y(3.6.8)93 b(Duplicating)31 b(File)h
 g(.)g(.)g(.)g(.)g(.)g(.)g(.)47 b Ft(28)748 960 y(3.6.9)93
 b(Mo)m(ving)31 b(File)h(Descriptors)15 b Fm(.)h(.)f(.)g(.)g(.)g(.)g(.)g
 (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)44
-b Ft(28)748 1069 y(3.6.10)93 b(Op)s(ening)29 b(File)j(Descriptors)f
+b Ft(29)748 1069 y(3.6.10)93 b(Op)s(ening)29 b(File)j(Descriptors)f
 (for)f(Reading)h(and)e(W)-8 b(riting)954 1179 y Fm(.)16
 b(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
 (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)
@@ -4762,7 +4762,7 @@ b Fm(.)16 b(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
 b Ft(50)748 2858 y(4.3.2)93 b(The)29 b(Shopt)h(Builtin)23
 b Fm(.)15 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g
 (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)52
-b Ft(53)449 2968 y(4.4)92 b(Sp)s(ecial)31 b(Builtins)22
+b Ft(54)449 2968 y(4.4)92 b(Sp)s(ecial)31 b(Builtins)22
 b Fm(.)15 b(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g
 (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
 g(.)g(.)g(.)g(.)g(.)g(.)52 b Ft(58)150 3195 y Fr(5)135
@@ -4815,17 +4815,17 @@ b(The)30 b(Directory)i(Stac)m(k)15 b Fm(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g
 f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)44 b Ft(79)748
 5011 y(6.8.1)93 b(Directory)31 b(Stac)m(k)h(Builtins)10
 b Fm(.)16 b(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
-(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)40 b Ft(79)449 5121 y(6.9)92
+(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)40 b Ft(80)449 5121 y(6.9)92
 b(Con)m(trolling)31 b(the)g(Prompt)15 b Fm(.)g(.)g(.)g(.)g(.)g(.)g(.)g
 (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
-g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)44 b Ft(80)449 5230 y(6.10)92
+g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)44 b Ft(81)449 5230 y(6.10)92
 b(The)30 b(Restricted)i(Shell)11 b Fm(.)k(.)g(.)g(.)g(.)g(.)g(.)g(.)g
 (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
 g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)40 b Ft(82)449 5340
 y(6.11)92 b(Bash)31 b(POSIX)e(Mo)s(de)16 b Fm(.)f(.)g(.)g(.)g(.)g(.)g
 (.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
 g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)45 b
-Ft(82)p eop end
+Ft(83)p eop end
 %%Page: -3 5
 TeXDict begin -3 4 bop 3674 -116 a Ft(iii)150 83 y Fr(7)135
 b(Job)45 b(Con)l(trol)32 b Fn(.)20 b(.)f(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)
@@ -4840,7 +4840,7 @@ g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)41 b Ft(88)449 439 y(7.3)92
 b(Job)30 b(Con)m(trol)h(V)-8 b(ariables)30 b Fm(.)15
 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g
 (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)58
-b Ft(89)150 682 y Fr(8)135 b(Command)45 b(Line)g(Editing)38
+b Ft(90)150 682 y Fr(8)135 b(Command)45 b(Line)g(Editing)38
 b Fn(.)19 b(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)h
 (.)f(.)h(.)81 b Fr(91)449 819 y Ft(8.1)92 b(In)m(tro)s(duction)30
 b(to)h(Line)f(Editing)24 b Fm(.)15 b(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)
@@ -5133,7 +5133,7 @@ b(referred)f(to)h(as)f(an)h Fs(identifier)p Ft(.)150
 4055 y Fs(operator)96 b Ft(A)38 b Fs(control)28 b(operator)36
 b Ft(or)h(a)i Fs(redirection)27 b(operator)p Ft(.)61
 b(See)38 b(Section)g(3.6)h([Redirec-)630 4164 y(tions],)31
-b(page)g(25,)h(for)e(a)h(list)g(of)f(redirection)h(op)s(erators.)150
+b(page)g(26,)h(for)e(a)h(list)g(of)f(redirection)h(op)s(erators.)150
 4321 y Fs(process)d(group)630 4431 y Ft(A)i(collection)k(of)c(related)h
 (pro)s(cesses)g(eac)m(h)g(ha)m(ving)g(the)g(same)f(pro)s(cess)g(group)g
 Fl(id)p Ft(.)150 4588 y Fs(process)e(group)h(ID)630 4697
@@ -5220,9 +5220,9 @@ b(the)h(v)-5 b(arious)40 b(shell)h(expansions)f(\(see)h(Section)g(3.5)g
 ([Shell)g(Expansions],)h(page)f(17\),)330 4580 y(breaking)35
 b(the)g(expanded)g(tok)m(ens)h(in)m(to)g(lists)f(of)g(\014lenames)h
 (\(see)g(Section)f(3.5.8)i([Filename)g(Ex-)330 4689 y(pansion],)30
-b(page)h(23\))h(and)e(commands)g(and)g(argumen)m(ts.)199
+b(page)h(24\))h(and)e(commands)g(and)g(argumen)m(ts.)199
 4826 y(5.)61 b(P)m(erforms)36 b(an)m(y)i(necessary)f(redirections)g
-(\(see)h(Section)f(3.6)h([Redirections],)i(page)e(25\))g(and)e(re-)330
+(\(see)h(Section)f(3.6)h([Redirections],)i(page)e(26\))g(and)e(re-)330
 4935 y(mo)m(v)m(es)c(the)e(redirection)h(op)s(erators)g(and)f(their)g
 (op)s(erands)f(from)h(the)h(argumen)m(t)f(list.)199 5071
 y(6.)61 b(Executes)31 b(the)g(command)f(\(see)h(Section)g(3.7)h
@@ -5435,7 +5435,7 @@ m(hronously)f(\(see)h(Section)g(3.2.3)h([Lists],)g(page)e(9\),)i(the)f
 (eline)g(to)h(complete.)275 5011 y(Eac)m(h)25 b(command)g(in)g(a)g(pip)
 s(eline)g(is)g(executed)h(in)f(its)g(o)m(wn)h(subshell)e(\(see)i
 (Section)g(3.7.3)h([Command)150 5121 y(Execution)36 b(En)m(vironmen)m
-(t],)i(page)e(30\).)58 b(The)36 b(exit)g(status)g(of)g(a)g(pip)s(eline)
+(t],)i(page)e(31\).)58 b(The)36 b(exit)g(status)g(of)g(a)g(pip)s(eline)
 g(is)f(the)h(exit)h(status)f(of)g(the)150 5230 y(last)27
 b(command)f(in)f(the)i(pip)s(eline,)f(unless)g(the)g
 Fs(pipefail)e Ft(option)i(is)g(enabled)g(\(see)h(Section)g(4.3.1)h
@@ -5506,7 +5506,7 @@ Ft(Comp)s(ound)e(commands)i(are)h(the)g(shell)g(programming)f
 (erator)f(and)g(is)g(terminated)g(b)m(y)g(a)g(corresp)s(onding)f
 (reserv)m(ed)150 4862 y(w)m(ord)k(or)h(op)s(erator.)77
 b(An)m(y)42 b(redirections)h(\(see)h(Section)f(3.6)h([Redirections],)j
-(page)c(25\))g(asso)s(ciated)150 4972 y(with)26 b(a)g(comp)s(ound)f
+(page)c(26\))g(asso)s(ciated)150 4972 y(with)26 b(a)g(comp)s(ound)f
 (command)h(apply)g(to)h(all)g(commands)f(within)f(that)i(comp)s(ound)e
 (command)h(unless)150 5081 y(explicitly)32 b(o)m(v)m(erridden.)275
 5230 y(Bash)45 b(pro)m(vides)h(lo)s(oping)g(constructs,)j(conditional)e
@@ -5805,7 +5805,7 @@ b(example,)150 4493 y(the)f(output)f(of)g(all)h(the)g(commands)f(in)g
 4902 y Ft(Placing)30 b(a)f(list)g(of)g(commands)f(b)s(et)m(w)m(een)i
 (paren)m(theses)e(causes)i(a)f(subshell)e(en)m(vironmen)m(t)630
 5011 y(to)k(b)s(e)e(created)j(\(see)f(Section)g(3.7.3)h([Command)d
-(Execution)i(En)m(vironmen)m(t],)g(page)f(30\),)630 5121
+(Execution)i(En)m(vironmen)m(t],)g(page)f(31\),)630 5121
 y(and)d(eac)m(h)i(of)e(the)h(commands)f(in)g Fq(list)j
 Ft(to)f(b)s(e)e(executed)h(in)f(that)h(subshell.)39 b(Since)28
 b(the)f Fq(list)630 5230 y Ft(is)i(executed)g(in)f(a)h(subshell,)g(v)-5
@@ -5860,7 +5860,7 @@ b(command)g(is)f(usually)h(a)g Fq(list)i Ft(enclosed)e(b)s(et)m(w)m
 m(e.)41 b Fq(comp)s(ound-command)30 b Ft(is)e(executed)g(whenev)m(er)g
 Fq(name)150 3386 y Ft(is)37 b(sp)s(eci\014ed)g(as)g(the)h(name)f(of)g
 (a)h(command.)61 b(An)m(y)37 b(redirections)h(\(see)g(Section)g(3.6)g
-([Redirections],)150 3495 y(page)31 b(25\))h(asso)s(ciated)g(with)e
+([Redirections],)150 3495 y(page)31 b(26\))h(asso)s(ciated)g(with)e
 (the)g(shell)h(function)f(are)h(p)s(erformed)d(when)i(the)g(function)g
 (is)h(executed.)275 3628 y(A)41 b(function)f(de\014nition)h(ma)m(y)g(b)
 s(e)g(deleted)g(using)g(the)g(`)p Fs(-f)p Ft(')g(option)g(to)h(the)f
@@ -5981,7 +5981,7 @@ Ft(attribute)i(set,)j(then)150 4654 y Fq(v)-5 b(alue)38
 b Ft(is)33 b(ev)-5 b(aluated)34 b(as)f(an)g(arithmetic)h(expression)f
 (ev)m(en)h(if)e(the)h Fs($\(\(...)o(\)\))f Ft(expansion)h(is)g(not)g
 (used)150 4764 y(\(see)e(Section)g(3.5.5)i([Arithmetic)e(Expansion],)f
-(page)h(22\).)42 b(W)-8 b(ord)31 b(splitting)g(is)g(not)f(p)s
+(page)h(23\).)42 b(W)-8 b(ord)31 b(splitting)g(is)g(not)f(p)s
 (erformed,)f(with)150 4873 y(the)35 b(exception)h(of)f
 Fs("$@")f Ft(as)h(explained)g(b)s(elo)m(w.)54 b(Filename)36
 b(expansion)f(is)g(not)g(p)s(erformed.)53 b(Assign-)150
@@ -6010,66 +6010,68 @@ b(When)35 b(`)p Fs(+=)p Ft(')g(is)h(applied)f(to)g(an)g(arra)m(y)150
 b(ariable's)25 b(v)-5 b(alue)150 737 y(is)32 b(not)f(unset)h(\(as)g(it)
 g(is)f(when)g(using)g(`)p Fs(=)p Ft('\),)i(and)e(new)g(v)-5
 b(alues)32 b(are)g(app)s(ended)d(to)k(the)f(arra)m(y)g(b)s(eginning)150
-847 y(at)e(one)g(greater)h(than)f(the)g(arra)m(y's)g(maxim)m(um)f
-(index.)40 b(When)30 b(applied)f(to)i(a)f(string-v)-5
-b(alued)30 b(v)-5 b(ariable,)150 956 y Fq(v)g(alue)36
-b Ft(is)30 b(expanded)g(and)g(app)s(ended)e(to)j(the)g(v)-5
-b(ariable's)31 b(v)-5 b(alue.)150 1197 y Fk(3.4.1)63
-b(P)m(ositional)41 b(P)m(arameters)275 1450 y Ft(A)36
+847 y(at)27 b(one)f(greater)i(than)e(the)g(arra)m(y's)h(maxim)m(um)f
+(index)g(\(for)g(indexed)g(arra)m(ys\),)i(or)e(added)g(as)g(additional)
+150 956 y(k)m(ey-v)-5 b(alue)35 b(pairs)e(in)g(an)g(asso)s(ciativ)m(e)j
+(arra)m(y)-8 b(.)51 b(When)33 b(applied)g(to)h(a)g(string-v)-5
+b(alued)34 b(v)-5 b(ariable,)35 b Fq(v)-5 b(alue)39 b
+Ft(is)150 1066 y(expanded)30 b(and)f(app)s(ended)g(to)i(the)g(v)-5
+b(ariable's)31 b(v)-5 b(alue.)150 1289 y Fk(3.4.1)63
+b(P)m(ositional)41 b(P)m(arameters)275 1533 y Ft(A)36
 b Fq(p)s(ositional)i(parameter)44 b Ft(is)37 b(a)g(parameter)g(denoted)
 g(b)m(y)g(one)g(or)g(more)g(digits,)i(other)e(than)g(the)150
-1559 y(single)k(digit)f Fs(0)p Ft(.)69 b(P)m(ositional)42
+1643 y(single)k(digit)f Fs(0)p Ft(.)69 b(P)m(ositional)42
 b(parameters)f(are)f(assigned)g(from)g(the)g(shell's)g(argumen)m(ts)g
-(when)f(it)i(is)150 1669 y(in)m(v)m(ok)m(ed,)f(and)d(ma)m(y)g(b)s(e)g
+(when)f(it)i(is)150 1752 y(in)m(v)m(ok)m(ed,)f(and)d(ma)m(y)g(b)s(e)g
 (reassigned)g(using)f(the)i Fs(set)e Ft(builtin)g(command.)61
-b(P)m(ositional)39 b(parameter)e Fs(N)150 1779 y Ft(ma)m(y)27
+b(P)m(ositional)39 b(parameter)e Fs(N)150 1862 y Ft(ma)m(y)27
 b(b)s(e)g(referenced)f(as)h Fs(${N})p Ft(,)g(or)g(as)g
 Fs($N)f Ft(when)g Fs(N)g Ft(consists)i(of)f(a)g(single)g(digit.)41
-b(P)m(ositional)29 b(parameters)150 1888 y(ma)m(y)j(not)f(b)s(e)g
+b(P)m(ositional)29 b(parameters)150 1972 y(ma)m(y)j(not)f(b)s(e)g
 (assigned)h(to)g(with)f(assignmen)m(t)h(statemen)m(ts.)45
 b(The)30 b Fs(set)h Ft(and)g Fs(shift)e Ft(builtins)i(are)h(used)150
-1998 y(to)h(set)f(and)f(unset)h(them)g(\(see)h(Chapter)e(4)h([Shell)g
+2081 y(to)h(set)f(and)f(unset)h(them)g(\(see)h(Chapter)e(4)h([Shell)g
 (Builtin)h(Commands],)e(page)i(35\).)47 b(The)31 b(p)s(ositional)150
-2107 y(parameters)24 b(are)g(temp)s(orarily)g(replaced)h(when)d(a)j
+2191 y(parameters)24 b(are)g(temp)s(orarily)g(replaced)h(when)d(a)j
 (shell)f(function)f(is)h(executed)h(\(see)f(Section)h(3.3)g([Shell)150
-2217 y(F)-8 b(unctions],)31 b(page)h(14\).)275 2360 y(When)27
+2300 y(F)-8 b(unctions],)31 b(page)h(14\).)275 2435 y(When)27
 b(a)i(p)s(ositional)g(parameter)g(consisting)f(of)h(more)f(than)g(a)g
-(single)h(digit)g(is)f(expanded,)g(it)h(m)m(ust)150 2469
-y(b)s(e)h(enclosed)h(in)f(braces.)150 2710 y Fk(3.4.2)63
-b(Sp)s(ecial)41 b(P)m(arameters)275 2963 y Ft(The)27
+(single)h(digit)g(is)f(expanded,)g(it)h(m)m(ust)150 2544
+y(b)s(e)h(enclosed)h(in)f(braces.)150 2768 y Fk(3.4.2)63
+b(Sp)s(ecial)41 b(P)m(arameters)275 3011 y Ft(The)27
 b(shell)h(treats)h(sev)m(eral)g(parameters)g(sp)s(ecially)-8
 b(.)41 b(These)28 b(parameters)g(ma)m(y)g(only)g(b)s(e)g(referenced;)
-150 3072 y(assignmen)m(t)j(to)g(them)g(is)f(not)h(allo)m(w)m(ed.)150
-3244 y Fs(*)432 b Ft(Expands)29 b(to)h(the)h(p)s(ositional)f
+150 3121 y(assignmen)m(t)j(to)g(them)g(is)f(not)h(allo)m(w)m(ed.)150
+3280 y Fs(*)432 b Ft(Expands)29 b(to)h(the)h(p)s(ositional)f
 (parameters,)h(starting)g(from)e(one.)41 b(When)30 b(the)g(expansion)
-630 3354 y(o)s(ccurs)e(within)f(double)h(quotes,)h(it)g(expands)e(to)i
+630 3389 y(o)s(ccurs)e(within)f(double)h(quotes,)h(it)g(expands)e(to)i
 (a)f(single)h(w)m(ord)f(with)g(the)g(v)-5 b(alue)29 b(of)f(eac)m(h)630
-3463 y(parameter)i(separated)g(b)m(y)f(the)g(\014rst)g(c)m(haracter)i
+3499 y(parameter)i(separated)g(b)m(y)f(the)g(\014rst)g(c)m(haracter)i
 (of)e(the)h Fs(IFS)e Ft(sp)s(ecial)i(v)-5 b(ariable.)41
-b(That)30 b(is,)630 3573 y Fs("$*")h Ft(is)i(equiv)-5
+b(That)30 b(is,)630 3609 y Fs("$*")h Ft(is)i(equiv)-5
 b(alen)m(t)33 b(to)h Fs("$1)p Fj(c)11 b Fs($2)p Fj(c)g
 Fs(...)l(")p Ft(,)33 b(where)f Fq(c)38 b Ft(is)32 b(the)h(\014rst)e(c)m
-(haracter)j(of)f(the)f(v)-5 b(alue)630 3683 y(of)30 b(the)g
+(haracter)j(of)f(the)f(v)-5 b(alue)630 3718 y(of)30 b(the)g
 Fs(IFS)g Ft(v)-5 b(ariable.)41 b(If)30 b Fs(IFS)f Ft(is)h(unset,)g(the)
 g(parameters)g(are)h(separated)f(b)m(y)g(spaces.)41 b(If)630
-3792 y Fs(IFS)29 b Ft(is)i(n)m(ull,)f(the)h(parameters)g(are)f(joined)h
-(without)f(in)m(terv)m(ening)i(separators.)150 3960 y
+3828 y Fs(IFS)29 b Ft(is)i(n)m(ull,)f(the)h(parameters)g(are)f(joined)h
+(without)f(in)m(terv)m(ening)i(separators.)150 3987 y
 Fs(@)432 b Ft(Expands)29 b(to)h(the)h(p)s(ositional)f(parameters,)h
 (starting)g(from)e(one.)41 b(When)30 b(the)g(expansion)630
-4070 y(o)s(ccurs)c(within)g(double)f(quotes,)j(eac)m(h)f(parameter)g
+4096 y(o)s(ccurs)c(within)g(double)f(quotes,)j(eac)m(h)f(parameter)g
 (expands)e(to)i(a)g(separate)g(w)m(ord.)39 b(That)630
-4179 y(is,)29 b Fs("$@")e Ft(is)i(equiv)-5 b(alen)m(t)30
+4206 y(is,)29 b Fs("$@")e Ft(is)i(equiv)-5 b(alen)m(t)30
 b(to)f Fs("$1")g("$2")h(...)o Ft(.)40 b(If)28 b(the)g(double-quoted)h
-(expansion)f(o)s(ccurs)630 4289 y(within)d(a)h(w)m(ord,)g(the)g
+(expansion)f(o)s(ccurs)630 4315 y(within)d(a)h(w)m(ord,)g(the)g
 (expansion)f(of)h(the)g(\014rst)f(parameter)h(is)f(joined)h(with)f(the)
-h(b)s(eginning)630 4398 y(part)f(of)g(the)g(original)g(w)m(ord,)h(and)e
+h(b)s(eginning)630 4425 y(part)f(of)g(the)g(original)g(w)m(ord,)h(and)e
 (the)h(expansion)g(of)g(the)g(last)h(parameter)f(is)g(joined)f(with)630
-4508 y(the)37 b(last)g(part)g(of)f(the)h(original)h(w)m(ord.)59
+4535 y(the)37 b(last)g(part)g(of)f(the)h(original)h(w)m(ord.)59
 b(When)36 b(there)h(are)g(no)f(p)s(ositional)h(parameters,)630
-4617 y Fs("$@")29 b Ft(and)h Fs($@)g Ft(expand)f(to)j(nothing)e
-(\(i.e.,)i(they)e(are)h(remo)m(v)m(ed\).)150 4785 y Fs(#)432
+4644 y Fs("$@")29 b Ft(and)h Fs($@)g Ft(expand)f(to)j(nothing)e
+(\(i.e.,)i(they)e(are)h(remo)m(v)m(ed\).)150 4803 y Fs(#)432
 b Ft(Expands)29 b(to)i(the)g(n)m(um)m(b)s(er)e(of)h(p)s(ositional)h
-(parameters)g(in)f(decimal.)150 4953 y Fs(?)432 b Ft(Expands)29
+(parameters)g(in)f(decimal.)150 4962 y Fs(?)432 b Ft(Expands)29
 b(to)i(the)g(exit)g(status)g(of)f(the)h(most)f(recen)m(tly)i(executed)f
 (foreground)f(pip)s(eline.)150 5121 y Fs(-)432 b Ft(\(A)31
 b(h)m(yphen.\))42 b(Expands)30 b(to)h(the)g(curren)m(t)g(option)h
@@ -6152,7 +6154,7 @@ b(Expansion)275 545 y Ft(Brace)21 b(expansion)g(is)g(a)g(mec)m(hanism)g
 (b)m(y)g(whic)m(h)f(arbitrary)h(strings)f(ma)m(y)i(b)s(e)e(generated.)
 38 b(This)20 b(mec)m(h-)150 654 y(anism)35 b(is)h(similar)f(to)h
 Fq(\014lename)g(expansion)f Ft(\(see)i(Section)f(3.5.8)h([Filename)g
-(Expansion],)f(page)g(23\),)150 764 y(but)24 b(the)i(\014le)f(names)g
+(Expansion],)f(page)g(24\),)150 764 y(but)24 b(the)i(\014le)f(names)g
 (generated)h(need)f(not)g(exist.)40 b(P)m(atterns)26
 b(to)g(b)s(e)e(brace)i(expanded)e(tak)m(e)j(the)e(form)g(of)150
 874 y(an)30 b(optional)h Fq(pream)m(ble)p Ft(,)g(follo)m(w)m(ed)g(b)m
@@ -6328,1063 +6330,1100 @@ Fs({)p Ft(!)p Fq(name)5 b Ft([)p Fs(@)p Ft(])p Fs(})150
 847 y Ft(describ)s(ed)28 b(b)s(elo)m(w.)41 b(The)28 b(exclamation)j(p)s
 (oin)m(t)f(m)m(ust)f(immediately)h(follo)m(w)g(the)g(left)f(brace)h(in)
 f(order)f(to)150 956 y(in)m(tro)s(duce)i(indirection.)275
-1083 y(In)39 b(eac)m(h)i(of)g(the)f(cases)h(b)s(elo)m(w,)i
+1089 y(In)39 b(eac)m(h)i(of)g(the)f(cases)h(b)s(elo)m(w,)i
 Fq(w)m(ord)h Ft(is)c(sub)5 b(ject)40 b(to)h(tilde)f(expansion,)j
-(parameter)e(expansion,)150 1192 y(command)30 b(substitution,)g(and)g
-(arithmetic)i(expansion.)275 1319 y(When)h(not)g(p)s(erforming)f
+(parameter)e(expansion,)150 1199 y(command)30 b(substitution,)g(and)g
+(arithmetic)i(expansion.)275 1332 y(When)h(not)g(p)s(erforming)f
 (substring)g(expansion,)j(Bash)e(tests)h(for)f(a)h(parameter)g(that)g
-(is)f(unset)g(or)150 1428 y(n)m(ull;)38 b(omitting)e(the)f(colon)h
+(is)f(unset)g(or)150 1442 y(n)m(ull;)38 b(omitting)e(the)f(colon)h
 (results)f(in)g(a)h(test)g(only)f(for)g(a)g(parameter)h(that)f(is)h
-(unset.)54 b(Put)35 b(another)150 1538 y(w)m(a)m(y)-8
+(unset.)54 b(Put)35 b(another)150 1551 y(w)m(a)m(y)-8
 b(,)31 b(if)e(the)g(colon)h(is)f(included,)f(the)h(op)s(erator)h(tests)
 f(for)g(b)s(oth)f(existence)i(and)f(that)g(the)g(v)-5
-b(alue)30 b(is)f(not)150 1648 y(n)m(ull;)i(if)f(the)g(colon)i(is)e
+b(alue)30 b(is)f(not)150 1661 y(n)m(ull;)i(if)f(the)g(colon)i(is)e
 (omitted,)i(the)e(op)s(erator)h(tests)g(only)g(for)f(existence.)150
-1791 y Fs(${)p Fj(parameter)11 b Fs(:)p Fp(\000)p Fj(word)g
-Fs(})630 1901 y Ft(If)30 b Fq(parameter)37 b Ft(is)30
+1817 y Fs(${)p Fj(parameter)11 b Fs(:)p Fp(\000)p Fj(word)g
+Fs(})630 1927 y Ft(If)30 b Fq(parameter)37 b Ft(is)30
 b(unset)g(or)h(n)m(ull,)f(the)h(expansion)f(of)g Fq(w)m(ord)k
-Ft(is)c(substituted.)40 b(Otherwise,)630 2010 y(the)31
+Ft(is)c(substituted.)40 b(Otherwise,)630 2037 y(the)31
 b(v)-5 b(alue)30 b(of)h Fq(parameter)37 b Ft(is)31 b(substituted.)150
-2153 y Fs(${)p Fj(parameter)11 b Fs(:=)p Fj(word)g Fs(})630
-2263 y Ft(If)33 b Fq(parameter)40 b Ft(is)33 b(unset)f(or)h(n)m(ull,)h
+2193 y Fs(${)p Fj(parameter)11 b Fs(:=)p Fj(word)g Fs(})630
+2303 y Ft(If)33 b Fq(parameter)40 b Ft(is)33 b(unset)f(or)h(n)m(ull,)h
 (the)f(expansion)g(of)g Fq(w)m(ord)j Ft(is)d(assigned)g(to)h
-Fq(parameter)p Ft(.)630 2373 y(The)c(v)-5 b(alue)32 b(of)f
+Fq(parameter)p Ft(.)630 2412 y(The)c(v)-5 b(alue)32 b(of)f
 Fq(parameter)38 b Ft(is)31 b(then)g(substituted.)42 b(P)m(ositional)33
-b(parameters)e(and)f(sp)s(ecial)630 2482 y(parameters)h(ma)m(y)g(not)f
+b(parameters)e(and)f(sp)s(ecial)630 2522 y(parameters)h(ma)m(y)g(not)f
 (b)s(e)g(assigned)h(to)g(in)f(this)g(w)m(a)m(y)-8 b(.)150
-2626 y Fs(${)p Fj(parameter)11 b Fs(:?)p Fj(word)g Fs(})630
-2735 y Ft(If)26 b Fq(parameter)33 b Ft(is)26 b(n)m(ull)g(or)g(unset,)h
+2679 y Fs(${)p Fj(parameter)11 b Fs(:?)p Fj(word)g Fs(})630
+2788 y Ft(If)26 b Fq(parameter)33 b Ft(is)26 b(n)m(ull)g(or)g(unset,)h
 (the)f(expansion)g(of)g Fq(w)m(ord)k Ft(\(or)c(a)h(message)g(to)g(that)
-f(e\013ect)630 2845 y(if)i Fq(w)m(ord)j Ft(is)d(not)g(presen)m(t\))h
+f(e\013ect)630 2898 y(if)i Fq(w)m(ord)j Ft(is)d(not)g(presen)m(t\))h
 (is)f(written)g(to)h(the)f(standard)f(error)h(and)f(the)h(shell,)h(if)f
-(it)h(is)f(not)630 2954 y(in)m(teractiv)m(e,)33 b(exits.)42
+(it)h(is)f(not)630 3007 y(in)m(teractiv)m(e,)33 b(exits.)42
 b(Otherwise,)30 b(the)h(v)-5 b(alue)31 b(of)f Fq(parameter)38
-b Ft(is)30 b(substituted.)150 3098 y Fs(${)p Fj(parameter)11
-b Fs(:+)p Fj(word)g Fs(})630 3207 y Ft(If)35 b Fq(parameter)42
+b Ft(is)30 b(substituted.)150 3164 y Fs(${)p Fj(parameter)11
+b Fs(:+)p Fj(word)g Fs(})630 3273 y Ft(If)35 b Fq(parameter)42
 b Ft(is)36 b(n)m(ull)f(or)h(unset,)g(nothing)g(is)f(substituted,)i
-(otherwise)e(the)h(expansion)630 3317 y(of)31 b Fq(w)m(ord)i
-Ft(is)e(substituted.)150 3460 y Fs(${)p Fj(parameter)11
-b Fs(:)p Fj(offset)g Fs(})150 3570 y(${)p Fj(parameter)g
+(otherwise)e(the)h(expansion)630 3383 y(of)31 b Fq(w)m(ord)i
+Ft(is)e(substituted.)150 3540 y Fs(${)p Fj(parameter)11
+b Fs(:)p Fj(offset)g Fs(})150 3649 y(${)p Fj(parameter)g
 Fs(:)p Fj(offset)g Fs(:)p Fj(le)o(ngt)o(h)g Fs(})630
-3679 y Ft(Expands)44 b(to)i(up)e(to)i Fq(length)g Ft(c)m(haracters)h
+3759 y Ft(Expands)44 b(to)i(up)e(to)i Fq(length)g Ft(c)m(haracters)h
 (of)e Fq(parameter)53 b Ft(starting)46 b(at)g(the)f(c)m(haracter)630
-3789 y(sp)s(eci\014ed)30 b(b)m(y)h Fq(o\013set)p Ft(.)42
+3868 y(sp)s(eci\014ed)30 b(b)m(y)h Fq(o\013set)p Ft(.)42
 b(If)31 b Fq(length)g Ft(is)g(omitted,)h(expands)e(to)h(the)g
-(substring)f(of)g Fq(parameter)630 3898 y Ft(starting)38
+(substring)f(of)g Fq(parameter)630 3978 y Ft(starting)38
 b(at)g(the)f(c)m(haracter)i(sp)s(eci\014ed)e(b)m(y)g
 Fq(o\013set)p Ft(.)62 b Fq(length)38 b Ft(and)f Fq(o\013set)j
-Ft(are)e(arithmetic)630 4008 y(expressions)30 b(\(see)i(Section)g(6.5)g
+Ft(are)e(arithmetic)630 4088 y(expressions)30 b(\(see)i(Section)g(6.5)g
 ([Shell)f(Arithmetic],)h(page)g(76\).)43 b(This)30 b(is)h(referred)f
-(to)i(as)630 4118 y(Substring)d(Expansion.)630 4244 y
+(to)i(as)630 4197 y(Substring)d(Expansion.)630 4330 y
 Fq(length)j Ft(m)m(ust)f(ev)-5 b(aluate)33 b(to)f(a)g(n)m(um)m(b)s(er)e
 (greater)i(than)f(or)g(equal)h(to)g(zero.)45 b(If)30
-b Fq(o\013set)35 b Ft(ev)-5 b(al-)630 4354 y(uates)36
+b Fq(o\013set)35 b Ft(ev)-5 b(al-)630 4440 y(uates)36
 b(to)h(a)f(n)m(um)m(b)s(er)e(less)i(than)f(zero,)j(the)e(v)-5
 b(alue)36 b(is)g(used)f(as)g(an)h(o\013set)h(from)e(the)h(end)630
-4463 y(of)i(the)f(v)-5 b(alue)38 b(of)g Fq(parameter)p
+4549 y(of)i(the)f(v)-5 b(alue)38 b(of)g Fq(parameter)p
 Ft(.)62 b(If)37 b Fq(parameter)45 b Ft(is)37 b(`)p Fs(@)p
 Ft(',)j(the)d(result)h(is)f Fq(length)h Ft(p)s(ositional)630
-4573 y(parameters)d(b)s(eginning)e(at)i Fq(o\013set)p
-Ft(.)54 b(If)34 b Fq(parameter)41 b Ft(is)34 b(an)h(arra)m(y)f(name)h
-(indexed)f(b)m(y)g(`)p Fs(@)p Ft(')630 4682 y(or)f(`)p
-Fs(*)p Ft(',)g(the)g(result)g(is)g(the)g Fq(length)g
-Ft(mem)m(b)s(ers)f(of)h(the)g(arra)m(y)g(b)s(eginning)f(with)g
-Fs(${)p Fj(param-)630 4792 y(eter)11 b Fs([)p Fj(offset)g
-Fs(]})p Ft(.)65 b(A)40 b(negativ)m(e)j Fq(o\013set)g
-Ft(is)d(tak)m(en)h(relativ)m(e)h(to)f(one)g(greater)g(than)f(the)630
-4902 y(maxim)m(um)h(index)f(of)i(the)f(sp)s(eci\014ed)f(arra)m(y)-8
-b(.)73 b(Note)43 b(that)e(a)h(negativ)m(e)h(o\013set)f(m)m(ust)f(b)s(e)
-630 5011 y(separated)27 b(from)e(the)i(colon)g(b)m(y)f(at)h(least)g
-(one)f(space)h(to)g(a)m(v)m(oid)h(b)s(eing)d(confused)h(with)g(the)630
-5121 y(`)p Fs(:-)p Ft(')31 b(expansion.)43 b(Substring)29
-b(indexing)i(is)g(zero-based)h(unless)e(the)i(p)s(ositional)g(parame-)
-630 5230 y(ters)j(are)f(used,)h(in)f(whic)m(h)g(case)i(the)e(indexing)h
-(starts)f(at)i(1)e(b)m(y)h(default.)53 b(If)33 b Fq(o\013set)38
-b Ft(is)c(0,)630 5340 y(and)c(the)g(p)s(ositional)i(parameters)e(are)h
-(used,)f Fs($@)g Ft(is)g(pre\014xed)f(to)i(the)g(list.)p
-eop end
+4659 y(parameters)h(b)s(eginning)g(at)g Fq(o\013set)p
+Ft(.)68 b(If)39 b Fq(parameter)46 b Ft(is)39 b(an)g(indexed)f(arra)m(y)
+i(name)f(sub-)630 4769 y(scripted)34 b(b)m(y)g(`)p Fs(@)p
+Ft(')g(or)g(`)p Fs(*)p Ft(',)h(the)f(result)g(is)g(the)g
+Fq(length)h Ft(mem)m(b)s(ers)e(of)h(the)g(arra)m(y)h(b)s(eginning)630
+4878 y(with)25 b Fs(${)p Fj(parameter)11 b Fs([)p Fj(offset)g
+Fs(]})p Ft(.)33 b(A)25 b(negativ)m(e)j Fq(o\013set)g
+Ft(is)e(tak)m(en)g(relativ)m(e)i(to)e(one)g(greater)630
+4988 y(than)g(the)h(maxim)m(um)f(index)g(of)g(the)h(sp)s(eci\014ed)f
+(arra)m(y)-8 b(.)40 b(Substring)25 b(expansion)h(applied)g(to)630
+5097 y(an)k(asso)s(ciativ)m(e)j(arra)m(y)e(pro)s(duces)e(unde\014ned)f
+(results.)630 5230 y(Note)37 b(that)f(a)g(negativ)m(e)i(o\013set)f(m)m
+(ust)f(b)s(e)f(separated)h(from)f(the)h(colon)h(b)m(y)e(at)i(least)g
+(one)630 5340 y(space)g(to)g(a)m(v)m(oid)g(b)s(eing)f(confused)f(with)h
+(the)h(`)p Fs(:-)p Ft(')f(expansion.)57 b(Substring)35
+b(indexing)h(is)p eop end
 %%Page: 21 27
 TeXDict begin 21 26 bop 150 -116 a Ft(Chapter)30 b(3:)41
-b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(21)150 299
-y Fs(${!)p Fj(prefix)11 b Fs(*})150 408 y(${!)p Fj(prefix)g
-Fs(@})630 518 y Ft(Expands)24 b(to)h(the)g(names)g(of)g(v)-5
-b(ariables)26 b(whose)f(names)f(b)s(egin)h(with)f Fq(pre\014x)p
-Ft(,)i(separated)f(b)m(y)630 628 y(the)k(\014rst)f(c)m(haracter)j(of)e
-(the)g Fs(IFS)f Ft(sp)s(ecial)i(v)-5 b(ariable.)41 b(When)29
-b(`)p Fs(@)p Ft(')g(is)g(used)f(and)h(the)g(expan-)630
-737 y(sion)35 b(app)s(ears)g(within)f(double)h(quotes,)i(eac)m(h)f(v)-5
-b(ariable)36 b(name)f(expands)g(to)g(a)h(separate)630
-847 y(w)m(ord.)150 1000 y Fs(${!)p Fj(name)11 b Fs([@]})150
-1110 y(${!)p Fj(name)g Fs([*]})630 1219 y Ft(If)26 b
+b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(21)630 299
+y(zero-based)24 b(unless)f(the)h(p)s(ositional)g(parameters)g(are)g
+(used,)g(in)g(whic)m(h)f(case)h(the)g(indexing)630 408
+y(starts)30 b(at)g(1)f(b)m(y)h(default.)40 b(If)29 b
+Fq(o\013set)j Ft(is)e(0,)g(and)f(the)g(p)s(ositional)h(parameters)g
+(are)g(used,)f Fs($@)630 518 y Ft(is)h(pre\014xed)g(to)h(the)f(list.)
+150 664 y Fs(${!)p Fj(prefix)11 b Fs(*})150 774 y(${!)p
+Fj(prefix)g Fs(@})630 883 y Ft(Expands)24 b(to)h(the)g(names)g(of)g(v)
+-5 b(ariables)26 b(whose)f(names)f(b)s(egin)h(with)f
+Fq(pre\014x)p Ft(,)i(separated)f(b)m(y)630 993 y(the)k(\014rst)f(c)m
+(haracter)j(of)e(the)g Fs(IFS)f Ft(sp)s(ecial)i(v)-5
+b(ariable.)41 b(When)29 b(`)p Fs(@)p Ft(')g(is)g(used)f(and)h(the)g
+(expan-)630 1103 y(sion)35 b(app)s(ears)g(within)f(double)h(quotes,)i
+(eac)m(h)f(v)-5 b(ariable)36 b(name)f(expands)g(to)g(a)h(separate)630
+1212 y(w)m(ord.)150 1358 y Fs(${!)p Fj(name)11 b Fs([@]})150
+1468 y(${!)p Fj(name)g Fs([*]})630 1577 y Ft(If)26 b
 Fq(name)32 b Ft(is)27 b(an)f(arra)m(y)h(v)-5 b(ariable,)29
 b(expands)d(to)h(the)g(list)g(of)g(arra)m(y)g(indices)g(\(k)m(eys\))h
-(assigned)630 1329 y(in)c Fq(name)p Ft(.)39 b(If)24 b
+(assigned)630 1687 y(in)c Fq(name)p Ft(.)39 b(If)24 b
 Fq(name)30 b Ft(is)24 b(not)h(an)f(arra)m(y)-8 b(,)27
 b(expands)c(to)j(0)f(if)f Fq(name)30 b Ft(is)24 b(set)h(and)f(n)m(ull)g
-(otherwise.)630 1439 y(When)39 b(`)p Fs(@)p Ft(')h(is)f(used)g(and)f
+(otherwise.)630 1797 y(When)39 b(`)p Fs(@)p Ft(')h(is)f(used)g(and)f
 (the)i(expansion)f(app)s(ears)g(within)f(double)h(quotes,)k(eac)m(h)d
-(k)m(ey)630 1548 y(expands)30 b(to)h(a)f(separate)i(w)m(ord.)150
-1702 y Fs(${#)p Fj(parameter)11 b Fs(})630 1811 y Ft(The)40
+(k)m(ey)630 1906 y(expands)30 b(to)h(a)f(separate)i(w)m(ord.)150
+2052 y Fs(${#)p Fj(parameter)11 b Fs(})630 2162 y Ft(The)40
 b(length)g(in)g(c)m(haracters)i(of)e(the)h(expanded)e(v)-5
 b(alue)41 b(of)f Fq(parameter)47 b Ft(is)40 b(substituted.)630
-1921 y(If)i Fq(parameter)50 b Ft(is)43 b(`)p Fs(*)p Ft(')g(or)g(`)p
+2271 y(If)i Fq(parameter)50 b Ft(is)43 b(`)p Fs(*)p Ft(')g(or)g(`)p
 Fs(@)p Ft(',)k(the)c(v)-5 b(alue)43 b(substituted)f(is)h(the)g(n)m(um)m
-(b)s(er)f(of)h(p)s(ositional)630 2030 y(parameters.)i(If)32
+(b)s(er)f(of)h(p)s(ositional)630 2381 y(parameters.)i(If)32
 b Fq(parameter)38 b Ft(is)32 b(an)g(arra)m(y)g(name)g(subscripted)f(b)m
 (y)g(`)p Fs(*)p Ft(')h(or)g(`)p Fs(@)p Ft(',)g(the)g(v)-5
-b(alue)630 2140 y(substituted)30 b(is)g(the)h(n)m(um)m(b)s(er)e(of)h
-(elemen)m(ts)i(in)e(the)h(arra)m(y)-8 b(.)150 2293 y
-Fs(${)p Fj(parameter)11 b Fs(#)p Fj(word)g Fs(})150 2403
-y(${)p Fj(parameter)g Fs(##)p Fj(word)g Fs(})630 2513
+b(alue)630 2491 y(substituted)30 b(is)g(the)h(n)m(um)m(b)s(er)e(of)h
+(elemen)m(ts)i(in)e(the)h(arra)m(y)-8 b(.)150 2637 y
+Fs(${)p Fj(parameter)11 b Fs(#)p Fj(word)g Fs(})150 2746
+y(${)p Fj(parameter)g Fs(##)p Fj(word)g Fs(})630 2856
 y Ft(The)31 b Fq(w)m(ord)k Ft(is)d(expanded)f(to)i(pro)s(duce)e(a)h
 (pattern)g(just)f(as)i(in)e(\014lename)h(expansion)g(\(see)630
-2622 y(Section)k(3.5.8)h([Filename)g(Expansion],)g(page)f(23\).)56
+2966 y(Section)k(3.5.8)h([Filename)g(Expansion],)g(page)f(24\).)56
 b(If)35 b(the)h(pattern)f(matc)m(hes)i(the)e(b)s(e-)630
-2732 y(ginning)28 b(of)g(the)h(expanded)e(v)-5 b(alue)29
+3075 y(ginning)28 b(of)g(the)h(expanded)e(v)-5 b(alue)29
 b(of)f Fq(parameter)p Ft(,)h(then)f(the)g(result)g(of)h(the)f
-(expansion)g(is)630 2841 y(the)36 b(expanded)f(v)-5 b(alue)36
+(expansion)g(is)630 3185 y(the)36 b(expanded)f(v)-5 b(alue)36
 b(of)g Fq(parameter)43 b Ft(with)35 b(the)h(shortest)g(matc)m(hing)h
-(pattern)f(\(the)g(`)p Fs(#)p Ft(')630 2951 y(case\))26
+(pattern)f(\(the)g(`)p Fs(#)p Ft(')630 3294 y(case\))26
 b(or)f(the)g(longest)g(matc)m(hing)h(pattern)f(\(the)g(`)p
 Fs(##)p Ft(')g(case\))h(deleted.)39 b(If)24 b Fq(parameter)32
-b Ft(is)25 b(`)p Fs(@)p Ft(')630 3061 y(or)j(`)p Fs(*)p
+b Ft(is)25 b(`)p Fs(@)p Ft(')630 3404 y(or)j(`)p Fs(*)p
 Ft(',)i(the)e(pattern)h(remo)m(v)-5 b(al)29 b(op)s(eration)g(is)f
 (applied)h(to)g(eac)m(h)g(p)s(ositional)g(parameter)g(in)630
-3170 y(turn,)i(and)g(the)h(expansion)g(is)g(the)g(resultan)m(t)g(list.)
+3513 y(turn,)i(and)g(the)h(expansion)g(is)g(the)g(resultan)m(t)g(list.)
 45 b(If)32 b Fq(parameter)38 b Ft(is)32 b(an)g(arra)m(y)g(v)-5
-b(ariable)630 3280 y(subscripted)39 b(with)g(`)p Fs(@)p
+b(ariable)630 3623 y(subscripted)39 b(with)g(`)p Fs(@)p
 Ft(')h(or)g(`)p Fs(*)p Ft(',)j(the)d(pattern)h(remo)m(v)-5
 b(al)41 b(op)s(eration)f(is)g(applied)g(to)h(eac)m(h)630
-3389 y(mem)m(b)s(er)30 b(of)g(the)h(arra)m(y)g(in)f(turn,)f(and)h(the)h
-(expansion)f(is)g(the)h(resultan)m(t)g(list.)150 3543
+3733 y(mem)m(b)s(er)30 b(of)g(the)h(arra)m(y)g(in)f(turn,)f(and)h(the)h
+(expansion)f(is)g(the)h(resultan)m(t)g(list.)150 3879
 y Fs(${)p Fj(parameter)11 b Fs(\045)p Fj(word)g Fs(})150
-3652 y(${)p Fj(parameter)g Fs(\045\045)p Fj(word)g Fs(})630
-3762 y Ft(The)35 b Fq(w)m(ord)k Ft(is)c(expanded)g(to)h(pro)s(duce)e(a)
+3988 y(${)p Fj(parameter)g Fs(\045\045)p Fj(word)g Fs(})630
+4098 y Ft(The)35 b Fq(w)m(ord)k Ft(is)c(expanded)g(to)h(pro)s(duce)e(a)
 i(pattern)f(just)g(as)h(in)f(\014lename)h(expansion.)55
-b(If)630 3871 y(the)43 b(pattern)g(matc)m(hes)h(a)g(trailing)g(p)s
+b(If)630 4208 y(the)43 b(pattern)g(matc)m(hes)h(a)g(trailing)g(p)s
 (ortion)e(of)h(the)g(expanded)g(v)-5 b(alue)43 b(of)g
-Fq(parameter)p Ft(,)630 3981 y(then)c(the)g(result)g(of)h(the)f
+Fq(parameter)p Ft(,)630 4317 y(then)c(the)g(result)g(of)h(the)f
 (expansion)g(is)h(the)f(v)-5 b(alue)40 b(of)f Fq(parameter)46
-b Ft(with)39 b(the)h(shortest)630 4091 y(matc)m(hing)31
+b Ft(with)39 b(the)h(shortest)630 4427 y(matc)m(hing)31
 b(pattern)e(\(the)h(`)p Fs(\045)p Ft(')g(case\))h(or)e(the)h(longest)h
 (matc)m(hing)f(pattern)g(\(the)g(`)p Fs(\045\045)p Ft(')g(case\))630
-4200 y(deleted.)49 b(If)32 b Fq(parameter)40 b Ft(is)33
+4536 y(deleted.)49 b(If)32 b Fq(parameter)40 b Ft(is)33
 b(`)p Fs(@)p Ft(')g(or)g(`)p Fs(*)p Ft(',)h(the)f(pattern)g(remo)m(v)-5
-b(al)34 b(op)s(eration)g(is)f(applied)f(to)630 4310 y(eac)m(h)38
+b(al)34 b(op)s(eration)g(is)f(applied)f(to)630 4646 y(eac)m(h)38
 b(p)s(ositional)g(parameter)g(in)f(turn,)h(and)e(the)h(expansion)g(is)h
-(the)f(resultan)m(t)h(list.)61 b(If)630 4419 y Fq(parameter)38
+(the)f(resultan)m(t)h(list.)61 b(If)630 4755 y Fq(parameter)38
 b Ft(is)32 b(an)f(arra)m(y)h(v)-5 b(ariable)32 b(subscripted)e(with)h
 (`)p Fs(@)p Ft(')g(or)h(`)p Fs(*)p Ft(',)g(the)f(pattern)h(remo)m(v)-5
-b(al)630 4529 y(op)s(eration)30 b(is)g(applied)f(to)i(eac)m(h)g(mem)m
+b(al)630 4865 y(op)s(eration)30 b(is)g(applied)f(to)i(eac)m(h)g(mem)m
 (b)s(er)e(of)h(the)g(arra)m(y)g(in)f(turn,)g(and)g(the)h(expansion)g
-(is)630 4639 y(the)h(resultan)m(t)g(list.)150 4792 y
+(is)630 4975 y(the)h(resultan)m(t)g(list.)150 5121 y
 Fs(${)p Fj(parameter)11 b Fs(/)p Fj(pattern)g Fs(/)p
-Fj(s)o(tri)o(ng)f Fs(})630 4902 y Ft(The)37 b Fq(pattern)g
+Fj(s)o(tri)o(ng)f Fs(})630 5230 y Ft(The)37 b Fq(pattern)g
 Ft(is)g(expanded)g(to)h(pro)s(duce)e(a)h(pattern)g(just)g(as)h(in)e
-(\014lename)i(expansion.)630 5011 y Fq(P)m(arameter)46
+(\014lename)i(expansion.)630 5340 y Fq(P)m(arameter)46
 b Ft(is)38 b(expanded)f(and)g(the)i(longest)g(matc)m(h)g(of)f
-Fq(pattern)g Ft(against)h(its)f(v)-5 b(alue)39 b(is)630
-5121 y(replaced)34 b(with)e Fq(string)p Ft(.)49 b(If)33
-b Fq(pattern)g Ft(b)s(egins)g(with)f(`)p Fs(/)p Ft(',)j(all)f(matc)m
-(hes)g(of)f Fq(pattern)g Ft(are)h(re-)630 5230 y(placed)28
-b(with)f Fq(string)p Ft(.)40 b(Normally)28 b(only)f(the)h(\014rst)e
-(matc)m(h)j(is)e(replaced.)40 b(If)27 b Fq(pattern)g
-Ft(b)s(egins)630 5340 y(with)34 b(`)p Fs(#)p Ft(',)h(it)g(m)m(ust)f
-(matc)m(h)h(at)f(the)h(b)s(eginning)e(of)h(the)g(expanded)f(v)-5
-b(alue)35 b(of)f Fq(parameter)p Ft(.)p eop end
+Fq(pattern)g Ft(against)h(its)f(v)-5 b(alue)39 b(is)p
+eop end
 %%Page: 22 28
 TeXDict begin 22 27 bop 150 -116 a Ft(22)2572 b(Bash)31
-b(Reference)g(Man)m(ual)630 299 y(If)j Fq(pattern)g Ft(b)s(egins)g
-(with)g(`)p Fs(\045)p Ft(',)h(it)g(m)m(ust)f(matc)m(h)h(at)g(the)f(end)
-g(of)g(the)h(expanded)e(v)-5 b(alue)35 b(of)630 408 y
-Fq(parameter)p Ft(.)41 b(If)29 b Fq(string)37 b Ft(is)29
-b(n)m(ull,)h(matc)m(hes)h(of)e Fq(pattern)h Ft(are)g(deleted)g(and)f
-(the)g Fs(/)g Ft(follo)m(wing)630 518 y Fq(pattern)34
-b Ft(ma)m(y)g(b)s(e)f(omitted.)51 b(If)33 b Fq(parameter)41
-b Ft(is)33 b(`)p Fs(@)p Ft(')h(or)g(`)p Fs(*)p Ft(',)g(the)g
-(substitution)f(op)s(eration)630 628 y(is)38 b(applied)g(to)g(eac)m(h)h
-(p)s(ositional)g(parameter)f(in)g(turn,)h(and)e(the)h(expansion)g(is)g
-(the)g(re-)630 737 y(sultan)m(t)f(list.)59 b(If)36 b
-Fq(parameter)43 b Ft(is)36 b(an)g(arra)m(y)h(v)-5 b(ariable)37
-b(subscripted)e(with)h(`)p Fs(@)p Ft(')g(or)h(`)p Fs(*)p
-Ft(',)h(the)630 847 y(substitution)30 b(op)s(eration)h(is)f(applied)g
-(to)h(eac)m(h)g(mem)m(b)s(er)f(of)g(the)h(arra)m(y)g(in)f(turn,)f(and)h
-(the)630 956 y(expansion)g(is)h(the)f(resultan)m(t)h(list.)150
-1179 y Fk(3.5.4)63 b(Command)41 b(Substitution)275 1423
-y Ft(Command)29 b(substitution)i(allo)m(ws)h(the)f(output)g(of)g(a)g
-(command)g(to)g(replace)h(the)f(command)g(itself.)150
-1532 y(Command)e(substitution)h(o)s(ccurs)h(when)e(a)i(command)f(is)g
-(enclosed)h(as)g(follo)m(ws:)390 1666 y Fs($\()p Fj(command)11
-b Fs(\))150 1801 y Ft(or)390 1935 y Fs(`)p Fj(command)g
-Fs(`)150 2069 y Ft(Bash)45 b(p)s(erforms)f(the)h(expansion)f(b)m(y)h
-(executing)i Fq(command)h Ft(and)c(replacing)i(the)f(command)g(sub-)150
-2178 y(stitution)c(with)f(the)g(standard)g(output)g(of)g(the)g
+b(Reference)g(Man)m(ual)630 299 y(replaced)j(with)e Fq(string)p
+Ft(.)49 b(If)33 b Fq(pattern)g Ft(b)s(egins)g(with)f(`)p
+Fs(/)p Ft(',)j(all)f(matc)m(hes)g(of)f Fq(pattern)g Ft(are)h(re-)630
+408 y(placed)28 b(with)f Fq(string)p Ft(.)40 b(Normally)28
+b(only)f(the)h(\014rst)e(matc)m(h)j(is)e(replaced.)40
+b(If)27 b Fq(pattern)g Ft(b)s(egins)630 518 y(with)34
+b(`)p Fs(#)p Ft(',)h(it)g(m)m(ust)f(matc)m(h)h(at)f(the)h(b)s(eginning)
+e(of)h(the)g(expanded)f(v)-5 b(alue)35 b(of)f Fq(parameter)p
+Ft(.)630 628 y(If)g Fq(pattern)g Ft(b)s(egins)g(with)g(`)p
+Fs(\045)p Ft(',)h(it)g(m)m(ust)f(matc)m(h)h(at)g(the)f(end)g(of)g(the)h
+(expanded)e(v)-5 b(alue)35 b(of)630 737 y Fq(parameter)p
+Ft(.)41 b(If)29 b Fq(string)37 b Ft(is)29 b(n)m(ull,)h(matc)m(hes)h(of)
+e Fq(pattern)h Ft(are)g(deleted)g(and)f(the)g Fs(/)g
+Ft(follo)m(wing)630 847 y Fq(pattern)34 b Ft(ma)m(y)g(b)s(e)f(omitted.)
+51 b(If)33 b Fq(parameter)41 b Ft(is)33 b(`)p Fs(@)p
+Ft(')h(or)g(`)p Fs(*)p Ft(',)g(the)g(substitution)f(op)s(eration)630
+956 y(is)38 b(applied)g(to)g(eac)m(h)h(p)s(ositional)g(parameter)f(in)g
+(turn,)h(and)e(the)h(expansion)g(is)g(the)g(re-)630 1066
+y(sultan)m(t)f(list.)59 b(If)36 b Fq(parameter)43 b Ft(is)36
+b(an)g(arra)m(y)h(v)-5 b(ariable)37 b(subscripted)e(with)h(`)p
+Fs(@)p Ft(')g(or)h(`)p Fs(*)p Ft(',)h(the)630 1176 y(substitution)30
+b(op)s(eration)h(is)f(applied)g(to)h(eac)m(h)g(mem)m(b)s(er)f(of)g(the)
+h(arra)m(y)g(in)f(turn,)f(and)h(the)630 1285 y(expansion)g(is)h(the)f
+(resultan)m(t)h(list.)150 1439 y Fs(${)p Fj(parameter)11
+b Fs(^)p Fj(pattern)g Fs(})150 1549 y(${)p Fj(parameter)g
+Fs(^^)p Fj(pattern)g Fs(})150 1658 y(${)p Fj(parameter)p
+Fs(,)p Fj(pattern)g Fs(})150 1768 y(${)p Fj(parameter)p
+Fs(,,)p Fj(pattern)g Fs(})630 1878 y Ft(This)36 b(expansion)g(mo)s
+(di\014es)g(the)g(case)i(of)f(alphab)s(etic)g(c)m(haracters)h(in)e
+Fq(parameter)p Ft(.)59 b(The)630 1987 y Fq(pattern)31
+b Ft(is)g(expanded)f(to)h(pro)s(duce)f(a)h(pattern)g(just)f(as)h(in)g
+(pathname)g(expansion.)41 b(The)630 2097 y(`)p Fs(^)p
+Ft(')36 b(op)s(erator)g(con)m(v)m(erts)h(lo)m(w)m(ercase)h(letters)f
+(matc)m(hing)g Fq(pattern)f Ft(to)g(upp)s(ercase;)i(the)e(`)p
+Fs(,)p Ft(')630 2206 y(op)s(erator)g(con)m(v)m(erts)i(matc)m(hing)f
+(upp)s(ercase)e(letters)i(to)g(lo)m(w)m(ercase.)59 b(The)36
+b(`)p Fs(^^)p Ft(')g(and)f(`)p Fs(,,)p Ft(')630 2316
+y(expansions)c(con)m(v)m(ert)i(eac)m(h)g(matc)m(hed)f(c)m(haracter)h
+(in)e(the)h(expanded)f(v)-5 b(alue;)32 b(the)g(`)p Fs(^)p
+Ft(')g(and)630 2426 y(`)p Fs(,)p Ft(')26 b(expansions)f(matc)m(h)h(and)
+f(con)m(v)m(ert)i(only)f(the)g(\014rst)f(c)m(haracter.)40
+b(If)25 b Fq(pattern)h Ft(is)g(omitted,)630 2535 y(it)38
+b(is)f(treated)h(lik)m(e)h(a)e(`)p Fs(?)p Ft(',)i(whic)m(h)e(matc)m
+(hes)i(ev)m(ery)f(c)m(haracter.)62 b(If)37 b Fq(parameter)44
+b Ft(is)38 b(`)p Fs(@)p Ft(')f(or)630 2645 y(`)p Fs(*)p
+Ft(',)e(the)e(case)i(mo)s(di\014cation)f(op)s(eration)f(is)h(applied)f
+(to)h(eac)m(h)h(p)s(ositional)f(parameter)g(in)630 2754
+y(turn,)d(and)g(the)h(expansion)g(is)g(the)g(resultan)m(t)g(list.)45
+b(If)32 b Fq(parameter)38 b Ft(is)32 b(an)g(arra)m(y)g(v)-5
+b(ariable)630 2864 y(subscripted)34 b(with)i(`)p Fs(@)p
+Ft(')g(or)f(`)p Fs(*)p Ft(',)j(the)d(case)i(mo)s(di\014cation)f(op)s
+(eration)g(is)g(applied)f(to)i(eac)m(h)630 2973 y(mem)m(b)s(er)30
+b(of)g(the)h(arra)m(y)g(in)f(turn,)f(and)h(the)h(expansion)f(is)g(the)h
+(resultan)m(t)g(list.)150 3190 y Fk(3.5.4)63 b(Command)41
+b(Substitution)275 3431 y Ft(Command)29 b(substitution)i(allo)m(ws)h
+(the)f(output)g(of)g(a)g(command)g(to)g(replace)h(the)f(command)g
+(itself.)150 3541 y(Command)e(substitution)h(o)s(ccurs)h(when)e(a)i
+(command)f(is)g(enclosed)h(as)g(follo)m(ws:)390 3672
+y Fs($\()p Fj(command)11 b Fs(\))150 3804 y Ft(or)390
+3936 y Fs(`)p Fj(command)g Fs(`)150 4068 y Ft(Bash)45
+b(p)s(erforms)f(the)h(expansion)f(b)m(y)h(executing)i
+Fq(command)h Ft(and)c(replacing)i(the)f(command)g(sub-)150
+4177 y(stitution)c(with)f(the)g(standard)g(output)g(of)g(the)g
 (command,)j(with)d(an)m(y)h(trailing)g(newlines)f(deleted.)150
-2288 y(Em)m(b)s(edded)30 b(newlines)h(are)h(not)f(deleted,)i(but)e
+4287 y(Em)m(b)s(edded)30 b(newlines)h(are)h(not)f(deleted,)i(but)e
 (they)g(ma)m(y)h(b)s(e)f(remo)m(v)m(ed)i(during)d(w)m(ord)h(splitting.)
-44 b(The)150 2397 y(command)21 b(substitution)g Fs($\(cat)29
+44 b(The)150 4397 y(command)21 b(substitution)g Fs($\(cat)29
 b Fj(file)11 b Fs(\))20 b Ft(can)i(b)s(e)f(replaced)g(b)m(y)h(the)g
 (equiv)-5 b(alen)m(t)22 b(but)f(faster)h Fs($\(<)30 b
-Fj(file)11 b Fs(\))p Ft(.)275 2531 y(When)33 b(the)i(old-st)m(yle)h
+Fj(file)11 b Fs(\))p Ft(.)275 4528 y(When)33 b(the)i(old-st)m(yle)h
 (bac)m(kquote)f(form)f(of)g(substitution)g(is)g(used,)h(bac)m(kslash)f
-(retains)h(its)f(literal)150 2641 y(meaning)k(except)h(when)e(follo)m
+(retains)h(its)f(literal)150 4638 y(meaning)k(except)h(when)e(follo)m
 (w)m(ed)j(b)m(y)e(`)p Fs($)p Ft(',)j(`)p Fs(`)p Ft(',)f(or)e(`)p
 Fs(\\)p Ft('.)64 b(The)38 b(\014rst)f(bac)m(kquote)j(not)e(preceded)g
-(b)m(y)g(a)150 2751 y(bac)m(kslash)j(terminates)g(the)f(command)g
+(b)m(y)g(a)150 4748 y(bac)m(kslash)j(terminates)g(the)f(command)g
 (substitution.)69 b(When)40 b(using)g(the)g Fs($\()p
-Fj(command)11 b Fs(\))37 b Ft(form,)42 b(all)150 2860
+Fj(command)11 b Fs(\))37 b Ft(form,)42 b(all)150 4857
 y(c)m(haracters)32 b(b)s(et)m(w)m(een)f(the)f(paren)m(theses)h(mak)m(e)
 g(up)f(the)g(command;)h(none)f(are)h(treated)g(sp)s(ecially)-8
-b(.)275 2994 y(Command)22 b(substitutions)g(ma)m(y)i(b)s(e)e(nested.)39
+b(.)275 4989 y(Command)22 b(substitutions)g(ma)m(y)i(b)s(e)e(nested.)39
 b(T)-8 b(o)23 b(nest)g(when)f(using)h(the)g(bac)m(kquoted)h(form,)g
-(escap)s(e)150 3104 y(the)31 b(inner)e(bac)m(kquotes)j(with)e(bac)m
-(kslashes.)275 3238 y(If)e(the)i(substitution)e(app)s(ears)h(within)g
+(escap)s(e)150 5099 y(the)31 b(inner)e(bac)m(kquotes)j(with)e(bac)m
+(kslashes.)275 5230 y(If)e(the)i(substitution)e(app)s(ears)h(within)g
 (double)f(quotes,)i(w)m(ord)f(splitting)h(and)f(\014lename)g(expansion)
-150 3347 y(are)i(not)f(p)s(erformed)f(on)h(the)h(results.)150
-3570 y Fk(3.5.5)63 b(Arithmetic)40 b(Expansion)275 3814
-y Ft(Arithmetic)33 b(expansion)f(allo)m(ws)i(the)e(ev)-5
-b(aluation)34 b(of)f(an)f(arithmetic)i(expression)e(and)g(the)g
-(substi-)150 3923 y(tution)f(of)f(the)h(result.)40 b(The)30
-b(format)h(for)f(arithmetic)i(expansion)e(is:)390 4058
-y Fs($\(\()47 b Fj(expression)55 b Fs(\)\))275 4192 y
-Ft(The)33 b(expression)g(is)h(treated)g(as)g(if)g(it)g(w)m(ere)g
-(within)f(double)h(quotes,)h(but)e(a)h(double)f(quote)h(inside)150
-4301 y(the)27 b(paren)m(theses)g(is)g(not)g(treated)h(sp)s(ecially)-8
-b(.)41 b(All)27 b(tok)m(ens)h(in)e(the)h(expression)g(undergo)f
-(parameter)h(ex-)150 4411 y(pansion,)h(command)f(substitution,)h(and)f
-(quote)i(remo)m(v)-5 b(al.)41 b(Arithmetic)28 b(expansions)g(ma)m(y)g
-(b)s(e)f(nested.)275 4545 y(The)34 b(ev)-5 b(aluation)37
-b(is)f(p)s(erformed)e(according)i(to)g(the)g(rules)f(listed)h(b)s(elo)m
-(w)g(\(see)g(Section)g(6.5)h([Shell)150 4654 y(Arithmetic],)32
-b(page)f(76\).)42 b(If)30 b(the)h(expression)f(is)g(in)m(v)-5
-b(alid,)32 b(Bash)e(prin)m(ts)g(a)h(message)g(indicating)h(failure)150
-4764 y(to)f(the)g(standard)e(error)h(and)g(no)g(substitution)g(o)s
-(ccurs.)150 4987 y Fk(3.5.6)63 b(Pro)s(cess)42 b(Substitution)275
-5230 y Ft(Pro)s(cess)33 b(substitution)h(is)g(supp)s(orted)e(on)h
-(systems)h(that)h(supp)s(ort)d(named)h(pip)s(es)g(\()p
-Fl(fif)n(o)p Ft(s\))h(or)g(the)150 5340 y(`)p Fs(/dev/fd)p
-Ft(')29 b(metho)s(d)h(of)g(naming)g(op)s(en)g(\014les.)41
-b(It)30 b(tak)m(es)i(the)f(form)f(of)p eop end
+150 5340 y(are)i(not)f(p)s(erformed)f(on)h(the)h(results.)p
+eop end
 %%Page: 23 29
 TeXDict begin 23 28 bop 150 -116 a Ft(Chapter)30 b(3:)41
-b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(23)390 299
-y Fs(<\()p Fj(list)11 b Fs(\))150 431 y Ft(or)390 563
-y Fs(>\()p Fj(list)g Fs(\))150 695 y Ft(The)23 b(pro)s(cess)g
-Fq(list)j Ft(is)d(run)f(with)h(its)h(input)f(or)g(output)g(connected)h
-(to)h(a)e Fl(fif)n(o)g Ft(or)h(some)g(\014le)f(in)g(`)p
-Fs(/dev/fd)p Ft('.)150 804 y(The)28 b(name)h(of)g(this)f(\014le)h(is)g
-(passed)f(as)h(an)f(argumen)m(t)h(to)h(the)f(curren)m(t)f(command)h(as)
-f(the)h(result)g(of)g(the)150 914 y(expansion.)40 b(If)28
-b(the)h Fs(>\()p Fj(list)11 b Fs(\))26 b Ft(form)i(is)h(used,)f
+b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(23)150 299
+y Fk(3.5.5)63 b(Arithmetic)40 b(Expansion)275 551 y Ft(Arithmetic)33
+b(expansion)f(allo)m(ws)i(the)e(ev)-5 b(aluation)34 b(of)f(an)f
+(arithmetic)i(expression)e(and)g(the)g(substi-)150 661
+y(tution)f(of)f(the)h(result.)40 b(The)30 b(format)h(for)f(arithmetic)i
+(expansion)e(is:)390 803 y Fs($\(\()47 b Fj(expression)55
+b Fs(\)\))275 946 y Ft(The)33 b(expression)g(is)h(treated)g(as)g(if)g
+(it)g(w)m(ere)g(within)f(double)h(quotes,)h(but)e(a)h(double)f(quote)h
+(inside)150 1055 y(the)27 b(paren)m(theses)g(is)g(not)g(treated)h(sp)s
+(ecially)-8 b(.)41 b(All)27 b(tok)m(ens)h(in)e(the)h(expression)g
+(undergo)f(parameter)h(ex-)150 1165 y(pansion,)h(command)f
+(substitution,)h(and)f(quote)i(remo)m(v)-5 b(al.)41 b(Arithmetic)28
+b(expansions)g(ma)m(y)g(b)s(e)f(nested.)275 1308 y(The)34
+b(ev)-5 b(aluation)37 b(is)f(p)s(erformed)e(according)i(to)g(the)g
+(rules)f(listed)h(b)s(elo)m(w)g(\(see)g(Section)g(6.5)h([Shell)150
+1417 y(Arithmetic],)32 b(page)f(76\).)42 b(If)30 b(the)h(expression)f
+(is)g(in)m(v)-5 b(alid,)32 b(Bash)e(prin)m(ts)g(a)h(message)g
+(indicating)h(failure)150 1527 y(to)f(the)g(standard)e(error)h(and)g
+(no)g(substitution)g(o)s(ccurs.)150 1767 y Fk(3.5.6)63
+b(Pro)s(cess)42 b(Substitution)275 2019 y Ft(Pro)s(cess)33
+b(substitution)h(is)g(supp)s(orted)e(on)h(systems)h(that)h(supp)s(ort)d
+(named)h(pip)s(es)g(\()p Fl(fif)n(o)p Ft(s\))h(or)g(the)150
+2129 y(`)p Fs(/dev/fd)p Ft(')29 b(metho)s(d)h(of)g(naming)g(op)s(en)g
+(\014les.)41 b(It)30 b(tak)m(es)i(the)f(form)f(of)390
+2271 y Fs(<\()p Fj(list)11 b Fs(\))150 2414 y Ft(or)390
+2557 y Fs(>\()p Fj(list)g Fs(\))150 2699 y Ft(The)23
+b(pro)s(cess)g Fq(list)j Ft(is)d(run)f(with)h(its)h(input)f(or)g
+(output)g(connected)h(to)h(a)e Fl(fif)n(o)g Ft(or)h(some)g(\014le)f(in)
+g(`)p Fs(/dev/fd)p Ft('.)150 2809 y(The)28 b(name)h(of)g(this)f(\014le)
+h(is)g(passed)f(as)h(an)f(argumen)m(t)h(to)h(the)f(curren)m(t)f
+(command)h(as)f(the)h(result)g(of)g(the)150 2918 y(expansion.)40
+b(If)28 b(the)h Fs(>\()p Fj(list)11 b Fs(\))26 b Ft(form)i(is)h(used,)f
 (writing)h(to)g(the)g(\014le)f(will)h(pro)m(vide)g(input)f(for)g
-Fq(list)p Ft(.)41 b(If)28 b(the)150 1024 y Fs(<\()p Fj(list)11
+Fq(list)p Ft(.)41 b(If)28 b(the)150 3028 y Fs(<\()p Fj(list)11
 b Fs(\))23 b Ft(form)h(is)i(used,)f(the)h(\014le)f(passed)g(as)g(an)g
 (argumen)m(t)h(should)e(b)s(e)h(read)g(to)h(obtain)g(the)f(output)g(of)
-150 1133 y Fq(list)p Ft(.)41 b(Note)31 b(that)f(no)g(space)g(ma)m(y)g
+150 3138 y Fq(list)p Ft(.)41 b(Note)31 b(that)f(no)g(space)g(ma)m(y)g
 (app)s(ear)f(b)s(et)m(w)m(een)h(the)g Fs(<)f Ft(or)h
 Fs(>)f Ft(and)g(the)h(left)g(paren)m(thesis,)h(otherwise)150
-1243 y(the)g(construct)f(w)m(ould)g(b)s(e)g(in)m(terpreted)h(as)f(a)h
-(redirection.)275 1375 y(When)36 b(a)m(v)-5 b(ailable,)40
+3247 y(the)g(construct)f(w)m(ould)g(b)s(e)g(in)m(terpreted)h(as)f(a)h
+(redirection.)275 3390 y(When)36 b(a)m(v)-5 b(ailable,)40
 b(pro)s(cess)c(substitution)h(is)f(p)s(erformed)f(sim)m(ultaneously)i
-(with)g(parameter)g(and)150 1484 y(v)-5 b(ariable)31
+(with)g(parameter)g(and)150 3499 y(v)-5 b(ariable)31
 b(expansion,)g(command)f(substitution,)g(and)g(arithmetic)i(expansion.)
-150 1701 y Fk(3.5.7)63 b(W)-10 b(ord)41 b(Splitting)275
-1943 y Ft(The)35 b(shell)i(scans)f(the)g(results)g(of)g(parameter)h
+150 3740 y Fk(3.5.7)63 b(W)-10 b(ord)41 b(Splitting)275
+3992 y Ft(The)35 b(shell)i(scans)f(the)g(results)g(of)g(parameter)h
 (expansion,)h(command)d(substitution,)j(and)e(arith-)150
-2052 y(metic)31 b(expansion)g(that)g(did)e(not)i(o)s(ccur)f(within)g
-(double)g(quotes)h(for)f(w)m(ord)g(splitting.)275 2184
+4101 y(metic)31 b(expansion)g(that)g(did)e(not)i(o)s(ccur)f(within)g
+(double)g(quotes)h(for)f(w)m(ord)g(splitting.)275 4244
 y(The)43 b(shell)h(treats)h(eac)m(h)h(c)m(haracter)f(of)g
 Fs($IFS)e Ft(as)h(a)g(delimiter,)49 b(and)43 b(splits)h(the)h(results)e
-(of)i(the)150 2294 y(other)40 b(expansions)f(in)m(to)i(w)m(ords)e(on)h
+(of)i(the)150 4354 y(other)40 b(expansions)f(in)m(to)i(w)m(ords)e(on)h
 (these)g(c)m(haracters.)70 b(If)39 b Fs(IFS)g Ft(is)h(unset,)i(or)d
-(its)h(v)-5 b(alue)40 b(is)g(exactly)150 2403 y Fs
+(its)h(v)-5 b(alue)40 b(is)g(exactly)150 4463 y Fs
 (<space><tab><newline>)p Ft(,)26 b(the)32 b(default,)g(then)f
 (sequences)h(of)62 b Fs(<space>)p Ft(,)30 b Fs(<tab>)p
-Ft(,)h(and)f Fs(<newline>)150 2513 y Ft(at)39 b(the)f(b)s(eginning)g
+Ft(,)h(and)f Fs(<newline>)150 4573 y Ft(at)39 b(the)f(b)s(eginning)g
 (and)f(end)h(of)g(the)h(results)f(of)g(the)g(previous)g(expansions)g
-(are)g(ignored,)j(and)d(an)m(y)150 2623 y(sequence)31
+(are)g(ignored,)j(and)d(an)m(y)150 4682 y(sequence)31
 b(of)g Fs(IFS)f Ft(c)m(haracters)j(not)e(at)g(the)g(b)s(eginning)g(or)f
 (end)h(serv)m(es)g(to)h(delimit)f(w)m(ords.)42 b(If)30
-b Fs(IFS)g Ft(has)150 2732 y(a)g(v)-5 b(alue)30 b(other)g(than)g(the)g
+b Fs(IFS)g Ft(has)150 4792 y(a)g(v)-5 b(alue)30 b(other)g(than)g(the)g
 (default,)g(then)f(sequences)h(of)g(the)g(whitespace)g(c)m(haracters)h
-Fs(space)e Ft(and)g Fs(tab)150 2842 y Ft(are)36 b(ignored)g(at)g(the)g
+Fs(space)e Ft(and)g Fs(tab)150 4902 y Ft(are)36 b(ignored)g(at)g(the)g
 (b)s(eginning)f(and)g(end)g(of)h(the)g(w)m(ord,)h(as)f(long)g(as)g(the)
-g(whitespace)h(c)m(haracter)g(is)150 2951 y(in)f(the)g(v)-5
+g(whitespace)h(c)m(haracter)g(is)150 5011 y(in)f(the)g(v)-5
 b(alue)36 b(of)g Fs(IFS)f Ft(\(an)h Fs(IFS)f Ft(whitespace)h(c)m
 (haracter\).)60 b(An)m(y)35 b(c)m(haracter)j(in)d Fs(IFS)g
-Ft(that)i(is)f(not)g Fs(IFS)150 3061 y Ft(whitespace,)27
+Ft(that)i(is)f(not)g Fs(IFS)150 5121 y Ft(whitespace,)27
 b(along)f(with)f(an)m(y)g(adjacen)m(t)h Fs(IFS)e Ft(whitespace)i(c)m
 (haracters,)i(delimits)e(a)f(\014eld.)38 b(A)26 b(sequence)150
-3171 y(of)35 b Fs(IFS)f Ft(whitespace)h(c)m(haracters)i(is)d(also)i
+5230 y(of)35 b Fs(IFS)f Ft(whitespace)h(c)m(haracters)i(is)d(also)i
 (treated)g(as)f(a)g(delimiter.)55 b(If)34 b(the)h(v)-5
-b(alue)35 b(of)g Fs(IFS)f Ft(is)h(n)m(ull,)h(no)150 3280
-y(w)m(ord)30 b(splitting)h(o)s(ccurs.)275 3412 y(Explicit)44
-b(n)m(ull)f(argumen)m(ts)g(\()p Fs("")g Ft(or)h Fs('')p
-Ft(\))f(are)g(retained.)80 b(Unquoted)43 b(implicit)h(n)m(ull)f
-(argumen)m(ts,)150 3522 y(resulting)24 b(from)f(the)g(expansion)g(of)h
-(parameters)g(that)g(ha)m(v)m(e)h(no)e(v)-5 b(alues,)25
-b(are)f(remo)m(v)m(ed.)40 b(If)23 b(a)g(parameter)150
-3631 y(with)30 b(no)g(v)-5 b(alue)31 b(is)g(expanded)e(within)h(double)
-g(quotes,)h(a)g(n)m(ull)f(argumen)m(t)h(results)f(and)g(is)g(retained.)
-275 3763 y(Note)h(that)g(if)g(no)f(expansion)g(o)s(ccurs,)g(no)h
-(splitting)g(is)f(p)s(erformed.)150 3980 y Fk(3.5.8)63
-b(Filename)41 b(Expansion)275 4222 y Ft(After)h(w)m(ord)g(splitting,)k
-(unless)c(the)g(`)p Fs(-f)p Ft(')g(option)h(has)f(b)s(een)g(set)g
-(\(see)i(Section)f(4.3.1)h([The)e(Set)150 4331 y(Builtin],)48
-b(page)c(50\),)k(Bash)43 b(scans)h(eac)m(h)g(w)m(ord)f(for)g(the)h(c)m
-(haracters)h(`)p Fs(*)p Ft(',)i(`)p Fs(?)p Ft(',)g(and)42
-b(`)p Fs([)p Ft('.)80 b(If)43 b(one)h(of)150 4441 y(these)d(c)m
-(haracters)g(app)s(ears,)i(then)d(the)g(w)m(ord)g(is)g(regarded)g(as)h
-(a)g Fq(pattern)p Ft(,)i(and)c(replaced)i(with)f(an)150
-4550 y(alphab)s(etically)h(sorted)f(list)g(of)g(\014le)g(names)g(matc)m
+b(alue)35 b(of)g Fs(IFS)f Ft(is)h(n)m(ull,)h(no)150 5340
+y(w)m(ord)30 b(splitting)h(o)s(ccurs.)p eop end
+%%Page: 24 30
+TeXDict begin 24 29 bop 150 -116 a Ft(24)2572 b(Bash)31
+b(Reference)g(Man)m(ual)275 299 y(Explicit)44 b(n)m(ull)f(argumen)m(ts)
+g(\()p Fs("")g Ft(or)h Fs('')p Ft(\))f(are)g(retained.)80
+b(Unquoted)43 b(implicit)h(n)m(ull)f(argumen)m(ts,)150
+408 y(resulting)24 b(from)f(the)g(expansion)g(of)h(parameters)g(that)g
+(ha)m(v)m(e)h(no)e(v)-5 b(alues,)25 b(are)f(remo)m(v)m(ed.)40
+b(If)23 b(a)g(parameter)150 518 y(with)30 b(no)g(v)-5
+b(alue)31 b(is)g(expanded)e(within)h(double)g(quotes,)h(a)g(n)m(ull)f
+(argumen)m(t)h(results)f(and)g(is)g(retained.)275 656
+y(Note)h(that)g(if)g(no)f(expansion)g(o)s(ccurs,)g(no)h(splitting)g(is)
+f(p)s(erformed.)150 887 y Fk(3.5.8)63 b(Filename)41 b(Expansion)275
+1134 y Ft(After)h(w)m(ord)g(splitting,)k(unless)c(the)g(`)p
+Fs(-f)p Ft(')g(option)h(has)f(b)s(een)g(set)g(\(see)i(Section)f(4.3.1)h
+([The)e(Set)150 1244 y(Builtin],)48 b(page)c(50\),)k(Bash)43
+b(scans)h(eac)m(h)g(w)m(ord)f(for)g(the)h(c)m(haracters)h(`)p
+Fs(*)p Ft(',)i(`)p Fs(?)p Ft(',)g(and)42 b(`)p Fs([)p
+Ft('.)80 b(If)43 b(one)h(of)150 1353 y(these)d(c)m(haracters)g(app)s
+(ears,)i(then)d(the)g(w)m(ord)g(is)g(regarded)g(as)h(a)g
+Fq(pattern)p Ft(,)i(and)c(replaced)i(with)f(an)150 1463
+y(alphab)s(etically)h(sorted)f(list)g(of)g(\014le)g(names)g(matc)m
 (hing)h(the)f(pattern.)68 b(If)40 b(no)f(matc)m(hing)i(\014le)f(names)
-150 4660 y(are)e(found,)g(and)f(the)h(shell)f(option)h
+150 1572 y(are)e(found,)g(and)f(the)h(shell)f(option)h
 Fs(nullglob)e Ft(is)h(disabled,)i(the)f(w)m(ord)f(is)h(left)g(unc)m
-(hanged.)62 b(If)37 b(the)150 4770 y Fs(nullglob)32 b
+(hanged.)62 b(If)37 b(the)150 1682 y Fs(nullglob)32 b
 Ft(option)i(is)g(set,)h(and)f(no)f(matc)m(hes)i(are)g(found,)e(the)h(w)
 m(ord)g(is)g(remo)m(v)m(ed.)52 b(If)33 b(the)h Fs(failglob)150
-4879 y Ft(shell)27 b(option)g(is)g(set,)h(and)e(no)g(matc)m(hes)i(are)f
+1792 y Ft(shell)27 b(option)g(is)g(set,)h(and)e(no)g(matc)m(hes)i(are)f
 (found,)f(an)h(error)f(message)i(is)e(prin)m(ted)g(and)g(the)h(command)
-150 4989 y(is)h(not)h(executed.)41 b(If)28 b(the)g(shell)h(option)g
+150 1901 y(is)h(not)h(executed.)41 b(If)28 b(the)g(shell)h(option)g
 Fs(nocaseglob)c Ft(is)k(enabled,)g(the)f(matc)m(h)i(is)e(p)s(erformed)f
-(without)150 5098 y(regard)j(to)h(the)g(case)g(of)g(alphab)s(etic)g(c)m
-(haracters.)275 5230 y(When)21 b(a)i(pattern)f(is)g(used)g(for)f
+(without)150 2011 y(regard)j(to)h(the)g(case)g(of)g(alphab)s(etic)g(c)m
+(haracters.)275 2149 y(When)21 b(a)i(pattern)f(is)g(used)g(for)f
 (\014lename)i(generation,)i(the)d(c)m(haracter)i(`)p
 Fs(.)p Ft(')e(at)h(the)f(start)h(of)f(a)h(\014lename)150
-5340 y(or)g(immediately)i(follo)m(wing)g(a)f(slash)f(m)m(ust)h(b)s(e)f
+2258 y(or)g(immediately)i(follo)m(wing)g(a)f(slash)f(m)m(ust)h(b)s(e)f
 (matc)m(hed)h(explicitly)-8 b(,)27 b(unless)c(the)g(shell)h(option)g
-Fs(dotglob)p eop end
-%%Page: 24 30
-TeXDict begin 24 29 bop 150 -116 a Ft(24)2572 b(Bash)31
-b(Reference)g(Man)m(ual)150 299 y(is)g(set.)45 b(When)31
-b(matc)m(hing)h(a)g(\014le)f(name,)h(the)g(slash)f(c)m(haracter)i(m)m
-(ust)e(alw)m(a)m(ys)i(b)s(e)e(matc)m(hed)h(explicitly)-8
-b(.)150 408 y(In)30 b(other)g(cases,)i(the)e(`)p Fs(.)p
-Ft(')h(c)m(haracter)h(is)e(not)h(treated)g(sp)s(ecially)-8
-b(.)275 556 y(See)28 b(the)g(description)g(of)g Fs(shopt)e
-Ft(in)i(Section)g(4.3.2)i([The)e(Shopt)f(Builtin],)i(page)g(54,)g(for)f
-(a)g(descrip-)150 665 y(tion)j(of)f(the)h Fs(nocaseglob)p
-Ft(,)d Fs(nullglob)p Ft(,)g Fs(failglob)p Ft(,)h(and)g
-Fs(dotglob)g Ft(options.)275 813 y(The)j Fs(GLOBIGNORE)f
-Ft(shell)i(v)-5 b(ariable)34 b(ma)m(y)g(b)s(e)f(used)f(to)i(restrict)g
-(the)g(set)f(of)h(\014lenames)f(matc)m(hing)i(a)150 922
-y(pattern.)k(If)25 b Fs(GLOBIGNORE)e Ft(is)j(set,)h(eac)m(h)g(matc)m
-(hing)g(\014lename)f(that)g(also)h(matc)m(hes)f(one)g(of)g(the)g
-(patterns)150 1032 y(in)33 b Fs(GLOBIGNORE)d Ft(is)j(remo)m(v)m(ed)h
+Fs(dotglob)150 2368 y Ft(is)31 b(set.)45 b(When)31 b(matc)m(hing)h(a)g
+(\014le)f(name,)h(the)g(slash)f(c)m(haracter)i(m)m(ust)e(alw)m(a)m(ys)i
+(b)s(e)e(matc)m(hed)h(explicitly)-8 b(.)150 2477 y(In)30
+b(other)g(cases,)i(the)e(`)p Fs(.)p Ft(')h(c)m(haracter)h(is)e(not)h
+(treated)g(sp)s(ecially)-8 b(.)275 2615 y(See)28 b(the)g(description)g
+(of)g Fs(shopt)e Ft(in)i(Section)g(4.3.2)i([The)e(Shopt)f(Builtin],)i
+(page)g(54,)g(for)f(a)g(descrip-)150 2725 y(tion)j(of)f(the)h
+Fs(nocaseglob)p Ft(,)d Fs(nullglob)p Ft(,)g Fs(failglob)p
+Ft(,)h(and)g Fs(dotglob)g Ft(options.)275 2863 y(The)j
+Fs(GLOBIGNORE)f Ft(shell)i(v)-5 b(ariable)34 b(ma)m(y)g(b)s(e)f(used)f
+(to)i(restrict)g(the)g(set)f(of)h(\014lenames)f(matc)m(hing)i(a)150
+2972 y(pattern.)k(If)25 b Fs(GLOBIGNORE)e Ft(is)j(set,)h(eac)m(h)g
+(matc)m(hing)g(\014lename)f(that)g(also)h(matc)m(hes)f(one)g(of)g(the)g
+(patterns)150 3082 y(in)33 b Fs(GLOBIGNORE)d Ft(is)j(remo)m(v)m(ed)h
 (from)e(the)i(list)f(of)g(matc)m(hes.)50 b(The)33 b(\014lenames)g(`)p
 Fs(.)p Ft(')g(and)f(`)p Fs(..)p Ft(')h(are)g(alw)m(a)m(ys)150
-1141 y(ignored)g(when)e Fs(GLOBIGNORE)f Ft(is)j(set)g(and)f(not)h(n)m
+3191 y(ignored)g(when)e Fs(GLOBIGNORE)f Ft(is)j(set)g(and)f(not)h(n)m
 (ull.)48 b(Ho)m(w)m(ev)m(er,)35 b(setting)f Fs(GLOBIGNORE)c
-Ft(to)j(a)g(non-n)m(ull)150 1251 y(v)-5 b(alue)34 b(has)f(the)h
+Ft(to)j(a)g(non-n)m(ull)150 3301 y(v)-5 b(alue)34 b(has)f(the)h
 (e\013ect)h(of)f(enabling)g(the)g Fs(dotglob)e Ft(shell)h(option,)j(so)
-e(all)g(other)g(\014lenames)g(b)s(eginning)150 1361 y(with)43
+e(all)g(other)g(\014lenames)g(b)s(eginning)150 3411 y(with)43
 b(a)h(`)p Fs(.)p Ft(')f(will)h(matc)m(h.)80 b(T)-8 b(o)44
 b(get)h(the)e(old)h(b)s(eha)m(vior)f(of)h(ignoring)f(\014lenames)h(b)s
-(eginning)f(with)g(a)150 1470 y(`)p Fs(.)p Ft(',)c(mak)m(e)g(`)p
+(eginning)f(with)g(a)150 3520 y(`)p Fs(.)p Ft(',)c(mak)m(e)g(`)p
 Fs(.*)p Ft(')e(one)g(of)g(the)h(patterns)f(in)g Fs(GLOBIGNORE)p
 Ft(.)58 b(The)37 b Fs(dotglob)e Ft(option)j(is)f(disabled)g(when)150
-1580 y Fs(GLOBIGNORE)28 b Ft(is)i(unset.)150 1830 y Fk(3.5.8.1)63
-b(P)m(attern)40 b(Matc)m(hing)275 2086 y Ft(An)m(y)33
+3630 y Fs(GLOBIGNORE)28 b Ft(is)i(unset.)150 3861 y Fk(3.5.8.1)63
+b(P)m(attern)40 b(Matc)m(hing)275 4108 y Ft(An)m(y)33
 b(c)m(haracter)i(that)f(app)s(ears)f(in)g(a)h(pattern,)g(other)g(than)f
 (the)g(sp)s(ecial)h(pattern)g(c)m(haracters)h(de-)150
-2196 y(scrib)s(ed)30 b(b)s(elo)m(w,)h(matc)m(hes)h(itself.)43
+4218 y(scrib)s(ed)30 b(b)s(elo)m(w,)h(matc)m(hes)h(itself.)43
 b(The)31 b Fl(nul)f Ft(c)m(haracter)i(ma)m(y)f(not)h(o)s(ccur)e(in)h(a)
-g(pattern.)42 b(A)31 b(bac)m(kslash)150 2306 y(escap)s(es)36
+g(pattern.)42 b(A)31 b(bac)m(kslash)150 4327 y(escap)s(es)36
 b(the)f(follo)m(wing)i(c)m(haracter;)j(the)c(escaping)g(bac)m(kslash)g
-(is)f(discarded)g(when)g(matc)m(hing.)56 b(The)150 2415
+(is)f(discarded)g(when)g(matc)m(hing.)56 b(The)150 4437
 y(sp)s(ecial)31 b(pattern)f(c)m(haracters)i(m)m(ust)f(b)s(e)e(quoted)i
 (if)f(they)h(are)f(to)i(b)s(e)d(matc)m(hed)i(literally)-8
-b(.)275 2563 y(The)29 b(sp)s(ecial)i(pattern)g(c)m(haracters)h(ha)m(v)m
-(e)f(the)g(follo)m(wing)h(meanings:)150 2741 y Fs(*)432
+b(.)275 4575 y(The)29 b(sp)s(ecial)i(pattern)g(c)m(haracters)h(ha)m(v)m
+(e)f(the)g(follo)m(wing)h(meanings:)150 4739 y Fs(*)432
 b Ft(Matc)m(hes)31 b(an)m(y)e(string,)h(including)f(the)g(n)m(ull)g
 (string.)41 b(When)29 b(the)g Fs(globstar)e Ft(shell)i(option)630
-2851 y(is)37 b(enabled,)h(and)e(`)p Fs(*)p Ft(')h(is)g(used)f(in)g(a)h
+4848 y(is)37 b(enabled,)h(and)e(`)p Fs(*)p Ft(')h(is)g(used)f(in)g(a)h
 (\014lename)g(expansion)g(con)m(text,)j(t)m(w)m(o)e(adjacen)m(t)g(`)p
-Fs(*)p Ft('s)630 2960 y(used)f(as)g(a)h(single)g(pattern)g(will)f(matc)
+Fs(*)p Ft('s)630 4958 y(used)f(as)g(a)h(single)g(pattern)g(will)f(matc)
 m(h)i(all)f(\014les)f(and)g(zero)h(or)g(more)f(directories)i(and)630
-3070 y(sub)s(directories.)g(If)25 b(follo)m(w)m(ed)j(b)m(y)e(a)g(`)p
+5068 y(sub)s(directories.)g(If)25 b(follo)m(w)m(ed)j(b)m(y)e(a)g(`)p
 Fs(/)p Ft(',)h(t)m(w)m(o)g(adjacen)m(t)h(`)p Fs(*)p Ft('s)e(will)g
-(matc)m(h)h(only)f(directories)630 3180 y(and)k(sub)s(directories.)150
-3352 y Fs(?)432 b Ft(Matc)m(hes)32 b(an)m(y)f(single)g(c)m(haracter.)
-150 3524 y Fs([...)o(])241 b Ft(Matc)m(hes)27 b(an)m(y)e(one)g(of)g
-(the)g(enclosed)g(c)m(haracters.)41 b(A)25 b(pair)f(of)h(c)m(haracters)
-i(separated)e(b)m(y)g(a)630 3634 y(h)m(yphen)i(denotes)h(a)g
+(matc)m(h)h(only)f(directories)630 5177 y(and)k(sub)s(directories.)150
+5340 y Fs(?)432 b Ft(Matc)m(hes)32 b(an)m(y)f(single)g(c)m(haracter.)p
+eop end
+%%Page: 25 31
+TeXDict begin 25 30 bop 150 -116 a Ft(Chapter)30 b(3:)41
+b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(25)150 299
+y Fs([...)o(])241 b Ft(Matc)m(hes)27 b(an)m(y)e(one)g(of)g(the)g
+(enclosed)g(c)m(haracters.)41 b(A)25 b(pair)f(of)h(c)m(haracters)i
+(separated)e(b)m(y)g(a)630 408 y(h)m(yphen)i(denotes)h(a)g
 Fq(range)g(expression)p Ft(;)g(an)m(y)h(c)m(haracter)g(that)f(sorts)g
-(b)s(et)m(w)m(een)g(those)h(t)m(w)m(o)630 3743 y(c)m(haracters,)f
+(b)s(et)m(w)m(een)g(those)h(t)m(w)m(o)630 518 y(c)m(haracters,)f
 (inclusiv)m(e,)f(using)d(the)h(curren)m(t)f(lo)s(cale's)j(collating)g
-(sequence)e(and)f(c)m(haracter)630 3853 y(set,)31 b(is)f(matc)m(hed.)42
+(sequence)e(and)f(c)m(haracter)630 628 y(set,)31 b(is)f(matc)m(hed.)42
 b(If)30 b(the)g(\014rst)g(c)m(haracter)i(follo)m(wing)g(the)e(`)p
 Fs([)p Ft(')h(is)f(a)h(`)p Fs(!)p Ft(')f(or)g(a)h(`)p
-Fs(^)p Ft(')g(then)f(an)m(y)630 3962 y(c)m(haracter)c(not)f(enclosed)g
+Fs(^)p Ft(')g(then)f(an)m(y)630 737 y(c)m(haracter)c(not)f(enclosed)g
 (is)g(matc)m(hed.)40 b(A)25 b(`)p Fp(\000)p Ft(')f(ma)m(y)i(b)s(e)e
-(matc)m(hed)h(b)m(y)f(including)h(it)g(as)g(the)630 4072
+(matc)m(hed)h(b)m(y)f(including)h(it)g(as)g(the)630 847
 y(\014rst)32 b(or)h(last)h(c)m(haracter)h(in)e(the)g(set.)50
 b(A)33 b(`)p Fs(])p Ft(')g(ma)m(y)h(b)s(e)e(matc)m(hed)i(b)m(y)f
-(including)g(it)g(as)h(the)630 4181 y(\014rst)25 b(c)m(haracter)i(in)e
+(including)g(it)g(as)h(the)630 956 y(\014rst)25 b(c)m(haracter)i(in)e
 (the)h(set.)40 b(The)25 b(sorting)h(order)f(of)h(c)m(haracters)h(in)f
-(range)g(expressions)f(is)630 4291 y(determined)e(b)m(y)g(the)g(curren)
+(range)g(expressions)f(is)630 1066 y(determined)e(b)m(y)g(the)g(curren)
 m(t)f(lo)s(cale)j(and)e(the)g(v)-5 b(alue)23 b(of)g(the)h
-Fs(LC_COLLATE)c Ft(shell)j(v)-5 b(ariable,)630 4401 y(if)30
-b(set.)630 4542 y(F)-8 b(or)34 b(example,)g(in)f(the)g(default)g(C)f
+Fs(LC_COLLATE)c Ft(shell)j(v)-5 b(ariable,)630 1176 y(if)30
+b(set.)630 1303 y(F)-8 b(or)34 b(example,)g(in)f(the)g(default)g(C)f
 (lo)s(cale,)k(`)p Fs([a-dx-z])p Ft(')31 b(is)i(equiv)-5
-b(alen)m(t)34 b(to)g(`)p Fs([abcdxyz])p Ft('.)630 4651
+b(alen)m(t)34 b(to)g(`)p Fs([abcdxyz])p Ft('.)630 1413
 y(Man)m(y)68 b(lo)s(cales)h(sort)f(c)m(haracters)h(in)e(dictionary)i
-(order,)76 b(and)67 b(in)g(these)h(lo)s(cales)630 4761
+(order,)76 b(and)67 b(in)g(these)h(lo)s(cales)630 1522
 y(`)p Fs([a-dx-z])p Ft(')36 b(is)i(t)m(ypically)i(not)e(equiv)-5
 b(alen)m(t)39 b(to)g(`)p Fs([abcdxyz])p Ft(';)g(it)g(migh)m(t)f(b)s(e)f
-(equiv)-5 b(alen)m(t)630 4870 y(to)34 b(`)p Fs([aBbCcDdxXyYz])p
+(equiv)-5 b(alen)m(t)630 1632 y(to)34 b(`)p Fs([aBbCcDdxXyYz])p
 Ft(',)c(for)j(example.)49 b(T)-8 b(o)33 b(obtain)h(the)f(traditional)h
-(in)m(terpretation)h(of)630 4980 y(ranges)e(in)f(brac)m(k)m(et)i
+(in)m(terpretation)h(of)630 1742 y(ranges)e(in)f(brac)m(k)m(et)i
 (expressions,)g(y)m(ou)f(can)g(force)g(the)g(use)f(of)h(the)g(C)f(lo)s
-(cale)i(b)m(y)f(setting)630 5089 y(the)e Fs(LC_COLLATE)c
+(cale)i(b)m(y)f(setting)630 1851 y(the)e Fs(LC_COLLATE)c
 Ft(or)k Fs(LC_ALL)d Ft(en)m(vironmen)m(t)j(v)-5 b(ariable)31
-b(to)g(the)g(v)-5 b(alue)31 b(`)p Fs(C)p Ft('.)630 5230
+b(to)g(the)g(v)-5 b(alue)31 b(`)p Fs(C)p Ft('.)630 1979
 y(Within)23 b(`)p Fs([)p Ft(')h(and)e(`)p Fs(])p Ft(',)j
 Fq(c)m(haracter)g(classes)j Ft(can)c(b)s(e)e(sp)s(eci\014ed)h(using)f
 (the)i(syn)m(tax)f Fs([:)p Fq(class)t Fs(:])p Ft(,)630
-5340 y(where)30 b Fq(class)35 b Ft(is)30 b(one)h(of)f(the)h(follo)m
-(wing)h(classes)f(de\014ned)e(in)h(the)h Fl(posix)f Ft(standard:)p
-eop end
-%%Page: 25 31
-TeXDict begin 25 30 bop 150 -116 a Ft(Chapter)30 b(3:)41
-b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(25)870 299
-y Fs(alnum)142 b(alpha)g(ascii)f(blank)h(cntrl)g(digit)g(graph)g(lower)
-870 408 y(print)g(punct)g(space)f(upper)h(word)190 b(xdigit)630
-540 y Ft(A)42 b(c)m(haracter)h(class)f(matc)m(hes)h(an)m(y)f(c)m
-(haracter)h(b)s(elonging)f(to)g(that)g(class.)75 b(The)41
-b Fs(word)630 649 y Ft(c)m(haracter)32 b(class)f(matc)m(hes)h(letters,)
-f(digits,)h(and)d(the)i(c)m(haracter)h(`)p Fs(_)p Ft('.)630
-781 y(Within)25 b(`)p Fs([)p Ft(')f(and)g(`)p Fs(])p
-Ft(',)i(an)e Fq(equiv)-5 b(alence)26 b(class)j Ft(can)24
-b(b)s(e)g(sp)s(eci\014ed)g(using)g(the)g(syn)m(tax)h
-Fs([=)p Fq(c)6 b Fs(=])p Ft(,)630 890 y(whic)m(h)29 b(matc)m(hes)i(all)
-f(c)m(haracters)h(with)e(the)h(same)g(collation)h(w)m(eigh)m(t)g(\(as)f
-(de\014ned)e(b)m(y)i(the)630 1000 y(curren)m(t)g(lo)s(cale\))j(as)d
-(the)h(c)m(haracter)h Fq(c)p Ft(.)630 1131 y(Within)22
-b(`)p Fs([)p Ft(')f(and)g(`)p Fs(])p Ft(',)j(the)d(syn)m(tax)h
-Fs([.)p Fq(sym)m(b)s(ol)t Fs(.])e Ft(matc)m(hes)i(the)g(collating)i
-(sym)m(b)s(ol)d Fq(sym)m(b)s(ol)p Ft(.)275 1285 y(If)29
-b(the)g Fs(extglob)f Ft(shell)h(option)h(is)g(enabled)f(using)g(the)h
-Fs(shopt)e Ft(builtin,)h(sev)m(eral)i(extended)f(pattern)150
-1394 y(matc)m(hing)37 b(op)s(erators)e(are)h(recognized.)58
+2089 y(where)30 b Fq(class)35 b Ft(is)30 b(one)h(of)f(the)h(follo)m
+(wing)h(classes)f(de\014ned)e(in)h(the)h Fl(posix)f Ft(standard:)870
+2216 y Fs(alnum)142 b(alpha)g(ascii)f(blank)h(cntrl)g(digit)g(graph)g
+(lower)870 2326 y(print)g(punct)g(space)f(upper)h(word)190
+b(xdigit)630 2454 y Ft(A)42 b(c)m(haracter)h(class)f(matc)m(hes)h(an)m
+(y)f(c)m(haracter)h(b)s(elonging)f(to)g(that)g(class.)75
+b(The)41 b Fs(word)630 2563 y Ft(c)m(haracter)32 b(class)f(matc)m(hes)h
+(letters,)f(digits,)h(and)d(the)i(c)m(haracter)h(`)p
+Fs(_)p Ft('.)630 2691 y(Within)25 b(`)p Fs([)p Ft(')f(and)g(`)p
+Fs(])p Ft(',)i(an)e Fq(equiv)-5 b(alence)26 b(class)j
+Ft(can)24 b(b)s(e)g(sp)s(eci\014ed)g(using)g(the)g(syn)m(tax)h
+Fs([=)p Fq(c)6 b Fs(=])p Ft(,)630 2800 y(whic)m(h)29
+b(matc)m(hes)i(all)f(c)m(haracters)h(with)e(the)h(same)g(collation)h(w)
+m(eigh)m(t)g(\(as)f(de\014ned)e(b)m(y)i(the)630 2910
+y(curren)m(t)g(lo)s(cale\))j(as)d(the)h(c)m(haracter)h
+Fq(c)p Ft(.)630 3038 y(Within)22 b(`)p Fs([)p Ft(')f(and)g(`)p
+Fs(])p Ft(',)j(the)d(syn)m(tax)h Fs([.)p Fq(sym)m(b)s(ol)t
+Fs(.])e Ft(matc)m(hes)i(the)g(collating)i(sym)m(b)s(ol)d
+Fq(sym)m(b)s(ol)p Ft(.)275 3184 y(If)29 b(the)g Fs(extglob)f
+Ft(shell)h(option)h(is)g(enabled)f(using)g(the)h Fs(shopt)e
+Ft(builtin,)h(sev)m(eral)i(extended)f(pattern)150 3293
+y(matc)m(hing)37 b(op)s(erators)e(are)h(recognized.)58
 b(In)35 b(the)g(follo)m(wing)i(description,)g(a)f Fq(pattern-list)j
-Ft(is)d(a)g(list)g(of)150 1504 y(one)d(or)f(more)h(patterns)f
+Ft(is)d(a)g(list)g(of)150 3403 y(one)d(or)f(more)h(patterns)f
 (separated)h(b)m(y)f(a)h(`)p Fs(|)p Ft('.)47 b(Comp)s(osite)33
 b(patterns)f(ma)m(y)i(b)s(e)d(formed)h(using)g(one)h(or)150
-1613 y(more)e(of)f(the)h(follo)m(wing)g(sub-patterns:)150
-1766 y Fs(?\()p Fj(pattern-list)11 b Fs(\))630 1876 y
+3512 y(more)e(of)f(the)h(follo)m(wing)g(sub-patterns:)150
+3658 y Fs(?\()p Fj(pattern-list)11 b Fs(\))630 3768 y
 Ft(Matc)m(hes)32 b(zero)f(or)g(one)f(o)s(ccurrence)h(of)f(the)h(giv)m
-(en)g(patterns.)150 2029 y Fs(*\()p Fj(pattern-list)11
-b Fs(\))630 2139 y Ft(Matc)m(hes)32 b(zero)f(or)g(more)f(o)s
-(ccurrences)h(of)f(the)h(giv)m(en)g(patterns.)150 2292
-y Fs(+\()p Fj(pattern-list)11 b Fs(\))630 2402 y Ft(Matc)m(hes)32
+(en)g(patterns.)150 3914 y Fs(*\()p Fj(pattern-list)11
+b Fs(\))630 4023 y Ft(Matc)m(hes)32 b(zero)f(or)g(more)f(o)s
+(ccurrences)h(of)f(the)h(giv)m(en)g(patterns.)150 4169
+y Fs(+\()p Fj(pattern-list)11 b Fs(\))630 4279 y Ft(Matc)m(hes)32
 b(one)f(or)f(more)h(o)s(ccurrences)f(of)h(the)f(giv)m(en)i(patterns.)
-150 2555 y Fs(@\()p Fj(pattern-list)11 b Fs(\))630 2664
+150 4424 y Fs(@\()p Fj(pattern-list)11 b Fs(\))630 4534
 y Ft(Matc)m(hes)32 b(one)f(of)f(the)h(giv)m(en)g(patterns.)150
-2817 y Fs(!\()p Fj(pattern-list)11 b Fs(\))630 2927 y
+4680 y Fs(!\()p Fj(pattern-list)11 b Fs(\))630 4789 y
 Ft(Matc)m(hes)32 b(an)m(ything)f(except)g(one)g(of)f(the)h(giv)m(en)g
-(patterns.)150 3142 y Fk(3.5.9)63 b(Quote)41 b(Remo)m(v)-7
-b(al)275 3383 y Ft(After)32 b(the)h(preceding)f(expansions,)h(all)g
+(patterns.)150 4993 y Fk(3.5.9)63 b(Quote)41 b(Remo)m(v)-7
+b(al)275 5230 y Ft(After)32 b(the)h(preceding)f(expansions,)h(all)g
 (unquoted)f(o)s(ccurrences)g(of)h(the)f(c)m(haracters)i(`)p
-Fs(\\)p Ft(',)f(`)p Fs(')p Ft(',)h(and)150 3492 y(`)p
+Fs(\\)p Ft(',)f(`)p Fs(')p Ft(',)h(and)150 5340 y(`)p
 Fs(")p Ft(')d(that)g(did)e(not)i(result)f(from)g(one)h(of)f(the)h(ab)s
-(o)m(v)m(e)g(expansions)f(are)h(remo)m(v)m(ed.)150 3740
-y Fr(3.6)68 b(Redirections)275 3981 y Ft(Before)33 b(a)h(command)e(is)h
-(executed,)i(its)e(input)f(and)h(output)f(ma)m(y)i(b)s(e)e
-Fq(redirected)37 b Ft(using)32 b(a)h(sp)s(ecial)150 4091
-y(notation)g(in)m(terpreted)g(b)m(y)f(the)g(shell.)46
-b(Redirection)33 b(ma)m(y)g(also)g(b)s(e)f(used)f(to)i(op)s(en)e(and)h
-(close)h(\014les)f(for)150 4201 y(the)h(curren)m(t)g(shell)g(execution)
-h(en)m(vironmen)m(t.)49 b(The)33 b(follo)m(wing)h(redirection)g(op)s
-(erators)f(ma)m(y)h(precede)150 4310 y(or)29 b(app)s(ear)g(an)m(ywhere)
-g(within)g(a)h(simple)f(command)g(or)h(ma)m(y)g(follo)m(w)g(a)g
-(command.)40 b(Redirections)31 b(are)150 4420 y(pro)s(cessed)f(in)g
-(the)g(order)g(they)h(app)s(ear,)f(from)g(left)h(to)g(righ)m(t.)275
-4551 y(In)c(the)i(follo)m(wing)h(descriptions,)g(if)e(the)h(\014le)g
-(descriptor)f(n)m(um)m(b)s(er)g(is)g(omitted,)i(and)f(the)f(\014rst)g
-(c)m(har-)150 4661 y(acter)42 b(of)f(the)g(redirection)g(op)s(erator)g
-(is)g(`)p Fs(<)p Ft(',)i(the)e(redirection)g(refers)g(to)g(the)g
-(standard)f(input)f(\(\014le)150 4770 y(descriptor)33
-b(0\).)49 b(If)33 b(the)g(\014rst)f(c)m(haracter)i(of)g(the)f
-(redirection)g(op)s(erator)h(is)f(`)p Fs(>)p Ft(',)h(the)f(redirection)
-g(refers)150 4880 y(to)e(the)g(standard)e(output)h(\(\014le)h
-(descriptor)f(1\).)275 5011 y(The)h(w)m(ord)h(follo)m(wing)i(the)f
-(redirection)g(op)s(erator)f(in)g(the)h(follo)m(wing)h(descriptions,)f
-(unless)e(other-)150 5121 y(wise)21 b(noted,)i(is)e(sub)5
-b(jected)21 b(to)h(brace)f(expansion,)i(tilde)f(expansion,)h(parameter)
-e(expansion,)i(command)150 5230 y(substitution,)31 b(arithmetic)h
-(expansion,)f(quote)h(remo)m(v)-5 b(al,)33 b(\014lename)e(expansion,)g
-(and)f(w)m(ord)h(splitting.)150 5340 y(If)f(it)h(expands)e(to)i(more)g
-(than)f(one)h(w)m(ord,)f(Bash)h(rep)s(orts)e(an)h(error.)p
-eop end
+(o)m(v)m(e)g(expansions)f(are)h(remo)m(v)m(ed.)p eop
+end
 %%Page: 26 32
 TeXDict begin 26 31 bop 150 -116 a Ft(26)2572 b(Bash)31
-b(Reference)g(Man)m(ual)275 299 y(Note)g(that)g(the)g(order)f(of)g
+b(Reference)g(Man)m(ual)150 299 y Fr(3.6)68 b(Redirections)275
+536 y Ft(Before)33 b(a)h(command)e(is)h(executed,)i(its)e(input)f(and)h
+(output)f(ma)m(y)i(b)s(e)e Fq(redirected)37 b Ft(using)32
+b(a)h(sp)s(ecial)150 646 y(notation)g(in)m(terpreted)g(b)m(y)f(the)g
+(shell.)46 b(Redirection)33 b(ma)m(y)g(also)g(b)s(e)f(used)f(to)i(op)s
+(en)e(and)h(close)h(\014les)f(for)150 756 y(the)h(curren)m(t)g(shell)g
+(execution)h(en)m(vironmen)m(t.)49 b(The)33 b(follo)m(wing)h
+(redirection)g(op)s(erators)f(ma)m(y)h(precede)150 865
+y(or)29 b(app)s(ear)g(an)m(ywhere)g(within)g(a)h(simple)f(command)g(or)
+h(ma)m(y)g(follo)m(w)g(a)g(command.)40 b(Redirections)31
+b(are)150 975 y(pro)s(cessed)f(in)g(the)g(order)g(they)h(app)s(ear,)f
+(from)g(left)h(to)g(righ)m(t.)275 1103 y(In)c(the)i(follo)m(wing)h
+(descriptions,)g(if)e(the)h(\014le)g(descriptor)f(n)m(um)m(b)s(er)g(is)
+g(omitted,)i(and)f(the)f(\014rst)g(c)m(har-)150 1212
+y(acter)42 b(of)f(the)g(redirection)g(op)s(erator)g(is)g(`)p
+Fs(<)p Ft(',)i(the)e(redirection)g(refers)g(to)g(the)g(standard)f
+(input)f(\(\014le)150 1322 y(descriptor)33 b(0\).)49
+b(If)33 b(the)g(\014rst)f(c)m(haracter)i(of)g(the)f(redirection)g(op)s
+(erator)h(is)f(`)p Fs(>)p Ft(',)h(the)f(redirection)g(refers)150
+1431 y(to)e(the)g(standard)e(output)h(\(\014le)h(descriptor)f(1\).)275
+1559 y(The)h(w)m(ord)h(follo)m(wing)i(the)f(redirection)g(op)s(erator)f
+(in)g(the)h(follo)m(wing)h(descriptions,)f(unless)e(other-)150
+1669 y(wise)21 b(noted,)i(is)e(sub)5 b(jected)21 b(to)h(brace)f
+(expansion,)i(tilde)f(expansion,)h(parameter)e(expansion,)i(command)150
+1778 y(substitution,)31 b(arithmetic)h(expansion,)f(quote)h(remo)m(v)-5
+b(al,)33 b(\014lename)e(expansion,)g(and)f(w)m(ord)h(splitting.)150
+1888 y(If)f(it)h(expands)e(to)i(more)g(than)f(one)h(w)m(ord,)f(Bash)h
+(rep)s(orts)e(an)h(error.)275 2016 y(Note)h(that)g(the)g(order)f(of)g
 (redirections)h(is)g(signi\014can)m(t.)41 b(F)-8 b(or)31
-b(example,)h(the)e(command)390 436 y Fs(ls)47 b(>)h Fj(dirlist)56
-b Fs(2>&1)150 572 y Ft(directs)28 b(b)s(oth)f(standard)g(output)g
-(\(\014le)h(descriptor)f(1\))i(and)e(standard)f(error)i(\(\014le)g
-(descriptor)f(2\))h(to)h(the)150 682 y(\014le)h Fq(dirlist)p
-Ft(,)h(while)f(the)h(command)390 819 y Fs(ls)47 b(2>&1)g(>)g
-Fj(dirlist)150 956 y Ft(directs)34 b(only)g(the)f(standard)g(output)g
-(to)h(\014le)g Fq(dirlist)p Ft(,)h(b)s(ecause)e(the)h(standard)f(error)
-g(w)m(as)h(duplicated)150 1065 y(as)d(standard)e(output)h(b)s(efore)g
-(the)h(standard)e(output)h(w)m(as)h(redirected)g(to)g
-Fq(dirlist)p Ft(.)275 1202 y(Bash)26 b(handles)f(sev)m(eral)j
-(\014lenames)e(sp)s(ecially)h(when)f(they)g(are)g(used)g(in)g
-(redirections,)i(as)e(describ)s(ed)150 1311 y(in)k(the)h(follo)m(wing)g
-(table:)150 1474 y Fs(/dev/fd/)p Fj(fd)630 1584 y Ft(If)f
-Fq(fd)j Ft(is)d(a)h(v)-5 b(alid)31 b(in)m(teger,)h(\014le)e(descriptor)
-h Fq(fd)i Ft(is)d(duplicated.)150 1745 y Fs(/dev/stdin)630
-1855 y Ft(File)i(descriptor)e(0)h(is)f(duplicated.)150
-2017 y Fs(/dev/stdout)630 2126 y Ft(File)i(descriptor)e(1)h(is)f
-(duplicated.)150 2288 y Fs(/dev/stderr)630 2398 y Ft(File)i(descriptor)
-e(2)h(is)f(duplicated.)150 2559 y Fs(/dev/tcp/)p Fj(host)11
-b Fs(/)p Fj(port)630 2669 y Ft(If)41 b Fq(host)i Ft(is)f(a)g(v)-5
+b(example,)h(the)e(command)390 2144 y Fs(ls)47 b(>)h
+Fj(dirlist)56 b Fs(2>&1)150 2271 y Ft(directs)28 b(b)s(oth)f(standard)g
+(output)g(\(\014le)h(descriptor)f(1\))i(and)e(standard)f(error)i
+(\(\014le)g(descriptor)f(2\))h(to)h(the)150 2381 y(\014le)h
+Fq(dirlist)p Ft(,)h(while)f(the)h(command)390 2509 y
+Fs(ls)47 b(2>&1)g(>)g Fj(dirlist)150 2637 y Ft(directs)34
+b(only)g(the)f(standard)g(output)g(to)h(\014le)g Fq(dirlist)p
+Ft(,)h(b)s(ecause)e(the)h(standard)f(error)g(w)m(as)h(duplicated)150
+2746 y(as)d(standard)e(output)h(b)s(efore)g(the)h(standard)e(output)h
+(w)m(as)h(redirected)g(to)g Fq(dirlist)p Ft(.)275 2874
+y(Bash)26 b(handles)f(sev)m(eral)j(\014lenames)e(sp)s(ecially)h(when)f
+(they)g(are)g(used)g(in)g(redirections,)i(as)e(describ)s(ed)150
+2984 y(in)k(the)h(follo)m(wing)g(table:)150 3130 y Fs(/dev/fd/)p
+Fj(fd)630 3240 y Ft(If)f Fq(fd)j Ft(is)d(a)h(v)-5 b(alid)31
+b(in)m(teger,)h(\014le)e(descriptor)h Fq(fd)i Ft(is)d(duplicated.)150
+3386 y Fs(/dev/stdin)630 3495 y Ft(File)i(descriptor)e(0)h(is)f
+(duplicated.)150 3641 y Fs(/dev/stdout)630 3751 y Ft(File)i(descriptor)
+e(1)h(is)f(duplicated.)150 3897 y Fs(/dev/stderr)630
+4007 y Ft(File)i(descriptor)e(2)h(is)f(duplicated.)150
+4153 y Fs(/dev/tcp/)p Fj(host)11 b Fs(/)p Fj(port)630
+4262 y Ft(If)41 b Fq(host)i Ft(is)f(a)g(v)-5 b(alid)41
+b(hostname)h(or)f(In)m(ternet)h(address,)i(and)c Fq(p)s(ort)j
+Ft(is)f(an)f(in)m(teger)i(p)s(ort)630 4372 y(n)m(um)m(b)s(er)h(or)h
+(service)h(name,)j(Bash)c(attempts)h(to)g(op)s(en)f(a)g(TCP)g
+(connection)h(to)g(the)630 4482 y(corresp)s(onding)29
+b(so)s(c)m(k)m(et.)150 4628 y Fs(/dev/udp/)p Fj(host)11
+b Fs(/)p Fj(port)630 4737 y Ft(If)41 b Fq(host)i Ft(is)f(a)g(v)-5
 b(alid)41 b(hostname)h(or)f(In)m(ternet)h(address,)i(and)c
-Fq(p)s(ort)j Ft(is)f(an)f(in)m(teger)i(p)s(ort)630 2778
-y(n)m(um)m(b)s(er)h(or)h(service)h(name,)j(Bash)c(attempts)h(to)g(op)s
-(en)f(a)g(TCP)g(connection)h(to)g(the)630 2888 y(corresp)s(onding)29
-b(so)s(c)m(k)m(et.)150 3050 y Fs(/dev/udp/)p Fj(host)11
-b Fs(/)p Fj(port)630 3159 y Ft(If)41 b Fq(host)i Ft(is)f(a)g(v)-5
-b(alid)41 b(hostname)h(or)f(In)m(ternet)h(address,)i(and)c
-Fq(p)s(ort)j Ft(is)f(an)f(in)m(teger)i(p)s(ort)630 3269
+Fq(p)s(ort)j Ft(is)f(an)f(in)m(teger)i(p)s(ort)630 4847
 y(n)m(um)m(b)s(er)g(or)i(service)g(name,)k(Bash)c(attempts)g(to)h(op)s
-(en)e(a)h(UDP)g(connection)g(to)h(the)630 3378 y(corresp)s(onding)29
-b(so)s(c)m(k)m(et.)275 3541 y(A)h(failure)h(to)g(op)s(en)e(or)i(create)
+(en)e(a)h(UDP)g(connection)g(to)h(the)630 4956 y(corresp)s(onding)29
+b(so)s(c)m(k)m(et.)275 5103 y(A)h(failure)h(to)g(op)s(en)e(or)i(create)
 h(a)e(\014le)h(causes)g(the)f(redirection)h(to)g(fail.)275
-3678 y(Redirections)f(using)e(\014le)i(descriptors)f(greater)h(than)f
+5230 y(Redirections)f(using)e(\014le)i(descriptors)f(greater)h(than)f
 (9)h(should)e(b)s(e)h(used)f(with)h(care,)h(as)g(they)f(ma)m(y)150
-3788 y(con\015ict)i(with)f(\014le)h(descriptors)f(the)g(shell)h(uses)f
-(in)m(ternally)-8 b(.)150 4016 y Fk(3.6.1)63 b(Redirecting)40
-b(Input)275 4263 y Ft(Redirection)35 b(of)f(input)g(causes)g(the)h
-(\014le)f(whose)g(name)h(results)f(from)g(the)g(expansion)g(of)h
-Fq(w)m(ord)i Ft(to)150 4372 y(b)s(e)d(op)s(ened)g(for)g(reading)g(on)h
-(\014le)f(descriptor)h Fs(n)p Ft(,)g(or)g(the)f(standard)g(input)g
-(\(\014le)h(descriptor)f(0\))h(if)g Fs(n)f Ft(is)150
-4482 y(not)d(sp)s(eci\014ed.)275 4619 y(The)e(general)j(format)e(for)h
-(redirecting)g(input)e(is:)390 4755 y Fs([)p Fj(n)11
-b Fs(]<)p Fj(word)150 4984 y Fk(3.6.2)63 b(Redirecting)40
-b(Output)275 5230 y Ft(Redirection)31 b(of)f(output)g(causes)h(the)g
-(\014le)f(whose)g(name)h(results)f(from)f(the)i(expansion)f(of)h
-Fq(w)m(ord)i Ft(to)150 5340 y(b)s(e)e(op)s(ened)g(for)g(writing)h(on)f
-(\014le)h(descriptor)f Fq(n)p Ft(,)h(or)f(the)h(standard)f(output)g
-(\(\014le)h(descriptor)f(1\))h(if)g Fq(n)f Ft(is)p eop
-end
+5340 y(con\015ict)i(with)f(\014le)h(descriptors)f(the)g(shell)h(uses)f
+(in)m(ternally)-8 b(.)p eop end
 %%Page: 27 33
 TeXDict begin 27 32 bop 150 -116 a Ft(Chapter)30 b(3:)41
 b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(27)150 299
-y(not)34 b(sp)s(eci\014ed.)50 b(If)33 b(the)h(\014le)g(do)s(es)f(not)h
-(exist)g(it)g(is)g(created;)j(if)c(it)h(do)s(es)g(exist)g(it)g(is)g
-(truncated)g(to)g(zero)150 408 y(size.)275 569 y(The)29
-b(general)j(format)e(for)h(redirecting)g(output)f(is:)390
-730 y Fs([)p Fj(n)11 b Fs(]>[|])p Fj(word)275 891 y Ft(If)30
-b(the)h(redirection)g(op)s(erator)g(is)g(`)p Fs(>)p Ft(',)g(and)f(the)h
-Fs(noclobber)d Ft(option)j(to)g(the)g Fs(set)f Ft(builtin)g(has)h(b)s
-(een)150 1001 y(enabled,)i(the)f(redirection)h(will)f(fail)h(if)f(the)g
-(\014le)g(whose)g(name)g(results)g(from)g(the)g(expansion)g(of)g
-Fq(w)m(ord)150 1110 y Ft(exists)f(and)f(is)g(a)h(regular)g(\014le.)41
+y Fk(3.6.1)63 b(Redirecting)40 b(Input)275 557 y Ft(Redirection)35
+b(of)f(input)g(causes)g(the)h(\014le)f(whose)g(name)h(results)f(from)g
+(the)g(expansion)g(of)h Fq(w)m(ord)i Ft(to)150 667 y(b)s(e)d(op)s(ened)
+g(for)g(reading)g(on)h(\014le)f(descriptor)h Fs(n)p Ft(,)g(or)g(the)f
+(standard)g(input)g(\(\014le)h(descriptor)f(0\))h(if)g
+Fs(n)f Ft(is)150 776 y(not)d(sp)s(eci\014ed.)275 925
+y(The)e(general)j(format)e(for)h(redirecting)g(input)e(is:)390
+1074 y Fs([)p Fj(n)11 b Fs(]<)p Fj(word)150 1327 y Fk(3.6.2)63
+b(Redirecting)40 b(Output)275 1585 y Ft(Redirection)31
+b(of)f(output)g(causes)h(the)g(\014le)f(whose)g(name)h(results)f(from)f
+(the)i(expansion)f(of)h Fq(w)m(ord)i Ft(to)150 1695 y(b)s(e)e(op)s
+(ened)g(for)g(writing)h(on)f(\014le)h(descriptor)f Fq(n)p
+Ft(,)h(or)f(the)h(standard)f(output)g(\(\014le)h(descriptor)f(1\))h(if)
+g Fq(n)f Ft(is)150 1804 y(not)j(sp)s(eci\014ed.)50 b(If)33
+b(the)h(\014le)g(do)s(es)f(not)h(exist)g(it)g(is)g(created;)j(if)c(it)h
+(do)s(es)g(exist)g(it)g(is)g(truncated)g(to)g(zero)150
+1914 y(size.)275 2063 y(The)29 b(general)j(format)e(for)h(redirecting)g
+(output)f(is:)390 2211 y Fs([)p Fj(n)11 b Fs(]>[|])p
+Fj(word)275 2360 y Ft(If)30 b(the)h(redirection)g(op)s(erator)g(is)g(`)
+p Fs(>)p Ft(',)g(and)f(the)h Fs(noclobber)d Ft(option)j(to)g(the)g
+Fs(set)f Ft(builtin)g(has)h(b)s(een)150 2470 y(enabled,)i(the)f
+(redirection)h(will)f(fail)h(if)f(the)g(\014le)g(whose)g(name)g
+(results)g(from)g(the)g(expansion)g(of)g Fq(w)m(ord)150
+2579 y Ft(exists)f(and)f(is)g(a)h(regular)g(\014le.)41
 b(If)30 b(the)h(redirection)g(op)s(erator)g(is)f(`)p
 Fs(>|)p Ft(',)h(or)f(the)h(redirection)g(op)s(erator)g(is)150
-1220 y(`)p Fs(>)p Ft(')36 b(and)f(the)g Fs(noclobber)e
+2689 y(`)p Fs(>)p Ft(')36 b(and)f(the)g Fs(noclobber)e
 Ft(option)j(is)g(not)g(enabled,)h(the)e(redirection)h(is)g(attempted)g
-(ev)m(en)h(if)e(the)h(\014le)150 1329 y(named)30 b(b)m(y)g
-Fq(w)m(ord)k Ft(exists.)150 1606 y Fk(3.6.3)63 b(App)s(ending)42
-b(Redirected)e(Output)275 1877 y Ft(Redirection)29 b(of)g(output)f(in)g
+(ev)m(en)h(if)e(the)h(\014le)150 2799 y(named)30 b(b)m(y)g
+Fq(w)m(ord)k Ft(exists.)150 3051 y Fk(3.6.3)63 b(App)s(ending)42
+b(Redirected)e(Output)275 3310 y Ft(Redirection)29 b(of)g(output)f(in)g
 (this)h(fashion)f(causes)h(the)g(\014le)g(whose)f(name)h(results)f
-(from)g(the)h(expan-)150 1986 y(sion)34 b(of)f Fq(w)m(ord)k
+(from)g(the)h(expan-)150 3419 y(sion)34 b(of)f Fq(w)m(ord)k
 Ft(to)e(b)s(e)e(op)s(ened)g(for)g(app)s(ending)f(on)i(\014le)f
 (descriptor)h Fq(n)p Ft(,)g(or)g(the)f(standard)g(output)g(\(\014le)150
-2096 y(descriptor)d(1\))h(if)g Fq(n)f Ft(is)g(not)h(sp)s(eci\014ed.)40
+3529 y(descriptor)d(1\))h(if)g Fq(n)f Ft(is)g(not)h(sp)s(eci\014ed.)40
 b(If)29 b(the)i(\014le)f(do)s(es)h(not)f(exist)h(it)g(is)g(created.)275
-2257 y(The)e(general)j(format)e(for)h(app)s(ending)e(output)h(is:)390
-2418 y Fs([)p Fj(n)11 b Fs(]>>)p Fj(word)150 2694 y Fk(3.6.4)63
+3678 y(The)e(general)j(format)e(for)h(app)s(ending)e(output)h(is:)390
+3827 y Fs([)p Fj(n)11 b Fs(]>>)p Fj(word)150 4079 y Fk(3.6.4)63
 b(Redirecting)40 b(Standard)h(Output)g(and)g(Standard)g(Error)275
-2965 y Ft(This)23 b(construct)i(allo)m(ws)h(b)s(oth)e(the)h(standard)f
+4338 y Ft(This)23 b(construct)i(allo)m(ws)h(b)s(oth)e(the)h(standard)f
 (output)g(\(\014le)h(descriptor)f(1\))i(and)e(the)h(standard)e(error)
-150 3075 y(output)30 b(\(\014le)h(descriptor)f(2\))h(to)g(b)s(e)f
+150 4447 y(output)30 b(\(\014le)h(descriptor)f(2\))h(to)g(b)s(e)f
 (redirected)h(to)g(the)f(\014le)h(whose)f(name)h(is)f(the)g(expansion)h
-(of)f Fq(w)m(ord)p Ft(.)275 3235 y(There)f(are)i(t)m(w)m(o)h(formats)e
+(of)f Fq(w)m(ord)p Ft(.)275 4596 y(There)f(are)i(t)m(w)m(o)h(formats)e
 (for)h(redirecting)g(standard)e(output)h(and)g(standard)f(error:)390
-3396 y Fs(&>)p Fj(word)150 3557 y Ft(and)390 3718 y Fs(>&)p
-Fj(word)150 3879 y Ft(Of)h(the)g(t)m(w)m(o)i(forms,)e(the)h(\014rst)e
+4745 y Fs(&>)p Fj(word)150 4894 y Ft(and)390 5042 y Fs(>&)p
+Fj(word)150 5191 y Ft(Of)h(the)g(t)m(w)m(o)i(forms,)e(the)h(\014rst)e
 (is)i(preferred.)39 b(This)30 b(is)g(seman)m(tically)j(equiv)-5
-b(alen)m(t)32 b(to)390 4040 y Fs(>)p Fj(word)57 b Fs(2>&1)150
-4317 y Fk(3.6.5)63 b(App)s(ending)42 b(Standard)f(Output)g(and)g
-(Standard)g(Error)275 4587 y Ft(This)23 b(construct)i(allo)m(ws)h(b)s
-(oth)e(the)h(standard)f(output)g(\(\014le)h(descriptor)f(1\))i(and)e
-(the)h(standard)e(error)150 4697 y(output)30 b(\(\014le)h(descriptor)f
-(2\))h(to)g(b)s(e)f(app)s(ended)f(to)i(the)f(\014le)h(whose)f(name)g
-(is)h(the)f(expansion)h(of)f Fq(w)m(ord)p Ft(.)275 4857
-y(The)f(format)i(for)f(app)s(ending)f(standard)h(output)g(and)f
-(standard)h(error)g(is:)390 5018 y Fs(&>>)p Fj(word)150
-5179 y Ft(This)g(is)g(seman)m(tically)j(equiv)-5 b(alen)m(t)32
-b(to)390 5340 y Fs(>>)p Fj(word)57 b Fs(2>&1)p eop end
+b(alen)m(t)32 b(to)390 5340 y Fs(>)p Fj(word)57 b Fs(2>&1)p
+eop end
 %%Page: 28 34
 TeXDict begin 28 33 bop 150 -116 a Ft(28)2572 b(Bash)31
-b(Reference)g(Man)m(ual)150 299 y Fk(3.6.6)63 b(Here)41
-b(Do)s(cumen)m(ts)275 560 y Ft(This)28 b(t)m(yp)s(e)h(of)h(redirection)
-g(instructs)f(the)g(shell)h(to)g(read)f(input)f(from)h(the)g(curren)m
-(t)h(source)f(un)m(til)h(a)150 669 y(line)h(con)m(taining)g(only)g
-Fq(w)m(ord)i Ft(\(with)d(no)h(trailing)g(blanks\))f(is)g(seen.)41
+b(Reference)g(Man)m(ual)150 299 y Fk(3.6.5)63 b(App)s(ending)42
+b(Standard)f(Output)g(and)g(Standard)g(Error)275 539
+y Ft(This)23 b(construct)i(allo)m(ws)h(b)s(oth)e(the)h(standard)f
+(output)g(\(\014le)h(descriptor)f(1\))i(and)e(the)h(standard)e(error)
+150 648 y(output)30 b(\(\014le)h(descriptor)f(2\))h(to)g(b)s(e)f(app)s
+(ended)f(to)i(the)f(\014le)h(whose)f(name)g(is)h(the)f(expansion)h(of)f
+Fq(w)m(ord)p Ft(.)275 779 y(The)f(format)i(for)f(app)s(ending)f
+(standard)h(output)g(and)f(standard)h(error)g(is:)390
+909 y Fs(&>>)p Fj(word)150 1039 y Ft(This)g(is)g(seman)m(tically)j
+(equiv)-5 b(alen)m(t)32 b(to)390 1169 y Fs(>>)p Fj(word)57
+b Fs(2>&1)150 1381 y Fk(3.6.6)63 b(Here)41 b(Do)s(cumen)m(ts)275
+1621 y Ft(This)28 b(t)m(yp)s(e)h(of)h(redirection)g(instructs)f(the)g
+(shell)h(to)g(read)f(input)f(from)h(the)g(curren)m(t)h(source)f(un)m
+(til)h(a)150 1730 y(line)h(con)m(taining)g(only)g Fq(w)m(ord)i
+Ft(\(with)d(no)h(trailing)g(blanks\))f(is)g(seen.)41
 b(All)31 b(of)f(the)h(lines)f(read)g(up)f(to)i(that)150
-779 y(p)s(oin)m(t)f(are)h(then)f(used)g(as)g(the)h(standard)f(input)f
-(for)h(a)h(command.)275 930 y(The)e(format)i(of)g(here-do)s(cumen)m(ts)
-f(is:)390 1081 y Fs(<<[)p Fp(\000)p Fs(])p Fj(word)772
-1191 y(here-document)390 1300 y(delimiter)275 1451 y
+1840 y(p)s(oin)m(t)f(are)h(then)f(used)g(as)g(the)h(standard)f(input)f
+(for)h(a)h(command.)275 1970 y(The)e(format)i(of)g(here-do)s(cumen)m
+(ts)f(is:)390 2101 y Fs(<<[)p Fp(\000)p Fs(])p Fj(word)772
+2210 y(here-document)390 2320 y(delimiter)275 2450 y
 Ft(No)j(parameter)h(expansion,)g(command)f(substitution,)h(arithmetic)h
-(expansion,)f(or)f(\014lename)g(ex-)150 1561 y(pansion)i(is)g(p)s
+(expansion,)f(or)f(\014lename)g(ex-)150 2560 y(pansion)i(is)g(p)s
 (erformed)e(on)i Fq(w)m(ord)p Ft(.)55 b(If)34 b(an)m(y)i(c)m(haracters)
 g(in)f Fq(w)m(ord)j Ft(are)d(quoted,)i(the)e Fq(delimiter)43
-b Ft(is)35 b(the)150 1670 y(result)40 b(of)h(quote)g(remo)m(v)-5
+b Ft(is)35 b(the)150 2669 y(result)40 b(of)h(quote)g(remo)m(v)-5
 b(al)42 b(on)e Fq(w)m(ord)p Ft(,)j(and)d(the)g(lines)h(in)f(the)h
-(here-do)s(cumen)m(t)f(are)h(not)f(expanded.)150 1780
+(here-do)s(cumen)m(t)f(are)h(not)f(expanded.)150 2779
 y(If)32 b Fq(w)m(ord)k Ft(is)d(unquoted,)f(all)i(lines)f(of)f(the)h
 (here-do)s(cumen)m(t)g(are)g(sub)5 b(jected)32 b(to)i(parameter)f
-(expansion,)150 1890 y(command)25 b(substitution,)g(and)g(arithmetic)h
+(expansion,)150 2888 y(command)25 b(substitution,)g(and)g(arithmetic)h
 (expansion.)39 b(In)24 b(the)h(latter)h(case,)h(the)e(c)m(haracter)i
-(sequence)150 1999 y Fs(\\newline)h Ft(is)j(ignored,)f(and)g(`)p
+(sequence)150 2998 y Fs(\\newline)h Ft(is)j(ignored,)f(and)g(`)p
 Fs(\\)p Ft(')h(m)m(ust)f(b)s(e)g(used)f(to)i(quote)g(the)g(c)m
 (haracters)h(`)p Fs(\\)p Ft(',)e(`)p Fs($)p Ft(',)h(and)f(`)p
-Fs(`)p Ft('.)275 2150 y(If)21 b(the)i(redirection)g(op)s(erator)g(is)f
+Fs(`)p Ft('.)275 3128 y(If)21 b(the)i(redirection)g(op)s(erator)g(is)f
 (`)p Fs(<<-)p Ft(',)i(then)e(all)h(leading)g(tab)g(c)m(haracters)h(are)
-e(stripp)s(ed)f(from)h(input)150 2260 y(lines)33 b(and)f(the)h(line)h
+e(stripp)s(ed)f(from)h(input)150 3238 y(lines)33 b(and)f(the)h(line)h
 (con)m(taining)g Fq(delimiter)p Ft(.)49 b(This)32 b(allo)m(ws)i
 (here-do)s(cumen)m(ts)f(within)f(shell)i(scripts)e(to)150
-2369 y(b)s(e)e(inden)m(ted)g(in)g(a)h(natural)f(fashion.)150
-2627 y Fk(3.6.7)63 b(Here)41 b(Strings)275 2888 y Ft(A)30
+3347 y(b)s(e)e(inden)m(ted)g(in)g(a)h(natural)f(fashion.)150
+3559 y Fk(3.6.7)63 b(Here)41 b(Strings)275 3799 y Ft(A)30
 b(v)-5 b(arian)m(t)31 b(of)g(here)f(do)s(cumen)m(ts,)g(the)h(format)g
-(is:)390 3039 y Fs(<<<)47 b Fj(word)275 3190 y Ft(The)29
+(is:)390 3929 y Fs(<<<)47 b Fj(word)275 4059 y Ft(The)29
 b Fq(w)m(ord)34 b Ft(is)c(expanded)g(and)g(supplied)f(to)i(the)f
-(command)h(on)f(its)h(standard)e(input.)150 3447 y Fk(3.6.8)63
-b(Duplicating)41 b(File)g(Descriptors)275 3708 y Ft(The)29
-b(redirection)i(op)s(erator)390 3859 y Fs([)p Fj(n)11
-b Fs(]<&)p Fj(word)150 4010 y Ft(is)35 b(used)e(to)j(duplicate)f(input)
+(command)h(on)f(its)h(standard)e(input.)150 4271 y Fk(3.6.8)63
+b(Duplicating)41 b(File)g(Descriptors)275 4511 y Ft(The)29
+b(redirection)i(op)s(erator)390 4641 y Fs([)p Fj(n)11
+b Fs(]<&)p Fj(word)150 4771 y Ft(is)35 b(used)e(to)j(duplicate)f(input)
 f(\014le)g(descriptors.)53 b(If)34 b Fq(w)m(ord)k Ft(expands)c(to)h
-(one)g(or)g(more)g(digits,)h(the)f(\014le)150 4120 y(descriptor)e
+(one)g(or)g(more)g(digits,)h(the)f(\014le)150 4881 y(descriptor)e
 (denoted)h(b)m(y)g Fq(n)f Ft(is)g(made)h(to)g(b)s(e)f(a)h(cop)m(y)g(of)
 g(that)g(\014le)g(descriptor.)50 b(If)33 b(the)h(digits)g(in)f
-Fq(w)m(ord)150 4229 y Ft(do)c(not)h(sp)s(ecify)f(a)h(\014le)f
+Fq(w)m(ord)150 4991 y Ft(do)c(not)h(sp)s(ecify)f(a)h(\014le)f
 (descriptor)g(op)s(en)g(for)g(input,)g(a)h(redirection)g(error)f(o)s
 (ccurs.)40 b(If)29 b Fq(w)m(ord)j Ft(ev)-5 b(aluates)150
-4339 y(to)31 b(`)p Fs(-)p Ft(',)g(\014le)g(descriptor)g
+5100 y(to)31 b(`)p Fs(-)p Ft(',)g(\014le)g(descriptor)g
 Fq(n)f Ft(is)g(closed.)43 b(If)30 b Fq(n)g Ft(is)g(not)h(sp)s
 (eci\014ed,)f(the)h(standard)f(input)g(\(\014le)h(descriptor)f(0\))150
-4448 y(is)g(used.)275 4599 y(The)f(op)s(erator)390 4751
-y Fs([)p Fj(n)11 b Fs(]>&)p Fj(word)150 4902 y Ft(is)40
+5210 y(is)g(used.)275 5340 y(The)f(op)s(erator)p eop
+end
+%%Page: 29 35
+TeXDict begin 29 34 bop 150 -116 a Ft(Chapter)30 b(3:)41
+b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(29)390 299
+y Fs([)p Fj(n)11 b Fs(]>&)p Fj(word)150 434 y Ft(is)40
 b(used)g(similarly)h(to)g(duplicate)f(output)g(\014le)h(descriptors.)70
 b(If)40 b Fq(n)f Ft(is)i(not)f(sp)s(eci\014ed,)i(the)f(standard)150
-5011 y(output)30 b(\(\014le)g(descriptor)g(1\))h(is)f(used.)39
+543 y(output)30 b(\(\014le)g(descriptor)g(1\))h(is)f(used.)39
 b(If)30 b(the)g(digits)h(in)e Fq(w)m(ord)34 b Ft(do)29
 b(not)i(sp)s(ecify)e(a)i(\014le)f(descriptor)g(op)s(en)150
-5121 y(for)38 b(output,)i(a)e(redirection)h(error)f(o)s(ccurs.)63
+653 y(for)38 b(output,)i(a)e(redirection)h(error)f(o)s(ccurs.)63
 b(As)38 b(a)h(sp)s(ecial)f(case,)k(if)c Fq(n)f Ft(is)h(omitted,)k(and)
-37 b Fq(w)m(ord)k Ft(do)s(es)150 5230 y(not)28 b(expand)f(to)i(one)f
-(or)f(more)h(digits,)i(the)e(standard)e(output)i(and)f(standard)g
-(error)g(are)i(redirected)f(as)150 5340 y(describ)s(ed)h(previously)-8
-b(.)p eop end
-%%Page: 29 35
-TeXDict begin 29 34 bop 150 -116 a Ft(Chapter)30 b(3:)41
-b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(29)150 299
-y Fk(3.6.9)63 b(Mo)m(ving)41 b(File)h(Descriptors)275
-542 y Ft(The)29 b(redirection)i(op)s(erator)390 675 y
-Fs([)p Fj(n)11 b Fs(]<&)p Fj(digit)p Fs(-)150 808 y Ft(mo)m(v)m(es)33
-b(the)f(\014le)g(descriptor)f Fq(digit)k Ft(to)d(\014le)g(descriptor)g
-Fq(n)p Ft(,)f(or)h(the)g(standard)f(input)f(\(\014le)j(descriptor)e
-(0\))150 918 y(if)f Fq(n)g Ft(is)h(not)f(sp)s(eci\014ed.)40
-b Fq(digit)33 b Ft(is)e(closed)g(after)g(b)s(eing)f(duplicated)g(to)h
-Fq(n)p Ft(.)275 1051 y(Similarly)-8 b(,)31 b(the)f(redirection)h(op)s
-(erator)390 1184 y Fs([)p Fj(n)11 b Fs(]>&)p Fj(digit)p
-Fs(-)150 1317 y Ft(mo)m(v)m(es)29 b(the)g(\014le)f(descriptor)f
+37 b Fq(w)m(ord)k Ft(do)s(es)150 763 y(not)28 b(expand)f(to)i(one)f(or)
+f(more)h(digits,)i(the)e(standard)e(output)i(and)f(standard)g(error)g
+(are)i(redirected)f(as)150 872 y(describ)s(ed)h(previously)-8
+b(.)150 1097 y Fk(3.6.9)63 b(Mo)m(ving)41 b(File)h(Descriptors)275
+1342 y Ft(The)29 b(redirection)i(op)s(erator)390 1477
+y Fs([)p Fj(n)11 b Fs(]<&)p Fj(digit)p Fs(-)150 1612
+y Ft(mo)m(v)m(es)33 b(the)f(\014le)g(descriptor)f Fq(digit)k
+Ft(to)d(\014le)g(descriptor)g Fq(n)p Ft(,)f(or)h(the)g(standard)f
+(input)f(\(\014le)j(descriptor)e(0\))150 1722 y(if)f
+Fq(n)g Ft(is)h(not)f(sp)s(eci\014ed.)40 b Fq(digit)33
+b Ft(is)e(closed)g(after)g(b)s(eing)f(duplicated)g(to)h
+Fq(n)p Ft(.)275 1857 y(Similarly)-8 b(,)31 b(the)f(redirection)h(op)s
+(erator)390 1992 y Fs([)p Fj(n)11 b Fs(]>&)p Fj(digit)p
+Fs(-)150 2127 y Ft(mo)m(v)m(es)29 b(the)g(\014le)f(descriptor)f
 Fq(digit)k Ft(to)e(\014le)f(descriptor)g Fq(n)p Ft(,)g(or)g(the)g
 (standard)f(output)h(\(\014le)g(descriptor)g(1\))150
-1427 y(if)i Fq(n)g Ft(is)h(not)f(sp)s(eci\014ed.)150
-1647 y Fk(3.6.10)63 b(Op)s(ening)42 b(File)g(Descriptors)g(for)g
-(Reading)e(and)h(W)-10 b(riting)275 1890 y Ft(The)29
-b(redirection)i(op)s(erator)390 2023 y Fs([)p Fj(n)11
-b Fs(]<>)p Fj(word)150 2157 y Ft(causes)39 b(the)g(\014le)g(whose)g
+2236 y(if)i Fq(n)g Ft(is)h(not)f(sp)s(eci\014ed.)150
+2462 y Fk(3.6.10)63 b(Op)s(ening)42 b(File)g(Descriptors)g(for)g
+(Reading)e(and)h(W)-10 b(riting)275 2706 y Ft(The)29
+b(redirection)i(op)s(erator)390 2841 y Fs([)p Fj(n)11
+b Fs(]<>)p Fj(word)150 2976 y Ft(causes)39 b(the)g(\014le)g(whose)g
 (name)g(is)g(the)g(expansion)g(of)g Fq(w)m(ord)j Ft(to)d(b)s(e)g(op)s
-(ened)f(for)g(b)s(oth)h(reading)g(and)150 2266 y(writing)33
+(ened)f(for)g(b)s(oth)h(reading)g(and)150 3086 y(writing)33
 b(on)f(\014le)h(descriptor)f Fq(n)p Ft(,)h(or)g(on)f(\014le)h
 (descriptor)g(0)g(if)f Fq(n)g Ft(is)h(not)g(sp)s(eci\014ed.)47
-b(If)32 b(the)h(\014le)f(do)s(es)h(not)150 2376 y(exist,)e(it)g(is)g
-(created.)150 2629 y Fr(3.7)68 b(Executing)46 b(Commands)150
-2959 y Fk(3.7.1)63 b(Simple)41 b(Command)h(Expansion)275
-3202 y Ft(When)35 b(a)h(simple)f(command)h(is)f(executed,)j(the)e
+b(If)32 b(the)h(\014le)f(do)s(es)h(not)150 3195 y(exist,)e(it)g(is)g
+(created.)150 3454 y Fr(3.7)68 b(Executing)46 b(Commands)150
+3789 y Fk(3.7.1)63 b(Simple)41 b(Command)h(Expansion)275
+4034 y Ft(When)35 b(a)h(simple)f(command)h(is)f(executed,)j(the)e
 (shell)g(p)s(erforms)e(the)i(follo)m(wing)h(expansions,)f(as-)150
-3312 y(signmen)m(ts,)31 b(and)f(redirections,)h(from)f(left)h(to)g
-(righ)m(t.)199 3445 y(1.)61 b(The)38 b(w)m(ords)f(that)i(the)g(parser)e
+4143 y(signmen)m(ts,)31 b(and)f(redirections,)h(from)f(left)h(to)g
+(righ)m(t.)199 4278 y(1.)61 b(The)38 b(w)m(ords)f(that)i(the)g(parser)e
 (has)h(mark)m(ed)g(as)h(v)-5 b(ariable)39 b(assignmen)m(ts)g(\(those)g
-(preceding)f(the)330 3554 y(command)30 b(name\))h(and)f(redirections)h
+(preceding)f(the)330 4388 y(command)30 b(name\))h(and)f(redirections)h
 (are)f(sa)m(v)m(ed)i(for)e(later)h(pro)s(cessing.)199
-3688 y(2.)61 b(The)39 b(w)m(ords)g(that)i(are)f(not)g(v)-5
+4523 y(2.)61 b(The)39 b(w)m(ords)g(that)i(are)f(not)g(v)-5
 b(ariable)40 b(assignmen)m(ts)h(or)e(redirections)i(are)f(expanded)f
-(\(see)h(Sec-)330 3797 y(tion)d(3.5)i([Shell)e(Expansions],)h(page)g
+(\(see)h(Sec-)330 4632 y(tion)d(3.5)i([Shell)e(Expansions],)h(page)g
 (17\).)61 b(If)37 b(an)m(y)g(w)m(ords)f(remain)h(after)h(expansion,)h
-(the)e(\014rst)330 3907 y(w)m(ord)31 b(is)g(tak)m(en)h(to)g(b)s(e)f
+(the)e(\014rst)330 4742 y(w)m(ord)31 b(is)g(tak)m(en)h(to)g(b)s(e)f
 (the)g(name)h(of)f(the)h(command)f(and)f(the)i(remaining)f(w)m(ords)g
-(are)g(the)h(argu-)330 4016 y(men)m(ts.)199 4150 y(3.)61
+(are)g(the)h(argu-)330 4851 y(men)m(ts.)199 4986 y(3.)61
 b(Redirections)25 b(are)f(p)s(erformed)f(as)h(describ)s(ed)f(ab)s(o)m
-(v)m(e)i(\(see)g(Section)g(3.6)g([Redirections],)i(page)d(25\).)199
-4283 y(4.)61 b(The)25 b(text)h(after)f(the)g(`)p Fs(=)p
+(v)m(e)i(\(see)g(Section)g(3.6)g([Redirections],)i(page)d(26\).)199
+5121 y(4.)61 b(The)25 b(text)h(after)f(the)g(`)p Fs(=)p
 Ft(')h(in)e(eac)m(h)j(v)-5 b(ariable)25 b(assignmen)m(t)h(undergo)s(es)
-e(tilde)i(expansion,)g(parameter)330 4392 y(expansion,)49
+e(tilde)i(expansion,)g(parameter)330 5230 y(expansion,)49
 b(command)d(substitution,)j(arithmetic)d(expansion,)k(and)45
-b(quote)h(remo)m(v)-5 b(al)46 b(b)s(efore)330 4502 y(b)s(eing)30
-b(assigned)h(to)g(the)f(v)-5 b(ariable.)275 4659 y(If)32
-b(no)i(command)f(name)g(results,)h(the)g(v)-5 b(ariable)34
-b(assignmen)m(ts)g(a\013ect)h(the)f(curren)m(t)f(shell)h(en)m(viron-)
-150 4768 y(men)m(t.)39 b(Otherwise,)27 b(the)e(v)-5 b(ariables)26
-b(are)g(added)f(to)h(the)f(en)m(vironmen)m(t)h(of)g(the)f(executed)h
-(command)g(and)150 4878 y(do)35 b(not)f(a\013ect)j(the)d(curren)m(t)h
-(shell)g(en)m(vironmen)m(t.)54 b(If)34 b(an)m(y)h(of)g(the)f(assignmen)
-m(ts)i(attempts)f(to)h(assign)150 4988 y(a)j(v)-5 b(alue)39
-b(to)g(a)g(readonly)f(v)-5 b(ariable,)42 b(an)c(error)g(o)s(ccurs,)j
-(and)c(the)i(command)f(exits)h(with)g(a)f(non-zero)150
-5097 y(status.)275 5230 y(If)33 b(no)g(command)g(name)h(results,)g
-(redirections)g(are)g(p)s(erformed,)f(but)g(do)h(not)f(a\013ect)i(the)f
-(curren)m(t)150 5340 y(shell)d(en)m(vironmen)m(t.)41
-b(A)30 b(redirection)h(error)f(causes)h(the)g(command)f(to)h(exit)g
-(with)f(a)h(non-zero)g(status.)p eop end
+b(quote)h(remo)m(v)-5 b(al)46 b(b)s(efore)330 5340 y(b)s(eing)30
+b(assigned)h(to)g(the)f(v)-5 b(ariable.)p eop end
 %%Page: 30 36
 TeXDict begin 30 35 bop 150 -116 a Ft(30)2572 b(Bash)31
-b(Reference)g(Man)m(ual)275 299 y(If)26 b(there)i(is)f(a)h(command)f
-(name)h(left)g(after)g(expansion,)g(execution)h(pro)s(ceeds)e(as)g
-(describ)s(ed)f(b)s(elo)m(w.)150 408 y(Otherwise,)39
-b(the)e(command)g(exits.)62 b(If)37 b(one)g(of)g(the)h(expansions)f
-(con)m(tained)h(a)g(command)f(substitu-)150 518 y(tion,)i(the)d(exit)h
-(status)g(of)f(the)h(command)f(is)h(the)f(exit)h(status)g(of)f(the)h
-(last)g(command)f(substitution)150 628 y(p)s(erformed.)55
-b(If)35 b(there)g(w)m(ere)h(no)g(command)f(substitutions,)i(the)e
-(command)h(exits)g(with)f(a)h(status)g(of)150 737 y(zero.)150
-969 y Fk(3.7.2)63 b(Command)41 b(Searc)m(h)f(and)h(Execution)275
-1217 y Ft(After)35 b(a)h(command)f(has)h(b)s(een)e(split)i(in)m(to)g(w)
-m(ords,)h(if)e(it)h(results)g(in)f(a)h(simple)f(command)g(and)g(an)150
-1327 y(optional)d(list)f(of)f(argumen)m(ts,)h(the)g(follo)m(wing)g
-(actions)h(are)f(tak)m(en.)199 1465 y(1.)61 b(If)24 b(the)g(command)g
-(name)g(con)m(tains)i(no)e(slashes,)i(the)e(shell)h(attempts)g(to)g(lo)
-s(cate)h(it.)39 b(If)24 b(there)g(exists)330 1575 y(a)h(shell)g
-(function)f(b)m(y)g(that)h(name,)h(that)f(function)f(is)h(in)m(v)m(ok)m
-(ed)h(as)e(describ)s(ed)g(in)g(Section)h(3.3)h([Shell)330
-1684 y(F)-8 b(unctions],)31 b(page)h(14.)199 1821 y(2.)61
-b(If)41 b(the)g(name)h(do)s(es)f(not)g(matc)m(h)i(a)e(function,)j(the)e
-(shell)f(searc)m(hes)i(for)e(it)h(in)f(the)g(list)h(of)g(shell)330
-1930 y(builtins.)e(If)30 b(a)h(matc)m(h)g(is)f(found,)g(that)h(builtin)
-f(is)g(in)m(v)m(ok)m(ed.)199 2067 y(3.)61 b(If)40 b(the)g(name)h(is)f
-(neither)h(a)f(shell)h(function)f(nor)g(a)g(builtin,)j(and)d(con)m
-(tains)h(no)g(slashes,)i(Bash)330 2176 y(searc)m(hes)c(eac)m(h)g
-(elemen)m(t)g(of)g Fs($PATH)d Ft(for)i(a)g(directory)h(con)m(taining)g
-(an)f(executable)h(\014le)f(b)m(y)g(that)330 2286 y(name.)56
-b(Bash)36 b(uses)f(a)h(hash)e(table)j(to)f(remem)m(b)s(er)f(the)h(full)
-f(pathnames)g(of)h(executable)h(\014les)e(to)330 2396
+b(Reference)g(Man)m(ual)275 299 y(If)h(no)i(command)f(name)g(results,)h
+(the)g(v)-5 b(ariable)34 b(assignmen)m(ts)g(a\013ect)h(the)f(curren)m
+(t)f(shell)h(en)m(viron-)150 408 y(men)m(t.)39 b(Otherwise,)27
+b(the)e(v)-5 b(ariables)26 b(are)g(added)f(to)h(the)f(en)m(vironmen)m
+(t)h(of)g(the)f(executed)h(command)g(and)150 518 y(do)35
+b(not)f(a\013ect)j(the)d(curren)m(t)h(shell)g(en)m(vironmen)m(t.)54
+b(If)34 b(an)m(y)h(of)g(the)f(assignmen)m(ts)i(attempts)f(to)h(assign)
+150 628 y(a)j(v)-5 b(alue)39 b(to)g(a)g(readonly)f(v)-5
+b(ariable,)42 b(an)c(error)g(o)s(ccurs,)j(and)c(the)i(command)f(exits)h
+(with)g(a)f(non-zero)150 737 y(status.)275 907 y(If)33
+b(no)g(command)g(name)h(results,)g(redirections)g(are)g(p)s(erformed,)f
+(but)g(do)h(not)f(a\013ect)i(the)f(curren)m(t)150 1017
+y(shell)d(en)m(vironmen)m(t.)41 b(A)30 b(redirection)h(error)f(causes)h
+(the)g(command)f(to)h(exit)g(with)f(a)h(non-zero)g(status.)275
+1187 y(If)26 b(there)i(is)f(a)h(command)f(name)h(left)g(after)g
+(expansion,)g(execution)h(pro)s(ceeds)e(as)g(describ)s(ed)f(b)s(elo)m
+(w.)150 1296 y(Otherwise,)39 b(the)e(command)g(exits.)62
+b(If)37 b(one)g(of)g(the)h(expansions)f(con)m(tained)h(a)g(command)f
+(substitu-)150 1406 y(tion,)i(the)d(exit)h(status)g(of)f(the)h(command)
+f(is)h(the)f(exit)h(status)g(of)f(the)h(last)g(command)f(substitution)
+150 1515 y(p)s(erformed.)55 b(If)35 b(there)g(w)m(ere)h(no)g(command)f
+(substitutions,)i(the)e(command)h(exits)g(with)f(a)h(status)g(of)150
+1625 y(zero.)150 1920 y Fk(3.7.2)63 b(Command)41 b(Searc)m(h)f(and)h
+(Execution)275 2200 y Ft(After)35 b(a)h(command)f(has)h(b)s(een)e
+(split)i(in)m(to)g(w)m(ords,)h(if)e(it)h(results)g(in)f(a)h(simple)f
+(command)g(and)g(an)150 2309 y(optional)d(list)f(of)f(argumen)m(ts,)h
+(the)g(follo)m(wing)g(actions)h(are)f(tak)m(en.)199 2479
+y(1.)61 b(If)24 b(the)g(command)g(name)g(con)m(tains)i(no)e(slashes,)i
+(the)e(shell)h(attempts)g(to)g(lo)s(cate)h(it.)39 b(If)24
+b(there)g(exists)330 2589 y(a)h(shell)g(function)f(b)m(y)g(that)h
+(name,)h(that)f(function)f(is)h(in)m(v)m(ok)m(ed)h(as)e(describ)s(ed)g
+(in)g(Section)h(3.3)h([Shell)330 2698 y(F)-8 b(unctions],)31
+b(page)h(14.)199 2850 y(2.)61 b(If)41 b(the)g(name)h(do)s(es)f(not)g
+(matc)m(h)i(a)e(function,)j(the)e(shell)f(searc)m(hes)i(for)e(it)h(in)f
+(the)g(list)h(of)g(shell)330 2960 y(builtins.)e(If)30
+b(a)h(matc)m(h)g(is)f(found,)g(that)h(builtin)f(is)g(in)m(v)m(ok)m(ed.)
+199 3112 y(3.)61 b(If)40 b(the)g(name)h(is)f(neither)h(a)f(shell)h
+(function)f(nor)g(a)g(builtin,)j(and)d(con)m(tains)h(no)g(slashes,)i
+(Bash)330 3222 y(searc)m(hes)c(eac)m(h)g(elemen)m(t)g(of)g
+Fs($PATH)d Ft(for)i(a)g(directory)h(con)m(taining)g(an)f(executable)h
+(\014le)f(b)m(y)g(that)330 3331 y(name.)56 b(Bash)36
+b(uses)f(a)h(hash)e(table)j(to)f(remem)m(b)s(er)f(the)h(full)f
+(pathnames)g(of)h(executable)h(\014les)e(to)330 3441
 y(a)m(v)m(oid)e(m)m(ultiple)f Fs(PATH)f Ft(searc)m(hes)i(\(see)f(the)g
 (description)g(of)f Fs(hash)g Ft(in)g(Section)i(4.1)f([Bourne)g(Shell)
-330 2505 y(Builtins],)37 b(page)f(35\).)55 b(A)35 b(full)g(searc)m(h)g
+330 3551 y(Builtins],)37 b(page)f(35\).)55 b(A)35 b(full)g(searc)m(h)g
 (of)g(the)g(directories)h(in)f Fs($PATH)e Ft(is)i(p)s(erformed)f(only)h
-(if)g(the)330 2615 y(command)24 b(is)h(not)g(found)e(in)i(the)g(hash)f
+(if)g(the)330 3660 y(command)24 b(is)h(not)g(found)e(in)i(the)g(hash)f
 (table.)39 b(If)25 b(the)f(searc)m(h)i(is)e(unsuccessful,)h(the)g
-(shell)g(searc)m(hes)330 2724 y(for)e(a)h(de\014ned)e(shell)h(function)
+(shell)g(searc)m(hes)330 3770 y(for)e(a)h(de\014ned)e(shell)h(function)
 h(named)e Fs(command_not_found_handle)p Ft(.)32 b(If)23
-b(that)h(function)f(exists,)330 2834 y(it)32 b(is)f(in)m(v)m(ok)m(ed)i
+b(that)h(function)f(exists,)330 3879 y(it)32 b(is)f(in)m(v)m(ok)m(ed)i
 (with)e(the)h(original)g(command)f(and)g(the)h(original)g(command's)f
-(argumen)m(ts)h(as)g(its)330 2944 y(argumen)m(ts,)h(and)e(the)i
+(argumen)m(ts)h(as)g(its)330 3989 y(argumen)m(ts,)h(and)e(the)i
 (function's)e(exit)i(status)g(b)s(ecomes)f(the)g(exit)h(status)f(of)h
-(the)f(shell.)46 b(If)31 b(that)330 3053 y(function)g(is)g(not)g
+(the)f(shell.)46 b(If)31 b(that)330 4099 y(function)g(is)g(not)g
 (de\014ned,)f(the)i(shell)f(prin)m(ts)f(an)h(error)g(message)h(and)f
-(returns)e(an)i(exit)h(status)g(of)330 3163 y(127.)199
-3299 y(4.)61 b(If)33 b(the)g(searc)m(h)h(is)g(successful,)g(or)f(if)g
+(returns)e(an)i(exit)h(status)g(of)330 4208 y(127.)199
+4360 y(4.)61 b(If)33 b(the)g(searc)m(h)h(is)g(successful,)g(or)f(if)g
 (the)h(command)f(name)g(con)m(tains)i(one)f(or)f(more)g(slashes,)i(the)
-330 3409 y(shell)g(executes)h(the)f(named)f(program)g(in)h(a)g
+330 4470 y(shell)g(executes)h(the)f(named)f(program)g(in)h(a)g
 (separate)h(execution)f(en)m(vironmen)m(t.)55 b(Argumen)m(t)35
-b(0)330 3518 y(is)30 b(set)h(to)h(the)e(name)h(giv)m(en,)g(and)f(the)h
+b(0)330 4580 y(is)30 b(set)h(to)h(the)e(name)h(giv)m(en,)g(and)f(the)h
 (remaining)f(argumen)m(ts)h(to)g(the)g(command)f(are)h(set)g(to)g(the)
-330 3628 y(argumen)m(ts)g(supplied,)e(if)h(an)m(y)-8
-b(.)199 3764 y(5.)61 b(If)35 b(this)h(execution)h(fails)f(b)s(ecause)g
+330 4689 y(argumen)m(ts)g(supplied,)e(if)h(an)m(y)-8
+b(.)199 4841 y(5.)61 b(If)35 b(this)h(execution)h(fails)f(b)s(ecause)g
 (the)f(\014le)h(is)g(not)g(in)f(executable)j(format,)f(and)e(the)h
-(\014le)g(is)g(not)330 3874 y(a)d(directory)-8 b(,)34
+(\014le)g(is)g(not)330 4951 y(a)d(directory)-8 b(,)34
 b(it)f(is)g(assumed)e(to)j(b)s(e)d(a)i Fq(shell)g(script)h
 Ft(and)e(the)h(shell)f(executes)i(it)f(as)g(describ)s(ed)e(in)330
-3984 y(Section)g(3.8)h([Shell)e(Scripts],)g(page)i(33.)199
-4120 y(6.)61 b(If)38 b(the)h(command)f(w)m(as)h(not)g(b)s(egun)e(async)
+5060 y(Section)g(3.8)h([Shell)e(Scripts],)g(page)i(33.)199
+5213 y(6.)61 b(If)38 b(the)h(command)f(w)m(as)h(not)g(b)s(egun)e(async)
 m(hronously)-8 b(,)42 b(the)c(shell)h(w)m(aits)h(for)e(the)h(command)f
-(to)330 4230 y(complete)32 b(and)e(collects)i(its)f(exit)g(status.)150
-4462 y Fk(3.7.3)63 b(Command)41 b(Execution)f(En)m(vironmen)m(t)275
-4710 y Ft(The)29 b(shell)i(has)f(an)g Fq(execution)i(en)m(vironmen)m(t)
-p Ft(,)f(whic)m(h)f(consists)h(of)g(the)f(follo)m(wing:)225
-4848 y Fp(\017)60 b Ft(op)s(en)32 b(\014les)g(inherited)g(b)m(y)h(the)f
-(shell)h(at)g(in)m(v)m(o)s(cation,)j(as)c(mo)s(di\014ed)g(b)m(y)g
-(redirections)h(supplied)e(to)330 4957 y(the)g Fs(exec)e
-Ft(builtin)225 5094 y Fp(\017)60 b Ft(the)28 b(curren)m(t)g(w)m(orking)
-h(directory)g(as)f(set)h(b)m(y)f Fs(cd)p Ft(,)g Fs(pushd)p
-Ft(,)g(or)g Fs(popd)p Ft(,)g(or)g(inherited)g(b)m(y)g(the)h(shell)f(at)
-330 5204 y(in)m(v)m(o)s(cation)225 5340 y Fp(\017)60
-b Ft(the)31 b(\014le)f(creation)i(mo)s(de)e(mask)g(as)h(set)g(b)m(y)f
-Fs(umask)f Ft(or)h(inherited)g(from)g(the)h(shell's)f(paren)m(t)p
+(to)330 5322 y(complete)32 b(and)e(collects)i(its)f(exit)g(status.)p
 eop end
 %%Page: 31 37
 TeXDict begin 31 36 bop 150 -116 a Ft(Chapter)30 b(3:)41
-b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(31)225 299
-y Fp(\017)60 b Ft(curren)m(t)30 b(traps)g(set)h(b)m(y)f
-Fs(trap)225 432 y Fp(\017)60 b Ft(shell)30 b(parameters)f(that)h(are)g
+b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(31)150 299
+y Fk(3.7.3)63 b(Command)41 b(Execution)f(En)m(vironmen)m(t)275
+551 y Ft(The)29 b(shell)i(has)f(an)g Fq(execution)i(en)m(vironmen)m(t)p
+Ft(,)f(whic)m(h)f(consists)h(of)g(the)f(follo)m(wing:)225
+693 y Fp(\017)60 b Ft(op)s(en)32 b(\014les)g(inherited)g(b)m(y)h(the)f
+(shell)h(at)g(in)m(v)m(o)s(cation,)j(as)c(mo)s(di\014ed)g(b)m(y)g
+(redirections)h(supplied)e(to)330 802 y(the)g Fs(exec)e
+Ft(builtin)225 940 y Fp(\017)60 b Ft(the)28 b(curren)m(t)g(w)m(orking)h
+(directory)g(as)f(set)h(b)m(y)f Fs(cd)p Ft(,)g Fs(pushd)p
+Ft(,)g(or)g Fs(popd)p Ft(,)g(or)g(inherited)g(b)m(y)g(the)h(shell)f(at)
+330 1050 y(in)m(v)m(o)s(cation)225 1188 y Fp(\017)60
+b Ft(the)31 b(\014le)f(creation)i(mo)s(de)e(mask)g(as)h(set)g(b)m(y)f
+Fs(umask)f Ft(or)h(inherited)g(from)g(the)h(shell's)f(paren)m(t)225
+1327 y Fp(\017)60 b Ft(curren)m(t)30 b(traps)g(set)h(b)m(y)f
+Fs(trap)225 1465 y Fp(\017)60 b Ft(shell)30 b(parameters)f(that)h(are)g
 (set)g(b)m(y)g(v)-5 b(ariable)30 b(assignmen)m(t)g(or)g(with)f
-Fs(set)f Ft(or)i(inherited)f(from)g(the)330 541 y(shell's)i(paren)m(t)f
-(in)g(the)h(en)m(vironmen)m(t)225 674 y Fp(\017)60 b
-Ft(shell)44 b(functions)f(de\014ned)f(during)h(execution)i(or)e
+Fs(set)f Ft(or)i(inherited)f(from)g(the)330 1574 y(shell's)i(paren)m(t)
+f(in)g(the)h(en)m(vironmen)m(t)225 1713 y Fp(\017)60
+Ft(shell)44 b(functions)f(de\014ned)f(during)h(execution)i(or)e
 (inherited)h(from)f(the)h(shell's)g(paren)m(t)f(in)h(the)330
-783 y(en)m(vironmen)m(t)225 916 y Fp(\017)60 b Ft(options)33
+1822 y(en)m(vironmen)m(t)225 1961 y Fp(\017)60 b Ft(options)33
 b(enabled)g(at)h(in)m(v)m(o)s(cation)h(\(either)f(b)m(y)f(default)g(or)
-g(with)g(command-line)g(argumen)m(ts\))h(or)330 1026
-y(b)m(y)c Fs(set)225 1158 y Fp(\017)60 b Ft(options)31
+g(with)g(command-line)g(argumen)m(ts\))h(or)330 2070
+y(b)m(y)c Fs(set)225 2208 y Fp(\017)60 b Ft(options)31
 b(enabled)f(b)m(y)g Fs(shopt)f Ft(\(see)j(Section)f(4.3.2)h([The)e
-(Shopt)g(Builtin],)h(page)g(54\))225 1291 y Fp(\017)60
+(Shopt)g(Builtin],)h(page)g(54\))225 2347 y Fp(\017)60
 b Ft(shell)31 b(aliases)g(de\014ned)f(with)g Fs(alias)f
 Ft(\(see)i(Section)g(6.6)h([Aliases],)g(page)f(77\))225
-1424 y Fp(\017)60 b Ft(v)-5 b(arious)50 b(pro)s(cess)f
+2485 y Fp(\017)60 b Ft(v)-5 b(arious)50 b(pro)s(cess)f
 Fl(id)p Ft(s,)55 b(including)49 b(those)i(of)e(bac)m(kground)h(jobs)f
-(\(see)i(Section)g(3.2.3)g([Lists],)330 1533 y(page)31
+(\(see)i(Section)g(3.2.3)g([Lists],)330 2595 y(page)31
 b(9\),)g(the)g(v)-5 b(alue)31 b(of)f Fs($$)p Ft(,)g(and)g(the)h(v)-5
-b(alue)31 b(of)f Fs($PPID)275 1689 y Ft(When)k(a)g(simple)h(command)f
+b(alue)31 b(of)f Fs($PPID)275 2765 y Ft(When)k(a)g(simple)h(command)f
 (other)g(than)g(a)h(builtin)f(or)g(shell)h(function)f(is)g(to)h(b)s(e)f
-(executed,)i(it)f(is)150 1799 y(in)m(v)m(ok)m(ed)25 b(in)f(a)g
+(executed,)i(it)f(is)150 2875 y(in)m(v)m(ok)m(ed)25 b(in)f(a)g
 (separate)h(execution)g(en)m(vironmen)m(t)g(that)f(consists)g(of)h(the)
-f(follo)m(wing.)40 b(Unless)24 b(otherwise)150 1908 y(noted,)31
+f(follo)m(wing.)40 b(Unless)24 b(otherwise)150 2984 y(noted,)31
 b(the)f(v)-5 b(alues)31 b(are)g(inherited)f(from)g(the)g(shell.)225
-2041 y Fp(\017)60 b Ft(the)31 b(shell's)h(op)s(en)e(\014les,)i(plus)e
+3127 y Fp(\017)60 b Ft(the)31 b(shell's)h(op)s(en)e(\014les,)i(plus)e
 (an)m(y)h(mo)s(di\014cations)h(and)e(additions)h(sp)s(eci\014ed)g(b)m
-(y)g(redirections)g(to)330 2151 y(the)g(command)225 2283
+(y)g(redirections)g(to)330 3236 y(the)g(command)225 3374
 y Fp(\017)60 b Ft(the)31 b(curren)m(t)f(w)m(orking)g(directory)225
-2416 y Fp(\017)60 b Ft(the)31 b(\014le)f(creation)i(mo)s(de)e(mask)225
-2549 y Fp(\017)60 b Ft(shell)32 b(v)-5 b(ariables)33
+3513 y Fp(\017)60 b Ft(the)31 b(\014le)f(creation)i(mo)s(de)e(mask)225
+3651 y Fp(\017)60 b Ft(shell)32 b(v)-5 b(ariables)33
 b(and)e(functions)h(mark)m(ed)g(for)g(exp)s(ort,)g(along)h(with)f(v)-5
-b(ariables)32 b(exp)s(orted)g(for)g(the)330 2658 y(command,)e(passed)g
+b(ariables)32 b(exp)s(orted)g(for)g(the)330 3761 y(command,)e(passed)g
 (in)g(the)h(en)m(vironmen)m(t)g(\(see)g(Section)g(3.7.4)i([En)m
-(vironmen)m(t],)e(page)g(31\))225 2791 y Fp(\017)60 b
+(vironmen)m(t],)e(page)g(32\))225 3899 y Fp(\017)60 b
 Ft(traps)31 b(caugh)m(t)h(b)m(y)f(the)g(shell)h(are)f(reset)h(to)g(the)
 f(v)-5 b(alues)32 b(inherited)e(from)h(the)g(shell's)h(paren)m(t,)g
-(and)330 2900 y(traps)e(ignored)h(b)m(y)f(the)g(shell)h(are)g(ignored)
-275 3056 y(A)41 b(command)g(in)m(v)m(ok)m(ed)i(in)e(this)h(separate)g
+(and)330 4008 y(traps)e(ignored)h(b)m(y)f(the)g(shell)h(are)g(ignored)
+275 4179 y(A)41 b(command)g(in)m(v)m(ok)m(ed)i(in)e(this)h(separate)g
 (en)m(vironmen)m(t)g(cannot)g(a\013ect)h(the)f(shell's)g(execution)150
-3166 y(en)m(vironmen)m(t.)275 3299 y(Command)35 b(substitution,)j
+4289 y(en)m(vironmen)m(t.)275 4431 y(Command)35 b(substitution,)j
 (commands)e(group)s(ed)f(with)i(paren)m(theses,)h(and)e(async)m
-(hronous)g(com-)150 3408 y(mands)c(are)h(in)m(v)m(ok)m(ed)i(in)d(a)i
+(hronous)g(com-)150 4540 y(mands)c(are)h(in)m(v)m(ok)m(ed)i(in)d(a)i
 (subshell)e(en)m(vironmen)m(t)h(that)h(is)f(a)g(duplicate)h(of)f(the)g
-(shell)g(en)m(vironmen)m(t,)150 3518 y(except)i(that)g(traps)f(caugh)m
+(shell)g(en)m(vironmen)m(t,)150 4650 y(except)i(that)g(traps)f(caugh)m
 (t)h(b)m(y)f(the)h(shell)f(are)g(reset)h(to)g(the)f(v)-5
 b(alues)35 b(that)g(the)f(shell)h(inherited)e(from)150
-3627 y(its)g(paren)m(t)f(at)h(in)m(v)m(o)s(cation.)49
+4760 y(its)g(paren)m(t)f(at)h(in)m(v)m(o)s(cation.)49
 b(Builtin)32 b(commands)g(that)h(are)g(in)m(v)m(ok)m(ed)h(as)e(part)g
-(of)h(a)f(pip)s(eline)g(are)h(also)150 3737 y(executed)41
+(of)h(a)f(pip)s(eline)g(are)h(also)150 4869 y(executed)41
 b(in)f(a)h(subshell)e(en)m(vironmen)m(t.)72 b(Changes)40
 b(made)g(to)h(the)g(subshell)e(en)m(vironmen)m(t)i(cannot)150
-3846 y(a\013ect)32 b(the)f(shell's)f(execution)i(en)m(vironmen)m(t.)275
-3979 y(If)38 b(a)h(command)f(is)g(follo)m(w)m(ed)j(b)m(y)d(a)h(`)p
+4979 y(a\013ect)32 b(the)f(shell's)f(execution)i(en)m(vironmen)m(t.)275
+5121 y(If)38 b(a)h(command)f(is)g(follo)m(w)m(ed)j(b)m(y)d(a)h(`)p
 Fs(&)p Ft(')g(and)f(job)g(con)m(trol)i(is)e(not)h(activ)m(e,)k(the)c
-(default)g(standard)150 4089 y(input)e(for)g(the)h(command)f(is)h(the)g
+(default)g(standard)150 5230 y(input)e(for)g(the)h(command)f(is)h(the)g
 (empt)m(y)g(\014le)f(`)p Fs(/dev/null)p Ft('.)61 b(Otherwise,)39
-b(the)f(in)m(v)m(ok)m(ed)h(command)150 4198 y(inherits)30
+b(the)f(in)m(v)m(ok)m(ed)h(command)150 5340 y(inherits)30
 b(the)h(\014le)f(descriptors)g(of)h(the)f(calling)i(shell)f(as)f(mo)s
-(di\014ed)g(b)m(y)g(redirections.)150 4417 y Fk(3.7.4)63
-b(En)m(vironmen)m(t)275 4659 y Ft(When)31 b(a)g(program)h(is)f(in)m(v)m
-(ok)m(ed)i(it)f(is)f(giv)m(en)h(an)g(arra)m(y)g(of)f(strings)g(called)i
-(the)e Fq(en)m(vironmen)m(t)p Ft(.)45 b(This)150 4769
-y(is)30 b(a)h(list)g(of)g(name-v)-5 b(alue)31 b(pairs,)f(of)h(the)f
-(form)g Fs(name=value)p Ft(.)275 4902 y(Bash)39 b(pro)m(vides)g(sev)m
-(eral)i(w)m(a)m(ys)g(to)f(manipulate)f(the)h(en)m(vironmen)m(t.)69
-b(On)38 b(in)m(v)m(o)s(cation,)44 b(the)c(shell)150 5011
+(di\014ed)g(b)m(y)g(redirections.)p eop end
+%%Page: 32 38
+TeXDict begin 32 37 bop 150 -116 a Ft(32)2572 b(Bash)31
+b(Reference)g(Man)m(ual)150 299 y Fk(3.7.4)63 b(En)m(vironmen)m(t)275
+547 y Ft(When)31 b(a)g(program)h(is)f(in)m(v)m(ok)m(ed)i(it)f(is)f(giv)
+m(en)h(an)g(arra)m(y)g(of)f(strings)g(called)i(the)e
+Fq(en)m(vironmen)m(t)p Ft(.)45 b(This)150 656 y(is)30
+b(a)h(list)g(of)g(name-v)-5 b(alue)31 b(pairs,)f(of)h(the)f(form)g
+Fs(name=value)p Ft(.)275 795 y(Bash)39 b(pro)m(vides)g(sev)m(eral)i(w)m
+(a)m(ys)g(to)f(manipulate)f(the)h(en)m(vironmen)m(t.)69
+b(On)38 b(in)m(v)m(o)s(cation,)44 b(the)c(shell)150 904
 y(scans)g(its)h(o)m(wn)f(en)m(vironmen)m(t)h(and)f(creates)i(a)f
 (parameter)f(for)g(eac)m(h)i(name)e(found,)i(automatically)150
-5121 y(marking)26 b(it)g(for)g Fq(exp)s(ort)h Ft(to)g(c)m(hild)f(pro)s
+1014 y(marking)26 b(it)g(for)g Fq(exp)s(ort)h Ft(to)g(c)m(hild)f(pro)s
 (cesses.)39 b(Executed)26 b(commands)g(inherit)g(the)g(en)m(vironmen)m
-(t.)39 b(The)150 5230 y Fs(export)c Ft(and)i(`)p Fs(declare)29
+(t.)39 b(The)150 1123 y Fs(export)c Ft(and)i(`)p Fs(declare)29
 b(-x)p Ft(')36 b(commands)h(allo)m(w)i(parameters)e(and)g(functions)g
-(to)h(b)s(e)e(added)h(to)h(and)150 5340 y(deleted)21
+(to)h(b)s(e)e(added)h(to)h(and)150 1233 y(deleted)21
 b(from)f(the)h(en)m(vironmen)m(t.)38 b(If)20 b(the)h(v)-5
 b(alue)21 b(of)g(a)g(parameter)g(in)f(the)g(en)m(vironmen)m(t)i(is)e
-(mo)s(di\014ed,)i(the)p eop end
-%%Page: 32 38
-TeXDict begin 32 37 bop 150 -116 a Ft(32)2572 b(Bash)31
-b(Reference)g(Man)m(ual)150 299 y(new)g(v)-5 b(alue)32
+(mo)s(di\014ed,)i(the)150 1343 y(new)31 b(v)-5 b(alue)32
 b(b)s(ecomes)f(part)h(of)f(the)h(en)m(vironmen)m(t,)g(replacing)h(the)e
 (old.)44 b(The)31 b(en)m(vironmen)m(t)h(inherited)150
-408 y(b)m(y)f(an)m(y)g(executed)h(command)f(consists)g(of)g(the)g
+1452 y(b)m(y)f(an)m(y)g(executed)h(command)f(consists)g(of)g(the)g
 (shell's)h(initial)g(en)m(vironmen)m(t,)g(whose)f(v)-5
-b(alues)31 b(ma)m(y)h(b)s(e)150 518 y(mo)s(di\014ed)26
+b(alues)31 b(ma)m(y)h(b)s(e)150 1562 y(mo)s(di\014ed)26
 b(in)g(the)h(shell,)h(less)f(an)m(y)g(pairs)f(remo)m(v)m(ed)i(b)m(y)f
 (the)g Fs(unset)e Ft(and)h(`)p Fs(export)j(-n)p Ft(')e(commands,)g
-(plus)150 628 y(an)m(y)k(additions)f(via)h(the)g Fs(export)d
-Ft(and)i(`)p Fs(declare)f(-x)p Ft(')h(commands.)275 758
+(plus)150 1671 y(an)m(y)k(additions)f(via)h(the)g Fs(export)d
+Ft(and)i(`)p Fs(declare)f(-x)p Ft(')h(commands.)275 1810
 y(The)j(en)m(vironmen)m(t)i(for)f(an)m(y)g(simple)h(command)f(or)g
 (function)g(ma)m(y)g(b)s(e)g(augmen)m(ted)h(temp)s(orarily)150
-868 y(b)m(y)c(pre\014xing)e(it)i(with)g(parameter)g(assignmen)m(ts,)h
+1919 y(b)m(y)c(pre\014xing)e(it)i(with)g(parameter)g(assignmen)m(ts,)h
 (as)e(describ)s(ed)g(in)g(Section)i(3.4)g([Shell)e(P)m(arameters],)150
-978 y(page)g(15.)41 b(These)29 b(assignmen)m(t)i(statemen)m(ts)g
+2029 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 1108 y(If)d(the)h(`)p Fs(-k)p Ft(')g(option)g(is)g(set)g
+(command.)275 2167 y(If)d(the)h(`)p Fs(-k)p Ft(')g(option)g(is)g(set)g
 (\(see)h(Section)f(4.3.1)i([The)e(Set)g(Builtin],)h(page)f(50\),)i
-(then)e(all)g(parameter)150 1218 y(assignmen)m(ts)i(are)g(placed)h(in)e
+(then)e(all)g(parameter)150 2277 y(assignmen)m(ts)i(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 1327 y(command)g(name.)275
-1458 y(When)f(Bash)h(in)m(v)m(ok)m(es)i(an)e(external)g(command,)g(the)
+(that)f(precede)g(the)150 2386 y(command)g(name.)275
+2525 y(When)f(Bash)h(in)m(v)m(ok)m(es)i(an)e(external)g(command,)g(the)
 g(v)-5 b(ariable)31 b(`)p Fs($_)p Ft(')f(is)g(set)g(to)h(the)f(full)f
-(path)h(name)150 1568 y(of)h(the)f(command)g(and)g(passed)g(to)h(that)g
-(command)f(in)g(its)h(en)m(vironmen)m(t.)150 1780 y Fk(3.7.5)63
-b(Exit)40 b(Status)275 2021 y Ft(The)24 b(exit)i(status)f(of)g(an)g
+(path)h(name)150 2634 y(of)h(the)f(command)g(and)g(passed)g(to)h(that)g
+(command)f(in)g(its)h(en)m(vironmen)m(t.)150 2866 y Fk(3.7.5)63
+b(Exit)40 b(Status)275 3114 y Ft(The)24 b(exit)i(status)f(of)g(an)g
 (executed)h(command)e(is)h(the)h(v)-5 b(alue)25 b(returned)f(b)m(y)h
-(the)g Fq(w)m(aitpid)k Ft(system)c(call)150 2130 y(or)e(equiv)-5
+(the)g Fq(w)m(aitpid)k Ft(system)c(call)150 3224 y(or)e(equiv)-5
 b(alen)m(t)25 b(function.)38 b(Exit)24 b(statuses)g(fall)f(b)s(et)m(w)m
 (een)h(0)g(and)f(255,)j(though,)f(as)e(explained)h(b)s(elo)m(w,)h(the)
-150 2240 y(shell)35 b(ma)m(y)g(use)f(v)-5 b(alues)35
+150 3333 y(shell)35 b(ma)m(y)g(use)f(v)-5 b(alues)35
 b(ab)s(o)m(v)m(e)g(125)h(sp)s(ecially)-8 b(.)54 b(Exit)35
 b(statuses)g(from)f(shell)h(builtins)f(and)f(comp)s(ound)150
-2349 y(commands)j(are)g(also)h(limited)g(to)g(this)f(range.)58
+3443 y(commands)j(are)g(also)h(limited)g(to)g(this)f(range.)58
 b(Under)36 b(certain)h(circumstances,)h(the)e(shell)h(will)f(use)150
-2459 y(sp)s(ecial)31 b(v)-5 b(alues)31 b(to)g(indicate)g(sp)s(eci\014c)
-f(failure)h(mo)s(des.)275 2590 y(F)-8 b(or)32 b(the)g(shell's)g(purp)s
+3552 y(sp)s(ecial)31 b(v)-5 b(alues)31 b(to)g(indicate)g(sp)s(eci\014c)
+f(failure)h(mo)s(des.)275 3691 y(F)-8 b(or)32 b(the)g(shell's)g(purp)s
 (oses,)e(a)j(command)e(whic)m(h)h(exits)g(with)g(a)g(zero)g(exit)h
-(status)f(has)f(succeeded.)150 2699 y(A)e(non-zero)h(exit)g(status)g
+(status)f(has)f(succeeded.)150 3800 y(A)e(non-zero)h(exit)g(status)g
 (indicates)g(failure.)40 b(This)28 b(seemingly)i(coun)m(ter-in)m
-(tuitiv)m(e)i(sc)m(heme)e(is)f(used)g(so)150 2809 y(there)34
+(tuitiv)m(e)i(sc)m(heme)e(is)f(used)g(so)150 3910 y(there)34
 b(is)g(one)g(w)m(ell-de\014ned)g(w)m(a)m(y)g(to)h(indicate)g(success)f
 (and)f(a)h(v)-5 b(ariet)m(y)35 b(of)f(w)m(a)m(ys)h(to)f(indicate)h(v)-5
-b(arious)150 2918 y(failure)38 b(mo)s(des.)62 b(When)38
+b(arious)150 4020 y(failure)38 b(mo)s(des.)62 b(When)38
 b(a)g(command)f(terminates)i(on)e(a)i(fatal)g(signal)f(whose)g(n)m(um)m
-(b)s(er)e(is)i Fq(N)p Ft(,)g(Bash)150 3028 y(uses)30
+(b)s(er)e(is)i Fq(N)p Ft(,)g(Bash)150 4129 y(uses)30
 b(the)g(v)-5 b(alue)31 b(128)p Fs(+)p Fq(N)42 b Ft(as)30
-b(the)h(exit)g(status.)275 3159 y(If)k(a)h(command)g(is)g(not)g(found,)
+b(the)h(exit)g(status.)275 4267 y(If)k(a)h(command)g(is)g(not)g(found,)
 g(the)g(c)m(hild)h(pro)s(cess)e(created)i(to)g(execute)g(it)g(returns)d
-(a)j(status)f(of)150 3268 y(127.)42 b(If)30 b(a)h(command)f(is)g(found)
+(a)j(status)f(of)150 4377 y(127.)42 b(If)30 b(a)h(command)f(is)g(found)
 f(but)h(is)g(not)h(executable,)h(the)f(return)e(status)i(is)f(126.)275
-3399 y(If)i(a)i(command)f(fails)g(b)s(ecause)g(of)h(an)f(error)f
+4515 y(If)i(a)i(command)f(fails)g(b)s(ecause)g(of)h(an)f(error)f
 (during)g(expansion)h(or)g(redirection,)i(the)f(exit)g(status)150
-3509 y(is)c(greater)i(than)e(zero.)275 3639 y(The)38
+4625 y(is)c(greater)i(than)e(zero.)275 4763 y(The)38
 b(exit)h(status)g(is)g(used)f(b)m(y)g(the)h(Bash)g(conditional)h
-(commands)e(\(see)h(Section)h(3.2.4.2)h([Con-)150 3749
+(commands)e(\(see)h(Section)h(3.2.4.2)h([Con-)150 4873
 y(ditional)i(Constructs],)h(page)f(10\))g(and)e(some)i(of)f(the)g(list)
 g(constructs)g(\(see)h(Section)f(3.2.3)i([Lists],)150
-3858 y(page)31 b(9\).)275 3989 y(All)40 b(of)g(the)h(Bash)f(builtins)f
+4982 y(page)31 b(9\).)275 5121 y(All)40 b(of)g(the)h(Bash)f(builtins)f
 (return)g(an)h(exit)h(status)g(of)f(zero)h(if)f(they)g(succeed)g(and)g
-(a)g(non-zero)150 4099 y(status)34 b(on)f(failure,)i(so)f(they)g(ma)m
+(a)g(non-zero)150 5230 y(status)34 b(on)f(failure,)i(so)f(they)g(ma)m
 (y)g(b)s(e)f(used)g(b)m(y)g(the)h(conditional)h(and)e(list)h
-(constructs.)50 b(All)35 b(builtins)150 4208 y(return)29
-b(an)i(exit)g(status)g(of)f(2)h(to)g(indicate)g(incorrect)h(usage.)150
-4421 y Fk(3.7.6)63 b(Signals)275 4661 y Ft(When)27 b(Bash)h(is)h(in)m
+(constructs.)50 b(All)35 b(builtins)150 5340 y(return)29
+b(an)i(exit)g(status)g(of)f(2)h(to)g(indicate)g(incorrect)h(usage.)p
+eop end
+%%Page: 33 39
+TeXDict begin 33 38 bop 150 -116 a Ft(Chapter)30 b(3:)41
+b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(33)150 299
+y Fk(3.7.6)63 b(Signals)275 555 y Ft(When)27 b(Bash)h(is)h(in)m
 (teractiv)m(e,)i(in)d(the)g(absence)h(of)f(an)m(y)g(traps,)h(it)f
 (ignores)h Fs(SIGTERM)d Ft(\(so)i(that)h(`)p Fs(kill)150
-4771 y(0)p Ft(')k(do)s(es)g(not)g(kill)g(an)g(in)m(teractiv)m(e)j
+665 y(0)p Ft(')k(do)s(es)g(not)g(kill)g(an)g(in)m(teractiv)m(e)j
 (shell\),)f(and)d Fs(SIGINT)f Ft(is)i(caugh)m(t)h(and)f(handled)f(\(so)
-h(that)h(the)f Fs(wait)150 4881 y Ft(builtin)24 b(is)h(in)m
+h(that)h(the)f Fs(wait)150 774 y Ft(builtin)24 b(is)h(in)m
 (terruptible\).)39 b(When)24 b(Bash)g(receiv)m(es)j(a)d
 Fs(SIGINT)p Ft(,)h(it)g(breaks)f(out)h(of)f(an)m(y)h(executing)h(lo)s
-(ops.)150 4990 y(In)31 b(all)h(cases,)h(Bash)f(ignores)g
+(ops.)150 884 y(In)31 b(all)h(cases,)h(Bash)f(ignores)g
 Fs(SIGQUIT)p Ft(.)42 b(If)32 b(job)f(con)m(trol)i(is)e(in)h(e\013ect)h
-(\(see)f(Chapter)f(7)h([Job)g(Con)m(trol],)150 5100 y(page)f(87\),)h
+(\(see)f(Chapter)f(7)h([Job)g(Con)m(trol],)150 993 y(page)f(87\),)h
 (Bash)e(ignores)h Fs(SIGTTIN)p Ft(,)e Fs(SIGTTOU)p Ft(,)g(and)g
-Fs(SIGTSTP)p Ft(.)275 5230 y(Non-builtin)i(commands)g(started)g(b)m(y)g
+Fs(SIGTSTP)p Ft(.)275 1140 y(Non-builtin)i(commands)g(started)g(b)m(y)g
 (Bash)h(ha)m(v)m(e)g(signal)g(handlers)e(set)i(to)g(the)g(v)-5
-b(alues)31 b(inherited)150 5340 y(b)m(y)37 b(the)h(shell)g(from)f(its)h
+b(alues)31 b(inherited)150 1250 y(b)m(y)37 b(the)h(shell)g(from)f(its)h
 (paren)m(t.)62 b(When)38 b(job)f(con)m(trol)i(is)e(not)h(in)f
-(e\013ect,)k(async)m(hronous)c(commands)p eop end
-%%Page: 33 39
-TeXDict begin 33 38 bop 150 -116 a Ft(Chapter)30 b(3:)41
-b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(33)150 299
-y(ignore)36 b Fs(SIGINT)e Ft(and)h Fs(SIGQUIT)e Ft(in)j(addition)f(to)i
-(these)f(inherited)f(handlers.)55 b(Commands)35 b(run)f(as)i(a)150
-408 y(result)27 b(of)h(command)f(substitution)h(ignore)g(the)g(k)m(eyb)
-s(oard-generated)g(job)g(con)m(trol)h(signals)f Fs(SIGTTIN)p
-Ft(,)150 518 y Fs(SIGTTOU)p Ft(,)h(and)g Fs(SIGTSTP)p
-Ft(.)275 662 y(The)h(shell)i(exits)g(b)m(y)f(default)g(up)s(on)f
-(receipt)i(of)f(a)h Fs(SIGHUP)p Ft(.)42 b(Before)32 b(exiting,)h(an)e
-(in)m(teractiv)m(e)j(shell)150 771 y(resends)41 b(the)i
-Fs(SIGHUP)e Ft(to)i(all)g(jobs,)i(running)c(or)h(stopp)s(ed.)76
-b(Stopp)s(ed)41 b(jobs)h(are)h(sen)m(t)g Fs(SIGCONT)d
-Ft(to)150 881 y(ensure)32 b(that)h(they)g(receiv)m(e)i(the)e
-Fs(SIGHUP)p Ft(.)47 b(T)-8 b(o)33 b(prev)m(en)m(t)g(the)g(shell)g(from)
-g(sending)f(the)h Fs(SIGHUP)e Ft(signal)150 991 y(to)i(a)g(particular)g
-(job,)g(it)g(should)f(b)s(e)g(remo)m(v)m(ed)h(from)g(the)f(jobs)g
-(table)i(with)e(the)h Fs(disown)e Ft(builtin)h(\(see)150
-1100 y(Section)f(7.2)g([Job)f(Con)m(trol)h(Builtins],)g(page)g(88\))h
-(or)e(mark)m(ed)g(to)h(not)f(receiv)m(e)i Fs(SIGHUP)d
-Ft(using)h Fs(disown)150 1210 y(-h)p Ft(.)275 1354 y(If)38
-b(the)h Fs(huponexit)e Ft(shell)i(option)g(has)g(b)s(een)f(set)i(with)f
-Fs(shopt)e Ft(\(see)j(Section)g(4.3.2)h([The)e(Shopt)150
-1463 y(Builtin],)31 b(page)g(54\),)h(Bash)f(sends)e(a)i
+(e\013ect,)k(async)m(hronous)c(commands)150 1359 y(ignore)f
+Fs(SIGINT)e Ft(and)h Fs(SIGQUIT)e Ft(in)j(addition)f(to)i(these)f
+(inherited)f(handlers.)55 b(Commands)35 b(run)f(as)i(a)150
+1469 y(result)27 b(of)h(command)f(substitution)h(ignore)g(the)g(k)m
+(eyb)s(oard-generated)g(job)g(con)m(trol)h(signals)f
+Fs(SIGTTIN)p Ft(,)150 1578 y Fs(SIGTTOU)p Ft(,)h(and)g
+Fs(SIGTSTP)p Ft(.)275 1725 y(The)h(shell)i(exits)g(b)m(y)f(default)g
+(up)s(on)f(receipt)i(of)f(a)h Fs(SIGHUP)p Ft(.)42 b(Before)32
+b(exiting,)h(an)e(in)m(teractiv)m(e)j(shell)150 1835
+y(resends)41 b(the)i Fs(SIGHUP)e Ft(to)i(all)g(jobs,)i(running)c(or)h
+(stopp)s(ed.)76 b(Stopp)s(ed)41 b(jobs)h(are)h(sen)m(t)g
+Fs(SIGCONT)d Ft(to)150 1944 y(ensure)32 b(that)h(they)g(receiv)m(e)i
+(the)e Fs(SIGHUP)p Ft(.)47 b(T)-8 b(o)33 b(prev)m(en)m(t)g(the)g(shell)
+g(from)g(sending)f(the)h Fs(SIGHUP)e Ft(signal)150 2054
+y(to)i(a)g(particular)g(job,)g(it)g(should)f(b)s(e)g(remo)m(v)m(ed)h
+(from)g(the)f(jobs)g(table)i(with)e(the)h Fs(disown)e
+Ft(builtin)h(\(see)150 2163 y(Section)f(7.2)g([Job)f(Con)m(trol)h
+(Builtins],)g(page)g(88\))h(or)e(mark)m(ed)g(to)h(not)f(receiv)m(e)i
+Fs(SIGHUP)d Ft(using)h Fs(disown)150 2273 y(-h)p Ft(.)275
+2419 y(If)38 b(the)h Fs(huponexit)e Ft(shell)i(option)g(has)g(b)s(een)f
+(set)i(with)f Fs(shopt)e Ft(\(see)j(Section)g(4.3.2)h([The)e(Shopt)150
+2529 y(Builtin],)31 b(page)g(54\),)h(Bash)f(sends)e(a)i
 Fs(SIGHUP)e Ft(to)i(all)g(jobs)f(when)f(an)i(in)m(teractiv)m(e)i(login)
-e(shell)g(exits.)275 1607 y(If)38 b(Bash)h(is)g(w)m(aiting)h(for)f(a)g
+e(shell)g(exits.)275 2676 y(If)38 b(Bash)h(is)g(w)m(aiting)h(for)f(a)g
 (command)f(to)i(complete)g(and)e(receiv)m(es)j(a)e(signal)h(for)e(whic)
-m(h)h(a)g(trap)150 1717 y(has)c(b)s(een)f(set,)i(the)f(trap)g(will)g
+m(h)h(a)g(trap)150 2785 y(has)c(b)s(een)f(set,)i(the)f(trap)g(will)g
 (not)g(b)s(e)f(executed)i(un)m(til)f(the)g(command)f(completes.)55
-b(When)35 b(Bash)g(is)150 1826 y(w)m(aiting)j(for)f(an)g(async)m
+b(When)35 b(Bash)g(is)150 2895 y(w)m(aiting)j(for)f(an)g(async)m
 (hronous)g(command)g(via)h(the)f Fs(wait)f Ft(builtin,)i(the)g
-(reception)g(of)f(a)g(signal)h(for)150 1936 y(whic)m(h)d(a)g(trap)g
+(reception)g(of)f(a)g(signal)h(for)150 3004 y(whic)m(h)d(a)g(trap)g
 (has)g(b)s(een)f(set)h(will)h(cause)f(the)g Fs(wait)f
 Ft(builtin)h(to)g(return)f(immediately)i(with)f(an)g(exit)150
-2045 y(status)c(greater)g(than)f(128,)i(immediately)g(after)f(whic)m(h)
-f(the)h(trap)f(is)g(executed.)150 2326 y Fr(3.8)68 b(Shell)45
-b(Scripts)275 2580 y Ft(A)c(shell)h(script)g(is)g(a)g(text)h(\014le)f
+3114 y(status)c(greater)g(than)f(128,)i(immediately)g(after)f(whic)m(h)
+f(the)h(trap)f(is)g(executed.)150 3402 y Fr(3.8)68 b(Shell)45
+b(Scripts)275 3658 y Ft(A)c(shell)h(script)g(is)g(a)g(text)h(\014le)f
 (con)m(taining)h(shell)f(commands.)75 b(When)41 b(suc)m(h)h(a)g(\014le)
-g(is)g(used)f(as)150 2689 y(the)33 b(\014rst)f(non-option)h(argumen)m
+g(is)g(used)f(as)150 3767 y(the)33 b(\014rst)f(non-option)h(argumen)m
 (t)h(when)e(in)m(v)m(oking)i(Bash,)g(and)e(neither)h(the)g(`)p
 Fs(-c)p Ft(')g(nor)g(`)p Fs(-s)p Ft(')f(option)i(is)150
-2799 y(supplied)j(\(see)j(Section)g(6.1)f([In)m(v)m(oking)h(Bash],)h
+3877 y(supplied)j(\(see)j(Section)g(6.1)f([In)m(v)m(oking)h(Bash],)h
 (page)f(69\),)i(Bash)d(reads)f(and)g(executes)i(commands)150
-2908 y(from)31 b(the)h(\014le,)h(then)e(exits.)46 b(This)31
+3987 y(from)31 b(the)h(\014le,)h(then)e(exits.)46 b(This)31
 b(mo)s(de)g(of)h(op)s(eration)h(creates)g(a)f(non-in)m(teractiv)m(e)i
-(shell.)45 b(The)32 b(shell)150 3018 y(\014rst)26 b(searc)m(hes)h(for)f
+(shell.)45 b(The)32 b(shell)150 4096 y(\014rst)26 b(searc)m(hes)h(for)f
 (the)g(\014le)h(in)f(the)g(curren)m(t)h(directory)-8
 b(,)28 b(and)e(lo)s(oks)g(in)h(the)f(directories)h(in)f
-Fs($PATH)f Ft(if)i(not)150 3128 y(found)i(there.)275
-3271 y(When)34 b(Bash)h(runs)e(a)i(shell)g(script,)g(it)h(sets)f(the)f
+Fs($PATH)f Ft(if)i(not)150 4206 y(found)i(there.)275
+4352 y(When)34 b(Bash)h(runs)e(a)i(shell)g(script,)g(it)h(sets)f(the)f
 (sp)s(ecial)i(parameter)f Fs(0)f Ft(to)h(the)g(name)g(of)g(the)g
-(\014le,)150 3381 y(rather)k(than)g(the)h(name)f(of)h(the)f(shell,)j
+(\014le,)150 4462 y(rather)k(than)g(the)h(name)f(of)h(the)f(shell,)j
 (and)d(the)h(p)s(ositional)g(parameters)f(are)h(set)g(to)g(the)g
-(remain-)150 3491 y(ing)f(argumen)m(ts,)j(if)d(an)m(y)g(are)g(giv)m
+(remain-)150 4571 y(ing)f(argumen)m(ts,)j(if)d(an)m(y)g(are)g(giv)m
 (en.)67 b(If)39 b(no)g(additional)g(argumen)m(ts)h(are)f(supplied,)h
-(the)f(p)s(ositional)150 3600 y(parameters)31 b(are)f(unset.)275
-3744 y(A)39 b(shell)h(script)f(ma)m(y)h(b)s(e)f(made)h(executable)h(b)m
+(the)f(p)s(ositional)150 4681 y(parameters)31 b(are)f(unset.)275
+4828 y(A)39 b(shell)h(script)f(ma)m(y)h(b)s(e)f(made)h(executable)h(b)m
 (y)e(using)g(the)h Fs(chmod)e Ft(command)h(to)h(turn)e(on)i(the)150
-3854 y(execute)j(bit.)73 b(When)41 b(Bash)g(\014nds)e(suc)m(h)i(a)h
+4937 y(execute)j(bit.)73 b(When)41 b(Bash)g(\014nds)e(suc)m(h)i(a)h
 (\014le)f(while)g(searc)m(hing)h(the)f Fs($PATH)f Ft(for)h(a)h
-(command,)h(it)150 3963 y(spa)m(wns)30 b(a)g(subshell)g(to)h(execute)h
-(it.)41 b(In)30 b(other)g(w)m(ords,)g(executing)390 4107
-y Fs(filename)46 b Fj(arguments)150 4251 y Ft(is)30 b(equiv)-5
-b(alen)m(t)32 b(to)f(executing)390 4395 y Fs(bash)47
-b(filename)e Fj(arguments)150 4539 y Ft(if)30 b Fs(filename)d
-Ft(is)j(an)f(executable)j(shell)e(script.)40 b(This)29
-b(subshell)g(reinitializes)i(itself,)g(so)f(that)h(the)e(e\013ect)150
-4648 y(is)36 b(as)h(if)g(a)f(new)g(shell)h(had)f(b)s(een)g(in)m(v)m(ok)
-m(ed)h(to)h(in)m(terpret)e(the)h(script,)h(with)e(the)h(exception)h
-(that)f(the)150 4758 y(lo)s(cations)25 b(of)g(commands)e(remem)m(b)s
-(ered)h(b)m(y)g(the)g(paren)m(t)g(\(see)h(the)f(description)g(of)g
-Fs(hash)f Ft(in)h(Section)h(4.1)150 4867 y([Bourne)30
-b(Shell)h(Builtins],)g(page)g(35\))h(are)e(retained)h(b)m(y)f(the)h(c)m
-(hild.)275 5011 y(Most)36 b(v)m(ersions)g(of)g(Unix)f(mak)m(e)h(this)g
-(a)g(part)f(of)h(the)g(op)s(erating)g(system's)f(command)h(execution)
-150 5121 y(mec)m(hanism.)50 b(If)33 b(the)g(\014rst)g(line)h(of)f(a)h
+(command,)h(it)150 5047 y(spa)m(wns)30 b(a)g(subshell)g(to)h(execute)h
+(it.)41 b(In)30 b(other)g(w)m(ords,)g(executing)390 5193
+y Fs(filename)46 b Fj(arguments)150 5340 y Ft(is)30 b(equiv)-5
+b(alen)m(t)32 b(to)f(executing)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)390 299 y Fs(bash)47 b(filename)e
+Fj(arguments)150 433 y Ft(if)30 b Fs(filename)d Ft(is)j(an)f
+(executable)j(shell)e(script.)40 b(This)29 b(subshell)g(reinitializes)i
+(itself,)g(so)f(that)h(the)e(e\013ect)150 543 y(is)36
+b(as)h(if)g(a)f(new)g(shell)h(had)f(b)s(een)g(in)m(v)m(ok)m(ed)h(to)h
+(in)m(terpret)e(the)h(script,)h(with)e(the)h(exception)h(that)f(the)150
+653 y(lo)s(cations)25 b(of)g(commands)e(remem)m(b)s(ered)h(b)m(y)g(the)
+g(paren)m(t)g(\(see)h(the)f(description)g(of)g Fs(hash)f
+Ft(in)h(Section)h(4.1)150 762 y([Bourne)30 b(Shell)h(Builtins],)g(page)
+g(35\))h(are)e(retained)h(b)m(y)f(the)h(c)m(hild.)275
+897 y(Most)36 b(v)m(ersions)g(of)g(Unix)f(mak)m(e)h(this)g(a)g(part)f
+(of)h(the)g(op)s(erating)g(system's)f(command)h(execution)150
+1006 y(mec)m(hanism.)50 b(If)33 b(the)g(\014rst)g(line)h(of)f(a)h
 (script)f(b)s(egins)g(with)g(the)g(t)m(w)m(o)i(c)m(haracters)g(`)p
-Fs(#!)p Ft(',)f(the)g(remainder)150 5230 y(of)d(the)g(line)h(sp)s
+Fs(#!)p Ft(',)f(the)g(remainder)150 1116 y(of)d(the)g(line)h(sp)s
 (eci\014es)e(an)h(in)m(terpreter)g(for)g(the)g(program.)43
 b(Th)m(us,)30 b(y)m(ou)h(can)h(sp)s(ecify)e(Bash,)i Fs(awk)p
-Ft(,)e(P)m(erl,)150 5340 y(or)g(some)h(other)g(in)m(terpreter)g(and)e
+Ft(,)e(P)m(erl,)150 1225 y(or)g(some)h(other)g(in)m(terpreter)g(and)e
 (write)i(the)f(rest)h(of)g(the)f(script)g(\014le)h(in)f(that)h
-(language.)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)275 299 y(The)40 b(argumen)m(ts)h(to)g(the)g
-(in)m(terpreter)g(consist)g(of)g(a)g(single)h(optional)f(argumen)m(t)h
-(follo)m(wing)g(the)150 408 y(in)m(terpreter)33 b(name)h(on)f(the)g
+(language.)275 1360 y(The)40 b(argumen)m(ts)h(to)g(the)g(in)m
+(terpreter)g(consist)g(of)g(a)g(single)h(optional)f(argumen)m(t)h
+(follo)m(wing)g(the)150 1469 y(in)m(terpreter)33 b(name)h(on)f(the)g
 (\014rst)f(line)i(of)f(the)g(script)g(\014le,)h(follo)m(w)m(ed)h(b)m(y)
-e(the)g(name)g(of)g(the)h(script)f(\014le,)150 518 y(follo)m(w)m(ed)g
+e(the)g(name)g(of)g(the)h(script)f(\014le,)150 1579 y(follo)m(w)m(ed)g
 (b)m(y)f(the)f(rest)h(of)g(the)f(argumen)m(ts.)45 b(Bash)31
 b(will)h(p)s(erform)e(this)i(action)h(on)e(op)s(erating)h(systems)150
-628 y(that)24 b(do)g(not)f(handle)g(it)h(themselv)m(es.)40
+1689 y(that)24 b(do)g(not)f(handle)g(it)h(themselv)m(es.)40
 b(Note)25 b(that)f(some)g(older)g(v)m(ersions)f(of)h(Unix)f(limit)i
-(the)f(in)m(terpreter)150 737 y(name)30 b(and)g(argumen)m(t)h(to)g(a)g
-(maxim)m(um)f(of)h(32)g(c)m(haracters.)275 872 y(Bash)h(scripts)g
+(the)f(in)m(terpreter)150 1798 y(name)30 b(and)g(argumen)m(t)h(to)g(a)g
+(maxim)m(um)f(of)h(32)g(c)m(haracters.)275 1933 y(Bash)h(scripts)g
 (often)g(b)s(egin)g(with)g Fs(#!)e(/bin/bash)g Ft(\(assuming)i(that)h
-(Bash)f(has)g(b)s(een)f(installed)i(in)150 981 y(`)p
+(Bash)f(has)g(b)s(een)f(installed)i(in)150 2042 y(`)p
 Fs(/bin)p Ft('\),)25 b(since)e(this)g(ensures)f(that)i(Bash)f(will)h(b)
 s(e)e(used)h(to)h(in)m(terpret)f(the)g(script,)i(ev)m(en)f(if)f(it)h
-(is)f(executed)150 1091 y(under)29 b(another)h(shell.)p
+(is)f(executed)150 2152 y(under)29 b(another)h(shell.)p
 eop end
 %%Page: 35 41
 TeXDict begin 35 40 bop 150 -116 a Ft(Chapter)30 b(4:)41
@@ -7409,7 +7448,7 @@ b(Builtin)150 864 y(commands)f(are)h(necessary)g(to)g(implemen)m(t)g
 (con)m(trol)i(facilities)g(\(see)f(Section)h(7.2)f([Job)f(Con)m(trol)h
 (Builtins],)150 1573 y(page)40 b(88\),)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
-(79\),)j(the)150 1682 y(command)23 b(history)h(\(see)g(Section)g(9.2)h
+(80\),)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(119\),)h(and)d(the)h
 (programmable)150 1792 y(completion)32 b(facilities)g(\(see)g(Section)f
 (8.7)g([Programmable)g(Completion)g(Builtins],)g(page)h(114\).)275
@@ -7655,1375 +7694,1384 @@ 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
 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
+2354 y(readonly)46 b([-aApf])f([)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 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 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 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 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 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
-3148 y(of)27 b(the)g(v)-5 b(ariable)27 b(is)g(set)g(to)g
+Fq(name)k Ft(refers)22 b(to)i(a)f(shell)630 2710 y(function.)39
+b(The)26 b(`)p Fs(-a)p Ft(')h(option)g(means)g(eac)m(h)h
+Fq(name)k Ft(refers)26 b(to)i(an)e(indexed)h(arra)m(y)g(v)-5
+b(ariable;)630 2819 y(the)33 b(`)p Fs(-A)p Ft(')g(option)g(means)g(eac)
+m(h)h Fq(name)k Ft(refers)32 b(to)h(an)g(asso)s(ciativ)m(e)j(arra)m(y)d
+(v)-5 b(ariable.)49 b(If)32 b(no)630 2929 y Fq(name)f
+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 3039 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 3148 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 3258 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 3258
+(unless)e(an)g(in)m(v)-5 b(alid)27 b(option)630 3367
 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 3367 y(name,)h(or)f(the)h(`)p Fs(-f)p
+b(or)g(function)630 3477 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 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
+(shell)g(function.)150 3641 y Fs(return)870 3778 y(return)46
+b([)p Fj(n)11 b Fs(])630 3915 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
-3915 y(return)35 b(v)-5 b(alue)37 b(is)f(the)g(exit)h(status)f(of)h
+4025 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
-4025 y(This)21 b(ma)m(y)i(also)g(b)s(e)e(used)g(to)i(terminate)g
+4134 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
-4134 y Fs(.)27 b Ft(\(or)g Fs(source)p Ft(\))f(builtin,)i(returning)e
+4244 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 4244 y(executed)46 b(within)f(the)g(script)g(as)h(the)f
+(command)630 4354 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
-4354 y(asso)s(ciated)30 b(with)e(the)g Fs(RETURN)f Ft(trap)h(is)g
+4463 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
-4463 y(function)38 b(or)f(script.)63 b(The)38 b(return)e(status)i(is)g
+4573 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
-4573 y(function)30 b(and)g(not)g(during)g(the)g(execution)i(of)e(a)h
+4682 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
-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
+4847 y Fs(shift)870 4984 y(shift)46 b([)p Fj(n)11 b Fs(])630
+5121 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 5121 y(from)34 b Fq(n)p Fs(+)p Ft(1)39 b(.)22 b(.)h(.)45
+630 5230 y(from)34 b Fq(n)p Fs(+)p Ft(1)39 b(.)22 b(.)h(.)45
 b Fs($#)34 b Ft(are)g(renamed)g(to)h Fs($1)k Ft(.)22
 b(.)g(.)46 b Fs($#)p Ft(-)p Fq(n)p Ft(.)51 b(P)m(arameters)36
-b(represen)m(ted)e(b)m(y)g(the)630 5230 y(n)m(um)m(b)s(ers)25
+b(represen)m(ted)e(b)m(y)g(the)630 5340 y(n)m(um)m(b)s(ers)25
 b Fs($#)i Ft(to)g Fs($#)p Ft(-)p Fq(n)p Fs(+)p Ft(1)g(are)g(unset.)39
 b Fq(n)26 b Ft(m)m(ust)h(b)s(e)f(a)i(non-negativ)m(e)h(n)m(um)m(b)s(er)
-c(less)i(than)g(or)630 5340 y(equal)33 b(to)h Fs($#)p
-Ft(.)47 b(If)33 b Fq(n)f Ft(is)h(zero)g(or)g(greater)h(than)f
-Fs($#)p Ft(,)g(the)g(p)s(ositional)g(parameters)g(are)h(not)p
-eop end
+c(less)i(than)g(or)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(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
-558 y Fs(test)150 667 y([)432 b Ft(Ev)-5 b(aluate)32
+b(Shell)30 b(Builtin)h(Commands)2069 b(39)630 299 y(equal)33
+b(to)h Fs($#)p Ft(.)47 b(If)33 b Fq(n)f Ft(is)h(zero)g(or)g(greater)h
+(than)f Fs($#)p Ft(,)g(the)g(p)s(ositional)g(parameters)g(are)h(not)630
+408 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 518 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
+677 y Fs(test)150 787 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
-777 y(separate)d(argumen)m(t.)40 b(Expressions)25 b(are)i(comp)s(osed)e
+897 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
-887 y(in)34 b(Section)g(6.4)h([Bash)g(Conditional)f(Expressions],)h
+1006 y(in)34 b(Section)g(6.4)h([Bash)g(Conditional)f(Expressions],)h
 (page)g(75.)52 b Fs(test)33 b Ft(do)s(es)g(not)h(accept)630
-996 y(an)m(y)27 b(options,)i(nor)d(do)s(es)h(it)g(accept)i(and)d
+1116 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 1106 y(end)j(of)g(options.)630 1235 y(When)g(the)h
+(the)630 1225 y(end)j(of)g(options.)630 1360 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 1365
+(command)g(m)m(ust)h(b)s(e)e(a)i Fs(])p Ft(.)630 1494
 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
-1474 y(order)30 b(of)h(precedence.)43 b(The)30 b(ev)-5
+1604 y(order)30 b(of)h(precedence.)43 b(The)30 b(ev)-5
 b(aluation)33 b(dep)s(ends)28 b(on)j(the)g(n)m(um)m(b)s(er)f(of)h
-(argumen)m(ts;)g(see)630 1584 y(b)s(elo)m(w.)630 1733
+(argumen)m(ts;)g(see)630 1714 y(b)s(elo)m(w.)630 1873
 y Fs(!)f Fj(expr)210 b Ft(T)-8 b(rue)30 b(if)g Fq(expr)37
-b Ft(is)30 b(false.)630 1883 y Fs(\()g Fj(expr)40 b Fs(\))122
+b Ft(is)30 b(false.)630 2032 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 1993 y(precedence)31 b(of)f(op)s(erators.)630
-2142 y Fj(expr1)39 b Fs(-a)30 b Fj(expr2)1110 2252 y
+(normal)1110 2142 y(precedence)31 b(of)f(op)s(erators.)630
+2301 y Fj(expr1)39 b Fs(-a)30 b Fj(expr2)1110 2411 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 2401 y Fj(expr1)39
-b Fs(-o)30 b Fj(expr2)1110 2511 y Ft(T)-8 b(rue)30 b(if)g(either)h
+b Fq(expr2)38 b Ft(are)30 b(true.)630 2570 y Fj(expr1)39
+b Fs(-o)30 b Fj(expr2)1110 2680 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
-2660 y(The)37 b Fs(test)f Ft(and)g Fs([)h Ft(builtins)g(ev)-5
+2839 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 2770 y(based)30 b(on)g(the)h(n)m(um)m(b)s(er)e(of)h(argumen)m(ts.)
-630 2919 y(0)h(argumen)m(ts)1110 3029 y(The)f(expression)g(is)g(false.)
-630 3178 y(1)h(argumen)m(t)1110 3288 y(The)f(expression)g(is)g(true)h
+630 2949 y(based)30 b(on)g(the)h(n)m(um)m(b)s(er)e(of)h(argumen)m(ts.)
+630 3108 y(0)h(argumen)m(ts)1110 3218 y(The)f(expression)g(is)g(false.)
+630 3377 y(1)h(argumen)m(t)1110 3487 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
-3437 y(2)g(argumen)m(ts)1110 3547 y(If)f(the)h(\014rst)f(argumen)m(t)h
+3646 y(2)g(argumen)m(ts)1110 3756 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 3656 y(second)j(argumen)m(t)f(is)h(n)m(ull.)50
+(only)h(if)g(the)1110 3866 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 3766 y(conditional)42 b(op)s(erators)f(\(see)g(Section)h(6.4)f
-([Bash)g(Conditional)g(Expres-)1110 3875 y(sions],)34
+1110 3975 y(conditional)42 b(op)s(erators)f(\(see)g(Section)h(6.4)f
+([Bash)g(Conditional)g(Expres-)1110 4085 y(sions],)34
 b(page)f(75\),)i(the)e(expression)f(is)h(true)g(if)g(the)g(unary)e
-(test)j(is)f(true.)47 b(If)1110 3985 y(the)33 b(\014rst)g(argumen)m(t)h
+(test)j(is)f(true.)47 b(If)1110 4194 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 4095 y(false.)630 4244 y(3)e(argumen)m(ts)1110
-4354 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 4463 y(\(see)23 b(Section)g(6.4)f
+(expression)f(is)1110 4304 y(false.)630 4463 y(3)e(argumen)m(ts)1110
+4573 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 4682 y(\(see)23 b(Section)g(6.4)f
 ([Bash)h(Conditional)f(Expressions],)h(page)g(75\),)i(the)d(result)1110
-4573 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 4682 y(and)31
+4792 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 4902 y(and)31
 b(third)g(argumen)m(ts)i(as)f(op)s(erands.)44 b(The)31
 b(`)p Fs(-a)p Ft(')h(and)g(`)p Fs(-o)p Ft(')f(op)s(erators)i(are)1110
-4792 y(considered)25 b(binary)g(op)s(erators)g(when)f(there)i(are)f
-(three)h(argumen)m(ts.)39 b(If)25 b(the)1110 4902 y(\014rst)j(argumen)m
+5011 y(considered)25 b(binary)g(op)s(erators)g(when)f(there)i(are)f
+(three)h(argumen)m(ts.)39 b(If)25 b(the)1110 5121 y(\014rst)j(argumen)m
 (t)h(is)g(`)p Fs(!)p Ft(',)h(the)f(v)-5 b(alue)29 b(is)g(the)g
-(negation)i(of)e(the)g(t)m(w)m(o-argumen)m(t)1110 5011
+(negation)i(of)e(the)g(t)m(w)m(o-argumen)m(t)1110 5230
 y(test)38 b(using)f(the)g(second)g(and)g(third)f(argumen)m(ts.)61
-b(If)37 b(the)g(\014rst)f(argumen)m(t)1110 5121 y(is)j(exactly)i(`)p
+b(If)37 b(the)g(\014rst)f(argumen)m(t)1110 5340 y(is)j(exactly)i(`)p
 Fs(\()p Ft(')f(and)f(the)g(third)g(argumen)m(t)h(is)f(exactly)i(`)p
-Fs(\))p Ft(',)h(the)e(result)f(is)1110 5230 y(the)46
-b(one-argumen)m(t)g(test)h(of)f(the)f(second)h(argumen)m(t.)86
-b(Otherwise,)50 b(the)1110 5340 y(expression)30 b(is)h(false.)p
-eop end
+Fs(\))p Ft(',)h(the)e(result)f(is)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)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
-894 y(5)g(or)f(more)h(argumen)m(ts)1110 1003 y(The)43
-b(expression)f(is)i(parsed)e(and)g(ev)-5 b(aluated)45
-b(according)f(to)f(precedence)1110 1113 y(using)30 b(the)g(rules)g
-(listed)h(ab)s(o)m(v)m(e.)150 1270 y Fs(times)870 1403
-y(times)630 1536 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 1645 y(return)29 b(status)i(is)f(zero.)150
-1802 y Fs(trap)870 1935 y(trap)47 b([-lp])f([)p Fj(arg)11
-b Fs(])46 b([)p Fj(sigspec)56 b Fs(...)o(])630 2068 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
-2178 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 2287 y(eac)m(h)28 b(sp)s(eci\014ed)e(signal's)h(disp)s
+b(Reference)g(Man)m(ual)1110 299 y(the)46 b(one-argumen)m(t)g(test)h
+(of)f(the)f(second)h(argumen)m(t.)86 b(Otherwise,)50
+b(the)1110 408 y(expression)30 b(is)h(false.)630 569
+y(4)g(argumen)m(ts)1110 678 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 788 y(argumen)m(t)h(expression)f(comp)s(osed)h(of)f(the)h
+(remaining)g(argumen)m(ts.)50 b(Oth-)1110 897 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 1007 y(dence)e(using)e(the)i(rules)f
+(listed)h(ab)s(o)m(v)m(e.)630 1167 y(5)g(or)f(more)h(argumen)m(ts)1110
+1277 y(The)43 b(expression)f(is)i(parsed)e(and)g(ev)-5
+b(aluated)45 b(according)f(to)f(precedence)1110 1386
+y(using)30 b(the)g(rules)g(listed)h(ab)s(o)m(v)m(e.)150
+1547 y Fs(times)870 1681 y(times)630 1816 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 1926 y(return)29
+b(status)i(is)f(zero.)150 2086 y Fs(trap)870 2221 y(trap)47
+b([-lp])f([)p Fj(arg)11 b Fs(])46 b([)p Fj(sigspec)56
+b Fs(...)o(])630 2356 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 2465 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 2575 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 2397 y(started.)63 b(If)37
+(the)i(shell)g(w)m(as)630 2685 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 2506 y(ignored)36 b(b)m(y)g(the)g(shell)g(and)g(commands)f
+Ft(is)630 2794 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 2616
+b(not)g(presen)m(t)g(and)f(`)p Fs(-p)p Ft(')630 2904
 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 2725 y
+(commands)g(asso)s(ciated)i(with)e(eac)m(h)630 3013 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 2835 y(of)f(commands)f(asso)s(ciated)i
+Ft(prin)m(ts)g(the)h(list)630 3123 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 2945 y(as)c(shell)g(input.)37
+m(y)h(b)s(e)e(reused)630 3232 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
-3054 y(their)33 b(corresp)s(onding)f(n)m(um)m(b)s(ers.)47
+3342 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 3164 y(n)m(um)m(b)s(er.)46
+(name)f(or)g(a)g(signal)630 3452 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
-3273 y Fq(sigsp)s(ec)h Ft(is)28 b Fs(0)f Ft(or)h Fs(EXIT)p
+3561 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
-3383 y(the)40 b(command)g Fq(arg)48 b Ft(is)40 b(executed)h(b)s(efore)f
+3671 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
-3493 y Fs(case)28 b Ft(command,)i Fs(select)d Ft(command,)j(ev)m(ery)g
+3780 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
-3602 y(the)k(\014rst)e(command)h(executes)i(in)e(a)h(shell)f(function.)
+3890 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
-3712 y Fs(extglob)40 b Ft(option)i(to)g(the)g Fs(shopt)e
+4000 y Fs(extglob)40 b Ft(option)i(to)g(the)g Fs(shopt)e
 Ft(builtin)h(\(see)i(Section)f(4.3.2)i([The)d(Shopt)g(Builtin],)630
-3821 y(page)g(54\))g(for)e(details)i(of)f(its)h(e\013ect)g(on)f(the)g
+4109 y(page)g(54\))g(for)e(details)i(of)f(its)h(e\013ect)g(on)f(the)g
 Fs(DEBUG)f Ft(trap.)69 b(If)39 b(a)i Fq(sigsp)s(ec)k
-Ft(is)40 b Fs(ERR)p Ft(,)i(the)630 3931 y(command)h Fq(arg)52
+Ft(is)40 b Fs(ERR)p Ft(,)i(the)630 4219 y(command)h Fq(arg)52
 b Ft(is)44 b(executed)g(whenev)m(er)g(a)g(simple)f(command)h(has)f(a)h
-(non-zero)g(exit)630 4041 y(status,)30 b(sub)5 b(ject)30
+(non-zero)g(exit)630 4328 y(status,)30 b(sub)5 b(ject)30
 b(to)g(the)g(follo)m(wing)h(conditions.)41 b(The)30 b
 Fs(ERR)e Ft(trap)i(is)g(not)g(executed)g(if)g(the)630
-4150 y(failed)38 b(command)g(is)f(part)h(of)f(the)h(command)g(list)g
-(immediately)h(follo)m(wing)g(an)e Fs(until)630 4260
+4438 y(failed)38 b(command)g(is)f(part)h(of)f(the)h(command)g(list)g
+(immediately)h(follo)m(wing)g(an)e Fs(until)630 4548
 y Ft(or)k Fs(while)f Ft(k)m(eyw)m(ord,)k(part)d(of)g(the)h(test)g(in)e
 (an)h Fs(if)g Ft(statemen)m(t,)46 b(part)40 b(of)i(a)f(command)630
-4369 y(executed)31 b(in)e(a)h Fs(&&)f Ft(or)h Fs(||)f
+4657 y(executed)31 b(in)e(a)h Fs(&&)f Ft(or)h Fs(||)f
 Ft(list,)i(or)f(if)g(the)g(command's)f(return)g(status)h(is)g(b)s(eing)
-f(in)m(v)m(erted)630 4479 y(using)37 b Fs(!)p Ft(.)63
+f(in)m(v)m(erted)630 4767 y(using)37 b Fs(!)p Ft(.)63
 b(These)38 b(are)g(the)g(same)g(conditions)h(ob)s(ey)m(ed)f(b)m(y)g
-(the)g Fs(errexit)d Ft(option.)64 b(If)38 b(a)630 4589
+(the)g Fs(errexit)d Ft(option.)64 b(If)38 b(a)630 4876
 y Fq(sigsp)s(ec)h Ft(is)33 b Fs(RETURN)p Ft(,)g(the)h(command)f
 Fq(arg)41 b Ft(is)34 b(executed)g(eac)m(h)h(time)f(a)f(shell)h
-(function)f(or)630 4698 y(a)e(script)f(executed)h(with)f(the)h
+(function)f(or)630 4986 y(a)e(script)f(executed)h(with)f(the)h
 Fs(.)f Ft(or)g Fs(source)f Ft(builtins)h(\014nishes)f(executing.)630
-4831 y(Signals)37 b(ignored)f(up)s(on)f(en)m(try)i(to)g(the)f(shell)h
+5121 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 4941 y(signals)37 b(that)f(are)h(not)f(b)s(eing)f
+b(rapp)s(ed)630 5230 y(signals)37 b(that)f(are)h(not)f(b)s(eing)f
 (ignored)h(are)h(reset)f(to)h(their)f(original)h(v)-5
-b(alues)37 b(in)e(a)i(c)m(hild)630 5050 y(pro)s(cess)30
-b(when)f(it)i(is)g(created.)630 5183 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
-5340 y Fs(umask)p eop end
+b(alues)37 b(in)e(a)i(c)m(hild)630 5340 y(pro)s(cess)30
+b(when)f(it)i(is)g(created.)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)870 299 y Fs(umask)46
-b([-p])h([-S])g([)p Fj(mode)11 b Fs(])630 429 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 538 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 648 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 758 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 867 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 977 y(is)f(supplied,)f(and)g
+b(Shell)30 b(Builtin)h(Commands)2069 b(41)630 299 y(The)30
+b(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 454 y Fs(umask)870 586 y(umask)46 b([-p])h([-S])g([)p
+Fj(mode)11 b Fs(])630 718 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
+828 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 937 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 1047 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
+1156 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 1266 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 1086 y(as)e(input.)41
+(form)f(that)h(ma)m(y)g(b)s(e)f(reused)630 1376 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 1196 y
+(successfully)g(c)m(hanged)g(or)g(if)g(no)630 1485 y
 Fq(mo)s(de)k Ft(argumen)m(t)c(is)f(supplied,)g(and)f(non-zero)i
-(otherwise.)630 1326 y(Note)38 b(that)e(when)g(the)g(mo)s(de)g(is)g(in)
+(otherwise.)630 1617 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 1435 y(the)f(umask)g(is)h(subtracted)f(from)f
+m(b)s(er)d(of)630 1727 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 1545 y(of)d Fs(755)p
-Ft(.)150 1695 y Fs(unset)870 1825 y(unset)46 b([-fv])h([)p
-Fj(name)11 b Fs(])630 1955 y Ft(Eac)m(h)34 b(v)-5 b(ariable)33
+Ft(results)h(in)g(p)s(ermissions)630 1837 y(of)d Fs(755)p
+Ft(.)150 1991 y Fs(unset)870 2124 y(unset)46 b([-fv])h([)p
+Fj(name)11 b Fs(])630 2256 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
-2064 y(`)p Fs(-v)p Ft(')h(option)h(is)g(giv)m(en,)h(eac)m(h)g
+2365 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 2174
+b(If)34 b(the)h(`)p Fs(-f)p Ft(')f(option)h(is)630 2475
 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 2284 y(Readonly)32 b(v)-5 b(ariables)33 b(and)f(functions)f
+(ed.)630 2585 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 2393 y(unless)e(a)g Fq(name)36 b Ft(is)30 b(readonly)-8
-b(.)150 2637 y Fr(4.2)68 b(Bash)45 b(Builtin)g(Commands)275
-2876 y Ft(This)30 b(section)j(describ)s(es)e(builtin)h(commands)f(whic)
+(zero)630 2694 y(unless)e(a)g Fq(name)36 b Ft(is)30 b(readonly)-8
+b(.)150 2945 y Fr(4.2)68 b(Bash)45 b(Builtin)g(Commands)275
+3186 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
-2986 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(standard.)150 3136
-y Fs(alias)870 3266 y(alias)46 b([-p])h([)p Fj(name)11
-b Fs([=)p Fj(value)g Fs(])43 b(...)o(])630 3396 y Ft(Without)h(argumen)
+3296 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(standard.)150 3451
+y Fs(alias)870 3583 y(alias)46 b([-p])h([)p Fj(name)11
+b Fs([=)p Fj(value)g Fs(])43 b(...)o(])630 3715 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
-3505 y(on)36 b(the)g(standard)f(output)h(in)f(a)i(form)e(that)i(allo)m
+3825 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
-3615 y(argumen)m(ts)29 b(are)g(supplied,)f(an)h(alias)h(is)f(de\014ned)
+3934 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 3725 y(If)39 b(no)h Fq(v)-5
+b Ft(is)29 b(giv)m(en.)630 4044 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 3834 y(describ)s(ed)29 b(in)h(Section)i(6.6)f([Aliases],)h
-(page)f(77.)150 3984 y Fs(bind)870 4114 y(bind)47 b([-m)g
-Fj(keymap)11 b Fs(])45 b([-lpsvPSV])870 4224 y(bind)i([-m)g
+b(are)630 4154 y(describ)s(ed)29 b(in)h(Section)i(6.6)f([Aliases],)h
+(page)f(77.)150 4308 y Fs(bind)870 4441 y(bind)47 b([-m)g
+Fj(keymap)11 b Fs(])45 b([-lpsvPSV])870 4550 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 4333 y(bind)47 b([-m)g Fj(keymap)11 b Fs(])45
-b(-f)i Fj(filename)870 4443 y Fs(bind)g([-m)g Fj(keymap)11
-b Fs(])45 b(-x)i Fj(keyseq:shell-command)870 4553 y Fs(bind)g([-m)g
+b Fs(])870 4660 y(bind)47 b([-m)g Fj(keymap)11 b Fs(])45
+b(-f)i Fj(filename)870 4769 y Fs(bind)g([-m)g Fj(keymap)11
+b Fs(])45 b(-x)i Fj(keyseq:shell-command)870 4879 y Fs(bind)g([-m)g
 Fj(keymap)11 b Fs(])45 b Fj(keyseq:function-name)870
-4662 y Fs(bind)i Fj(readline-command)630 4792 y Ft(Displa)m(y)26
+4989 y Fs(bind)i Fj(readline-command)630 5121 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(91\))g(k)m(ey)630 4902 y(and)36 b(function)g
+(Editing],)i(page)f(91\))g(k)m(ey)630 5230 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 5011 y(or)44 b(set)h(a)g(Readline)f(v)-5
+(function)f(or)h(macro,)630 5340 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 5121 y(w)m(ould)e(app)s(ear)f(in)h(a)h(Readline)
-g(initialization)i(\014le)d(\(see)h(Section)g(8.3)g([Readline)g(Init)
-630 5230 y(File],)g(page)c(94\),)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
-5340 y(argumen)m(t;)31 b(e.g.,)h(`)p Fs("\\C-x\\C-r":re-read-init-f)o
-(ile)p Ft('.)p eop end
+(command)f(as)g(it)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(Options,)f(if)h(supplied,)e(ha)m(v)m
-(e)i(the)g(follo)m(wing)h(meanings:)630 456 y Fs(-m)e
-Fj(keymap)1110 566 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
-676 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 785 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
-895 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 1004 y(to)31 b Fs(emacs-standard)p
-Ft(.)630 1162 y Fs(-l)384 b Ft(List)31 b(the)f(names)g(of)h(all)g
-(Readline)g(functions.)630 1319 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 1429 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 1587
-y Fs(-P)384 b Ft(List)31 b(curren)m(t)f(Readline)h(function)f(names)g
-(and)g(bindings.)630 1744 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 1854
-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 2011 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 2169 y Fs(-s)384 b Ft(Displa)m(y)39 b(Readline)f(k)m(ey)g
+b(Reference)g(Man)m(ual)630 299 y(w)m(ould)42 b(app)s(ear)f(in)h(a)h
+(Readline)g(initialization)i(\014le)d(\(see)h(Section)g(8.3)g
+([Readline)g(Init)630 408 y(File],)g(page)c(94\),)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 518 y(argumen)m(t;)31 b(e.g.,)h(`)p Fs
+("\\C-x\\C-r":re-read-init-f)o(ile)p Ft('.)630 652 y(Options,)e(if)h
+(supplied,)e(ha)m(v)m(e)i(the)g(follo)m(wing)h(meanings:)630
+811 y Fs(-m)e Fj(keymap)1110 921 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 1031 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 1140 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 1250 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 1359
+y(to)31 b Fs(emacs-standard)p Ft(.)630 1518 y Fs(-l)384
+b Ft(List)31 b(the)f(names)g(of)h(all)g(Readline)g(functions.)630
+1678 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
+1787 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 1946 y Fs(-P)384 b Ft(List)31
+b(curren)m(t)f(Readline)h(function)f(names)g(and)g(bindings.)630
+2105 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 2215 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
+2374 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 2533 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 2643 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 2752 y(Readline)d(initialization)i(\014le.)
+630 2911 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
-2278 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 2388
-y(Readline)d(initialization)i(\014le.)630 2545 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 2655 y(they)31 b(output.)630
-2813 y Fs(-f)f Fj(filename)1110 2922 y Ft(Read)h(k)m(ey)g(bindings)e
-(from)h Fq(\014lename)p Ft(.)630 3080 y Fs(-q)g Fj(function)1110
-3189 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 3347 y Fs(-u)g
-Fj(function)1110 3456 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 3614 y Fs(-r)g
-Fj(keyseq)1110 3724 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 3881 y Fs(-x)g Fj(keyseq:shell-command)
-1110 3991 y Ft(Cause)35 b Fq(shell-command)k Ft(to)d(b)s(e)f(executed)h
+3021 y(they)31 b(output.)630 3180 y Fs(-f)f Fj(filename)1110
+3290 y Ft(Read)h(k)m(ey)g(bindings)e(from)h Fq(\014lename)p
+Ft(.)630 3449 y Fs(-q)g Fj(function)1110 3558 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 3717 y Fs(-u)g Fj(function)1110
+3827 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 3986 y Fs(-r)g Fj(keyseq)1110
+4096 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 4255 y Fs(-x)g Fj(keyseq:shell-command)1110
+4364 y Ft(Cause)35 b Fq(shell-command)k Ft(to)d(b)s(e)f(executed)h
 (whenev)m(er)f Fq(k)m(eyseq)j Ft(is)d(en)m(tered.)1110
-4100 y(When)46 b Fq(shell-command)k Ft(is)c(executed,)51
-b(the)46 b(shell)g(sets)g(the)g Fs(READLINE_)1110 4210
+4474 y(When)46 b Fq(shell-command)k Ft(is)c(executed,)51
+b(the)46 b(shell)g(sets)g(the)g Fs(READLINE_)1110 4583
 y(LINE)37 b Ft(v)-5 b(ariable)38 b(to)g(the)g(con)m(ten)m(ts)i(of)e
-(the)g(Readline)g(line)g(bu\013er)f(and)g(the)1110 4319
+(the)g(Readline)g(line)g(bu\013er)f(and)g(the)1110 4693
 y Fs(READLINE_POINT)e Ft(v)-5 b(ariable)39 b(to)h(the)e(curren)m(t)h
-(lo)s(cation)h(of)f(the)g(insertion)1110 4429 y(p)s(oin)m(t.)59
+(lo)s(cation)h(of)f(the)g(insertion)1110 4803 y(p)s(oin)m(t.)59
 b(If)37 b(the)f(executed)i(command)e(c)m(hanges)i(the)f(v)-5
-b(alue)37 b(of)f Fs(READLINE_)1110 4539 y(LINE)29 b Ft(or)h
+b(alue)37 b(of)f Fs(READLINE_)1110 4912 y(LINE)29 b Ft(or)h
 Fs(READLINE_POINT)p Ft(,)c(those)31 b(new)e(v)-5 b(alues)31
-b(will)f(b)s(e)f(re\015ected)i(in)f(the)1110 4648 y(editing)h(state.)
-630 4806 y(The)26 b(return)f(status)i(is)f(zero)i(unless)d(an)i(in)m(v)
+b(will)f(b)s(e)f(re\015ected)i(in)f(the)1110 5022 y(editing)h(state.)
+630 5181 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 4963 y Fs(builtin)870 5097 y(builtin)46 b([)p Fj(shell-builtin)54
-b Fs([)p Fj(args)11 b Fs(]])630 5230 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 5340 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)p eop end
+150 5340 y Fs(builtin)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(the)34
-b(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 408 y(zero)e(if)g
-Fq(shell-builtin)f Ft(is)g(not)h(a)g(shell)f(builtin)g(command.)150
-567 y Fs(caller)870 701 y(caller)46 b([)p Fj(expr)11
-b Fs(])630 835 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 944 y(executed)c(with)f(the)h Fs(.)f Ft(or)g
-Fs(source)f Ft(builtins\).)630 1078 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 1188 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
-1297 y Ft(displa)m(ys)k(the)f(line)h(n)m(um)m(b)s(er,)h(subroutine)d
+b(Shell)30 b(Builtin)h(Commands)2069 b(43)870 299 y Fs(builtin)46
+b([)p Fj(shell-builtin)54 b Fs([)p Fj(args)11 b Fs(]])630
+439 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 548 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 658 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
+768 y(zero)e(if)g Fq(shell-builtin)f Ft(is)g(not)h(a)g(shell)f(builtin)
+g(command.)150 938 y Fs(caller)870 1078 y(caller)46 b([)p
+Fj(expr)11 b Fs(])630 1218 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 1328 y(executed)c(with)f(the)h Fs(.)f
+Ft(or)g Fs(source)f Ft(builtins\).)630 1468 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 1577
+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
+1687 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
-1407 y(that)c(p)s(osition)g(in)f(the)h(curren)m(t)f(execution)i(call)g
+1797 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
-1517 y(b)s(e)30 b(used,)g(for)g(example,)h(to)g(prin)m(t)f(a)h(stac)m
+1906 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
-1650 y(The)e(return)f(v)-5 b(alue)29 b(is)h(0)f(unless)g(the)g(shell)g
+2046 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 1760 y Ft(do)s(es)g(not)h(corresp)s(ond)e(to)i(a)g(v)-5
+Fq(expr)630 2156 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
-1918 y Fs(command)870 2052 y(command)46 b([-pVv])g Fj(command)56
-b Fs([)p Fj(arguments)g Fs(...)o(])630 2186 y Ft(Runs)32
+2326 y Fs(command)870 2466 y(command)46 b([-pVv])g Fj(command)56
+b Fs([)p Fj(arguments)g Fs(...)o(])630 2606 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 2296
+(shell)h(function)e(named)h Fq(command)p Ft(.)630 2716
 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 2405 y(executed.)g(If)23
+h(searc)m(hing)h(the)f Fs(PATH)f Ft(are)630 2826 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
-2515 y(function)33 b(will)g(execute)i(the)f(external)g(command)f
+2935 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
-2625 y(recursiv)m(ely)-8 b(.)84 b(The)44 b(`)p Fs(-p)p
+3045 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 2734 y(guaran)m(teed)35
+b(alue)45 b(for)f Fs(PATH)g Ft(that)h(is)630 3154 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 2844
+b(The)33 b(return)g(status)h(in)f(this)h(case)630 3264
 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
-2953 y Fq(command)34 b Ft(otherwise.)630 3087 y(If)25
+3373 y Fq(command)34 b Ft(otherwise.)630 3513 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 3197 y(The)i(`)p
+Fq(command)i Ft(is)d(prin)m(ted.)630 3623 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 3306 y(to)36
+(the)f(command)g(or)g(\014le)g(name)g(used)630 3733 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 3416 y(description.)61 b(In)36 b(this)h(case,)j(the)e(return)e
+(ose)630 3842 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
-3526 y(non-zero)31 b(if)f(not.)150 3684 y Fs(declare)870
-3818 y(declare)46 b([-afFirtx])f([-p])h([)p Fj(name)11
-b Fs([=)p Fj(value)g Fs(])44 b(...)o(])630 3952 y Ft(Declare)29
+3952 y(non-zero)31 b(if)f(not.)150 4122 y Fs(declare)870
+4262 y(declare)46 b([-aAfFirtx])f([-p])h([)p Fj(name)11
+b Fs([=)p Fj(value)g Fs(])43 b(...])630 4402 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 4061 y(the)k(v)-5 b(alues)30 b(of)h(v)-5 b(ariables)31
-b(instead.)630 4195 y(The)d(`)p Fs(-p)p Ft(')g(option)g(will)h(displa)m
+(y)630 4512 y(the)k(v)-5 b(alues)30 b(of)h(v)-5 b(ariables)31
+b(instead.)630 4652 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 4305
+Fq(name)p Ft(.)40 b(When)28 b(`)p Fs(-p)p Ft(')630 4762
 y(is)i(used)g(with)g Fq(name)36 b Ft(argumen)m(ts,)31
-b(additional)g(options)f(are)h(ignored.)630 4439 y(When)36
+b(additional)g(options)f(are)h(ignored.)630 4902 y(When)36
 b(`)p Fs(-p)p Ft(')f(is)h(supplied)f(without)h Fq(name)41
 b Ft(argumen)m(ts,)d Fs(declare)c Ft(will)i(displa)m(y)g(the)g(at-)630
-4548 y(tributes)31 b(and)f(v)-5 b(alues)31 b(of)g(all)h(v)-5
+5011 y(tributes)31 b(and)f(v)-5 b(alues)31 b(of)g(all)h(v)-5
 b(ariables)31 b(ha)m(ving)h(the)f(attributes)g(sp)s(eci\014ed)f(b)m(y)h
-(the)g(addi-)630 4658 y(tional)h(options.)41 b(If)30
+(the)g(addi-)630 5121 y(tional)h(options.)41 b(If)30
 b(no)g(other)h(options)g(are)g(supplied)e(with)h(`)p
 Fs(-p)p Ft(',)g Fs(declare)f Ft(will)i(displa)m(y)630
-4768 y(the)f(attributes)g(and)e(v)-5 b(alues)30 b(of)g(all)g(shell)g(v)
+5230 y(the)f(attributes)g(and)e(v)-5 b(alues)30 b(of)g(all)g(shell)g(v)
 -5 b(ariables.)41 b(The)29 b(`)p Fs(-f)p Ft(')g(option)h(will)g
-(restrict)g(the)630 4877 y(displa)m(y)h(to)g(shell)f(functions.)630
-5011 y(The)36 b(`)p Fs(-F)p Ft(')h(option)g(inhibits)f(the)h(displa)m
-(y)g(of)g(function)g(de\014nitions;)i(only)e(the)g(function)630
-5121 y(name)30 b(and)f(attributes)i(are)f(prin)m(ted.)40
-b(If)30 b(the)g Fs(extdebug)e Ft(shell)i(option)g(is)g(enabled)g(using)
-630 5230 y Fs(shopt)24 b Ft(\(see)i(Section)g(4.3.2)i([The)d(Shopt)f
-(Builtin],)k(page)e(54\),)i(the)d(source)h(\014le)f(name)h(and)630
-5340 y(line)38 b(n)m(um)m(b)s(er)e(where)i(the)g(function)f(is)h
-(de\014ned)e(are)i(displa)m(y)m(ed)h(as)e(w)m(ell.)64
-b(`)p Fs(-F)p Ft(')38 b(implies)p eop end
+(restrict)g(the)630 5340 y(displa)m(y)h(to)g(shell)f(functions.)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)630 299 y(`)p Fs(-f)p Ft('.)40
-b(The)28 b(follo)m(wing)i(options)f(can)f(b)s(e)g(used)g(to)h(restrict)
-g(output)f(to)h(v)-5 b(ariables)30 b(with)e(the)630 408
-y(sp)s(eci\014ed)i(attributes)h(or)f(to)h(giv)m(e)h(v)-5
-b(ariables)31 b(attributes:)630 569 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(78\).)630
-729 y Fs(-f)384 b Ft(Use)31 b(function)f(names)g(only)-8
-b(.)630 889 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 999 y(\(see)29 b(Section)f(6.5)h
-([Shell)f(Arithmetic],)i(page)e(76\))h(is)f(p)s(erformed)e(when)h(the)
-1110 1108 y(v)-5 b(ariable)31 b(is)g(assigned)f(a)h(v)-5
-b(alue.)630 1268 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 1378 y(b)m(y)30 b(subsequen)m(t)g
-(assignmen)m(t)h(statemen)m(ts)h(or)f(unset.)630 1538
-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 1648 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
-1757 y(has)h(no)g(sp)s(ecial)h(meaning)g(for)f(v)-5 b(ariables.)630
-1917 y Fs(-x)384 b Ft(Mark)30 b(eac)m(h)h Fq(name)k Ft(for)29
+b(Reference)g(Man)m(ual)630 299 y(The)36 b(`)p Fs(-F)p
+Ft(')h(option)g(inhibits)f(the)h(displa)m(y)g(of)g(function)g
+(de\014nitions;)i(only)e(the)g(function)630 408 y(name)30
+b(and)f(attributes)i(are)f(prin)m(ted.)40 b(If)30 b(the)g
+Fs(extdebug)e Ft(shell)i(option)g(is)g(enabled)g(using)630
+518 y Fs(shopt)24 b Ft(\(see)i(Section)g(4.3.2)i([The)d(Shopt)f
+(Builtin],)k(page)e(54\),)i(the)d(source)h(\014le)f(name)h(and)630
+628 y(line)38 b(n)m(um)m(b)s(er)e(where)i(the)g(function)f(is)h
+(de\014ned)e(are)i(displa)m(y)m(ed)h(as)e(w)m(ell.)64
+b(`)p Fs(-F)p Ft(')38 b(implies)630 737 y(`)p Fs(-f)p
+Ft('.)i(The)28 b(follo)m(wing)i(options)f(can)f(b)s(e)g(used)g(to)h
+(restrict)g(output)f(to)h(v)-5 b(ariables)30 b(with)e(the)630
+847 y(sp)s(eci\014ed)i(attributes)h(or)f(to)h(giv)m(e)h(v)-5
+b(ariables)31 b(attributes:)630 1009 y Fs(-a)384 b Ft(Eac)m(h)36
+b Fq(name)k Ft(is)34 b(an)h(indexed)g(arra)m(y)g(v)-5
+b(ariable)36 b(\(see)f(Section)h(6.7)g([Arra)m(ys],)1110
+1118 y(page)31 b(78\).)630 1280 y Fs(-A)384 b Ft(Eac)m(h)24
+b Fq(name)k Ft(is)23 b(an)g(asso)s(ciativ)m(e)j(arra)m(y)e(v)-5
+b(ariable)24 b(\(see)g(Section)g(6.7)g([Arra)m(ys],)1110
+1390 y(page)31 b(78\).)630 1551 y Fs(-f)384 b Ft(Use)31
+b(function)f(names)g(only)-8 b(.)630 1713 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
+1823 y(\(see)29 b(Section)f(6.5)h([Shell)f(Arithmetic],)i(page)e(76\))h
+(is)f(p)s(erformed)e(when)h(the)1110 1932 y(v)-5 b(ariable)31
+b(is)g(assigned)f(a)h(v)-5 b(alue.)630 2094 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 2204 y(b)m(y)30 b(subsequen)m(t)g(assignmen)m(t)h
+(statemen)m(ts)h(or)f(unset.)630 2365 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 2475
+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 2585 y(has)h(no)g(sp)s
+(ecial)h(meaning)g(for)f(v)-5 b(ariables.)630 2746 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
-2027 y(ronmen)m(t.)630 2187 y(Using)e(`)p Fs(+)p Ft(')h(instead)f(of)g
+2856 y(ronmen)m(t.)630 3018 y(Using)e(`)p Fs(+)p Ft(')h(instead)f(of)g
 (`)p Fs(-)p Ft(')g(turns)f(o\013)i(the)f(attribute)h(instead,)g(with)f
-(the)g(exceptions)h(that)630 2297 y(`)p Fs(+a)p Ft(')h(ma)m(y)h(not)f
+(the)g(exceptions)h(that)630 3127 y(`)p Fs(+a)p Ft(')h(ma)m(y)h(not)f
 (b)s(e)f(used)g(to)i(destro)m(y)g(an)f(arra)m(y)g(v)-5
 b(ariable)31 b(and)f(`)p Fs(+r)p Ft(')g(will)g(not)g(remo)m(v)m(e)i
-(the)630 2406 y(readonly)e(attribute.)41 b(When)30 b(used)f(in)g(a)h
+(the)630 3237 y(readonly)e(attribute.)41 b(When)30 b(used)f(in)g(a)h
 (function,)g Fs(declare)e Ft(mak)m(es)j(eac)m(h)f Fq(name)35
-b Ft(lo)s(cal,)630 2516 y(as)24 b(with)g(the)g Fs(local)e
+b Ft(lo)s(cal,)630 3346 y(as)24 b(with)g(the)g Fs(local)e
 Ft(command.)39 b(If)23 b(a)i(v)-5 b(ariable)24 b(name)g(is)g(follo)m(w)
 m(ed)i(b)m(y)e(=)p Fq(v)-5 b(alue)p Ft(,)25 b(the)f(v)-5
-b(alue)630 2626 y(of)31 b(the)f(v)-5 b(ariable)31 b(is)g(set)g(to)g
-Fq(v)-5 b(alue)p Ft(.)630 2760 y(The)35 b(return)f(status)i(is)g(zero)g
+b(alue)630 3456 y(of)31 b(the)f(v)-5 b(ariable)31 b(is)g(set)g(to)g
+Fq(v)-5 b(alue)p Ft(.)630 3592 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 2870 y(is)c(made)g(to)g(de\014ne)f(a)h(function)g
+(an)f(attempt)630 3701 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 2980 y(a)42 b(v)-5 b(alue)43 b(to)g(a)f(readonly)g(v)-5
+(assign)630 3811 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 3089 y(arra)m(y)30 b(v)-5 b(ariable)30
+b(alue)42 b(to)h(an)630 3921 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 3199 y([Arra)m(ys],)47 b(page)c(78\),)48
+(\(see)h(Section)f(6.7)630 4030 y([Arra)m(ys],)47 b(page)c(78\),)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
-3308 y(attempt)28 b(is)f(made)h(to)f(turn)f(o\013)i(readonly)f(status)g
+4140 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
-3418 y(is)h(made)h(to)g(turn)e(o\013)i(arra)m(y)f(status)h(for)f(an)g
+4249 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
-3528 y(displa)m(y)j(a)f(non-existen)m(t)i(function)e(with)g(`)p
-Fs(-f)p Ft('.)150 3688 y Fs(echo)870 3823 y(echo)47 b([-neE])f([)p
-Fj(arg)57 b Fs(...)o(])630 3957 y Ft(Output)31 b(the)i
+4359 y(displa)m(y)j(a)f(non-existen)m(t)i(function)e(with)g(`)p
+Fs(-f)p Ft('.)150 4521 y Fs(echo)870 4656 y(echo)47 b([-neE])f([)p
+Fj(arg)57 b Fs(...)o(])630 4792 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 4067 y(status)40
+(a)h(newline.)47 b(The)32 b(return)630 4902 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 4177 y(the)29 b(`)p Fs(-e)p Ft(')g(option)g(is)h(giv)m(en,)g
+b(If)630 5011 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 4286 y(acters)38 b(is)f(enabled.)60 b(The)36
+g(c)m(har-)630 5121 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 4396 y(c)m(haracters,)h(ev)m(en)d(on)g(systems)g
+(these)g(escap)s(e)630 5230 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 4505 y(echo)d Ft(shell)h(option)h(ma)m(y)g(b)s
+b(The)34 b Fs(xpg_)630 5340 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 4615 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 4725 y(mean)30 b(the)h(end)f(of)g(options.)
-630 4859 y Fs(echo)f Ft(in)m(terprets)i(the)f(follo)m(wing)i(escap)s(e)
-f(sequences:)630 5020 y Fs(\\a)384 b Ft(alert)31 b(\(b)s(ell\))630
-5180 y Fs(\\b)384 b Ft(bac)m(kspace)630 5340 y Fs(\\c)g
-Ft(suppress)28 b(trailing)k(newline)p eop end
+Fs(echo)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(\\e)384
-b Ft(escap)s(e)630 462 y Fs(\\f)g Ft(form)30 b(feed)630
-624 y Fs(\\n)384 b Ft(new)30 b(line)630 787 y Fs(\\r)384
-b Ft(carriage)32 b(return)630 950 y Fs(\\t)384 b Ft(horizon)m(tal)32
-b(tab)630 1112 y Fs(\\v)384 b Ft(v)m(ertical)32 b(tab)630
-1275 y Fs(\\\\)384 b Ft(bac)m(kslash)630 1438 y Fs(\\0)p
+b(Shell)30 b(Builtin)h(Commands)2069 b(45)630 299 y(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 408 y(mean)30 b(the)h(end)f(of)g(options.)630
+546 y Fs(echo)f Ft(in)m(terprets)i(the)f(follo)m(wing)i(escap)s(e)f
+(sequences:)630 712 y Fs(\\a)384 b Ft(alert)31 b(\(b)s(ell\))630
+878 y Fs(\\b)384 b Ft(bac)m(kspace)630 1044 y Fs(\\c)g
+Ft(suppress)28 b(trailing)k(newline)630 1210 y Fs(\\e)384
+b Ft(escap)s(e)630 1376 y Fs(\\f)g Ft(form)30 b(feed)630
+1542 y Fs(\\n)384 b Ft(new)30 b(line)630 1708 y Fs(\\r)384
+b Ft(carriage)32 b(return)630 1874 y Fs(\\t)384 b Ft(horizon)m(tal)32
+b(tab)630 2040 y Fs(\\v)384 b Ft(v)m(ertical)32 b(tab)630
+2206 y Fs(\\\\)384 b Ft(bac)m(kslash)630 2372 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 1548 y(three)e(o)s(ctal)g(digits\))630
-1710 y Fs(\\x)p Fj(HH)288 b Ft(the)40 b(eigh)m(t-bit)h(c)m(haracter)g
+Ft(\(zero)i(to)1110 2481 y(three)e(o)s(ctal)g(digits\))630
+2647 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 1820 y Ft(\(one)31 b(or)f(t)m(w)m(o)i(hex)e
-(digits\))150 1983 y Fs(enable)870 2119 y(enable)46 b([-a])h([-dnps])f
+b(alue)40 b Fq(HH)1110 2757 y Ft(\(one)31 b(or)f(t)m(w)m(o)i(hex)e
+(digits\))150 2923 y Fs(enable)870 3061 y(enable)46 b([-a])h([-dnps])f
 ([-f)g Fj(filename)11 b Fs(])45 b([)p Fj(name)57 b Fs(...)o(])630
-2255 y Ft(Enable)36 b(and)f(disable)h(builtin)g(shell)g(commands.)56
+3198 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
-2364 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 2474 y(sp)s(ecifying)27
+3308 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 3417 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 2584 y(b)s(efore)32
+(searc)m(hes)h(for)f(builtins)630 3527 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
-2693 y Fq(name)5 b Ft(s)44 b(are)h(enabled.)82 b(F)-8
+3637 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 2803 y Ft(instead)31 b(of)f(the)h(shell)f(builtin)g
+(via)h Fs($PATH)630 3746 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 2939 y(If)42 b(the)h(`)p Fs(-p)p Ft(')f(option)h(is)f
+Ft('.)630 3884 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 3049 y(builtins)37 b(is)h(prin)m(ted.)63
+(list)g(of)g(shell)630 3994 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 3158 y(shell)33 b(builtins.)46 b(The)32
+(all)h(enabled)630 4103 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 3268 y(whether)c(or)g(not)h(it)g(is)f
-(enabled.)630 3404 y(The)40 b(`)p Fs(-f)p Ft(')g(option)g(means)g(to)h
+(with)g(an)g(indication)i(of)630 4213 y(whether)c(or)g(not)h(it)g(is)f
+(enabled.)630 4351 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 3513 y(ob)5 b(ject)27 b Fq(\014lename)p
+Ft(from)40 b(shared)630 4460 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 3623
+b(The)26 b(`)p Fs(-d)p Ft(')g(option)h(will)630 4570
 y(delete)32 b(a)e(builtin)g(loaded)h(with)f(`)p Fs(-f)p
-Ft('.)630 3759 y(If)h(there)g(are)g(no)g(options,)h(a)f(list)h(of)f
+Ft('.)630 4707 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 3869 y(restricts)f Fs(enable)e
+b(`)p Fs(-s)p Ft(')f(option)630 4817 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 3978 y(builtin)i(b)s(ecomes)h(a)f(sp)s(ecial)h
+Ft(',)h(the)f(new)630 4927 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
-(58\).)630 4115 y(The)26 b(return)f(status)h(is)g(zero)h(unless)e(a)i
+(58\).)630 5064 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 4224 y(loading)31 b(a)g(new)f(builtin)g(from)g(a)g(shared)g
-(ob)5 b(ject.)150 4387 y Fs(help)870 4523 y(help)47 b([-dms])f([)p
-Fj(pattern)11 b Fs(])630 4659 y Ft(Displa)m(y)40 b(helpful)e
+(error)630 5174 y(loading)31 b(a)g(new)f(builtin)g(from)g(a)g(shared)g
+(ob)5 b(ject.)150 5340 y Fs(help)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)870 299 y Fs(help)47 b([-dms])f([)p
+Fj(pattern)11 b Fs(])630 432 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 4769 y Fs(help)28
+b Fq(pattern)h Ft(is)g(sp)s(eci\014ed,)630 541 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 4878
-y(the)h(builtins)e(is)i(prin)m(ted.)630 5015 y(Options,)f(if)h
+Fq(pattern)p Ft(,)g(otherwise)f(a)g(list)h(of)630 651
+y(the)h(builtins)e(is)i(prin)m(ted.)630 783 y(Options,)f(if)h
 (supplied,)e(ha)m(v)m(e)i(the)g(follo)m(wing)h(meanings:)630
-5177 y Fs(-d)384 b Ft(Displa)m(y)32 b(a)e(short)g(description)h(of)f
-(eac)m(h)i Fq(pattern)630 5340 y Fs(-m)384 b Ft(Displa)m(y)32
+939 y Fs(-d)384 b Ft(Displa)m(y)32 b(a)e(short)g(description)h(of)f
+(eac)m(h)i Fq(pattern)630 1095 y Fs(-m)384 b Ft(Displa)m(y)32
 b(the)e(description)g(of)h(eac)m(h)h Fq(pattern)e Ft(in)g(a)h
-(manpage-lik)m(e)h(format)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(-s)384 b Ft(Displa)m(y)32
+(manpage-lik)m(e)h(format)630 1251 y Fs(-s)384 b Ft(Displa)m(y)32
 b(only)e(a)h(short)f(usage)h(synopsis)e(for)i(eac)m(h)g
-Fq(pattern)630 455 y Ft(The)f(return)f(status)i(is)f(zero)h(unless)f
-(no)g(command)h(matc)m(hes)g Fq(pattern)p Ft(.)150 610
-y Fs(let)870 743 y(let)47 b Fj(expression)55 b Fs([)p
-Fj(expression)11 b Fs(])630 876 y Ft(The)41 b Fs(let)g
+Fq(pattern)630 1406 y Ft(The)f(return)f(status)i(is)f(zero)h(unless)f
+(no)g(command)h(matc)m(hes)g Fq(pattern)p Ft(.)150 1562
+y Fs(let)870 1695 y(let)47 b Fj(expression)55 b Fs([)p
+Fj(expression)11 b Fs(])630 1827 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 985 y Fq(expression)31
+(shell)g(v)-5 b(ariables.)74 b(Eac)m(h)630 1937 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 1095
+h(b)s(elo)m(w)f(in)f(Section)i(6.5)g([Shell)630 2047
 y(Arithmetic],)51 b(page)46 b(76.)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 1204 y(otherwise)31 b(0)g(is)f(returned.)150
-1360 y Fs(local)870 1493 y(local)46 b([)p Fj(option)11
+b Ft(returns)g(1;)630 2156 y(otherwise)31 b(0)g(is)f(returned.)150
+2312 y Fs(local)870 2445 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
-1625 y Ft(F)-8 b(or)27 b(eac)m(h)g(argumen)m(t,)g(a)f(lo)s(cal)h(v)-5
+2577 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 1735 y(The)37 b
+(assigned)h Fq(v)-5 b(alue)p Ft(.)630 2687 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
-1845 y(b)s(e)j(used)h(within)f(a)i(function;)48 b(it)42
+2796 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 1954 y(restricted)c(to)g(that)g(function)f
+b(a)f(visible)h(scop)s(e)630 2906 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 2064 y Fs(local)g Ft(is)h(used)g(outside)g(a)h(function,)h
+(unless)630 3016 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 2173 y(readonly)30 b(v)-5
-b(ariable.)150 2329 y Fs(logout)870 2462 y(logout)46
-b([)p Fj(n)11 b Fs(])630 2594 y Ft(Exit)31 b(a)g(login)g(shell,)g
+Fq(name)45 b Ft(is)c(a)630 3125 y(readonly)30 b(v)-5
+b(ariable.)150 3281 y Fs(logout)870 3414 y(logout)46
+b([)p Fj(n)11 b Fs(])630 3546 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 2750 y Fs(mapfile)870 2883 y(mapfile)46 b([-n)h
+(t.)150 3702 y Fs(mapfile)870 3835 y(mapfile)46 b([-n)h
 Fj(count)11 b Fs(])45 b([-O)i Fj(origin)11 b Fs(])46
 b([-s)g Fj(count)11 b Fs(])46 b([-t])h([-u)g Fj(fd)11
-b Fs(])46 b([)870 2992 y(-C)h Fj(callback)11 b Fs(])45
+b Fs(])46 b([)870 3944 y(-C)h Fj(callback)11 b Fs(])45
 b([-c)i Fj(quantum)11 b Fs(])45 b([)p Fj(array)11 b Fs(])630
-3125 y Ft(Read)35 b(lines)h(from)f(the)g(standard)g(input)f(in)m(to)i
+4077 y Ft(Read)35 b(lines)h(from)f(the)g(standard)g(input)f(in)m(to)i
 (arra)m(y)g(v)-5 b(ariable)36 b Fq(arra)m(y)p Ft(,)h(or)f(from)e
-(\014le)i(de-)630 3235 y(scriptor)f Fq(fd)j Ft(if)d(the)h(`)p
+(\014le)i(de-)630 4186 y(scriptor)f Fq(fd)j Ft(if)d(the)h(`)p
 Fs(-u)p Ft(')f(option)h(is)f(supplied.)54 b(The)35 b(v)-5
 b(ariable)36 b Fs(MAPFILE)d Ft(is)i(the)h(default)630
-3344 y Fq(arra)m(y)p Ft(.)41 b(Options,)30 b(if)h(supplied,)e(ha)m(v)m
-(e)j(the)e(follo)m(wing)i(meanings:)630 3500 y Fs(-n)384
+4296 y Fq(arra)m(y)p Ft(.)41 b(Options,)30 b(if)h(supplied,)e(ha)m(v)m
+(e)j(the)e(follo)m(wing)i(meanings:)630 4452 y Fs(-n)384
 b Ft(Cop)m(y)30 b(at)h(most)g Fq(coun)m(t)i Ft(lines.)41
 b(If)30 b Fq(coun)m(t)j Ft(is)d(0,)h(all)h(lines)e(are)h(copied.)630
-3656 y Fs(-O)384 b Ft(Begin)31 b(assigning)g(to)g Fq(arra)m(y)39
+4607 y Fs(-O)384 b Ft(Begin)31 b(assigning)g(to)g Fq(arra)m(y)39
 b Ft(at)31 b(index)f Fq(origin)p Ft(.)41 b(The)30 b(default)h(index)f
-(is)g(0.)630 3811 y Fs(-s)384 b Ft(Discard)31 b(the)f(\014rst)g
-Fq(coun)m(t)j Ft(lines)e(read.)630 3967 y Fs(-t)384 b
+(is)g(0.)630 4763 y Fs(-s)384 b Ft(Discard)31 b(the)f(\014rst)g
+Fq(coun)m(t)j Ft(lines)e(read.)630 4919 y Fs(-t)384 b
 Ft(Remo)m(v)m(e)32 b(a)f(trailing)g(line)g(from)f(eac)m(h)i(line)e
-(read.)630 4123 y Fs(-u)384 b Ft(Read)31 b(lines)f(from)g(\014le)h
+(read.)630 5075 y Fs(-u)384 b Ft(Read)31 b(lines)f(from)g(\014le)h
 (descriptor)f Fq(fd)j Ft(instead)e(of)f(the)h(standard)e(input.)630
-4279 y Fs(-C)384 b Ft(Ev)-5 b(aluate)43 b Fq(callbac)m(k)49
+5230 y Fs(-C)384 b Ft(Ev)-5 b(aluate)43 b Fq(callbac)m(k)49
 b Ft(eac)m(h)42 b(time)g Fq(quan)m(tum)p Ft(P)f(lines)h(are)f(read.)74
-b(The)41 b(`)p Fs(-c)p Ft(')1110 4388 y(option)31 b(sp)s(eci\014es)f
-Fq(quan)m(tum)p Ft(.)630 4544 y Fs(-c)384 b Ft(Sp)s(ecify)30
-b(the)g(n)m(um)m(b)s(er)f(of)i(lines)f(read)h(b)s(et)m(w)m(een)g(eac)m
-(h)g(call)h(to)f Fq(callbac)m(k)p Ft(.)630 4700 y(If)f(`)p
-Fs(-C)p Ft(')g(is)h(sp)s(eci\014ed)e(without)i(`)p Fs(-c)p
-Ft(',)f(the)h(default)f(quan)m(tum)g(is)h(5000.)630 4832
-y(If)25 b(not)g(supplied)f(with)h(an)g(explicit)i(origin,)g
+b(The)41 b(`)p Fs(-c)p Ft(')1110 5340 y(option)31 b(sp)s(eci\014es)f
+Fq(quan)m(tum)p Ft(.)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(-c)384
+b Ft(Sp)s(ecify)30 b(the)g(n)m(um)m(b)s(er)f(of)i(lines)f(read)h(b)s
+(et)m(w)m(een)g(eac)m(h)g(call)h(to)f Fq(callbac)m(k)p
+Ft(.)630 463 y(If)f(`)p Fs(-C)p Ft(')g(is)h(sp)s(eci\014ed)e(without)i
+(`)p Fs(-c)p Ft(',)f(the)h(default)f(quan)m(tum)g(is)h(5000.)630
+600 y(If)25 b(not)g(supplied)f(with)h(an)g(explicit)i(origin,)g
 Fs(mapfile)c Ft(will)j(clear)g Fq(arra)m(y)34 b Ft(b)s(efore)24
-b(assigning)630 4942 y(to)31 b(it.)630 5075 y Fs(mapfile)41
+b(assigning)630 710 y(to)31 b(it.)630 847 y Fs(mapfile)41
 b Ft(returns)g(successfully)i(unless)e(an)i(in)m(v)-5
 b(alid)43 b(option)g(or)g(option)g(argumen)m(t)g(is)630
-5184 y(supplied,)29 b(or)i Fq(arra)m(y)38 b Ft(is)31
-b(in)m(v)-5 b(alid)31 b(or)f(unassignable.)150 5340 y
-Fs(printf)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)870 299 y Fs(printf)46
-b([-v)h Fj(var)11 b Fs(])46 b Fj(format)57 b Fs([)p Fj(arguments)11
-b Fs(])630 445 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 555 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
-664 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
-774 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 883
-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 993 y(In)31 b(addition)h(to)h(the)e(standard)g
+956 y(supplied,)29 b(or)i Fq(arra)m(y)38 b Ft(is)31 b(in)m(v)-5
+b(alid)31 b(or)f(unassignable.)150 1121 y Fs(printf)870
+1258 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 1395 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 1504 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 1614 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 1724 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
+1833 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 1943 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 1103 y(bac)m(kslash)39
+Fs(printf)e Ft(to)j(expand)630 2052 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 1212 y(terminates)44 b(output,)j(bac)m(kslashes)d(in)f(`)p
+Ft(')630 2162 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 1322 y(o)s(ctal)25
+Ft(')g(are)h(not)g(remo)m(v)m(ed,)k(and)630 2271 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 1431 y Fs(printf)31 b Ft(to)i(output)f(the)h(corresp)
+Ft(')h(causes)630 2381 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 1541 y(as)f(shell)f(input.)630 1687 y(The)24
+(reused)630 2491 y(as)f(shell)f(input.)630 2628 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 1797 y(b)s(eing)30 b(prin)m(ted)g(to)h(the)g
-(standard)e(output.)630 1943 y(The)i Fq(format)i Ft(is)f(reused)e(as)i
+b Ft(rather)24 b(than)630 2737 y(b)s(eing)30 b(prin)m(ted)g(to)h(the)g
+(standard)e(output.)630 2874 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 2052 y(mat)c Ft(requires)e(more)g
+Ft(.)44 b(If)30 b(the)i Fq(for-)630 2984 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 2162 y(b)s(eha)m(v)m(e)j(as)g(if)f(a)h(zero)g
+(sp)s(eci\014cations)630 3093 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 2271 y(return)29 b(v)-5
+s(een)g(supplied.)38 b(The)630 3203 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
-2454 y Fs(read)870 2600 y(read)47 b([-ers])f([-a)h Fj(aname)11
+3367 y Fs(read)870 3504 y(read)47 b([-ers])f([-a)h Fj(aname)11
 b Fs(])45 b([-d)i Fj(delim)11 b Fs(])46 b([-i)h Fj(text)11
 b Fs(])46 b([-n)g Fj(nchars)11 b Fs(])46 b([-p)h Fj(prompt)11
-b Fs(])45 b([-t)i Fj(time-)870 2710 y(out)11 b Fs(])46
+b Fs(])45 b([-t)i Fj(time-)870 3614 y(out)11 b Fs(])46
 b([-u)h Fj(fd)11 b Fs(])46 b([)p Fj(name)57 b Fs(...])630
-2856 y Ft(One)26 b(line)h(is)g(read)f(from)h(the)f(standard)g(input,)h
+3751 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
-2966 y(as)37 b(an)g(argumen)m(t)h(to)f(the)h(`)p Fs(-u)p
+3861 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 3075 y Fq(name)p Ft(,)29 b(the)f(second)h(w)m(ord)e
+(the)h(\014rst)630 3970 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 3185 y(their)g(in)m(terv)m(ening)h
+(v)m(er)i(w)m(ords)e(and)630 4080 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
-3294 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 3404 y(empt)m(y)31
+4189 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 4299 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 3513 y(the)37 b(line)h(in)m(to)g(w)m
+b(are)g(used)f(to)h(split)630 4408 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
-3623 y(sp)s(ecial)h(meaning)g(for)f(the)g(next)h(c)m(haracter)h(read)e
+4518 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
-3733 y(names)28 b(are)h(supplied,)f(the)g(line)h(read)g(is)f(assigned)h
+4628 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 3842 y(co)s(de)i(is)f(zero,)i(unless)e(end-of-\014le)h(is)
+b(return)630 4737 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 3952 y(descriptor)35 b(is)h(supplied)e(as)i(the)
+b(alid)30 b(\014le)630 4847 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 4061 y(follo)m(wing)32
-b(meanings:)630 4244 y Fs(-a)e Fj(aname)114 b Ft(The)34
+b(if)e(supplied,)h(ha)m(v)m(e)h(the)630 4956 y(follo)m(wing)32
+b(meanings:)630 5121 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 4354 y Fq(aname)p Ft(,)29
+(arra)m(y)h(v)-5 b(ariable)1110 5230 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 4463 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
-4646 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
-4755 y(rather)30 b(than)g(newline.)630 4938 y Fs(-e)384
-b Ft(Readline)28 b(\(see)h(Chapter)e(8)h([Command)f(Line)g(Editing],)i
-(page)f(91\))h(is)f(used)1110 5048 y(to)j(obtain)g(the)g(line.)630
-5230 y Fs(-i)f Fj(text)162 b Ft(If)36 b(Readline)i(is)f(b)s(eing)g
-(used)f(to)h(read)g(the)g(line,)j Fq(text)f Ft(is)e(placed)h(in)m(to)g
-(the)1110 5340 y(editing)31 b(bu\013er)e(b)s(efore)h(editing)h(b)s
-(egins.)p eop end
+(from)d Fq(aname)34 b Ft(b)s(efore)1110 5340 y(the)d(assignmen)m(t.)41
+b(Other)30 b Fq(name)36 b Ft(argumen)m(ts)30 b(are)h(ignored.)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(-n)f Fj(nchars)1110
-408 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 518
-y(for)30 b(a)h(complete)h(line)e(of)h(input.)630 682
-y Fs(-p)f Fj(prompt)1110 792 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 902 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 1011 y(from)30
-b(a)h(terminal.)630 1176 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 1285 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
-1395 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 1559 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 1669
-y(ec)m(ho)s(ed.)630 1833 y Fs(-t)i Fj(timeout)1110 1943
-y Ft(Cause)23 b Fs(read)f Ft(to)i(time)f(out)h(and)e(return)g(failure)h
-(if)g(a)h(complete)g(line)g(of)f(input)1110 2052 y(is)44
-b(not)f(read)h(within)e Fq(timeout)47 b Ft(seconds.)80
-b Fq(timeout)46 b Ft(ma)m(y)e(b)s(e)f(a)h(decimal)1110
-2162 y(n)m(um)m(b)s(er)26 b(with)h(a)h(fractional)h(p)s(ortion)d(follo)
-m(wing)j(the)f(decimal)g(p)s(oin)m(t.)40 b(This)1110
-2271 y(option)31 b(has)f(no)g(e\013ect)i(if)f Fs(read)e
-Ft(is)h(not)h(reading)f(input)g(from)g(the)g(terminal)1110
-2381 y(or)g(a)h(pip)s(e.)630 2545 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 2710 y Fs(source)870 2847 y(source)46 b Fj(filename)630
-2984 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(35\).)150 3148
-y Fs(type)870 3285 y(type)47 b([-afptP])e([)p Fj(name)57
-b Fs(...)o(])630 3422 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 3532 y(name.)630 3669 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 3778 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
-3888 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 3998 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
-4134 y(If)39 b(the)g(`)p Fs(-p)p Ft(')g(option)h(is)f(used,)i
+b(Reference)g(Man)m(ual)630 299 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
+408 y(rather)30 b(than)g(newline.)630 567 y Fs(-e)384
+b Ft(Readline)28 b(\(see)h(Chapter)e(8)h([Command)f(Line)g(Editing],)i
+(page)f(91\))h(is)f(used)1110 676 y(to)j(obtain)g(the)g(line.)630
+835 y Fs(-i)f Fj(text)162 b Ft(If)36 b(Readline)i(is)f(b)s(eing)g(used)
+f(to)h(read)g(the)g(line,)j Fq(text)f Ft(is)e(placed)h(in)m(to)g(the)
+1110 944 y(editing)31 b(bu\013er)e(b)s(efore)h(editing)h(b)s(egins.)630
+1103 y Fs(-n)f Fj(nchars)1110 1212 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 1322 y(for)30 b(a)h(complete)h(line)e(of)h(input.)630
+1480 y Fs(-p)f Fj(prompt)1110 1590 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 1699 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 1809 y(from)30 b(a)h(terminal.)630 1967
+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
+2077 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 2186
+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 2345 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 2454 y(ec)m(ho)s(ed.)630
+2612 y Fs(-t)i Fj(timeout)1110 2722 y Ft(Cause)23 b Fs(read)f
+Ft(to)i(time)f(out)h(and)e(return)g(failure)h(if)g(a)h(complete)g(line)
+g(of)f(input)1110 2832 y(is)44 b(not)f(read)h(within)e
+Fq(timeout)47 b Ft(seconds.)80 b Fq(timeout)46 b Ft(ma)m(y)e(b)s(e)f(a)
+h(decimal)1110 2941 y(n)m(um)m(b)s(er)26 b(with)h(a)h(fractional)h(p)s
+(ortion)d(follo)m(wing)j(the)f(decimal)g(p)s(oin)m(t.)40
+b(This)1110 3051 y(option)g(is)g(only)g(e\013ectiv)m(e)j(if)c
+Fs(read)g Ft(is)h(reading)g(input)f(from)g(a)h(terminal,)1110
+3160 y(pip)s(e,)25 b(or)e(other)i(sp)s(ecial)f(\014le;)i(it)f(has)e(no)
+h(e\013ect)h(when)e(reading)h(from)g(regular)1110 3270
+y(\014les.)40 b(The)26 b(exit)i(status)g(is)f(greater)h(than)f(128)h
+(if)f(the)h(timeout)g(is)f(exceeded.)630 3428 y Fs(-u)j
+Fj(fd)258 b Ft(Read)31 b(input)e(from)h(\014le)g(descriptor)h
+Fq(fd)p Ft(.)150 3587 y Fs(source)870 3720 y(source)46
+b Fj(filename)630 3854 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
+(35\).)150 4013 y Fs(type)870 4147 y(type)47 b([-afptP])e([)p
+Fj(name)57 b Fs(...)o(])630 4281 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 4390 y(name.)630
+4524 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 4634 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 4743 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 4853
+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 4987
+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 4244 y(w)m(ould)30 b(b)s(e)g(executed,)h(or)g(nothing)f(if)g
+(that)630 5096 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 4381 y(The)23 b(`)p Fs(-P)p Ft(')h(option)g(forces)g(a)g
+Ft('.)630 5230 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 4491 y(`)p
-Fs(file)p Ft('.)630 4628 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 4737 y(the)c(\014le)f(that)h(app)s
-(ears)f(\014rst)f(in)h Fs($PATH)p Ft(.)630 4874 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 4984 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 5093 y(option)d(is)f(not)h(also)g(used.)630
-5230 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 5340 y(the)k Fs(command)d
-Ft(builtin.)p eop end
+Fs(-t)p Ft(')g(w)m(ould)f(not)h(return)630 5340 y(`)p
+Fs(file)p Ft('.)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)31
-b(return)f(status)h(is)g(zero)h(if)f(all)h(of)f(the)h
-Fq(names)i Ft(are)e(found,)e(non-zero)i(if)f(an)m(y)g(are)h(not)630
-408 y(found.)150 569 y Fs(typeset)870 704 y(typeset)46
-b([-afFrxi])f([-p])i([)p Fj(name)11 b Fs([=)p Fj(value)g
-Fs(])43 b(...)o(])630 838 y Ft(The)29 b Fs(typeset)f
+b(Shell)30 b(Builtin)h(Commands)2069 b(49)630 299 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 408 y(the)c(\014le)f(that)h(app)s(ears)f
+(\014rst)f(in)h Fs($PATH)p Ft(.)630 544 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 653
+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 763 y(option)d(is)f(not)h(also)g(used.)630
+898 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 1008 y(the)k Fs(command)d
+Ft(builtin.)630 1143 y(The)j(return)f(status)h(is)g(zero)h(if)f(all)h
+(of)f(the)h Fq(names)i Ft(are)e(found,)e(non-zero)i(if)f(an)m(y)g(are)h
+(not)630 1253 y(found.)150 1413 y Fs(typeset)870 1549
+y(typeset)46 b([-afFrxi])f([-p])i([)p Fj(name)11 b Fs([=)p
+Fj(value)g Fs(])43 b(...)o(])630 1684 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 948 y(ev)m(er,)g(it)g(has)f(b)s(een)g
+(Korn)e(shell;)j(ho)m(w-)630 1793 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 1108 y Fs(ulimit)870 1243 y(ulimit)46
+Ft(builtin)i(command.)150 1954 y Fs(ulimit)870 2090 y(ulimit)46
 b([-abcdefilmnpqrstuvxHST])41 b([)p Fj(limit)11 b Fs(])630
-1378 y(ulimit)25 b Ft(pro)m(vides)h(con)m(trol)i(o)m(v)m(er)g(the)f
+2225 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 1487 y(shell,)i(on)f(systems)g(that)h(allo)m(w)h(suc)m(h)e
+(y)g(the)630 2334 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 1597 y(as)i(follo)m(ws:)630 1757 y Fs(-S)384
+(terpreted)630 2444 y(as)i(follo)m(ws:)630 2605 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 1917 y Fs(-H)384 b Ft(Change)30
+(with)e(a)h(resource.)630 2766 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 2078 y Fs(-a)384 b Ft(All)31 b(curren)m(t)f(limits)h
-(are)g(rep)s(orted.)630 2238 y Fs(-b)384 b Ft(The)30
+(resource.)630 2927 y Fs(-a)384 b Ft(All)31 b(curren)m(t)f(limits)h
+(are)g(rep)s(orted.)630 3088 y Fs(-b)384 b Ft(The)30
 b(maxim)m(um)g(so)s(c)m(k)m(et)i(bu\013er)e(size.)630
-2398 y Fs(-c)384 b Ft(The)30 b(maxim)m(um)g(size)h(of)g(core)g(\014les)
-f(created.)630 2558 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 2718 y Fs(-e)384
+3248 y Fs(-c)384 b Ft(The)30 b(maxim)m(um)g(size)h(of)g(core)g(\014les)
+f(created.)630 3409 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 3570 y Fs(-e)384
 b Ft(The)30 b(maxim)m(um)g(sc)m(heduling)h(priorit)m(y)f(\()p
-Fs(")p Ft(nice)p Fs(")p Ft(\).)630 2878 y Fs(-f)384 b
+Fs(")p Ft(nice)p Fs(")p Ft(\).)630 3731 y Fs(-f)384 b
 Ft(The)30 b(maxim)m(um)g(size)h(of)g(\014les)f(written)h(b)m(y)f(the)g
-(shell)h(and)f(its)h(c)m(hildren.)630 3039 y Fs(-i)384
+(shell)h(and)f(its)h(c)m(hildren.)630 3892 y Fs(-i)384
 b Ft(The)30 b(maxim)m(um)g(n)m(um)m(b)s(er)f(of)i(p)s(ending)e
-(signals.)630 3199 y Fs(-l)384 b Ft(The)30 b(maxim)m(um)g(size)h(that)g
+(signals.)630 4053 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 3359 y Fs(-m)384 b Ft(The)30 b(maxim)m(um)g(residen)m(t)h(set)g
-(size.)630 3519 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 3679 y Fs(-p)384
-b Ft(The)30 b(pip)s(e)f(bu\013er)h(size.)630 3839 y Fs(-q)384
+b(.)630 4214 y Fs(-m)384 b Ft(The)30 b(maxim)m(um)g(residen)m(t)h(set)g
+(size.)630 4375 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 4536 y Fs(-p)384
+b Ft(The)30 b(pip)s(e)f(bu\013er)h(size.)630 4696 y Fs(-q)384
 b Ft(The)30 b(maxim)m(um)g(n)m(um)m(b)s(er)f(of)i(b)m(ytes)g(in)f
-(POSIX)f(message)j(queues.)630 4000 y Fs(-r)384 b Ft(The)30
+(POSIX)f(message)j(queues.)630 4857 y Fs(-r)384 b Ft(The)30
 b(maxim)m(um)g(real-time)i(sc)m(heduling)f(priorit)m(y)-8
-b(.)630 4160 y Fs(-s)384 b Ft(The)30 b(maxim)m(um)g(stac)m(k)i(size.)
-630 4320 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 4480 y Fs(-u)384 b Ft(The)30
+b(.)630 5018 y Fs(-s)384 b Ft(The)30 b(maxim)m(um)g(stac)m(k)i(size.)
+630 5179 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 5340 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 4640 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 4800 y Fs(-x)384
+b(ailable)33 b(to)e(a)f(single)i(user.)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(-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 457 y Fs(-x)384
 b Ft(The)30 b(maxim)m(um)g(n)m(um)m(b)s(er)f(of)i(\014le)f(lo)s(c)m
-(ks.)630 4961 y Fs(-T)384 b Ft(The)30 b(maxim)m(um)g(n)m(um)m(b)s(er)f
-(of)i(threads.)630 5121 y(If)i Fq(limit)j Ft(is)e(giv)m(en,)h(it)f(is)g
+(ks.)630 615 y Fs(-T)384 b Ft(The)30 b(maxim)m(um)g(n)m(um)m(b)s(er)f
+(of)i(threads.)630 773 y(If)i 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 5230 y Ft(v)-5 b(alues)27
+(the)f(sp)s(ecial)g Fq(limit)630 883 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 5340 y(soft)38 b(limit,)j(and)d(no)f(limit,)k(resp)s(ectiv)m(ely)-8
-b(.)66 b(A)38 b(hard)f(limit)h(cannot)h(b)s(e)e(increased)i(b)m(y)f(a)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(non-ro)s(ot)37 b(user)f(once)i(it)g
-(is)f(set;)k(a)c(soft)g(limit)h(ma)m(y)g(b)s(e)e(increased)h(up)f(to)i
-(the)f(v)-5 b(alue)38 b(of)630 408 y(the)c(hard)f(limit.)51
-b(Otherwise,)35 b(the)f(curren)m(t)f(v)-5 b(alue)35 b(of)f(the)f(soft)i
-(limit)f(for)g(the)g(sp)s(eci\014ed)630 518 y(resource)27
-b(is)h(prin)m(ted,)f(unless)g(the)g(`)p Fs(-H)p Ft(')g(option)h(is)f
-(supplied.)38 b(When)27 b(setting)h(new)f(limits,)630
-628 y(if)40 b(neither)f(`)p Fs(-H)p Ft(')h(nor)f(`)p
-Fs(-S)p Ft(')h(is)f(supplied,)i(b)s(oth)e(the)h(hard)f(and)g(soft)h
-(limits)g(are)g(set.)69 b(If)630 737 y(no)35 b(option)h(is)f(giv)m(en,)
-j(then)d(`)p Fs(-f)p Ft(')g(is)g(assumed.)55 b(V)-8 b(alues)36
-b(are)f(in)g(1024-b)m(yte)j(incremen)m(ts,)630 847 y(except)d(for)f(`)p
-Fs(-t)p Ft(',)g(whic)m(h)g(is)g(in)g(seconds,)h(`)p Fs(-p)p
-Ft(',)g(whic)m(h)e(is)h(in)g(units)f(of)h(512-b)m(yte)i(blo)s(c)m(ks,)
-630 956 y(and)30 b(`)p Fs(-n)p Ft(')g(and)g(`)p Fs(-u)p
+630 992 y(soft)38 b(limit,)j(and)d(no)f(limit,)k(resp)s(ectiv)m(ely)-8
+b(.)66 b(A)38 b(hard)f(limit)h(cannot)h(b)s(e)e(increased)i(b)m(y)f(a)
+630 1102 y(non-ro)s(ot)f(user)f(once)i(it)g(is)f(set;)k(a)c(soft)g
+(limit)h(ma)m(y)g(b)s(e)e(increased)h(up)f(to)i(the)f(v)-5
+b(alue)38 b(of)630 1211 y(the)c(hard)f(limit.)51 b(Otherwise,)35
+b(the)f(curren)m(t)f(v)-5 b(alue)35 b(of)f(the)f(soft)i(limit)f(for)g
+(the)g(sp)s(eci\014ed)630 1321 y(resource)27 b(is)h(prin)m(ted,)f
+(unless)g(the)g(`)p Fs(-H)p Ft(')g(option)h(is)f(supplied.)38
+b(When)27 b(setting)h(new)f(limits,)630 1431 y(if)40
+b(neither)f(`)p Fs(-H)p Ft(')h(nor)f(`)p Fs(-S)p Ft(')h(is)f(supplied,)
+i(b)s(oth)e(the)h(hard)f(and)g(soft)h(limits)g(are)g(set.)69
+b(If)630 1540 y(no)35 b(option)h(is)f(giv)m(en,)j(then)d(`)p
+Fs(-f)p Ft(')g(is)g(assumed.)55 b(V)-8 b(alues)36 b(are)f(in)g(1024-b)m
+(yte)j(incremen)m(ts,)630 1650 y(except)d(for)f(`)p Fs(-t)p
+Ft(',)g(whic)m(h)g(is)g(in)g(seconds,)h(`)p Fs(-p)p Ft(',)g(whic)m(h)e
+(is)h(in)g(units)f(of)h(512-b)m(yte)i(blo)s(c)m(ks,)630
+1759 y(and)30 b(`)p Fs(-n)p Ft(')g(and)g(`)p Fs(-u)p
 Ft(',)g(whic)m(h)g(are)h(unscaled)f(v)-5 b(alues.)630
-1090 y(The)34 b(return)g(status)h(is)f(zero)i(unless)e(an)g(in)m(v)-5
+1893 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
-1199 y(an)30 b(error)g(o)s(ccurs)g(while)h(setting)g(a)g(new)f(limit.)
-150 1356 y Fs(unalias)870 1489 y(unalias)46 b([-a])g([)p
-Fj(name)57 b Fs(...)47 b(])630 1623 y Ft(Remo)m(v)m(e)39
+2003 y(an)30 b(error)g(o)s(ccurs)g(while)h(setting)g(a)g(new)f(limit.)
+150 2161 y Fs(unalias)870 2295 y(unalias)46 b([-a])g([)p
+Fj(name)57 b Fs(...)47 b(])630 2428 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
-1732 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(77.)150 1986 y Fr(4.3)68
-b(Mo)t(difying)45 b(Shell)g(Beha)l(vior)150 2316 y Fk(4.3.1)63
-b(The)41 b(Set)g(Builtin)275 2559 y Ft(This)27 b(builtin)h(is)h(so)f
+2538 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(77.)150 2793 y Fr(4.3)68
+b(Mo)t(difying)45 b(Shell)g(Beha)l(vior)150 3125 y Fk(4.3.1)63
+b(The)41 b(Set)g(Builtin)275 3368 y Ft(This)27 b(builtin)h(is)h(so)f
 (complicated)i(that)f(it)g(deserv)m(es)g(its)g(o)m(wn)f(section.)42
 b Fs(set)27 b Ft(allo)m(ws)j(y)m(ou)f(to)g(c)m(hange)150
-2669 y(the)k(v)-5 b(alues)34 b(of)f(shell)g(options)h(and)e(set)i(the)f
+3478 y(the)k(v)-5 b(alues)34 b(of)f(shell)g(options)h(and)e(set)i(the)f
 (p)s(ositional)h(parameters,)h(or)e(to)h(displa)m(y)f(the)g(names)h
-(and)150 2778 y(v)-5 b(alues)31 b(of)f(shell)h(v)-5 b(ariables.)150
-2935 y Fs(set)870 3068 y(set)47 b([--abefhkmnptuvxBCEHPT])41
+(and)150 3588 y(v)-5 b(alues)31 b(of)f(shell)h(v)-5 b(ariables.)150
+3746 y Fs(set)870 3880 y(set)47 b([--abefhkmnptuvxBCEHPT])41
 b([-o)47 b Fj(option)11 b Fs(])46 b([)p Fj(argument)55
-b Fs(...])870 3178 y(set)47 b([+abefhkmnptuvxBCEHPT])42
+b Fs(...])870 3989 y(set)47 b([+abefhkmnptuvxBCEHPT])42
 b([+o)47 b Fj(option)11 b Fs(])45 b([)p Fj(argument)56
-b Fs(...)o(])630 3311 y Ft(If)22 b(no)h(options)g(or)g(argumen)m(ts)g
+b Fs(...)o(])630 4123 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 3421 y(shell)j(v)-5 b(ariables)27
+b(alues)23 b(of)g(all)630 4233 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 3530 y(that)i(ma)m(y)h(b)s(e)e(reused)g
+(cale,)k(in)c(a)i(format)630 4342 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 3640 y(Read-only)37 b(v)-5 b(ariables)37
+(v)-5 b(ariables.)630 4452 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 3750 y(listed.)630
-3883 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 4561 y(listed.)630
+4695 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
-3992 y(i\014ed,)h(ha)m(v)m(e)i(the)e(follo)m(wing)i(meanings:)630
-4149 y Fs(-a)384 b Ft(Mark)32 b(v)-5 b(ariables)33 b(and)e(function)h
+4805 y(i\014ed,)h(ha)m(v)m(e)i(the)e(follo)m(wing)i(meanings:)630
+4963 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
-4259 y(p)s(ort)e(to)h(the)f(en)m(vironmen)m(t)h(of)g(subsequen)m(t)f
-(commands.)630 4416 y Fs(-b)384 b Ft(Cause)44 b(the)h(status)g(of)f
+5072 y(p)s(ort)e(to)h(the)f(en)m(vironmen)m(t)h(of)g(subsequen)m(t)f
+(commands.)630 5230 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
-4525 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 4682 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 4792 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 4902 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 5011 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 5121
-y(part)33 b(of)h(a)g(command)f(executed)i(in)e(a)h Fs(&&)f
-Ft(or)g Fs(||b)g Ft(list,)i(an)m(y)f(command)f(in)1110
-5230 y(a)g(pip)s(eline)e(but)h(the)g(last,)i(or)f(if)f(the)g(command's)
-g(return)f(status)i(is)f(b)s(eing)1110 5340 y(in)m(v)m(erted)38
-b(using)e Fs(!)p Ft(.)60 b(F)-8 b(ailing)39 b(simple)e(commands)f(that)
-i(are)f(part)g(of)g(shell)p eop end
+5340 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.)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)1110 299 y(functions)35
-b(or)g(command)g(lists)h(enclosed)g(in)f(braces)g(or)h(paren)m(theses)f
-(sat-)1110 408 y(isfying)d(the)f(ab)s(o)m(v)m(e)i(conditions)f(do)g
-(not)f(cause)h(the)g(shell)g(to)g(exit.)45 b(A)32 b(trap)1110
-518 y(on)e Fs(ERR)p Ft(,)g(if)g(set,)i(is)e(executed)h(b)s(efore)f(the)
-h(shell)f(exits.)630 677 y Fs(-f)384 b Ft(Disable)31
-b(\014le)g(name)f(generation)i(\(globbing\).)630 836
-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
-945 y(execution.)42 b(This)29 b(option)i(is)g(enabled)f(b)m(y)g
-(default.)630 1104 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
-1214 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 1324 y(command)30
-b(name.)630 1482 y Fs(-m)384 b Ft(Job)30 b(con)m(trol)i(is)e(enabled)h
+b(Shell)30 b(Builtin)h(Commands)2069 b(51)630 299 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 408 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
+518 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 628 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 737 y(part)33 b(of)h(a)g(command)f
+(executed)i(in)e(a)h Fs(&&)f Ft(or)g Fs(||b)g Ft(list,)i(an)m(y)f
+(command)f(in)1110 847 y(a)g(pip)s(eline)e(but)h(the)g(last,)i(or)f(if)
+f(the)g(command's)g(return)f(status)i(is)f(b)s(eing)1110
+956 y(in)m(v)m(erted)38 b(using)e Fs(!)p Ft(.)60 b(F)-8
+b(ailing)39 b(simple)e(commands)f(that)i(are)f(part)g(of)g(shell)1110
+1066 y(functions)e(or)g(command)g(lists)h(enclosed)g(in)f(braces)g(or)h
+(paren)m(theses)f(sat-)1110 1176 y(isfying)d(the)f(ab)s(o)m(v)m(e)i
+(conditions)f(do)g(not)f(cause)h(the)g(shell)g(to)g(exit.)45
+b(A)32 b(trap)1110 1285 y(on)e Fs(ERR)p Ft(,)g(if)g(set,)i(is)e
+(executed)h(b)s(efore)f(the)h(shell)f(exits.)630 1443
+y Fs(-f)384 b Ft(Disable)31 b(\014le)g(name)f(generation)i
+(\(globbing\).)630 1600 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 1710 y(execution.)42 b(This)29
+b(option)i(is)g(enabled)f(b)m(y)g(default.)630 1867 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
+1977 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 2087 y(command)30
+b(name.)630 2244 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(87\).)630
-1641 y Fs(-n)384 b Ft(Read)21 b(commands)f(but)g(do)h(not)g(execute)h
+2402 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
-1751 y(a)42 b(script)g(for)g(syn)m(tax)g(errors.)75 b(This)41
+2511 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
-1861 y(shells.)630 2019 y Fs(-o)30 b Fj(option-name)1110
-2129 y Ft(Set)h(the)f(option)h(corresp)s(onding)e(to)i
-Fq(option-name)5 b Ft(:)1110 2288 y Fs(allexport)1590
-2398 y Ft(Same)30 b(as)h Fs(-a)p Ft(.)1110 2556 y Fs(braceexpand)1590
-2666 y Ft(Same)f(as)h Fs(-B)p Ft(.)1110 2825 y Fs(emacs)240
+2621 y(shells.)630 2778 y Fs(-o)30 b Fj(option-name)1110
+2888 y Ft(Set)h(the)f(option)h(corresp)s(onding)e(to)i
+Fq(option-name)5 b Ft(:)1110 3045 y Fs(allexport)1590
+3155 y Ft(Same)30 b(as)h Fs(-a)p Ft(.)1110 3313 y Fs(braceexpand)1590
+3422 y Ft(Same)f(as)h Fs(-B)p Ft(.)1110 3580 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 2934 y([Command)30
-b(Line)g(Editing],)h(page)g(91\).)1110 3093 y Fs(errexit)144
-b Ft(Same)30 b(as)h Fs(-e)p Ft(.)1110 3252 y Fs(errtrace)96
-b Ft(Same)30 b(as)h Fs(-E)p Ft(.)1110 3411 y Fs(functrace)1590
-3521 y Ft(Same)f(as)h Fs(-T)p Ft(.)1110 3680 y Fs(hashall)144
-b Ft(Same)30 b(as)h Fs(-h)p Ft(.)1110 3839 y Fs(histexpand)1590
-3948 y Ft(Same)f(as)h Fs(-H)p Ft(.)1110 4107 y Fs(history)144
+(terface)h(\(see)g(Chapter)e(8)1590 3689 y([Command)30
+b(Line)g(Editing],)h(page)g(91\).)1110 3847 y Fs(errexit)144
+b Ft(Same)30 b(as)h Fs(-e)p Ft(.)1110 4004 y Fs(errtrace)96
+b Ft(Same)30 b(as)h Fs(-E)p Ft(.)1110 4162 y Fs(functrace)1590
+4271 y Ft(Same)f(as)h Fs(-T)p Ft(.)1110 4429 y Fs(hashall)144
+b Ft(Same)30 b(as)h Fs(-h)p Ft(.)1110 4587 y Fs(histexpand)1590
+4696 y Ft(Same)f(as)h Fs(-H)p Ft(.)1110 4854 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 4217 y([Bash)d(History)g(F)-8 b(acilities],)41
-b(page)c(119.)60 b(This)36 b(option)h(is)f(on)1590 4326
+(Section)h(9.1)1590 4963 y([Bash)d(History)g(F)-8 b(acilities],)41
+b(page)c(119.)60 b(This)36 b(option)h(is)f(on)1590 5073
 y(b)m(y)30 b(default)h(in)f(in)m(teractiv)m(e)j(shells.)1110
-4485 y Fs(ignoreeof)1590 4595 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 4754
-y Fs(keyword)144 b Ft(Same)30 b(as)h Fs(-k)p Ft(.)1110
-4913 y Fs(monitor)144 b Ft(Same)30 b(as)h Fs(-m)p Ft(.)1110
-5071 y Fs(noclobber)1590 5181 y Ft(Same)f(as)h Fs(-C)p
-Ft(.)1110 5340 y Fs(noexec)192 b Ft(Same)30 b(as)h Fs(-n)p
-Ft(.)p eop end
+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
 %%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(noglob)192 b Ft(Same)30
-b(as)h Fs(-f)p Ft(.)1110 456 y Fs(nolog)240 b Ft(Curren)m(tly)30
-b(ignored.)1110 614 y Fs(notify)192 b Ft(Same)30 b(as)h
-Fs(-b)p Ft(.)1110 771 y Fs(nounset)144 b Ft(Same)30 b(as)h
-Fs(-u)p Ft(.)1110 929 y Fs(onecmd)192 b Ft(Same)30 b(as)h
-Fs(-t)p Ft(.)1110 1087 y Fs(physical)96 b Ft(Same)30
-b(as)h Fs(-P)p Ft(.)1110 1244 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 1354 y(the)33 b(last)h(\(righ)m
-(tmost\))h(command)e(to)h(exit)g(with)f(a)g(non-zero)1590
-1463 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 1573 y(cessfully)-8 b(.)41
+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
-1730 y Fs(posix)240 b Ft(Change)30 b(the)g(b)s(eha)m(vior)h(of)f(Bash)g
-(where)g(the)g(default)h(op)s(era-)1590 1840 y(tion)25
+2450 y Fs(posix)240 b Ft(Change)30 b(the)g(b)s(eha)m(vior)h(of)f(Bash)g
+(where)g(the)g(default)h(op)s(era-)1590 2560 y(tion)25
 b(di\013ers)f(from)g(the)h Fl(posix)f Ft(standard)f(to)i(matc)m(h)h
-(the)f(stan-)1590 1950 y(dard)32 b(\(see)i(Section)g(6.11)h([Bash)e
-(POSIX)f(Mo)s(de],)j(page)e(82\).)1590 2059 y(This)k(is)g(in)m(tended)g
+(the)f(stan-)1590 2669 y(dard)32 b(\(see)i(Section)g(6.11)h([Bash)e
+(POSIX)f(Mo)s(de],)j(page)e(83\).)1590 2779 y(This)k(is)g(in)m(tended)g
 (to)h(mak)m(e)g(Bash)g(b)s(eha)m(v)m(e)g(as)g(a)f(strict)h(su-)1590
-2169 y(p)s(erset)30 b(of)h(that)f(standard.)1110 2326
-y Fs(privileged)1590 2436 y Ft(Same)g(as)h Fs(-p)p Ft(.)1110
-2593 y Fs(verbose)144 b Ft(Same)30 b(as)h Fs(-v)p Ft(.)1110
-2751 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 2908 y Fs(xtrace)192 b
-Ft(Same)30 b(as)h Fs(-x)p Ft(.)630 3066 y Fs(-p)384 b
+2889 y(p)s(erset)30 b(of)h(that)f(standard.)1110 3044
+y Fs(privileged)1590 3154 y Ft(Same)g(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
-3176 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 3285 y(en)m(vironmen)m(t,)f
+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 3395 y(vironmen)m(t,)d(is)f(ignored.)41
+(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 3504 y(\(group\))d(id)g(not)g(equal)h(to)f(the)g(real)h
+(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
-3614 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 3724 y(is)d(set)h(to)h
+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 3833 y(the)29 b(e\013ectiv)m(e)j(user)d
+(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 3943 y(e\013ectiv)m(e)e(user)d(and)g(group)g(ids)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
-4100 y Fs(-t)384 b Ft(Exit)31 b(after)g(reading)f(and)g(executing)h
-(one)g(command.)630 4258 y Fs(-u)384 b Ft(T)-8 b(reat)38
+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 4367 y(pansion.)58 b(An)36 b(error)f(message)j
+(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
-4477 y(and)30 b(a)h(non-in)m(teractiv)m(e)i(shell)d(will)h(exit.)630
-4634 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 4792 y Fs(-x)384 b Ft(Prin)m(t)21 b(a)h(trace)h(of)f
-(simple)f(commands,)i Fs(for)e Ft(commands,)i Fs(case)d
-Ft(commands,)1110 4902 y Fs(select)29 b Ft(commands,)j(and)e
-(arithmetic)j Fs(for)d Ft(commands)h(and)f(their)i(argu-)1110
-5011 y(men)m(ts)h(or)f(asso)s(ciated)i(w)m(ord)e(lists)h(after)g(they)f
-(are)h(expanded)f(and)f(b)s(efore)1110 5121 y(they)i(are)g(executed.)49
-b(The)32 b(v)-5 b(alue)33 b(of)g(the)g Fs(PS4)f Ft(v)-5
-b(ariable)34 b(is)f(expanded)f(and)1110 5230 y(the)24
-b(resultan)m(t)h(v)-5 b(alue)24 b(is)g(prin)m(ted)g(b)s(efore)f(the)h
-(command)g(and)f(its)i(expanded)1110 5340 y(argumen)m(ts.)p
-eop end
+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
 %%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(-B)384
+b(Shell)30 b(Builtin)h(Commands)2069 b(53)630 299 y Fs(-x)384
+b Ft(Prin)m(t)21 b(a)h(trace)h(of)f(simple)f(commands,)i
+Fs(for)e Ft(commands,)i Fs(case)d Ft(commands,)1110 408
+y Fs(select)29 b Ft(commands,)j(and)e(arithmetic)j Fs(for)d
+Ft(commands)h(and)f(their)i(argu-)1110 518 y(men)m(ts)h(or)f(asso)s
+(ciated)i(w)m(ord)e(lists)h(after)g(they)f(are)h(expanded)f(and)f(b)s
+(efore)1110 628 y(they)i(are)g(executed.)49 b(The)32
+b(v)-5 b(alue)33 b(of)g(the)g Fs(PS4)f Ft(v)-5 b(ariable)34
+b(is)f(expanded)f(and)1110 737 y(the)24 b(resultan)m(t)h(v)-5
+b(alue)24 b(is)g(prin)m(ted)g(b)s(efore)f(the)h(command)g(and)f(its)i
+(expanded)1110 847 y(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 408 y(Expansion],)30 b(page)h(18\).)42
-b(This)30 b(option)h(is)f(on)g(b)m(y)h(default.)630 556
-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 666 y(existing)31
-b(\014les.)630 814 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
-923 y(substitutions,)35 b(and)e(commands)g(executed)i(in)f(a)g
-(subshell)f(en)m(vironmen)m(t.)1110 1033 y(The)d Fs(ERR)f
+(Section)g(3.5.1)g([Brace)1110 1110 y(Expansion],)30
+b(page)h(18\).)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 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 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 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
-1181 y Fs(-H)384 b Ft(Enable)38 b(`)p Fs(!)p Ft(')h(st)m(yle)h(history)
+1899 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
-1290 y(teraction],)g(page)d(121\).)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 1400 y(shells.)630
-1548 y Fs(-P)384 b Ft(If)43 b(set,)k(do)c(not)g(follo)m(w)h(sym)m(b)s
+2008 y(teraction],)g(page)d(121\).)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 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
-1657 y(suc)m(h)29 b(as)h Fs(cd)f Ft(whic)m(h)g(c)m(hange)h(the)g
+2381 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
-1767 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 1877
+2491 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(commands)g(whic)m(h)g(c)m(hange)
-i(the)f(curren)m(t)1110 1986 y(directory)-8 b(.)1110
-2115 y(F)g(or)31 b(example,)g(if)f(`)p Fs(/usr/sys)p
+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 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 2224 y(then:)1350 2353 y Fs($)47 b(cd)h(/usr/sys;)d(echo)i
-($PWD)1350 2463 y(/usr/sys)1350 2572 y($)g(cd)h(..;)f(pwd)1350
-2682 y(/usr)1110 2811 y Ft(If)30 b Fs(set)f(-P)h Ft(is)h(on,)f(then:)
-1350 2939 y Fs($)47 b(cd)h(/usr/sys;)d(echo)i($PWD)1350
-3049 y(/usr/local/sys)1350 3158 y($)g(cd)h(..;)f(pwd)1350
-3268 y(/usr/local)630 3416 y(-T)384 b Ft(If)34 b(set,)j(an)m(y)e(trap)g
+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 3525 y(tions,)k(command)d(substitutions,)h(and)f
-(commands)g(executed)h(in)f(a)h(sub-)1110 3635 y(shell)33
+(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 3745
-y(inherited)d(in)g(suc)m(h)g(cases.)630 3892 y Fs(--)384
+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 4002 y(are)h(unset.)49
+(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 4112 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 4260
+(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
-4369 y(assigned)38 b(to)h(the)f(p)s(ositional)h(parameters.)65
+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
-4479 y(are)25 b(turned)e(o\013.)40 b(If)24 b(there)h(are)g(no)f
+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
-4588 y(remain)k(unc)m(hanged.)630 4736 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
-4846 y(also)36 b(b)s(e)f(used)f(up)s(on)g(in)m(v)m(o)s(cation)j(of)e
+5340 y(remain)k(unc)m(hanged.)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
 (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 4955 y(found)29 b(in)h Fs($-)p Ft(.)630 5084
+(b)s(e)630 518 y(found)29 b(in)h Fs($-)p Ft(.)630 653
 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 5194 y(order,)30
+g(parameters)g(and)f(are)h(assigned,)j(in)630 762 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 5322 y(The)f(return)f(status)i(is)f(alw)m(a)m
+Ft(is)g(set)h(to)g(N.)630 897 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.)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)150 299 y Fk(4.3.2)63 b(The)41
-b(Shopt)h(Builtin)275 544 y Ft(This)29 b(builtin)h(allo)m(ws)i(y)m(ou)e
-(to)i(c)m(hange)f(additional)g(shell)g(optional)g(b)s(eha)m(vior.)150
-704 y Fs(shopt)870 839 y(shopt)46 b([-pqsu])g([-o])h([)p
-Fj(optname)56 b Fs(...)o(])630 974 y Ft(T)-8 b(oggle)47
+(supplied.)150 1122 y Fk(4.3.2)63 b(The)41 b(Shopt)h(Builtin)275
+1366 y Ft(This)29 b(builtin)h(allo)m(ws)i(y)m(ou)e(to)i(c)m(hange)f
+(additional)g(shell)g(optional)g(b)s(eha)m(vior.)150
+1526 y Fs(shopt)870 1661 y(shopt)46 b([-pqsu])g([-o])h([)p
+Fj(optname)56 b Fs(...)o(])630 1795 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
-1083 y(options,)32 b(or)f(with)g(the)g(`)p Fs(-p)p Ft(')g(option,)h(a)g
+1905 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 1193 y(an)i(indication)i(of)f(whether)f(or)g(not)h(eac)m(h)h(is)e
+630 2014 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 1303 y(b)s(e)i(displa)m(y)m(ed)h(in)e(a)i(form)f(that)h(ma)m(y)g(b)
+630 2124 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 1412 y(follo)m(wing)32 b(meanings:)630 1572 y Fs(-s)384
+630 2234 y(follo)m(wing)32 b(meanings:)630 2393 y Fs(-s)384
 b Ft(Enable)30 b(\(set\))i(eac)m(h)f Fq(optname)p Ft(.)630
-1732 y Fs(-u)384 b Ft(Disable)31 b(\(unset\))g(eac)m(h)h
-Fq(optname)p Ft(.)630 1893 y Fs(-q)384 b Ft(Suppresses)28
+2553 y Fs(-u)384 b Ft(Disable)31 b(\(unset\))g(eac)m(h)h
+Fq(optname)p Ft(.)630 2713 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 2002 y Fq(optname)37 b Ft(is)31 b(set)h(or)f(unset.)43
+1110 2822 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 2112 y(with)43 b(`)p Fs(-q)p Ft(',)j(the)d
+b(are)h(giv)m(en)1110 2932 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 2221 y(non-zero)31 b(otherwise.)630
-2381 y Fs(-o)384 b Ft(Restricts)28 b(the)g(v)-5 b(alues)28
+Ft(are)d(enabled;)1110 3042 y(non-zero)31 b(otherwise.)630
+3201 y Fs(-o)384 b Ft(Restricts)28 b(the)g(v)-5 b(alues)28
 b(of)f Fq(optname)33 b Ft(to)c(b)s(e)d(those)i(de\014ned)f(for)g(the)g
-(`)p Fs(-o)p Ft(')h(op-)1110 2491 y(tion)23 b(to)h(the)f
+(`)p Fs(-o)p Ft(')h(op-)1110 3311 y(tion)23 b(to)h(the)f
 Fs(set)f Ft(builtin)h(\(see)g(Section)h(4.3.1)h([The)d(Set)i(Builtin],)
-h(page)e(50\).)630 2651 y(If)29 b(either)i(`)p Fs(-s)p
+h(page)e(50\).)630 3471 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
-2761 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 2896 y(Unless)30 b(otherwise)h(noted,)g
+3580 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 3715 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 3030 y(The)d(return)f(status)i(when)f
+b(\))32 b(b)m(y)e(default.)630 3849 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 3140 y(zero)40 b(otherwise.)66
+Ft(are)d(enabled,)g(non-)630 3959 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 3250 y(unless)30 b(an)g Fq(optname)36
+(status)h(is)g(zero)630 4069 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
-3384 y(The)f(list)h(of)f Fs(shopt)f Ft(options)i(is:)630
-3545 y Fs(autocd)192 b Ft(If)27 b(set,)h(a)g(command)f(name)g(that)h
+4203 y(The)f(list)h(of)f Fs(shopt)f Ft(options)i(is:)630
+4363 y Fs(autocd)192 b Ft(If)27 b(set,)h(a)g(command)f(name)g(that)h
 (is)f(the)g(name)g(of)h(a)f(directory)h(is)f(executed)1110
-3654 y(as)j(if)f(it)h(w)m(ere)f(the)h(argumen)m(t)g(to)g(the)f
+4473 y(as)j(if)f(it)h(w)m(ere)f(the)h(argumen)m(t)g(to)g(the)f
 Fs(cd)g Ft(command.)40 b(This)29 b(option)g(is)h(only)1110
-3764 y(used)g(b)m(y)g(in)m(teractiv)m(e)j(shells.)630
-3924 y Fs(cdable_vars)1110 4033 y Ft(If)h(this)h(is)g(set,)i(an)e
+4582 y(used)g(b)m(y)g(in)m(teractiv)m(e)j(shells.)630
+4742 y Fs(cdable_vars)1110 4851 y Ft(If)h(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 4143 y(a)c(directory)g(is)g(assumed)f(to)h(b)s(e)f(the)h
+(not)1110 4961 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 4253 y(the)g(directory)f(to)i(c)m(hange)f(to.)630
-4413 y Fs(cdspell)144 b Ft(If)27 b(set,)h(minor)f(errors)f(in)h(the)g
+b(is)1110 5071 y(the)g(directory)f(to)i(c)m(hange)f(to.)630
+5230 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 4522 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
-4632 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 4742 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 4851
-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 5011 y Fs(checkhash)1110
-5121 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 5230
-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 5340
-y(exists,)f(a)g(normal)f(path)g(searc)m(h)h(is)g(p)s(erformed.)p
+Fs(cd)1110 5340 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)p
 eop end
 %%Page: 55 61
 TeXDict begin 55 60 bop 150 -116 a Ft(Chapter)30 b(4:)41
-b(Shell)30 b(Builtin)h(Commands)2069 b(55)630 299 y Fs(checkjobs)1110
-408 y Ft(If)28 b(set,)i(Bash)e(lists)h(the)g(status)g(of)f(an)m(y)h
-(stopp)s(ed)f(and)g(running)e(jobs)i(b)s(efore)1110 518
-y(exiting)42 b(an)f(in)m(teractiv)m(e)j(shell.)72 b(If)41
-b(an)m(y)g(jobs)f(are)i(running,)g(this)f(causes)1110
-628 y(the)30 b(exit)g(to)g(b)s(e)f(deferred)g(un)m(til)h(a)f(second)h
-(exit)g(is)g(attempted)h(without)e(an)1110 737 y(in)m(terv)m(ening)j
+b(Shell)30 b(Builtin)h(Commands)2069 b(55)1110 299 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 408 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 518 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 675 y
+Fs(checkhash)1110 785 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
+894 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 1004
+y(exists,)f(a)g(normal)f(path)g(searc)m(h)h(is)g(p)s(erformed.)630
+1161 y Fs(checkjobs)1110 1271 y Ft(If)d(set,)i(Bash)e(lists)h(the)g
+(status)g(of)f(an)m(y)h(stopp)s(ed)f(and)g(running)e(jobs)i(b)s(efore)
+1110 1380 y(exiting)42 b(an)f(in)m(teractiv)m(e)j(shell.)72
+b(If)41 b(an)m(y)g(jobs)f(are)i(running,)g(this)f(causes)1110
+1490 y(the)30 b(exit)g(to)g(b)s(e)f(deferred)g(un)m(til)h(a)f(second)h
+(exit)g(is)g(attempted)h(without)e(an)1110 1600 y(in)m(terv)m(ening)j
 (command)e(\(see)h(Chapter)f(7)h([Job)f(Con)m(trol],)i(page)f(87\).)42
-b(The)1110 847 y(shell)31 b(alw)m(a)m(ys)g(p)s(ostp)s(ones)f(exiting)h
-(if)g(an)m(y)f(jobs)g(are)h(stopp)s(ed.)630 1009 y Fs(checkwinsize)1110
-1118 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 1228 y(necessary)-8
+b(The)1110 1709 y(shell)31 b(alw)m(a)m(ys)g(p)s(ostp)s(ones)f(exiting)h
+(if)g(an)m(y)f(jobs)g(are)h(stopp)s(ed.)630 1866 y Fs(checkwinsize)1110
+1976 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 2086 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 1390 y Fs(cmdhist)144
+Ft(and)g Fs(COLUMNS)p Ft(.)630 2243 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 1499 y(in)c(the)g(same)g
+(of)g(a)h(m)m(ultiple-line)g(command)1110 2352 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 1609 y(commands.)630
-1771 y Fs(compat31)96 b Ft(If)27 b(set,)i(Bash)e(c)m(hanges)i(its)f(b)s
+(re-editing)g(of)f(m)m(ulti-line)1110 2462 y(commands.)630
+2619 y Fs(compat31)96 b Ft(If)27 b(set,)i(Bash)e(c)m(hanges)i(its)f(b)s
 (eha)m(vior)f(to)i(that)f(of)f(v)m(ersion)h(3.1)h(with)e(resp)s(ect)
-1110 1880 y(to)k(quoted)g(argumen)m(ts)f(to)h(the)g(conditional)h
-(command's)e(=)p Fs(~)g Ft(op)s(erator.)630 2042 y Fs(dirspell)96
+1110 2729 y(to)k(quoted)g(argumen)m(ts)f(to)h(the)g(conditional)h
+(command's)e(=)p Fs(~)g Ft(op)s(erator.)630 2886 y Fs(dirspell)96
 b Ft(If)26 b(set,)i(Bash)f(attempts)g(sp)s(elling)g(correction)g(on)g
-(directory)g(names)f(during)1110 2151 y(w)m(ord)36 b(completion)h(if)f
+(directory)g(names)f(during)1110 2996 y(w)m(ord)36 b(completion)h(if)f
 (the)g(directory)g(name)g(initially)h(supplied)e(do)s(es)h(not)1110
-2261 y(exist.)630 2423 y Fs(dotglob)144 b Ft(If)27 b(set,)i(Bash)f
+3105 y(exist.)630 3263 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 2532 y(\014lename)j(expansion.)630
-2694 y Fs(execfail)96 b Ft(If)24 b(this)h(is)f(set,)j(a)e(non-in)m
+b(in)27 b(the)h(results)g(of)1110 3372 y(\014lename)j(expansion.)630
+3529 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 2804 y(the)i(\014le)g(sp)s(eci\014ed)g(as)g(an)g(argumen)m(t)g(to)
+1110 3639 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
-2913 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 3075 y Fs(expand_aliases)1110
-3185 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 3294 y(tion)38
+3749 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 3906 y Fs(expand_aliases)1110
+4015 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 4125 y(tion)38
 b(6.6)h([Aliases],)j(page)d(77.)64 b(This)37 b(option)h(is)g(enabled)g
-(b)m(y)g(default)g(for)1110 3404 y(in)m(teractiv)m(e)33
-b(shells.)630 3566 y Fs(extdebug)96 b Ft(If)30 b(set,)h(b)s(eha)m(vior)
+(b)m(y)g(default)g(for)1110 4235 y(in)m(teractiv)m(e)33
+b(shells.)630 4392 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
-3701 y(1.)61 b(The)32 b(`)p Fs(-F)p Ft(')g(option)h(to)g(the)g
+4525 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
-3811 y(Builtins],)29 b(page)g(41\))g(displa)m(ys)f(the)g(source)h
-(\014le)f(name)g(and)f(line)h(n)m(um-)1290 3921 y(b)s(er)h(corresp)s
+4635 y(Builtins],)29 b(page)g(41\))g(displa)m(ys)f(the)g(source)h
+(\014le)f(name)g(and)f(line)h(n)m(um-)1290 4744 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 4030 y(men)m(t.)1159 4166 y(2.)61 b(If)20 b(the)h(command)g(run)e
+1290 4854 y(men)m(t.)1159 4987 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 4275 y(the)31 b(next)f(command)g(is)h(skipp)s(ed)e(and)g
-(not)i(executed.)1159 4411 y(3.)61 b(If)37 b(the)g(command)g(run)f(b)m
+b(alue,)1290 5097 y(the)31 b(next)f(command)g(is)h(skipp)s(ed)e(and)g
+(not)i(executed.)1159 5230 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 4521 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 4630 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 4740 y Fs(return)29
-b Ft(is)h(sim)m(ulated.)1159 4876 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 4985 y(descriptions)30 b(\(see)i(Section)f(5.2)g([Bash)g
-(V)-8 b(ariables],)32 b(page)f(59\).)1159 5121 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 5230 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(DEBUG)f Ft(and)h Fs(RETURN)e Ft(traps.)p eop end
+b(of)f(2,)1290 5340 y(and)c(the)g(shell)h(is)f(executing)i(in)e(a)h
+(subroutine)e(\(a)i(shell)g(function)f(or)p eop end
 %%Page: 56 62
 TeXDict begin 56 61 bop 150 -116 a Ft(56)2572 b(Bash)31
-b(Reference)g(Man)m(ual)1159 299 y(6.)61 b(Error)74 b(tracing)i(is)f
-(enabled:)131 b(command)74 b(substitution,)87 b(shell)1290
-408 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
-518 y Fs(ERROR)f Ft(trap.)630 667 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 777 y(Section)j(3.5.8.1)i
-([P)m(attern)f(Matc)m(hing],)g(page)f(24\))h(are)f(enabled.)630
-927 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 1036 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 1146 y(is)e(enabled)h(b)m(y)f
-(default.)630 1295 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 1405 y(pansion)g(result)g(in)g(an)g(expansion)h(error.)630
-1554 y Fs(force_fignore)1110 1664 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 1773 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
-1883 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 1993 y([Bash)24
-b(V)-8 b(ariables],)27 b(page)e(59,)h(for)d(a)h(description)g(of)g
-Fs(FIGNORE)p Ft(.)37 b(This)22 b(option)1110 2102 y(is)30
-b(enabled)h(b)m(y)f(default.)630 2252 y Fs(globstar)96
+b(Reference)g(Man)m(ual)1290 299 y(a)j(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 408 y Fs(return)29 b Ft(is)h(sim)m(ulated.)1159
+544 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
+654 y(descriptions)30 b(\(see)i(Section)f(5.2)g([Bash)g(V)-8
+b(ariables],)32 b(page)f(59\).)1159 789 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 899 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 1009 y Fs(DEBUG)f Ft(and)h Fs(RETURN)e
+Ft(traps.)1159 1144 y(6.)61 b(Error)74 b(tracing)i(is)f(enabled:)131
+b(command)74 b(substitution,)87 b(shell)1290 1254 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 1363
+y Fs(ERROR)f Ft(trap.)630 1525 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 1635 y(Section)j(3.5.8.1)i([P)m
+(attern)f(Matc)m(hing],)g(page)f(24\))h(are)f(enabled.)630
+1797 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
+1906 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 2016
+y(is)e(enabled)h(b)m(y)f(default.)630 2178 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 2287 y(pansion)g(result)g
+(in)g(an)g(expansion)h(error.)630 2449 y Fs(force_fignore)1110
+2559 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
+2668 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 2778 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 2887 y([Bash)24 b(V)-8
+b(ariables],)27 b(page)e(59,)h(for)d(a)h(description)g(of)g
+Fs(FIGNORE)p Ft(.)37 b(This)22 b(option)1110 2997 y(is)30
+b(enabled)h(b)m(y)f(default.)630 3159 y Fs(globstar)96
 b Ft(If)38 b(set,)j(the)e(pattern)f(`)p Fs(**)p Ft(')h(used)e(in)i(a)f
-(\014lename)h(expansion)f(con)m(text)j(will)1110 2361
+(\014lename)h(expansion)f(con)m(text)j(will)1110 3268
 y(matc)m(h)f(a)g(\014les)f(and)f(zero)i(or)g(more)f(directories)h(and)f
-(sub)s(directories.)66 b(If)1110 2471 y(the)30 b(pattern)g(is)g(follo)m
+(sub)s(directories.)66 b(If)1110 3378 y(the)30 b(pattern)g(is)g(follo)m
 (w)m(ed)i(b)m(y)d(a)i(`)p Fs(/)p Ft(',)f(only)g(directories)h(and)f
-(sub)s(directories)1110 2580 y(matc)m(h.)630 2730 y Fs(gnu_errfmt)1110
-2839 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 2949 y(message)c(format.)630
-3098 y Fs(histappend)1110 3208 y Ft(If)c(set,)j(the)e(history)g(list)g
+(sub)s(directories)1110 3487 y(matc)m(h.)630 3649 y Fs(gnu_errfmt)1110
+3759 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 3868 y(message)c(format.)630
+4030 y Fs(histappend)1110 4140 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 3318 y(the)d Fs(HISTFILE)d Ft(v)-5
+b(alue)29 b(of)1110 4249 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 3427 y(the)31 b(\014le.)630 3577 y Fs(histreedit)1110
-3686 y Ft(If)i(set,)h(and)f(Readline)h(is)f(b)s(eing)g(used,)g(a)g
+(erwriting)1110 4359 y(the)31 b(\014le.)630 4521 y Fs(histreedit)1110
+4630 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
-3796 y(to)d(re-edit)g(a)g(failed)g(history)f(substitution.)630
-3945 y Fs(histverify)1110 4055 y Ft(If)35 b(set,)i(and)e(Readline)h(is)
+4740 y(to)d(re-edit)g(a)g(failed)g(history)f(substitution.)630
+4902 y Fs(histverify)1110 5011 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
-4164 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 4274 y(resulting)i(line)f(is)h
+5121 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 5230 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 4384 y(further)29 b(mo)s(di\014cation.)630 4533
-y Fs(hostcomplete)1110 4643 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
-4752 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 4862 y(pleted)g(\(see)h
-(Section)f(8.4.6)i([Commands)d(F)-8 b(or)36 b(Completion],)g(page)g
-(108\).)1110 4971 y(This)30 b(option)g(is)h(enabled)f(b)m(y)g(default.)
-630 5121 y Fs(huponexit)1110 5230 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 5340 y(shell)31 b(exits)g(\(see)g(Section)g(3.7.6)h([Signals],)g
-(page)f(32\).)p eop end
+1110 5340 y(further)29 b(mo)s(di\014cation.)p eop end
 %%Page: 57 63
 TeXDict begin 57 62 bop 150 -116 a Ft(Chapter)30 b(4:)41
-b(Shell)30 b(Builtin)h(Commands)2069 b(57)630 299 y Fs
-(interactive_comments)1110 408 y Ft(Allo)m(w)27 b(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 518 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
-628 y(This)30 b(option)g(is)h(enabled)f(b)m(y)g(default.)630
-777 y Fs(lithist)144 b Ft(If)22 b(enabled,)i(and)d(the)h
+b(Shell)30 b(Builtin)h(Commands)2069 b(57)630 299 y Fs(hostcomplete)
+1110 408 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 518 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 628 y(pleted)g(\(see)h(Section)
+f(8.4.6)i([Commands)d(F)-8 b(or)36 b(Completion],)g(page)g(108\).)1110
+737 y(This)30 b(option)g(is)h(enabled)f(b)m(y)g(default.)630
+897 y Fs(huponexit)1110 1006 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 1116 y(shell)31 b(exits)g(\(see)g(Section)g(3.7.6)h([Signals],)g
+(page)f(33\).)630 1275 y Fs(interactive_comments)1110
+1385 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
+1494 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
+1604 y(This)30 b(option)g(is)h(enabled)f(b)m(y)g(default.)630
+1763 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
-887 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 996 y(semicolon)32
-b(separators)f(where)e(p)s(ossible.)630 1146 y Fs(login_shell)1110
-1255 y Ft(The)35 b(shell)h(sets)g(this)f(option)h(if)g(it)g(is)f
+1873 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 1983 y(semicolon)32
+b(separators)f(where)e(p)s(ossible.)630 2142 y Fs(login_shell)1110
+2252 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
-1365 y(tion)29 b(6.1)g([In)m(v)m(oking)h(Bash],)f(page)g(69\).)41
+2361 y(tion)29 b(6.1)g([In)m(v)m(oking)h(Bash],)f(page)g(69\).)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
-1514 y Fs(mailwarn)96 b Ft(If)34 b(set,)i(and)e(a)h(\014le)g(that)g
+2521 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 1624 y(since)24 b(the)h(last)g(time)f(it)h(w)m(as)f(c)m(hec)m(k)m
+1110 2630 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
-1733 y(file)40 b Fs(has)29 b(been)g(read")g Ft(is)i(displa)m(y)m(ed.)
-630 1883 y Fs(no_empty_cmd_completion)1110 1993 y Ft(If)f(set,)g(and)g
+2740 y(file)40 b Fs(has)29 b(been)g(read")g Ft(is)i(displa)m(y)m(ed.)
+630 2899 y Fs(no_empty_cmd_completion)1110 3009 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 2102 y(the)25 b Fs(PATH)f Ft(for)h(p)s(ossible)f
+(searc)m(h)1110 3118 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
-2212 y(an)k(empt)m(y)h(line.)630 2361 y Fs(nocaseglob)1110
-2471 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 2580 y(p)s(erforming)29
-b(\014lename)i(expansion.)630 2730 y Fs(nocasematch)1110
-2839 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 2949 y(p)s(erforming)31
+3228 y(an)k(empt)m(y)h(line.)630 3387 y Fs(nocaseglob)1110
+3497 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 3606 y(p)s(erforming)29
+b(\014lename)i(expansion.)630 3766 y Fs(nocasematch)1110
+3875 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 3985 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 3059 y(mands.)630
-3208 y Fs(nullglob)96 b Ft(If)23 b(set,)j(Bash)e(allo)m(ws)g
+Fs([[)g Ft(conditional)h(com-)1110 4095 y(mands.)630
+4254 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 3318 y(to)31 b(a)g(n)m(ull)f(string,)h(rather)f(than)g
-(themselv)m(es.)630 3467 y Fs(progcomp)96 b Ft(If)25
+(expand)1110 4364 y(to)31 b(a)g(n)m(ull)f(string,)h(rather)f(than)g
+(themselv)m(es.)630 4523 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 3577 y(grammable)45 b(Completion],)k(page)c
+(Section)f(8.6)h([Pro-)1110 4633 y(grammable)45 b(Completion],)k(page)c
 (112\))h(are)f(enabled.)82 b(This)44 b(option)h(is)1110
-3686 y(enabled)30 b(b)m(y)h(default.)630 3836 y Fs(promptvars)1110
-3945 y Ft(If)24 b(set,)i(prompt)d(strings)h(undergo)f(parameter)i
-(expansion,)g(command)f(sub-)1110 4055 y(stitution,)34
+4742 y(enabled)30 b(b)m(y)h(default.)630 4902 y Fs(promptvars)1110
+5011 y Ft(If)24 b(set,)i(prompt)d(strings)h(undergo)f(parameter)i
+(expansion,)g(command)f(sub-)1110 5121 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 4164 y(panded)39
+b(al)33 b(after)g(b)s(eing)e(ex-)1110 5230 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 4274 y(page)31 b(81\).)42 b(This)30
-b(option)g(is)h(enabled)f(b)m(y)g(default.)630 4423 y
-Fs(restricted_shell)1110 4533 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 4643 y(Section)c(6.10)g([The)f(Restricted)g(Shell],)i(page)e
-(82\).)56 b(The)34 b(v)-5 b(alue)35 b(ma)m(y)h(not)1110
-4752 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 4862
-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 4971
-y(stricted.)630 5121 y Fs(shift_verbose)1110 5230 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 5340 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.)p eop end
+(ting)g(a)g(Prompt],)1110 5340 y(page)31 b(81\).)42 b(This)30
+b(option)g(is)h(enabled)f(b)m(y)g(default.)p eop end
 %%Page: 58 64
 TeXDict begin 58 63 bop 150 -116 a Ft(58)2572 b(Bash)31
-b(Reference)g(Man)m(ual)630 299 y Fs(sourcepath)1110
-408 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
-518 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 628 y(b)m(y)j(default.)
-630 787 y Fs(xpg_echo)96 b Ft(If)31 b(set,)h(the)g Fs(echo)e
+b(Reference)g(Man)m(ual)630 299 y Fs(restricted_shell)1110
+408 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 518
+y(Section)c(6.10)g([The)f(Restricted)g(Shell],)i(page)e(82\).)56
+b(The)34 b(v)-5 b(alue)35 b(ma)m(y)h(not)1110 628 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 737 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 847 y(stricted.)630 1006 y Fs(shift_verbose)1110
+1116 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 1225 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 1385 y Fs(sourcepath)1110 1494 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
+1604 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 1714 y(b)m(y)j(default.)
+630 1873 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 897 y(fault.)630 1056 y(The)c(return)f(status)i(when)f
+(de-)1110 1983 y(fault.)630 2142 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 1166 y(zero)40 b(otherwise.)66
+Ft(are)d(enabled,)g(non-)630 2252 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 1275 y(unless)30 b(an)g Fq(optname)36
+(status)h(is)g(zero)630 2361 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
-1533 y Fr(4.4)68 b(Sp)t(ecial)45 b(Builtins)275 1777
+2619 y Fr(4.4)68 b(Sp)t(ecial)45 b(Builtins)275 2863
 y Ft(F)-8 b(or)40 b(historical)i(reasons,)g(the)f Fl(posix)e
 Ft(standard)g(has)h(classi\014ed)g(sev)m(eral)i(builtin)d(commands)h
-(as)150 1886 y Fm(sp)-5 b(e)g(cial)p Ft(.)84 b(When)44
+(as)150 2972 y Fm(sp)-5 b(e)g(cial)p Ft(.)84 b(When)44
 b(Bash)g(is)g(executing)i(in)d Fl(posix)h Ft(mo)s(de,)j(the)e(sp)s
-(ecial)f(builtins)g(di\013er)g(from)g(other)150 1996
+(ecial)f(builtins)g(di\013er)g(from)g(other)150 3082
 y(builtin)30 b(commands)g(in)g(three)h(resp)s(ects:)199
-2130 y(1.)61 b(Sp)s(ecial)31 b(builtins)e(are)i(found)e(b)s(efore)h
+3216 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
-2265 y(2.)61 b(If)30 b(a)h(sp)s(ecial)g(builtin)f(returns)f(an)h(error)
+3351 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
-2399 y(3.)61 b(Assignmen)m(t)30 b(statemen)m(ts)h(preceding)f(the)f
+3485 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 2509 y(after)i(the)f(command)h(completes.)275
-2668 y(When)36 b(Bash)g(is)h(not)f(executing)i(in)e Fl(posix)f
+(t)330 3595 y(after)i(the)f(command)h(completes.)275
+3754 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 2778 y(the)31 b(rest)f(of)h(the)f(Bash)h(builtin)e
+(tly)h(than)150 3864 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 2888 y([Bash)g(POSIX)e(Mo)s(de],)i(page)g
-(82.)275 3022 y(These)f(are)g(the)h Fl(posix)f Ft(sp)s(ecial)h
-(builtins:)390 3156 y Fs(break)46 b(:)i(.)f(continue)f(eval)g(exec)h
-(exit)g(export)f(readonly)f(return)h(set)390 3266 y(shift)g(trap)h
+(ed)f(in)h(Section)h(6.11)150 3973 y([Bash)g(POSIX)e(Mo)s(de],)i(page)g
+(83.)275 4108 y(These)f(are)g(the)h Fl(posix)f Ft(sp)s(ecial)h
+(builtins:)390 4242 y Fs(break)46 b(:)i(.)f(continue)f(eval)g(exec)h
+(exit)g(export)f(readonly)f(return)h(set)390 4352 y(shift)g(trap)h
 (unset)p eop end
 %%Page: 59 65
 TeXDict begin 59 64 bop 150 -116 a Ft(Chapter)30 b(5:)41
@@ -9098,562 +9146,589 @@ b(to)j(the)f(pro)s(cess)g(id)f(of)h(the)g(curren)m(t)g(Bash)g(pro)s
 (cess.)63 b(This)37 b(di\013ers)g(from)h Fs($$)630 408
 y Ft(under)31 b(certain)j(circumstances,)h(suc)m(h)e(as)g(subshells)f
 (that)i(do)f(not)g(require)g(Bash)g(to)h(b)s(e)630 518
-y(re-initialized.)150 669 y Fs(BASH_ARGC)630 778 y Ft(An)c(arra)m(y)h
-(v)-5 b(ariable)31 b(whose)f(v)-5 b(alues)31 b(are)g(the)f(n)m(um)m(b)s
-(er)g(of)g(parameters)h(in)f(eac)m(h)h(frame)g(of)630
-888 y(the)26 b(curren)m(t)f(bash)g(execution)i(call)g(stac)m(k.)41
+y(re-initialized.)150 682 y Fs(BASH_ALIASES)630 792 y
+Ft(An)40 b(asso)s(ciativ)m(e)j(arra)m(y)d(v)-5 b(ariable)41
+b(whose)f(mem)m(b)s(ers)f(corresp)s(ond)g(to)i(the)f(in)m(ternal)h
+(list)630 902 y(of)g(aliases)h(as)f(main)m(tained)g(b)m(y)g(the)f
+Fs(alias)g Ft(builtin)g(\(see)h(Section)h(4.1)f([Bourne)g(Shell)630
+1011 y(Builtins],)36 b(page)e(35\).)53 b(Elemen)m(ts)35
+b(added)e(to)i(this)e(arra)m(y)i(app)s(ear)e(in)h(the)g(alias)h(list;)i
+(un-)630 1121 y(setting)31 b(arra)m(y)g(elemen)m(ts)h(cause)f(aliases)h
+(to)f(b)s(e)f(remo)m(v)m(ed)h(from)f(the)h(alias)g(list.)150
+1285 y Fs(BASH_ARGC)630 1395 y Ft(An)f(arra)m(y)h(v)-5
+b(ariable)31 b(whose)f(v)-5 b(alues)31 b(are)g(the)f(n)m(um)m(b)s(er)g
+(of)g(parameters)h(in)f(eac)m(h)h(frame)g(of)630 1504
+y(the)26 b(curren)m(t)f(bash)g(execution)i(call)g(stac)m(k.)41
 b(The)25 b(n)m(um)m(b)s(er)g(of)h(parameters)g(to)g(the)g(curren)m(t)
-630 998 y(subroutine)i(\(shell)i(function)g(or)f(script)g(executed)i
+630 1614 y(subroutine)i(\(shell)i(function)g(or)f(script)g(executed)i
 (with)e Fs(.)g Ft(or)h Fs(source)p Ft(\))e(is)h(at)h(the)g(top)g(of)630
-1107 y(the)37 b(stac)m(k.)63 b(When)37 b(a)h(subroutine)e(is)h
+1724 y(the)37 b(stac)m(k.)63 b(When)37 b(a)h(subroutine)e(is)h
 (executed,)j(the)e(n)m(um)m(b)s(er)d(of)j(parameters)f(passed)630
-1217 y(is)g(pushed)f(on)m(to)i Fs(BASH_ARGC)p Ft(.)59
+1833 y(is)g(pushed)f(on)m(to)i Fs(BASH_ARGC)p Ft(.)59
 b(The)37 b(shell)g(sets)h Fs(BASH_ARGC)c Ft(only)k(when)e(in)h
-(extended)630 1326 y(debugging)23 b(mo)s(de)f(\(see)h(Section)g(4.3.2)i
+(extended)630 1943 y(debugging)23 b(mo)s(de)f(\(see)h(Section)g(4.3.2)i
 ([The)d(Shopt)g(Builtin],)j(page)e(54)h(for)e(a)h(description)630
-1436 y(of)31 b(the)f Fs(extdebug)e Ft(option)j(to)g(the)g
-Fs(shopt)e Ft(builtin\).)150 1587 y Fs(BASH_ARGV)630
-1696 y Ft(An)24 b(arra)m(y)g(v)-5 b(ariable)25 b(con)m(taining)h(all)f
+2052 y(of)31 b(the)f Fs(extdebug)e Ft(option)j(to)g(the)g
+Fs(shopt)e Ft(builtin\).)150 2217 y Fs(BASH_ARGV)630
+2326 y Ft(An)24 b(arra)m(y)g(v)-5 b(ariable)25 b(con)m(taining)h(all)f
 (of)f(the)h(parameters)f(in)g(the)g(curren)m(t)g(bash)g(execution)630
-1806 y(call)35 b(stac)m(k.)53 b(The)34 b(\014nal)g(parameter)g(of)g
+2436 y(call)35 b(stac)m(k.)53 b(The)34 b(\014nal)g(parameter)g(of)g
 (the)g(last)h(subroutine)e(call)i(is)f(at)h(the)f(top)h(of)f(the)630
-1915 y(stac)m(k;)28 b(the)c(\014rst)f(parameter)i(of)f(the)g(initial)i
+2545 y(stac)m(k;)28 b(the)c(\014rst)f(parameter)i(of)f(the)g(initial)i
 (call)f(is)f(at)h(the)f(b)s(ottom.)39 b(When)24 b(a)g(subroutine)630
-2025 y(is)40 b(executed,)j(the)d(parameters)h(supplied)d(are)i(pushed)f
+2655 y(is)40 b(executed,)j(the)d(parameters)h(supplied)d(are)i(pushed)f
 (on)m(to)i Fs(BASH_ARGV)p Ft(.)66 b(The)40 b(shell)630
-2134 y(sets)28 b Fs(BASH_ARGV)e Ft(only)i(when)f(in)h(extended)g
+2765 y(sets)28 b Fs(BASH_ARGV)e Ft(only)i(when)f(in)h(extended)g
 (debugging)g(mo)s(de)g(\(see)h(Section)f(4.3.2)i([The)630
-2244 y(Shopt)i(Builtin],)h(page)g(54)g(for)f(a)h(description)f(of)h
+2874 y(Shopt)i(Builtin],)h(page)g(54)g(for)f(a)h(description)f(of)h
 (the)f Fs(extdebug)e Ft(option)j(to)g(the)f Fs(shopt)630
-2354 y Ft(builtin\).)150 2504 y Fs(BASH_COMMAND)630 2614
-y Ft(The)39 b(command)h(curren)m(tly)g(b)s(eing)f(executed)i(or)e(ab)s
-(out)h(to)g(b)s(e)f(executed,)44 b(unless)39 b(the)630
-2724 y(shell)g(is)g(executing)g(a)g(command)g(as)g(the)f(result)h(of)g
-(a)g(trap,)i(in)d(whic)m(h)g(case)i(it)f(is)g(the)630
-2833 y(command)30 b(executing)i(at)f(the)f(time)h(of)g(the)g(trap.)150
-2984 y Fs(BASH_ENV)96 b Ft(If)28 b(this)g(v)-5 b(ariable)30
+2984 y Ft(builtin\).)150 3148 y Fs(BASH_CMDS)630 3258
+y Ft(An)i(asso)s(ciativ)m(e)i(arra)m(y)f(v)-5 b(ariable)35
+b(whose)f(mem)m(b)s(ers)f(corresp)s(ond)g(to)i(the)f(in)m(ternal)h
+(hash)630 3367 y(table)c(of)g(commands)f(as)g(main)m(tained)h(b)m(y)g
+(the)f Fs(hash)f Ft(builtin)h(\(see)h(Section)g(4.1)h([Bourne)630
+3477 y(Shell)23 b(Builtins],)j(page)e(35\).)40 b(Elemen)m(ts)24
+b(added)e(to)j(this)e(arra)m(y)h(app)s(ear)e(in)i(the)f(hash)g(table;)
+630 3587 y(unsetting)30 b(arra)m(y)h(elemen)m(ts)h(cause)f(commands)f
+(to)h(b)s(e)f(remo)m(v)m(ed)h(from)f(the)h(hash)e(table.)150
+3751 y Fs(BASH_COMMAND)630 3861 y Ft(The)39 b(command)h(curren)m(tly)g
+(b)s(eing)f(executed)i(or)e(ab)s(out)h(to)g(b)s(e)f(executed,)44
+b(unless)39 b(the)630 3970 y(shell)g(is)g(executing)g(a)g(command)g(as)
+g(the)f(result)h(of)g(a)g(trap,)i(in)d(whic)m(h)g(case)i(it)f(is)g(the)
+630 4080 y(command)30 b(executing)i(at)f(the)f(time)h(of)g(the)g(trap.)
+150 4244 y Fs(BASH_ENV)96 b Ft(If)28 b(this)g(v)-5 b(ariable)30
 b(is)e(set)h(when)f(Bash)g(is)h(in)m(v)m(ok)m(ed)h(to)f(execute)h(a)e
-(shell)h(script,)g(its)g(v)-5 b(alue)29 b(is)630 3093
+(shell)h(script,)g(its)g(v)-5 b(alue)29 b(is)630 4354
 y(expanded)k(and)h(used)g(as)g(the)h(name)f(of)g(a)h(startup)f(\014le)g
-(to)h(read)f(b)s(efore)g(executing)i(the)630 3203 y(script.)41
+(to)h(read)f(b)s(efore)g(executing)i(the)630 4463 y(script.)41
 b(See)30 b(Section)h(6.2)h([Bash)f(Startup)e(Files],)j(page)f(71.)150
-3354 y Fs(BASH_EXECUTION_STRING)630 3463 y Ft(The)f(command)g(argumen)m
+4628 y Fs(BASH_EXECUTION_STRING)630 4737 y Ft(The)f(command)g(argumen)m
 (t)h(to)g(the)g(`)p Fs(-c)p Ft(')f(in)m(v)m(o)s(cation)i(option.)150
-3614 y Fs(BASH_LINENO)630 3724 y Ft(An)38 b(arra)m(y)h(v)-5
+4902 y Fs(BASH_LINENO)630 5011 y Ft(An)38 b(arra)m(y)h(v)-5
 b(ariable)39 b(whose)g(mem)m(b)s(ers)e(are)i(the)g(line)g(n)m(um)m(b)s
-(ers)e(in)h(source)h(\014les)f(corre-)630 3833 y(sp)s(onding)h(to)i
+(ers)e(in)h(source)h(\014les)f(corre-)630 5121 y(sp)s(onding)h(to)i
 (eac)m(h)g(mem)m(b)s(er)e(of)i Fq(FUNCNAME)p Ft(.)g Fs
-(${BASH_LINENO[$i]})35 b Ft(is)40 b(the)h(line)630 3943
+(${BASH_LINENO[$i]})35 b Ft(is)40 b(the)h(line)630 5230
 y(n)m(um)m(b)s(er)47 b(in)h(the)g(source)h(\014le)f(where)g
 Fs(${FUNCNAME[$i]})c Ft(w)m(as)49 b(called)g(\(or)g Fs(${BASH_)630
-4052 y(LINENO[$i-1]})22 b Ft(if)j(referenced)g(within)f(another)i
-(shell)f(function\).)39 b(The)25 b(corresp)s(onding)630
-4162 y(source)f(\014le)h(name)f(is)g Fs(${BASH_SOURCE[$i]})p
-Ft(.)34 b(Use)25 b Fs(LINENO)d Ft(to)j(obtain)g(the)g(curren)m(t)f
-(line)630 4271 y(n)m(um)m(b)s(er.)150 4422 y Fs(BASH_REMATCH)630
-4532 y Ft(An)43 b(arra)m(y)i(v)-5 b(ariable)44 b(whose)g(mem)m(b)s(ers)
-f(are)h(assigned)g(b)m(y)f(the)h(`)p Fs(=~)p Ft(')g(binary)f(op)s
-(erator)630 4641 y(to)37 b(the)f Fs([[)g Ft(conditional)i(command)e
+5340 y(LINENO[$i-1]})22 b Ft(if)j(referenced)g(within)f(another)i
+(shell)f(function\).)39 b(The)25 b(corresp)s(onding)p
+eop end
+%%Page: 61 67
+TeXDict begin 61 66 bop 150 -116 a Ft(Chapter)30 b(5:)41
+b(Shell)30 b(V)-8 b(ariables)2459 b(61)630 299 y(source)24
+b(\014le)h(name)f(is)g Fs(${BASH_SOURCE[$i]})p Ft(.)34
+b(Use)25 b Fs(LINENO)d Ft(to)j(obtain)g(the)g(curren)m(t)f(line)630
+408 y(n)m(um)m(b)s(er.)150 581 y Fs(BASH_REMATCH)630
+691 y Ft(An)43 b(arra)m(y)i(v)-5 b(ariable)44 b(whose)g(mem)m(b)s(ers)f
+(are)h(assigned)g(b)m(y)f(the)h(`)p Fs(=~)p Ft(')g(binary)f(op)s
+(erator)630 800 y(to)37 b(the)f Fs([[)g Ft(conditional)i(command)e
 (\(see)h(Section)g(3.2.4.2)i([Conditional)e(Constructs],)630
-4751 y(page)e(10\).)52 b(The)33 b(elemen)m(t)j(with)d(index)g(0)i(is)f
+910 y(page)e(10\).)52 b(The)33 b(elemen)m(t)j(with)d(index)g(0)i(is)f
 (the)g(p)s(ortion)f(of)h(the)g(string)g(matc)m(hing)h(the)630
-4861 y(en)m(tire)29 b(regular)f(expression.)40 b(The)27
+1020 y(en)m(tire)29 b(regular)f(expression.)40 b(The)27
 b(elemen)m(t)j(with)d(index)h Fq(n)f Ft(is)h(the)g(p)s(ortion)g(of)g
-(the)g(string)630 4970 y(matc)m(hing)j(the)g Fq(n)p Ft(th)f(paren)m
+(the)g(string)630 1129 y(matc)m(hing)j(the)g Fq(n)p Ft(th)f(paren)m
 (thesized)h(sub)s(expression.)39 b(This)29 b(v)-5 b(ariable)31
-b(is)g(read-only)-8 b(.)150 5121 y Fs(BASH_SOURCE)630
-5230 y Ft(An)24 b(arra)m(y)h(v)-5 b(ariable)26 b(whose)e(mem)m(b)s(ers)
+b(is)g(read-only)-8 b(.)150 1302 y Fs(BASH_SOURCE)630
+1412 y Ft(An)24 b(arra)m(y)h(v)-5 b(ariable)26 b(whose)e(mem)m(b)s(ers)
 g(are)h(the)g(source)f(\014lenames)h(corresp)s(onding)e(to)j(the)630
-5340 y(elemen)m(ts)32 b(in)e(the)g Fs(FUNCNAME)e Ft(arra)m(y)j(v)-5
-b(ariable.)p eop end
-%%Page: 61 67
-TeXDict begin 61 66 bop 150 -116 a Ft(Chapter)30 b(5:)41
-b(Shell)30 b(V)-8 b(ariables)2459 b(61)150 299 y Fs(BASH_SUBSHELL)630
-408 y Ft(Incremen)m(ted)34 b(b)m(y)h(one)f(eac)m(h)i(time)f(a)f
-(subshell)g(or)g(subshell)f(en)m(vironmen)m(t)i(is)f(spa)m(wned.)630
-518 y(The)c(initial)h(v)-5 b(alue)31 b(is)g(0.)150 678
-y Fs(BASH_VERSINFO)630 788 y Ft(A)36 b(readonly)g(arra)m(y)g(v)-5
-b(ariable)37 b(\(see)f(Section)h(6.7)g([Arra)m(ys],)h(page)e(78\))h
-(whose)f(mem)m(b)s(ers)630 897 y(hold)c(v)m(ersion)h(information)f(for)
-g(this)g(instance)h(of)g(Bash.)46 b(The)32 b(v)-5 b(alues)32
-b(assigned)h(to)g(the)630 1007 y(arra)m(y)e(mem)m(b)s(ers)e(are)i(as)g
-(follo)m(ws:)630 1167 y Fs(BASH_VERSINFO[0])1110 1277
-y Ft(The)f(ma)5 b(jor)30 b(v)m(ersion)h(n)m(um)m(b)s(er)e(\(the)i
-Fq(release)5 b Ft(\).)630 1437 y Fs(BASH_VERSINFO[1])1110
-1547 y Ft(The)30 b(minor)g(v)m(ersion)h(n)m(um)m(b)s(er)e(\(the)i
-Fq(v)m(ersion)p Ft(\).)630 1707 y Fs(BASH_VERSINFO[2])1110
-1816 y Ft(The)f(patc)m(h)h(lev)m(el.)630 1976 y Fs(BASH_VERSINFO[3])
-1110 2086 y Ft(The)f(build)f(v)m(ersion.)630 2246 y Fs
-(BASH_VERSINFO[4])1110 2356 y Ft(The)h(release)i(status)e(\(e.g.,)j
-Fq(b)s(eta1)7 b Ft(\).)630 2516 y Fs(BASH_VERSINFO[5])1110
-2626 y Ft(The)30 b(v)-5 b(alue)31 b(of)f Fs(MACHTYPE)p
-Ft(.)150 2786 y Fs(BASH_VERSION)630 2895 y Ft(The)g(v)m(ersion)h(n)m
-(um)m(b)s(er)e(of)h(the)h(curren)m(t)f(instance)h(of)g(Bash.)150
-3055 y Fs(COLUMNS)144 b Ft(Used)36 b(b)m(y)h(the)f Fs(select)f
+1521 y(elemen)m(ts)32 b(in)e(the)g Fs(FUNCNAME)e Ft(arra)m(y)j(v)-5
+b(ariable.)150 1694 y Fs(BASH_SUBSHELL)630 1804 y Ft(Incremen)m(ted)34
+b(b)m(y)h(one)f(eac)m(h)i(time)f(a)f(subshell)g(or)g(subshell)f(en)m
+(vironmen)m(t)i(is)f(spa)m(wned.)630 1913 y(The)c(initial)h(v)-5
+b(alue)31 b(is)g(0.)150 2086 y Fs(BASH_VERSINFO)630 2196
+y Ft(A)36 b(readonly)g(arra)m(y)g(v)-5 b(ariable)37 b(\(see)f(Section)h
+(6.7)g([Arra)m(ys],)h(page)e(78\))h(whose)f(mem)m(b)s(ers)630
+2305 y(hold)c(v)m(ersion)h(information)f(for)g(this)g(instance)h(of)g
+(Bash.)46 b(The)32 b(v)-5 b(alues)32 b(assigned)h(to)g(the)630
+2415 y(arra)m(y)e(mem)m(b)s(ers)e(are)i(as)g(follo)m(ws:)630
+2588 y Fs(BASH_VERSINFO[0])1110 2697 y Ft(The)f(ma)5
+b(jor)30 b(v)m(ersion)h(n)m(um)m(b)s(er)e(\(the)i Fq(release)5
+b Ft(\).)630 2870 y Fs(BASH_VERSINFO[1])1110 2980 y Ft(The)30
+b(minor)g(v)m(ersion)h(n)m(um)m(b)s(er)e(\(the)i Fq(v)m(ersion)p
+Ft(\).)630 3153 y Fs(BASH_VERSINFO[2])1110 3262 y Ft(The)f(patc)m(h)h
+(lev)m(el.)630 3435 y Fs(BASH_VERSINFO[3])1110 3545 y
+Ft(The)f(build)f(v)m(ersion.)630 3718 y Fs(BASH_VERSINFO[4])1110
+3827 y Ft(The)h(release)i(status)e(\(e.g.,)j Fq(b)s(eta1)7
+b Ft(\).)630 4000 y Fs(BASH_VERSINFO[5])1110 4110 y Ft(The)30
+b(v)-5 b(alue)31 b(of)f Fs(MACHTYPE)p Ft(.)150 4282 y
+Fs(BASH_VERSION)630 4392 y Ft(The)g(v)m(ersion)h(n)m(um)m(b)s(er)e(of)h
+(the)h(curren)m(t)f(instance)h(of)g(Bash.)150 4565 y
+Fs(COLUMNS)144 b Ft(Used)36 b(b)m(y)h(the)f Fs(select)f
 Ft(builtin)h(command)h(to)g(determine)f(the)h(terminal)g(width)f(when)
-630 3165 y(prin)m(ting)30 b(selection)i(lists.)42 b(Automatically)33
+630 4674 y(prin)m(ting)30 b(selection)i(lists.)42 b(Automatically)33
 b(set)e(up)s(on)d(receipt)k(of)e(a)h Fs(SIGWINCH)p Ft(.)150
-3325 y Fs(COMP_CWORD)630 3435 y Ft(An)38 b(index)g(in)m(to)h
+4847 y Fs(COMP_CWORD)630 4957 y Ft(An)38 b(index)g(in)m(to)h
 Fs(${COMP_WORDS})c Ft(of)k(the)g(w)m(ord)f(con)m(taining)i(the)e
-(curren)m(t)g(cursor)g(p)s(o-)630 3544 y(sition.)72 b(This)40
+(curren)m(t)g(cursor)g(p)s(o-)630 5066 y(sition.)72 b(This)40
 b(v)-5 b(ariable)41 b(is)f(a)m(v)-5 b(ailable)43 b(only)e(in)f(shell)h
 (functions)f(in)m(v)m(ok)m(ed)i(b)m(y)e(the)h(pro-)630
-3654 y(grammable)36 b(completion)g(facilities)i(\(see)e(Section)g(8.6)g
-([Programmable)g(Completion],)630 3764 y(page)31 b(112\).)150
-3924 y Fs(COMP_LINE)630 4033 y Ft(The)38 b(curren)m(t)h(command)f
-(line.)66 b(This)37 b(v)-5 b(ariable)40 b(is)f(a)m(v)-5
-b(ailable)41 b(only)d(in)h(shell)f(functions)630 4143
-y(and)25 b(external)h(commands)f(in)m(v)m(ok)m(ed)h(b)m(y)f(the)h
-(programmable)f(completion)i(facilities)g(\(see)630 4253
-y(Section)k(8.6)h([Programmable)f(Completion],)g(page)g(112\).)150
-4413 y Fs(COMP_POINT)630 4522 y Ft(The)25 b(index)g(of)h(the)g(curren)m
+5176 y(grammable)36 b(completion)g(facilities)i(\(see)e(Section)g(8.6)g
+([Programmable)g(Completion],)630 5286 y(page)31 b(112\).)p
+eop end
+%%Page: 62 68
+TeXDict begin 62 67 bop 150 -116 a Ft(62)2572 b(Bash)31
+b(Reference)g(Man)m(ual)150 299 y Fs(COMP_LINE)630 408
+y Ft(The)38 b(curren)m(t)h(command)f(line.)66 b(This)37
+b(v)-5 b(ariable)40 b(is)f(a)m(v)-5 b(ailable)41 b(only)d(in)h(shell)f
+(functions)630 518 y(and)25 b(external)h(commands)f(in)m(v)m(ok)m(ed)h
+(b)m(y)f(the)h(programmable)f(completion)i(facilities)g(\(see)630
+628 y(Section)k(8.6)h([Programmable)f(Completion],)g(page)g(112\).)150
+778 y Fs(COMP_POINT)630 888 y Ft(The)25 b(index)g(of)h(the)g(curren)m
 (t)f(cursor)g(p)s(osition)h(relativ)m(e)i(to)e(the)g(b)s(eginning)f(of)
-g(the)h(curren)m(t)630 4632 y(command.)40 b(If)27 b(the)h(curren)m(t)g
+g(the)h(curren)m(t)630 998 y(command.)40 b(If)27 b(the)h(curren)m(t)g
 (cursor)g(p)s(osition)g(is)g(at)g(the)g(end)g(of)g(the)g(curren)m(t)g
-(command,)630 4741 y(the)i(v)-5 b(alue)30 b(of)g(this)g(v)-5
+(command,)630 1107 y(the)i(v)-5 b(alue)30 b(of)g(this)g(v)-5
 b(ariable)31 b(is)f(equal)g(to)h Fs(${#COMP_LINE})p Ft(.)37
 b(This)29 b(v)-5 b(ariable)31 b(is)f(a)m(v)-5 b(ailable)630
-4851 y(only)36 b(in)f(shell)h(functions)f(and)g(external)h(commands)g
-(in)m(v)m(ok)m(ed)h(b)m(y)e(the)h(programmable)630 4961
+1217 y(only)36 b(in)f(shell)h(functions)f(and)g(external)h(commands)g
+(in)m(v)m(ok)m(ed)h(b)m(y)e(the)h(programmable)630 1326
 y(completion)c(facilities)g(\(see)g(Section)f(8.6)g([Programmable)g
-(Completion],)h(page)f(112\).)150 5121 y Fs(COMP_TYPE)630
-5230 y Ft(Set)c(to)h(an)f(in)m(teger)h(v)-5 b(alue)28
+(Completion],)h(page)f(112\).)150 1477 y Fs(COMP_TYPE)630
+1587 y Ft(Set)c(to)h(an)f(in)m(teger)h(v)-5 b(alue)28
 b(corresp)s(onding)e(to)h(the)h(t)m(yp)s(e)f(of)g(completion)h
-(attempted)g(that)630 5340 y(caused)e(a)h(completion)h(function)e(to)h
+(attempted)g(that)630 1696 y(caused)e(a)h(completion)h(function)e(to)h
 (b)s(e)f(called:)40 b Fq(T)-8 b(AB)p Ft(,)27 b(for)f(normal)h
-(completion,)i(`)p Fs(?)p Ft(',)e(for)p eop end
-%%Page: 62 68
-TeXDict begin 62 67 bop 150 -116 a Ft(62)2572 b(Bash)31
-b(Reference)g(Man)m(ual)630 299 y(listing)k(completions)h(after)f
-(successiv)m(e)g(tabs,)h(`)p Fs(!)p Ft(',)g(for)e(listing)h(alternativ)
-m(es)i(on)d(partial)630 408 y(w)m(ord)22 b(completion,)k(`)p
-Fs(@)p Ft(',)f(to)e(list)g(completions)h(if)f(the)g(w)m(ord)f(is)h(not)
-g(unmo)s(di\014ed,)f(or)h(`)p Fs(\045)p Ft(',)h(for)630
-518 y(men)m(u)i(completion.)41 b(This)25 b(v)-5 b(ariable)27
-b(is)g(a)m(v)-5 b(ailable)28 b(only)f(in)f(shell)g(functions)g(and)g
-(external)630 628 y(commands)32 b(in)m(v)m(ok)m(ed)i(b)m(y)e(the)g
-(programmable)h(completion)g(facilities)i(\(see)e(Section)g(8.6)630
-737 y([Programmable)e(Completion],)h(page)f(112\).)150
-902 y Fs(COMP_KEY)96 b Ft(The)29 b(k)m(ey)i(\(or)g(\014nal)e(k)m(ey)i
+(completion,)i(`)p Fs(?)p Ft(',)e(for)630 1806 y(listing)35
+b(completions)h(after)f(successiv)m(e)g(tabs,)h(`)p Fs(!)p
+Ft(',)g(for)e(listing)h(alternativ)m(es)i(on)d(partial)630
+1915 y(w)m(ord)22 b(completion,)k(`)p Fs(@)p Ft(',)f(to)e(list)g
+(completions)h(if)f(the)g(w)m(ord)f(is)h(not)g(unmo)s(di\014ed,)f(or)h
+(`)p Fs(\045)p Ft(',)h(for)630 2025 y(men)m(u)i(completion.)41
+b(This)25 b(v)-5 b(ariable)27 b(is)g(a)m(v)-5 b(ailable)28
+b(only)f(in)f(shell)g(functions)g(and)g(external)630
+2134 y(commands)32 b(in)m(v)m(ok)m(ed)i(b)m(y)e(the)g(programmable)h
+(completion)g(facilities)i(\(see)e(Section)g(8.6)630
+2244 y([Programmable)e(Completion],)h(page)f(112\).)150
+2395 y Fs(COMP_KEY)96 b Ft(The)29 b(k)m(ey)i(\(or)g(\014nal)e(k)m(ey)i
 (of)f(a)g(k)m(ey)h(sequence\))g(used)e(to)i(in)m(v)m(ok)m(e)h(the)e
-(curren)m(t)g(completion)630 1011 y(function.)150 1176
-y Fs(COMP_WORDBREAKS)630 1285 y Ft(The)f(set)i(of)e(c)m(haracters)j
+(curren)m(t)g(completion)630 2504 y(function.)150 2655
+y Fs(COMP_WORDBREAKS)630 2765 y Ft(The)f(set)i(of)e(c)m(haracters)j
 (that)e(the)g(Readline)g(library)g(treats)g(as)g(w)m(ord)g(separators)g
-(when)630 1395 y(p)s(erforming)i(w)m(ord)h(completion.)51
+(when)630 2874 y(p)s(erforming)i(w)m(ord)h(completion.)51
 b(If)33 b Fs(COMP_WORDBREAKS)c Ft(is)34 b(unset,)g(it)f(loses)i(its)e
-(sp)s(ecial)630 1504 y(prop)s(erties,)d(ev)m(en)h(if)f(it)h(is)g
-(subsequen)m(tly)f(reset.)150 1669 y Fs(COMP_WORDS)630
-1778 y Ft(An)36 b(arra)m(y)g(v)-5 b(ariable)37 b(consisting)g(of)f(the)
+(sp)s(ecial)630 2984 y(prop)s(erties,)d(ev)m(en)h(if)f(it)h(is)g
+(subsequen)m(tly)f(reset.)150 3134 y Fs(COMP_WORDS)630
+3244 y Ft(An)36 b(arra)m(y)g(v)-5 b(ariable)37 b(consisting)g(of)f(the)
 g(individual)f(w)m(ords)h(in)f(the)h(curren)m(t)g(command)630
-1888 y(line.)76 b(The)41 b(w)m(ords)h(are)g(split)h(on)e(shell)i(metac)
+3354 y(line.)76 b(The)41 b(w)m(ords)h(are)g(split)h(on)e(shell)i(metac)
 m(haracters)h(as)e(the)h(shell)f(parser)f(w)m(ould)630
-1998 y(separate)31 b(them.)40 b(This)29 b(v)-5 b(ariable)30
+3463 y(separate)31 b(them.)40 b(This)29 b(v)-5 b(ariable)30
 b(is)g(a)m(v)-5 b(ailable)32 b(only)d(in)g(shell)h(functions)f(in)m(v)m
-(ok)m(ed)i(b)m(y)f(the)630 2107 y(programmable)42 b(completion)h
+(ok)m(ed)i(b)m(y)f(the)630 3573 y(programmable)42 b(completion)h
 (facilities)h(\(see)e(Section)h(8.6)f([Programmable)h(Comple-)630
-2217 y(tion],)31 b(page)g(112\).)150 2381 y Fs(COMPREPLY)630
-2491 y Ft(An)37 b(arra)m(y)h(v)-5 b(ariable)38 b(from)f(whic)m(h)g
+3682 y(tion],)31 b(page)g(112\).)150 3833 y Fs(COMPREPLY)630
+3943 y Ft(An)37 b(arra)m(y)h(v)-5 b(ariable)38 b(from)f(whic)m(h)g
 (Bash)g(reads)g(the)h(p)s(ossible)e(completions)j(generated)630
-2600 y(b)m(y)33 b(a)g(shell)h(function)f(in)m(v)m(ok)m(ed)h(b)m(y)f
+4052 y(b)m(y)33 b(a)g(shell)h(function)f(in)m(v)m(ok)m(ed)h(b)m(y)f
 (the)g(programmable)h(completion)g(facilit)m(y)h(\(see)f(Sec-)630
-2710 y(tion)d(8.6)g([Programmable)g(Completion],)h(page)f(112\).)150
-2874 y Fs(DIRSTACK)96 b Ft(An)26 b(arra)m(y)h(v)-5 b(ariable)28
+4162 y(tion)d(8.6)g([Programmable)g(Completion],)h(page)f(112\).)150
+4313 y Fs(DIRSTACK)96 b Ft(An)26 b(arra)m(y)h(v)-5 b(ariable)28
 b(con)m(taining)g(the)f(curren)m(t)f(con)m(ten)m(ts)j(of)e(the)f
-(directory)i(stac)m(k.)41 b(Direc-)630 2984 y(tories)33
+(directory)i(stac)m(k.)41 b(Direc-)630 4422 y(tories)33
 b(app)s(ear)f(in)g(the)h(stac)m(k)h(in)e(the)h(order)f(they)h(are)g
 (displa)m(y)m(ed)g(b)m(y)f(the)h Fs(dirs)e Ft(builtin.)630
-3093 y(Assigning)f(to)h(mem)m(b)s(ers)f(of)g(this)g(arra)m(y)g(v)-5
+4532 y(Assigning)f(to)h(mem)m(b)s(ers)f(of)g(this)g(arra)m(y)g(v)-5
 b(ariable)31 b(ma)m(y)g(b)s(e)e(used)h(to)h(mo)s(dify)e(directories)630
-3203 y(already)41 b(in)f(the)h(stac)m(k,)k(but)40 b(the)h
+4641 y(already)41 b(in)f(the)h(stac)m(k,)k(but)40 b(the)h
 Fs(pushd)e Ft(and)h Fs(popd)f Ft(builtins)h(m)m(ust)h(b)s(e)e(used)h
-(to)i(add)630 3313 y(and)37 b(remo)m(v)m(e)h(directories.)63
+(to)i(add)630 4751 y(and)37 b(remo)m(v)m(e)h(directories.)63
 b(Assignmen)m(t)37 b(to)h(this)f(v)-5 b(ariable)38 b(will)g(not)f(c)m
-(hange)i(the)e(cur-)630 3422 y(ren)m(t)c(directory)-8
+(hange)i(the)e(cur-)630 4861 y(ren)m(t)c(directory)-8
 b(.)47 b(If)32 b Fs(DIRSTACK)e Ft(is)i(unset,)g(it)h(loses)g(its)g(sp)s
 (ecial)g(prop)s(erties,)f(ev)m(en)h(if)f(it)h(is)630
-3532 y(subsequen)m(tly)d(reset.)150 3696 y Fs(EMACS)240
+4970 y(subsequen)m(tly)d(reset.)150 5121 y Fs(EMACS)240
 b Ft(If)31 b(Bash)h(\014nds)d(this)j(v)-5 b(ariable)32
 b(in)f(the)h(en)m(vironmen)m(t)g(when)e(the)i(shell)f(starts)h(with)f
-(v)-5 b(alue)630 3806 y(`)p Fs(t)p Ft(',)38 b(it)e(assumes)g(that)g
+(v)-5 b(alue)630 5230 y(`)p Fs(t)p Ft(',)38 b(it)e(assumes)g(that)g
 (the)h(shell)f(is)g(running)e(in)i(an)g(emacs)g(shell)h(bu\013er)e(and)
-g(disables)630 3915 y(line)c(editing.)150 4080 y Fs(EUID)288
+g(disables)630 5340 y(line)c(editing.)p eop end
+%%Page: 63 69
+TeXDict begin 63 68 bop 150 -116 a Ft(Chapter)30 b(5:)41
+b(Shell)30 b(V)-8 b(ariables)2459 b(63)150 299 y Fs(EUID)288
 b Ft(The)30 b(n)m(umeric)g(e\013ectiv)m(e)j(user)d(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(.)150 4244 y Fs(FCEDIT)192 b Ft(The)30
+b(is)f(readonly)-8 b(.)150 463 y Fs(FCEDIT)192 b Ft(The)30
 b(editor)h(used)e(as)i(a)g(default)f(b)m(y)h(the)f(`)p
 Fs(-e)p Ft(')g(option)h(to)g(the)g Fs(fc)f Ft(builtin)g(command.)150
-4408 y Fs(FIGNORE)144 b Ft(A)35 b(colon-separated)i(list)f(of)g
+628 y Fs(FIGNORE)144 b Ft(A)35 b(colon-separated)i(list)f(of)g
 (su\016xes)e(to)i(ignore)g(when)e(p)s(erforming)g(\014lename)i(comple-)
-630 4518 y(tion.)j(A)25 b(\014le)g(name)g(whose)f(su\016x)g(matc)m(hes)
-i(one)f(of)g(the)g(en)m(tries)g(in)g Fs(FIGNORE)d Ft(is)j(excluded)630
-4628 y(from)30 b(the)g(list)h(of)g(matc)m(hed)g(\014le)g(names.)40
+630 737 y(tion.)j(A)25 b(\014le)g(name)g(whose)f(su\016x)g(matc)m(hes)i
+(one)f(of)g(the)g(en)m(tries)g(in)g Fs(FIGNORE)d Ft(is)j(excluded)630
+847 y(from)30 b(the)g(list)h(of)g(matc)m(hed)g(\014le)g(names.)40
 b(A)31 b(sample)f(v)-5 b(alue)31 b(is)g(`)p Fs(.o:~)p
-Ft(')150 4792 y Fs(FUNCNAME)96 b Ft(An)35 b(arra)m(y)i(v)-5
+Ft(')150 1011 y Fs(FUNCNAME)96 b Ft(An)35 b(arra)m(y)i(v)-5
 b(ariable)36 b(con)m(taining)h(the)f(names)g(of)g(all)g(shell)g
-(functions)g(curren)m(tly)f(in)h(the)630 4902 y(execution)g(call)h
+(functions)g(curren)m(tly)f(in)h(the)630 1121 y(execution)g(call)h
 (stac)m(k.)57 b(The)34 b(elemen)m(t)j(with)e(index)g(0)h(is)f(the)g
-(name)h(of)f(an)m(y)h(curren)m(tly-)630 5011 y(executing)i(shell)f
+(name)h(of)f(an)m(y)h(curren)m(tly-)630 1230 y(executing)i(shell)f
 (function.)61 b(The)36 b(b)s(ottom-most)i(elemen)m(t)h(is)e
-Fs("main")p Ft(.)59 b(This)36 b(v)-5 b(ariable)630 5121
+Fs("main")p Ft(.)59 b(This)36 b(v)-5 b(ariable)630 1340
 y(exists)33 b(only)g(when)f(a)h(shell)g(function)f(is)h(executing.)49
 b(Assignmen)m(ts)33 b(to)g Fs(FUNCNAME)e Ft(ha)m(v)m(e)630
-5230 y(no)36 b(e\013ect)h(and)e(return)f(an)i(error)f(status.)57
+1450 y(no)36 b(e\013ect)h(and)e(return)f(an)i(error)f(status.)57
 b(If)36 b Fs(FUNCNAME)d Ft(is)j(unset,)h(it)f(loses)g(its)g(sp)s(ecial)
-630 5340 y(prop)s(erties,)30 b(ev)m(en)h(if)f(it)h(is)g(subsequen)m
-(tly)f(reset.)p eop end
-%%Page: 63 69
-TeXDict begin 63 68 bop 150 -116 a Ft(Chapter)30 b(5:)41
-b(Shell)30 b(V)-8 b(ariables)2459 b(63)150 299 y Fs(GLOBIGNORE)630
-408 y Ft(A)38 b(colon-separated)i(list)f(of)f(patterns)g(de\014ning)f
-(the)h(set)g(of)h(\014lenames)f(to)g(b)s(e)g(ignored)630
-518 y(b)m(y)31 b(\014lename)g(expansion.)43 b(If)31 b(a)h(\014lename)f
-(matc)m(hed)h(b)m(y)f(a)g(\014lename)h(expansion)f(pattern)630
-628 y(also)i(matc)m(hes)g(one)f(of)g(the)g(patterns)g(in)f
-Fs(GLOBIGNORE)p Ft(,)f(it)i(is)g(remo)m(v)m(ed)h(from)e(the)h(list)h
-(of)630 737 y(matc)m(hes.)150 931 y Fs(GROUPS)192 b Ft(An)36
+630 1559 y(prop)s(erties,)30 b(ev)m(en)h(if)f(it)h(is)g(subsequen)m
+(tly)f(reset.)150 1724 y Fs(GLOBIGNORE)630 1833 y Ft(A)38
+b(colon-separated)i(list)f(of)f(patterns)g(de\014ning)f(the)h(set)g(of)
+h(\014lenames)f(to)g(b)s(e)g(ignored)630 1943 y(b)m(y)31
+b(\014lename)g(expansion.)43 b(If)31 b(a)h(\014lename)f(matc)m(hed)h(b)
+m(y)f(a)g(\014lename)h(expansion)f(pattern)630 2052 y(also)i(matc)m
+(hes)g(one)f(of)g(the)g(patterns)g(in)f Fs(GLOBIGNORE)p
+Ft(,)f(it)i(is)g(remo)m(v)m(ed)h(from)e(the)h(list)h(of)630
+2162 y(matc)m(hes.)150 2326 y Fs(GROUPS)192 b Ft(An)36
 b(arra)m(y)g(v)-5 b(ariable)37 b(con)m(taining)g(the)f(list)h(of)f
 (groups)g(of)g(whic)m(h)f(the)i(curren)m(t)e(user)h(is)g(a)630
-1041 y(mem)m(b)s(er.)47 b(Assignmen)m(ts)33 b(to)g Fs(GROUPS)e
+2436 y(mem)m(b)s(er.)47 b(Assignmen)m(ts)33 b(to)g Fs(GROUPS)e
 Ft(ha)m(v)m(e)j(no)f(e\013ect)h(and)e(return)g(an)g(error)g(status.)48
-b(If)630 1150 y Fs(GROUPS)29 b Ft(is)h(unset,)g(it)h(loses)g(its)g(sp)s
+b(If)630 2545 y Fs(GROUPS)29 b Ft(is)h(unset,)g(it)h(loses)g(its)g(sp)s
 (ecial)g(prop)s(erties,)f(ev)m(en)h(if)f(it)h(is)g(subsequen)m(tly)f
-(reset.)150 1344 y Fs(histchars)630 1454 y Ft(Up)c(to)g(three)g(c)m
+(reset.)150 2710 y Fs(histchars)630 2819 y Ft(Up)c(to)g(three)g(c)m
 (haracters)i(whic)m(h)d(con)m(trol)j(history)d(expansion,)i(quic)m(k)g
-(substitution,)g(and)630 1563 y(tok)m(enization)k(\(see)f(Section)f
+(substitution,)g(and)630 2929 y(tok)m(enization)k(\(see)f(Section)f
 (9.3)h([History)f(In)m(teraction],)i(page)f(121\).)41
-b(The)29 b(\014rst)e(c)m(harac-)630 1673 y(ter)j(is)f(the)g
+b(The)29 b(\014rst)e(c)m(harac-)630 3039 y(ter)j(is)f(the)g
 Fq(history)g(expansion)g Ft(c)m(haracter,)j(that)e(is,)f(the)h(c)m
-(haracter)h(whic)m(h)d(signi\014es)i(the)630 1783 y(start)25
+(haracter)h(whic)m(h)d(signi\014es)i(the)630 3148 y(start)25
 b(of)f(a)h(history)f(expansion,)i(normally)e(`)p Fs(!)p
 Ft('.)39 b(The)24 b(second)g(c)m(haracter)i(is)e(the)g(c)m(haracter)630
-1892 y(whic)m(h)36 b(signi\014es)g(`quic)m(k)h(substitution')f(when)f
+3258 y(whic)m(h)36 b(signi\014es)g(`quic)m(k)h(substitution')f(when)f
 (seen)h(as)g(the)g(\014rst)f(c)m(haracter)j(on)e(a)g(line,)630
-2002 y(normally)27 b(`)p Fs(^)p Ft('.)39 b(The)26 b(optional)i(third)d
+3367 y(normally)27 b(`)p Fs(^)p Ft('.)39 b(The)26 b(optional)i(third)d
 (c)m(haracter)j(is)e(the)h(c)m(haracter)h(whic)m(h)e(indicates)h(that)
-630 2111 y(the)34 b(remainder)f(of)h(the)g(line)g(is)f(a)h(commen)m(t)h
+630 3477 y(the)34 b(remainder)f(of)h(the)g(line)g(is)f(a)h(commen)m(t)h
 (when)e(found)f(as)i(the)g(\014rst)f(c)m(haracter)i(of)f(a)630
-2221 y(w)m(ord,)i(usually)f(`)p Fs(#)p Ft('.)55 b(The)34
+3587 y(w)m(ord,)i(usually)f(`)p Fs(#)p Ft('.)55 b(The)34
 b(history)h(commen)m(t)h(c)m(haracter)h(causes)e(history)g
-(substitution)630 2330 y(to)27 b(b)s(e)f(skipp)s(ed)f(for)i(the)f
+(substitution)630 3696 y(to)27 b(b)s(e)f(skipp)s(ed)f(for)i(the)f
 (remaining)h(w)m(ords)f(on)h(the)f(line.)40 b(It)27 b(do)s(es)f(not)h
-(necessarily)g(cause)630 2440 y(the)k(shell)f(parser)g(to)h(treat)g
+(necessarily)g(cause)630 3806 y(the)k(shell)f(parser)g(to)h(treat)g
 (the)g(rest)g(of)f(the)h(line)f(as)h(a)g(commen)m(t.)150
-2634 y Fs(HISTCMD)144 b Ft(The)35 b(history)h(n)m(um)m(b)s(er,)g(or)f
+3970 y Fs(HISTCMD)144 b Ft(The)35 b(history)h(n)m(um)m(b)s(er,)g(or)f
 (index)g(in)h(the)g(history)f(list,)j(of)e(the)g(curren)m(t)f(command.)
-56 b(If)630 2744 y Fs(HISTCMD)28 b Ft(is)h(unset,)h(it)g(loses)h(its)f
+56 b(If)630 4080 y Fs(HISTCMD)28 b Ft(is)h(unset,)h(it)g(loses)h(its)f
 (sp)s(ecial)g(prop)s(erties,)g(ev)m(en)g(if)g(it)g(is)g(subsequen)m
-(tly)f(reset.)150 2937 y Fs(HISTCONTROL)630 3047 y Ft(A)40
+(tly)f(reset.)150 4244 y Fs(HISTCONTROL)630 4354 y Ft(A)40
 b(colon-separated)i(list)f(of)f(v)-5 b(alues)40 b(con)m(trolling)i(ho)m
-(w)e(commands)g(are)h(sa)m(v)m(ed)g(on)f(the)630 3157
+(w)e(commands)g(are)h(sa)m(v)m(ed)g(on)f(the)630 4463
 y(history)29 b(list.)41 b(If)28 b(the)h(list)h(of)f(v)-5
 b(alues)29 b(includes)f(`)p Fs(ignorespace)p Ft(',)f(lines)i(whic)m(h)g
-(b)s(egin)f(with)630 3266 y(a)39 b(space)g(c)m(haracter)i(are)e(not)g
+(b)s(egin)f(with)630 4573 y(a)39 b(space)g(c)m(haracter)i(are)e(not)g
 (sa)m(v)m(ed)g(in)g(the)g(history)f(list.)66 b(A)39 b(v)-5
-b(alue)39 b(of)g(`)p Fs(ignoredups)p Ft(')630 3376 y(causes)34
+b(alue)39 b(of)g(`)p Fs(ignoredups)p Ft(')630 4682 y(causes)34
 b(lines)h(whic)m(h)f(matc)m(h)h(the)f(previous)f(history)h(en)m(try)h
 (to)g(not)f(b)s(e)f(sa)m(v)m(ed.)53 b(A)34 b(v)-5 b(alue)630
-3485 y(of)32 b(`)p Fs(ignoreboth)p Ft(')d(is)j(shorthand)e(for)i(`)p
+4792 y(of)32 b(`)p Fs(ignoreboth)p Ft(')d(is)j(shorthand)e(for)i(`)p
 Fs(ignorespace)p Ft(')d(and)i(`)p Fs(ignoredups)p Ft('.)42
-b(A)32 b(v)-5 b(alue)32 b(of)630 3595 y(`)p Fs(erasedups)p
+b(A)32 b(v)-5 b(alue)32 b(of)630 4902 y(`)p Fs(erasedups)p
 Ft(')f(causes)i(all)h(previous)f(lines)g(matc)m(hing)h(the)f(curren)m
-(t)g(line)g(to)h(b)s(e)e(remo)m(v)m(ed)630 3705 y(from)42
+(t)g(line)g(to)h(b)s(e)e(remo)m(v)m(ed)630 5011 y(from)42
 b(the)h(history)f(list)i(b)s(efore)e(that)h(line)g(is)g(sa)m(v)m(ed.)78
 b(An)m(y)43 b(v)-5 b(alue)43 b(not)g(in)f(the)h(ab)s(o)m(v)m(e)630
-3814 y(list)35 b(is)g(ignored.)53 b(If)34 b Fs(HISTCONTROL)e
+5121 y(list)35 b(is)g(ignored.)53 b(If)34 b Fs(HISTCONTROL)e
 Ft(is)i(unset,)i(or)e(do)s(es)h(not)g(include)f(a)h(v)-5
-b(alid)35 b(v)-5 b(alue,)36 b(all)630 3924 y(lines)30
+b(alid)35 b(v)-5 b(alue,)36 b(all)630 5230 y(lines)30
 b(read)g(b)m(y)g(the)g(shell)g(parser)g(are)g(sa)m(v)m(ed)h(on)f(the)g
 (history)g(list,)h(sub)5 b(ject)30 b(to)g(the)g(v)-5
-b(alue)630 4033 y(of)42 b Fs(HISTIGNORE)p Ft(.)73 b(The)42
+b(alue)630 5340 y(of)42 b Fs(HISTIGNORE)p Ft(.)73 b(The)42
 b(second)g(and)g(subsequen)m(t)f(lines)h(of)h(a)f(m)m(ulti-line)h(comp)
-s(ound)630 4143 y(command)33 b(are)h(not)g(tested,)i(and)d(are)h(added)
-f(to)h(the)g(history)g(regardless)g(of)g(the)f(v)-5 b(alue)630
-4253 y(of)31 b Fs(HISTCONTROL)p Ft(.)150 4446 y Fs(HISTFILE)96
-b Ft(The)27 b(name)h(of)g(the)g(\014le)g(to)h(whic)m(h)f(the)g(command)
-f(history)h(is)g(sa)m(v)m(ed.)41 b(The)27 b(default)h(v)-5
-b(alue)630 4556 y(is)30 b(`)p Fs(~/.bash_history)p Ft('.)150
-4750 y Fs(HISTFILESIZE)630 4859 y Ft(The)c(maxim)m(um)f(n)m(um)m(b)s
-(er)g(of)h(lines)h(con)m(tained)g(in)f(the)g(history)g(\014le.)39
-b(When)26 b(this)g(v)-5 b(ariable)630 4969 y(is)33 b(assigned)h(a)g(v)
+s(ound)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)630 299 y(command)i(are)h(not)g(tested,)i(and)d
+(are)h(added)f(to)h(the)g(history)g(regardless)g(of)g(the)f(v)-5
+b(alue)630 408 y(of)31 b Fs(HISTCONTROL)p Ft(.)150 553
+y Fs(HISTFILE)96 b Ft(The)27 b(name)h(of)g(the)g(\014le)g(to)h(whic)m
+(h)f(the)g(command)f(history)h(is)g(sa)m(v)m(ed.)41 b(The)27
+b(default)h(v)-5 b(alue)630 662 y(is)30 b(`)p Fs(~/.bash_history)p
+Ft('.)150 806 y Fs(HISTFILESIZE)630 916 y Ft(The)c(maxim)m(um)f(n)m(um)
+m(b)s(er)g(of)h(lines)h(con)m(tained)g(in)f(the)g(history)g(\014le.)39
+b(When)26 b(this)g(v)-5 b(ariable)630 1026 y(is)33 b(assigned)h(a)g(v)
 -5 b(alue,)35 b(the)f(history)f(\014le)g(is)h(truncated,)g(if)g
 (necessary)-8 b(,)35 b(b)m(y)e(remo)m(ving)i(the)630
-5079 y(oldest)29 b(en)m(tries,)g(to)g(con)m(tain)g(no)f(more)g(than)f
+1135 y(oldest)29 b(en)m(tries,)g(to)g(con)m(tain)g(no)f(more)g(than)f
 (that)i(n)m(um)m(b)s(er)e(of)h(lines.)40 b(The)27 b(history)h(\014le)g
-(is)630 5188 y(also)33 b(truncated)e(to)h(this)g(size)g(after)g
+(is)630 1245 y(also)33 b(truncated)e(to)h(this)g(size)g(after)g
 (writing)g(it)g(when)f(an)g(in)m(teractiv)m(e)k(shell)c(exits.)45
-b(The)630 5298 y(default)31 b(v)-5 b(alue)30 b(is)h(500.)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)150 299 y Fs(HISTIGNORE)630 408
-y Ft(A)i(colon-separated)h(list)f(of)g(patterns)f(used)g(to)h(decide)g
-(whic)m(h)f(command)g(lines)h(should)630 518 y(b)s(e)f(sa)m(v)m(ed)h
-(on)g(the)f(history)h(list.)47 b(Eac)m(h)33 b(pattern)g(is)f(anc)m
-(hored)h(at)g(the)f(b)s(eginning)g(of)h(the)630 628 y(line)43
-b(and)e(m)m(ust)h(matc)m(h)h(the)g(complete)h(line)e(\(no)h(implicit)g
-(`)p Fs(*)p Ft(')f(is)g(app)s(ended\).)75 b(Eac)m(h)630
-737 y(pattern)42 b(is)g(tested)g(against)h(the)f(line)g(after)g(the)g
-(c)m(hec)m(ks)h(sp)s(eci\014ed)e(b)m(y)h Fs(HISTCONTROL)630
-847 y Ft(are)37 b(applied.)59 b(In)36 b(addition)h(to)g(the)g(normal)g
-(shell)f(pattern)h(matc)m(hing)h(c)m(haracters,)i(`)p
-Fs(&)p Ft(')630 956 y(matc)m(hes)d(the)f(previous)g(history)g(line.)57
-b(`)p Fs(&)p Ft(')36 b(ma)m(y)h(b)s(e)e(escap)s(ed)h(using)g(a)g(bac)m
-(kslash;)k(the)630 1066 y(bac)m(kslash)34 b(is)g(remo)m(v)m(ed)h(b)s
-(efore)e(attempting)i(a)g(matc)m(h.)51 b(The)34 b(second)f(and)h
-(subsequen)m(t)630 1176 y(lines)e(of)h(a)g(m)m(ulti-line)g(comp)s(ound)
-e(command)h(are)h(not)f(tested,)i(and)e(are)g(added)g(to)h(the)630
-1285 y(history)d(regardless)h(of)g(the)f(v)-5 b(alue)31
-b(of)g Fs(HISTIGNORE)p Ft(.)630 1424 y Fs(HISTIGNORE)20
+b(The)630 1354 y(default)31 b(v)-5 b(alue)30 b(is)h(500.)150
+1499 y Fs(HISTIGNORE)630 1608 y Ft(A)i(colon-separated)h(list)f(of)g
+(patterns)f(used)g(to)h(decide)g(whic)m(h)f(command)g(lines)h(should)
+630 1718 y(b)s(e)f(sa)m(v)m(ed)h(on)g(the)f(history)h(list.)47
+b(Eac)m(h)33 b(pattern)g(is)f(anc)m(hored)h(at)g(the)f(b)s(eginning)g
+(of)h(the)630 1827 y(line)43 b(and)e(m)m(ust)h(matc)m(h)h(the)g
+(complete)h(line)e(\(no)h(implicit)g(`)p Fs(*)p Ft(')f(is)g(app)s
+(ended\).)75 b(Eac)m(h)630 1937 y(pattern)42 b(is)g(tested)g(against)h
+(the)f(line)g(after)g(the)g(c)m(hec)m(ks)h(sp)s(eci\014ed)e(b)m(y)h
+Fs(HISTCONTROL)630 2047 y Ft(are)37 b(applied.)59 b(In)36
+b(addition)h(to)g(the)g(normal)g(shell)f(pattern)h(matc)m(hing)h(c)m
+(haracters,)i(`)p Fs(&)p Ft(')630 2156 y(matc)m(hes)d(the)f(previous)g
+(history)g(line.)57 b(`)p Fs(&)p Ft(')36 b(ma)m(y)h(b)s(e)e(escap)s(ed)
+h(using)g(a)g(bac)m(kslash;)k(the)630 2266 y(bac)m(kslash)34
+b(is)g(remo)m(v)m(ed)h(b)s(efore)e(attempting)i(a)g(matc)m(h.)51
+b(The)34 b(second)f(and)h(subsequen)m(t)630 2375 y(lines)e(of)h(a)g(m)m
+(ulti-line)g(comp)s(ound)e(command)h(are)h(not)f(tested,)i(and)e(are)g
+(added)g(to)h(the)630 2485 y(history)d(regardless)h(of)g(the)f(v)-5
+b(alue)31 b(of)g Fs(HISTIGNORE)p Ft(.)630 2612 y Fs(HISTIGNORE)20
 b Ft(subsumes)g(the)j(function)f(of)h Fs(HISTCONTROL)p
 Ft(.)35 b(A)23 b(pattern)f(of)h(`)p Fs(&)p Ft(')g(is)f(iden)m(tical)630
-1534 y(to)k Fs(ignoredups)p Ft(,)e(and)h(a)h(pattern)g(of)f(`)p
+2721 y(to)k Fs(ignoredups)p Ft(,)e(and)h(a)h(pattern)g(of)f(`)p
 Fs([)31 b(]*)p Ft(')25 b(is)h(iden)m(tical)h(to)f Fs(ignorespace)p
-Ft(.)36 b(Com)m(bining)630 1643 y(these)30 b(t)m(w)m(o)h(patterns,)f
+Ft(.)36 b(Com)m(bining)630 2831 y(these)30 b(t)m(w)m(o)h(patterns,)f
 (separating)g(them)g(with)f(a)h(colon,)h(pro)m(vides)e(the)h
-(functionalit)m(y)h(of)630 1753 y Fs(ignoreboth)p Ft(.)150
-1922 y Fs(HISTSIZE)96 b Ft(The)42 b(maxim)m(um)g(n)m(um)m(b)s(er)f(of)i
+(functionalit)m(y)h(of)630 2941 y Fs(ignoreboth)p Ft(.)150
+3085 y Fs(HISTSIZE)96 b Ft(The)42 b(maxim)m(um)g(n)m(um)m(b)s(er)f(of)i
 (commands)e(to)j(remem)m(b)s(er)d(on)h(the)h(history)f(list.)77
-b(The)630 2031 y(default)31 b(v)-5 b(alue)30 b(is)h(500.)150
-2200 y Fs(HISTTIMEFORMAT)630 2309 y Ft(If)44 b(this)g(v)-5
+b(The)630 3194 y(default)31 b(v)-5 b(alue)30 b(is)h(500.)150
+3339 y Fs(HISTTIMEFORMAT)630 3448 y Ft(If)44 b(this)g(v)-5
 b(ariable)45 b(is)f(set)g(and)g(not)g(n)m(ull,)k(its)d(v)-5
 b(alue)44 b(is)g(used)g(as)g(a)h(format)f(string)g(for)630
-2419 y Fq(strftime)c Ft(to)35 b(prin)m(t)f(the)h(time)g(stamp)f(asso)s
+3558 y Fq(strftime)c Ft(to)35 b(prin)m(t)f(the)h(time)g(stamp)f(asso)s
 (ciated)i(with)f(eac)m(h)g(history)g(en)m(try)f(displa)m(y)m(ed)630
-2528 y(b)m(y)g(the)f Fs(history)f Ft(builtin.)50 b(If)33
+3667 y(b)m(y)g(the)f Fs(history)f Ft(builtin.)50 b(If)33
 b(this)h(v)-5 b(ariable)34 b(is)g(set,)h(time)f(stamps)g(are)g(written)
-f(to)i(the)630 2638 y(history)26 b(\014le)g(so)g(they)g(ma)m(y)h(b)s(e)
+f(to)i(the)630 3777 y(history)26 b(\014le)g(so)g(they)g(ma)m(y)h(b)s(e)
 e(preserv)m(ed)g(across)i(shell)f(sessions.)39 b(This)25
-b(uses)h(the)g(history)630 2748 y(commen)m(t)31 b(c)m(haracter)h(to)f
+b(uses)h(the)g(history)630 3886 y(commen)m(t)31 b(c)m(haracter)h(to)f
 (distinguish)f(timestamps)h(from)f(other)g(history)h(lines.)150
-2916 y Fs(HOSTFILE)96 b Ft(Con)m(tains)39 b(the)f(name)g(of)h(a)g
+4031 y Fs(HOSTFILE)96 b Ft(Con)m(tains)39 b(the)f(name)g(of)h(a)g
 (\014le)f(in)g(the)g(same)h(format)g(as)f(`)p Fs(/etc/hosts)p
-Ft(')e(that)j(should)630 3026 y(b)s(e)i(read)h(when)f(the)i(shell)f
+Ft(')e(that)j(should)630 4140 y(b)s(e)i(read)h(when)f(the)i(shell)f
 (needs)f(to)i(complete)h(a)e(hostname.)76 b(The)42 b(list)g(of)g(p)s
-(ossible)630 3135 y(hostname)26 b(completions)g(ma)m(y)h(b)s(e)d(c)m
+(ossible)630 4250 y(hostname)26 b(completions)g(ma)m(y)h(b)s(e)d(c)m
 (hanged)j(while)e(the)h(shell)g(is)f(running;)h(the)g(next)f(time)630
-3245 y(hostname)37 b(completion)i(is)e(attempted)h(after)g(the)f(v)-5
+4359 y(hostname)37 b(completion)i(is)e(attempted)h(after)g(the)f(v)-5
 b(alue)37 b(is)h(c)m(hanged,)h(Bash)e(adds)g(the)630
-3354 y(con)m(ten)m(ts)27 b(of)f(the)g(new)f(\014le)h(to)h(the)f
+4469 y(con)m(ten)m(ts)27 b(of)f(the)g(new)f(\014le)h(to)h(the)f
 (existing)g(list.)40 b(If)25 b Fs(HOSTFILE)f Ft(is)i(set,)h(but)e(has)h
-(no)f(v)-5 b(alue,)630 3464 y(Bash)41 b(attempts)g(to)g(read)f(`)p
+(no)f(v)-5 b(alue,)630 4579 y(Bash)41 b(attempts)g(to)g(read)f(`)p
 Fs(/etc/hosts)p Ft(')f(to)i(obtain)g(the)f(list)h(of)g(p)s(ossible)f
-(hostname)630 3574 y(completions.)i(When)30 b Fs(HOSTFILE)e
+(hostname)630 4688 y(completions.)i(When)30 b Fs(HOSTFILE)e
 Ft(is)j(unset,)f(the)g(hostname)h(list)g(is)f(cleared.)150
-3742 y Fs(HOSTNAME)96 b Ft(The)30 b(name)g(of)h(the)f(curren)m(t)h
-(host.)150 3911 y Fs(HOSTTYPE)96 b Ft(A)30 b(string)h(describing)f(the)
-g(mac)m(hine)h(Bash)g(is)f(running)f(on.)150 4079 y Fs(IGNOREEOF)630
-4189 y Ft(Con)m(trols)e(the)h(action)g(of)f(the)g(shell)g(on)g(receipt)
+4832 y Fs(HOSTNAME)96 b Ft(The)30 b(name)g(of)h(the)f(curren)m(t)h
+(host.)150 4977 y Fs(HOSTTYPE)96 b Ft(A)30 b(string)h(describing)f(the)
+g(mac)m(hine)h(Bash)g(is)f(running)f(on.)150 5121 y Fs(IGNOREEOF)630
+5230 y Ft(Con)m(trols)e(the)h(action)g(of)f(the)g(shell)g(on)g(receipt)
 h(of)f(an)g Fs(EOF)f Ft(c)m(haracter)i(as)g(the)f(sole)h(input.)630
-4298 y(If)i(set,)i(the)f(v)-5 b(alue)32 b(denotes)f(the)g(n)m(um)m(b)s
+5340 y(If)i(set,)i(the)f(v)-5 b(alue)32 b(denotes)f(the)g(n)m(um)m(b)s
 (er)f(of)h(consecutiv)m(e)i Fs(EOF)d Ft(c)m(haracters)i(that)f(can)h(b)
-s(e)630 4408 y(read)40 b(as)f(the)h(\014rst)f(c)m(haracter)i(on)f(an)f
-(input)g(line)h(b)s(efore)f(the)h(shell)g(will)g(exit.)70
-b(If)39 b(the)630 4517 y(v)-5 b(ariable)38 b(exists)f(but)f(do)s(es)g
-(not)h(ha)m(v)m(e)h(a)g(n)m(umeric)e(v)-5 b(alue)37 b(\(or)h(has)e(no)h
-(v)-5 b(alue\))37 b(then)g(the)630 4627 y(default)31
-b(is)g(10.)43 b(If)30 b(the)h(v)-5 b(ariable)31 b(do)s(es)g(not)g
-(exist,)h(then)e Fs(EOF)g Ft(signi\014es)h(the)g(end)f(of)h(input)630
-4737 y(to)g(the)g(shell.)41 b(This)29 b(is)i(only)f(in)g(e\013ect)i
-(for)e(in)m(teractiv)m(e)j(shells.)150 4905 y Fs(INPUTRC)144
+s(e)p eop end
+%%Page: 65 71
+TeXDict begin 65 70 bop 150 -116 a Ft(Chapter)30 b(5:)41
+b(Shell)30 b(V)-8 b(ariables)2459 b(65)630 299 y(read)40
+b(as)f(the)h(\014rst)f(c)m(haracter)i(on)f(an)f(input)g(line)h(b)s
+(efore)f(the)h(shell)g(will)g(exit.)70 b(If)39 b(the)630
+408 y(v)-5 b(ariable)38 b(exists)f(but)f(do)s(es)g(not)h(ha)m(v)m(e)h
+(a)g(n)m(umeric)e(v)-5 b(alue)37 b(\(or)h(has)e(no)h(v)-5
+b(alue\))37 b(then)g(the)630 518 y(default)31 b(is)g(10.)43
+b(If)30 b(the)h(v)-5 b(ariable)31 b(do)s(es)g(not)g(exist,)h(then)e
+Fs(EOF)g Ft(signi\014es)h(the)g(end)f(of)h(input)630
+628 y(to)g(the)g(shell.)41 b(This)29 b(is)i(only)f(in)g(e\013ect)i(for)
+e(in)m(teractiv)m(e)j(shells.)150 774 y Fs(INPUTRC)144
 b Ft(The)68 b(name)h(of)f(the)h(Readline)g(initialization)j(\014le,)78
-b(o)m(v)m(erriding)69 b(the)g(default)g(of)630 5015 y(`)p
-Fs(~/.inputrc)p Ft('.)150 5183 y Fs(LANG)288 b Ft(Used)28
+b(o)m(v)m(erriding)69 b(the)g(default)g(of)630 883 y(`)p
+Fs(~/.inputrc)p Ft('.)150 1029 y Fs(LANG)288 b Ft(Used)28
 b(to)h(determine)f(the)g(lo)s(cale)h(category)h(for)e(an)m(y)h
-(category)h(not)e(sp)s(eci\014cally)g(selected)630 5293
+(category)h(not)e(sp)s(eci\014cally)g(selected)630 1139
 y(with)i(a)h(v)-5 b(ariable)31 b(starting)g(with)f Fs(LC_)p
-Ft(.)p eop end
-%%Page: 65 71
-TeXDict begin 65 70 bop 150 -116 a Ft(Chapter)30 b(5:)41
-b(Shell)30 b(V)-8 b(ariables)2459 b(65)150 299 y Fs(LC_ALL)192
-b Ft(This)28 b(v)-5 b(ariable)29 b(o)m(v)m(errides)h(the)f(v)-5
-b(alue)29 b(of)g Fs(LANG)f Ft(and)g(an)m(y)h(other)g
-Fs(LC_)f Ft(v)-5 b(ariable)29 b(sp)s(ecifying)630 408
-y(a)i(lo)s(cale)h(category)-8 b(.)150 565 y Fs(LC_COLLATE)630
-675 y Ft(This)37 b(v)-5 b(ariable)38 b(determines)g(the)g(collation)i
-(order)d(used)g(when)f(sorting)i(the)g(results)g(of)630
-784 y(\014lename)e(expansion,)i(and)e(determines)g(the)h(b)s(eha)m
-(vior)f(of)g(range)h(expressions,)h(equiv-)630 894 y(alence)e(classes,)
-h(and)e(collating)i(sequences)e(within)f(\014lename)h(expansion)g(and)f
-(pattern)630 1003 y(matc)m(hing)d(\(see)h(Section)f(3.5.8)h([Filename)g
-(Expansion],)e(page)h(23\).)150 1160 y Fs(LC_CTYPE)96
-b Ft(This)36 b(v)-5 b(ariable)37 b(determines)f(the)h(in)m
-(terpretation)h(of)f(c)m(haracters)h(and)e(the)g(b)s(eha)m(vior)h(of)
-630 1270 y(c)m(haracter)46 b(classes)g(within)e(\014lename)h(expansion)
-g(and)f(pattern)h(matc)m(hing)h(\(see)f(Sec-)630 1379
-y(tion)31 b(3.5.8)h([Filename)g(Expansion],)e(page)h(23\).)150
-1536 y Fs(LC_MESSAGES)630 1645 y Ft(This)25 b(v)-5 b(ariable)27
+Ft(.)150 1285 y Fs(LC_ALL)192 b Ft(This)28 b(v)-5 b(ariable)29
+b(o)m(v)m(errides)h(the)f(v)-5 b(alue)29 b(of)g Fs(LANG)f
+Ft(and)g(an)m(y)h(other)g Fs(LC_)f Ft(v)-5 b(ariable)29
+b(sp)s(ecifying)630 1395 y(a)i(lo)s(cale)h(category)-8
+b(.)150 1541 y Fs(LC_COLLATE)630 1650 y Ft(This)37 b(v)-5
+b(ariable)38 b(determines)g(the)g(collation)i(order)d(used)g(when)f
+(sorting)i(the)g(results)g(of)630 1760 y(\014lename)e(expansion,)i(and)
+e(determines)g(the)h(b)s(eha)m(vior)f(of)g(range)h(expressions,)h
+(equiv-)630 1870 y(alence)e(classes,)h(and)e(collating)i(sequences)e
+(within)f(\014lename)h(expansion)g(and)f(pattern)630
+1979 y(matc)m(hing)d(\(see)h(Section)f(3.5.8)h([Filename)g(Expansion],)
+e(page)h(24\).)150 2125 y Fs(LC_CTYPE)96 b Ft(This)36
+b(v)-5 b(ariable)37 b(determines)f(the)h(in)m(terpretation)h(of)f(c)m
+(haracters)h(and)e(the)g(b)s(eha)m(vior)h(of)630 2235
+y(c)m(haracter)46 b(classes)g(within)e(\014lename)h(expansion)g(and)f
+(pattern)h(matc)m(hing)h(\(see)f(Sec-)630 2345 y(tion)31
+b(3.5.8)h([Filename)g(Expansion],)e(page)h(24\).)150
+2491 y Fs(LC_MESSAGES)630 2600 y Ft(This)25 b(v)-5 b(ariable)27
 b(determines)f(the)g(lo)s(cale)i(used)d(to)i(translate)g(double-quoted)
-f(strings)g(pre-)630 1755 y(ceded)31 b(b)m(y)f(a)h(`)p
+f(strings)g(pre-)630 2710 y(ceded)31 b(b)m(y)f(a)h(`)p
 Fs($)p Ft(')f(\(see)h(Section)h(3.1.2.5)g([Lo)s(cale)g(T)-8
-b(ranslation],)32 b(page)f(7\).)150 1911 y Fs(LC_NUMERIC)630
-2021 y Ft(This)f(v)-5 b(ariable)31 b(determines)f(the)h(lo)s(cale)h
+b(ranslation],)32 b(page)f(7\).)150 2856 y Fs(LC_NUMERIC)630
+2966 y Ft(This)f(v)-5 b(ariable)31 b(determines)f(the)h(lo)s(cale)h
 (category)g(used)e(for)g(n)m(um)m(b)s(er)f(formatting.)150
-2178 y Fs(LINENO)192 b Ft(The)30 b(line)h(n)m(um)m(b)s(er)e(in)h(the)g
+3112 y Fs(LINENO)192 b Ft(The)30 b(line)h(n)m(um)m(b)s(er)e(in)h(the)g
 (script)h(or)f(shell)g(function)h(curren)m(tly)f(executing.)150
-2334 y Fs(LINES)240 b Ft(Used)25 b(b)m(y)g(the)g Fs(select)e
+3258 y Fs(LINES)240 b Ft(Used)25 b(b)m(y)g(the)g Fs(select)e
 Ft(builtin)i(command)g(to)h(determine)f(the)g(column)g(length)g(for)g
-(prin)m(t-)630 2444 y(ing)31 b(selection)h(lists.)41
+(prin)m(t-)630 3367 y(ing)31 b(selection)h(lists.)41
 b(Automatically)33 b(set)e(up)s(on)e(receipt)i(of)f(a)h
-Fs(SIGWINCH)p Ft(.)150 2600 y Fs(MACHTYPE)96 b Ft(A)26
+Fs(SIGWINCH)p Ft(.)150 3513 y Fs(MACHTYPE)96 b Ft(A)26
 b(string)g(that)h(fully)f(describ)s(es)f(the)h(system)g(t)m(yp)s(e)h
 (on)f(whic)m(h)f(Bash)i(is)f(executing,)i(in)e(the)630
-2710 y(standard)k Fl(gnu)g Fq(cpu-compan)m(y-system)h
-Ft(format.)150 2866 y Fs(MAILCHECK)630 2976 y Ft(Ho)m(w)d(often)g(\(in)
+3623 y(standard)k Fl(gnu)g Fq(cpu-compan)m(y-system)h
+Ft(format.)150 3769 y Fs(MAILCHECK)630 3879 y Ft(Ho)m(w)d(often)g(\(in)
 g(seconds\))g(that)g(the)f(shell)h(should)f(c)m(hec)m(k)i(for)e(mail)h
-(in)f(the)h(\014les)g(sp)s(eci\014ed)630 3086 y(in)i(the)h
+(in)f(the)h(\014les)g(sp)s(eci\014ed)630 3988 y(in)i(the)h
 Fs(MAILPATH)e Ft(or)i Fs(MAIL)e Ft(v)-5 b(ariables.)43
 b(The)30 b(default)h(is)f(60)i(seconds.)42 b(When)30
-b(it)h(is)g(time)630 3195 y(to)37 b(c)m(hec)m(k)h(for)e(mail,)j(the)e
+b(it)h(is)g(time)630 4098 y(to)37 b(c)m(hec)m(k)h(for)e(mail,)j(the)e
 (shell)f(do)s(es)g(so)h(b)s(efore)f(displa)m(ying)h(the)f(primary)g
-(prompt.)57 b(If)630 3305 y(this)37 b(v)-5 b(ariable)38
+(prompt.)57 b(If)630 4208 y(this)37 b(v)-5 b(ariable)38
 b(is)f(unset,)h(or)f(set)h(to)g(a)f(v)-5 b(alue)38 b(that)f(is)g(not)h
-(a)f(n)m(um)m(b)s(er)f(greater)i(than)f(or)630 3414 y(equal)31
+(a)f(n)m(um)m(b)s(er)f(greater)i(than)f(or)630 4317 y(equal)31
 b(to)g(zero,)g(the)g(shell)g(disables)f(mail)h(c)m(hec)m(king.)150
-3571 y Fs(OLDPWD)192 b Ft(The)30 b(previous)g(w)m(orking)g(directory)h
-(as)g(set)g(b)m(y)f(the)h Fs(cd)e Ft(builtin.)150 3727
+4463 y Fs(OLDPWD)192 b Ft(The)30 b(previous)g(w)m(orking)g(directory)h
+(as)g(set)g(b)m(y)f(the)h Fs(cd)e Ft(builtin.)150 4609
 y Fs(OPTERR)192 b Ft(If)35 b(set)i(to)f(the)h(v)-5 b(alue)36
 b(1,)i(Bash)e(displa)m(ys)g(error)f(messages)i(generated)g(b)m(y)f(the)
-g Fs(getopts)630 3837 y Ft(builtin)30 b(command.)150
-3994 y Fs(OSTYPE)192 b Ft(A)30 b(string)h(describing)f(the)g(op)s
-(erating)h(system)g(Bash)f(is)h(running)d(on.)150 4150
-y Fs(PIPESTATUS)630 4260 y Ft(An)23 b(arra)m(y)h(v)-5
+g Fs(getopts)630 4719 y Ft(builtin)30 b(command.)150
+4865 y Fs(OSTYPE)192 b Ft(A)30 b(string)h(describing)f(the)g(op)s
+(erating)h(system)g(Bash)f(is)h(running)d(on.)150 5011
+y Fs(PIPESTATUS)630 5121 y Ft(An)23 b(arra)m(y)h(v)-5
 b(ariable)24 b(\(see)h(Section)f(6.7)h([Arra)m(ys],)g(page)f(78\))h
-(con)m(taining)g(a)f(list)g(of)g(exit)g(sta-)630 4369
+(con)m(taining)g(a)f(list)g(of)g(exit)g(sta-)630 5230
 y(tus)h(v)-5 b(alues)27 b(from)e(the)h(pro)s(cesses)g(in)f(the)h
 (most-recen)m(tly-executed)j(foreground)c(pip)s(eline)630
-4479 y(\(whic)m(h)30 b(ma)m(y)h(con)m(tain)h(only)f(a)f(single)h
-(command\).)150 4635 y Fs(POSIXLY_CORRECT)630 4745 y
-Ft(If)h(this)h(v)-5 b(ariable)34 b(is)f(in)f(the)h(en)m(vironmen)m(t)h
-(when)d Fs(bash)h Ft(starts,)i(the)f(shell)g(en)m(ters)h
-Fl(posix)630 4855 y Ft(mo)s(de)22 b(\(see)h(Section)g(6.11)h([Bash)e
-(POSIX)f(Mo)s(de],)k(page)e(82\))g(b)s(efore)f(reading)g(the)g(startup)
-630 4964 y(\014les,)32 b(as)f(if)h(the)f(`)p Fs(--posix)p
-Ft(')f(in)m(v)m(o)s(cation)j(option)f(had)f(b)s(een)g(supplied.)42
-b(If)31 b(it)h(is)f(set)h(while)630 5074 y(the)f(shell)f(is)h(running,)
-d Fs(bash)i Ft(enables)g Fl(posix)g Ft(mo)s(de,)g(as)h(if)f(the)h
-(command)870 5207 y Fs(set)47 b(-o)g(posix)630 5340 y
-Ft(had)30 b(b)s(een)f(executed.)p eop end
+5340 y(\(whic)m(h)30 b(ma)m(y)h(con)m(tain)h(only)f(a)f(single)h
+(command\).)p eop end
 %%Page: 66 72
 TeXDict begin 66 71 bop 150 -116 a Ft(66)2572 b(Bash)31
-b(Reference)g(Man)m(ual)150 299 y Fs(PPID)288 b Ft(The)30
-b(pro)s(cess)g Fl(id)g Ft(of)h(the)f(shell's)h(paren)m(t)g(pro)s(cess.)
-40 b(This)30 b(v)-5 b(ariable)31 b(is)f(readonly)-8 b(.)150
-463 y Fs(PROMPT_COMMAND)630 573 y Ft(If)32 b(set,)h(the)f(v)-5
-b(alue)33 b(is)f(in)m(terpreted)g(as)g(a)h(command)f(to)h(execute)g(b)s
-(efore)f(the)g(prin)m(ting)g(of)630 682 y(eac)m(h)g(primary)d(prompt)g
-(\()p Fs($PS1)p Ft(\).)150 847 y Fs(PS3)336 b Ft(The)34
-b(v)-5 b(alue)35 b(of)f(this)g(v)-5 b(ariable)35 b(is)g(used)e(as)i
-(the)f(prompt)g(for)g(the)g Fs(select)f Ft(command.)52
-b(If)630 956 y(this)30 b(v)-5 b(ariable)31 b(is)g(not)f(set,)i(the)e
-Fs(select)f Ft(command)h(prompts)f(with)h(`)p Fs(#?)g
-Ft(')150 1121 y Fs(PS4)336 b Ft(The)20 b(v)-5 b(alue)22
-b(is)e(the)h(prompt)f(prin)m(ted)h(b)s(efore)f(the)h(command)g(line)g
-(is)g(ec)m(ho)s(ed)g(when)f(the)h(`)p Fs(-x)p Ft(')630
-1230 y(option)32 b(is)f(set)h(\(see)g(Section)h(4.3.1)g([The)e(Set)g
-(Builtin],)i(page)f(50\).)45 b(The)31 b(\014rst)f(c)m(haracter)630
-1340 y(of)k 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
-1450 y(indirection.)41 b(The)30 b(default)h(is)f(`)p
-Fs(+)g Ft('.)150 1614 y Fs(PWD)336 b Ft(The)30 b(curren)m(t)g(w)m
+b(Reference)g(Man)m(ual)150 299 y Fs(POSIXLY_CORRECT)630
+408 y Ft(If)h(this)h(v)-5 b(ariable)34 b(is)f(in)f(the)h(en)m(vironmen)
+m(t)h(when)d Fs(bash)h Ft(starts,)i(the)f(shell)g(en)m(ters)h
+Fl(posix)630 518 y Ft(mo)s(de)22 b(\(see)h(Section)g(6.11)h([Bash)e
+(POSIX)f(Mo)s(de],)k(page)e(83\))g(b)s(efore)f(reading)g(the)g(startup)
+630 628 y(\014les,)32 b(as)f(if)h(the)f(`)p Fs(--posix)p
+Ft(')f(in)m(v)m(o)s(cation)j(option)f(had)f(b)s(een)g(supplied.)42
+b(If)31 b(it)h(is)f(set)h(while)630 737 y(the)f(shell)f(is)h(running,)d
+Fs(bash)i Ft(enables)g Fl(posix)g Ft(mo)s(de,)g(as)h(if)f(the)h
+(command)870 874 y Fs(set)47 b(-o)g(posix)630 1011 y
+Ft(had)30 b(b)s(een)f(executed.)150 1176 y Fs(PPID)288
+b Ft(The)30 b(pro)s(cess)g Fl(id)g Ft(of)h(the)f(shell's)h(paren)m(t)g
+(pro)s(cess.)40 b(This)30 b(v)-5 b(ariable)31 b(is)f(readonly)-8
+b(.)150 1340 y Fs(PROMPT_COMMAND)630 1450 y Ft(If)32
+b(set,)h(the)f(v)-5 b(alue)33 b(is)f(in)m(terpreted)g(as)g(a)h(command)
+f(to)h(execute)g(b)s(efore)f(the)g(prin)m(ting)g(of)630
+1559 y(eac)m(h)g(primary)d(prompt)g(\()p Fs($PS1)p Ft(\).)150
+1724 y Fs(PROMPT_DIRTRIM)630 1833 y Ft(If)e(set)g(to)h(a)g(n)m(um)m(b)s
+(er)e(greater)i(than)f(zero,)i(the)e(v)-5 b(alue)28 b(is)f(used)g(as)g
+(the)h(n)m(um)m(b)s(er)e(of)h(trailing)630 1943 y(directory)35
+b(comp)s(onen)m(ts)g(to)h(retain)f(when)f(expanding)g(the)h
+Fs(\\w)f Ft(and)g Fs(\\W)g Ft(prompt)g(string)630 2052
+y(escap)s(es)27 b(\(see)g(Section)g(6.9)h([Prin)m(ting)f(a)g(Prompt],)g
+(page)g(81\).)40 b(Characters)27 b(remo)m(v)m(ed)h(are)630
+2162 y(replaced)j(with)f(an)g(ellipsis.)150 2326 y Fs(PS3)336
+b Ft(The)34 b(v)-5 b(alue)35 b(of)f(this)g(v)-5 b(ariable)35
+b(is)g(used)e(as)i(the)f(prompt)g(for)g(the)g Fs(select)f
+Ft(command.)52 b(If)630 2436 y(this)30 b(v)-5 b(ariable)31
+b(is)g(not)f(set,)i(the)e Fs(select)f Ft(command)h(prompts)f(with)h(`)p
+Fs(#?)g Ft(')150 2600 y Fs(PS4)336 b Ft(The)20 b(v)-5
+b(alue)22 b(is)e(the)h(prompt)f(prin)m(ted)h(b)s(efore)f(the)h(command)
+g(line)g(is)g(ec)m(ho)s(ed)g(when)f(the)h(`)p Fs(-x)p
+Ft(')630 2710 y(option)32 b(is)f(set)h(\(see)g(Section)h(4.3.1)g([The)e
+(Set)g(Builtin],)i(page)f(50\).)45 b(The)31 b(\014rst)f(c)m(haracter)
+630 2819 y(of)k 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 2929 y(indirection.)41 b(The)30 b(default)h(is)f(`)p
+Fs(+)g Ft('.)150 3093 y Fs(PWD)336 b Ft(The)30 b(curren)m(t)g(w)m
 (orking)h(directory)g(as)f(set)h(b)m(y)f(the)h Fs(cd)f
-Ft(builtin.)150 1778 y Fs(RANDOM)192 b Ft(Eac)m(h)30
+Ft(builtin.)150 3258 y Fs(RANDOM)192 b Ft(Eac)m(h)30
 b(time)g(this)f(parameter)g(is)g(referenced,)h(a)f(random)g(in)m(teger)
-h(b)s(et)m(w)m(een)g(0)f(and)g(32767)630 1888 y(is)i(generated.)43
+h(b)s(et)m(w)m(een)g(0)f(and)g(32767)630 3367 y(is)i(generated.)43
 b(Assigning)31 b(a)g(v)-5 b(alue)31 b(to)g(this)g(v)-5
 b(ariable)31 b(seeds)g(the)g(random)f(n)m(um)m(b)s(er)f(gen-)630
-1998 y(erator.)150 2162 y Fs(REPLY)240 b Ft(The)30 b(default)g(v)-5
+3477 y(erator.)150 3641 y Fs(REPLY)240 b Ft(The)30 b(default)g(v)-5
 b(ariable)32 b(for)e(the)g Fs(read)g Ft(builtin.)150
-2326 y Fs(SECONDS)144 b Ft(This)40 b(v)-5 b(ariable)41
+3806 y Fs(SECONDS)144 b Ft(This)40 b(v)-5 b(ariable)41
 b(expands)f(to)h(the)g(n)m(um)m(b)s(er)e(of)i(seconds)g(since)g(the)f
-(shell)h(w)m(as)g(started.)630 2436 y(Assignmen)m(t)i(to)g(this)g(v)-5
+(shell)h(w)m(as)g(started.)630 3915 y(Assignmen)m(t)i(to)g(this)g(v)-5
 b(ariable)43 b(resets)g(the)g(coun)m(t)g(to)g(the)g(v)-5
-b(alue)43 b(assigned,)j(and)c(the)630 2545 y(expanded)35
+b(alue)43 b(assigned,)j(and)c(the)630 4025 y(expanded)35
 b(v)-5 b(alue)36 b(b)s(ecomes)h(the)f(v)-5 b(alue)36
 b(assigned)g(plus)f(the)h(n)m(um)m(b)s(er)f(of)h(seconds)g(since)630
-2655 y(the)31 b(assignmen)m(t.)150 2819 y Fs(SHELL)240
+4134 y(the)31 b(assignmen)m(t.)150 4299 y Fs(SHELL)240
 b Ft(The)29 b(full)h(pathname)g(to)h(the)f(shell)g(is)g(k)m(ept)g(in)g
 (this)g(en)m(vironmen)m(t)g(v)-5 b(ariable.)42 b(If)29
-b(it)i(is)f(not)630 2929 y(set)36 b(when)f(the)h(shell)g(starts,)i
+b(it)i(is)f(not)630 4408 y(set)36 b(when)f(the)h(shell)g(starts,)i
 (Bash)e(assigns)h(to)f(it)h(the)f(full)f(pathname)h(of)g(the)g(curren)m
-(t)630 3039 y(user's)30 b(login)h(shell.)150 3203 y Fs(SHELLOPTS)630
-3313 y Ft(A)g(colon-separated)h(list)f(of)g(enabled)f(shell)h(options.)
+(t)630 4518 y(user's)30 b(login)h(shell.)150 4682 y Fs(SHELLOPTS)630
+4792 y Ft(A)g(colon-separated)h(list)f(of)g(enabled)f(shell)h(options.)
 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 3422 y(argumen)m(t)24 b(for)f(the)h(`)p Fs(-o)p
+b(alid)630 4902 y(argumen)m(t)24 b(for)f(the)h(`)p Fs(-o)p
 Ft(')f(option)h(to)g(the)g Fs(set)f Ft(builtin)g(command)g(\(see)i
-(Section)f(4.3.1)h([The)630 3532 y(Set)k(Builtin],)h(page)f(50\).)42
+(Section)f(4.3.1)h([The)630 5011 y(Set)k(Builtin],)h(page)f(50\).)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 3641 y(as)g(`)p Fs(on)p
+Ft(are)j(those)h(rep)s(orted)630 5121 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
 b(ariable)30 b(is)g(in)f(the)h(en)m(vironmen)m(t)g(when)f(Bash)h
-(starts)g(up,)630 3751 y(eac)m(h)41 b(shell)e(option)h(in)f(the)h(list)
+(starts)g(up,)630 5230 y(eac)m(h)41 b(shell)e(option)h(in)f(the)h(list)
 g(will)f(b)s(e)g(enabled)h(b)s(efore)f(reading)g(an)m(y)h(startup)f
-(\014les.)630 3861 y(This)30 b(v)-5 b(ariable)31 b(is)f(readonly)-8
-b(.)150 4025 y Fs(SHLVL)240 b Ft(Incremen)m(ted)21 b(b)m(y)g(one)g(eac)
-m(h)h(time)f(a)h(new)e(instance)h(of)g(Bash)g(is)g(started.)38
-b(This)20 b(is)h(in)m(tended)630 4134 y(to)31 b(b)s(e)f(a)h(coun)m(t)g
-(of)f(ho)m(w)h(deeply)f(y)m(our)g(Bash)h(shells)f(are)h(nested.)150
-4299 y Fs(TIMEFORMAT)630 4408 y Ft(The)f(v)-5 b(alue)32
-b(of)f(this)g(parameter)g(is)g(used)f(as)h(a)g(format)h(string)f(sp)s
-(ecifying)f(ho)m(w)h(the)g(tim-)630 4518 y(ing)37 b(information)f(for)h
-(pip)s(elines)f(pre\014xed)f(with)h(the)h Fs(time)e Ft(reserv)m(ed)i(w)
-m(ord)f(should)g(b)s(e)630 4628 y(displa)m(y)m(ed.)k(The)27
-b(`)p Fs(\045)p Ft(')h(c)m(haracter)h(in)m(tro)s(duces)e(an)h(escap)s
-(e)g(sequence)g(that)g(is)f(expanded)g(to)630 4737 y(a)37
-b(time)g(v)-5 b(alue)36 b(or)h(other)f(information.)59
-b(The)36 b(escap)s(e)g(sequences)h(and)e(their)i(meanings)630
-4847 y(are)31 b(as)f(follo)m(ws;)i(the)f(braces)f(denote)h(optional)h
-(p)s(ortions.)630 5011 y Fs(\045\045)384 b Ft(A)30 b(literal)i(`)p
-Fs(\045)p Ft('.)630 5176 y Fs(\045[)p Fj(p)11 b Fs(][l]R)85
-b Ft(The)30 b(elapsed)h(time)g(in)f(seconds.)630 5340
-y Fs(\045[)p Fj(p)11 b Fs(][l]U)85 b Ft(The)30 b(n)m(um)m(b)s(er)f(of)h
-(CPU)g(seconds)h(sp)s(en)m(t)f(in)g(user)f(mo)s(de.)p
-eop end
+(\014les.)630 5340 y(This)30 b(v)-5 b(ariable)31 b(is)f(readonly)-8
+b(.)p eop end
 %%Page: 67 73
 TeXDict begin 67 72 bop 150 -116 a Ft(Chapter)30 b(5:)41
-b(Shell)30 b(V)-8 b(ariables)2459 b(67)630 299 y Fs(\045[)p
-Fj(p)11 b Fs(][l]S)85 b Ft(The)30 b(n)m(um)m(b)s(er)f(of)h(CPU)g
-(seconds)h(sp)s(en)m(t)f(in)g(system)g(mo)s(de.)630 458
-y Fs(\045P)384 b Ft(The)30 b(CPU)g(p)s(ercen)m(tage,)i(computed)e(as)h
-(\(\045U)f Fs(+)g Ft(\045S\))g(/)h(\045R.)630 618 y(The)23
-b(optional)j Fq(p)g Ft(is)e(a)g(digit)h(sp)s(ecifying)e(the)h
-(precision,)i(the)e(n)m(um)m(b)s(er)f(of)h(fractional)h(digits)630
-727 y(after)36 b(a)f(decimal)i(p)s(oin)m(t.)55 b(A)35
-b(v)-5 b(alue)36 b(of)f(0)h(causes)g(no)f(decimal)h(p)s(oin)m(t)f(or)h
-(fraction)g(to)g(b)s(e)630 837 y(output.)48 b(A)m(t)34
-b(most)f(three)g(places)h(after)f(the)g(decimal)h(p)s(oin)m(t)f(ma)m(y)
-h(b)s(e)e(sp)s(eci\014ed;)i(v)-5 b(alues)630 946 y(of)31
-b Fq(p)h Ft(greater)g(than)e(3)h(are)f(c)m(hanged)h(to)g(3.)42
+b(Shell)30 b(V)-8 b(ariables)2459 b(67)150 299 y Fs(SHLVL)240
+b Ft(Incremen)m(ted)21 b(b)m(y)g(one)g(eac)m(h)h(time)f(a)h(new)e
+(instance)h(of)g(Bash)g(is)g(started.)38 b(This)20 b(is)h(in)m(tended)
+630 408 y(to)31 b(b)s(e)f(a)h(coun)m(t)g(of)f(ho)m(w)h(deeply)f(y)m
+(our)g(Bash)h(shells)f(are)h(nested.)150 568 y Fs(TIMEFORMAT)630
+677 y Ft(The)f(v)-5 b(alue)32 b(of)f(this)g(parameter)g(is)g(used)f(as)
+h(a)g(format)h(string)f(sp)s(ecifying)f(ho)m(w)h(the)g(tim-)630
+787 y(ing)37 b(information)f(for)h(pip)s(elines)f(pre\014xed)f(with)h
+(the)h Fs(time)e Ft(reserv)m(ed)i(w)m(ord)f(should)g(b)s(e)630
+897 y(displa)m(y)m(ed.)k(The)27 b(`)p Fs(\045)p Ft(')h(c)m(haracter)h
+(in)m(tro)s(duces)e(an)h(escap)s(e)g(sequence)g(that)g(is)f(expanded)g
+(to)630 1006 y(a)37 b(time)g(v)-5 b(alue)36 b(or)h(other)f
+(information.)59 b(The)36 b(escap)s(e)g(sequences)h(and)e(their)i
+(meanings)630 1116 y(are)31 b(as)f(follo)m(ws;)i(the)f(braces)f(denote)
+h(optional)h(p)s(ortions.)630 1275 y Fs(\045\045)384
+b Ft(A)30 b(literal)i(`)p Fs(\045)p Ft('.)630 1435 y
+Fs(\045[)p Fj(p)11 b Fs(][l]R)85 b Ft(The)30 b(elapsed)h(time)g(in)f
+(seconds.)630 1594 y Fs(\045[)p Fj(p)11 b Fs(][l]U)85
+b Ft(The)30 b(n)m(um)m(b)s(er)f(of)h(CPU)g(seconds)h(sp)s(en)m(t)f(in)g
+(user)f(mo)s(de.)630 1753 y Fs(\045[)p Fj(p)11 b Fs(][l]S)85
+b Ft(The)30 b(n)m(um)m(b)s(er)f(of)h(CPU)g(seconds)h(sp)s(en)m(t)f(in)g
+(system)g(mo)s(de.)630 1913 y Fs(\045P)384 b Ft(The)30
+b(CPU)g(p)s(ercen)m(tage,)i(computed)e(as)h(\(\045U)f
+Fs(+)g Ft(\045S\))g(/)h(\045R.)630 2072 y(The)23 b(optional)j
+Fq(p)g Ft(is)e(a)g(digit)h(sp)s(ecifying)e(the)h(precision,)i(the)e(n)m
+(um)m(b)s(er)f(of)h(fractional)h(digits)630 2182 y(after)36
+b(a)f(decimal)i(p)s(oin)m(t.)55 b(A)35 b(v)-5 b(alue)36
+b(of)f(0)h(causes)g(no)f(decimal)h(p)s(oin)m(t)f(or)h(fraction)g(to)g
+(b)s(e)630 2291 y(output.)48 b(A)m(t)34 b(most)f(three)g(places)h
+(after)f(the)g(decimal)h(p)s(oin)m(t)f(ma)m(y)h(b)s(e)e(sp)s
+(eci\014ed;)i(v)-5 b(alues)630 2401 y(of)31 b Fq(p)h
+Ft(greater)g(than)e(3)h(are)f(c)m(hanged)h(to)g(3.)42
 b(If)29 b Fq(p)k Ft(is)d(not)h(sp)s(eci\014ed,)f(the)h(v)-5
-b(alue)30 b(3)h(is)g(used.)630 1081 y(The)54 b(optional)h
+b(alue)30 b(3)h(is)g(used.)630 2535 y(The)54 b(optional)h
 Fs(l)f Ft(sp)s(eci\014es)g(a)h(longer)f(format,)61 b(including)54
-b(min)m(utes,)61 b(of)54 b(the)g(form)630 1191 y Fq(MM)10
+b(min)m(utes,)61 b(of)54 b(the)g(form)630 2645 y Fq(MM)10
 b Ft(m)p Fq(SS)p Ft(.)p Fq(FF)d Ft(s.)103 b(The)50 b(v)-5
 b(alue)52 b(of)f Fq(p)j Ft(determines)d(whether)f(or)h(not)h(the)f
-(fraction)h(is)630 1300 y(included.)630 1435 y(If)30
+(fraction)h(is)630 2755 y(included.)630 2889 y(If)30
 b(this)g(v)-5 b(ariable)31 b(is)g(not)f(set,)i(Bash)e(acts)h(as)g(if)f
-(it)h(had)f(the)h(v)-5 b(alue)870 1569 y Fs
+(it)h(had)f(the)h(v)-5 b(alue)870 3024 y Fs
 ($'\\nreal\\t\0453lR\\nuser\\t\0453)o(lU\\n)o(sys\\)o(t\0453)o(lS')630
-1704 y Ft(If)37 b(the)g(v)-5 b(alue)38 b(is)f(n)m(ull,)i(no)f(timing)f
+3158 y Ft(If)37 b(the)g(v)-5 b(alue)38 b(is)f(n)m(ull,)i(no)f(timing)f
 (information)h(is)f(displa)m(y)m(ed.)62 b(A)37 b(trailing)i(newline)e
-(is)630 1813 y(added)30 b(when)f(the)i(format)f(string)h(is)f(displa)m
-(y)m(ed.)150 1973 y Fs(TMOUT)240 b Ft(If)22 b(set)h(to)g(a)g(v)-5
+(is)630 3268 y(added)30 b(when)f(the)i(format)f(string)h(is)f(displa)m
+(y)m(ed.)150 3427 y Fs(TMOUT)240 b Ft(If)22 b(set)h(to)g(a)g(v)-5
 b(alue)23 b(greater)h(than)e(zero,)j Fs(TMOUT)d Ft(is)g(treated)i(as)e
-(the)h(default)g(timeout)g(for)g(the)630 2082 y Fs(read)31
+(the)h(default)g(timeout)g(for)g(the)630 3537 y Fs(read)31
 b Ft(builtin)h(\(see)h(Section)f(4.2)i([Bash)e(Builtins],)h(page)g
-(41\).)47 b(The)32 b Fs(select)e Ft(command)630 2192
+(41\).)47 b(The)32 b Fs(select)e Ft(command)630 3646
 y(\(see)f(Section)h(3.2.4.2)g([Conditional)g(Constructs],)e(page)i
-(10\))f(terminates)g(if)g(input)e(do)s(es)630 2301 y(not)k(arriv)m(e)g
+(10\))f(terminates)g(if)g(input)e(do)s(es)630 3756 y(not)k(arriv)m(e)g
 (after)g Fs(TMOUT)e Ft(seconds)h(when)f(input)h(is)g(coming)h(from)f(a)
-h(terminal.)630 2436 y(In)25 b(an)h(in)m(teractiv)m(e)i(shell,)g(the)e
+h(terminal.)630 3890 y(In)25 b(an)h(in)m(teractiv)m(e)i(shell,)g(the)e
 (v)-5 b(alue)26 b(is)g(in)m(terpreted)g(as)g(the)g(n)m(um)m(b)s(er)f
-(of)h(seconds)f(to)i(w)m(ait)630 2545 y(for)32 b(input)f(after)i
+(of)h(seconds)f(to)i(w)m(ait)630 4000 y(for)32 b(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 2655 y(terminates)31 b(after)g(that)g(n)m
+(teractiv)m(e.)49 b(Bash)630 4110 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 2814 y Fs(TMPDIR)192 b Ft(If)39 b(set,)j(Bash)e(uses)f(its)h(v)-5
+150 4269 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 2924 y(temp)s(orary)30 b(\014les)g(for)g(the)h
-(shell's)g(use.)150 3083 y Fs(UID)336 b Ft(The)30 b(n)m(umeric)g(real)h
+(Bash)h(creates)630 4379 y(temp)s(orary)30 b(\014les)g(for)g(the)h
+(shell's)g(use.)150 4538 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: 68 74
@@ -9727,7 +9802,7 @@ b(the)h(b)s(eha)m(vior)f(of)g(Bash)h(where)e(the)i(default)f(op)s
 y Ft(standard)35 b(to)h(matc)m(h)g(the)g(standard.)55
 b(This)35 b(is)h(in)m(tended)f(to)h(mak)m(e)h(Bash)f(b)s(eha)m(v)m(e)g
 (as)g(a)630 518 y(strict)26 b(sup)s(erset)e(of)h(that)g(standard.)38
-b(See)26 b(Section)f(6.11)i([Bash)e(POSIX)f(Mo)s(de],)j(page)f(82,)630
+b(See)26 b(Section)f(6.11)i([Bash)e(POSIX)f(Mo)s(de],)j(page)f(83,)630
 628 y(for)k(a)h(description)f(of)h(the)f(Bash)h Fl(posix)f
 Ft(mo)s(de.)150 787 y Fs(--restricted)630 897 y Ft(Mak)m(e)54
 b(the)e(shell)g(a)h(restricted)g(shell)f(\(see)h(Section)g(6.10)h([The)
@@ -10031,14 +10106,14 @@ b(Alias)31 b(expansion)g(\(see)g(Section)g(6.6)g([Aliases],)i(page)e
 (77\))h(is)e(p)s(erformed)f(b)m(y)h(default.)199 2191
 y(9.)61 b(In)24 b(the)g(absence)h(of)f(an)m(y)h(traps,)g(Bash)g
 (ignores)f Fs(SIGTERM)f Ft(\(see)i(Section)g(3.7.6)h([Signals],)g(page)
-f(32\).)154 2342 y(10.)61 b(In)26 b(the)h(absence)h(of)f(an)m(y)g
+f(33\).)154 2342 y(10.)61 b(In)26 b(the)h(absence)h(of)f(an)m(y)g
 (traps,)g Fs(SIGINT)e Ft(is)i(caugh)m(t)h(and)f(handled)e(\(\(see)k
-(Section)e(3.7.6)i([Signals],)330 2451 y(page)i(32\).)42
+(Section)e(3.7.6)i([Signals],)330 2451 y(page)i(33\).)42
 b Fs(SIGINT)29 b Ft(will)h(in)m(terrupt)g(some)h(shell)g(builtins.)154
 2602 y(11.)61 b(An)40 b(in)m(teractiv)m(e)j(login)e(shell)g(sends)e(a)i
 Fs(SIGHUP)d Ft(to)j(all)g(jobs)f(on)g(exit)h(if)g(the)f
 Fs(huponexit)e Ft(shell)330 2712 y(option)31 b(has)f(b)s(een)g(enabled)
-g(\(see)h(Section)g(3.7.6)i([Signals],)e(page)g(32\).)154
+g(\(see)h(Section)g(3.7.6)i([Signals],)e(page)g(33\).)154
 2863 y(12.)61 b(The)26 b(`)p Fs(-n)p Ft(')f(in)m(v)m(o)s(cation)k
 (option)d(is)g(ignored,)h(and)f(`)p Fs(set)k(-n)p Ft(')25
 b(has)h(no)g(e\013ect)i(\(see)e(Section)h(4.3.1)h([The)330
@@ -10063,7 +10138,7 @@ b(errors)f(encoun)m(tered)h(b)m(y)f(shell)h(builtins)f(will)g(not)h
 b(running)f(in)i Fl(posix)e Ft(mo)s(de,)j(a)f(sp)s(ecial)g(builtin)f
 (returning)g(an)g(error)h(status)g(will)g(not)f(cause)330
 4166 y(the)31 b(shell)f(to)h(exit)h(\(see)f(Section)g(6.11)h([Bash)f
-(POSIX)e(Mo)s(de],)i(page)g(82\).)154 4316 y(18.)61 b(A)34
+(POSIX)e(Mo)s(de],)i(page)g(83\).)154 4316 y(18.)61 b(A)34
 b(failed)g Fs(exec)f Ft(will)h(not)g(cause)g(the)g(shell)g(to)g(exit)h
 (\(see)f(Section)h(4.1)g([Bourne)f(Shell)f(Builtins],)330
 4426 y(page)e(35\).)154 4577 y(19.)61 b(P)m(arser)31
@@ -10303,558 +10378,574 @@ m(t)i(text.)150 1066 y(If)31 b(the)h(last)h(c)m(haracter)g(of)f(the)g
 (alias)h(v)-5 b(alue)32 b(is)g(a)g(space)g(or)g(tab)g(c)m(haracter,)i
 (then)d(the)h(next)g(command)150 1176 y(w)m(ord)e(follo)m(wing)i(the)e
 (alias)i(is)e(also)i(c)m(hec)m(k)m(ed)g(for)e(alias)i(expansion.)275
-1325 y(Aliases)d(are)f(created)i(and)d(listed)i(with)f(the)g
+1319 y(Aliases)d(are)f(created)i(and)d(listed)i(with)f(the)g
 Fs(alias)f Ft(command,)h(and)g(remo)m(v)m(ed)h(with)f(the)g
-Fs(unalias)150 1434 y Ft(command.)275 1583 y(There)44
+Fs(unalias)150 1429 y Ft(command.)275 1573 y(There)44
 b(is)h(no)g(mec)m(hanism)g(for)f(using)h(argumen)m(ts)g(in)f(the)h
 (replacemen)m(t)i(text,)i(as)d(in)e Fs(csh)p Ft(.)83
-b(If)150 1693 y(argumen)m(ts)37 b(are)h(needed,)g(a)g(shell)f(function)
+b(If)150 1682 y(argumen)m(ts)37 b(are)h(needed,)g(a)g(shell)f(function)
 f(should)g(b)s(e)h(used)f(\(see)i(Section)g(3.3)g([Shell)f(F)-8
-b(unctions],)150 1802 y(page)31 b(14\).)275 1951 y(Aliases)i(are)h(not)
+b(unctions],)150 1792 y(page)31 b(14\).)275 1936 y(Aliases)i(are)h(not)
 e(expanded)g(when)g(the)h(shell)g(is)g(not)g(in)m(teractiv)m(e,)j
-(unless)c(the)h Fs(expand_aliases)150 2061 y Ft(shell)e(option)f(is)h
+(unless)c(the)h Fs(expand_aliases)150 2045 y Ft(shell)e(option)f(is)h
 (set)g(using)f Fs(shopt)f Ft(\(see)i(Section)g(4.3.2)h([The)e(Shopt)g
-(Builtin],)h(page)g(54\).)275 2210 y(The)38 b(rules)h(concerning)h(the)
+(Builtin],)h(page)g(54\).)275 2189 y(The)38 b(rules)h(concerning)h(the)
 f(de\014nition)g(and)g(use)g(of)g(aliases)i(are)e(somewhat)h
-(confusing.)67 b(Bash)150 2320 y(alw)m(a)m(ys)42 b(reads)f(at)h(least)g
+(confusing.)67 b(Bash)150 2299 y(alw)m(a)m(ys)42 b(reads)f(at)h(least)g
 (one)f(complete)i(line)e(of)g(input)f(b)s(efore)h(executing)h(an)m(y)f
-(of)g(the)g(commands)150 2429 y(on)h(that)h(line.)77
+(of)g(the)g(commands)150 2408 y(on)h(that)h(line.)77
 b(Aliases)44 b(are)e(expanded)g(when)f(a)i(command)f(is)g(read,)k(not)c
-(when)g(it)g(is)h(executed.)150 2539 y(Therefore,)f(an)e(alias)h
+(when)g(it)g(is)h(executed.)150 2518 y(Therefore,)f(an)e(alias)h
 (de\014nition)e(app)s(earing)h(on)f(the)h(same)h(line)f(as)g(another)g
-(command)f(do)s(es)h(not)150 2648 y(tak)m(e)31 b(e\013ect)f(un)m(til)g
+(command)f(do)s(es)h(not)150 2628 y(tak)m(e)31 b(e\013ect)f(un)m(til)g
 (the)f(next)g(line)h(of)f(input)f(is)h(read.)41 b(The)28
 b(commands)h(follo)m(wing)i(the)e(alias)h(de\014nition)150
-2758 y(on)d(that)h(line)f(are)h(not)f(a\013ected)i(b)m(y)e(the)g(new)g
+2737 y(on)d(that)h(line)f(are)h(not)f(a\013ected)i(b)m(y)e(the)g(new)g
 (alias.)41 b(This)26 b(b)s(eha)m(vior)h(is)g(also)h(an)f(issue)g(when)f
-(functions)150 2868 y(are)d(executed.)39 b(Aliases)24
+(functions)150 2847 y(are)d(executed.)39 b(Aliases)24
 b(are)f(expanded)f(when)f(a)i(function)g(de\014nition)f(is)h(read,)h
-(not)f(when)e(the)i(function)150 2977 y(is)i(executed,)j(b)s(ecause)d
+(not)f(when)e(the)i(function)150 2956 y(is)i(executed,)j(b)s(ecause)d
 (a)h(function)f(de\014nition)f(is)i(itself)g(a)f(comp)s(ound)f
-(command.)39 b(As)25 b(a)h(consequence,)150 3087 y(aliases)36
+(command.)39 b(As)25 b(a)h(consequence,)150 3066 y(aliases)36
 b(de\014ned)d(in)h(a)g(function)g(are)h(not)f(a)m(v)-5
 b(ailable)37 b(un)m(til)d(after)h(that)g(function)f(is)g(executed.)53
-b(T)-8 b(o)35 b(b)s(e)150 3196 y(safe,)41 b(alw)m(a)m(ys)f(put)d(alias)
+b(T)-8 b(o)35 b(b)s(e)150 3176 y(safe,)41 b(alw)m(a)m(ys)f(put)d(alias)
 j(de\014nitions)e(on)g(a)h(separate)g(line,)i(and)d(do)g(not)g(use)g
-Fs(alias)f Ft(in)h(comp)s(ound)150 3306 y(commands.)275
-3455 y(F)-8 b(or)31 b(almost)g(ev)m(ery)g(purp)s(ose,)e(shell)i
+Fs(alias)f Ft(in)h(comp)s(ound)150 3285 y(commands.)275
+3429 y(F)-8 b(or)31 b(almost)g(ev)m(ery)g(purp)s(ose,)e(shell)i
 (functions)f(are)g(preferred)g(o)m(v)m(er)h(aliases.)150
-3749 y Fr(6.7)68 b(Arra)l(ys)275 4007 y Ft(Bash)33 b(pro)m(vides)g
-(one-dimensional)h(arra)m(y)f(v)-5 b(ariables.)50 b(An)m(y)33
-b(v)-5 b(ariable)34 b(ma)m(y)f(b)s(e)g(used)f(as)h(an)g(arra)m(y;)150
-4117 y(the)c Fs(declare)d Ft(builtin)i(will)h(explicitly)h(declare)g
-(an)e(arra)m(y)-8 b(.)41 b(There)28 b(is)h(no)f(maxim)m(um)h(limit)g
-(on)f(the)h(size)150 4227 y(of)d(an)g(arra)m(y)-8 b(,)27
-b(nor)f(an)m(y)g(requiremen)m(t)g(that)g(mem)m(b)s(ers)f(b)s(e)g
-(indexed)g(or)h(assigned)g(con)m(tiguously)-8 b(.)41
-b(Arra)m(ys)150 4336 y(are)31 b(zero-based.)275 4485
-y(An)f(arra)m(y)g(is)h(created)g(automatically)i(if)e(an)m(y)g(v)-5
-b(ariable)31 b(is)f(assigned)h(to)g(using)f(the)g(syn)m(tax)390
-4634 y Fs(name[)p Fj(subscript)11 b Fs(]=)p Fj(value)150
-4783 y Ft(The)25 b Fq(subscript)g Ft(is)h(treated)g(as)f(an)g
-(arithmetic)h(expression)f(that)h(m)m(ust)f(ev)-5 b(aluate)27
-b(to)e(a)h(n)m(um)m(b)s(er)e(greater)150 4893 y(than)30
-b(or)g(equal)h(to)g(zero.)42 b(T)-8 b(o)31 b(explicitly)h(declare)f(an)
-f(arra)m(y)-8 b(,)32 b(use)390 5042 y Fs(declare)46 b(-a)h
-Fj(name)150 5191 y Ft(The)30 b(syn)m(tax)390 5340 y Fs(declare)46
-b(-a)h Fj(name)11 b Fs([)p Fj(subscript)g Fs(])p eop
-end
+3710 y Fr(6.7)68 b(Arra)l(ys)275 3963 y Ft(Bash)39 b(pro)m(vides)h
+(one-dimensional)g(indexed)f(and)g(asso)s(ciativ)m(e)j(arra)m(y)f(v)-5
+b(ariables.)68 b(An)m(y)40 b(v)-5 b(ariable)150 4073
+y(ma)m(y)44 b(b)s(e)g(used)f(as)h(an)g(indexed)f(arra)m(y;)51
+b(the)44 b Fs(declare)e Ft(builtin)i(will)g(explicitly)h(declare)g(an)f
+(arra)m(y)-8 b(.)150 4182 y(There)31 b(is)h(no)g(maxim)m(um)g(limit)g
+(on)g(the)g(size)h(of)f(an)f(arra)m(y)-8 b(,)34 b(nor)d(an)m(y)h
+(requiremen)m(t)g(that)h(mem)m(b)s(ers)e(b)s(e)150 4292
+y(indexed)k(or)h(assigned)g(con)m(tiguously)-8 b(.)59
+b(Indexed)35 b(arra)m(ys)h(are)g(referenced)g(using)f(in)m(tegers)i
+(\(including)150 4402 y(arithmetic)44 b(expressions)f(\(see)h(Section)g
+(6.5)g([Shell)f(Arithmetic],)k(page)d(76\))g(and)e(are)i(zero-based;)
+150 4511 y(asso)s(ciativ)m(e)33 b(arra)m(ys)e(use)f(arbitrary)g
+(strings.)275 4655 y(An)c(indexed)h(arra)m(y)h(is)f(created)h
+(automatically)j(if)c(an)m(y)g(v)-5 b(ariable)28 b(is)g(assigned)f(to)h
+(using)f(the)g(syn)m(tax)390 4799 y Fs(name[)p Fj(subscript)11
+b Fs(]=)p Fj(value)150 4943 y Ft(The)25 b Fq(subscript)g
+Ft(is)h(treated)g(as)f(an)g(arithmetic)h(expression)f(that)h(m)m(ust)f
+(ev)-5 b(aluate)27 b(to)e(a)h(n)m(um)m(b)s(er)e(greater)150
+5052 y(than)30 b(or)g(equal)h(to)g(zero.)42 b(T)-8 b(o)31
+b(explicitly)h(declare)f(an)f(arra)m(y)-8 b(,)32 b(use)390
+5196 y Fs(declare)46 b(-a)h Fj(name)150 5340 y Ft(The)30
+b(syn)m(tax)p eop end
 %%Page: 79 85
 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(is)29
-b(also)i(accepted;)g(the)f Fq(subscript)g Ft(is)f(ignored.)41
-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 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
-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 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 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 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 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
-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
+b(Bash)30 b(F)-8 b(eatures)2484 b(79)390 299 y Fs(declare)46
+b(-a)h Fj(name)11 b Fs([)p Fj(subscript)g Fs(])150 431
+y Ft(is)30 b(also)i(accepted;)g(the)e Fq(subscript)h
+Ft(is)g(ignored.)275 564 y(Asso)s(ciativ)m(e)h(arra)m(ys)f(are)g
+(created)g(using)390 696 y Fs(declare)46 b(-A)h Fj(name)p
+Fs(.)275 829 y Ft(A)m(ttributes)f(ma)m(y)h(b)s(e)e(sp)s(eci\014ed)g
+(for)h(an)g(arra)m(y)g(v)-5 b(ariable)47 b(using)e(the)h
+Fs(declare)e Ft(and)h Fs(readonly)150 938 y Ft(builtins.)40
+b(Eac)m(h)31 b(attribute)g(applies)g(to)g(all)g(mem)m(b)s(ers)f(of)g
+(an)h(arra)m(y)-8 b(.)275 1071 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
+1203 y Fs(name=\(value)p Fj(1)55 b Fs(...)47 b(value)p
+Fj(n)11 b Fs(\))150 1335 y Ft(where)37 b(eac)m(h)j Fq(v)-5
+b(alue)43 b Ft(is)38 b(of)g(the)g(form)g Fs([)p Fj(subscript)11
+b Fs(]=)p Fq(string)p Ft(.)60 b(Indexed)37 b(arra)m(y)h(assignmen)m(ts)
+h(do)f(not)150 1445 y(require)c(the)g(brac)m(k)m(et)h(and)e(subscript.)
+50 b(When)34 b(assigning)g(to)g(indexed)g(arra)m(ys,)h(if)f(the)g
+(optional)h(sub-)150 1555 y(script)c(is)h(supplied,)f(that)h(index)f
+(is)h(assigned)g(to;)h(otherwise)f(the)f(index)h(of)f(the)h(elemen)m(t)
+h(assigned)f(is)150 1664 y(the)f(last)g(index)f(assigned)g(to)h(b)m(y)g
+(the)f(statemen)m(t)i(plus)e(one.)41 b(Indexing)30 b(starts)g(at)i
+(zero.)275 1797 y(When)e(assigning)h(to)g(an)f(asso)s(ciativ)m(e)j
+(arra)m(y)-8 b(,)32 b(the)e(subscript)f(is)i(required.)275
+1929 y(This)f(syn)m(tax)j(is)e(also)i(accepted)g(b)m(y)f(the)f
+Fs(declare)f Ft(builtin.)44 b(Individual)31 b(arra)m(y)h(elemen)m(ts)h
+(ma)m(y)g(b)s(e)150 2039 y(assigned)e(to)g(using)f(the)g
+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
+2171 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 1591 y(required)28
+Ft(.)46 b(The)33 b(braces)h(are)150 2281 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 1701 y(`)p Fs(@)p Ft(')f(or)h(`)p Fs(*)p Ft(',)f(the)h(w)m
+Ft(is)150 2390 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
-1810 y(when)36 b(the)g(w)m(ord)g(app)s(ears)g(within)g(double)g
+2500 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 1920 y Ft(expands)20 b(to)h(a)g(single)g(w)m(ord)f
+Fs(${name[*]})150 2609 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
-2030 y(of)38 b(the)g Fs(IFS)f Ft(v)-5 b(ariable,)41 b(and)c
+2719 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 2139
+Fq(name)43 b Ft(to)c(a)f(separate)h(w)m(ord.)150 2829
 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 2249 y(expansion)39 b(o)s(ccurs)h(within)f(a)
+b(the)i(double-quoted)150 2938 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 2358 y(b)s(eginning)j(part)h(of)g(the)g
+(joined)f(with)h(the)150 3048 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 2468 y(with)35 b(the)g(last)h(part)f(of)g
+(parameter)f(is)g(joined)150 3157 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 2577 y(parameters)28
+(expansion)g(of)g(the)g(sp)s(ecial)150 3267 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 2687 y(If)j
+Fs(${name[)p Fq(subscript)r Fs(]})p Ft(.)150 3377 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
-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 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 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
+3486 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(with)f(a)g(subscript)
+g(of)g(0.)275 3619 y(The)i 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
+3728 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 3838
+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
+b(.)67 b(A)150 3947 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 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
-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 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
+(arra)m(y)-8 b(.)275 4080 y(The)41 b Fs(declare)p Ft(,)i
+Fs(local)p Ft(,)h(and)d Fs(readonly)f Ft(builtins)h(eac)m(h)j(accept)f
+(a)f(`)p Fs(-a)p Ft(')g(option)h(to)f(sp)s(ecify)g(an)150
+4189 y(indexed)34 b(arra)m(y)h(and)f(a)h(`)p Fs(-A)p
+Ft(')g(option)g(to)g(sp)s(ecify)g(an)f(asso)s(ciativ)m(e)j(arra)m(y)-8
+b(.)55 b(The)34 b Fs(read)f Ft(builtin)i(accepts)150
+4299 y(a)h(`)p Fs(-a)p Ft(')f(option)h(to)g(assign)g(a)f(list)h(of)g(w)
+m(ords)f(read)g(from)g(the)h(standard)e(input)h(to)h(an)f(arra)m(y)-8
+b(,)38 b(and)d(can)150 4408 y(read)c(v)-5 b(alues)31
+b(from)f(the)h(standard)f(input)g(in)m(to)i(individual)e(arra)m(y)h
+(elemen)m(ts.)44 b(The)30 b Fs(set)g Ft(and)g Fs(declare)150
+4518 y Ft(builtins)g(displa)m(y)g(arra)m(y)h(v)-5 b(alues)31
+b(in)f(a)h(w)m(a)m(y)g(that)g(allo)m(ws)h(them)e(to)h(b)s(e)f(reused)g
+(as)g(input.)150 4769 y Fr(6.8)68 b(The)45 b(Directory)g(Stac)l(k)275
+5011 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 4425 y(tories)f(to)f(the)h(stac)m(k)g
+Ft(builtin)h(adds)g(direc-)150 5121 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 4534 y(directories)j(from)f(the)h(stac)m(k)h(and)d(c)m
+(eci\014ed)150 5230 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 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
-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 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
+(v)m(ed.)41 b(The)150 5340 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.)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)870 299 y Fs(dirs)47 b([+)p Fj(N)57
-b Fs(|)48 b(-)p Fj(N)11 b Fs(])46 b([-clpv])630 426 y
-Ft(Displa)m(y)35 b(the)f(list)g(of)g(curren)m(tly)g(remem)m(b)s(ered)f
-(directories.)51 b(Directories)36 b(are)e(added)f(to)630
-536 y(the)28 b(list)h(with)f(the)g Fs(pushd)f Ft(command;)i(the)f
+b(Reference)g(Man)m(ual)275 299 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 408
+y(v)-5 b(ariable.)150 641 y Fk(6.8.1)63 b(Directory)40
+b(Stac)m(k)g(Builtins)150 887 y Fs(dirs)870 1024 y(dirs)47
+b([+)p Fj(N)57 b Fs(|)48 b(-)p Fj(N)11 b Fs(])46 b([-clpv])630
+1160 y Ft(Displa)m(y)35 b(the)f(list)g(of)g(curren)m(tly)g(remem)m(b)s
+(ered)f(directories.)51 b(Directories)36 b(are)e(added)f(to)630
+1270 y(the)28 b(list)h(with)f(the)g Fs(pushd)f Ft(command;)i(the)f
 Fs(popd)f Ft(command)h(remo)m(v)m(es)h(directories)g(from)630
-645 y(the)i(list.)630 791 y Fs(+)p Fj(N)384 b Ft(Displa)m(ys)23
+1379 y(the)i(list.)630 1543 y Fs(+)p Fj(N)384 b Ft(Displa)m(ys)23
 b(the)f Fq(N)10 b Ft(th)21 b(directory)h(\(coun)m(ting)h(from)e(the)h
-(left)g(of)g(the)g(list)g(prin)m(ted)1110 900 y(b)m(y)30
+(left)g(of)g(the)g(list)g(prin)m(ted)1110 1653 y(b)m(y)30
 b Fs(dirs)f Ft(when)h(in)m(v)m(ok)m(ed)i(without)e(options\),)h
-(starting)g(with)g(zero.)630 1045 y Fs(-)p Fj(N)384 b
+(starting)g(with)g(zero.)630 1816 y Fs(-)p Fj(N)384 b
 Ft(Displa)m(ys)47 b(the)g Fq(N)10 b Ft(th)46 b(directory)h(\(coun)m
 (ting)g(from)f(the)g(righ)m(t)h(of)g(the)f(list)1110
-1155 y(prin)m(ted)25 b(b)m(y)g Fs(dirs)g Ft(when)f(in)m(v)m(ok)m(ed)j
-(without)f(options\),)h(starting)g(with)e(zero.)630 1300
+1926 y(prin)m(ted)25 b(b)m(y)g Fs(dirs)g Ft(when)f(in)m(v)m(ok)m(ed)j
+(without)f(options\),)h(starting)g(with)e(zero.)630 2089
 y Fs(-c)384 b Ft(Clears)31 b(the)f(directory)h(stac)m(k)h(b)m(y)e
-(deleting)h(all)h(of)e(the)h(elemen)m(ts.)630 1445 y
+(deleting)h(all)h(of)e(the)h(elemen)m(ts.)630 2253 y
 Fs(-l)384 b Ft(Pro)s(duces)30 b(a)i(longer)g(listing;)h(the)f(default)f
-(listing)i(format)e(uses)g(a)h(tilde)g(to)1110 1555 y(denote)f(the)f
-(home)h(directory)-8 b(.)630 1700 y Fs(-p)384 b Ft(Causes)30
+(listing)i(format)e(uses)g(a)h(tilde)g(to)1110 2362 y(denote)f(the)f
+(home)h(directory)-8 b(.)630 2526 y Fs(-p)384 b Ft(Causes)30
 b Fs(dirs)f Ft(to)i(prin)m(t)f(the)h(directory)g(stac)m(k)h(with)e(one)
-g(en)m(try)h(p)s(er)e(line.)630 1845 y Fs(-v)384 b Ft(Causes)36
+g(en)m(try)h(p)s(er)e(line.)630 2689 y Fs(-v)384 b Ft(Causes)36
 b Fs(dirs)f Ft(to)i(prin)m(t)f(the)g(directory)h(stac)m(k)h(with)e(one)
-h(en)m(try)f(p)s(er)f(line,)1110 1955 y(pre\014xing)30
+h(en)m(try)f(p)s(er)f(line,)1110 2799 y(pre\014xing)30
 b(eac)m(h)h(en)m(try)g(with)f(its)h(index)e(in)i(the)f(stac)m(k.)150
-2100 y Fs(popd)870 2227 y(popd)47 b([+)p Fj(N)57 b Fs(|)48
-b(-)p Fj(N)11 b Fs(])46 b([-n])630 2354 y Ft(Remo)m(v)m(e)26
+2963 y Fs(popd)870 3099 y(popd)47 b([+)p Fj(N)57 b Fs(|)48
+b(-)p Fj(N)11 b Fs(])46 b([-n])630 3236 y Ft(Remo)m(v)m(e)26
 b(the)e(top)g(en)m(try)h(from)e(the)h(directory)h(stac)m(k,)i(and)c
 Fs(cd)h Ft(to)h(the)f(new)f(top)i(directory)-8 b(.)630
-2464 y(When)32 b(no)g(argumen)m(ts)h(are)g(giv)m(en,)h
+3345 y(When)32 b(no)g(argumen)m(ts)h(are)g(giv)m(en,)h
 Fs(popd)d Ft(remo)m(v)m(es)j(the)f(top)f(directory)h(from)f(the)g(stac)
-m(k)630 2574 y(and)f(p)s(erforms)e(a)j Fs(cd)f Ft(to)h(the)f(new)g(top)
+m(k)630 3455 y(and)f(p)s(erforms)e(a)j Fs(cd)f Ft(to)h(the)f(new)g(top)
 h(directory)-8 b(.)44 b(The)31 b(elemen)m(ts)i(are)e(n)m(um)m(b)s(ered)
-f(from)630 2683 y(0)d(starting)g(at)g(the)g(\014rst)f(directory)h
+f(from)630 3565 y(0)d(starting)g(at)g(the)g(\014rst)f(directory)h
 (listed)g(with)f Fs(dirs)p Ft(;)h(i.e.,)i Fs(popd)c Ft(is)i(equiv)-5
-b(alen)m(t)28 b(to)f Fs(popd)630 2793 y(+0)p Ft(.)630
-2938 y Fs(+)p Fj(N)384 b Ft(Remo)m(v)m(es)22 b(the)f
+b(alen)m(t)28 b(to)f Fs(popd)630 3674 y(+0)p Ft(.)630
+3838 y Fs(+)p Fj(N)384 b Ft(Remo)m(v)m(es)22 b(the)f
 Fq(N)10 b Ft(th)20 b(directory)g(\(coun)m(ting)i(from)e(the)g(left)h
-(of)g(the)f(list)h(prin)m(ted)1110 3048 y(b)m(y)30 b
-Fs(dirs)p Ft(\),)g(starting)h(with)f(zero.)630 3193 y
+(of)g(the)f(list)h(prin)m(ted)1110 3947 y(b)m(y)30 b
+Fs(dirs)p Ft(\),)g(starting)h(with)f(zero.)630 4111 y
 Fs(-)p Fj(N)384 b Ft(Remo)m(v)m(es)46 b(the)g Fq(N)10
 b Ft(th)44 b(directory)h(\(coun)m(ting)h(from)f(the)g(righ)m(t)g(of)g
-(the)g(list)1110 3302 y(prin)m(ted)30 b(b)m(y)g Fs(dirs)p
-Ft(\),)g(starting)h(with)f(zero.)630 3447 y Fs(-n)384
+(the)g(list)1110 4220 y(prin)m(ted)30 b(b)m(y)g Fs(dirs)p
+Ft(\),)g(starting)h(with)f(zero.)630 4384 y Fs(-n)384
 b Ft(Suppresses)27 b(the)j(normal)g(c)m(hange)g(of)g(directory)g(when)e
-(remo)m(ving)j(directo-)1110 3557 y(ries)f(from)g(the)h(stac)m(k,)h(so)
+(remo)m(ving)j(directo-)1110 4494 y(ries)f(from)g(the)h(stac)m(k,)h(so)
 f(that)g(only)f(the)h(stac)m(k)g(is)g(manipulated.)150
-3720 y Fs(pushd)870 3847 y(pushd)46 b([-n])h([+)p Fj(N)57
+4684 y Fs(pushd)870 4821 y(pushd)46 b([-n])h([+)p Fj(N)57
 b Fs(|)48 b Fj(-N)58 b Fs(|)47 b Fj(dir)57 b Fs(])630
-3975 y Ft(Sa)m(v)m(e)30 b(the)e(curren)m(t)g(directory)h(on)f(the)h
+4957 y Ft(Sa)m(v)m(e)30 b(the)e(curren)m(t)g(directory)h(on)f(the)h
 (top)f(of)h(the)f(directory)h(stac)m(k)h(and)e(then)g
-Fs(cd)f Ft(to)i Fq(dir)p Ft(.)630 4084 y(With)i(no)f(argumen)m(ts,)h
+Fs(cd)f Ft(to)i Fq(dir)p Ft(.)630 5067 y(With)i(no)f(argumen)m(ts,)h
 Fs(pushd)e Ft(exc)m(hanges)j(the)e(top)h(t)m(w)m(o)h(directories.)630
-4229 y Fs(-n)384 b Ft(Suppresses)26 b(the)i(normal)h(c)m(hange)g(of)f
-(directory)h(when)e(adding)h(directories)1110 4339 y(to)j(the)g(stac)m
-(k,)h(so)e(that)h(only)g(the)f(stac)m(k)i(is)f(manipulated.)630
-4484 y Fs(+)p Fj(N)384 b Ft(Brings)29 b(the)f Fq(N)10
-b Ft(th)29 b(directory)g(\(coun)m(ting)h(from)e(the)g(left)i(of)e(the)h
-(list)g(prin)m(ted)1110 4594 y(b)m(y)34 b Fs(dirs)p Ft(,)g(starting)h
-(with)f(zero\))i(to)f(the)f(top)g(of)h(the)f(list)h(b)m(y)f(rotating)i
-(the)1110 4703 y(stac)m(k.)630 4848 y Fs(-)p Fj(N)384
-b Ft(Brings)23 b(the)g Fq(N)10 b Ft(th)23 b(directory)h(\(coun)m(ting)g
-(from)e(the)i(righ)m(t)f(of)g(the)h(list)f(prin)m(ted)1110
-4958 y(b)m(y)34 b Fs(dirs)p Ft(,)g(starting)h(with)f(zero\))i(to)f(the)
-f(top)g(of)h(the)f(list)h(b)m(y)f(rotating)i(the)1110
-5068 y(stac)m(k.)630 5213 y Fj(dir)336 b Ft(Mak)m(es)36
-b(the)f(curren)m(t)g(w)m(orking)g(directory)g(b)s(e)f(the)h(top)g(of)g
-(the)g(stac)m(k,)j(and)1110 5322 y(then)30 b(executes)i(the)e(equiv)-5
-b(alen)m(t)32 b(of)f(`)p Fs(cd)f Fq(dir)7 b Ft('.)39
-b Fs(cd)p Ft(s)30 b(to)h Fq(dir)p Ft(.)p eop end
+5230 y Fs(-n)384 b Ft(Suppresses)26 b(the)i(normal)h(c)m(hange)g(of)f
+(directory)h(when)e(adding)h(directories)1110 5340 y(to)j(the)g(stac)m
+(k,)h(so)e(that)h(only)g(the)f(stac)m(k)i(is)f(manipulated.)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)150 299 y Fr(6.9)68
-b(Con)l(trolling)47 b(the)e(Prompt)275 544 y Ft(The)c(v)-5
-b(alue)43 b(of)f(the)h(v)-5 b(ariable)43 b Fs(PROMPT_COMMAND)38
-b Ft(is)k(examined)g(just)g(b)s(efore)g(Bash)g(prin)m(ts)g(eac)m(h)150
-653 y(primary)f(prompt.)73 b(If)41 b Fs(PROMPT_COMMAND)d
-Ft(is)j(set)h(and)f(has)h(a)g(non-n)m(ull)f(v)-5 b(alue,)45
-b(then)c(the)h(v)-5 b(alue)42 b(is)150 763 y(executed)31
-b(just)f(as)h(if)f(it)h(had)f(b)s(een)f(t)m(yp)s(ed)h(on)h(the)f
-(command)g(line.)275 898 y(In)d(addition,)j(the)f(follo)m(wing)h(table)
-f(describ)s(es)f(the)h(sp)s(ecial)g(c)m(haracters)h(whic)m(h)f(can)f
-(app)s(ear)g(in)h(the)150 1008 y(prompt)g(v)-5 b(ariables:)150
-1168 y Fs(\\a)384 b Ft(A)30 b(b)s(ell)h(c)m(haracter.)150
-1328 y Fs(\\d)384 b Ft(The)30 b(date,)h(in)f Fs(")p Ft(W)-8
-b(eekda)m(y)32 b(Mon)m(th)f(Date)p Fs(")h Ft(format)f(\(e.g.,)h
-Fs(")p Ft(T)-8 b(ue)30 b(Ma)m(y)h(26)p Fs(")p Ft(\).)150
-1488 y Fs(\\D{)p Fj(format)11 b Fs(})630 1598 y Ft(The)27
+b(Bash)30 b(F)-8 b(eatures)2484 b(81)630 299 y Fs(+)p
+Fj(N)384 b Ft(Brings)29 b(the)f Fq(N)10 b Ft(th)29 b(directory)g
+(\(coun)m(ting)h(from)e(the)g(left)i(of)e(the)h(list)g(prin)m(ted)1110
+408 y(b)m(y)34 b Fs(dirs)p Ft(,)g(starting)h(with)f(zero\))i(to)f(the)f
+(top)g(of)h(the)f(list)h(b)m(y)f(rotating)i(the)1110
+518 y(stac)m(k.)630 678 y Fs(-)p Fj(N)384 b Ft(Brings)23
+b(the)g Fq(N)10 b Ft(th)23 b(directory)h(\(coun)m(ting)g(from)e(the)i
+(righ)m(t)f(of)g(the)h(list)f(prin)m(ted)1110 788 y(b)m(y)34
+b Fs(dirs)p Ft(,)g(starting)h(with)f(zero\))i(to)f(the)f(top)g(of)h
+(the)f(list)h(b)m(y)f(rotating)i(the)1110 897 y(stac)m(k.)630
+1057 y Fj(dir)336 b Ft(Mak)m(es)36 b(the)f(curren)m(t)g(w)m(orking)g
+(directory)g(b)s(e)f(the)h(top)g(of)g(the)g(stac)m(k,)j(and)1110
+1167 y(then)30 b(executes)i(the)e(equiv)-5 b(alen)m(t)32
+b(of)f(`)p Fs(cd)f Fq(dir)7 b Ft('.)39 b Fs(cd)p Ft(s)30
+b(to)h Fq(dir)p Ft(.)150 1425 y Fr(6.9)68 b(Con)l(trolling)47
+b(the)e(Prompt)275 1670 y Ft(The)c(v)-5 b(alue)43 b(of)f(the)h(v)-5
+b(ariable)43 b Fs(PROMPT_COMMAND)38 b Ft(is)k(examined)g(just)g(b)s
+(efore)g(Bash)g(prin)m(ts)g(eac)m(h)150 1779 y(primary)f(prompt.)73
+b(If)41 b Fs(PROMPT_COMMAND)d Ft(is)j(set)h(and)f(has)h(a)g(non-n)m
+(ull)f(v)-5 b(alue,)45 b(then)c(the)h(v)-5 b(alue)42
+b(is)150 1889 y(executed)31 b(just)f(as)h(if)f(it)h(had)f(b)s(een)f(t)m
+(yp)s(ed)h(on)h(the)f(command)g(line.)275 2024 y(In)d(addition,)j(the)f
+(follo)m(wing)h(table)f(describ)s(es)f(the)h(sp)s(ecial)g(c)m
+(haracters)h(whic)m(h)f(can)f(app)s(ear)g(in)h(the)150
+2133 y(prompt)g(v)-5 b(ariables:)150 2293 y Fs(\\a)384
+b Ft(A)30 b(b)s(ell)h(c)m(haracter.)150 2453 y Fs(\\d)384
+b Ft(The)30 b(date,)h(in)f Fs(")p Ft(W)-8 b(eekda)m(y)32
+b(Mon)m(th)f(Date)p Fs(")h Ft(format)f(\(e.g.,)h Fs(")p
+Ft(T)-8 b(ue)30 b(Ma)m(y)h(26)p Fs(")p Ft(\).)150 2613
+y Fs(\\D{)p Fj(format)11 b Fs(})630 2723 y Ft(The)27
 b Fq(format)i Ft(is)f(passed)e(to)i Fs(strftime)p Ft(\(3\))f(and)f(the)
 i(result)f(is)g(inserted)g(in)m(to)h(the)g(prompt)630
-1708 y(string;)42 b(an)d(empt)m(y)f Fq(format)j Ft(results)d(in)g(a)h
+2832 y(string;)42 b(an)d(empt)m(y)f Fq(format)j Ft(results)d(in)g(a)h
 (lo)s(cale-sp)s(eci\014c)h(time)f(represen)m(tation.)65
-b(The)630 1817 y(braces)31 b(are)f(required.)150 1977
+b(The)630 2942 y(braces)31 b(are)f(required.)150 3102
 y Fs(\\e)384 b Ft(An)30 b(escap)s(e)h(c)m(haracter.)150
-2137 y Fs(\\h)384 b Ft(The)30 b(hostname,)h(up)e(to)i(the)g(\014rst)e
-(`.'.)150 2298 y Fs(\\H)384 b Ft(The)30 b(hostname.)150
-2458 y Fs(\\j)384 b Ft(The)30 b(n)m(um)m(b)s(er)f(of)h(jobs)g(curren)m
-(tly)h(managed)g(b)m(y)f(the)g(shell.)150 2618 y Fs(\\l)384
+3262 y Fs(\\h)384 b Ft(The)30 b(hostname,)h(up)e(to)i(the)g(\014rst)e
+(`.'.)150 3422 y Fs(\\H)384 b Ft(The)30 b(hostname.)150
+3581 y Fs(\\j)384 b Ft(The)30 b(n)m(um)m(b)s(er)f(of)h(jobs)g(curren)m
+(tly)h(managed)g(b)m(y)f(the)g(shell.)150 3741 y Fs(\\l)384
 b Ft(The)30 b(basename)h(of)f(the)h(shell's)f(terminal)h(device)g
-(name.)150 2778 y Fs(\\n)384 b Ft(A)30 b(newline.)150
-2938 y Fs(\\r)384 b Ft(A)30 b(carriage)i(return.)150
-3098 y Fs(\\s)384 b Ft(The)22 b(name)g(of)h(the)f(shell,)i(the)f
+(name.)150 3901 y Fs(\\n)384 b Ft(A)30 b(newline.)150
+4061 y Fs(\\r)384 b Ft(A)30 b(carriage)i(return.)150
+4221 y Fs(\\s)384 b Ft(The)22 b(name)g(of)h(the)f(shell,)i(the)f
 (basename)f(of)h Fs($0)f Ft(\(the)g(p)s(ortion)g(follo)m(wing)i(the)f
-(\014nal)e(slash\).)150 3258 y Fs(\\t)384 b Ft(The)30
-b(time,)h(in)f(24-hour)h(HH:MM:SS)g(format.)150 3418
+(\014nal)e(slash\).)150 4381 y Fs(\\t)384 b Ft(The)30
+b(time,)h(in)f(24-hour)h(HH:MM:SS)g(format.)150 4541
 y Fs(\\T)384 b Ft(The)30 b(time,)h(in)f(12-hour)h(HH:MM:SS)g(format.)
-150 3579 y Fs(\\@)384 b Ft(The)30 b(time,)h(in)f(12-hour)h(am/pm)f
-(format.)150 3739 y Fs(\\A)384 b Ft(The)30 b(time,)h(in)f(24-hour)h
-(HH:MM)g(format.)150 3899 y Fs(\\u)384 b Ft(The)30 b(username)g(of)g
-(the)h(curren)m(t)f(user.)150 4059 y Fs(\\v)384 b Ft(The)30
-b(v)m(ersion)h(of)f(Bash)h(\(e.g.,)h(2.00\))150 4219
+150 4701 y Fs(\\@)384 b Ft(The)30 b(time,)h(in)f(12-hour)h(am/pm)f
+(format.)150 4860 y Fs(\\A)384 b Ft(The)30 b(time,)h(in)f(24-hour)h
+(HH:MM)g(format.)150 5020 y Fs(\\u)384 b Ft(The)30 b(username)g(of)g
+(the)h(curren)m(t)f(user.)150 5180 y Fs(\\v)384 b Ft(The)30
+b(v)m(ersion)h(of)f(Bash)h(\(e.g.,)h(2.00\))150 5340
 y Fs(\\V)384 b Ft(The)30 b(release)i(of)e(Bash,)h(v)m(ersion)g
-Fs(+)f Ft(patc)m(hlev)m(el)i(\(e.g.,)h(2.00.0\))150 4379
-y Fs(\\w)384 b Ft(The)30 b(curren)m(t)g(w)m(orking)h(directory)-8
-b(,)31 b(with)f Fs($HOME)f Ft(abbreviated)i(with)f(a)h(tilde.)150
-4539 y Fs(\\W)384 b Ft(The)30 b(basename)h(of)f Fs($PWD)p
+Fs(+)f Ft(patc)m(hlev)m(el)i(\(e.g.,)h(2.00.0\))p eop
+end
+%%Page: 82 88
+TeXDict begin 82 87 bop 150 -116 a Ft(82)2572 b(Bash)31
+b(Reference)g(Man)m(ual)150 299 y Fs(\\w)384 b Ft(The)34
+b(curren)m(t)h(w)m(orking)g(directory)-8 b(,)37 b(with)e
+Fs($HOME)e Ft(abbreviated)j(with)e(a)h(tilde)h(\(uses)f(the)630
+408 y Fs($PROMPT_DIRTRIM)26 b Ft(v)-5 b(ariable\).)150
+564 y Fs(\\W)384 b Ft(The)30 b(basename)h(of)f Fs($PWD)p
 Ft(,)g(with)g Fs($HOME)f Ft(abbreviated)h(with)g(a)h(tilde.)150
-4699 y Fs(\\!)384 b Ft(The)30 b(history)g(n)m(um)m(b)s(er)f(of)i(this)f
-(command.)150 4860 y Fs(\\#)384 b Ft(The)30 b(command)g(n)m(um)m(b)s
-(er)f(of)i(this)f(command.)150 5020 y Fs(\\$)384 b Ft(If)30
+719 y Fs(\\!)384 b Ft(The)30 b(history)g(n)m(um)m(b)s(er)f(of)i(this)f
+(command.)150 875 y Fs(\\#)384 b Ft(The)30 b(command)g(n)m(um)m(b)s(er)
+f(of)i(this)f(command.)150 1031 y Fs(\\$)384 b Ft(If)30
 b(the)g(e\013ectiv)m(e)j(uid)d(is)g(0,)h Fs(#)p Ft(,)g(otherwise)g
-Fs($)p Ft(.)150 5180 y Fs(\\)p Fj(nnn)288 b Ft(The)30
+Fs($)p Ft(.)150 1186 y Fs(\\)p Fj(nnn)288 b Ft(The)30
 b(c)m(haracter)i(whose)e(ASCI)s(I)f(co)s(de)h(is)h(the)f(o)s(ctal)i(v)
--5 b(alue)31 b Fq(nnn)p Ft(.)150 5340 y Fs(\\\\)384 b
-Ft(A)30 b(bac)m(kslash.)p eop end
-%%Page: 82 88
-TeXDict begin 82 87 bop 150 -116 a Ft(82)2572 b(Bash)31
-b(Reference)g(Man)m(ual)150 299 y Fs(\\[)384 b Ft(Begin)38
+-5 b(alue)31 b Fq(nnn)p Ft(.)150 1342 y Fs(\\\\)384 b
+Ft(A)30 b(bac)m(kslash.)150 1497 y Fs(\\[)384 b Ft(Begin)38
 b(a)f(sequence)g(of)g(non-prin)m(ting)g(c)m(haracters.)61
 b(This)36 b(could)h(b)s(e)g(used)f(to)h(em)m(b)s(ed)g(a)630
-408 y(terminal)31 b(con)m(trol)h(sequence)e(in)m(to)i(the)e(prompt.)150
-561 y Fs(\\])384 b Ft(End)29 b(a)i(sequence)g(of)f(non-prin)m(ting)g(c)
-m(haracters.)275 713 y(The)25 b(command)h(n)m(um)m(b)s(er)f(and)h(the)g
-(history)g(n)m(um)m(b)s(er)f(are)i(usually)f(di\013eren)m(t:)39
-b(the)26 b(history)g(n)m(um)m(b)s(er)150 823 y(of)h(a)f(command)h(is)f
-(its)h(p)s(osition)f(in)g(the)h(history)f(list,)i(whic)m(h)f(ma)m(y)g
-(include)f(commands)g(restored)g(from)150 932 y(the)39
-b(history)h(\014le)f(\(see)h(Section)g(9.1)h([Bash)e(History)h(F)-8
-b(acilities],)45 b(page)40 b(119\),)j(while)d(the)f(command)150
-1042 y(n)m(um)m(b)s(er)j(is)h(the)h(p)s(osition)f(in)g(the)g(sequence)h
-(of)f(commands)g(executed)h(during)e(the)i(curren)m(t)f(shell)150
-1152 y(session.)275 1283 y(After)35 b(the)g(string)g(is)g(deco)s(ded,)h
-(it)f(is)g(expanded)f(via)i(parameter)f(expansion,)i(command)d(substi-)
-150 1392 y(tution,)k(arithmetic)f(expansion,)g(and)e(quote)h(remo)m(v)
--5 b(al,)39 b(sub)5 b(ject)35 b(to)i(the)f(v)-5 b(alue)36
-b(of)g(the)g Fs(promptvars)150 1502 y Ft(shell)31 b(option)f(\(see)i
-(Section)f(4.2)g([Bash)g(Builtins],)g(page)g(41\).)150
-1749 y Fr(6.10)68 b(The)45 b(Restricted)h(Shell)275 1989
-y Ft(If)26 b(Bash)h(is)f(started)h(with)g(the)g(name)f
+1607 y(terminal)31 b(con)m(trol)h(sequence)e(in)m(to)i(the)e(prompt.)
+150 1762 y Fs(\\])384 b Ft(End)29 b(a)i(sequence)g(of)f(non-prin)m
+(ting)g(c)m(haracters.)275 1918 y(The)25 b(command)h(n)m(um)m(b)s(er)f
+(and)h(the)g(history)g(n)m(um)m(b)s(er)f(are)i(usually)f(di\013eren)m
+(t:)39 b(the)26 b(history)g(n)m(um)m(b)s(er)150 2027
+y(of)h(a)f(command)h(is)f(its)h(p)s(osition)f(in)g(the)h(history)f
+(list,)i(whic)m(h)f(ma)m(y)g(include)f(commands)g(restored)g(from)150
+2137 y(the)39 b(history)h(\014le)f(\(see)h(Section)g(9.1)h([Bash)e
+(History)h(F)-8 b(acilities],)45 b(page)40 b(119\),)j(while)d(the)f
+(command)150 2246 y(n)m(um)m(b)s(er)j(is)h(the)h(p)s(osition)f(in)g
+(the)g(sequence)h(of)f(commands)g(executed)h(during)e(the)i(curren)m(t)
+f(shell)150 2356 y(session.)275 2489 y(After)35 b(the)g(string)g(is)g
+(deco)s(ded,)h(it)f(is)g(expanded)f(via)i(parameter)f(expansion,)i
+(command)d(substi-)150 2598 y(tution,)k(arithmetic)f(expansion,)g(and)e
+(quote)h(remo)m(v)-5 b(al,)39 b(sub)5 b(ject)35 b(to)i(the)f(v)-5
+b(alue)36 b(of)g(the)g Fs(promptvars)150 2708 y Ft(shell)31
+b(option)f(\(see)i(Section)f(4.2)g([Bash)g(Builtins],)g(page)g(41\).)
+150 2959 y Fr(6.10)68 b(The)45 b(Restricted)h(Shell)275
+3201 y Ft(If)26 b(Bash)h(is)f(started)h(with)g(the)g(name)f
 Fs(rbash)p Ft(,)h(or)f(the)h(`)p Fs(--restricted)p Ft(')d(or)j(`)p
-Fs(-r)p Ft(')f(option)h(is)g(supplied)150 2099 y(at)32
+Fs(-r)p Ft(')f(option)h(is)g(supplied)150 3311 y(at)32
 b(in)m(v)m(o)s(cation,)i(the)d(shell)g(b)s(ecomes)h(restricted.)44
 b(A)31 b(restricted)h(shell)f(is)g(used)g(to)h(set)f(up)f(an)i(en)m
-(viron-)150 2208 y(men)m(t)26 b(more)f(con)m(trolled)i(than)e(the)h
+(viron-)150 3421 y(men)m(t)26 b(more)f(con)m(trolled)i(than)e(the)h
 (standard)e(shell.)40 b(A)25 b(restricted)h(shell)g(b)s(eha)m(v)m(es)g
-(iden)m(tically)h(to)f Fs(bash)150 2318 y Ft(with)k(the)h(exception)g
+(iden)m(tically)h(to)f Fs(bash)150 3530 y Ft(with)k(the)h(exception)g
 (that)g(the)g(follo)m(wing)h(are)e(disallo)m(w)m(ed)i(or)f(not)f(p)s
-(erformed:)225 2449 y Fp(\017)60 b Ft(Changing)30 b(directories)h(with)
-g(the)f Fs(cd)g Ft(builtin.)225 2580 y Fp(\017)60 b Ft(Setting)31
+(erformed:)225 3663 y Fp(\017)60 b Ft(Changing)30 b(directories)h(with)
+g(the)f Fs(cd)g Ft(builtin.)225 3795 y Fp(\017)60 b Ft(Setting)31
 b(or)f(unsetting)h(the)g(v)-5 b(alues)30 b(of)h(the)f
 Fs(SHELL)p Ft(,)g Fs(PATH)p Ft(,)f Fs(ENV)p Ft(,)h(or)g
-Fs(BASH_ENV)e Ft(v)-5 b(ariables.)225 2711 y Fp(\017)60
+Fs(BASH_ENV)e Ft(v)-5 b(ariables.)225 3928 y Fp(\017)60
 b Ft(Sp)s(ecifying)30 b(command)g(names)g(con)m(taining)i(slashes.)225
-2842 y Fp(\017)60 b Ft(Sp)s(ecifying)30 b(a)h(\014lename)f(con)m
+4060 y Fp(\017)60 b Ft(Sp)s(ecifying)30 b(a)h(\014lename)f(con)m
 (taining)i(a)f(slash)f(as)h(an)f(argumen)m(t)h(to)g(the)f
-Fs(.)h Ft(builtin)e(command.)225 2973 y Fp(\017)60 b
+Fs(.)h Ft(builtin)e(command.)225 4193 y Fp(\017)60 b
 Ft(Sp)s(ecifying)28 b(a)i(\014lename)f(con)m(taining)h(a)g(slash)e(as)h
 (an)g(argumen)m(t)h(to)f(the)g(`)p Fs(-p)p Ft(')g(option)g(to)h(the)f
-Fs(hash)330 3083 y Ft(builtin)h(command.)225 3214 y Fp(\017)60
+Fs(hash)330 4303 y Ft(builtin)h(command.)225 4435 y Fp(\017)60
 b Ft(Imp)s(orting)30 b(function)g(de\014nitions)g(from)f(the)i(shell)g
-(en)m(vironmen)m(t)g(at)g(startup.)225 3345 y Fp(\017)60
+(en)m(vironmen)m(t)g(at)g(startup.)225 4568 y Fp(\017)60
 b Ft(P)m(arsing)31 b(the)f(v)-5 b(alue)31 b(of)g Fs(SHELLOPTS)d
 Ft(from)h(the)i(shell)g(en)m(vironmen)m(t)g(at)g(startup.)225
-3476 y Fp(\017)60 b Ft(Redirecting)31 b(output)f(using)g(the)h(`)p
+4700 y Fp(\017)60 b Ft(Redirecting)31 b(output)f(using)g(the)h(`)p
 Fs(>)p Ft(',)g(`)p Fs(>|)p Ft(',)f(`)p Fs(<>)p Ft(',)h(`)p
 Fs(>&)p Ft(',)f(`)p Fs(&>)p Ft(',)h(and)e(`)p Fs(>>)p
-Ft(')i(redirection)g(op)s(erators.)225 3607 y Fp(\017)60
+Ft(')i(redirection)g(op)s(erators.)225 4833 y Fp(\017)60
 b Ft(Using)31 b(the)f Fs(exec)f Ft(builtin)h(to)h(replace)h(the)e
-(shell)h(with)f(another)h(command.)225 3738 y Fp(\017)60
+(shell)h(with)f(another)h(command.)225 4965 y Fp(\017)60
 b Ft(Adding)40 b(or)h(deleting)h(builtin)e(commands)h(with)f(the)h(`)p
 Fs(-f)p Ft(')g(and)f(`)p Fs(-d)p Ft(')h(options)g(to)h(the)f
-Fs(enable)330 3847 y Ft(builtin.)225 3978 y Fp(\017)60
+Fs(enable)330 5075 y Ft(builtin.)225 5207 y Fp(\017)60
 b Ft(Using)31 b(the)f Fs(enable)f Ft(builtin)h(command)g(to)h(enable)g
-(disabled)f(shell)g(builtins.)225 4109 y Fp(\017)60 b
+(disabled)f(shell)g(builtins.)225 5340 y Fp(\017)60 b
 Ft(Sp)s(ecifying)30 b(the)g(`)p Fs(-p)p Ft(')h(option)g(to)g(the)f
-Fs(command)f Ft(builtin.)225 4240 y Fp(\017)60 b Ft(T)-8
-b(urning)29 b(o\013)i(restricted)g(mo)s(de)f(with)g(`)p
-Fs(set)g(+r)p Ft(')g(or)g(`)p Fs(set)g(+o)g(restricted)p
-Ft('.)275 4393 y(These)g(restrictions)h(are)g(enforced)f(after)h(an)m
-(y)g(startup)f(\014les)g(are)h(read.)275 4524 y(When)j(a)i(command)e
-(that)i(is)f(found)f(to)h(b)s(e)g(a)g(shell)g(script)g(is)g(executed)h
-(\(see)g(Section)g(3.8)g([Shell)150 4633 y(Scripts],)25
-b(page)e(33\),)j Fs(rbash)c Ft(turns)g(o\013)i(an)m(y)f(restrictions)h
-(in)f(the)g(shell)h(spa)m(wned)e(to)i(execute)g(the)g(script.)150
-4880 y Fr(6.11)68 b(Bash)45 b(POSIX)f(Mo)t(de)275 5121
-y Ft(Starting)21 b(Bash)g(with)f(the)h(`)p Fs(--posix)p
-Ft(')e(command-line)j(option)f(or)g(executing)h(`)p Fs(set)30
-b(-o)f(posix)p Ft(')20 b(while)150 5230 y(Bash)26 b(is)g(running)e
-(will)j(cause)f(Bash)g(to)h(conform)f(more)g(closely)h(to)g(the)f
-Fl(posix)f Ft(standard)g(b)m(y)h(c)m(hanging)150 5340
-y(the)31 b(b)s(eha)m(vior)f(to)h(matc)m(h)g(that)g(sp)s(eci\014ed)f(b)m
-(y)g Fl(posix)g Ft(in)g(areas)h(where)f(the)h(Bash)f(default)h
-(di\013ers.)p eop end
+Fs(command)f Ft(builtin.)p eop end
 %%Page: 83 89
 TeXDict begin 83 88 bop 150 -116 a Ft(Chapter)30 b(6:)41
-b(Bash)30 b(F)-8 b(eatures)2484 b(83)275 299 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
-429 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 560
-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 669 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 800 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
-909 y(non-zero)31 b(status)g(is)f(`Done\(status\)'.)199
-1040 y(3.)61 b(The)40 b(message)h(prin)m(ted)f(b)m(y)g(the)h(job)f(con)
+b(Bash)30 b(F)-8 b(eatures)2484 b(83)225 299 y Fp(\017)60
+b Ft(T)-8 b(urning)29 b(o\013)i(restricted)g(mo)s(de)f(with)g(`)p
+Fs(set)g(+r)p Ft(')g(or)g(`)p Fs(set)g(+o)g(restricted)p
+Ft('.)275 453 y(These)g(restrictions)h(are)g(enforced)f(after)h(an)m(y)
+g(startup)f(\014les)g(are)h(read.)275 585 y(When)j(a)i(command)e(that)i
+(is)f(found)f(to)h(b)s(e)g(a)g(shell)g(script)g(is)g(executed)h(\(see)g
+(Section)g(3.8)g([Shell)150 695 y(Scripts],)25 b(page)e(33\),)j
+Fs(rbash)c Ft(turns)g(o\013)i(an)m(y)f(restrictions)h(in)f(the)g(shell)
+h(spa)m(wned)e(to)i(execute)g(the)g(script.)150 945 y
+Fr(6.11)68 b(Bash)45 b(POSIX)f(Mo)t(de)275 1187 y Ft(Starting)21
+b(Bash)g(with)f(the)h(`)p Fs(--posix)p Ft(')e(command-line)j(option)f
+(or)g(executing)h(`)p Fs(set)30 b(-o)f(posix)p Ft(')20
+b(while)150 1296 y(Bash)26 b(is)g(running)e(will)j(cause)f(Bash)g(to)h
+(conform)f(more)g(closely)h(to)g(the)f Fl(posix)f Ft(standard)g(b)m(y)h
+(c)m(hanging)150 1406 y(the)31 b(b)s(eha)m(vior)f(to)h(matc)m(h)g(that)
+g(sp)s(eci\014ed)f(b)m(y)g Fl(posix)g Ft(in)g(areas)h(where)f(the)h
+(Bash)f(default)h(di\013ers.)275 1538 y(When)f(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 1670 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 1802 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
+1912 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 2044 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 2153 y(non-zero)31 b(status)g(is)f(`Done\(status\)'.)199
+2286 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 1149 y(`Stopp)s(ed\()p Fq(signame)5 b Ft(\)',)31
+(is)330 2395 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 1280 y(4.)61 b(The)27 b Fs(bg)g
+Fs(SIGTSTP)p Ft(.)199 2527 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 1390
+(h)i(job)e(placed)h(in)f(the)h(bac)m(kground,)330 2637
 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
-1520 y(5.)61 b(Reserv)m(ed)40 b(w)m(ords)g(app)s(earing)f(in)h(a)g(con)
+2769 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 1630 y(undergo)30 b(alias)h(expansion.)199 1760 y(6.)61
+330 2878 y(undergo)30 b(alias)h(expansion.)199 3011 y(6.)61
 b(The)38 b Fl(posix)h Fs(PS1)f Ft(and)g Fs(PS2)g Ft(expansions)g(of)i
 (`)p Fs(!)p Ft(')f(to)g(the)g(history)g(n)m(um)m(b)s(er)f(and)g(`)p
-Fs(!!)p Ft(')h(to)g(`)p Fs(!)p Ft(')h(are)330 1870 y(enabled,)26
+Fs(!!)p Ft(')h(to)g(`)p Fs(!)p Ft(')h(are)330 3120 y(enabled,)26
 b(and)f(parameter)g(expansion)g(is)g(p)s(erformed)e(on)i(the)g(v)-5
 b(alues)25 b(of)g Fs(PS1)f Ft(and)h Fs(PS2)f Ft(regardless)330
-1979 y(of)31 b(the)f(setting)i(of)e(the)h Fs(promptvars)c
-Ft(option.)199 2110 y(7.)61 b(The)30 b Fl(posix)g Ft(startup)f(\014les)
+3230 y(of)31 b(the)f(setting)i(of)e(the)h Fs(promptvars)c
+Ft(option.)199 3362 y(7.)61 b(The)30 b Fl(posix)g Ft(startup)f(\014les)
 i(are)g(executed)g(\()p Fs($ENV)p Ft(\))f(rather)g(than)g(the)h(normal)
-f(Bash)g(\014les.)199 2240 y(8.)61 b(Tilde)30 b(expansion)g(is)f(only)h
+f(Bash)g(\014les.)199 3494 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 2350 y(than)g(on)g(all)i(assignmen)m(t)f(statemen)m(ts)h
-(on)e(the)h(line.)199 2480 y(9.)61 b(The)30 b(default)g(history)h
+(rather)330 3603 y(than)g(on)g(all)i(assignmen)m(t)f(statemen)m(ts)h
+(on)e(the)h(line.)199 3735 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(\).)154
-2611 y(10.)61 b(The)23 b(output)f(of)i(`)p Fs(kill)29
+3868 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
+(single)g(line,)h(separated)e(b)m(y)g(spaces,)330 3977
 y(without)30 b(the)h(`)p Fs(SIG)p Ft(')f(pre\014x.)154
-2851 y(11.)61 b(The)30 b Fs(kill)f Ft(builtin)h(do)s(es)g(not)h(accept)
+4109 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(12.)61 b(Non-in)m(teractiv)m(e)34 b(shells)c(exit)h(if)g
+4241 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(13.)61 b(Non-in)m(teractiv)m(e)41
+Ft(is)31 b(not)f(found.)154 4373 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(14.)61 b(Redirection)25 b(op)s(erators)f(do)g
+(expansion)f(results)f(in)h(an)330 4483 y(in)m(v)-5 b(alid)31
+b(expression.)154 4615 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(15.)61 b(Redirection)31 b(op)s(erators)g(do)f
+(the)g(redirection)330 4725 y(unless)30 b(the)g(shell)h(is)f(in)m
+(teractiv)m(e.)154 4857 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(16.)61 b(F)-8 b(unction)35
+(the)g(redirection.)154 4989 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(digits,)h(and)d
+(c)m(haracters)330 5098 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)-5
+b(Declaring)330 5208 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(17.)61 b
+(non-in)m(teractiv)m(e)j(shells.)154 5340 y(17.)61 b
 Fl(posix)30 b Ft(sp)s(ecial)h(builtins)e(are)i(found)e(b)s(efore)h
-(shell)h(functions)f(during)f(command)h(lo)s(okup.)154
-4202 y(18.)61 b(If)24 b(a)g Fl(posix)g Ft(sp)s(ecial)h(builtin)f
-(returns)f(an)h(error)g(status,)i(a)e(non-in)m(teractiv)m(e)j(shell)e
-(exits.)39 b(The)24 b(fatal)330 4312 y(errors)i(are)h(those)f(listed)h
-(in)f(the)h(POSIX)e(standard,)i(and)f(include)g(things)g(lik)m(e)i
-(passing)e(incorrect)330 4422 y(options,)43 b(redirection)d(errors,)i
-(v)-5 b(ariable)41 b(assignmen)m(t)g(errors)e(for)g(assignmen)m(ts)i
-(preceding)f(the)330 4531 y(command)30 b(name,)h(and)f(so)g(on.)154
-4662 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
-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
-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
-Fs(cd)f Ft(exists)h(in)f(the)g(curren)m(t)g(directory)-8
-b(.)154 5121 y(20.)61 b(A)31 b(non-in)m(teractiv)m(e)j(shell)d(exits)h
+(shell)h(functions)f(during)f(command)h(lo)s(okup.)p
+eop end
+%%Page: 84 90
+TeXDict begin 84 89 bop 150 -116 a Ft(84)2572 b(Bash)31
+b(Reference)g(Man)m(ual)154 299 y(18.)61 b(If)24 b(a)g
+Fl(posix)g Ft(sp)s(ecial)h(builtin)f(returns)f(an)h(error)g(status,)i
+(a)e(non-in)m(teractiv)m(e)j(shell)e(exits.)39 b(The)24
+b(fatal)330 408 y(errors)i(are)h(those)f(listed)h(in)f(the)h(POSIX)e
+(standard,)i(and)f(include)g(things)g(lik)m(e)i(passing)e(incorrect)330
+518 y(options,)43 b(redirection)d(errors,)i(v)-5 b(ariable)41
+b(assignmen)m(t)g(errors)e(for)g(assignmen)m(ts)i(preceding)f(the)330
+628 y(command)30 b(name,)h(and)f(so)g(on.)154 763 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 873 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 982 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 1092 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 1227 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 5230 y(when)38
+b(assignmen)m(t)g(error)e(o)s(ccurs)330 1337 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
+1446 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
-%%Page: 84 90
-TeXDict begin 84 89 bop 150 -116 a Ft(84)2572 b(Bash)31
-b(Reference)g(Man)m(ual)154 299 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 408 y Ft(statemen)m(t)32
+b(ariable.)154 1582 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 1691 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 547 y(22.)61 b(Pro)s(cess)30 b(substitution)g(is)h(not)f
-(a)m(v)-5 b(ailable.)154 685 y(23.)61 b(Assignmen)m(t)23
+b(ariable.)154 1827 y(22.)61 b(Pro)s(cess)30 b(substitution)g(is)h(not)
+f(a)m(v)-5 b(ailable.)154 1962 y(23.)61 b(Assignmen)m(t)23
 b(statemen)m(ts)h(preceding)e Fl(posix)f Ft(sp)s(ecial)i(builtins)f(p)s
-(ersist)g(in)f(the)i(shell)f(en)m(vironmen)m(t)330 795
-y(after)31 b(the)f(builtin)g(completes.)154 933 y(24.)61
+(ersist)g(in)f(the)i(shell)f(en)m(vironmen)m(t)330 2072
+y(after)31 b(the)f(builtin)g(completes.)154 2207 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
-1043 y(after)d(the)f(function)h(returns,)e(as)i(if)f(a)h
+2317 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 1181 y(25.)61 b(The)38 b Fs(export)f Ft(and)g
+(executed.)154 2452 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 1291 y(quired)30 b(b)m(y)g Fl(posix)p
-Ft(.)154 1429 y(26.)61 b(The)30 b Fs(trap)f Ft(builtin)h(displa)m(ys)g
+g(the)h(format)g(re-)330 2562 y(quired)30 b(b)m(y)g Fl(posix)p
+Ft(.)154 2697 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 1568 y(27.)61 b(The)39 b Fs(trap)e Ft(builtin)i(do)s(esn't)g
+Ft(.)154 2832 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 1677 y(and)30 b(rev)m(ert)i(the)e
+(signal)i(sp)s(eci\014cation)330 2942 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 1787 y(consists)e(solely)g(of)g
+(is,)g(unless)f(that)h(argumen)m(t)330 3051 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
-1897 y(for)h(a)g(giv)m(en)h(signal)g(to)f(the)h(original)g(disp)s
+3161 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 2035 y(28.)61 b(The)21 b Fs(.)h Ft(and)f
+f(argumen)m(t.)154 3296 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
-2145 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 2283 y(29.)61 b(Subshells)20 b(spa)m(wned)h(to)h
+3406 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 3541 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
-2393 y(from)34 b(the)h(paren)m(t)g(shell.)55 b(When)34
+3651 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 2502 y(subshells.)154
-2641 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 2779
+Fs(-e)p Ft(')f(option)i(in)e(suc)m(h)330 3761 y(subshells.)154
+3896 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 4031
 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 2889 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 3027 y(32.)61
+330 4141 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 4276 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 3137 y(names)30 b(and)g(de\014nitions.)154
-3275 y(33.)61 b(When)36 b(the)g Fs(set)g Ft(builtin)g(is)g(in)m(v)m(ok)
+(function)330 4386 y(names)30 b(and)g(de\014nitions.)154
+4521 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 3385 y(quotes,)26 b(unless)d(they)i
+b(v)-5 b(alues)37 b(without)330 4631 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 3494 y(c)m(haracters.)154
-3633 y(34.)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 4740 y(c)m(haracters.)154
+4876 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 3742 y Fs($PWD)i Ft(and)h(the)h(directory)f
+(constructed)g(from)330 4985 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 3852 y(directory)-8 b(,)32 b Fs(cd)d
+(an)f(existing)330 5095 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 3990 y(35.)61 b(When)20
+Fq(ph)m(ysical)j Ft(mo)s(de.)154 5230 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 4100 y(no)30 b(symlinks.)154 4238
-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 4348 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 4486 y(37.)61 b(When)35 b(listing)g(the)g
+(con)m(taining)330 5340 y(no)30 b(symlinks.)p eop end
+%%Page: 85 91
+TeXDict begin 85 90 bop 150 -116 a Ft(Chapter)30 b(6:)41
+b(Bash)30 b(F)-8 b(eatures)2484 b(85)154 299 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 408 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 543 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 4596
+(include)g(an)f(indication)i(of)f(whether)f(or)330 653
 y(not)d(a)f(history)h(en)m(try)f(has)g(b)s(een)g(mo)s(di\014ed.)154
-4734 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 4873 y(39.)61 b(The)37
+787 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 922 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
-4982 y(found,)26 b(though)h(the)g(shell)g(will)g(attempt)h(to)g
+1031 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 5092 y(found)i(in)h Fs($PATH)p Ft(.)154
-5230 y(40.)61 b(The)33 b Fs(vi)f Ft(editing)i(mo)s(de)f(will)g(in)m(v)m
+g(\014le)330 1141 y(found)i(in)h Fs($PATH)p Ft(.)154
+1275 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 5340 y(instead)e(of)f(c)m(hec)m
-(king)i Fs($FCEDIT)d Ft(and)g Fs($EDITOR)p Ft(.)p eop
-end
-%%Page: 85 91
-TeXDict begin 85 90 bop 150 -116 a Ft(Chapter)30 b(6:)41
-b(Bash)30 b(F)-8 b(eatures)2484 b(85)154 299 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
-408 y(gumen)m(ts)35 b(to)g Fs(echo)e Ft(as)i(options.)54
+Fs(v)p Ft(')f(command)g(is)g(run,)330 1385 y(instead)e(of)f(c)m(hec)m
+(king)i Fs($FCEDIT)d Ft(and)g Fs($EDITOR)p Ft(.)154 1519
+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
+1629 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 518 y(con)m(v)m(erted.)275
-677 y(There)e(is)g(other)h Fl(posix)f Ft(b)s(eha)m(vior)h(that)g(Bash)g
-(do)s(es)f(not)h(implemen)m(t)g(b)m(y)g(default)f(ev)m(en)i(when)d(in)
-150 787 y Fl(posix)d Ft(mo)s(de.)40 b(Sp)s(eci\014cally:)199
-922 y(1.)61 b(The)30 b Fs(fc)f Ft(builtin)h(c)m(hec)m(ks)i
+g(c)m(haracters)h(are)330 1738 y(con)m(v)m(erted.)154
+1873 y(42.)61 b(The)30 b Fs(ulimit)f Ft(builtin)g(uses)h(a)h(blo)s(c)m
+(k)g(size)g(of)g(512)g(b)m(ytes)g(for)f(the)h(`)p Fs(-c)p
+Ft(')f(and)g(`)p Fs(-f)p Ft(')g(options.)275 2032 y(There)k(is)g(other)
+h Fl(posix)f Ft(b)s(eha)m(vior)h(that)g(Bash)g(do)s(es)f(not)h
+(implemen)m(t)g(b)m(y)g(default)f(ev)m(en)i(when)d(in)150
+2142 y Fl(posix)d Ft(mo)s(de.)40 b(Sp)s(eci\014cally:)199
+2276 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 1031 y(rather)g(than)g(defaulting)
+(if)f Fs(FCEDIT)f Ft(is)h(unset,)330 2386 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 1166 y(2.)61
+Fs(ed)g Ft(if)g Fs(EDITOR)f Ft(is)h(unset.)199 2521 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 1275 y(to)j(b)s(e)f(fully)g(conforman)m(t.)275
-1435 y(Bash)66 b(can)h(b)s(e)f(con\014gured)g(to)i(b)s(e)e
+Fs(echo)f Ft(builtin)330 2630 y(to)j(b)s(e)f(fully)g(conforman)m(t.)275
+2790 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 1544 y(`)p Fs(--enable-strict-posix-def)o
+b(sp)s(ecifying)h(the)150 2899 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 1654 y([Optional)31 b(F)-8 b(eatures],)32
+(Section)f(10.8)150 3009 y([Optional)31 b(F)-8 b(eatures],)32
 b(page)f(127\).)p eop end
 %%Page: 86 92
 TeXDict begin 86 91 bop 150 -116 a Ft(86)2572 b(Bash)31
@@ -10862,277 +10953,281 @@ b(Reference)g(Man)m(ual)p eop end
 %%Page: 87 93
 TeXDict begin 87 92 bop 150 -116 a Ft(Chapter)30 b(7:)41
 b(Job)30 b(Con)m(trol)2571 b(87)150 299 y Fo(7)80 b(Job)54
-b(Con)l(trol)275 516 y Ft(This)34 b(c)m(hapter)i(discusses)f(what)g
+b(Con)l(trol)275 550 y Ft(This)34 b(c)m(hapter)i(discusses)f(what)g
 (job)g(con)m(trol)i(is,)g(ho)m(w)e(it)h(w)m(orks,)h(and)e(ho)m(w)g
-(Bash)h(allo)m(ws)g(y)m(ou)g(to)150 625 y(access)c(its)e(facilities.)
-150 873 y Fr(7.1)68 b(Job)45 b(Con)l(trol)h(Basics)275
-1113 y Ft(Job)30 b(con)m(trol)j(refers)e(to)h(the)g(abilit)m(y)g(to)g
+(Bash)h(allo)m(ws)g(y)m(ou)g(to)150 660 y(access)c(its)e(facilities.)
+150 931 y Fr(7.1)68 b(Job)45 b(Con)l(trol)h(Basics)275
+1181 y Ft(Job)30 b(con)m(trol)j(refers)e(to)h(the)g(abilit)m(y)g(to)g
 (selectiv)m(ely)j(stop)c(\(susp)s(end\))f(the)h(execution)i(of)e(pro)s
-(cesses)150 1223 y(and)24 b(con)m(tin)m(ue)i(\(resume\))f(their)g
+(cesses)150 1290 y(and)24 b(con)m(tin)m(ue)i(\(resume\))f(their)g
 (execution)h(at)f(a)h(later)f(p)s(oin)m(t.)39 b(A)25
 b(user)f(t)m(ypically)j(emplo)m(ys)e(this)g(facilit)m(y)150
-1332 y(via)31 b(an)f(in)m(teractiv)m(e)j(in)m(terface)f(supplied)e
+1400 y(via)31 b(an)f(in)m(teractiv)m(e)j(in)m(terface)f(supplied)e
 (join)m(tly)h(b)m(y)f(the)h(system's)f(terminal)h(driv)m(er)f(and)g
-(Bash.)275 1464 y(The)23 b(shell)i(asso)s(ciates)h(a)f
+(Bash.)275 1540 y(The)23 b(shell)i(asso)s(ciates)h(a)f
 Fq(job)h Ft(with)e(eac)m(h)i(pip)s(eline.)38 b(It)25
 b(k)m(eeps)f(a)h(table)h(of)e(curren)m(tly)h(executing)g(jobs,)150
-1573 y(whic)m(h)33 b(ma)m(y)i(b)s(e)e(listed)h(with)f(the)h
+1650 y(whic)m(h)33 b(ma)m(y)i(b)s(e)e(listed)h(with)f(the)h
 Fs(jobs)f Ft(command.)50 b(When)33 b(Bash)h(starts)g(a)g(job)g(async)m
-(hronously)-8 b(,)34 b(it)150 1683 y(prin)m(ts)c(a)h(line)f(that)h(lo)s
-(oks)g(lik)m(e:)390 1814 y Fs([1])47 b(25647)150 1945
+(hronously)-8 b(,)34 b(it)150 1759 y(prin)m(ts)c(a)h(line)f(that)h(lo)s
+(oks)g(lik)m(e:)390 1899 y Fs([1])47 b(25647)150 2040
 y Ft(indicating)34 b(that)g(this)f(job)g(is)g(job)g(n)m(um)m(b)s(er)f
 (1)i(and)f(that)g(the)h(pro)s(cess)f Fl(id)g Ft(of)g(the)h(last)g(pro)s
-(cess)f(in)g(the)150 2054 y(pip)s(eline)42 b(asso)s(ciated)i(with)e
+(cess)f(in)g(the)150 2149 y(pip)s(eline)42 b(asso)s(ciated)i(with)e
 (this)g(job)g(is)h(25647.)78 b(All)43 b(of)g(the)g(pro)s(cesses)f(in)g
-(a)h(single)g(pip)s(eline)f(are)150 2164 y(mem)m(b)s(ers)30
+(a)h(single)g(pip)s(eline)f(are)150 2259 y(mem)m(b)s(ers)30
 b(of)g(the)h(same)f(job.)41 b(Bash)30 b(uses)g(the)h
 Fq(job)h Ft(abstraction)f(as)g(the)g(basis)f(for)g(job)g(con)m(trol.)
-275 2295 y(T)-8 b(o)23 b(facilitate)j(the)d(implemen)m(tation)i(of)f
+275 2399 y(T)-8 b(o)23 b(facilitate)j(the)d(implemen)m(tation)i(of)f
 (the)f(user)f(in)m(terface)j(to)f(job)f(con)m(trol,)j(the)d(op)s
-(erating)h(system)150 2405 y(main)m(tains)j(the)f(notion)h(of)f(a)g
+(erating)h(system)150 2509 y(main)m(tains)j(the)f(notion)h(of)f(a)g
 (curren)m(t)g(terminal)g(pro)s(cess)g(group)g Fl(id)p
 Ft(.)39 b(Mem)m(b)s(ers)26 b(of)g(this)g(pro)s(cess)f(group)150
-2514 y(\(pro)s(cesses)h(whose)g(pro)s(cess)g(group)g
+2618 y(\(pro)s(cesses)h(whose)g(pro)s(cess)g(group)g
 Fl(id)g Ft(is)h(equal)g(to)g(the)f(curren)m(t)g(terminal)h(pro)s(cess)f
-(group)f Fl(id)p Ft(\))i(receiv)m(e)150 2624 y(k)m(eyb)s
+(group)f Fl(id)p Ft(\))i(receiv)m(e)150 2728 y(k)m(eyb)s
 (oard-generated)22 b(signals)g(suc)m(h)e(as)h Fs(SIGINT)p
 Ft(.)36 b(These)21 b(pro)s(cesses)g(are)g(said)g(to)g(b)s(e)g(in)f(the)
-h(foreground.)150 2733 y(Bac)m(kground)38 b(pro)s(cesses)f(are)h(those)
+h(foreground.)150 2837 y(Bac)m(kground)38 b(pro)s(cesses)f(are)h(those)
 g(whose)f(pro)s(cess)g(group)g Fl(id)h Ft(di\013ers)f(from)g(the)g
-(terminal's;)42 b(suc)m(h)150 2843 y(pro)s(cesses)24
+(terminal's;)42 b(suc)m(h)150 2947 y(pro)s(cesses)24
 b(are)g(imm)m(une)g(to)g(k)m(eyb)s(oard-generated)h(signals.)40
 b(Only)23 b(foreground)g(pro)s(cesses)h(are)g(allo)m(w)m(ed)150
-2953 y(to)35 b(read)f(from)f(or)h(write)g(to)h(the)f(terminal.)52
+3057 y(to)35 b(read)f(from)f(or)h(write)g(to)h(the)f(terminal.)52
 b(Bac)m(kground)34 b(pro)s(cesses)g(whic)m(h)g(attempt)h(to)g(read)e
-(from)150 3062 y(\(write)e(to\))g(the)g(terminal)g(are)g(sen)m(t)g(a)f
+(from)150 3166 y(\(write)e(to\))g(the)g(terminal)g(are)g(sen)m(t)g(a)f
 Fs(SIGTTIN)f Ft(\()p Fs(SIGTTOU)p Ft(\))g(signal)i(b)m(y)f(the)h
-(terminal)g(driv)m(er,)f(whic)m(h,)150 3172 y(unless)g(caugh)m(t,)h
-(susp)s(ends)d(the)j(pro)s(cess.)275 3303 y(If)j(the)i(op)s(erating)g
+(terminal)g(driv)m(er,)f(whic)m(h,)150 3276 y(unless)g(caugh)m(t,)h
+(susp)s(ends)d(the)j(pro)s(cess.)275 3416 y(If)j(the)i(op)s(erating)g
 (system)f(on)h(whic)m(h)f(Bash)g(is)h(running)d(supp)s(orts)h(job)h
-(con)m(trol,)j(Bash)e(con)m(tains)150 3412 y(facilities)30
+(con)m(trol,)j(Bash)e(con)m(tains)150 3525 y(facilities)30
 b(to)f(use)f(it.)40 b(T)m(yping)28 b(the)g Fq(susp)s(end)h
 Ft(c)m(haracter)h(\(t)m(ypically)g(`)p Fs(^Z)p Ft(',)f(Con)m(trol-Z\))g
-(while)f(a)g(pro)s(cess)150 3522 y(is)42 b(running)f(causes)i(that)g
+(while)f(a)g(pro)s(cess)150 3635 y(is)42 b(running)f(causes)i(that)g
 (pro)s(cess)f(to)h(b)s(e)f(stopp)s(ed)f(and)h(returns)f(con)m(trol)j
-(to)f(Bash.)77 b(T)m(yping)42 b(the)150 3632 y Fq(dela)m(y)m(ed)k(susp)
+(to)f(Bash.)77 b(T)m(yping)42 b(the)150 3745 y Fq(dela)m(y)m(ed)k(susp)
 s(end)f Ft(c)m(haracter)h(\(t)m(ypically)g(`)p Fs(^Y)p
 Ft(',)i(Con)m(trol-Y\))e(causes)e(the)h(pro)s(cess)e(to)i(b)s(e)f
-(stopp)s(ed)150 3741 y(when)26 b(it)i(attempts)h(to)f(read)f(input)g
+(stopp)s(ed)150 3854 y(when)26 b(it)i(attempts)h(to)f(read)f(input)g
 (from)f(the)i(terminal,)h(and)e(con)m(trol)h(to)g(b)s(e)f(returned)f
-(to)j(Bash.)39 b(The)150 3851 y(user)e(then)g(manipulates)h(the)g
+(to)j(Bash.)39 b(The)150 3964 y(user)e(then)g(manipulates)h(the)g
 (state)h(of)f(this)f(job,)j(using)d(the)h Fs(bg)f Ft(command)g(to)h
-(con)m(tin)m(ue)h(it)f(in)g(the)150 3960 y(bac)m(kground,)g(the)f
+(con)m(tin)m(ue)h(it)f(in)g(the)150 4073 y(bac)m(kground,)g(the)f
 Fs(fg)g Ft(command)f(to)i(con)m(tin)m(ue)g(it)f(in)f(the)h(foreground,)
-h(or)f(the)g Fs(kill)f Ft(command)g(to)150 4070 y(kill)27
+h(or)f(the)g Fs(kill)f Ft(command)g(to)150 4183 y(kill)27
 b(it.)40 b(A)27 b(`)p Fs(^Z)p Ft(')g(tak)m(es)h(e\013ect)g(immediately)
 -8 b(,)29 b(and)d(has)h(the)f(additional)i(side)e(e\013ect)j(of)d
-(causing)h(p)s(ending)150 4180 y(output)j(and)g(t)m(yp)s(eahead)h(to)g
-(b)s(e)e(discarded.)275 4311 y(There)j(are)g(a)h(n)m(um)m(b)s(er)e(of)i
+(causing)h(p)s(ending)150 4293 y(output)j(and)g(t)m(yp)s(eahead)h(to)g
+(b)s(e)e(discarded.)275 4433 y(There)j(are)g(a)h(n)m(um)m(b)s(er)e(of)i
 (w)m(a)m(ys)g(to)h(refer)e(to)h(a)g(job)f(in)g(the)h(shell.)47
 b(The)32 b(c)m(haracter)i(`)p Fs(\045)p Ft(')f(in)m(tro)s(duces)150
-4420 y(a)e(job)f(name.)275 4551 y(Job)h(n)m(um)m(b)s(er)f
+4542 y(a)e(job)f(name.)275 4682 y(Job)h(n)m(um)m(b)s(er)f
 Fs(n)h Ft(ma)m(y)h(b)s(e)f(referred)g(to)h(as)g(`)p Fs(\045n)p
 Ft('.)44 b(The)31 b(sym)m(b)s(ols)g(`)p Fs(\045\045)p
 Ft(')h(and)f(`)p Fs(\045+)p Ft(')g(refer)h(to)g(the)g(shell's)150
-4661 y(notion)k(of)f(the)g(curren)m(t)g(job,)h(whic)m(h)f(is)g(the)g
+4792 y(notion)k(of)f(the)g(curren)m(t)g(job,)h(whic)m(h)f(is)g(the)g
 (last)h(job)f(stopp)s(ed)f(while)h(it)h(w)m(as)g(in)e(the)i(foreground)
-e(or)150 4771 y(started)27 b(in)g(the)g(bac)m(kground.)40
+e(or)150 4902 y(started)27 b(in)g(the)g(bac)m(kground.)40
 b(A)27 b(single)g(`)p Fs(\045)p Ft(')g(\(with)g(no)g(accompan)m(ying)i
-(job)d(sp)s(eci\014cation\))i(also)g(refers)150 4880
-y(to)j(the)e(curren)m(t)h(job.)40 b(The)30 b(previous)f(job)g(ma)m(y)i
-(b)s(e)e(referenced)h(using)f(`)p Fs(\045-)p Ft('.)40
-b(In)29 b(output)h(p)s(ertaining)f(to)150 4990 y(jobs)k(\(e.g.,)j(the)d
-(output)g(of)h(the)f Fs(jobs)f Ft(command\),)j(the)e(curren)m(t)h(job)f
-(is)g(alw)m(a)m(ys)i(\015agged)f(with)f(a)h(`)p Fs(+)p
-Ft(',)150 5099 y(and)c(the)g(previous)g(job)g(with)g(a)h(`)p
-Fs(-)p Ft('.)275 5230 y(A)38 b(job)g(ma)m(y)h(also)g(b)s(e)f(referred)f
-(to)j(using)d(a)i(pre\014x)e(of)i(the)f(name)h(used)e(to)i(start)g(it,)
-i(or)e(using)f(a)150 5340 y(substring)29 b(that)i(app)s(ears)f(in)g
-(its)h(command)f(line.)41 b(F)-8 b(or)31 b(example,)g(`)p
-Fs(\045ce)p Ft(')f(refers)g(to)h(a)g(stopp)s(ed)e Fs(ce)h
-Ft(job.)p eop end
+(job)d(sp)s(eci\014cation\))i(also)g(refers)150 5011
+y(to)k(the)e(curren)m(t)h(job.)42 b(The)30 b(previous)g(job)h(ma)m(y)g
+(b)s(e)f(referenced)h(using)f(`)p Fs(\045-)p Ft('.)42
+b(If)30 b(there)h(is)g(only)g(a)g(single)150 5121 y(job,)g(`)p
+Fs(\045+)p Ft(')g(and)f(`)p Fs(\045-)p Ft(')h(can)h(b)s(oth)e(b)s(e)g
+(used)h(to)g(refer)g(to)h(that)g(job.)42 b(In)30 b(output)h(p)s
+(ertaining)g(to)g(jobs)g(\(e.g.,)150 5230 y(the)39 b(output)f(of)g(the)
+h Fs(jobs)e Ft(command\),)k(the)d(curren)m(t)h(job)f(is)g(alw)m(a)m(ys)
+i(\015agged)f(with)f(a)h(`)p Fs(+)p Ft(',)i(and)d(the)150
+5340 y(previous)30 b(job)g(with)g(a)h(`)p Fs(-)p Ft('.)p
+eop end
 %%Page: 88 94
 TeXDict begin 88 93 bop 150 -116 a Ft(88)2572 b(Bash)31
-b(Reference)g(Man)m(ual)150 299 y(Using)c(`)p Fs(\045?ce)p
+b(Reference)g(Man)m(ual)275 299 y(A)38 b(job)g(ma)m(y)h(also)g(b)s(e)f
+(referred)f(to)j(using)d(a)i(pre\014x)e(of)i(the)f(name)h(used)e(to)i
+(start)g(it,)i(or)e(using)f(a)150 408 y(substring)29
+b(that)i(app)s(ears)f(in)g(its)h(command)f(line.)41 b(F)-8
+b(or)31 b(example,)g(`)p Fs(\045ce)p Ft(')f(refers)g(to)h(a)g(stopp)s
+(ed)e Fs(ce)h Ft(job.)150 518 y(Using)d(`)p Fs(\045?ce)p
 Ft(',)g(on)f(the)h(other)g(hand,)g(refers)f(to)h(an)m(y)g(job)g(con)m
 (taining)h(the)f(string)f(`)p Fs(ce)p Ft(')h(in)f(its)h(command)150
-408 y(line.)41 b(If)30 b(the)h(pre\014x)e(or)h(substring)f(matc)m(hes)j
+628 y(line.)41 b(If)30 b(the)h(pre\014x)e(or)h(substring)f(matc)m(hes)j
 (more)e(than)h(one)f(job,)h(Bash)f(rep)s(orts)g(an)g(error.)275
-541 y(Simply)g(naming)h(a)g(job)g(can)g(b)s(e)f(used)h(to)g(bring)f(it)
+767 y(Simply)g(naming)h(a)g(job)g(can)g(b)s(e)f(used)h(to)g(bring)f(it)
 i(in)m(to)g(the)f(foreground:)41 b(`)p Fs(\0451)p Ft(')31
-b(is)g(a)h(synon)m(ym)e(for)150 651 y(`)p Fs(fg)g(\0451)p
+b(is)g(a)h(synon)m(ym)e(for)150 876 y(`)p Fs(fg)g(\0451)p
 Ft(',)i(bringing)f(job)g(1)g(from)g(the)h(bac)m(kground)f(in)m(to)i
 (the)e(foreground.)44 b(Similarly)-8 b(,)32 b(`)p Fs(\0451)e(&)p
-Ft(')i(resumes)150 761 y(job)e(1)h(in)f(the)g(bac)m(kground,)h(equiv)-5
-b(alen)m(t)32 b(to)f(`)p Fs(bg)f(\0451)p Ft(')275 894
+Ft(')i(resumes)150 986 y(job)e(1)h(in)f(the)g(bac)m(kground,)h(equiv)-5
+b(alen)m(t)32 b(to)f(`)p Fs(bg)f(\0451)p Ft(')275 1125
 y(The)g(shell)i(learns)f(immediately)i(whenev)m(er)e(a)h(job)f(c)m
 (hanges)h(state.)45 b(Normally)-8 b(,)33 b(Bash)e(w)m(aits)i(un)m(til)
-150 1003 y(it)25 b(is)g(ab)s(out)f(to)i(prin)m(t)e(a)h(prompt)f(b)s
+150 1235 y(it)25 b(is)g(ab)s(out)f(to)i(prin)m(t)e(a)h(prompt)f(b)s
 (efore)g(rep)s(orting)h(c)m(hanges)g(in)g(a)g(job's)f(status)h(so)g(as)
-g(to)g(not)g(in)m(terrupt)150 1113 y(an)m(y)g(other)g(output.)39
+g(to)g(not)g(in)m(terrupt)150 1344 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 1222 y(immediately)g(\(see)g(Section)g(4.3.1)g([The)f(Set)g
+(hanges)150 1454 y(immediately)g(\(see)g(Section)g(4.3.1)g([The)f(Set)g
 (Builtin],)i(page)f(50\).)40 b(An)m(y)24 b(trap)f(on)h
-Fs(SIGCHLD)e Ft(is)i(executed)150 1332 y(for)30 b(eac)m(h)i(c)m(hild)e
-(pro)s(cess)g(that)h(exits.)275 1465 y(If)25 b(an)h(attempt)h(to)g
+Fs(SIGCHLD)e Ft(is)i(executed)150 1564 y(for)30 b(eac)m(h)i(c)m(hild)e
+(pro)s(cess)g(that)h(exits.)275 1703 y(If)25 b(an)h(attempt)h(to)g
 (exit)g(Bash)f(is)h(made)f(while)g(jobs)f(are)i(stopp)s(ed,)f(\(or)h
-(running,)e(if)h(the)g Fs(checkjobs)150 1574 y Ft(option)e(is)f
+(running,)e(if)h(the)g Fs(checkjobs)150 1812 y Ft(option)e(is)f
 (enabled)h({)g(see)g(Section)g(4.3.2)h([The)e(Shopt)g(Builtin],)j(page)
 e(54\),)i(the)e(shell)f(prin)m(ts)g(a)h(w)m(arning)150
-1684 y(message,)k(and)c(if)i(the)f Fs(checkjobs)e Ft(option)j(is)f
+1922 y(message,)k(and)c(if)i(the)f Fs(checkjobs)e Ft(option)j(is)f
 (enabled,)i(lists)e(the)h(jobs)f(and)f(their)i(statuses.)39
-b(The)25 b Fs(jobs)150 1794 y Ft(command)36 b(ma)m(y)h(then)f(b)s(e)f
+b(The)25 b Fs(jobs)150 2032 y Ft(command)36 b(ma)m(y)h(then)f(b)s(e)f
 (used)g(to)i(insp)s(ect)f(their)g(status.)59 b(If)36
-b(a)g(second)g(attempt)i(to)f(exit)g(is)f(made)150 1903
+b(a)g(second)g(attempt)i(to)f(exit)g(is)f(made)150 2141
 y(without)e(an)f(in)m(terv)m(ening)i(command,)f(Bash)g(do)s(es)f(not)h
 (prin)m(t)g(another)f(w)m(arning,)i(and)e(an)m(y)h(stopp)s(ed)150
-2013 y(jobs)c(are)h(terminated.)150 2266 y Fr(7.2)68
-b(Job)45 b(Con)l(trol)h(Builtins)150 2508 y Fs(bg)870
-2641 y(bg)h([)p Fj(jobspec)56 b Fs(...)o(])630 2774 y
+2251 y(jobs)c(are)h(terminated.)150 2520 y Fr(7.2)68
+b(Job)45 b(Con)l(trol)h(Builtins)150 2766 y Fs(bg)870
+2903 y(bg)h([)p Fj(jobspec)56 b Fs(...)o(])630 3040 y
 Ft(Resume)24 b(eac)m(h)h(susp)s(ended)d(job)i Fq(jobsp)s(ec)29
 b Ft(in)24 b(the)g(bac)m(kground,)h(as)g(if)f(it)h(had)e(b)s(een)g
-(started)630 2884 y(with)32 b(`)p Fs(&)p Ft('.)45 b(If)31
+(started)630 3150 y(with)32 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 2993
+(job)f(is)h(used.)45 b(The)31 b(return)g(status)630 3259
 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 3103
+(not)g(enabled,)h(or,)f(when)f(run)f(with)h(job)630 3369
 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 3212 y(without)e(job)g(con)m(trol.)150
-3369 y Fs(fg)870 3502 y(fg)47 b([)p Fj(jobspec)11 b Fs(])630
-3635 y Ft(Resume)43 b(the)g(job)g Fq(jobsp)s(ec)48 b
+(as)g(started)630 3478 y(without)e(job)g(con)m(trol.)150
+3643 y Fs(fg)870 3779 y(fg)47 b([)p Fj(jobspec)11 b Fs(])630
+3916 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 3744 y Fq(jobsp)s(ec)41 b Ft(is)c(not)f(supplied,)h
+(job.)78 b(If)630 4026 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 3854 y(the)d(command)g(placed)h(in)m(to)g(the)f
+(is)h(that)g(of)630 4136 y(the)d(command)g(placed)h(in)m(to)g(the)f
 (foreground,)g(or)g(non-zero)h(if)f(run)f(when)g(job)g(con)m(trol)630
-3964 y(is)i(disabled)g(or,)i(when)d(run)g(with)h(job)g(con)m(trol)h
+4245 y(is)i(disabled)g(or,)i(when)d(run)g(with)h(job)g(con)m(trol)h
 (enabled,)h Fq(jobsp)s(ec)j Ft(do)s(es)35 b(not)h(sp)s(ecify)f(a)630
-4073 y(v)-5 b(alid)31 b(job)f(or)g Fq(jobsp)s(ec)35 b
+4355 y(v)-5 b(alid)31 b(job)f(or)g Fq(jobsp)s(ec)35 b
 Ft(sp)s(eci\014es)30 b(a)h(job)f(that)h(w)m(as)g(started)g(without)f
-(job)g(con)m(trol.)150 4229 y Fs(jobs)870 4362 y(jobs)47
-b([-lnprs])e([)p Fj(jobspec)11 b Fs(])870 4472 y(jobs)47
+(job)g(con)m(trol.)150 4519 y Fs(jobs)870 4656 y(jobs)47
+b([-lnprs])e([)p Fj(jobspec)11 b Fs(])870 4765 y(jobs)47
 b(-x)g Fj(command)56 b Fs([)p Fj(arguments)11 b Fs(])630
-4605 y Ft(The)30 b(\014rst)f(form)h(lists)h(the)g(activ)m(e)h(jobs.)41
+4902 y Ft(The)30 b(\014rst)f(form)h(lists)h(the)g(activ)m(e)h(jobs.)41
 b(The)30 b(options)g(ha)m(v)m(e)i(the)e(follo)m(wing)i(meanings:)630
-4761 y Fs(-l)384 b Ft(List)31 b(pro)s(cess)f Fl(id)p
+5066 y Fs(-l)384 b Ft(List)31 b(pro)s(cess)f Fl(id)p
 Ft(s)g(in)g(addition)h(to)g(the)f(normal)h(information.)630
-4918 y Fs(-n)384 b Ft(Displa)m(y)26 b(information)f(only)h(ab)s(out)e
+5230 y Fs(-n)384 b Ft(Displa)m(y)26 b(information)f(only)h(ab)s(out)e
 (jobs)h(that)g(ha)m(v)m(e)i(c)m(hanged)e(status)h(since)1110
-5027 y(the)31 b(user)e(w)m(as)i(last)g(noti\014ed)f(of)h(their)f
-(status.)630 5184 y Fs(-p)384 b Ft(List)31 b(only)f(the)h(pro)s(cess)f
-Fl(id)g Ft(of)h(the)f(job's)g(pro)s(cess)g(group)g(leader.)630
-5340 y Fs(-r)384 b Ft(Restrict)31 b(output)f(to)i(running)c(jobs.)p
-eop end
+5340 y(the)31 b(user)e(w)m(as)i(last)g(noti\014ed)f(of)h(their)f
+(status.)p eop end
 %%Page: 89 95
 TeXDict begin 89 94 bop 150 -116 a Ft(Chapter)30 b(7:)41
-b(Job)30 b(Con)m(trol)2571 b(89)630 299 y Fs(-s)384 b
+b(Job)30 b(Con)m(trol)2571 b(89)630 299 y Fs(-p)384 b
+Ft(List)31 b(only)f(the)h(pro)s(cess)f Fl(id)g Ft(of)h(the)f(job's)g
+(pro)s(cess)g(group)g(leader.)630 447 y Fs(-r)384 b Ft(Restrict)31
+b(output)f(to)i(running)c(jobs.)630 594 y Fs(-s)384 b
 Ft(Restrict)31 b(output)f(to)i(stopp)s(ed)d(jobs.)630
-461 y(If)23 b Fq(jobsp)s(ec)28 b Ft(is)c(giv)m(en,)i(output)d(is)h
+742 y(If)23 b Fq(jobsp)s(ec)28 b Ft(is)c(giv)m(en,)i(output)d(is)h
 (restricted)g(to)g(information)g(ab)s(out)f(that)h(job.)39
-b(If)23 b Fq(jobsp)s(ec)630 570 y Ft(is)30 b(not)h(supplied,)e(the)i
-(status)g(of)f(all)h(jobs)f(is)h(listed.)630 706 y(If)g(the)g(`)p
+b(If)23 b Fq(jobsp)s(ec)630 852 y Ft(is)30 b(not)h(supplied,)e(the)i
+(status)g(of)f(all)h(jobs)f(is)h(listed.)630 980 y(If)g(the)g(`)p
 Fs(-x)p Ft(')g(option)h(is)f(supplied,)g Fs(jobs)f Ft(replaces)i(an)m
 (y)f Fq(jobsp)s(ec)37 b Ft(found)29 b(in)i Fq(command)k
-Ft(or)630 815 y Fq(argumen)m(ts)41 b Ft(with)c(the)h(corresp)s(onding)e
-(pro)s(cess)h(group)f Fl(id)p Ft(,)k(and)c(executes)j
-Fq(command)p Ft(,)630 925 y(passing)30 b(it)h Fq(argumen)m(t)r
-Ft(s,)g(returning)f(its)g(exit)i(status.)150 1087 y Fs(kill)870
-1222 y(kill)47 b([-s)g Fj(sigspec)11 b Fs(])45 b([-n)i
+Ft(or)630 1090 y Fq(argumen)m(ts)41 b Ft(with)c(the)h(corresp)s(onding)
+e(pro)s(cess)h(group)f Fl(id)p Ft(,)k(and)c(executes)j
+Fq(command)p Ft(,)630 1199 y(passing)30 b(it)h Fq(argumen)m(t)r
+Ft(s,)g(returning)f(its)g(exit)i(status.)150 1347 y Fs(kill)870
+1476 y(kill)47 b([-s)g Fj(sigspec)11 b Fs(])45 b([-n)i
 Fj(signum)11 b Fs(])45 b([-)p Fj(sigspec)11 b Fs(])44
-b Fj(jobspec)57 b Fs(or)47 b Fj(pid)870 1332 y Fs(kill)g(-l)g([)p
-Fj(exit_status)11 b Fs(])630 1467 y Ft(Send)22 b(a)i(signal)g(sp)s
+b Fj(jobspec)57 b Fs(or)47 b Fj(pid)870 1585 y Fs(kill)g(-l)g([)p
+Fj(exit_status)11 b Fs(])630 1714 y Ft(Send)22 b(a)i(signal)g(sp)s
 (eci\014ed)f(b)m(y)g Fq(sigsp)s(ec)29 b Ft(or)24 b Fq(sign)m(um)f
 Ft(to)h(the)g(pro)s(cess)f(named)g(b)m(y)g(job)g(sp)s(eci\014-)630
-1577 y(cation)k Fq(jobsp)s(ec)j Ft(or)25 b(pro)s(cess)g
+1824 y(cation)k Fq(jobsp)s(ec)j Ft(or)25 b(pro)s(cess)g
 Fl(id)h Fq(pid)p Ft(.)38 b Fq(sigsp)s(ec)31 b Ft(is)25
 b(either)h(a)g(case-insensitiv)m(e)i(signal)e(name)630
-1687 y(suc)m(h)k(as)h Fs(SIGINT)d Ft(\(with)j(or)f(without)h(the)f
+1933 y(suc)m(h)k(as)h Fs(SIGINT)d Ft(\(with)j(or)f(without)h(the)f
 Fs(SIG)g Ft(pre\014x\))f(or)i(a)f(signal)h(n)m(um)m(b)s(er;)f
-Fq(sign)m(um)g Ft(is)630 1796 y(a)i(signal)g(n)m(um)m(b)s(er.)43
+Fq(sign)m(um)g Ft(is)630 2043 y(a)i(signal)g(n)m(um)m(b)s(er.)43
 b(If)31 b Fq(sigsp)s(ec)37 b Ft(and)31 b Fq(sign)m(um)g
 Ft(are)h(not)f(presen)m(t,)h Fs(SIGTERM)e Ft(is)h(used.)43
-b(The)630 1906 y(`)p Fs(-l)p Ft(')34 b(option)g(lists)h(the)f(signal)h
+b(The)630 2152 y(`)p Fs(-l)p Ft(')34 b(option)g(lists)h(the)f(signal)h
 (names.)51 b(If)33 b(an)m(y)i(argumen)m(ts)f(are)g(supplied)f(when)g(`)
-p Fs(-l)p Ft(')h(is)630 2015 y(giv)m(en,)e(the)g(names)e(of)i(the)f
+p Fs(-l)p Ft(')h(is)630 2262 y(giv)m(en,)e(the)g(names)e(of)i(the)f
 (signals)g(corresp)s(onding)f(to)i(the)f(argumen)m(ts)g(are)h(listed,)g
-(and)630 2125 y(the)c(return)f(status)h(is)g(zero.)41
-b Fq(exit)p 1796 2125 28 4 v 41 w(status)32 b Ft(is)c(a)g(n)m(um)m(b)s
+(and)630 2372 y(the)c(return)f(status)h(is)g(zero.)41
+b Fq(exit)p 1796 2372 28 4 v 41 w(status)32 b Ft(is)c(a)g(n)m(um)m(b)s
 (er)f(sp)s(ecifying)g(a)i(signal)f(n)m(um)m(b)s(er)f(or)630
-2235 y(the)35 b(exit)h(status)f(of)g(a)g(pro)s(cess)g(terminated)g(b)m
+2481 y(the)35 b(exit)h(status)f(of)g(a)g(pro)s(cess)g(terminated)g(b)m
 (y)g(a)g(signal.)55 b(The)34 b(return)g(status)h(is)g(zero)630
-2344 y(if)c(at)h(least)g(one)g(signal)f(w)m(as)h(successfully)f(sen)m
+2591 y(if)c(at)h(least)g(one)g(signal)f(w)m(as)h(successfully)f(sen)m
 (t,)h(or)f(non-zero)h(if)f(an)g(error)f(o)s(ccurs)h(or)g(an)630
-2454 y(in)m(v)-5 b(alid)31 b(option)g(is)f(encoun)m(tered.)150
-2615 y Fs(wait)870 2751 y(wait)47 b([)p Fj(jobspec)56
-b Fs(or)47 b Fj(pid)57 b Fs(...])630 2887 y Ft(W)-8 b(ait)28
+2700 y(in)m(v)-5 b(alid)31 b(option)g(is)f(encoun)m(tered.)150
+2848 y Fs(wait)870 2977 y(wait)47 b([)p Fj(jobspec)56
+b Fs(or)47 b Fj(pid)57 b Fs(...])630 3105 y Ft(W)-8 b(ait)28
 b(un)m(til)f(the)f(c)m(hild)h(pro)s(cess)f(sp)s(eci\014ed)g(b)m(y)g
 (eac)m(h)h(pro)s(cess)f Fl(id)h Fq(pid)i Ft(or)d(job)g(sp)s
-(eci\014cation)630 2996 y Fq(jobsp)s(ec)40 b Ft(exits)35
+(eci\014cation)630 3215 y Fq(jobsp)s(ec)40 b Ft(exits)35
 b(and)f(return)g(the)g(exit)i(status)f(of)g(the)g(last)g(command)f(w)m
-(aited)i(for.)53 b(If)35 b(a)630 3106 y(job)g(sp)s(ec)f(is)h(giv)m(en,)
+(aited)i(for.)53 b(If)35 b(a)630 3324 y(job)g(sp)s(ec)f(is)h(giv)m(en,)
 i(all)f(pro)s(cesses)f(in)f(the)h(job)g(are)g(w)m(aited)h(for.)54
-b(If)35 b(no)f(argumen)m(ts)i(are)630 3215 y(giv)m(en,)d(all)f(curren)m
+b(If)35 b(no)f(argumen)m(ts)i(are)630 3434 y(giv)m(en,)d(all)f(curren)m
 (tly)f(activ)m(e)i(c)m(hild)f(pro)s(cesses)f(are)g(w)m(aited)h(for,)g
-(and)e(the)i(return)e(status)630 3325 y(is)h(zero.)44
+(and)e(the)i(return)e(status)630 3544 y(is)h(zero.)44
 b(If)30 b(neither)h Fq(jobsp)s(ec)36 b Ft(nor)31 b Fq(pid)i
 Ft(sp)s(eci\014es)e(an)g(activ)m(e)i(c)m(hild)f(pro)s(cess)e(of)h(the)g
-(shell,)630 3435 y(the)g(return)e(status)i(is)f(127.)150
-3596 y Fs(disown)870 3732 y(disown)46 b([-ar])g([-h])h([)p
-Fj(jobspec)56 b Fs(...)o(])630 3868 y Ft(Without)32 b(options,)g(eac)m
+(shell,)630 3653 y(the)g(return)e(status)i(is)f(127.)150
+3801 y Fs(disown)870 3930 y(disown)46 b([-ar])g([-h])h([)p
+Fj(jobspec)56 b Fs(...)o(])630 4058 y Ft(Without)32 b(options,)g(eac)m
 (h)h Fq(jobsp)s(ec)j Ft(is)c(remo)m(v)m(ed)g(from)f(the)h(table)g(of)g
-(activ)m(e)h(jobs.)44 b(If)31 b(the)630 3977 y(`)p Fs(-h)p
+(activ)m(e)h(jobs.)44 b(If)31 b(the)630 4168 y(`)p Fs(-h)p
 Ft(')36 b(option)h(is)g(giv)m(en,)i(the)e(job)f(is)h(not)f(remo)m(v)m
 (ed)i(from)e(the)h(table,)i(but)d(is)g(mark)m(ed)h(so)630
-4087 y(that)d Fs(SIGHUP)d Ft(is)j(not)f(sen)m(t)h(to)g(the)f(job)g(if)g
+4277 y(that)d Fs(SIGHUP)d Ft(is)j(not)f(sen)m(t)h(to)g(the)f(job)g(if)g
 (the)h(shell)f(receiv)m(es)i(a)f Fs(SIGHUP)p Ft(.)47
-b(If)33 b Fq(jobsp)s(ec)38 b Ft(is)630 4196 y(not)32
+b(If)33 b Fq(jobsp)s(ec)38 b Ft(is)630 4387 y(not)32
 b(presen)m(t,)f(and)g(neither)h(the)f(`)p Fs(-a)p Ft(')g(nor)g(`)p
 Fs(-r)p Ft(')g(option)h(is)g(supplied,)e(the)i(curren)m(t)f(job)g(is)
-630 4306 y(used.)58 b(If)36 b(no)g Fq(jobsp)s(ec)41 b
+630 4497 y(used.)58 b(If)36 b(no)g Fq(jobsp)s(ec)41 b
 Ft(is)36 b(supplied,)h(the)g(`)p Fs(-a)p Ft(')f(option)h(means)f(to)h
-(remo)m(v)m(e)h(or)e(mark)g(all)630 4415 y(jobs;)28 b(the)f(`)p
+(remo)m(v)m(e)h(or)e(mark)g(all)630 4606 y(jobs;)28 b(the)f(`)p
 Fs(-r)p Ft(')g(option)g(without)g(a)g Fq(jobsp)s(ec)32
 b Ft(argumen)m(t)27 b(restricts)h(op)s(eration)f(to)h(running)630
-4525 y(jobs.)150 4687 y Fs(suspend)870 4822 y(suspend)46
-b([-f])630 4958 y Ft(Susp)s(end)28 b(the)i(execution)i(of)f(this)f
-(shell)g(un)m(til)h(it)g(receiv)m(es)h(a)f Fs(SIGCONT)e
-Ft(signal.)41 b(The)30 b(`)p Fs(-f)p Ft(')630 5068 y(option)h(means)f
-(to)h(susp)s(end)d(ev)m(en)j(if)g(the)f(shell)h(is)f(a)h(login)g
-(shell.)275 5230 y(When)f(job)f(con)m(trol)j(is)e(not)h(activ)m(e,)i
-(the)d Fs(kill)f Ft(and)h Fs(wait)f Ft(builtins)g(do)h(not)h(accept)h
-Fq(jobsp)s(ec)j Ft(argu-)150 5340 y(men)m(ts.)41 b(They)30
-b(m)m(ust)g(b)s(e)g(supplied)f(pro)s(cess)h Fl(id)p Ft(s.)p
-eop end
+4716 y(jobs.)150 4863 y Fs(suspend)870 4992 y(suspend)46
+b([-f])630 5121 y Ft(Susp)s(end)31 b(the)i(execution)h(of)g(this)f
+(shell)g(un)m(til)h(it)g(receiv)m(es)h(a)e Fs(SIGCONT)f
+Ft(signal.)50 b(A)33 b(login)630 5230 y(shell)24 b(cannot)h(b)s(e)e
+(susp)s(ended;)h(the)g(`)p Fs(-f)p Ft(')g(option)g(can)h(b)s(e)e(used)g
+(to)i(o)m(v)m(erride)g(this)f(and)f(force)630 5340 y(the)31
+b(susp)s(ension.)p eop end
 %%Page: 90 96
 TeXDict begin 90 95 bop 150 -116 a Ft(90)2572 b(Bash)31
-b(Reference)g(Man)m(ual)150 299 y Fr(7.3)68 b(Job)45
-b(Con)l(trol)h(V)-11 b(ariables)150 543 y Fs(auto_resume)630
-653 y Ft(This)31 b(v)-5 b(ariable)32 b(con)m(trols)g(ho)m(w)g(the)f
-(shell)h(in)m(teracts)h(with)e(the)h(user)e(and)h(job)g(con)m(trol.)45
-b(If)630 762 y(this)28 b(v)-5 b(ariable)30 b(exists)f(then)f(single)h
+b(Reference)g(Man)m(ual)275 299 y(When)f(job)f(con)m(trol)j(is)e(not)h
+(activ)m(e,)i(the)d Fs(kill)f Ft(and)h Fs(wait)f Ft(builtins)g(do)h
+(not)h(accept)h Fq(jobsp)s(ec)j Ft(argu-)150 408 y(men)m(ts.)41
+b(They)30 b(m)m(ust)g(b)s(e)g(supplied)f(pro)s(cess)h
+Fl(id)p Ft(s.)150 666 y Fr(7.3)68 b(Job)45 b(Con)l(trol)h(V)-11
+b(ariables)150 910 y Fs(auto_resume)630 1020 y Ft(This)31
+b(v)-5 b(ariable)32 b(con)m(trols)g(ho)m(w)g(the)f(shell)h(in)m
+(teracts)h(with)e(the)h(user)e(and)h(job)g(con)m(trol.)45
+b(If)630 1129 y(this)28 b(v)-5 b(ariable)30 b(exists)f(then)f(single)h
 (w)m(ord)f(simple)h(commands)f(without)g(redirections)i(are)630
-872 y(treated)h(as)g(candidates)f(for)g(resumption)g(of)g(an)g
+1239 y(treated)h(as)g(candidates)f(for)g(resumption)g(of)g(an)g
 (existing)h(job.)41 b(There)29 b(is)h(no)h(am)m(biguit)m(y)630
-981 y(allo)m(w)m(ed;)f(if)d(there)g(is)g(more)g(than)f(one)h(job)g(b)s
+1348 y(allo)m(w)m(ed;)f(if)d(there)g(is)g(more)g(than)f(one)h(job)g(b)s
 (eginning)f(with)g(the)h(string)g(t)m(yp)s(ed,)g(then)g(the)630
-1091 y(most)j(recen)m(tly)h(accessed)f(job)f(will)h(b)s(e)f(selected.)
+1458 y(most)j(recen)m(tly)h(accessed)f(job)f(will)h(b)s(e)f(selected.)
 42 b(The)29 b(name)g(of)h(a)g(stopp)s(ed)e(job,)i(in)f(this)630
-1200 y(con)m(text,)h(is)e(the)g(command)g(line)g(used)f(to)h(start)g
+1567 y(con)m(text,)h(is)e(the)g(command)g(line)g(used)f(to)h(start)g
 (it.)41 b(If)27 b(this)h(v)-5 b(ariable)28 b(is)g(set)g(to)h(the)e(v)-5
-b(alue)630 1310 y(`)p Fs(exact)p Ft(',)33 b(the)g(string)g(supplied)f
+b(alue)630 1677 y(`)p Fs(exact)p Ft(',)33 b(the)g(string)g(supplied)f
 (m)m(ust)h(matc)m(h)g(the)h(name)f(of)g(a)g(stopp)s(ed)f(job)h
-(exactly;)j(if)630 1420 y(set)29 b(to)h(`)p Fs(substring)p
+(exactly;)j(if)630 1787 y(set)29 b(to)h(`)p Fs(substring)p
 Ft(',)d(the)i(string)g(supplied)e(needs)i(to)g(matc)m(h)h(a)f
-(substring)f(of)h(the)g(name)630 1529 y(of)38 b(a)f(stopp)s(ed)g(job.)
+(substring)f(of)h(the)g(name)630 1896 y(of)38 b(a)f(stopp)s(ed)g(job.)
 62 b(The)37 b(`)p Fs(substring)p Ft(')e(v)-5 b(alue)38
 b(pro)m(vides)f(functionalit)m(y)i(analogous)g(to)630
-1639 y(the)f(`)p Fs(\045?)p Ft(')f(job)h Fl(id)f Ft(\(see)i(Section)f
+2006 y(the)f(`)p Fs(\045?)p Ft(')f(job)h Fl(id)f Ft(\(see)i(Section)f
 (7.1)h([Job)f(Con)m(trol)g(Basics],)j(page)d(87\).)64
-b(If)37 b(set)h(to)h(an)m(y)630 1748 y(other)32 b(v)-5
+b(If)37 b(set)h(to)h(an)m(y)630 2115 y(other)32 b(v)-5
 b(alue,)32 b(the)g(supplied)e(string)i(m)m(ust)f(b)s(e)g(a)h(pre\014x)f
-(of)h(a)g(stopp)s(ed)e(job's)i(name;)g(this)630 1858
+(of)h(a)g(stopp)s(ed)e(job's)i(name;)g(this)630 2225
 y(pro)m(vides)e(functionalit)m(y)i(analogous)g(to)f(the)g(`)p
 Fs(\045)p Ft(')f(job)g Fl(id)p Ft(.)p eop end
 %%Page: 91 97
@@ -13549,162 +13644,171 @@ b(Installing)31 b(Bash)2356 b(129)150 299 y Fs(--enable-static-link)630
 408 y Ft(This)37 b(causes)h(Bash)f(to)h(b)s(e)f(link)m(ed)h(statically)
 -8 b(,)43 b(if)37 b Fs(gcc)g Ft(is)g(b)s(eing)g(used.)61
 b(This)37 b(could)h(b)s(e)630 518 y(used)30 b(to)h(build)e(a)i(v)m
-(ersion)g(to)g(use)f(as)g(ro)s(ot's)h(shell.)275 671
+(ersion)g(to)g(use)f(as)g(ro)s(ot's)h(shell.)275 681
 y(The)f(`)p Fs(minimal-config)p Ft(')d(option)k(can)g(b)s(e)f(used)f
 (to)j(disable)e(all)i(of)f(the)f(follo)m(wing)i(options,)g(but)d(it)150
-781 y(is)h(pro)s(cessed)g(\014rst,)g(so)h(individual)f(options)g(ma)m
+791 y(is)h(pro)s(cessed)g(\014rst,)g(so)h(individual)f(options)g(ma)m
 (y)h(b)s(e)f(enabled)g(using)g(`)p Fs(enable-)p Fj(feature)11
-b Ft('.)275 913 y(All)37 b(of)g(the)f(follo)m(wing)i(options)f(except)h
+b Ft('.)275 928 y(All)37 b(of)g(the)f(follo)m(wing)i(options)f(except)h
 (for)e(`)p Fs(disabled-builtins)p Ft(')d(and)j(`)p Fs(xpg-echo-default)
-p Ft(')150 1022 y(are)26 b(enabled)g(b)m(y)g(default,)h(unless)f(the)g
+p Ft(')150 1037 y(are)26 b(enabled)g(b)m(y)g(default,)h(unless)f(the)g
 (op)s(erating)g(system)g(do)s(es)g(not)g(pro)m(vide)g(the)g(necessary)g
-(supp)s(ort.)150 1176 y Fs(--enable-alias)630 1285 y
+(supp)s(ort.)150 1200 y Fs(--enable-alias)630 1310 y
 Ft(Allo)m(w)41 b(alias)g(expansion)f(and)f(include)g(the)h
 Fs(alias)f Ft(and)g Fs(unalias)e Ft(builtins)j(\(see)g(Sec-)630
-1395 y(tion)31 b(6.6)g([Aliases],)i(page)e(77\).)150
-1548 y Fs(--enable-arith-for-comma)o(nd)630 1658 y Ft(Include)21
+1420 y(tion)31 b(6.6)g([Aliases],)i(page)e(77\).)150
+1582 y Fs(--enable-arith-for-comma)o(nd)630 1691 y Ft(Include)21
 b(supp)s(ort)g(for)g(the)i(alternate)g(form)f(of)g(the)g
 Fs(for)f Ft(command)h(that)h(b)s(eha)m(v)m(es)f(lik)m(e)i(the)630
-1767 y(C)30 b(language)i Fs(for)d Ft(statemen)m(t)j(\(see)g(Section)f
+1801 y(C)30 b(language)i Fs(for)d Ft(statemen)m(t)j(\(see)g(Section)f
 (3.2.4.1)i([Lo)s(oping)d(Constructs],)h(page)g(10\).)150
-1921 y Fs(--enable-array-variables)630 2030 y Ft(Include)h(supp)s(ort)g
+1963 y Fs(--enable-array-variables)630 2072 y Ft(Include)h(supp)s(ort)g
 (for)h(one-dimensional)h(arra)m(y)f(shell)h(v)-5 b(ariables)33
-b(\(see)h(Section)g(6.7)h([Ar-)630 2140 y(ra)m(ys],)c(page)g(78\).)150
-2293 y Fs(--enable-bang-history)630 2403 y Ft(Include)36
+b(\(see)h(Section)g(6.7)h([Ar-)630 2182 y(ra)m(ys],)c(page)g(78\).)150
+2344 y Fs(--enable-bang-history)630 2453 y Ft(Include)36
 b(supp)s(ort)f(for)h Fs(csh)p Ft(-lik)m(e)h(history)g(substitution)f
-(\(see)h(Section)g(9.3)h([History)f(In-)630 2513 y(teraction],)c(page)e
-(121\).)150 2666 y Fs(--enable-brace-expansion)630 2776
+(\(see)h(Section)g(9.3)h([History)f(In-)630 2563 y(teraction],)c(page)e
+(121\).)150 2725 y Fs(--enable-brace-expansion)630 2834
 y Ft(Include)40 b Fs(csh)p Ft(-lik)m(e)h(brace)f(expansion)g(\()h
-Fs(b{a,b}c)2445 2772 y Fp(7!)2576 2776 y Fs(bac)30 b(bbc)39
-b Ft(\).)71 b(See)40 b(Section)h(3.5.1)630 2885 y([Brace)32
+Fs(b{a,b}c)2445 2830 y Fp(7!)2576 2834 y Fs(bac)30 b(bbc)39
+b Ft(\).)71 b(See)40 b(Section)h(3.5.1)630 2944 y([Brace)32
 b(Expansion],)e(page)h(18,)h(for)e(a)g(complete)i(description.)150
-3039 y Fs(--enable-command-timing)630 3148 y Ft(Include)43
+3106 y Fs(--enable-casemod-attribu)o(tes)630 3215 y Ft(Include)37
+b(supp)s(ort)g(for)g(case-mo)s(difying)i(attributes)g(in)e(the)h
+Fs(declare)e Ft(builtin)i(and)f(as-)630 3325 y(signmen)m(t)29
+b(statemen)m(ts.)41 b(V)-8 b(ariables)30 b(with)e(the)g
+Fq(upp)s(ercase)k Ft(attribute,)e(for)e(example,)i(will)630
+3435 y(ha)m(v)m(e)i(their)e(v)-5 b(alues)31 b(con)m(v)m(erted)h(to)f
+(upp)s(ercase)e(up)s(on)g(assignmen)m(t.)150 3597 y Fs
+(--enable-casemod-expansi)o(on)630 3706 y Ft(Include)h(supp)s(ort)e
+(for)i(case-mo)s(difying)i(w)m(ord)e(expansions.)150
+3868 y Fs(--enable-command-timing)630 3978 y Ft(Include)43
 b(supp)s(ort)f(for)h(recognizing)i Fs(time)e Ft(as)g(a)h(reserv)m(ed)g
-(w)m(ord)f(and)g(for)h(displa)m(ying)630 3258 y(timing)37
+(w)m(ord)f(and)g(for)h(displa)m(ying)630 4087 y(timing)37
 b(statistics)h(for)e(the)g(pip)s(eline)g(follo)m(wing)i
 Fs(time)d Ft(\(see)i(Section)g(3.2.2)h([Pip)s(elines],)630
-3367 y(page)24 b(8\).)39 b(This)23 b(allo)m(ws)h(pip)s(elines)f(as)h(w)
+4197 y(page)24 b(8\).)39 b(This)23 b(allo)m(ws)h(pip)s(elines)f(as)h(w)
 m(ell)g(as)g(shell)f(builtins)g(and)g(functions)g(to)h(b)s(e)e(timed.)
-150 3521 y Fs(--enable-cond-command)630 3630 y Ft(Include)33
+150 4359 y Fs(--enable-cond-command)630 4468 y Ft(Include)33
 b(supp)s(ort)f(for)i(the)g Fs([[)f Ft(conditional)i(command.)51
-b(\(see)34 b(Section)h(3.2.4.2)h([Condi-)630 3740 y(tional)c
-(Constructs],)e(page)h(10\).)150 3893 y Fs(--enable-cond-regexp)630
-4003 y Ft(Include)f(supp)s(ort)f(for)i(matc)m(hing)h(POSIX)d(regular)i
+b(\(see)34 b(Section)h(3.2.4.2)h([Condi-)630 4578 y(tional)c
+(Constructs],)e(page)h(10\).)150 4740 y Fs(--enable-cond-regexp)630
+4849 y Ft(Include)f(supp)s(ort)f(for)i(matc)m(hing)h(POSIX)d(regular)i
 (expressions)g(using)f(the)h(`)p Fs(=~)p Ft(')g(binary)630
-4113 y(op)s(erator)25 b(in)f(the)h Fs([[)f Ft(conditional)h(command.)39
+4959 y(op)s(erator)25 b(in)f(the)h Fs([[)f Ft(conditional)h(command.)39
 b(\(see)25 b(Section)h(3.2.4.2)h([Conditional)e(Con-)630
-4222 y(structs],)31 b(page)g(10\).)150 4376 y Fs(--enable-debugger)630
-4485 y Ft(Include)f(supp)s(ort)e(for)i(the)h(bash)f(debugger)g
-(\(distributed)g(separately\).)150 4639 y Fs(--enable-directory-stack)
-630 4748 y Ft(Include)j(supp)s(ort)g(for)h(a)g Fs(csh)p
-Ft(-lik)m(e)h(directory)f(stac)m(k)i(and)d(the)i Fs(pushd)p
-Ft(,)f Fs(popd)p Ft(,)g(and)f Fs(dirs)630 4858 y Ft(builtins)d(\(see)h
-(Section)g(6.8)h([The)e(Directory)i(Stac)m(k],)g(page)f(79\).)150
-5011 y Fs(--enable-disabled-builti)o(ns)630 5121 y Ft(Allo)m(w)40
+5068 y(structs],)31 b(page)g(10\).)150 5230 y Fs(--enable-debugger)630
+5340 y Ft(Include)f(supp)s(ort)e(for)i(the)h(bash)f(debugger)g
+(\(distributed)g(separately\).)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)150 299 y Fs(--enable-directory-stack)630
+408 y Ft(Include)i(supp)s(ort)g(for)h(a)g Fs(csh)p Ft(-lik)m(e)h
+(directory)f(stac)m(k)i(and)d(the)i Fs(pushd)p Ft(,)f
+Fs(popd)p Ft(,)g(and)f Fs(dirs)630 518 y Ft(builtins)d(\(see)h(Section)
+g(6.8)h([The)e(Directory)i(Stac)m(k],)g(page)f(79\).)150
+673 y Fs(--enable-disabled-builti)o(ns)630 783 y Ft(Allo)m(w)40
 b(builtin)e(commands)g(to)h(b)s(e)f(in)m(v)m(ok)m(ed)i(via)f(`)p
 Fs(builtin)29 b(xxx)p Ft(')37 b(ev)m(en)j(after)f Fs(xxx)e
-Ft(has)630 5230 y(b)s(een)31 b(disabled)g(using)g(`)p
+Ft(has)630 892 y(b)s(een)31 b(disabled)g(using)g(`)p
 Fs(enable)d(-n)i(xxx)p Ft('.)43 b(See)32 b(Section)g(4.2)h([Bash)e
-(Builtins],)i(page)f(41,)630 5340 y(for)e(details)i(of)e(the)h
-Fs(builtin)d Ft(and)i Fs(enable)e Ft(builtin)i(commands.)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)150 299 y Fs(--enable-dparen-arithmet)o(ic)630
-408 y Ft(Include)42 b(supp)s(ort)f(for)h(the)h Fs(\(\(...)o(\)\))f
-Ft(command)g(\(see)i(Section)f(3.2.4.2)i([Conditional)630
-518 y(Constructs],)30 b(page)h(10\).)150 673 y Fs
-(--enable-extended-glob)630 783 y Ft(Include)40 b(supp)s(ort)e(for)i
-(the)h(extended)f(pattern)h(matc)m(hing)g(features)g(describ)s(ed)e(ab)
-s(o)m(v)m(e)630 892 y(under)29 b(Section)i(3.5.8.1)i([P)m(attern)e
-(Matc)m(hing],)i(page)e(24.)150 1048 y Fs(--enable-help-builtin)630
-1157 y Ft(Include)24 b(the)h Fs(help)f Ft(builtin,)h(whic)m(h)g(displa)
-m(ys)f(help)h(on)f(shell)h(builtins)f(and)h(v)-5 b(ariables)25
-b(\(see)630 1267 y(Section)31 b(4.2)h([Bash)e(Builtins],)i(page)f
-(41\).)150 1422 y Fs(--enable-history)630 1532 y Ft(Include)e(command)g
+(Builtins],)i(page)f(41,)630 1002 y(for)e(details)i(of)e(the)h
+Fs(builtin)d Ft(and)i Fs(enable)e Ft(builtin)i(commands.)150
+1157 y Fs(--enable-dparen-arithmet)o(ic)630 1267 y Ft(Include)42
+b(supp)s(ort)f(for)h(the)h Fs(\(\(...)o(\)\))f Ft(command)g(\(see)i
+(Section)f(3.2.4.2)i([Conditional)630 1377 y(Constructs],)30
+b(page)h(10\).)150 1532 y Fs(--enable-extended-glob)630
+1641 y Ft(Include)40 b(supp)s(ort)e(for)i(the)h(extended)f(pattern)h
+(matc)m(hing)g(features)g(describ)s(ed)e(ab)s(o)m(v)m(e)630
+1751 y(under)29 b(Section)i(3.5.8.1)i([P)m(attern)e(Matc)m(hing],)i
+(page)e(24.)150 1906 y Fs(--enable-help-builtin)630 2016
+y Ft(Include)24 b(the)h Fs(help)f Ft(builtin,)h(whic)m(h)g(displa)m(ys)
+f(help)h(on)f(shell)h(builtins)f(and)h(v)-5 b(ariables)25
+b(\(see)630 2125 y(Section)31 b(4.2)h([Bash)e(Builtins],)i(page)f
+(41\).)150 2281 y Fs(--enable-history)630 2390 y Ft(Include)e(command)g
 (history)h(and)f(the)h Fs(fc)f Ft(and)g Fs(history)e
-Ft(builtin)j(commands)f(\(see)h(Sec-)630 1641 y(tion)h(9.1)g([Bash)g
+Ft(builtin)j(commands)f(\(see)h(Sec-)630 2500 y(tion)h(9.1)g([Bash)g
 (History)g(F)-8 b(acilities],)34 b(page)d(119\).)150
-1797 y Fs(--enable-job-control)630 1906 y Ft(This)e(enables)i(the)f
+2655 y Fs(--enable-job-control)630 2765 y Ft(This)e(enables)i(the)f
 (job)g(con)m(trol)h(features)g(\(see)g(Chapter)f(7)g([Job)g(Con)m
-(trol],)h(page)g(87\),)h(if)630 2016 y(the)f(op)s(erating)f(system)h
-(supp)s(orts)d(them.)150 2171 y Fs(--enable-multibyte)630
-2281 y Ft(This)h(enables)i(supp)s(ort)d(for)i(m)m(ultib)m(yte)h(c)m
+(trol],)h(page)g(87\),)h(if)630 2874 y(the)f(op)s(erating)f(system)h
+(supp)s(orts)d(them.)150 3029 y Fs(--enable-multibyte)630
+3139 y Ft(This)h(enables)i(supp)s(ort)d(for)i(m)m(ultib)m(yte)h(c)m
 (haracters)g(if)f(the)g(op)s(erating)h(system)f(pro)m(vides)630
-2390 y(the)h(necessary)f(supp)s(ort.)150 2545 y Fs
-(--enable-net-redirection)o(s)630 2655 y Ft(This)21 b(enables)h(the)g
+3249 y(the)h(necessary)f(supp)s(ort.)150 3404 y Fs
+(--enable-net-redirection)o(s)630 3513 y Ft(This)21 b(enables)h(the)g
 (sp)s(ecial)h(handling)e(of)h(\014lenames)g(of)g(the)g(form)f
-Fs(/dev/tcp/)p Fj(host)11 b Fs(/)p Fj(port)630 2765 y
+Fs(/dev/tcp/)p Fj(host)11 b Fs(/)p Fj(port)630 3623 y
 Ft(and)29 b Fs(/dev/udp/)p Fj(host)11 b Fs(/)p Fj(port)34
 b Ft(when)28 b(used)g(in)h(redirections)h(\(see)g(Section)g(3.6)g
-([Redirec-)630 2874 y(tions],)h(page)g(25\).)150 3029
-y Fs(--enable-process-substit)o(utio)o(n)630 3139 y Ft(This)49
+([Redirec-)630 3733 y(tions],)h(page)g(26\).)150 3888
+y Fs(--enable-process-substit)o(utio)o(n)630 3998 y Ft(This)49
 b(enables)i(pro)s(cess)f(substitution)g(\(see)h(Section)g(3.5.6)h([Pro)
-s(cess)e(Substitution],)630 3249 y(page)31 b(22\))h(if)e(the)h(op)s
+s(cess)e(Substitution],)630 4107 y(page)31 b(23\))h(if)e(the)h(op)s
 (erating)f(system)h(pro)m(vides)f(the)h(necessary)g(supp)s(ort.)150
-3404 y Fs(--enable-progcomp)630 3513 y Ft(Enable)d(the)g(programmable)g
+4262 y Fs(--enable-progcomp)630 4372 y Ft(Enable)d(the)g(programmable)g
 (completion)i(facilities)g(\(see)f(Section)g(8.6)g([Programmable)630
-3623 y(Completion],)i(page)h(112\).)42 b(If)30 b(Readline)h(is)f(not)h
+4482 y(Completion],)i(page)h(112\).)42 b(If)30 b(Readline)h(is)f(not)h
 (enabled,)f(this)h(option)g(has)f(no)g(e\013ect.)150
-3778 y Fs(--enable-prompt-string-d)o(ecod)o(ing)630 3888
+4637 y Fs(--enable-prompt-string-d)o(ecod)o(ing)630 4746
 y Ft(T)-8 b(urn)46 b(on)h(the)h(in)m(terpretation)g(of)g(a)g(n)m(um)m
 (b)s(er)e(of)h(bac)m(kslash-escap)s(ed)h(c)m(haracters)h(in)630
-3998 y(the)39 b Fs($PS1)p Ft(,)g Fs($PS2)p Ft(,)h Fs($PS3)p
+4856 y(the)39 b Fs($PS1)p Ft(,)g Fs($PS2)p Ft(,)h Fs($PS3)p
 Ft(,)f(and)f Fs($PS4)f Ft(prompt)h(strings.)64 b(See)39
-b(Section)g(6.9)h([Prin)m(ting)f(a)630 4107 y(Prompt],)30
+b(Section)g(6.9)h([Prin)m(ting)f(a)630 4966 y(Prompt],)30
 b(page)h(81,)h(for)e(a)h(complete)h(list)f(of)f(prompt)g(string)g
-(escap)s(e)h(sequences.)150 4262 y Fs(--enable-readline)630
-4372 y Ft(Include)d(supp)s(ort)f(for)h(command-line)h(editing)g(and)f
-(history)g(with)g(the)h(Bash)g(v)m(ersion)g(of)630 4482
+(escap)s(e)h(sequences.)150 5121 y Fs(--enable-readline)630
+5230 y Ft(Include)d(supp)s(ort)f(for)h(command-line)h(editing)g(and)f
+(history)g(with)g(the)h(Bash)g(v)m(ersion)g(of)630 5340
 y(the)i(Readline)g(library)f(\(see)h(Chapter)f(8)g([Command)g(Line)g
-(Editing],)h(page)g(91\).)150 4637 y Fs(--enable-restricted)630
-4746 y Ft(Include)41 b(supp)s(ort)f(for)i(a)g Fq(restricted)g(shell)p
+(Editing],)h(page)g(91\).)p eop end
+%%Page: 131 137
+TeXDict begin 131 136 bop 150 -116 a Ft(Chapter)30 b(10:)41
+b(Installing)31 b(Bash)2356 b(131)150 299 y Fs(--enable-restricted)630
+408 y Ft(Include)41 b(supp)s(ort)f(for)i(a)g Fq(restricted)g(shell)p
 Ft(.)75 b(If)42 b(this)f(is)h(enabled,)j(Bash,)g(when)c(called)630
-4856 y(as)f Fs(rbash)p Ft(,)h(en)m(ters)f(a)g(restricted)h(mo)s(de.)68
+518 y(as)f Fs(rbash)p Ft(,)h(en)m(ters)f(a)g(restricted)h(mo)s(de.)68
 b(See)40 b(Section)h(6.10)g([The)f(Restricted)h(Shell],)630
-4966 y(page)31 b(82,)h(for)e(a)g(description)h(of)f(restricted)h(mo)s
-(de.)150 5121 y Fs(--enable-select)630 5230 y Ft(Include)k(the)g
+628 y(page)31 b(82,)h(for)e(a)g(description)h(of)f(restricted)h(mo)s
+(de.)150 787 y Fs(--enable-select)630 897 y Ft(Include)k(the)g
 Fs(select)f Ft(builtin,)i(whic)m(h)f(allo)m(ws)i(the)f(generation)g(of)
-g(simple)f(men)m(us)g(\(see)630 5340 y(Section)c(3.2.4.2)i
-([Conditional)e(Constructs],)g(page)g(10\).)p eop end
-%%Page: 131 137
-TeXDict begin 131 136 bop 150 -116 a Ft(Chapter)30 b(10:)41
-b(Installing)31 b(Bash)2356 b(131)150 299 y Fs
-(--enable-separate-helpfi)o(les)630 408 y Ft(Use)32 b(external)h
+g(simple)f(men)m(us)g(\(see)630 1006 y(Section)c(3.2.4.2)i
+([Conditional)e(Constructs],)g(page)g(10\).)150 1166
+y Fs(--enable-separate-helpfi)o(les)630 1275 y Ft(Use)h(external)h
 (\014les)f(for)g(the)g(do)s(cumen)m(tation)h(displa)m(y)m(ed)f(b)m(y)g
-(the)g Fs(help)f Ft(builtin)h(instead)630 518 y(of)f(storing)f(the)h
-(text)g(in)m(ternally)-8 b(.)150 677 y Fs(--enable-single-help-str)o
-(ings)630 787 y Ft(Store)40 b(the)g(text)h(displa)m(y)m(ed)g(b)m(y)e
+(the)g Fs(help)f Ft(builtin)h(instead)630 1385 y(of)f(storing)f(the)h
+(text)g(in)m(ternally)-8 b(.)150 1544 y Fs(--enable-single-help-str)o
+(ings)630 1654 y Ft(Store)40 b(the)g(text)h(displa)m(y)m(ed)g(b)m(y)e
 (the)i Fs(help)d Ft(builtin)i(as)g(a)g(single)h(string)f(for)f(eac)m(h)
-i(help)630 897 y(topic.)54 b(This)33 b(aids)i(in)f(translating)h(the)g
+i(help)630 1763 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
+b(ma)m(y)g(need)630 1873 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-strict-posix-de)o(faul)o(t)630 1275
+2032 y Fs(--enable-strict-posix-de)o(faul)o(t)630 2142
 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(82\).)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
+2252 y(page)31 b(83\).)150 2411 y Fs(--enable-usg-echo-defaul)o(t)630
+2521 y Ft(A)f(synon)m(ym)g(for)g Fs(--enable-xpg-echo-default)p
+Ft(.)150 2680 y Fs(--enable-xpg-echo-defaul)o(t)630 2790
 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
+2899 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
+Fs(xpg_echo)e Ft(shell)630 3009 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
+3118 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(41,)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
+3228 y(page)31 b(41,)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 3387
 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 2630 y(are)35 b(not)g(settable)i(from)d
+(options)f(whic)m(h)150 3497 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 2740
+(to)h(b)s(e)e(c)m(hanged;)k(b)s(ew)m(are)d(of)150 3606
 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 2849 y(information)c(ab)s(out)f(its)h(e\013ect.)p
+(for)g(more)150 3716 y(information)c(ab)s(out)f(its)h(e\013ect.)p
 eop end
 %%Page: 132 138
 TeXDict begin 132 137 bop 150 -116 a Ft(132)2527 b(Bash)31
@@ -13767,7 +13871,7 @@ Fs(sh)f Ft(included)g(in)h(SVR4.2)h(\(the)f(last)h(v)m(ersion)f(of)g
 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(82\).)225 1565 y Fp(\017)60
+(POSIX)g(Mo)s(de],)h(page)g(83\).)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
 (69\).)225 1699 y Fp(\017)60 b Ft(Bash)28 b(has)g(command-line)h
@@ -13906,7 +14010,7 @@ b(preferred)g(to)i(the)g(Bourne)f(shell's)h Fs(``)e Ft(\(whic)m(h)i(is)
 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 4766 y Fp(\017)60
+(cess)f(Substitution],)f(page)h(23\).)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
 4876 y(user)40 b(\()p Fs(UID)p Ft(,)i Fs(EUID)p Ft(,)g(and)e
@@ -13931,7 +14035,7 @@ Fl(posix)f Ft(\014lename)h(expansion)g(op)s(erators,)i(including)d
 Fq(c)m(har-)330 408 y(acter)i(classes)p Ft(,)j Fq(equiv)-5
 b(alence)39 b(classes)p Ft(,)j(and)37 b Fq(collating)k(sym)m(b)s(ols)g
 Ft(\(see)e(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
+b(page)h(24\).)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(24\).)225
@@ -13947,20 +14051,20 @@ Ft(builtin,)i(and)e(th)m(us)330 1272 y(useful)i(recursiv)m(e)g
 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(31\).)60 b(In)35 b Fs(sh)p Ft(,)j(all)f(v)-5 b(ariable)37
+e(32\).)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
+(\(see)g(Section)g(3.6)h([Redirections],)g(page)f(26\).)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
+(Section)f(3.6)g([Redirections],)h(page)g(26\).)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
@@ -13971,11 +14075,11 @@ 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
+([Redirections],)h(page)f(26\).)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
+([Redirections],)g(page)f(26\).)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 3503 y(rection)39
@@ -14850,7 +14954,7 @@ 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(43)150
 4393 y Fe(dirs)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(79)150
+f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)38 b Fb(80)150
 4485 y Fe(disown)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(89)150 4748
@@ -14915,7 +15019,7 @@ 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(80)2025 4551 y Fe(printf)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(46)2025 4645 y Fe(pushd)11 b Fc(.)i(.)g(.)f(.)g
+(.)f(.)g(.)h(.)35 b Fb(47)2025 4645 y Fe(pushd)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(80)2025 4738 y Fe(pwd)14 b Fc(.)f(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
@@ -14968,7 +15072,7 @@ f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)35 b
 Fb(49)2025 843 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(40)2025 930 y Fe(unalias)8 b Fc(.)14 b(.)e(.)g(.)h(.)f(.)g(.)h(.)f
+Fb(41)2025 930 y Fe(unalias)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(50)2025
 1017 y Fe(unset)11 b Fc(.)i(.)g(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
@@ -15050,72 +15154,77 @@ b(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
 g(.)h(.)f(.)g(.)h(.)f(.)g(.)43 b Fb(17)p eop end
 %%Page: 151 157
 TeXDict begin 151 156 bop 150 -116 a Ft(App)s(endix)29
-b(D:)i(Indexes)2623 b(151)150 299 y Fr(#)150 428 y Fe(#)17
+b(D:)i(Indexes)2623 b(151)150 299 y Fr(#)150 424 y Fe(#)17
 b Fc(.)12 b(.)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(.)g(.)h(.)
-f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)42 b Fb(16)150 705
-y Fr($)150 834 y Fe($)17 b Fc(.)12 b(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
+f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)42 b Fb(16)150 688
+y Fr($)150 813 y Fe($)17 b Fc(.)12 b(.)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(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)42
-b Fb(17)150 1117 y Fr(*)150 1246 y Fe(*)17 b Fc(.)12
+b Fb(17)150 1084 y Fr(*)150 1209 y Fe(*)17 b Fc(.)12
 b(.)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(.)g(.)h(.)f(.)g(.)
-h(.)f(.)g(.)h(.)f(.)g(.)h(.)42 b Fb(16)150 1513 y Fr(-)150
-1642 y Fe(-)17 b Fc(.)12 b(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
+h(.)f(.)g(.)h(.)f(.)g(.)h(.)42 b Fb(16)150 1464 y Fr(-)150
+1589 y Fe(-)17 b Fc(.)12 b(.)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(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)42
-b Fb(16)150 1909 y Fr(?)150 2038 y Fe(?)17 b Fc(.)12
+b Fb(16)150 1844 y Fr(?)150 1969 y Fe(?)17 b Fc(.)12
 b(.)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(.)g(.)h(.)f(.)g(.)
-h(.)f(.)g(.)h(.)f(.)g(.)h(.)42 b Fb(16)150 2305 y Fr(@)150
-2435 y Fe(@)17 b Fc(.)12 b(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
+h(.)f(.)g(.)h(.)f(.)g(.)h(.)42 b Fb(16)150 2224 y Fr(@)150
+2348 y Fe(@)17 b Fc(.)12 b(.)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(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)42
-b Fb(16)p 159 2701 41 6 v 150 2831 a Fe(_)17 b Fc(.)12
+b Fb(16)p 159 2603 41 6 v 150 2728 a Fe(_)17 b Fc(.)12
 b(.)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(.)g(.)h(.)f(.)g(.)
-h(.)f(.)g(.)h(.)f(.)g(.)h(.)42 b Fb(17)150 3098 y Fr(0)150
-3227 y Fe(0)17 b Fc(.)12 b(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
+h(.)f(.)g(.)h(.)f(.)g(.)h(.)42 b Fb(17)150 2983 y Fr(0)150
+3108 y Fe(0)17 b Fc(.)12 b(.)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(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)42
-b Fb(17)150 3494 y Fr(A)150 3623 y Fe(auto_resume)23
+b Fb(17)150 3363 y Fr(A)150 3488 y Fe(auto_resume)23
 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(.)46
-b Fb(90)150 3899 y Fr(B)150 4029 y Fe(BASH)13 b Fc(.)g(.)f(.)g(.)h(.)f
+b Fb(90)150 3752 y Fr(B)150 3877 y Fe(BASH)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(59)150 4122 y Fe(BASH_ARGC)25 b Fc(.)13 b(.)f(.)g(.)h(.)f(.)g(.)h
+b Fb(59)150 3968 y Fe(BASH_ALIASES)22 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(.)f(.)49 b Fb(60)150 4216
-y Fe(BASH_ARGV)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 4310 y Fe(BASH_COMMAND)22
+h(.)f(.)g(.)g(.)h(.)f(.)g(.)45 b Fb(60)150 4060 y Fe(BASH_ARGC)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 4151 y Fe(BASH_ARGV)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
+4243 y Fe(BASH_CMDS)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 4334 y Fe(BASH_COMMAND)22
 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(.)45
-b Fb(60)150 4403 y Fe(BASH_ENV)7 b Fc(.)14 b(.)e(.)g(.)h(.)f(.)g(.)h(.)
+b Fb(60)150 4426 y Fe(BASH_ENV)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
-4497 y Fe(BASH_EXECUTION_STRING)d Fc(.)12 b(.)h(.)f(.)g(.)h(.)f(.)g(.)h
+4517 y Fe(BASH_EXECUTION_STRING)d Fc(.)12 b(.)h(.)f(.)g(.)h(.)f(.)g(.)h
 (.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)50
-b Fb(60)150 4591 y Fe(BASH_LINENO)23 b Fc(.)12 b(.)h(.)f(.)g(.)h(.)f(.)
+b Fb(60)150 4608 y Fe(BASH_LINENO)23 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(.)46 b Fb(60)150 4684 y
+(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)46 b Fb(60)150 4700 y
 Fe(BASH_REMATCH)22 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(.)45 b Fb(60)150 4778 y Fe(BASH_SOURCE)23 b Fc(.)12
+f(.)g(.)45 b Fb(61)150 4791 y Fe(BASH_SOURCE)23 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(.)46
-b Fb(60)150 4872 y Fe(BASH_SUBSHELL)18 b Fc(.)d(.)d(.)h(.)f(.)g(.)g(.)h
+b Fb(61)150 4883 y Fe(BASH_SUBSHELL)18 b Fc(.)d(.)d(.)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(.)43 b Fb(61)150 4965 y Fe(BASH_VERSINFO)18
+h(.)f(.)g(.)h(.)f(.)43 b Fb(61)150 4974 y Fe(BASH_VERSINFO)18
 b Fc(.)d(.)d(.)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(.)43
-b Fb(61)150 5059 y Fe(BASH_VERSION)22 b Fc(.)12 b(.)g(.)h(.)f(.)g(.)h
+b Fb(61)150 5066 y Fe(BASH_VERSION)22 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(.)45 b Fb(61)150 5153 y Fe(BASHPID)8
+h(.)f(.)g(.)g(.)h(.)f(.)g(.)45 b Fb(61)150 5157 y Fe(BASHPID)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 5246 y Fe(bell-style)24 b
+h(.)f(.)g(.)34 b Fb(60)150 5249 y Fe(bell-style)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(95)150 5340 y Fe(bind-tty-special-chars)28 b Fc(.)12
@@ -15139,9 +15248,9 @@ f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
 g(.)h(.)f(.)g(.)h(.)f(.)49 b Fb(61)2025 948 y Fe(COMP_POINT)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 1036 y Fe(COMP_TYPE)25 b Fc(.)13 b(.)f(.)g(.)h(.)f(.)g(.)g
+b Fb(62)2025 1036 y Fe(COMP_TYPE)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(61)2025 1125
+g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)49 b Fb(62)2025 1125
 y Fe(COMP_WORDBREAKS)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(62)2025 1213 y Fe(COMP_WORDS)24 b Fc(.)12 b(.)h(.)f(.)g(.)h(.)f(.)
@@ -15173,18 +15282,18 @@ 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(96)2025 2656 y Fe(EUID)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(62)2025 2744 y Fe(expand-tilde)22
+(.)g(.)h(.)f(.)g(.)h(.)38 b Fb(63)2025 2744 y Fe(expand-tilde)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(96)2025 3002 y Fr(F)2025 3121 y Fe(FCEDIT)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(62)2025 3209 y Fe(FIGNORE)8 b Fc(.)14 b(.)e(.)g(.)h(.)f(.)g(.)h(.)
+b Fb(63)2025 3209 y Fe(FIGNORE)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
+(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)34 b Fb(63)2025
 3297 y Fe(FUNCNAME)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(62)2025 3537 y
+(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)32 b Fb(63)2025 3537 y
 Fr(G)2025 3655 y Fe(GLOBIGNORE)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(63)2025 3744
@@ -15201,13 +15310,13 @@ 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(63)2025 4367 y Fe(HISTFILE)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(63)2025
+g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)32 b Fb(64)2025
 4456 y Fe(HISTFILESIZE)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(63)2025 4544 y Fe(HISTIGNORE)24
+g(.)h(.)f(.)g(.)45 b Fb(64)2025 4544 y Fe(HISTIGNORE)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(63)2025 4632 y Fe(history-preserve-point)27 b Fc(.)13
+b Fb(64)2025 4632 y Fe(history-preserve-point)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(96)2025 4721 y Fe(history-size)22 b Fc(.)12
 b(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
@@ -15233,275 +15342,278 @@ 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(64)p eop end
 %%Page: 152 158
 TeXDict begin 152 157 bop 150 -116 a Ft(152)2527 b(Bash)31
-b(Reference)g(Man)m(ual)150 299 y Fr(I)150 421 y Fe(IFS)14
+b(Reference)g(Man)m(ual)150 299 y Fr(I)150 423 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(59)150 510 y Fe(IGNOREEOF)25
+(.)f(.)g(.)h(.)f(.)g(.)h(.)39 b Fb(59)150 515 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(64)150 600 y Fe(input-meta)24 b Fc(.)13 b(.)f(.)g(.)h(.)f(.)g
+49 b Fb(64)150 606 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(96)150 690
+f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)47 b Fb(96)150 698
 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(64)150 780 y Fe
+g(.)h(.)f(.)g(.)h(.)f(.)g(.)34 b Fb(65)150 789 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(97)150 1028 y Fr(K)150 1149 y Fe(keymap)10 b Fc(.)j(.)g(.)f(.)g(.)
+b Fb(97)150 1044 y Fr(K)150 1168 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(97)150 1415 y Fr(L)150 1537 y Fe(LANG)13 b Fc(.)g(.)f(.)g(.)h(.)f
+b Fb(97)150 1442 y Fr(L)150 1566 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(64)150 1627 y Fe(LC_ALL)10 b Fc(.)j(.)g(.)f(.)g(.)h(.)f(.)g(.)h(.)
+b Fb(65)150 1658 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(64)150
-1717 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(.)35 b Fb(65)150
+1749 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(65)150 1807 y Fe(LC_CTYPE)7
+g(.)h(.)f(.)g(.)h(.)47 b Fb(65)150 1840 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(65)150 1897 y Fe(LC_MESSAGES)14 b Fc(.)h(.)d(.)h(.)f(.)
+g(.)h(.)32 b Fb(65)150 1932 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(65)150
-1987 y Fe(LC_NUMERIC)e Fc(.)13 b(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)
+2023 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(65)150 2077 y Fe(LINENO)10
+(.)h(.)f(.)g(.)h(.)47 b Fb(65)150 2114 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(65)150 2167 y Fe(LINES)11 b Fc(.)j(.)e(.)g(.)g
+(.)g(.)h(.)f(.)35 b Fb(65)150 2206 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(65)150 2414 y Fr(M)150 2536 y Fe(MACHTYPE)7 b Fc(.)14
+b Fb(65)150 2460 y Fr(M)150 2585 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(65)150 2625 y Fe(MAIL)13 b Fc(.)g(.)f(.)g(.)h(.)f(.)g(.)h(.)f
+32 b Fb(65)150 2676 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(59)150 2715 y Fe(MAILCHECK)25 b Fc(.)13 b(.)f(.)g(.)h(.)f(.)g(.)h
+b Fb(59)150 2768 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(65)150 2805
+h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)49 b Fb(65)150 2859
 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(59)150 2895 y Fe(mark-modified-lines)9
+g(.)h(.)f(.)g(.)g(.)h(.)32 b Fb(59)150 2950 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(97)150 2985
+(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)34 b Fb(97)150 3042
 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(97)150 3075
+(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)42 b Fb(97)150 3133
 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(97)150 3165 y Fe(meta-flag)25 b Fc(.)13 b(.)f(.)g(.)h(.)f(.)g(.)h
+b Fb(97)150 3225 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(96)150 3431
-y Fr(O)150 3553 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(96)150 3498
+y Fr(O)150 3623 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(65)150
-3643 y Fe(OPTARG)10 b Fc(.)j(.)g(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
+3714 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(59)150 3733
+(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)35 b Fb(59)150 3805
 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(65)150 3823 y Fe(OPTIND)10
+f(.)g(.)h(.)f(.)g(.)h(.)f(.)35 b Fb(65)150 3897 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(59)150 3913 y Fe(OSTYPE)10 b Fc(.)j(.)g(.)f(.)g
+(.)g(.)h(.)f(.)35 b Fb(59)150 3988 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(65)150 4003 y Fe(output-meta)23 b Fc(.)12 b(.)h(.)f(.)g(.)h(.)f(.)
+b Fb(65)150 4079 y Fe(output-meta)23 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(.)46 b Fb(97)2025 299 y
 Fr(P)2025 415 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(97)2025 503 y Fe(PATH)13 b Fc(.)g(.)f(.)g(.)g(.)h(.)f
+h(.)f(.)39 b Fb(97)2025 502 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(59)2025 590 y Fe(PIPESTATUS)24 b Fc(.)12 b(.)h(.)f(.)g(.)h(.)f(.)g
+b Fb(59)2025 589 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(65)2025 678 y
+f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)48 b Fb(65)2025 677 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(65)2025 765 y Fe(PPID)13 b Fc(.)g(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f
+b Fb(66)2025 764 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(66)2025 852 y Fe(PROMPT_COMMAND)16 b Fc(.)f(.)e(.)f(.)g(.)h(.)f(.)
+b Fb(66)2025 851 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(66)2025 940 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(59)2025 1027 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(59)2025 1115 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(66)2025 1202 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(66)2025 1289 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(66)2025 1523 y Fr(R)2025
-1640 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(66)2025 1727
-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(66)2025 1814
-y Fe(revert-all-at-newline)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(98)2025 2048 y Fr(S)2025 2165 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
+(.)g(.)g(.)h(.)f(.)42 b Fb(66)2025 938 y Fe(PROMPT_DIRTRIM)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(66)2025 1026 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(59)2025 1113 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(.)34 b Fb(66)2025 2252 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(66)2025 2340 y Fe(SHELLOPTS)25 b Fc(.)13 b(.)f(.)g(.)h(.)f(.)g(.)g
+f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)40
+b Fb(59)2025 1200 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(66)2025 1287 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(66)2025 1374 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(66)2025 1607 y Fr(R)2025 1724 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(66)2025 1811 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(66)2025 1898 y Fe(revert-all-at-newline)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(98)2025 2131 y Fr(S)2025 2247 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(66)2025 2334 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(66)2025 2422 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(66)2025 2427
+g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)49 b Fb(66)2025 2509
 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(66)2025 2514
+f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)37 b Fb(67)2025 2596
 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(98)2025 2602 y Fe(show-all-if-unmodified)27 b Fc(.)13
+b Fb(98)2025 2683 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(98)2025 2836 y Fr(T)2025 2952 y Fe(TEXTDOMAIN)25
+(.)h(.)48 b Fb(98)2025 2916 y Fr(T)2025 3032 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 3040 y Fe(TEXTDOMAINDIR)21 b Fc(.)13 b(.)f(.)g(.)h(.)f
+49 b Fb(7)2025 3120 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 3127 y
+h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)45 b Fb(7)2025 3207 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(66)2025 3214 y Fe(TMOUT)11 b Fc(.)i(.)g(.)f(.)g
+(.)h(.)f(.)g(.)48 b Fb(67)2025 3294 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(67)2025 3302 y Fe(TMPDIR)10 b Fc(.)j(.)f(.)h(.)f(.)g(.)h(.)f(.)g
+b Fb(67)2025 3381 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(67)2025 3536 y Fr(U)2025 3652 y Fe(UID)14 b Fc(.)f(.)f(.)g(.)h(.)f
+Fb(67)2025 3614 y Fr(U)2025 3730 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(67)2025 3886 y Fr(V)2025 4003 y Fe(visible-stats)18
+(.)40 b Fb(67)2025 3963 y Fr(V)2025 4079 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(98)150 4277 y Fr(D.4)68 b(F)-11 b(unction)44 b(Index)150
-4598 y(A)150 4729 y Fe(abort)27 b(\(C-g\))8 b Fc(.)13
+b Fb(98)150 4353 y Fr(D.4)68 b(F)-11 b(unction)44 b(Index)150
+4675 y(A)150 4792 y Fe(abort)27 b(\(C-g\))8 b Fc(.)13
 b(.)g(.)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(.)34
-b Fb(110)150 4824 y Fe(accept-line)28 b(\(Newline)g(or)e(Return\))11
+b Fb(110)150 4880 y Fe(accept-line)28 b(\(Newline)g(or)e(Return\))11
 b Fc(.)i(.)g(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)37 b Fb(104)150
-4918 y Fe(alias-expand-line)29 b(\(\))13 b Fc(.)g(.)g(.)f(.)g(.)h(.)f
+4968 y Fe(alias-expand-line)29 b(\(\))13 b Fc(.)g(.)g(.)f(.)g(.)h(.)f
 (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)39
-b Fb(112)150 5209 y Fr(B)150 5340 y Fe(backward-char)29
+b Fb(112)150 5223 y Fr(B)150 5340 y Fe(backward-char)29
 b(\(C-b\))15 b Fc(.)e(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
 (.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)41 b Fb(104)2025
-4598 y Fe(backward-delete-char)30 b(\(Rubout\))18 b Fc(.)c(.)f(.)f(.)g
-(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)44 b Fb(106)2025 4690
+4675 y Fe(backward-delete-char)30 b(\(Rubout\))18 b Fc(.)c(.)f(.)f(.)g
+(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)44 b Fb(106)2025 4808
 y Fe(backward-kill-line)29 b(\(C-x)e(Rubout\))d Fc(.)12
 b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)48 b Fb(107)2025
-4783 y Fe(backward-kill-word)29 b(\(M-)2873 4780 y Fg(h)p
-2898 4727 146 4 v 2898 4783 a Ff(DEL)p 2898 4798 V 3040
-4780 a Fg(i)3070 4783 y Fe(\))20 b Fc(.)12 b(.)h(.)f(.)g(.)h(.)f(.)g(.)
-h(.)f(.)g(.)h(.)f(.)46 b Fb(107)2025 4875 y Fe(backward-word)28
+4941 y Fe(backward-kill-word)29 b(\(M-)2873 4938 y Fg(h)p
+2898 4885 146 4 v 2898 4941 a Ff(DEL)p 2898 4956 V 3040
+4938 a Fg(i)3070 4941 y Fe(\))20 b Fc(.)12 b(.)h(.)f(.)g(.)h(.)f(.)g(.)
+h(.)f(.)g(.)h(.)f(.)46 b Fb(107)2025 5074 y Fe(backward-word)28
 b(\(M-b\))15 b Fc(.)e(.)g(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
 (.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)41 b Fb(104)2025
-4968 y Fe(beginning-of-history)30 b(\(M-<\))24 b Fc(.)12
+5207 y Fe(beginning-of-history)30 b(\(M-<\))24 b Fc(.)12
 b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)49
-b Fb(105)2025 5060 y Fe(beginning-of-line)29 b(\(C-a\))9
+b Fb(105)2025 5340 y Fe(beginning-of-line)29 b(\(C-a\))9
 b Fc(.)14 b(.)e(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
-(.)h(.)f(.)35 b Fb(104)2025 5340 y Fr(C)p eop end
+(.)h(.)f(.)35 b Fb(104)p eop end
 %%Page: 153 159
 TeXDict begin 153 158 bop 150 -116 a Ft(App)s(endix)29
-b(D:)i(Indexes)2623 b(153)150 299 y Fe(call-last-kbd-macro)30
-b(\(C-x)c(e\))10 b Fc(.)j(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
-(.)f(.)g(.)36 b Fb(110)150 394 y Fe(capitalize-word)29
-b(\(M-c\))12 b Fc(.)h(.)g(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f
-(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)38 b Fb(106)150 490 y
-Fe(character-search)29 b(\(C-]\))10 b Fc(.)k(.)e(.)h(.)f(.)g(.)h(.)f(.)
-g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)36 b
-Fb(110)150 586 y Fe(character-search-backward)31 b(\(M-C-]\))12
-b Fc(.)j(.)d(.)g(.)h(.)f(.)g(.)h(.)38 b Fb(111)150 681
-y Fe(clear-screen)28 b(\(C-l\))16 b Fc(.)e(.)e(.)h(.)f(.)g(.)h(.)f(.)g
-(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)42
-b Fb(104)150 777 y Fe(complete)27 b(\()528 774 y Fg(h)p
-553 721 148 4 v 553 777 a Ff(T)-6 b(AB)p 553 792 V 697
-774 a Fg(i)726 777 y Fe(\))18 b Fc(.)13 b(.)f(.)h(.)f(.)g(.)h(.)f(.)g
-(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
-44 b Fb(108)150 872 y Fe(complete-command)29 b(\(M-!\))10
+b(D:)i(Indexes)2623 b(153)150 299 y Fr(C)150 428 y Fe
+(call-last-kbd-macro)30 b(\(C-x)c(e\))10 b Fc(.)j(.)f(.)h(.)f(.)g(.)h
+(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)36 b Fb(110)150 521
+y Fe(capitalize-word)29 b(\(M-c\))12 b Fc(.)h(.)g(.)f(.)g(.)h(.)f(.)g
+(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)38
+b Fb(106)150 615 y Fe(character-search)29 b(\(C-]\))10
 b Fc(.)k(.)e(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
-g(.)g(.)h(.)36 b Fb(109)150 968 y Fe(complete-filename)29
-b(\(M-/\))9 b Fc(.)14 b(.)e(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
-(.)f(.)g(.)h(.)f(.)g(.)35 b Fb(109)150 1063 y Fe(complete-hostname)29
+g(.)g(.)h(.)36 b Fb(110)150 708 y Fe(character-search-backward)31
+b(\(M-C-]\))12 b Fc(.)j(.)d(.)g(.)h(.)f(.)g(.)h(.)38
+b Fb(111)150 802 y Fe(clear-screen)28 b(\(C-l\))16 b
+Fc(.)e(.)e(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
+(.)g(.)h(.)f(.)g(.)h(.)f(.)42 b Fb(104)150 896 y Fe(complete)27
+b(\()528 893 y Fg(h)p 553 839 148 4 v 553 896 a Ff(T)-6
+b(AB)p 553 911 V 697 893 a Fg(i)726 896 y Fe(\))18 b
+Fc(.)13 b(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
+(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)44 b Fb(108)150
+989 y Fe(complete-command)29 b(\(M-!\))10 b Fc(.)k(.)e(.)h(.)f(.)g(.)h
+(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)36
+b Fb(109)150 1083 y Fe(complete-filename)29 b(\(M-/\))9
+b Fc(.)14 b(.)e(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
+(.)f(.)g(.)35 b Fb(109)150 1176 y Fe(complete-hostname)29
 b(\(M-@\))9 b Fc(.)14 b(.)e(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
-(.)f(.)g(.)h(.)f(.)g(.)35 b Fb(109)150 1159 y Fe(complete-into-braces)
+(.)f(.)g(.)h(.)f(.)g(.)35 b Fb(109)150 1270 y Fe(complete-into-braces)
 30 b(\(M-{\))24 b Fc(.)12 b(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h
-(.)f(.)g(.)49 b Fb(109)150 1255 y Fe(complete-username)29
+(.)f(.)g(.)49 b Fb(109)150 1363 y Fe(complete-username)29
 b(\(M-~\))9 b Fc(.)14 b(.)e(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
-(.)f(.)g(.)h(.)f(.)g(.)35 b Fb(109)150 1350 y Fe(complete-variable)29
+(.)f(.)g(.)h(.)f(.)g(.)35 b Fb(109)150 1457 y Fe(complete-variable)29
 b(\(M-$\))9 b Fc(.)14 b(.)e(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
-(.)f(.)g(.)h(.)f(.)g(.)35 b Fb(109)150 1446 y Fe(copy-backward-word)30
+(.)f(.)g(.)h(.)f(.)g(.)35 b Fb(109)150 1550 y Fe(copy-backward-word)30
 b(\(\))12 b Fc(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g
-(.)h(.)f(.)g(.)h(.)f(.)g(.)38 b Fb(107)150 1541 y Fe(copy-forward-word)
+(.)h(.)f(.)g(.)h(.)f(.)g(.)38 b Fb(107)150 1644 y Fe(copy-forward-word)
 29 b(\(\))13 b Fc(.)g(.)g(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
-(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)39 b Fb(107)150 1637
+(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)39 b Fb(107)150 1737
 y Fe(copy-region-as-kill)30 b(\(\))10 b Fc(.)j(.)f(.)h(.)f(.)g(.)h(.)f
 (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)36
-b Fb(107)150 1932 y Fr(D)150 2066 y Fe(dabbrev-expand)29
+b Fb(107)150 2022 y Fr(D)150 2151 y Fe(dabbrev-expand)29
 b(\(\))18 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(.)43 b Fb(109)150
-2161 y Fe(delete-char)28 b(\(C-d\))18 b Fc(.)13 b(.)f(.)h(.)f(.)g(.)h
+2245 y Fe(delete-char)28 b(\(C-d\))18 b Fc(.)13 b(.)f(.)h(.)f(.)g(.)h
 (.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
-h(.)43 b Fb(106)150 2257 y Fe(delete-char-or-list)30
+h(.)43 b Fb(106)150 2338 y Fe(delete-char-or-list)30
 b(\(\))10 b Fc(.)j(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
-(.)h(.)f(.)g(.)g(.)h(.)36 b Fb(109)150 2352 y Fe
+(.)h(.)f(.)g(.)g(.)h(.)36 b Fb(109)150 2432 y Fe
 (delete-horizontal-space)31 b(\(\))23 b Fc(.)12 b(.)h(.)f(.)g(.)h(.)f
-(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)49 b Fb(107)150 2448
+(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)49 b Fb(107)150 2525
 y Fe(digit-argument)29 b(\()p Fd(M-0)p Fe(,)e Fd(M-1)p
 Fe(,)f(...)g Fd(M--)p Fe(\))13 b Fc(.)h(.)e(.)h(.)f(.)g(.)g(.)h(.)39
-b Fb(108)150 2543 y Fe(display-shell-version)30 b(\(C-x)d(C-v\))c
+b Fb(108)150 2619 y Fe(display-shell-version)30 b(\(C-x)d(C-v\))c
 Fc(.)12 b(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)48 b Fb(111)150
-2639 y Fe(do-uppercase-version)30 b(\(M-a,)d(M-b,)f(M-)p
-Fd(x)p Fe(,)h(...)q(\))317 2726 y Fc(.)12 b(.)g(.)h(.)f(.)g(.)h(.)f(.)g
+2712 y Fe(do-uppercase-version)30 b(\(M-a,)d(M-b,)f(M-)p
+Fd(x)p Fe(,)h(...)q(\))317 2799 y 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(.)g(.)h(.)
 f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)39
-b Fb(110)150 2822 y Fe(downcase-word)29 b(\(M-l\))15
+b Fb(110)150 2893 y Fe(downcase-word)29 b(\(M-l\))15
 b Fc(.)e(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
-f(.)g(.)g(.)h(.)f(.)g(.)41 b Fb(106)150 2917 y Fe(dump-functions)29
+f(.)g(.)g(.)h(.)f(.)g(.)41 b Fb(106)150 2987 y Fe(dump-functions)29
 b(\(\))18 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(.)43 b Fb(111)150
-3013 y Fe(dump-macros)28 b(\(\))22 b Fc(.)13 b(.)f(.)g(.)h(.)f(.)g(.)h
+3080 y Fe(dump-macros)28 b(\(\))22 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(.)48 b Fb(111)150 3108 y Fe(dump-variables)29
+h(.)f(.)g(.)48 b Fb(111)150 3174 y Fe(dump-variables)29
 b(\(\))18 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(.)43 b Fb(111)150
-3204 y Fe(dynamic-complete-history)31 b(\(M-)1234 3201
-y Fg(h)p 1259 3148 V 1259 3204 a Ff(T)-6 b(AB)p 1259
-3219 V 1403 3201 a Fg(i)1432 3204 y Fe(\))10 b Fc(.)j(.)g(.)f(.)g(.)h
-(.)f(.)36 b Fb(109)150 3500 y Fr(E)150 3633 y Fe
+3267 y Fe(dynamic-complete-history)31 b(\(M-)1234 3264
+y Fg(h)p 1259 3211 V 1259 3267 a Ff(T)-6 b(AB)p 1259
+3282 V 1403 3264 a Fg(i)1432 3267 y Fe(\))10 b Fc(.)j(.)g(.)f(.)g(.)h
+(.)f(.)36 b Fb(109)150 3552 y Fr(E)150 3681 y Fe
 (edit-and-execute-command)31 b(\(C-xC-e\))12 b Fc(.)j(.)d(.)g(.)h(.)f
-(.)g(.)h(.)38 b Fb(112)150 3728 y Fe(end-kbd-macro)29
+(.)g(.)h(.)38 b Fb(112)150 3774 y Fe(end-kbd-macro)29
 b(\(C-x)d(\)\))19 b Fc(.)12 b(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
 (.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)44 b Fb(110)150
-3824 y Fe(end-of-history)29 b(\(M->\))13 b Fc(.)g(.)g(.)f(.)g(.)h(.)f
+3868 y Fe(end-of-history)29 b(\(M->\))13 b Fc(.)g(.)g(.)f(.)g(.)h(.)f
 (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)39
-b Fb(105)150 3919 y Fe(end-of-line)28 b(\(C-e\))18 b
+b Fb(105)150 3962 y Fe(end-of-line)28 b(\(C-e\))18 b
 Fc(.)13 b(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
-(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)43 b Fb(104)150 4015
+(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)43 b Fb(104)150 4055
 y Fe(exchange-point-and-mark)31 b(\(C-x)26 b(C-x\))21
 b Fc(.)12 b(.)g(.)h(.)f(.)g(.)g(.)h(.)45 b Fb(110)150
-4311 y Fr(F)150 4444 y Fe(forward-backward-delete-char)32
+4340 y Fr(F)150 4469 y Fe(forward-backward-delete-char)32
 b(\(\))15 b Fc(.)e(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)41
-b Fb(106)150 4539 y Fe(forward-char)28 b(\(C-f\))16 b
+b Fb(106)150 4562 y Fe(forward-char)28 b(\(C-f\))16 b
 Fc(.)e(.)e(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
-(.)g(.)h(.)f(.)g(.)h(.)f(.)42 b Fb(104)150 4635 y Fe
+(.)g(.)h(.)f(.)g(.)h(.)f(.)42 b Fb(104)150 4656 y Fe
 (forward-search-history)31 b(\(C-s\))20 b Fc(.)13 b(.)f(.)g(.)h(.)f(.)g
-(.)h(.)f(.)g(.)h(.)f(.)g(.)46 b Fb(105)150 4730 y Fe(forward-word)28
+(.)h(.)f(.)g(.)h(.)f(.)g(.)46 b Fb(105)150 4749 y Fe(forward-word)28
 b(\(M-f\))16 b Fc(.)e(.)e(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h
 (.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)42 b Fb(104)150
-5016 y Fr(G)150 5149 y Fe(glob-complete-word)30 b(\(M-g\))7
+5024 y Fr(G)150 5153 y Fe(glob-complete-word)30 b(\(M-g\))7
 b Fc(.)14 b(.)e(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
-(.)h(.)33 b Fb(111)150 5244 y Fe(glob-expand-word)c(\(C-x)e(*\))14
+(.)h(.)33 b Fb(111)150 5246 y Fe(glob-expand-word)c(\(C-x)e(*\))14
 b Fc(.)f(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
 f(.)40 b Fb(111)150 5340 y Fe(glob-list-expansions)30
 b(\(C-x)d(g\))8 b Fc(.)13 b(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
@@ -15632,7 +15744,7 @@ b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
 g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)50
 b Fb(76)150 2643 y(arithmetic)26 b(expansion)12 b Fc(.)h(.)f(.)h(.)f(.)
 g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
-(.)f(.)g(.)38 b Fb(22)150 2732 y(arithmetic,)27 b(shell)20
+(.)f(.)g(.)38 b Fb(23)150 2732 y(arithmetic,)27 b(shell)20
 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(.)45
 b Fb(76)150 2821 y(arra)n(ys)6 b Fc(.)13 b(.)g(.)f(.)g(.)h(.)f(.)g(.)g
@@ -15710,14 +15822,14 @@ Fc(.)13 b(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g
 (.)h(.)f(.)g(.)h(.)f(.)g(.)48 b Fb(91)2025 3403 y(en)n(vironmen)n(t)10
 b Fc(.)h(.)i(.)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(.)36
-b Fb(31)2025 3494 y(ev)l(aluation,)26 b(arithmetic)13
+b Fb(32)2025 3494 y(ev)l(aluation,)26 b(arithmetic)13
 b Fc(.)h(.)e(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
 f(.)g(.)h(.)f(.)g(.)g(.)h(.)39 b Fb(76)2025 3584 y(ev)n(en)n(t)24
 b(designators)18 b Fc(.)d(.)d(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f
 (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)44
 b Fb(122)2025 3675 y(execution)25 b(en)n(vironmen)n(t)19
 b Fc(.)13 b(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g
-(.)h(.)f(.)g(.)h(.)f(.)g(.)46 b Fb(30)2025 3766 y(exit)25
+(.)h(.)f(.)g(.)h(.)f(.)g(.)46 b Fb(31)2025 3766 y(exit)25
 b(status)17 b Fc(.)c(.)f(.)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
 (.)43 b Fb(3,)26 b(32)2025 3857 y(expansion)16 b Fc(.)c(.)h(.)f(.)g(.)h
@@ -15725,17 +15837,17 @@ g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h
 h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)42 b
 Fb(17)2025 3948 y(expansion,)26 b(arithmetic)20 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(.)45 b Fb(22)2025 4039 y(expansion,)26
+(.)g(.)h(.)f(.)g(.)h(.)45 b Fb(23)2025 4039 y(expansion,)26
 b(brace)12 b Fc(.)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(.)38
 b Fb(18)2025 4130 y(expansion,)26 b(\014lename)18 b Fc(.)12
 b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g
-(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)43 b Fb(23)2025 4221 y(expansion,)26
+(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)43 b Fb(24)2025 4221 y(expansion,)26
 b(parameter)c Fc(.)13 b(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
 (.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)47 b Fb(19)2025
 4311 y(expansion,)26 b(pathname)8 b Fc(.)k(.)g(.)h(.)f(.)g(.)h(.)f(.)g
 (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)34
-b Fb(23)2025 4402 y(expansion,)26 b(tilde)9 b Fc(.)j(.)h(.)f(.)g(.)h(.)
+b Fb(24)2025 4402 y(expansion,)26 b(tilde)9 b Fc(.)j(.)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(.)35 b Fb(18)2025 4493 y(expressions,)27
 b(arithmetic)16 b Fc(.)d(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)
@@ -15750,7 +15862,7 @@ b Fc(.)k(.)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(.)f(.)34 b Fb(3)2025 5158 y(\014lename)26 b(expansion)10
 b Fc(.)i(.)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(.)36 b Fb(23)2025
+g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)36 b Fb(24)2025
 5249 y(foreground)20 b Fc(.)12 b(.)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(.)45 b Fb(87)2025 5340 y(functions,)26
@@ -15836,7 +15948,7 @@ b(sp)r(ecial)e Fc(.)12 b(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)
 f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)49
 b Fb(16)150 4979 y(pathname)25 b(expansion)19 b Fc(.)12
 b(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
-(.)g(.)h(.)f(.)g(.)h(.)f(.)44 b Fb(23)150 5067 y(pattern)25
+(.)g(.)h(.)f(.)g(.)h(.)f(.)44 b Fb(24)150 5067 y(pattern)25
 b(matc)n(hing)18 b Fc(.)13 b(.)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(.)43
 b Fb(24)2025 299 y(pip)r(eline)15 b Fc(.)e(.)f(.)g(.)h(.)f(.)g(.)h(.)f
@@ -15847,7 +15959,7 @@ 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(.)35 b Fb(3)2025
 474 y(POSIX)24 b(Mo)r(de)10 b Fc(.)j(.)f(.)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(82)2025 562 y(pro)r(cess)26
+(.)h(.)f(.)g(.)h(.)35 b Fb(83)2025 562 y(pro)r(cess)26
 b(group)7 b Fc(.)13 b(.)g(.)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(.)34 b Fb(3)2025 650 y(pro)r(cess)26 b(group)g(ID)e
@@ -15855,7 +15967,7 @@ Fc(.)12 b(.)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(.)50
 b Fb(3)2025 738 y(pro)r(cess)26 b(substitution)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(.)h(.)f(.)36 b Fb(22)2025 826 y(programmable)27
+f(.)g(.)h(.)f(.)36 b Fb(23)2025 826 y(programmable)27
 b(completion)16 b Fc(.)d(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
 h(.)f(.)g(.)h(.)f(.)g(.)42 b Fb(112)2025 913 y(prompting)7
 b Fc(.)12 b(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
@@ -15871,7 +15983,7 @@ b Fb(6)2025 1624 y Fr(R)2025 1741 y Fb(Readline,)26 b(ho)n(w)g(to)g
 h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)40 b Fb(90)2025
 1829 y(redirection)21 b Fc(.)12 b(.)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(.)g(.)h(.)46 b Fb(25)2025 1917 y(reserv)n(ed)25
+f(.)g(.)h(.)f(.)g(.)h(.)46 b Fb(26)2025 1917 y(reserv)n(ed)25
 b(w)n(ord)f Fc(.)13 b(.)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(.)50 b Fb(3)2025 2004 y(restricted)26 b(shell)8 b Fc(.)13
@@ -15899,7 +16011,7 @@ 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(.)40
 b Fb(4)2025 2972 y(signal)27 b(handling)18 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(.)g(.)h(.)f(.)g(.)h(.)44 b Fb(32)2025
+(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)44 b Fb(33)2025
 3060 y(sp)r(ecial)27 b(builtin)12 b Fc(.)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(.)g(.)h(.)38 b Fb(4,)26 b(58)2025 3148 y(startup)f(\014les)20
index e699a5ce54c0f4c175a8a3cb3dfca147aa6370f6..7a53e820833084d2c88316f3a581424e3b09a62a 100644 (file)
@@ -16,7 +16,7 @@ This is Edition @value{EDITION}, last updated @value{UPDATED},
 of @cite{The GNU Bash Reference Manual},
 for @code{Bash}, Version @value{VERSION}.
 
-Copyright @copyright{} 1988--2007 Free Software Foundation, Inc.
+Copyright @copyright{} 1988--2008 Free Software Foundation, Inc.
 
 Permission is granted to make and distribute verbatim copies of
 this manual provided the copyright notice and this permission notice
@@ -584,6 +584,7 @@ some other grouping.
                                commands.
 * Lists::                      How to execute commands sequentially.
 * Compound Commands::          Shell commands for control flow.
+* Coprocesses::                        Two-way communication between commands.
 @end menu
 
 @node Simple Commands
@@ -1074,6 +1075,41 @@ from the @var{list} by whitespace.
 The exit status of both of these constructs is the exit status of
 @var{list}.
 
+@node Coprocesses
+@subsection Coprocesses
+@cindex coprocess
+
+A @code{coprocess} is a shell command preceded by the @code{coproc}
+reserved word.
+A coprocess is executed asynchronously in a subshell, as if the command
+had been terminated with the @samp{&} control operator, with a two-way pipe
+established between the executing shell and the coprocess.
+
+The format for a coprocess is:
+@example
+@code{coproc} [@var{NAME}] @var{command} [@var{redirections}]
+@end example
+
+@noindent
+This creates a coprocess named @var{NAME}.
+If @var{NAME} is not supplied, the default name is @var{COPROC}.
+
+When the coproc is executed, the shell creates an array variable
+(@pxref{Arrays})
+named @var{NAME} in the context of the executing shell.
+The standard output of @var{command}
+is connected via a pipe to a file descriptor in the executing shell,
+and that file descriptor is assigned to @var{NAME}[0].
+The standard input of @var{command}
+is connected via a pipe to a file descriptor in the executing shell,
+and that file descriptor is assigned to @var{NAME}[1].
+This pipe is established before any redirections specified by the
+command (@pxref{Redirections}).
+The file descriptors can be utilized as arguments to shell commands
+and redirections using standard word expansions.
+
+The return status of a coprocess is the exit status of @var{command}.
+
 @node Shell Functions
 @section Shell Functions
 @cindex shell function
@@ -1620,11 +1656,14 @@ If @var{offset} evaluates to a number less than zero, the value
 is used as an offset from the end of the value of @var{parameter}.
 If @var{parameter} is @samp{@@}, the result is @var{length} positional
 parameters beginning at @var{offset}.
-If @var{parameter} is an array name indexed by @samp{@@} or @samp{*},
-the result is the @var{length}
+If @var{parameter} is an indexed array name subscripted
+by @samp{@@} or @samp{*}, the result is the @var{length}
 members of the array beginning with @code{$@{@var{parameter}[@var{offset}]@}}.
 A negative @var{offset} is taken relative to one greater than the maximum
 index of the specified array.
+Substring expansion applied to an associative array produces undefined
+results.
+
 Note that a negative offset must be separated from the colon by at least
 one space to avoid being confused with the @samp{:-} expansion.
 Substring indexing is zero-based unless the positional parameters
@@ -1711,6 +1750,29 @@ is an array variable subscripted with @samp{@@} or @samp{*},
 the substitution operation is applied to each member of the
 array in turn, and the expansion is the resultant list.
 
+@item $@{@var{parameter}^@var{pattern}@}
+@itemx $@{@var{parameter}^^@var{pattern}@}
+@itemx $@{@var{parameter},@var{pattern}@}
+@itemx $@{@var{parameter},,@var{pattern}@}
+This expansion modifies the case of alphabetic characters in @var{parameter}.
+The @var{pattern} is expanded to produce a pattern just as in
+pathname expansion.
+The @samp{^} operator converts lowercase letters matching @var{pattern}
+to uppercase; the @samp{,} operator converts matching uppercase letters
+to lowercase.
+The @samp{^^} and @samp{,,} expansions convert each matched character in the
+expanded value; the @samp{^} and @samp{,} expansions match and convert only
+the first character.
+If @var{pattern} is omitted, it is treated like a @samp{?}, which matches
+every character.
+If @var{parameter} is @samp{@@} or @samp{*},
+the case modification operation is applied to each positional
+parameter in turn, and the expansion is the resultant list.
+If @var{parameter}
+is an array variable subscripted with @samp{@@} or @samp{*},
+the case modification operation is applied to each member of the
+array in turn, and the expansion is the resultant list.
+
 @end table
 
 @node Command Substitution
@@ -3321,7 +3383,7 @@ zero if @var{command} is found, and non-zero if not.
 @item declare
 @btindex declare
 @example
-declare [-aAfFirtx] [-p] [@var{name}[=@var{value}] @dots{}]
+declare [-aAfFilrtux] [-p] [@var{name}[=@var{value}] @dots{}]
 @end example
 
 Declare variables and give them attributes.  If no @var{name}s
@@ -3363,6 +3425,11 @@ The variable is to be treated as
 an integer; arithmetic evaluation (@pxref{Shell Arithmetic}) is
 performed when the variable is assigned a value.
 
+@item -l
+When the variable is assigned a value, all upper-case characters are
+converted to lower-case.
+The upper-case attribute is disabled.
+
 @item -r
 Make @var{name}s readonly.  These names cannot then be assigned values
 by subsequent assignment statements or unset.
@@ -3373,6 +3440,11 @@ Traced functions inherit the @code{DEBUG} and @code{RETURN} traps from
 the calling shell.
 The trace attribute has no special meaning for variables.
 
+@item -u
+When the variable is assigned a value, all lower-case characters are
+converted to upper-case.
+The lower-case attribute is disabled.
+
 @item -x
 Mark each @var{name} for export to subsequent commands via
 the environment.
@@ -3621,8 +3693,9 @@ meaning for the next character read and for line continuation.
 If no names are supplied, the line read is assigned to the
 variable @env{REPLY}.
 The return code is zero, unless end-of-file is encountered, @code{read}
-times out, or an invalid file descriptor is supplied as the argument to
-@option{-u}.
+times out (in which case the return code is greater than 128), or an
+invalid file descriptor is supplied as the argument to @option{-u}.
+
 Options, if supplied, have the following meanings:
 
 @table @code
@@ -5828,8 +5901,8 @@ For almost every purpose, shell functions are preferred over aliases.
 @cindex arrays
 
 Bash provides one-dimensional indexed and associative array variables.
-Any variable may be used as an array; the @code{declare} builtin will
-explicitly declare an array.
+Any variable may be used as an indexed array;
+the @code{declare} 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.
@@ -5856,24 +5929,27 @@ The syntax
 declare -a @var{name}[@var{subscript}]
 @end example
 @noindent
-is also accepted; the @var{subscript} is ignored.  Attributes may be
-specified for an array variable using the @code{declare} and
-@code{readonly} builtins.  Each attribute applies to all members of
-an array.
+is also accepted; the @var{subscript} is ignored.
 
 Associative arrays are created using
 @example
 declare -A @var{name}.
 @end example
 
+Attributes may be
+specified for an array variable using the @code{declare} and
+@code{readonly} builtins.  Each attribute applies to all members of
+an array.
+
 Arrays are assigned to using compound assignments of the form
 @example
 name=(value@var{1} @dots{} value@var{n})
 @end example
 @noindent
 where each
-@var{value} is of the form @code{[[@var{subscript}]=]}@var{string}.
-When using indexed arrays, if
+@var{value} is of the form @code{[@var{subscript}]=}@var{string}.
+Indexed array assignments do not require the bracket and subscript.
+When assigning to indexed arrays, if
 the optional subscript is 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.
@@ -6655,8 +6731,9 @@ argument restricts operation to running jobs.
 suspend [-f]
 @end example
 Suspend the execution of this shell until it receives a
-@code{SIGCONT} signal.  The @option{-f} option means to suspend
-even if the shell is a login shell.
+@code{SIGCONT} signal.
+A login shell cannot be suspended; the @option{-f}
+option can be used to override this and force the suspension.
 
 @end table
 
@@ -7076,6 +7153,10 @@ Include support for matching POSIX regular expressions using the
 @samp{=~} binary operator in the @code{[[} conditional command.
 (@pxref{Conditional Constructs}).
 
+@item --enable-coprocesses
+Include support for coprocesses and the @code{coproc} reserved word
+(@pxref{Pipelines}).
+
 @item --enable-debugger
 Include support for the bash debugger (distributed separately).
 
index fae8e2aeb7f241d7676e804cfab9080774b8f745..7a53e820833084d2c88316f3a581424e3b09a62a 100644 (file)
@@ -16,7 +16,7 @@ This is Edition @value{EDITION}, last updated @value{UPDATED},
 of @cite{The GNU Bash Reference Manual},
 for @code{Bash}, Version @value{VERSION}.
 
-Copyright @copyright{} 1988--2007 Free Software Foundation, Inc.
+Copyright @copyright{} 1988--2008 Free Software Foundation, Inc.
 
 Permission is granted to make and distribute verbatim copies of
 this manual provided the copyright notice and this permission notice
@@ -584,6 +584,7 @@ some other grouping.
                                commands.
 * Lists::                      How to execute commands sequentially.
 * Compound Commands::          Shell commands for control flow.
+* Coprocesses::                        Two-way communication between commands.
 @end menu
 
 @node Simple Commands
@@ -1074,6 +1075,41 @@ from the @var{list} by whitespace.
 The exit status of both of these constructs is the exit status of
 @var{list}.
 
+@node Coprocesses
+@subsection Coprocesses
+@cindex coprocess
+
+A @code{coprocess} is a shell command preceded by the @code{coproc}
+reserved word.
+A coprocess is executed asynchronously in a subshell, as if the command
+had been terminated with the @samp{&} control operator, with a two-way pipe
+established between the executing shell and the coprocess.
+
+The format for a coprocess is:
+@example
+@code{coproc} [@var{NAME}] @var{command} [@var{redirections}]
+@end example
+
+@noindent
+This creates a coprocess named @var{NAME}.
+If @var{NAME} is not supplied, the default name is @var{COPROC}.
+
+When the coproc is executed, the shell creates an array variable
+(@pxref{Arrays})
+named @var{NAME} in the context of the executing shell.
+The standard output of @var{command}
+is connected via a pipe to a file descriptor in the executing shell,
+and that file descriptor is assigned to @var{NAME}[0].
+The standard input of @var{command}
+is connected via a pipe to a file descriptor in the executing shell,
+and that file descriptor is assigned to @var{NAME}[1].
+This pipe is established before any redirections specified by the
+command (@pxref{Redirections}).
+The file descriptors can be utilized as arguments to shell commands
+and redirections using standard word expansions.
+
+The return status of a coprocess is the exit status of @var{command}.
+
 @node Shell Functions
 @section Shell Functions
 @cindex shell function
@@ -1620,11 +1656,14 @@ If @var{offset} evaluates to a number less than zero, the value
 is used as an offset from the end of the value of @var{parameter}.
 If @var{parameter} is @samp{@@}, the result is @var{length} positional
 parameters beginning at @var{offset}.
-If @var{parameter} is an array name indexed by @samp{@@} or @samp{*},
-the result is the @var{length}
+If @var{parameter} is an indexed array name subscripted
+by @samp{@@} or @samp{*}, the result is the @var{length}
 members of the array beginning with @code{$@{@var{parameter}[@var{offset}]@}}.
 A negative @var{offset} is taken relative to one greater than the maximum
 index of the specified array.
+Substring expansion applied to an associative array produces undefined
+results.
+
 Note that a negative offset must be separated from the colon by at least
 one space to avoid being confused with the @samp{:-} expansion.
 Substring indexing is zero-based unless the positional parameters
@@ -1711,6 +1750,29 @@ is an array variable subscripted with @samp{@@} or @samp{*},
 the substitution operation is applied to each member of the
 array in turn, and the expansion is the resultant list.
 
+@item $@{@var{parameter}^@var{pattern}@}
+@itemx $@{@var{parameter}^^@var{pattern}@}
+@itemx $@{@var{parameter},@var{pattern}@}
+@itemx $@{@var{parameter},,@var{pattern}@}
+This expansion modifies the case of alphabetic characters in @var{parameter}.
+The @var{pattern} is expanded to produce a pattern just as in
+pathname expansion.
+The @samp{^} operator converts lowercase letters matching @var{pattern}
+to uppercase; the @samp{,} operator converts matching uppercase letters
+to lowercase.
+The @samp{^^} and @samp{,,} expansions convert each matched character in the
+expanded value; the @samp{^} and @samp{,} expansions match and convert only
+the first character.
+If @var{pattern} is omitted, it is treated like a @samp{?}, which matches
+every character.
+If @var{parameter} is @samp{@@} or @samp{*},
+the case modification operation is applied to each positional
+parameter in turn, and the expansion is the resultant list.
+If @var{parameter}
+is an array variable subscripted with @samp{@@} or @samp{*},
+the case modification operation is applied to each member of the
+array in turn, and the expansion is the resultant list.
+
 @end table
 
 @node Command Substitution
@@ -3321,7 +3383,7 @@ zero if @var{command} is found, and non-zero if not.
 @item declare
 @btindex declare
 @example
-declare [-aAfFirtx] [-p] [@var{name}[=@var{value}] @dots{}]
+declare [-aAfFilrtux] [-p] [@var{name}[=@var{value}] @dots{}]
 @end example
 
 Declare variables and give them attributes.  If no @var{name}s
@@ -3363,6 +3425,11 @@ The variable is to be treated as
 an integer; arithmetic evaluation (@pxref{Shell Arithmetic}) is
 performed when the variable is assigned a value.
 
+@item -l
+When the variable is assigned a value, all upper-case characters are
+converted to lower-case.
+The upper-case attribute is disabled.
+
 @item -r
 Make @var{name}s readonly.  These names cannot then be assigned values
 by subsequent assignment statements or unset.
@@ -3373,6 +3440,11 @@ Traced functions inherit the @code{DEBUG} and @code{RETURN} traps from
 the calling shell.
 The trace attribute has no special meaning for variables.
 
+@item -u
+When the variable is assigned a value, all lower-case characters are
+converted to upper-case.
+The lower-case attribute is disabled.
+
 @item -x
 Mark each @var{name} for export to subsequent commands via
 the environment.
@@ -3621,8 +3693,9 @@ meaning for the next character read and for line continuation.
 If no names are supplied, the line read is assigned to the
 variable @env{REPLY}.
 The return code is zero, unless end-of-file is encountered, @code{read}
-times out, or an invalid file descriptor is supplied as the argument to
-@option{-u}.
+times out (in which case the return code is greater than 128), or an
+invalid file descriptor is supplied as the argument to @option{-u}.
+
 Options, if supplied, have the following meanings:
 
 @table @code
@@ -4558,7 +4631,7 @@ builtin).
 An associative array variable whose members correspond to the internal
 hash table of commands as maintained by the @code{hash} builtin
 (@pxref{Bourne Shell Builtins}).
-Elements are to this array appear in the hash table; unsetting array
+Elements added to this array appear in the hash table; unsetting array
 elements cause commands to be removed from the hash table.
 
 @item BASH_COMMAND
@@ -5828,8 +5901,8 @@ For almost every purpose, shell functions are preferred over aliases.
 @cindex arrays
 
 Bash provides one-dimensional indexed and associative array variables.
-Any variable may be used as an array; the @code{declare} builtin will
-explicitly declare an array.
+Any variable may be used as an indexed array;
+the @code{declare} 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.
@@ -5856,24 +5929,27 @@ The syntax
 declare -a @var{name}[@var{subscript}]
 @end example
 @noindent
-is also accepted; the @var{subscript} is ignored.  Attributes may be
-specified for an array variable using the @code{declare} and
-@code{readonly} builtins.  Each attribute applies to all members of
-an array.
+is also accepted; the @var{subscript} is ignored.
 
 Associative arrays are created using
 @example
 declare -A @var{name}.
 @end example
 
+Attributes may be
+specified for an array variable using the @code{declare} and
+@code{readonly} builtins.  Each attribute applies to all members of
+an array.
+
 Arrays are assigned to using compound assignments of the form
 @example
 name=(value@var{1} @dots{} value@var{n})
 @end example
 @noindent
 where each
-@var{value} is of the form @code{[[@var{subscript}]=]}@var{string}.
-When using indexed arrays, if
+@var{value} is of the form @code{[@var{subscript}]=}@var{string}.
+Indexed array assignments do not require the bracket and subscript.
+When assigning to indexed arrays, if
 the optional subscript is 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.
@@ -6655,8 +6731,9 @@ argument restricts operation to running jobs.
 suspend [-f]
 @end example
 Suspend the execution of this shell until it receives a
-@code{SIGCONT} signal.  The @option{-f} option means to suspend
-even if the shell is a login shell.
+@code{SIGCONT} signal.
+A login shell cannot be suspended; the @option{-f}
+option can be used to override this and force the suspension.
 
 @end table
 
@@ -7076,6 +7153,10 @@ Include support for matching POSIX regular expressions using the
 @samp{=~} binary operator in the @code{[[} conditional command.
 (@pxref{Conditional Constructs}).
 
+@item --enable-coprocesses
+Include support for coprocesses and the @code{coproc} reserved word
+(@pxref{Pipelines}).
+
 @item --enable-debugger
 Include support for the bash debugger (distributed separately).
 
index 953fd0992a74bdd76e7a7f768717ec60e2ae8815..54af3625f2dc7707127471dcf9ab9a5fc2f28fbd 100644 (file)
 \subsecentry{Shell Parameter Expansion}{3}{5}{3}{19}
 \subsecentry{Command Substitution}{3}{5}{4}{22}
 \subsecentry{Arithmetic Expansion}{3}{5}{5}{22}
-\subsecentry{Process Substitution}{3}{5}{6}{22}
+\subsecentry{Process Substitution}{3}{5}{6}{23}
 \subsecentry{Word Splitting}{3}{5}{7}{23}
-\subsecentry{Filename Expansion}{3}{5}{8}{23}
+\subsecentry{Filename Expansion}{3}{5}{8}{24}
 \subsubsecentry{Pattern Matching}{3}{5}{8}{1}{24}
 \subsecentry{Quote Removal}{3}{5}{9}{25}
 \secentry{Redirections}{3}{6}{25}
 \subsecentry{Redirecting Input}{3}{6}{1}{26}
-\subsecentry{Redirecting Output}{3}{6}{2}{26}
+\subsecentry{Redirecting Output}{3}{6}{2}{27}
 \subsecentry{Appending Redirected Output}{3}{6}{3}{27}
 \subsecentry{Redirecting Standard Output and Standard Error}{3}{6}{4}{27}
 \subsecentry{Appending Standard Output and Standard Error}{3}{6}{5}{27}
-\subsecentry{Here Documents}{3}{6}{6}{27}
+\subsecentry{Here Documents}{3}{6}{6}{28}
 \subsecentry{Here Strings}{3}{6}{7}{28}
 \subsecentry{Duplicating File Descriptors}{3}{6}{8}{28}
-\subsecentry{Moving File Descriptors}{3}{6}{9}{28}
+\subsecentry{Moving File Descriptors}{3}{6}{9}{29}
 \subsecentry{Opening File Descriptors for Reading and Writing}{3}{6}{10}{29}
 \secentry{Executing Commands}{3}{7}{29}
 \subsecentry{Simple Command Expansion}{3}{7}{1}{29}
@@ -59,7 +59,7 @@
 \secentry{Bash Builtin Commands}{4}{2}{41}
 \secentry{Modifying Shell Behavior}{4}{3}{50}
 \subsecentry{The Set Builtin}{4}{3}{1}{50}
-\subsecentry{The Shopt Builtin}{4}{3}{2}{53}
+\subsecentry{The Shopt Builtin}{4}{3}{2}{54}
 \secentry{Special Builtins}{4}{4}{58}
 \chapentry{Shell Variables}{5}{59}
 \secentry{Bourne Shell Variables}{5}{1}{59}
 \secentry{Aliases}{6}{6}{77}
 \secentry{Arrays}{6}{7}{78}
 \secentry{The Directory Stack}{6}{8}{79}
-\subsecentry{Directory Stack Builtins}{6}{8}{1}{79}
-\secentry{Controlling the Prompt}{6}{9}{80}
+\subsecentry{Directory Stack Builtins}{6}{8}{1}{80}
+\secentry{Controlling the Prompt}{6}{9}{81}
 \secentry{The Restricted Shell}{6}{10}{82}
-\secentry{Bash POSIX Mode}{6}{11}{82}
+\secentry{Bash POSIX Mode}{6}{11}{83}
 \chapentry{Job Control}{7}{87}
 \secentry{Job Control Basics}{7}{1}{87}
 \secentry{Job Control Builtins}{7}{2}{88}
-\secentry{Job Control Variables}{7}{3}{89}
+\secentry{Job Control Variables}{7}{3}{90}
 \chapentry{Command Line Editing}{8}{91}
 \secentry{Introduction to Line Editing}{8}{1}{91}
 \secentry{Readline Interaction}{8}{2}{91}
index 056e0ad7467dcda4f09d4cce236b2153e2ffd85d..7b50a42cd1b9e57e50802ca1b3edc513adff066c 100644 (file)
 \entry{PS2}{59}{\code {PS2}}
 \entry{BASH}{59}{\code {BASH}}
 \entry{BASHPID}{60}{\code {BASHPID}}
+\entry{BASH_ALIASES}{60}{\code {BASH_ALIASES}}
 \entry{BASH_ARGC}{60}{\code {BASH_ARGC}}
 \entry{BASH_ARGV}{60}{\code {BASH_ARGV}}
+\entry{BASH_CMDS}{60}{\code {BASH_CMDS}}
 \entry{BASH_COMMAND}{60}{\code {BASH_COMMAND}}
 \entry{BASH_ENV}{60}{\code {BASH_ENV}}
 \entry{BASH_EXECUTION_STRING}{60}{\code {BASH_EXECUTION_STRING}}
 \entry{BASH_LINENO}{60}{\code {BASH_LINENO}}
-\entry{BASH_REMATCH}{60}{\code {BASH_REMATCH}}
-\entry{BASH_SOURCE}{60}{\code {BASH_SOURCE}}
+\entry{BASH_REMATCH}{61}{\code {BASH_REMATCH}}
+\entry{BASH_SOURCE}{61}{\code {BASH_SOURCE}}
 \entry{BASH_SUBSHELL}{61}{\code {BASH_SUBSHELL}}
 \entry{BASH_VERSINFO}{61}{\code {BASH_VERSINFO}}
 \entry{BASH_VERSION}{61}{\code {BASH_VERSION}}
 \entry{COLUMNS}{61}{\code {COLUMNS}}
 \entry{COMP_CWORD}{61}{\code {COMP_CWORD}}
 \entry{COMP_LINE}{61}{\code {COMP_LINE}}
-\entry{COMP_POINT}{61}{\code {COMP_POINT}}
-\entry{COMP_TYPE}{61}{\code {COMP_TYPE}}
+\entry{COMP_POINT}{62}{\code {COMP_POINT}}
+\entry{COMP_TYPE}{62}{\code {COMP_TYPE}}
 \entry{COMP_KEY}{62}{\code {COMP_KEY}}
 \entry{COMP_WORDBREAKS}{62}{\code {COMP_WORDBREAKS}}
 \entry{COMP_WORDS}{62}{\code {COMP_WORDS}}
 \entry{COMPREPLY}{62}{\code {COMPREPLY}}
 \entry{DIRSTACK}{62}{\code {DIRSTACK}}
 \entry{EMACS}{62}{\code {EMACS}}
-\entry{EUID}{62}{\code {EUID}}
-\entry{FCEDIT}{62}{\code {FCEDIT}}
-\entry{FIGNORE}{62}{\code {FIGNORE}}
-\entry{FUNCNAME}{62}{\code {FUNCNAME}}
+\entry{EUID}{63}{\code {EUID}}
+\entry{FCEDIT}{63}{\code {FCEDIT}}
+\entry{FIGNORE}{63}{\code {FIGNORE}}
+\entry{FUNCNAME}{63}{\code {FUNCNAME}}
 \entry{GLOBIGNORE}{63}{\code {GLOBIGNORE}}
 \entry{GROUPS}{63}{\code {GROUPS}}
 \entry{histchars}{63}{\code {histchars}}
 \entry{HISTCMD}{63}{\code {HISTCMD}}
 \entry{HISTCONTROL}{63}{\code {HISTCONTROL}}
-\entry{HISTFILE}{63}{\code {HISTFILE}}
-\entry{HISTFILESIZE}{63}{\code {HISTFILESIZE}}
-\entry{HISTIGNORE}{63}{\code {HISTIGNORE}}
+\entry{HISTFILE}{64}{\code {HISTFILE}}
+\entry{HISTFILESIZE}{64}{\code {HISTFILESIZE}}
+\entry{HISTIGNORE}{64}{\code {HISTIGNORE}}
 \entry{HISTSIZE}{64}{\code {HISTSIZE}}
 \entry{HISTTIMEFORMAT}{64}{\code {HISTTIMEFORMAT}}
 \entry{HOSTFILE}{64}{\code {HOSTFILE}}
 \entry{HOSTNAME}{64}{\code {HOSTNAME}}
 \entry{HOSTTYPE}{64}{\code {HOSTTYPE}}
 \entry{IGNOREEOF}{64}{\code {IGNOREEOF}}
-\entry{INPUTRC}{64}{\code {INPUTRC}}
-\entry{LANG}{64}{\code {LANG}}
-\entry{LC_ALL}{64}{\code {LC_ALL}}
+\entry{INPUTRC}{65}{\code {INPUTRC}}
+\entry{LANG}{65}{\code {LANG}}
+\entry{LC_ALL}{65}{\code {LC_ALL}}
 \entry{LC_COLLATE}{65}{\code {LC_COLLATE}}
 \entry{LC_CTYPE}{65}{\code {LC_CTYPE}}
 \entry{LC_MESSAGES}{65}{\code {LC_MESSAGES}}
 \entry{OPTERR}{65}{\code {OPTERR}}
 \entry{OSTYPE}{65}{\code {OSTYPE}}
 \entry{PIPESTATUS}{65}{\code {PIPESTATUS}}
-\entry{POSIXLY_CORRECT}{65}{\code {POSIXLY_CORRECT}}
+\entry{POSIXLY_CORRECT}{66}{\code {POSIXLY_CORRECT}}
 \entry{PPID}{66}{\code {PPID}}
 \entry{PROMPT_COMMAND}{66}{\code {PROMPT_COMMAND}}
+\entry{PROMPT_DIRTRIM}{66}{\code {PROMPT_DIRTRIM}}
 \entry{PS3}{66}{\code {PS3}}
 \entry{PS4}{66}{\code {PS4}}
 \entry{PWD}{66}{\code {PWD}}
@@ -88,8 +91,8 @@
 \entry{SECONDS}{66}{\code {SECONDS}}
 \entry{SHELL}{66}{\code {SHELL}}
 \entry{SHELLOPTS}{66}{\code {SHELLOPTS}}
-\entry{SHLVL}{66}{\code {SHLVL}}
-\entry{TIMEFORMAT}{66}{\code {TIMEFORMAT}}
+\entry{SHLVL}{67}{\code {SHLVL}}
+\entry{TIMEFORMAT}{67}{\code {TIMEFORMAT}}
 \entry{TMOUT}{67}{\code {TMOUT}}
 \entry{TMPDIR}{67}{\code {TMPDIR}}
 \entry{UID}{67}{\code {UID}}
index f0e57e7952b8fc512998404293ca2ce3d5cc65c4..44522c26d682659dd83278abf0248688bcab90d6 100644 (file)
 \entry {\code {auto_resume}}{90}
 \initial {B}
 \entry {\code {BASH}}{59}
+\entry {\code {BASH_ALIASES}}{60}
 \entry {\code {BASH_ARGC}}{60}
 \entry {\code {BASH_ARGV}}{60}
+\entry {\code {BASH_CMDS}}{60}
 \entry {\code {BASH_COMMAND}}{60}
 \entry {\code {BASH_ENV}}{60}
 \entry {\code {BASH_EXECUTION_STRING}}{60}
 \entry {\code {BASH_LINENO}}{60}
-\entry {\code {BASH_REMATCH}}{60}
-\entry {\code {BASH_SOURCE}}{60}
+\entry {\code {BASH_REMATCH}}{61}
+\entry {\code {BASH_SOURCE}}{61}
 \entry {\code {BASH_SUBSHELL}}{61}
 \entry {\code {BASH_VERSINFO}}{61}
 \entry {\code {BASH_VERSION}}{61}
@@ -41,8 +43,8 @@
 \entry {\code {COMP_CWORD}}{61}
 \entry {\code {COMP_KEY}}{62}
 \entry {\code {COMP_LINE}}{61}
-\entry {\code {COMP_POINT}}{61}
-\entry {\code {COMP_TYPE}}{61}
+\entry {\code {COMP_POINT}}{62}
+\entry {\code {COMP_TYPE}}{62}
 \entry {\code {COMP_WORDBREAKS}}{62}
 \entry {\code {COMP_WORDS}}{62}
 \entry {\code {completion-prefix-display-length}}{95}
 \entry {\code {editing-mode}}{96}
 \entry {\code {EMACS}}{62}
 \entry {\code {enable-keypad}}{96}
-\entry {\code {EUID}}{62}
+\entry {\code {EUID}}{63}
 \entry {\code {expand-tilde}}{96}
 \initial {F}
-\entry {\code {FCEDIT}}{62}
-\entry {\code {FIGNORE}}{62}
-\entry {\code {FUNCNAME}}{62}
+\entry {\code {FCEDIT}}{63}
+\entry {\code {FIGNORE}}{63}
+\entry {\code {FUNCNAME}}{63}
 \initial {G}
 \entry {\code {GLOBIGNORE}}{63}
 \entry {\code {GROUPS}}{63}
@@ -69,9 +71,9 @@
 \entry {\code {histchars}}{63}
 \entry {\code {HISTCMD}}{63}
 \entry {\code {HISTCONTROL}}{63}
-\entry {\code {HISTFILE}}{63}
-\entry {\code {HISTFILESIZE}}{63}
-\entry {\code {HISTIGNORE}}{63}
+\entry {\code {HISTFILE}}{64}
+\entry {\code {HISTFILESIZE}}{64}
+\entry {\code {HISTIGNORE}}{64}
 \entry {\code {history-preserve-point}}{96}
 \entry {\code {history-size}}{96}
 \entry {\code {HISTSIZE}}{64}
 \entry {\code {IFS}}{59}
 \entry {\code {IGNOREEOF}}{64}
 \entry {\code {input-meta}}{96}
-\entry {\code {INPUTRC}}{64}
+\entry {\code {INPUTRC}}{65}
 \entry {\code {isearch-terminators}}{97}
 \initial {K}
 \entry {\code {keymap}}{97}
 \initial {L}
-\entry {\code {LANG}}{64}
-\entry {\code {LC_ALL}}{64}
+\entry {\code {LANG}}{65}
+\entry {\code {LC_ALL}}{65}
 \entry {\code {LC_COLLATE}}{65}
 \entry {\code {LC_CTYPE}}{65}
 \entry {\code {LC_MESSAGES}}{7, 65}
 \entry {\code {page-completions}}{97}
 \entry {\code {PATH}}{59}
 \entry {\code {PIPESTATUS}}{65}
-\entry {\code {POSIXLY_CORRECT}}{65}
+\entry {\code {POSIXLY_CORRECT}}{66}
 \entry {\code {PPID}}{66}
 \entry {\code {PROMPT_COMMAND}}{66}
+\entry {\code {PROMPT_DIRTRIM}}{66}
 \entry {\code {PS1}}{59}
 \entry {\code {PS2}}{59}
 \entry {\code {PS3}}{66}
 \entry {\code {SECONDS}}{66}
 \entry {\code {SHELL}}{66}
 \entry {\code {SHELLOPTS}}{66}
-\entry {\code {SHLVL}}{66}
+\entry {\code {SHLVL}}{67}
 \entry {\code {show-all-if-ambiguous}}{98}
 \entry {\code {show-all-if-unmodified}}{98}
 \initial {T}
 \entry {\code {TEXTDOMAIN}}{7}
 \entry {\code {TEXTDOMAINDIR}}{7}
-\entry {\code {TIMEFORMAT}}{66}
+\entry {\code {TIMEFORMAT}}{67}
 \entry {\code {TMOUT}}{67}
 \entry {\code {TMPDIR}}{67}
 \initial {U}
index 43811d0832392ab46b5c6814c9b71fe4f7e7ced3..c8ad33e686f312ad238128956cf941ab40da0a36 100644 (file)
@@ -330,8 +330,8 @@ B\bBA\bAS\bSH\bH B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
               loop) is resumed.  The return value is 0 unless _\bn is not greater
               than or equal to 1.
 
-       d\bde\bec\bcl\bla\bar\bre\be [-\b-a\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] ...]
+       d\bde\bec\bcl\bla\bar\bre\be [-\b-a\baA\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\baA\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\bp is used
@@ -348,7 +348,10 @@ B\bBA\bAS\bSH\bH B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
               played  as  well.   The  -\b-F\bF  option  implies  -\b-f\bf.  The following
               options can be used to restrict output  to  variables  with  the
               specified attribute or to give variables attributes:
-              -\b-a\ba     Each _\bn_\ba_\bm_\be is an array variable (see A\bAr\brr\bra\bay\bys\bs above).
+              -\b-a\ba     Each  _\bn_\ba_\bm_\be  is  an  indexed  array  variable  (see A\bAr\brr\bra\bay\bys\bs
+                     above).
+              -\b-A\bA     Each _\bn_\ba_\bm_\be is an associative array  variable  (see  A\bAr\brr\bra\bay\bys\bs
+                     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
@@ -722,126 +725,126 @@ B\bBA\bAS\bSH\bH B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
 
        l\blo\bog\bgo\bou\but\bt Exit a login shell.
 
-       m\bma\bap\bpf\bfi\bil\ble\be [-\b-n\bn _\bc_\bo_\bu_\bn_\bt] [-\b-O\bO _\bo_\br_\bi_\bg_\bi_\bn] [-\b-s\bs _\bc_\bo_\bu
-              nt_\b] _\b[-\b-t\bt_\b] _\b[-\b-u\bu _\bf_\bd_\b] _\b[-\b-C\bC _\bc_\ba_\bl_\bl_\bb_\ba_\bc_\bk_\b] _\b[-\b-c\bc _\bI_\bq_\bu_\ba_\bn_\bt_\bu_\bm]\b] [\b[_\ba_\br_\br_\ba_\by]\b] R\bRe\bea\bad\bd  l\bli\bin\bne\bes\bs
-              f\bfr\bro\bom\bm  t\bth\bhe\be s\bst\bta\ban\bnd\bda\bar\brd\bd i\bin\bnp\bpu\but\bt i\bin\bnt\bto\bo a\bar\brr\bra\bay\by v\bva\bar\bri\bia\bab\bbl\ble\be _\ba_\br_\br_\ba_\by, or from file
-              descriptor _\bf_\bd if the -\b-u\bu option is supplied.  The  variable  M\bMA\bAP\bP-\b-
-              F\bFI\bIL\bLE\bE  is the default _\ba_\br_\br_\ba_\by.  Options, if supplied, have the fol-
-              lowing meanings:
-              -\b-n\bn     Copy at most _\bc_\bo_\bu_\bn_\bt lines.  If _\bc_\bo_\bu_\bn_\bt is 0, all  lines  are
+       m\bma\bap\bpf\bfi\bil\ble\be [-\b-n\bn _\bc_\bo_\bu_\bn_\bt] [-\b-O\bO _\bo_\br_\bi_\bg_\bi_\bn] [-\b-s\bs _\bc_\bo_\bu_\bn_\bt] [-\b-t\bt] [-\b-u\bu  _\bf_\bd]  [-\b-C\bC  _\bc_\ba_\bl_\bl_\bb_\ba_\bc_\bk]
+       [-\b-c\bc _\bq_\bu_\ba_\bn_\bt_\bu_\bm] [_\ba_\br_\br_\ba_\by]
+              Read lines from the standard input into array variable _\ba_\br_\br_\ba_\by, or
+              from file descriptor _\bf_\bd if the -\b-u\bu option is supplied.  The vari-
+              able M\bMA\bAP\bPF\bFI\bIL\bLE\bE is the default _\ba_\br_\br_\ba_\by.  Options, if  supplied,  have
+              the following meanings:
+              -\b-n\bn     Copy  at  most _\bc_\bo_\bu_\bn_\bt lines.  If _\bc_\bo_\bu_\bn_\bt is 0, all lines are
                      copied.
-              -\b-O\bO     Begin  assigning  to  _\ba_\br_\br_\ba_\by at index _\bo_\br_\bi_\bg_\bi_\bn.  The default
+              -\b-O\bO     Begin assigning to _\ba_\br_\br_\ba_\by at index  _\bo_\br_\bi_\bg_\bi_\bn.   The  default
                      index is 0.
               -\b-s\bs     Discard the first _\bc_\bo_\bu_\bn_\bt lines read.
               -\b-t\bt     Remove a trailing line from each line read.
-              -\b-u\bu     Read lines from file descriptor _\bf_\bd instead of  the  stan-
+              -\b-u\bu     Read  lines  from file descriptor _\bf_\bd instead of the stan-
                      dard input.
-              -\b-C\bC     Evaluate  _\bc_\ba_\bl_\bl_\bb_\ba_\bc_\bk each time _\bq_\bu_\ba_\bn_\bt_\bu_\bm lines are read.  The
+              -\b-C\bC     Evaluate _\bc_\ba_\bl_\bl_\bb_\ba_\bc_\bk each time _\bq_\bu_\ba_\bn_\bt_\bu_\bm lines are read.   The
                      -\b-c\bc option specifies _\bq_\bu_\ba_\bn_\bt_\bu_\bm.
-              -\b-c\bc     Specify the number of lines read  between  each  call  to
+              -\b-c\bc     Specify  the  number  of  lines read between each call to
                      _\bc_\ba_\bl_\bl_\bb_\ba_\bc_\bk.
 
               If -\b-C\bC is specified without -\b-c\bc, the default quantum is 5000.
 
-              If  not  supplied  with  an  explicit origin, m\bma\bap\bpf\bfi\bil\ble\be will clear
+              If not supplied with an  explicit  origin,  m\bma\bap\bpf\bfi\bil\ble\be  will  clear
               _\ba_\br_\br_\ba_\by before assigning to it.
 
-              m\bma\bap\bpf\bfi\bil\ble\breturns successfully unless an invalid option or  option
+              m\bma\bap\bpf\bfi\bil\ble\b returns successfully unless an invalid option or option
               argument is supplied, or _\ba_\br_\br_\ba_\by is invalid or unassignable.
 
        p\bpo\bop\bpd\bd [-n\bn] [+_\bn] [-_\bn]
-              Removes  entries  from  the directory stack.  With no arguments,
-              removes the top directory from the stack, and performs a  c\bcd\b to
+              Removes entries from the directory stack.   With  no  arguments,
+              removes  the  top directory from the stack, and performs a c\bcd\bd to
               the new top directory.  Arguments, if supplied, have the follow-
               ing meanings:
-              -\b-n\bn     Suppresses the normal change of directory  when  removing
-                     directories  from  the  stack,  so that only the stack is
+              -\b-n\bn     Suppresses  the  normal change of directory when removing
+                     directories from the stack, so that  only  the  stack  is
                      manipulated.
-              +\b+_\bn     Removes the _\bnth entry counting from the left of the  list
-                     shown  by  d\bdi\bir\brs\bs, starting with zero.  For example: ``popd
+              +\b+_\bn     Removes  the _\bnth entry counting from the left of the list
+                     shown by d\bdi\bir\brs\bs, starting with zero.  For  example:  ``popd
                      +0'' removes the first directory, ``popd +1'' the second.
               -\b-_\bn     Removes the _\bnth entry counting from the right of the list
-                     shown by d\bdi\bir\brs\bs, starting with zero.  For  example:  ``popd
-                     -0''  removes the last directory, ``popd -1'' the next to
+                     shown  by  d\bdi\bir\brs\bs, starting with zero.  For example: ``popd
+                     -0'' removes the last directory, ``popd -1'' the next  to
                      last.
 
-              If the p\bpo\bop\bpd\bd command is successful, a d\bdi\bir\brs\bs is performed as  well,
-              and  the  return  status is 0.  p\bpo\bop\bpd\bd returns false if an invalid
+              If  the p\bpo\bop\bpd\bd command is successful, a d\bdi\bir\brs\bs is performed as well,
+              and the return status is 0.  p\bpo\bop\bpd\bd returns false  if  an  invalid
               option is encountered, the directory stack is empty, a non-exis-
               tent directory stack entry is specified, or the directory change
               fails.
 
        p\bpr\bri\bin\bnt\btf\bf [-\b-v\bv _\bv_\ba_\br] _\bf_\bo_\br_\bm_\ba_\bt [_\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs]
-              Write the formatted _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs to the standard output  under  the
-              control  of  the _\bf_\bo_\br_\bm_\ba_\bt.  The _\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
+              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_\bt (except that  \\b\c\bc  terminates  output,
+              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_\bt  (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] [+_\bn] [-_\bn]
        p\bpu\bus\bsh\bhd\bd [-\b-n\bn] [_\bd_\bi_\br]
-              Adds  a  directory to the top of the directory stack, or rotates
-              the stack, making the new top of the stack the  current  working
+              Adds a directory to the top of the directory stack,  or  rotates
+              the  stack,  making the new top of the stack the current working
               directory.  With no arguments, exchanges the top two directories
-              and returns 0, unless the directory stack is empty.   Arguments,
+              and  returns 0, unless the directory stack is empty.  Arguments,
               if supplied, have the following meanings:
-              -\b-n\bn     Suppresses  the  normal  change  of directory when adding
-                     directories to the stack,  so  that  only  the  stack  is
+              -\b-n\bn     Suppresses the normal change  of  directory  when  adding
+                     directories  to  the  stack,  so  that  only the stack is
                      manipulated.
-              +\b+_\bn     Rotates  the  stack  so  that the _\bnth directory (counting
-                     from the left of the list shown by  d\bdi\bir\brs\bs,  starting  with
+              +\b+_\bn     Rotates the stack so that  the  _\bnth  directory  (counting
+                     from  the  left  of the list shown by d\bdi\bir\brs\bs, starting with
                      zero) is at the top.
-              -\b-_\bn     Rotates  the  stack  so  that the _\bnth directory (counting
-                     from the right of the list shown by d\bdi\bir\brs\bs,  starting  with
+              -\b-_\bn     Rotates the stack so that  the  _\bnth  directory  (counting
+                     from  the  right of the list shown by d\bdi\bir\brs\bs, starting with
                      zero) is at the top.
               _\bd_\bi_\br    Adds _\bd_\bi_\br to the directory stack at the top, making it the
                      new current working directory.
 
               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\b [-\b-e\ber\brs\bs] [-\b-a\ba _\ba_\bn_\ba_\bm_\be] [-\b-d\bd _\bd_\be_\bl_\bi_\bm] [-\b- _\bt_\be_\bx_\bt] [-\b-n\bn _\bn_\bc_\bh_\ba_\br_\bs] [-\b-p\bp _\bp_\br_\bo_\bm_\bp_\bt] [-\b-t\bt
+       r\bre\bea\bad\b[-\b-e\ber\brs\bs] [-\b-a\ba _\ba_\bn_\ba_\bm_\be] [-\b-d\bd _\bd_\be_\bl_\bi_\bm] [-\b- _\bt_\be_\bx_\bt] [-\b-n\bn _\bn_\bc_\bh_\ba_\br_\bs] [-\b-p\bp _\bp_\br_\bo_\bm_\bp_\bt]  [-\b-t\bt
        _\bt_\bi_\bm_\be_\bo_\bu_\bt] [-\b-u\bu _\bf_\bd] [_\bn_\ba_\bm_\be ...]
-              One  line  is  read  from  the  standard input, or from the file
-              descriptor _\bf_\bd supplied as an argument to the -\b-u\bu option, and  the
+              One line is read from the  standard  input,  or  from  the  file
+              descriptor  _\bf_\bd supplied as an argument to the -\b-u\bu option, and the
               first word is assigned to the first _\bn_\ba_\bm_\be, the second word to the
-              second _\bn_\ba_\bm_\be, and so on, with leftover words and their  interven-
-              ing  separators  assigned  to the last _\bn_\ba_\bm_\be.  If there are fewer
+              second  _\bn_\ba_\bm_\be, and so on, with leftover words and their interven-
+              ing separators assigned to the last _\bn_\ba_\bm_\be.  If  there  are  fewer
               words read from the input stream than names, the remaining names
-              are  assigned  empty  values.  The characters in I\bIF\bFS\bS are used to
-              split the line into words.  The backslash character (\\b\)  may  be
-              used  to  remove any special meaning for the next character read
-              and for line continuation.  Options, if supplied, have the  fol-
+              are assigned empty values.  The characters in I\bIF\bFS\bS  are  used  to
+              split  the  line into words.  The backslash character (\\b\) may be
+              used to remove any special meaning for the next  character  read
+              and  for line continuation.  Options, if supplied, have the fol-
               lowing meanings:
               -\b-a\ba _\ba_\bn_\ba_\bm_\be
                      The words are assigned to sequential indices of the array
@@ -849,52 +852,56 @@ 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-i\bi _\bt_\be_\bx_\bt
-                     If r\bre\bea\bad\bdl\bli\bin\bne\be is being used  to  read  the  line,  _\bt_\be_\bx_\b is
+                     If  r\bre\bea\bad\bdl\bli\bin\bne\be  is  being  used  to  read the line, _\bt_\be_\bx_\bt is
                      placed into the editing buffer before editing begins.
               -\b-n\bn _\bn_\bc_\bh_\ba_\br_\bs
-                     r\bre\bea\bad\b returns after reading _\bn_\bc_\bh_\ba_\br_\bs characters rather than
+                     r\bre\bea\bad\breturns after reading _\bn_\bc_\bh_\ba_\br_\bs characters rather  than
                      waiting for a complete line of input.
               -\b-p\bp _\bp_\br_\bo_\bm_\bp_\bt
                      Display _\bp_\br_\bo_\bm_\bp_\bt on standard error, without a trailing new-
                      line, before attempting to read any input.  The prompt is
                      displayed only if input is coming from a terminal.
               -\b-r\br     Backslash does not act as an escape character.  The back-
-                     slash  is considered to be part of the line.  In particu-
-                     lar, a backslash-newline pair may not be used as  a  line
+                     slash is considered to be part of the line.  In  particu-
+                     lar,  a  backslash-newline pair may not be used as a line
                      continuation.
               -\b-s\bs     Silent mode.  If input is coming from a terminal, charac-
                      ters are not echoed.
               -\b-t\bt _\bt_\bi_\bm_\be_\bo_\bu_\bt
-                     Cause r\bre\bea\bad\bd to time out and return failure if  a  complete
-                     line  of input is not read within _\bt_\bi_\bm_\be_\bo_\bu_\bt seconds.  _\bt_\bi_\bm_\be_\b-
-                     _\bo_\bu_\bt may be a decimal number  with  a  fractional  portion
-                     following  the  decimal point.  This option has no effect
-                     if r\bre\bea\bad\bd is not reading input from the terminal or a pipe.
+                     Cause  r\bre\bea\bad\bd  to time out and return failure if a complete
+                     line of input is not read within _\bt_\bi_\bm_\be_\bo_\bu_\bt seconds.   _\bt_\bi_\bm_\be_\b-
+                     _\bo_\bu_\bt  may  be  a  decimal number with a fractional portion
+                     following the decimal point.  This option is only  effec-
+                     tive  if  r\bre\bea\bad\bd is reading input from a terminal, pipe, or
+                     other special file; it has no effect  when  reading  from
+                     regular  files.   The  exit status is greater than 128 if
+                     the timeout is exceeded.
               -\b-u\bu _\bf_\bd  Read input from file descriptor _\bf_\bd.
 
               If no _\bn_\ba_\bm_\be_\bs are supplied, the line read is assigned to the vari-
-              able R\bRE\bEP\bPL\bLY\bY.  The return code  is  zero,  unless  end-of-file  is
-              encountered,  r\bre\bea\bad\bd  times  out, 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\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_\be 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
-              variable name, or -\b-f\bf is supplied with a _\bn_\ba_\bm_\be that is not a func-
-              tion.
+       r\bre\bea\bad\bdo\bon\bnl\bly\by [-\b-a\baA\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\bf  option
+              is  supplied,  the  functions  corresponding to the _\bn_\ba_\bm_\be_\bs are so
+              marked.  The  -\b-a\ba  option  restricts  the  variables  to  indexed
+              arrays;  the  -\b-A\bA  option  restricts the variables to associative
+              arrays.  If no _\bn_\ba_\bm_\be arguments are given, or if the -\b-p\bp option  is
+              supplied,  a  list  of  all  readonly  names is printed.  The -\b-p\bp
+              option causes output to be displayed in a  format  that  may  be
+              reused  as  input.  If a variable name is followed by =_\bw_\bo_\br_\bd, the
+              value of the variable is set to _\bw_\bo_\br_\bd.  The return  status  is  0
+              unless an invalid option is encountered, one of the _\bn_\ba_\bm_\be_\bs is not
+              a valid shell variable name, or -\b-f\bf is supplied with a _\bn_\ba_\bm_\be  that
+              is not a function.
 
        r\bre\bet\btu\bur\brn\bn [_\bn]
               Causes  a function to exit with the return value specified by _\bn.
@@ -1286,10 +1293,10 @@ B\bBA\bAS\bSH\bH B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
                       sequences by default.
        s\bsu\bus\bsp\bpe\ben\bnd\bd [-\b-f\bf]
               Suspend the execution of this shell until it receives a  S\bSI\bIG\bGC\bCO\bON\bNT\bT
-              signal.   The  -\b-f\bf option says not to complain if this is a login
-              shell; just suspend anyway.  The return status is 0  unless  the
-              shell is a login shell and -\b-f\bf is not supplied, or if job control
-              is not enabled.
+              signal.  A login shell cannot be suspended; the -\b-f\bf option can be
+              used to override this and force the suspension.  The return sta-
+              tus  is  0  unless the shell is a login shell and -\b-f\bf is not sup-
+              plied, or if job control is not enabled.
        t\bte\bes\bst\bt _\be_\bx_\bp_\br
        [\b[ _\be_\bx_\bp_\br ]\b]
               Return a status of 0 or 1 depending on  the  evaluation  of  the
index b3aa48cd7b77b68d1e0b785ad86ac31225db0a80..6b05e690b2b53fe2a734cb3049efb7f3cb8133c3 100644 (file)
@@ -1,6 +1,6 @@
 %!PS-Adobe-3.0
 %%Creator: groff version 1.19.2
-%%CreationDate: Thu May 29 11:48:42 2008
+%%CreationDate: Wed Jul  2 09:08:26 2008
 %%DocumentNeededResources: font Times-Roman
 %%+ font Times-Bold
 %%+ font Times-Italic
@@ -723,9 +723,9 @@ F2(while)4.254 E F0(,)A F2(until)4.254 E F0 4.254(,o)C(r)-4.254 E F2
 (ve)-.25 G(l').15 E 3.014('l)-.74 G .514(oop\) is resumed.)-3.014 F .513
 (The return v)5.513 F .513(alue is 0 unless)-.25 F F1(n)3.013 E F0(is)
 3.013 E(not greater than or equal to 1.)144 343.2 Q F2(declar)108 360 Q
-(e)-.18 E F0([)2.5 E F2(\255afFirtx)A F0 2.5(][)C F2<ad70>-2.5 E F0 2.5
+(e)-.18 E F0([)2.5 E F2(\255aAfFirtx)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 372 Q F0([)2.5 E F2(\255afFirtx)A F0 2.5(][)C F2<ad70>-2.5
+(typeset)108 372 Q F0([)2.5 E F2(\255aAfFirtx)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.264(Declare v)144 384 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 F1
@@ -757,305 +757,310 @@ F0 6.382(.T)C 1.382(he follo)-6.382 F(wing)-.25 E .794
 (options can be used to restrict output to v)144 492 R .794
 (ariables with the speci\214ed attrib)-.25 F .793(ute or to gi)-.2 F
 1.093 -.15(ve v)-.25 H(ariables)-.1 E(attrib)144 504 Q(utes:)-.2 E F2
-<ad61>144 516 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 528 Q F0(Use function names only)26.97 E(.)-.65 E F2
-<ad69>144 540 Q F0 .557(The v)27.52 F .558
+<ad61>144 516 Q F0(Each)25.3 E F1(name)2.5 E F0(is an inde)2.5 E -.15
+(xe)-.15 G 2.5(da).15 G(rray 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<ad41>144 528 Q F0(Each)23.08
+E F1(name)2.5 E F0(is an associati)2.5 E .3 -.15(ve a)-.25 H(rray v).15
+E(ariable \(see)-.25 E F2(Arrays)2.5 E F0(abo)2.5 E -.15(ve)-.15 G(\).)
+.15 E F2<ad66>144 540 Q F0(Use function names only)26.97 E(.)-.65 E F2
+<ad69>144 552 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 .558
-(ARITHMETIC EV)3.058 F(ALU)-1.215 E(A-)-.54 E(TION \))180 552 Q F0
+(ARITHMETIC EV)3.058 F(ALU)-1.215 E(A-)-.54 E(TION \))180 564 Q F0
 (is performed when the v)2.25 E(ariable is assigned a v)-.25 E(alue.)
--.25 E F2<ad72>144 564 Q F0(Mak)25.86 E(e)-.1 E F1(name)5.047 E F0 5.047
+-.25 E F2<ad72>144 576 Q F0(Mak)25.86 E(e)-.1 E F1(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 576 Q F2
-<ad74>144 588 Q F0(Gi)26.97 E .729 -.15(ve e)-.25 H(ach).15 E F1(name)
+(alues by subsequent)-.25 F(assignment statements or unset.)180 588 Q F2
+<ad74>144 600 Q F0(Gi)26.97 E .729 -.15(ve e)-.25 H(ach).15 E F1(name)
 2.929 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.93 E F2(RETURN)2.93 E F0(traps from the calling shell.)
-180 600 Q(The trace attrib)5 E(ute has no special meaning for v)-.2 E
-(ariables.)-.25 E F2<ad78>144 612 Q F0(Mark)25.3 E F1(name)2.5 E F0 2.5
+180 612 Q(The trace attrib)5 E(ute has no special meaning for v)-.2 E
+(ariables.)-.25 E F2<ad78>144 624 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 .121(Using `+' instead of `\255' turns of)144 628.8 R
+(vironment.)-.4 E .121(Using `+' instead of `\255' turns of)144 640.8 R
 2.621(ft)-.25 G .121(he attrib)-2.621 F .121(ute instead, with the e)-.2
 F .12(xceptions that)-.15 F F2(+a)2.62 E F0 .12(may not be used)2.62 F
-1.236(to destro)144 640.8 R 3.736(ya)-.1 G 3.737(na)-3.736 G 1.237
+1.236(to destro)144 652.8 R 3.736(ya)-.1 G 3.737(na)-3.736 G 1.237
 (rray v)-3.737 F 1.237(ariable and)-.25 F F2 1.237(+r will not r)3.737 F
 (emo)-.18 E 1.437 -.1(ve t)-.1 H 1.237(he r).1 F 1.237(eadonly attrib)
 -.18 F 3.737(ute. When)-.2 F 1.237(used in a)3.737 F .312(function, mak)
-144 652.8 R .312(es each)-.1 F F1(name)2.812 E F2 .311
+144 664.8 R .312(es each)-.1 F F1(name)2.812 E F2 .311
 (local, as with the local)2.812 F F0 2.811(command. If)2.811 F 2.811(av)
 2.811 G .311(ariable name is follo)-3.061 F .311(wed by)-.25 F(=)144
-664.8 Q F1(value)A F0 3.238(,t)C .738(he v)-3.238 F .738(alue of the v)
+676.8 Q F1(value)A F0 3.238(,t)C .738(he v)-3.238 F .738(alue of the v)
 -.25 F .738(ariable is set to)-.25 F F1(value)3.238 E F0 5.738(.T)C .738
 (he return v)-5.738 F .739(alue is 0 unless an in)-.25 F -.25(va)-.4 G
 .739(lid option is).25 F .603
-(encountered, an attempt is made to de\214ne a function using)144 676.8
+(encountered, an attempt is made to de\214ne a function using)144 688.8
 R/F5 10/Courier@0 SF .603(\255f foo=bar)3.103 F F0 3.103(,a)C 3.103(na)
--3.103 G .603(ttempt is made to)-3.103 F 1.242(assign a v)144 688.8 R
+-3.103 G .603(ttempt is made to)-3.103 F 1.242(assign a v)144 700.8 R
 1.242(alue to a readonly v)-.25 F 1.242
 (ariable, an attempt is made to assign a v)-.25 F 1.243
 (alue to an array v)-.25 F(ariable)-.25 E 1.386
-(without using the compound assignment syntax \(see)144 700.8 R F2
+(without using the compound assignment syntax \(see)144 712.8 R F2
 (Arrays)3.886 E F0(abo)3.886 E -.15(ve)-.15 G 1.386(\), one of the).15 F
-F1(names)3.886 E F0 1.386(is not a)3.886 F -.25(va)144 712.8 S .171
+F1(names)3.886 E F0 1.386(is not a)3.886 F -.25(va)144 724.8 S .171
 (lid shell v).25 F .171(ariable name, an attempt is made to turn of)-.25
 F 2.671(fr)-.25 G .171(eadonly status for a readonly v)-2.671 F .172
-(ariable, an)-.25 F .96(attempt is made to turn of)144 724.8 R 3.46(fa)
--.25 G .96(rray status for an array v)-3.46 F .96
-(ariable, or an attempt is made to display a)-.25 F(GNU Bash-3.0)72 768
-Q(2004 Apr 20)148.735 E(5)203.725 E 0 Cg EP
+(ariable, an)-.25 F(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(non-e)144 84
-Q(xistent function with)-.15 E/F1 10/Times-Bold@0 SF<ad66>2.5 E F0(.)A
-F1(dirs [+)108 100.8 Q/F2 10/Times-Italic@0 SF(n)A F1 2.5(][)C<ad>-2.5 E
-F2(n)A F1 2.5(][)C(\255cplv])-2.5 E F0 -.4(Wi)144 112.8 S .328
+(TINS\(1\) B)-.92 F(ASH_B)-.35 E(UIL)-.1 E(TINS\(1\))-.92 E .96
+(attempt is made to turn of)144 84 R 3.46(fa)-.25 G .96
+(rray status for an array v)-3.46 F .96
+(ariable, or an attempt is made to display a)-.25 F(non-e)144 96 Q
+(xistent function with)-.15 E/F1 10/Times-Bold@0 SF<ad66>2.5 E F0(.)A F1
+(dirs [+)108 112.8 Q/F2 10/Times-Italic@0 SF(n)A F1 2.5(][)C<ad>-2.5 E
+F2(n)A F1 2.5(][)C(\255cplv])-2.5 E F0 -.4(Wi)144 124.8 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 124.8 R 1.238
-(Directories are added to the list with the)6.238 F F1(pushd)144 136.8 Q
+(single line with directory names separated by spaces.)144 136.8 R 1.238
+(Directories are added to the list with the)6.238 F F1(pushd)144 148.8 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 148.8 Q F2(n)A F0
+2.5(se).15 G(ntries from the list.)-2.5 E F1(+)144 160.8 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 160.8 Q F1<ad>144 172.8 Q F2
+(without options, starting with zero.)180 172.8 Q F1<ad>144 184.8 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
 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 184.8 Q F1<ad63>144 196.8 Q F0
+(without options, starting with zero.)180 196.8 Q F1<ad63>144 208.8 Q F0
 (Clears the directory stack by deleting all of the entries.)25.86 E F1
-<ad6c>144 208.8 Q F0 .324(Produces a longer listing; the def)27.52 F
+<ad6c>144 220.8 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 220.8 Q(.)-.65 E F1<ad70>144 232.8 Q F0
+(tory)180 232.8 Q(.)-.65 E F1<ad70>144 244.8 Q F0
 (Print the directory stack with one entry per line.)24.74 E F1<ad76>144
-244.8 Q F0 .273(Print the directory stack with one entry per line, pre\
+256.8 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 256.8 Q .257(The return v)144 273.6 R .258
+G(he)-2.772 E(stack.)180 268.8 Q .257(The return v)144 285.6 R .258
 (alue is 0 unless an in)-.25 F -.25(va)-.4 G .258
 (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 285.6 Q F1(diso)108 302.4 Q(wn)-.1 E F0([)2.5 E F1
+.15 F(tory stack.)144 297.6 Q F1(diso)108 314.4 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 314.4 S .295(thout options, each).4 F F2(jobspec)
+(...])2.5 E -.4(Wi)144 326.4 S .295(thout options, each).4 F F2(jobspec)
 4.535 E F0 .295(is remo)3.105 F -.15(ve)-.15 G 2.795(df).15 G .295
 (rom the table of acti)-2.795 F .595 -.15(ve j)-.25 H 2.795(obs. If).15
 F F2(jobspec)4.535 E F0 .295(is not present,)3.105 F .243(and neither)
-144 326.4 R F1 .243(\255a nor \255r is supplied, the shell')2.743 F
+144 338.4 R F1 .243(\255a nor \255r is supplied, the shell')2.743 F
 2.743(sn)-.37 G .243(otion of the)-2.743 F F2(curr)2.743 E .243(ent job)
 -.37 F F1 .243(is used.)2.743 F .244(If the \255h option)5.243 F .334
-(is gi)144 338.4 R -.1(ve)-.1 G .334(n, each).1 F F2(jobspec)4.574 E F0
+(is gi)144 350.4 R -.1(ve)-.1 G .334(n, each).1 F F2(jobspec)4.574 E F0
 .334(is not remo)3.144 F -.15(ve)-.15 G 2.834(df).15 G .334
 (rom the table, b)-2.834 F .334(ut is mark)-.2 F .334(ed so that)-.1 F
 /F3 9/Times-Bold@0 SF(SIGHUP)2.834 E F0 .333(is not sent to)2.584 F
-1.189(the job if the shell recei)144 350.4 R -.15(ve)-.25 G 3.689(sa).15
+1.189(the job if the shell recei)144 362.4 R -.15(ve)-.25 G 3.689(sa).15
 G F3(SIGHUP)A/F4 9/Times-Roman@0 SF(.)A F0 1.189(If no)5.689 F F2
 (jobspec)5.429 E F0 1.189(is present, and neither the)3.999 F F1<ad61>
 3.689 E F0 1.19(nor the)3.69 F F1<ad72>3.69 E F0 1.57
-(option is supplied, the)144 362.4 R F2(curr)4.07 E 1.57(ent job)-.37 F
+(option is supplied, the)144 374.4 R F2(curr)4.07 E 1.57(ent job)-.37 F
 F0 1.57(is used.)4.07 F 1.569(If no)6.569 F F2(jobspec)5.809 E F0 1.569
 (is supplied, the)4.379 F F1<ad61>4.069 E F0 1.569(option means to)4.069
-F(remo)144 374.4 Q .903 -.15(ve o)-.15 H 3.103(rm).15 G .603
+F(remo)144 386.4 Q .903 -.15(ve o)-.15 H 3.103(rm).15 G .603
 (ark all jobs; the)-3.103 F F1<ad72>3.103 E F0 .603(option without a)
 3.103 F F2(jobspec)4.843 E F0(ar)3.414 E .604
-(gument restricts operation to running)-.18 F 2.5(jobs. The)144 386.4 R
+(gument restricts operation to running)-.18 F 2.5(jobs. The)144 398.4 R
 (return v)2.5 E(alue 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 403.2 Q
+(does not specify a v)2.81 E(alid job)-.25 E(.)-.4 E F1(echo)108 415.2 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 415.2 R F2(ar)2.895 E(g)-.37 E F0 .395
+.395(Output the)144 427.2 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 .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 427.2 R .548(wline is suppressed.)
+(is speci\214ed, the trailing ne)144 439.2 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 439.2 Q
+-.15(ve)-.25 G .548(n, interpretation of the fol-).15 F(lo)144 451.2 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 451.2 R -.15(ve)-.25 G 4.002(no).15 G
+F 1.502(escape characters, e)144 463.2 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 463.2 R
+(option may be used to dynamically determine whether or not)144 475.2 R
 F1(echo)2.509 E F0 -.15(ex)2.509 G .009(pands these escape characters)
-.15 F .659(by def)144 475.2 R(ault.)-.1 E F1(echo)5.659 E F0 .659
+.15 F .659(by def)144 487.2 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 487.2 Q
-F1(\\a)144 499.2 Q F0(alert \(bell\))28.22 E F1(\\b)144 511.2 Q F0
-(backspace)27.66 E F1(\\c)144 523.2 Q F0(suppress trailing ne)28.78 E
-(wline)-.25 E F1(\\e)144 535.2 Q F0(an escape character)28.78 E F1(\\f)
-144 547.2 Q F0(form feed)29.89 E F1(\\n)144 559.2 Q F0(ne)27.66 E 2.5
-(wl)-.25 G(ine)-2.5 E F1(\\r)144 571.2 Q F0(carriage return)28.78 E F1
-(\\t)144 583.2 Q F0(horizontal tab)29.89 E F1(\\v)144 595.2 Q F0 -.15
-(ve)28.22 G(rtical tab).15 E F1(\\\\)144 607.2 Q F0(backslash)30.44 E F1
-(\\0)144 619.2 Q F2(nnn)A F0(the eight-bit character whose v)13.22 E
+(interprets the follo)3.16 F(wing)-.25 E(escape sequences:)144 499.2 Q
+F1(\\a)144 511.2 Q F0(alert \(bell\))28.22 E F1(\\b)144 523.2 Q F0
+(backspace)27.66 E F1(\\c)144 535.2 Q F0(suppress trailing ne)28.78 E
+(wline)-.25 E F1(\\e)144 547.2 Q F0(an escape character)28.78 E F1(\\f)
+144 559.2 Q F0(form feed)29.89 E F1(\\n)144 571.2 Q F0(ne)27.66 E 2.5
+(wl)-.25 G(ine)-2.5 E F1(\\r)144 583.2 Q F0(carriage return)28.78 E F1
+(\\t)144 595.2 Q F0(horizontal tab)29.89 E F1(\\v)144 607.2 Q F0 -.15
+(ve)28.22 G(rtical tab).15 E F1(\\\\)144 619.2 Q F0(backslash)30.44 E F1
+(\\0)144 631.2 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(\\x)144 631.2 Q F2(HH)A F0
+(\(zero to three octal digits\))2.5 E F1(\\x)144 643.2 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 648 Q F0([)2.5 E
+-.1 G .3 -.15(ex d)-2.5 H(igits\)).15 E F1(enable)108 660 Q F0([)2.5 E
 F1<ad61>A F0 2.5(][)C F1(\255dnps)-2.5 E 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 660 R .278(uiltin shell commands.)-.2 F .278
+(Enable and disable b)144 672 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 .833(the same name as a shell b)144
-672 R .834(uiltin to be e)-.2 F -.15(xe)-.15 G .834
+684 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 684 R
+(nt).15 G(hough)-3.334 E .99(the shell normally searches for b)144 696 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 696 R F2(names)4.082 E F0 1.582(are enabled.)
+(abled; otherwise,)144 708 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 708 R .081(uiltin v)-.2
+G(TH)-.189 E F0 .081(instead of the shell b)144 720 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 720 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(GNU Bash-3.0)72 768 Q
+(option means to load the ne)2.58 F(w)-.25 E(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(The)144 84 Q
-/F1 10/Times-Bold@0 SF<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 10/Times-Italic@0 SF(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 96 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 108 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 120 R 1.916
+(TINS\(1\) B)-.92 F(ASH_B)-.35 E(UIL)-.1 E(TINS\(1\))-.92 E -.2(bu)144
+84 S 1.524(iltin command).2 F/F1 10/Times-Italic@0 SF(name)4.384 E F0
+1.524(from shared object)4.204 F F1(\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 96 Q/F2 10/Times-Bold@0 SF<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 F2<ad66>2.866 E F0 5.366(.I)C 2.866(fn)
+-5.366 G(o)-2.866 E F1(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 108 R F2<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
+120 R 2.598(uiltins. If)-.2 F F2<ad6e>2.598 E F0 .098
+(is supplied, only disabled b)2.598 F .098(uiltins are printed.)-.2 F
+(If)5.098 E F2<ad61>2.598 E F0 1.916
+(is supplied, the list printed includes all b)144 132 R 1.916
 (uiltins, with an indication of whether or not each is)-.2 F 2.879
-(enabled. If)144 132 R F1<ad73>2.879 E F0 .379
-(is supplied, the output is restricted to the POSIX)2.879 F F2(special)
+(enabled. If)144 144 R F2<ad73>2.879 E F0 .379
+(is supplied, the output is restricted to the POSIX)2.879 F F1(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 144 R F2(name)3.854 E F0 .994
+(alue)-.25 E .994(is 0 unless a)144 156 R F1(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 156
-Q F1 -2.3 -.15(ev a)108 172.8 T(l).15 E F0([)2.5 E F2(ar)A(g)-.37 E F0
-(...])2.5 E(The)144 184.8 Q F2(ar)3.171 E(g)-.37 E F0 3.171(sa)C .671
+-.2 F 3.495(wb)-.25 G .995(uiltin from a shared)-3.695 F(object.)144 168
+Q F2 -2.3 -.15(ev a)108 184.8 T(l).15 E F0([)2.5 E F1(ar)A(g)-.37 E F0
+(...])2.5 E(The)144 196.8 Q F1(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 196.8 R -.15(xe)-.15 G
+(This command is then read)5.67 F .495(and e)144 208.8 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
+(xit status is returned as the v)-.15 F .495(alue of)-.25 F F2 -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 208.8 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 225.6 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 237.6 Q F2(command)3.006 E F0 .306
+-2.995 F F1(ar)2.995 E(gs)-.37 E F0(,).27 E(or only null ar)144 220.8 Q
+(guments,)-.18 E F2 -2.3 -.15(ev a)2.5 H(l).15 E F0(returns 0.)2.5 E F2
+(exec)108 237.6 Q F0([)2.5 E F2(\255cl)A F0 2.5(][)C F2<ad61>-2.5 E F1
+(name)2.5 E F0 2.5(][)C F1(command)-2.5 E F0([)2.5 E F1(ar)A(guments)
+-.37 E F0(]])A(If)144 249.6 Q F1(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 249.6 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
+(wp)-.25 G .305(rocess is created.)-2.805 F(The)5.305 E F1(ar)3.135 E
+(guments)-.37 E F0(become)3.075 E .176(the ar)144 261.6 R .176
+(guments to)-.18 F F1(command)2.676 E F0 5.176(.I)C 2.676(ft)-5.176 G
+(he)-2.676 E F2<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 .5(the zeroth ar)144 261.6 R .5(gument passed to)-.18
-F F2(command)3 E F0 5.499(.T).77 G .499(his is what)-5.499 F F2(lo)2.999
-E(gin)-.1 E F0 .499(\(1\) does.).24 F(The)5.499 E F1<ad63>2.999 E F0
-.499(option causes)2.999 F F2(com-)3.199 E(mand)144 273.6 Q F0 .638
+(ginning of)-.15 F .5(the zeroth ar)144 273.6 R .5(gument passed to)-.18
+F F1(command)3 E F0 5.499(.T).77 G .499(his is what)-5.499 F F1(lo)2.999
+E(gin)-.1 E F0 .499(\(1\) does.).24 F(The)5.499 E F2<ad63>2.999 E F0
+.499(option causes)2.999 F F1(com-)3.199 E(mand)144 285.6 Q F0 .638
 (to be e)3.908 F -.15(xe)-.15 G .638(cuted with an empty en).15 F 3.138
-(vironment. If)-.4 F F1<ad61>3.138 E F0 .638
-(is supplied, the shell passes)3.138 F F2(name)3.499 E F0 .639(as the)
-3.319 F 1.078(zeroth ar)144 285.6 R 1.077(gument to the e)-.18 F -.15
-(xe)-.15 G 1.077(cuted command.).15 F(If)6.077 E F2(command)3.777 E F0
+(vironment. If)-.4 F F2<ad61>3.138 E F0 .638
+(is supplied, the shell passes)3.138 F F1(name)3.499 E F0 .639(as the)
+3.319 F 1.078(zeroth ar)144 297.6 R 1.077(gument to the e)-.18 F -.15
+(xe)-.15 G 1.077(cuted command.).15 F(If)6.077 E F1(command)3.777 E F0
 1.077(cannot be e)4.347 F -.15(xe)-.15 G 1.077(cuted for some reason, a)
-.15 F(non-interacti)144 297.6 Q .617 -.15(ve s)-.25 H .317(hell e).15 F
-.317(xits, unless the shell option)-.15 F F1(execfail)2.817 E F0 .318
+.15 F(non-interacti)144 309.6 Q .617 -.15(ve s)-.25 H .317(hell e).15 F
+.317(xits, unless the shell option)-.15 F F2(execfail)2.817 E F0 .318
 (is enabled, in which case it returns f)2.817 F(ail-)-.1 E 2.505
-(ure. An)144 309.6 R(interacti)2.505 E .305 -.15(ve s)-.25 H .005
+(ure. An)144 321.6 R(interacti)2.505 E .305 -.15(ve s)-.25 H .005
 (hell returns f).15 F .005(ailure if the \214le cannot be e)-.1 F -.15
-(xe)-.15 G 2.505(cuted. If).15 F F2(command)2.705 E F0 .005
-(is not speci\214ed,)3.275 F(an)144 321.6 Q 3.036(yr)-.15 G .536
+(xe)-.15 G 2.505(cuted. If).15 F F1(command)2.705 E F0 .005
+(is not speci\214ed,)3.275 F(an)144 333.6 Q 3.036(yr)-.15 G .536
 (edirections tak)-3.036 F 3.036(ee)-.1 G -.25(ff)-3.036 G .536
 (ect in the current shell, and the return status is 0.).25 F .536
-(If there is a redirection)5.536 F(error)144 333.6 Q 2.5(,t)-.4 G
-(he return status is 1.)-2.5 E F1(exit)108 350.4 Q F0([)2.5 E F2(n)A F0
+(If there is a redirection)5.536 F(error)144 345.6 Q 2.5(,t)-.4 G
+(he return status is 1.)-2.5 E F2(exit)108 362.4 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 F2(n)2.596 E F0 5.096(.I)C(f)-5.096 E F2(n)2.955 E F0 .095
+-.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 362.4 S 2.5(cuted. A).15 F(trap on)2.5 E/F3 9
+-.15 F -.15(exe)144 374.4 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 379.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 391.2 Q F0 .256(The supplied)144 403.2 R
-F2(names)3.117 E F0 .257(are mark)3.027 F .257(ed for automatic e)-.1 F
+(cuted before the shell terminates.).15 E F2(export)108 391.2 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 403.2 Q F0 .256(The supplied)144 415.2 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 415.2 R(the)2.627 E F1
+(xe)-.15 G(cuted).15 E 2.627(commands. If)144 427.2 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 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 .126
-(n, or if the).15 F F1<ad70>144 427.2 Q F0 .659
+.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 439.2 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 F1<ad6e>3.16 E F0
-(option)3.16 E 1.587(causes the e)144 439.2 R 1.587
+(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 451.2 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.586(ariable name is follo)-4.336 F 1.586(wed by)-.25 F(=)144 451.2 Q
-F2(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 F2(wor)2.804 E(d)-.37 E F0(.)A F1
+(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 463.2 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 463.2 R F2(names)2.793 E F0 .293
+(option is encountered, one of the)144 475.2 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 .293(is supplied with a)2.793 F F2(name)144.36
-475.2 Q F0(that is not a function.)2.68 E F1(fc)108 492 Q F0([)2.5 E F1
-<ad65>A F2(ename)2.5 E F0 2.5(][)C F1(\255lnr)-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
-504 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 .477(Fix Command.)144 516 R .478
-(In the \214rst form, a range of commands from)5.477 F F2<8c72>4.888 E
-(st)-.1 E F0(to)3.658 E F2(last)3.068 E F0 .478
-(is selected from the his-)3.658 F .882(tory list.)144 528 R F2 -.45(Fi)
-5.882 G -.1(rs).45 G(t).1 E F0(and)4.062 E F2(last)3.472 E F0 .882
+F F2<ad66>2.793 E F0 .293(is supplied with a)2.793 F F1(name)144.36
+487.2 Q F0(that is not a function.)2.68 E F2(fc)108 504 Q F0([)2.5 E F2
+<ad65>A F1(ename)2.5 E F0 2.5(][)C F2(\255lnr)-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
+516 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 528 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 540 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
 .881(ginning with)-.15 F .797(that string\) or as a number \(an inde)144
-540 R 3.297(xi)-.15 G .797(nto the history list, where a ne)-3.297 F
+552 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 552 Q .277(fset from the current command number\).)-.25 F
-(If)5.277 E F2(last)2.867 E F0 .276
+.15 F(of)144 564 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 564 R/F4 10/Courier@0 SF .092
+(for listing \(so that)144 576 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>
+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 576 Q
-(vious command for editing and \25516 for listing.)-.25 E(The)144 600 Q
-F1<ad6e>2.522 E F0 .022
+(speci\214ed it is set to the pre)144 588 Q
+(vious command for editing and \25516 for listing.)-.25 E(The)144 612 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 612 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 624 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
-.335(the editor gi)144 624 R -.15(ve)-.25 G 2.835(nb).15 G(y)-2.835 E F2
+.335(the editor gi)144 636 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.334 E F2(ename)3.024 E F0 .334(is not gi)3.014 F -.15(ve)-.25 G
-(n,).15 E .63(the v)144 636 R .63(alue of the)-.25 F F3(FCEDIT)3.13 E F0
+(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 648 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 648 R 1.884
+(is not set.)2.881 F .631(If nei-)5.631 F 1.884(ther v)144 660 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 660 S(cuted.).15 E .039(In the second form,)144 684 R F2
+-.15(exe)144 672 S(cuted.).15 E .039(In the second form,)144 696 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 F2(pat)2.54 E F0 .04(is replaced by)
-2.54 F F2 -.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 696 R F4 .406(r='fc \255s')2.906 F F0
+(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 708 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 708 Q F0(and typing)2.5 E F4(r)2.5 E F0(re-e)2.5 E -.15
+-.15 F F4(cc)144 720 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(GNU Bash-3.0)72 768 Q
 (2004 Apr 20)148.735 E(7)203.725 E 0 Cg EP
 %%Page: 8 8
@@ -1361,21 +1366,21 @@ F F1(local)2.733 E F0 .233(is used outside a function, an in)2.733 F
 350.4 Q F2(name)2.5 E F0(is a readonly v)2.5 E(ariable.)-.25 E F1
 (logout)108 367.2 Q F0(Exit a login shell.)9.33 E F1(map\214le)108 384 Q
 F0([)2.5 E F1<ad6e>A F2(count)2.5 E F0 2.5(][)C F1<ad4f>-2.5 E F2
-(origin)2.5 E F0 2.5(][)C F1<ad73>-2.5 E F2(cou)2.5 E F0(nt)144 396 Q F2
-3.212(][)C F1<ad74>-3.212 E F2 3.212(][)C F1<ad75>-3.212 E F2 .712
-(fd] [)3.212 F F1<ad43>A F2(callbac)3.212 E .712(k] [)-.2 F F1<ad63>A F2
-(Iquantum)3.212 E F1 3.212(][)C F2(arr)-3.212 E(ay)-.15 E F1 3.212(]R)C
-.712(ead lines fr)-3.212 F .712(om the standard input into)-.18 F .605
-(array v)144 408 R(ariable)-.1 E F2(arr)3.105 E(ay)-.15 E F0 3.105(,o)
-.32 G 3.105(rf)-3.105 G .605(rom \214le descriptor)-3.105 F F2(fd)3.106
-E F0 .606(if the)3.106 F F1<ad75>3.106 E F0 .606(option is supplied.)
-3.106 F .606(The v)5.606 F(ariable)-.25 E F1(MAP-)3.106 E(FILE)144 420 Q
-F0(is the def)2.5 E(ault)-.1 E F2(arr)2.5 E(ay)-.15 E F0 5(.O)C
-(ptions, if supplied, ha)-5 E .3 -.15(ve t)-.2 H(he follo).15 E
-(wing meanings:)-.25 E F1<ad6e>144 432 Q F0(Cop)24.74 E 2.5(ya)-.1 G 2.5
-(tm)-2.5 G(ost)-2.5 E F2(count)2.7 E F0 2.5(lines. If)3.18 F F2(count)
-2.5 E F0(is 0, all lines are copied.)2.5 E F1<ad4f>144 444 Q F0(Be)22.52
-E(gin assigning to)-.15 E F2(arr)2.83 E(ay)-.15 E F0(at inde)2.82 E(x)
+(origin)2.5 E F0 2.5(][)C F1<ad73>-2.5 E F2(count)2.5 E F0 2.5(][)C F1
+<ad74>-2.5 E F0 2.5(][)C F1<ad75>-2.5 E F2(fd)2.5 E F0 2.5(][)C F1<ad43>
+-2.5 E F2(callbac)2.5 E(k)-.2 E F0 2.5(][)C F1<ad63>-2.5 E F2(quantum)
+2.5 E F0 2.5(][)C F2(arr)-2.5 E(ay)-.15 E F0(])A 1.006
+(Read lines from the standard input into array v)144 396 R(ariable)-.25
+E F2(arr)3.506 E(ay)-.15 E F0 3.506(,o).32 G 3.506(rf)-3.506 G 1.006
+(rom \214le descriptor)-3.506 F F2(fd)3.506 E F0 1.005(if the)3.506 F F1
+<ad75>3.505 E F0 1.086(option is supplied.)144 408 R 1.086(The v)6.086 F
+(ariable)-.25 E F1(MAPFILE)3.586 E F0 1.086(is the def)3.586 F(ault)-.1
+E F2(arr)3.587 E(ay)-.15 E F0 6.087(.O)C 1.087(ptions, if supplied, ha)
+-6.087 F 1.387 -.15(ve t)-.2 H(he).15 E(follo)144 420 Q(wing meanings:)
+-.25 E F1<ad6e>144 432 Q F0(Cop)24.74 E 2.5(ya)-.1 G 2.5(tm)-2.5 G(ost)
+-2.5 E F2(count)2.7 E F0 2.5(lines. If)3.18 F F2(count)2.5 E F0
+(is 0, all lines are copied.)2.5 E F1<ad4f>144 444 Q F0(Be)22.52 E
+(gin assigning to)-.15 E F2(arr)2.83 E(ay)-.15 E F0(at inde)2.82 E(x)
 -.15 E F2(origin)2.5 E F0 5(.T).24 G(he def)-5 E(ault inde)-.1 E 2.5(xi)
 -.15 G 2.5(s0)-2.5 G(.)-2.5 E F1<ad73>144 456 Q F0(Discard the \214rst)
 26.41 E F2(count)2.5 E F0(lines read.)2.5 E F1<ad74>144 468 Q F0(Remo)
@@ -1516,14 +1521,14 @@ F .763(The return)5.763 F 1.36(status is 0 unless an error occurs while\
  reading the name of the current directory or an in)144 571.2 R -.25(va)
 -.4 G(lid).25 E(option is supplied.)144 583.2 Q F1 -.18(re)108 600 S(ad)
 .18 E F0([)2.5 E F1(\255ers)A F0 2.5(][)C F1<ad61>-2.5 E F2(aname)2.5 E
-F0 2.5(][)C F1<ad64>-2.5 E F2(delim)2.5 E F0 2.5(][)C<ad>-2.5 E F2(te)
-2.5 E(xt)-.2 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<ad70>-2.5 E F2(pr)2.5 E(ompt)-.45 E F0 2.5(][)C F1<ad74>
--2.5 E F2(timeout)2.5 E F0 2.5(][)C F1<ad75>-2.5 E F2(fd)2.5 E F0 2.5
-(][)C F2(name)-2.5 E F0(...])2.5 E .516(One line is read from the stand\
-ard input, or from the \214le descriptor)144 612 R F2(fd)3.016 E F0 .516
-(supplied as an ar)3.016 F .516(gument to)-.18 F(the)144 624 Q F1<ad75>
-2.538 E F0 .038(option, and the \214rst w)2.538 F .038
+F0 2.5(][)C F1<ad64>-2.5 E F2(delim)2.5 E F0 2.5(][)C F1<ad>-2.5 E F2
+(te)2.5 E(xt)-.2 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<ad70>-2.5 E F2(pr)2.5 E(ompt)-.45 E F0 2.5(][)C F1
+<ad74>-2.5 E F2(timeout)2.5 E F0 2.5(][)C F1<ad75>-2.5 E F2(fd)2.5 E F0
+2.5(][)C F2(name)-2.5 E F0(...])2.5 E .516(One line is read from the st\
+andard input, or from the \214le descriptor)144 612 R F2(fd)3.016 E F0
+.516(supplied as an ar)3.016 F .516(gument to)-.18 F(the)144 624 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 636 R -.15(ve)-.15 G 2.92(rw)
@@ -1584,91 +1589,93 @@ E(xt)-.2 E F0(If)10.78 E F1 -.18(re)2.716 G(adline).18 E F0 .216
 (ailure if a complete line of input is not read within)-.1 F F2(timeout)
 180 288 Q F0(seconds.)3.496 E F2(timeout)5.996 E F0 .997
 (may be a decimal number with a fractional portion follo)3.496 F(wing)
--.25 E .064(the decimal point.)180 300 R .064(This option has no ef)
-5.064 F .064(fect if)-.25 F F1 -.18(re)2.564 G(ad).18 E F0 .063
-(is not reading input from the terminal)2.564 F(or a pipe.)180 312 Q F1
-<ad75>144 324 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 340.8 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 352.8 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 364.8 Q
-(gument to)-.18 E F1<ad75>2.5 E F0(.)A F1 -.18(re)108 381.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 393.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.097(quent assignment.)144 405.6 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 417.6 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 429.6 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 441.6 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 453.6 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
-465.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 477.6 Q F1 -.18(re)108 494.4 S(tur).18 E(n)-.15 E F0([)
-2.5 E F2(n)A F0(])A .587(Causes a function to e)144 506.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 .586
-(is omitted, the return status is)3.327 F 1.335
-(that of the last command e)144 518.4 R -.15(xe)-.15 G 1.335
+-.25 E .576(the decimal point.)180 300 R .576(This option is only ef)
+5.576 F(fecti)-.25 E .876 -.15(ve i)-.25 H(f).15 E F1 -.18(re)3.076 G
+(ad).18 E F0 .576(is reading input from a terminal,)3.076 F .16
+(pipe, or other special \214le; it has no ef)180 312 R .16
+(fect when reading from re)-.25 F .16(gular \214les.)-.15 F .16(The e)
+5.16 F .16(xit status)-.15 F(is greater than 128 if the timeout is e)180
+324 Q(xceeded.)-.15 E F1<ad75>144 336 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 352.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(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 364.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 376.8 Q
+(gument to)-.18 E F1<ad75>2.5 E F0(.)A F1 -.18(re)108 393.6 S(adonly).18
+E F0([)2.5 E F1(\255aA)A(pf)-.25 E 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 405.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
+417.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 429.6 Q 3.334(ed. The)
+-.1 F F1<ad61>3.334 E F0 .834(option restricts the v)3.334 F .834
+(ariables to inde)-.25 F -.15(xe)-.15 G 3.334(da).15 G .834(rrays; the)
+-3.334 F F1<ad41>3.334 E F0 .834(option restricts the v)3.334 F(ari-)
+-.25 E .537(ables to associati)144 441.6 R .837 -.15(ve a)-.25 H 3.037
+(rrays. If).15 F(no)3.038 E F2(name)3.398 E F0(ar)3.218 E .538
+(guments are gi)-.18 F -.15(ve)-.25 G .538(n, or if the).15 F F1<ad70>
+3.038 E F0 .538(option is supplied, a list)3.038 F .081
+(of all readonly names is printed.)144 453.6 R(The)5.081 E F1<ad70>2.581
+E F0 .08(option causes output to be displayed in a format that may)2.581
+F 1.176(be reused as input.)144 465.6 R 1.176(If a v)6.176 F 1.176
+(ariable name is follo)-.25 F 1.176(wed by =)-.25 F F2(wor)A(d)-.37 E F0
+3.676(,t)C 1.176(he v)-3.676 F 1.177(alue of the v)-.25 F 1.177
+(ariable is set to)-.25 F F2(wor)144 477.6 Q(d)-.37 E F0 6.206(.T)C
+1.206(he return status is 0 unless an in)-6.206 F -.25(va)-.4 G 1.205
+(lid option is encountered, one of the).25 F F2(names)4.065 E F0 1.205
+(is not a)3.975 F -.25(va)144 489.6 S(lid shell v).25 E
+(ariable name, or)-.25 E F1<ad66>2.5 E F0(is supplied with a)2.5 E F2
+(name)2.86 E F0(that is not a function.)2.68 E F1 -.18(re)108 506.4 S
+(tur).18 E(n)-.15 E F0([)2.5 E F2(n)A F0(])A .586
+(Causes a function to e)144 518.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 530.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 530.4 S .794(cution of a script by the).15 F F1(.)3.294 E F0(\()
+144 542.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 .794
-(cuting that script).15 F .245(and return either)144 542.4 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 554.4 R .082
+(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 554.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 566.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.581(,t).833 G .081
-(he return sta-)-2.581 F 2.305(tus is f)144 566.4 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)
+(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 578.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 578.4 Q F1(set)108 595.2 Q F0([)2.5 E F1
+144 590.4 Q F1(set)108 607.2 Q F0([)2.5 E F1
 (\255\255abefhkmnptuvxBCEHPT)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 F1(set)108 607.2 Q F0
+E F0 2.5(][)C F2(ar)-2.5 E(g)-.37 E F0(...])2.5 E F1(set)108 619.2 Q F0
 ([)2.5 E F1(+abefhkmnptuvxBCEHPT)A F0 2.5(][)C F1(+o)-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 619.2 S
-.836(thout options, the name and v).4 F .835(alue of each shell v)-.25 F
-.835(ariable are displayed in a format that can be)-.25 F .784
-(reused as input for setting or resetting the currently-set v)144 631.2
-R 3.284(ariables. Read-only)-.25 F -.25(va)3.284 G .784
-(riables cannot be).25 F 2.947(reset. In)144 643.2 R F2 .447(posix mode)
-2.947 F F0 2.947(,o)C .447(nly shell v)-2.947 F .447
+2.5 E F0 2.5(][)C F2(ar)-2.5 E(g)-.37 E F0(...])2.5 E -.4(Wi)144 631.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 643.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 655.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.53
-(locale. When)144 655.2 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 667.2 R .202
+(The output is sorted according to the current)5.447 F 3.531
+(locale. When)144 667.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 679.2 R .202
 (alues for the positional parameters and are assigned,)-.25 F(in order)
-144 679.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
+144 691.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 691.2 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 703.2 Q(vironment of subsequent commands.)
--.4 E F1<ad62>144 715.2 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 727.2 Q(This is ef)5 E(fecti)-.25 E .3 -.15(ve o)
--.25 H(nly when job control is enabled.).15 E(GNU Bash-3.0)72 768 Q
+-.15(ve t)-.2 H(he follo).15 E(wing meanings:)-.25 E F1<ad61>144 703.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 715.2 Q
+(vironment of subsequent commands.)-.4 E(GNU Bash-3.0)72 768 Q
 (2004 Apr 20)148.735 E(12)198.725 E 0 Cg EP
 %%Page: 13 13
 %%BeginPageSetup
 %%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<ad65>144 84 Q F0 1.693(Exit immediately if a)29.86 F/F2
-10/Times-Italic@0 SF 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
-96 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 .718
-(list immediately follo)184 108 R .718(wing a)-.25 F F1(while)3.218 E F0
-(or)3.218 E F1(until)3.219 E F0 -.1(ke)3.219 G(yw)-.05 E .719
-(ord, part of the test in an)-.1 F F1(if)3.219 E F0(statement,)3.219 E
-.379(part of a command e)184 120 R -.15(xe)-.15 G .379(cuted in a).15 F
-F1(&&)2.879 E F0(or)2.879 E/F4 10/Symbol SF<efef>2.879 E F0 .379
-(list, an)2.879 F 2.879(yc)-.15 G .379(ommand in a pipeline b)-2.879 F
-.378(ut the last,)-.2 F .577(or if the command')184 132 R 3.078(sr)-.55
-G .578(eturn v)-3.078 F .578(alue is being in)-.25 F -.15(ve)-.4 G .578
-(rted via).15 F F1(!)3.078 E F0 5.578(.F)C .578
-(ailing simple commands that)-5.728 F .402(are part of shell functions \
-or command lists enclosed in braces or parentheses satisfying)184 144 R
-.84(the abo)184 156 R 1.14 -.15(ve c)-.15 H .84
-(onditions do not cause the shell to e).15 F 3.341(xit. A)-.15 F .841
-(trap on)3.341 F F1(ERR)3.341 E F0 3.341(,i)C 3.341(fs)-3.341 G .841
-(et, is e)-3.341 F -.15(xe)-.15 G(cuted).15 E(before the shell e)184 168
-Q(xits.)-.15 E F1<ad66>144 180 Q F0(Disable pathname e)30.97 E
-(xpansion.)-.15 E F1<ad68>144 192 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 204 Q(ault.)-.1 E F1
-<ad6b>144 216 Q F0 .513(All ar)28.74 F .514
+/Times-Bold@0 SF<ad62>144 84 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 96 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 108 Q F0 1.694
+(Exit immediately if a)29.86 F/F2 10/Times-Italic@0 SF 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.193(\)e).15 G
+1.693(xits with a)-4.343 F .011(non-zero status.)184 120 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 .719(list immediately follo)184 132 R
+.719(wing a)-.25 F F1(while)3.219 E F0(or)3.219 E F1(until)3.219 E F0
+-.1(ke)3.219 G(yw)-.05 E .719(ord, part of the test in an)-.1 F F1(if)
+3.218 E F0(statement,)3.218 E .378(part of a command e)184 144 R -.15
+(xe)-.15 G .379(cuted in a).15 F F1(&&)2.879 E F0(or)2.879 E/F4 10
+/Symbol SF<efef>2.879 E F0 .379(list, an)2.879 F 2.879(yc)-.15 G .379
+(ommand in a pipeline b)-2.879 F .379(ut the last,)-.2 F .578
+(or if the command')184 156 R 3.078(sr)-.55 G .578(eturn v)-3.078 F .578
+(alue is being in)-.25 F -.15(ve)-.4 G .578(rted via).15 F F1(!)3.078 E
+F0 5.578(.F)C .577(ailing simple commands that)-5.728 F .402(are part o\
+f shell functions or command lists enclosed in braces or parentheses sa\
+tisfying)184 168 R .841(the abo)184 180 R 1.141 -.15(ve c)-.15 H .841
+(onditions do not cause the shell to e).15 F 3.341(xit. A)-.15 F .84
+(trap on)3.34 F F1(ERR)3.34 E F0 3.34(,i)C 3.34(fs)-3.34 G .84(et, is e)
+-3.34 F -.15(xe)-.15 G(cuted).15 E(before the shell e)184 192 Q(xits.)
+-.15 E F1<ad66>144 204 Q F0(Disable pathname e)30.97 E(xpansion.)-.15 E
+F1<ad68>144 216 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
+228 Q(ault.)-.1 E F1<ad6b>144 240 Q F0 .514(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 228 Q F1
-<ad6d>144 240 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 252 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 .637
-(processes run in a)3.136 F .642
-(separate process group and a line containing their e)184 264 R .641
-(xit status is printed upon their com-)-.15 F(pletion.)184 276 Q F1
-<ad6e>144 288 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
-300 Q(This is ignored by interacti)5 E .3 -.15(ve s)-.25 H(hells.).15 E
-F1<ad6f>144 312 Q F2(option\255name)2.5 E F0(The)184 324 Q F2
+F .513(vironment for a)-.4 F
+(command, not just those that precede the command name.)184 252 Q F1
+<ad6d>144 264 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 276 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 288 R .642
+(xit status is printed upon their com-)-.15 F(pletion.)184 300 Q F1
+<ad6e>144 312 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
+324 Q(This is ignored by interacti)5 E .3 -.15(ve s)-.25 H(hells.).15 E
+F1<ad6f>144 336 Q F2(option\255name)2.5 E F0(The)184 348 Q F2
 (option\255name)2.5 E F0(can be one of the follo)2.5 E(wing:)-.25 E F1
-(allexport)184 336 Q F0(Same as)224 348 Q F1<ad61>2.5 E F0(.)A F1
-(braceexpand)184 360 Q F0(Same as)224 372 Q F1<ad42>2.5 E F0(.)A F1
-(emacs)184 384 Q F0 .089(Use an emacs-style command line editing interf)
+(allexport)184 360 Q F0(Same as)224 372 Q F1<ad61>2.5 E F0(.)A F1
+(braceexpand)184 384 Q F0(Same as)224 396 Q F1<ad42>2.5 E F0(.)A F1
+(emacs)184 408 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 396 R -.15(ve)-.25 G 3.45(,u).15 G
+.95(when the shell is interacti)224 420 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 408 Q F1(errtrace)184 420 Q F0(Same as)5.03 E F1
-<ad45>2.5 E F0(.)A F1(functrace)184 432 Q F0(Same as)224 444 Q F1<ad54>
-2.5 E F0(.)A F1(err)184 456 Q(exit)-.18 E F0(Same as)11.31 E F1<ad65>2.5
-E F0(.)A F1(hashall)184 468 Q F0(Same as)9.43 E F1<ad68>2.5 E F0(.)A F1
-(histexpand)184 480 Q F0(Same as)224 492 Q F1<ad48>2.5 E F0(.)A F1
-(history)184 504 Q F0 .587(Enable command history)10 F 3.087(,a)-.65 G
+3.45 E F0(option.)224 432 Q F1(errtrace)184 444 Q F0(Same as)5.03 E F1
+<ad45>2.5 E F0(.)A F1(functrace)184 456 Q F0(Same as)224 468 Q F1<ad54>
+2.5 E F0(.)A F1(err)184 480 Q(exit)-.18 E F0(Same as)11.31 E F1<ad65>2.5
+E F0(.)A F1(hashall)184 492 Q F0(Same as)9.43 E F1<ad68>2.5 E F0(.)A F1
+(histexpand)184 504 Q F0(Same as)224 516 Q F1<ad48>2.5 E F0(.)A F1
+(history)184 528 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 516 Q(ault in interacti)-.1 E
-.3 -.15(ve s)-.25 H(hells.).15 E F1(ignor)184 528 Q(eeof)-.18 E F0 1.656
-(The ef)224 540 R 1.656(fect is as if the shell command)-.25 F/F6 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 552 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 564 S(yw).1 E(ord)-.1
-E F0(Same as)224 576 Q F1<ad6b>2.5 E F0(.)A F1(monitor)184 588 Q F0
-(Same as)5.56 E F1<ad6d>2.5 E F0(.)A F1(noclob)184 600 Q(ber)-.1 E F0
-(Same as)224 612 Q F1<ad43>2.5 E F0(.)A F1(noexec)184 624 Q F0(Same as)
-11.12 E F1<ad6e>2.5 E F0(.)A F1(noglob)184 636 Q F0(Same as)11.1 E F1
+.587(This option is)5.087 F(on by def)224 540 Q(ault in interacti)-.1 E
+.3 -.15(ve s)-.25 H(hells.).15 E F1(ignor)184 552 Q(eeof)-.18 E F0 1.657
+(The ef)224 564 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 576 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 588 S(yw).1 E(ord)-.1
+E F0(Same as)224 600 Q F1<ad6b>2.5 E F0(.)A F1(monitor)184 612 Q F0
+(Same as)5.56 E F1<ad6d>2.5 E F0(.)A F1(noclob)184 624 Q(ber)-.1 E F0
+(Same as)224 636 Q F1<ad43>2.5 E F0(.)A F1(noexec)184 648 Q F0(Same as)
+11.12 E F1<ad6e>2.5 E F0(.)A F1(noglob)184 660 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 648 Q F0(Same as)15 E F1<ad62>2.5 E F0(.)A F1(nounset)184 660 Q F0
-(Same as)6.66 E F1<ad75>2.5 E F0(.)A F1(onecmd)184 672 Q F0(Same as)6.67
-E F1<ad74>2.5 E F0(.)A F1(ph)184 684 Q(ysical)-.15 E F0(Same as)5.14 E
-F1<ad50>2.5 E F0(.)A F1(pipefail)184 696 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 708 R
-1.136
-(xit with a non-zero status, or zero if all commands in the pipeline)
--.15 F -.15(ex)224 720 S(it successfully).15 E 5(.T)-.65 G
-(his option is disabled by def)-5 E(ault.)-.1 E(GNU Bash-3.0)72 768 Q
-(2004 Apr 20)148.735 E(13)198.725 E 0 Cg EP
+184 672 Q F0(Same as)15 E F1<ad62>2.5 E F0(.)A F1(nounset)184 684 Q F0
+(Same as)6.66 E F1<ad75>2.5 E F0(.)A F1(onecmd)184 696 Q F0(Same as)6.67
+E F1<ad74>2.5 E F0(.)A F1(ph)184 708 Q(ysical)-.15 E F0(Same as)5.14 E
+F1<ad50>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
-/Times-Bold@0 SF(posix)184 84 Q F0 2.091(Change the beha)17.77 F 2.091
-(vior of)-.2 F F1(bash)4.591 E F0 2.091(where the def)4.591 F 2.091
-(ault operation dif)-.1 F 2.091(fers from the)-.25 F
-(POSIX standard to match the standard \()224 96 Q/F2 10/Times-Italic@0
-SF(posix mode)A F0(\).)A F1(pri)184 108 Q(vileged)-.1 E F0(Same as)224
-120 Q F1<ad70>2.5 E F0(.)A F1 -.1(ve)184 132 S(rbose).1 E F0(Same as)
-7.33 E F1<ad76>2.5 E F0(.)A F1(vi)184 144 Q F0
+/Times-Bold@0 SF(pipefail)184 84 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 96 R
+1.136
+(xit with a non-zero status, or zero if all commands in the pipeline)
+-.15 F -.15(ex)224 108 S(it successfully).15 E 5(.T)-.65 G
+(his option is disabled by def)-5 E(ault.)-.1 E F1(posix)184 120 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 standard to match the standard \()224 132 Q
+/F2 10/Times-Italic@0 SF(posix mode)A F0(\).)A F1(pri)184 144 Q(vileged)
+-.1 E F0(Same as)224 156 Q F1<ad70>2.5 E F0(.)A F1 -.1(ve)184 168 S
+(rbose).1 E F0(Same as)7.33 E F1<ad76>2.5 E F0(.)A F1(vi)184 180 Q F0
 (Use a vi-style command line editing interf)32.22 E(ace.)-.1 E F1
-(xtrace)184 156 Q F0(Same as)13.35 E F1<ad78>2.5 E F0(.)A(If)184 174 Q
-F1<ad6f>3.052 E F0 .552(is supplied with no)3.052 F F2(option\255name)
-3.053 E F0 3.053(,t)C .553(he v)-3.053 F .553
-(alues of the current options are printed.)-.25 F(If)5.553 E F1(+o)184
-186 Q F0 1.072(is supplied with no)3.572 F F2(option\255name)3.572 E F0
-3.572(,a)C 1.071(series of)-.001 F F1(set)3.571 E F0 1.071
-(commands to recreate the current)3.571 F
-(option settings is displayed on the standard output.)184 198 Q F1<ad70>
-144 210 Q F0 -.45(Tu)28.74 G 1.071(rn on).45 F F2(privile)4.821 E -.1
-(ge)-.4 G(d).1 E F0 3.572(mode. In)4.341 F 1.072(this mode, the)3.572 F
+(xtrace)184 192 Q F0(Same as)13.35 E F1<ad78>2.5 E F0(.)A(If)184 210 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
+222 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 234 Q F1<ad70>
+144 246 Q F0 -.45(Tu)28.74 G 1.072(rn on).45 F F2(privile)4.822 E -.1
+(ge)-.4 G(d).1 E F0 3.572(mode. In)4.342 F 1.072(this mode, the)3.572 F
 /F3 9/Times-Bold@0 SF($ENV)3.572 E F0(and)3.322 E F3($B)3.572 E(ASH_ENV)
--.27 E F0 1.072(\214les are not pro-)3.322 F 1.705
-(cessed, shell functions are not inherited from the en)184 222 R 1.705
-(vironment, and the)-.4 F F3(SHELLOPTS)4.205 E F0 -.25(va)184 234 S .018
+-.27 E F0 1.071(\214les are not pro-)3.322 F 1.705
+(cessed, shell functions are not inherited from the en)184 258 R 1.705
+(vironment, and the)-.4 F F3(SHELLOPTS)4.206 E F0 -.25(va)184 270 S .019
 (riable, if it appears in the en).25 F .019(vironment, is ignored.)-.4 F
-.019(If the shell is started with the ef)5.019 F(fec-)-.25 E(ti)184 246
-Q 1.159 -.15(ve u)-.25 H .859
+.018(If the shell is started with the ef)5.019 F(fec-)-.25 E(ti)184 282
+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 .858(option is not sup-)3.359 F .293
-(plied, these actions are tak)184 258 R .293(en and the ef)-.1 F(fecti)
+F1<ad70>3.359 E F0 .859(option is not sup-)3.359 F .294
+(plied, these actions are tak)184 294 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 .294(If the)5.294 F F1<ad70>2.794 E F0 1.196
-(option is supplied at startup, the ef)184 270 R(fecti)-.25 E 1.495 -.15
-(ve u)-.25 H 1.195(ser id is not reset.).15 F -.45(Tu)6.195 G 1.195
-(rning this option of).45 F(f)-.25 E(causes the ef)184 282 Q(fecti)-.25
+F .293(If the)5.293 F F1<ad70>2.793 E F0 1.195
+(option is supplied at startup, the ef)184 306 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 318 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 294 Q F0(Exit after reading and e)30.97 E -.15(xe)-.15 G
-(cuting one command.).15 E F1<ad75>144 306 Q F0 -.35(Tr)28.74 G .444
+<ad74>144 330 Q F0(Exit after reading and e)30.97 E -.15(xe)-.15 G
+(cuting one command.).15 E F1<ad75>144 342 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.945 G .445(pansion is).15 F .52
-(attempted on an unset v)184 318 R .519
+(xpansion. If)-.15 F -.15(ex)2.944 G .444(pansion is).15 F .519
+(attempted on an unset v)184 354 R .519
 (ariable, the shell prints an error message, and, if not interacti)-.25
-F -.15(ve)-.25 G(,).15 E -.15(ex)184 330 S(its with a non-zero status.)
-.15 E F1<ad76>144 342 Q F0(Print shell input lines as the)29.3 E 2.5(ya)
--.15 G(re read.)-2.5 E F1<ad78>144 354 Q F0 .315(After e)29.3 F .315
+F -.15(ve)-.25 G(,).15 E -.15(ex)184 366 S(its with a non-zero status.)
+.15 E F1<ad76>144 378 Q F0(Print shell input lines as the)29.3 E 2.5(ya)
+-.15 G(re read.)-2.5 E F1<ad78>144 390 Q F0 .315(After e)29.3 F .315
 (xpanding each)-.15 F F2 .315(simple command)2.815 F F0(,)A F1 -.25(fo)
 2.815 G(r).25 E F0(command,)2.815 E F1(case)2.815 E F0(command,)2.815 E
-F1(select)2.815 E F0(command,)2.815 E 1.236(or arithmetic)184 366 R F1
+F1(select)2.815 E F0(command,)2.815 E 1.235(or arithmetic)184 402 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
-378 Q(xpanded ar)-.15 E(guments or associated w)-.18 E(ord list.)-.1 E
-F1<ad42>144 390 Q F0 2.578(The shell performs brace e)27.63 F 2.578
+414 Q(xpanded ar)-.15 E(guments or associated w)-.18 E(ord list.)-.1 E
+F1<ad42>144 426 Q F0 2.579(The shell performs brace e)27.63 F 2.578
 (xpansion \(see)-.15 F F1 2.578(Brace Expansion)5.078 F F0(abo)5.078 E
--.15(ve)-.15 G 5.079(\). This).15 F 2.579(is on by)5.079 F(def)184 402 Q
-(ault.)-.1 E F1<ad43>144 414 Q F0 .214(If set,)27.08 F F1(bash)2.714 E
-F0 .214(does not o)2.714 F -.15(ve)-.15 G .214(rwrite an e).15 F .214
+-.15(ve)-.15 G 5.078(\). This).15 F 2.578(is on by)5.078 F(def)184 438 Q
+(ault.)-.1 E F1<ad43>144 450 Q F0 .213(If set,)27.08 F F1(bash)2.713 E
+F0 .213(does not o)2.713 F -.15(ve)-.15 G .214(rwrite an e).15 F .214
 (xisting \214le with the)-.15 F F1(>)2.714 E F0(,)A F1(>&)2.714 E F0
-2.713(,a)C(nd)-2.713 E F1(<>)2.713 E F0 .213(redirection opera-)2.713 F
-3.053(tors. This)184 426 R .553(may be o)3.053 F -.15(ve)-.15 G .553
+2.714(,a)C(nd)-2.714 E F1(<>)2.714 E F0 .214(redirection opera-)2.714 F
+3.054(tors. This)184 462 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 438 Q F1(>|)2.5 E F0(instead of)2.5 E F1(>)2.5 E F0(.)A F1
-<ad45>144 450 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 462 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 474 Q F1
-<ad48>144 486 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 498 Q -.15
-(ve)-.25 G(.).15 E F1<ad50>144 510 Q F0 1.164
+.15 F(tor)184 474 Q F1(>|)2.5 E F0(instead of)2.5 E F1(>)2.5 E F0(.)A F1
+<ad45>144 486 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 498 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 510 Q F1
+<ad48>144 522 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 534 Q -.15
+(ve)-.25 G(.).15 E F1<ad50>144 546 Q F0 1.165
 (If set, the shell does not follo)28.19 F 3.664(ws)-.25 G 1.164
-(ymbolic links when e)-3.664 F -.15(xe)-.15 G 1.165
-(cuting commands such as).15 F F1(cd)3.665 E F0 2.822
-(that change the current w)184 522 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 534 R(def)2.685
+(ymbolic links when e)-3.664 F -.15(xe)-.15 G 1.164
+(cuting commands such as).15 F F1(cd)3.664 E F0 2.821
+(that change the current w)184 558 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 570 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 546 Q(.)-.65 E F1<ad54>144
-558 Q F0 .89(If set, an)27.63 F 3.39(yt)-.15 G .89(raps on)-3.39 F F1
+(mands which change the current directory)184 582 Q(.)-.65 E F1<ad54>144
+594 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 570 R -.15(xe)-.15 G 1.932
+(substitutions, and commands e)184 606 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 582 Q F0
-(traps are normally not inherited in such cases.)2.5 E F1<adad>144 594 Q
-F0 .401(If no ar)28.6 F .401(guments follo)-.18 F 2.901(wt)-.25 G .401
+(UG)-.1 E F0(and)4.432 E F1(RETURN)184 618 Q F0
+(traps are normally not inherited in such cases.)2.5 E F1<adad>144 630 Q
+F0 .4(If no ar)28.6 F .401(guments follo)-.18 F 2.901(wt)-.25 G .401
 (his option, then the positional parameters are unset.)-2.901 F
-(Otherwise,)5.4 E(the positional parameters are set to the)184 606 Q F2
-(ar)2.5 E(g)-.37 E F0(s, e)A -.15(ve)-.25 G 2.5(ni).15 G 2.5(fs)-2.5 G
+(Otherwise,)5.401 E(the positional parameters are set to the)184 642 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
-618 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 630 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 642 Q .425(The options are of)144
-658.8 R 2.925(fb)-.25 G 2.925(yd)-2.925 G(ef)-2.925 E .425
+654 Q F0 1.945(Signal the end of options, cause all remaining)34.3 F F2
+(ar)4.444 E(g)-.37 E F0 4.444(st)C 4.444(ob)-4.444 G 4.444(ea)-4.444 G
+1.944(ssigned to the positional)-4.444 F 3.445(parameters. The)184 666 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 678 Q .425(The options are of)144
+694.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 670.8 R 2.678(f. The)-.25 F .178
+(Using + rather than \255 causes these options)5.425 F .177
+(to be turned of)144 706.8 R 2.677(f. The)-.25 F .178
 (options can also be speci\214ed as ar)2.678 F .178(guments to an in)
--.18 F -.2(vo)-.4 G .177(cation of the shell.).2 F(The)5.177 E .066
-(current set of options may be found in)144 682.8 R F1<24ad>2.566 E F0
+-.18 F -.2(vo)-.4 G .178(cation of the shell.).2 F(The)5.178 E .066
+(current set of options may be found in)144 718.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 694.8 Q(GNU Bash-3.0)72 768 Q(2004 Apr 20)148.735 E
+(ys true unless an in).1 F -.25(va)-.4 G .066(lid option).25 F
+(is encountered.)144 730.8 Q(GNU Bash-3.0)72 768 Q(2004 Apr 20)148.735 E
 (14)198.725 E 0 Cg EP
 %%Page: 15 15
 %%BeginPageSetup
@@ -1880,19 +1890,19 @@ BP
 /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(shift)108 84 Q F0([)2.5 E/F2 10/Times-Italic@0 SF(n)A
-F0(])A .429(The positional parameters from)144 96 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 108 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
+F0(])A .428(The positional parameters from)144 96 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 108 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 120 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 132 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
+C(he)-2.56 E .144(positional parameters are not changed.)144 132 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 144 Q F1(shopt)108 160.8 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 172.8 S .222(ggle the v).8 F .222(alues of v)
@@ -1900,85 +1910,85 @@ F0(...])2.5 E -.8(To)144 172.8 S .222(ggle the v).8 F .222(alues of v)
 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 displayed, with an \
 indication of whether or not each is set.)144 184.8 R(The)144 196.8 Q F1
-<ad70>2.828 E F0 .327(option causes output to be displayed in a form th\
-at may be reused as input.)2.828 F .327(Other options)5.327 F(ha)144
+<ad70>2.827 E F0 .327(option causes output to be displayed in a form th\
+at may be reused as input.)2.827 F .328(Other options)5.328 F(ha)144
 208.8 Q .3 -.15(ve t)-.2 H(he follo).15 E(wing meanings:)-.25 E F1<ad73>
 144 220.8 Q F0(Enable \(set\) each)26.41 E F2(optname)2.5 E F0(.)A F1
 <ad75>144 232.8 Q F0(Disable \(unset\) each)24.74 E F2(optname)2.5 E F0
 (.)A F1<ad71>144 244.8 Q F0 .003(Suppresses normal output \(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 256.8 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(all)180 268.8 Q F2(optnames)2.5 E
+\); the return status indicates whether the)24.74 F F2(optname)2.503 E
+F0(is)2.503 E .255(set or unset.)180 256.8 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 268.8 Q F2(optnames)2.5 E
 F0(are enabled; non-zero otherwise.)2.5 E F1<ad6f>144 280.8 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 .127(If either)144 297.6 R F1
-<ad73>2.627 E F0(or)2.627 E F1<ad75>2.627 E F0 .127(is used with no)
+E F1(set)2.5 E F0 -.2(bu)2.5 G(iltin.).2 E .128(If either)144 297.6 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.024
-(are set or unset, respecti)144 309.6 R -.15(ve)-.25 G(ly).15 E 6.024
-(.U)-.65 G 1.024(nless otherwise noted, the)-6.024 F F1(shopt)3.523 E F0
-1.023(options are disabled \(unset\) by)3.523 F(def)144 321.6 Q(ault.)
+(guments, the display is limited to those options which)-.18 F 1.023
+(are set or unset, respecti)144 309.6 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 321.6 Q(ault.)
 -.1 E 1.544(The return status when listing options is zero if all)144
-338.4 R F2(optnames)4.044 E F0 1.545(are enabled, non-zero otherwise.)
-4.045 F .696
+338.4 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 350.4 R F2(optname)3.196 E F0 .696(is not a v)3.196 F .695
+144 350.4 R F2(optname)3.196 E F0 .696(is not a v)3.196 F .696
 (alid shell)-.25 F(option.)144 362.4 Q(The list of)144 379.2 Q F1(shopt)
-2.5 E F0(options is:)2.5 E F1(autocd)144 397.2 Q F0 .199
+2.5 E F0(options is:)2.5 E F1(autocd)144 397.2 Q F0 .2
 (If set, a command name that is the name of a directory is e)11.11 F
--.15(xe)-.15 G .2(cuted as if it were the ar).15 F(gu-)-.18 E
+-.15(xe)-.15 G .199(cuted as if it were the ar).15 F(gu-)-.18 E
 (ment to the)184 409.2 Q F1(cd)2.5 E F0 2.5(command. This)2.5 F
 (option is only used by interacti)2.5 E .3 -.15(ve s)-.25 H(hells.).15 E
-F1(cdable_v)144 421.2 Q(ars)-.1 E F0 .156(If set, an ar)184 433.2 R .156
-(gument to the)-.18 F F1(cd)2.656 E F0 -.2(bu)2.656 G .155
+F1(cdable_v)144 421.2 Q(ars)-.1 E F0 .155(If set, an ar)184 433.2 R .155
+(gument to the)-.18 F F1(cd)2.655 E F0 -.2(bu)2.655 G .156
 (iltin command that is not a directory is assumed to be the).2 F
 (name of a v)184 445.2 Q(ariable whose v)-.25 E
 (alue is the directory to change to.)-.25 E F1(cdspell)144 457.2 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 469.2 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 481.2 R 4.352 -.65
+10.55 F F1(cd)3.555 E F0 1.055(command will be)3.555 F 3.987
+(corrected. The)184 469.2 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 481.2 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 493.2 Q
 (This option is only used by interacti)5 E .3 -.15(ve s)-.25 H(hells.)
-.15 E F1(checkhash)144 505.2 Q F0 2.08(If set,)184 517.2 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 529.2 S(cute it.).15 E
+.15 E F1(checkhash)144 505.2 Q F0 2.079(If set,)184 517.2 R F1(bash)
+4.579 E F0 2.079(checks that a command found in the hash table e)4.579 F
+2.08(xists before trying to)-.15 F -.15(exe)184 529.2 S(cute it.).15 E
 (If a hashed command no longer e)5 E
 (xists, a normal path search is performed.)-.15 E F1(checkjobs)144 541.2
-Q F0 .448(If set,)184 553.2 R F1(bash)2.948 E F0 .448
-(lists the status of an)2.948 F 2.949(ys)-.15 G .449
-(topped and running jobs before e)-2.949 F .449(xiting an interacti)-.15
-F -.15(ve)-.25 G 3.439(shell. If)184 565.2 R(an)3.439 E 3.439(yj)-.15 G
-.938(obs are running, this causes the e)-3.439 F .938
-(xit to be deferred until a second e)-.15 F .938(xit is)-.15 F 1.456
+Q F0 .449(If set,)184 553.2 R F1(bash)2.949 E F0 .449
+(lists the status of an)2.949 F 2.949(ys)-.15 G .448
+(topped and running jobs before e)-2.949 F .448(xiting an interacti)-.15
+F -.15(ve)-.25 G 3.438(shell. If)184 565.2 R(an)3.438 E 3.438(yj)-.15 G
+.938(obs are running, this causes the e)-3.438 F .938
+(xit to be deferred until a second e)-.15 F .939(xit is)-.15 F 1.456
 (attempted without an interv)184 577.2 R 1.456(ening command \(see)-.15
 F F1 1.456(JOB CONTR)3.956 F(OL)-.3 E F0(abo)3.956 E -.15(ve)-.15 G
 3.956(\). The).15 F(shell)3.956 E(al)184 589.2 Q -.1(wa)-.1 G
 (ys postpones e).1 E(xiting if an)-.15 E 2.5(yj)-.15 G(obs are stopped.)
--2.5 E F1(checkwinsize)144 601.2 Q F0 .797(If set,)184 613.2 R F1(bash)
-3.297 E F0 .797(checks the windo)3.297 F 3.297(ws)-.25 G .796
-(ize after each command and, if necessary)-3.297 F 3.296(,u)-.65 G .796
-(pdates the)-3.296 F -.25(va)184 625.2 S(lues of).25 E/F3 9/Times-Bold@0
+-2.5 E F1(checkwinsize)144 601.2 Q F0 .796(If set,)184 613.2 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 625.2 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 637.2 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
 649.2 Q 5(.T)-.65 G(his allo)-5 E
 (ws easy re-editing of multi-line commands.)-.25 E F1(compat31)144 661.2
-Q F0 .42(If set,)184 673.2 R F1(bash)2.92 E F0 .42(changes its beha)2.92
-F .419(vior to that of v)-.2 F .419
+Q F0 .419(If set,)184 673.2 R F1(bash)2.919 E F0 .419(changes its beha)
+2.919 F .419(vior to that of v)-.2 F .42
 (ersion 3.1 with respect to quoted ar)-.15 F(guments)-.18 E
 (to the conditional command')184 685.2 Q 2.5(s=)-.55 G 2.5(~o)-2.5 G
-(perator)-2.5 E(.)-.55 E F1(dirspell)144 697.2 Q F0 .858(If set,)7.77 F
-F1(bash)3.358 E F0 .858
-(attempts spelling correction on directory names during w)3.358 F .859
+(perator)-2.5 E(.)-.55 E F1(dirspell)144 697.2 Q F0 .859(If set,)7.77 F
+F1(bash)3.359 E F0 .858
+(attempts spelling correction on directory names during w)3.359 F .858
 (ord completion if)-.1 F
 (the directory name initially supplied does not e)184 709.2 Q(xist.)-.15
 E(GNU Bash-3.0)72 768 Q(2004 Apr 20)148.735 E(15)198.725 E 0 Cg EP
@@ -1991,44 +2001,44 @@ BP
 /Times-Bold@0 SF(dotglob)144 84 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 96 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
+(xpansion.)-.15 E F1(execfail)144 96 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 108 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 120 Q F0 .717
+-.1(fa)2.5 G(ils.).1 E F1(expand_aliases)144 120 Q F0 .716
 (If set, aliases are e)184 132 R .717(xpanded as described abo)-.15 F
 1.017 -.15(ve u)-.15 H(nder).15 E/F2 9/Times-Bold@0 SF(ALIASES)3.217 E
-/F3 9/Times-Roman@0 SF(.)A F0 .716(This option is enabled)5.217 F
+/F3 9/Times-Roman@0 SF(.)A F0 .717(This option is enabled)5.217 F
 (by def)184 144 Q(ault for interacti)-.1 E .3 -.15(ve s)-.25 H(hells.)
 .15 E F1(extdeb)144 156 Q(ug)-.2 E F0(If set, beha)184 168 Q
 (vior intended for use by deb)-.2 E(uggers is enabled:)-.2 E F1(1.)184
-180 Q F0(The)28.5 E F1<ad46>4.25 E F0 1.75(option to the)4.25 F F1
+180 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 192 Q
 (gument.)-.18 E F1(2.)184 204 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 216
-Q -.15(xe)-.15 G(cuted.).15 E F1(3.)184 228 Q F0 .84
-(If the command run by the)28.5 F F1(DEB)3.34 E(UG)-.1 E F0 .841
-(trap returns a v)3.341 F .841(alue of 2, and the shell is)-.25 F -.15
+Q -.15(xe)-.15 G(cuted.).15 E F1(3.)184 228 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 240 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 252 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
-264 R(ASH_ARGC)-.3 E F0(and)3.775 E F1 -.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
+264 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
 276 Q -.15(ve)-.15 G(.).15 E F1(5.)184 288 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
 300 Q -.2(vo)-.4 G -.1(ke).2 G 2.5(dw).1 G(ith)-2.5 E F1(\()2.5 E/F4 10
 /Times-Italic@0 SF(command)2.5 E F1(\))2.5 E F0(inherit the)2.5 E F1
 (DEB)2.5 E(UG)-.1 E F0(and)2.5 E F1(RETURN)2.5 E F0(traps.)2.5 E F1(6.)
-184 312 Q F0 .804(Error tracing is enabled:)28.5 F .805
-(command substitution, shell functions, and subshells)5.804 F(in)220 324
+184 312 Q F0 .805(Error tracing is enabled:)28.5 F .804
+(command substitution, shell functions, and subshells)5.805 F(in)220 324
 Q -.2(vo)-.4 G -.1(ke).2 G 2.5(dw).1 G(ith)-2.5 E F1(\()2.5 E F4
 (command)2.5 E F1(\))2.5 E F0(inherit the)2.5 E F1(ERR)2.5 E(OR)-.3 E F0
 (trap.)2.5 E F1(extglob)144 336 Q F0 .4(If set, the e)8.89 F .4
@@ -2040,47 +2050,47 @@ E F0(")A F4(string)A F0 4.973("q)C 2.473(uoting is performed within)
 -4.973 F F1(${)4.973 E F4(par)A(ameter)-.15 E F1(})A F0 -.15(ex)4.973 G
 (pansions).15 E(enclosed in double quotes.)184 384 Q
 (This option is enabled by def)5 E(ault.)-.1 E F1(failglob)144 396 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
+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 408 S(pansion error).15 E(.)
 -.55 E F1 -.25(fo)144 420 S -.18(rc).25 G(e_\214gnor).18 E(e)-.18 E F0
 .585(If set, the suf)184 432 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 444 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 456 R F2 .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 468 Q(ault.)-.1 E F1(globstar)144 480 Q F0 .44(If set, the pattern)5
-F F1(**)2.94 E F0 .44(used in a \214lename e)2.94 F .439(xpansion conte)
--.15 F .439(xt will match a \214les and zero or)-.15 F 1.297
+(he ignored w)-2.82 F .32(ords are the only possible com-)-.1 F 3.33
+(pletions. See)184 456 R F2 .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 468
+Q(ault.)-.1 E F1(globstar)144 480 Q F0 .439(If set, the pattern)5 F F1
+(**)2.939 E F0 .439(used in a \214lename e)2.939 F .439(xpansion conte)
+-.15 F .44(xt will match a \214les and zero or)-.15 F 1.298
 (more directories and subdirectories.)184 492 R 1.298
-(If the pattern is follo)6.297 F 1.298(wed by a)-.25 F F1(/)3.798 E F0
-3.798(,o)C 1.298(nly directories)-3.798 F(and subdirectories match.)184
+(If the pattern is follo)6.298 F 1.298(wed by a)-.25 F F1(/)3.797 E F0
+3.797(,o)C 1.297(nly directories)-3.797 F(and subdirectories match.)184
 504 Q F1(gnu_errfmt)144 516 Q F0(If set, shell error messages are writt\
 en in the standard GNU error message format.)184 528 Q F1(histappend)144
-540 Q F0 .384
+540 Q F0 .383
 (If set, the history list is appended to the \214le named by the v)184
-552 R .383(alue of the)-.25 F F1(HISTFILE)2.883 E F0 -.25(va)2.883 G
+552 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 564 Q(xits, rather than o)-.15 E
 -.15(ve)-.15 G(rwriting the \214le.).15 E F1(histr)144 576 Q(eedit)-.18
-E F0 .575(If set, and)184 588 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 600 Q F1(histv)144 612 Q(erify)-.1 E F0 .403
+E F0 .576(If set, and)184 588 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 600 Q F1(histv)144 612 Q(erify)-.1 E F0 .402
 (If set, and)184 624 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 636 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 648 S -.25(ff).2 G(er).25 E
+2.903 F .662(passed to the shell parser)184 636 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 648 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 660 Q F0 1.182(If set, and)184 672 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
-684 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 696 Q -.15(ve)-.15 G 2.5(\). This).15 F
+(hostcomplete)144 660 Q F0 1.181(If set, and)184 672 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
+684 R 1.381(ord containing a)-.1 F F1(@)3.881 E F0 1.381
+(is being completed \(see)3.881 F F1(Completing)3.88 E F0(under)3.88 E
+F2(READLINE)3.88 E F0(abo)184 696 Q -.15(ve)-.15 G 2.5(\). This).15 F
 (is enabled by def)2.5 E(ault.)-.1 E(GNU Bash-3.0)72 768 Q(2004 Apr 20)
 148.735 E(16)198.725 E 0 Cg EP
 %%Page: 17 17
@@ -2098,51 +2108,51 @@ BP
 (ord and all remaining characters on)-.1 F .967
 (that line to be ignored in an interacti)184 132 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 144 Q
-(ault.)-.1 E F1(lithist)144 156 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 168 Q
+G 3.467(\). This).15 F .967(option is)3.467 F(enabled by def)184 144 Q
+(ault.)-.1 E F1(lithist)144 156 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 168 Q
 (wlines rather than using semicolon separators where possible.)-.25 E F1
 (login_shell)144 180 Q F0 .486
 (The shell sets this option if it is started as a login shell \(see)184
-192 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 204 S(lue may not be changed.).25
-E F1(mailwar)144 216 Q(n)-.15 E F0 .815(If set, and a \214le that)184
-228 R F1(bash)3.315 E F0 .814
-(is checking for mail has been accessed since the last time it)3.315 F
+192 R F2(INV)2.986 E(OCA)-.405 E(TION)-.855 E F0(abo)2.736 E -.15(ve)
+-.15 G 2.986(\). The).15 F -.25(va)184 204 S(lue may not be changed.).25
+E F1(mailwar)144 216 Q(n)-.15 E F0 .814(If set, and a \214le that)184
+228 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 240 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 252 Q F0 .145(If set, and)184 264 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
+(no_empty_cmd_completion)144 252 Q F0 .146(If set, and)184 264 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 276 Q F1
-(nocaseglob)144 288 Q F0 .437(If set,)184 300 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 312 S
+(nocaseglob)144 288 Q F0 .436(If set,)184 300 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 312 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 324 Q F0 1.193(If set,)184
-336 R F1(bash)3.693 E F0 1.194(matches patterns in a case\255insensiti)
-3.693 F 1.494 -.15(ve f)-.25 H 1.194(ashion when performing matching).05
+-.15(ve)-.15 G(\).).15 E F1(nocasematch)144 324 Q F0 1.194(If set,)184
+336 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 348 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 360 Q F0
-.855(If set,)184 372 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 384 S(pand to a null string, rather than themselv)
-.15 E(es.)-.15 E F1(pr)144 396 Q(ogcomp)-.18 E F0 .676
+.854(If set,)184 372 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 384 S(pand to a null string, rather than themselv)
+.15 E(es.)-.15 E F1(pr)144 396 Q(ogcomp)-.18 E F0 .677
 (If set, the programmable completion f)184 408 R .677(acilities \(see)
--.1 F F1(Pr)3.177 E .677(ogrammable Completion)-.18 F F0(abo)3.177 E
+-.1 F F1(Pr)3.176 E .676(ogrammable Completion)-.18 F F0(abo)3.176 E
 -.15(ve)-.15 G(\)).15 E(are enabled.)184 420 Q
 (This option is enabled by def)5 E(ault.)-.1 E F1(pr)144 432 Q(omptv)
--.18 E(ars)-.1 E F0 1.448(If set, prompt strings under)184 444 R 1.448
-(go parameter e)-.18 F 1.447(xpansion, command substitution, arithmetic)
--.15 F -.15(ex)184 456 S .17(pansion, and quote remo).15 F -.25(va)-.15
+-.18 E(ars)-.1 E F0 1.447(If set, prompt strings under)184 444 R 1.448
+(go parameter e)-.18 F 1.448(xpansion, command substitution, arithmetic)
+-.15 F -.15(ex)184 456 S .171(pansion, and quote remo).15 F -.25(va)-.15
 G 2.67(la).25 G .17(fter being e)-2.67 F .17(xpanded as described in)
--.15 F F2(PR)2.671 E(OMPTING)-.27 E F0(abo)2.421 E -.15(ve)-.15 G(.).15
-E(This option is enabled by def)184 468 Q(ault.)-.1 E F1 -.18(re)144 480
+-.15 F F2(PR)2.67 E(OMPTING)-.27 E F0(abo)2.42 E -.15(ve)-.15 G(.).15 E
+(This option is enabled by def)184 468 Q(ault.)-.1 E F1 -.18(re)144 480
 S(stricted_shell).18 E F0 1.069
 (The shell sets this option if it is started in restricted mode \(see)
 184 492 R F2 1.069(RESTRICTED SHELL)3.569 F F0(belo)184 504 Q 4.178
@@ -2150,37 +2160,37 @@ S(stricted_shell).18 E F0 1.069
 1.678(This is not reset when the startup \214les are)6.678 F -.15(exe)
 184 516 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 528 Q(erbose)-.1 E F0 .502(If set, the)184 540 R F1
-(shift)3.002 E F0 -.2(bu)3.002 G .501
-(iltin prints an error message when the shift count e).2 F .501
+F1(shift_v)144 528 Q(erbose)-.1 E F0 .501(If set, the)184 540 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 552 Q F1(sour)
-144 564 Q(cepath)-.18 E F0 .77(If set, the)184 576 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 588 Q 2.5(gument. This)-.18 F
-(option is enabled by def)2.5 E(ault.)-.1 E F1(xpg_echo)144 600 Q F0
-(If set, the)184 612 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 624 Q F0([)2.5 E F1<ad66>A F0(])A .493(Suspend the e)144 636 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 648 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 660 Q F1<ad66>2.5 E F0
-(is not supplied, or if job control is not enabled.)2.5 E F1(test)108
-672 Q F3 -.2(ex)2.5 G(pr).2 E F1([)108 684 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
+144 564 Q(cepath)-.18 E F0 .771(If set, the)184 576 R F1(sour)3.271 E
+(ce)-.18 E F0(\()3.271 E F1(.)A F0 3.271(\)b)C .771(uiltin uses the v)
+-3.471 F .771(alue of)-.25 F F2 -.666(PA)3.27 G(TH)-.189 E F0 .77
+(to \214nd the directory containing the)3.02 F(\214le supplied as an ar)
+184 588 Q 2.5(gument. This)-.18 F(option is enabled by def)2.5 E(ault.)
+-.1 E F1(xpg_echo)144 600 Q F0(If set, the)184 612 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 624 Q F0([)2.5 E F1<ad66>A F0(])A 1.001
+(Suspend the e)144 636 R -.15(xe)-.15 G 1.001
+(cution of this shell until it recei).15 F -.15(ve)-.25 G 3.501(sa).15 G
+F2(SIGCONT)A F0 3.502(signal. A)3.252 F 1.002(login shell cannot be)
+3.502 F .023(suspended; the)144 648 R F1<ad66>2.523 E F0 .023
+(option can be used to o)2.523 F -.15(ve)-.15 G .022
+(rride this and force the suspension.).15 F .022(The return status is)
+5.022 F 2.5(0u)144 660 S(nless the shell is a login shell and)-2.5 E F1
+<ad66>2.5 E F0(is not supplied, or if job control is not enabled.)2.5 E
+F1(test)108 672 Q F3 -.2(ex)2.5 G(pr).2 E F1([)108 684 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.188
 (operator and operand must be a separate ar)144 696 R 3.688
-(gument. Expressions)-.18 F 1.188(are composed of the primaries)3.688 F
-1.89(described abo)144 708 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 720 Q
+(gument. Expressions)-.18 F 1.187(are composed of the primaries)3.688 F
+1.889(described abo)144 708 R 2.189 -.15(ve u)-.15 H(nder).15 E F2
+(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 720 Q
 (gument of)-.18 E F1<adad>2.5 E F0(as signifying the end of options.)2.5
 E(GNU Bash-3.0)72 768 Q(2004 Apr 20)148.735 E(17)198.725 E 0 Cg EP
 %%Page: 18 18
@@ -2188,8 +2198,8 @@ E(GNU Bash-3.0)72 768 Q(2004 Apr 20)148.735 E(17)198.725 E 0 Cg EP
 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 .785
-(Expressions may be combined using the follo)144 84 R .786
+(TINS\(1\) B)-.92 F(ASH_B)-.35 E(UIL)-.1 E(TINS\(1\))-.92 E .786
+(Expressions may be combined using the follo)144 84 R .785
 (wing operators, listed in decreasing order of prece-)-.25 F 2.5
 (dence. The)144 96 R -.25(eva)2.5 G(luation depends on the number of ar)
 .25 E(guments; see belo)-.18 E -.65(w.)-.25 G/F1 10/Times-Bold@0 SF(!)
@@ -2214,38 +2224,38 @@ F0 -.25(eva)2.5 G(luate conditional e).25 E
 E 2.5(2a)144 262.8 S -.18(rg)-2.5 G(uments).18 E .37(If the \214rst ar)
 180 274.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 286.8 R .38
-(gument is one of the unary conditional operators listed abo)-.18 F .679
--.15(ve u)-.15 H(nder).15 E/F3 9/Times-Bold@0 SF(CONDI-)2.879 E(TION)180
-298.8 Q .552(AL EXPRESSIONS)-.18 F/F4 9/Times-Roman@0 SF(,)A F0 .552
+(gument is null.)-.18 F .379(If the \214rst ar)180 286.8 R .38
+(gument is one of the unary conditional operators listed abo)-.18 F .68
+-.15(ve u)-.15 H(nder).15 E/F3 9/Times-Bold@0 SF(CONDI-)2.88 E(TION)180
+298.8 Q .553(AL EXPRESSIONS)-.18 F/F4 9/Times-Roman@0 SF(,)A F0 .552
 (the e)2.802 F .552(xpression is true if the unary test is true.)-.15 F
 .552(If the \214rst ar)5.552 F(gu-)-.18 E(ment is not a v)180 310.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 322.8 S -.18(rg)-2.5 G
-(uments).18 E .024(If the second ar)180 334.8 R .023
+(uments).18 E .023(If the second ar)180 334.8 R .023
 (gument is one of the binary conditional operators listed abo)-.18 F
-.323 -.15(ve u)-.15 H(nder).15 E F3(CON-)2.523 E(DITION)180 346.8 Q
-1.477(AL EXPRESSIONS)-.18 F F4(,)A F0 1.477(the result of the e)3.727 F
+.324 -.15(ve u)-.15 H(nder).15 E F3(CON-)2.524 E(DITION)180 346.8 Q
+1.478(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 .513
 (using the \214rst and third ar)180 358.8 R .513(guments as operands.)
 -.18 F(The)5.513 E F1<ad61>3.013 E F0(and)3.013 E F1<ad6f>3.013 E F0
-.512(operators are considered)3.013 F .972
+.513(operators are considered)3.013 F .972
 (binary operators when there are three ar)180 370.8 R 3.472(guments. If)
 -.18 F .972(the \214rst ar)3.472 F .972(gument is)-.18 F F1(!)3.472 E F0
-3.472(,t)C .972(he v)-3.472 F .972(alue is)-.25 F .884(the ne)180 382.8
-R -.05(ga)-.15 G .884(tion of the tw).05 F(o-ar)-.1 E .884
-(gument test using the second and third ar)-.18 F 3.383(guments. If)-.18
-F .883(the \214rst)3.383 F(ar)180 394.8 Q .874(gument is e)-.18 F
-(xactly)-.15 E F1(\()3.374 E F0 .875(and the third ar)3.374 F .875
-(gument is e)-.18 F(xactly)-.15 E F1(\))3.375 E F0 3.375(,t)C .875
-(he result is the one-ar)-3.375 F(gument)-.18 E(test of the second ar)
+3.472(,t)C .972(he v)-3.472 F .972(alue is)-.25 F .883(the ne)180 382.8
+R -.05(ga)-.15 G .883(tion of the tw).05 F(o-ar)-.1 E .884
+(gument test using the second and third ar)-.18 F 3.384(guments. If)-.18
+F .884(the \214rst)3.384 F(ar)180 394.8 Q .875(gument is e)-.18 F
+(xactly)-.15 E F1(\()3.375 E F0 .875(and the third ar)3.375 F .875
+(gument is e)-.18 F(xactly)-.15 E F1(\))3.375 E F0 3.374(,t)C .874
+(he result is the one-ar)-3.374 F(gument)-.18 E(test of the second ar)
 180 406.8 Q 2.5(gument. Otherwise,)-.18 F(the e)2.5 E(xpression is f)
--.15 E(alse.)-.1 E 2.5(4a)144 418.8 S -.18(rg)-2.5 G(uments).18 E .385
-(If the \214rst ar)180 430.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 442.8 R 4.147
-(guments. Otherwise,)-.18 F 1.647(the e)4.147 F 1.648
+-.15 E(alse.)-.1 E 2.5(4a)144 418.8 S -.18(rg)-2.5 G(uments).18 E .384
+(If the \214rst ar)180 430.8 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 442.8 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 454.8 Q -.15(ve)
 -.15 G(.).15 E 2.5(5o)144 466.8 S 2.5(rm)-2.5 G(ore ar)-2.5 E(guments)
@@ -2256,52 +2266,53 @@ F .883(the \214rst)3.383 F(ar)180 394.8 Q .874(gument is e)-.18 F
 accumulated user and system times for the shell and for processes run f\
 rom the shell.)13.23 F(The return status is 0.)144 519.6 Q F1(trap)108
 536.4 Q F0([)2.5 E F1(\255lp)A F0 2.5(][)C([)-2.5 E F2(ar)A(g)-.37 E F0
-(])A F2(sigspec)2.5 E F0(...])2.5 E .703(The command)144 548.4 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)
+(])A F2(sigspec)2.5 E F0(...])2.5 E .702(The command)144 548.4 R F2(ar)
+3.532 E(g)-.37 E F0 .702(is to be read and e)3.422 F -.15(xe)-.15 G .702
+(cuted when the shell recei).15 F -.15(ve)-.25 G 3.203(ss).15 G
+(ignal\(s\))-3.203 E F2(sigspec)3.203 E F0 5.703(.I).31 G(f)-5.703 E F2
+(ar)3.533 E(g)-.37 E F0(is)3.423 E .609(absent \(and there is a single)
 144 560.4 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 572.4 R .659(alue it had upon entrance to the shell\).)
--.25 F(If)5.658 E F2(ar)3.488 E(g)-.37 E F0 .658
+.658(\(the v)144 572.4 R .658(alue it had upon entrance to the shell\).)
+-.25 F(If)5.658 E F2(ar)3.488 E(g)-.37 E F0 .659
 (is the null string the signal speci\214ed by each)3.378 F F2(sigspec)
-144.34 584.4 Q F0 .58(is ignored by the shell and by the commands it in)
-3.39 F -.2(vo)-.4 G -.1(ke).2 G 3.081(s. If).1 F F2(ar)3.411 E(g)-.37 E
-F0 .581(is not present and)3.301 F F1<ad70>3.081 E F0(has)3.081 E 1.215
+144.34 584.4 Q F0 .581
+(is ignored by the shell and by the commands it in)3.391 F -.2(vo)-.4 G
+-.1(ke).2 G 3.08(s. If).1 F F2(ar)3.41 E(g)-.37 E F0 .58
+(is not present and)3.3 F F1<ad70>3.08 E F0(has)3.08 E 1.214
 (been supplied, then the trap commands associated with each)144 596.4 R
-F2(sigspec)4.054 E F0 1.214(are displayed.)4.024 F 1.214(If no ar)6.214
+F2(sigspec)4.054 E F0 1.215(are displayed.)4.024 F 1.215(If no ar)6.215
 F(gu-)-.18 E .86(ments are supplied or if only)144 608.4 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 620.4 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 632.4 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
+to print a list of signal names and their corresponding num-)2.83 F
+4.311(bers. Each)144 632.4 R F2(sigspec)4.651 E F0 1.811
+(is either a signal name de\214ned in <)4.621 F F2(signal.h)A F0 1.81
+(>, or a signal number)B 6.81(.S)-.55 G(ignal)-6.81 E .745
 (names are case insensiti)144 644.4 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(EXIT)3.245 E F0 .745(\(0\) the command)2.995 F
-F2(ar)144.33 656.4 Q(g)-.37 E F0 1.629(is e)4.349 F -.15(xe)-.15 G 1.629
+F2(ar)144.33 656.4 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 F2
-(sigspec)4.47 E F0(is)4.44 E F3(DEB)4.13 E(UG)-.09 E F4(,)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 668.4 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
-680.4 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 692.4 Q -.15(ve)-.15 G 2.666
-(\). Refer).15 F .166(to the description of the)2.666 F F1(extdeb)2.666
+(sigspec)4.47 E F0(is)4.44 E F3(DEB)4.13 E(UG)-.09 E F4(,)A F0 1.629
+(the command)3.88 F F2(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 668.4 R -.15(ve)-.25 G(ry).15
+E F2 1.206(simple command)3.706 F F0(,)A F2(for)3.706 E F0(command,)
+3.706 E F2(case)3.706 E F0(command,)3.706 E F2(select)3.707 E F0 1.207
+(command, e)3.707 F -.15(ve)-.25 G 1.207(ry arithmetic).15 F F2(for)144
+680.4 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 F3 .412
+(SHELL GRAMMAR)2.912 F F0(abo)144 692.4 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 .508(on the)
-144 704.4 R F1(DEB)3.008 E(UG)-.1 E F0 3.008(trap. If)3.008 F(a)3.008 E
+2.666 G .166(iltin for details of its ef).2 F(fect)-.25 E .509(on the)
+144 704.4 R F1(DEB)3.009 E(UG)-.1 E F0 3.009(trap. If)3.009 F(a)3.009 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 716.4 R 2.506
+(the command)2.758 F F2(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 716.4 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
 728.4 S .105(cuted if the f).15 F .105
@@ -2318,17 +2329,17 @@ BP
 /Times-Italic@0 SF(if)3.059 E F0 .549(statement, part of a command e)
 5.009 F -.15(xe)-.15 G .549(cuted in a).15 F/F2 10/Times-Bold@0 SF(&&)
 3.049 E F0(or)3.049 E/F3 10/Symbol SF<efef>3.049 E F0 .549(list, or if)
-3.049 F .577(the command')144 96 R 3.077(sr)-.55 G .577(eturn v)-3.077 F
-.577(alue is being in)-.25 F -.15(ve)-.4 G .577(rted via).15 F F2(!)
-3.077 E F0 5.578(.T)C .578(hese are the same conditions obe)-5.578 F
-.578(yed by the)-.15 F F2(err)144 108 Q(exit)-.18 E F0 3.031(option. If)
-3.031 F(a)3.031 E F1(sigspec)3.371 E F0(is)3.341 E/F4 9/Times-Bold@0 SF
+3.049 F .578(the command')144 96 R 3.078(sr)-.55 G .578(eturn v)-3.078 F
+.578(alue is being in)-.25 F -.15(ve)-.4 G .578(rted via).15 F F2(!)
+3.078 E F0 5.577(.T)C .577(hese are the same conditions obe)-5.577 F
+.577(yed by the)-.15 F F2(err)144 108 Q(exit)-.18 E F0 3.03(option. If)
+3.03 F(a)3.03 E F1(sigspec)3.37 E F0(is)3.341 E/F4 9/Times-Bold@0 SF
 (RETURN)3.031 E/F5 9/Times-Roman@0 SF(,)A F0 .531(the command)2.781 F F1
-(ar)3.361 E(g)-.37 E F0 .531(is e)3.251 F -.15(xe)-.15 G .53
-(cuted each time a shell function).15 F .316(or a script e)144 120 R
+(ar)3.361 E(g)-.37 E F0 .531(is e)3.251 F -.15(xe)-.15 G .531
+(cuted each time a shell function).15 F .317(or a script e)144 120 R
 -.15(xe)-.15 G .317(cuted with the).15 F F2(.)2.817 E F0(or)2.817 E F2
 (sour)2.817 E(ce)-.18 E F0 -.2(bu)2.817 G .317(iltins \214nishes e).2 F
--.15(xe)-.15 G 2.817(cuting. Signals).15 F .317(ignored upon entry to)
+-.15(xe)-.15 G 2.817(cuting. Signals).15 F .316(ignored upon entry to)
 2.817 F .787(the shell cannot be trapped or reset.)144 132 R -.35(Tr)
 5.787 G .787
 (apped signals that are not being ignored are reset to their).35 F 1.1
@@ -2337,69 +2348,69 @@ BP
 (sigspec)3.94 E F0(is)3.91 E(in)144 156 Q -.25(va)-.4 G(lid; otherwise)
 .25 E F2(trap)2.5 E F0(returns true.)2.5 E F2(type)108 172.8 Q F0([)2.5
 E F2(\255aftpP)A F0(])A F1(name)2.5 E F0([)2.5 E F1(name)A F0(...])2.5 E
--.4(Wi)144 184.8 S .174(th no options, indicate ho).4 F 2.674(we)-.25 G
-(ach)-2.674 E F1(name)3.034 E F0 -.1(wo)2.854 G .173
-(uld be interpreted if used as a command name.).1 F .173(If the)5.173 F
-F2<ad74>144 196.8 Q F0 .842(option is used,)3.342 F F2(type)3.342 E F0
+-.4(Wi)144 184.8 S .173(th no options, indicate ho).4 F 2.673(we)-.25 G
+(ach)-2.673 E F1(name)3.033 E F0 -.1(wo)2.853 G .174
+(uld be interpreted if used as a command name.).1 F .174(If the)5.174 F
+F2<ad74>144 196.8 Q F0 .843(option is used,)3.343 F F2(type)3.343 E F0
 .843(prints a string which is one of)3.343 F F1(alias)3.343 E F0(,).27 E
 F1 -.1(ke)3.343 G(ywor)-.2 E(d)-.37 E F0(,).77 E F1(function)3.343 E F0
-(,).24 E F1 -.2(bu)3.343 G(iltin).2 E F0 3.343(,o).24 G(r)-3.343 E F1
-(\214le)5.253 E F0(if)3.523 E F1(name)144.36 208.8 Q F0 .087
-(is an alias, shell reserv)2.767 F .087(ed w)-.15 F .087
-(ord, function, b)-.1 F .086(uiltin, or disk \214le, respecti)-.2 F -.15
-(ve)-.25 G(ly).15 E 5.086(.I)-.65 G 2.586(ft)-5.086 G(he)-2.586 E F1
-(name)2.946 E F0 .086(is not)2.766 F .118
+(,).24 E F1 -.2(bu)3.342 G(iltin).2 E F0 3.342(,o).24 G(r)-3.342 E F1
+(\214le)5.252 E F0(if)3.522 E F1(name)144.36 208.8 Q F0 .086
+(is an alias, shell reserv)2.766 F .086(ed w)-.15 F .086
+(ord, function, b)-.1 F .087(uiltin, or disk \214le, respecti)-.2 F -.15
+(ve)-.25 G(ly).15 E 5.087(.I)-.65 G 2.587(ft)-5.087 G(he)-2.587 E F1
+(name)2.947 E F0 .087(is not)2.767 F .119
 (found, then nothing is printed, and an e)144 220.8 R .118
-(xit status of f)-.15 F .118(alse is returned.)-.1 F .119(If the)5.119 F
-F2<ad70>2.619 E F0 .119(option is used,)2.619 F F2(type)2.619 E F0 .855
+(xit status of f)-.15 F .118(alse is returned.)-.1 F .118(If the)5.118 F
+F2<ad70>2.618 E F0 .118(option is used,)2.618 F F2(type)2.618 E F0 .855
 (either returns the name of the disk \214le that w)144 232.8 R .855
 (ould be e)-.1 F -.15(xe)-.15 G .855(cuted if).15 F F1(name)3.715 E F0
-.855(were speci\214ed as a com-)3.535 F .64(mand name, or nothing if)144
-244.8 R/F6 10/Courier@0 SF .64(type -t name)3.14 F F0 -.1(wo)3.14 G .641
-(uld not return).1 F F1(\214le)3.141 E F0 5.641(.T).18 G(he)-5.641 E F2
-<ad50>3.141 E F0 .641(option forces a)3.141 F F4 -.666(PA)3.141 G(TH)
--.189 E F0 .113(search for each)144 256.8 R F1(name)2.613 E F0 2.613(,e)
-C -.15(ve)-2.863 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 F1(\214le)2.613 E F0 5.113
-(.I).18 G 2.613(fa)-5.113 G .112(command is hashed,)-.001 F F2<ad70>
-2.612 E F0(and)144 268.8 Q F2<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(.)A F0 .445(If the)4.945 F F2
-<ad61>2.945 E F0(option)2.945 E .265(is used,)144 280.8 R F2(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 F1(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)
+.855(were speci\214ed as a com-)3.535 F .641(mand name, or nothing if)
+144 244.8 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 F1(\214le)3.14 E F0 5.64(.T).18 G(he)-5.64 E
+F2<ad50>3.14 E F0 .64(option forces a)3.14 F F4 -.666(PA)3.14 G(TH)-.189
+E F0 .112(search for each)144 256.8 R F1(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 F1(\214le)2.613 E F0 5.113(.I)
+.18 G 2.613(fac)-5.113 G .113(ommand is hashed,)-2.613 F F2<ad70>2.613 E
+F0(and)144 268.8 Q F2<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 F4
+-.666(PA)2.944 G(TH)-.189 E F5(.)A F0 .444(If the)4.944 F F2<ad61>2.944
+E F0(option)2.944 E .265(is used,)144 280.8 R F2(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 F1(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 292.8 R F2<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 304.8 R F2<ad61>3.049 E F0 5.549(.T)C(he)
--5.549 E F2<ad66>3.049 E F0 .548
-(option suppresses shell function lookup, as with the)3.049 F F2
-(command)3.048 E F0 -.2(bu)144 316.8 S(iltin.).2 E F2(type)5 E F0
+.426(The table of hashed commands is not)5.426 F .548
+(consulted when using)144 304.8 R F2<ad61>3.048 E F0 5.548(.T)C(he)
+-5.548 E F2<ad66>3.048 E F0 .549
+(option suppresses shell function lookup, as with the)3.048 F F2
+(command)3.049 E F0 -.2(bu)144 316.8 S(iltin.).2 E F2(type)5 E F0
 (returns true if all of the ar)2.5 E(guments are found, f)-.18 E
 (alse if an)-.1 E 2.5(ya)-.15 G(re not found.)-2.5 E F2(ulimit)108 333.6
 Q F0([)2.5 E F2(\255HST)A(abcde\214lmnpqrstuvx)-.92 E F0([)2.5 E F1
-(limit)A F0(]])A(Pro)144 345.6 Q .243(vides control o)-.15 F -.15(ve)
--.15 G 2.743(rt).15 G .243(he resources a)-2.743 F -.25(va)-.2 G .244
+(limit)A F0(]])A(Pro)144 345.6 Q .244(vides control o)-.15 F -.15(ve)
+-.15 G 2.744(rt).15 G .244(he resources a)-2.744 F -.25(va)-.2 G .244
 (ilable to the shell and to processes started by it, on systems).25 F
-.944(that allo)144 357.6 R 3.444(ws)-.25 G .944(uch control.)-3.444 F
-(The)5.944 E F2<ad48>3.444 E F0(and)3.444 E F2<ad53>3.444 E F0 .943
+.943(that allo)144 357.6 R 3.443(ws)-.25 G .943(uch control.)-3.443 F
+(The)5.943 E F2<ad48>3.443 E F0(and)3.443 E F2<ad53>3.444 E F0 .944
 (options specify that the hard or soft limit is set for the)3.444 F(gi)
-144 369.6 Q -.15(ve)-.25 G 2.708(nr).15 G 2.708(esource. A)-2.708 F .208
+144 369.6 Q -.15(ve)-.25 G 2.709(nr).15 G 2.709(esource. A)-2.709 F .208
 (hard limit cannot be increased by a non-root user once it is set; a so\
-ft limit may)2.708 F .426(be increased up to the v)144 381.6 R .426
-(alue of the hard limit.)-.25 F .425(If neither)5.426 F F2<ad48>2.925 E
-F0(nor)2.925 E F2<ad53>2.925 E F0 .425
-(is speci\214ed, both the soft and)2.925 F .139(hard limits are set.)144
+ft limit may)2.709 F .425(be increased up to the v)144 381.6 R .425
+(alue of the hard limit.)-.25 F .426(If neither)5.425 F F2<ad48>2.926 E
+F0(nor)2.926 E F2<ad53>2.926 E F0 .426
+(is speci\214ed, both the soft and)2.926 F .139(hard limits are set.)144
 393.6 R .139(The v)5.139 F .139(alue of)-.25 F F1(limit)2.729 E F0 .139
 (can be a number in the unit speci\214ed for the resource or one)3.319 F
-.742(of the special v)144 405.6 R(alues)-.25 E F2(hard)3.242 E F0(,)A F2
+.741(of the special v)144 405.6 R(alues)-.25 E F2(hard)3.241 E F0(,)A F2
 (soft)3.241 E F0 3.241(,o)C(r)-3.241 E F2(unlimited)3.241 E F0 3.241(,w)
 C .741(hich stand for the current hard limit, the current)-3.241 F .78
 (soft limit, and no limit, respecti)144 417.6 R -.15(ve)-.25 G(ly).15 E
 5.78(.I)-.65 G(f)-5.78 E F1(limit)3.37 E F0 .78
 (is omitted, the current v)3.96 F .78(alue of the soft limit of the)-.25
-F .499(resource is printed, unless the)144 429.6 R F2<ad48>2.999 E F0
-.499(option is gi)2.999 F -.15(ve)-.25 G 2.999(n. When).15 F .498
+F .498(resource is printed, unless the)144 429.6 R F2<ad48>2.999 E F0
+.499(option is gi)2.999 F -.15(ve)-.25 G 2.999(n. When).15 F .499
 (more than one resource is speci\214ed, the)2.999 F
 (limit name and unit are printed before the v)144 441.6 Q 2.5
 (alue. Other)-.25 F(options are interpreted as follo)2.5 E(ws:)-.25 E F2
@@ -2415,8 +2426,8 @@ F0(The maximum size of \214les written by the shell and its children)
 (ed into memory)-.1 E F2<ad6d>144 549.6 Q F0
 (The maximum resident set size)21.97 E F2<ad6e>144 561.6 Q F0 .791(The \
 maximum number of open \214le descriptors \(most 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 573.6 Q F2<ad70>144 585.6 Q F0
+24.74 F 3.29(wt)-.25 G .79(his v)-3.29 F .79(alue to)-.25 F(be set\))180
+573.6 Q F2<ad70>144 585.6 Q F0
 (The pipe size in 512-byte blocks \(this may not be set\))24.74 E F2
 <ad71>144 597.6 Q F0
 (The maximum number of bytes in POSIX message queues)24.74 E F2<ad72>144
@@ -2432,14 +2443,14 @@ F0(The maximum number of processes a)24.74 E -.25(va)-.2 G
 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 F2<ad61>
 2.843 E F0 .343(option is display only\).)2.843 F .343(If no)5.343 F
-.175(option is gi)144 710.4 R -.15(ve)-.25 G .175(n, then).15 F F2<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 F2
-<ad74>2.676 E F0 2.676(,w)C .176(hich is in)-2.676 F(seconds,)144 722.4
-Q F2<ad70>3.564 E F0 3.564(,w)C 1.064
-(hich is in units of 512-byte blocks, and)-3.564 F F2<ad54>3.563 E F0(,)
-A F2<ad62>3.563 E F0(,)A F2<ad6e>3.563 E F0 3.563(,a)C(nd)-3.563 E F2
-<ad75>3.563 E F0 3.563(,w)C 1.063(hich are unscaled)-3.563 F
+.176(option is gi)144 710.4 R -.15(ve)-.25 G .176(n, then).15 F F2<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 F2
+<ad74>2.675 E F0 2.675(,w)C .175(hich is in)-2.675 F(seconds,)144 722.4
+Q F2<ad70>3.563 E F0 3.563(,w)C 1.063
+(hich is in units of 512-byte blocks, and)-3.563 F F2<ad54>3.564 E F0(,)
+A F2<ad62>3.564 E F0(,)A F2<ad6e>3.564 E F0 3.564(,a)C(nd)-3.564 E F2
+<ad75>3.564 E F0 3.564(,w)C 1.064(hich are unscaled)-3.564 F
 (GNU Bash-3.0)72 768 Q(2004 Apr 20)148.735 E(19)198.725 E 0 Cg EP
 %%Page: 20 20
 %%BeginPageSetup
@@ -2447,7 +2458,7 @@ 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 -.25(va)144
-84 S 3.082(lues. The).25 F .583(return status is 0 unless an in)3.083 F
+84 S 3.083(lues. The).25 F .583(return status is 0 unless an in)3.083 F
 -.25(va)-.4 G .583(lid option or ar).25 F .583
 (gument is supplied, or an error occurs)-.18 F(while setting a ne)144 96
 Q 2.5(wl)-.25 G(imit.)-2.5 E/F1 10/Times-Bold@0 SF(umask)108 112.8 Q F0
@@ -2458,15 +2469,15 @@ Q 2.5(wl)-.25 G(imit.)-2.5 E/F1 10/Times-Bold@0 SF(umask)108 112.8 Q F0
 (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 136.8 R F2 -.15(ch)2.566 G(mod).15 E F0(\(1\).).77 E(If)144
-148.8 Q F2(mode)3.263 E F0 .382(is omitted, the current v)3.063 F .382
+148.8 Q F2(mode)3.262 E F0 .382(is omitted, the current v)3.062 F .382
 (alue of the mask is printed.)-.25 F(The)5.382 E F1<ad53>2.882 E F0 .382
 (option causes the mask to be)2.882 F .547
 (printed in symbolic form; the def)144 160.8 R .547
 (ault output is an octal number)-.1 F 5.547(.I)-.55 G 3.047(ft)-5.547 G
 (he)-3.047 E F1<ad70>3.047 E F0 .547(option is supplied, and)3.047 F F2
-(mode)144.38 172.8 Q F0 .552
-(is omitted, the output is in a form that may be reused as input.)3.232
-F .551(The return status is 0 if the)5.551 F(mode w)144 184.8 Q
+(mode)144.38 172.8 Q F0 .551
+(is omitted, the output is in a form that may be reused as input.)3.231
+F .552(The return status is 0 if the)5.552 F(mode w)144 184.8 Q
 (as successfully changed or if no)-.1 E F2(mode)2.5 E F0(ar)2.5 E
 (gument w)-.18 E(as supplied, and f)-.1 E(alse otherwise.)-.1 E F1
 (unalias)108 201.6 Q F0<5bad>2.5 E F1(a)A F0 2.5(][)C F2(name)-2.5 E F0
@@ -2476,39 +2487,39 @@ F1<ad61>4.155 E F0 1.655(is supplied, all alias de\214nitions are)4.155
 F(remo)144 225.6 Q -.15(ve)-.15 G 2.5(d. The).15 F(return v)2.5 E
 (alue is true unless a supplied)-.25 E F2(name)2.86 E F0
 (is not a de\214ned alias.)2.68 E F1(unset)108 242.4 Q F0<5bad>2.5 E F1
-(fv)A F0 2.5(][)C F2(name)-2.5 E F0(...])2.5 E -.15(Fo)144 254.4 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 266.4 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 278.4 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 290.4 R .902
+(fv)A F0 2.5(][)C F2(name)-2.5 E F0(...])2.5 E -.15(Fo)144 254.4 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 266.4 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 278.4 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 290.4 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 .903(vironment passed to subsequent commands.)-.4 F
-(If)5.903 E(an)144 302.4 Q 4.285(yo)-.15 G(f)-4.285 E/F3 9/Times-Bold@0
-SF(RANDOM)4.285 E/F4 9/Times-Roman@0 SF(,)A F3(SECONDS)4.035 E F4(,)A F3
+(rom the en)-3.402 F .902(vironment passed to subsequent commands.)-.4 F
+(If)5.902 E(an)144 302.4 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.284 E -.495(AC)-.81 G(K).495 E F0(are)4.034 E .328(unset, the)144
-314.4 R 2.828(yl)-.15 G .328(ose their special properties, e)-2.828 F
+4.285 E -.495(AC)-.81 G(K).495 E F0(are)4.035 E .329(unset, the)144
+314.4 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 .329
+-.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 326.4 Q F2(name)2.86 E F0
 (is readonly)2.68 E(.)-.65 E F1(wait)108 343.2 Q F0([)2.5 E F2 2.5(n.)C
 (..)-2.5 E F0(])A -.8(Wa)144 355.2 S .288
 (it for each speci\214ed process and return its termination status.).8 F
-(Each)5.288 E F2(n)3.148 E F0 .287(may be a process ID or a)3.028 F .722
+(Each)5.288 E F2(n)3.148 E F0 .288(may be a process ID or a)3.028 F .722
 (job speci\214cation; if a job spec is gi)144 367.2 R -.15(ve)-.25 G
 .722(n, all processes in that job').15 F 3.222(sp)-.55 G .722
 (ipeline are w)-3.222 F .722(aited for)-.1 F 5.722(.I)-.55 G(f)-5.722 E
-F2(n)3.583 E F0(is)3.463 E 1.266(not gi)144 379.2 R -.15(ve)-.25 G 1.266
-(n, all currently acti).15 F 1.566 -.15(ve c)-.25 H 1.265
-(hild processes are w).15 F 1.265(aited for)-.1 F 3.765(,a)-.4 G 1.265
-(nd the return status is zero.)-3.765 F(If)6.265 E F2(n)4.125 E F0 .456
+F2(n)3.582 E F0(is)3.462 E 1.265(not gi)144 379.2 R -.15(ve)-.25 G 1.265
+(n, all currently acti).15 F 1.565 -.15(ve c)-.25 H 1.265
+(hild processes are w).15 F 1.265(aited for)-.1 F 3.765(,a)-.4 G 1.266
+(nd the return status is zero.)-3.765 F(If)6.266 E F2(n)4.126 E F0 .457
 (speci\214es a non-e)144 391.2 R .457
 (xistent process or job, the return status is 127.)-.15 F .457
 (Otherwise, the return status is the)5.457 F -.15(ex)144 403.2 S
index 2f379e5ba2d88918be8be479a5397c4f490c903e..19eda09ef0727775113ec89ae0df2e2418bdb502 100644 (file)
@@ -1,6 +1,6 @@
 %!PS-Adobe-3.0
 %%Creator: groff version 1.19.2
-%%CreationDate: Thu May 29 11:48:42 2008
+%%CreationDate: Wed Jul  2 09:08:26 2008
 %%DocumentNeededResources: font Times-Roman
 %%+ font Times-Bold
 %%DocumentSuppliedResources: procset grops 1.19 2
index 96aa1bf9a0d9fec31d38e659ef483d4bb2ee185d..c43baad1fd273664c67fb2ab587ef5abf9a6350d 100644 (file)
@@ -2,9 +2,9 @@
 Copyright (C) 1988-2008 Free Software Foundation, Inc.
 @end ignore
 
-@set LASTCHANGE Sun Jun 29 22:41:25 EDT 2008
+@set LASTCHANGE Sun Jul  6 14:33:52 EDT 2008
 
 @set EDITION 4.0
 @set VERSION 4.0
-@set UPDATED 29 June 2008
-@set UPDATED-MONTH June 2008
+@set UPDATED 6 July 2008
+@set UPDATED-MONTH July 2008
index 5ce1185aff0a6dc3d8b74c249ef21878c5147b39..a5d96a53e3f9fab04b6b369fc1d890ad875c6dfc 100644 (file)
@@ -2,9 +2,9 @@
 Copyright (C) 1988-2008 Free Software Foundation, Inc.
 @end ignore
 
-@set LASTCHANGE Thu Jun 26 10:59:10 EDT 2008
+@set LASTCHANGE Thu Jul  3 14:56:28 EDT 2008
 
 @set EDITION 4.0
 @set VERSION 4.0
-@set UPDATED 26 June 2008
-@set UPDATED-MONTH June 2008
+@set UPDATED 3 July 2008
+@set UPDATED-MONTH July 2008
diff --git a/error.c b/error.c
index 8760dd84347931ac63731391cc95c1d382bd3735..a070e26e3d6b0c7414cd79ded266f3bbcf12f199 100644 (file)
--- a/error.c
+++ b/error.c
@@ -256,7 +256,8 @@ internal_warning (format, va_alist)
 {
   va_list args;
 
-  fprintf (stderr, _("%s: warning: "), get_name_for_error ());
+  error_prolog (1);
+  fprintf (stderr, _("warning: "));
 
   SH_VA_START (args, format);
 
index f8a4ea09984cdcfb9d69d528bccf24bbff15facf..27f7047c431557510bcf50b8fb77cc3901f12d96 100644 (file)
@@ -181,6 +181,9 @@ static void execute_disk_command __P((WORD_LIST *, REDIRECT *, char *,
 static char *getinterp __P((char *, int, int *));
 static void initialize_subshell __P((void));
 static int execute_in_subshell __P((COMMAND *, int, int, int, struct fd_bitmap *));
+#if defined (COPROCESS_SUPPORT)
+static int execute_coproc __P((COMMAND *, int, int, struct fd_bitmap *));
+#endif
 
 static int execute_pipeline __P((COMMAND *, int, int, int, struct fd_bitmap *));
 
@@ -540,6 +543,11 @@ execute_command_internal (command, asynchronous, pipe_in, pipe_out,
   if (command->type == cm_subshell && (command->flags & CMD_NO_FORK))
     return (execute_in_subshell (command, asynchronous, pipe_in, pipe_out, fds_to_close));
 
+#if defined (COPROCESS_SUPPORT)
+  if (command->type == cm_coproc)
+    return (execute_coproc (command, pipe_in, pipe_out, fds_to_close));
+#endif
+
   if (command->type == cm_subshell ||
       (command->flags & (CMD_WANT_SUBSHELL|CMD_FORCE_SUBSHELL)) ||
       (shell_control_structure (command->type) &&
@@ -1199,10 +1207,11 @@ execute_in_subshell (command, asynchronous, pipe_in, pipe_out, fds_to_close)
      struct fd_bitmap *fds_to_close;
 {
   int user_subshell, return_code, function_value, should_redir_stdin, invert;
-  int ois;
+  int ois, user_coproc;
   COMMAND *tcom;
 
   USE_VAR(user_subshell);
+  USE_VAR(user_coproc);
   USE_VAR(invert);
   USE_VAR(tcom);
   USE_VAR(asynchronous);
@@ -1214,6 +1223,7 @@ execute_in_subshell (command, asynchronous, pipe_in, pipe_out, fds_to_close)
 
   invert = (command->flags & CMD_INVERT_RETURN) != 0;
   user_subshell = command->type == cm_subshell || ((command->flags & CMD_WANT_SUBSHELL) != 0);
+  user_coproc = command->type == cm_coproc;
 
   command->flags &= ~(CMD_FORCE_SUBSHELL | CMD_WANT_SUBSHELL | CMD_INVERT_RETURN);
 
@@ -1266,6 +1276,8 @@ execute_in_subshell (command, asynchronous, pipe_in, pipe_out, fds_to_close)
        subshell_environment |= SUBSHELL_ASYNC;
       if (pipe_in != NO_PIPE || pipe_out != NO_PIPE)
        subshell_environment |= SUBSHELL_PIPE;
+      if (user_coproc)
+       subshell_environment |= SUBSHELL_COPROC;
     }
 
   reset_terminating_signals ();                /* in sig.c */
@@ -1299,6 +1311,10 @@ execute_in_subshell (command, asynchronous, pipe_in, pipe_out, fds_to_close)
 
   do_piping (pipe_in, pipe_out);
 
+#if defined (COPROCESS_SUPPORT)
+  coproc_close (&sh_coproc);
+#endif
+
   /* If this is a user subshell, set a flag if stdin was redirected.
      This is used later to decide whether to redirect fd 0 to
      /dev/null for async commands in the subshell.  This adds more
@@ -1325,7 +1341,12 @@ execute_in_subshell (command, asynchronous, pipe_in, pipe_out, fds_to_close)
       command->redirects = (REDIRECT *)NULL;
     }
 
-  tcom = (command->type == cm_subshell) ? command->value.Subshell->command : command;
+  if (command->type == cm_subshell)
+    tcom = command->value.Subshell->command;
+  else if (user_coproc)
+    tcom = command->value.Coproc->command;
+  else
+    tcom = command;
 
   if (command->flags & CMD_TIME_PIPELINE)
     tcom->flags |= CMD_TIME_PIPELINE;
@@ -1341,7 +1362,7 @@ execute_in_subshell (command, asynchronous, pipe_in, pipe_out, fds_to_close)
      This means things like ( sleep 10 ) will only cause one fork.
      If we're timing the command or inverting its return value, however,
      we cannot do this optimization. */
-  if (user_subshell && (tcom->type == cm_simple || tcom->type == cm_subshell) &&
+  if ((user_subshell || user_coproc) && (tcom->type == cm_simple || tcom->type == cm_subshell) &&
       ((tcom->flags & CMD_TIME_PIPELINE) == 0) &&
       ((tcom->flags & CMD_INVERT_RETURN) == 0))
     {
@@ -1382,6 +1403,302 @@ execute_in_subshell (command, asynchronous, pipe_in, pipe_out, fds_to_close)
   /* NOTREACHED */
 }
 
+#if defined (COPROCESS_SUPPORT)
+Coproc sh_coproc = { 0, NO_PID, -1, -1, 0, 0 };
+
+/* These currently use a single global "shell coproc" but are written in a
+   way to not preclude additional coprocs later */
+
+struct coproc *
+getcoprocbypid (pid)
+     pid_t pid;
+{
+  return (pid == sh_coproc.c_pid ? &sh_coproc : 0);
+}
+
+struct coproc *
+getcoprocbyname (name)
+     const char *name;
+{
+  return ((sh_coproc.c_name && STREQ (sh_coproc.c_name, name)) ? &sh_coproc : 0);
+}
+
+void
+coproc_init (cp)
+     struct coproc *cp;
+{
+  cp->c_name = 0;
+  cp->c_pid = NO_PID;
+  cp->c_rfd = cp->c_wfd = -1;
+  cp->c_rsave = cp->c_wsave = -1;
+  cp->c_flags = cp->c_status = 0;  
+}
+
+struct coproc *
+coproc_alloc (name, pid)
+     char *name;
+     pid_t pid;
+{
+  struct coproc *cp;
+
+  cp = &sh_coproc;
+  coproc_init (cp);
+
+  cp->c_name = savestring (name);
+  cp->c_pid = pid;
+
+  return (cp);
+}
+
+void
+coproc_dispose (cp)
+     struct coproc *cp;
+{
+  if (cp == 0)
+    return;
+
+  coproc_unsetvars (cp);
+  FREE (cp->c_name);
+  coproc_close (cp);
+  coproc_init (cp);
+}
+
+void
+coproc_close (cp)
+     struct coproc *cp;
+{
+  if (cp->c_rfd >= 0)
+    {
+      close (cp->c_rfd);
+      cp->c_rfd = -1;
+    }
+  if (cp->c_wfd >= 0)
+    {
+      close (cp->c_wfd);
+      cp->c_wfd = -1;
+    }
+  cp->c_rsave = cp->c_wsave = -1;
+}
+
+void
+coproc_rclose (cp, fd)
+     struct coproc *cp;
+     int fd;
+{
+  if (cp->c_rfd >= 0 && cp->c_rfd == fd)
+    {
+      close (cp->c_rfd);
+      cp->c_rfd = -1;
+    }
+}
+
+void
+coproc_wclose (cp, fd)
+     struct coproc *cp;
+     int fd;
+{
+  if (cp->c_wfd >= 0 && cp->c_wfd == fd)
+    {
+      close (cp->c_wfd);
+      cp->c_wfd = -1;
+    }
+}
+
+void
+coproc_fdchk (cp, fd)
+     struct coproc *cp;
+     int fd;
+{
+  int update;
+
+  update = 0;
+  if (cp->c_rfd >= 0 && cp->c_rfd == fd)
+    update = cp->c_rfd = -1;
+  if (cp->c_wfd >= 0 && cp->c_wfd == fd)
+    update = cp->c_wfd = -1;
+  if (update)
+    coproc_setvars (cp);
+}
+
+void
+coproc_fdclose (cp, fd)
+     struct coproc *cp;
+     int fd;
+{
+  coproc_rclose (cp, fd);
+  coproc_wclose (cp, fd);
+  coproc_setvars (cp);
+}
+
+
+void
+coproc_fdsave (cp)
+     struct coproc *cp;
+{
+  cp->c_rsave = cp->c_rfd;
+  cp->c_wsave = cp->c_wfd;
+}
+
+void
+coproc_fdrestore (cp)
+     struct coproc *cp;
+{
+  cp->c_rfd = cp->c_rsave;
+  cp->c_wfd = cp->c_wsave;
+}
+  
+void
+coproc_pidchk (pid)
+     pid_t pid;
+{
+  struct coproc *cp;
+
+  cp = getcoprocbypid (pid);
+  if (cp)
+    coproc_dispose (cp);
+}
+
+void
+coproc_setvars (cp)
+     struct coproc *cp;
+{
+  SHELL_VAR *v;
+  char *namevar, *t;
+  int l;
+#if defined (ARRAY_VARS)
+  arrayind_t ind;
+#endif
+
+  if (cp->c_name == 0)
+    return;
+
+  l = strlen (cp->c_name);
+  namevar = xmalloc (l + 16);
+
+#if defined (ARRAY_VARS)
+  v = find_variable (cp->c_name);
+  if (v == 0)
+    v = make_new_array_variable (cp->c_name);
+  if (array_p (v) == 0)
+    v = convert_var_to_array (v);
+
+  t = itos (cp->c_rfd);
+  ind = 0;
+  v = bind_array_variable (cp->c_name, ind, t, 0);
+  free (t);
+
+  t = itos (cp->c_wfd);
+  ind = 1;
+  bind_array_variable (cp->c_name, ind, t, 0);
+  free (t);
+#else
+  sprintf (namevar, "%s_READ", cp->c_name);
+  t = itos (cp->c_rfd);
+  bind_variable (namevar, t, 0);
+  free (t);
+  sprintf (namevar, "%s_WRITE", cp->c_name);
+  t = itos (cp->c_wfd);
+  bind_variable (namevar, t, 0);
+  free (t);
+#endif
+
+  sprintf (namevar, "%s_PID", cp->c_name);
+  t = itos (cp->c_pid);
+  bind_variable (namevar, t, 0);
+  free (t);
+
+  free (namevar);
+}
+
+void
+coproc_unsetvars (cp)
+     struct coproc *cp;
+{
+  int l;
+  char *namevar;
+
+  if (cp->c_name == 0)
+    return;
+
+  l = strlen (cp->c_name);
+  namevar = xmalloc (l + 16);
+
+  sprintf (namevar, "%s_PID", cp->c_name);
+  unbind_variable (namevar);  
+
+#if defined (ARRAY_VARS)
+  unbind_variable (cp->c_name);
+#else
+  sprintf (namevar, "%s_READ", cp->c_name);
+  unbind_variable (namevar);
+  sprintf (namevar, "%s_WRITE", cp->c_name);
+  unbind_variable (namevar);
+#endif  
+
+  free (namevar);
+}
+
+static int
+execute_coproc (command, pipe_in, pipe_out, fds_to_close)
+     COMMAND *command;
+     int pipe_in, pipe_out;
+     struct fd_bitmap *fds_to_close;
+{
+  int rpipe[2], wpipe[2];
+  pid_t coproc_pid;
+  Coproc *cp;
+  char *tcmd;
+
+  if (sh_coproc.c_pid != -1)
+    {
+      internal_error ("execute_coproc: coproc [%d:%s] already exists", sh_coproc.c_pid, sh_coproc.c_name);
+      return (last_command_exit_value = EXECUTION_FAILURE);
+    }
+  coproc_init (&sh_coproc);
+
+  command_string_index = 0;
+  tcmd = make_command_string (command);
+
+  sh_openpipe ((int *)&rpipe); /* 0 = parent read, 1 = child write */
+  sh_openpipe ((int *)&wpipe); /* 0 = child read, 1 = parent write */
+
+  coproc_pid = make_child (savestring (tcmd), 1);
+  if (coproc_pid == 0)
+    {
+      close (rpipe[0]);
+      close (wpipe[1]);
+
+      exit (execute_in_subshell (command, 1, wpipe[0], rpipe[1], fds_to_close));
+    }
+
+  close (rpipe[1]);
+  close (wpipe[0]);
+
+  cp = coproc_alloc (command->value.Coproc->name, coproc_pid);
+  cp->c_rfd = rpipe[0];
+  cp->c_wfd = wpipe[1];
+
+  SET_CLOSE_ON_EXEC (cp->c_rfd);
+  SET_CLOSE_ON_EXEC (cp->c_wfd);
+
+  coproc_setvars (cp);
+
+#if defined (DEBUG)
+  itrace ("execute_coproc: [%d] %s", coproc_pid, the_printed_command);
+#endif
+
+  close_pipes (pipe_in, pipe_out);
+#if defined (PROCESS_SUBSTITUTION) && defined (HAVE_DEV_FD)
+  unlink_fifo_list ();
+#endif
+  stop_pipeline (1, (COMMAND *)NULL);
+  DESCRIBE_PID (coproc_pid);
+  run_pending_traps ();
+
+  return (EXECUTION_SUCCESS);
+}
+#endif
+
 static int
 execute_pipeline (command, asynchronous, pipe_in, pipe_out, fds_to_close)
      COMMAND *command;
@@ -2692,6 +3009,10 @@ execute_null_command (redirects, pipe_in, pipe_out, async)
 
          do_piping (pipe_in, pipe_out);
 
+#if defined (COPROCESS_SUPPORT)
+         coproc_close (&sh_coproc);
+#endif
+
          subshell_environment = 0;
          if (async)
            subshell_environment |= SUBSHELL_ASYNC;
@@ -2894,6 +3215,9 @@ execute_simple_command (simple_command, pipe_in, pipe_out, async, fds_to_close)
 
          do_piping (pipe_in, pipe_out);
          pipe_in = pipe_out = NO_PIPE;
+#if defined (COPROCESS_SUPPORT)
+         coproc_close (&sh_coproc);
+#endif
 
          last_asynchronous_pid = old_last_async_pid;
        }
index 917c9b73d54b7861eaf749db822203c3dfd023a1..6974c78f04392b4562de4169b5c6f8653c5db519 100644 (file)
@@ -181,6 +181,9 @@ static void execute_disk_command __P((WORD_LIST *, REDIRECT *, char *,
 static char *getinterp __P((char *, int, int *));
 static void initialize_subshell __P((void));
 static int execute_in_subshell __P((COMMAND *, int, int, int, struct fd_bitmap *));
+#if defined (COPROCESS_SUPPORT)
+static int execute_coproc __P((COMMAND *, int, int, struct fd_bitmap *));
+#endif
 
 static int execute_pipeline __P((COMMAND *, int, int, int, struct fd_bitmap *));
 
@@ -506,8 +509,15 @@ execute_command_internal (command, asynchronous, pipe_in, pipe_out,
   volatile int last_pid;
   volatile int save_line_number;
 
+#if 0
   if (command == 0 || breaking || continuing || read_but_dont_execute)
     return (EXECUTION_SUCCESS);
+#else
+  if (breaking || continuing)
+    return (last_command_exit_value);
+  if (command == 0 || read_but_dont_execute)
+    return (EXECUTION_SUCCESS);
+#endif
 
   QUIT;
   run_pending_traps ();
@@ -533,6 +543,11 @@ execute_command_internal (command, asynchronous, pipe_in, pipe_out,
   if (command->type == cm_subshell && (command->flags & CMD_NO_FORK))
     return (execute_in_subshell (command, asynchronous, pipe_in, pipe_out, fds_to_close));
 
+#if defined (COPROCESS_SUPPORT)
+  if (command->type == cm_coproc)
+    return (execute_coproc (command, pipe_in, pipe_out, fds_to_close));
+#endif
+
   if (command->type == cm_subshell ||
       (command->flags & (CMD_WANT_SUBSHELL|CMD_FORCE_SUBSHELL)) ||
       (shell_control_structure (command->type) &&
@@ -1192,10 +1207,11 @@ execute_in_subshell (command, asynchronous, pipe_in, pipe_out, fds_to_close)
      struct fd_bitmap *fds_to_close;
 {
   int user_subshell, return_code, function_value, should_redir_stdin, invert;
-  int ois;
+  int ois, user_coproc;
   COMMAND *tcom;
 
   USE_VAR(user_subshell);
+  USE_VAR(user_coproc);
   USE_VAR(invert);
   USE_VAR(tcom);
   USE_VAR(asynchronous);
@@ -1207,6 +1223,7 @@ execute_in_subshell (command, asynchronous, pipe_in, pipe_out, fds_to_close)
 
   invert = (command->flags & CMD_INVERT_RETURN) != 0;
   user_subshell = command->type == cm_subshell || ((command->flags & CMD_WANT_SUBSHELL) != 0);
+  user_coproc = command->type == cm_coproc;
 
   command->flags &= ~(CMD_FORCE_SUBSHELL | CMD_WANT_SUBSHELL | CMD_INVERT_RETURN);
 
@@ -1259,6 +1276,8 @@ execute_in_subshell (command, asynchronous, pipe_in, pipe_out, fds_to_close)
        subshell_environment |= SUBSHELL_ASYNC;
       if (pipe_in != NO_PIPE || pipe_out != NO_PIPE)
        subshell_environment |= SUBSHELL_PIPE;
+      if (user_coproc)
+       subshell_environment |= SUBSHELL_COPROC;
     }
 
   reset_terminating_signals ();                /* in sig.c */
@@ -1292,6 +1311,10 @@ execute_in_subshell (command, asynchronous, pipe_in, pipe_out, fds_to_close)
 
   do_piping (pipe_in, pipe_out);
 
+#if defined (COPROCESS_SUPPORT)
+  coproc_close (&sh_coproc);
+#endif
+
   /* If this is a user subshell, set a flag if stdin was redirected.
      This is used later to decide whether to redirect fd 0 to
      /dev/null for async commands in the subshell.  This adds more
@@ -1318,7 +1341,12 @@ execute_in_subshell (command, asynchronous, pipe_in, pipe_out, fds_to_close)
       command->redirects = (REDIRECT *)NULL;
     }
 
-  tcom = (command->type == cm_subshell) ? command->value.Subshell->command : command;
+  if (command->type == cm_subshell)
+    tcom = command->value.Subshell->command;
+  else if (user_coproc)
+    tcom = command->value.Coproc->command;
+  else
+    tcom = command;
 
   if (command->flags & CMD_TIME_PIPELINE)
     tcom->flags |= CMD_TIME_PIPELINE;
@@ -1334,7 +1362,7 @@ execute_in_subshell (command, asynchronous, pipe_in, pipe_out, fds_to_close)
      This means things like ( sleep 10 ) will only cause one fork.
      If we're timing the command or inverting its return value, however,
      we cannot do this optimization. */
-  if (user_subshell && (tcom->type == cm_simple || tcom->type == cm_subshell) &&
+  if ((user_subshell || user_coproc) && (tcom->type == cm_simple || tcom->type == cm_subshell) &&
       ((tcom->flags & CMD_TIME_PIPELINE) == 0) &&
       ((tcom->flags & CMD_INVERT_RETURN) == 0))
     {
@@ -1375,6 +1403,300 @@ execute_in_subshell (command, asynchronous, pipe_in, pipe_out, fds_to_close)
   /* NOTREACHED */
 }
 
+#if defined (COPROCESS_SUPPORT)
+Coproc sh_coproc = { 0, NO_PID, -1, -1, 0, 0 };
+
+/* These currently use a single global "shell coproc" but are written in a
+   way to not preclude additional coprocs later */
+
+struct coproc *
+getcoprocbypid (pid)
+     pid_t pid;
+{
+  return (pid == sh_coproc.c_pid ? &sh_coproc : 0);
+}
+
+struct coproc *
+getcoprocbyname (name)
+     const char *name;
+{
+  return ((sh_coproc.c_name && STREQ (sh_coproc.c_name, name)) ? &sh_coproc : 0);
+}
+
+void
+coproc_init (cp)
+     struct coproc *cp;
+{
+  cp->c_name = 0;
+  cp->c_pid = NO_PID;
+  cp->c_rfd = cp->c_wfd = -1;
+  cp->c_rsave = cp->c_wsave = -1;
+  cp->c_flags = cp->c_status = 0;  
+}
+
+struct coproc *
+coproc_alloc (name, pid)
+     char *name;
+     pid_t pid;
+{
+  struct coproc *cp;
+
+  cp = &sh_coproc;
+  coproc_init (cp);
+
+  cp->c_name = savestring (name);
+  cp->c_pid = pid;
+
+  return (cp);
+}
+
+void
+coproc_dispose (cp)
+     struct coproc *cp;
+{
+  if (cp == 0)
+    return;
+
+  coproc_unsetvars (cp);
+  FREE (cp->c_name);
+  coproc_close (cp);
+  coproc_init (cp);
+}
+
+void
+coproc_close (cp)
+     struct coproc *cp;
+{
+  if (cp->c_rfd >= 0)
+    {
+      close (cp->c_rfd);
+      cp->c_rfd = -1;
+    }
+  if (cp->c_wfd >= 0)
+    {
+      close (cp->c_wfd);
+      cp->c_wfd = -1;
+    }
+  cp->c_rsave = cp->c_wsave = -1;
+}
+
+void
+coproc_rclose (cp, fd)
+     struct coproc *cp;
+     int fd;
+{
+  if (cp->c_rfd >= 0 && cp->c_rfd == fd)
+    {
+      close (cp->c_rfd);
+      cp->c_rfd = -1;
+    }
+}
+
+void
+coproc_wclose (cp, fd)
+     struct coproc *cp;
+     int fd;
+{
+  if (cp->c_wfd >= 0 && cp->c_wfd == fd)
+    {
+      close (cp->c_wfd);
+      cp->c_wfd = -1;
+    }
+}
+
+void
+coproc_fdchk (cp, fd)
+     struct coproc *cp;
+     int fd;
+{
+  int update;
+
+  update = 0;
+  if (cp->c_rfd >= 0 && cp->c_rfd == fd)
+    update = cp->c_rfd = -1;
+  if (cp->c_wfd >= 0 && cp->c_wfd == fd)
+    update = cp->c_wfd = -1;
+  if (update)
+    coproc_setvars (cp);
+}
+
+void
+coproc_fdclose (cp, fd)
+     struct coproc *cp;
+     int fd;
+{
+  coproc_rclose (cp, fd);
+  coproc_wclose (cp, fd);
+  coproc_setvars (cp);
+}
+
+
+void
+coproc_fdsave (cp)
+     struct coproc *cp;
+{
+  cp->c_rsave = cp->c_rfd;
+  cp->c_wsave = cp->c_wfd;
+}
+
+void
+coproc_fdrestore (cp)
+     struct coproc *cp;
+{
+  cp->c_rfd = cp->c_rsave;
+  cp->c_wfd = cp->c_wsave;
+}
+  
+void
+coproc_pidchk (pid)
+     pid_t pid;
+{
+  struct coproc *cp;
+
+  cp = getcoprocbypid (pid);
+  if (cp)
+    coproc_dispose (cp);
+}
+
+void
+coproc_setvars (cp)
+     struct coproc *cp;
+{
+  SHELL_VAR *v;
+  char *namevar, *t;
+  int l;
+#if defined (ARRAY_VARS)
+  arrayind_t ind;
+#endif
+
+  if (cp->c_name == 0)
+    return;
+
+  l = strlen (cp->c_name);
+  namevar = xmalloc (l + 16);
+
+#if defined (ARRAY_VARS)
+  v = find_variable (cp->c_name);
+  if (v == 0)
+    v = make_new_array_variable (cp->c_name);
+  if (array_p (v) == 0)
+    v = convert_var_to_array (v);
+
+  t = itos (cp->c_rfd);
+  ind = 0;
+  v = bind_array_variable (cp->c_name, ind, t, 0);
+  free (t);
+
+  t = itos (cp->c_wfd);
+  ind = 1;
+  bind_array_variable (cp->c_name, ind, t, 0);
+  free (t);
+#else
+  sprintf (namevar, "%s_READ", cp->c_name);
+  t = itos (cp->c_rfd);
+  bind_variable (namevar, t, 0);
+  free (t);
+  sprintf (namevar, "%s_WRITE", cp->c_name);
+  t = itos (cp->c_wfd);
+  bind_variable (namevar, t, 0);
+  free (t);
+#endif
+
+  sprintf (namevar, "%s_PID", cp->c_name);
+  t = itos (cp->c_pid);
+  bind_variable (namevar, t, 0);
+  free (t);
+
+  free (namevar);
+}
+
+void
+coproc_unsetvars (cp)
+     struct coproc *cp;
+{
+  int l;
+  char *namevar;
+
+  if (cp->c_name == 0)
+    return;
+
+  l = strlen (cp->c_name);
+  namevar = xmalloc (l + 16);
+
+  sprintf (namevar, "%s_PID", cp->c_name);
+  unbind_variable (namevar);  
+
+#if defined (ARRAY_VARS)
+  unbind_variable (cp->c_name);
+#else
+  sprintf (namevar, "%s_READ", cp->c_name);
+  unbind_variable (namevar);
+  sprintf (namevar, "%s_WRITE", cp->c_name);
+  unbind_variable (namevar);
+#endif  
+
+  free (namevar);
+}
+
+static int
+execute_coproc (command, pipe_in, pipe_out, fds_to_close)
+     COMMAND *command;
+     int pipe_in, pipe_out;
+     struct fd_bitmap *fds_to_close;
+{
+  int rpipe[2], wpipe[2];
+  pid_t coproc_pid;
+  Coproc *cp;
+  char *tcmd;
+
+  if (sh_coproc.c_pid != -1)
+    {
+      internal_error ("execute_coproc: coproc [%d:%s] already exists", sh_coproc.c_pid, sh_coproc.c_name);
+      return (last_command_exit_value = EXECUTION_FAILURE);
+    }
+  coproc_init (&sh_coproc);
+
+  command_string_index = 0;
+  tcmd = make_command_string (command);
+
+  sh_openpipe ((int *)&rpipe); /* 0 = parent read, 1 = child write */
+  sh_openpipe ((int *)&wpipe); /* 0 = child read, 1 = parent write */
+
+  coproc_pid = make_child (savestring (tcmd), 1);
+  if (coproc_pid == 0)
+    {
+      close (rpipe[0]);
+      close (wpipe[1]);
+
+      exit (execute_in_subshell (command, 1, wpipe[0], rpipe[1], fds_to_close));
+    }
+
+  close (rpipe[1]);
+  close (wpipe[0]);
+
+  cp = coproc_alloc (command->value.Coproc->name, coproc_pid);
+  cp->c_rfd = rpipe[0];
+  cp->c_wfd = wpipe[1];
+
+  SET_CLOSE_ON_EXEC (cp->c_rfd);
+  SET_CLOSE_ON_EXEC (cp->c_wfd);
+
+  coproc_setvars (cp);
+
+  itrace ("execute_coproc: [%d] %s", coproc_pid, the_printed_command);
+
+  close_pipes (pipe_in, pipe_out);
+#if defined (PROCESS_SUBSTITUTION) && defined (HAVE_DEV_FD)
+  unlink_fifo_list ();
+#endif
+  stop_pipeline (1, (COMMAND *)NULL);
+  DESCRIBE_PID (coproc_pid);
+  run_pending_traps ();
+
+  return (EXECUTION_SUCCESS);
+}
+#endif
+
 static int
 execute_pipeline (command, asynchronous, pipe_in, pipe_out, fds_to_close)
      COMMAND *command;
@@ -2685,6 +3007,10 @@ execute_null_command (redirects, pipe_in, pipe_out, async)
 
          do_piping (pipe_in, pipe_out);
 
+#if defined (COPROCESS_SUPPORT)
+         coproc_close (&sh_coproc);
+#endif
+
          subshell_environment = 0;
          if (async)
            subshell_environment |= SUBSHELL_ASYNC;
@@ -2887,6 +3213,9 @@ execute_simple_command (simple_command, pipe_in, pipe_out, async, fds_to_close)
 
          do_piping (pipe_in, pipe_out);
          pipe_in = pipe_out = NO_PIPE;
+#if defined (COPROCESS_SUPPORT)
+         coproc_close (&sh_coproc);
+#endif
 
          last_asynchronous_pid = old_last_async_pid;
        }
diff --git a/fdprintf.c b/fdprintf.c
new file mode 100644 (file)
index 0000000..cfe13bf
--- /dev/null
@@ -0,0 +1,66 @@
+/* fdprintf -- printf to a file descriptor
+
+   Copyright (C) 2008 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 2, or (at your option)
+   any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License along
+   with this program; if not, write to the Free Software Foundation,
+   Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */
+                                 
+#ifdef HAVE_CONFIG_H
+#  include <config.h>
+#endif
+
+#if !HAVE_FDPRINTF
+
+#include <stdc.h>
+
+#if defined (HAVE_UNISTD_H)
+#  include <unistd.h>
+#endif
+
+#if defined (PREFER_STDARG)
+#  include <stdarg.h>
+#else
+#  include <varargs.h>
+#endif
+
+#include <stdio.h>
+
+int
+#if defined (PREFER_STDARG)
+fdprintf(int fd, const char *format, ...)
+#else
+fdprintf(fd, format, va_alist)
+     int fd;
+     const char *format;
+     va_dcl
+#endif
+{
+  FILE *fp;
+  int rc, r2;
+  va_list args;
+
+  fp = fdopen (dup (fd), "w");
+  if (fp == 0)
+    return -1;
+
+  SH_VA_START (args, format);
+  rc = vfprintf (fp, fmt, ap);
+  fflush (fp);
+  va_end (args);
+
+  r2 = fclose (fp);    /* check here */
+
+  return rc;
+}           
+#endif
diff --git a/input.c b/input.c
index 7933da2f2ee3a5e385817e3b98b337c8dd7bac19..d021b9f7335abcf4bac188d5c3644147a5fbb2f3 100644 (file)
--- a/input.c
+++ b/input.c
 extern int errno;
 #endif /* !errno */
 
+#if defined (EAGAIN)
+#  define X_EAGAIN EAGAIN
+#else
+#  define X_EAGAIN -99
+#endif
+
+#if defined (EWOULDBLOCK)
+#  define X_EWOULDBLOCK EWOULDBLOCK
+#else
+#  define X_EWOULDBLOCK -99
+#endif
+
 extern void termsig_handler __P((int));
 
 /* Functions to handle reading input on systems that don't restart read(2)
@@ -75,6 +87,15 @@ getc_with_restart (stream)
          local_bufused = read (fileno (stream), localbuf, sizeof(localbuf));
          if (local_bufused > 0)
            break;
+         else if (errno == X_EAGAIN || errno == X_EWOULDBLOCK)
+           {
+             if (sh_unset_nodelay_mode (fileno (stream)) < 0)
+               {
+                 sys_error (_("cannot reset nodelay mode for fd %d"), fileno (stream));
+                 return EOF;
+               }
+             continue;
+           }
          else if (local_bufused == 0 || errno != EINTR)
            {
              local_index = 0;
diff --git a/jobs.c b/jobs.c
index 2a07241bdf9e5961e813fb870d8ca2a69627ddbe..1157bddffa749299251b2e401ea2adbe292e3077 100644 (file)
--- a/jobs.c
+++ b/jobs.c
@@ -3074,6 +3074,10 @@ waitchld (wpid, block)
       /* Locate our PROCESS for this pid. */
       child = find_process (pid, 1, &job);     /* want living procs only */
 
+#if defined (COPROCESS_SUPPORT)
+      coproc_pidchk (pid);
+#endif
+
       /* 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
diff --git a/jobs.c~ b/jobs.c~
index ce6305ac03f17bbd99ad8b3e1947ce38dce61129..2a07241bdf9e5961e813fb870d8ca2a69627ddbe 100644 (file)
--- a/jobs.c~
+++ b/jobs.c~
@@ -3122,7 +3122,7 @@ waitchld (wpid, block)
   if (job_control && signal_is_trapped (SIGCHLD) && children_exited &&
       trap_list[SIGCHLD] != (char *)IGNORE_SIG)
     {
-      if (posixly_correct && this_shell_builtin && this_shell_builtin == wait_builtin)
+      if (this_shell_builtin && this_shell_builtin == wait_builtin)
        {
          interrupt_immediately = 0;
          trap_handler (SIGCHLD);       /* set pending_traps[SIGCHLD] */
index bd34a124201ba96824976ce7fea9950dd89dbd48..fc7c54d601978f03fe5e6b1603c8deb09f6c5c7d 100644 (file)
@@ -660,13 +660,13 @@ fnprint (to_print, prefix_bytes)
      const char *to_print;
      int prefix_bytes;
 {
-  int printed_len;
+  int printed_len, w;
   const char *s;
 #if defined (HANDLE_MULTIBYTE)
   mbstate_t ps;
   const char *end;
   size_t tlen;
-  int width, w;
+  int width;
   wchar_t wc;
 
   end = to_print + strlen (to_print) + 1;
index 1cc3db8d8ede37698ed0b0783bc18150180b6321..cee2703ba665e995985b435a864d7d77e464ea2f 100644 (file)
@@ -92,7 +92,7 @@ CSOURCES = clktck.c clock.c getcwd.c getenv.c oslib.c setlinebuf.c \
           strtoll.c strtoull.c strtoimax.c strtoumax.c memset.c strstr.c \
           mktime.c strftime.c xstrchr.c zcatfd.c zmapfd.c winsize.c eaccess.c \
           wcsdup.c fpurge.c zgetline.c mbscmp.c uconvert.c ufuncs.c \
-          casemod.c
+          casemod.c fdprintf.c
 
 # The header files for this library.
 HSOURCES = 
index 7f783ef1d8967c300611ef0035d8e0b8f51d1f45..55396b05681842efd4862c5f853f6a10af04f370 100644 (file)
@@ -92,7 +92,7 @@ CSOURCES = clktck.c clock.c getcwd.c getenv.c oslib.c setlinebuf.c \
           strtoll.c strtoull.c strtoimax.c strtoumax.c memset.c strstr.c \
           mktime.c strftime.c xstrchr.c zcatfd.c zmapfd.c winsize.c eaccess.c \
           wcsdup.c fpurge.c zgetline.c mbscmp.c uconvert.c ufuncs.c \
-          casemod.c
+          casemod.c fdprintf.c
 
 # The header files for this library.
 HSOURCES = 
@@ -104,7 +104,7 @@ OBJECTS = clktck.o clock.o getenv.o oslib.o setlinebuf.o strnlen.o \
          netconn.o netopen.o timeval.o makepath.o pathcanon.o \
          pathphys.o tmpfile.o stringlist.o stringvec.o spell.o shquote.o \
          strtrans.o strindex.o snprintf.o mailstat.o fmtulong.o \
-         fmtullong.o fmtumax.o xstrchr.o zcatfd.o zmapfd.o winsize.o wcsdup.o \
+         fmtullong.o fmtumax.o xstrchr.o zcatfd.o zmapfd.o winsize.o wcsdup.o 
          fpurge.o zgetline.o mbscmp.o uconvert.o ufuncs.o casemod.o ${LIBOBJS}
 
 SUPPORT = Makefile
@@ -204,6 +204,7 @@ strtoull.o: strtol.c
 
 # all files in the library depend on config.h
 casemod.o: ${BUILD_DIR}/config.h
+clktck.o: ${BUILD_DIR}/config.h
 clock.o: ${BUILD_DIR}/config.h
 eaccess.o: ${BUILD_DIR}/config.h
 fmtullong.o: ${BUILD_DIR}/config.h
diff --git a/lib/sh/fdprintf.c b/lib/sh/fdprintf.c
new file mode 100644 (file)
index 0000000..fe4441b
--- /dev/null
@@ -0,0 +1,63 @@
+/* fdprintf -- printf to a file descriptor
+
+   Copyright (C) 2008 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 2, or (at your option)
+   any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License along
+   with this program; if not, write to the Free Software Foundation,
+   Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */
+                                 
+#ifdef HAVE_CONFIG_H
+#  include <config.h>
+#endif
+
+#include <stdc.h>
+
+#if defined (HAVE_UNISTD_H)
+#  include <unistd.h>
+#endif
+
+#if defined (PREFER_STDARG)
+#  include <stdarg.h>
+#else
+#  include <varargs.h>
+#endif
+
+#include <stdio.h>
+
+int
+#if defined (PREFER_STDARG)
+fdprintf(int fd, const char *format, ...)
+#else
+fdprintf(fd, format, va_alist)
+     int fd;
+     const char *format;
+     va_dcl
+#endif
+{
+  FILE *fp;
+  int rc, r2;
+  va_list args;
+
+  fp = fdopen (dup (fd), "w");
+  if (fp == 0)
+    return -1;
+
+  SH_VA_START (args, format);
+  rc = vfprintf (fp, format, args);
+  fflush (fp);
+  va_end (args);
+
+  r2 = fclose (fp);    /* check here */
+
+  return rc;
+}           
diff --git a/lib/sh/fdprintf.c~ b/lib/sh/fdprintf.c~
new file mode 100644 (file)
index 0000000..f66822a
--- /dev/null
@@ -0,0 +1,63 @@
+/* fdprintf -- printf to a file descriptor
+
+   Copyright (C) 2008 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 2, or (at your option)
+   any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License along
+   with this program; if not, write to the Free Software Foundation,
+   Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */
+                                 
+#ifdef HAVE_CONFIG_H
+#  include <config.h>
+#endif
+
+#include <stdc.h>
+
+#if defined (HAVE_UNISTD_H)
+#  include <unistd.h>
+#endif
+
+#if defined (PREFER_STDARG)
+#  include <stdarg.h>
+#else
+#  include <varargs.h>
+#endif
+
+#include <stdio.h>
+
+int
+#if defined (PREFER_STDARG)
+fdprintf(int fd, const char *format, ...)
+#else
+fdprintf(fd, format, va_alist)
+     int fd;
+     const char *format;
+     va_dcl
+#endif
+{
+  FILE *fp;
+  int rc, r2;
+  va_list args;
+
+  fp = fdopen (dup (fd), "w");
+  if (fp == 0)
+    return -1;
+
+  SH_VA_START (args, format);
+  rc = vfprintf (fp, fmt, ap);
+  fflush (fp);
+  va_end (args);
+
+  r2 = fclose (fp);    /* check here */
+
+  return rc;
+}           
index 98808e9dbdfaefdf917dd36759794b13b71d4b61..ec649411659c0e334aabd763a81c1bef543ecf7e 100644 (file)
@@ -647,6 +647,9 @@ make_here_document (temp, lineno)
       document_index += len;
     }
 
+  if (full_line == 0)
+    internal_warning (_("here-document at line %d delimited by end-of-file (wanted `%s')"), lineno, redir_word);
+
 document_done:
   if (document)
     document[document_index] = '\0';
@@ -793,6 +796,20 @@ make_subshell_command (command)
   return (make_command (cm_subshell, (SIMPLE_COM *)temp));
 }
 
+COMMAND *
+make_coproc_command (name, command)
+     char *name;
+     COMMAND *command;
+{
+  COPROC_COM *temp;
+
+  temp = (COPROC_COM *)xmalloc (sizeof (COPROC_COM));
+  temp->name = savestring (name);
+  temp->command = command;
+  temp->flags = CMD_WANT_SUBSHELL|CMD_COPROC_SUBSHELL;
+  return (make_command (cm_coproc, (SIMPLE_COM *)temp));
+}
+
 /* Reverse the word list and redirection list in the simple command
    has just been parsed.  It seems simpler to do this here the one
    time then by any other method that I can think of. */
index 98808e9dbdfaefdf917dd36759794b13b71d4b61..28a3a694d74c8c06c6b99df66f27b5245e786027 100644 (file)
@@ -647,6 +647,9 @@ make_here_document (temp, lineno)
       document_index += len;
     }
 
+  if (full_line == 0)
+    internal_warning (_("here-document at line %d delimited by end-of-file (wanted `%s')"), lineno, redir_word);
+
 document_done:
   if (document)
     document[document_index] = '\0';
index 2c3b3a81670b4737a4550f323f6f567c5445e651..7c4b83a7f6e4071cd659d348dd7e102fd1622261 100644 (file)
@@ -1,6 +1,6 @@
 /* make_cmd.h -- Declarations of functions found in make_cmd.c */
 
-/* Copyright (C) 1993-2005 Free Software Foundation, Inc.
+/* Copyright (C) 1993-2008 Free Software Foundation, Inc.
 
    This file is part of GNU Bash, the Bourne Again SHell.
 
@@ -63,6 +63,7 @@ extern COMMAND *make_cond_command __P((COND_COM *));
 extern COMMAND *make_arith_for_command __P((WORD_LIST *, COMMAND *, int));
 
 extern COMMAND *make_subshell_command __P((COMMAND *));
+extern COMMAND *make_coproc_command __P((char *, COMMAND *));
 
 extern COMMAND *connect_async_list __P((COMMAND *, COMMAND *, int));
 
index fe5dc15bc8a5365f68b5d74463146137f1fd59b3..2c3b3a81670b4737a4550f323f6f567c5445e651 100644 (file)
@@ -46,7 +46,7 @@ extern COMMAND *make_while_command __P((COMMAND *, COMMAND *));
 extern COMMAND *make_until_command __P((COMMAND *, COMMAND *));
 extern COMMAND *make_bare_simple_command __P((void));
 extern COMMAND *make_simple_command __P((ELEMENT, COMMAND *));
-extern void make_here_document __P((REDIRECT *));
+extern void make_here_document __P((REDIRECT *, int));
 extern REDIRECT *make_redirection __P((int, enum r_instruction, REDIRECTEE));
 extern COMMAND *make_function_def __P((WORD_DESC *, COMMAND *, int, int));
 extern COMMAND *clean_simple_command __P((COMMAND *));
diff --git a/parse.y b/parse.y
index 973bcf52790c6b7ca369a2f4e80c3b2c2ed9b553..f8bf5414f696a52b047162bfd9bc0ee540228a86 100644 (file)
--- a/parse.y
+++ b/parse.y
@@ -327,7 +327,7 @@ static REDIRECTEE redir;
    in the case that they are preceded by a list_terminator.  Members
    of the second group are for [[...]] commands.  Members of the
    third group are recognized only under special circumstances. */
-%token IF THEN ELSE ELIF FI CASE ESAC FOR SELECT WHILE UNTIL DO DONE FUNCTION
+%token IF THEN ELSE ELIF FI CASE ESAC FOR SELECT WHILE UNTIL DO DONE FUNCTION COPROC
 %token COND_START COND_END COND_ERROR
 %token IN BANG TIME TIMEOPT
 
@@ -350,6 +350,7 @@ static REDIRECTEE redir;
 %type <command> arith_command
 %type <command> cond_command
 %type <command> arith_for_command
+%type <command> coproc
 %type <command> function_def function_body if_command elif_clause subshell
 %type <redirect> redirection redirection_list
 %type <element> simple_command_element
@@ -625,6 +626,8 @@ command:    simple_command
                        }
        |       function_def
                        { $$ = $1; }
+       |       coproc
+                       { $$ = $1; }
        ;
 
 shell_command: for_command
@@ -814,6 +817,57 @@ subshell:  '(' compound_list ')'
                        }
        ;
 
+coproc:                COPROC shell_command
+                       {
+                         $$ = make_coproc_command ("COPROC", $2);
+                         $$->flags |= CMD_WANT_SUBSHELL|CMD_COPROC_SUBSHELL;
+                       }
+       |       COPROC shell_command redirection_list
+                       {
+                         COMMAND *tc;
+
+                         tc = $2;
+                         if (tc->redirects)
+                           {
+                             register REDIRECT *t;
+                             for (t = tc->redirects; t->next; t = t->next)
+                               ;
+                             t->next = $3;
+                           }
+                         else
+                           tc->redirects = $3;
+                         $$ = make_coproc_command ("COPROC", $2);
+                         $$->flags |= CMD_WANT_SUBSHELL|CMD_COPROC_SUBSHELL;
+                       }
+       |       COPROC WORD shell_command
+                       {
+                         $$ = make_coproc_command ($2->word, $3);
+                         $$->flags |= CMD_WANT_SUBSHELL|CMD_COPROC_SUBSHELL;
+                       }
+       |       COPROC WORD shell_command redirection_list
+                       {
+                         COMMAND *tc;
+
+                         tc = $3;
+                         if (tc->redirects)
+                           {
+                             register REDIRECT *t;
+                             for (t = tc->redirects; t->next; t = t->next)
+                               ;
+                             t->next = $4;
+                           }
+                         else
+                           tc->redirects = $4;
+                         $$ = make_coproc_command ($2->word, $3);
+                         $$->flags |= CMD_WANT_SUBSHELL|CMD_COPROC_SUBSHELL;
+                       }
+       |       COPROC simple_command
+                       {
+                         $$ = make_coproc_command ("COPROC", clean_simple_command ($2));
+                         $$->flags |= CMD_WANT_SUBSHELL|CMD_COPROC_SUBSHELL;
+                       }
+       ;
+
 if_command:    IF compound_list THEN compound_list FI
                        { $$ = make_if_command ($2, $4, (COMMAND *)NULL); }
        |       IF compound_list THEN compound_list ELSE compound_list FI
@@ -1854,6 +1908,9 @@ STRING_INT_ALIST word_token_alist[] = {
 #if defined (COND_COMMAND)
   { "[[", COND_START },
   { "]]", COND_END },
+#endif
+#if defined (COPROCESS_SUPPORT)
+  { "coproc", COPROC },
 #endif
   { (char *)NULL, 0}
 };
@@ -4364,11 +4421,16 @@ reserved_word_acceptable (toksym)
     case THEN:
     case TIME:
     case TIMEOPT:
+    case COPROC:
     case UNTIL:
     case WHILE:
     case 0:
       return 1;
     default:
+#if defined (COPROCESS_SUPPORT)
+      if (last_read_token == WORD && token_before_that == COPROC)
+       return 1;
+#endif
       return 0;
     }
 }
index 00f62acbe02b7f5e91494ea061d4a406813ca31c..537f81e7b908a3a54b6d308c068644262c98b2b4 100644 (file)
--- a/parse.y~
+++ b/parse.y~
@@ -327,7 +327,7 @@ static REDIRECTEE redir;
    in the case that they are preceded by a list_terminator.  Members
    of the second group are for [[...]] commands.  Members of the
    third group are recognized only under special circumstances. */
-%token IF THEN ELSE ELIF FI CASE ESAC FOR SELECT WHILE UNTIL DO DONE FUNCTION
+%token IF THEN ELSE ELIF FI CASE ESAC FOR SELECT WHILE UNTIL DO DONE FUNCTION COPROC
 %token COND_START COND_END COND_ERROR
 %token IN BANG TIME TIMEOPT
 
@@ -350,6 +350,7 @@ static REDIRECTEE redir;
 %type <command> arith_command
 %type <command> cond_command
 %type <command> arith_for_command
+%type <command> coproc
 %type <command> function_def function_body if_command elif_clause subshell
 %type <redirect> redirection redirection_list
 %type <element> simple_command_element
@@ -625,6 +626,8 @@ command:    simple_command
                        }
        |       function_def
                        { $$ = $1; }
+       |       coproc
+                       { $$ = $1; }
        ;
 
 shell_command: for_command
@@ -814,6 +817,57 @@ subshell:  '(' compound_list ')'
                        }
        ;
 
+coproc:                COPROC shell_command
+                       {
+                         $$ = make_coproc_command ("COPROC", $2);
+                         $$->flags |= CMD_WANT_SUBSHELL|CMD_COPROC_SUBSHELL;
+                       }
+       |       COPROC shell_command redirection_list
+                       {
+                         COMMAND *tc;
+
+                         tc = $2;
+                         if (tc->redirects)
+                           {
+                             register REDIRECT *t;
+                             for (t = tc->redirects; t->next; t = t->next)
+                               ;
+                             t->next = $3;
+                           }
+                         else
+                           tc->redirects = $3;
+                         $$ = make_coproc_command ("COPROC", $2);
+                         $$->flags |= CMD_WANT_SUBSHELL|CMD_COPROC_SUBSHELL;
+                       }
+       |       COPROC WORD shell_command
+                       {
+                         $$ = make_coproc_command ($2->word, $3);
+                         $$->flags |= CMD_WANT_SUBSHELL|CMD_COPROC_SUBSHELL;
+                       }
+       |       COPROC WORD shell_command redirection_list
+                       {
+                         COMMAND *tc;
+
+                         tc = $3;
+                         if (tc->redirects)
+                           {
+                             register REDIRECT *t;
+                             for (t = tc->redirects; t->next; t = t->next)
+                               ;
+                             t->next = $4;
+                           }
+                         else
+                           tc->redirects = $4;
+                         $$ = make_coproc_command ($2->word, $3);
+                         $$->flags |= CMD_WANT_SUBSHELL|CMD_COPROC_SUBSHELL;
+                       }
+       |       COPROC simple_command
+                       {
+                         $$ = make_coproc_command ("COPROC", clean_simple_command ($2));
+                         $$->flags |= CMD_WANT_SUBSHELL|CMD_COPROC_SUBSHELL;
+                       }
+       ;
+
 if_command:    IF compound_list THEN compound_list FI
                        { $$ = make_if_command ($2, $4, (COMMAND *)NULL); }
        |       IF compound_list THEN compound_list ELSE compound_list FI
@@ -1854,6 +1908,9 @@ STRING_INT_ALIST word_token_alist[] = {
 #if defined (COND_COMMAND)
   { "[[", COND_START },
   { "]]", COND_END },
+#endif
+#if defined (COPROCESS_SUPPORT)
+  { "coproc", COPROC },
 #endif
   { (char *)NULL, 0}
 };
@@ -2285,6 +2342,7 @@ yylex ()
 
   if ((parser_state & PST_EOFTOKEN) && current_token == shell_eof_token)
     {
+itrace("shell_eof_token == ')'; setting current_token == yacc_EOF");
       current_token = yacc_EOF;
       if (bash_input.type == st_string)
        rewind_input_string ();
@@ -4142,8 +4200,12 @@ read_token_word (character)
        }
 
 #if defined (ARRAY_VARS)
-      /* Identify possible array subscript assignment; match [...] */
-      else if MBTEST(character == '[' && token_index > 0 && assignment_acceptable (last_read_token) && token_is_ident (token, token_index))    /* ] */
+      /* Identify possible array subscript assignment; match [...].  If
+        parser_state&PST_COMPASSIGN, we need to parse [sub]=words treating
+        `sub' as if it were enclosed in double quotes. */
+      else if MBTEST(character == '[' &&               /* ] */
+                    ((token_index > 0 && assignment_acceptable (last_read_token) && token_is_ident (token, token_index)) ||
+                     (token_index == 0 && (parser_state&PST_COMPASSIGN))))
         {
          ttok = parse_matched_pair (cd, '[', ']', &ttoklen, 0);
          if (ttok == &matched_pair_error)
@@ -4360,11 +4422,16 @@ reserved_word_acceptable (toksym)
     case THEN:
     case TIME:
     case TIMEOPT:
+    case COPROC:
     case UNTIL:
     case WHILE:
     case 0:
       return 1;
     default:
+#if defined (COPROCESS_SUPPORT)
+      if (last_read_token == WORD && token_before_that == COPROC)
+       return 1;
+#endif
       return 0;
     }
 }
index 05bb7a8387a5384380a385973d7e0ab88f470651..f156d47a4182854e2ce5b54ee803c705e70ab2c8 100644 (file)
@@ -284,6 +284,12 @@ make_command_string_internal (command)
          cprintf (" )");
          break;
 
+       case cm_coproc:
+         cprintf ("coproc %s ", command->value.Coproc->name);
+         skip_this_indent++;
+         make_command_string_internal (command->value.Coproc->command);
+         break;
+
        default:
          command_error ("print_command", CMDERR_BADTYPE, command->type, 0);
          break;
index b35ecbc4694e40f31879c0cc6e749534dc41cec5..05bb7a8387a5384380a385973d7e0ab88f470651 100644 (file)
@@ -609,7 +609,12 @@ print_case_clauses (clauses)
       indentation += indentation_amount;
       make_command_string_internal (clauses->action);
       indentation -= indentation_amount;
-      newline (";;");
+      if (clauses->flags & CASEPAT_FALLTHROUGH)
+       newline (";&");
+      else if (clauses->flags & CASEPAT_TESTNEXT)
+       newline (";;&");
+      else
+       newline (";;");
       clauses = clauses->next;
     }
   indentation -= indentation_amount;
diff --git a/redir.c b/redir.c
index ca10d572aa8276f45c24274882f1a8d604783718..df768b5dac98f8e8c805752918a1151672fd372a 100644 (file)
--- a/redir.c
+++ b/redir.c
@@ -936,7 +936,12 @@ do_redirection_internal (redirect, flags)
 
          /* dup-and-close redirection */
          if (ri == r_move_input || ri == r_move_output)
-           close (redir_fd);
+           {
+             close (redir_fd);
+#if defined (COPROCESS_SUPPORT)
+             coproc_fdchk (&sh_coproc, redir_fd);      /* XXX - loses coproc fds */
+#endif
+           }
        }
       break;
 
@@ -946,6 +951,10 @@ do_redirection_internal (redirect, flags)
          if ((flags & RX_UNDOABLE) && (fcntl (redirector, F_GETFD, 0) != -1))
            add_undo_redirect (redirector, ri);
 
+#if defined (COPROCESS_SUPPORT)
+         coproc_fdchk (&sh_coproc, redirector);
+#endif
+
 #if defined (BUFFERED_INPUT)
          check_bash_input (redirector);
          close_buffered_fd (redirector);
index 2baf5041b4df881b58068c61b9a69697f571ede0..0343233e1be97c46e1d18805347d2eb2a4b86b3d 100644 (file)
--- a/redir.c~
+++ b/redir.c~
@@ -1,6 +1,6 @@
 /* redir.c -- Functions to perform input and output redirection. */
 
-/* Copyright (C) 1997-2007 Free Software Foundation, Inc.
+/* Copyright (C) 1997-2008 Free Software Foundation, Inc.
 
    This file is part of GNU Bash, the Bourne Again SHell.
 
@@ -217,6 +217,7 @@ expandable_redirection_filename (redirect)
     case r_input_direction:
     case r_inputa_direction:
     case r_err_and_out:
+    case r_append_err_and_out:
     case r_input_output:
     case r_output_force:
     case r_duplicating_input_word:
@@ -724,6 +725,7 @@ do_redirection_internal (redirect, flags)
     case r_input_direction:
     case r_inputa_direction:
     case r_err_and_out:                /* command &>filename */
+    case r_append_err_and_out: /* command &>> filename */
     case r_input_output:
     case r_output_force:
       if (posixly_correct && interactive_shell == 0)
@@ -821,7 +823,7 @@ do_redirection_internal (redirect, flags)
 
       /* If we are hacking both stdout and stderr, do the stderr
         redirection here. */
-      if (ri == r_err_and_out)
+      if (ri == r_err_and_out || ri == r_append_err_and_out)
        {
          if (flags & RX_ACTIVE)
            {
@@ -934,7 +936,12 @@ do_redirection_internal (redirect, flags)
 
          /* dup-and-close redirection */
          if (ri == r_move_input || ri == r_move_output)
-           close (redir_fd);
+           {
+             close (redir_fd);
+#if defined (COPROCESS_SUPPORT)
+             coproc_fdchk (&sh_coproc, redir_fd);
+#endif
+           }
        }
       break;
 
@@ -944,6 +951,10 @@ do_redirection_internal (redirect, flags)
          if ((flags & RX_UNDOABLE) && (fcntl (redirector, F_GETFD, 0) != -1))
            add_undo_redirect (redirector, ri);
 
+#if defined (COPROCESS_SUPPORT)
+         coproc_fdchk (&sh_coproc, redirector);
+#endif
+
 #if defined (BUFFERED_INPUT)
          check_bash_input (redirector);
          close_buffered_fd (redirector);
@@ -1081,6 +1092,7 @@ stdin_redirection (ri, redirector)
     case r_appending_to:
     case r_duplicating_output:
     case r_err_and_out:
+    case r_append_err_and_out:
     case r_output_force:
     case r_duplicating_output_word:
       return (0);
diff --git a/shell.c b/shell.c
index a64da180dd9fdd3ee0f2eb93b78ef4f399888ca3..722c24302829050689156cb90f2588a57e02c3c9 100644 (file)
--- a/shell.c
+++ b/shell.c
@@ -1,6 +1,6 @@
 /* shell.c -- GNU's idea of the POSIX shell specification. */
 
-/* Copyright (C) 1987-2007 Free Software Foundation, Inc.
+/* Copyright (C) 1987-2008 Free Software Foundation, Inc.
 
    This file is part of GNU Bash, the Bourne Again SHell.
 
@@ -898,6 +898,10 @@ exit_shell (s)
     maybe_save_shell_history ();
 #endif /* HISTORY */
 
+#if defined (COPROCESS_SUPPORT)
+  coproc_dispose (&sh_coproc);
+#endif
+
 #if defined (JOB_CONTROL)
   /* If the user has run `shopt -s huponexit', hangup all jobs when we exit
      an interactive login shell.  ksh does this unconditionally. */
index fac78dcad2e4c6fc5cee72fef0e8a917159e214a..a64da180dd9fdd3ee0f2eb93b78ef4f399888ca3 100644 (file)
--- a/shell.c~
+++ b/shell.c~
@@ -1747,7 +1747,7 @@ shell_reinitialize ()
   reinit_special_variables ();
 
 #if defined (READLINE)
-  bashline_reset ();
+  bashline_reinitialize ();
 #endif
 
   shell_reinitialized = 1;
diff --git a/subst.c b/subst.c
index 4884f0eac49dd9e2d7b1c589baad65abb898c4ac..d3d39f195f40a2cba109fd8b03506a6eed43ebf9 100644 (file)
--- a/subst.c
+++ b/subst.c
@@ -199,10 +199,8 @@ static WORD_LIST *expand_string_leave_quoted __P((char *, int));
 static WORD_LIST *expand_string_for_rhs __P((char *, int, int *, int *));
 
 static WORD_LIST *list_quote_escapes __P((WORD_LIST *));
-static char *dequote_escapes __P((char *));
 static char *make_quoted_char __P((int));
 static WORD_LIST *quote_list __P((WORD_LIST *));
-static char *remove_quoted_nulls __P((char *));
 
 static int unquoted_substring __P((char *, char *));
 static int unquoted_member __P((int, char *));
@@ -269,7 +267,7 @@ static int valid_length_expression __P((char *));
 static intmax_t parameter_brace_expand_length __P((char *));
 
 static char *skiparith __P((char *, int));
-static int verify_substring_values __P((char *, char *, int, intmax_t *, intmax_t *));
+static int verify_substring_values __P((SHELL_VAR *, char *, char *, int, intmax_t *, intmax_t *));
 static int get_var_and_type __P((char *, char *, int, SHELL_VAR **, char **));
 static char *mb_substring __P((char *, int, int));
 static char *parameter_brace_substring __P((char *, char *, char *, int));
@@ -278,6 +276,9 @@ static char *pos_params_pat_subst __P((char *, char *, char *, int));
 
 static char *parameter_brace_patsub __P((char *, char *, char *, int));
 
+static char *pos_params_casemod __P((char *, char *, int, int));
+static char *parameter_brace_casemod __P((char *, char *, int, char *, int));
+
 static WORD_DESC *parameter_brace_expand __P((char *, int *, int, int *, int *));
 static WORD_DESC *param_expand __P((char *, int *, int, int *, int *, int *, int *, int));
 
@@ -2341,16 +2342,19 @@ do_compound_assignment (name, value, flags)
      int flags;
 {
   SHELL_VAR *v;
-  int mklocal;
+  int mklocal, mkassoc;
   WORD_LIST *list;
 
   mklocal = flags & ASS_MKLOCAL;
+  mkassoc = flags & ASS_MKASSOC;
 
   if (mklocal && variable_context)
     {
       v = find_variable (name);
       list = expand_compound_array_assignment (v, value, flags);
-      if (v == 0 || array_p (v) == 0 || v->context != variable_context)
+      if (mkassoc)
+       v = make_local_assoc_variable (name);
+      else if (v == 0 || (array_p (v) == 0 && assoc_p (v) == 0) || v->context != variable_context)
         v = make_local_array_variable (name);
       assign_compound_array_list (v, list, flags);
     }
@@ -2454,6 +2458,8 @@ do_assignment_internal (word, expand)
     {
       if (word->flags & W_ASSIGNARG)
        aflags |= ASS_MKLOCAL;
+      if (word->flags & W_ASSIGNASSOC)
+       aflags |= ASS_MKASSOC;
       entry = do_compound_assignment (name, value, aflags);
     }
   else
@@ -2473,10 +2479,11 @@ do_assignment_internal (word, expand)
     }
   else
     retval = 1;
-  ASSIGN_RETURN (retval);
 
-  if (entry && retval != 0)
+  if (entry && retval != 0 && noassign_p (entry) == 0)
     VUNSETATTR (entry, att_invisible);
+
+  ASSIGN_RETURN (retval);
 #else
   if (entry)
     VUNSETATTR (entry, att_invisible);
@@ -3120,7 +3127,7 @@ list_quote_escapes (list)
    characters.
 
    Also used by parts of the pattern substitution code. */
-static char *
+char *
 dequote_escapes (string)
      char *string;
 {
@@ -3322,7 +3329,7 @@ remove_quoted_escapes (string)
    of how expand_word_internal works.  remove_quoted_nulls () turns
    STRING into an empty string iff it only consists of a quoted null,
    and removes all unquoted CTLNUL characters. */
-static char *
+char *
 remove_quoted_nulls (string)
      char *string;
 {
@@ -4966,7 +4973,7 @@ array_length_reference (s)
   if (assoc_p (var))
     {
       t[len - 1] = '\0';
-      akey = expand_assignment_string_to_string (t, 0);                /* [ */
+      akey = expand_assignment_string_to_string (t, 0);        /* [ */
       t[len - 1] = ']';
       if (akey == 0 || *akey == 0)
        {
@@ -5504,7 +5511,8 @@ skiparith (substr, delim)
    Return value is 1 if both values were OK, 0 if there was a problem
    with an invalid expression, or -1 if the values were out of range. */
 static int
-verify_substring_values (value, substr, vtype, e1p, e2p)
+verify_substring_values (v, value, substr, vtype, e1p, e2p)
+     SHELL_VAR *v;
      char *value, *substr;
      int vtype;
      intmax_t *e1p, *e2p;
@@ -5514,6 +5522,7 @@ verify_substring_values (value, substr, vtype, e1p, e2p)
   int expok;
 #if defined (ARRAY_VARS)
  ARRAY *a;
+ HASH_TABLE *h;
 #endif
 
   /* duplicate behavior of strchr(3) */
@@ -5543,10 +5552,19 @@ verify_substring_values (value, substr, vtype, e1p, e2p)
       break;
 #if defined (ARRAY_VARS)
     case VT_ARRAYVAR:
-      a = (ARRAY *)value;
       /* For arrays, the first value deals with array indices.  Negative
-        offsets count from one past the array's maximum index. */
-      len = array_max_index (a) + (*e1p < 0);  /* arrays index from 0 to n - 1 */
+        offsets count from one past the array's maximum index.  Associative
+        arrays treat the number of elements as the maximum index. */
+      if (assoc_p (v))
+       {
+         h = assoc_cell (v);
+         len = assoc_num_elements (h) + (*e1p < 0);
+       }
+      else
+       {
+         a = (ARRAY *)value;
+         len = array_max_index (a) + (*e1p < 0);       /* arrays index from 0 to n - 1 */
+       }
       break;
 #endif
     }
@@ -5750,7 +5768,7 @@ parameter_brace_substring (varname, value, substr, quoted)
   starsub = vtype & VT_STARSUB;
   vtype &= ~VT_STARSUB;
 
-  r = verify_substring_values (val, substr, vtype, &e1, &e2);
+  r = verify_substring_values (v, val, substr, vtype, &e1, &e2);
   this_command_name = oname;
   if (r <= 0)
     return ((r == 0) ? &expand_param_error : (char *)NULL);
@@ -5787,7 +5805,9 @@ parameter_brace_substring (varname, value, substr, quoted)
 #if defined (ARRAY_VARS)
     case VT_ARRAYVAR:
       if (assoc_p (v))
-       tt = (char *)NULL;
+       /* we convert to list and take first e2 elements starting at e1th
+          element -- officially undefined for now */   
+       temp = assoc_subrange (assoc_cell (v), e1, e2, starsub, quoted);
       else
       /* We want E2 to be the number of elements desired (arrays can be sparse,
         so verify_substring_values just returns the numbers specified and we
@@ -6083,6 +6103,149 @@ parameter_brace_patsub (varname, value, patsub, quoted)
   return temp;
 }
 
+/****************************************************************/
+/*                                                             */
+/*   Functions to perform case modification on variable values  */
+/*                                                             */
+/****************************************************************/
+
+/* Do case modification on the positional parameters. */
+
+static char *
+pos_params_modcase (string, pat, modop, mflags)
+     char *string, *pat;
+     int modop;
+     int mflags;
+{
+  WORD_LIST *save, *params;
+  WORD_DESC *w;
+  char *ret;
+  int pchar, qflags;
+
+  save = params = list_rest_of_args ();
+  if (save == 0)
+    return ((char *)NULL);
+
+  for ( ; params; params = params->next)
+    {
+      ret = sh_modcase (params->word->word, pat, modop);
+      w = alloc_word_desc ();
+      w->word = ret ? ret : savestring ("");
+      dispose_word (params->word);
+      params->word = w;
+    }
+
+  pchar = (mflags & MATCH_STARSUB) == MATCH_STARSUB ? '*' : '@';
+  qflags = (mflags & MATCH_QUOTED) == MATCH_QUOTED ? Q_DOUBLE_QUOTES : 0;
+
+  ret = string_list_pos_params (pchar, save, qflags);
+  dispose_words (save);
+
+  return (ret);
+}
+
+/* Perform case modification on VALUE, which is the expansion of
+   VARNAME.  MODSPEC is an expression supplying the type of modification
+   to perform.  QUOTED is a flags word containing the type of quoting
+   currently in effect. */
+static char *
+parameter_brace_casemod (varname, value, modspec, patspec, quoted)
+     char *varname, *value;
+     int modspec;
+     char *patspec;
+     int quoted;
+{
+  int vtype, starsub, modop, mflags, x;
+  char *val, *temp, *pat, *p, *lpat, *tt;
+  SHELL_VAR *v;
+
+  if (value == 0)
+    return ((char *)NULL);
+
+  this_command_name = varname;
+
+  vtype = get_var_and_type (varname, value, quoted, &v, &val);
+  if (vtype == -1)
+    return ((char *)NULL);
+
+  starsub = vtype & VT_STARSUB;
+  vtype &= ~VT_STARSUB;
+
+  modop = 0;
+  mflags = 0;
+  if (quoted & (Q_HERE_DOCUMENT|Q_DOUBLE_QUOTES))
+    mflags |= MATCH_QUOTED;
+  if (starsub)
+    mflags |= MATCH_STARSUB;
+  
+  p = patspec;
+  if (modspec == '^')
+    {
+      x = p && p[0] == modspec;
+      modop = x ? CASE_UPPER : CASE_CAPITALIZE;
+      p += x;
+    }
+  else if (modspec == ',')
+    {
+      x = p && p[0] == modspec;
+      modop = x ? CASE_LOWER : CASE_UNCAP;
+      p += x;
+    }
+  else if (modspec == '~')
+    {
+      x = p && p[0] == modspec;
+      modop = x ? CASE_TOGGLEALL : CASE_TOGGLE;
+      p += x;
+    }
+    
+  lpat = p ? savestring (p) : 0;
+  /* Perform the same expansions on the pattern as performed by the
+     pattern removal expansions.  FOR LATER */
+  pat = lpat ? getpattern (lpat, quoted, 1) : 0;
+
+  /* OK, now we do the case modification. */
+  switch (vtype)
+    {
+    case VT_VARIABLE:
+    case VT_ARRAYMEMBER:
+      temp = sh_modcase (val, pat, modop);
+      if (vtype == VT_VARIABLE)
+       FREE (val);
+      if (temp)
+       {
+         tt = (mflags & MATCH_QUOTED) ? quote_string (temp) : quote_escapes (temp);
+         free (temp);
+         temp = tt;
+       }
+      break;
+
+    case VT_POSPARMS:
+      temp = pos_params_modcase (val, pat, modop, mflags);
+      if (temp && (mflags & MATCH_QUOTED)  == 0)
+       {
+         tt = quote_escapes (temp);
+         free (temp);
+         temp = tt;
+       }
+      break;
+
+#if defined (ARRAY_VARS)
+    case VT_ARRAYVAR:
+      temp = assoc_p (v) ? assoc_modcase (assoc_cell (v), pat, modop, mflags)
+                        : array_modcase (array_cell (v), pat, modop, mflags);
+      /* Don't call quote_escapes; array_modcase calls array_quote_escapes
+        as appropriate before adding the space separators; ditto for
+        assoc_modcase. */
+      break;
+#endif
+    }
+
+  FREE (pat);
+  free (lpat);
+
+  return temp;
+}
+
 /* Check for unbalanced parens in S, which is the contents of $(( ... )).  If
    any occur, this must be a nested command substitution, so return 0.
    Otherwise, return 1.  A valid arithmetic expression must always have a
@@ -6140,22 +6303,22 @@ chk_arithsub (s, len)
 /*                                                             */
 /****************************************************************/
 
-/* ${[#][!]name[[:]#[#]%[%]-=?+[word][:e1[:e2]]]} */
+/* ${[#][!]name[[:][^[^]][,[,]]#[#]%[%]-=?+[word][:e1[:e2]]]} */
 static WORD_DESC *
 parameter_brace_expand (string, indexp, quoted, quoted_dollar_atp, contains_dollar_at)
      char *string;
      int *indexp, quoted, *quoted_dollar_atp, *contains_dollar_at;
 {
   int check_nullness, var_is_set, var_is_null, var_is_special;
-  int want_substring, want_indir, want_patsub;
+  int want_substring, want_indir, want_patsub, want_casemod;
   char *name, *value, *temp, *temp1;
   WORD_DESC *tdesc, *ret;
-  int t_index, sindex, c, tflag;
+  int t_index, sindex, c, tflag, modspec;
   intmax_t number;
 
   temp = temp1 = value = (char *)NULL;
   var_is_set = var_is_null = var_is_special = check_nullness = 0;
-  want_substring = want_indir = want_patsub = 0;
+  want_substring = want_indir = want_patsub = want_casemod = 0;
 
   sindex = *indexp;
   t_index = ++sindex;
@@ -6163,7 +6326,17 @@ parameter_brace_expand (string, indexp, quoted, quoted_dollar_atp, contains_doll
   if (string[t_index] == '#' && legal_variable_starter (string[t_index+1]))            /* {{ */
     name = string_extract (string, &t_index, "}", SX_VARNAME);
   else
+#if defined (CASEMOD_EXPANSIONS)
+    /* To enable case-toggling expansions using the `~' operator character
+       change the 1 to 0. */
+#  if defined (CASEMOD_CAPCASE)
+    name = string_extract (string, &t_index, "#%^,~:-=?+/}", SX_VARNAME);
+#  else
+    name = string_extract (string, &t_index, "#%^,:-=?+/}", SX_VARNAME);
+#  endif /* CASEMOD_CAPCASE */
+#else
     name = string_extract (string, &t_index, "#%:-=?+/}", SX_VARNAME);
+#endif /* CASEMOD_EXPANSIONS */
 
   ret = 0;
   tflag = 0;
@@ -6217,6 +6390,13 @@ parameter_brace_expand (string, indexp, quoted, quoted_dollar_atp, contains_doll
     want_substring = 1;
   else if (c == '/' && string[sindex] != RBRACE)
     want_patsub = 1;
+#if defined (CASEMOD_EXPANSIONS)
+  else if (c == '^' || c == ',' || c == '~')
+    {
+      modspec = c;
+      want_casemod = 1;
+    }
+#endif
 
   /* Catch the valid and invalid brace expressions that made it through the
      tests above. */
@@ -6437,6 +6617,24 @@ parameter_brace_expand (string, indexp, quoted, quoted_dollar_atp, contains_doll
       ret->word = temp1;
       return ret;
     }
+#if defined (CASEMOD_EXPANSIONS)
+  else if (want_casemod)
+    {
+      temp1 = parameter_brace_casemod (name, temp, modspec, value, quoted);
+      FREE (name);
+      FREE (value);
+      FREE (temp);
+
+      if (temp1 == &expand_param_error)
+       return (&expand_wdesc_error);
+      else if (temp1 == &expand_param_fatal)
+       return (&expand_wdesc_fatal);
+
+      ret = alloc_word_desc ();
+      ret->word = temp1;
+      return ret;
+    }
+#endif
 
   /* Do the right thing based on which character ended the variable name. */
   switch (c)
diff --git a/subst.h b/subst.h
index de1095bc9a1094420e780262eac21384cd76db88..8c8c5870b0a5c2174282a68fc24593c430f242f3 100644 (file)
--- a/subst.h
+++ b/subst.h
@@ -175,6 +175,9 @@ extern char *expand_arith_string __P((char *, int));
 /* De-quote quoted characters in STRING. */
 extern char *dequote_string __P((char *));
 
+/* De-quote CTLESC-escaped CTLESC or CTLNUL characters in STRING. */
+extern char *dequote_escapes __P((char *));
+
 /* De-quote quoted characters in each word in LIST. */
 extern WORD_LIST *dequote_list __P((WORD_LIST *));
 
@@ -202,6 +205,9 @@ extern char *quote_escapes __P((char *));
 /* And remove such quoted special characters. */
 extern char *remove_quoted_escapes __P((char *));
 
+/* Remove CTLNUL characters from STRING unless they are quoted with CTLESC. */
+extern char *remove_quoted_nulls __P((char *));
+
 /* Perform quote removal on STRING.  If QUOTED > 0, assume we are obeying the
    backslash quoting rules for within double quotes. */
 extern char *string_quote_removal __P((char *, int));
index 8d697d13e9e810c3a1d22d1b8921b90b63babb18..c836b7ee04188d81de6a9a84ca2b4d9092122408 100644 (file)
@@ -274,3 +274,28 @@ rdholz
 rdho
 
 
+argv[1] = <fooq//barq/>
+argv[1] = <fooq>
+argv[2] = <>
+argv[3] = <barq>
+argv[4] = <>
+argv[1] = <foo!//bar!/>
+argv[1] = <foo!>
+argv[2] = <>
+argv[3] = <bar!>
+argv[4] = <>
+argv[1] = <ooq//arq/>
+argv[1] = <ooq>
+argv[2] = <>
+argv[3] = <arq>
+argv[4] = <>
+argv[1] = <Fooq//Barq/>
+argv[1] = <Fooq>
+argv[2] = <>
+argv[3] = <Barq>
+argv[4] = <>
+argv[1] = <FOOQ//BARQ/>
+argv[1] = <FOOQ>
+argv[2] = <>
+argv[3] = <BARQ>
+argv[4] = <>
index b311886a6f71540b38c6fd67c40b524d374df517..3e3786a70bfe31eb1e22f6bc1aff8fdda680588b 100644 (file)
@@ -380,3 +380,5 @@ ${THIS_SH} ./array5.sub
 # tests for post-bash-3.2 problems, most fixed in bash-3.2 patches
 ${THIS_SH} ./array6.sub
 ${THIS_SH} ./array7.sub
+
+${THIS_SH} ./array8.sub
diff --git a/tests/array8.sub b/tests/array8.sub
new file mode 100644 (file)
index 0000000..481ccdb
--- /dev/null
@@ -0,0 +1,23 @@
+IFS=/
+declare -a i
+
+i[0]=fooq
+i[1]=
+i[2]=barq
+i[3]=
+recho "${i[*]:0}"
+recho "${i[@]:0}"
+
+recho "${i[*]/q/!}"
+recho "${i[@]/q/!}"
+
+recho "${i[*]#?}"
+recho "${i[@]#?}"
+
+# Need to complete this with case-modifying expansion examples
+recho "${i[*]^?}"
+recho "${i[@]^?}"
+
+recho "${i[*]^^?}"
+recho "${i[@]^^?}"
+
index 03f4d392304c20e9aba8153232ae1e73b1c8ba7a..b55af791d8fdf1f7530e3acb3318840a49335f1d 100644 (file)
@@ -99,3 +99,33 @@ argv[1] = </bin/bash --login -o posix>
 argv[2] = </usr/sbin/foo>
 argv[3] = <cd /blat ; echo $PWD>
 argv[4] = </usr/local/bin/qux -l>
+outside: outside
+declare -A BASH_ALIASES='()'
+declare -A BASH_CMDS='()'
+declare -A afoo='([six]="six" [foo bar]="foo quux" )'
+argv[1] = <inside:>
+argv[2] = <six>
+argv[3] = <foo quux>
+outside 2: outside
+argv[1] = <fooq//barq/>
+argv[1] = <fooq>
+argv[1] = <foo!//bar!/>
+argv[1] = <foo!>
+argv[2] = <>
+argv[3] = <bar!>
+argv[4] = <>
+argv[1] = <ooq//arq/>
+argv[1] = <ooq>
+argv[2] = <>
+argv[3] = <arq>
+argv[4] = <>
+argv[1] = <Fooq//Barq/>
+argv[1] = <Fooq>
+argv[2] = <>
+argv[3] = <Barq>
+argv[4] = <>
+argv[1] = <FOOQ//BARQ/>
+argv[1] = <FOOQ>
+argv[2] = <>
+argv[3] = <BARQ>
+argv[4] = <>
index 694ae05868be347d3ecdb81defc562c4d96acb68..76d86fe1ecb32449c126236f23429d9110125883 100644 (file)
@@ -167,3 +167,7 @@ zecho "${xpath[@]//[\/]/\\}"
 ${THIS_SH} ./assoc1.sub
 
 ${THIS_SH} ./assoc2.sub
+
+${THIS_SH} ./assoc3.sub
+
+${THIS_SH} ./assoc4.sub
diff --git a/tests/assoc3.sub b/tests/assoc3.sub
new file mode 100644 (file)
index 0000000..9129ef1
--- /dev/null
@@ -0,0 +1,15 @@
+foo()
+{
+       declare -A afoo=([six]="six" [foo bar]="foo quux")
+
+       declare -A
+       recho inside: "${afoo[@]}"
+}
+
+declare -A afoo=([main]=outside)
+echo outside: "${afoo[@]}"
+
+foo
+
+echo outside 2: "${afoo[@]}"
+
diff --git a/tests/assoc4.sub b/tests/assoc4.sub
new file mode 100644 (file)
index 0000000..1516dc5
--- /dev/null
@@ -0,0 +1,22 @@
+IFS=/
+declare -A i
+
+i[0]=fooq
+i[1]=
+i[2]=barq
+i[3]=
+
+recho "${i[*]:0}"
+recho "${i[@]:0}"
+
+recho "${i[*]/q/!}"
+recho "${i[@]/q/!}"
+
+recho "${i[*]#?}"
+recho "${i[@]#?}"
+
+# Need to complete this with case-modifying expansion examples
+recho "${i[*]^?}"
+recho "${i[@]^?}"
+recho "${i[*]^^?}"
+recho "${i[@]^^?}"
diff --git a/tests/casemod.right b/tests/casemod.right
new file mode 100644 (file)
index 0000000..d66fc55
--- /dev/null
@@ -0,0 +1,35 @@
+Acknowledgement
+ACKNOWLEDGEMENT
+Oenophile
+OEnOphIlE
+aCKNOWLEDGEMENT
+acknowledgement
+oENOPHILE
+oENOPHILE
+oeNoPHiLe
+Acknowledgement Oenophile
+AcknOwlEdgEmEnt OEnOphIlE
+aCKNOWLEDGEMENT oENOPHILE
+aCKNoWLeDGeMeNT oeNoPHiLe
+aCKNOWLEDGEMENT oENOPHILE
+acknowledgement oenophile
+Acknowledgement Oenophile
+ACKNOWLEDGEMENT OENOPHILE
+Acknowledgement Oenophile
+AcknOwlEdgEmEnt OEnOphIlE
+oENOPHILE aCKNOWLEDGEMENT
+oenophile acknowledgement
+oENOPHILE aCKNOWLEDGEMENT
+oeNoPHiLe aCKNoWLeDGeMeNT
+Acknowledgement Oenophile
+ACKNOWLEDGEMENT OENOPHILE
+acknowledgement oenophile
+ackNowLEdgEmENT oENophiLE
+acknowledgement oenophile
+ackNowLEdgEmENT oENophiLE
+ackNowLEdgEmENT oENophiLE
+acknowledgement oenophile
+ackNowLEdgEmENT oENophiLE
+acknowledgement oenophile
+Acknowledgement Oenophile
+ACKNOWLEDGEMENT OENOPHILE
diff --git a/tests/casemod.tests b/tests/casemod.tests
new file mode 100644 (file)
index 0000000..e1e3a3e
--- /dev/null
@@ -0,0 +1,72 @@
+S1=acknowledgement
+S2=oenophile
+
+echo ${S1^}
+echo ${S1^^}
+
+echo ${S2^[aeiou]}
+echo ${S2^^[aeiou]}
+
+U1=${S1^^}
+U2=${S2^^}
+
+echo ${U1,}
+echo ${U1,,}
+
+echo ${U2,}
+echo ${U2,[AEIOU]}
+echo ${U2,,[AEIOU]}
+
+A1=( $S1 $S2 )
+
+echo ${A1[@]^[aeiou]}
+echo ${A1[@]^^[aeiou]}
+
+A2=( $U1 $U2 )
+
+echo ${A2[@],[AEIOU]}
+echo ${A2[@],,[AEIOU]}
+
+echo ${A2[@],?}
+echo ${A2[@],,?}
+
+declare -A AA1 AA2
+
+AA1[ack]=$S1
+AA1[oen]=$S2
+
+echo ${AA1[@]^}
+echo ${AA1[@]^^}
+
+echo ${AA1[@]^[aeiou]}
+echo ${AA1[@]^^[aeiou]}
+
+AA2[ACK]=$U1
+AA2[OEN]=$U2
+
+echo ${AA2[@],}
+echo ${AA2[@],,}
+
+echo ${AA2[@],[AEIOU]}
+echo ${AA2[@],,[AEIOU]}
+
+set -- $S1 $S2
+
+echo ${@^}
+echo ${@^^}
+
+
+echo ${S1^[rstlne]} ${S2^[rstlne]}
+echo ${S1^^[rstlne]} ${S2^^[rstlne]}
+
+echo ${@^[rstlne]}
+echo ${@^^[rstlne]}
+
+echo ${S1,[rstlne]} ${S2,[rstlne]}
+echo ${S1,,[rstlne]} ${S2,,[rstlne]}
+
+echo ${@,[rstlne]}
+echo ${@,,[rstlne]}
+
+echo ${@^?}
+echo ${@^^?}
diff --git a/tests/comsub-eof.right b/tests/comsub-eof.right
new file mode 100644 (file)
index 0000000..4fc9ae2
--- /dev/null
@@ -0,0 +1,7 @@
+./comsub-eof0.sub: line 1: unexpected EOF while looking for matching `)'
+./comsub-eof0.sub: line 5: syntax error: unexpected end of file
+hi
+./comsub-eof2.sub: line 2: warning: here-document at line 1 delimited by end-of-file (wanted `EOF')
+hi
+./comsub-eof3.sub: line 1: unexpected EOF while looking for matching `)'
+./comsub-eof3.sub: line 5: syntax error: unexpected end of file
diff --git a/tests/comsub-eof.tests b/tests/comsub-eof.tests
new file mode 100644 (file)
index 0000000..0b0ead9
--- /dev/null
@@ -0,0 +1,7 @@
+${THIS_SH} ./comsub-eof0.sub
+
+${THIS_SH} ./comsub-eof1.sub
+
+${THIS_SH} ./comsub-eof2.sub
+
+${THIS_SH} ./comsub-eof3.sub
diff --git a/tests/comsub-eof0.sub b/tests/comsub-eof0.sub
new file mode 100644 (file)
index 0000000..7b0775f
--- /dev/null
@@ -0,0 +1,4 @@
+foo=$(cat <<EOF
+hi
+EOF )
+echo $foo
diff --git a/tests/comsub-eof0.sub~ b/tests/comsub-eof0.sub~
new file mode 100644 (file)
index 0000000..19d76b7
--- /dev/null
@@ -0,0 +1,10 @@
+foo=$(cat <<EOF
+hi
+EOF )
+echo $foo
+
+foo=`cat <<EOF
+hi
+EOF`
+echo $foo
+
diff --git a/tests/comsub-eof1.sub b/tests/comsub-eof1.sub
new file mode 100644 (file)
index 0000000..eaa0e97
--- /dev/null
@@ -0,0 +1,4 @@
+foo=`cat <<EOF
+hi
+EOF`
+echo $foo
diff --git a/tests/comsub-eof1.sub~ b/tests/comsub-eof1.sub~
new file mode 100644 (file)
index 0000000..19d76b7
--- /dev/null
@@ -0,0 +1,10 @@
+foo=$(cat <<EOF
+hi
+EOF )
+echo $foo
+
+foo=`cat <<EOF
+hi
+EOF`
+echo $foo
+
diff --git a/tests/comsub-eof2.sub b/tests/comsub-eof2.sub
new file mode 100644 (file)
index 0000000..e93e6c8
--- /dev/null
@@ -0,0 +1,2 @@
+cat <<EOF
+hi
diff --git a/tests/comsub-eof3.sub b/tests/comsub-eof3.sub
new file mode 100644 (file)
index 0000000..f3038c7
--- /dev/null
@@ -0,0 +1,4 @@
+foo=$(cat <<EOF
+hi
+)
+echo $foo
diff --git a/tests/coproc.right b/tests/coproc.right
new file mode 100644 (file)
index 0000000..f68097e
--- /dev/null
@@ -0,0 +1,14 @@
+18530
+63 60
+a b c
+18532
+63 60
+flop
+./coproc.tests: line 22: 18532 Terminated              coproc REFLECT { cat -; }
+18534
+63 60
+FOO
+63 60
+root
+daemon
+-1 -1
diff --git a/tests/coproc.tests b/tests/coproc.tests
new file mode 100644 (file)
index 0000000..eba69fd
--- /dev/null
@@ -0,0 +1,45 @@
+coproc { echo a b c; sleep 2; }
+
+echo $COPROC_PID
+echo ${COPROC[@]}
+
+read LINE <&${COPROC[0]}
+echo $LINE
+
+wait $COPROC_PID
+
+coproc REFLECT { cat - ; }
+
+echo $REFLECT_PID
+echo ${REFLECT[@]}
+
+echo flop >&${REFLECT[1]}
+read LINE <&${REFLECT[0]}
+
+echo $LINE
+
+kill $REFLECT_PID
+wait $REFLECT_PID
+
+coproc tr -u 'a-z' 'A-Z'
+
+echo $COPROC_PID
+echo ${COPROC[@]}
+
+echo foo >&${COPROC[1]}
+read <&${COPROC[0]}
+
+echo $REPLY
+echo ${COPROC[@]}
+
+cat /etc/passwd | grep root | awk -F: '{print $1;}'
+
+exec 4<&${COPROC[0]}-
+exec >&${COPROC[1]}-
+
+echo ${COPROC[@]}
+
+read foo <&4
+echo $foo >&2
+
+exit 0
index 25c24435b5b84e14753b5b811cabc2946a634031..10467ae303d55e64a22b0031213a64da79bf8a1d 100755 (executable)
@@ -223,4 +223,8 @@ ${THIS_SH} ./dollar-at2.sub
 # no splitting, etc. when $IFS is NUL
 ${THIS_SH} ./dollar-star2.sub
 
+# tests for expansions of "${array[*]}" and "${array[@]}" when $IFS is not the
+# default and the array contains null elements
+${THIS_SH} ./dollar-star3.sub
+
 exit 0
diff --git a/tests/dollar-star3.sub b/tests/dollar-star3.sub
new file mode 100644 (file)
index 0000000..8cf4bb2
--- /dev/null
@@ -0,0 +1,18 @@
+IFS=/
+#file=/mnt/cdrom/RedHat/RPMS
+#recho "${file[*]:0:3}"
+
+i[0]=fooq
+i[1]=
+i[2]=barq
+i[3]=
+recho "${i[*]:0}"
+recho "${i[@]:0}"
+
+recho "${i[*]/q/!}"
+recho "${i[@]/q/!}"
+
+recho "${i[*]#?}"
+recho "${i[@]#?}"
+
+# Need to complete this with case-modifying expansion examples
index ff57f1c48ad7a14371c969700099ec43b342b40a..68641cfe519cbc088d53c089644a8707df403f48 100644 (file)
@@ -134,3 +134,18 @@ argv[1] = <A B>
 argv[2] = <C D>
 argv[1] = <A BC D>
 argv[1] = <A BC D>
+argv[1] = <fooq//barq/>
+argv[1] = <fooq>
+argv[2] = <>
+argv[3] = <barq>
+argv[4] = <>
+argv[1] = <foo!//bar!/>
+argv[1] = <foo!>
+argv[2] = <>
+argv[3] = <bar!>
+argv[4] = <>
+argv[1] = <ooq//arq/>
+argv[1] = <ooq>
+argv[2] = <>
+argv[3] = <arq>
+argv[4] = <>
index 890e9a53076ad8379b2e5f164bf79199dda145f5..ae7bf29ce12bf17492ad4550f5b8deb753cc9f40 100644 (file)
@@ -15,7 +15,7 @@ unset: usage: unset [-f] [-v] [name ...]
 ./errors.tests: line 52: unset: `/bin/sh': not a valid identifier
 ./errors.tests: line 55: unset: cannot simultaneously unset a function and a variable
 ./errors.tests: line 58: declare: -z: invalid option
-declare: usage: declare [-afFirtx] [-p] [name[=value] ...]
+declare: usage: declare [-aAfFilrtux] [-p] [name[=value] ...]
 ./errors.tests: line 60: declare: `-z': not a valid identifier
 ./errors.tests: line 61: declare: `/bin/sh': not a valid identifier
 ./errors.tests: line 65: declare: cannot use `-f' to make functions
index c3f6a7fdfbf8684cfdae31c79243f5b5f8f94071..8eee6b214f694bad825c8a8e662f94f3a2f711bb 100644 (file)
@@ -39,5 +39,6 @@ ENDOFINPUT
 
     aa=1
 }
+./heredoc.tests: line 94: warning: here-document at line 92 delimited by end-of-file (wanted `EOF')
 hi
 there
index ae405a259247d4a330a0242df34afba0edca604d..67e79d4af23945dfd40d704419acce78e208d2c3 100644 (file)
@@ -33,11 +33,11 @@ a = abcdefg
 a = xyz
 a = -xyz 123-
 a = abc
-1
+timeout 1: ok
 
-1
+timeout 2: ok
 
-./read2.sub: line 13: read: -3: invalid timeout specification
+./read2.sub: line 23: read: -3: invalid timeout specification
 1
 
 abcde
index 176cf86365c702ceacfe0d55922656732dc9d509..c4a1f771b493de1fb2e9de1ed7db1aeee969fe7a 100644 (file)
@@ -1,12 +1,22 @@
 a=4
 
 read -t 2 a < /dev/tty
-echo $?
+estat=$?
+if [ $estat -gt 128 ]; then
+       echo timeout 1: ok
+else
+       echo $estat
+fi
 
 echo $a
 
 sleep 5 | read -t 1 a
-echo $?
+estat=$?
+if [ $estat -gt 128 ]; then
+       echo timeout 2: ok
+else
+       echo $estat
+fi
 
 echo $a
 
diff --git a/tests/run-casemod b/tests/run-casemod
new file mode 100644 (file)
index 0000000..83c1b5a
--- /dev/null
@@ -0,0 +1,2 @@
+${THIS_SH} ./casemod.tests > /tmp/xx 2>&1
+diff /tmp/xx casemod.right && rm -f /tmp/xx
diff --git a/tests/run-comsub-eof b/tests/run-comsub-eof
new file mode 100644 (file)
index 0000000..5c006be
--- /dev/null
@@ -0,0 +1,2 @@
+${THIS_SH} ./comsub-eof.tests > /tmp/xx 2>&1
+diff /tmp/xx comsub-eof.right && rm -f /tmp/xx
diff --git a/tests/run-comsub-eof~ b/tests/run-comsub-eof~
new file mode 100644 (file)
index 0000000..0bbcad5
--- /dev/null
@@ -0,0 +1,2 @@
+${THIS_SH} ./comsub.tests > /tmp/xx 2>&1
+diff /tmp/xx comsub.right && rm -f /tmp/xx
diff --git a/tests/run-coproc b/tests/run-coproc
new file mode 100644 (file)
index 0000000..ce62474
--- /dev/null
@@ -0,0 +1,4 @@
+echo "warning: the process IDs printed will differ on every run" >&2
+echo "warning: and generate diffs" >&2
+${THIS_SH} ./coproc.tests > /tmp/xx 2>&1
+diff /tmp/xx coproc.right && rm -f /tmp/xx
diff --git a/tests/run-coproc~ b/tests/run-coproc~
new file mode 100644 (file)
index 0000000..6aa9915
--- /dev/null
@@ -0,0 +1,2 @@
+${THIS_SH} ./coproc.tests > /tmp/xx 2>&1
+diff /tmp/xx coproc.right && rm -f /tmp/xx
index ab6241e38bba87b1bc095d9a8e836d209eda1aa3..660b0838835caffff8260f494de7bc2d677541c3 100644 (file)
@@ -2104,7 +2104,6 @@ make_variable_value (var, value, flags)
          if (value)
            strcpy (retval+olen, value);
        }
-#endif /* CASEMOD_ATTRS */
       else if (*value)
        retval = savestring (value);
       else
@@ -2118,6 +2117,7 @@ make_variable_value (var, value, flags)
       free (retval);
       retval = oval;
     }
+#endif /* CASEMOD_ATTRS */
   else if (value)
     {
       if (flags & ASS_APPEND)