]> git.ipfire.org Git - thirdparty/bash.git/commitdiff
final set of documentation updates; documentation directory cleanups
authorChet Ramey <chet.ramey@case.edu>
Sat, 2 Nov 2024 18:50:28 +0000 (14:50 -0400)
committerChet Ramey <chet.ramey@case.edu>
Sat, 2 Nov 2024 18:50:28 +0000 (14:50 -0400)
117 files changed:
MANIFEST
Makefile.in
doc/Makefile.in
doc/bash.html
doc/bashbug.ps [deleted file]
doc/bashref.aux
doc/bashref.bt
doc/bashref.bts
doc/bashref.cp
doc/bashref.cps
doc/bashref.dvi
doc/bashref.html
doc/bashref.log
doc/bashref.ps
doc/bashref.toc
doc/bashref.vr
doc/bashref.vrs
doc/builtins.pdf
doc/builtins.ps [deleted file]
doc/obsolete/FAQ-2.05a [moved from doc/FAQ-2.05a with 100% similarity]
doc/obsolete/FAQ-2.05b [moved from doc/FAQ-2.05b with 100% similarity]
doc/obsolete/FAQ-20090219 [moved from doc/FAQ-20090219 with 100% similarity]
doc/obsolete/FAQ-3.0 [moved from doc/FAQ-3.0 with 100% similarity]
doc/obsolete/FAQ-3.1 [moved from doc/FAQ-3.1 with 100% similarity]
doc/obsolete/FAQ-3.2 [moved from doc/FAQ-3.2 with 100% similarity]
doc/obsolete/FAQ-4.0 [moved from doc/FAQ-4.0 with 100% similarity]
doc/obsolete/FAQ-4.1 [moved from doc/FAQ-4.1 with 100% similarity]
doc/obsolete/FAQ-4.2 [moved from doc/FAQ-4.2 with 100% similarity]
doc/obsolete/FAQ-4.3 [moved from doc/FAQ-4.3 with 100% similarity]
doc/obsolete/FAQ-4.4 [moved from doc/FAQ-4.4 with 100% similarity]
doc/obsolete/faq.headers.mail [moved from doc/faq.headers.mail with 100% similarity]
doc/obsolete/faq.headers.news [moved from doc/faq.headers.news with 100% similarity]
doc/obsolete/faq.headers.news2 [moved from doc/faq.headers.news2 with 100% similarity]
doc/obsolete/faq.mail [moved from doc/faq.mail with 100% similarity]
doc/obsolete/faq.mail.test [moved from doc/faq.mail.test with 100% similarity]
doc/obsolete/faq.news [moved from doc/faq.news with 100% similarity]
doc/obsolete/faq.news2 [moved from doc/faq.news2 with 100% similarity]
doc/obsolete/faq.version [moved from doc/faq.version with 100% similarity]
doc/obsolete/index.html [moved from doc/index.html with 100% similarity]
doc/obsolete/infopost.sh [moved from doc/infopost.sh with 100% similarity]
doc/obsolete/mkfaqvers [moved from doc/mkfaqvers with 100% similarity]
doc/obsolete/newbash.texi [new file with mode: 0644]
doc/obsolete/old-faq.html [moved from doc/old-faq.html with 100% similarity]
doc/obsolete/oldbash.texi [moved from doc/oldbash.texi with 100% similarity]
doc/rbash.pdf [new file with mode: 0644]
doc/rbash.ps [deleted file]
lib/readline/doc/Makefile
lib/readline/doc/Makefile.in
lib/readline/doc/hist.texinfo [deleted file]
lib/readline/doc/history.aux [deleted file]
lib/readline/doc/history.bt [deleted file]
lib/readline/doc/history.cp [deleted file]
lib/readline/doc/history.cps [deleted file]
lib/readline/doc/history.dvi
lib/readline/doc/history.fn [deleted file]
lib/readline/doc/history.fns [deleted file]
lib/readline/doc/history.html
lib/readline/doc/history.ky [deleted file]
lib/readline/doc/history.log [deleted file]
lib/readline/doc/history.pdf
lib/readline/doc/history.pg [deleted file]
lib/readline/doc/history.ps
lib/readline/doc/history.tmp [deleted file]
lib/readline/doc/history.toc [deleted file]
lib/readline/doc/history.tp [deleted file]
lib/readline/doc/history.vr [deleted file]
lib/readline/doc/history.vrs [deleted file]
lib/readline/doc/history_3.pdf
lib/readline/doc/hstech.texinfo [deleted file]
lib/readline/doc/hsuser.texinfo [deleted file]
lib/readline/doc/manvers.texinfo [deleted file]
lib/readline/doc/readline.0
lib/readline/doc/readline.dvi
lib/readline/doc/readline.html
lib/readline/doc/readline.info
lib/readline/doc/readline.pdf
lib/readline/doc/readline.ps
lib/readline/doc/readline_3.pdf
lib/readline/doc/rlman.aux [deleted file]
lib/readline/doc/rlman.bt [deleted file]
lib/readline/doc/rlman.cp [deleted file]
lib/readline/doc/rlman.cps [deleted file]
lib/readline/doc/rlman.fn [deleted file]
lib/readline/doc/rlman.fns [deleted file]
lib/readline/doc/rlman.info [deleted file]
lib/readline/doc/rlman.ky [deleted file]
lib/readline/doc/rlman.log [deleted file]
lib/readline/doc/rlman.pg [deleted file]
lib/readline/doc/rlman.texinfo [deleted file]
lib/readline/doc/rlman.tmp [deleted file]
lib/readline/doc/rlman.toc [deleted file]
lib/readline/doc/rlman.tp [deleted file]
lib/readline/doc/rlman.vr [deleted file]
lib/readline/doc/rlman.vrs [deleted file]
lib/readline/doc/rltech.texinfo [deleted file]
lib/readline/doc/rluser.texinfo [deleted file]
lib/readline/doc/rluserman.aux [deleted file]
lib/readline/doc/rluserman.bt [deleted file]
lib/readline/doc/rluserman.cp [deleted file]
lib/readline/doc/rluserman.cps [deleted file]
lib/readline/doc/rluserman.dvi
lib/readline/doc/rluserman.fn [deleted file]
lib/readline/doc/rluserman.fns [deleted file]
lib/readline/doc/rluserman.html
lib/readline/doc/rluserman.info
lib/readline/doc/rluserman.ky [deleted file]
lib/readline/doc/rluserman.log [deleted file]
lib/readline/doc/rluserman.pdf
lib/readline/doc/rluserman.pg [deleted file]
lib/readline/doc/rluserman.ps
lib/readline/doc/rluserman.texinfo [deleted file]
lib/readline/doc/rluserman.tmp [deleted file]
lib/readline/doc/rluserman.toc [deleted file]
lib/readline/doc/rluserman.tp [deleted file]
lib/readline/doc/rluserman.vr [deleted file]
lib/readline/doc/rluserman.vrs [deleted file]
tests/exec3.sub

index a6f2fddce856329c6d126031b0226dcfea7df472..6336500185f7ca01f4bb5a18bda577e69d5263a2 100644 (file)
--- a/MANIFEST
+++ b/MANIFEST
@@ -693,9 +693,6 @@ doc/fdl.txt f
 doc/article.ps f
 doc/rose94.ps  f
 doc/bash.ps            f
-doc/bashbug.ps f
-doc/builtins.ps        f
-doc/rbash.ps   f
 doc/bashref.ps f
 doc/bashref.dvi        f
 doc/bash.0             f
@@ -708,6 +705,8 @@ doc/bashref.html    f
 doc/article.pdf        f
 doc/bash.pdf   f
 doc/bashref.pdf        f
+doc/builtins.pdf       f
+doc/rbash.pdf  f
 doc/rose94.pdf f
 doc/aosa-bash.pdf      f
 doc/aosa-bash-full.pdf f
index d55a1843d9d20a24229f4954d861aeda41f9136a..a9fbc215dde48b1643fbbc980eaf2ae008967b0c 100644 (file)
@@ -1527,354 +1527,354 @@ signames.o: config.h bashansi.h ${BASHINCDIR}/ansi_stdlib.h
 # XXX - dependencies checked through here
 
 # builtin c sources
-builtins/bashgetopt.o: config.h bashansi.h ${BASHINCDIR}/ansi_stdlib.h
-builtins/bashgetopt.o: shell.h syntax.h config.h bashjmp.h command.h general.h xmalloc.h error.h
-builtins/bashgetopt.o: variables.h arrayfunc.h conftypes.h quit.h ${BASHINCDIR}/maxpath.h unwind_prot.h dispose_cmd.h
-builtins/bashgetopt.o: make_cmd.h subst.h sig.h pathnames.h externs.h 
-builtins/bashgetopt.o: $(DEFSRC)/common.h
-builtins/bashgetopt.o: ${BASHINCDIR}/chartypes.h
-builtins/common.o: bashtypes.h ${BASHINCDIR}/posixstat.h bashansi.h ${BASHINCDIR}/ansi_stdlib.h
-builtins/common.o: shell.h syntax.h config.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h command.h
-builtins/common.o: ${BASHINCDIR}/memalloc.h variables.h arrayfunc.h conftypes.h input.h siglist.h
-builtins/common.o: quit.h unwind_prot.h ${BASHINCDIR}/maxpath.h jobs.h builtins.h
-builtins/common.o: dispose_cmd.h make_cmd.h subst.h externs.h bashhist.h 
-builtins/common.o: execute_cmd.h ${BASHINCDIR}/stdc.h general.h xmalloc.h error.h pathnames.h
-builtins/common.o: ${DEFDIR}/builtext.h parser.h
-builtins/common.o: ${BASHINCDIR}/chartypes.h
-builtins/common.o: $(BASHINCDIR)/unlocked-io.h
-builtins/evalfile.o: bashtypes.h ${BASHINCDIR}/posixstat.h ${BASHINCDIR}/filecntl.h bashansi.h ${BASHINCDIR}/ansi_stdlib.h
-builtins/evalfile.o: shell.h syntax.h config.h bashjmp.h command.h general.h xmalloc.h error.h
-builtins/evalfile.o: variables.h arrayfunc.h conftypes.h quit.h ${BASHINCDIR}/maxpath.h unwind_prot.h dispose_cmd.h
-builtins/evalfile.o: make_cmd.h subst.h sig.h pathnames.h externs.h parser.h
-builtins/evalfile.o: jobs.h builtins.h flags.h input.h execute_cmd.h
-builtins/evalfile.o: bashhist.h $(DEFSRC)/common.h
-builtins/evalstring.o: config.h bashansi.h ${BASHINCDIR}/ansi_stdlib.h
-builtins/evalstring.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h command.h siglist.h
-builtins/evalstring.o: ${BASHINCDIR}/memalloc.h variables.h arrayfunc.h conftypes.h input.h
-builtins/evalstring.o: quit.h unwind_prot.h ${BASHINCDIR}/maxpath.h jobs.h builtins.h
-builtins/evalstring.o: dispose_cmd.h make_cmd.h subst.h externs.h 
-builtins/evalstring.o: jobs.h builtins.h flags.h input.h execute_cmd.h
-builtins/evalstring.o: bashhist.h $(DEFSRC)/common.h pathnames.h redir.h
-builtins/evalstring.o: ${DEFDIR}/builtext.h
-builtins/getopt.o: config.h ${BASHINCDIR}/memalloc.h
-builtins/getopt.o: shell.h syntax.h bashjmp.h command.h general.h xmalloc.h error.h
-builtins/getopt.o: variables.h arrayfunc.h conftypes.h quit.h ${BASHINCDIR}/maxpath.h unwind_prot.h dispose_cmd.h
-builtins/getopt.o: make_cmd.h subst.h sig.h pathnames.h externs.h 
-builtins/getopt.o: $(DEFSRC)/getopt.h
-builtins/mkbuiltins.o: config.h bashtypes.h ${BASHINCDIR}/posixstat.h ${BASHINCDIR}/filecntl.h
-builtins/mkbuiltins.o: bashansi.h ${BASHINCDIR}/ansi_stdlib.h
-builtins/mkbuiltins.o: $(BASHINCDIR)/stdc.h
+$(DEFDIR)/bashgetopt.o: config.h bashansi.h ${BASHINCDIR}/ansi_stdlib.h
+$(DEFDIR)/bashgetopt.o: shell.h syntax.h config.h bashjmp.h command.h general.h xmalloc.h error.h
+$(DEFDIR)/bashgetopt.o: variables.h arrayfunc.h conftypes.h quit.h ${BASHINCDIR}/maxpath.h unwind_prot.h dispose_cmd.h
+$(DEFDIR)/bashgetopt.o: make_cmd.h subst.h sig.h pathnames.h externs.h 
+$(DEFDIR)/bashgetopt.o: $(DEFSRC)/common.h
+$(DEFDIR)/bashgetopt.o: ${BASHINCDIR}/chartypes.h
+$(DEFDIR)/common.o: bashtypes.h ${BASHINCDIR}/posixstat.h bashansi.h ${BASHINCDIR}/ansi_stdlib.h
+$(DEFDIR)/common.o: shell.h syntax.h config.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h command.h
+$(DEFDIR)/common.o: ${BASHINCDIR}/memalloc.h variables.h arrayfunc.h conftypes.h input.h siglist.h
+$(DEFDIR)/common.o: quit.h unwind_prot.h ${BASHINCDIR}/maxpath.h jobs.h builtins.h
+$(DEFDIR)/common.o: dispose_cmd.h make_cmd.h subst.h externs.h bashhist.h 
+$(DEFDIR)/common.o: execute_cmd.h ${BASHINCDIR}/stdc.h general.h xmalloc.h error.h pathnames.h
+$(DEFDIR)/common.o: ${DEFDIR}/builtext.h parser.h
+$(DEFDIR)/common.o: ${BASHINCDIR}/chartypes.h
+$(DEFDIR)/common.o: $(BASHINCDIR)/unlocked-io.h
+$(DEFDIR)/evalfile.o: bashtypes.h ${BASHINCDIR}/posixstat.h ${BASHINCDIR}/filecntl.h bashansi.h ${BASHINCDIR}/ansi_stdlib.h
+$(DEFDIR)/evalfile.o: shell.h syntax.h config.h bashjmp.h command.h general.h xmalloc.h error.h
+$(DEFDIR)/evalfile.o: variables.h arrayfunc.h conftypes.h quit.h ${BASHINCDIR}/maxpath.h unwind_prot.h dispose_cmd.h
+$(DEFDIR)/evalfile.o: make_cmd.h subst.h sig.h pathnames.h externs.h parser.h
+$(DEFDIR)/evalfile.o: jobs.h builtins.h flags.h input.h execute_cmd.h
+$(DEFDIR)/evalfile.o: bashhist.h $(DEFSRC)/common.h
+$(DEFDIR)/evalstring.o: config.h bashansi.h ${BASHINCDIR}/ansi_stdlib.h
+$(DEFDIR)/evalstring.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h command.h siglist.h
+$(DEFDIR)/evalstring.o: ${BASHINCDIR}/memalloc.h variables.h arrayfunc.h conftypes.h input.h
+$(DEFDIR)/evalstring.o: quit.h unwind_prot.h ${BASHINCDIR}/maxpath.h jobs.h builtins.h
+$(DEFDIR)/evalstring.o: dispose_cmd.h make_cmd.h subst.h externs.h 
+$(DEFDIR)/evalstring.o: jobs.h builtins.h flags.h input.h execute_cmd.h
+$(DEFDIR)/evalstring.o: bashhist.h $(DEFSRC)/common.h pathnames.h redir.h
+$(DEFDIR)/evalstring.o: ${DEFDIR}/builtext.h
+$(DEFDIR)/getopt.o: config.h ${BASHINCDIR}/memalloc.h
+$(DEFDIR)/getopt.o: shell.h syntax.h bashjmp.h command.h general.h xmalloc.h error.h
+$(DEFDIR)/getopt.o: variables.h arrayfunc.h conftypes.h quit.h ${BASHINCDIR}/maxpath.h unwind_prot.h dispose_cmd.h
+$(DEFDIR)/getopt.o: make_cmd.h subst.h sig.h pathnames.h externs.h 
+$(DEFDIR)/getopt.o: $(DEFSRC)/getopt.h
+$(DEFDIR)/mkbuiltins.o: config.h bashtypes.h ${BASHINCDIR}/posixstat.h ${BASHINCDIR}/filecntl.h
+$(DEFDIR)/mkbuiltins.o: bashansi.h ${BASHINCDIR}/ansi_stdlib.h
+$(DEFDIR)/mkbuiltins.o: $(BASHINCDIR)/stdc.h
 
 # builtin def files
-builtins/alias.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h
-builtins/alias.o: quit.h $(DEFSRC)/common.h pathnames.h
-builtins/alias.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h command.h ${BASHINCDIR}/stdc.h unwind_prot.h
-builtins/alias.o: dispose_cmd.h make_cmd.h subst.h externs.h variables.h arrayfunc.h conftypes.h 
-builtins/bind.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h
-builtins/bind.o: dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h
-builtins/bind.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h quit.h
-builtins/bind.o: $(DEFSRC)/bashgetopt.h pathnames.h
-builtins/break.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h
-builtins/break.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h quit.h
-builtins/break.o: dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h
-builtins/break.o: pathnames.h execute_cmd.h
-builtins/builtin.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h
-builtins/builtin.o: quit.h $(DEFSRC)/common.h $(DEFSRC)/bashgetopt.h
-builtins/builtin.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h 
-builtins/builtin.o: dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h
-builtins/builtin.o: pathnames.h execute_cmd.h
-builtins/caller.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h
-builtins/caller.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h
-builtins/caller.o: dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h
-builtins/caller.o: $(DEFSRC)/common.h quit.h 
-builtins/caller.o: ${BASHINCDIR}/chartypes.h bashtypes.h
-builtins/caller.o: ${DEFDIR}/builtext.h pathnames.h
-builtins/cd.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h
-builtins/cd.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h
-builtins/cd.o: dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h
-builtins/cd.o: $(DEFSRC)/common.h quit.h pathnames.h
-builtins/colon.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h
-builtins/colon.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h quit.h
-builtins/colon.o: dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h
-builtins/colon.o: pathnames.h
-builtins/command.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h
-builtins/command.o: quit.h $(DEFSRC)/bashgetopt.h
-builtins/command.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h 
-builtins/command.o: dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h pathnames.h
-builtins/declare.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h
-builtins/declare.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h quit.h
-builtins/declare.o: dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h
-builtins/declare.o: $(DEFSRC)/bashgetopt.h pathnames.h flags.h
-builtins/declare.o: ${DEFDIR}/builtext.h
-builtins/echo.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h
-builtins/echo.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h quit.h
-builtins/echo.o: dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h
-builtins/echo.o: pathnames.h
-builtins/echo.o: $(DEFSRC)/common.h
-builtins/echo.o: $(BASHINCDIR)/unlocked-io.h
-builtins/enable.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h
-builtins/enable.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h quit.h
-builtins/enable.o: dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h
-builtins/enable.o: pcomplete.h pathnames.h
-builtins/eval.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h
-builtins/eval.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h quit.h 
-builtins/eval.o: dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h
-builtins/eval.o: pathnames.h
-builtins/exec.o: bashtypes.h pathnames.h
-builtins/exec.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h
-builtins/exec.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h
-builtins/exec.o: dispose_cmd.h make_cmd.h subst.h externs.h execute_cmd.h 
-builtins/exec.o: findcmd.h flags.h quit.h $(DEFSRC)/common.h ${BASHINCDIR}/stdc.h
-builtins/exec.o: pathnames.h
-builtins/exit.o: bashtypes.h 
-builtins/exit.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h
-builtins/exit.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h quit.h
-builtins/exit.o: dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h
-builtins/exit.o: pathnames.h execute_cmd.h
-builtins/exit.o: ${DEFDIR}/builtext.h
-builtins/exit.o: $(BASHINCDIR)/unlocked-io.h
-builtins/fc.o: bashtypes.h ${BASHINCDIR}/posixstat.h
-builtins/fc.o: bashansi.h ${BASHINCDIR}/ansi_stdlib.h builtins.h command.h ${BASHINCDIR}/stdc.h 
-builtins/fc.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h
-builtins/fc.o: flags.h unwind_prot.h variables.h arrayfunc.h conftypes.h shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h 
-builtins/fc.o: dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h quit.h 
-builtins/fc.o: $(DEFSRC)/bashgetopt.h bashhist.h pathnames.h parser.h
-builtins/fc.o: ${BASHINCDIR}/chartypes.h
-builtins/fc.o: $(BASHINCDIR)/unlocked-io.h
-builtins/fg_bg.o: bashtypes.h $(DEFSRC)/bashgetopt.h 
-builtins/fg_bg.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h
-builtins/fg_bg.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h quit.h
-builtins/fg_bg.o: dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h
-builtins/fg_bg.o: pathnames.h execute_cmd.h
-builtins/getopts.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h
-builtins/getopts.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h quit.h 
-builtins/getopts.o: dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h
-builtins/getopts.o: pathnames.h execute_cmd.h
-builtins/hash.o: bashtypes.h execute_cmd.h
-builtins/hash.o: builtins.h command.h findcmd.h ${BASHINCDIR}/stdc.h $(DEFSRC)/common.h
-builtins/hash.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h
-builtins/hash.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h quit.h 
-builtins/hash.o: pathnames.h
-builtins/hash.o: $(BASHINCDIR)/unlocked-io.h
-builtins/help.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h
-builtins/help.o: dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h
-builtins/help.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h
-builtins/help.o: conftypes.h quit.h execute_cmd.h
-builtins/help.o: $(GLOB_LIBSRC)/glob.h pathnames.h
-builtins/help.o: $(BASHINCDIR)/unlocked-io.h
-builtins/history.o: bashtypes.h pathnames.h parser.h
-builtins/history.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h
-builtins/history.o: quit.h dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h
-builtins/history.o: ${BASHINCDIR}/filecntl.h shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h
-builtins/history.o: bashhist.h variables.h arrayfunc.h conftypes.h 
-builtins/history.o: $(BASHINCDIR)/unlocked-io.h
-builtins/inlib.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h
-builtins/inlib.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h quit.h 
-builtins/inlib.o: dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h
-builtins/inlib.o: pathnames.h
-builtins/jobs.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h
-builtins/jobs.o: quit.h $(DEFSRC)/bashgetopt.h
-builtins/jobs.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h 
-builtins/jobs.o: dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h
-builtins/jobs.o: pathnames.h
-builtins/kill.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h
-builtins/kill.o: quit.h dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h
-builtins/kill.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h trap.h unwind_prot.h variables.h arrayfunc.h conftypes.h 
-builtins/kill.o: pathnames.h
-builtins/let.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h
-builtins/let.o: quit.h dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h
-builtins/let.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h 
-builtins/let.o: pathnames.h
-builtins/let.o: $(BASHINCDIR)/unlocked-io.h
-builtins/printf.o: config.h ${BASHINCDIR}/memalloc.h bashjmp.h command.h error.h
-builtins/printf.o: general.h xmalloc.h quit.h dispose_cmd.h make_cmd.h subst.h
-builtins/printf.o: externs.h sig.h pathnames.h shell.h syntax.h unwind_prot.h
-builtins/printf.o: variables.h arrayfunc.h conftypes.h ${BASHINCDIR}/stdc.h $(DEFSRC)/bashgetopt.h
-builtins/printf.o: ${BASHINCDIR}/shmbutil.h ${BASHINCDIR}/shmbchar.h
-builtins/printf.o: ${BASHINCDIR}/chartypes.h 
-builtins/printf.o: $(BASHINCDIR)/unlocked-io.h
-builtins/pushd.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h
-builtins/pushd.o: quit.h dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h
-builtins/pushd.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h
-builtins/pushd.o: $(DEFSRC)/common.h pathnames.h
-builtins/pushd.o: ${DEFDIR}/builtext.h
-builtins/pushd.o: $(BASHINCDIR)/unlocked-io.h
-builtins/read.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h
-builtins/read.o: quit.h dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h
-builtins/read.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h 
-builtins/read.o: ${BASHINCDIR}/shmbutil.h ${BASHINCDIR}/shmbchar.h
-builtins/read.o: pathnames.h
-builtins/read.o: $(BASHINCDIR)/unlocked-io.h
-builtins/return.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h
-builtins/return.o: quit.h dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h
-builtins/return.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h 
-builtins/return.o: pathnames.h execute_cmd.h
-builtins/set.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h
-builtins/set.o: quit.h dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h
-builtins/set.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h flags.h
-builtins/set.o: pathnames.h parser.h
-builtins/setattr.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h
-builtins/setattr.o: quit.h $(DEFSRC)/common.h $(DEFSRC)/bashgetopt.h
-builtins/setattr.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h 
-builtins/setattr.o: dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h
-builtins/setattr.o: pathnames.h flags.h execute_cmd.h
-builtins/shift.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h
-builtins/shift.o: quit.h dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h
-builtins/shift.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h 
-builtins/shift.o: dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h
-builtins/shift.o: pathnames.h
-builtins/shopt.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h
-builtins/shopt.o: quit.h dispose_cmd.h make_cmd.h subst.h externs.h
-builtins/shopt.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h unwind_prot.h variables.h arrayfunc.h conftypes.h ${BASHINCDIR}/maxpath.h
-builtins/shopt.o: $(DEFSRC)/common.h $(DEFSRC)/bashgetopt.h pathnames.h
-builtins/shopt.o: bashhist.h bashline.h
-builtins/source.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h
-builtins/source.o: quit.h dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h
-builtins/source.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h
-builtins/source.o: findcmd.h $(DEFSRC)/bashgetopt.h flags.h trap.h
-builtins/source.o: pathnames.h execute_cmd.h
-builtins/suspend.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h
-builtins/suspend.o: quit.h dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h
-builtins/suspend.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h 
-builtins/suspend.o: pathnames.h
-builtins/test.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h
-builtins/test.o: quit.h dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h
-builtins/test.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h 
-builtins/test.o: execute_cmd.h test.h pathnames.h
-builtins/times.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h
-builtins/times.o: quit.h dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h
-builtins/times.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h 
-builtins/times.o: pathnames.h
-builtins/times.o: $(BASHINCDIR)/unlocked-io.h
-builtins/trap.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h
-builtins/trap.o: quit.h $(DEFSRC)/common.h
-builtins/trap.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h 
-builtins/trap.o: dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h
-builtins/trap.o: pathnames.h
-builtins/type.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h
-builtins/type.o: quit.h $(DEFSRC)/common.h findcmd.h
-builtins/type.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h
-builtins/type.o: dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h
-builtins/type.o: pathnames.h execute_cmd.h parser.h
-builtins/ulimit.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h
-builtins/ulimit.o: quit.h dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h
-builtins/ulimit.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h 
-builtins/ulimit.o: pathnames.h
-builtins/umask.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h
-builtins/umask.o: quit.h dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h
-builtins/umask.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h 
-builtins/umask.o: ${BASHINCDIR}/chartypes.h pathnames.h
-builtins/wait.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h
-builtins/wait.o: quit.h dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h
-builtins/wait.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h
-builtins/wait.o: execute_cmd.h
-builtins/wait.o: ${BASHINCDIR}/chartypes.h pathnames.h
-
-builtins/complete.o: config.h shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h
-builtins/complete.o: unwind_prot.h variables.h arrayfunc.h conftypes.h
-builtins/complete.o: bashtypes.h bashansi.h ${BASHINCDIR}/ansi_stdlib.h
-builtins/complete.o: builtins.h pathnames.h general.h
-builtins/complete.o: bashtypes.h ${BASHINCDIR}/chartypes.h xmalloc.h
-builtins/complete.o: pcomplete.h
-builtins/complete.o: ${DEFSRC}/common.h ${DEFSRC}/bashgetopt.h
-builtins/mapfile.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h
-builtins/mapfile.o: quit.h dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h
-builtins/mapfile.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h 
-builtins/mapfile.o: pathnames.h
+$(DEFDIR)/alias.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h
+$(DEFDIR)/alias.o: quit.h $(DEFSRC)/common.h pathnames.h
+$(DEFDIR)/alias.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h command.h ${BASHINCDIR}/stdc.h unwind_prot.h
+$(DEFDIR)/alias.o: dispose_cmd.h make_cmd.h subst.h externs.h variables.h arrayfunc.h conftypes.h 
+$(DEFDIR)/bind.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h
+$(DEFDIR)/bind.o: dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h
+$(DEFDIR)/bind.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h quit.h
+$(DEFDIR)/bind.o: $(DEFSRC)/bashgetopt.h pathnames.h
+$(DEFDIR)/break.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h
+$(DEFDIR)/break.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h quit.h
+$(DEFDIR)/break.o: dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h
+$(DEFDIR)/break.o: pathnames.h execute_cmd.h
+$(DEFDIR)/builtin.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h
+$(DEFDIR)/builtin.o: quit.h $(DEFSRC)/common.h $(DEFSRC)/bashgetopt.h
+$(DEFDIR)/builtin.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h 
+$(DEFDIR)/builtin.o: dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h
+$(DEFDIR)/builtin.o: pathnames.h execute_cmd.h
+$(DEFDIR)/caller.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h
+$(DEFDIR)/caller.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h
+$(DEFDIR)/caller.o: dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h
+$(DEFDIR)/caller.o: $(DEFSRC)/common.h quit.h 
+$(DEFDIR)/caller.o: ${BASHINCDIR}/chartypes.h bashtypes.h
+$(DEFDIR)/caller.o: ${DEFDIR}/builtext.h pathnames.h
+$(DEFDIR)/cd.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h
+$(DEFDIR)/cd.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h
+$(DEFDIR)/cd.o: dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h
+$(DEFDIR)/cd.o: $(DEFSRC)/common.h quit.h pathnames.h
+$(DEFDIR)/colon.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h
+$(DEFDIR)/colon.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h quit.h
+$(DEFDIR)/colon.o: dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h
+$(DEFDIR)/colon.o: pathnames.h
+$(DEFDIR)/command.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h
+$(DEFDIR)/command.o: quit.h $(DEFSRC)/bashgetopt.h
+$(DEFDIR)/command.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h 
+$(DEFDIR)/command.o: dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h pathnames.h
+$(DEFDIR)/declare.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h
+$(DEFDIR)/declare.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h quit.h
+$(DEFDIR)/declare.o: dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h
+$(DEFDIR)/declare.o: $(DEFSRC)/bashgetopt.h pathnames.h flags.h
+$(DEFDIR)/declare.o: ${DEFDIR}/builtext.h
+$(DEFDIR)/echo.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h
+$(DEFDIR)/echo.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h quit.h
+$(DEFDIR)/echo.o: dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h
+$(DEFDIR)/echo.o: pathnames.h
+$(DEFDIR)/echo.o: $(DEFSRC)/common.h
+$(DEFDIR)/echo.o: $(BASHINCDIR)/unlocked-io.h
+$(DEFDIR)/enable.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h
+$(DEFDIR)/enable.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h quit.h
+$(DEFDIR)/enable.o: dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h
+$(DEFDIR)/enable.o: pcomplete.h pathnames.h
+$(DEFDIR)/eval.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h
+$(DEFDIR)/eval.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h quit.h 
+$(DEFDIR)/eval.o: dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h
+$(DEFDIR)/eval.o: pathnames.h
+$(DEFDIR)/exec.o: bashtypes.h pathnames.h
+$(DEFDIR)/exec.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h
+$(DEFDIR)/exec.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h
+$(DEFDIR)/exec.o: dispose_cmd.h make_cmd.h subst.h externs.h execute_cmd.h 
+$(DEFDIR)/exec.o: findcmd.h flags.h quit.h $(DEFSRC)/common.h ${BASHINCDIR}/stdc.h
+$(DEFDIR)/exec.o: pathnames.h
+$(DEFDIR)/exit.o: bashtypes.h 
+$(DEFDIR)/exit.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h
+$(DEFDIR)/exit.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h quit.h
+$(DEFDIR)/exit.o: dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h
+$(DEFDIR)/exit.o: pathnames.h execute_cmd.h
+$(DEFDIR)/exit.o: ${DEFDIR}/builtext.h
+$(DEFDIR)/exit.o: $(BASHINCDIR)/unlocked-io.h
+$(DEFDIR)/fc.o: bashtypes.h ${BASHINCDIR}/posixstat.h
+$(DEFDIR)/fc.o: bashansi.h ${BASHINCDIR}/ansi_stdlib.h builtins.h command.h ${BASHINCDIR}/stdc.h 
+$(DEFDIR)/fc.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h
+$(DEFDIR)/fc.o: flags.h unwind_prot.h variables.h arrayfunc.h conftypes.h shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h 
+$(DEFDIR)/fc.o: dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h quit.h 
+$(DEFDIR)/fc.o: $(DEFSRC)/bashgetopt.h bashhist.h pathnames.h parser.h
+$(DEFDIR)/fc.o: ${BASHINCDIR}/chartypes.h
+$(DEFDIR)/fc.o: $(BASHINCDIR)/unlocked-io.h
+$(DEFDIR)/fg_bg.o: bashtypes.h $(DEFSRC)/bashgetopt.h 
+$(DEFDIR)/fg_bg.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h
+$(DEFDIR)/fg_bg.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h quit.h
+$(DEFDIR)/fg_bg.o: dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h
+$(DEFDIR)/fg_bg.o: pathnames.h execute_cmd.h
+$(DEFDIR)/getopts.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h
+$(DEFDIR)/getopts.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h quit.h 
+$(DEFDIR)/getopts.o: dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h
+$(DEFDIR)/getopts.o: pathnames.h execute_cmd.h
+$(DEFDIR)/hash.o: bashtypes.h execute_cmd.h
+$(DEFDIR)/hash.o: builtins.h command.h findcmd.h ${BASHINCDIR}/stdc.h $(DEFSRC)/common.h
+$(DEFDIR)/hash.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h
+$(DEFDIR)/hash.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h quit.h 
+$(DEFDIR)/hash.o: pathnames.h
+$(DEFDIR)/hash.o: $(BASHINCDIR)/unlocked-io.h
+$(DEFDIR)/help.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h
+$(DEFDIR)/help.o: dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h
+$(DEFDIR)/help.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h
+$(DEFDIR)/help.o: conftypes.h quit.h execute_cmd.h
+$(DEFDIR)/help.o: $(GLOB_LIBSRC)/glob.h pathnames.h
+$(DEFDIR)/help.o: $(BASHINCDIR)/unlocked-io.h
+$(DEFDIR)/history.o: bashtypes.h pathnames.h parser.h
+$(DEFDIR)/history.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h
+$(DEFDIR)/history.o: quit.h dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h
+$(DEFDIR)/history.o: ${BASHINCDIR}/filecntl.h shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h
+$(DEFDIR)/history.o: bashhist.h variables.h arrayfunc.h conftypes.h 
+$(DEFDIR)/history.o: $(BASHINCDIR)/unlocked-io.h
+$(DEFDIR)/inlib.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h
+$(DEFDIR)/inlib.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h quit.h 
+$(DEFDIR)/inlib.o: dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h
+$(DEFDIR)/inlib.o: pathnames.h
+$(DEFDIR)/jobs.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h
+$(DEFDIR)/jobs.o: quit.h $(DEFSRC)/bashgetopt.h
+$(DEFDIR)/jobs.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h 
+$(DEFDIR)/jobs.o: dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h
+$(DEFDIR)/jobs.o: pathnames.h
+$(DEFDIR)/kill.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h
+$(DEFDIR)/kill.o: quit.h dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h
+$(DEFDIR)/kill.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h trap.h unwind_prot.h variables.h arrayfunc.h conftypes.h 
+$(DEFDIR)/kill.o: pathnames.h
+$(DEFDIR)/let.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h
+$(DEFDIR)/let.o: quit.h dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h
+$(DEFDIR)/let.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h 
+$(DEFDIR)/let.o: pathnames.h
+$(DEFDIR)/let.o: $(BASHINCDIR)/unlocked-io.h
+$(DEFDIR)/printf.o: config.h ${BASHINCDIR}/memalloc.h bashjmp.h command.h error.h
+$(DEFDIR)/printf.o: general.h xmalloc.h quit.h dispose_cmd.h make_cmd.h subst.h
+$(DEFDIR)/printf.o: externs.h sig.h pathnames.h shell.h syntax.h unwind_prot.h
+$(DEFDIR)/printf.o: variables.h arrayfunc.h conftypes.h ${BASHINCDIR}/stdc.h $(DEFSRC)/bashgetopt.h
+$(DEFDIR)/printf.o: ${BASHINCDIR}/shmbutil.h ${BASHINCDIR}/shmbchar.h
+$(DEFDIR)/printf.o: ${BASHINCDIR}/chartypes.h 
+$(DEFDIR)/printf.o: $(BASHINCDIR)/unlocked-io.h
+$(DEFDIR)/pushd.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h
+$(DEFDIR)/pushd.o: quit.h dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h
+$(DEFDIR)/pushd.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h
+$(DEFDIR)/pushd.o: $(DEFSRC)/common.h pathnames.h
+$(DEFDIR)/pushd.o: ${DEFDIR}/builtext.h
+$(DEFDIR)/pushd.o: $(BASHINCDIR)/unlocked-io.h
+$(DEFDIR)/read.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h
+$(DEFDIR)/read.o: quit.h dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h
+$(DEFDIR)/read.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h 
+$(DEFDIR)/read.o: ${BASHINCDIR}/shmbutil.h ${BASHINCDIR}/shmbchar.h
+$(DEFDIR)/read.o: pathnames.h
+$(DEFDIR)/read.o: $(BASHINCDIR)/unlocked-io.h
+$(DEFDIR)/return.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h
+$(DEFDIR)/return.o: quit.h dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h
+$(DEFDIR)/return.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h 
+$(DEFDIR)/return.o: pathnames.h execute_cmd.h
+$(DEFDIR)/set.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h
+$(DEFDIR)/set.o: quit.h dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h
+$(DEFDIR)/set.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h flags.h
+$(DEFDIR)/set.o: pathnames.h parser.h
+$(DEFDIR)/setattr.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h
+$(DEFDIR)/setattr.o: quit.h $(DEFSRC)/common.h $(DEFSRC)/bashgetopt.h
+$(DEFDIR)/setattr.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h 
+$(DEFDIR)/setattr.o: dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h
+$(DEFDIR)/setattr.o: pathnames.h flags.h execute_cmd.h
+$(DEFDIR)/shift.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h
+$(DEFDIR)/shift.o: quit.h dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h
+$(DEFDIR)/shift.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h 
+$(DEFDIR)/shift.o: dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h
+$(DEFDIR)/shift.o: pathnames.h
+$(DEFDIR)/shopt.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h
+$(DEFDIR)/shopt.o: quit.h dispose_cmd.h make_cmd.h subst.h externs.h
+$(DEFDIR)/shopt.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h unwind_prot.h variables.h arrayfunc.h conftypes.h ${BASHINCDIR}/maxpath.h
+$(DEFDIR)/shopt.o: $(DEFSRC)/common.h $(DEFSRC)/bashgetopt.h pathnames.h
+$(DEFDIR)/shopt.o: bashhist.h bashline.h
+$(DEFDIR)/source.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h
+$(DEFDIR)/source.o: quit.h dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h
+$(DEFDIR)/source.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h
+$(DEFDIR)/source.o: findcmd.h $(DEFSRC)/bashgetopt.h flags.h trap.h
+$(DEFDIR)/source.o: pathnames.h execute_cmd.h
+$(DEFDIR)/suspend.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h
+$(DEFDIR)/suspend.o: quit.h dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h
+$(DEFDIR)/suspend.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h 
+$(DEFDIR)/suspend.o: pathnames.h
+$(DEFDIR)/test.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h
+$(DEFDIR)/test.o: quit.h dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h
+$(DEFDIR)/test.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h 
+$(DEFDIR)/test.o: execute_cmd.h test.h pathnames.h
+$(DEFDIR)/times.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h
+$(DEFDIR)/times.o: quit.h dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h
+$(DEFDIR)/times.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h 
+$(DEFDIR)/times.o: pathnames.h
+$(DEFDIR)/times.o: $(BASHINCDIR)/unlocked-io.h
+$(DEFDIR)/trap.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h
+$(DEFDIR)/trap.o: quit.h $(DEFSRC)/common.h
+$(DEFDIR)/trap.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h 
+$(DEFDIR)/trap.o: dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h
+$(DEFDIR)/trap.o: pathnames.h
+$(DEFDIR)/type.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h
+$(DEFDIR)/type.o: quit.h $(DEFSRC)/common.h findcmd.h
+$(DEFDIR)/type.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h
+$(DEFDIR)/type.o: dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h
+$(DEFDIR)/type.o: pathnames.h execute_cmd.h parser.h
+$(DEFDIR)/ulimit.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h
+$(DEFDIR)/ulimit.o: quit.h dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h
+$(DEFDIR)/ulimit.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h 
+$(DEFDIR)/ulimit.o: pathnames.h
+$(DEFDIR)/umask.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h
+$(DEFDIR)/umask.o: quit.h dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h
+$(DEFDIR)/umask.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h 
+$(DEFDIR)/umask.o: ${BASHINCDIR}/chartypes.h pathnames.h
+$(DEFDIR)/wait.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h
+$(DEFDIR)/wait.o: quit.h dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h
+$(DEFDIR)/wait.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h
+$(DEFDIR)/wait.o: execute_cmd.h
+$(DEFDIR)/wait.o: ${BASHINCDIR}/chartypes.h pathnames.h
+
+$(DEFDIR)/complete.o: config.h shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h
+$(DEFDIR)/complete.o: unwind_prot.h variables.h arrayfunc.h conftypes.h
+$(DEFDIR)/complete.o: bashtypes.h bashansi.h ${BASHINCDIR}/ansi_stdlib.h
+$(DEFDIR)/complete.o: builtins.h pathnames.h general.h
+$(DEFDIR)/complete.o: bashtypes.h ${BASHINCDIR}/chartypes.h xmalloc.h
+$(DEFDIR)/complete.o: pcomplete.h
+$(DEFDIR)/complete.o: ${DEFSRC}/common.h ${DEFSRC}/bashgetopt.h
+$(DEFDIR)/mapfile.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h
+$(DEFDIR)/mapfile.o: quit.h dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h
+$(DEFDIR)/mapfile.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h 
+$(DEFDIR)/mapfile.o: pathnames.h
 
 # libintl dependencies
-builtins/bind.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
-builtins/break.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
-builtins/caller.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
-builtins/cd.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
-builtins/common.c: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
-builtins/complete.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
-builtins/declare.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
-builtins/enable.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
-builtins/evalfile.c: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
-builtins/exec.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
-builtins/exit.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
-builtins/fc.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
-builtins/fg_bg.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
-builtins/getopt.c: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
-builtins/hash.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
-builtins/help.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
-builtins/history.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
-builtins/inlib.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
-builtins/jobs.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
-builtins/kill.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
-builtins/let.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
-builtins/mapfile.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
-builtins/mkbuiltins.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
-builtins/printf.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
-builtins/pushd.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
-builtins/read.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
-builtins/return.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
-builtins/set.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
-builtins/setattr.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
-builtins/shift.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
-builtins/shopt.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
-builtins/source.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
-builtins/suspend.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
-builtins/type.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
-builtins/ulimit.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
-builtins/umask.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
+$(DEFDIR)/bind.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
+$(DEFDIR)/break.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
+$(DEFDIR)/caller.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
+$(DEFDIR)/cd.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
+$(DEFDIR)/common.c: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
+$(DEFDIR)/complete.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
+$(DEFDIR)/declare.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
+$(DEFDIR)/enable.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
+$(DEFDIR)/evalfile.c: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
+$(DEFDIR)/exec.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
+$(DEFDIR)/exit.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
+$(DEFDIR)/fc.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
+$(DEFDIR)/fg_bg.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
+$(DEFDIR)/getopt.c: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
+$(DEFDIR)/hash.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
+$(DEFDIR)/help.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
+$(DEFDIR)/history.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
+$(DEFDIR)/inlib.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
+$(DEFDIR)/jobs.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
+$(DEFDIR)/kill.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
+$(DEFDIR)/let.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
+$(DEFDIR)/mapfile.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
+$(DEFDIR)/mkbuiltins.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
+$(DEFDIR)/printf.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
+$(DEFDIR)/pushd.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
+$(DEFDIR)/read.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
+$(DEFDIR)/return.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
+$(DEFDIR)/set.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
+$(DEFDIR)/setattr.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
+$(DEFDIR)/shift.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
+$(DEFDIR)/shopt.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
+$(DEFDIR)/source.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
+$(DEFDIR)/suspend.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
+$(DEFDIR)/type.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
+$(DEFDIR)/ulimit.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
+$(DEFDIR)/umask.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
 
 # builtin library dependencies
-builtins/bind.o: $(RL_LIBSRC)/chardefs.h $(RL_LIBSRC)/readline.h
-builtins/bind.o: $(RL_LIBSRC)/keymaps.h $(RL_LIBSRC)/rlstdc.h
-
-builtins/common.o: $(HIST_LIBSRC)/history.h $(RL_LIBSRC)/rlstdc.h
-builtins/evalfile.o: $(HIST_LIBSRC)/history.h $(RL_LIBSRC)/rlstdc.h
-builtins/evalstring.o: $(HIST_LIBSRC)/history.h $(RL_LIBSRC)/rlstdc.h
-builtins/bind.o: $(HIST_LIBSRC)/history.h $(RL_LIBSRC)/rlstdc.h
-builtins/fc.o: $(HIST_LIBSRC)/history.h $(RL_LIBSRC)/rlstdc.h
-builtins/history.o: $(HIST_LIBSRC)/history.h $(RL_LIBSRC)/rlstdc.h
-builtins/shopt.o: $(HIST_LIBSRC)/history.h $(RL_LIBSRC)/rlstdc.h
-
-builtins/common.o: $(TILDE_LIBSRC)/tilde.h
-builtins/cd.o: $(TILDE_LIBSRC)/tilde.h 
-
-builtins/alias.o: $(DEFSRC)/alias.def
-builtins/bind.o: $(DEFSRC)/bind.def
-builtins/break.o: $(DEFSRC)/break.def
-builtins/builtin.o: $(DEFSRC)/builtin.def
-builtins/caller.o: $(DEFSRC)/caller.def
-builtins/cd.o: $(DEFSRC)/cd.def
-builtins/colon.o: $(DEFSRC)/colon.def
-builtins/command.o: $(DEFSRC)/command.def
-builtins/complete.o: $(DEFSRC)/complete.def
-builtins/declare.o: $(DEFSRC)/declare.def
-builtins/echo.o: $(DEFSRC)/echo.def
-builtins/enable.o: $(DEFSRC)/enable.def
-builtins/eval.o: $(DEFSRC)/eval.def
-builtins/exec.o: $(DEFSRC)/exec.def
-builtins/exit.o: $(DEFSRC)/exit.def
-builtins/fc.o: $(DEFSRC)/fc.def
-builtins/fg_bg.o: $(DEFSRC)/fg_bg.def
-builtins/getopts.o: $(DEFSRC)/getopts.def
-builtins/hash.o: $(DEFSRC)/hash.def
-builtins/help.o: $(DEFSRC)/help.def
-builtins/history.o: $(DEFSRC)/history.def
-builtins/inlib.o: $(DEFSRC)/inlib.def
-builtins/jobs.o: $(DEFSRC)/jobs.def
-builtins/kill.o: $(DEFSRC)/kill.def
-builtins/let.o: $(DEFSRC)/let.def
-builtins/mapfile.o: $(DEFSRC)/mapfile.def
-builtins/pushd.o: $(DEFSRC)/pushd.def
-builtins/read.o: $(DEFSRC)/read.def
-builtins/reserved.o: $(DEFSRC)/reserved.def
-builtins/return.o: $(DEFSRC)/return.def
-builtins/set.o: $(DEFSRC)/set.def
-builtins/setattr.o: $(DEFSRC)/setattr.def
-builtins/shift.o: $(DEFSRC)/shift.def
-builtins/shopt.o: $(DEFSRC)/shopt.def
-builtins/source.o: $(DEFSRC)/source.def
-builtins/suspend.o: $(DEFSRC)/suspend.def
-builtins/test.o: $(DEFSRC)/test.def
-builtins/times.o: $(DEFSRC)/times.def
-builtins/trap.o: $(DEFSRC)/trap.def
-builtins/type.o: $(DEFSRC)/type.def
-builtins/ulimit.o: $(DEFSRC)/ulimit.def
-builtins/umask.o: $(DEFSRC)/umask.def
-builtins/wait.o: $(DEFSRC)/wait.def
+$(DEFDIR)/bind.o: $(RL_LIBSRC)/chardefs.h $(RL_LIBSRC)/readline.h
+$(DEFDIR)/bind.o: $(RL_LIBSRC)/keymaps.h $(RL_LIBSRC)/rlstdc.h
+
+$(DEFDIR)/common.o: $(HIST_LIBSRC)/history.h $(RL_LIBSRC)/rlstdc.h
+$(DEFDIR)/evalfile.o: $(HIST_LIBSRC)/history.h $(RL_LIBSRC)/rlstdc.h
+$(DEFDIR)/evalstring.o: $(HIST_LIBSRC)/history.h $(RL_LIBSRC)/rlstdc.h
+$(DEFDIR)/bind.o: $(HIST_LIBSRC)/history.h $(RL_LIBSRC)/rlstdc.h
+$(DEFDIR)/fc.o: $(HIST_LIBSRC)/history.h $(RL_LIBSRC)/rlstdc.h
+$(DEFDIR)/history.o: $(HIST_LIBSRC)/history.h $(RL_LIBSRC)/rlstdc.h
+$(DEFDIR)/shopt.o: $(HIST_LIBSRC)/history.h $(RL_LIBSRC)/rlstdc.h
+
+$(DEFDIR)/common.o: $(TILDE_LIBSRC)/tilde.h
+$(DEFDIR)/cd.o: $(TILDE_LIBSRC)/tilde.h 
+
+$(DEFDIR)/alias.o: $(DEFSRC)/alias.def
+$(DEFDIR)/bind.o: $(DEFSRC)/bind.def
+$(DEFDIR)/break.o: $(DEFSRC)/break.def
+$(DEFDIR)/builtin.o: $(DEFSRC)/builtin.def
+$(DEFDIR)/caller.o: $(DEFSRC)/caller.def
+$(DEFDIR)/cd.o: $(DEFSRC)/cd.def
+$(DEFDIR)/colon.o: $(DEFSRC)/colon.def
+$(DEFDIR)/command.o: $(DEFSRC)/command.def
+$(DEFDIR)/complete.o: $(DEFSRC)/complete.def
+$(DEFDIR)/declare.o: $(DEFSRC)/declare.def
+$(DEFDIR)/echo.o: $(DEFSRC)/echo.def
+$(DEFDIR)/enable.o: $(DEFSRC)/enable.def
+$(DEFDIR)/eval.o: $(DEFSRC)/eval.def
+$(DEFDIR)/exec.o: $(DEFSRC)/exec.def
+$(DEFDIR)/exit.o: $(DEFSRC)/exit.def
+$(DEFDIR)/fc.o: $(DEFSRC)/fc.def
+$(DEFDIR)/fg_bg.o: $(DEFSRC)/fg_bg.def
+$(DEFDIR)/getopts.o: $(DEFSRC)/getopts.def
+$(DEFDIR)/hash.o: $(DEFSRC)/hash.def
+$(DEFDIR)/help.o: $(DEFSRC)/help.def
+$(DEFDIR)/history.o: $(DEFSRC)/history.def
+$(DEFDIR)/inlib.o: $(DEFSRC)/inlib.def
+$(DEFDIR)/jobs.o: $(DEFSRC)/jobs.def
+$(DEFDIR)/kill.o: $(DEFSRC)/kill.def
+$(DEFDIR)/let.o: $(DEFSRC)/let.def
+$(DEFDIR)/mapfile.o: $(DEFSRC)/mapfile.def
+$(DEFDIR)/pushd.o: $(DEFSRC)/pushd.def
+$(DEFDIR)/read.o: $(DEFSRC)/read.def
+$(DEFDIR)/reserved.o: $(DEFSRC)/reserved.def
+$(DEFDIR)/return.o: $(DEFSRC)/return.def
+$(DEFDIR)/set.o: $(DEFSRC)/set.def
+$(DEFDIR)/setattr.o: $(DEFSRC)/setattr.def
+$(DEFDIR)/shift.o: $(DEFSRC)/shift.def
+$(DEFDIR)/shopt.o: $(DEFSRC)/shopt.def
+$(DEFDIR)/source.o: $(DEFSRC)/source.def
+$(DEFDIR)/suspend.o: $(DEFSRC)/suspend.def
+$(DEFDIR)/test.o: $(DEFSRC)/test.def
+$(DEFDIR)/times.o: $(DEFSRC)/times.def
+$(DEFDIR)/trap.o: $(DEFSRC)/trap.def
+$(DEFDIR)/type.o: $(DEFSRC)/type.def
+$(DEFDIR)/ulimit.o: $(DEFSRC)/ulimit.def
+$(DEFDIR)/umask.o: $(DEFSRC)/umask.def
+$(DEFDIR)/wait.o: $(DEFSRC)/wait.def
index 56b3fe9fd3ce2c87ff2e838573fb7e0bd159a99f..793e74fef28766db37712adb851cc3a673e2fe7a 100644 (file)
@@ -157,12 +157,12 @@ all: info dvi text html pdf $(MAN2HTML)
 nodvi: ps info text html
 everything: all ps
 
-PSFILES = bash.ps bashbug.ps article.ps builtins.ps rbash.ps 
+PSFILES = bash.ps article.ps 
 DVIFILES = bashref.dvi bashref.ps
 INFOFILES = bashref.info bash.info
 MAN0FILES = bash.0 bashbug.0 builtins.0 rbash.0
 HTMLFILES = bashref.html bash.html
-PDFFILES = bash.pdf bashref.pdf article.pdf rose94.pdf
+PDFFILES = bash.pdf bashref.pdf builtins.pdf rbash.pdf article.pdf rose94.pdf
 
 ps: ${PSFILES}
 dvi: ${DVIFILES}
index 53c142c27d37b11423a92a523dfe402219ae4c4a..8d640769289a109589f9efad5b16b4f0598e90b4 100644 (file)
@@ -3,7 +3,7 @@
 </HEAD>
 <BODY><TABLE WIDTH=100%>
 <TR>
-<TH ALIGN=LEFT width=33%>BASH(1)<TH ALIGN=CENTER width=33%>2024 October 20<TH ALIGN=RIGHT width=33%>BASH(1)
+<TH ALIGN=LEFT width=33%>BASH(1)<TH ALIGN=CENTER width=33%>2024 October 23<TH ALIGN=RIGHT width=33%>BASH(1)
 </TR>
 </TABLE>
 <BR><A HREF="#index">Index</A>
@@ -7307,8 +7307,8 @@ to all jobs when an interactive login shell exits.
 <P>
 
 If <B>bash</B> 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 command completes.
+for which a trap has been set,
+it will not execute the trap until the command completes.
 If <B>bash</B> is waiting for an asynchronous command via the <B>wait</B>
 builtin,
 and it receives a signal for which a trap has been set,
@@ -7330,6 +7330,16 @@ same process group as the terminal, and <B>^C</B> sends
 
 </FONT>
 to all processes in that process group.
+Since <B>bash</B> does not enable job control by default when the
+shell is not interactive,
+this scenario is most common in non-interactive shells.
+<P>
+
+When job control is enabled, and <B>bash</B> is waiting for a foreground
+command to complete, the shell does not receive keyboard-generated
+signals, because it is not in the same process group as the terminal.
+This scenario is most common in interactive shells, where <B>bash</B>
+attempts to enable job control by default.
 See
 <FONT SIZE=-1><B>JOB CONTROL</B>
 
@@ -7337,7 +7347,7 @@ See
 below for more information about process groups.
 <P>
 
-When <B>bash</B> is running without job control enabled and receives
+When job control is not enabled, and <B>bash</B> receives
 <FONT SIZE=-1><B>SIGINT</B>
 
 </FONT>
@@ -7353,7 +7363,11 @@ If the command terminates due to the
 
 </FONT>
 <B>bash</B> concludes
-that the user meant to end the entire script, and acts on the
+that the user meant to send the
+<FONT SIZE=-1><B>SIGINT</B>
+
+</FONT>
+to the shell as well, and acts on the
 <FONT SIZE=-1><B>SIGINT</B>
 
 </FONT>
@@ -7361,7 +7375,9 @@ that the user meant to end the entire script, and acts on the
 <FONT SIZE=-1><B>SIGINT</B>
 
 </FONT>
-trap or exiting itself);
+trap,
+exiting a non-interactive shell,
+or returning to the top level to read a new command).
 <DT>2.<DD>
 If the command does not terminate due to
 <FONT SIZE=-1><B>SIGINT</B>,
@@ -7392,6 +7408,30 @@ as it does with any other trapped signal it
 receives while it is waiting for the foreground command to
 complete, for compatibility.
 </DL>
+<P>
+
+When job control is enabled, <B>bash</B> does not receive keyboard-generated
+signals such as
+<FONT SIZE=-1><B>SIGINT</B>
+
+</FONT>
+while it is waiting for a foreground command.
+An interactive shell does not pay attention to the
+<FONT SIZE=-1><B>SIGINT</B>,
+
+</FONT>
+even if the foreground command terminates as a result, other than noting
+its exit status.
+If the shell is not interactive, and
+the foreground command terminates due to the
+<FONT SIZE=-1><B>SIGINT</B>,
+
+</FONT>
+<B>bash</B> pretends it received the
+<FONT SIZE=-1><B>SIGINT</B>
+
+</FONT>
+itself (scenario 1 above), for compatibility.
 <A NAME="lbCE">&nbsp;</A>
 <H3>JOB CONTROL</H3>
 
@@ -16357,7 +16397,7 @@ Array variables may not (yet) be exported.
 <HR>
 <TABLE WIDTH=100%>
 <TR>
-<TH ALIGN=LEFT width=33%>GNU Bash 5.3<TH ALIGN=CENTER width=33%>2024 October 20<TH ALIGN=RIGHT width=33%>BASH(1)
+<TH ALIGN=LEFT width=33%>GNU Bash 5.3<TH ALIGN=CENTER width=33%>2024 October 23<TH ALIGN=RIGHT width=33%>BASH(1)
 </TR>
 </TABLE>
 <HR>
@@ -16466,7 +16506,7 @@ Array variables may not (yet) be exported.
 <DT><A HREF="#lbDJ">BUGS</A><DD>
 </DL>
 <HR>
-This document was created by man2html from /usr/local/src/bash/bash-20241018/doc/bash.1.<BR>
-Time: 20 October 2024 12:37:36 EDT
+This document was created by man2html from /usr/local/src/bash/bash-20241031/doc/bash.1.<BR>
+Time: 01 November 2024 18:25:05 EDT
 </BODY>
 </HTML>
diff --git a/doc/bashbug.ps b/doc/bashbug.ps
deleted file mode 100644 (file)
index 55fe45c..0000000
+++ /dev/null
@@ -1,297 +0,0 @@
-%!PS-Adobe-3.0
-%%Creator: groff version 1.22.4
-%%CreationDate: Tue Jan 11 16:04:43 2022
-%%DocumentNeededResources: font Times-Roman
-%%+ font Times-Bold
-%%+ font Times-Italic
-%%DocumentSuppliedResources: procset grops 1.22 4
-%%Pages: 1
-%%PageOrder: Ascend
-%%DocumentMedia: Default 612 792 0 () ()
-%%Orientation: Portrait
-%%EndComments
-%%BeginDefaults
-%%PageMedia: Default
-%%EndDefaults
-%%BeginProlog
-%%BeginResource: procset grops 1.22 4
-%!PS-Adobe-3.0 Resource-ProcSet
-/setpacking where{
-pop
-currentpacking
-true setpacking
-}if
-/grops 120 dict dup begin
-/SC 32 def
-/A/show load def
-/B{0 SC 3 -1 roll widthshow}bind def
-/C{0 exch ashow}bind def
-/D{0 exch 0 SC 5 2 roll awidthshow}bind def
-/E{0 rmoveto show}bind def
-/F{0 rmoveto 0 SC 3 -1 roll widthshow}bind def
-/G{0 rmoveto 0 exch ashow}bind def
-/H{0 rmoveto 0 exch 0 SC 5 2 roll awidthshow}bind def
-/I{0 exch rmoveto show}bind def
-/J{0 exch rmoveto 0 SC 3 -1 roll widthshow}bind def
-/K{0 exch rmoveto 0 exch ashow}bind def
-/L{0 exch rmoveto 0 exch 0 SC 5 2 roll awidthshow}bind def
-/M{rmoveto show}bind def
-/N{rmoveto 0 SC 3 -1 roll widthshow}bind def
-/O{rmoveto 0 exch ashow}bind def
-/P{rmoveto 0 exch 0 SC 5 2 roll awidthshow}bind def
-/Q{moveto show}bind def
-/R{moveto 0 SC 3 -1 roll widthshow}bind def
-/S{moveto 0 exch ashow}bind def
-/T{moveto 0 exch 0 SC 5 2 roll awidthshow}bind def
-/SF{
-findfont exch
-[exch dup 0 exch 0 exch neg 0 0]makefont
-dup setfont
-[exch/setfont cvx]cvx bind def
-}bind def
-/MF{
-findfont
-[5 2 roll
-0 3 1 roll
-neg 0 0]makefont
-dup setfont
-[exch/setfont cvx]cvx bind def
-}bind def
-/level0 0 def
-/RES 0 def
-/PL 0 def
-/LS 0 def
-/MANUAL{
-statusdict begin/manualfeed true store end
-}bind def
-/PLG{
-gsave newpath clippath pathbbox grestore
-exch pop add exch pop
-}bind def
-/BP{
-/level0 save def
-1 setlinecap
-1 setlinejoin
-DEFS/BPhook known{DEFS begin BPhook end}if
-72 RES div dup scale
-LS{
-90 rotate
-}{
-0 PL translate
-}ifelse
-1 -1 scale
-}bind def
-/EP{
-level0 restore
-showpage
-}def
-/DA{
-newpath arcn stroke
-}bind def
-/SN{
-transform
-.25 sub exch .25 sub exch
-round .25 add exch round .25 add exch
-itransform
-}bind def
-/DL{
-SN
-moveto
-SN
-lineto stroke
-}bind def
-/DC{
-newpath 0 360 arc closepath
-}bind def
-/TM matrix def
-/DE{
-TM currentmatrix pop
-translate scale newpath 0 0 .5 0 360 arc closepath
-TM setmatrix
-}bind def
-/RC/rcurveto load def
-/RL/rlineto load def
-/ST/stroke load def
-/MT/moveto load def
-/CL/closepath load def
-/Fr{
-setrgbcolor fill
-}bind def
-/setcmykcolor where{
-pop
-/Fk{
-setcmykcolor fill
-}bind def
-}if
-/Fg{
-setgray fill
-}bind def
-/FL/fill load def
-/LW/setlinewidth load def
-/Cr/setrgbcolor load def
-/setcmykcolor where{
-pop
-/Ck/setcmykcolor load def
-}if
-/Cg/setgray load def
-/RE{
-findfont
-dup maxlength 1 index/FontName known not{1 add}if dict begin
-{
-1 index/FID ne
-2 index/UniqueID ne
-and
-{def}{pop pop}ifelse
-}forall
-/Encoding exch def
-dup/FontName exch def
-currentdict end definefont pop
-}bind def
-/DEFS 0 def
-/EBEGIN{
-moveto
-DEFS begin
-}bind def
-/EEND/end load def
-/CNT 0 def
-/level1 0 def
-/PBEGIN{
-/level1 save def
-translate
-div 3 1 roll div exch scale
-neg exch neg exch translate
-0 setgray
-0 setlinecap
-1 setlinewidth
-0 setlinejoin
-10 setmiterlimit
-[]0 setdash
-/setstrokeadjust where{
-pop
-false setstrokeadjust
-}if
-/setoverprint where{
-pop
-false setoverprint
-}if
-newpath
-/CNT countdictstack def
-userdict begin
-/showpage{}def
-/setpagedevice{}def
-mark
-}bind def
-/PEND{
-cleartomark
-countdictstack CNT sub{end}repeat
-level1 restore
-}bind def
-end def
-/setpacking where{
-pop
-setpacking
-}if
-%%EndResource
-%%EndProlog
-%%BeginSetup
-%%BeginFeature: *PageSize Default
-<< /PageSize [ 612 792 ] /ImagingBBox null >> setpagedevice
-%%EndFeature
-%%IncludeResource: font Times-Roman
-%%IncludeResource: font Times-Bold
-%%IncludeResource: font Times-Italic
-grops begin/DEFS 1 dict def DEFS begin/u{.001 mul}bind def end/RES 72
-def/PL 792 def/LS false def/ENC0[/asciicircum/asciitilde/Scaron/Zcaron
-/scaron/zcaron/Ydieresis/trademark/quotesingle/Euro/.notdef/.notdef
-/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
-/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
-/.notdef/.notdef/space/exclam/quotedbl/numbersign/dollar/percent
-/ampersand/quoteright/parenleft/parenright/asterisk/plus/comma/hyphen
-/period/slash/zero/one/two/three/four/five/six/seven/eight/nine/colon
-/semicolon/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O
-/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright/circumflex
-/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y
-/z/braceleft/bar/braceright/tilde/.notdef/quotesinglbase/guillemotleft
-/guillemotright/bullet/florin/fraction/perthousand/dagger/daggerdbl
-/endash/emdash/ff/fi/fl/ffi/ffl/dotlessi/dotlessj/grave/hungarumlaut
-/dotaccent/breve/caron/ring/ogonek/quotedblleft/quotedblright/oe/lslash
-/quotedblbase/OE/Lslash/.notdef/exclamdown/cent/sterling/currency/yen
-/brokenbar/section/dieresis/copyright/ordfeminine/guilsinglleft
-/logicalnot/minus/registered/macron/degree/plusminus/twosuperior
-/threesuperior/acute/mu/paragraph/periodcentered/cedilla/onesuperior
-/ordmasculine/guilsinglright/onequarter/onehalf/threequarters
-/questiondown/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE
-/Ccedilla/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex
-/Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis
-/multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute/Thorn
-/germandbls/agrave/aacute/acircumflex/atilde/adieresis/aring/ae/ccedilla
-/egrave/eacute/ecircumflex/edieresis/igrave/iacute/icircumflex/idieresis
-/eth/ntilde/ograve/oacute/ocircumflex/otilde/odieresis/divide/oslash
-/ugrave/uacute/ucircumflex/udieresis/yacute/thorn/ydieresis]def
-/Times-Italic@0 ENC0/Times-Italic RE/Times-Bold@0 ENC0/Times-Bold RE
-/Times-Roman@0 ENC0/Times-Roman RE
-%%EndSetup
-%%Page: 1 1
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SHB).35 E 116.13
-(UG\(1\) General)-.1 F(Commands Manual)2.5 E -.35(BA)118.63 G(SHB).35 E
-(UG\(1\))-.1 E/F1 10.95/Times-Bold@0 SF -.219(NA)72 84 S(ME).219 E F0
-(bashb)108 96 Q(ug \255 report a b)-.2 E(ug in bash)-.2 E F1(SYNOPSIS)72
-112.8 Q/F2 10/Times-Bold@0 SF(bashb)108 124.8 Q(ug)-.2 E F0([)2.5 E/F3
-10/Times-Italic@0 SF(--ver)A(sion)-.1 E F0 2.5(][)C F3(--help)-2.5 E F0
-2.5(][)C F3(email-addr)-2.5 E(ess)-.37 E F0(])A F1(DESCRIPTION)72 141.6
-Q F2(bashb)108 153.6 Q(ug)-.2 E F0 .446
-(is a shell script to help the user compose and mail b)2.947 F .446
-(ug reports concerning bash in a standard for)-.2 F(-)-.2 E(mat.)108
-165.6 Q F2(bashb)5.961 E(ug)-.2 E F0(in)3.461 E -.2(vo)-.4 G -.1(ke).2 G
-3.461(st).1 G .962(he editor speci\214ed by the en)-3.461 F .962
-(vironment v)-.4 F(ariable)-.25 E/F4 9/Times-Bold@0 SF(EDIT)3.462 E(OR)
--.162 E F0 .962(on a temporary cop)3.212 F 3.462(yo)-.1 G(f)-3.462 E
-.374(the b)108 177.6 R .374(ug report format outline. The user must \
-\214ll in the appropriate \214elds and e)-.2 F .374(xit the editor)-.15
-F(.)-.55 E F2(bashb)5.373 E(ug)-.2 E F0(then)2.873 E 1.141
-(mails the completed report to)108 189.6 R F3 -.2(bu)3.641 G
-(g-bash@gnu.or).2 E(g)-.37 E F0 3.641(,o)C(r)-3.641 E F3(email-addr)
-3.641 E(ess)-.37 E F0 6.141(.I)C 3.641(ft)-6.141 G 1.142
-(he report cannot be mailed, it is)-3.641 F(sa)108 201.6 Q -.15(ve)-.2 G
-2.5(di).15 G 2.5(nt)-2.5 G(he \214le)-2.5 E F3(dead.bashb)2.5 E(ug)-.2 E
-F0(in the in)2.5 E -.2(vo)-.4 G(king user').2 E 2.5(sh)-.55 G
-(ome directory)-2.5 E(.)-.65 E .354(The b)108 218.4 R .354
-(ug report format outline consists of se)-.2 F -.15(ve)-.25 G .353
-(ral sections.).15 F .353(The \214rst section pro)5.353 F .353
-(vides information about the)-.15 F .37
-(machine, operating system, the bash v)108 230.4 R .371
-(ersion, and the compilation en)-.15 F 2.871(vironment. The)-.4 F .371
-(second section should)2.871 F .209
-(be \214lled in with a description of the b)108 242.4 R 2.709(ug. The)
--.2 F .208(third section should be a description of ho)2.709 F 2.708(wt)
--.25 G 2.708(or)-2.708 G .208(eproduce the)-2.708 F -.2(bu)108 254.4 S
-2.5(g. The).2 F(optional fourth section is for a proposed \214x.)2.5 E
-(Fix)5 E(es are encouraged.)-.15 E F1(ENVIR)72 271.2 Q(ONMENT)-.329 E F2
-(bashb)108 283.2 Q(ug)-.2 E F0(will utilize the follo)2.5 E(wing en)-.25
-E(vironment v)-.4 E(ariables if the)-.25 E 2.5(ye)-.15 G(xist:)-2.65 E
-F2(EDIT)108 300 Q(OR)-.18 E F0 .327(Speci\214es the preferred editor)144
-312 R 2.827(.I)-.55 G(f)-2.827 E F4(EDIT)2.827 E(OR)-.162 E F0 .327
-(is not set,)2.577 F F2(bashb)2.827 E(ug)-.2 E F0 .328
-(attempts to locate a number of alter)2.827 F(-)-.2 E(nati)144 324 Q
-1.925 -.15(ve e)-.25 H 1.625(ditors, including).15 F F2(emacs)4.125 E F0
-6.625(.I)C(f)-6.625 E F2(bashb)4.125 E(ug)-.2 E F0 1.625
-(cannot locate an)4.125 F 4.125(yo)-.15 G 4.125(ft)-4.125 G 1.625
-(he alternati)-4.125 F 1.925 -.15(ve e)-.25 H 1.625(ditors, it at-).15 F
-(tempts to e)144 336 Q -.15(xe)-.15 G(cute).15 E F2(vi)2.5 E F0(.)A F2
-(HOME)108 352.8 Q F0(Directory in which the f)144 364.8 Q(ailed b)-.1 E
-(ug report is sa)-.2 E -.15(ve)-.2 G 2.5(di).15 G 2.5(ft)-2.5 G
-(he mail f)-2.5 E(ails.)-.1 E F2(TMPDIR)108 381.6 Q F0
-(Directory in which to create temporary \214les and directories.)144
-393.6 Q F1(SEE ALSO)72 410.4 Q F3(bash)108 422.4 Q F0(\(1\))A F1 -.548
-(AU)72 439.2 S(THORS).548 E F0(Brian F)108 451.2 Q(ox, Free Softw)-.15 E
-(are F)-.1 E(oundation)-.15 E(bfox@gnu.or)108 463.2 Q(g)-.18 E
-(Chet Rame)108 480 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 492 Q(GNU Bash 5.2)72 768 Q(2020 August 1)145.395 E(1)199.555 E 0 Cg
-EP
-%%Trailer
-end
-%%EOF
index f3b63cc10b36eb5a754e9cfd9c5dbc60f22305c2..4bee76a288e6c3d278e6c0901e3ff8cc6e95983e 100644 (file)
 @xrdef{Shell Builtin Commands-snt}{Chapter@tie 4}
 @xrdef{Bourne Shell Builtins-title}{Bourne Shell Builtins}
 @xrdef{Bourne Shell Builtins-snt}{Section@tie 4.1}
-@xrdef{Shell Builtin Commands-pg}{50}
-@xrdef{Bourne Shell Builtins-pg}{50}
+@xrdef{Shell Builtin Commands-pg}{51}
+@xrdef{Bourne Shell Builtins-pg}{51}
 @xrdef{Bash Builtins-title}{Bash Builtin Commands}
 @xrdef{Bash Builtins-snt}{Section@tie 4.2}
-@xrdef{Bash Builtins-pg}{59}
+@xrdef{Bash Builtins-pg}{60}
 @xrdef{Modifying Shell Behavior-title}{Modifying Shell Behavior}
 @xrdef{Modifying Shell Behavior-snt}{Section@tie 4.3}
 @xrdef{The Set Builtin-title}{The Set Builtin}
 @xrdef{The Set Builtin-snt}{Section@tie 4.3.1}
-@xrdef{Modifying Shell Behavior-pg}{71}
-@xrdef{The Set Builtin-pg}{71}
+@xrdef{Modifying Shell Behavior-pg}{72}
+@xrdef{The Set Builtin-pg}{72}
 @xrdef{The Shopt Builtin-title}{The Shopt Builtin}
 @xrdef{The Shopt Builtin-snt}{Section@tie 4.3.2}
-@xrdef{The Shopt Builtin-pg}{76}
+@xrdef{The Shopt Builtin-pg}{77}
 @xrdef{Special Builtins-title}{Special Builtins}
 @xrdef{Special Builtins-snt}{Section@tie 4.4}
-@xrdef{Special Builtins-pg}{82}
+@xrdef{Special Builtins-pg}{83}
 @xrdef{Shell Variables-title}{Shell Variables}
 @xrdef{Shell Variables-snt}{Chapter@tie 5}
 @xrdef{Bourne Shell Variables-title}{Bourne Shell Variables}
 @xrdef{Bourne Shell Variables-snt}{Section@tie 5.1}
 @xrdef{Bash Variables-title}{Bash Variables}
 @xrdef{Bash Variables-snt}{Section@tie 5.2}
-@xrdef{Shell Variables-pg}{84}
-@xrdef{Bourne Shell Variables-pg}{84}
-@xrdef{Bash Variables-pg}{85}
+@xrdef{Shell Variables-pg}{85}
+@xrdef{Bourne Shell Variables-pg}{85}
+@xrdef{Bash Variables-pg}{86}
 @xrdef{Bash Features-title}{Bash Features}
 @xrdef{Bash Features-snt}{Chapter@tie 6}
 @xrdef{Invoking Bash-title}{Invoking Bash}
 @xrdef{Invoking Bash-snt}{Section@tie 6.1}
-@xrdef{Bash Features-pg}{98}
-@xrdef{Invoking Bash-pg}{98}
+@xrdef{Bash Features-pg}{99}
+@xrdef{Invoking Bash-pg}{99}
 @xrdef{Bash Startup Files-title}{Bash Startup Files}
 @xrdef{Bash Startup Files-snt}{Section@tie 6.2}
-@xrdef{Bash Startup Files-pg}{100}
+@xrdef{Bash Startup Files-pg}{101}
 @xrdef{Interactive Shells-title}{Interactive Shells}
 @xrdef{Interactive Shells-snt}{Section@tie 6.3}
 @xrdef{What is an Interactive Shell?-title}{What is an Interactive Shell?}
 @xrdef{Is this Shell Interactive?-snt}{Section@tie 6.3.2}
 @xrdef{Interactive Shell Behavior-title}{Interactive Shell Behavior}
 @xrdef{Interactive Shell Behavior-snt}{Section@tie 6.3.3}
-@xrdef{Interactive Shells-pg}{102}
-@xrdef{What is an Interactive Shell?-pg}{102}
-@xrdef{Is this Shell Interactive?-pg}{102}
-@xrdef{Interactive Shell Behavior-pg}{102}
+@xrdef{Interactive Shells-pg}{103}
+@xrdef{What is an Interactive Shell?-pg}{103}
+@xrdef{Is this Shell Interactive?-pg}{103}
+@xrdef{Interactive Shell Behavior-pg}{103}
 @xrdef{Bash Conditional Expressions-title}{Bash Conditional Expressions}
 @xrdef{Bash Conditional Expressions-snt}{Section@tie 6.4}
-@xrdef{Bash Conditional Expressions-pg}{103}
+@xrdef{Bash Conditional Expressions-pg}{104}
 @xrdef{Shell Arithmetic-title}{Shell Arithmetic}
 @xrdef{Shell Arithmetic-snt}{Section@tie 6.5}
-@xrdef{Shell Arithmetic-pg}{105}
+@xrdef{Shell Arithmetic-pg}{106}
 @xrdef{Aliases-title}{Aliases}
 @xrdef{Aliases-snt}{Section@tie 6.6}
 @xrdef{Arrays-title}{Arrays}
 @xrdef{Arrays-snt}{Section@tie 6.7}
-@xrdef{Aliases-pg}{107}
-@xrdef{Arrays-pg}{108}
+@xrdef{Aliases-pg}{108}
+@xrdef{Arrays-pg}{109}
 @xrdef{The Directory Stack-title}{The Directory Stack}
 @xrdef{The Directory Stack-snt}{Section@tie 6.8}
 @xrdef{Directory Stack Builtins-title}{Directory Stack Builtins}
 @xrdef{Directory Stack Builtins-snt}{Section@tie 6.8.1}
-@xrdef{The Directory Stack-pg}{110}
-@xrdef{Directory Stack Builtins-pg}{110}
+@xrdef{The Directory Stack-pg}{111}
+@xrdef{Directory Stack Builtins-pg}{111}
 @xrdef{Controlling the Prompt-title}{Controlling the Prompt}
 @xrdef{Controlling the Prompt-snt}{Section@tie 6.9}
-@xrdef{Controlling the Prompt-pg}{111}
+@xrdef{Controlling the Prompt-pg}{112}
 @xrdef{The Restricted Shell-title}{The Restricted Shell}
 @xrdef{The Restricted Shell-snt}{Section@tie 6.10}
 @xrdef{Bash POSIX Mode-title}{Bash and POSIX}
 @xrdef{Bash POSIX Mode-snt}{Section@tie 6.11}
-@xrdef{The Restricted Shell-pg}{113}
-@xrdef{Bash POSIX Mode-pg}{114}
+@xrdef{The Restricted Shell-pg}{114}
+@xrdef{Bash POSIX Mode-pg}{115}
 @xrdef{Shell Compatibility Mode-title}{Shell Compatibility Mode}
 @xrdef{Shell Compatibility Mode-snt}{Section@tie 6.12}
-@xrdef{Shell Compatibility Mode-pg}{119}
+@xrdef{Shell Compatibility Mode-pg}{120}
 @xrdef{Job Control-title}{Job Control}
 @xrdef{Job Control-snt}{Chapter@tie 7}
 @xrdef{Job Control Basics-title}{Job Control Basics}
index b2d669ac8fd61a9289e1d38771e1e73de3c6047b..f01ba0c2a44dd18e29d193ac23e7f1e9037c0bb4 100644 (file)
@@ -1,52 +1,52 @@
-\entry{:}{50}{\code {:}}
-\entry{.}{50}{\code {.}}
-\entry{break}{51}{\code {break}}
-\entry{cd}{51}{\code {cd}}
-\entry{continue}{52}{\code {continue}}
-\entry{eval}{52}{\code {eval}}
-\entry{exec}{52}{\code {exec}}
-\entry{exit}{52}{\code {exit}}
-\entry{export}{52}{\code {export}}
-\entry{false}{53}{\code {false}}
-\entry{getopts}{53}{\code {getopts}}
-\entry{hash}{54}{\code {hash}}
-\entry{pwd}{54}{\code {pwd}}
-\entry{readonly}{54}{\code {readonly}}
-\entry{return}{55}{\code {return}}
-\entry{shift}{55}{\code {shift}}
-\entry{test}{55}{\code {test}}
-\entry{[}{55}{\code {[}}
-\entry{times}{57}{\code {times}}
-\entry{trap}{57}{\code {trap}}
-\entry{true}{58}{\code {true}}
-\entry{umask}{58}{\code {umask}}
-\entry{unset}{58}{\code {unset}}
-\entry{alias}{59}{\code {alias}}
-\entry{bind}{59}{\code {bind}}
-\entry{builtin}{61}{\code {builtin}}
-\entry{caller}{61}{\code {caller}}
-\entry{command}{61}{\code {command}}
-\entry{declare}{62}{\code {declare}}
-\entry{echo}{63}{\code {echo}}
-\entry{enable}{64}{\code {enable}}
-\entry{help}{65}{\code {help}}
-\entry{let}{65}{\code {let}}
-\entry{local}{65}{\code {local}}
-\entry{logout}{65}{\code {logout}}
-\entry{mapfile}{66}{\code {mapfile}}
-\entry{printf}{66}{\code {printf}}
-\entry{read}{67}{\code {read}}
-\entry{readarray}{69}{\code {readarray}}
-\entry{source}{69}{\code {source}}
-\entry{type}{69}{\code {type}}
-\entry{typeset}{70}{\code {typeset}}
-\entry{ulimit}{70}{\code {ulimit}}
-\entry{unalias}{71}{\code {unalias}}
-\entry{set}{71}{\code {set}}
-\entry{shopt}{76}{\code {shopt}}
-\entry{dirs}{110}{\code {dirs}}
-\entry{popd}{110}{\code {popd}}
-\entry{pushd}{111}{\code {pushd}}
+\entry{:}{51}{\code {:}}
+\entry{.}{51}{\code {.}}
+\entry{break}{52}{\code {break}}
+\entry{cd}{52}{\code {cd}}
+\entry{continue}{53}{\code {continue}}
+\entry{eval}{53}{\code {eval}}
+\entry{exec}{53}{\code {exec}}
+\entry{exit}{53}{\code {exit}}
+\entry{export}{53}{\code {export}}
+\entry{false}{54}{\code {false}}
+\entry{getopts}{54}{\code {getopts}}
+\entry{hash}{55}{\code {hash}}
+\entry{pwd}{55}{\code {pwd}}
+\entry{readonly}{55}{\code {readonly}}
+\entry{return}{56}{\code {return}}
+\entry{shift}{56}{\code {shift}}
+\entry{test}{56}{\code {test}}
+\entry{[}{56}{\code {[}}
+\entry{times}{58}{\code {times}}
+\entry{trap}{58}{\code {trap}}
+\entry{true}{59}{\code {true}}
+\entry{umask}{59}{\code {umask}}
+\entry{unset}{59}{\code {unset}}
+\entry{alias}{60}{\code {alias}}
+\entry{bind}{60}{\code {bind}}
+\entry{builtin}{62}{\code {builtin}}
+\entry{caller}{62}{\code {caller}}
+\entry{command}{62}{\code {command}}
+\entry{declare}{63}{\code {declare}}
+\entry{echo}{64}{\code {echo}}
+\entry{enable}{65}{\code {enable}}
+\entry{help}{66}{\code {help}}
+\entry{let}{66}{\code {let}}
+\entry{local}{66}{\code {local}}
+\entry{logout}{66}{\code {logout}}
+\entry{mapfile}{67}{\code {mapfile}}
+\entry{printf}{67}{\code {printf}}
+\entry{read}{68}{\code {read}}
+\entry{readarray}{70}{\code {readarray}}
+\entry{source}{70}{\code {source}}
+\entry{type}{70}{\code {type}}
+\entry{typeset}{71}{\code {typeset}}
+\entry{ulimit}{71}{\code {ulimit}}
+\entry{unalias}{72}{\code {unalias}}
+\entry{set}{72}{\code {set}}
+\entry{shopt}{77}{\code {shopt}}
+\entry{dirs}{111}{\code {dirs}}
+\entry{popd}{111}{\code {popd}}
+\entry{pushd}{112}{\code {pushd}}
 \entry{bg}{124}{\code {bg}}
 \entry{fg}{125}{\code {fg}}
 \entry{jobs}{125}{\code {jobs}}
index 589784483873d1102db129749a8765060966693d..971d4986d7fd65086ade280c00a3dd0b25557d05 100644 (file)
@@ -1,82 +1,82 @@
 \initial {.}
-\entry{\code {.}}{50}
+\entry{\code {.}}{51}
 \initial {:}
-\entry{\code {:}}{50}
+\entry{\code {:}}{51}
 \initial {[}
-\entry{\code {[}}{55}
+\entry{\code {[}}{56}
 \initial {A}
-\entry{\code {alias}}{59}
+\entry{\code {alias}}{60}
 \initial {B}
 \entry{\code {bg}}{124}
-\entry{\code {bind}}{59}
-\entry{\code {break}}{51}
-\entry{\code {builtin}}{61}
+\entry{\code {bind}}{60}
+\entry{\code {break}}{52}
+\entry{\code {builtin}}{62}
 \initial {C}
-\entry{\code {caller}}{61}
-\entry{\code {cd}}{51}
-\entry{\code {command}}{61}
+\entry{\code {caller}}{62}
+\entry{\code {cd}}{52}
+\entry{\code {command}}{62}
 \entry{\code {compgen}}{158}
 \entry{\code {complete}}{159}
 \entry{\code {compopt}}{162}
-\entry{\code {continue}}{52}
+\entry{\code {continue}}{53}
 \initial {D}
-\entry{\code {declare}}{62}
-\entry{\code {dirs}}{110}
+\entry{\code {declare}}{63}
+\entry{\code {dirs}}{111}
 \entry{\code {disown}}{126}
 \initial {E}
-\entry{\code {echo}}{63}
-\entry{\code {enable}}{64}
-\entry{\code {eval}}{52}
-\entry{\code {exec}}{52}
-\entry{\code {exit}}{52}
-\entry{\code {export}}{52}
+\entry{\code {echo}}{64}
+\entry{\code {enable}}{65}
+\entry{\code {eval}}{53}
+\entry{\code {exec}}{53}
+\entry{\code {exit}}{53}
+\entry{\code {export}}{53}
 \initial {F}
-\entry{\code {false}}{53}
+\entry{\code {false}}{54}
 \entry{\code {fc}}{166}
 \entry{\code {fg}}{125}
 \initial {G}
-\entry{\code {getopts}}{53}
+\entry{\code {getopts}}{54}
 \initial {H}
-\entry{\code {hash}}{54}
-\entry{\code {help}}{65}
+\entry{\code {hash}}{55}
+\entry{\code {help}}{66}
 \entry{\code {history}}{166}
 \initial {J}
 \entry{\code {jobs}}{125}
 \initial {K}
 \entry{\code {kill}}{125}
 \initial {L}
-\entry{\code {let}}{65}
-\entry{\code {local}}{65}
-\entry{\code {logout}}{65}
+\entry{\code {let}}{66}
+\entry{\code {local}}{66}
+\entry{\code {logout}}{66}
 \initial {M}
-\entry{\code {mapfile}}{66}
+\entry{\code {mapfile}}{67}
 \initial {P}
-\entry{\code {popd}}{110}
-\entry{\code {printf}}{66}
-\entry{\code {pushd}}{111}
-\entry{\code {pwd}}{54}
+\entry{\code {popd}}{111}
+\entry{\code {printf}}{67}
+\entry{\code {pushd}}{112}
+\entry{\code {pwd}}{55}
 \initial {R}
-\entry{\code {read}}{67}
-\entry{\code {readarray}}{69}
-\entry{\code {readonly}}{54}
-\entry{\code {return}}{55}
+\entry{\code {read}}{68}
+\entry{\code {readarray}}{70}
+\entry{\code {readonly}}{55}
+\entry{\code {return}}{56}
 \initial {S}
-\entry{\code {set}}{71}
-\entry{\code {shift}}{55}
-\entry{\code {shopt}}{76}
-\entry{\code {source}}{69}
+\entry{\code {set}}{72}
+\entry{\code {shift}}{56}
+\entry{\code {shopt}}{77}
+\entry{\code {source}}{70}
 \entry{\code {suspend}}{126}
 \initial {T}
-\entry{\code {test}}{55}
-\entry{\code {times}}{57}
-\entry{\code {trap}}{57}
-\entry{\code {true}}{58}
-\entry{\code {type}}{69}
-\entry{\code {typeset}}{70}
+\entry{\code {test}}{56}
+\entry{\code {times}}{58}
+\entry{\code {trap}}{58}
+\entry{\code {true}}{59}
+\entry{\code {type}}{70}
+\entry{\code {typeset}}{71}
 \initial {U}
-\entry{\code {ulimit}}{70}
-\entry{\code {umask}}{58}
-\entry{\code {unalias}}{71}
-\entry{\code {unset}}{58}
+\entry{\code {ulimit}}{71}
+\entry{\code {umask}}{59}
+\entry{\code {unalias}}{72}
+\entry{\code {unset}}{59}
 \initial {W}
 \entry{\code {wait}}{126}
index 5c3b2f17483ec62530e11a6cb49bb38482998506..dfd46c3e25b6ff942d3712b6984c989cbeded1ad 100644 (file)
 \entry{exit status}{47}{exit status}
 \entry{signal handling}{48}{signal handling}
 \entry{shell script}{49}{shell script}
-\entry{special builtin}{82}{special builtin}
-\entry{login shell}{100}{login shell}
-\entry{interactive shell}{100}{interactive shell}
-\entry{startup files}{100}{startup files}
-\entry{interactive shell}{102}{interactive shell}
-\entry{shell, interactive}{102}{shell, interactive}
-\entry{expressions, conditional}{103}{expressions, conditional}
-\entry{arithmetic, shell}{105}{arithmetic, shell}
-\entry{shell arithmetic}{105}{shell arithmetic}
-\entry{expressions, arithmetic}{105}{expressions, arithmetic}
-\entry{evaluation, arithmetic}{105}{evaluation, arithmetic}
-\entry{arithmetic evaluation}{105}{arithmetic evaluation}
-\entry{arithmetic operators}{106}{arithmetic operators}
-\entry{unary arithmetic operators}{106}{unary arithmetic operators}
-\entry{binary arithmetic operators}{106}{binary arithmetic operators}
-\entry{conditional arithmetic operator}{106}{conditional arithmetic operator}
-\entry{bitwise arithmetic operators}{106}{bitwise arithmetic operators}
-\entry{alias expansion}{107}{alias expansion}
-\entry{arrays}{108}{arrays}
-\entry{directory stack}{110}{directory stack}
-\entry{prompting}{111}{prompting}
-\entry{restricted shell}{113}{restricted shell}
-\entry{POSIX description}{114}{POSIX description}
-\entry{POSIX Mode}{114}{POSIX Mode}
-\entry{Compatibility Level}{119}{Compatibility Level}
-\entry{Compatibility Mode}{119}{Compatibility Mode}
+\entry{special builtin}{83}{special builtin}
+\entry{login shell}{101}{login shell}
+\entry{interactive shell}{101}{interactive shell}
+\entry{startup files}{101}{startup files}
+\entry{interactive shell}{103}{interactive shell}
+\entry{shell, interactive}{103}{shell, interactive}
+\entry{expressions, conditional}{104}{expressions, conditional}
+\entry{arithmetic, shell}{106}{arithmetic, shell}
+\entry{shell arithmetic}{106}{shell arithmetic}
+\entry{expressions, arithmetic}{106}{expressions, arithmetic}
+\entry{evaluation, arithmetic}{106}{evaluation, arithmetic}
+\entry{arithmetic evaluation}{106}{arithmetic evaluation}
+\entry{arithmetic operators}{107}{arithmetic operators}
+\entry{unary arithmetic operators}{107}{unary arithmetic operators}
+\entry{binary arithmetic operators}{107}{binary arithmetic operators}
+\entry{conditional arithmetic operator}{107}{conditional arithmetic operator}
+\entry{bitwise arithmetic operators}{107}{bitwise arithmetic operators}
+\entry{alias expansion}{108}{alias expansion}
+\entry{arrays}{109}{arrays}
+\entry{directory stack}{111}{directory stack}
+\entry{prompting}{112}{prompting}
+\entry{restricted shell}{114}{restricted shell}
+\entry{POSIX description}{115}{POSIX description}
+\entry{POSIX Mode}{115}{POSIX Mode}
+\entry{Compatibility Level}{120}{Compatibility Level}
+\entry{Compatibility Mode}{120}{Compatibility Mode}
 \entry{job control}{123}{job control}
 \entry{foreground}{123}{foreground}
 \entry{background}{123}{background}
index 42c1070fcff6b2f57f870fc07fd721d56c6f211a..c35c570b4290d36f8cae232c0519272c318f8e86 100644 (file)
@@ -1,16 +1,16 @@
 \initial {A}
-\entry{alias expansion}{107}
-\entry{arithmetic evaluation}{105}
+\entry{alias expansion}{108}
+\entry{arithmetic evaluation}{106}
 \entry{arithmetic expansion}{36}
-\entry{arithmetic operators}{106}
-\entry{arithmetic, shell}{105}
-\entry{arrays}{108}
+\entry{arithmetic operators}{107}
+\entry{arithmetic, shell}{106}
+\entry{arrays}{109}
 \initial {B}
 \entry{background}{123}
 \entry{Bash configuration}{172}
 \entry{Bash installation}{172}
-\entry{binary arithmetic operators}{106}
-\entry{bitwise arithmetic operators}{106}
+\entry{binary arithmetic operators}{107}
+\entry{bitwise arithmetic operators}{107}
 \entry{Bourne shell}{5}
 \entry{brace expansion}{25}
 \entry{builtin}{3}
 \entry{commands, shell}{9}
 \entry{commands, simple}{9}
 \entry{comments, shell}{9}
-\entry{Compatibility Level}{119}
-\entry{Compatibility Mode}{119}
+\entry{Compatibility Level}{120}
+\entry{Compatibility Mode}{120}
 \entry{completion builtins}{158}
-\entry{conditional arithmetic operator}{106}
+\entry{conditional arithmetic operator}{107}
 \entry{configuration}{172}
 \entry{control operator}{3}
 \entry{coprocess}{18}
 \initial {D}
-\entry{directory stack}{110}
+\entry{directory stack}{111}
 \entry{dollar-single quote quoting}{6}
 \initial {E}
 \entry{editing command lines}{129}
 \entry{environment}{46}
-\entry{evaluation, arithmetic}{105}
+\entry{evaluation, arithmetic}{106}
 \entry{event designators}{169}
 \entry{execution environment}{45}
 \entry{exit status}{3, 47}
@@ -55,8 +55,8 @@
 \entry{expansion, parameter}{27}
 \entry{expansion, pathname}{37}
 \entry{expansion, tilde}{26}
-\entry{expressions, arithmetic}{105}
-\entry{expressions, conditional}{103}
+\entry{expressions, arithmetic}{106}
+\entry{expressions, conditional}{104}
 \initial {F}
 \entry{field}{3}
 \entry{filename}{3}
@@ -74,7 +74,7 @@
 \entry{initialization file, readline}{131}
 \entry{installation}{172}
 \entry{interaction, readline}{128}
-\entry{interactive shell}{100, 102}
+\entry{interactive shell}{101, 103}
 \entry{internationalization}{7}
 \entry{internationalized scripts}{8}
 \initial {J}
@@ -85,7 +85,7 @@
 \entry{killing text}{130}
 \initial {L}
 \entry{localization}{7}
-\entry{login shell}{100}
+\entry{login shell}{101}
 \initial {M}
 \entry{matching, pattern}{38}
 \entry{metacharacter}{3}
 \entry{pattern matching}{38}
 \entry{pipeline}{10}
 \entry{POSIX}{3}
-\entry{POSIX description}{114}
-\entry{POSIX Mode}{114}
+\entry{POSIX description}{115}
+\entry{POSIX Mode}{115}
 \entry{process group}{3}
 \entry{process group ID}{3}
 \entry{process substitution}{36}
 \entry{programmable completion}{156}
-\entry{prompting}{111}
+\entry{prompting}{112}
 \initial {Q}
 \entry{quoting}{6}
 \entry{quoting, ANSI}{6}
 \entry{redirection}{40}
 \entry{reserved word}{4}
 \entry{reserved words}{9}
-\entry{restricted shell}{113}
+\entry{restricted shell}{114}
 \entry{return status}{4}
 \initial {S}
-\entry{shell arithmetic}{105}
+\entry{shell arithmetic}{106}
 \entry{shell function}{19}
 \entry{shell script}{49}
 \entry{shell variable}{22}
-\entry{shell, interactive}{102}
+\entry{shell, interactive}{103}
 \entry{signal}{4}
 \entry{signal handling}{48}
-\entry{special builtin}{4, 82}
-\entry{startup files}{100}
+\entry{special builtin}{4, 83}
+\entry{startup files}{101}
 \entry{string translations}{8}
 \entry{suspending jobs}{123}
 \initial {T}
 \entry{token}{4}
 \entry{translation, native languages}{7}
 \initial {U}
-\entry{unary arithmetic operators}{106}
+\entry{unary arithmetic operators}{107}
 \initial {V}
 \entry{variable, shell}{22}
 \entry{variables, readline}{132}
index 92112988d16911db75acb8b3c42f160d42bce85e..001d26bb12dfc6580fc5e313831702c1c8e64a13 100644 (file)
Binary files a/doc/bashref.dvi and b/doc/bashref.dvi differ
index 0c5ba9c9bed32de36c4a8726f8e2283fd2cdd4ac..a1be996d5ee70616c9f80f78c4288348182830da 100644 (file)
@@ -4,9 +4,9 @@
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 <!-- This text is a brief description of the features that are present in
-the Bash shell (version 5.3, 20 October 2024).
+the Bash shell (version 5.3, 23 October 2024).
 
-This is Edition 5.3, last updated 20 October 2024,
+This is Edition 5.3, last updated 23 October 2024,
 of The GNU Bash Reference Manual,
 for Bash, Version 5.3.
 
@@ -77,10 +77,10 @@ Next: <a href="#Introduction" accesskey="n" rel="next">Introduction</a>, Previou
 <h1 class="top" id="Bash-Features-1"><span>Bash Features<a class="copiable-link" href="#Bash-Features-1"> &para;</a></span></h1>
 
 <p>This text is a brief description of the features that are present in
-the Bash shell (version 5.3, 20 October 2024).
+the Bash shell (version 5.3, 23 October 2024).
 The Bash home page is <a class="url" href="http://www.gnu.org/software/bash/">http://www.gnu.org/software/bash/</a>.
 </p>
-<p>This is Edition 5.3, last updated 20 October 2024,
+<p>This is Edition 5.3, last updated 23 October 2024,
 of <cite class="cite">The GNU Bash Reference Manual</cite>,
 for <code class="code">Bash</code>, Version 5.3.
 </p>
@@ -4359,8 +4359,8 @@ not to receive <code class="code">SIGHUP</code> using <code class="code">disown
 an interactive login shell exits.
 </p>
 <p>If Bash 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 command completes.
+for which a trap has been set,
+it will not execute the trap until the command completes.
 If Bash is waiting for an asynchronous command via the <code class="code">wait</code> builtin,
 and it receives a signal for which a trap has been set,
 the <code class="code">wait</code> builtin will return immediately with an exit status
@@ -4373,18 +4373,31 @@ commonly intend to send to that command.
 This happens because the shell and the command are in the same process
 group as the terminal, and &lsquo;<samp class="samp">^C</samp>&rsquo; sends <code class="code">SIGINT</code> to all processes
 in that process group.
+Since Bash does not enable job control by default when the
+shell is not interactive,
+this scenario is most common in non-interactive shells.
+</p>
+<p>When job control is enabled, and Bash is waiting for a foreground
+command to complete, the shell does not receive keyboard-generated
+signals, because it is not in the same process group as the terminal.
+This scenario is most common in interactive shells, where Bash
+attempts to enable job control by default.
 See <a class="ref" href="#Job-Control">Job Control</a>, for a more in-depth discussion of process groups.
 </p>
-<p>When Bash is running without job control enabled and receives <code class="code">SIGINT</code>
+<p>When job control is not enabled, and Bash receives <code class="code">SIGINT</code>
 while waiting for a foreground command, it waits until that foreground
 command terminates and then decides what to do about the <code class="code">SIGINT</code>:
 </p>
 <ol class="enumerate">
 <li> If the command terminates due to the <code class="code">SIGINT</code>, Bash concludes
-that the user meant to end the entire script, and acts on the
-<code class="code">SIGINT</code> (e.g., by running a <code class="code">SIGINT</code> trap or exiting itself);
-
-</li><li> If the pipeline does not terminate due to <code class="code">SIGINT</code>, the program
+that the user meant to send the <code class="code">SIGINT</code> to the shell as well,
+and acts on the
+<code class="code">SIGINT</code>
+(e.g., by running a <code class="code">SIGINT</code> trap,
+exiting a non-interactive shell,
+or returning to the top level to read a new command).
+
+</li><li> If the command does not terminate due to <code class="code">SIGINT</code>, the program
 handled the <code class="code">SIGINT</code> itself and did not treat it as a fatal signal.
 In that case, Bash does not treat <code class="code">SIGINT</code> as a fatal signal,
 either, instead assuming that the <code class="code">SIGINT</code> was used as part of the
@@ -4396,6 +4409,17 @@ receives while it is waiting for the foreground command to
 complete, for compatibility.
 </li></ol>
 
+<p>When job control is enabled, Bash does not receive keyboard-generated
+signals such as <code class="code">SIGINT</code>
+while it is waiting for a foreground command.
+An interactive shell does not pay attention to the <code class="code">SIGINT</code>,
+even if the foreground command terminates as a result, other than noting
+its exit status.
+If the shell is not interactive, and
+the foreground command terminates due to the <code class="code">SIGINT</code>,
+Bash pretends it received the <code class="code">SIGINT</code>
+itself (scenario 1 above), for compatibility.
+</p>
 <hr>
 </div>
 </div>
@@ -9963,13 +9987,6 @@ in a redirection unless the shell is interactive.
 </li><li> Redirection operators do not perform word splitting on the word in a
 redirection.
 
-</li><li> Function names must be valid shell <code class="code">name</code>s.
-That is, they may not
-contain characters other than letters, digits, and underscores, and
-may not start with a digit.
-Declaring a function with an invalid name in a non-interactive shell
-is a fatal syntax error.
-
 </li><li> Function names may not be the same as one of the <small class="sc">POSIX</small> special
 builtins.
 
@@ -10056,7 +10073,7 @@ default value the shell assigns to <code class="env">$HISTFILE</code>).
 double-quoted string, even if the <code class="code">histexpand</code> option is enabled.
 
 </li><li> When printing shell function definitions (e.g., by <code class="code">type</code>), Bash does
-not print the <code class="code">function</code> keyword.
+not print the <code class="code">function</code> keyword unless necessary.
 
 </li><li> Non-interactive shells exit if a syntax error in an arithmetic expansion
 results in an invalid expression.
@@ -11422,7 +11439,7 @@ common prefix of the set of possible completions using a different color.
 The color definitions are taken from the value of the <code class="env">LS_COLORS</code>
 environment variable.
 If there is a color definition in <code class="env">LS_COLORS</code> for the custom suffix
-&lsquo;<samp class="samp">.readline-colored-completion-prefix</samp>&rsquo;, Readline uses this color for
+&lsquo;<samp class="samp">readline-colored-completion-prefix</samp>&rsquo;, Readline uses this color for
 the common prefix instead of its default.
 The default is &lsquo;<samp class="samp">off</samp>&rsquo;.
 </p>
index 359a3f52d388ab63cf3f82a95a0cd68fa6cc3b4e..c16380ff3e3cf34854bf5c978034f98494902e37 100644 (file)
@@ -1,11 +1,12 @@
-This is pdfTeX, Version 3.141592653-2.6-1.40.26 (TeX Live 2024/MacPorts 2024.70613_0) (preloaded format=pdfetex 2024.4.9)  20 OCT 2024 12:37
+This is pdfTeX, Version 3.141592653-2.6-1.40.26 (TeX Live 2024/MacPorts 2024.70613_0) (preloaded format=etex 2024.4.9)  1 NOV 2024 18:25
 entering extended mode
  restricted \write18 enabled.
  file:line:error style messages enabled.
  %&-line parsing enabled.
-**\input /usr/local/src/bash/bash-20241018/doc/bashref.texi
-(/usr/local/src/bash/bash-20241018/doc/bashref.texi
-(/usr/local/src/bash/bash-20241018/doc/texinfo.tex
+**\nonstopmode \input /usr/local/src/bash/bash-20241031/doc/bashref.texi \input
+ /usr/local/src/bash/bash-20241031/doc/bashref.texi
+(/usr/local/src/bash/bash-20241031/doc/bashref.texi
+(/usr/local/src/bash/bash-20241031/doc/texinfo.tex
 Loading texinfo [version 2015-11-22.14]:
 \outerhsize=\dimen16
 \outervsize=\dimen17
@@ -161,23 +162,20 @@ This is `epsf.tex' v2.7.4 <14 February 2011>
 texinfo.tex: doing @include of version.texi
 
 
-(/usr/local/src/bash/bash-20241018/doc/version.texi) [1{/opt/local/var/db/texmf
-/fonts/map/pdftex/updmap/pdftex.map}] [2]
-(/usr/local/build/bash/bash-20241018/doc/bashref.toc [-1] [-2] [-3]) [-4]
-(/usr/local/build/bash/bash-20241018/doc/bashref.toc)
-(/usr/local/build/bash/bash-20241018/doc/bashref.toc) Chapter 1
+(/usr/local/src/bash/bash-20241031/doc/version.texi) [1] [2]
+(/usr/local/build/bash/bash-20241031/doc/bashref.toc [-1] [-2] [-3]) [-4]
+Chapter 1
 \openout0 = `bashref.toc'.
 
-
-(/usr/local/build/bash/bash-20241018/doc/bashref.aux)
+ (/usr/local/build/bash/bash-20241031/doc/bashref.aux)
 \openout1 = `bashref.aux'.
 
- [1] Chapter 2 [2]
+ [1] Chapter 2
+[2]
 @cpindfile=@write2
 \openout2 = `bashref.cp'.
 
-
-[3] Chapter 3 [4] [5] [6] [7]
+ [3] Chapter 3 [4] [5] [6] [7]
 @vrindfile=@write3
 \openout3 = `bashref.vr'.
 
@@ -221,17 +219,16 @@ Overfull \hbox (5.95723pt too wide) in paragraph at lines 741--742
 @rwindfile=@write4
 \openout4 = `bashref.rw'.
 
- [10] [11] [12] [13] [14] [15] [16] [17] [18] [19{/opt/local/share/texmf-texliv
-e/fonts/enc/dvips/cm-super/cm-super-t1.enc}] [20] [21] [22] [23] [24]
-[25] [26] [27] [28] [29] [30] [31] [32] [33] [34] [35] [36] [37] [38] [39]
-[40] [41] [42] [43] [44] [45] [46] [47] [48] Chapter 4 [49]
+ [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23]
+[24] [25] [26] [27] [28] [29] [30] [31] [32] [33] [34] [35] [36] [37] [38]
+[39] [40] [41] [42] [43] [44] [45] [46] [47] [48] [49] Chapter 4 [50]
 @btindfile=@write5
 \openout5 = `bashref.bt'.
 
- [50] [51] [52]
-[53] [54] [55] [56] [57] [58] [59] [60] [61] [62] [63] [64] [65] [66] [67]
-[68] [69] [70]
-Overfull \hbox (38.26585pt too wide) in paragraph at lines 5723--5723
+ [51]
+[52] [53] [54] [55] [56] [57] [58] [59] [60] [61] [62] [63] [64] [65] [66]
+[67] [68] [69] [70] [71]
+Overfull \hbox (38.26585pt too wide) in paragraph at lines 5747--5747
  []@texttt set [-abefhkmnptuvxBCEHPT] [-o @textttsl option-name@texttt ] [--] [
 -] [@textttsl ar-gu-ment []@texttt ][] 
 
@@ -244,7 +241,7 @@ Overfull \hbox (38.26585pt too wide) in paragraph at lines 5723--5723
 .etc.
 
 
-Overfull \hbox (38.26585pt too wide) in paragraph at lines 5724--5724
+Overfull \hbox (38.26585pt too wide) in paragraph at lines 5748--5748
  []@texttt set [+abefhkmnptuvxBCEHPT] [+o @textttsl option-name@texttt ] [--] [
 -] [@textttsl ar-gu-ment []@texttt ][] 
 
@@ -256,15 +253,15 @@ Overfull \hbox (38.26585pt too wide) in paragraph at lines 5724--5724
 .@texttt t
 .etc.
 
-[71] [72] [73] [74] [75] [76] [77] [78] [79] [80] [81] [82] Chapter 5 [83]
-[84] [85] [86] [87] [88] [89] [90] [91] [92] [93] [94] [95] [96] Chapter 6
-[97] [98] [99] [100] [101] [102] [103] [104] [105] [106] [107] [108] [109]
-[110] [111] [112] [113] [114] [115] [116] [117] [118] [119] [120] [121]
-Chapter 7 [122] [123] [124] [125] [126]
+[72] [73] [74] [75] [76] [77] [78] [79] [80] [81] [82] [83] Chapter 5 [84]
+[85] [86] [87] [88] [89] [90] [91] [92] [93] [94] [95] [96] [97] Chapter 6
+[98] [99] [100] [101] [102] [103] [104] [105] [106] [107] [108] [109] [110]
+[111] [112] [113] [114] [115] [116] [117] [118] [119] [120] [121] Chapter 7
+[122] [123] [124] [125] [126]
 texinfo.tex: doing @include of rluser.texi
 
 
-(/usr/local/src/bash/bash-20241018/lib/readline/doc/rluser.texi Chapter 8
+(/usr/local/src/bash/bash-20241031/lib/readline/doc/rluser.texi Chapter 8
 [127] [128] [129] [130] [131] [132] [133] [134] [135] [136] [137] [138]
 Underfull \hbox (badness 7540) in paragraph at lines 959--965
  []@textrm In the ex-am-ple above, @textttsl C-u[] @textrm is bound to the func
@@ -313,10 +310,10 @@ gnored[]
 texinfo.tex: doing @include of hsuser.texi
 
 
-(/usr/local/src/bash/bash-20241018/lib/readline/doc/hsuser.texi Chapter 9
+(/usr/local/src/bash/bash-20241031/lib/readline/doc/hsuser.texi Chapter 9
 [164] [165] [166] [167] [168] [169] [170]) Chapter 10 [171] [172] [173]
 [174] [175]
-Underfull \hbox (badness 10000) in paragraph at lines 10373--10382
+Underfull \hbox (badness 10000) in paragraph at lines 10389--10398
 []@textrm All of the fol-low-ing op-tions ex-cept for `@texttt alt-array-implem
 entation[]@textrm '[],
 
@@ -329,7 +326,7 @@ entation[]@textrm '[],
 .etc.
 
 
-Underfull \hbox (badness 10000) in paragraph at lines 10373--10382
+Underfull \hbox (badness 10000) in paragraph at lines 10389--10398
 @textrm `@texttt disabled-builtins[]@textrm '[], `@texttt direxpand-default[]@t
 extrm '[], `@texttt strict-posix-default[]@textrm '[], and
 
@@ -346,37 +343,16 @@ extrm '[], `@texttt strict-posix-default[]@textrm '[], and
 texinfo.tex: doing @include of fdl.texi
 
 
-(/usr/local/src/bash/bash-20241018/doc/fdl.texi [189] [190] [191] [192]
+(/usr/local/src/bash/bash-20241031/doc/fdl.texi [189] [190] [191] [192]
 [193] [194] [195]) Appendix D [196] [197] [198] [199] [200] [201] [202]
 [203] [204] [205] ) 
 Here is how much of TeX's memory you used:
4113 strings out of 495840
- 47653 string characters out of 6171739
144767 words of memory out of 5000000
5048 multiletter control sequences out of 15000+600000
3531 strings out of 495850
+ 40273 string characters out of 6172145
88589 words of memory out of 5000000
4879 multiletter control sequences out of 15000+600000
  34315 words of font info for 116 fonts, out of 8000000 for 9000
  701 hyphenation exceptions out of 8191
- 16i,6n,16p,331b,983s stack positions out of 10000i,1000n,20000p,200000b,200000s
-</opt/local/share/texmf-texlive/fonts/type1/public/amsfonts/
-cm/cmbx12.pfb></opt/local/share/texmf-texlive/fonts/type1/public/amsfonts/cm/cm
-csc10.pfb></opt/local/share/texmf-texlive/fonts/type1/public/amsfonts/cm/cmmi10
-.pfb></opt/local/share/texmf-texlive/fonts/type1/public/amsfonts/cm/cmmi12.pfb>
-</opt/local/share/texmf-texlive/fonts/type1/public/amsfonts/cm/cmmi9.pfb></opt/
-local/share/texmf-texlive/fonts/type1/public/amsfonts/cm/cmr10.pfb></opt/local/
-share/texmf-texlive/fonts/type1/public/amsfonts/cm/cmr9.pfb></opt/local/share/t
-exmf-texlive/fonts/type1/public/amsfonts/cm/cmsl10.pfb></opt/local/share/texmf-
-texlive/fonts/type1/public/amsfonts/cm/cmsltt10.pfb></opt/local/share/texmf-tex
-live/fonts/type1/public/amsfonts/cm/cmsy10.pfb></opt/local/share/texmf-texlive/
-fonts/type1/public/amsfonts/cm/cmti10.pfb></opt/local/share/texmf-texlive/fonts
-/type1/public/amsfonts/cm/cmtt10.pfb></opt/local/share/texmf-texlive/fonts/type
-1/public/amsfonts/cm/cmtt12.pfb></opt/local/share/texmf-texlive/fonts/type1/pub
-lic/amsfonts/cm/cmtt9.pfb></opt/local/share/texmf-texlive/fonts/type1/public/cm
--super/sfrm1095.pfb></opt/local/share/texmf-texlive/fonts/type1/public/cm-super
-/sfrm1440.pfb>
-Output written on bashref.pdf (211 pages, 845399 bytes).
-PDF statistics:
- 2927 PDF objects out of 2984 (max. 8388607)
- 2668 compressed objects within 27 object streams
- 339 named destinations out of 1000 (max. 500000)
- 1157 words of extra memory for PDF output out of 10000 (max. 10000000)
+ 16i,6n,16p,402b,942s stack positions out of 10000i,1000n,20000p,200000b,200000s
 
+Output written on bashref.dvi (211 pages, 885144 bytes).
index 066f001b714e566a1f18618936ea13c294ec810c..b2ea6c013c5f3dc1faecffa1bf911d31e95cbc65 100644 (file)
@@ -1,7 +1,7 @@
 %!PS-Adobe-2.0
 %%Creator: dvips(k) 2024.1 (TeX Live 2024)  Copyright 2024 Radical Eye Software
 %%Title: bashref.dvi
-%%CreationDate: Sun Oct 20 16:37:35 2024
+%%CreationDate: Fri Nov  1 22:25:04 2024
 %%Pages: 211
 %%PageOrder: Ascend
 %%BoundingBox: 0 0 612 792
@@ -12,7 +12,7 @@
 %DVIPSWebPage: (www.radicaleye.com)
 %DVIPSCommandLine: dvips -D 600 -t letter -o bashref.ps bashref.dvi
 %DVIPSParameters: dpi=600
-%DVIPSSource:  TeX output 2024.10.20:1237
+%DVIPSSource:  TeX output 2024.11.01:1825
 %%BeginProcSet: tex.pro 0 0
 %!
 /TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S
@@ -7630,9 +7630,9 @@ b(oundation)p 150 5141 3600 17 v eop end
 %%Page: 2 2
 TeXDict begin 2 1 bop 150 4279 a Fu(This)35 b(text)h(is)g(a)g(brief)f
 (description)h(of)f(the)h(features)g(that)g(are)g(presen)m(t)g(in)f
-(the)h(Bash)f(shell)h(\(v)m(ersion)150 4389 y(5.3,)c(20)f(Octob)s(er)f
+(the)h(Bash)f(shell)h(\(v)m(ersion)150 4389 y(5.3,)c(23)f(Octob)s(er)f
 (2024\).)150 4523 y(This)35 b(is)g(Edition)h(5.3,)i(last)f(up)s(dated)d
-(20)i(Octob)s(er)g(2024,)j(of)c Fr(The)h(GNU)g(Bash)f(Reference)i(Man)m
+(23)i(Octob)s(er)g(2024,)j(of)c Fr(The)h(GNU)g(Bash)f(Reference)i(Man)m
 (ual)p Fu(,)150 4633 y(for)30 b Ft(Bash)p Fu(,)g(V)-8
 b(ersion)31 b(5.3.)150 4767 y(Cop)m(yrigh)m(t)602 4764
 y(c)577 4767 y Fq(\015)f Fu(1988{2024)35 b(F)-8 b(ree)31
@@ -7853,108 +7853,108 @@ f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
 (:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)25 b Fu(49)150 2306
 y Fs(4)135 b(Shell)45 b(Builtin)g(Commands)14 b Fo(:)20
 b(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g
-(:)h(:)f(:)h(:)f(:)27 b Fs(50)275 2443 y Fu(4.1)92 b(Bourne)30
+(:)h(:)f(:)h(:)f(:)27 b Fs(51)275 2443 y Fu(4.1)92 b(Bourne)30
 b(Shell)g(Builtins)16 b Fn(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
 (:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
 h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)29
-b Fu(50)275 2553 y(4.2)92 b(Bash)30 b(Builtin)h(Commands)13
+b Fu(51)275 2553 y(4.2)92 b(Bash)30 b(Builtin)h(Commands)13
 b Fn(:)h(:)i(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
 h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
-(:)f(:)g(:)h(:)f(:)26 b Fu(59)275 2663 y(4.3)92 b(Mo)s(difying)30
+(:)f(:)g(:)h(:)f(:)26 b Fu(60)275 2663 y(4.3)92 b(Mo)s(difying)30
 b(Shell)g(Beha)m(vior)18 b Fn(:)f(:)e(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
 (:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
-h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)31 b Fu(71)399
+h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)31 b Fu(72)399
 2772 y(4.3.1)93 b(The)30 b(Set)g(Builtin)14 b Fn(:)i(:)f(:)h(:)f(:)g(:)
 h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h
 (:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
-f(:)g(:)27 b Fu(71)399 2882 y(4.3.2)93 b(The)30 b(Shopt)f(Builtin)21
+f(:)g(:)27 b Fu(72)399 2882 y(4.3.2)93 b(The)30 b(Shopt)f(Builtin)21
 b Fn(:)16 b(:)g(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
 (:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
-h(:)f(:)h(:)f(:)g(:)h(:)34 b Fu(76)275 2991 y(4.4)92
+h(:)f(:)h(:)f(:)g(:)h(:)34 b Fu(77)275 2991 y(4.4)92
 b(Sp)s(ecial)30 b(Builtins)9 b Fn(:)16 b(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
 f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h
 (:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
-f(:)g(:)h(:)f(:)22 b Fu(82)150 3242 y Fs(5)135 b(Shell)45
+f(:)g(:)h(:)f(:)22 b Fu(83)150 3242 y Fs(5)135 b(Shell)45
 b(V)-11 b(ariables)11 b Fo(:)20 b(:)g(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f
 (:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)
-f(:)h(:)f(:)g(:)h(:)f(:)24 b Fs(84)275 3379 y Fu(5.1)92
+f(:)h(:)f(:)g(:)h(:)f(:)24 b Fs(85)275 3379 y Fu(5.1)92
 b(Bourne)30 b(Shell)g(V)-8 b(ariables)10 b Fn(:)17 b(:)e(:)g(:)h(:)f(:)
 h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
 (:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
-23 b Fu(84)275 3489 y(5.2)92 b(Bash)30 b(V)-8 b(ariables)26
+23 b Fu(85)275 3489 y(5.2)92 b(Bash)30 b(V)-8 b(ariables)26
 b Fn(:)16 b(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h
 (:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
 f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)38
-b Fu(85)150 3739 y Fs(6)135 b(Bash)44 b(F)-11 b(eatures)32
+b Fu(86)150 3739 y Fs(6)135 b(Bash)44 b(F)-11 b(eatures)32
 b Fo(:)19 b(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h
 (:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
-44 b Fs(98)275 3876 y Fu(6.1)92 b(In)m(v)m(oking)31 b(Bash)16
+44 b Fs(99)275 3876 y Fu(6.1)92 b(In)m(v)m(oking)31 b(Bash)16
 b Fn(:)g(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)
 f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
 (:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)29
-b Fu(98)275 3986 y(6.2)92 b(Bash)30 b(Startup)g(Files)c
+b Fu(99)275 3986 y(6.2)92 b(Bash)30 b(Startup)g(Files)c
 Fn(:)16 b(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
 (:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
-f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)39 b Fu(100)275 4095
+f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)39 b Fu(101)275 4095
 y(6.3)92 b(In)m(teractiv)m(e)32 b(Shells)17 b Fn(:)e(:)h(:)f(:)h(:)f(:)
 g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
 (:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
-h(:)f(:)g(:)h(:)30 b Fu(102)399 4205 y(6.3.1)93 b(What)31
+h(:)f(:)g(:)h(:)30 b Fu(103)399 4205 y(6.3.1)93 b(What)31
 b(is)f(an)h(In)m(teractiv)m(e)h(Shell?)23 b Fn(:)15 b(:)h(:)f(:)h(:)f
 (:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)
-f(:)h(:)f(:)g(:)h(:)36 b Fu(102)399 4315 y(6.3.2)93 b(Is)30
+f(:)h(:)f(:)g(:)h(:)36 b Fu(103)399 4315 y(6.3.2)93 b(Is)30
 b(this)g(Shell)g(In)m(teractiv)m(e?)20 b Fn(:)e(:)e(:)f(:)g(:)h(:)f(:)h
 (:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
-h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)33 b Fu(102)399 4424
+h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)33 b Fu(103)399 4424
 y(6.3.3)93 b(In)m(teractiv)m(e)33 b(Shell)d(Beha)m(vior)8
 b Fn(:)17 b(:)f(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
 (:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)22
-b Fu(102)275 4534 y(6.4)92 b(Bash)30 b(Conditional)h(Expressions)c
+b Fu(103)275 4534 y(6.4)92 b(Bash)30 b(Conditional)h(Expressions)c
 Fn(:)15 b(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
 (:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)41
-b Fu(103)275 4643 y(6.5)92 b(Shell)30 b(Arithmetic)11
+b Fu(104)275 4643 y(6.5)92 b(Shell)30 b(Arithmetic)11
 b Fn(:)16 b(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f
 (:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
 g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)24 b
-Fu(105)275 4753 y(6.6)92 b(Aliases)18 b Fn(:)e(:)g(:)f(:)g(:)h(:)f(:)h
+Fu(106)275 4753 y(6.6)92 b(Aliases)18 b Fn(:)e(:)g(:)f(:)g(:)h(:)f(:)h
 (:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
 f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h
 (:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)31
-b Fu(107)275 4863 y(6.7)92 b(Arra)m(ys)23 b Fn(:)15 b(:)h(:)f(:)g(:)h
+b Fu(108)275 4863 y(6.7)92 b(Arra)m(ys)23 b Fn(:)15 b(:)h(:)f(:)g(:)h
 (:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
 f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
 (:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)36
-b Fu(108)275 4972 y(6.8)92 b(The)29 b(Directory)j(Stac)m(k)14
+b Fu(109)275 4972 y(6.8)92 b(The)29 b(Directory)j(Stac)m(k)14
 b Fn(:)j(:)e(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
 f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
-(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)27 b Fu(110)399 5082 y(6.8.1)93
+(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)27 b Fu(111)399 5082 y(6.8.1)93
 b(Directory)32 b(Stac)m(k)f(Builtins)20 b Fn(:)c(:)f(:)h(:)f(:)h(:)f(:)
 g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
-(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)33 b Fu(110)275 5191
+(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)33 b Fu(111)275 5191
 y(6.9)92 b(Con)m(trolling)31 b(the)g(Prompt)10 b Fn(:)15
 b(:)g(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h
 (:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
-h(:)f(:)h(:)23 b Fu(111)275 5301 y(6.10)92 b(The)30 b(Restricted)h
+h(:)f(:)h(:)23 b Fu(112)275 5301 y(6.10)92 b(The)30 b(Restricted)h
 (Shell)9 b Fn(:)15 b(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
 g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
-(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)22 b Fu(113)p
+(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)22 b Fu(114)p
 eop end
 %%Page: -3 5
 TeXDict begin -3 4 bop 3674 -116 a Fu(iii)275 83 y(6.11)92
 b(Bash)31 b(and)e(POSIX)12 b Fn(:)j(:)g(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
 (:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
 h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)25
-b Fu(114)399 193 y(6.11.1)93 b(What)31 b(is)g(POSIX?)22
+b Fu(115)399 193 y(6.11.1)93 b(What)31 b(is)g(POSIX?)22
 b Fn(:)14 b(:)i(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
 (:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
-h(:)f(:)h(:)f(:)g(:)36 b Fu(114)399 302 y(6.11.2)93 b(Bash)31
+h(:)f(:)h(:)f(:)g(:)36 b Fu(115)399 302 y(6.11.2)93 b(Bash)31
 b(POSIX)e(Mo)s(de)18 b Fn(:)e(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
 (:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
-f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)31 b Fu(114)275 412 y(6.12)92
+f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)31 b Fu(115)275 412 y(6.12)92
 b(Shell)30 b(Compatibilit)m(y)i(Mo)s(de)25 b Fn(:)15
 b(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
 (:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)38
-b Fu(119)150 663 y Fs(7)135 b(Job)45 b(Con)l(trol)35
+b Fu(120)150 663 y Fs(7)135 b(Job)45 b(Con)l(trol)35
 b Fo(:)20 b(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h
 (:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)
 g(:)48 b Fs(123)275 800 y Fu(7.1)92 b(Job)30 b(Con)m(trol)h(Basics)23
@@ -8360,14 +8360,14 @@ y Fu(The)c(follo)m(wing)h(is)f(a)h(brief)e(description)i(of)f(the)g
 (\014le)h(\(see)g(Section)g(3.8)g([Shell)f(Scripts],)j(page)e(49\),)k
 (from)41 b(a)i(string)330 3566 y(supplied)30 b(as)h(an)g(argumen)m(t)h
 (to)g(the)f Ft(-c)g Fu(in)m(v)m(o)s(cation)i(option)f(\(see)g(Section)g
-(6.1)g([In)m(v)m(oking)g(Bash],)330 3675 y(page)f(98\),)h(or)e(from)g
+(6.1)g([In)m(v)m(oking)g(Bash],)330 3675 y(page)f(99\),)h(or)e(from)g
 (the)h(user's)f(terminal.)199 3821 y(2.)61 b(Breaks)43
 b(the)g(input)f(in)m(to)h(w)m(ords)f(and)g(op)s(erators,)k(ob)s(eying)d
 (the)g(quoting)g(rules)f(describ)s(ed)f(in)330 3931 y(Section)30
 b(3.1.2)h([Quoting],)f(page)f(6.)41 b(These)29 b(tok)m(ens)h(are)f
 (separated)h(b)m(y)e Ft(metacharacters)p Fu(.)37 b(This)330
 4040 y(step)30 b(p)s(erforms)f(alias)j(expansion)e(\(see)h(Section)h
-(6.6)f([Aliases],)h(page)f(107\).)199 4186 y(3.)61 b(P)m(arses)35
+(6.6)f([Aliases],)h(page)f(108\).)199 4186 y(3.)61 b(P)m(arses)35
 b(the)g(tok)m(ens)g(in)m(to)h(simple)e(and)g(comp)s(ound)f(commands)h
 (\(see)h(Section)h(3.2)f([Shell)g(Com-)330 4296 y(mands],)30
 b(page)h(9\).)199 4442 y(4.)61 b(P)m(erforms)40 b(the)h(v)-5
@@ -8435,7 +8435,7 @@ b(Double)42 b(Quotes)150 3377 y Fu(Enclosing)24 b(c)m(haracters)h(in)f
 Ft($)p Fu(',)h(`)p Ft(`)p Fu(',)g(`)p Ft(\\)p Fu(',)g(and,)f(when)f
 (history)g(expansion)h(is)g(enabled,)h(`)p Ft(!)p Fu('.)150
 3597 y(When)c(the)g(shell)g(is)g(in)f Fm(posix)h Fu(mo)s(de)f(\(see)i
-(Section)g(6.11)g([Bash)f(POSIX)f(Mo)s(de],)i(page)g(114\),)h(the)e(`)p
+(Section)g(6.11)g([Bash)f(POSIX)f(Mo)s(de],)i(page)g(115\),)h(the)e(`)p
 Ft(!)p Fu(')150 3706 y(has)d(no)g(sp)s(ecial)h(meaning)g(within)f
 (double)g(quotes,)h(ev)m(en)g(when)f(history)g(expansion)g(is)g
 (enabled.)40 b(The)150 3816 y(c)m(haracters)22 b(`)p
@@ -8522,7 +8522,7 @@ Fu(or)h Ft(POSIX)p Fu(,)g(if)f(there)h(are)g(no)g(trans-)150
 (translated)g(and)g(replaced.)39 b(If)25 b(the)150 5230
 y Ft(noexpand_translation)30 b Fu(option)35 b(is)g(enabled)g(using)g
 (the)g Ft(shopt)f Fu(builtin)g(\(see)i(Section)g(4.3.2)h([The)150
-5340 y(Shopt)30 b(Builtin],)h(page)g(76\),)h(translated)f(strings)f
+5340 y(Shopt)30 b(Builtin],)h(page)g(77\),)h(translated)f(strings)f
 (are)h(single-quoted)g(instead)g(of)g(double-quoted.)p
 eop end
 %%Page: 8 14
@@ -8651,7 +8651,7 @@ b(a)i(non-in)m(teractiv)m(e)h(shell,)g(or)e(an)g(in)m(teractiv)m(e)j
 (shell)d(in)g(whic)m(h)g(the)g Ft(interactive_comments)16
 b Fu(option)150 1995 y(to)40 b(the)f Ft(shopt)e Fu(builtin)h(is)h
 (enabled)g(\(see)h(Section)g(4.3.2)g([The)f(Shopt)f(Builtin],)k(page)e
-(76\),)i(a)d(w)m(ord)150 2104 y(b)s(eginning)33 b(with)g(`)p
+(77\),)i(a)d(w)m(ord)150 2104 y(b)s(eginning)33 b(with)g(`)p
 Ft(#)p Fu(')h(in)m(tro)s(duces)f(a)h(commen)m(t.)52 b(A)33
 b(w)m(ord)h(b)s(egins)f(at)h(the)g(b)s(eginning)f(of)g(a)h(line,)h
 (after)150 2214 y(unquoted)20 b(whitespace,)j(or)e(after)g(an)g(op)s
@@ -8662,7 +8662,7 @@ b(w)m(ord)h(b)s(egins)f(at)h(the)g(b)s(eginning)f(of)g(a)h(line,)h
 (do)s(es)f(not)h(allo)m(w)h(commen)m(ts.)41 b(The)29
 b Ft(interactive_comments)24 b Fu(option)30 b(is)150
 2542 y(enabled)g(b)m(y)g(default)h(in)f(in)m(teractiv)m(e)j(shells.)41
-b(See)30 b(Section)i(6.3)f([In)m(teractiv)m(e)i(Shells],)e(page)g(102,)
+b(See)30 b(Section)i(6.3)f([In)m(teractiv)m(e)i(Shells],)e(page)g(103,)
 g(for)g(a)150 2652 y(description)f(of)h(what)f(mak)m(es)h(a)g(shell)g
 (in)m(teractiv)m(e.)150 2885 y Fs(3.2)68 b(Shell)45 b(Commands)150
 3045 y Fu(A)d(simple)g(shell)g(command)f(suc)m(h)h(as)g
@@ -8741,14 +8741,14 @@ y(user)33 b(and)f(system)i(time)g(consumed)e(b)m(y)i(the)f(command's)g
 2807 y(output)24 b(format)h(to)g(that)g(sp)s(eci\014ed)f(b)m(y)g
 Fm(posix)p Fu(.)38 b(When)24 b(the)h(shell)f(is)h(in)f
 Fm(posix)g Fu(mo)s(de)g(\(see)h(Section)g(6.11)150 2916
-y([Bash)33 b(POSIX)f(Mo)s(de],)i(page)f(114\),)i(it)e(do)s(es)g(not)f
+y([Bash)33 b(POSIX)f(Mo)s(de],)i(page)f(115\),)i(it)e(do)s(es)g(not)f
 (recognize)j Ft(time)c Fu(as)i(a)g(reserv)m(ed)g(w)m(ord)f(if)h(the)g
 (next)150 3026 y(tok)m(en)22 b(b)s(egins)e(with)h(a)g(`)p
 Ft(-)p Fu('.)38 b(The)20 b(v)-5 b(alue)22 b(of)f(the)g
 Ft(TIMEFORMAT)d Fu(v)-5 b(ariable)22 b(is)e(a)i(format)f(string)g(that)
 g(sp)s(eci\014es)150 3136 y(ho)m(w)29 b(the)f(timing)h(information)g
 (should)f(b)s(e)g(displa)m(y)m(ed.)40 b(See)29 b(Section)g(5.2)h([Bash)
-f(V)-8 b(ariables],)31 b(page)e(85,)150 3245 y(for)34
+f(V)-8 b(ariables],)31 b(page)e(86,)150 3245 y(for)34
 b(a)g(description)g(of)g(the)g(a)m(v)-5 b(ailable)37
 b(formats.)51 b(Pro)m(viding)35 b Ft(time)d Fu(as)j(a)f(reserv)m(ed)g
 (w)m(ord)g(p)s(ermits)f(the)150 3355 y(timing)g(of)g(shell)f(builtins,)
@@ -8756,7 +8756,7 @@ h(shell)f(functions,)h(and)f(pip)s(elines.)46 b(An)32
 b(external)i Ft(time)d Fu(command)h(cannot)150 3464 y(time)f(these)g
 (easily)-8 b(.)275 3604 y(When)30 b(the)g(shell)g(is)h(in)f
 Fm(posix)f Fu(mo)s(de)h(\(see)h(Section)g(6.11)h([Bash)e(POSIX)g(Mo)s
-(de],)g(page)h(114\),)i(y)m(ou)150 3714 y(can)f(use)g
+(de],)g(page)h(115\),)i(y)m(ou)150 3714 y(can)f(use)g
 Ft(time)f Fu(b)m(y)i(itself)g(as)f(a)h(simple)f(command.)46
 b(In)31 b(this)h(case,)i(the)f(shell)f(displa)m(ys)g(the)h(total)h
 (user)150 3824 y(and)27 b(system)g(time)h(consumed)f(b)m(y)g(the)g
@@ -8773,13 +8773,13 @@ i(Section)g(3.7.3)g([Command)f(Execution)g(En)m(viron-)150
 4542 y(men)m(t],)d(page)e(45\).)40 b(If)23 b(the)h Ft(lastpipe)d
 Fu(option)j(is)g(enabled)g(using)f(the)h Ft(shopt)e Fu(builtin)h(\(see)
 i(Section)f(4.3.2)150 4652 y([The)33 b(Shopt)f(Builtin],)i(page)g
-(76\),)h(and)d(job)h(con)m(trol)h(is)f(not)g(activ)m(e,)j(the)d(last)h
+(77\),)h(and)d(job)h(con)m(trol)h(is)f(not)g(activ)m(e,)j(the)d(last)h
 (elemen)m(t)g(of)f(a)g(pip)s(eline)150 4761 y(ma)m(y)e(b)s(e)f(run)f(b)
 m(y)h(the)g(shell)h(pro)s(cess.)275 4902 y(The)24 b(exit)i(status)f(of)
 h(a)f(pip)s(eline)g(is)g(the)g(exit)h(status)f(of)h(the)f(last)h
 (command)f(in)f(the)i(pip)s(eline,)g(unless)150 5011
 y(the)31 b Ft(pipefail)d Fu(option)j(is)g(enabled)f(\(see)i(Section)f
-(4.3.1)i([The)d(Set)h(Builtin],)g(page)h(71\).)42 b(If)30
+(4.3.1)i([The)d(Set)h(Builtin],)g(page)h(72\).)42 b(If)30
 b Ft(pipefail)150 5121 y Fu(is)f(enabled,)g(the)f(pip)s(eline's)g
 (return)g(status)h(is)f(the)h(v)-5 b(alue)29 b(of)f(the)h(last)g
 (\(righ)m(tmost\))i(command)d(to)h(exit)150 5230 y(with)34
@@ -8913,7 +8913,7 @@ Ft(;)i Fj(expr3)e Ft(\)\))h(;)h(do)f Fj(commands)e Ft(;)j(done)630
 3587 y Fu(First,)28 b(ev)-5 b(aluate)27 b(the)g(arithmetic)g
 (expression)f Fr(expr1)33 b Fu(according)27 b(to)g(the)f(rules)g
 (describ)s(ed)630 3696 y(b)s(elo)m(w)i(\(see)g(Section)g(6.5)g([Shell)g
-(Arithmetic],)h(page)f(105\).)41 b(Then,)28 b(rep)s(eatedly)f(ev)-5
+(Arithmetic],)h(page)f(106\).)41 b(Then,)28 b(rep)s(eatedly)f(ev)-5
 b(aluate)630 3806 y(the)41 b(arithmetic)g(expression)g
 Fr(expr2)47 b Fu(un)m(til)41 b(it)g(ev)-5 b(aluates)42
 b(to)g(zero.)71 b(Eac)m(h)42 b(time)f Fr(expr2)630 3916
@@ -8928,7 +8928,7 @@ Fu(that)630 4244 y(is)30 b(executed,)i(or)e(non-zero)h(if)g(an)m(y)f
 (of)h(the)f(expressions)g(is)h(in)m(v)-5 b(alid.)275
 4401 y(Use)31 b(the)h Ft(break)e Fu(and)h Ft(continue)e
 Fu(builtins)i(\(see)h(Section)h(4.1)f([Bourne)g(Shell)f(Builtins],)i
-(page)f(50\))150 4511 y(to)f(con)m(trol)h(lo)s(op)e(execution.)150
+(page)f(51\))150 4511 y(to)f(con)m(trol)h(lo)s(op)e(execution.)150
 4707 y Fk(3.2.5.2)63 b(Conditional)42 b(Constructs)150
 4878 y Ft(if)384 b Fu(The)30 b(syn)m(tax)h(of)f(the)h
 Ft(if)f Fu(command)g(is:)870 5011 y Ft(if)47 b Fj(test-commands)p
@@ -8968,7 +8968,7 @@ b(matc)m(hes)h Fr(w)m(ord)p Fu(,)g(pro)s(ceeding)e(from)g(the)h
 2345 y(Matc)m(hing],)44 b(page)d(38.)70 b(If)40 b(the)g
 Ft(nocasematch)c Fu(shell)41 b(option)f(\(see)h(the)f(description)g(of)
 630 2454 y Ft(shopt)34 b Fu(in)h(Section)h(4.3.2)h([The)e(Shopt)f
-(Builtin],)k(page)e(76\))g(is)g(enabled,)g(the)g(matc)m(h)g(is)630
+(Builtin],)k(page)e(77\))g(is)g(enabled,)g(the)g(matc)m(h)g(is)630
 2564 y(p)s(erformed)29 b(without)i(regard)g(to)g(the)g(case)h(of)f
 (alphab)s(etic)g(c)m(haracters.)44 b(The)30 b(`)p Ft(|)p
 Fu(')h(is)g(used)630 2673 y(to)g(separate)h(m)m(ultiple)f(patterns)g
@@ -9064,7 +9064,7 @@ b(,)32 b(and)d(displa)m(ys)i(the)f(name)h(and)f(index)f(of)i(the)g
 b(arithmetic)i Fr(expression)f Fu(is)f(ev)-5 b(aluated)35
 b(according)g(to)f(the)g(rules)f(describ)s(ed)g(b)s(elo)m(w)630
 4251 y(\(see)38 b(Section)g(6.5)h([Shell)e(Arithmetic],)j(page)f
-(105\).)63 b(The)36 b Fr(expression)h Fu(undergo)s(es)g(the)630
+(106\).)63 b(The)36 b Fr(expression)h Fu(undergo)s(es)g(the)630
 4360 y(same)26 b(expansions)f(as)g(if)g(it)h(w)m(ere)g(within)e(double)
 h(quotes,)i(but)e(double)g(quote)g(c)m(haracters)630
 4470 y(in)40 b Fr(expression)f Fu(are)h(not)h(treated)f(sp)s(ecially)h
@@ -9077,7 +9077,7 @@ e Fr(expression)g Fu(and)g(return)f(a)i(status)g(of)f(zero)h(\(true\))
 630 5121 y(or)28 b(non-zero)g(\(false\).)41 b(Expressions)27
 b(are)h(comp)s(osed)f(of)h(the)g(primaries)f(describ)s(ed)g(b)s(elo)m
 (w)630 5230 y(in)36 b(Section)h(6.4)h([Bash)f(Conditional)g
-(Expressions],)g(page)g(103.)60 b(The)36 b(w)m(ords)g(b)s(et)m(w)m(een)
+(Expressions],)g(page)g(104.)60 b(The)36 b(w)m(ords)g(b)s(et)m(w)m(een)
 630 5340 y(the)27 b Ft([[)f Fu(and)h Ft(]])f Fu(do)h(not)g(undergo)f(w)
 m(ord)h(splitting)g(and)g(\014lename)g(expansion.)39
 b(The)27 b(shell)p eop end
@@ -9104,7 +9104,7 @@ g(to)g(the)g(rules)f(describ)s(ed)f(b)s(elo)m(w)h(in)630
 (iden)m(tical)h(to)g(`)p Ft(==)p Fu('.)46 b(If)31 b(the)h
 Ft(nocasematch)d Fu(shell)j(option)630 1461 y(\(see)42
 b(the)f(description)g(of)h Ft(shopt)d Fu(in)i(Section)h(4.3.2)h([The)e
-(Shopt)f(Builtin],)45 b(page)d(76\))630 1570 y(is)e(enabled,)i(the)e
+(Shopt)f(Builtin],)45 b(page)d(77\))630 1570 y(is)e(enabled,)i(the)e
 (matc)m(h)h(is)e(p)s(erformed)g(without)g(regard)h(to)h(the)f(case)g
 (of)g(alphab)s(etic)630 1680 y(c)m(haracters.)h(The)28
 b(return)e(v)-5 b(alue)28 b(is)g(0)g(if)g(the)g(string)g(matc)m(hes)h
@@ -9132,7 +9132,7 @@ b(not.)66 b(If)38 b(the)h(regular)g(expression)g(is)g(syn)m(tactically)
 i(incorrect,)i(the)c(conditional)630 3061 y(expression)e(returns)e(2.)
 61 b(If)37 b(the)g Ft(nocasematch)d Fu(shell)j(option)h(\(see)g(the)f
 (description)g(of)630 3170 y Ft(shopt)d Fu(in)h(Section)h(4.3.2)h([The)
-e(Shopt)f(Builtin],)k(page)e(76\))g(is)g(enabled,)g(the)g(matc)m(h)g
+e(Shopt)f(Builtin],)k(page)e(77\))g(is)g(enabled,)g(the)g(matc)m(h)g
 (is)630 3280 y(p)s(erformed)29 b(without)h(regard)h(to)g(the)f(case)i
 (of)e(alphab)s(etic)h(c)m(haracters.)630 3422 y(Y)-8
 b(ou)23 b(can)g(quote)g(an)m(y)g(part)g(of)g(the)g(pattern)f(to)i
@@ -9393,7 +9393,7 @@ TeXDict begin 19 24 bop 150 -116 a Fu(Chapter)30 b(3:)41
 b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(19)275 299
 y(When)42 b(the)i(copro)s(cess)f(is)g(executed,)48 b(the)43
 b(shell)g(creates)i(an)e(arra)m(y)g(v)-5 b(ariable)44
-b(\(see)g(Section)g(6.7)150 408 y([Arra)m(ys],)h(page)e(108\))g(named)e
+b(\(see)g(Section)g(6.7)150 408 y([Arra)m(ys],)h(page)e(109\))g(named)e
 Fr(NAME)48 b Fu(in)41 b(the)h(con)m(text)h(of)f(the)g(executing)h
 (shell.)75 b(The)41 b(standard)150 518 y(output)32 b(of)h
 Fr(command)i Fu(is)e(connected)g(via)g(a)g(pip)s(e)f(to)h(a)g(\014le)f
@@ -9474,7 +9474,7 @@ b(command)g(is)g(usually)h(a)f Fr(list)j Fu(enclosed)e(b)s(et)m(w)m
 (used,)i(but)e(the)150 5230 y(paren)m(theses)41 b(are)g(not)g
 (supplied,)h(the)e(braces)h(are)g(recommended.)71 b(When)40
 b(the)h(shell)g(is)f(in)h Fm(posix)150 5340 y Fu(mo)s(de)31
-b(\(see)h(Section)g(6.11)h([Bash)f(POSIX)e(Mo)s(de],)i(page)g(114\),)i
+b(\(see)h(Section)g(6.11)h([Bash)f(POSIX)e(Mo)s(de],)i(page)g(115\),)i
 Fr(fname)i Fu(m)m(ust)31 b(b)s(e)g(a)h(v)-5 b(alid)31
 b(shell)h(name)p eop end
 %%Page: 20 26
@@ -9482,7 +9482,7 @@ TeXDict begin 20 25 bop 150 -116 a Fu(Chapter)30 b(3:)41
 b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(20)150 299
 y(and)33 b(ma)m(y)h(not)f(b)s(e)g(the)h(same)f(as)h(one)g(of)f(the)h
 (sp)s(ecial)g(builtins)e(\(see)j(Section)f(4.4)g([Sp)s(ecial)g
-(Builtins],)150 408 y(page)d(82\).)41 b(When)30 b(not)g(in)g
+(Builtins],)150 408 y(page)d(83\).)41 b(When)30 b(not)g(in)g
 Fm(posix)f Fu(mo)s(de,)h(a)g(function)f(name)h(can)g(b)s(e)g(an)m(y)g
 (unquoted)f(shell)h(w)m(ord)f(that)150 518 y(do)s(es)h(not)h(con)m
 (tain)g(`)p Ft($)p Fu('.)275 664 y(An)m(y)d(redirections)g(\(see)h
@@ -9491,7 +9491,7 @@ Fm(posix)f Fu(mo)s(de,)h(a)g(function)f(name)h(can)g(b)s(e)g(an)m(y)g
 (the)h(function)g(is)g(executed.)59 b(F)-8 b(unction)37
 b(de\014nitions)f(are)h(deleted)f(using)150 883 y(the)31
 b Ft(-f)e Fu(option)i(to)g(the)g Ft(unset)e Fu(builtin)h(\(see)h
-(Section)g(4.1)h([Bourne)e(Shell)g(Builtins],)h(page)h(50\).)275
+(Section)g(4.1)h([Bourne)e(Shell)g(Builtins],)h(page)h(51\).)275
 1029 y(The)26 b(exit)i(status)g(of)f(a)h(function)f(de\014nition)g(is)g
 (zero)h(unless)f(a)g(syn)m(tax)h(error)f(o)s(ccurs)g(or)g(a)h(readonly)
 150 1139 y(function)k(with)f(the)i(same)f(name)g(already)h(exists.)46
@@ -9540,7 +9540,7 @@ Ft(-o)i(functrace)150 3367 y Fu(option)f(has)e(b)s(een)h(enabled)g
 b Ft(RETURN)f Fu(traps\),)j(and)e(the)h Ft(ERR)f Fu(trap)h(is)g(not)g
 (inherited)f(unless)g(the)h Ft(-o)c(errtrace)h Fu(shell)j(option)150
 3587 y(has)h(b)s(een)f(enabled.)55 b(See)35 b(Section)h(4.1)g([Bourne)f
-(Shell)g(Builtins],)i(page)f(50,)i(for)c(the)i(description)f(of)150
+(Shell)g(Builtins],)i(page)f(51,)i(for)c(the)i(description)f(of)150
 3696 y(the)c Ft(trap)e Fu(builtin.)275 3842 y(The)38
 b Ft(FUNCNEST)f Fu(v)-5 b(ariable,)42 b(if)d(set)h(to)g(a)g(n)m(umeric)
 f(v)-5 b(alue)39 b(greater)h(than)f(0,)j(de\014nes)d(a)g(maxim)m(um)150
@@ -9645,7 +9645,7 @@ b(ariable)32 b(at)g(a)g(previous)f(scop)s(e,)h(an)m(y)f(instance)i(of)e
 b(option)f(c)m(hanges)i(this)e(b)s(eha)m(vior\).)275
 5121 y(The)49 b Ft(-f)h Fu(option)g(to)h(the)g Ft(declare)d
 Fu(\()p Ft(typeset)p Fu(\))h(builtin)g(command)h(\(see)h(Section)g(4.2)
-h([Bash)150 5230 y(Builtins],)37 b(page)f(59\))g(will)f(list)h
+h([Bash)150 5230 y(Builtins],)37 b(page)f(60\))g(will)f(list)h
 (function)f(names)g(and)f(de\014nitions.)55 b(The)34
 b Ft(-F)h Fu(option)g(to)h Ft(declare)d Fu(or)150 5340
 y Ft(typeset)d Fu(will)j(list)g(the)f(function)g(names)g(only)h(\(and)f
@@ -9660,10 +9660,10 @@ b(F)-8 b(unctions)40 b(ma)m(y)g(b)s(e)e(exp)s(orted)h(so)g(that)h(c)m
 (executing)h(a)g(separate)h(shell)e(in)m(v)m(o)s(cation\))j
 (automatically)h(ha)m(v)m(e)150 518 y(them)i(de\014ned)f(with)h(the)h
 Ft(-f)f Fu(option)h(to)g(the)f Ft(export)f Fu(builtin)h(\(see)h
-(Section)g(4.1)h([Bourne)e(Shell)150 628 y(Builtins],)g(page)e(50\).)78
+(Section)g(4.1)h([Bourne)e(Shell)150 628 y(Builtins],)g(page)e(51\).)78
 b(The)42 b Ft(-f)g Fu(option)g(to)i(the)e Ft(unset)f
 Fu(builtin)h(\(see)i(Section)f(4.1)h([Bourne)e(Shell)150
-737 y(Builtins],)31 b(page)g(50\))h(will)f(delete)g(a)g(function)f
+737 y(Builtins],)31 b(page)g(51\))h(will)f(delete)g(a)g(function)f
 (de\014nition.)275 878 y(F)-8 b(unctions)33 b(ma)m(y)g(b)s(e)g
 (recursiv)m(e.)48 b(The)32 b Ft(FUNCNEST)f Fu(v)-5 b(ariable)34
 b(ma)m(y)f(b)s(e)f(used)g(to)i(limit)g(the)f(depth)f(of)150
@@ -9682,7 +9682,7 @@ Ft(value)d Fu(and)i(zero)h(or)f(more)g Ft(attributes)p
 Fu(.)71 b(A)m(ttributes)42 b(are)f(assigned)h(using)f(the)g
 Ft(declare)150 1835 y Fu(builtin)29 b(command)g(\(see)h(the)g
 (description)f(of)g(the)h Ft(declare)d Fu(builtin)i(in)g(Section)h(4.2)
-g([Bash)g(Builtins],)150 1945 y(page)h(59\).)42 b(The)30
+g([Bash)g(Builtins],)150 1945 y(page)h(60\).)42 b(The)30
 b Ft(export)f Fu(and)g Ft(readonly)f Fu(builtins)i(assign)h(sp)s
 (eci\014c)f(attributes.)275 2085 y(A)e(parameter)h(is)g(set)g(if)f(it)h
 (has)f(b)s(een)g(assigned)h(a)g(v)-5 b(alue.)40 b(The)28
@@ -9712,7 +9712,7 @@ Fu(,)f Ft(typeset)p Fu(,)h Ft(export)p Fu(,)g Ft(readonly)p
 Fu(,)f(and)g Ft(local)f Fu(builtin)150 3384 y(commands)31
 b(\()p Fr(declaration)i(commands)t Fu(\).)43 b(When)32
 b(in)f Fm(posix)f Fu(mo)s(de)h(\(see)h(Section)g(6.11)h([Bash)f(POSIX)
-150 3493 y(Mo)s(de],)h(page)f(114\),)i(these)e(builtins)f(ma)m(y)h(app)
+150 3493 y(Mo)s(de],)h(page)f(115\),)i(these)e(builtins)f(ma)m(y)h(app)
 s(ear)f(in)g(a)h(command)f(after)h(one)g(or)g(more)g(instances)g(of)150
 3603 y(the)f Ft(command)d Fu(builtin)i(and)g(retain)h(these)f
 (assignmen)m(t)i(statemen)m(t)g(prop)s(erties.)40 b(F)-8
@@ -9720,7 +9720,7 @@ b(or)31 b(example,)390 3744 y Ft(command)46 b(export)g(var=value)275
 3884 y Fu(In)29 b(the)h(con)m(text)i(where)d(an)h(assignmen)m(t)h
 (statemen)m(t)h(is)e(assigning)g(a)h(v)-5 b(alue)30 b(to)h(a)f(shell)g
 (v)-5 b(ariable)31 b(or)150 3994 y(arra)m(y)37 b(index)f(\(see)i
-(Section)g(6.7)f([Arra)m(ys],)i(page)f(108\),)i(the)d(`)p
+(Section)g(6.7)f([Arra)m(ys],)i(page)f(109\),)i(the)d(`)p
 Ft(+=)p Fu(')f(op)s(erator)h(will)g(app)s(end)e(to)j(or)f(add)150
 4103 y(to)29 b(the)g(v)-5 b(ariable's)30 b(previous)e(v)-5
 b(alue.)41 b(This)28 b(includes)g(argumen)m(ts)h(to)h(declaration)g
@@ -9737,7 +9737,7 @@ b(alue)26 b(is)e(usually)h(an)f(in)m(teger)i(constan)m(t,)i(but)c(ma)m
 (y)h(b)s(e)f(an)h(expression.)38 b(When)25 b(`)p Ft(+=)p
 Fu(')f(is)h(applied)150 4651 y(to)35 b(an)f(arra)m(y)h(v)-5
 b(ariable)34 b(using)g(comp)s(ound)f(assignmen)m(t)i(\(see)g(Section)g
-(6.7)g([Arra)m(ys],)h(page)f(108\),)i(the)150 4761 y(v)-5
+(6.7)g([Arra)m(ys],)h(page)f(109\),)i(the)150 4761 y(v)-5
 b(ariable's)33 b(v)-5 b(alue)34 b(is)e(not)h(unset)f(\(as)h(it)g(is)g
 (when)f(using)g(`)p Ft(=)p Fu('\),)i(and)e(new)g(v)-5
 b(alues)33 b(are)g(app)s(ended)d(to)k(the)150 4871 y(arra)m(y)k(b)s
@@ -9752,7 +9752,7 @@ b(v)-5 b(alue.)275 5230 y(A)28 b(v)-5 b(ariable)28 b(can)h(b)s(e)e
 (assigned)h(the)h Ft(nameref)d Fu(attribute)i(using)g(the)g
 Ft(-n)f Fu(option)i(to)g(the)f Ft(declare)e Fu(or)150
 5340 y Ft(local)f Fu(builtin)h(commands)g(\(see)i(Section)f(4.2)h
-([Bash)f(Builtins],)h(page)f(59\))h(to)f(create)i(a)e
+([Bash)f(Builtins],)h(page)f(60\))h(to)f(create)i(a)e
 Fr(nameref)p Fu(,)g(or)g(a)p eop end
 %%Page: 23 29
 TeXDict begin 23 28 bop 150 -116 a Fu(Chapter)30 b(3:)41
@@ -9792,7 +9792,7 @@ b(nameref)d(v)-5 b(ariables)36 b(can)g(reference)g(arra)m(y)g(v)-5
 b(ariables)37 b(and)e(subscripted)f(arra)m(y)i(v)-5 b(ariables.)150
 2031 y(Namerefs)36 b(can)f(b)s(e)g(unset)g(using)g(the)h
 Ft(-n)e Fu(option)i(to)g(the)g Ft(unset)e Fu(builtin)h(\(see)h(Section)
-g(4.1)h([Bourne)150 2141 y(Shell)43 b(Builtins],)j(page)e(50\).)79
+g(4.1)h([Bourne)150 2141 y(Shell)43 b(Builtins],)j(page)e(51\).)79
 b(Otherwise,)45 b(if)e Ft(unset)e Fu(is)i(executed)h(with)e(the)h(name)
 g(of)g(a)g(nameref)150 2251 y(v)-5 b(ariable)31 b(as)g(an)f(argumen)m
 (t,)h(the)g(v)-5 b(ariable)31 b(referenced)f(b)m(y)g(the)h(nameref)f(v)
@@ -9811,7 +9811,7 @@ b(parameters)d(ma)m(y)150 3040 y(not)j(b)s(e)f(assigned)h(to)g(with)f
 (assignmen)m(t)i(statemen)m(ts.)61 b(The)36 b Ft(set)g
 Fu(and)g Ft(shift)f Fu(builtins)h(are)h(used)f(to)150
 3149 y(set)k(and)f(unset)f(them)i(\(see)g(Chapter)f(4)g([Shell)h
-(Builtin)g(Commands],)h(page)f(50\).)68 b(The)39 b(p)s(ositional)150
+(Builtin)g(Commands],)h(page)f(51\).)68 b(The)39 b(p)s(ositional)150
 3259 y(parameters)44 b(are)g(temp)s(orarily)g(replaced)h(when)e(a)h
 (shell)g(function)g(is)g(executed)g(\(see)h(Section)g(3.3)150
 3369 y([Shell)30 b(F)-8 b(unctions],)32 b(page)f(19\).)275
@@ -9902,7 +9902,7 @@ b(Section)h(7.2)f([Job)f(Con)m(trol)h(Builtins],)g(page)h(124\).)150
 3381 y(Scripts],)g(page)g(49\),)h Ft($0)e Fu(is)h(set)g(to)g(the)f
 (name)h(of)f(that)h(\014le.)41 b(If)28 b(Bash)g(is)h(started)g(with)f
 (the)630 3491 y Ft(-c)i Fu(option)h(\(see)h(Section)g(6.1)f([In)m(v)m
-(oking)h(Bash],)g(page)f(98\),)i(then)d Ft($0)g Fu(is)h(set)g(to)h(the)
+(oking)h(Bash],)g(page)f(99\),)i(then)d Ft($0)g Fu(is)h(set)g(to)h(the)
 f(\014rst)630 3601 y(argumen)m(t)g(after)g(the)g(string)g(to)g(b)s(e)f
 (executed,)i(if)f(one)g(is)f(presen)m(t.)42 b(Otherwise,)31
 b(it)g(is)f(set)630 3710 y(to)h(the)g(\014lename)f(used)g(to)h(in)m(v)m
@@ -9949,7 +9949,7 @@ b(The)24 b(only)150 1573 y(exceptions)i(to)f(this)g(are)g(the)g
 (3.4.2)i([Sp)s(ecial)e(P)m(arameters],)150 1683 y(page)31
 b(23\),)h(and)e Ft("${)p Fj(name)p Ft([@]}")d Fu(and)i
 Ft(${)p Fj(name)p Ft([*]})f Fu(\(see)j(Section)h(6.7)f([Arra)m(ys],)g
-(page)g(108\).)150 1878 y Fk(3.5.1)63 b(Brace)40 b(Expansion)150
+(page)g(109\).)150 1878 y Fk(3.5.1)63 b(Brace)40 b(Expansion)150
 2025 y Fu(Brace)k(expansion)e(is)h(a)g(mec)m(hanism)g(to)g(generate)h
 (arbitrary)f(strings)f(sharing)g(a)h(common)g(pre\014x)150
 2134 y(and)31 b(su\016x,)f(either)i(of)f(whic)m(h)g(can)h(b)s(e)e(empt)
@@ -10054,7 +10054,7 @@ Ft(+)p Fu(')f(or)h(a)f(`)p Ft(-)p Fu(',)j(the)d(tilde-pre\014x)g(is)h
 (y)m(ed)h(b)m(y)g(the)f Ft(dirs)g Fu(builtin)g(in)m(v)m(ok)m(ed)i(with)
 e(the)g(c)m(haracters)150 2674 y(follo)m(wing)40 b(tilde)f(in)g(the)f
 (tilde-pre\014x)h(as)g(an)f(argumen)m(t)h(\(see)h(Section)f(6.8)h([The)
-e(Directory)i(Stac)m(k],)150 2783 y(page)34 b(110\).)50
+e(Directory)i(Stac)m(k],)150 2783 y(page)34 b(111\).)50
 b(If)32 b(the)h(tilde-pre\014x,)h(sans)e(the)h(tilde,)i(consists)e(of)g
 (a)h(n)m(um)m(b)s(er)d(without)i(a)g(leading)h(`)p Ft(+)p
 Fu(')f(or)150 2893 y(`)p Ft(-)p Fu(',)e(tilde)g(expansion)f(assumes)g
@@ -10123,7 +10123,7 @@ Fi({)p Fr(parameter)7 b Fi(})p Fu(,)32 b(whic)m(h)f(substitutes)g(the)f
 b(The)34 b Fr(parameter)41 b Fu(is)34 b(a)h(shell)f(parameter)h(as)f
 (describ)s(ed)f(ab)s(o)m(v)m(e)j(\(see)f(Section)g(3.4)g([Shell)150
 2230 y(P)m(arameters],)28 b(page)f(22\))g(or)f(an)f(arra)m(y)h
-(reference)h(\(see)f(Section)h(6.7)g([Arra)m(ys],)g(page)g(108\).)41
+(reference)h(\(see)f(Section)h(6.7)g([Arra)m(ys],)g(page)g(109\).)41
 b(The)25 b(braces)150 2340 y(are)32 b(required)g(when)f
 Fr(parameter)39 b Fu(is)32 b(a)h(p)s(ositional)f(parameter)h(with)f
 (more)g(than)g(one)g(digit,)i(or)e(when)150 2449 y Fr(parameter)37
@@ -10237,7 +10237,7 @@ b(alue)31 b(of)g Fr(parameter)37 b Fu(starting)31 b(at)h(the)e(c)m
 Fu(and)c(extending)h(to)g(the)g(end)f(of)g(the)h(v)-5
 b(alue.)42 b Fr(length)31 b Fu(and)f Fr(o\013set)k Fu(are)630
 518 y(arithmetic)e(expressions)e(\(see)h(Section)g(6.5)h([Shell)e
-(Arithmetic],)i(page)f(105\).)630 655 y(If)39 b Fr(o\013set)k
+(Arithmetic],)i(page)f(106\).)630 655 y(If)39 b Fr(o\013set)k
 Fu(ev)-5 b(aluates)41 b(to)f(a)g(n)m(um)m(b)s(er)f(less)h(than)f(zero,)
 k(the)d(v)-5 b(alue)40 b(is)g(used)e(as)i(an)g(o\013set)630
 765 y(in)33 b(c)m(haracters)i(from)f(the)f(end)g(of)h(the)g(v)-5
@@ -10463,7 +10463,7 @@ Ft(/)p Fu(')630 4408 y(follo)m(wing)32 b Fr(pattern)e
 Fu(ma)m(y)h(b)s(e)f(omitted.)630 4545 y(If)75 b(the)h
 Ft(patsub_replacement)71 b Fu(shell)76 b(option)h(is)e(enabled)h(using)
 g Ft(shopt)e Fu(\(see)630 4655 y(Section)38 b(4.3.2)h([The)f(Shopt)e
-(Builtin],)k(page)e(76\),)j(an)m(y)d(unquoted)e(instances)i(of)g(`)p
+(Builtin],)k(page)e(77\),)j(an)m(y)d(unquoted)e(instances)i(of)g(`)p
 Ft(&)p Fu(')f(in)630 4765 y Fr(string)42 b Fu(are)34
 b(replaced)g(with)g(the)g(matc)m(hing)h(p)s(ortion)e(of)h
 Fr(pattern)p Fu(.)52 b(This)33 b(is)g(in)m(tended)h(to)630
@@ -10523,7 +10523,7 @@ h(`)p Ft(\\abcxyzdef)p Fu('.)630 4453 y(It)g(should)g(rarely)g(b)s(e)g
 b(double)g(quotes.)630 4623 y(If)j(the)h Ft(nocasematch)d
 Fu(shell)i(option)h(\(see)h(the)f(description)f(of)h
 Ft(shopt)e Fu(in)i(Section)g(4.3.2)630 4732 y([The)23
-b(Shopt)g(Builtin],)j(page)e(76\))h(is)e(enabled,)i(the)f(matc)m(h)g
+b(Shopt)g(Builtin],)j(page)e(77\))h(is)e(enabled,)i(the)f(matc)m(h)g
 (is)g(p)s(erformed)e(without)h(regard)630 4842 y(to)31
 b(the)g(case)g(of)g(alphab)s(etic)g(c)m(haracters.)630
 5011 y(If)24 b Fr(parameter)31 b Fu(is)24 b(`)p Ft(@)p
@@ -10604,7 +10604,7 @@ b(bac)m(k-)1110 4189 y(slash)e(escap)s(e)h(sequences)f(expanded)g(as)g
 (string)g(that)g(is)g(the)g(result)g(of)g(expanding)f(the)h(v)-5
 b(alue)24 b(of)1110 4573 y Fr(parameter)31 b Fu(as)24
 b(if)f(it)h(w)m(ere)g(a)g(prompt)f(string)h(\(see)g(Section)h(6.9)g
-([Con)m(trolling)1110 4682 y(the)31 b(Prompt],)f(page)h(111\).)630
+([Con)m(trolling)1110 4682 y(the)31 b(Prompt],)f(page)h(112\).)630
 4847 y Ft(A)432 b Fu(The)24 b(expansion)g(is)g(a)h(string)f(in)g(the)g
 (form)g(of)h(an)f(assignmen)m(t)h(statemen)m(t)h(or)1110
 4956 y Ft(declare)h Fu(command)i(that,)h(if)f(ev)-5 b(aluated,)31
@@ -10620,7 +10620,7 @@ TeXDict begin 35 40 bop 150 -116 a Fu(Chapter)30 b(3:)41
 b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(35)1110 299
 y(as)37 b(a)g(sequence)f(of)h(quoted)g(k)m(ey-v)-5 b(alue)38
 b(pairs)e(\(see)h(Section)h(6.7)f([Arra)m(ys],)1110 408
-y(page)29 b(108\).)41 b(The)28 b(k)m(eys)g(and)f(v)-5
+y(page)29 b(109\).)41 b(The)28 b(k)m(eys)g(and)f(v)-5
 b(alues)29 b(are)f(quoted)g(in)f(a)i(format)f(that)g(can)h(b)s(e)1110
 518 y(reused)h(as)g(input.)630 675 y Ft(a)432 b Fu(The)30
 b(expansion)g(is)g(a)h(string)f(consisting)h(of)g(\015ag)g(v)-5
@@ -10749,7 +10749,7 @@ b(al.)76 b(The)41 b(result)h(is)g(treated)h(as)f(the)g(arithmetic)h
 y(Arithmetic)31 b(expansions)f(ma)m(y)h(b)s(e)f(nested.)275
 3933 y(The)k(ev)-5 b(aluation)37 b(is)f(p)s(erformed)e(according)i(to)g
 (the)g(rules)f(listed)h(b)s(elo)m(w)g(\(see)g(Section)g(6.5)h([Shell)
-150 4043 y(Arithmetic],)29 b(page)e(105\).)41 b(If)27
+150 4043 y(Arithmetic],)29 b(page)e(106\).)41 b(If)27
 b(the)f(expression)h(is)f(in)m(v)-5 b(alid,)29 b(Bash)d(prin)m(ts)g(a)i
 (message)f(indicating)h(failure)150 4152 y(to)23 b(the)g(standard)f
 (error,)j(do)s(es)d(not)h(p)s(erform)e(the)i(substitution,)h(and)f(do)s
@@ -10844,7 +10844,7 @@ f(n)m(ull)g(argumen)m(t)h(remo)m(v)-5 b(al.)150 4864
 y Fk(3.5.8)63 b(Filename)41 b(Expansion)150 5011 y Fu(After)30
 b(w)m(ord)f(splitting,)i(unless)d(the)i Ft(-f)f Fu(option)h(has)f(b)s
 (een)g(set)h(\(see)g(Section)h(4.3.1)g([The)e(Set)h(Builtin],)150
-5121 y(page)d(71\),)i(Bash)d(scans)h(eac)m(h)h(w)m(ord)e(for)g(the)h(c)
+5121 y(page)d(72\),)i(Bash)d(scans)h(eac)m(h)h(w)m(ord)e(for)g(the)h(c)
 m(haracters)g(`)p Ft(*)p Fu(',)h(`)p Ft(?)p Fu(',)g(and)e(`)p
 Ft([)p Fu('.)39 b(If)26 b(one)h(of)g(these)f(c)m(haracters)150
 5230 y(app)s(ears,)44 b(and)d(is)h(not)g(quoted,)j(then)d(the)g(w)m
@@ -10858,7 +10858,7 @@ b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(38)150 299
 y(page)21 b(38\),)j(sub)5 b(ject)20 b(to)h(the)g(v)-5
 b(alue)21 b(of)g(the)f Ft(GLOBSORT)e Fu(shell)j(v)-5
 b(ariable)21 b(\(see)h(Section)f(5.2)g([Bash)g(V)-8 b(ariables],)150
-408 y(page)31 b(85\).)275 547 y(If)d(no)g(matc)m(hing)i(\014lenames)f
+408 y(page)31 b(86\).)275 547 y(If)d(no)g(matc)m(hing)i(\014lenames)f
 (are)g(found,)f(and)g(the)h(shell)g(option)g Ft(nullglob)e
 Fu(is)h(disabled,)h(the)g(w)m(ord)150 656 y(is)38 b(left)g(unc)m
 (hanged.)62 b(If)37 b(the)g Ft(nullglob)e Fu(option)j(is)g(set,)i(and)d
@@ -10892,7 +10892,7 @@ b(.)275 1809 y(When)30 b(matc)m(hing)i(a)f(\014lename,)h(the)f(slash)f
 (describ)s(ed)e(b)s(elo)m(w)h(\(see)i(Section)f(3.5.8.1)i([P)m(attern)e
 (Matc)m(hing],)i(page)e(38\).)275 2166 y(See)d(the)g(description)g(of)g
 Ft(shopt)e Fu(in)i(Section)g(4.3.2)i([The)e(Shopt)f(Builtin],)i(page)g
-(76,)g(for)f(a)g(descrip-)150 2276 y(tion)j(of)f(the)h
+(77,)g(for)f(a)g(descrip-)150 2276 y(tion)j(of)f(the)h
 Ft(nocaseglob)p Fu(,)d Ft(nullglob)p Fu(,)g Ft(globskipdots)p
 Fu(,)f Ft(failglob)p Fu(,)i(and)h Ft(dotglob)e Fu(options.)275
 2414 y(The)36 b Ft(GLOBIGNORE)d Fu(shell)k(v)-5 b(ariable)37
@@ -10924,7 +10924,7 @@ b(The)36 b Ft(GLOBIGNORE)d Fu(pattern)k(matc)m(hing)h(honors)150
 Ft(GLOBSORT)150 3648 y Fu(shell)j(v)-5 b(ariable)30 b(con)m(trols)h(ho)
 m(w)e(the)h(results)f(are)g(sorted,)h(as)f(describ)s(ed)g(b)s(elo)m(w)g
 (\(see)h(Section)g(5.2)h([Bash)150 3757 y(V)-8 b(ariables],)32
-b(page)f(85\).)150 3960 y Fk(3.5.8.1)63 b(P)m(attern)40
+b(page)f(86\).)150 3960 y Fk(3.5.8.1)63 b(P)m(attern)40
 b(Matc)m(hing)150 4107 y Fu(An)m(y)24 b(c)m(haracter)h(that)f(app)s
 (ears)f(in)g(a)h(pattern,)i(other)e(than)f(the)h(sp)s(ecial)g(pattern)g
 (c)m(haracters)h(describ)s(ed)150 4217 y(b)s(elo)m(w,)31
@@ -11104,7 +11104,7 @@ b(If)34 b Fi({)p Fr(v)-5 b(arname)5 b Fi(})34 b Fu(is)g(supplied,)g
 4273 y(man)m(ually)d(without)g(using)g(the)g Ft(exec)e
 Fu(builtin.)48 b(The)32 b Ft(varredir_close)d Fu(shell)k(option)g
 (manages)h(this)150 4383 y(b)s(eha)m(vior)c(\(see)i(Section)f(4.3.2)h
-([The)e(Shopt)g(Builtin],)h(page)g(76\).)275 4533 y(In)c(the)i(follo)m
+([The)e(Shopt)g(Builtin],)h(page)g(77\).)275 4533 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
 4642 y(acter)42 b(of)f(the)g(redirection)g(op)s(erator)g(is)g(`)p
@@ -11421,7 +11421,7 @@ f(remem)m(b)s(er)f(the)h(full)f(pathnames)g(of)h(executable)h(\014les)e
 (to)330 1631 y(a)m(v)m(oid)e(m)m(ultiple)f Ft(PATH)f
 Fu(searc)m(hes)i(\(see)f(the)g(description)g(of)f Ft(hash)g
 Fu(in)g(Section)i(4.1)f([Bourne)g(Shell)330 1740 y(Builtins],)h(page)f
-(50\).)46 b(Bash)31 b(p)s(erforms)f(a)i(full)g(searc)m(h)g(of)g(the)f
+(51\).)46 b(Bash)31 b(p)s(erforms)f(a)i(full)g(searc)m(h)g(of)g(the)f
 (directories)i(in)e Ft($PATH)f Fu(only)i(if)g(the)330
 1850 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
@@ -11478,9 +11478,9 @@ y Fq(\017)60 b Fu(Options)30 b(enabled)h(at)g(in)m(v)m(o)s(cation)i
 TeXDict begin 46 51 bop 150 -116 a Fu(Chapter)30 b(3:)41
 b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(46)225 299
 y Fq(\017)60 b Fu(Options)30 b(enabled)g(b)m(y)h Ft(shopt)d
-Fu(\(see)k(Section)f(4.3.2)h([The)e(Shopt)g(Builtin],)h(page)g(76\).)
+Fu(\(see)k(Section)f(4.3.2)h([The)e(Shopt)g(Builtin],)h(page)g(77\).)
 225 434 y Fq(\017)60 b Fu(Shell)30 b(aliases)i(de\014ned)d(with)h
-Ft(alias)f Fu(\(see)j(Section)f(6.6)g([Aliases],)h(page)g(107\).)225
+Ft(alias)f Fu(\(see)j(Section)f(6.6)g([Aliases],)h(page)g(108\).)225
 570 y Fq(\017)60 b Fu(V)-8 b(arious)49 b(pro)s(cess)f
 Fm(id)p Fu(s,)53 b(including)47 b(those)i(of)f(bac)m(kground)g(jobs)g
 (\(see)h(Section)g(3.2.4)h([Lists],)330 679 y(page)31
@@ -11520,7 +11520,7 @@ y(mands)c(are)h(in)m(v)m(ok)m(ed)i(in)d(a)i(subshell)e(en)m(vironmen)m
 b(p)s(ossibly)e(in)h(the)h(last)g(elemen)m(t)h(dep)s(ending)c(on)j(the)
 f(v)-5 b(alue)32 b(of)f(the)h Ft(lastpipe)d Fu(shell)i(option)h(\(see)
 150 3159 y(Section)37 b(4.3.2)i([The)d(Shopt)g(Builtin],)j(page)e
-(76\),)j(are)d(also)h(executed)f(in)f(a)h(subshell)f(en)m(vironmen)m
+(77\),)j(are)d(also)h(executed)f(in)f(a)h(subshell)f(en)m(vironmen)m
 (t.)150 3268 y(Changes)27 b(made)g(to)h(the)g(subshell)e(en)m(vironmen)
 m(t)i(cannot)g(a\013ect)h(the)e(shell's)h(execution)g(en)m(vironmen)m
 (t.)275 3405 y(When)i(the)h(shell)g(is)g(in)f Fm(posix)h
@@ -11531,7 +11531,7 @@ b(When)35 b(not)g(in)g Fm(posix)f Fu(mo)s(de,)i(Bash)150
 3624 y(clears)41 b(the)f Ft(-e)f Fu(option)h(in)g(suc)m(h)f(subshells)g
 (See)h(the)g(description)g(of)g(the)g Ft(inherit_errexit)c
 Fu(shell)150 3733 y(option)30 b(\(see)h(Section)g(4.2)g([Bash)f
-(Builtins],)h(page)g(59\))g(for)f(ho)m(w)g(to)g(con)m(trol)i(this)e(b)s
+(Builtins],)h(page)g(60\))g(for)f(ho)m(w)g(to)g(con)m(trol)i(this)e(b)s
 (eha)m(vior)g(when)f(not)150 3843 y(in)h Fm(posix)g Fu(mo)s(de.)275
 3979 y(If)23 b(a)h(command)g(is)g(follo)m(w)m(ed)h(b)m(y)f(a)g(`)p
 Ft(&)p Fu(')g(and)f(job)h(con)m(trol)h(is)f(not)g(activ)m(e,)k(the)c
@@ -11581,7 +11581,7 @@ h(v)-5 b(ariable)33 b(assignmen)m(ts)f(are)h(part)f(of)g(that)h(com-)
 b(are)f(lo)s(cal)i(to)f(the)g(function)f(and)g(exp)s(orted)g(to)h(that)
 g(function's)f(c)m(hildren.)275 1268 y(If)g(the)h Ft(-k)g
 Fu(option)g(is)g(set)h(\(see)g(Section)g(4.3.1)g([The)f(Set)g
-(Builtin],)h(page)g(71\),)h(then)e(all)g(parameter)150
+(Builtin],)h(page)g(72\),)h(then)e(all)g(parameter)150
 1378 y(assignmen)m(ts)f(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
 1487 y(command)g(name.)275 1643 y(When)h(Bash)h(in)m(v)m(ok)m(es)i(an)e
@@ -11638,7 +11638,7 @@ b(\(see)35 b(Sec-)150 4965 y(tion)c(3.4.2)h([Sp)s(ecial)f(P)m
 (syn)m(tax)g(error)150 5230 y(o)s(ccurs,)38 b(in)f(whic)m(h)f(case)i
 (it)f(exits)g(with)g(a)g(non-zero)g(v)-5 b(alue.)60 b(See)37
 b(also)h(the)e Ft(exit)g Fu(builtin)g(command)150 5340
-y(\(see)31 b(Section)h(4.1)f([Bourne)f(Shell)h(Builtins],)g(page)g(50.)
+y(\(see)31 b(Section)h(4.1)f([Bourne)f(Shell)h(Builtins],)g(page)g(51.)
 p eop end
 %%Page: 48 54
 TeXDict begin 48 53 bop 150 -116 a Fu(Chapter)30 b(3:)41
@@ -11655,175 +11655,204 @@ Ft(SIGINT)p Fu(,)f(it)h(breaks)f(out)h(of)g(an)m(y)f(executing)i(lo)s
 Ft(SIGQUIT)p Fu(.)62 b(If)38 b(job)g(con)m(trol)h(is)g(in)e(e\013ect)j
 (\(see)f(Chapter)f(7)h([Job)f(Con)m(trol],)150 884 y(page)31
 b(123\),)h(Bash)f(ignores)g Ft(SIGTTIN)p Fu(,)d Ft(SIGTTOU)p
-Fu(,)h(and)h Ft(SIGTSTP)p Fu(.)275 1014 y(The)25 b Ft(trap)g
+Fu(,)h(and)h Ft(SIGTSTP)p Fu(.)275 1026 y(The)25 b Ft(trap)g
 Fu(builtin)h(mo)s(di\014es)g(the)g(shell's)h(signal)g(handling,)f(as)h
 (describ)s(ed)e(b)s(elo)m(w)i(\(see)g(Section)g(4.1)150
-1124 y([Bourne)j(Shell)h(Builtins],)g(page)g(50.)275
-1253 y(Non-builtin)38 b(commands)f(Bash)h(executes)i(ha)m(v)m(e)f
+1136 y([Bourne)j(Shell)h(Builtins],)g(page)g(51.)275
+1278 y(Non-builtin)38 b(commands)f(Bash)h(executes)i(ha)m(v)m(e)f
 (signal)f(handlers)f(set)i(to)g(the)f(v)-5 b(alues)38
-b(inherited)150 1363 y(b)m(y)c(the)h(shell)f(from)g(its)h(paren)m(t,)h
+b(inherited)150 1387 y(b)m(y)c(the)h(shell)f(from)g(its)h(paren)m(t,)h
 (unless)d Ft(trap)g Fu(sets)i(them)f(to)h(b)s(e)f(ignored,)i(in)e(whic)
-m(h)g(case)h(the)g(c)m(hild)150 1473 y(pro)s(cess)26
+m(h)g(case)h(the)g(c)m(hild)150 1497 y(pro)s(cess)26
 b(will)g(ignore)h(them)f(as)g(w)m(ell.)40 b(When)26 b(job)g(con)m(trol)
 i(is)e(not)g(in)g(e\013ect,)j(async)m(hronous)c(commands)150
-1582 y(ignore)36 b Ft(SIGINT)e Fu(and)h Ft(SIGQUIT)e
+1606 y(ignore)36 b Ft(SIGINT)e Fu(and)h Ft(SIGQUIT)e
 Fu(in)j(addition)f(to)i(these)f(inherited)f(handlers.)55
-b(Commands)35 b(run)f(as)i(a)150 1692 y(result)27 b(of)h(command)f
+b(Commands)35 b(run)f(as)i(a)150 1716 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 Ft(SIGTTIN)p Fu(,)150 1801 y Ft(SIGTTOU)p
-Fu(,)h(and)g Ft(SIGTSTP)p Fu(.)275 1931 y(The)h(shell)i(exits)g(b)m(y)f
+(trol)h(signals)f Ft(SIGTTIN)p Fu(,)150 1826 y Ft(SIGTTOU)p
+Fu(,)h(and)g Ft(SIGTSTP)p Fu(.)275 1968 y(The)h(shell)i(exits)g(b)m(y)f
 (default)g(up)s(on)f(receipt)i(of)f(a)h Ft(SIGHUP)p Fu(.)42
 b(Before)32 b(exiting,)h(an)e(in)m(teractiv)m(e)j(shell)150
-2041 y(resends)i(the)h Ft(SIGHUP)e Fu(to)i(all)h(jobs,)g(running)d(or)i
+2077 y(resends)i(the)h Ft(SIGHUP)e Fu(to)i(all)h(jobs,)g(running)d(or)i
 (stopp)s(ed.)59 b(The)36 b(shell)h(sends)f Ft(SIGCONT)e
-Fu(to)k(stopp)s(ed)150 2150 y(jobs)g(to)h(ensure)e(that)i(they)g
+Fu(to)k(stopp)s(ed)150 2187 y(jobs)g(to)h(ensure)e(that)i(they)g
 (receiv)m(e)h(the)f Ft(SIGHUP)d Fu(\(See)j(Chapter)f(7)h([Job)f(Con)m
-(trol],)j(page)e(123,)j(for)150 2260 y(more)31 b(information)g(ab)s
+(trol],)j(page)e(123,)j(for)150 2296 y(more)31 b(information)g(ab)s
 (out)g(running)e(and)h(stopp)s(ed)g(jobs\).)43 b(T)-8
 b(o)31 b(prev)m(en)m(t)h(the)f(shell)g(from)f(sending)h(the)150
-2369 y Ft(SIGHUP)36 b Fu(signal)i(to)g(a)f(particular)h(job,)h(remo)m
+2406 y Ft(SIGHUP)36 b Fu(signal)i(to)g(a)f(particular)h(job,)h(remo)m
 (v)m(e)g(it)f(from)f(the)g(jobs)g(table)h(with)f(the)h
-Ft(disown)d Fu(builtin)150 2479 y(\(see)i(Section)g(7.2)f([Job)g(Con)m
+Ft(disown)d Fu(builtin)150 2516 y(\(see)i(Section)g(7.2)f([Job)g(Con)m
 (trol)h(Builtins],)h(page)e(124\))i(or)e(mark)f(it)i(not)f(to)h(receiv)
-m(e)g Ft(SIGHUP)d Fu(using)150 2589 y Ft(disown)29 b(-h)p
-Fu(.)275 2718 y(If)36 b(the)h Ft(huponexit)d Fu(shell)j(option)g(has)g
+m(e)g Ft(SIGHUP)d Fu(using)150 2625 y Ft(disown)29 b(-h)p
+Fu(.)275 2767 y(If)36 b(the)h Ft(huponexit)d Fu(shell)j(option)g(has)g
 (b)s(een)f(set)h(using)g Ft(shopt)e Fu(\(see)j(Section)g(4.3.2)g([The)f
-(Shopt)150 2828 y(Builtin],)31 b(page)g(76\),)h(Bash)f(sends)e(a)i
+(Shopt)150 2877 y(Builtin],)31 b(page)g(77\),)h(Bash)f(sends)e(a)i
 Ft(SIGHUP)e Fu(to)i(all)g(jobs)f(when)f(an)i(in)m(teractiv)m(e)i(login)
-e(shell)g(exits.)275 2958 y(If)d(Bash)h(is)g(w)m(aiting)h(for)e(a)i
+e(shell)g(exits.)275 3019 y(If)d(Bash)h(is)g(w)m(aiting)h(for)e(a)i
 (command)e(to)i(complete)g(and)e(receiv)m(es)j(a)e(signal)g(for)g(whic)
-m(h)f(a)i(trap)e(has)150 3067 y(b)s(een)e(set,)j(the)f(trap)f(will)g
-(not)h(b)s(e)e(executed)i(un)m(til)g(the)f(command)g(completes.)41
-b(If)27 b(Bash)g(is)h(w)m(aiting)g(for)150 3177 y(an)35
-b(async)m(hronous)g(command)g(via)h(the)g Ft(wait)e Fu(builtin,)i(and)f
-(it)h(receiv)m(es)h(a)e(signal)h(for)f(whic)m(h)g(a)h(trap)150
-3287 y(has)27 b(b)s(een)g(set,)h(the)g Ft(wait)e Fu(builtin)h(will)g
-(return)f(immediately)j(with)e(an)g(exit)h(status)g(greater)g(than)f
-(128,)150 3396 y(immediately)32 b(after)f(whic)m(h)f(the)g(shell)h
-(executes)g(the)g(trap.)275 3526 y(When)41 b(job)g(con)m(trol)h(is)g
-(not)f(enabled,)k(and)40 b(Bash)i(is)f(w)m(aiting)i(for)e(a)h
-(foreground)e(command)h(to)150 3636 y(complete,)35 b(the)e(shell)h
-(receiv)m(es)g(k)m(eyb)s(oard-generated)g(signals)g(suc)m(h)e(as)i
-Ft(SIGINT)d Fu(\(usually)i(generated)150 3745 y(b)m(y)e(`)p
-Ft(^C)p Fu('\))h(that)g(users)e(commonly)i(in)m(tend)g(to)g(send)e(to)j
-(that)f(command.)43 b(This)31 b(happ)s(ens)e(b)s(ecause)j(the)150
-3855 y(shell)23 b(and)g(the)h(command)f(are)g(in)g(the)h(same)f(pro)s
+m(h)f(a)i(trap)e(has)150 3128 y(b)s(een)k(set,)h(it)g(will)g(not)f
+(execute)i(the)f(trap)f(un)m(til)g(the)h(command)f(completes.)48
+b(If)32 b(Bash)g(is)h(w)m(aiting)g(for)150 3238 y(an)i(async)m(hronous)
+g(command)g(via)h(the)g Ft(wait)e Fu(builtin,)i(and)f(it)h(receiv)m(es)
+h(a)e(signal)h(for)f(whic)m(h)g(a)h(trap)150 3347 y(has)27
+b(b)s(een)g(set,)h(the)g Ft(wait)e Fu(builtin)h(will)g(return)f
+(immediately)j(with)e(an)g(exit)h(status)g(greater)g(than)f(128,)150
+3457 y(immediately)32 b(after)f(whic)m(h)f(the)g(shell)h(executes)g
+(the)g(trap.)275 3599 y(When)41 b(job)g(con)m(trol)h(is)g(not)f
+(enabled,)k(and)40 b(Bash)i(is)f(w)m(aiting)i(for)e(a)h(foreground)e
+(command)h(to)150 3709 y(complete,)35 b(the)e(shell)h(receiv)m(es)g(k)m
+(eyb)s(oard-generated)g(signals)g(suc)m(h)e(as)i Ft(SIGINT)d
+Fu(\(usually)i(generated)150 3818 y(b)m(y)e(`)p Ft(^C)p
+Fu('\))h(that)g(users)e(commonly)i(in)m(tend)g(to)g(send)e(to)j(that)f
+(command.)43 b(This)31 b(happ)s(ens)e(b)s(ecause)j(the)150
+3928 y(shell)23 b(and)g(the)h(command)f(are)g(in)g(the)h(same)f(pro)s
 (cess)g(group)g(as)h(the)f(terminal,)i(and)e(`)p Ft(^C)p
-Fu(')g(sends)g Ft(SIGINT)150 3964 y Fu(to)35 b(all)g(pro)s(cesses)f(in)
-g(that)g(pro)s(cess)g(group.)51 b(See)35 b(Chapter)e(7)i([Job)f(Con)m
-(trol],)i(page)f(123,)h(for)e(a)h(more)150 4074 y(in-depth)30
-b(discussion)f(of)i(pro)s(cess)f(groups.)275 4204 y(When)35
-b(Bash)h(is)g(running)f(without)h(job)f(con)m(trol)i(enabled)f(and)g
-(receiv)m(es)h Ft(SIGINT)e Fu(while)h(w)m(aiting)150
-4313 y(for)g(a)h(foreground)f(command,)i(it)f(w)m(aits)g(un)m(til)g
-(that)g(foreground)f(command)g(terminates)h(and)f(then)150
-4423 y(decides)31 b(what)f(to)h(do)f(ab)s(out)g(the)h
-Ft(SIGINT)p Fu(:)199 4553 y(1.)61 b(If)29 b(the)h(command)f(terminates)
-i(due)d(to)j(the)e Ft(SIGINT)p Fu(,)g(Bash)g(concludes)h(that)g(the)g
-(user)f(mean)m(t)h(to)330 4662 y(end)25 b(the)h(en)m(tire)h(script,)g
-(and)f(acts)h(on)e(the)i Ft(SIGINT)d Fu(\(e.g.,)k(b)m(y)e(running)f(a)h
-Ft(SIGINT)e Fu(trap)i(or)g(exiting)330 4772 y(itself)7
-b(\);)199 4902 y(2.)61 b(If)39 b(the)g(pip)s(eline)g(do)s(es)g(not)h
-(terminate)g(due)f(to)h Ft(SIGINT)p Fu(,)g(the)g(program)f(handled)f
-(the)i Ft(SIGINT)330 5011 y Fu(itself)35 b(and)e(did)h(not)g(treat)h
-(it)g(as)f(a)g(fatal)i(signal.)52 b(In)33 b(that)i(case,)h(Bash)e(do)s
-(es)g(not)g(treat)i Ft(SIGINT)330 5121 y Fu(as)41 b(a)g(fatal)g
-(signal,)j(either,)g(instead)d(assuming)f(that)h(the)g
-Ft(SIGINT)d Fu(w)m(as)j(used)f(as)h(part)f(of)h(the)330
-5230 y(program's)32 b(normal)g(op)s(eration)h(\(e.g.,)h
-Ft(emacs)d Fu(uses)g(it)i(to)g(ab)s(ort)f(editing)h(commands\))f(or)g
-(delib-)330 5340 y(erately)41 b(discarded.)69 b(Ho)m(w)m(ev)m(er,)45
-b(Bash)40 b(will)h(run)d(an)m(y)j(trap)e(set)i(on)f Ft(SIGINT)p
-Fu(,)h(as)f(it)h(do)s(es)e(with)p eop end
+Fu(')g(sends)g Ft(SIGINT)150 4037 y Fu(to)36 b(all)g(pro)s(cesses)f(in)
+g(that)h(pro)s(cess)e(group.)55 b(Since)35 b(Bash)g(do)s(es)g(not)h
+(enable)f(job)g(con)m(trol)i(b)m(y)e(default)150 4147
+y(when)29 b(the)i(shell)g(is)f(not)h(in)m(teractiv)m(e,)i(this)d
+(scenario)i(is)e(most)h(common)f(in)g(non-in)m(teractiv)m(e)j(shells.)
+275 4289 y(When)23 b(job)g(con)m(trol)j(is)d(enabled,)j(and)d(Bash)h
+(is)g(w)m(aiting)h(for)e(a)h(foreground)f(command)h(to)g(complete,)150
+4399 y(the)30 b(shell)f(do)s(es)g(not)h(receiv)m(e)h(k)m(eyb)s
+(oard-generated)f(signals,)h(b)s(ecause)e(it)h(is)f(not)h(in)f(the)h
+(same)f(pro)s(cess)150 4508 y(group)40 b(as)h(the)g(terminal.)73
+b(This)40 b(scenario)i(is)e(most)i(common)f(in)f(in)m(teractiv)m(e)k
+(shells,)f(where)e(Bash)150 4618 y(attempts)e(to)g(enable)f(job)g(con)m
+(trol)i(b)m(y)e(default.)64 b(See)38 b(Chapter)g(7)g([Job)g(Con)m
+(trol],)j(page)e(123,)j(for)c(a)150 4727 y(more)31 b(in-depth)e
+(discussion)h(of)g(pro)s(cess)g(groups.)275 4869 y(When)21
+b(job)h(con)m(trol)h(is)f(not)h(enabled,)h(and)d(Bash)h(receiv)m(es)i
+Ft(SIGINT)c Fu(while)i(w)m(aiting)i(for)d(a)i(foreground)150
+4979 y(command,)28 b(it)h(w)m(aits)g(un)m(til)f(that)h(foreground)e
+(command)g(terminates)i(and)f(then)f(decides)i(what)e(to)i(do)150
+5088 y(ab)s(out)h(the)h Ft(SIGINT)p Fu(:)199 5230 y(1.)61
+b(If)37 b(the)i(command)e(terminates)i(due)e(to)i(the)f
+Ft(SIGINT)p Fu(,)g(Bash)g(concludes)g(that)h(the)f(user)f(mean)m(t)330
+5340 y(to)i(send)e(the)h Ft(SIGINT)e Fu(to)i(the)g(shell)g(as)g(w)m
+(ell,)j(and)d(acts)g(on)g(the)g Ft(SIGINT)e Fu(\(e.g.,)42
+b(b)m(y)37 b(running)g(a)p eop end
 %%Page: 49 55
 TeXDict begin 49 54 bop 150 -116 a Fu(Chapter)30 b(3:)41
 b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(49)330 299
-y(an)m(y)31 b(other)f(trapp)s(ed)f(signal)i(it)g(receiv)m(es)h(while)e
-(it)h(is)f(w)m(aiting)h(for)f(the)h(foreground)e(command)h(to)330
-408 y(complete,)i(for)e(compatibilit)m(y)-8 b(.)150 648
-y Fs(3.8)68 b(Shell)45 b(Scripts)150 807 y Fu(A)30 b(shell)f(script)h
-(is)f(a)h(text)h(\014le)f(con)m(taining)h(shell)f(commands.)40
-b(When)29 b(suc)m(h)g(a)h(\014le)g(is)f(used)g(as)h(the)g(\014rst)150
-917 y(non-option)c(argumen)m(t)h(when)e(in)m(v)m(oking)i(Bash,)g(and)f
-(neither)g(the)g Ft(-c)g Fu(nor)f Ft(-s)h Fu(option)g(is)g(supplied)f
-(\(see)150 1026 y(Section)39 b(6.1)g([In)m(v)m(oking)g(Bash],)h(page)f
-(98\),)i(Bash)d(reads)g(and)f(executes)i(commands)f(from)f(the)i
-(\014le,)150 1136 y(then)29 b(exits.)42 b(This)28 b(mo)s(de)i(of)f(op)s
-(eration)i(creates)g(a)f(non-in)m(teractiv)m(e)i(shell.)41
-b(If)29 b(the)h(\014lename)f(do)s(es)h(not)150 1245 y(con)m(tain)g(an)m
-(y)e(slashes,)h(the)g(shell)f(\014rst)g(searc)m(hes)h(for)f(the)h
-(\014le)f(in)g(the)h(curren)m(t)f(directory)-8 b(,)30
-b(and)d(lo)s(oks)i(in)150 1355 y(the)i(directories)g(in)f
-Ft($PATH)f Fu(if)h(not)h(found)e(there.)275 1489 y(Bash)34
-b(tries)g(to)g(determine)g(whether)g(the)g(\014le)f(is)h(a)h(text)f
-(\014le)g(or)g(a)g(binary)-8 b(,)35 b(and)e(will)h(not)h(execute)150
-1598 y(\014les)30 b(it)h(determines)g(to)g(b)s(e)e(binaries.)275
-1732 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 Ft(0)f Fu(to)h(the)g(name)g(of)g(the)g
-(\014le,)150 1842 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 1951 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 2061 y(parameters)31 b(are)f(unset.)275
-2195 y(A)39 b(shell)h(script)f(ma)m(y)h(b)s(e)f(made)h(executable)h(b)m
+y Ft(SIGINT)26 b Fu(trap,)i(exiting)g(a)g(non-in)m(teractiv)m(e)i
+(shell,)e(or)f(returning)g(to)h(the)f(top)h(lev)m(el)h(to)f(read)f(a)g
+(new)330 408 y(command\).)199 547 y(2.)61 b(If)33 b(the)h(command)g(do)
+s(es)f(not)h(terminate)h(due)e(to)i Ft(SIGINT)p Fu(,)e(the)h(program)g
+(handled)f(the)h Ft(SIGINT)330 657 y Fu(itself)h(and)e(did)h(not)g
+(treat)h(it)g(as)f(a)g(fatal)i(signal.)52 b(In)33 b(that)i(case,)h
+(Bash)e(do)s(es)g(not)g(treat)i Ft(SIGINT)330 766 y Fu(as)41
+b(a)g(fatal)g(signal,)j(either,)g(instead)d(assuming)f(that)h(the)g
+Ft(SIGINT)d Fu(w)m(as)j(used)f(as)h(part)f(of)h(the)330
+876 y(program's)32 b(normal)g(op)s(eration)h(\(e.g.,)h
+Ft(emacs)d Fu(uses)g(it)i(to)g(ab)s(ort)f(editing)h(commands\))f(or)g
+(delib-)330 985 y(erately)41 b(discarded.)69 b(Ho)m(w)m(ev)m(er,)45
+b(Bash)40 b(will)h(run)d(an)m(y)j(trap)e(set)i(on)f Ft(SIGINT)p
+Fu(,)h(as)f(it)h(do)s(es)e(with)330 1095 y(an)m(y)31
+b(other)f(trapp)s(ed)f(signal)i(it)g(receiv)m(es)h(while)e(it)h(is)f(w)
+m(aiting)h(for)f(the)h(foreground)e(command)h(to)330
+1205 y(complete,)i(for)e(compatibilit)m(y)-8 b(.)275
+1376 y(When)31 b(job)h(con)m(trol)h(is)g(enabled,)f(Bash)g(do)s(es)g
+(not)g(receiv)m(e)i(k)m(eyb)s(oard-generated)f(signals)g(suc)m(h)f(as)
+150 1486 y Ft(SIGINT)j Fu(while)j(it)f(is)h(w)m(aiting)g(for)f(a)h
+(foreground)e(command.)61 b(An)37 b(in)m(teractiv)m(e)j(shell)d(do)s
+(es)g(not)h(pa)m(y)150 1595 y(atten)m(tion)44 b(to)f(the)f
+Ft(SIGINT)p Fu(,)h(ev)m(en)g(if)f(the)g(foreground)f(command)h
+(terminates)h(as)f(a)h(result,)i(other)150 1705 y(than)39
+b(noting)g(its)g(exit)h(status.)67 b(If)39 b(the)g(shell)g(is)g(not)g
+(in)m(teractiv)m(e,)44 b(and)39 b(the)g(foreground)f(command)150
+1814 y(terminates)23 b(due)f(to)h(the)g Ft(SIGINT)p Fu(,)g(Bash)f
+(pretends)g(it)h(receiv)m(ed)h(the)e Ft(SIGINT)f Fu(itself)j
+(\(scenario)f(1)g(ab)s(o)m(v)m(e\),)150 1924 y(for)30
+b(compatibilit)m(y)-8 b(.)150 2177 y Fs(3.8)68 b(Shell)45
+b(Scripts)150 2336 y Fu(A)30 b(shell)f(script)h(is)f(a)h(text)h(\014le)
+f(con)m(taining)h(shell)f(commands.)40 b(When)29 b(suc)m(h)g(a)h
+(\014le)g(is)f(used)g(as)h(the)g(\014rst)150 2446 y(non-option)c
+(argumen)m(t)h(when)e(in)m(v)m(oking)i(Bash,)g(and)f(neither)g(the)g
+Ft(-c)g Fu(nor)f Ft(-s)h Fu(option)g(is)g(supplied)f(\(see)150
+2555 y(Section)39 b(6.1)g([In)m(v)m(oking)g(Bash],)h(page)f(99\),)i
+(Bash)d(reads)g(and)f(executes)i(commands)f(from)f(the)i(\014le,)150
+2665 y(then)29 b(exits.)42 b(This)28 b(mo)s(de)i(of)f(op)s(eration)i
+(creates)g(a)f(non-in)m(teractiv)m(e)i(shell.)41 b(If)29
+b(the)h(\014lename)f(do)s(es)h(not)150 2775 y(con)m(tain)g(an)m(y)e
+(slashes,)h(the)g(shell)f(\014rst)g(searc)m(hes)h(for)f(the)h(\014le)f
+(in)g(the)h(curren)m(t)f(directory)-8 b(,)30 b(and)d(lo)s(oks)i(in)150
+2884 y(the)i(directories)g(in)f Ft($PATH)f Fu(if)h(not)h(found)e
+(there.)275 3027 y(Bash)34 b(tries)g(to)g(determine)g(whether)g(the)g
+(\014le)f(is)h(a)h(text)f(\014le)g(or)g(a)g(binary)-8
+b(,)35 b(and)e(will)h(not)h(execute)150 3136 y(\014les)30
+b(it)h(determines)g(to)g(b)s(e)e(binaries.)275 3279 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 Ft(0)f Fu(to)h(the)g(name)g(of)g(the)g(\014le,)150
+3389 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
+3498 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 3608 y(parameters)31 b(are)f(unset.)275
+3750 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 Ft(chmod)e Fu(command)h(to)h(turn)e(on)i(the)150
-2304 y(execute)j(bit.)73 b(When)41 b(Bash)g(\014nds)e(suc)m(h)i(a)h
+3860 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 Ft($PATH)f Fu(for)h(a)h
-(command,)h(it)150 2414 y(creates)32 b(a)f(new)e(instance)i(of)g
+(command,)h(it)150 3970 y(creates)32 b(a)f(new)e(instance)i(of)g
 (itself)g(to)g(execute)h(it.)41 b(In)30 b(other)h(w)m(ords,)f
-(executing)390 2547 y Ft(filename)46 b Fj(arguments)150
-2681 y Fu(is)30 b(equiv)-5 b(alen)m(t)32 b(to)f(executing)390
-2815 y Ft(bash)47 b(filename)e Fj(arguments)150 2949
+(executing)390 4112 y Ft(filename)46 b Fj(arguments)150
+4255 y Fu(is)30 b(equiv)-5 b(alen)m(t)32 b(to)f(executing)390
+4397 y Ft(bash)47 b(filename)e Fj(arguments)150 4540
 y Fu(if)30 b Ft(filename)d Fu(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 3058 y(is)36 b(as)h(if)g(a)f(new)g(shell)h(had)f(b)s(een)
+(e\013ect)150 4649 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 3168 y(lo)s(cations)25 b(of)g(commands)e
+(exception)h(that)f(the)150 4759 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 Ft(hash)f Fu(in)h(Section)h(4.1)150
-3277 y([Bourne)30 b(Shell)h(Builtins],)g(page)g(50\))h(are)e(retained)h
-(b)m(y)f(the)h(c)m(hild.)275 3411 y(The)25 b Fm(gnu)h
+4869 y([Bourne)30 b(Shell)h(Builtins],)g(page)g(51\))h(are)e(retained)h
+(b)m(y)f(the)h(c)m(hild.)275 5011 y(The)25 b Fm(gnu)h
 Fu(op)s(erating)g(system,)h(and)f(most)g(v)m(ersions)g(of)g(Unix,)h
 (mak)m(e)g(this)f(a)g(part)g(of)g(the)g(op)s(erating)150
-3521 y(system's)36 b(command)g(execution)h(mec)m(hanism.)58
+5121 y(system's)36 b(command)g(execution)h(mec)m(hanism.)58
 b(If)35 b(the)h(\014rst)f(line)h(of)g(a)h(script)f(b)s(egins)f(with)g
-(the)i(t)m(w)m(o)150 3630 y(c)m(haracters)46 b(`)p Ft(#!)p
+(the)i(t)m(w)m(o)150 5230 y(c)m(haracters)46 b(`)p Ft(#!)p
 Fu(',)i(the)c(remainder)g(of)g(the)h(line)g(sp)s(eci\014es)f(an)g(in)m
-(terpreter)h(for)f(the)g(program)g(and,)150 3740 y(dep)s(ending)34
+(terpreter)h(for)f(the)g(program)g(and,)150 5340 y(dep)s(ending)34
 b(on)h(the)h(op)s(erating)f(system,)i(one)f(or)f(more)h(optional)h
-(argumen)m(ts)e(for)g(that)h(in)m(terpreter.)150 3849
-y(Th)m(us,)c(y)m(ou)h(can)g(sp)s(ecify)f(Bash,)h Ft(awk)p
+(argumen)m(ts)e(for)g(that)h(in)m(terpreter.)p eop end
+%%Page: 50 56
+TeXDict begin 50 55 bop 150 -116 a Fu(Chapter)30 b(3:)41
+b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(50)150 299
+y(Th)m(us,)32 b(y)m(ou)h(can)g(sp)s(ecify)f(Bash,)h Ft(awk)p
 Fu(,)g(P)m(erl,)g(or)g(some)g(other)f(in)m(terpreter)h(and)f(write)h
-(the)f(rest)h(of)g(the)150 3959 y(script)d(\014le)h(in)f(that)h
-(language.)275 4093 y(The)k(argumen)m(ts)h(to)h(the)f(in)m(terpreter)h
+(the)f(rest)h(of)g(the)150 408 y(script)d(\014le)h(in)f(that)h
+(language.)275 543 y(The)k(argumen)m(ts)h(to)h(the)f(in)m(terpreter)h
 (consist)f(of)h(one)f(or)g(more)g(optional)h(argumen)m(ts)f(follo)m
-(wing)150 4202 y(the)e(in)m(terpreter)g(name)g(on)g(the)g(\014rst)g
+(wing)150 653 y(the)e(in)m(terpreter)g(name)g(on)g(the)g(\014rst)g
 (line)g(of)g(the)g(script)g(\014le,)h(follo)m(w)m(ed)h(b)m(y)e(the)g
-(name)g(of)g(the)g(script)150 4312 y(\014le,)k(follo)m(w)m(ed)g(b)m(y)e
+(name)g(of)g(the)g(script)150 762 y(\014le,)k(follo)m(w)m(ed)g(b)m(y)e
 (the)g(rest)g(of)g(the)h(argumen)m(ts)f(supplied)f(to)i(the)f(script.)
-58 b(The)35 b(details)i(of)g(ho)m(w)f(the)150 4421 y(in)m(terpreter)26
+58 b(The)35 b(details)i(of)g(ho)m(w)f(the)150 872 y(in)m(terpreter)26
 b(line)g(is)g(split)g(in)m(to)h(an)f(in)m(terpreter)g(name)g(and)f(a)h
 (set)h(of)e(argumen)m(ts)i(v)-5 b(ary)25 b(across)i(systems.)150
-4531 y(Bash)j(will)f(p)s(erform)g(this)g(action)i(on)e(op)s(erating)h
+981 y(Bash)j(will)f(p)s(erform)g(this)g(action)i(on)e(op)s(erating)h
 (systems)g(that)g(do)f(not)h(handle)f(it)h(themselv)m(es.)42
-b(Note)150 4641 y(that)e(some)g(older)g(v)m(ersions)g(of)g(Unix)f
+b(Note)150 1091 y(that)e(some)g(older)g(v)m(ersions)g(of)g(Unix)f
 (limit)i(the)f(in)m(terpreter)g(name)g(and)f(a)h(single)g(argumen)m(t)g
-(to)h(a)150 4750 y(maxim)m(um)21 b(of)g(32)h(c)m(haracters,)j(so)c
+(to)h(a)150 1200 y(maxim)m(um)21 b(of)g(32)h(c)m(haracters,)j(so)c
 (it's)h(not)g(p)s(ortable)f(to)h(assume)e(that)i(using)f(more)g(than)g
-(one)g(argumen)m(t)150 4860 y(will)31 b(w)m(ork.)275
-4994 y(Bash)h(scripts)g(often)g(b)s(egin)g(with)g Ft(#!)e(/bin/bash)g
+(one)g(argumen)m(t)150 1310 y(will)31 b(w)m(ork.)275
+1445 y(Bash)h(scripts)g(often)g(b)s(egin)g(with)g Ft(#!)e(/bin/bash)g
 Fu(\(assuming)i(that)h(Bash)f(has)g(b)s(een)f(installed)i(in)150
-5103 y Ft(/bin)p Fu(\),)26 b(since)h(this)f(ensures)f(that)i(Bash)f
+1554 y Ft(/bin)p Fu(\),)26 b(since)h(this)f(ensures)f(that)i(Bash)f
 (will)h(b)s(e)f(used)f(to)i(in)m(terpret)f(the)h(script,)g(ev)m(en)g
-(if)f(it)h(is)f(executed)150 5213 y(under)h(another)h(shell.)41
+(if)f(it)h(is)f(executed)150 1664 y(under)h(another)h(shell.)41
 b(It's)28 b(a)h(common)g(idiom)f(to)h(use)f Ft(env)g
 Fu(to)h(\014nd)e Ft(bash)g Fu(ev)m(en)i(if)f(it's)i(b)s(een)d
-(installed)150 5322 y(in)h(another)g(directory:)40 b
+(installed)150 1773 y(in)h(another)g(directory:)40 b
 Ft(#!/usr/bin/env)27 b(bash)f Fu(will)j(\014nd)d(the)j(\014rst)e(o)s
 (ccurrence)h(of)g Ft(bash)f Fu(in)h Ft($PATH)p Fu(.)p
 eop end
-%%Page: 50 56
-TeXDict begin 50 55 bop 3659 -116 a Fu(50)150 299 y Fp(4)80
+%%Page: 51 57
+TeXDict begin 51 56 bop 3659 -116 a Fu(51)150 299 y Fp(4)80
 b(Shell)53 b(Builtin)f(Commands)150 545 y Fu(Builtin)34
 b(commands)f(are)h(con)m(tained)g(within)f(the)h(shell)g(itself.)50
 b(When)34 b(the)f(name)h(of)f(a)h(builtin)f(com-)150
@@ -11844,7 +11873,7 @@ b(Builtin)150 874 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 1590 y(page)33 b(124\),)i(the)e(directory)g(stac)m(k)h
 (\(see)f(Section)h(6.8.1)g([Directory)g(Stac)m(k)g(Builtins],)g(page)f
-(110\),)i(the)150 1699 y(command)23 b(history)h(\(see)g(Section)g(9.2)h
+(111\),)i(the)150 1699 y(command)23 b(history)h(\(see)g(Section)g(9.2)h
 ([Bash)f(History)g(Builtins],)h(page)g(166\),)h(and)d(the)h
 (programmable)150 1809 y(completion)32 b(facilities)g(\(see)g(Section)f
 (8.7)g([Programmable)g(Completion)g(Builtins],)g(page)h(158\).)275
@@ -11896,16 +11925,16 @@ b(not)h(found)e(in)h Ft($PATH)p Fu(,)g(but)g(do)s(es)g(not)g(searc)m(h)
 h(the)g(curren)m(t)f(directory)h(if)630 4984 y Ft(-p)25
 b Fu(is)i(supplied.)38 b(If)25 b(the)h Ft(sourcepath)e
 Fu(option)i(\(see)h(Section)g(4.3.2)h([The)e(Shopt)f(Builtin],)630
-5094 y(page)31 b(76\))h(is)e(turned)f(o\013,)i Ft(.)f
+5094 y(page)31 b(77\))h(is)e(turned)f(o\013,)i Ft(.)f
 Fu(do)s(es)g(not)h(searc)m(h)g Ft(PATH)p Fu(.)630 5230
 y(If)39 b(an)m(y)h Fr(argumen)m(ts)j Fu(are)d(supplied,)h(they)e(b)s
 (ecome)h(the)g(p)s(ositional)g(parameters)g(when)630
 5340 y Fr(\014lename)c Fu(is)30 b(executed.)42 b(Otherwise)30
 b(the)g(p)s(ositional)i(parameters)e(are)h(unc)m(hanged.)p
 eop end
-%%Page: 51 57
-TeXDict begin 51 56 bop 150 -116 a Fu(Chapter)30 b(4:)41
-b(Shell)30 b(Builtin)h(Commands)2069 b(51)630 299 y(If)27
+%%Page: 52 58
+TeXDict begin 52 57 bop 150 -116 a Fu(Chapter)30 b(4:)41
+b(Shell)30 b(Builtin)h(Commands)2069 b(52)630 299 y(If)27
 b(the)h Ft(-T)f Fu(option)h(is)g(enabled,)g Ft(.)f Fu(inherits)g(an)m
 (y)h(trap)g(on)f Ft(DEBUG)p Fu(;)h(if)f(it)h(is)g(not,)g(an)m(y)g
 Ft(DEBUG)630 408 y Fu(trap)k(string)g(is)g(sa)m(v)m(ed)h(and)f
@@ -11988,9 +12017,9 @@ Fu(en)m(vironmen)m(t)630 5230 y(v)-5 b(ariable)32 b(to)g(the)f(new)g
 (t)j(v)-5 b(ariable)630 5340 y(to)31 b(the)g(v)-5 b(alue)31
 b(of)f(the)h(curren)m(t)f(w)m(orking)g(directory)h(b)s(efore)f(the)h(c)
 m(hange.)p eop end
-%%Page: 52 58
-TeXDict begin 52 57 bop 150 -116 a Fu(Chapter)30 b(4:)h(Shell)f
-(Builtin)h(Commands)2079 b(52)630 299 y(The)29 b(return)g(status)h(is)f
+%%Page: 53 59
+TeXDict begin 53 58 bop 150 -116 a Fu(Chapter)30 b(4:)h(Shell)f
+(Builtin)h(Commands)2079 b(53)630 299 y(The)29 b(return)g(status)h(is)f
 (zero)i(if)e(the)h(directory)g(is)g(successfully)g(c)m(hanged,)g
 (non-zero)g(oth-)630 408 y(erwise.)150 566 y Ft(continue)870
 699 y(continue)46 b([)p Fj(n)p Ft(])630 833 y(continue)41
@@ -12057,9 +12086,9 @@ f(v)-5 b(ariables.)630 5230 y(The)31 b Ft(-n)f Fu(option)i(means)f(to)h
 b(are)h(supplied,)h(or)e(if)h(the)g Ft(-p)f Fu(option)h(is)g(giv)m(en,)
 j Ft(export)35 b Fu(displa)m(ys)h(a)h(list)h(of)p eop
 end
-%%Page: 53 59
-TeXDict begin 53 58 bop 150 -116 a Fu(Chapter)30 b(4:)41
-b(Shell)30 b(Builtin)h(Commands)2069 b(53)630 299 y(names)26
+%%Page: 54 60
+TeXDict begin 54 59 bop 150 -116 a Fu(Chapter)30 b(4:)41
+b(Shell)30 b(Builtin)h(Commands)2069 b(54)630 299 y(names)26
 b(of)g(all)h(exp)s(orted)f(v)-5 b(ariables)26 b(on)g(the)g(standard)g
 (output.)38 b(The)26 b Ft(-p)f Fu(option)i(displa)m(ys)630
 408 y(output)j(in)g(a)h(form)f(that)h(ma)m(y)g(b)s(e)e(reused)h(as)h
@@ -12140,9 +12169,9 @@ Ft(OPTARG)p Fu(,)g(and)g(prin)m(ts)g(a)h(diagnostic)h(message.)630
 b(alue)31 b(of)g Fr(name)36 b Fu(to)31 b(a)g(colon)h(\(`)p
 Ft(:)p Fu('\),)g(and)e(sets)i Ft(OPTARG)630 5340 y Fu(to)f(the)g
 (option)g(c)m(haracter)g(found.)p eop end
-%%Page: 54 60
-TeXDict begin 54 59 bop 150 -116 a Fu(Chapter)30 b(4:)41
-b(Shell)30 b(Builtin)h(Commands)2069 b(54)630 299 y Ft(getopts)28
+%%Page: 55 61
+TeXDict begin 55 60 bop 150 -116 a Fu(Chapter)30 b(4:)41
+b(Shell)30 b(Builtin)h(Commands)2069 b(55)630 299 y Ft(getopts)28
 b Fu(returns)h(true)h(if)g(an)g(option,)h(sp)s(eci\014ed)e(or)h(unsp)s
 (eci\014ed,)f(is)h(found.)39 b(It)30 b(returns)630 408
 y(false)h(when)e(it)i(encoun)m(ters)g(the)g(end)e(of)i(options)g(or)f
@@ -12192,7 +12221,7 @@ b(the)g(absolute)h(pathname)e(of)h(the)h(curren)m(t)e(w)m(orking)h
 (directory)-8 b(.)42 b(If)28 b(the)h Ft(-P)f Fu(option)630
 3587 y(is)41 b(supplied,)i(or)f(the)f Ft(-o)30 b(physical)39
 b Fu(option)j(to)g(the)f Ft(set)g Fu(builtin)g(\(see)h(Section)g(4.3.1)
-630 3696 y([The)35 b(Set)f(Builtin],)j(page)f(71\))g(is)f(enabled,)h
+630 3696 y([The)35 b(Set)f(Builtin],)j(page)f(72\))g(is)f(enabled,)h
 (the)f(pathname)f(prin)m(ted)g(will)i(not)f(con)m(tain)630
 3806 y(sym)m(b)s(olic)29 b(links.)39 b(If)28 b(the)h
 Ft(-L)e Fu(option)i(is)g(supplied,)e(the)i(pathname)f(prin)m(ted)g(ma)m
@@ -12222,9 +12251,9 @@ Ft(-p)g Fu(option)h(is)f(supplied,)i(prin)m(t)e(a)h(list)g(of)f(all)h
 b Ft(-p)h Fu(option)g(displa)m(ys)h(output)f(in)f(a)i(format)g(that)f
 (ma)m(y)h(b)s(e)f(reused)630 5340 y(as)31 b(input.)p
 eop end
-%%Page: 55 61
-TeXDict begin 55 60 bop 150 -116 a Fu(Chapter)30 b(4:)41
-b(Shell)30 b(Builtin)h(Commands)2069 b(55)630 299 y Ft(readonly)25
+%%Page: 56 62
+TeXDict begin 56 61 bop 150 -116 a Fu(Chapter)30 b(4:)41
+b(Shell)30 b(Builtin)h(Commands)2069 b(56)630 299 y Ft(readonly)25
 b Fu(allo)m(ws)j(the)f(v)-5 b(alue)27 b(of)h(a)f(v)-5
 b(ariable)28 b(to)f(b)s(e)g(set)g(at)h(the)f(same)g(time)h(the)f
 (readonly)630 408 y(attribute)j(is)f(c)m(hanged)g(b)m(y)g(follo)m(wing)
@@ -12290,7 +12319,7 @@ Fr(expr)48 b Fu(and)41 b(return)g(a)h(status)g(of)g(0)g(\(true\))h(or)f
 g(m)m(ust)h(b)s(e)f(a)i(separate)g(argumen)m(t.)41 b(Expressions)630
 4663 y(are)26 b(comp)s(osed)f(of)g(the)h(primaries)f(describ)s(ed)f(b)s
 (elo)m(w)h(in)g(Section)h(6.4)h([Bash)e(Conditional)630
-4773 y(Expressions],)35 b(page)h(103.)55 b Ft(test)34
+4773 y(Expressions],)35 b(page)h(104.)55 b Ft(test)34
 b Fu(do)s(es)g(not)h(accept)h(an)m(y)f(options,)i(nor)d(do)s(es)g(it)h
 (accept)630 4882 y(and)28 b(ignore)g(an)h(argumen)m(t)f(of)h
 Ft(--)e Fu(as)i(signifying)f(the)h(end)e(of)i(options.)40
@@ -12303,9 +12332,9 @@ 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 5340 y(b)s(elo)m(w.)41 b Ft(test)29
 b Fu(uses)h(op)s(erator)h(precedence)g(when)e(there)i(are)f(\014v)m(e)h
 (or)f(more)h(argumen)m(ts.)p eop end
-%%Page: 56 62
-TeXDict begin 56 61 bop 150 -116 a Fu(Chapter)30 b(4:)41
-b(Shell)30 b(Builtin)h(Commands)2069 b(56)630 299 y Ft(!)30
+%%Page: 57 63
+TeXDict begin 57 62 bop 150 -116 a Fu(Chapter)30 b(4:)41
+b(Shell)30 b(Builtin)h(Commands)2069 b(57)630 299 y Ft(!)30
 b Fj(expr)210 b Fu(T)-8 b(rue)30 b(if)g Fr(expr)37 b
 Fu(is)30 b(false.)630 454 y Ft(\()g Fj(expr)f Ft(\))133
 b Fu(Returns)36 b(the)i(v)-5 b(alue)37 b(of)g Fr(expr)p
@@ -12328,7 +12357,7 @@ b(conditional)f(expressions)f(using)g(a)g(set)h(of)f(rules)630
 b(If)33 b(the)h(\014rst)e(argumen)m(t)i(is)g(one)g(of)f(the)h(unary)
 1110 2372 y(conditional)42 b(op)s(erators)f(\(see)g(Section)h(6.4)f
 ([Bash)g(Conditional)g(Expres-)1110 2482 y(sions],)30
-b(page)h(103\),)g(the)f(expression)g(is)f(true)h(if)f(the)h(unary)f
+b(page)h(104\),)g(the)f(expression)g(is)f(true)h(if)f(the)h(unary)f
 (test)h(is)g(true.)40 b(If)1110 2591 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 2701 y(false.)630 2856 y(3)e(argumen)m(ts)1110
@@ -12336,7 +12365,7 @@ b(page)h(103\),)g(the)f(expression)g(is)f(true)h(if)f(the)h(unary)f
 (order)g(listed.)1159 3098 y(1.)61 b(If)29 b(the)g(second)g(argumen)m
 (t)h(is)f(one)h(of)f(the)h(binary)e(conditional)j(op)s(era-)1290
 3208 y(tors)21 b(\(see)i(Section)f(6.4)g([Bash)g(Conditional)f
-(Expressions],)i(page)f(103\),)1290 3317 y(the)i(result)g(of)f(the)h
+(Expressions],)i(page)f(104\),)1290 3317 y(the)i(result)g(of)f(the)h
 (expression)g(is)g(the)f(result)h(of)g(the)g(binary)f(test)h(using)1290
 3427 y(the)35 b(\014rst)e(and)h(third)g(argumen)m(ts)h(as)f(op)s
 (erands.)52 b(The)34 b(`)p Ft(-a)p Fu(')g(and)g(`)p Ft(-o)p
@@ -12362,9 +12391,9 @@ Ft(\()p Fu(')e(and)g(the)g(fourth)f(argumen)m(t)i(is)1290
 5230 y(exactly)38 b(`)p Ft(\))p Fu(',)f(the)f(result)g(is)g(the)g(t)m
 (w)m(o-argumen)m(t)i(test)f(of)f(the)g(second)1290 5340
 y(and)30 b(third)f(argumen)m(ts.)p eop end
-%%Page: 57 63
-TeXDict begin 57 62 bop 150 -116 a Fu(Chapter)30 b(4:)41
-b(Shell)30 b(Builtin)h(Commands)2069 b(57)1159 299 y(3.)61
+%%Page: 58 64
+TeXDict begin 58 63 bop 150 -116 a Fu(Chapter)30 b(4:)41
+b(Shell)30 b(Builtin)h(Commands)2069 b(58)1159 299 y(3.)61
 b(Otherwise,)26 b(the)f(expression)f(is)h(parsed)f(and)g(ev)-5
 b(aluated)26 b(according)g(to)1290 408 y(precedence)31
 b(using)f(the)g(rules)g(listed)h(ab)s(o)m(v)m(e.)630
@@ -12438,9 +12467,9 @@ Fu(or)g Ft(-p)f Fu(options)i(ma)m(y)g(b)s(e)e(used)g(in)h(a)h(subshell)
 (um)m(b)s(ers.)630 5340 y(Eac)m(h)c Fr(sigsp)s(ec)k Fu(is)29
 b(either)g(a)h(signal)f(name)g(or)g(a)g(signal)h(n)m(um)m(b)s(er.)39
 b(Signal)29 b(names)g(are)g(case)p eop end
-%%Page: 58 64
-TeXDict begin 58 63 bop 150 -116 a Fu(Chapter)30 b(4:)41
-b(Shell)30 b(Builtin)h(Commands)2069 b(58)630 299 y(insensitiv)m(e)42
+%%Page: 59 65
+TeXDict begin 59 64 bop 150 -116 a Fu(Chapter)30 b(4:)41
+b(Shell)30 b(Builtin)h(Commands)2069 b(59)630 299 y(insensitiv)m(e)42
 b(and)e(the)h Ft(SIG)f Fu(pre\014x)f(is)i(optional.)73
 b(If)40 b Ft(-l)g Fu(is)h(supplied)e(with)i(no)f Fr(sigsp)s(ec)630
 408 y Fu(argumen)m(ts,)31 b(it)g(prin)m(ts)f(a)g(list)h(of)g(v)-5
@@ -12456,7 +12485,7 @@ b Ft(for)e Fu(command,)k(and)c(b)s(efore)g(the)h(\014rst)f(command)g
 (executes)i(in)f(a)g(shell)630 977 y(function.)38 b(Refer)22
 b(to)g(the)g(description)g(of)g(the)g Ft(extdebug)e Fu(shell)i(option)h
 (\(see)f(Section)h(4.3.2)630 1087 y([The)36 b(Shopt)f(Builtin],)k(page)
-e(76\))g(for)f(details)i(of)e(its)h(e\013ect)g(on)f(the)h
+e(77\))g(for)f(details)i(of)e(its)h(e\013ect)g(on)f(the)h
 Ft(DEBUG)e Fu(trap.)58 b(If)36 b(a)630 1196 y Fr(sigsp)s(ec)49
 b Fu(is)44 b Ft(RETURN)p Fu(,)h Fr(action)g Fu(is)e(executed)h(eac)m(h)
 h(time)f(a)g(shell)g(function)f(or)g(a)h(script)630 1306
@@ -12521,9 +12550,9 @@ 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
 Ft(022)e Fu(results)h(in)g(p)s(ermissions)630 5059 y(of)d
 Ft(755)p Fu(.)150 5210 y Ft(unset)870 5340 y(unset)46
 b([-fnv])g([)p Fj(name)p Ft(])p eop end
-%%Page: 59 65
-TeXDict begin 59 64 bop 150 -116 a Fu(Chapter)30 b(4:)41
-b(Shell)30 b(Builtin)h(Commands)2069 b(59)630 299 y(Remo)m(v)m(e)36
+%%Page: 60 66
+TeXDict begin 60 65 bop 150 -116 a Fu(Chapter)30 b(4:)41
+b(Shell)30 b(Builtin)h(Commands)2069 b(60)630 299 y(Remo)m(v)m(e)36
 b(eac)m(h)f(v)-5 b(ariable)35 b(or)f(function)f Fr(name)p
 Fu(.)52 b(If)33 b(the)i Ft(-v)e Fu(option)h(is)g(giv)m(en,)j(eac)m(h)e
 Fr(name)630 408 y Fu(refers)27 b(to)h(a)g(shell)f(v)-5
@@ -12575,7 +12604,7 @@ Ft(alias)28 b Fu(returns)h(true)g(unless)g(a)h Fr(name)k
 Fu(is)c(giv)m(en)630 3230 y(\(without)h(a)g(corresp)s(onding)f(=)p
 Fr(v)-5 b(alue)5 b Fu(\))32 b(for)e(whic)m(h)h(no)f(alias)i(has)f(b)s
 (een)f(de\014ned.)41 b(Aliases)630 3340 y(are)31 b(describ)s(ed)e(in)h
-(Section)h(6.6)h([Aliases],)g(page)f(107.)150 3504 y
+(Section)h(6.6)h([Aliases],)g(page)f(108.)150 3504 y
 Ft(bind)870 3641 y(bind)47 b([-m)g Fj(keymap)p Ft(])e([-lsvSVX])870
 3751 y(bind)i([-m)g Fj(keymap)p Ft(])e([-q)i Fj(function)p
 Ft(])f([-u)g Fj(function)p Ft(])g([-r)h Fj(keyseq)p Ft(])870
@@ -12603,9 +12632,9 @@ m(y)g(output)f(in)g(a)h(form)f(a)m(v)-5 b(ailable)30
 b(to)630 5340 y(b)s(e)i(re-read)h(format)f(their)h(output)f(as)h
 (commands)f(that)h(w)m(ould)f(app)s(ear)g(in)g(a)h(Readline)p
 eop end
-%%Page: 60 66
-TeXDict begin 60 65 bop 150 -116 a Fu(Chapter)30 b(4:)41
-b(Shell)30 b(Builtin)h(Commands)2069 b(60)630 299 y(initialization)36
+%%Page: 61 67
+TeXDict begin 61 66 bop 150 -116 a Fu(Chapter)30 b(4:)41
+b(Shell)30 b(Builtin)h(Commands)2069 b(61)630 299 y(initialization)36
 b(\014le)c(or)h(that)g(w)m(ould)g(b)s(e)f(supplied)f(as)i(individual)g
 (argumen)m(ts)g(to)g(a)g Ft(bind)630 408 y Fu(command.)630
 542 y(Options,)d(if)h(supplied,)e(ha)m(v)m(e)i(the)g(follo)m(wing)h
@@ -12671,9 +12700,9 @@ b Fu(b)s(efore)c(sa)m(ving)i(it.)80 b(If)43 b(the)h(separator)g(is)g(a)
 g(colon,)k(an)m(y)c(en-)1110 5340 y(closing)35 b(double)e(quotes)g(are)
 h(optional,)i(and)d(Readline)h(do)s(es)f(not)h(expand)p
 eop end
-%%Page: 61 67
-TeXDict begin 61 66 bop 150 -116 a Fu(Chapter)30 b(4:)41
-b(Shell)30 b(Builtin)h(Commands)2069 b(61)1110 299 y(the)32
+%%Page: 62 68
+TeXDict begin 62 67 bop 150 -116 a Fu(Chapter)30 b(4:)41
+b(Shell)30 b(Builtin)h(Commands)2069 b(62)1110 299 y(the)32
 b(command)g(string)h(b)s(efore)e(sa)m(ving)j(it.)46 b(Since)32
 b(the)h(en)m(tire)g(k)m(ey)g(binding)1110 408 y(expression)28
 b(m)m(ust)h(b)s(e)f(a)h(single)h(argumen)m(t,)f(it)h(should)d(b)s(e)h
@@ -12749,9 +12778,9 @@ Fu(option)h(means)g(to)h(use)e(a)h(default)g(v)-5 b(alue)630
 Fr(command)k Fu(cannot)c(b)s(e)g(found)e(or)j(an)e(error)h(o)s
 (ccurred,)h(and)630 5340 y(the)k(exit)g(status)g(of)f
 Fr(command)k Fu(otherwise.)p eop end
-%%Page: 62 68
-TeXDict begin 62 67 bop 150 -116 a Fu(Chapter)30 b(4:)41
-b(Shell)30 b(Builtin)h(Commands)2069 b(62)630 299 y(If)49
+%%Page: 63 69
+TeXDict begin 63 68 bop 150 -116 a Fu(Chapter)30 b(4:)41
+b(Shell)30 b(Builtin)h(Commands)2069 b(63)630 299 y(If)49
 b(either)h(the)g Ft(-V)f Fu(or)g Ft(-v)g Fu(option)h(is)g(supplied,)j
 Ft(command)47 b Fu(prin)m(ts)i(a)h(description)g(of)630
 408 y Fr(command)p Fu(.)64 b(The)37 b Ft(-v)h Fu(option)g(displa)m(ys)h
@@ -12787,7 +12816,7 @@ y(The)41 b Ft(-F)f Fu(option)i(inhibits)e(the)i(displa)m(y)f(of)g
 2446 y(name)30 b(and)f(attributes)i(are)f(prin)m(ted.)40
 b(If)30 b(the)g Ft(extdebug)e Fu(shell)i(option)g(is)g(enabled)g(using)
 630 2555 y Ft(shopt)24 b Fu(\(see)i(Section)g(4.3.2)i([The)d(Shopt)f
-(Builtin],)k(page)e(76\),)i(the)d(source)h(\014le)f(name)h(and)630
+(Builtin],)k(page)e(77\),)i(the)d(source)h(\014le)f(name)h(and)630
 2665 y(line)31 b(n)m(um)m(b)s(er)e(where)h(eac)m(h)h
 Fr(name)36 b Fu(is)30 b(de\014ned)f(are)i(displa)m(y)m(ed)g(as)g(w)m
 (ell.)41 b Ft(-F)30 b Fu(implies)h Ft(-f)p Fu(.)630 2800
@@ -12809,15 +12838,15 @@ b(ariables)28 b(with)f(the)g(sp)s(ec-)630 3726 y(i\014ed)j(attributes)h
 (or)f(to)h(giv)m(e)h(v)-5 b(ariables)31 b(attributes:)630
 3885 y Ft(-a)384 b Fu(Eac)m(h)36 b Fr(name)k Fu(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 3995 y(page)31 b(108\).)630 4154 y
+([Arra)m(ys],)1110 3995 y(page)31 b(109\).)630 4154 y
 Ft(-A)384 b Fu(Eac)m(h)24 b Fr(name)k Fu(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 4264 y(page)31 b(108\).)630 4423 y Ft(-f)384
+(ys],)1110 4264 y(page)31 b(109\).)630 4423 y Ft(-f)384
 b Fu(Eac)m(h)31 b Fr(name)36 b Fu(refers)29 b(to)j(a)e(shell)h
 (function.)630 4583 y Ft(-i)384 b Fu(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 4692 y(\(see)41
-b(Section)f(6.5)h([Shell)e(Arithmetic],)44 b(page)c(105\))h(is)f(p)s
+b(Section)f(6.5)h([Shell)e(Arithmetic],)44 b(page)c(106\))h(is)f(p)s
 (erformed)e(when)1110 4802 y(the)31 b(v)-5 b(ariable)31
 b(is)f(assigned)h(a)f(v)-5 b(alue.)630 4961 y Ft(-l)384
 b Fu(When)26 b(the)g(v)-5 b(ariable)27 b(is)f(assigned)g(a)g(v)-5
@@ -12829,9 +12858,9 @@ b Ft(nameref)d Fu(attribute,)29 b(making)e(it)g(a)g(name)f(reference)
 1110 5340 y(to)32 b(another)g(v)-5 b(ariable.)46 b(That)31
 b(other)h(v)-5 b(ariable)33 b(is)f(de\014ned)e(b)m(y)i(the)g(v)-5
 b(alue)32 b(of)p eop end
-%%Page: 63 69
-TeXDict begin 63 68 bop 150 -116 a Fu(Chapter)30 b(4:)41
-b(Shell)30 b(Builtin)h(Commands)2069 b(63)1110 299 y
+%%Page: 64 70
+TeXDict begin 64 69 bop 150 -116 a Fu(Chapter)30 b(4:)41
+b(Shell)30 b(Builtin)h(Commands)2069 b(64)1110 299 y
 Fr(name)p Fu(.)54 b(All)35 b(references,)h(assignmen)m(ts,)h(and)d
 (attribute)h(mo)s(di\014cations)g(to)1110 408 y Fr(name)p
 Fu(,)27 b(except)f(for)f(those)h(using)f(or)g(c)m(hanging)h(the)f
@@ -12879,7 +12908,7 @@ g(assignmen)m(ts.)630 2910 y(The)35 b(return)f(status)i(is)g(zero)g
 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 3239 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 3348 y([Arra)m(ys],)43 b(page)d(108\),)k
+(\(see)h(Section)f(6.7)630 3348 y([Arra)m(ys],)43 b(page)d(109\),)k
 (one)c(of)g(the)g Fr(name)5 b Fu(s)40 b(is)f(not)h(a)g(v)-5
 b(alid)40 b(shell)g(v)-5 b(ariable)41 b(name,)h(an)630
 3458 y(attempt)28 b(is)f(made)h(to)f(turn)f(o\013)i(readonly)f(status)g
@@ -12907,9 +12936,9 @@ m(y)h(options)g(and)e(expands)h(these)g(escap)s(e)630
 5026 y Ft(echo)e Fu(in)m(terprets)i(the)f(follo)m(wing)i(escap)s(e)f
 (sequences:)630 5183 y Ft(\\a)384 b Fu(alert)31 b(\(b)s(ell\))630
 5340 y Ft(\\b)384 b Fu(bac)m(kspace)p eop end
-%%Page: 64 70
-TeXDict begin 64 69 bop 150 -116 a Fu(Chapter)30 b(4:)41
-b(Shell)30 b(Builtin)h(Commands)2069 b(64)630 299 y Ft(\\c)384
+%%Page: 65 71
+TeXDict begin 65 70 bop 150 -116 a Fu(Chapter)30 b(4:)41
+b(Shell)30 b(Builtin)h(Commands)2069 b(65)630 299 y Ft(\\c)384
 b Fu(suppress)28 b(further)h(output)630 465 y Ft(\\e)630
 575 y(\\E)384 b Fu(escap)s(e)630 741 y Ft(\\f)g Fu(form)30
 b(feed)630 907 y Ft(\\n)384 b Fu(new)30 b(line)630 1073
@@ -12971,13 +13000,13 @@ Fu(is)40 b(system-dep)s(enden)m(t,)h(and)d(ma)m(y)i(include)f
 Ft(")p Fu(.)p Ft(")630 5340 y Fu(to)d(force)g(a)f(searc)m(h)h(of)g(the)
 f(curren)m(t)g(directory)-8 b(.)57 b(The)34 b Ft(-d)h
 Fu(option)h(will)f(delete)i(a)e(builtin)p eop end
-%%Page: 65 71
-TeXDict begin 65 70 bop 150 -116 a Fu(Chapter)30 b(4:)41
-b(Shell)30 b(Builtin)h(Commands)2069 b(65)630 299 y(loaded)28
+%%Page: 66 72
+TeXDict begin 66 71 bop 150 -116 a Fu(Chapter)30 b(4:)41
+b(Shell)30 b(Builtin)h(Commands)2069 b(66)630 299 y(loaded)28
 b(with)f Ft(-f)p Fu(.)39 b(If)27 b Ft(-s)g Fu(is)g(used)g(with)g
 Ft(-f)p Fu(,)h(the)f(new)g(builtin)g(b)s(ecomes)h(a)f(sp)s(ecial)h
 (builtin)630 408 y(\(see)j(Section)h(4.4)f([Sp)s(ecial)g(Builtins],)g
-(page)g(82\).)630 540 y(If)24 b(no)g(options)h(are)g(supplied)e(and)h
+(page)g(83\).)630 540 y(If)24 b(no)g(options)h(are)g(supplied)e(and)h
 (a)h Fr(name)k Fu(is)c(not)f(a)h(shell)g(builtin,)g Ft(enable)e
 Fu(will)i(attempt)630 650 y(to)c(load)g Fr(name)26 b
 Fu(from)20 b(a)g(shared)g(ob)5 b(ject)21 b(named)f Fr(name)p
@@ -13007,7 +13036,7 @@ b Fj(expression)e Ft([)p Fj(expression)g Ft(...)o(])630
 b(Eac)m(h)630 2907 y Fr(expression)27 b Fu(is)g(ev)-5
 b(aluated)29 b(as)e(an)h(arithmetic)g(expression)f(according)i(to)f
 (the)f(rules)g(giv)m(en)630 3017 y(b)s(elo)m(w)21 b(in)g(Section)h(6.5)
-h([Shell)e(Arithmetic],)j(page)e(105.)39 b(If)21 b(the)g(last)h
+h([Shell)e(Arithmetic],)j(page)e(106.)39 b(If)21 b(the)g(last)h
 Fr(expression)f Fu(ev)-5 b(aluates)630 3126 y(to)31 b(0,)g
 Ft(let)f Fu(returns)f(1;)i(otherwise)g Ft(let)e Fu(returns)g(0.)150
 3280 y Ft(local)870 3411 y(local)46 b([)p Fj(option)p
@@ -13042,9 +13071,9 @@ b(ariable.)150 5077 y Ft(logout)870 5208 y(logout)46
 b([)p Fj(n)p Ft(])630 5340 y Fu(Exit)31 b(a)g(login)g(shell,)g
 (returning)e(a)i(status)g(of)f Fr(n)g Fu(to)h(the)g(shell's)f(paren)m
 (t.)p eop end
-%%Page: 66 72
-TeXDict begin 66 71 bop 150 -116 a Fu(Chapter)30 b(4:)41
-b(Shell)30 b(Builtin)h(Commands)2069 b(66)150 299 y Ft(mapfile)870
+%%Page: 67 73
+TeXDict begin 67 72 bop 150 -116 a Fu(Chapter)30 b(4:)41
+b(Shell)30 b(Builtin)h(Commands)2069 b(67)150 299 y Ft(mapfile)870
 439 y(mapfile)46 b([-d)h Fj(delim)p Ft(])f([-n)h Fj(count)p
 Ft(])f([-O)h Fj(origin)p Ft(])f([-s)g Fj(count)p Ft(])1061
 548 y([-t])h([-u)f Fj(fd)p Ft(])h([-C)g Fj(callback)p
@@ -13117,10 +13146,10 @@ b Fu(Causes)38 b Ft(printf)f Fu(to)j(expand)e(bac)m(kslash)h(escap)s(e)
 g(sequences)g(in)f(the)h(cor-)1110 5230 y(resp)s(onding)31
 b Fr(argumen)m(t)j Fu(in)e(the)h(same)f(w)m(a)m(y)h(as)g
 Ft(echo)c(-e)j Fu(\(see)h(Section)g(4.2)1110 5340 y([Bash)e(Builtins],)
-g(page)g(59\).)p eop end
-%%Page: 67 73
-TeXDict begin 67 72 bop 150 -116 a Fu(Chapter)30 b(4:)41
-b(Shell)30 b(Builtin)h(Commands)2069 b(67)630 299 y Ft(\045q)384
+g(page)g(60\).)p eop end
+%%Page: 68 74
+TeXDict begin 68 73 bop 150 -116 a Fu(Chapter)30 b(4:)41
+b(Shell)30 b(Builtin)h(Commands)2069 b(68)630 299 y Ft(\045q)384
 b Fu(Causes)32 b Ft(printf)e Fu(to)i(output)g(the)g(corresp)s(onding)f
 Fr(argumen)m(t)j Fu(in)d(a)i(format)1110 408 y(that)42
 b(can)f(b)s(e)g(reused)g(as)g(shell)h(input.)72 b Ft(\045q)41
@@ -13200,9 +13229,9 @@ j(in)630 5121 y(Section)38 b(3.5.7)h([W)-8 b(ord)37 b(Splitting],)j
 b(there)h(are)g(more)g(w)m(ords)630 5340 y(than)i(names,)g(the)g
 (remaining)g(w)m(ords)f(and)g(their)h(in)m(terv)m(ening)h(delimiters)f
 (are)h(assigned)p eop end
-%%Page: 68 74
-TeXDict begin 68 73 bop 150 -116 a Fu(Chapter)30 b(4:)41
-b(Shell)30 b(Builtin)h(Commands)2069 b(68)630 299 y(to)39
+%%Page: 69 75
+TeXDict begin 69 74 bop 150 -116 a Fu(Chapter)30 b(4:)41
+b(Shell)30 b(Builtin)h(Commands)2069 b(69)630 299 y(to)39
 b(the)g(last)h Fr(name)p Fu(.)65 b(If)38 b(there)h(are)g(few)m(er)g(w)m
 (ords)f(read)h(from)f(the)h(input)e(stream)i(than)630
 408 y(names,)31 b(the)h(remaining)f(names)g(are)h(assigned)f(empt)m(y)g
@@ -13279,9 +13308,9 @@ y(bac)m(kslash-newline)26 b(pair)e(ma)m(y)h(not)g(then)g(b)s(e)f(used)g
 b Fu(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 5340
 y(ec)m(ho)s(ed.)p eop end
-%%Page: 69 75
-TeXDict begin 69 74 bop 150 -116 a Fu(Chapter)30 b(4:)41
-b(Shell)30 b(Builtin)h(Commands)2069 b(69)630 299 y Ft(-t)30
+%%Page: 70 76
+TeXDict begin 70 75 bop 150 -116 a Fu(Chapter)30 b(4:)41
+b(Shell)30 b(Builtin)h(Commands)2069 b(70)630 299 y Ft(-t)30
 b Fj(timeout)1110 408 y Fu(Cause)25 b Ft(read)f Fu(to)h(time)h(out)f
 (and)g(return)e(failure)j(if)e(it)i(do)s(es)f(not)g(read)g(a)g(com-)
 1110 518 y(plete)f(line)f(of)g(input)f(\(or)h(a)h(sp)s(eci\014ed)e(n)m
@@ -13331,7 +13360,7 @@ Fu(option)i(is)g(supplied.)630 3409 y(A)f(synon)m(ym)g(for)g
 Ft(mapfile)p Fu(.)150 3571 y Ft(source)870 3707 y(source)46
 b([-p)h Fj(path)p Ft(])f Fj(filename)g Ft([)p Fj(arguments)p
 Ft(])630 3842 y Fu(A)30 b(synon)m(ym)g(for)g Ft(.)g Fu(\(see)i(Section)
-f(4.1)g([Bourne)g(Shell)f(Builtins],)h(page)g(50\).)150
+f(4.1)g([Bourne)g(Shell)f(Builtins],)h(page)g(51\).)150
 4004 y Ft(type)870 4140 y(type)47 b([-afptP])e([)p Fj(name)i
 Ft(...)o(])630 4275 y Fu(Indicate)31 b(ho)m(w)f(eac)m(h)i
 Fr(name)j Fu(w)m(ould)c(b)s(e)e(in)m(terpreted)i(if)f(used)g(as)h(a)f
@@ -13354,9 +13383,9 @@ Fu('.)630 5230 y(The)i Ft(-P)g Fu(option)h(forces)g(a)g(path)f(searc)m
 (h)h(for)g(eac)m(h)g Fr(name)p Fu(,)g(ev)m(en)g(if)g
 Ft(-t)f Fu(w)m(ould)g(not)h(return)630 5340 y(`)p Ft(file)p
 Fu('.)p eop end
-%%Page: 70 76
-TeXDict begin 70 75 bop 150 -116 a Fu(Chapter)30 b(4:)41
-b(Shell)30 b(Builtin)h(Commands)2069 b(70)630 299 y(If)29
+%%Page: 71 77
+TeXDict begin 71 76 bop 150 -116 a Fu(Chapter)30 b(4:)41
+b(Shell)30 b(Builtin)h(Commands)2069 b(71)630 299 y(If)29
 b(a)h Fr(name)k Fu(is)29 b(presen)m(t)h(in)f(the)g(table)h(of)g(hashed)
 e(commands,)i(options)f Ft(-p)g Fu(and)g Ft(-P)f Fu(prin)m(t)630
 408 y(the)j(hashed)e(v)-5 b(alue,)31 b(whic)m(h)f(is)h(not)f
@@ -13416,9 +13445,9 @@ y(limit\).)630 4915 y Ft(-n)384 b Fu(The)38 b(maxim)m(um)h(n)m(um)m(b)s
 630 5182 y Ft(-p)384 b Fu(The)30 b(pip)s(e)f(bu\013er)h(size.)630
 5340 y Ft(-q)384 b Fu(The)30 b(maxim)m(um)g(n)m(um)m(b)s(er)f(of)i(b)m
 (ytes)g(in)f Fm(posix)f Fu(message)j(queues.)p eop end
-%%Page: 71 77
-TeXDict begin 71 76 bop 150 -116 a Fu(Chapter)30 b(4:)41
-b(Shell)30 b(Builtin)h(Commands)2069 b(71)630 299 y Ft(-r)384
+%%Page: 72 78
+TeXDict begin 72 77 bop 150 -116 a Fu(Chapter)30 b(4:)41
+b(Shell)30 b(Builtin)h(Commands)2069 b(72)630 299 y Ft(-r)384
 b Fu(The)30 b(maxim)m(um)g(real-time)i(sc)m(heduling)f(priorit)m(y)-8
 b(.)630 453 y Ft(-s)384 b Fu(The)30 b(maxim)m(um)g(stac)m(k)i(size.)630
 607 y Ft(-t)384 b Fu(The)30 b(maxim)m(um)g(amoun)m(t)h(of)f(cpu)g(time)
@@ -13463,7 +13492,7 @@ Fu(,)i(whic)m(h)f(is)f(in)h(seconds;)i Ft(-R)p Fu(,)f(whic)m(h)630
 Ft(-T)p Fu(,)f Ft(-b)p Fu(,)h Ft(-k)p Fu(,)g Ft(-n)630
 3243 y Fu(and)c Ft(-u)p Fu(,)h(whic)m(h)f(are)h(unscaled)f(v)-5
 b(alues;)31 b(and,)e(when)g(in)h Fm(posix)e Fu(Mo)s(de)i(\(see)h
-(Section)f(6.11)630 3352 y([Bash)h(POSIX)e(Mo)s(de],)i(page)g(114\),)i
+(Section)f(6.11)630 3352 y([Bash)h(POSIX)e(Mo)s(de],)i(page)g(115\),)i
 Ft(-c)c Fu(and)h Ft(-f)p Fu(,)g(whic)m(h)g(are)h(in)f(512-b)m(yte)j
 (incremen)m(ts.)630 3484 y(The)h(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,)
@@ -13475,7 +13504,7 @@ b(If)28 b Ft(-a)g Fu(is)g(supplied,)f(remo)m(v)m(e)j(all)f(aliases.)630
 4121 y(The)i(return)g(v)-5 b(alue)33 b(is)e(true)h(unless)f(a)i
 (supplied)d Fr(name)37 b Fu(is)32 b(not)g(a)h(de\014ned)d(alias.)47
 b(Aliases)630 4231 y(are)31 b(describ)s(ed)e(in)h(Section)h(6.6)h
-([Aliases],)g(page)f(107.)150 4466 y Fs(4.3)68 b(Mo)t(difying)45
+([Aliases],)g(page)f(108.)150 4466 y Fs(4.3)68 b(Mo)t(difying)45
 b(Shell)g(Beha)l(vior)150 4688 y Fk(4.3.1)63 b(The)41
 b(Set)g(Builtin)150 4835 y Fu(This)35 b(builtin)h(is)g(so)g
 (complicated)i(that)f(it)f(deserv)m(es)h(its)f(o)m(wn)g(section.)59
@@ -13486,9 +13515,9 @@ b Ft(set)35 b Fu(allo)m(ws)j(y)m(ou)e(to)h(c)m(hange)150
 5208 y Ft(set)870 5340 y(set)47 b([-abefhkmnptuvxBCEHPT])42
 b([-o)47 b Fj(option-name)p Ft(])d([--])j([-])g([)p Fj(argument)e
 Ft(...)o(])p eop end
-%%Page: 72 78
-TeXDict begin 72 77 bop 150 -116 a Fu(Chapter)30 b(4:)41
-b(Shell)30 b(Builtin)h(Commands)2069 b(72)870 299 y Ft(set)47
+%%Page: 73 79
+TeXDict begin 73 78 bop 150 -116 a Fu(Chapter)30 b(4:)41
+b(Shell)30 b(Builtin)h(Commands)2069 b(73)870 299 y Ft(set)47
 b([+abefhkmnptuvxBCEHPT])42 b([+o)47 b Fj(option-name)p
 Ft(])d([--])j([-])g([)p Fj(argument)e Ft(...)o(])870
 408 y(set)i(-o)870 518 y(set)g(+o)630 648 y Fu(If)22
@@ -13561,9 +13590,9 @@ Fu(is)h(ignored,)j(that)d(setting)h(will)f(not)g(ha)m(v)m(e)h(an)m(y)
 1110 5230 y(e\013ect)g(un)m(til)e(the)h(comp)s(ound)e(command)h(or)g
 (the)g(command)g(con)m(taining)1110 5340 y(the)31 b(function)f(call)h
 (completes.)p eop end
-%%Page: 73 79
-TeXDict begin 73 78 bop 150 -116 a Fu(Chapter)30 b(4:)41
-b(Shell)30 b(Builtin)h(Commands)2069 b(73)630 299 y Ft(-f)384
+%%Page: 74 80
+TeXDict begin 74 79 bop 150 -116 a Fu(Chapter)30 b(4:)41
+b(Shell)30 b(Builtin)h(Commands)2069 b(74)630 299 y Ft(-f)384
 b Fu(Disable)31 b(\014lename)g(expansion)f(\(globbing\).)630
 460 y Ft(-h)384 b Fu(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
@@ -13613,9 +13642,9 @@ y(b)m(y)30 b(default)h(in)f(in)m(teractiv)m(e)j(shells.)1110
 y Ft(keyword)144 b Fu(Same)30 b(as)h Ft(-k)p Fu(.)1110
 5340 y Ft(monitor)144 b Fu(Same)30 b(as)h Ft(-m)p Fu(.)p
 eop end
-%%Page: 74 80
-TeXDict begin 74 79 bop 150 -116 a Fu(Chapter)30 b(4:)41
-b(Shell)30 b(Builtin)h(Commands)2069 b(74)1110 299 y
+%%Page: 75 81
+TeXDict begin 75 80 bop 150 -116 a Fu(Chapter)30 b(4:)41
+b(Shell)30 b(Builtin)h(Commands)2069 b(75)1110 299 y
 Ft(noclobber)1590 408 y Fu(Same)30 b(as)h Ft(-C)p Fu(.)1110
 580 y Ft(noexec)192 b Fu(Same)30 b(as)h Ft(-n)p Fu(.)1110
 751 y Ft(noglob)192 b Fu(Same)30 b(as)h Ft(-f)p Fu(.)1110
@@ -13634,7 +13663,7 @@ b(of)1590 1888 y(the)33 b(last)h(\(righ)m(tmost\))h(command)e(to)h
 (vior)h(of)f(Bash)g(where)g(the)g(default)h(op)s(era-)1590
 2388 y(tion)25 b(di\013ers)f(from)g(the)h Fm(posix)f
 Fu(standard)f(to)i(matc)m(h)h(the)f(stan-)1590 2498 y(dard)h(\(see)j
-(Section)f(6.11)h([Bash)f(POSIX)e(Mo)s(de],)j(page)f(114\).)1590
+(Section)f(6.11)h([Bash)f(POSIX)e(Mo)s(de],)j(page)f(115\).)1590
 2607 y(This)37 b(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 2717 y(p)s(erset)30 b(of)h(that)f
 (standard.)1110 2888 y Ft(privileged)1590 2998 y Fu(Same)g(as)h
@@ -13664,14 +13693,14 @@ b(this)i(option)g(o\013)g(causes)g(the)g(e\013ectiv)m(e)i(user)d(and)g
 (group)g(ids)g(to)1110 4778 y(b)s(e)30 b(set)h(to)g(the)f(real)h(user)f
 (and)g(group)g(ids.)630 4950 y Ft(-r)384 b Fu(Enable)51
 b(restricted)h(shell)g(mo)s(de)f(\(see)h(Section)g(6.10)h([The)e
-(Restricted)1110 5059 y(Shell],)42 b(page)e(113\).)69
+(Restricted)1110 5059 y(Shell],)42 b(page)e(114\).)69
 b(This)39 b(option)g(cannot)h(b)s(e)f(unset)g(once)h(it)g(has)f(b)s
 (een)1110 5169 y(set.)630 5340 y Ft(-t)384 b Fu(Exit)31
 b(after)g(reading)f(and)g(executing)h(one)g(command.)p
 eop end
-%%Page: 75 81
-TeXDict begin 75 80 bop 150 -116 a Fu(Chapter)30 b(4:)41
-b(Shell)30 b(Builtin)h(Commands)2069 b(75)630 299 y Ft(-u)384
+%%Page: 76 82
+TeXDict begin 76 81 bop 150 -116 a Fu(Chapter)30 b(4:)41
+b(Shell)30 b(Builtin)h(Commands)2069 b(76)630 299 y Ft(-u)384
 b Fu(T)-8 b(reat)25 b(unset)e(v)-5 b(ariables)25 b(and)e(parameters)h
 (other)h(than)e(the)h(sp)s(ecial)h(param-)1110 408 y(eters)32
 b(`)p Ft(@)p Fu(')f(or)h(`)p Ft(*)p Fu(',)g(or)f(arra)m(y)h(v)-5
@@ -13732,9 +13761,9 @@ Ft(DEBUG)g Fu(and)g Ft(RETURN)g Fu(are)h(inherited)g(b)m(y)f(shell)i
 b(en)m(vironmen)m(t.)49 b(The)32 b Ft(DEBUG)g Fu(and)g
 Ft(RETURN)f Fu(traps)h(are)i(normally)f(not)1110 5340
 y(inherited)d(in)g(suc)m(h)g(cases.)p eop end
-%%Page: 76 82
-TeXDict begin 76 81 bop 150 -116 a Fu(Chapter)30 b(4:)41
-b(Shell)30 b(Builtin)h(Commands)2069 b(76)630 299 y Ft(--)384
+%%Page: 77 83
+TeXDict begin 77 82 bop 150 -116 a Fu(Chapter)30 b(4:)41
+b(Shell)30 b(Builtin)h(Commands)2069 b(77)630 299 y Ft(--)384
 b Fu(If)24 b(no)h(argumen)m(ts)g(follo)m(w)h(this)e(option,)j(unset)d
 (the)h(p)s(ositional)g(parameters.)1110 408 y(Otherwise,)f(the)f(p)s
 (ositional)h(parameters)f(are)g(set)g(to)h(the)e Fr(argumen)m(ts)p
@@ -13768,7 +13797,7 @@ b(b)s(e)g(either)h(those)f(listed)h(b)s(elo)m(w,)h(or,)f(if)g(the)f
 Ft(-o)f Fu(option)i(is)f(used,)h(those)g(a)m(v)-5 b(ailable)26
 b(with)630 2778 y(the)k Ft(-o)f Fu(option)i(to)f(the)g
 Ft(set)f Fu(builtin)h(command)f(\(see)i(Section)g(4.3.1)g([The)f(Set)g
-(Builtin],)630 2887 y(page)h(71\).)630 3023 y(With)37
+(Builtin],)630 2887 y(page)h(72\).)630 3023 y(With)37
 b(no)f(options,)j(or)d(with)g(the)h Ft(-p)f Fu(option,)i(displa)m(y)f
 (a)g(list)g(of)f(all)h(settable)h(options,)630 3133 y(with)30
 b(an)g(indication)h(of)g(whether)e(or)i(not)f(eac)m(h)h(is)g(set;)g(if)
@@ -13790,7 +13819,7 @@ Fr(optname)40 b Fu(argumen)m(ts)35 b(are)g(sup-)1110
 b(the)f(v)-5 b(alues)22 b(of)f Fr(optname)27 b Fu(to)22
 b(b)s(e)e(those)i(de\014ned)e(for)h(the)g Ft(-o)f Fu(option)1110
 4577 y(to)31 b(the)g Ft(set)e Fu(builtin)h(\(see)h(Section)h(4.3.1)g
-([The)e(Set)g(Builtin],)i(page)f(71\).)630 4739 y(If)e(either)i
+([The)e(Set)g(Builtin],)i(page)f(72\).)630 4739 y(If)e(either)i
 Ft(-s)e Fu(or)h Ft(-u)f Fu(is)h(used)f(with)g(no)h Fr(optname)35
 b Fu(argumen)m(ts,)c Ft(shopt)d Fu(sho)m(ws)h(only)h(those)630
 4849 y(options)h(whic)m(h)f(are)h(set)f(or)h(unset,)f(resp)s(ectiv)m
@@ -13803,9 +13832,9 @@ b(When)39 b(setting)h(or)f(unsetting)g(options,)i(the)e(return)f
 (status)h(is)g(zero)630 5340 y(unless)30 b(an)g Fr(optname)36
 b Fu(is)30 b(not)h(a)g(v)-5 b(alid)30 b(shell)h(option.)p
 eop end
-%%Page: 77 83
-TeXDict begin 77 82 bop 150 -116 a Fu(Chapter)30 b(4:)41
-b(Shell)30 b(Builtin)h(Commands)2069 b(77)630 299 y(The)30
+%%Page: 78 84
+TeXDict begin 78 83 bop 150 -116 a Fu(Chapter)30 b(4:)41
+b(Shell)30 b(Builtin)h(Commands)2069 b(78)630 299 y(The)30
 b(list)h(of)f Ft(shopt)f Fu(options)i(is:)630 463 y Ft
 (array_expand_once)1110 573 y Fu(If)39 b(set,)j(the)d(shell)g
 (suppresses)e(m)m(ultiple)j(ev)-5 b(aluation)41 b(of)e(asso)s(ciativ)m
@@ -13824,7 +13853,7 @@ b(This)29 b(option)g(is)h(only)1110 1559 y(used)g(b)m(y)g(in)m
 1833 y Fu(If)d(set,)h(\014lenames)f(added)g(to)h(the)f
 Ft(BASH_SOURCE)e Fu(arra)m(y)j(v)-5 b(ariable)31 b(are)f(con-)1110
 1943 y(v)m(erted)23 b(to)h(full)e(pathnames)g(\(see)i(Section)f(5.2)h
-([Bash)f(V)-8 b(ariables],)26 b(page)d(85\).)630 2107
+([Bash)f(V)-8 b(ariables],)26 b(page)d(86\).)630 2107
 y Ft(cdable_vars)1110 2217 y Fu(If)34 b(this)h(is)g(set,)i(an)e
 (argumen)m(t)g(to)h(the)f Ft(cd)f Fu(builtin)h(command)f(that)i(is)f
 (not)1110 2326 y(a)c(directory)g(is)g(assumed)f(to)h(b)s(e)f(the)h
@@ -13868,9 +13897,9 @@ b Fu(If)33 b(set,)j(Bash)e(attempts)h(to)g(sa)m(v)m(e)g(all)g(lines)f
 (re-editing)g(of)f(m)m(ulti-line)1110 5340 y(commands.)79
 b(This)43 b(option)g(is)h(enabled)f(b)m(y)g(default,)k(but)c(only)g
 (has)g(an)p eop end
-%%Page: 78 84
-TeXDict begin 78 83 bop 150 -116 a Fu(Chapter)30 b(4:)41
-b(Shell)30 b(Builtin)h(Commands)2069 b(78)1110 299 y(e\013ect)30
+%%Page: 79 85
+TeXDict begin 79 84 bop 150 -116 a Fu(Chapter)30 b(4:)41
+b(Shell)30 b(Builtin)h(Commands)2069 b(79)1110 299 y(e\013ect)30
 b(if)e(command)g(history)g(is)h(enabled)f(\(see)h(Section)g(9.1)h
 ([Bash)e(History)1110 408 y(F)-8 b(acilities],)34 b(page)d(165\).)630
 559 y Ft(compat31)630 669 y(compat32)630 778 y(compat40)630
@@ -13878,7 +13907,7 @@ b(if)e(command)g(history)g(is)h(enabled)f(\(see)h(Section)g(9.1)h
 1217 y(compat44)96 b Fu(These)39 b(con)m(trol)i(asp)s(ects)f(of)f(the)h
 (shell's)g(compatibilit)m(y)h(mo)s(de)e(\(see)h(Sec-)1110
 1326 y(tion)31 b(6.12)h([Shell)e(Compatibilit)m(y)i(Mo)s(de],)f(page)g
-(119\).)630 1477 y Ft(complete_fullquote)1110 1587 y
+(120\).)630 1477 y Ft(complete_fullquote)1110 1587 y
 Fu(If)g(set,)g(Bash)h(quotes)f(all)h(shell)f(metac)m(haracters)i(in)e
 (\014lenames)g(and)g(direc-)1110 1696 y(tory)g(names)f(when)g(p)s
 (erforming)f(completion.)43 b(If)30 b(not)h(set,)g(Bash)g(remo)m(v)m
@@ -13921,7 +13950,7 @@ b(in)m(teractiv)m(e)1110 4381 y(shell)31 b(do)s(es)f(not)g(exit)i(if)e
 Ft(exec)f Fu(fails.)630 4532 y Ft(expand_aliases)1110
 4641 y Fu(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 4751 y(tion)i(6.6)h
-([Aliases],)h(page)e(107.)55 b(This)33 b(option)i(is)g(enabled)f(b)m(y)
+([Aliases],)h(page)e(108.)55 b(This)33 b(option)i(is)g(enabled)f(b)m(y)
 h(default)f(for)1110 4861 y(in)m(teractiv)m(e)f(shells.)630
 5011 y Ft(extdebug)96 b Fu(If)35 b(set)i(at)f(shell)g(in)m(v)m(o)s
 (cation,)k(or)c(in)f(a)h(shell)h(startup)e(\014le,)i(arrange)g(to)f
@@ -13930,12 +13959,12 @@ h(default)f(for)1110 4861 y(in)m(teractiv)m(e)f(shells.)630
 y Ft(--debugger)32 b Fu(option.)56 b(If)35 b(set)h(after)g(in)m(v)m(o)s
 (cation,)j(b)s(eha)m(vior)c(in)m(tended)g(for)1110 5340
 y(use)30 b(b)m(y)g(debuggers)g(is)h(enabled:)p eop end
-%%Page: 79 85
-TeXDict begin 79 84 bop 150 -116 a Fu(Chapter)30 b(4:)41
-b(Shell)30 b(Builtin)h(Commands)2069 b(79)1159 299 y(1.)61
+%%Page: 80 86
+TeXDict begin 80 85 bop 150 -116 a Fu(Chapter)30 b(4:)41
+b(Shell)30 b(Builtin)h(Commands)2069 b(80)1159 299 y(1.)61
 b(The)37 b Ft(-F)g Fu(option)h(to)g(the)g Ft(declare)d
 Fu(builtin)i(\(see)i(Section)f(4.2)h([Bash)1290 408 y(Builtins],)29
-b(page)g(59\))g(displa)m(ys)f(the)g(source)h(\014le)f(name)g(and)f
+b(page)g(60\))g(displa)m(ys)f(the)g(source)h(\014le)f(name)g(and)f
 (line)h(n)m(um-)1290 518 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 628
 y(men)m(t.)1159 769 y(2.)61 b(If)20 b(the)h(command)g(run)e(b)m(y)i
@@ -13950,7 +13979,7 @@ Fu(builtins\),)i(the)g(shell)1290 1350 y(sim)m(ulates)d(a)g(call)h(to)f
 Ft(return)p Fu(.)1159 1491 y(4.)61 b Ft(BASH_ARGC)34
 b Fu(and)i Ft(BASH_ARGV)e Fu(are)j(up)s(dated)e(as)h(describ)s(ed)g(in)
 g(their)1290 1601 y(descriptions)30 b(\(see)i(Section)f(5.2)g([Bash)g
-(V)-8 b(ariables],)32 b(page)f(85\).)1159 1743 y(5.)61
+(V)-8 b(ariables],)32 b(page)f(86\).)1159 1743 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 1852 y(functions,)32
 b(and)e(subshells)h(in)m(v)m(ok)m(ed)i(with)e Ft(\()f
@@ -13977,7 +14006,7 @@ b(ariable)44 b(cause)1110 3677 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
 3786 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 3896 y([Bash)24
-b(V)-8 b(ariables],)27 b(page)e(85,)h(for)d(a)h(description)g(of)g
+b(V)-8 b(ariables],)27 b(page)e(86,)h(for)d(a)h(description)g(of)g
 Ft(FIGNORE)p Fu(.)37 b(This)22 b(option)1110 4006 y(is)30
 b(enabled)h(b)m(y)f(default.)630 4180 y Ft(globasciiranges)1110
 4289 y Fu(If)j(set,)h(range)f(expressions)g(used)f(in)h(pattern)g(matc)
@@ -13996,9 +14025,9 @@ y Ft(globskipdots)1110 5121 y Fu(If)c(set,)h(\014lename)f(expansion)g
 Fu(and)f Ft(..)p Fu(,)1110 5230 y(ev)m(en)40 b(if)g(the)g(pattern)g(b)s
 (egins)f(with)g(a)i(`)p Ft(.)p Fu('.)68 b(This)39 b(option)i(is)e
 (enabled)h(b)m(y)1110 5340 y(default.)p eop end
-%%Page: 80 86
-TeXDict begin 80 85 bop 150 -116 a Fu(Chapter)30 b(4:)41
-b(Shell)30 b(Builtin)h(Commands)2069 b(80)630 299 y Ft(globstar)96
+%%Page: 81 87
+TeXDict begin 81 86 bop 150 -116 a Fu(Chapter)30 b(4:)41
+b(Shell)30 b(Builtin)h(Commands)2069 b(81)630 299 y Ft(globstar)96
 b Fu(If)38 b(set,)j(the)e(pattern)f(`)p Ft(**)p Fu(')h(used)e(in)i(a)f
 (\014lename)h(expansion)f(con)m(text)j(will)1110 408
 y(matc)m(h)36 b(all)g(\014les)f(and)f(zero)i(or)f(more)g(directories)h
@@ -14052,9 +14081,9 @@ Ft(cmdhist)e Fu(option)j(is)f(enabled,)i(m)m(ulti-line)f(commands)1110
 5230 y(are)28 b(sa)m(v)m(ed)h(to)g(the)f(history)g(with)f(em)m(b)s
 (edded)g(newlines)h(rather)g(than)f(using)1110 5340 y(semicolon)32
 b(separators)f(where)e(p)s(ossible.)p eop end
-%%Page: 81 87
-TeXDict begin 81 86 bop 150 -116 a Fu(Chapter)30 b(4:)41
-b(Shell)30 b(Builtin)h(Commands)2069 b(81)630 299 y Ft
+%%Page: 82 88
+TeXDict begin 82 87 bop 150 -116 a Fu(Chapter)30 b(4:)41
+b(Shell)30 b(Builtin)h(Commands)2069 b(82)630 299 y Ft
 (localvar_inherit)1110 408 y Fu(If)32 b(set,)h(lo)s(cal)g(v)-5
 b(ariables)33 b(inherit)f(the)g(v)-5 b(alue)32 b(and)g(attributes)h(of)
 f(a)g(v)-5 b(ariable)1110 518 y(of)36 b(the)g(same)g(name)g(that)h
@@ -14070,7 +14099,7 @@ b(returns.)68 b(This)39 b(is)g(iden)m(tical)j(to)e(the)g(b)s(eha)m
 b(at)g(the)g(curren)m(t)f(function)g(scop)s(e.)630 1373
 y Ft(login_shell)1110 1482 y Fu(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
-1592 y(tion)29 b(6.1)g([In)m(v)m(oking)h(Bash],)f(page)g(98\).)41
+1592 y(tion)29 b(6.1)g([In)m(v)m(oking)h(Bash],)f(page)g(99\).)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
 1745 y Ft(mailwarn)96 b Fu(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)
@@ -14116,9 +14145,9 @@ Ft(progcomp)96 b Fu(If)81 b(set,)94 b(enable)82 b(the)f(programmable)g
 b(8.6)f([Programmable)h(Completion],)g(page)f(156\).)43
 b(This)29 b(option)h(is)1110 5340 y(enabled)g(b)m(y)h(default.)p
 eop end
-%%Page: 82 88
-TeXDict begin 82 87 bop 150 -116 a Fu(Chapter)30 b(4:)41
-b(Shell)30 b(Builtin)h(Commands)2069 b(82)630 299 y Ft(progcomp_alias)
+%%Page: 83 89
+TeXDict begin 83 88 bop 150 -116 a Fu(Chapter)30 b(4:)41
+b(Shell)30 b(Builtin)h(Commands)2069 b(83)630 299 y Ft(progcomp_alias)
 1110 408 y Fu(If)23 b(set,)j(and)d(programmable)h(completion)h(is)f
 (enabled,)h(Bash)f(treats)h(a)f(com-)1110 518 y(mand)34
 b(name)h(that)g(do)s(esn't)f(ha)m(v)m(e)i(an)m(y)g(completions)f(as)g
@@ -14131,12 +14160,12 @@ b(strings)h(undergo)g(parameter)h(expansion,)k(command)1110
 1248 y(substitution,)35 b(arithmetic)g(expansion,)g(and)e(quote)i(remo)
 m(v)-5 b(al)35 b(after)f(b)s(eing)1110 1357 y(expanded)53
 b(as)h(describ)s(ed)e(b)s(elo)m(w)i(\(see)h(Section)f(6.9)h([Con)m
-(trolling)g(the)1110 1467 y(Prompt],)30 b(page)h(111\).)43
+(trolling)g(the)1110 1467 y(Prompt],)30 b(page)h(112\).)43
 b(This)29 b(option)i(is)g(enabled)f(b)m(y)g(default.)630
 1649 y Ft(restricted_shell)1110 1758 y Fu(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 1868 y(Section)32 b(6.10)h([The)d(Restricted)j(Shell],)e(page)h
-(113\).)45 b(The)30 b(v)-5 b(alue)32 b(ma)m(y)g(not)1110
+(114\).)45 b(The)30 b(v)-5 b(alue)32 b(ma)m(y)g(not)1110
 1977 y(b)s(e)g(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 2087
 y(allo)m(wing)k(the)e(startup)f(\014les)h(to)g(disco)m(v)m(er)h
@@ -14160,7 +14189,7 @@ b(alue)41 b(of)g Ft(PATH)f Fu(to)h(\014nd)f(the)1110
 Fu(If)31 b(set,)h(the)g Ft(echo)e Fu(builtin)h(expands)f(bac)m
 (kslash-escap)s(e)j(sequences)f(b)m(y)f(de-)1110 4020
 y(fault.)40 b(If)27 b(the)h Ft(posix)e Fu(shell)h(option)h(\(see)h
-(Section)f(4.3.1)h([The)e(Set)h(Builtin],)1110 4129 y(page)j(71\))h(is)
+(Section)f(4.3.1)h([The)e(Set)h(Builtin],)1110 4129 y(page)j(72\))h(is)
 e(also)h(enabled,)g Ft(echo)e Fu(do)s(es)h(not)h(in)m(terpret)g(an)m(y)
 f(options.)150 4404 y Fs(4.4)68 b(Sp)t(ecial)45 b(Builtins)150
 4563 y Fu(F)-8 b(or)35 b(historical)h(reasons,)g(the)e
@@ -14176,20 +14205,20 @@ b(If)30 b(a)h(sp)s(ecial)g(builtin)f(returns)f(an)h(error)g(status,)h
 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
 5340 y(after)i(the)f(command)h(completes.)p eop end
-%%Page: 83 89
-TeXDict begin 83 88 bop 150 -116 a Fu(Chapter)30 b(4:)41
-b(Shell)30 b(Builtin)h(Commands)2069 b(83)275 299 y(When)36
+%%Page: 84 90
+TeXDict begin 84 89 bop 150 -116 a Fu(Chapter)30 b(4:)41
+b(Shell)30 b(Builtin)h(Commands)2069 b(84)275 299 y(When)36
 b(Bash)g(is)h(not)f(executing)i(in)e Fm(posix)f Fu(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
 408 y(the)31 b(rest)f(of)h(the)f(Bash)h(builtin)e(commands.)41
 b(The)30 b(Bash)g Fm(posix)g Fu(mo)s(de)g(is)g(describ)s(ed)f(in)h
-(Section)h(6.11)150 518 y([Bash)g(POSIX)e(Mo)s(de],)i(page)g(114.)275
+(Section)h(6.11)150 518 y([Bash)g(POSIX)e(Mo)s(de],)i(page)g(115.)275
 653 y(These)f(are)g(the)h Fm(posix)f Fu(sp)s(ecial)h(builtins:)390
 787 y Ft(break)46 b(:)i(.)f(source)f(continue)g(eval)h(exec)f(exit)h
 (export)f(readonly)f(return)i(set)390 897 y(shift)f(times)h(trap)f
 (unset)p eop end
-%%Page: 84 90
-TeXDict begin 84 89 bop 3659 -116 a Fu(84)150 299 y Fp(5)80
+%%Page: 85 91
+TeXDict begin 85 90 bop 3659 -116 a Fu(85)150 299 y Fp(5)80
 b(Shell)53 b(V)-13 b(ariables)150 632 y Fu(This)21 b(c)m(hapter)i
 (describ)s(es)e(the)i(shell)f(v)-5 b(ariables)23 b(that)f(Bash)h(uses.)
 37 b(Bash)23 b(automatically)h(assigns)f(default)150
@@ -14247,7 +14276,7 @@ b(alue)55 b(is)630 4609 y Ft(")p Fu(/usr/lo)s(cal/bin:/usr/lo)s
 4801 y Ft(PS1)336 b Fu(The)35 b(primary)f(prompt)h(string.)55
 b(The)35 b(default)h(v)-5 b(alue)35 b(is)h(`)p Ft(\\s-\\v\\$)28
 b Fu('.)56 b(See)36 b(Section)g(6.9)630 4911 y([Con)m(trolling)i(the)e
-(Prompt],)i(page)f(111,)i(for)d(the)h(complete)h(list)e(of)h(escap)s(e)
+(Prompt],)i(page)f(112,)i(for)d(the)h(complete)h(list)e(of)h(escap)s(e)
 g(sequences)630 5020 y(that)31 b(are)g(expanded)e(b)s(efore)h
 Ft(PS1)g Fu(is)g(displa)m(y)m(ed.)150 5213 y Ft(PS2)336
 b Fu(The)28 b(secondary)g(prompt)g(string.)40 b(The)28
@@ -14255,9 +14284,9 @@ b(default)g(v)-5 b(alue)29 b(is)g(`)p Ft(>)h Fu('.)40
 b Ft(PS2)28 b Fu(is)g(expanded)g(in)g(the)630 5322 y(same)j(w)m(a)m(y)g
 (as)g Ft(PS1)e Fu(b)s(efore)h(b)s(eing)g(displa)m(y)m(ed.)p
 eop end
-%%Page: 85 91
-TeXDict begin 85 90 bop 150 -116 a Fu(Chapter)30 b(5:)41
-b(Shell)30 b(V)-8 b(ariables)2459 b(85)150 299 y Fs(5.2)68
+%%Page: 86 92
+TeXDict begin 86 91 bop 150 -116 a Fu(Chapter)30 b(5:)41
+b(Shell)30 b(V)-8 b(ariables)2459 b(86)150 299 y Fs(5.2)68
 b(Bash)45 b(V)-11 b(ariables)150 458 y Fu(These)45 b(v)-5
 b(ariables)46 b(are)g(set)g(or)f(used)f(b)m(y)h(Bash,)50
 b(but)44 b(other)i(shells)f(do)h(not)f(normally)h(treat)g(them)150
@@ -14288,7 +14317,7 @@ b(It)41 b(is)f(also)i(set)f(to)g(the)g(full)f(pathname)g(used)g(to)630
 (list)g(is)g(a)g(v)-5 b(alid)630 2013 y(argumen)m(t)37
 b(for)g(the)g Ft(-s)f Fu(option)i(to)f(the)g Ft(shopt)f
 Fu(builtin)g(command)h(\(see)g(Section)h(4.3.2)630 2123
-y([The)e(Shopt)g(Builtin],)i(page)f(76\).)60 b(The)36
+y([The)e(Shopt)g(Builtin],)i(page)f(77\).)60 b(The)36
 b(options)h(app)s(earing)f(in)g Ft(BASHOPTS)e Fu(are)i(those)630
 2232 y(rep)s(orted)e(as)h(`)p Ft(on)p Fu(')f(b)m(y)h(`)p
 Ft(shopt)p Fu('.)53 b(If)34 b(this)g(v)-5 b(ariable)36
@@ -14309,7 +14338,7 @@ y(loses)31 b(its)g(sp)s(ecial)g(prop)s(erties,)f(ev)m(en)h(if)f(it)h
 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 3293 y(of)c(aliases)h(as)f(main)m(tained)g(b)m(y)g
 (the)g Ft(alias)e Fu(builtin.)59 b(\(see)37 b(Section)h(4.1)f([Bourne)g
-(Shell)630 3403 y(Builtins],)31 b(page)g(50\).)42 b(Elemen)m(ts)31
+(Shell)630 3403 y(Builtins],)31 b(page)g(51\).)42 b(Elemen)m(ts)31
 b(added)e(to)i(this)f(arra)m(y)h(app)s(ear)f(in)g(the)g(alias)h(list;)h
 (ho)m(w-)630 3512 y(ev)m(er,)k(unsetting)f(arra)m(y)g(elemen)m(ts)g
 (curren)m(tly)g(do)s(es)f(not)g(cause)h(aliases)h(to)f(b)s(e)f(remo)m
@@ -14328,7 +14357,7 @@ b(a)g(subroutine)f(is)h(executed,)i(the)e(n)m(um)m(b)s(er)f(of)h
 (parameters)630 4426 y(passed)44 b(is)h(pushed)e(on)m(to)j
 Ft(BASH_ARGC)p Fu(.)81 b(The)44 b(shell)h(sets)g Ft(BASH_ARGC)e
 Fu(only)i(when)e(in)630 4536 y(extended)34 b(debugging)f(mo)s(de)g
-(\(see)i(Section)f(4.3.2)i([The)d(Shopt)g(Builtin],)i(page)g(76,)g(for)
+(\(see)i(Section)f(4.3.2)i([The)d(Shopt)g(Builtin],)i(page)g(77,)g(for)
 630 4645 y(a)e(description)g(of)f(the)h Ft(extdebug)d
 Fu(option)j(to)h(the)e Ft(shopt)g Fu(builtin\).)47 b(Setting)33
 b Ft(extdebug)630 4755 y Fu(after)g(the)f(shell)g(has)g(started)g(to)h
@@ -14342,16 +14371,16 @@ b(ariable)24 b(con)m(taining)g(all)g(of)f(the)h(parameters)f(in)g(the)g
 (curren)m(t)g(Bash)g(execution)630 5340 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)p eop end
-%%Page: 86 92
-TeXDict begin 86 91 bop 150 -116 a Fu(Chapter)30 b(5:)41
-b(Shell)30 b(V)-8 b(ariables)2459 b(86)630 299 y(stac)m(k;)28
+%%Page: 87 93
+TeXDict begin 87 92 bop 150 -116 a Fu(Chapter)30 b(5:)41
+b(Shell)30 b(V)-8 b(ariables)2459 b(87)630 299 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 408
 y(is)e(executed,)j(the)e(shell)g(pushes)e(the)h(supplied)f(parameters)i
 (on)m(to)g Ft(BASH_ARGV)p Fu(.)36 b(The)22 b(shell)630
 518 y(sets)28 b Ft(BASH_ARGV)e Fu(only)i(when)f(in)h(extended)g
 (debugging)g(mo)s(de)g(\(see)h(Section)f(4.3.2)i([The)630
-628 y(Shopt)g(Builtin],)h(page)g(76,)g(for)g(a)f(description)h(of)f
+628 y(Shopt)g(Builtin],)h(page)g(77,)g(for)g(a)f(description)h(of)f
 (the)h Ft(extdebug)d Fu(option)j(to)g(the)f Ft(shopt)630
 737 y Fu(builtin\).)64 b(Setting)38 b Ft(extdebug)e Fu(after)j(the)f
 (shell)g(has)g(started)g(to)h(execute)g(a)g(script,)h(or)630
@@ -14374,7 +14403,7 @@ Ft(BASH_CMDS)630 1943 y Fu(An)k(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 2052 y(table)c(of)g(commands)f(as)g(main)m(tained)h
 (b)m(y)g(the)f Ft(hash)f Fu(builtin)h(\(see)h(Section)g(4.1)h([Bourne)
-630 2162 y(Shell)e(Builtins],)h(page)g(50\).)42 b(Adding)30
+630 2162 y(Shell)e(Builtins],)h(page)g(51\).)42 b(Adding)30
 b(elemen)m(ts)i(to)f(this)f(arra)m(y)h(mak)m(es)g(them)g(app)s(ear)e
 (in)630 2271 y(the)38 b(hash)f(table;)42 b(ho)m(w)m(ev)m(er,)f
 (unsetting)d(arra)m(y)g(elemen)m(ts)h(curren)m(tly)f(do)s(es)g(not)f
@@ -14392,7 +14421,7 @@ y(it)c(is)f(the)g(command)g(executing)h(at)g(the)f(time)h(of)f(the)h
 (it)h(is)g(subsequen)m(tly)e(reset.)150 3258 y Ft(BASH_COMPAT)630
 3367 y Fu(The)j(v)-5 b(alue)33 b(is)g(used)f(to)h(set)g(the)g(shell's)g
 (compatibilit)m(y)i(lev)m(el.)49 b(See)33 b(Section)h(6.12)g([Shell)630
-3477 y(Compatibilit)m(y)j(Mo)s(de],)h(page)e(119,)i(for)e(a)g
+3477 y(Compatibilit)m(y)j(Mo)s(de],)h(page)e(120,)i(for)e(a)g
 (description)g(of)f(the)h(v)-5 b(arious)36 b(compatibilit)m(y)630
 3587 y(lev)m(els)g(and)f(their)g(e\013ects.)55 b(The)34
 b(v)-5 b(alue)36 b(ma)m(y)f(b)s(e)f(a)i(decimal)f(n)m(um)m(b)s(er)f
@@ -14409,7 +14438,7 @@ b(alid)31 b(compatibilit)m(y)j(lev)m(els,)f(the)f(shell)f(prin)m(ts)g
 42 b(A)30 b(subset)g(of)h(the)g(v)-5 b(alid)630 4244
 y(v)g(alues)31 b(corresp)s(ond)d(to)j(the)g(compatibilit)m(y)h(lev)m
 (els)g(describ)s(ed)d(b)s(elo)m(w)h(\(see)h(Section)g(6.12)630
-4354 y([Shell)25 b(Compatibilit)m(y)h(Mo)s(de],)h(page)e(119\).)41
+4354 y([Shell)25 b(Compatibilit)m(y)h(Mo)s(de],)h(page)e(120\).)41
 b(F)-8 b(or)25 b(example,)i(4.2)f(and)e(42)h(are)h(v)-5
 b(alid)25 b(v)-5 b(alues)630 4463 y(that)33 b(corresp)s(ond)e(to)i(the)
 f Ft(compat42)e(shopt)h Fu(option)i(and)f(set)g(the)h(compatibilit)m(y)
@@ -14422,13 +14451,13 @@ b(expanded)f(and)g(used)h(as)g(the)g(name)g(of)g(a)g(startup)g(\014le)g
 (to)g(read)g(b)s(efore)g(executing)630 4956 y(the)e(script.)61
 b(Bash)37 b(do)s(es)g(not)g(use)g Ft(PATH)f Fu(to)h(searc)m(h)h(for)f
 (the)g(resultan)m(t)h(\014lename.)61 b(See)630 5066 y(Section)31
-b(6.2)h([Bash)e(Startup)g(Files],)i(page)f(100.)150 5230
+b(6.2)h([Bash)e(Startup)g(Files],)i(page)f(101.)150 5230
 y Ft(BASH_EXECUTION_STRING)630 5340 y Fu(The)f(command)g(argumen)m(t)h
 (to)g(the)g Ft(-c)e Fu(in)m(v)m(o)s(cation)k(option.)p
 eop end
-%%Page: 87 93
-TeXDict begin 87 92 bop 150 -116 a Fu(Chapter)30 b(5:)41
-b(Shell)30 b(V)-8 b(ariables)2459 b(87)150 299 y Ft(BASH_LINENO)630
+%%Page: 88 94
+TeXDict begin 88 93 bop 150 -116 a Fu(Chapter)30 b(5:)41
+b(Shell)30 b(V)-8 b(ariables)2459 b(88)150 299 y Ft(BASH_LINENO)630
 408 y Fu(An)38 b(arra)m(y)g(v)-5 b(ariable)39 b(whose)f(mem)m(b)s(ers)f
 (are)i(the)f(line)h(n)m(um)m(b)s(ers)d(in)i(source)g(\014les)g(where)
 630 518 y(eac)m(h)h(corresp)s(onding)e(mem)m(b)s(er)g(of)h
@@ -14484,11 +14513,11 @@ f(ev)m(en)h(if)g(it)g(is)f(subsequen)m(tly)g(reset.)150
 (b)s(er)e(corresp)s(onding)g(to)i(the)f(trap)g(action)h(b)s(eing)f
 (executed)h(dur-)630 4208 y(ing)38 b(its)h(execution.)66
 b(See)38 b(the)g(description)h(of)f Ft(trap)f Fu(\(see)i(Section)g(4.1)
-h([Bourne)e(Shell)630 4317 y(Builtins],)31 b(page)g(50\))h(for)e
+h([Bourne)e(Shell)630 4317 y(Builtins],)31 b(page)g(51\))h(for)e
 (information)h(ab)s(out)f(signal)h(n)m(um)m(b)s(ers)e(and)h(trap)g
 (execution.)150 4475 y Ft(BASH_VERSINFO)630 4585 y Fu(A)i(readonly)g
 (arra)m(y)g(v)-5 b(ariable)32 b(\(see)h(Section)g(6.7)f([Arra)m(ys],)h
-(page)g(108\))g(whose)f(mem)m(b)s(ers)630 4695 y(hold)g(v)m(ersion)h
+(page)g(109\))g(whose)f(mem)m(b)s(ers)630 4695 y(hold)g(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
 4804 y(arra)m(y)e(mem)m(b)s(ers)e(are)i(as)g(follo)m(ws:)630
@@ -14497,9 +14526,9 @@ b(jor)30 b(v)m(ersion)h(n)m(um)m(b)s(er)e(\(the)i Fr(release)5
 b Fu(\).)630 5230 y Ft(BASH_VERSINFO[1])1110 5340 y Fu(The)30
 b(minor)g(v)m(ersion)h(n)m(um)m(b)s(er)e(\(the)i Fr(v)m(ersion)p
 Fu(\).)p eop end
-%%Page: 88 94
-TeXDict begin 88 93 bop 150 -116 a Fu(Chapter)30 b(5:)41
-b(Shell)30 b(V)-8 b(ariables)2459 b(88)630 299 y Ft(BASH_VERSINFO[2])
+%%Page: 89 95
+TeXDict begin 89 94 bop 150 -116 a Fu(Chapter)30 b(5:)41
+b(Shell)30 b(V)-8 b(ariables)2459 b(89)630 299 y Ft(BASH_VERSINFO[2])
 1110 408 y Fu(The)30 b(patc)m(h)h(lev)m(el.)630 573 y
 Ft(BASH_VERSINFO[3])1110 682 y Fu(The)f(build)f(v)m(ersion.)630
 847 y Ft(BASH_VERSINFO[4])1110 956 y Fu(The)h(release)i(status)e
@@ -14536,7 +14565,7 @@ Ft(select)e Fu(command)h(to)i(determine)f(the)f(terminal)i(width)d
 (when)h(prin)m(ting)630 3532 y(selection)39 b(lists.)63
 b(Automatically)41 b(set)d(if)f(the)h Ft(checkwinsize)d
 Fu(option)j(is)f(enabled)h(\(see)630 3641 y(Section)44
-b(4.3.2)h([The)e(Shopt)g(Builtin],)k(page)d(76\),)k(or)43
+b(4.3.2)h([The)e(Shopt)g(Builtin],)k(page)d(77\),)k(or)43
 b(in)g(an)g(in)m(teractiv)m(e)j(shell)e(up)s(on)630 3751
 y(receipt)31 b(of)g(a)g Ft(SIGWINCH)p Fu(.)150 3915 y
 Ft(COMP_CWORD)630 4025 y Fu(An)38 b(index)g(in)m(to)h
@@ -14561,9 +14590,9 @@ 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 5340
 y(Section)k(8.6)h([Programmable)f(Completion],)g(page)g(156\).)p
 eop end
-%%Page: 89 95
-TeXDict begin 89 94 bop 150 -116 a Fu(Chapter)30 b(5:)41
-b(Shell)30 b(V)-8 b(ariables)2459 b(89)150 299 y Ft(COMP_POINT)630
+%%Page: 90 96
+TeXDict begin 90 95 bop 150 -116 a Fu(Chapter)30 b(5:)41
+b(Shell)30 b(V)-8 b(ariables)2459 b(90)150 299 y Ft(COMP_POINT)630
 408 y Fu(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
 518 y(command.)40 b(If)27 b(the)h(curren)m(t)g(cursor)g(p)s(osition)g
@@ -14637,13 +14666,13 @@ b(in)g(the)g(en)m(vironmen)m(t)h(when)e(the)h(shell)g(starts,)j(and)d
 h(bu\013er)e(and)630 4970 y(disables)30 b(line)h(editing.)150
 5121 y Ft(ENV)336 b Fu(Expanded)33 b(and)h(executed)i(similarly)f(to)g
 Ft(BASH_ENV)d Fu(\(see)k(Section)f(6.2)h([Bash)f(Startup)630
-5230 y(Files],)g(page)e(100\))i(when)d(an)g(in)m(teractiv)m(e)k(shell)d
+5230 y(Files],)g(page)e(101\))i(when)d(an)g(in)m(teractiv)m(e)k(shell)d
 (is)g(in)m(v)m(ok)m(ed)h(in)f Fm(posix)f Fu(Mo)s(de)h(\(see)g(Sec-)630
-5340 y(tion)e(6.11)h([Bash)f(POSIX)e(Mo)s(de],)i(page)g(114\).)p
+5340 y(tion)e(6.11)h([Bash)f(POSIX)e(Mo)s(de],)i(page)g(115\).)p
 eop end
-%%Page: 90 96
-TeXDict begin 90 95 bop 150 -116 a Fu(Chapter)30 b(5:)41
-b(Shell)30 b(V)-8 b(ariables)2459 b(90)150 299 y Ft(EPOCHREALTIME)630
+%%Page: 91 97
+TeXDict begin 91 96 bop 150 -116 a Fu(Chapter)30 b(5:)41
+b(Shell)30 b(V)-8 b(ariables)2459 b(91)150 299 y Ft(EPOCHREALTIME)630
 408 y Fu(Eac)m(h)38 b(time)f(this)g(parameter)h(is)f(referenced,)i(it)f
 (expands)e(to)i(the)f(n)m(um)m(b)s(er)f(of)h(seconds)630
 518 y(since)g(the)f(Unix)g(Ep)s(o)s(c)m(h)f(as)i(a)f(\015oating-p)s
@@ -14725,9 +14754,9 @@ y Ft(GLOBIGNORE)630 5230 y Fu(A)k(colon-separated)i(list)f(of)f
 (ignored)630 5340 y(b)m(y)28 b(\014lename)h(expansion.)40
 b(If)28 b(a)h(\014le)g(name)g(matc)m(hed)g(b)m(y)g(a)g(\014lename)f
 (expansion)h(pattern)p eop end
-%%Page: 91 97
-TeXDict begin 91 96 bop 150 -116 a Fu(Chapter)30 b(5:)41
-b(Shell)30 b(V)-8 b(ariables)2459 b(91)630 299 y(also)33
+%%Page: 92 98
+TeXDict begin 92 97 bop 150 -116 a Fu(Chapter)30 b(5:)41
+b(Shell)30 b(V)-8 b(ariables)2459 b(92)630 299 y(also)33
 b(matc)m(hes)g(one)f(of)g(the)g(patterns)g(in)f Ft(GLOBIGNORE)p
 Fu(,)f(it)i(is)g(remo)m(v)m(ed)h(from)e(the)h(list)h(of)630
 408 y(matc)m(hes.)41 b(The)27 b(pattern)g(matc)m(hing)h(honors)f(the)g
@@ -14815,9 +14844,9 @@ b Fu(The)44 b(history)h(n)m(um)m(b)s(er,)j(or)d(index)g(in)f(the)h
 b(If)37 b Ft(HISTCMD)e Fu(is)i(unset,)h(it)g(loses)g(its)f(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: 92 98
-TeXDict begin 92 97 bop 150 -116 a Fu(Chapter)30 b(5:)41
-b(Shell)30 b(V)-8 b(ariables)2459 b(92)150 299 y Ft(HISTCONTROL)630
+%%Page: 93 99
+TeXDict begin 93 98 bop 150 -116 a Fu(Chapter)30 b(5:)41
+b(Shell)30 b(V)-8 b(ariables)2459 b(93)150 299 y Ft(HISTCONTROL)630
 408 y Fu(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
 518 y(history)29 b(list.)41 b(If)28 b(the)h(list)h(of)f(v)-5
@@ -14909,9 +14938,9 @@ b(maxim)m(um)g(n)m(um)m(b)s(er)e(of)j(commands)f(to)g(remem)m(b)s(er)g
 y(v)-5 b(alue)26 b(is)g(0,)i(commands)d(are)h(not)h(sa)m(v)m(ed)g(in)e
 (the)h(history)g(list.)40 b(Numeric)26 b(v)-5 b(alues)26
 b(less)g(than)p eop end
-%%Page: 93 99
-TeXDict begin 93 98 bop 150 -116 a Fu(Chapter)30 b(5:)41
-b(Shell)30 b(V)-8 b(ariables)2459 b(93)630 299 y(zero)28
+%%Page: 94 100
+TeXDict begin 94 99 bop 150 -116 a Fu(Chapter)30 b(5:)41
+b(Shell)30 b(V)-8 b(ariables)2459 b(94)630 299 y(zero)28
 b(result)e(in)h(ev)m(ery)g(command)g(b)s(eing)f(sa)m(v)m(ed)i(on)f(the)
 g(history)f(list)i(\(there)f(is)g(no)g(limit\).)630 408
 y(The)j(shell)g(sets)h(the)g(default)f(v)-5 b(alue)31
@@ -14982,9 +15011,9 @@ e(determines)g(the)h(b)s(eha)m(vior)f(of)g(range)h(expressions,)h
 (within)f(\014lename)h(expansion)g(and)f(pattern)630
 5340 y(matc)m(hing)d(\(see)h(Section)f(3.5.8)h([Filename)g(Expansion],)
 e(page)h(37\).)p eop end
-%%Page: 94 100
-TeXDict begin 94 99 bop 150 -116 a Fu(Chapter)30 b(5:)41
-b(Shell)30 b(V)-8 b(ariables)2459 b(94)150 299 y Ft(LC_CTYPE)96
+%%Page: 95 101
+TeXDict begin 95 100 bop 150 -116 a Fu(Chapter)30 b(5:)41
+b(Shell)30 b(V)-8 b(ariables)2459 b(95)150 299 y Ft(LC_CTYPE)96
 b Fu(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 408 y(c)m(haracter)46 b(classes)g(within)e(\014lename)h(expansion)g
@@ -15012,7 +15041,7 @@ Ft(select)e Fu(command)i(to)g(determine)g(the)g(column)g(length)g(for)g
 (prin)m(ting)630 2036 y(selection)c(lists.)63 b(Automatically)41
 b(set)d(if)f(the)h Ft(checkwinsize)d Fu(option)j(is)f(enabled)h(\(see)
 630 2146 y(Section)44 b(4.3.2)h([The)e(Shopt)g(Builtin],)k(page)d
-(76\),)k(or)43 b(in)g(an)g(in)m(teractiv)m(e)j(shell)e(up)s(on)630
+(77\),)k(or)43 b(in)g(an)g(in)m(teractiv)m(e)j(shell)e(up)s(on)630
 2255 y(receipt)31 b(of)g(a)g Ft(SIGWINCH)p Fu(.)150 2405
 y Ft(MACHTYPE)96 b Fu(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
@@ -15041,7 +15070,7 @@ Fu(If)35 b(set)i(to)f(the)h(v)-5 b(alue)36 b(1,)i(Bash)e(displa)m(ys)g
 (ok)m(ed.)150 4033 y Ft(OSTYPE)192 b Fu(A)30 b(string)h(describing)f
 (the)g(op)s(erating)h(system)g(Bash)f(is)h(running)d(on.)150
 4183 y Ft(PIPESTATUS)630 4293 y Fu(An)48 b(arra)m(y)g(v)-5
-b(ariable)49 b(\(see)g(Section)g(6.7)g([Arra)m(ys],)k(page)c(108\))g
+b(ariable)49 b(\(see)g(Section)g(6.7)g([Arra)m(ys],)k(page)c(109\))g
 (con)m(taining)h(a)e(list)h(of)630 4402 y(exit)32 b(status)f(v)-5
 b(alues)31 b(from)f(the)h(pro)s(cesses)g(in)g(the)g(most-recen)m
 (tly-executed)j(foreground)630 4512 y(pip)s(eline,)i(whic)m(h)f(ma)m(y)
@@ -15051,15 +15080,15 @@ y Ft(POSIXLY_CORRECT)630 4881 y Fu(If)h(this)g(v)-5 b(ariable)34
 b(is)e(in)g(the)h(en)m(vironmen)m(t)g(when)e(Bash)i(starts,)g(the)g
 (shell)g(en)m(ters)g Fm(posix)630 4991 y Fu(mo)s(de)46
 b(\(see)h(Section)g(6.11)g([Bash)g(POSIX)e(Mo)s(de],)50
-b(page)d(114\))h(b)s(efore)e(reading)g(the)630 5101 y(startup)38
+b(page)d(115\))h(b)s(efore)e(reading)g(the)630 5101 y(startup)38
 b(\014les,)j(as)e(if)g(the)g Ft(--posix)d Fu(in)m(v)m(o)s(cation)41
 b(option)e(had)f(b)s(een)g(supplied.)64 b(If)39 b(it)g(is)630
 5210 y(set)31 b(while)f(the)h(shell)f(is)h(running,)e(Bash)h(enables)h
 Fm(posix)f Fu(mo)s(de,)g(as)g(if)h(the)f(command)870
 5340 y Ft(set)47 b(-o)g(posix)p eop end
-%%Page: 95 101
-TeXDict begin 95 100 bop 150 -116 a Fu(Chapter)30 b(5:)41
-b(Shell)30 b(V)-8 b(ariables)2459 b(95)630 299 y(had)33
+%%Page: 96 102
+TeXDict begin 96 101 bop 150 -116 a Fu(Chapter)30 b(5:)41
+b(Shell)30 b(V)-8 b(ariables)2459 b(96)630 299 y(had)33
 b(b)s(een)g(executed.)51 b(When)33 b(the)h(shell)f(en)m(ters)h
 Fm(posix)f Fu(mo)s(de,)h(it)g(sets)g(this)g(v)-5 b(ariable)34
 b(if)630 408 y(it)d(w)m(as)g(not)f(already)h(set.)150
@@ -15079,7 +15108,7 @@ 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 1412 y(directory)c(comp)s(onen)m(ts)h(to)f(retain)h(when)
 e(expanding)g(the)h Ft(\\w)g Fu(and)f Ft(\\W)g Fu(prompt)h(string)f
 (es-)630 1521 y(cap)s(es)i(\(see)h(Section)g(6.9)g([Con)m(trolling)g
-(the)f(Prompt],)i(page)e(111\).)41 b(Characters)24 b(remo)m(v)m(ed)630
+(the)f(Prompt],)i(page)e(112\).)41 b(Characters)24 b(remo)m(v)m(ed)630
 1631 y(are)31 b(replaced)g(with)f(an)g(ellipsis.)150
 1783 y Ft(PS0)336 b Fu(The)32 b(v)-5 b(alue)33 b(of)g(this)g(parameter)
 g(is)g(expanded)e(lik)m(e)j Ft(PS1)e Fu(and)g(displa)m(y)m(ed)i(b)m(y)e
@@ -15095,7 +15124,7 @@ b Fu(The)38 b(v)-5 b(alue)39 b(of)g(this)g(parameter)g(is)g(expanded)f
 b(is)630 2415 y(the)c(prompt)f(prin)m(ted)g(b)s(efore)g(the)h(command)f
 (line)h(is)g(ec)m(ho)s(ed)g(when)f(the)h Ft(-x)f Fu(option)h(is)630
 2524 y(set)k(\(see)h(Section)g(4.3.1)g([The)f(Set)g(Builtin],)j(page)e
-(71\).)67 b(The)38 b(\014rst)g(c)m(haracter)j(of)e(the)630
+(72\).)67 b(The)38 b(\014rst)g(c)m(haracter)j(of)e(the)630
 2634 y(expanded)33 b(v)-5 b(alue)33 b(is)h(replicated)g(m)m(ultiple)g
 (times,)h(as)f(necessary)-8 b(,)35 b(to)f(indicate)g(m)m(ultiple)630
 2744 y(lev)m(els)e(of)e(indirection.)42 b(The)29 b(default)i(is)f(`)p
@@ -15116,29 +15145,29 @@ b(sp)s(ecial)g(prop)s(erties,)f(ev)m(en)h(if)f(it)h(is)f(subsequen)m
 y Fu(An)m(y)37 b(n)m(umeric)f(argumen)m(t)h(giv)m(en)g(to)g(a)g
 (Readline)g(command)f(that)h(w)m(as)g(de\014ned)e(using)630
 3856 y(`)p Ft(bind)29 b(-x)p Fu(')h(\(see)i(Section)f(4.2)g([Bash)g
-(Builtins],)g(page)h(59,)f(when)e(it)i(w)m(as)g(in)m(v)m(ok)m(ed.)150
+(Builtins],)g(page)h(60,)f(when)e(it)i(w)m(as)g(in)m(v)m(ok)m(ed.)150
 4008 y Ft(READLINE_LINE)630 4118 y Fu(The)c(con)m(ten)m(ts)i(of)f(the)g
 (Readline)g(line)g(bu\013er,)f(for)h(use)f(with)g(`)p
 Ft(bind)j(-x)p Fu(')d(\(see)h(Section)h(4.2)630 4227
-y([Bash)i(Builtins],)g(page)g(59\).)150 4379 y Ft(READLINE_MARK)630
+y([Bash)i(Builtins],)g(page)g(60\).)150 4379 y Ft(READLINE_MARK)630
 4489 y Fu(The)26 b(p)s(osition)h(of)g(the)g Fr(mark)32
 b Fu(\(sa)m(v)m(ed)c(insertion)f(p)s(oin)m(t\))g(in)g(the)g(Readline)g
 (line)g(bu\013er,)g(for)630 4598 y(use)36 b(with)f(`)p
 Ft(bind)30 b(-x)p Fu(')35 b(\(see)i(Section)g(4.2)g([Bash)f(Builtins],)
-i(page)f(59\).)58 b(The)35 b(c)m(haracters)630 4708 y(b)s(et)m(w)m(een)
+i(page)f(60\).)58 b(The)35 b(c)m(haracters)630 4708 y(b)s(et)m(w)m(een)
 c(the)g(insertion)f(p)s(oin)m(t)g(and)g(the)h(mark)f(are)h(often)f
 (called)i(the)f Fr(region)p Fu(.)150 4859 y Ft(READLINE_POINT)630
 4969 y Fu(The)23 b(p)s(osition)g(of)g(the)h(insertion)f(p)s(oin)m(t)g
 (in)g(the)g(Readline)h(line)f(bu\013er,)h(for)f(use)g(with)g(`)p
 Ft(bind)630 5079 y(-x)p Fu(')30 b(\(see)h(Section)h(4.2)f([Bash)g
-(Builtins],)g(page)g(59\).)150 5230 y Ft(REPLY)240 b
+(Builtins],)g(page)g(60\).)150 5230 y Ft(REPLY)240 b
 Fu(The)29 b(default)h(v)-5 b(ariable)30 b(for)f(the)h
 Ft(read)e Fu(builtin;)i(set)g(to)g(the)f(line)h(read)f(when)g
 Ft(read)f Fu(is)i(not)630 5340 y(supplied)f(a)i(v)-5
 b(ariable)31 b(name)f(argumen)m(t.)p eop end
-%%Page: 96 102
-TeXDict begin 96 101 bop 150 -116 a Fu(Chapter)30 b(5:)41
-b(Shell)30 b(V)-8 b(ariables)2459 b(96)150 299 y Ft(SECONDS)144
+%%Page: 97 103
+TeXDict begin 97 102 bop 150 -116 a Fu(Chapter)30 b(5:)41
+b(Shell)30 b(V)-8 b(ariables)2459 b(97)150 299 y Ft(SECONDS)144
 b Fu(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
 408 y(Assignmen)m(t)i(to)g(this)g(v)-5 b(ariable)43 b(resets)g(the)g
@@ -15162,7 +15191,7 @@ b(login)h(shell.)150 1361 y Ft(SHELLOPTS)630 1471 y Fu(A)g
 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 1581 y(argumen)m(t)28 b(for)f(the)h Ft(-o)e
 Fu(option)i(to)g(the)g Ft(set)e Fu(builtin)h(command)g(\(see)i(Section)
-f(4.3.1)h([The)630 1690 y(Set)g(Builtin],)h(page)f(71\).)42
+f(4.3.1)h([The)630 1690 y(Set)g(Builtin],)h(page)f(72\).)42
 b(The)28 b(options)h(app)s(earing)f(in)g Ft(SHELLOPTS)e
 Fu(are)j(those)h(rep)s(orted)630 1800 y(as)g(`)p Ft(on)p
 Fu(')f(b)m(y)h(`)p Ft(set)g(-o)p Fu('.)40 b(If)29 b(this)h(v)-5
@@ -15222,9 +15251,9 @@ b(of)54 b(the)g(form)630 5230 y Fr(MM)10 b Fu(m)p Fr(SS)p
 Fu(.)p Fr(FF)d Fu(s.)103 b(The)50 b(v)-5 b(alue)52 b(of)f
 Fr(p)j Fu(determines)d(whether)f(or)h(not)h(the)f(fraction)h(is)630
 5340 y(included.)p eop end
-%%Page: 97 103
-TeXDict begin 97 102 bop 150 -116 a Fu(Chapter)30 b(5:)41
-b(Shell)30 b(V)-8 b(ariables)2459 b(97)630 299 y(If)30
+%%Page: 98 104
+TeXDict begin 98 103 bop 150 -116 a Fu(Chapter)30 b(5:)41
+b(Shell)30 b(V)-8 b(ariables)2459 b(98)630 299 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 433 y Ft
 ($'\\nreal\\t\0453lR\\nuser\\t\0453)o(lU\\n)o(sys\\)o(t\0453)o(lS')630
@@ -15235,7 +15264,7 @@ b(A)35 b(trailing)630 677 y(newline)30 b(is)h(added)e(when)h(the)g
 b Fu(If)27 b(set)i(to)f(a)g(v)-5 b(alue)28 b(greater)h(than)f(zero,)h
 (the)f Ft(read)f Fu(builtin)g(uses)g(the)h(v)-5 b(alue)29
 b(as)f(its)g(default)630 946 y(timeout)33 b(\(see)f(Section)h(4.2)f
-([Bash)g(Builtins],)h(page)f(59\).)46 b(The)31 b Ft(select)f
+([Bash)g(Builtins],)h(page)f(60\).)46 b(The)31 b Ft(select)f
 Fu(command)h(\(see)630 1056 y(Section)g(3.2.5.2)i([Conditional)f
 (Constructs],)e(page)h(12\))h(terminates)f(if)g(input)f(do)s(es)g(not)
 630 1166 y(arriv)m(e)h(after)g Ft(TMOUT)e Fu(seconds)h(when)g(input)f
@@ -15252,8 +15281,8 @@ b(alue)40 b(as)f(the)h(name)f(of)h(a)g(directory)g(in)f(whic)m(h)g
 (shell's)g(use.)150 1948 y Ft(UID)336 b Fu(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: 98 104
-TeXDict begin 98 103 bop 3659 -116 a Fu(98)150 299 y
+%%Page: 99 105
+TeXDict begin 99 104 bop 3659 -116 a Fu(99)150 299 y
 Fp(6)80 b(Bash)54 b(F)-13 b(eatures)150 502 y Fu(This)30
 b(c)m(hapter)h(describ)s(es)e(features)i(unique)e(to)i(Bash.)150
 731 y Fs(6.1)68 b(In)l(v)l(oking)46 b(Bash)390 890 y
@@ -15267,7 +15296,7 @@ Ft([)p Fj(argument)g Ft(...)o(])390 1329 y(bash)h([long-opt])e(-s)i
 1438 y([-O)h Fj(shopt_option)p Ft(])d([)p Fj(argument)h
 Ft(...)o(])275 1567 y Fu(All)31 b(of)g(the)f(single-c)m(haracter)k
 (options)d(used)f(with)g(the)h Ft(set)f Fu(builtin)g(\(see)h(Section)h
-(4.3.1)g([The)f(Set)150 1676 y(Builtin],)45 b(page)c(71\))i(can)e(b)s
+(4.3.1)g([The)f(Set)150 1676 y(Builtin],)45 b(page)c(72\))i(can)e(b)s
 (e)f(used)h(as)g(options)g(when)f(the)i(shell)f(is)g(in)m(v)m(ok)m(ed.)
 74 b(In)41 b(addition,)j(there)150 1786 y(are)38 b(sev)m(eral)h(m)m
 (ulti-c)m(haracter)h(options)d(that)h(y)m(ou)g(can)g(use.)61
@@ -15277,7 +15306,7 @@ b(These)38 b(options)f(m)m(ust)h(app)s(ear)e(on)i(the)150
 2152 y Fu(Arrange)j(for)g(the)g(debugger)g(pro\014le)g(to)h(b)s(e)e
 (executed)i(b)s(efore)f(the)g(shell)g(starts.)49 b(T)-8
 b(urns)630 2262 y(on)35 b(extended)g(debugging)f(mo)s(de)h(\(see)g
-(Section)h(4.3.2)h([The)d(Shopt)g(Builtin],)j(page)f(76,)630
+(Section)h(4.3.2)h([The)d(Shopt)g(Builtin],)j(page)f(77,)630
 2371 y(for)30 b(a)h(description)f(of)h(the)f Ft(extdebug)f
 Fu(option)h(to)h(the)g Ft(shopt)e Fu(builtin\).)150 2519
 y Ft(--dump-po-strings)630 2628 y Fu(Prin)m(t)f(a)h(list)g(of)g(all)g
@@ -15313,15 +15342,15 @@ b(the)h(b)s(eha)m(vior)f(of)g(Bash)h(where)e(the)i(default)f(op)s
 y Fu(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 5230 y(strict)22 b(sup)s(erset)e(of)h(that)g(standard.)37
-b(See)21 b(Section)h(6.11)g([Bash)f(POSIX)f(Mo)s(de],)k(page)d(114,)630
+b(See)21 b(Section)h(6.11)g([Bash)f(POSIX)f(Mo)s(de],)k(page)d(115,)630
 5340 y(for)30 b(a)h(description)f(of)h(the)f(Bash)h Fm(posix)f
 Fu(mo)s(de.)p eop end
-%%Page: 99 105
-TeXDict begin 99 104 bop 150 -116 a Fu(Chapter)30 b(6:)41
-b(Bash)30 b(F)-8 b(eatures)2484 b(99)150 299 y Ft(--restricted)630
+%%Page: 100 106
+TeXDict begin 100 105 bop 150 -116 a Fu(Chapter)30 b(6:)41
+b(Bash)30 b(F)-8 b(eatures)2439 b(100)150 299 y Ft(--restricted)630
 408 y Fu(Equiv)-5 b(alen)m(t)35 b(to)g Ft(-r)p Fu(.)51
 b(Mak)m(e)35 b(the)g(shell)f(a)g(restricted)h(shell)f(\(see)h(Section)g
-(6.10)h([The)d(Re-)630 518 y(stricted)e(Shell],)g(page)g(113\).)150
+(6.10)h([The)d(Re-)630 518 y(stricted)e(Shell],)g(page)g(114\).)150
 667 y Ft(--verbose)630 777 y Fu(Equiv)-5 b(alen)m(t)31
 b(to)g Ft(-v)p Fu(.)41 b(Prin)m(t)30 b(shell)g(input)g(lines)g(as)h
 (they're)g(read.)150 927 y Ft(--version)630 1036 y Fu(Sho)m(w)d(v)m
@@ -15344,7 +15373,7 @@ b(assignmen)m(t)i(to)g Ft($0)f Fu(sets)g(the)h(name)f(of)g(the)g
 (error)g(messages.)150 2142 y Ft(-i)384 b Fu(F)-8 b(orce)22
 b(the)g(shell)f(to)g(run)f(in)m(teractiv)m(ely)-8 b(.)41
 b(In)m(teractiv)m(e)23 b(shells)e(are)h(describ)s(ed)d(in)i(Section)h
-(6.3)630 2252 y([In)m(teractiv)m(e)33 b(Shells],)e(page)g(102.)150
+(6.3)630 2252 y([In)m(teractiv)m(e)33 b(Shells],)e(page)g(103.)150
 2401 y Ft(-l)384 b Fu(Mak)m(e)46 b(this)e(shell)h(act)g(as)g(if)f(it)h
 (had)f(b)s(een)g(directly)h(in)m(v)m(ok)m(ed)h(b)m(y)e(login.)84
 b(When)44 b(the)630 2511 y(shell)e(is)g(in)m(teractiv)m(e,)48
@@ -15356,11 +15385,11 @@ Fu('.)39 b(When)27 b(the)g(shell)h(is)f(not)h(in)m(teractiv)m(e,)j(it)d
 Fu(')37 b(or)h(`)p Ft(exec)29 b(bash)g(--login)p Fu(')36
 b(will)j(replace)f(the)g(curren)m(t)630 2839 y(shell)e(with)g(a)g(Bash)
 g(login)h(shell.)58 b(See)36 b(Section)h(6.2)g([Bash)g(Startup)e
-(Files],)k(page)d(100,)630 2949 y(for)30 b(a)h(description)f(of)h(the)f
+(Files],)k(page)d(101,)630 2949 y(for)30 b(a)h(description)f(of)h(the)f
 (sp)s(ecial)h(b)s(eha)m(vior)g(of)f(a)h(login)g(shell.)150
 3098 y Ft(-r)384 b Fu(Mak)m(e)54 b(the)e(shell)g(a)h(restricted)g
 (shell)f(\(see)h(Section)g(6.10)h([The)d(Restricted)j(Shell],)630
-3208 y(page)31 b(113\).)150 3357 y Ft(-s)384 b Fu(If)41
+3208 y(page)31 b(114\).)150 3357 y Ft(-s)384 b Fu(If)41
 b(this)h(option)g(is)g(presen)m(t,)i(or)e(if)g(no)f(argumen)m(ts)h
 (remain)g(after)g(option)g(pro)s(cessing,)630 3467 y(then)36
 b(Bash)h(reads)g(commands)f(from)g(the)h(standard)f(input.)59
@@ -15380,7 +15409,7 @@ Ft(-n)g Fu(option;)h(no)f(commands)g(will)h(b)s(e)f(executed.)150
 y Fr(shopt)p 854 4423 V 40 w(option)44 b Fu(is)g(one)h(of)f(the)g
 (shell)h(options)f(accepted)h(b)m(y)f(the)h Ft(shopt)d
 Fu(builtin)i(\(see)630 4533 y(Section)32 b(4.3.2)h([The)e(Shopt)f
-(Builtin],)i(page)g(76\).)44 b(If)31 b Fr(shopt)p 2724
+(Builtin],)i(page)g(77\).)44 b(If)31 b Fr(shopt)p 2724
 4533 V 40 w(option)g Fu(is)g(presen)m(t,)h Ft(-O)f Fu(sets)630
 4643 y(the)38 b(v)-5 b(alue)39 b(of)g(that)f(option;)43
 b Ft(+O)38 b Fu(unsets)g(it.)65 b(If)37 b Fr(shopt)p
@@ -15397,9 +15426,9 @@ b(An)m(y)630 5230 y(argumen)m(ts)38 b(after)g(the)f Ft(--)g
 Fu(are)h(treated)g(as)g(a)g(shell)f(script)h(\014lename)f(\(see)i
 (Section)f(3.8)630 5340 y([Shell)30 b(Scripts],)h(page)g(49\))g(and)f
 (argumen)m(ts)h(passed)f(to)h(that)g(script.)p eop end
-%%Page: 100 106
-TeXDict begin 100 105 bop 150 -116 a Fu(Chapter)30 b(6:)41
-b(Bash)30 b(F)-8 b(eatures)2439 b(100)150 299 y Ft(-)432
+%%Page: 101 107
+TeXDict begin 101 106 bop 150 -116 a Fu(Chapter)30 b(6:)41
+b(Bash)30 b(F)-8 b(eatures)2439 b(101)150 299 y Ft(-)432
 b Fu(Equiv)-5 b(alen)m(t)31 b(to)g Ft(--)p Fu(.)275 469
 y(A)c Fl(lo)-5 b(gin)35 b Fu(shell)27 b(is)g(one)h(whose)f(\014rst)f(c)
 m(haracter)j(of)e(argumen)m(t)h(zero)f(is)h(`)p Ft(-)p
@@ -15412,7 +15441,7 @@ b(active)37 b Fu(shell)30 b(is)f(one)g(started)h(without)f(non-option)h
 939 y(are)d(b)s(oth)e(connected)i(to)g(terminals)g(\(as)f(determined)g
 (b)m(y)g Ft(isatty\(3\))p Fu(\),)f(or)h(one)h(started)f(with)g(the)h
 Ft(-i)150 1049 y Fu(option.)41 b(See)31 b(Section)g(6.3)g([In)m
-(teractiv)m(e)i(Shells],)e(page)g(102,)h(for)e(more)h(information.)275
+(teractiv)m(e)i(Shells],)e(page)g(103,)h(for)e(more)h(information.)275
 1190 y(If)i(argumen)m(ts)h(remain)g(after)h(option)f(pro)s(cessing,)h
 (and)e(neither)h(the)g Ft(-c)g Fu(nor)f(the)h Ft(-s)g
 Fu(option)g(has)150 1300 y(b)s(een)44 b(supplied,)j(the)d(\014rst)g
@@ -15435,7 +15464,7 @@ b(If)26 b(no)g(commands)g(are)h(executed,)150 1848 y(the)k(exit)g
 (describ)s(ed)f(ab)s(o)m(v)m(e)i(under)150 2477 y(Tilde)f(Expansion)g
 (\(see)h(Section)h(3.5.2)g([Tilde)e(Expansion],)h(page)g(26\).)275
 2619 y(In)m(teractiv)m(e)h(shells)f(are)g(describ)s(ed)e(in)h(Section)h
-(6.3)h([In)m(teractiv)m(e)h(Shells],)d(page)h(102.)150
+(6.3)h([In)m(teractiv)m(e)h(Shells],)d(page)h(103.)150
 2825 y Fk(In)m(v)m(ok)m(ed)40 b(as)h(an)f(in)m(teractiv)m(e)f(login)j
 (shell,)g(or)g(with)e Fh(--login)150 2972 y Fu(When)c(Bash)f(is)h(in)m
 (v)m(ok)m(ed)h(as)f(an)g(in)m(teractiv)m(e)j(login)d(shell,)i(or)e(as)g
@@ -15474,9 +15503,9 @@ y Fu(after)31 b(\(or)g(b)s(efore\))f(an)m(y)h(login-sp)s(eci\014c)g
 b(ariable)35 b Ft(BASH_ENV)d Fu(in)i(the)h(en)m(vironmen)m(t,)h
 (expands)e(its)g(v)-5 b(alue)35 b(if)g(it)g(app)s(ears)e(there,)j(and)e
 (uses)g(the)p eop end
-%%Page: 101 107
-TeXDict begin 101 106 bop 150 -116 a Fu(Chapter)30 b(6:)41
-b(Bash)30 b(F)-8 b(eatures)2439 b(101)150 299 y(expanded)30
+%%Page: 102 108
+TeXDict begin 102 107 bop 150 -116 a Fu(Chapter)30 b(6:)41
+b(Bash)30 b(F)-8 b(eatures)2439 b(102)150 299 y(expanded)30
 b(v)-5 b(alue)30 b(as)h(the)g(name)f(of)h(a)f(\014le)h(to)g(read)f(and)
 g(execute.)42 b(Bash)31 b(b)s(eha)m(v)m(es)g(as)g(if)f(the)g(follo)m
 (wing)150 408 y(command)g(w)m(ere)h(executed:)390 551
@@ -15557,9 +15586,9 @@ h(and)e(the)h(e\013ectiv)m(e)j(user)c(id)h(is)g(set)g(to)h(the)f(real)h
 (supplied)g(at)h(in)m(v)m(o)s(cation,)k(the)c(startup)f(b)s(eha)m(vior)
 h(is)g(the)g(same,)i(but)d(the)150 5340 y(e\013ectiv)m(e)c(user)d(id)g
 (is)g(not)h(reset.)p eop end
-%%Page: 102 108
-TeXDict begin 102 107 bop 150 -116 a Fu(Chapter)30 b(6:)41
-b(Bash)30 b(F)-8 b(eatures)2439 b(102)150 299 y Fs(6.3)68
+%%Page: 103 109
+TeXDict begin 103 108 bop 150 -116 a Fu(Chapter)30 b(6:)41
+b(Bash)30 b(F)-8 b(eatures)2439 b(103)150 299 y Fs(6.3)68
 b(In)l(teractiv)l(e)47 b(Shells)150 515 y Fk(6.3.1)63
 b(What)40 b(is)h(an)g(In)m(teractiv)m(e)e(Shell?)150
 662 y Fu(An)f(in)m(teractiv)m(e)j(shell)e(is)f(one)h(started)g(without)
@@ -15595,7 +15624,7 @@ b(Shell)k(Beha)m(vior)150 3267 y Fu(When)30 b(the)h(shell)f(is)h
 (eha)m(vior)f(in)g(sev)m(eral)i(w)m(a)m(ys.)199 3394
 y(1.)61 b(Bash)31 b(reads)g(and)g(executes)h(startup)e(\014les)i(as)f
 (describ)s(ed)f(in)h(Section)g(6.2)i([Bash)e(Startup)f(Files],)330
-3503 y(page)h(100.)199 3630 y(2.)61 b(Job)32 b(Con)m(trol)h(\(see)g
+3503 y(page)h(101.)199 3630 y(2.)61 b(Job)32 b(Con)m(trol)h(\(see)g
 (Chapter)e(7)i([Job)f(Con)m(trol],)i(page)f(123\))h(is)e(enabled)g(b)m
 (y)g(default.)46 b(When)32 b(job)330 3739 y(con)m(trol)j(is)f(in)f
 (e\013ect,)k(Bash)d(ignores)g(the)g(k)m(eyb)s(oard-generated)h(job)e
@@ -15606,7 +15635,7 @@ b(of)g(the)f(set)h(elemen)m(ts)g(of)g(the)f Ft(PROMPT_COMMAND)d
 Fu(arra)m(y)k(v)-5 b(ariable)32 b(as)330 4085 y(commands)27
 b(b)s(efore)f(prin)m(ting)h(the)g(primary)g(prompt,)g
 Ft($PS1)f Fu(\(see)i(Section)f(5.2)i([Bash)e(V)-8 b(ariables],)330
-4194 y(page)31 b(85\).)199 4320 y(4.)61 b(Bash)25 b(expands)e(and)h
+4194 y(page)31 b(86\).)199 4320 y(4.)61 b(Bash)25 b(expands)e(and)h
 (displa)m(ys)h Ft(PS1)e Fu(b)s(efore)h(reading)h(the)f(\014rst)g(line)h
 (of)f(a)h(command,)h(and)e(expands)330 4430 y(and)33
 b(displa)m(ys)h Ft(PS2)f Fu(b)s(efore)h(reading)g(the)g(second)g(and)f
@@ -15614,7 +15643,7 @@ b(displa)m(ys)h Ft(PS2)f Fu(b)s(efore)h(reading)g(the)g(second)g(and)f
 4540 y(mand.)42 b(Bash)31 b(expands)f(and)h(displa)m(ys)g
 Ft(PS0)f Fu(after)h(it)h(reads)f(a)g(command)g(but)f(b)s(efore)h
 (executing)330 4649 y(it.)54 b(See)35 b(Section)h(6.9)f([Con)m
-(trolling)i(the)d(Prompt],)i(page)g(111,)h(for)d(a)h(complete)i(list)e
+(trolling)i(the)d(Prompt],)i(page)g(112,)h(for)d(a)h(complete)i(list)e
 (of)g(prompt)330 4759 y(string)30 b(escap)s(e)h(sequences.)199
 4885 y(5.)61 b(Bash)34 b(uses)g(Readline)h(\(see)g(Chapter)f(8)h
 ([Command)e(Line)h(Editing],)i(page)f(128\))h(to)f(read)f(com-)330
@@ -15624,11 +15653,11 @@ b(of)f(the)g Ft(ignoreeof)e Fu(option)j(to)g Ft(set)29
 b(-o)36 b Fu(instead)h(of)f(exiting)i(imme-)330 5230
 y(diately)f(when)e(it)i(receiv)m(es)h(an)e Ft(EOF)f Fu(on)h(its)g
 (standard)f(input)g(when)h(reading)g(a)g(command)g(\(see)330
-5340 y(Section)31 b(4.3.1)h([The)e(Set)h(Builtin],)g(page)g(71\).)p
+5340 y(Section)31 b(4.3.1)h([The)e(Set)h(Builtin],)g(page)g(72\).)p
 eop end
-%%Page: 103 109
-TeXDict begin 103 108 bop 150 -116 a Fu(Chapter)30 b(6:)41
-b(Bash)30 b(F)-8 b(eatures)2439 b(103)199 299 y(7.)61
+%%Page: 104 110
+TeXDict begin 104 109 bop 150 -116 a Fu(Chapter)30 b(6:)41
+b(Bash)30 b(F)-8 b(eatures)2439 b(104)199 299 y(7.)61
 b(Bash)23 b(enables)h(Command)e(history)h(\(see)h(Section)g(9.1)g
 ([Bash)g(History)g(F)-8 b(acilities],)28 b(page)c(165\))h(and)330
 408 y(history)k(expansion)g(\(see)i(Section)f(9.3)g([History)g(In)m
@@ -15636,7 +15665,7 @@ b(Bash)23 b(enables)h(Command)e(history)h(\(see)h(Section)g(9.1)g
 b(a)330 518 y(shell)g(with)f(history)g(enabled)h(exits,)g(Bash)g(sa)m
 (v)m(es)h(the)f(command)f(history)g(to)i(the)e(\014le)h(named)f(b)m(y)
 330 628 y Ft($HISTFILE)p Fu(.)199 760 y(8.)61 b(Alias)31
-b(expansion)g(\(see)g(Section)g(6.6)g([Aliases],)i(page)e(107\))h(is)e
+b(expansion)g(\(see)g(Section)g(6.6)g([Aliases],)i(page)e(108\))h(is)e
 (p)s(erformed)f(b)m(y)h(default.)199 893 y(9.)61 b(In)24
 b(the)g(absence)h(of)f(an)m(y)h(traps,)g(Bash)g(ignores)f
 Ft(SIGTERM)f Fu(\(see)i(Section)g(3.7.6)h([Signals],)g(page)f(48\).)154
@@ -15651,17 +15680,17 @@ g(\(see)h(Section)g(3.7.6)i([Signals],)e(page)g(48\).)154
 1511 y(12.)61 b(The)36 b Ft(-n)g Fu(option)i(has)e(no)h(e\013ect,)j
 (whether)c(at)i(in)m(v)m(o)s(cation)h(or)d(when)g(using)g(`)p
 Ft(set)30 b(-n)p Fu(')37 b(\(see)g(Sec-)330 1620 y(tion)31
-b(4.3.1)h([The)e(Set)h(Builtin],)g(page)g(71\).)154 1753
+b(4.3.1)h([The)e(Set)h(Builtin],)g(page)g(72\).)154 1753
 y(13.)61 b(Bash)32 b(will)g(c)m(hec)m(k)i(for)e(mail)g(p)s(erio)s
 (dically)-8 b(,)34 b(dep)s(ending)c(on)i(the)g(v)-5 b(alues)32
 b(of)g(the)h Ft(MAIL)p Fu(,)e Ft(MAILPATH)p Fu(,)330
 1862 y(and)f Ft(MAILCHECK)e Fu(shell)i(v)-5 b(ariables)31
 b(\(see)h(Section)f(5.2)g([Bash)g(V)-8 b(ariables],)32
-b(page)f(85\).)154 1995 y(14.)61 b(The)27 b(shell)h(will)g(not)g(exit)g
+b(page)f(86\).)154 1995 y(14.)61 b(The)27 b(shell)h(will)g(not)g(exit)g
 (on)g(expansion)f(errors)g(due)g(to)h(references)g(to)h(un)m(b)s(ound)
 24 b(shell)k(v)-5 b(ariables)330 2105 y(after)31 b(`)p
 Ft(set)f(-u)p Fu(')g(has)g(b)s(een)f(enabled)i(\(see)g(Section)g(4.3.1)
-h([The)f(Set)f(Builtin],)h(page)h(71\).)154 2238 y(15.)61
+h([The)f(Set)f(Builtin],)h(page)h(72\).)154 2238 y(15.)61
 b(The)48 b(shell)h(will)f(not)h(exit)g(on)g(expansion)f(errors)g
 (caused)g(b)m(y)h Fr(v)-5 b(ar)54 b Fu(b)s(eing)48 b(unset)g(or)h(n)m
 (ull)f(in)330 2347 y Ft(${)p Fj(var)p Ft(:?)p Fj(word)p
@@ -15672,10 +15701,10 @@ b(Redirection)31 b(errors)f(encoun)m(tered)h(b)m(y)f(shell)h(builtins)f
 y(17.)61 b(When)26 b(running)f(in)i Fm(posix)e Fu(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 2722 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(114\).)154 2855 y(18.)61
+([Bash)f(POSIX)e(Mo)s(de],)i(page)g(115\).)154 2855 y(18.)61
 b(A)34 b(failed)g Ft(exec)f Fu(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
-2965 y(page)e(50\).)154 3097 y(19.)61 b(P)m(arser)31
+2965 y(page)e(51\).)154 3097 y(19.)61 b(P)m(arser)31
 b(syn)m(tax)f(errors)g(will)h(not)g(cause)g(the)f(shell)h(to)g(exit.)
 154 3230 y(20.)61 b(If)28 b(the)g Ft(cdspell)f Fu(shell)h(option)h(is)g
 (enabled,)g(the)f(shell)h(will)f(attempt)i(simple)e(sp)s(elling)h
@@ -15683,20 +15712,20 @@ b(syn)m(tax)f(errors)g(will)h(not)g(cause)g(the)f(shell)h(to)g(exit.)
 Ft(cd)e Fu(builtin)h(\(see)i(the)e(description)h(of)f(the)h
 Ft(cdspell)d Fu(option)j(to)330 3449 y(the)j Ft(shopt)e
 Fu(builtin)h(in)h(Section)g(4.3.2)i([The)d(Shopt)g(Builtin],)i(page)g
-(76\).)46 b(The)31 b Ft(cdspell)e Fu(option)330 3559
+(77\).)46 b(The)31 b Ft(cdspell)e Fu(option)330 3559
 y(is)h(only)h(e\013ectiv)m(e)i(in)d(in)m(teractiv)m(e)j(shells.)154
 3692 y(21.)61 b(The)42 b(shell)h(will)g(c)m(hec)m(k)h(the)f(v)-5
 b(alue)43 b(of)f(the)h Ft(TMOUT)e Fu(v)-5 b(ariable)44
 b(and)e(exit)h(if)g(a)g(command)f(is)h(not)330 3801 y(read)30
 b(within)g(the)g(sp)s(eci\014ed)f(n)m(um)m(b)s(er)g(of)i(seconds)f
 (after)g(prin)m(ting)g Ft($PS1)f Fu(\(see)i(Section)g(5.2)h([Bash)330
-3911 y(V)-8 b(ariables],)32 b(page)f(85\).)150 4148 y
+3911 y(V)-8 b(ariables],)32 b(page)f(86\).)150 4148 y
 Fs(6.4)68 b(Bash)45 b(Conditional)h(Expressions)150 4307
 y Fu(Conditional)25 b(expressions)f(are)g(used)g(b)m(y)g(the)g
 Ft([[)g Fu(comp)s(ound)e(command)i(\(see)h(Section)g(3.2.5.2)i([Condi-)
 150 4417 y(tional)h(Constructs],)g(page)f(12\))h(and)e(the)h
 Ft(test)f Fu(and)g Ft([)h Fu(builtin)f(commands)h(\(see)g(Section)h
-(4.1)g([Bourne)150 4527 y(Shell)37 b(Builtins],)j(page)e(50\).)63
+(4.1)g([Bourne)150 4527 y(Shell)37 b(Builtins],)j(page)e(51\).)63
 b(The)36 b Ft(test)g Fu(and)h Ft([)g Fu(commands)g(determine)g(their)h
 (b)s(eha)m(vior)f(based)g(on)150 4636 y(the)29 b(n)m(um)m(b)s(er)f(of)h
 (argumen)m(ts;)h(see)f(the)h(descriptions)e(of)i(those)f(commands)g
@@ -15712,9 +15741,9 @@ e(they)h(are)g(used)f(in)g(expressions.)54 b(If)35 b(the)g(op-)150
 5340 y(erating)h(system)g(on)f(whic)m(h)g(Bash)g(is)g(running)f(pro)m
 (vides)h(these)g(sp)s(ecial)h(\014les,)h(Bash)e(will)h(use)f(them;)p
 eop end
-%%Page: 104 110
-TeXDict begin 104 109 bop 150 -116 a Fu(Chapter)30 b(6:)41
-b(Bash)30 b(F)-8 b(eatures)2439 b(104)150 299 y(otherwise)38
+%%Page: 105 111
+TeXDict begin 105 110 bop 150 -116 a Fu(Chapter)30 b(6:)41
+b(Bash)30 b(F)-8 b(eatures)2439 b(105)150 299 y(otherwise)38
 b(it)g(will)g(em)m(ulate)g(them)g(in)m(ternally)g(with)f(this)h(b)s
 (eha)m(vior:)55 b(If)36 b(the)i Fr(\014le)43 b Fu(argumen)m(t)37
 b(to)i(one)150 408 y(of)d(the)g(primaries)f(is)h(of)g(the)g(form)g
@@ -15789,14 +15818,14 @@ b(not.)150 5230 y Fj(file1)f Ft(-ot)g Fj(file2)630 5340
 y Fu(T)-8 b(rue)30 b(if)g Fr(\014le1)38 b Fu(is)31 b(older)f(than)g
 Fr(\014le2)p Fu(,)i(or)e(if)g Fr(\014le2)38 b Fu(exists)31
 b(and)f Fr(\014le1)38 b Fu(do)s(es)30 b(not.)p eop end
-%%Page: 105 111
-TeXDict begin 105 110 bop 150 -116 a Fu(Chapter)30 b(6:)41
-b(Bash)30 b(F)-8 b(eatures)2439 b(105)150 299 y Ft(-o)30
+%%Page: 106 112
+TeXDict begin 106 111 bop 150 -116 a Fu(Chapter)30 b(6:)41
+b(Bash)30 b(F)-8 b(eatures)2439 b(106)150 299 y Ft(-o)30
 b Fj(optname)630 408 y Fu(T)-8 b(rue)41 b(if)g(the)g(shell)h(option)f
 Fr(optname)47 b Fu(is)41 b(enabled.)73 b(The)41 b(list)h(of)f(options)h
 (app)s(ears)e(in)630 518 y(the)33 b(description)h(of)f(the)g
 Ft(-o)g Fu(option)g(to)h(the)g Ft(set)e Fu(builtin)h(\(see)h(Section)g
-(4.3.1)h([The)e(Set)630 628 y(Builtin],)e(page)g(71\).)150
+(4.3.1)h([The)e(Set)630 628 y(Builtin],)e(page)g(72\).)150
 785 y Ft(-v)f Fj(varname)630 895 y Fu(T)-8 b(rue)24 b(if)h(the)g(shell)
 g(v)-5 b(ariable)26 b Fr(v)-5 b(arname)30 b Fu(is)25
 b(set)g(\(has)g(b)s(een)f(assigned)h(a)h(v)-5 b(alue\).)39
@@ -15844,7 +15873,7 @@ Fu(ma)m(y)34 b(b)s(e)f(p)s(ositiv)m(e)h(or)f(negativ)m(e)j(in)m
 (tegers.)50 b(When)33 b(used)g(with)g(the)g Ft([[)g Fu(command,)630
 4260 y Fr(arg1)45 b Fu(and)37 b Fr(arg2)46 b Fu(are)37
 b(ev)-5 b(aluated)39 b(as)e(arithmetic)i(expressions)e(\(see)h(Section)
-g(6.5)h([Shell)630 4370 y(Arithmetic],)32 b(page)f(105\).)150
+g(6.5)h([Shell)630 4370 y(Arithmetic],)32 b(page)f(106\).)150
 4609 y Fs(6.5)68 b(Shell)45 b(Arithmetic)150 4768 y Fu(The)35
 b(shell)g(allo)m(ws)i(arithmetic)f(expressions)f(to)h(b)s(e)f(ev)-5
 b(aluated,)38 b(as)d(one)h(of)f(the)h(shell)f(expansions)g(or)150
@@ -15861,9 +15890,9 @@ g(precedence,)150 5340 y(asso)s(ciativit)m(y)-8 b(,)29
 b(and)23 b(v)-5 b(alues)24 b(are)h(the)f(same)g(as)h(in)e(the)h(C)g
 (language.)40 b(The)24 b(follo)m(wing)h(list)g(of)f(op)s(erators)g(is)p
 eop end
-%%Page: 106 112
-TeXDict begin 106 111 bop 150 -116 a Fu(Chapter)30 b(6:)41
-b(Bash)30 b(F)-8 b(eatures)2439 b(106)150 299 y(group)s(ed)21
+%%Page: 107 113
+TeXDict begin 107 112 bop 150 -116 a Fu(Chapter)30 b(6:)41
+b(Bash)30 b(F)-8 b(eatures)2439 b(107)150 299 y(group)s(ed)21
 b(in)m(to)i(lev)m(els)h(of)e(equal-precedence)i(op)s(erators.)38
 b(The)21 b(lev)m(els)j(are)f(listed)f(in)g(order)g(of)g(decreasing)150
 408 y(precedence.)150 567 y Fj(id)p Ft(++)29 b Fj(id)p
@@ -15923,9 +15952,9 @@ Fr(n)g Fu(is)g(a)g(n)m(um)m(b)s(er)150 5340 y(in)g(that)i(base.)40
 b(If)30 b Fr(base)5 b Ft(#)30 b Fu(is)f(omitted,)i(then)f(base)g(10)g
 (is)g(used.)40 b(When)30 b(sp)s(ecifying)f Fr(n)p Fu(,)h(if)f(a)i
 (non-digit)f(is)p eop end
-%%Page: 107 113
-TeXDict begin 107 112 bop 150 -116 a Fu(Chapter)30 b(6:)41
-b(Bash)30 b(F)-8 b(eatures)2439 b(107)150 299 y(required,)34
+%%Page: 108 114
+TeXDict begin 108 113 bop 150 -116 a Fu(Chapter)30 b(6:)41
+b(Bash)30 b(F)-8 b(eatures)2439 b(108)150 299 y(required,)34
 b(the)g(digits)h(greater)g(than)e(9)i(are)f(represen)m(ted)g(b)m(y)f
 (the)h(lo)m(w)m(ercase)j(letters,)f(the)e(upp)s(ercase)150
 408 y(letters,)26 b(`)p Ft(@)p Fu(',)g(and)d(`)p Ft(_)p
@@ -15945,7 +15974,7 @@ y Fr(Aliases)31 b Fu(allo)m(w)d(a)f(string)f(to)i(b)s(e)d(substituted)h
 f(and)g(corresp)s(onding)g(v)-5 b(alues)150 1389 y(that)25
 b(are)g(set)g(and)f(unset)g(using)g(the)h Ft(alias)e
 Fu(and)h Ft(unalias)f Fu(builtin)h(commands)g(\(see)i(Chapter)e(4)h
-([Shell)150 1499 y(Builtin)31 b(Commands],)f(page)h(50\).)275
+([Shell)150 1499 y(Builtin)31 b(Commands],)f(page)h(51\).)275
 1637 y(If)g(the)g(shell)h(reads)f(an)g(unquoted)g(w)m(ord)g(in)g(the)h
 (righ)m(t)g(p)s(osition,)g(it)g(c)m(hec)m(ks)h(the)f(w)m(ord)f(to)h
 (see)g(if)f(it)150 1746 y(matc)m(hes)h(an)f(alias)h(name.)43
@@ -15983,7 +16012,7 @@ b(page)d(19\))150 3502 y(instead.)275 3640 y(Aliases)33
 b(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 Ft(expand_aliases)150 3750 y Fu(shell)e(option)f
 (is)h(set)g(using)f Ft(shopt)f Fu(\(see)i(Section)g(4.3.2)h([The)e
-(Shopt)g(Builtin],)h(page)g(76\).)275 3887 y(The)38 b(rules)h
+(Shopt)g(Builtin],)h(page)g(77\).)275 3887 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 3997 y(alw)m(a)m(ys)37
 b(reads)f(at)h(least)g(one)f(complete)i(line)e(of)g(input,)h(and)e(all)
@@ -16016,9 +16045,9 @@ b(T)-8 b(o)29 b(b)s(e)f(safe,)i(alw)m(a)m(ys)g(put)e(alias)150
 5340 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.)p
 eop end
-%%Page: 108 114
-TeXDict begin 108 113 bop 150 -116 a Fu(Chapter)30 b(6:)41
-b(Bash)30 b(F)-8 b(eatures)2439 b(108)150 299 y Fs(6.7)68
+%%Page: 109 115
+TeXDict begin 109 114 bop 150 -116 a Fu(Chapter)30 b(6:)41
+b(Bash)30 b(F)-8 b(eatures)2439 b(109)150 299 y Fs(6.7)68
 b(Arra)l(ys)150 458 y Fu(Bash)33 b(pro)m(vides)g(one-dimensional)g
 (indexed)f(and)h(asso)s(ciativ)m(e)i(arra)m(y)e(v)-5
 b(ariables.)49 b(An)m(y)33 b(v)-5 b(ariable)33 b(ma)m(y)150
@@ -16030,7 +16059,7 @@ g(size)h(of)g(an)f(arra)m(y)-8 b(,)35 b(nor)d(an)m(y)i(requiremen)m(t)f
 b(assigned)h(con)m(tiguously)-8 b(.)41 b(Indexed)25 b(arra)m(ys)i(are)f
 (referenced)g(using)g(in)m(tegers)i(\(including)e(arithmetic)150
 897 y(expressions)34 b(\(see)h(Section)h(6.5)f([Shell)g(Arithmetic],)i
-(page)e(105\)\))h(and)e(are)h(zero-based;)i(asso)s(ciativ)m(e)150
+(page)e(106\)\))h(and)e(are)h(zero-based;)i(asso)s(ciativ)m(e)150
 1006 y(arra)m(ys)g(use)f(arbitrary)g(strings.)59 b(Unless)36
 b(otherwise)h(noted,)h(indexed)e(arra)m(y)h(indices)f(m)m(ust)g(b)s(e)g
 (non-)150 1116 y(negativ)m(e)d(in)m(tegers.)275 1253
@@ -16102,9 +16131,9 @@ b(,)32 b(if)f Fr(name)36 b Fu(is)31 b(subscripted)e(b)m(y)i(a)g
 b(is)h(in)m(terpreted)h(as)f(relativ)m(e)j(to)e(one)f(greater)i(than)e
 (the)g(maxim)m(um)g(index)g(of)h Fr(name)p Fu(,)j(so)p
 eop end
-%%Page: 109 115
-TeXDict begin 109 114 bop 150 -116 a Fu(Chapter)30 b(6:)41
-b(Bash)30 b(F)-8 b(eatures)2439 b(109)150 299 y(negativ)m(e)30
+%%Page: 110 116
+TeXDict begin 110 115 bop 150 -116 a Fu(Chapter)30 b(6:)41
+b(Bash)30 b(F)-8 b(eatures)2439 b(110)150 299 y(negativ)m(e)30
 b(indices)d(coun)m(t)h(bac)m(k)g(from)f(the)g(end)g(of)g(the)h(arra)m
 (y)-8 b(,)29 b(and)e(an)g(index)g(of)g(-1)h(references)g(the)f(last)150
 408 y(elemen)m(t.)275 540 y(The)j(`)p Ft(+=)p Fu(')g(op)s(erator)h
@@ -16209,9 +16238,9 @@ b(b)s(oth)g(options)h(are)g(supplied,)f Ft(-A)f Fu(tak)m(es)150
 5340 y(precedence.)55 b(The)35 b Ft(read)f Fu(builtin)h(accepts)h(a)g
 Ft(-a)e Fu(option)i(to)g(assign)f(a)g(list)h(of)f(w)m(ords)g(read)g
 (from)g(the)p eop end
-%%Page: 110 116
-TeXDict begin 110 115 bop 150 -116 a Fu(Chapter)30 b(6:)41
-b(Bash)30 b(F)-8 b(eatures)2439 b(110)150 299 y(standard)36
+%%Page: 111 117
+TeXDict begin 111 116 bop 150 -116 a Fu(Chapter)30 b(6:)41
+b(Bash)30 b(F)-8 b(eatures)2439 b(111)150 299 y(standard)36
 b(input)g(to)i(an)f(arra)m(y)-8 b(,)40 b(and)c(can)h(read)g(v)-5
 b(alues)38 b(from)e(the)h(standard)g(input)f(in)m(to)i(individual)150
 408 y(arra)m(y)22 b(elemen)m(ts.)39 b(The)21 b Ft(set)f
@@ -16277,9 +16306,9 @@ y(+0)p Fu(.)630 5230 y(When)k(no)g(argumen)m(ts)h(are)g(giv)m(en,)h
 Ft(popd)d Fu(remo)m(v)m(es)j(the)f(top)f(directory)h(from)f(the)g(stac)
 m(k)630 5340 y(and)e(c)m(hanges)h(to)g(the)g(new)f(top)g(directory)-8
 b(.)p eop end
-%%Page: 111 117
-TeXDict begin 111 116 bop 150 -116 a Fu(Chapter)30 b(6:)41
-b(Bash)30 b(F)-8 b(eatures)2439 b(111)630 299 y(Argumen)m(ts,)31
+%%Page: 112 118
+TeXDict begin 112 117 bop 150 -116 a Fu(Chapter)30 b(6:)41
+b(Bash)30 b(F)-8 b(eatures)2439 b(112)630 299 y(Argumen)m(ts,)31
 b(if)f(supplied,)f(ha)m(v)m(e)j(the)e(follo)m(wing)i(meanings:)630
 457 y Ft(-n)384 b Fu(Suppress)23 b(the)j(normal)g(c)m(hange)h(of)f
 (directory)g(when)e(remo)m(ving)j(directories)1110 566
@@ -16351,9 +16380,9 @@ b(addition,)k(the)d(follo)m(wing)i(table)f(describ)s(es)e(the)h(sp)s
 Ft(PS1)p Fu(,)h Ft(PS2)p Fu(,)g(and)f Ft(PS4)p Fu(:)150
 5340 y Ft(\\a)384 b Fu(A)30 b(b)s(ell)h(c)m(haracter.)p
 eop end
-%%Page: 112 118
-TeXDict begin 112 117 bop 150 -116 a Fu(Chapter)30 b(6:)41
-b(Bash)30 b(F)-8 b(eatures)2439 b(112)150 299 y Ft(\\d)384
+%%Page: 113 119
+TeXDict begin 113 118 bop 150 -116 a Fu(Chapter)30 b(6:)41
+b(Bash)30 b(F)-8 b(eatures)2439 b(113)150 299 y Ft(\\d)384
 b Fu(The)30 b(date,)h(in)f Ft(")p Fu(W)-8 b(eekda)m(y)32
 b(Mon)m(th)f(Date)p Ft(")h Fu(format)f(\(e.g.,)h Ft(")p
 Fu(T)-8 b(ue)30 b(Ma)m(y)h(26)p Ft(")p Fu(\).)150 459
@@ -16410,9 +16439,9 @@ y(of)h(a)f(command)h(is)f(its)h(p)s(osition)f(in)g(the)h(history)f
 5340 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(165\),)j(while)d(the)f
 (command)p eop end
-%%Page: 113 119
-TeXDict begin 113 118 bop 150 -116 a Fu(Chapter)30 b(6:)41
-b(Bash)30 b(F)-8 b(eatures)2439 b(113)150 299 y(n)m(um)m(b)s(er)42
+%%Page: 114 120
+TeXDict begin 114 119 bop 150 -116 a Fu(Chapter)30 b(6:)41
+b(Bash)30 b(F)-8 b(eatures)2439 b(114)150 299 y(n)m(um)m(b)s(er)42
 b(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 408
 y(session.)275 541 y(After)28 b(the)g(string)g(is)g(deco)s(ded,)g(it)g
@@ -16420,7 +16449,7 @@ y(session.)275 541 y(After)28 b(the)g(string)g(is)g(deco)s(ded,)g(it)g
 651 y(tion,)g(arithmetic)f(expansion,)g(and)e(quote)i(remo)m(v)-5
 b(al,)29 b(sub)5 b(ject)25 b(to)i(the)f(v)-5 b(alue)27
 b(of)f(the)g Ft(promptvars)e Fu(shell)150 760 y(option)i(\(see)h
-(Section)g(4.3.2)g([The)f(Shopt)f(Builtin],)j(page)e(76\).)41
+(Section)g(4.3.2)g([The)f(Shopt)f(Builtin],)j(page)e(77\).)41
 b(This)25 b(can)h(ha)m(v)m(e)h(un)m(w)m(an)m(ted)f(side)g(e\013ects)150
 870 y(if)i(escap)s(ed)f(p)s(ortions)g(of)h(the)g(string)f(app)s(ear)g
 (within)g(command)h(substitution)f(or)h(con)m(tain)g(c)m(haracters)150
@@ -16495,9 +16524,9 @@ b Fu(or)j Ft(PAGER)p Fu(\).)275 5230 y(Mo)s(dern)e(systems)g(pro)m
 (restricted)h(en)m(vironmen)m(t,)f(suc)m(h)150 5340 y(as)h
 Ft(jails)p Fu(,)e Ft(zones)p Fu(,)g(or)h Ft(containers)p
 Fu(.)p eop end
-%%Page: 114 120
-TeXDict begin 114 119 bop 150 -116 a Fu(Chapter)30 b(6:)41
-b(Bash)30 b(F)-8 b(eatures)2439 b(114)150 299 y Fs(6.11)68
+%%Page: 115 121
+TeXDict begin 115 120 bop 150 -116 a Fu(Chapter)30 b(6:)41
+b(Bash)30 b(F)-8 b(eatures)2439 b(115)150 299 y Fs(6.11)68
 b(Bash)45 b(and)g(POSIX)150 523 y Fk(6.11.1)63 b(What)40
 b(is)i(POSIX?)150 670 y Fm(posix)22 b Fu(is)g(the)g(name)h(for)f(a)g
 (family)h(of)g(standards)e(based)h(on)g(Unix.)38 b(A)22
@@ -16576,14 +16605,14 @@ b(ariable)31 b(is)f(set.)199 4853 y(2.)61 b(Bash)35 b(reads)f(and)h
 (executes)h(the)f Fm(posix)f Fu(startup)g(\014les)h(\()p
 Ft($ENV)p Fu(\))f(rather)h(than)f(the)h(normal)g(Bash)330
 4962 y(\014les)30 b(\(see)i(Section)f(6.2)g([Bash)g(Startup)f(Files],)i
-(page)f(100.)199 5096 y(3.)61 b(Alias)31 b(expansion)g(is)f(alw)m(a)m
+(page)f(101.)199 5096 y(3.)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.)199
 5230 y(4.)61 b(Reserv)m(ed)40 b(w)m(ords)g(app)s(earing)f(in)h(a)g(con)
 m(text)i(where)d(reserv)m(ed)h(w)m(ords)f(are)i(recognized)g(do)f(not)
 330 5340 y(undergo)30 b(alias)h(expansion.)p eop end
-%%Page: 115 121
-TeXDict begin 115 120 bop 150 -116 a Fu(Chapter)30 b(6:)41
-b(Bash)30 b(F)-8 b(eatures)2439 b(115)199 299 y(5.)61
+%%Page: 116 122
+TeXDict begin 116 121 bop 150 -116 a Fu(Chapter)30 b(6:)41
+b(Bash)30 b(F)-8 b(eatures)2439 b(116)199 299 y(5.)61
 b(Alias)45 b(expansion)e(is)h(p)s(erformed)f(when)f(initially)k
 (parsing)d(a)h(command)g(substitution.)80 b(The)330 408
 y(default)37 b(\(non-p)s(osix\))f(mo)s(de)h(generally)h(defers)e(it,)j
@@ -16592,596 +16621,589 @@ y(default)37 b(\(non-p)s(osix\))f(mo)s(de)h(generally)h(defers)e(it,)j
 f(substitution)h(will)g(not)g(expand)e(aliases)330 628
 y(that)k(are)f(de\014ned)f(after)h(the)g(command)g(substitution)g(is)g
 (initially)h(parsed)e(\(e.g.,)k(as)e(part)e(of)i(a)330
-737 y(function)30 b(de\014nition\).)199 874 y(6.)61 b(The)35
+737 y(function)30 b(de\014nition\).)199 866 y(6.)61 b(The)35
 b Ft(time)g Fu(reserv)m(ed)g(w)m(ord)h(ma)m(y)g(b)s(e)f(used)g(b)m(y)g
 (itself)h(as)g(a)g(simple)g(command.)56 b(When)35 b(used)g(in)330
-984 y(this)41 b(w)m(a)m(y)-8 b(,)45 b(it)c(displa)m(ys)g(timing)g
+976 y(this)41 b(w)m(a)m(y)-8 b(,)45 b(it)c(displa)m(ys)g(timing)g
 (statistics)i(for)d(the)h(shell)g(and)f(its)h(completed)h(c)m(hildren.)
-71 b(The)330 1093 y Ft(TIMEFORMAT)28 b Fu(v)-5 b(ariable)31
+71 b(The)330 1085 y Ft(TIMEFORMAT)28 b Fu(v)-5 b(ariable)31
 b(con)m(trols)g(the)g(format)g(of)f(the)h(timing)g(information.)199
-1230 y(7.)61 b(The)29 b(parser)g(do)s(es)g(not)h(recognize)h
+1214 y(7.)61 b(The)29 b(parser)g(do)s(es)g(not)h(recognize)h
 Ft(time)d Fu(as)i(a)g(reserv)m(ed)f(w)m(ord)g(if)h(the)f(next)h(tok)m
-(en)h(b)s(egins)d(with)i(a)330 1340 y(`)p Ft(-)p Fu('.)199
-1477 y(8.)61 b(When)33 b(parsing)g(and)f(expanding)h(a)h($)p
+(en)h(b)s(egins)d(with)i(a)330 1324 y(`)p Ft(-)p Fu('.)199
+1453 y(8.)61 b(When)33 b(parsing)g(and)f(expanding)h(a)h($)p
 Fi({)6 b Fu(.)22 b(.)h(.)11 b Fi(})33 b Fu(expansion)g(that)h(app)s
-(ears)f(within)f(double)h(quotes,)330 1587 y(single)42
+(ears)f(within)f(double)h(quotes,)330 1562 y(single)42
 b(quotes)g(are)g(no)g(longer)g(sp)s(ecial)g(and)f(cannot)i(b)s(e)e
-(used)g(to)h(quote)g(a)g(closing)h(brace)f(or)330 1696
+(used)g(to)h(quote)g(a)g(closing)h(brace)f(or)330 1672
 y(other)31 b(sp)s(ecial)h(c)m(haracter,)i(unless)c(the)i(op)s(erator)f
 (is)g(one)h(of)f(those)h(de\014ned)e(to)i(p)s(erform)e(pattern)330
-1806 y(remo)m(v)-5 b(al.)42 b(In)30 b(this)g(case,)i(they)e(do)g(not)h
+1782 y(remo)m(v)-5 b(al.)42 b(In)30 b(this)g(case,)i(they)e(do)g(not)h
 (ha)m(v)m(e)h(to)f(app)s(ear)e(as)i(matc)m(hed)g(pairs.)199
-1943 y(9.)61 b(Redirection)32 b(op)s(erators)f(do)f(not)h(p)s(erform)e
+1910 y(9.)61 b(Redirection)32 b(op)s(erators)f(do)f(not)h(p)s(erform)e
 (\014lename)i(expansion)g(on)g(the)f(w)m(ord)h(in)f(a)h(redirection)330
-2052 y(unless)f(the)g(shell)h(is)f(in)m(teractiv)m(e.)154
-2189 y(10.)61 b(Redirection)31 b(op)s(erators)g(do)f(not)h(p)s(erform)e
+2020 y(unless)f(the)g(shell)h(is)f(in)m(teractiv)m(e.)154
+2149 y(10.)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(a)g(redirection.)154
-2326 y(11.)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 Ft(name)p Fu(s.)52 b(That)34 b(is,)i(they)f(ma)m(y)
-g(not)g(con)m(tain)g(c)m(haracters)330 2436 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 2545 y(a)31 b(function)f(with)g(an)g(in)m(v)
--5 b(alid)31 b(name)g(in)f(a)g(non-in)m(teractiv)m(e)j(shell)e(is)f(a)h
-(fatal)h(syn)m(tax)f(error.)154 2682 y(12.)61 b(F)-8
-b(unction)31 b(names)f(ma)m(y)h(not)g(b)s(e)f(the)g(same)h(as)g(one)f
-(of)h(the)f Fm(posix)g Fu(sp)s(ecial)h(builtins.)154
-2819 y(13.)61 b(Tilde)30 b(expansion)g(is)f(only)h(p)s(erformed)f(on)h
+2278 y(11.)61 b(F)-8 b(unction)31 b(names)f(ma)m(y)h(not)g(b)s(e)f(the)
+g(same)h(as)g(one)f(of)h(the)f Fm(posix)g Fu(sp)s(ecial)h(builtins.)154
+2407 y(12.)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
-2929 y(than)g(on)g(all)i(assignmen)m(t)f(statemen)m(ts)h(on)e(the)h
-(line.)154 3066 y(14.)61 b(While)32 b(v)-5 b(ariable)32
+2516 y(than)g(on)g(all)i(assignmen)m(t)f(statemen)m(ts)h(on)e(the)h
+(line.)154 2645 y(13.)61 b(While)32 b(v)-5 b(ariable)32
 b(indirection)f(is)g(a)m(v)-5 b(ailable,)34 b(it)d(ma)m(y)h(not)f(b)s
 (e)g(applied)g(to)g(the)h(`)p Ft(#)p Fu(')f(and)f(`)p
-Ft(?)p Fu(')h(sp)s(ecial)330 3176 y(parameters.)154 3313
-y(15.)61 b(Expanding)21 b(the)h(`)p Ft(*)p Fu(')g(sp)s(ecial)h
+Ft(?)p Fu(')h(sp)s(ecial)330 2755 y(parameters.)154 2884
+y(14.)61 b(Expanding)21 b(the)h(`)p Ft(*)p Fu(')g(sp)s(ecial)h
 (parameter)f(in)g(a)g(pattern)h(con)m(text)g(where)f(the)g(expansion)g
-(is)g(double-)330 3422 y(quoted)31 b(do)s(es)f(not)g(treat)i(the)e
+(is)g(double-)330 2993 y(quoted)31 b(do)s(es)f(not)g(treat)i(the)e
 Ft($*)g Fu(as)h(if)f(it)h(w)m(ere)g(double-quoted.)154
-3559 y(16.)61 b(A)39 b(double)f(quote)i(c)m(haracter)g(\(`)p
+3122 y(15.)61 b(A)39 b(double)f(quote)i(c)m(haracter)g(\(`)p
 Ft(")p Fu('\))g(is)f(treated)g(sp)s(ecially)h(when)e(it)h(app)s(ears)f
-(in)h(a)g(bac)m(kquoted)330 3669 y(command)24 b(substitution)f(in)h
+(in)h(a)g(bac)m(kquoted)330 3232 y(command)24 b(substitution)f(in)h
 (the)g(b)s(o)s(dy)e(of)i(a)g(here-do)s(cumen)m(t)g(that)h(undergo)s(es)
-e(expansion.)38 b(That)330 3778 y(means,)29 b(for)f(example,)i(that)f
+e(expansion.)38 b(That)330 3342 y(means,)29 b(for)f(example,)i(that)f
 (a)g(bac)m(kslash)g(preceding)f(a)h(double)f(quote)h(c)m(haracter)h
-(will)f(escap)s(e)f(it)330 3888 y(and)i(the)g(bac)m(kslash)h(will)g(b)s
-(e)f(remo)m(v)m(ed.)154 4025 y(17.)61 b(Command)25 b(substitutions)g
+(will)f(escap)s(e)f(it)330 3451 y(and)i(the)g(bac)m(kslash)h(will)g(b)s
+(e)f(remo)m(v)m(ed.)154 3580 y(16.)61 b(Command)25 b(substitutions)g
 (don't)g(set)h(the)g(`)p Ft(?)p Fu(')g(sp)s(ecial)g(parameter.)40
-b(The)25 b(exit)h(status)g(of)g(a)g(simple)330 4134 y(command)i
+b(The)25 b(exit)h(status)g(of)g(a)g(simple)330 3690 y(command)i
 (without)g(a)h(command)f(w)m(ord)f(is)i(still)g(the)f(exit)h(status)g
-(of)f(the)g(last)h(command)f(substi-)330 4244 y(tution)f(that)h(o)s
+(of)f(the)g(last)h(command)f(substi-)330 3799 y(tution)f(that)h(o)s
 (ccurred)e(while)h(ev)-5 b(aluating)28 b(the)g(v)-5 b(ariable)27
 b(assignmen)m(ts)h(and)e(redirections)i(in)e(that)330
-4354 y(command,)h(but)f(that)g(do)s(es)g(not)h(happ)s(en)d(un)m(til)j
+3909 y(command,)h(but)f(that)g(do)s(es)g(not)h(happ)s(en)d(un)m(til)j
 (after)g(all)g(of)f(the)h(assignmen)m(ts)g(and)e(redirections.)154
-4491 y(18.)61 b(Literal)28 b(tildes)g(that)f(app)s(ear)f(as)i(the)f
+4038 y(17.)61 b(Literal)28 b(tildes)g(that)f(app)s(ear)f(as)i(the)f
 (\014rst)f(c)m(haracter)j(in)d(elemen)m(ts)j(of)e(the)g
-Ft(PATH)f Fu(v)-5 b(ariable)27 b(are)h(not)330 4600 y(expanded)i(as)g
+Ft(PATH)f Fu(v)-5 b(ariable)27 b(are)h(not)330 4147 y(expanded)i(as)g
 (describ)s(ed)f(ab)s(o)m(v)m(e)j(under)d(Section)i(3.5.2)h([Tilde)f
-(Expansion],)f(page)h(26.)154 4737 y(19.)61 b(Command)31
+(Expansion],)f(page)h(26.)154 4276 y(18.)61 b(Command)31
 b(lo)s(okup)h(\014nds)e Fm(posix)h Fu(sp)s(ecial)i(builtins)f(b)s
 (efore)f(shell)h(functions,)h(including)e(output)330
-4847 y(prin)m(ted)f(b)m(y)g(the)h Ft(type)e Fu(and)h
-Ft(command)e Fu(builtins.)154 4984 y(20.)61 b(Ev)m(en)27
+4386 y(prin)m(ted)f(b)m(y)g(the)h Ft(type)e Fu(and)h
+Ft(command)e Fu(builtins.)154 4515 y(19.)61 b(Ev)m(en)27
 b(if)h(a)f(shell)h(function)f(whose)g(name)g(con)m(tains)i(a)f(slash)f
 (w)m(as)g(de\014ned)g(b)s(efore)f(en)m(tering)j Fm(posix)330
-5093 y Fu(mo)s(de,)h(the)h(shell)f(will)h(not)g(execute)g(a)g(function)
+4624 y Fu(mo)s(de,)h(the)h(shell)f(will)h(not)g(execute)g(a)g(function)
 f(whose)g(name)h(con)m(tains)g(one)g(or)f(more)h(slashes.)154
-5230 y(21.)61 b(When)28 b(a)i(command)e(in)g(the)h(hash)f(table)i(no)e
+4753 y(20.)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 Ft($PATH)d
-Fu(to)i(\014nd)330 5340 y(the)i(new)e(lo)s(cation.)43
+Fu(to)i(\014nd)330 4863 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
-Ft(shopt)f(-s)h(checkhash)p Fu('.)p eop end
-%%Page: 116 122
-TeXDict begin 116 121 bop 150 -116 a Fu(Chapter)30 b(6:)41
-b(Bash)30 b(F)-8 b(eatures)2439 b(116)154 299 y(22.)61
-b(Bash)36 b(will)g(not)g(insert)g(a)g(command)f(without)h(the)g
-(execute)h(bit)f(set)g(in)m(to)h(the)f(command)g(hash)330
-408 y(table,)c(ev)m(en)f(if)f(it)h(returns)e(it)i(as)g(a)f(\(last-ditc)
-m(h\))j(result)d(from)g(a)h Ft($PATH)e Fu(searc)m(h.)154
-555 y(23.)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 664 y(non-zero)31 b(status)g(is)f(`Done\(status\)'.)154
-810 y(24.)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 920 y(`Stopp)s(ed\()p Fr(signame)5 b Fu(\)',)31
-b(where)f Fr(signame)36 b Fu(is,)31 b(for)f(example,)h
-Ft(SIGTSTP)p Fu(.)154 1066 y(25.)61 b(If)35 b(the)h(shell)g(is)g(in)m
-(teractiv)m(e,)41 b(Bash)36 b(do)s(es)f(not)h(p)s(erform)f(job)g
-(noti\014cations)i(b)s(et)m(w)m(een)g(executing)330 1176
-y(commands)44 b(in)h(lists)g(separated)h(b)m(y)e(`)p
-Ft(;)p Fu(')h(or)g(newline.)84 b(Non-in)m(teractiv)m(e)48
-b(shells)d(prin)m(t)g(status)330 1285 y(messages)31 b(after)g(a)g
-(foreground)f(job)g(in)g(a)g(list)h(completes.)154 1431
-y(26.)61 b(If)32 b(the)g(shell)g(is)h(in)m(teractiv)m(e,)i(Bash)e(w)m
-(aits)g(un)m(til)f(the)h(next)f(prompt)f(b)s(efore)h(prin)m(ting)g(the)
-h(status)330 1541 y(of)f(a)g(bac)m(kground)f(job)h(that)g(c)m(hanges)h
-(status)f(or)g(a)g(foreground)f(job)g(that)h(terminates)h(due)e(to)i(a)
-330 1650 y(signal.)41 b(Non-in)m(teractiv)m(e)34 b(shells)d(prin)m(t)f
-(status)g(messages)i(after)e(a)h(foreground)f(job)g(completes.)154
-1797 y(27.)61 b(Bash)38 b(p)s(ermanen)m(tly)g(remo)m(v)m(es)i(jobs)d
-(from)h(the)h(jobs)e(table)i(after)g(notifying)g(the)f(user)g(of)g
-(their)330 1906 y(termination)c(via)g(the)f Ft(wait)f
-Fu(or)h Ft(jobs)f Fu(builtins.)49 b(It)33 b(remo)m(v)m(es)i(the)e(job)g
-(from)g(the)g(jobs)g(list)g(after)330 2016 y(notifying)g(the)f(user)g
-(of)g(its)g(termination,)i(but)e(the)g(status)h(is)f(still)h(a)m(v)-5
-b(ailable)34 b(via)f Ft(wait)p Fu(,)f(as)g(long)330 2125
-y(as)f Ft(wait)e Fu(is)h(supplied)f(a)i Fm(pid)f Fu(argumen)m(t.)154
-2271 y(28.)61 b(The)33 b Ft(vi)f Fu(editing)i(mo)s(de)f(will)g(in)m(v)m
-(ok)m(e)i(the)e Ft(vi)g Fu(editor)h(directly)f(when)f(the)i(`)p
-Ft(v)p Fu(')f(command)g(is)g(run,)330 2381 y(instead)e(of)f(c)m(hec)m
-(king)i Ft($VISUAL)d Fu(and)g Ft($EDITOR)p Fu(.)154 2527
-y(29.)61 b(Prompt)43 b(expansion)g(enables)g(the)h Fm(posix)e
+Ft(shopt)f(-s)h(checkhash)p Fu('.)154 4992 y(21.)61 b(Bash)36
+b(will)g(not)g(insert)g(a)g(command)f(without)h(the)g(execute)h(bit)f
+(set)g(in)m(to)h(the)f(command)g(hash)330 5101 y(table,)c(ev)m(en)f(if)
+f(it)h(returns)e(it)i(as)g(a)f(\(last-ditc)m(h\))j(result)d(from)g(a)h
+Ft($PATH)e Fu(searc)m(h.)154 5230 y(22.)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 5340 y(non-zero)31
+b(status)g(is)f(`Done\(status\)'.)p eop end
+%%Page: 117 123
+TeXDict begin 117 122 bop 150 -116 a Fu(Chapter)30 b(6:)41
+b(Bash)30 b(F)-8 b(eatures)2439 b(117)154 299 y(23.)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
+408 y(`Stopp)s(ed\()p Fr(signame)5 b Fu(\)',)31 b(where)f
+Fr(signame)36 b Fu(is,)31 b(for)f(example,)h Ft(SIGTSTP)p
+Fu(.)154 539 y(24.)61 b(If)35 b(the)h(shell)g(is)g(in)m(teractiv)m(e,)
+41 b(Bash)36 b(do)s(es)f(not)h(p)s(erform)f(job)g(noti\014cations)i(b)s
+(et)m(w)m(een)g(executing)330 648 y(commands)44 b(in)h(lists)g
+(separated)h(b)m(y)e(`)p Ft(;)p Fu(')h(or)g(newline.)84
+b(Non-in)m(teractiv)m(e)48 b(shells)d(prin)m(t)g(status)330
+758 y(messages)31 b(after)g(a)g(foreground)f(job)g(in)g(a)g(list)h
+(completes.)154 888 y(25.)61 b(If)32 b(the)g(shell)g(is)h(in)m
+(teractiv)m(e,)i(Bash)e(w)m(aits)g(un)m(til)f(the)h(next)f(prompt)f(b)s
+(efore)h(prin)m(ting)g(the)h(status)330 998 y(of)f(a)g(bac)m(kground)f
+(job)h(that)g(c)m(hanges)h(status)f(or)g(a)g(foreground)f(job)g(that)h
+(terminates)h(due)e(to)i(a)330 1107 y(signal.)41 b(Non-in)m(teractiv)m
+(e)34 b(shells)d(prin)m(t)f(status)g(messages)i(after)e(a)h(foreground)
+f(job)g(completes.)154 1237 y(26.)61 b(Bash)38 b(p)s(ermanen)m(tly)g
+(remo)m(v)m(es)i(jobs)d(from)h(the)h(jobs)e(table)i(after)g(notifying)g
+(the)f(user)g(of)g(their)330 1347 y(termination)c(via)g(the)f
+Ft(wait)f Fu(or)h Ft(jobs)f Fu(builtins.)49 b(It)33 b(remo)m(v)m(es)i
+(the)e(job)g(from)g(the)g(jobs)g(list)g(after)330 1456
+y(notifying)g(the)f(user)g(of)g(its)g(termination,)i(but)e(the)g
+(status)h(is)f(still)h(a)m(v)-5 b(ailable)34 b(via)f
+Ft(wait)p Fu(,)f(as)g(long)330 1566 y(as)f Ft(wait)e
+Fu(is)h(supplied)f(a)i Fm(pid)f Fu(argumen)m(t.)154 1696
+y(27.)61 b(The)33 b Ft(vi)f Fu(editing)i(mo)s(de)f(will)g(in)m(v)m(ok)m
+(e)i(the)e Ft(vi)g Fu(editor)h(directly)f(when)f(the)i(`)p
+Ft(v)p Fu(')f(command)g(is)g(run,)330 1806 y(instead)e(of)f(c)m(hec)m
+(king)i Ft($VISUAL)d Fu(and)g Ft($EDITOR)p Fu(.)154 1936
+y(28.)61 b(Prompt)43 b(expansion)g(enables)g(the)h Fm(posix)e
 Ft(PS1)g Fu(and)h Ft(PS2)f Fu(expansions)h(of)g(`)p Ft(!)p
-Fu(')h(to)g(the)f(history)330 2637 y(n)m(um)m(b)s(er)31
+Fu(')h(to)g(the)f(history)330 2045 y(n)m(um)m(b)s(er)31
 b(and)h(`)p Ft(!!)p Fu(')h(to)g(`)p Ft(!)p Fu(',)g(and)f(Bash)h(p)s
 (erforms)e(parameter)i(expansion)f(on)h(the)f(v)-5 b(alues)33
-b(of)g Ft(PS1)330 2746 y Fu(and)d Ft(PS2)f Fu(regardless)i(of)f(the)h
+b(of)g Ft(PS1)330 2155 y Fu(and)d Ft(PS2)f Fu(regardless)i(of)f(the)h
 (setting)h(of)e(the)h Ft(promptvars)c Fu(option.)154
-2892 y(30.)61 b(The)29 b(default)g(history)g(\014le)g(is)g
+2285 y(29.)61 b(The)29 b(default)g(history)g(\014le)g(is)g
 Ft(~/.sh_history)d Fu(\(this)j(is)g(the)g(default)h(v)-5
-b(alue)29 b(the)h(shell)f(assigns)g(to)330 3002 y Ft($HISTFILE)p
-Fu(\).)154 3148 y(31.)61 b(The)30 b(`)p Ft(!)p Fu(')h(c)m(haracter)h
+b(alue)29 b(the)h(shell)f(assigns)g(to)330 2395 y Ft($HISTFILE)p
+Fu(\).)154 2525 y(30.)61 b(The)30 b(`)p Ft(!)p Fu(')h(c)m(haracter)h
 (do)s(es)e(not)h(in)m(tro)s(duce)g(history)f(expansion)h(within)f(a)h
-(double-quoted)g(string,)330 3258 y(ev)m(en)g(if)f(the)h
-Ft(histexpand)d Fu(option)i(is)h(enabled.)154 3404 y(32.)61
+(double-quoted)g(string,)330 2634 y(ev)m(en)g(if)f(the)h
+Ft(histexpand)d Fu(option)i(is)h(enabled.)154 2765 y(31.)61
 b(When)48 b(prin)m(ting)g(shell)h(function)f(de\014nitions)g(\(e.g.,)55
 b(b)m(y)48 b Ft(type)p Fu(\),)k(Bash)d(do)s(es)f(not)h(prin)m(t)f(the)
-330 3513 y Ft(function)28 b Fu(k)m(eyw)m(ord.)154 3660
-y(33.)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
-3769 y(in)m(v)-5 b(alid)31 b(expression.)154 3915 y(34.)61
-b(Non-in)m(teractiv)m(e)34 b(shells)c(exit)h(if)g(a)f(parameter)h
-(expansion)g(error)f(o)s(ccurs.)154 4061 y(35.)61 b(If)24
-b(a)g Fm(posix)g Fu(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 4171 y(errors)30 b(are)h(those)f(listed)h(in)f
+330 2874 y Ft(function)28 b Fu(k)m(eyw)m(ord)j(unless)f(necessary)-8
+b(.)154 3004 y(32.)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 3114 y(in)m(v)-5 b(alid)31 b(expression.)154
+3244 y(33.)61 b(Non-in)m(teractiv)m(e)34 b(shells)c(exit)h(if)g(a)f
+(parameter)h(expansion)g(error)f(o)s(ccurs.)154 3374
+y(34.)61 b(If)24 b(a)g Fm(posix)g Fu(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 3484 y(errors)30 b(are)h(those)f(listed)h(in)f
 (the)h Fm(posix)e Fu(standard,)h(and)g(include)g(things)g(lik)m(e)i
-(passing)e(incorrect)330 4281 y(options,)43 b(redirection)d(errors,)i
+(passing)e(incorrect)330 3593 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 4390 y(command)30 b(name,)h(and)f(so)g(on.)154
-4536 y(36.)61 b(A)31 b(non-in)m(teractiv)m(e)j(shell)d(exits)h(with)e
+(preceding)f(the)330 3703 y(command)30 b(name,)h(and)f(so)g(on.)154
+3833 y(35.)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 4646 y(when)38 b(no)h(command)g(name)g(follo)m
+(error)e(o)s(ccurs)330 3943 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 4756 y(error)30
+b(v)-5 b(ariable)40 b(assignmen)m(t)330 4052 y(error)30
 b(o)s(ccurs,)g(for)g(example,)i(when)d(trying)i(to)g(assign)f(a)h(v)-5
-b(alue)31 b(to)g(a)g(readonly)f(v)-5 b(ariable.)154 4902
-y(37.)61 b(A)31 b(non-in)m(teractiv)m(e)j(shell)d(exits)h(with)e(an)h
+b(alue)31 b(to)g(a)g(readonly)f(v)-5 b(ariable.)154 4182
+y(36.)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 5011 y(in)g(an)g(assignmen)m(t)i(statemen)m(t)g
+(o)s(ccurs)330 4292 y(in)g(an)g(assignmen)m(t)i(statemen)m(t)g
 (preceding)e(a)h(sp)s(ecial)g(builtin,)f(but)g(not)g(with)h(an)m(y)f
-(other)h(simple)330 5121 y(command.)38 b(F)-8 b(or)23
+(other)h(simple)330 4402 y(command.)38 b(F)-8 b(or)23
 b(an)m(y)g(other)g(simple)g(command,)h(the)f(shell)g(ab)s(orts)f
-(execution)i(of)f(that)g(command,)330 5230 y(and)44 b(execution)i(con)m
+(execution)i(of)f(that)g(command,)330 4511 y(and)44 b(execution)i(con)m
 (tin)m(ues)g(at)g(the)f(top)g(lev)m(el)h(\()p Ft(")p
 Fu(the)f(shell)h(shall)f(not)g(p)s(erform)e(an)m(y)i(further)330
-5340 y(pro)s(cessing)30 b(of)h(the)f(command)g(in)g(whic)m(h)h(the)f
-(error)g(o)s(ccurred)p Ft(")p Fu(\).)p eop end
-%%Page: 117 123
-TeXDict begin 117 122 bop 150 -116 a Fu(Chapter)30 b(6:)41
-b(Bash)30 b(F)-8 b(eatures)2439 b(117)154 299 y(38.)61
+4621 y(pro)s(cessing)30 b(of)h(the)f(command)g(in)g(whic)m(h)h(the)f
+(error)g(o)s(ccurred)p Ft(")p Fu(\).)154 4751 y(37.)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
-Ft(for)330 408 y Fu(statemen)m(t)30 b(or)f(the)g(selection)h(v)-5
+Ft(for)330 4861 y Fu(statemen)m(t)30 b(or)f(the)g(selection)h(v)-5
 b(ariable)30 b(in)e(a)h Ft(select)e Fu(statemen)m(t)k(is)d(a)h
-(readonly)g(v)-5 b(ariable)30 b(or)e(has)330 518 y(an)i(in)m(v)-5
-b(alid)31 b(name.)154 655 y(39.)61 b(Non-in)m(teractiv)m(e)34
+(readonly)g(v)-5 b(ariable)30 b(or)e(has)330 4970 y(an)i(in)m(v)-5
+b(alid)31 b(name.)154 5100 y(38.)61 b(Non-in)m(teractiv)m(e)34
 b(shells)c(exit)h(if)g Fr(\014lename)k Fu(in)30 b Ft(.)g
-Fr(\014lename)36 b Fu(is)31 b(not)f(found.)154 792 y(40.)61
+Fr(\014lename)36 b Fu(is)31 b(not)f(found.)154 5230 y(39.)61
 b(Non-in)m(teractiv)m(e)27 b(shells)c(exit)i(if)e(there)h(is)f(a)h(syn)
 m(tax)g(error)f(in)g(a)h(script)f(read)g(with)h(the)f
-Ft(.)g Fu(or)h Ft(source)330 902 y Fu(builtins,)30 b(or)g(in)g(a)h
-(string)g(pro)s(cessed)e(b)m(y)i(the)f Ft(eval)f Fu(builtin.)154
-1039 y(41.)61 b(Non-in)m(teractiv)m(e)33 b(shells)d(exit)g(if)g(the)f
+Ft(.)g Fu(or)h Ft(source)330 5340 y Fu(builtins,)30 b(or)g(in)g(a)h
+(string)g(pro)s(cessed)e(b)m(y)i(the)f Ft(eval)f Fu(builtin.)p
+eop end
+%%Page: 118 124
+TeXDict begin 118 123 bop 150 -116 a Fu(Chapter)30 b(6:)41
+b(Bash)30 b(F)-8 b(eatures)2439 b(118)154 299 y(40.)61
+b(Non-in)m(teractiv)m(e)33 b(shells)d(exit)g(if)g(the)f
 Ft(export)p Fu(,)g Ft(readonly)e Fu(or)j Ft(unset)e Fu(builtin)h
-(commands)g(get)i(an)330 1148 y(argumen)m(t)j(that)f(is)g(not)h(a)f(v)
--5 b(alid)34 b(iden)m(ti\014er,)g(and)e(they)i(are)f(not)g(op)s
-(erating)h(on)f(shell)g(functions.)330 1258 y(These)d(errors)g(force)h
-(an)f(exit)h(b)s(ecause)g(these)g(are)f(sp)s(ecial)h(builtins.)154
-1395 y(42.)61 b(Assignmen)m(t)23 b(statemen)m(ts)h(preceding)e
+(commands)g(get)i(an)330 408 y(argumen)m(t)j(that)f(is)g(not)h(a)f(v)-5
+b(alid)34 b(iden)m(ti\014er,)g(and)e(they)i(are)f(not)g(op)s(erating)h
+(on)f(shell)g(functions.)330 518 y(These)d(errors)g(force)h(an)f(exit)h
+(b)s(ecause)g(these)g(are)f(sp)s(ecial)h(builtins.)154
+653 y(41.)61 b(Assignmen)m(t)23 b(statemen)m(ts)h(preceding)e
 Fm(posix)f Fu(sp)s(ecial)i(builtins)f(p)s(ersist)g(in)f(the)i(shell)f
-(en)m(vironmen)m(t)330 1504 y(after)31 b(the)f(builtin)g(completes.)154
-1641 y(43.)61 b(The)31 b Ft(command)e Fu(builtin)i(do)s(es)g(not)h
-(prev)m(en)m(t)f(builtins)g(that)h(tak)m(e)h(assignmen)m(t)f(statemen)m
-(ts)h(as)f(ar-)330 1751 y(gumen)m(ts)40 b(from)e(expanding)h(them)g(as)
-h(assignmen)m(t)g(statemen)m(ts;)46 b(when)38 b(not)i(in)f
-Fm(posix)f Fu(mo)s(de,)330 1861 y(declaration)29 b(commands)d(lose)i
+(en)m(vironmen)m(t)330 763 y(after)31 b(the)f(builtin)g(completes.)154
+898 y(42.)61 b(The)31 b Ft(command)e Fu(builtin)i(do)s(es)g(not)h(prev)
+m(en)m(t)f(builtins)g(that)h(tak)m(e)h(assignmen)m(t)f(statemen)m(ts)h
+(as)f(ar-)330 1008 y(gumen)m(ts)40 b(from)e(expanding)h(them)g(as)h
+(assignmen)m(t)g(statemen)m(ts;)46 b(when)38 b(not)i(in)f
+Fm(posix)f Fu(mo)s(de,)330 1118 y(declaration)29 b(commands)d(lose)i
 (their)g(assignmen)m(t)g(statemen)m(t)h(expansion)e(prop)s(erties)f
-(when)g(pre-)330 1970 y(ceded)31 b(b)m(y)f Ft(command)p
-Fu(.)154 2107 y(44.)61 b(Enabling)21 b Fm(posix)g Fu(mo)s(de)g(has)g
+(when)g(pre-)330 1227 y(ceded)31 b(b)m(y)f Ft(command)p
+Fu(.)154 1363 y(43.)61 b(Enabling)21 b Fm(posix)g Fu(mo)s(de)g(has)g
 (the)g(e\013ect)i(of)e(setting)i(the)e Ft(inherit_errexit)d
-Fu(option,)23 b(so)f(subshells)330 2217 y(spa)m(wned)27
+Fu(option,)23 b(so)f(subshells)330 1472 y(spa)m(wned)27
 b(to)i(execute)g(command)e(substitutions)h(inherit)f(the)h(v)-5
 b(alue)28 b(of)g(the)g Ft(-e)f Fu(option)h(from)g(the)330
-2326 y(paren)m(t)37 b(shell.)62 b(When)37 b(the)g Ft(inherit_errexit)c
+1582 y(paren)m(t)37 b(shell.)62 b(When)37 b(the)g Ft(inherit_errexit)c
 Fu(option)38 b(is)f(not)h(enabled,)h(Bash)e(clears)h(the)g
-Ft(-e)330 2436 y Fu(option)31 b(in)f(suc)m(h)g(subshells.)154
-2573 y(45.)61 b(Enabling)32 b Fm(posix)f Fu(mo)s(de)h(has)g(the)h
+Ft(-e)330 1691 y Fu(option)31 b(in)f(suc)m(h)g(subshells.)154
+1827 y(44.)61 b(Enabling)32 b Fm(posix)f Fu(mo)s(de)h(has)g(the)h
 (e\013ect)g(of)g(setting)g(the)g Ft(shift_verbose)28
-b Fu(option,)34 b(so)e(n)m(umeric)330 2682 y(argumen)m(ts)f(to)g
+b Fu(option,)34 b(so)e(n)m(umeric)330 1936 y(argumen)m(ts)f(to)g
 Ft(shift)f Fu(that)h(exceed)h(the)e(n)m(um)m(b)s(er)g(of)h(p)s
 (ositional)g(parameters)g(will)g(result)g(in)f(an)330
-2792 y(error)g(message.)154 2929 y(46.)61 b(Enabling)29
+2046 y(error)g(message.)154 2181 y(45.)61 b(Enabling)29
 b Fm(posix)g Fu(mo)s(de)g(has)g(the)h(e\013ect)h(of)e(setting)i(the)e
 Ft(interactive_comments)24 b Fu(option)30 b(\(see)330
-3039 y(Section)h(3.1.3)h([Commen)m(ts],)g(page)f(9\).)154
-3176 y(47.)61 b(The)21 b Ft(.)h Fu(and)f Ft(source)f
+2291 y(Section)h(3.1.3)h([Commen)m(ts],)g(page)f(9\).)154
+2426 y(46.)61 b(The)21 b Ft(.)h Fu(and)f Ft(source)f
 Fu(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 3285 y(if)30
+(for)g(the)g(\014lename)f(argumen)m(t)330 2536 y(if)30
 b(it)h(is)g(not)f(found)f(b)m(y)i(searc)m(hing)g Ft(PATH)p
-Fu(.)154 3422 y(48.)61 b(When)43 b(the)g Ft(alias)f Fu(builtin)g
+Fu(.)154 2671 y(47.)61 b(When)43 b(the)g Ft(alias)f Fu(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 3532 y(leading)31 b(`)p Ft(alias)e
+(y)h(them)f(with)g(a)330 2781 y(leading)31 b(`)p Ft(alias)e
 Fu(')i(unless)f(the)g Ft(-p)g Fu(option)h(is)f(supplied.)154
-3669 y(49.)61 b(The)27 b Ft(bg)g Fu(builtin)g(uses)g(the)h(required)f
+2916 y(48.)61 b(The)27 b Ft(bg)g Fu(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 3778 y(whic)m(h)h(do)s(es)g(not)g(include)g(an)g
+(kground,)330 3026 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.)154 3915 y(50.)61 b(When)35 b(the)h
+(previous)g(job.)154 3161 y(49.)61 b(When)35 b(the)h
 Ft(cd)e Fu(builtin)h(is)h(in)m(v)m(ok)m(ed)g(in)f(logical)j(mo)s(de,)e
-(and)f(the)h(pathname)f(constructed)g(from)330 4025 y
+(and)f(the)h(pathname)f(constructed)g(from)330 3271 y
 Ft($PWD)i Fu(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
-4134 y(directory)-8 b(,)32 b Ft(cd)d Fu(will)i(fail)g(instead)g(of)f
+3380 y(directory)-8 b(,)32 b Ft(cd)d Fu(will)i(fail)g(instead)g(of)f
 (falling)h(bac)m(k)h(to)f(ph)m(ysical)g(mo)s(de.)154
-4271 y(51.)61 b(When)37 b(the)h Ft(cd)f Fu(builtin)g(cannot)h(c)m
+3516 y(50.)61 b(When)37 b(the)h Ft(cd)f Fu(builtin)g(cannot)h(c)m
 (hange)h(a)f(directory)g(b)s(ecause)g(the)g(length)g(of)f(the)h
-(pathname)330 4381 y(constructed)27 b(from)g Ft($PWD)f
+(pathname)330 3625 y(constructed)27 b(from)g Ft($PWD)f
 Fu(and)h(the)g(directory)h(name)f(supplied)f(as)i(an)f(argumen)m(t)g
-(exceeds)h Ft(PATH_)330 4491 y(MAX)h Fu(when)h(canonicalized,)j
+(exceeds)h Ft(PATH_)330 3735 y(MAX)h Fu(when)h(canonicalized,)j
 Ft(cd)c Fu(will)i(attempt)h(to)f(use)f(the)g(supplied)f(directory)i
-(name.)154 4628 y(52.)61 b(When)41 b(the)g Ft(xpg_echo)e
+(name.)154 3870 y(51.)61 b(When)41 b(the)g Ft(xpg_echo)e
 Fu(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 4737 y(gumen)m(ts)i(to)g
+(terpret)f(an)m(y)h(ar-)330 3980 y(gumen)m(ts)i(to)g
 Ft(echo)e Fu(as)i(options.)81 b Ft(echo)42 b Fu(displa)m(ys)h(eac)m(h)i
 (argumen)m(t)f(after)g(con)m(v)m(erting)h(escap)s(e)330
-4847 y(sequences.)154 4984 y(53.)61 b(The)38 b Ft(export)f
+4089 y(sequences.)154 4225 y(52.)61 b(The)38 b Ft(export)f
 Fu(and)g Ft(readonly)f Fu(builtin)i(commands)g(displa)m(y)h(their)f
-(output)g(in)g(the)h(format)g(re-)330 5093 y(quired)30
-b(b)m(y)g Fm(posix)p Fu(.)154 5230 y(54.)61 b(When)35
+(output)g(in)g(the)h(format)g(re-)330 4334 y(quired)30
+b(b)m(y)g Fm(posix)p Fu(.)154 4470 y(53.)61 b(When)35
 b(listing)g(the)g(history)-8 b(,)36 b(the)f Ft(fc)g Fu(builtin)f(do)s
 (es)g(not)h(include)g(an)f(indication)i(of)f(whether)f(or)330
-5340 y(not)d(a)f(history)h(en)m(try)f(has)g(b)s(een)g(mo)s(di\014ed.)p
+4579 y(not)d(a)f(history)h(en)m(try)f(has)g(b)s(een)g(mo)s(di\014ed.)
+154 4715 y(54.)61 b(The)30 b(default)g(editor)h(used)f(b)m(y)g
+Ft(fc)g Fu(is)g Ft(ed)p Fu(.)154 4850 y(55.)61 b Ft(fc)30
+b Fu(treats)h(extra)g(argumen)m(ts)g(as)f(an)h(error)f(instead)g(of)h
+(ignoring)g(them.)154 4985 y(56.)61 b(If)38 b(there)h(are)g(to)s(o)g
+(man)m(y)g(argumen)m(ts)g(supplied)e(to)i Ft(fc)30 b(-s)p
+Fu(,)40 b Ft(fc)e Fu(prin)m(ts)g(an)h(error)f(message)i(and)330
+5095 y(returns)29 b(failure.)154 5230 y(57.)61 b(The)23
+b(output)f(of)i(`)p Ft(kill)29 b(-l)p Fu(')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 5340 y(without)30 b(the)h(`)p Ft(SIG)p Fu(')f(pre\014x.)p
 eop end
-%%Page: 118 124
-TeXDict begin 118 123 bop 150 -116 a Fu(Chapter)30 b(6:)41
-b(Bash)30 b(F)-8 b(eatures)2439 b(118)154 299 y(55.)61
-b(The)30 b(default)g(editor)h(used)f(b)m(y)g Ft(fc)g
-Fu(is)g Ft(ed)p Fu(.)154 427 y(56.)61 b Ft(fc)30 b Fu(treats)h(extra)g
-(argumen)m(ts)g(as)f(an)h(error)f(instead)g(of)h(ignoring)g(them.)154
-555 y(57.)61 b(If)38 b(there)h(are)g(to)s(o)g(man)m(y)g(argumen)m(ts)g
-(supplied)e(to)i Ft(fc)30 b(-s)p Fu(,)40 b Ft(fc)e Fu(prin)m(ts)g(an)h
-(error)f(message)i(and)330 664 y(returns)29 b(failure.)154
-792 y(58.)61 b(The)23 b(output)f(of)i(`)p Ft(kill)29
-b(-l)p Fu(')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 902
-y(without)30 b(the)h(`)p Ft(SIG)p Fu(')f(pre\014x.)154
-1029 y(59.)61 b(The)30 b Ft(kill)f Fu(builtin)h(do)s(es)g(not)h(accept)
-h(signal)f(names)f(with)g(a)h(`)p Ft(SIG)p Fu(')f(pre\014x.)154
-1157 y(60.)61 b(The)33 b Ft(printf)f Fu(builtin)i(uses)f
+%%Page: 119 125
+TeXDict begin 119 124 bop 150 -116 a Fu(Chapter)30 b(6:)41
+b(Bash)30 b(F)-8 b(eatures)2439 b(119)154 299 y(58.)61
+b(The)30 b Ft(kill)f Fu(builtin)h(do)s(es)g(not)h(accept)h(signal)f
+(names)f(with)g(a)h(`)p Ft(SIG)p Fu(')f(pre\014x.)154
+436 y(59.)61 b(The)33 b Ft(printf)f Fu(builtin)i(uses)f
 Ft(double)f Fu(\(via)j Ft(strtod)p Fu(\))d(to)j(con)m(v)m(ert)g
-(argumen)m(ts)f(corresp)s(onding)f(to)330 1267 y(\015oating)40
+(argumen)m(ts)f(corresp)s(onding)f(to)330 545 y(\015oating)40
 b(p)s(oin)m(t)f(con)m(v)m(ersion)h(sp)s(eci\014ers,)h(instead)e(of)g
 Ft(long)29 b(double)38 b Fu(if)h(it's)g(a)m(v)-5 b(ailable.)69
-b(The)39 b(`)p Ft(L)p Fu(')330 1377 y(length)31 b(mo)s(di\014er)e
+b(The)39 b(`)p Ft(L)p Fu(')330 655 y(length)31 b(mo)s(di\014er)e
 (forces)i Ft(printf)e Fu(to)i(use)f Ft(long)f(double)g
-Fu(if)h(it's)h(a)m(v)-5 b(ailable.)154 1504 y(61.)61
-b(The)36 b Ft(pwd)f Fu(builtin)h(v)m(eri\014es)h(that)g(the)f(v)-5
+Fu(if)h(it's)h(a)m(v)-5 b(ailable.)154 792 y(60.)61 b(The)36
+b Ft(pwd)f Fu(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 1614 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
-Ft(-P)e Fu(option.)154 1742 y(62.)61 b(The)27 b Ft(read)f
+(directory)-8 b(,)330 902 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
+Ft(-P)e Fu(option.)154 1039 y(61.)61 b(The)27 b Ft(read)f
 Fu(builtin)g(ma)m(y)i(b)s(e)e(in)m(terrupted)h(b)m(y)g(a)h(signal)f
 (for)g(whic)m(h)g(a)h(trap)f(has)g(b)s(een)f(set.)40
-b(If)27 b(Bash)330 1851 y(receiv)m(es)41 b(a)f(trapp)s(ed)e(signal)i
+b(If)27 b(Bash)330 1148 y(receiv)m(es)41 b(a)f(trapp)s(ed)e(signal)i
 (while)f(executing)h Ft(read)p Fu(,)h(the)e(trap)h(handler)e(executes)i
-(and)f Ft(read)330 1961 y Fu(returns)29 b(an)h(exit)i(status)e(greater)
-i(than)e(128.)154 2089 y(63.)61 b(When)40 b(the)g Ft(set)f
+(and)f Ft(read)330 1258 y Fu(returns)29 b(an)h(exit)i(status)e(greater)
+i(than)e(128.)154 1395 y(62.)61 b(When)40 b(the)g Ft(set)f
 Fu(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 2198 y(names)30
-b(and)g(de\014nitions.)154 2326 y(64.)61 b(When)36 b(the)g
+f(not)g(displa)m(y)g(shell)g(function)330 1504 y(names)30
+b(and)g(de\014nitions.)154 1641 y(63.)61 b(When)36 b(the)g
 Ft(set)g Fu(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
-2436 y(quotes,)26 b(unless)d(they)i(con)m(tain)g(shell)f(metac)m
+1751 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 2545 y(c)m(haracters.)154 2673 y(65.)61 b(The)26
+(ting)330 1861 y(c)m(haracters.)154 1998 y(64.)61 b(The)26
 b Ft(test)g Fu(builtin)g(compares)h(strings)g(using)f(the)h(curren)m(t)
 g(lo)s(cale)h(when)e(ev)-5 b(aluating)29 b(the)e(`)p
-Ft(<)p Fu(')g(and)330 2783 y(`)p Ft(>)p Fu(')k(binary)e(op)s(erators.)
-154 2911 y(66.)61 b(The)27 b Ft(test)f Fu(builtin's)g
+Ft(<)p Fu(')g(and)330 2107 y(`)p Ft(>)p Fu(')k(binary)e(op)s(erators.)
+154 2244 y(65.)61 b(The)27 b Ft(test)f Fu(builtin's)g
 Ft(-t)h Fu(unary)f(primary)g(requires)h(an)g(argumen)m(t.)40
-b(Historical)29 b(v)m(ersions)f(of)f Ft(test)330 3020
+b(Historical)29 b(v)m(ersions)f(of)f Ft(test)330 2354
 y Fu(made)c(the)h(argumen)m(t)g(optional)h(in)e(certain)h(cases,)i(and)
-d(Bash)h(attempts)g(to)g(accommo)s(date)h(those)330 3130
+d(Bash)h(attempts)g(to)g(accommo)s(date)h(those)330 2463
 y(for)30 b(bac)m(kw)m(ards)h(compatibilit)m(y)-8 b(.)154
-3258 y(67.)61 b(The)30 b Ft(trap)f Fu(builtin)h(displa)m(ys)g(signal)i
+2600 y(66.)61 b(The)30 b Ft(trap)f Fu(builtin)h(displa)m(ys)g(signal)i
 (names)e(without)g(the)h(leading)g Ft(SIG)p Fu(.)154
-3386 y(68.)61 b(The)39 b Ft(trap)e Fu(builtin)i(do)s(esn't)g(c)m(hec)m
+2737 y(67.)61 b(The)39 b Ft(trap)e Fu(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 3495 y(and)30 b(rev)m(ert)i(the)e(signal)i
+s(eci\014cation)330 2847 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 3605 y(consists)e(solely)g(of)g
+(unless)f(that)h(argumen)m(t)330 2956 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
-3714 y(for)h(a)g(giv)m(en)h(signal)g(to)f(the)h(original)g(disp)s
+3066 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 Ft(-)p Fu(')g(as)g(the)g(\014rst)
-f(argumen)m(t.)154 3842 y(69.)61 b Ft(trap)29 b(-p)24
+f(argumen)m(t.)154 3203 y(68.)61 b Ft(trap)29 b(-p)24
 b Fu(without)g(argumen)m(ts)g(displa)m(ys)g(signals)g(whose)g(disp)s
-(ositions)g(are)g(set)h(to)f(SIG)p 3360 3842 28 4 v 40
-w(DFL)h(and)330 3952 y(those)31 b(that)g(w)m(ere)g(ignored)f(when)g
+(ositions)g(are)g(set)h(to)f(SIG)p 3360 3203 28 4 v 40
+w(DFL)h(and)330 3313 y(those)31 b(that)g(w)m(ere)g(ignored)f(when)g
 (the)g(shell)h(started,)g(not)f(just)g(trapp)s(ed)f(signals.)154
-4080 y(70.)61 b(The)37 b Ft(type)g Fu(and)g Ft(command)f
+3450 y(69.)61 b(The)37 b Ft(type)g Fu(and)g Ft(command)f
 Fu(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 4189 y(found,)26 b(though)h(the)g(shell)g
+(as)g(ha)m(ving)h(b)s(een)330 3559 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 4299 y(found)i(in)h
-Ft($PATH)p Fu(.)154 4427 y(71.)61 b(The)30 b Ft(ulimit)f
+(the)g(only)g(so-named)g(\014le)330 3669 y(found)i(in)h
+Ft($PATH)p Fu(.)154 3806 y(70.)61 b(The)30 b Ft(ulimit)f
 Fu(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 Ft(-c)f Fu(and)g Ft(-f)f Fu(options.)154 4555
-y(72.)61 b(The)35 b Ft(unset)e Fu(builtin)i(with)g(the)g
+f(the)h Ft(-c)f Fu(and)g Ft(-f)f Fu(options.)154 3943
+y(71.)61 b(The)35 b Ft(unset)e Fu(builtin)i(with)g(the)g
 Ft(-v)f Fu(option)i(sp)s(eci\014ed)e(returns)g(a)i(fatal)g(error)f(if)g
-(it)g(attempts)h(to)330 4664 y(unset)29 b(a)g Ft(readonly)e
+(it)g(attempts)h(to)330 4052 y(unset)29 b(a)g Ft(readonly)e
 Fu(or)i Ft(non-unsettable)c Fu(v)-5 b(ariable,)30 b(whic)m(h)f(causes)h
-(a)f(non-in)m(teractiv)m(e)j(shell)d(to)330 4774 y(exit.)154
-4902 y(73.)61 b(When)39 b(ask)m(ed)g(to)g(unset)g(a)g(v)-5
+(a)f(non-in)m(teractiv)m(e)j(shell)d(to)330 4162 y(exit.)154
+4299 y(72.)61 b(When)39 b(ask)m(ed)g(to)g(unset)g(a)g(v)-5
 b(ariable)39 b(that)h(app)s(ears)e(in)g(an)h(assignmen)m(t)g(statemen)m
-(t)i(preceding)330 5011 y(the)30 b(command,)f(the)h Ft(unset)e
+(t)i(preceding)330 4408 y(the)30 b(command,)f(the)h Ft(unset)e
 Fu(builtin)h(attempts)i(to)f(unset)f(a)h(v)-5 b(ariable)31
-b(of)e(the)h(same)g(name)g(in)f(the)330 5121 y(curren)m(t)24
+b(of)e(the)h(same)g(name)g(in)f(the)330 4518 y(curren)m(t)24
 b(or)g(previous)g(scop)s(e)g(as)g(w)m(ell.)40 b(This)23
 b(implemen)m(ts)i(the)f(required)f Ft(")p Fu(if)h(an)g(assigned)g(v)-5
-b(ariable)330 5230 y(is)34 b(further)e(mo)s(di\014ed)g(b)m(y)i(the)g
+b(ariable)330 4628 y(is)34 b(further)e(mo)s(di\014ed)g(b)m(y)i(the)g
 (utilit)m(y)-8 b(,)36 b(the)e(mo)s(di\014cations)g(made)g(b)m(y)f(the)h
-(utilit)m(y)h(shall)f(p)s(ersist)p Ft(")330 5340 y Fu(b)s(eha)m(vior.)p
-eop end
-%%Page: 119 125
-TeXDict begin 119 124 bop 150 -116 a Fu(Chapter)30 b(6:)41
-b(Bash)30 b(F)-8 b(eatures)2439 b(119)154 299 y(74.)61
-b(The)39 b(arriv)-5 b(al)41 b(of)f Ft(SIGCHLD)e Fu(when)h(a)h(trap)g
-(is)g(set)h(on)f Ft(SIGCHLD)e Fu(do)s(es)h(not)h(in)m(terrupt)g(the)g
-Ft(wait)330 408 y Fu(builtin)c(and)h(cause)g(it)h(to)f(return)f
-(immediately)-8 b(.)62 b(The)37 b(trap)f(command)h(is)g(run)e(once)j
-(for)f(eac)m(h)330 518 y(c)m(hild)31 b(that)g(exits.)154
-648 y(75.)61 b(Bash)27 b(remo)m(v)m(es)h(an)e(exited)i(bac)m(kground)e
-(pro)s(cess's)h(status)g(from)f(the)h(list)g(of)g(suc)m(h)f(statuses)h
-(after)330 758 y(the)k Ft(wait)e Fu(builtin)h(returns)f(it.)275
-908 y(There)34 b(is)g(other)h Fm(posix)f Fu(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 1018 y Fm(posix)d Fu(mo)s(de.)40 b(Sp)s(eci\014cally:)
-199 1148 y(1.)61 b(The)30 b Ft(fc)f Fu(builtin)h(c)m(hec)m(ks)i
+(utilit)m(y)h(shall)f(p)s(ersist)p Ft(")330 4737 y Fu(b)s(eha)m(vior.)
+154 4874 y(73.)61 b(The)39 b(arriv)-5 b(al)41 b(of)f
+Ft(SIGCHLD)e Fu(when)h(a)h(trap)g(is)g(set)h(on)f Ft(SIGCHLD)e
+Fu(do)s(es)h(not)h(in)m(terrupt)g(the)g Ft(wait)330 4984
+y Fu(builtin)c(and)h(cause)g(it)h(to)f(return)f(immediately)-8
+b(.)62 b(The)37 b(trap)f(command)h(is)g(run)e(once)j(for)f(eac)m(h)330
+5093 y(c)m(hild)31 b(that)g(exits.)154 5230 y(74.)61
+b(Bash)27 b(remo)m(v)m(es)h(an)e(exited)i(bac)m(kground)e(pro)s(cess's)
+h(status)g(from)f(the)h(list)g(of)g(suc)m(h)f(statuses)h(after)330
+5340 y(the)k Ft(wait)e Fu(builtin)h(returns)f(it.)p eop
+end
+%%Page: 120 126
+TeXDict begin 120 125 bop 150 -116 a Fu(Chapter)30 b(6:)41
+b(Bash)30 b(F)-8 b(eatures)2439 b(120)275 299 y(There)34
+b(is)g(other)h Fm(posix)f Fu(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
+408 y Fm(posix)d Fu(mo)s(de.)40 b(Sp)s(eci\014cally:)199
+540 y(1.)61 b(The)30 b Ft(fc)f Fu(builtin)h(c)m(hec)m(ks)i
 Ft($EDITOR)c Fu(as)j(a)f(program)g(to)h(edit)g(history)f(en)m(tries)h
-(if)f Ft(FCEDIT)f Fu(is)h(unset,)330 1258 y(rather)g(than)g(defaulting)
-h(directly)g(to)g Ft(ed)p Fu(.)40 b Ft(fc)30 b Fu(uses)g
-Ft(ed)g Fu(if)g Ft(EDITOR)f Fu(is)h(unset.)199 1388 y(2.)61
+(if)f Ft(FCEDIT)f Fu(is)h(unset,)330 650 y(rather)g(than)g(defaulting)h
+(directly)g(to)g Ft(ed)p Fu(.)40 b Ft(fc)30 b Fu(uses)g
+Ft(ed)g Fu(if)g Ft(EDITOR)f Fu(is)h(unset.)199 781 y(2.)61
 b(As)29 b(noted)g(ab)s(o)m(v)m(e,)i(Bash)e(requires)g(the)g
 Ft(xpg_echo)e Fu(option)j(to)g(b)s(e)e(enabled)h(for)g(the)g
-Ft(echo)f Fu(builtin)330 1497 y(to)j(b)s(e)f(fully)g(conforman)m(t.)275
-1648 y(Bash)c(can)g(b)s(e)f(con\014gured)h(to)g(b)s(e)g
+Ft(echo)f Fu(builtin)330 891 y(to)j(b)s(e)f(fully)g(conforman)m(t.)275
+1044 y(Bash)c(can)g(b)s(e)f(con\014gured)h(to)g(b)s(e)g
 Fm(posix)p Fu(-conforman)m(t)g(b)m(y)g(default,)h(b)m(y)f(sp)s
-(ecifying)g(the)g Ft(--enable-)150 1757 y(strict-posix-default)c
+(ecifying)g(the)g Ft(--enable-)150 1154 y(strict-posix-default)c
 Fu(to)27 b Ft(configure)e Fu(when)h(building)h(\(see)h(Section)g(10.8)g
-([Optional)g(F)-8 b(eatures],)150 1867 y(page)31 b(175\).)150
-2099 y Fs(6.12)68 b(Shell)46 b(Compatibilit)l(y)h(Mo)t(de)150
-2258 y Fu(Bash-4.0)33 b(in)m(tro)s(duced)f(the)f(concept)i(of)f(a)g
+([Optional)g(F)-8 b(eatures],)150 1263 y(page)31 b(175\).)150
+1498 y Fs(6.12)68 b(Shell)46 b(Compatibilit)l(y)h(Mo)t(de)150
+1658 y Fu(Bash-4.0)33 b(in)m(tro)s(duced)f(the)f(concept)i(of)f(a)g
 Fr(shell)g(compatibilit)m(y)i(lev)m(el)p Fu(,)g(sp)s(eci\014ed)d(as)h
-(a)g(set)h(of)f(options)150 2368 y(to)f(the)f(shopt)g(builtin)g(\()p
+(a)g(set)h(of)f(options)150 1767 y(to)f(the)f(shopt)g(builtin)g(\()p
 Ft(compat31)p Fu(,)e Ft(compat32)p Fu(,)h Ft(compat40)p
 Fu(,)f Ft(compat41)p Fu(,)g(and)i(so)g(on\).)41 b(There)30
-b(is)g(only)150 2477 y(one)f(curren)m(t)f(compatibilit)m(y)j(lev)m(el)f
+b(is)g(only)150 1877 y(one)f(curren)m(t)f(compatibilit)m(y)j(lev)m(el)f
 ({)f(eac)m(h)h(option)f(is)g(m)m(utually)g(exclusiv)m(e.)41
-b(The)28 b(compatibilit)m(y)j(lev)m(el)150 2587 y(is)39
+b(The)28 b(compatibilit)m(y)j(lev)m(el)150 1986 y(is)39
 b(in)m(tended)g(to)h(allo)m(w)g(users)e(to)i(select)h(b)s(eha)m(vior)e
 (from)f(previous)h(v)m(ersions)g(that)h(is)f(incompatible)150
-2697 y(with)d(new)m(er)g(v)m(ersions)g(while)g(they)g(migrate)h
+2096 y(with)d(new)m(er)g(v)m(ersions)g(while)g(they)g(migrate)h
 (scripts)f(to)h(use)f(curren)m(t)f(features)i(and)e(b)s(eha)m(vior.)58
-b(It's)150 2806 y(in)m(tended)30 b(to)h(b)s(e)f(a)h(temp)s(orary)f
-(solution.)275 2936 y(This)k(section)j(do)s(es)e(not)h(men)m(tion)g(b)s
+b(It's)150 2206 y(in)m(tended)30 b(to)h(b)s(e)f(a)h(temp)s(orary)f
+(solution.)275 2337 y(This)k(section)j(do)s(es)e(not)h(men)m(tion)g(b)s
 (eha)m(vior)g(that)g(is)f(standard)g(for)g(a)h(particular)g(v)m(ersion)
-g(\(e.g.,)150 3046 y(setting)d Ft(compat32)c Fu(means)i(that)h(quoting)
+g(\(e.g.,)150 2447 y(setting)d Ft(compat32)c Fu(means)i(that)h(quoting)
 g(the)g(righ)m(t)g(hand)e(side)h(of)h(the)f(regexp)h(matc)m(hing)h(op)s
-(erator)150 3155 y(quotes)42 b(sp)s(ecial)f(regexp)h(c)m(haracters)g
+(erator)150 2556 y(quotes)42 b(sp)s(ecial)f(regexp)h(c)m(haracters)g
 (in)f(the)g(w)m(ord,)j(whic)m(h)c(is)i(default)f(b)s(eha)m(vior)g(in)g
-(bash-3.2)h(and)150 3265 y(subsequen)m(t)30 b(v)m(ersions\).)275
-3395 y(If)f(a)h(user)f(enables,)h(sa)m(y)-8 b(,)31 b
+(bash-3.2)h(and)150 2666 y(subsequen)m(t)30 b(v)m(ersions\).)275
+2797 y(If)f(a)h(user)f(enables,)h(sa)m(y)-8 b(,)31 b
 Ft(compat32)p Fu(,)d(it)i(ma)m(y)g(a\013ect)h(the)f(b)s(eha)m(vior)g
-(of)g(other)g(compatibilit)m(y)h(lev)m(els)150 3505 y(up)23
+(of)g(other)g(compatibilit)m(y)h(lev)m(els)150 2907 y(up)23
 b(to)h(and)f(including)h(the)g(curren)m(t)f(compatibilit)m(y)j(lev)m
 (el.)41 b(The)23 b(idea)h(is)g(that)g(eac)m(h)h(compatibilit)m(y)h(lev)
-m(el)150 3614 y(con)m(trols)35 b(b)s(eha)m(vior)f(that)g(c)m(hanged)g
+m(el)150 3017 y(con)m(trols)35 b(b)s(eha)m(vior)f(that)g(c)m(hanged)g
 (in)f(that)h(v)m(ersion)g(of)g(Bash,)h(but)e(that)h(b)s(eha)m(vior)g
-(ma)m(y)g(ha)m(v)m(e)h(b)s(een)150 3724 y(presen)m(t)f(in)g(earlier)g
+(ma)m(y)g(ha)m(v)m(e)h(b)s(een)150 3126 y(presen)m(t)f(in)g(earlier)g
 (v)m(ersions.)52 b(F)-8 b(or)35 b(instance,)g(the)f(c)m(hange)h(to)g
-(use)f(lo)s(cale-based)h(comparisons)f(with)150 3833
+(use)f(lo)s(cale-based)h(comparisons)f(with)150 3236
 y(the)e Ft([[)f Fu(command)g(came)h(in)g(bash-4.1,)h(and)d(earlier)j(v)
 m(ersions)f(used)f(ASCI)s(I-based)f(comparisons,)i(so)150
-3943 y(enabling)27 b Ft(compat32)e Fu(will)i(enable)g(ASCI)s(I-based)e
+3345 y(enabling)27 b Ft(compat32)e Fu(will)i(enable)g(ASCI)s(I-based)e
 (comparisons)i(as)g(w)m(ell.)41 b(That)26 b(gran)m(ularit)m(y)i(ma)m(y)
-g(not)150 4053 y(b)s(e)i(su\016cien)m(t)i(for)f(all)g(uses,)g(and)g(as)
+g(not)150 3455 y(b)s(e)i(su\016cien)m(t)i(for)f(all)g(uses,)g(and)g(as)
 g(a)g(result)g(users)f(should)g(emplo)m(y)i(compatibilit)m(y)h(lev)m
-(els)g(carefully)-8 b(.)150 4162 y(Read)31 b(the)f(do)s(cumen)m(tation)
+(els)g(carefully)-8 b(.)150 3564 y(Read)31 b(the)f(do)s(cumen)m(tation)
 h(for)g(a)f(particular)h(feature)g(to)g(\014nd)e(out)h(the)h(curren)m
-(t)f(b)s(eha)m(vior.)275 4292 y(Bash-4.3)44 b(in)m(tro)s(duced)e(a)h
+(t)f(b)s(eha)m(vior.)275 3696 y(Bash-4.3)44 b(in)m(tro)s(duced)e(a)h
 (new)f(shell)h(v)-5 b(ariable:)65 b Ft(BASH_COMPAT)p
 Fu(.)75 b(The)42 b(v)-5 b(alue)43 b(assigned)g(to)g(this)150
-4402 y(v)-5 b(ariable)32 b(\(a)g(decimal)h(v)m(ersion)e(n)m(um)m(b)s
+3806 y(v)-5 b(ariable)32 b(\(a)g(decimal)h(v)m(ersion)e(n)m(um)m(b)s
 (er)f(lik)m(e)j(4.2,)g(or)e(an)h(in)m(teger)g(corresp)s(onding)f(to)h
-(the)f Ft(compat)p Fr(NN)150 4511 y Fu(option,)g(lik)m(e)h(42\))f
+(the)f Ft(compat)p Fr(NN)150 3915 y Fu(option,)g(lik)m(e)h(42\))f
 (determines)g(the)f(compatibilit)m(y)j(lev)m(el.)275
-4641 y(Starting)h(with)g(bash-4.4,)i(Bash)f(b)s(egan)f(deprecating)h
+4047 y(Starting)h(with)g(bash-4.4,)i(Bash)f(b)s(egan)f(deprecating)h
 (older)f(compatibilit)m(y)j(lev)m(els.)54 b(Ev)m(en)m(tually)-8
-b(,)150 4751 y(the)31 b(options)f(will)h(b)s(e)f(remo)m(v)m(ed)h(in)f
-(fa)m(v)m(or)i(of)e Ft(BASH_COMPAT)p Fu(.)275 4881 y(Bash-5.0)39
+b(,)150 4156 y(the)31 b(options)f(will)h(b)s(e)f(remo)m(v)m(ed)h(in)f
+(fa)m(v)m(or)i(of)e Ft(BASH_COMPAT)p Fu(.)275 4288 y(Bash-5.0)39
 b(w)m(as)f(the)g(\014nal)g(v)m(ersion)g(for)g(whic)m(h)f(there)h(w)m
 (as)g(an)g(individual)f(shopt)h(option)g(for)g(the)150
-4991 y(previous)31 b(v)m(ersion.)43 b Ft(BASH_COMPAT)29
+4397 y(previous)31 b(v)m(ersion.)43 b Ft(BASH_COMPAT)29
 b Fu(is)i(the)g(only)g(mec)m(hanism)h(to)g(con)m(trol)h(the)e
-(compatibilit)m(y)i(lev)m(el)g(in)150 5100 y(v)m(ersions)e(new)m(er)f
-(than)g(bash-5.0.)275 5230 y(The)24 b(follo)m(wing)i(table)g(describ)s
+(compatibilit)m(y)i(lev)m(el)g(in)150 4507 y(v)m(ersions)e(new)m(er)f
+(than)g(bash-5.0.)275 4639 y(The)24 b(follo)m(wing)i(table)g(describ)s
 (es)e(the)i(b)s(eha)m(vior)f(c)m(hanges)h(con)m(trolled)g(b)m(y)f(eac)m
-(h)h(compatibilit)m(y)h(lev)m(el)150 5340 y(setting.)43
+(h)h(compatibilit)m(y)h(lev)m(el)150 4748 y(setting.)43
 b(The)30 b Ft(compat)p Fr(NN)39 b Fu(tag)32 b(is)f(used)f(as)h
 (shorthand)e(for)h(setting)i(the)f(compatibilit)m(y)i(lev)m(el)f(to)g
-Fr(NN)p eop end
-%%Page: 120 126
-TeXDict begin 120 125 bop 150 -116 a Fu(Chapter)30 b(6:)41
-b(Bash)30 b(F)-8 b(eatures)2439 b(120)150 299 y(using)37
-b(one)h(of)g(the)g(follo)m(wing)h(mec)m(hanisms.)63 b(F)-8
-b(or)39 b(v)m(ersions)f(prior)f(to)h(bash-5.0,)j(the)d(compatibilit)m
-(y)150 408 y(lev)m(el)d(ma)m(y)f(b)s(e)e(set)i(using)e(the)i(corresp)s
-(onding)e Ft(compat)p Fr(NN)41 b Fu(shopt)33 b(option.)50
-b(F)-8 b(or)34 b(bash-4.3)f(and)g(later)150 518 y(v)m(ersions,)40
-b(the)e Ft(BASH_COMPAT)d Fu(v)-5 b(ariable)39 b(is)e(preferred,)i(and)e
-(it)i(is)f(required)f(for)g(bash-5.1)i(and)e(later)150
-628 y(v)m(ersions.)150 787 y Ft(compat31)705 922 y Fq(\017)60
+Fr(NN)150 4858 y Fu(using)37 b(one)h(of)g(the)g(follo)m(wing)h(mec)m
+(hanisms.)63 b(F)-8 b(or)39 b(v)m(ersions)f(prior)f(to)h(bash-5.0,)j
+(the)d(compatibilit)m(y)150 4967 y(lev)m(el)d(ma)m(y)f(b)s(e)e(set)i
+(using)e(the)i(corresp)s(onding)e Ft(compat)p Fr(NN)41
+b Fu(shopt)33 b(option.)50 b(F)-8 b(or)34 b(bash-4.3)f(and)g(later)150
+5077 y(v)m(ersions,)40 b(the)e Ft(BASH_COMPAT)d Fu(v)-5
+b(ariable)39 b(is)e(preferred,)i(and)e(it)i(is)f(required)f(for)g
+(bash-5.1)i(and)e(later)150 5187 y(v)m(ersions.)150 5340
+y Ft(compat31)p eop end
+%%Page: 121 127
+TeXDict begin 121 126 bop 150 -116 a Fu(Chapter)30 b(6:)41
+b(Bash)30 b(F)-8 b(eatures)2439 b(121)705 299 y Fq(\017)60
 b Fu(Quoting)32 b(the)f(rhs)g(of)g(the)h Ft([[)e Fu(command's)i(regexp)
 f(matc)m(hing)i(op)s(erator)f(\(=)p Ft(~)p Fu(\))f(has)810
-1031 y(no)f(sp)s(ecial)h(e\013ect)150 1191 y Ft(compat40)705
-1325 y Fq(\017)60 b Fu(The)32 b(`)p Ft(<)p Fu(')g(and)g(`)p
+408 y(no)f(sp)s(ecial)h(e\013ect)150 558 y Ft(compat40)705
+687 y Fq(\017)60 b Fu(The)32 b(`)p Ft(<)p Fu(')g(and)g(`)p
 Ft(>)p Fu(')g(op)s(erators)h(to)g(the)f Ft([[)g Fu(command)g(do)g(not)g
-(consider)h(the)f(curren)m(t)810 1435 y(lo)s(cale)41
-b(when)d(comparing)i(strings;)k(they)c(use)f(ASCI)s(I)f(ordering.)67
-b(Bash)40 b(v)m(ersions)810 1544 y(prior)f(to)i(bash-4.1)f(use)g(ASCI)s
-(I)e(collation)k(and)d(strcmp\(3\);)45 b(bash-4.1)c(and)e(later)810
-1654 y(use)30 b(the)h(curren)m(t)f(lo)s(cale's)i(collation)h(sequence)d
-(and)g(strcoll\(3\).)150 1813 y Ft(compat41)705 1948
+(consider)h(the)f(curren)m(t)810 797 y(lo)s(cale)41 b(when)d(comparing)
+i(strings;)k(they)c(use)f(ASCI)s(I)f(ordering.)67 b(Bash)40
+b(v)m(ersions)810 907 y(prior)f(to)i(bash-4.1)f(use)g(ASCI)s(I)e
+(collation)k(and)d(strcmp\(3\);)45 b(bash-4.1)c(and)e(later)810
+1016 y(use)30 b(the)h(curren)m(t)f(lo)s(cale's)i(collation)h(sequence)d
+(and)g(strcoll\(3\).)150 1166 y Ft(compat41)705 1295
 y Fq(\017)60 b Fu(In)28 b(p)s(osix)g(mo)s(de,)h Ft(time)e
 Fu(ma)m(y)i(b)s(e)f(follo)m(w)m(ed)i(b)m(y)f(options)g(and)e(still)j(b)
-s(e)e(recognized)i(as)810 2057 y(a)h(reserv)m(ed)f(w)m(ord)g(\(this)h
-(is)f Fm(posix)g Fu(in)m(terpretation)i(267\).)705 2192
+s(e)e(recognized)i(as)810 1405 y(a)h(reserv)m(ed)f(w)m(ord)g(\(this)h
+(is)f Fm(posix)g Fu(in)m(terpretation)i(267\).)705 1534
 y Fq(\017)60 b Fu(In)36 b(p)s(osix)f(mo)s(de,)j(the)e(parser)g
 (requires)g(that)h(an)f(ev)m(en)h(n)m(um)m(b)s(er)e(of)h(single)h
-(quotes)810 2301 y(o)s(ccur)28 b(in)g(the)h Fr(w)m(ord)i
+(quotes)810 1644 y(o)s(ccur)28 b(in)g(the)h Fr(w)m(ord)i
 Fu(p)s(ortion)d(of)h(a)g(double-quoted)f($)p Fi({)6 b
 Fu(.)23 b(.)f(.)11 b Fi(})29 b Fu(parameter)g(expansion)810
-2411 y(and)34 b(treats)h(them)f(sp)s(ecially)-8 b(,)37
+1753 y(and)34 b(treats)h(them)f(sp)s(ecially)-8 b(,)37
 b(so)e(that)g(c)m(haracters)g(within)f(the)h(single)g(quotes)g(are)810
-2521 y(considered)30 b(quoted)h(\(this)f(is)h Fm(posix)e
-Fu(in)m(terpretation)j(221\).)150 2680 y Ft(compat42)705
-2814 y Fq(\017)60 b Fu(The)45 b(replacemen)m(t)i(string)f(in)f
+1863 y(considered)30 b(quoted)h(\(this)f(is)h Fm(posix)e
+Fu(in)m(terpretation)j(221\).)150 2012 y Ft(compat42)705
+2142 y Fq(\017)60 b Fu(The)45 b(replacemen)m(t)i(string)f(in)f
 (double-quoted)h(pattern)f(substitution)g(do)s(es)h(not)810
-2924 y(undergo)30 b(quote)h(remo)m(v)-5 b(al,)32 b(as)e(it)h(do)s(es)f
-(in)g(v)m(ersions)h(after)g(bash-4.2.)705 3059 y Fq(\017)60
+2252 y(undergo)30 b(quote)h(remo)m(v)-5 b(al,)32 b(as)e(it)h(do)s(es)f
+(in)g(v)m(ersions)h(after)g(bash-4.2.)705 2381 y Fq(\017)60
 b Fu(In)38 b(p)s(osix)g(mo)s(de,)j(single)e(quotes)h(are)f(considered)f
-(sp)s(ecial)i(when)d(expanding)i(the)810 3168 y Fr(w)m(ord)d
+(sp)s(ecial)i(when)d(expanding)i(the)810 2491 y Fr(w)m(ord)d
 Fu(p)s(ortion)c(of)g(a)h(double-quoted)g($)p Fi({)6 b
 Fu(.)22 b(.)h(.)11 b Fi(})33 b Fu(parameter)g(expansion)f(and)g(can)h
-(b)s(e)810 3278 y(used)40 b(to)i(quote)g(a)f(closing)h(brace)f(or)g
+(b)s(e)810 2600 y(used)40 b(to)i(quote)g(a)f(closing)h(brace)f(or)g
 (other)h(sp)s(ecial)f(c)m(haracter)i(\(this)e(is)g(part)g(of)810
-3387 y Fm(posix)36 b Fu(in)m(terpretation)h(221\);)42
+2710 y Fm(posix)36 b Fu(in)m(terpretation)h(221\);)42
 b(in)36 b(later)h(v)m(ersions,)h(single)f(quotes)g(are)g(not)f(sp)s
-(ecial)810 3497 y(within)30 b(double-quoted)g(w)m(ord)g(expansions.)150
-3656 y Ft(compat43)705 3791 y Fq(\017)60 b Fu(W)-8 b(ord)32
+(ecial)810 2819 y(within)30 b(double-quoted)g(w)m(ord)g(expansions.)150
+2969 y Ft(compat43)705 3098 y Fq(\017)60 b Fu(W)-8 b(ord)32
 b(expansion)g(errors)g(are)g(considered)g(non-fatal)h(errors)e(that)i
-(cause)f(the)g(cur-)810 3900 y(ren)m(t)c(command)g(to)h(fail,)h(ev)m
+(cause)f(the)g(cur-)810 3208 y(ren)m(t)c(command)g(to)h(fail,)h(ev)m
 (en)f(in)e(p)s(osix)h(mo)s(de)g(\(the)g(default)h(b)s(eha)m(vior)f(is)g
-(to)h(mak)m(e)810 4010 y(them)h(fatal)i(errors)e(that)h(cause)g(the)f
-(shell)h(to)g(exit\).)705 4144 y Fq(\017)60 b Fu(When)36
+(to)h(mak)m(e)810 3318 y(them)h(fatal)i(errors)e(that)h(cause)g(the)f
+(shell)h(to)g(exit\).)705 3447 y Fq(\017)60 b Fu(When)36
 b(executing)h(a)f(shell)g(function,)h(the)f(lo)s(op)g(state)h
-(\(while/un)m(til/etc.\))61 b(is)36 b(not)810 4254 y(reset,)e(so)g
+(\(while/un)m(til/etc.\))61 b(is)36 b(not)810 3557 y(reset,)e(so)g
 Ft(break)d Fu(or)i Ft(continue)e Fu(in)h(that)i(function)f(will)g
-(break)g(or)g(con)m(tin)m(ue)h(lo)s(ops)810 4364 y(in)h(the)g(calling)h
+(break)g(or)g(con)m(tin)m(ue)h(lo)s(ops)810 3666 y(in)h(the)g(calling)h
 (con)m(text.)57 b(Bash-4.4)37 b(and)d(later)i(reset)g(the)f(lo)s(op)g
-(state)i(to)e(prev)m(en)m(t)810 4473 y(this.)150 4633
-y Ft(compat44)705 4767 y Fq(\017)60 b Fu(The)38 b(shell)g(sets)g(up)g
+(state)i(to)e(prev)m(en)m(t)810 3776 y(this.)150 3925
+y Ft(compat44)705 4055 y Fq(\017)60 b Fu(The)38 b(shell)g(sets)g(up)g
 (the)g(v)-5 b(alues)38 b(used)g(b)m(y)g Ft(BASH_ARGV)d
-Fu(and)j Ft(BASH_ARGC)d Fu(so)k(they)810 4877 y(can)26
+Fu(and)j Ft(BASH_ARGC)d Fu(so)k(they)810 4164 y(can)26
 b(expand)f(to)h(the)g(shell's)g(p)s(ositional)g(parameters)g(ev)m(en)h
-(if)e(extended)h(debugging)810 4986 y(mo)s(de)k(is)g(not)h(enabled.)705
-5121 y Fq(\017)60 b Fu(A)38 b(subshell)f(inherits)g(lo)s(ops)h(from)f
+(if)e(extended)h(debugging)810 4274 y(mo)s(de)k(is)g(not)h(enabled.)705
+4403 y Fq(\017)60 b Fu(A)38 b(subshell)f(inherits)g(lo)s(ops)h(from)f
 (its)h(paren)m(t)g(con)m(text,)k(so)c Ft(break)e Fu(or)i
-Ft(continue)810 5230 y Fu(will)d(cause)g(the)f(subshell)f(to)i(exit.)54
+Ft(continue)810 4513 y Fu(will)d(cause)g(the)f(subshell)f(to)i(exit.)54
 b(Bash-5.0)36 b(and)d(later)j(reset)f(the)f(lo)s(op)h(state)g(to)810
-5340 y(prev)m(en)m(t)c(the)g(exit.)p eop end
-%%Page: 121 127
-TeXDict begin 121 126 bop 150 -116 a Fu(Chapter)30 b(6:)41
-b(Bash)30 b(F)-8 b(eatures)2439 b(121)705 299 y Fq(\017)60
+4623 y(prev)m(en)m(t)c(the)g(exit.)705 4752 y Fq(\017)60
 b Fu(V)-8 b(ariable)27 b(assignmen)m(ts)g(preceding)e(builtins)g(lik)m
 (e)i Ft(export)d Fu(and)i Ft(readonly)d Fu(that)j(set)810
-408 y(attributes)37 b(con)m(tin)m(ue)h(to)g(a\013ect)g(v)-5
+4862 y(attributes)37 b(con)m(tin)m(ue)h(to)g(a\013ect)g(v)-5
 b(ariables)37 b(with)g(the)f(same)h(name)g(in)g(the)f(calling)810
-518 y(en)m(vironmen)m(t)31 b(ev)m(en)g(if)f(the)h(shell)g(is)f(not)h
-(in)f(p)s(osix)f(mo)s(de.)150 686 y Ft(compat50)f(\(set)h(using)g
-(BASH_COMPAT\))705 796 y Fq(\017)60 b Fu(Bash-5.1)29
+4971 y(en)m(vironmen)m(t)31 b(ev)m(en)g(if)f(the)h(shell)g(is)f(not)h
+(in)f(p)s(osix)f(mo)s(de.)150 5121 y Ft(compat50)f(\(set)h(using)g
+(BASH_COMPAT\))705 5230 y Fq(\017)60 b Fu(Bash-5.1)29
 b(c)m(hanged)g(the)f(w)m(a)m(y)g Ft($RANDOM)e Fu(is)i(generated)h(to)f
-(in)m(tro)s(duce)g(sligh)m(tly)h(more)810 905 y(randomness.)39
+(in)m(tro)s(duce)g(sligh)m(tly)h(more)810 5340 y(randomness.)39
 b(If)30 b(the)f(shell)h(compatibilit)m(y)i(lev)m(el)f(is)f(set)g(to)h
-(50)f(or)g(lo)m(w)m(er,)h(it)f(rev)m(erts)810 1015 y(to)e(the)g(metho)s
-(d)f(from)g(bash-5.0)h(and)f(previous)g(v)m(ersions,)i(so)e(seeding)h
-(the)g(random)810 1124 y(n)m(um)m(b)s(er)36 b(generator)j(b)m(y)e
-(assigning)h(a)g(v)-5 b(alue)38 b(to)g Ft(RANDOM)e Fu(will)i(pro)s
-(duce)e(the)i(same)810 1234 y(sequence)31 b(as)f(in)g(bash-5.0.)705
-1373 y Fq(\017)60 b Fu(If)22 b(the)g(command)g(hash)f(table)i(is)f
-(empt)m(y)-8 b(,)25 b(Bash)d(v)m(ersions)g(prior)g(to)h(bash-5.1)f
-(prin)m(ted)810 1482 y(an)29 b(informational)i(message)g(to)f(that)g
-(e\013ect,)h(ev)m(en)g(when)d(pro)s(ducing)g(output)h(that)810
-1592 y(can)40 b(b)s(e)g(reused)f(as)h(input.)69 b(Bash-5.1)42
-b(suppresses)c(that)j(message)g(when)e(the)i Ft(-l)810
-1702 y Fu(option)31 b(is)f(supplied.)150 1870 y Ft(compat51)e(\(set)h
-(using)g(BASH_COMPAT\))705 1979 y Fq(\017)60 b Fu(The)38
-b Ft(unset)g Fu(builtin)g(will)h(unset)f(the)h(arra)m(y)g
-Ft(a)g Fu(giv)m(en)g(an)g(argumen)m(t)g(lik)m(e)h(`)p
-Ft(a[@])p Fu('.)810 2089 y(Bash-5.2)32 b(will)f(unset)f(an)g(elemen)m
-(t)i(with)e(k)m(ey)i(`)p Ft(@)p Fu(')e(\(asso)s(ciativ)m(e)k(arra)m
-(ys\))d(or)f(remo)m(v)m(e)810 2198 y(all)h(the)g(elemen)m(ts)h(without)
-e(unsetting)g(the)h(arra)m(y)g(\(indexed)f(arra)m(ys\).)705
-2337 y Fq(\017)60 b Fu(Arithmetic)31 b(commands)f(\()h(\(\()6
-b(.)23 b(.)f(.)11 b(\)\))31 b(\))g(and)f(the)g(expressions)g(in)g(an)h
-(arithmetic)g(for)810 2447 y(statemen)m(t)h(can)f(b)s(e)f(expanded)f
-(more)i(than)f(once.)705 2586 y Fq(\017)60 b Fu(Expressions)20
-b(used)f(as)i(argumen)m(ts)g(to)g(arithmetic)h(op)s(erators)f(in)f(the)
-h Ft([[)f Fu(conditional)810 2695 y(command)30 b(can)h(b)s(e)f
-(expanded)f(more)i(than)f(once.)705 2834 y Fq(\017)60
-b Fu(The)31 b(expressions)g(in)h(substring)e(parameter)i(brace)g
-(expansion)g(can)g(b)s(e)f(expanded)810 2944 y(more)g(than)f(once.)705
-3082 y Fq(\017)60 b Fu(The)35 b(expressions)g(in)g(the)h($\(\()42
-b(.)22 b(.)g(.)47 b(\)\))36 b(w)m(ord)f(expansion)h(can)f(b)s(e)g
-(expanded)g(more)810 3192 y(than)30 b(once.)705 3331
-y Fq(\017)60 b Fu(Arithmetic)33 b(expressions)f(used)g(as)h(indexed)e
-(arra)m(y)i(subscripts)e(can)i(b)s(e)f(expanded)810 3440
-y(more)f(than)f(once.)705 3579 y Fq(\017)60 b Ft(test)29
-b(-v)p Fu(,)35 b(when)f(giv)m(en)h(an)g(argumen)m(t)g(of)f(`)p
-Ft(A[@])p Fu(',)h(where)f Fr(A)h Fu(is)f(an)h(existing)g(asso-)810
-3689 y(ciativ)m(e)h(arra)m(y)-8 b(,)37 b(will)d(return)f(true)g(if)h
-(the)h(arra)m(y)f(has)g(an)m(y)g(set)g(elemen)m(ts.)53
-b(Bash-5.2)810 3798 y(will)31 b(lo)s(ok)g(for)f(and)g(rep)s(ort)f(on)i
-(a)f(k)m(ey)i(named)d(`)p Ft(@)p Fu('.)705 3937 y Fq(\017)60
-b Fu(the)40 b($)p Fi({)p Fr(parameter)7 b Fu([:]=)p Fr(v)-5
-b(alue)5 b Fi(})42 b Fu(w)m(ord)e(expansion)f(will)i(return)d
-Fr(v)-5 b(alue)p Fu(,)43 b(b)s(efore)d(an)m(y)810 4047
-y(v)-5 b(ariable-sp)s(eci\014c)34 b(transformations)f(ha)m(v)m(e)h(b)s
-(een)e(p)s(erformed)f(\(e.g.,)36 b(con)m(v)m(erting)e(to)810
-4156 y(lo)m(w)m(ercase\).)43 b(Bash-5.2)32 b(will)f(return)e(the)i
+(50)f(or)g(lo)m(w)m(er,)h(it)f(rev)m(erts)p eop end
+%%Page: 122 128
+TeXDict begin 122 127 bop 150 -116 a Fu(Chapter)30 b(6:)41
+b(Bash)30 b(F)-8 b(eatures)2439 b(122)810 299 y(to)28
+b(the)g(metho)s(d)f(from)g(bash-5.0)h(and)f(previous)g(v)m(ersions,)i
+(so)e(seeding)h(the)g(random)810 408 y(n)m(um)m(b)s(er)36
+b(generator)j(b)m(y)e(assigning)h(a)g(v)-5 b(alue)38
+b(to)g Ft(RANDOM)e Fu(will)i(pro)s(duce)e(the)i(same)810
+518 y(sequence)31 b(as)f(in)g(bash-5.0.)705 653 y Fq(\017)60
+b Fu(If)22 b(the)g(command)g(hash)f(table)i(is)f(empt)m(y)-8
+b(,)25 b(Bash)d(v)m(ersions)g(prior)g(to)h(bash-5.1)f(prin)m(ted)810
+762 y(an)29 b(informational)i(message)g(to)f(that)g(e\013ect,)h(ev)m
+(en)g(when)d(pro)s(ducing)g(output)h(that)810 872 y(can)40
+b(b)s(e)g(reused)f(as)h(input.)69 b(Bash-5.1)42 b(suppresses)c(that)j
+(message)g(when)e(the)i Ft(-l)810 981 y Fu(option)31
+b(is)f(supplied.)150 1141 y Ft(compat51)e(\(set)h(using)g
+(BASH_COMPAT\))705 1250 y Fq(\017)60 b Fu(The)38 b Ft(unset)g
+Fu(builtin)g(will)h(unset)f(the)h(arra)m(y)g Ft(a)g Fu(giv)m(en)g(an)g
+(argumen)m(t)g(lik)m(e)h(`)p Ft(a[@])p Fu('.)810 1360
+y(Bash-5.2)32 b(will)f(unset)f(an)g(elemen)m(t)i(with)e(k)m(ey)i(`)p
+Ft(@)p Fu(')e(\(asso)s(ciativ)m(e)k(arra)m(ys\))d(or)f(remo)m(v)m(e)810
+1469 y(all)h(the)g(elemen)m(ts)h(without)e(unsetting)g(the)h(arra)m(y)g
+(\(indexed)f(arra)m(ys\).)705 1604 y Fq(\017)60 b Fu(Arithmetic)31
+b(commands)f(\()h(\(\()6 b(.)23 b(.)f(.)11 b(\)\))31
+b(\))g(and)f(the)g(expressions)g(in)g(an)h(arithmetic)g(for)810
+1714 y(statemen)m(t)h(can)f(b)s(e)f(expanded)f(more)i(than)f(once.)705
+1848 y Fq(\017)60 b Fu(Expressions)20 b(used)f(as)i(argumen)m(ts)g(to)g
+(arithmetic)h(op)s(erators)f(in)f(the)h Ft([[)f Fu(conditional)810
+1958 y(command)30 b(can)h(b)s(e)f(expanded)f(more)i(than)f(once.)705
+2092 y Fq(\017)60 b Fu(The)31 b(expressions)g(in)h(substring)e
+(parameter)i(brace)g(expansion)g(can)g(b)s(e)f(expanded)810
+2202 y(more)g(than)f(once.)705 2336 y Fq(\017)60 b Fu(The)35
+b(expressions)g(in)g(the)h($\(\()42 b(.)22 b(.)g(.)47
+b(\)\))36 b(w)m(ord)f(expansion)h(can)f(b)s(e)g(expanded)g(more)810
+2446 y(than)30 b(once.)705 2580 y Fq(\017)60 b Fu(Arithmetic)33
+b(expressions)f(used)g(as)h(indexed)e(arra)m(y)i(subscripts)e(can)i(b)s
+(e)f(expanded)810 2690 y(more)f(than)f(once.)705 2824
+y Fq(\017)60 b Ft(test)29 b(-v)p Fu(,)35 b(when)f(giv)m(en)h(an)g
+(argumen)m(t)g(of)f(`)p Ft(A[@])p Fu(',)h(where)f Fr(A)h
+Fu(is)f(an)h(existing)g(asso-)810 2934 y(ciativ)m(e)h(arra)m(y)-8
+b(,)37 b(will)d(return)f(true)g(if)h(the)h(arra)m(y)f(has)g(an)m(y)g
+(set)g(elemen)m(ts.)53 b(Bash-5.2)810 3044 y(will)31
+b(lo)s(ok)g(for)f(and)g(rep)s(ort)f(on)i(a)f(k)m(ey)i(named)d(`)p
+Ft(@)p Fu('.)705 3178 y Fq(\017)60 b Fu(the)40 b($)p
+Fi({)p Fr(parameter)7 b Fu([:]=)p Fr(v)-5 b(alue)5 b
+Fi(})42 b Fu(w)m(ord)e(expansion)f(will)i(return)d Fr(v)-5
+b(alue)p Fu(,)43 b(b)s(efore)d(an)m(y)810 3288 y(v)-5
+b(ariable-sp)s(eci\014c)34 b(transformations)f(ha)m(v)m(e)h(b)s(een)e
+(p)s(erformed)f(\(e.g.,)36 b(con)m(v)m(erting)e(to)810
+3397 y(lo)m(w)m(ercase\).)43 b(Bash-5.2)32 b(will)f(return)e(the)i
 (\014nal)f(v)-5 b(alue)31 b(assigned)f(to)i(the)e(v)-5
-b(ariable.)705 4295 y Fq(\017)60 b Fu(P)m(arsing)40 b(command)f
+b(ariable.)705 3532 y Fq(\017)60 b Fu(P)m(arsing)40 b(command)f
 (substitutions)f(will)i(b)s(eha)m(v)m(e)g(as)f(if)g(extended)g
-(globbing)h(\(see)810 4405 y(Section)e(4.3.2)g([The)f(Shopt)f
-(Builtin],)j(page)f(76\))g(is)f(enabled,)i(so)e(that)g(parsing)g(a)810
-4514 y(command)24 b(substitution)g(con)m(taining)h(an)f(extglob)i
+(globbing)h(\(see)810 3641 y(Section)e(4.3.2)g([The)f(Shopt)f
+(Builtin],)j(page)f(77\))g(is)f(enabled,)i(so)e(that)g(parsing)g(a)810
+3751 y(command)24 b(substitution)g(con)m(taining)h(an)f(extglob)i
 (pattern)e(\(sa)m(y)-8 b(,)27 b(as)d(part)g(of)g(a)h(shell)810
-4624 y(function\))30 b(will)h(not)g(fail.)41 b(This)30
+3861 y(function\))30 b(will)h(not)g(fail.)41 b(This)30
 b(assumes)g(the)h(in)m(ten)m(t)g(is)g(to)g(enable)g(extglob)g(b)s
-(efore)810 4734 y(the)i(command)f(is)g(executed)h(and)f(w)m(ord)g
+(efore)810 3970 y(the)i(command)f(is)g(executed)h(and)f(w)m(ord)g
 (expansions)g(are)h(p)s(erformed.)45 b(It)33 b(will)f(fail)810
-4843 y(at)42 b(w)m(ord)f(expansion)h(time)g(if)f(extglob)i(hasn't)e(b)s
-(een)g(enabled)h(b)m(y)f(the)h(time)g(the)810 4953 y(command)30
-b(is)h(executed.)150 5121 y Ft(compat52)d(\(set)h(using)g
-(BASH_COMPAT\))705 5230 y Fq(\017)60 b Fu(The)23 b Ft(test)g
+4080 y(at)42 b(w)m(ord)f(expansion)h(time)g(if)f(extglob)i(hasn't)e(b)s
+(een)g(enabled)h(b)m(y)f(the)h(time)g(the)810 4189 y(command)30
+b(is)h(executed.)150 4349 y Ft(compat52)d(\(set)h(using)g
+(BASH_COMPAT\))705 4458 y Fq(\017)60 b Fu(The)23 b Ft(test)g
 Fu(builtin)g(uses)h(its)g(historical)h(algorithm)g(to)f(parse)g(paren)m
-(thesized)g(sub)s(ex-)810 5340 y(pressions)30 b(when)f(giv)m(en)i
-(\014v)m(e)g(or)f(more)h(argumen)m(ts.)p eop end
-%%Page: 122 128
-TeXDict begin 122 127 bop 150 -116 a Fu(Chapter)30 b(6:)41
-b(Bash)30 b(F)-8 b(eatures)2439 b(122)705 299 y Fq(\017)60
+(thesized)g(sub)s(ex-)810 4568 y(pressions)30 b(when)f(giv)m(en)i
+(\014v)m(e)g(or)f(more)h(argumen)m(ts.)705 4702 y Fq(\017)60
 b Fu(If)25 b(the)h Ft(-p)f Fu(or)h Ft(-P)f Fu(option)h(is)g(supplied)e
 (to)j(the)f Ft(bind)e Fu(builtin,)i Ft(bind)f Fu(treats)i(an)m(y)f
-(argu-)810 408 y(men)m(ts)h(remaining)g(after)h(option)f(pro)s(cessing)
-g(as)g(bindable)f(command)h(names,)h(and)810 518 y(displa)m(ys)k(an)m
-(y)f(k)m(ey)i(sequences)f(b)s(ound)d(to)j(those)g(commands,)g(instead)g
-(of)g(treating)810 628 y(the)f(argumen)m(ts)f(as)h(k)m(ey)g(sequences)g
-(to)g(bind.)705 762 y Fq(\017)60 b Fu(In)m(teractiv)m(e)41
-b(shells)d(will)h(notify)g(the)f(user)g(of)h(completed)g(jobs)f(while)g
-(sourcing)h(a)810 872 y(script.)i(New)m(er)31 b(v)m(ersions)f(defer)g
-(noti\014cation)i(un)m(til)f(script)f(execution)i(completes.)p
-eop end
+(argu-)810 4812 y(men)m(ts)h(remaining)g(after)h(option)f(pro)s
+(cessing)g(as)g(bindable)f(command)h(names,)h(and)810
+4922 y(displa)m(ys)k(an)m(y)f(k)m(ey)i(sequences)f(b)s(ound)d(to)j
+(those)g(commands,)g(instead)g(of)g(treating)810 5031
+y(the)f(argumen)m(ts)f(as)h(k)m(ey)g(sequences)g(to)g(bind.)705
+5166 y Fq(\017)60 b Fu(In)m(teractiv)m(e)41 b(shells)d(will)h(notify)g
+(the)f(user)g(of)h(completed)g(jobs)f(while)g(sourcing)h(a)810
+5275 y(script.)i(New)m(er)31 b(v)m(ersions)f(defer)g(noti\014cation)i
+(un)m(til)f(script)f(execution)i(completes.)p eop end
 %%Page: 123 129
 TeXDict begin 123 128 bop 3614 -116 a Fu(123)150 299
 y Fp(7)80 b(Job)54 b(Con)l(trol)150 551 y Fu(This)25
@@ -17323,7 +17345,7 @@ h(prin)m(t)f(a)g(prompt)g(b)s(efore)f(notifying)i(the)g(user)e(ab)s
 (list.)41 b(If)150 2394 y(the)33 b Ft(-b)g Fu(option)g(to)h(the)f
 Ft(set)f Fu(builtin)h(is)g(enabled,)h(Bash)f(rep)s(orts)f(status)i(c)m
 (hanges)g(immediately)g(\(see)150 2503 y(Section)28 b(4.3.1)h([The)e
-(Set)g(Builtin],)i(page)f(71\).)40 b(Bash)28 b(executes)g(an)m(y)f
+(Set)g(Builtin],)i(page)f(72\).)40 b(Bash)28 b(executes)g(an)m(y)f
 (trap)g(on)g Ft(SIGCHLD)e Fu(for)i(eac)m(h)i(c)m(hild)150
 2613 y(pro)s(cess)h(that)h(terminates.)275 2763 y(When)g(a)h(job)f
 (terminates)i(and)e(Bash)h(noti\014es)g(the)f(user)g(ab)s(out)h(it,)g
@@ -17337,7 +17359,7 @@ b(,)32 b(job)e(n)m(um)m(b)s(ers)f(start)i(o)m(v)m(er)g(at)h(1.)275
 3242 y(If)j(a)i(user)e(attempts)i(to)g(exit)g(Bash)f(while)h(jobs)e
 (are)i(stopp)s(ed,)g(\(or)f(running,)g(if)g(the)g Ft(checkjobs)150
 3352 y Fu(option)24 b(is)f(enabled)h({)g(see)g(Section)g(4.3.2)h([The)e
-(Shopt)g(Builtin],)j(page)e(76\),)i(the)e(shell)f(prin)m(ts)g(a)h(w)m
+(Shopt)g(Builtin],)j(page)e(77\),)i(the)e(shell)f(prin)m(ts)g(a)h(w)m
 (arning)150 3462 y(message,)k(and)c(if)i(the)f Ft(checkjobs)e
 Fu(option)j(is)f(enabled,)i(lists)e(the)h(jobs)f(and)f(their)i
 (statuses.)39 b(The)25 b Ft(jobs)150 3571 y Fu(command)35
@@ -17574,7 +17596,7 @@ b(Com-)150 634 y(mand)c(line)i(editing)f(is)g(pro)m(vided)g(b)m(y)g
 (shell)f(in)m(v)m(o)s(cation.)45 b(Line)31 b(editing)150
 963 y(is)g(also)h(used)f(when)f(using)h(the)g Ft(-e)g
 Fu(option)h(to)g(the)f Ft(read)f Fu(builtin)h(command)g(\(see)h
-(Section)g(4.2)h([Bash)150 1073 y(Builtins],)j(page)f(59\).)52
+(Section)g(4.2)h([Bash)150 1073 y(Builtins],)j(page)f(60\).)52
 b(By)35 b(default,)g(the)f(line)h(editing)f(commands)g(are)h(similar)f
 (to)h(those)f(of)g(Emacs;)150 1182 y(a)i(vi-st)m(yle)i(line)e(editing)g
 (in)m(terface)i(is)d(also)i(a)m(v)-5 b(ailable.)60 b(Line)35
@@ -17582,7 +17604,7 @@ b(editing)i(can)f(b)s(e)f(enabled)h(at)g(an)m(y)g(time)150
 1292 y(using)g(the)g Ft(-o)30 b(emacs)35 b Fu(or)h Ft(-o)30
 b(vi)35 b Fu(options)i(to)g(the)f Ft(set)f Fu(builtin)h(command)g
 (\(see)h(Section)g(4.3.1)h([The)150 1401 y(Set)31 b(Builtin],)g(page)g
-(71\),)h(or)e(disabled)g(using)g(the)h Ft(+o)e(emacs)g
+(72\),)h(or)e(disabled)g(using)g(the)h Ft(+o)e(emacs)g
 Fu(or)i Ft(+o)e(vi)h Fu(options)h(to)g Ft(set)p Fu(.)150
 1639 y Fs(8.1)68 b(In)l(tro)t(duction)45 b(to)g(Line)h(Editing)150
 1798 y Fu(The)j(follo)m(wing)j(paragraphs)d(use)h(Emacs)g(st)m(yle)h
@@ -17880,7 +17902,7 @@ Fu(.)52 b(If)35 b(that)g(\014le)h(do)s(es)e(not)i(exist)g(or)f(cannot)h
 Ft(/etc/inputrc)p Fu(.)36 b(The)28 b Ft(bind)e Fu(builtin)i(command)g
 (can)g(also)h(b)s(e)e(used)h(to)g(set)150 4199 y(Readline)j(k)m
 (eybindings)f(and)g(v)-5 b(ariables.)41 b(See)31 b(Section)g(4.2)g
-([Bash)g(Builtins],)g(page)g(59.)275 4328 y(When)h(a)g(program)g(whic)m
+([Bash)g(Builtins],)g(page)g(60.)275 4328 y(When)h(a)g(program)g(whic)m
 (h)g(uses)g(the)h(Readline)f(library)g(starts)h(up,)f(Readline)h(reads)
 f(the)g(init)h(\014le)150 4438 y(and)d(sets)h(an)m(y)f(v)-5
 b(ariables)31 b(and)f(k)m(ey)h(bindings)e(it)i(con)m(tains.)275
@@ -17922,7 +17944,7 @@ b(1.)39 b(An)m(y)25 b(other)f(v)-5 b(alue)25 b(results)f(in)g(the)g(v)
 1875 y(The)37 b Ft(bind)30 b(-V)37 b Fu(command)g(lists)i(the)f(curren)
 m(t)f(Readline)i(v)-5 b(ariable)38 b(names)g(and)f(v)-5
 b(alues.)630 1985 y(See)31 b(Section)g(4.2)g([Bash)g(Builtins],)g(page)
-g(59.)630 2120 y(A)f(great)i(deal)f(of)g(run-time)f(b)s(eha)m(vior)g
+g(60.)630 2120 y(A)f(great)i(deal)f(of)g(run-time)f(b)s(eha)m(vior)g
 (is)g(c)m(hangeable)j(with)d(the)g(follo)m(wing)i(v)-5
 b(ariables.)630 2280 y Ft(active-region-start-colo)o(r)1110
 2390 y Fu(A)27 b(string)f(v)-5 b(ariable)27 b(that)g(con)m(trols)h(the)
@@ -17994,22 +18016,22 @@ b(is)f(`)p Ft(off)p Fu('.)630 1614 y Ft(colored-completion-prefi)o(x)
 (completions,)h(Readline)f(displa)m(ys)g(the)f(com-)1110
 1833 y(mon)c(pre\014x)f(of)i(the)f(set)h(of)g(p)s(ossible)f
 (completions)h(using)f(a)h(di\013eren)m(t)g(color.)1110
-1943 y(The)39 b(color)i(de\014nitions)f(are)g(tak)m(en)h(from)f(the)g
-(v)-5 b(alue)40 b(of)g(the)g Ft(LS_COLORS)1110 2052 y
-Fu(en)m(vironmen)m(t)f(v)-5 b(ariable.)65 b(If)38 b(there)h(is)f(a)h
-(color)g(de\014nition)f(in)g Ft(LS_COLORS)1110 2162 y
-Fu(for)j(the)h(custom)f(su\016x)g(`)p Ft(.readline-colored-complet)o
-(ion)o(-pre)o(fix)o Fu(',)1110 2271 y(Readline)e(uses)g(this)f(color)i
-(for)f(the)g(common)g(pre\014x)f(instead)h(of)g(its)g(de-)1110
-2381 y(fault.)i(The)30 b(default)g(is)h(`)p Ft(off)p
-Fu('.)630 2545 y Ft(colored-stats)1110 2655 y Fu(If)26
-b(set)h(to)g(`)p Ft(on)p Fu(',)h(Readline)f(displa)m(ys)g(p)s(ossible)f
-(completions)h(using)f(di\013eren)m(t)1110 2765 y(colors)40
-b(to)g(indicate)g(their)f(\014le)h(t)m(yp)s(e.)67 b(The)38
-b(color)j(de\014nitions)d(are)i(tak)m(en)1110 2874 y(from)24
-b(the)h(v)-5 b(alue)25 b(of)g(the)g Ft(LS_COLORS)d Fu(en)m(vironmen)m
-(t)j(v)-5 b(ariable.)40 b(The)24 b(default)1110 2984
-y(is)30 b(`)p Ft(off)p Fu('.)630 3148 y Ft(comment-begin)1110
+1943 y(The)f(color)h(de\014nitions)f(are)h(tak)m(en)g(from)f(the)g(v)-5
+b(alue)26 b(of)g(the)f Ft(LS_COLORS)e Fu(en-)1110 2052
+y(vironmen)m(t)34 b(v)-5 b(ariable.)50 b(If)33 b(there)h(is)g(a)f
+(color)i(de\014nition)e(in)g Ft(LS_COLORS)e Fu(for)1110
+2162 y(the)22 b(custom)g(su\016x)f(`)p Ft(readline-colored-complet)o
+(ion)o(-pre)o(fix)p Fu(',)c(Read-)1110 2271 y(line)24
+b(uses)e(this)i(color)g(for)f(the)h(common)f(pre\014x)f(instead)i(of)f
+(its)h(default.)38 b(The)1110 2381 y(default)31 b(is)f(`)p
+Ft(off)p Fu('.)630 2545 y Ft(colored-stats)1110 2655
+y Fu(If)c(set)h(to)g(`)p Ft(on)p Fu(',)h(Readline)f(displa)m(ys)g(p)s
+(ossible)f(completions)h(using)f(di\013eren)m(t)1110
+2765 y(colors)40 b(to)g(indicate)g(their)f(\014le)h(t)m(yp)s(e.)67
+b(The)38 b(color)j(de\014nitions)d(are)i(tak)m(en)1110
+2874 y(from)24 b(the)h(v)-5 b(alue)25 b(of)g(the)g Ft(LS_COLORS)d
+Fu(en)m(vironmen)m(t)j(v)-5 b(ariable.)40 b(The)24 b(default)1110
+2984 y(is)30 b(`)p Ft(off)p Fu('.)630 3148 y Ft(comment-begin)1110
 3258 y Fu(The)72 b(string)g(to)h(insert)f(at)i(the)e(b)s(eginning)g(of)
 g(the)h(line)g(b)m(y)f(the)1110 3367 y Ft(insert-comment)26
 b Fu(command.)41 b(The)30 b(default)g(v)-5 b(alue)31
@@ -18463,7 +18485,7 @@ i Fr(macro)5 b Fu(\).)55 b(The)35 b(di\013erence)g(b)s(et)m(w)m(een)h
 (Readline)g(function)g(names)g(and)f(bindings)g(in)h(a)630
 4067 y(format)28 b(that)h(can)f(b)s(e)f(put)g(directly)i(in)m(to)f(an)g
 (initialization)j(\014le.)40 b(See)28 b(Section)h(4.2)g([Bash)630
-4177 y(Builtins],)i(page)g(59.)630 4320 y Fr(k)m(eyname)5
+4177 y(Builtins],)i(page)g(60.)630 4320 y Fr(k)m(eyname)5
 b Fu(:)42 b Fr(function-name)35 b Fu(or)c Fr(macro)1110
 4430 y(k)m(eyname)k Fu(is)29 b(the)f(name)h(of)g(a)g(k)m(ey)h(sp)s
 (elled)e(out)h(in)g(English.)39 b(F)-8 b(or)30 b(example:)1350
@@ -18735,7 +18757,7 @@ b(Y)-8 b(ou)33 b(can)150 1365 y(list)40 b(y)m(our)f(k)m(ey)i(bindings)d
 (b)m(y)h(executing)i Ft(bind)29 b(-P)39 b Fu(or,)j(for)d(a)h(more)g
 (terse)g(format,)i(suitable)e(for)f(an)150 1474 y Fr(inputrc)34
 b Fu(\014le,)29 b Ft(bind)g(-p)p Fu(.)40 b(\(See)30 b(Section)f(4.2)h
-([Bash)g(Builtins],)g(page)g(59.\))41 b(Command)28 b(names)h(without)
+([Bash)g(Builtins],)g(page)g(60.\))41 b(Command)28 b(names)h(without)
 150 1584 y(an)h(accompan)m(ying)i(k)m(ey)f(sequence)g(are)g(un)m(b)s
 (ound)d(b)m(y)i(default.)275 1724 y(In)25 b(the)h(follo)m(wing)i
 (descriptions,)f Fr(p)s(oin)m(t)h Fu(refers)e(to)h(the)f(curren)m(t)g
@@ -19416,7 +19438,7 @@ b(history)h(expansion)f(on)g(the)h(curren)m(t)f(line.)150
 (\(see)g(Section)g(9.3)630 3617 y([History)31 b(In)m(teraction],)i
 (page)e(168\).)150 3804 y Ft(alias-expand-line)26 b(\(\))630
 3914 y Fu(P)m(erform)e(alias)i(expansion)e(on)h(the)g(curren)m(t)f
-(line)h(\(see)g(Section)h(6.6)f([Aliases],)j(page)d(107\).)150
+(line)h(\(see)g(Section)h(6.6)f([Aliases],)j(page)d(108\).)150
 4102 y Ft(history-and-alias-expand)o(-lin)o(e)f(\(\))630
 4211 y Fu(P)m(erform)30 b(history)h(and)e(alias)j(expansion)e(on)g(the)
 h(curren)m(t)f(line.)150 4399 y Ft(insert-last-argument)25
@@ -19442,7 +19464,7 @@ b(The)34 b(Readline)g Ft(vi)g Fu(mo)s(de)f(b)s(eha)m(v)m(es)i(as)f(sp)s
 Fm(posix)g Fu(standard.)275 816 y(Y)-8 b(ou)33 b(can)g(use)g(the)g(`)p
 Ft(set)d(-o)g(emacs)p Fu(')h(and)i(`)p Ft(set)d(-o)f(vi)p
 Fu(')k(commands)g(\(see)g(Section)h(4.3.1)h([The)e(Set)150
-925 y(Builtin],)25 b(page)e(71\))g(to)h(switc)m(h)e(in)m(teractiv)m
+925 y(Builtin],)25 b(page)e(72\))g(to)h(switc)m(h)e(in)m(teractiv)m
 (ely)k(b)s(et)m(w)m(een)d Ft(emacs)d Fu(and)i Ft(vi)g
 Fu(editing)h(mo)s(des,)g(The)f(Readline)150 1035 y(default)31
 b(is)f Ft(emacs)f Fu(mo)s(de.)275 1173 y(When)g(y)m(ou)i(en)m(ter)f(a)h
@@ -19500,7 +19522,7 @@ Ft(-d)e Fu(option)i(is)g(used)e(for)150 4077 y(\014lename)36
 b(or)f(directory)h(name)f(completion,)k(Bash)c(uses)g(shell)h(the)f(v)
 -5 b(ariable)37 b Ft(FIGNORE)c Fu(to)j(\014lter)g(the)150
 4186 y(matc)m(hes.)42 b(See)30 b(Section)i(5.2)f([Bash)g(V)-8
-b(ariables],)32 b(page)f(85,)h(for)e(a)h(description)f(of)h
+b(ariables],)32 b(page)f(86,)h(for)e(a)h(description)f(of)h
 Ft(FIGNORE)p Fu(.)275 4325 y(An)m(y)22 b(completions)h(sp)s(eci\014ed)f
 (b)m(y)g(a)h(\014lename)f(expansion)h(pattern)f(to)h(the)g
 Ft(-G)e Fu(option)i(are)g(generated)150 4434 y(next.)40
@@ -19541,7 +19563,7 @@ b(When)31 b(the)h(command)150 888 y(or)39 b(function)f(is)g(in)m(v)m
 Fu(,)f Ft(COMP_KEY)p Fu(,)g(and)g Ft(COMP_TYPE)e Fu(v)-5
 b(ariables)150 998 y(are)28 b(assigned)f(v)-5 b(alues)27
 b(as)h(describ)s(ed)e(ab)s(o)m(v)m(e)i(\(see)g(Section)g(5.2)h([Bash)e
-(V)-8 b(ariables],)30 b(page)e(85\).)40 b(If)27 b(a)h(shell)150
+(V)-8 b(ariables],)30 b(page)e(86\).)40 b(If)27 b(a)h(shell)150
 1107 y(function)c(is)g(b)s(eing)f(in)m(v)m(ok)m(ed,)k(the)e
 Ft(COMP_WORDS)c Fu(and)i Ft(COMP_CWORD)f Fu(v)-5 b(ariables)24
 b(are)h(also)g(set.)39 b(When)24 b(the)150 1217 y(function)h(or)g
@@ -19590,7 +19612,7 @@ Fu(')f(negates)i(the)f(pattern;)150 3313 y(in)d(this)g(case)h(an)m(y)g
 (v)m(ed.)42 b(If)29 b(the)g Ft(nocasematch)150 3422 y
 Fu(shell)k(option)f(\(see)i(the)e(description)g(of)h
 Ft(shopt)e Fu(in)h(Section)h(4.3.2)h([The)e(Shopt)g(Builtin],)h(page)g
-(76\))h(is)150 3532 y(enabled,)d(the)f(matc)m(h)h(is)g(p)s(erformed)e
+(77\))h(is)150 3532 y(enabled,)d(the)f(matc)m(h)h(is)g(p)s(erformed)e
 (without)h(regard)g(to)h(the)g(case)g(of)g(alphab)s(etic)g(c)m
 (haracters.)275 3682 y(Finally)-8 b(,)42 b(an)m(y)c(pre\014x)g(and)f
 (su\016x)h(sp)s(eci\014ed)f(with)i(the)f Ft(-P)g Fu(and)g
@@ -19816,11 +19838,11 @@ Fu(Group)30 b(names.)40 b(Ma)m(y)32 b(also)f(b)s(e)f(sp)s(eci\014ed)g
 (as)g Ft(-g)p Fu(.)1110 4743 y Ft(helptopic)1590 4852
 y Fu(Help)37 b(topics)g(as)g(accepted)h(b)m(y)e(the)h
 Ft(help)f Fu(builtin)g(\(see)h(Sec-)1590 4962 y(tion)31
-b(4.2)g([Bash)g(Builtins],)g(page)g(59\).)1110 5121 y
+b(4.2)g([Bash)g(Builtins],)g(page)g(60\).)1110 5121 y
 Ft(hostname)96 b Fu(Hostnames,)89 b(as)76 b(tak)m(en)h(from)f(the)g
 (\014le)h(sp)s(eci\014ed)e(b)m(y)1590 5230 y(the)55 b
 Ft(HOSTFILE)e Fu(shell)j(v)-5 b(ariable)56 b(\(see)g(Section)g(5.2)h
-([Bash)1590 5340 y(V)-8 b(ariables],)32 b(page)f(85\).)p
+([Bash)1590 5340 y(V)-8 b(ariables],)32 b(page)f(86\).)p
 eop end
 %%Page: 161 167
 TeXDict begin 161 166 bop 150 -116 a Fu(Chapter)30 b(8:)41
@@ -19836,10 +19858,10 @@ b(names.)41 b(Ma)m(y)31 b(also)g(b)s(e)f(sp)s(eci\014ed)g(as)g
 Ft(-s)p Fu(.)1110 1051 y Ft(setopt)192 b Fu(V)-8 b(alid)39
 b(argumen)m(ts)g(for)f(the)h Ft(-o)e Fu(option)i(to)g(the)g
 Ft(set)e Fu(builtin)1590 1161 y(\(see)31 b(Section)h(4.3.1)g([The)e
-(Set)g(Builtin],)i(page)f(71\).)1110 1322 y Ft(shopt)240
+(Set)g(Builtin],)i(page)f(72\).)1110 1322 y Ft(shopt)240
 b Fu(Shell)40 b(option)g(names)g(as)g(accepted)i(b)m(y)e(the)g
 Ft(shopt)e Fu(builtin)1590 1431 y(\(see)31 b(Section)h(4.2)f([Bash)g
-(Builtins],)g(page)g(59\).)1110 1592 y Ft(signal)192
+(Builtins],)g(page)g(60\).)1110 1592 y Ft(signal)192
 b Fu(Signal)31 b(names.)1110 1753 y Ft(stopped)144 b
 Fu(Names)31 b(of)g(stopp)s(ed)e(jobs,)h(if)g(job)g(con)m(trol)i(is)f
 (activ)m(e.)1110 1913 y Ft(user)288 b Fu(User)30 b(names.)41
@@ -19963,9 +19985,9 @@ Ft(cd)f Fu(do)s(es)g(b)s(ey)m(ond)g(accepting)j(basic)e(directory)g
 ([Tilde)g(Expansion],)g(page)g(26\),)i(searc)m(hing)e(directories)g(in)
 e Fr($CDP)-8 b(A)g(TH)p Fu(,)150 5121 y(whic)m(h)21 b(is)h(describ)s
 (ed)e(ab)s(o)m(v)m(e)j(\(see)f(Section)h(4.1)f([Bourne)g(Shell)f
-(Builtins],)j(page)e(50\),)j(and)c(basic)h(supp)s(ort)150
+(Builtins],)j(page)e(51\),)j(and)c(basic)h(supp)s(ort)150
 5230 y(for)31 b(the)h Ft(cdable_vars)d Fu(shell)i(option)h(\(see)h
-(Section)f(4.3.2)i([The)d(Shopt)g(Builtin],)i(page)f(76\).)46
+(Section)f(4.3.2)i([The)d(Shopt)g(Builtin],)i(page)f(77\).)46
 b Ft(_comp_)150 5340 y(cd)30 b Fu(mo)s(di\014es)g(the)h(v)-5
 b(alue)31 b(of)g Fr(IFS)36 b Fu(so)31 b(that)g(it)g(con)m(tains)h(only)
 f(a)g(newline)g(to)h(accommo)s(date)g(\014le)f(names)p
@@ -20082,7 +20104,7 @@ Fm(gnu)f Fu(Readline)h(Library)f(Man)m(ual.)150 984 y
 Fs(9.1)68 b(Bash)45 b(History)h(F)-11 b(acilities)150
 1143 y Fu(When)44 b(the)g Ft(-o)30 b(history)42 b Fu(option)i(to)h(the)
 f Ft(set)f Fu(builtin)h(is)g(enabled)g(\(see)g(Section)h(4.3.1)h([The)e
-(Set)150 1253 y(Builtin],)32 b(page)g(71\),)h(the)e(shell)h(pro)m
+(Set)150 1253 y(Builtin],)32 b(page)g(72\),)h(the)e(shell)h(pro)m
 (vides)f(access)h(to)g(the)f Fr(command)g(history)p Fu(,)h(the)f(list)h
 (of)f(commands)150 1363 y(previously)h(t)m(yp)s(ed.)47
 b(The)33 b(v)-5 b(alue)33 b(of)f(the)h Ft(HISTSIZE)e
@@ -20117,7 +20139,7 @@ b(b)m(y)f(a)g(digit)g(are)g(in)m(terpreted)g(as)g(timestamps)g(for)g
 2834 y(timestamps)23 b(are)g(optionally)h(displa)m(y)m(ed)f(dep)s
 (ending)e(on)i(the)g(v)-5 b(alue)23 b(of)g(the)f Ft(HISTTIMEFORMAT)d
 Fu(v)-5 b(ariable)150 2944 y(\(see)44 b(Section)g(5.2)h([Bash)f(V)-8
-b(ariables],)48 b(page)c(85\).)81 b(When)43 b(presen)m(t,)k(history)c
+b(ariables],)48 b(page)c(86\).)81 b(When)43 b(presen)m(t,)k(history)c
 (timestamps)h(delimit)150 3054 y(history)30 b(en)m(tries,)i(making)e(m)
 m(ulti-line)i(en)m(tries)f(p)s(ossible.)275 3187 y(When)36
 b(a)h(shell)f(with)g(history)h(enabled)f(exits,)j(Bash)e(copies)g(the)g
@@ -20125,7 +20147,7 @@ b(a)h(shell)f(with)g(history)h(enabled)f(exits,)j(Bash)e(copies)g(the)g
 y(the)32 b(history)g(list)g(to)h(the)f(\014le)g(named)f(b)m(y)h
 Ft($HISTFILE)p Fu(.)42 b(If)32 b(the)g Ft(histappend)d
 Fu(shell)j(option)g(is)g(set)g(\(see)150 3406 y(Section)27
-b(4.2)h([Bash)e(Builtins],)i(page)f(59\),)i(Bash)d(app)s(ends)f(the)h
+b(4.2)h([Bash)e(Builtins],)i(page)f(60\),)i(Bash)d(app)s(ends)f(the)h
 (en)m(tries)h(to)g(the)g(history)f(\014le,)i(otherwise)150
 3516 y(it)f(o)m(v)m(erwrites)h(the)e(history)h(\014le.)39
 b(If)26 b Ft(HISTFILE)e Fu(is)j(unset)f(or)g(n)m(ull,)h(or)g(if)f(the)h
@@ -20174,7 +20196,7 @@ Ft(cmdhist)e Fu(b)m(y)i(sa)m(ving)i(the)150 408 y(command)31
 b(with)g(em)m(b)s(edded)f(newlines)h(instead)g(of)h(semicolons.)44
 b(The)30 b Ft(shopt)g Fu(builtin)h(is)g(used)f(to)i(set)150
 518 y(these)f(options.)41 b(See)30 b(Section)i(4.3.2)g([The)e(Shopt)g
-(Builtin],)h(page)g(76,)g(for)g(a)f(description)h(of)f
+(Builtin],)h(page)g(77,)g(for)g(a)f(description)h(of)f
 Ft(shopt)p Fu(.)150 747 y Fs(9.2)68 b(Bash)45 b(History)h(Builtins)150
 907 y Fu(Bash)31 b(pro)m(vides)f(t)m(w)m(o)i(builtin)e(commands)g(whic)
 m(h)g(manipulate)g(the)h(history)f(list)h(and)f(history)g(\014le.)150
@@ -20230,7 +20252,7 @@ Fu(command)h(is)g Ft(r='fc)e(-s')p Fu(,)h(so)h(that)h(t)m(yping)f(`)p
 Ft(r)f(cc)p Fu(')630 4167 y(runs)35 b(the)h(last)h(command)f(b)s
 (eginning)g(with)g Ft(cc)f Fu(and)h(t)m(yping)g(`)p Ft(r)p
 Fu(')h(re-executes)h(the)e(last)630 4277 y(command)30
-b(\(see)h(Section)h(6.6)f([Aliases],)h(page)g(107\).)630
+b(\(see)h(Section)h(6.6)f([Aliases],)h(page)g(108\).)630
 4406 y(If)40 b(the)i(\014rst)e(form)g(is)h(used,)i(the)e(return)f(v)-5
 b(alue)41 b(is)g(zero)h(unless)e(an)h(in)m(v)-5 b(alid)42
 b(option)f(is)630 4515 y(encoun)m(tered)f(or)f Fr(\014rst)i
@@ -20349,7 +20371,7 @@ Fu(\(also)i(referred)d(to)j(as)f(history)f(substitution)h(where)f
 m(teractiv)m(e)k(shells,)d(and)f(can)g(b)s(e)g(disabled)g(using)150
 1888 y(the)36 b Ft(+H)f Fu(option)h(to)g(the)g Ft(set)f
 Fu(builtin)g(command)g(\(see)i(Section)f(4.3.1)h([The)f(Set)f
-(Builtin],)j(page)e(71\).)150 1997 y(Non-in)m(teractiv)m(e)h(shells)d
+(Builtin],)j(page)e(72\).)150 1997 y(Non-in)m(teractiv)m(e)h(shells)d
 (do)g(not)g(p)s(erform)e(history)i(expansion)g(b)m(y)g(default,)h(but)e
 (it)i(can)f(b)s(e)f(enabled)150 2107 y(with)d Ft(set)g(-H)p
 Fu(.)275 2256 y(History)h(expansions)f(in)m(tro)s(duce)g(w)m(ords)g
@@ -20430,7 +20452,7 @@ b(This)22 b(is)h(the)h(only)f(history)g(expansion)g(that)h(do)s(es)f
 (not)g(b)s(egin)g(with)g(the)g(history)g(expansion)150
 1212 y(c)m(haracter.)275 1358 y(Sev)m(eral)48 b(shell)g(options)h
 (settable)g(with)e(the)h Ft(shopt)f Fu(builtin)g(\(see)i(Section)f
-(4.3.2)i([The)e(Shopt)150 1468 y(Builtin],)31 b(page)f(76\))h(will)f
+(4.3.2)i([The)e(Shopt)150 1468 y(Builtin],)31 b(page)f(77\))h(will)f
 (mo)s(dify)f(history)g(expansion)h(b)s(eha)m(vior)f(If)g(the)h
 Ft(histverify)d Fu(shell)j(option)g(is)150 1577 y(enabled,)38
 b(and)d(Readline)i(is)f(b)s(eing)g(used,)h(history)f(substitutions)f
@@ -20454,7 +20476,7 @@ b(recall.)42 b(This)29 b(is)i(most)f(useful)g(in)g(conjunction)g(with)h
 (expansion)g(mec)m(h-)150 2636 y(anism)h(with)g(the)g
 Ft(histchars)d Fu(v)-5 b(ariable,)38 b(as)d(explained)g(ab)s(o)m(v)m(e)
 i(\(see)f(Section)f(5.2)i([Bash)e(V)-8 b(ariables],)150
-2746 y(page)32 b(85\).)44 b(The)31 b(shell)g(uses)g(the)g(history)g
+2746 y(page)32 b(86\).)44 b(The)31 b(shell)g(uses)g(the)g(history)g
 (commen)m(t)i(c)m(haracter)f(to)g(mark)f(history)g(timestamps)h(when)
 150 2855 y(writing)e(the)h(history)f(\014le.)150 3066
 y Fk(9.3.1)63 b(Ev)m(en)m(t)39 b(Designators)150 3213
@@ -21011,11 +21033,11 @@ Fu(')28 b(are)33 b(enabled)f(b)m(y)g(default,)h(unless)e(the)i(op)s
 y(the)e(necessary)f(supp)s(ort.)150 555 y Ft(--enable-alias)630
 664 y Fu(Allo)m(w)41 b(alias)g(expansion)f(and)f(include)g(the)h
 Ft(alias)f Fu(and)g Ft(unalias)e Fu(builtins)j(\(see)g(Sec-)630
-774 y(tion)31 b(6.6)g([Aliases],)i(page)e(107\).)150
+774 y(tion)31 b(6.6)g([Aliases],)i(page)e(108\).)150
 920 y Ft(--enable-alt-array-imple)o(ment)o(atio)o(n)630
 1029 y Fu(This)h(builds)g(Bash)h(using)f(an)g(alternate)j(implemen)m
 (tation)f(of)f(arra)m(ys)h(\(see)f(Section)h(6.7)630
-1139 y([Arra)m(ys],)43 b(page)d(108\))h(that)f(pro)m(vides)g(faster)g
+1139 y([Arra)m(ys],)43 b(page)d(109\))h(that)f(pro)m(vides)g(faster)g
 (access)h(at)f(the)g(exp)s(ense)f(of)h(using)f(more)630
 1249 y(memory)30 b(\(sometimes)i(man)m(y)e(times)h(more,)g(dep)s
 (ending)e(on)h(ho)m(w)h(sparse)f(an)g(arra)m(y)h(is\).)150
@@ -21026,7 +21048,7 @@ Ft(for)f Fu(command)h(that)h(b)s(eha)m(v)m(es)f(lik)m(e)i(the)630
 (3.2.5.1)i([Lo)s(oping)d(Constructs],)h(page)g(12\).)150
 1760 y Ft(--enable-array-variables)630 1870 y Fu(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 1979 y(ra)m(ys],)c(page)g(108\).)150
+b(\(see)h(Section)g(6.7)h([Ar-)630 1979 y(ra)m(ys],)c(page)g(109\).)150
 2125 y Ft(--enable-bang-history)630 2235 y Fu(Include)36
 b(supp)s(ort)f(for)h Ft(csh)p Fu(-lik)m(e)h(history)g(substitution)f
 (\(see)h(Section)g(9.3)h([History)f(In-)630 2345 y(teraction],)c(page)e
@@ -21034,7 +21056,7 @@ b(supp)s(ort)f(for)h Ft(csh)p Fu(-lik)m(e)h(history)g(substitution)f
 (lt)630 2600 y Fu(Set)21 b(the)f(default)h(v)-5 b(alue)21
 b(of)g(the)g Ft(bash_source_fullpath)15 b Fu(shell)20
 b(option)h(describ)s(ed)f(ab)s(o)m(v)m(e)630 2710 y(under)30
-b(Section)i(4.3.2)h([The)e(Shopt)g(Builtin],)h(page)g(76,)h(to)f(b)s(e)
+b(Section)i(4.3.2)h([The)e(Shopt)g(Builtin],)h(page)g(77,)h(to)f(b)s(e)
 f(enabled.)43 b(This)31 b(con)m(trols)630 2819 y(ho)m(w)f(\014lenames)h
 (are)g(assigned)f(to)h(the)g Ft(BASH_SOURCE)c Fu(arra)m(y)k(v)-5
 b(ariable.)150 2966 y Ft(--enable-brace-expansion)630
@@ -21086,19 +21108,19 @@ b(around.)39 b(This)27 b(has)g(implications)630 1249
 y(for)j(conditional)i(commands)e(that)h(test)g(\014le)g(attributes.)150
 1395 y Ft(--enable-direxpand-defau)o(lt)630 1504 y Fu(Cause)53
 b(the)g Ft(direxpand)d Fu(shell)j(option)h(\(see)g(Section)f(4.3.2)i
-([The)e(Shopt)f(Builtin],)630 1614 y(page)29 b(76\))g(to)f(b)s(e)f
+([The)e(Shopt)f(Builtin],)630 1614 y(page)29 b(77\))g(to)f(b)s(e)f
 (enabled)h(b)m(y)g(default)g(when)e(the)i(shell)g(starts.)41
 b(It)27 b(is)h(normally)g(disabled)630 1724 y(b)m(y)i(default.)150
 1870 y Ft(--enable-directory-stack)630 1979 y Fu(Include)j(supp)s(ort)g
 (for)h(a)g Ft(csh)p Fu(-lik)m(e)h(directory)f(stac)m(k)i(and)d(the)i
 Ft(pushd)p Fu(,)f Ft(popd)p Fu(,)g(and)f Ft(dirs)630
 2089 y Fu(builtins)d(\(see)h(Section)g(6.8)h([The)e(Directory)i(Stac)m
-(k],)g(page)f(110\).)150 2235 y Ft(--enable-disabled-builti)o(ns)630
+(k],)g(page)f(111\).)150 2235 y Ft(--enable-disabled-builti)o(ns)630
 2345 y Fu(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 Ft(builtin)29 b(xxx)p Fu(')37 b(ev)m(en)j(after)f
 Ft(xxx)e Fu(has)630 2454 y(b)s(een)31 b(disabled)g(using)g(`)p
 Ft(enable)d(-n)i(xxx)p Fu('.)43 b(See)32 b(Section)g(4.2)h([Bash)e
-(Builtins],)i(page)f(59,)630 2564 y(for)e(details)i(of)e(the)h
+(Builtins],)i(page)f(60,)630 2564 y(for)e(details)i(of)e(the)h
 Ft(builtin)d Fu(and)i Ft(enable)e Fu(builtin)i(commands.)150
 2710 y Ft(--enable-dparen-arithmet)o(ic)630 2819 y Fu(Include)42
 b(supp)s(ort)f(for)h(the)h Ft(\(\(...)o(\)\))f Fu(command)g(\(see)i
@@ -21110,7 +21132,7 @@ b(page)h(12\).)150 3075 y Ft(--enable-extended-glob)630
 (page)e(38.)150 3440 y Ft(--enable-extended-glob-d)o(efau)o(lt)630
 3550 y Fu(Set)37 b(the)f(default)h(v)-5 b(alue)37 b(of)f(the)h
 Ft(extglob)d Fu(shell)j(option)g(describ)s(ed)e(ab)s(o)m(v)m(e)j(under)
-c(Sec-)630 3660 y(tion)d(4.3.2)h([The)e(Shopt)g(Builtin],)h(page)g(76,)
+c(Sec-)630 3660 y(tion)d(4.3.2)h([The)e(Shopt)g(Builtin],)h(page)g(77,)
 h(to)f(b)s(e)f(enabled.)150 3806 y Ft(--enable-function-import)630
 3915 y Fu(Include)23 b(supp)s(ort)g(for)g(imp)s(orting)h(function)g
 (de\014nitions)f(exp)s(orted)h(b)m(y)g(another)g(instance)630
@@ -21120,14 +21142,14 @@ b(This)30 b(option)h(is)f(enabled)h(b)m(y)f(default.)150
 4281 y Fu(Set)f(the)f(default)h(v)-5 b(alue)29 b(of)f(the)h
 Ft(globasciiranges)24 b Fu(shell)29 b(option)g(describ)s(ed)e(ab)s(o)m
 (v)m(e)j(un-)630 4390 y(der)c(Section)i(4.3.2)h([The)d(Shopt)g
-(Builtin],)j(page)f(76,)g(to)g(b)s(e)e(enabled.)40 b(This)26
+(Builtin],)j(page)f(77,)g(to)g(b)s(e)e(enabled.)40 b(This)26
 b(con)m(trols)i(the)630 4500 y(b)s(eha)m(vior)40 b(of)f(c)m(haracter)i
 (ranges)f(when)f(used)f(in)i(pattern)f(matc)m(hing)i(brac)m(k)m(et)g
 (expres-)630 4609 y(sions.)150 4756 y Ft(--enable-help-builtin)630
 4865 y Fu(Include)24 b(the)h Ft(help)f Fu(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 4975 y(Section)31 b(4.2)h([Bash)e(Builtins],)i(page)f
-(59\).)150 5121 y Ft(--enable-history)630 5230 y Fu(Include)e(command)g
+(60\).)150 5121 y Ft(--enable-history)630 5230 y Fu(Include)e(command)g
 (history)h(and)f(the)h Ft(fc)f Fu(and)g Ft(history)e
 Fu(builtin)j(commands)f(\(see)h(Sec-)630 5340 y(tion)h(9.1)g([Bash)g
 (History)g(F)-8 b(acilities],)34 b(page)d(165\).)p eop
@@ -21161,7 +21183,7 @@ y Fu(T)-8 b(urn)30 b(on)i(the)f(in)m(terpretation)i(of)f(a)g(n)m(um)m
 2500 y Ft($PS0)p Fu(,)36 b Ft($PS1)p Fu(,)g Ft($PS2)p
 Fu(,)h(and)e Ft($PS4)f Fu(prompt)h(strings.)57 b(See)36
 b(Section)h(6.9)g([Con)m(trolling)g(the)630 2609 y(Prompt],)30
-b(page)h(111,)h(for)f(a)f(complete)i(list)f(of)g(prompt)e(string)i
+b(page)h(112,)h(for)f(a)f(complete)i(list)f(of)g(prompt)e(string)i
 (escap)s(e)f(sequences.)150 2765 y Ft(--enable-readline)630
 2874 y Fu(Include)e(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 2984
@@ -21171,7 +21193,7 @@ y(the)i(Readline)g(library)f(\(see)h(Chapter)f(8)g([Command)g(Line)g
 Fu(.)39 b(If)25 b(this)g(is)h(enabled,)g(Bash)g(en)m(ters)g(a)f
 (restricted)630 3358 y(mo)s(de)30 b(when)f(called)i(as)g
 Ft(rbash)p Fu(.)39 b(See)30 b(Section)h(6.10)h([The)e(Restricted)h
-(Shell],)f(page)h(113,)630 3468 y(for)f(a)h(description)f(of)h
+(Shell],)f(page)h(114,)630 3468 y(for)f(a)h(description)f(of)h
 (restricted)g(mo)s(de.)150 3623 y Ft(--enable-select)630
 3733 y Fu(Include)42 b(the)h Ft(select)d Fu(comp)s(ound)i(command,)j
 (whic)m(h)d(allo)m(ws)i(generation)g(of)f(simple)630
@@ -21186,7 +21208,7 @@ b(ma)m(y)g(need)630 4326 y(to)c(disable)g(this)f(if)g(y)m(our)h
 4482 y Ft(--enable-strict-posix-de)o(faul)o(t)630 4591
 y Fu(Mak)m(e)c(Bash)f Fm(posix)p Fu(-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
-4701 y(page)31 b(114\).)150 4856 y Ft(--enable-translatable-st)o(ring)o
+4701 y(page)31 b(115\).)150 4856 y Ft(--enable-translatable-st)o(ring)o
 (s)630 4966 y Fu(Enable)h(supp)s(ort)e(for)i Ft($")p
 Fj(string)p Ft(")e Fu(translatable)j(strings)f(\(see)h(Section)g
 (3.1.2.5)h([Lo)s(cale)630 5075 y(T)-8 b(ranslation],)32
@@ -21205,7 +21227,7 @@ b(alue)24 b(of)g(the)g Ft(xpg_echo)e Fu(shell)h(option)630
 Ft(echo)f Fu(b)s(eha)m(v)m(e)i(more)g(lik)m(e)h(the)e(v)m(ersion)h(sp)s
 (eci\014ed)f(in)g(the)630 737 y(Single)35 b(Unix)f(Sp)s(eci\014cation,)
 i(v)m(ersion)e(3.)53 b(See)35 b(Section)g(4.2)g([Bash)g(Builtins],)h
-(page)f(59,)630 847 y(for)30 b(a)h(description)f(of)h(the)f(escap)s(e)h
+(page)f(60,)630 847 y(for)30 b(a)h(description)f(of)h(the)f(escap)s(e)h
 (sequences)g(that)g Ft(echo)e Fu(recognizes.)275 1006
 y(The)f(\014le)i Ft(config-top.h)c Fu(con)m(tains)31
 b(C)d(Prepro)s(cessor)h(`)p Ft(#define)p Fu(')f(statemen)m(ts)j(for)f
@@ -21274,12 +21296,12 @@ f(baseline)h(reference.)225 1307 y Fq(\017)60 b Fu(Bash)32
 b(is)h Fm(posix)p Fu(-conforman)m(t,)g(ev)m(en)g(where)f(the)g
 Fm(posix)g Fu(sp)s(eci\014cation)h(di\013ers)f(from)g(traditional)330
 1417 y Ft(sh)e Fu(b)s(eha)m(vior)g(\(see)i(Section)f(6.11)h([Bash)e
-(POSIX)g(Mo)s(de],)h(page)g(114\).)225 1548 y Fq(\017)60
+(POSIX)g(Mo)s(de],)h(page)g(115\).)225 1548 y Fq(\017)60
 b Fu(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
-(98\).)225 1680 y Fq(\017)60 b Fu(The)46 b(Bash)h(restricted)g(mo)s(de)
+(99\).)225 1680 y Fq(\017)60 b Fu(The)46 b(Bash)h(restricted)g(mo)s(de)
 f(is)h(more)f(useful)g(\(see)h(Section)h(6.10)g([The)e(Restricted)i
-(Shell],)330 1789 y(page)31 b(113\);)h(the)f(SVR4.2)g(shell)g
+(Shell],)330 1789 y(page)31 b(114\);)h(the)f(SVR4.2)g(shell)g
 (restricted)g(mo)s(de)f(is)g(to)s(o)h(limited.)225 1921
 y Fq(\017)60 b Fu(Bash)40 b(has)f(command-line)h(editing)g(\(see)h
 (Chapter)e(8)h([Command)f(Line)g(Editing],)k(page)d(128\))330
@@ -21293,7 +21315,7 @@ y Fq(\017)60 b Fu(Bash)46 b(pro)m(vides)g(a)g(programmable)g(w)m(ord)f
 h(bac)m(kslash-escap)s(e)i(sequences)e(in)g(the)g(prompt)f(string)h(v)
 -5 b(ariables)330 2622 y(\()p Ft(PS0)p Fu(,)30 b Ft(PS1)p
 Fu(,)g Ft(PS2)p Fu(,)g(and)f Ft(PS4)p Fu(\))h(\(see)h(Section)h(6.9)f
-([Con)m(trolling)h(the)e(Prompt],)h(page)g(111\).)225
+([Con)m(trolling)h(the)e(Prompt],)h(page)g(112\).)225
 2754 y Fq(\017)60 b Fu(Bash)31 b(expands)e(and)h(displa)m(ys)g(the)h
 Ft(PS0)e Fu(prompt)h(string)g(v)-5 b(ariable.)225 2885
 y Fq(\017)60 b Fu(Bash)45 b(runs)e(commands)i(from)f(the)i
@@ -21329,7 +21351,7 @@ b Fu(Bash)27 b(includes)g(brace)h(expansion)f(\(see)h(Section)g(3.5.1)i
 (page)h(26\).)225 4770 y Fq(\017)60 b Fu(Bash)24 b(implemen)m(ts)h
 (command)e(aliases)j(and)d(the)i Ft(alias)d Fu(and)i
 Ft(unalias)e Fu(builtins)h(\(see)i(Section)g(6.6)330
-4880 y([Aliases],)32 b(page)f(107\).)225 5011 y Fq(\017)60
+4880 y([Aliases],)32 b(page)f(108\).)225 5011 y Fq(\017)60
 b Fu(Bash)44 b(implemen)m(ts)g(the)f Ft(!)h Fu(k)m(eyw)m(ord)g(to)g
 (negate)h(the)f(return)e(v)-5 b(alue)44 b(of)g(a)g(pip)s(eline)f(\(see)
 h(Sec-)330 5121 y(tion)31 b(3.2.3)h([Pip)s(elines],)e(page)h(10\).)42
@@ -21339,7 +21361,7 @@ b(if)g(a)g(test)h(fails.)39 b(The)23 b(Bash)h(`)p Ft(-o)30
 b(pipefail)p Fu(')22 b(option)i(to)h Ft(set)d Fu(will)j(cause)f(a)g
 (pip)s(eline)f(to)i(return)330 5340 y(a)31 b(failure)f(status)h(if)f
 (an)m(y)h(command)f(fails)h(\(see)g(Section)h(4.3.1)g([The)e(Set)g
-(Builtin],)i(page)f(71\).)p eop end
+(Builtin],)i(page)f(72\).)p eop end
 %%Page: 183 189
 TeXDict begin 183 188 bop 150 -116 a Fu(App)s(endix)29
 b(B:)i(Ma)5 b(jor)31 b(Di\013erences)g(F)-8 b(rom)31
@@ -21378,9 +21400,9 @@ b(`)p Ft(;&)p Fu(')37 b(and)f(`)p Ft(;;&)p Fu(')h(\(see)330
 (Section)g(3.2.5.2)h([Condi-)330 2418 y(tional)h(Constructs],)f(page)g
 (12\),)h(the)f Ft(let)e Fu(builtin,)i(and)f(arithmetic)h(expansion)f
 (\(see)i(Section)f(6.5)330 2527 y([Shell)j(Arithmetic],)i(page)f
-(105\).)225 2673 y Fq(\017)60 b Fu(Bash)29 b(has)h(one-dimensional)g
+(106\).)225 2673 y Fq(\017)60 b Fu(Bash)29 b(has)h(one-dimensional)g
 (arra)m(y)f(v)-5 b(ariables)30 b(\(see)h(Section)f(6.7)g([Arra)m(ys],)h
-(page)f(108\),)h(and)e(the)330 2783 y(appropriate)39
+(page)f(109\),)h(and)e(the)330 2783 y(appropriate)39
 b(v)-5 b(ariable)40 b(expansions)f(and)g(assignmen)m(t)h(syn)m(tax)g
 (to)g(use)f(them.)67 b(Sev)m(eral)40 b(of)g(the)330 2892
 y(Bash)32 b(builtins)f(tak)m(e)j(options)e(to)h(act)g(on)e(arra)m(ys.)
@@ -21470,7 +21492,7 @@ Fu(,)f(and)330 2447 y Ft(HOSTNAME)p Fu(\),)55 b(and)c(the)g(instance)h
 (of)g(Bash)f(that)h(is)f(running)f(\()p Ft(BASH)p Fu(,)56
 b Ft(BASH_VERSION)p Fu(,)e(and)330 2556 y Ft(BASH_VERSINFO)p
 Fu(\).)37 b(See)31 b(Section)g(5.2)h([Bash)e(V)-8 b(ariables],)33
-b(page)e(85,)g(for)f(details.)225 2695 y Fq(\017)60 b
+b(page)e(86,)g(for)f(details.)225 2695 y Fq(\017)60 b
 Fu(Bash)37 b(uses)f(man)m(y)g(v)-5 b(ariables)37 b(to)g(pro)m(vide)g
 (functionalit)m(y)h(and)d(customize)j(shell)f(b)s(eha)m(vior)f(that)330
 2805 y(the)55 b(Bourne)g(shell)g(do)s(es)f(not.)114 b(Examples)55
@@ -21479,7 +21501,7 @@ Ft(EPOCHSECONDS)p Fu(,)330 2914 y Ft(EPOCHREALTIME)p
 Fu(,)49 b Ft(TIMEFORMAT)p Fu(,)h Ft(BASHPID)p Fu(,)h
 Ft(BASH_XTRACEFD)p Fu(,)e Ft(GLOBIGNORE)p Fu(,)g Ft(HISTIGNORE)p
 Fu(,)330 3024 y(and)30 b Ft(BASH_VERSION)p Fu(.)37 b(See)31
-b(Section)g(5.2)g([Bash)g(V)-8 b(ariables],)32 b(page)g(85,)f(for)f(a)h
+b(Section)g(5.2)g([Bash)g(V)-8 b(ariables],)32 b(page)g(86,)f(for)f(a)h
 (complete)h(list.)225 3163 y Fq(\017)60 b Fu(Bash)38
 b(uses)g(the)g Ft(GLOBSORT)d Fu(shell)j(v)-5 b(ariable)39
 b(to)g(con)m(trol)g(ho)m(w)f(to)h(sort)f(the)g(results)g(of)g
@@ -21517,7 +21539,7 @@ Fu(Bash)30 b(functions)e(are)i(p)s(ermitted)f(to)h(ha)m(v)m(e)h(lo)s
 (cal)g(v)-5 b(ariables)30 b(using)f(the)g Ft(local)f
 Fu(builtin,)i(and)e(th)m(us)330 5340 y(users)i(can)g(write)h(useful)e
 (recursiv)m(e)i(functions)f(\(see)h(Section)h(4.2)f([Bash)g(Builtins],)
-g(page)g(59\).)p eop end
+g(page)g(60\).)p eop end
 %%Page: 185 191
 TeXDict begin 185 190 bop 150 -116 a Fu(App)s(endix)29
 b(B:)i(Ma)5 b(jor)31 b(Di\013erences)g(F)-8 b(rom)31
@@ -21557,7 +21579,7 @@ b(ar)47 b Fu(\(see)42 b(Section)g(3.6)g([Redirections],)k(page)c(40\).)
 2244 y Fq(\017)60 b Fu(The)29 b Ft(noclobber)e Fu(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 2354 y(rection)39
-b(\(see)h(Section)f(4.3.1)h([The)e(Set)h(Builtin],)i(page)e(71\).)66
+b(\(see)h(Section)f(4.3.1)h([The)e(Set)h(Builtin],)i(page)e(72\).)66
 b(The)38 b(`)p Ft(>|)p Fu(')h(redirection)g(op)s(erator)330
 2463 y(ma)m(y)31 b(b)s(e)f(used)f(to)i(o)m(v)m(erride)h
 Ft(noclobber)p Fu(.)225 2600 y Fq(\017)60 b Fu(V)-8 b(ariable)25
@@ -21578,7 +21600,7 @@ y Fq(\017)60 b Fu(Bash)34 b(implemen)m(ts)h(a)g Ft(csh)p
 Fu(-lik)m(e)g(directory)f(stac)m(k,)j(and)d(pro)m(vides)g(the)g
 Ft(pushd)p Fu(,)g Ft(popd)p Fu(,)g(and)g Ft(dirs)330
 3422 y Fu(builtins)d(to)i(manipulate)f(it)h(\(see)g(Section)f(6.8)h
-([The)f(Directory)h(Stac)m(k],)h(page)f(110\).)47 b(Bash)32
+([The)f(Directory)h(Stac)m(k],)h(page)f(111\).)47 b(Bash)32
 b(also)330 3532 y(mak)m(es)f(the)g(directory)g(stac)m(k)g(visible)g(as)
 g(the)f(v)-5 b(alue)31 b(of)g(the)f Ft(DIRSTACK)f Fu(shell)h(v)-5
 b(ariable.)225 3669 y Fq(\017)60 b Fu(Bash)25 b(allo)m(ws)h(a)g
@@ -21586,22 +21608,22 @@ b(ariable.)225 3669 y Fq(\017)60 b Fu(Bash)25 b(allo)m(ws)h(a)g
 (name,)i(and)d(pro)m(vides)h(access)h(to)330 3778 y(that)34
 b(builtin's)f(functionalit)m(y)h(within)f(the)g(function)g(via)h(the)f
 Ft(builtin)f Fu(and)g Ft(command)g Fu(builtins)330 3888
-y(\(see)f(Section)h(4.2)f([Bash)g(Builtins],)g(page)g(59\).)225
+y(\(see)f(Section)h(4.2)f([Bash)g(Builtins],)g(page)g(60\).)225
 4025 y Fq(\017)60 b Fu(Bash)44 b(includes)f(the)g Ft(caller)f
-Fu(builtin)h(\(see)h(Section)g(4.2)h([Bash)f(Builtins],)j(page)d(59\),)
+Fu(builtin)h(\(see)h(Section)g(4.2)h([Bash)f(Builtins],)j(page)d(60\),)
 k(whic)m(h)330 4134 y(displa)m(ys)29 b(the)g(con)m(text)i(of)e(an)m(y)g
 (activ)m(e)i(subroutine)d(call)j(\(a)e(shell)g(function)g(or)g(a)g
 (script)g(executed)330 4244 y(with)h(the)h Ft(.)f Fu(or)g
 Ft(source)f Fu(builtins\).)40 b(This)30 b(supp)s(orts)e(the)j(Bash)f
 (debugger.)225 4381 y Fq(\017)60 b Fu(The)34 b(Bash)g
 Ft(cd)g Fu(and)f Ft(pwd)g Fu(builtins)h(\(see)h(Section)g(4.1)g
-([Bourne)g(Shell)f(Builtins],)h(page)g(50\))h(eac)m(h)330
+([Bourne)g(Shell)f(Builtins],)h(page)g(51\))h(eac)m(h)330
 4491 y(tak)m(e)c Ft(-L)e Fu(and)f Ft(-P)h Fu(options)h(to)g(switc)m(h)g
 (b)s(et)m(w)m(een)g(logical)i(and)c(ph)m(ysical)i(mo)s(des.)225
 4628 y Fq(\017)60 b Fu(The)32 b Ft(command)e Fu(builtin)h(allo)m(ws)j
 (selectiv)m(ely)h(skipping)c(shell)h(functions)g(when)f(p)s(erforming)g
 (com-)330 4737 y(mand)f(lo)s(okup)g(\(see)h(Section)g(4.2)g([Bash)g
-(Builtins],)g(page)h(59\).)225 4874 y Fq(\017)60 b Fu(Bash)25
+(Builtins],)g(page)h(60\).)225 4874 y Fq(\017)60 b Fu(Bash)25
 b(uses)f(the)h Ft(declare)e Fu(builtin)h(to)h(mo)s(dify)f(the)h(full)f
 (set)h(of)g(v)-5 b(ariable)26 b(and)e(function)g(attributes,)330
 4984 y(and)30 b(to)h(assign)g(v)-5 b(alues)30 b(to)h(v)-5
@@ -21617,7 +21639,7 @@ TeXDict begin 186 191 bop 150 -116 a Fu(App)s(endix)29
 b(B:)i(Ma)5 b(jor)31 b(Di\013erences)g(F)-8 b(rom)31
 b(The)f(Bourne)g(Shell)1258 b(186)225 299 y Fq(\017)60
 b Fu(The)40 b Ft(enable)e Fu(builtin)i(\(see)h(Section)g(4.2)g([Bash)f
-(Builtins],)k(page)c(59\))i(can)e(enable)h(or)f(disable)330
+(Builtins],)k(page)c(60\))i(can)e(enable)h(or)f(disable)330
 408 y(individual)28 b(builtins)h(and)f(implemen)m(ts)i(supp)s(ort)d
 (for)i(dynamically)h(loading)g(builtin)e(commands)330
 518 y(from)i(shared)g(ob)5 b(jects.)225 661 y Fq(\017)60
@@ -21626,14 +21648,14 @@ b Fu(The)26 b(Bash)h Ft(exec)e Fu(builtin)h(tak)m(es)i(additional)f
 m(ts)330 771 y(of)35 b(the)f(en)m(vironmen)m(t)h(passed)f(to)h(the)g
 (executed)g(command,)h(and)d(what)i(the)f(zeroth)h(argumen)m(t)330
 881 y(to)c(the)g(command)f(is)g(to)h(b)s(e)f(\(see)h(Section)h(4.1)f
-([Bourne)f(Shell)h(Builtins],)g(page)g(50\).)225 1024
+([Bourne)f(Shell)h(Builtins],)g(page)g(51\).)225 1024
 y Fq(\017)60 b Fu(Shell)29 b(functions)g(ma)m(y)h(b)s(e)f(exp)s(orted)g
 (to)h(c)m(hildren)f(via)h(the)g(en)m(vironmen)m(t)g(using)f
 Ft(export)f(-f)h Fu(\(see)330 1133 y(Section)i(3.3)h([Shell)e(F)-8
 b(unctions],)32 b(page)f(19\).)225 1277 y Fq(\017)60
 b Fu(The)48 b(Bash)g Ft(export)f Fu(and)h Ft(readonly)e
 Fu(builtins)i(\(see)h(Section)g(4.1)h([Bourne)e(Shell)g(Builtins],)330
-1386 y(page)28 b(50,)h(can)f(tak)m(e)h(a)e Ft(-f)g Fu(option)h(to)g
+1386 y(page)28 b(51,)h(can)f(tak)m(e)h(a)e Ft(-f)g Fu(option)h(to)g
 (act)g(on)f(shell)h(functions,)g(a)f Ft(-p)g Fu(option)h(to)g(displa)m
 (y)f(v)-5 b(ariables)330 1496 y(with)23 b(v)-5 b(arious)24
 b(attributes)g(set)g(in)f(a)h(format)g(that)g(can)g(b)s(e)f(used)g(as)h
@@ -21647,28 +21669,28 @@ e(name)g(to)g(b)s(e)f(asso)s(ciated)j(with)d(an)h(arbitrary)f
 (\014lename,)330 1968 y(ev)m(en)30 b(when)e(that)h(\014lename)g(cannot)
 h(b)s(e)e(found)g(b)m(y)h(searc)m(hing)g(the)g Ft($PATH)p
 Fu(,)g(using)f(`)p Ft(hash)h(-p)p Fu(')g(\(see)330 2078
-y(Section)i(4.1)h([Bourne)e(Shell)g(Builtins],)h(page)h(50\).)225
+y(Section)i(4.1)h([Bourne)e(Shell)g(Builtins],)h(page)h(51\).)225
 2221 y Fq(\017)60 b Fu(Bash)27 b(includes)f(a)i Ft(help)d
 Fu(builtin)i(for)f(quic)m(k)h(reference)h(to)f(shell)g(facilities)i
-(\(see)f(Section)g(4.2)g([Bash)330 2330 y(Builtins],)j(page)g(59\).)225
+(\(see)f(Section)g(4.2)g([Bash)330 2330 y(Builtins],)j(page)g(60\).)225
 2474 y Fq(\017)60 b Fu(Bash)27 b(includes)f(the)h Ft(mapfile)e
 Fu(builtin)i(to)g(quic)m(kly)h(read)e(the)h(con)m(ten)m(ts)i(of)e(a)g
 (\014le)g(in)m(to)h(an)e(indexed)330 2583 y(arra)m(y)31
 b(v)-5 b(ariable)31 b(\(see)g(Section)h(4.2)f([Bash)g(Builtins],)g
-(page)g(59\).)225 2727 y Fq(\017)60 b Fu(The)42 b Ft(printf)g
+(page)g(60\).)225 2727 y Fq(\017)60 b Fu(The)42 b Ft(printf)g
 Fu(builtin)g(is)h(a)m(v)-5 b(ailable)45 b(to)f(displa)m(y)f(formatted)g
 (output)g(\(see)h(Section)g(4.2)g([Bash)330 2836 y(Builtins],)27
-b(page)f(59\),)h(and)e(has)f(additional)i(custom)g(format)f(sp)s
+b(page)f(60\),)h(and)e(has)f(additional)i(custom)g(format)f(sp)s
 (eci\014ers)f(and)h(an)f(option)i(to)g(assign)330 2946
 y(the)31 b(formatted)g(output)f(directly)h(to)g(a)f(shell)h(v)-5
 b(ariable.)225 3089 y Fq(\017)60 b Fu(The)26 b(Bash)h
 Ft(read)f Fu(builtin)g(\(see)i(Section)g(4.2)g([Bash)f(Builtins],)h
-(page)g(59\))g(will)f(read)g(a)g(line)g(ending)330 3199
+(page)g(60\))g(will)f(read)g(a)g(line)g(ending)330 3199
 y(in)i(`)p Ft(\\)p Fu(')h(with)f(the)g Ft(-r)g Fu(option,)i(and)d(will)
 i(use)f(the)h Ft(REPLY)e Fu(v)-5 b(ariable)30 b(as)g(a)f(default)h(if)f
 (no)h(non-option)330 3308 y(argumen)m(ts)h(are)f(supplied.)225
 3452 y Fq(\017)60 b Fu(The)38 b Ft(read)g Fu(builtin)g(\(see)i(Section)
-g(4.2)g([Bash)f(Builtins],)j(page)e(59\))g(accepts)g(a)f(prompt)f
+g(4.2)g([Bash)f(Builtins],)j(page)e(60\))g(accepts)g(a)f(prompt)f
 (string)330 3561 y(with)d(the)g Ft(-p)g Fu(option)g(and)g(will)g(use)g
 (Readline)h(to)g(obtain)f(the)h(line)f(when)f(giv)m(en)j(the)e
 Ft(-e)f Fu(or)i Ft(-E)330 3671 y Fu(options,)42 b(with)c(the)h(abilit)m
@@ -21688,33 +21710,33 @@ Fu(option)h(will)330 4219 y(read)30 b(un)m(til)h(a)g(particular)f(c)m
 b Fu(The)33 b Ft(return)e Fu(builtin)i(ma)m(y)g(b)s(e)g(used)f(to)i(ab)
 s(ort)f(execution)h(of)f(scripts)g(executed)h(with)f(the)g
 Ft(.)g Fu(or)330 4472 y Ft(source)c Fu(builtins)g(\(see)j(Section)f
-(4.1)g([Bourne)g(Shell)f(Builtins],)h(page)g(50\).)225
+(4.1)g([Bourne)g(Shell)f(Builtins],)h(page)g(51\).)225
 4615 y Fq(\017)60 b Fu(Bash)45 b(has)f(m)m(uc)m(h)g(more)h(optional)h
 (b)s(eha)m(vior)e(con)m(trollable)j(with)e(the)f Ft(set)g
 Fu(builtin)g(\(see)h(Sec-)330 4725 y(tion)31 b(4.3.1)h([The)e(Set)h
-(Builtin],)g(page)g(71\).)225 4868 y Fq(\017)60 b Fu(The)36
+(Builtin],)g(page)g(72\).)225 4868 y Fq(\017)60 b Fu(The)36
 b Ft(-x)f Fu(\()p Ft(xtrace)p Fu(\))g(option)i(displa)m(ys)f(commands)g
 (other)g(than)g(simple)g(commands)g(when)f(p)s(er-)330
 4977 y(forming)30 b(an)g(execution)i(trace)f(\(see)h(Section)f(4.3.1)h
-([The)e(Set)h(Builtin],)g(page)g(71\).)225 5121 y Fq(\017)60
+([The)e(Set)h(Builtin],)g(page)g(72\).)225 5121 y Fq(\017)60
 b Fu(Bash)43 b(includes)g(the)g Ft(shopt)f Fu(builtin,)k(for)d(\014ner)
 f(con)m(trol)j(of)e(shell)h(optional)g(capabilities)h(\(see)330
-5230 y(Section)c(4.3.2)g([The)f(Shopt)f(Builtin],)k(page)d(76\),)k(and)
+5230 y(Section)c(4.3.2)g([The)f(Shopt)f(Builtin],)k(page)d(77\),)k(and)
 39 b(allo)m(ws)i(these)f(options)h(to)f(b)s(e)f(set)i(and)330
 5340 y(unset)30 b(at)h(shell)g(in)m(v)m(o)s(cation)h(\(see)f(Section)h
-(6.1)f([In)m(v)m(oking)g(Bash],)g(page)h(98\).)p eop
+(6.1)f([In)m(v)m(oking)g(Bash],)g(page)h(99\).)p eop
 end
 %%Page: 187 193
 TeXDict begin 187 192 bop 150 -116 a Fu(App)s(endix)29
 b(B:)i(Ma)5 b(jor)31 b(Di\013erences)g(F)-8 b(rom)31
 b(The)f(Bourne)g(Shell)1258 b(187)225 299 y Fq(\017)60
 b Fu(The)28 b Ft(test)g Fu(builtin)h(\(see)h(Section)f(4.1)h([Bourne)f
-(Shell)g(Builtins],)h(page)g(50\))g(is)f(sligh)m(tly)h(di\013eren)m(t,)
+(Shell)g(Builtins],)h(page)g(51\))g(is)f(sligh)m(tly)h(di\013eren)m(t,)
 330 408 y(as)23 b(it)g(implemen)m(ts)f(the)h Fm(posix)f
 Fu(algorithm,)j(whic)m(h)d(sp)s(eci\014es)g(the)h(b)s(eha)m(vior)f
 (based)g(on)h(the)f(n)m(um)m(b)s(er)330 518 y(of)31 b(argumen)m(ts.)225
 646 y Fq(\017)60 b Fu(The)42 b Ft(trap)f Fu(builtin)h(\(see)i(Section)f
-(4.1)h([Bourne)e(Shell)g(Builtins],)47 b(page)c(50\))h(allo)m(ws)g(a)e
+(4.1)h([Bourne)e(Shell)g(Builtins],)47 b(page)c(51\))h(allo)m(ws)g(a)e
 Ft(DEBUG)330 755 y Fu(pseudo-signal)c(sp)s(eci\014cation,)i(similar)e
 (to)g Ft(EXIT)p Fu(.)62 b(Commands)36 b(sp)s(eci\014ed)h(with)g(a)h
 Ft(DEBUG)e Fu(trap)330 865 y(are)k(executed)g(b)s(efore)f(ev)m(ery)h
@@ -21730,7 +21752,7 @@ Ft(functrace)d Fu(option)j(has)f(b)s(een)g(enabled)g(using)330
 Ft(extdebug)f Fu(shell)i(option)g(has)f(additional)h(e\013ects)h(on)f
 (the)g Ft(DEBUG)e Fu(trap.)330 1431 y(The)21 b Ft(trap)e
 Fu(builtin)i(\(see)h(Section)g(4.1)g([Bourne)f(Shell)g(Builtins],)j
-(page)e(50\))g(allo)m(ws)g(an)f Ft(ERR)f Fu(pseudo-)330
+(page)e(51\))g(allo)m(ws)g(an)f Ft(ERR)f Fu(pseudo-)330
 1540 y(signal)30 b(sp)s(eci\014cation,)h(similar)f(to)g
 Ft(EXIT)f Fu(and)g Ft(DEBUG)p Fu(.)39 b(Commands)28 b(sp)s(eci\014ed)h
 (with)g(an)g Ft(ERR)g Fu(trap)330 1650 y(are)40 b(executed)g(after)g(a)
@@ -21739,7 +21761,7 @@ b(The)39 b Ft(ERR)g Fu(trap)g(is)330 1760 y(not)g(inherited)f(b)m(y)h
 (shell)g(functions)f(unless)g(the)h Ft(-o)29 b(errtrace)37
 b Fu(option)i(to)g(the)g Ft(set)f Fu(builtin)g(is)330
 1869 y(enabled.)330 1997 y(The)g Ft(trap)g Fu(builtin)h(\(see)g
-(Section)h(4.1)g([Bourne)f(Shell)g(Builtins],)i(page)f(50\))g(allo)m
+(Section)h(4.1)g([Bourne)f(Shell)g(Builtins],)i(page)f(51\))g(allo)m
 (ws)g(a)g Ft(RETURN)330 2107 y Fu(pseudo-signal)f(sp)s(eci\014cation,)k
 (similar)d(to)g Ft(EXIT)e Fu(and)g Ft(DEBUG)p Fu(.)66
 b(Commands)38 b(sp)s(eci\014ed)h(with)g(a)330 2216 y
@@ -21754,15 +21776,15 @@ g(the)g Ft(shopt)f Fu(builtin.)225 2673 y Fq(\017)60
 b Fu(The)30 b(Bash)g Ft(type)f Fu(builtin)h(is)g(more)g(extensiv)m(e)i
 (and)d(giv)m(es)j(more)e(information)h(ab)s(out)f(the)g(names)330
 2782 y(it)h(\014nds)e(\(see)i(Section)g(4.2)h([Bash)e(Builtins],)i
-(page)f(59\).)225 2910 y Fq(\017)60 b Fu(The)37 b Ft(ulimit)f
+(page)f(60\).)225 2910 y Fq(\017)60 b Fu(The)37 b Ft(ulimit)f
 Fu(builtin)h(pro)m(vides)g(con)m(trol)i(o)m(v)m(er)g(man)m(y)e(more)h
 (p)s(er-pro)s(cess)e(resources)i(\(see)g(Sec-)330 3019
-y(tion)31 b(4.2)g([Bash)g(Builtins],)g(page)g(59\).)225
+y(tion)31 b(4.2)g([Bash)g(Builtins],)g(page)g(60\).)225
 3147 y Fq(\017)60 b Fu(The)41 b(Bash)i Ft(umask)d Fu(builtin)i(uses)f
 (the)h Ft(-p)g Fu(option)g(to)h(displa)m(y)f(the)g(output)g(in)g(the)g
 (form)f(of)i(a)330 3257 y Ft(umask)29 b Fu(command)i(that)h(ma)m(y)f(b)
 s(e)f(reused)h(as)g(input)f(\(see)i(Section)f(4.1)h([Bourne)f(Shell)g
-(Builtins],)330 3366 y(page)g(50\).)225 3494 y Fq(\017)60
+(Builtins],)330 3366 y(page)g(51\).)225 3494 y Fq(\017)60
 b Fu(The)41 b(Bash)h Ft(wait)e Fu(builtin)h(has)g(a)h
 Ft(-n)f Fu(option)h(to)g(w)m(ait)h(for)e(the)h(next)f(c)m(hild)h(to)g
 (exit,)k(p)s(ossibly)330 3603 y(selecting)36 b(from)d(a)i(list)g(of)f
@@ -21782,7 +21804,7 @@ Ft(SHACCT)d Fu(v)-5 b(ariable)32 b(or)e(p)s(erform)f(shell)i(accoun)m
 Fu(uses)g(a)g Ft(TIMEOUT)f Fu(v)-5 b(ariable)31 b(lik)m(e)h(Bash)e
 (uses)g Ft(TMOUT)p Fu(.)150 4607 y(More)h(features)g(unique)e(to)i
 (Bash)g(ma)m(y)g(b)s(e)f(found)f(in)h(Chapter)f(6)i([Bash)g(F)-8
-b(eatures],)32 b(page)f(98.)150 4834 y Fs(B.1)67 b(Implemen)l(tation)48
+b(eatures],)32 b(page)f(99.)150 4834 y Fs(B.1)67 b(Implemen)l(tation)48
 b(Di\013erences)e(F)-11 b(rom)44 b(The)h(SVR4.2)g(Shell)150
 4993 y Fu(Since)33 b(Bash)h(is)f(a)g(completely)i(new)e(implemen)m
 (tation,)j(it)e(do)s(es)e(not)i(su\013er)e(from)h(man)m(y)g(of)h(the)f
@@ -22478,39 +22500,39 @@ b(Index)45 b(of)g(Shell)g(Builtin)g(Commands)146 806
 y(.)150 922 y Fe(.)19 b Fc(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
 (:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)
 f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)33 b Fb(50)146 1157 y Fs(:)150 1273 y Fe(:)19 b Fc(:)13
+(:)33 b Fb(51)146 1157 y Fs(:)150 1273 y Fe(:)19 b Fc(:)13
 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
 (:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)33 b Fb(50)146
+f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)33 b Fb(51)146
 1510 y Fs([)150 1626 y Fe([)19 b Fc(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g
 (:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
 g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)33 b Fb(55)146 1862 y Fs(A)150 1978 y Fe(alias)9
+(:)g(:)g(:)33 b Fb(56)146 1862 y Fs(A)150 1978 y Fe(alias)9
 b Fc(:)14 b(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
 (:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)23 b Fb(59)146 2213 y
+g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)23 b Fb(60)146 2213 y
 Fs(B)150 2329 y Fe(bg)14 b Fc(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
 (:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
 g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)29
 b Fb(124)150 2416 y Fe(bind)11 b Fc(:)j(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g
 (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
 h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)25
-b Fb(59)150 2503 y Fe(break)9 b Fc(:)14 b(:)f(:)g(:)g(:)g(:)h(:)f(:)g
+b Fb(60)150 2503 y Fe(break)9 b Fc(:)14 b(:)f(:)g(:)g(:)g(:)h(:)f(:)g
 (:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
 g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)23
-b Fb(51)150 2590 y Fe(builtin)f Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+b Fb(52)150 2590 y Fe(builtin)f Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g
 (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
 h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)35
-b Fb(61)146 2825 y Fs(C)150 2941 y Fe(caller)6 b Fc(:)15
+b Fb(62)146 2825 y Fs(C)150 2941 y Fe(caller)6 b Fc(:)15
 b(:)e(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
 (:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)h(:)f(:)20 b Fb(61)150 3029 y Fe(cd)c Fc(:)e(:)f(:)g(:)g(:)
+g(:)g(:)g(:)h(:)f(:)20 b Fb(62)150 3029 y Fe(cd)c Fc(:)e(:)f(:)g(:)g(:)
 g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
 (:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)g(:)g(:)g(:)31 b Fb(51)150 3116 y Fe(command)22
+g(:)g(:)g(:)g(:)g(:)31 b Fb(52)150 3116 y Fe(command)22
 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
 (:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)35 b Fb(61)150 3203 y Fe(compgen)18
+h(:)f(:)g(:)g(:)g(:)35 b Fb(62)150 3203 y Fe(compgen)18
 b Fc(:)d(:)e(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
 g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
 (:)h(:)f(:)g(:)33 b Fb(158)150 3290 y Fe(complete)16
@@ -22522,38 +22544,38 @@ f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
 b Fb(162)150 3465 y Fe(continue)18 b Fc(:)d(:)e(:)g(:)g(:)g(:)h(:)f(:)g
 (:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
 g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)32 b
-Fb(52)146 3699 y Fs(D)150 3816 y Fe(declare)22 b Fc(:)13
+Fb(53)146 3699 y Fs(D)150 3816 y Fe(declare)22 b Fc(:)13
 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
 (:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)35 b Fb(62)150 3903 y Fe(dirs)9 b Fc(:)14
+g(:)g(:)g(:)35 b Fb(63)150 3903 y Fe(dirs)9 b Fc(:)14
 b(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
 (:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)24 b Fb(110)150 3990 y Fe(disown)e
+h(:)f(:)g(:)g(:)g(:)g(:)24 b Fb(111)150 3990 y Fe(disown)e
 Fc(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
 (:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
 g(:)g(:)g(:)g(:)g(:)36 b Fb(126)146 4225 y Fs(E)150 4341
 y Fe(echo)11 b Fc(:)j(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
 (:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
 g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)25 b
-Fb(63)150 4428 y Fe(enable)6 b Fc(:)15 b(:)e(:)g(:)g(:)g(:)g(:)g(:)g(:)
+Fb(64)150 4428 y Fe(enable)6 b Fc(:)15 b(:)e(:)g(:)g(:)g(:)g(:)g(:)g(:)
 h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
 (:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)20
-b Fb(64)150 4515 y Fe(eval)11 b Fc(:)j(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+b Fb(65)150 4515 y Fe(eval)11 b Fc(:)j(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g
 (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
 h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)25
-b Fb(52)150 4603 y Fe(exec)11 b Fc(:)j(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+b Fb(53)150 4603 y Fe(exec)11 b Fc(:)j(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g
 (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
 h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)25
-b Fb(52)150 4690 y Fe(exit)11 b Fc(:)j(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+b Fb(53)150 4690 y Fe(exit)11 b Fc(:)j(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g
 (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
 h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)25
-b Fb(52)150 4777 y Fe(export)6 b Fc(:)15 b(:)e(:)g(:)g(:)g(:)g(:)g(:)g
+b Fb(53)150 4777 y Fe(export)6 b Fc(:)15 b(:)e(:)g(:)g(:)g(:)g(:)g(:)g
 (:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
 g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)20
-b Fb(52)146 5023 y Fs(F)150 5139 y Fe(false)9 b Fc(:)14
+b Fb(53)146 5023 y Fs(F)150 5139 y Fe(false)9 b Fc(:)14
 b(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
 (:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-g(:)h(:)f(:)g(:)g(:)g(:)23 b Fb(53)150 5227 y Fe(fc)14
+g(:)h(:)f(:)g(:)g(:)g(:)23 b Fb(54)150 5227 y Fe(fc)14
 b Fc(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
 g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
 (:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)29 b Fb(166)150
@@ -22563,14 +22585,14 @@ g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
 b Fb(125)2021 871 y Fs(G)2025 988 y Fe(getopts)22 b Fc(:)13
 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
 (:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)35 b Fb(53)2021 1250 y Fs(H)2025 1369 y Fe(hash)11
+h(:)f(:)g(:)35 b Fb(54)2021 1250 y Fs(H)2025 1369 y Fe(hash)11
 b Fc(:)j(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
 g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)26 b Fb(54)2025 1457
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)26 b Fb(55)2025 1457
 y Fe(help)11 b Fc(:)j(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
 (:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
 g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)26 b
-Fb(65)2025 1544 y Fe(history)18 b Fc(:)d(:)e(:)g(:)g(:)g(:)h(:)f(:)g(:)
+Fb(66)2025 1544 y Fe(history)18 b Fc(:)d(:)e(:)g(:)g(:)g(:)h(:)f(:)g(:)
 g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
 (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)33 b Fb(166)2021
 1806 y Fs(J)2025 1924 y Fe(jobs)9 b Fc(:)14 b(:)f(:)g(:)g(:)g(:)g(:)h
@@ -22583,53 +22605,53 @@ g(:)h(:)f(:)g(:)g(:)g(:)24 b Fb(125)2021 2554 y Fs(L)2025
 2672 y Fe(let)14 b Fc(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
 (:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
 g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)28
-b Fb(65)2025 2760 y Fe(local)9 b Fc(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)h
+b Fb(66)2025 2760 y Fe(local)9 b Fc(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)h
 (:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
 g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)23
-b Fb(65)2025 2848 y Fe(logout)6 b Fc(:)14 b(:)f(:)h(:)f(:)g(:)g(:)g(:)g
+b Fb(66)2025 2848 y Fe(logout)6 b Fc(:)14 b(:)f(:)h(:)f(:)g(:)g(:)g(:)g
 (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
 h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)21
-b Fb(65)2021 3110 y Fs(M)2025 3227 y Fe(mapfile)h Fc(:)13
+b Fb(66)2021 3110 y Fs(M)2025 3227 y Fe(mapfile)h Fc(:)13
 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
 (:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)35 b Fb(66)2021 3489 y Fs(P)2025 3608 y Fe(popd)9
+h(:)f(:)g(:)35 b Fb(67)2021 3489 y Fs(P)2025 3608 y Fe(popd)9
 b Fc(:)14 b(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
 (:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)24 b Fb(110)2025 3696
+g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)24 b Fb(111)2025 3696
 y Fe(printf)6 b Fc(:)14 b(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
 (:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)21 b Fb(66)2025
+g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)21 b Fb(67)2025
 3784 y Fe(pushd)6 b Fc(:)14 b(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
 (:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
 g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)21 b
-Fb(111)2025 3871 y Fe(pwd)14 b Fc(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
+Fb(112)2025 3871 y Fe(pwd)14 b Fc(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
 (:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)
 f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)28
-b Fb(54)2021 4133 y Fs(R)2025 4251 y Fe(read)11 b Fc(:)j(:)f(:)g(:)g(:)
+b Fb(55)2021 4133 y Fs(R)2025 4251 y Fe(read)11 b Fc(:)j(:)f(:)g(:)g(:)
 g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
 (:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)26 b Fb(67)2025 4339 y Fe(readarray)15 b
+g(:)g(:)g(:)26 b Fb(68)2025 4339 y Fe(readarray)15 b
 Fc(:)g(:)f(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
 (:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)30 b Fb(69)2025 4427 y Fe(readonly)18 b Fc(:)d(:)e(:)g(:)g(:)g
+g(:)g(:)30 b Fb(70)2025 4427 y Fe(readonly)18 b Fc(:)d(:)e(:)g(:)g(:)g
 (:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
 h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)33
-b Fb(54)2025 4515 y Fe(return)6 b Fc(:)14 b(:)f(:)h(:)f(:)g(:)g(:)g(:)g
+b Fb(55)2025 4515 y Fe(return)6 b Fc(:)14 b(:)f(:)h(:)f(:)g(:)g(:)g(:)g
 (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
 h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)21
-b Fb(55)2021 4765 y Fs(S)2025 4884 y Fe(set)14 b Fc(:)f(:)g(:)h(:)f(:)g
+b Fb(56)2021 4765 y Fs(S)2025 4884 y Fe(set)14 b Fc(:)f(:)g(:)h(:)f(:)g
 (:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
 g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)28 b Fb(71)2025 4972 y Fe(shift)9 b Fc(:)14
+(:)g(:)h(:)f(:)28 b Fb(72)2025 4972 y Fe(shift)9 b Fc(:)14
 b(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
 (:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)g(:)h(:)f(:)g(:)23 b Fb(55)2025 5060 y Fe(shopt)9
+g(:)g(:)g(:)h(:)f(:)g(:)23 b Fb(56)2025 5060 y Fe(shopt)9
 b Fc(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
 (:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)23 b Fb(76)2025 5148
+g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)23 b Fb(77)2025 5148
 y Fe(source)6 b Fc(:)14 b(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
 (:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)21 b Fb(69)2025
+g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)21 b Fb(70)2025
 5235 y Fe(suspend)d Fc(:)d(:)e(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
 (:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
 f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)33 b Fb(126)p eop end
@@ -22638,35 +22660,35 @@ TeXDict begin 198 203 bop 150 -116 a Fu(App)s(endix)29
 b(D:)i(Indexes)2623 b(198)146 294 y Fs(T)150 410 y Fe(test)11
 b Fc(:)j(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
 g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)25 b Fb(55)150 497
+(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)25 b Fb(56)150 497
 y Fe(times)9 b Fc(:)14 b(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
 g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)23 b Fb(57)150
+(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)23 b Fb(58)150
 584 y Fe(trap)11 b Fc(:)j(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
 (:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
 g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)25
-b Fb(57)150 671 y Fe(true)11 b Fc(:)j(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+b Fb(58)150 671 y Fe(true)11 b Fc(:)j(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g
 (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
 h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)25
-b Fb(58)150 758 y Fe(type)11 b Fc(:)j(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+b Fb(59)150 758 y Fe(type)11 b Fc(:)j(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g
 (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
 h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)25
-b Fb(69)150 846 y Fe(typeset)d Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
+b Fb(70)150 846 y Fe(typeset)d Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
 g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
 (:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)35
-b Fb(70)146 1090 y Fs(U)150 1206 y Fe(ulimit)6 b Fc(:)15
+b Fb(71)146 1090 y Fs(U)150 1206 y Fe(ulimit)6 b Fc(:)15
 b(:)e(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
 (:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)h(:)f(:)20 b Fb(70)150 1293 y Fe(umask)9
+g(:)g(:)g(:)h(:)f(:)20 b Fb(71)150 1293 y Fe(umask)9
 b Fc(:)14 b(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
 (:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)23 b Fb(58)150 1380 y
+g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)23 b Fb(59)150 1380 y
 Fe(unalias)f Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
 (:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)35 b Fb(71)150 1467 y
+g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)35 b Fb(72)150 1467 y
 Fe(unset)9 b Fc(:)14 b(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
 (:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)23 b Fb(58)2021
+g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)23 b Fb(59)2021
 294 y Fs(W)2025 434 y Fe(wait)9 b Fc(:)14 b(:)f(:)g(:)g(:)g(:)g(:)h(:)f
 (:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
 g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)24
@@ -22781,7 +22803,7 @@ g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
 (:)31 b Fb(24)150 2495 y Fe($_)16 b Fc(:)e(:)f(:)g(:)g(:)g(:)g(:)h(:)f
 (:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
 g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)g(:)31 b Fb(85)150 2582 y Fe($0)16 b Fc(:)e(:)f(:)g(:)g(:)g(:)g(:)h
+(:)g(:)31 b Fb(86)150 2582 y Fe($0)16 b Fc(:)e(:)f(:)g(:)g(:)g(:)g(:)h
 (:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
 g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
 (:)g(:)g(:)31 b Fb(24)146 2834 y Fs(*)150 2950 y Fe(*)19
@@ -22802,7 +22824,7 @@ f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)33 b Fb(24)p
 156 4272 41 6 v 150 4389 a Fe(_)19 b Fc(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g
 (:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
 g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)g(:)33 b Fb(85)146 4631 y Fs(0)150 4748 y
+(:)f(:)g(:)g(:)33 b Fb(86)146 4631 y Fs(0)150 4748 y
 Fe(0)19 b Fc(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
 (:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
 g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)33
@@ -22816,65 +22838,65 @@ Fc(:)16 b(:)d(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
 23 b Fb(127)2021 954 y Fs(B)2025 1071 y Fe(BASH)11 b
 Fc(:)j(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
 (:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)26 b Fb(85)2025 1159
+g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)26 b Fb(86)2025 1159
 y Fe(BASH_ALIASES)8 b Fc(:)15 b(:)f(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
 (:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)g(:)h(:)22 b Fb(85)2025 1246 y Fe(BASH_ARGC)15
+g(:)g(:)g(:)g(:)h(:)22 b Fb(86)2025 1246 y Fe(BASH_ARGC)15
 b Fc(:)g(:)f(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
 g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)30 b Fb(85)2025 1334 y Fe(BASH_ARGV)15 b Fc(:)g(:)f(:)f(:)g
+(:)g(:)g(:)30 b Fb(86)2025 1334 y Fe(BASH_ARGV)15 b Fc(:)g(:)f(:)f(:)g
 (:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
 g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)30
-b Fb(85)2025 1421 y Fe(BASH_ARGV0)13 b Fc(:)i(:)e(:)g(:)g(:)h(:)f(:)g
+b Fb(86)2025 1421 y Fe(BASH_ARGV0)13 b Fc(:)i(:)e(:)g(:)g(:)h(:)f(:)g
 (:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)27 b Fb(86)2025
+g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)27 b Fb(87)2025
 1509 y Fe(BASH_CMDS)15 b Fc(:)g(:)f(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
 (:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)30 b Fb(86)2025 1597
+g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)30 b Fb(87)2025 1597
 y Fe(BASH_COMMAND)8 b Fc(:)15 b(:)f(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
 (:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)g(:)h(:)22 b Fb(86)2025 1684 y Fe(BASH_COMPAT)10
+g(:)g(:)g(:)g(:)h(:)22 b Fb(87)2025 1684 y Fe(BASH_COMPAT)10
 b Fc(:)16 b(:)d(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
 (:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)25 b Fb(86)2025 1772 y Fe(BASH_ENV)18 b Fc(:)d(:)e(:)g(:)g(:)g(:)g
+g(:)25 b Fb(87)2025 1772 y Fe(BASH_ENV)18 b Fc(:)d(:)e(:)g(:)g(:)g(:)g
 (:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
 f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)33
-b Fb(86)2025 1859 y Fe(BASH_EXECUTION_STRING)24 b Fc(:)13
+b Fb(87)2025 1859 y Fe(BASH_EXECUTION_STRING)24 b Fc(:)13
 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)g(:)g(:)g(:)g(:)34 b Fb(86)2025 1947 y Fe(BASH_LINENO)10
+(:)g(:)g(:)g(:)g(:)34 b Fb(87)2025 1947 y Fe(BASH_LINENO)10
 b Fc(:)16 b(:)d(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
 (:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)25 b Fb(87)2025 2035 y Fe(BASH_LOADABLES_PATH)7 b
+g(:)25 b Fb(88)2025 2035 y Fe(BASH_LOADABLES_PATH)7 b
 Fc(:)17 b(:)c(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)22 b Fb(87)2025
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)22 b Fb(88)2025
 2122 y Fe(BASH_MONOSECONDS)15 b Fc(:)h(:)d(:)g(:)h(:)f(:)g(:)g(:)g(:)g
 (:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)29 b Fb(87)2025 2210 y Fe(BASH_REMATCH)8 b Fc(:)15
+h(:)f(:)29 b Fb(88)2025 2210 y Fe(BASH_REMATCH)8 b Fc(:)15
 b(:)f(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
 (:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)22
-b Fb(87)2025 2297 y Fe(BASH_SOURCE)10 b Fc(:)16 b(:)d(:)g(:)g(:)g(:)g
+b Fb(88)2025 2297 y Fe(BASH_SOURCE)10 b Fc(:)16 b(:)d(:)g(:)g(:)g(:)g
 (:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)25 b Fb(87)2025
+g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)25 b Fb(88)2025
 2385 y Fe(BASH_SUBSHELL)g Fc(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
 (:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)g(:)g(:)37 b Fb(87)2025 2473 y Fe(BASH_TRAPSIG)8
+f(:)g(:)g(:)g(:)37 b Fb(88)2025 2473 y Fe(BASH_TRAPSIG)8
 b Fc(:)15 b(:)f(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
 (:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
-22 b Fb(87)2025 2560 y Fe(BASH_VERSINFO)j Fc(:)13 b(:)g(:)g(:)h(:)f(:)g
+22 b Fb(88)2025 2560 y Fe(BASH_VERSINFO)j Fc(:)13 b(:)g(:)g(:)h(:)f(:)g
 (:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)37 b Fb(87)2025 2648
+g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)37 b Fb(88)2025 2648
 y Fe(BASH_VERSION)8 b Fc(:)15 b(:)f(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
 (:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)g(:)h(:)22 b Fb(88)2025 2735 y Fe(BASH_XTRACEFD)j
+g(:)g(:)g(:)g(:)h(:)22 b Fb(89)2025 2735 y Fe(BASH_XTRACEFD)j
 Fc(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
 (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)37
-b Fb(88)2025 2823 y Fe(BASHOPTS)18 b Fc(:)d(:)e(:)g(:)g(:)g(:)g(:)h(:)f
+b Fb(89)2025 2823 y Fe(BASHOPTS)18 b Fc(:)d(:)e(:)g(:)g(:)g(:)g(:)h(:)f
 (:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
 g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)33 b
-Fb(85)2025 2911 y Fe(BASHPID)22 b Fc(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g
+Fb(86)2025 2911 y Fe(BASHPID)22 b Fc(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g
 (:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
 g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)35
-b Fb(85)2025 2998 y Fe(bell-style)11 b Fc(:)k(:)e(:)g(:)g(:)g(:)h(:)f
+b Fb(86)2025 2998 y Fe(bell-style)11 b Fc(:)k(:)e(:)g(:)g(:)g(:)h(:)f
 (:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
 g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)26 b Fb(132)2025
 3086 y Fe(bind-tty-special-chars)14 b Fc(:)k(:)13 b(:)g(:)h(:)f(:)g(:)g
@@ -22885,9 +22907,9 @@ b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
 3543 y Fe(CDPATH)6 b Fc(:)14 b(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
 (:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
 g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)21 b
-Fb(84)2025 3631 y Fe(CHILD_MAX)15 b Fc(:)g(:)f(:)f(:)g(:)g(:)g(:)g(:)g
+Fb(85)2025 3631 y Fe(CHILD_MAX)15 b Fc(:)g(:)f(:)f(:)g(:)g(:)g(:)g(:)g
 (:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)30 b Fb(88)2025
+f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)30 b Fb(89)2025
 3719 y Fe(colored-completion-prefix)7 b Fc(:)18 b(:)13
 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)22
 b Fb(133)2025 3806 y Fe(colored-stats)h Fc(:)13 b(:)g(:)g(:)g(:)h(:)f
@@ -22895,29 +22917,29 @@ b Fb(133)2025 3806 y Fe(colored-stats)h Fc(:)13 b(:)g(:)g(:)g(:)h(:)f
 g(:)g(:)g(:)g(:)h(:)f(:)g(:)35 b Fb(133)2025 3894 y Fe(COLUMNS)22
 b Fc(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
 (:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)g(:)35 b Fb(88)2025 3981 y Fe(comment-begin)23
+g(:)g(:)h(:)f(:)g(:)35 b Fb(89)2025 3981 y Fe(comment-begin)23
 b Fc(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
 (:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)35
 b Fb(133)2025 4069 y Fe(COMP_CWORD)13 b Fc(:)i(:)e(:)g(:)g(:)h(:)f(:)g
 (:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)27 b Fb(88)2025
+g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)27 b Fb(89)2025
 4157 y Fe(COMP_KEY)18 b Fc(:)d(:)e(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
 (:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)33 b Fb(88)2025 4244
+g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)33 b Fb(89)2025 4244
 y Fe(COMP_LINE)15 b Fc(:)g(:)f(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
 (:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)g(:)h(:)f(:)g(:)g(:)30 b Fb(88)2025 4332 y Fe(COMP_POINT)13
+g(:)g(:)g(:)h(:)f(:)g(:)g(:)30 b Fb(89)2025 4332 y Fe(COMP_POINT)13
 b Fc(:)i(:)e(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
 g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)h(:)27 b Fb(89)2025 4419 y Fe(COMP_TYPE)15 b Fc(:)g(:)f(:)f(:)g(:)g
+(:)h(:)27 b Fb(90)2025 4419 y Fe(COMP_TYPE)15 b Fc(:)g(:)f(:)f(:)g(:)g
 (:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
 g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)30
-b Fb(89)2025 4507 y Fe(COMP_WORDBREAKS)17 b Fc(:)g(:)c(:)g(:)g(:)g(:)g
+b Fb(90)2025 4507 y Fe(COMP_WORDBREAKS)17 b Fc(:)g(:)c(:)g(:)g(:)g(:)g
 (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)32 b Fb(89)2025 4595 y Fe(COMP_WORDS)13
+h(:)f(:)g(:)g(:)g(:)g(:)32 b Fb(90)2025 4595 y Fe(COMP_WORDS)13
 b Fc(:)i(:)e(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
 g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)h(:)27 b Fb(89)2025 4682 y Fe(completion-display-width)9
+(:)h(:)27 b Fb(90)2025 4682 y Fe(completion-display-width)9
 b Fc(:)19 b(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
 (:)h(:)f(:)g(:)24 b Fb(133)2025 4770 y Fe(completion-ignore-case)14
 b Fc(:)k(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
@@ -22931,19 +22953,19 @@ y Fe(completion-query-items)14 b Fc(:)k(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g
 b Fb(134)2025 5120 y Fe(COMPREPLY)15 b Fc(:)g(:)f(:)f(:)g(:)g(:)g(:)g
 (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
 h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)30 b
-Fb(89)2025 5208 y Fe(convert-meta)25 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)
+Fb(90)2025 5208 y Fe(convert-meta)25 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)
 g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
 (:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)38 b Fb(134)2025 5295
 y Fe(COPROC)6 b Fc(:)14 b(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
 (:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)21 b Fb(89)p
+g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)21 b Fb(90)p
 eop end
 %%Page: 200 206
 TeXDict begin 200 205 bop 150 -116 a Fu(App)s(endix)29
 b(D:)i(Indexes)2623 b(200)146 294 y Fs(D)150 411 y Fe(DIRSTACK)18
 b Fc(:)d(:)e(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
 g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)32 b Fb(89)150 499 y Fe(disable-completion)7
+(:)g(:)h(:)f(:)32 b Fb(90)150 499 y Fe(disable-completion)7
 b Fc(:)18 b(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
 (:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)22 b Fb(134)146
 754 y Fs(E)150 872 y Fe(echo-control-characters)12 b
@@ -22956,7 +22978,7 @@ b(:)c(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
 (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)25 b Fb(134)150 1135
 y Fe(EMACS)9 b Fc(:)14 b(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
 g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)23 b Fb(89)150
+(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)23 b Fb(90)150
 1222 y Fe(enable-active-region)30 b(The)16 b Fc(:)e(:)f(:)g(:)g(:)h(:)f
 (:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)31
 b Fb(135)150 1310 y Fe(enable-bracketed-paste)14 b Fc(:)k(:)c(:)f(:)g
@@ -22969,61 +22991,61 @@ g(:)g(:)h(:)f(:)g(:)g(:)g(:)35 b Fb(135)150 1486 y Fe(enable-meta-key)
 b Fb(135)150 1573 y Fe(ENV)14 b Fc(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
 (:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
 g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)28
-b Fb(89)150 1661 y Fe(EPOCHREALTIME)d Fc(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g
+b Fb(90)150 1661 y Fe(EPOCHREALTIME)d Fc(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g
 (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)g(:)37 b Fb(90)150 1749 y Fe(EPOCHSECONDS)8
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)37 b Fb(91)150 1749 y Fe(EPOCHSECONDS)8
 b Fc(:)16 b(:)d(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
 (:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-22 b Fb(90)150 1836 y Fe(EUID)11 b Fc(:)j(:)f(:)g(:)h(:)f(:)g(:)g(:)g
+22 b Fb(91)150 1836 y Fe(EUID)11 b Fc(:)j(:)f(:)g(:)h(:)f(:)g(:)g(:)g
 (:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
 g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)25
-b Fb(90)150 1924 y Fe(EXECIGNORE)13 b Fc(:)i(:)e(:)h(:)f(:)g(:)g(:)g(:)
+b Fb(91)150 1924 y Fe(EXECIGNORE)13 b Fc(:)i(:)e(:)h(:)f(:)g(:)g(:)g(:)
 g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)27 b Fb(90)150
+(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)27 b Fb(91)150
 2011 y Fe(expand-tilde)e Fc(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
 (:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
 g(:)g(:)g(:)h(:)37 b Fb(135)146 2267 y Fs(F)150 2384
 y Fe(FCEDIT)6 b Fc(:)15 b(:)e(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
 (:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)20 b Fb(90)150
+g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)20 b Fb(91)150
 2472 y Fe(FIGNORE)i Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
 (:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)35 b Fb(90)150
+g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)35 b Fb(91)150
 2560 y Fe(force-meta-prefix)10 b Fc(:)17 b(:)c(:)g(:)g(:)h(:)f(:)g(:)g
 (:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
 g(:)25 b Fb(135)150 2647 y Fe(FUNCNAME)18 b Fc(:)d(:)e(:)g(:)g(:)g(:)h
 (:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
 g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)32
-b Fb(90)150 2735 y Fe(FUNCNEST)18 b Fc(:)d(:)e(:)g(:)g(:)g(:)h(:)f(:)g
+b Fb(91)150 2735 y Fe(FUNCNEST)18 b Fc(:)d(:)e(:)g(:)g(:)g(:)h(:)f(:)g
 (:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
 g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)32 b
-Fb(90)146 2979 y Fs(G)150 3096 y Fe(GLOBIGNORE)13 b Fc(:)i(:)e(:)h(:)f
+Fb(91)146 2979 y Fs(G)150 3096 y Fe(GLOBIGNORE)13 b Fc(:)i(:)e(:)h(:)f
 (:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
 g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)27
-b Fb(90)150 3184 y Fe(GLOBSORT)18 b Fc(:)d(:)e(:)g(:)g(:)g(:)h(:)f(:)g
+b Fb(91)150 3184 y Fe(GLOBSORT)18 b Fc(:)d(:)e(:)g(:)g(:)g(:)h(:)f(:)g
 (:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
 g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)32 b
-Fb(91)150 3271 y Fe(GROUPS)6 b Fc(:)15 b(:)e(:)g(:)g(:)g(:)g(:)g(:)g(:)
+Fb(92)150 3271 y Fe(GROUPS)6 b Fc(:)15 b(:)e(:)g(:)g(:)g(:)g(:)g(:)g(:)
 h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
 (:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)20
-b Fb(91)146 3515 y Fs(H)150 3633 y Fe(histchars)15 b
+b Fb(92)146 3515 y Fs(H)150 3633 y Fe(histchars)15 b
 Fc(:)h(:)d(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
 (:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)30 b Fb(91)150 3721 y Fe(HISTCMD)22 b Fc(:)13
+g(:)g(:)30 b Fb(92)150 3721 y Fe(HISTCMD)22 b Fc(:)13
 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
 (:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)35 b Fb(91)150 3808 y Fe(HISTCONTROL)10 b
+g(:)g(:)g(:)35 b Fb(92)150 3808 y Fe(HISTCONTROL)10 b
 Fc(:)16 b(:)d(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
 (:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)25 b Fb(92)150 3896 y Fe(HISTFILE)18 b Fc(:)d(:)e(:)g(:)g(:)g(:)h
+g(:)25 b Fb(93)150 3896 y Fe(HISTFILE)18 b Fc(:)d(:)e(:)g(:)g(:)g(:)h
 (:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
 g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)32
-b Fb(92)150 3984 y Fe(HISTFILESIZE)8 b Fc(:)16 b(:)d(:)g(:)g(:)g(:)g(:)
+b Fb(93)150 3984 y Fe(HISTFILESIZE)8 b Fc(:)16 b(:)d(:)g(:)g(:)g(:)g(:)
 g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)22 b Fb(92)150
+(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)22 b Fb(93)150
 4071 y Fe(HISTIGNORE)13 b Fc(:)i(:)e(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
 h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
-(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)27 b Fb(92)150 4159 y
+(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)27 b Fb(93)150 4159 y
 Fe(history-preserve-point)14 b Fc(:)k(:)c(:)f(:)g(:)g(:)g(:)g(:)g(:)h
 (:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)29 b Fb(136)150
 4247 y Fe(history-size)c Fc(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
@@ -23031,38 +23053,38 @@ Fe(history-preserve-point)14 b Fc(:)k(:)c(:)f(:)g(:)g(:)g(:)g(:)g(:)h
 g(:)g(:)g(:)h(:)37 b Fb(136)150 4334 y Fe(HISTSIZE)18
 b Fc(:)d(:)e(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
 g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)32 b Fb(92)150 4422 y Fe(HISTTIMEFORMAT)23
+(:)g(:)h(:)f(:)32 b Fb(93)150 4422 y Fe(HISTTIMEFORMAT)23
 b Fc(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
 (:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)34
-b Fb(93)150 4510 y Fe(HOME)11 b Fc(:)j(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+b Fb(94)150 4510 y Fe(HOME)11 b Fc(:)j(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g
 (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
 h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)25
-b Fb(84)150 4598 y Fe(horizontal-scroll-mode)14 b Fc(:)k(:)c(:)f(:)g(:)
+b Fb(85)150 4598 y Fe(horizontal-scroll-mode)14 b Fc(:)k(:)c(:)f(:)g(:)
 g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)29
 b Fb(136)150 4685 y Fe(HOSTFILE)18 b Fc(:)d(:)e(:)g(:)g(:)g(:)h(:)f(:)g
 (:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
 g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)32 b
-Fb(93)150 4773 y Fe(HOSTNAME)18 b Fc(:)d(:)e(:)g(:)g(:)g(:)h(:)f(:)g(:)
+Fb(94)150 4773 y Fe(HOSTNAME)18 b Fc(:)d(:)e(:)g(:)g(:)g(:)h(:)f(:)g(:)
 g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)32 b Fb(93)150
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)32 b Fb(94)150
 4860 y Fe(HOSTTYPE)18 b Fc(:)d(:)e(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
 (:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)32 b Fb(93)2021 294
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)32 b Fb(94)2021 294
 y Fs(I)2025 420 y Fe(IFS)14 b Fc(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
 g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
 (:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)28
-b Fb(84)2025 510 y Fe(IGNOREEOF)15 b Fc(:)g(:)f(:)f(:)g(:)g(:)g(:)g(:)g
+b Fb(85)2025 510 y Fe(IGNOREEOF)15 b Fc(:)g(:)f(:)f(:)g(:)g(:)g(:)g(:)g
 (:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)30 b Fb(93)2025
+f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)30 b Fb(94)2025
 600 y Fe(input-meta)11 b Fc(:)k(:)e(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
 (:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
 h(:)f(:)g(:)g(:)g(:)g(:)26 b Fb(136)2025 691 y Fe(INPUTRC)c
 Fc(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
 (:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)g(:)35 b Fb(93)2025 781 y Fe(INSIDE_EMACS)8
+g(:)g(:)h(:)f(:)g(:)35 b Fb(94)2025 781 y Fe(INSIDE_EMACS)8
 b Fc(:)15 b(:)f(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
 (:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
-22 b Fb(93)2025 868 y Fe(isearch-terminators)k Fc(:)13
+22 b Fb(94)2025 868 y Fe(isearch-terminators)k Fc(:)13
 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
 (:)h(:)f(:)g(:)g(:)g(:)37 b Fb(136)2021 1167 y Fs(K)2025
 1290 y Fe(keymap)22 b Fc(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
@@ -23071,45 +23093,45 @@ g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)36 b Fb(136)2021
 1601 y Fs(L)2025 1727 y Fe(LANG)20 b Fc(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g
 (:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
 h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)35
-b Fb(8,)26 b(93)2025 1817 y Fe(LC_ALL)6 b Fc(:)14 b(:)f(:)h(:)f(:)g(:)g
+b Fb(8,)26 b(94)2025 1817 y Fe(LC_ALL)6 b Fc(:)14 b(:)f(:)h(:)f(:)g(:)g
 (:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
 g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)21
-b Fb(93)2025 1907 y Fe(LC_COLLATE)13 b Fc(:)i(:)e(:)g(:)g(:)h(:)f(:)g
+b Fb(94)2025 1907 y Fe(LC_COLLATE)13 b Fc(:)i(:)e(:)g(:)g(:)h(:)f(:)g
 (:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)27 b Fb(93)2025
+g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)27 b Fb(94)2025
 1998 y Fe(LC_CTYPE)18 b Fc(:)d(:)e(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
 (:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)33 b Fb(94)2025 2088
+g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)33 b Fb(95)2025 2088
 y Fe(LC_MESSAGES)21 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
 (:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)g(:)34 b Fb(8,)26 b(94)2025 2178 y Fe(LC_NUMERIC)13
+g(:)g(:)g(:)34 b Fb(8,)26 b(95)2025 2178 y Fe(LC_NUMERIC)13
 b Fc(:)i(:)e(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
 g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)h(:)27 b Fb(94)2025 2269 y Fe(LC_TIME)22 b Fc(:)13
+(:)h(:)27 b Fb(95)2025 2269 y Fe(LC_TIME)22 b Fc(:)13
 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
 (:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)35 b Fb(94)2025 2359 y Fe(LINENO)6 b Fc(:)14
+h(:)f(:)g(:)35 b Fb(95)2025 2359 y Fe(LINENO)6 b Fc(:)14
 b(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
 (:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)g(:)21 b Fb(94)2025 2446 y Fe(LINES)9
+g(:)g(:)g(:)g(:)g(:)21 b Fb(95)2025 2446 y Fe(LINES)9
 b Fc(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
 (:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)23 b Fb(94)2021 2746
+g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)23 b Fb(95)2021 2746
 y Fs(M)2025 2872 y Fe(MACHTYPE)18 b Fc(:)d(:)e(:)g(:)g(:)g(:)g(:)h(:)f
 (:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
 g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)33 b
-Fb(94)2025 2962 y Fe(MAIL)11 b Fc(:)j(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g
+Fb(95)2025 2962 y Fe(MAIL)11 b Fc(:)j(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g
 (:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
 g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)26
-b Fb(84)2025 3052 y Fe(MAILCHECK)15 b Fc(:)g(:)f(:)f(:)g(:)g(:)g(:)g(:)
+b Fb(85)2025 3052 y Fe(MAILCHECK)15 b Fc(:)g(:)f(:)f(:)g(:)g(:)g(:)g(:)
 g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)30 b Fb(94)2025
+(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)30 b Fb(95)2025
 3143 y Fe(MAILPATH)18 b Fc(:)d(:)e(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
 (:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)33 b Fb(84)2025 3233
+g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)33 b Fb(85)2025 3233
 y Fe(MAPFILE)22 b Fc(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
 (:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)35 b Fb(94)2025 3323
+g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)35 b Fb(95)2025 3323
 y Fe(mark-modified-lines)26 b Fc(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
 (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)37
 b Fb(137)2025 3414 y Fe(mark-symlinked-directories)27
@@ -23124,19 +23146,19 @@ g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
 (:)f(:)28 b Fb(136)2021 3992 y Fs(O)2025 4118 y Fe(OLDPWD)6
 b Fc(:)14 b(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
 (:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)g(:)21 b Fb(94)2025 4208 y Fe(OPTARG)6
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)21 b Fb(95)2025 4208 y Fe(OPTARG)6
 b Fc(:)14 b(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
 (:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)g(:)21 b Fb(84)2025 4299 y Fe(OPTERR)6
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)21 b Fb(85)2025 4299 y Fe(OPTERR)6
 b Fc(:)14 b(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
 (:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)g(:)21 b Fb(94)2025 4389 y Fe(OPTIND)6
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)21 b Fb(95)2025 4389 y Fe(OPTIND)6
 b Fc(:)14 b(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
 (:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)g(:)21 b Fb(84)2025 4480 y Fe(OSTYPE)6
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)21 b Fb(85)2025 4480 y Fe(OSTYPE)6
 b Fc(:)14 b(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
 (:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)g(:)21 b Fb(94)2025 4567 y Fe(output-meta)8
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)21 b Fb(95)2025 4567 y Fe(output-meta)8
 b Fc(:)16 b(:)d(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
 (:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
 23 b Fb(137)p eop end
@@ -23148,55 +23170,55 @@ b(D:)i(Indexes)2623 b(201)146 294 y Fs(P)150 410 y Fe(page-completions)
 497 y Fe(PATH)11 b Fc(:)j(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
 (:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
 g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)25
-b Fb(84)150 584 y Fe(PIPESTATUS)13 b Fc(:)i(:)e(:)h(:)f(:)g(:)g(:)g(:)g
+b Fb(85)150 584 y Fe(PIPESTATUS)13 b Fc(:)i(:)e(:)h(:)f(:)g(:)g(:)g(:)g
 (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)27 b Fb(94)150
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)27 b Fb(95)150
 671 y Fe(POSIXLY_CORRECT)17 b Fc(:)g(:)c(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
 g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)g(:)32 b Fb(94)150 758 y Fe(PPID)11 b Fc(:)j(:)f(:)g(:)h(:)f(:)g
+(:)g(:)g(:)32 b Fb(95)150 758 y Fe(PPID)11 b Fc(:)j(:)f(:)g(:)h(:)f(:)g
 (:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
 g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)h(:)25 b Fb(95)150 846 y Fe(PROMPT_COMMAND)e Fc(:)13
+(:)h(:)25 b Fb(96)150 846 y Fe(PROMPT_COMMAND)e Fc(:)13
 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
 (:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)34
-b Fb(95)150 933 y Fe(PROMPT_DIRTRIM)23 b Fc(:)13 b(:)g(:)g(:)g(:)h(:)f
+b Fb(96)150 933 y Fe(PROMPT_DIRTRIM)23 b Fc(:)13 b(:)g(:)g(:)g(:)h(:)f
 (:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)h(:)f(:)g(:)g(:)34 b Fb(95)150 1020 y Fe(PS0)14
+g(:)g(:)g(:)h(:)f(:)g(:)g(:)34 b Fb(96)150 1020 y Fe(PS0)14
 b Fc(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
 h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
-(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)28 b Fb(95)150
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)28 b Fb(96)150
 1107 y Fe(PS1)14 b Fc(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
 (:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
 g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)28
-b Fb(84)150 1194 y Fe(PS2)14 b Fc(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
+b Fb(85)150 1194 y Fe(PS2)14 b Fc(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
 (:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
 g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)28
-b Fb(84)150 1281 y Fe(PS3)14 b Fc(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
+b Fb(85)150 1281 y Fe(PS3)14 b Fc(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
 (:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
 g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)28
-b Fb(95)150 1369 y Fe(PS4)14 b Fc(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
+b Fb(96)150 1369 y Fe(PS4)14 b Fc(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
 (:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
 g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)28
-b Fb(95)150 1456 y Fe(PWD)14 b Fc(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
+b Fb(96)150 1456 y Fe(PWD)14 b Fc(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
 (:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
 g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)28
-b Fb(95)146 1689 y Fs(R)150 1804 y Fe(RANDOM)6 b Fc(:)15
+b Fb(96)146 1689 y Fs(R)150 1804 y Fe(RANDOM)6 b Fc(:)15
 b(:)e(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
 (:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)h(:)f(:)20 b Fb(95)150 1892 y Fe(READLINE_ARGUMENT)12
+g(:)g(:)g(:)h(:)f(:)20 b Fb(96)150 1892 y Fe(READLINE_ARGUMENT)12
 b Fc(:)17 b(:)c(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)26 b Fb(95)150
+(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)26 b Fb(96)150
 1979 y Fe(READLINE_LINE)f Fc(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
 (:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)g(:)g(:)37 b Fb(95)150 2066 y Fe(READLINE_MARK)25
+g(:)g(:)g(:)g(:)37 b Fb(96)150 2066 y Fe(READLINE_MARK)25
 b Fc(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
 (:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)37
-b Fb(95)150 2153 y Fe(READLINE_POINT)23 b Fc(:)13 b(:)g(:)g(:)g(:)h(:)f
+b Fb(96)150 2153 y Fe(READLINE_POINT)23 b Fc(:)13 b(:)g(:)g(:)g(:)h(:)f
 (:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)h(:)f(:)g(:)g(:)34 b Fb(95)150 2240 y Fe(REPLY)9
+g(:)g(:)g(:)h(:)f(:)g(:)g(:)34 b Fb(96)150 2240 y Fe(REPLY)9
 b Fc(:)14 b(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
 (:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)23 b Fb(95)150 2327 y
+g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)23 b Fb(96)150 2327 y
 Fe(revert-all-at-newline)17 b Fc(:)h(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g
 (:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)32
 b Fb(138)146 2560 y Fs(S)150 2676 y Fe(search-ignore-case)7
@@ -23204,17 +23226,17 @@ b Fc(:)18 b(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
 (:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)22 b Fb(138)150
 2763 y Fe(SECONDS)g Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
 (:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)35 b Fb(96)150
+g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)35 b Fb(97)150
 2851 y Fe(SHELL)9 b Fc(:)14 b(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
 (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
 h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)23
-b Fb(96)150 2938 y Fe(SHELLOPTS)15 b Fc(:)h(:)d(:)g(:)g(:)g(:)g(:)g(:)h
+b Fb(97)150 2938 y Fe(SHELLOPTS)15 b Fc(:)h(:)d(:)g(:)g(:)g(:)g(:)g(:)h
 (:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)30 b Fb(96)150
+g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)30 b Fb(97)150
 3025 y Fe(SHLVL)9 b Fc(:)14 b(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
 (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
 h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)23
-b Fb(96)150 3112 y Fe(show-all-if-ambiguous)17 b Fc(:)h(:)13
+b Fb(97)150 3112 y Fe(show-all-if-ambiguous)17 b Fc(:)h(:)13
 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
 (:)g(:)g(:)32 b Fb(138)150 3199 y Fe(show-all-if-unmodified)14
 b Fc(:)k(:)c(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
@@ -23226,7 +23248,7 @@ Fe(skip-completed-text)26 b Fc(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
 b Fb(138)2025 438 y Fe(SRANDOM)22 b Fc(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g
 (:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
 g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)35
-b Fb(96)2021 758 y Fs(T)2025 887 y Fe(TEXTDOMAIN)15 b
+b Fb(97)2021 758 y Fs(T)2025 887 y Fe(TEXTDOMAIN)15 b
 Fc(:)g(:)e(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
 (:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)
 f(:)g(:)30 b Fb(8)2025 978 y Fe(TEXTDOMAINDIR)7 b Fc(:)16
@@ -23234,17 +23256,17 @@ b(:)d(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
 (:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)23
 b Fb(8)2025 1069 y Fe(TIMEFORMAT)13 b Fc(:)i(:)e(:)g(:)g(:)h(:)f(:)g(:)
 g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)27 b Fb(96)2025
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)27 b Fb(97)2025
 1161 y Fe(TMOUT)9 b Fc(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
 (:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
 g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)23
-b Fb(97)2025 1248 y Fe(TMPDIR)6 b Fc(:)14 b(:)f(:)h(:)f(:)g(:)g(:)g(:)g
+b Fb(98)2025 1248 y Fe(TMPDIR)6 b Fc(:)14 b(:)f(:)h(:)f(:)g(:)g(:)g(:)g
 (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
 h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)21
-b Fb(97)2021 1567 y Fs(U)2025 1692 y Fe(UID)14 b Fc(:)f(:)g(:)h(:)f(:)g
+b Fb(98)2021 1567 y Fs(U)2025 1692 y Fe(UID)14 b Fc(:)f(:)g(:)h(:)f(:)g
 (:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
 g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)28 b Fb(97)2021 2012 y Fs(V)2025 2140
+(:)g(:)h(:)f(:)28 b Fb(98)2021 2012 y Fs(V)2025 2140
 y Fe(vi-cmd-mode-string)7 b Fc(:)17 b(:)d(:)f(:)g(:)g(:)g(:)g(:)g(:)g
 (:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)22
 b Fb(138)2025 2232 y Fe(vi-ins-mode-string)7 b Fc(:)17
@@ -23532,20 +23554,20 @@ g(:)g(:)h(:)f(:)22 b Fb(150)150 3929 y Fs(D.5)68 b(Concept)45
 b(Index)146 4523 y(A)150 4645 y Fb(alias)27 b(expansion)22
 b Fc(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
 (:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)37
-b Fb(107)150 4735 y(arithmetic)26 b(ev)l(aluation)21
+b Fb(108)150 4735 y(arithmetic)26 b(ev)l(aluation)21
 b Fc(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)35 b Fb(105)150 4824
+(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)35 b Fb(106)150 4824
 y(arithmetic)26 b(expansion)11 b Fc(:)j(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g
 (:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
 26 b Fb(36)150 4914 y(arithmetic)g(op)r(erators)18 b
 Fc(:)d(:)e(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)32 b Fb(106)150 5003
+(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)32 b Fb(107)150 5003
 y(arithmetic,)27 b(shell)21 b Fc(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
 (:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)g(:)36 b Fb(105)150 5090 y(arra)n(ys)19 b Fc(:)13
+g(:)g(:)g(:)36 b Fb(106)150 5090 y(arra)n(ys)19 b Fc(:)13
 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
 (:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)g(:)34 b Fb(108)2021 4523 y Fs(B)2025 4641
+g(:)g(:)g(:)g(:)34 b Fb(109)2021 4523 y Fs(B)2025 4641
 y Fb(bac)n(kground)13 b Fc(:)f(:)h(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
 (:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
 f(:)g(:)g(:)g(:)g(:)g(:)28 b Fb(123)2025 4729 y(Bash)e(con\014guration)
@@ -23555,9 +23577,9 @@ f(:)g(:)g(:)g(:)g(:)g(:)28 b Fb(123)2025 4729 y(Bash)e(con\014guration)
 g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
 (:)g(:)g(:)g(:)24 b Fb(172)2025 4905 y(binary)h(arithmetic)h(op)r
 (erators)16 b Fc(:)f(:)e(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)g(:)h(:)31 b Fb(106)2025 4993 y(bit)n(wise)26
+g(:)g(:)g(:)g(:)h(:)31 b Fb(107)2025 4993 y(bit)n(wise)26
 b(arithmetic)h(op)r(erators)8 b Fc(:)14 b(:)f(:)g(:)g(:)h(:)f(:)g(:)g
-(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)23 b Fb(106)2025
+(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)23 b Fb(107)2025
 5081 y(Bourne)j(shell)20 b Fc(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
 g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
 (:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)35 b Fb(5)2025 5169
@@ -23612,14 +23634,14 @@ b Fb(9)150 1729 y(commen)n(ts,)26 b(shell)13 b Fc(:)i(:)e(:)g(:)g(:)g
 g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)28 b Fb(9)150
 1817 y(Compatibilit)n(y)f(Lev)n(el)10 b Fc(:)j(:)g(:)g(:)g(:)g(:)h(:)f
 (:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)25 b Fb(119)150 1905 y(Compatibilit)n(y)i(Mo)r(de)22
+g(:)g(:)25 b Fb(120)150 1905 y(Compatibilit)n(y)i(Mo)r(de)22
 b Fc(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
-(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)36 b Fb(119)150
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)36 b Fb(120)150
 1993 y(completion)27 b(builtins)21 b Fc(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f
 (:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
 g(:)g(:)36 b Fb(158)150 2081 y(conditional)27 b(arithmetic)f(op)r
 (erator)d Fc(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)37 b Fb(106)150 2169 y(con\014guration)22 b Fc(:)13
+(:)37 b Fb(107)150 2169 y(con\014guration)22 b Fc(:)13
 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
 (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)36
 b Fb(172)150 2256 y(con)n(trol)26 b(op)r(erator)8 b Fc(:)15
@@ -23631,7 +23653,7 @@ f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)32 b
 Fb(18)146 2600 y Fs(D)150 2718 y Fb(directory)26 b(stac)n(k)9
 b Fc(:)k(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
 g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)24
-b Fb(110)150 2805 y(dollar-single)k(quote)d(quoting)18
+b Fb(111)150 2805 y(dollar-single)k(quote)d(quoting)18
 b Fc(:)c(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
 f(:)g(:)g(:)g(:)g(:)34 b Fb(6)146 3061 y Fs(E)150 3179
 y Fb(editing)26 b(command)g(lines)17 b Fc(:)d(:)f(:)g(:)g(:)g(:)g(:)g
@@ -23641,7 +23663,7 @@ g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
 (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)32 b Fb(46)150
 3355 y(ev)l(aluation,)26 b(arithmetic)9 b Fc(:)15 b(:)e(:)g(:)g(:)g(:)g
 (:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)24 b Fb(105)150 3443 y(ev)n(en)n(t)h(designators)c
+g(:)24 b Fb(106)150 3443 y(ev)n(en)n(t)h(designators)c
 Fc(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
 (:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)34
 b Fb(169)150 3531 y(execution)26 b(en)n(vironmen)n(t)17
@@ -23669,9 +23691,9 @@ b Fc(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
 (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
 h(:)f(:)g(:)g(:)g(:)28 b Fb(26)150 4321 y(expressions,)f(arithmetic)11
 b Fc(:)j(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)g(:)26 b Fb(105)150 4408 y(expressions,)h
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)26 b Fb(106)150 4408 y(expressions,)h
 (conditional)15 b Fc(:)f(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)30 b Fb(103)2021
+g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)30 b Fb(104)2021
 294 y Fs(F)2025 414 y Fb(\014eld)21 b Fc(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g
 (:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
 g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
@@ -23713,7 +23735,7 @@ b Fc(:)15 b(:)e(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
 (:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)22 b Fb(128)2025
 2257 y(in)n(teractiv)n(e)k(shell)16 b Fc(:)d(:)g(:)g(:)h(:)f(:)g(:)g(:)
 g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)31 b Fb(100,)c(102)2025 2346 y(in)n(ternationalization)22
+(:)31 b Fb(101,)c(103)2025 2346 y(in)n(ternationalization)22
 b Fc(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
 (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)35
 b Fb(7)2025 2433 y(in)n(ternationalized)27 b(scripts)13
@@ -23737,7 +23759,7 @@ Fc(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
 g(:)g(:)h(:)35 b Fb(7)2025 3869 y(login)26 b(shell)c
 Fc(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
 (:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)36 b Fb(100)2021 4140 y Fs(M)2025 4260 y Fb(matc)n(hing,)26
+g(:)g(:)36 b Fb(101)2021 4140 y Fs(M)2025 4260 y Fb(matc)n(hing,)26
 b(pattern)9 b Fc(:)k(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
 g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)24
 b Fb(38)2025 4347 y(metac)n(haracter)7 b Fc(:)14 b(:)f(:)h(:)f(:)g(:)g
@@ -23782,10 +23804,10 @@ g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
 (:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)38
 b Fb(3)150 1999 y(POSIX)25 b(description)10 b Fc(:)j(:)g(:)g(:)g(:)h(:)
 f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)g(:)g(:)g(:)g(:)25 b Fb(114)150 2086 y(POSIX)g(Mo)r(de)14
+(:)g(:)g(:)g(:)g(:)25 b Fb(115)150 2086 y(POSIX)g(Mo)r(de)14
 b Fc(:)g(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
 g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)29
-b Fb(114)150 2174 y(pro)r(cess)e(group)15 b Fc(:)e(:)h(:)f(:)g(:)g(:)g
+b Fb(115)150 2174 y(pro)r(cess)e(group)15 b Fc(:)e(:)h(:)f(:)g(:)g(:)g
 (:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
 g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)30 b Fb(3)150
 2261 y(pro)r(cess)d(group)e(ID)11 b Fc(:)i(:)g(:)g(:)g(:)g(:)g(:)g(:)g
@@ -23797,7 +23819,7 @@ g(:)g(:)g(:)g(:)g(:)g(:)26 b Fb(3)150 2348 y(pro)r(cess)h(substitution)
 (:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)23
 b Fb(156)150 2522 y(prompting)15 b Fc(:)e(:)g(:)g(:)g(:)h(:)f(:)g(:)g
 (:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)30 b Fb(111)146
+g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)30 b Fb(112)146
 2765 y Fs(Q)150 2881 y Fb(quoting)16 b Fc(:)d(:)g(:)g(:)g(:)g(:)h(:)f
 (:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
 g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)31
@@ -23817,13 +23839,13 @@ b Fc(:)f(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
 f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)30
 b Fb(9)150 3676 y(restricted)c(shell)12 b Fc(:)i(:)f(:)g(:)h(:)f(:)g(:)
 g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)27 b Fb(113)150 3763 y(return)e(status)
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)27 b Fb(114)150 3763 y(return)e(status)
 10 b Fc(:)k(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
 (:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
 g(:)g(:)25 b Fb(4)2021 294 y Fs(S)2025 418 y Fb(shell)h(arithmetic)15
 b Fc(:)f(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
 f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)30
-b Fb(105)2025 508 y(shell)c(function)18 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g
+b Fb(106)2025 508 y(shell)c(function)18 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g
 (:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
 g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)32 b Fb(19)2025
 597 y(shell)26 b(script)10 b Fc(:)k(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
@@ -23834,7 +23856,7 @@ y(shell)h(v)l(ariable)7 b Fc(:)14 b(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
 h(:)f(:)g(:)g(:)g(:)g(:)g(:)22 b Fb(22)2025 777 y(shell,)k(in)n
 (teractiv)n(e)18 b Fc(:)c(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
 (:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-33 b Fb(102)2025 867 y(signal)13 b Fc(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g
+33 b Fb(103)2025 867 y(signal)13 b Fc(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g
 (:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
 g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)28
 b Fb(4)2025 956 y(signal)f(handling)6 b Fc(:)13 b(:)g(:)g(:)h(:)f(:)g
@@ -23842,10 +23864,10 @@ b Fb(4)2025 956 y(signal)f(handling)6 b Fc(:)13 b(:)g(:)g(:)h(:)f(:)g
 g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)21 b Fb(48)2025 1046
 y(sp)r(ecial)27 b(builtin)16 b Fc(:)d(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h
 (:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)g(:)g(:)31 b Fb(4,)26 b(82)2025 1136 y(startup)f(\014les)8
+g(:)g(:)g(:)g(:)31 b Fb(4,)26 b(83)2025 1136 y(startup)f(\014les)8
 b Fc(:)14 b(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
 (:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)23 b Fb(100)2025 1226 y(string)j(translations)8 b
+g(:)23 b Fb(101)2025 1226 y(string)j(translations)8 b
 Fc(:)14 b(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
 (:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)23
 b Fb(8)2025 1313 y(susp)r(ending)i(jobs)10 b Fc(:)k(:)f(:)g(:)h(:)f(:)g
@@ -23861,7 +23883,7 @@ y(translation,)27 b(nativ)n(e)e(languages)c Fc(:)13 b(:)g(:)g(:)g(:)g
 (:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)34
 b Fb(7)2021 2207 y Fs(U)2025 2329 y Fb(unary)25 b(arithmetic)h(op)r
 (erators)10 b Fc(:)15 b(:)e(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)25 b Fb(106)2021 2626 y Fs(V)2025
+(:)g(:)g(:)h(:)f(:)g(:)g(:)25 b Fb(107)2021 2626 y Fs(V)2025
 2750 y Fb(v)l(ariable,)h(shell)14 b Fc(:)g(:)f(:)g(:)g(:)g(:)g(:)h(:)f
 (:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
 g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)28 b Fb(22)2025 2837
index 67d6a3a3ce7a71710f58ea4ef1a599a23d95b1c3..bb2bc040da6c69a867395806a5eacbb132e1428f 100644 (file)
 @numsubsecentry{Exit Status}{3.7.5}{Exit Status}{47}
 @numsubsecentry{Signals}{3.7.6}{Signals}{48}
 @numsecentry{Shell Scripts}{3.8}{Shell Scripts}{49}
-@numchapentry{Shell Builtin Commands}{4}{Shell Builtin Commands}{50}
-@numsecentry{Bourne Shell Builtins}{4.1}{Bourne Shell Builtins}{50}
-@numsecentry{Bash Builtin Commands}{4.2}{Bash Builtins}{59}
-@numsecentry{Modifying Shell Behavior}{4.3}{Modifying Shell Behavior}{71}
-@numsubsecentry{The Set Builtin}{4.3.1}{The Set Builtin}{71}
-@numsubsecentry{The Shopt Builtin}{4.3.2}{The Shopt Builtin}{76}
-@numsecentry{Special Builtins}{4.4}{Special Builtins}{82}
-@numchapentry{Shell Variables}{5}{Shell Variables}{84}
-@numsecentry{Bourne Shell Variables}{5.1}{Bourne Shell Variables}{84}
-@numsecentry{Bash Variables}{5.2}{Bash Variables}{85}
-@numchapentry{Bash Features}{6}{Bash Features}{98}
-@numsecentry{Invoking Bash}{6.1}{Invoking Bash}{98}
-@numsecentry{Bash Startup Files}{6.2}{Bash Startup Files}{100}
-@numsecentry{Interactive Shells}{6.3}{Interactive Shells}{102}
-@numsubsecentry{What is an Interactive Shell?}{6.3.1}{What is an Interactive Shell?}{102}
-@numsubsecentry{Is this Shell Interactive?}{6.3.2}{Is this Shell Interactive?}{102}
-@numsubsecentry{Interactive Shell Behavior}{6.3.3}{Interactive Shell Behavior}{102}
-@numsecentry{Bash Conditional Expressions}{6.4}{Bash Conditional Expressions}{103}
-@numsecentry{Shell Arithmetic}{6.5}{Shell Arithmetic}{105}
-@numsecentry{Aliases}{6.6}{Aliases}{107}
-@numsecentry{Arrays}{6.7}{Arrays}{108}
-@numsecentry{The Directory Stack}{6.8}{The Directory Stack}{110}
-@numsubsecentry{Directory Stack Builtins}{6.8.1}{Directory Stack Builtins}{110}
-@numsecentry{Controlling the Prompt}{6.9}{Controlling the Prompt}{111}
-@numsecentry{The Restricted Shell}{6.10}{The Restricted Shell}{113}
-@numsecentry{Bash and POSIX}{6.11}{Bash POSIX Mode}{114}
-@numsubsecentry{What is POSIX?}{6.11.1}{}{114}
-@numsubsecentry{Bash POSIX Mode}{6.11.2}{}{114}
-@numsecentry{Shell Compatibility Mode}{6.12}{Shell Compatibility Mode}{119}
+@numchapentry{Shell Builtin Commands}{4}{Shell Builtin Commands}{51}
+@numsecentry{Bourne Shell Builtins}{4.1}{Bourne Shell Builtins}{51}
+@numsecentry{Bash Builtin Commands}{4.2}{Bash Builtins}{60}
+@numsecentry{Modifying Shell Behavior}{4.3}{Modifying Shell Behavior}{72}
+@numsubsecentry{The Set Builtin}{4.3.1}{The Set Builtin}{72}
+@numsubsecentry{The Shopt Builtin}{4.3.2}{The Shopt Builtin}{77}
+@numsecentry{Special Builtins}{4.4}{Special Builtins}{83}
+@numchapentry{Shell Variables}{5}{Shell Variables}{85}
+@numsecentry{Bourne Shell Variables}{5.1}{Bourne Shell Variables}{85}
+@numsecentry{Bash Variables}{5.2}{Bash Variables}{86}
+@numchapentry{Bash Features}{6}{Bash Features}{99}
+@numsecentry{Invoking Bash}{6.1}{Invoking Bash}{99}
+@numsecentry{Bash Startup Files}{6.2}{Bash Startup Files}{101}
+@numsecentry{Interactive Shells}{6.3}{Interactive Shells}{103}
+@numsubsecentry{What is an Interactive Shell?}{6.3.1}{What is an Interactive Shell?}{103}
+@numsubsecentry{Is this Shell Interactive?}{6.3.2}{Is this Shell Interactive?}{103}
+@numsubsecentry{Interactive Shell Behavior}{6.3.3}{Interactive Shell Behavior}{103}
+@numsecentry{Bash Conditional Expressions}{6.4}{Bash Conditional Expressions}{104}
+@numsecentry{Shell Arithmetic}{6.5}{Shell Arithmetic}{106}
+@numsecentry{Aliases}{6.6}{Aliases}{108}
+@numsecentry{Arrays}{6.7}{Arrays}{109}
+@numsecentry{The Directory Stack}{6.8}{The Directory Stack}{111}
+@numsubsecentry{Directory Stack Builtins}{6.8.1}{Directory Stack Builtins}{111}
+@numsecentry{Controlling the Prompt}{6.9}{Controlling the Prompt}{112}
+@numsecentry{The Restricted Shell}{6.10}{The Restricted Shell}{114}
+@numsecentry{Bash and POSIX}{6.11}{Bash POSIX Mode}{115}
+@numsubsecentry{What is POSIX?}{6.11.1}{}{115}
+@numsubsecentry{Bash POSIX Mode}{6.11.2}{}{115}
+@numsecentry{Shell Compatibility Mode}{6.12}{Shell Compatibility Mode}{120}
 @numchapentry{Job Control}{7}{Job Control}{123}
 @numsecentry{Job Control Basics}{7.1}{Job Control Basics}{123}
 @numsecentry{Job Control Builtins}{7.2}{Job Control Builtins}{124}
index 7d855e3a9b340fc0cbf79b6bb551b13a3f3135f1..8a829852a3503a4b5783d1ad878c975b77a9556e 100644 (file)
 \entry{$!}{24}{\code {$!}}
 \entry{0}{24}{\code {0}}
 \entry{$0}{24}{\code {$0}}
-\entry{CDPATH}{84}{\code {CDPATH}}
-\entry{HOME}{84}{\code {HOME}}
-\entry{IFS}{84}{\code {IFS}}
-\entry{MAIL}{84}{\code {MAIL}}
-\entry{MAILPATH}{84}{\code {MAILPATH}}
-\entry{OPTARG}{84}{\code {OPTARG}}
-\entry{OPTIND}{84}{\code {OPTIND}}
-\entry{PATH}{84}{\code {PATH}}
-\entry{PS1}{84}{\code {PS1}}
-\entry{PS2}{84}{\code {PS2}}
-\entry{_}{85}{\code {_}}
-\entry{$_}{85}{\code {$_}}
-\entry{BASH}{85}{\code {BASH}}
-\entry{BASHOPTS}{85}{\code {BASHOPTS}}
-\entry{BASHPID}{85}{\code {BASHPID}}
-\entry{BASH_ALIASES}{85}{\code {BASH_ALIASES}}
-\entry{BASH_ARGC}{85}{\code {BASH_ARGC}}
-\entry{BASH_ARGV}{85}{\code {BASH_ARGV}}
-\entry{BASH_ARGV0}{86}{\code {BASH_ARGV0}}
-\entry{BASH_CMDS}{86}{\code {BASH_CMDS}}
-\entry{BASH_COMMAND}{86}{\code {BASH_COMMAND}}
-\entry{BASH_COMPAT}{86}{\code {BASH_COMPAT}}
-\entry{BASH_ENV}{86}{\code {BASH_ENV}}
-\entry{BASH_EXECUTION_STRING}{86}{\code {BASH_EXECUTION_STRING}}
-\entry{BASH_LINENO}{87}{\code {BASH_LINENO}}
-\entry{BASH_LOADABLES_PATH}{87}{\code {BASH_LOADABLES_PATH}}
-\entry{BASH_MONOSECONDS}{87}{\code {BASH_MONOSECONDS}}
-\entry{BASH_REMATCH}{87}{\code {BASH_REMATCH}}
-\entry{BASH_SOURCE}{87}{\code {BASH_SOURCE}}
-\entry{BASH_SUBSHELL}{87}{\code {BASH_SUBSHELL}}
-\entry{BASH_TRAPSIG}{87}{\code {BASH_TRAPSIG}}
-\entry{BASH_VERSINFO}{87}{\code {BASH_VERSINFO}}
-\entry{BASH_VERSION}{88}{\code {BASH_VERSION}}
-\entry{BASH_XTRACEFD}{88}{\code {BASH_XTRACEFD}}
-\entry{CHILD_MAX}{88}{\code {CHILD_MAX}}
-\entry{COLUMNS}{88}{\code {COLUMNS}}
-\entry{COMP_CWORD}{88}{\code {COMP_CWORD}}
-\entry{COMP_KEY}{88}{\code {COMP_KEY}}
-\entry{COMP_LINE}{88}{\code {COMP_LINE}}
-\entry{COMP_POINT}{89}{\code {COMP_POINT}}
-\entry{COMP_TYPE}{89}{\code {COMP_TYPE}}
-\entry{COMP_WORDBREAKS}{89}{\code {COMP_WORDBREAKS}}
-\entry{COMP_WORDS}{89}{\code {COMP_WORDS}}
-\entry{COMPREPLY}{89}{\code {COMPREPLY}}
-\entry{COPROC}{89}{\code {COPROC}}
-\entry{DIRSTACK}{89}{\code {DIRSTACK}}
-\entry{EMACS}{89}{\code {EMACS}}
-\entry{ENV}{89}{\code {ENV}}
-\entry{EPOCHREALTIME}{90}{\code {EPOCHREALTIME}}
-\entry{EPOCHSECONDS}{90}{\code {EPOCHSECONDS}}
-\entry{EUID}{90}{\code {EUID}}
-\entry{EXECIGNORE}{90}{\code {EXECIGNORE}}
-\entry{FCEDIT}{90}{\code {FCEDIT}}
-\entry{FIGNORE}{90}{\code {FIGNORE}}
-\entry{FUNCNAME}{90}{\code {FUNCNAME}}
-\entry{FUNCNEST}{90}{\code {FUNCNEST}}
-\entry{GLOBIGNORE}{90}{\code {GLOBIGNORE}}
-\entry{GLOBSORT}{91}{\code {GLOBSORT}}
-\entry{GROUPS}{91}{\code {GROUPS}}
-\entry{histchars}{91}{\code {histchars}}
-\entry{HISTCMD}{91}{\code {HISTCMD}}
-\entry{HISTCONTROL}{92}{\code {HISTCONTROL}}
-\entry{HISTFILE}{92}{\code {HISTFILE}}
-\entry{HISTFILESIZE}{92}{\code {HISTFILESIZE}}
-\entry{HISTIGNORE}{92}{\code {HISTIGNORE}}
-\entry{HISTSIZE}{92}{\code {HISTSIZE}}
-\entry{HISTTIMEFORMAT}{93}{\code {HISTTIMEFORMAT}}
-\entry{HOSTFILE}{93}{\code {HOSTFILE}}
-\entry{HOSTNAME}{93}{\code {HOSTNAME}}
-\entry{HOSTTYPE}{93}{\code {HOSTTYPE}}
-\entry{IGNOREEOF}{93}{\code {IGNOREEOF}}
-\entry{INPUTRC}{93}{\code {INPUTRC}}
-\entry{INSIDE_EMACS}{93}{\code {INSIDE_EMACS}}
-\entry{LANG}{93}{\code {LANG}}
-\entry{LC_ALL}{93}{\code {LC_ALL}}
-\entry{LC_COLLATE}{93}{\code {LC_COLLATE}}
-\entry{LC_CTYPE}{94}{\code {LC_CTYPE}}
-\entry{LC_MESSAGES}{94}{\code {LC_MESSAGES}}
-\entry{LC_NUMERIC}{94}{\code {LC_NUMERIC}}
-\entry{LC_TIME}{94}{\code {LC_TIME}}
-\entry{LINENO}{94}{\code {LINENO}}
-\entry{LINES}{94}{\code {LINES}}
-\entry{MACHTYPE}{94}{\code {MACHTYPE}}
-\entry{MAILCHECK}{94}{\code {MAILCHECK}}
-\entry{MAPFILE}{94}{\code {MAPFILE}}
-\entry{OLDPWD}{94}{\code {OLDPWD}}
-\entry{OPTERR}{94}{\code {OPTERR}}
-\entry{OSTYPE}{94}{\code {OSTYPE}}
-\entry{PIPESTATUS}{94}{\code {PIPESTATUS}}
-\entry{POSIXLY_CORRECT}{94}{\code {POSIXLY_CORRECT}}
-\entry{PPID}{95}{\code {PPID}}
-\entry{PROMPT_COMMAND}{95}{\code {PROMPT_COMMAND}}
-\entry{PROMPT_DIRTRIM}{95}{\code {PROMPT_DIRTRIM}}
-\entry{PS0}{95}{\code {PS0}}
-\entry{PS3}{95}{\code {PS3}}
-\entry{PS4}{95}{\code {PS4}}
-\entry{PWD}{95}{\code {PWD}}
-\entry{RANDOM}{95}{\code {RANDOM}}
-\entry{READLINE_ARGUMENT}{95}{\code {READLINE_ARGUMENT}}
-\entry{READLINE_LINE}{95}{\code {READLINE_LINE}}
-\entry{READLINE_MARK}{95}{\code {READLINE_MARK}}
-\entry{READLINE_POINT}{95}{\code {READLINE_POINT}}
-\entry{REPLY}{95}{\code {REPLY}}
-\entry{SECONDS}{96}{\code {SECONDS}}
-\entry{SHELL}{96}{\code {SHELL}}
-\entry{SHELLOPTS}{96}{\code {SHELLOPTS}}
-\entry{SHLVL}{96}{\code {SHLVL}}
-\entry{SRANDOM}{96}{\code {SRANDOM}}
-\entry{TIMEFORMAT}{96}{\code {TIMEFORMAT}}
-\entry{TMOUT}{97}{\code {TMOUT}}
-\entry{TMPDIR}{97}{\code {TMPDIR}}
-\entry{UID}{97}{\code {UID}}
+\entry{CDPATH}{85}{\code {CDPATH}}
+\entry{HOME}{85}{\code {HOME}}
+\entry{IFS}{85}{\code {IFS}}
+\entry{MAIL}{85}{\code {MAIL}}
+\entry{MAILPATH}{85}{\code {MAILPATH}}
+\entry{OPTARG}{85}{\code {OPTARG}}
+\entry{OPTIND}{85}{\code {OPTIND}}
+\entry{PATH}{85}{\code {PATH}}
+\entry{PS1}{85}{\code {PS1}}
+\entry{PS2}{85}{\code {PS2}}
+\entry{_}{86}{\code {_}}
+\entry{$_}{86}{\code {$_}}
+\entry{BASH}{86}{\code {BASH}}
+\entry{BASHOPTS}{86}{\code {BASHOPTS}}
+\entry{BASHPID}{86}{\code {BASHPID}}
+\entry{BASH_ALIASES}{86}{\code {BASH_ALIASES}}
+\entry{BASH_ARGC}{86}{\code {BASH_ARGC}}
+\entry{BASH_ARGV}{86}{\code {BASH_ARGV}}
+\entry{BASH_ARGV0}{87}{\code {BASH_ARGV0}}
+\entry{BASH_CMDS}{87}{\code {BASH_CMDS}}
+\entry{BASH_COMMAND}{87}{\code {BASH_COMMAND}}
+\entry{BASH_COMPAT}{87}{\code {BASH_COMPAT}}
+\entry{BASH_ENV}{87}{\code {BASH_ENV}}
+\entry{BASH_EXECUTION_STRING}{87}{\code {BASH_EXECUTION_STRING}}
+\entry{BASH_LINENO}{88}{\code {BASH_LINENO}}
+\entry{BASH_LOADABLES_PATH}{88}{\code {BASH_LOADABLES_PATH}}
+\entry{BASH_MONOSECONDS}{88}{\code {BASH_MONOSECONDS}}
+\entry{BASH_REMATCH}{88}{\code {BASH_REMATCH}}
+\entry{BASH_SOURCE}{88}{\code {BASH_SOURCE}}
+\entry{BASH_SUBSHELL}{88}{\code {BASH_SUBSHELL}}
+\entry{BASH_TRAPSIG}{88}{\code {BASH_TRAPSIG}}
+\entry{BASH_VERSINFO}{88}{\code {BASH_VERSINFO}}
+\entry{BASH_VERSION}{89}{\code {BASH_VERSION}}
+\entry{BASH_XTRACEFD}{89}{\code {BASH_XTRACEFD}}
+\entry{CHILD_MAX}{89}{\code {CHILD_MAX}}
+\entry{COLUMNS}{89}{\code {COLUMNS}}
+\entry{COMP_CWORD}{89}{\code {COMP_CWORD}}
+\entry{COMP_KEY}{89}{\code {COMP_KEY}}
+\entry{COMP_LINE}{89}{\code {COMP_LINE}}
+\entry{COMP_POINT}{90}{\code {COMP_POINT}}
+\entry{COMP_TYPE}{90}{\code {COMP_TYPE}}
+\entry{COMP_WORDBREAKS}{90}{\code {COMP_WORDBREAKS}}
+\entry{COMP_WORDS}{90}{\code {COMP_WORDS}}
+\entry{COMPREPLY}{90}{\code {COMPREPLY}}
+\entry{COPROC}{90}{\code {COPROC}}
+\entry{DIRSTACK}{90}{\code {DIRSTACK}}
+\entry{EMACS}{90}{\code {EMACS}}
+\entry{ENV}{90}{\code {ENV}}
+\entry{EPOCHREALTIME}{91}{\code {EPOCHREALTIME}}
+\entry{EPOCHSECONDS}{91}{\code {EPOCHSECONDS}}
+\entry{EUID}{91}{\code {EUID}}
+\entry{EXECIGNORE}{91}{\code {EXECIGNORE}}
+\entry{FCEDIT}{91}{\code {FCEDIT}}
+\entry{FIGNORE}{91}{\code {FIGNORE}}
+\entry{FUNCNAME}{91}{\code {FUNCNAME}}
+\entry{FUNCNEST}{91}{\code {FUNCNEST}}
+\entry{GLOBIGNORE}{91}{\code {GLOBIGNORE}}
+\entry{GLOBSORT}{92}{\code {GLOBSORT}}
+\entry{GROUPS}{92}{\code {GROUPS}}
+\entry{histchars}{92}{\code {histchars}}
+\entry{HISTCMD}{92}{\code {HISTCMD}}
+\entry{HISTCONTROL}{93}{\code {HISTCONTROL}}
+\entry{HISTFILE}{93}{\code {HISTFILE}}
+\entry{HISTFILESIZE}{93}{\code {HISTFILESIZE}}
+\entry{HISTIGNORE}{93}{\code {HISTIGNORE}}
+\entry{HISTSIZE}{93}{\code {HISTSIZE}}
+\entry{HISTTIMEFORMAT}{94}{\code {HISTTIMEFORMAT}}
+\entry{HOSTFILE}{94}{\code {HOSTFILE}}
+\entry{HOSTNAME}{94}{\code {HOSTNAME}}
+\entry{HOSTTYPE}{94}{\code {HOSTTYPE}}
+\entry{IGNOREEOF}{94}{\code {IGNOREEOF}}
+\entry{INPUTRC}{94}{\code {INPUTRC}}
+\entry{INSIDE_EMACS}{94}{\code {INSIDE_EMACS}}
+\entry{LANG}{94}{\code {LANG}}
+\entry{LC_ALL}{94}{\code {LC_ALL}}
+\entry{LC_COLLATE}{94}{\code {LC_COLLATE}}
+\entry{LC_CTYPE}{95}{\code {LC_CTYPE}}
+\entry{LC_MESSAGES}{95}{\code {LC_MESSAGES}}
+\entry{LC_NUMERIC}{95}{\code {LC_NUMERIC}}
+\entry{LC_TIME}{95}{\code {LC_TIME}}
+\entry{LINENO}{95}{\code {LINENO}}
+\entry{LINES}{95}{\code {LINES}}
+\entry{MACHTYPE}{95}{\code {MACHTYPE}}
+\entry{MAILCHECK}{95}{\code {MAILCHECK}}
+\entry{MAPFILE}{95}{\code {MAPFILE}}
+\entry{OLDPWD}{95}{\code {OLDPWD}}
+\entry{OPTERR}{95}{\code {OPTERR}}
+\entry{OSTYPE}{95}{\code {OSTYPE}}
+\entry{PIPESTATUS}{95}{\code {PIPESTATUS}}
+\entry{POSIXLY_CORRECT}{95}{\code {POSIXLY_CORRECT}}
+\entry{PPID}{96}{\code {PPID}}
+\entry{PROMPT_COMMAND}{96}{\code {PROMPT_COMMAND}}
+\entry{PROMPT_DIRTRIM}{96}{\code {PROMPT_DIRTRIM}}
+\entry{PS0}{96}{\code {PS0}}
+\entry{PS3}{96}{\code {PS3}}
+\entry{PS4}{96}{\code {PS4}}
+\entry{PWD}{96}{\code {PWD}}
+\entry{RANDOM}{96}{\code {RANDOM}}
+\entry{READLINE_ARGUMENT}{96}{\code {READLINE_ARGUMENT}}
+\entry{READLINE_LINE}{96}{\code {READLINE_LINE}}
+\entry{READLINE_MARK}{96}{\code {READLINE_MARK}}
+\entry{READLINE_POINT}{96}{\code {READLINE_POINT}}
+\entry{REPLY}{96}{\code {REPLY}}
+\entry{SECONDS}{97}{\code {SECONDS}}
+\entry{SHELL}{97}{\code {SHELL}}
+\entry{SHELLOPTS}{97}{\code {SHELLOPTS}}
+\entry{SHLVL}{97}{\code {SHLVL}}
+\entry{SRANDOM}{97}{\code {SRANDOM}}
+\entry{TIMEFORMAT}{97}{\code {TIMEFORMAT}}
+\entry{TMOUT}{98}{\code {TMOUT}}
+\entry{TMPDIR}{98}{\code {TMPDIR}}
+\entry{UID}{98}{\code {UID}}
 \entry{auto_resume}{127}{\code {auto_resume}}
 \entry{active-region-start-color}{132}{\code {active-region-start-color}}
 \entry{active-region-end-color}{132}{\code {active-region-end-color}}
index 4e6772228da665f40d39b4769ae5486bdea4f085..dcf4537873adbee799f8f6359a164b840afd7788 100644 (file)
@@ -11,7 +11,7 @@
 \entry{\code {$-}}{24}
 \entry{\code {$?}}{24}
 \entry{\code {$@}}{24}
-\entry{\code {$_}}{85}
+\entry{\code {$_}}{86}
 \entry{\code {$0}}{24}
 \initial {*}
 \entry{\code {*}}{23}
@@ -22,7 +22,7 @@
 \initial {@}
 \entry{\code {@}}{24}
 \initial {_}
-\entry{\code {_}}{85}
+\entry{\code {_}}{86}
 \initial {0}
 \entry{\code {0}}{24}
 \initial {A}
 \entry{\code {active-region-start-color}}{132}
 \entry{\code {auto_resume}}{127}
 \initial {B}
-\entry{\code {BASH}}{85}
-\entry{\code {BASH_ALIASES}}{85}
-\entry{\code {BASH_ARGC}}{85}
-\entry{\code {BASH_ARGV}}{85}
-\entry{\code {BASH_ARGV0}}{86}
-\entry{\code {BASH_CMDS}}{86}
-\entry{\code {BASH_COMMAND}}{86}
-\entry{\code {BASH_COMPAT}}{86}
-\entry{\code {BASH_ENV}}{86}
-\entry{\code {BASH_EXECUTION_STRING}}{86}
-\entry{\code {BASH_LINENO}}{87}
-\entry{\code {BASH_LOADABLES_PATH}}{87}
-\entry{\code {BASH_MONOSECONDS}}{87}
-\entry{\code {BASH_REMATCH}}{87}
-\entry{\code {BASH_SOURCE}}{87}
-\entry{\code {BASH_SUBSHELL}}{87}
-\entry{\code {BASH_TRAPSIG}}{87}
-\entry{\code {BASH_VERSINFO}}{87}
-\entry{\code {BASH_VERSION}}{88}
-\entry{\code {BASH_XTRACEFD}}{88}
-\entry{\code {BASHOPTS}}{85}
-\entry{\code {BASHPID}}{85}
+\entry{\code {BASH}}{86}
+\entry{\code {BASH_ALIASES}}{86}
+\entry{\code {BASH_ARGC}}{86}
+\entry{\code {BASH_ARGV}}{86}
+\entry{\code {BASH_ARGV0}}{87}
+\entry{\code {BASH_CMDS}}{87}
+\entry{\code {BASH_COMMAND}}{87}
+\entry{\code {BASH_COMPAT}}{87}
+\entry{\code {BASH_ENV}}{87}
+\entry{\code {BASH_EXECUTION_STRING}}{87}
+\entry{\code {BASH_LINENO}}{88}
+\entry{\code {BASH_LOADABLES_PATH}}{88}
+\entry{\code {BASH_MONOSECONDS}}{88}
+\entry{\code {BASH_REMATCH}}{88}
+\entry{\code {BASH_SOURCE}}{88}
+\entry{\code {BASH_SUBSHELL}}{88}
+\entry{\code {BASH_TRAPSIG}}{88}
+\entry{\code {BASH_VERSINFO}}{88}
+\entry{\code {BASH_VERSION}}{89}
+\entry{\code {BASH_XTRACEFD}}{89}
+\entry{\code {BASHOPTS}}{86}
+\entry{\code {BASHPID}}{86}
 \entry{\code {bell-style}}{132}
 \entry{\code {bind-tty-special-chars}}{133}
 \entry{\code {blink-matching-paren}}{133}
 \initial {C}
-\entry{\code {CDPATH}}{84}
-\entry{\code {CHILD_MAX}}{88}
+\entry{\code {CDPATH}}{85}
+\entry{\code {CHILD_MAX}}{89}
 \entry{\code {colored-completion-prefix}}{133}
 \entry{\code {colored-stats}}{133}
-\entry{\code {COLUMNS}}{88}
+\entry{\code {COLUMNS}}{89}
 \entry{\code {comment-begin}}{133}
-\entry{\code {COMP_CWORD}}{88}
-\entry{\code {COMP_KEY}}{88}
-\entry{\code {COMP_LINE}}{88}
-\entry{\code {COMP_POINT}}{89}
-\entry{\code {COMP_TYPE}}{89}
-\entry{\code {COMP_WORDBREAKS}}{89}
-\entry{\code {COMP_WORDS}}{89}
+\entry{\code {COMP_CWORD}}{89}
+\entry{\code {COMP_KEY}}{89}
+\entry{\code {COMP_LINE}}{89}
+\entry{\code {COMP_POINT}}{90}
+\entry{\code {COMP_TYPE}}{90}
+\entry{\code {COMP_WORDBREAKS}}{90}
+\entry{\code {COMP_WORDS}}{90}
 \entry{\code {completion-display-width}}{133}
 \entry{\code {completion-ignore-case}}{133}
 \entry{\code {completion-map-case}}{133}
 \entry{\code {completion-prefix-display-length}}{133}
 \entry{\code {completion-query-items}}{134}
-\entry{\code {COMPREPLY}}{89}
+\entry{\code {COMPREPLY}}{90}
 \entry{\code {convert-meta}}{134}
-\entry{\code {COPROC}}{89}
+\entry{\code {COPROC}}{90}
 \initial {D}
-\entry{\code {DIRSTACK}}{89}
+\entry{\code {DIRSTACK}}{90}
 \entry{\code {disable-completion}}{134}
 \initial {E}
 \entry{\code {echo-control-characters}}{134}
 \entry{\code {editing-mode}}{134}
 \entry{\code {emacs-mode-string}}{134}
-\entry{\code {EMACS}}{89}
+\entry{\code {EMACS}}{90}
 \entry{\code {enable-active-region The}}{135}
 \entry{\code {enable-bracketed-paste}}{135}
 \entry{\code {enable-keypad}}{135}
 \entry{\code {enable-meta-key}}{135}
-\entry{\code {ENV}}{89}
-\entry{\code {EPOCHREALTIME}}{90}
-\entry{\code {EPOCHSECONDS}}{90}
-\entry{\code {EUID}}{90}
-\entry{\code {EXECIGNORE}}{90}
+\entry{\code {ENV}}{90}
+\entry{\code {EPOCHREALTIME}}{91}
+\entry{\code {EPOCHSECONDS}}{91}
+\entry{\code {EUID}}{91}
+\entry{\code {EXECIGNORE}}{91}
 \entry{\code {expand-tilde}}{135}
 \initial {F}
-\entry{\code {FCEDIT}}{90}
-\entry{\code {FIGNORE}}{90}
+\entry{\code {FCEDIT}}{91}
+\entry{\code {FIGNORE}}{91}
 \entry{\code {force-meta-prefix}}{135}
-\entry{\code {FUNCNAME}}{90}
-\entry{\code {FUNCNEST}}{90}
+\entry{\code {FUNCNAME}}{91}
+\entry{\code {FUNCNEST}}{91}
 \initial {G}
-\entry{\code {GLOBIGNORE}}{90}
-\entry{\code {GLOBSORT}}{91}
-\entry{\code {GROUPS}}{91}
+\entry{\code {GLOBIGNORE}}{91}
+\entry{\code {GLOBSORT}}{92}
+\entry{\code {GROUPS}}{92}
 \initial {H}
-\entry{\code {histchars}}{91}
-\entry{\code {HISTCMD}}{91}
-\entry{\code {HISTCONTROL}}{92}
-\entry{\code {HISTFILE}}{92}
-\entry{\code {HISTFILESIZE}}{92}
-\entry{\code {HISTIGNORE}}{92}
+\entry{\code {histchars}}{92}
+\entry{\code {HISTCMD}}{92}
+\entry{\code {HISTCONTROL}}{93}
+\entry{\code {HISTFILE}}{93}
+\entry{\code {HISTFILESIZE}}{93}
+\entry{\code {HISTIGNORE}}{93}
 \entry{\code {history-preserve-point}}{136}
 \entry{\code {history-size}}{136}
-\entry{\code {HISTSIZE}}{92}
-\entry{\code {HISTTIMEFORMAT}}{93}
-\entry{\code {HOME}}{84}
+\entry{\code {HISTSIZE}}{93}
+\entry{\code {HISTTIMEFORMAT}}{94}
+\entry{\code {HOME}}{85}
 \entry{\code {horizontal-scroll-mode}}{136}
-\entry{\code {HOSTFILE}}{93}
-\entry{\code {HOSTNAME}}{93}
-\entry{\code {HOSTTYPE}}{93}
+\entry{\code {HOSTFILE}}{94}
+\entry{\code {HOSTNAME}}{94}
+\entry{\code {HOSTTYPE}}{94}
 \initial {I}
-\entry{\code {IFS}}{84}
-\entry{\code {IGNOREEOF}}{93}
+\entry{\code {IFS}}{85}
+\entry{\code {IGNOREEOF}}{94}
 \entry{\code {input-meta}}{136}
-\entry{\code {INPUTRC}}{93}
-\entry{\code {INSIDE_EMACS}}{93}
+\entry{\code {INPUTRC}}{94}
+\entry{\code {INSIDE_EMACS}}{94}
 \entry{\code {isearch-terminators}}{136}
 \initial {K}
 \entry{\code {keymap}}{136}
 \initial {L}
-\entry{\code {LANG}}{8, 93}
-\entry{\code {LC_ALL}}{93}
-\entry{\code {LC_COLLATE}}{93}
-\entry{\code {LC_CTYPE}}{94}
-\entry{\code {LC_MESSAGES}}{8, 94}
-\entry{\code {LC_NUMERIC}}{94}
-\entry{\code {LC_TIME}}{94}
-\entry{\code {LINENO}}{94}
-\entry{\code {LINES}}{94}
+\entry{\code {LANG}}{8, 94}
+\entry{\code {LC_ALL}}{94}
+\entry{\code {LC_COLLATE}}{94}
+\entry{\code {LC_CTYPE}}{95}
+\entry{\code {LC_MESSAGES}}{8, 95}
+\entry{\code {LC_NUMERIC}}{95}
+\entry{\code {LC_TIME}}{95}
+\entry{\code {LINENO}}{95}
+\entry{\code {LINES}}{95}
 \initial {M}
-\entry{\code {MACHTYPE}}{94}
-\entry{\code {MAIL}}{84}
-\entry{\code {MAILCHECK}}{94}
-\entry{\code {MAILPATH}}{84}
-\entry{\code {MAPFILE}}{94}
+\entry{\code {MACHTYPE}}{95}
+\entry{\code {MAIL}}{85}
+\entry{\code {MAILCHECK}}{95}
+\entry{\code {MAILPATH}}{85}
+\entry{\code {MAPFILE}}{95}
 \entry{\code {mark-modified-lines}}{137}
 \entry{\code {mark-symlinked-directories}}{137}
 \entry{\code {match-hidden-files}}{137}
 \entry{\code {menu-complete-display-prefix}}{137}
 \entry{\code {meta-flag}}{136}
 \initial {O}
-\entry{\code {OLDPWD}}{94}
-\entry{\code {OPTARG}}{84}
-\entry{\code {OPTERR}}{94}
-\entry{\code {OPTIND}}{84}
-\entry{\code {OSTYPE}}{94}
+\entry{\code {OLDPWD}}{95}
+\entry{\code {OPTARG}}{85}
+\entry{\code {OPTERR}}{95}
+\entry{\code {OPTIND}}{85}
+\entry{\code {OSTYPE}}{95}
 \entry{\code {output-meta}}{137}
 \initial {P}
 \entry{\code {page-completions}}{137}
-\entry{\code {PATH}}{84}
-\entry{\code {PIPESTATUS}}{94}
-\entry{\code {POSIXLY_CORRECT}}{94}
-\entry{\code {PPID}}{95}
-\entry{\code {PROMPT_COMMAND}}{95}
-\entry{\code {PROMPT_DIRTRIM}}{95}
-\entry{\code {PS0}}{95}
-\entry{\code {PS1}}{84}
-\entry{\code {PS2}}{84}
-\entry{\code {PS3}}{95}
-\entry{\code {PS4}}{95}
-\entry{\code {PWD}}{95}
+\entry{\code {PATH}}{85}
+\entry{\code {PIPESTATUS}}{95}
+\entry{\code {POSIXLY_CORRECT}}{95}
+\entry{\code {PPID}}{96}
+\entry{\code {PROMPT_COMMAND}}{96}
+\entry{\code {PROMPT_DIRTRIM}}{96}
+\entry{\code {PS0}}{96}
+\entry{\code {PS1}}{85}
+\entry{\code {PS2}}{85}
+\entry{\code {PS3}}{96}
+\entry{\code {PS4}}{96}
+\entry{\code {PWD}}{96}
 \initial {R}
-\entry{\code {RANDOM}}{95}
-\entry{\code {READLINE_ARGUMENT}}{95}
-\entry{\code {READLINE_LINE}}{95}
-\entry{\code {READLINE_MARK}}{95}
-\entry{\code {READLINE_POINT}}{95}
-\entry{\code {REPLY}}{95}
+\entry{\code {RANDOM}}{96}
+\entry{\code {READLINE_ARGUMENT}}{96}
+\entry{\code {READLINE_LINE}}{96}
+\entry{\code {READLINE_MARK}}{96}
+\entry{\code {READLINE_POINT}}{96}
+\entry{\code {REPLY}}{96}
 \entry{\code {revert-all-at-newline}}{138}
 \initial {S}
 \entry{\code {search-ignore-case}}{138}
-\entry{\code {SECONDS}}{96}
-\entry{\code {SHELL}}{96}
-\entry{\code {SHELLOPTS}}{96}
-\entry{\code {SHLVL}}{96}
+\entry{\code {SECONDS}}{97}
+\entry{\code {SHELL}}{97}
+\entry{\code {SHELLOPTS}}{97}
+\entry{\code {SHLVL}}{97}
 \entry{\code {show-all-if-ambiguous}}{138}
 \entry{\code {show-all-if-unmodified}}{138}
 \entry{\code {show-mode-in-prompt}}{138}
 \entry{\code {skip-completed-text}}{138}
-\entry{\code {SRANDOM}}{96}
+\entry{\code {SRANDOM}}{97}
 \initial {T}
 \entry{\code {TEXTDOMAIN}}{8}
 \entry{\code {TEXTDOMAINDIR}}{8}
-\entry{\code {TIMEFORMAT}}{96}
-\entry{\code {TMOUT}}{97}
-\entry{\code {TMPDIR}}{97}
+\entry{\code {TIMEFORMAT}}{97}
+\entry{\code {TMOUT}}{98}
+\entry{\code {TMPDIR}}{98}
 \initial {U}
-\entry{\code {UID}}{97}
+\entry{\code {UID}}{98}
 \initial {V}
 \entry{\code {vi-cmd-mode-string}}{138}
 \entry{\code {vi-ins-mode-string}}{139}
index 489e36af963a0d5cc47b2d6e24d8db9a85ce7c5b..c933312eb73263b7cbf8b698779e36f15b0c2087 100644 (file)
Binary files a/doc/builtins.pdf and b/doc/builtins.pdf differ
diff --git a/doc/builtins.ps b/doc/builtins.ps
deleted file mode 100644 (file)
index 704dca1..0000000
+++ /dev/null
@@ -1,3740 +0,0 @@
-%!PS-Adobe-3.0
-%%Creator: groff version 1.23.0
-%%CreationDate: Thu Oct 17 11:28:25 2024
-%%DocumentNeededResources: font Times-Italic
-%%+ font Times-Roman
-%%+ font Times-Bold
-%%+ font Symbol
-%%DocumentSuppliedResources: procset grops 1.23 0
-%%Pages: 30
-%%PageOrder: Ascend
-%%DocumentMedia: Default 612 792 0 () ()
-%%Orientation: Portrait
-%%EndComments
-%%BeginDefaults
-%%PageMedia: Default
-%%EndDefaults
-%%BeginProlog
-%%BeginResource: procset grops 1.23 0
-%!PS-Adobe-3.0 Resource-ProcSet
-/setpacking where{
-pop
-currentpacking
-true setpacking
-}if
-/grops 120 dict dup begin
-% The ASCII code of the space character.
-/SC 32 def
-/A/show load def
-/B{0 SC 3 -1 roll widthshow}bind def
-/C{0 exch ashow}bind def
-/D{0 exch 0 SC 5 2 roll awidthshow}bind def
-/E{0 rmoveto show}bind def
-/F{0 rmoveto 0 SC 3 -1 roll widthshow}bind def
-/G{0 rmoveto 0 exch ashow}bind def
-/H{0 rmoveto 0 exch 0 SC 5 2 roll awidthshow}bind def
-/I{0 exch rmoveto show}bind def
-/J{0 exch rmoveto 0 SC 3 -1 roll widthshow}bind def
-/K{0 exch rmoveto 0 exch ashow}bind def
-/L{0 exch rmoveto 0 exch 0 SC 5 2 roll awidthshow}bind def
-/M{rmoveto show}bind def
-/N{rmoveto 0 SC 3 -1 roll widthshow}bind def
-/O{rmoveto 0 exch ashow}bind def
-/P{rmoveto 0 exch 0 SC 5 2 roll awidthshow}bind def
-/Q{moveto show}bind def
-/R{moveto 0 SC 3 -1 roll widthshow}bind def
-/S{moveto 0 exch ashow}bind def
-/T{moveto 0 exch 0 SC 5 2 roll awidthshow}bind def
-% name size font SF -
-/SF{
-findfont exch
-[exch dup 0 exch 0 exch neg 0 0]makefont
-dup setfont
-[exch/setfont cvx]cvx bind def
-}bind def
-% name a c d font MF -
-/MF{
-findfont
-[5 2 roll
-0 3 1 roll % b
-neg 0 0]makefont
-dup setfont
-[exch/setfont cvx]cvx bind def
-}bind def
-/level0 0 def
-/RES 0 def
-/PL 0 def
-/LS 0 def
-% Enable manual feed.
-% MANUAL -
-/MANUAL{
-statusdict begin/manualfeed true store end
-}bind def
-% Guess the page length.
-% This assumes that the imageable area is vertically centered on the page.
-% PLG - length
-/PLG{
-gsave newpath clippath pathbbox grestore
-exch pop add exch pop
-}bind def
-% BP -
-/BP{
-/level0 save def
-1 setlinecap
-1 setlinejoin
-DEFS/BPhook known{DEFS begin BPhook end}if
-72 RES div dup scale
-LS{
-90 rotate
-}{
-0 PL translate
-}ifelse
-1 -1 scale
-}bind def
-/EP{
-level0 restore
-showpage
-}def
-% centerx centery radius startangle endangle DA -
-/DA{
-newpath arcn stroke
-}bind def
-% x y SN - x' y'
-% round a position to nearest (pixel + (.25,.25))
-/SN{
-transform
-.25 sub exch .25 sub exch
-round .25 add exch round .25 add exch
-itransform
-}bind def
-% endx endy startx starty DL -
-% we round the endpoints of the line, so that parallel horizontal
-% and vertical lines will appear even
-/DL{
-SN
-moveto
-SN
-lineto stroke
-}bind def
-% centerx centery radius DC -
-/DC{
-newpath 0 360 arc closepath
-}bind def
-/TM matrix def
-%  width height centerx centery DE -
-/DE{
-TM currentmatrix pop
-translate scale newpath 0 0 .5 0 360 arc closepath
-TM setmatrix
-}bind def
-% these are for splines
-/RC/rcurveto load def
-/RL/rlineto load def
-/ST/stroke load def
-/MT/moveto load def
-/CL/closepath load def
-% fill the last path
-% r g b Fr -
-/Fr{
-setrgbcolor fill
-}bind def
-% c m y k Fk -
-/setcmykcolor where{
-pop
-/Fk{
-setcmykcolor fill
-}bind def
-}if
-% g Fg -
-/Fg{
-setgray fill
-}bind def
-% fill with the "current color"
-/FL/fill load def
-/LW/setlinewidth load def
-/Cr/setrgbcolor load def
-/setcmykcolor where{
-pop
-/Ck/setcmykcolor load def
-}if
-/Cg/setgray load def
-% new_font_name encoding_vector old_font_name RE -
-/RE{
-findfont
-dup maxlength 1 index/FontName known not{1 add}if dict begin
-{
-1 index/FID ne
-2 index/UniqueID ne
-and
-{def}{pop pop}ifelse
-}forall
-/Encoding exch def
-dup/FontName exch def
-currentdict end definefont pop
-}bind def
-/DEFS 0 def
-% hpos vpos EBEGIN -
-/EBEGIN{
-moveto
-DEFS begin
-}bind def
-/EEND/end load def
-/CNT 0 def
-/level1 0 def
-% llx lly newwid wid newht ht newllx newlly PBEGIN -
-/PBEGIN{
-/level1 save def
-translate
-div 3 1 roll div exch scale
-neg exch neg exch translate
-% set the graphics state to default values
-0 setgray
-0 setlinecap
-1 setlinewidth
-0 setlinejoin
-10 setmiterlimit
-[]0 setdash
-/setstrokeadjust where{
-pop
-false setstrokeadjust
-}if
-/setoverprint where{
-pop
-false setoverprint
-}if
-newpath
-/CNT countdictstack def
-userdict begin
-/showpage{}def
-%
-%  Any included setpagedevice should be ignored.
-%  See: http://www.w-beer.de/doc/ps/.
-%
-/setpagedevice{}def
-mark
-}bind def
-/PEND{
-cleartomark
-countdictstack CNT sub{end}repeat
-level1 restore
-}bind def
-end def
-/setpacking where{
-pop
-setpacking
-}if
-%%EndResource
-%%EndProlog
-%%BeginSetup
-%%BeginFeature: *PageSize Default
-<< /PageSize [ 612 792 ] /ImagingBBox null >> setpagedevice
-%%EndFeature
-%%IncludeResource: font Times-Italic
-%%IncludeResource: font Times-Roman
-%%IncludeResource: font Times-Bold
-%%IncludeResource: font Symbol
-grops begin/DEFS 1 dict def DEFS begin/u{.001 mul}bind def end/RES 72
-def/PL 792 def/LS false def/ENC0[/asciicircum/asciitilde/Scaron/Zcaron
-/scaron/zcaron/Ydieresis/trademark/quotesingle/Euro/.notdef/.notdef
-/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
-/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
-/.notdef/.notdef/space/exclam/quotedbl/numbersign/dollar/percent
-/ampersand/quoteright/parenleft/parenright/asterisk/plus/comma/hyphen
-/period/slash/zero/one/two/three/four/five/six/seven/eight/nine/colon
-/semicolon/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O
-/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright/circumflex
-/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y
-/z/braceleft/bar/braceright/tilde/.notdef/quotesinglbase/guillemotleft
-/guillemotright/bullet/florin/fraction/perthousand/dagger/daggerdbl
-/endash/emdash/ff/fi/fl/ffi/ffl/dotlessi/dotlessj/grave/hungarumlaut
-/dotaccent/breve/caron/ring/ogonek/quotedblleft/quotedblright/oe/lslash
-/quotedblbase/OE/Lslash/.notdef/exclamdown/cent/sterling/currency/yen
-/brokenbar/section/dieresis/copyright/ordfeminine/guilsinglleft
-/logicalnot/minus/registered/macron/degree/plusminus/twosuperior
-/threesuperior/acute/mu/paragraph/periodcentered/cedilla/onesuperior
-/ordmasculine/guilsinglright/onequarter/onehalf/threequarters
-/questiondown/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE
-/Ccedilla/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex
-/Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis
-/multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute/Thorn
-/germandbls/agrave/aacute/acircumflex/atilde/adieresis/aring/ae/ccedilla
-/egrave/eacute/ecircumflex/edieresis/igrave/iacute/icircumflex/idieresis
-/eth/ntilde/ograve/oacute/ocircumflex/otilde/odieresis/divide/oslash
-/ugrave/uacute/ucircumflex/udieresis/yacute/thorn/ydieresis]def
-/Times-Bold@0 ENC0/Times-Bold RE/Times-Roman@0 ENC0/Times-Roman RE
-/Times-Italic@0 ENC0/Times-Italic RE
-%%EndSetup
-%%Page: 1 1
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH_B).25 E(UIL)-.1 E(TINS)-.2 E
-/F1 10/Times-Roman@0 SF 91.21(\(1\) General).58 F(Commands Manual)2.5 E
-F0 -.25(BA)93.71 G(SH_B).25 E(UIL)-.1 E(TINS)-.2 E F1(\(1\)).58 E/F2
-10.95/Times-Bold@0 SF -.219(NA)72 84 S(ME).219 E F1 .622
-(:, ., [, alias, bg, bind, break, b)108 96 R .622(uiltin, caller)-.2 F
-3.122(,c)-.4 G .622
-(d, command, compgen, complete, compopt, continue, declare,)-3.122 F
-.076(dirs, diso)108 108 R .076(wn, echo, enable, e)-.25 F -.25(va)-.25 G
-.076(l, e).25 F -.15(xe)-.15 G .076(c, e).15 F .077(xit, e)-.15 F .077
-(xport, f)-.15 F .077(alse, fc, fg, getopts, hash, help, history)-.1 F
-2.577(,j)-.65 G .077(obs, kill, let, lo-)-2.577 F .077
-(cal, logout, map\214le, popd, printf, pushd, pwd, read, readarray)108
-120 R 2.577(,r)-.65 G(eadonly)-2.577 E 2.577(,r)-.65 G .076
-(eturn, set, shift, shopt, source, sus-)-2.577 F .279(pend, test, times\
-, trap, true, type, typeset, ulimit, umask, unalias, unset, w)108 132 R
-.279(ait \255 bash b)-.1 F .279(uilt-in commands, see)-.2 F/F3 10
-/Times-Bold@0 SF(bash)108 144 Q F1(\(1\))A F2 -.329(BA)72 160.8 S(SH B)
-.329 E(UIL)-.11 E(TIN COMMANDS)-1.007 E F1 .063
-(Unless otherwise noted, each b)108 172.8 R .062(uiltin command documen\
-ted in this section as accepting options preceded by)-.2 F F3<ad>108
-184.8 Q F1(accepts)3.077 E F3<adad>3.077 E F1 .577
-(to signify the end of the options.)3.077 F(The)5.577 E F3(:)3.077 E F1
-(,)A F3(true)3.077 E F1(,)A F3(false)3.077 E F1 3.077(,a)C(nd)-3.077 E
-F3(test)3.077 E F1(/)A F3([)A F1 -.2(bu)3.077 G .577
-(iltins do not accept options).2 F .462(and do not treat)108 196.8 R F3
-<adad>2.961 E F1(specially)2.961 E 5.461(.T)-.65 G(he)-5.461 E F3(exit)
-2.961 E F1(,)A F3(logout)2.961 E F1(,)A F3 -.18(re)2.961 G(tur).18 E(n)
--.15 E F1(,)A F3(br)2.961 E(eak)-.18 E F1(,)A F3(continue)2.961 E F1(,)A
-F3(let)2.961 E F1 2.961(,a)C(nd)-2.961 E F3(shift)2.961 E F1 -.2(bu)
-2.961 G .461(iltins accept and).2 F .26(process ar)108 208.8 R .26
-(guments be)-.18 F .26(ginning with)-.15 F F3<ad>2.76 E F1 .261
-(without requiring)2.76 F F3<adad>2.761 E F1 5.261(.O)C .261(ther b)
--5.261 F .261(uiltins that accept ar)-.2 F .261(guments b)-.18 F .261
-(ut are not)-.2 F 1.154(speci\214ed as accepting options interpret ar)
-108 220.8 R 1.154(guments be)-.18 F 1.154(ginning with)-.15 F F3<ad>
-3.654 E F1 1.154(as in)3.654 F -.25(va)-.4 G 1.154
-(lid options and require).25 F F3<adad>3.654 E F1(to)3.654 E(pre)108
-232.8 Q -.15(ve)-.25 G(nt this interpretation.).15 E F3(:)108 249.6 Q F1
-([)2.5 E F0(ar)A(guments)-.37 E F1(])A .451(No ef)144 261.6 R .451
-(fect; the command does nothing be)-.25 F .452(yond e)-.15 F(xpanding)
--.15 E F0(ar)3.282 E(guments)-.37 E F1 .452(and performing an)3.222 F
-2.952(ys)-.15 G(peci\214ed)-2.952 E 2.5(redirections. The)144 273.6 R
-(return status is zero.)2.5 E F3(.)108 290.4 Q F1([)2.5 E F3<ad70>A F0
-(path)2.5 E F1(])A F0(\214lename)2.5 E F1([)2.5 E F0(ar)A(guments)-.37 E
-F1(])A F3(sour)108 302.4 Q(ce)-.18 E F1([)2.5 E F3<ad70>A F0(path)2.5 E
-F1(])A F0(\214lename)2.5 E F1([)2.5 E F0(ar)A(guments)-.37 E F1(])A(The)
-144 314.4 Q F3(.)2.79 E F1 .29(command \()2.79 F F3(sour)A(ce)-.18 E F1
-2.79(\)r)C .289(eads and e)-2.79 F -.15(xe)-.15 G .289
-(cute commands from).15 F F0(\214lename)4.699 E F1 .289
-(in the current shell en)2.969 F(viron-)-.4 E(ment and returns the e)144
-326.4 Q(xit status of the last command e)-.15 E -.15(xe)-.15 G
-(cuted from).15 E F0(\214lename)4.41 E F1(.).18 E(If)144 343.2 Q F0
-(\214lename)2.662 E F1 .162(does not contain a slash,)2.662 F F3(.)2.662
-E F1 .162(searches for it.)2.662 F .162(If the)5.162 F F3<ad70>2.662 E
-F1 .163(option is supplied,)2.663 F F3(.)2.663 E F1(treats)2.663 E F0
-(path)2.663 E F1 .163(as a)2.663 F .598
-(colon-separated list of directories in which to \214nd)144 355.2 R F0
-(\214lename)3.097 E F1 3.097(;o)C(therwise,)-3.097 E F3(.)3.097 E F1
-.597(uses the entries in)3.097 F/F4 9/Times-Bold@0 SF -.666(PA)3.097 G
-(TH)-.189 E F1 .302(to \214nd the directory containing)144 367.2 R F0
-(\214lename)4.712 E F1(.).18 E F0(\214lename)5.303 E F1 .303
-(does not need to be e)2.803 F -.15(xe)-.15 G 2.803(cutable. When).15 F
-F3(bash)2.803 E F1(is)2.803 E .459
-(not in posix mode, it searches the current directory if)144 379.2 R F0
-(\214lename)2.959 E F1 .459(is not found in)2.959 F F4 -.666(PA)2.959 G
-(TH)-.189 E/F5 9/Times-Roman@0 SF(,)A F1 -.2(bu)2.708 G 2.958(td).2 G
-.458(oes not)-2.958 F .6(search the current directory if)144 391.2 R F3
-<ad70>3.1 E F1 .6(is supplied.)3.1 F .6(If the)5.6 F F3(sour)3.1 E
-(cepath)-.18 E F1 .6(option to the)3.1 F F3(shopt)3.1 E F1 -.2(bu)3.1 G
-.6(iltin com-).2 F(mand is turned of)144 403.2 Q(f,)-.25 E F3(.)2.5 E F1
-(does not search)2.5 E F4 -.666(PA)2.5 G(TH)-.189 E F5(.)A F1 .65(If an)
-144 420 R(y)-.15 E F0(ar)3.15 E(guments)-.37 E F1 .649
-(are supplied, the)3.15 F 3.149(yb)-.15 G .649
-(ecome the positional parameters when)-3.149 F F0(\214lename)3.149 E F1
-.649(is e)3.149 F -.15(xe)-.15 G(cuted.).15 E
-(Otherwise the positional parameters are unchanged.)144 432 Q .498
-(If the)144 448.8 R F3<ad54>2.998 E F1 .498(option is enabled,)2.998 F
-F3(.)2.998 E F1 .498(inherits an)2.998 F 2.998(yt)-.15 G .498(rap on)
--2.998 F F3(DEB)2.999 E(UG)-.1 E F1 2.999(;i)C 2.999(fi)-2.999 G 2.999
-(ti)-2.999 G 2.999(sn)-2.999 G .499(ot, an)-2.999 F(y)-.15 E F3(DEB)
-2.999 E(UG)-.1 E F1 .499(trap string is)2.999 F(sa)144 460.8 Q -.15(ve)
--.2 G 3.26(da).15 G .76(nd restored around the call to)-3.26 F F3(.)3.26
-E F1 3.26(,a)C(nd)-3.26 E F3(.)3.26 E F1 .76(unsets the)3.26 F F3(DEB)
-3.26 E(UG)-.1 E F1 .76(trap while it e)3.26 F -.15(xe)-.15 G 3.26
-(cutes. If).15 F F3<ad54>3.26 E F1(is)3.26 E 1.076
-(not set, and the sourced \214le changes the)144 472.8 R F3(DEB)3.576 E
-(UG)-.1 E F1 1.076(trap, the ne)3.576 F 3.576(wv)-.25 G 1.077
-(alue persists after)-3.826 F F3(.)3.577 E F1(completes.)3.577 E .424
-(The return status is the status of the last command e)144 484.8 R -.15
-(xe)-.15 G .423(cuted from).15 F F0(\214lename)2.923 E F1 .423
-(\(0 if no commands are)2.923 F -.15(exe)144 496.8 S
-(cuted\), and non-zero if).15 E F0(\214lename)4.41 E F1
-(is not found or cannot be read.)2.68 E F3(alias)108 513.6 Q F1([)2.5 E
-F3<ad70>A F1 2.5(][)C F0(name)-2.5 E F1([=)A F0(value)A F1 2.5(].)C
-1.666(..)-.834 G(])-1.666 E -.4(Wi)144 525.6 S 2.6(th no ar).4 F 2.6
-(guments or with the)-.18 F F3<ad70>5.1 E F1(option,)5.1 E F3(alias)
-5.101 E F1 2.601(prints the list of aliases in the form)5.101 F F3
-(alias)5.101 E F0(name)144 537.6 Q F1(=)A F0(value)A F1 1.715
-(on standard output.)4.215 F 1.715(When ar)6.715 F 1.714
-(guments are supplied, de\214ne an alias for each)-.18 F F0(name)4.214 E
-F1(whose)144 549.6 Q F0(value)2.508 E F1 .009(is gi)2.508 F -.15(ve)-.25
-G 2.509(n. A).15 F .009(trailing space in)2.509 F F0(value)2.509 E F1
-.009(causes the ne)2.509 F .009(xt w)-.15 F .009(ord to be check)-.1 F
-.009(ed for alias substi-)-.1 F .027(tution when the alias is e)144
-561.6 R .026(xpanded during command parsing.)-.15 F -.15(Fo)5.026 G
-2.526(re).15 G(ach)-2.526 E F0(name)2.526 E F1 .026(in the ar)2.526 F
-.026(gument list for)-.18 F .303(which no)144 573.6 R F0(value)2.803 E
-F1 .304(is supplied, print the name and v)2.804 F .304
-(alue of the alias)-.25 F F0(name)2.804 E F1(.)A F3(alias)5.304 E F1
-.304(returns true unless a)2.804 F F0(name)144 585.6 Q F1(is gi)2.5 E
--.15(ve)-.25 G 2.5(n\().15 G(without a corresponding =)-2.5 E F0(value)A
-F1 2.5(\)f)C(or which no alias has been de\214ned.)-2.5 E F3(bg)108
-602.4 Q F1([)2.5 E F0(jobspec)A F1 1.666(...)2.5 G(])-1.666 E .745
-(Resume each suspended job)144 614.4 R F0(jobspec)3.245 E F1 .745
-(in the background, as if it had been started with)3.245 F F3(&)3.244 E
-F1 5.744(.I)C(f)-5.744 E F0(job-)4.984 E(spec)144 626.4 Q F1 .949
-(is not present, the shell uses its notion of the)3.759 F F0(curr)3.45 E
-.95(ent job)-.37 F F1(.)A F3(bg)5.95 E F0(jobspec)5.19 E F1 .95
-(returns 0 unless run)3.76 F .419(when job control is disabled or)144
-638.4 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 F0(jobspec)2.918 E F1 -.1(wa)2.918
-G 2.918(sn).1 G(ot)-2.918 E(found or w)144 650.4 Q
-(as started without job control.)-.1 E F3(bind)108 667.2 Q F1([)2.5 E F3
-<ad6d>A F0 -.1(ke)2.5 G(ymap)-.2 E F1 2.5(][)C F3(\255lsvSVX)-2.5 E F1
-(])A F3(bind)108 679.2 Q F1([)2.5 E F3<ad6d>A F0 -.1(ke)2.5 G(ymap)-.2 E
-F1 2.5(][)C F3<ad71>-2.5 E F0(function)2.5 E F1 2.5(][)C F3<ad75>-2.5 E
-F0(function)2.5 E F1 2.5(][)C F3<ad72>-2.5 E F0 -.1(ke)2.5 G(yseq)-.2 E
-F1(])A F3(bind)108 691.2 Q F1([)2.5 E F3<ad6d>A F0 -.1(ke)2.5 G(ymap)-.2
-E F1(])A F3<ad66>2.5 E F0(\214lename)2.5 E F3(bind)108 703.2 Q F1([)2.5
-E F3<ad6d>A F0 -.1(ke)2.5 G(ymap)-.2 E F1(])A F3<ad78>2.5 E F0 -.1(ke)
-2.5 G(yseq)-.2 E F1([:])A F0(shell\255command)2.5 E F1(GNU Bash 5.2)72
-768 Q(2023 January 27)141.79 E(1)195.95 E 0 Cg EP
-%%Page: 2 2
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH_B).25 E(UIL)-.1 E(TINS)-.2 E
-/F1 10/Times-Roman@0 SF 91.21(\(1\) General).58 F(Commands Manual)2.5 E
-F0 -.25(BA)93.71 G(SH_B).25 E(UIL)-.1 E(TINS)-.2 E F1(\(1\)).58 E/F2 10
-/Times-Bold@0 SF(bind)108 84 Q F1([)2.5 E F2<ad6d>A F0 -.1(ke)2.5 G
-(ymap)-.2 E F1(])A F0 -.1(ke)2.5 G(yseq)-.2 E F1(:)A F0
-(function\255name)A F2(bind)108 96 Q F1([)2.5 E F2<ad6d>A F0 -.1(ke)2.5
-G(ymap)-.2 E F1(])A F2<ad70>2.5 E F1(|)A F2<ad50>A F1([)2.5 E F0 -.37
-(re)C(adline\255command).37 E F1(])A F2(bind)108 108 Q F1([)2.5 E F2
-<ad6d>A F0 -.1(ke)2.5 G(ymap)-.2 E F1(])A F0 -.1(ke)2.5 G(yseq)-.2 E F1
-(:)A F0 -.37(re)C(adline\255command).37 E F2(bind)108 120 Q F0 -.37(re)
-2.5 G(adline-command-line).37 E F1 .238(Display current)144 132 R F2
--.18(re)2.738 G(adline).18 E F1 -.1(ke)2.738 G 2.738(ya)-.05 G .239
-(nd function bindings, bind a k)-2.738 F .539 -.15(ey s)-.1 H .239
-(equence to a).15 F F2 -.18(re)2.739 G(adline).18 E F1 .239(function or)
-2.739 F .211(macro or to a shell command, or set a)144 144 R F2 -.18(re)
-2.711 G(adline).18 E F1 -.25(va)2.711 G 2.711(riable. Each).25 F .211
-(non-option ar)2.711 F .211(gument is a k)-.18 F .511 -.15(ey b)-.1 H
-(ind-).15 E .258(ing or command as it w)144 156 R .259(ould appear in a)
--.1 F F2 -.18(re)2.759 G(adline).18 E F1 .259
-(initialization \214le such as)2.759 F F0(.inputr)2.989 E(c)-.37 E F1
-2.759(,b).31 G .259(ut each bind-)-2.959 F .514
-(ing or command must be passed as a separate ar)144 168 R .514
-(gument; e.g., \\C\255x\\C\255r: re\255read\255init\255\214le.)-.18 F
-.514(In the)5.514 F(follo)144 180 Q .271(wing descriptions, output a)
--.25 F -.25(va)-.2 G .272
-(ilable to be re-read is formatted as commands that w).25 F .272
-(ould appear)-.1 F .732(in a)144 192 R F2 -.18(re)3.232 G(adline).18 E
-F1 .732(initialization \214le or that w)3.232 F .732
-(ould be supplied as indi)-.1 F .732(vidual ar)-.25 F .732(guments to a)
--.18 F F2(bind)3.231 E F1(com-)3.231 E 2.5(mand. Options,)144 204 R
-(if supplied, ha)2.5 E .3 -.15(ve t)-.2 H(he follo).15 E(wing meanings:)
--.25 E F2<ad6d>144 216 Q F0 -.1(ke)2.5 G(ymap)-.2 E F1(Use)180 228 Q F0
--.1(ke)5.158 G(ymap)-.2 E F1 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 F0 -.1(ke)180 240 S(ymap)-.2 E F1 3.193(names are)
-5.883 F F0 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 252 Q F1 4.089(,a)C(nd)-4.089 E F0(vi\255insert)4.379
-E F1(.).68 E F0(vi)6.589 E F1 1.589(is equi)4.089 F -.25(va)-.25 G 1.589
-(lent to).25 F F0(vi\255command)4.089 E F1(\()4.089 E F0(vi\255mo)A(ve)
--.1 E F1 1.59(is also a syn-)4.089 F(on)180 264 Q(ym\);)-.15 E F0(emacs)
-2.5 E F1(is equi)2.5 E -.25(va)-.25 G(lent to).25 E F0(emacs\255standar)
-2.5 E(d)-.37 E F1(.)A F2<ad6c>144 276 Q F1(List the names of all)180 276
-Q F2 -.18(re)2.5 G(adline).18 E F1(functions.)2.5 E F2<ad70>144 288 Q F1
-(Display)180 288 Q F2 -.18(re)2.982 G(adline).18 E F1 .481
-(function names and bindings in such a w)2.982 F .481(ay that the)-.1 F
-2.981(yc)-.15 G .481(an be used as an)-2.981 F(ar)180 300 Q .192
-(gument to a subsequent)-.18 F F2(bind)2.692 E F1 .192(command or in a)
-2.692 F F2 -.18(re)2.692 G(adline).18 E F1 .193(initialization \214le.)
-2.693 F .193(If ar)5.193 F(guments)-.18 E 1.524
-(remain after option processing,)180 312 R F2(bind)4.024 E F1 1.523
-(treats them as)4.023 F F2 -.18(re)4.023 G(adline).18 E F1 1.523
-(command names and re-)4.023 F(stricts output to those names.)180 324 Q
-F2<ad50>144 336 Q F1 .173(List current)180 336 R F2 -.18(re)2.673 G
-(adline).18 E F1 .173(function names and bindings.)2.673 F .173(If ar)
-5.173 F .174(guments remain after option pro-)-.18 F(cessing,)180 348 Q
-F2(bind)4.855 E F1 2.354(treats them as)4.855 F F2 -.18(re)4.854 G
-(adline).18 E F1 2.354(command names and restricts output to those)4.854
-F(names.)180 360 Q F2<ad73>144 372 Q F1(Display)180 372 Q F2 -.18(re)
-3.655 G(adline).18 E F1 -.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 384 S 2.555(yt).1 G .055
-(hat the)-2.555 F 2.555(yc)-.15 G .055(an be used as an ar)-2.555 F .055
-(gument to a subsequent)-.18 F F2(bind)2.555 E F1 .054(command or in a)
-2.554 F F2 -.18(re)2.554 G(adline).18 E F1(initialization \214le.)180
-396 Q F2<ad53>144 408 Q F1(Display)180 408 Q F2 -.18(re)2.5 G(adline).18
-E F1 -.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 F2<ad76>144 420 Q F1(Display)180 420 Q F2 -.18(re)2.783 G
-(adline).18 E F1 -.25(va)2.783 G .283(riable names and v).25 F .283
-(alues in such a w)-.25 F .284(ay that the)-.1 F 2.784(yc)-.15 G .284
-(an be used as an ar)-2.784 F(-)-.2 E(gument to a subsequent)180 432 Q
-F2(bind)2.5 E F1(command or in a)2.5 E F2 -.18(re)2.5 G(adline).18 E F1
-(initialization \214le.)2.5 E F2<ad56>144 444 Q F1(List current)180 444
-Q F2 -.18(re)2.5 G(adline).18 E F1 -.25(va)2.5 G(riable names and v).25
-E(alues.)-.25 E F2<ad66>144 456 Q F0(\214lename)2.5 E F1(Read k)180 468
-Q .3 -.15(ey b)-.1 H(indings from).15 E F0(\214lename)2.5 E F1(.)A F2
-<ad71>144 480 Q F0(function)2.5 E F1(Display k)180 492 Q .3 -.15(ey s)
--.1 H(equences that in).15 E -.2(vo)-.4 G .2 -.1(ke t).2 H(he named).1 E
-F2 -.18(re)2.5 G(adline).18 E F0(function)2.5 E F1(.)A F2<ad75>144 504 Q
-F0(function)2.5 E F1(Unbind all k)180 516 Q .3 -.15(ey s)-.1 H
-(equences bound to the named).15 E F2 -.18(re)2.5 G(adline).18 E F0
-(function)2.5 E F1(.)A F2<ad72>144 528 Q F0 -.1(ke)2.5 G(yseq)-.2 E F1
-(Remo)180 540 Q .3 -.15(ve a)-.15 H .3 -.15(ny c).15 H
-(urrent binding for).15 E F0 -.1(ke)2.5 G(yseq)-.2 E F1(.)A F2<ad78>144
-552 Q F0 -.1(ke)2.5 G(yseq)-.2 E F2([: ])A F0(shell\255command)A F1
-(Cause)180 564 Q F0(shell\255command)4.345 E F1 1.845(to be e)4.345 F
--.15(xe)-.15 G 1.845(cuted whene).15 F -.15(ve)-.25 G(r).15 E F0 -.1(ke)
-4.345 G(yseq)-.2 E F1 1.844(is entered.)4.344 F 1.844(The separator be-)
-6.844 F(tween)180 576 Q F0 -.1(ke)3.015 G(yseq)-.2 E F1(and)3.015 E F0
-(shell\255command)3.016 E F1 .516
-(is either whitespace or a colon optionally follo)3.016 F .516(wed by)
--.25 F 3.459(whitespace. If)180 588 R .958(the separator is whitespace,)
-3.459 F F0(shell\255command)3.458 E F1 .958(must be enclosed in double)
-3.458 F .622(quotes and)180 600 R F2 -.18(re)3.122 G(adline).18 E F1
--.15(ex)3.122 G .623(pands an).15 F 3.123(yo)-.15 G 3.123(fi)-3.123 G
-.623(ts special backslash-escapes in)-3.123 F F0(shell\255command)3.123
-E F1(be-)3.123 E .713(fore sa)180 612 R .713(ving it.)-.2 F .713
-(If the separator is a colon, an)5.713 F 3.213(ye)-.15 G .712
-(nclosing double quotes are optional, and)-3.213 F F2 -.18(re)180 624 S
-(adline).18 E F1 .098(does not e)2.598 F .098
-(xpand the command string before sa)-.15 F .099(ving it.)-.2 F .099
-(Since the entire k)5.099 F .399 -.15(ey b)-.1 H(ind-).15 E .641(ing e)
-180 636 R .641(xpression must be a single ar)-.15 F .641
-(gument, it should be enclosed in single quotes.)-.18 F(When)5.64 E F0
-(shell\255command)180 648 Q F1 .563(is e)3.063 F -.15(xe)-.15 G .563
-(cuted, the shell sets the).15 F/F3 9/Times-Bold@0 SF(READLINE_LINE)
-3.063 E F1 -.25(va)2.813 G .563(riable to the contents).25 F .32(of the)
-180 660 R F2 -.18(re)2.82 G(adline).18 E F1 .32(line b)2.82 F(uf)-.2 E
-.32(fer and the)-.25 F F3(READLINE_POINT)2.82 E F1(and)2.57 E F3
-(READLINE_MARK)2.82 E F1 -.25(va)2.569 G(riables).25 E .545
-(to the current location of the insertion point and the sa)180 672 R
--.15(ve)-.2 G 3.046(di).15 G .546(nsertion point \(the mark\), re-)
--3.046 F(specti)180 684 Q -.15(ve)-.25 G(ly).15 E 7.188(.T)-.65 G 2.188
-(he shell assigns an)-7.188 F 4.688(yn)-.15 G 2.188(umeric ar)-4.688 F
-2.188(gument the user supplied to the)-.18 F F3(READ-)4.688 E
-(LINE_ARGUMENT)180 696 Q F1 -.25(va)2.398 G 2.648(riable. If).25 F .148
-(there w)2.648 F .148(as no ar)-.1 F .148(gument, that v)-.18 F .149
-(ariable is not set.)-.25 F .149(If the e)5.149 F(x-)-.15 E .583
-(ecuted command changes the v)180 708 R .583(alue of an)-.25 F 3.083(yo)
--.15 G(f)-3.083 E F3(READLINE_LINE)3.083 E/F4 9/Times-Roman@0 SF(,)A F3
-(READLINE_POINT)2.832 E F4(,)A F1(or)2.832 E F3(READLINE_MARK)180 720 Q
-F4(,)A F1(those ne)2.25 E 2.5(wv)-.25 G
-(alues will be re\215ected in the editing state.)-2.75 E(GNU Bash 5.2)72
-768 Q(2023 January 27)141.79 E(2)195.95 E 0 Cg EP
-%%Page: 3 3
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH_B).25 E(UIL)-.1 E(TINS)-.2 E
-/F1 10/Times-Roman@0 SF 91.21(\(1\) General).58 F(Commands Manual)2.5 E
-F0 -.25(BA)93.71 G(SH_B).25 E(UIL)-.1 E(TINS)-.2 E F1(\(1\)).58 E/F2 10
-/Times-Bold@0 SF<ad58>144 84 Q F1 .829(List all k)180 84 R 1.129 -.15
-(ey s)-.1 H .829
-(equences bound to shell commands and the associated commands in a for)
-.15 F(-)-.2 E(mat that can be reused as an ar)180 96 Q
-(gument to a subsequent)-.18 E F2(bind)2.5 E F1(command.)2.5 E
-(The return v)144 112.8 Q(alue is 0 unless an unrecognized option is su\
-pplied or an error occurred.)-.25 E F2(br)108 129.6 Q(eak)-.18 E F1([)
-2.5 E F0(n)A F1(])A .012(Exit from within a)144 141.6 R F2 -.25(fo)2.512
-G(r).25 E F1(,)A F2(while)2.512 E F1(,)A F2(until)2.512 E F1 2.512(,o)C
-(r)-2.512 E F2(select)2.512 E F1 2.512(loop. If)2.512 F F0(n)2.512 E F1
-.011(is speci\214ed,)2.512 F F2(br)2.511 E(eak)-.18 E F1 -.15(ex)2.511 G
-(its).15 E F0(n)2.511 E F1 .011(enclosing loops.)2.511 F F0(n)144.36
-153.6 Q F1 .632(must be)3.372 F/F3 10/Symbol SF<b3>3.132 E F1 3.132
-(1. If)3.132 F F0(n)3.492 E F1 .632(is greater than the number of enclo\
-sing loops, all enclosing loops are e)3.372 F(xited.)-.15 E
-(The return v)144 165.6 Q(alue is 0 unless)-.25 E F0(n)2.5 E F1
-(is not greater than or equal to 1.)2.5 E F2 -.2(bu)108 182.4 S(iltin).2
-E F0(shell\255b)2.5 E(uiltin)-.2 E F1([)2.5 E F0(ar)A(guments)-.37 E F1
-(])A(Ex)144 194.4 Q 1.261(ecute the speci\214ed shell b)-.15 F(uiltin)
--.2 E F0(shell\255b)3.761 E(uiltin)-.2 E F1 3.761(,p)C 1.261(assing it)
--3.761 F F0(ar)4.091 E(guments)-.37 E F1 3.761(,a).27 G 1.26
-(nd return its e)-3.761 F 1.26(xit status.)-.15 F 1.053(This is useful \
-when de\214ning a function whose name is the same as a shell b)144 206.4
-R 1.053(uiltin, retaining the)-.2 F 1.166(functionality of the b)144
-218.4 R 1.166(uiltin within the function.)-.2 F(The)6.166 E F2(cd)3.666
-E F1 -.2(bu)3.666 G 1.165(iltin is commonly rede\214ned this w).2 F(ay)
--.1 E(.)-.65 E(The return status is f)144 230.4 Q(alse if)-.1 E F0
-(shell\255b)2.84 E(uiltin)-.2 E F1(is not a shell b)2.74 E
-(uiltin command.)-.2 E F2(caller)108 247.2 Q F1([)2.5 E F0 -.2(ex)C(pr)
-.2 E F1(])A .253(Returns the conte)144 259.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 F2(.)2.754 E F1(or)2.754 E F2(sour)144 271.2 Q
-(ce)-.18 E F1 -.2(bu)2.5 G(iltins\).).2 E -.4(Wi)144 288 S(thout).4 E F0
--.2(ex)3.294 G(pr).2 E F1(,)A F2(caller)3.294 E F1 .793(displays the li\
-ne number and source \214lename of the current subroutine call.)3.294 F
-.124(If a non-ne)144 300 R -.05(ga)-.15 G(ti).05 E .424 -.15(ve i)-.25 H
-(nte).15 E .124(ger is supplied as)-.15 F F0 -.2(ex)2.624 G(pr).2 E F1
-(,)A F2(caller)2.624 E F1 .124(displays the line number)2.624 F 2.624
-(,s)-.4 G .124(ubroutine name, and)-2.624 F .743
-(source \214le corresponding to that position in the current e)144 312 R
--.15(xe)-.15 G .743(cution call stack.).15 F .742(This e)5.743 F .742
-(xtra informa-)-.15 F(tion may be used, for e)144 324 Q
-(xample, to print a stack trace.)-.15 E(The current frame is frame 0.)5
-E .1(The return v)144 340.8 R .1(alue is 0 unless the shell is not e)
--.25 F -.15(xe)-.15 G .101(cuting a subroutine call or).15 F F0 -.2(ex)
-2.601 G(pr).2 E F1 .101(does not correspond)2.601 F(to a v)144 352.8 Q
-(alid position in the call stack.)-.25 E F2(cd)108 369.6 Q F1([)2.5 E F2
-<ad4c>A F1 2.5(][)C(\255@] [)-2.5 E F0(dir)A F1(])A F2(cd \255P)108
-381.6 Q F1([)2.5 E F2<ad65>A F1 2.5(][)C(\255@] [)-2.5 E F0(dir)A F1(])A
-.322(Change the current directory to)144 393.6 R F0(dir)2.822 E F1 5.322
-(.i)C(f)-5.322 E F0(dir)2.822 E F1 .321(is not supplied, the v)2.822 F
-.321(alue of the)-.25 F/F4 9/Times-Bold@0 SF(HOME)2.821 E F1 .321
-(shell v)2.571 F .321(ariable is)-.25 F .74(used as)144 405.6 R F0(dir)
-3.24 E F1 5.74(.T)C .74(he v)-5.74 F(ariable)-.25 E F4(CDP)3.24 E -.855
-(AT)-.666 G(H).855 E F1 -.15(ex)2.99 G .74(ists, and).15 F F0(dir)3.24 E
-F1 .74(does not be)3.24 F .74(gin with a slash \(/\),)-.15 F F2(cd)3.24
-E F1 .741(uses it as a)3.24 F 1.837
-(search path: the shell searches each directory name in)144 417.6 R F4
-(CDP)4.336 E -.855(AT)-.666 G(H).855 E F1(for)4.086 E F0(dir)4.336 E F1
-6.836(.A)C(lternati)-6.836 E 2.136 -.15(ve d)-.25 H(irectory).15 E .447
-(names in)144 429.6 R F4(CDP)2.947 E -.855(AT)-.666 G(H).855 E F1 .447
-(are separated by a colon \(:\).)2.697 F 2.948(An)5.448 G .448
-(ull directory name in)-2.948 F F4(CDP)2.948 E -.855(AT)-.666 G(H).855 E
-F1 .448(is the same as)2.698 F(the current directory)144 441.6 Q 2.5(,i)
--.65 G(.e.,)-2.5 E(The)144 458.4 Q F2<ad50>2.915 E F1 .415
-(option causes)2.915 F F2(cd)2.915 E F1 .415(to use the ph)2.915 F .414
-(ysical directory structure by resolving symbolic links while)-.05 F
-(tra)144 470.4 Q -.15(ve)-.2 G(rsing).15 E F0(dir)2.673 E F1 .173
-(and before processing instances of)2.673 F F0 1.666(..)4.339 G F1(in)
-2.673 E F0(dir)2.673 E F1 .174(\(see also the)2.673 F F2<ad50>2.674 E F1
-.174(option to the)2.674 F F2(set)2.674 E F1 -.2(bu)2.674 G(iltin).2 E
-(command\).)144 482.4 Q(The)144 499.2 Q F2<ad4c>3.039 E F1 .539
-(option forces)3.039 F F2(cd)3.039 E F1 .539(to follo)3.039 F 3.039(ws)
--.25 G .538
-(ymbolic links by resolving the link after processing instances)-3.039 F
-(of)144 511.2 Q F0 1.666(..)4.414 G F1(in)2.748 E F0(dir)2.748 E F1
-5.248(.I)C(f)-5.248 E F0 1.666(..)4.414 G F1 .248(appears in)2.748 F F0
-(dir)2.748 E F1(,)A F2(cd)2.748 E F1 .249(processes it by remo)2.749 F
-.249(ving the immediately pre)-.15 F .249(vious pathname)-.25 F .202
-(component from)144 523.2 R F0(dir)2.702 E F1 2.702(,b)C .202
-(ack to a slash or the be)-2.702 F .202(ginning of)-.15 F F0(dir)2.702 E
-F1 2.701(,a)C .201(nd v)-2.701 F .201(erifying that the portion of)-.15
-F F0(dir)2.701 E F1(it)2.701 E .282
-(has processed to that point is still a v)144 535.2 R .282
-(alid directory name after remo)-.25 F .282
-(ving the pathname component.)-.15 F .624(If it is not a v)144 547.2 R
-.624(alid directory name,)-.25 F F2(cd)3.124 E F1 .624
-(returns a non-zero status.)3.124 F .623(If neither)5.624 F F2<ad4c>
-3.123 E F1(nor)3.123 E F2<ad50>3.123 E F1 .623(is supplied,)3.123 F F2
-(cd)144 559.2 Q F1(beha)2.5 E -.15(ve)-.2 G 2.5(sa).15 G 2.5(si)-2.5 G
-(f)-2.5 E F2<ad4c>2.5 E F1(had been supplied.)2.5 E .245(If the)144 576
-R F2<ad65>2.745 E F1 .245(option is supplied with)2.745 F F2<ad50>2.745
-E F1 2.745(,a)C(nd)-2.745 E F2(cd)2.745 E F1 .245
-(cannot successfully determine the current w)2.745 F .245(orking di-)-.1
-F(rectory after a successful directory change, it will return a non-zer\
-o status.)144 588 Q .243(On systems that support it, the)144 604.8 R F2
-<ad40>2.743 E F1 .242(option presents the e)2.743 F .242(xtended attrib)
--.15 F .242(utes associated with a \214le as)-.2 F 2.5(ad)144 616.8 S
-(irectory)-2.5 E(.)-.65 E(An ar)144 633.6 Q(gument of)-.18 E F2<ad>2.5 E
-F1(is con)2.5 E -.15(ve)-.4 G(rted to).15 E F4($OLDPWD)2.5 E F1
-(before attempting the directory change.)2.25 E(If)144 650.4 Q F2(cd)3 E
-F1 .5(uses a non-empty directory name from)3 F F4(CDP)3.001 E -.855(AT)
--.666 G(H,).855 E F1 .501(or if)2.751 F F2<ad>3.001 E F1 .501
-(is the \214rst ar)3.001 F .501(gument, and the direc-)-.18 F 1.243
-(tory change is successful,)144 662.4 R F2(cd)3.743 E F1 1.243
-(writes the absolute pathname of the ne)3.743 F 3.742(ww)-.25 G 1.242
-(orking directory to the)-3.842 F(standard output.)144 674.4 Q 1.113
-(If the directory change is successful,)144 691.2 R F2(cd)3.613 E F1
-1.113(sets the v)3.613 F 1.113(alue of the)-.25 F F2(PWD)3.613 E F1(en)
-3.613 E 1.113(vironment v)-.4 F 1.114(ariable to the)-.25 F(ne)144 703.2
-Q 4.306(wd)-.25 G 1.806(irectory name, and sets the)-4.306 F F2(OLDPWD)
-4.306 E F1(en)4.306 E 1.806(vironment v)-.4 F 1.806(ariable to the v)
--.25 F 1.805(alue of the current)-.25 F -.1(wo)144 715.2 S
-(rking directory before the change.).1 E(GNU Bash 5.2)72 768 Q
-(2023 January 27)141.79 E(3)195.95 E 0 Cg EP
-%%Page: 4 4
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH_B).25 E(UIL)-.1 E(TINS)-.2 E
-/F1 10/Times-Roman@0 SF 91.21(\(1\) General).58 F(Commands Manual)2.5 E
-F0 -.25(BA)93.71 G(SH_B).25 E(UIL)-.1 E(TINS)-.2 E F1(\(1\)).58 E
-(The return v)144 84 Q(alue is true if the directory w)-.25 E
-(as successfully changed; f)-.1 E(alse otherwise.)-.1 E/F2 10
-/Times-Bold@0 SF(command)108 100.8 Q F1([)2.5 E F2(\255pVv)A F1(])A F0
-(command)2.5 E F1([)2.5 E F0(ar)A(g)-.37 E F1 1.666(...)2.5 G(])-1.666 E
-(The)144 112.8 Q F2(command)3.078 E F1 -.2(bu)3.078 G .578(iltin runs).2
-F F0(command)3.278 E F1(with)3.848 E F0(ar)3.408 E(gs)-.37 E F1 .579
-(suppressing the normal shell function lookup for)3.348 F F0(command)144
-124.8 Q F1 6.346(.O)C 1.346(nly b)-6.346 F 1.345
-(uiltin commands or commands found in the)-.2 F/F3 9/Times-Bold@0 SF
--.666(PA)3.845 G(TH)-.189 E F1(named)3.595 E F0(command)3.845 E F1 1.345
-(are e)3.845 F -.15(xe)-.15 G(-).15 E 2.714(cuted. If)144 136.8 R(the)
-2.714 E F2<ad70>2.714 E F1 .214(option is supplied, the search for)2.714
-F F0(command)2.914 E F1 .214(is performed using a def)3.484 F .215
-(ault v)-.1 F .215(alue for)-.25 F F3 -.666(PA)144 148.8 S(TH)-.189 E F1
-(that is guaranteed to \214nd all of the standard utilities.)2.25 E .273
-(If either the)144 165.6 R F2<ad56>2.773 E F1(or)2.773 E F2<ad76>2.773 E
-F1 .273(option is supplied,)2.773 F F2(command)2.773 E F1 .273
-(prints a description of)2.773 F F0(command)2.973 E F1 5.273(.T).77 G
-(he)-5.273 E F2<ad76>2.773 E F1(op-)2.772 E .436
-(tion displays a single w)144 177.6 R .437
-(ord indicating the command or \214lename used to in)-.1 F -.2(vo)-.4 G
--.1(ke).2 G F0(command)3.237 E F1 2.937(;t).77 G(he)-2.937 E F2<ad56>
-2.937 E F1(option produces a more v)144 189.6 Q(erbose description.)-.15
-E .632(If the)144 206.4 R F2<ad56>3.131 E F1(or)3.131 E F2<ad76>3.131 E
-F1 .631(option is supplied, the e)3.131 F .631(xit status is zero if)
--.15 F F0(command)3.331 E F1 -.1(wa)3.901 G 3.131(sf).1 G .631
-(ound, and non-zero if)-3.131 F 2.809(not. If)144 218.4 R .309
-(neither option is supplied and an error occurred or)2.809 F F0(command)
-3.01 E F1 .31(cannot be found, the e)3.58 F .31(xit sta-)-.15 F
-(tus is 127.)144 230.4 Q(Otherwise, the e)5 E(xit status of the)-.15 E
-F2(command)2.5 E F1 -.2(bu)2.5 G(iltin is the e).2 E(xit status of)-.15
-E F0(command)2.7 E F1(.).77 E F2(compgen)108 247.2 Q F1([)2.5 E F2<ad56>
-A F0(varname)2.5 E F1 2.5(][)C F0(option)-2.5 E F1 2.5(][)C F0(wor)-2.5
-E(d)-.37 E F1(])A .013(Generate possible completion matches for)144
-259.2 R F0(wor)2.513 E(d)-.37 E F1 .013(according to the)2.513 F F0
-(option)2.513 E F1 .013(s, which may be an)B 2.512(yo)-.15 G(ption)
--2.512 E 1.216(accepted by the)144 271.2 R F2(complete)3.716 E F1 -.2
-(bu)3.716 G 1.216(iltin with the e).2 F 1.216(xceptions of)-.15 F F2
-<ad70>3.716 E F1(,)A F2<ad72>3.717 E F1(,)A F2<ad44>3.717 E F1(,)A F2
-<ad45>3.717 E F1 3.717(,a)C(nd)-3.717 E F2<ad49>3.717 E F1 3.717(,a)C
-1.217(nd write the)-3.717 F(matches to the standard output.)144 283.2 Q
-1.376(If the)144 300 R F2<ad56>3.876 E F1 1.376(option is supplied,)
-3.876 F F2(compgen)3.876 E F1 1.376
-(stores the generated completions into the inde)3.876 F -.15(xe)-.15 G
-3.875(da).15 G(rray)-3.875 E -.25(va)144 312 S(riable).25 E F0(varname)
-2.5 E F1(instead of writing them to the standard output.)2.5 E .194
-(When using the)144 328.8 R F2<ad46>2.694 E F1(or)2.694 E F2<ad43>2.694
-E F1 .195(options, the v)2.695 F .195(arious shell v)-.25 F .195
-(ariables set by the programmable completion)-.25 F -.1(fa)144 340.8 S
-(cilities, 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 357.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
-369.6 R(If)5.02 E F0(wor)2.52 E(d)-.37 E F1 .02(is speci\214ed, only)
-2.52 F(those completions matching)144 381.6 Q F0(wor)2.5 E(d)-.37 E F1
-(will be displayed or stored.)2.5 E(The return v)144 398.4 Q
-(alue is true unless an in)-.25 E -.25(va)-.4 G
-(lid option is supplied, or no matches were generated.).25 E F2
-(complete)108 415.2 Q F1([)2.5 E F2(\255abcdefgjksuv)A F1 2.5(][)C F2
-<ad6f>-2.5 E F0(comp-option)2.5 E F1 2.5(][)C F2(\255DEI)-2.5 E F1 2.5
-(][)C F2<ad41>-2.5 E F0(action)2.5 E F1(])A([)144 427.2 Q F2<ad47>A F0
-(globpat)2.5 E F1 2.5(][)C F2<ad57>-2.5 E F0(wor)2.5 E(dlist)-.37 E F1
-2.5(][)C F2<ad46>-2.5 E F0(function)2.5 E F1 2.5(][)C F2<ad43>-2.5 E F0
-(command)2.5 E F1(])A([)144 439.2 Q F2<ad58>A F0(\214lterpat)2.5 E F1
-2.5(][)C F2<ad50>-2.5 E F0(pr)2.5 E(e\214x)-.37 E F1 2.5(][)C F2<ad53>
--2.5 E F0(suf)2.5 E<8c78>-.18 E F1(])A F0(name)2.5 E F1([)2.5 E F0(name)
-A F1 1.666(...)2.5 G(])-1.666 E F2(complete \255pr)108 451.2 Q F1([)2.5
-E F2(\255DEI)A F1 2.5(][)C F0(name)-2.5 E F1 1.666(...)2.5 G(])-1.666 E
-(Specify ho)144 463.2 Q 2.5(wa)-.25 G -.18(rg)-2.5 G(uments to each).18
-E F0(name)2.5 E F1(should be completed.)2.5 E .11(If the)144 480 R F2
-<ad70>2.61 E F1 .11(option is supplied, or if no options or)2.61 F F0
-(name)2.609 E F1 2.609(sa)C .109(re supplied, print e)-2.609 F .109
-(xisting completion spec-)-.15 F .924(i\214cations in a w)144 492 R .924
-(ay that allo)-.1 F .924(ws them to be reused as input.)-.25 F(The)5.924
-E F2<ad72>3.424 E F1 .924(option remo)3.424 F -.15(ve)-.15 G 3.425(sac)
-.15 G(ompletion)-3.425 E(speci\214cation for each)144 504 Q F0(name)2.5
-E F1 2.5(,o)C .8 -.4(r, i)-2.5 H 2.5(fn).4 G(o)-2.5 E F0(name)2.5 E F1
-2.5(sa)C(re supplied, all completion speci\214cations.)-2.5 E(The)144
-520.8 Q F2<ad44>4.031 E F1 1.531(option indicates that other supplied o\
-ptions and actions should apply to the command)4.031 F .525(completion;\
- that is, completion attempted on a command for which no completion has\
- pre)144 532.8 R(viously)-.25 E 1.452(been de\214ned.)144 544.8 R(The)
-6.452 E F2<ad45>3.952 E F1 1.451(option indicates that other supplied o\
-ptions and actions should apply to)3.952 F .518
-(command completion; that is, completion attempted on a blank line.)144
-556.8 R(The)5.519 E F2<ad49>3.019 E F1 .519(option indicates that)3.019
-F .448(other supplied options and actions should apply to completion on\
- the initial non-assignment w)144 568.8 R(ord)-.1 E .43
-(on the line, or after a command delimiter such as)144 580.8 R F2(;)
-2.931 E F1(or)2.931 E F2(|)2.931 E F1 2.931(,w)C .431
-(hich is usually command name comple-)-2.931 F 4.01(tion. If)144 592.8 R
-1.51(multiple options are supplied, the)4.01 F F2<ad44>4.01 E F1 1.51
-(option tak)4.01 F 1.51(es precedence o)-.1 F -.15(ve)-.15 G(r).15 E F2
-<ad45>4.01 E F1 4.01(,a)C 1.51(nd both tak)-4.01 F(e)-.1 E .403
-(precedence o)144 604.8 R -.15(ve)-.15 G(r).15 E F2<ad49>2.903 E F1
-5.403(.I)C 2.903(fa)-5.403 G .703 -.15(ny o)-2.903 H(f).15 E F2<ad44>
-2.903 E F1(,)A F2<ad45>2.903 E F1 2.903(,o)C(r)-2.903 E F2<ad49>2.904 E
-F1 .404(are supplied, an)2.904 F 2.904(yo)-.15 G(ther)-2.904 E F0(name)
-2.904 E F1(ar)2.904 E .404(guments are ignored;)-.18 F
-(these completions only apply to the case speci\214ed by the option.)144
-616.8 Q .443(The process of applying these completion speci\214cations \
-when attempting w)144 633.6 R .442(ord completion)-.1 F .442(is de-)
-5.442 F(scribed in)144 645.6 Q F0(bash)2.5 E F1(\(1\).)A .555
-(Other options, if speci\214ed, ha)144 662.4 R .855 -.15(ve t)-.2 H .555
-(he follo).15 F .555(wing meanings.)-.25 F .555(The ar)5.555 F .555
-(guments to the)-.18 F F2<ad47>3.056 E F1(,)A F2<ad57>3.056 E F1 3.056
-(,a)C(nd)-3.056 E F2<ad58>3.056 E F1 .723(options \(and, if necessary)
-144 674.4 R 3.223(,t)-.65 G(he)-3.223 E F2<ad50>3.223 E F1(and)3.223 E
-F2<ad53>3.223 E F1 .722
-(options\) should be quoted to protect them from e)3.223 F(xpan-)-.15 E
-(sion before the)144 686.4 Q F2(complete)2.5 E F1 -.2(bu)2.5 G
-(iltin is in).2 E -.2(vo)-.4 G -.1(ke).2 G(d.).1 E F2<ad6f>144 703.2 Q
-F0(comp-option)2.5 E F1(The)184 715.2 Q F0(comp-option)2.79 E F1 .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 727.2 Q F0
-(comp-option)5 E F1(may be one of:)2.5 E(GNU Bash 5.2)72 768 Q
-(2023 January 27)141.79 E(4)195.95 E 0 Cg EP
-%%Page: 5 5
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH_B).25 E(UIL)-.1 E(TINS)-.2 E
-/F1 10/Times-Roman@0 SF 91.21(\(1\) General).58 F(Commands Manual)2.5 E
-F0 -.25(BA)93.71 G(SH_B).25 E(UIL)-.1 E(TINS)-.2 E F1(\(1\)).58 E/F2 10
-/Times-Bold@0 SF(bashdefault)184 84 Q F1 .281
-(Perform the rest of the def)224 96 R(ault)-.1 E F2(bash)2.781 E F1 .281
-(completions if the compspec generates no)2.781 F(matches.)224 108 Q F2
-(default)184 120 Q F1(Use)224 120 Q F2 -.18(re)5.085 G(adline).18 E F1
-3.685 -.55('s d)D(ef).55 E 2.586
-(ault \214lename completion if the compspec generates no)-.1 F(matches.)
-224 132 Q F2(dir)184 144 Q(names)-.15 E F1(Perform directory name compl\
-etion if the compspec generates no matches.)224 156 Q F2(\214lenames)184
-168 Q F1 -.7(Te)224 180 S(ll).7 E F2 -.18(re)4.104 G(adline).18 E F1
-1.604(that the compspec generates \214lenames, so it can perform an)
-4.104 F(y)-.15 E .291(\214lename\255speci\214c processing \(such as add\
-ing a slash to directory names, quot-)224 192 R .904
-(ing special characters, or suppressing trailing spaces\).)224 204 R
-.903(This is intended to be)5.904 F(used with shell functions.)224 216 Q
-F2(fullquote)184 228 Q F1 -.7(Te)224 240 S(ll).7 E F2 -.18(re)2.5 G
-(adline).18 E F1(to quote all the completed w)2.5 E(ords e)-.1 E -.15
-(ve)-.25 G 2.5(ni).15 G 2.5(ft)-2.5 G(he)-2.5 E 2.5(ya)-.15 G
-(re not \214lenames.)-2.5 E F2(noquote)184 252 Q F1 -.7(Te)224 252 S(ll)
-.7 E F2 -.18(re)3.096 G(adline).18 E F1 .597
-(not to quote the completed w)3.096 F .597(ords if the)-.1 F 3.097(ya)
--.15 G .597(re \214lenames \(quoting)-3.097 F(\214lenames is the def)224
-264 Q(ault\).)-.1 E F2(nosort)184 276 Q F1 -.7(Te)224 276 S(ll).7 E F2
--.18(re)2.5 G(adline).18 E F1
-(not to sort the list of possible completions alphabetically)2.5 E(.)
--.65 E F2(nospace)184 288 Q F1 -.7(Te)224 288 S(ll).7 E F2 -.18(re)2.534
-G(adline).18 E F1 .034(not to append a space \(the def)2.534 F .033
-(ault\) to w)-.1 F .033(ords completed at the end)-.1 F(of the line.)224
-300 Q F2(plusdirs)184 312 Q F1 2.542(After generating an)224 312 R 5.042
-(ym)-.15 G 2.542(atches de\214ned by the compspec, attempt directory)
--5.042 F(name completion and add an)224 324 Q 2.5(ym)-.15 G
-(atches to the results of the other actions.)-2.5 E F2<ad41>144 336 Q F0
-(action)2.5 E F1(The)184 348 Q F0(action)2.5 E F1
-(may be one of the follo)2.5 E
-(wing to generate a list of possible completions:)-.25 E F2(alias)184
-360 Q F1(Alias names.)224 360 Q(May also be speci\214ed as)5 E F2<ad61>
-2.5 E F1(.)A F2(arrayv)184 372 Q(ar)-.1 E F1(Array v)224 384 Q
-(ariable names.)-.25 E F2(binding)184 396 Q(Readline)224 396 Q F1 -.1
-(ke)2.5 G 2.5(yb)-.05 G(inding names.)-2.5 E F2 -.2(bu)184 408 S(iltin)
-.2 E F1(Names of shell b)224 408 Q(uiltin commands.)-.2 E
-(May also be speci\214ed as)5 E F2<ad62>2.5 E F1(.)A F2(command)184 420
-Q F1(Command names.)224 432 Q(May also be speci\214ed as)5 E F2<ad63>2.5
-E F1(.)A F2(dir)184 444 Q(ectory)-.18 E F1(Directory names.)224 456 Q
-(May also be speci\214ed as)5 E F2<ad64>2.5 E F1(.)A F2(disabled)184 468
-Q F1(Names of disabled shell b)224 480 Q(uiltins.)-.2 E F2(enabled)184
-492 Q F1(Names of enabled shell b)224 492 Q(uiltins.)-.2 E F2(export)184
-504 Q F1(Names of e)224 504 Q(xported shell v)-.15 E 2.5(ariables. May)
--.25 F(also be speci\214ed as)2.5 E F2<ad65>2.5 E F1(.)A F2(\214le)184
-516 Q F1(File names.)224 516 Q(May also be speci\214ed as)5 E F2<ad66>
-2.5 E F1(.)A F2(function)184 528 Q F1(Names of shell functions.)224 540
-Q F2(gr)184 552 Q(oup)-.18 E F1(Group names.)224 552 Q
-(May also be speci\214ed as)5 E F2<ad67>2.5 E F1(.)A F2(helptopic)184
-564 Q F1(Help topics as accepted by the)224 576 Q F2(help)2.5 E F1 -.2
-(bu)2.5 G(iltin.).2 E F2(hostname)184 588 Q F1(Hostnames, as tak)224 600
-Q(en from the \214le speci\214ed by the)-.1 E/F3 9/Times-Bold@0 SF
-(HOSTFILE)2.5 E F1(shell v)2.25 E(ariable.)-.25 E F2(job)184 612 Q F1
-(Job names, if job control is acti)224 612 Q -.15(ve)-.25 G 5(.M).15 G
-(ay also be speci\214ed as)-5 E F2<ad6a>2.5 E F1(.)A F2 -.1(ke)184 624 S
-(yw).1 E(ord)-.1 E F1(Shell reserv)224 636 Q(ed w)-.15 E 2.5(ords. May)
--.1 F(also be speci\214ed as)2.5 E F2<ad6b>2.5 E F1(.)A F2(running)184
-648 Q F1(Names of running jobs, if job control is acti)224 648 Q -.15
-(ve)-.25 G(.).15 E F2(ser)184 660 Q(vice)-.1 E F1(Service names.)224 660
-Q(May also be speci\214ed as)5 E F2<ad73>2.5 E F1(.)A F2(setopt)184 672
-Q F1 -1.11(Va)224 672 S(lid ar)1.11 E(guments for the)-.18 E F2<ad6f>2.5
-E F1(option to the)2.5 E F2(set)2.5 E F1 -.2(bu)2.5 G(iltin.).2 E F2
-(shopt)184 684 Q F1(Shell option names as accepted by the)224 684 Q F2
-(shopt)2.5 E F1 -.2(bu)2.5 G(iltin.).2 E F2(signal)184 696 Q F1
-(Signal names.)224 696 Q(GNU Bash 5.2)72 768 Q(2023 January 27)141.79 E
-(5)195.95 E 0 Cg EP
-%%Page: 6 6
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH_B).25 E(UIL)-.1 E(TINS)-.2 E
-/F1 10/Times-Roman@0 SF 91.21(\(1\) General).58 F(Commands Manual)2.5 E
-F0 -.25(BA)93.71 G(SH_B).25 E(UIL)-.1 E(TINS)-.2 E F1(\(1\)).58 E/F2 10
-/Times-Bold@0 SF(stopped)184 84 Q F1
-(Names of stopped jobs, if job control is acti)224 84 Q -.15(ve)-.25 G
-(.).15 E F2(user)184 96 Q F1(User names.)224 96 Q
-(May also be speci\214ed as)5 E F2<ad75>2.5 E F1(.)A F2 -.1(va)184 108 S
-(riable).1 E F1(Names of all shell v)224 108 Q 2.5(ariables. May)-.25 F
-(also be speci\214ed as)2.5 E F2<ad76>2.5 E F1(.)A F2<ad43>144 120 Q F0
-(command)2.5 E(command)184 132 Q F1 1.056(is e)3.556 F -.15(xe)-.15 G
-1.056(cuted in a subshell en).15 F 1.056
-(vironment, and its output is used as the possible)-.4 F 2.5
-(completions. Ar)184 144 R(guments are passed as with the)-.18 E F2
-<ad46>2.5 E F1(option.)2.5 E F2<ad46>144 156 Q F0(function)2.5 E F1 .113
-(The shell function)184 168 R F0(function)2.614 E F1 .114(is e)2.614 F
--.15(xe)-.15 G .114(cuted in the current shell en).15 F 2.614
-(vironment. When)-.4 F .114(the func-)2.614 F .817(tion is e)184 180 R
--.15(xe)-.15 G .817(cuted, the \214rst ar).15 F .817(gument \()-.18 F F2
-($1)A F1 3.316(\)i)C 3.316(st)-3.316 G .816
-(he name of the command whose ar)-3.316 F(guments)-.18 E 1.407
-(are being completed, the second ar)184 192 R 1.407(gument \()-.18 F F2
-($2)A F1 3.907(\)i)C 3.907(st)-3.907 G 1.407(he w)-3.907 F 1.407
-(ord being completed, and the)-.1 F .104(third ar)184 204 R .104
-(gument \()-.18 F F2($3)A F1 2.604(\)i)C 2.604(st)-2.604 G .104(he w)
--2.604 F .104(ord preceding the w)-.1 F .103
-(ord being completed on the current com-)-.1 F 2.134(mand line.)184 216
-R(When)7.134 E F0(function)4.634 E F1 2.135
-(\214nishes, programmable completion retrie)4.634 F -.15(ve)-.25 G 4.635
-(st).15 G 2.135(he possible)-4.635 F(completions from the v)184 228 Q
-(alue of the)-.25 E/F3 9/Times-Bold@0 SF(COMPREPL)2.5 E(Y)-.828 E F1
-(array v)2.25 E(ariable.)-.25 E F2<ad47>144 240 Q F0(globpat)2.5 E F1
-(Expand the pathname e)184 252 Q(xpansion pattern)-.15 E F0(globpat)2.5
-E F1(to generate the possible completions.)2.5 E F2<ad50>144 264 Q F0
-(pr)2.5 E(e\214x)-.37 E F1(Add)184 276 Q F0(pr)2.598 E(e\214x)-.37 E F1
-.098(to the be)2.598 F .098
-(ginning of each possible completion after all other options ha)-.15 F
-.397 -.15(ve b)-.2 H(een).15 E(applied.)184 288 Q F2<ad53>144 300 Q F0
-(suf)2.5 E<8c78>-.18 E F1(Append)184 300 Q F0(suf)2.5 E<8c78>-.18 E F1
-(to each possible completion after all other options ha)2.5 E .3 -.15
-(ve b)-.2 H(een applied.).15 E F2<ad57>144 312 Q F0(wor)2.5 E(dlist)-.37
-E F1 .833(Split the)184 324 R F0(wor)3.333 E(dlist)-.37 E F1 .833
-(using the characters in the)3.333 F F3(IFS)3.333 E F1 .833(special v)
-3.083 F .834(ariable as delimiters, and e)-.25 F(x-)-.15 E .018
-(pand each resulting w)184 336 R 2.518(ord. Shell)-.1 F .018
-(quoting is honored within)2.518 F F0(wor)2.518 E(dlist)-.37 E F1 2.518
-(,i)C 2.518(no)-2.518 G .018(rder to pro)-2.518 F .017(vide a)-.15 F
-1.157(mechanism for the w)184 348 R 1.158
-(ords to contain shell metacharacters or characters in the v)-.1 F 1.158
-(alue of)-.25 F F3(IFS)184 360 Q/F4 9/Times-Roman@0 SF(.)A F1 .04(The p\
-ossible completions are the members of the resultant list which match a\
- pre\214x)4.541 F(of the w)184 372 Q(ord being completed.)-.1 E F2<ad58>
-144 384 Q F0(\214lterpat)2.5 E(\214lterpat)184 396 Q F1 .455
-(is a pattern as used for pathname e)2.955 F 2.956(xpansion. It)-.15 F
-.456(is applied to the list of possible)2.956 F 1.596
-(completions generated by the preceding options and ar)184 408 R 1.596
-(guments, and each completion)-.18 F(matching)184 420 Q F0(\214lterpat)
-3.204 E F1 .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 F2(!)3.204 E F1
-(in)3.204 E F0(\214lterpat)3.205 E F1(ne)3.205 E -.05(ga)-.15 G .705
-(tes the pattern;).05 F(in this case, an)184 432 Q 2.5(yc)-.15 G
-(ompletion not matching)-2.5 E F0(\214lterpat)2.5 E F1(is remo)2.5 E
--.15(ve)-.15 G(d.).15 E .461(The return v)144 448.8 R .461
-(alue is true unless an in)-.25 F -.25(va)-.4 G .46
-(lid option is supplied, an option other than).25 F F2<ad70>2.96 E F1(,)
-A F2<ad72>2.96 E F1(,)A F2<ad44>2.96 E F1(,)A F2<ad45>2.96 E F1(,)A(or)
-144 460.8 Q F2<ad49>2.985 E F1 .485(is supplied without a)2.985 F F0
-(name)2.985 E F1(ar)2.986 E .486(gument, an attempt is made to remo)-.18
-F .786 -.15(ve a c)-.15 H .486(ompletion speci\214ca-).15 F .164
-(tion for a)144 472.8 R F0(name)2.664 E F1 .164
-(for which no speci\214cation e)2.664 F .164
-(xists, or an error occurs adding a completion speci\214ca-)-.15 F
-(tion.)144 484.8 Q F2(compopt)108 501.6 Q F1([)2.5 E F2<ad6f>A F0
-(option)2.5 E F1 2.5(][)C F2(\255DEI)-2.5 E F1 2.5(][)C F2(+o)-2.5 E F0
-(option)2.5 E F1 2.5(][)C F0(name)-2.5 E F1(])A .447
-(Modify completion options for each)144 513.6 R F0(name)2.947 E F1 .447
-(according to the)2.947 F F0(option)2.947 E F1 .447
-(s, or for the currently-e)B -.15(xe)-.15 G(cuting).15 E .927
-(completion if no)144 525.6 R F0(name)3.427 E F1 3.427(sa)C .927
-(re supplied.)-3.427 F .926(If no)5.927 F F0(option)3.426 E F1 3.426(sa)
-C .926(re supplied, display the completion options)-3.426 F 1.313
-(for each)144 537.6 R F0(name)3.813 E F1 1.314
-(or the current completion.)3.813 F 1.314(The possible v)6.314 F 1.314
-(alues of)-.25 F F0(option)3.814 E F1 1.314(are those v)3.814 F 1.314
-(alid for the)-.25 F F2(complete)144 549.6 Q F1 -.2(bu)2.5 G
-(iltin described abo).2 E -.15(ve)-.15 G(.).15 E(The)144 566.4 Q F2
-<ad44>2.8 E F1 .3(option indicates that other supplied options should a\
-pply to the command completion; the)2.8 F F2<ad45>144 578.4 Q F1 .606(o\
-ption indicates that other supplied options should apply to command com\
-pletion; and the)3.106 F F2<ad49>3.107 E F1 .573(option indicates that \
-other supplied options should apply to completion on the initial w)144
-590.4 R .573(ord on the)-.1 F 2.5(line. These)144 602.4 R
-(are determined in the same w)2.5 E(ay as the)-.1 E F2(complete)2.5 E F1
--.2(bu)2.5 G(iltin.).2 E 1.215(If multiple options are supplied, the)144
-619.2 R F2<ad44>3.715 E F1 1.215(option tak)3.715 F 1.215
-(es precedence o)-.1 F -.15(ve)-.15 G(r).15 E F2<ad45>3.716 E F1 3.716
-(,a)C 1.216(nd both tak)-3.716 F 3.716(ep)-.1 G(rece-)-3.716 E(dence o)
-144 631.2 Q -.15(ve)-.15 G(r).15 E F2<ad49>2.5 E F1(.)A .432
-(The return v)144 648 R .431(alue is true unless an in)-.25 F -.25(va)
--.4 G .431(lid option is supplied, an attempt is made to modify the op-)
-.25 F(tions for a)144 660 Q F0(name)2.5 E F1
-(for which no completion speci\214cation e)2.5 E
-(xists, or an output error occurs.)-.15 E F2(continue)108 676.8 Q F1([)
-2.5 E F0(n)A F1(])A F2(continue)144 688.8 Q F1 .147(resumes the ne)2.647
-F .147(xt iteration of the enclosing)-.15 F F2 -.25(fo)2.648 G(r).25 E
-F1(,)A F2(while)2.648 E F1(,)A F2(until)2.648 E F1 2.648(,o)C(r)-2.648 E
-F2(select)2.648 E F1 2.648(loop. If)2.648 F F0(n)3.008 E F1 .148
-(is speci-)2.888 F(\214ed,)144 700.8 Q F2(bash)3.093 E F1 .593
-(resumes the)3.093 F F0(n)3.093 E F1 .593(th enclosing loop.)B F0(n)
-5.953 E F1 .593(must be)3.333 F/F5 10/Symbol SF<b3>3.093 E F1 3.092
-(1. If)3.092 F F0(n)3.452 E F1 .592(is greater than the number of en-)
-3.332 F .055
-(closing loops, the shell resumes the last enclosing loop \(the loop\).)
-144 712.8 R .056(The return v)5.056 F .056(alue is 0 unless)-.25 F F0(n)
-2.556 E F1(is)2.556 E(not greater than or equal to 1.)144 724.8 Q
-(GNU Bash 5.2)72 768 Q(2023 January 27)141.79 E(6)195.95 E 0 Cg EP
-%%Page: 7 7
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH_B).25 E(UIL)-.1 E(TINS)-.2 E
-/F1 10/Times-Roman@0 SF 91.21(\(1\) General).58 F(Commands Manual)2.5 E
-F0 -.25(BA)93.71 G(SH_B).25 E(UIL)-.1 E(TINS)-.2 E F1(\(1\)).58 E/F2 10
-/Times-Bold@0 SF(declar)108 84 Q(e)-.18 E F1([)2.5 E F2
-(\255aAfFgiIlnrtux)A F1 2.5(][)C F2<ad70>-2.5 E F1 2.5(][)C F0(name)-2.5
-E F1([=)A F0(value)A F1 2.5(].)C 1.666(..)-.834 G(])-1.666 E F2(typeset)
-108 96 Q F1([)2.5 E F2(\255aAfFgiIlnrtux)A F1 2.5(][)C F2<ad70>-2.5 E F1
-2.5(][)C F0(name)-2.5 E F1([=)A F0(value)A F1 2.5(].)C 1.666(..)-.834 G
-(])-1.666 E 1.265(Declare v)144 108 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 F0(name)3.765 E F1 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 120 S .571(riables or functions.).25 F(The)5.571 E F2<ad70>
-3.071 E F1 .571(option will display the attrib)3.071 F .571(utes and v)
--.2 F .572(alues of each)-.25 F F0(name)3.432 E F1 5.572(.W).18 G(hen)
--5.572 E F2<ad70>144 132 Q F1(is used with)2.5 E F0(name)2.5 E F1(ar)2.5
-E(guments, additional options, other than)-.18 E F2<ad66>2.5 E F1(and)
-2.5 E F2<ad46>2.5 E F1 2.5(,a)C(re ignored.)-2.5 E(When)144 148.8 Q F2
-<ad70>2.762 E F1 .262(is supplied without)2.762 F F0(name)2.762 E F1(ar)
-2.761 E(guments,)-.18 E F2(declar)2.761 E(e)-.18 E F1 .261
-(will display the attrib)2.761 F .261(utes and v)-.2 F .261
-(alues of all)-.25 F -.25(va)144 160.8 S .279(riables ha).25 F .279
-(ving the attrib)-.2 F .279(utes speci\214ed by the additional options.)
--.2 F .28(If no other options are supplied)5.279 F(with)144 172.8 Q F2
-<ad70>2.515 E F1(,)A F2(declar)2.515 E(e)-.18 E F1 .015
-(will display the attrib)2.515 F .015(utes and v)-.2 F .015
-(alues of all shell v)-.25 F 2.515(ariables. The)-.25 F F2<ad66>2.515 E
-F1 .015(option restricts)2.515 F(the display to shell functions.)144
-184.8 Q(The)144 201.6 Q F2<ad46>3.488 E F1 .989(option inhibits the dis\
-play of function de\214nitions; only the function name and attrib)3.488
-F(utes)-.2 E 1.31(are printed.)144 213.6 R 1.31(If the)6.31 F F2(extdeb)
-3.81 E(ug)-.2 E F1 1.31(shell option is enabled using)3.81 F F2(shopt)
-3.81 E F1 3.81(,t)C 1.31(he source \214le name and line)-3.81 F
-(number where each)144 225.6 Q F0(name)2.5 E F1
-(is de\214ned are displayed as well.)2.5 E(The)5 E F2<ad46>2.5 E F1
-(option implies)2.5 E F2<ad66>2.5 E F1(.)A(The)144 242.4 Q F2<ad67>2.734
-E F1 .234(option forces v)2.734 F .235
-(ariables to be created or modi\214ed at the global scope, e)-.25 F -.15
-(ve)-.25 G 2.735(nw).15 G(hen)-2.735 E F2(declar)2.735 E(e)-.18 E F1(is)
-2.735 E -.15(exe)144 254.4 S(cuted in a shell function.).15 E
-(It is ignored when)5 E F2(declar)2.5 E(e)-.18 E F1(is not e)2.5 E -.15
-(xe)-.15 G(cuted in a shell function.).15 E(The)144 271.2 Q F2<ad49>
-3.999 E F1 1.499(option causes local v)3.999 F 1.499
-(ariables to inherit the attrib)-.25 F 1.498(utes \(e)-.2 F 1.498
-(xcept the)-.15 F F0(namer)3.998 E(ef)-.37 E F1(attrib)3.998 E 1.498
-(ute\) and)-.2 F -.25(va)144 283.2 S .657(lue of an).25 F 3.157(ye)-.15
-G .657(xisting v)-3.307 F .657(ariable with the same)-.25 F F0(name)
-3.158 E F1 .658(at a surrounding scope.)3.158 F .658(If there is no e)
-5.658 F(xisting)-.15 E -.25(va)144 295.2 S(riable, the local v).25 E
-(ariable is initially unset.)-.25 E .699(The follo)144 312 R .699
-(wing options can be used to restrict output to v)-.25 F .699
-(ariables with the speci\214ed attrib)-.25 F .698(ute or to)-.2 F(gi)144
-324 Q .3 -.15(ve v)-.25 H(ariables attrib)-.1 E(utes:)-.2 E F2<ad61>144
-336 Q F1(Each)180 336 Q F0(name)2.5 E F1(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 F1(in)
-2.5 E F0(bash)2.5 E F1(\(1\)\).)A F2<ad41>144 348 Q F1(Each)180 348 Q F0
-(name)2.5 E F1(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 F1(in)2.5 E F0(bash)2.5 E F1
-(\(1\)\).)A F2<ad66>144 360 Q F1(Each)180 360 Q F0(name)2.5 E F1
-(refers to a shell function.)2.5 E F2<ad69>144 372 Q F1 .557(The v)180
-372 R .558(ariable is treated as an inte)-.25 F .558(ger; arithmetic e)
--.15 F -.25(va)-.25 G .558(luation \(see).25 F/F3 9/Times-Bold@0 SF .558
-(ARITHMETIC EV)3.058 F(ALU)-1.215 E(A-)-.54 E(TION)180 384 Q F1(in)2.25
-E F0(bash)2.5 E F1(\(1\)\) is performed when the v)A
-(ariable is assigned a v)-.25 E(alue.)-.25 E F2<ad6c>144 396 Q F1 .91
-(When the v)180 396 R .909(ariable is assigned a v)-.25 F .909
-(alue, all upper)-.25 F .909(-case characters are con)-.2 F -.15(ve)-.4
-G .909(rted to lo).15 F(wer)-.25 E(-)-.2 E 2.5(case. The)180 408 R
-(upper)2.5 E(-case attrib)-.2 E(ute is disabled.)-.2 E F2<ad6e>144 420 Q
-F1(Gi)180 420 Q 1.619 -.15(ve e)-.25 H(ach).15 E F0(name)3.819 E F1(the)
-3.819 E F0(namer)3.819 E(ef)-.37 E F1(attrib)3.819 E 1.319
-(ute, making it a name reference to another v)-.2 F(ariable.)-.25 E .478
-(That other v)180 432 R .478(ariable is de\214ned by the v)-.25 F .478
-(alue of)-.25 F F0(name)2.978 E F1 5.478(.A)C .478
-(ll references, assignments, and at-)-5.478 F(trib)180 444 Q .781
-(ute modi\214cations to)-.2 F F0(name)3.281 E F1 3.281(,e)C .782
-(xcept those using or changing the)-3.431 F F2<ad6e>3.282 E F1(attrib)
-3.282 E .782(ute itself, are)-.2 F .809(performed on the v)180 456 R
-.809(ariable referenced by)-.25 F F0(name)3.308 E F1 1.908 -.55('s v)D
-3.308(alue. The).3 F .808(nameref attrib)3.308 F .808(ute cannot be)-.2
-F(applied to array v)180 468 Q(ariables.)-.25 E F2<ad72>144 480 Q F1
-(Mak)180 480 Q(e)-.1 E F0(name)3.654 E F1 3.654(sr)C(eadonly)-3.654 E
-6.154(.T)-.65 G 1.154(hese names cannot then be assigned v)-6.154 F
-1.155(alues by subsequent as-)-.25 F(signment statements or unset.)180
-492 Q F2<ad74>144 504 Q F1(Gi)180 504 Q .73 -.15(ve e)-.25 H(ach).15 E
-F0(name)2.93 E F1(the)2.929 E F0(tr)2.929 E(ace)-.15 E F1(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 F1(and)2.929 E F2(RETURN)2.929 E F1
-(traps from the calling shell.)180 516 Q(The trace attrib)5 E
-(ute has no special meaning for v)-.2 E(ariables.)-.25 E F2<ad75>144 528
-Q F1 .909(When the v)180 528 R .909(ariable is assigned a v)-.25 F .909
-(alue, all lo)-.25 F(wer)-.25 E .909(-case characters are con)-.2 F -.15
-(ve)-.4 G .91(rted to upper).15 F(-)-.2 E 2.5(case. The)180 540 R(lo)2.5
-E(wer)-.25 E(-case attrib)-.2 E(ute is disabled.)-.2 E F2<ad78>144 552 Q
-F1(Mark each)180 552 Q F0(name)2.5 E F1(for e)2.5 E
-(xport to subsequent commands via the en)-.15 E(vironment.)-.4 E .589
-(Using instead of turns of)144 568.8 R 3.088(ft)-.25 G .588
-(he speci\214ed attrib)-3.088 F .588(ute instead, with the e)-.2 F .588
-(xceptions that)-.15 F F2(+a)3.088 E F1(and)3.088 E F2(+A)3.088 E F1
-(may)3.088 E(not be used to destro)144 580.8 Q 2.5(ya)-.1 G(rray v)-2.5
-E(ariables and)-.25 E F2(+r)2.5 E F1(will not remo)2.5 E .3 -.15(ve t)
--.15 H(he readonly attrib).15 E(ute.)-.2 E .415
-(When used in a function,)144 597.6 R F2(declar)2.915 E(e)-.18 E F1(and)
-2.915 E F2(typeset)2.915 E F1(mak)2.915 E 2.915(ee)-.1 G(ach)-2.915 E F0
-(name)2.915 E F1 .415(local, as with the)2.915 F F2(local)2.915 E F1
-(command,)2.915 E .704(unless the)144 609.6 R F2<ad67>3.204 E F1 .704
-(option is supplied.)3.204 F .703(If a v)5.704 F .703
-(ariable name is follo)-.25 F .703(wed by =)-.25 F F0(value)A F1 3.203
-(,t)C .703(he v)-3.203 F .703(alue of the v)-.25 F(ari-)-.25 E .878
-(able is set to)144 621.6 R F0(value)3.379 E F1 5.879(.W)C .879
-(hen using)-5.879 F F2<ad61>3.379 E F1(or)3.379 E F2<ad41>3.379 E F1
-.879(and the compound assignment syntax to create array)3.379 F -.25(va)
-144 633.6 S(riables, additional attrib).25 E(utes do not tak)-.2 E 2.5
-(ee)-.1 G -.25(ff)-2.5 G(ect until subsequent assignments.).25 E .433
-(The return v)144 650.4 R .433(alue is 0 unless an in)-.25 F -.25(va)-.4
-G .433
-(lid option is encountered, an attempt is made to de\214ne a func-).25 F
-.139(tion using an attempt is made to assign a v)144 662.4 R .14
-(alue to a readonly v)-.25 F .14(ariable, an attempt is made to assign)
--.25 F 4.913(av)144 674.4 S 2.413(alue to an array v)-5.163 F 2.413
-(ariable without using the compound assignment syntax \(see)-.25 F F2
-(Arrays)4.912 E F1(in)4.912 E F0(bash)144 686.4 Q F1 .49
-(\(1\)\), one of the)B F0(names)2.99 E F1 .49(is not a v)2.99 F .49
-(alid shell v)-.25 F .491(ariable name, an attempt is made to turn of)
--.25 F 2.991(fr)-.25 G(ead-)-2.991 E .134(only status for a readonly v)
-144 698.4 R .133(ariable, an attempt is made to turn of)-.25 F 2.633(fa)
--.25 G .133(rray status for an array v)-2.633 F(ariable,)-.25 E
-(or an attempt is made to display a non-e)144 710.4 Q
-(xistent function with)-.15 E F2<ad66>2.5 E F1(.)A(GNU Bash 5.2)72 768 Q
-(2023 January 27)141.79 E(7)195.95 E 0 Cg EP
-%%Page: 8 8
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH_B).25 E(UIL)-.1 E(TINS)-.2 E
-/F1 10/Times-Roman@0 SF 91.21(\(1\) General).58 F(Commands Manual)2.5 E
-F0 -.25(BA)93.71 G(SH_B).25 E(UIL)-.1 E(TINS)-.2 E F1(\(1\)).58 E/F2 10
-/Times-Bold@0 SF(dirs [\255clpv] [+)108 84 Q F0(n)A F2 2.5(][)C<ad>-2.5
-E F0(n)A F2(])A F1 -.4(Wi)144 96 S .606
-(thout options, display the list of currently remembered directories.).4
-F .607(The def)5.607 F .607(ault display is on a)-.1 F 1.238
-(single line with directory names separated by spaces.)144 108 R 1.238
-(Directories are added to the list with the)6.238 F F2(pushd)144 120 Q
-F1 .927(command; the)3.427 F F2(popd)3.428 E F1 .928(command remo)3.428
-F -.15(ve)-.15 G 3.428(se).15 G .928(ntries from the list.)-3.428 F .928
-(The current directory is al-)5.928 F -.1(wa)144 132 S
-(ys the \214rst directory in the stack.).1 E(Options, if supplied, ha)
-144 148.8 Q .3 -.15(ve t)-.2 H(he follo).15 E(wing meanings:)-.25 E F2
-<ad63>144 160.8 Q F1
-(Clears the directory stack by deleting all of the entries.)180 160.8 Q
-F2<ad6c>144 172.8 Q F1 .882
-(Produces a listing using full pathnames; the def)180 172.8 R .881
-(ault listing format uses a tilde to denote)-.1 F(the home directory)180
-184.8 Q(.)-.65 E F2<ad70>144 196.8 Q F1
-(Print the directory stack with one entry per line.)180 196.8 Q F2<ad76>
-144 208.8 Q F1 .272(Print the directory stack with one entry per line, \
-pre\214xing each entry with its inde)180 208.8 R 2.773(xi)-.15 G 2.773
-(nt)-2.773 G(he)-2.773 E(stack.)180 220.8 Q F2(+)144 232.8 Q F0(n)A F1
-1.565(Displays the)180 232.8 R F0(n)4.065 E F1 1.565
-(th entry counting from the left of the list sho)B 1.564(wn by)-.25 F F2
-(dirs)4.064 E F1 1.564(when in)4.064 F -.2(vo)-.4 G -.1(ke).2 G(d).1 E
-(without options, starting with zero.)180 244.8 Q F2<ad>144 256.8 Q F0
-(n)A F1 1.194(Displays the)180 256.8 R F0(n)3.694 E F1 1.194
-(th entry counting from the right of the list sho)B 1.194(wn by)-.25 F
-F2(dirs)3.694 E F1 1.194(when in)3.694 F -.2(vo)-.4 G -.1(ke).2 G(d).1 E
-(without options, starting with zero.)180 268.8 Q .258(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 F0(n)2.758 E F1(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 297.6 Q F2(diso)108 314.4 Q(wn)-.1 E F1([)2.5 E F2
-(\255ar)A F1 2.5(][)C F2<ad68>-2.5 E F1 2.5(][)C F0(id)-2.5 E F1 1.666
-(...)2.5 G(])-1.666 E -.4(Wi)144 326.4 S .342(thout options, remo).4 F
-.642 -.15(ve e)-.15 H(ach).15 E F0(id)2.852 E F1 .342
-(from the table of acti)3.612 F .642 -.15(ve j)-.25 H 2.842(obs. Each)
-.15 F F0(id)2.843 E F1 .343(may be a job speci\214cation)2.843 F F0
-(jobspec)144 338.4 Q F1(or a process ID)2.5 E F0(pid)2.5 E F1 2.5(;i)C
-(f)-2.5 E F0(id)2.5 E F1(is a)2.5 E F0(pid)2.5 E F1(,)A F2(diso)2.5 E
-(wn)-.1 E F1(uses the job containing)2.5 E F0(pid)2.5 E F1(as)2.5 E F0
-(jobspec)2.5 E F1(.)A .683(If the)144 355.2 R F2<ad68>3.183 E F1 .683
-(option is supplied,)3.183 F F2(diso)3.183 E(wn)-.1 E F1 .683
-(does not remo)3.183 F .983 -.15(ve t)-.15 H .683
-(he jobs corresponding to each).15 F F0(id)3.193 E F1 .682(from the)
-3.953 F .183(jobs table, b)144 367.2 R .184
-(ut rather marks them so the shell does not send)-.2 F/F3 9/Times-Bold@0
-SF(SIGHUP)2.684 E F1 .184(to the job if the shell recei)2.434 F -.15(ve)
--.25 G(s).15 E(a)144 379.2 Q F3(SIGHUP)2.5 E/F4 9/Times-Roman@0 SF(.)A
-F1 .571(If no)144 396 R F0(id)3.081 E F1 .571(is supplied, the)3.841 F
-F2<ad61>3.071 E F1 .571(option means to remo)3.071 F .87 -.15(ve o)-.15
-H 3.07(rm).15 G .57(ark all jobs; the)-3.07 F F2<ad72>3.07 E F1 .57
-(option without an)3.07 F F0(id)3.08 E F1(ar)144 408 Q .658(gument remo)
--.18 F -.15(ve)-.15 G 3.158(so).15 G 3.158(rm)-3.158 G .658
-(arks running jobs.)-3.158 F .658(If no)5.658 F F0(id)3.168 E F1 .658
-(is supplied, and neither the)3.928 F F2<ad61>3.159 E F1 .659(nor the)
-3.159 F F2<ad72>3.159 E F1(op-)3.159 E(tion is supplied,)144 420 Q F2
-(diso)2.5 E(wn)-.1 E F1(remo)2.5 E -.15(ve)-.15 G 2.5(so).15 G 2.5(rm)
--2.5 G(arks the current job)-2.5 E(.)-.4 E(The return v)144 436.8 Q
-(alue is 0 unless an)-.25 E F0(id)2.51 E F1(does not specify a v)3.27 E
-(alid job)-.25 E(.)-.4 E F2(echo)108 453.6 Q F1([)2.5 E F2(\255neE)A F1
-2.5(][)C F0(ar)-2.5 E(g)-.37 E F1 1.666(...)2.5 G(])-1.666 E .425
-(Output the)144 465.6 R F0(ar)2.925 E(g)-.37 E F1 .424
-(s, separated by spaces, follo)B .424(wed by a ne)-.25 F 2.924
-(wline. The)-.25 F .424(return status is 0 unless a write)2.924 F
-(error occurs.)144 477.6 Q(If)5 E F2<ad6e>2.5 E F1
-(is speci\214ed, the trailing ne)2.5 E(wline is not printed.)-.25 E .48
-(If the)144 494.4 R F2<ad65>2.98 E F1 .48(option is gi)2.98 F -.15(ve)
--.25 G(n,).15 E F2(echo)2.98 E F1 .48(interprets the follo)2.98 F .48
-(wing backslash-escaped characters.)-.25 F(The)5.48 E F2<ad45>2.98 E F1
-(op-)2.98 E .469
-(tion disables interpretation of these escape characters, e)144 506.4 R
--.15(ve)-.25 G 2.969(no).15 G 2.969(ns)-2.969 G .469(ystems where the)
--2.969 F 2.969(ya)-.15 G .469(re interpreted)-2.969 F .41(by def)144
-518.4 R 2.91(ault. The)-.1 F F2(xpg_echo)2.91 E F1 .41
-(shell option determines whether or not)2.91 F F2(echo)2.91 E F1 .41
-(interprets an)2.91 F 2.91(yo)-.15 G .41(ptions and)-2.91 F -.15(ex)144
-530.4 S(pands these escape characters.).15 E F2(echo)5 E F1
-(does not interpret)2.5 E F2<adad>2.5 E F1(to mean the end of options.)
-2.5 E F2(echo)144 547.2 Q F1(interprets the follo)2.5 E
-(wing escape sequences:)-.25 E F2(\\a)144 559.2 Q F1(alert \(bell\))180
-559.2 Q F2(\\b)144 571.2 Q F1(backspace)180 571.2 Q F2(\\c)144 583.2 Q
-F1(suppress further output)180 583.2 Q F2(\\e)144 595.2 Q(\\E)144 607.2
-Q F1(an escape character)180 607.2 Q F2(\\f)144 619.2 Q F1(form feed)180
-619.2 Q F2(\\n)144 631.2 Q F1(ne)180 631.2 Q 2.5(wl)-.25 G(ine)-2.5 E F2
-(\\r)144 643.2 Q F1(carriage return)180 643.2 Q F2(\\t)144 655.2 Q F1
-(horizontal tab)180 655.2 Q F2(\\v)144 667.2 Q F1 -.15(ve)180 667.2 S
-(rtical tab).15 E F2(\\\\)144 679.2 Q F1(backslash)180 679.2 Q F2(\\0)
-144 691.2 Q F0(nnn)A F1(The eight-bit character whose v)180 691.2 Q
-(alue is the octal v)-.25 E(alue)-.25 E F0(nnn)2.5 E F1
-(\(zero to three octal digits\).)2.5 E F2(\\x)144 703.2 Q F0(HH)A F1
-(The eight-bit character whose v)180 703.2 Q(alue is the he)-.25 E
-(xadecimal v)-.15 E(alue)-.25 E F0(HH)2.5 E F1(\(one or tw)2.5 E 2.5(oh)
--.1 G .3 -.15(ex d)-2.5 H(igits\).).15 E(GNU Bash 5.2)72 768 Q
-(2023 January 27)141.79 E(8)195.95 E 0 Cg EP
-%%Page: 9 9
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH_B).25 E(UIL)-.1 E(TINS)-.2 E
-/F1 10/Times-Roman@0 SF 91.21(\(1\) General).58 F(Commands Manual)2.5 E
-F0 -.25(BA)93.71 G(SH_B).25 E(UIL)-.1 E(TINS)-.2 E F1(\(1\)).58 E/F2 10
-/Times-Bold@0 SF(\\u)144 84 Q F0(HHHH)A F1 1.204
-(The Unicode \(ISO/IEC 10646\) character whose v)180 96 R 1.203
-(alue is the he)-.25 F 1.203(xadecimal v)-.15 F(alue)-.25 E F0(HHHH)
-3.703 E F1(\(one to four he)180 108 Q 2.5(xd)-.15 G(igits\).)-2.5 E F2
-(\\U)144 120 Q F0(HHHHHHHH)A F1 .244
-(The Unicode \(ISO/IEC 10646\) character whose v)180 132 R .245
-(alue is the he)-.25 F .245(xadecimal v)-.15 F(alue)-.25 E F0(HHHHH-)
-2.745 E(HHH)180 144 Q F1(\(one to eight he)2.5 E 2.5(xd)-.15 G(igits\).)
--2.5 E F2(echo)144 160.8 Q F1(writes an)2.5 E 2.5(yu)-.15 G
-(nrecognized backslash-escaped characters unchanged.)-2.5 E F2(enable)
-108 177.6 Q F1([)2.5 E F2<ad61>A F1 2.5(][)C F2(\255dnps)-2.5 E F1 2.5
-(][)C F2<ad66>-2.5 E F0(\214lename)2.5 E F1 2.5(][)C F0(name)-2.5 E F1
-1.666(...)2.5 G(])-1.666 E 1.2(Enable and disable b)144 189.6 R 1.199
-(uiltin shell commands.)-.2 F 1.199(Disabling a b)6.199 F 1.199
-(uiltin allo)-.2 F 1.199(ws an e)-.25 F -.15(xe)-.15 G 1.199
-(cutable \214le which).15 F 1.737(has the same name as a shell b)144
-201.6 R 1.737(uiltin to be e)-.2 F -.15(xe)-.15 G 1.737
-(cuted without specifying a full pathname, e).15 F -.15(ve)-.25 G(n).15
-E(though the shell normally searches for b)144 213.6 Q
-(uiltins before \214les.)-.2 E(If)144 230.4 Q F2<ad6e>3.358 E F1 .858
-(is supplied, each)3.358 F F0(name)3.358 E F1 .858
-(is disabled; otherwise,)3.358 F F0(name)3.357 E F1 3.357(sa)C .857
-(re enabled.)-3.357 F -.15(Fo)5.857 G 3.357(re).15 G .857
-(xample, to use the)-3.507 F F2(test)144 242.4 Q F1(binary found usin g)
-2.5 E/F3 9/Times-Bold@0 SF -.666(PA)2.5 G(TH)-.189 E F1
-(instead of the shell b)2.25 E(uiltin v)-.2 E(ersion, run)-.15 E 1.165
-(If no)144 259.2 R F0(name)3.665 E F1(ar)3.665 E 1.165
-(guments are supplied, or if the)-.18 F F2<ad70>3.665 E F1 1.165
-(option is supplied, print a list of shell b)3.665 F(uiltins.)-.2 E -.4
-(Wi)144 271.2 S 1.005(th no other option ar).4 F 1.005
-(guments, the list consists of all enabled shell b)-.18 F 3.505
-(uiltins. If)-.2 F F2<ad6e>3.505 E F1 1.005(is supplied,)3.505 F .46
-(print only disabled b)144 283.2 R 2.96(uiltins. If)-.2 F F2<ad61>2.96 E
-F1 .46(is supplied, the list printed includes all b)2.96 F .46
-(uiltins, with an indica-)-.2 F .791
-(tion of whether or not each is enabled.)144 295.2 R(The)5.791 E F2
-<ad73>3.291 E F1 .79(option means to restrict the output to the POSIX)
-3.291 F F0(special)144 307.2 Q F1 -.2(bu)2.5 G(iltins.).2 E(The)144 324
-Q F2<ad66>2.785 E F1 .285(option means to load the ne)2.785 F 2.785(wb)
--.25 G .285(uiltin command)-2.985 F F0(name)3.145 E F1 .285
-(from shared object)2.965 F F0(\214lename)4.695 E F1 2.785(,o).18 G
-2.785(ns)-2.785 G(ys-)-2.785 E .01(tems that support dynamic loading.)
-144 336 R(If)5.01 E F0(\214lename)2.51 E F1 .01
-(does not contain a slash,)2.51 F F2(Bash)2.51 E F1 .01(will use the v)
-2.51 F .01(alue of)-.25 F(the)144 348 Q F2 -.3(BA)4.456 G(SH_LO).3 E(AD)
--.4 E(ABLES_P)-.35 E -.95(AT)-.74 G(H).95 E F1 -.25(va)4.456 G 1.956
-(riable as a colon-separated list of directories in which to).25 F .305
-(search for)144 360 R F0(\214lename)2.805 E F1 5.305(.T)C .305(he def)
--5.305 F .305(ault for)-.1 F F2 -.3(BA)2.805 G(SH_LO).3 E(AD)-.4 E
-(ABLES_P)-.35 E -.95(AT)-.74 G(H).95 E F1 .305
-(is system-dependent, and may)2.805 F .925
-(include to force a search of the current directory)144 372 R 5.925(.T)
--.65 G(he)-5.925 E F2<ad64>3.425 E F1 .925(option will delete a b)3.425
-F .925(uiltin pre)-.2 F(viously)-.25 E(loaded with)144 384 Q F2<ad66>2.5
-E F1 5(.I)C(f)-5 E F0<ad73>2.5 E F1(is used with)2.5 E F0<ad66>2.5 E F1
-2.5(,t)C(he ne)-2.5 E 2.5(wb)-.25 G(uiltin becomes a POSIX special b)
--2.7 E(uiltin.)-.2 E .269(If no options are supplied and a)144 400.8 R
-F0(name)2.769 E F1 .269(is not a shell b)2.769 F(uiltin,)-.2 E F2
-(enable)2.769 E F1 .269(will attempt to load)2.769 F F0(name)2.769 E F1
-(from)2.768 E 2.5(as)144 412.8 S(hared object named)-2.5 E F0(name)2.5 E
-F1 2.5(,a)C 2.5(si)-2.5 G 2.5(ft)-2.5 G(he command were)-2.5 E .477
-(The return v)144 429.6 R .477(alue is 0 unless a)-.25 F F0(name)3.337 E
-F1 .477(is not a shell b)3.157 F .477
-(uiltin or there is an error loading a ne)-.2 F 2.978(wb)-.25 G(uiltin)
--3.178 E(from a shared object.)144 441.6 Q F2 -2.3 -.15(ev a)108 458.4 T
-(l).15 E F1([)2.5 E F0(ar)A(g)-.37 E F1 1.666(...)2.5 G(])-1.666 E 1.348
-(Concatenate the)144 470.4 R F0(ar)3.848 E(g)-.37 E F1 3.848(st)C 1.348
-(ogether into a single command, separating them with spaces.)-3.848 F F2
-(Bash)6.347 E F1(then)3.847 E .176(reads and e)144 482.4 R -.15(xe)-.15
-G .176(cute this command, and returns its e).15 F .176
-(xit status as the return status of)-.15 F F2 -2.3 -.15(ev a)2.676 H(l)
-.15 E F1 5.176(.I)C 2.677(ft)-5.176 G .177(here are)-2.677 F(no)144
-494.4 Q F0(ar)2.83 E(gs)-.37 E F1 2.5(,o).27 G 2.5(ro)-2.5 G
-(nly null ar)-2.5 E(guments,)-.18 E F2 -2.3 -.15(ev a)2.5 H(l).15 E F1
-(returns 0.)2.5 E F2(exec)108 511.2 Q F1([)2.5 E F2(\255cl)A F1 2.5(][)C
-F2<ad61>-2.5 E F0(name)2.5 E F1 2.5(][)C F0(command)-2.5 E F1([)2.5 E F0
-(ar)A(guments)-.37 E F1(]])A(If)144 523.2 Q F0(command)2.984 E F1 .283
-(is speci\214ed, it replaces the shell without creating a ne)3.554 F
-2.783(wp)-.25 G(rocess.)-2.783 E F0(command)5.283 E F1 .283(cannot be)
-2.783 F 2.877(as)144 535.2 S .377(hell b)-2.877 F .377
-(uiltin or function.)-.2 F(The)5.377 E F0(ar)3.207 E(guments)-.37 E F1
-.377(become the ar)3.147 F .378(guments to)-.18 F F0(command)2.878 E F1
-5.378(.I)C 2.878(ft)-5.378 G(he)-2.878 E F2<ad6c>2.878 E F1 .378
-(option is)2.878 F .078(supplied, the shell places a dash at the be)144
-547.2 R .078(ginning of the zeroth ar)-.15 F .078(gument passed to)-.18
-F F0(command)2.778 E F1 5.078(.T).77 G(his)-5.078 E .138(is what)144
-559.2 R F0(lo)2.728 E(gin)-.1 E F1 .138(\(1\) does.).24 F(The)5.138 E F2
-<ad63>2.638 E F1 .139(option causes)2.639 F F0(command)2.839 E F1 .139
-(to be e)3.409 F -.15(xe)-.15 G .139(cuted with an empty en).15 F
-(vironment.)-.4 E(If)144 571.2 Q F2<ad61>2.5 E F1
-(is supplied, the shell passes)2.5 E F0(name)2.86 E F1(as the zeroth ar)
-2.68 E(gument to the e)-.18 E -.15(xe)-.15 G(cuted command.).15 E(If)144
-588 Q F0(command)3.246 E F1 .546(cannot be e)3.816 F -.15(xe)-.15 G .546
-(cuted for some reason, a non-interacti).15 F .846 -.15(ve s)-.25 H .545
-(hell e).15 F .545(xits, unless the)-.15 F F2(execfail)3.045 E F1 1.22
-(shell option is enabled.)144 600 R 1.22
-(In that case, it returns a non-zero status.)6.22 F 1.22(An interacti)
-6.22 F 1.52 -.15(ve s)-.25 H 1.22(hell returns a).15 F
-(non-zero status if the \214le cannot be e)144 612 Q -.15(xe)-.15 G 2.5
-(cuted. A).15 F(subshell e)2.5 E(xits unconditionally if)-.15 E F2(exec)
-2.5 E F1 -.1(fa)2.5 G(ils.).1 E(If)144 628.8 Q F0(command)3.225 E F1
-.525(is not speci\214ed, an)3.795 F 3.025(yr)-.15 G .524
-(edirections tak)-3.025 F 3.024(ee)-.1 G -.25(ff)-3.024 G .524
-(ect in the current shell, and the return status).25 F(is 0.)144 640.8 Q
-(If there is a redirection error)5 E 2.5(,t)-.4 G
-(he return status is 1.)-2.5 E F2(exit)108 657.6 Q F1([)2.5 E F0(n)A F1
-(])A .095(Cause the shell to e)144 657.6 R .095(xit with a status of)
--.15 F F0(n)2.595 E F1 5.095(.I)C(f)-5.095 E F0(n)2.955 E F1 .096
-(is omitted, the e)2.835 F .096(xit status is that of the last command)
--.15 F -.15(exe)144 669.6 S 2.5(cuted. An).15 F 2.5(yt)-.15 G(rap on)
--2.5 E F3(EXIT)2.5 E F1(is e)2.25 E -.15(xe)-.15 G
-(cuted before the shell terminates.).15 E F2(export)108 686.4 Q F1([)2.5
-E F2(\255fn)A F1 2.5(][).833 G F0(name)-2.5 E F1([=)A F0(value)A F1
-(]] .)A 1.666(..)1.666 G F2(export \255p)108 698.4 Q F1 .257
-(The supplied)144 710.4 R F0(names)3.117 E F1 .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.5
-(commands. If)144 722.4 R(the)2.5 E F2<ad66>2.5 E F1(option is gi)2.5 E
--.15(ve)-.25 G(n, the).15 E F0(names)2.86 E F1(refer to functions.)2.77
-E(GNU Bash 5.2)72 768 Q(2023 January 27)141.79 E(9)195.95 E 0 Cg EP
-%%Page: 10 10
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH_B).25 E(UIL)-.1 E(TINS)-.2 E
-/F1 10/Times-Roman@0 SF 91.21(\(1\) General).58 F(Commands Manual)2.5 E
-F0 -.25(BA)93.71 G(SH_B).25 E(UIL)-.1 E(TINS)-.2 E F1(\(1\)).58 E(The)
-144 84 Q/F2 10/Times-Bold@0 SF<ad6e>2.68 E F1 .18(option une)2.68 F .18
-(xports, or remo)-.15 F -.15(ve)-.15 G 2.68(st).15 G .181(he e)-2.68 F
-.181(xport attrib)-.15 F .181(ute, from each)-.2 F F0(name)2.681 E F1
-5.181(.I)C 2.681(fn)-5.181 G(o)-2.681 E F0(names)3.041 E F1 .181(are gi)
-2.951 F -.15(ve)-.25 G(n,).15 E .536(or if the)144 96 R F2<ad70>3.036 E
-F1 .536(option is supplied,)3.036 F F2(export)3.036 E F1 .536
-(prints a list of names of all e)3.036 F .535(xported v)-.15 F .535
-(ariables on the stan-)-.25 F(dard output.)144 108 Q F2(export)144 124.8
-Q F1(allo)2.94 E .44(ws the v)-.25 F .44(alue of a v)-.25 F .44
-(ariable to be set when it is e)-.25 F .44(xported or une)-.15 F .44
-(xported by follo)-.15 F .44(wing the)-.25 F -.25(va)144 136.8 S .152
-(riable name with =).25 F F0(value)A F1 5.152(.T)C .152(his sets the v)
--5.152 F .152(alue of the v)-.25 F .152(ariable to)-.25 F F0(value)2.652
-E F1 .151(while modifying the e)2.652 F(xport)-.15 E(attrib)144 148.8 Q
-(ute.)-.2 E F2(export)6.36 E F1 1.36(returns an e)3.86 F 1.361
-(xit status of 0 unless an in)-.15 F -.25(va)-.4 G 1.361
-(lid option is encountered, one of the).25 F F0(names)144 160.8 Q F1
-(is not a v)2.5 E(alid shell v)-.25 E(ariable name, or)-.25 E F2<ad66>
-2.5 E F1(is supplied with a)2.5 E F0(name)2.86 E F1
-(that is not a function.)2.68 E F2(false)108 177.6 Q F1
-(Does nothing; returns a non-zero status.)144 177.6 Q F2(fc)108 194.4 Q
-F1([)2.5 E F2<ad65>A F0(ename)2.5 E F1 2.5(][)C F2(\255lnr)-2.5 E F1 2.5
-(][)C F0<8c72>-2.5 E(st)-.1 E F1 2.5(][)C F0(last)-2.5 E F1(])A F2
-(fc \255s)108 206.4 Q F1([)2.5 E F0(pat)A F1(=)A F0 -.37(re)C(p).37 E F1
-2.5(][)C F0(cmd)-2.5 E F1(])A .432
-(The \214rst form selects a range of commands from)144 218.4 R F0<8c72>
-4.842 E(st)-.1 E F1(to)3.612 E F0(last)3.022 E F1 .431
-(from the history list and displays or)3.612 F .141(edits and re-e)144
-230.4 R -.15(xe)-.15 G .141(cutes them.).15 F F0 -.45(Fi)5.141 G -.1(rs)
-.45 G(t).1 E F1(and)3.321 E F0(last)2.731 E F1 .141
-(may be speci\214ed as a string \(to locate the last command)3.321 F(be)
-144 242.4 Q .311(ginning with that string\) or as a number \(an inde)
--.15 F 2.811(xi)-.15 G .31(nto the history list, where a ne)-2.811 F
--.05(ga)-.15 G(ti).05 E .61 -.15(ve n)-.25 H(umber).15 E
-(is used as an of)144 254.4 Q(fset from the current command number\).)
--.25 E .746(When listing, a)144 271.2 R F0<8c72>3.246 E(st)-.1 E F1(or)
-3.246 E F0(last)3.246 E F1 .746(of 0 is equi)3.246 F -.25(va)-.25 G .746
-(lent to \2551 and \2550 is equi).25 F -.25(va)-.25 G .747
-(lent to the current command).25 F .779(\(usually the)144 283.2 R F2(fc)
-3.279 E F1 .779(command\); otherwise 0 is equi)3.279 F -.25(va)-.25 G
-.779(lent to \2551 and \2550 is in).25 F -.25(va)-.4 G 3.279(lid. If).25
-F F0(last)3.369 E F1 .778(is not speci-)3.959 F .536(\214ed, it is set \
-to the current command for listing \(so that prints the last 10 command\
-s\) and to)144 295.2 R F0<8c72>4.947 E(st)-.1 E F1 3.123(otherwise. If)
-144 307.2 R F0<8c72>5.033 E(st)-.1 E F1 .622
-(is not speci\214ed, it is set to the pre)3.803 F .622
-(vious command for editing and \25516 for list-)-.25 F(ing.)144 319.2 Q
-.696(If the)144 336 R F2<ad6c>3.196 E F1 .696
-(option is supplied, the commands are listed on the standard output.)
-3.196 F(The)5.697 E F2<ad6e>3.197 E F1 .697(option sup-)3.197 F
-(presses the command numbers when listing.)144 348 Q(The)5 E F2<ad72>2.5
-E F1(option re)2.5 E -.15(ve)-.25 G(rses the order of the commands.).15
-E(Otherwise,)144 364.8 Q F2(fc)2.902 E F1(in)2.902 E -.2(vo)-.4 G -.1
-(ke).2 G 2.902(st).1 G .402(he editor named by)-2.902 F F0(ename)3.092 E
-F1 .402(on a \214le containing those commands.)3.082 F(If)5.402 E F0
-(ename)3.092 E F1 .541(is not supplied,)144 376.8 R F2(fc)3.041 E F1
-.542(uses the v)3.042 F .542(alue of the)-.25 F/F3 9/Times-Bold@0 SF
-(FCEDIT)3.042 E F1 -.25(va)2.792 G .542(riable, and the v).25 F .542
-(alue of)-.25 F F3(EDIT)3.042 E(OR)-.162 E F1(if)2.792 E F3(FCEDIT)3.042
-E F1(is)2.792 E .213(not set.)144 388.8 R .212(If neither v)5.213 F .212
-(ariable is set,)-.25 F F2(fc)2.712 E F1(uses)2.712 E F0(vi.)4.378 E F1
-.212(When editing is complete,)4.378 F F2(fc)2.712 E F1 .212
-(reads the \214le containing)2.712 F
-(the edited commands and echoes and e)144 400.8 Q -.15(xe)-.15 G
-(cutes them.).15 E .711(In the second form,)144 417.6 R F2(fc)3.211 E F1
-(re-e)3.211 E -.15(xe)-.15 G(cutes).15 E F0(command)3.211 E F1 .711
-(after replacing each instance of)3.211 F F0(pat)3.212 E F1(with)3.212 E
-F0 -.37(re)3.212 G(p).37 E F1(.)A F0(Com-)5.712 E(mand)144 429.6 Q F1
-(is interpreted the same as)2.5 E F0<8c72>2.5 E(st)-.1 E F1(abo)2.5 E
--.15(ve)-.15 G(.).15 E 2.723(Au)144 446.4 S .223
-(seful alias to use with)-2.723 F F2(fc)2.723 E F1 .223
-(is so that typing runs the last command be)2.723 F .222
-(ginning with and typing re-)-.15 F -.15(exe)144 458.4 S
-(cutes the last command.).15 E .439
-(If the \214rst form is used, the return v)144 475.2 R .44
-(alue is zero unless an in)-.25 F -.25(va)-.4 G .44
-(lid option is encountered or).25 F F0<8c72>4.85 E(st)-.1 E F1(or)3.62 E
-F0(last)144.09 487.2 Q F1 .402(specify history lines out of range.)3.582
-F .402(When editing and re-e)5.402 F -.15(xe)-.15 G .402
-(cuting a \214le of commands, the re-).15 F .573(turn v)144 499.2 R .573
-(alue is the v)-.25 F .573(alue of the last command e)-.25 F -.15(xe)
--.15 G .573(cuted or f).15 F .574
-(ailure if an error occurs with the tempo-)-.1 F .686(rary \214le.)144
-511.2 R .685
-(If the second form is used, the return status is that of the re-e)5.686
-F -.15(xe)-.15 G .685(cuted command, unless).15 F F0(cmd)144.2 523.2 Q
-F1(does not specify a v)3.27 E(alid history entry)-.25 E 2.5(,i)-.65 G
-2.5(nw)-2.5 G(hich case)-2.5 E F2(fc)2.5 E F1
-(returns a non-zero status.)2.5 E F2(fg)108 540 Q F1([)2.5 E F0(jobspec)
-A F1(])A(Resume)144 552 Q F0(jobspec)4.638 E F1 .398(in the fore)3.208 F
-.399(ground, and mak)-.15 F 2.899(ei)-.1 G 2.899(tt)-2.899 G .399
-(he current job)-2.899 F 5.399(.I)-.4 G(f)-5.399 E F0(jobspec)4.639 E F1
-.399(is not present,)3.209 F F2(fg)2.899 E F1(uses)2.899 E .248
-(the shell')144 564 R 2.748(sn)-.55 G .248(otion of the)-2.748 F F0
-(curr)2.747 E .247(ent job)-.37 F F1 5.247(.T)C .247(he return v)-5.247
-F .247(alue is that of the command placed into the fore-)-.25 F .097
-(ground, or f)144 576 R .098
-(ailure if run when job control is disabled or)-.1 F 2.598(,w)-.4 G .098
-(hen run with job control enabled, if)-2.598 F F0(job-)4.338 E(spec)144
-588 Q F1(does not specify a v)2.81 E(alid job or)-.25 E F0(jobspec)4.24
-E F1(speci\214es a job that w)2.81 E(as started without job control.)-.1
-E F2(getopts)108 604.8 Q F0(optstring name)2.5 E F1([)2.5 E F0(ar)A(g)
--.37 E F1 1.666(...)2.5 G(])-1.666 E F2(getopts)144 616.8 Q F1 .051(is \
-used by shell scripts and functions to parse positional parameters and \
-obtain options and)2.551 F 1.129(their ar)144 628.8 R(guments.)-.18 E F0
-(optstring)6.359 E F1 1.129(contains the option characters to be recogn\
-ized; if a character is fol-)3.849 F(lo)144 640.8 Q .657
-(wed by a colon, the option is e)-.25 F .657(xpected to ha)-.15 F .956
--.15(ve a)-.2 H 3.156(na).15 G -.18(rg)-3.156 G .656
-(ument, which should be separated from it).18 F(by white space.)144
-652.8 Q(The colon and question mark characters may not be used as optio\
-n characters.)5 E .031(Each time it is in)144 669.6 R -.2(vo)-.4 G -.1
-(ke).2 G(d,).1 E F2(getopts)2.531 E F1 .031(places the ne)2.531 F .031
-(xt option in the shell v)-.15 F(ariable)-.25 E F0(name)2.892 E F1 2.532
-(,i).18 G(nitializing)-2.532 E F0(name)2.892 E F1 .523(if it does not e)
-144 681.6 R .522(xist, and the inde)-.15 F 3.022(xo)-.15 G 3.022(ft)
--3.022 G .522(he ne)-3.022 F .522(xt ar)-.15 F .522
-(gument to be processed into the v)-.18 F(ariable)-.25 E F3(OPTIND)3.022
-E/F4 9/Times-Roman@0 SF(.)A F3(OPTIND)144 693.6 Q F1 .079
-(is initialized to 1 each time the shell or a shell script is in)2.329 F
--.2(vo)-.4 G -.1(ke).2 G 2.58(d. When).1 F .08(an option requires)2.58 F
-(an ar)144 705.6 Q(gument,)-.18 E F2(getopts)2.5 E F1(places that ar)2.5
-E(gument into the v)-.18 E(ariable)-.25 E F3(OPT)2.5 E(ARG)-.81 E F4(.)A
-F1(GNU Bash 5.2)72 768 Q(2023 January 27)141.79 E(10)190.95 E 0 Cg EP
-%%Page: 11 11
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH_B).25 E(UIL)-.1 E(TINS)-.2 E
-/F1 10/Times-Roman@0 SF 91.21(\(1\) General).58 F(Commands Manual)2.5 E
-F0 -.25(BA)93.71 G(SH_B).25 E(UIL)-.1 E(TINS)-.2 E F1(\(1\)).58 E .647
-(The shell does not reset)144 84 R/F2 9/Times-Bold@0 SF(OPTIND)3.147 E
-F1 .647(automatically; it must be manually reset between multiple calls)
-2.897 F(to)144 96 Q/F3 10/Times-Bold@0 SF(getopts)2.5 E F1
-(within the same shell in)2.5 E -.2(vo)-.4 G(cation to use a ne).2 E 2.5
-(ws)-.25 G(et of parameters.)-2.5 E .101
-(When it reaches the end of options,)144 112.8 R F3(getopts)2.602 E F1
--.15(ex)2.602 G .102(its with a return v).15 F .102
-(alue greater than zero.)-.25 F F2(OPTIND)5.102 E F1(is)2.352 E
-(set to the inde)144 124.8 Q 2.5(xo)-.15 G 2.5(ft)-2.5 G
-(he \214rst non-option ar)-2.5 E(gument, and)-.18 E F0(name)2.5 E F1
-(is set to ?.)2.5 E F3(getopts)144 141.6 Q F1 .485
-(normally parses the positional parameters, b)2.985 F .485
-(ut if more ar)-.2 F .485(guments are supplied as)-.18 F F0(ar)3.315 E
-(g)-.37 E F1 -.25(va)3.205 G(l-).25 E(ues,)144 153.6 Q F3(getopts)2.5 E
-F1(parses those instead.)2.5 E F3(getopts)144 170.4 Q F1 .833
-(can report errors in tw)3.332 F 3.333(ow)-.1 G 3.333(ays. If)-3.433 F
-.833(the \214rst character of)3.333 F F0(optstring)3.563 E F1 .833
-(is a colon,)3.553 F F3(getopts)3.333 E F1(uses)3.333 E F0(silent)144.34
-182.4 Q F1 .212(error reporting.)3.392 F .212(In normal operation,)5.212
-F F3(getopts)2.712 E F1 .211
-(prints diagnostic messages when it encounters)2.712 F(in)144 194.4 Q
--.25(va)-.4 G 1.119(lid options or missing option ar).25 F 3.619
-(guments. If)-.18 F 1.119(the v)3.619 F(ariable)-.25 E F2(OPTERR)3.619 E
-F1 1.119(is set to 0, no error mes-)3.369 F(sages will be displayed, e)
-144 206.4 Q -.15(ve)-.25 G 2.5(ni).15 G 2.5(ft)-2.5 G
-(he \214rst character of)-2.5 E F0(optstring)2.73 E F1(is not a colon.)
-2.72 E(If)144 223.2 Q F3(getopts)2.673 E F1 .173(detects an in)2.673 F
--.25(va)-.4 G .173(lid option, it places ? into).25 F F0(name)3.033 E F1
-.172(and, if not silent, prints an error message)2.853 F 1.147
-(and unsets)144 235.2 R F2(OPT)3.647 E(ARG)-.81 E/F4 9/Times-Roman@0 SF
-(.)A F1(If)5.647 E F3(getopts)3.647 E F1 1.147
-(is silent, it assigns the option character found to)3.647 F F2(OPT)
-3.647 E(ARG)-.81 E F1(and)3.398 E(does not print a diagnostic message.)
-144 247.2 Q .602(If a required ar)144 264 R .602
-(gument is not found, and)-.18 F F3(getopts)3.102 E F1 .602
-(is not silent, it sets the v)3.102 F .602(alue of)-.25 F F0(name)3.102
-E F1 .602(to a ques-)3.102 F 1.055(tion mark \()144 276 R F3(?).833 E F1
-1.055(\), unsets).833 F F2(OPT)3.555 E(ARG)-.81 E F4(,)A F1 1.056
-(and prints a diagnostic message.)3.306 F(If)6.056 E F3(getopts)3.556 E
-F1 1.056(is silent, it sets the)3.556 F -.25(va)144 288 S(lue of).25 E
-F0(name)2.5 E F1(to a colon \()2.5 E F3(:).833 E F1 2.5(\)a).833 G
-(nd sets)-2.5 E F2(OPT)2.5 E(ARG)-.81 E F1
-(to the option character found.)2.25 E F3(getopts)144 304.8 Q F1 .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 316.8 Q F3(hash)108
-333.6 Q F1([)2.5 E F3(\255lr)A F1 2.5(][)C F3<ad70>-2.5 E F0(\214lename)
-2.5 E F1 2.5(][)C F3(\255dt)-2.5 E F1 2.5(][)C F0(name)-2.5 E F1(])A
-.636(Each time)144 345.6 R F3(hash)3.136 E F1 .636(is in)3.136 F -.2(vo)
--.4 G -.1(ke).2 G .636(d, it remembers the full pathname of the command)
-.1 F F0(name)3.496 E F1 .636(as determined)3.316 F 1.427
-(by searching the directories in)144 357.6 R F3($P)3.927 E -.95(AT)-.74
-G(H).95 E F1 6.427(.A)C 1.727 -.15(ny p)-6.427 H(re).15 E 1.427
-(viously-remembered pathname associated with)-.25 F F0(name)144 369.6 Q
-F1 .942(is discarded.)3.442 F .942(If the)5.942 F F3<ad70>3.442 E F1
-.942(option is supplied,)3.442 F F3(hash)3.442 E F1(uses)3.442 E F0
-(\214lename)5.352 E F1 .943(as the full pathname of the)3.623 F
-(command.)144 381.6 Q(The)144 398.4 Q F3<ad72>3.313 E F1 .813
-(option causes the shell to for)3.313 F .813
-(get all remembered locations.)-.18 F .812(Assigning to the)5.812 F F3
--.74(PA)3.312 G(TH)-.21 E F1 -.25(va)3.312 G(ri-).25 E .277
-(able also clears all hashed \214lenames.)144 410.4 R(The)5.277 E F3
-<ad64>2.777 E F1 .278(option causes the shell to for)2.777 F .278
-(get the remembered lo-)-.18 F(cation of each)144 422.4 Q F0(name)2.5 E
-F1(.)A .108(If the)144 439.2 R F3<ad74>2.608 E F1 .108
-(option is supplied,)2.608 F F3(hash)2.608 E F1 .107
-(prints the full pathname corresponding to each)2.608 F F0(name)2.607 E
-F1 5.107(.I)C 2.607(fm)-5.107 G(ultiple)-2.607 E F0(name)144 451.2 Q F1
-(ar)3.153 E .653(guments are supplied with)-.18 F F3<ad74>3.153 E F1(,)A
-F3(hash)3.153 E F1 .654(prints the)3.154 F F0(name)3.154 E F1 .654
-(before the corresponding hashed full)3.154 F 2.5(pathname. The)144
-463.2 R F3<ad6c>2.5 E F1
-(option displays output in a format that may be reused as input.)2.5 E
-1.191(If no ar)144 480 R 1.191(guments are gi)-.18 F -.15(ve)-.25 G
-1.191(n, or if only).15 F F3<ad6c>3.691 E F1 1.191(is supplied,)3.691 F
-F3(hash)3.69 E F1 1.19(prints information about remembered)3.69 F 2.722
-(commands. The)144 492 R F3<ad74>2.722 E F1(,)A F3<ad64>2.722 E F1 2.722
-(,a)C(nd)-2.722 E F3<ad70>2.722 E F1 .223
-(options \(the options that act on the)2.722 F F0(name)2.723 E F1(ar)
-2.723 E .223(guments\) are mutually)-.18 F -.15(ex)144 504 S(clusi).15 E
--.15(ve)-.25 G 5.738(.O).15 G .738(nly one will be acti)-5.738 F -.15
-(ve)-.25 G 5.738(.I).15 G 3.238(fm)-5.738 G .738
-(ore than one is supplied,)-3.238 F F3<ad74>3.237 E F1 .737
-(has higher priority than)3.237 F F3<ad70>3.237 E F1(,)A(and both ha)144
-516 Q .3 -.15(ve h)-.2 H(igher priority than).15 E F3<ad64>2.5 E F1(.)A
-(The return status is zero unless a)144 532.8 Q F0(name)2.86 E F1
-(is not found or an in)2.68 E -.25(va)-.4 G(lid option is supplied.).25
-E F3(help)108 549.6 Q F1([)2.5 E F3(\255dms)A F1 2.5(][)C F0(pattern)
--2.5 E F1(])A .866(Display helpful information about b)144 561.6 R .867
-(uiltin commands.)-.2 F(If)5.867 E F0(pattern)4.617 E F1 .867
-(is speci\214ed,)3.607 F F3(help)3.367 E F1(gi)3.367 E -.15(ve)-.25 G
-3.367(sd).15 G(etailed)-3.367 E 1.094(help on all commands matching)144
-573.6 R F0(pattern)4.843 E F1 3.593(;o).24 G 1.093
-(therwise it displays a list of all the b)-3.593 F 1.093
-(uiltins and shell)-.2 F(compound commands.)144 585.6 Q F3<ad64>144
-597.6 Q F1(Display a short description of each)180 597.6 Q F0(pattern)
-2.5 E F3<ad6d>144 609.6 Q F1(Display the description of each)180 609.6 Q
-F0(pattern)2.5 E F1(in a manpage-lik)2.5 E 2.5(ef)-.1 G(ormat)-2.5 E F3
-<ad73>144 621.6 Q F1(Display only a short usage synopsis for each)180
-621.6 Q F0(pattern)2.5 E F1
-(The return status is 0 unless no command matches)144 638.4 Q F0
-(pattern)3.75 E F1(.).24 E F3(history [)108 655.2 Q F0(n)A F3(])A
-(history \255c)108 667.2 Q(history \255d)108 679.2 Q F0(of)2.5 E(fset)
--.18 E F3(history \255d)108 691.2 Q F0(start)2.5 E F1(-)A F0(end)A F3
-(history \255anrw)108 703.2 Q F1([)2.5 E F0(\214lename)A F1(])A
-(GNU Bash 5.2)72 768 Q(2023 January 27)141.79 E(11)190.95 E 0 Cg EP
-%%Page: 12 12
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH_B).25 E(UIL)-.1 E(TINS)-.2 E
-/F1 10/Times-Roman@0 SF 91.21(\(1\) General).58 F(Commands Manual)2.5 E
-F0 -.25(BA)93.71 G(SH_B).25 E(UIL)-.1 E(TINS)-.2 E F1(\(1\)).58 E/F2 10
-/Times-Bold@0 SF(history \255p)108 84 Q F0(ar)2.5 E(g)-.37 E F1([)2.5 E
-F0(ar)A(g)-.37 E F1 1.666(...)2.5 G(])-1.666 E F2(history \255s)108 96 Q
-F0(ar)2.5 E(g)-.37 E F1([)2.5 E F0(ar)A(g)-.37 E F1 1.666(...)2.5 G(])
--1.666 E -.4(Wi)144 108 S .831
-(th no options, display the command history list with numbers.).4 F .832
-(Entries pre\214x)5.831 F .832(ed with a)-.15 F F2(*)3.332 E F1(ha)3.332
-E -.15(ve)-.2 G 1.082(been modi\214ed.)144 120 R 1.082(An ar)6.082 F
-1.082(gument of)-.18 F F0(n)3.942 E F1 1.082(lists only the last)3.822 F
-F0(n)3.942 E F1 3.582(entries. If)3.822 F 1.082(the shell v)3.582 F
-(ariable)-.25 E/F3 9/Times-Bold@0 SF(HISTTIME-)3.581 E(FORMA)144 132 Q
-(T)-.855 E F1 .464
-(is set and not null, it is used as a format string for)2.714 F F0
-(strftime)3.304 E F1 .465(\(3\) to display the time stamp).18 F 1.716
-(associated with each displayed history entry)144 144 R 6.716(.I)-.65 G
-(f)-6.716 E F2(history)4.215 E F1(uses)4.215 E F3(HISTTIMEFORMA)4.215 E
-(T)-.855 E/F4 9/Times-Roman@0 SF(,)A F1 1.715(it does not)3.965 F
-(print an interv)144 156 Q
-(ening space between the formatted time stamp and the history entry)-.15
-E(.)-.65 E(If)144 172.8 Q F0(\214lename)3.369 E F1 .869(is supplied,)
-3.369 F F2(history)3.369 E F1 .87
-(uses it as the name of the history \214le; if not, it uses the v)3.369
-F .87(alue of)-.25 F F3(HISTFILE)144 184.8 Q F4(.)A F1(If)4.939 E F0
-(\214lename)2.939 E F1 .438(is not supplied and)2.939 F F3(HISTFILE)
-2.938 E F1 .438(is unset or null, the)2.688 F F2 .438
-(\255a, \255n, \255r)2.938 F(,)-.92 E F1(and)2.938 E F2<ad77>2.938 E F1
-(op-)2.938 E(tions ha)144 196.8 Q .3 -.15(ve n)-.2 H 2.5(oe).15 G -.25
-(ff)-2.5 G(ect.).25 E(Options, if supplied, ha)144 213.6 Q .3 -.15(ve t)
--.2 H(he follo).15 E(wing meanings:)-.25 E F2<ad63>144 225.6 Q F1 .017
-(Clear the history list by deleting all the entries.)180 225.6 R .018
-(This can be used with the other options to)5.018 F
-(replace the history list.)180 237.6 Q F2<ad64>144 249.6 Q F0(of)2.5 E
-(fset)-.18 E F1 .39(Delete the history entry at position)180 261.6 R F0
-(of)2.889 E(fset)-.18 E F1 5.389(.I)C(f)-5.389 E F0(of)2.889 E(fset)-.18
-E F1 .389(is ne)2.889 F -.05(ga)-.15 G(ti).05 E -.15(ve)-.25 G 2.889(,i)
-.15 G 2.889(ti)-2.889 G 2.889(si)-2.889 G .389(nterpreted as relati)
--2.889 F -.15(ve)-.25 G .598
-(to one greater than the last history position, so ne)180 273.6 R -.05
-(ga)-.15 G(ti).05 E .899 -.15(ve i)-.25 H .599
-(ndices count back from the end).15 F(of the history)180 285.6 Q 2.5(,a)
--.65 G(nd an inde)-2.5 E 2.5(xo)-.15 G 2.5<66ad>-2.5 G 2.5(1r)-2.5 G
-(efers to the current)-2.5 E F2(history \255d)2.5 E F1(command.)2.5 E F2
-<ad64>144 297.6 Q F0(start)2.5 E F1<ad>A F0(end)A F1 1.25
-(Delete the range of history entries between positions)180 309.6 R F0
-(start)3.75 E F1(and)3.75 E F0(end)3.75 E F1 3.75(,i)C(nclusi)-3.75 E
--.15(ve)-.25 G 6.25(.P).15 G(ositi)-6.25 E -.15(ve)-.25 G(and ne)180
-321.6 Q -.05(ga)-.15 G(ti).05 E .3 -.15(ve v)-.25 H(alues for)-.1 E F0
-(start)2.5 E F1(and)2.5 E F0(end)2.5 E F1
-(are interpreted as described abo)2.5 E -.15(ve)-.15 G(.).15 E F2<ad61>
-144 333.6 Q F1 .577(Append the history lines to the history \214le.)180
-333.6 R .578(These are history lines entered since the be-)5.577 F
-(ginning of the current)180 345.6 Q F2(bash)2.5 E F1(session, b)2.5 E
-(ut not already appended to the history \214le.)-.2 E F2<ad6e>144 357.6
-Q F1 .733(Read the history lines not already read from the history \214\
-le and add them to the current)180 357.6 R .142(history list.)180 369.6
-R .143(These are lines appended to the history \214le since the be)5.142
-F .143(ginning of the current)-.15 F F2(bash)180 381.6 Q F1(session.)2.5
-E F2<ad72>144 393.6 Q F1(Read the history \214le and append its content\
-s to the current history list.)180 393.6 Q F2<ad77>144 405.6 Q F1
-(Write the current history list to the history \214le, o)180 405.6 Q
--.15(ve)-.15 G(rwriting the history \214le.).15 E F2<ad70>144 417.6 Q F1
-.626(Perform history substitution on the follo)180 417.6 R(wing)-.25 E
-F0(ar)3.125 E(gs)-.37 E F1 .625(and display the result on the standard)
-3.125 F .468(output, without storing the results in the history list.)
-180 429.6 R(Each)5.469 E F0(ar)2.969 E(g)-.37 E F1 .469
-(must be quoted to disable)2.969 F(normal history e)180 441.6 Q
-(xpansion.)-.15 E F2<ad73>144 453.6 Q F1 .363(Store the)180 453.6 R F0
-(ar)3.193 E(gs)-.37 E F1 .363(in the history list as a single entry)
-3.133 F 5.363(.T)-.65 G .362(he last command in the history list is)
--5.363 F(remo)180 465.6 Q -.15(ve)-.15 G 2.5(db).15 G(efore adding the)
--2.5 E F0(ar)2.83 E(gs)-.37 E F1(.).27 E 1.152(If the)144 482.4 R F3
-(HISTTIMEFORMA)3.652 E(T)-.855 E F1 -.25(va)3.402 G 1.152
-(riable is set,).25 F F2(history)3.652 E F1 1.152
-(writes the time stamp information associated)3.652 F .189
-(with each history entry to the history \214le, mark)144 494.4 R .188
-(ed with the history comment character as described)-.1 F(abo)144 506.4
-Q -.15(ve)-.15 G 5.264(.W).15 G .264
-(hen the history \214le is read, lines be)-5.264 F .265
-(ginning with the history comment character follo)-.15 F(wed)-.25 E
-(immediately by a digit are interpreted as timestamps for the follo)144
-518.4 Q(wing history entry)-.25 E(.)-.65 E .052(The return v)144 535.2 R
-.051(alue is 0 unless an in)-.25 F -.25(va)-.4 G .051
-(lid option is encountered, an error occurs while reading or writ-).25 F
-.706(ing the history \214le, an in)144 547.2 R -.25(va)-.4 G(lid).25 E
-F0(of)3.207 E(fset)-.18 E F1 .707(or range is supplied as an ar)3.207 F
-.707(gument to)-.18 F F2<ad64>3.207 E F1 3.207(,o)C 3.207(rt)-3.207 G
-.707(he history e)-3.207 F(x-)-.15 E(pansion supplied as an ar)144 559.2
-Q(gument to)-.18 E F2<ad70>2.5 E F1 -.1(fa)2.5 G(ils.).1 E F2(jobs)108
-576 Q F1([)2.5 E F2(\255lnprs)A F1 2.5(][)C F0(jobspec)A F1 -3.332 1.666
-(... ])2.5 H F2(jobs \255x)108 588 Q F0(command)2.5 E F1([)2.5 E F0(ar)
-2.5 E(gs)-.37 E F1 -3.332 1.666(... ])2.5 H
-(The \214rst form lists the acti)144 600 Q .3 -.15(ve j)-.25 H 2.5
-(obs. The).15 F(options ha)2.5 E .3 -.15(ve t)-.2 H(he follo).15 E
-(wing meanings:)-.25 E F2<ad6c>144 612 Q F1
-(List process IDs in addition to the normal information.)180 612 Q F2
-<ad6e>144 624 Q F1 .194(Display information only about jobs that ha)180
-624 R .494 -.15(ve c)-.2 H .193(hanged status since the user w).15 F
-.193(as last noti-)-.1 F(\214ed of their status.)180 636 Q F2<ad70>144
-648 Q F1(List only the process ID of the job')180 648 Q 2.5(sp)-.55 G
-(rocess group leader)-2.5 E(.)-.55 E F2<ad72>144 660 Q F1
-(Display only running jobs.)180 660 Q F2<ad73>144 672 Q F1
-(Display only stopped jobs.)180 672 Q(If)144 688.8 Q F0(jobspec)5.19 E
-F1 .95(is supplied,)3.76 F F2(jobs)3.45 E F1 .95
-(restricts output to information about that job)3.45 F 5.95(.T)-.4 G .95
-(he return status is 0)-5.95 F(unless an in)144 700.8 Q -.25(va)-.4 G
-(lid option is encountered or an in).25 E -.25(va)-.4 G(lid).25 E F0
-(jobspec)4.24 E F1(is supplied.)2.81 E .395(If the)144 717.6 R F2<ad78>
-2.895 E F1 .394(option is supplied,)2.894 F F2(jobs)2.894 E F1 .394
-(replaces an)2.894 F(y)-.15 E F0(jobspec)4.634 E F1 .394(found in)3.204
-F F0(command)3.094 E F1(or)3.664 E F0(ar)3.224 E(gs)-.37 E F1 .394
-(with the corre-)3.164 F(sponding process group ID, and e)144 729.6 Q
--.15(xe)-.15 G(cutes).15 E F0(command)2.7 E F1 2.5(,p).77 G(assing it)
--2.5 E F0(ar)2.83 E(gs)-.37 E F1 2.5(,r).27 G(eturning its e)-2.5 E
-(xit status.)-.15 E(GNU Bash 5.2)72 768 Q(2023 January 27)141.79 E(12)
-190.95 E 0 Cg EP
-%%Page: 13 13
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH_B).25 E(UIL)-.1 E(TINS)-.2 E
-/F1 10/Times-Roman@0 SF 91.21(\(1\) General).58 F(Commands Manual)2.5 E
-F0 -.25(BA)93.71 G(SH_B).25 E(UIL)-.1 E(TINS)-.2 E F1(\(1\)).58 E/F2 10
-/Times-Bold@0 SF(kill)108 84 Q F1([)2.5 E F2<ad73>A F0(sigspec)2.5 E F1
-(|)2.5 E F2<ad6e>2.5 E F0(signum)2.5 E F1(|)2.5 E F2<ad>2.5 E F0
-(sigspec)A F1(])A F0(id)2.5 E F1 2.5([.)2.5 G -3.332 1.666(.. ])-.834 H
-F2(kill \255l)108 96 Q F1(|)A F2<ad4c>A F1([)2.5 E F0(sigspec)A F1(|)2.5
-E F0 -.2(ex)2.5 G(it_status).2 E F1(])A .661
-(Send the signal speci\214ed by)144 108 R F0(sigspec)3.501 E F1(or)3.471
-E F0(signum)3.501 E F1 .661(to the processes named by each)3.481 F F0
-(id)3.171 E F1 5.662(.E).77 G(ach)-5.662 E F0(id)3.172 E F1(may)3.932 E
-.295(be a job speci\214cation)144 120 R F0(jobspec)2.795 E F1 .294
-(or a process ID)2.795 F F0(pid)2.794 E F1(.)A F0(sigspec)5.634 E F1
-.294(is either a case-insensiti)3.104 F .594 -.15(ve s)-.25 H .294
-(ignal name).15 F .464(such as)144 132 R/F3 9/Times-Bold@0 SF(SIGKILL)
-2.964 E F1 .464(\(with or without the)2.714 F F3(SIG)2.964 E F1 .465
-(pre\214x\) or a signal number;)2.714 F F0(signum)3.305 E F1 .465
-(is a signal number)3.285 F(.)-.55 E(If)144 144 Q F0(sigspec)2.84 E F1
-(is not supplied, then)2.81 E F2(kill)2.5 E F1(sends)2.5 E F3(SIGTERM)
-2.5 E/F4 9/Times-Roman@0 SF(.)A F1(The)144 160.8 Q F2<ad6c>2.874 E F1
-.374(option lists the signal names.)2.874 F .374(If an)5.374 F 2.874(ya)
--.15 G -.18(rg)-2.874 G .374(uments are supplied when).18 F F2<ad6c>
-2.874 E F1 .374(is gi)2.874 F -.15(ve)-.25 G(n,).15 E F2(kill)2.874 E F1
-.373(lists the)2.873 F .119
-(names of the signals corresponding to the ar)144 172.8 R .119
-(guments, and the return status is 0.)-.18 F(The)5.12 E F0 -.2(ex)2.62 G
-(it_status).2 E F1(ar)2.62 E(-)-.2 E .8(gument to)144 184.8 R F2<ad6c>
-3.3 E F1 .8(is a number specifying either a signal number or the e)3.3 F
-.799(xit status of a process termi-)-.15 F .381
-(nated by a signal; if it is supplied,)144 196.8 R F2(kill)2.881 E F1
-.381(prints the name of the signal that caused the process to ter)2.881
-F(-)-.2 E(minate.)144 208.8 Q F2(kill)6.091 E F1 1.091
-(assumes that process e)3.591 F 1.091
-(xit statuses are greater than 128; an)-.15 F 1.09
-(ything less than that is a)-.15 F(signal number)144 220.8 Q 5(.T)-.55 G
-(he)-5 E F2<ad4c>2.5 E F1(option is equi)2.5 E -.25(va)-.25 G(lent to)
-.25 E F2<ad6c>2.5 E F1(.)A F2(kill)144 237.6 Q F1 .277
-(returns true if at least one signal w)2.776 F .277
-(as successfully sent, or f)-.1 F .277(alse if an error occurs or an in)
--.1 F -.25(va)-.4 G(lid).25 E(option is encountered.)144 249.6 Q F2(let)
-108 266.4 Q F0(ar)2.5 E(g)-.37 E F1([)2.5 E F0(ar)A(g)-.37 E F1 1.666
-(...)2.5 G(])-1.666 E(Each)144 278.4 Q F0(ar)3.527 E(g)-.37 E F1 .697
-(is e)3.417 F -.25(va)-.25 G .696(luated as an arithmetic e).25 F .696
-(xpression \(see)-.15 F F3 .696(ARITHMETIC EV)3.196 F(ALU)-1.215 E -.855
-(AT)-.54 G(ION).855 E F1(in)2.946 E F0(bash)3.196 E F1(\(1\)\).)A
-(If the last)144 290.4 Q F0(ar)2.83 E(g)-.37 E F1 -.25(eva)2.72 G
-(luates to 0,).25 E F2(let)2.5 E F1(returns 1; otherwise)2.5 E F2(let)
-2.5 E F1(returns 0.)2.5 E F2(local)108 307.2 Q F1([)2.5 E F0(option)A F1
-2.5(][)C F0(name)-2.5 E F1([=)A F0(value)A F1 2.5(].)C -3.332 1.666
-(.. | \255 ])-.834 H -.15(Fo)144 319.2 S 2.613(re).15 G .113(ach ar)
--2.613 F .113(gument, create a local v)-.18 F .113(ariable named)-.25 F
-F0(name)2.973 E F1 .114(and assign it)2.794 F F0(value)2.904 E F1 5.114
-(.T).18 G(he)-5.114 E F0(option)2.614 E F1 .114(can be an)2.614 F(y)-.15
-E .91(of the options accepted by)144 331.2 R F2(declar)3.41 E(e)-.18 E
-F1 5.91(.W)C(hen)-5.91 E F2(local)3.409 E F1 .909
-(is used within a function, it causes the v)3.409 F(ariable)-.25 E F0
-(name)144.36 343.2 Q F1 .44(to ha)3.12 F .74 -.15(ve a v)-.2 H .44
-(isible scope restricted to that function and its children.).15 F .441
-(It is an error to use)5.441 F F2(local)2.941 E F1
-(when not within a function.)144 355.2 Q(If)144 372 Q F0(name)3.081 E F1
-.581(is \255, it mak)3.081 F .58
-(es the set of shell options local to the function in which)-.1 F F2
-(local)3.08 E F1 .58(is in)3.08 F -.2(vo)-.4 G -.1(ke).2 G .58(d: an).1
-F(y)-.15 E .351(shell options changed using the)144 384 R F2(set)2.851 E
-F1 -.2(bu)2.851 G .351(iltin inside the function after the call to).2 F
-F2(local)2.851 E F1 .352(are restored to)2.852 F .325(their original v)
-144 396 R .324(alues when the function returns.)-.25 F .324
-(The restore is performed as if a series of)5.324 F F2(set)2.824 E F1
-(com-)2.824 E(mands were e)144 408 Q -.15(xe)-.15 G
-(cuted to restore the v).15 E
-(alues that were in place before the function.)-.25 E -.4(Wi)144 424.8 S
-(th no operands,).4 E F2(local)2.5 E F1(writes a list of local v)2.5 E
-(ariables to the standard output.)-.25 E .341
-(The return status is 0 unless)144 441.6 R F2(local)2.841 E F1 .341
-(is used outside a function, an in)2.841 F -.25(va)-.4 G(lid).25 E F0
-(name)3.201 E F1 .341(is supplied, or)3.021 F F0(name)2.842 E F1
-(is a readonly v)144 453.6 Q(ariable.)-.25 E F2(logout [)108 470.4 Q F0
-(n)A F2(])A F1(Exit a login shell, returning a status of)144 482.4 Q F0
-(n)2.5 E F1(to the shell')2.5 E 2.5(sp)-.55 G(arent.)-2.5 E F2
-(map\214le)108 499.2 Q F1([)2.5 E F2<ad64>A F0(delim)2.5 E F1 2.5(][)C
-F2<ad6e>-2.5 E F0(count)2.5 E F1 2.5(][)C F2<ad4f>-2.5 E F0(origin)2.5 E
-F1 2.5(][)C F2<ad73>-2.5 E F0(count)2.5 E F1 2.5(][)C F2<ad74>-2.5 E F1
-2.5(][)C F2<ad75>-2.5 E F0(fd)2.5 E F1 2.5(][)C F2<ad43>-2.5 E F0
-(callbac)2.5 E(k)-.2 E F1 2.5(][)C F2<ad63>-2.5 E F0(quantum)2.5 E F1
-2.5(][)C F0(arr)-2.5 E(ay)-.15 E F1(])A F2 -.18(re)108 511.2 S(adarray)
-.18 E F1([)2.5 E F2<ad64>A F0(delim)2.5 E F1 2.5(][)C F2<ad6e>-2.5 E F0
-(count)2.5 E F1 2.5(][)C F2<ad4f>-2.5 E F0(origin)2.5 E F1 2.5(][)C F2
-<ad73>-2.5 E F0(count)2.5 E F1 2.5(][)C F2<ad74>-2.5 E F1 2.5(][)C F2
-<ad75>-2.5 E F0(fd)2.5 E F1 2.5(][)C F2<ad43>-2.5 E F0(callbac)2.5 E(k)
--.2 E F1 2.5(][)C F2<ad63>-2.5 E F0(quantum)2.5 E F1 2.5(][)C F0(arr)
--2.5 E(ay)-.15 E F1(])A .329
-(Read lines from the standard input, or from \214le descriptor)144 523.2
-R F0(fd)4.798 E F1 .328(if the)3.598 F F2<ad75>2.828 E F1 .328
-(option is supplied, into the)2.828 F(inde)144 535.2 Q -.15(xe)-.15 G
-3.489(da).15 G .989(rray v)-3.489 F(ariable)-.25 E F0(arr)3.819 E(ay)
--.15 E F1 5.989(.T).32 G .989(he v)-5.989 F(ariable)-.25 E F3(MAPFILE)
-3.489 E F1 .989(is the def)3.239 F(ault)-.1 E F0(arr)3.49 E(ay)-.15 E F1
-5.99(.O)C .99(ptions, if supplied,)-5.99 F(ha)144 547.2 Q .3 -.15(ve t)
--.2 H(he follo).15 E(wing meanings:)-.25 E F2<ad64>144 559.2 Q F1 .282
-(Use the \214rst character of)180 559.2 R F0(delim)2.782 E F1 .281
-(to terminate each input line, rather than ne)2.781 F 2.781(wline. If)
--.25 F F0(delim)2.781 E F1(is the empty string,)180 571.2 Q F2
-(map\214le)2.5 E F1(will terminate a line when it reads a NUL character)
-2.5 E(.)-.55 E F2<ad6e>144 583.2 Q F1(Cop)180 583.2 Q 2.5(ya)-.1 G 2.5
-(tm)-2.5 G(ost)-2.5 E F0(count)2.7 E F1 2.5(lines. If)3.18 F F0(count)
-2.5 E F1(is 0, cop)2.5 E 2.5(ya)-.1 G(ll lines.)-2.5 E F2<ad4f>144 595.2
-Q F1(Be)180 595.2 Q(gin assigning to)-.15 E F0(arr)2.83 E(ay)-.15 E F1
-(at inde)2.82 E(x)-.15 E F0(origin)2.73 E F1 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 F2<ad73>144 607.2
-Q F1(Discard the \214rst)180 607.2 Q F0(count)2.5 E F1(lines read.)2.5 E
-F2<ad74>144 619.2 Q F1(Remo)180 619.2 Q .3 -.15(ve a t)-.15 H(railing)
-.15 E F0(delim)2.5 E F1(\(def)2.5 E(ault ne)-.1 E
-(wline\) from each line read.)-.25 E F2<ad75>144 631.2 Q F1
-(Read lines from \214le descriptor)180 631.2 Q F0(fd)2.5 E F1
-(instead of the standard input.)2.5 E F2<ad43>144 643.2 Q F1(Ev)180
-643.2 Q(aluate)-.25 E F0(callbac)2.7 E(k)-.2 E F1(each time)3.17 E F0
-(quantum)2.5 E F1(lines are read.)2.5 E(The)5 E F2<ad63>2.5 E F1
-(option speci\214es)2.5 E F0(quantum)2.75 E F1(.).32 E F2<ad63>144 655.2
-Q F1(Specify the number of lines read between each call to)180 655.2 Q
-F0(callbac)2.7 E(k)-.2 E F1(.).67 E(If)144 672 Q F2<ad43>2.967 E F1 .467
-(is speci\214ed without)2.967 F F2<ad63>2.967 E F1 2.967(,t)C .467
-(he def)-2.967 F .467(ault quantum is 5000.)-.1 F(When)5.467 E F0
-(callbac)2.967 E(k)-.2 E F1 .467(is e)2.967 F -.25(va)-.25 G .467
-(luated, it is sup-).25 F .262(plied the inde)144 684 R 2.762(xo)-.15 G
-2.762(ft)-2.762 G .262(he ne)-2.762 F .261(xt array element to be assig\
-ned and the line to be assigned to that element)-.15 F .274
-(as additional ar)144 696 R(guments.)-.18 E F0(callbac)5.274 E(k)-.2 E
-F1 .274(is e)2.774 F -.25(va)-.25 G .274
-(luated after the line is read b).25 F .275
-(ut before the array element is)-.2 F(assigned.)144 708 Q(GNU Bash 5.2)
-72 768 Q(2023 January 27)141.79 E(13)190.95 E 0 Cg EP
-%%Page: 14 14
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH_B).25 E(UIL)-.1 E(TINS)-.2 E
-/F1 10/Times-Roman@0 SF 91.21(\(1\) General).58 F(Commands Manual)2.5 E
-F0 -.25(BA)93.71 G(SH_B).25 E(UIL)-.1 E(TINS)-.2 E F1(\(1\)).58 E
-(If not supplied with an e)144 84 Q(xplicit origin,)-.15 E/F2 10
-/Times-Bold@0 SF(map\214le)2.5 E F1(will clear)2.5 E F0(arr)2.5 E(ay)
--.15 E F1(before assigning to it.)2.5 E F2(map\214le)144 100.8 Q F1
-1.066(returns zero unless an in)3.566 F -.25(va)-.4 G 1.065
-(lid option or option ar).25 F 1.065(gument is supplied,)-.18 F F0(arr)
-3.565 E(ay)-.15 E F1 1.065(is in)3.565 F -.25(va)-.4 G 1.065(lid or).25
-F(unassignable, or if)144 112.8 Q F0(arr)2.5 E(ay)-.15 E F1
-(is not an inde)2.5 E -.15(xe)-.15 G 2.5(da).15 G(rray)-2.5 E(.)-.65 E
-F2(popd)108 129.6 Q F1<5bad>2.5 E F2(n)A F1 2.5(][)C(+)-2.5 E F0(n)A F1
-2.5(][)C<ad>-2.5 E F0(n)A F1(])A(Remo)144 141.6 Q 1.15 -.15(ve e)-.15 H
-.85(ntries from the directory stack.).15 F .851
-(The elements are numbered from 0 starting at the \214rst)5.851 F .358
-(directory listed by)144 153.6 R F2(dirs)2.858 E F1 2.858(,s)C(o)-2.858
-E F2(popd)2.858 E F1 .358(is equi)2.858 F -.25(va)-.25 G .358(lent to W)
-.25 F .357(ith no ar)-.4 F(guments,)-.18 E F2(popd)2.857 E F1(remo)2.857
-E -.15(ve)-.15 G 2.857(st).15 G .357(he top direc-)-2.857 F .902
-(tory from the stack, and changes to the ne)144 165.6 R 3.403(wt)-.25 G
-.903(op directory)-3.403 F 5.903(.A)-.65 G -.18(rg)-5.903 G .903
-(uments, if supplied, ha).18 F 1.203 -.15(ve t)-.2 H .903(he fol-).15 F
-(lo)144 177.6 Q(wing meanings:)-.25 E F2<ad6e>144 189.6 Q F1 .504
-(Suppress the normal change of directory when remo)180 189.6 R .504
-(ving directories from the stack, only)-.15 F(manipulate the stack.)180
-201.6 Q F2(+)144 213.6 Q F0(n)A F1(Remo)180 213.6 Q .683 -.15(ve t)-.15
-H(he).15 E F0(n)2.883 E F1 .383
-(th entry counting from the left of the list sho)B .383(wn by)-.25 F F2
-(dirs)2.883 E F1 2.883(,s)C .384(tarting with zero,)-2.883 F
-(from the stack.)180 225.6 Q -.15(Fo)5 G 2.5(re).15 G(xample: remo)-2.65
-E -.15(ve)-.15 G 2.5(st).15 G(he \214rst directory)-2.5 E 2.5(,t)-.65 G
-(he second.)-2.5 E F2<ad>144 237.6 Q F0(n)A F1(Remo)180 237.6 Q .336
--.15(ve t)-.15 H(he).15 E F0(n)2.536 E F1 .036
-(th entry counting from the right of the list sho)B .035(wn by)-.25 F F2
-(dirs)2.535 E F1 2.535(,s)C .035(tarting with zero.)-2.535 F -.15(Fo)180
-249.6 S 2.5(re).15 G(xample: remo)-2.65 E -.15(ve)-.15 G 2.5(st).15 G
-(he last directory)-2.5 E 2.5(,t)-.65 G(he ne)-2.5 E(xt to last.)-.15 E
-1.057(If the top element of the directory stack is modi\214ed, and the)
-144 266.4 R F0<ad6e>3.558 E F1 1.058(option w)3.558 F 1.058
-(as not supplied,)-.1 F F2(popd)3.558 E F1 .25(uses the)144 278.4 R F2
-(cd)2.749 E F1 -.2(bu)2.749 G .249
-(iltin to change to the directory at the top of the stack.).2 F .249
-(If the)5.249 F F2(cd)2.749 E F1 -.1(fa)2.749 G(ils,).1 E F2(popd)2.749
-E F1 .249(returns a)2.749 F(non-zero v)144 290.4 Q(alue.)-.25 E
-(Otherwise,)144 307.2 Q F2(popd)3.571 E F1 1.072(returns f)3.571 F 1.072
-(alse if an in)-.1 F -.25(va)-.4 G 1.072
-(lid option is supplied, the directory stack is empty).25 F 3.572(,o)
--.65 G(r)-3.572 E F0(n)3.572 E F1(speci\214es a non-e)144 319.2 Q
-(xistent directory stack entry)-.15 E(.)-.65 E 1.451(If the)144 336 R F2
-(popd)3.951 E F1 1.451(command is successful,)3.951 F F2(bash)3.951 E F1
-(runs)3.951 E F2(dirs)3.951 E F1 1.451(to sho)3.951 F 3.95(wt)-.25 G
-1.45(he \214nal contents of the directory)-3.95 F
-(stack, and the return status is 0.)144 348 Q F2(printf)108 364.8 Q F1
-([)2.5 E F2<ad76>A F0(var)2.5 E F1(])A F0(format)2.5 E F1([)2.5 E F0(ar)
-A(guments)-.37 E F1(])A .357(Write the formatted)144 376.8 R F0(ar)2.857
-E(guments)-.37 E F1 .357
-(to the standard output under the control of the)2.857 F F0(format)2.858
-E F1 5.358(.T)C(he)-5.358 E F2<ad76>2.858 E F1(op-)2.858 E
-(tion assigns the output to the v)144 388.8 Q(ariable)-.25 E F0(var)2.5
-E F1(rather than printing it to the standard output.)2.5 E(The)144 405.6
-Q F0(format)3.018 E F1 .517(is a character string which contains three \
-types of objects: plain characters, which are)3.018 F .704(simply copie\
-d to standard output, character escape sequences, which are con)144
-417.6 R -.15(ve)-.4 G .704(rted and copied to).15 F .036(the standard o\
-utput, and format speci\214cations, each of which causes printing of th\
-e ne)144 429.6 R .036(xt successi)-.15 F -.15(ve)-.25 G F0(ar)144 441.6
-Q(gument)-.37 E F1 7.824(.I)C 5.324(na)-7.824 G 2.824
-(ddition to the standard)-5.324 F F0(printf)6.575 E F1 2.825
-(\(3\) format characters)1.96 F F2(cCsSndiouxXeEfFgGaA)5.325 E F1(,)A F2
-(printf)144 453.6 Q F1(interprets the follo)2.5 E
-(wing additional format speci\214ers:)-.25 E F2(%b)144 465.6 Q F1
-(causes)180 465.6 Q F2(printf)2.596 E F1 .096(to e)2.596 F .096
-(xpand backslash escape sequences in the corresponding)-.15 F F0(ar)
-2.596 E(gument)-.37 E F1 .095(in the)2.595 F(same w)180 477.6 Q(ay as)
--.1 E F2(echo \255e)2.5 E F1(.)A F2(%q)144 489.6 Q F1(causes)180 489.6 Q
-F2(printf)2.51 E F1 .01(to output the corresponding)2.51 F F0(ar)2.51 E
-(gument)-.37 E F1 .01(in a format that can be reused as shell)2.51 F
-(input.)180 501.6 Q F2(%q)5.892 E F1(and)3.392 E F2(%Q)3.392 E F1 .891
-(use the)3.392 F F2($)3.391 E F1 .891(quoting style if an)3.391 F 3.391
-(yc)-.15 G .891(haracters in the ar)-3.391 F .891(gument string re-)-.18
-F 1.285(quire it, and backslash quoting otherwise.)180 513.6 R 1.286
-(If the format string uses the)6.285 F F0(printf)3.786 E F1(alternate)
-3.786 E(form, these tw)180 525.6 Q 2.5(of)-.1 G(ormats quote the ar)-2.5
-E(gument string using single quotes.)-.18 E F2(%Q)144 537.6 Q F1(lik)180
-537.6 Q(e)-.1 E F2(%q)2.5 E F1 2.5(,b)C(ut applies an)-2.7 E 2.5(ys)-.15
-G(upplied precision to the)-2.5 E F0(ar)2.5 E(gument)-.37 E F1
-(before quoting it.)2.5 E F2(%\()144 549.6 Q F0(datefmt)A F2(\)T)A F1
-(causes)180 561.6 Q F2(printf)4.404 E F1 1.904
-(to output the date-time string resulting from using)4.404 F F0(datefmt)
-4.404 E F1 1.903(as a format)4.404 F .333(string for)180 573.6 R F0
-(strftime)3.173 E F1 2.833(\(3\). The).18 F(corresponding)2.833 E F0(ar)
-2.834 E(gument)-.37 E F1 .334(is an inte)2.834 F .334
-(ger representing the number)-.15 F .977(of seconds since the epoch.)180
-585.6 R .977(This format speci\214er recognizes tw)5.977 F 3.476(os)-.1
-G .976(pecial ar)-3.476 F .976(gument v)-.18 F(al-)-.25 E .602(ues: \
-\2551 represents the current time, and \2552 represents the time the sh\
-ell w)180 597.6 R .602(as in)-.1 F -.2(vo)-.4 G -.1(ke).2 G 3.102(d. If)
-.1 F .747(no ar)180 609.6 R .747(gument is speci\214ed, con)-.18 F -.15
-(ve)-.4 G .747(rsion beha).15 F -.15(ve)-.2 G 3.247(sa).15 G 3.247(si)
--3.247 G 3.247<66ad>-3.247 G 3.247(1h)-3.247 G .747(ad been supplied.)
--3.247 F .746(This is an e)5.746 F(x-)-.15 E(ception to the usual)180
-621.6 Q F2(printf)2.5 E F1(beha)2.5 E(vior)-.2 E(.)-.55 E .946(The %b, \
-%q, and %T format speci\214ers all use the \214eld width and precision \
-ar)144 638.4 R .946(guments from the)-.18 F .339
-(format speci\214cation and write that man)144 650.4 R 2.838(yb)-.15 G
-.338(ytes from \(or use that wide a \214eld for\) the e)-2.838 F .338
-(xpanded ar)-.15 F(-)-.2 E
-(gument, which usually contains more characters than the original.)144
-662.4 Q(The %n format speci\214er accepts a corresponding ar)144 679.2 Q
-(gument that is treated as a shell v)-.18 E(ariable name.)-.25 E .393
-(The %s and %c format speci\214ers accept an l \(long\) modi\214er)144
-696 R 2.894(,w)-.4 G .394(hich forces them to con)-2.894 F -.15(ve)-.4 G
-.394(rt the ar).15 F(-)-.2 E .321
-(gument string to a wide-character string and apply an)144 708 R 2.821
-(ys)-.15 G .32(upplied \214eld width and precision in terms)-2.821 F
-2.42(of characters, not bytes.)144 720 R 2.42
-(The %S and %C format speci\214ers are equi)7.42 F -.25(va)-.25 G 2.42
-(lent to %ls and %lc,).25 F(GNU Bash 5.2)72 768 Q(2023 January 27)141.79
-E(14)190.95 E 0 Cg EP
-%%Page: 15 15
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH_B).25 E(UIL)-.1 E(TINS)-.2 E
-/F1 10/Times-Roman@0 SF 91.21(\(1\) General).58 F(Commands Manual)2.5 E
-F0 -.25(BA)93.71 G(SH_B).25 E(UIL)-.1 E(TINS)-.2 E F1(\(1\)).58 E
-(respecti)144 84 Q -.15(ve)-.25 G(ly).15 E(.)-.65 E(Ar)144 100.8 Q .464
-(guments to non-string format speci\214ers are treated as C constants, \
-e)-.18 F .463(xcept that a leading plus or)-.15 F .359
-(minus sign is allo)144 112.8 R .359
-(wed, and if the leading character is a single or double quote, the v)
--.25 F .36(alue is the nu-)-.25 F(meric v)144 124.8 Q(alue of the follo)
--.25 E(wing character)-.25 E 2.5(,u)-.4 G(sing the current locale.)-2.5
-E(The)144 141.6 Q F0(format)2.515 E F1 .015
-(is reused as necessary to consume all of the)2.515 F F0(ar)2.515 E
-(guments)-.37 E F1 5.015(.I)C 2.514(ft)-5.015 G(he)-2.514 E F0(format)
-2.514 E F1 .014(requires more)2.514 F F0(ar)2.514 E(-)-.2 E(guments)144
-153.6 Q F1 .565(than are supplied, the e)3.065 F .566
-(xtra format speci\214cations beha)-.15 F .866 -.15(ve a)-.2 H 3.066(si)
-.15 G 3.066(faz)-3.066 G .566(ero v)-3.066 F .566(alue or null string,)
--.25 F .542(as appropriate, had been supplied.)144 165.6 R .541
-(The return v)5.541 F .541(alue is zero on success, non-zero if an in)
--.25 F -.25(va)-.4 G .541(lid op-).25 F
-(tion is supplied or a write or assignment error occurs.)144 177.6 Q/F2
-10/Times-Bold@0 SF(pushd)108 194.4 Q F1([)2.5 E F2<ad6e>A F1 2.5(][)C(+)
--2.5 E F0(n)A F1 2.5(][)C<ad>-2.5 E F0(n)A F1(])A F2(pushd)108 206.4 Q
-F1([)2.5 E F2<ad6e>A F1 2.5(][)C F0(dir)-2.5 E F1(])A 1.049(Add a direc\
-tory to the top of the directory stack, or rotate the stack, making the\
- ne)144 218.4 R 3.549(wt)-.25 G 1.049(op of the)-3.549 F .089
-(stack the current w)144 230.4 R .089(orking directory)-.1 F 5.089(.W)
--.65 G .089(ith no ar)-5.489 F(guments,)-.18 E F2(pushd)2.589 E F1 -.15
-(ex)2.588 G .088(changes the top tw).15 F 2.588(oe)-.1 G .088
-(lements of)-2.588 F(the directory stack.)144 242.4 Q(Ar)5 E
-(guments, if supplied, ha)-.18 E .3 -.15(ve t)-.2 H(he follo).15 E
-(wing meanings:)-.25 E F2<ad6e>144 254.4 Q F1 .347(Suppress the normal \
-change of directory when rotating or adding directories to the stack,)
-180 254.4 R(only manipulate the stack.)180 266.4 Q F2(+)144 278.4 Q F0
-(n)A F1 .147(Rotate the stack so that the)180 278.4 R F0(n)2.647 E F1
-.147(th directory \(counting from the left of the list sho)B .147(wn by)
--.25 F F2(dirs)2.647 E F1(,)A(starting with zero\) is at the top.)180
-290.4 Q F2<ad>144 302.4 Q F0(n)A F1 .92(Rotates the stack so that the)
-180 302.4 R F0(n)3.42 E F1 .92
-(th directory \(counting from the right of the list sho)B .92(wn by)-.25
-F F2(dirs)180 314.4 Q F1 2.5(,s)C(tarting with zero\) is at the top.)
--2.5 E F0(dir)144.35 326.4 Q F1(Adds)180 326.4 Q F0(dir)2.85 E F1
-(to the directory stack at the top.)3.23 E .435
-(After the stack has been modi\214ed, if the)144 343.2 R F2<ad6e>2.935 E
-F1 .434(option w)2.934 F .434(as not supplied,)-.1 F F2(pushd)2.934 E F1
-.434(uses the)2.934 F F2(cd)2.934 E F1 -.2(bu)2.934 G .434(iltin to).2 F
-(change to the directory at the top of the stack.)144 355.2 Q(If the)5 E
-F2(cd)2.5 E F1 -.1(fa)2.5 G(ils,).1 E F2(pushd)2.5 E F1
-(returns a non-zero v)2.5 E(alue.)-.25 E .907(Otherwise, if no ar)144
-372 R .908(guments are supplied,)-.18 F F2(pushd)3.408 E F1 .908
-(returns zero unless the directory stack is empty)3.408 F(.)-.65 E 1.478
-(When rotating the directory stack,)144 384 R F2(pushd)3.978 E F1 1.477
-(returns zero unless the directory stack is empty or)3.977 F F0(n)3.977
-E F1(speci\214es a non-e)144 396 Q(xistent directory stack element.)-.15
-E 1.172(If the)144 412.8 R F2(pushd)3.672 E F1 1.172
-(command is successful,)3.672 F F2(bash)3.672 E F1(runs)3.672 E F2(dirs)
-3.672 E F1 1.173(to sho)3.673 F 3.673(wt)-.25 G 1.173
-(he \214nal contents of the directory)-3.673 F(stack.)144 424.8 Q F2
-(pwd)108 441.6 Q F1([)2.5 E F2(\255LP)A F1(])A .845
-(Print the absolute pathname of the current w)144 453.6 R .845
-(orking directory)-.1 F 5.844(.T)-.65 G .844
-(he pathname printed contains no)-5.844 F .181(symbolic links if the)144
-465.6 R F2<ad50>2.681 E F1 .181(option is supplied or the)2.681 F F2
-.181(\255o ph)2.681 F(ysical)-.15 E F1 .181(option to the)2.681 F F2
-(set)2.681 E F1 -.2(bu)2.681 G .182(iltin command is).2 F 3.264
-(enabled. If)144 477.6 R(the)3.264 E F2<ad4c>3.264 E F1 .763
-(option is used, the pathname printed may contain symbolic links.)3.264
-F .763(The return)5.763 F .405(status is 0 unless an error occurs while\
- reading the name of the current directory or an in)144 489.6 R -.25(va)
--.4 G .405(lid op-).25 F(tion is supplied.)144 501.6 Q F2 -.18(re)108
-518.4 S(ad).18 E F1([)2.5 E F2(\255Eers)A F1 2.5(][)C F2<ad61>-2.5 E F0
-(aname)2.5 E F1 2.5(][)C F2<ad64>-2.5 E F0(delim)2.5 E F1 2.5(][)C F2
-<ad69>-2.5 E F0(te)2.5 E(xt)-.2 E F1 2.5(][)C F2<ad6e>-2.5 E F0(nc)2.5 E
-(har)-.15 E(s)-.1 E F1 2.5(][)C F2<ad4e>-2.5 E F0(nc)2.5 E(har)-.15 E(s)
--.1 E F1 2.5(][)C F2<ad70>-2.5 E F0(pr)2.5 E(ompt)-.45 E F1 2.5(][)C F2
-<ad74>-2.5 E F0(timeout)2.5 E F1 2.5(][)C F2<ad75>-2.5 E F0(fd)2.5 E F1
-(])A([)108 530.4 Q F0(name)A F1 1.666(...)2.5 G(])-1.666 E .146
-(Read one line from the standard input, or from the \214le descriptor)
-144 542.4 R F0(fd)2.645 E F1 .145(supplied as an ar)2.645 F .145
-(gument to the)-.18 F F2<ad75>144 554.4 Q F1 .77
-(option, split it into w)3.27 F .77(ords as described in)-.1 F F0(bash)
-3.27 E F1 .77(\(1\) under)3.27 F F2 -.75(Wo)3.27 G .77(rd Splitting).75
-F F1 3.27(,a)C .77(nd assign the \214rst)-3.27 F -.1(wo)144 566.4 S .674
-(rd to the \214rst).1 F F0(name)3.534 E F1 3.174(,t).18 G .674
-(he second w)-3.174 F .674(ord to the second)-.1 F F0(name)3.534 E F1
-3.174(,a).18 G .674(nd so on.)-3.174 F .673(If there are more w)5.673 F
-(ords)-.1 E .236(than names, the remaining w)144 578.4 R .237
-(ords and their interv)-.1 F .237
-(ening delimiters are assigned to the last)-.15 F F0(name)3.097 E F1
-5.237(.I).18 G(f)-5.237 E .875(there are fe)144 590.4 R .875(wer w)-.25
-F .875(ords read from the input stream than names, the remaining names \
-are assigned)-.1 F .515(empty v)144 602.4 R 3.015(alues. The)-.25 F .515
-(characters in the v)3.015 F .515(alue of the)-.25 F/F3 9/Times-Bold@0
-SF(IFS)3.015 E F1 -.25(va)2.765 G .516
-(riable are used to split the line into w).25 F(ords)-.1 E .982
-(using the same rules the shell uses for e)144 614.4 R .981
-(xpansion \(described in)-.15 F F0(bash)3.481 E F1 .981(\(1\) under)
-3.481 F F2 -.75(Wo)3.481 G .981(rd Splitting).75 F F1(\).)A .911
-(The backslash character \()144 626.4 R F2(\\)A F1 3.411(\)r)C(emo)
--3.411 E -.15(ve)-.15 G 3.411(sa).15 G 1.211 -.15(ny s)-3.411 H .911
-(pecial meaning for the ne).15 F .912(xt character read and is used)-.15
-F(for line continuation.)144 638.4 Q(Options, if supplied, ha)144 655.2
-Q .3 -.15(ve t)-.2 H(he follo).15 E(wing meanings:)-.25 E F2<ad61>144
-667.2 Q F0(aname)2.5 E F1 1.026(The w)180 679.2 R 1.026
-(ords are assigned to sequential indices of the array v)-.1 F(ariable)
--.25 E F0(aname)3.855 E F1 3.525(,s).18 G 1.025(tarting at 0.)-3.525 F
-F0(aname)180.33 691.2 Q F1(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 F0(name)2.5 E F1
-(ar)2.5 E(guments are ignored.)-.18 E F2<ad64>144 703.2 Q F0(delim)2.5 E
-F1 .502(The \214rst character of)180 715.2 R F0(delim)3.002 E F1 .503
-(terminates the input line, rather than ne)3.002 F 3.003(wline. If)-.25
-F F0(delim)3.003 E F1 .503(is the)3.003 F(empty string,)180 727.2 Q F2
--.18(re)2.5 G(ad).18 E F1
-(will terminate a line when it reads a NUL character)2.5 E(.)-.55 E
-(GNU Bash 5.2)72 768 Q(2023 January 27)141.79 E(15)190.95 E 0 Cg EP
-%%Page: 16 16
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH_B).25 E(UIL)-.1 E(TINS)-.2 E
-/F1 10/Times-Roman@0 SF 91.21(\(1\) General).58 F(Commands Manual)2.5 E
-F0 -.25(BA)93.71 G(SH_B).25 E(UIL)-.1 E(TINS)-.2 E F1(\(1\)).58 E/F2 10
-/Times-Bold@0 SF<ad65>144 84 Q F1 .919
-(If the standard input is coming from a terminal,)180 84 R F2 -.18(re)
-3.419 G(ad).18 E F1(uses)3.419 E F2 -.18(re)3.419 G(adline).18 E F1
-(\(see)3.419 E/F3 9/Times-Bold@0 SF(READLINE)3.419 E F1(in)3.169 E F0
-(bash)180 96 Q F1 .608(\(1\)\) to obtain the line.)B F2(Readline)5.608 E
-F1 .609(uses the current \(or def)3.109 F .609(ault, if line editing w)
--.1 F .609(as not)-.1 F(pre)180 108 Q(viously acti)-.25 E -.15(ve)-.25 G
-2.5(\)e).15 G(diting settings, b)-2.5 E(ut uses)-.2 E F2 -.18(re)2.5 G
-(adline).18 E F1 1.1 -.55('s d)D(ef).55 E(ault \214lename completion.)
--.1 E F2<ad45>144 120 Q F1 .919
-(If the standard input is coming from a terminal,)180 120 R F2 -.18(re)
-3.419 G(ad).18 E F1(uses)3.419 E F2 -.18(re)3.419 G(adline).18 E F1
-(\(see)3.419 E F3(READLINE)3.419 E F1(in)3.169 E F0(bash)180 132 Q F1
-.608(\(1\)\) to obtain the line.)B F2(Readline)5.608 E F1 .609
-(uses the current \(or def)3.109 F .609(ault, if line editing w)-.1 F
-.609(as not)-.1 F(pre)180 144 Q .042(viously acti)-.25 F -.15(ve)-.25 G
-2.542(\)e).15 G .042(diting settings, b)-2.542 F .042(ut uses bash')-.2
-F 2.542(sd)-.55 G(ef)-2.542 E .042(ault completion, including program-)
--.1 F(mable completion.)180 156 Q F2<ad69>144 168 Q F0(te)2.5 E(xt)-.2 E
-F1(If)180 168 Q F2 -.18(re)3.313 G(adline).18 E F1 .814
-(is being used to read the line,)3.313 F F2 -.18(re)3.314 G(ad).18 E F1
-(places)3.314 E F0(te)3.314 E(xt)-.2 E F1 .814(into the editing b)3.314
-F(uf)-.2 E .814(fer before)-.25 F(editing be)180 180 Q(gins.)-.15 E F2
-<ad6e>144 192 Q F0(nc)2.5 E(har)-.15 E(s)-.1 E F2 -.18(re)180 204 S(ad)
-.18 E F1 .323(returns after reading)2.823 F F0(nc)2.823 E(har)-.15 E(s)
--.1 E F1 .323(characters rather than w)2.823 F .323
-(aiting for a complete line of in-)-.1 F .736
-(put, unless it encounters EOF or)180 216 R F2 -.18(re)3.236 G(ad).18 E
-F1 .736(times out, b)3.236 F .737(ut honors a delimiter if it reads fe)
--.2 F(wer)-.25 E(than)180 228 Q F0(nc)2.5 E(har)-.15 E(s)-.1 E F1
-(characters before the delimiter)2.5 E(.)-.55 E F2<ad4e>144 240 Q F0(nc)
-2.5 E(har)-.15 E(s)-.1 E F2 -.18(re)180 252 S(ad).18 E F1 1.269
-(returns after reading e)3.77 F(xactly)-.15 E F0(nc)3.769 E(har)-.15 E
-(s)-.1 E F1 1.269(characters rather than w)3.769 F 1.269
-(aiting for a complete)-.1 F .172
-(line of input, unless it encounters EOF or)180 264 R F2 -.18(re)2.673 G
-(ad).18 E F1 .173(times out.)2.673 F(An)5.173 E 2.673(yd)-.15 G .173
-(elimiter characters in the)-2.673 F 1.246
-(input are not treated specially and do not cause)180 276 R F2 -.18(re)
-3.746 G(ad).18 E F1 1.245(to return until it has read)3.746 F F0(nc)
-3.745 E(har)-.15 E(s)-.1 E F1 2.566(characters. The)180 288 R .066
-(result is not split on the characters in)2.566 F F2(IFS)2.567 E F1
-2.567(;t)C .067(he intent is that the v)-2.567 F .067(ariable is)-.25 F
-.895(assigned e)180 300 R .895(xactly the characters read \(with the e)
--.15 F .894(xception of backslash; see the)-.15 F F2<ad72>3.394 E F1
-(option)3.394 E(belo)180 312 Q(w\).)-.25 E F2<ad70>144 324 Q F0(pr)2.5 E
-(ompt)-.45 E F1(Display)180 336 Q F0(pr)3.66 E(ompt)-.45 E F1 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 348 Q 2.5
-(yi)-.15 G(nput, b)-2.5 E(ut only if input is coming from a terminal.)
--.2 E F2<ad72>144 360 Q F1 .544
-(Backslash does not act as an escape character)180 360 R 5.543(.T)-.55 G
-.543(he backslash is considered to be part of)-5.543 F .492(the line.)
-180 372 R .492(In particular)5.492 F 2.992(,ab)-.4 G(ackslash-ne)-2.992
-E .493(wline pair may not then be used as a line continua-)-.25 F(tion.)
-180 384 Q F2<ad73>144 396 Q F1(Silent mode.)180 396 Q
-(If input is coming from a terminal, characters are not echoed.)5 E F2
-<ad74>144 408 Q F0(timeout)2.5 E F1(Cause)180 420 Q F2 -.18(re)2.767 G
-(ad).18 E F1 .267(to time out and return f)2.767 F .266
-(ailure if it does not read a complete line of input \(or a)-.1 F .468
-(speci\214ed number of characters\) within)180 432 R F0(timeout)2.968 E
-F1(seconds.)2.968 E F0(timeout)5.468 E F1 .469(may be a decimal num-)
-2.968 F .464(ber with a fractional portion follo)180 444 R .464
-(wing the decimal point.)-.25 F .463(This option is only ef)5.463 F
-(fecti)-.25 E .763 -.15(ve i)-.25 H(f).15 E F2 -.18(re)180 456 S(ad).18
-E F1 1.176(is reading input from a terminal, pipe, or other special \
-\214le; it has no ef)3.676 F 1.177(fect when)-.25 F .108
-(reading from re)180 468 R .108(gular \214les.)-.15 F(If)5.108 E F2 -.18
-(re)2.608 G(ad).18 E F1 .108(times out, it sa)2.608 F -.15(ve)-.2 G
-2.607(sa).15 G .407 -.15(ny p)-2.607 H .107
-(artial input read into the speci-).15 F .942(\214ed v)180 480 R
-(ariable)-.25 E F0(name)3.442 E F1 3.442(,a)C .942(nd the e)-3.442 F
-.942(xit status is greater than 128.)-.15 F(If)5.943 E F0(timeout)3.443
-E F1 .943(is 0,)3.443 F F2 -.18(re)3.443 G(ad).18 E F1(returns)3.443 E
-(immediately)180 492 Q 3.26(,w)-.65 G .76(ithout trying to read an)-3.26
-F 3.26(yd)-.15 G 3.26(ata. In)-3.26 F .759(this case, the e)3.259 F .759
-(xit status is 0 if input is)-.15 F -.2(av)180 504 S
-(ailable on the speci\214ed \214le descriptor)-.05 E 2.5(,o)-.4 G 2.5
-(rt)-2.5 G(he read will return EOF)-2.5 E 2.5(,n)-.8 G
-(on-zero otherwise.)-2.5 E F2<ad75>144 516 Q F0(fd)2.5 E F1
-(Read input from \214le descriptor)180 516 Q F0(fd)2.5 E F1
-(instead of the standard input.)2.5 E(Other than the case where)144
-532.8 Q F0(delim)2.5 E F1(is the empty string,)2.5 E F2 -.18(re)2.5 G
-(ad).18 E F1(ignores an)2.5 E 2.5(yN)-.15 G(UL characters in the input.)
--2.5 E .96(If no)144 549.6 R F0(names)3.82 E F1 .96(are supplied,)3.73 F
-F2 -.18(re)3.46 G(ad).18 E F1 .961
-(assigns the line read, without the ending delimiter b)3.461 F .961
-(ut otherwise)-.2 F(unmodi\214ed, to the v)144 561.6 Q(ariable)-.25 E F3
-(REPL)2.5 E(Y)-.828 E/F4 9/Times-Roman@0 SF(.)A F1 .033(The e)144 578.4
-R .033(xit status is zero, unless end-of-\214le is encountered,)-.15 F
-F2 -.18(re)2.532 G(ad).18 E F1 .032
-(times out \(in which case the status is)2.532 F .31
-(greater than 128\), a v)144 590.4 R .311
-(ariable assignment error \(such as assigning to a readonly v)-.25 F
-.311(ariable\) occurs, or)-.25 F(an in)144 602.4 Q -.25(va)-.4 G
-(lid \214le descriptor is supplied as the ar).25 E(gument to)-.18 E F2
-<ad75>2.5 E F1(.)A F2 -.18(re)108 619.2 S(adonly).18 E F1([)2.5 E F2
-(\255aAf)A F1 2.5(][)C F2<ad70>-2.5 E F1 2.5(][)C F0(name)-2.5 E F1([=)A
-F0(wor)A(d)-.37 E F1 2.5(].)C 1.666(..)-.834 G(])-1.666 E .77(The gi)144
-631.2 R -.15(ve)-.25 G(n).15 E F0(names)3.27 E F1 .77(are mark)3.27 F
-.77(ed readonly; the v)-.1 F .77(alues of these)-.25 F F0(names)3.63 E
-F1 .77(may not be changed by subse-)3.54 F .445
-(quent assignment or unset.)144 643.2 R .446(If the)5.446 F F2<ad66>
-2.946 E F1 .446(option is supplied, each)2.946 F F0(name)2.946 E F1 .446
-(refers to a shell function.)2.946 F(The)5.446 E F2<ad61>144 655.2 Q F1
-.383(option restricts the v)2.883 F .383(ariables to inde)-.25 F -.15
-(xe)-.15 G 2.883(da).15 G .383(rrays; the)-2.883 F F2<ad41>2.883 E F1
-.382(option restricts the v)2.883 F .382(ariables to associa-)-.25 F(ti)
-144 667.2 Q 1.558 -.15(ve a)-.25 H 3.758(rrays. If).15 F 1.258
-(both options are supplied,)3.758 F F2<ad41>3.758 E F1(tak)3.758 E 1.258
-(es precedence.)-.1 F 1.258(If no)6.258 F F0(name)4.118 E F1(ar)3.938 E
-1.258(guments are sup-)-.18 F .412(plied, or if the)144 679.2 R F2<ad70>
-2.912 E F1 .412(option is supplied, print a list of all readonly names.)
-2.912 F .411(The other options may be)5.411 F .327
-(used to restrict the output to a subset of the set of readonly names.)
-144 691.2 R(The)5.327 E F2<ad70>2.827 E F1 .327(option displays output)
-2.827 F(in a format that may be reused as input.)144 703.2 Q
-(GNU Bash 5.2)72 768 Q(2023 January 27)141.79 E(16)190.95 E 0 Cg EP
-%%Page: 17 17
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH_B).25 E(UIL)-.1 E(TINS)-.2 E
-/F1 10/Times-Roman@0 SF 91.21(\(1\) General).58 F(Commands Manual)2.5 E
-F0 -.25(BA)93.71 G(SH_B).25 E(UIL)-.1 E(TINS)-.2 E F1(\(1\)).58 E/F2 10
-/Times-Bold@0 SF -.18(re)144 84 S(adonly).18 E F1(allo)2.653 E .153
-(ws the v)-.25 F .153(alue of a v)-.25 F .153
-(ariable to be set at the same time the readonly attrib)-.25 F .152
-(ute is changed)-.2 F .687(by follo)144 96 R .687(wing the v)-.25 F .687
-(ariable name with =)-.25 F F0(value)A F1 5.688(.T)C .688
-(his sets the v)-5.688 F .688(alue of the v)-.25 F .688(ariable is to)
--.25 F F0(value)3.188 E F1(while)3.188 E(modifying the readonly attrib)
-144 108 Q(ute.)-.2 E .303(The return status is 0 unless an in)144 124.8
-R -.25(va)-.4 G .303(lid option is encountered, one of the).25 F F0
-(names)3.162 E F1 .302(is not a v)3.072 F .302(alid shell)-.25 F -.25
-(va)144 136.8 S(riable name, or).25 E F2<ad66>2.5 E F1
-(is supplied with a)2.5 E F0(name)2.86 E F1(that is not a function.)2.68
-E F2 -.18(re)108 153.6 S(tur).18 E(n)-.15 E F1([)2.5 E F0(n)A F1(])A
-.182(Stop e)144 165.6 R -.15(xe)-.15 G .182
-(cuting a shell function or sourced \214le and return the v).15 F .182
-(alue speci\214ed by)-.25 F F0(n)3.042 E F1 .182(to its caller)2.922 F
-5.183(.I)-.55 G(f)-5.183 E F0(n)3.043 E F1 .589
-(is omitted, the return status is that of the last command e)144 177.6 R
--.15(xe)-.15 G 3.089(cuted. If).15 F F2 -.18(re)3.089 G(tur).18 E(n)-.15
-E F1 .589(is e)3.089 F -.15(xe)-.15 G .588(cuted by a trap).15 F
-(handler)144 189.6 Q 3.469(,t)-.4 G .969
-(he last command used to determine the status is the last command e)
--3.469 F -.15(xe)-.15 G .97(cuted before the).15 F .13(trap handler)144
-201.6 R 5.13(.I)-.55 G(f)-5.13 E F2 -.18(re)2.63 G(tur).18 E(n)-.15 E F1
-.13(is e)2.63 F -.15(xe)-.15 G .13(cuted during a).15 F F2(DEB)2.629 E
-(UG)-.1 E F1 .129(trap, the last command used to determine the)2.629 F
-(status is the last command e)144 213.6 Q -.15(xe)-.15 G
-(cuted by the trap handler before).15 E F2 -.18(re)2.5 G(tur).18 E(n)
--.15 E F1 -.1(wa)2.5 G 2.5(si).1 G -1.9 -.4(nv o)-2.5 H -.1(ke).4 G(d.)
-.1 E(When)144 230.4 Q F2 -.18(re)3.817 G(tur).18 E(n)-.15 E F1 1.317
-(is used to terminate e)3.817 F -.15(xe)-.15 G 1.318
-(cution of a script being e).15 F -.15(xe)-.15 G 1.318(cuted by the).15
-F F2(.)3.818 E F1(\()6.318 E F2(sour)A(ce)-.18 E F1 3.818(\)c)C(om-)
--3.818 E .808(mand, it causes the shell to stop e)144 242.4 R -.15(xe)
--.15 G .807(cuting that script and return either).15 F F0(n)3.667 E F1
-.807(or the e)3.547 F .807(xit status of the)-.15 F .314(last command e)
-144 254.4 R -.15(xe)-.15 G .314(cuted within the script as the e).15 F
-.314(xit status of the script.)-.15 F(If)5.315 E F0(n)2.815 E F1 .315
-(is supplied, the return)2.815 F -.25(va)144 266.4 S
-(lue is its least signi\214cant 8 bits.).25 E(An)144 283.2 Q 3.176(yc)
--.15 G .676(ommand associated with the)-3.176 F F2(RETURN)3.176 E F1
-.675(trap is e)3.175 F -.15(xe)-.15 G .675(cuted before e).15 F -.15(xe)
--.15 G .675(cution resumes after the).15 F(function or script.)144 295.2
-Q .948(The return status is non-zero if)144 312 R F2 -.18(re)3.449 G
-(tur).18 E(n)-.15 E F1 .949(is supplied a non-numeric ar)3.449 F .949
-(gument, or is used outside a)-.18 F(function and not during e)144 324 Q
--.15(xe)-.15 G(cution of a script by).15 E F2(.)2.5 E F1(or)3.333 E F2
-(sour)2.5 E(ce)-.18 E F1(.)A F2(set)108 340.8 Q F1([)2.5 E F2
-(\255abefhkmnptuvxBCEHPT)A F1 2.5(][)C F2<ad6f>-2.5 E F0(option\255name)
-2.5 E F1 2.5(][)C F2<adad>-2.5 E F1 2.5(][)C F2<ad>-2.5 E F1 2.5(][)C F0
-(ar)-2.5 E(g)-.37 E F1 1.666(...)2.5 G(])-1.666 E F2(set)108 352.8 Q F1
-([)2.5 E F2(+abefhkmnptuvxBCEHPT)A F1 2.5(][)C F2(+o)-2.5 E F0
-(option\255name)2.5 E F1 2.5(][)C F2<adad>-2.5 E F1 2.5(][)C F2<ad>-2.5
-E F1 2.5(][)C F0(ar)-2.5 E(g)-.37 E F1 1.666(...)2.5 G(])-1.666 E F2
-(set \255o)108 364.8 Q(set +o)108 376.8 Q F1 -.4(Wi)144 376.8 S .574
-(thout options, display the name and v).4 F .574(alue of each shell v)
--.25 F .573(ariable in a format that can be reused)-.25 F .113
-(as input for setting or resetting the currently-set v)144 388.8 R 2.613
-(ariables. Read-only)-.25 F -.25(va)2.613 G .113
-(riables cannot be reset.).25 F(In)5.113 E .958
-(posix mode, only shell v)144 400.8 R .958(ariables are listed.)-.25 F
-.957(The output is sorted according to the current locale.)5.957 F .58
-(When options are speci\214ed, the)144 412.8 R 3.081(ys)-.15 G .581
-(et or unset shell attrib)-3.081 F 3.081(utes. An)-.2 F 3.081(ya)-.15 G
--.18(rg)-3.081 G .581(uments remaining after op-).18 F .161
-(tion processing are treated as v)144 424.8 R .161
-(alues for the positional parameters and are assigned, in order)-.25 F
-2.66(,t)-.4 G(o)-2.66 E F2($1)2.66 E F1(,)A F2($2)144 436.8 Q F1 2.5(,.)
-C 1.666(..)-.834 G(,)-1.666 E F2($)2.5 E F0(n)A F1 5(.O)C
-(ptions, if speci\214ed, ha)-5 E .3 -.15(ve t)-.2 H(he follo).15 E
-(wing meanings:)-.25 E F2<ad61>144 448.8 Q F1 1.377(Each v)184 448.8 R
-1.377(ariable or function that is created or modi\214ed is gi)-.25 F
--.15(ve)-.25 G 3.877(nt).15 G 1.377(he e)-3.877 F 1.378(xport attrib)
--.15 F 1.378(ute and)-.2 F(mark)184 460.8 Q(ed for e)-.1 E
-(xport to the en)-.15 E(vironment of subsequent commands.)-.4 E F2<ad62>
-144 472.8 Q F1 .132
-(Report the status of terminated background jobs immediately)184 472.8 R
-2.632(,r)-.65 G .131(ather than before the ne)-2.632 F(xt)-.15 E .48
-(primary prompt or after a fore)184 484.8 R .48
-(ground command terminates.)-.15 F .48(This is ef)5.48 F(fecti)-.25 E
-.78 -.15(ve o)-.25 H .48(nly when).15 F(job control is enabled.)184
-496.8 Q F2<ad65>144 508.8 Q F1 .088(Exit immediately if a)184 508.8 R F0
-(pipeline)2.588 E F1 .087(\(which may consist of a single)2.588 F F0
-.087(simple command)2.587 F F1 .087(\), a)B F0(list)2.587 E F1 2.587(,o)
-C(r)-2.587 E(a)184 520.8 Q F0 .86(compound command)3.359 F F1(\(see)3.36
-E/F3 9/Times-Bold@0 SF .86(SHELL GRAMMAR)3.36 F F1(in)3.11 E F0(bash)
-3.36 E F1 .86(\(1\)\), e)B .86(xits with a non-zero sta-)-.15 F 2.853
-(tus. The)184 532.8 R .353(shell does not e)2.853 F .352
-(xit if the command that f)-.15 F .352
-(ails is part of the command list imme-)-.1 F 1.107(diately follo)184
-544.8 R 1.107(wing a)-.25 F F2(while)3.607 E F1(or)3.607 E F2(until)
-3.607 E F1 -.1(ke)3.607 G(yw)-.05 E 1.108(ord, part of the test follo)
--.1 F 1.108(wing the)-.25 F F2(if)3.608 E F1(or)3.608 E F2(elif)3.608 E
-F1(re-)3.608 E(serv)184 556.8 Q .28(ed w)-.15 F .28(ords, part of an)-.1
-F 2.78(yc)-.15 G .28(ommand e)-2.78 F -.15(xe)-.15 G .279(cuted in a).15
-F F2(&&)2.779 E F1(or)2.779 E F2(||)2.779 E F1 .279(list e)2.779 F .279
-(xcept the command fol-)-.15 F(lo)184 568.8 Q .355(wing the \214nal)-.25
-F F2(&&)2.855 E F1(or)2.855 E F2(||)2.855 E F1 2.855(,a)C .655 -.15
-(ny c)-2.855 H .356(ommand in a pipeline b).15 F .356
-(ut the last \(subject to the state of)-.2 F(the)184 580.8 Q F2
-(pipefail)2.806 E F1 .306(shell option\), or if the command')2.806 F
-2.806(sr)-.55 G .306(eturn v)-2.806 F .305(alue is being in)-.25 F -.15
-(ve)-.4 G .305(rted with).15 F F2(!)2.805 E F1 5.305(.I)C 2.805(fa)
--5.305 G .274(compound command other than a subshell returns a non-zero\
- status because a command)184 592.8 R -.1(fa)184 604.8 S .195
-(iled while).1 F F2<ad65>2.695 E F1 -.1(wa)2.695 G 2.695(sb).1 G .195
-(eing ignored, the shell does not e)-2.695 F 2.694(xit. A)-.15 F .194
-(trap on)2.694 F F2(ERR)2.694 E F1 2.694(,i)C 2.694(fs)-2.694 G .194
-(et, is e)-2.694 F -.15(xe)-.15 G(-).15 E .59(cuted before the shell e)
-184 616.8 R 3.09(xits. This)-.15 F .59(option applies to the shell en)
-3.09 F .59(vironment and each sub-)-.4 F 4.582(shell en)184 628.8 R
-4.582(vironment separately \(see)-.4 F F3 4.582(COMMAND EXECUTION ENVIR)
-7.082 F(ONMENT)-.27 E F1(in)6.831 E F0(bash)184 640.8 Q F1 .325
-(\(1\)\), and may cause subshells to e)B .326(xit before e)-.15 F -.15
-(xe)-.15 G .326(cuting all the commands in the sub-).15 F(shell.)184
-652.8 Q .999(If a compound command or shell function e)184 669.6 R -.15
-(xe)-.15 G .999(cutes in a conte).15 F .998(xt where)-.15 F F2<ad65>
-3.498 E F1 .998(is being ig-)3.498 F .089(nored, none of the commands e)
-184 681.6 R -.15(xe)-.15 G .089
-(cuted within the compound command or function body).15 F .503
-(will be af)184 693.6 R .503(fected by the)-.25 F F2<ad65>3.002 E F1
-.502(setting, e)3.002 F -.15(ve)-.25 G 3.002(ni).15 G(f)-3.002 E F2
-<ad65>3.002 E F1 .502(is set and a command returns a f)3.002 F .502
-(ailure sta-)-.1 F 4.183(tus. If)184 705.6 R 4.183(ac)4.183 G 1.683
-(ompound command or shell function sets)-4.183 F F2<ad65>4.184 E F1
-1.684(while e)4.184 F -.15(xe)-.15 G 1.684(cuting in a conte).15 F(xt)
--.15 E(where)184 717.6 Q F2<ad65>3.154 E F1 .654
-(is ignored, that setting will not ha)3.154 F .953 -.15(ve a)-.2 H .953
--.15(ny e).15 H -.25(ff).15 G .653(ect until the compound command).25 F
-(or the command containing the function call completes.)184 729.6 Q
-(GNU Bash 5.2)72 768 Q(2023 January 27)141.79 E(17)190.95 E 0 Cg EP
-%%Page: 18 18
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH_B).25 E(UIL)-.1 E(TINS)-.2 E
-/F1 10/Times-Roman@0 SF 91.21(\(1\) General).58 F(Commands Manual)2.5 E
-F0 -.25(BA)93.71 G(SH_B).25 E(UIL)-.1 E(TINS)-.2 E F1(\(1\)).58 E/F2 10
-/Times-Bold@0 SF<ad66>144 84 Q F1(Disable pathname e)184 84 Q(xpansion.)
--.15 E F2<ad68>144 96 Q F1 .988
-(Remember the location of commands as the)184 96 R 3.488(ya)-.15 G .988
-(re look)-3.488 F .988(ed up for e)-.1 F -.15(xe)-.15 G 3.488
-(cution. This).15 F .988(is en-)3.488 F(abled by def)184 108 Q(ault.)-.1
-E F2<ad6b>144 120 Q F1 .514(All ar)184 120 R .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 132 Q F2
-<ad6d>144 144 Q F1 .148(Monitor mode.)184 144 R .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 .235
-(on systems that support it \(see)184 156 R/F3 9/Times-Bold@0 SF .235
-(JOB CONTR)2.735 F(OL)-.27 E F1(in)2.485 E F0(bash)2.735 E F1 2.735
-(\(1\)\). All)B .234(processes run in a sepa-)2.735 F .252
-(rate process group.)184 168 R .252
-(When a background job completes, the shell prints a line containing)
-5.252 F(its e)184 180 Q(xit status.)-.15 E F2<ad6e>144 192 Q F1 .653
-(Read commands b)184 192 R .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 204 Q(This is ignored by interacti)5 E .3
--.15(ve s)-.25 H(hells.).15 E F2<ad6f>144 216 Q F0(option\255name)2.5 E
-F1(The)184 228 Q F0(option\255name)2.5 E F1(can be one of the follo)2.5
-E(wing:)-.25 E F2(allexport)184 240 Q F1(Same as)224 252 Q F2<ad61>2.5 E
-F1(.)A F2(braceexpand)184 264 Q F1(Same as)224 276 Q F2<ad42>2.5 E F1(.)
-A F2(emacs)184 288 Q F1 .089
-(Use an emacs-style command line editing interf)224 288 R 2.589
-(ace. This)-.1 F .089(is enabled by def)2.589 F(ault)-.1 E .95
-(when the shell is interacti)224 300 R -.15(ve)-.25 G 3.45(,u).15 G .95
-(nless the shell is started with the)-3.45 F F2(\255\255noediting)3.45 E
-F1 2.5(option. This)224 312 R(also af)2.5 E(fects the editing interf)
--.25 E(ace used for)-.1 E F2 -.18(re)2.5 G(ad \255e).18 E F1(.)A F2(err)
-184 324 Q(exit)-.18 E F1(Same as)224 324 Q F2<ad65>2.5 E F1(.)A F2
-(errtrace)184 336 Q F1(Same as)224 336 Q F2<ad45>2.5 E F1(.)A F2
-(functrace)184 348 Q F1(Same as)224 360 Q F2<ad54>2.5 E F1(.)A F2
-(hashall)184 372 Q F1(Same as)224 372 Q F2<ad68>2.5 E F1(.)A F2
-(histexpand)184 384 Q F1(Same as)224 396 Q F2<ad48>2.5 E F1(.)A F2
-(history)184 408 Q F1 1.001(Enable command history)224 408 R 3.502(,a)
--.65 G 3.502(sd)-3.502 G 1.002(escribed in)-3.502 F F0(bash)3.502 E F1
-1.002(\(1\) under)B F3(HIST)3.502 E(OR)-.162 E(Y)-.315 E/F4 9
-/Times-Roman@0 SF(.)A F1 1.002(This op-)5.502 F(tion is on by def)224
-420 Q(ault in interacti)-.1 E .3 -.15(ve s)-.25 H(hells.).15 E F2(ignor)
-184 432 Q(eeof)-.18 E F1 .601(The ef)224 444 R .601
-(fect is as if the shell command had been e)-.25 F -.15(xe)-.15 G .6
-(cuted \(see).15 F F2 .6(Shell V)3.1 F(ariables)-.92 E F1(in)224 456 Q
-F0(bash)2.5 E F1(\(1\)\).)A F2 -.1(ke)184 468 S(yw).1 E(ord)-.1 E F1
-(Same as)224 480 Q F2<ad6b>2.5 E F1(.)A F2(monitor)184 492 Q F1(Same as)
-224 492 Q F2<ad6d>2.5 E F1(.)A F2(noclob)184 504 Q(ber)-.1 E F1(Same as)
-224 516 Q F2<ad43>2.5 E F1(.)A F2(noexec)184 528 Q F1(Same as)224 528 Q
-F2<ad6e>2.5 E F1(.)A F2(noglob)184 540 Q F1(Same as)224 540 Q F2<ad66>
-2.5 E F1(.)A F2(nolog)184 552 Q F1(Currently ignored.)224 552 Q F2
-(notify)184 564 Q F1(Same as)224 564 Q F2<ad62>2.5 E F1(.)A F2(nounset)
-184 576 Q F1(Same as)224 576 Q F2<ad75>2.5 E F1(.)A F2(onecmd)184 588 Q
-F1(Same as)224 588 Q F2<ad74>2.5 E F1(.)A F2(ph)184 600 Q(ysical)-.15 E
-F1(Same as)224 600 Q F2<ad50>2.5 E F1(.)A F2(pipefail)184 612 Q F1 1.029
-(If set, the return v)224 612 R 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 624
-R 1.136
-(xit with a non-zero status, or zero if all commands in the pipeline)
--.15 F -.15(ex)224 636 S(it successfully).15 E 5(.T)-.65 G
-(his option is disabled by def)-5 E(ault.)-.1 E F2(posix)184 648 Q F1
-2.09(Change the beha)224 648 R 2.091(vior of)-.2 F F2(bash)4.591 E F1
-2.091(where the def)4.591 F 2.091(ault operation dif)-.1 F 2.091
-(fers from the)-.25 F 2.704(POSIX standard to match the standard \()224
-660 R F0 2.704(posix mode)B F1 5.204(\). See)B F3 2.704(SEE ALSO)5.204 F
-F1(in)4.953 E F0(bash)224 672 Q F1 1.844
-(\(1\) for a reference to a document that details ho)B 4.344(wp)-.25 G
-1.845(osix mode af)-4.344 F(fects)-.25 E(bash')224 684 Q 2.5(sb)-.55 G
-(eha)-2.5 E(vior)-.2 E(.)-.55 E F2(pri)184 696 Q(vileged)-.1 E F1
-(Same as)224 708 Q F2<ad70>2.5 E F1(.)A(GNU Bash 5.2)72 768 Q
-(2023 January 27)141.79 E(18)190.95 E 0 Cg EP
-%%Page: 19 19
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH_B).25 E(UIL)-.1 E(TINS)-.2 E
-/F1 10/Times-Roman@0 SF 91.21(\(1\) General).58 F(Commands Manual)2.5 E
-F0 -.25(BA)93.71 G(SH_B).25 E(UIL)-.1 E(TINS)-.2 E F1(\(1\)).58 E/F2 10
-/Times-Bold@0 SF -.1(ve)184 84 S(rbose).1 E F1(Same as)224 84 Q F2<ad76>
-2.5 E F1(.)A F2(vi)184 96 Q F1 .209
-(Use a vi-style command line editing interf)224 96 R 2.709(ace. This)-.1
-F .209(also af)2.709 F .209(fects the editing in-)-.25 F(terf)224 108 Q
-(ace used for)-.1 E F2 -.18(re)2.5 G(ad \255e).18 E F1(.)A F2(xtrace)184
-120 Q F1(Same as)224 120 Q F2<ad78>2.5 E F1(.)A(If)184 132 Q F2<ad6f>
-2.765 E F1 .265(is supplied with no)2.765 F F0(option\255name)2.765 E F1
-(,)A F2(set)2.765 E F1 .266(prints the current shell option settings.)
-2.765 F(If)5.266 E F2(+o)2.766 E F1 .079(is supplied with no)184 144 R
-F0(option\255name)2.579 E F1(,)A F2(set)2.579 E F1 .079
-(prints a series of)2.579 F F2(set)2.579 E F1 .078
-(commands to recreate the cur)2.578 F(-)-.2 E
-(rent option settings on the standard output.)184 156 Q F2<ad70>144 168
-Q F1 -.45(Tu)184 168 S 3.277(rn on).45 F F0(privile)7.027 E -.1(ge)-.4 G
-(d).1 E F1 5.777(mode. In)6.547 F 3.277
-(this mode, the shell does not read the)5.777 F/F3 9/Times-Bold@0 SF
-($ENV)5.778 E F1(and)5.528 E F3($B)184 180 Q(ASH_ENV)-.27 E F1 .018
-(\214les, shell functions are not inherited from the en)2.268 F .018
-(vironment, and the)-.4 F F3(SHEL-)2.517 E(LOPTS)184 192 Q/F4 9
-/Times-Roman@0 SF(,)A F3 -.27(BA)2.589 G(SHOPTS).27 E F4(,)A F3(CDP)
-2.589 E -.855(AT)-.666 G(H).855 E F4(,)A F1(and)2.589 E F3(GLOBIGNORE)
-2.839 E F1 -.25(va)2.589 G .339(riables, if the).25 F 2.84(ya)-.15 G .34
-(ppear in the en)-2.84 F(vi-)-.4 E .021(ronment, are ignored.)184 204 R
-.021(If the shell is started with the ef)5.021 F(fecti)-.25 E .32 -.15
-(ve u)-.25 H .02(ser \(group\) id not equal to).15 F .043
-(the real user \(group\) id, and the)184 216 R F2<ad70>2.543 E F1 .043
-(option is not supplied, these actions are tak)2.543 F .043(en and the)
--.1 F(ef)184 228 Q(fecti)-.25 E .879 -.15(ve u)-.25 H .579
-(ser id is set to the real user id.).15 F .579(If the)5.579 F F2<ad70>
-3.079 E F1 .579(option is supplied at startup, the ef-)3.079 F(fecti)184
-240 Q 1.21 -.15(ve u)-.25 H .91(ser id is not reset.).15 F -.45(Tu)5.91
-G .91(rning this option of).45 F 3.41(fc)-.25 G .91(auses the ef)-3.41 F
-(fecti)-.25 E 1.21 -.15(ve u)-.25 H .91(ser and group).15 F
-(ids to be set to the real user and group ids.)184 252 Q F2<ad72>144 264
-Q F1(Enable restricted shell mode.)184 264 Q
-(This option cannot be unset once it has been set.)5 E F2<ad74>144 276 Q
-F1(Exit after reading and e)184 276 Q -.15(xe)-.15 G
-(cuting one command.).15 E F2<ad75>144 288 Q F1 -.35(Tr)184 288 S .301
-(eat unset v).35 F .301(ariables and parameters other than the special \
-parameters and or array v)-.25 F(ari-)-.25 E .903
-(ables subscripted with or as an error when performing parameter e)184
-300 R 3.404(xpansion. If)-.15 F -.15(ex)3.404 G(pan-).15 E 1.155
-(sion is attempted on an unset v)184 312 R 1.154(ariable or parameter)
--.25 F 3.654(,t)-.4 G 1.154(he shell prints an error message,)-3.654 F
-(and, if not interacti)184 324 Q -.15(ve)-.25 G 2.5(,e).15 G
-(xits with a non-zero status.)-2.65 E F2<ad76>144 336 Q F1
-(Print shell input lines as the)184 336 Q 2.5(ya)-.15 G(re read.)-2.5 E
-F2<ad78>144 348 Q F1 .315(After e)184 348 R .315(xpanding each)-.15 F F0
-.315(simple command)2.815 F F1(,)A F2 -.25(fo)2.815 G(r).25 E F1
-(command,)2.815 E F2(case)2.815 E F1(command,)2.815 E F2(select)2.815 E
-F1(command,)2.815 E 1.236(or arithmetic)184 360 R F2 -.25(fo)3.736 G(r)
-.25 E F1 1.236(command, display the e)3.736 F 1.236(xpanded v)-.15 F
-1.236(alue of)-.25 F F3(PS4)3.736 E F4(,)A F1(follo)3.486 E 1.236
-(wed by the com-)-.25 F(mand and its e)184 372 Q(xpanded ar)-.15 E
-(guments or associated w)-.18 E(ord list, to the standard error)-.1 E(.)
--.55 E F2<ad42>144 384 Q F1 1.053(The shell performs brace e)184 384 R
-1.053(xpansion \(see)-.15 F F2 1.053(Brace Expansion)3.553 F F1(in)3.553
-E F0(bash)3.553 E F1 3.553(\(1\)\). This)B 1.053(is on by)3.553 F(def)
-184 396 Q(ault.)-.1 E F2<ad43>144 408 Q F1 .214(If set,)184 408 R F2
-(bash)2.714 E F1 .214(does not o)2.714 F -.15(ve)-.15 G .214
-(rwrite an e).15 F .214(xisting \214le with the)-.15 F F2(>)2.714 E F1
-(,)A F2(>&)2.714 E F1 2.713(,a)C(nd)-2.713 E F2(<>)2.713 E F1 .213
-(redirection opera-)2.713 F 3.148(tors. Using)184 420 R .648
-(the redirection operator)3.148 F F2(>|)3.148 E F1 .648(instead of)3.148
-F F2(>)3.148 E F1 .648(will o)3.148 F -.15(ve)-.15 G .648
-(rride this and force the cre-).15 F(ation of an output \214le.)184 432
-Q F2<ad45>144 444 Q F1 .104(If set, an)184 444 R 2.604(yt)-.15 G .104
-(rap on)-2.604 F F2(ERR)2.604 E F1 .103
-(is inherited by shell functions, command substitutions, and com-)2.604
-F .838(mands e)184 456 R -.15(xe)-.15 G .838(cuted in a subshell en).15
-F 3.338(vironment. The)-.4 F F2(ERR)3.338 E F1 .839
-(trap is normally not inherited in)3.339 F(such cases.)184 468 Q F2
-<ad48>144 480 Q F1(Enable)184 480 Q F2(!)3.032 E F1 .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 492 Q -.15
-(ve)-.25 G(.).15 E F2<ad50>144 504 Q F1 .959
-(If set, the shell does not resolv)184 504 R 3.459(es)-.15 G .959
-(ymbolic links when e)-3.459 F -.15(xe)-.15 G .96
-(cuting commands such as).15 F F2(cd)3.46 E F1 1.453
-(that change the current w)184 516 R 1.453(orking directory)-.1 F 6.453
-(.I)-.65 G 3.952(tu)-6.453 G 1.452(ses the ph)-3.952 F 1.452
-(ysical directory structure in-)-.05 F 3.334(stead. By)184 528 R(def)
-3.334 E(ault,)-.1 E F2(bash)3.334 E F1(follo)3.334 E .834
-(ws the logical chain of directories when performing com-)-.25 F
-(mands which change the current directory)184 540 Q(.)-.65 E F2<ad54>144
-552 Q F1 .89(If set, an)184 552 R 3.39(yt)-.15 G .89(raps on)-3.39 F F2
-(DEB)3.39 E(UG)-.1 E F1(and)3.39 E F2(RETURN)3.39 E F1 .89
-(are inherited by shell functions, command)3.39 F 1.932
-(substitutions, and commands e)184 564 R -.15(xe)-.15 G 1.932
-(cuted in a subshell en).15 F 4.432(vironment. The)-.4 F F2(DEB)4.432 E
-(UG)-.1 E F1(and)4.432 E F2(RETURN)184 576 Q F1
-(traps are normally not inherited in such cases.)2.5 E F2<adad>144 588 Q
-F1 .91(If no ar)184 588 R .909(guments follo)-.18 F 3.409(wt)-.25 G .909
-(his option, unset the positional parameters.)-3.409 F .909
-(Otherwise, set the)5.909 F(positional parameters to the)184 600 Q F0
-(ar)2.5 E(g)-.37 E F1(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 F2<ad>2.5 E F1(.)A F2<ad>144
-612 Q F1 1.367(Signal the end of options, and assign all remaining)184
-612 R F0(ar)3.868 E(g)-.37 E F1 3.868(st)C 3.868(ot)-3.868 G 1.368
-(he positional parameters.)-3.868 F(The)184 624 Q F2<ad78>2.849 E F1
-(and)2.849 E F2<ad76>2.849 E F1 .349(options are turned of)2.849 F 2.849
-(f. If)-.25 F .349(there are no)2.849 F F0(ar)2.849 E(g)-.37 E F1 .348
-(s, the positional parameters re-)B(main unchanged.)184 636 Q .425
-(The options are of)144 652.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 664.8 R 2.678(f. The)-.25 F .178
-(options can also be speci\214ed as ar)2.678 F .178(guments to an in)
--.18 F -.2(vo)-.4 G .177(cation of the shell.).2 F(The)5.177 E .653
-(current set of options may be found in)144 676.8 R F2<24ad>3.153 E F1
-5.653(.T)C .653(he return status is al)-5.653 F -.1(wa)-.1 G .654
-(ys zero unless an in).1 F -.25(va)-.4 G .654(lid op-).25 F
-(tion is encountered.)144 688.8 Q F2(shift)108 705.6 Q F1([)2.5 E F0(n)A
-F1(])A .597(Rename positional parameters from)144 717.6 R F0(n)3.097 E
-F1 .597(+1 .)B -2.735 1.666(.. t)1.666 H(o)-1.666 E F2 .597($1 .)3.097 F
-1.666(..)1.666 G(.)-1.666 E F1 -.15(Pa)5.597 G .597
-(rameters represented by the numbers).15 F F2($#)3.096 E F1(do)144 729.6
-Q .078(wn to)-.25 F F2($#)2.578 E F1<ad>A F0(n)A F1 .078(+1 are unset.)B
-F0(n)5.438 E F1 .078(must be a non-ne)2.818 F -.05(ga)-.15 G(ti).05 E
-.378 -.15(ve n)-.25 H .078(umber less than or equal to).15 F F2($#)2.578
-E F1 5.078(.I)C(f)-5.078 E F0(n)2.938 E F1 .079(is 0, no)2.818 F
-(GNU Bash 5.2)72 768 Q(2023 January 27)141.79 E(19)190.95 E 0 Cg EP
-%%Page: 20 20
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH_B).25 E(UIL)-.1 E(TINS)-.2 E
-/F1 10/Times-Roman@0 SF 91.21(\(1\) General).58 F(Commands Manual)2.5 E
-F0 -.25(BA)93.71 G(SH_B).25 E(UIL)-.1 E(TINS)-.2 E F1(\(1\)).58 E .503
-(parameters are changed.)144 84 R(If)5.503 E F0(n)3.363 E F1 .503
-(is not gi)3.243 F -.15(ve)-.25 G .502(n, it is assumed to be 1.).15 F
-(If)5.502 E F0(n)3.362 E F1 .502(is greater than)3.242 F/F2 10
-/Times-Bold@0 SF($#)3.002 E F1 3.002(,t)C .502(he posi-)-3.002 F .46
-(tional parameters are not changed.)144 96 R .46
-(The return status is greater than zero if)5.46 F F0(n)3.32 E F1 .46
-(is greater than)3.2 F F2($#)2.96 E F1(or)2.96 E
-(less than zero; otherwise 0.)144 108 Q F2(shopt)108 124.8 Q F1([)2.5 E
-F2(\255pqsu)A F1 2.5(][)C F2<ad6f>-2.5 E F1 2.5(][)C F0(optname)-2.5 E
-F1 1.666(...)2.5 G(])-1.666 E -.8(To)144 136.8 S .64(ggle the v).8 F
-.639(alues of settings controlling optional shell beha)-.25 F(vior)-.2 E
-5.639(.T)-.55 G .639(he settings can be either those)-5.639 F .374
-(listed belo)144 148.8 R 1.674 -.65(w, o)-.25 H 1.174 -.4(r, i).65 H
-2.874(ft).4 G(he)-2.874 E F2<ad6f>2.874 E F1 .375
-(option is used, those a)2.875 F -.25(va)-.2 G .375(ilable with the).25
-F F2<ad6f>2.875 E F1 .375(option to the)2.875 F F2(set)2.875 E F1 -.2
-(bu)2.875 G .375(iltin com-).2 F(mand.)144 160.8 Q -.4(Wi)144 177.6 S
-.548(th no options, or with the).4 F F2<ad70>3.048 E F1 .548
-(option, display a list of all settable options, with an indication of)
-3.048 F .674(whether or not each is set; if an)144 189.6 R(y)-.15 E F0
-(optnames)3.175 E F1 .675
-(are supplied, the output is restricted to those options.)3.175 F(The)
-144 201.6 Q F2<ad70>2.5 E F1
-(option displays output in a form that may be reused as input.)2.5 E
-(Other options ha)144 218.4 Q .3 -.15(ve t)-.2 H(he follo).15 E
-(wing meanings:)-.25 E F2<ad73>144 230.4 Q F1(Enable \(set\) each)180
-230.4 Q F0(optname)2.5 E F1(.)A F2<ad75>144 242.4 Q F1
-(Disable \(unset\) each)180 242.4 Q F0(optname)2.5 E F1(.)A F2<ad71>144
-254.4 Q F1 .003(Suppresses normal output \(quiet mode\); the return sta\
-tus indicates whether the)180 254.4 R F0(optname)2.503 E F1(is)2.503 E
-.042(set or unset.)180 266.4 R .042(If multiple)5.042 F F0(optname)2.542
-E F1(ar)2.542 E .042(guments are supplied with)-.18 F F2<ad71>2.542 E F1
-2.542(,t)C .042(he return status is zero)-2.542 F(if all)180 278.4 Q F0
-(optnames)2.5 E F1(are enabled; non-zero otherwise.)2.5 E F2<ad6f>144
-290.4 Q F1(Restricts the v)180 290.4 Q(alues of)-.25 E F0(optname)2.5 E
-F1(to be those de\214ned for the)2.5 E F2<ad6f>2.5 E F1(option to the)
-2.5 E F2(set)2.5 E F1 -.2(bu)2.5 G(iltin.).2 E .625(If either)144 307.2
-R F2<ad73>3.125 E F1(or)3.124 E F2<ad75>3.124 E F1 .624(is used with no)
-3.124 F F0(optname)3.124 E F1(ar)3.124 E(guments,)-.18 E F2(shopt)3.124
-E F1(sho)3.124 E .624(ws only those options which are)-.25 F .983
-(set or unset, respecti)144 319.2 R -.15(ve)-.25 G(ly).15 E 5.983(.U)
--.65 G .983(nless otherwise noted, the)-5.983 F F2(shopt)3.484 E F1 .984
-(options are disabled \(unset\) by de-)3.484 F -.1(fa)144 331.2 S(ult.)
-.1 E 1.544(The return status when listing options is zero if all)144 348
-R F0(optnames)4.044 E F1 1.544(are enabled, non-zero otherwise.)4.044 F
-.696
-(When setting or unsetting options, the return status is zero unless an)
-144 360 R F0(optname)3.196 E F1 .696(is not a v)3.196 F .696(alid shell)
--.25 F(option.)144 372 Q(The list of)144 388.8 Q F2(shopt)2.5 E F1
-(options is:)2.5 E F2(array_expand_once)144 405.6 Q F1 1.832
-(If set, the shell suppresses multiple e)184 417.6 R -.25(va)-.25 G
-1.832(luation of associati).25 F 2.131 -.15(ve a)-.25 H 1.831(nd inde)
-.15 F -.15(xe)-.15 G 4.331(da).15 G 1.831(rray sub-)-4.331 F .025
-(scripts during arithmetic e)184 429.6 R .025(xpression e)-.15 F -.25
-(va)-.25 G .025(luation, while e).25 F -.15(xe)-.15 G .025(cuting b).15
-F .025(uiltins that can perform)-.2 F -.25(va)184 441.6 S
-(riable assignments, and while e).25 E -.15(xe)-.15 G(cuting b).15 E
-(uiltins that perform array dereferencing.)-.2 E F2(assoc_expand_once)
-144 453.6 Q F1(Deprecated; a synon)184 465.6 Q(ym for)-.15 E F2
-(array_expand_once)2.5 E F1(.)A F2(autocd)144 477.6 Q F1 .2
-(If set, a command name that is the name of a directory is e)184 477.6 R
--.15(xe)-.15 G .199(cuted as if it were the ar).15 F(gu-)-.18 E
-(ment to the)184 489.6 Q F2(cd)2.5 E F1 2.5(command. This)2.5 F
-(option is only used by interacti)2.5 E .3 -.15(ve s)-.25 H(hells.).15 E
-F2(bash_sour)144 501.6 Q(ce_fullpath)-.18 E F1 .124
-(If set, \214lenames added to the)184 513.6 R F2 -.3(BA)2.624 G
-(SH_SOURCE).3 E F1 .124(array v)2.624 F .124(ariable are con)-.25 F -.15
-(ve)-.4 G .124(rted to full path-).15 F(names \(see)184 525.6 Q F2
-(Shell V)2.5 E(ariables)-.92 E F1(abo)2.5 E -.15(ve)-.15 G(\).).15 E F2
-(cdable_v)144 537.6 Q(ars)-.1 E F1 .156(If set, an ar)184 549.6 R .156
-(gument to the)-.18 F F2(cd)2.656 E F1 -.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 561.6 Q(ariable whose v)-.25 E
-(alue is the directory to change to.)-.25 E F2(cdspell)144 573.6 Q F1
-1.292(If set, the)184 573.6 R F2(cd)3.792 E F1 1.293(command attempts t\
-o correct minor errors in the spelling of a directory)3.792 F 3.982
-(component. Minor)184 585.6 R 1.482
-(errors include transposed characters, a missing character)3.982 F 3.982
-(,a)-.4 G 1.482(nd one)-3.982 F -.15(ex)184 597.6 S .972(tra character)
-.15 F 5.972(.I)-.55 G(f)-5.972 E F2(cd)3.472 E F1 .972
-(corrects the directory name, it prints the corrected \214lename, and)
-3.472 F(the command proceeds.)184 609.6 Q
-(This option is only used by interacti)5 E .3 -.15(ve s)-.25 H(hells.)
-.15 E F2(checkhash)144 621.6 Q F1 .737(If set,)184 633.6 R F2(bash)3.237
-E F1 .736(checks that a command found in the hash table e)3.237 F .736
-(xists before trying to e)-.15 F -.15(xe)-.15 G(-).15 E(cute it.)184
-645.6 Q(If a hashed command no longer e)5 E(xists,)-.15 E F2(bash)2.5 E
-F1(performs a normal path search.)2.5 E F2(checkjobs)144 657.6 Q F1 .448
-(If set,)184 669.6 R F2(bash)2.948 E F1 .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 2.784(shell. If)184 681.6
-R(an)2.784 E 2.784(yj)-.15 G .284(obs are running,)-2.784 F F2(bash)
-2.784 E F1 .284(defers the e)2.784 F .284(xit until a second e)-.15 F
-.283(xit is attempted with-)-.15 F .994(out an interv)184 693.6 R .994
-(ening command \(see)-.15 F/F3 9/Times-Bold@0 SF .994(JOB CONTR)3.494 F
-(OL)-.27 E F1(in)3.244 E F0(bash)3.494 E F1 3.494(\(1\)\). The)B .995
-(shell al)3.495 F -.1(wa)-.1 G .995(ys post-).1 F(pones e)184 705.6 Q
-(xiting if an)-.15 E 2.5(yj)-.15 G(obs are stopped.)-2.5 E(GNU Bash 5.2)
-72 768 Q(2023 January 27)141.79 E(20)190.95 E 0 Cg EP
-%%Page: 21 21
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH_B).25 E(UIL)-.1 E(TINS)-.2 E
-/F1 10/Times-Roman@0 SF 91.21(\(1\) General).58 F(Commands Manual)2.5 E
-F0 -.25(BA)93.71 G(SH_B).25 E(UIL)-.1 E(TINS)-.2 E F1(\(1\)).58 E/F2 10
-/Times-Bold@0 SF(checkwinsize)144 84 Q F1 1.09(If set,)184 96 R F2(bash)
-3.59 E F1 1.09(checks the windo)3.59 F 3.59(ws)-.25 G 1.09
-(ize after each e)-3.59 F 1.09(xternal \(non-b)-.15 F 1.09
-(uiltin\) command and, if)-.2 F(necessary)184 108 Q 2.937(,u)-.65 G .437
-(pdates the v)-2.937 F .437(alues of)-.25 F/F3 9/Times-Bold@0 SF(LINES)
-2.938 E F1(and)2.688 E F3(COLUMNS)2.938 E/F4 9/Times-Roman@0 SF(,)A F1
-.438(using the \214le descriptor associ-)2.688 F
-(ated with the standard error if it is a terminal.)184 120 Q
-(This option is enabled by def)5 E(ault.)-.1 E F2(cmdhist)144 132 Q F1
-.173(If set,)184 132 R F2(bash)2.673 E F1 .173(attempts to sa)2.673 F
-.473 -.15(ve a)-.2 H .172
-(ll lines of a multiple-line command in the same history en-).15 F(try)
-184 144 Q 5.596(.T)-.65 G .597(his allo)-5.596 F .597
-(ws easy re-editing of multi-line commands.)-.25 F .597
-(This option is enabled by de-)5.597 F -.1(fa)184 156 S .052(ult, b).1 F
-.052(ut only has an ef)-.2 F .052
-(fect if command history is enabled, as described in)-.25 F F0(bash)
-2.552 E F1 .052(\(1\) under)B F3(HIST)184 168 Q(OR)-.162 E(Y)-.315 E F4
-(.)A F2(compat31)144 180 Q(compat32)144 192 Q(compat40)144 204 Q
-(compat41)144 216 Q(compat42)144 228 Q(compat43)144 240 Q(compat44)144
-252 Q(compat50)144 264 Q F1 .889(These control aspects of the shell')184
-276 R 3.389(sc)-.55 G .889(ompatibility mode \(see)-3.389 F F3 .889
-(SHELL COMP)3.389 F -.855(AT)-.666 G(IBILITY).855 E(MODE)184 288 Q F1
-(in)2.25 E F0(bash)2.5 E F1(\(1\)\).)A F2(complete_fullquote)144 300 Q
-F1 .654(If set,)184 312 R F2(bash)3.153 E F1 .653(quotes all shell meta\
-characters in \214lenames and directory names when per)3.153 F(-)-.2 E
-1.524(forming completion.)184 324 R 1.524(If not set,)6.524 F F2(bash)
-4.024 E F1(remo)4.024 E -.15(ve)-.15 G 4.024(sm).15 G 1.524
-(etacharacters such as the dollar sign)-4.024 F 2.667(from the set of c\
-haracters that will be quoted in completed \214lenames when these)184
-336 R .028(metacharacters appear in shell v)184 348 R .028
-(ariable references in w)-.25 F .029(ords to be completed.)-.1 F .029
-(This means)5.029 F 1.073(that dollar signs in v)184 360 R 1.073
-(ariable names that e)-.25 F 1.073
-(xpand to directories will not be quoted; ho)-.15 F(w-)-.25 E -2.15 -.25
-(ev e)184 372 T 1.922 -.4(r, a).25 H 1.422 -.15(ny d).4 H 1.123
-(ollar signs appearing in \214lenames will not be quoted, either).15 F
-6.123(.T)-.55 G 1.123(his is acti)-6.123 F -.15(ve)-.25 G .59
-(only when bash is using backslashes to quote completed \214lenames.)184
-384 R .59(This v)5.59 F .59(ariable is set)-.25 F(by def)184 396 Q
-(ault, which is the def)-.1 E(ault bash beha)-.1 E(vior in v)-.2 E
-(ersions through 4.2.)-.15 E F2(dir)144 408 Q(expand)-.18 E F1 .486
-(If set,)184 420 R F2(bash)2.986 E F1 .486
-(replaces directory names with the results of w)2.986 F .486(ord e)-.1 F
-.487(xpansion when perform-)-.15 F 1.25(ing \214lename completion.)184
-432 R 1.25(This changes the contents of the)6.25 F F2 -.18(re)3.75 G
-(adline).18 E F1 1.25(editing b)3.75 F(uf)-.2 E(fer)-.25 E 6.25(.I)-.55
-G(f)-6.25 E(not set,)184 444 Q F2(bash)2.5 E F1(attempts to preserv)2.5
-E 2.5(ew)-.15 G(hat the user typed.)-2.5 E F2(dirspell)144 456 Q F1 .858
-(If set,)184 456 R F2(bash)3.358 E F1 .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 468 Q(xist.)-.15 E
-F2(dotglob)144 480 Q F1 1.021(If set,)184 480 R F2(bash)3.521 E F1 1.021
-(includes \214lenames be)3.521 F 1.021
-(ginning with a in the results of pathname e)-.15 F(xpansion.)-.15 E
-(The \214lenames)184 492 Q F0(.)4.166 E F1(and)4.166 E F0(..)4.166 E F1
-(must al)4.166 E -.1(wa)-.1 G(ys be matched e).1 E(xplicitly)-.15 E 2.5
-(,e)-.65 G -.15(ve)-2.75 G 2.5(ni).15 G(f)-2.5 E F2(dotglob)2.5 E F1
-(is set.)2.5 E F2(execfail)144 504 Q F1 .516(If set, a non-interacti)184
-504 R .816 -.15(ve s)-.25 H .516(hell will not e).15 F .516
-(xit if it cannot e)-.15 F -.15(xe)-.15 G .517
-(cute the \214le speci\214ed as an ar).15 F(-)-.2 E(gument to the)184
-516 Q F2(exec)2.5 E F1 -.2(bu)2.5 G 2.5(iltin. An).2 F(interacti)2.5 E
-.3 -.15(ve s)-.25 H(hell does not e).15 E(xit if)-.15 E F2(exec)2.5 E F1
--.1(fa)2.5 G(ils.).1 E F2(expand_aliases)144 528 Q F1 .743
-(If set, aliases are e)184 540 R .743(xpanded as described in)-.15 F F0
-(bash)3.243 E F1 .743(\(1\) under)B F3(ALIASES)3.243 E F4(.)A F1 .742
-(This option is en-)5.243 F(abled by def)184 552 Q(ault for interacti)
--.1 E .3 -.15(ve s)-.25 H(hells.).15 E F2(extdeb)144 564 Q(ug)-.2 E F1
-.17(If set at shell in)184 576 R -.2(vo)-.4 G .17
-(cation, or in a shell startup \214le, arrange to e).2 F -.15(xe)-.15 G
-.17(cute the deb).15 F .17(ugger pro\214le)-.2 F 1.082
-(before the shell starts, identical to the)184 588 R F2<adad646562>3.582
-E(ugger)-.2 E F1 3.581(option. If)3.581 F 1.081(set after in)3.581 F -.2
-(vo)-.4 G 1.081(cation, be-).2 F(ha)184 600 Q
-(vior intended for use by deb)-.2 E(uggers is enabled:)-.2 E F2(1.)184
-612 Q F1(The)220 612 Q F2<ad46>4.25 E F1 1.75(option to the)4.25 F F2
-(declar)4.251 E(e)-.18 E F1 -.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 624 Q
-(gument.)-.18 E F2(2.)184 636 Q F1 1.667(If the command run by the)220
-636 R F2(DEB)4.167 E(UG)-.1 E F1 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 648
-Q -.15(xe)-.15 G(cuted.).15 E F2(3.)184 660 Q F1 .84
-(If the command run by the)220 660 R F2(DEB)3.34 E(UG)-.1 E F1 .841
-(trap returns a v)3.341 F .841(alue of 2, and the shell is)-.25 F -.15
-(exe)220 672 S .488
-(cuting in a subroutine \(a shell function or a shell script e).15 F
--.15(xe)-.15 G .488(cuted by the).15 F F2(.)2.988 E F1(or)2.988 E F2
-(sour)220 684 Q(ce)-.18 E F1 -.2(bu)2.5 G
-(iltins\), the shell simulates a call to).2 E F2 -.18(re)2.5 G(tur).18 E
-(n)-.15 E F1(.)A F2(4.)184 696 Q F3 -.27(BA)220 696 S(SH_ARGC).27 E F1
-(and)3.153 E F3 -.27(BA)3.403 G(SH_ARGV).27 E F1 .904
-(are updated as described in their descriptions)3.154 F(in)220 708 Q F0
-(bash)2.5 E F1(\(1\)\).)A(GNU Bash 5.2)72 768 Q(2023 January 27)141.79 E
-(21)190.95 E 0 Cg EP
-%%Page: 22 22
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH_B).25 E(UIL)-.1 E(TINS)-.2 E
-/F1 10/Times-Roman@0 SF 91.21(\(1\) General).58 F(Commands Manual)2.5 E
-F0 -.25(BA)93.71 G(SH_B).25 E(UIL)-.1 E(TINS)-.2 E F1(\(1\)).58 E/F2 10
-/Times-Bold@0 SF(5.)184 84 Q F1 1.637(Function tracing is enabled: comm\
-and substitution, shell functions, and sub-)220 84 R(shells in)220 96 Q
--.2(vo)-.4 G -.1(ke).2 G 2.5(dw).1 G(ith)-2.5 E F2(\()2.5 E F0(command)
-2.5 E F2(\))2.5 E F1(inherit the)2.5 E F2(DEB)2.5 E(UG)-.1 E F1(and)2.5
-E F2(RETURN)2.5 E F1(traps.)2.5 E F2(6.)184 108 Q F1 1.082(Error tracin\
-g is enabled: command substitution, shell functions, and subshells)220
-108 R(in)220 120 Q -.2(vo)-.4 G -.1(ke).2 G 2.5(dw).1 G(ith)-2.5 E F2
-(\()2.5 E F0(command)2.5 E F2(\))2.5 E F1(inherit the)2.5 E F2(ERR)2.5 E
-F1(trap.)2.5 E F2(extglob)144 132 Q F1 1.015(If set, enable the e)184
-132 R 1.014(xtended pattern matching features described in)-.15 F F0
-(bash)3.514 E F1 1.014(\(1\) under)B F2 -.1(Pa)3.514 G(th-).1 E
-(name Expansion)184 144 Q F1(.)A F2(extquote)144 156 Q F1 1.929(If set,)
-184 168 R F2($)4.429 E F0(string)A F1(and)4.429 E F2($)4.429 E F0
-(string)A F1 1.929(quoting is performed within)4.429 F F2(${)4.429 E F0
-(par)A(ameter)-.15 E F2(})A F1 -.15(ex)4.429 G 1.93(pansions en-).15 F
-(closed in double quotes.)184 180 Q(This option is enabled by def)5 E
-(ault.)-.1 E F2(failglob)144 192 Q F1 .243(If set, patterns which f)184
-192 R .243(ail to match \214lenames during pathname e)-.1 F .243
-(xpansion result in an e)-.15 F(x-)-.15 E(pansion error)184 204 Q(.)-.55
-E F2 -.25(fo)144 216 S -.18(rc).25 G(e_\214gnor).18 E(e)-.18 E F1 .936
-(If set, the suf)184 228 R<8c78>-.25 E .936(es speci\214ed by the)-.15 F
-/F3 9/Times-Bold@0 SF(FIGNORE)3.436 E F1 .936(shell v)3.186 F .936
-(ariable cause w)-.25 F .937(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.085(pletions. See)184 252 R F2
-.586(Shell V)3.086 F(ariables)-.92 E F1(in)3.086 E F0(bash)3.086 E F1
-.586(\(1\) for a description of)B F3(FIGNORE)3.086 E/F4 9/Times-Roman@0
-SF(.)A F1 .586(This option is)5.086 F(enabled by def)184 264 Q(ault.)-.1
-E F2(globasciiranges)144 276 Q F1 2.519(If set, range e)184 288 R 2.519
-(xpressions used in pattern matching brack)-.15 F 2.518(et e)-.1 F 2.518
-(xpressions \(see)-.15 F F3 -.09(Pa)5.018 G(tter).09 E(n)-.135 E
-(Matching)184 300 Q F1(in)3.115 E F0(bash)3.365 E F1 .865(\(1\)\) beha)B
-1.165 -.15(ve a)-.2 H 3.365(si).15 G 3.365(fi)-3.365 G 3.365(nt)-3.365 G
-.866(he traditional C locale when performing compar)-3.365 F(-)-.2 E
-3.962(isons. That)184 312 R 1.462(is, pattern matching does not tak)
-3.962 F 3.962(et)-.1 G 1.461(he current locale')-3.962 F 3.961(sc)-.55 G
-1.461(ollating sequence)-3.961 F 1.67(into account, so)184 324 R F2(b)
-4.17 E F1 1.671(will not collate between)4.17 F F2(A)4.171 E F1(and)
-4.171 E F2(B)4.171 E F1 4.171(,a)C 1.671(nd upper)-4.171 F 1.671
-(-case and lo)-.2 F(wer)-.25 E(-case)-.2 E
-(ASCII characters will collate together)184 336 Q(.)-.55 E F2
-(globskipdots)144 348 Q F1 .894(If set, pathname e)184 360 R .894
-(xpansion will ne)-.15 F -.15(ve)-.25 G 3.394(rm).15 G .894
-(atch the \214lenames)-3.394 F F0(.)5.06 E F1(and)5.06 E F0(..)5.06 E F1
--2.15 -.25(ev e)5.059 H 3.393(ni).25 G 3.393(ft)-3.393 G .893
-(he pattern)-3.393 F(be)184 372 Q
-(gins with a This option is enabled by def)-.15 E(ault.)-.1 E F2
-(globstar)144 384 Q F1 .518(If set, the pattern)184 384 R F2(**)3.018 E
-F1 .519(used in a pathname e)3.019 F .519(xpansion conte)-.15 F .519
-(xt will match all \214les and zero)-.15 F .432
-(or more directories and subdirectories.)184 396 R .431
-(If the pattern is follo)5.432 F .431(wed by a)-.25 F F2(/)2.931 E F1
-2.931(,o)C .431(nly directories)-2.931 F(and subdirectories match.)184
-408 Q F2(gnu_errfmt)144 420 Q F1(If set, shell error messages are writt\
-en in the standard GNU error message format.)184 432 Q F2(histappend)144
-444 Q F1 .676
-(If set, the history list is appended to the \214le named by the v)184
-456 R .676(alue of the)-.25 F F3(HISTFILE)3.177 E F1 -.25(va)2.927 G
-(ri-).25 E(able when the shell e)184 468 Q(xits, rather than o)-.15 E
--.15(ve)-.15 G(rwriting the \214le.).15 E F2(histr)144 480 Q(eedit)-.18
-E F1 .118(If set, and)184 492 R F2 -.18(re)2.618 G(adline).18 E F1 .118
-(is being used, the user is gi)2.618 F -.15(ve)-.25 G 2.618(nt).15 G
-.117(he opportunity to re-edit a f)-2.618 F .117(ailed his-)-.1 F
-(tory substitution.)184 504 Q F2(histv)144 516 Q(erify)-.1 E F1 .402
-(If set, and)184 528 R F2 -.18(re)2.903 G(adline).18 E F1 .403
-(is being used, the results of history substitution are not immediately)
-2.903 F .662(passed to the shell parser)184 540 R 5.662(.I)-.55 G .661
-(nstead, the resulting line is loaded into the)-5.662 F F2 -.18(re)3.161
-G(adline).18 E F1(editing)3.161 E -.2(bu)184 552 S -.25(ff).2 G(er).25 E
-2.5(,a)-.4 G(llo)-2.5 E(wing further modi\214cation.)-.25 E F2
-(hostcomplete)144 564 Q F1 1.181(If set, and)184 576 R F2 -.18(re)3.681
-G(adline).18 E F1 1.181(is being used,)3.681 F F2(bash)3.682 E F1 1.182
-(will attempt to perform hostname completion)3.682 F .503(when a w)184
-588 R .503(ord containing a)-.1 F F2(@)3.003 E F1 .503
-(is being completed \(see)3.003 F F2(Completing)3.003 E F1(under)3.003 E
-F3(READLINE)3.003 E F1(in)2.752 E F0(bash)184 600 Q F1 2.5
-(\(1\)\). This)B(is enabled by def)2.5 E(ault.)-.1 E F2(huponexit)144
-612 Q F1(If set,)184 624 Q F2(bash)2.5 E F1(will send)2.5 E F3(SIGHUP)
-2.5 E F1(to all jobs when an interacti)2.25 E .3 -.15(ve l)-.25 H
-(ogin shell e).15 E(xits.)-.15 E F2(inherit_err)144 636 Q(exit)-.18 E F1
-.219(If set, command substitution inherits the v)184 648 R .219
-(alue of the)-.25 F F2(err)2.719 E(exit)-.18 E F1 .22
-(option, instead of unsetting)2.719 F(it in the subshell en)184 660 Q
-2.5(vironment. This)-.4 F(option is enabled when posix mode is enabled.)
-2.5 E F2(interacti)144 672 Q -.1(ve)-.1 G(_comments).1 E F1 .209
-(In an interacti)184 684 R .509 -.15(ve s)-.25 H .209(hell, a w).15 F
-.209(ord be)-.1 F .209(ginning with)-.15 F F2(#)2.709 E F1 .209
-(causes that w)2.709 F .208(ord and all remaining char)-.1 F(-)-.2 E
-2.157(acters on that line to be ignored, as in a non-interacti)184 696 R
-2.457 -.15(ve s)-.25 H 2.157(hell \(see).15 F F3(COMMENTS)4.658 E F1(in)
-4.408 E F0(bash)184 708 Q F1 2.5(\(1\)\). This)B
-(option is enabled by def)2.5 E(ault.)-.1 E(GNU Bash 5.2)72 768 Q
-(2023 January 27)141.79 E(22)190.95 E 0 Cg EP
-%%Page: 23 23
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH_B).25 E(UIL)-.1 E(TINS)-.2 E
-/F1 10/Times-Roman@0 SF 91.21(\(1\) General).58 F(Commands Manual)2.5 E
-F0 -.25(BA)93.71 G(SH_B).25 E(UIL)-.1 E(TINS)-.2 E F1(\(1\)).58 E/F2 10
-/Times-Bold@0 SF(lastpipe)144 84 Q F1 .066
-(If set, and job control is not acti)184 84 R -.15(ve)-.25 G 2.566(,t)
-.15 G .066(he shell runs the last command of a pipeline not e)-2.566 F
--.15(xe)-.15 G(-).15 E(cuted in the background in the current shell en)
-184 96 Q(vironment.)-.4 E F2(lithist)144 108 Q F1 .654(If set, and the)
-184 108 R F2(cmdhist)3.154 E F1 .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 120 Q
-(wlines rather than using semicolon separators where possible.)-.25 E F2
-(localv)144 132 Q(ar_inherit)-.1 E F1 .422(If set, local v)184 144 R
-.422(ariables inherit the v)-.25 F .422(alue and attrib)-.25 F .422
-(utes of a v)-.2 F .422(ariable of the same name that)-.25 F -.15(ex)184
-156 S .173(ists at a pre).15 F .173(vious scope before an)-.25 F 2.673
-(yn)-.15 G .673 -.25(ew va)-2.673 H .173(lue is assigned.).25 F .174
-(The nameref attrib)5.174 F .174(ute is not)-.2 F(inherited.)184 168 Q
-F2(localv)144 180 Q(ar_unset)-.1 E F1 .329(If set, calling)184 192 R F2
-(unset)2.829 E F1 .329(on local v)2.829 F .329(ariables in pre)-.25 F
-.328(vious function scopes marks them so subse-)-.25 F .364
-(quent lookups \214nd them unset until that function returns.)184 204 R
-.365(This is identical to the beha)5.364 F(v-)-.2 E
-(ior of unsetting local v)184 216 Q
-(ariables at the current function scope.)-.25 E F2(login_shell)144 228 Q
-F1 .693
-(The shell sets this option if it is started as a login shell \(see)184
-240 R/F3 9/Times-Bold@0 SF(INV)3.192 E(OCA)-.405 E(TION)-.855 E F1(in)
-2.942 E F0(bash)3.192 E F1(\(1\)\).)A(The v)184 252 Q
-(alue may not be changed.)-.25 E F2(mailwar)144 264 Q(n)-.15 E F1 .814
-(If set, and a \214le that)184 276 R F2(bash)3.314 E F1 .815
-(is checking for mail has been accessed since the last time it)3.314 F
--.1(wa)184 288 S 2.5(sc).1 G(heck)-2.5 E(ed,)-.1 E F2(bash)2.5 E F1
-(displays the message)2.5 E F2(no_empty_cmd_completion)144 300 Q F1 .61
-(If set, and)184 312 R F2 -.18(re)3.11 G(adline).18 E F1 .609
-(is being used,)3.109 F F2(bash)3.109 E F1 .609(does not search)3.109 F
-F3 -.666(PA)3.109 G(TH)-.189 E F1 .609(for possible completions)2.859 F
-(when completion is attempted on an empty line.)184 324 Q F2(nocaseglob)
-144 336 Q F1 .436(If set,)184 348 R F2(bash)2.936 E F1 .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 360 S
-(pansion \(see).15 E F2 -.1(Pa)2.5 G(thname Expansion).1 E F1(in)2.5 E
-F0(bash)2.5 E F1(\(1\)\).)A F2(nocasematch)144 372 Q F1 1.194(If set,)
-184 384 R F2(bash)3.694 E F1 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 .551(while e)184 396 R -.15
-(xe)-.15 G(cuting).15 E F2(case)3.051 E F1(or)3.051 E F2([[)3.051 E F1
-.551(conditional commands, when performing pattern substitution)3.051 F
--.1(wo)184 408 S .623(rd e).1 F .623(xpansions, or when \214ltering pos\
-sible completions as part of programmable com-)-.15 F(pletion.)184 420 Q
-F2(noexpand_translation)144 432 Q F1 1.462(If set,)184 444 R F2(bash)
-3.962 E F1 1.462(encloses the translated results of)3.962 F F2($)3.962 E
-F1 -1.87 1.666(... q)D 1.462(uoting in single quotes instead of)-1.666 F
-(double quotes.)184 456 Q
-(If the string is not translated, this has no ef)5 E(fect.)-.25 E F2
-(nullglob)144 468 Q F1 .593(If set, pathname e)184 480 R .593
-(xpansion patterns which match no \214les \(see)-.15 F F2 -.1(Pa)3.092 G
-.592(thname Expansion).1 F F1(in)3.092 E F0(bash)184 492 Q F1(\(1\)\) e)
-A(xpand to nothing and are remo)-.15 E -.15(ve)-.15 G(d, rather than e)
-.15 E(xpanding to themselv)-.15 E(es.)-.15 E F2(patsub_r)144 504 Q
-(eplacement)-.18 E F1 .105(If set,)184 516 R F2(bash)2.605 E F1 -.15(ex)
-2.605 G .105(pands occurrences of).15 F F2(&)2.606 E F1 .106
-(in the replacement string of pattern substitution to)2.606 F .989
-(the te)184 528 R .988(xt matched by the pattern, as described under)
--.15 F F2 -.1(Pa)3.488 G .988(rameter Expansion).1 F F1(in)3.488 E F0
-(bash)3.488 E F1(\(1\).)A(This option is enabled by def)184 540 Q(ault.)
--.1 E F2(pr)144 552 Q(ogcomp)-.18 E F1 .766
-(If set, enable the programmable completion f)184 564 R .767
-(acilities \(see)-.1 F F2(Pr)3.267 E .767(ogrammable Completion)-.18 F
-F1(in)184 576 Q F0(bash)2.5 E F1 2.5(\(1\)\). This)B
-(option is enabled by def)2.5 E(ault.)-.1 E F2(pr)144 588 Q
-(ogcomp_alias)-.18 E F1 2.124
-(If set, and programmable completion is enabled,)184 600 R F2(bash)4.624
-E F1 2.124(treats a command name that)4.624 F(doesn')184 612 Q 3.11(th)
--.18 G -2.25 -.2(av e)-3.11 H(an)3.31 E 3.11(yc)-.15 G .61
-(ompletions as a possible alias and attempts alias e)-3.11 F 3.11
-(xpansion. If)-.15 F .61(it has)3.11 F 1.473(an alias,)184 624 R F2
-(bash)3.973 E F1 1.473
-(attempts programmable completion using the command w)3.973 F 1.473
-(ord resulting)-.1 F(from the e)184 636 Q(xpanded alias.)-.15 E F2(pr)
-144 648 Q(omptv)-.18 E(ars)-.1 E F1 1.447(If set, prompt strings under)
-184 660 R 1.448(go parameter e)-.18 F 1.448
-(xpansion, command substitution, arithmetic)-.15 F -.15(ex)184 672 S
-1.834(pansion, and quote remo).15 F -.25(va)-.15 G 4.334(la).25 G 1.834
-(fter being e)-4.334 F 1.834(xpanded as described in)-.15 F F3(PR)4.333
-E(OMPTING)-.27 E F1(in)4.083 E F0(bash)184 684 Q F1 2.5(\(1\). This)B
-(option is enabled by def)2.5 E(ault.)-.1 E F2 -.18(re)144 696 S
-(stricted_shell).18 E F1 .329
-(The shell sets this option if it is started in restricted mode \(see)
-184 708 R F3 .329(RESTRICTED SHELL)2.829 F F1(in)2.58 E F0(bash)184 720
-Q F1 3.754(\(1\)\). The)B -.25(va)3.754 G 1.254(lue may not be changed.)
-.25 F 1.254(This is not reset when the startup \214les are)6.254 F
-(GNU Bash 5.2)72 768 Q(2023 January 27)141.79 E(23)190.95 E 0 Cg EP
-%%Page: 24 24
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH_B).25 E(UIL)-.1 E(TINS)-.2 E
-/F1 10/Times-Roman@0 SF 91.21(\(1\) General).58 F(Commands Manual)2.5 E
-F0 -.25(BA)93.71 G(SH_B).25 E(UIL)-.1 E(TINS)-.2 E F1(\(1\)).58 E -.15
-(exe)184 84 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
-/F2 10/Times-Bold@0 SF(shift_v)144 96 Q(erbose)-.1 E F1 .501
-(If set, the)184 108 R F2(shift)3.001 E F1 -.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 120 Q F2(sour)
-144 132 Q(cepath)-.18 E F1 .771(If set, the)184 144 R F2(.)3.271 E F1
-(\()3.271 E F2(sour)A(ce)-.18 E F1 3.271(\)b)C .771(uiltin uses the v)
--3.471 F .771(alue of)-.25 F/F3 9/Times-Bold@0 SF -.666(PA)3.27 G(TH)
--.189 E F1 .77(to \214nd the directory containing the)3.02 F .421
-(\214le supplied as an ar)184 156 R .421(gument when the)-.18 F F2<ad70>
-2.921 E F1 .421(option is not supplied.)2.921 F .422
-(This option is enabled)5.422 F(by def)184 168 Q(ault.)-.1 E F2 -.1(va)
-144 180 S(rr).1 E(edir_close)-.18 E F1 .74(If set, the shell automatica\
-lly closes \214le descriptors assigned using the)184 192 R F0({varname})
-3.24 E F1(redi-)3.24 E .907(rection syntax \(see)184 204 R F3
-(REDIRECTION)3.407 E F1(in)3.157 E F0(bash)3.407 E F1 .907
-(\(1\)\) instead of lea)B .908(ving them open when the)-.2 F
-(command completes.)184 216 Q F2(xpg_echo)144 228 Q F1 .074(If set, the)
-184 240 R F2(echo)2.574 E F1 -.2(bu)2.574 G .074(iltin e).2 F .074
-(xpands backslash-escape sequences by def)-.15 F 2.574(ault. If)-.1 F
-(the)2.574 E F2(posix)2.573 E F1(shell)2.573 E(option is also enabled,)
-184 252 Q F2(echo)2.5 E F1(does not interpret an)2.5 E 2.5(yo)-.15 G
-(ptions.)-2.5 E F2(suspend)108 268.8 Q F1([)2.5 E F2<ad66>A F1(])A .909
-(Suspend the e)144 280.8 R -.15(xe)-.15 G .909
-(cution of this shell until it recei).15 F -.15(ve)-.25 G 3.41(sa).15 G
-F3(SIGCONT)A F1 3.41(signal. A)3.16 F .91(login shell, or a shell)3.41 F
-1.044(without job control enabled, cannot be suspended; the)144 292.8 R
-F2<ad66>3.543 E F1 1.043(option will o)3.543 F -.15(ve)-.15 G 1.043
-(rride this and force the).15 F 2.743(suspension. The)144 304.8 R .244(\
-return status is 0 unless the shell is a login shell or job control is \
-not enabled and)2.743 F F2<ad66>144 316.8 Q F1(is not supplied.)2.5 E F2
-(test)108 333.6 Q F0 -.2(ex)2.5 G(pr).2 E F2([)108 345.6 Q F0 -.2(ex)2.5
-G(pr).2 E F2(])2.5 E F1 .878(Return a status of 0 \(true\) or 1 \(f)144
-345.6 R .877(alse\) depending on the e)-.1 F -.25(va)-.25 G .877
-(luation of the conditional e).25 F(xpression)-.15 E F0 -.2(ex)144 357.6
-S(pr).2 E F1 5.53(.E).73 G .53
-(ach operator and operand must be a separate ar)-5.53 F 3.03
-(gument. Expressions)-.18 F .53(are composed of the)3.03 F 1.232
-(primaries described in)144 369.6 R F0(bash)3.732 E F1 1.231
-(\(1\) under)B F3(CONDITION)3.731 E 1.231(AL EXPRESSIONS)-.18 F/F4 9
-/Times-Roman@0 SF(.)A F2(test)5.731 E F1 1.231(does not accept an)3.731
-F(y)-.15 E(options, nor does it accept and ignore an ar)144 381.6 Q
-(gument of)-.18 E F2<adad>2.5 E F1(as signifying the end of options.)2.5
-E .785(Expressions may be combined using the follo)144 398.4 R .786
-(wing operators, listed in decreasing order of prece-)-.25 F 2.93
-(dence. The)144 410.4 R -.25(eva)2.93 G .43
-(luation depends on the number of ar).25 F .43(guments; see belo)-.18 F
--.65(w.)-.25 G F2(test)6.08 E F1 .43(uses operator prece-)2.93 F
-(dence when there are \214v)144 422.4 Q 2.5(eo)-.15 G 2.5(rm)-2.5 G
-(ore ar)-2.5 E(guments.)-.18 E F2(!)144 434.4 Q F0 -.2(ex)2.5 G(pr).2 E
-F1 -.35(Tr)180 434.4 S(ue if).35 E F0 -.2(ex)2.5 G(pr).2 E F1(is f)3.23
-E(alse.)-.1 E F2(\()144 446.4 Q F0 -.2(ex)2.5 G(pr).2 E F2(\))2.5 E F1
-(Returns the v)180 446.4 Q(alue of)-.25 E F0 -.2(ex)2.5 G(pr).2 E F1 5
-(.T)C(his may be used to o)-5 E -.15(ve)-.15 G
-(rride normal operator precedence.).15 E F0 -.2(ex)144 458.4 S(pr1).2 E
-F1<ad>2.5 E F2(a)A F0 -.2(ex)2.5 G(pr2).2 E F1 -.35(Tr)180 470.4 S
-(ue if both).35 E F0 -.2(ex)2.5 G(pr1).2 E F1(and)2.5 E F0 -.2(ex)2.5 G
-(pr2).2 E F1(are true.)2.52 E F0 -.2(ex)144 482.4 S(pr1).2 E F1<ad>2.5 E
-F2(o)A F0 -.2(ex)2.5 G(pr2).2 E F1 -.35(Tr)180 494.4 S(ue if either).35
-E F0 -.2(ex)2.5 G(pr1).2 E F1(or)2.5 E F0 -.2(ex)2.5 G(pr2).2 E F1
-(is true.)2.52 E F2(test)144 511.2 Q F1(and)2.5 E F2([)2.5 E F1 -.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 528 S -.18(rg)-2.5 G(uments).18 E(The e)180
-540 Q(xpression is f)-.15 E(alse.)-.1 E 2.5(1a)144 552 S -.18(rg)-2.5 G
-(ument).18 E(The e)180 564 Q(xpression is true if and only if the ar)
--.15 E(gument is not null.)-.18 E 2.5(2a)144 576 S -.18(rg)-2.5 G
-(uments).18 E .37(If the \214rst ar)180 588 R .37(gument is)-.18 F F2(!)
-2.87 E F1 2.87(,t)C .37(he e)-2.87 F .37
-(xpression is true if and only if the second ar)-.15 F .37
-(gument is null.)-.18 F 1.683(If the \214rst ar)180 600 R 1.683
-(gument is one of the unary conditional operators listed in)-.18 F F0
-(bash)4.182 E F1 1.682(\(1\) under)B F3(CONDITION)180 612 Q .121
-(AL EXPRESSIONS)-.18 F F4(,)A F1 .121(the e)2.371 F .122
-(xpression is true if the unary test is true.)-.15 F .122
-(If the \214rst)5.122 F(ar)180 624 Q(gument is not a v)-.18 E
-(alid unary conditional operator)-.25 E 2.5(,t)-.4 G(he e)-2.5 E
-(xpression is f)-.15 E(alse.)-.1 E 2.5(3a)144 636 S -.18(rg)-2.5 G
-(uments).18 E .236(The follo)180 648 R .236
-(wing conditions are applied in the order listed.)-.25 F .236
-(If the second ar)5.236 F .236(gument is one of)-.18 F .546
-(the binary conditional operators listed in)180 660 R F0(bash)3.046 E F1
-.546(\(1\) under)B F3(CONDITION)3.046 E .546(AL EXPRESSIONS)-.18 F F4(,)
-A F1 .888(the result of the e)180 672 R .888(xpression is the result of\
- the binary test using the \214rst and third ar)-.15 F(gu-)-.18 E .433
-(ments as operands.)180 684 R(The)5.434 E F2<ad61>2.934 E F1(and)2.934 E
-F2<ad6f>2.934 E F1 .434
-(operators are considered binary operators when there)2.934 F .646
-(are three ar)180 696 R 3.146(guments. If)-.18 F .646(the \214rst ar)
-3.146 F .646(gument is)-.18 F F2(!)3.146 E F1 3.146(,t)C .646(he v)
--3.146 F .645(alue is the ne)-.25 F -.05(ga)-.15 G .645(tion of the tw)
-.05 F(o-ar)-.1 E(gu-)-.18 E .451
-(ment test using the second and third ar)180 708 R 2.951(guments. If)
--.18 F .451(the \214rst ar)2.951 F .451(gument is e)-.18 F(xactly)-.15 E
-F2(\()2.952 E F1 .452(and the)2.952 F 1.165(third ar)180 720 R 1.165
-(gument is e)-.18 F(xactly)-.15 E F2(\))3.665 E F1 3.664(,t)C 1.164
-(he result is the one-ar)-3.664 F 1.164(gument test of the second ar)
--.18 F(gument.)-.18 E(GNU Bash 5.2)72 768 Q(2023 January 27)141.79 E(24)
-190.95 E 0 Cg EP
-%%Page: 25 25
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH_B).25 E(UIL)-.1 E(TINS)-.2 E
-/F1 10/Times-Roman@0 SF 91.21(\(1\) General).58 F(Commands Manual)2.5 E
-F0 -.25(BA)93.71 G(SH_B).25 E(UIL)-.1 E(TINS)-.2 E F1(\(1\)).58 E
-(Otherwise, the e)180 84 Q(xpression is f)-.15 E(alse.)-.1 E 2.5(4a)144
-96 S -.18(rg)-2.5 G(uments).18 E .429(The follo)180 108 R .429
-(wing conditions are applied in the order listed.)-.25 F .43
-(If the \214rst ar)5.429 F .43(gument is)-.18 F/F2 10/Times-Bold@0 SF(!)
-2.93 E F1 2.93(,t)C .43(he re-)-2.93 F 1.315(sult is the ne)180 120 R
--.05(ga)-.15 G 1.314(tion of the three-ar).05 F 1.314(gument e)-.18 F
-1.314(xpression composed of the remaining ar)-.15 F(gu-)-.18 E 2.901
-(ments. If)180 132 R .401(the \214rst ar)2.901 F .401(gument is e)-.18 F
-(xactly)-.15 E F2(\()2.901 E F1 .401(and the fourth ar)2.901 F .401
-(gument is e)-.18 F(xactly)-.15 E F2(\))2.901 E F1 2.902(,t)C .402
-(he result is)-2.902 F 1.236(the tw)180 144 R(o-ar)-.1 E 1.236
-(gument test of the second and third ar)-.18 F 3.736
-(guments. Otherwise,)-.18 F 1.235(the e)3.736 F 1.235(xpression is)-.15
-F(parsed and e)180 156 Q -.25(va)-.25 G
-(luated according to precedence using the rules listed abo).25 E -.15
-(ve)-.15 G(.).15 E 2.5(5o)144 168 S 2.5(rm)-2.5 G(ore ar)-2.5 E(guments)
--.18 E 1.635(The e)180 180 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 192 Q -.15(ve)-.15 G(.).15 E .163
-(When the shell is in posix mode, or if the e)144 208.8 R .163
-(xpression is part of the)-.15 F F2([[)2.663 E F1 .163(command, the)
-2.663 F F2(<)2.663 E F1(and)2.662 E F2(>)2.662 E F1(opera-)2.662 E .669
-(tors sort using the current locale.)144 220.8 R .669
-(If the shell is not in posix mode, the)5.669 F F2(test)3.169 E F1(and)
-3.169 E F2([)3.169 E F1 .669(commands sort)3.169 F(le)144 232.8 Q
-(xicographically using ASCII ordering.)-.15 E .007
-(The historical operator)144 249.6 R .006
-(-precedence parsing with 4 or more ar)-.2 F .006
-(guments can lead to ambiguities when)-.18 F .632
-(it encounters strings that look lik)144 261.6 R 3.132(ep)-.1 G 3.132
-(rimaries. The)-3.132 F .632(POSIX standard has deprecated the)3.132 F
-F2<ad61>3.132 E F1(and)3.132 E F2<ad6f>3.132 E F1 .886
-(primaries and enclosing e)144 273.6 R .886
-(xpressions within parentheses.)-.15 F .886
-(Scripts should no longer use them.)5.886 F(It')5.885 E(s)-.55 E .066
-(much more reliable to restrict test in)144 285.6 R -.2(vo)-.4 G .066
-(cations to a single primary).2 F 2.566(,a)-.65 G .066
-(nd to replace uses of)-2.566 F F2<ad61>2.566 E F1(and)2.567 E F2<ad6f>
-2.567 E F1(with the shell')144 297.6 Q(s)-.55 E F2(&&)2.5 E F1(and)2.5 E
-F2(||)2.5 E F1(list operators.)2.5 E F2(times)108 314.4 Q F1 1.229(Prin\
-t the accumulated user and system times for the shell and for processes\
- run from the shell.)144 314.4 R(The return status is 0.)144 326.4 Q F2
-(trap)108 343.2 Q F1([)2.5 E F2(\255lpP)A F1 2.5(][)C([)-2.5 E F0
-(action)A F1(])A F0(sigspec)2.5 E F1 1.666(...)2.5 G(])-1.666 E(The)144
-355.2 Q F0(action)4.331 E F1 1.501(is a command that is read and e)4.241
-F -.15(xe)-.15 G 1.501(cuted when the shell recei).15 F -.15(ve)-.25 G
-4.001(sa).15 G 1.802 -.15(ny o)-4.001 H 4.002(ft).15 G 1.502(he signals)
--4.002 F F0(sigspec)144.34 367.2 Q F1 5.709(.I).31 G(f)-5.709 E F0
-(action)3.539 E F1 .709(is absent \(and there is a single)3.449 F F0
-(sigspec)3.209 E F1 3.209(\)o)C(r)-3.209 E F2<ad>3.209 E F1 3.209(,e)C
-.709(ach speci\214ed)-3.209 F F0(sigspec)3.209 E F1 .708(is reset to)
-3.209 F .292(the v)144 379.2 R .292(alue it had when the shell w)-.25 F
-.292(as started.)-.1 F(If)5.292 E F0(action)3.122 E F1 .292
-(is the null string the signal speci\214ed by each)3.032 F F0(sigspec)
-144.34 391.2 Q F1(is ignored by the shell and by the commands it in)2.81
-E -.2(vo)-.4 G -.1(ke).2 G(s.).1 E .165(If no ar)144 408 R .165
-(guments are supplied,)-.18 F F2(trap)2.665 E F1 .165
-(displays the actions associated with each trapped signal as a set)2.665
-F(of)144 420 Q F2(trap)2.569 E F1 .069(commands that can be reused as s\
-hell input to restore the current signal dispositions.)2.569 F(If)5.07 E
-F2<ad70>2.57 E F1 .474(is gi)144 432 R -.15(ve)-.25 G .474(n, and).15 F
-F0(action)3.303 E F1 .473(is not present, then)3.213 F F2(trap)2.973 E
-F1 .473(displays the actions associated with each)2.973 F F0(sigspec)
-3.313 E F1(or)3.283 E(,)-.4 E .363
-(if none are supplied, for all trapped signals, as a set of)144 444 R F2
-(trap)2.864 E F1 .364(commands that can be reused as shell)2.864 F .207
-(input to restore the current signal dispositions.)144 456 R(The)5.207 E
-F2<ad50>2.707 E F1 .207(option beha)2.707 F -.15(ve)-.2 G 2.707(ss).15 G
-(imilarly)-2.707 E 2.707(,b)-.65 G .207(ut displays only)-2.907 F 1.552
-(the actions associated with each)144 468 R F0(sigspec)4.052 E F1(ar)
-4.052 E(gument.)-.18 E F2<ad50>6.552 E F1 1.553(requires at least one)
-4.052 F F0(sigspec)4.053 E F1(ar)4.053 E(gument.)-.18 E(The)144 480 Q F2
-<ad50>2.78 E F1(or)2.78 E F2<ad70>2.78 E F1 .279
-(options may be used in a subshell en)2.78 F .279
-(vironment \(e.g., command substitution\) and, as)-.4 F .238
-(long as the)144 492 R 2.738(ya)-.15 G .238(re used before)-2.738 F F2
-(trap)2.738 E F1 .238(is used to change a signal')2.738 F 2.739(sh)-.55
-G .239(andling, will display the state of its)-2.739 F(parent')144 504 Q
-2.5(st)-.55 G(raps.)-2.5 E(The)144 520.8 Q F2<ad6c>2.516 E F1 .016
-(option prints a list of signal names and their corresponding numbers.)
-2.516 F(Each)5.015 E F0(sigspec)2.855 E F1 .015(is either)2.825 F 2.614
-(as)144 532.8 S .114(ignal name de\214ned in <)-2.614 F F0(signal.h)A F1
-.114(>, or a signal number)B 5.114(.S)-.55 G .115
-(ignal names are case insensiti)-5.114 F .415 -.15(ve a)-.25 H .115
-(nd the).15 F/F3 9/Times-Bold@0 SF(SIG)144 544.8 Q F1 .783
-(pre\214x is optional.)3.033 F(If)5.783 E F2<ad6c>3.283 E F1 .782
-(is supplied with no)3.283 F F0(sigspec)3.282 E F1(ar)3.282 E .782
-(guments, it prints a list of v)-.18 F .782(alid signal)-.25 F(names.)
-144 556.8 Q .016(If a)144 573.6 R F0(sigspec)2.856 E F1(is)2.826 E F3
-(EXIT)2.516 E F1(\(0\),)2.266 E F0(action)2.846 E F1 .016(is e)2.756 F
--.15(xe)-.15 G .016(cuted on e).15 F .017(xit from the shell.)-.15 F
-.017(If a)5.017 F F0(sigspec)2.857 E F1(is)2.827 E F3(DEB)2.517 E(UG)
--.09 E/F4 9/Times-Roman@0 SF(,)A F0(action)2.597 E F1(is)2.757 E -.15
-(exe)144 585.6 S .798(cuted before e).15 F -.15(ve)-.25 G(ry).15 E F0
-.798(simple command)3.298 F F1(,)A F0(for)3.298 E F1(command,)3.298 E F0
-(case)3.297 E F1(command,)3.297 E F0(select)3.297 E F1 .797
-(command, \(\( arith-)3.297 F .573
-(metic command, [[ conditional command, arithmetic)144 597.6 R F0(for)
-3.073 E F1 .574(command, and before the \214rst command)3.073 F -.15
-(exe)144 609.6 S .698(cutes in a shell function \(see).15 F F3 .698
-(SHELL GRAMMAR)3.198 F F1(in)2.948 E F0(bash)3.198 E F1 3.198
-(\(1\)\). Refer)B .698(to the description of the)3.198 F F2(extdeb)144
-621.6 Q(ug)-.2 E F1 1.286(shell option \(see)3.786 F F2(shopt)3.786 E F1
-(in)3.786 E F0(bash)3.786 E F1 1.286(\(1\)\) for details of its ef)B
-1.287(fect on the)-.25 F F2(DEB)3.787 E(UG)-.1 E F1 3.787(trap. If)3.787
-F(a)3.787 E F0(sigspec)144.34 633.6 Q F1(is)2.974 E F3(RETURN)2.664 E F4
-(,)A F0(action)2.744 E F1 .164(is e)2.904 F -.15(xe)-.15 G .163
-(cuted each time a shell function or a script e).15 F -.15(xe)-.15 G
-.163(cuted with the).15 F F2(.)2.663 E F1(or)2.663 E F2(sour)144 645.6 Q
-(ce)-.18 E F1 -.2(bu)2.5 G(iltins \214nishes e).2 E -.15(xe)-.15 G
-(cuting.).15 E .348(If a)144 662.4 R F0(sigspec)3.188 E F1(is)3.159 E F3
-(ERR)2.849 E F4(,)A F0(action)2.929 E F1 .349(is e)3.089 F -.15(xe)-.15
-G .349(cuted whene).15 F -.15(ve)-.25 G 2.849(rap).15 G .349
-(ipeline \(which may consist of a single simple)-2.849 F .165
-(command\), a list, or a compound command returns a non\255zero e)144
-674.4 R .164(xit status, subject to the follo)-.15 F(wing)-.25 E 2.576
-(conditions. The)144 686.4 R F3(ERR)2.576 E F1 .076(trap is not e)2.326
-F -.15(xe)-.15 G .076(cuted if the f).15 F .077
-(ailed command is part of the command list imme-)-.1 F .507
-(diately follo)144 698.4 R .507(wing a)-.25 F F2(while)3.006 E F1(or)
-3.006 E F2(until)3.006 E F1 -.1(ke)3.006 G(yw)-.05 E .506
-(ord, part of the test in an)-.1 F F0(if)3.016 E F1 .506
-(statement, part of a command)4.966 F -.15(exe)144 710.4 S .806
-(cuted in a).15 F F2(&&)3.306 E F1(or)3.307 E F2(||)3.307 E F1 .807
-(list e)3.307 F .807(xcept the command follo)-.15 F .807
-(wing the \214nal)-.25 F F2(&&)3.307 E F1(or)3.307 E F2(||)3.307 E F1
-3.307(,a)C 1.107 -.15(ny c)-3.307 H .807(ommand in a).15 F .759
-(pipeline b)144 722.4 R .758(ut the last \(subject to the state of the)
--.2 F F2(pipefail)3.258 E F1 .758(shell option\), or if the command')
-3.258 F 3.258(sr)-.55 G(eturn)-3.258 E(GNU Bash 5.2)72 768 Q
-(2023 January 27)141.79 E(25)190.95 E 0 Cg EP
-%%Page: 26 26
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH_B).25 E(UIL)-.1 E(TINS)-.2 E
-/F1 10/Times-Roman@0 SF 91.21(\(1\) General).58 F(Commands Manual)2.5 E
-F0 -.25(BA)93.71 G(SH_B).25 E(UIL)-.1 E(TINS)-.2 E F1(\(1\)).58 E -.25
-(va)144 84 S(lue is being in).25 E -.15(ve)-.4 G(rted using).15 E/F2 10
-/Times-Bold@0 SF(!)2.5 E F1 5(.T)C(hese are the same conditions obe)-5 E
-(yed by the)-.15 E F2(err)2.5 E(exit)-.18 E F1(\()2.5 E F2<ad65>A F1 2.5
-(\)o)C(ption.)-2.5 E .069(When the shell is not interacti)144 100.8 R
--.15(ve)-.25 G 2.569(,s).15 G .07
-(ignals ignored upon entry to the shell cannot be trapped or reset.)
--2.569 F(Interacti)144 112.8 Q .952 -.15(ve s)-.25 H .652
-(hells permit trapping signals ignored on entry).15 F 5.651(.T)-.65 G
-.651(rapped signals that are not being ig-)-6.001 F .576
-(nored are reset to their original v)144 124.8 R .576
-(alues in a subshell or subshell en)-.25 F .577
-(vironment when one is created.)-.4 F(The return status is f)144 136.8 Q
-(alse if an)-.1 E(y)-.15 E F0(sigspec)2.84 E F1(is in)2.81 E -.25(va)-.4
-G(lid; otherwise).25 E F2(trap)2.5 E F1(returns true.)2.5 E F2(true)108
-153.6 Q F1(Does nothing, returns a 0 status.)144 153.6 Q F2(type)108
-170.4 Q F1([)2.5 E F2(\255aftpP)A F1(])A F0(name)2.5 E F1([)2.5 E F0
-(name)A F1 1.666(...)2.5 G(])-1.666 E(Indicate ho)144 182.4 Q 2.5(we)
--.25 G(ach)-2.5 E F0(name)2.86 E F1 -.1(wo)2.68 G
-(uld be interpreted if used as a command name.).1 E .801(If the)144
-199.2 R F2<ad74>3.301 E F1 .801(option is used,)3.301 F F2(type)3.301 E
-F1 .801(prints a string which is one of)3.301 F F0(alias)3.63 E F1(,).27
-E F0 -.1(ke)3.3 G(ywor)-.2 E(d)-.37 E F1(,).77 E F0(function)5.27 E F1
-(,).24 E F0 -.2(bu)3.3 G(iltin).2 E F1 3.3(,o).24 G(r)-3.3 E F0(\214le)
-145.91 211.2 Q F1(if)3.622 E F0(name)3.802 E F1 .942
-(is an alias, shell reserv)3.622 F .942(ed w)-.15 F .942
-(ord, function, b)-.1 F .942(uiltin, or e)-.2 F -.15(xe)-.15 G .942
-(cutable \214le, respecti).15 F -.15(ve)-.25 G(ly).15 E 5.942(.I)-.65 G
-(f)-5.942 E(the)144 223.2 Q F0(name)2.86 E F1(is not found,)2.68 E F2
-(type)2.5 E F1(prints nothing and returns a non-zero e)2.5 E
-(xit status.)-.15 E 1.483(If the)144 240 R F2<ad70>3.983 E F1 1.483
-(option is used,)3.983 F F2(type)3.983 E F1 1.482
-(either returns the pathname of the e)3.982 F -.15(xe)-.15 G 1.482
-(cutable \214le that w).15 F 1.482(ould be)-.1 F .543
-(found by searching)144 252 R F2($P)3.043 E -.95(AT)-.74 G(H).95 E F1
-(for)3.043 E F0(name)3.403 E F1 .543(or nothing if w)3.223 F .544
-(ould not return)-.1 F F0(\214le)4.954 E F1 5.544(.T).18 G(he)-5.544 E
-F2<ad50>3.044 E F1 .544(option forces a)3.044 F/F3 9/Times-Bold@0 SF
--.666(PA)144 264 S(TH)-.189 E F1 .038(search for each)2.288 F F0(name)
-2.538 E F1 2.538(,e)C -.15(ve)-2.788 G 2.538(ni).15 G 2.538(fw)-2.538 G
-.038(ould not return)-2.638 F F0(\214le)4.448 E F1 5.038(.I).18 G(f)
--5.038 E F0(name)2.538 E F1 .038(is present in the table of hashed)2.538
-F(commands,)144 276 Q F2<ad70>2.804 E F1(and)2.804 E F2<ad50>2.804 E F1
-.304(print the hashed v)2.804 F .304
-(alue, which is not necessarily the \214le that appears \214rst in)-.25
-F F3 -.666(PA)144 288 S(TH)-.189 E/F4 9/Times-Roman@0 SF(.)A F1 .653
-(If the)144 304.8 R F2<ad61>3.153 E F1 .653(option is used,)3.153 F F2
-(type)3.153 E F1 .653
-(prints all of the places that contain a command named)3.153 F F0(name)
-3.512 E F1 5.652(.T).18 G(his)-5.652 E .735(includes aliases, reserv)144
-316.8 R .735(ed w)-.15 F .736(ords, functions, and b)-.1 F .736
-(uiltins, b)-.2 F .736(ut the path search options \()-.2 F F2<ad70>A F1
-(and)3.236 E F2<ad50>3.236 E F1(\))A .292
-(can be supplied to restrict the output to e)144 328.8 R -.15(xe)-.15 G
-.292(cutable \214les.).15 F F2(type)5.292 E F1 .291
-(does not consult the table of hashed)2.792 F(commands when using)144
-340.8 Q F2<ad61>2.5 E F1(with)2.5 E F2<ad70>2.5 E F1 2.5(,a)C
-(nd only performs a)-2.5 E F3 -.666(PA)2.5 G(TH)-.189 E F1(search for)
-2.25 E F0(name)2.5 E F1(.)A(The)144 357.6 Q F2<ad66>2.757 E F1 .257
-(option suppresses shell function lookup, as with the)2.757 F F2
-(command)2.757 E F1 -.2(bu)2.758 G(iltin.).2 E F2(type)5.258 E F1 .258
-(returns true if)2.758 F(all of the ar)144 369.6 Q(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
-386.4 Q F1([)2.5 E F2(\255HS)A F1(])A F2<ad61>2.5 E(ulimit)108 398.4 Q
-F1([)2.5 E F2(\255HS)A F1 2.5(][)C F2(\255bcde\214klmnpqrstuvxPR)-2.5 E
-(T)-.4 E F1([)2.5 E F0(limit)A F1(]])A(Pro)144 410.4 Q .279
-(vides control o)-.15 F -.15(ve)-.15 G 2.778(rt).15 G .278
-(he resources a)-2.778 F -.25(va)-.2 G .278
-(ilable to the shell and to processes it starts, on systems that).25 F
-(allo)144 422.4 Q 2.5(ws)-.25 G(uch control.)-2.5 E(The)144 439.2 Q F2
-<ad48>2.693 E F1(and)2.693 E F2<ad53>2.693 E F1 .193
-(options specify whether the hard or soft limit is set for the gi)2.693
-F -.15(ve)-.25 G 2.694(nr).15 G 2.694(esource. A)-2.694 F(hard)2.694 E
-.497(limit cannot be increased by a non-root user once it is set; a sof\
-t limit may be increased up to the)144 451.2 R -.25(va)144 463.2 S
-(lue of the hard limit.).25 E(If neither)5 E F2<ad48>2.5 E F1(nor)2.5 E
-F2<ad53>2.5 E F1(is speci\214ed,)2.5 E F2(ulimit)2.5 E F1
-(sets both the soft and hard limits.)2.5 E .402(The v)144 480 R .402
-(alue of)-.25 F F0(limit)2.992 E F1 .402(can be a number in the unit sp\
-eci\214ed for the resource or one of the special v)3.582 F(al-)-.25 E
-(ues)144 492 Q F2(hard)3.019 E F1(,)A F2(soft)3.019 E F1 3.019(,o)C(r)
--3.019 E F2(unlimited)3.019 E F1 3.018(,w)C .518
-(hich stand for the current hard limit, the current soft limit, and no)
--3.018 F 1.055(limit, respecti)144 504 R -.15(ve)-.25 G(ly).15 E 6.055
-(.I)-.65 G(f)-6.055 E F0(limit)3.645 E F1 1.055(is omitted,)4.235 F F2
-(ulimit)3.555 E F1 1.055(prints the current v)3.555 F 1.056
-(alue of the soft limit of the re-)-.25 F .637(source, unless the)144
-516 R F2<ad48>3.137 E F1 .637(option is gi)3.137 F -.15(ve)-.25 G 3.137
-(n. When).15 F .637
-(more than one resource is speci\214ed, the limit name)3.137 F
-(and unit, if appropriate, are printed before the v)144 528 Q 2.5
-(alue. Other)-.25 F(options are interpreted as follo)2.5 E(ws:)-.25 E F2
-<ad61>144 540 Q F1(Report all current limits; no limits are set.)180 540
-Q F2<ad62>144 552 Q F1(The maximum sock)180 552 Q(et b)-.1 E(uf)-.2 E
-(fer size.)-.25 E F2<ad63>144 564 Q F1
-(The maximum size of core \214les created.)180 564 Q F2<ad64>144 576 Q
-F1(The maximum size of a process')180 576 Q 2.5(sd)-.55 G(ata se)-2.5 E
-(gment.)-.15 E F2<ad65>144 588 Q F1(The maximum scheduling priority \()
-180 588 Q F2<ad66>144 600 Q F1
-(The maximum size of \214les written by the shell and its children.)180
-600 Q F2<ad69>144 612 Q F1(The maximum number of pending signals.)180
-612 Q F2<ad6b>144 624 Q F1
-(The maximum number of kqueues that may be allocated.)180 624 Q F2<ad6c>
-144 636 Q F1(The maximum size that may be lock)180 636 Q(ed into memory)
--.1 E(.)-.65 E F2<ad6d>144 648 Q F1(The maximum resident set size \(man)
-180 648 Q 2.5(ys)-.15 G(ystems do not honor this limit\).)-2.5 E F2
-<ad6e>144 660 Q F1 .791(The maximum number of open \214le descriptors \
-\(most systems do not allo)180 660 R 3.291(wt)-.25 G .791(his v)-3.291 F
-.791(alue to)-.25 F(be set\).)180 672 Q F2<ad70>144 684 Q F1
-(The pipe size in 512-byte blocks \(this may not be set\).)180 684 Q F2
-<ad71>144 696 Q F1(The maximum number of bytes in POSIX message queues.)
-180 696 Q(GNU Bash 5.2)72 768 Q(2023 January 27)141.79 E(26)190.95 E 0
-Cg EP
-%%Page: 27 27
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH_B).25 E(UIL)-.1 E(TINS)-.2 E
-/F1 10/Times-Roman@0 SF 91.21(\(1\) General).58 F(Commands Manual)2.5 E
-F0 -.25(BA)93.71 G(SH_B).25 E(UIL)-.1 E(TINS)-.2 E F1(\(1\)).58 E/F2 10
-/Times-Bold@0 SF<ad72>144 84 Q F1
-(The maximum real-time scheduling priority)180 84 Q(.)-.65 E F2<ad73>144
-96 Q F1(The maximum stack size.)180 96 Q F2<ad74>144 108 Q F1
-(The maximum amount of cpu time in seconds.)180 108 Q F2<ad75>144 120 Q
-F1(The maximum number of processes a)180 120 Q -.25(va)-.2 G
-(ilable to a single user).25 E(.)-.55 E F2<ad76>144 132 Q F1 .47
-(The maximum amount of virtual memory a)180 132 R -.25(va)-.2 G .47
-(ilable to the shell and, on some systems, to).25 F(its children.)180
-144 Q F2<ad78>144 156 Q F1(The maximum number of \214le locks.)180 156 Q
-F2<ad50>144 168 Q F1(The maximum number of pseudoterminals.)180 168 Q F2
-<ad52>144 180 Q F1(The maximum time a real-time process can run before \
-blocking, in microseconds.)180 180 Q F2<ad54>144 192 Q F1
-(The maximum number of threads.)180 192 Q(If)144 208.8 Q F0(limit)3.061
-E F1 .471(is supplied, and the)3.651 F F2<ad61>2.971 E F1 .471
-(option is not used,)2.971 F F0(limit)2.971 E F1 .471(is the ne)2.971 F
-2.971(wv)-.25 G .471(alue of the speci\214ed resource.)-3.221 F
-(If no option is supplied, then)144 220.8 Q F2<ad66>2.5 E F1
-(is assumed.)2.5 E -1.11(Va)144 237.6 S .388
-(lues are in 1024-byte increments, e)1.11 F .388(xcept for)-.15 F F2
-<ad74>2.888 E F1 2.888(,w)C .388(hich is in seconds;)-2.888 F F2<ad52>
-2.888 E F1 2.888(,w)C .388(hich is in microsec-)-2.888 F(onds;)144 249.6
-Q F2<ad70>3.286 E F1 3.286(,w)C .786
-(hich is in units of 512-byte blocks;)-3.286 F F2<ad50>3.287 E F1(,)A F2
-<ad54>3.287 E F1(,)A F2<ad62>3.287 E F1(,)A F2<ad6b>3.287 E F1(,)A F2
-<ad6e>3.287 E F1 3.287(,a)C(nd)-3.287 E F2<ad75>3.287 E F1 3.287(,w)C
-.787(hich are unscaled)-3.287 F -.25(va)144 261.6 S .498
-(lues; and, when in posix mode,).25 F F2<ad63>2.998 E F1(and)2.998 E F2
-<ad66>2.998 E F1 2.998(,w)C .498(hich are in 512-byte increments.)-2.998
-F .498(The return status)5.498 F(is 0 unless an in)144 273.6 Q -.25(va)
--.4 G(lid option or ar).25 E
-(gument is supplied, or an error occurs while setting a ne)-.18 E 2.5
-(wl)-.25 G(imit.)-2.5 E F2(umask)108 290.4 Q F1([)2.5 E F2<ad70>A F1 2.5
-(][)C F2<ad53>-2.5 E F1 2.5(][)C F0(mode)-2.5 E F1(])A .791
-(Set the user \214le-creation mask to)144 302.4 R F0(mode)3.671 E F1
-5.792(.I).18 G(f)-5.792 E F0(mode)3.672 E F1(be)3.472 E .792
-(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 314.4 R F0 -.15(ch)2.566 G(mod).15 E F1(\(1\).).77 E(If)144
-326.4 Q F0(mode)3.031 E F1 .151(is omitted,)2.831 F F2(umask)2.651 E F1
-.152(prints the current v)2.651 F .152(alue of the mask.)-.25 F(The)
-5.152 E F2<ad53>2.652 E F1 .152(option without a)2.652 F F0(mode)2.652 E
-F1(ar)2.652 E(-)-.2 E .394
-(gument prints the mask in a symbolic format; the def)144 338.4 R .394
-(ault output is an octal number)-.1 F 5.394(.I)-.55 G 2.894(ft)-5.394 G
-(he)-2.894 E F2<ad70>2.893 E F1(op-)2.893 E .329(tion is supplied, and)
-144 350.4 R F0(mode)3.209 E F1 .329
-(is omitted, the output is in a form that may be reused as input.)3.009
-F .329(The re-)5.329 F .151(turn status is zero if the mode w)144 362.4
-R .151(as successfully changed or if no)-.1 F F0(mode)2.65 E F1(ar)2.65
-E .15(gument w)-.18 F .15(as supplied, and)-.1 F(non-zero otherwise.)144
-374.4 Q F2(unalias)108 391.2 Q F1<5bad>2.5 E F2(a)A F1 2.5(][)C F0(name)
--2.5 E F1 1.666(...)2.5 G(])-1.666 E(Remo)144 403.2 Q .706 -.15(ve e)
--.15 H(ach).15 E F0(name)2.906 E F1 .406
-(from the list of de\214ned aliases.)2.906 F(If)5.406 E F2<ad61>2.906 E
-F1 .406(is supplied, remo)2.906 F .707 -.15(ve a)-.15 H .407
-(ll alias de\214nitions.).15 F(The return v)144 415.2 Q
-(alue is true unless a supplied)-.25 E F0(name)2.86 E F1
-(is not a de\214ned alias.)2.68 E F2(unset)108 432 Q F1<5bad>2.5 E F2
-(fv)A F1 2.5(][)C<ad>-2.5 E F2(n)A F1 2.5(][)C F0(name)-2.5 E F1 1.666
-(...)2.5 G(])-1.666 E -.15(Fo)144 444 S 3.804(re).15 G(ach)-3.804 E F0
-(name)4.164 E F1 3.804(,r).18 G(emo)-3.804 E 1.604 -.15(ve t)-.15 H
-1.304(he corresponding v).15 F 1.303(ariable or function.)-.25 F 1.303
-(If the)6.303 F F2<ad76>3.803 E F1 1.303(option is gi)3.803 F -.15(ve)
--.25 G 1.303(n, each).15 F F0(name)144.36 456 Q F1 .069
-(refers to a shell v)2.748 F .069(ariable, and that v)-.25 F .069
-(ariable is remo)-.25 F -.15(ve)-.15 G 2.569(d. If).15 F F2<ad66>2.569 E
-F1 .069(is speci\214ed, each)2.569 F F0(name)2.929 E F1 .069(refers to)
-2.749 F 2.566(as)144 468 S .066
-(hell function, and the function de\214nition is remo)-2.566 F -.15(ve)
--.15 G 2.566(d. If).15 F(the)2.566 E F2<ad6e>2.565 E F1 .065
-(option is supplied, and)2.565 F F0(name)2.565 E F1 .065(is a)2.565 F
--.25(va)144 480 S .874(riable with the).25 F F0(namer)3.374 E(ef)-.37 E
-F1(attrib)3.374 E(ute,)-.2 E F0(name)3.374 E F1 .875
-(will be unset rather than the v)3.375 F .875(ariable it references.)
--.25 F F2<ad6e>5.875 E F1 1.217(has no ef)144 492 R 1.217(fect if the)
--.25 F F2<ad66>3.716 E F1 1.216(option is supplied.)3.716 F 1.216
-(Read-only v)6.216 F 1.216(ariables and functions may not be unset.)-.25
-F .713(When v)144 504 R .713(ariables or functions are remo)-.25 F -.15
-(ve)-.15 G .713(d, the).15 F 3.214(ya)-.15 G .714(re also remo)-3.214 F
--.15(ve)-.15 G 3.214(df).15 G .714(rom the en)-3.214 F .714
-(vironment passed to)-.4 F 1.004(subsequent commands.)144 516 R 1.003
-(If no options are supplied, each)6.004 F F0(name)3.503 E F1 1.003
-(refers to a v)3.503 F 1.003(ariable; if there is no)-.25 F -.25(va)144
-528 S .176(riable by that name, a function with that name, if an).25 F
-1.477 -.65(y, i)-.15 H 2.677(su).65 G 2.677(nset. Some)-2.677 F .177
-(shell v)2.677 F .177(ariables may not be)-.25 F 2.805(unset. If)144 540
-R(an)2.805 E 2.804(yo)-.15 G(f)-2.804 E/F3 9/Times-Bold@0 SF -.27(BA)
-2.804 G(SH_ALIASES).27 E/F4 9/Times-Roman@0 SF(,)A F3 -.27(BA)2.554 G
-(SH_ARGV0).27 E F4(,)A F3 -.27(BA)2.554 G(SH_CMDS).27 E F4(,)A F3 -.27
-(BA)2.554 G(SH_COMMAND).27 E F4(,)A F3 -.27(BA)2.554 G(SH_SUB-).27 E
-(SHELL)144 552 Q F4(,)A F3 -.27(BA)2.79 G(SHPID).27 E F4(,)A F3(COMP_W)
-2.79 E(ORDBREAKS)-.09 E F4(,)A F3(DIRST)2.79 E -.495(AC)-.81 G(K).495 E
-F4(,)A F3(EPOCHREAL)2.79 E(TIME)-.828 E F4(,)A F3(EPOCHSECONDS)2.79 E F4
-(,)A F3(FUNCN)144 564 Q(AME)-.18 E F4(,)A F3(GR)4.368 E(OUPS)-.27 E F4
-(,)A F3(HISTCMD)4.368 E F4(,)A F3(LINENO)4.368 E F4(,)A F3(RANDOM)4.368
-E F4(,)A F3(SECONDS)4.368 E F4(,)A F1(or)4.368 E F3(SRANDOM)4.618 E F1
-2.117(are unset,)4.368 F(the)144 576 Q 2.741(yl)-.15 G .241
-(ose their special properties, e)-2.741 F -.15(ve)-.25 G 2.741(ni).15 G
-2.741(ft)-2.741 G(he)-2.741 E 2.741(ya)-.15 G .241
-(re subsequently reset.)-2.741 F .241(The e)5.241 F .242
-(xit status is true unless)-.15 F(a)144 588 Q F0(name)2.86 E F1
-(is readonly or may not be unset.)2.68 E F2(wait)108 604.8 Q F1([)2.5 E
-F2(\255fn)A F1 2.5(][)C F2<ad70>-2.5 E F0(varname)2.5 E F1 2.5(][)C F0
-(id)-2.5 E F1 1.666(...)2.5 G(])-1.666 E -.8(Wa)144 616.8 S 1.009
-(it for each speci\214ed child process).8 F F0(id)3.508 E F1 1.008
-(and return the termination status of the last)3.508 F F0(id)3.508 E F1
-6.008(.E)C(ach)-6.008 E F0(id)3.508 E F1 .499(may be a process ID)144
-628.8 R F0(pid)2.999 E F1 .499(or a job speci\214cation)2.999 F F0
-(jobspec)2.999 E F1 3(;i)C 3(faj)-3 G .5(obspec is supplied,)-3 F F2
-(wait)3 E F1 -.1(wa)3 G .5(its for all).1 F(processes in the job)144
-640.8 Q(.)-.4 E .387(If no options or)144 657.6 R F0(id)2.887 E F1 2.886
-(sa)C .386(re supplied,)-2.886 F F2(wait)2.886 E F1 -.1(wa)2.886 G .386
-(its for all running background jobs and the last-e).1 F -.15(xe)-.15 G
-(cuted).15 E(process substitution, if its process id is the same as)144
-669.6 Q F2($!)2.5 E F1 2.5(,a)C(nd the return status is zero.)-2.5 E .47
-(If the)144 686.4 R F2<ad6e>2.97 E F1 .47(option is supplied,)2.97 F F2
-(wait)2.97 E F1 -.1(wa)2.97 G .47(its for an).1 F 2.97(yo)-.15 G .47
-(ne of the gi)-2.97 F -.15(ve)-.25 G(n).15 E F0(id)2.97 E F1 2.97(so)C
-1.27 -.4(r, i)-2.97 H 2.97(fn).4 G(o)-2.97 E F0(id)2.97 E F1 2.97(sa)C
-.47(re supplied, an)-2.97 F(y)-.15 E .482
-(job or process substitution, to complete and returns its e)144 698.4 R
-.482(xit status.)-.15 F .481(If none of the supplied)5.482 F F0(id)2.981
-E F1 2.981(si)C 2.981(sa)-2.981 G .375(child of the shell, or if no)144
-710.4 R F0(id)2.876 E F1 2.876(sa)C .376
-(re supplied and the shell has no unw)-2.876 F .376
-(aited-for children, the e)-.1 F .376(xit sta-)-.15 F(tus is 127.)144
-722.4 Q(GNU Bash 5.2)72 768 Q(2023 January 27)141.79 E(27)190.95 E 0 Cg
-EP
-%%Page: 28 28
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH_B).25 E(UIL)-.1 E(TINS)-.2 E
-/F1 10/Times-Roman@0 SF 91.21(\(1\) General).58 F(Commands Manual)2.5 E
-F0 -.25(BA)93.71 G(SH_B).25 E(UIL)-.1 E(TINS)-.2 E F1(\(1\)).58 E .347
-(If the)144 84 R/F2 10/Times-Bold@0 SF<ad70>2.847 E F1 .347
-(option is supplied,)2.847 F F2(wait)2.847 E F1 .347
-(assigns the process or job identi\214er of the job for which the e)
-2.847 F(xit)-.15 E .006(status is returned to the v)144 96 R(ariable)
--.25 E F0(varname)2.506 E F1 .006(named by the option ar)2.506 F 2.506
-(gument. The)-.18 F -.25(va)2.506 G .006(riable, which can-).25 F .225
-(not be readonly)144 108 R 2.725(,w)-.65 G .225(ill be unset initially)
--2.725 F 2.724(,b)-.65 G .224(efore an)-2.724 F 2.724(ya)-.15 G 2.724
-(ssignment. This)-2.724 F .224(is useful only when used with)2.724 F
-(the)144 120 Q F2<ad6e>2.5 E F1(option.)2.5 E .532(Supplying the)144
-136.8 R F2<ad66>3.033 E F1 .533
-(option, when job control is enabled, forces)3.033 F F2(wait)3.033 E F1
-.533(to w)3.033 F .533(ait for each)-.1 F F0(id)3.033 E F1 .533
-(to terminate)3.033 F(before returning its status, instead of returning\
- when it changes status.)144 148.8 Q .311(If none of the)144 165.6 R F0
-(id)2.811 E F1 2.811(ss)C .311(pecify one of the shell')-2.811 F 2.811
-(sa)-.55 G(cti)-2.811 E .611 -.15(ve c)-.25 H .311
-(hild processes, the return status is 127.).15 F(If)5.311 E F2(wait)
-2.811 E F1 .153(is interrupted by a signal, an)144 177.6 R(y)-.15 E F0
-(varname)2.653 E F1 .153
-(will remain unset, and the return status will be greater than)2.653 F
-.157(128, as described under)144 189.6 R F2(SIGN)2.657 E(ALS)-.2 E F1
-(in)2.656 E F0(bash)2.656 E F1 2.656(\(1\). Otherwise,)B .156
-(the return status is the e)2.656 F .156(xit status of the)-.15 F(last)
-144 201.6 Q F0(id)2.5 E F1(.)A/F3 10.95/Times-Bold@0 SF(SHELL COMP)72
-218.4 Q -1.04(AT)-.81 G(IBILITY MODE)1.04 E F1 1.354
-(Bash-4.0 introduced the concept of a)108 230.4 R F0 1.355
-(shell compatibility le)3.855 F(vel)-.15 E F1 3.855(,s)C 1.355
-(peci\214ed as a set of options to the shopt)-3.855 F -.2(bu)108 242.4 S
-.622(iltin \().2 F F2(compat31)A F1(,)A F2(compat32)3.122 E F1(,)A F2
-(compat40)3.122 E F1(,)A F2(compat41)3.122 E F1 3.122(,a)C .622
-(nd so on\).)-3.122 F .621(There is only one current compatibility)5.621
-F(le)108 254.4 Q -.15(ve)-.25 G 3.057(l\212e).15 G .557
-(ach option is mutually e)-3.057 F(xclusi)-.15 E -.15(ve)-.25 G 5.557
-(.T).15 G .557(he compatibility le)-5.557 F -.15(ve)-.25 G 3.057(li).15
-G 3.057(si)-3.057 G .557(ntended to allo)-3.057 F 3.057(wu)-.25 G .557
-(sers to select be-)-3.057 F(ha)108 266.4 Q 1.084(vior from pre)-.2 F
-1.084(vious v)-.25 F 1.083(ersions that is incompatible with ne)-.15 F
-1.083(wer v)-.25 F 1.083(ersions while the)-.15 F 3.583(ym)-.15 G 1.083
-(igrate scripts to use)-3.583 F(current features and beha)108 278.4 Q
-(vior)-.2 E 5(.I)-.55 G(t')-5 E 2.5(si)-.55 G
-(ntended to be a temporary solution.)-2.5 E 1.456
-(This section does not mention beha)108 295.2 R 1.457
-(vior that is standard for a particular v)-.2 F 1.457
-(ersion \(e.g., setting)-.15 F F2(compat32)3.957 E F1 .446
-(means that quoting the right hand side of the re)108 307.2 R(ge)-.15 E
-.445(xp matching operator quotes special re)-.15 F(ge)-.15 E .445
-(xp characters in)-.15 F(the w)108 319.2 Q(ord, which is def)-.1 E
-(ault beha)-.1 E(vior in bash-3.2 and subsequent v)-.2 E(ersions\).)-.15
-E .522(If a user enables, say)108 336 R(,)-.65 E F2(compat32)3.023 E F1
-3.023(,i)C 3.023(tm)-3.023 G .523(ay af)-3.023 F .523(fect the beha)-.25
-F .523(vior of other compatibility le)-.2 F -.15(ve)-.25 G .523
-(ls up to and includ-).15 F .26(ing the current compatibility le)108 348
-R -.15(ve)-.25 G 2.76(l. The).15 F .259
-(idea is that each compatibility le)2.759 F -.15(ve)-.25 G 2.759(lc).15
-G .259(ontrols beha)-2.759 F .259(vior that changed)-.2 F 1.645
-(in that v)108 360 R 1.646(ersion of)-.15 F F2(bash)4.146 E F1 4.146(,b)
-C 1.646(ut that beha)-4.346 F 1.646(vior may ha)-.2 F 1.946 -.15(ve b)
--.2 H 1.646(een present in earlier v).15 F 4.146(ersions. F)-.15 F 1.646
-(or instance, the)-.15 F .761
-(change to use locale-based comparisons with the)108 372 R F2([[)3.261 E
-F1 .76(command came in bash-4.1, and earlier v)3.261 F .76(ersions used)
--.15 F 1.904(ASCII-based comparisons, so enabling)108 384 R F2(compat32)
-4.404 E F1 1.905(will enable ASCII-based comparisons as well.)4.404 F
-(That)6.905 E .296(granularity may not be suf)108 396 R .296
-(\214cient for all uses, and as a result users should emplo)-.25 F 2.796
-(yc)-.1 G .295(ompatibility le)-2.796 F -.15(ve)-.25 G .295(ls care-).15
-F(fully)108 408 Q 5(.R)-.65 G(ead the documentation for a particular fe\
-ature to \214nd out the current beha)-5 E(vior)-.2 E(.)-.55 E .531
-(Bash-4.3 introduced a ne)108 424.8 R 3.031(ws)-.25 G .531(hell v)-3.031
-F(ariable:)-.25 E/F4 9/Times-Bold@0 SF -.27(BA)3.031 G(SH_COMP).27 E
--.855(AT)-.666 G/F5 9/Times-Roman@0 SF(.).855 E F1 .531(The v)5.031 F
-.531(alue assigned to this v)-.25 F .532(ariable \(a decimal)-.25 F -.15
-(ve)108 436.8 S .108(rsion number lik).15 F 2.608(e4)-.1 G .108
-(.2, or an inte)-2.608 F .108(ger corresponding to the)-.15 F F2(compat)
-2.607 E F0(NN)A F1 .107(option, lik)2.607 F 2.607(e4)-.1 G .107
-(2\) determines the com-)-2.607 F(patibility le)108 448.8 Q -.15(ve)-.25
-G(l.).15 E .733(Starting with bash-4.4,)108 465.6 R F2(bash)3.233 E F1
-(be)3.233 E -.05(ga)-.15 G 3.233(nd).05 G .733
-(eprecating older compatibility le)-3.233 F -.15(ve)-.25 G 3.233(ls. Ev)
-.15 F(entually)-.15 E 3.233(,t)-.65 G .733(he options will be)-3.233 F
-(remo)108 477.6 Q -.15(ve)-.15 G 2.5(di).15 G 2.5(nf)-2.5 G -.2(avo)-2.6
-G 2.5(ro).2 G(f)-2.5 E F4 -.27(BA)2.5 G(SH_COMP).27 E -.855(AT)-.666 G
-F5(.).855 E F1 1.441(Bash-5.0 w)108 494.4 R 1.441(as the \214nal v)-.1 F
-1.441(ersion for which there w)-.15 F 1.441(as an indi)-.1 F 1.44
-(vidual shopt option for the pre)-.25 F 1.44(vious v)-.25 F(ersion.)-.15
-E F4 -.27(BA)108 506.4 S(SH_COMP).27 E -.855(AT)-.666 G F1
-(is the only mechanism to control the compatibility le)3.105 E -.15(ve)
--.25 G 2.5(li).15 G 2.5(nv)-2.5 G(ersions ne)-2.65 E(wer than bash-5.0.)
--.25 E 1.613(The follo)108 523.2 R 1.613(wing table describes the beha)
--.25 F 1.613(vior changes controlled by each compatibility le)-.2 F -.15
-(ve)-.25 G 4.113(ls).15 G 4.114(etting. The)-4.113 F F2(compat)108 535.2
-Q F0(NN)A F1 1.186
-(tag is used as shorthand for setting the compatibility le)3.686 F -.15
-(ve)-.25 G 3.686(lt).15 G(o)-3.686 E F0(NN)3.686 E F1 1.186
-(using one of the follo)3.686 F(wing)-.25 E 3.806(mechanisms. F)108
-547.2 R 1.306(or v)-.15 F 1.306
-(ersions prior to bash-5.0, the compatibility le)-.15 F -.15(ve)-.25 G
-3.807(lm).15 G 1.307(ay be set using the corresponding)-3.807 F F2
-(compat)108 559.2 Q F0(NN)A F1 .502(shopt option.)3.002 F -.15(Fo)5.502
-G 3.002(rb).15 G .502(ash-4.3 and later v)-3.002 F .502(ersions, the)
--.15 F F4 -.27(BA)3.002 G(SH_COMP).27 E -.855(AT)-.666 G F1 -.25(va)
-3.607 G .502(riable is preferred, and it).25 F
-(is required for bash-5.1 and later v)108 571.2 Q(ersions.)-.15 E F2
-(compat31)108 588 Q F1<83>144 600 Q(Quoting the rhs of the)180 600 Q F2
-([[)2.5 E F1(command')2.5 E 2.5(sr)-.55 G -.15(eg)-2.5 G -.15(ex).15 G
-2.5(pm).15 G(atching operator \(=\) has no special ef)-2.5 E(fect.)-.25
-E F2(compat32)108 616.8 Q F1<83>144 628.8 Q(The)180 628.8 Q F2(<)3.25 E
-F1(and)3.25 E F2(>)3.25 E F1 .75(operators to the)3.25 F F2([[)3.251 E
-F1 .751(command do not consider the current locale when com-)3.251 F
-(paring strings; the)180 640.8 Q 2.5(yu)-.15 G(se ASCII ordering.)-2.5 E
-F2(compat40)108 657.6 Q F1<83>144 669.6 Q(The)180 669.6 Q F2(<)3.251 E
-F1(and)3.251 E F2(>)3.251 E F1 .751(operators to the)3.251 F F2([[)3.251
-E F1 .75(command do not consider the current locale when com-)3.251 F
-.495(paring strings; the)180 681.6 R 2.995(yu)-.15 G .495
-(se ASCII ordering.)-2.995 F F2(Bash)5.495 E F1 -.15(ve)2.995 G .496
-(rsions prior to bash-4.1 use ASCII col-).15 F 1.174(lation and)180
-693.6 R F0(str)4.014 E(cmp)-.37 E F1 1.173
-(\(3\); bash-4.1 and later use the current locale').19 F 3.673(sc)-.55 G
-1.173(ollation sequence and)-3.673 F F0(str)180.34 705.6 Q(coll)-.37 E
-F1(\(3\).).51 E(GNU Bash 5.2)72 768 Q(2023 January 27)141.79 E(28)190.95
-E 0 Cg EP
-%%Page: 29 29
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH_B).25 E(UIL)-.1 E(TINS)-.2 E
-/F1 10/Times-Roman@0 SF 91.21(\(1\) General).58 F(Commands Manual)2.5 E
-F0 -.25(BA)93.71 G(SH_B).25 E(UIL)-.1 E(TINS)-.2 E F1(\(1\)).58 E/F2 10
-/Times-Bold@0 SF(compat41)108 84 Q F1<83>144 96 Q(In)180 96 Q F0(posix)
-3.753 E F1(mode,)3.753 E F2(time)3.753 E F1 1.253(may be follo)3.753 F
-1.254(wed by options and still be recognized as a reserv)-.25 F(ed)-.15
-E -.1(wo)180 108 S(rd \(this is POSIX interpretation 267\).).1 E<83>144
-120 Q(In)180 120 Q F0(posix)2.674 E F1 .174
-(mode, the parser requires that an e)2.674 F -.15(ve)-.25 G 2.674(nn).15
-G .174(umber of single quotes occur in the)-2.674 F F0(wor)2.673 E(d)
--.37 E F1 .281(portion of a double-quoted parameter e)180 132 R .282
-(xpansion and treats them specially)-.15 F 2.782(,s)-.65 G 2.782(ot)
--2.782 G .282(hat charac-)-2.782 F(ters within the single quotes are co\
-nsidered quoted \(this is POSIX interpretation 221\).)180 144 Q F2
-(compat42)108 160.8 Q F1<83>144 172.8 Q .753(The replacement string in \
-double-quoted pattern substitution does not under)180 172.8 R .752
-(go quote re-)-.18 F(mo)180 184.8 Q -.25(va)-.15 G(l, as it does in v)
-.25 E(ersions after bash-4.2.)-.15 E<83>144 196.8 Q .514
-(In posix mode, single quotes are considered special when e)180 196.8 R
-.514(xpanding the)-.15 F F0(wor)3.014 E(d)-.37 E F1 .514(portion of)
-3.014 F 3.39(ad)180 208.8 S .89(ouble-quoted parameter e)-3.39 F .89
-(xpansion and can be used to quote a closing brace or other)-.15 F 2.355
-(special character \(this is part of POSIX interpretation 221\); in lat\
-er v)180 220.8 R 2.355(ersions, single)-.15 F
-(quotes are not special within double-quoted w)180 232.8 Q(ord e)-.1 E
-(xpansions.)-.15 E F2(compat43)108 249.6 Q F1<83>144 261.6 Q -.8(Wo)180
-261.6 S .375(rd e).8 F .374(xpansion errors are considered non-f)-.15 F
-.374(atal errors that cause the current command to)-.1 F -.1(fa)180
-273.6 S .605(il, e).1 F -.15(ve)-.25 G 3.105(ni).15 G 3.105(np)-3.105 G
-.605(osix mode \(the def)-3.105 F .605(ault beha)-.1 F .605
-(vior is to mak)-.2 F 3.105(et)-.1 G .605(hem f)-3.105 F .605
-(atal errors that cause the)-.1 F(shell to e)180 285.6 Q(xit\).)-.15 E
-<83>144 297.6 Q .196(When e)180 297.6 R -.15(xe)-.15 G .196
-(cuting a shell function, the loop state \(while/until/etc.\)).15 F .195
-(is not reset, so)5.196 F F2(br)2.695 E(eak)-.18 E F1(or)2.695 E F2
-(continue)180 309.6 Q F1 1.167
-(in that function will break or continue loops in the calling conte)
-3.666 F 3.667(xt. Bash-4.4)-.15 F(and later reset the loop state to pre)
-180 321.6 Q -.15(ve)-.25 G(nt this.).15 E F2(compat44)108 338.4 Q F1<83>
-144 350.4 Q .481(The shell sets up the v)180 350.4 R .481(alues used by)
--.25 F/F3 9/Times-Bold@0 SF -.27(BA)2.981 G(SH_ARGV).27 E F1(and)2.731 E
-F3 -.27(BA)2.981 G(SH_ARGC).27 E F1 .481(so the)2.731 F 2.981(yc)-.15 G
-.481(an e)-2.981 F(xpand)-.15 E(to the shell')180 362.4 Q 2.5(sp)-.55 G
-(ositional parameters e)-2.5 E -.15(ve)-.25 G 2.5(ni).15 G 2.5(fe)-2.5 G
-(xtended deb)-2.65 E(ugging mode is not enabled.)-.2 E<83>144 374.4 Q
-3.854(As)180 374.4 S 1.354(ubshell inherits loops from its parent conte)
--3.854 F 1.354(xt, so)-.15 F F2(br)3.854 E(eak)-.18 E F1(or)3.854 E F2
-(continue)3.855 E F1 1.355(will cause the)3.855 F(subshell to e)180
-386.4 Q 2.5(xit. Bash-5.0)-.15 F(and later reset the loop state to pre)
-2.5 E -.15(ve)-.25 G(nt the e).15 E(xit)-.15 E<83>144 398.4 Q -1.11(Va)
-180 398.4 S .495(riable assignments preceding b)1.11 F .495(uiltins lik)
--.2 F(e)-.1 E F2(export)2.995 E F1(and)2.995 E F2 -.18(re)2.994 G
-(adonly).18 E F1 .494(that set attrib)2.994 F .494(utes con-)-.2 F .119
-(tinue to af)180 410.4 R .119(fect v)-.25 F .119
-(ariables with the same name in the calling en)-.25 F .12(vironment e)
--.4 F -.15(ve)-.25 G 2.62(ni).15 G 2.62(ft)-2.62 G .12(he shell is)-2.62
-F(not in posix mode.)180 422.4 Q F2(compat50)108 439.2 Q F1<83>144 451.2
-Q 1.209(Bash-5.1 changed the w)180 451.2 R(ay)-.1 E F3($RANDOM)3.709 E
-F1 1.209(is generated to introduce slightly more random-)3.459 F 3.371
-(ness. If)180 463.2 R .871(the shell compatibility le)3.371 F -.15(ve)
--.25 G 3.371(li).15 G 3.371(ss)-3.371 G .871(et to 50 or lo)-3.371 F
-(wer)-.25 E 3.371(,i)-.4 G 3.371(tr)-3.371 G -2.15 -.25(ev e)-3.371 H
-.872(rts to the method from).25 F .733(bash-5.0 and pre)180 475.2 R .733
-(vious v)-.25 F .732
-(ersions, so seeding the random number generator by assigning a)-.15 F
--.25(va)180 487.2 S(lue to).25 E F3(RANDOM)2.5 E F1
-(will produce the same sequence as in bash-5.0.)2.25 E<83>144 499.2 Q
-.695(If the command hash table is empty)180 499.2 R 3.196(,b)-.65 G .696
-(ash v)-3.196 F .696(ersions prior to bash-5.1 printed an informa-)-.15
-F 1.321(tional message to that ef)180 511.2 R 1.321(fect, e)-.25 F -.15
-(ve)-.25 G 3.821(nw).15 G 1.321
-(hen producing output that can be reused as input.)-3.821 F
-(Bash-5.1 suppresses that message when the)180 523.2 Q F2<ad6c>2.5 E F1
-(option is supplied.)2.5 E F2(compat51)108 540 Q F1<83>144 552 Q(The)180
-552 Q F2(unset)2.954 E F1 -.2(bu)2.954 G .454
-(iltin treats attempts to unset array subscripts).2 F F2(@)2.955 E F1
-(and)2.955 E F2(*)2.955 E F1(dif)2.955 E .455(ferently depending)-.25 F
-(on whether the array is inde)180 564 Q -.15(xe)-.15 G 2.5(do).15 G 2.5
-(ra)-2.5 G(ssociati)-2.5 E -.15(ve)-.25 G 2.5(,a).15 G(nd dif)-2.5 E
-(ferently than in pre)-.25 E(vious v)-.25 E(ersions.)-.15 E<83>144 576 Q
-.235(Arithmetic commands \()180 576 R F2(\(\()2.734 E F1 1.666(...)C F2
-(\)\))-1.666 E F1 2.734(\)a)2.734 G .234(nd the e)-2.734 F .234
-(xpressions in an arithmetic for statement can be)-.15 F -.15(ex)180 588
-S(panded more than once.).15 E<83>144 600 Q .25(Expressions used as ar)
-180 600 R .251(guments to arithmetic operators in the)-.18 F F2([[)2.751
-E F1 .251(conditional command can)2.751 F(be e)180 612 Q
-(xpanded more than once.)-.15 E<83>144 624 Q(The e)180 624 Q
-(xpressions in substring parameter brace e)-.15 E(xpansion can be e)-.15
-E(xpanded more than once.)-.15 E<83>144 636 Q(The e)180 636 Q
-(xpressions in the)-.15 E F2($\(\()2.5 E F1 1.666(...)C F2(\)\))-1.666 E
-F1 -.1(wo)2.5 G(rd e).1 E(xpansion can be e)-.15 E
-(xpanded more than once.)-.15 E<83>144 648 Q(Arithmetic e)180 648 Q
-(xpressions used as inde)-.15 E -.15(xe)-.15 G 2.5(da).15 G
-(rray subscripts can be e)-2.5 E(xpanded more than once.)-.15 E<83>144
-660 Q F2 .606(test \255v)180 660 R F1 3.106(,w)C .606(hen gi)-3.106 F
--.15(ve)-.25 G 3.106(na).15 G 3.106(na)-3.106 G -.18(rg)-3.106 G .605
-(ument of).18 F F2(A[@])3.105 E F1 3.105(,w)C(here)-3.105 E F2(A)3.105 E
-F1 .605(is an e)3.105 F .605(xisting associati)-.15 F .905 -.15(ve a)
--.25 H(rray).15 E 3.105(,w)-.65 G(ill)-3.105 E .714
-(return true if the array has an)180 672 R 3.214(ys)-.15 G .714
-(et elements.)-3.214 F .714(Bash-5.2 will look for and report on a k)
-5.714 F -.15(ey)-.1 G(named)180 684 Q F2(@)2.5 E F1(.)A<83>144 696 Q
-1.363(The ${)180 696 R F0(par)A(ameter)-.15 E F2([:]=)A F0(value)A F1
-3.863(}w)C 1.362(ord e)-3.963 F 1.362(xpansion will return)-.15 F F0
-(value)3.862 E F1 3.862(,b)C 1.362(efore an)-3.862 F 3.862(yv)-.15 G
-(ariable-spe-)-4.112 E .623(ci\214c transformations ha)180 708 R .923
--.15(ve b)-.2 H .623(een performed \(e.g., con).15 F -.15(ve)-.4 G .623
-(rting to lo).15 F 3.123(wercase\). Bash-5.2)-.25 F(will)3.123 E
-(return the \214nal v)180 720 Q(alue assigned to the v)-.25 E(ariable.)
--.25 E(GNU Bash 5.2)72 768 Q(2023 January 27)141.79 E(29)190.95 E 0 Cg
-EP
-%%Page: 30 30
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH_B).25 E(UIL)-.1 E(TINS)-.2 E
-/F1 10/Times-Roman@0 SF 91.21(\(1\) General).58 F(Commands Manual)2.5 E
-F0 -.25(BA)93.71 G(SH_B).25 E(UIL)-.1 E(TINS)-.2 E F1(\(1\)).58 E<83>144
-84 Q -.15(Pa)180 84 S .946(rsing command substitutions will beha).15 F
-1.246 -.15(ve a)-.2 H 3.445(si).15 G 3.445(fe)-3.445 G .945
-(xtended globbing \(see the description)-3.595 F .338(of the)180 96 R/F2
-10/Times-Bold@0 SF(shopt)2.838 E F1 -.2(bu)2.838 G .338(iltin abo).2 F
--.15(ve)-.15 G 2.838(\)i).15 G 2.838(se)-2.838 G .339
-(nabled, so that parsing a command substitution containing)-2.838 F .023
-(an e)180 108 R .023(xtglob pattern \(say)-.15 F 2.523(,a)-.65 G 2.523
-(sp)-2.523 G .022(art of a shell function\) will not f)-2.523 F 2.522
-(ail. This)-.1 F .022(assumes the intent is)2.522 F .039(to enable e)180
-120 R .039(xtglob before the command is e)-.15 F -.15(xe)-.15 G .039
-(cuted and w).15 F .039(ord e)-.1 F .04(xpansions are performed.)-.15 F
-(It)5.04 E .4(will f)180 132 R .4(ail at w)-.1 F .4(ord e)-.1 F .4
-(xpansion time if e)-.15 F .4(xtglob hasn')-.15 F 2.9(tb)-.18 G .4
-(een enabled by the time the command)-2.9 F(is e)180 144 Q -.15(xe)-.15
-G(cuted.).15 E F2(compat52)108 160.8 Q F1<83>144 172.8 Q(The)180 172.8 Q
-F2(test)3.167 E F1 -.2(bu)3.167 G .667
-(iltin uses its historical algorithm to parse parenthesized sube).2 F
-.668(xpressions when)-.15 F(gi)180 184.8 Q -.15(ve)-.25 G 2.5<6e8c>.15 G
-.3 -.15(ve o)-2.5 H 2.5(rm).15 G(ore ar)-2.5 E(guments.)-.18 E<83>144
-196.8 Q .484(If the)180 196.8 R F2<ad70>2.984 E F1(or)2.983 E F2<ad50>
-2.983 E F1 .483(option is supplied to the)2.983 F F2(bind)2.983 E F1 -.2
-(bu)2.983 G(iltin,).2 E F2(bind)2.983 E F1 .483(treats an)2.983 F 2.983
-(ya)-.15 G -.18(rg)-2.983 G .483(uments remain-).18 F .339
-(ing after option processing as bindable command names, and displays an)
-180 208.8 R 2.84(yk)-.15 G .64 -.15(ey s)-2.94 H(equences).15 E
-(bound to those commands, instead of treating the ar)180 220.8 Q
-(guments as k)-.18 E .3 -.15(ey s)-.1 H(equences to bind.).15 E/F3 10.95
-/Times-Bold@0 SF(SEE ALSO)72 237.6 Q F1(bash\(1\), sh\(1\))108 249.6 Q
-(GNU Bash 5.2)72 768 Q(2023 January 27)141.79 E(30)190.95 E 0 Cg EP
-%%Trailer
-end
-%%EOF
similarity index 100%
rename from doc/FAQ-2.05a
rename to doc/obsolete/FAQ-2.05a
similarity index 100%
rename from doc/FAQ-2.05b
rename to doc/obsolete/FAQ-2.05b
similarity index 100%
rename from doc/FAQ-20090219
rename to doc/obsolete/FAQ-20090219
similarity index 100%
rename from doc/FAQ-3.0
rename to doc/obsolete/FAQ-3.0
similarity index 100%
rename from doc/FAQ-3.1
rename to doc/obsolete/FAQ-3.1
similarity index 100%
rename from doc/FAQ-3.2
rename to doc/obsolete/FAQ-3.2
similarity index 100%
rename from doc/FAQ-4.0
rename to doc/obsolete/FAQ-4.0
similarity index 100%
rename from doc/FAQ-4.1
rename to doc/obsolete/FAQ-4.1
similarity index 100%
rename from doc/FAQ-4.2
rename to doc/obsolete/FAQ-4.2
similarity index 100%
rename from doc/FAQ-4.3
rename to doc/obsolete/FAQ-4.3
similarity index 100%
rename from doc/FAQ-4.4
rename to doc/obsolete/FAQ-4.4
similarity index 100%
rename from doc/faq.mail
rename to doc/obsolete/faq.mail
similarity index 100%
rename from doc/faq.mail.test
rename to doc/obsolete/faq.mail.test
similarity index 100%
rename from doc/faq.news
rename to doc/obsolete/faq.news
similarity index 100%
rename from doc/faq.news2
rename to doc/obsolete/faq.news2
similarity index 100%
rename from doc/faq.version
rename to doc/obsolete/faq.version
similarity index 100%
rename from doc/index.html
rename to doc/obsolete/index.html
similarity index 100%
rename from doc/infopost.sh
rename to doc/obsolete/infopost.sh
similarity index 100%
rename from doc/mkfaqvers
rename to doc/obsolete/mkfaqvers
diff --git a/doc/obsolete/newbash.texi b/doc/obsolete/newbash.texi
new file mode 100644 (file)
index 0000000..4757c8d
--- /dev/null
@@ -0,0 +1,127 @@
+1\input texinfo @c -*- texinfo -*-
+@c %**start of header
+@setfilename bash.info
+@settitle GNU Bourne Again SHell
+@setchapternewpage odd
+@c %**end of header
+
+@c DON'T RUN FINALOUT YET UNTIL FINAL STAGES
+@ignore
+@iftex
+@finalout
+@end iftex
+@end ignore
+
+@ifinfo
+This file documents the GNU Bourne Again SHell.
+
+Copyright @copyright{} 1992 Free Software Foundation, Inc.
+@end ifinfo
+
+@titlepage
+@sp 10
+@center @titlefont{GNU Bash, the Bourne Again SHell}
+@center Unproofed Draft
+@sp 10
+@center Brian Fox, Chet Ramey
+@center @today{}
+
+@page
+This document describes GNU Bash, a Bourne shell compatible
+command language interpreter which executes commands read from the
+standard input or from a file.
+
+Published by the Free Software Foundation @*
+675 Massachusetts Avenue, @*
+Cambridge, MA 02139 USA
+
+Permission is granted to make and distribute verbatim copies of
+this manual provided the copyright notice and this permission notice
+are preserved on all copies.
+
+Permission is granted to copy and distribute modified versions of this
+manual under the conditions for verbatim copying, provided that the entire
+resulting derived work is distributed under the terms of a permission
+notice identical to this one.
+
+Permission is granted to copy and distribute translations of this manual
+into another language, under the above conditions for modified versions,
+except that this permission notice may be stated in a translation approved
+by the Foundation.
+
+@vskip 0pt plus 1filll
+Copyright @copyright{} 1992 Free Software Foundation, Inc.
+@end titlepage
+
+@ifinfo
+This document describes GNU Bash, a Bourne shell compatible
+command language interpreter which executes commands read from the
+standard input or from a file.
+
+Published by the Free Software Foundation @*
+675 Massachusetts Avenue, @*
+Cambridge, MA 02139 USA
+
+@ignore
+Permission is granted to process this file through TeX and print the
+results, provided the printed document carries copying permission
+notice identical to this one except for the removal of this paragraph
+(this paragraph not being relevant to the printed manual).
+@end ignore
+
+Permission is granted to make and distribute verbatim copies of
+this manual provided the copyright notice and this permission notice
+are preserved on all copies.
+
+Permission is granted to copy and distribute modified versions of this
+manual under the conditions for verbatim copying, provided that the entire
+resulting derived work is distributed under the terms of a permission
+notice identical to this one.
+
+Permission is granted to copy and distribute translations of this manual
+into another language, under the above conditions for modified versions,
+except that this permission notice may be stated in a translation approved
+by the Foundation.
+@end ifinfo
+
+I   Tutorial
+    i   Describe what Bash does.
+       1) What a shell is for.
+       2) How Bash is different from other shells.
+
+    ii  Superficial description of how the shell works.
+       1) Parts of a command.
+          a) Command words.
+          b) Command separators.
+          c) Redirection words.
+
+    iii Hands on Experience.
+       1) Starting a shell.
+          a) startup files.
+          b) switching from Csh.
+             Using alias.conv
+
+       2) The Environment.
+          a) Description of "environment".
+          b) Some important environment variables.
+          c) Other common environment variables.
+
+       3) Issuing command lines.
+          a) Example
+II  Reference
+    i   Shell Syntax
+       1) Parts of "speech".
+          a) Command Words.
+          b) Command Seprators.
+          c) Redirection Words.
+
+       2) Quoting Syntax.
+       3) Common Idioms.
+
+    ii  Guide by feature.
+       1) Builtins.
+       2) Variables.
+    ii  Guide by task.
+
+III Indices
+    i 
similarity index 100%
rename from doc/old-faq.html
rename to doc/obsolete/old-faq.html
similarity index 100%
rename from doc/oldbash.texi
rename to doc/obsolete/oldbash.texi
diff --git a/doc/rbash.pdf b/doc/rbash.pdf
new file mode 100644 (file)
index 0000000..76ea9a0
Binary files /dev/null and b/doc/rbash.pdf differ
diff --git a/doc/rbash.ps b/doc/rbash.ps
deleted file mode 100644 (file)
index 289cbf0..0000000
+++ /dev/null
@@ -1,326 +0,0 @@
-%!PS-Adobe-3.0
-%%Creator: groff version 1.23.0
-%%CreationDate: Thu Oct 17 11:28:25 2024
-%%DocumentNeededResources: font Times-Italic
-%%+ font Times-Roman
-%%+ font Times-Bold
-%%DocumentSuppliedResources: procset grops 1.23 0
-%%Pages: 1
-%%PageOrder: Ascend
-%%DocumentMedia: Default 612 792 0 () ()
-%%Orientation: Portrait
-%%EndComments
-%%BeginDefaults
-%%PageMedia: Default
-%%EndDefaults
-%%BeginProlog
-%%BeginResource: procset grops 1.23 0
-%!PS-Adobe-3.0 Resource-ProcSet
-/setpacking where{
-pop
-currentpacking
-true setpacking
-}if
-/grops 120 dict dup begin
-% The ASCII code of the space character.
-/SC 32 def
-/A/show load def
-/B{0 SC 3 -1 roll widthshow}bind def
-/C{0 exch ashow}bind def
-/D{0 exch 0 SC 5 2 roll awidthshow}bind def
-/E{0 rmoveto show}bind def
-/F{0 rmoveto 0 SC 3 -1 roll widthshow}bind def
-/G{0 rmoveto 0 exch ashow}bind def
-/H{0 rmoveto 0 exch 0 SC 5 2 roll awidthshow}bind def
-/I{0 exch rmoveto show}bind def
-/J{0 exch rmoveto 0 SC 3 -1 roll widthshow}bind def
-/K{0 exch rmoveto 0 exch ashow}bind def
-/L{0 exch rmoveto 0 exch 0 SC 5 2 roll awidthshow}bind def
-/M{rmoveto show}bind def
-/N{rmoveto 0 SC 3 -1 roll widthshow}bind def
-/O{rmoveto 0 exch ashow}bind def
-/P{rmoveto 0 exch 0 SC 5 2 roll awidthshow}bind def
-/Q{moveto show}bind def
-/R{moveto 0 SC 3 -1 roll widthshow}bind def
-/S{moveto 0 exch ashow}bind def
-/T{moveto 0 exch 0 SC 5 2 roll awidthshow}bind def
-% name size font SF -
-/SF{
-findfont exch
-[exch dup 0 exch 0 exch neg 0 0]makefont
-dup setfont
-[exch/setfont cvx]cvx bind def
-}bind def
-% name a c d font MF -
-/MF{
-findfont
-[5 2 roll
-0 3 1 roll % b
-neg 0 0]makefont
-dup setfont
-[exch/setfont cvx]cvx bind def
-}bind def
-/level0 0 def
-/RES 0 def
-/PL 0 def
-/LS 0 def
-% Enable manual feed.
-% MANUAL -
-/MANUAL{
-statusdict begin/manualfeed true store end
-}bind def
-% Guess the page length.
-% This assumes that the imageable area is vertically centered on the page.
-% PLG - length
-/PLG{
-gsave newpath clippath pathbbox grestore
-exch pop add exch pop
-}bind def
-% BP -
-/BP{
-/level0 save def
-1 setlinecap
-1 setlinejoin
-DEFS/BPhook known{DEFS begin BPhook end}if
-72 RES div dup scale
-LS{
-90 rotate
-}{
-0 PL translate
-}ifelse
-1 -1 scale
-}bind def
-/EP{
-level0 restore
-showpage
-}def
-% centerx centery radius startangle endangle DA -
-/DA{
-newpath arcn stroke
-}bind def
-% x y SN - x' y'
-% round a position to nearest (pixel + (.25,.25))
-/SN{
-transform
-.25 sub exch .25 sub exch
-round .25 add exch round .25 add exch
-itransform
-}bind def
-% endx endy startx starty DL -
-% we round the endpoints of the line, so that parallel horizontal
-% and vertical lines will appear even
-/DL{
-SN
-moveto
-SN
-lineto stroke
-}bind def
-% centerx centery radius DC -
-/DC{
-newpath 0 360 arc closepath
-}bind def
-/TM matrix def
-%  width height centerx centery DE -
-/DE{
-TM currentmatrix pop
-translate scale newpath 0 0 .5 0 360 arc closepath
-TM setmatrix
-}bind def
-% these are for splines
-/RC/rcurveto load def
-/RL/rlineto load def
-/ST/stroke load def
-/MT/moveto load def
-/CL/closepath load def
-% fill the last path
-% r g b Fr -
-/Fr{
-setrgbcolor fill
-}bind def
-% c m y k Fk -
-/setcmykcolor where{
-pop
-/Fk{
-setcmykcolor fill
-}bind def
-}if
-% g Fg -
-/Fg{
-setgray fill
-}bind def
-% fill with the "current color"
-/FL/fill load def
-/LW/setlinewidth load def
-/Cr/setrgbcolor load def
-/setcmykcolor where{
-pop
-/Ck/setcmykcolor load def
-}if
-/Cg/setgray load def
-% new_font_name encoding_vector old_font_name RE -
-/RE{
-findfont
-dup maxlength 1 index/FontName known not{1 add}if dict begin
-{
-1 index/FID ne
-2 index/UniqueID ne
-and
-{def}{pop pop}ifelse
-}forall
-/Encoding exch def
-dup/FontName exch def
-currentdict end definefont pop
-}bind def
-/DEFS 0 def
-% hpos vpos EBEGIN -
-/EBEGIN{
-moveto
-DEFS begin
-}bind def
-/EEND/end load def
-/CNT 0 def
-/level1 0 def
-% llx lly newwid wid newht ht newllx newlly PBEGIN -
-/PBEGIN{
-/level1 save def
-translate
-div 3 1 roll div exch scale
-neg exch neg exch translate
-% set the graphics state to default values
-0 setgray
-0 setlinecap
-1 setlinewidth
-0 setlinejoin
-10 setmiterlimit
-[]0 setdash
-/setstrokeadjust where{
-pop
-false setstrokeadjust
-}if
-/setoverprint where{
-pop
-false setoverprint
-}if
-newpath
-/CNT countdictstack def
-userdict begin
-/showpage{}def
-%
-%  Any included setpagedevice should be ignored.
-%  See: http://www.w-beer.de/doc/ps/.
-%
-/setpagedevice{}def
-mark
-}bind def
-/PEND{
-cleartomark
-countdictstack CNT sub{end}repeat
-level1 restore
-}bind def
-end def
-/setpacking where{
-pop
-setpacking
-}if
-%%EndResource
-%%EndProlog
-%%BeginSetup
-%%BeginFeature: *PageSize Default
-<< /PageSize [ 612 792 ] /ImagingBBox null >> setpagedevice
-%%EndFeature
-%%IncludeResource: font Times-Italic
-%%IncludeResource: font Times-Roman
-%%IncludeResource: font Times-Bold
-grops begin/DEFS 1 dict def DEFS begin/u{.001 mul}bind def end/RES 72
-def/PL 792 def/LS false def/ENC0[/asciicircum/asciitilde/Scaron/Zcaron
-/scaron/zcaron/Ydieresis/trademark/quotesingle/Euro/.notdef/.notdef
-/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
-/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
-/.notdef/.notdef/space/exclam/quotedbl/numbersign/dollar/percent
-/ampersand/quoteright/parenleft/parenright/asterisk/plus/comma/hyphen
-/period/slash/zero/one/two/three/four/five/six/seven/eight/nine/colon
-/semicolon/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O
-/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright/circumflex
-/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y
-/z/braceleft/bar/braceright/tilde/.notdef/quotesinglbase/guillemotleft
-/guillemotright/bullet/florin/fraction/perthousand/dagger/daggerdbl
-/endash/emdash/ff/fi/fl/ffi/ffl/dotlessi/dotlessj/grave/hungarumlaut
-/dotaccent/breve/caron/ring/ogonek/quotedblleft/quotedblright/oe/lslash
-/quotedblbase/OE/Lslash/.notdef/exclamdown/cent/sterling/currency/yen
-/brokenbar/section/dieresis/copyright/ordfeminine/guilsinglleft
-/logicalnot/minus/registered/macron/degree/plusminus/twosuperior
-/threesuperior/acute/mu/paragraph/periodcentered/cedilla/onesuperior
-/ordmasculine/guilsinglright/onequarter/onehalf/threequarters
-/questiondown/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE
-/Ccedilla/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex
-/Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis
-/multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute/Thorn
-/germandbls/agrave/aacute/acircumflex/atilde/adieresis/aring/ae/ccedilla
-/egrave/eacute/ecircumflex/edieresis/igrave/iacute/icircumflex/idieresis
-/eth/ntilde/ograve/oacute/ocircumflex/otilde/odieresis/divide/oslash
-/ugrave/uacute/ucircumflex/udieresis/yacute/thorn/ydieresis]def
-/Times-Bold@0 ENC0/Times-Bold RE/Times-Roman@0 ENC0/Times-Roman RE
-/Times-Italic@0 ENC0/Times-Italic RE
-%%EndSetup
-%%Page: 1 1
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Italic@0 SF(RB)72.63 48 Q(ASH)-.25 E/F1 10/Times-Roman@0 SF
-131.58(\(1\) General).95 F(Commands Manual)2.5 E F0(RB)134.71 E(ASH)-.25
-E F1(\(1\)).95 E/F2 10.95/Times-Bold@0 SF -.219(NA)72 84 S(ME).219 E F1
-(rbash \255 restricted bash, see)108 96 Q/F3 10/Times-Bold@0 SF(bash)2.5
-E F1(\(1\))A F2(RESTRICTED SHELL)72 112.8 Q F1(If)108 124.8 Q F3(bash)
-3.572 E F1 1.071(is started with the name)3.571 F F3(rbash)3.571 E F1
-3.571(,o)C 3.571(rt)-3.571 G(he)-3.571 E F3<ad72>3.571 E F1 1.071
-(option is supplied at in)3.571 F -.2(vo)-.4 G 1.071
-(cation, the shell becomes).2 F F0 -.37(re)3.571 G(-).37 E(stricted)108
-136.8 Q F1 5.445(.A)C .445(restricted shell is used to set up an en)-2.5
-F .445(vironment more controlled than the standard shell.)-.4 F .445
-(It be-)5.445 F(ha)108 148.8 Q -.15(ve)-.2 G 2.5(si).15 G(dentically to)
--2.5 E F3(bash)2.5 E F1(with the e)2.5 E(xception that the follo)-.15 E
-(wing are disallo)-.25 E(wed or not performed:)-.25 E<83>108 165.6 Q
-(Changing directories with)144 165.6 Q F3(cd)2.5 E F1(.)A<83>108 182.4 Q
-(Setting or unsetting the v)144 182.4 Q(alues of)-.25 E/F4 9
-/Times-Bold@0 SF(SHELL)2.5 E/F5 9/Times-Roman@0 SF(,)A F4 -.666(PA)2.25
-G(TH)-.189 E F5(,)A F4(HISTFILE)2.25 E F5(,)A F4(ENV)2.25 E F5(,)A F1
-(or)2.25 E F4 -.27(BA)2.5 G(SH_ENV).27 E F5(.)A F1<83>108 199.2 Q
-(Specifying command names containing)144 199.2 Q F3(/)2.5 E F1(.)A<83>
-108 216 Q(Specifying a \214lename containing a)144 216 Q F3(/)2.5 E F1
-(as an ar)2.5 E(gument to the)-.18 E F3(.)2.5 E F1 -.2(bu)5 G
-(iltin command.).2 E<83>108 232.8 Q(Using the)144 232.8 Q F3<ad70>2.5 E
-F1(option to the)2.5 E F3(.)2.5 E F1 -.2(bu)5 G
-(iltin command to specify a search path.).2 E<83>108 249.6 Q
-(Specifying a \214lename containing a slash as an ar)144 249.6 Q
-(gument to the)-.18 E F3(history)2.5 E F1 -.2(bu)2.5 G(iltin command.).2
-E<83>108 266.4 Q .351
-(Specifying a \214lename containing a slash as an ar)144 266.4 R .351
-(gument to the)-.18 F F3<ad70>2.851 E F1 .351(option to the)2.851 F F3
-(hash)2.851 E F1 -.2(bu)2.851 G .351(iltin com-).2 F(mand.)144 278.4 Q
-<83>108 295.2 Q(Importing function de\214nitions from the shell en)144
-295.2 Q(vironment at startup.)-.4 E<83>108 312 Q -.15(Pa)144 312 S
-(rsing the v).15 E(alue of)-.25 E F4(SHELLOPTS)2.5 E F1
-(from the shell en)2.25 E(vironment at startup.)-.4 E<83>108 328.8 Q(Re\
-directing output using the >, >|, <>, >&, &>, and >> redirection operat\
-ors.)144 328.8 Q<83>108 345.6 Q(Using the)144 345.6 Q F3(exec)2.5 E F1
--.2(bu)2.5 G(iltin command to replace the shell with another command.).2
-E<83>108 362.4 Q(Adding or deleting b)144 362.4 Q
-(uiltin commands with the)-.2 E F3<ad66>2.5 E F1(and)2.5 E F3<ad64>2.5 E
-F1(options to the)2.5 E F3(enable)2.5 E F1 -.2(bu)2.5 G(iltin command.)
-.2 E<83>108 379.2 Q(Using the)144 379.2 Q F3(enable)2.5 E F1 -.2(bu)2.5
-G(iltin command to enable disabled shell b).2 E(uiltins.)-.2 E<83>108
-396 Q(Specifying the)144 396 Q F3<ad70>2.5 E F1(option to the)2.5 E F3
-(command)2.5 E F1 -.2(bu)2.5 G(iltin command.).2 E<83>108 412.8 Q -.45
-(Tu)144 412.8 S(rning of).45 E 2.5(fr)-.25 G(estricted mode with)-2.5 E
-F3(set +r)2.5 E F1(or)2.5 E F3(shopt \255u r)2.5 E(estricted_shell)-.18
-E F1(.)A(These restrictions are enforced after an)108 429.6 Q 2.5(ys)
--.15 G(tartup \214les are read.)-2.5 E .429
-(When a command that is found to be a shell script is e)108 446.4 R -.15
-(xe)-.15 G(cuted,).15 E F3(rbash)2.929 E F1 .429(turns of)2.929 F 2.929
-(fa)-.25 G .729 -.15(ny r)-2.929 H .429(estrictions in the shell).15 F
-(spa)108 458.4 Q(wned to e)-.15 E -.15(xe)-.15 G(cute the script.).15 E
-F2(SEE ALSO)72 475.2 Q F1(bash\(1\))108 487.2 Q 157.215(Bash-5.2 2021)72
-768 R(No)2.5 E -.15(ve)-.15 G(mber 22).15 E(1)190.545 E 0 Cg EP
-%%Trailer
-end
-%%EOF
index 8cba6e3e83aadecb6c4cf52bd1c5b47da2a760f2..37af36fa365a2cbb9e59a5e8c8f77fbca53383f8 100644 (file)
@@ -74,7 +74,7 @@ PDFOBJ = readline.pdf history.pdf rluserman.pdf readline_3.pdf history_3.pdf
 
 INTERMEDIATE_OBJ = rlman.dvi
 
-CREATED_DOCS = $(DVIOBJ) $(INFOOBJ) $(PSOBJ) $(HTMLOBJ) $(PDFOBJ)
+CREATED_DOCS = $(DVIOBJ) $(INFOOBJ) $(PSOBJ) $(HTMLOBJ) $(PDFOBJ) $(TEXTOBJ)
 
 .SUFFIXES:      .0 .3 .ps .txt .dvi .html .pdf
 
@@ -191,7 +191,6 @@ mostlyclean: clean
 maintainer-clean: clean
        $(RM) $(CREATED_DOCS)
        $(RM) $(INTERMEDIATE_OBJ)
-       $(RM) Makefile
 
 install:
        @echo "This documentation should not be installed."
index ffaac4ab077d2281200465f3134012d2fbccd7f8..ba7a3d2d1e3c290e4797380ecf7169e419f260ea 100644 (file)
@@ -50,6 +50,8 @@ PSDPI       = 300     # I don't have any 600-dpi printers
 DVIPS       = dvips -D ${PSDPI} $(QUIETPS) -o $@     # tricky
 DVIPDF      = dvipdfm -o $@ -p ${PAPERSIZE}
 PSPDF       = gs -sPAPERSIZE=${PAPERSIZE} -sDEVICE=pdfwrite -dNOPAUSE -dBATCH -sOutputFile=$@
+# experimental; uses external texi2dvi for now; this needs pdftex to be present
+TEXI2PDF    = texi2dvi --pdf
 
 RLSRC = $(srcdir)/rlman.texi $(srcdir)/rluser.texi \
        $(srcdir)/rltech.texi $(srcdir)/version.texi \
@@ -58,7 +60,7 @@ HISTSRC = $(srcdir)/history.texi $(srcdir)/hsuser.texi \
          $(srcdir)/hstech.texi $(srcdir)/version.texi
 
 # This should be a program that converts troff to an ascii-readable format
-NROFF       = groff -Tascii
+NROFF       = groff -Tascii -P -c
 
 # This should be a program that converts troff to postscript
 GROFF       = groff
@@ -67,45 +69,75 @@ DVIOBJ = readline.dvi history.dvi rluserman.dvi
 INFOOBJ = readline.info history.info rluserman.info
 PSOBJ = readline.ps history.ps rluserman.ps
 HTMLOBJ = readline.html history.html rluserman.html
-PDFOBJ = readline.pdf history.pdf rluserman.pdf
+TEXTOBJ = readline.0 history.0
+PDFOBJ = readline.pdf history.pdf rluserman.pdf readline_3.pdf history_3.pdf
 
 INTERMEDIATE_OBJ = rlman.dvi
 
-CREATED_DOCS = $(DVIOBJ) $(INFOOBJ) $(PSOBJ) $(HTMLOBJ) $(PDFOBJ)
+CREATED_DOCS = $(DVIOBJ) $(INFOOBJ) $(PSOBJ) $(HTMLOBJ) $(PDFOBJ) $(TEXTOBJ)
 
-.SUFFIXES:      .ps .txt .dvi .html .pdf
+.SUFFIXES:      .0 .3 .ps .txt .dvi .html .pdf
 
-.ps.pdf:
+.3.0:
        $(RM) $@
-       -${PSPDF} $<
+       -${NROFF} -man $< > $@
+
+.3.pdf:
+       $(RM) $@
+       -${GROFF} -man -T pdf $< > $@
+
+.3.ps:
+       $(RM) $@
+       -${GROFF} -man $< > $@
+
+#.ps.pdf:
+#      $(RM) $@
+#      -${PSPDF} $<
 
 .dvi.pdf:
        $(RM) $@
        -${DVIPDF} $<
 
-all: info dvi html ps
-nodvi: info html
+all: info html text pdf ps dvi
+nodvi: info html text
 pdf: $(PDFOBJ)
 
 readline.dvi: $(RLSRC)
-       TEXINPUTS=.:$(TEXINPUTDIR):$$TEXINPUTS $(TEXI2DVI) $(srcdir)/rlman.texi
-       mv rlman.dvi readline.dvi
+       $(RM) $@
+       TEXINPUTS=.:$(TEXINPUTDIR):$$TEXINPUTS $(TEXI2DVI) -o $@ $(srcdir)/rlman.texi
 
 readline.info: $(RLSRC)
+       $(RM) $@
        $(MAKEINFO) --no-split -I $(TEXINPUTDIR) -o $@ $(srcdir)/rlman.texi
 
+readline.pdf: $(RLSRC)
+       $(RM) $@
+       $(TEXI2PDF) -I $(TEXINPUTDIR) -o $@ $(srcdir)/rlman.texi
+
 rluserman.dvi: $(RLSRC)
+       $(RM) $@
        TEXINPUTS=.:$(TEXINPUTDIR):$$TEXINPUTS $(TEXI2DVI) $(srcdir)/rluserman.texi
 
 rluserman.info: $(RLSRC)
+       $(RM) $@
        $(MAKEINFO) --no-split -I $(TEXINPUTDIR) -o $@ $(srcdir)/rluserman.texi
 
+rluserman.pdf: $(RLSRC)
+       $(RM) $@
+       $(TEXI2PDF) -I $(TEXINPUTDIR) -o $@ $(srcdir)/rluserman.texi
+
 history.dvi: ${HISTSRC}
+       $(RM) $@
        TEXINPUTS=.:$(TEXINPUTDIR):$$TEXINPUTS $(TEXI2DVI) $(srcdir)/history.texi
 
 history.info: ${HISTSRC}
+       $(RM) $@
        $(MAKEINFO) --no-split -I $(TEXINPUTDIR) -o $@ $(srcdir)/history.texi
 
+history.pdf: $(HISTSRC)
+       $(RM) $@
+       $(TEXI2PDF) -I $(TEXINPUTDIR) -o $@ $(srcdir)/history.texi
+
 readline.ps:   readline.dvi
        $(RM) $@
        $(DVIPS) readline.dvi
@@ -118,15 +150,9 @@ history.ps:        history.dvi
        $(RM) $@
        $(DVIPS) history.dvi
 
-# can also use:
-#      $(MAKEINFO) --html --no-split
-# in place of
-#      $(TEXI2HTML) -menu -monolithic
-
 readline.html: ${RLSRC}
-       $(TEXI2HTML) -menu -monolithic -I $(TEXINPUTDIR) $(srcdir)/rlman.texi
-       sed -e 's:rlman.html:readline.html:' rlman.html > readline.html
-       $(RM) rlman.html
+       $(RM) $@
+       $(TEXI2HTML) -menu -monolithic -I $(TEXINPUTDIR) -o $@ $(srcdir)/rlman.texi
 
 rluserman.html:        ${RLSRC}
        $(TEXI2HTML) -menu -monolithic -I $(TEXINPUTDIR) $(srcdir)/rluserman.texi
@@ -134,14 +160,23 @@ rluserman.html:   ${RLSRC}
 history.html:  ${HISTSRC}
        $(TEXI2HTML) -menu -monolithic -I $(TEXINPUTDIR) $(srcdir)/history.texi
 
+history.0: $(srcdir)/history.3
+readline.0: $(srcdir)/readline.3
+
+history_3.pdf: $(srcdir)/history.3
+       $(RM) $@
+       -${GROFF} -man -T pdf $< > $@
+
+readline_3.pdf: $(srcdir)/readline.3
+       $(RM) $@
+       -${GROFF} -man -T pdf $< > $@
+
 info:  $(INFOOBJ)
 dvi:   $(DVIOBJ)
 ps:    $(PSOBJ)
 html:  $(HTMLOBJ)
-
-readline.pdf:   readline.dvi
-history.pdf:    history.dvi
-rluserman.pdf:  rluserman.dvi
+text:  $(TEXTOBJ)
+pdf:   $(PDFOBJ)
 
 clean:
        $(RM) *.aux *.cp *.fn *.ky *.log *.pg *.toc *.tp *.vr *.cps *.pgs \
@@ -150,7 +185,6 @@ clean:
 distclean: clean
        $(RM) $(CREATED_DOCS)
        $(RM) $(INTERMEDIATE_OBJ)
-       $(RM) Makefile
 
 mostlyclean: clean
 
diff --git a/lib/readline/doc/hist.texinfo b/lib/readline/doc/hist.texinfo
deleted file mode 100644 (file)
index 63ceb16..0000000
+++ /dev/null
@@ -1,110 +0,0 @@
-\input texinfo    @c -*-texinfo-*-
-@c %**start of header (This is for running Texinfo on a region.)
-@setfilename history.info
-@settitle GNU History Library
-@c %**end of header (This is for running Texinfo on a region.)
-
-@setchapternewpage odd
-
-@include manvers.texinfo
-
-@ifinfo
-@dircategory Libraries
-@direntry
-* History: (history).       The GNU history library API
-@end direntry
-
-This document describes the GNU History library, a programming tool that
-provides a consistent user interface for recalling lines of previously
-typed input.
-
-Copyright (C) 1988-2002 Free Software Foundation, Inc.
-
-Permission is granted to make and distribute verbatim copies of
-this manual provided the copyright notice and this permission notice
-pare preserved on all copies.
-
-@ignore
-Permission is granted to process this file through TeX and print the
-results, provided the printed document carries copying permission
-notice identical to this one except for the removal of this paragraph
-(this paragraph not being relevant to the printed manual).
-@end ignore
-
-Permission is granted to copy and distribute modified versions of this
-manual under the conditions for verbatim copying, provided that the entire
-resulting derived work is distributed under the terms of a permission
-notice identical to this one.
-
-Permission is granted to copy and distribute translations of this manual
-into another language, under the above conditions for modified versions,
-except that this permission notice may be stated in a translation approved
-by the Free Software Foundation.
-@end ifinfo
-
-@titlepage
-@title GNU History Library
-@subtitle Edition @value{EDITION}, for @code{History Library} Version @value{VERSION}.
-@subtitle @value{UPDATE-MONTH}
-@author Brian Fox, Free Software Foundation
-@author Chet Ramey, Case Western Reserve University
-
-@page
-This document describes the GNU History library, a programming tool that
-provides a consistent user interface for recalling lines of previously
-typed input.
-
-Published by the Free Software Foundation @*
-59 Temple Place, Suite 330, @*
-Boston, MA 02111 USA
-
-Permission is granted to make and distribute verbatim copies of
-this manual provided the copyright notice and this permission notice
-are preserved on all copies.
-
-Permission is granted to copy and distribute modified versions of this
-manual under the conditions for verbatim copying, provided that the entire
-resulting derived work is distributed under the terms of a permission
-notice identical to this one.
-
-Permission is granted to copy and distribute translations of this manual
-into another language, under the above conditions for modified versions,
-except that this permission notice may be stated in a translation approved
-by the Free Software Foundation.
-
-@vskip 0pt plus 1filll
-Copyright @copyright{} 1988-2002 Free Software Foundation, Inc.
-@end titlepage
-
-@ifinfo
-@node Top
-@top GNU History Library
-
-This document describes the GNU History library, a programming tool that
-provides a consistent user interface for recalling lines of previously
-typed input.
-
-@menu
-* Using History Interactively::          GNU History User's Manual.
-* Programming with GNU History::  GNU History Programmer's Manual.
-* Concept Index::                Index of concepts described in this manual.
-* Function and Variable Index::          Index of externally visible functions
-                                 and variables.
-@end menu
-@end ifinfo
-
-@syncodeindex fn vr
-
-@include hsuser.texinfo
-@include hstech.texinfo
-
-@node Concept Index
-@appendix Concept Index
-@printindex cp
-
-@node Function and Variable Index
-@appendix Function and Variable Index
-@printindex vr
-
-@contents
-@bye
diff --git a/lib/readline/doc/history.aux b/lib/readline/doc/history.aux
deleted file mode 100644 (file)
index a9a794d..0000000
+++ /dev/null
@@ -1,63 +0,0 @@
-@xrdef{Using History Interactively-title}{Using History Interactively}
-@xrdef{Using History Interactively-snt}{Chapter@tie 1}
-@xrdef{History Interaction-title}{History Expansion}
-@xrdef{History Interaction-snt}{Section@tie 1.1}
-@xrdef{Event Designators-title}{Event Designators}
-@xrdef{Event Designators-snt}{Section@tie 1.1.1}
-@xrdef{Using History Interactively-pg}{1}
-@xrdef{History Interaction-pg}{1}
-@xrdef{Event Designators-pg}{1}
-@xrdef{Word Designators-title}{Word Designators}
-@xrdef{Word Designators-snt}{Section@tie 1.1.2}
-@xrdef{Word Designators-pg}{2}
-@xrdef{Modifiers-title}{Modifiers}
-@xrdef{Modifiers-snt}{Section@tie 1.1.3}
-@xrdef{Modifiers-pg}{3}
-@xrdef{Programming with GNU History-title}{Programming with GNU History}
-@xrdef{Programming with GNU History-snt}{Chapter@tie 2}
-@xrdef{Introduction to History-title}{Introduction to History}
-@xrdef{Introduction to History-snt}{Section@tie 2.1}
-@xrdef{History Storage-title}{History Storage}
-@xrdef{History Storage-snt}{Section@tie 2.2}
-@xrdef{Programming with GNU History-pg}{4}
-@xrdef{Introduction to History-pg}{4}
-@xrdef{History Storage-pg}{4}
-@xrdef{History Functions-title}{History Functions}
-@xrdef{History Functions-snt}{Section@tie 2.3}
-@xrdef{Initializing History and State Management-title}{Initializing History and State Management}
-@xrdef{Initializing History and State Management-snt}{Section@tie 2.3.1}
-@xrdef{History List Management-title}{History List Management}
-@xrdef{History List Management-snt}{Section@tie 2.3.2}
-@xrdef{History Functions-pg}{5}
-@xrdef{Initializing History and State Management-pg}{5}
-@xrdef{History List Management-pg}{5}
-@xrdef{Information About the History List-title}{Information About the History List}
-@xrdef{Information About the History List-snt}{Section@tie 2.3.3}
-@xrdef{Moving Around the History List-title}{Moving Around the History List}
-@xrdef{Moving Around the History List-snt}{Section@tie 2.3.4}
-@xrdef{Information About the History List-pg}{6}
-@xrdef{Searching the History List-title}{Searching the History List}
-@xrdef{Searching the History List-snt}{Section@tie 2.3.5}
-@xrdef{Managing the History File-title}{Managing the History File}
-@xrdef{Managing the History File-snt}{Section@tie 2.3.6}
-@xrdef{Moving Around the History List-pg}{7}
-@xrdef{Searching the History List-pg}{7}
-@xrdef{Managing the History File-pg}{7}
-@xrdef{History Expansion-title}{History Expansion}
-@xrdef{History Expansion-snt}{Section@tie 2.3.7}
-@xrdef{History Expansion-pg}{8}
-@xrdef{History Variables-title}{History Variables}
-@xrdef{History Variables-snt}{Section@tie 2.4}
-@xrdef{History Variables-pg}{9}
-@xrdef{History Programming Example-title}{History Programming Example}
-@xrdef{History Programming Example-snt}{Section@tie 2.5}
-@xrdef{History Programming Example-pg}{10}
-@xrdef{GNU Free Documentation License-title}{GNU Free Documentation License}
-@xrdef{GNU Free Documentation License-snt}{Appendix@tie @char65{}}
-@xrdef{GNU Free Documentation License-pg}{13}
-@xrdef{Concept Index-title}{Concept Index}
-@xrdef{Concept Index-snt}{Appendix@tie @char66{}}
-@xrdef{Concept Index-pg}{21}
-@xrdef{Function and Variable Index-title}{Function and Variable Index}
-@xrdef{Function and Variable Index-snt}{Appendix@tie @char67{}}
-@xrdef{Function and Variable Index-pg}{22}
diff --git a/lib/readline/doc/history.bt b/lib/readline/doc/history.bt
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/lib/readline/doc/history.cp b/lib/readline/doc/history.cp
deleted file mode 100644 (file)
index 7a2fe80..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-\entry{history expansion}{1}{history expansion}
-\entry{event designators}{1}{event designators}
-\entry{history events}{1}{history events}
-\entry{History Searching}{7}{History Searching}
-\entry{anchored search}{7}{anchored search}
diff --git a/lib/readline/doc/history.cps b/lib/readline/doc/history.cps
deleted file mode 100644 (file)
index 1ac524c..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-\initial {A}
-\entry{anchored search}{7}
-\initial {E}
-\entry{event designators}{1}
-\initial {H}
-\entry{history events}{1}
-\entry{history expansion}{1}
-\entry{History Searching}{7}
index de82967176a9ad72be692642fc0d39a70ea116bb..633cac0ef17bee1a0be334e614a4dc943b35777c 100644 (file)
Binary files a/lib/readline/doc/history.dvi and b/lib/readline/doc/history.dvi differ
diff --git a/lib/readline/doc/history.fn b/lib/readline/doc/history.fn
deleted file mode 100644 (file)
index a1d261d..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-\entry{using_history}{5}{\code {using_history}}
-\entry{history_get_history_state}{5}{\code {history_get_history_state}}
-\entry{history_set_history_state}{5}{\code {history_set_history_state}}
-\entry{add_history}{5}{\code {add_history}}
-\entry{add_history_time}{5}{\code {add_history_time}}
-\entry{remove_history}{5}{\code {remove_history}}
-\entry{free_history_entry}{5}{\code {free_history_entry}}
-\entry{replace_history_entry}{6}{\code {replace_history_entry}}
-\entry{clear_history}{6}{\code {clear_history}}
-\entry{stifle_history}{6}{\code {stifle_history}}
-\entry{unstifle_history}{6}{\code {unstifle_history}}
-\entry{history_is_stifled}{6}{\code {history_is_stifled}}
-\entry{history_list}{6}{\code {history_list}}
-\entry{where_history}{6}{\code {where_history}}
-\entry{current_history}{6}{\code {current_history}}
-\entry{history_get}{6}{\code {history_get}}
-\entry{history_get_time}{6}{\code {history_get_time}}
-\entry{history_total_bytes}{6}{\code {history_total_bytes}}
-\entry{history_set_pos}{7}{\code {history_set_pos}}
-\entry{previous_history}{7}{\code {previous_history}}
-\entry{next_history}{7}{\code {next_history}}
-\entry{history_search}{7}{\code {history_search}}
-\entry{history_search_prefix}{7}{\code {history_search_prefix}}
-\entry{history_search_pos}{7}{\code {history_search_pos}}
-\entry{read_history}{7}{\code {read_history}}
-\entry{read_history_range}{8}{\code {read_history_range}}
-\entry{write_history}{8}{\code {write_history}}
-\entry{append_history}{8}{\code {append_history}}
-\entry{history_truncate_file}{8}{\code {history_truncate_file}}
-\entry{history_expand}{8}{\code {history_expand}}
-\entry{get_history_event}{8}{\code {get_history_event}}
-\entry{history_tokenize}{9}{\code {history_tokenize}}
-\entry{history_arg_extract}{9}{\code {history_arg_extract}}
diff --git a/lib/readline/doc/history.fns b/lib/readline/doc/history.fns
deleted file mode 100644 (file)
index 05fbce5..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-\initial {A}
-\entry{\code {add_history}}{5}
-\entry{\code {add_history_time}}{5}
-\entry{\code {append_history}}{8}
-\initial {C}
-\entry{\code {clear_history}}{6}
-\entry{\code {current_history}}{6}
-\initial {F}
-\entry{\code {free_history_entry}}{5}
-\initial {G}
-\entry{\code {get_history_event}}{8}
-\initial {H}
-\entry{\code {history_arg_extract}}{9}
-\entry{\code {history_expand}}{8}
-\entry{\code {history_get}}{6}
-\entry{\code {history_get_history_state}}{5}
-\entry{\code {history_get_time}}{6}
-\entry{\code {history_is_stifled}}{6}
-\entry{\code {history_list}}{6}
-\entry{\code {history_search}}{7}
-\entry{\code {history_search_pos}}{7}
-\entry{\code {history_search_prefix}}{7}
-\entry{\code {history_set_history_state}}{5}
-\entry{\code {history_set_pos}}{7}
-\entry{\code {history_tokenize}}{9}
-\entry{\code {history_total_bytes}}{6}
-\entry{\code {history_truncate_file}}{8}
-\initial {N}
-\entry{\code {next_history}}{7}
-\initial {P}
-\entry{\code {previous_history}}{7}
-\initial {R}
-\entry{\code {read_history}}{7}
-\entry{\code {read_history_range}}{8}
-\entry{\code {remove_history}}{5}
-\entry{\code {replace_history_entry}}{6}
-\initial {S}
-\entry{\code {stifle_history}}{6}
-\initial {U}
-\entry{\code {unstifle_history}}{6}
-\entry{\code {using_history}}{5}
-\initial {W}
-\entry{\code {where_history}}{6}
-\entry{\code {write_history}}{8}
index 76a357510ff74b03d4cb76deff74b36708e661a9..c0257eb7f92b68d674eacfbc262ffa5f1c91a0fe 100644 (file)
@@ -1,6 +1,6 @@
 <HTML>
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<!-- Created on October, 17  2024 by texi2html 1.64 -->
+<!-- Created on November, 1  2024 by texi2html 1.64 -->
 <!-- 
 Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
             Karl Berry  <karl@freefriends.org>
@@ -2263,7 +2263,7 @@ to permit their use in free software.
 <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="history.html#SEC_About"> ? </A>]</TD>
 </TR></TABLE>
 <H1>About this document</H1>
-This document was generated by <I>Chet Ramey</I> on <I>October, 17  2024</I>
+This document was generated by <I>Chet Ramey</I> on <I>November, 1  2024</I>
 using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
 "><I>texi2html</I></A>
 <P></P>  
@@ -2425,7 +2425,7 @@ the following structure:
 <BR>  
 <FONT SIZE="-1">
 This document was generated
-by <I>Chet Ramey</I> on <I>October, 17  2024</I>
+by <I>Chet Ramey</I> on <I>November, 1  2024</I>
 using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
 "><I>texi2html</I></A>
 
diff --git a/lib/readline/doc/history.ky b/lib/readline/doc/history.ky
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/lib/readline/doc/history.log b/lib/readline/doc/history.log
deleted file mode 100644 (file)
index 3c8d71b..0000000
+++ /dev/null
@@ -1,247 +0,0 @@
-This is pdfTeX, Version 3.141592653-2.6-1.40.26 (TeX Live 2024/MacPorts 2024.70613_0) (preloaded format=etex 2024.4.9)  17 OCT 2024 11:28
-entering extended mode
- restricted \write18 enabled.
- file:line:error style messages enabled.
- %&-line parsing enabled.
-**\nonstopmode \input ././history.texi
-(././history.texi
-(/usr/local/src/bash/bash-20241015/lib/readline/doc/texinfo.tex
-Loading texinfo [version 2015-11-22.14]:
-\outerhsize=\dimen16
-\outervsize=\dimen17
-\cornerlong=\dimen18
-\cornerthick=\dimen19
-\topandbottommargin=\dimen20
-\bindingoffset=\dimen21
-\normaloffset=\dimen22
-\pagewidth=\dimen23
-\pageheight=\dimen24
-\headlinebox=\box16
-\footlinebox=\box17
-\margin=\insert252
-\EMsimple=\toks13
-\groupbox=\box18
-\groupinvalidhelp=\toks14
-\mil=\dimen25
-\exdentamount=\skip18
-\inmarginspacing=\skip19
-\centerpenalty=\count27
- pdf,
-\tempnum=\count28
-\lnkcount=\count29
-\filename=\toks15
-\filenamelength=\count30
-\pgn=\count31
-\toksA=\toks16
-\toksB=\toks17
-\toksC=\toks18
-\toksD=\toks19
-\boxA=\box19
-\boxB=\box20
-\countA=\count32
-\nopdfimagehelp=\toks20
- fonts,
-\sffam=\fam8
-\textleading=\dimen26
- markup,
-\fontdepth=\count33
- glyphs,
-\errorbox=\box21
-
-page headings,
-\titlepagetopglue=\skip20
-\titlepagebottomglue=\skip21
-\evenheadline=\toks21
-\oddheadline=\toks22
-\evenfootline=\toks23
-\oddfootline=\toks24
- tables,
-\tableindent=\dimen27
-\itemindent=\dimen28
-\itemmargin=\dimen29
-\itemmax=\dimen30
-\itemno=\count34
-\multitableparskip=\skip22
-\multitableparindent=\skip23
-\multitablecolspace=\dimen31
-\multitablelinespace=\skip24
-\colcount=\count35
-\everytab=\toks25
- conditionals,
-\doignorecount=\count36
- indexing,
-\dummybox=\box22
-\whatsitskip=\skip25
-\whatsitpenalty=\count37
-\entryrightmargin=\dimen32
-\thinshrinkable=\skip26
-\entryindexbox=\box23
-\secondaryindent=\skip27
-\partialpage=\box24
-\doublecolumnhsize=\dimen33
-\doublecolumntopgap=\dimen34
-\savedtopmark=\toks26
-\savedfirstmark=\toks27
- sectioning,
-\unnumberedno=\count38
-\chapno=\count39
-\secno=\count40
-\subsecno=\count41
-\subsubsecno=\count42
-\appendixno=\count43
-\absseclevel=\count44
-\secbase=\count45
-\chapheadingskip=\skip28
-\secheadingskip=\skip29
-\subsecheadingskip=\skip30
- toc,
-\tocfile=\write0
-\contentsrightmargin=\skip31
-\savepageno=\count46
-\lastnegativepageno=\count47
-\tocindent=\dimen35
- environments,
-\lispnarrowing=\skip32
-\envskipamount=\skip33
-\circthick=\dimen36
-\cartouter=\dimen37
-\cartinner=\dimen38
-\normbskip=\skip34
-\normpskip=\skip35
-\normlskip=\skip36
-\lskip=\skip37
-\rskip=\skip38
-\nonfillparindent=\dimen39
-\tabw=\dimen40
-\verbbox=\box25
-
-defuns,
-\defbodyindent=\skip39
-\defargsindent=\skip40
-\deflastargmargin=\skip41
-\defunpenalty=\count48
-\parencount=\count49
-\brackcount=\count50
- macros,
-\paramno=\count51
-\macname=\toks28
- cross references,
-\auxfile=\write1
-\savesfregister=\count52
-\toprefbox=\box26
-\printedrefnamebox=\box27
-\infofilenamebox=\box28
-\printedmanualbox=\box29
- insertions,
-\footnoteno=\count53
-\SAVEfootins=\box30
-\SAVEmargin=\box31
-
-(/opt/local/share/texmf/tex/generic/epsf/epsf.tex
-This is `epsf.tex' v2.7.4 <14 February 2011>
-\epsffilein=\read1
-\epsfframemargin=\dimen41
-\epsfframethickness=\dimen42
-\epsfrsize=\dimen43
-\epsftmp=\dimen44
-\epsftsize=\dimen45
-\epsfxsize=\dimen46
-\epsfysize=\dimen47
-\pspoints=\dimen48
-)
-\noepsfhelp=\toks29
- localization,
-\nolanghelp=\toks30
-\countUTFx=\count54
-\countUTFy=\count55
-\countUTFz=\count56
- formatting,
-\defaultparindent=\dimen49
- and turning on texinfo input format.)
-texinfo.tex: doing @include of version.texi
-
-
-(/usr/local/src/bash/bash-20241015/lib/readline/doc/version.texi) [1] [2]
-(/usr/local/src/bash/bash-20241015/lib/readline/doc/history.toc) [-1]
-texinfo.tex: doing @include of hsuser.texi
-
-
-(/usr/local/src/bash/bash-20241015/lib/readline/doc/hsuser.texi Chapter 1
-\openout0 = `history.toc'.
-
-
-(/usr/local/src/bash/bash-20241015/lib/readline/doc/history.aux)
-\openout1 = `history.aux'.
-
-@cpindfile=@write2
-\openout2 = `history.cp'.
-
- [1
-@numchapentry{Using History Interactively}{1}{Using History Interactively}{1}
-@numsecentry{History Expansion}{1.1}{History Interaction}{1}
-@numsubsecentry{Event Designators}{1.1.1}{Event Designators}{1}
-] [2
-@numsubsecentry{Word Designators}{1.1.2}{Word Designators}{2}
-])
-texinfo.tex: doing @include of hstech.texi
-
- (/usr/local/src/bash/bash-20241015/lib/readline/doc/hstech.texi Chapter 2
-[3
-@numsubsecentry{Modifiers}{1.1.3}{Modifiers}{3}
-] [4
-@numchapentry{Programming with GNU History}{2}{Programming with GNU History}{4}
-
-@numsecentry{Introduction to History}{2.1}{Introduction to History}{4}
-@numsecentry{History Storage}{2.2}{History Storage}{4}
-]
-@fnindfile=@write3
-\openout3 = `history.fn'.
-
- [5
-@numsecentry{History Functions}{2.3}{History Functions}{5}
-@numsubsecentry{Initializing History and State Management}{2.3.1}{Initializing 
-History and State Management}{5}
-@numsubsecentry{History List Management}{2.3.2}{History List Management}{5}
-] [6
-@numsubsecentry{Information About the History List}{2.3.3}{Information About th
-e History List}{6}
-] [7
-@numsubsecentry{Moving Around the History List}{2.3.4}{Moving Around the Histor
-y List}{7}
-@numsubsecentry{Searching the History List}{2.3.5}{Searching the History List}{
-7}
-@numsubsecentry{Managing the History File}{2.3.6}{Managing the History File}{7}
-
-] [8
-@numsubsecentry{History Expansion}{2.3.7}{History Expansion}{8}
-]
-@vrindfile=@write4
-\openout4 = `history.vr'.
-
- [9
-@numsecentry{History Variables}{2.4}{History Variables}{9}
-] [10
-@numsecentry{History Programming Example}{2.5}{History Programming Example}{10}
-
-] [11]) Appendix A [12]
-texinfo.tex: doing @include of fdl.texi
-
-
-(/usr/local/src/bash/bash-20241015/lib/readline/doc/fdl.texi [13
-@appentry{GNU Free Documentation License}{A}{GNU Free Documentation License}{13
-}
-] [14] [15] [16] [17] [18] [19]) Appendix B [20] Appendix C [21
-@appentry{Concept Index}{B}{Concept Index}{21}
-] [22
-@appentry{Function and Variable Index}{C}{Function and Variable Index}{22}
-] ) 
-Here is how much of TeX's memory you used:
- 3183 strings out of 495850
- 32438 string characters out of 6172145
- 89088 words of memory out of 5000000
- 4539 multiletter control sequences out of 15000+600000
- 32778 words of font info for 114 fonts, out of 8000000 for 9000
- 701 hyphenation exceptions out of 8191
- 19i,6n,17p,307b,772s stack positions out of 10000i,1000n,20000p,200000b,200000s
-
-Output written on history.dvi (25 pages, 75220 bytes).
index 550d65926f2a7608fbcdd99ee4ca8af1340a3693..b2523ae99d17363f2fe9e5dee3fdfc45e7458c11 100644 (file)
Binary files a/lib/readline/doc/history.pdf and b/lib/readline/doc/history.pdf differ
diff --git a/lib/readline/doc/history.pg b/lib/readline/doc/history.pg
deleted file mode 100644 (file)
index e69de29..0000000
index a98df64dc3bf41f929e856166a72485d40ddc8f1..7cd349678f12714ad7fdfc81c4016d331880e334 100644 (file)
@@ -1,7 +1,7 @@
 %!PS-Adobe-2.0
 %%Creator: dvips(k) 2024.1 (TeX Live 2024)  Copyright 2024 Radical Eye Software
 %%Title: history.dvi
-%%CreationDate: Thu Oct 17 15:28:47 2024
+%%CreationDate: Fri Nov  1 22:18:32 2024
 %%Pages: 25
 %%PageOrder: Ascend
 %%BoundingBox: 0 0 596 842
@@ -12,7 +12,7 @@
 %DVIPSWebPage: (www.radicaleye.com)
 %DVIPSCommandLine: dvips -D 300 -o history.ps history.dvi
 %DVIPSParameters: dpi=300
-%DVIPSSource:  TeX output 2024.10.17:1128
+%DVIPSSource:  TeX output 2024.11.01:1818
 %%BeginProcSet: tex.pro 0 0
 %!
 /TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S
diff --git a/lib/readline/doc/history.tmp b/lib/readline/doc/history.tmp
deleted file mode 100644 (file)
index d67b98f..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-
-This document describes the GNU History library
-(version @value{VERSION}, @value{UPDATED}),
-a programming tool that provides a consistent user interface for
-recalling lines of previously typed input.
-
-Copyright @copyright{} 1988--2014 Free Software Foundation, Inc.
-
-@quotation
-Permission is granted to copy, distribute and/or modify this document
-under the terms of the GNU Free Documentation License, Version 1.3 or
-any later version published by the Free Software Foundation; with no
-Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
-A copy of the license is included in the section entitled
-``GNU Free Documentation License''.
-
-@end quotation
-@empty 
diff --git a/lib/readline/doc/history.toc b/lib/readline/doc/history.toc
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/lib/readline/doc/history.tp b/lib/readline/doc/history.tp
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/lib/readline/doc/history.vr b/lib/readline/doc/history.vr
deleted file mode 100644 (file)
index d88853f..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-\entry{history_base}{9}{\code {history_base}}
-\entry{history_length}{9}{\code {history_length}}
-\entry{history_max_entries}{9}{\code {history_max_entries}}
-\entry{history_write_timestamps}{9}{\code {history_write_timestamps}}
-\entry{history_expansion_char}{9}{\code {history_expansion_char}}
-\entry{history_subst_char}{9}{\code {history_subst_char}}
-\entry{history_comment_char}{9}{\code {history_comment_char}}
-\entry{history_word_delimiters}{9}{\code {history_word_delimiters}}
-\entry{history_search_delimiter_chars}{9}{\code {history_search_delimiter_chars}}
-\entry{history_no_expand_chars}{10}{\code {history_no_expand_chars}}
-\entry{history_quotes_inhibit_expansion}{10}{\code {history_quotes_inhibit_expansion}}
-\entry{history_quoting_state}{10}{\code {history_quoting_state}}
-\entry{history_inhibit_expansion_function}{10}{\code {history_inhibit_expansion_function}}
diff --git a/lib/readline/doc/history.vrs b/lib/readline/doc/history.vrs
deleted file mode 100644 (file)
index cf9314a..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-\entry{\code {history_base}}{9}
-\entry{\code {history_comment_char}}{9}
-\entry{\code {history_expansion_char}}{9}
-\entry{\code {history_inhibit_expansion_function}}{10}
-\entry{\code {history_length}}{9}
-\entry{\code {history_max_entries}}{9}
-\entry{\code {history_no_expand_chars}}{10}
-\entry{\code {history_quotes_inhibit_expansion}}{10}
-\entry{\code {history_quoting_state}}{10}
-\entry{\code {history_search_delimiter_chars}}{9}
-\entry{\code {history_subst_char}}{9}
-\entry{\code {history_word_delimiters}}{9}
-\entry{\code {history_write_timestamps}}{9}
index 3e53d6369bf63c732e3eb4813a499b563269898b..d08f7af459ae21488c642890f1028854587cf303 100644 (file)
Binary files a/lib/readline/doc/history_3.pdf and b/lib/readline/doc/history_3.pdf differ
diff --git a/lib/readline/doc/hstech.texinfo b/lib/readline/doc/hstech.texinfo
deleted file mode 100644 (file)
index 9494446..0000000
+++ /dev/null
@@ -1,550 +0,0 @@
-@ignore
-This file documents the user interface to the GNU History library.
-
-Copyright (C) 1988-2002 Free Software Foundation, Inc.
-Authored by Brian Fox and Chet Ramey.
-
-Permission is granted to make and distribute verbatim copies of this manual
-provided the copyright notice and this permission notice are preserved on
-all copies.
-
-Permission is granted to process this file through Tex and print the
-results, provided the printed document carries copying permission notice
-identical to this one except for the removal of this paragraph (this
-paragraph not being relevant to the printed manual).
-
-Permission is granted to copy and distribute modified versions of this
-manual under the conditions for verbatim copying, provided also that the
-GNU Copyright statement is available to the distributee, and provided that
-the entire resulting derived work is distributed under the terms of a
-permission notice identical to this one.
-
-Permission is granted to copy and distribute translations of this manual
-into another language, under the above conditions for modified versions.
-@end ignore
-
-@node Programming with GNU History
-@chapter Programming with GNU History
-
-This chapter describes how to interface programs that you write
-with the @sc{gnu} History Library.
-It should be considered a technical guide.
-For information on the interactive use of @sc{gnu} History, @pxref{Using
-History Interactively}.
-
-@menu
-* Introduction to History::    What is the GNU History library for?
-* History Storage::            How information is stored.
-* History Functions::          Functions that you can use.
-* History Variables::          Variables that control behaviour.
-* History Programming Example::        Example of using the GNU History Library.
-@end menu
-
-@node Introduction to History
-@section Introduction to History
-
-Many programs read input from the user a line at a time.  The @sc{gnu}
-History library is able to keep track of those lines, associate arbitrary
-data with each line, and utilize information from previous lines in
-composing new ones. 
-
-The programmer using the History library has available functions
-for remembering lines on a history list, associating arbitrary data
-with a line, removing lines from the list, searching through the list
-for a line containing an arbitrary text string, and referencing any line
-in the list directly.  In addition, a history @dfn{expansion} function
-is available which provides for a consistent user interface across
-different programs.
-
-The user using programs written with the History library has the
-benefit of a consistent user interface with a set of well-known
-commands for manipulating the text of previous lines and using that text
-in new commands.  The basic history manipulation commands are similar to
-the history substitution provided by @code{csh}.
-
-If the programmer desires, he can use the Readline library, which
-includes some history manipulation by default, and has the added
-advantage of command line editing.
-
-Before declaring any functions using any functionality the History
-library provides in other code, an application writer should include
-the file @code{<readline/history.h>} in any file that uses the
-History library's features.  It supplies extern declarations for all
-of the library's public functions and variables, and declares all of
-the public data structures.
-
-@node History Storage
-@section History Storage
-
-The history list is an array of history entries.  A history entry is
-declared as follows:
-
-@example
-typedef void *histdata_t;
-
-typedef struct _hist_entry @{
-  char *line;
-  histdata_t data;
-@} HIST_ENTRY;
-@end example
-
-The history list itself might therefore be declared as
-
-@example
-HIST_ENTRY **the_history_list;
-@end example
-
-The state of the History library is encapsulated into a single structure:
-
-@example
-/*
- * A structure used to pass around the current state of the history.
- */
-typedef struct _hist_state @{
-  HIST_ENTRY **entries; /* Pointer to the entries themselves. */
-  int offset;           /* The location pointer within this array. */
-  int length;           /* Number of elements within this array. */
-  int size;             /* Number of slots allocated to this array. */
-  int flags;
-@} HISTORY_STATE;
-@end example
-
-If the flags member includes @code{HS_STIFLED}, the history has been
-stifled.
-
-@node History Functions
-@section History Functions
-
-This section describes the calling sequence for the various functions
-exported by the @sc{gnu} History library.
-
-@menu
-* Initializing History and State Management::  Functions to call when you
-                                               want to use history in a
-                                               program.
-* History List Management::            Functions used to manage the list
-                                       of history entries.
-* Information About the History List:: Functions returning information about
-                                       the history list.
-* Moving Around the History List::     Functions used to change the position
-                                       in the history list.
-* Searching the History List::         Functions to search the history list
-                                       for entries containing a string.
-* Managing the History File::          Functions that read and write a file
-                                       containing the history list.
-* History Expansion::                  Functions to perform csh-like history
-                                       expansion.
-@end menu
-
-@node Initializing History and State Management
-@subsection Initializing History and State Management
-
-This section describes functions used to initialize and manage
-the state of the History library when you want to use the history
-functions in your program.
-
-@deftypefun void using_history (void)
-Begin a session in which the history functions might be used.  This
-initializes the interactive variables.
-@end deftypefun
-
-@deftypefun {HISTORY_STATE *} history_get_history_state (void)
-Return a structure describing the current state of the input history.
-@end deftypefun
-
-@deftypefun void history_set_history_state (HISTORY_STATE *state)
-Set the state of the history list according to @var{state}.
-@end deftypefun
-
-@node History List Management
-@subsection History List Management
-
-These functions manage individual entries on the history list, or set
-parameters managing the list itself.
-
-@deftypefun void add_history (const char *string)
-Place @var{string} at the end of the history list.  The associated data
-field (if any) is set to @code{NULL}.
-@end deftypefun
-
-@deftypefun {HIST_ENTRY *} remove_history (int which)
-Remove history entry at offset @var{which} from the history.  The
-removed element is returned so you can free the line, data,
-and containing structure.
-@end deftypefun
-
-@deftypefun {HIST_ENTRY *} replace_history_entry (int which, const char *line, histdata_t data)
-Make the history entry at offset @var{which} have @var{line} and @var{data}.
-This returns the old entry so you can dispose of the data.  In the case
-of an invalid @var{which}, a @code{NULL} pointer is returned.
-@end deftypefun
-
-@deftypefun void clear_history (void)
-Clear the history list by deleting all the entries.
-@end deftypefun
-
-@deftypefun void stifle_history (int max)
-Stifle the history list, remembering only the last @var{max} entries.
-@end deftypefun
-
-@deftypefun int unstifle_history (void)
-Stop stifling the history.  This returns the previously-set
-maximum number of history entries (as set by @code{stifle_history()}).
-The value is positive if the history was
-stifled, negative if it wasn't.
-@end deftypefun
-
-@deftypefun int history_is_stifled (void)
-Returns non-zero if the history is stifled, zero if it is not.
-@end deftypefun
-
-@node Information About the History List
-@subsection Information About the History List
-
-These functions return information about the entire history list or
-individual list entries.
-
-@deftypefun {HIST_ENTRY **} history_list (void)
-Return a @code{NULL} terminated array of @code{HIST_ENTRY *} which is the
-current input history.  Element 0 of this list is the beginning of time.
-If there is no history, return @code{NULL}.
-@end deftypefun
-
-@deftypefun int where_history (void)
-Returns the offset of the current history element.
-@end deftypefun
-
-@deftypefun {HIST_ENTRY *} current_history (void)
-Return the history entry at the current position, as determined by
-@code{where_history()}.  If there is no entry there, return a @code{NULL}
-pointer.
-@end deftypefun
-
-@deftypefun {HIST_ENTRY *} history_get (int offset)
-Return the history entry at position @var{offset}, starting from
-@code{history_base} (@pxref{History Variables}).
-If there is no entry there, or if @var{offset}
-is greater than the history length, return a @code{NULL} pointer.
-@end deftypefun
-
-@deftypefun int history_total_bytes (void)
-Return the number of bytes that the primary history entries are using.
-This function returns the sum of the lengths of all the lines in the
-history.
-@end deftypefun
-
-@node Moving Around the History List
-@subsection Moving Around the History List
-
-These functions allow the current index into the history list to be
-set or changed.
-
-@deftypefun int history_set_pos (int pos)
-Set the current history offset to @var{pos}, an absolute index
-into the list.
-Returns 1 on success, 0 if @var{pos} is less than zero or greater
-than the number of history entries.
-@end deftypefun
-
-@deftypefun {HIST_ENTRY *} previous_history (void)
-Back up the current history offset to the previous history entry, and
-return a pointer to that entry.  If there is no previous entry, return
-a @code{NULL} pointer.
-@end deftypefun
-
-@deftypefun {HIST_ENTRY *} next_history (void)
-Move the current history offset forward to the next history entry, and
-return the a pointer to that entry.  If there is no next entry, return
-a @code{NULL} pointer.
-@end deftypefun
-
-@node Searching the History List
-@subsection Searching the History List
-@cindex History Searching
-
-These functions allow searching of the history list for entries containing
-a specific string.  Searching may be performed both forward and backward
-from the current history position.  The search may be @dfn{anchored},
-meaning that the string must match at the beginning of the history entry.
-@cindex anchored search
-
-@deftypefun int history_search (const char *string, int direction)
-Search the history for @var{string}, starting at the current history offset.
-If @var{direction} is less than 0, then the search is through
-previous entries, otherwise through subsequent entries.
-If @var{string} is found, then
-the current history index is set to that history entry, and the value
-returned is the offset in the line of the entry where
-@var{string} was found.  Otherwise, nothing is changed, and a -1 is
-returned.
-@end deftypefun
-
-@deftypefun int history_search_prefix (const char *string, int direction)
-Search the history for @var{string}, starting at the current history
-offset.  The search is anchored: matching lines must begin with
-@var{string}.  If @var{direction} is less than 0, then the search is
-through previous entries, otherwise through subsequent entries.
-If @var{string} is found, then the
-current history index is set to that entry, and the return value is 0. 
-Otherwise, nothing is changed, and a -1 is returned. 
-@end deftypefun
-
-@deftypefun int history_search_pos (const char *string, int direction, int pos)
-Search for @var{string} in the history list, starting at @var{pos}, an
-absolute index into the list.  If @var{direction} is negative, the search
-proceeds backward from @var{pos}, otherwise forward.  Returns the absolute
-index of the history element where @var{string} was found, or -1 otherwise.
-@end deftypefun
-
-@node Managing the History File
-@subsection Managing the History File
-
-The History library can read the history from and write it to a file.
-This section documents the functions for managing a history file.
-
-@deftypefun int read_history (const char *filename)
-Add the contents of @var{filename} to the history list, a line at a time.
-If @var{filename} is @code{NULL}, then read from @file{~/.history}.
-Returns 0 if successful, or @code{errno} if not.
-@end deftypefun
-
-@deftypefun int read_history_range (const char *filename, int from, int to)
-Read a range of lines from @var{filename}, adding them to the history list.
-Start reading at line @var{from} and end at @var{to}.
-If @var{from} is zero, start at the beginning.  If @var{to} is less than
-@var{from}, then read until the end of the file.  If @var{filename} is
-@code{NULL}, then read from @file{~/.history}.  Returns 0 if successful,
-or @code{errno} if not.
-@end deftypefun
-
-@deftypefun int write_history (const char *filename)
-Write the current history to @var{filename}, overwriting @var{filename}
-if necessary.
-If @var{filename} is @code{NULL}, then write the history list to
-@file{~/.history}.
-Returns 0 on success, or @code{errno} on a read or write error.
-@end deftypefun
-
-@deftypefun int append_history (int nelements, const char *filename)
-Append the last @var{nelements} of the history list to @var{filename}.
-If @var{filename} is @code{NULL}, then append to @file{~/.history}.
-Returns 0 on success, or @code{errno} on a read or write error.
-@end deftypefun
-
-@deftypefun int history_truncate_file (const char *filename, int nlines)
-Truncate the history file @var{filename}, leaving only the last
-@var{nlines} lines.
-If @var{filename} is @code{NULL}, then @file{~/.history} is truncated.
-Returns 0 on success, or @code{errno} on failure.
-@end deftypefun
-
-@node History Expansion
-@subsection History Expansion
-
-These functions implement history expansion.
-
-@deftypefun int history_expand (char *string, char **output)
-Expand @var{string}, placing the result into @var{output}, a pointer
-to a string (@pxref{History Interaction}).  Returns:
-@table @code
-@item 0
-If no expansions took place (or, if the only change in
-the text was the removal of escape characters preceding the history expansion
-character);
-@item 1
-if expansions did take place;
-@item -1
-if there was an error in expansion;
-@item 2
-if the returned line should be displayed, but not executed,
-as with the @code{:p} modifier (@pxref{Modifiers}).
-@end table
-
-If an error ocurred in expansion, then @var{output} contains a descriptive
-error message.
-@end deftypefun
-
-@deftypefun {char *} get_history_event (const char *string, int *cindex, int qchar)
-Returns the text of the history event beginning at @var{string} +
-@var{*cindex}.  @var{*cindex} is modified to point to after the event
-specifier.  At function entry, @var{cindex} points to the index into
-@var{string} where the history event specification begins.  @var{qchar}
-is a character that is allowed to end the event specification in addition
-to the ``normal'' terminating characters.
-@end deftypefun
-
-@deftypefun {char **} history_tokenize (const char *string)
-Return an array of tokens parsed out of @var{string}, much as the
-shell might.  The tokens are split on the characters in the
-@var{history_word_delimiters} variable,
-and shell quoting conventions are obeyed.
-@end deftypefun
-
-@deftypefun {char *} history_arg_extract (int first, int last, const char *string)
-Extract a string segment consisting of the @var{first} through @var{last}
-arguments present in @var{string}.  Arguments are split using
-@code{history_tokenize}.
-@end deftypefun
-
-@node History Variables
-@section History Variables
-
-This section describes the externally-visible variables exported by
-the @sc{gnu} History Library.
-
-@deftypevar int history_base
-The logical offset of the first entry in the history list.
-@end deftypevar
-
-@deftypevar int history_length
-The number of entries currently stored in the history list.
-@end deftypevar
-
-@deftypevar int history_max_entries
-The maximum number of history entries.  This must be changed using
-@code{stifle_history()}.
-@end deftypevar
-
-@deftypevar char history_expansion_char
-The character that introduces a history event.  The default is @samp{!}.
-Setting this to 0 inhibits history expansion.
-@end deftypevar
-
-@deftypevar char history_subst_char
-The character that invokes word substitution if found at the start of
-a line.  The default is @samp{^}.
-@end deftypevar
-
-@deftypevar char history_comment_char
-During tokenization, if this character is seen as the first character
-of a word, then it and all subsequent characters up to a newline are
-ignored, suppressing history expansion for the remainder of the line.
-This is disabled by default.
-@end deftypevar
-
-@deftypevar {char *} history_word_delimiters
-The characters that separate tokens for @code{history_tokenize()}.
-The default value is @code{" \t\n()<>;&|"}.
-@end deftypevar
-
-@deftypevar {char *} history_no_expand_chars
-The list of characters which inhibit history expansion if found immediately
-following @var{history_expansion_char}.  The default is space, tab, newline,
-carriage return, and @samp{=}.
-@end deftypevar
-
-@deftypevar {char *} history_search_delimiter_chars
-The list of additional characters which can delimit a history search
-string, in addition to space, TAB, @samp{:} and @samp{?} in the case of
-a substring search.  The default is empty.
-@end deftypevar
-
-@deftypevar int history_quotes_inhibit_expansion
-If non-zero, single-quoted words are not scanned for the history expansion
-character.  The default value is 0.
-@end deftypevar
-
-@deftypevar {rl_linebuf_func_t *} history_inhibit_expansion_function
-This should be set to the address of a function that takes two arguments:
-a @code{char *} (@var{string})
-and an @code{int} index into that string (@var{i}).
-It should return a non-zero value if the history expansion starting at
-@var{string[i]} should not be performed; zero if the expansion should
-be done.
-It is intended for use by applications like Bash that use the history
-expansion character for additional purposes.
-By default, this variable is set to @code{NULL}.
-@end deftypevar
-
-@node History Programming Example
-@section History Programming Example
-
-The following program demonstrates simple use of the @sc{gnu} History Library.
-
-@smallexample
-#include <stdio.h>
-#include <readline/history.h>
-
-main (argc, argv)
-     int argc;
-     char **argv;
-@{
-  char line[1024], *t;
-  int len, done = 0;
-
-  line[0] = 0;
-
-  using_history ();
-  while (!done)
-    @{
-      printf ("history$ ");
-      fflush (stdout);
-      t = fgets (line, sizeof (line) - 1, stdin);
-      if (t && *t)
-        @{
-          len = strlen (t);
-          if (t[len - 1] == '\n')
-            t[len - 1] = '\0';
-        @}
-
-      if (!t)
-        strcpy (line, "quit");
-
-      if (line[0])
-        @{
-          char *expansion;
-          int result;
-
-          result = history_expand (line, &expansion);
-          if (result)
-            fprintf (stderr, "%s\n", expansion);
-
-          if (result < 0 || result == 2)
-            @{
-              free (expansion);
-              continue;
-            @}
-
-          add_history (expansion);
-          strncpy (line, expansion, sizeof (line) - 1);
-          free (expansion);
-        @}
-
-      if (strcmp (line, "quit") == 0)
-        done = 1;
-      else if (strcmp (line, "save") == 0)
-        write_history ("history_file");
-      else if (strcmp (line, "read") == 0)
-        read_history ("history_file");
-      else if (strcmp (line, "list") == 0)
-        @{
-          register HIST_ENTRY **the_list;
-          register int i;
-
-          the_list = history_list ();
-          if (the_list)
-            for (i = 0; the_list[i]; i++)
-              printf ("%d: %s\n", i + history_base, the_list[i]->line);
-        @}
-      else if (strncmp (line, "delete", 6) == 0)
-        @{
-          int which;
-          if ((sscanf (line + 6, "%d", &which)) == 1)
-            @{
-              HIST_ENTRY *entry = remove_history (which);
-              if (!entry)
-                fprintf (stderr, "No such entry %d\n", which);
-              else
-                @{
-                  free (entry->line);
-                  free (entry);
-                @}
-            @}
-          else
-            @{
-              fprintf (stderr, "non-numeric arg given to `delete'\n");
-            @}
-        @}
-    @}
-@}
-@end smallexample
diff --git a/lib/readline/doc/hsuser.texinfo b/lib/readline/doc/hsuser.texinfo
deleted file mode 100644 (file)
index 418bfa8..0000000
+++ /dev/null
@@ -1,437 +0,0 @@
-@ignore
-This file documents the user interface to the GNU History library.
-
-Copyright (C) 1988-2002 Free Software Foundation, Inc.
-Authored by Brian Fox and Chet Ramey.
-
-Permission is granted to make and distribute verbatim copies of this manual
-provided the copyright notice and this permission notice are preserved on
-all copies.
-
-Permission is granted to process this file through Tex and print the
-results, provided the printed document carries copying permission notice
-identical to this one except for the removal of this paragraph (this
-paragraph not being relevant to the printed manual).
-
-Permission is granted to copy and distribute modified versions of this
-manual under the conditions for verbatim copying, provided also that the
-GNU Copyright statement is available to the distributee, and provided that
-the entire resulting derived work is distributed under the terms of a
-permission notice identical to this one.
-
-Permission is granted to copy and distribute translations of this manual
-into another language, under the above conditions for modified versions.
-@end ignore
-
-@node Using History Interactively
-@chapter Using History Interactively
-
-@ifclear BashFeatures
-@defcodeindex bt
-@end ifclear
-
-@ifset BashFeatures
-This chapter describes how to use the @sc{gnu} History Library
-interactively, from a user's standpoint.
-It should be considered a user's guide.
-For information on using the @sc{gnu} History Library in other programs,
-see the @sc{gnu} Readline Library Manual.
-@end ifset
-@ifclear BashFeatures
-This chapter describes how to use the @sc{gnu} History Library interactively,
-from a user's standpoint.  It should be considered a user's guide.  For
-information on using the @sc{gnu} History Library in your own programs,
-@pxref{Programming with GNU History}.
-@end ifclear
-
-@ifset BashFeatures
-@menu
-* Bash History Facilities::    How Bash lets you manipulate your command
-                               history.
-* Bash History Builtins::      The Bash builtin commands that manipulate
-                               the command history.
-* History Interaction::                What it feels like using History as a user.
-@end menu
-@end ifset
-@ifclear BashFeatures
-@menu
-* History Interaction::                What it feels like using History as a user.
-@end menu
-@end ifclear
-
-@ifset BashFeatures
-@node Bash History Facilities
-@section Bash History Facilities
-@cindex command history
-@cindex history list
-
-When the @option{-o history} option to the @code{set} builtin
-is enabled (@pxref{The Set Builtin}),
-the shell provides access to the @dfn{command history},
-the list of commands previously typed.
-The value of the @env{HISTSIZE} shell variable is used as the
-number of commands to save in a history list.
-The text of the last @env{$HISTSIZE}
-commands (default 500) is saved.
-The shell stores each command in the history list prior to
-parameter and variable expansion
-but after history expansion is performed, subject to the
-values of the shell variables
-@env{HISTIGNORE} and @env{HISTCONTROL}.
-
-When the shell starts up, the history is initialized from the
-file named by the @env{HISTFILE} variable (default @file{~/.bash_history}).
-The file named by the value of @env{HISTFILE} is truncated, if
-necessary, to contain no more than the number of lines specified by
-the value of the @env{HISTFILESIZE} variable.
-When an interactive shell exits, the last
-@env{$HISTSIZE} lines are copied from the history list to the file
-named by @env{$HISTFILE}.
-If the @code{histappend} shell option is set (@pxref{Bash Builtins}),
-the lines are appended to the history file,
-otherwise the history file is overwritten.
-If @env{HISTFILE}
-is unset, or if the history file is unwritable, the history is
-not saved.  After saving the history, the history file is truncated
-to contain no more than @env{$HISTFILESIZE}
-lines.  If @env{HISTFILESIZE} is not set, no truncation is performed.
-
-The builtin command @code{fc} may be used to list or edit and re-execute
-a portion of the history list.
-The @code{history} builtin may be used to display or modify the history
-list and manipulate the history file.
-When using command-line editing, search commands
-are available in each editing mode that provide access to the
-history list (@pxref{Commands For History}).
-
-The shell allows control over which commands are saved on the history
-list.  The @env{HISTCONTROL} and @env{HISTIGNORE}
-variables may be set to cause the shell to save only a subset of the
-commands entered.
-The @code{cmdhist}
-shell option, if enabled, causes the shell to attempt to save each
-line of a multi-line command in the same history entry, adding
-semicolons where necessary to preserve syntactic correctness.
-The @code{lithist}
-shell option causes the shell to save the command with embedded newlines
-instead of semicolons.
-The @code{shopt} builtin is used to set these options.
-@xref{Bash Builtins}, for a description of @code{shopt}.
-
-@node Bash History Builtins
-@section Bash History Builtins
-@cindex history builtins
-
-Bash provides two builtin commands which manipulate the
-history list and history file.
-
-@table @code
-
-@item fc
-@btindex fc
-@example
-@code{fc [-e @var{ename}] [-nlr] [@var{first}] [@var{last}]}
-@code{fc -s [@var{pat}=@var{rep}] [@var{command}]}
-@end example
-
-Fix Command.  In the first form, a range of commands from @var{first} to
-@var{last} is selected from the history list.  Both @var{first} and
-@var{last} may be specified as a string (to locate the most recent
-command beginning with that string) or as a number (an index into the
-history list, where a negative number is used as an offset from the
-current command number).  If @var{last} is not specified it is set to
-@var{first}.  If @var{first} is not specified it is set to the previous
-command for editing and @minus{}16 for listing.  If the @option{-l} flag is
-given, the commands are listed on standard output.  The @option{-n} flag
-suppresses the command numbers when listing.  The @option{-r} flag
-reverses the order of the listing.  Otherwise, the editor given by
-@var{ename} is invoked on a file containing those commands.  If
-@var{ename} is not given, the value of the following variable expansion
-is used: @code{$@{FCEDIT:-$@{EDITOR:-vi@}@}}.  This says to use the
-value of the @env{FCEDIT} variable if set, or the value of the
-@env{EDITOR} variable if that is set, or @code{vi} if neither is set.
-When editing is complete, the edited commands are echoed and executed.
-
-In the second form, @var{command} is re-executed after each instance
-of @var{pat} in the selected command is replaced by @var{rep}.
-
-A useful alias to use with the @code{fc} command is @code{r='fc -s'}, so
-that typing @samp{r cc} runs the last command beginning with @code{cc}
-and typing @samp{r} re-executes the last command (@pxref{Aliases}).
-
-@item history
-@btindex history
-@example
-history [@var{n}]
-history -c
-history -d @var{offset}
-history [-anrw] [@var{filename}]
-history -ps @var{arg}
-@end example
-
-With no options, display the history list with line numbers.
-Lines prefixed with a @samp{*} have been modified.
-An argument of @var{n} lists only the last @var{n} lines.
-Options, if supplied, have the following meanings:
-
-@table @code
-@item -c
-Clear the history list.  This may be combined
-with the other options to replace the history list completely.
-
-@item -d @var{offset}
-Delete the history entry at position @var{offset}.
-@var{offset} should be specified as it appears when the history is
-displayed.
-
-@item -a
-Append the new
-history lines (history lines entered since the beginning of the
-current Bash session) to the history file.
-
-@item -n
-Append the history lines not already read from the history file
-to the current history list.  These are lines appended to the history
-file since the beginning of the current Bash session.
-
-@item -r
-Read the current history file and append its contents to
-the history list.
-
-@item -w
-Write out the current history to the history file.
-
-@item -p
-Perform history substitution on the @var{arg}s and display the result
-on the standard output, without storing the results in the history list.
-
-@item -s
-The @var{arg}s are added to the end of
-the history list as a single entry.
-
-@end table
-
-When any of the @option{-w}, @option{-r}, @option{-a}, or @option{-n} options is
-used, if @var{filename}
-is given, then it is used as the history file.  If not, then
-the value of the @env{HISTFILE} variable is used.
-
-@end table
-@end ifset
-
-@node History Interaction
-@section History Expansion
-@cindex history expansion
-
-The History library provides a history expansion feature that is similar
-to the history expansion provided by @code{csh}.  This section
-describes the syntax used to manipulate the history information.
-
-History expansions introduce words from the history list into
-the input stream, making it easy to repeat commands, insert the
-arguments to a previous command into the current input line, or
-fix errors in previous commands quickly.
-
-History expansion takes place in two parts.  The first is to determine
-which line from the history list should be used during substitution.
-The second is to select portions of that line for inclusion into the
-current one.  The line selected from the history is called the
-@dfn{event}, and the portions of that line that are acted upon are
-called @dfn{words}.  Various @dfn{modifiers} are available to manipulate
-the selected words.  The line is broken into words in the same fashion
-that Bash does, so that several words
-surrounded by quotes are considered one word.
-History expansions are introduced by the appearance of the
-history expansion character, which is @samp{!} by default.
-@ifset BashFeatures
-Only @samp{\} and @samp{'} may be used to escape the history expansion
-character.
-@end ifset
-
-@ifset BashFeatures
-Several shell options settable with the @code{shopt}
-builtin (@pxref{Bash Builtins}) may be used to tailor
-the behavior of history expansion.  If the
-@code{histverify} shell option is enabled, and Readline
-is being used, history substitutions are not immediately passed to
-the shell parser.
-Instead, the expanded line is reloaded into the Readline
-editing buffer for further modification.
-If Readline is being used, and the @code{histreedit}
-shell option is enabled, a failed history expansion will be
-reloaded into the Readline editing buffer for correction.
-The @option{-p} option to the @code{history} builtin command
-may be used to see what a history expansion will do before using it.
-The @option{-s} option to the @code{history} builtin may be used to
-add commands to the end of the history list without actually executing
-them, so that they are available for subsequent recall.
-This is most useful in conjunction with Readline.
-
-The shell allows control of the various characters used by the
-history expansion mechanism with the @code{histchars} variable.
-@end ifset
-
-@menu
-* Event Designators::  How to specify which history line to use.
-* Word Designators::   Specifying which words are of interest.
-* Modifiers::          Modifying the results of substitution.
-@end menu
-
-@node Event Designators
-@subsection Event Designators
-@cindex event designators
-
-An event designator is a reference to a command line entry in the
-history list.
-@cindex history events
-
-@table @asis
-
-@item @code{!}
-Start a history substitution, except when followed by a space, tab,
-the end of the line, @samp{=} or @samp{(}.
-
-@item @code{!@var{n}}
-Refer to command line @var{n}.
-
-@item @code{!-@var{n}}
-Refer to the command @var{n} lines back.
-
-@item @code{!!}
-Refer to the previous command.  This is a synonym for @samp{!-1}.
-
-@item @code{!@var{string}}
-Refer to the most recent command starting with @var{string}.
-
-@item @code{!?@var{string}[?]}
-Refer to the most recent command containing @var{string}.  The trailing
-@samp{?} may be omitted if the @var{string} is followed immediately by
-a newline.
-
-@item @code{^@var{string1}^@var{string2}^}
-Quick Substitution.  Repeat the last command, replacing @var{string1}
-with @var{string2}.  Equivalent to
-@code{!!:s/@var{string1}/@var{string2}/}.
-
-@item @code{!#}
-The entire command line typed so far.
-
-@end table
-
-@node Word Designators
-@subsection Word Designators
-
-Word designators are used to select desired words from the event.
-A @samp{:} separates the event specification from the word designator.  It
-may be omitted if the word designator begins with a @samp{^}, @samp{$},
-@samp{*}, @samp{-}, or @samp{%}.  Words are numbered from the beginning
-of the line, with the first word being denoted by 0 (zero).  Words are
-inserted into the current line separated by single spaces.
-
-@need 0.75
-For example,
-
-@table @code
-@item !!
-designates the preceding command.  When you type this, the preceding
-command is repeated in toto.
-
-@item !!:$
-designates the last argument of the preceding command.  This may be
-shortened to @code{!$}.
-
-@item !fi:2
-designates the second argument of the most recent command starting with
-the letters @code{fi}.
-@end table
-
-@need 0.75
-Here are the word designators:
-@table @code
-
-@item 0 (zero)
-The @code{0}th word.  For many applications, this is the command word.
-
-@item @var{n}
-The @var{n}th word.
-
-@item ^
-The first argument; that is, word 1.
-
-@item $
-The last argument.
-
-@item %
-The word matched by the most recent @samp{?@var{string}?} search.
-
-@item @var{x}-@var{y}
-A range of words; @samp{-@var{y}} abbreviates @samp{0-@var{y}}.
-
-@item *
-All of the words, except the @code{0}th.  This is a synonym for @samp{1-$}.
-It is not an error to use @samp{*} if there is just one word in the event;
-the empty string is returned in that case.
-
-@item @var{x}*
-Abbreviates @samp{@var{x}-$}
-
-@item @var{x}-
-Abbreviates @samp{@var{x}-$} like @samp{@var{x}*}, but omits the last word.
-
-@end table
-
-If a word designator is supplied without an event specification, the
-previous command is used as the event.
-
-@node Modifiers
-@subsection Modifiers
-
-After the optional word designator, you can add a sequence of one or more
-of the following modifiers, each preceded by a @samp{:}.
-
-@table @code
-
-@item h
-Remove a trailing pathname component, leaving only the head.
-
-@item t
-Remove all leading  pathname  components, leaving the tail.
-
-@item r
-Remove a trailing suffix of the form @samp{.@var{suffix}}, leaving
-the basename.
-
-@item e
-Remove all but the trailing suffix.
-
-@item p
-Print the new command but do not execute it.
-
-@ifset BashFeatures
-@item q
-Quote the substituted words, escaping further substitutions.
-
-@item x
-Quote the substituted words as with @samp{q},
-but break into words at spaces, tabs, and newlines.
-@end ifset
-
-@item s/@var{old}/@var{new}/
-Substitute @var{new} for the first occurrence of @var{old} in the
-event line.  Any delimiter may be used in place of @samp{/}.
-The delimiter may be quoted in @var{old} and @var{new}
-with a single backslash.  If @samp{&} appears in @var{new},
-it is replaced by @var{old}.  A single backslash will quote
-the @samp{&}.  The final delimiter is optional if it is the last
-character on the input line.
-
-@item &
-Repeat the previous substitution.
-
-@item g
-Cause changes to be applied over the entire event line.  Used in
-conjunction with @samp{s}, as in @code{gs/@var{old}/@var{new}/},
-or with @samp{&}.
-
-@end table
diff --git a/lib/readline/doc/manvers.texinfo b/lib/readline/doc/manvers.texinfo
deleted file mode 100644 (file)
index 1206cf0..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-@ignore
-Copyright (C) 1988-2002 Free Software Foundation, Inc. 
-@end ignore
-
-@set EDITION 4.3
-@set VERSION 4.3
-@set UPDATED 2002 March 4
-@set UPDATE-MONTH March 2002
-
-@set LASTCHANGE Mon Mar  4 12:00:16 EST 2002
index 8d9b3ef695c02378e43736fe10f1259467084641..df4c16d78739916ae3fcf195c2df172906cba418 100644 (file)
@@ -248,301 +248,301 @@ I\bIN\bNI\bIT\bTI\bIA\bAL\bLI\bIZ\bZA\bAT\bTI\bIO\bON\bN F\bFI\bIL\bLE\bE
               common prefix of the set of possible completions using a differ-
               ent  color.   The  color definitions are taken from the value of
               the L\bLS\bS_\b_C\bCO\bOL\bLO\bOR\bRS\bS environment variable.  If there is a color defini-
-              tion in $\b$L\bLS\bS_\b_C\bCO\bOL\bLO\bOR\bRS\bS for the custom suffix ".readline-colored-com-
-              pletion-prefix", r\bre\bea\bad\bdl\bli\bin\bne\be uses this color for the common  prefix
+              tion in $\b$L\bLS\bS_\b_C\bCO\bOL\bLO\bOR\bRS\bS for the custom suffix  "readline-colored-com-
+              pletion-prefix",  r\bre\bea\bad\bdl\bli\bin\bne\be uses this color for the common prefix
               instead of its default.
        c\bco\bol\blo\bor\bre\bed\bd-\b-s\bst\bta\bat\bts\bs (\b(O\bOf\bff\bf)\b)
-              If  set to O\bOn\bn, r\bre\bea\bad\bdl\bli\bin\bne\be displays possible completions using dif-
-              ferent colors to indicate their file type.   The  color  defini-
-              tions  are  taken  from  the  value of the L\bLS\bS_\b_C\bCO\bOL\bLO\bOR\bRS\bS environment
+              If set to O\bOn\bn, r\bre\bea\bad\bdl\bli\bin\bne\be displays possible completions using  dif-
+              ferent  colors  to  indicate their file type.  The color defini-
+              tions are taken from the  value  of  the  L\bLS\bS_\b_C\bCO\bOL\bLO\bOR\bRS\b environment
               variable.
        c\bco\bom\bmm\bme\ben\bnt\bt-\b-b\bbe\beg\bgi\bin\bn (\b("#\b#")\b)
-              The string that the  r\bre\bea\bad\bdl\bli\bin\bne\be  i\bin\bns\bse\ber\brt\bt-\b-c\bco\bom\bmm\bme\ben\bnt\bt  command  inserts.
-              This  command  is bound to M\bM-\b-#\b# in emacs mode and to #\b# in vi com-
+              The  string  that  the  r\bre\bea\bad\bdl\bli\bin\bne\be i\bin\bns\bse\ber\brt\bt-\b-c\bco\bom\bmm\bme\ben\bnt\bt command inserts.
+              This command is bound to M\bM-\b-#\b# in emacs mode and to #\b# in  vi  com-
               mand mode.
        c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bn-\b-d\bdi\bis\bsp\bpl\bla\bay\by-\b-w\bwi\bid\bdt\bth\bh (\b(-\b-1\b1)\b)
-              The number of screen columns used to  display  possible  matches
-              when  performing completion.  The value is ignored if it is less
-              than 0 or greater than the terminal screen width.  A value of  0
-              will  cause  matches  to be displayed one per line.  The default
+              The  number  of  screen columns used to display possible matches
+              when performing completion.  The value is ignored if it is  less
+              than  0 or greater than the terminal screen width.  A value of 0
+              will cause matches to be displayed one per  line.   The  default
               value is -1.
        c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bn-\b-i\big\bgn\bno\bor\bre\be-\b-c\bca\bas\bse\be (\b(O\bOf\bff\bf)\b)
               If set to O\bOn\bn, r\bre\bea\bad\bdl\bli\bin\bne\be performs filename matching and completion
               in a case-insensitive fashion.
        c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bn-\b-m\bma\bap\bp-\b-c\bca\bas\bse\be (\b(O\bOf\bff\bf)\b)
-              If set to O\bOn\bn, and c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bn-\b-i\big\bgn\bno\bor\bre\be-\b-c\bca\bas\bse\be  is  enabled,  r\bre\bea\bad\bdl\bli\bin\bne\be
-              treats  hyphens  (_\b-) and underscores (_\b_) as equivalent when per-
+              If  set  to  O\bOn\bn, and c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bn-\b-i\big\bgn\bno\bor\bre\be-\b-c\bca\bas\bse\be is enabled, r\bre\bea\bad\bdl\bli\bin\bne\be
+              treats hyphens (_\b-) and underscores (_\b_) as equivalent  when  per-
               forming case-insensitive filename matching and completion.
        c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bn-\b-p\bpr\bre\bef\bfi\bix\bx-\b-d\bdi\bis\bsp\bpl\bla\bay\by-\b-l\ble\ben\bng\bgt\bth\bh (\b(0\b0)\b)
-              The maximum 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, r\bre\bea\bad\bdl\bli\bin\bne\be replaces  common
+              The  maximum 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, r\bre\bea\bad\bdl\bli\bin\bne\be replaces common
               prefixes longer than this value with an ellipsis when displaying
               possible completions.
        c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bn-\b-q\bqu\bue\ber\bry\by-\b-i\bit\bte\bem\bms\bs (\b(1\b10\b00\b0)\b)
-              This  determines when the user is queried about viewing the num-
-              ber of possible completions generated  by  the  p\bpo\bos\bss\bsi\bib\bbl\ble\be-\b-c\bco\bom\bmp\bpl\ble\be-\b-
-              t\bti\bio\bon\bns\b command.  It may be set to any integer value greater than
-              or equal to zero.  If the  number  of  possible  completions  is
-              greater  than  or  equal to the value of this variable, r\bre\bea\bad\bdl\bli\bin\bne\be
-              will ask whether or not the user wishes to view them;  otherwise
-              r\bre\bea\bad\bdl\bli\bin\bne\b simply lists them on the terminal.  A zero value means
+              This determines when the user is queried about viewing the  num-
+              ber  of  possible  completions generated by the p\bpo\bos\bss\bsi\bib\bbl\ble\be-\b-c\bco\bom\bmp\bpl\ble\be-\b-
+              t\bti\bio\bon\bns\bcommand.  It may be set to any integer value greater  than
+              or  equal  to  zero.   If  the number of possible completions is
+              greater than or equal to the value of  this  variable,  r\bre\bea\bad\bdl\bli\bin\bne\be
+              will  ask whether or not the user wishes to view them; otherwise
+              r\bre\bea\bad\bdl\bli\bin\bne\bsimply lists them on the terminal.  A zero value  means
               r\bre\bea\bad\bdl\bli\bin\bne\be should never ask; negative values are treated as zero.
        c\bco\bon\bnv\bve\ber\brt\bt-\b-m\bme\bet\bta\ba (\b(O\bOn\bn)\b)
-              If set to O\bOn\bn, r\bre\bea\bad\bdl\bli\bin\bne\be will convert  characters  it  reads  that
+              If  set  to  O\bOn\bn,  r\bre\bea\bad\bdl\bli\bin\bne\be will convert characters it reads that
               have the eighth bit set to an ASCII key sequence by clearing the
               eighth bit and prefixing it with an escape character (converting
-              the  character to have the meta prefix).  The default is _\bO_\bn, but
-              r\bre\bea\bad\bdl\bli\bin\bne\bwill set it to _\bO_\bf_\bf if the  locale  contains  characters
+              the character to have the meta prefix).  The default is _\bO_\bn,  but
+              r\bre\bea\bad\bdl\bli\bin\bne\b will  set  it to _\bO_\bf_\bf if the locale contains characters
               whose encodings may include bytes with the eighth bit set.  This
-              variable  is  dependent on the L\bLC\bC_\b_C\bCT\bTY\bYP\bPE\bE locale category, and may
-              change if the locale changes.  This variable  also  affects  key
+              variable is dependent on the L\bLC\bC_\b_C\bCT\bTY\bYP\bPE\bE locale category,  and  may
+              change  if  the  locale changes.  This variable also affects key
               bindings; see the description of f\bfo\bor\brc\bce\be-\b-m\bme\bet\bta\ba-\b-p\bpr\bre\bef\bfi\bix\bx below.
        d\bdi\bis\bsa\bab\bbl\ble\be-\b-c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bn (\b(O\bOf\bff\bf)\b)
               If set to O\bOn\bn, r\bre\bea\bad\bdl\bli\bin\bne\be will inhibit word completion.  Completion
-              characters  will  be  inserted into the line as if they had been
+              characters will be inserted into the line as if  they  had  been
               mapped to s\bse\bel\blf\bf-\b-i\bin\bns\bse\ber\brt\bt.
        e\bec\bch\bho\bo-\b-c\bco\bon\bnt\btr\bro\bol\bl-\b-c\bch\bha\bar\bra\bac\bct\bte\ber\brs\bs (\b(O\bOn\bn)\b)
-              When set to O\bOn\bn, on operating systems that indicate they  support
+              When  set to O\bOn\bn, on operating systems that indicate they support
               it, r\bre\bea\bad\bdl\bli\bin\bne\be echoes a character corresponding to a signal gener-
               ated from the keyboard.
        e\bed\bdi\bit\bti\bin\bng\bg-\b-m\bmo\bod\bde\be (\b(e\bem\bma\bac\bcs\bs)\b)
-              Controls  whether r\bre\bea\bad\bdl\bli\bin\bne\be uses a set of key bindings similar to
+              Controls whether r\bre\bea\bad\bdl\bli\bin\bne\be uses a set of key bindings similar  to
               _\bE_\bm_\ba_\bc_\bs or _\bv_\bi.  e\bed\bdi\bit\bti\bin\bng\bg-\b-m\bmo\bod\bde\be can be set to either e\bem\bma\bac\bcs\bs or v\bvi\bi.
        e\bem\bma\bac\bcs\bs-\b-m\bmo\bod\bde\be-\b-s\bst\btr\bri\bin\bng\bg (\b(@\b@)\b)
-              If the _\bs_\bh_\bo_\bw_\b-_\bm_\bo_\bd_\be_\b-_\bi_\bn_\b-_\bp_\br_\bo_\bm_\bp_\bt variable is enabled, this  string  is
+              If  the  _\bs_\bh_\bo_\bw_\b-_\bm_\bo_\bd_\be_\b-_\bi_\bn_\b-_\bp_\br_\bo_\bm_\bp_\bt variable is enabled, this string is
               displayed immediately before the last line of the primary prompt
               when emacs editing mode is active.  The value is expanded like a
-              key  binding, so the standard set of meta- and control- prefixes
-              and backslash escape sequences is available.  The \1 and \2  es-
-              capes  begin and end sequences of non-printing characters, which
-              can be used to embed a terminal control sequence into  the  mode
+              key binding, so the standard set of meta- and control-  prefixes
+              and  backslash escape sequences is available.  The \1 and \2 es-
+              capes begin and end sequences of non-printing characters,  which
+              can  be  used to embed a terminal control sequence into the mode
               string.
        e\ben\bna\bab\bbl\ble\be-\b-a\bac\bct\bti\biv\bve\be-\b-r\bre\beg\bgi\bio\bon\bn (\b(O\bOn\bn)\b)
-              When  this  variable  is set to _\bO_\bn, r\bre\bea\bad\bdl\bli\bin\bne\be allows certain com-
+              When this variable is set to _\bO_\bn, r\bre\bea\bad\bdl\bli\bin\bne\be  allows  certain  com-
               mands to designate the region as _\ba_\bc_\bt_\bi_\bv_\be.  When the region is ac-
               tive, r\bre\bea\bad\bdl\bli\bin\bne\be highlights the text in the region using the value
-              of the a\bac\bct\bti\biv\bve\be-\b-r\bre\beg\bgi\bio\bon\bn-\b-s\bst\bta\bar\brt\bt-\b-c\bco\bol\blo\bor\br, which defaults to  the  string
-              that  enables  the  terminal's standout mode.  The active region
+              of  the  a\bac\bct\bti\biv\bve\be-\b-r\bre\beg\bgi\bio\bon\bn-\b-s\bst\bta\bar\brt\bt-\b-c\bco\bol\blo\bor\br, which defaults to the string
+              that enables the terminal's standout mode.   The  active  region
               shows the text inserted by bracketed-paste and any matching text
               found by incremental and non-incremental history searches.
        e\ben\bna\bab\bbl\ble\be-\b-b\bbr\bra\bac\bck\bke\bet\bte\bed\bd-\b-p\bpa\bas\bst\bte\be (\b(O\bOn\bn)\b)
-              When set to O\bOn\bn, r\bre\bea\bad\bdl\bli\bin\bne\be configures the terminal to insert  each
-              paste  into the editing buffer as a single string of characters,
-              instead of treating each character as if it had been  read  from
-              the  keyboard.  This is called _\bb_\br_\ba_\bc_\bk_\be_\bt_\be_\bd_\b-_\bp_\ba_\bs_\bt_\be _\bm_\bo_\bd_\be; it prevents
-              r\bre\bea\bad\bdl\bli\bin\bne\bfrom executing any editing commands bound  to  key  se-
+              When  set to O\bOn\bn, r\bre\bea\bad\bdl\bli\bin\bne\be configures the terminal to insert each
+              paste into the editing buffer as a single string of  characters,
+              instead  of  treating each character as if it had been read from
+              the keyboard.  This is called _\bb_\br_\ba_\bc_\bk_\be_\bt_\be_\bd_\b-_\bp_\ba_\bs_\bt_\be _\bm_\bo_\bd_\be; it  prevents
+              r\bre\bea\bad\bdl\bli\bin\bne\b from  executing  any editing commands bound to key se-
               quences appearing in the pasted text.
        e\ben\bna\bab\bbl\ble\be-\b-k\bke\bey\byp\bpa\bad\bd (\b(O\bOf\bff\bf)\b)
               When set to O\bOn\bn, r\bre\bea\bad\bdl\bli\bin\bne\be will try to enable the application key-
               pad when it is called.  Some systems need this to enable the ar-
               row keys.
        e\ben\bna\bab\bbl\ble\be-\b-m\bme\bet\bta\ba-\b-k\bke\bey\by (\b(O\bOn\bn)\b)
-              When  set  to  O\bOn\bn, r\bre\bea\bad\bdl\bli\bin\bne\be will try to enable any meta modifier
+              When set to O\bOn\bn, r\bre\bea\bad\bdl\bli\bin\bne\be will try to enable  any  meta  modifier
               key the terminal claims to support.  On many terminals, the Meta
-              key is used to send eight-bit characters; this  variable  checks
-              for  the terminal capability that indicates the terminal can en-
-              able and disable a mode that sets the eighth bit of a  character
-              (0200)  if the Meta key is held down when the character is typed
+              key  is  used to send eight-bit characters; this variable checks
+              for the terminal capability that indicates the terminal can  en-
+              able  and disable a mode that sets the eighth bit of a character
+              (0200) if the Meta key is held down when the character is  typed
               (a meta character).
        e\bex\bxp\bpa\ban\bnd\bd-\b-t\bti\bil\bld\bde\be (\b(O\bOf\bff\bf)\b)
               If set to O\bOn\bn, r\bre\bea\bad\bdl\bli\bin\bne\be performs tilde expansion when it attempts
               word completion.
        f\bfo\bor\brc\bce\be-\b-m\bme\bet\bta\ba-\b-p\bpr\bre\bef\bfi\bix\bx (\b(O\bOf\bff\bf)\b)
-              If set to O\bOn\bn, r\bre\bea\bad\bdl\bli\bin\bne\be modifies its behavior  when  binding  key
-              sequences  containing  \M-  or Meta- (see K\bKe\bey\by B\bBi\bin\bnd\bdi\bin\bng\bgs\bs above) by
+              If  set  to  O\bOn\bn, r\bre\bea\bad\bdl\bli\bin\bne\be modifies its behavior when binding key
+              sequences containing \M- or Meta- (see K\bKe\bey\by  B\bBi\bin\bnd\bdi\bin\bng\bgs\bs  above)  by
               converting a key sequence of the form \M-_\bC or Meta-_\bC to the two-
-              character  sequence  E\bES\bSC\bC  _\bC  (adding  the  meta   prefix).    If
+              character   sequence   E\bES\bSC\bC  _\bC  (adding  the  meta  prefix).   If
               f\bfo\bor\brc\bce\be-\b-m\bme\bet\bta\ba-\b-p\bpr\bre\bef\bfi\bix\bx is set to O\bOf\bff\bf (the default), r\bre\bea\bad\bdl\bli\bin\bne\be uses the
-              value  of the c\bco\bon\bnv\bve\ber\brt\bt-\b-m\bme\bet\bta\ba variable to determine whether to per-
-              form this conversion: if c\bco\bon\bnv\bve\ber\brt\bt-\b-m\bme\bet\bta\ba is O\bOn\bn,  r\bre\bea\bad\bdl\bli\bin\bne\b performs
-              the  conversion described above; if it is O\bOf\bff\bf, r\bre\bea\bad\bdl\bli\bin\bne\be converts
+              value of the c\bco\bon\bnv\bve\ber\brt\bt-\b-m\bme\bet\bta\ba variable to determine whether to  per-
+              form  this  conversion: if c\bco\bon\bnv\bve\ber\brt\bt-\b-m\bme\bet\bta\ba is O\bOn\bn, r\bre\bea\bad\bdl\bli\bin\bne\be performs
+              the conversion described above; if it is O\bOf\bff\bf, r\bre\bea\bad\bdl\bli\bin\bne\b converts
               _\bC to a meta character by setting the eighth bit (0200).
        h\bhi\bis\bst\bto\bor\bry\by-\b-p\bpr\bre\bes\bse\ber\brv\bve\be-\b-p\bpo\boi\bin\bnt\bt (\b(O\bOf\bff\bf)\b)
-              If set to O\bOn\bn, the history code attempts to place  point  at  the
-              same  location on each history line retrieved with p\bpr\bre\bev\bvi\bio\bou\bus\bs-\b-h\bhi\bis\bs-\b-
+              If  set  to  O\bOn\bn, the history code attempts to place point at the
+              same location on each history line retrieved with  p\bpr\bre\bev\bvi\bio\bou\bus\bs-\b-h\bhi\bis\bs-\b-
               t\bto\bor\bry\by or n\bne\bex\bxt\bt-\b-h\bhi\bis\bst\bto\bor\bry\by.
        h\bhi\bis\bst\bto\bor\bry\by-\b-s\bsi\biz\bze\be (\b(u\bun\bns\bse\bet\bt)\b)
-              Set the maximum number of history entries saved in  the  history
-              list.   If set to zero, any existing history entries are deleted
+              Set  the  maximum number of history entries saved in the history
+              list.  If set to zero, any existing history entries are  deleted
               and no new entries are saved.  If set to a value less than zero,
-              the number of history entries is not limited.  By  default,  the
-              number  of history entries is not limited.  Setting _\bh_\bi_\bs_\bt_\bo_\br_\by_\b-_\bs_\bi_\bz_\be
-              to a non-numeric value will set the maximum  number  of  history
+              the  number  of history entries is not limited.  By default, the
+              number of history entries is not limited.  Setting  _\bh_\bi_\bs_\bt_\bo_\br_\by_\b-_\bs_\bi_\bz_\be
+              to  a  non-numeric  value will set the maximum number of history
               entries to 500.
        h\bho\bor\bri\biz\bzo\bon\bnt\bta\bal\bl-\b-s\bsc\bcr\bro\bol\bll\bl-\b-m\bmo\bod\bde\be (\b(O\bOf\bff\bf)\b)
               Setting this variable to O\bOn\bn makes r\bre\bea\bad\bdl\bli\bin\bne\be use a single line for
-              display,  scrolling  the  input  horizontally on a single screen
-              line when it becomes longer than the screen  width  rather  than
-              wrapping  to  a new line.  This setting is automatically enabled
+              display, scrolling the input horizontally  on  a  single  screen
+              line  when  it  becomes longer than the screen width rather than
+              wrapping to a new line.  This setting is  automatically  enabled
               for terminals of height 1.
        i\bin\bnp\bpu\but\bt-\b-m\bme\bet\bta\ba (\b(O\bOf\bff\bf)\b)
-              If set to O\bOn\bn, r\bre\bea\bad\bdl\bli\bin\bne\be will enable eight-bit input (that is,  it
-              will  not  clear the eighth bit in the characters it reads), re-
-              gardless of what the terminal claims it can  support.   The  de-
-              fault  is _\bO_\bf_\bf, but r\bre\bea\bad\bdl\bli\bin\bne\be will set it to _\bO_\bn if the locale con-
-              tains characters whose encodings  may  include  bytes  with  the
-              eighth  bit set.  This variable is dependent on the L\bLC\bC_\b_C\bCT\bTY\bYP\bPE\bE lo-
-              cale category, and its value may change if the  locale  changes.
+              If  set to O\bOn\bn, r\bre\bea\bad\bdl\bli\bin\bne\be will enable eight-bit input (that is, it
+              will not clear the eighth bit in the characters it  reads),  re-
+              gardless  of  what  the terminal claims it can support.  The de-
+              fault is _\bO_\bf_\bf, but r\bre\bea\bad\bdl\bli\bin\bne\be will set it to _\bO_\bn if the locale  con-
+              tains  characters  whose  encodings  may  include bytes with the
+              eighth bit set.  This variable is dependent on the L\bLC\bC_\b_C\bCT\bTY\bYP\bPE\b lo-
+              cale  category,  and its value may change if the locale changes.
               The name m\bme\bet\bta\ba-\b-f\bfl\bla\bag\bg is a synonym for i\bin\bnp\bpu\but\bt-\b-m\bme\bet\bta\ba.
        i\bis\bse\bea\bar\brc\bch\bh-\b-t\bte\ber\brm\bmi\bin\bna\bat\bto\bor\brs\bs (\b("C\bC-\b-[\b[C\bC-\b-J\bJ")\b)
-              The  string  of  characters that should terminate an incremental
-              search without subsequently executing the character  as  a  com-
-              mand.   If this variable has not been given a value, the charac-
+              The string of characters that should  terminate  an  incremental
+              search  without  subsequently  executing the character as a com-
+              mand.  If this variable has not been given a value, the  charac-
               ters _\bE_\bS_\bC and _\bC_\b-_\bJ will terminate an incremental search.
        k\bke\bey\bym\bma\bap\bp (\b(e\bem\bma\bac\bcs\bs)\b)
-              Set the current r\bre\bea\bad\bdl\bli\bin\bne\be keymap.  The set of valid keymap  names
-              is  _\be_\bm_\ba_\bc_\bs_\b,  _\be_\bm_\ba_\bc_\bs_\b-_\bs_\bt_\ba_\bn_\bd_\ba_\br_\bd_\b,  _\be_\bm_\ba_\bc_\bs_\b-_\bm_\be_\bt_\ba_\b, _\be_\bm_\ba_\bc_\bs_\b-_\bc_\bt_\bl_\bx_\b, _\bv_\bi_\b, _\bv_\bi_\b-_\bc_\bo_\bm_\b-
-              _\bm_\ba_\bn_\bd, and _\bv_\bi_\b-_\bi_\bn_\bs_\be_\br_\bt.  _\bv_\bi is equivalent to _\bv_\bi_\b-_\bc_\bo_\bm_\bm_\ba_\bn_\bd;  _\be_\bm_\ba_\bc_\b is
-              equivalent  to  _\be_\bm_\ba_\bc_\bs_\b-_\bs_\bt_\ba_\bn_\bd_\ba_\br_\bd.  The default value is _\be_\bm_\ba_\bc_\bs; the
+              Set  the current r\bre\bea\bad\bdl\bli\bin\bne\be keymap.  The set of valid keymap names
+              is _\be_\bm_\ba_\bc_\bs_\b, _\be_\bm_\ba_\bc_\bs_\b-_\bs_\bt_\ba_\bn_\bd_\ba_\br_\bd_\b, _\be_\bm_\ba_\bc_\bs_\b-_\bm_\be_\bt_\ba_\b,  _\be_\bm_\ba_\bc_\bs_\b-_\bc_\bt_\bl_\bx_\b,  _\bv_\bi_\b _\bv_\bi_\b-_\bc_\bo_\bm_\b-
+              _\bm_\ba_\bn_\bd,  and  _\bv_\bi_\b-_\bi_\bn_\bs_\be_\br_\bt.  _\bv_\bi is equivalent to _\bv_\bi_\b-_\bc_\bo_\bm_\bm_\ba_\bn_\bd; _\be_\bm_\ba_\bc_\bs is
+              equivalent to _\be_\bm_\ba_\bc_\bs_\b-_\bs_\bt_\ba_\bn_\bd_\ba_\br_\bd.  The default value is  _\be_\bm_\ba_\bc_\bs;  the
               value of e\bed\bdi\bit\bti\bin\bng\bg-\b-m\bmo\bod\bde\be also affects the default keymap.
        k\bke\bey\bys\bse\beq\bq-\b-t\bti\bim\bme\beo\bou\but\bt (\b(5\b50\b00\b0)\b)
-              Specifies the duration r\bre\bea\bad\bdl\bli\bin\bne\be will wait for a  character  when
-              reading  an ambiguous key sequence (one that can form a complete
+              Specifies  the  duration r\bre\bea\bad\bdl\bli\bin\bne\be will wait for a character when
+              reading an ambiguous key sequence (one that can form a  complete
               key sequence using the input read so far, or can take additional
-              input to complete a longer key sequence).  If r\bre\bea\bad\bdl\bli\bin\bne\be does  not
-              receive  any  input  within the timeout, it will use the shorter
-              but complete key sequence.  The value is specified in  millisec-
-              onds,  so a value of 1000 means that r\bre\bea\bad\bdl\bli\bin\bne\be will wait one sec-
-              ond for additional input.  If this variable is set  to  a  value
-              less  than or equal to zero, or to a non-numeric value, r\bre\bea\bad\bdl\bli\bin\bne\be
-              will wait until another key is pressed to decide which  key  se-
+              input  to complete a longer key sequence).  If r\bre\bea\bad\bdl\bli\bin\bne\be does not
+              receive any input within the timeout, it will  use  the  shorter
+              but  complete key sequence.  The value is specified in millisec-
+              onds, so a value of 1000 means that r\bre\bea\bad\bdl\bli\bin\bne\be will wait one  sec-
+              ond  for  additional  input.  If this variable is set to a value
+              less than or equal to zero, or to a non-numeric value,  r\bre\bea\bad\bdl\bli\bin\bne\be
+              will  wait  until another key is pressed to decide which key se-
               quence to complete.
        m\bma\bar\brk\bk-\b-d\bdi\bir\bre\bec\bct\bto\bor\bri\bie\bes\bs (\b(O\bOn\bn)\b)
               If set to O\bOn\bn, completed directory names have a slash appended.
        m\bma\bar\brk\bk-\b-m\bmo\bod\bdi\bif\bfi\bie\bed\bd-\b-l\bli\bin\bne\bes\bs (\b(O\bOf\bff\bf)\b)
-              If  set  to  O\bOn\bn,  r\bre\bea\bad\bdl\bli\bin\bne\be displays history lines that have been
+              If set to O\bOn\bn, r\bre\bea\bad\bdl\bli\bin\bne\be displays history  lines  that  have  been
               modified with a preceding asterisk (*\b*).
        m\bma\bar\brk\bk-\b-s\bsy\bym\bml\bli\bin\bnk\bke\bed\bd-\b-d\bdi\bir\bre\bec\bct\bto\bor\bri\bie\bes\bs (\b(O\bOf\bff\bf)\b)
               If set to O\bOn\bn, completed names which are symbolic links to direc-
-              tories have a slash appended, subject to the value  of  m\bma\bar\brk\bk-\b-d\bdi\bi-\b-
+              tories  have  a slash appended, subject to the value of m\bma\bar\brk\bk-\b-d\bdi\bi-\b-
               r\bre\bec\bct\bto\bor\bri\bie\bes\bs.
        m\bma\bat\btc\bch\bh-\b-h\bhi\bid\bdd\bde\ben\bn-\b-f\bfi\bil\ble\bes\bs (\b(O\bOn\bn)\b)
-              This  variable,  when  set to O\bOn\bn, forces r\bre\bea\bad\bdl\bli\bin\bne\be to match files
-              whose names begin with a "."   (hidden  files)  when  performing
-              filename  completion.   If set to O\bOf\bff\bf, the user must include the
+              This variable, when set to O\bOn\bn, forces r\bre\bea\bad\bdl\bli\bin\bne\be  to  match  files
+              whose  names  begin  with  a "."  (hidden files) when performing
+              filename completion.  If set to O\bOf\bff\bf, the user must  include  the
               leading "."  in the filename to be completed.
        m\bme\ben\bnu\bu-\b-c\bco\bom\bmp\bpl\ble\bet\bte\be-\b-d\bdi\bis\bsp\bpl\bla\bay\by-\b-p\bpr\bre\bef\bfi\bix\bx (\b(O\bOf\bff\bf)\b)
-              If set to O\bOn\bn, menu completion displays the common prefix of  the
+              If  set to O\bOn\bn, menu completion displays the common prefix of the
               list of possible completions (which may be empty) before cycling
               through the list.
        o\bou\but\btp\bpu\but\bt-\b-m\bme\bet\bta\ba (\b(O\bOf\bff\bf)\b)
-              If  set  to O\bOn\bn, r\bre\bea\bad\bdl\bli\bin\bne\be will display characters with the eighth
+              If set to O\bOn\bn, r\bre\bea\bad\bdl\bli\bin\bne\be will display characters with  the  eighth
               bit set directly rather than as a meta-prefixed escape sequence.
               The default is _\bO_\bf_\bf, but r\bre\bea\bad\bdl\bli\bin\bne\be will set it to _\bO_\bn if the locale
-              contains characters whose encodings may include bytes  with  the
-              eighth  bit set.  This variable is dependent on the L\bLC\bC_\b_C\bCT\bTY\bYP\bPE\bE lo-
+              contains  characters  whose encodings may include bytes with the
+              eighth bit set.  This variable is dependent on the L\bLC\bC_\b_C\bCT\bTY\bYP\bPE\b lo-
               cale category, and its value may change if the locale changes.
        p\bpa\bag\bge\be-\b-c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bns\bs (\b(O\bOn\bn)\b)
-              If set to O\bOn\bn, r\bre\bea\bad\bdl\bli\bin\bne\be uses an internal _\bm_\bo_\br_\be-like pager to  dis-
+              If  set to O\bOn\bn, r\bre\bea\bad\bdl\bli\bin\bne\be uses an internal _\bm_\bo_\br_\be-like pager to dis-
               play a screenful of possible completions at a time.
        p\bpr\bre\bef\bfe\ber\br-\b-v\bvi\bis\bsi\bib\bbl\ble\be-\b-b\bbe\bel\bll\bl
               See b\bbe\bel\bll\bl-\b-s\bst\bty\byl\ble\be.
        p\bpr\bri\bin\bnt\bt-\b-c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bns\bs-\b-h\bho\bor\bri\biz\bzo\bon\bnt\bta\bal\bll\bly\by (\b(O\bOf\bff\bf)\b)
-              If  set  to  O\bOn\bn,  r\bre\bea\bad\bdl\bli\bin\bne\be will display completions with matches
-              sorted horizontally in alphabetical order, rather than down  the
+              If set to O\bOn\bn, r\bre\bea\bad\bdl\bli\bin\bne\be will  display  completions  with  matches
+              sorted  horizontally in alphabetical order, rather than down the
               screen.
        r\bre\bev\bve\ber\brt\bt-\b-a\bal\bll\bl-\b-a\bat\bt-\b-n\bne\bew\bwl\bli\bin\bne\be (\b(O\bOf\bff\bf)\b)
-              If  set  to  O\bOn\bn, r\bre\bea\bad\bdl\bli\bin\bne\be will undo all changes to history lines
-              before returning when executing a\bac\bcc\bce\bep\bpt\bt-\b-l\bli\bin\bne\be.  By  default,  his-
-              tory  lines  may  be  modified  and retain individual undo lists
+              If set to O\bOn\bn, r\bre\bea\bad\bdl\bli\bin\bne\be will undo all changes  to  history  lines
+              before  returning  when executing a\bac\bcc\bce\bep\bpt\bt-\b-l\bli\bin\bne\be.  By default, his-
+              tory lines may be modified  and  retain  individual  undo  lists
               across calls to r\bre\bea\bad\bdl\bli\bin\bne\be(\b()\b).
        s\bse\bea\bar\brc\bch\bh-\b-i\big\bgn\bno\bor\bre\be-\b-c\bca\bas\bse\be (\b(O\bOf\bff\bf)\b)
-              If set to O\bOn\bn, r\bre\bea\bad\bdl\bli\bin\bne\be performs incremental and  non-incremental
+              If  set to O\bOn\bn, r\bre\bea\bad\bdl\bli\bin\bne\be performs incremental and non-incremental
               history list searches in a case-insensitive fashion.
        s\bsh\bho\bow\bw-\b-a\bal\bll\bl-\b-i\bif\bf-\b-a\bam\bmb\bbi\big\bgu\buo\bou\bus\bs (\b(O\bOf\bff\bf)\b)
-              This  alters  the  default behavior of the completion functions.
+              This alters the default behavior of  the  completion  functions.
               If set to O\bOn\bn, words which have more than one possible completion
-              cause the matches to be listed immediately  instead  of  ringing
+              cause  the  matches  to be listed immediately instead of ringing
               the bell.
        s\bsh\bho\bow\bw-\b-a\bal\bll\bl-\b-i\bif\bf-\b-u\bun\bnm\bmo\bod\bdi\bif\bfi\bie\bed\bd (\b(O\bOf\bff\bf)\b)
-              This  alters the default behavior of the completion functions in
+              This alters the default behavior of the completion functions  in
               a fashion similar to s\bsh\bho\bow\bw-\b-a\bal\bll\bl-\b-i\bif\bf-\b-a\bam\bmb\bbi\big\bgu\buo\bou\bus\bs.  If set to O\bOn\bn, words
-              which have more than one possible completion without any  possi-
-              ble  partial  completion (the possible completions don't share a
-              common prefix) cause the matches to be  listed  immediately  in-
+              which  have more than one possible completion without any possi-
+              ble partial completion (the possible completions don't  share  a
+              common  prefix)  cause  the matches to be listed immediately in-
               stead of ringing the bell.
        s\bsh\bho\bow\bw-\b-m\bmo\bod\bde\be-\b-i\bin\bn-\b-p\bpr\bro\bom\bmp\bpt\bt (\b(O\bOf\bff\bf)\b)
-              If  set to O\bOn\bn, add a string to the beginning of the prompt indi-
-              cating the editing mode: emacs, vi  command,  or  vi  insertion.
+              If set to O\bOn\bn, add a string to the beginning of the prompt  indi-
+              cating  the  editing  mode:  emacs, vi command, or vi insertion.
               The mode strings are user-settable (e.g., _\be_\bm_\ba_\bc_\bs_\b-_\bm_\bo_\bd_\be_\b-_\bs_\bt_\br_\bi_\bn_\bg).
        s\bsk\bki\bip\bp-\b-c\bco\bom\bmp\bpl\ble\bet\bte\bed\bd-\b-t\bte\bex\bxt\bt (\b(O\bOf\bff\bf)\b)
-              If  set  to O\bOn\bn, this alters the default completion behavior when
-              inserting a single match into the line.  It's only  active  when
-              performing  completion  in  the  middle  of a word.  If enabled,
-              r\bre\bea\bad\bdl\bli\bin\bne\bdoes not insert characters  from  the  completion  that
-              match  characters  after  point  in the word being completed, so
+              If set to O\bOn\bn, this alters the default completion  behavior  when
+              inserting  a  single match into the line.  It's only active when
+              performing completion in the middle  of  a  word.   If  enabled,
+              r\bre\bea\bad\bdl\bli\bin\bne\b does  not  insert  characters from the completion that
+              match characters after point in the  word  being  completed,  so
               portions of the word following the cursor are not duplicated.
        v\bvi\bi-\b-c\bcm\bmd\bd-\b-m\bmo\bod\bde\be-\b-s\bst\btr\bri\bin\bng\bg (\b((\b(c\bcm\bmd\bd)\b))\b)
-              If the _\bs_\bh_\bo_\bw_\b-_\bm_\bo_\bd_\be_\b-_\bi_\bn_\b-_\bp_\br_\bo_\bm_\bp_\bt variable is enabled, this  string  is
+              If  the  _\bs_\bh_\bo_\bw_\b-_\bm_\bo_\bd_\be_\b-_\bi_\bn_\b-_\bp_\br_\bo_\bm_\bp_\bt variable is enabled, this string is
               displayed immediately before the last line of the primary prompt
-              when  vi  editing mode is active and in command mode.  The value
+              when vi editing mode is active and in command mode.   The  value
               is expanded like a key binding, so the standard set of meta- and
-              control- prefixes and backslash escape sequences  is  available.
-              The  \1  and  \2 escapes begin and end sequences of non-printing
-              characters, which can be used to embed a  terminal  control  se-
+              control-  prefixes  and backslash escape sequences is available.
+              The \1 and \2 escapes begin and end  sequences  of  non-printing
+              characters,  which  can  be used to embed a terminal control se-
               quence into the mode string.
        v\bvi\bi-\b-i\bin\bns\bs-\b-m\bmo\bod\bde\be-\b-s\bst\btr\bri\bin\bng\bg (\b((\b(i\bin\bns\bs)\b))\b)
-              If  the  _\bs_\bh_\bo_\bw_\b-_\bm_\bo_\bd_\be_\b-_\bi_\bn_\b-_\bp_\br_\bo_\bm_\bp_\bt variable is enabled, this string is
+              If the _\bs_\bh_\bo_\bw_\b-_\bm_\bo_\bd_\be_\b-_\bi_\bn_\b-_\bp_\br_\bo_\bm_\bp_\bt variable is enabled, this  string  is
               displayed immediately before the last line of the primary prompt
               when vi editing mode is active and in insertion mode.  The value
               is expanded like a key binding, so the standard set of meta- and
-              control- prefixes and backslash escape sequences  is  available.
-              The  \1  and  \2 escapes begin and end sequences of non-printing
-              characters, which can be used to embed a  terminal  control  se-
+              control-  prefixes  and backslash escape sequences is available.
+              The \1 and \2 escapes begin and end  sequences  of  non-printing
+              characters,  which  can  be used to embed a terminal control se-
               quence into the mode string.
        v\bvi\bis\bsi\bib\bbl\ble\be-\b-s\bst\bta\bat\bts\bs (\b(O\bOf\bff\bf)\b)
-              If  set to O\bOn\bn, a character denoting a file's type as reported by
-              _\bs_\bt_\ba_\bt(2) is appended to the filename when listing  possible  com-
+              If set to O\bOn\bn, a character denoting a file's type as reported  by
+              _\bs_\bt_\ba_\bt(2)  is  appended to the filename when listing possible com-
               pletions.
 
    C\bCo\bon\bnd\bdi\bit\bti\bio\bon\bna\bal\bl C\bCo\bon\bns\bst\btr\bru\buc\bct\bts\bs
-       R\bRe\bea\bad\bdl\bli\bin\bne\b implements  a  facility  similar in spirit to the conditional
-       compilation features of the C preprocessor which  allows  key  bindings
-       and  variable  settings  to be performed as the result of tests.  There
+       R\bRe\bea\bad\bdl\bli\bin\bne\bimplements a facility similar in  spirit  to  the  conditional
+       compilation  features  of  the C preprocessor which allows key bindings
+       and variable settings to be performed as the result  of  tests.   There
        are four parser directives available.
 
-       $\b$i\bif\bf    The $\b$i\bif\bf construct allows bindings to be made based on the  edit-
-              ing  mode,  the  terminal  being  used, or the application using
-              r\bre\bea\bad\bdl\bli\bin\bne\be.  The text of the test, after any comparison  operator,
+       $\b$i\bif\bf    The  $\b$i\bif\bf construct allows bindings to be made based on the edit-
+              ing mode, the terminal being  used,  or  the  application  using
+              r\bre\bea\bad\bdl\bli\bin\bne\be.   The text of the test, after any comparison operator,
               extends to the end of the line; unless otherwise noted, no char-
               acters are required to isolate it.
 
-              m\bmo\bod\bde\be   The  m\bmo\bod\bde\be=\b=  form  of  the  $\b$i\bif\bf  directive is used to test
-                     whether r\bre\bea\bad\bdl\bli\bin\bne\be is in emacs or vi  mode.   This  may  be
-                     used  in conjunction with the s\bse\bet\bt k\bke\bey\bym\bma\bap\bp command, for in-
-                     stance,  to  set  bindings  in  the  _\be_\bm_\ba_\bc_\bs_\b-_\bs_\bt_\ba_\bn_\bd_\ba_\br_\b  and
-                     _\be_\bm_\ba_\bc_\bs_\b-_\bc_\bt_\bl_\b keymaps  only  if r\bre\bea\bad\bdl\bli\bin\bne\be is starting out in
+              m\bmo\bod\bde\be   The m\bmo\bod\bde\be=\b= form of the  $\b$i\bif\bf  directive  is  used  to  test
+                     whether  r\bre\bea\bad\bdl\bli\bin\bne\be  is  in  emacs or vi mode.  This may be
+                     used in conjunction with the s\bse\bet\bt k\bke\bey\bym\bma\bap\bp command, for  in-
+                     stance,   to  set  bindings  in  the  _\be_\bm_\ba_\bc_\bs_\b-_\bs_\bt_\ba_\bn_\bd_\ba_\br_\bd  and
+                     _\be_\bm_\ba_\bc_\bs_\b-_\bc_\bt_\bl_\bkeymaps only if r\bre\bea\bad\bdl\bli\bin\bne\be is  starting  out  in
                      emacs mode.
 
-              t\bte\ber\brm\bm   The t\bte\ber\brm\bm=\b= form may be used to  include  terminal-specific
+              t\bte\ber\brm\bm   The  t\bte\ber\brm\bm=\b=  form may be used to include terminal-specific
                      key bindings, perhaps to bind the key sequences output by
                      the terminal's function keys.  The word on the right side
                      of the =\b= is tested against both the full name of the ter-
-                     minal  and  the  portion  of the terminal name before the
-                     first -\b-.  This allows  _\bx_\bt_\be_\br_\bm  to  match  both  _\bx_\bt_\be_\br_\b and
+                     minal and the portion of the  terminal  name  before  the
+                     first  -\b-.   This  allows  _\bx_\bt_\be_\br_\bm  to  match both _\bx_\bt_\be_\br_\bm and
                      _\bx_\bt_\be_\br_\bm_\b-_\b2_\b5_\b6_\bc_\bo_\bl_\bo_\br, for instance.
 
               v\bve\ber\brs\bsi\bio\bon\bn
-                     The  v\bve\ber\brs\bsi\bio\bon\bn  test  may  be  used  to perform comparisons
-                     against specific r\bre\bea\bad\bdl\bli\bin\bne\be versions.  The v\bve\ber\brs\bsi\bio\bon\b expands
-                     to  the  current r\bre\bea\bad\bdl\bli\bin\bne\be version.  The set of comparison
-                     operators includes =\b=, (and =\b==\b=), !\b!=\b=, <\b<=\b=,  >\b>=\b=,  <\b<,  and  >\b>.
-                     The  version number supplied on the right side of the op-
-                     erator consists of a major version  number,  an  optional
+                     The v\bve\ber\brs\bsi\bio\bon\bn test  may  be  used  to  perform  comparisons
+                     against  specific r\bre\bea\bad\bdl\bli\bin\bne\be versions.  The v\bve\ber\brs\bsi\bio\bon\bn expands
+                     to the current r\bre\bea\bad\bdl\bli\bin\bne\be version.  The set  of  comparison
+                     operators  includes  =\b=,  (and  =\b==\b=), !\b!=\b=, <\b<=\b=, >\b>=\b=, <\b<, and >\b>.
+                     The version number supplied on the right side of the  op-
+                     erator  consists  of  a major version number, an optional
                      decimal point, and an optional minor version (e.g., 7\b7.\b.1\b1).
-                     If  the  minor version is omitted, it defaults to 0\b0.  The
-                     operator may be separated from  the  string  v\bve\ber\brs\bsi\bio\bon\b and
+                     If the minor version is omitted, it defaults to  0\b0.   The
+                     operator  may  be  separated  from the string v\bve\ber\brs\bsi\bio\bon\bn and
                      from the version number argument by whitespace.
 
               _\ba_\bp_\bp_\bl_\bi_\bc_\ba_\bt_\bi_\bo_\bn
                      The _\ba_\bp_\bp_\bl_\bi_\bc_\ba_\bt_\bi_\bo_\bn construct is used to include application-
-                     specific  settings.   Each program using the r\bre\bea\bad\bdl\bli\bin\bne\be li-
-                     brary sets the _\ba_\bp_\bp_\bl_\bi_\bc_\ba_\bt_\bi_\bo_\bn _\bn_\ba_\bm_\be,  and  an  initialization
+                     specific settings.  Each program using the  r\bre\bea\bad\bdl\bli\bin\bne\b li-
+                     brary  sets  the  _\ba_\bp_\bp_\bl_\bi_\bc_\ba_\bt_\bi_\bo_\bn _\bn_\ba_\bm_\be, and an initialization
                      file can test for a particular value.  This could be used
-                     to  bind key sequences to functions useful for a specific
-                     program.  For instance, the following command adds a  key
-                     sequence  that  quotes  the  current  or previous word in
+                     to bind key sequences to functions useful for a  specific
+                     program.   For instance, the following command adds a key
+                     sequence that quotes the  current  or  previous  word  in
                      b\bba\bas\bsh\bh:
 
                      $\b$i\bif\bf Bash
@@ -552,12 +552,12 @@ I\bIN\bNI\bIT\bTI\bIA\bAL\bLI\bIZ\bZA\bAT\bTI\bIO\bON\bN F\bFI\bIL\bLE\bE
 
               _\bv_\ba_\br_\bi_\ba_\bb_\bl_\be
                      The _\bv_\ba_\br_\bi_\ba_\bb_\bl_\be construct provides simple equality tests for
-                     r\bre\bea\bad\bdl\bli\bin\bne\bvariables and values.  The permitted  comparison
-                     operators  are  _\b=, _\b=_\b=, and _\b!_\b=.  The variable name must be
+                     r\bre\bea\bad\bdl\bli\bin\bne\b variables and values.  The permitted comparison
+                     operators are _\b=, _\b=_\b=, and _\b!_\b=.  The variable name  must  be
                      separated from the comparison operator by whitespace; the
-                     operator may be separated from the  value  on  the  right
-                     hand  side  by  whitespace.  String and boolean variables
-                     may be tested.  Boolean variables must be tested  against
+                     operator  may  be  separated  from the value on the right
+                     hand side by whitespace.  String  and  boolean  variables
+                     may  be tested.  Boolean variables must be tested against
                      the values _\bo_\bn and _\bo_\bf_\bf.
 
        $\b$e\bel\bls\bse\be  Commands in this branch of the $\b$i\bif\bf directive are executed if the
@@ -567,68 +567,68 @@ I\bIN\bNI\bIT\bTI\bIA\bAL\bLI\bIZ\bZA\bAT\bTI\bIO\bON\bN F\bFI\bIL\bLE\bE
               command.
 
        $\b$i\bin\bnc\bcl\blu\bud\bde\be
-              This  directive takes a single filename as an argument and reads
+              This directive takes a single filename as an argument and  reads
               commands and key bindings from that file.  For example, the fol-
               lowing directive would read _\b/_\be_\bt_\bc_\b/_\bi_\bn_\bp_\bu_\bt_\br_\bc:
 
               $\b$i\bin\bnc\bcl\blu\bud\bde\be  _\b/_\be_\bt_\bc_\b/_\bi_\bn_\bp_\bu_\bt_\br_\bc
 
 S\bSE\bEA\bAR\bRC\bCH\bHI\bIN\bNG\bG
-       R\bRe\bea\bad\bdl\bli\bin\bne\bprovides commands for searching through  the  command  history
-       for  lines  containing a specified string.  There are two search modes:
+       R\bRe\bea\bad\bdl\bli\bin\bne\b provides  commands  for searching through the command history
+       for lines containing a specified string.  There are two  search  modes:
        _\bi_\bn_\bc_\br_\be_\bm_\be_\bn_\bt_\ba_\bl and _\bn_\bo_\bn_\b-_\bi_\bn_\bc_\br_\be_\bm_\be_\bn_\bt_\ba_\bl.
 
-       Incremental searches begin before the  user  has  finished  typing  the
-       search  string.  As each character of the search string is typed, r\bre\bea\bad\bd-\b-
+       Incremental  searches  begin  before  the  user has finished typing the
+       search string.  As each character of the search string is typed,  r\bre\bea\bad\bd-\b-
        l\bli\bin\bne\be displays the next entry from the history matching the string typed
-       so far.  An incremental search requires  only  as  many  characters  as
-       needed  to  find  the  desired history entry.  When using emacs editing
-       mode, type C\bC-\b-r\br to search backward  in  the  history  for  a  particular
-       string.   Typing C\bC-\b-s\bs searches forward through the history.  The charac-
-       ters present in the value of the i\bis\bse\bea\bar\brc\bch\bh-\b-t\bte\ber\brm\bmi\bin\bna\bat\bto\bor\brs\bs variable are  used
-       to  terminate an incremental search.  If that variable has not been as-
-       signed a value, _\bE_\bS_\bC and _\bC_\b-_\bJ will terminate an incremental search.   _\bC_\b-_\bg
-       will  abort  an incremental search and restore the original line.  When
-       the search is terminated,  the  history  entry  containing  the  search
+       so  far.   An  incremental  search  requires only as many characters as
+       needed to find the desired history entry.   When  using  emacs  editing
+       mode,  type  C\bC-\b-r\br  to  search  backward  in the history for a particular
+       string.  Typing C\bC-\b-s\bs searches forward through the history.  The  charac-
+       ters  present in the value of the i\bis\bse\bea\bar\brc\bch\bh-\b-t\bte\ber\brm\bmi\bin\bna\bat\bto\bor\brs\bs variable are used
+       to terminate an incremental search.  If that variable has not been  as-
+       signed  a value, _\bE_\bS_\bC and _\bC_\b-_\bJ will terminate an incremental search.  _\bC_\b-_\bg
+       will abort an incremental search and restore the original  line.   When
+       the  search  is  terminated,  the  history  entry containing the search
        string becomes the current line.
 
-       To  find other matching entries in the history list, type C\bC-\b-r\br or C\bC-\b-s\bs as
-       appropriate.  This will search backward or forward in the  history  for
-       the  next entry matching the search string typed so far.  Any other key
+       To find other matching entries in the history list, type C\bC-\b-r\br or C\bC-\b-s\b as
+       appropriate.   This  will search backward or forward in the history for
+       the next entry matching the search string typed so far.  Any other  key
        sequence bound to a r\bre\bea\bad\bdl\bli\bin\bne\be command will terminate the search and exe-
-       cute that command.  For instance, a newline will terminate  the  search
-       and  accept  the  line,  thereby executing the command from the history
+       cute  that  command.  For instance, a newline will terminate the search
+       and accept the line, thereby executing the  command  from  the  history
        list.  A movement command will terminate the search, make the last line
        found the current line, and begin editing.
 
        R\bRe\bea\bad\bdl\bli\bin\bne\be remembers the last incremental search string.  If two C\bC-\b-r\brs are
-       typed without any intervening characters defining a new search  string,
+       typed  without any intervening characters defining a new search string,
        r\bre\bea\bad\bdl\bli\bin\bne\be uses any remembered search string.
 
-       Non-incremental  searches read the entire search string before starting
+       Non-incremental searches read the entire search string before  starting
        to search for matching history entries.  The search string may be typed
        by the user or be part of the contents of the current line.
 
 E\bED\bDI\bIT\bTI\bIN\bNG\bG C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
-       The following is a list of the names of the commands  and  the  default
+       The  following  is  a list of the names of the commands and the default
        key sequences to which they are bound.  Command names without an accom-
        panying key sequence are unbound by default.
 
        In the following descriptions, _\bp_\bo_\bi_\bn_\bt refers to the current cursor posi-
-       tion,  and  _\bm_\ba_\br_\bk refers to a cursor position saved by the s\bse\bet\bt-\b-m\bma\bar\brk\bk com-
-       mand.  The text between the point and mark is referred to  as  the  _\br_\be_\b-
+       tion, and _\bm_\ba_\br_\bk refers to a cursor position saved by the  s\bse\bet\bt-\b-m\bma\bar\brk\b com-
+       mand.   The  text  between the point and mark is referred to as the _\br_\be_\b-
        _\bg_\bi_\bo_\bn.  R\bRe\bea\bad\bdl\bli\bin\bne\be has the concept of an _\ba_\bc_\bt_\bi_\bv_\be _\br_\be_\bg_\bi_\bo_\bn: when the region is
        active, r\bre\bea\bad\bdl\bli\bin\bne\be redisplay highlights the region using the value of the
-       a\bac\bct\bti\biv\bve\be-\b-r\bre\beg\bgi\bio\bon\bn-\b-s\bst\bta\bar\brt\bt-\b-c\bco\bol\blo\bor\b variable.  The e\ben\bna\bab\bbl\ble\be-\b-a\bac\bct\bti\biv\bve\be-\b-r\bre\beg\bgi\bio\bon\bn variable
-       turns this on and off.  Several commands  set  the  region  to  active;
+       a\bac\bct\bti\biv\bve\be-\b-r\bre\beg\bgi\bio\bon\bn-\b-s\bst\bta\bar\brt\bt-\b-c\bco\bol\blo\bor\bvariable.  The e\ben\bna\bab\bbl\ble\be-\b-a\bac\bct\bti\biv\bve\be-\b-r\bre\beg\bgi\bio\bon\b variable
+       turns  this  on  and  off.   Several commands set the region to active;
        those are noted below.
 
    C\bCo\bom\bmm\bma\ban\bnd\bds\bs f\bfo\bor\br M\bMo\bov\bvi\bin\bng\bg
        b\bbe\beg\bgi\bin\bnn\bni\bin\bng\bg-\b-o\bof\bf-\b-l\bli\bin\bne\be (\b(C\bC-\b-a\ba)\b)
-              Move  to  the start of the current line.  This may also be bound
+              Move to the start of the current line.  This may also  be  bound
               to the Home key on some keyboards.
        e\ben\bnd\bd-\b-o\bof\bf-\b-l\bli\bin\bne\be (\b(C\bC-\b-e\be)\b)
-              Move to the end of the line.  This may also be bound to the  End
+              Move  to the end of the line.  This may also be bound to the End
               key on some keyboards.
        f\bfo\bor\brw\bwa\bar\brd\bd-\b-c\bch\bha\bar\br (\b(C\bC-\b-f\bf)\b)
               Move forward a character.
@@ -638,27 +638,27 @@ E\bED\bDI\bIT\bTI\bIN\bNG\bG C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
               Move forward to the end of the next word.  Words are composed of
               alphanumeric characters (letters and digits).
        b\bba\bac\bck\bkw\bwa\bar\brd\bd-\b-w\bwo\bor\brd\bd (\b(M\bM-\b-b\bb)\b)
-              Move  back  to the start of the current or previous word.  Words
+              Move back to the start of the current or previous  word.   Words
               are composed of alphanumeric characters (letters and digits).
        p\bpr\bre\bev\bvi\bio\bou\bus\bs-\b-s\bsc\bcr\bre\bee\ben\bn-\b-l\bli\bin\bne\be
-              Attempt to move point to the same physical screen column on  the
-              previous  physical  screen line.  This will not have the desired
-              effect if the current r\bre\bea\bad\bdl\bli\bin\bne\be line does not take up  more  than
-              one  physical line or if point is not greater than the length of
+              Attempt  to move point to the same physical screen column on the
+              previous physical screen line.  This will not have  the  desired
+              effect  if  the current r\bre\bea\bad\bdl\bli\bin\bne\be line does not take up more than
+              one physical line or if point is not greater than the length  of
               the prompt plus the screen width.
        n\bne\bex\bxt\bt-\b-s\bsc\bcr\bre\bee\ben\bn-\b-l\bli\bin\bne\be
-              Attempt to move point to the same physical screen column on  the
-              next  physical  screen line.  This will not have the desired ef-
+              Attempt  to move point to the same physical screen column on the
+              next physical screen line.  This will not have the  desired  ef-
               fect if the current r\bre\bea\bad\bdl\bli\bin\bne\be line does not take up more than one
-              physical line or if the length of the current r\bre\bea\bad\bdl\bli\bin\bne\be  line  is
+              physical  line  or if the length of the current r\bre\bea\bad\bdl\bli\bin\bne\be line is
               not greater than the length of the prompt plus the screen width.
        c\bcl\ble\bea\bar\br-\b-d\bdi\bis\bsp\bpl\bla\bay\by (\b(M\bM-\b-C\bC-\b-l\bl)\b)
-              Clear  the  screen  and,  if possible, the terminal's scrollback
-              buffer, then redraw the current line, leaving the  current  line
+              Clear the screen and, if  possible,  the  terminal's  scrollback
+              buffer,  then  redraw the current line, leaving the current line
               at the top of the screen.
        c\bcl\ble\bea\bar\br-\b-s\bsc\bcr\bre\bee\ben\bn (\b(C\bC-\b-l\bl)\b)
               Clear the screen, then redraw the current line, leaving the cur-
-              rent  line  at the top of the screen.  With an argument, refresh
+              rent line at the top of the screen.  With an  argument,  refresh
               the current line without clearing the screen.
        r\bre\bed\bdr\bra\baw\bw-\b-c\bcu\bur\brr\bre\ben\bnt\bt-\b-l\bli\bin\bne\be
               Refresh the current line.
@@ -667,45 +667,45 @@ E\bED\bDI\bIT\bTI\bIN\bNG\bG C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
        a\bac\bcc\bce\bep\bpt\bt-\b-l\bli\bin\bne\be (\b(N\bNe\bew\bwl\bli\bin\bne\be,\b, R\bRe\bet\btu\bur\brn\bn)\b)
               Accept the line regardless of where the cursor is.  If this line
               is non-empty, it may be added to the history list for future re-
-              call with a\bad\bdd\bd_\b_h\bhi\bis\bst\bto\bor\bry\by(\b()\b).  If the  line  is  a  modified  history
+              call  with  a\bad\bdd\bd_\b_h\bhi\bis\bst\bto\bor\bry\by(\b()\b).   If  the  line is a modified history
               line, restore the history line to its original state.
        p\bpr\bre\bev\bvi\bio\bou\bus\bs-\b-h\bhi\bis\bst\bto\bor\bry\by (\b(C\bC-\b-p\bp)\b)
               Fetch the previous command from the history list, moving back in
               the list.
        n\bne\bex\bxt\bt-\b-h\bhi\bis\bst\bto\bor\bry\by (\b(C\bC-\b-n\bn)\b)
-              Fetch  the next command from the history list, moving forward in
+              Fetch the next command from the history list, moving forward  in
               the list.
        b\bbe\beg\bgi\bin\bnn\bni\bin\bng\bg-\b-o\bof\bf-\b-h\bhi\bis\bst\bto\bor\bry\by (\b(M\bM-\b-<\b<)\b)
               Move to the first line in the history.
        e\ben\bnd\bd-\b-o\bof\bf-\b-h\bhi\bis\bst\bto\bor\bry\by (\b(M\bM-\b->\b>)\b)
-              Move to the end of the input history, i.e., the  line  currently
+              Move  to  the end of the input history, i.e., the line currently
               being entered.
        o\bop\bpe\ber\bra\bat\bte\be-\b-a\ban\bnd\bd-\b-g\bge\bet\bt-\b-n\bne\bex\bxt\bt (\b(C\bC-\b-o\bo)\b)
               Accept the current line for return to the calling application as
-              if  a newline had been entered, and fetch the next line relative
+              if a newline had been entered, and fetch the next line  relative
               to the current line from the history for editing.  A numeric ar-
-              gument, if supplied, specifies the history entry to use  instead
+              gument,  if supplied, specifies the history entry to use instead
               of the current line.
        f\bfe\bet\btc\bch\bh-\b-h\bhi\bis\bst\bto\bor\bry\by
-              With  a numeric argument, fetch that entry from the history list
+              With a numeric argument, fetch that entry from the history  list
               and make it the current line.  Without an argument, move back to
               the first entry in the history list.
        r\bre\bev\bve\ber\brs\bse\be-\b-s\bse\bea\bar\brc\bch\bh-\b-h\bhi\bis\bst\bto\bor\bry\by (\b(C\bC-\b-r\br)\b)
-              Search backward starting at the current  line  and  moving  "up"
-              through  the  history  as  necessary.   This  is  an incremental
-              search.  This command sets the region to the  matched  text  and
-              activates the region.
-       f\bfo\bor\brw\bwa\bar\brd\bd-\b-s\bse\bea\bar\brc\bch\bh-\b-h\bhi\bis\bst\bto\bor\bry\by (\b(C\bC-\b-s\bs)\b)
-              Search  forward  starting  at the current line and moving "down"
+              Search  backward  starting  at  the current line and moving "up"
               through the  history  as  necessary.   This  is  an  incremental
               search.   This  command  sets the region to the matched text and
               activates the region.
+       f\bfo\bor\brw\bwa\bar\brd\bd-\b-s\bse\bea\bar\brc\bch\bh-\b-h\bhi\bis\bst\bto\bor\bry\by (\b(C\bC-\b-s\bs)\b)
+              Search forward starting at the current line  and  moving  "down"
+              through  the  history  as  necessary.   This  is  an incremental
+              search.  This command sets the region to the  matched  text  and
+              activates the region.
        n\bno\bon\bn-\b-i\bin\bnc\bcr\bre\bem\bme\ben\bnt\bta\bal\bl-\b-r\bre\bev\bve\ber\brs\bse\be-\b-s\bse\bea\bar\brc\bch\bh-\b-h\bhi\bis\bst\bto\bor\bry\by (\b(M\bM-\b-p\bp)\b)
               Search backward through the history starting at the current line
-              using a non-incremental search for  a  string  supplied  by  the
+              using  a  non-incremental  search  for  a string supplied by the
               user.  The search string may match anywhere in a history line.
        n\bno\bon\bn-\b-i\bin\bnc\bcr\bre\bem\bme\ben\bnt\bta\bal\bl-\b-f\bfo\bor\brw\bwa\bar\brd\bd-\b-s\bse\bea\bar\brc\bch\bh-\b-h\bhi\bis\bst\bto\bor\bry\by (\b(M\bM-\b-n\bn)\b)
-              Search  forward  through  the  history  using  a non-incremental
+              Search forward  through  the  history  using  a  non-incremental
               search for a string supplied by the user.  The search string may
               match anywhere in a history line.
        h\bhi\bis\bst\bto\bor\bry\by-\b-s\bse\bea\bar\brc\bch\bh-\b-b\bba\bac\bck\bkw\bwa\bar\brd\bd
@@ -715,46 +715,46 @@ E\bED\bDI\bIT\bTI\bIN\bNG\bG C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
               non-incremental search.  This may be bound to the Page Up key on
               some keyboards.
        h\bhi\bis\bst\bto\bor\bry\by-\b-s\bse\bea\bar\brc\bch\bh-\b-f\bfo\bor\brw\bwa\bar\brd\bd
-              Search forward through the history for the string of  characters
+              Search  forward through the history for the string of characters
               between the start of the current line and the point.  The search
               string must match at the beginning of a history line.  This is a
-              non-incremental  search.  This may be bound to the Page Down key
+              non-incremental search.  This may be bound to the Page Down  key
               on some keyboards.
        h\bhi\bis\bst\bto\bor\bry\by-\b-s\bsu\bub\bbs\bst\btr\bri\bin\bng\bg-\b-s\bse\bea\bar\brc\bch\bh-\b-b\bba\bac\bck\bkw\bwa\bar\brd\bd
               Search backward through the history for the string of characters
               between the start of the current line and the point.  The search
-              string may match anywhere in a history line.  This is a  non-in-
+              string  may match anywhere in a history line.  This is a non-in-
               cremental search.
        h\bhi\bis\bst\bto\bor\bry\by-\b-s\bsu\bub\bbs\bst\btr\bri\bin\bng\bg-\b-s\bse\bea\bar\brc\bch\bh-\b-f\bfo\bor\brw\bwa\bar\brd\bd
-              Search  forward through the history for the string of characters
+              Search forward through the history for the string of  characters
               between the start of the current line and the point.  The search
-              string may match anywhere in a history line.  This is a  non-in-
+              string  may match anywhere in a history line.  This is a non-in-
               cremental search.
        y\bya\ban\bnk\bk-\b-n\bnt\bth\bh-\b-a\bar\brg\bg (\b(M\bM-\b-C\bC-\b-y\by)\b)
-              Insert  the  first argument to the previous command (usually the
+              Insert the first argument to the previous command  (usually  the
               second word on the previous line) at point.  With an argument _\bn,
-              insert the _\bnth word from the previous command (the words in  the
-              previous  command  begin  with word 0).  A negative argument in-
-              serts the _\bnth word from the end of the previous  command.   Once
-              the  argument _\bn is computed, this uses the history expansion fa-
-              cilities to extract the _\bnth word, as if the "!_\bn" history  expan-
+              insert  the _\bnth word from the previous command (the words in the
+              previous command begin with word 0).  A  negative  argument  in-
+              serts  the  _\bnth word from the end of the previous command.  Once
+              the argument _\bn is computed, this uses the history expansion  fa-
+              cilities  to extract the _\bnth word, as if the "!_\bn" history expan-
               sion had been specified.
        y\bya\ban\bnk\bk-\b-l\bla\bas\bst\bt-\b-a\bar\brg\bg (\b(M\bM-\b-.\b.,\b, M\bM-\b-_\b_)\b)
-              Insert  the last argument to the previous command (the last word
+              Insert the last argument to the previous command (the last  word
               of the previous history entry).  With a numeric argument, behave
-              exactly like y\bya\ban\bnk\bk-\b-n\bnt\bth\bh-\b-a\bar\brg\bg.  Successive  calls  to  y\bya\ban\bnk\bk-\b-l\bla\bas\bst\bt-\b-a\bar\brg\bg
-              move  back through the history list, inserting the last word (or
-              the word specified by the argument to the first  call)  of  each
+              exactly  like  y\bya\ban\bnk\bk-\b-n\bnt\bth\bh-\b-a\bar\brg\bg.   Successive calls to y\bya\ban\bnk\bk-\b-l\bla\bas\bst\bt-\b-a\bar\brg\bg
+              move back through the history list, inserting the last word  (or
+              the  word  specified  by the argument to the first call) of each
               line in turn.  Any numeric argument supplied to these successive
-              calls  determines  the direction to move through the history.  A
-              negative argument switches the  direction  through  the  history
-              (back  or  forward).  This uses the history expansion facilities
-              to extract the last word, as if the "!$" history  expansion  had
+              calls determines the direction to move through the  history.   A
+              negative  argument  switches  the  direction through the history
+              (back or forward).  This uses the history  expansion  facilities
+              to  extract  the last word, as if the "!$" history expansion had
               been specified.
 
    C\bCo\bom\bmm\bma\ban\bnd\bds\bs f\bfo\bor\br C\bCh\bha\ban\bng\bgi\bin\bng\bg T\bTe\bex\bxt\bt
        _\be_\bn_\bd_\b-_\bo_\bf_\b-_\bf_\bi_\bl_\be (\b(u\bus\bsu\bua\bal\bll\bly\by C\bC-\b-d\bd)\b)
-              The  character  indicating  end-of-file  as set, for example, by
+              The character indicating end-of-file as  set,  for  example,  by
               _\bs_\bt_\bt_\by(1).  If this character is read when there are no characters
               on the line, and point is at the beginning of the line, r\bre\bea\bad\bdl\bli\bin\bne\be
               interprets it as the end of input and returns E\bEO\bOF\bF.
@@ -764,189 +764,189 @@ E\bED\bDI\bIT\bTI\bIN\bNG\bG C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
               above for the effects.  This may also be bound to the Delete key
               on some keyboards.
        b\bba\bac\bck\bkw\bwa\bar\brd\bd-\b-d\bde\bel\ble\bet\bte\be-\b-c\bch\bha\bar\br (\b(R\bRu\bub\bbo\bou\but\bt)\b)
-              Delete the character behind the cursor.  When  given  a  numeric
+              Delete  the  character  behind the cursor.  When given a numeric
               argument, save the deleted text on the kill ring.
        f\bfo\bor\brw\bwa\bar\brd\bd-\b-b\bba\bac\bck\bkw\bwa\bar\brd\bd-\b-d\bde\bel\ble\bet\bte\be-\b-c\bch\bha\bar\br
-              Delete  the  character under the cursor, unless the cursor is at
+              Delete the character under the cursor, unless the cursor  is  at
               the end of the line, in which case the character behind the cur-
               sor is deleted.
        q\bqu\buo\bot\bte\bed\bd-\b-i\bin\bns\bse\ber\brt\bt (\b(C\bC-\b-q\bq,\b, C\bC-\b-v\bv)\b)
-              Add the next character typed to the line verbatim.  This is  how
+              Add  the next character typed to the line verbatim.  This is how
               to insert characters like C\bC-\b-q\bq, for example.
        t\bta\bab\bb-\b-i\bin\bns\bse\ber\brt\bt (\b(M\bM-\b-T\bTA\bAB\bB)\b)
               Insert a tab character.
        s\bse\bel\blf\bf-\b-i\bin\bns\bse\ber\brt\bt (\b(a\ba,\b, b\bb,\b, A\bA,\b, 1\b1,\b, !\b!,\b, ...)\b)
               Insert the character typed.
        b\bbr\bra\bac\bck\bke\bet\bte\bed\bd-\b-p\bpa\bas\bst\bte\be-\b-b\bbe\beg\bgi\bin\bn
-              This  function  is intended to be bound to the "bracketed paste"
-              escape sequence sent by some terminals, and such  a  binding  is
-              assigned  by  default.   It allows r\bre\bea\bad\bdl\bli\bin\bne\be to insert the pasted
-              text as a single unit without treating each character as  if  it
-              had  been read from the keyboard.  The pasted characters are in-
-              serted as if each one was bound to s\bse\bel\blf\bf-\b-i\bin\bns\bse\ber\brt\bt instead  of  exe-
+              This function is intended to be bound to the  "bracketed  paste"
+              escape  sequence  sent  by some terminals, and such a binding is
+              assigned by default.  It allows r\bre\bea\bad\bdl\bli\bin\bne\be to  insert  the  pasted
+              text  as  a single unit without treating each character as if it
+              had been read from the keyboard.  The pasted characters are  in-
+              serted  as  if each one was bound to s\bse\bel\blf\bf-\b-i\bin\bns\bse\ber\brt\bt instead of exe-
               cuting any editing commands.
-              Bracketed  paste  sets the region to the inserted text and acti-
+              Bracketed paste sets the region to the inserted text  and  acti-
               vates the region.
        t\btr\bra\ban\bns\bsp\bpo\bos\bse\be-\b-c\bch\bha\bar\brs\bs (\b(C\bC-\b-t\bt)\b)
-              Drag the character before point forward over  the  character  at
-              point,  moving point forward as well.  If point is at the end of
-              the line, then this transposes the two characters before  point.
+              Drag  the  character  before point forward over the character at
+              point, moving point forward as well.  If point is at the end  of
+              the  line, then this transposes the two characters before point.
               Negative arguments have no effect.
        t\btr\bra\ban\bns\bsp\bpo\bos\bse\be-\b-w\bwo\bor\brd\bds\bs (\b(M\bM-\b-t\bt)\b)
-              Drag  the  word  before  point past the word after point, moving
-              point over that word as well.  If point is at  the  end  of  the
+              Drag the word before point past the  word  after  point,  moving
+              point  over  that  word  as well.  If point is at the end of the
               line, this transposes the last two words on the line.
        u\bup\bpc\bca\bas\bse\be-\b-w\bwo\bor\brd\bd (\b(M\bM-\b-u\bu)\b)
-              Uppercase  the current (or following) word.  With a negative ar-
+              Uppercase the current (or following) word.  With a negative  ar-
               gument, uppercase the previous word, but do not move point.
        d\bdo\bow\bwn\bnc\bca\bas\bse\be-\b-w\bwo\bor\brd\bd (\b(M\bM-\b-l\bl)\b)
-              Lowercase the current (or following) word.  With a negative  ar-
+              Lowercase  the current (or following) word.  With a negative ar-
               gument, lowercase the previous word, but do not move point.
        c\bca\bap\bpi\bit\bta\bal\bli\biz\bze\be-\b-w\bwo\bor\brd\bd (\b(M\bM-\b-c\bc)\b)
               Capitalize the current (or following) word.  With a negative ar-
               gument, capitalize the previous word, but do not move point.
        o\bov\bve\ber\brw\bwr\bri\bit\bte\be-\b-m\bmo\bod\bde\be
-              Toggle  overwrite mode.  With an explicit positive numeric argu-
+              Toggle overwrite mode.  With an explicit positive numeric  argu-
               ment, switches to overwrite mode.  With an explicit non-positive
               numeric argument, switches to insert mode.  This command affects
-              only e\bem\bma\bac\bcs\bs mode; v\bvi\bi mode does overwrite differently.  Each  call
+              only  e\bem\bma\bac\bcs\bs mode; v\bvi\bi mode does overwrite differently.  Each call
               to _\br_\be_\ba_\bd_\bl_\bi_\bn_\be_\b(_\b) starts in insert mode.
-              In  overwrite  mode, characters bound to s\bse\bel\blf\bf-\b-i\bin\bns\bse\ber\brt\bt replace the
-              text at point rather than pushing the text to the right.   Char-
-              acters  bound  to b\bba\bac\bck\bkw\bwa\bar\brd\bd-\b-d\bde\bel\ble\bet\bte\be-\b-c\bch\bha\bar\br replace the character be-
-              fore point with a space.  By default, this command  is  unbound,
+              In overwrite mode, characters bound to s\bse\bel\blf\bf-\b-i\bin\bns\bse\ber\brt\bt  replace  the
+              text  at point rather than pushing the text to the right.  Char-
+              acters bound to b\bba\bac\bck\bkw\bwa\bar\brd\bd-\b-d\bde\bel\ble\bet\bte\be-\b-c\bch\bha\bar\br replace the  character  be-
+              fore  point  with a space.  By default, this command is unbound,
               but may be bound to the Insert key on some keyboards.
 
    K\bKi\bil\bll\bli\bin\bng\bg a\ban\bnd\bd Y\bYa\ban\bnk\bki\bin\bng\bg
        k\bki\bil\bll\bl-\b-l\bli\bin\bne\be (\b(C\bC-\b-k\bk)\b)
               Kill the text from point to the end of the current line.  With a
-              negative  numeric argument, kill backward from the cursor to the
+              negative numeric argument, kill backward from the cursor to  the
               beginning of the line.
        b\bba\bac\bck\bkw\bwa\bar\brd\bd-\b-k\bki\bil\bll\bl-\b-l\bli\bin\bne\be (\b(C\bC-\b-x\bx R\bRu\bub\bbo\bou\but\bt)\b)
               Kill backward to the beginning of the current line.  With a neg-
-              ative numeric argument, kill forward from the cursor to the  end
+              ative  numeric argument, kill forward from the cursor to the end
               of the line.
        u\bun\bni\bix\bx-\b-l\bli\bin\bne\be-\b-d\bdi\bis\bsc\bca\bar\brd\bd (\b(C\bC-\b-u\bu)\b)
-              Kill  backward  from  point to the beginning of the line, saving
+              Kill backward from point to the beginning of  the  line,  saving
               the killed text on the kill-ring.
        k\bki\bil\bll\bl-\b-w\bwh\bho\bol\ble\be-\b-l\bli\bin\bne\be
-              Kill all characters on the current line, no matter  where  point
+              Kill  all  characters on the current line, no matter where point
               is.
        k\bki\bil\bll\bl-\b-w\bwo\bor\brd\bd (\b(M\bM-\b-d\bd)\b)
-              Kill  from  point  to the end of the current word, or if between
-              words, to the end of the next word.   Word  boundaries  are  the
+              Kill from point to the end of the current word,  or  if  between
+              words,  to  the  end  of the next word.  Word boundaries are the
               same as those used by f\bfo\bor\brw\bwa\bar\brd\bd-\b-w\bwo\bor\brd\bd.
        b\bba\bac\bck\bkw\bwa\bar\brd\bd-\b-k\bki\bil\bll\bl-\b-w\bwo\bor\brd\bd (\b(M\bM-\b-R\bRu\bub\bbo\bou\but\bt)\b)
-              Kill  the  word  behind  point.  Word boundaries are the same as
+              Kill the word behind point.  Word boundaries  are  the  same  as
               those used by b\bba\bac\bck\bkw\bwa\bar\brd\bd-\b-w\bwo\bor\brd\bd.
        u\bun\bni\bix\bx-\b-w\bwo\bor\brd\bd-\b-r\bru\bub\bbo\bou\but\bt (\b(C\bC-\b-w\bw)\b)
-              Kill the word behind point, using white space as a  word  bound-
+              Kill  the  word behind point, using white space as a word bound-
               ary, saving the killed text on the kill-ring.
        u\bun\bni\bix\bx-\b-f\bfi\bil\ble\ben\bna\bam\bme\be-\b-r\bru\bub\bbo\bou\but\bt
-              Kill  the  word  behind  point,  using white space and the slash
-              character as the word boundaries, saving the killed text on  the
+              Kill the word behind point, using  white  space  and  the  slash
+              character  as the word boundaries, saving the killed text on the
               kill-ring.
        d\bde\bel\ble\bet\bte\be-\b-h\bho\bor\bri\biz\bzo\bon\bnt\bta\bal\bl-\b-s\bsp\bpa\bac\bce\be (\b(M\bM-\b-\\b\)\b)
               Delete all spaces and tabs around point.
        k\bki\bil\bll\bl-\b-r\bre\beg\bgi\bio\bon\bn
               Kill the text in the current region.
        c\bco\bop\bpy\by-\b-r\bre\beg\bgi\bio\bon\bn-\b-a\bas\bs-\b-k\bki\bil\bll\bl
-              Copy  the  text  in  the region to the kill buffer, so it can be
+              Copy the text in the region to the kill buffer,  so  it  can  be
               yanked immediately.
        c\bco\bop\bpy\by-\b-b\bba\bac\bck\bkw\bwa\bar\brd\bd-\b-w\bwo\bor\brd\bd
-              Copy the word before point to the kill buffer.  The word  bound-
+              Copy  the word before point to the kill buffer.  The word bound-
               aries are the same as b\bba\bac\bck\bkw\bwa\bar\brd\bd-\b-w\bwo\bor\brd\bd.
        c\bco\bop\bpy\by-\b-f\bfo\bor\brw\bwa\bar\brd\bd-\b-w\bwo\bor\brd\bd
-              Copy  the  word  following  point  to the kill buffer.  The word
+              Copy the word following point to  the  kill  buffer.   The  word
               boundaries are the same as f\bfo\bor\brw\bwa\bar\brd\bd-\b-w\bwo\bor\brd\bd.
        y\bya\ban\bnk\bk (\b(C\bC-\b-y\by)\b)
               Yank the top of the kill ring into the buffer at point.
        y\bya\ban\bnk\bk-\b-p\bpo\bop\bp (\b(M\bM-\b-y\by)\b)
-              Rotate the kill ring, and yank the new top.  Only works  follow-
+              Rotate  the kill ring, and yank the new top.  Only works follow-
               ing y\bya\ban\bnk\bk or y\bya\ban\bnk\bk-\b-p\bpo\bop\bp.
 
    N\bNu\bum\bme\ber\bri\bic\bc A\bAr\brg\bgu\bum\bme\ben\bnt\bts\bs
        d\bdi\big\bgi\bit\bt-\b-a\bar\brg\bgu\bum\bme\ben\bnt\bt (\b(M\bM-\b-0\b0,\b, M\bM-\b-1\b1,\b, ...,\b, M\bM-\b--\b-)\b)
-              Add  this digit to the argument already accumulating, or start a
+              Add this digit to the argument already accumulating, or start  a
               new argument.  M-- starts a negative argument.
        u\bun\bni\biv\bve\ber\brs\bsa\bal\bl-\b-a\bar\brg\bgu\bum\bme\ben\bnt\bt
-              This is another way to specify an argument.  If this command  is
-              followed  by one or more digits, optionally with a leading minus
-              sign, those digits define the argument.  If the command is  fol-
+              This  is another way to specify an argument.  If this command is
+              followed by one or more digits, optionally with a leading  minus
+              sign,  those digits define the argument.  If the command is fol-
               lowed by digits, executing u\bun\bni\biv\bve\ber\brs\bsa\bal\bl-\b-a\bar\brg\bgu\bum\bme\ben\bnt\bt again ends the nu-
               meric argument, but is otherwise ignored.  As a special case, if
               this command is immediately followed by a character that is nei-
-              ther  a  digit  nor  minus sign, the argument count for the next
-              command is multiplied by four.  The argument count is  initially
-              one,  so  executing this function the first time makes the argu-
+              ther a digit nor minus sign, the argument  count  for  the  next
+              command  is multiplied by four.  The argument count is initially
+              one, so executing this function the first time makes  the  argu-
               ment count four, a second time makes the argument count sixteen,
               and so on.
 
    C\bCo\bom\bmp\bpl\ble\bet\bti\bin\bng\bg
        c\bco\bom\bmp\bpl\ble\bet\bte\be (\b(T\bTA\bAB\bB)\b)
               Attempt to perform completion on the text before point.  The ac-
-              tual completion performed is  application-specific.   B\bBa\bas\bsh\bh,  for
+              tual  completion  performed  is application-specific.  B\bBa\bas\bsh\bh, for
               instance,  attempts  programmable  completion  first,  otherwise
-              treating the text as a variable (if the  text  begins  with  $\b$),
-              username  (if the text begins with ~\b~), hostname (if the text be-
-              gins with @\b@), or  command  (including  aliases,  functions,  and
-              builtins)  in turn.  If none of these produces a match, it falls
-              back to filename completion.  G\bGd\bdb\bb, on  the  other  hand,  allows
+              treating  the  text  as  a variable (if the text begins with $\b$),
+              username (if the text begins with ~\b~), hostname (if the text  be-
+              gins  with  @\b@),  or  command  (including aliases, functions, and
+              builtins) in turn.  If none of these produces a match, it  falls
+              back  to  filename  completion.   G\bGd\bdb\bb, on the other hand, allows
               completion of program functions and variables, and only attempts
-              filename  completion  under  certain circumstances.  The default
+              filename completion under certain  circumstances.   The  default
               r\bre\bea\bad\bdl\bli\bin\bne\be completion is filename completion.
        p\bpo\bos\bss\bsi\bib\bbl\ble\be-\b-c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bns\bs (\b(M\bM-\b-?\b?)\b)
-              List the possible completions of the text  before  point.   When
+              List  the  possible  completions of the text before point.  When
               displaying completions, r\bre\bea\bad\bdl\bli\bin\bne\be sets the number of columns used
-              for  display to the value of c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bn-\b-d\bdi\bis\bsp\bpl\bla\bay\by-\b-w\bwi\bid\bdt\bth\bh, the value
-              of the environment variable C\bCO\bOL\bLU\bUM\bMN\bNS\bS, or  the  screen  width,  in
+              for display to the value of c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bn-\b-d\bdi\bis\bsp\bpl\bla\bay\by-\b-w\bwi\bid\bdt\bth\bh, the  value
+              of  the  environment  variable  C\bCO\bOL\bLU\bUM\bMN\bNS\bS, or the screen width, in
               that order.
        i\bin\bns\bse\ber\brt\bt-\b-c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bns\bs (\b(M\bM-\b-*\b*)\b)
-              Insert  all completions of the text before point that would have
+              Insert all completions of the text before point that would  have
               been generated by p\bpo\bos\bss\bsi\bib\bbl\ble\be-\b-c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bns\bs, separated by a space.
        m\bme\ben\bnu\bu-\b-c\bco\bom\bmp\bpl\ble\bet\bte\be
-              Similar to c\bco\bom\bmp\bpl\ble\bet\bte\be, but replaces the word to be completed  with
-              a  single  match from the list of possible completions.  Repeat-
-              edly executing m\bme\ben\bnu\bu-\b-c\bco\bom\bmp\bpl\ble\bet\bte\be steps through the list of  possible
-              completions,  inserting  each  match in turn.  At the end of the
-              list of completions, m\bme\ben\bnu\bu-\b-c\bco\bom\bmp\bpl\ble\bet\bte\be rings the  bell  (subject  to
-              the  setting  of b\bbe\bel\bll\bl-\b-s\bst\bty\byl\ble\be) and restores the original text.  An
-              argument of _\bn moves _\bn positions forward in the list of  matches;
-              a  negative argument moves backward through the list.  This com-
+              Similar  to c\bco\bom\bmp\bpl\ble\bet\bte\be, but replaces the word to be completed with
+              a single match from the list of possible  completions.   Repeat-
+              edly  executing m\bme\ben\bnu\bu-\b-c\bco\bom\bmp\bpl\ble\bet\bte\be steps through the list of possible
+              completions, inserting each match in turn.  At the  end  of  the
+              list  of  completions,  m\bme\ben\bnu\bu-\b-c\bco\bom\bmp\bpl\ble\bet\bte\be rings the bell (subject to
+              the setting of b\bbe\bel\bll\bl-\b-s\bst\bty\byl\ble\be) and restores the original  text.   An
+              argument  of _\bn moves _\bn positions forward in the list of matches;
+              a negative argument moves backward through the list.  This  com-
               mand is intended to be bound to T\bTA\bAB\bB, but is unbound by default.
        m\bme\ben\bnu\bu-\b-c\bco\bom\bmp\bpl\ble\bet\bte\be-\b-b\bba\bac\bck\bkw\bwa\bar\brd\bd
-              Identical to m\bme\ben\bnu\bu-\b-c\bco\bom\bmp\bpl\ble\bet\bte\be, but moves backward through the  list
-              of  possible  completions,  as if m\bme\ben\bnu\bu-\b-c\bco\bom\bmp\bpl\ble\bet\bte\be had been given a
+              Identical  to m\bme\ben\bnu\bu-\b-c\bco\bom\bmp\bpl\ble\bet\bte\be, but moves backward through the list
+              of possible completions, as if m\bme\ben\bnu\bu-\b-c\bco\bom\bmp\bpl\ble\bet\bte\be had  been  given  a
               negative argument.  This command is unbound by default.
        d\bde\bel\ble\bet\bte\be-\b-c\bch\bha\bar\br-\b-o\bor\br-\b-l\bli\bis\bst\bt
-              Deletes the character under the cursor if not at  the  beginning
-              or  end of the line (like d\bde\bel\ble\bet\bte\be-\b-c\bch\bha\bar\br).  At the end of the line,
+              Deletes  the  character under the cursor if not at the beginning
+              or end of the line (like d\bde\bel\ble\bet\bte\be-\b-c\bch\bha\bar\br).  At the end of the  line,
               it behaves identically to p\bpo\bos\bss\bsi\bib\bbl\ble\be-\b-c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bns\bs.  This command is
               unbound by default.
 
    K\bKe\bey\byb\bbo\boa\bar\brd\bd M\bMa\bac\bcr\bro\bos\bs
        s\bst\bta\bar\brt\bt-\b-k\bkb\bbd\bd-\b-m\bma\bac\bcr\bro\bo (\b(C\bC-\b-x\bx (\b()\b)
-              Begin saving the characters  typed  into  the  current  keyboard
+              Begin  saving  the  characters  typed  into the current keyboard
               macro.
        e\ben\bnd\bd-\b-k\bkb\bbd\bd-\b-m\bma\bac\bcr\bro\bo (\b(C\bC-\b-x\bx )\b))\b)
               Stop saving the characters typed into the current keyboard macro
               and store the definition.
        c\bca\bal\bll\bl-\b-l\bla\bas\bst\bt-\b-k\bkb\bbd\bd-\b-m\bma\bac\bcr\bro\bo (\b(C\bC-\b-x\bx e\be)\b)
-              Re-execute  the last keyboard macro defined, by making the char-
+              Re-execute the last keyboard macro defined, by making the  char-
               acters in the macro appear as if typed at the keyboard.
        p\bpr\bri\bin\bnt\bt-\b-l\bla\bas\bst\bt-\b-k\bkb\bbd\bd-\b-m\bma\bac\bcr\bro\bo (\b()\b)
-              Print the last keyboard macro defined in a format  suitable  for
+              Print  the  last keyboard macro defined in a format suitable for
               the _\bi_\bn_\bp_\bu_\bt_\br_\bc file.
 
    M\bMi\bis\bsc\bce\bel\bll\bla\ban\bne\beo\bou\bus\bs
        r\bre\be-\b-r\bre\bea\bad\bd-\b-i\bin\bni\bit\bt-\b-f\bfi\bil\ble\be (\b(C\bC-\b-x\bx C\bC-\b-r\br)\b)
-              Read  in  the  contents of the _\bi_\bn_\bp_\bu_\bt_\br_\bc file, and incorporate any
+              Read in the contents of the _\bi_\bn_\bp_\bu_\bt_\br_\bc file,  and  incorporate  any
               bindings or variable assignments found there.
        a\bab\bbo\bor\brt\bt (\b(C\bC-\b-g\bg)\b)
-              Abort the current editing command and ring the  terminal's  bell
+              Abort  the  current editing command and ring the terminal's bell
               (subject to the setting of b\bbe\bel\bll\bl-\b-s\bst\bty\byl\ble\be).
        d\bdo\bo-\b-l\blo\bow\bwe\ber\brc\bca\bas\bse\be-\b-v\bve\ber\brs\bsi\bio\bon\bn (\b(M\bM-\b-A\bA,\b, M\bM-\b-B\bB,\b, M\bM-\b-_\bx,\b, ...)\b)
-              If  the  metafied character _\bx is uppercase, run the command that
+              If the metafied character _\bx is uppercase, run the  command  that
               is bound to the corresponding metafied lowercase character.  The
               behavior is undefined if _\bx is already lowercase.
        p\bpr\bre\bef\bfi\bix\bx-\b-m\bme\bet\bta\ba (\b(E\bES\bSC\bC)\b)
@@ -954,65 +954,65 @@ E\bED\bDI\bIT\bTI\bIN\bNG\bG C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
        u\bun\bnd\bdo\bo (\b(C\bC-\b-_\b_,\b, C\bC-\b-x\bx C\bC-\b-u\bu)\b)
               Incremental undo, separately remembered for each line.
        r\bre\bev\bve\ber\brt\bt-\b-l\bli\bin\bne\be (\b(M\bM-\b-r\br)\b)
-              Undo all changes made to this line.  This is like executing  the
-              u\bun\bnd\bdo\b command  enough  times  to  return the line to its initial
+              Undo  all changes made to this line.  This is like executing the
+              u\bun\bnd\bdo\bcommand enough times to return  the  line  to  its  initial
               state.
        t\bti\bil\bld\bde\be-\b-e\bex\bxp\bpa\ban\bnd\bd (\b(M\bM-\b-~\b~)\b)
               Perform tilde expansion on the current word.
        s\bse\bet\bt-\b-m\bma\bar\brk\bk (\b(C\bC-\b-@\b@,\b, M\bM-\b-<\b<s\bsp\bpa\bac\bce\be>\b>)\b)
-              Set the mark to the point.  If a numeric argument  is  supplied,
+              Set  the  mark to the point.  If a numeric argument is supplied,
               set the mark to that position.
        e\bex\bxc\bch\bha\ban\bng\bge\be-\b-p\bpo\boi\bin\bnt\bt-\b-a\ban\bnd\bd-\b-m\bma\bar\brk\bk (\b(C\bC-\b-x\bx C\bC-\b-x\bx)\b)
-              Swap  the  point with the mark.  Set the current cursor position
+              Swap the point with the mark.  Set the current  cursor  position
               to the saved position, then set the mark to the old cursor posi-
               tion.
        c\bch\bha\bar\bra\bac\bct\bte\ber\br-\b-s\bse\bea\bar\brc\bch\bh (\b(C\bC-\b-]\b])\b)
-              Read a character and move point to the next occurrence  of  that
-              character.   A  negative  argument  searches for previous occur-
+              Read  a  character and move point to the next occurrence of that
+              character.  A negative argument  searches  for  previous  occur-
               rences.
        c\bch\bha\bar\bra\bac\bct\bte\ber\br-\b-s\bse\bea\bar\brc\bch\bh-\b-b\bba\bac\bck\bkw\bwa\bar\brd\bd (\b(M\bM-\b-C\bC-\b-]\b])\b)
-              Read a character and move point to the  previous  occurrence  of
+              Read  a  character  and move point to the previous occurrence of
               that character.  A negative argument searches for subsequent oc-
               currences.
        s\bsk\bki\bip\bp-\b-c\bcs\bsi\bi-\b-s\bse\beq\bqu\bue\ben\bnc\bce\be
-              Read  enough  characters to consume a multi-key sequence such as
-              those defined for keys like Home and End.  CSI  sequences  begin
+              Read enough characters to consume a multi-key sequence  such  as
+              those  defined  for keys like Home and End.  CSI sequences begin
               with a Control Sequence Indicator (CSI), usually ESC-[.  If this
-              sequence  is  bound  to "\e[", keys producing CSI sequences will
-              have no effect unless explicitly bound to  a  r\bre\bea\bad\bdl\bli\bin\bne\b command,
-              instead  of  inserting stray characters into the editing buffer.
+              sequence is bound to "\e[", keys producing  CSI  sequences  will
+              have  no  effect  unless explicitly bound to a r\bre\bea\bad\bdl\bli\bin\bne\be command,
+              instead of inserting stray characters into the  editing  buffer.
               This is unbound by default, but usually bound to ESC-[.
        i\bin\bns\bse\ber\brt\bt-\b-c\bco\bom\bmm\bme\ben\bnt\bt (\b(M\bM-\b-#\b#)\b)
-              Without a numeric argument, insert the  value  of  the  r\bre\bea\bad\bdl\bli\bin\bne\be
+              Without  a  numeric  argument,  insert the value of the r\bre\bea\bad\bdl\bli\bin\bne\be
               c\bco\bom\bmm\bme\ben\bnt\bt-\b-b\bbe\beg\bgi\bin\bn variable at the beginning of the current line.  If
-              a  numeric  argument is supplied, this command acts as a toggle:
-              if the characters at the beginning of the line do not match  the
-              value  of  c\bco\bom\bmm\bme\ben\bnt\bt-\b-b\bbe\beg\bgi\bin\bn, insert the value; otherwise delete the
-              characters in c\bco\bom\bmm\bme\ben\bnt\bt-\b-b\bbe\beg\bgi\bin\bn from the beginning of the line.   In
-              either  case,  the  line  is  accepted  as if a newline had been
-              typed.  The default value of c\bco\bom\bmm\bme\ben\bnt\bt-\b-b\bbe\beg\bgi\bin\bn causes  this  command
+              a numeric argument is supplied, this command acts as  a  toggle:
+              if  the characters at the beginning of the line do not match the
+              value of c\bco\bom\bmm\bme\ben\bnt\bt-\b-b\bbe\beg\bgi\bin\bn, insert the value; otherwise  delete  the
+              characters  in c\bco\bom\bmm\bme\ben\bnt\bt-\b-b\bbe\beg\bgi\bin\bn from the beginning of the line.  In
+              either case, the line is accepted  as  if  a  newline  had  been
+              typed.   The  default value of c\bco\bom\bmm\bme\ben\bnt\bt-\b-b\bbe\beg\bgi\bin\bn causes this command
               to make the current line a shell comment.  If a numeric argument
               causes the comment character to be removed, the line will be ex-
               ecuted by the shell.
        d\bdu\bum\bmp\bp-\b-f\bfu\bun\bnc\bct\bti\bio\bon\bns\bs
-              Print  all  of the functions and their key bindings to the r\bre\bea\bad\bd-\b-
+              Print all of the functions and their key bindings to  the  r\bre\bea\bad\bd-\b-
               l\bli\bin\bne\be output stream.  If a numeric argument is supplied, the out-
-              put is formatted in such a way that it can be made  part  of  an
+              put  is  formatted  in such a way that it can be made part of an
               _\bi_\bn_\bp_\bu_\bt_\br_\bc file.
        d\bdu\bum\bmp\bp-\b-v\bva\bar\bri\bia\bab\bbl\ble\bes\bs
-              Print  all  of  the  settable  variables and their values to the
-              r\bre\bea\bad\bdl\bli\bin\bne\boutput stream.  If a numeric argument is supplied,  the
+              Print all of the settable variables  and  their  values  to  the
+              r\bre\bea\bad\bdl\bli\bin\bne\b output stream.  If a numeric argument is supplied, the
               output is formatted in such a way that it can be made part of an
               _\bi_\bn_\bp_\bu_\bt_\br_\bc file.
        d\bdu\bum\bmp\bp-\b-m\bma\bac\bcr\bro\bos\bs
-              Print  all of the r\bre\bea\bad\bdl\bli\bin\bne\be key sequences bound to macros and the
+              Print all of the r\bre\bea\bad\bdl\bli\bin\bne\be key sequences bound to macros and  the
               strings they output to the r\bre\bea\bad\bdl\bli\bin\bne\be output stream.  If a numeric
               argument is supplied, the output is formatted in such a way that
               it can be made part of an _\bi_\bn_\bp_\bu_\bt_\br_\bc file.
        e\bex\bxe\bec\bcu\but\bte\be-\b-n\bna\bam\bme\bed\bd-\b-c\bco\bom\bmm\bma\ban\bnd\bd (\b(M\bM-\b-x\bx)\b)
               Read a bindable r\bre\bea\bad\bdl\bli\bin\bne\be command name from the input and execute
-              the function to which it's bound, as  if  the  key  sequence  to
-              which  it  was bound appeared in the input.  If this function is
+              the  function  to  which  it's  bound, as if the key sequence to
+              which it was bound appeared in the input.  If this  function  is
               supplied with a numeric argument, it passes that argument to the
               function it executes.
        e\bem\bma\bac\bcs\bs-\b-e\bed\bdi\bit\bti\bin\bng\bg-\b-m\bmo\bod\bde\be (\b(C\bC-\b-e\be)\b)
@@ -1022,17 +1022,17 @@ E\bED\bDI\bIT\bTI\bIN\bNG\bG C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
               When in e\bem\bma\bac\bcs\bs editing mode, this switches to v\bvi\bi editing mode.
 
 D\bDE\bEF\bFA\bAU\bUL\bLT\bT K\bKE\bEY\bY B\bBI\bIN\bND\bDI\bIN\bNG\bGS\bS
-       The following is a list of the default emacs and vi bindings.   Charac-
-       ters  with the eighth bit set are written as M-<character>, and are re-
-       ferred to as _\bm_\be_\bt_\ba_\bf_\bi_\be_\bd characters.  The printable ASCII  characters  not
-       mentioned  in  the  list  of  emacs  standard bindings are bound to the
-       s\bse\bel\blf\bf-\b-i\bin\bns\bse\ber\brt\bfunction, which just inserts the given character  into  the
+       The  following is a list of the default emacs and vi bindings.  Charac-
+       ters with the eighth bit set are written as M-<character>, and are  re-
+       ferred  to  as _\bm_\be_\bt_\ba_\bf_\bi_\be_\bd characters.  The printable ASCII characters not
+       mentioned in the list of emacs  standard  bindings  are  bound  to  the
+       s\bse\bel\blf\bf-\b-i\bin\bns\bse\ber\brt\b function,  which just inserts the given character into the
        input line.  In vi insertion mode, all characters not specifically men-
        tioned are bound to s\bse\bel\blf\bf-\b-i\bin\bns\bse\ber\brt\bt.  Characters assigned to signal genera-
        tion by _\bs_\bt_\bt_\by(1) or the terminal driver, such as C-Z or C-C, retain that
-       function.   Upper  and  lower case metafied characters are bound to the
-       same function in the emacs mode meta keymap.  The remaining  characters
-       are  unbound,  which  causes  r\bre\bea\bad\bdl\bli\bin\bne\be to ring the bell (subject to the
+       function.  Upper and lower case metafied characters are  bound  to  the
+       same  function in the emacs mode meta keymap.  The remaining characters
+       are unbound, which causes r\bre\bea\bad\bdl\bli\bin\bne\be to ring the  bell  (subject  to  the
        setting of the b\bbe\bel\bll\bl-\b-s\bst\bty\byl\ble\be variable).
 
    E\bEm\bma\bac\bcs\bs M\bMo\bod\bde\be
@@ -1249,14 +1249,14 @@ A\bAU\bUT\bTH\bHO\bOR\bRS\bS
        chet.ramey@case.edu
 
 B\bBU\bUG\bG R\bRE\bEP\bPO\bOR\bRT\bTS\bS
-       If you find a bug in r\bre\bea\bad\bdl\bli\bin\bne\be, you should report it.   But  first,  you
-       should  make  sure  that it really is a bug, and that it appears in the
+       If  you  find  a bug in r\bre\bea\bad\bdl\bli\bin\bne\be, you should report it.  But first, you
+       should make sure that it really is a bug, and that it  appears  in  the
        latest version of the r\bre\bea\bad\bdl\bli\bin\bne\be library that you have.
 
-       Once you have determined that a bug actually exists, mail a bug  report
-       to  _\bb_\bu_\bg_\b-_\br_\be_\ba_\bd_\bl_\bi_\bn_\be@_\bg_\bn_\bu_\b._\bo_\br_\bg.   If  you have a fix, you are welcome to mail
-       that as well!  Suggestions  and  `philosophical'  bug  reports  may  be
-       mailed  to  _\bb_\bu_\bg_\b-_\br_\be_\ba_\bd_\bl_\bi_\bn_\be@_\bg_\bn_\bu_\b._\bo_\br_\bg  or  posted  to  the  Usenet newsgroup
+       Once  you have determined that a bug actually exists, mail a bug report
+       to _\bb_\bu_\bg_\b-_\br_\be_\ba_\bd_\bl_\bi_\bn_\be@_\bg_\bn_\bu_\b._\bo_\br_\bg.  If you have a fix, you are  welcome  to  mail
+       that  as  well!   Suggestions  and  `philosophical'  bug reports may be
+       mailed to  _\bb_\bu_\bg_\b-_\br_\be_\ba_\bd_\bl_\bi_\bn_\be@_\bg_\bn_\bu_\b._\bo_\br_\bg  or  posted  to  the  Usenet  newsgroup
        g\bgn\bnu\bu.\b.b\bba\bas\bsh\bh.\b.b\bbu\bug\bg.
 
        Comments and bug reports concerning this manual page should be directed
index 4194af7dd87cb9d52e6383a2adb9512c5ea01990..c5d84faebb74c5402773beda85d37170ac0e6cab 100644 (file)
Binary files a/lib/readline/doc/readline.dvi and b/lib/readline/doc/readline.dvi differ
index 490f42817fff194c2964a82f783a33dc85be4fac..3ab11cceef3775a6fc7ba05d627758363edca280 100644 (file)
@@ -1,6 +1,6 @@
 <HTML>
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<!-- Created on October, 18  2024 by texi2html 1.64 -->
+<!-- Created on November, 1  2024 by texi2html 1.64 -->
 <!-- 
 Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
             Karl Berry  <karl@freefriends.org>
@@ -672,7 +672,7 @@ common prefix of the set of possible completions using a different color.
 The color definitions are taken from the value of the <CODE>LS_COLORS</CODE>
 environment variable.
 If there is a color definition in <CODE>LS_COLORS</CODE> for the custom suffix
-<SAMP>`.readline-colored-completion-prefix'</SAMP>, Readline uses this color for
+<SAMP>`readline-colored-completion-prefix'</SAMP>, Readline uses this color for
 the common prefix instead of its default.
 The default is <SAMP>`off'</SAMP>.
 <P>
@@ -8129,7 +8129,7 @@ to permit their use in free software.
 <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="readline.html#SEC_About"> ? </A>]</TD>
 </TR></TABLE>
 <H1>About this document</H1>
-This document was generated by <I>Chet Ramey</I> on <I>October, 18  2024</I>
+This document was generated by <I>Chet Ramey</I> on <I>November, 1  2024</I>
 using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
 "><I>texi2html</I></A>
 <P></P>  
@@ -8291,7 +8291,7 @@ the following structure:
 <BR>  
 <FONT SIZE="-1">
 This document was generated
-by <I>Chet Ramey</I> on <I>October, 18  2024</I>
+by <I>Chet Ramey</I> on <I>November, 1  2024</I>
 using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
 "><I>texi2html</I></A>
 
index 4dd9282fccb90562c2ce57456fe91aa4f108cb0e..a1be7fea61e63d54747af1eb868489eef1a6e154 100644 (file)
@@ -427,9 +427,9 @@ Variable Settings
           different color.  The color definitions are taken from the
           value of the ‘LS_COLORS’ environment variable.  If there is a
           color definition in ‘LS_COLORS’ for the custom suffix
-          ‘.readline-colored-completion-prefix’, Readline uses this
-          color for the common prefix instead of its default.  The
-          default is ‘off’.
+          ‘readline-colored-completion-prefix’, Readline uses this color
+          for the common prefix instead of its default.  The default is
+          ‘off’.
 
      ‘colored-stats’
           If set to ‘on’, Readline displays possible completions using
@@ -5422,48 +5422,48 @@ Node: Readline Arguments\7f10627
 Node: Searching\7f11688
 Node: Readline Init File\7f13919
 Node: Readline Init File Syntax\7f15117
-Node: Conditional Init Constructs\7f41510
-Node: Sample Init File\7f45899
-Node: Bindable Readline Commands\7f49024
-Node: Commands For Moving\7f50408
-Node: Commands For History\7f52338
-Node: Commands For Text\7f57543
-Node: Commands For Killing\7f61388
-Node: Numeric Arguments\7f63844
-Node: Commands For Completion\7f65000
-Node: Keyboard Macros\7f67087
-Node: Miscellaneous Commands\7f67792
-Node: Readline vi Mode\7f72116
-Node: Programming with GNU Readline\7f74013
-Node: Basic Behavior\7f74999
-Node: Custom Functions\7f79062
-Node: Readline Typedefs\7f80584
-Node: Function Writing\7f82470
-Node: Readline Variables\7f83776
-Node: Readline Convenience Functions\7f98730
-Node: Function Naming\7f99806
-Node: Keymaps\7f101137
-Node: Binding Keys\7f104299
-Node: Associating Function Names and Bindings\7f109124
-Node: Allowing Undoing\7f112954
-Node: Redisplay\7f115704
-Node: Modifying Text\7f120006
-Node: Character Input\7f121545
-Node: Terminal Management\7f124702
-Node: Utility Functions\7f126589
-Node: Miscellaneous Functions\7f129699
-Node: Alternate Interface\7f133589
-Node: A Readline Example\7f136484
-Node: Alternate Interface Example\7f138402
-Node: Readline Signal Handling\7f142021
-Node: Custom Completers\7f151571
-Node: How Completing Works\7f152291
-Node: Completion Functions\7f155667
-Node: Completion Variables\7f159334
-Node: A Short Completion Example\7f177652
-Node: GNU Free Documentation License\7f190321
-Node: Concept Index\7f215498
-Node: Function and Variable Index\7f217019
+Node: Conditional Init Constructs\7f41509
+Node: Sample Init File\7f45898
+Node: Bindable Readline Commands\7f49023
+Node: Commands For Moving\7f50407
+Node: Commands For History\7f52337
+Node: Commands For Text\7f57542
+Node: Commands For Killing\7f61387
+Node: Numeric Arguments\7f63843
+Node: Commands For Completion\7f64999
+Node: Keyboard Macros\7f67086
+Node: Miscellaneous Commands\7f67791
+Node: Readline vi Mode\7f72115
+Node: Programming with GNU Readline\7f74012
+Node: Basic Behavior\7f74998
+Node: Custom Functions\7f79061
+Node: Readline Typedefs\7f80583
+Node: Function Writing\7f82469
+Node: Readline Variables\7f83775
+Node: Readline Convenience Functions\7f98729
+Node: Function Naming\7f99805
+Node: Keymaps\7f101136
+Node: Binding Keys\7f104298
+Node: Associating Function Names and Bindings\7f109123
+Node: Allowing Undoing\7f112953
+Node: Redisplay\7f115703
+Node: Modifying Text\7f120005
+Node: Character Input\7f121544
+Node: Terminal Management\7f124701
+Node: Utility Functions\7f126588
+Node: Miscellaneous Functions\7f129698
+Node: Alternate Interface\7f133588
+Node: A Readline Example\7f136483
+Node: Alternate Interface Example\7f138401
+Node: Readline Signal Handling\7f142020
+Node: Custom Completers\7f151570
+Node: How Completing Works\7f152290
+Node: Completion Functions\7f155666
+Node: Completion Variables\7f159333
+Node: A Short Completion Example\7f177651
+Node: GNU Free Documentation License\7f190320
+Node: Concept Index\7f215497
+Node: Function and Variable Index\7f217018
 \1f
 End Tag Table
 
index 15d61ef8f1091c8e1f9157082da831dc704a89c1..b5cf3e310c17140a66104cd7d5a96cff851a7914 100644 (file)
Binary files a/lib/readline/doc/readline.pdf and b/lib/readline/doc/readline.pdf differ
index 7ac8f18143e257a0956e014fd4de0c394ba0ae20..198a71331d3d245d6fffe920ae3b739a6403169a 100644 (file)
@@ -1,7 +1,7 @@
 %!PS-Adobe-2.0
 %%Creator: dvips(k) 2024.1 (TeX Live 2024)  Copyright 2024 Radical Eye Software
 %%Title: readline.dvi
-%%CreationDate: Fri Oct 18 15:25:52 2024
+%%CreationDate: Fri Nov  1 22:18:31 2024
 %%Pages: 88
 %%PageOrder: Ascend
 %%BoundingBox: 0 0 596 842
@@ -12,7 +12,7 @@
 %DVIPSWebPage: (www.radicaleye.com)
 %DVIPSCommandLine: dvips -D 300 -o readline.ps readline.dvi
 %DVIPSParameters: dpi=300
-%DVIPSSource:  TeX output 2024.10.18:1125
+%DVIPSSource:  TeX output 2024.11.01:1818
 %%BeginProcSet: tex.pro 0 0
 %!
 /TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S
@@ -7283,15 +7283,15 @@ b(is)f(`)p Fs(off)p Ft('.)315 396 y Fs(colored-completion-prefix)555
 451 y Ft(If)h(set)f(to)g(`)p Fs(on)p Ft(',)g(when)h(listing)e
 (completions,)h(Readline)h(displa)o(ys)e(the)i(com-)555
 506 y(mon)e(pre\014x)g(of)f(the)h(set)f(of)g(p)q(ossible)h(completions)
-f(using)g(a)g(di\013eren)o(t)g(color.)555 560 y(The)20
-b(color)f(de\014nitions)h(are)g(tak)o(en)f(from)g(the)h(v)m(alue)h(of)e
-(the)h Fs(LS_COLORS)555 615 y Ft(en)o(vironmen)o(t)e(v)m(ariable.)32
-b(If)19 b(there)g(is)g(a)g(color)f(de\014nition)h(in)g
-Fs(LS_COLORS)555 670 y Ft(for)h(the)h(custom)f(su\016x)h(`)p
-Fs(.readline-colored-compl)o(etion-p)o(refix)p Ft(')o(,)555
-725 y(Readline)f(uses)f(this)g(color)g(for)f(the)i(common)f(pre\014x)h
-(instead)f(of)g(its)f(de-)555 780 y(fault.)h(The)c(default)g(is)g(`)p
-Fs(off)p Ft('.)315 862 y Fs(colored-stats)555 917 y Ft(If)f(set)f(to)f
+f(using)g(a)g(di\013eren)o(t)g(color.)555 560 y(The)h(color)f
+(de\014nitions)g(are)g(tak)o(en)h(from)e(the)i(v)m(alue)g(of)f(the)h
+Fs(LS_COLORS)e Ft(en-)555 615 y(vironmen)o(t)16 b(v)m(ariable.)24
+b(If)17 b(there)g(is)f(a)g(color)g(de\014nition)h(in)f
+Fs(LS_COLORS)g Ft(for)555 670 y(the)11 b(custom)f(su\016x)h(`)p
+Fs(readline-colored-completio)o(n-prefi)o(x)p Ft(',)d(Read-)555
+725 y(line)j(uses)h(this)f(color)g(for)g(the)h(common)f(pre\014x)h
+(instead)f(of)h(its)e(default.)19 b(The)555 780 y(default)c(is)f(`)p
+Fs(off)p Ft('.)315 862 y Fs(colored-stats)555 917 y Ft(If)g(set)f(to)f
 (`)p Fs(on)p Ft(',)g(Readline)i(displa)o(ys)e(p)q(ossible)h
 (completions)g(using)g(di\013eren)o(t)555 971 y(colors)19
 b(to)f(indicate)i(their)f(\014le)g(t)o(yp)q(e.)33 b(The)20
index 8bce389b1903c73d35dcd46f1b82bc6457b8141a..383efb42ab0ad44bdad102728b81ffca2df69c87 100644 (file)
Binary files a/lib/readline/doc/readline_3.pdf and b/lib/readline/doc/readline_3.pdf differ
diff --git a/lib/readline/doc/rlman.aux b/lib/readline/doc/rlman.aux
deleted file mode 100644 (file)
index 31ab893..0000000
+++ /dev/null
@@ -1,156 +0,0 @@
-@xrdef{Command Line Editing-title}{Command Line Editing}
-@xrdef{Command Line Editing-snt}{Chapter@tie 1}
-@xrdef{Introduction and Notation-title}{Introduction to Line Editing}
-@xrdef{Introduction and Notation-snt}{Section@tie 1.1}
-@xrdef{Readline Interaction-title}{Readline Interaction}
-@xrdef{Readline Interaction-snt}{Section@tie 1.2}
-@xrdef{Readline Bare Essentials-title}{Readline Bare Essentials}
-@xrdef{Readline Bare Essentials-snt}{Section@tie 1.2.1}
-@xrdef{Command Line Editing-pg}{1}
-@xrdef{Introduction and Notation-pg}{1}
-@xrdef{Readline Interaction-pg}{1}
-@xrdef{Readline Movement Commands-title}{Readline Movement Commands}
-@xrdef{Readline Movement Commands-snt}{Section@tie 1.2.2}
-@xrdef{Readline Killing Commands-title}{Readline Killing Commands}
-@xrdef{Readline Killing Commands-snt}{Section@tie 1.2.3}
-@xrdef{Readline Bare Essentials-pg}{2}
-@xrdef{Readline Movement Commands-pg}{2}
-@xrdef{Readline Arguments-title}{Readline Arguments}
-@xrdef{Readline Arguments-snt}{Section@tie 1.2.4}
-@xrdef{Searching-title}{Searching for Commands in the History}
-@xrdef{Searching-snt}{Section@tie 1.2.5}
-@xrdef{Readline Killing Commands-pg}{3}
-@xrdef{Readline Arguments-pg}{3}
-@xrdef{Searching-pg}{3}
-@xrdef{Readline Init File-title}{Readline Init File}
-@xrdef{Readline Init File-snt}{Section@tie 1.3}
-@xrdef{Readline Init File Syntax-title}{Readline Init File Syntax}
-@xrdef{Readline Init File Syntax-snt}{Section@tie 1.3.1}
-@xrdef{Readline Init File-pg}{4}
-@xrdef{Readline Init File Syntax-pg}{4}
-@xrdef{Conditional Init Constructs-title}{Conditional Init Constructs}
-@xrdef{Conditional Init Constructs-snt}{Section@tie 1.3.2}
-@xrdef{Conditional Init Constructs-pg}{14}
-@xrdef{Sample Init File-title}{Sample Init File}
-@xrdef{Sample Init File-snt}{Section@tie 1.3.3}
-@xrdef{Sample Init File-pg}{15}
-@xrdef{Bindable Readline Commands-title}{Bindable Readline Commands}
-@xrdef{Bindable Readline Commands-snt}{Section@tie 1.4}
-@xrdef{Commands For Moving-title}{Commands For Moving}
-@xrdef{Commands For Moving-snt}{Section@tie 1.4.1}
-@xrdef{Bindable Readline Commands-pg}{18}
-@xrdef{Commands For Moving-pg}{18}
-@xrdef{Commands For History-title}{Commands For Manipulating The History}
-@xrdef{Commands For History-snt}{Section@tie 1.4.2}
-@xrdef{Commands For History-pg}{19}
-@xrdef{Commands For Text-title}{Commands For Changing Text}
-@xrdef{Commands For Text-snt}{Section@tie 1.4.3}
-@xrdef{Commands For Text-pg}{21}
-@xrdef{Commands For Killing-title}{Killing And Yanking}
-@xrdef{Commands For Killing-snt}{Section@tie 1.4.4}
-@xrdef{Commands For Killing-pg}{22}
-@xrdef{Numeric Arguments-title}{Specifying Numeric Arguments}
-@xrdef{Numeric Arguments-snt}{Section@tie 1.4.5}
-@xrdef{Commands For Completion-title}{Letting Readline Type For You}
-@xrdef{Commands For Completion-snt}{Section@tie 1.4.6}
-@xrdef{Numeric Arguments-pg}{23}
-@xrdef{Keyboard Macros-title}{Keyboard Macros}
-@xrdef{Keyboard Macros-snt}{Section@tie 1.4.7}
-@xrdef{Miscellaneous Commands-title}{Some Miscellaneous Commands}
-@xrdef{Miscellaneous Commands-snt}{Section@tie 1.4.8}
-@xrdef{Commands For Completion-pg}{24}
-@xrdef{Keyboard Macros-pg}{24}
-@xrdef{Miscellaneous Commands-pg}{25}
-@xrdef{Readline vi Mode-title}{Readline vi Mode}
-@xrdef{Readline vi Mode-snt}{Section@tie 1.5}
-@xrdef{Readline vi Mode-pg}{26}
-@xrdef{Programming with GNU Readline-title}{Programming with GNU Readline}
-@xrdef{Programming with GNU Readline-snt}{Chapter@tie 2}
-@xrdef{Basic Behavior-title}{Basic Behavior}
-@xrdef{Basic Behavior-snt}{Section@tie 2.1}
-@xrdef{Programming with GNU Readline-pg}{27}
-@xrdef{Basic Behavior-pg}{27}
-@xrdef{Custom Functions-title}{Custom Functions}
-@xrdef{Custom Functions-snt}{Section@tie 2.2}
-@xrdef{Custom Functions-pg}{28}
-@xrdef{Readline Typedefs-title}{Readline Typedefs}
-@xrdef{Readline Typedefs-snt}{Section@tie 2.2.1}
-@xrdef{Function Writing-title}{Writing a New Function}
-@xrdef{Function Writing-snt}{Section@tie 2.2.2}
-@xrdef{Readline Typedefs-pg}{29}
-@xrdef{Readline Variables-title}{Readline Variables}
-@xrdef{Readline Variables-snt}{Section@tie 2.3}
-@xrdef{Function Writing-pg}{30}
-@xrdef{Readline Variables-pg}{30}
-@xrdef{Readline Convenience Functions-title}{Readline Convenience Functions}
-@xrdef{Readline Convenience Functions-snt}{Section@tie 2.4}
-@xrdef{Function Naming-title}{Naming a Function}
-@xrdef{Function Naming-snt}{Section@tie 2.4.1}
-@xrdef{Keymaps-title}{Selecting a Keymap}
-@xrdef{Keymaps-snt}{Section@tie 2.4.2}
-@xrdef{Readline Convenience Functions-pg}{36}
-@xrdef{Function Naming-pg}{36}
-@xrdef{Keymaps-pg}{36}
-@xrdef{Binding Keys-title}{Binding Keys}
-@xrdef{Binding Keys-snt}{Section@tie 2.4.3}
-@xrdef{Binding Keys-pg}{37}
-@xrdef{Associating Function Names and Bindings-title}{Associating Function Names and Bindings}
-@xrdef{Associating Function Names and Bindings-snt}{Section@tie 2.4.4}
-@xrdef{Associating Function Names and Bindings-pg}{39}
-@xrdef{Allowing Undoing-title}{Allowing Undoing}
-@xrdef{Allowing Undoing-snt}{Section@tie 2.4.5}
-@xrdef{Allowing Undoing-pg}{40}
-@xrdef{Redisplay-title}{Redisplay}
-@xrdef{Redisplay-snt}{Section@tie 2.4.6}
-@xrdef{Redisplay-pg}{41}
-@xrdef{Modifying Text-title}{Modifying Text}
-@xrdef{Modifying Text-snt}{Section@tie 2.4.7}
-@xrdef{Character Input-title}{Character Input}
-@xrdef{Character Input-snt}{Section@tie 2.4.8}
-@xrdef{Modifying Text-pg}{43}
-@xrdef{Character Input-pg}{43}
-@xrdef{Terminal Management-title}{Terminal Management}
-@xrdef{Terminal Management-snt}{Section@tie 2.4.9}
-@xrdef{Terminal Management-pg}{44}
-@xrdef{Utility Functions-title}{Utility Functions}
-@xrdef{Utility Functions-snt}{Section@tie 2.4.10}
-@xrdef{Utility Functions-pg}{45}
-@xrdef{Miscellaneous Functions-title}{Miscellaneous Functions}
-@xrdef{Miscellaneous Functions-snt}{Section@tie 2.4.11}
-@xrdef{Miscellaneous Functions-pg}{46}
-@xrdef{Alternate Interface-title}{Alternate Interface}
-@xrdef{Alternate Interface-snt}{Section@tie 2.4.12}
-@xrdef{Alternate Interface-pg}{47}
-@xrdef{A Readline Example-title}{A Readline Example}
-@xrdef{A Readline Example-snt}{Section@tie 2.4.13}
-@xrdef{A Readline Example-pg}{48}
-@xrdef{Alternate Interface Example-title}{Alternate Interface Example}
-@xrdef{Alternate Interface Example-snt}{Section@tie 2.4.14}
-@xrdef{Alternate Interface Example-pg}{50}
-@xrdef{Readline Signal Handling-title}{Readline Signal Handling}
-@xrdef{Readline Signal Handling-snt}{Section@tie 2.5}
-@xrdef{Readline Signal Handling-pg}{52}
-@xrdef{Custom Completers-title}{Custom Completers}
-@xrdef{Custom Completers-snt}{Section@tie 2.6}
-@xrdef{How Completing Works-title}{How Completing Works}
-@xrdef{How Completing Works-snt}{Section@tie 2.6.1}
-@xrdef{Custom Completers-pg}{55}
-@xrdef{How Completing Works-pg}{55}
-@xrdef{Completion Functions-title}{Completion Functions}
-@xrdef{Completion Functions-snt}{Section@tie 2.6.2}
-@xrdef{Completion Functions-pg}{56}
-@xrdef{Completion Variables-title}{Completion Variables}
-@xrdef{Completion Variables-snt}{Section@tie 2.6.3}
-@xrdef{Completion Variables-pg}{57}
-@xrdef{A Short Completion Example-title}{A Short Completion Example}
-@xrdef{A Short Completion Example-snt}{Section@tie 2.6.4}
-@xrdef{A Short Completion Example-pg}{63}
-@xrdef{GNU Free Documentation License-title}{GNU Free Documentation License}
-@xrdef{GNU Free Documentation License-snt}{Appendix@tie @char65{}}
-@xrdef{GNU Free Documentation License-pg}{72}
-@xrdef{Concept Index-title}{Concept Index}
-@xrdef{Concept Index-snt}{}
-@xrdef{Concept Index-pg}{80}
-@xrdef{Function and Variable Index-title}{Function and Variable Index}
-@xrdef{Function and Variable Index-snt}{}
-@xrdef{Function and Variable Index-pg}{81}
diff --git a/lib/readline/doc/rlman.bt b/lib/readline/doc/rlman.bt
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/lib/readline/doc/rlman.cp b/lib/readline/doc/rlman.cp
deleted file mode 100644 (file)
index a521df4..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-\entry{interaction, readline}{1}{interaction, readline}
-\entry{notation, readline}{2}{notation, readline}
-\entry{command editing}{2}{command editing}
-\entry{editing command lines}{2}{editing command lines}
-\entry{killing text}{3}{killing text}
-\entry{yanking text}{3}{yanking text}
-\entry{kill ring}{3}{kill ring}
-\entry{initialization file, readline}{4}{initialization file, readline}
-\entry{variables, readline}{5}{variables, readline}
-\entry{readline, function}{27}{readline, function}
-\entry{application-specific completion functions}{55}{application-specific completion functions}
diff --git a/lib/readline/doc/rlman.cps b/lib/readline/doc/rlman.cps
deleted file mode 100644 (file)
index 1ba484b..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-\initial {A}
-\entry{application-specific completion functions}{55}
-\initial {C}
-\entry{command editing}{2}
-\initial {E}
-\entry{editing command lines}{2}
-\initial {I}
-\entry{initialization file, readline}{4}
-\entry{interaction, readline}{1}
-\initial {K}
-\entry{kill ring}{3}
-\entry{killing text}{3}
-\initial {N}
-\entry{notation, readline}{2}
-\initial {R}
-\entry{readline, function}{27}
-\initial {V}
-\entry{variables, readline}{5}
-\initial {Y}
-\entry{yanking text}{3}
diff --git a/lib/readline/doc/rlman.fn b/lib/readline/doc/rlman.fn
deleted file mode 100644 (file)
index 6fa0941..0000000
+++ /dev/null
@@ -1,266 +0,0 @@
-\entry{active-region-start-color}{5}{active-region-start-color}
-\entry{active-region-end-color}{5}{active-region-end-color}
-\entry{bell-style}{5}{bell-style}
-\entry{bind-tty-special-chars}{5}{bind-tty-special-chars}
-\entry{blink-matching-paren}{6}{blink-matching-paren}
-\entry{colored-completion-prefix}{6}{colored-completion-prefix}
-\entry{colored-stats}{6}{colored-stats}
-\entry{comment-begin}{6}{comment-begin}
-\entry{completion-display-width}{6}{completion-display-width}
-\entry{completion-ignore-case}{6}{completion-ignore-case}
-\entry{completion-map-case}{6}{completion-map-case}
-\entry{completion-prefix-display-length}{6}{completion-prefix-display-length}
-\entry{completion-query-items}{6}{completion-query-items}
-\entry{convert-meta}{7}{convert-meta}
-\entry{disable-completion}{7}{disable-completion}
-\entry{echo-control-characters}{7}{echo-control-characters}
-\entry{editing-mode}{7}{editing-mode}
-\entry{emacs-mode-string}{7}{emacs-mode-string}
-\entry{enable-active-region The}{7}{enable-active-region The}
-\entry{enable-bracketed-paste}{8}{enable-bracketed-paste}
-\entry{enable-keypad}{8}{enable-keypad}
-\entry{enable-meta-key}{8}{enable-meta-key}
-\entry{expand-tilde}{8}{expand-tilde}
-\entry{force-meta-prefix}{8}{force-meta-prefix}
-\entry{history-preserve-point}{8}{history-preserve-point}
-\entry{history-size}{9}{history-size}
-\entry{horizontal-scroll-mode}{9}{horizontal-scroll-mode}
-\entry{input-meta}{9}{input-meta}
-\entry{meta-flag}{9}{meta-flag}
-\entry{isearch-terminators}{9}{isearch-terminators}
-\entry{keymap}{9}{keymap}
-\entry{mark-modified-lines}{10}{mark-modified-lines}
-\entry{mark-symlinked-directories}{10}{mark-symlinked-directories}
-\entry{match-hidden-files}{10}{match-hidden-files}
-\entry{menu-complete-display-prefix}{10}{menu-complete-display-prefix}
-\entry{output-meta}{10}{output-meta}
-\entry{page-completions}{10}{page-completions}
-\entry{revert-all-at-newline}{10}{revert-all-at-newline}
-\entry{search-ignore-case}{11}{search-ignore-case}
-\entry{show-all-if-ambiguous}{11}{show-all-if-ambiguous}
-\entry{show-all-if-unmodified}{11}{show-all-if-unmodified}
-\entry{show-mode-in-prompt}{11}{show-mode-in-prompt}
-\entry{skip-completed-text}{11}{skip-completed-text}
-\entry{vi-cmd-mode-string}{11}{vi-cmd-mode-string}
-\entry{vi-ins-mode-string}{12}{vi-ins-mode-string}
-\entry{visible-stats}{12}{visible-stats}
-\entry{beginning-of-line (C-a)}{18}{\code {beginning-of-line (C-a)}}
-\entry{end-of-line (C-e)}{18}{\code {end-of-line (C-e)}}
-\entry{forward-char (C-f)}{18}{\code {forward-char (C-f)}}
-\entry{backward-char (C-b)}{18}{\code {backward-char (C-b)}}
-\entry{forward-word (M-f)}{18}{\code {forward-word (M-f)}}
-\entry{backward-word (M-b)}{18}{\code {backward-word (M-b)}}
-\entry{previous-screen-line ()}{18}{\code {previous-screen-line ()}}
-\entry{next-screen-line ()}{18}{\code {next-screen-line ()}}
-\entry{clear-display (M-C-l)}{19}{\code {clear-display (M-C-l)}}
-\entry{clear-screen (C-l)}{19}{\code {clear-screen (C-l)}}
-\entry{redraw-current-line ()}{19}{\code {redraw-current-line ()}}
-\entry{accept-line (Newline or Return)}{19}{\code {accept-line (Newline or Return)}}
-\entry{previous-history (C-p)}{19}{\code {previous-history (C-p)}}
-\entry{next-history (C-n)}{19}{\code {next-history (C-n)}}
-\entry{beginning-of-history (M-<)}{19}{\code {beginning-of-history (M-<)}}
-\entry{end-of-history (M->)}{19}{\code {end-of-history (M->)}}
-\entry{reverse-search-history (C-r)}{19}{\code {reverse-search-history (C-r)}}
-\entry{forward-search-history (C-s)}{19}{\code {forward-search-history (C-s)}}
-\entry{non-incremental-reverse-search-history (M-p)}{19}{\code {non-incremental-reverse-search-history (M-p)}}
-\entry{non-incremental-forward-search-history (M-n)}{19}{\code {non-incremental-forward-search-history (M-n)}}
-\entry{history-search-backward ()}{20}{\code {history-search-backward ()}}
-\entry{history-search-forward ()}{20}{\code {history-search-forward ()}}
-\entry{history-substring-search-backward ()}{20}{\code {history-substring-search-backward ()}}
-\entry{history-substring-search-forward ()}{20}{\code {history-substring-search-forward ()}}
-\entry{yank-nth-arg (M-C-y)}{20}{\code {yank-nth-arg (M-C-y)}}
-\entry{yank-last-arg (M-. or M-_)}{20}{\code {yank-last-arg (M-. or M-_)}}
-\entry{operate-and-get-next (C-o)}{20}{\code {operate-and-get-next (C-o)}}
-\entry{fetch-history ()}{21}{\code {fetch-history ()}}
-\entry{end-of-file (usually C-d)}{21}{\code {\i {end-of-file} (usually C-d)}}
-\entry{delete-char (C-d)}{21}{\code {delete-char (C-d)}}
-\entry{backward-delete-char (Rubout)}{21}{\code {backward-delete-char (Rubout)}}
-\entry{forward-backward-delete-char ()}{21}{\code {forward-backward-delete-char ()}}
-\entry{quoted-insert (C-q or C-v)}{21}{\code {quoted-insert (C-q or C-v)}}
-\entry{tab-insert (M-TAB)}{21}{\code {tab-insert (M-\key {TAB})}}
-\entry{self-insert (a, b, A, 1, !, ...{})}{21}{\code {self-insert (a, b, A, 1, !, \dots {})}}
-\entry{bracketed-paste-begin ()}{21}{\code {bracketed-paste-begin ()}}
-\entry{transpose-chars (C-t)}{21}{\code {transpose-chars (C-t)}}
-\entry{transpose-words (M-t)}{22}{\code {transpose-words (M-t)}}
-\entry{upcase-word (M-u)}{22}{\code {upcase-word (M-u)}}
-\entry{downcase-word (M-l)}{22}{\code {downcase-word (M-l)}}
-\entry{capitalize-word (M-c)}{22}{\code {capitalize-word (M-c)}}
-\entry{overwrite-mode ()}{22}{\code {overwrite-mode ()}}
-\entry{kill-line (C-k)}{22}{\code {kill-line (C-k)}}
-\entry{backward-kill-line (C-x Rubout)}{22}{\code {backward-kill-line (C-x Rubout)}}
-\entry{unix-line-discard (C-u)}{22}{\code {unix-line-discard (C-u)}}
-\entry{kill-whole-line ()}{22}{\code {kill-whole-line ()}}
-\entry{kill-word (M-d)}{22}{\code {kill-word (M-d)}}
-\entry{backward-kill-word (M-DEL)}{22}{\code {backward-kill-word (M-\key {DEL})}}
-\entry{unix-word-rubout (C-w)}{23}{\code {unix-word-rubout (C-w)}}
-\entry{unix-filename-rubout ()}{23}{\code {unix-filename-rubout ()}}
-\entry{delete-horizontal-space ()}{23}{\code {delete-horizontal-space ()}}
-\entry{kill-region ()}{23}{\code {kill-region ()}}
-\entry{copy-region-as-kill ()}{23}{\code {copy-region-as-kill ()}}
-\entry{copy-backward-word ()}{23}{\code {copy-backward-word ()}}
-\entry{copy-forward-word ()}{23}{\code {copy-forward-word ()}}
-\entry{yank (C-y)}{23}{\code {yank (C-y)}}
-\entry{yank-pop (M-y)}{23}{\code {yank-pop (M-y)}}
-\entry{digit-argument (M-0, M-1, ...{} M--)}{23}{\code {digit-argument (\kbd {M-0}, \kbd {M-1}, \dots {} \kbd {M--})}}
-\entry{universal-argument ()}{23}{\code {universal-argument ()}}
-\entry{complete (TAB)}{24}{\code {complete (\key {TAB})}}
-\entry{possible-completions (M-?)}{24}{\code {possible-completions (M-?)}}
-\entry{insert-completions (M-*)}{24}{\code {insert-completions (M-*)}}
-\entry{menu-complete ()}{24}{\code {menu-complete ()}}
-\entry{menu-complete-backward ()}{24}{\code {menu-complete-backward ()}}
-\entry{delete-char-or-list ()}{24}{\code {delete-char-or-list ()}}
-\entry{start-kbd-macro (C-x ()}{24}{\code {start-kbd-macro (C-x ()}}
-\entry{end-kbd-macro (C-x ))}{24}{\code {end-kbd-macro (C-x ))}}
-\entry{call-last-kbd-macro (C-x e)}{24}{\code {call-last-kbd-macro (C-x e)}}
-\entry{print-last-kbd-macro ()}{24}{\code {print-last-kbd-macro ()}}
-\entry{re-read-init-file (C-x C-r)}{25}{\code {re-read-init-file (C-x C-r)}}
-\entry{abort (C-g)}{25}{\code {abort (C-g)}}
-\entry{do-lowercase-version (M-A, M-B, M-x, ...{})}{25}{\code {do-lowercase-version (M-A, M-B, M-\var {x}, \dots {})}}
-\entry{prefix-meta (ESC)}{25}{\code {prefix-meta (\key {ESC})}}
-\entry{undo (C-_ or C-x C-u)}{25}{\code {undo (C-_ or C-x C-u)}}
-\entry{revert-line (M-r)}{25}{\code {revert-line (M-r)}}
-\entry{tilde-expand (M-~)}{25}{\code {tilde-expand (M-~)}}
-\entry{set-mark (C-@)}{25}{\code {set-mark (C-@)}}
-\entry{exchange-point-and-mark (C-x C-x)}{25}{\code {exchange-point-and-mark (C-x C-x)}}
-\entry{character-search (C-])}{25}{\code {character-search (C-])}}
-\entry{character-search-backward (M-C-])}{25}{\code {character-search-backward (M-C-])}}
-\entry{skip-csi-sequence ()}{25}{\code {skip-csi-sequence ()}}
-\entry{insert-comment (M-#)}{25}{\code {insert-comment (M-#)}}
-\entry{dump-functions ()}{26}{\code {dump-functions ()}}
-\entry{dump-variables ()}{26}{\code {dump-variables ()}}
-\entry{dump-macros ()}{26}{\code {dump-macros ()}}
-\entry{execute-named-command (M-x)}{26}{\code {execute-named-command (M-x)}}
-\entry{emacs-editing-mode (C-e)}{26}{\code {emacs-editing-mode (C-e)}}
-\entry{vi-editing-mode (M-C-j)}{26}{\code {vi-editing-mode (M-C-j)}}
-\entry{readline}{27}{\code {readline}}
-\entry{rl_add_defun}{36}{\code {rl_add_defun}}
-\entry{rl_make_bare_keymap}{36}{\code {rl_make_bare_keymap}}
-\entry{rl_copy_keymap}{36}{\code {rl_copy_keymap}}
-\entry{rl_make_keymap}{37}{\code {rl_make_keymap}}
-\entry{rl_discard_keymap}{37}{\code {rl_discard_keymap}}
-\entry{rl_free_keymap}{37}{\code {rl_free_keymap}}
-\entry{rl_empty_keymap}{37}{\code {rl_empty_keymap}}
-\entry{rl_get_keymap}{37}{\code {rl_get_keymap}}
-\entry{rl_set_keymap}{37}{\code {rl_set_keymap}}
-\entry{rl_get_keymap_by_name}{37}{\code {rl_get_keymap_by_name}}
-\entry{rl_get_keymap_name}{37}{\code {rl_get_keymap_name}}
-\entry{rl_set_keymap_name}{37}{\code {rl_set_keymap_name}}
-\entry{rl_bind_key}{38}{\code {rl_bind_key}}
-\entry{rl_bind_key_in_map}{38}{\code {rl_bind_key_in_map}}
-\entry{rl_bind_key_if_unbound}{38}{\code {rl_bind_key_if_unbound}}
-\entry{rl_bind_key_if_unbound_in_map}{38}{\code {rl_bind_key_if_unbound_in_map}}
-\entry{rl_unbind_key}{38}{\code {rl_unbind_key}}
-\entry{rl_unbind_key_in_map}{38}{\code {rl_unbind_key_in_map}}
-\entry{rl_unbind_function_in_map}{38}{\code {rl_unbind_function_in_map}}
-\entry{rl_unbind_command_in_map}{38}{\code {rl_unbind_command_in_map}}
-\entry{rl_bind_keyseq}{38}{\code {rl_bind_keyseq}}
-\entry{rl_bind_keyseq_in_map}{38}{\code {rl_bind_keyseq_in_map}}
-\entry{rl_set_key}{39}{\code {rl_set_key}}
-\entry{rl_bind_keyseq_if_unbound}{39}{\code {rl_bind_keyseq_if_unbound}}
-\entry{rl_bind_keyseq_if_unbound_in_map}{39}{\code {rl_bind_keyseq_if_unbound_in_map}}
-\entry{rl_generic_bind}{39}{\code {rl_generic_bind}}
-\entry{rl_parse_and_bind}{39}{\code {rl_parse_and_bind}}
-\entry{rl_read_init_file}{39}{\code {rl_read_init_file}}
-\entry{rl_named_function}{39}{\code {rl_named_function}}
-\entry{rl_function_of_keyseq}{39}{\code {rl_function_of_keyseq}}
-\entry{rl_function_of_keyseq_len}{39}{\code {rl_function_of_keyseq_len}}
-\entry{rl_trim_arg_from_keyseq}{40}{\code {rl_trim_arg_from_keyseq}}
-\entry{rl_invoking_keyseqs}{40}{\code {rl_invoking_keyseqs}}
-\entry{rl_invoking_keyseqs_in_map}{40}{\code {rl_invoking_keyseqs_in_map}}
-\entry{rl_print_keybinding}{40}{\code {rl_print_keybinding}}
-\entry{rl_function_dumper}{40}{\code {rl_function_dumper}}
-\entry{rl_list_funmap_names}{40}{\code {rl_list_funmap_names}}
-\entry{rl_funmap_names}{40}{\code {rl_funmap_names}}
-\entry{rl_add_funmap_entry}{40}{\code {rl_add_funmap_entry}}
-\entry{rl_begin_undo_group}{41}{\code {rl_begin_undo_group}}
-\entry{rl_end_undo_group}{41}{\code {rl_end_undo_group}}
-\entry{rl_add_undo}{41}{\code {rl_add_undo}}
-\entry{rl_free_undo_list}{41}{\code {rl_free_undo_list}}
-\entry{rl_do_undo}{41}{\code {rl_do_undo}}
-\entry{rl_modifying}{41}{\code {rl_modifying}}
-\entry{rl_redisplay}{41}{\code {rl_redisplay}}
-\entry{rl_forced_update_display}{41}{\code {rl_forced_update_display}}
-\entry{rl_on_new_line}{42}{\code {rl_on_new_line}}
-\entry{rl_on_new_line_with_prompt}{42}{\code {rl_on_new_line_with_prompt}}
-\entry{rl_clear_visible_line}{42}{\code {rl_clear_visible_line}}
-\entry{rl_reset_line_state}{42}{\code {rl_reset_line_state}}
-\entry{rl_crlf}{42}{\code {rl_crlf}}
-\entry{rl_show_char}{42}{\code {rl_show_char}}
-\entry{rl_message}{42}{\code {rl_message}}
-\entry{rl_clear_message}{42}{\code {rl_clear_message}}
-\entry{rl_save_prompt}{42}{\code {rl_save_prompt}}
-\entry{rl_restore_prompt}{42}{\code {rl_restore_prompt}}
-\entry{rl_expand_prompt}{42}{\code {rl_expand_prompt}}
-\entry{rl_set_prompt}{43}{\code {rl_set_prompt}}
-\entry{rl_insert_text}{43}{\code {rl_insert_text}}
-\entry{rl_delete_text}{43}{\code {rl_delete_text}}
-\entry{rl_copy_text}{43}{\code {rl_copy_text}}
-\entry{rl_kill_text}{43}{\code {rl_kill_text}}
-\entry{rl_replace_line}{43}{\code {rl_replace_line}}
-\entry{rl_push_macro_input}{43}{\code {rl_push_macro_input}}
-\entry{rl_read_key}{43}{\code {rl_read_key}}
-\entry{rl_getc}{44}{\code {rl_getc}}
-\entry{rl_stuff_char}{44}{\code {rl_stuff_char}}
-\entry{rl_execute_next}{44}{\code {rl_execute_next}}
-\entry{rl_clear_pending_input}{44}{\code {rl_clear_pending_input}}
-\entry{rl_set_keyboard_input_timeout}{44}{\code {rl_set_keyboard_input_timeout}}
-\entry{rl_set_timeout}{44}{\code {rl_set_timeout}}
-\entry{rl_timeout_remaining}{44}{\code {rl_timeout_remaining}}
-\entry{rl_prep_terminal}{44}{\code {rl_prep_terminal}}
-\entry{rl_deprep_terminal}{44}{\code {rl_deprep_terminal}}
-\entry{rl_tty_set_default_bindings}{45}{\code {rl_tty_set_default_bindings}}
-\entry{rl_tty_unset_default_bindings}{45}{\code {rl_tty_unset_default_bindings}}
-\entry{rl_tty_set_echoing}{45}{\code {rl_tty_set_echoing}}
-\entry{rl_reset_terminal}{45}{\code {rl_reset_terminal}}
-\entry{rl_save_state}{45}{\code {rl_save_state}}
-\entry{rl_restore_state}{45}{\code {rl_restore_state}}
-\entry{rl_free}{45}{\code {rl_free}}
-\entry{rl_extend_line_buffer}{45}{\code {rl_extend_line_buffer}}
-\entry{rl_initialize}{45}{\code {rl_initialize}}
-\entry{rl_ding}{45}{\code {rl_ding}}
-\entry{rl_alphabetic}{45}{\code {rl_alphabetic}}
-\entry{rl_display_match_list}{46}{\code {rl_display_match_list}}
-\entry{_rl_uppercase_p}{46}{\code {_rl_uppercase_p}}
-\entry{_rl_lowercase_p}{46}{\code {_rl_lowercase_p}}
-\entry{_rl_digit_p}{46}{\code {_rl_digit_p}}
-\entry{_rl_to_upper}{46}{\code {_rl_to_upper}}
-\entry{_rl_to_lower}{46}{\code {_rl_to_lower}}
-\entry{_rl_digit_value}{46}{\code {_rl_digit_value}}
-\entry{rl_macro_bind}{46}{\code {rl_macro_bind}}
-\entry{rl_macro_dumper}{46}{\code {rl_macro_dumper}}
-\entry{rl_variable_bind}{46}{\code {rl_variable_bind}}
-\entry{rl_variable_value}{47}{\code {rl_variable_value}}
-\entry{rl_variable_dumper}{47}{\code {rl_variable_dumper}}
-\entry{rl_set_paren_blink_timeout}{47}{\code {rl_set_paren_blink_timeout}}
-\entry{rl_get_termcap}{47}{\code {rl_get_termcap}}
-\entry{rl_reparse_colors}{47}{\code {rl_reparse_colors}}
-\entry{rl_clear_history}{47}{\code {rl_clear_history}}
-\entry{rl_activate_mark}{47}{\code {rl_activate_mark}}
-\entry{rl_deactivate_mark}{47}{\code {rl_deactivate_mark}}
-\entry{rl_keep_mark_active}{47}{\code {rl_keep_mark_active}}
-\entry{rl_mark_active_p}{47}{\code {rl_mark_active_p}}
-\entry{rl_callback_handler_install}{48}{\code {rl_callback_handler_install}}
-\entry{rl_callback_read_char}{48}{\code {rl_callback_read_char}}
-\entry{rl_callback_sigcleanup}{48}{\code {rl_callback_sigcleanup}}
-\entry{rl_callback_handler_remove}{48}{\code {rl_callback_handler_remove}}
-\entry{rl_pending_signal}{54}{\code {rl_pending_signal}}
-\entry{rl_cleanup_after_signal}{54}{\code {rl_cleanup_after_signal}}
-\entry{rl_free_line_state}{54}{\code {rl_free_line_state}}
-\entry{rl_reset_after_signal}{54}{\code {rl_reset_after_signal}}
-\entry{rl_check_signals}{54}{\code {rl_check_signals}}
-\entry{rl_echo_signal_char}{54}{\code {rl_echo_signal_char}}
-\entry{rl_resize_terminal}{54}{\code {rl_resize_terminal}}
-\entry{rl_set_screen_size}{54}{\code {rl_set_screen_size}}
-\entry{rl_get_screen_size}{55}{\code {rl_get_screen_size}}
-\entry{rl_reset_screen_size}{55}{\code {rl_reset_screen_size}}
-\entry{rl_set_signals}{55}{\code {rl_set_signals}}
-\entry{rl_clear_signals}{55}{\code {rl_clear_signals}}
-\entry{rl_complete}{56}{\code {rl_complete}}
-\entry{rl_complete_internal}{56}{\code {rl_complete_internal}}
-\entry{rl_complete}{56}{\code {rl_complete}}
-\entry{rl_possible_completions}{56}{\code {rl_possible_completions}}
-\entry{rl_insert_completions}{56}{\code {rl_insert_completions}}
-\entry{rl_completion_mode}{57}{\code {rl_completion_mode}}
-\entry{rl_completion_matches}{57}{\code {rl_completion_matches}}
-\entry{rl_filename_completion_function}{57}{\code {rl_filename_completion_function}}
-\entry{rl_username_completion_function}{57}{\code {rl_username_completion_function}}
diff --git a/lib/readline/doc/rlman.fns b/lib/readline/doc/rlman.fns
deleted file mode 100644 (file)
index 5170c2f..0000000
+++ /dev/null
@@ -1,286 +0,0 @@
-\initial {_}
-\entry{\code {_rl_digit_p}}{46}
-\entry{\code {_rl_digit_value}}{46}
-\entry{\code {_rl_lowercase_p}}{46}
-\entry{\code {_rl_to_lower}}{46}
-\entry{\code {_rl_to_upper}}{46}
-\entry{\code {_rl_uppercase_p}}{46}
-\initial {A}
-\entry{\code {abort (C-g)}}{25}
-\entry{\code {accept-line (Newline or Return)}}{19}
-\entry{active-region-end-color}{5}
-\entry{active-region-start-color}{5}
-\initial {B}
-\entry{\code {backward-char (C-b)}}{18}
-\entry{\code {backward-delete-char (Rubout)}}{21}
-\entry{\code {backward-kill-line (C-x Rubout)}}{22}
-\entry{\code {backward-kill-word (M-\key {DEL})}}{22}
-\entry{\code {backward-word (M-b)}}{18}
-\entry{\code {beginning-of-history (M-<)}}{19}
-\entry{\code {beginning-of-line (C-a)}}{18}
-\entry{bell-style}{5}
-\entry{bind-tty-special-chars}{5}
-\entry{blink-matching-paren}{6}
-\entry{\code {bracketed-paste-begin ()}}{21}
-\initial {C}
-\entry{\code {call-last-kbd-macro (C-x e)}}{24}
-\entry{\code {capitalize-word (M-c)}}{22}
-\entry{\code {character-search (C-])}}{25}
-\entry{\code {character-search-backward (M-C-])}}{25}
-\entry{\code {clear-display (M-C-l)}}{19}
-\entry{\code {clear-screen (C-l)}}{19}
-\entry{colored-completion-prefix}{6}
-\entry{colored-stats}{6}
-\entry{comment-begin}{6}
-\entry{\code {complete (\key {TAB})}}{24}
-\entry{completion-display-width}{6}
-\entry{completion-ignore-case}{6}
-\entry{completion-map-case}{6}
-\entry{completion-prefix-display-length}{6}
-\entry{completion-query-items}{6}
-\entry{convert-meta}{7}
-\entry{\code {copy-backward-word ()}}{23}
-\entry{\code {copy-forward-word ()}}{23}
-\entry{\code {copy-region-as-kill ()}}{23}
-\initial {D}
-\entry{\code {delete-char (C-d)}}{21}
-\entry{\code {delete-char-or-list ()}}{24}
-\entry{\code {delete-horizontal-space ()}}{23}
-\entry{\code {digit-argument (\kbd {M-0}, \kbd {M-1}, \dots {} \kbd {M--})}}{23}
-\entry{disable-completion}{7}
-\entry{\code {do-lowercase-version (M-A, M-B, M-\var {x}, \dots {})}}{25}
-\entry{\code {downcase-word (M-l)}}{22}
-\entry{\code {dump-functions ()}}{26}
-\entry{\code {dump-macros ()}}{26}
-\entry{\code {dump-variables ()}}{26}
-\initial {E}
-\entry{echo-control-characters}{7}
-\entry{editing-mode}{7}
-\entry{\code {emacs-editing-mode (C-e)}}{26}
-\entry{emacs-mode-string}{7}
-\entry{enable-active-region The}{7}
-\entry{enable-bracketed-paste}{8}
-\entry{enable-keypad}{8}
-\entry{enable-meta-key}{8}
-\entry{\code {end-kbd-macro (C-x ))}}{24}
-\entry{\code {\i {end-of-file} (usually C-d)}}{21}
-\entry{\code {end-of-history (M->)}}{19}
-\entry{\code {end-of-line (C-e)}}{18}
-\entry{\code {exchange-point-and-mark (C-x C-x)}}{25}
-\entry{\code {execute-named-command (M-x)}}{26}
-\entry{expand-tilde}{8}
-\initial {F}
-\entry{\code {fetch-history ()}}{21}
-\entry{force-meta-prefix}{8}
-\entry{\code {forward-backward-delete-char ()}}{21}
-\entry{\code {forward-char (C-f)}}{18}
-\entry{\code {forward-search-history (C-s)}}{19}
-\entry{\code {forward-word (M-f)}}{18}
-\initial {H}
-\entry{history-preserve-point}{8}
-\entry{\code {history-search-backward ()}}{20}
-\entry{\code {history-search-forward ()}}{20}
-\entry{history-size}{9}
-\entry{\code {history-substring-search-backward ()}}{20}
-\entry{\code {history-substring-search-forward ()}}{20}
-\entry{horizontal-scroll-mode}{9}
-\initial {I}
-\entry{input-meta}{9}
-\entry{\code {insert-comment (M-#)}}{25}
-\entry{\code {insert-completions (M-*)}}{24}
-\entry{isearch-terminators}{9}
-\initial {K}
-\entry{keymap}{9}
-\entry{\code {kill-line (C-k)}}{22}
-\entry{\code {kill-region ()}}{23}
-\entry{\code {kill-whole-line ()}}{22}
-\entry{\code {kill-word (M-d)}}{22}
-\initial {M}
-\entry{mark-modified-lines}{10}
-\entry{mark-symlinked-directories}{10}
-\entry{match-hidden-files}{10}
-\entry{\code {menu-complete ()}}{24}
-\entry{\code {menu-complete-backward ()}}{24}
-\entry{menu-complete-display-prefix}{10}
-\entry{meta-flag}{9}
-\initial {N}
-\entry{\code {next-history (C-n)}}{19}
-\entry{\code {next-screen-line ()}}{18}
-\entry{\code {non-incremental-forward-search-history (M-n)}}{19}
-\entry{\code {non-incremental-reverse-search-history (M-p)}}{19}
-\initial {O}
-\entry{\code {operate-and-get-next (C-o)}}{20}
-\entry{output-meta}{10}
-\entry{\code {overwrite-mode ()}}{22}
-\initial {P}
-\entry{page-completions}{10}
-\entry{\code {possible-completions (M-?)}}{24}
-\entry{\code {prefix-meta (\key {ESC})}}{25}
-\entry{\code {previous-history (C-p)}}{19}
-\entry{\code {previous-screen-line ()}}{18}
-\entry{\code {print-last-kbd-macro ()}}{24}
-\initial {Q}
-\entry{\code {quoted-insert (C-q or C-v)}}{21}
-\initial {R}
-\entry{\code {re-read-init-file (C-x C-r)}}{25}
-\entry{\code {readline}}{27}
-\entry{\code {redraw-current-line ()}}{19}
-\entry{\code {reverse-search-history (C-r)}}{19}
-\entry{revert-all-at-newline}{10}
-\entry{\code {revert-line (M-r)}}{25}
-\entry{\code {rl_activate_mark}}{47}
-\entry{\code {rl_add_defun}}{36}
-\entry{\code {rl_add_funmap_entry}}{40}
-\entry{\code {rl_add_undo}}{41}
-\entry{\code {rl_alphabetic}}{45}
-\entry{\code {rl_begin_undo_group}}{41}
-\entry{\code {rl_bind_key}}{38}
-\entry{\code {rl_bind_key_if_unbound}}{38}
-\entry{\code {rl_bind_key_if_unbound_in_map}}{38}
-\entry{\code {rl_bind_key_in_map}}{38}
-\entry{\code {rl_bind_keyseq}}{38}
-\entry{\code {rl_bind_keyseq_if_unbound}}{39}
-\entry{\code {rl_bind_keyseq_if_unbound_in_map}}{39}
-\entry{\code {rl_bind_keyseq_in_map}}{38}
-\entry{\code {rl_callback_handler_install}}{48}
-\entry{\code {rl_callback_handler_remove}}{48}
-\entry{\code {rl_callback_read_char}}{48}
-\entry{\code {rl_callback_sigcleanup}}{48}
-\entry{\code {rl_check_signals}}{54}
-\entry{\code {rl_cleanup_after_signal}}{54}
-\entry{\code {rl_clear_history}}{47}
-\entry{\code {rl_clear_message}}{42}
-\entry{\code {rl_clear_pending_input}}{44}
-\entry{\code {rl_clear_signals}}{55}
-\entry{\code {rl_clear_visible_line}}{42}
-\entry{\code {rl_complete}}{56}
-\entry{\code {rl_complete_internal}}{56}
-\entry{\code {rl_completion_matches}}{57}
-\entry{\code {rl_completion_mode}}{57}
-\entry{\code {rl_copy_keymap}}{36}
-\entry{\code {rl_copy_text}}{43}
-\entry{\code {rl_crlf}}{42}
-\entry{\code {rl_deactivate_mark}}{47}
-\entry{\code {rl_delete_text}}{43}
-\entry{\code {rl_deprep_terminal}}{44}
-\entry{\code {rl_ding}}{45}
-\entry{\code {rl_discard_keymap}}{37}
-\entry{\code {rl_display_match_list}}{46}
-\entry{\code {rl_do_undo}}{41}
-\entry{\code {rl_echo_signal_char}}{54}
-\entry{\code {rl_empty_keymap}}{37}
-\entry{\code {rl_end_undo_group}}{41}
-\entry{\code {rl_execute_next}}{44}
-\entry{\code {rl_expand_prompt}}{42}
-\entry{\code {rl_extend_line_buffer}}{45}
-\entry{\code {rl_filename_completion_function}}{57}
-\entry{\code {rl_forced_update_display}}{41}
-\entry{\code {rl_free}}{45}
-\entry{\code {rl_free_keymap}}{37}
-\entry{\code {rl_free_line_state}}{54}
-\entry{\code {rl_free_undo_list}}{41}
-\entry{\code {rl_function_dumper}}{40}
-\entry{\code {rl_function_of_keyseq}}{39}
-\entry{\code {rl_function_of_keyseq_len}}{39}
-\entry{\code {rl_funmap_names}}{40}
-\entry{\code {rl_generic_bind}}{39}
-\entry{\code {rl_get_keymap}}{37}
-\entry{\code {rl_get_keymap_by_name}}{37}
-\entry{\code {rl_get_keymap_name}}{37}
-\entry{\code {rl_get_screen_size}}{55}
-\entry{\code {rl_get_termcap}}{47}
-\entry{\code {rl_getc}}{44}
-\entry{\code {rl_initialize}}{45}
-\entry{\code {rl_insert_completions}}{56}
-\entry{\code {rl_insert_text}}{43}
-\entry{\code {rl_invoking_keyseqs}}{40}
-\entry{\code {rl_invoking_keyseqs_in_map}}{40}
-\entry{\code {rl_keep_mark_active}}{47}
-\entry{\code {rl_kill_text}}{43}
-\entry{\code {rl_list_funmap_names}}{40}
-\entry{\code {rl_macro_bind}}{46}
-\entry{\code {rl_macro_dumper}}{46}
-\entry{\code {rl_make_bare_keymap}}{36}
-\entry{\code {rl_make_keymap}}{37}
-\entry{\code {rl_mark_active_p}}{47}
-\entry{\code {rl_message}}{42}
-\entry{\code {rl_modifying}}{41}
-\entry{\code {rl_named_function}}{39}
-\entry{\code {rl_on_new_line}}{42}
-\entry{\code {rl_on_new_line_with_prompt}}{42}
-\entry{\code {rl_parse_and_bind}}{39}
-\entry{\code {rl_pending_signal}}{54}
-\entry{\code {rl_possible_completions}}{56}
-\entry{\code {rl_prep_terminal}}{44}
-\entry{\code {rl_print_keybinding}}{40}
-\entry{\code {rl_push_macro_input}}{43}
-\entry{\code {rl_read_init_file}}{39}
-\entry{\code {rl_read_key}}{43}
-\entry{\code {rl_redisplay}}{41}
-\entry{\code {rl_reparse_colors}}{47}
-\entry{\code {rl_replace_line}}{43}
-\entry{\code {rl_reset_after_signal}}{54}
-\entry{\code {rl_reset_line_state}}{42}
-\entry{\code {rl_reset_screen_size}}{55}
-\entry{\code {rl_reset_terminal}}{45}
-\entry{\code {rl_resize_terminal}}{54}
-\entry{\code {rl_restore_prompt}}{42}
-\entry{\code {rl_restore_state}}{45}
-\entry{\code {rl_save_prompt}}{42}
-\entry{\code {rl_save_state}}{45}
-\entry{\code {rl_set_key}}{39}
-\entry{\code {rl_set_keyboard_input_timeout}}{44}
-\entry{\code {rl_set_keymap}}{37}
-\entry{\code {rl_set_keymap_name}}{37}
-\entry{\code {rl_set_paren_blink_timeout}}{47}
-\entry{\code {rl_set_prompt}}{43}
-\entry{\code {rl_set_screen_size}}{54}
-\entry{\code {rl_set_signals}}{55}
-\entry{\code {rl_set_timeout}}{44}
-\entry{\code {rl_show_char}}{42}
-\entry{\code {rl_stuff_char}}{44}
-\entry{\code {rl_timeout_remaining}}{44}
-\entry{\code {rl_trim_arg_from_keyseq}}{40}
-\entry{\code {rl_tty_set_default_bindings}}{45}
-\entry{\code {rl_tty_set_echoing}}{45}
-\entry{\code {rl_tty_unset_default_bindings}}{45}
-\entry{\code {rl_unbind_command_in_map}}{38}
-\entry{\code {rl_unbind_function_in_map}}{38}
-\entry{\code {rl_unbind_key}}{38}
-\entry{\code {rl_unbind_key_in_map}}{38}
-\entry{\code {rl_username_completion_function}}{57}
-\entry{\code {rl_variable_bind}}{46}
-\entry{\code {rl_variable_dumper}}{47}
-\entry{\code {rl_variable_value}}{47}
-\initial {S}
-\entry{search-ignore-case}{11}
-\entry{\code {self-insert (a, b, A, 1, !, \dots {})}}{21}
-\entry{\code {set-mark (C-@)}}{25}
-\entry{show-all-if-ambiguous}{11}
-\entry{show-all-if-unmodified}{11}
-\entry{show-mode-in-prompt}{11}
-\entry{skip-completed-text}{11}
-\entry{\code {skip-csi-sequence ()}}{25}
-\entry{\code {start-kbd-macro (C-x ()}}{24}
-\initial {T}
-\entry{\code {tab-insert (M-\key {TAB})}}{21}
-\entry{\code {tilde-expand (M-~)}}{25}
-\entry{\code {transpose-chars (C-t)}}{21}
-\entry{\code {transpose-words (M-t)}}{22}
-\initial {U}
-\entry{\code {undo (C-_ or C-x C-u)}}{25}
-\entry{\code {universal-argument ()}}{23}
-\entry{\code {unix-filename-rubout ()}}{23}
-\entry{\code {unix-line-discard (C-u)}}{22}
-\entry{\code {unix-word-rubout (C-w)}}{23}
-\entry{\code {upcase-word (M-u)}}{22}
-\initial {V}
-\entry{vi-cmd-mode-string}{11}
-\entry{\code {vi-editing-mode (M-C-j)}}{26}
-\entry{vi-ins-mode-string}{12}
-\entry{visible-stats}{12}
-\initial {Y}
-\entry{\code {yank (C-y)}}{23}
-\entry{\code {yank-last-arg (M-. or M-_)}}{20}
-\entry{\code {yank-nth-arg (M-C-y)}}{20}
-\entry{\code {yank-pop (M-y)}}{23}
diff --git a/lib/readline/doc/rlman.info b/lib/readline/doc/rlman.info
deleted file mode 100644 (file)
index d8c1b7e..0000000
+++ /dev/null
@@ -1,5466 +0,0 @@
-This is rlman.info, produced by makeinfo version 7.1 from rlman.texi.
-
-This manual describes the GNU Readline Library (version 8.3, 10 October
-2024), a library which aids in the consistency of user interface across
-discrete programs which provide a command line interface.
-
-   Copyright © 1988-2024 Free Software Foundation, Inc.
-
-     Permission is granted to copy, distribute and/or modify this
-     document under the terms of the GNU Free Documentation License,
-     Version 1.3 or any later version published by the Free Software
-     Foundation; with no Invariant Sections, no Front-Cover Texts, and
-     no Back-Cover Texts.  A copy of the license is included in the
-     section entitled "GNU Free Documentation License".
-
-INFO-DIR-SECTION Libraries
-START-INFO-DIR-ENTRY
-* Readline: (readline).       The GNU readline library API.
-END-INFO-DIR-ENTRY
-
-\1f
-File: rlman.info,  Node: Top,  Next: Command Line Editing,  Up: (dir)
-
-GNU Readline Library
-********************
-
-This document describes the GNU Readline Library, a utility which aids
-in the consistency of user interface across discrete programs which
-provide a command line interface.  The Readline home page is
-<http://www.gnu.org/software/readline/>.
-
-* Menu:
-
-* Command Line Editing::          GNU Readline User's Manual.
-* Programming with GNU Readline::  GNU Readline Programmer's Manual.
-* GNU Free Documentation License::     License for copying this manual.
-* Concept Index::                 Index of concepts described in this manual.
-* Function and Variable Index::           Index of externally visible functions
-                                  and variables.
-
-\1f
-File: rlman.info,  Node: Command Line Editing,  Next: Programming with GNU Readline,  Prev: Top,  Up: Top
-
-1 Command Line Editing
-**********************
-
-This chapter describes the basic features of the GNU command line
-editing interface.
-
-* Menu:
-
-* Introduction and Notation::  Notation used in this text.
-* Readline Interaction::       The minimum set of commands for editing a line.
-* Readline Init File::         Customizing Readline from a user's view.
-* Bindable Readline Commands:: A description of most of the Readline commands
-                               available for binding
-* Readline vi Mode::           A short description of how to make Readline
-                               behave like the vi editor.
-
-\1f
-File: rlman.info,  Node: Introduction and Notation,  Next: Readline Interaction,  Up: Command Line Editing
-
-1.1 Introduction to Line Editing
-================================
-
-The following paragraphs describe the notation used to represent
-keystrokes.
-
-   The text ‘C-k’ is read as 'Control-K' and describes the character
-produced when the <k> key is pressed while the Control key is depressed.
-
-   The text ‘M-k’ is read as 'Meta-K' and describes the character
-produced when the Meta key (if you have one) is depressed, and the <k>
-key is pressed (a “meta character”).  The Meta key is labeled <ALT> on
-many keyboards.  On keyboards with two keys labeled <ALT> (usually to
-either side of the space bar), the <ALT> on the left side is generally
-set to work as a Meta key.  The <ALT> key on the right may also be
-configured to work as a Meta key or may be configured as some other
-modifier, such as a Compose key for typing accented characters.
-
-   On some keyboards, the Meta key modifier produces meta characters
-with the eighth bit (0200) set.  You can use the ‘enable-meta-key’
-variable to control whether or not it does this, if the keyboard allows
-it.  On many others, the terminal or terminal emulator converts the
-metafied key to a key sequence beginning with <ESC> as described in the
-next paragraph.
-
-   If you do not have a Meta or <ALT> key, or another key working as a
-Meta key, you can generally achieve the latter effect by typing <ESC>
-_first_, and then typing <k>.  The <ESC> character is known as the “meta
-prefix”).
-
-   Either process is known as “metafying” the <k> key.
-
-   If your Meta key produces a key sequence with the <ESC> meta prefix,
-you can make ‘M-key’ key bindings you specify (see ‘Key Bindings’ in
-*note Readline Init File Syntax::) do the same thing by setting the
-‘force-meta-prefix’ variable.
-
-   The text ‘M-C-k’ is read as 'Meta-Control-k' and describes the
-character produced by metafying ‘C-k’.
-
-   In addition, several keys have their own names.  Specifically, <DEL>,
-<ESC>, <LFD>, <SPC>, <RET>, and <TAB> all stand for themselves when seen
-in this text, or in an init file (*note Readline Init File::).  If your
-keyboard lacks a <LFD> key, typing <C-j> will output the appropriate
-character.  The <RET> key may be labeled <Return> or <Enter> on some
-keyboards.
-
-\1f
-File: rlman.info,  Node: Readline Interaction,  Next: Readline Init File,  Prev: Introduction and Notation,  Up: Command Line Editing
-
-1.2 Readline Interaction
-========================
-
-Often during an interactive session you type in a long line of text,
-only to notice that the first word on the line is misspelled.  The
-Readline library gives you a set of commands for manipulating the text
-as you type it in, allowing you to just fix your typo, and not forcing
-you to retype the majority of the line.  Using these editing commands,
-you move the cursor to the place that needs correction, and delete or
-insert the text of the corrections.  Then, when you are satisfied with
-the line, you simply press <RET>.  You do not have to be at the end of
-the line to press <RET>; the entire line is accepted regardless of the
-location of the cursor within the line.
-
-* Menu:
-
-* Readline Bare Essentials::   The least you need to know about Readline.
-* Readline Movement Commands:: Moving about the input line.
-* Readline Killing Commands::  How to delete text, and how to get it back!
-* Readline Arguments::         Giving numeric arguments to commands.
-* Searching::                  Searching through previous lines.
-
-\1f
-File: rlman.info,  Node: Readline Bare Essentials,  Next: Readline Movement Commands,  Up: Readline Interaction
-
-1.2.1 Readline Bare Essentials
-------------------------------
-
-In order to enter characters into the line, simply type them.  The typed
-character appears where the cursor was, and then the cursor moves one
-space to the right.  If you mistype a character, you can use your erase
-character to back up and delete the mistyped character.
-
-   Sometimes you may mistype a character, and not notice the error until
-you have typed several other characters.  In that case, you can type
-‘C-b’ to move the cursor to the left, and then correct your mistake.
-Afterwards, you can move the cursor to the right with ‘C-f’.
-
-   When you add text in the middle of a line, you will notice that
-characters to the right of the cursor are 'pushed over' to make room for
-the text that you have inserted.  Likewise, when you delete text behind
-the cursor, characters to the right of the cursor are 'pulled back' to
-fill in the blank space created by the removal of the text.  These are
-the bare essentials for editing the text of an input line:
-
-‘C-b’
-     Move back one character.
-‘C-f’
-     Move forward one character.
-<DEL> or <Backspace>
-     Delete the character to the left of the cursor.
-‘C-d’
-     Delete the character underneath the cursor.
-Printing characters
-     Insert the character into the line at the cursor.
-‘C-_’ or ‘C-x C-u’
-     Undo the last editing command.  You can undo all the way back to an
-     empty line.
-
-Depending on your configuration, the <Backspace> key might be set to
-delete the character to the left of the cursor and the <DEL> key set to
-delete the character underneath the cursor, like ‘C-d’, rather than the
-character to the left of the cursor.
-
-\1f
-File: rlman.info,  Node: Readline Movement Commands,  Next: Readline Killing Commands,  Prev: Readline Bare Essentials,  Up: Readline Interaction
-
-1.2.2 Readline Movement Commands
---------------------------------
-
-The above table describes the most basic keystrokes that you need in
-order to do editing of the input line.  For your convenience, many other
-commands are available in addition to ‘C-b’, ‘C-f’, ‘C-d’, and <DEL>.
-Here are some commands for moving more rapidly within the line.
-
-‘C-a’
-     Move to the start of the line.
-‘C-e’
-     Move to the end of the line.
-‘M-f’
-     Move forward a word, where a word is composed of letters and
-     digits.
-‘M-b’
-     Move backward a word.
-‘C-l’
-     Clear the screen, reprinting the current line at the top.
-
-   Notice how ‘C-f’ moves forward a character, while ‘M-f’ moves forward
-a word.  It is a loose convention that control keystrokes operate on
-characters while meta keystrokes operate on words.
-
-\1f
-File: rlman.info,  Node: Readline Killing Commands,  Next: Readline Arguments,  Prev: Readline Movement Commands,  Up: Readline Interaction
-
-1.2.3 Readline Killing Commands
--------------------------------
-
-“Killing” text means to delete the text from the line, but to save it
-away for later use, usually by “yanking” (re-inserting) it back into the
-line.  ('Cut' and 'paste' are more recent jargon for 'kill' and 'yank'.)
-
-   If the description for a command says that it 'kills' text, then you
-can be sure that you can get the text back in a different (or the same)
-place later.
-
-   When you use a kill command, the text is saved in a “kill-ring”.  Any
-number of consecutive kills save all of the killed text together, so
-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.
-
-   Here is the list of commands for killing text.
-
-‘C-k’
-     Kill the text from the current cursor position to the end of the
-     line.
-
-‘M-d’
-     Kill from the cursor to the end of the current word, or, if between
-     words, to the end of the next word.  Word boundaries are the same
-     as those used by ‘M-f’.
-
-‘M-<DEL>’
-     Kill from the cursor to the start of the current word, or, if
-     between words, to the start of the previous word.  Word boundaries
-     are the same as those used by ‘M-b’.
-
-‘C-w’
-     Kill from the cursor to the previous whitespace.  This is different
-     than ‘M-<DEL>’ because the word boundaries differ.
-
-   Here is how to “yank” the text back into the line.  Yanking means to
-copy the most-recently-killed text from the kill buffer into the line at
-the current cursor position.
-
-‘C-y’
-     Yank the most recently killed text back into the buffer at the
-     cursor.
-
-‘M-y’
-     Rotate the kill-ring, and yank the new top.  You can only do this
-     if the prior command is ‘C-y’ or ‘M-y’.
-
-\1f
-File: rlman.info,  Node: Readline Arguments,  Next: Searching,  Prev: Readline Killing Commands,  Up: Readline Interaction
-
-1.2.4 Readline Arguments
-------------------------
-
-You can pass numeric arguments to Readline commands.  Sometimes the
-argument acts as a repeat count, other times it is the sign of the
-argument that is significant.  If you pass a negative argument to a
-command which normally acts in a forward direction, that command will
-act in a backward direction.  For example, to kill text back to the
-start of the line, you might type ‘M-- C-k’.
-
-   The general way to pass numeric arguments to a command is to type
-meta digits before the command.  If the first 'digit' typed is a minus
-sign (‘-’), then the sign of the argument will be negative.  Once you
-have typed one meta digit to get the argument started, you can type the
-remainder of the digits, and then the command.  For example, to give the
-‘C-d’ command an argument of 10, you could type ‘M-1 0 C-d’, which will
-delete the next ten characters on the input line.
-
-\1f
-File: rlman.info,  Node: Searching,  Prev: Readline Arguments,  Up: Readline Interaction
-
-1.2.5 Searching for Commands in the History
--------------------------------------------
-
-Readline provides commands for searching through the command history for
-lines containing a specified string.  There are two search modes:
-“incremental” and “non-incremental”.
-
-   Incremental searches begin before the user has finished typing the
-search string.  As each character of the search string is typed,
-Readline displays the next entry from the history matching the string
-typed so far.  An incremental search requires only as many characters as
-needed to find the desired history entry.  When using emacs editing
-mode, type ‘C-r’ to search backward in the history for a particular
-string.  Typing ‘C-s’ searches forward through the history.  The
-characters present in the value of the ‘isearch-terminators’ variable
-are used to terminate an incremental search.  If that variable has not
-been assigned a value, the <ESC> and ‘C-J’ characters will terminate an
-incremental search.  ‘C-g’ will abort an incremental search and restore
-the original line.  When the search is terminated, the history entry
-containing the search string becomes the current line.
-
-   To find other matching entries in the history list, type ‘C-r’ or
-‘C-s’ as appropriate.  This will search backward or forward in the
-history for the next entry matching the search string typed so far.  Any
-other key sequence bound to a Readline command will terminate the search
-and execute that command.  For instance, a <RET> will terminate the
-search and accept the line, thereby executing the command from the
-history list.  A movement command will terminate the search, make the
-last line found the current line, and begin editing.
-
-   Readline remembers the last incremental search string.  If two ‘C-r’s
-are typed without any intervening characters defining a new search
-string, Readline uses any remembered search string.
-
-   Non-incremental searches read the entire search string before
-starting to search for matching history entries.  The search string may
-be typed by the user or be part of the contents of the current line.
-
-\1f
-File: rlman.info,  Node: Readline Init File,  Next: Bindable Readline Commands,  Prev: Readline Interaction,  Up: Command Line Editing
-
-1.3 Readline Init File
-======================
-
-Although the Readline library comes with a set of Emacs-like keybindings
-installed by default, it is possible to use a different set of
-keybindings.  Any user can customize programs that use Readline by
-putting commands in an “inputrc” file, conventionally in their home
-directory.  The name of this file is taken from the value of the
-environment variable ‘INPUTRC’.  If that variable is unset, the default
-is ‘~/.inputrc’.  If that file does not exist or cannot be read,
-readline looks for ‘/etc/inputrc’.
-
-   When a program which uses the Readline library starts up, Readline
-reads the init file and sets any variables and key bindings it contains.
-
-   In addition, the ‘C-x C-r’ command re-reads this init file, thus
-incorporating any changes that you might have made to it.
-
-* Menu:
-
-* Readline Init File Syntax::  Syntax for the commands in the inputrc file.
-* Conditional Init Constructs::        Conditional key bindings in the inputrc file.
-* Sample Init File::           An example inputrc file.
-
-\1f
-File: rlman.info,  Node: Readline Init File Syntax,  Next: Conditional Init Constructs,  Up: Readline Init File
-
-1.3.1 Readline Init File Syntax
--------------------------------
-
-There are only a few basic constructs allowed in the Readline init file.
-Blank lines are ignored.  Lines beginning with a ‘#’ are comments.
-Lines beginning with a ‘$’ indicate conditional constructs (*note
-Conditional Init Constructs::).  Other lines denote variable settings
-and key bindings.
-
-Variable Settings
-     You can modify the run-time behavior of Readline by altering the
-     values of variables in Readline using the ‘set’ command within the
-     init file.  The syntax is simple:
-
-          set VARIABLE VALUE
-
-     Here, for example, is how to change from the default Emacs-like key
-     binding to use ‘vi’ line editing commands:
-
-          set editing-mode vi
-
-     Variable names and values, where appropriate, are recognized
-     without regard to case.  Unrecognized variable names are ignored.
-
-     Boolean variables (those that can be set to on or off) are set to
-     on if the value is null or empty, ON (case-insensitive), or 1.  Any
-     other value results in the variable being set to off.
-
-     A great deal of run-time behavior is changeable with the following
-     variables.
-
-     ‘active-region-start-color’
-          A string variable that controls the text color and background
-          when displaying the text in the active region (see the
-          description of ‘enable-active-region’ below).  This string
-          must not take up any physical character positions on the
-          display, so it should consist only of terminal escape
-          sequences.  It is output to the terminal before displaying the
-          text in the active region.  This variable is reset to the
-          default value whenever the terminal type changes.  The default
-          value is the string that puts the terminal in standout mode,
-          as obtained from the terminal's terminfo description.  A
-          sample value might be ‘\e[01;33m’.
-
-     ‘active-region-end-color’
-          A string variable that "undoes" the effects of
-          ‘active-region-start-color’ and restores "normal" terminal
-          display appearance after displaying text in the active region.
-          This string must not take up any physical character positions
-          on the display, so it should consist only of terminal escape
-          sequences.  It is output to the terminal after displaying the
-          text in the active region.  This variable is reset to the
-          default value whenever the terminal type changes.  The default
-          value is the string that restores the terminal from standout
-          mode, as obtained from the terminal's terminfo description.  A
-          sample value might be ‘\e[0m’.
-
-     ‘bell-style’
-          Controls what happens when Readline wants to ring the terminal
-          bell.  If set to ‘none’, Readline never rings the bell.  If
-          set to ‘visible’, Readline uses a visible bell if one is
-          available.  If set to ‘audible’ (the default), Readline
-          attempts to ring the terminal's bell.
-
-     ‘bind-tty-special-chars’
-          If set to ‘on’ (the default), Readline attempts to bind the
-          control characters that are treated specially by the kernel's
-          terminal driver to their Readline equivalents.  These override
-          the default Readline bindings described here.  Type ‘stty -a’
-          at a Bash prompt to see your current terminal settings,
-          including the special control characters (usually ‘cchars’).
-
-     ‘blink-matching-paren’
-          If set to ‘on’, Readline attempts to briefly move the cursor
-          to an opening parenthesis when a closing parenthesis is
-          inserted.  The default is ‘off’.
-
-     ‘colored-completion-prefix’
-          If set to ‘on’, when listing completions, Readline displays
-          the common prefix of the set of possible completions using a
-          different color.  The color definitions are taken from the
-          value of the ‘LS_COLORS’ environment variable.  If there is a
-          color definition in ‘LS_COLORS’ for the custom suffix
-          ‘readline-colored-completion-prefix’, Readline uses this color
-          for the common prefix instead of its default.  The default is
-          ‘off’.
-
-     ‘colored-stats’
-          If set to ‘on’, Readline displays possible completions using
-          different colors to indicate their file type.  The color
-          definitions are taken from the value of the ‘LS_COLORS’
-          environment variable.  The default is ‘off’.
-
-     ‘comment-begin’
-          The string to insert at the beginning of the line by the
-          ‘insert-comment’ command.  The default value is ‘"#"’.
-
-     ‘completion-display-width’
-          The number of screen columns used to display possible matches
-          when performing completion.  The value is ignored if it is
-          less than 0 or greater than the terminal screen width.  A
-          value of 0 will cause matches to be displayed one per line.
-          The default value is -1.
-
-     ‘completion-ignore-case’
-          If set to ‘on’, Readline performs filename matching and
-          completion in a case-insensitive fashion.  The default value
-          is ‘off’.
-
-     ‘completion-map-case’
-          If set to ‘on’, and COMPLETION-IGNORE-CASE is enabled,
-          Readline treats hyphens (‘-’) and underscores (‘_’) as
-          equivalent when performing case-insensitive filename matching
-          and completion.  The default value is ‘off’.
-
-     ‘completion-prefix-display-length’
-          The maximum 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, readline
-          replaces common prefixes longer than this value with an
-          ellipsis when displaying possible completions.
-
-     ‘completion-query-items’
-          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 or equal to this value, Readline will ask whether or not
-          the user wishes to view them; otherwise, Readline simply lists
-          the completions.  This variable must be set to an integer
-          value greater than or equal to zero.  A zero value means
-          Readline should never ask; negative values are treated as
-          zero.  The default limit is ‘100’.
-
-     ‘convert-meta’
-          If set to ‘on’, Readline will convert characters it reads that
-          have the eighth bit set to an ASCII key sequence by clearing
-          the eighth bit and prefixing an <ESC> character, converting
-          them to a meta-prefixed key sequence.  The default value is
-          ‘on’, but Readline will set it to ‘off’ if the locale contains
-          characters whose encodings may include bytes with the eighth
-          bit set.  This variable is dependent on the ‘LC_CTYPE’ locale
-          category, and may change if the locale changes.  This variable
-          also affects key bindings; see the description of
-          ‘force-meta-prefix’ below.
-
-     ‘disable-completion’
-          If set to ‘On’, Readline will inhibit word completion.
-          Completion characters will be inserted into the line as if
-          they had been mapped to ‘self-insert’.  The default is ‘off’.
-
-     ‘echo-control-characters’
-          When set to ‘on’, on operating systems that indicate they
-          support it, Readline echoes a character corresponding to a
-          signal generated from the keyboard.  The default is ‘on’.
-
-     ‘editing-mode’
-          The ‘editing-mode’ variable controls the default set of key
-          bindings.  By default, Readline starts up in emacs editing
-          mode, where the keystrokes are most similar to Emacs.  This
-          variable can be set to either ‘emacs’ or ‘vi’.
-
-     ‘emacs-mode-string’
-          If the SHOW-MODE-IN-PROMPT variable is enabled, this string is
-          displayed immediately before the last line of the primary
-          prompt when emacs editing mode is active.  The value is
-          expanded like a key binding, so the standard set of meta- and
-          control- prefixes and backslash escape sequences is available.
-          The ‘\1’ and ‘\2’ escapes begin and end sequences of
-          non-printing characters, which can be used to embed a terminal
-          control sequence into the mode string.  The default is ‘@’.
-
-     ‘enable-active-region’
-          “point” is the current cursor position, and “mark” refers to a
-          saved cursor position (*note Commands For Moving::).  The text
-          between the point and mark is referred to as the “region”.
-          When this variable is set to ‘On’, Readline allows certain
-          commands to designate the region as “active”.  When the region
-          is active, Readline highlights the text in the region using
-          the value of the ‘active-region-start-color’, which defaults
-          to the string that enables the terminal's standout mode.  The
-          active region shows the text inserted by bracketed-paste and
-          any matching text found by incremental and non-incremental
-          history searches.  The default is ‘On’.
-
-     ‘enable-bracketed-paste’
-          When set to ‘On’, Readline configures the terminal to insert
-          each paste into the editing buffer as a single string of
-          characters, instead of treating each character as if it had
-          been read from the keyboard.  This is called putting the
-          terminal into “bracketed paste mode”; it prevents Readline
-          from executing any editing commands bound to key sequences
-          appearing in the pasted text.  The default is ‘On’.
-
-     ‘enable-keypad’
-          When set to ‘on’, Readline will try to enable the application
-          keypad when it is called.  Some systems need this to enable
-          the arrow keys.  The default is ‘off’.
-
-     ‘enable-meta-key’
-          When set to ‘on’, Readline will try to enable any meta
-          modifier key the terminal claims to support when it is called.
-          On many terminals, the Meta key is used to send eight-bit
-          characters; this variable checks for the terminal capability
-          that indicates the terminal can enable and disable a mode that
-          sets the eighth bit of a character (0200) if the Meta key is
-          held down when the character is typed (a meta character).  The
-          default is ‘on’.
-
-     ‘expand-tilde’
-          If set to ‘on’, Readline attempts tilde expansion when it
-          attempts word completion.  The default is ‘off’.
-
-     ‘force-meta-prefix’
-          If set to ‘on’, Readline modifies its behavior when binding
-          key sequences containing ‘\M-’ or ‘Meta-’ (see ‘Key Bindings’
-          in *note Readline Init File Syntax::) by converting a key
-          sequence of the form ‘\M-’C or ‘Meta-’C to the two-character
-          sequence ‘ESC’C (adding the meta prefix).  If
-          ‘force-meta-prefix’ is set to ‘off’ (the default), Readline
-          uses the value of the ‘convert-meta’ variable to determine
-          whether to perform this conversion: if ‘convert-meta’ is ‘on’,
-          Readline performs the conversion described above; if it is
-          ‘off’, Readline converts C to a meta character by setting the
-          eighth bit (0200).  The default is ‘off’.
-
-     ‘history-preserve-point’
-          If set to ‘on’, the history code attempts to place the point
-          (the current cursor position) at the same location on each
-          history line retrieved with ‘previous-history’ or
-          ‘next-history’.  The default is ‘off’.
-
-     ‘history-size’
-          Set the maximum number of history entries saved in the history
-          list.  If set to zero, any existing history entries are
-          deleted and no new entries are saved.  If set to a value less
-          than zero, the number of history entries is not limited.  By
-          default, the number of history entries is not limited.  If you
-          try to set HISTORY-SIZE to a non-numeric value, the maximum
-          number of history entries will be set to 500.
-
-     ‘horizontal-scroll-mode’
-          Setting this variable to ‘on’ means that the text of the lines
-          being edited will scroll horizontally on a single screen line
-          when the lines are longer than the width of the screen,
-          instead of wrapping onto a new screen line.  This variable is
-          automatically set to ‘on’ for terminals of height 1.  By
-          default, this variable is set to ‘off’.
-
-     ‘input-meta’
-          If set to ‘on’, Readline will enable eight-bit input (that is,
-          it will not clear the eighth bit in the characters it reads),
-          regardless of what the terminal claims it can support.  The
-          default value is ‘off’, but Readline will set it to ‘on’ if
-          the locale contains characters whose encodings may include
-          bytes with the eighth bit set.  This variable is dependent on
-          the ‘LC_CTYPE’ locale category, and its value may change if
-          the locale changes.  The name ‘meta-flag’ is a synonym for
-          ‘input-meta’.
-
-     ‘isearch-terminators’
-          The string of characters that should terminate an incremental
-          search without subsequently executing the character as a
-          command (*note Searching::).  If this variable has not been
-          given a value, the characters <ESC> and ‘C-J’ will terminate
-          an incremental search.
-
-     ‘keymap’
-          Sets Readline's idea of the current keymap for key binding
-          commands.  Built-in ‘keymap’ names are ‘emacs’,
-          ‘emacs-standard’, ‘emacs-meta’, ‘emacs-ctlx’, ‘vi’, ‘vi-move’,
-          ‘vi-command’, and ‘vi-insert’.  ‘vi’ is equivalent to
-          ‘vi-command’ (‘vi-move’ is also a synonym); ‘emacs’ is
-          equivalent to ‘emacs-standard’.  Applications may add
-          additional names.  The default value is ‘emacs’; the value of
-          the ‘editing-mode’ variable also affects the default keymap.
-
-     ‘keyseq-timeout’
-          Specifies the duration Readline will wait for a character when
-          reading an ambiguous key sequence (one that can form a
-          complete key sequence using the input read so far, or can take
-          additional input to complete a longer key sequence).  If
-          Readline doesn't receive any input within the timeout, it will
-          use the shorter but complete key sequence.  Readline uses this
-          value to determine whether or not input is available on the
-          current input source (‘rl_instream’ by default).  The value is
-          specified in milliseconds, so a value of 1000 means that
-          Readline will wait one second for additional input.  If this
-          variable is set to a value less than or equal to zero, or to a
-          non-numeric value, Readline will wait until another key is
-          pressed to decide which key sequence to complete.  The default
-          value is ‘500’.
-
-     ‘mark-directories’
-          If set to ‘on’, completed directory names have a slash
-          appended.  The default is ‘on’.
-
-     ‘mark-modified-lines’
-          When this variable is set to ‘on’, Readline will to display an
-          asterisk (‘*’) at the start of history lines which have been
-          modified.  This variable is ‘off’ by default.
-
-     ‘mark-symlinked-directories’
-          If set to ‘on’, completed names which are symbolic links to
-          directories have a slash appended, subject to the value of
-          ‘mark-directories’.  The default is ‘off’.
-
-     ‘match-hidden-files’
-          This variable, when set to ‘on’, forces Readline to match
-          files whose names begin with a ‘.’ (hidden files) when
-          performing filename completion.  If set to ‘off’, the user
-          must include the leading ‘.’ in the filename to be completed.
-          This variable is ‘on’ by default.
-
-     ‘menu-complete-display-prefix’
-          If set to ‘on’, menu completion displays the common prefix of
-          the list of possible completions (which may be empty) before
-          cycling through the list.  The default is ‘off’.
-
-     ‘output-meta’
-          If set to ‘on’, Readline will display characters with the
-          eighth bit set directly rather than as a meta-prefixed escape
-          sequence.  The default is ‘off’, but Readline will set it to
-          ‘on’ if the locale contains characters whose encodings may
-          include bytes with the eighth bit set.  This variable is
-          dependent on the ‘LC_CTYPE’ locale category, and its value may
-          change if the locale changes.
-
-     ‘page-completions’
-          If set to ‘on’, Readline uses an internal ‘more’-like pager to
-          display a screenful of possible completions at a time.  This
-          variable is ‘on’ by default.
-
-     ‘prefer-visible-bell’
-          See ‘bell-style’.
-
-     ‘print-completions-horizontally’
-          If set to ‘on’, Readline will display completions with matches
-          sorted horizontally in alphabetical order, rather than down
-          the screen.  The default is ‘off’.
-
-     ‘revert-all-at-newline’
-          If set to ‘on’, Readline will undo all changes to history
-          lines before returning when executing ‘accept-line’.  By
-          default, history lines may be modified and retain individual
-          undo lists across calls to ‘readline()’.  The default is
-          ‘off’.
-
-     ‘search-ignore-case’
-          If set to ‘on’, Readline performs incremental and
-          non-incremental history list searches in a case-insensitive
-          fashion.  The default value is ‘off’.
-
-     ‘show-all-if-ambiguous’
-          This alters the default behavior of the completion functions.
-          If set to ‘on’, words which have more than one possible
-          completion cause the matches to be listed immediately instead
-          of ringing the bell.  The default value is ‘off’.
-
-     ‘show-all-if-unmodified’
-          This alters the default behavior of the completion functions
-          in a fashion similar to SHOW-ALL-IF-AMBIGUOUS.  If set to
-          ‘on’, words which have more than one possible completion
-          without any possible partial completion (the possible
-          completions don't share a common prefix) cause the matches to
-          be listed immediately instead of ringing the bell.  The
-          default value is ‘off’.
-
-     ‘show-mode-in-prompt’
-          If set to ‘on’, add a string to the beginning of the prompt
-          indicating the editing mode: emacs, vi command, or vi
-          insertion.  The mode strings are user-settable (e.g.,
-          EMACS-MODE-STRING).  The default value is ‘off’.
-
-     ‘skip-completed-text’
-          If set to ‘on’, this alters the default completion behavior
-          when inserting a single match into the line.  It's only active
-          when performing completion in the middle of a word.  If
-          enabled, readline does not insert characters from the
-          completion that match characters after point in the word being
-          completed, so portions of the word following the cursor are
-          not duplicated.  For instance, if this is enabled, attempting
-          completion when the cursor is after the first ‘e’ in
-          ‘Makefile’ will result in ‘Makefile’ rather than
-          ‘Makefilefile’, assuming there is a single possible
-          completion.  The default value is ‘off’.
-
-     ‘vi-cmd-mode-string’
-          If the SHOW-MODE-IN-PROMPT variable is enabled, this string is
-          displayed immediately before the last line of the primary
-          prompt when vi editing mode is active and in command mode.
-          The value is expanded like a key binding, so the standard set
-          of meta- and control- prefixes and backslash escape sequences
-          is available.  The ‘\1’ and ‘\2’ escapes begin and end
-          sequences of non-printing characters, which can be used to
-          embed a terminal control sequence into the mode string.  The
-          default is ‘(cmd)’.
-
-     ‘vi-ins-mode-string’
-          If the SHOW-MODE-IN-PROMPT variable is enabled, this string is
-          displayed immediately before the last line of the primary
-          prompt when vi editing mode is active and in insertion mode.
-          The value is expanded like a key binding, so the standard set
-          of meta- and control- prefixes and backslash escape sequences
-          is available.  The ‘\1’ and ‘\2’ escapes begin and end
-          sequences of non-printing characters, which can be used to
-          embed a terminal control sequence into the mode string.  The
-          default is ‘(ins)’.
-
-     ‘visible-stats’
-          If set to ‘on’, a character denoting a file's type is appended
-          to the filename when listing possible completions.  The
-          default is ‘off’.
-
-Key Bindings
-     The syntax for controlling key bindings in the init file is simple.
-     First you need to find the name of the command that you want to
-     change.  The following sections contain tables of the command name,
-     the default keybinding, if any, and a short description of what the
-     command does.
-
-     Once you know the name of the command, simply place on a line in
-     the init file the name of the key you wish to bind the command to,
-     a colon, and then the name of the command.  There can be no space
-     between the key name and the colon - that will be interpreted as
-     part of the key name.  The name of the key can be expressed in
-     different ways, depending on what you find most comfortable.
-
-     In addition to command names, Readline allows keys to be bound to a
-     string that is inserted when the key is pressed (a MACRO).  The
-     difference between a macro and a command is that a macro is
-     enclosed in single or double quotes.
-
-     KEYNAME: FUNCTION-NAME or MACRO
-          KEYNAME is the name of a key spelled out in English.  For
-          example:
-               Control-u: universal-argument
-               Meta-Rubout: backward-kill-word
-               Control-o: "> output"
-
-          In the example above, ‘C-u’ is bound to the function
-          ‘universal-argument’, ‘M-DEL’ is bound to the function
-          ‘backward-kill-word’, and ‘C-o’ is bound to run the macro
-          expressed on the right hand side (that is, to insert the text
-          ‘> output’ into the line).
-
-          This key binding syntax recognizes a number of symbolic
-          character names: DEL, ESC, ESCAPE, LFD, NEWLINE, RET, RETURN,
-          RUBOUT, SPACE, SPC, and TAB.
-
-     "KEYSEQ": FUNCTION-NAME or MACRO
-          KEYSEQ differs from KEYNAME above in that strings denoting an
-          entire key sequence can be specified, by placing the key
-          sequence in double quotes.  Some GNU Emacs style key escapes
-          can be used, as in the following example, but none of the
-          special character names are recognized.
-
-               "\C-u": universal-argument
-               "\C-x\C-r": re-read-init-file
-               "\e[11~": "Function Key 1"
-
-          In the above example, ‘C-u’ is again bound to the function
-          ‘universal-argument’ (just as it was in the first example),
-          ‘‘C-x’ ‘C-r’’ is bound to the function ‘re-read-init-file’,
-          and ‘<ESC> <[> <1> <1> <~>’ is bound to insert the text
-          ‘Function Key 1’.
-
-     The following GNU Emacs style escape sequences are available when
-     specifying key sequences:
-
-     ‘\C-’
-          A control prefix.
-     ‘\M-’
-          Adding the meta prefix or converting the following character
-          to a meta character, as described above under
-          ‘force-meta-prefix’ (see ‘Variable Settings’ in *note Readline
-          Init File Syntax::).
-     ‘\e’
-          An escape character.
-     ‘\\’
-          Backslash.
-     ‘\"’
-          <">, a double quotation mark.
-     ‘\'’
-          <'>, a single quote or apostrophe.
-
-     In addition to the GNU Emacs style escape sequences, a second set
-     of backslash escapes is available:
-
-     ‘\a’
-          alert (bell)
-     ‘\b’
-          backspace
-     ‘\d’
-          delete
-     ‘\f’
-          form feed
-     ‘\n’
-          newline
-     ‘\r’
-          carriage return
-     ‘\t’
-          horizontal tab
-     ‘\v’
-          vertical tab
-     ‘\NNN’
-          The eight-bit character whose value is the octal value NNN
-          (one to three digits).
-     ‘\xHH’
-          The eight-bit character whose value is the hexadecimal value
-          HH (one or two hex digits).
-
-     When entering the text of a macro, single or double quotes must be
-     used to indicate a macro definition.  Unquoted text is assumed to
-     be a function name.  Tthe backslash escapes described above are
-     expanded in the macro body.  Backslash will quote any other
-     character in the macro text, including ‘"’ and ‘'’.  For example,
-     the following binding will make ‘‘C-x’ \’ insert a single ‘\’ into
-     the line:
-          "\C-x\\": "\\"
-
-\1f
-File: rlman.info,  Node: Conditional Init Constructs,  Next: Sample Init File,  Prev: Readline Init File Syntax,  Up: Readline Init File
-
-1.3.2 Conditional Init Constructs
----------------------------------
-
-Readline implements a facility similar in spirit to the conditional
-compilation features of the C preprocessor which allows key bindings and
-variable settings to be performed as the result of tests.  There are
-four parser directives available.
-
-‘$if’
-     The ‘$if’ construct allows bindings to be made based on the editing
-     mode, the terminal being used, or the application using Readline.
-     The text of the test, after any comparison operator, extends to the
-     end of the line; unless otherwise noted, no characters are required
-     to isolate it.
-
-     ‘mode’
-          The ‘mode=’ form of the ‘$if’ directive is used to test
-          whether Readline is in ‘emacs’ or ‘vi’ mode.  This may be used
-          in conjunction with the ‘set keymap’ command, for instance, to
-          set bindings in the ‘emacs-standard’ and ‘emacs-ctlx’ keymaps
-          only if Readline is starting out in ‘emacs’ mode.
-
-     ‘term’
-          The ‘term=’ form may be used to include terminal-specific key
-          bindings, perhaps to bind the key sequences output by the
-          terminal's function keys.  The word on the right side of the
-          ‘=’ is tested against both the full name of the terminal and
-          the portion of the terminal name before the first ‘-’.  This
-          allows ‘xterm’ to match both ‘xterm’ and ‘xterm-256color’, for
-          instance.
-
-     ‘version’
-          The ‘version’ test may be used to perform comparisons against
-          specific Readline versions.  The ‘version’ expands to the
-          current Readline version.  The set of comparison operators
-          includes ‘=’ (and ‘==’), ‘!=’, ‘<=’, ‘>=’, ‘<’, and ‘>’.  The
-          version number supplied on the right side of the operator
-          consists of a major version number, an optional decimal point,
-          and an optional minor version (e.g., ‘7.1’).  If the minor
-          version is omitted, it defaults to ‘0’.  The operator may be
-          separated from the string ‘version’ and from the version
-          number argument by whitespace.  The following example sets a
-          variable if the Readline version being used is 7.0 or newer:
-               $if version >= 7.0
-               set show-mode-in-prompt on
-               $endif
-
-     ‘application’
-          The APPLICATION construct is used to include
-          application-specific settings.  Each program using the
-          Readline library sets the APPLICATION NAME, and you can test
-          for a particular value.  This could be used to bind key
-          sequences to functions useful for a specific program.  For
-          instance, the following command adds a key sequence that
-          quotes the current or previous word in Bash:
-               $if Bash
-               # Quote the current or previous word
-               "\C-xq": "\eb\"\ef\""
-               $endif
-
-     ‘variable’
-          The VARIABLE construct provides simple equality tests for
-          Readline variables and values.  The permitted comparison
-          operators are ‘=’, ‘==’, and ‘!=’.  The variable name must be
-          separated from the comparison operator by whitespace; the
-          operator may be separated from the value on the right hand
-          side by whitespace.  String and boolean variables may be
-          tested.  Boolean variables must be tested against the values
-          ON and OFF.  The following example is equivalent to the
-          ‘mode=emacs’ test described above:
-               $if editing-mode == emacs
-               set show-mode-in-prompt on
-               $endif
-
-‘$else’
-     Commands in this branch of the ‘$if’ directive are executed if the
-     test fails.
-
-‘$endif’
-     This command, as seen in the previous example, terminates an ‘$if’
-     command.
-
-‘$include’
-     This directive takes a single filename as an argument and reads
-     commands and key bindings from that file.  For example, the
-     following directive reads from ‘/etc/inputrc’:
-          $include /etc/inputrc
-
-\1f
-File: rlman.info,  Node: Sample Init File,  Prev: Conditional Init Constructs,  Up: Readline Init File
-
-1.3.3 Sample Init File
-----------------------
-
-Here is an example of an INPUTRC file.  This illustrates key binding,
-variable assignment, and conditional syntax.
-
-     # This file controls the behaviour of line input editing for
-     # programs that use the GNU Readline library.  Existing
-     # programs include FTP, Bash, and GDB.
-     #
-     # You can re-read the inputrc file with C-x C-r.
-     # Lines beginning with '#' are comments.
-     #
-     # First, include any system-wide bindings and variable
-     # assignments from /etc/Inputrc
-     $include /etc/Inputrc
-
-     #
-     # Set various bindings for emacs mode.
-
-     set editing-mode emacs
-
-     $if mode=emacs
-
-     Meta-Control-h:   backward-kill-word      Text after the function name is ignored
-
-     #
-     # Arrow keys in keypad mode
-     #
-     #"\M-OD":        backward-char
-     #"\M-OC":        forward-char
-     #"\M-OA":        previous-history
-     #"\M-OB":        next-history
-     #
-     # Arrow keys in ANSI mode
-     #
-     "\M-[D":        backward-char
-     "\M-[C":        forward-char
-     "\M-[A":        previous-history
-     "\M-[B":        next-history
-     #
-     # Arrow keys in 8 bit keypad mode
-     #
-     #"\M-\C-OD":       backward-char
-     #"\M-\C-OC":       forward-char
-     #"\M-\C-OA":       previous-history
-     #"\M-\C-OB":       next-history
-     #
-     # Arrow keys in 8 bit ANSI mode
-     #
-     #"\M-\C-[D":       backward-char
-     #"\M-\C-[C":       forward-char
-     #"\M-\C-[A":       previous-history
-     #"\M-\C-[B":       next-history
-
-     C-q: quoted-insert
-
-     $endif
-
-     # An old-style binding.  This happens to be the default.
-     TAB: complete
-
-     # Macros that are convenient for shell interaction
-     $if Bash
-     # edit the path
-     "\C-xp": "PATH=${PATH}\e\C-e\C-a\ef\C-f"
-     # prepare to type a quoted word --
-     # insert open and close double quotes
-     # and move to just after the open quote
-     "\C-x\"": "\"\"\C-b"
-     # insert a backslash (testing backslash escapes
-     # in sequences and macros)
-     "\C-x\\": "\\"
-     # Quote the current or previous word
-     "\C-xq": "\eb\"\ef\""
-     # Add a binding to refresh the line, which is unbound
-     "\C-xr": redraw-current-line
-     # Edit variable on current line.
-     "\M-\C-v": "\C-a\C-k$\C-y\M-\C-e\C-a\C-y="
-     $endif
-
-     # use a visible bell if one is available
-     set bell-style visible
-
-     # don't strip characters to 7 bits when reading
-     set input-meta on
-
-     # allow iso-latin1 characters to be inserted rather
-     # than converted to prefix-meta sequences
-     set convert-meta off
-
-     # display characters with the eighth bit set directly
-     # rather than as meta-prefixed characters
-     set output-meta on
-
-     # if there are 150 or more possible completions for a word,
-     # ask whether or not the user wants to see all of them
-     set completion-query-items 150
-
-     # For FTP
-     $if Ftp
-     "\C-xg": "get \M-?"
-     "\C-xt": "put \M-?"
-     "\M-.": yank-last-arg
-     $endif
-
-\1f
-File: rlman.info,  Node: Bindable Readline Commands,  Next: Readline vi Mode,  Prev: Readline Init File,  Up: Command Line Editing
-
-1.4 Bindable Readline Commands
-==============================
-
-* Menu:
-
-* Commands For Moving::                Moving about the line.
-* Commands For History::       Getting at previous lines.
-* Commands For Text::          Commands for changing text.
-* Commands For Killing::       Commands for killing and yanking.
-* Numeric Arguments::          Specifying numeric arguments, repeat counts.
-* Commands For Completion::    Getting Readline to do the typing for you.
-* Keyboard Macros::            Saving and re-executing typed characters
-* Miscellaneous Commands::     Other miscellaneous commands.
-
-This section describes Readline commands that may be bound to key
-sequences.  Command names without an accompanying key sequence are
-unbound by default.
-
-   In the following descriptions, “point” refers to the current cursor
-position, and “mark” refers to a cursor position saved by the ‘set-mark’
-command.  The text between the point and mark is referred to as the
-“region”.  Readline has the concept of an _active region_: when the
-region is active, Readline redisplay uses the value of the
-‘active-region-start-color’ variable to denote the region.  Several
-commands set the region to active; those are noted below.
-
-\1f
-File: rlman.info,  Node: Commands For Moving,  Next: Commands For History,  Up: Bindable Readline Commands
-
-1.4.1 Commands For Moving
--------------------------
-
-‘beginning-of-line (C-a)’
-     Move to the start of the current line.  This may also be bound to
-     the Home key on some keyboards.
-
-‘end-of-line (C-e)’
-     Move to the end of the line.  This may also be bound to the End key
-     on some keyboards.
-
-‘forward-char (C-f)’
-     Move forward a character.
-
-‘backward-char (C-b)’
-     Move back a character.
-
-‘forward-word (M-f)’
-     Move forward to the end of the next word.  Words are composed of
-     letters and digits.
-
-‘backward-word (M-b)’
-     Move back to the start of the current or previous word.  Words are
-     composed of letters and digits.
-
-‘previous-screen-line ()’
-     Attempt to move point to the same physical screen column on the
-     previous physical screen line.  This will not have the desired
-     effect if the current Readline line does not take up more than one
-     physical line or if point is not greater than the length of the
-     prompt plus the screen width.
-
-‘next-screen-line ()’
-     Attempt to move point to the same physical screen column on the
-     next physical screen line.  This will not have the desired effect
-     if the current Readline line does not take up more than one
-     physical line or if the length of the current Readline line is not
-     greater than the length of the prompt plus the screen width.
-
-‘clear-display (M-C-l)’
-     Clear the screen and, if possible, the terminal's scrollback
-     buffer, then redraw the current line, leaving the current line at
-     the top of the screen.
-
-‘clear-screen (C-l)’
-     Clear the screen, then redraw the current line, leaving the current
-     line at the top of the screen.
-
-‘redraw-current-line ()’
-     Refresh the current line.  By default, this is unbound.
-
-\1f
-File: rlman.info,  Node: Commands For History,  Next: Commands For Text,  Prev: Commands For Moving,  Up: Bindable Readline Commands
-
-1.4.2 Commands For Manipulating The History
--------------------------------------------
-
-‘accept-line (Newline or Return)’
-     Accept the line regardless of where the cursor is.  If this line is
-     non-empty, you can add it to the history list using
-     ‘add_history()’.  If this line is a modified history line, then
-     restore the history line to its original state.
-
-‘previous-history (C-p)’
-     Move 'back' through the history list, fetching the previous
-     command.
-
-‘next-history (C-n)’
-     Move 'forward' through the history list, fetching the next command.
-
-‘beginning-of-history (M-<)’
-     Move to the first line in the history.
-
-‘end-of-history (M->)’
-     Move to the end of the input history, i.e., the line currently
-     being entered.
-
-‘reverse-search-history (C-r)’
-     Search backward starting at the current line and moving 'up'
-     through the history as necessary.  This is an incremental search.
-     This command sets the region to the matched text and activates the
-     region.
-
-‘forward-search-history (C-s)’
-     Search forward starting at the current line and moving 'down'
-     through the history as necessary.  This is an incremental search.
-     This command sets the region to the matched text and activates the
-     region.
-
-‘non-incremental-reverse-search-history (M-p)’
-     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.  The search string may match
-     anywhere in a history line.
-
-‘non-incremental-forward-search-history (M-n)’
-     Search forward starting at the current line and moving 'down'
-     through the history as necessary using a non-incremental search for
-     a string supplied by the user.  The search string may match
-     anywhere in a history line.
-
-‘history-search-backward ()’
-     Search backward through the history for the string of characters
-     between the start of the current line and the point.  The search
-     string must match at the beginning of a history line.  This is a
-     non-incremental search.  By default, this command is unbound, but
-     may be bound to the Page Down key on some keyboards.
-
-‘history-search-forward ()’
-     Search forward through the history for the string of characters
-     between the start of the current line and the point.  The search
-     string must match at the beginning of a history line.  This is a
-     non-incremental search.  By default, this command is unbound, but
-     may be bound to the Page Up key on some keyboards.
-
-‘history-substring-search-backward ()’
-     Search backward through the history for the string of characters
-     between the start of the current line and the point.  The search
-     string may match anywhere in a history line.  This is a
-     non-incremental search.  By default, this command is unbound.
-
-‘history-substring-search-forward ()’
-     Search forward through the history for the string of characters
-     between the start of the current line and the point.  The search
-     string may match anywhere in a history line.  This is a
-     non-incremental search.  By default, this command is unbound.
-
-‘yank-nth-arg (M-C-y)’
-     Insert the first argument to the previous command (usually the
-     second word on the previous line) at point.  With an argument N,
-     insert the Nth word from the previous command (the words in the
-     previous command begin with word 0).  A negative argument inserts
-     the Nth word from the end of the previous command.  Once the
-     argument N is computed, this uses the history expansion facilities
-     to extract the Nth word, as if the ‘!N’ history expansion had been
-     specified.
-
-‘yank-last-arg (M-. or M-_)’
-     Insert last argument to the previous command (the last word of the
-     previous history entry).  With a numeric argument, behave exactly
-     like ‘yank-nth-arg’.  Successive calls to ‘yank-last-arg’ move back
-     through the history list, inserting the last word (or the word
-     specified by the argument to the first call) of each line in turn.
-     Any numeric argument supplied to these successive calls determines
-     the direction to move through the history.  A negative argument
-     switches the direction through the history (back or forward).  This
-     uses the history expansion facilities to extract the last word, as
-     if the ‘!$’ history expansion had been specified.
-
-‘operate-and-get-next (C-o)’
-     Accept the current line for return to the calling application as if
-     a newline had been entered, and fetch the next line relative to the
-     current line from the history for editing.  A numeric argument, if
-     supplied, specifies the history entry to use instead of the current
-     line.
-
-‘fetch-history ()’
-     With a numeric argument, fetch that entry from the history list and
-     make it the current line.  Without an argument, move back to the
-     first entry in the history list.
-
-\1f
-File: rlman.info,  Node: Commands For Text,  Next: Commands For Killing,  Prev: Commands For History,  Up: Bindable Readline Commands
-
-1.4.3 Commands For Changing Text
---------------------------------
-
-‘end-of-file (usually C-d)’
-     The character indicating end-of-file as set, for example, by
-     ‘stty’.  If this character is read when there are no characters on
-     the line, and point is at the beginning of the line, Readline
-     interprets it as the end of input and returns EOF.
-
-‘delete-char (C-d)’
-     Delete the character at point.  If this function is bound to the
-     same character as the tty EOF character, as ‘C-d’ commonly is, see
-     above for the effects.
-
-‘backward-delete-char (Rubout)’
-     Delete the character behind the cursor.  A numeric argument means
-     to kill the characters, saving them on the kill ring, instead of
-     deleting them.
-
-‘forward-backward-delete-char ()’
-     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.
-
-‘quoted-insert (C-q or C-v)’
-     Add the next character typed to the line verbatim.  This is how to
-     insert key sequences like ‘C-q’, for example.
-
-‘tab-insert (M-<TAB>)’
-     Insert a tab character.
-
-‘self-insert (a, b, A, 1, !, ...)’
-     Insert the character typed.
-
-‘bracketed-paste-begin ()’
-     This function is intended to be bound to the "bracketed paste"
-     escape sequence sent by some terminals, and such a binding is
-     assigned by default.  It allows Readline to insert the pasted text
-     as a single unit without treating each character as if it had been
-     read from the keyboard.  The characters are inserted as if each one
-     was bound to ‘self-insert’ instead of executing any editing
-     commands.
-
-     Bracketed paste sets the region (the characters between point and
-     the mark) to the inserted text.  It sets the _active region_.
-
-‘transpose-chars (C-t)’
-     Drag the character before the cursor forward over the character at
-     the cursor, moving the cursor forward as well.  If the insertion
-     point is at the end of the line, then this transposes the last two
-     characters of the line.  Negative arguments have no effect.
-
-‘transpose-words (M-t)’
-     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.
-
-‘upcase-word (M-u)’
-     Uppercase the current (or following) word.  With a negative
-     argument, uppercase the previous word, but do not move the cursor.
-
-‘downcase-word (M-l)’
-     Lowercase the current (or following) word.  With a negative
-     argument, lowercase the previous word, but do not move the cursor.
-
-‘capitalize-word (M-c)’
-     Capitalize the current (or following) word.  With a negative
-     argument, capitalize the previous word, but do not move the cursor.
-
-‘overwrite-mode ()’
-     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
-     ‘emacs’ mode; ‘vi’ mode does overwrite differently.  Each call to
-     ‘readline()’ starts in insert mode.
-
-     In overwrite mode, characters bound to ‘self-insert’ replace the
-     text at point rather than pushing the text to the right.
-     Characters bound to ‘backward-delete-char’ replace the character
-     before point with a space.
-
-     By default, this command is unbound, but may be bound to the Insert
-     key on some keyboards.
-
-\1f
-File: rlman.info,  Node: Commands For Killing,  Next: Numeric Arguments,  Prev: Commands For Text,  Up: Bindable Readline Commands
-
-1.4.4 Killing And Yanking
--------------------------
-
-‘kill-line (C-k)’
-     Kill the text from point to the end of the current line.  With a
-     negative numeric argument, kill backward from the cursor to the
-     beginning of the line.
-
-‘backward-kill-line (C-x Rubout)’
-     Kill backward from the cursor to the beginning of the current line.
-     With a negative numeric argument, kill forward from the cursor to
-     the end of the line.
-
-‘unix-line-discard (C-u)’
-     Kill backward from the cursor to the beginning of the current line.
-
-‘kill-whole-line ()’
-     Kill all characters on the current line, no matter where point is.
-     By default, this is unbound.
-
-‘kill-word (M-d)’
-     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 ‘forward-word’.
-
-‘backward-kill-word (M-<DEL>)’
-     Kill the word behind point.  Word boundaries are the same as
-     ‘backward-word’.
-
-‘unix-word-rubout (C-w)’
-     Kill the word behind point, using white space as a word boundary,
-     saving the killed text on the kill-ring.
-
-‘unix-filename-rubout ()’
-     Kill the word behind point, using white space and the slash
-     character as the word boundaries, saving the killed text on the
-     kill-ring.
-
-‘delete-horizontal-space ()’
-     Delete all spaces and tabs around point.  By default, this is
-     unbound.
-
-‘kill-region ()’
-     Kill the text in the current region.  By default, this command is
-     unbound.
-
-‘copy-region-as-kill ()’
-     Copy the text in the region to the kill buffer, so it can be yanked
-     right away.  By default, this command is unbound.
-
-‘copy-backward-word ()’
-     Copy the word before point to the kill buffer.  The word boundaries
-     are the same as ‘backward-word’.  By default, this command is
-     unbound.
-
-‘copy-forward-word ()’
-     Copy the word following point to the kill buffer.  The word
-     boundaries are the same as ‘forward-word’.  By default, this
-     command is unbound.
-
-‘yank (C-y)’
-     Yank the top of the kill ring into the buffer at point.
-
-‘yank-pop (M-y)’
-     Rotate the kill-ring, and yank the new top.  You can only do this
-     if the prior command is ‘yank’ or ‘yank-pop’.
-
-\1f
-File: rlman.info,  Node: Numeric Arguments,  Next: Commands For Completion,  Prev: Commands For Killing,  Up: Bindable Readline Commands
-
-1.4.5 Specifying Numeric Arguments
-----------------------------------
-
-‘digit-argument (M-0, M-1, ... M--)’
-     Add this digit to the argument already accumulating, or start a new
-     argument.  ‘M--’ starts a negative argument.
-
-‘universal-argument ()’
-     This is another way to specify an argument.  If this command is
-     followed by one or more digits, optionally with a leading minus
-     sign, those digits define the argument.  If the command is followed
-     by digits, executing ‘universal-argument’ again ends the numeric
-     argument, but is otherwise ignored.  As a special case, if this
-     command is immediately followed by a character that is neither a
-     digit nor minus sign, the argument count for the next command is
-     multiplied by four.  The argument count is initially one, so
-     executing this function the first time makes the argument count
-     four, a second time makes the argument count sixteen, and so on.
-     By default, this is not bound to a key.
-
-\1f
-File: rlman.info,  Node: Commands For Completion,  Next: Keyboard Macros,  Prev: Numeric Arguments,  Up: Bindable Readline Commands
-
-1.4.6 Letting Readline Type For You
------------------------------------
-
-‘complete (<TAB>)’
-     Attempt to perform completion on the text before point.  The actual
-     completion performed is application-specific.  The default is
-     filename completion.
-
-‘possible-completions (M-?)’
-     List the possible completions of the text before point.  When
-     displaying completions, Readline sets the number of columns used
-     for display to the value of ‘completion-display-width’, the value
-     of the environment variable ‘COLUMNS’, or the screen width, in that
-     order.
-
-‘insert-completions (M-*)’
-     Insert all completions of the text before point that would have
-     been generated by ‘possible-completions’, separated by a space.
-
-‘menu-complete ()’
-     Similar to ‘complete’, but replaces the word to be completed with a
-     single match from the list of possible completions.  Repeatedly
-     executing ‘menu-complete’ steps through the list of possible
-     completions, inserting each match in turn.  At the end of the list
-     of completions, ‘menu-complete’ rings the bell (subject to the
-     setting of ‘bell-style’) and restores the original text.  An
-     argument of N moves N positions forward in the list of matches; a
-     negative argument moves backward through the list.  This command is
-     intended to be bound to <TAB>, but is unbound by default.
-
-‘menu-complete-backward ()’
-     Identical to ‘menu-complete’, but moves backward through the list
-     of possible completions, as if ‘menu-complete’ had been given a
-     negative argument.  This command is unbound by default.
-
-‘delete-char-or-list ()’
-     Deletes the character under the cursor if not at the beginning or
-     end of the line (like ‘delete-char’).  At the end of the line, it
-     behaves identically to ‘possible-completions’.  This command is
-     unbound by default.
-
-\1f
-File: rlman.info,  Node: Keyboard Macros,  Next: Miscellaneous Commands,  Prev: Commands For Completion,  Up: Bindable Readline Commands
-
-1.4.7 Keyboard Macros
----------------------
-
-‘start-kbd-macro (C-x ()’
-     Begin saving the characters typed into the current keyboard macro.
-
-‘end-kbd-macro (C-x ))’
-     Stop saving the characters typed into the current keyboard macro
-     and save the definition.
-
-‘call-last-kbd-macro (C-x e)’
-     Re-execute the last keyboard macro defined, by making the
-     characters in the macro appear as if typed at the keyboard.
-
-‘print-last-kbd-macro ()’
-     Print the last keyboard macro defined in a format suitable for the
-     INPUTRC file.
-
-\1f
-File: rlman.info,  Node: Miscellaneous Commands,  Prev: Keyboard Macros,  Up: Bindable Readline Commands
-
-1.4.8 Some Miscellaneous Commands
----------------------------------
-
-‘re-read-init-file (C-x C-r)’
-     Read in the contents of the INPUTRC file, and incorporate any
-     bindings or variable assignments found there.
-
-‘abort (C-g)’
-     Abort the current editing command and ring the terminal's bell
-     (subject to the setting of ‘bell-style’).
-
-‘do-lowercase-version (M-A, M-B, M-X, ...)’
-     If the metafied character X is upper case, run the command that is
-     bound to the corresponding metafied lower case character.  The
-     behavior is undefined if X is already lower case.
-
-‘prefix-meta (<ESC>)’
-     Metafy the next character typed.  Typing ‘<ESC> f’ is equivalent to
-     typing ‘M-f’.
-
-‘undo (C-_ or C-x C-u)’
-     Incremental undo, separately remembered for each line.
-
-‘revert-line (M-r)’
-     Undo all changes made to this line.  This is like executing the
-     ‘undo’ command enough times to get back to the initial state.
-
-‘tilde-expand (M-~)’
-     Perform tilde expansion on the current word.
-
-‘set-mark (C-@)’
-     Set the mark to the point.  If a numeric argument is supplied, set
-     the mark to that position.
-
-‘exchange-point-and-mark (C-x C-x)’
-     Swap the point with the mark.  Set the current cursor position to
-     the saved position, then set the mark to the old cursor position.
-
-‘character-search (C-])’
-     Read a character and move point to the next occurrence of that
-     character.  A negative argument searches for previous occurrences.
-
-‘character-search-backward (M-C-])’
-     Read a character and move point to the previous occurrence of that
-     character.  A negative argument searches for subsequent
-     occurrences.
-
-‘skip-csi-sequence ()’
-     Read enough characters to consume a multi-key sequence such as
-     those defined for keys like Home and End.  CSI sequences begin with
-     a Control Sequence Indicator (CSI), usually ESC-[.  If this
-     sequence is bound to "\e[", keys producing CSI sequences will have
-     no effect unless explicitly bound to a Readline command, instead of
-     inserting stray characters into the editing buffer.  This is
-     unbound by default, but usually bound to ESC-[.
-
-‘insert-comment (M-#)’
-     Without a numeric argument, insert the value of the ‘comment-begin’
-     variable at the beginning of the current line.  If a numeric
-     argument is supplied, this command acts as a toggle: if the
-     characters at the beginning of the line do not match the value of
-     ‘comment-begin’, insert the value; otherwise delete the characters
-     in ‘comment-begin’ from the beginning of the line.  In either case,
-     the line is accepted as if a newline had been typed.
-
-‘dump-functions ()’
-     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 INPUTRC
-     file.  This command is unbound by default.
-
-‘dump-variables ()’
-     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
-     INPUTRC file.  This command is unbound by default.
-
-‘dump-macros ()’
-     Print all of the Readline key sequences bound to macros and the
-     strings they output 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 INPUTRC file.  This command is unbound by
-     default.
-
-‘execute-named-command (M-x)’
-     Read a bindable readline command name from the input and execute
-     the function to which it's bound, as if the key sequence to which
-     it was bound appeared in the input.  If this function is supplied
-     with a numeric argument, it passes that argument to the function it
-     executes.
-
-‘emacs-editing-mode (C-e)’
-     When in ‘vi’ command mode, this causes a switch to ‘emacs’ editing
-     mode.
-
-‘vi-editing-mode (M-C-j)’
-     When in ‘emacs’ editing mode, this causes a switch to ‘vi’ editing
-     mode.
-
-\1f
-File: rlman.info,  Node: Readline vi Mode,  Prev: Bindable Readline Commands,  Up: Command Line Editing
-
-1.5 Readline vi Mode
-====================
-
-While the Readline library does not have a full set of ‘vi’ editing
-functions, it does contain enough to allow simple editing of the line.
-The Readline ‘vi’ mode behaves as specified in the ‘sh’ description in
-the POSIX standard.
-
-   In order to switch interactively between ‘emacs’ and ‘vi’ editing
-modes, use the command ‘M-C-j’ (bound to emacs-editing-mode when in ‘vi’
-mode and to vi-editing-mode in ‘emacs’ mode).  The Readline default is
-‘emacs’ mode.
-
-   When you enter a line in ‘vi’ mode, you are already placed in
-'insertion' mode, as if you had typed an ‘i’.  Pressing <ESC> switches
-you into 'command' mode, where you can edit the text of the line with
-the standard ‘vi’ movement keys, move to previous history lines with ‘k’
-and subsequent lines with ‘j’, and so forth.
-
-   This document describes the GNU Readline Library, a utility for
-aiding in the consistency of user interface across discrete programs
-that need to provide a command line interface.
-
-   Copyright (C) 1988-2024 Free Software Foundation, Inc.
-
-   Permission is granted to make and distribute verbatim copies of this
-manual provided the copyright notice and this permission notice pare
-preserved on all copies.
-
-   Permission is granted to copy and distribute modified versions of
-this manual under the conditions for verbatim copying, provided that the
-entire resulting derived work is distributed under the terms of a
-permission notice identical to this one.
-
-   Permission is granted to copy and distribute translations of this
-manual into another language, under the above conditions for modified
-versions, except that this permission notice may be stated in a
-translation approved by the Foundation.
-
-\1f
-File: rlman.info,  Node: Programming with GNU Readline,  Next: GNU Free Documentation License,  Prev: Command Line Editing,  Up: Top
-
-2 Programming with GNU Readline
-*******************************
-
-This chapter describes the interface between the GNU Readline Library
-and other programs.  If you are a programmer, and you wish to include
-the features found in GNU Readline such as completion, line editing, and
-interactive history manipulation in your own programs, this section is
-for you.
-
-* Menu:
-
-* Basic Behavior::     Using the default behavior of Readline.
-* Custom Functions::   Adding your own functions to Readline.
-* Readline Variables::                 Variables accessible to custom
-                                       functions.
-* Readline Convenience Functions::     Functions which Readline supplies to
-                                       aid in writing your own custom
-                                       functions.
-* Readline Signal Handling::   How Readline behaves when it receives signals.
-* Custom Completers::  Supplanting or supplementing Readline's
-                       completion functions.
-
-\1f
-File: rlman.info,  Node: Basic Behavior,  Next: Custom Functions,  Up: Programming with GNU Readline
-
-2.1 Basic Behavior
-==================
-
-Many programs provide a command line interface, such as ‘mail’, ‘ftp’,
-and ‘sh’.  For such programs, the default behaviour of Readline is
-sufficient.  This section describes how to use Readline in the simplest
-way possible, perhaps to replace calls in your code to ‘fgets()’.
-
-   The function ‘readline()’ prints a prompt PROMPT and then reads and
-returns a single line of text from the user.  Since it's possible to
-enter characters into the line while quoting them to disable any
-Readline editing function they might normally have, this line may
-include embedded newlines and other special characters.  If PROMPT is
-‘NULL’ or the empty string, ‘readline’ does not display a prompt.  The
-line ‘readline’ returns is allocated with ‘malloc()’; the caller should
-‘free()’ the line when it has finished with it.  The declaration for
-‘readline’ in ANSI C is
-
-     char *readline (const char *PROMPT);
-
-So, one might say
-     char *line = readline ("Enter a line: ");
-in order to read a line of text from the user.  The line returned has
-the final newline removed, so only the text remains.  This means that
-lines consisting of a newline return the empty string.
-
-   If ‘readline’ encounters an ‘EOF’ while reading the line, and the
-line is empty at that point, then ‘readline’ returns ‘(char *)NULL’.
-Otherwise, the line is ended just as if a newline had been typed.
-
-   Readline performs some expansion on the PROMPT before it is displayed
-on the screen.  See the description of ‘rl_expand_prompt’ (*note
-Redisplay::) for additional details, especially if PROMPT will contain
-characters that do not consume physical screen space when displayed.
-
-   If you want the user to be able to get at the line later, (with <C-p>
-for example), you must call ‘add_history()’ to save the line away in a
-“history” list of such lines.
-
-     add_history (line);
-
-For full details on the GNU History Library, see the associated manual.
-
-   It is preferable to avoid saving empty lines on the history list,
-since users rarely have a burning need to reuse a blank line.  Here is a
-function which usefully replaces the standard ‘gets()’ library function,
-and has the advantage of no static buffer to overflow:
-
-     /* A static variable for holding the line. */
-     static char *line_read = (char *)NULL;
-
-     /* Read a string, and return a pointer to it.
-        Returns NULL on EOF. */
-     char *
-     rl_gets ()
-     {
-       /* If the buffer has already been allocated,
-          return the memory to the free pool. */
-       if (line_read)
-         {
-           free (line_read);
-           line_read = (char *)NULL;
-         }
-
-       /* Get a line from the user. */
-       line_read = readline ("");
-
-       /* If the line has any text in it,
-          save it on the history. */
-       if (line_read && *line_read)
-         add_history (line_read);
-
-       return (line_read);
-     }
-
-   This function gives the user the default behaviour of <TAB>
-completion: filename completion.  If you do not want Readline to
-complete filenames, you can change the binding of the <TAB> key with
-‘rl_bind_key()’.
-
-     int rl_bind_key (int KEY, rl_command_func_t *FUNCTION);
-
-   ‘rl_bind_key()’ takes two arguments: KEY is the character that you
-want to bind, and FUNCTION is the address of the function to call when
-KEY is pressed.  Binding <TAB> to ‘rl_insert()’ makes <TAB> insert
-itself.  ‘rl_bind_key()’ returns non-zero if KEY is not a valid ASCII
-character code (between 0 and 255).
-
-   Thus, to disable the default <TAB> behavior, the following suffices:
-     rl_bind_key ('\t', rl_insert);
-
-   This code should be executed once at the start of your program; you
-might write a function called ‘initialize_readline()’ which performs
-this and other desired initializations, such as installing custom
-completers (*note Custom Completers::).
-
-\1f
-File: rlman.info,  Node: Custom Functions,  Next: Readline Variables,  Prev: Basic Behavior,  Up: Programming with GNU Readline
-
-2.2 Custom Functions
-====================
-
-Readline provides many functions for manipulating the text of the line,
-but it isn't possible to anticipate the needs of all programs.  This
-section describes the various functions and variables defined within the
-Readline library which allow a program to add customized functionality
-to Readline.
-
-   Before declaring any functions that customize Readline's behavior, or
-using any functionality Readline provides in other code, an application
-writer should include the file ‘<readline/readline.h>’ in any file that
-uses Readline's features.  Since some of the definitions in ‘readline.h’
-use the ‘stdio’ library, the program should include the file ‘<stdio.h>’
-before ‘readline.h’.
-
-   ‘readline.h’ defines a C preprocessor variable that should be treated
-as an integer, ‘RL_READLINE_VERSION’, which may be used to conditionally
-compile application code depending on the installed Readline version.
-The value is a hexadecimal encoding of the major and minor version
-numbers of the library, of the form 0xMMMM.  MM is the two-digit major
-version number; MM is the two-digit minor version number.  For Readline
-4.2, for example, the value of ‘RL_READLINE_VERSION’ would be ‘0x0402’.
-
-* Menu:
-
-* Readline Typedefs::  C declarations to make code readable.
-* Function Writing::   Variables and calling conventions.
-
-\1f
-File: rlman.info,  Node: Readline Typedefs,  Next: Function Writing,  Up: Custom Functions
-
-2.2.1 Readline Typedefs
------------------------
-
-For readability, we declare a number of new object types, all pointers
-to functions.
-
-   The reason for declaring these new types is to make it easier to
-write code describing pointers to C functions with appropriately
-prototyped arguments and return values.
-
-   For instance, say we want to declare a variable FUNC as a pointer to
-a function which takes two ‘int’ arguments and returns an ‘int’ (this is
-the type of all of the Readline bindable functions).  Instead of the
-classic C declaration
-
-   ‘int (*func)();’
-
-or the ANSI-C style declaration
-
-   ‘int (*func)(int, int);’
-
-we may write
-
-   ‘rl_command_func_t *func;’
-
-   The full list of function pointer types available is
-
-‘typedef int rl_command_func_t (int, int);’
-
-‘typedef char *rl_compentry_func_t (const char *, int);’
-
-‘typedef char **rl_completion_func_t (const char *, int, int);’
-
-‘typedef char *rl_quote_func_t (char *, int, char *);’
-
-‘typedef char *rl_dequote_func_t (char *, int);’
-
-‘typedef int rl_compignore_func_t (char **);’
-
-‘typedef void rl_compdisp_func_t (char **, int, int);’
-
-‘typedef void rl_macro_print_func_t (const char *, const char *, int, const char *);’
-
-‘typedef int rl_hook_func_t (void);’
-
-‘typedef int rl_getc_func_t (FILE *);’
-
-‘typedef int rl_linebuf_func_t (char *, int);’
-
-‘typedef int rl_intfunc_t (int);’
-‘#define rl_ivoidfunc_t rl_hook_func_t’
-‘typedef int rl_icpfunc_t (char *);’
-‘typedef int rl_icppfunc_t (char **);’
-
-‘typedef void rl_voidfunc_t (void);’
-‘typedef void rl_vintfunc_t (int);’
-‘typedef void rl_vcpfunc_t (char *);’
-‘typedef void rl_vcppfunc_t (char **);’
-
-The ‘rltypedefs.h’ file has more documentation for these types.
-
-\1f
-File: rlman.info,  Node: Function Writing,  Prev: Readline Typedefs,  Up: Custom Functions
-
-2.2.2 Writing a New Function
-----------------------------
-
-In order to write new functions for Readline, you need to know the
-calling conventions for keyboard-invoked functions, and the names of the
-variables that describe the current state of the line read so far.
-
-   The calling sequence for a command ‘foo’ looks like
-
-     int foo (int count, int key)
-
-where COUNT is the numeric argument (or 1 if defaulted) and KEY is the
-key that invoked this function.
-
-   It is completely up to the function as to what should be done with
-the numeric argument.  Some functions use it as a repeat count, some as
-a flag, and others to choose alternate behavior (refreshing the current
-line as opposed to refreshing the screen, for example).  Some choose to
-ignore it.  In general, if a function uses the numeric argument as a
-repeat count, it should be able to do something useful with both
-negative and positive arguments.  At the very least, it should be aware
-that it can be passed a negative argument.
-
-   A command function should return 0 if its action completes
-successfully, and a value greater than zero if some error occurs.  This
-is the convention obeyed by all of the builtin Readline bindable command
-functions.
-
-\1f
-File: rlman.info,  Node: Readline Variables,  Next: Readline Convenience Functions,  Prev: Custom Functions,  Up: Programming with GNU Readline
-
-2.3 Readline Variables
-======================
-
-These variables are available to function writers.
-
- -- Variable: char * rl_line_buffer
-     This is the line gathered so far.  You are welcome to modify the
-     contents of the line, but see *note Allowing Undoing::.  The
-     function ‘rl_extend_line_buffer’ will increase the memory allocated
-     to ‘rl_line_buffer’.
-
- -- Variable: int rl_point
-     The offset of the current cursor position in ‘rl_line_buffer’ (the
-     _point_).
-
- -- Variable: int rl_end
-     The number of characters present in ‘rl_line_buffer’.  When
-     ‘rl_point’ is at the end of the line, ‘rl_point’ and ‘rl_end’ are
-     equal.
-
- -- Variable: int rl_mark
-     The MARK (saved position) in the current line.  If set, the mark
-     and point define a _region_.  Some Readline commands set the mark
-     as part of operating; users can also set the mark explicitly.
-
- -- Variable: int rl_done
-     Setting this to a non-zero value causes Readline to return the
-     current line immediately.  Readline will set this variable when it
-     has read a key sequence bound to ‘accept-line’ and is about to
-     return the line to the caller.
-
- -- Variable: int rl_eof_found
-     Readline will set this variable when it has read an EOF character
-     (e.g., the stty ‘EOF’ character) on an empty line or has
-     encountered a read error or EOF and is about to return a NULL line
-     to the caller.
-
- -- Variable: int rl_num_chars_to_read
-     Setting this to a positive value before calling ‘readline()’ causes
-     Readline to return after accepting that many characters, rather
-     than reading up to a character bound to ‘accept-line’.
-
- -- Variable: int rl_pending_input
-     Setting this to a value makes it the next keystroke read.  This is
-     a way to stuff a single character into the input stream.
-
- -- Variable: int rl_dispatching
-     Set to a non-zero value if a function is being called from a key
-     binding; zero otherwise.  Application functions can test this to
-     discover whether they were called directly or by Readline's
-     dispatching mechanism.
-
- -- Variable: int rl_erase_empty_line
-     Setting this to a non-zero value causes Readline to completely
-     erase the current line, including any prompt, any time a newline is
-     typed as the only character on an otherwise-empty line.  This moves
-     the cursor to the beginning of the newly-blank line.
-
- -- Variable: char * rl_prompt
-     The prompt Readline uses.  This is set from the argument to
-     ‘readline()’, and should not be assigned to directly.  The
-     ‘rl_set_prompt()’ function (*note Redisplay::) may be used to
-     modify the prompt string after calling ‘readline()’.  Readline
-     performs some prompt expansions and analyzes the prompt for line
-     breaks, so ‘rl_set_prompt()’ is preferred.
-
- -- Variable: char * rl_display_prompt
-     The string displayed as the prompt.  This is usually identical to
-     RL_PROMPT, but may be changed temporarily by functions that use the
-     prompt string as a message area, such as incremental search.
-
- -- Variable: int rl_already_prompted
-     If an application wishes to display the prompt itself, rather than
-     have Readline do it the first time ‘readline()’ is called, it
-     should set this variable to a non-zero value after displaying the
-     prompt.  The prompt must also be passed as the argument to
-     ‘readline()’ so the redisplay functions can update the display
-     properly.  The calling application is responsible for managing the
-     value; Readline never sets it.
-
- -- Variable: const char * rl_library_version
-     The version number of this revision of the Readline library, as a
-     string (e.g., "4.2").
-
- -- Variable: int rl_readline_version
-     An integer encoding the current version of the library.  The
-     encoding is of the form 0xMMMM, where MM is the two-digit major
-     version number, and MM is the two-digit minor version number.  For
-     example, for Readline-4.2, ‘rl_readline_version’ would have the
-     value 0x0402.
-
- -- Variable: int rl_gnu_readline_p
-     Always set to 1, denoting that this is GNU Readline rather than
-     some emulation.
-
- -- Variable: const char * rl_terminal_name
-     The terminal type, used for initialization.  If not set by the
-     application, Readline sets this to the value of the ‘TERM’
-     environment variable the first time it is called.  Readline uses
-     this to look up the terminal capabilities it needs in the terminfo
-     database.
-
- -- Variable: const char * rl_readline_name
-     This variable is set to a unique name by each application using
-     Readline.  The value allows conditional parsing of the inputrc file
-     (*note Conditional Init Constructs::).
-
- -- Variable: FILE * rl_instream
-     The stdio stream from which Readline reads input.  If ‘NULL’,
-     Readline defaults to STDIN.
-
- -- Variable: FILE * rl_outstream
-     The stdio stream to which Readline performs output.  If ‘NULL’,
-     Readline defaults to STDOUT.
-
- -- Variable: int rl_prefer_env_winsize
-     If non-zero, Readline gives values found in the ‘LINES’ and
-     ‘COLUMNS’ environment variables greater precedence than values
-     fetched from the kernel when computing the screen dimensions.
-
- -- Variable: rl_command_func_t * rl_last_func
-     The address of the last command function Readline executed.  This
-     may be used to test whether or not a function is being executed
-     twice in succession, for example.
-
- -- Variable: rl_hook_func_t * rl_startup_hook
-     If non-zero, this is the address of a function to call just before
-     ‘readline’ prints the first prompt.
-
- -- Variable: rl_hook_func_t * rl_pre_input_hook
-     If non-zero, this is the address of a function to call after the
-     first prompt has been printed and just before ‘readline’ starts
-     reading input characters.
-
- -- Variable: rl_hook_func_t * rl_event_hook
-     If non-zero, this is the address of a function to call periodically
-     when Readline is waiting for terminal input.  By default, this will
-     be called at most ten times a second if there is no keyboard input.
-
- -- Variable: rl_getc_func_t * rl_getc_function
-     If non-zero, Readline will call indirectly through this pointer to
-     get a character from the input stream.  By default, it is set to
-     ‘rl_getc’, the Readline character input function (*note Character
-     Input::).  In general, an application that sets RL_GETC_FUNCTION
-     should consider setting RL_INPUT_AVAILABLE_HOOK as well.
-
- -- Variable: rl_hook_func_t * rl_signal_event_hook
-     If non-zero, this is the address of a function to call if a read
-     system call is interrupted by a signal when Readline is reading
-     terminal input.
-
- -- Variable: rl_hook_func_t * rl_timeout_event_hook
-     If non-zero, this is the address of a function to call if Readline
-     times out while reading input.
-
- -- Variable: rl_hook_func_t * rl_input_available_hook
-     If non-zero, Readline will use this function's return value when it
-     needs to determine whether or not there is available input on the
-     current input source.  The default hook checks ‘rl_instream’; if an
-     application is using a different input source, it should set the
-     hook appropriately.  Readline queries for available input when
-     implementing intra-key-sequence timeouts during input and
-     incremental searches.  This function must return zero if there is
-     no input available, and non-zero if input is available.  This may
-     use an application-specific timeout before returning a value;
-     Readline uses the value passed to ‘rl_set_keyboard_input_timeout()’
-     or the value of the user-settable KEYSEQ-TIMEOUT variable.  This is
-     designed for use by applications using Readline's callback
-     interface (*note Alternate Interface::), which may not use the
-     traditional ‘read(2)’ and file descriptor interface, or other
-     applications using a different input mechanism.  If an application
-     uses an input mechanism or hook that can potentially exceed the
-     value of KEYSEQ-TIMEOUT, it should increase the timeout or set this
-     hook appropriately even when not using the callback interface.  In
-     general, an application that sets RL_GETC_FUNCTION should consider
-     setting RL_INPUT_AVAILABLE_HOOK as well.
-
- -- Variable: rl_voidfunc_t * rl_redisplay_function
-     Readline will call indirectly through this pointer to update the
-     display with the current contents of the editing buffer.  By
-     default, it is set to ‘rl_redisplay’, the default Readline
-     redisplay function (*note Redisplay::).
-
- -- Variable: rl_vintfunc_t * rl_prep_term_function
-     If non-zero, Readline will call indirectly through this pointer to
-     initialize the terminal.  The function takes a single argument, an
-     ‘int’ flag that says whether or not to use eight-bit characters.
-     By default, this is set to ‘rl_prep_terminal’ (*note Terminal
-     Management::).
-
- -- Variable: rl_voidfunc_t * rl_deprep_term_function
-     If non-zero, Readline will call indirectly through this pointer to
-     reset the terminal.  This function should undo the effects of
-     ‘rl_prep_term_function’.  By default, this is set to
-     ‘rl_deprep_terminal’ (*note Terminal Management::).
-
- -- Variable: void rl_macro_display_hook
-     If set, this points to a function that ‘rl_macro_dumper’ will call
-     to display a key sequence bound to a macro.  It is called with the
-     key sequence, the "untranslated" macro value (i.e., with backslash
-     escapes included, as when passed to ‘rl_macro_bind’), the
-     ‘readable’ argument passed to ‘rl_macro_dumper’, and any prefix to
-     display before the key sequence.
-
- -- Variable: Keymap rl_executing_keymap
-     This variable is set to the keymap (*note Keymaps::) in which the
-     currently executing Readline function was found.
-
- -- Variable: Keymap rl_binding_keymap
-     This variable is set to the keymap (*note Keymaps::) in which the
-     last key binding occurred.
-
- -- Variable: char * rl_executing_macro
-     This variable is set to the text of any currently-executing macro.
-
- -- Variable: int rl_executing_key
-     The key that caused the dispatch to the currently-executing
-     Readline function.
-
- -- Variable: char * rl_executing_keyseq
-     The full key sequence that caused the dispatch to the
-     currently-executing Readline function.
-
- -- Variable: int rl_key_sequence_length
-     The number of characters in RL_EXECUTING_KEYSEQ.
-
- -- Variable: int rl_readline_state
-     A variable with bit values that encapsulate the current Readline
-     state.  A bit is set with the ‘RL_SETSTATE’ macro, and unset with
-     the ‘RL_UNSETSTATE’ macro.  Use the ‘RL_ISSTATE’ macro to test
-     whether a particular state bit is set.  Current state bits include:
-
-     ‘RL_STATE_NONE’
-          Readline has not yet been called, nor has it begun to
-          initialize.
-     ‘RL_STATE_INITIALIZING’
-          Readline is initializing its internal data structures.
-     ‘RL_STATE_INITIALIZED’
-          Readline has completed its initialization.
-     ‘RL_STATE_TERMPREPPED’
-          Readline has modified the terminal modes to do its own input
-          and redisplay.
-     ‘RL_STATE_READCMD’
-          Readline is reading a command from the keyboard.
-     ‘RL_STATE_METANEXT’
-          Readline is reading more input after reading the meta-prefix
-          character.
-     ‘RL_STATE_DISPATCHING’
-          Readline is dispatching to a command.
-     ‘RL_STATE_MOREINPUT’
-          Readline is reading more input while executing an editing
-          command.
-     ‘RL_STATE_ISEARCH’
-          Readline is performing an incremental history search.
-     ‘RL_STATE_NSEARCH’
-          Readline is performing a non-incremental history search.
-     ‘RL_STATE_SEARCH’
-          Readline is searching backward or forward through the history
-          for a string.
-     ‘RL_STATE_NUMERICARG’
-          Readline is reading a numeric argument.
-     ‘RL_STATE_MACROINPUT’
-          Readline is currently getting its input from a
-          previously-defined keyboard macro.
-     ‘RL_STATE_MACRODEF’
-          Readline is currently reading characters defining a keyboard
-          macro.
-     ‘RL_STATE_OVERWRITE’
-          Readline is in overwrite mode.
-     ‘RL_STATE_COMPLETING’
-          Readline is performing word completion.
-     ‘RL_STATE_SIGHANDLER’
-          Readline is currently executing the readline signal handler.
-     ‘RL_STATE_UNDOING’
-          Readline is performing an undo.
-     ‘RL_STATE_INPUTPENDING’
-          Readline has input pending due to a call to
-          ‘rl_execute_next()’.
-     ‘RL_STATE_TTYCSAVED’
-          Readline has saved the values of the terminal's special
-          characters.
-     ‘RL_STATE_CALLBACK’
-          Readline is currently using the alternate (callback) interface
-          (*note Alternate Interface::).
-     ‘RL_STATE_VIMOTION’
-          Readline is reading the argument to a vi-mode "motion"
-          command.
-     ‘RL_STATE_MULTIKEY’
-          Readline is reading a multiple-keystroke command.
-     ‘RL_STATE_VICMDONCE’
-          Readline has entered vi command (movement) mode at least one
-          time during the current call to ‘readline()’.
-     ‘RL_STATE_DONE’
-          Readline has read a key sequence bound to ‘accept-line’ and is
-          about to return the line to the caller.
-     ‘RL_STATE_TIMEOUT’
-          Readline has timed out (it did not receive a line or specified
-          number of characters before the timeout duration specified by
-          ‘rl_set_timeout’ elapsed) and is returning that status to the
-          caller.
-     ‘RL_STATE_EOF’
-          Readline has read an EOF character (e.g., the stty ‘EOF’
-          character) or encountered a read error or EOF and is about to
-          return a NULL line to the caller.
-
- -- Variable: int rl_explicit_arg
-     Set to a non-zero value if an explicit numeric argument was
-     specified by the user.  Only valid in a bindable command function.
-
- -- Variable: int rl_numeric_arg
-     Set to the value of any numeric argument explicitly specified by
-     the user before executing the current Readline function.  Only
-     valid in a bindable command function.
-
- -- Variable: int rl_editing_mode
-     Set to a value denoting Readline's current editing mode.  A value
-     of 1 means Readline is currently in emacs mode; 0 means that vi
-     mode is active.  This determines the current keymap and key
-     bindings.
-
-\1f
-File: rlman.info,  Node: Readline Convenience Functions,  Next: Readline Signal Handling,  Prev: Readline Variables,  Up: Programming with GNU Readline
-
-2.4 Readline Convenience Functions
-==================================
-
-* Menu:
-
-* Function Naming::    How to give a function you write a name.
-* Keymaps::            Making keymaps.
-* Binding Keys::       Changing Keymaps.
-* Associating Function Names and Bindings::    Translate function names to
-                                               key sequences.
-* Allowing Undoing::   How to make your functions undoable.
-* Redisplay::          Functions to control line display.
-* Modifying Text::     Functions to modify ‘rl_line_buffer’.
-* Character Input::    Functions to read keyboard input.
-* Terminal Management::        Functions to manage terminal settings.
-* Utility Functions::  Generally useful functions and hooks.
-* Miscellaneous Functions::    Functions that don't fall into any category.
-* Alternate Interface::        Using Readline in a 'callback' fashion.
-* A Readline Example::         An example Readline function.
-* Alternate Interface Example::        An example program using the alternate interface.
-
-\1f
-File: rlman.info,  Node: Function Naming,  Next: Keymaps,  Up: Readline Convenience Functions
-
-2.4.1 Naming a Function
------------------------
-
-Readline has a descriptive string name for every function a user can
-bind to a key sequence, so users can dynamically change the bindings
-associated with key sequences while using Readline.  The user is able to
-use the descriptive name when referring to the function.  Thus, in an
-init file, one might find
-
-     Meta-Rubout:      backward-kill-word
-
-   This binds the keystroke <Meta-Rubout> to the function
-_descriptively_ named ‘backward-kill-word’.  As the programmer, you
-should bind the functions you write to descriptive names as well.
-Readline provides a function for doing that:
-
- -- Function: int rl_add_defun (const char *name, rl_command_func_t
-          *function, int key)
-     Add NAME to the list of named functions.  Make FUNCTION be the
-     function that gets called by key sequences that bind to NAME.  If
-     KEY is not -1, then bind it to FUNCTION using ‘rl_bind_key()’.
-
-   Using this function alone is sufficient for most applications.  It is
-the recommended way to add a few functions to the default functions that
-Readline has built in.  If you need to do something other than adding a
-function to Readline, you may need to use the underlying functions
-described below.
-
-\1f
-File: rlman.info,  Node: Keymaps,  Next: Binding Keys,  Prev: Function Naming,  Up: Readline Convenience Functions
-
-2.4.2 Selecting a Keymap
-------------------------
-
-Key bindings take place on a “keymap”.  The keymap is the association
-between the keys that the user types and the functions that get run.
-You can make your own keymaps, copy existing keymaps, and tell Readline
-which keymap to use.
-
- -- Function: Keymap rl_make_bare_keymap (void)
-     Returns a new, empty keymap.  The space for the keymap is allocated
-     with ‘malloc()’; the caller should free it by calling
-     ‘rl_free_keymap()’ when done.
-
- -- Function: Keymap rl_copy_keymap (Keymap map)
-     Return a new keymap which is a copy of MAP.
-
- -- Function: Keymap rl_make_keymap (void)
-     Return a new keymap with the printing characters bound to
-     rl_insert, the lowercase Meta characters bound to run their
-     equivalents, and the Meta digits bound to produce numeric
-     arguments.
-
- -- Function: void rl_discard_keymap (Keymap keymap)
-     Free the storage associated with the data in KEYMAP.  The caller
-     should free KEYMAP.
-
- -- Function: void rl_free_keymap (Keymap keymap)
-     Free all storage associated with KEYMAP.  This calls
-     ‘rl_discard_keymap’ to free subordindate keymaps and macros.
-
- -- Function: int rl_empty_keymap (Keymap keymap)
-     Return non-zero if there are no keys bound to functions in KEYMAP;
-     zero if there are any keys bound.
-
-   Readline has several internal keymaps.  These functions allow you to
-change which keymap is active.  This is one way to switch editing modes,
-for example.
-
- -- Function: Keymap rl_get_keymap (void)
-     Returns the currently active keymap.
-
- -- Function: void rl_set_keymap (Keymap keymap)
-     Makes KEYMAP the currently active keymap.
-
- -- Function: Keymap rl_get_keymap_by_name (const char *name)
-     Return the keymap matching NAME.  NAME is one which would be
-     supplied in a ‘set keymap’ inputrc line (*note Readline Init
-     File::).
-
- -- Function: char * rl_get_keymap_name (Keymap keymap)
-     Return the name matching KEYMAP.  NAME is one which would be
-     supplied in a ‘set keymap’ inputrc line (*note Readline Init
-     File::).
-
- -- Function: int rl_set_keymap_name (const char *name, Keymap keymap)
-     Set the name of KEYMAP.  This name will then be "registered" and
-     available for use in a ‘set keymap’ inputrc directive *note
-     Readline Init File::).  The NAME may not be one of Readline's
-     builtin keymap names; you may not add a different name for one of
-     Readline's builtin keymaps.  You may replace the name associated
-     with a given keymap by calling this function more than once with
-     the same KEYMAP argument.  You may associate a registered NAME with
-     a new keymap by calling this function more than once with the same
-     NAME argument.  There is no way to remove a named keymap once the
-     name has been registered.  Readline will make a copy of NAME.  The
-     return value is greater than zero unless NAME is one of Readline's
-     builtin keymap names or KEYMAP is one of Readline's builtin
-     keymaps.
-
-\1f
-File: rlman.info,  Node: Binding Keys,  Next: Associating Function Names and Bindings,  Prev: Keymaps,  Up: Readline Convenience Functions
-
-2.4.3 Binding Keys
-------------------
-
-Key sequences are associated with functions through the keymap.
-Readline has several internal keymaps: ‘emacs_standard_keymap’,
-‘emacs_meta_keymap’, ‘emacs_ctlx_keymap’, ‘vi_movement_keymap’, and
-‘vi_insertion_keymap’.  ‘emacs_standard_keymap’ is the default, and the
-examples in this manual assume that.
-
-   Since ‘readline()’ installs a set of default key bindings the first
-time it is called, there is always the danger that a custom binding
-installed before the first call to ‘readline()’ will be overridden.  An
-alternate mechanism that can avoid this is to install custom key
-bindings in an initialization function assigned to the ‘rl_startup_hook’
-variable (*note Readline Variables::).
-
-   These functions manage key bindings.
-
- -- Function: int rl_bind_key (int key, rl_command_func_t *function)
-     Binds KEY to FUNCTION in the currently active keymap.  Returns
-     non-zero in the case of an invalid KEY.
-
- -- Function: int rl_bind_key_in_map (int key, rl_command_func_t
-          *function, Keymap map)
-     Bind KEY to FUNCTION in MAP.  Returns non-zero in the case of an
-     invalid KEY.
-
- -- Function: int rl_bind_key_if_unbound (int key, rl_command_func_t
-          *function)
-     Binds KEY to FUNCTION if it is not already bound in the currently
-     active keymap.  Returns non-zero in the case of an invalid KEY or
-     if KEY is already bound.
-
- -- Function: int rl_bind_key_if_unbound_in_map (int key,
-          rl_command_func_t *function, Keymap map)
-     Binds KEY to FUNCTION if it is not already bound in MAP.  Returns
-     non-zero in the case of an invalid KEY or if KEY is already bound.
-
- -- Function: int rl_unbind_key (int key)
-     Bind KEY to the null function in the currently active keymap.  This
-     is not the same as binding it to ‘self-insert’.  Returns non-zero
-     in case of error.
-
- -- Function: int rl_unbind_key_in_map (int key, Keymap map)
-     Bind KEY to the null function in MAP.  This is not the same as
-     binding it to ‘self-insert’.  Returns non-zero in case of error.
-
- -- Function: int rl_unbind_function_in_map (rl_command_func_t
-          *function, Keymap map)
-     Unbind all keys that execute FUNCTION in MAP.
-
- -- Function: int rl_unbind_command_in_map (const char *command, Keymap
-          map)
-     Unbind all keys that are bound to COMMAND in MAP.
-
- -- Function: int rl_bind_keyseq (const char *keyseq, rl_command_func_t
-          *function)
-     Bind the key sequence represented by the string KEYSEQ to the
-     function FUNCTION, beginning in the current keymap.  This makes new
-     keymaps as necessary.  The return value is non-zero if KEYSEQ is
-     invalid.
-
- -- Function: int rl_bind_keyseq_in_map (const char *keyseq,
-          rl_command_func_t *function, Keymap map)
-     Bind the key sequence represented by the string KEYSEQ to the
-     function FUNCTION in MAP.  This makes new keymaps as necessary.
-     Initial bindings are performed in MAP.  The return value is
-     non-zero if KEYSEQ is invalid.
-
- -- Function: int rl_set_key (const char *keyseq, rl_command_func_t
-          *function, Keymap map)
-     Equivalent to ‘rl_bind_keyseq_in_map’.
-
- -- Function: int rl_bind_keyseq_if_unbound (const char *keyseq,
-          rl_command_func_t *function)
-     Binds KEYSEQ to FUNCTION if it is not already bound in the
-     currently active keymap.  Returns non-zero in the case of an
-     invalid KEYSEQ or if KEYSEQ is already bound.
-
- -- Function: int rl_bind_keyseq_if_unbound_in_map (const char *keyseq,
-          rl_command_func_t *function, Keymap map)
-     Binds KEYSEQ to FUNCTION if it is not already bound in MAP.
-     Returns non-zero in the case of an invalid KEYSEQ or if KEYSEQ is
-     already bound.
-
- -- Function: int rl_generic_bind (int type, const char *keyseq, char
-          *data, Keymap map)
-     Bind the key sequence represented by the string KEYSEQ to the
-     arbitrary pointer DATA.  TYPE says what kind of data is pointed to
-     by DATA; this can be a function (‘ISFUNC’), a macro (‘ISMACR’), or
-     a keymap (‘ISKMAP’).  This makes new keymaps as necessary.  The
-     initial keymap in which to do bindings is MAP.
-
- -- Function: int rl_parse_and_bind (char *line)
-     Parse LINE as if it had been read from the ‘inputrc’ file and
-     perform any key bindings and variable assignments found (*note
-     Readline Init File::).
-
- -- Function: int rl_read_init_file (const char *filename)
-     Read keybindings and variable assignments from FILENAME (*note
-     Readline Init File::).
-
-\1f
-File: rlman.info,  Node: Associating Function Names and Bindings,  Next: Allowing Undoing,  Prev: Binding Keys,  Up: Readline Convenience Functions
-
-2.4.4 Associating Function Names and Bindings
----------------------------------------------
-
-These functions allow you to find out what keys invoke named functions
-and the functions invoked by a particular key sequence.  You may also
-associate a new function name with an arbitrary function.
-
- -- Function: rl_command_func_t * rl_named_function (const char *name)
-     Return the function with name NAME.  NAME is a descriptive name
-     users might use in a key binding.
-
- -- Function: rl_command_func_t * rl_function_of_keyseq (const char
-          *keyseq, Keymap map, int *type)
-     Return the function invoked by KEYSEQ in keymap MAP.  If MAP is
-     ‘NULL’, this uses the current keymap.  If TYPE is not ‘NULL’, this
-     returns the type of the object in the ‘int’ variable it points to
-     (one of ‘ISFUNC’, ‘ISKMAP’, or ‘ISMACR’).  It takes a "translated"
-     key sequence and should not be used if the key sequence can include
-     NUL.
-
- -- Function: rl_command_func_t * rl_function_of_keyseq_len (const char
-          *keyseq, size_t len, Keymap map, int *type)
-     Return the function invoked by KEYSEQ of length LEN in keymap MAP.
-     Equivalent to ‘rl_function_of_keyseq’ with the addition of the LEN
-     parameter.  It takes a "translated" key sequence and should be used
-     if the key sequence can include NUL.
-
- -- Function: int rl_trim_arg_from_keyseq (const char *keyseq, size_t
-          len, Keymap map)
-     If there is a numeric argument at the beginning of KEYSEQ, possibly
-     including digits, return the index of the first character in KEYSEQ
-     following the numeric argument.  This can be used to skip over the
-     numeric argument (which is available as ‘rl_numeric_arg’) while
-     traversing the key sequence that invoked the current command.
-
- -- Function: char ** rl_invoking_keyseqs (rl_command_func_t *function)
-     Return an array of strings representing the key sequences used to
-     invoke FUNCTION in the current keymap.
-
- -- Function: char ** rl_invoking_keyseqs_in_map (rl_command_func_t
-          *function, Keymap map)
-     Return an array of strings representing the key sequences used to
-     invoke FUNCTION in the keymap MAP.
-
- -- Function: void rl_print_keybinding (const char *name, Keymap map,
-          int readable)
-     Print key sequences bound to Readline function name NAME in keymap
-     MAP.  If MAP is NULL, this uses the current keymap.  If READABLE is
-     non-zero, the list is formatted in such a way that it can be made
-     part of an ‘inputrc’ file and re-read to recreate the key binding.
-
- -- Function: void rl_function_dumper (int readable)
-     Print the Readline function names and the key sequences currently
-     bound to them to ‘rl_outstream’.  If READABLE is non-zero, the list
-     is formatted in such a way that it can be made part of an ‘inputrc’
-     file and re-read.
-
- -- Function: void rl_list_funmap_names (void)
-     Print the names of all bindable Readline functions to
-     ‘rl_outstream’.
-
- -- Function: const char ** rl_funmap_names (void)
-     Return a NULL terminated array of known function names.  The array
-     is sorted.  The array itself is allocated, but not the strings
-     inside.  You should free the array, but not the pointers, using
-     ‘free’ or ‘rl_free’ when you are done.
-
- -- Function: int rl_add_funmap_entry (const char *name,
-          rl_command_func_t *function)
-     Add NAME to the list of bindable Readline command names, and make
-     FUNCTION the function to be called when NAME is invoked.
-
-\1f
-File: rlman.info,  Node: Allowing Undoing,  Next: Redisplay,  Prev: Associating Function Names and Bindings,  Up: Readline Convenience Functions
-
-2.4.5 Allowing Undoing
-----------------------
-
-Supporting the undo command is a painless thing, and makes your
-functions much more useful.  It is certainly easier to try something if
-you know you can undo it.
-
-   If your function simply inserts text once, or deletes text once, and
-uses ‘rl_insert_text()’ or ‘rl_delete_text()’ to do it, then Readline
-does the undoing for you automatically.
-
-   If you do multiple insertions or multiple deletions, or any
-combination of these operations, you should group them together into one
-operation.  This is done with ‘rl_begin_undo_group()’ and
-‘rl_end_undo_group()’.
-
-   The types of events Readline can undo are:
-
-     enum undo_code { UNDO_DELETE, UNDO_INSERT, UNDO_BEGIN, UNDO_END };
-
-   Notice that ‘UNDO_DELETE’ means to insert some text, and
-‘UNDO_INSERT’ means to delete some text.  That is, the undo code tells
-what to undo, not how to undo it.  ‘UNDO_BEGIN’ and ‘UNDO_END’ are tags
-added by ‘rl_begin_undo_group()’ and ‘rl_end_undo_group()’; they are how
-Readline delimits groups of commands that should be undone together.
-
- -- Function: int rl_begin_undo_group (void)
-     Begins saving undo information in a group construct.  The undo
-     information usually comes from calls to ‘rl_insert_text()’ and
-     ‘rl_delete_text()’, but could be the result of calls to
-     ‘rl_add_undo()’.
-
- -- Function: int rl_end_undo_group (void)
-     Closes the current undo group started with ‘rl_begin_undo_group()’.
-     There should be one call to ‘rl_end_undo_group()’ for each call to
-     ‘rl_begin_undo_group()’.
-
- -- Function: void rl_add_undo (enum undo_code what, int start, int end,
-          char *text)
-     Remember how to undo an event (according to WHAT).  The affected
-     text runs from START to END, and encompasses TEXT.
-
- -- Function: void rl_free_undo_list (void)
-     Free the existing undo list.
-
- -- Function: int rl_do_undo (void)
-     Undo the first thing on the undo list.  Returns ‘0’ if there was
-     nothing to undo, non-zero if something was undone.
-
-   Finally, if you neither insert nor delete text, but directly modify
-the existing text (e.g., change its case), call ‘rl_modifying()’ once,
-just before you modify the text.  You must supply the indices of the
-text range that you are going to modify.  Readline will create an undo
-group for you.
-
- -- Function: int rl_modifying (int start, int end)
-     Tell Readline to save the text between START and END as a single
-     undo unit.  It is assumed that you will subsequently modify that
-     text.
-
-\1f
-File: rlman.info,  Node: Redisplay,  Next: Modifying Text,  Prev: Allowing Undoing,  Up: Readline Convenience Functions
-
-2.4.6 Redisplay
----------------
-
- -- Function: void rl_redisplay (void)
-     Change what's displayed on the screen to reflect the current
-     contents of ‘rl_line_buffer’.
-
- -- Function: int rl_forced_update_display (void)
-     Force the line to be updated and redisplayed, whether or not
-     Readline thinks the screen display is correct.
-
- -- Function: int rl_on_new_line (void)
-     Tell the update functions that we have moved onto a new (empty)
-     line, usually after outputting a newline.
-
- -- Function: int rl_on_new_line_with_prompt (void)
-     Tell the update functions that we have moved onto a new line, with
-     RL_PROMPT already displayed.  This could be used by applications
-     that want to output the prompt string themselves, but still need
-     Readline to know the prompt string length for redisplay.  It should
-     be used after setting RL_ALREADY_PROMPTED.
-
- -- Function: int rl_clear_visible_line (void)
-     Clear the screen lines corresponding to the current line's
-     contents.
-
- -- Function: int rl_reset_line_state (void)
-     Reset the display state to a clean state and redisplay the current
-     line starting on a new line.
-
- -- Function: int rl_crlf (void)
-     Move the cursor to the start of the next screen line.
-
- -- Function: int rl_show_char (int c)
-     Display character C on ‘rl_outstream’.  If Readline has not been
-     set to display meta characters directly, this will convert meta
-     characters to a meta-prefixed key sequence.  This is intended for
-     use by applications which wish to do their own redisplay.
-
- -- Function: int rl_message (const char *, ...)
-     The arguments are a format string as would be supplied to ‘printf’,
-     possibly containing conversion specifications such as ‘%d’, and any
-     additional arguments necessary to satisfy the conversion
-     specifications.  The resulting string is displayed in the “echo
-     area”.  The echo area is also used to display numeric arguments and
-     search strings.  You should call ‘rl_save_prompt’ to save the
-     prompt information before calling this function.
-
- -- Function: int rl_clear_message (void)
-     Clear the message in the echo area.  If the prompt was saved with a
-     call to ‘rl_save_prompt’ before the last call to ‘rl_message’, you
-     must call ‘rl_restore_prompt’ before calling this function.
-
- -- Function: void rl_save_prompt (void)
-     Save the local Readline prompt display state in preparation for
-     displaying a new message in the message area with ‘rl_message()’.
-
- -- Function: void rl_restore_prompt (void)
-     Restore the local Readline prompt display state saved by the most
-     recent call to ‘rl_save_prompt’.  if you called ‘rl_save_prompt’ to
-     save the prompt before a call to ‘rl_message’, you should call this
-     function before the corresponding call to ‘rl_clear_message’.
-
- -- Function: int rl_expand_prompt (char *prompt)
-     Expand any special character sequences in PROMPT and set up the
-     local Readline prompt redisplay variables.  This function is called
-     by ‘readline()’.  It may also be called to expand the primary
-     prompt if the application uses the ‘rl_on_new_line_with_prompt()’
-     function or ‘rl_already_prompted’ variable.  It returns the number
-     of visible characters on the last line of the (possibly multi-line)
-     prompt.  Applications may indicate that the prompt contains
-     characters that take up no physical screen space when displayed by
-     bracketing a sequence of such characters with the special markers
-     ‘RL_PROMPT_START_IGNORE’ and ‘RL_PROMPT_END_IGNORE’ (declared in
-     ‘readline.h’ as ‘\001’ and ‘\002’, respectively).  This may be used
-     to embed terminal-specific escape sequences in prompts.  If you
-     don't use these indicators, redisplay will likely produce screen
-     contents that don't match the line buffer.
-
- -- Function: int rl_set_prompt (const char *prompt)
-     Make Readline use PROMPT for subsequent redisplay.  This calls
-     ‘rl_expand_prompt()’ to expand the prompt and sets ‘rl_prompt’ to
-     the result.
-
-\1f
-File: rlman.info,  Node: Modifying Text,  Next: Character Input,  Prev: Redisplay,  Up: Readline Convenience Functions
-
-2.4.7 Modifying Text
---------------------
-
- -- Function: int rl_insert_text (const char *text)
-     Insert TEXT into the line at the current cursor position.  Returns
-     the number of characters inserted.
-
- -- Function: int rl_delete_text (int start, int end)
-     Delete the text between START and END in the current line.  Returns
-     the number of characters deleted.
-
- -- Function: char * rl_copy_text (int start, int end)
-     Return a copy of the text between START and END in the current
-     line.
-
- -- Function: int rl_kill_text (int start, int end)
-     Copy the text between START and END in the current line to the kill
-     ring, appending or prepending to the last kill if the last command
-     was a kill command.  This deletes the text from the line.  If START
-     is less than END, the text is appended, otherwise it is prepended.
-     If the last command was not a kill, this uses a new kill ring slot.
-
- -- Function: void rl_replace_line (const char *text, int clear_undo)
-     Replace the contents of ‘rl_line_buffer’ with TEXT.  This preserves
-     the point and mark, if possible.  If CLEAR_UNDO is non-zero, this
-     clears the undo list associated with the current line.
-
- -- Function: int rl_push_macro_input (char *macro)
-     Insert MACRO into the line, as if it had been invoked by a key
-     bound to a macro.  Not especially useful; use ‘rl_insert_text()’
-     instead.
-
-\1f
-File: rlman.info,  Node: Character Input,  Next: Terminal Management,  Prev: Modifying Text,  Up: Readline Convenience Functions
-
-2.4.8 Character Input
----------------------
-
- -- Function: int rl_read_key (void)
-     Return the next character available from Readline's current input
-     stream.  This handles input inserted into the input stream via
-     RL_PENDING_INPUT (*note Readline Variables::) and
-     ‘rl_stuff_char()’, macros, and characters read from the keyboard.
-     While waiting for input, this function will call any function
-     assigned to the ‘rl_event_hook’ variable.
-
- -- Function: int rl_getc (FILE *stream)
-     Return the next character available from STREAM, which is assumed
-     to be the keyboard.
-
- -- Function: int rl_stuff_char (int c)
-     Insert C into the Readline input stream.  It will be "read" before
-     Readline attempts to read characters from the terminal with
-     ‘rl_read_key()’.  Applications can push back Up to 512 characters.
-     ‘rl_stuff_char’ returns 1 if the character was successfully
-     inserted; 0 otherwise.
-
- -- Function: int rl_execute_next (int c)
-     Make C be the next command to be executed when ‘rl_read_key()’ is
-     called.  This sets RL_PENDING_INPUT.
-
- -- Function: int rl_clear_pending_input (void)
-     Unset RL_PENDING_INPUT, effectively negating the effect of any
-     previous call to ‘rl_execute_next()’.  This works only if the
-     pending input has not already been read with ‘rl_read_key()’.
-
- -- Function: int rl_set_keyboard_input_timeout (int u)
-     While waiting for keyboard input in ‘rl_read_key()’, Readline will
-     wait for U microseconds for input before calling any function
-     assigned to ‘rl_event_hook’.  U must be greater than or equal to
-     zero (a zero-length timeout is equivalent to a poll).  The default
-     waiting period is one-tenth of a second.  Returns the old timeout
-     value.
-
- -- Function: int rl_set_timeout (unsigned int secs, unsigned int usecs)
-     Set a timeout for subsequent calls to ‘readline()’.  If Readline
-     does not read a complete line, or the number of characters
-     specified by ‘rl_num_chars_to_read’, before the duration specified
-     by SECS (in seconds) and USECS (microseconds), it returns and sets
-     ‘RL_STATE_TIMEOUT’ in ‘rl_readline_state’.  Passing 0 for ‘secs’
-     and ‘usecs’ cancels any previously set timeout; the convenience
-     macro ‘rl_clear_timeout()’ is shorthand for this.  Returns 0 if the
-     timeout is set successfully.
-
- -- Function: int rl_timeout_remaining (unsigned int *secs, unsigned int
-          *usecs)
-     Return the number of seconds and microseconds remaining in the
-     current timeout duration in *SECS and *USECS, respectively.  Both
-     *SECS and *USECS must be non-NULL to return any values.  The return
-     value is -1 on error or when there is no timeout set, 0 when the
-     timeout has expired (leaving *SECS and *USECS unchanged), and 1 if
-     the timeout has not expired.  If either of SECS and USECS is
-     ‘NULL’, the return value indicates whether the timeout has expired.
-
-\1f
-File: rlman.info,  Node: Terminal Management,  Next: Utility Functions,  Prev: Character Input,  Up: Readline Convenience Functions
-
-2.4.9 Terminal Management
--------------------------
-
- -- Function: void rl_prep_terminal (int meta_flag)
-     Modify the terminal settings for Readline's use, so ‘readline()’
-     can read a single character at a time from the keyboard and perform
-     redisplay.  The META_FLAG argument should be non-zero if Readline
-     should read eight-bit input.
-
- -- Function: void rl_deprep_terminal (void)
-     Undo the effects of ‘rl_prep_terminal()’, leaving the terminal in
-     the state in which it was before the most recent call to
-     ‘rl_prep_terminal()’.
-
- -- Function: void rl_tty_set_default_bindings (Keymap kmap)
-     Read the operating system's terminal editing characters (as would
-     be displayed by ‘stty’) to their Readline equivalents.  The
-     bindings are performed in KMAP.
-
- -- Function: void rl_tty_unset_default_bindings (Keymap kmap)
-     Reset the bindings manipulated by ‘rl_tty_set_default_bindings’ so
-     that the terminal editing characters are bound to ‘rl_insert’.  The
-     bindings are performed in KMAP.
- -- Function: int rl_tty_set_echoing (int value)
-     Set Readline's idea of whether or not it is echoing output to its
-     output stream (RL_OUTSTREAM).  If VALUE is 0, Readline does not
-     display output to RL_OUTSTREAM; any other value enables output.
-     The initial value is set when Readline initializes the terminal
-     settings.  This function returns the previous value.
-
- -- Function: int rl_reset_terminal (const char *terminal_name)
-     Reinitialize Readline's idea of the terminal settings using
-     TERMINAL_NAME as the terminal type (e.g., ‘xterm’).  If
-     TERMINAL_NAME is ‘NULL’, Readline uses the value of the ‘TERM’
-     environment variable.
-
-\1f
-File: rlman.info,  Node: Utility Functions,  Next: Miscellaneous Functions,  Prev: Terminal Management,  Up: Readline Convenience Functions
-
-2.4.10 Utility Functions
-------------------------
-
- -- Function: int rl_save_state (struct readline_state *sp)
-     Save a snapshot of Readline's internal state to SP.  The contents
-     of the READLINE_STATE structure are documented in ‘readline.h’.
-     The caller is responsible for allocating the structure.
-
- -- Function: int rl_restore_state (struct readline_state *sp)
-     Restore Readline's internal state to that stored in SP, which must
-     have been saved by a call to ‘rl_save_state’.  The contents of the
-     READLINE_STATE structure are documented in ‘readline.h’.  The
-     caller is responsible for freeing the structure.
-
- -- Function: void rl_free (void *mem)
-     Deallocate the memory pointed to by MEM.  MEM must have been
-     allocated by ‘malloc’.
-
- -- Function: void rl_extend_line_buffer (int len)
-     Ensure that ‘rl_line_buffer’ has enough space to hold LEN
-     characters, reallocating it if necessary.
-
- -- Function: int rl_initialize (void)
-     Initialize or re-initialize Readline's internal state.  It's not
-     strictly necessary to call this; ‘readline()’ calls it before
-     reading any input.
-
- -- Function: int rl_ding (void)
-     Ring the terminal bell, obeying the setting of ‘bell-style’.
-
- -- Function: int rl_alphabetic (int c)
-     Return 1 if C is an alphabetic character.
-
- -- Function: void rl_display_match_list (char **matches, int len, int
-          max)
-     A convenience function for displaying a list of strings in columnar
-     format on Readline's output stream.  ‘matches’ is the list of
-     strings, in argv format, such as a list of completion matches.
-     ‘len’ is the number of strings in ‘matches’, and ‘max’ is the
-     length of the longest string in ‘matches’.  This function uses the
-     setting of ‘print-completions-horizontally’ to select how the
-     matches are displayed (*note Readline Init File Syntax::).  When
-     displaying completions, this function sets the number of columns
-     used for display to the value of ‘completion-display-width’, the
-     value of the environment variable ‘COLUMNS’, or the screen width,
-     in that order.
-
-   The following are implemented as macros, defined in ‘chardefs.h’.
-Applications should refrain from using them.
-
- -- Function: int _rl_uppercase_p (int c)
-     Return 1 if C is an uppercase alphabetic character.
-
- -- Function: int _rl_lowercase_p (int c)
-     Return 1 if C is a lowercase alphabetic character.
-
- -- Function: int _rl_digit_p (int c)
-     Return 1 if C is a numeric character.
-
- -- Function: int _rl_to_upper (int c)
-     If C is a lowercase alphabetic character, return the corresponding
-     uppercase character.
-
- -- Function: int _rl_to_lower (int c)
-     If C is an uppercase alphabetic character, return the corresponding
-     lowercase character.
-
- -- Function: int _rl_digit_value (int c)
-     If C is a number, return the value it represents.
-
-\1f
-File: rlman.info,  Node: Miscellaneous Functions,  Next: Alternate Interface,  Prev: Utility Functions,  Up: Readline Convenience Functions
-
-2.4.11 Miscellaneous Functions
-------------------------------
-
- -- Function: int rl_macro_bind (const char *keyseq, const char *macro,
-          Keymap map)
-     Bind the key sequence KEYSEQ to invoke the macro MACRO.  The
-     binding is performed in MAP.  When KEYSEQ is invoked, the MACRO
-     will be inserted into the line.  This function is deprecated; use
-     ‘rl_generic_bind’ instead.
-
- -- Function: void rl_macro_dumper (int readable)
-     Print the key sequences bound to macros and their values, using the
-     current keymap, to ‘rl_outstream’.  If the application has assigned
-     a value to ‘rl_macro_display_hook’, ‘rl_macro_dumper’ calls it
-     instead of printing anything.  If READABLE is greater than zero,
-     the list is formatted in such a way that it can be made part of an
-     ‘inputrc’ file and re-read.
-
- -- Function: int rl_variable_bind (const char *variable, const char
-          *value)
-     Make the Readline variable VARIABLE have VALUE.  This behaves as if
-     the Readline command ‘set VARIABLE VALUE’ had been executed in an
-     ‘inputrc’ file (*note Readline Init File Syntax::) or by
-     ‘rl_parse_and_bind’.
-
- -- Function: char * rl_variable_value (const char *variable)
-     Return a string representing the value of the Readline variable
-     VARIABLE.  For boolean variables, this string is either ‘on’ or
-     ‘off’.
-
- -- Function: void rl_variable_dumper (int readable)
-     Print the Readline variable names and their current values to
-     ‘rl_outstream’.  If READABLE is non-zero, the list is formatted in
-     such a way that it can be made part of an ‘inputrc’ file and
-     re-read.
-
- -- Function: int rl_set_paren_blink_timeout (int u)
-     Set the time interval (in microseconds) that Readline waits when
-     showing a balancing character when ‘blink-matching-paren’ has been
-     enabled.
-
- -- Function: char * rl_get_termcap (const char *cap)
-     Retrieve the string value of the termcap capability CAP.  Readline
-     fetches the termcap entry for the current terminal name and uses
-     those capabilities to move around the screen line and perform other
-     terminal-specific operations, like erasing a line.  Readline does
-     not fetch or use all of a terminal's capabilities, and this
-     function will return values for only those capabilities Readline
-     fetches.
-
- -- Function: void rl_reparse_colors (void)
-     Read or re-read color definitions from ‘LS_COLORS’.
-
- -- Function: void rl_clear_history (void)
-     Clear the history list by deleting all of the entries, in the same
-     manner as the History library's ‘clear_history()’ function.  This
-     differs from ‘clear_history’ because it frees private data Readline
-     saves in the history list.
-
- -- Function: void rl_activate_mark (void)
-     Enable an _active_ region.  When this is enabled, the text between
-     point and mark (the REGION) is displayed using the color specified
-     by the value of the ‘active-region-start-color’ variable (a FACE).
-     The default face is the terminal's standout mode.  This is called
-     by various Readline functions that set the mark and insert text,
-     and is available for applications to call.
-
- -- Function: void rl_deactivate_mark (void)
-     Turn off the active region.
-
- -- Function: void rl_keep_mark_active (void)
-     Indicate that the mark should remain active when the current
-     Readline function completes and after redisplay occurs.  In most
-     cases, the mark remains active for only the duration of a single
-     bindable Readline function.
-
- -- Function: int rl_mark_active_p (void)
-     Return a non-zero value if the mark is currently active; zero
-     otherwise.
-
-\1f
-File: rlman.info,  Node: Alternate Interface,  Next: A Readline Example,  Prev: Miscellaneous Functions,  Up: Readline Convenience Functions
-
-2.4.12 Alternate Interface
---------------------------
-
-For applications that need more granular control than plain ‘readline()’
-provides, there is an alternate interface.  Some applications need to
-interleave keyboard I/O with file, device, or window system I/O,
-typically by using a main loop to ‘select()’ on various file
-descriptors.  To accommodate this use case, Readline can also be invoked
-as a 'callback' function from an event loop.  There are functions
-available to make this easy.
-
- -- Function: void rl_callback_handler_install (const char *prompt,
-          rl_vcpfunc_t *lhandler)
-     Set up the terminal for Readline I/O and display the initial
-     expanded value of PROMPT.  Save the value of LHANDLER to use as a
-     handler function to call when a complete line of input has been
-     entered.  The handler function receives the text of the line as an
-     argument.  As with ‘readline()’, the handler function should ‘free’
-     the line when it it finished with it.
-
- -- Function: void rl_callback_read_char (void)
-     Whenever an application determines that keyboard input is
-     available, it should call ‘rl_callback_read_char()’, which will
-     read the next character from the current input source.  If that
-     character completes the line, ‘rl_callback_read_char’ will invoke
-     the LHANDLER function installed by ‘rl_callback_handler_install’ to
-     process the line.  Before calling the LHANDLER function, Readline
-     resets the terminal settings to the values they had before calling
-     ‘rl_callback_handler_install’.  If the LHANDLER function returns,
-     and the line handler remains installed, Readline modifies the
-     terminal settings for its use again.  ‘EOF’ is indicated by calling
-     LHANDLER with a ‘NULL’ line.
-
- -- Function: void rl_callback_sigcleanup (void)
-     Clean up any internal state the callback interface uses to maintain
-     state between calls to rl_callback_read_char (e.g., the state of
-     any active incremental searches).  This is intended to be used by
-     applications that wish to perform their own signal handling;
-     Readline's internal signal handler calls this when appropriate.
-
- -- Function: void rl_callback_handler_remove (void)
-     Restore the terminal to its initial state and remove the line
-     handler.  You may call this function from within a callback as well
-     as independently.  If the LHANDLER installed by
-     ‘rl_callback_handler_install’ does not exit the program, your
-     program should call either this function or the function referred
-     to by the value of ‘rl_deprep_term_function’ before the program
-     exits to reset the terminal settings.
-
-\1f
-File: rlman.info,  Node: A Readline Example,  Next: Alternate Interface Example,  Prev: Alternate Interface,  Up: Readline Convenience Functions
-
-2.4.13 A Readline Example
--------------------------
-
-Here is a function which changes lowercase characters to their uppercase
-equivalents, and uppercase characters to lowercase.  If this function
-was bound to ‘M-c’, then typing ‘M-c’ would change the case of the
-character under point.  Typing ‘M-1 0 M-c’ would change the case of the
-following 10 characters, leaving the cursor on the last character
-changed.
-
-     /* Invert the case of the COUNT following characters. */
-     int
-     invert_case_line (count, key)
-          int count, key;
-     {
-       int start, end, i;
-
-       start = rl_point;
-
-       if (rl_point >= rl_end)
-         return (0);
-
-       /* Find the end of the range to modify. */
-       end = start + count;
-
-       /* Force it to be within range. */
-       if (end > rl_end)
-         end = rl_end;
-       else if (end < 0)
-         end = 0;
-
-       if (start == end)
-         return (0);
-
-       /* For positive arguments, put point after the last changed character. For
-          negative arguments, put point before the last changed character. */
-       rl_point = end;
-
-       /* Swap start and end if we are moving backwards */
-       if (start > end)
-         {
-           int temp = start;
-           start = end;
-           end = temp;
-         }
-
-       /* Tell readline that we are modifying the line,
-          so it will save the undo information. */
-       rl_modifying (start, end);
-
-       for (i = start; i != end; i++)
-         {
-           if (_rl_uppercase_p (rl_line_buffer[i]))
-             rl_line_buffer[i] = _rl_to_lower (rl_line_buffer[i]);
-           else if (_rl_lowercase_p (rl_line_buffer[i]))
-             rl_line_buffer[i] = _rl_to_upper (rl_line_buffer[i]);
-         }
-
-       return (0);
-     }
-
-\1f
-File: rlman.info,  Node: Alternate Interface Example,  Prev: A Readline Example,  Up: Readline Convenience Functions
-
-2.4.14 Alternate Interface Example
-----------------------------------
-
-Here is a complete program that illustrates Readline's alternate
-interface.  It reads lines from the terminal and displays them,
-providing the standard history and TAB completion functions.  It
-understands the EOF character or "exit" to exit the program.
-
-     /* Standard include files. stdio.h is required. */
-     #include <stdlib.h>
-     #include <string.h>
-     #include <unistd.h>
-
-     /* Used for select(2) */
-     #include <sys/types.h>
-     #include <sys/select.h>
-
-     #include <signal.h>
-
-     #include <errno.h>
-     #include <stdio.h>
-
-     #include <locale.h>
-
-     /* Standard readline include files. */
-     #include <readline/readline.h>
-     #include <readline/history.h>
-
-     #if !defined (errno)
-     extern int errno;
-     #endif
-
-     static void cb_linehandler (char *);
-     static void sighandler (int);
-
-     int running;
-     int sigwinch_received;
-     const char *prompt = "rltest$ ";
-
-     /* Handle SIGWINCH and window size changes when readline is not active and
-        reading a character. */
-     static void
-     sighandler (int sig)
-     {
-       sigwinch_received = 1;
-     }
-
-     /* Callback function called for each line when accept-line executed, EOF
-        seen, or EOF character read.  This sets a flag and returns; it could
-        also call exit(3). */
-     static void
-     cb_linehandler (char *line)
-     {
-       /* Can use ^D (stty eof) or `exit' to exit. */
-       if (line == NULL || strcmp (line, "exit") == 0)
-         {
-           if (line == 0)
-             printf ("\n");
-           printf ("exit\n");
-           /* This function needs to be called to reset the terminal settings,
-              and calling it from the line handler keeps one extra prompt from
-              being displayed. */
-           rl_callback_handler_remove ();
-
-           running = 0;
-         }
-       else
-         {
-           if (*line)
-             add_history (line);
-           printf ("input line: %s\n", line);
-           free (line);
-         }
-     }
-
-     int
-     main (int c, char **v)
-     {
-       fd_set fds;
-       int r;
-
-       /* Set the default locale values according to environment variables. */
-       setlocale (LC_ALL, "");
-
-       /* Handle window size changes when readline is not active and reading
-          characters. */
-       signal (SIGWINCH, sighandler);
-
-       /* Install the line handler. */
-       rl_callback_handler_install (prompt, cb_linehandler);
-
-       /* Enter a simple event loop.  This waits until something is available
-          to read on readline's input stream (defaults to standard input) and
-          calls the builtin character read callback to read it.  It does not
-          have to modify the user's terminal settings. */
-       running = 1;
-       while (running)
-         {
-           FD_ZERO (&fds);
-           FD_SET (fileno (rl_instream), &fds);
-
-           r = select (FD_SETSIZE, &fds, NULL, NULL, NULL);
-           if (r < 0 && errno != EINTR)
-             {
-               perror ("rltest: select");
-               rl_callback_handler_remove ();
-               break;
-             }
-           if (sigwinch_received)
-       {
-         rl_resize_terminal ();
-         sigwinch_received = 0;
-       }
-           if (r < 0)
-       continue;
-
-           if (FD_ISSET (fileno (rl_instream), &fds))
-             rl_callback_read_char ();
-         }
-
-       printf ("rltest: Event loop has exited\n");
-       return 0;
-     }
-
-\1f
-File: rlman.info,  Node: Readline Signal Handling,  Next: Custom Completers,  Prev: Readline Convenience Functions,  Up: Programming with GNU Readline
-
-2.5 Readline Signal Handling
-============================
-
-Signals are asynchronous events sent to a process by the Unix kernel,
-sometimes on behalf of another process.  They are intended to indicate
-exceptional events, like a user pressing the terminal's interrupt key,
-or a network connection being broken.  There is a class of signals that
-can be sent to the process currently reading input from the keyboard.
-Since Readline changes the terminal attributes when it is called, it
-needs to perform special processing when such a signal is received in
-order to restore the terminal to a sane state, or provide applications
-using Readline with functions to do so manually.
-
-   Readline contains an internal signal handler that is installed for a
-number of signals (‘SIGINT’, ‘SIGQUIT’, ‘SIGTERM’, ‘SIGHUP’, ‘SIGALRM’,
-‘SIGTSTP’, ‘SIGTTIN’, and ‘SIGTTOU’).  When Readline receives one of
-these signals, the signal handler will reset the terminal attributes to
-those that were in effect before ‘readline()’ was called, reset the
-signal handling to what it was before ‘readline()’ was called, and
-resend the signal to the calling application.  If and when the calling
-application's signal handler returns, Readline will reinitialize the
-terminal and continue to accept input.  When a ‘SIGINT’ is received, the
-Readline signal handler performs some additional work, which will cause
-any partially-entered line to be aborted (see the description of
-‘rl_free_line_state()’ below).
-
-   There is an additional Readline signal handler, for ‘SIGWINCH’, which
-the kernel sends to a process whenever the terminal's size changes (for
-example, if a user resizes an ‘xterm’).  The Readline ‘SIGWINCH’ handler
-updates Readline's internal screen size information, and then calls any
-‘SIGWINCH’ signal handler the calling application has installed.
-Readline calls the application's ‘SIGWINCH’ signal handler without
-resetting the terminal to its original state.  If the application's
-signal handler does more than update its idea of the terminal size and
-return (for example, a ‘longjmp’ back to a main processing loop), it
-_must_ call ‘rl_cleanup_after_signal()’ (described below), to restore
-the terminal state.
-
-   When an application is using the callback interface (*note Alternate
-Interface::), Readline installs signal handlers only for the duration of
-the call to ‘rl_callback_read_char’.  Applications using the callback
-interface should be prepared to clean up Readline's state if they wish
-to handle the signal before the line handler completes and restores the
-terminal state.
-
-   If an application using the callback interface wishes to have
-Readline install its signal handlers at the time the application calls
-‘rl_callback_handler_install’ and remove them only when a complete line
-of input has been read, it should set the
-‘rl_persistent_signal_handlers’ variable to a non-zero value.  This
-allows an application to defer all of the handling of the signals
-Readline catches to Readline.  Applications should use this variable
-with care; it can result in Readline catching signals and not acting on
-them (or allowing the application to react to them) until the
-application calls ‘rl_callback_read_char’.  This can result in an
-application becoming less responsive to keyboard signals like SIGINT. If
-an application does not want or need to perform any signal handling, or
-does not need to do any processing between calls to
-‘rl_callback_read_char’, setting this variable may be desirable.
-
-   Readline provides two variables that allow application writers to
-control whether or not it will catch certain signals and act on them
-when they are received.  It is important that applications change the
-values of these variables only when calling ‘readline()’, not in a
-signal handler, so Readline's internal signal state is not corrupted.
-
- -- Variable: int rl_catch_signals
-     If this variable is non-zero, Readline will install signal handlers
-     for ‘SIGINT’, ‘SIGQUIT’, ‘SIGTERM’, ‘SIGHUP’, ‘SIGALRM’, ‘SIGTSTP’,
-     ‘SIGTTIN’, and ‘SIGTTOU’.
-
-     The default value of ‘rl_catch_signals’ is 1.
-
- -- Variable: int rl_catch_sigwinch
-     If this variable is set to a non-zero value, Readline will install
-     a signal handler for ‘SIGWINCH’.
-
-     The default value of ‘rl_catch_sigwinch’ is 1.
-
- -- Variable: int rl_persistent_signal_handlers
-     If an application using the callback interface wishes Readline's
-     signal handlers to be installed and active during the set of calls
-     to ‘rl_callback_read_char’ that constitutes an entire single line,
-     it should set this variable to a non-zero value.
-
-     The default value of ‘rl_persistent_signal_handlers’ is 0.
-
- -- Variable: int rl_change_environment
-     If this variable is set to a non-zero value, and Readline is
-     handling ‘SIGWINCH’, Readline will modify the LINES and COLUMNS
-     environment variables upon receipt of a ‘SIGWINCH’.
-
-     The default value of ‘rl_change_environment’ is 1.
-
-   If an application does not wish to have Readline catch any signals,
-or to handle signals other than those Readline catches (‘SIGHUP’, for
-example), Readline provides convenience functions to do the necessary
-terminal and internal state cleanup upon receipt of a signal.
-
- -- Function: int rl_pending_signal (void)
-     Return the signal number of the most recent signal Readline
-     received but has not yet handled, or 0 if there is no pending
-     signal.
-
- -- Function: void rl_cleanup_after_signal (void)
-     This function will reset the state of the terminal to what it was
-     before ‘readline()’ was called, and remove the Readline signal
-     handlers for all signals, depending on the values of
-     ‘rl_catch_signals’ and ‘rl_catch_sigwinch’.
-
- -- Function: void rl_free_line_state (void)
-     This will free any partial state associated with the current input
-     line (undo information, any partial history entry, any
-     partially-entered keyboard macro, and any partially-entered numeric
-     argument).  This should be called before
-     ‘rl_cleanup_after_signal()’.  The Readline signal handler for
-     ‘SIGINT’ calls this to abort the current input line.
-
- -- Function: void rl_reset_after_signal (void)
-     This will reinitialize the terminal and reinstall any Readline
-     signal handlers, depending on the values of ‘rl_catch_signals’ and
-     ‘rl_catch_sigwinch’.
-
-   If an application wants to force Readline to handle any signals that
-have arrived while it has been executing, ‘rl_check_signals()’ will call
-Readline's internal signal handler if there are any pending signals.
-This is primarily intended for those applications that use a custom
-‘rl_getc_function’ (*note Readline Variables::) and wish to handle
-signals received while waiting for input.
-
- -- Function: void rl_check_signals (void)
-     If there are any pending signals, call Readline's internal signal
-     handling functions to process them.  ‘rl_pending_signal()’ can be
-     used independently to determine whether or not there are any
-     pending signals.
-
-   If an application does not wish Readline to catch ‘SIGWINCH’, it may
-call ‘rl_resize_terminal()’ or ‘rl_set_screen_size()’ to force Readline
-to update its idea of the terminal size when it receives a ‘SIGWINCH’.
-
- -- Function: void rl_echo_signal_char (int sig)
-     If an application wishes to install its own signal handlers, but
-     still have Readline display characters that generate signals,
-     calling this function with SIG set to ‘SIGINT’, ‘SIGQUIT’, or
-     ‘SIGTSTP’ will display the character generating that signal.
-
- -- Function: void rl_resize_terminal (void)
-     Update Readline's internal screen size by reading values from the
-     kernel.
-
- -- Function: void rl_set_screen_size (int rows, int cols)
-     Set Readline's idea of the terminal size to ROWS rows and COLS
-     columns.  If either ROWS or COLUMNS is less than or equal to 0,
-     Readline doesn't change that terminal dimension.  This is intended
-     to tell Readline the physical dimensions of the terminal, and is
-     used internally to calculate the maximum number of characters that
-     may appear on a single line and on the screen.
-
-   If an application does not want to install a ‘SIGWINCH’ handler, but
-is still interested in the screen dimensions, it may query Readline's
-idea of the screen size.
-
- -- Function: void rl_get_screen_size (int *rows, int *cols)
-     Return Readline's idea of the terminal's size in the variables
-     pointed to by the arguments.
-
- -- Function: void rl_reset_screen_size (void)
-     Cause Readline to reobtain the screen size and recalculate its
-     dimensions.
-
-   The following functions install and remove Readline's signal
-handlers.
-
- -- Function: int rl_set_signals (void)
-     Install Readline's signal handler for ‘SIGINT’, ‘SIGQUIT’,
-     ‘SIGTERM’, ‘SIGHUP’, ‘SIGALRM’, ‘SIGTSTP’, ‘SIGTTIN’, ‘SIGTTOU’,
-     and ‘SIGWINCH’, depending on the values of ‘rl_catch_signals’ and
-     ‘rl_catch_sigwinch’.
-
- -- Function: int rl_clear_signals (void)
-     Remove all of the Readline signal handlers installed by
-     ‘rl_set_signals()’.
-
-\1f
-File: rlman.info,  Node: Custom Completers,  Prev: Readline Signal Handling,  Up: Programming with GNU Readline
-
-2.6 Custom Completers
-=====================
-
-Typically, a program that reads commands from the user has a way of
-disambiguating commands and data.  If your program is one of these, then
-it can provide completion for commands, data, or both.  The following
-sections describe how your program and Readline cooperate to provide
-this service.
-
-* Menu:
-
-* How Completing Works::       The logic used to do completion.
-* Completion Functions::       Functions provided by Readline.
-* Completion Variables::       Variables which control completion.
-* A Short Completion Example:: An example of writing completer subroutines.
-
-\1f
-File: rlman.info,  Node: How Completing Works,  Next: Completion Functions,  Up: Custom Completers
-
-2.6.1 How Completing Works
---------------------------
-
-In order to complete some text, the full list of possible completions
-must be available.  That is, it is not possible to accurately expand a
-partial word without knowing all of the possible words which make sense
-in that context.  The Readline library provides the user interface to
-completion, and two of the most common completion functions: filename
-and username.  For completing other types of text, you must write your
-own completion function.  This section describes exactly what such
-functions must do, and provides an example.
-
-   There are three major functions used to perform completion:
-
-  1. The user-interface function ‘rl_complete()’.  This function is
-     called with the same arguments as other bindable Readline
-     functions: COUNT and INVOKING_KEY.  It isolates the word to be
-     completed and calls ‘rl_completion_matches()’ to generate a list of
-     possible completions.  It then either lists the possible
-     completions, inserts the possible completions, or actually performs
-     the completion, depending on which behavior is desired.
-
-  2. The internal function ‘rl_completion_matches()’ uses an
-     application-supplied “generator” function to generate the list of
-     possible matches, and then returns the array of these matches.  The
-     caller should place the address of its generator function in
-     ‘rl_completion_entry_function’.
-
-  3. The generator function is called repeatedly from
-     ‘rl_completion_matches()’, returning a string each time.  The
-     arguments to the generator function are TEXT and STATE.  TEXT is
-     the partial word to be completed.  STATE is zero the first time the
-     function is called, allowing the generator to perform any necessary
-     initialization, and a positive non-zero integer for each subsequent
-     call.  The generator function returns ‘(char *)NULL’ to inform
-     ‘rl_completion_matches()’ that there are no more possibilities
-     left.  Usually the generator function computes the list of possible
-     completions when STATE is zero, and returns them one at a time on
-     subsequent calls.  Each string the generator function returns as a
-     match must be allocated with ‘malloc()’; Readline frees the strings
-     when it has finished with them.  Such a generator function is
-     referred to as an “application-specific completion function”.
-
- -- Function: int rl_complete (int ignore, int invoking_key)
-     Complete the word at or before point.  You have supplied the
-     function that does the initial simple matching selection algorithm
-     (see ‘rl_completion_matches()’).  The default is to do filename
-     completion.
-
- -- Variable: rl_compentry_func_t * rl_completion_entry_function
-     This is a pointer to the generator function for
-     ‘rl_completion_matches()’.  If the value of
-     ‘rl_completion_entry_function’ is ‘NULL’ then Readline uses the
-     default filename generator function,
-     ‘rl_filename_completion_function()’.  An “application-specific
-     completion function” is a function whose address is assigned to
-     ‘rl_completion_entry_function’ and whose return values are used to
-     generate possible completions.
-
-\1f
-File: rlman.info,  Node: Completion Functions,  Next: Completion Variables,  Prev: How Completing Works,  Up: Custom Completers
-
-2.6.2 Completion Functions
---------------------------
-
-Here is the complete list of callable completion functions present in
-Readline.
-
- -- Function: int rl_complete_internal (int what_to_do)
-     Complete the word at or before point.  WHAT_TO_DO says what to do
-     with the completion.  A value of ‘?’ means list the possible
-     completions.  ‘TAB’ means do standard completion.  ‘*’ means insert
-     all of the possible completions.  ‘!’ means to display all of the
-     possible completions, if there is more than one, as well as
-     performing partial completion.  ‘@’ is similar to ‘!’, but does not
-     list possible completions if the possible completions share a
-     common prefix.
-
- -- Function: int rl_complete (int ignore, int invoking_key)
-     Complete the word at or before point.  You have supplied the
-     function that does the initial simple matching selection algorithm
-     (see ‘rl_completion_matches()’ and ‘rl_completion_entry_function’).
-     The default is to do filename completion.  This calls
-     ‘rl_complete_internal()’ with an argument depending on
-     INVOKING_KEY.
-
- -- Function: int rl_possible_completions (int count, int invoking_key)
-     List the possible completions.  See description of ‘rl_complete()’.
-     This calls ‘rl_complete_internal()’ with an argument of ‘?’.
-
- -- Function: int rl_insert_completions (int count, int invoking_key)
-     Insert the list of possible completions into the line, deleting the
-     partially-completed word.  See description of ‘rl_complete()’.
-     This calls ‘rl_complete_internal()’ with an argument of ‘*’.
-
- -- Function: int rl_completion_mode (rl_command_func_t *cfunc)
-     Returns the appropriate value to pass to ‘rl_complete_internal()’
-     depending on whether CFUNC was called twice in succession and the
-     values of the ‘show-all-if-ambiguous’ and ‘show-all-if-unmodified’
-     variables.  Application-specific completion functions may use this
-     function to present the same interface as ‘rl_complete()’.
-
- -- Function: char ** rl_completion_matches (const char *text,
-          rl_compentry_func_t *entry_func)
-     Returns an array of strings which is a list of completions for
-     TEXT.  If there are no completions, returns ‘NULL’.  The first
-     entry in the returned array is the substitution for TEXT.  The
-     remaining entries are the possible completions.  The array is
-     terminated with a ‘NULL’ pointer.
-
-     ENTRY_FUNC is a function of two args, and returns a ‘char *’.  The
-     first argument is TEXT.  The second is a state argument; it is zero
-     on the first call, and non-zero on subsequent calls.  ENTRY_FUNC
-     returns a ‘NULL’ pointer to the caller when there are no more
-     matches.
-
- -- Function: char * rl_filename_completion_function (const char *text,
-          int state)
-     A generator function for filename completion in the general case.
-     TEXT is a partial filename.  The Bash source is a useful reference
-     for writing application-specific completion functions (the Bash
-     completion functions call this and other Readline functions).
-
- -- Function: char * rl_username_completion_function (const char *text,
-          int state)
-     A completion generator for usernames.  TEXT contains a partial
-     username preceded by a random character (usually ‘~’).  As with all
-     completion generators, STATE is zero on the first call and non-zero
-     for subsequent calls.
-
-\1f
-File: rlman.info,  Node: Completion Variables,  Next: A Short Completion Example,  Prev: Completion Functions,  Up: Custom Completers
-
-2.6.3 Completion Variables
---------------------------
-
- -- Variable: rl_compentry_func_t * rl_completion_entry_function
-     A pointer to the generator function for ‘rl_completion_matches()’.
-     ‘NULL’ means to use ‘rl_filename_completion_function()’, the
-     default filename completer.
-
- -- Variable: rl_completion_func_t * rl_attempted_completion_function
-     A pointer to an alternative function to create matches.  The
-     function is called with TEXT, START, and END.  START and END are
-     indices in ‘rl_line_buffer’ defining the boundaries of TEXT, which
-     is a character string.  If this function exists and returns ‘NULL’,
-     or if this variable is set to ‘NULL’, then ‘rl_complete()’ will
-     call the value of ‘rl_completion_entry_function’ to generate
-     matches, otherwise completion will use the array of strings this
-     function returns.  If this function sets the
-     ‘rl_attempted_completion_over’ variable to a non-zero value,
-     Readline will not perform its default completion even if this
-     function returns no matches.
-
- -- Variable: rl_quote_func_t * rl_filename_quoting_function
-     A pointer to a function that will quote a filename in an
-     application-specific fashion.  Readline calls this function during
-     filename completion if one of the characters in
-     ‘rl_filename_quote_characters’ appears in a completed filename.
-     The function is called with TEXT, MATCH_TYPE, and QUOTE_POINTER.
-     The TEXT is the filename to be quoted.  The MATCH_TYPE is either
-     ‘SINGLE_MATCH’, if there is only one completion match, or
-     ‘MULT_MATCH’.  Some functions use this to decide whether or not to
-     insert a closing quote character.  The QUOTE_POINTER is a pointer
-     to any opening quote character the user typed.  Some functions
-     choose to reset this character if they decide to quote the filename
-     in a different style.  It's preferable to preserve the user's
-     quoting as much as possible - it's less disruptive.
-
- -- Variable: rl_dequote_func_t * rl_filename_dequoting_function
-     A pointer to a function that will remove application-specific
-     quoting characters from a filename before attempting completion, so
-     those characters do not interfere with matching the text against
-     names in the filesystem.  It is called with TEXT, the text of the
-     word to be dequoted, and QUOTE_CHAR, which is the quoting character
-     that delimits the filename (usually ‘'’ or ‘"’).  If QUOTE_CHAR is
-     zero, the filename was not in a quoted string.
-
- -- Variable: rl_linebuf_func_t * rl_char_is_quoted_p
-     A pointer to a function to call that determines whether or not a
-     specific character in the line buffer is quoted, according to
-     whatever quoting mechanism the application uses.  The function is
-     called with two arguments: TEXT, the text of the line, and INDEX,
-     the index of the character in the line.  It is used to decide
-     whether a character found in ‘rl_completer_word_break_characters’
-     should be used to break words for the completer.
-
- -- Variable: rl_compignore_func_t * rl_ignore_some_completions_function
-     Readline calls this function, if defined, when filename completion
-     is done, after all the matching names have been generated.  It is
-     passed a ‘NULL’ terminated array of matches.  The first element
-     (‘matches[0]’) is the maximal substring common to all matches.
-     This function can re-arrange the list of matches as required, but
-     must free each element it deletes from the array.
-
- -- Variable: rl_icppfunc_t * rl_directory_completion_hook
-     This function, if defined, is allowed to modify the directory
-     portion of filenames during completion.  It could be used to expand
-     symbolic links or shell variables in pathnames.  It is called with
-     the address of a string (the current directory name) as an
-     argument, and may modify that string.  If the string is replaced
-     with a new string, the function should free the old value.  Any
-     modified directory name should have a trailing slash.  The modified
-     value will be used as part of the completion, replacing the
-     directory portion of the pathname the user typed.  At the least,
-     even if no other expansion is performed, this function should
-     remove any quote characters from the directory name, because its
-     result will be passed directly to ‘opendir()’.
-
-     The directory completion hook returns an integer that should be
-     non-zero if the function modifies its directory argument.  The
-     function should not modify the directory argument if it returns 0.
-
- -- Variable: rl_icppfunc_t * rl_directory_rewrite_hook;
-     If non-zero, this is the address of a function to call when
-     completing a directory name.  This function takes the address of
-     the directory name to be modified as an argument.  Unlike
-     ‘rl_directory_completion_hook’, it only modifies the directory name
-     used in ‘opendir()’, not what Readline displays when it prints or
-     inserts the possible completions.  Readline calls this before
-     rl_directory_completion_hook.  At the least, even if no other
-     expansion is performed, this function should remove any quote
-     characters from the directory name, because its result will be
-     passed directly to ‘opendir()’.
-
-     The directory rewrite hook returns an integer that should be
-     non-zero if the function modifies its directory argument.  The
-     function should not modify the directory argument if it returns 0.
-
- -- Variable: rl_icppfunc_t * rl_filename_stat_hook
-     If non-zero, this is the address of a function for the completer to
-     call before deciding which character to append to a completed name.
-     This function modifies its filename name argument, and Readline
-     passes the modified value to ‘stat()’ to determine the file's type
-     and characteristics.  This function does not need to remove quote
-     characters from the filename.
-
-     The stat hook returns an integer that should be non-zero if the
-     function modifies its directory argument.  The function should not
-     modify the directory argument if it returns 0.
-
- -- Variable: rl_dequote_func_t * rl_filename_rewrite_hook
-     If non-zero, this is the address of a function called when reading
-     directory entries from the filesystem for completion and comparing
-     them to the filename portion of the partial word being completed
-     (after its potential modification by ‘rl_completion_rewrite_hook’).
-     The function should perform any necessary application or
-     system-specific conversion on the filename, such as converting
-     between character sets or converting from a filesystem format to a
-     character input format.  The function takes two arguments: FNAME,
-     the filename to be converted, and FNLEN, its length in bytes.  It
-     must either return its first argument (if no conversion takes
-     place) or the converted filename in newly-allocated memory.  The
-     converted form is used to compare against the word to be completed,
-     and, if it matches, is added to the list of matches.  Readline will
-     free the allocated string.
-
- -- Variable: rl_dequote_func_t * rl_completion_rewrite_hook
-     If non-zero, this is the address of a function to call before
-     comparing the filename portion of a word to be completed with
-     directory entries from the filesystem.  It modifies what the user
-     typed, as opposed to ‘rl_filename_rewrite_hook’, which modifies
-     filesystem entries.  The function takes two arguments: FNAME, the
-     word to be converted, after any ‘rl_filename_dequoting_function’
-     has been applied, and FNLEN, its length in bytes.  It must either
-     return its first argument (if no conversion takes place) or the
-     converted filename in newly-allocated memory.  The function should
-     perform any necessary application or system-specific conversion on
-     the filename, such as converting between character sets or
-     converting from a character input format to some other format.
-     Readline compares the converted form against directory entries,
-     after their potential modification by ‘rl_filename_rewrite_hook’,
-     and adds any matches to the list of matches.  Readline will free
-     the allocated string.
-
- -- Variable: rl_compdisp_func_t * rl_completion_display_matches_hook
-     If non-zero, then this is the address of a function to call when
-     completing a word would normally display the list of possible
-     matches.  Readline calls this function instead of displaying the
-     list itself.  It takes three arguments: (‘char **’MATCHES, ‘int’
-     NUM_MATCHES, ‘int’ MAX_LENGTH) where MATCHES is the array of
-     matching strings, NUM_MATCHES is the number of strings in that
-     array, and MAX_LENGTH is the length of the longest string in that
-     array.  Readline provides a convenience function,
-     ‘rl_display_match_list’, that takes care of doing the display to
-     Readline's output stream.  You may call that function from this
-     hook.
-
- -- Variable: const char * rl_basic_word_break_characters
-     The basic list of characters that signal a break between words for
-     the completer routine.  The default value of this variable is the
-     characters which break words for completion in Bash: ‘"
-     \t\n\"\\'`@$><=;|&{("’.
-
- -- Variable: const char * rl_basic_quote_characters
-     A list of quote characters which can cause a word break.  The
-     default value includes single and double quotes.
-
- -- Variable: const char * rl_completer_word_break_characters
-     The list of characters that signal a break between words for
-     ‘rl_complete_internal()’.  These characters determine how Readline
-     decides what to complete.  The default list is the value of
-     ‘rl_basic_word_break_characters’.
-
- -- Variable: rl_cpvfunc_t * rl_completion_word_break_hook
-     If non-zero, this is the address of a function to call when
-     Readline is deciding where to separate words for word completion.
-     It should return a character string like
-     ‘rl_completer_word_break_characters’ to be used to perform the
-     current completion.  The function may choose to set
-     ‘rl_completer_word_break_characters’ itself.  If the function
-     returns ‘NULL’, Readline uses ‘rl_completer_word_break_characters’.
-
- -- Variable: const char * rl_completer_quote_characters
-     A list of characters which can be used to quote a substring of the
-     line.  Completion occurs on the entire substring, and within the
-     substring ‘rl_completer_word_break_characters’ are treated as any
-     other character, unless they also appear within this list.
-
- -- Variable: const char * rl_filename_quote_characters
-     A list of characters that cause Readline to quote a filename when
-     they appear in a completed filename.  The default is the null
-     string.
-
- -- Variable: const char * rl_special_prefixes
-     The list of characters that are word break characters, but should
-     be left in TEXT when it is passed to the completion function.
-     Programs can use this to help determine what kind of completing to
-     do.  For instance, Bash sets this variable to "$@" so that it can
-     complete shell variables and hostnames.
-
- -- Variable: int rl_completion_query_items
-     This determines the maximum number of items that
-     possible-completions will display unconditionally.  If there are
-     more possible completions than this, Readline asks the user for
-     confirmation before displaying them.  The default value is 100.  A
-     negative value indicates that Readline should never ask for
-     confirmation.
-
- -- Variable: int rl_completion_append_character
-     When a single completion alternative matches at the end of the
-     command line, Readline appends this character to the inserted
-     completion text.  The default is a space character (‘ ’).  Setting
-     this to the null character (‘\0’) prevents anything being appended
-     automatically.  This can be changed in application-specific
-     completion functions to provide the "most sensible word separator
-     character" according to an application-specific command line syntax
-     specification.  It is set to the default before calling any
-     application-specific completion function, and may only be changed
-     within such a function.
-
- -- Variable: int rl_completion_suppress_append
-     If non-zero, Readline will not append the
-     RL_COMPLETION_APPEND_CHARACTER to matches at the end of the command
-     line, as described above.  It is set to 0 before calling any
-     application-specific completion function, and may only be changed
-     within such a function.
-
- -- Variable: int rl_completion_suppress_quote
-     If non-zero, Readline does not append a matching quote character
-     when performing completion on a quoted string.  It is set to 0
-     before calling any application-specific completion function, and
-     may only be changed within such a function.
-
- -- Variable: int rl_completion_found_quote
-     When Readline is completing quoted text, it sets this variable to a
-     non-zero value if the word being completed contains or is delimited
-     by any quoting characters, including backslashes.  This is set
-     before calling any application-specific completion function.
-
- -- Variable: int rl_completion_quote_character
-     When Readline is completing quoted text, as delimited by one of the
-     characters in RL_COMPLETER_QUOTE_CHARACTERS, it sets this variable
-     to the quoting character it found.  This is set before calling any
-     application-specific completion function.
-
- -- Variable: int rl_completion_mark_symlink_dirs
-     If non-zero, Readline appends a slash to completed filenames that
-     are symbolic links to directory names, subject to the value of the
-     user-settable MARK-DIRECTORIES variable.  This variable exists so
-     that application-specific completion functions can override the
-     user's global preference (set via the MARK-SYMLINKED-DIRECTORIES
-     Readline variable) if appropriate.  This variable is set to the
-     user's preference before calling any application-specific
-     completion function, so unless that function modifies the value,
-     Readline will honor the user's preferences.
-
- -- Variable: int rl_ignore_completion_duplicates
-     If non-zero, then Readline removes duplicates in the set of
-     possible completions.  The default is 1.
-
- -- Variable: int rl_filename_completion_desired
-     Non-zero means that the results of the matches are to be treated as
-     filenames.  This is _always_ zero when completion is attempted, and
-     can only be changed within an application-specific completion
-     function.  If it is set to a non-zero value by such a function,
-     directory names have a slash appended and Readline attempts to
-     quote completed filenames if they contain any characters in
-     ‘rl_filename_quote_characters’ and ‘rl_filename_quoting_desired’ is
-     set to a non-zero value.
-
- -- Variable: int rl_filename_quoting_desired
-     Non-zero means that the results of the matches are to be quoted
-     using double quotes (or an application-specific quoting mechanism)
-     if the completed filename contains any characters in
-     ‘rl_filename_quote_chars’.  This is _always_ non-zero when
-     completion is attempted, and can only be changed within an
-     application-specific completion function.  The quoting is performed
-     via a call to the function pointed to by
-     ‘rl_filename_quoting_function’.
-
- -- Variable: int rl_full_quoting_desired
-     Non-zero means that Readline should apply filename-style quoting,
-     including any application-specified quoting mechanism, to all
-     completion matches even if we are not otherwise treating the
-     matches as filenames.  This is _always_ zero when completion is
-     attempted, and can only be changed within an application-specific
-     completion function.  The quoting is effected via a call to the
-     function pointed to by ‘rl_filename_quoting_function’.
-
- -- Variable: int rl_attempted_completion_over
-     If an application-specific completion function assigned to
-     ‘rl_attempted_completion_function’ sets this variable to a non-zero
-     value, Readline will not perform its default filename completion
-     even if the application's completion function returns no matches.
-     It should be set only by an application's completion function.
-
- -- Variable: int rl_sort_completion_matches
-     If an application sets this variable to 0, Readline will not sort
-     the list of completions (which implies that it cannot remove any
-     duplicate completions).  The default value is 1, which means that
-     Readline will sort the completions and, depending on the value of
-     ‘rl_ignore_completion_duplicates’, will attempt to remove duplicate
-     matches.
-
- -- Variable: int rl_completion_type
-     Set to a character describing the type of completion Readline is
-     currently attempting; see the description of
-     ‘rl_complete_internal()’ (*note Completion Functions::) for the
-     list of characters.  This is set to the appropriate value before
-     calling any application-specific completion function, so these
-     functions can present the same interface as ‘rl_complete()’.
-
- -- Variable: int rl_completion_invoking_key
-     Set to the final character in the key sequence that invoked one of
-     the completion functions that call ‘rl_complete_internal()’.  This
-     is set to the appropriate value before calling any
-     application-specific completion function.
-
- -- Variable: int rl_inhibit_completion
-     If this variable is non-zero, Readline does not perform completion,
-     even if a key binding indicates it should.  The completion
-     character will be inserted as any other bound to ‘self-insert’.
-
-\1f
-File: rlman.info,  Node: A Short Completion Example,  Prev: Completion Variables,  Up: Custom Completers
-
-2.6.4 A Short Completion Example
---------------------------------
-
-Here is a small application demonstrating the use of the GNU Readline
-library.  It is called ‘fileman’, and the source code resides in
-‘examples/fileman.c’.  This sample application provides command name
-completion, line editing features, and access to the history list.
-
-     /* fileman.c -- A tiny application which demonstrates how to use the
-        GNU Readline library.  This application interactively allows users
-        to manipulate files and their modes. */
-
-     #ifdef HAVE_CONFIG_H
-     #  include <config.h>
-     #endif
-
-     #include <sys/types.h>
-     #ifdef HAVE_SYS_FILE_H
-     #  include <sys/file.h>
-     #endif
-     #include <sys/stat.h>
-
-     #ifdef HAVE_UNISTD_H
-     #  include <unistd.h>
-     #endif
-
-     #include <fcntl.h>
-     #include <stdio.h>
-     #include <errno.h>
-     #include <locale.h>
-
-     #if defined (HAVE_STRING_H)
-     #  include <string.h>
-     #else /* !HAVE_STRING_H */
-     #  include <strings.h>
-     #endif /* !HAVE_STRING_H */
-
-     #ifdef HAVE_STDLIB_H
-     #  include <stdlib.h>
-     #endif
-
-     #include <time.h>
-
-     #include <readline/readline.h>
-     #include <readline/history.h>
-
-     extern char *xmalloc PARAMS((size_t));
-
-     /* The names of functions that actually do the manipulation. */
-     int com_list PARAMS((char *));
-     int com_view PARAMS((char *));
-     int com_rename PARAMS((char *));
-     int com_stat PARAMS((char *));
-     int com_pwd PARAMS((char *));
-     int com_delete PARAMS((char *));
-     int com_help PARAMS((char *));
-     int com_cd PARAMS((char *));
-     int com_quit PARAMS((char *));
-
-     /* A structure which contains information on the commands this program
-        can understand. */
-
-     typedef struct {
-       char *name;                     /* User printable name of the function. */
-       rl_icpfunc_t *func;             /* Function to call to do the job. */
-       char *doc;                      /* Documentation for this function.  */
-     } COMMAND;
-
-     COMMAND commands[] = {
-       { "cd", com_cd, "Change to directory DIR" },
-       { "delete", com_delete, "Delete FILE" },
-       { "help", com_help, "Display this text" },
-       { "?", com_help, "Synonym for `help'" },
-       { "list", com_list, "List files in DIR" },
-       { "ls", com_list, "Synonym for `list'" },
-       { "pwd", com_pwd, "Print the current working directory" },
-       { "quit", com_quit, "Quit using Fileman" },
-       { "rename", com_rename, "Rename FILE to NEWNAME" },
-       { "stat", com_stat, "Print out statistics on FILE" },
-       { "view", com_view, "View the contents of FILE" },
-       { (char *)NULL, (rl_icpfunc_t *)NULL, (char *)NULL }
-     };
-
-     /* Forward declarations. */
-     char *stripwhite (char *);
-     COMMAND *find_command (char *);
-
-     /* The name of this program, as taken from argv[0]. */
-     char *progname;
-
-     /* When non-zero, this global means the user is done using this program. */
-     int done;
-
-     char *
-     dupstr (char *s)
-     {
-       char *r;
-
-       r = xmalloc (strlen (s) + 1);
-       strcpy (r, s);
-       return (r);
-     }
-
-     int
-     main (int argc, char **argv)
-     {
-       char *line, *s;
-
-       setlocale (LC_ALL, "");
-
-       progname = argv[0];
-
-       initialize_readline (); /* Bind our completer. */
-
-       /* Loop reading and executing lines until the user quits. */
-       for ( ; done == 0; )
-         {
-           line = readline ("FileMan: ");
-
-           if (!line)
-             break;
-
-           /* Remove leading and trailing whitespace from the line.
-              Then, if there is anything left, add it to the history list
-              and execute it. */
-           s = stripwhite (line);
-
-           if (*s)
-             {
-               add_history (s);
-               execute_line (s);
-             }
-
-           free (line);
-         }
-       exit (0);
-     }
-
-     /* Execute a command line. */
-     int
-     execute_line (char *line)
-     {
-       register int i;
-       COMMAND *command;
-       char *word;
-
-       /* Isolate the command word. */
-       i = 0;
-       while (line[i] && whitespace (line[i]))
-         i++;
-       word = line + i;
-
-       while (line[i] && !whitespace (line[i]))
-         i++;
-
-       if (line[i])
-         line[i++] = '\0';
-
-       command = find_command (word);
-
-       if (!command)
-         {
-           fprintf (stderr, "%s: No such command for FileMan.\n", word);
-           return (-1);
-         }
-
-       /* Get argument to command, if any. */
-       while (whitespace (line[i]))
-         i++;
-
-       word = line + i;
-
-       /* Call the function. */
-       return ((*(command->func)) (word));
-     }
-
-     /* Look up NAME as the name of a command, and return a pointer to that
-        command.  Return a NULL pointer if NAME isn't a command name. */
-     COMMAND *
-     find_command (char *name)
-     {
-       register int i;
-
-       for (i = 0; commands[i].name; i++)
-         if (strcmp (name, commands[i].name) == 0)
-           return (&commands[i]);
-
-       return ((COMMAND *)NULL);
-     }
-
-     /* Strip whitespace from the start and end of STRING.  Return a pointer
-        into STRING. */
-     char *
-     stripwhite (char *string)
-     {
-       register char *s, *t;
-
-       for (s = string; whitespace (*s); s++)
-         ;
-
-       if (*s == 0)
-         return (s);
-
-       t = s + strlen (s) - 1;
-       while (t > s && whitespace (*t))
-         t--;
-       *++t = '\0';
-
-       return s;
-     }
-
-     /* **************************************************************** */
-     /*                                                                  */
-     /*                  Interface to Readline Completion                */
-     /*                                                                  */
-     /* **************************************************************** */
-
-     char *command_generator (const char *, int);
-     char **fileman_completion (const char *, int, int);
-
-     /* Tell the GNU Readline library how to complete.  We want to try to complete
-        on command names if this is the first word in the line, or on filenames
-        if not. */
-     void
-     initialize_readline (void)
-     {
-       /* Allow conditional parsing of the ~/.inputrc file. */
-       rl_readline_name = "FileMan";
-
-       /* Tell the completer that we want a crack first. */
-       rl_attempted_completion_function = fileman_completion;
-     }
-
-     /* Attempt to complete on the contents of TEXT.  START and END bound the
-        region of rl_line_buffer that contains the word to complete.  TEXT is
-        the word to complete.  We can use the entire contents of rl_line_buffer
-        in case we want to do some simple parsing.  Return the array of matches,
-        or NULL if there aren't any. */
-     char **
-     fileman_completion (const char *text, int start, int end)
-     {
-       char **matches;
-
-       matches = (char **)NULL;
-
-       /* If this word is at the start of the line, then it is a command
-          to complete.  Otherwise it is the name of a file in the current
-          directory. */
-       if (start == 0)
-         matches = rl_completion_matches (text, command_generator);
-
-       return (matches);
-     }
-
-     /* Generator function for command completion.  STATE lets us know whether
-        to start from scratch; without any state (i.e. STATE == 0), then we
-        start at the top of the list. */
-     char *
-     command_generator (const char *text, int state)
-     {
-       static int list_index, len;
-       char *name;
-
-       /* If this is a new word to complete, initialize now.  This includes
-          saving the length of TEXT for efficiency, and initializing the index
-          variable to 0. */
-       if (!state)
-         {
-           list_index = 0;
-           len = strlen (text);
-         }
-
-       /* Return the next name which partially matches from the command list. */
-       while (name = commands[list_index].name)
-         {
-           list_index++;
-
-           if (strncmp (name, text, len) == 0)
-             return (dupstr(name));
-         }
-
-       /* If no names matched, then return NULL. */
-       return ((char *)NULL);
-     }
-
-     /* **************************************************************** */
-     /*                                                                  */
-     /*                       FileMan Commands                           */
-     /*                                                                  */
-     /* **************************************************************** */
-
-     /* String to pass to system ().  This is for the LIST, VIEW and RENAME
-        commands. */
-     static char syscom[1024];
-
-     /* List the file(s) named in arg. */
-     int
-     com_list (char *arg)
-     {
-       if (!arg)
-         arg = "";
-
-       snprintf (syscom, sizeof (syscom), "ls -FClg %s", arg);
-       return (system (syscom));
-     }
-
-     int
-     com_view (char *arg)
-     {
-       if (!valid_argument ("view", arg))
-         return 1;
-
-     #if defined (__MSDOS__)
-       /* more.com doesn't grok slashes in pathnames */
-       snprintf (syscom, sizeof (syscom), "less %s", arg);
-     #else
-       snprintf (syscom, sizeof (syscom), "more %s", arg);
-     #endif
-       return (system (syscom));
-     }
-
-     int
-     com_rename (char *arg)
-     {
-       too_dangerous ("rename");
-       return (1);
-     }
-
-     int
-     com_stat (char *arg)
-     {
-       struct stat finfo;
-
-       if (!valid_argument ("stat", arg))
-         return (1);
-
-       if (stat (arg, &finfo) == -1)
-         {
-           perror (arg);
-           return (1);
-         }
-
-       printf ("Statistics for `%s':\n", arg);
-
-       printf ("%s has %d link%s, and is %d byte%s in length.\n",
-         arg,
-               finfo.st_nlink,
-               (finfo.st_nlink == 1) ? "" : "s",
-               finfo.st_size,
-               (finfo.st_size == 1) ? "" : "s");
-       printf ("Inode Last Change at: %s", ctime (&finfo.st_ctime));
-       printf ("      Last access at: %s", ctime (&finfo.st_atime));
-       printf ("    Last modified at: %s", ctime (&finfo.st_mtime));
-       return (0);
-     }
-
-     int
-     com_delete (char *arg)
-     {
-       too_dangerous ("delete");
-       return (1);
-     }
-
-     /* Print out help for ARG, or for all of the commands if ARG is
-        not present. */
-     int
-     com_help (char *arg)
-     {
-       register int i;
-       int printed = 0;
-
-       for (i = 0; commands[i].name; i++)
-         {
-           if (!*arg || (strcmp (arg, commands[i].name) == 0))
-             {
-               printf ("%s\t\t%s.\n", commands[i].name, commands[i].doc);
-               printed++;
-             }
-         }
-
-       if (!printed)
-         {
-           printf ("No commands match `%s'.  Possibilities are:\n", arg);
-
-           for (i = 0; commands[i].name; i++)
-             {
-               /* Print in six columns. */
-               if (printed == 6)
-                 {
-                   printed = 0;
-                   printf ("\n");
-                 }
-
-               printf ("%s\t", commands[i].name);
-               printed++;
-             }
-
-           if (printed)
-             printf ("\n");
-         }
-       return (0);
-     }
-
-     /* Change to the directory ARG. */
-     int
-     com_cd (char *arg)
-     {
-       if (chdir (arg) == -1)
-         {
-           perror (arg);
-           return 1;
-         }
-
-       com_pwd ("");
-       return (0);
-     }
-
-     /* Print out the current working directory. */
-     int
-     com_pwd (char *ignore)
-     {
-       char dir[1024], *s;
-
-       s = getcwd (dir, sizeof(dir) - 1);
-       if (s == 0)
-         {
-           printf ("Error getting pwd: %s\n", dir);
-           return 1;
-         }
-
-       printf ("Current directory is %s\n", dir);
-       return 0;
-     }
-
-     /* The user wishes to quit using this program.  Just set DONE non-zero. */
-     int
-     com_quit (char *arg)
-     {
-       done = 1;
-       return (0);
-     }
-
-     /* Function which tells you that you can't do this. */
-     void
-     too_dangerous (char *caller)
-     {
-       fprintf (stderr,
-                "%s: Too dangerous for me to distribute.  Write it yourself.\n",
-                caller);
-     }
-
-     /* Return non-zero if ARG is a valid argument for CALLER, else print
-        an error message and return zero. */
-     int
-     valid_argument (char *caller, char *arg)
-     {
-       if (!arg || !*arg)
-         {
-           fprintf (stderr, "%s: Argument required.\n", caller);
-           return (0);
-         }
-
-       return (1);
-     }
-
-\1f
-File: rlman.info,  Node: GNU Free Documentation License,  Next: Concept Index,  Prev: Programming with GNU Readline,  Up: Top
-
-Appendix A GNU Free Documentation License
-*****************************************
-
-                     Version 1.3, 3 November 2008
-
-     Copyright © 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc.
-     <http://fsf.org/>
-
-     Everyone is permitted to copy and distribute verbatim copies
-     of this license document, but changing it is not allowed.
-
-  0. PREAMBLE
-
-     The purpose of this License is to make a manual, textbook, or other
-     functional and useful document “free” in the sense of freedom: to
-     assure everyone the effective freedom to copy and redistribute it,
-     with or without modifying it, either commercially or
-     noncommercially.  Secondarily, this License preserves for the
-     author and publisher a way to get credit for their work, while not
-     being considered responsible for modifications made by others.
-
-     This License is a kind of "copyleft", which means that derivative
-     works of the document must themselves be free in the same sense.
-     It complements the GNU General Public License, which is a copyleft
-     license designed for free software.
-
-     We have designed this License in order to use it for manuals for
-     free software, because free software needs free documentation: a
-     free program should come with manuals providing the same freedoms
-     that the software does.  But this License is not limited to
-     software manuals; it can be used for any textual work, regardless
-     of subject matter or whether it is published as a printed book.  We
-     recommend this License principally for works whose purpose is
-     instruction or reference.
-
-  1. APPLICABILITY AND DEFINITIONS
-
-     This License applies to any manual or other work, in any medium,
-     that contains a notice placed by the copyright holder saying it can
-     be distributed under the terms of this License.  Such a notice
-     grants a world-wide, royalty-free license, unlimited in duration,
-     to use that work under the conditions stated herein.  The
-     "Document", below, refers to any such manual or work.  Any member
-     of the public is a licensee, and is addressed as "you".  You accept
-     the license if you copy, modify or distribute the work in a way
-     requiring permission under copyright law.
-
-     A "Modified Version" of the Document means any work containing the
-     Document or a portion of it, either copied verbatim, or with
-     modifications and/or translated into another language.
-
-     A "Secondary Section" is a named appendix or a front-matter section
-     of the Document that deals exclusively with the relationship of the
-     publishers or authors of the Document to the Document's overall
-     subject (or to related matters) and contains nothing that could
-     fall directly within that overall subject.  (Thus, if the Document
-     is in part a textbook of mathematics, a Secondary Section may not
-     explain any mathematics.)  The relationship could be a matter of
-     historical connection with the subject or with related matters, or
-     of legal, commercial, philosophical, ethical or political position
-     regarding them.
-
-     The "Invariant Sections" are certain Secondary Sections whose
-     titles are designated, as being those of Invariant Sections, in the
-     notice that says that the Document is released under this License.
-     If a section does not fit the above definition of Secondary then it
-     is not allowed to be designated as Invariant.  The Document may
-     contain zero Invariant Sections.  If the Document does not identify
-     any Invariant Sections then there are none.
-
-     The "Cover Texts" are certain short passages of text that are
-     listed, as Front-Cover Texts or Back-Cover Texts, in the notice
-     that says that the Document is released under this License.  A
-     Front-Cover Text may be at most 5 words, and a Back-Cover Text may
-     be at most 25 words.
-
-     A "Transparent" copy of the Document means a machine-readable copy,
-     represented in a format whose specification is available to the
-     general public, that is suitable for revising the document
-     straightforwardly with generic text editors or (for images composed
-     of pixels) generic paint programs or (for drawings) some widely
-     available drawing editor, and that is suitable for input to text
-     formatters or for automatic translation to a variety of formats
-     suitable for input to text formatters.  A copy made in an otherwise
-     Transparent file format whose markup, or absence of markup, has
-     been arranged to thwart or discourage subsequent modification by
-     readers is not Transparent.  An image format is not Transparent if
-     used for any substantial amount of text.  A copy that is not
-     "Transparent" is called "Opaque".
-
-     Examples of suitable formats for Transparent copies include plain
-     ASCII without markup, Texinfo input format, LaTeX input format,
-     SGML or XML using a publicly available DTD, and standard-conforming
-     simple HTML, PostScript or PDF designed for human modification.
-     Examples of transparent image formats include PNG, XCF and JPG.
-     Opaque formats include proprietary formats that can be read and
-     edited only by proprietary word processors, SGML or XML for which
-     the DTD and/or processing tools are not generally available, and
-     the machine-generated HTML, PostScript or PDF produced by some word
-     processors for output purposes only.
-
-     The "Title Page" means, for a printed book, the title page itself,
-     plus such following pages as are needed to hold, legibly, the
-     material this License requires to appear in the title page.  For
-     works in formats which do not have any title page as such, "Title
-     Page" means the text near the most prominent appearance of the
-     work's title, preceding the beginning of the body of the text.
-
-     The "publisher" means any person or entity that distributes copies
-     of the Document to the public.
-
-     A section "Entitled XYZ" means a named subunit of the Document
-     whose title either is precisely XYZ or contains XYZ in parentheses
-     following text that translates XYZ in another language.  (Here XYZ
-     stands for a specific section name mentioned below, such as
-     "Acknowledgements", "Dedications", "Endorsements", or "History".)
-     To "Preserve the Title" of such a section when you modify the
-     Document means that it remains a section "Entitled XYZ" according
-     to this definition.
-
-     The Document may include Warranty Disclaimers next to the notice
-     which states that this License applies to the Document.  These
-     Warranty Disclaimers are considered to be included by reference in
-     this License, but only as regards disclaiming warranties: any other
-     implication that these Warranty Disclaimers may have is void and
-     has no effect on the meaning of this License.
-
-  2. VERBATIM COPYING
-
-     You may copy and distribute the Document in any medium, either
-     commercially or noncommercially, provided that this License, the
-     copyright notices, and the license notice saying this License
-     applies to the Document are reproduced in all copies, and that you
-     add no other conditions whatsoever to those of this License.  You
-     may not use technical measures to obstruct or control the reading
-     or further copying of the copies you make or distribute.  However,
-     you may accept compensation in exchange for copies.  If you
-     distribute a large enough number of copies you must also follow the
-     conditions in section 3.
-
-     You may also lend copies, under the same conditions stated above,
-     and you may publicly display copies.
-
-  3. COPYING IN QUANTITY
-
-     If you publish printed copies (or copies in media that commonly
-     have printed covers) of the Document, numbering more than 100, and
-     the Document's license notice requires Cover Texts, you must
-     enclose the copies in covers that carry, clearly and legibly, all
-     these Cover Texts: Front-Cover Texts on the front cover, and
-     Back-Cover Texts on the back cover.  Both covers must also clearly
-     and legibly identify you as the publisher of these copies.  The
-     front cover must present the full title with all words of the title
-     equally prominent and visible.  You may add other material on the
-     covers in addition.  Copying with changes limited to the covers, as
-     long as they preserve the title of the Document and satisfy these
-     conditions, can be treated as verbatim copying in other respects.
-
-     If the required texts for either cover are too voluminous to fit
-     legibly, you should put the first ones listed (as many as fit
-     reasonably) on the actual cover, and continue the rest onto
-     adjacent pages.
-
-     If you publish or distribute Opaque copies of the Document
-     numbering more than 100, you must either include a machine-readable
-     Transparent copy along with each Opaque copy, or state in or with
-     each Opaque copy a computer-network location from which the general
-     network-using public has access to download using public-standard
-     network protocols a complete Transparent copy of the Document, free
-     of added material.  If you use the latter option, you must take
-     reasonably prudent steps, when you begin distribution of Opaque
-     copies in quantity, to ensure that this Transparent copy will
-     remain thus accessible at the stated location until at least one
-     year after the last time you distribute an Opaque copy (directly or
-     through your agents or retailers) of that edition to the public.
-
-     It is requested, but not required, that you contact the authors of
-     the Document well before redistributing any large number of copies,
-     to give them a chance to provide you with an updated version of the
-     Document.
-
-  4. MODIFICATIONS
-
-     You may copy and distribute a Modified Version of the Document
-     under the conditions of sections 2 and 3 above, provided that you
-     release the Modified Version under precisely this License, with the
-     Modified Version filling the role of the Document, thus licensing
-     distribution and modification of the Modified Version to whoever
-     possesses a copy of it.  In addition, you must do these things in
-     the Modified Version:
-
-       A. Use in the Title Page (and on the covers, if any) a title
-          distinct from that of the Document, and from those of previous
-          versions (which should, if there were any, be listed in the
-          History section of the Document).  You may use the same title
-          as a previous version if the original publisher of that
-          version gives permission.
-
-       B. List on the Title Page, as authors, one or more persons or
-          entities responsible for authorship of the modifications in
-          the Modified Version, together with at least five of the
-          principal authors of the Document (all of its principal
-          authors, if it has fewer than five), unless they release you
-          from this requirement.
-
-       C. State on the Title page the name of the publisher of the
-          Modified Version, as the publisher.
-
-       D. Preserve all the copyright notices of the Document.
-
-       E. Add an appropriate copyright notice for your modifications
-          adjacent to the other copyright notices.
-
-       F. Include, immediately after the copyright notices, a license
-          notice giving the public permission to use the Modified
-          Version under the terms of this License, in the form shown in
-          the Addendum below.
-
-       G. Preserve in that license notice the full lists of Invariant
-          Sections and required Cover Texts given in the Document's
-          license notice.
-
-       H. Include an unaltered copy of this License.
-
-       I. Preserve the section Entitled "History", Preserve its Title,
-          and add to it an item stating at least the title, year, new
-          authors, and publisher of the Modified Version as given on the
-          Title Page.  If there is no section Entitled "History" in the
-          Document, create one stating the title, year, authors, and
-          publisher of the Document as given on its Title Page, then add
-          an item describing the Modified Version as stated in the
-          previous sentence.
-
-       J. Preserve the network location, if any, given in the Document
-          for public access to a Transparent copy of the Document, and
-          likewise the network locations given in the Document for
-          previous versions it was based on.  These may be placed in the
-          "History" section.  You may omit a network location for a work
-          that was published at least four years before the Document
-          itself, or if the original publisher of the version it refers
-          to gives permission.
-
-       K. For any section Entitled "Acknowledgements" or "Dedications",
-          Preserve the Title of the section, and preserve in the section
-          all the substance and tone of each of the contributor
-          acknowledgements and/or dedications given therein.
-
-       L. Preserve all the Invariant Sections of the Document, unaltered
-          in their text and in their titles.  Section numbers or the
-          equivalent are not considered part of the section titles.
-
-       M. Delete any section Entitled "Endorsements".  Such a section
-          may not be included in the Modified Version.
-
-       N. Do not retitle any existing section to be Entitled
-          "Endorsements" or to conflict in title with any Invariant
-          Section.
-
-       O. Preserve any Warranty Disclaimers.
-
-     If the Modified Version includes new front-matter sections or
-     appendices that qualify as Secondary Sections and contain no
-     material copied from the Document, you may at your option designate
-     some or all of these sections as invariant.  To do this, add their
-     titles to the list of Invariant Sections in the Modified Version's
-     license notice.  These titles must be distinct from any other
-     section titles.
-
-     You may add a section Entitled "Endorsements", provided it contains
-     nothing but endorsements of your Modified Version by various
-     parties--for example, statements of peer review or that the text
-     has been approved by an organization as the authoritative
-     definition of a standard.
-
-     You may add a passage of up to five words as a Front-Cover Text,
-     and a passage of up to 25 words as a Back-Cover Text, to the end of
-     the list of Cover Texts in the Modified Version.  Only one passage
-     of Front-Cover Text and one of Back-Cover Text may be added by (or
-     through arrangements made by) any one entity.  If the Document
-     already includes a cover text for the same cover, previously added
-     by you or by arrangement made by the same entity you are acting on
-     behalf of, you may not add another; but you may replace the old
-     one, on explicit permission from the previous publisher that added
-     the old one.
-
-     The author(s) and publisher(s) of the Document do not by this
-     License give permission to use their names for publicity for or to
-     assert or imply endorsement of any Modified Version.
-
-  5. COMBINING DOCUMENTS
-
-     You may combine the Document with other documents released under
-     this License, under the terms defined in section 4 above for
-     modified versions, provided that you include in the combination all
-     of the Invariant Sections of all of the original documents,
-     unmodified, and list them all as Invariant Sections of your
-     combined work in its license notice, and that you preserve all
-     their Warranty Disclaimers.
-
-     The combined work need only contain one copy of this License, and
-     multiple identical Invariant Sections may be replaced with a single
-     copy.  If there are multiple Invariant Sections with the same name
-     but different contents, make the title of each such section unique
-     by adding at the end of it, in parentheses, the name of the
-     original author or publisher of that section if known, or else a
-     unique number.  Make the same adjustment to the section titles in
-     the list of Invariant Sections in the license notice of the
-     combined work.
-
-     In the combination, you must combine any sections Entitled
-     "History" in the various original documents, forming one section
-     Entitled "History"; likewise combine any sections Entitled
-     "Acknowledgements", and any sections Entitled "Dedications".  You
-     must delete all sections Entitled "Endorsements."
-
-  6. COLLECTIONS OF DOCUMENTS
-
-     You may make a collection consisting of the Document and other
-     documents released under this License, and replace the individual
-     copies of this License in the various documents with a single copy
-     that is included in the collection, provided that you follow the
-     rules of this License for verbatim copying of each of the documents
-     in all other respects.
-
-     You may extract a single document from such a collection, and
-     distribute it individually under this License, provided you insert
-     a copy of this License into the extracted document, and follow this
-     License in all other respects regarding verbatim copying of that
-     document.
-
-  7. AGGREGATION WITH INDEPENDENT WORKS
-
-     A compilation of the Document or its derivatives with other
-     separate and independent documents or works, in or on a volume of a
-     storage or distribution medium, is called an "aggregate" if the
-     copyright resulting from the compilation is not used to limit the
-     legal rights of the compilation's users beyond what the individual
-     works permit.  When the Document is included in an aggregate, this
-     License does not apply to the other works in the aggregate which
-     are not themselves derivative works of the Document.
-
-     If the Cover Text requirement of section 3 is applicable to these
-     copies of the Document, then if the Document is less than one half
-     of the entire aggregate, the Document's Cover Texts may be placed
-     on covers that bracket the Document within the aggregate, or the
-     electronic equivalent of covers if the Document is in electronic
-     form.  Otherwise they must appear on printed covers that bracket
-     the whole aggregate.
-
-  8. TRANSLATION
-
-     Translation is considered a kind of modification, so you may
-     distribute translations of the Document under the terms of section
-     4.  Replacing Invariant Sections with translations requires special
-     permission from their copyright holders, but you may include
-     translations of some or all Invariant Sections in addition to the
-     original versions of these Invariant Sections.  You may include a
-     translation of this License, and all the license notices in the
-     Document, and any Warranty Disclaimers, provided that you also
-     include the original English version of this License and the
-     original versions of those notices and disclaimers.  In case of a
-     disagreement between the translation and the original version of
-     this License or a notice or disclaimer, the original version will
-     prevail.
-
-     If a section in the Document is Entitled "Acknowledgements",
-     "Dedications", or "History", the requirement (section 4) to
-     Preserve its Title (section 1) will typically require changing the
-     actual title.
-
-  9. TERMINATION
-
-     You may not copy, modify, sublicense, or distribute the Document
-     except as expressly provided under this License.  Any attempt
-     otherwise to copy, modify, sublicense, or distribute it is void,
-     and will automatically terminate your rights under this License.
-
-     However, if you cease all violation of this License, then your
-     license from a particular copyright holder is reinstated (a)
-     provisionally, unless and until the copyright holder explicitly and
-     finally terminates your license, and (b) permanently, if the
-     copyright holder fails to notify you of the violation by some
-     reasonable means prior to 60 days after the cessation.
-
-     Moreover, your license from a particular copyright holder is
-     reinstated permanently if the copyright holder notifies you of the
-     violation by some reasonable means, this is the first time you have
-     received notice of violation of this License (for any work) from
-     that copyright holder, and you cure the violation prior to 30 days
-     after your receipt of the notice.
-
-     Termination of your rights under this section does not terminate
-     the licenses of parties who have received copies or rights from you
-     under this License.  If your rights have been terminated and not
-     permanently reinstated, receipt of a copy of some or all of the
-     same material does not give you any rights to use it.
-
-  10. FUTURE REVISIONS OF THIS LICENSE
-
-     The Free Software Foundation may publish new, revised versions of
-     the GNU Free Documentation License from time to time.  Such new
-     versions will be similar in spirit to the present version, but may
-     differ in detail to address new problems or concerns.  See
-     <http://www.gnu.org/copyleft/>.
-
-     Each version of the License is given a distinguishing version
-     number.  If the Document specifies that a particular numbered
-     version of this License "or any later version" applies to it, you
-     have the option of following the terms and conditions either of
-     that specified version or of any later version that has been
-     published (not as a draft) by the Free Software Foundation.  If the
-     Document does not specify a version number of this License, you may
-     choose any version ever published (not as a draft) by the Free
-     Software Foundation.  If the Document specifies that a proxy can
-     decide which future versions of this License can be used, that
-     proxy's public statement of acceptance of a version permanently
-     authorizes you to choose that version for the Document.
-
-  11. RELICENSING
-
-     "Massive Multiauthor Collaboration Site" (or "MMC Site") means any
-     World Wide Web server that publishes copyrightable works and also
-     provides prominent facilities for anybody to edit those works.  A
-     public wiki that anybody can edit is an example of such a server.
-     A "Massive Multiauthor Collaboration" (or "MMC") contained in the
-     site means any set of copyrightable works thus published on the MMC
-     site.
-
-     "CC-BY-SA" means the Creative Commons Attribution-Share Alike 3.0
-     license published by Creative Commons Corporation, a not-for-profit
-     corporation with a principal place of business in San Francisco,
-     California, as well as future copyleft versions of that license
-     published by that same organization.
-
-     "Incorporate" means to publish or republish a Document, in whole or
-     in part, as part of another Document.
-
-     An MMC is "eligible for relicensing" if it is licensed under this
-     License, and if all works that were first published under this
-     License somewhere other than this MMC, and subsequently
-     incorporated in whole or in part into the MMC, (1) had no cover
-     texts or invariant sections, and (2) were thus incorporated prior
-     to November 1, 2008.
-
-     The operator of an MMC Site may republish an MMC contained in the
-     site under CC-BY-SA on the same site at any time before August 1,
-     2009, provided the MMC is eligible for relicensing.
-
-ADDENDUM: How to use this License for your documents
-====================================================
-
-To use this License in a document you have written, include a copy of
-the License in the document and put the following copyright and license
-notices just after the title page:
-
-       Copyright (C)  YEAR  YOUR NAME.
-       Permission is granted to copy, distribute and/or modify this document
-       under the terms of the GNU Free Documentation License, Version 1.3
-       or any later version published by the Free Software Foundation;
-       with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
-       Texts.  A copy of the license is included in the section entitled ``GNU
-       Free Documentation License''.
-
-   If you have Invariant Sections, Front-Cover Texts and Back-Cover
-Texts, replace the "with...Texts."  line with this:
-
-         with the Invariant Sections being LIST THEIR TITLES, with
-         the Front-Cover Texts being LIST, and with the Back-Cover Texts
-         being LIST.
-
-   If you have Invariant Sections without Cover Texts, or some other
-combination of the three, merge those two alternatives to suit the
-situation.
-
-   If your document contains nontrivial examples of program code, we
-recommend releasing these examples in parallel under your choice of free
-software license, such as the GNU General Public License, to permit
-their use in free software.
-
-\1f
-File: rlman.info,  Node: Concept Index,  Next: Function and Variable Index,  Prev: GNU Free Documentation License,  Up: Top
-
-Concept Index
-*************
-
-\0\b[index\0\b]
-* Menu:
-
-* application-specific completion functions: Custom Completers.
-                                                               (line  6)
-* command editing:                       Readline Bare Essentials.
-                                                               (line  6)
-* editing command lines:                 Readline Bare Essentials.
-                                                               (line  6)
-* initialization file, readline:         Readline Init File.   (line  6)
-* interaction, readline:                 Readline Interaction. (line  6)
-* kill ring:                             Readline Killing Commands.
-                                                               (line 18)
-* killing text:                          Readline Killing Commands.
-                                                               (line  6)
-* notation, readline:                    Readline Bare Essentials.
-                                                               (line  6)
-* readline, function:                    Basic Behavior.       (line 11)
-* variables, readline:                   Readline Init File Syntax.
-                                                               (line 34)
-* yanking text:                          Readline Killing Commands.
-                                                               (line  6)
-
-\1f
-File: rlman.info,  Node: Function and Variable Index,  Prev: Concept Index,  Up: Top
-
-Function and Variable Index
-***************************
-
-\0\b[index\0\b]
-* Menu:
-
-* _rl_digit_p:                           Utility Functions.   (line  59)
-* _rl_digit_value:                       Utility Functions.   (line  70)
-* _rl_lowercase_p:                       Utility Functions.   (line  56)
-* _rl_to_lower:                          Utility Functions.   (line  66)
-* _rl_to_upper:                          Utility Functions.   (line  62)
-* _rl_uppercase_p:                       Utility Functions.   (line  53)
-* abort (C-g):                           Miscellaneous Commands.
-                                                              (line  10)
-* accept-line (Newline or Return):       Commands For History.
-                                                              (line   6)
-* active-region-end-color:               Readline Init File Syntax.
-                                                              (line  48)
-* active-region-start-color:             Readline Init File Syntax.
-                                                              (line  35)
-* backward-char (C-b):                   Commands For Moving. (line  17)
-* backward-delete-char (Rubout):         Commands For Text.   (line  17)
-* backward-kill-line (C-x Rubout):       Commands For Killing.
-                                                              (line  11)
-* backward-kill-word (M-<DEL>):          Commands For Killing.
-                                                              (line  28)
-* backward-word (M-b):                   Commands For Moving. (line  24)
-* beginning-of-history (M-<):            Commands For History.
-                                                              (line  19)
-* beginning-of-line (C-a):               Commands For Moving. (line   6)
-* bell-style:                            Readline Init File Syntax.
-                                                              (line  61)
-* bind-tty-special-chars:                Readline Init File Syntax.
-                                                              (line  68)
-* blink-matching-paren:                  Readline Init File Syntax.
-                                                              (line  76)
-* bracketed-paste-begin ():              Commands For Text.   (line  37)
-* call-last-kbd-macro (C-x e):           Keyboard Macros.     (line  13)
-* capitalize-word (M-c):                 Commands For Text.   (line  68)
-* character-search (C-]):                Miscellaneous Commands.
-                                                              (line  41)
-* character-search-backward (M-C-]):     Miscellaneous Commands.
-                                                              (line  45)
-* clear-display (M-C-l):                 Commands For Moving. (line  42)
-* clear-screen (C-l):                    Commands For Moving. (line  47)
-* colored-completion-prefix:             Readline Init File Syntax.
-                                                              (line  81)
-* colored-stats:                         Readline Init File Syntax.
-                                                              (line  91)
-* comment-begin:                         Readline Init File Syntax.
-                                                              (line  97)
-* complete (<TAB>):                      Commands For Completion.
-                                                              (line   6)
-* completion-display-width:              Readline Init File Syntax.
-                                                              (line 101)
-* completion-ignore-case:                Readline Init File Syntax.
-                                                              (line 108)
-* completion-map-case:                   Readline Init File Syntax.
-                                                              (line 113)
-* completion-prefix-display-length:      Readline Init File Syntax.
-                                                              (line 119)
-* completion-query-items:                Readline Init File Syntax.
-                                                              (line 126)
-* convert-meta:                          Readline Init File Syntax.
-                                                              (line 137)
-* copy-backward-word ():                 Commands For Killing.
-                                                              (line  53)
-* copy-forward-word ():                  Commands For Killing.
-                                                              (line  58)
-* copy-region-as-kill ():                Commands For Killing.
-                                                              (line  49)
-* delete-char (C-d):                     Commands For Text.   (line  12)
-* delete-char-or-list ():                Commands For Completion.
-                                                              (line  38)
-* delete-horizontal-space ():            Commands For Killing.
-                                                              (line  41)
-* digit-argument (M-0, M-1, ... M--):    Numeric Arguments.   (line   6)
-* disable-completion:                    Readline Init File Syntax.
-                                                              (line 149)
-* do-lowercase-version (M-A, M-B, M-X, ...): Miscellaneous Commands.
-                                                              (line  14)
-* downcase-word (M-l):                   Commands For Text.   (line  64)
-* dump-functions ():                     Miscellaneous Commands.
-                                                              (line  68)
-* dump-macros ():                        Miscellaneous Commands.
-                                                              (line  80)
-* dump-variables ():                     Miscellaneous Commands.
-                                                              (line  74)
-* echo-control-characters:               Readline Init File Syntax.
-                                                              (line 154)
-* editing-mode:                          Readline Init File Syntax.
-                                                              (line 159)
-* emacs-editing-mode (C-e):              Miscellaneous Commands.
-                                                              (line  94)
-* emacs-mode-string:                     Readline Init File Syntax.
-                                                              (line 165)
-* enable-active-region The:              Readline Init File Syntax.
-                                                              (line 175)
-* enable-bracketed-paste:                Readline Init File Syntax.
-                                                              (line 188)
-* enable-keypad:                         Readline Init File Syntax.
-                                                              (line 197)
-* enable-meta-key:                       Readline Init File Syntax.
-                                                              (line 202)
-* end-kbd-macro (C-x )):                 Keyboard Macros.     (line   9)
-* end-of-file (usually C-d):             Commands For Text.   (line   6)
-* end-of-history (M->):                  Commands For History.
-                                                              (line  22)
-* end-of-line (C-e):                     Commands For Moving. (line  10)
-* exchange-point-and-mark (C-x C-x):     Miscellaneous Commands.
-                                                              (line  37)
-* execute-named-command (M-x):           Miscellaneous Commands.
-                                                              (line  87)
-* expand-tilde:                          Readline Init File Syntax.
-                                                              (line 212)
-* fetch-history ():                      Commands For History.
-                                                              (line 105)
-* force-meta-prefix:                     Readline Init File Syntax.
-                                                              (line 216)
-* forward-backward-delete-char ():       Commands For Text.   (line  22)
-* forward-char (C-f):                    Commands For Moving. (line  14)
-* forward-search-history (C-s):          Commands For History.
-                                                              (line  32)
-* forward-word (M-f):                    Commands For Moving. (line  20)
-* history-preserve-point:                Readline Init File Syntax.
-                                                              (line 229)
-* history-search-backward ():            Commands For History.
-                                                              (line  50)
-* history-search-forward ():             Commands For History.
-                                                              (line  57)
-* history-size:                          Readline Init File Syntax.
-                                                              (line 235)
-* history-substring-search-backward ():  Commands For History.
-                                                              (line  64)
-* history-substring-search-forward ():   Commands For History.
-                                                              (line  70)
-* horizontal-scroll-mode:                Readline Init File Syntax.
-                                                              (line 244)
-* input-meta:                            Readline Init File Syntax.
-                                                              (line 252)
-* insert-comment (M-#):                  Miscellaneous Commands.
-                                                              (line  59)
-* insert-completions (M-*):              Commands For Completion.
-                                                              (line  18)
-* isearch-terminators:                   Readline Init File Syntax.
-                                                              (line 263)
-* keymap:                                Readline Init File Syntax.
-                                                              (line 270)
-* kill-line (C-k):                       Commands For Killing.
-                                                              (line   6)
-* kill-region ():                        Commands For Killing.
-                                                              (line  45)
-* kill-whole-line ():                    Commands For Killing.
-                                                              (line  19)
-* kill-word (M-d):                       Commands For Killing.
-                                                              (line  23)
-* mark-modified-lines:                   Readline Init File Syntax.
-                                                              (line 300)
-* mark-symlinked-directories:            Readline Init File Syntax.
-                                                              (line 305)
-* match-hidden-files:                    Readline Init File Syntax.
-                                                              (line 310)
-* menu-complete ():                      Commands For Completion.
-                                                              (line  22)
-* menu-complete-backward ():             Commands For Completion.
-                                                              (line  33)
-* menu-complete-display-prefix:          Readline Init File Syntax.
-                                                              (line 317)
-* meta-flag:                             Readline Init File Syntax.
-                                                              (line 252)
-* next-history (C-n):                    Commands For History.
-                                                              (line  16)
-* next-screen-line ():                   Commands For Moving. (line  35)
-* non-incremental-forward-search-history (M-n): Commands For History.
-                                                              (line  44)
-* non-incremental-reverse-search-history (M-p): Commands For History.
-                                                              (line  38)
-* operate-and-get-next (C-o):            Commands For History.
-                                                              (line  98)
-* output-meta:                           Readline Init File Syntax.
-                                                              (line 322)
-* overwrite-mode ():                     Commands For Text.   (line  72)
-* page-completions:                      Readline Init File Syntax.
-                                                              (line 331)
-* possible-completions (M-?):            Commands For Completion.
-                                                              (line  11)
-* prefix-meta (<ESC>):                   Miscellaneous Commands.
-                                                              (line  19)
-* previous-history (C-p):                Commands For History.
-                                                              (line  12)
-* previous-screen-line ():               Commands For Moving. (line  28)
-* print-last-kbd-macro ():               Keyboard Macros.     (line  17)
-* quoted-insert (C-q or C-v):            Commands For Text.   (line  27)
-* re-read-init-file (C-x C-r):           Miscellaneous Commands.
-                                                              (line   6)
-* readline:                              Basic Behavior.      (line  11)
-* redraw-current-line ():                Commands For Moving. (line  51)
-* reverse-search-history (C-r):          Commands For History.
-                                                              (line  26)
-* revert-all-at-newline:                 Readline Init File Syntax.
-                                                              (line 344)
-* revert-line (M-r):                     Miscellaneous Commands.
-                                                              (line  26)
-* rl_activate_mark:                      Miscellaneous Functions.
-                                                              (line  62)
-* rl_add_defun:                          Function Naming.     (line  19)
-* rl_add_funmap_entry:                   Associating Function Names and Bindings.
-                                                              (line  70)
-* rl_add_undo:                           Allowing Undoing.    (line  40)
-* rl_alphabetic:                         Utility Functions.   (line  33)
-* rl_already_prompted:                   Readline Variables.  (line  74)
-* rl_attempted_completion_function:      Completion Variables.
-                                                              (line  11)
-* rl_attempted_completion_over:          Completion Variables.
-                                                              (line 290)
-* rl_basic_quote_characters:             Completion Variables.
-                                                              (line 164)
-* rl_basic_word_break_characters:        Completion Variables.
-                                                              (line 158)
-* rl_begin_undo_group:                   Allowing Undoing.    (line  29)
-* rl_bind_key:                           Binding Keys.        (line  21)
-* rl_bind_key_if_unbound:                Binding Keys.        (line  30)
-* rl_bind_key_if_unbound_in_map:         Binding Keys.        (line  36)
-* rl_bind_key_in_map:                    Binding Keys.        (line  25)
-* rl_bind_keyseq:                        Binding Keys.        (line  58)
-* rl_bind_keyseq_if_unbound:             Binding Keys.        (line  76)
-* rl_bind_keyseq_if_unbound_in_map:      Binding Keys.        (line  82)
-* rl_bind_keyseq_in_map:                 Binding Keys.        (line  65)
-* rl_binding_keymap:                     Readline Variables.  (line 211)
-* rl_callback_handler_install:           Alternate Interface. (line  14)
-* rl_callback_handler_remove:            Alternate Interface. (line  43)
-* rl_callback_read_char:                 Alternate Interface. (line  23)
-* rl_callback_sigcleanup:                Alternate Interface. (line  36)
-* rl_catch_signals:                      Readline Signal Handling.
-                                                              (line  69)
-* rl_catch_sigwinch:                     Readline Signal Handling.
-                                                              (line  76)
-* rl_change_environment:                 Readline Signal Handling.
-                                                              (line  90)
-* rl_char_is_quoted_p:                   Completion Variables.
-                                                              (line  48)
-* rl_check_signals:                      Readline Signal Handling.
-                                                              (line 133)
-* rl_cleanup_after_signal:               Readline Signal Handling.
-                                                              (line 107)
-* rl_clear_history:                      Miscellaneous Functions.
-                                                              (line  56)
-* rl_clear_message:                      Redisplay.           (line  51)
-* rl_clear_pending_input:                Character Input.     (line  29)
-* rl_clear_signals:                      Readline Signal Handling.
-                                                              (line 182)
-* rl_clear_visible_line:                 Redisplay.           (line  25)
-* rl_complete:                           How Completing Works.
-                                                              (line  46)
-* rl_complete <1>:                       Completion Functions.
-                                                              (line  19)
-* rl_complete_internal:                  Completion Functions.
-                                                              (line   9)
-* rl_completer_quote_characters:         Completion Variables.
-                                                              (line 183)
-* rl_completer_word_break_characters:    Completion Variables.
-                                                              (line 168)
-* rl_completion_append_character:        Completion Variables.
-                                                              (line 209)
-* rl_completion_display_matches_hook:    Completion Variables.
-                                                              (line 145)
-* rl_completion_entry_function:          How Completing Works.
-                                                              (line  52)
-* rl_completion_entry_function <1>:      Completion Variables.
-                                                              (line   6)
-* rl_completion_found_quote:             Completion Variables.
-                                                              (line 234)
-* rl_completion_invoking_key:            Completion Variables.
-                                                              (line 313)
-* rl_completion_mark_symlink_dirs:       Completion Variables.
-                                                              (line 246)
-* rl_completion_matches:                 Completion Functions.
-                                                              (line  43)
-* rl_completion_mode:                    Completion Functions.
-                                                              (line  36)
-* rl_completion_query_items:             Completion Variables.
-                                                              (line 201)
-* rl_completion_quote_character:         Completion Variables.
-                                                              (line 240)
-* rl_completion_rewrite_hook:            Completion Variables.
-                                                              (line 127)
-* rl_completion_suppress_append:         Completion Variables.
-                                                              (line 221)
-* rl_completion_suppress_quote:          Completion Variables.
-                                                              (line 228)
-* rl_completion_type:                    Completion Variables.
-                                                              (line 305)
-* rl_completion_word_break_hook:         Completion Variables.
-                                                              (line 174)
-* rl_copy_keymap:                        Keymaps.             (line  16)
-* rl_copy_text:                          Modifying Text.      (line  14)
-* rl_crlf:                               Redisplay.           (line  33)
-* rl_deactivate_mark:                    Miscellaneous Functions.
-                                                              (line  70)
-* rl_delete_text:                        Modifying Text.      (line  10)
-* rl_deprep_term_function:               Readline Variables.  (line 193)
-* rl_deprep_terminal:                    Terminal Management. (line  12)
-* rl_ding:                               Utility Functions.   (line  30)
-* rl_directory_completion_hook:          Completion Variables.
-                                                              (line  65)
-* rl_directory_rewrite_hook;:            Completion Variables.
-                                                              (line  83)
-* rl_discard_keymap:                     Keymaps.             (line  25)
-* rl_dispatching:                        Readline Variables.  (line  49)
-* rl_display_match_list:                 Utility Functions.   (line  36)
-* rl_display_prompt:                     Readline Variables.  (line  69)
-* rl_do_undo:                            Allowing Undoing.    (line  48)
-* rl_done:                               Readline Variables.  (line  28)
-* rl_echo_signal_char:                   Readline Signal Handling.
-                                                              (line 143)
-* rl_editing_mode:                       Readline Variables.  (line 317)
-* rl_empty_keymap:                       Keymaps.             (line  33)
-* rl_end:                                Readline Variables.  (line  18)
-* rl_end_undo_group:                     Allowing Undoing.    (line  35)
-* rl_eof_found:                          Readline Variables.  (line  34)
-* rl_erase_empty_line:                   Readline Variables.  (line  55)
-* rl_event_hook:                         Readline Variables.  (line 137)
-* rl_execute_next:                       Character Input.     (line  25)
-* rl_executing_key:                      Readline Variables.  (line 218)
-* rl_executing_keymap:                   Readline Variables.  (line 207)
-* rl_executing_keyseq:                   Readline Variables.  (line 222)
-* rl_executing_macro:                    Readline Variables.  (line 215)
-* rl_expand_prompt:                      Redisplay.           (line  66)
-* rl_explicit_arg:                       Readline Variables.  (line 308)
-* rl_extend_line_buffer:                 Utility Functions.   (line  21)
-* rl_filename_completion_desired:        Completion Variables.
-                                                              (line 261)
-* rl_filename_completion_function:       Completion Functions.
-                                                              (line  57)
-* rl_filename_dequoting_function:        Completion Variables.
-                                                              (line  39)
-* rl_filename_quote_characters:          Completion Variables.
-                                                              (line 189)
-* rl_filename_quoting_desired:           Completion Variables.
-                                                              (line 271)
-* rl_filename_quoting_function:          Completion Variables.
-                                                              (line  24)
-* rl_filename_rewrite_hook:              Completion Variables.
-                                                              (line 111)
-* rl_filename_stat_hook:                 Completion Variables.
-                                                              (line  99)
-* rl_forced_update_display:              Redisplay.           (line  10)
-* rl_free:                               Utility Functions.   (line  17)
-* rl_free_keymap:                        Keymaps.             (line  29)
-* rl_free_line_state:                    Readline Signal Handling.
-                                                              (line 113)
-* rl_free_undo_list:                     Allowing Undoing.    (line  45)
-* rl_full_quoting_desired:               Completion Variables.
-                                                              (line 281)
-* rl_function_dumper:                    Associating Function Names and Bindings.
-                                                              (line  54)
-* rl_function_of_keyseq:                 Associating Function Names and Bindings.
-                                                              (line  14)
-* rl_function_of_keyseq_len:             Associating Function Names and Bindings.
-                                                              (line  23)
-* rl_funmap_names:                       Associating Function Names and Bindings.
-                                                              (line  64)
-* rl_generic_bind:                       Binding Keys.        (line  88)
-* rl_get_keymap:                         Keymaps.             (line  41)
-* rl_get_keymap_by_name:                 Keymaps.             (line  47)
-* rl_get_keymap_name:                    Keymaps.             (line  52)
-* rl_get_screen_size:                    Readline Signal Handling.
-                                                              (line 165)
-* rl_get_termcap:                        Miscellaneous Functions.
-                                                              (line  44)
-* rl_getc:                               Character Input.     (line  14)
-* rl_getc_function:                      Readline Variables.  (line 142)
-* rl_gnu_readline_p:                     Readline Variables.  (line  94)
-* rl_ignore_completion_duplicates:       Completion Variables.
-                                                              (line 257)
-* rl_ignore_some_completions_function:   Completion Variables.
-                                                              (line  57)
-* rl_inhibit_completion:                 Completion Variables.
-                                                              (line 319)
-* rl_initialize:                         Utility Functions.   (line  25)
-* rl_input_available_hook:               Readline Variables.  (line 158)
-* rl_insert_completions:                 Completion Functions.
-                                                              (line  31)
-* rl_insert_text:                        Modifying Text.      (line   6)
-* rl_instream:                           Readline Variables.  (line 110)
-* rl_invoking_keyseqs:                   Associating Function Names and Bindings.
-                                                              (line  38)
-* rl_invoking_keyseqs_in_map:            Associating Function Names and Bindings.
-                                                              (line  42)
-* rl_keep_mark_active:                   Miscellaneous Functions.
-                                                              (line  73)
-* rl_key_sequence_length:                Readline Variables.  (line 226)
-* rl_kill_text:                          Modifying Text.      (line  18)
-* rl_last_func:                          Readline Variables.  (line 123)
-* rl_library_version:                    Readline Variables.  (line  83)
-* rl_line_buffer:                        Readline Variables.  (line   8)
-* rl_list_funmap_names:                  Associating Function Names and Bindings.
-                                                              (line  60)
-* rl_macro_bind:                         Miscellaneous Functions.
-                                                              (line   6)
-* rl_macro_display_hook:                 Readline Variables.  (line 199)
-* rl_macro_dumper:                       Miscellaneous Functions.
-                                                              (line  13)
-* rl_make_bare_keymap:                   Keymaps.             (line  11)
-* rl_make_keymap:                        Keymaps.             (line  19)
-* rl_mark:                               Readline Variables.  (line  23)
-* rl_mark_active_p:                      Miscellaneous Functions.
-                                                              (line  79)
-* rl_message:                            Redisplay.           (line  42)
-* rl_modifying:                          Allowing Undoing.    (line  58)
-* rl_named_function:                     Associating Function Names and Bindings.
-                                                              (line  10)
-* rl_num_chars_to_read:                  Readline Variables.  (line  40)
-* rl_numeric_arg:                        Readline Variables.  (line 312)
-* rl_on_new_line:                        Redisplay.           (line  14)
-* rl_on_new_line_with_prompt:            Redisplay.           (line  18)
-* rl_outstream:                          Readline Variables.  (line 114)
-* rl_parse_and_bind:                     Binding Keys.        (line  96)
-* rl_pending_input:                      Readline Variables.  (line  45)
-* rl_pending_signal:                     Readline Signal Handling.
-                                                              (line 102)
-* rl_persistent_signal_handlers:         Readline Signal Handling.
-                                                              (line  82)
-* rl_point:                              Readline Variables.  (line  14)
-* rl_possible_completions:               Completion Functions.
-                                                              (line  27)
-* rl_pre_input_hook:                     Readline Variables.  (line 132)
-* rl_prefer_env_winsize:                 Readline Variables.  (line 118)
-* rl_prep_term_function:                 Readline Variables.  (line 186)
-* rl_prep_terminal:                      Terminal Management. (line   6)
-* rl_print_keybinding:                   Associating Function Names and Bindings.
-                                                              (line  47)
-* rl_prompt:                             Readline Variables.  (line  61)
-* rl_push_macro_input:                   Modifying Text.      (line  30)
-* rl_read_init_file:                     Binding Keys.        (line 101)
-* rl_read_key:                           Character Input.     (line   6)
-* rl_readline_name:                      Readline Variables.  (line 105)
-* rl_readline_state:                     Readline Variables.  (line 229)
-* rl_readline_version:                   Readline Variables.  (line  87)
-* rl_redisplay:                          Redisplay.           (line   6)
-* rl_redisplay_function:                 Readline Variables.  (line 180)
-* rl_reparse_colors:                     Miscellaneous Functions.
-                                                              (line  53)
-* rl_replace_line:                       Modifying Text.      (line  25)
-* rl_reset_after_signal:                 Readline Signal Handling.
-                                                              (line 121)
-* rl_reset_line_state:                   Redisplay.           (line  29)
-* rl_reset_screen_size:                  Readline Signal Handling.
-                                                              (line 169)
-* rl_reset_terminal:                     Terminal Management. (line  33)
-* rl_resize_terminal:                    Readline Signal Handling.
-                                                              (line 149)
-* rl_restore_prompt:                     Redisplay.           (line  60)
-* rl_restore_state:                      Utility Functions.   (line  11)
-* rl_save_prompt:                        Redisplay.           (line  56)
-* rl_save_state:                         Utility Functions.   (line   6)
-* rl_set_key:                            Binding Keys.        (line  72)
-* rl_set_keyboard_input_timeout:         Character Input.     (line  34)
-* rl_set_keymap:                         Keymaps.             (line  44)
-* rl_set_keymap_name:                    Keymaps.             (line  57)
-* rl_set_paren_blink_timeout:            Miscellaneous Functions.
-                                                              (line  39)
-* rl_set_prompt:                         Redisplay.           (line  82)
-* rl_set_screen_size:                    Readline Signal Handling.
-                                                              (line 153)
-* rl_set_signals:                        Readline Signal Handling.
-                                                              (line 176)
-* rl_set_timeout:                        Character Input.     (line  42)
-* rl_show_char:                          Redisplay.           (line  36)
-* rl_signal_event_hook:                  Readline Variables.  (line 149)
-* rl_sort_completion_matches:            Completion Variables.
-                                                              (line 297)
-* rl_special_prefixes:                   Completion Variables.
-                                                              (line 194)
-* rl_startup_hook:                       Readline Variables.  (line 128)
-* rl_stuff_char:                         Character Input.     (line  18)
-* rl_terminal_name:                      Readline Variables.  (line  98)
-* rl_timeout_event_hook:                 Readline Variables.  (line 154)
-* rl_timeout_remaining:                  Character Input.     (line  52)
-* rl_trim_arg_from_keyseq:               Associating Function Names and Bindings.
-                                                              (line  30)
-* rl_tty_set_default_bindings:           Terminal Management. (line  17)
-* rl_tty_set_echoing:                    Terminal Management. (line  26)
-* rl_tty_unset_default_bindings:         Terminal Management. (line  22)
-* rl_unbind_command_in_map:              Binding Keys.        (line  54)
-* rl_unbind_function_in_map:             Binding Keys.        (line  50)
-* rl_unbind_key:                         Binding Keys.        (line  41)
-* rl_unbind_key_in_map:                  Binding Keys.        (line  46)
-* rl_username_completion_function:       Completion Functions.
-                                                              (line  64)
-* rl_variable_bind:                      Miscellaneous Functions.
-                                                              (line  21)
-* rl_variable_dumper:                    Miscellaneous Functions.
-                                                              (line  33)
-* rl_variable_value:                     Miscellaneous Functions.
-                                                              (line  28)
-* search-ignore-case:                    Readline Init File Syntax.
-                                                              (line 351)
-* self-insert (a, b, A, 1, !, ...):      Commands For Text.   (line  34)
-* set-mark (C-@):                        Miscellaneous Commands.
-                                                              (line  33)
-* show-all-if-ambiguous:                 Readline Init File Syntax.
-                                                              (line 356)
-* show-all-if-unmodified:                Readline Init File Syntax.
-                                                              (line 362)
-* show-mode-in-prompt:                   Readline Init File Syntax.
-                                                              (line 371)
-* skip-completed-text:                   Readline Init File Syntax.
-                                                              (line 377)
-* skip-csi-sequence ():                  Miscellaneous Commands.
-                                                              (line  50)
-* start-kbd-macro (C-x ():               Keyboard Macros.     (line   6)
-* tab-insert (M-<TAB>):                  Commands For Text.   (line  31)
-* tilde-expand (M-~):                    Miscellaneous Commands.
-                                                              (line  30)
-* transpose-chars (C-t):                 Commands For Text.   (line  49)
-* transpose-words (M-t):                 Commands For Text.   (line  55)
-* undo (C-_ or C-x C-u):                 Miscellaneous Commands.
-                                                              (line  23)
-* universal-argument ():                 Numeric Arguments.   (line  10)
-* unix-filename-rubout ():               Commands For Killing.
-                                                              (line  36)
-* unix-line-discard (C-u):               Commands For Killing.
-                                                              (line  16)
-* unix-word-rubout (C-w):                Commands For Killing.
-                                                              (line  32)
-* upcase-word (M-u):                     Commands For Text.   (line  60)
-* vi-cmd-mode-string:                    Readline Init File Syntax.
-                                                              (line 390)
-* vi-editing-mode (M-C-j):               Miscellaneous Commands.
-                                                              (line  98)
-* vi-ins-mode-string:                    Readline Init File Syntax.
-                                                              (line 401)
-* visible-stats:                         Readline Init File Syntax.
-                                                              (line 412)
-* yank (C-y):                            Commands For Killing.
-                                                              (line  63)
-* yank-last-arg (M-. or M-_):            Commands For History.
-                                                              (line  86)
-* yank-nth-arg (M-C-y):                  Commands For History.
-                                                              (line  76)
-* yank-pop (M-y):                        Commands For Killing.
-                                                              (line  66)
-
-
-\1f
-Tag Table:
-Node: Top\7f860
-Node: Command Line Editing\7f1582
-Node: Introduction and Notation\7f2231
-Node: Readline Interaction\7f4582
-Node: Readline Bare Essentials\7f5771
-Node: Readline Movement Commands\7f7580
-Node: Readline Killing Commands\7f8577
-Node: Readline Arguments\7f10601
-Node: Searching\7f11659
-Node: Readline Init File\7f13887
-Node: Readline Init File Syntax\7f15082
-Node: Conditional Init Constructs\7f41444
-Node: Sample Init File\7f45830
-Node: Bindable Readline Commands\7f48952
-Node: Commands For Moving\7f50267
-Node: Commands For History\7f52194
-Node: Commands For Text\7f57396
-Node: Commands For Killing\7f61172
-Node: Numeric Arguments\7f63625
-Node: Commands For Completion\7f64778
-Node: Keyboard Macros\7f66862
-Node: Miscellaneous Commands\7f67564
-Node: Readline vi Mode\7f71885
-Node: Programming with GNU Readline\7f73779
-Node: Basic Behavior\7f74762
-Node: Custom Functions\7f78822
-Node: Readline Typedefs\7f80341
-Node: Function Writing\7f82224
-Node: Readline Variables\7f83539
-Node: Readline Convenience Functions\7f98485
-Node: Function Naming\7f99558
-Node: Keymaps\7f100905
-Node: Binding Keys\7f104064
-Node: Associating Function Names and Bindings\7f108813
-Node: Allowing Undoing\7f112550
-Node: Redisplay\7f115297
-Node: Modifying Text\7f119596
-Node: Character Input\7f121132
-Node: Terminal Management\7f124286
-Node: Utility Functions\7f126169
-Node: Miscellaneous Functions\7f129276
-Node: Alternate Interface\7f133163
-Node: A Readline Example\7f136023
-Node: Alternate Interface Example\7f137938
-Node: Readline Signal Handling\7f141554
-Node: Custom Completers\7f151099
-Node: How Completing Works\7f151816
-Node: Completion Functions\7f155199
-Node: Completion Variables\7f158863
-Node: A Short Completion Example\7f177061
-Node: GNU Free Documentation License\7f189727
-Node: Concept Index\7f214901
-Node: Function and Variable Index\7f216419
-\1f
-End Tag Table
-
-\1f
-Local Variables:
-coding: utf-8
-End:
diff --git a/lib/readline/doc/rlman.ky b/lib/readline/doc/rlman.ky
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/lib/readline/doc/rlman.log b/lib/readline/doc/rlman.log
deleted file mode 100644 (file)
index f527453..0000000
+++ /dev/null
@@ -1,326 +0,0 @@
-This is pdfTeX, Version 3.141592653-2.6-1.40.26 (TeX Live 2024/MacPorts 2024.70613_0) (preloaded format=etex 2024.4.9)  18 OCT 2024 11:25
-entering extended mode
- restricted \write18 enabled.
- file:line:error style messages enabled.
- %&-line parsing enabled.
-**\nonstopmode \input ././rlman.texi
-(././rlman.texi (/usr/local/src/bash/bash-20241015/lib/readline/doc/texinfo.tex
-Loading texinfo [version 2015-11-22.14]:
-\outerhsize=\dimen16
-\outervsize=\dimen17
-\cornerlong=\dimen18
-\cornerthick=\dimen19
-\topandbottommargin=\dimen20
-\bindingoffset=\dimen21
-\normaloffset=\dimen22
-\pagewidth=\dimen23
-\pageheight=\dimen24
-\headlinebox=\box16
-\footlinebox=\box17
-\margin=\insert252
-\EMsimple=\toks13
-\groupbox=\box18
-\groupinvalidhelp=\toks14
-\mil=\dimen25
-\exdentamount=\skip18
-\inmarginspacing=\skip19
-\centerpenalty=\count27
- pdf,
-\tempnum=\count28
-\lnkcount=\count29
-\filename=\toks15
-\filenamelength=\count30
-\pgn=\count31
-\toksA=\toks16
-\toksB=\toks17
-\toksC=\toks18
-\toksD=\toks19
-\boxA=\box19
-\boxB=\box20
-\countA=\count32
-\nopdfimagehelp=\toks20
- fonts,
-\sffam=\fam8
-\textleading=\dimen26
- markup,
-\fontdepth=\count33
- glyphs,
-\errorbox=\box21
-
-page headings,
-\titlepagetopglue=\skip20
-\titlepagebottomglue=\skip21
-\evenheadline=\toks21
-\oddheadline=\toks22
-\evenfootline=\toks23
-\oddfootline=\toks24
- tables,
-\tableindent=\dimen27
-\itemindent=\dimen28
-\itemmargin=\dimen29
-\itemmax=\dimen30
-\itemno=\count34
-\multitableparskip=\skip22
-\multitableparindent=\skip23
-\multitablecolspace=\dimen31
-\multitablelinespace=\skip24
-\colcount=\count35
-\everytab=\toks25
- conditionals,
-\doignorecount=\count36
- indexing,
-\dummybox=\box22
-\whatsitskip=\skip25
-\whatsitpenalty=\count37
-\entryrightmargin=\dimen32
-\thinshrinkable=\skip26
-\entryindexbox=\box23
-\secondaryindent=\skip27
-\partialpage=\box24
-\doublecolumnhsize=\dimen33
-\doublecolumntopgap=\dimen34
-\savedtopmark=\toks26
-\savedfirstmark=\toks27
- sectioning,
-\unnumberedno=\count38
-\chapno=\count39
-\secno=\count40
-\subsecno=\count41
-\subsubsecno=\count42
-\appendixno=\count43
-\absseclevel=\count44
-\secbase=\count45
-\chapheadingskip=\skip28
-\secheadingskip=\skip29
-\subsecheadingskip=\skip30
- toc,
-\tocfile=\write0
-\contentsrightmargin=\skip31
-\savepageno=\count46
-\lastnegativepageno=\count47
-\tocindent=\dimen35
- environments,
-\lispnarrowing=\skip32
-\envskipamount=\skip33
-\circthick=\dimen36
-\cartouter=\dimen37
-\cartinner=\dimen38
-\normbskip=\skip34
-\normpskip=\skip35
-\normlskip=\skip36
-\lskip=\skip37
-\rskip=\skip38
-\nonfillparindent=\dimen39
-\tabw=\dimen40
-\verbbox=\box25
-
-defuns,
-\defbodyindent=\skip39
-\defargsindent=\skip40
-\deflastargmargin=\skip41
-\defunpenalty=\count48
-\parencount=\count49
-\brackcount=\count50
- macros,
-\paramno=\count51
-\macname=\toks28
- cross references,
-\auxfile=\write1
-\savesfregister=\count52
-\toprefbox=\box26
-\printedrefnamebox=\box27
-\infofilenamebox=\box28
-\printedmanualbox=\box29
- insertions,
-\footnoteno=\count53
-\SAVEfootins=\box30
-\SAVEmargin=\box31
-
-(/opt/local/share/texmf/tex/generic/epsf/epsf.tex
-This is `epsf.tex' v2.7.4 <14 February 2011>
-\epsffilein=\read1
-\epsfframemargin=\dimen41
-\epsfframethickness=\dimen42
-\epsfrsize=\dimen43
-\epsftmp=\dimen44
-\epsftsize=\dimen45
-\epsfxsize=\dimen46
-\epsfysize=\dimen47
-\pspoints=\dimen48
-)
-\noepsfhelp=\toks29
- localization,
-\nolanghelp=\toks30
-\countUTFx=\count54
-\countUTFy=\count55
-\countUTFz=\count56
- formatting,
-\defaultparindent=\dimen49
- and turning on texinfo input format.)
-texinfo.tex: doing @include of version.texi
-
-
-(/usr/local/src/bash/bash-20241015/lib/readline/doc/version.texi) [1] [2]
-(/usr/local/src/bash/bash-20241015/lib/readline/doc/rlman.toc [-1]) [-2]
-texinfo.tex: doing @include of rluser.texi
-
-
-(/usr/local/src/bash/bash-20241015/lib/readline/doc/rluser.texi Chapter 1
-\openout0 = `rlman.toc'.
-
-
-(/usr/local/src/bash/bash-20241015/lib/readline/doc/rlman.aux)
-\openout1 = `rlman.aux'.
-
-@cpindfile=@write2
-\openout2 = `rlman.cp'.
-
- [1] [2] [3]
-[4]
-@fnindfile=@write3
-\openout3 = `rlman.fn'.
-
- [5] [6] [7] [8] [9] [10] [11]
-Underfull \hbox (badness 7540) in paragraph at lines 959--965
- []@textrm In the ex-am-ple above, @textttsl C-u[] @textrm is bound to the func
--tion
-
-@hbox(7.60416+2.12917)x433.62, glue set 4.22592
-.@glue(@leftskip) 115.63242
-.@hbox(0.0+0.0)x0.0
-.@textrm I
-.@textrm n
-.@glue 3.65 plus 1.825 minus 1.21666
-.etc.
-
-
-Underfull \hbox (badness 10000) in paragraph at lines 959--965
- @texttt universal-argument[]@textrm , @textttsl M-DEL[] @textrm is bound to th
-e func-tion
-
-@hbox(7.60416+2.43333)x433.62, glue set 5.18782
-.@glue(@leftskip) 115.63242
-.@texttt u
-.@texttt n
-.@texttt i
-.@texttt v
-.etc.
-
-[12] [13] [14] [15]
-Overfull \hbox (26.43913pt too wide) in paragraph at lines 1204--1204
- []@texttt Meta-Control-h: backward-kill-word Text after the function name is i
-gnored[] |
-
-@hbox(6.69167+2.43333)x433.62
-.@glue(@leftskip) 28.90755
-.@hbox(0.0+0.0)x0.0
-.@texttt M
-.@texttt e
-.@texttt t
-.etc.
-
-[16] [17] [18] [19] [20] [21] [22] [23] [24] [25])
-texinfo.tex: doing @include of rltech.texi
-
-
-(/usr/local/src/bash/bash-20241015/lib/readline/doc/rltech.texi Chapter 2
-[26] [27] [28] [29]
-@vrindfile=@write4
-\openout4 = `rlman.vr'.
-
- [30] [31] [32] [33] [34] [35] [36] [37] [38] [39] [40]
-[41] [42] [43] [44] [45] [46] [47] [48]
-Overfull \hbox (32.18782pt too wide) in paragraph at lines 1634--1634
- []  @texttt /* For positive arguments, put point after the last changed charac
-ter. For[] |
-
-@hbox(7.60416+2.43333)x433.62
-.@glue(@leftskip) 28.90755
-.@hbox(0.0+0.0)x0.0
-.@penalty 10000
-.@glue 5.74869
-.@penalty 10000
-.etc.
-
-[49]
-Overfull \hbox (20.69044pt too wide) in paragraph at lines 1702--1702
- []@texttt /* Handle SIGWINCH and window size changes when readline is not acti
-ve and[] |
-
-@hbox(7.60416+2.43333)x433.62
-.@glue(@leftskip) 28.90755
-.@hbox(0.0+0.0)x0.0
-.@texttt /
-.@texttt *
-.@penalty 10000
-.etc.
-
-[50]
-Overfull \hbox (14.94176pt too wide) in paragraph at lines 1722--1722
- []      @texttt /* This function needs to be called to reset the terminal sett
-ings,[] |
-
-@hbox(7.60416+2.43333)x433.62
-.@glue(@leftskip) 28.90755
-.@hbox(0.0+0.0)x0.0
-.@penalty 10000
-.@glue 5.74869
-.@penalty 10000
-.etc.
-
-
-Overfull \hbox (14.94176pt too wide) in paragraph at lines 1723--1723
- []         @texttt and calling it from the line handler keeps one extra prompt
- from[] |
-
-@hbox(6.69167+2.43333)x433.62
-.@glue(@leftskip) 28.90755
-.@hbox(0.0+0.0)x0.0
-.@penalty 10000
-.@glue 5.74869
-.@penalty 10000
-.etc.
-
-
-Overfull \hbox (14.94176pt too wide) in paragraph at lines 1744--1744
- []  @texttt /* Set the default locale values according to environment variable
-s. */[] |
-
-@hbox(7.60416+2.43333)x433.62
-.@glue(@leftskip) 28.90755
-.@hbox(0.0+0.0)x0.0
-.@penalty 10000
-.@glue 5.74869
-.@penalty 10000
-.etc.
-
-[51] [52] [53] [54] [55] [56] [57] [58] [59] [60] [61]
-Underfull \hbox (badness 7379) in paragraph at lines 2524--2529
- []@textrm If an application-specific com-ple-tion func-tion as-signed to @text
-tt rl_attempted_
-
-@hbox(7.60416+2.43333)x433.62, glue set 4.19675
-.@glue(@leftskip) 28.90755
-.@hbox(0.0+0.0)x0.0
-.@textrm I
-.@textrm f
-.@glue 3.65 plus 1.825 minus 1.21666
-.etc.
-
-[62] [63] [64] [65] [66] [67] [68] [69] [70]) Appendix A [71]
-texinfo.tex: doing @include of fdl.texi
-
-
-(/usr/local/src/bash/bash-20241015/lib/readline/doc/fdl.texi [72] [73] [74]
-[75] [76] [77] [78]) (Concept Index) [79] (Function and Variable Index)
-[80] [81] [82] [83] [84] ) 
-Here is how much of TeX's memory you used:
- 3279 strings out of 495850
- 34716 string characters out of 6172145
- 126582 words of memory out of 5000000
- 4635 multiletter control sequences out of 15000+600000
- 32778 words of font info for 114 fonts, out of 8000000 for 9000
- 701 hyphenation exceptions out of 8191
- 19i,6n,17p,305b,808s stack positions out of 10000i,1000n,20000p,200000b,200000s
-
-Output written on rlman.dvi (88 pages, 345732 bytes).
diff --git a/lib/readline/doc/rlman.pg b/lib/readline/doc/rlman.pg
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/lib/readline/doc/rlman.texinfo b/lib/readline/doc/rlman.texinfo
deleted file mode 100644 (file)
index 1ffebad..0000000
+++ /dev/null
@@ -1,108 +0,0 @@
-\input texinfo    @c -*-texinfo-*-
-@comment %**start of header (This is for running Texinfo on a region.)
-@setfilename readline.info
-@settitle GNU Readline Library
-@comment %**end of header (This is for running Texinfo on a region.)
-@synindex vr fn
-@setchapternewpage odd
-
-@include manvers.texinfo
-
-@ifinfo
-@dircategory Libraries
-@direntry
-* Readline: (readline).       The GNU readline library API
-@end direntry
-
-This document describes the GNU Readline Library, a utility which aids
-in the consistency of user interface across discrete programs that need
-to provide a command line interface.
-
-Copyright (C) 1988-2002 Free Software Foundation, Inc.
-
-Permission is granted to make and distribute verbatim copies of
-this manual provided the copyright notice and this permission notice
-pare preserved on all copies.
-
-@ignore
-Permission is granted to process this file through TeX and print the
-results, provided the printed document carries copying permission
-notice identical to this one except for the removal of this paragraph
-(this paragraph not being relevant to the printed manual).
-@end ignore
-
-Permission is granted to copy and distribute modified versions of this
-manual under the conditions for verbatim copying, provided that the entire
-resulting derived work is distributed under the terms of a permission
-notice identical to this one.
-
-Permission is granted to copy and distribute translations of this manual
-into another language, under the above conditions for modified versions,
-except that this permission notice may be stated in a translation approved
-by the Free Software Foundation.
-@end ifinfo
-
-@titlepage  
-@title GNU Readline Library
-@subtitle Edition @value{EDITION}, for @code{Readline Library} Version @value{VERSION}.
-@subtitle @value{UPDATE-MONTH}
-@author Brian Fox, Free Software Foundation
-@author Chet Ramey, Case Western Reserve University
-
-@page
-This document describes the GNU Readline Library, a utility which aids
-in the consistency of user interface across discrete programs that need
-to provide a command line interface.
-
-Published by the Free Software Foundation @*
-59 Temple Place, Suite 330, @*
-Boston, MA 02111 USA
-
-Permission is granted to make and distribute verbatim copies of
-this manual provided the copyright notice and this permission notice
-are preserved on all copies.
-
-Permission is granted to copy and distribute modified versions of this
-manual under the conditions for verbatim copying, provided that the entire
-resulting derived work is distributed under the terms of a permission
-notice identical to this one.
-
-Permission is granted to copy and distribute translations of this manual
-into another language, under the above conditions for modified versions,
-except that this permission notice may be stated in a translation approved
-by the Free Software Foundation.
-
-@vskip 0pt plus 1filll
-Copyright @copyright{} 1988-2002 Free Software Foundation, Inc.
-@end titlepage
-
-@ifinfo
-@node Top
-@top GNU Readline Library
-
-This document describes the GNU Readline Library, a utility which aids
-in the consistency of user interface across discrete programs that need
-to provide a command line interface.
-
-@menu
-* Command Line Editing::          GNU Readline User's Manual.
-* Programming with GNU Readline::  GNU Readline Programmer's Manual.
-* Concept Index::                 Index of concepts described in this manual.
-* Function and Variable Index::           Index of externally visible functions
-                                  and variables.
-@end menu
-@end ifinfo
-
-@include rluser.texinfo
-@include rltech.texinfo
-
-@node Concept Index
-@unnumbered Concept Index
-@printindex cp
-
-@node Function and Variable Index
-@unnumbered Function and Variable Index
-@printindex fn
-
-@contents
-@bye
diff --git a/lib/readline/doc/rlman.tmp b/lib/readline/doc/rlman.tmp
deleted file mode 100644 (file)
index 9e5c1b1..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-
-This manual describes the GNU Readline Library
-(version @value{VERSION}, @value{UPDATED}), a library which aids in the
-consistency of user interface across discrete programs which provide
-a command line interface.
-
-Copyright @copyright{} 1988--2014 Free Software Foundation, Inc.
-
-@quotation
-Permission is granted to copy, distribute and/or modify this document
-under the terms of the GNU Free Documentation License, Version 1.3 or
-any later version published by the Free Software Foundation; with no
-Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
-A copy of the license is included in the section entitled
-``GNU Free Documentation License''.
-
-@end quotation
-@empty 
diff --git a/lib/readline/doc/rlman.toc b/lib/readline/doc/rlman.toc
deleted file mode 100644 (file)
index f729494..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-@numchapentry{Command Line Editing}{1}{Command Line Editing}{1}
-@numsecentry{Introduction to Line Editing}{1.1}{Introduction and Notation}{1}
-@numsecentry{Readline Interaction}{1.2}{Readline Interaction}{1}
-@numsubsecentry{Readline Bare Essentials}{1.2.1}{Readline Bare Essentials}{2}
-@numsubsecentry{Readline Movement Commands}{1.2.2}{Readline Movement Commands}{2}
-@numsubsecentry{Readline Killing Commands}{1.2.3}{Readline Killing Commands}{3}
-@numsubsecentry{Readline Arguments}{1.2.4}{Readline Arguments}{3}
-@numsubsecentry{Searching for Commands in the History}{1.2.5}{Searching}{3}
-@numsecentry{Readline Init File}{1.3}{Readline Init File}{4}
-@numsubsecentry{Readline Init File Syntax}{1.3.1}{Readline Init File Syntax}{4}
-@numsubsecentry{Conditional Init Constructs}{1.3.2}{Conditional Init Constructs}{14}
-@numsubsecentry{Sample Init File}{1.3.3}{Sample Init File}{15}
-@numsecentry{Bindable Readline Commands}{1.4}{Bindable Readline Commands}{18}
-@numsubsecentry{Commands For Moving}{1.4.1}{Commands For Moving}{18}
-@numsubsecentry{Commands For Manipulating The History}{1.4.2}{Commands For History}{19}
-@numsubsecentry{Commands For Changing Text}{1.4.3}{Commands For Text}{21}
-@numsubsecentry{Killing And Yanking}{1.4.4}{Commands For Killing}{22}
-@numsubsecentry{Specifying Numeric Arguments}{1.4.5}{Numeric Arguments}{23}
-@numsubsecentry{Letting Readline Type For You}{1.4.6}{Commands For Completion}{24}
-@numsubsecentry{Keyboard Macros}{1.4.7}{Keyboard Macros}{24}
-@numsubsecentry{Some Miscellaneous Commands}{1.4.8}{Miscellaneous Commands}{25}
-@numsecentry{Readline vi Mode}{1.5}{Readline vi Mode}{26}
-@numchapentry{Programming with GNU Readline}{2}{Programming with GNU Readline}{27}
-@numsecentry{Basic Behavior}{2.1}{Basic Behavior}{27}
-@numsecentry{Custom Functions}{2.2}{Custom Functions}{28}
-@numsubsecentry{Readline Typedefs}{2.2.1}{Readline Typedefs}{29}
-@numsubsecentry{Writing a New Function}{2.2.2}{Function Writing}{30}
-@numsecentry{Readline Variables}{2.3}{Readline Variables}{30}
-@numsecentry{Readline Convenience Functions}{2.4}{Readline Convenience Functions}{36}
-@numsubsecentry{Naming a Function}{2.4.1}{Function Naming}{36}
-@numsubsecentry{Selecting a Keymap}{2.4.2}{Keymaps}{36}
-@numsubsecentry{Binding Keys}{2.4.3}{Binding Keys}{37}
-@numsubsecentry{Associating Function Names and Bindings}{2.4.4}{Associating Function Names and Bindings}{39}
-@numsubsecentry{Allowing Undoing}{2.4.5}{Allowing Undoing}{40}
-@numsubsecentry{Redisplay}{2.4.6}{Redisplay}{41}
-@numsubsecentry{Modifying Text}{2.4.7}{Modifying Text}{43}
-@numsubsecentry{Character Input}{2.4.8}{Character Input}{43}
-@numsubsecentry{Terminal Management}{2.4.9}{Terminal Management}{44}
-@numsubsecentry{Utility Functions}{2.4.10}{Utility Functions}{45}
-@numsubsecentry{Miscellaneous Functions}{2.4.11}{Miscellaneous Functions}{46}
-@numsubsecentry{Alternate Interface}{2.4.12}{Alternate Interface}{47}
-@numsubsecentry{A Readline Example}{2.4.13}{A Readline Example}{48}
-@numsubsecentry{Alternate Interface Example}{2.4.14}{Alternate Interface Example}{50}
-@numsecentry{Readline Signal Handling}{2.5}{Readline Signal Handling}{52}
-@numsecentry{Custom Completers}{2.6}{Custom Completers}{55}
-@numsubsecentry{How Completing Works}{2.6.1}{How Completing Works}{55}
-@numsubsecentry{Completion Functions}{2.6.2}{Completion Functions}{56}
-@numsubsecentry{Completion Variables}{2.6.3}{Completion Variables}{57}
-@numsubsecentry{A Short Completion Example}{2.6.4}{A Short Completion Example}{63}
-@appentry{GNU Free Documentation License}{A}{GNU Free Documentation License}{72}
-@unnchapentry{Concept Index}{10001}{Concept Index}{80}
-@unnchapentry{Function and Variable Index}{10002}{Function and Variable Index}{81}
diff --git a/lib/readline/doc/rlman.tp b/lib/readline/doc/rlman.tp
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/lib/readline/doc/rlman.vr b/lib/readline/doc/rlman.vr
deleted file mode 100644 (file)
index e104412..0000000
+++ /dev/null
@@ -1,83 +0,0 @@
-\entry{rl_line_buffer}{30}{\code {rl_line_buffer}}
-\entry{rl_point}{30}{\code {rl_point}}
-\entry{rl_end}{30}{\code {rl_end}}
-\entry{rl_mark}{30}{\code {rl_mark}}
-\entry{rl_done}{30}{\code {rl_done}}
-\entry{rl_eof_found}{30}{\code {rl_eof_found}}
-\entry{rl_num_chars_to_read}{31}{\code {rl_num_chars_to_read}}
-\entry{rl_pending_input}{31}{\code {rl_pending_input}}
-\entry{rl_dispatching}{31}{\code {rl_dispatching}}
-\entry{rl_erase_empty_line}{31}{\code {rl_erase_empty_line}}
-\entry{rl_prompt}{31}{\code {rl_prompt}}
-\entry{rl_display_prompt}{31}{\code {rl_display_prompt}}
-\entry{rl_already_prompted}{31}{\code {rl_already_prompted}}
-\entry{rl_library_version}{31}{\code {rl_library_version}}
-\entry{rl_readline_version}{31}{\code {rl_readline_version}}
-\entry{rl_gnu_readline_p}{31}{\code {rl_gnu_readline_p}}
-\entry{rl_terminal_name}{32}{\code {rl_terminal_name}}
-\entry{rl_readline_name}{32}{\code {rl_readline_name}}
-\entry{rl_instream}{32}{\code {rl_instream}}
-\entry{rl_outstream}{32}{\code {rl_outstream}}
-\entry{rl_prefer_env_winsize}{32}{\code {rl_prefer_env_winsize}}
-\entry{rl_last_func}{32}{\code {rl_last_func}}
-\entry{rl_startup_hook}{32}{\code {rl_startup_hook}}
-\entry{rl_pre_input_hook}{32}{\code {rl_pre_input_hook}}
-\entry{rl_event_hook}{32}{\code {rl_event_hook}}
-\entry{rl_getc_function}{32}{\code {rl_getc_function}}
-\entry{rl_signal_event_hook}{32}{\code {rl_signal_event_hook}}
-\entry{rl_timeout_event_hook}{33}{\code {rl_timeout_event_hook}}
-\entry{rl_input_available_hook}{33}{\code {rl_input_available_hook}}
-\entry{rl_redisplay_function}{33}{\code {rl_redisplay_function}}
-\entry{rl_prep_term_function}{33}{\code {rl_prep_term_function}}
-\entry{rl_deprep_term_function}{33}{\code {rl_deprep_term_function}}
-\entry{rl_macro_display_hook}{33}{\code {rl_macro_display_hook}}
-\entry{rl_executing_keymap}{33}{\code {rl_executing_keymap}}
-\entry{rl_binding_keymap}{34}{\code {rl_binding_keymap}}
-\entry{rl_executing_macro}{34}{\code {rl_executing_macro}}
-\entry{rl_executing_key}{34}{\code {rl_executing_key}}
-\entry{rl_executing_keyseq}{34}{\code {rl_executing_keyseq}}
-\entry{rl_key_sequence_length}{34}{\code {rl_key_sequence_length}}
-\entry{rl_readline_state}{34}{\code {rl_readline_state}}
-\entry{rl_explicit_arg}{36}{\code {rl_explicit_arg}}
-\entry{rl_numeric_arg}{36}{\code {rl_numeric_arg}}
-\entry{rl_editing_mode}{36}{\code {rl_editing_mode}}
-\entry{rl_catch_signals}{53}{\code {rl_catch_signals}}
-\entry{rl_catch_sigwinch}{53}{\code {rl_catch_sigwinch}}
-\entry{rl_persistent_signal_handlers}{53}{\code {rl_persistent_signal_handlers}}
-\entry{rl_change_environment}{53}{\code {rl_change_environment}}
-\entry{rl_completion_entry_function}{56}{\code {rl_completion_entry_function}}
-\entry{rl_completion_entry_function}{57}{\code {rl_completion_entry_function}}
-\entry{rl_attempted_completion_function}{57}{\code {rl_attempted_completion_function}}
-\entry{rl_filename_quoting_function}{57}{\code {rl_filename_quoting_function}}
-\entry{rl_filename_dequoting_function}{58}{\code {rl_filename_dequoting_function}}
-\entry{rl_char_is_quoted_p}{58}{\code {rl_char_is_quoted_p}}
-\entry{rl_ignore_some_completions_function}{58}{\code {rl_ignore_some_completions_function}}
-\entry{rl_directory_completion_hook}{58}{\code {rl_directory_completion_hook}}
-\entry{rl_directory_rewrite_hook;}{58}{\code {rl_directory_rewrite_hook;}}
-\entry{rl_filename_stat_hook}{59}{\code {rl_filename_stat_hook}}
-\entry{rl_filename_rewrite_hook}{59}{\code {rl_filename_rewrite_hook}}
-\entry{rl_completion_rewrite_hook}{59}{\code {rl_completion_rewrite_hook}}
-\entry{rl_completion_display_matches_hook}{60}{\code {rl_completion_display_matches_hook}}
-\entry{rl_basic_word_break_characters}{60}{\code {rl_basic_word_break_characters}}
-\entry{rl_basic_quote_characters}{60}{\code {rl_basic_quote_characters}}
-\entry{rl_completer_word_break_characters}{60}{\code {rl_completer_word_break_characters}}
-\entry{rl_completion_word_break_hook}{60}{\code {rl_completion_word_break_hook}}
-\entry{rl_completer_quote_characters}{60}{\code {rl_completer_quote_characters}}
-\entry{rl_filename_quote_characters}{60}{\code {rl_filename_quote_characters}}
-\entry{rl_special_prefixes}{60}{\code {rl_special_prefixes}}
-\entry{rl_completion_query_items}{60}{\code {rl_completion_query_items}}
-\entry{rl_completion_append_character}{61}{\code {rl_completion_append_character}}
-\entry{rl_completion_suppress_append}{61}{\code {rl_completion_suppress_append}}
-\entry{rl_completion_suppress_quote}{61}{\code {rl_completion_suppress_quote}}
-\entry{rl_completion_found_quote}{61}{\code {rl_completion_found_quote}}
-\entry{rl_completion_quote_character}{61}{\code {rl_completion_quote_character}}
-\entry{rl_completion_mark_symlink_dirs}{61}{\code {rl_completion_mark_symlink_dirs}}
-\entry{rl_ignore_completion_duplicates}{61}{\code {rl_ignore_completion_duplicates}}
-\entry{rl_filename_completion_desired}{61}{\code {rl_filename_completion_desired}}
-\entry{rl_filename_quoting_desired}{62}{\code {rl_filename_quoting_desired}}
-\entry{rl_full_quoting_desired}{62}{\code {rl_full_quoting_desired}}
-\entry{rl_attempted_completion_over}{62}{\code {rl_attempted_completion_over}}
-\entry{rl_sort_completion_matches}{62}{\code {rl_sort_completion_matches}}
-\entry{rl_completion_type}{62}{\code {rl_completion_type}}
-\entry{rl_completion_invoking_key}{62}{\code {rl_completion_invoking_key}}
-\entry{rl_inhibit_completion}{62}{\code {rl_inhibit_completion}}
diff --git a/lib/readline/doc/rlman.vrs b/lib/readline/doc/rlman.vrs
deleted file mode 100644 (file)
index db9cd76..0000000
+++ /dev/null
@@ -1,82 +0,0 @@
-\entry{\code {rl_already_prompted}}{31}
-\entry{\code {rl_attempted_completion_function}}{57}
-\entry{\code {rl_attempted_completion_over}}{62}
-\entry{\code {rl_basic_quote_characters}}{60}
-\entry{\code {rl_basic_word_break_characters}}{60}
-\entry{\code {rl_binding_keymap}}{34}
-\entry{\code {rl_catch_signals}}{53}
-\entry{\code {rl_catch_sigwinch}}{53}
-\entry{\code {rl_change_environment}}{53}
-\entry{\code {rl_char_is_quoted_p}}{58}
-\entry{\code {rl_completer_quote_characters}}{60}
-\entry{\code {rl_completer_word_break_characters}}{60}
-\entry{\code {rl_completion_append_character}}{61}
-\entry{\code {rl_completion_display_matches_hook}}{60}
-\entry{\code {rl_completion_entry_function}}{56, 57}
-\entry{\code {rl_completion_found_quote}}{61}
-\entry{\code {rl_completion_invoking_key}}{62}
-\entry{\code {rl_completion_mark_symlink_dirs}}{61}
-\entry{\code {rl_completion_query_items}}{60}
-\entry{\code {rl_completion_quote_character}}{61}
-\entry{\code {rl_completion_rewrite_hook}}{59}
-\entry{\code {rl_completion_suppress_append}}{61}
-\entry{\code {rl_completion_suppress_quote}}{61}
-\entry{\code {rl_completion_type}}{62}
-\entry{\code {rl_completion_word_break_hook}}{60}
-\entry{\code {rl_deprep_term_function}}{33}
-\entry{\code {rl_directory_completion_hook}}{58}
-\entry{\code {rl_directory_rewrite_hook;}}{58}
-\entry{\code {rl_dispatching}}{31}
-\entry{\code {rl_display_prompt}}{31}
-\entry{\code {rl_done}}{30}
-\entry{\code {rl_editing_mode}}{36}
-\entry{\code {rl_end}}{30}
-\entry{\code {rl_eof_found}}{30}
-\entry{\code {rl_erase_empty_line}}{31}
-\entry{\code {rl_event_hook}}{32}
-\entry{\code {rl_executing_key}}{34}
-\entry{\code {rl_executing_keymap}}{33}
-\entry{\code {rl_executing_keyseq}}{34}
-\entry{\code {rl_executing_macro}}{34}
-\entry{\code {rl_explicit_arg}}{36}
-\entry{\code {rl_filename_completion_desired}}{61}
-\entry{\code {rl_filename_dequoting_function}}{58}
-\entry{\code {rl_filename_quote_characters}}{60}
-\entry{\code {rl_filename_quoting_desired}}{62}
-\entry{\code {rl_filename_quoting_function}}{57}
-\entry{\code {rl_filename_rewrite_hook}}{59}
-\entry{\code {rl_filename_stat_hook}}{59}
-\entry{\code {rl_full_quoting_desired}}{62}
-\entry{\code {rl_getc_function}}{32}
-\entry{\code {rl_gnu_readline_p}}{31}
-\entry{\code {rl_ignore_completion_duplicates}}{61}
-\entry{\code {rl_ignore_some_completions_function}}{58}
-\entry{\code {rl_inhibit_completion}}{62}
-\entry{\code {rl_input_available_hook}}{33}
-\entry{\code {rl_instream}}{32}
-\entry{\code {rl_key_sequence_length}}{34}
-\entry{\code {rl_last_func}}{32}
-\entry{\code {rl_library_version}}{31}
-\entry{\code {rl_line_buffer}}{30}
-\entry{\code {rl_macro_display_hook}}{33}
-\entry{\code {rl_mark}}{30}
-\entry{\code {rl_num_chars_to_read}}{31}
-\entry{\code {rl_numeric_arg}}{36}
-\entry{\code {rl_outstream}}{32}
-\entry{\code {rl_pending_input}}{31}
-\entry{\code {rl_persistent_signal_handlers}}{53}
-\entry{\code {rl_point}}{30}
-\entry{\code {rl_pre_input_hook}}{32}
-\entry{\code {rl_prefer_env_winsize}}{32}
-\entry{\code {rl_prep_term_function}}{33}
-\entry{\code {rl_prompt}}{31}
-\entry{\code {rl_readline_name}}{32}
-\entry{\code {rl_readline_state}}{34}
-\entry{\code {rl_readline_version}}{31}
-\entry{\code {rl_redisplay_function}}{33}
-\entry{\code {rl_signal_event_hook}}{32}
-\entry{\code {rl_sort_completion_matches}}{62}
-\entry{\code {rl_special_prefixes}}{60}
-\entry{\code {rl_startup_hook}}{32}
-\entry{\code {rl_terminal_name}}{32}
-\entry{\code {rl_timeout_event_hook}}{33}
diff --git a/lib/readline/doc/rltech.texinfo b/lib/readline/doc/rltech.texinfo
deleted file mode 100644 (file)
index 037e824..0000000
+++ /dev/null
@@ -1,2165 +0,0 @@
-@comment %**start of header (This is for running Texinfo on a region.)
-@setfilename rltech.info
-@comment %**end of header (This is for running Texinfo on a region.)
-@setchapternewpage odd
-
-@ifinfo
-This document describes the GNU Readline Library, a utility for aiding
-in the consitency of user interface across discrete programs that need
-to provide a command line interface.
-
-Copyright (C) 1988-2002 Free Software Foundation, Inc.
-
-Permission is granted to make and distribute verbatim copies of
-this manual provided the copyright notice and this permission notice
-pare preserved on all copies.
-
-@ignore
-Permission is granted to process this file through TeX and print the
-results, provided the printed document carries copying permission
-notice identical to this one except for the removal of this paragraph
-(this paragraph not being relevant to the printed manual).
-@end ignore
-
-Permission is granted to copy and distribute modified versions of this
-manual under the conditions for verbatim copying, provided that the entire
-resulting derived work is distributed under the terms of a permission
-notice identical to this one.
-
-Permission is granted to copy and distribute translations of this manual
-into another language, under the above conditions for modified versions,
-except that this permission notice may be stated in a translation approved
-by the Foundation.
-@end ifinfo
-
-@node Programming with GNU Readline
-@chapter Programming with GNU Readline
-
-This chapter describes the interface between the @sc{gnu} Readline Library and
-other programs.  If you are a programmer, and you wish to include the
-features found in @sc{gnu} Readline
-such as completion, line editing, and interactive history manipulation
-in your own programs, this section is for you.
-
-@menu
-* Basic Behavior::     Using the default behavior of Readline.
-* Custom Functions::   Adding your own functions to Readline.
-* Readline Variables::                 Variables accessible to custom
-                                       functions.
-* Readline Convenience Functions::     Functions which Readline supplies to
-                                       aid in writing your own custom
-                                       functions.
-* Readline Signal Handling::   How Readline behaves when it receives signals.
-* Custom Completers::  Supplanting or supplementing Readline's
-                       completion functions.
-@end menu
-
-@node Basic Behavior
-@section Basic Behavior
-
-Many programs provide a command line interface, such as @code{mail},
-@code{ftp}, and @code{sh}.  For such programs, the default behaviour of
-Readline is sufficient.  This section describes how to use Readline in
-the simplest way possible, perhaps to replace calls in your code to
-@code{gets()} or @code{fgets()}.
-
-@findex readline
-@cindex readline, function
-
-The function @code{readline()} prints a prompt @var{prompt}
-and then reads and returns a single line of text from the user.
-If @var{prompt} is @code{NULL} or the empty string, no prompt is displayed.
-The line @code{readline} returns is allocated with @code{malloc()};
-the caller should @code{free()} the line when it has finished with it.
-The declaration for @code{readline} in ANSI C is
-
-@example
-@code{char *readline (const char *@var{prompt});}
-@end example
-
-@noindent
-So, one might say
-@example
-@code{char *line = readline ("Enter a line: ");}
-@end example
-@noindent
-in order to read a line of text from the user.
-The line returned has the final newline removed, so only the
-text remains.
-
-If @code{readline} encounters an @code{EOF} while reading the line, and the
-line is empty at that point, then @code{(char *)NULL} is returned.
-Otherwise, the line is ended just as if a newline had been typed.
-
-If you want the user to be able to get at the line later, (with
-@key{C-p} for example), you must call @code{add_history()} to save the
-line away in a @dfn{history} list of such lines.
-
-@example
-@code{add_history (line)};
-@end example
-
-@noindent
-For full details on the GNU History Library, see the associated manual.
-
-It is preferable to avoid saving empty lines on the history list, since
-users rarely have a burning need to reuse a blank line.  Here is
-a function which usefully replaces the standard @code{gets()} library
-function, and has the advantage of no static buffer to overflow:
-
-@example
-/* A static variable for holding the line. */
-static char *line_read = (char *)NULL;
-
-/* Read a string, and return a pointer to it.
-   Returns NULL on EOF. */
-char *
-rl_gets ()
-@{
-  /* If the buffer has already been allocated,
-     return the memory to the free pool. */
-  if (line_read)
-    @{
-      free (line_read);
-      line_read = (char *)NULL;
-    @}
-
-  /* Get a line from the user. */
-  line_read = readline ("");
-
-  /* If the line has any text in it,
-     save it on the history. */
-  if (line_read && *line_read)
-    add_history (line_read);
-
-  return (line_read);
-@}
-@end example
-
-This function gives the user the default behaviour of @key{TAB}
-completion: completion on file names.  If you do not want Readline to
-complete on filenames, you can change the binding of the @key{TAB} key
-with @code{rl_bind_key()}.
-
-@example
-@code{int rl_bind_key (int @var{key}, rl_command_func_t *@var{function});}
-@end example
-
-@code{rl_bind_key()} takes two arguments: @var{key} is the character that
-you want to bind, and @var{function} is the address of the function to
-call when @var{key} is pressed.  Binding @key{TAB} to @code{rl_insert()}
-makes @key{TAB} insert itself.
-@code{rl_bind_key()} returns non-zero if @var{key} is not a valid
-ASCII character code (between 0 and 255).
-
-Thus, to disable the default @key{TAB} behavior, the following suffices:
-@example
-@code{rl_bind_key ('\t', rl_insert);}
-@end example
-
-This code should be executed once at the start of your program; you
-might write a function called @code{initialize_readline()} which
-performs this and other desired initializations, such as installing
-custom completers (@pxref{Custom Completers}).
-
-@node Custom Functions
-@section Custom Functions
-
-Readline provides many functions for manipulating the text of
-the line, but it isn't possible to anticipate the needs of all
-programs.  This section describes the various functions and variables
-defined within the Readline library which allow a user program to add
-customized functionality to Readline.
-
-Before declaring any functions that customize Readline's behavior, or
-using any functionality Readline provides in other code, an
-application writer should include the file @code{<readline/readline.h>}
-in any file that uses Readline's features.  Since some of the definitions
-in @code{readline.h} use the @code{stdio} library, the file
-@code{<stdio.h>} should be included before @code{readline.h}.
-
-@code{readline.h} defines a C preprocessor variable that should
-be treated as an integer, @code{RL_READLINE_VERSION}, which may
-be used to conditionally compile application code depending on
-the installed Readline version.  The value is a hexadecimal
-encoding of the major and minor version numbers of the library,
-of the form 0x@var{MMmm}.  @var{MM} is the two-digit major
-version number; @var{mm} is the two-digit minor version number. 
-For Readline 4.2, for example, the value of
-@code{RL_READLINE_VERSION} would be @code{0x0402}. 
-
-@menu
-* Readline Typedefs::  C declarations to make code readable.
-* Function Writing::   Variables and calling conventions.
-@end menu
-
-@node Readline Typedefs
-@subsection Readline Typedefs
-
-For readabilty, we declare a number of new object types, all pointers
-to functions.
-
-The reason for declaring these new types is to make it easier to write
-code describing pointers to C functions with appropriately prototyped
-arguments and return values.
-
-For instance, say we want to declare a variable @var{func} as a pointer
-to a function which takes two @code{int} arguments and returns an
-@code{int} (this is the type of all of the Readline bindable functions).
-Instead of the classic C declaration
-
-@code{int (*func)();}
-
-@noindent
-or the ANSI-C style declaration
-
-@code{int (*func)(int, int);}
-
-@noindent
-we may write
-
-@code{rl_command_func_t *func;}
-
-The full list of function pointer types available is
-
-@table @code
-@item typedef int rl_command_func_t (int, int);
-
-@item typedef char *rl_compentry_func_t (const char *, int);
-
-@item typedef char **rl_completion_func_t (const char *, int, int);
-
-@item typedef char *rl_quote_func_t (char *, int, char *);
-
-@item typedef char *rl_dequote_func_t (char *, int);
-
-@item typedef int rl_compignore_func_t (char **);
-
-@item typedef void rl_compdisp_func_t (char **, int, int);
-
-@item typedef int rl_hook_func_t (void);
-
-@item typedef int rl_getc_func_t (FILE *);
-
-@item typedef int rl_linebuf_func_t (char *, int);
-
-@item typedef int rl_intfunc_t (int);
-@item #define rl_ivoidfunc_t rl_hook_func_t
-@item typedef int rl_icpfunc_t (char *);
-@item typedef int rl_icppfunc_t (char **);
-
-@item typedef void rl_voidfunc_t (void);
-@item typedef void rl_vintfunc_t (int);
-@item typedef void rl_vcpfunc_t (char *);
-@item typedef void rl_vcppfunc_t (char **);
-
-@end table
-
-@node Function Writing
-@subsection Writing a New Function
-
-In order to write new functions for Readline, you need to know the
-calling conventions for keyboard-invoked functions, and the names of the
-variables that describe the current state of the line read so far.
-
-The calling sequence for a command @code{foo} looks like
-
-@example
-@code{int foo (int count, int key)}
-@end example
-
-@noindent
-where @var{count} is the numeric argument (or 1 if defaulted) and
-@var{key} is the key that invoked this function.
-
-It is completely up to the function as to what should be done with the
-numeric argument.  Some functions use it as a repeat count, some
-as a flag, and others to choose alternate behavior (refreshing the current
-line as opposed to refreshing the screen, for example).  Some choose to
-ignore it.  In general, if a
-function uses the numeric argument as a repeat count, it should be able
-to do something useful with both negative and positive arguments.
-At the very least, it should be aware that it can be passed a
-negative argument.
-
-A command function should return 0 if its action completes successfully,
-and a non-zero value if some error occurs.
-
-@node Readline Variables
-@section Readline Variables
-
-These variables are available to function writers.
-
-@deftypevar {char *} rl_line_buffer
-This is the line gathered so far.  You are welcome to modify the
-contents of the line, but see @ref{Allowing Undoing}.  The
-function @code{rl_extend_line_buffer} is available to increase
-the memory allocated to @code{rl_line_buffer}.
-@end deftypevar
-
-@deftypevar int rl_point
-The offset of the current cursor position in @code{rl_line_buffer}
-(the @emph{point}).
-@end deftypevar
-
-@deftypevar int rl_end
-The number of characters present in @code{rl_line_buffer}.  When
-@code{rl_point} is at the end of the line, @code{rl_point} and
-@code{rl_end} are equal.
-@end deftypevar
-
-@deftypevar int rl_mark
-The @var{mark} (saved position) in the current line.  If set, the mark
-and point define a @emph{region}.
-@end deftypevar
-
-@deftypevar int rl_done
-Setting this to a non-zero value causes Readline to return the current
-line immediately.
-@end deftypevar
-
-@deftypevar int rl_num_chars_to_read
-Setting this to a positive value before calling @code{readline()} causes
-Readline to return after accepting that many characters, rather
-than reading up to a character bound to @code{accept-line}.
-@end deftypevar
-
-@deftypevar int rl_pending_input
-Setting this to a value makes it the next keystroke read.  This is a
-way to stuff a single character into the input stream.
-@end deftypevar
-
-@deftypevar int rl_dispatching
-Set to a non-zero value if a function is being called from a key binding;
-zero otherwise.  Application functions can test this to discover whether
-they were called directly or by Readline's dispatching mechanism.
-@end deftypevar
-
-@deftypevar int rl_erase_empty_line
-Setting this to a non-zero value causes Readline to completely erase
-the current line, including any prompt, any time a newline is typed as
-the only character on an otherwise-empty line.  The cursor is moved to
-the beginning of the newly-blank line.
-@end deftypevar
-
-@deftypevar {char *} rl_prompt
-The prompt Readline uses.  This is set from the argument to
-@code{readline()}, and should not be assigned to directly.
-The @code{rl_set_prompt()} function (@pxref{Redisplay}) may
-be used to modify the prompt string after calling @code{readline()}.
-@end deftypevar
-
-@deftypevar int rl_already_prompted
-If an application wishes to display the prompt itself, rather than have
-Readline do it the first time @code{readline()} is called, it should set
-this variable to a non-zero value after displaying the prompt.
-The prompt must also be passed as the argument to @code{readline()} so
-the redisplay functions can update the display properly.
-The calling application is responsible for managing the value; Readline
-never sets it.
-@end deftypevar
-
-@deftypevar {const char *} rl_library_version
-The version number of this revision of the library.
-@end deftypevar
-
-@deftypevar int rl_readline_version
-An integer encoding the current version of the library.  The encoding is
-of the form 0x@var{MMmm}, where @var{MM} is the two-digit major version
-number, and @var{mm} is the two-digit minor version number.
-For example, for Readline-4.2, @code{rl_readline_version} would have the
-value 0x0402.
-@end deftypevar
-
-@deftypevar {int} rl_gnu_readline_p
-Always set to 1, denoting that this is @sc{gnu} readline rather than some
-emulation.
-@end deftypevar
-
-@deftypevar {const char *} rl_terminal_name
-The terminal type, used for initialization.  If not set by the application,
-Readline sets this to the value of the @env{TERM} environment variable
-the first time it is called.
-@end deftypevar
-
-@deftypevar {const char *} rl_readline_name
-This variable is set to a unique name by each application using Readline.
-The value allows conditional parsing of the inputrc file
-(@pxref{Conditional Init Constructs}).
-@end deftypevar
-
-@deftypevar {FILE *} rl_instream
-The stdio stream from which Readline reads input.
-If @code{NULL}, Readline defaults to @var{stdin}.
-@end deftypevar
-
-@deftypevar {FILE *} rl_outstream
-The stdio stream to which Readline performs output.
-If @code{NULL}, Readline defaults to @var{stdout}.
-@end deftypevar
-
-@deftypevar {rl_command_func_t *} rl_last_func
-The address of the last command function Readline executed.  May be used to
-test whether or not a function is being executed twice in succession, for
-example.
-@end deftypevar
-
-@deftypevar {rl_hook_func_t *} rl_startup_hook
-If non-zero, this is the address of a function to call just
-before @code{readline} prints the first prompt.
-@end deftypevar
-
-@deftypevar {rl_hook_func_t *} rl_pre_input_hook
-If non-zero, this is the address of a function to call after
-the first prompt has been printed and just before @code{readline}
-starts reading input characters.
-@end deftypevar
-
-@deftypevar {rl_hook_func_t *} rl_event_hook
-If non-zero, this is the address of a function to call periodically
-when Readline is waiting for terminal input.
-By default, this will be called at most ten times a second if there
-is no keyboard input.
-@end deftypevar
-
-@deftypevar {rl_getc_func_t *} rl_getc_function
-If non-zero, Readline will call indirectly through this pointer
-to get a character from the input stream.  By default, it is set to
-@code{rl_getc}, the default Readline character input function
-(@pxref{Character Input}).
-@end deftypevar
-
-@deftypevar {rl_voidfunc_t *} rl_redisplay_function
-If non-zero, Readline will call indirectly through this pointer
-to update the display with the current contents of the editing buffer.
-By default, it is set to @code{rl_redisplay}, the default Readline
-redisplay function (@pxref{Redisplay}).
-@end deftypevar
-
-@deftypevar {rl_vintfunc_t *} rl_prep_term_function
-If non-zero, Readline will call indirectly through this pointer
-to initialize the terminal.  The function takes a single argument, an
-@code{int} flag that says whether or not to use eight-bit characters.
-By default, this is set to @code{rl_prep_terminal}
-(@pxref{Terminal Management}).
-@end deftypevar
-
-@deftypevar {rl_voidfunc_t *} rl_deprep_term_function
-If non-zero, Readline will call indirectly through this pointer
-to reset the terminal.  This function should undo the effects of
-@code{rl_prep_term_function}.
-By default, this is set to @code{rl_deprep_terminal}
-(@pxref{Terminal Management}).
-@end deftypevar
-
-@deftypevar {Keymap} rl_executing_keymap
-This variable is set to the keymap (@pxref{Keymaps}) in which the
-currently executing readline function was found.
-@end deftypevar 
-
-@deftypevar {Keymap} rl_binding_keymap
-This variable is set to the keymap (@pxref{Keymaps}) in which the
-last key binding occurred.
-@end deftypevar 
-
-@deftypevar {char *} rl_executing_macro
-This variable is set to the text of any currently-executing macro.
-@end deftypevar
-
-@deftypevar {int} rl_readline_state
-A variable with bit values that encapsulate the current Readline state.
-A bit is set with the @code{RL_SETSTATE} macro, and unset with the
-@code{RL_UNSETSTATE} macro.  Use the @code{RL_ISSTATE} macro to test
-whether a particular state bit is set.  Current state bits include:
-
-@table @code
-@item RL_STATE_NONE
-Readline has not yet been called, nor has it begun to intialize.
-@item RL_STATE_INITIALIZING
-Readline is initializing its internal data structures.
-@item RL_STATE_INITIALIZED
-Readline has completed its initialization.
-@item RL_STATE_TERMPREPPED
-Readline has modified the terminal modes to do its own input and redisplay.
-@item RL_STATE_READCMD
-Readline is reading a command from the keyboard.
-@item RL_STATE_METANEXT
-Readline is reading more input after reading the meta-prefix character.
-@item RL_STATE_DISPATCHING
-Readline is dispatching to a command.
-@item RL_STATE_MOREINPUT
-Readline is reading more input while executing an editing command.
-@item RL_STATE_ISEARCH
-Readline is performing an incremental history search.
-@item RL_STATE_NSEARCH
-Readline is performing a non-incremental history search.
-@item RL_STATE_SEARCH
-Readline is searching backward or forward through the history for a string.
-@item RL_STATE_NUMERICARG
-Readline is reading a numeric argument.
-@item RL_STATE_MACROINPUT
-Readline is currently getting its input from a previously-defined keyboard
-macro.
-@item RL_STATE_MACRODEF
-Readline is currently reading characters defining a keyboard macro.
-@item RL_STATE_OVERWRITE
-Readline is in overwrite mode.
-@item RL_STATE_COMPLETING
-Readline is performing word completion.
-@item RL_STATE_SIGHANDLER
-Readline is currently executing the readline signal handler.
-@item RL_STATE_UNDOING
-Readline is performing an undo.
-@item RL_STATE_DONE
-Readline has read a key sequence bound to @code{accept-line}
-and is about to return the line to the caller.
-@end table
-
-@end deftypevar
-
-@deftypevar {int} rl_explicit_arg
-Set to a non-zero value if an explicit numeric argument was specified by
-the user.  Only valid in a bindable command function.
-@end deftypevar
-
-@deftypevar {int} rl_numeric_arg
-Set to the value of any numeric argument explicitly specified by the user
-before executing the current Readline function.  Only valid in a bindable
-command function.
-@end deftypevar
-
-@deftypevar {int} rl_editing_mode
-Set to a value denoting Readline's current editing mode.  A value of
-@var{1} means Readline is currently in emacs mode; @var{0}
-means that vi mode is active.
-@end deftypevar
-
-
-@node Readline Convenience Functions
-@section Readline Convenience Functions
-
-@menu
-* Function Naming::    How to give a function you write a name.
-* Keymaps::            Making keymaps.
-* Binding Keys::       Changing Keymaps.
-* Associating Function Names and Bindings::    Translate function names to
-                                               key sequences.
-* Allowing Undoing::   How to make your functions undoable.
-* Redisplay::          Functions to control line display.
-* Modifying Text::     Functions to modify @code{rl_line_buffer}.
-* Character Input::    Functions to read keyboard input.
-* Terminal Management::        Functions to manage terminal settings.
-* Utility Functions::  Generally useful functions and hooks.
-* Miscellaneous Functions::    Functions that don't fall into any category.
-* Alternate Interface::        Using Readline in a `callback' fashion.
-* A Readline Example::         An example Readline function.
-@end menu
-
-@node Function Naming
-@subsection Naming a Function
-
-The user can dynamically change the bindings of keys while using
-Readline.  This is done by representing the function with a descriptive
-name.  The user is able to type the descriptive name when referring to
-the function.  Thus, in an init file, one might find
-
-@example
-Meta-Rubout:   backward-kill-word
-@end example
-
-This binds the keystroke @key{Meta-Rubout} to the function
-@emph{descriptively} named @code{backward-kill-word}.  You, as the
-programmer, should bind the functions you write to descriptive names as
-well.  Readline provides a function for doing that:
-
-@deftypefun int rl_add_defun (const char *name, rl_command_func_t *function, int key)
-Add @var{name} to the list of named functions.  Make @var{function} be
-the function that gets called.  If @var{key} is not -1, then bind it to
-@var{function} using @code{rl_bind_key()}.
-@end deftypefun
-
-Using this function alone is sufficient for most applications.  It is
-the recommended way to add a few functions to the default functions that
-Readline has built in.  If you need to do something other
-than adding a function to Readline, you may need to use the
-underlying functions described below.
-
-@node Keymaps
-@subsection Selecting a Keymap
-
-Key bindings take place on a @dfn{keymap}.  The keymap is the
-association between the keys that the user types and the functions that
-get run.  You can make your own keymaps, copy existing keymaps, and tell
-Readline which keymap to use.
-
-@deftypefun Keymap rl_make_bare_keymap (void)
-Returns a new, empty keymap.  The space for the keymap is allocated with
-@code{malloc()}; the caller should free it by calling
-@code{rl_discard_keymap()} when done.
-@end deftypefun
-
-@deftypefun Keymap rl_copy_keymap (Keymap map)
-Return a new keymap which is a copy of @var{map}.
-@end deftypefun
-
-@deftypefun Keymap rl_make_keymap (void)
-Return a new keymap with the printing characters bound to rl_insert,
-the lowercase Meta characters bound to run their equivalents, and
-the Meta digits bound to produce numeric arguments.
-@end deftypefun
-
-@deftypefun void rl_discard_keymap (Keymap keymap)
-Free the storage associated with @var{keymap}.
-@end deftypefun
-
-Readline has several internal keymaps.  These functions allow you to
-change which keymap is active.
-
-@deftypefun Keymap rl_get_keymap (void)
-Returns the currently active keymap.
-@end deftypefun
-
-@deftypefun void rl_set_keymap (Keymap keymap)
-Makes @var{keymap} the currently active keymap.
-@end deftypefun
-
-@deftypefun Keymap rl_get_keymap_by_name (const char *name)
-Return the keymap matching @var{name}.  @var{name} is one which would
-be supplied in a @code{set keymap} inputrc line (@pxref{Readline Init File}).
-@end deftypefun
-
-@deftypefun {char *} rl_get_keymap_name (Keymap keymap)
-Return the name matching @var{keymap}.  @var{name} is one which would
-be supplied in a @code{set keymap} inputrc line (@pxref{Readline Init File}).
-@end deftypefun
-
-@node Binding Keys
-@subsection Binding Keys
-
-Key sequences are associate with functions through the keymap.
-Readline has several internal keymaps: @code{emacs_standard_keymap},
-@code{emacs_meta_keymap}, @code{emacs_ctlx_keymap},
-@code{vi_movement_keymap}, and @code{vi_insertion_keymap}.
-@code{emacs_standard_keymap} is the default, and the examples in
-this manual assume that.
-
-Since @code{readline()} installs a set of default key bindings the first
-time it is called, there is always the danger that a custom binding
-installed before the first call to @code{readline()} will be overridden.
-An alternate mechanism is to install custom key bindings in an
-initialization function assigned to the @code{rl_startup_hook} variable
-(@pxref{Readline Variables}).
-
-These functions manage key bindings.
-
-@deftypefun int rl_bind_key (int key, rl_command_func_t *function)
-Binds @var{key} to @var{function} in the currently active keymap.
-Returns non-zero in the case of an invalid @var{key}.
-@end deftypefun
-
-@deftypefun int rl_bind_key_in_map (int key, rl_command_func_t *function, Keymap map)
-Bind @var{key} to @var{function} in @var{map}.  Returns non-zero in the case
-of an invalid @var{key}.
-@end deftypefun
-
-@deftypefun int rl_unbind_key (int key)
-Bind @var{key} to the null function in the currently active keymap.
-Returns non-zero in case of error.
-@end deftypefun
-
-@deftypefun int rl_unbind_key_in_map (int key, Keymap map)
-Bind @var{key} to the null function in @var{map}.
-Returns non-zero in case of error.
-@end deftypefun
-
-@deftypefun int rl_unbind_function_in_map (rl_command_func_t *function, Keymap map)
-Unbind all keys that execute @var{function} in @var{map}.
-@end deftypefun
-
-@deftypefun int rl_unbind_command_in_map (const char *command, Keymap map)
-Unbind all keys that are bound to @var{command} in @var{map}.
-@end deftypefun
-
-@deftypefun int rl_set_key (const char *keyseq, rl_command_func_t *function, Keymap map)
-Bind the key sequence represented by the string @var{keyseq} to the function
-@var{function}.  This makes new keymaps as
-necessary.  The initial keymap in which to do bindings is @var{map}.
-@end deftypefun
-
-@deftypefun int rl_generic_bind (int type, const char *keyseq, char *data, Keymap map)
-Bind the key sequence represented by the string @var{keyseq} to the arbitrary
-pointer @var{data}.  @var{type} says what kind of data is pointed to by
-@var{data}; this can be a function (@code{ISFUNC}), a macro
-(@code{ISMACR}), or a keymap (@code{ISKMAP}).  This makes new keymaps as
-necessary.  The initial keymap in which to do bindings is @var{map}.
-@end deftypefun
-
-@deftypefun int rl_parse_and_bind (char *line)
-Parse @var{line} as if it had been read from the @code{inputrc} file and
-perform any key bindings and variable assignments found
-(@pxref{Readline Init File}).
-@end deftypefun
-
-@deftypefun int rl_read_init_file (const char *filename)
-Read keybindings and variable assignments from @var{filename}
-(@pxref{Readline Init File}).
-@end deftypefun
-
-@node Associating Function Names and Bindings
-@subsection Associating Function Names and Bindings
-
-These functions allow you to find out what keys invoke named functions
-and the functions invoked by a particular key sequence.  You may also
-associate a new function name with an arbitrary function.
-
-@deftypefun {rl_command_func_t *} rl_named_function (const char *name)
-Return the function with name @var{name}.
-@end deftypefun
-
-@deftypefun {rl_command_func_t *} rl_function_of_keyseq (const char *keyseq, Keymap map, int *type)
-Return the function invoked by @var{keyseq} in keymap @var{map}.
-If @var{map} is @code{NULL}, the current keymap is used.  If @var{type} is
-not @code{NULL}, the type of the object is returned in the @code{int} variable
-it points to (one of @code{ISFUNC}, @code{ISKMAP}, or @code{ISMACR}).
-@end deftypefun
-
-@deftypefun {char **} rl_invoking_keyseqs (rl_command_func_t *function)
-Return an array of strings representing the key sequences used to
-invoke @var{function} in the current keymap.
-@end deftypefun
-
-@deftypefun {char **} rl_invoking_keyseqs_in_map (rl_command_func_t *function, Keymap map)
-Return an array of strings representing the key sequences used to
-invoke @var{function} in the keymap @var{map}.
-@end deftypefun
-
-@deftypefun void rl_function_dumper (int readable)
-Print the readline function names and the key sequences currently
-bound to them to @code{rl_outstream}.  If @var{readable} is non-zero,
-the list is formatted in such a way that it can be made part of an
-@code{inputrc} file and re-read.
-@end deftypefun
-
-@deftypefun void rl_list_funmap_names (void)
-Print the names of all bindable Readline functions to @code{rl_outstream}.
-@end deftypefun
-
-@deftypefun {const char **} rl_funmap_names (void)
-Return a NULL terminated array of known function names.  The array is
-sorted.  The array itself is allocated, but not the strings inside.  You
-should @code{free()} the array when you are done, but not the pointers.
-@end deftypefun
-
-@deftypefun int rl_add_funmap_entry (const char *name, rl_command_func_t *function)
-Add @var{name} to the list of bindable Readline command names, and make
-@var{function} the function to be called when @var{name} is invoked.
-@end deftypefun
-
-@node Allowing Undoing
-@subsection Allowing Undoing
-
-Supporting the undo command is a painless thing, and makes your
-functions much more useful.  It is certainly easy to try
-something if you know you can undo it.
-
-If your function simply inserts text once, or deletes text once, and
-uses @code{rl_insert_text()} or @code{rl_delete_text()} to do it, then
-undoing is already done for you automatically.
-
-If you do multiple insertions or multiple deletions, or any combination
-of these operations, you should group them together into one operation.
-This is done with @code{rl_begin_undo_group()} and
-@code{rl_end_undo_group()}.
-
-The types of events that can be undone are:
-
-@smallexample
-enum undo_code @{ UNDO_DELETE, UNDO_INSERT, UNDO_BEGIN, UNDO_END @}; 
-@end smallexample
-
-Notice that @code{UNDO_DELETE} means to insert some text, and
-@code{UNDO_INSERT} means to delete some text.  That is, the undo code
-tells what to undo, not how to undo it.  @code{UNDO_BEGIN} and
-@code{UNDO_END} are tags added by @code{rl_begin_undo_group()} and
-@code{rl_end_undo_group()}.
-
-@deftypefun int rl_begin_undo_group (void)
-Begins saving undo information in a group construct.  The undo
-information usually comes from calls to @code{rl_insert_text()} and
-@code{rl_delete_text()}, but could be the result of calls to
-@code{rl_add_undo()}.
-@end deftypefun
-
-@deftypefun int rl_end_undo_group (void)
-Closes the current undo group started with @code{rl_begin_undo_group
-()}.  There should be one call to @code{rl_end_undo_group()}
-for each call to @code{rl_begin_undo_group()}.
-@end deftypefun
-
-@deftypefun void rl_add_undo (enum undo_code what, int start, int end, char *text)
-Remember how to undo an event (according to @var{what}).  The affected
-text runs from @var{start} to @var{end}, and encompasses @var{text}.
-@end deftypefun
-
-@deftypefun void rl_free_undo_list (void)
-Free the existing undo list.
-@end deftypefun
-
-@deftypefun int rl_do_undo (void)
-Undo the first thing on the undo list.  Returns @code{0} if there was
-nothing to undo, non-zero if something was undone.
-@end deftypefun
-
-Finally, if you neither insert nor delete text, but directly modify the
-existing text (e.g., change its case), call @code{rl_modifying()}
-once, just before you modify the text.  You must supply the indices of
-the text range that you are going to modify.
-
-@deftypefun int rl_modifying (int start, int end)
-Tell Readline to save the text between @var{start} and @var{end} as a
-single undo unit.  It is assumed that you will subsequently modify
-that text.
-@end deftypefun
-
-@node Redisplay
-@subsection Redisplay
-
-@deftypefun void rl_redisplay (void)
-Change what's displayed on the screen to reflect the current contents
-of @code{rl_line_buffer}.
-@end deftypefun
-
-@deftypefun int rl_forced_update_display (void)
-Force the line to be updated and redisplayed, whether or not
-Readline thinks the screen display is correct.
-@end deftypefun
-
-@deftypefun int rl_on_new_line (void)
-Tell the update functions that we have moved onto a new (empty) line,
-usually after ouputting a newline.
-@end deftypefun
-
-@deftypefun int rl_on_new_line_with_prompt (void)
-Tell the update functions that we have moved onto a new line, with
-@var{rl_prompt} already displayed.
-This could be used by applications that want to output the prompt string
-themselves, but still need Readline to know the prompt string length for
-redisplay.
-It should be used after setting @var{rl_already_prompted}.
-@end deftypefun
-
-@deftypefun int rl_reset_line_state (void)
-Reset the display state to a clean state and redisplay the current line
-starting on a new line.
-@end deftypefun
-
-@deftypefun int rl_crlf (void)
-Move the cursor to the start of the next screen line.
-@end deftypefun
-
-@deftypefun int rl_show_char (int c)
-Display character @var{c} on @code{rl_outstream}.
-If Readline has not been set to display meta characters directly, this
-will convert meta characters to a meta-prefixed key sequence.
-This is intended for use by applications which wish to do their own
-redisplay.
-@end deftypefun
-
-@deftypefun int rl_message (const char *, @dots{})
-The arguments are a format string as would be supplied to @code{printf},
-possibly containing conversion specifications such as @samp{%d}, and
-any additional arguments necessary to satisfy the conversion specifications.
-The resulting string is displayed in the @dfn{echo area}.  The echo area
-is also used to display numeric arguments and search strings.
-@end deftypefun
-
-@deftypefun int rl_clear_message (void)
-Clear the message in the echo area.
-@end deftypefun
-
-@deftypefun void rl_save_prompt (void)
-Save the local Readline prompt display state in preparation for
-displaying a new message in the message area with @code{rl_message()}.
-@end deftypefun
-
-@deftypefun void rl_restore_prompt (void)
-Restore the local Readline prompt display state saved by the most
-recent call to @code{rl_save_prompt}.
-@end deftypefun
-
-@deftypefun int rl_expand_prompt (char *prompt)
-Expand any special character sequences in @var{prompt} and set up the
-local Readline prompt redisplay variables.
-This function is called by @code{readline()}.  It may also be called to
-expand the primary prompt if the @code{rl_on_new_line_with_prompt()}
-function or @code{rl_already_prompted} variable is used.
-It returns the number of visible characters on the last line of the
-(possibly multi-line) prompt.
-@end deftypefun
-
-@deftypefun int rl_set_prompt (const char *prompt)
-Make Readline use @var{prompt} for subsequent redisplay.  This calls
-@code{rl_expand_prompt()} to expand the prompt and sets @code{rl_prompt}
-to the result.
-@end deftypefun
-
-@node Modifying Text
-@subsection Modifying Text
-
-@deftypefun int rl_insert_text (const char *text)
-Insert @var{text} into the line at the current cursor position.
-Returns the number of characters inserted.
-@end deftypefun
-
-@deftypefun int rl_delete_text (int start, int end)
-Delete the text between @var{start} and @var{end} in the current line.
-Returns the number of characters deleted.
-@end deftypefun
-
-@deftypefun {char *} rl_copy_text (int start, int end)
-Return a copy of the text between @var{start} and @var{end} in
-the current line.
-@end deftypefun
-
-@deftypefun int rl_kill_text (int start, int end)
-Copy the text between @var{start} and @var{end} in the current line
-to the kill ring, appending or prepending to the last kill if the
-last command was a kill command.  The text is deleted.
-If @var{start} is less than @var{end},
-the text is appended, otherwise prepended.  If the last command was
-not a kill, a new kill ring slot is used.
-@end deftypefun
-
-@deftypefun int rl_push_macro_input (char *macro)
-Cause @var{macro} to be inserted into the line, as if it had been invoked
-by a key bound to a macro.  Not especially useful; use
-@code{rl_insert_text()} instead.
-@end deftypefun
-
-@node Character Input
-@subsection Character Input
-
-@deftypefun int rl_read_key (void)
-Return the next character available from Readline's current input stream.
-This handles input inserted into
-the input stream via @var{rl_pending_input} (@pxref{Readline Variables})
-and @code{rl_stuff_char()}, macros, and characters read from the keyboard.
-While waiting for input, this function will call any function assigned to
-the @code{rl_event_hook} variable.
-@end deftypefun
-
-@deftypefun int rl_getc (FILE *stream)
-Return the next character available from @var{stream}, which is assumed to
-be the keyboard.
-@end deftypefun
-
-@deftypefun int rl_stuff_char (int c)
-Insert @var{c} into the Readline input stream.  It will be "read"
-before Readline attempts to read characters from the terminal with
-@code{rl_read_key()}.  Up to 512 characters may be pushed back.
-@code{rl_stuff_char} returns 1 if the character was successfully inserted;
-0 otherwise.
-@end deftypefun
-
-@deftypefun int rl_execute_next (int c)
-Make @var{c} be the next command to be executed when @code{rl_read_key()}
-is called.  This sets @var{rl_pending_input}.
-@end deftypefun
-
-@deftypefun int rl_clear_pending_input (void)
-Unset @var{rl_pending_input}, effectively negating the effect of any
-previous call to @code{rl_execute_next()}.  This works only if the
-pending input has not already been read with @code{rl_read_key()}.
-@end deftypefun
-
-@deftypefun int rl_set_keyboard_input_timeout (int u)
-While waiting for keyboard input in @code{rl_read_key()}, Readline will
-wait for @var{u} microseconds for input before calling any function
-assigned to @code{rl_event_hook}.  The default waiting period is
-one-tenth of a second.  Returns the old timeout value.
-@end deftypefun
-
-@node Terminal Management
-@subsection Terminal Management
-
-@deftypefun void rl_prep_terminal (int meta_flag)
-Modify the terminal settings for Readline's use, so @code{readline()}
-can read a single character at a time from the keyboard.
-The @var{meta_flag} argument should be non-zero if Readline should
-read eight-bit input.
-@end deftypefun
-
-@deftypefun void rl_deprep_terminal (void)
-Undo the effects of @code{rl_prep_terminal()}, leaving the terminal in
-the state in which it was before the most recent call to
-@code{rl_prep_terminal()}.
-@end deftypefun
-
-@deftypefun void rl_tty_set_default_bindings (Keymap kmap)
-Read the operating system's terminal editing characters (as would be displayed
-by @code{stty}) to their Readline equivalents.  The bindings are performed
-in @var{kmap}.
-@end deftypefun
-
-@deftypefun int rl_reset_terminal (const char *terminal_name)
-Reinitialize Readline's idea of the terminal settings using
-@var{terminal_name} as the terminal type (e.g., @code{vt100}).
-If @var{terminal_name} is @code{NULL}, the value of the @code{TERM}
-environment variable is used.
-@end deftypefun
-
-@node Utility Functions
-@subsection Utility Functions
-
-@deftypefun void rl_replace_line (const char *text, int clear_undo)
-Replace the contents of @code{rl_line_buffer} with @var{text}.
-The point and mark are preserved, if possible.
-If @var{clear_undo} is non-zero, the undo list associated with the
-current line is cleared.
-@end deftypefun
-
-@deftypefun int rl_extend_line_buffer (int len)
-Ensure that @code{rl_line_buffer} has enough space to hold @var{len}
-characters, possibly reallocating it if necessary.
-@end deftypefun
-
-@deftypefun int rl_initialize (void)
-Initialize or re-initialize Readline's internal state.
-It's not strictly necessary to call this; @code{readline()} calls it before
-reading any input.
-@end deftypefun
-
-@deftypefun int rl_ding (void)
-Ring the terminal bell, obeying the setting of @code{bell-style}.
-@end deftypefun
-
-@deftypefun int rl_alphabetic (int c)
-Return 1 if @var{c} is an alphabetic character.
-@end deftypefun
-
-@deftypefun void rl_display_match_list (char **matches, int len, int max)
-A convenience function for displaying a list of strings in
-columnar format on Readline's output stream.  @code{matches} is the list
-of strings, in argv format, such as a list of completion matches.
-@code{len} is the number of strings in @code{matches}, and @code{max}
-is the length of the longest string in @code{matches}.  This function uses
-the setting of @code{print-completions-horizontally} to select how the
-matches are displayed (@pxref{Readline Init File Syntax}).
-@end deftypefun
-
-The following are implemented as macros, defined in @code{chardefs.h}.
-Applications should refrain from using them.
-
-@deftypefun int _rl_uppercase_p (int c)
-Return 1 if @var{c} is an uppercase alphabetic character.
-@end deftypefun
-
-@deftypefun int _rl_lowercase_p (int c)
-Return 1 if @var{c} is a lowercase alphabetic character.
-@end deftypefun
-
-@deftypefun int _rl_digit_p (int c)
-Return 1 if @var{c} is a numeric character.
-@end deftypefun
-
-@deftypefun int _rl_to_upper (int c)
-If @var{c} is a lowercase alphabetic character, return the corresponding
-uppercase character.
-@end deftypefun
-
-@deftypefun int _rl_to_lower (int c)
-If @var{c} is an uppercase alphabetic character, return the corresponding
-lowercase character.
-@end deftypefun
-
-@deftypefun int _rl_digit_value (int c)
-If @var{c} is a number, return the value it represents.
-@end deftypefun
-
-@node Miscellaneous Functions
-@subsection Miscellaneous Functions
-
-@deftypefun int rl_macro_bind (const char *keyseq, const char *macro, Keymap map)
-Bind the key sequence @var{keyseq} to invoke the macro @var{macro}.
-The binding is performed in @var{map}.  When @var{keyseq} is invoked, the
-@var{macro} will be inserted into the line.  This function is deprecated;
-use @code{rl_generic_bind()} instead.
-@end deftypefun
-
-@deftypefun void rl_macro_dumper (int readable)
-Print the key sequences bound to macros and their values, using
-the current keymap, to @code{rl_outstream}.
-If @var{readable} is non-zero, the list is formatted in such a way
-that it can be made part of an @code{inputrc} file and re-read.
-@end deftypefun
-
-@deftypefun int rl_variable_bind (const char *variable, const char *value)
-Make the Readline variable @var{variable} have @var{value}.
-This behaves as if the readline command
-@samp{set @var{variable} @var{value}} had been executed in an @code{inputrc}
-file (@pxref{Readline Init File Syntax}).
-@end deftypefun
-
-@deftypefun void rl_variable_dumper (int readable)
-Print the readline variable names and their current values
-to @code{rl_outstream}.
-If @var{readable} is non-zero, the list is formatted in such a way
-that it can be made part of an @code{inputrc} file and re-read.
-@end deftypefun
-
-@deftypefun int rl_set_paren_blink_timeout (int u)
-Set the time interval (in microseconds) that Readline waits when showing
-a balancing character when @code{blink-matching-paren} has been enabled.
-@end deftypefun
-
-@deftypefun {char *} rl_get_termcap (const char *cap)
-Retrieve the string value of the termcap capability @var{cap}.
-Readline fetches the termcap entry for the current terminal name and
-uses those capabilities to move around the screen line and perform other
-terminal-specific operations, like erasing a line.  Readline does not
-use all of a terminal's capabilities, and this function will return
-values for only those capabilities Readline uses.
-@end deftypefun
-
-@node Alternate Interface
-@subsection Alternate Interface
-
-An alternate interface is available to plain @code{readline()}.  Some
-applications need to interleave keyboard I/O with file, device, or
-window system I/O, typically by using a main loop to @code{select()}
-on various file descriptors.  To accomodate this need, readline can
-also be invoked as a `callback' function from an event loop.  There
-are functions available to make this easy.
-
-@deftypefun void rl_callback_handler_install (const char *prompt, rl_vcpfunc_t *lhandler)
-Set up the terminal for readline I/O and display the initial
-expanded value of @var{prompt}.  Save the value of @var{lhandler} to
-use as a function to call when a complete line of input has been entered.
-The function takes the text of the line as an argument.
-@end deftypefun
-
-@deftypefun void rl_callback_read_char (void)
-Whenever an application determines that keyboard input is available, it
-should call @code{rl_callback_read_char()}, which will read the next
-character from the current input source.
-If that character completes the line, @code{rl_callback_read_char} will
-invoke the @var{lhandler} function saved by @code{rl_callback_handler_install}
-to process the line.
-Before calling the @var{lhandler} function, the terminal settings are
-reset to the values they had before calling
-@code{rl_callback_handler_install}.
-If the @var{lhandler} function returns,
-the terminal settings are modified for Readline's use again.
-@code{EOF} is  indicated by calling @var{lhandler} with a
-@code{NULL} line.
-@end deftypefun
-
-@deftypefun void rl_callback_handler_remove (void)
-Restore the terminal to its initial state and remove the line handler.
-This may be called from within a callback as well as independently.
-If the @var{lhandler} installed by @code{rl_callback_handler_install}
-does not exit the program, either this function or the function referred
-to by the value of @code{rl_deprep_term_function} should be called before
-the program exits to reset the terminal settings.
-@end deftypefun
-
-@node A Readline Example
-@subsection A Readline Example
-
-Here is a function which changes lowercase characters to their uppercase
-equivalents, and uppercase characters to lowercase.  If
-this function was bound to @samp{M-c}, then typing @samp{M-c} would
-change the case of the character under point.  Typing @samp{M-1 0 M-c}
-would change the case of the following 10 characters, leaving the cursor on
-the last character changed.
-
-@example
-/* Invert the case of the COUNT following characters. */
-int
-invert_case_line (count, key)
-     int count, key;
-@{
-  register int start, end, i;
-
-  start = rl_point;
-
-  if (rl_point >= rl_end)
-    return (0);
-
-  if (count < 0)
-    @{
-      direction = -1;
-      count = -count;
-    @}
-  else
-    direction = 1;
-      
-  /* Find the end of the range to modify. */
-  end = start + (count * direction);
-
-  /* Force it to be within range. */
-  if (end > rl_end)
-    end = rl_end;
-  else if (end < 0)
-    end = 0;
-
-  if (start == end)
-    return (0);
-
-  if (start > end)
-    @{
-      int temp = start;
-      start = end;
-      end = temp;
-    @}
-
-  /* Tell readline that we are modifying the line,
-     so it will save the undo information. */
-  rl_modifying (start, end);
-
-  for (i = start; i != end; i++)
-    @{
-      if (_rl_uppercase_p (rl_line_buffer[i]))
-        rl_line_buffer[i] = _rl_to_lower (rl_line_buffer[i]);
-      else if (_rl_lowercase_p (rl_line_buffer[i]))
-        rl_line_buffer[i] = _rl_to_upper (rl_line_buffer[i]);
-    @}
-  /* Move point to on top of the last character changed. */
-  rl_point = (direction == 1) ? end - 1 : start;
-  return (0);
-@}
-@end example
-
-@node Readline Signal Handling
-@section Readline Signal Handling
-
-Signals are asynchronous events sent to a process by the Unix kernel,
-sometimes on behalf of another process.  They are intended to indicate
-exceptional events, like a user pressing the interrupt key on his terminal,
-or a network connection being broken.  There is a class of signals that can
-be sent to the process currently reading input from the keyboard.  Since
-Readline changes the terminal attributes when it is called, it needs to
-perform special processing when such a signal is received in order to
-restore the terminal to a sane state, or provide application writers with
-functions to do so manually. 
-
-Readline contains an internal signal handler that is installed for a
-number of signals (@code{SIGINT}, @code{SIGQUIT}, @code{SIGTERM},
-@code{SIGALRM}, @code{SIGTSTP}, @code{SIGTTIN}, and @code{SIGTTOU}).
-When one of these signals is received, the signal handler
-will reset the terminal attributes to those that were in effect before
-@code{readline()} was called, reset the signal handling to what it was
-before @code{readline()} was called, and resend the signal to the calling
-application.
-If and when the calling application's signal handler returns, Readline
-will reinitialize the terminal and continue to accept input.
-When a @code{SIGINT} is received, the Readline signal handler performs
-some additional work, which will cause any partially-entered line to be
-aborted (see the description of @code{rl_free_line_state()} below).
-
-There is an additional Readline signal handler, for @code{SIGWINCH}, which
-the kernel sends to a process whenever the terminal's size changes (for
-example, if a user resizes an @code{xterm}).  The Readline @code{SIGWINCH}
-handler updates Readline's internal screen size information, and then calls
-any @code{SIGWINCH} signal handler the calling application has installed. 
-Readline calls the application's @code{SIGWINCH} signal handler without
-resetting the terminal to its original state.  If the application's signal
-handler does more than update its idea of the terminal size and return (for
-example, a @code{longjmp} back to a main processing loop), it @emph{must}
-call @code{rl_cleanup_after_signal()} (described below), to restore the
-terminal state. 
-
-Readline provides two variables that allow application writers to
-control whether or not it will catch certain signals and act on them
-when they are received.  It is important that applications change the
-values of these variables only when calling @code{readline()}, not in
-a signal handler, so Readline's internal signal state is not corrupted.
-
-@deftypevar int rl_catch_signals
-If this variable is non-zero, Readline will install signal handlers for
-@code{SIGINT}, @code{SIGQUIT}, @code{SIGTERM}, @code{SIGALRM},
-@code{SIGTSTP}, @code{SIGTTIN}, and @code{SIGTTOU}.
-
-The default value of @code{rl_catch_signals} is 1.
-@end deftypevar
-
-@deftypevar int rl_catch_sigwinch
-If this variable is non-zero, Readline will install a signal handler for
-@code{SIGWINCH}.
-
-The default value of @code{rl_catch_sigwinch} is 1.
-@end deftypevar
-
-If an application does not wish to have Readline catch any signals, or
-to handle signals other than those Readline catches (@code{SIGHUP},
-for example), 
-Readline provides convenience functions to do the necessary terminal
-and internal state cleanup upon receipt of a signal.
-
-@deftypefun void rl_cleanup_after_signal (void)
-This function will reset the state of the terminal to what it was before
-@code{readline()} was called, and remove the Readline signal handlers for
-all signals, depending on the values of @code{rl_catch_signals} and
-@code{rl_catch_sigwinch}.
-@end deftypefun
-
-@deftypefun void rl_free_line_state (void)
-This will free any partial state associated with the current input line
-(undo information, any partial history entry, any partially-entered
-keyboard macro, and any partially-entered numeric argument).  This
-should be called before @code{rl_cleanup_after_signal()}.  The
-Readline signal handler for @code{SIGINT} calls this to abort the
-current input line.
-@end deftypefun
-
-@deftypefun void rl_reset_after_signal (void)
-This will reinitialize the terminal and reinstall any Readline signal
-handlers, depending on the values of @code{rl_catch_signals} and
-@code{rl_catch_sigwinch}.
-@end deftypefun
-
-If an application does not wish Readline to catch @code{SIGWINCH}, it may
-call @code{rl_resize_terminal()} or @code{rl_set_screen_size()} to force
-Readline to update its idea of the terminal size when a @code{SIGWINCH}
-is received.
-
-@deftypefun void rl_resize_terminal (void)
-Update Readline's internal screen size by reading values from the kernel.
-@end deftypefun
-
-@deftypefun void rl_set_screen_size (int rows, int cols)
-Set Readline's idea of the terminal size to @var{rows} rows and
-@var{cols} columns.
-@end deftypefun
-
-If an application does not want to install a @code{SIGWINCH} handler, but
-is still interested in the screen dimensions, Readline's idea of the screen
-size may be queried.
-
-@deftypefun void rl_get_screen_size (int *rows, int *cols)
-Return Readline's idea of the terminal's size in the
-variables pointed to by the arguments.
-@end deftypefun
-
-The following functions install and remove Readline's signal handlers.
-
-@deftypefun int rl_set_signals (void)
-Install Readline's signal handler for @code{SIGINT}, @code{SIGQUIT},
-@code{SIGTERM}, @code{SIGALRM}, @code{SIGTSTP}, @code{SIGTTIN},
-@code{SIGTTOU}, and @code{SIGWINCH}, depending on the values of
-@code{rl_catch_signals} and @code{rl_catch_sigwinch}.
-@end deftypefun
-
-@deftypefun int rl_clear_signals (void)
-Remove all of the Readline signal handlers installed by
-@code{rl_set_signals()}.
-@end deftypefun
-
-@node Custom Completers
-@section Custom Completers
-
-Typically, a program that reads commands from the user has a way of
-disambiguating commands and data.  If your program is one of these, then
-it can provide completion for commands, data, or both.
-The following sections describe how your program and Readline
-cooperate to provide this service.
-
-@menu
-* How Completing Works::       The logic used to do completion.
-* Completion Functions::       Functions provided by Readline.
-* Completion Variables::       Variables which control completion.
-* A Short Completion Example:: An example of writing completer subroutines.
-@end menu
-
-@node How Completing Works
-@subsection How Completing Works
-
-In order to complete some text, the full list of possible completions
-must be available.  That is, it is not possible to accurately
-expand a partial word without knowing all of the possible words
-which make sense in that context.  The Readline library provides
-the user interface to completion, and two of the most common
-completion functions:  filename and username.  For completing other types
-of text, you must write your own completion function.  This section
-describes exactly what such functions must do, and provides an example.
-
-There are three major functions used to perform completion:
-
-@enumerate
-@item
-The user-interface function @code{rl_complete()}.  This function is
-called with the same arguments as other bindable Readline functions:
-@var{count} and @var{invoking_key}.
-It isolates the word to be completed and calls
-@code{rl_completion_matches()} to generate a list of possible completions.
-It then either lists the possible completions, inserts the possible
-completions, or actually performs the
-completion, depending on which behavior is desired.
-
-@item
-The internal function @code{rl_completion_matches()} uses an
-application-supplied @dfn{generator} function to generate the list of
-possible matches, and then returns the array of these matches.
-The caller should place the address of its generator function in
-@code{rl_completion_entry_function}.
-
-@item
-The generator function is called repeatedly from
-@code{rl_completion_matches()}, returning a string each time.  The
-arguments to the generator function are @var{text} and @var{state}.
-@var{text} is the partial word to be completed.  @var{state} is zero the
-first time the function is called, allowing the generator to perform
-any necessary initialization, and a positive non-zero integer for
-each subsequent call.  The generator function returns
-@code{(char *)NULL} to inform @code{rl_completion_matches()} that there are
-no more possibilities left.  Usually the generator function computes the
-list of possible completions when @var{state} is zero, and returns them
-one at a time on subsequent calls.  Each string the generator function
-returns as a match must be allocated with @code{malloc()}; Readline
-frees the strings when it has finished with them.
-
-@end enumerate
-
-@deftypefun int rl_complete (int ignore, int invoking_key)
-Complete the word at or before point.  You have supplied the function
-that does the initial simple matching selection algorithm (see
-@code{rl_completion_matches()}).  The default is to do filename completion.
-@end deftypefun
-
-@deftypevar {rl_compentry_func_t *} rl_completion_entry_function
-This is a pointer to the generator function for
-@code{rl_completion_matches()}.
-If the value of @code{rl_completion_entry_function} is
-@code{NULL} then the default filename generator
-function, @code{rl_filename_completion_function()}, is used.
-@end deftypevar
-
-@node Completion Functions
-@subsection Completion Functions
-
-Here is the complete list of callable completion functions present in
-Readline.
-
-@deftypefun int rl_complete_internal (int what_to_do)
-Complete the word at or before point.  @var{what_to_do} says what to do
-with the completion.  A value of @samp{?} means list the possible
-completions.  @samp{TAB} means do standard completion.  @samp{*} means
-insert all of the possible completions.  @samp{!} means to display
-all of the possible completions, if there is more than one, as well as
-performing partial completion.
-@end deftypefun
-
-@deftypefun int rl_complete (int ignore, int invoking_key)
-Complete the word at or before point.  You have supplied the function
-that does the initial simple matching selection algorithm (see
-@code{rl_completion_matches()} and @code{rl_completion_entry_function}).
-The default is to do filename
-completion.  This calls @code{rl_complete_internal()} with an
-argument depending on @var{invoking_key}.
-@end deftypefun
-
-@deftypefun int rl_possible_completions (int count, int invoking_key)
-List the possible completions.  See description of @code{rl_complete
-()}.  This calls @code{rl_complete_internal()} with an argument of
-@samp{?}.
-@end deftypefun
-
-@deftypefun int rl_insert_completions (int count, int invoking_key)
-Insert the list of possible completions into the line, deleting the
-partially-completed word.  See description of @code{rl_complete()}.
-This calls @code{rl_complete_internal()} with an argument of @samp{*}.
-@end deftypefun
-
-@deftypefun int rl_completion_mode (rl_command_func_t *cfunc)
-Returns the apppriate value to pass to @code{rl_complete_internal()}
-depending on whether @var{cfunc} was called twice in succession and
-the value of the @code{show-all-if-ambiguous} variable.
-Application-specific completion functions may use this function to present
-the same interface as @code{rl_complete()}.
-@end deftypefun
-
-@deftypefun {char **} rl_completion_matches (const char *text, rl_compentry_func_t *entry_func)
-Returns an array of strings which is a list of completions for
-@var{text}.  If there are no completions, returns @code{NULL}.
-The first entry in the returned array is the substitution for @var{text}.
-The remaining entries are the possible completions.  The array is
-terminated with a @code{NULL} pointer.
-
-@var{entry_func} is a function of two args, and returns a
-@code{char *}.  The first argument is @var{text}.  The second is a
-state argument; it is zero on the first call, and non-zero on subsequent
-calls.  @var{entry_func} returns a @code{NULL}  pointer to the caller
-when there are no more matches.
-@end deftypefun
-
-@deftypefun {char *} rl_filename_completion_function (const char *text, int state)
-A generator function for filename completion in the general case.
-@var{text} is a partial filename.
-The Bash source is a useful reference for writing custom
-completion functions (the Bash completion functions call this and other
-Readline functions).
-@end deftypefun
-
-@deftypefun {char *} rl_username_completion_function (const char *text, int state)
-A completion generator for usernames.  @var{text} contains a partial
-username preceded by a random character (usually @samp{~}).  As with all
-completion generators, @var{state} is zero on the first call and non-zero
-for subsequent calls.
-@end deftypefun
-
-@node Completion Variables
-@subsection Completion Variables
-
-@deftypevar {rl_compentry_func_t *} rl_completion_entry_function
-A pointer to the generator function for @code{rl_completion_matches()}.
-@code{NULL} means to use @code{rl_filename_completion_function()}, the default
-filename completer.
-@end deftypevar
-
-@deftypevar {rl_completion_func_t *} rl_attempted_completion_function
-A pointer to an alternative function to create matches.
-The function is called with @var{text}, @var{start}, and @var{end}.
-@var{start} and @var{end} are indices in @code{rl_line_buffer} defining
-the boundaries of @var{text}, which is a character string.
-If this function exists and returns @code{NULL}, or if this variable is
-set to @code{NULL}, then @code{rl_complete()} will call the value of
-@code{rl_completion_entry_function} to generate matches, otherwise the
-array of strings returned will be used.
-If this function sets the @code{rl_attempted_completion_over}
-variable to a non-zero value, Readline will not perform its default
-completion even if this function returns no matches.
-@end deftypevar
-
-@deftypevar {rl_quote_func_t *} rl_filename_quoting_function
-A pointer to a function that will quote a filename in an
-application-specific fashion.  This is called if filename completion is being
-attempted and one of the characters in @code{rl_filename_quote_characters}
-appears in a completed filename.  The function is called with
-@var{text}, @var{match_type}, and @var{quote_pointer}.  The @var{text}
-is the filename to be quoted.  The @var{match_type} is either
-@code{SINGLE_MATCH}, if there is only one completion match, or
-@code{MULT_MATCH}.  Some functions use this to decide whether or not to
-insert a closing quote character.  The @var{quote_pointer} is a pointer
-to any opening quote character the user typed.  Some functions choose
-to reset this character.
-@end deftypevar
-
-@deftypevar {rl_dequote_func_t *} rl_filename_dequoting_function
-A pointer to a function that will remove application-specific quoting
-characters from a filename before completion is attempted, so those
-characters do not interfere with matching the text against names in
-the filesystem.  It is called with @var{text}, the text of the word
-to be dequoted, and @var{quote_char}, which is the quoting character 
-that delimits the filename (usually @samp{'} or @samp{"}).  If
-@var{quote_char} is zero, the filename was not in an embedded string.
-@end deftypevar
-
-@deftypevar {rl_linebuf_func_t *} rl_char_is_quoted_p
-A pointer to a function to call that determines whether or not a specific
-character in the line buffer is quoted, according to whatever quoting
-mechanism the program calling Readline uses.  The function is called with
-two arguments: @var{text}, the text of the line, and @var{index}, the
-index of the character in the line.  It is used to decide whether a
-character found in @code{rl_completer_word_break_characters} should be
-used to break words for the completer.
-@end deftypevar
-
-@deftypevar {rl_compignore_func_t *} rl_ignore_some_completions_function
-This function, if defined, is called by the completer when real filename
-completion is done, after all the matching names have been generated.
-It is passed a @code{NULL} terminated array of matches.
-The first element (@code{matches[0]}) is the
-maximal substring common to all matches. This function can
-re-arrange the list of matches as required, but each element deleted
-from the array must be freed.
-@end deftypevar
-
-@deftypevar {rl_icppfunc_t *} rl_directory_completion_hook
-This function, if defined, is allowed to modify the directory portion
-of filenames Readline completes.  It is called with the address of a
-string (the current directory name) as an argument, and may modify that string.
-If the string is replaced with a new string, the old value should be freed.
-Any modified directory name should have a trailing slash.
-The modified value will be displayed as part of the completion, replacing
-the directory portion of the pathname the user typed.
-It returns an integer that should be non-zero if the function modifies
-its directory argument.
-It could be used to expand symbolic links or shell variables in pathnames.
-@end deftypevar
-
-@deftypevar {rl_compdisp_func_t *} rl_completion_display_matches_hook
-If non-zero, then this is the address of a function to call when
-completing a word would normally display the list of possible matches.
-This function is called in lieu of Readline displaying the list.
-It takes three arguments:
-(@code{char **}@var{matches}, @code{int} @var{num_matches}, @code{int} @var{max_length})
-where @var{matches} is the array of matching strings,
-@var{num_matches} is the number of strings in that array, and
-@var{max_length} is the length of the longest string in that array.
-Readline provides a convenience function, @code{rl_display_match_list},
-that takes care of doing the display to Readline's output stream.  That
-function may be called from this hook.
-@end deftypevar
-
-@deftypevar {const char *} rl_basic_word_break_characters
-The basic list of characters that signal a break between words for the
-completer routine.  The default value of this variable is the characters
-which break words for completion in Bash:
-@code{" \t\n\"\\'`@@$><=;|&@{("}.
-@end deftypevar
-
-@deftypevar {const char *} rl_basic_quote_characters
-A list of quote characters which can cause a word break.
-@end deftypevar
-
-@deftypevar {const char *} rl_completer_word_break_characters
-The list of characters that signal a break between words for
-@code{rl_complete_internal()}.  The default list is the value of
-@code{rl_basic_word_break_characters}.
-@end deftypevar
-
-@deftypevar {const char *} rl_completer_quote_characters
-A list of characters which can be used to quote a substring of the line.
-Completion occurs on the entire substring, and within the substring
-@code{rl_completer_word_break_characters} are treated as any other character,
-unless they also appear within this list.
-@end deftypevar
-
-@deftypevar {const char *} rl_filename_quote_characters
-A list of characters that cause a filename to be quoted by the completer
-when they appear in a completed filename.  The default is the null string.
-@end deftypevar
-
-@deftypevar {const char *} rl_special_prefixes
-The list of characters that are word break characters, but should be
-left in @var{text} when it is passed to the completion function.
-Programs can use this to help determine what kind of completing to do.
-For instance, Bash sets this variable to "$@@" so that it can complete
-shell variables and hostnames.
-@end deftypevar
-
-@deftypevar int rl_completion_query_items
-Up to this many items will be displayed in response to a
-possible-completions call.  After that, we ask the user if she is sure
-she wants to see them all.  The default value is 100.
-@end deftypevar
-
-@deftypevar {int} rl_completion_append_character
-When a single completion alternative matches at the end of the command
-line, this character is appended to the inserted completion text.  The
-default is a space character (@samp{ }).  Setting this to the null
-character (@samp{\0}) prevents anything being appended automatically.
-This can be changed in custom completion functions to
-provide the ``most sensible word separator character'' according to
-an application-specific command line syntax specification.
-@end deftypevar
-
-@deftypevar int rl_completion_suppress_append
-If non-zero, @var{rl_completion_append_character} is not appended to
-matches at the end of the command line, as described above.  It is
-set to 0 before any application-specific completion function is called.
-@end deftypevar
-
-@deftypevar int rl_completion_mark_symlink_dirs
-If non-zero, a slash will be appended to completed filenames that are
-symbolic links to directory names, subject to the value of the
-user-settable @var{mark-directories} variable.
-This variable exists so that application completion functions can
-override the user's global preference (set via the
-@var{mark-symlinked-directories} Readline variable) if appropriate.
-This variable is set to the user's preference before any
-application completion function is called, so unless that function
-modifies the value, the user's preferences are honored.
-@end deftypevar
-
-@deftypevar int rl_ignore_completion_duplicates
-If non-zero, then duplicates in the matches are removed.
-The default is 1.
-@end deftypevar
-
-@deftypevar int rl_filename_completion_desired
-Non-zero means that the results of the matches are to be treated as
-filenames.  This is @emph{always} zero on entry, and can only be changed
-within a completion entry generator function.  If it is set to a non-zero
-value, directory names have a slash appended and Readline attempts to
-quote completed filenames if they contain any characters in
-@code{rl_filename_quote_characters} and @code{rl_filename_quoting_desired}
-is set to a non-zero value.
-@end deftypevar
-
-@deftypevar int rl_filename_quoting_desired
-Non-zero means that the results of the matches are to be quoted using
-double quotes (or an application-specific quoting mechanism) if the
-completed filename contains any characters in
-@code{rl_filename_quote_chars}.  This is @emph{always} non-zero
-on entry, and can only be changed within a completion entry generator
-function.  The quoting is effected via a call to the function pointed to
-by @code{rl_filename_quoting_function}.
-@end deftypevar
-
-@deftypevar int rl_attempted_completion_over
-If an application-specific completion function assigned to
-@code{rl_attempted_completion_function} sets this variable to a non-zero
-value, Readline will not perform its default filename completion even
-if the application's completion function returns no matches.
-It should be set only by an application's completion function.
-@end deftypevar
-
-@deftypevar int rl_completion_type
-Set to a character describing the type of completion Readline is currently
-attempting; see the description of @code{rl_complete_internal()}
-(@pxref{Completion Functions}) for the list of characters.
-@end deftypevar
-
-@deftypevar int rl_inhibit_completion
-If this variable is non-zero, completion is inhibited.  The completion
-character will be inserted as any other bound to @code{self-insert}.
-@end deftypevar
-
-@node A Short Completion Example
-@subsection A Short Completion Example
-
-Here is a small application demonstrating the use of the GNU Readline
-library.  It is called @code{fileman}, and the source code resides in
-@file{examples/fileman.c}.  This sample application provides
-completion of command names, line editing features, and access to the
-history list.
-
-@page
-@smallexample
-/* fileman.c -- A tiny application which demonstrates how to use the
-   GNU Readline library.  This application interactively allows users
-   to manipulate files and their modes. */
-
-#include <stdio.h>
-#include <sys/types.h>
-#include <sys/file.h>
-#include <sys/stat.h>
-#include <sys/errno.h>
-
-#include <readline/readline.h>
-#include <readline/history.h>
-
-extern char *xmalloc ();
-
-/* The names of functions that actually do the manipulation. */
-int com_list __P((char *));
-int com_view __P((char *));
-int com_rename __P((char *));
-int com_stat __P((char *));
-int com_pwd __P((char *));
-int com_delete __P((char *));
-int com_help __P((char *));
-int com_cd __P((char *));
-int com_quit __P((char *));
-
-/* A structure which contains information on the commands this program
-   can understand. */
-
-typedef struct @{
-  char *name;                  /* User printable name of the function. */
-  rl_icpfunc_t *func;          /* Function to call to do the job. */
-  char *doc;                   /* Documentation for this function.  */
-@} COMMAND;
-
-COMMAND commands[] = @{
-  @{ "cd", com_cd, "Change to directory DIR" @},
-  @{ "delete", com_delete, "Delete FILE" @},
-  @{ "help", com_help, "Display this text" @},
-  @{ "?", com_help, "Synonym for `help'" @},
-  @{ "list", com_list, "List files in DIR" @},
-  @{ "ls", com_list, "Synonym for `list'" @},
-  @{ "pwd", com_pwd, "Print the current working directory" @},
-  @{ "quit", com_quit, "Quit using Fileman" @},
-  @{ "rename", com_rename, "Rename FILE to NEWNAME" @},
-  @{ "stat", com_stat, "Print out statistics on FILE" @},
-  @{ "view", com_view, "View the contents of FILE" @},
-  @{ (char *)NULL, (rl_icpfunc_t *)NULL, (char *)NULL @}
-@};
-
-/* Forward declarations. */
-char *stripwhite ();
-COMMAND *find_command ();
-
-/* The name of this program, as taken from argv[0]. */
-char *progname;
-
-/* When non-zero, this means the user is done using this program. */
-int done;
-
-char *
-dupstr (s)
-     int s;
-@{
-  char *r;
-
-  r = xmalloc (strlen (s) + 1);
-  strcpy (r, s);
-  return (r);
-@}
-
-main (argc, argv)
-     int argc;
-     char **argv;
-@{
-  char *line, *s;
-
-  progname = argv[0];
-
-  initialize_readline ();      /* Bind our completer. */
-
-  /* Loop reading and executing lines until the user quits. */
-  for ( ; done == 0; )
-    @{
-      line = readline ("FileMan: ");
-
-      if (!line)
-        break;
-
-      /* Remove leading and trailing whitespace from the line.
-         Then, if there is anything left, add it to the history list
-         and execute it. */
-      s = stripwhite (line);
-
-      if (*s)
-        @{
-          add_history (s);
-          execute_line (s);
-        @}
-
-      free (line);
-    @}
-  exit (0);
-@}
-
-/* Execute a command line. */
-int
-execute_line (line)
-     char *line;
-@{
-  register int i;
-  COMMAND *command;
-  char *word;
-
-  /* Isolate the command word. */
-  i = 0;
-  while (line[i] && whitespace (line[i]))
-    i++;
-  word = line + i;
-
-  while (line[i] && !whitespace (line[i]))
-    i++;
-
-  if (line[i])
-    line[i++] = '\0';
-
-  command = find_command (word);
-
-  if (!command)
-    @{
-      fprintf (stderr, "%s: No such command for FileMan.\n", word);
-      return (-1);
-    @}
-
-  /* Get argument to command, if any. */
-  while (whitespace (line[i]))
-    i++;
-
-  word = line + i;
-
-  /* Call the function. */
-  return ((*(command->func)) (word));
-@}
-
-/* Look up NAME as the name of a command, and return a pointer to that
-   command.  Return a NULL pointer if NAME isn't a command name. */
-COMMAND *
-find_command (name)
-     char *name;
-@{
-  register int i;
-
-  for (i = 0; commands[i].name; i++)
-    if (strcmp (name, commands[i].name) == 0)
-      return (&commands[i]);
-
-  return ((COMMAND *)NULL);
-@}
-
-/* Strip whitespace from the start and end of STRING.  Return a pointer
-   into STRING. */
-char *
-stripwhite (string)
-     char *string;
-@{
-  register char *s, *t;
-
-  for (s = string; whitespace (*s); s++)
-    ;
-    
-  if (*s == 0)
-    return (s);
-
-  t = s + strlen (s) - 1;
-  while (t > s && whitespace (*t))
-    t--;
-  *++t = '\0';
-
-  return s;
-@}
-
-/* **************************************************************** */
-/*                                                                  */
-/*                  Interface to Readline Completion                */
-/*                                                                  */
-/* **************************************************************** */
-
-char *command_generator __P((const char *, int));
-char **fileman_completion __P((const char *, int, int));
-
-/* Tell the GNU Readline library how to complete.  We want to try to
-   complete on command names if this is the first word in the line, or
-   on filenames if not. */
-initialize_readline ()
-@{
-  /* Allow conditional parsing of the ~/.inputrc file. */
-  rl_readline_name = "FileMan";
-
-  /* Tell the completer that we want a crack first. */
-  rl_attempted_completion_function = fileman_completion;
-@}
-
-/* Attempt to complete on the contents of TEXT.  START and END
-   bound the region of rl_line_buffer that contains the word to
-   complete.  TEXT is the word to complete.  We can use the entire
-   contents of rl_line_buffer in case we want to do some simple
-   parsing.  Returnthe array of matches, or NULL if there aren't any. */
-char **
-fileman_completion (text, start, end)
-     const char *text;
-     int start, end;
-@{
-  char **matches;
-
-  matches = (char **)NULL;
-
-  /* If this word is at the start of the line, then it is a command
-     to complete.  Otherwise it is the name of a file in the current
-     directory. */
-  if (start == 0)
-    matches = rl_completion_matches (text, command_generator);
-
-  return (matches);
-@}
-
-/* Generator function for command completion.  STATE lets us
-   know whether to start from scratch; without any state
-   (i.e. STATE == 0), then we start at the top of the list. */
-char *
-command_generator (text, state)
-     const char *text;
-     int state;
-@{
-  static int list_index, len;
-  char *name;
-
-  /* If this is a new word to complete, initialize now.  This
-     includes saving the length of TEXT for efficiency, and
-     initializing the index variable to 0. */
-  if (!state)
-    @{
-      list_index = 0;
-      len = strlen (text);
-    @}
-
-  /* Return the next name which partially matches from the
-     command list. */
-  while (name = commands[list_index].name)
-    @{
-      list_index++;
-
-      if (strncmp (name, text, len) == 0)
-        return (dupstr(name));
-    @}
-
-  /* If no names matched, then return NULL. */
-  return ((char *)NULL);
-@}
-
-/* **************************************************************** */
-/*                                                                  */
-/*                       FileMan Commands                           */
-/*                                                                  */
-/* **************************************************************** */
-
-/* String to pass to system ().  This is for the LIST, VIEW and RENAME
-   commands. */
-static char syscom[1024];
-
-/* List the file(s) named in arg. */
-com_list (arg)
-     char *arg;
-@{
-  if (!arg)
-    arg = "";
-
-  sprintf (syscom, "ls -FClg %s", arg);
-  return (system (syscom));
-@}
-
-com_view (arg)
-     char *arg;
-@{
-  if (!valid_argument ("view", arg))
-    return 1;
-
-  sprintf (syscom, "more %s", arg);
-  return (system (syscom));
-@}
-
-com_rename (arg)
-     char *arg;
-@{
-  too_dangerous ("rename");
-  return (1);
-@}
-
-com_stat (arg)
-     char *arg;
-@{
-  struct stat finfo;
-
-  if (!valid_argument ("stat", arg))
-    return (1);
-
-  if (stat (arg, &finfo) == -1)
-    @{
-      perror (arg);
-      return (1);
-    @}
-
-  printf ("Statistics for `%s':\n", arg);
-
-  printf ("%s has %d link%s, and is %d byte%s in length.\n", arg,
-          finfo.st_nlink,
-          (finfo.st_nlink == 1) ? "" : "s",
-          finfo.st_size,
-          (finfo.st_size == 1) ? "" : "s");
-  printf ("Inode Last Change at: %s", ctime (&finfo.st_ctime));
-  printf ("      Last access at: %s", ctime (&finfo.st_atime));
-  printf ("    Last modified at: %s", ctime (&finfo.st_mtime));
-  return (0);
-@}
-
-com_delete (arg)
-     char *arg;
-@{
-  too_dangerous ("delete");
-  return (1);
-@}
-
-/* Print out help for ARG, or for all of the commands if ARG is
-   not present. */
-com_help (arg)
-     char *arg;
-@{
-  register int i;
-  int printed = 0;
-
-  for (i = 0; commands[i].name; i++)
-    @{
-      if (!*arg || (strcmp (arg, commands[i].name) == 0))
-        @{
-          printf ("%s\t\t%s.\n", commands[i].name, commands[i].doc);
-          printed++;
-        @}
-    @}
-
-  if (!printed)
-    @{
-      printf ("No commands match `%s'.  Possibilties are:\n", arg);
-
-      for (i = 0; commands[i].name; i++)
-        @{
-          /* Print in six columns. */
-          if (printed == 6)
-            @{
-              printed = 0;
-              printf ("\n");
-            @}
-
-          printf ("%s\t", commands[i].name);
-          printed++;
-        @}
-
-      if (printed)
-        printf ("\n");
-    @}
-  return (0);
-@}
-
-/* Change to the directory ARG. */
-com_cd (arg)
-     char *arg;
-@{
-  if (chdir (arg) == -1)
-    @{
-      perror (arg);
-      return 1;
-    @}
-
-  com_pwd ("");
-  return (0);
-@}
-
-/* Print out the current working directory. */
-com_pwd (ignore)
-     char *ignore;
-@{
-  char dir[1024], *s;
-
-  s = getcwd (dir, sizeof(dir) - 1);
-  if (s == 0)
-    @{
-      printf ("Error getting pwd: %s\n", dir);
-      return 1;
-    @}
-
-  printf ("Current directory is %s\n", dir);
-  return 0;
-@}
-
-/* The user wishes to quit using this program.  Just set DONE
-   non-zero. */
-com_quit (arg)
-     char *arg;
-@{
-  done = 1;
-  return (0);
-@}
-
-/* Function which tells you that you can't do this. */
-too_dangerous (caller)
-     char *caller;
-@{
-  fprintf (stderr,
-           "%s: Too dangerous for me to distribute.\n"
-           caller);
-  fprintf (stderr, "Write it yourself.\n");
-@}
-
-/* Return non-zero if ARG is a valid argument for CALLER,
-   else print an error message and return zero. */
-int
-valid_argument (caller, arg)
-     char *caller, *arg;
-@{
-  if (!arg || !*arg)
-    @{
-      fprintf (stderr, "%s: Argument required.\n", caller);
-      return (0);
-    @}
-
-  return (1);
-@}
-@end smallexample
diff --git a/lib/readline/doc/rluser.texinfo b/lib/readline/doc/rluser.texinfo
deleted file mode 100644 (file)
index 94f851e..0000000
+++ /dev/null
@@ -1,1796 +0,0 @@
-@comment %**start of header (This is for running Texinfo on a region.)
-@setfilename rluser.info
-@comment %**end of header (This is for running Texinfo on a region.)
-@setchapternewpage odd
-
-@ignore
-This file documents the end user interface to the GNU command line
-editing features.  It is to be an appendix to manuals for programs which
-use these features.  There is a document entitled "readline.texinfo"
-which contains both end-user and programmer documentation for the
-GNU Readline Library.
-
-Copyright (C) 1988-2002 Free Software Foundation, Inc.
-
-Authored by Brian Fox and Chet Ramey.
-
-Permission is granted to process this file through Tex and print the
-results, provided the printed document carries copying permission notice
-identical to this one except for the removal of this paragraph (this
-paragraph not being relevant to the printed manual).
-
-Permission is granted to make and distribute verbatim copies of this manual
-provided the copyright notice and this permission notice are preserved on
-all copies.
-
-Permission is granted to copy and distribute modified versions of this
-manual under the conditions for verbatim copying, provided also that the
-GNU Copyright statement is available to the distributee, and provided that
-the entire resulting derived work is distributed under the terms of a
-permission notice identical to this one.
-
-Permission is granted to copy and distribute translations of this manual
-into another language, under the above conditions for modified versions.
-@end ignore
-
-@comment If you are including this manual as an appendix, then set the
-@comment variable readline-appendix.
-
-@ifclear BashFeatures
-@defcodeindex bt
-@end ifclear
-
-@node Command Line Editing
-@chapter Command Line Editing
-
-This chapter describes the basic features of the @sc{gnu}
-command line editing interface.
-@ifset BashFeatures
-Command line editing is provided by the Readline library, which is
-used by several different programs, including Bash.
-@end ifset
-
-@menu
-* Introduction and Notation::  Notation used in this text.
-* Readline Interaction::       The minimum set of commands for editing a line.
-* Readline Init File::         Customizing Readline from a user's view.
-* Bindable Readline Commands:: A description of most of the Readline commands
-                               available for binding
-* Readline vi Mode::           A short description of how to make Readline
-                               behave like the vi editor.
-@ifset BashFeatures
-* Programmable Completion::    How to specify the possible completions for
-                               a specific command.
-* Programmable Completion Builtins::   Builtin commands to specify how to
-                               complete arguments for a particular command.
-@end ifset
-@end menu
-
-@node Introduction and Notation
-@section Introduction to Line Editing
-
-The following paragraphs describe the notation used to represent
-keystrokes.
-
-The text @kbd{C-k} is read as `Control-K' and describes the character
-produced when the @key{k} key is pressed while the Control key
-is depressed.
-
-The text @kbd{M-k} is read as `Meta-K' and describes the character
-produced when the Meta key (if you have one) is depressed, and the @key{k}
-key is pressed.
-The Meta key is labeled @key{ALT} on many keyboards.
-On keyboards with two keys labeled @key{ALT} (usually to either side of
-the space bar), the @key{ALT} on the left side is generally set to
-work as a Meta key.
-The @key{ALT} key on the right may also be configured to work as a
-Meta key or may be configured as some other modifier, such as a
-Compose key for typing accented characters.
-
-If you do not have a Meta or @key{ALT} key, or another key working as
-a Meta key, the identical keystroke can be generated by typing @key{ESC}
-@emph{first}, and then typing @key{k}.
-Either process is known as @dfn{metafying} the @key{k} key.
-
-The text @kbd{M-C-k} is read as `Meta-Control-k' and describes the
-character produced by @dfn{metafying} @kbd{C-k}.
-
-In addition, several keys have their own names.  Specifically,
-@key{DEL}, @key{ESC}, @key{LFD}, @key{SPC}, @key{RET}, and @key{TAB} all
-stand for themselves when seen in this text, or in an init file
-(@pxref{Readline Init File}).
-If your keyboard lacks a @key{LFD} key, typing @key{C-j} will
-produce the desired character.
-The @key{RET} key may be labeled @key{Return} or @key{Enter} on
-some keyboards.
-
-@node Readline Interaction
-@section Readline Interaction
-@cindex interaction, readline
-
-Often during an interactive session you type in a long line of text,
-only to notice that the first word on the line is misspelled.  The
-Readline library gives you a set of commands for manipulating the text
-as you type it in, allowing you to just fix your typo, and not forcing
-you to retype the majority of the line.  Using these editing commands,
-you move the cursor to the place that needs correction, and delete or
-insert the text of the corrections.  Then, when you are satisfied with
-the line, you simply press @key{RET}.  You do not have to be at the
-end of the line to press @key{RET}; the entire line is accepted
-regardless of the location of the cursor within the line.
-
-@menu
-* Readline Bare Essentials::   The least you need to know about Readline.
-* Readline Movement Commands:: Moving about the input line.
-* Readline Killing Commands::  How to delete text, and how to get it back!
-* Readline Arguments::         Giving numeric arguments to commands.
-* Searching::                  Searching through previous lines.
-@end menu
-
-@node Readline Bare Essentials
-@subsection Readline Bare Essentials
-@cindex notation, readline
-@cindex command editing
-@cindex editing command lines
-
-In order to enter characters into the line, simply type them.  The typed
-character appears where the cursor was, and then the cursor moves one
-space to the right.  If you mistype a character, you can use your
-erase character to back up and delete the mistyped character.
-
-Sometimes you may mistype a character, and
-not notice the error until you have typed several other characters.  In
-that case, you can type @kbd{C-b} to move the cursor to the left, and then
-correct your mistake.  Afterwards, you can move the cursor to the right
-with @kbd{C-f}.
-
-When you add text in the middle of a line, you will notice that characters
-to the right of the cursor are `pushed over' to make room for the text
-that you have inserted.  Likewise, when you delete text behind the cursor,
-characters to the right of the cursor are `pulled back' to fill in the
-blank space created by the removal of the text.  A list of the bare
-essentials for editing the text of an input line follows.
-
-@table @asis
-@item @kbd{C-b}
-Move back one character.
-@item @kbd{C-f}
-Move forward one character.
-@item @key{DEL} or @key{Backspace}
-Delete the character to the left of the cursor.
-@item @kbd{C-d}
-Delete the character underneath the cursor.
-@item @w{Printing characters}
-Insert the character into the line at the cursor.
-@item @kbd{C-_} or @kbd{C-x C-u}
-Undo the last editing command.  You can undo all the way back to an
-empty line.
-@end table
-
-@noindent
-(Depending on your configuration, the @key{Backspace} key be set to
-delete the character to the left of the cursor and the @key{DEL} key set
-to delete the character underneath the cursor, like @kbd{C-d}, rather
-than the character to the left of the cursor.)
-
-@node Readline Movement Commands
-@subsection Readline Movement Commands
-
-
-The above table describes the most basic keystrokes that you need
-in order to do editing of the input line.  For your convenience, many
-other commands have been added in addition to @kbd{C-b}, @kbd{C-f},
-@kbd{C-d}, and @key{DEL}.  Here are some commands for moving more rapidly
-about the line.
-
-@table @kbd
-@item C-a
-Move to the start of the line.
-@item C-e
-Move to the end of the line.
-@item M-f
-Move forward a word, where a word is composed of letters and digits.
-@item M-b
-Move backward a word.
-@item C-l
-Clear the screen, reprinting the current line at the top.
-@end table
-
-Notice how @kbd{C-f} moves forward a character, while @kbd{M-f} moves
-forward a word.  It is a loose convention that control keystrokes
-operate on characters while meta keystrokes operate on words.
-
-@node Readline Killing Commands
-@subsection Readline Killing Commands
-
-@cindex killing text
-@cindex yanking text
-
-@dfn{Killing} text means to delete the text from the line, but to save
-it away for later use, usually by @dfn{yanking} (re-inserting)
-it back into the line.
-(`Cut' and `paste' are more recent jargon for `kill' and `yank'.)
-
-If the description for a command says that it `kills' text, then you can
-be sure that you can get the text back in a different (or the same)
-place later.
-
-When you use a kill command, the text is saved in a @dfn{kill-ring}.
-Any number of consecutive kills save all of the killed text together, so
-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.
-@cindex kill ring
-
-Here is the list of commands for killing text.
-
-@table @kbd
-@item C-k
-Kill the text from the current cursor position to the end of the line.
-
-@item M-d
-Kill from the cursor to the end of the current word, or, if between
-words, to the end of the next word.
-Word boundaries are the same as those used by @kbd{M-f}.
-
-@item M-@key{DEL}
-Kill from the cursor the start of the current word, or, if between
-words, to the start of the previous word.
-Word boundaries are the same as those used by @kbd{M-b}.
-
-@item C-w
-Kill from the cursor to the previous whitespace.  This is different than
-@kbd{M-@key{DEL}} because the word boundaries differ.
-
-@end table
-
-Here is how to @dfn{yank} the text back into the line.  Yanking
-means to copy the most-recently-killed text from the kill buffer.
-
-@table @kbd
-@item C-y
-Yank the most recently killed text back into the buffer at the cursor.
-
-@item M-y
-Rotate the kill-ring, and yank the new top.  You can only do this if
-the prior command is @kbd{C-y} or @kbd{M-y}.
-@end table
-
-@node Readline Arguments
-@subsection Readline Arguments
-
-You can pass numeric arguments to Readline commands.  Sometimes the
-argument acts as a repeat count, other times it is the @i{sign} of the
-argument that is significant.  If you pass a negative argument to a
-command which normally acts in a forward direction, that command will
-act in a backward direction.  For example, to kill text back to the
-start of the line, you might type @samp{M-- C-k}.
-
-The general way to pass numeric arguments to a command is to type meta
-digits before the command.  If the first `digit' typed is a minus
-sign (@samp{-}), then the sign of the argument will be negative.  Once
-you have typed one meta digit to get the argument started, you can type
-the remainder of the digits, and then the command.  For example, to give
-the @kbd{C-d} command an argument of 10, you could type @samp{M-1 0 C-d},
-which will delete the next ten characters on the input line.
-
-@node Searching
-@subsection Searching for Commands in the History
-
-Readline provides commands for searching through the command history
-@ifset BashFeatures
-(@pxref{Bash History Facilities})
-@end ifset
-for lines containing a specified string.
-There are two search modes:  @dfn{incremental} and @dfn{non-incremental}.
-
-Incremental searches begin before the user has finished typing the
-search string.
-As each character of the search string is typed, Readline displays
-the next entry from the history matching the string typed so far.
-An incremental search requires only as many characters as needed to
-find the desired history entry.
-To search backward in the history for a particular string, type
-@kbd{C-r}.  Typing @kbd{C-s} searches forward through the history.
-The characters present in the value of the @code{isearch-terminators} variable
-are used to terminate an incremental search.
-If that variable has not been assigned a value, the @key{ESC} and
-@kbd{C-J} characters will terminate an incremental search.
-@kbd{C-g} will abort an incremental search and restore the original line.
-When the search is terminated, the history entry containing the
-search string becomes the current line.
-
-To find other matching entries in the history list, type @kbd{C-r} or
-@kbd{C-s} as appropriate.
-This will search backward or forward in the history for the next
-entry matching the search string typed so far.
-Any other key sequence bound to a Readline command will terminate
-the search and execute that command.
-For instance, a @key{RET} will terminate the search and accept
-the line, thereby executing the command from the history list.
-A movement command will terminate the search, make the last line found
-the current line, and begin editing.
-
-Readline remembers the last incremental search string.  If two
-@kbd{C-r}s are typed without any intervening characters defining a new
-search string, any remembered search string is used.
-
-Non-incremental searches read the entire search string before starting
-to search for matching history lines.  The search string may be
-typed by the user or be part of the contents of the current line.
-
-@node Readline Init File
-@section Readline Init File
-@cindex initialization file, readline
-
-Although the Readline library comes with a set of Emacs-like
-keybindings installed by default, it is possible to use a different set
-of keybindings.
-Any user can customize programs that use Readline by putting
-commands in an @dfn{inputrc} file, conventionally in his home directory.
-The name of this
-@ifset BashFeatures
-file is taken from the value of the shell variable @env{INPUTRC}.  If
-@end ifset
-@ifclear BashFeatures
-file is taken from the value of the environment variable @env{INPUTRC}.  If
-@end ifclear
-that variable is unset, the default is @file{~/.inputrc}.
-
-When a program which uses the Readline library starts up, the
-init file is read, and the key bindings are set.
-
-In addition, the @code{C-x C-r} command re-reads this init file, thus
-incorporating any changes that you might have made to it.
-
-@menu
-* Readline Init File Syntax::  Syntax for the commands in the inputrc file.
-
-* Conditional Init Constructs::        Conditional key bindings in the inputrc file.
-
-* Sample Init File::           An example inputrc file.
-@end menu
-
-@node Readline Init File Syntax
-@subsection Readline Init File Syntax
-
-There are only a few basic constructs allowed in the
-Readline init file.  Blank lines are ignored.
-Lines beginning with a @samp{#} are comments.
-Lines beginning with a @samp{$} indicate conditional
-constructs (@pxref{Conditional Init Constructs}).  Other lines
-denote variable settings and key bindings.
-
-@table @asis
-@item Variable Settings
-You can modify the run-time behavior of Readline by
-altering the values of variables in Readline
-using the @code{set} command within the init file.
-The syntax is simple:
-
-@example
-set @var{variable} @var{value}
-@end example
-
-@noindent
-Here, for example, is how to
-change from the default Emacs-like key binding to use
-@code{vi} line editing commands:
-
-@example
-set editing-mode vi
-@end example
-
-Variable names and values, where appropriate, are recognized without regard
-to case. 
-
-@ifset BashFeatures
-The @w{@code{bind -V}} command lists the current Readline variable names
-and values.  @xref{Bash Builtins}.
-@end ifset
-
-A great deal of run-time behavior is changeable with the following
-variables.
-
-@cindex variables, readline
-@table @code
-
-@item bell-style
-@vindex bell-style
-Controls what happens when Readline wants to ring the terminal bell.
-If set to @samp{none}, Readline never rings the bell.  If set to
-@samp{visible}, Readline uses a visible bell if one is available.
-If set to @samp{audible} (the default), Readline attempts to ring
-the terminal's bell.
-
-@item comment-begin
-@vindex comment-begin
-The string to insert at the beginning of the line when the
-@code{insert-comment} command is executed.  The default value
-is @code{"#"}.
-
-@item completion-ignore-case
-If set to @samp{on}, Readline performs filename matching and completion
-in a case-insensitive fashion.
-The default value is @samp{off}.
-
-@item completion-query-items
-@vindex completion-query-items
-The number of possible completions that determines when the user is
-asked whether he wants to see the list of possibilities.  If the
-number of possible completions is greater than this value,
-Readline will ask the user whether or not he wishes to view
-them; otherwise, they are simply listed.
-This variable must be set to an integer value greater than or equal to 0.
-The default limit is @code{100}.
-
-@item convert-meta
-@vindex convert-meta
-If set to @samp{on}, Readline will convert characters with the
-eighth bit set to an @sc{ascii} key sequence by stripping the eighth
-bit and prefixing an @key{ESC} character, converting them to a
-meta-prefixed key sequence.  The default value is @samp{on}.
-
-@item disable-completion
-@vindex disable-completion
-If set to @samp{On}, Readline will inhibit word completion.
-Completion  characters will be inserted into the line as if they had
-been mapped to @code{self-insert}.  The default is @samp{off}.
-
-@item editing-mode
-@vindex editing-mode
-The @code{editing-mode} 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
-set to either @samp{emacs} or @samp{vi}.
-
-@item enable-keypad
-@vindex enable-keypad
-When set to @samp{on}, 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}.
-
-@item expand-tilde
-@vindex expand-tilde
-If set to @samp{on}, tilde expansion is performed when Readline
-attempts word completion.  The default is @samp{off}.
-
-@vindex history-preserve-point
-If set to @samp{on}, the history code attempts to place point at the
-same location on each history line retrived with @code{previous-history}
-or @code{next-history}.
-
-@item horizontal-scroll-mode
-@vindex horizontal-scroll-mode
-This variable can be set to either @samp{on} or @samp{off}.  Setting it
-to @samp{on} means that the text of the lines being edited will scroll
-horizontally on a single screen line when they are longer than the width
-of the screen, instead of wrapping onto a new screen line.  By default,
-this variable is set to @samp{off}.
-
-@item input-meta
-@vindex input-meta
-@vindex meta-flag
-If set to @samp{on}, 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
-default value is @samp{off}.  The name @code{meta-flag} is a
-synonym for this variable.
-
-@item isearch-terminators
-@vindex isearch-terminators
-The string of characters that should terminate an incremental search without
-subsequently executing the character as a command (@pxref{Searching}).
-If this variable has not been given a value, the characters @key{ESC} and
-@kbd{C-J} will terminate an incremental search.
-
-@item keymap
-@vindex keymap
-Sets Readline's idea of the current keymap for key binding commands.
-Acceptable @code{keymap} names are
-@code{emacs},
-@code{emacs-standard},
-@code{emacs-meta},
-@code{emacs-ctlx},
-@code{vi},
-@code{vi-move},
-@code{vi-command}, and
-@code{vi-insert}.
-@code{vi} is equivalent to @code{vi-command}; @code{emacs} is
-equivalent to @code{emacs-standard}.  The default value is @code{emacs}.
-The value of the @code{editing-mode} variable also affects the
-default keymap.
-
-@item mark-directories
-If set to @samp{on}, completed directory names have a slash
-appended.  The default is @samp{on}.
-
-@item mark-modified-lines
-@vindex mark-modified-lines
-This variable, when set to @samp{on}, causes Readline to display an
-asterisk (@samp{*}) at the start of history lines which have been modified.
-This variable is @samp{off} by default.
-
-@item mark-symlinked-directories
-@vindex mark-symlinked-directories
-If set to @samp{on}, completed names which are symbolic links
-to directories have a slash appended (subject to the value of
-@code{mark-directories}).
-The default is @samp{off}.
-
-@item match-hidden-files
-@vindex match-hidden-files
-This variable, when set to @samp{on}, causes Readline to match files whose
-names begin with a @samp{.} (hidden files) when performing filename
-completion, unless the leading @samp{.} is
-supplied by the user in the filename to be completed.
-This variable is @samp{on} by default.
-
-@item output-meta
-@vindex output-meta
-If set to @samp{on}, Readline will display characters with the
-eighth bit set directly rather than as a meta-prefixed escape
-sequence.  The default is @samp{off}.
-
-@item page-completions
-@vindex page-completions
-If set to @samp{on}, Readline uses an internal @code{more}-like pager
-to display a screenful of possible completions at a time.
-This variable is @samp{on} by default.
-
-@item print-completions-horizontally
-If set to @samp{on}, Readline will display completions with matches
-sorted horizontally in alphabetical order, rather than down the screen.
-The default is @samp{off}.
-
-@item show-all-if-ambiguous
-@vindex show-all-if-ambiguous
-This alters the default behavior of the completion functions.  If
-set to @samp{on}, 
-words which have more than one possible completion cause the
-matches to be listed immediately instead of ringing the bell.
-The default value is @samp{off}.
-
-@item visible-stats
-@vindex visible-stats
-If set to @samp{on}, a character denoting a file's type
-is appended to the filename when listing possible
-completions.  The default is @samp{off}.
-
-@end table
-
-@item Key Bindings
-The syntax for controlling key bindings in the init file is
-simple.  First you need to find the name of the command that you
-want to change.  The following sections contain tables of the command
-name, the default keybinding, if any, and a short description of what
-the command does.
-
-Once you know the name of the command, simply place on a line
-in the init file the name of the key
-you wish to bind the command to, a colon, and then the name of the
-command.  The name of the key
-can be expressed in different ways, depending on what you find most
-comfortable.
-
-In addition to command names, readline allows keys to be bound
-to a string that is inserted when the key is pressed (a @var{macro}).
-
-@ifset BashFeatures
-The @w{@code{bind -p}} command displays Readline function names and
-bindings in a format that can put directly into an initialization file.
-@xref{Bash Builtins}.
-@end ifset
-
-@table @asis
-@item @w{@var{keyname}: @var{function-name} or @var{macro}}
-@var{keyname} is the name of a key spelled out in English.  For example:
-@example
-Control-u: universal-argument
-Meta-Rubout: backward-kill-word
-Control-o: "> output"
-@end example
-
-In the above example, @kbd{C-u} is bound to the function
-@code{universal-argument},
-@kbd{M-DEL} is bound to the function @code{backward-kill-word}, and
-@kbd{C-o} is bound to run the macro
-expressed on the right hand side (that is, to insert the text
-@samp{> output} into the line).
-
-A number of symbolic character names are recognized while
-processing this key binding syntax:
-@var{DEL},
-@var{ESC},
-@var{ESCAPE},
-@var{LFD},
-@var{NEWLINE},
-@var{RET},
-@var{RETURN},
-@var{RUBOUT},
-@var{SPACE},
-@var{SPC},
-and
-@var{TAB}.
-
-@item @w{"@var{keyseq}": @var{function-name} or @var{macro}}
-@var{keyseq} differs from @var{keyname} above in that strings
-denoting an entire key sequence can be specified, by placing
-the key sequence in double quotes.  Some @sc{gnu} Emacs style key
-escapes can be used, as in the following example, but the
-special character names are not recognized.
-
-@example
-"\C-u": universal-argument
-"\C-x\C-r": re-read-init-file
-"\e[11~": "Function Key 1"
-@end example
-
-In the above example, @kbd{C-u} is again bound to the function
-@code{universal-argument} (just as it was in the first example),
-@samp{@kbd{C-x} @kbd{C-r}} is bound to the function @code{re-read-init-file},
-and @samp{@key{ESC} @key{[} @key{1} @key{1} @key{~}} is bound to insert
-the text @samp{Function Key 1}.
-
-@end table
-
-The following @sc{gnu} Emacs style escape sequences are available when
-specifying key sequences:
-
-@table @code
-@item @kbd{\C-}
-control prefix
-@item @kbd{\M-}
-meta prefix
-@item @kbd{\e}
-an escape character
-@item @kbd{\\}
-backslash
-@item @kbd{\"}
-@key{"}, a double quotation mark
-@item @kbd{\'}
-@key{'}, a single quote or apostrophe
-@end table
-
-In addition to the @sc{gnu} Emacs style escape sequences, a second
-set of backslash escapes is available:
-
-@table @code
-@item \a
-alert (bell)
-@item \b
-backspace
-@item \d
-delete
-@item \f
-form feed
-@item \n
-newline
-@item \r
-carriage return
-@item \t
-horizontal tab
-@item \v
-vertical tab
-@item \@var{nnn}
-the eight-bit character whose value is the octal value @var{nnn}
-(one to three digits)
-@item \x@var{HH}
-the eight-bit character whose value is the hexadecimal value @var{HH}
-(one or two hex digits)
-@end table
-
-When entering the text of a macro, single or double quotes must
-be used to indicate a macro definition.
-Unquoted text is assumed to be a function name.
-In the macro body, the backslash escapes described above are expanded.
-Backslash will quote any other character in the macro text,
-including @samp{"} and @samp{'}.
-For example, the following binding will make @samp{@kbd{C-x} \}
-insert a single @samp{\} into the line:
-@example
-"\C-x\\": "\\"
-@end example
-
-@end table
-
-@node Conditional Init Constructs
-@subsection Conditional Init Constructs
-
-Readline implements a facility similar in spirit to the conditional
-compilation features of the C preprocessor which allows key
-bindings and variable settings to be performed as the result
-of tests.  There are four parser directives used.
-
-@table @code
-@item $if
-The @code{$if} construct allows bindings to be made based on the
-editing mode, the terminal being used, or the application using
-Readline.  The text of the test extends to the end of the line;
-no characters are required to isolate it.
-
-@table @code
-@item mode
-The @code{mode=} form of the @code{$if} directive is used to test
-whether Readline is in @code{emacs} or @code{vi} mode.
-This may be used in conjunction
-with the @samp{set keymap} command, for instance, to set bindings in
-the @code{emacs-standard} and @code{emacs-ctlx} keymaps only if
-Readline is starting out in @code{emacs} mode.
-
-@item term
-The @code{term=} form may be used to include terminal-specific
-key bindings, perhaps to bind the key sequences output by the
-terminal's function keys.  The word on the right side of the
-@samp{=} is tested against both the full name of the terminal and
-the portion of the terminal name before the first @samp{-}.  This
-allows @code{sun} to match both @code{sun} and @code{sun-cmd},
-for instance.
-
-@item application
-The @var{application} construct is used to include
-application-specific settings.  Each program using the Readline
-library sets the @var{application name}, and you can test for
-a particular value. 
-This could be used to bind key sequences to functions useful for
-a specific program.  For instance, the following command adds a
-key sequence that quotes the current or previous word in Bash:
-@example
-$if Bash
-# Quote the current or previous word
-"\C-xq": "\eb\"\ef\""
-$endif
-@end example
-@end table
-
-@item $endif
-This command, as seen in the previous example, terminates an
-@code{$if} command.
-
-@item $else
-Commands in this branch of the @code{$if} directive are executed if
-the test fails.
-
-@item $include
-This directive takes a single filename as an argument and reads commands
-and bindings from that file.
-For example, the following directive reads from @file{/etc/inputrc}:
-@example
-$include /etc/inputrc
-@end example
-@end table
-
-@node Sample Init File
-@subsection Sample Init File
-
-Here is an example of an @var{inputrc} file.  This illustrates key
-binding, variable assignment, and conditional syntax.
-
-@example
-@page
-# This file controls the behaviour of line input editing for
-# programs that use the GNU Readline library.  Existing
-# programs include FTP, Bash, and GDB.
-#
-# You can re-read the inputrc file with C-x C-r.
-# Lines beginning with '#' are comments.
-#
-# First, include any systemwide bindings and variable
-# assignments from /etc/Inputrc
-$include /etc/Inputrc
-
-#
-# Set various bindings for emacs mode.
-
-set editing-mode emacs 
-
-$if mode=emacs
-
-Meta-Control-h:        backward-kill-word      Text after the function name is ignored
-
-#
-# Arrow keys in keypad mode
-#
-#"\M-OD":        backward-char
-#"\M-OC":        forward-char
-#"\M-OA":        previous-history
-#"\M-OB":        next-history
-#
-# Arrow keys in ANSI mode
-#
-"\M-[D":        backward-char
-"\M-[C":        forward-char
-"\M-[A":        previous-history
-"\M-[B":        next-history
-#
-# Arrow keys in 8 bit keypad mode
-#
-#"\M-\C-OD":       backward-char
-#"\M-\C-OC":       forward-char
-#"\M-\C-OA":       previous-history
-#"\M-\C-OB":       next-history
-#
-# Arrow keys in 8 bit ANSI mode
-#
-#"\M-\C-[D":       backward-char
-#"\M-\C-[C":       forward-char
-#"\M-\C-[A":       previous-history
-#"\M-\C-[B":       next-history
-
-C-q: quoted-insert
-
-$endif
-
-# An old-style binding.  This happens to be the default.
-TAB: complete
-
-# Macros that are convenient for shell interaction
-$if Bash
-# edit the path
-"\C-xp": "PATH=$@{PATH@}\e\C-e\C-a\ef\C-f"
-# prepare to type a quoted word --
-# insert open and close double quotes
-# and move to just after the open quote
-"\C-x\"": "\"\"\C-b"
-# insert a backslash (testing backslash escapes
-# in sequences and macros)
-"\C-x\\": "\\"
-# Quote the current or previous word
-"\C-xq": "\eb\"\ef\""
-# Add a binding to refresh the line, which is unbound
-"\C-xr": redraw-current-line
-# Edit variable on current line.
-"\M-\C-v": "\C-a\C-k$\C-y\M-\C-e\C-a\C-y="
-$endif
-
-# use a visible bell if one is available
-set bell-style visible
-
-# don't strip characters to 7 bits when reading
-set input-meta on
-
-# allow iso-latin1 characters to be inserted rather
-# than converted to prefix-meta sequences
-set convert-meta off
-
-# display characters with the eighth bit set directly
-# rather than as meta-prefixed characters
-set output-meta on
-
-# if there are more than 150 possible completions for
-# a word, ask the user if he wants to see all of them
-set completion-query-items 150
-
-# For FTP
-$if Ftp
-"\C-xg": "get \M-?"
-"\C-xt": "put \M-?"
-"\M-.": yank-last-arg
-$endif
-@end example
-
-@node Bindable Readline Commands
-@section Bindable Readline Commands
-
-@menu
-* Commands For Moving::                Moving about the line.
-* Commands For History::       Getting at previous lines.
-* Commands For Text::          Commands for changing text.
-* Commands For Killing::       Commands for killing and yanking.
-* Numeric Arguments::          Specifying numeric arguments, repeat counts.
-* Commands For Completion::    Getting Readline to do the typing for you.
-* Keyboard Macros::            Saving and re-executing typed characters
-* Miscellaneous Commands::     Other miscellaneous commands.
-@end menu
-
-This section describes Readline commands that may be bound to key
-sequences.
-@ifset BashFeatures
-You can list your key bindings by executing
-@w{@code{bind -P}} or, for a more terse format, suitable for an
-@var{inputrc} file, @w{@code{bind -p}}.  (@xref{Bash Builtins}.)
-@end ifset
-Command names without an accompanying key sequence are unbound by default.
-
-In the following descriptions, @dfn{point} refers to the current cursor
-position, and @dfn{mark} refers to a cursor position saved by the
-@code{set-mark} command.
-The text between the point and mark is referred to as the @dfn{region}.
-
-@node Commands For Moving
-@subsection Commands For Moving
-@ftable @code
-@item beginning-of-line (C-a)
-Move to the start of the current line.
-
-@item end-of-line (C-e)
-Move to the end of the line.
-
-@item forward-char (C-f)
-Move forward a character.
-
-@item backward-char (C-b)
-Move back a character.
-
-@item forward-word (M-f)
-Move forward to the end of the next word.  Words are composed of
-letters and digits.
-
-@item backward-word (M-b)
-Move back to the start of the current or previous word.  Words are
-composed of letters and digits.
-
-@item clear-screen (C-l)
-Clear the screen and redraw the current line,
-leaving the current line at the top of the screen.
-
-@item redraw-current-line ()
-Refresh the current line.  By default, this is unbound.
-
-@end ftable
-
-@node Commands For History
-@subsection Commands For Manipulating The History
-
-@ftable @code
-@item accept-line (Newline or Return)
-@ifset BashFeatures
-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
-the @env{HISTCONTROL} and @env{HISTIGNORE} variables.
-If this line is a modified history line, then restore the history line
-to its original state.
-@end ifset
-@ifclear BashFeatures
-Accept the line regardless of where the cursor is.
-If this line is
-non-empty, it may be added to the history list for future recall with
-@code{add_history()}.
-If this line is a modified history line, the history line is restored
-to its original state.
-@end ifclear
-
-@item previous-history (C-p)
-Move `back' through the history list, fetching the previous command.
-
-@item next-history (C-n)
-Move `forward' through the history list, fetching the next command.
-
-@item beginning-of-history (M-<)
-Move to the first line in the history.
-
-@item end-of-history (M->)
-Move to the end of the input history, i.e., the line currently
-being entered.
-
-@item reverse-search-history (C-r)
-Search backward starting at the current line and moving `up' through
-the history as necessary.  This is an incremental search.
-
-@item forward-search-history (C-s)
-Search forward starting at the current line and moving `down' through
-the the history as necessary.  This is an incremental search.
-
-@item non-incremental-reverse-search-history (M-p)
-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.
-
-@item non-incremental-forward-search-history (M-n)
-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.
-
-@item history-search-forward ()
-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.
-
-@item history-search-backward ()
-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.
-
-@item yank-nth-arg (M-C-y)
-Insert the first argument to the previous command (usually
-the second word on the previous line) at point.
-With an argument @var{n},
-insert the @var{n}th word from the previous command (the words
-in the previous command begin with word 0).  A negative argument
-inserts the @var{n}th word from the end of the previous command.
-
-@item yank-last-arg (M-. or M-_)
-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}.
-Successive calls to @code{yank-last-arg} move back through the history
-list, inserting the last argument of each line in turn.
-
-@end ftable
-
-@node Commands For Text
-@subsection Commands For Changing Text
-
-@ftable @code
-@item delete-char (C-d)
-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}, then
-return @sc{eof}.
-
-@item backward-delete-char (Rubout)
-Delete the character behind the cursor.  A numeric argument means
-to kill the characters instead of deleting them.
-
-@item forward-backward-delete-char ()
-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.
-
-@item quoted-insert (C-q or C-v)
-Add the next character typed to the line verbatim.  This is
-how to insert key sequences like @kbd{C-q}, for example.
-
-@ifclear BashFeatures
-@item tab-insert (M-@key{TAB})
-Insert a tab character.
-@end ifclear
-
-@item self-insert (a, b, A, 1, !, @dots{})
-Insert yourself.
-
-@item transpose-chars (C-t)
-Drag the character before the cursor forward over
-the character at the cursor, moving the
-cursor forward as well.  If the insertion point
-is at the end of the line, then this
-transposes the last two characters of the line.
-Negative arguments have no effect.
-
-@item transpose-words (M-t)
-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.
-
-@item upcase-word (M-u)
-Uppercase the current (or following) word.  With a negative argument,
-uppercase the previous word, but do not move the cursor.
-
-@item downcase-word (M-l)
-Lowercase the current (or following) word.  With a negative argument,
-lowercase the previous word, but do not move the cursor.
-
-@item capitalize-word (M-c)
-Capitalize the current (or following) word.  With a negative argument,
-capitalize the previous word, but do not move the cursor.
-
-@item overwrite-mode ()
-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
-@code{emacs} mode; @code{vi} mode does overwrite differently.
-Each call to @code{readline()} starts in insert mode.
-
-In overwrite mode, characters bound to @code{self-insert} replace
-the text at point rather than pushing the text to the right.
-Characters bound to @code{backward-delete-char} replace the character
-before point with a space.
-
-By default, this command is unbound.
-
-@end ftable
-
-@node Commands For Killing
-@subsection Killing And Yanking
-
-@ftable @code
-
-@item kill-line (C-k)
-Kill the text from point to the end of the line.
-
-@item backward-kill-line (C-x Rubout)
-Kill backward to the beginning of the line.
-
-@item unix-line-discard (C-u)
-Kill backward from the cursor to the beginning of the current line.
-
-@item kill-whole-line ()
-Kill all characters on the current line, no matter where point is.
-By default, this is unbound.
-
-@item kill-word (M-d)
-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}.
-
-@item backward-kill-word (M-@key{DEL})
-Kill the word behind point.
-Word boundaries are the same as @code{backward-word}.
-
-@item unix-word-rubout (C-w)
-Kill the word behind point, using white space as a word boundary.
-The killed text is saved on the kill-ring.
-
-@item delete-horizontal-space ()
-Delete all spaces and tabs around point.  By default, this is unbound.
-
-@item kill-region ()
-Kill the text in the current region.
-By default, this command is unbound.
-
-@item copy-region-as-kill ()
-Copy the text in the region to the kill buffer, so it can be yanked
-right away.  By default, this command is unbound.
-
-@item copy-backward-word ()
-Copy the word before point to the kill buffer.
-The word boundaries are the same as @code{backward-word}.
-By default, this command is unbound.
-
-@item copy-forward-word ()
-Copy the word following point to the kill buffer.
-The word boundaries are the same as @code{forward-word}.
-By default, this command is unbound.
-
-@item yank (C-y)
-Yank the top of the kill ring into the buffer at point.
-
-@item yank-pop (M-y)
-Rotate the kill-ring, and yank the new top.  You can only do this if
-the prior command is @code{yank} or @code{yank-pop}.
-@end ftable
-
-@node Numeric Arguments
-@subsection Specifying Numeric Arguments
-@ftable @code
-
-@item digit-argument (@kbd{M-0}, @kbd{M-1}, @dots{} @kbd{M--})
-Add this digit to the argument already accumulating, or start a new
-argument.  @kbd{M--} starts a negative argument.
-
-@item universal-argument ()
-This is another way to specify an argument.
-If this command is followed by one or more digits, optionally with a
-leading minus sign, those digits define the argument.
-If the command is followed by digits, executing @code{universal-argument}
-again ends the numeric argument, but is otherwise ignored.
-As a special case, if this command is immediately followed by a
-character that is neither a digit or minus sign, the argument count
-for the next command is multiplied by four.
-The argument count is initially one, so executing this function the
-first time makes the argument count four, a second time makes the
-argument count sixteen, and so on.
-By default, this is not bound to a key.
-@end ftable
-
-@node Commands For Completion
-@subsection Letting Readline Type For You
-
-@ftable @code
-@item complete (@key{TAB})
-Attempt to perform completion on the text before point.
-The actual completion performed is application-specific.
-@ifset BashFeatures
-Bash attempts completion treating the text as a variable (if the
-text begins with @samp{$}), username (if the text begins with
-@samp{~}), hostname (if the text begins with @samp{@@}), or
-command (including aliases and functions) in turn.  If none 
-of these produces a match, filename completion is attempted.
-@end ifset
-@ifclear BashFeatures
-The default is filename completion.
-@end ifclear
-
-@item possible-completions (M-?)
-List the possible completions of the text before point.
-
-@item insert-completions (M-*)
-Insert all completions of the text before point that would have
-been generated by @code{possible-completions}.
-
-@item menu-complete ()
-Similar to @code{complete}, but replaces the word to be completed
-with a single match from the list of possible completions.
-Repeated execution of @code{menu-complete} steps through the list
-of possible completions, inserting each match in turn.
-At the end of the list of completions, the bell is rung
-(subject to the setting of @code{bell-style})
-and the original text is restored.
-An argument of @var{n} moves @var{n} positions forward in the list
-of matches; a negative argument may be used to move backward
-through the list.
-This command is intended to be bound to @key{TAB}, but is unbound
-by default.
-
-@item delete-char-or-list ()
-Deletes the character under the cursor if not at the beginning or
-end of the line (like @code{delete-char}).
-If at the end of the line, behaves identically to
-@code{possible-completions}.
-This command is unbound by default.
-
-@ifset BashFeatures
-@item complete-filename (M-/)
-Attempt filename completion on the text before point.
-
-@item possible-filename-completions (C-x /)
-List the possible completions of the text before point,
-treating it as a filename.
-
-@item complete-username (M-~)
-Attempt completion on the text before point, treating
-it as a username.
-
-@item possible-username-completions (C-x ~)
-List the possible completions of the text before point,
-treating it as a username.
-
-@item complete-variable (M-$)
-Attempt completion on the text before point, treating
-it as a shell variable.
-
-@item possible-variable-completions (C-x $)
-List the possible completions of the text before point,
-treating it as a shell variable.
-
-@item complete-hostname (M-@@)
-Attempt completion on the text before point, treating
-it as a hostname.
-
-@item possible-hostname-completions (C-x @@)
-List the possible completions of the text before point,
-treating it as a hostname.
-
-@item complete-command (M-!)
-Attempt completion on the text before point, treating
-it as a command name.  Command completion attempts to
-match the text against aliases, reserved words, shell
-functions, shell builtins, and finally executable filenames,
-in that order.
-
-@item possible-command-completions (C-x !)
-List the possible completions of the text before point,
-treating it as a command name.
-
-@item dynamic-complete-history (M-@key{TAB})
-Attempt completion on the text before point, comparing
-the text against lines from the history list for possible
-completion matches.
-
-@item complete-into-braces (M-@{)
-Perform filename completion and insert the list of possible completions
-enclosed within braces so the list is available to the shell
-(@pxref{Brace Expansion}).
-
-@end ifset
-@end ftable
-
-@node Keyboard Macros
-@subsection Keyboard Macros
-@ftable @code
-
-@item start-kbd-macro (C-x ()
-Begin saving the characters typed into the current keyboard macro.
-
-@item end-kbd-macro (C-x ))
-Stop saving the characters typed into the current keyboard macro
-and save the definition.
-
-@item call-last-kbd-macro (C-x e)
-Re-execute the last keyboard macro defined, by making the characters
-in the macro appear as if typed at the keyboard.
-
-@end ftable
-
-@node Miscellaneous Commands
-@subsection Some Miscellaneous Commands
-@ftable @code
-
-@item re-read-init-file (C-x C-r)
-Read in the contents of the @var{inputrc} file, and incorporate
-any bindings or variable assignments found there.
-
-@item abort (C-g)
-Abort the current editing command and
-ring the terminal's bell (subject to the setting of
-@code{bell-style}).
-
-@item do-uppercase-version (M-a, M-b, M-@var{x}, @dots{})
-If the metafied character @var{x} is lowercase, run the command
-that is bound to the corresponding uppercase character.
-
-@item prefix-meta (@key{ESC})
-Metafy the next character typed.  This is for keyboards
-without a meta key.  Typing @samp{@key{ESC} f} is equivalent to typing
-@kbd{M-f}.
-
-@item undo (C-_ or C-x C-u)
-Incremental undo, separately remembered for each line.
-
-@item revert-line (M-r)
-Undo all changes made to this line.  This is like executing the @code{undo}
-command enough times to get back to the beginning.
-
-@ifset BashFeatures
-@item tilde-expand (M-&)
-@end ifset
-@ifclear BashFeatures
-@item tilde-expand (M-~)
-@end ifclear
-Perform tilde expansion on the current word.
-
-@item set-mark (C-@@)
-Set the mark to the point.  If a
-numeric argument is supplied, the mark is set to that position.
-
-@item exchange-point-and-mark (C-x C-x)
-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.
-
-@item character-search (C-])
-A character is read and point is moved to the next occurrence of that
-character.  A negative count searches for previous occurrences.
-
-@item character-search-backward (M-C-])
-A character is read and point is moved to the previous occurrence
-of that character.  A negative count searches for subsequent
-occurrences.
-
-@item insert-comment (M-#)
-Without a numeric argument, the value of the @code{comment-begin}
-variable is inserted at the beginning of the current line.
-If a numeric argument is supplied, this command acts as a toggle:  if
-the characters at the beginning of the line do not match the value
-of @code{comment-begin}, the value is inserted, otherwise
-the characters in @code{comment-begin} are deleted from the beginning of
-the line.
-In either case, the line is accepted as if a newline had been typed.
-@ifset BashFeatures
-The default value of @code{comment-begin} causes this command
-to make the current line a shell comment.
-If a numeric argument causes the comment character to be removed, the line
-will be executed by the shell.
-@end ifset
-
-@item dump-functions ()
-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} file.  This command is unbound by default.
-
-@item dump-variables ()
-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} file.  This command is unbound by default.
-
-@item dump-macros ()
-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} file.  This command is unbound by default.
-
-@ifset BashFeatures
-@item glob-complete-word (M-g)
-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.
-
-@item glob-expand-word (C-x *)
-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{*} is appended before
-pathname expansion.
-
-@item glob-list-expansions (C-x g)
-The list of expansions that would have been generated by
-@code{glob-expand-word} is displayed, and the line is redrawn.
-If a numeric argument is supplied, a @samp{*} is appended before
-pathname expansion.
-
-@item display-shell-version (C-x C-v)
-Display version information about the current instance of Bash.
-
-@item shell-expand-line (M-C-e)
-Expand the line as the shell does.
-This performs alias and history expansion as well as all of the shell
-word expansions (@pxref{Shell Expansions}).
-
-@item history-expand-line (M-^)
-Perform history expansion on the current line.
-
-@item magic-space ()
-Perform history expansion on the current line and insert a space
-(@pxref{History Interaction}).
-
-@item alias-expand-line ()
-Perform alias expansion on the current line (@pxref{Aliases}).
-
-@item history-and-alias-expand-line ()
-Perform history and alias expansion on the current line.
-
-@item insert-last-argument (M-. or M-_)
-A synonym for @code{yank-last-arg}.
-
-@item operate-and-get-next (C-o)
-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.
-
-@item edit-and-execute-command (C-xC-e)
-Invoke an editor on the current command line, and execute the result as shell
-commands.
-Bash attempts to invoke
-@code{$FCEDIT}, @code{$EDITOR}, and @code{emacs}
-as the editor, in that order.
-
-@end ifset
-
-@ifclear BashFeatures
-@item emacs-editing-mode (C-e)
-When in @code{vi} command mode, this causes a switch to @code{emacs}
-editing mode.
-
-@item vi-editing-mode (M-C-j)
-When in @code{emacs} editing mode, this causes a switch to @code{vi}
-editing mode.
-
-@end ifclear
-
-@end ftable
-
-@node Readline vi Mode
-@section Readline vi Mode
-
-While the Readline library does not have a full set of @code{vi}
-editing functions, it does contain enough to allow simple editing
-of the line.  The Readline @code{vi} mode behaves as specified in
-the @sc{posix} 1003.2 standard.
-
-@ifset BashFeatures
-In order to switch interactively between @code{emacs} and @code{vi}
-editing modes, use the @samp{set -o emacs} and @samp{set -o vi}
-commands (@pxref{The Set Builtin}).
-@end ifset
-@ifclear BashFeatures
-In order to switch interactively between @code{emacs} and @code{vi}
-editing modes, use the command @kbd{M-C-j} (bound to emacs-editing-mode
-when in @code{vi} mode and to vi-editing-mode in @code{emacs} mode).
-@end ifclear
-The Readline default is @code{emacs} mode.
-
-When you enter a line in @code{vi} mode, you are already placed in
-`insertion' mode, as if you had typed an @samp{i}.  Pressing @key{ESC}
-switches you into `command' mode, where you can edit the text of the
-line with the standard @code{vi} movement keys, move to previous
-history lines with @samp{k} and subsequent lines with @samp{j}, and
-so forth.
-
-@ifset BashFeatures
-@node Programmable Completion
-@section Programmable Completion
-@cindex programmable completion
-
-When word completion is attempted for an argument to a command for
-which a completion specification (a @var{compspec}) has been defined
-using the @code{complete} builtin (@pxref{Programmable Completion Builtins}),
-the programmable completion facilities are invoked. 
-
-First, the command name is identified.
-If a compspec has been defined for that command, the
-compspec is used to generate the list of possible completions for the word.
-If the command word is a full pathname, a compspec for the full
-pathname is searched for first.
-If no compspec is found for the full pathname, an attempt is made to
-find a compspec for the portion following the final slash.
-
-Once a compspec has been found, it is used to generate the list of
-matching words.
-If a compspec is not found, the default Bash completion
-described above (@pxref{Commands For Completion}) is performed.
-
-First, the actions specified by the compspec are used.
-Only matches which are prefixed by the word being completed are
-returned.
-When the @option{-f} or @option{-d} option is used for filename or
-directory name completion, the shell variable @env{FIGNORE} is
-used to filter the matches.
-@xref{Bash Variables}, for a description of @env{FIGNORE}.
-
-Any completions specified by a filename expansion pattern to the
-@option{-G} option are generated next.
-The words generated by the pattern need not match the word being completed.
-The @env{GLOBIGNORE} shell variable is not used to filter the matches,
-but the @env{FIGNORE} shell variable is used.
-
-Next, the string specified as the argument to the @option{-W} option
-is considered.
-The string is first split using the characters in the @env{IFS}
-special variable as delimiters.
-Shell quoting is honored.
-Each word is then expanded using
-brace expansion, tilde expansion, parameter and variable expansion,
-command substitution, arithmetic expansion, and pathname expansion,
-as described above (@pxref{Shell Expansions}).
-The results are split using the rules described above
-(@pxref{Word Splitting}).
-The results of the expansion are prefix-matched against the word being
-completed, and the matching words become the possible completions.
-
-After these matches have been generated, any shell function or command
-specified with the @option{-F} and @option{-C} options is invoked.
-When the command or function is invoked, the @env{COMP_LINE} and
-@env{COMP_POINT} variables are assigned values as described above
-(@pxref{Bash Variables}).
-If a shell function is being invoked, the @env{COMP_WORDS} and
-@env{COMP_CWORD} variables are also set.
-When the function or command is invoked, the first argument is the
-name of the command whose arguments are being completed, the
-second argument is the word being completed, and the third argument
-is the word preceding the word being completed on the current command line.
-No filtering of the generated completions against the word being completed
-is performed; the function or command has complete freedom in generating
-the matches.
-
-Any function specified with @option{-F} is invoked first.
-The function may use any of the shell facilities, including the
-@code{compgen} builtin described below
-(@pxref{Programmable Completion Builtins}), to generate the matches.
-It must put the possible completions in the @env{COMPREPLY} array
-variable.
-
-Next, any command specified with the @option{-C} option is invoked
-in an environment equivalent to command substitution.
-It should print a list of completions, one per line, to
-the standard output.
-Backslash may be used to escape a newline, if necessary.
-
-After all of the possible completions are generated, any filter
-specified with the @option{-X} option is applied to the list.
-The filter is a pattern as used for pathname expansion; a @samp{&}
-in the pattern is replaced with the text of the word being completed.
-A literal @samp{&} may be escaped with a backslash; the backslash
-is removed before attempting a match.
-Any completion that matches the pattern will be removed from the list.
-A leading @samp{!} negates the pattern; in this case any completion
-not matching the pattern will be removed.
-
-Finally, any prefix and suffix specified with the @option{-P} and @option{-S}
-options are added to each member of the completion list, and the result is
-returned to the Readline completion code as the list of possible
-completions.
-
-If the previously-applied actions do not generate any matches, and the
-@option{-o dirnames} option was supplied to @code{complete} when the
-compspec was defined, directory name completion is attempted. 
-
-By default, if a compspec is found, whatever it generates is returned to
-the completion code as the full set of possible completions.
-The default Bash completions are not attempted, and the Readline default
-of filename completion is disabled.
-If the @option{-o default} option was supplied to @code{complete} when the
-compspec was defined, Readline's default completion will be performed
-if the compspec generates no matches.
-
-When a compspec indicates that directory name completion is desired,
-the programmable completion functions force Readline to append a slash
-to completed names which are symbolic links to directories, subject to
-the value of the @var{mark-directories} Readline variable, regardless
-of the setting of the @var{mark-symlinked-directories} Readline variable.
-
-@node Programmable Completion Builtins
-@section Programmable Completion Builtins
-@cindex completion builtins
-
-Two builtin commands are available to manipulate the programmable completion
-facilities.
-
-@table @code
-@item compgen
-@btindex compgen
-@example
-@code{compgen [@var{option}] [@var{word}]}
-@end example
-
-Generate possible completion matches for @var{word} according to
-the @var{option}s, which may be any option accepted by the
-@code{complete}
-builtin with the exception of @option{-p} and @option{-r}, and write
-the matches to the standard output.
-When using the @option{-F} or @option{-C} options, the various shell variables
-set by the programmable completion facilities, while available, will not
-have useful values.
-
-The matches will be generated in the same way as if the programmable
-completion code had generated them directly from a completion specification
-with the same flags.
-If @var{word} is specified, only those completions matching @var{word}
-will be displayed.
-
-The return value is true unless an invalid option is supplied, or no
-matches were generated.
-
-@item complete
-@btindex complete
-@example
-@code{complete [-abcdefgjksuv] [-o @var{comp-option}] [-A @var{action}] [-G @var{globpat}] [-W @var{wordlist}]
-[-P @var{prefix}] [-S @var{suffix}] [-X @var{filterpat}] [-F @var{function}]
-[-C @var{command}] @var{name} [@var{name} @dots{}]}
-@code{complete -pr [@var{name} @dots{}]}
-@end example
-
-Specify how arguments to each @var{name} should be completed.
-If the @option{-p} option is supplied, or if no options are supplied, existing
-completion specifications are printed in a way that allows them to be
-reused as input.
-The @option{-r} option removes a completion specification for
-each @var{name}, or, if no @var{name}s are supplied, all
-completion specifications.
-
-The process of applying these completion specifications when word completion
-is attempted is described above (@pxref{Programmable Completion}).
-
-Other options, if specified, have the following meanings.
-The arguments to the @option{-G}, @option{-W}, and @option{-X} options
-(and, if necessary, the @option{-P} and @option{-S} options)
-should be quoted to protect them from expansion before the
-@code{complete} builtin is invoked.
-
-
-@table @code
-@item -o @var{comp-option}
-The @var{comp-option} controls several aspects of the compspec's behavior
-beyond the simple generation of completions.
-@var{comp-option} may be one of: 
-
-@table @code
-
-@item default
-Use Readline's default filename completion if the compspec generates
-no matches.
-
-@item dirnames
-Perform directory name completion if the compspec generates no matches.
-
-@item filenames
-Tell Readline that the compspec generates filenames, so it can perform any
-filename\-specific processing (like adding a slash to directory names or
-suppressing trailing spaces).  This option is intended to be used with
-shell functions specified with @option{-F}.
-
-@item nospace
-Tell Readline not to append a space (the default) to words completed at
-the end of the line.
-@end table
-
-@item -A @var{action}
-The @var{action} may be one of the following to generate a list of possible
-completions:
-
-@table @code
-@item alias
-Alias names.  May also be specified as @option{-a}.
-
-@item arrayvar
-Array variable names.
-
-@item binding
-Readline key binding names (@pxref{Bindable Readline Commands}).
-
-@item builtin
-Names of shell builtin commands.  May also be specified as @option{-b}.
-
-@item command
-Command names.  May also be specified as @option{-c}.
-
-@item directory
-Directory names.  May also be specified as @option{-d}.
-
-@item disabled
-Names of disabled shell builtins.
-
-@item enabled
-Names of enabled shell builtins.
-
-@item export
-Names of exported shell variables.  May also be specified as @option{-e}.
-
-@item file
-File names.  May also be specified as @option{-f}.
-
-@item function
-Names of shell functions.
-
-@item group
-Group names.  May also be specified as @option{-g}.
-
-@item helptopic
-Help topics as accepted by the @code{help} builtin (@pxref{Bash Builtins}).
-
-@item hostname
-Hostnames, as taken from the file specified by the
-@env{HOSTFILE} shell variable (@pxref{Bash Variables}).
-
-@item job
-Job names, if job control is active.  May also be specified as @option{-j}.
-
-@item keyword
-Shell reserved words.  May also be specified as @option{-k}.
-
-@item running
-Names of running jobs, if job control is active.
-
-@item service
-Service names.  May also be specified as @option{-s}.
-
-@item setopt
-Valid arguments for the @option{-o} option to the @code{set} builtin
-(@pxref{The Set Builtin}).
-
-@item shopt
-Shell option names as accepted by the @code{shopt} builtin
-(@pxref{Bash Builtins}).
-
-@item signal
-Signal names.
-
-@item stopped
-Names of stopped jobs, if job control is active.
-
-@item user
-User names.  May also be specified as @option{-u}.
-
-@item variable
-Names of all shell variables.  May also be specified as @option{-v}.
-@end table
-
-@item -G @var{globpat}
-The filename expansion pattern @var{globpat} is expanded to generate
-the possible completions.
-
-@item -W @var{wordlist}
-The @var{wordlist} is split using the characters in the
-@env{IFS} special variable as delimiters, and each resultant word
-is expanded.
-The possible completions are the members of the resultant list which
-match the word being completed.
-
-@item -C @var{command}
-@var{command} is executed in a subshell environment, and its output is
-used as the possible completions.
-
-@item -F @var{function}
-The shell function @var{function} is executed in the current shell
-environment.
-When it finishes, the possible completions are retrieved from the value
-of the @env{COMPREPLY} array variable.
-
-@item -X @var{filterpat}
-@var{filterpat} is a pattern as used for filename expansion.
-It is applied to the list of possible completions generated by the
-preceding options and arguments, and each completion matching
-@var{filterpat} is removed from the list.
-A leading @samp{!} in @var{filterpat} negates the pattern; in this
-case, any completion not matching @var{filterpat} is removed.
-
-@item -P @var{prefix}
-@var{prefix} is added at the beginning of each possible completion
-after all other options have been applied.
-
-@item -S @var{suffix}
-@var{suffix} is appended to each possible completion
-after all other options have been applied.
-@end table
-
-The return value is true unless an invalid option is supplied, an option
-other than @option{-p} or @option{-r} is supplied without a @var{name}
-argument, an attempt is made to remove a completion specification for
-a @var{name} for which no specification exists, or
-an error occurs adding a completion specification.
-
-@end table
-@end ifset
diff --git a/lib/readline/doc/rluserman.aux b/lib/readline/doc/rluserman.aux
deleted file mode 100644 (file)
index e6fa5b5..0000000
+++ /dev/null
@@ -1,69 +0,0 @@
-@xrdef{Command Line Editing-title}{Command Line Editing}
-@xrdef{Command Line Editing-snt}{Chapter@tie 1}
-@xrdef{Introduction and Notation-title}{Introduction to Line Editing}
-@xrdef{Introduction and Notation-snt}{Section@tie 1.1}
-@xrdef{Readline Interaction-title}{Readline Interaction}
-@xrdef{Readline Interaction-snt}{Section@tie 1.2}
-@xrdef{Readline Bare Essentials-title}{Readline Bare Essentials}
-@xrdef{Readline Bare Essentials-snt}{Section@tie 1.2.1}
-@xrdef{Command Line Editing-pg}{1}
-@xrdef{Introduction and Notation-pg}{1}
-@xrdef{Readline Interaction-pg}{1}
-@xrdef{Readline Movement Commands-title}{Readline Movement Commands}
-@xrdef{Readline Movement Commands-snt}{Section@tie 1.2.2}
-@xrdef{Readline Killing Commands-title}{Readline Killing Commands}
-@xrdef{Readline Killing Commands-snt}{Section@tie 1.2.3}
-@xrdef{Readline Bare Essentials-pg}{2}
-@xrdef{Readline Movement Commands-pg}{2}
-@xrdef{Readline Arguments-title}{Readline Arguments}
-@xrdef{Readline Arguments-snt}{Section@tie 1.2.4}
-@xrdef{Searching-title}{Searching for Commands in the History}
-@xrdef{Searching-snt}{Section@tie 1.2.5}
-@xrdef{Readline Killing Commands-pg}{3}
-@xrdef{Readline Arguments-pg}{3}
-@xrdef{Searching-pg}{3}
-@xrdef{Readline Init File-title}{Readline Init File}
-@xrdef{Readline Init File-snt}{Section@tie 1.3}
-@xrdef{Readline Init File Syntax-title}{Readline Init File Syntax}
-@xrdef{Readline Init File Syntax-snt}{Section@tie 1.3.1}
-@xrdef{Readline Init File-pg}{4}
-@xrdef{Readline Init File Syntax-pg}{4}
-@xrdef{Conditional Init Constructs-title}{Conditional Init Constructs}
-@xrdef{Conditional Init Constructs-snt}{Section@tie 1.3.2}
-@xrdef{Conditional Init Constructs-pg}{14}
-@xrdef{Sample Init File-title}{Sample Init File}
-@xrdef{Sample Init File-snt}{Section@tie 1.3.3}
-@xrdef{Sample Init File-pg}{15}
-@xrdef{Bindable Readline Commands-title}{Bindable Readline Commands}
-@xrdef{Bindable Readline Commands-snt}{Section@tie 1.4}
-@xrdef{Commands For Moving-title}{Commands For Moving}
-@xrdef{Commands For Moving-snt}{Section@tie 1.4.1}
-@xrdef{Bindable Readline Commands-pg}{18}
-@xrdef{Commands For Moving-pg}{18}
-@xrdef{Commands For History-title}{Commands For Manipulating The History}
-@xrdef{Commands For History-snt}{Section@tie 1.4.2}
-@xrdef{Commands For History-pg}{19}
-@xrdef{Commands For Text-title}{Commands For Changing Text}
-@xrdef{Commands For Text-snt}{Section@tie 1.4.3}
-@xrdef{Commands For Text-pg}{21}
-@xrdef{Commands For Killing-title}{Killing And Yanking}
-@xrdef{Commands For Killing-snt}{Section@tie 1.4.4}
-@xrdef{Commands For Killing-pg}{22}
-@xrdef{Numeric Arguments-title}{Specifying Numeric Arguments}
-@xrdef{Numeric Arguments-snt}{Section@tie 1.4.5}
-@xrdef{Commands For Completion-title}{Letting Readline Type For You}
-@xrdef{Commands For Completion-snt}{Section@tie 1.4.6}
-@xrdef{Numeric Arguments-pg}{23}
-@xrdef{Keyboard Macros-title}{Keyboard Macros}
-@xrdef{Keyboard Macros-snt}{Section@tie 1.4.7}
-@xrdef{Miscellaneous Commands-title}{Some Miscellaneous Commands}
-@xrdef{Miscellaneous Commands-snt}{Section@tie 1.4.8}
-@xrdef{Commands For Completion-pg}{24}
-@xrdef{Keyboard Macros-pg}{24}
-@xrdef{Miscellaneous Commands-pg}{25}
-@xrdef{Readline vi Mode-title}{Readline vi Mode}
-@xrdef{Readline vi Mode-snt}{Section@tie 1.5}
-@xrdef{Readline vi Mode-pg}{26}
-@xrdef{GNU Free Documentation License-title}{GNU Free Documentation License}
-@xrdef{GNU Free Documentation License-snt}{Appendix@tie @char65{}}
-@xrdef{GNU Free Documentation License-pg}{27}
diff --git a/lib/readline/doc/rluserman.bt b/lib/readline/doc/rluserman.bt
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/lib/readline/doc/rluserman.cp b/lib/readline/doc/rluserman.cp
deleted file mode 100644 (file)
index 3c20c35..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-\entry{interaction, readline}{1}{interaction, readline}
-\entry{notation, readline}{2}{notation, readline}
-\entry{command editing}{2}{command editing}
-\entry{editing command lines}{2}{editing command lines}
-\entry{killing text}{3}{killing text}
-\entry{yanking text}{3}{yanking text}
-\entry{kill ring}{3}{kill ring}
-\entry{initialization file, readline}{4}{initialization file, readline}
-\entry{variables, readline}{5}{variables, readline}
diff --git a/lib/readline/doc/rluserman.cps b/lib/readline/doc/rluserman.cps
deleted file mode 100644 (file)
index d9c5cac..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-\initial {C}
-\entry{command editing}{2}
-\initial {E}
-\entry{editing command lines}{2}
-\initial {I}
-\entry{initialization file, readline}{4}
-\entry{interaction, readline}{1}
-\initial {K}
-\entry{kill ring}{3}
-\entry{killing text}{3}
-\initial {N}
-\entry{notation, readline}{2}
-\initial {V}
-\entry{variables, readline}{5}
-\initial {Y}
-\entry{yanking text}{3}
index ffe5e6f24110b5430ce76b1f01d5a9f7e37e1687..5dbba15c41e79e7736db4d5e1000540fa7bcebf6 100644 (file)
Binary files a/lib/readline/doc/rluserman.dvi and b/lib/readline/doc/rluserman.dvi differ
diff --git a/lib/readline/doc/rluserman.fn b/lib/readline/doc/rluserman.fn
deleted file mode 100644 (file)
index 228707e..0000000
+++ /dev/null
@@ -1,88 +0,0 @@
-\entry{beginning-of-line (C-a)}{18}{\code {beginning-of-line (C-a)}}
-\entry{end-of-line (C-e)}{18}{\code {end-of-line (C-e)}}
-\entry{forward-char (C-f)}{18}{\code {forward-char (C-f)}}
-\entry{backward-char (C-b)}{18}{\code {backward-char (C-b)}}
-\entry{forward-word (M-f)}{18}{\code {forward-word (M-f)}}
-\entry{backward-word (M-b)}{18}{\code {backward-word (M-b)}}
-\entry{previous-screen-line ()}{18}{\code {previous-screen-line ()}}
-\entry{next-screen-line ()}{18}{\code {next-screen-line ()}}
-\entry{clear-display (M-C-l)}{19}{\code {clear-display (M-C-l)}}
-\entry{clear-screen (C-l)}{19}{\code {clear-screen (C-l)}}
-\entry{redraw-current-line ()}{19}{\code {redraw-current-line ()}}
-\entry{accept-line (Newline or Return)}{19}{\code {accept-line (Newline or Return)}}
-\entry{previous-history (C-p)}{19}{\code {previous-history (C-p)}}
-\entry{next-history (C-n)}{19}{\code {next-history (C-n)}}
-\entry{beginning-of-history (M-<)}{19}{\code {beginning-of-history (M-<)}}
-\entry{end-of-history (M->)}{19}{\code {end-of-history (M->)}}
-\entry{reverse-search-history (C-r)}{19}{\code {reverse-search-history (C-r)}}
-\entry{forward-search-history (C-s)}{19}{\code {forward-search-history (C-s)}}
-\entry{non-incremental-reverse-search-history (M-p)}{19}{\code {non-incremental-reverse-search-history (M-p)}}
-\entry{non-incremental-forward-search-history (M-n)}{19}{\code {non-incremental-forward-search-history (M-n)}}
-\entry{history-search-backward ()}{20}{\code {history-search-backward ()}}
-\entry{history-search-forward ()}{20}{\code {history-search-forward ()}}
-\entry{history-substring-search-backward ()}{20}{\code {history-substring-search-backward ()}}
-\entry{history-substring-search-forward ()}{20}{\code {history-substring-search-forward ()}}
-\entry{yank-nth-arg (M-C-y)}{20}{\code {yank-nth-arg (M-C-y)}}
-\entry{yank-last-arg (M-. or M-_)}{20}{\code {yank-last-arg (M-. or M-_)}}
-\entry{operate-and-get-next (C-o)}{20}{\code {operate-and-get-next (C-o)}}
-\entry{fetch-history ()}{21}{\code {fetch-history ()}}
-\entry{end-of-file (usually C-d)}{21}{\code {\i {end-of-file} (usually C-d)}}
-\entry{delete-char (C-d)}{21}{\code {delete-char (C-d)}}
-\entry{backward-delete-char (Rubout)}{21}{\code {backward-delete-char (Rubout)}}
-\entry{forward-backward-delete-char ()}{21}{\code {forward-backward-delete-char ()}}
-\entry{quoted-insert (C-q or C-v)}{21}{\code {quoted-insert (C-q or C-v)}}
-\entry{tab-insert (M-TAB)}{21}{\code {tab-insert (M-\key {TAB})}}
-\entry{self-insert (a, b, A, 1, !, ...{})}{21}{\code {self-insert (a, b, A, 1, !, \dots {})}}
-\entry{bracketed-paste-begin ()}{21}{\code {bracketed-paste-begin ()}}
-\entry{transpose-chars (C-t)}{21}{\code {transpose-chars (C-t)}}
-\entry{transpose-words (M-t)}{22}{\code {transpose-words (M-t)}}
-\entry{upcase-word (M-u)}{22}{\code {upcase-word (M-u)}}
-\entry{downcase-word (M-l)}{22}{\code {downcase-word (M-l)}}
-\entry{capitalize-word (M-c)}{22}{\code {capitalize-word (M-c)}}
-\entry{overwrite-mode ()}{22}{\code {overwrite-mode ()}}
-\entry{kill-line (C-k)}{22}{\code {kill-line (C-k)}}
-\entry{backward-kill-line (C-x Rubout)}{22}{\code {backward-kill-line (C-x Rubout)}}
-\entry{unix-line-discard (C-u)}{22}{\code {unix-line-discard (C-u)}}
-\entry{kill-whole-line ()}{22}{\code {kill-whole-line ()}}
-\entry{kill-word (M-d)}{22}{\code {kill-word (M-d)}}
-\entry{backward-kill-word (M-DEL)}{22}{\code {backward-kill-word (M-\key {DEL})}}
-\entry{unix-word-rubout (C-w)}{23}{\code {unix-word-rubout (C-w)}}
-\entry{unix-filename-rubout ()}{23}{\code {unix-filename-rubout ()}}
-\entry{delete-horizontal-space ()}{23}{\code {delete-horizontal-space ()}}
-\entry{kill-region ()}{23}{\code {kill-region ()}}
-\entry{copy-region-as-kill ()}{23}{\code {copy-region-as-kill ()}}
-\entry{copy-backward-word ()}{23}{\code {copy-backward-word ()}}
-\entry{copy-forward-word ()}{23}{\code {copy-forward-word ()}}
-\entry{yank (C-y)}{23}{\code {yank (C-y)}}
-\entry{yank-pop (M-y)}{23}{\code {yank-pop (M-y)}}
-\entry{digit-argument (M-0, M-1, ...{} M--)}{23}{\code {digit-argument (\kbd {M-0}, \kbd {M-1}, \dots {} \kbd {M--})}}
-\entry{universal-argument ()}{23}{\code {universal-argument ()}}
-\entry{complete (TAB)}{24}{\code {complete (\key {TAB})}}
-\entry{possible-completions (M-?)}{24}{\code {possible-completions (M-?)}}
-\entry{insert-completions (M-*)}{24}{\code {insert-completions (M-*)}}
-\entry{menu-complete ()}{24}{\code {menu-complete ()}}
-\entry{menu-complete-backward ()}{24}{\code {menu-complete-backward ()}}
-\entry{delete-char-or-list ()}{24}{\code {delete-char-or-list ()}}
-\entry{start-kbd-macro (C-x ()}{24}{\code {start-kbd-macro (C-x ()}}
-\entry{end-kbd-macro (C-x ))}{24}{\code {end-kbd-macro (C-x ))}}
-\entry{call-last-kbd-macro (C-x e)}{24}{\code {call-last-kbd-macro (C-x e)}}
-\entry{print-last-kbd-macro ()}{24}{\code {print-last-kbd-macro ()}}
-\entry{re-read-init-file (C-x C-r)}{25}{\code {re-read-init-file (C-x C-r)}}
-\entry{abort (C-g)}{25}{\code {abort (C-g)}}
-\entry{do-lowercase-version (M-A, M-B, M-x, ...{})}{25}{\code {do-lowercase-version (M-A, M-B, M-\var {x}, \dots {})}}
-\entry{prefix-meta (ESC)}{25}{\code {prefix-meta (\key {ESC})}}
-\entry{undo (C-_ or C-x C-u)}{25}{\code {undo (C-_ or C-x C-u)}}
-\entry{revert-line (M-r)}{25}{\code {revert-line (M-r)}}
-\entry{tilde-expand (M-~)}{25}{\code {tilde-expand (M-~)}}
-\entry{set-mark (C-@)}{25}{\code {set-mark (C-@)}}
-\entry{exchange-point-and-mark (C-x C-x)}{25}{\code {exchange-point-and-mark (C-x C-x)}}
-\entry{character-search (C-])}{25}{\code {character-search (C-])}}
-\entry{character-search-backward (M-C-])}{25}{\code {character-search-backward (M-C-])}}
-\entry{skip-csi-sequence ()}{25}{\code {skip-csi-sequence ()}}
-\entry{insert-comment (M-#)}{25}{\code {insert-comment (M-#)}}
-\entry{dump-functions ()}{26}{\code {dump-functions ()}}
-\entry{dump-variables ()}{26}{\code {dump-variables ()}}
-\entry{dump-macros ()}{26}{\code {dump-macros ()}}
-\entry{execute-named-command (M-x)}{26}{\code {execute-named-command (M-x)}}
-\entry{emacs-editing-mode (C-e)}{26}{\code {emacs-editing-mode (C-e)}}
-\entry{vi-editing-mode (M-C-j)}{26}{\code {vi-editing-mode (M-C-j)}}
diff --git a/lib/readline/doc/rluserman.fns b/lib/readline/doc/rluserman.fns
deleted file mode 100644 (file)
index e38b9c2..0000000
+++ /dev/null
@@ -1,108 +0,0 @@
-\initial {A}
-\entry{\code {abort (C-g)}}{25}
-\entry{\code {accept-line (Newline or Return)}}{19}
-\initial {B}
-\entry{\code {backward-char (C-b)}}{18}
-\entry{\code {backward-delete-char (Rubout)}}{21}
-\entry{\code {backward-kill-line (C-x Rubout)}}{22}
-\entry{\code {backward-kill-word (M-\key {DEL})}}{22}
-\entry{\code {backward-word (M-b)}}{18}
-\entry{\code {beginning-of-history (M-<)}}{19}
-\entry{\code {beginning-of-line (C-a)}}{18}
-\entry{\code {bracketed-paste-begin ()}}{21}
-\initial {C}
-\entry{\code {call-last-kbd-macro (C-x e)}}{24}
-\entry{\code {capitalize-word (M-c)}}{22}
-\entry{\code {character-search (C-])}}{25}
-\entry{\code {character-search-backward (M-C-])}}{25}
-\entry{\code {clear-display (M-C-l)}}{19}
-\entry{\code {clear-screen (C-l)}}{19}
-\entry{\code {complete (\key {TAB})}}{24}
-\entry{\code {copy-backward-word ()}}{23}
-\entry{\code {copy-forward-word ()}}{23}
-\entry{\code {copy-region-as-kill ()}}{23}
-\initial {D}
-\entry{\code {delete-char (C-d)}}{21}
-\entry{\code {delete-char-or-list ()}}{24}
-\entry{\code {delete-horizontal-space ()}}{23}
-\entry{\code {digit-argument (\kbd {M-0}, \kbd {M-1}, \dots {} \kbd {M--})}}{23}
-\entry{\code {do-lowercase-version (M-A, M-B, M-\var {x}, \dots {})}}{25}
-\entry{\code {downcase-word (M-l)}}{22}
-\entry{\code {dump-functions ()}}{26}
-\entry{\code {dump-macros ()}}{26}
-\entry{\code {dump-variables ()}}{26}
-\initial {E}
-\entry{\code {emacs-editing-mode (C-e)}}{26}
-\entry{\code {end-kbd-macro (C-x ))}}{24}
-\entry{\code {\i {end-of-file} (usually C-d)}}{21}
-\entry{\code {end-of-history (M->)}}{19}
-\entry{\code {end-of-line (C-e)}}{18}
-\entry{\code {exchange-point-and-mark (C-x C-x)}}{25}
-\entry{\code {execute-named-command (M-x)}}{26}
-\initial {F}
-\entry{\code {fetch-history ()}}{21}
-\entry{\code {forward-backward-delete-char ()}}{21}
-\entry{\code {forward-char (C-f)}}{18}
-\entry{\code {forward-search-history (C-s)}}{19}
-\entry{\code {forward-word (M-f)}}{18}
-\initial {H}
-\entry{\code {history-search-backward ()}}{20}
-\entry{\code {history-search-forward ()}}{20}
-\entry{\code {history-substring-search-backward ()}}{20}
-\entry{\code {history-substring-search-forward ()}}{20}
-\initial {I}
-\entry{\code {insert-comment (M-#)}}{25}
-\entry{\code {insert-completions (M-*)}}{24}
-\initial {K}
-\entry{\code {kill-line (C-k)}}{22}
-\entry{\code {kill-region ()}}{23}
-\entry{\code {kill-whole-line ()}}{22}
-\entry{\code {kill-word (M-d)}}{22}
-\initial {M}
-\entry{\code {menu-complete ()}}{24}
-\entry{\code {menu-complete-backward ()}}{24}
-\initial {N}
-\entry{\code {next-history (C-n)}}{19}
-\entry{\code {next-screen-line ()}}{18}
-\entry{\code {non-incremental-forward-search-history (M-n)}}{19}
-\entry{\code {non-incremental-reverse-search-history (M-p)}}{19}
-\initial {O}
-\entry{\code {operate-and-get-next (C-o)}}{20}
-\entry{\code {overwrite-mode ()}}{22}
-\initial {P}
-\entry{\code {possible-completions (M-?)}}{24}
-\entry{\code {prefix-meta (\key {ESC})}}{25}
-\entry{\code {previous-history (C-p)}}{19}
-\entry{\code {previous-screen-line ()}}{18}
-\entry{\code {print-last-kbd-macro ()}}{24}
-\initial {Q}
-\entry{\code {quoted-insert (C-q or C-v)}}{21}
-\initial {R}
-\entry{\code {re-read-init-file (C-x C-r)}}{25}
-\entry{\code {redraw-current-line ()}}{19}
-\entry{\code {reverse-search-history (C-r)}}{19}
-\entry{\code {revert-line (M-r)}}{25}
-\initial {S}
-\entry{\code {self-insert (a, b, A, 1, !, \dots {})}}{21}
-\entry{\code {set-mark (C-@)}}{25}
-\entry{\code {skip-csi-sequence ()}}{25}
-\entry{\code {start-kbd-macro (C-x ()}}{24}
-\initial {T}
-\entry{\code {tab-insert (M-\key {TAB})}}{21}
-\entry{\code {tilde-expand (M-~)}}{25}
-\entry{\code {transpose-chars (C-t)}}{21}
-\entry{\code {transpose-words (M-t)}}{22}
-\initial {U}
-\entry{\code {undo (C-_ or C-x C-u)}}{25}
-\entry{\code {universal-argument ()}}{23}
-\entry{\code {unix-filename-rubout ()}}{23}
-\entry{\code {unix-line-discard (C-u)}}{22}
-\entry{\code {unix-word-rubout (C-w)}}{23}
-\entry{\code {upcase-word (M-u)}}{22}
-\initial {V}
-\entry{\code {vi-editing-mode (M-C-j)}}{26}
-\initial {Y}
-\entry{\code {yank (C-y)}}{23}
-\entry{\code {yank-last-arg (M-. or M-_)}}{20}
-\entry{\code {yank-nth-arg (M-C-y)}}{20}
-\entry{\code {yank-pop (M-y)}}{23}
index 551942ce9b158689a615007c2c5109704897a4a2..8731e3a14b8aac0e4d784e5753c74c47d13c88c4 100644 (file)
@@ -1,6 +1,6 @@
 <HTML>
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<!-- Created on October, 18  2024 by texi2html 1.64 -->
+<!-- Created on November, 1  2024 by texi2html 1.64 -->
 <!-- 
 Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
             Karl Berry  <karl@freefriends.org>
@@ -668,7 +668,7 @@ common prefix of the set of possible completions using a different color.
 The color definitions are taken from the value of the <CODE>LS_COLORS</CODE>
 environment variable.
 If there is a color definition in <CODE>LS_COLORS</CODE> for the custom suffix
-<SAMP>`.readline-colored-completion-prefix'</SAMP>, Readline uses this color for
+<SAMP>`readline-colored-completion-prefix'</SAMP>, Readline uses this color for
 the common prefix instead of its default.
 The default is <SAMP>`off'</SAMP>.
 <P>
@@ -3228,7 +3228,7 @@ to permit their use in free software.
 <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC_About"> ? </A>]</TD>
 </TR></TABLE>
 <H1>About this document</H1>
-This document was generated by <I>Chet Ramey</I> on <I>October, 18  2024</I>
+This document was generated by <I>Chet Ramey</I> on <I>November, 1  2024</I>
 using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
 "><I>texi2html</I></A>
 <P></P>  
@@ -3390,7 +3390,7 @@ the following structure:
 <BR>  
 <FONT SIZE="-1">
 This document was generated
-by <I>Chet Ramey</I> on <I>October, 18  2024</I>
+by <I>Chet Ramey</I> on <I>November, 1  2024</I>
 using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
 "><I>texi2html</I></A>
 
index 4348ee0981c30731312778c4c9f073d10d6919b0..19a3e3fc4fe48a318a43a7c62a113f8e4785b049 100644 (file)
@@ -425,9 +425,9 @@ Variable Settings
           different color.  The color definitions are taken from the
           value of the ‘LS_COLORS’ environment variable.  If there is a
           color definition in ‘LS_COLORS’ for the custom suffix
-          ‘.readline-colored-completion-prefix’, Readline uses this
-          color for the common prefix instead of its default.  The
-          default is ‘off’.
+          ‘readline-colored-completion-prefix’, Readline uses this color
+          for the common prefix instead of its default.  The default is
+          ‘off’.
 
      ‘colored-stats’
           If set to ‘on’, Readline displays possible completions using
@@ -2122,19 +2122,19 @@ Node: Readline Arguments\7f10474
 Node: Searching\7f11536
 Node: Readline Init File\7f13768
 Node: Readline Init File Syntax\7f14967
-Node: Conditional Init Constructs\7f41361
-Node: Sample Init File\7f45751
-Node: Bindable Readline Commands\7f48877
-Node: Commands For Moving\7f50262
-Node: Commands For History\7f52193
-Node: Commands For Text\7f57399
-Node: Commands For Killing\7f61245
-Node: Numeric Arguments\7f63702
-Node: Commands For Completion\7f64859
-Node: Keyboard Macros\7f66947
-Node: Miscellaneous Commands\7f67653
-Node: Readline vi Mode\7f71978
-Node: GNU Free Documentation License\7f72972
+Node: Conditional Init Constructs\7f41360
+Node: Sample Init File\7f45750
+Node: Bindable Readline Commands\7f48876
+Node: Commands For Moving\7f50261
+Node: Commands For History\7f52192
+Node: Commands For Text\7f57398
+Node: Commands For Killing\7f61244
+Node: Numeric Arguments\7f63701
+Node: Commands For Completion\7f64858
+Node: Keyboard Macros\7f66946
+Node: Miscellaneous Commands\7f67652
+Node: Readline vi Mode\7f71977
+Node: GNU Free Documentation License\7f72971
 \1f
 End Tag Table
 
diff --git a/lib/readline/doc/rluserman.ky b/lib/readline/doc/rluserman.ky
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/lib/readline/doc/rluserman.log b/lib/readline/doc/rluserman.log
deleted file mode 100644 (file)
index ea9780e..0000000
+++ /dev/null
@@ -1,242 +0,0 @@
-This is pdfTeX, Version 3.141592653-2.6-1.40.26 (TeX Live 2024/MacPorts 2024.70613_0) (preloaded format=etex 2024.4.9)  18 OCT 2024 11:25
-entering extended mode
- restricted \write18 enabled.
- file:line:error style messages enabled.
- %&-line parsing enabled.
-**\nonstopmode \input ././rluserman.texi
-(././rluserman.texi
-(/usr/local/src/bash/bash-20241015/lib/readline/doc/texinfo.tex
-Loading texinfo [version 2015-11-22.14]:
-\outerhsize=\dimen16
-\outervsize=\dimen17
-\cornerlong=\dimen18
-\cornerthick=\dimen19
-\topandbottommargin=\dimen20
-\bindingoffset=\dimen21
-\normaloffset=\dimen22
-\pagewidth=\dimen23
-\pageheight=\dimen24
-\headlinebox=\box16
-\footlinebox=\box17
-\margin=\insert252
-\EMsimple=\toks13
-\groupbox=\box18
-\groupinvalidhelp=\toks14
-\mil=\dimen25
-\exdentamount=\skip18
-\inmarginspacing=\skip19
-\centerpenalty=\count27
- pdf,
-\tempnum=\count28
-\lnkcount=\count29
-\filename=\toks15
-\filenamelength=\count30
-\pgn=\count31
-\toksA=\toks16
-\toksB=\toks17
-\toksC=\toks18
-\toksD=\toks19
-\boxA=\box19
-\boxB=\box20
-\countA=\count32
-\nopdfimagehelp=\toks20
- fonts,
-\sffam=\fam8
-\textleading=\dimen26
- markup,
-\fontdepth=\count33
- glyphs,
-\errorbox=\box21
-
-page headings,
-\titlepagetopglue=\skip20
-\titlepagebottomglue=\skip21
-\evenheadline=\toks21
-\oddheadline=\toks22
-\evenfootline=\toks23
-\oddfootline=\toks24
- tables,
-\tableindent=\dimen27
-\itemindent=\dimen28
-\itemmargin=\dimen29
-\itemmax=\dimen30
-\itemno=\count34
-\multitableparskip=\skip22
-\multitableparindent=\skip23
-\multitablecolspace=\dimen31
-\multitablelinespace=\skip24
-\colcount=\count35
-\everytab=\toks25
- conditionals,
-\doignorecount=\count36
- indexing,
-\dummybox=\box22
-\whatsitskip=\skip25
-\whatsitpenalty=\count37
-\entryrightmargin=\dimen32
-\thinshrinkable=\skip26
-\entryindexbox=\box23
-\secondaryindent=\skip27
-\partialpage=\box24
-\doublecolumnhsize=\dimen33
-\doublecolumntopgap=\dimen34
-\savedtopmark=\toks26
-\savedfirstmark=\toks27
- sectioning,
-\unnumberedno=\count38
-\chapno=\count39
-\secno=\count40
-\subsecno=\count41
-\subsubsecno=\count42
-\appendixno=\count43
-\absseclevel=\count44
-\secbase=\count45
-\chapheadingskip=\skip28
-\secheadingskip=\skip29
-\subsecheadingskip=\skip30
- toc,
-\tocfile=\write0
-\contentsrightmargin=\skip31
-\savepageno=\count46
-\lastnegativepageno=\count47
-\tocindent=\dimen35
- environments,
-\lispnarrowing=\skip32
-\envskipamount=\skip33
-\circthick=\dimen36
-\cartouter=\dimen37
-\cartinner=\dimen38
-\normbskip=\skip34
-\normpskip=\skip35
-\normlskip=\skip36
-\lskip=\skip37
-\rskip=\skip38
-\nonfillparindent=\dimen39
-\tabw=\dimen40
-\verbbox=\box25
-
-defuns,
-\defbodyindent=\skip39
-\defargsindent=\skip40
-\deflastargmargin=\skip41
-\defunpenalty=\count48
-\parencount=\count49
-\brackcount=\count50
- macros,
-\paramno=\count51
-\macname=\toks28
- cross references,
-\auxfile=\write1
-\savesfregister=\count52
-\toprefbox=\box26
-\printedrefnamebox=\box27
-\infofilenamebox=\box28
-\printedmanualbox=\box29
- insertions,
-\footnoteno=\count53
-\SAVEfootins=\box30
-\SAVEmargin=\box31
-
-(/opt/local/share/texmf/tex/generic/epsf/epsf.tex
-This is `epsf.tex' v2.7.4 <14 February 2011>
-\epsffilein=\read1
-\epsfframemargin=\dimen41
-\epsfframethickness=\dimen42
-\epsfrsize=\dimen43
-\epsftmp=\dimen44
-\epsftsize=\dimen45
-\epsfxsize=\dimen46
-\epsfysize=\dimen47
-\pspoints=\dimen48
-)
-\noepsfhelp=\toks29
- localization,
-\nolanghelp=\toks30
-\countUTFx=\count54
-\countUTFy=\count55
-\countUTFz=\count56
- formatting,
-\defaultparindent=\dimen49
- and turning on texinfo input format.)
-texinfo.tex: doing @include of version.texi
-
-
-(/usr/local/src/bash/bash-20241015/lib/readline/doc/version.texi) [1] [2]
-(/usr/local/src/bash/bash-20241015/lib/readline/doc/rluserman.toc) [-1]
-texinfo.tex: doing @include of rluser.texi
-
-
-(/usr/local/src/bash/bash-20241015/lib/readline/doc/rluser.texi Chapter 1
-\openout0 = `rluserman.toc'.
-
-
-(/usr/local/src/bash/bash-20241015/lib/readline/doc/rluserman.aux)
-\openout1 = `rluserman.aux'.
-
-@cpindfile=@write2
-\openout2 = `rluserman.cp'.
-
- [1] [2]
-[3] [4]
-@vrindfile=@write3
-\openout3 = `rluserman.vr'.
-
- [5] [6] [7] [8] [9] [10] [11]
-Underfull \hbox (badness 7540) in paragraph at lines 959--965
- []@textrm In the ex-am-ple above, @textttsl C-u[] @textrm is bound to the func
--tion
-
-@hbox(7.60416+2.12917)x433.62, glue set 4.22592
-.@glue(@leftskip) 115.63242
-.@hbox(0.0+0.0)x0.0
-.@textrm I
-.@textrm n
-.@glue 3.65 plus 1.825 minus 1.21666
-.etc.
-
-
-Underfull \hbox (badness 10000) in paragraph at lines 959--965
- @texttt universal-argument[]@textrm , @textttsl M-DEL[] @textrm is bound to th
-e func-tion
-
-@hbox(7.60416+2.43333)x433.62, glue set 5.18782
-.@glue(@leftskip) 115.63242
-.@texttt u
-.@texttt n
-.@texttt i
-.@texttt v
-.etc.
-
-[12] [13] [14] [15]
-Overfull \hbox (26.43913pt too wide) in paragraph at lines 1204--1204
- []@texttt Meta-Control-h: backward-kill-word Text after the function name is i
-gnored[] |
-
-@hbox(6.69167+2.43333)x433.62
-.@glue(@leftskip) 28.90755
-.@hbox(0.0+0.0)x0.0
-.@texttt M
-.@texttt e
-.@texttt t
-.etc.
-
-[16] [17]
-@fnindfile=@write4
-\openout4 = `rluserman.fn'.
-
- [18] [19] [20] [21] [22] [23] [24] [25]) Appendix A [26]
-texinfo.tex: doing @include of fdl.texi
-
-
-(/usr/local/src/bash/bash-20241015/lib/readline/doc/fdl.texi [27] [28] [29]
-[30] [31] [32] [33]) [34] ) 
-Here is how much of TeX's memory you used:
- 3183 strings out of 495850
- 32327 string characters out of 6172145
- 115463 words of memory out of 5000000
- 4544 multiletter control sequences out of 15000+600000
- 32778 words of font info for 114 fonts, out of 8000000 for 9000
- 701 hyphenation exceptions out of 8191
- 19i,6n,17p,309b,808s stack positions out of 10000i,1000n,20000p,200000b,200000s
-
-Output written on rluserman.dvi (37 pages, 123220 bytes).
index 100ae56302a9a7890d40ac8c7c3b22dd716fcfd5..f4803983415f46d187526bde78dde9d5cbd2c402 100644 (file)
Binary files a/lib/readline/doc/rluserman.pdf and b/lib/readline/doc/rluserman.pdf differ
diff --git a/lib/readline/doc/rluserman.pg b/lib/readline/doc/rluserman.pg
deleted file mode 100644 (file)
index e69de29..0000000
index c14c4423263a0f46c2ad69cd40f4c768edcee0a0..2df3ba8069b27ad08ce76e5d24d99f0bc2fcc624 100644 (file)
@@ -1,7 +1,7 @@
 %!PS-Adobe-2.0
 %%Creator: dvips(k) 2024.1 (TeX Live 2024)  Copyright 2024 Radical Eye Software
 %%Title: rluserman.dvi
-%%CreationDate: Fri Oct 18 15:25:52 2024
+%%CreationDate: Fri Nov  1 22:18:32 2024
 %%Pages: 37
 %%PageOrder: Ascend
 %%BoundingBox: 0 0 596 842
@@ -12,7 +12,7 @@
 %DVIPSWebPage: (www.radicaleye.com)
 %DVIPSCommandLine: dvips -D 300 -o rluserman.ps rluserman.dvi
 %DVIPSParameters: dpi=300
-%DVIPSSource:  TeX output 2024.10.18:1125
+%DVIPSSource:  TeX output 2024.11.01:1818
 %%BeginProcSet: tex.pro 0 0
 %!
 /TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S
@@ -5719,15 +5719,15 @@ b(is)f(`)p Fn(off)p Fo('.)315 396 y Fn(colored-completion-prefix)555
 451 y Fo(If)h(set)f(to)g(`)p Fn(on)p Fo(',)g(when)h(listing)e
 (completions,)h(Readline)h(displa)o(ys)e(the)i(com-)555
 506 y(mon)e(pre\014x)g(of)f(the)h(set)f(of)g(p)q(ossible)h(completions)
-f(using)g(a)g(di\013eren)o(t)g(color.)555 560 y(The)20
-b(color)f(de\014nitions)h(are)g(tak)o(en)f(from)g(the)h(v)m(alue)h(of)e
-(the)h Fn(LS_COLORS)555 615 y Fo(en)o(vironmen)o(t)e(v)m(ariable.)32
-b(If)19 b(there)g(is)g(a)g(color)f(de\014nition)h(in)g
-Fn(LS_COLORS)555 670 y Fo(for)h(the)h(custom)f(su\016x)h(`)p
-Fn(.readline-colored-compl)o(etion-p)o(refix)p Fo(')o(,)555
-725 y(Readline)f(uses)f(this)g(color)g(for)f(the)i(common)f(pre\014x)h
-(instead)f(of)g(its)f(de-)555 780 y(fault.)h(The)c(default)g(is)g(`)p
-Fn(off)p Fo('.)315 862 y Fn(colored-stats)555 917 y Fo(If)f(set)f(to)f
+f(using)g(a)g(di\013eren)o(t)g(color.)555 560 y(The)h(color)f
+(de\014nitions)g(are)g(tak)o(en)h(from)e(the)i(v)m(alue)g(of)f(the)h
+Fn(LS_COLORS)e Fo(en-)555 615 y(vironmen)o(t)16 b(v)m(ariable.)24
+b(If)17 b(there)g(is)f(a)g(color)g(de\014nition)h(in)f
+Fn(LS_COLORS)g Fo(for)555 670 y(the)11 b(custom)f(su\016x)h(`)p
+Fn(readline-colored-completio)o(n-prefi)o(x)p Fo(',)d(Read-)555
+725 y(line)j(uses)h(this)f(color)g(for)g(the)h(common)f(pre\014x)h
+(instead)f(of)h(its)e(default.)19 b(The)555 780 y(default)c(is)f(`)p
+Fn(off)p Fo('.)315 862 y Fn(colored-stats)555 917 y Fo(If)g(set)f(to)f
 (`)p Fn(on)p Fo(',)g(Readline)i(displa)o(ys)e(p)q(ossible)h
 (completions)g(using)g(di\013eren)o(t)555 971 y(colors)19
 b(to)f(indicate)i(their)f(\014le)g(t)o(yp)q(e.)33 b(The)20
diff --git a/lib/readline/doc/rluserman.texinfo b/lib/readline/doc/rluserman.texinfo
deleted file mode 100644 (file)
index 89abe31..0000000
+++ /dev/null
@@ -1,94 +0,0 @@
-\input texinfo    @c -*-texinfo-*-
-@comment %**start of header (This is for running Texinfo on a region.)
-@setfilename rluserman.info
-@settitle GNU Readline Library
-@comment %**end of header (This is for running Texinfo on a region.)
-@setchapternewpage odd
-
-@include manvers.texinfo
-
-@ifinfo
-@dircategory Libraries
-@direntry
-* RLuserman: (rluserman).       The GNU readline library User's Manual.
-@end direntry
-
-This document describes the end user interface of the GNU Readline Library,
-a utility which aids in the consistency of user interface across discrete
-programs that need to provide a command line interface.
-
-Copyright (C) 1988-2002 Free Software Foundation, Inc.
-
-Permission is granted to make and distribute verbatim copies of
-this manual provided the copyright notice and this permission notice
-pare preserved on all copies.
-
-@ignore
-Permission is granted to process this file through TeX and print the
-results, provided the printed document carries copying permission
-notice identical to this one except for the removal of this paragraph
-(this paragraph not being relevant to the printed manual).
-@end ignore
-
-Permission is granted to copy and distribute modified versions of this
-manual under the conditions for verbatim copying, provided that the entire
-resulting derived work is distributed under the terms of a permission
-notice identical to this one.
-
-Permission is granted to copy and distribute translations of this manual
-into another language, under the above conditions for modified versions,
-except that this permission notice may be stated in a translation approved
-by the Free Software Foundation.
-@end ifinfo
-
-@titlepage  
-@title GNU Readline Library User Interface
-@subtitle Edition @value{EDITION}, for @code{Readline Library} Version @value{VERSION}.
-@subtitle @value{UPDATE-MONTH}
-@author Brian Fox, Free Software Foundation
-@author Chet Ramey, Case Western Reserve University
-
-@page
-This document describes the end user interface of the GNU Readline Library,
-a utility which aids in the consistency of user interface across discrete
-programs that need to provide a command line interface.
-
-Published by the Free Software Foundation @*
-59 Temple Place, Suite 330, @*
-Boston, MA 02111 USA
-
-Permission is granted to make and distribute verbatim copies of
-this manual provided the copyright notice and this permission notice
-are preserved on all copies.
-
-Permission is granted to copy and distribute modified versions of this
-manual under the conditions for verbatim copying, provided that the entire
-resulting derived work is distributed under the terms of a permission
-notice identical to this one.
-
-Permission is granted to copy and distribute translations of this manual
-into another language, under the above conditions for modified versions,
-except that this permission notice may be stated in a translation approved
-by the Free Software Foundation.
-
-@vskip 0pt plus 1filll
-Copyright @copyright{} 1988-2002 Free Software Foundation, Inc.
-@end titlepage
-
-@ifinfo
-@node Top
-@top GNU Readline Library
-
-This document describes the end user interface of the GNU Readline Library,
-a utility which aids in the consistency of user interface across discrete
-programs that need to provide a command line interface.
-
-@menu
-* Command Line Editing::          GNU Readline User's Manual.
-@end menu
-@end ifinfo
-
-@include rluser.texinfo
-
-@contents
-@bye
diff --git a/lib/readline/doc/rluserman.tmp b/lib/readline/doc/rluserman.tmp
deleted file mode 100644 (file)
index 95e17c4..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-
-This manual describes the end user interface of the GNU Readline Library
-(version @value{VERSION}, @value{UPDATED}), a library which aids in the
-consistency of user interface across discrete programs which provide
-a command line interface.
-
-Copyright @copyright{} 1988--2014 Free Software Foundation, Inc.
-
-@quotation
-Permission is granted to copy, distribute and/or modify this document
-under the terms of the GNU Free Documentation License, Version 1.3 or
-any later version published by the Free Software Foundation; with no
-Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
-A copy of the license is included in the section entitled
-``GNU Free Documentation License''.
-
-@end quotation
-@empty 
diff --git a/lib/readline/doc/rluserman.toc b/lib/readline/doc/rluserman.toc
deleted file mode 100644 (file)
index c71baf2..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-@numchapentry{Command Line Editing}{1}{Command Line Editing}{1}
-@numsecentry{Introduction to Line Editing}{1.1}{Introduction and Notation}{1}
-@numsecentry{Readline Interaction}{1.2}{Readline Interaction}{1}
-@numsubsecentry{Readline Bare Essentials}{1.2.1}{Readline Bare Essentials}{2}
-@numsubsecentry{Readline Movement Commands}{1.2.2}{Readline Movement Commands}{2}
-@numsubsecentry{Readline Killing Commands}{1.2.3}{Readline Killing Commands}{3}
-@numsubsecentry{Readline Arguments}{1.2.4}{Readline Arguments}{3}
-@numsubsecentry{Searching for Commands in the History}{1.2.5}{Searching}{3}
-@numsecentry{Readline Init File}{1.3}{Readline Init File}{4}
-@numsubsecentry{Readline Init File Syntax}{1.3.1}{Readline Init File Syntax}{4}
-@numsubsecentry{Conditional Init Constructs}{1.3.2}{Conditional Init Constructs}{14}
-@numsubsecentry{Sample Init File}{1.3.3}{Sample Init File}{15}
-@numsecentry{Bindable Readline Commands}{1.4}{Bindable Readline Commands}{18}
-@numsubsecentry{Commands For Moving}{1.4.1}{Commands For Moving}{18}
-@numsubsecentry{Commands For Manipulating The History}{1.4.2}{Commands For History}{19}
-@numsubsecentry{Commands For Changing Text}{1.4.3}{Commands For Text}{21}
-@numsubsecentry{Killing And Yanking}{1.4.4}{Commands For Killing}{22}
-@numsubsecentry{Specifying Numeric Arguments}{1.4.5}{Numeric Arguments}{23}
-@numsubsecentry{Letting Readline Type For You}{1.4.6}{Commands For Completion}{24}
-@numsubsecentry{Keyboard Macros}{1.4.7}{Keyboard Macros}{24}
-@numsubsecentry{Some Miscellaneous Commands}{1.4.8}{Miscellaneous Commands}{25}
-@numsecentry{Readline vi Mode}{1.5}{Readline vi Mode}{26}
-@appentry{GNU Free Documentation License}{A}{GNU Free Documentation License}{27}
diff --git a/lib/readline/doc/rluserman.tp b/lib/readline/doc/rluserman.tp
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/lib/readline/doc/rluserman.vr b/lib/readline/doc/rluserman.vr
deleted file mode 100644 (file)
index 44bb102..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-\entry{active-region-start-color}{5}{\code {active-region-start-color}}
-\entry{active-region-end-color}{5}{\code {active-region-end-color}}
-\entry{bell-style}{5}{\code {bell-style}}
-\entry{bind-tty-special-chars}{5}{\code {bind-tty-special-chars}}
-\entry{blink-matching-paren}{6}{\code {blink-matching-paren}}
-\entry{colored-completion-prefix}{6}{\code {colored-completion-prefix}}
-\entry{colored-stats}{6}{\code {colored-stats}}
-\entry{comment-begin}{6}{\code {comment-begin}}
-\entry{completion-display-width}{6}{\code {completion-display-width}}
-\entry{completion-ignore-case}{6}{\code {completion-ignore-case}}
-\entry{completion-map-case}{6}{\code {completion-map-case}}
-\entry{completion-prefix-display-length}{6}{\code {completion-prefix-display-length}}
-\entry{completion-query-items}{6}{\code {completion-query-items}}
-\entry{convert-meta}{7}{\code {convert-meta}}
-\entry{disable-completion}{7}{\code {disable-completion}}
-\entry{echo-control-characters}{7}{\code {echo-control-characters}}
-\entry{editing-mode}{7}{\code {editing-mode}}
-\entry{emacs-mode-string}{7}{\code {emacs-mode-string}}
-\entry{enable-active-region The}{7}{\code {enable-active-region The}}
-\entry{enable-bracketed-paste}{8}{\code {enable-bracketed-paste}}
-\entry{enable-keypad}{8}{\code {enable-keypad}}
-\entry{enable-meta-key}{8}{\code {enable-meta-key}}
-\entry{expand-tilde}{8}{\code {expand-tilde}}
-\entry{force-meta-prefix}{8}{\code {force-meta-prefix}}
-\entry{history-preserve-point}{8}{\code {history-preserve-point}}
-\entry{history-size}{9}{\code {history-size}}
-\entry{horizontal-scroll-mode}{9}{\code {horizontal-scroll-mode}}
-\entry{input-meta}{9}{\code {input-meta}}
-\entry{meta-flag}{9}{\code {meta-flag}}
-\entry{isearch-terminators}{9}{\code {isearch-terminators}}
-\entry{keymap}{9}{\code {keymap}}
-\entry{mark-modified-lines}{10}{\code {mark-modified-lines}}
-\entry{mark-symlinked-directories}{10}{\code {mark-symlinked-directories}}
-\entry{match-hidden-files}{10}{\code {match-hidden-files}}
-\entry{menu-complete-display-prefix}{10}{\code {menu-complete-display-prefix}}
-\entry{output-meta}{10}{\code {output-meta}}
-\entry{page-completions}{10}{\code {page-completions}}
-\entry{revert-all-at-newline}{10}{\code {revert-all-at-newline}}
-\entry{search-ignore-case}{11}{\code {search-ignore-case}}
-\entry{show-all-if-ambiguous}{11}{\code {show-all-if-ambiguous}}
-\entry{show-all-if-unmodified}{11}{\code {show-all-if-unmodified}}
-\entry{show-mode-in-prompt}{11}{\code {show-mode-in-prompt}}
-\entry{skip-completed-text}{11}{\code {skip-completed-text}}
-\entry{vi-cmd-mode-string}{11}{\code {vi-cmd-mode-string}}
-\entry{vi-ins-mode-string}{12}{\code {vi-ins-mode-string}}
-\entry{visible-stats}{12}{\code {visible-stats}}
diff --git a/lib/readline/doc/rluserman.vrs b/lib/readline/doc/rluserman.vrs
deleted file mode 100644 (file)
index be6c7bc..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-\initial {A}
-\entry{\code {active-region-end-color}}{5}
-\entry{\code {active-region-start-color}}{5}
-\initial {B}
-\entry{\code {bell-style}}{5}
-\entry{\code {bind-tty-special-chars}}{5}
-\entry{\code {blink-matching-paren}}{6}
-\initial {C}
-\entry{\code {colored-completion-prefix}}{6}
-\entry{\code {colored-stats}}{6}
-\entry{\code {comment-begin}}{6}
-\entry{\code {completion-display-width}}{6}
-\entry{\code {completion-ignore-case}}{6}
-\entry{\code {completion-map-case}}{6}
-\entry{\code {completion-prefix-display-length}}{6}
-\entry{\code {completion-query-items}}{6}
-\entry{\code {convert-meta}}{7}
-\initial {D}
-\entry{\code {disable-completion}}{7}
-\initial {E}
-\entry{\code {echo-control-characters}}{7}
-\entry{\code {editing-mode}}{7}
-\entry{\code {emacs-mode-string}}{7}
-\entry{\code {enable-active-region The}}{7}
-\entry{\code {enable-bracketed-paste}}{8}
-\entry{\code {enable-keypad}}{8}
-\entry{\code {enable-meta-key}}{8}
-\entry{\code {expand-tilde}}{8}
-\initial {F}
-\entry{\code {force-meta-prefix}}{8}
-\initial {H}
-\entry{\code {history-preserve-point}}{8}
-\entry{\code {history-size}}{9}
-\entry{\code {horizontal-scroll-mode}}{9}
-\initial {I}
-\entry{\code {input-meta}}{9}
-\entry{\code {isearch-terminators}}{9}
-\initial {K}
-\entry{\code {keymap}}{9}
-\initial {M}
-\entry{\code {mark-modified-lines}}{10}
-\entry{\code {mark-symlinked-directories}}{10}
-\entry{\code {match-hidden-files}}{10}
-\entry{\code {menu-complete-display-prefix}}{10}
-\entry{\code {meta-flag}}{9}
-\initial {O}
-\entry{\code {output-meta}}{10}
-\initial {P}
-\entry{\code {page-completions}}{10}
-\initial {R}
-\entry{\code {revert-all-at-newline}}{10}
-\initial {S}
-\entry{\code {search-ignore-case}}{11}
-\entry{\code {show-all-if-ambiguous}}{11}
-\entry{\code {show-all-if-unmodified}}{11}
-\entry{\code {show-mode-in-prompt}}{11}
-\entry{\code {skip-completed-text}}{11}
-\initial {V}
-\entry{\code {vi-cmd-mode-string}}{11}
-\entry{\code {vi-ins-mode-string}}{12}
-\entry{\code {visible-stats}}{12}
index 0def1bd87f8674b30c797bd6d0e06df7bd3a5ef7..c8875bef4e5eca2f2284dac2832ebedf3b709feb 100644 (file)
@@ -56,14 +56,23 @@ rm -f x.sh x.output
 
 # E2BIG - Argument list too long
 unset BASH_ENV
-
 rm -f x.sh x.output
-echo "export var='$(echo {1..1000500})' ;
-exec ${THIS_SH}" > ./x.sh
+cat << \EOF > x.sh
+argmax=$(getconf ARG_MAX 2>/dev/null)
+if (( argmax <= 0 )); then
+        argmax=1048576
+fi
+v=$(echo {1..250000})
+while (( ${#v} < $argmax )); do
+        v+=$(echo {250001..350000})
+done
+export v
+exec ${THIS_SH} </dev/null
+EOF
 chmod 755 ./x.sh
 ${THIS_SH} ./x.sh 2>x.output
 string=$(< x.output)
-# check for right error message and that we survived the failed exec
+# check for right error message
 case $string in
 *list\ too\ long)      ;;
 *)     echo "$0: E2BIG: error message mismatch: $string" ;;