]> git.ipfire.org Git - thirdparty/readline.git/commitdiff
major documentation updates; remove leading "." from RL_COLOR_PREFIX_EXTENSION; fixes...
authorChet Ramey <chet.ramey@case.edu>
Mon, 4 Nov 2024 23:01:14 +0000 (18:01 -0500)
committerChet Ramey <chet.ramey@case.edu>
Mon, 4 Nov 2024 23:01:14 +0000 (18:01 -0500)
42 files changed:
MANIFEST
aclocal.m4
colors.c
doc/Makefile.in
doc/history.0
doc/history.3
doc/history.dvi
doc/history.html
doc/history.info
doc/history.pdf
doc/history.ps
doc/history.texi
doc/history_3.pdf [new file with mode: 0644]
doc/history_3.ps
doc/hstech.texi
doc/readline.0
doc/readline.3
doc/readline.dvi
doc/readline.html
doc/readline.info
doc/readline.pdf
doc/readline.ps
doc/readline_3.pdf [new file with mode: 0644]
doc/readline_3.ps
doc/rlman.texi
doc/rltech.texi
doc/rluser.texi
doc/rluserman.dvi
doc/rluserman.html
doc/rluserman.info
doc/rluserman.pdf
doc/rluserman.ps
doc/rluserman.texi
doc/texi2html
doc/version.texi
examples/._rlwrap-0.46.1.tar.gz
histfile.c
history.h
isearch.c
readline.c
search.c
util.c

index 081967a241e6f6d9838d97075def0b000a9c8f1e..6f17ea6d70a634cd726388aa52466ac185a2519a 100644 (file)
--- a/MANIFEST
+++ b/MANIFEST
@@ -156,6 +156,8 @@ examples/rlwrap-0.46.1.tar.gz       f
 doc/readline.ps                f
 doc/history.ps         f
 doc/rluserman.ps       f
+doc/readline_3.ps      f
+doc/history_3.ps       f
 doc/readline.dvi       f
 doc/history.dvi                f
 doc/rluserman.dvi      f
@@ -167,8 +169,8 @@ doc/history.html    f
 doc/rluserman.html     f
 doc/readline.0         f
 doc/history.0          f
-doc/readline_3.p     f
-doc/history_3.p      f
+doc/readline_3.pdf     f
+doc/history_3.pdf      f
 doc/history.pdf                f
 doc/readline.pdf       f
 doc/rluserman.pdf      f
index cb2f06f6e5bfdfdb61ab65d1d141a286e11dc44a..7253f2c4228e6ee3439bcdc9815d4f4752c3c5dc 100644 (file)
@@ -1025,7 +1025,7 @@ dnl like _AC_STRUCT_DIRENT(MEMBER) but public
 AC_DEFUN(BASH_STRUCT_DIRENT,
 [
 AC_REQUIRE([AC_HEADER_DIRENT])
-AC_CHECK_MEMBERS(struct dirent.$1, bash_cv_dirent_has_$1=yes, bash_cv_dirent_has_$1=no,
+AC_CHECK_MEMBERS(struct dirent.$1, [], [],
 [[
 #include <stdio.h>
 #include <sys/types.h>
@@ -1049,35 +1049,9 @@ AC_CHECK_MEMBERS(struct dirent.$1, bash_cv_dirent_has_$1=yes, bash_cv_dirent_has
 ]])
 ])
 
-AC_DEFUN(BASH_STRUCT_DIRENT_D_INO,
-[AC_REQUIRE([AC_HEADER_DIRENT])
-AC_MSG_CHECKING(for struct dirent.d_ino)
-AC_CACHE_VAL(bash_cv_dirent_has_d_ino, [BASH_STRUCT_DIRENT([d_ino])])
-AC_MSG_RESULT($bash_cv_dirent_has_d_ino)
-if test $bash_cv_dirent_has_d_ino = yes; then
-AC_DEFINE(HAVE_STRUCT_DIRENT_D_INO)
-fi
-])
-
-AC_DEFUN(BASH_STRUCT_DIRENT_D_FILENO,
-[AC_REQUIRE([AC_HEADER_DIRENT])
-AC_MSG_CHECKING(for struct dirent.d_fileno)
-AC_CACHE_VAL(bash_cv_dirent_has_d_fileno, [BASH_STRUCT_DIRENT([d_fileno])])
-AC_MSG_RESULT($bash_cv_dirent_has_d_fileno)
-if test $bash_cv_dirent_has_d_fileno = yes; then
-AC_DEFINE(HAVE_STRUCT_DIRENT_D_FILENO)
-fi
-])
-
-AC_DEFUN(BASH_STRUCT_DIRENT_D_NAMLEN,
-[AC_REQUIRE([AC_HEADER_DIRENT])
-AC_MSG_CHECKING(for struct dirent.d_namlen)
-AC_CACHE_VAL(bash_cv_dirent_has_d_namlen, [BASH_STRUCT_DIRENT([d_namlen])])
-AC_MSG_RESULT($bash_cv_dirent_has_d_namlen)
-if test $bash_cv_dirent_has_d_namlen = yes; then
-AC_DEFINE(HAVE_STRUCT_DIRENT_D_NAMLEN)
-fi
-])
+AC_DEFUN([BASH_STRUCT_DIRENT_D_INO], [BASH_STRUCT_DIRENT([d_ino])])
+AC_DEFUN([BASH_STRUCT_DIRENT_D_FILENO], [BASH_STRUCT_DIRENT([d_fileno])])
+AC_DEFUN([BASH_STRUCT_DIRENT_D_NAMLEN], [BASH_STRUCT_DIRENT([d_namlen])])
 
 AC_DEFUN(BASH_STRUCT_TIMEVAL,
 [AC_MSG_CHECKING(for struct timeval in sys/time.h and time.h)
index 28ed7bcde8ed9ff94240602f46d6ca3569870495..329acce58598f3828b5c0bd39323928e005c58fc 100644 (file)
--- a/colors.c
+++ b/colors.c
@@ -73,7 +73,7 @@
 static bool is_colored (enum indicator_no type);
 static void restore_default_color (void);
 
-#define RL_COLOR_PREFIX_EXTENSION      ".readline-colored-completion-prefix"
+#define RL_COLOR_PREFIX_EXTENSION      "readline-colored-completion-prefix"
 
 COLOR_EXT_TYPE *_rl_color_ext_list = 0;
 
index 9ce9a30742cbd7c09aa107fb1142dea923a57a72..884b04d62815b418f6522362fdf9580843cec719 100644 (file)
@@ -129,23 +129,38 @@ text:     $(TEXTOBJ)
 pdf:   $(PDFOBJ)
 
 readline.dvi: $(RLSRC)
+       $(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) $@
+       TEXINPUTS=.:$(TEXINPUTDIR):$$TEXINPUTS $(TEXI2PDF) -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) $@
+       TEXINPUTS=.:$(TEXINPUTDIR):$$TEXINPUTS $(TEXI2PDF) -o $@ $(srcdir)/rlman.texi
+
 history.dvi: ${HISTSRC}
        TEXINPUTS=.:$(TEXINPUTDIR):$$TEXINPUTS $(TEXI2DVI) $(srcdir)/history.texi
 
 history.info: ${HISTSRC}
        $(MAKEINFO) --no-split -I $(TEXINPUTDIR) -o $@ $(srcdir)/history.texi
 
+history.pdf:   $(HISTSRC)
+       TEXINPUTS=.:$(TEXINPUTDIR):$$TEXINPUTS $(TEXI2PDF) $(srcdir)/history.texi
+
 readline.ps:   readline.dvi
        $(RM) $@
        $(DVIPS) readline.dvi
@@ -162,7 +177,7 @@ history.ps: history.dvi
 # This leaves readline.html and rlman.html -- rlman.html is for www.gnu.org
 #
 readline.html: ${RLSRC}
-       $(MAKEINFO) -o $@ --html --no-split -I$(TEXINPUTDIR) $(srcdir)/rlman.texi
+       $(MAKEINFO) -o $@ --html --no-split -I$(TEXINPUTDIR) -o $@ $(srcdir)/rlman.texi
 
 rlman.html:    ${RLSRC}
        $(MAKEINFO) -o $@ --html --no-split -I$(TEXINPUTDIR) $(srcdir)/rlman.texi
@@ -174,29 +189,24 @@ history.html:     ${HISTSRC}
        $(MAKEINFO) --html --no-split -I$(TEXINPUTDIR) $(srcdir)/history.texi
 
 readline.0: readline.3
+history.0: history.3
 
 readline_3.ps: $(srcdir)/readline.3
+       $(RM) $@
+       -${GROFF} -man $< > $@
+
 readline_3.pdf: $(srcdir)/readline.3
        $(RM) $@
        -${GROFF} -man -T pdf $< > $@
 
-history.0: history.3
-
 history_3.ps: $(srcdir)/history.3
+       $(RM) $@
+       -${GROFF} -man $< > $@
+
 history_3.pdf: $(srcdir)/history.3
        $(RM) $@
        -${GROFF} -man -T pdf $< > $@
 
-readline.pdf:  $(RLSRC)
-       TEXINPUTS=.:$(TEXINPUTDIR):$$TEXINPUTS $(TEXI2PDF) $(srcdir)/rlman.texi
-       mv rlman.pdf $@
-
-history.pdf:   $(HISTSRC)
-       TEXINPUTS=.:$(TEXINPUTDIR):$$TEXINPUTS $(TEXI2PDF) $(srcdir)/history.texi
-
-rluserman.pdf: $(RLSRC)
-       TEXINPUTS=.:$(TEXINPUTDIR):$$TEXINPUTS $(TEXI2PDF) $(srcdir)/rluserman.texi
-
 clean:
        $(RM) *.aux *.bak *.cp *.fn *.ky *.log *.pg *.toc *.tp *.vr *.cps \
              *.pgs *.bt *.bts *.rw *.rws *.fns *.kys *.tps *.vrs *.o \
@@ -216,7 +226,6 @@ maybe-clean:
 maintainer-clean: clean
        $(RM) $(DIST_DOCS)
        $(RM) $(INTERMEDIATE_OBJ)
-       $(RM) $(PDFOBJ)
        $(RM) Makefile
 
 installdirs:   $(topdir)/support/mkdirs
index 7e1190623c26baf1071a9125f08d2664badc4ed8..92ddbcd11d2325069b430abd11041ae1da33bbd8 100644 (file)
@@ -10,7 +10,7 @@ C\bCO\bOP\bPY\bYR\bRI\bIG\bGH\bHT\bT
 D\bDE\bES\bSC\bCR\bRI\bIP\bPT\bTI\bIO\bON\bN
        Many  programs read input from the user a line at a time.  The GNU His-
        tory library is able to keep track of those lines, associate  arbitrary
-       data  with  each  line,  and utilize information from previous lines in
+       data  with  each line, and utilize information from previous lines when
        composing new ones.
 
        The History library provides functions that allow applications to their
index 04ea7d3908d2855942cdb276f0cc974a09d45c9b..baa7f4128755c85b72b5c9f1ffa189cfa80648ed 100644 (file)
@@ -79,7 +79,7 @@ history \- GNU History Library
 Many programs read input from the user a line at a time.
 The GNU
 History library is able to keep track of those lines, associate arbitrary
-data with each line, and utilize information from previous lines in
+data with each line, and utilize information from previous lines when
 composing new ones.
 .PP
 The History library provides functions that allow applications to their
index 28242ac90889188e2f27eaa1bd5cf5dad0952dbf..0ead63974e204e892117b172466381372c47dc6d 100644 (file)
Binary files a/doc/history.dvi and b/doc/history.dvi differ
index d669bb9a0fdf89d772e70e4284055ba77b9f6cd3..da7cd4efc51f21ed2a9a20d41c8e48465ea4a291 100644 (file)
@@ -4,11 +4,11 @@
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 <!-- This document describes the GNU History library
-(version 8.3, 10 October 2024),
+(version 8.3, 15 October 2024),
 a programming tool that provides a consistent user interface for
 recalling lines of previously typed input.
 
-Copyright © 1988-2023 Free Software Foundation, Inc.
+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
@@ -451,7 +451,8 @@ Next: <a href="#GNU-Free-Documentation-License" accesskey="n" rel="next">GNU Fre
 <p>This chapter describes how to interface programs that you write
 with the <small class="sc">GNU</small> History Library.
 It should be considered a technical guide.
-For information on the interactive use of <small class="sc">GNU</small> History, see <a class="pxref" href="#Using-History-Interactively">Using History Interactively</a>.
+For information on the interactive use of <small class="sc">GNU</small> History,
+see <a class="pxref" href="#Using-History-Interactively">Using History Interactively</a>.
 </p>
 
 <ul class="mini-toc">
@@ -469,23 +470,27 @@ Next: <a href="#History-Storage" accesskey="n" rel="next">History Storage</a>, U
 </div>
 <h3 class="section" id="Introduction-to-History-1"><span>2.1 Introduction to History<a class="copiable-link" href="#Introduction-to-History-1"> &para;</a></span></h3>
 
-<p>Many programs read input from the user a line at a time.  The <small class="sc">GNU</small>
-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. 
-</p>
-<p>A 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 <em class="dfn">expansion</em> function
+<p>Many programs read input from the user a line at a time.
+The <small class="sc">GNU</small> History library is able to keep track of those lines,
+associate arbitrary data with each line, and utilize information from
+previous lines when composing new ones. 
+</p>
+<p>A programmer using the History library can use functions
+to save commands on a history list,
+associate arbitrary data with history list entries,
+remove entries from the list,
+search through the list for a line containing an arbitrary text string,
+reference any entry in the list directly,
+and read and write the history list from and to a file.
+In addition, a history <em class="dfn">expansion</em> function
 is available which provides for a consistent user interface across
 different programs.
 </p>
-<p>The user using programs written with the History library has the
+<p>Someone 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
+in new commands.
+The basic history manipulation commands are similar to
 the history substitution provided by <code class="code">csh</code>.
 </p>
 <p>The programmer can also use the Readline library, which
@@ -495,9 +500,10 @@ advantage of command line editing.
 <p>Before declaring any functions using any functionality the History
 library provides in other code, an application writer should include
 the file <code class="code">&lt;readline/history.h&gt;</code> in any file that uses the
-History library&rsquo;s features.  It supplies extern declarations for all
-of the library&rsquo;s public functions and variables, and declares all of
-the public data structures.
+History library&rsquo;s features.
+It supplies declarations for all of the library&rsquo;s
+public functions and variables,
+and declares all of the public data structures.
 </p>
 <hr>
 </div>
@@ -508,8 +514,8 @@ Next: <a href="#History-Functions" accesskey="n" rel="next">History Functions</a
 </div>
 <h3 class="section" id="History-Storage-1"><span>2.2 History Storage<a class="copiable-link" href="#History-Storage-1"> &para;</a></span></h3>
 
-<p>The history list is an array of history entries.  A history entry is
-declared as follows:
+<p>The history list is an array of history entries.
+A history entry is declared as follows:
 </p>
 <div class="example">
 <pre class="example-preformatted">typedef void *histdata_t;
@@ -543,7 +549,7 @@ typedef struct _hist_state {
 </pre></div>
 
 <p>If the flags member includes <code class="code">HS_STIFLED</code>, the history has been
-stifled.
+stifled (limited to a maximum number of entries).
 </p>
 <hr>
 </div>
@@ -581,8 +587,8 @@ functions in your program.
 </p>
 <dl class="first-deftypefn first-deftypefun-alias-first-deftypefn">
 <dt class="deftypefn deftypefun-alias-deftypefn" id="index-using_005fhistory"><span class="category-def">Function: </span><span><code class="def-type">void</code> <strong class="def-name">using_history</strong> <code class="def-code-arguments">(void)</code><a class="copiable-link" href="#index-using_005fhistory"> &para;</a></span></dt>
-<dd><p>Begin a session in which the history functions might be used.  This
-initializes the interactive variables.
+<dd><p>Begin a session that will use the history functions.
+This initializes the interactive variables.
 </p></dd></dl>
 
 <dl class="first-deftypefn first-deftypefun-alias-first-deftypefn">
@@ -609,11 +615,11 @@ parameters managing the list itself.
 </p>
 <dl class="first-deftypefn first-deftypefun-alias-first-deftypefn">
 <dt class="deftypefn deftypefun-alias-deftypefn" id="index-add_005fhistory"><span class="category-def">Function: </span><span><code class="def-type">void</code> <strong class="def-name">add_history</strong> <code class="def-code-arguments">(const char *string)</code><a class="copiable-link" href="#index-add_005fhistory"> &para;</a></span></dt>
-<dd><p>Place <var class="var">string</var> at the end of the history list.  The associated data
-field (if any) is set to <code class="code">NULL</code>.
+<dd><p>Add <var class="var">string</var> to the end of the history list, and
+set the associated data field (if any) to <code class="code">NULL</code>.
 If the maximum number of history entries has been set using
-<code class="code">stifle_history()</code>, and the new number of history entries would exceed
-that maximum, the oldest history entry is removed.
+<code class="code">stifle_history()</code>, and the new number of history entries
+would exceed that maximum, this removes the oldest history entry.
 </p></dd></dl>
 
 <dl class="first-deftypefn first-deftypefun-alias-first-deftypefn">
@@ -624,15 +630,18 @@ that maximum, the oldest history entry is removed.
 
 <dl class="first-deftypefn first-deftypefun-alias-first-deftypefn">
 <dt class="deftypefn deftypefun-alias-deftypefn" id="index-remove_005fhistory"><span class="category-def">Function: </span><span><code class="def-type">HIST_ENTRY *</code> <strong class="def-name">remove_history</strong> <code class="def-code-arguments">(int which)</code><a class="copiable-link" href="#index-remove_005fhistory"> &para;</a></span></dt>
-<dd><p>Remove history entry at offset <var class="var">which</var> from the history.  The
-removed element is returned so you can free the line, data,
+<dd><p>Remove the history entry at offset <var class="var">which</var> from the history list.
+This returns the removed element so you can free the line, data,
 and containing structure.
+Since the data is private to your application, the History library
+doesn&rsquo;t know how to free it, if necessary.
 </p></dd></dl>
 
 <dl class="first-deftypefn first-deftypefun-alias-first-deftypefn">
 <dt class="deftypefn deftypefun-alias-deftypefn" id="index-free_005fhistory_005fentry"><span class="category-def">Function: </span><span><code class="def-type">histdata_t</code> <strong class="def-name">free_history_entry</strong> <code class="def-code-arguments">(HIST_ENTRY *histent)</code><a class="copiable-link" href="#index-free_005fhistory_005fentry"> &para;</a></span></dt>
 <dd><p>Free the history entry <var class="var">histent</var> and any history library private
-data associated with it.  Returns the application-specific data
+data associated with it.
+Returns the application-specific data
 so the caller can dispose of it.
 </p></dd></dl>
 
@@ -640,8 +649,8 @@ so the caller can dispose of it.
 <dt class="deftypefn deftypefun-alias-deftypefn" id="index-replace_005fhistory_005fentry"><span class="category-def">Function: </span><span><code class="def-type">HIST_ENTRY *</code> <strong class="def-name">replace_history_entry</strong> <code class="def-code-arguments">(int which, const char *line, histdata_t data)</code><a class="copiable-link" href="#index-replace_005fhistory_005fentry"> &para;</a></span></dt>
 <dd><p>Make the history entry at offset <var class="var">which</var> have <var class="var">line</var> and <var class="var">data</var>.
 This returns the old entry so the caller can dispose of any
-application-specific data.  In the case
-of an invalid <var class="var">which</var>, a <code class="code">NULL</code> pointer is returned.
+application-specific data.
+In the case of an invalid <var class="var">which</var>, this returns <code class="code">NULL</code>.
 </p></dd></dl>
 
 <dl class="first-deftypefn first-deftypefun-alias-first-deftypefn">
@@ -657,10 +666,10 @@ The history list will contain only <var class="var">max</var> entries at a time.
 
 <dl class="first-deftypefn first-deftypefun-alias-first-deftypefn">
 <dt class="deftypefn deftypefun-alias-deftypefn" id="index-unstifle_005fhistory"><span class="category-def">Function: </span><span><code class="def-type">int</code> <strong class="def-name">unstifle_history</strong> <code class="def-code-arguments">(void)</code><a class="copiable-link" href="#index-unstifle_005fhistory"> &para;</a></span></dt>
-<dd><p>Stop stifling the history.  This returns the previously-set
-maximum number of history entries (as set by <code class="code">stifle_history()</code>).
-The value is positive if the history was
-stifled, negative if it wasn&rsquo;t.
+<dd><p>Stop stifling the history.
+This returns the previously-set maximum number of history
+entries (as set by <code class="code">stifle_history()</code>).
+The value is positive if the history was stifled, negative if it wasn&rsquo;t.
 </p></dd></dl>
 
 <dl class="first-deftypefn first-deftypefun-alias-first-deftypefn">
@@ -683,20 +692,21 @@ individual list entries.
 <dl class="first-deftypefn first-deftypefun-alias-first-deftypefn">
 <dt class="deftypefn deftypefun-alias-deftypefn" id="index-history_005flist"><span class="category-def">Function: </span><span><code class="def-type">HIST_ENTRY **</code> <strong class="def-name">history_list</strong> <code class="def-code-arguments">(void)</code><a class="copiable-link" href="#index-history_005flist"> &para;</a></span></dt>
 <dd><p>Return a <code class="code">NULL</code> terminated array of <code class="code">HIST_ENTRY *</code> which is the
-current input history.  Element 0 of this list is the beginning of time.
-If there is no history, return <code class="code">NULL</code>.
+current input history.
+Element 0 of this list is the beginning of time.
+Return <code class="code">NULL</code> if there is no history.
 </p></dd></dl>
 
 <dl class="first-deftypefn first-deftypefun-alias-first-deftypefn">
 <dt class="deftypefn deftypefun-alias-deftypefn" id="index-where_005fhistory"><span class="category-def">Function: </span><span><code class="def-type">int</code> <strong class="def-name">where_history</strong> <code class="def-code-arguments">(void)</code><a class="copiable-link" href="#index-where_005fhistory"> &para;</a></span></dt>
-<dd><p>Returns the offset of the current history element.
+<dd><p>Return the offset of the current history entry.
 </p></dd></dl>
 
 <dl class="first-deftypefn first-deftypefun-alias-first-deftypefn">
 <dt class="deftypefn deftypefun-alias-deftypefn" id="index-current_005fhistory"><span class="category-def">Function: </span><span><code class="def-type">HIST_ENTRY *</code> <strong class="def-name">current_history</strong> <code class="def-code-arguments">(void)</code><a class="copiable-link" href="#index-current_005fhistory"> &para;</a></span></dt>
 <dd><p>Return the history entry at the current position, as determined by
-<code class="code">where_history()</code>.  If there is no entry there, return a <code class="code">NULL</code>
-pointer.
+<code class="code">where_history()</code>.
+If there is no entry there, return <code class="code">NULL</code>.
 </p></dd></dl>
 
 <dl class="first-deftypefn first-deftypefun-alias-first-deftypefn">
@@ -706,7 +716,7 @@ The range of valid
 values of <var class="var">offset</var> starts at <code class="code">history_base</code> and ends at
 <var class="var">history_length</var> - 1 (see <a class="pxref" href="#History-Variables">History Variables</a>).
 If there is no entry there, or if <var class="var">offset</var> is outside the valid
-range, return a <code class="code">NULL</code> pointer.
+range, return <code class="code">NULL</code>.
 </p></dd></dl>
 
 <dl class="first-deftypefn first-deftypefun-alias-first-deftypefn">
@@ -745,8 +755,8 @@ than the number of history entries.
 <dl class="first-deftypefn first-deftypefun-alias-first-deftypefn">
 <dt class="deftypefn deftypefun-alias-deftypefn" id="index-previous_005fhistory"><span class="category-def">Function: </span><span><code class="def-type">HIST_ENTRY *</code> <strong class="def-name">previous_history</strong> <code class="def-code-arguments">(void)</code><a class="copiable-link" href="#index-previous_005fhistory"> &para;</a></span></dt>
 <dd><p>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 class="code">NULL</code> pointer.
+return a pointer to that entry.
+If there is no previous entry, return <code class="code">NULL</code>.
 </p></dd></dl>
 
 <dl class="first-deftypefn first-deftypefun-alias-first-deftypefn">
@@ -755,7 +765,7 @@ a <code class="code">NULL</code> pointer.
 increment the current history offset.
 If the possibly-incremented history offset refers to a valid history
 entry, return a pointer to that entry;
-otherwise, return a <code class="code">BNULL</code> pointer.
+otherwise, return <code class="code">NULL</code>.
 </p></dd></dl>
 
 <hr>
@@ -768,10 +778,12 @@ Next: <a href="#Managing-the-History-File" accesskey="n" rel="next">Managing the
 <h4 class="subsection" id="Searching-the-History-List-1"><span>2.3.5 Searching the History List<a class="copiable-link" href="#Searching-the-History-List-1"> &para;</a></span></h4>
 <a class="index-entry-id" id="index-History-Searching"></a>
 
-<p>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 <em class="dfn">anchored</em>,
-meaning that the string must match at the beginning of the history entry.
+<p>These functions search 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 <em class="dfn">anchored</em>,
+meaning that the string must match at the beginning of a history entry.
 <a class="index-entry-id" id="index-anchored-search"></a>
 </p>
 <dl class="first-deftypefn first-deftypefun-alias-first-deftypefn">
@@ -779,30 +791,34 @@ meaning that the string must match at the beginning of the history entry.
 <dd><p>Search the history for <var class="var">string</var>, starting at the current history offset.
 If <var class="var">direction</var> is less than 0, then the search is through
 previous entries, otherwise through subsequent entries.
-If <var class="var">string</var> 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 class="var">string</var> was found.  Otherwise, nothing is changed, and a -1 is
-returned.
+If <var class="var">string</var> is found, then the current history index is set to
+that history entry, and <code class="code">history_search</code>
+returns the offset in the line of the entry where
+<var class="var">string</var> was found.
+Otherwise, nothing is changed, and this returns -1.
 </p></dd></dl>
 
 <dl class="first-deftypefn first-deftypefun-alias-first-deftypefn">
 <dt class="deftypefn deftypefun-alias-deftypefn" id="index-history_005fsearch_005fprefix"><span class="category-def">Function: </span><span><code class="def-type">int</code> <strong class="def-name">history_search_prefix</strong> <code class="def-code-arguments">(const char *string, int direction)</code><a class="copiable-link" href="#index-history_005fsearch_005fprefix"> &para;</a></span></dt>
 <dd><p>Search the history for <var class="var">string</var>, starting at the current history
-offset.  The search is anchored: matching lines must begin with
-<var class="var">string</var>.  If <var class="var">direction</var> is less than 0, then the search is
+offset.
+The search is anchored: matching history entries must begin with <var class="var">string</var>.
+If <var class="var">direction</var> is less than 0, then the search is
 through previous entries, otherwise through subsequent entries.
-If <var class="var">string</var> 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
+If <var class="var">string</var> is found, then the current history index is set to
+that entry, and the return value is 0. 
+Otherwise, nothing is changed, and this returns -1
 </p></dd></dl>
 
 <dl class="first-deftypefn first-deftypefun-alias-first-deftypefn">
 <dt class="deftypefn deftypefun-alias-deftypefn" id="index-history_005fsearch_005fpos"><span class="category-def">Function: </span><span><code class="def-type">int</code> <strong class="def-name">history_search_pos</strong> <code class="def-code-arguments">(const char *string, int direction, int pos)</code><a class="copiable-link" href="#index-history_005fsearch_005fpos"> &para;</a></span></dt>
 <dd><p>Search for <var class="var">string</var> in the history list, starting at <var class="var">pos</var>, an
-absolute index into the list.  If <var class="var">direction</var> is negative, the search
-proceeds backward from <var class="var">pos</var>, otherwise forward.  Returns the absolute
-index of the history element where <var class="var">string</var> was found, or -1 otherwise.
+absolute index into the list.
+If <var class="var">direction</var> is negative, the search
+proceeds backward from <var class="var">pos</var>, otherwise forward.
+Returns the index in the history list
+of the history element where <var class="var">string</var> was
+found, or -1 otherwise.
 </p></dd></dl>
 
 <hr>
@@ -819,8 +835,13 @@ This section documents the functions for managing a history file.
 </p>
 <dl class="first-deftypefn first-deftypefun-alias-first-deftypefn">
 <dt class="deftypefn deftypefun-alias-deftypefn" id="index-read_005fhistory"><span class="category-def">Function: </span><span><code class="def-type">int</code> <strong class="def-name">read_history</strong> <code class="def-code-arguments">(const char *filename)</code><a class="copiable-link" href="#index-read_005fhistory"> &para;</a></span></dt>
-<dd><p>Add the contents of <var class="var">filename</var> to the history list, a line at a time.
-If <var class="var">filename</var> is <code class="code">NULL</code>, then read from <samp class="file">~/.history</samp>.
+<dd><p>Add the contents of <var class="var">filename</var> to the history list, one entry
+at a time.
+If <var class="var">filename</var> is <code class="code">NULL</code>, this reads from <samp class="file">~/.history</samp>,
+if it exists.
+This attempts to determine whether the history file includes timestamp
+information, and assigns timestamps to the history entries it reads
+if so.
 Returns 0 if successful, or <code class="code">errno</code> if not.
 </p></dd></dl>
 
@@ -828,16 +849,22 @@ Returns 0 if successful, or <code class="code">errno</code> if not.
 <dt class="deftypefn deftypefun-alias-deftypefn" id="index-read_005fhistory_005frange"><span class="category-def">Function: </span><span><code class="def-type">int</code> <strong class="def-name">read_history_range</strong> <code class="def-code-arguments">(const char *filename, int from, int to)</code><a class="copiable-link" href="#index-read_005fhistory_005frange"> &para;</a></span></dt>
 <dd><p>Read a range of lines from <var class="var">filename</var>, adding them to the history list.
 Start reading at line <var class="var">from</var> and end at <var class="var">to</var>.
-If <var class="var">from</var> is zero, start at the beginning.  If <var class="var">to</var> is less than
-<var class="var">from</var>, then read until the end of the file.  If <var class="var">filename</var> is
-<code class="code">NULL</code>, then read from <samp class="file">~/.history</samp>.  Returns 0 if successful,
-or <code class="code">errno</code> if not.
+If <var class="var">from</var> is zero, start at the beginning.
+If <var class="var">to</var> is less than <var class="var">from</var>, this reads until the end of the file.
+This attempts to determine whether the history file includes timestamp
+information, and assigns timestamps to the history entries it reads
+if so.
+If <var class="var">filename</var> is <code class="code">NULL</code>, this reads from <samp class="file">~/.history</samp>,
+if it exists.
+Returns 0 if successful, or <code class="code">errno</code> if not.
 </p></dd></dl>
 
 <dl class="first-deftypefn first-deftypefun-alias-first-deftypefn">
 <dt class="deftypefn deftypefun-alias-deftypefn" id="index-write_005fhistory"><span class="category-def">Function: </span><span><code class="def-type">int</code> <strong class="def-name">write_history</strong> <code class="def-code-arguments">(const char *filename)</code><a class="copiable-link" href="#index-write_005fhistory"> &para;</a></span></dt>
 <dd><p>Write the current history to <var class="var">filename</var>, overwriting <var class="var">filename</var>
 if necessary.
+This writes timestamp information if the
+<code class="code">history_write_timestamps</code> variable is set to a non-zero value.
 If <var class="var">filename</var> is <code class="code">NULL</code>, then write the history list to
 <samp class="file">~/.history</samp>.
 Returns 0 on success, or <code class="code">errno</code> on a read or write error.
@@ -846,6 +873,8 @@ Returns 0 on success, or <code class="code">errno</code> on a read or write erro
 <dl class="first-deftypefn first-deftypefun-alias-first-deftypefn">
 <dt class="deftypefn deftypefun-alias-deftypefn" id="index-append_005fhistory"><span class="category-def">Function: </span><span><code class="def-type">int</code> <strong class="def-name">append_history</strong> <code class="def-code-arguments">(int nelements, const char *filename)</code><a class="copiable-link" href="#index-append_005fhistory"> &para;</a></span></dt>
 <dd><p>Append the last <var class="var">nelements</var> of the history list to <var class="var">filename</var>.
+This writes timestamp information if the
+<code class="code">history_write_timestamps</code> variable is set to a non-zero value.
 If <var class="var">filename</var> is <code class="code">NULL</code>, then append to <samp class="file">~/.history</samp>.
 Returns 0 on success, or <code class="code">errno</code> on a read or write error.
 </p></dd></dl>
@@ -854,7 +883,7 @@ Returns 0 on success, or <code class="code">errno</code> on a read or write erro
 <dt class="deftypefn deftypefun-alias-deftypefn" id="index-history_005ftruncate_005ffile"><span class="category-def">Function: </span><span><code class="def-type">int</code> <strong class="def-name">history_truncate_file</strong> <code class="def-code-arguments">(const char *filename, int nlines)</code><a class="copiable-link" href="#index-history_005ftruncate_005ffile"> &para;</a></span></dt>
 <dd><p>Truncate the history file <var class="var">filename</var>, leaving only the last
 <var class="var">nlines</var> lines.
-If <var class="var">filename</var> is <code class="code">NULL</code>, then <samp class="file">~/.history</samp> is truncated.
+If <var class="var">filename</var> is <code class="code">NULL</code>, this truncates <samp class="file">~/.history</samp>.
 Returns 0 on success, or <code class="code">errno</code> on failure.
 </p></dd></dl>
 
@@ -872,7 +901,8 @@ Previous: <a href="#Managing-the-History-File" accesskey="p" rel="prev">Managing
 <dl class="first-deftypefn first-deftypefun-alias-first-deftypefn">
 <dt class="deftypefn deftypefun-alias-deftypefn" id="index-history_005fexpand"><span class="category-def">Function: </span><span><code class="def-type">int</code> <strong class="def-name">history_expand</strong> <code class="def-code-arguments">(const char *string, char **output)</code><a class="copiable-link" href="#index-history_005fexpand"> &para;</a></span></dt>
 <dd><p>Expand <var class="var">string</var>, placing the result into <var class="var">output</var>, a pointer
-to a string (see <a class="pxref" href="#History-Interaction">History Expansion</a>).  Returns:
+to a string (see <a class="pxref" href="#History-Interaction">History Expansion</a>).
+Returns:
 </p><dl class="table">
 <dt><code class="code">0</code></dt>
 <dd><p>If no expansions took place (or, if the only change in
@@ -891,16 +921,18 @@ as with the <code class="code">:p</code> modifier (see <a class="pxref" href="#M
 </p></dd>
 </dl>
 
-<p>If an error occurred in expansion, then <var class="var">output</var> contains a descriptive
-error message.
+<p>If an error occurred during expansion,
+then <var class="var">output</var> contains a descriptive error message.
 </p></dd></dl>
 
 <dl class="first-deftypefn first-deftypefun-alias-first-deftypefn">
 <dt class="deftypefn deftypefun-alias-deftypefn" id="index-get_005fhistory_005fevent"><span class="category-def">Function: </span><span><code class="def-type">char *</code> <strong class="def-name">get_history_event</strong> <code class="def-code-arguments">(const char *string, int *cindex, int qchar)</code><a class="copiable-link" href="#index-get_005fhistory_005fevent"> &para;</a></span></dt>
 <dd><p>Returns the text of the history event beginning at <var class="var">string</var> +
-<var class="var">*cindex</var>.  <var class="var">*cindex</var> is modified to point to after the event
-specifier.  At function entry, <var class="var">cindex</var> points to the index into
-<var class="var">string</var> where the history event specification begins.  <var class="var">qchar</var>
+<var class="var">*cindex</var>.
+Modifies <var class="var">*cindex</var> to point to after the event specifier.
+At function entry, <var class="var">cindex</var> points to the index into <var class="var">string</var>
+where the history event specification begins.
+<var class="var">qchar</var>
 is a character that is allowed to end the event specification in addition
 to the &ldquo;normal&rdquo; terminating characters.
 </p></dd></dl>
@@ -908,7 +940,8 @@ to the &ldquo;normal&rdquo; terminating characters.
 <dl class="first-deftypefn first-deftypefun-alias-first-deftypefn">
 <dt class="deftypefn deftypefun-alias-deftypefn" id="index-history_005ftokenize"><span class="category-def">Function: </span><span><code class="def-type">char **</code> <strong class="def-name">history_tokenize</strong> <code class="def-code-arguments">(const char *string)</code><a class="copiable-link" href="#index-history_005ftokenize"> &para;</a></span></dt>
 <dd><p>Return an array of tokens parsed out of <var class="var">string</var>, much as the
-shell might.  The tokens are split on the characters in the
+shell might.
+The tokens are split on the characters in the
 <var class="var">history_word_delimiters</var> variable,
 and shell quoting conventions are obeyed as described below.
 </p></dd></dl>
@@ -916,8 +949,8 @@ and shell quoting conventions are obeyed as described below.
 <dl class="first-deftypefn first-deftypefun-alias-first-deftypefn">
 <dt class="deftypefn deftypefun-alias-deftypefn" id="index-history_005farg_005fextract"><span class="category-def">Function: </span><span><code class="def-type">char *</code> <strong class="def-name">history_arg_extract</strong> <code class="def-code-arguments">(int first, int last, const char *string)</code><a class="copiable-link" href="#index-history_005farg_005fextract"> &para;</a></span></dt>
 <dd><p>Extract a string segment consisting of the <var class="var">first</var> through <var class="var">last</var>
-arguments present in <var class="var">string</var>.  Arguments are split using
-<code class="code">history_tokenize</code>.
+arguments present in <var class="var">string</var>.
+This splits <var class="var">string</var> into arguments using <code class="code">history_tokenize</code>.
 </p></dd></dl>
 
 <hr>
@@ -945,36 +978,39 @@ the <small class="sc">GNU</small> History Library.
 
 <dl class="first-deftypevr first-deftypevar-alias-first-deftypevr">
 <dt class="deftypevr deftypevar-alias-deftypevr" id="index-history_005fmax_005fentries"><span class="category-def">Variable: </span><span><code class="def-type">int</code> <strong class="def-name">history_max_entries</strong><a class="copiable-link" href="#index-history_005fmax_005fentries"> &para;</a></span></dt>
-<dd><p>The maximum number of history entries.  This must be changed using
-<code class="code">stifle_history()</code>.
+<dd><p>The maximum number of history entries.
+This must be changed using <code class="code">stifle_history()</code>.
 </p></dd></dl>
 
 <dl class="first-deftypevr first-deftypevar-alias-first-deftypevr">
 <dt class="deftypevr deftypevar-alias-deftypevr" id="index-history_005fwrite_005ftimestamps"><span class="category-def">Variable: </span><span><code class="def-type">int</code> <strong class="def-name">history_write_timestamps</strong><a class="copiable-link" href="#index-history_005fwrite_005ftimestamps"> &para;</a></span></dt>
 <dd><p>If non-zero, timestamps are written to the history file, so they can be
-preserved between sessions.  The default value is 0, meaning that
-timestamps are not saved.
+preserved between sessions.
+The default value is 0, meaning that timestamps are not saved.
 </p>
 <p>The current timestamp format uses the value of <var class="var">history_comment_char</var>
-to delimit timestamp entries in the history file.  If that variable does
-not have a value (the default), timestamps will not be written.
+to delimit timestamp entries in the history file.
+If that variable does not have a value (the default), this will not
+write timestamps.
 </p></dd></dl>
 
 <dl class="first-deftypevr first-deftypevar-alias-first-deftypevr">
 <dt class="deftypevr deftypevar-alias-deftypevr" id="index-history_005fexpansion_005fchar"><span class="category-def">Variable: </span><span><code class="def-type">char</code> <strong class="def-name">history_expansion_char</strong><a class="copiable-link" href="#index-history_005fexpansion_005fchar"> &para;</a></span></dt>
-<dd><p>The character that introduces a history event.  The default is &lsquo;<samp class="samp">!</samp>&rsquo;.
+<dd><p>The character that introduces a history event.
+The default is &lsquo;<samp class="samp">!</samp>&rsquo;.
 Setting this to 0 inhibits history expansion.
 </p></dd></dl>
 
 <dl class="first-deftypevr first-deftypevar-alias-first-deftypevr">
 <dt class="deftypevr deftypevar-alias-deftypevr" id="index-history_005fsubst_005fchar"><span class="category-def">Variable: </span><span><code class="def-type">char</code> <strong class="def-name">history_subst_char</strong><a class="copiable-link" href="#index-history_005fsubst_005fchar"> &para;</a></span></dt>
 <dd><p>The character that invokes word substitution if found at the start of
-a line.  The default is &lsquo;<samp class="samp">^</samp>&rsquo;.
+a line.
+The default is &lsquo;<samp class="samp">^</samp>&rsquo;.
 </p></dd></dl>
 
 <dl class="first-deftypevr first-deftypevar-alias-first-deftypevr">
 <dt class="deftypevr deftypevar-alias-deftypevr" id="index-history_005fcomment_005fchar"><span class="category-def">Variable: </span><span><code class="def-type">char</code> <strong class="def-name">history_comment_char</strong><a class="copiable-link" href="#index-history_005fcomment_005fchar"> &para;</a></span></dt>
-<dd><p>During tokenization, if this character is seen as the first character
+<dd><p>During tokenization, if this character appears 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.
@@ -990,14 +1026,15 @@ The default value is <code class="code">&quot; \t\n()&lt;&gt;;&amp;|&quot;</code
 <dt class="deftypevr deftypevar-alias-deftypevr" id="index-history_005fsearch_005fdelimiter_005fchars"><span class="category-def">Variable: </span><span><code class="def-type">char *</code> <strong class="def-name">history_search_delimiter_chars</strong><a class="copiable-link" href="#index-history_005fsearch_005fdelimiter_005fchars"> &para;</a></span></dt>
 <dd><p>The list of additional characters which can delimit a history search
 string, in addition to space, TAB, &lsquo;<samp class="samp">:</samp>&rsquo; and &lsquo;<samp class="samp">?</samp>&rsquo; in the case of
-a substring search.  The default is empty.
+a substring search.
+The default is empty.
 </p></dd></dl>
 
 <dl class="first-deftypevr first-deftypevar-alias-first-deftypevr">
 <dt class="deftypevr deftypevar-alias-deftypevr" id="index-history_005fno_005fexpand_005fchars"><span class="category-def">Variable: </span><span><code class="def-type">char *</code> <strong class="def-name">history_no_expand_chars</strong><a class="copiable-link" href="#index-history_005fno_005fexpand_005fchars"> &para;</a></span></dt>
 <dd><p>The list of characters which inhibit history expansion if found immediately
-following <var class="var">history_expansion_char</var>.  The default is space, tab, newline,
-carriage return, and &lsquo;<samp class="samp">=</samp>&rsquo;.
+following <var class="var">history_expansion_char</var>.
+The default is space, tab, newline, carriage return, and &lsquo;<samp class="samp">=</samp>&rsquo;.
 </p></dd></dl>
 
 <dl class="first-deftypevr first-deftypevar-alias-first-deftypevr">
@@ -1013,14 +1050,18 @@ The default value is 0.
 <dl class="first-deftypevr first-deftypevar-alias-first-deftypevr">
 <dt class="deftypevr deftypevar-alias-deftypevr" id="index-history_005fquoting_005fstate"><span class="category-def">Variable: </span><span><code class="def-type">int</code> <strong class="def-name">history_quoting_state</strong><a class="copiable-link" href="#index-history_005fquoting_005fstate"> &para;</a></span></dt>
 <dd><p>An application may set this variable to indicate that the current line
-being expanded is subject to existing quoting. If set to &lsquo;<samp class="samp">'</samp>&rsquo;, the
+being expanded is subject to existing quoting.
+If set to &lsquo;<samp class="samp">'</samp>&rsquo;, the
 history expansion function will assume that the line is single-quoted and
-inhibit expansion until it reads an unquoted closing single quote; if set
-to &lsquo;<samp class="samp">&quot;</samp>&rsquo;, history expansion will assume the line is double quoted until
-it reads an unquoted closing double quote. If set to zero, the default,
+inhibit expansion until it reads an unquoted closing single quote;
+if set to &lsquo;<samp class="samp">&quot;</samp>&rsquo;, history expansion will assume the line is
+double quoted until it reads an unquoted closing double quote.
+If set to 0, the default,
 the history expansion function will assume the line is not quoted and
 treat quote characters within the line as described above.
 This is only effective if <var class="var">history_quotes_inhibit_expansion</var> is set.
+This is intended for use by applications like Bash which allow
+quoted strings to span multiple lines.
 </p></dd></dl>
 
 <dl class="first-deftypevr first-deftypevar-alias-first-deftypevr">
index 38dac9185a170cdf8aa57c693197f783c82270ef..f87c0ee24603fa569c7d83a1f499693ef9b6c380 100644 (file)
@@ -1,11 +1,11 @@
 This is history.info, produced by makeinfo version 7.1 from
 history.texi.
 
-This document describes the GNU History library (version 8.3, 10 October
+This document describes the GNU History library (version 8.3, 15 October
 2024), a programming tool that provides a consistent user interface for
 recalling lines of previously typed input.
 
-   Copyright © 1988-2023 Free Software Foundation, Inc.
+   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,
@@ -299,17 +299,17 @@ File: history.info,  Node: Introduction to History,  Next: History Storage,  Up:
 Many programs read input from the user a line at a time.  The 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.
+lines when composing new ones.
 
-   A 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 “expansion” function is
-available which provides for a consistent user interface across
-different programs.
+   A programmer using the History library can use functions to save
+commands on a history list, associate arbitrary data with history list
+entries, remove entries from the list, search through the list for a
+line containing an arbitrary text string, reference any entry in the
+list directly, and read and write the history list from and to a file.
+In addition, a history “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
+   Someone 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
@@ -322,9 +322,8 @@ line editing.
    Before declaring any functions using any functionality the History
 library provides in other code, an application writer should include the
 file ‘<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.
+features.  It supplies declarations for all of the library's public
+functions and variables, and declares all of the public data structures.
 
 \1f
 File: history.info,  Node: History Storage,  Next: History Functions,  Prev: Introduction to History,  Up: Programming with GNU History
@@ -362,7 +361,7 @@ structure:
      } HISTORY_STATE;
 
    If the flags member includes ‘HS_STIFLED’, the history has been
-stifled.
+stifled (limited to a maximum number of entries).
 
 \1f
 File: history.info,  Node: History Functions,  Next: History Variables,  Prev: History Storage,  Up: Programming with GNU History
@@ -402,7 +401,7 @@ of the History library when you want to use the history functions in
 your program.
 
  -- Function: void using_history (void)
-     Begin a session in which the history functions might be used.  This
+     Begin a session that will use the history functions.  This
      initializes the interactive variables.
 
  -- Function: HISTORY_STATE * history_get_history_state (void)
@@ -422,20 +421,22 @@ These functions manage individual entries on the history list, or set
 parameters managing the list itself.
 
  -- Function: void add_history (const char *string)
-     Place STRING at the end of the history list.  The associated data
-     field (if any) is set to ‘NULL’.  If the maximum number of history
+     Add STRING to the end of the history list, and set the associated
+     data field (if any) to ‘NULL’.  If the maximum number of history
      entries has been set using ‘stifle_history()’, and the new number
-     of history entries would exceed that maximum, the oldest history
-     entry is removed.
+     of history entries would exceed that maximum, this removes the
+     oldest history entry.
 
  -- Function: void add_history_time (const char *string)
      Change the time stamp associated with the most recent history entry
      to STRING.
 
  -- Function: HIST_ENTRY * remove_history (int which)
-     Remove history entry at offset WHICH from the history.  The removed
-     element is returned so you can free the line, data, and containing
-     structure.
+     Remove the history entry at offset WHICH from the history list.
+     This returns the removed element so you can free the line, data,
+     and containing structure.  Since the data is private to your
+     application, the History library doesn't know how to free it, if
+     necessary.
 
  -- Function: histdata_t free_history_entry (HIST_ENTRY *histent)
      Free the history entry HISTENT and any history library private data
@@ -446,8 +447,8 @@ parameters managing the list itself.
           *line, histdata_t data)
      Make the history entry at offset WHICH have LINE and DATA.  This
      returns the old entry so the caller can dispose of any
-     application-specific data.  In the case of an invalid WHICH, a
-     ‘NULL’ pointer is returned.
+     application-specific data.  In the case of an invalid WHICH, this
+     returns ‘NULL’.
 
  -- Function: void clear_history (void)
      Clear the history list by deleting all the entries.
@@ -477,22 +478,21 @@ individual list entries.
  -- Function: HIST_ENTRY ** history_list (void)
      Return a ‘NULL’ terminated array of ‘HIST_ENTRY *’ which is the
      current input history.  Element 0 of this list is the beginning of
-     time.  If there is no history, return ‘NULL’.
+     time.  Return ‘NULL’ if there is no history.
 
  -- Function: int where_history (void)
-     Returns the offset of the current history element.
+     Return the offset of the current history entry.
 
  -- Function: HIST_ENTRY * current_history (void)
      Return the history entry at the current position, as determined by
-     ‘where_history()’.  If there is no entry there, return a ‘NULL’
-     pointer.
+     ‘where_history()’.  If there is no entry there, return ‘NULL’.
 
  -- Function: HIST_ENTRY * history_get (int offset)
      Return the history entry at position OFFSET.  The range of valid
      values of OFFSET starts at ‘history_base’ and ends at
      HISTORY_LENGTH - 1 (*note History Variables::).  If there is no
-     entry there, or if OFFSET is outside the valid range, return a
-     ‘NULL’ pointer.
+     entry there, or if OFFSET is outside the valid range, return
+     ‘NULL’.
 
  -- Function: time_t history_get_time (HIST_ENTRY *entry)
      Return the time stamp associated with the history entry ENTRY.  If
@@ -520,13 +520,13 @@ or changed.
  -- Function: 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 ‘NULL’ pointer.
+     return ‘NULL’.
 
  -- Function: HIST_ENTRY * next_history (void)
      If the current history offset refers to a valid history entry,
      increment the current history offset.  If the possibly-incremented
      history offset refers to a valid history entry, return a pointer to
-     that entry; otherwise, return a ‘BNULL’ pointer.
+     that entry; otherwise, return ‘NULL’.
 
 \1f
 File: history.info,  Node: Searching the History List,  Next: Managing the History File,  Prev: Moving Around the History List,  Up: History Functions
@@ -534,37 +534,37 @@ File: history.info,  Node: Searching the History List,  Next: Managing the Histo
 2.3.5 Searching the History List
 --------------------------------
 
-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
-“anchored”, meaning that the string must match at the beginning of the
-history entry.
+These functions search 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 “anchored”,
+meaning that the string must match at the beginning of a history entry.
 
  -- Function: int history_search (const char *string, int direction)
      Search the history for STRING, starting at the current history
      offset.  If DIRECTION is less than 0, then the search is through
      previous entries, otherwise through subsequent entries.  If 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 STRING was found.  Otherwise, nothing is changed, and a
-     -1 is returned.
+     entry, and ‘history_search’ returns the offset in the line of the
+     entry where STRING was found.  Otherwise, nothing is changed, and
+     this returns -1.
 
  -- Function: int history_search_prefix (const char *string, int
           direction)
      Search the history for STRING, starting at the current history
-     offset.  The search is anchored: matching lines must begin with
-     STRING.  If DIRECTION is less than 0, then the search is through
-     previous entries, otherwise through subsequent entries.  If 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.
+     offset.  The search is anchored: matching history entries must
+     begin with STRING.  If DIRECTION is less than 0, then the search is
+     through previous entries, otherwise through subsequent entries.  If
+     STRING is found, then the current history index is set to that
+     entry, and the return value is 0.  Otherwise, nothing is changed,
+     and this returns -1.
 
  -- Function: int history_search_pos (const char *string, int direction,
           int pos)
      Search for STRING in the history list, starting at POS, an absolute
      index into the list.  If DIRECTION is negative, the search proceeds
-     backward from POS, otherwise forward.  Returns the absolute index
-     of the history element where STRING was found, or -1 otherwise.
+     backward from POS, otherwise forward.  Returns the index in the
+     history list of the history element where STRING was found, or -1
+     otherwise.
 
 \1f
 File: history.info,  Node: Managing the History File,  Next: History Expansion,  Prev: Searching the History List,  Up: History Functions
@@ -576,33 +576,42 @@ The History library can read the history from and write it to a file.
 This section documents the functions for managing a history file.
 
  -- Function: int read_history (const char *filename)
-     Add the contents of FILENAME to the history list, a line at a time.
-     If FILENAME is ‘NULL’, then read from ‘~/.history’.  Returns 0 if
-     successful, or ‘errno’ if not.
+     Add the contents of FILENAME to the history list, one entry at a
+     time.  If FILENAME is ‘NULL’, this reads from ‘~/.history’, if it
+     exists.  This attempts to determine whether the history file
+     includes timestamp information, and assigns timestamps to the
+     history entries it reads if so.  Returns 0 if successful, or
+     ‘errno’ if not.
 
  -- Function: int read_history_range (const char *filename, int from,
           int to)
      Read a range of lines from FILENAME, adding them to the history
      list.  Start reading at line FROM and end at TO.  If FROM is zero,
-     start at the beginning.  If TO is less than FROM, then read until
-     the end of the file.  If FILENAME is ‘NULL’, then read from
-     ‘~/.history’.  Returns 0 if successful, or ‘errno’ if not.
+     start at the beginning.  If TO is less than FROM, this reads until
+     the end of the file.  This attempts to determine whether the
+     history file includes timestamp information, and assigns timestamps
+     to the history entries it reads if so.  If FILENAME is ‘NULL’, this
+     reads from ‘~/.history’, if it exists.  Returns 0 if successful, or
+     ‘errno’ if not.
 
  -- Function: int write_history (const char *filename)
      Write the current history to FILENAME, overwriting FILENAME if
-     necessary.  If FILENAME is ‘NULL’, then write the history list to
-     ‘~/.history’.  Returns 0 on success, or ‘errno’ on a read or write
-     error.
+     necessary.  This writes timestamp information if the
+     ‘history_write_timestamps’ variable is set to a non-zero value.  If
+     FILENAME is ‘NULL’, then write the history list to ‘~/.history’.
+     Returns 0 on success, or ‘errno’ on a read or write error.
 
  -- Function: int append_history (int nelements, const char *filename)
-     Append the last NELEMENTS of the history list to FILENAME.  If
-     FILENAME is ‘NULL’, then append to ‘~/.history’.  Returns 0 on
-     success, or ‘errno’ on a read or write error.
+     Append the last NELEMENTS of the history list to FILENAME.  This
+     writes timestamp information if the ‘history_write_timestamps’
+     variable is set to a non-zero value.  If FILENAME is ‘NULL’, then
+     append to ‘~/.history’.  Returns 0 on success, or ‘errno’ on a read
+     or write error.
 
  -- Function: int history_truncate_file (const char *filename, int
           nlines)
      Truncate the history file FILENAME, leaving only the last NLINES
-     lines.  If FILENAME is ‘NULL’, then ‘~/.history’ is truncated.
+     lines.  If FILENAME is ‘NULL’, this truncates ‘~/.history’.
      Returns 0 on success, or ‘errno’ on failure.
 
 \1f
@@ -628,17 +637,17 @@ These functions implement history expansion.
           if the returned line should be displayed, but not executed, as
           with the ‘:p’ modifier (*note Modifiers::).
 
-     If an error occurred in expansion, then OUTPUT contains a
+     If an error occurred during expansion, then OUTPUT contains a
      descriptive error message.
 
  -- Function: char * get_history_event (const char *string, int *cindex,
           int qchar)
      Returns the text of the history event beginning at STRING +
-     *CINDEX.  *CINDEX is modified to point to after the event
-     specifier.  At function entry, CINDEX points to the index into
-     STRING where the history event specification begins.  QCHAR is a
-     character that is allowed to end the event specification in
-     addition to the "normal" terminating characters.
+     *CINDEX.  Modifies *CINDEX to point to after the event specifier.
+     At function entry, CINDEX points to the index into STRING where the
+     history event specification begins.  QCHAR is a character that is
+     allowed to end the event specification in addition to the "normal"
+     terminating characters.
 
  -- Function: char ** history_tokenize (const char *string)
      Return an array of tokens parsed out of STRING, much as the shell
@@ -649,8 +658,8 @@ These functions implement history expansion.
  -- Function: char * history_arg_extract (int first, int last, const
           char *string)
      Extract a string segment consisting of the FIRST through LAST
-     arguments present in STRING.  Arguments are split using
-     ‘history_tokenize’.
+     arguments present in STRING.  This splits STRING into arguments
+     using ‘history_tokenize’.
 
 \1f
 File: history.info,  Node: History Variables,  Next: History Programming Example,  Prev: History Functions,  Up: Programming with GNU History
@@ -678,8 +687,8 @@ GNU History Library.
 
      The current timestamp format uses the value of HISTORY_COMMENT_CHAR
      to delimit timestamp entries in the history file.  If that variable
-     does not have a value (the default), timestamps will not be
-     written.
+     does not have a value (the default), this will not write
+     timestamps.
 
  -- Variable: char history_expansion_char
      The character that introduces a history event.  The default is ‘!’.
@@ -690,7 +699,7 @@ GNU History Library.
      of a line.  The default is ‘^’.
 
  -- Variable: char history_comment_char
-     During tokenization, if this character is seen as the first
+     During tokenization, if this character appears 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.
@@ -724,10 +733,12 @@ GNU History Library.
      single-quoted and inhibit expansion until it reads an unquoted
      closing single quote; if set to ‘"’, history expansion will assume
      the line is double quoted until it reads an unquoted closing double
-     quote.  If set to zero, the default, the history expansion function
+     quote.  If set to 0, the default, the history expansion function
      will assume the line is not quoted and treat quote characters
      within the line as described above.  This is only effective if
-     HISTORY_QUOTES_INHIBIT_EXPANSION is set.
+     HISTORY_QUOTES_INHIBIT_EXPANSION is set.  This is intended for use
+     by applications like Bash which allow quoted strings to span
+     multiple lines.
 
  -- Variable: rl_linebuf_func_t * history_inhibit_expansion_function
      This should be set to the address of a function that takes two
@@ -1345,13 +1356,13 @@ Appendix C Function and Variable Index
 * add_history_time:                      History List Management.
                                                                (line 16)
 * append_history:                        Managing the History File.
-                                                               (line 28)
+                                                               (line 35)
 * clear_history:                         History List Management.
-                                                               (line 37)
+                                                               (line 39)
 * current_history:                       Information About the History List.
                                                                (line 17)
 * free_history_entry:                    History List Management.
-                                                               (line 25)
+                                                               (line 27)
 * get_history_event:                     History Expansion.    (line 26)
 * history_arg_extract:                   History Expansion.    (line 41)
 * history_base:                          History Variables.    (line  9)
@@ -1359,14 +1370,14 @@ Appendix C Function and Variable Index
 * history_expand:                        History Expansion.    (line  8)
 * history_expansion_char:                History Variables.    (line 29)
 * history_get:                           Information About the History List.
-                                                               (line 22)
+                                                               (line 21)
 * history_get_history_state:             Initializing History and State Management.
                                                                (line 14)
 * history_get_time:                      Information About the History List.
-                                                               (line 29)
-* history_inhibit_expansion_function:    History Variables.    (line 77)
+                                                               (line 28)
+* history_inhibit_expansion_function:    History Variables.    (line 79)
 * history_is_stifled:                    History List Management.
-                                                               (line 50)
+                                                               (line 52)
 * history_length:                        History Variables.    (line 12)
 * history_list:                          Information About the History List.
                                                                (line  9)
@@ -1375,12 +1386,12 @@ Appendix C Function and Variable Index
 * history_quotes_inhibit_expansion:      History Variables.    (line 57)
 * history_quoting_state:                 History Variables.    (line 65)
 * history_search:                        Searching the History List.
-                                                               (line 12)
+                                                               (line 11)
 * history_search_delimiter_chars:        History Variables.    (line 47)
 * history_search_pos:                    Searching the History List.
-                                                               (line 31)
+                                                               (line 30)
 * history_search_prefix:                 Searching the History List.
-                                                               (line 21)
+                                                               (line 20)
 * history_set_history_state:             Initializing History and State Management.
                                                                (line 18)
 * history_set_pos:                       Moving Around the History List.
@@ -1388,9 +1399,9 @@ Appendix C Function and Variable Index
 * history_subst_char:                    History Variables.    (line 33)
 * history_tokenize:                      History Expansion.    (line 35)
 * history_total_bytes:                   Information About the History List.
-                                                               (line 33)
+                                                               (line 32)
 * history_truncate_file:                 Managing the History File.
-                                                               (line 33)
+                                                               (line 42)
 * history_word_delimiters:               History Variables.    (line 43)
 * history_write_timestamps:              History Variables.    (line 19)
 * next_history:                          Moving Around the History List.
@@ -1400,21 +1411,21 @@ Appendix C Function and Variable Index
 * read_history:                          Managing the History File.
                                                                (line  9)
 * read_history_range:                    Managing the History File.
-                                                               (line 14)
+                                                               (line 17)
 * remove_history:                        History List Management.
                                                                (line 20)
 * replace_history_entry:                 History List Management.
-                                                               (line 30)
+                                                               (line 32)
 * stifle_history:                        History List Management.
-                                                               (line 40)
+                                                               (line 42)
 * unstifle_history:                      History List Management.
-                                                               (line 44)
+                                                               (line 46)
 * using_history:                         Initializing History and State Management.
                                                                (line 10)
 * where_history:                         Information About the History List.
                                                                (line 14)
 * write_history:                         Managing the History File.
-                                                               (line 22)
+                                                               (line 28)
 
 
 \1f
@@ -1427,20 +1438,20 @@ Node: Word Designators\7f6216
 Node: Modifiers\7f8527
 Node: Programming with GNU History\7f10178
 Node: Introduction to History\7f10922
-Node: History Storage\7f12612
-Node: History Functions\7f13751
-Node: Initializing History and State Management\7f14740
-Node: History List Management\7f15552
-Node: Information About the History List\7f17862
-Node: Moving Around the History List\7f19504
-Node: Searching the History List\7f20605
-Node: Managing the History File\7f22534
-Node: History Expansion\7f24414
-Node: History Variables\7f26373
-Node: History Programming Example\7f30405
-Node: GNU Free Documentation License\7f33059
-Node: Concept Index\7f58234
-Node: Function and Variable Index\7f58939
+Node: History Storage\7f12654
+Node: History Functions\7f13834
+Node: Initializing History and State Management\7f14823
+Node: History List Management\7f15626
+Node: Information About the History List\7f18057
+Node: Moving Around the History List\7f19670
+Node: Searching the History List\7f20750
+Node: Managing the History File\7f22696
+Node: History Expansion\7f25166
+Node: History Variables\7f27139
+Node: History Programming Example\7f31281
+Node: GNU Free Documentation License\7f33935
+Node: Concept Index\7f59110
+Node: Function and Variable Index\7f59815
 \1f
 End Tag Table
 
index 29a318f90b491db9dd06a5aeadec29971febd22a..6de4204fa737939329705d42dc2196d02ba7463c 100644 (file)
Binary files a/doc/history.pdf and b/doc/history.pdf differ
index 324d63ff2a2beb53f6f1b02693264850f95f0cf4..3acf0d4c57673f929bcb4df7908fcba5f281675b 100644 (file)
@@ -1,8 +1,8 @@
 %!PS-Adobe-2.0
 %%Creator: dvips(k) 2024.1 (TeX Live 2024)  Copyright 2024 Radical Eye Software
 %%Title: history.dvi
-%%CreationDate: Fri Oct 11 13:24:25 2024
-%%Pages: 24
+%%CreationDate: Fri Nov  1 21:48:38 2024
+%%Pages: 25
 %%PageOrder: Ascend
 %%BoundingBox: 0 0 612 792
 %%DocumentFonts: CMBX12 CMR10 CMTT10 CMSY10 CMCSC10 CMSL10 CMSLTT10
@@ -12,7 +12,7 @@
 %DVIPSWebPage: (www.radicaleye.com)
 %DVIPSCommandLine: dvips -D 600 -t letter -o history.ps history.dvi
 %DVIPSParameters: dpi=600
-%DVIPSSource:  TeX output 2024.10.11:0924
+%DVIPSSource:  TeX output 2024.11.01:1748
 %%BeginProcSet: tex.pro 0 0
 %!
 /TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S
@@ -3456,7 +3456,6 @@ dup 61 /equal put
 dup 62 /greater put
 dup 63 /question put
 dup 65 /A put
-dup 66 /B put
 dup 68 /D put
 dup 69 /E put
 dup 70 /F put
@@ -3711,366 +3710,360 @@ E227219DE137AA06BBBB2F2530EB0082E730BA30DF67E83E8E3E6D47CC0D6183
 D68AFDFDB89A8F7F6B8C3381BF4903576CC2D058CF656F221C153D7EC7C6CFDE
 3487F61D3712FACEC12BBDA5C084F01CD52E27B685B7ADDB34D477C47BDA3D6A
 F5F94FEEE22ED1CF93F2A4576F53D5E9AB73CAB5CFBE85DD6F4364A8CE71574F
-2D6AC3F8AD690AEC0AAC2AAF8CFDEE51FE47B56661DF84FCD8AC27A0C591A39E
-769DF23C1D077B7C905CE9FB31C7594CB1E63CD82E119CE68AB58F6B8E3E370C
-11D91D32ABD0DFEDAAD93A07401045F38198465E1D503704FDAB902347ABC936
-1F1DEB3601A993B6641E4442154962DDE3812AA8D948B112C9C8C51A5BBDCE0F
-31E244844D0C77BD0F206C7399B4687F352DBA807E1D9C5439A9944E0B3949BA
-B173C40D43F4A0B97AA73A07B3F016580D2C2DF39EA392F678313B1FA589C0DD
-6CAEB67B5E78334A41156A070819698E8D576F5177868FA05D4E66AC6F313967
-C251958A426B160B5645120A7F2E33986B79CD3ABDE16A8320A355A7F18C2FF3
-60AC078C70EE8123060EB9672A7D112A7C1F916DCBBEFBCA48B59B4B497B2992
-CC43893291BD454ACC071A68E6D7664916857E6EA7C34345C13693EC4D94B08F
-0EC526563979CAD433B998DC5A0D835C862CBD360AF49D068D07AB1709E1A3FA
-4C1F8EEE38FE96A5EE6334C12E55B24E5CA3AD0E78C5B3939A3C69553212C069
-67548E8039596E5C73650E32147ECE269066DD3A4E4CA042DBC2011D60A378DC
-45C605A5D6704780155DE769AC843B3C717D41D9E319BE62523BA58583CEBA3F
-8AD278952CEC5236F3CDD374766075BA04259A2C9F2539DDAE7F0D4356AD67DE
-0786B29ACA9DD362B55E72BF69173DB426EBC75F6E5BA686EB82952C20838199
-8E5BC15A79E2F0F5F998DA7269560B6F65BE4FFEC8131FC9EFA692B60FDA916C
-DAA9CEA8793D1AD57558D4B424E591024738132535D310D2121838FF3ADC091B
-4D1BA849B4054206AF41262CA2110DC795D988AFBD1B9725D673444D9B5D9A3F
-C0F865201B6D797A0575DFAB5C51E5FFC0F52735EE1B21B355C10CEBB2B62D72
-96AE789D63C6413BA44FCBB2C384624038186B76DBFE94A9E85540BAE8B3FD40
-09BAC6A615BC1B497804F55065E3C18BE77DB8563B1730D5CEF7428A9BE8C118
-DE8B1B9EDBF53BA3288B4985B1EF68F2EAA7AF9A2543CC66D3CD11925EB08E2F
-2E9293A5AC0245FB4B4704B5C61C49276F5E1F4560A4C0615D26FB097A5D0746
-42239DE3560B0787A347FA3516D012A2C205A3CA4074893F360FD2D6A980E6E4
-F77B93A92506F3F852DB888567C1C1717D06FAE23DC20555C129B998666F0D47
-6985495B8E94E4F3A3A788FC6EA5EA0BCDAC1F5D36B3E0459DF6D683EAA9F7ED
-484EB781E72A5B67823F69FA949C74BD03A6AC015ED3C872108B6D2771414119
-6AF2774FCABCE014D681EE6F599F2B675210E8A89132B5FC9701B1802919C192
-242F75BA14EACE61BCE6EC7A980DB15B33EE760A8C80ABA4CB4ACD62856BB083
-987F29347547523481D58DD157C1E71878254F83129FEDC651186F696FA4E015
-554C5EFF61208812DE8473E0CCD8D108670FC49664B666C9A97C07185286A45A
-6FAA91966BB3F3EBA629F4DC645A522C763F276B6BC34425FBB4187C77274565
-235CC4B9C902DE9C5B6A9ED253598464AB766CAF4BA3905F431CE64801711723
-7F22BC03056EDE0F03E7154B9227AB5D9DB43729C14FE45044F0368523794A37
-E93EDAEDE1A49769F27E57439B281DD121430D11E87AA64F4F7EEF90C8207CF0
-FBFA73F68F7C2023C63FEF39B8BA4BF429D61DB22B86AE5DA40DB7533CD9C0D7
-8DC6819DF76A5B569C55A9D821A658006E6AD50AA4F9FA0C29AB8B417E2D6012
-59D09EDCD7D968AA2EB4989492ECA5E6FDB6827637A807B3F1910E6F91122095
-30A35F48C0429D7C7F793D432FE423B89CD21D5A9CC3891A934D8A85021512FA
-923157FB455E127E007404C2FC5E1B5A43B944C4EB884AFCCD3B642C0A13B0CF
-6F4FD1642B917B64E296280261D6AB904738E35E10BA91A1580BE1E4214DEC4F
-041E1BC61C5F65DC263FF9FEA39D7FE05F31B85799B786A3D5D0C5AC21C21EB9
-69AC3FCBD19085438FC1E3081B7EE187C0CF717EDE9958FB4ECA83FC2A97AC06
-C42B92571D1CB295A4E739B10738E0854557A1695C9623AF2796A960156A3395
-B63759BFE8E5B14A2C49192BB6103184CF756E1D585B84736D090B827C199BC1
-DCB1EA3B8DA7CBC73B2E26E96B6F0556D49923D63173C465D725223C0D8159F0
-E70ED77B0B380397112BFD024DC0F03CAE4AD3853735B3FB12DDB249A3929B87
-4F77103703EC7D4B4C8D41D0CE65F05CC6ADE30BAD9EF7D41D7DD1DB2BF35B87
-A929238B57DDF01AB94A1E31C10B759315E3E4D58D37142CB1DD6F27D321F6F9
-20FA0E6C2EA968494217E7F75A34F6B050B27F7BE3394CE69FFA957C678F1A5C
-A0B3D8CE8ADF168CE01BA90F039DB20A8AC6B76D5036A2DE654CEB00A853B3A0
-7625675AE757C92E06C7E24827E47A09D620E62DEAF04F1FF407AA23C63A895F
-E66E14E4A7CAA511423D5DCD020D1385376C3CFBB6FEE585256923F98A702217
-B1096DB80ED911924499572284BCCF297DD8B7CDC1186F6E12E6461039A353E7
-62786A8AC2072569AD069AC5BDE24540A069D26A73705E58D7FF12806610D709
-D3B58073669A255D65AFB23575EA5402380FF69CD6F61E6556B794441F7725AB
-C82E82E284CB201B36DC5E37FE3E45D1595F9C5DD72EEB58959B3026F45C1E91
-7ED8E500C5CD1E1AE673CBC5222CF60D25643C9AB66833DBDAE1845B16F9E550
-8AEFA7F0FC8D2EF3EE39EDB8512BDE5077AC9A032CD4B29347B84E1BD602C4BE
-83766227DC6B32191DF6743953790BD8AF842A4B5E4EA6409CEA963D8AC3F471
-FBA7C08F4E4C6CD6012B82F79BB6DD247F93BE9D898A7884C9B224ECBD25F85A
-33758D69172C1FAC421944E482B7716E839D32027851FAF6F4E0C4D78F680552
-C11461E5E45EC9FC958D7C2D640C3D4FBC85D8D23428B5AB71F6B8827446E5E1
-CC0C38C1B7974F649E6BBA748DD76E1DA9747D7DA222A0FF08B5DBF0E8303664
-8F791FFEE6DBAF4084F1558BAE2FA8E48C807F1C6403D4A91B78ECB1BBE082C1
-A8C0CDDDB7AEADF5E525C03402B8AFB1BAE627D91C479EB198BA6B466A029C89
-BCEE9CFAA8BC88F344091D76EFAB92F5512D1BCA61498405823B231E0A587907
-543A798BD9664259ACE2C4965A15B653B7808B70CC050EE225ECABC1476EE957
-FDDDBCEB75E704EC7E33301443F5A467FA6DE504A055D611C2FA6B07BBE03C76
-9C430F6A3FE1198093A834D90029CAF806FD6A75C999B5E8EFFCAF676DF17CC4
-B256C6FC93F4AE44947B1381B6C475F282667A65708598CA4A4CD006B02F3004
-BE93081B80DAB1467214A6A947EE0E8451E74B5953B2D57E83CDF905D1B86677
-D811628F1D49F1CF5678E8AEE3C57BE4072535B6245E19BC918B29EC7989B698
-01ABA09A7CC82AEC3C0E3F64CB0EE69C71A127CBFF6002C561F3DBC94CAE7C2D
-872CA1BE31370821D70098A7A5541DF5E6B6E3D1F9056759DC0AE1DE6F3581B2
-C7BF466AB8C841E0CEB14F965D1C31AEFEC4724F120E58C1706E009B738F1D67
-0B2074B3FAA0F98302A3DF8E093BEC432FF011FBB3C73EC4906D00C846B30501
-4199B83754E9B1A2F80B523B1D9DF5ACCDA9AFAED5F5B2643C5046A0E2A7D873
-ADA9DB69793D60F09D408297302124C10B6915147EAD703FA5AB9DCA1838C590
-7E66B21981FAB8BAB54BB00FB1CE6E36EDC67838F762B7F91B76DD8683EEF42F
-1D0537608BAD4BF1191CAC12DBD7C17D0AFBFFDCE31580F7B6465CA5E2D5FD6C
-55A8ACBDC91530FA9033413057308627025D4431D175ECE3167D99B1E1B0A2D3
-633FBE69CF0A4E23CCCEAE95F6661EDE0DD6DE0D1F6713901CA13DCEDD01A7CF
-737EFCAE29EA421F3CB7887261161D5A33C685E28E11008DF6D366042DA16E0A
-475E762E506D59625FB9B6A384A9A3F6B118F6254FF8D4C95CF84030A7A6D914
-6136C77BE7F7D01938226A0ADDD08CFA63B68CB6C0CF532FDBFB0AAA6CC3FF54
-AB5435949968AFC9BB14B7889CAF0C5B1C80F749FD9E966D7FF38D64476076E8
-9C4DAAA24CA211C0D4C0DB27D7A8DE66817F002A76310BBEEC5ED2444F9C0974
-A3DAA9AD65FCAEB77FFAEA91882CA8648A0F27443680EF7D2511ABF85DBD456B
-2D72E529851B255CB48E86B537A0CC0127B8EB3F53FB67EEE069ED8BE30301B7
-02458C82CBCD2CF2396F4AB5B781FC69D583FFE8C7B62BCC05B746B5C495009A
-BF675F38E811B3292DF31864A1848DDE036DAF7ABBBF17B9E5E655CAD4DB38D5
-5E40EF78371FD46BF1190BDDF34C476FD09DD23CBB54EEB938A538589A03B28B
-03A3CCCBC550D90EB73564D4E56354846030B0D8ABA795AF99DD48DAE65EC594
-FC4CCA5CFD39860A6F23AA22D0E7C25A5CC06AE9A1C35EBA87DE6B5029F4BB4B
-B308BE301E6C1CA24980D5A72F14A65C6552F8205282BAA07AB56FFBEB77BDAD
-2A9B398216116A09A7FDBD0B01A33DE66E4A149E2CBF60715E8FC76A910021F0
-F26859FE2908C529F263D97481F07F784CFEF19369F023C98AEC7AF9A018AE6C
-727DD9581662FD83F76FF3A445465D8113D7EE8B5420446804C67624B22883EE
-4C31E69D1ACEA21DF7136529E6AAA2CF4FCA394142B3239010BE265F24405452
-8987FB64D9CDED947AC0F2FCA0636046872B6B742921CEDB4AEA45FE61F33A04
-120C7771D3541631B56332AED1B57A404362FDE040780A8A3509BFFD95FAEB93
-F3A2359122F3E9F709242E919AA0A52CED7C69623CE32ACB260FA787268E8312
-511A535827F5AA08C34CDBB689C9D47F31390B89104A698EC20F7B217807ABF4
-CEE3C2FF7D349E766E83510D204F0067D1A4144CACE3E9362FEACF05B95EC18D
-BC587E4455B9632CE28D02842C100510B81B1D598AAD6EE21634F6A13A30821E
-641D5D7DB3F7B784BD6DF4DAC840AAE74324CC00B515597CB7E4CF77A2DBEB15
-E655781F8D4A7ABF0CCB9A0D09720CF3A1671B256C81BC7C64BCE000DAF280F4
-6E5D749649B582C0639FF0CE11F6D0C36705A67A51404F22C0415A2135922FF8
-D11F8DCB25ED1CCC58E77CE7BD74FBE143B55DBC4AB525D4C4A8B7C392C4CB8D
-631540238AAB4B3D9E1892B747B0C273917453C1E2AA7585A77E9427925FD5BE
-1377961EE7C6AC55460A134AF811A327FC939A321DA059FB7DDDE88701922C02
-56727A98AAFF0D0FCA54EF784A1633B7EE514317D253780A1A62C7BD98FC4D67
-B49B930D55117F3DE5C5A634376FFDB177EFFFC6FB607B0D4F11591049D63890
-9E8C296F85483FE343D5B1EC41CEA8A3C66A890EC7812640016891AEDF8A64BD
-FD923BC5176DCEF2A5BC67948BD55AC844FC1BCE542F8D8F8E1B30A61EC9C422
-AF66942C540E02A9F1449ACDE6F2987734A06088DB9BAB4B9D57C67C4D22E912
-ECE827DA938FB7FA5609A96FE16FD2E74F4E8349FFF9ECC814325EE5D506F6B9
-8B6058716768FA9DE7F172E4E1CAFA98ED651ADE9E6A8D89FC9FDF1EE6F031D3
-F87DD7101EC90192B8314025C118CFDF399C7B9BA72344D5FF3C97867DC3A6CA
-76ACA42B4DBFC497B7FFF022B9F43A1876BC60172831DA3BFA9A74B85B195BAE
-0AF002039C49DCABF89F2A5619F09107349975D8D8AE6A716A3ED406FBE136B3
-90D46B10EAB91C83A0C06FD4045E1C16DDF3E0A4F0C24805FA130C4FEADAC556
-C7FD67CD11CFE397F006C783462F823C4B66307B1ED99713A1D63004C44AEAE9
-2C7D929F2DE483CDD8D0CD5BC1512352867F5C78AD991EAE5E3D5D50B899B272
-8C7B34FFB491E3DEEE35213C73A0D0D2D3EBC7FAC5EFDEE670C41EA2B6E60EBF
-11189DE0BBA33145D5FAC9BD4A62BEED88C4BFAA296A2D0A68DE5163C64014FE
-915B8A5E88C97617EDCDB20723F55C5603E0CE7A2DEA778F4CF09F2B521E5954
-1B53966CA35892761B022172B25D45B4796B75A2290A88C39C73FDA467FF0566
-9B35FA83FDA4C902F11878244E47E63CBC35359B3482CE71DC061808FFC130DB
-27879AF2A32A1C713256C84BA060722570C770CC0BD59A43EC3A7ECEA2295A06
-A134E2AC9A3559522691DD29E76B25567EA1DCAF787690872D62E780F5166C3C
-4590181B36C40444BAF5C381DEBA692FD3B1AAE99C4306C72B11481502653A71
-55A83360304F1C01121CA574AED7EBD9662BC2CC161B4A7BC19143731026E78E
-33575784EE8CDBC0BC219542E36A693642E155F57101EBB5AF4A867729ECFE9D
-8261F66FED38E6E182213028BBAFDFCBC71F0969AE553240A89BFC72203E07EF
-A6BA414540B10990770C6BB36F7F55CEE5676F5FEC5AD00C3530974B80BDC135
-EF6E8A10F2140AA7823B11D4AC4761D336BF634A24D8E89EE29D52C086FE79CD
-C870AC65A40713C8C08596FD1AD2AF44C078606A4086F6D41D28C4E5217A27BA
-11B172FCC9BD8A160F282A289993707C761CBB9DFA4DD9145CA114D9C0FA2426
-9EC80CA0FA4A86CA30E9021BEA3D463E8F058765191CE2539783A420E3B10472
-8EB4C904F9CC15E089BC5EAE794B9CBA565E3CC35C56B5A3BD20A54A5E430E43
-1029F7BFF82A730956C1D68C8EFB0508CBFAF48631348E8DCFE6479368D3392E
-FEDF6E69450013499757AEA2E79E9B4BEF03C17160F84A2339E3A80DE8F036C2
-68C163A24E6FD8FF75DE695FC17BBF155972D54FA4EF7DBD6EEF74252A02EE6A
-6F5DD566CD2ACB6B7474139D8443258BB8EEDE8C2CD08888874F872259CBF660
-47A254910600EC40C506243F0492400D897DD57FB4CC256A3408792140FA8138
-1A0293EA225BE55F392562FB47E7E243F27B665EABC0025A2E54EAED4D994837
-8834E6A97B8DBEAF7A937B593CFAC8EF9A40056DC38F59834E3C2502DDDDF1CB
-438D4B1FFA2FACA0F3D09D178C7370258C959AC2E8DA574305825F67739926D0
-8AD8949E93B2CFF05C85F56EDEBA1C490DD684F0A9E7C66C20D5B9048C6DBEB1
-C75DE78D6AEAB591C550A1ACCB1435DC126DF38D4FD8B168423D4434D126FE13
-7A1D5ED73746170D164C250CC197EA25265464844A2A1F49483D3ECCB0EE0D9E
-3C578291F27369212C3A659E752458AD0E4D5AC667FB6E762036CE103BFFF9FE
-E0CC48B5FFA43B59201A7EED5A4EB31749AB153FB776A13D73A39D109E6F8C2E
-B8F0E5BA5FDC23AADA736E50C291F78ABD0494B0AD6D376590CA339B091F6289
-7D2096E68D5858AF2F9BB0B162D752786FE1AE23E542121A74C17681095538BB
-9EC57F9E89F3B0CA32649C98597DDCDE2138B61450183A798D31FD3462102078
-62C7835F500E7A1FCBC58C37E8DAC9793F584A7F851565C871BDF1042234D3B1
-071F30D573FF2398D3438F49588662686A4AAEA60D8E1D961A48AC069431A9EC
-1ED3ECDD0DE5BEEB5D6FE035AFFB6BC509833D32508ED2D495472722D68E0A3F
-6B4066BE315FF5E7048300D439ACE70463F4BD72547E26225161B1A9B2F15ED4
-77673AFD583DADB09FE1AC2AB97537B7AF30051030792B08C4BD0C442FCC215E
-0257A366DE8CD6D7F601EAB3DCB0B86436B39364A44624C780A99F9CEB12F8AB
-7B2ECE4D34176EACCEAC54BFC3E5C35299E26CD8414BB2BC0ADCD9263447BDDB
-3858265428E134820D621E0762237F46C2681C296F36F774E705CED8388E2626
-B527ECF6B952B5FB9D151CDE83FEEA36F8C87F0B602975D918BAAB17752C83A2
-D8205FE2A2912282FAFEEBC0818B086464C2AD81EE097A492DBF5C1468AA8802
-88C454ACDA1E44169335FB0AB2BB0D44B2A4A4386AAAA4CEA2E48DB27BD47700
-3FAC7847668891E99EBCA8C5D813378EE7772212101488B4110E92D269A121A9
-18901A8EFF7C57F155C827A558A4F1610807A50EDE9C3630C2FB77969863FC6E
-A3AE9E28F27B301963D3DBE231CDA9BB03B6A29B0AF4042F62FA71E1C8A374DF
-B34CD305BF9410167948FFB3E8F262BB94AC891068DDB8F66680F5CA9B86000A
-D4B408C3F9DFE80A21DFFEF20D7C09EA830FF915509943799880B028FECC64D6
-6D4F17728A750801197EFB3EF5A697F63C2057D54AD79EDD99D7098B71107141
-3BF98DA68572C2EC5407C590CE8A7406239E728DB23304ACB07E1F27E9BC0C10
-B249EB1B76F1527459B8F05E5325F2362CE119A155E352459FC1552FFF069D88
-82D06CF9DA1676AE53DFA9DB50336CAC9A07083212FC04426842F6D08B89801B
-E098A9F6318577FCD3DE372FFAB3BB63938F46FDE00158ACB3F536EA91854E5C
-2E4B519A78BA54BE9B8E652756D615FB1BBB9F8CC4116A5337D0C82599E76F38
-7577664F70E05A2A0A402771A0BC71400E0F27D4C40D40908EFB641C75AA17E4
-34E02C02812B86CB7C1843BA074F5D7D21D90D93BB6BAB5ECA4AB1C6F2B2B80E
-1D3A8F2160DAD92307E5D3C763B0F63B7FB9135C76FCD7BF8AF9637F178ECDF1
-C761F0DDA7281C248711D123FE2FE5BA6408851F72D5061CFE0AF10E1D1EBE11
-1B0E4AEDD4946B6528FEA67D448BF9A06114A202E3136A2B7AB1B6ACC256F287
-EBF97D532A8FBD15064DC3B9D643402F67EEFF350B0EA3C3BDAFFE07C7CB1557
-5910F24C9101BC72440F4A9B8C2B7F48653C13FAE5FC28EB6A6589FDF0DA849C
-6569C761BE135F4E10151117FDBC32B94A0E534745B81E424F82EA384389D2A5
-795D3EA358DA26944D1F1ED1A48C11F4C444D7E91A6F23F950DD40BC0EB7FC53
-3C00D2DFF98EA6BBD13A904782CDC66BE179873E44254FFDC031B68AFFF574AC
-702EC8D9C462CA4257120B27AD65400EBBECBA4D32723E0E52AE178ECE376B79
-24C7DD2CC62787FC69AD166EC11E4E43D1E3A76175AE4B0282FE62B8EC0D46E7
-37C781B65ACD9E98108FFED418C6EB3F3ECE5093D4C4369FAF179A92B289D582
-811EFD634111CFACBE83975D9BC28875F2AD667F3DF8C7A3A3F5CC6B3E98F73C
-2D7A12214A4E6CB03C2C052885742E7FC5693F854EBFEB4A1711D1CEA7911254
-98C51BE323266A08650D51E50967DCC8DA329EAF374F422BE64EC35ABD1D5594
-00AFCEC6A82A4DD47271702552458B24C8B6EC0AA1DED3F6EE8D1A65E0AC0123
-5E81473A2376F47C06E0CDA141B2A3C056885AA41A10FBC37C374988FF497C81
-EE6797CA2C9296A496E6B6C9F56377C3A3C402CA3636372A7910BF35AE2AF3D6
-589DF95AF23E4490914ADAF4E4C605BEA4623231C5F1D4579A51F307F9700F39
-5402CC9B93E13679B2BE641F229A1E1D83BE1CCFB978FE1E8954FF1CC6007034
-B1A2BEAFD7347D8BD97ADCB649F6279E0A0E705C82F27778F7882372B58E00D3
-B94AA2A0582BEC08BF9F240FACD2D12B99F46AD52495B2BE5EFFD0B1AC93E726
-DD72DF4CA1264F21457672BB2802B7AE9B075795BF8AA9C27F743BD89C3BAE7E
-C614BCEF16F4A2AEFDF4B72D5CC5DCD7ED751382AB652ED86BEAE2653C384869
-D40CF8BD6FCE59F51CEACD343A92CF833754CBC5C0B80E9363899CB158EB3F54
-745BCEEBEF2659C69E95CC3820F12C6E51D868AF2FA979BFD0241E39A771747F
-FD651E157983751D084B16322264BE52D065A3608DBF78E98B416DEE27BD9F2E
-8F610100D3C227AFC725139971053273A53E18A6E0D894C932DDF3F432AABDED
-39666CAC0E86306384428A81F44006990C25B8144394AE04CF8A1217DE12D046
-A160109658102F279C90E0338541FD04AF587B1F88168463D471EF229009DB3D
-ACA474AFF7CC89492A300BF9574AEA8C5F9A9BA76EF789885EDF37C97B8E2C30
-D429111045A9C1490C6F4693B178548CD90BD54D75B6485B8A8186CEE5A86C8B
-519DA9B1C577FDC3B317151B3D3D725EB5835860654587A993C717FFA8C7E57E
-75D6E0E3E5BC10D241D0763B462F0B4FFA7F2881B92DD101BEDDD83373ACC0A0
-CBCF366F10DDA1FB8EB75224CCB6531AEC9E358EA5F0021F7CA6AF2510904AA6
-2259E75D10E1E492B6047B116FE904E4C9B832A23E3020485A26CD026F7C89F2
-75B8D46C4557C1798DD4BBBD26C814411A7D59D5AEBF6D6B7638F199AFCDD030
-2B2985C6E762A002381732BEB2B958B3D6CA4DC93ABFDA5837B89A5B8BD1FC7D
-322C540912F0A93B54117EC76B2E623A08673CF8882658241BAD84D1C7EB1148
-CE183E32DFB96BE256957E9F730CED521E392E56926CB63B681F5A930F32A9B2
-77477908C708D13559F50653DB862F07DCC8F7EE0EA755E728A9FC4A17115418
-835009651989B113A8D2DD613764F19C6F152A8DD23B37822465E483F4E746BA
-CA01DDD1135EBAEAF8792EAF022637287A544923CA6701333DFD39B92FCCBEBF
-D0ADB4B19A95CC2AFE8CAF3614EEC904602147A72A30DC5D582D147843317226
-8FDECF83A19691D5AE6B590E66120D22508CB30713BD2AB286E58A9E2F435C52
-D15E12C3E1C939E850135A6E2A897BDAD9F54179F2DBC80CB322E85B28A3C345
-3924F7A676B7587BE5CEA130E211B10C9B5C28A616CCB55B206203D05B032084
-123EAB7EFF139D5C1EF2FB00E3B328ADE7AE451471BB9E5F75ABDC03948B0664
-C4552C99DBE4668C7686485E27041D48C5BD4E4A7424E682FF75CF9DFB3D593C
-DDB1078AE7B070B1C6BDF8FF5D303B76E8B3B8B41D5958C6CAAC1790A6E40382
-89DA5B36509198E0AC7541112BA0ED7875085BFDB5169E01B75AA2EB2F8E0AA4
-46D7AACFCABD8F86D6753572872C647FF3A83214A44768B74B523D14C1FB8DCC
-764D865C31CC427AC247E7D6A233A7F043585B5B5737FE7837940F70AD3C1D00
-E6AB131600166A98DA57FB5A60D6B061971F09B780EE5ECD5F74B93621C54992
-A15D96BA8873D230B98CE56FFF6BC59A043D5AFF06A260B8C6DD848614EC3341
-21490989AFF9DF6BEA57CC93DE2417D171DAEEBCCA1EFC9164AF4C2E02B34E11
-34B7FF1DA19D626114DFA220623A2E667BDB2B79A6C97B8B4AD1793D179C0153
-150F91EA174C102B3EA389DEEEADF3672F0B2AF9B3DCD0D2B5B91A0F180C78E6
-1E0C7787F029A053686DEFA38CCF0730E7B8DAD8D4670BDCF6F5930C8802C60B
-E8082320DCE1E5BBE6CDEC6FA39CC6B18F76B56689B4AB685FDD986086BB414F
-6F0F2C4B113B6B31536B2C1980D34B4550C57B7EAA9161DD574CACCC82AF26BC
-56EECAB8FFD5F50DA8138FAED811DF021FA2C2F4991EB28310CE94BAC3CE70AE
-D7C36867C52843FE1AB41CA2D6B8EB9ABAB0DA435637C26E4CA60EDBD8BFD748
-CA958C5B79C6ED35393A2D4602B478524DF5BADCD692E02DFECABF4B99BB8393
-B8D8A2CE41CBB04A3BB9806C9E41A58AEF6E2BF7E7F24778D3042F42DB0FE7DD
-522486179BE8D2EB96CABF1EEA0CE577AF846E3CFCDF53CAA22EC3CA04B5D126
-CD68AE6F6E40075E559218857EE7FD5B91C426A7982C132B2A23B77D10E627C1
-891BBC5F4342982819507770FDC22FC96DC1DDB3069D0E3ABCD309D1BEE3F273
-F113EC79AF6FD2A332787E2DF3D9316DEC84DAB94AB9A8B25859BF2553156043
-6A5A084CD002662F0A1B1360941CA96B2EDDD12041EF8D49A5C03ED62FA1D50D
-4B4E94B30FF78C7E87DBBBDCF100CDD0D1CCEB4546A81129329B961E477E2EBB
-3D500F0DA9F684AFA07FDD0930555E1E828B0656854AC9AB8118A4BAD7111B39
-5BDE6AC93CC061FE73067D807B454654E3AB7A02A38661862B6811FD9857BBB5
-D88AF8BE8EE553D51C871ADD6377FEF4E4AAB4BF0962C377E6526DD3A43C99D3
-1200330943334A86A18E00A9C62CFB783688A489ABC093927E742AC44E6C5D68
-E381CB0577E36D42324075C70D0210146A46769E4EF4E7212A02BCEF21D39866
-45FEA59ACC9D0210DBAAD2D64D2B9C75AC9332DA6ECD127868A2ECA846BDC961
-370CDB39A22B63C3E73E1DA43D127232FFD654A37DE3B77E8691DF2000A95E02
-755A7DC7CE2D3FFD1D4E7A5A630991A727B889B6E80869FEA450B89D07717463
-BE8E7F9F7E7B5E8CDD9EBFBB0B01BF4631C35423EA9A53340BBA9FC493C144D7
-AC4EC43D61AEC9B6813803E59AB2F48B6B167C19E5BB64FD46B494ADDE9BE881
-DC7F1B9B7351196C77B07E7ADF73BCE7A085EAE92457E0031126878D6F2BB471
-FD9B2CB336526BE180479A29D96E5DEFFA21C9368A06964F5D3AF0E14E9137EA
-D8A102D1D42E096B89C04E6B44C22E38E2880EA9624C7084DFE92C7CEBB1CA87
-ED4A6269DFE0BFFC2491A2FCCAB7591D868D12FD15C2FB48077B4425BF9C2FB0
-C9CE1C5296278F8A49175A30161ACEEF4411234610C4FE6BFBD2D3AF3B924837
-6490F561BE719424B849D0CCA2D4DA51A1F34097BC6C4B81F65E094610363CD5
-26FD206621ACB77A02A1FFD70E364E32095A7C0173DAF45388E4F8CF02359389
-44180C058889100D5B340919A9EABB32A070AE29D81342D49617F20CB170C67D
-3B4A671979ABC06F853D599899A7117571971EFB792229D4D6B051EA3AA66DCC
-8D78F3A3FF7B97732E3277314344D32ABFBEB8AC47C4D4DF7F24CF5CCB870672
-C106D2CF44ACA8967586FC51354182B066B6EFAE8FFD916257EC30AF1E67B156
-89C13F96EDFBCD745965B3DCBF0C70496F81DE237779A24683971CBC5346D8A3
-E6BCBB52CDB58E2E2B3C175B7F049357C667D7E5DF9112F6D7787A47679DCCBC
-9AD6B4167C0A622AFC2871583D3DFD80A684B10A13D8362F08A39EB211672E8A
-8027F3CFA9E5725AFD833DAE86772E528FE5F89CDCED0EF2E2D7B84210BAF4EC
-F5FC2DA12451A19FB91E72A710AB9C80D9D964E05D4B7DC69DC229C6D4F2027E
-98F114ACFB99DF2487C53734D6C245F844F97640A29706BA79C324B2A499A8BA
-33D63244A320E9D2BCB43F59FC073BB6CE91F32F449DE3DAE4CE284E0E40EC9A
-299F71E1FF08A2783E1B452345F4CFFC1B17E878E6982198C14AF78F429DDA89
-99D504B49BD397D45DB265DC4242E51EBC3A4FA1078F62FF96A9956B900B7CAA
-64DFF8624A85017B0EA6DD905974F9B1A98A81C8A31E8B7F39C667DB89F88A2C
-F3E69A662D14C1523CFD64AE198784ADAE2F6524AC51F1DFA7C28653C70BCC7D
-974677D88282EB0EA8EF2993DC93EED927A088F00B3F6D45509418105E4EF439
-803DA2E82481019BA263C499696C3A8247773BF93CE18CB941F57E1512A918D3
-4100E497E31BA32A00B38B9F76B837987C7269CBA3FBA9E8487CCA4E0BF2A154
-494B2802E785E80E426C1E9E20A3BCBE1B88D1DF218F8A612237826FCD724236
-60CFB08F417238AE9DB5142D00852E4806BD491A18FC7056BBFAE5A97433FC88
-36E6B85A46DE24E8416891CF551BF8309FED66F4931B07E90DF9CC062ABC734D
-77D69ED92278A16BE66D1A5A1A7A6310BB852682FABA134AF0D55FFB09721DAD
-6ECC9D6446A54B158F034DD346793F1121B491C3793279520DC18F6EA12F0D30
-9C225BFC2C16B7F7133A282B79C12EC832145F366E800BE79F5E0824AFB0A87D
-626DEEFCFF653356F1DC7A02A2ADCC2860E3CC4125BF24ED9270A0EBD9055740
-B40D69633885753F33A58F679A7BB37A88311B4B4F1675780F87F88094FC26FA
-09BD993760E7C138D219382E7869FD81279DD4C3203990FA0A1E5A76FD2EE408
-81021AD0A9A3BDB29136F417A647A4BF701A5DBFA3618E0C5455A95B0CDF969E
-56B1D4D1EE29CD494FCA5785B10EC35E64D9D7F81E6DB72555AA1782232681E9
-909251570732F104D769D752B09C4ED44D9B00B929CF7C3899A1E4003277000A
-50D136D222A38476B166500304AF25D2A691104FEE150C14D6BA805415502752
-7959ED64C77B1F493FD142F635DFF5F9C6C96FAA68C418E1FE57C59ED52DF91D
-219E20FEDBBF7CFC56ABBE64B41616B74B6A76CD973CD4556F8141E863650CB5
-1FF734CEC3107FC337F9338EB688500177095021341B9D9F89BB7BDF5BD20255
-DAF041D751FAE3C3265F169800CA76182C63468B2767A0D7AD66A3F4CAC6D230
-E4F125E79DAD4FE6BA2DDD4F2246D3E5516DBF4A85CD3C96E17C8CB90DEE6590
-FF446FEEFB01EBEBB06578FD85687C27FB1F7E114C59523A7621CB251E73F6E3
-9C3B145D3022C716C476E24A4FB28E8D04AAF74372763B244EDA4244B632EA49
-F7D3388E1024CFCAAF76FE2E8C024EF779DAE6C93E4D078D8C28925E29F9A454
-75A2B6C84EFC80B82870C863ED7F8FBB606DC050C9B48B09B5743A2A459E4137
-BAA99EFFE878248247B575E0F51EBEDF5E13FF525F627D917E10192FA3EFA98B
-E24F413BB8603D044C5D225E0DA3E60DCD153520F317AA0212DAB75E6CCDD402
-9BD3C4F14443C20DCE7D75C3DAAC6200B07A86DBAD8150429A28EF82C5E1AA37
-DD57E54230D789BF166A074E0745D4A22CC22A2C1B64B2E866B0288ECC3BBA9F
-0865C26D28AC2323BEE23A3F8D1F9D2624D8C5CF775DA3D64052C1A6A50BD579
-1122C5FB8881CFE27430951C7BBC506AAA1E17F9CBBDF791FDA2A324B5F20C67
-1E26175E2DAA58D7B0351250AD53C423B5F6A46D106E6980F7AF95A6819964DC
-3939E2C92E76AFA64FCF2CD8AA811EFC9DC06C4BA38BF10A10513F02A8A8F855
-B3A04F814708F7D60A0525C3BB1B2DF82047AEFFF231D6B18E51DD38618F3102
-23EDF0C61EE36F887D0CF61AC775E044DAD59CDC9C8894EA4D6208A5F63F37DD
-1945592CAE3065D50DC35AC0ABF70F22072D046B624EC124BD023C508EE8B805
-CA44BF658B8CB36E4CCDB2276AC89912D4203425E64294461A0836BAE2E6039E
-5D041CB1CAA1F6D1B2638EE7F296AC96E49BAB1C0160FF773A9DE83D696B0C2E
-DC034B20387C96D8E5D0D75D3E8BFE12FD2DE65572C01070FE07D96B344638C8
-2DEE5D10642FE4329F83542B90F3CCA58EFD89FFCA8D16DAECFF28CAAE5B6CEB
-2B2A3C2AFD87F802AC36C3DF24CF6CAF2E8A822F286DFD647E195D3295466C41
-6AB850823C2891E8C6B94C9378F6EC868EE1BEC466879AF8425652BBA9F8FADB
-782B878D4EE3E9908C8BFBD343E077878499AF806A031B211CF9E43F470A5A8D
-8BF646AC3CD251393E3F94FD17151ACDC810D3B21C257A721159A6463DD0C954
-D7DBA0CCB7102E4DB5BDB81648520C5D600ADDF06EB808CDEC948AAF188CC6A0
-3327074AB44AAA9752283E94DA061191D10968BD8357D35EE2B7CA6BDBBDB595
-4F831469187CE69E061147F7C7FCED28824D4141783DD8F99B73F4A52A4A7BF0
-E5F7FC1F93B379D7416C816598DE7E660FE2A218653B32A4AE0BE9B5E1CBBE0B
-44D40E2CF2BCAC37F7DB2A196BE1B80D22534F8553958874C7BD4E8FE2CBAB87
-00101C71123255385BA182E63913F8AAAE986FB763FDAB631265061A17340890
-789C1E80E82002A6310AB650589809CF3467C6E12E312EB7BE3084750EF5AB0C
-6DE37BE767EA9E5EB4635529BCD8740B0B6E2C842EE6EA02D726CEEA20A23BFD
-E5DC590FA32502ED1F79941A897F59C3F2FF75324595F0C5753C5E3B65FF95C8
-FDCD5B411F86F8840386528CA77518A2765AB3F428937258A0A1210C86FFAC5E
-94D5BCF380417DA59075C4351944DE6934DC45B43C6FADC76D12FCB66B4CE9CB
-4C1E8FB398D66B5528E5B207A7B8AE34EC403F92729B2737EBD585028926E76D
-B3CF37CFCEF267B77CA5AA619BD3DF563C8C6AC730CA6486B135E817809B8D30
-97028BC290464B283C1AD1D41C59F97A69F06D9D72A0A9B95A45E4972AC4B84D
-E97C507869E4030BA5AAF4B710DE81A3502A4D7D736D61C668F63FA6D4669D23
-FE3F0B09A7F4906E6B31FF161ADD8E1E45EB98099B5BE95B5FDFE3F633447974
-CD3A02BE03C555B07CA3BA33F56AD586910707556DD51660D5ED2933858A71F4
-4900E8E51019FDF950E594C3FCC854085B0E165CAFA7E902E1C842E17AB654A1
-CE63493B07E060AD31814318CCC5B3783FEA5BC65DA2BBD27286F743F48D8246
-5E73C07BE09CB22176C40D8F0A55650B2EF6703E5D1325A273417E0CE2E1CF85
-6086CDC94AD6FE36C7A52925C91A3769F6771C6F58367C2B2B2456C5A1CDD38D
-09CFF9E577D6877563AD4E1EE5975E609DBFEF85225FEEABC2B49900F716D121
-D49C56F4EC12E412290BCC89B8862EC78AA095855D4B9DAC33CFFB50E9CFA788
-FF7514936A0A284CFC5E790DCB6BB15A49562CE367D96B03C058D63961FD8BDD
-F4402A58E1171A94B6B94CDC5E60106540E0012542F563CC79DA1055CBE47EDD
-98F049E90177DD9DF0E0D038C610568D13A6F8D59CBFBC5ED9D5733A55F21B74
-F06DC30D353B69FFA47ABAD4C55A874811DE60C6A2B3673C76105E16A466FA19
-20A5780F2E949328E05990573CC3D38CA7A37AD60641DE173893FFFA551AD971
-697DA8ED155818AC16E3DEE6968891225D5E0DD0363A941D20B76CFC6A4531D0
-2110290578D4D1183475AC1644257BFA84AF546324F3AEA5043D7171D4C251CC
-8CFF
+2D6AC3F8AD690AEC0AAC2AAF8CFDEE51FE47B56661DF84FCD8AC27A0C21706A3
+3CCB741E91304FA287688FF87FBAA44DAFABFADB8BE47AA6C623BB1E86BC855F
+B26CF97B7196EC4BFD755518688DB56F77F5EB87AC368FD46E295D7DC1B5E785
+DD301E260CF2F1E9E23072972E05FD4AED7A5AA34432BFB817DA2C19704A0206
+3077ECA9232EBF203016E7D98E3DD0C78BB0E332579EF7430063A099B9BD86E4
+3E55A8FCC6397B191360C8382BFD531BF247BD3686BF00A96B8DCF25BBB009F4
+ADD3E77BFE2AF010F83C1BE339B0FA4581782A246086668B10ABE646B09C1334
+A894212EC934EC80AFEFDFFA7C6EA84F44E072E3801864398E192532476CD8EA
+9492441B0A1FFA3606ED65A10A8E8A87200096F3A8D3218CCE883A453ADA2B58
+1BA1AA2A5E3EF41A7F224F806FA47E36796C659C9984BD45AF96FB8A5464886D
+46FD31A07B390F3CE60CCD246ED0E1CAD0521C7AD4D405A7A5606EC545AA78A6
+2FF931A5EA145350006F96E4854333B4374E602D71EEF218C15C31D866F3417D
+147D88DC59B7485C532521BA04EF26040B140D84679E38DD71576B4D367AA58D
+B4CCC2B9C8CEEFD28947BC07BB494AAF2DDB0136D77350BB00E2912F32E23D0F
+54CD1A8B717A6973F3B87A627A601BDCF84562F771D6627D9987F659E04A205C
+6EDA3339856C673F51402AB278A8099E2C38FFECEC5B7AD60F1A573995AA93B1
+F7FB6FC8CD351F101FD629969DF1D3DFC67517CD5B69EA89612A19A1288840F8
+D2AEC8131971101A4563BA13DF95EF8CFD634EFA417D985972084D45B94B8234
+2437367E0F2F5191C2C721CA9453CDE7114B8A952629FDED8C0D49B505623A8B
+EA6267A8B676C0A2722D9E1C8D4B202B949D86F3DA5861E0AE858C398D651AB3
+500ECBAD16B80FAB6565F19BC83C7CCE995A21DE4BA42D5B346B76F0A64687AD
+75931A022AAA078DC8AAB00146D59C041A70AB4978D6A4D809E94E0F849F8379
+DD126929166FCE6EDB1F47C10DE60A539D53181D88E0280B22F5CE53F7D794AF
+4D60F82F098F49FF48762BBFFB7F47C813999C3C595AFC86CD0B7BE65DAEDB32
+CB25D34DEB46C4AD0D21BFC3A9A11405B0873D4E927B81F4EB1ABD547CBDB6BC
+C28B2A1E34685BAB890DDF3423848ABD848400DDF57E5E5435E5A6F73EA79A24
+8AC886D63920703129B258BA8717973CA2FDE1E6755718E9283491C6611D4217
+131352587901769AA8A21F616EC20C1194DF5BDF59F980BAFA88316E78CFD776
+6C105A0C3CFA40AF83551D9C4F5D237A38CAAC1AFAC9CF03B0A1369DE1ABA1DA
+B1B9DDF82D9FB40BF0DBD74168E1D65B769292B48547DCCDB8023FA10A81431D
+D252B18FFDC276D5CF4618A7BACB70660CF177C6496B0B36E2E8C1494640BC00
+11A25CC5200A0C9076854B095EBE850D0AC6A736F8DE5374A7A8532AC5D3AABE
+8A1587A7BC96C843B1D57C0BA320BD7E3600CC8CCFD4AD6D3EF8D34CEBD5EB55
+B545E390482BE9AA96C298172F0879718031CBB6173885E7B425115A934B23A5
+C5C87D078B81C776A2B72E564662ED3079A19F4C2544CF1E2DBA7EF84E0EADDD
+9B98E93F5B9CC9E1F63BF5D3B4AD23DF0A82CC481E2351274426E3D0986D852E
+106CDD6D5325453720F02A01A21B3CC7EBC159A8AD8558F049061AB37344453A
+5FAE64E67DFA79E3FA729C275FD32BD38E09815B5C85D94909E448627FAA373A
+0C6C1CBB3A8C8263D1B4B3A080D05B61C2C2B9F21090B71663D48140DDE065ED
+14CF9752E806DBE5E1BD69A9DDFB250E9EA0D4849962B18360F6567BA3554817
+4F41D789FFD5700F85043461632C060C3EBDA9445C644E092BF3F012E113A766
+0ADA5F1BDBE806E51B294688FB8397847E27B311C9F0CBC64A8DD820FE887E63
+3117C3E921CAACC57F54F19ED20AD61BADC8C60DE9FEB1C1C3E39FF01BB0A1B8
+C24D14CDB1170D17B82180876C5A920DF6EBD0C31D283438E086ACC4042B1C45
+E915702288FA47C269BC22AD5DDE54AE8D599E6D77A19A362D49B5ABB051053D
+4D7CE175432DF3C803F934690D1EFCBEB637D314982C75FD2BC0EA5CC6A794F7
+FD7F7B158F81D3AC9E3A7F55F6A98FCEF757D5DF114E5C1020862DC5BD8DE854
+57BEE746C45E9108F029E68717FEE815A4385466AC97F5F8F4AA6728D76929BB
+9AD49089C18707BE23C449CA50C11AEBB8DC6F21F9497121887FC0D1F9BAD1D5
+9238A6ABB6DB63EFF800FBBE29A0DC6E1751B578B152BB3845AAC8E6022599BE
+29EF5325632340CF216BBD202B61BBBDC68F91F7E47296F3C257CDDA95955884
+398C55F58EB6C08D6431602DDA5BFEF5CD477D489D6902C2CD37D25492DC1222
+CF22ABDF01EF0EF19A49A4A403866C910B080735E2D8211894D8BE0D86D0AF52
+5F5417FE0D8028852F06C64CC98D3F01B2A54007709EE157F555528726E44781
+696DCBF37BD1E441A54F1C058579557C35AE5A2A8099615409F8B8764DCDB05E
+6A46BF57FAB00A33C014694E80D5AA8A2182E4C648AB7D4F83DC10B83BD9601E
+40AF9021381DB253C2125357F819F9D01A17AE3918E21D859103DC4D6966D167
+7E304DF9694D5107DD6F6CB4416642C4750D5BB85CCDAAB368E324A8CFB09E0A
+5877E1C1F837B105D9B61E1786D26BF02C765D3047D4A8C8A1F12CD5062BFDEF
+8516AEA8078F3B6F09A6FB9C967F832AC5D79354B720F0466A2D8620E56EFAF4
+8F959C4D8E1A2D572E3290ECF7C831C659398661F59B08EF3AA2FACAA655C70F
+91E54D53E67150245CB81A5128A30B4A061FB6575EB0214C8719E08C44EC2EFA
+B3A50CE947C18FFC3F8557910E1FA276088667A86FEEE4EFC2F181C49DEBAA69
+59B6F48917F9F433C7E3FB9ACBF58FC87732424AB7D1124A10707967F923CF8B
+5020E00E532CD077D2CE6DFB2609123D15B8B3B1D6C6E00FA58B83595E35D880
+AED20B11E908D9C61993384A222ED458875F966916B03CF8099477C312ADE6BB
+1373EEC46B823E91DABABEBEC7A2F76FEE618C5821FFB6C5585D73559D8AFBB9
+0FD916018AD8D0E6FAEB79345BD6CF14BA080B690A2EF0B3A073DA81B8CC0C5F
+3275336F56D0563F2A536268E35A849256F617645FEDA785FC96B0276E96F91B
+84793029C6B98AB7605B9AC5F63345A5E91AC07397B40EF856180B334BE47108
+88D856185D0546DBAE75253E778D803D803A7B246F9BD2B6F3A12270071544A6
+6F173B4671B4AD3E20C94688DF7F1CB6EA0EEBD1B06127A7E7DC190E958AF0BB
+DA59E0B940E3A88FEFAC83EF10B4282397791034A69E7C8DC10B9AB5E27317DD
+B5508FD10C9C02FB0A9D083BA060A6E6F33F48168939B27560F0A080FB902EB8
+11E9CD74E7E9448A7BA7484B802C88073CCC280ED4FA164132C4A7E2DF062525
+CF9D9285009EFD6FD1E30D5AF0BAE568E094D4BCA5D86CF88A2979ADEE744585
+BBC8118CFF5D83364B01620C8615C07E61197215F06D2D065938CA7EFC7D3351
+0500A71A05CF47A5D67F24AC1C7BDAA977EB2A1E5370AF0FCF7FCB16F0A7FC14
+BE31DE5BB0252BEB0EF974B1D58BAC12601424057C0CAB73A6A7883A54A72309
+DF9602ECCAFC29C319DE45A6417A8CAF46697D742F2F861122668CA96736658F
+9EED30163DCE9B424FCBAA19DDFF07C324828BF6B5AD0DD41B842F8ED254BF10
+5549BB7474D41BE0FAC170736F879B855C7D2133487F5BCA5940A45A914FD141
+5EEA94FD36161BCA86DE5944A1AF9FCC3AFAD2E52BDEDBDC1913046EEC5F1368
+97CB8C7A1F8C031A151DB23D42279970320F3F4B961D1C7803BD07514BE2C03D
+AB3791A9F82C545A5EA3F7A2568211926DFE2AA0CF0B706A5763F70D7CD1F39B
+38DC8B5AFACBDE0F55E1F21D4D312217C6D31C9A93DF60CAA58887CE62C4AB2E
+66063E2EDC7B4F5EF539C729DB9E2208EE0F5C04FAEA2C30C38FFD84F62ECA53
+4D42952BB3683DEA550954D19A94F651C6D7093F5741902DF790C95507C31948
+EC909649F6809922DEAF2B47A9A376636D62B6049493323F66C0A8CFBEB66AE6
+31C69BD8F7EE51A9C5DE688486A5DF0B2F03ABAE0357170F70ADDAA9A1EB0D67
+12A4BAD07C47A753453575451AA5666B84DCC8B427678C9B8BC130CFE9207981
+26DC39E6BC715E0B3353C34FB111AB26DD3FED9E0E00933B3E2E357D190FF99C
+56EA982EC3BB7ED0BC03F3408276535A338D72EB3019C77E70F4D2F52ECBA7DA
+00FA4A5DAD777214FB3835B5899742B81ACF0A01AD0E47A11D16AC55122546EE
+79C6E93F51101435120A6AEEF8D022997C74FF0A3DFC6E22C9C929ABC2CEAE9E
+8E43B6D0BC0EDFBEECB5831C603FFC9D0BD064AB54C9A449FA98CB1FC2238903
+2C57BACDC05791FE45F069B794AF65B52AB5F8120C4008529FD24717ED17B0FE
+D99FF7C5804D303235B6F996FC2A02DA9C392A066812653B8E541BC38F309F4D
+AB56DCA08695C11849BF155FF173A96290CEA2E74C33C3F1CC77D8D8C6729249
+2C0E9FB82477600B6569A3CFB0AC9285843BC79F226567314F2B0B9DCF049DCD
+72F37AE1337C9E822A1191B3C2DE6B96D69A2BC14660D0FFA7A4D51BDD640E90
+16CE25382C382686FCEFC1DB233A4B0906419E143A8B63975FD8E07D092A699F
+1B16C8576038090C9D5439C263A2B2042EB950DC0EF2C18439E4C0840CB7A29F
+27DBF7EA1C4EDC0EE3506FB3330E8274EE311F0A9207F13B00FECBE42F8DCC46
+63476DC28C275ADDA56A84535087F79B6E15083E8C855ED6181D266D880ED1F8
+E4F33A602EAE4432091423C3640E49DB68E1EB83AEDB7739049BAE3FC53EF314
+93A74C45C2B1ECA469B7B52F400CABFF431B220AD14E1EAE70CE0B7C9C89A236
+90A45D4B3ECAB3E7CEC2B8AB30A0D39A3E10D6A0DF6B7C3F8EF7268019FC952F
+F8D47DBCC809591AAC86D7D7B7A6DB12561FEF0531069CF4FB380530E65082DC
+F1D05A893FCCD8938E5FC23C3654B3A0A352034000310377DAAAA4A15A76BACD
+43C6BBF93E337946542B96AE3D133575C60CD13D202DA617B34C652A23D5E904
+97E300667AAB55FEC698C89647284916916F302146913DA5B003EC153C95B608
+9BB1CEF3D6141280875BF1E144A7D4D0B9C08152ADF2D5A05D101697CA36147A
+297DA42055ACA9652CC9CE0D596A42A73268F062B08E60C80DB50C81EA0180CC
+698A7CD50212524CBC3E5C7103F48D841A50B6506E25E8B34A6096D0359B0870
+B5109F7FB44876D24868B5EC0AF2F4E68FC0444A35AADFFC68183BB6E8F8C7CC
+6FD42F158AFA49EE096CC4432640F86549C565EEFA779E2218EDDB73AFE840E0
+590A8440CEBB2D7BF83256485E617685D05AE401C7105CA5D520B23265D7A109
+A638A5450C19C406AD524CBE2678EC97DC28A9C8307BB7D6F08BF7D7DF07A280
+F8DF84BFF4BEE3035B6A3133292B96918618D8FF3C54BE5215DDF8E5A9D3302F
+2154D48D33E374C0128BAC271F4B5EB30FEC59E702B6D3B078752AFDDE547CFF
+BD8BD019E775DCE680B6641EC6B6C639F9A81E7A34843CB7BCD6E26744A6F2D9
+7BFD4E207205B988E5922B12AA325317455667E5A0136DADDAC92C389D3F7066
+DE370042F545C2BD97CDC5AF80B1263B937AF92FA75109FA64EEB0E9A83918AC
+92E8AD5D75AA769DBB2453B42CD1B98F689BB56E9FCAEE456C8F0549300D22C2
+7106962EECB67FDDC78D109DA76C1980BA2B4B89F2305414A72E78CE66D3F162
+543B266587800FE3616B55B1147525E3DC456BCEC1665E01C027354E138D2880
+F0B643AFEC47FA16D6C6894D45627419E40C40F6B34E663B4A82D4672115137E
+52F31600FD88473B0F56EFB50B3402A1DB9090520DD82AB3A00D8AA481B01CBC
+337194CB49972EB557D80F3A3BE89EBCA984D0BD45972AA47BDB66816F5C9E99
+F60FBFA6C31D00B1C51A293268BE49AC80A4A28F919CB1AAB7FDC28D2A1E805C
+64775C50ABA31A86F812B2C7FBCB1FCBFAFC0F483E4F9174E60716C51CE26F73
+6A36B5566E8D616E6CA9A7BA4060D16D51F7DFFDE45ACA4990FF43CABCCE04E2
+B69C7B11F0F4C0A9A9788539BE8977D81223B98E7AB76EADF95C6E78698385C1
+8D70AF232AAC9BE222D954F5C7FD77E938ECD96572E5B8753F9A5D403008118B
+CC0171A621C9682A25713A31843D74FA7EAD73141F1E4554FFFC71A02EB86FB8
+320942E2BFDE7678AF71FFCFEEE3F9328458DEACE101341625B05196A3643051
+12037C9E88940758C8BB69C4DB90F58F798CC00F2CE50FA30F8ABF8C6A2AEE5E
+DBC15B5C998B2871A2DF437A58D4A00721B023EC53476FD538E99AFD36308EC5
+EAD6570456390AD49A6049794DA7CC4FF90D52166A6209D4110C12A9B740343C
+202E7483F24ABC0D95B1C6044DD9674CC5B6432BA242581DEAD58B7493AC11DC
+AB3015247EC7F3D5FF0D38D4B33E1FE09E5F63704084835BD6CA565E038D2CD1
+00A18BD30801E0CA98D6C2A2767FD2C74D3BB821C16B5E3EA835674AEECEDBA0
+7A34BF5DF232190502712891930C61E3AEDAC418EB9F7992E220F63855D16D06
+0A586D4DDA86EA7634E9ED540882BCBE098AD73752247FC4FC6453406CEE1E19
+0FB84831CCE16EDF748DF0D0B61AC2CC3FA8D4C8103A051B2204E8A5166B2CD9
+2650854A9BC8AF642EC945B7DEF10CC7F9BED36D19D57AE0F39E5B6D55472F4C
+89F21FCD45B6570E02B234FFB4EF4672B334732230B99E8E2A0A4267C059320C
+CEE8C67EC198DB603CD01968E83A7B0134FE4133B4014A398584AB71CCEEB998
+8B60B244A9D7FE34FE77A2143F668D600F923C6B3CBFFD6D24E6A9A5C5869A32
+B3ED6963E84366203EB82AF9D181EEB36676D4CD3A8B694F7585E283767C5F8A
+EE0142AAF74167A0CB151D06F05F78C984B1A6D88053F0FCE5EFF2213A6D3337
+1D20E7FFE0A70040C5B9260DBB781DE09D46220FFBD1372D662A9898569E109D
+07D3560BF1FBE95ED391EB7159A16C8A214380D5C265620C38B6C9F24FFF6C7F
+AF5B82AA8C84E514B86F314D3CEE3F5A357676570A085F42AD1D2F7E1E6B544A
+A96B365B5C47ACA4068F3B69ECB25B8BE74834D7E7BA09AAEAC1797D5DBBB08F
+31431F5E50273C641CDA5EC7C56246B6BF59C2E56EEA5004F7FC36FB1A93D8F6
+30566A260FE38A2EEC21BD5439E15480FFA57A17A72786E98BEEAC8FFB530D17
+568FE3EF5F1962359DC7E59DE5C721FCF7A330495AFD7F38A8CB82B55A826918
+E4AD6A84648EF1456658F5C69FC5BBBF54ED930855FAFAE82CD4DD3232496A43
+A329413120095902FAD5FBB54A5D9398FE0EAC4482E72A5655C966FD27CD7BAB
+A94DF1E54E7E0D1E9861954B617042DE4D34D2798A628D95759437A3A63D3B54
+0407330F3CC93C476941EFEF1590090B60AA39B7759E96D5784D36A93D02B9E1
+25EA97E3DAB0AE147612B1C61BFB5A28DB7DC903CD9D14545A49998F9E7FB80B
+97F2DEF6D2D9D3AC968C71C3E7CC7B776A4D0CB3D8FE9F351DE74D8E28DBA6AD
+C7B7473051D372495D51F32E4C315F7E1FEE69FEB50A2AC41B3D753E788AF83D
+BEC200E32832F9290610042A74E2ADD177DE1F553C22D836B865673FE8FF62F7
+29B760CFA8C58EBD47131AE5F7131A8551BF6BE477EFCDBAB0219F411B54320D
+EA1E74CB6598DFD42AA22C2A34690F90732FA72F3C1CB6AED96A0652BED5D42A
+790A25FE20AE2FC4E8964F0A1ADDD2E8FCF6D009CA95D41B70A3E82536DF3F3D
+8EAEE50310B1FBFEA16472790ADBD69394F6AE200154B65FA4397C88195C5B9B
+2F4C67B813D148987097F447A890A17CEA1694F0BD89B77FD4CB414A0A18083F
+FD48AE1AD4DD1E5EC5AB821061304774A1087E6767CB0738AA8C7207B5CF410E
+1075D74B27F4DB85A182B27A3DF94981BBB315277C70A22260F4A00EDCF7F3FB
+FFD5C6D3B18F29A1DAFFFCB352972C15B13E2AF9EE1C2196A14A4D6F64C76F1B
+340582F1BD063F9D63990FAF20CFA09785353D4A27B9A8725D44ABD8712BE25B
+56C88B435E53BCBA60D38823BF93368F45A4618E234F3C1BF2C1BF13FD2C82CC
+85E59E3FE4DD67CBB4AF25DB3CF82A2D47914EBA390EC87B893E3AF3DFC12DF3
+B36E8FFF3A6DDE708D799C9C9882CF5C568B77CFB92DD134D6EC86A5FD0D5B46
+C15C4A13662FAA49705CE1A0809D5C29791C13F153E622DBE47AD5EBDBA07E78
+19BBA14A8CEC6A1C16DD922476B6A7EACD5E798B3B2457FEA6779140504840DF
+57E22B3F4FF33B78C8CEC5BC11FD7905DF6A7501340CB40E49E86B8468E13857
+B8FA4345E8209B501B30829128526ADF0424D12F8FB7690832F9008472A62055
+0F467D4DFAF718FC2BDA9A39D77E2EF4550A481956E8D126593BC8A7DE888A78
+02709AD3AD0E89CF46C4699B8337E505C23382716E37F3384F768EE37CB11462
+2B492A09FEC41C8DD33728441089A0D523EB1BFB41ED365A5C7ADD082D14045E
+200606FD8B2498D9A81AC8DA319194F4F71E5E5E966DFB60F7114977D0141C4D
+90F0984C5438D6F455D94B966937EE725D480112E62D6F3AFA41186A9C9EB7D7
+2D7CD239133B2D34CFB70DA8FF64C2F84542264E8A1166A47D70774F6BDC422F
+2474C6899E1ED968A41008705393D50DFEBEB92420F9AF90EF638A96192BBF38
+81D1C5DC6E3FA5F2D9B6E871141CE429A37BD00763D1FBAFDDBB50A00AC924A2
+388EF0270B15FA03E769F1AFAF0465ECF6B5537AD75B74A435921D589DCD7310
+595F4A62DF89116AAAF591B34F09E5AC07A983338C72B432ACA1AF0794564DF0
+04D1F0D4E6D8318A07578FC5F962E648948A7272E2E14CEBCBBE138D9B4571A7
+2B38DC96C43DC31CA8D34A5F52A4E877E8792AA97C95FAD01EFC5D85FA13BDE2
+70767FDDF7D513C48C257C141501CC74314300585064F6F5F25503A89F8DB27E
+FD36F76BD2B84E24F0D0915CC297995E640FB029676E9277A497A6BEB80B74E0
+6391BF4C52707461D9EAA8D5ABAD4BA636FFE5EF82C6BC33E7C15A684FBE369B
+28EE6F4D11FBA39EF06FA10CF15E4333E3C9A1BBCA3C3712C2DB8F43B5C36854
+FDEF11F528DA8DDE4A6FEB1305D4BA73BBB629FD53A74AA41369361D518C0BC8
+13C826F2AB3E8335481338DE18EEC9B8DD7E7F01F44B329A2BC1731637A70256
+2A6CF98151E8338D7DEA6FB0EE2168EE9C7A4B07E91467377F23F1246EF71F1D
+9084E6ED573959CB55BE5D1F91FFBA4AA7E9DE42599E97690EA268D3CE467658
+ECF76521D18BFC3AFE305C7AEF0AA44E4300BFB6995EC9785540A90C9EF8AC00
+89F0D74B5FD167AAC40A5352A718733DF674FF9164A930CE03909A93B1479248
+A41DE8297192CE693F89A8BC54741B0EEA6841C16A3388D3564E10E92C1BEC86
+2B3862E97E424356689B9103528A71831018A759CCA7BFFC84B2DB942077E02D
+9BCCADC6FFA13E783B7AD4181DA76CD2C4BD870374CA65D1BEC518C2728833F3
+FF038028DD38D8811EF8EFEC4A5236D42E5B30CEC0F06F79584441C432956F3E
+5CDF15196926D06D3B4729A41CEE504F4599A193AC71194C17DBE38E6684A695
+C6EA3AEADC8ADEA55AA5E42147528E621D78ABBE5C48919BCDC02BC74AE7FF1F
+486B782A288C4F95639C05EE7A42ED92188863BD1475C7C54B8684F691AE0858
+B6B2C063C3A7D3DF6DCF007C2F3836026C31A2ABFFEFC053512F0DF165A11B8B
+EBC10B920152FE283BB8A984F2C63FD9D7596E29093570390F878368BF418B32
+649935B8E9296983A62D2F0C5D4F5F23D1F249A9F2C3FC1143468106FC6A1ED3
+7CC2AC98DD9784FBE00A972F36132FD489730913BBF1BF2B17BFE13B910112FE
+2C735843BFBFF1F9567DF38CAD16882CB769FBB505365BB9BA797CD743C34F26
+5DB16682D15DDB2C16DEC577C464520AF87FD33835579D7C067EE71529DBBBDE
+030BE21CE1E76233C038BBB9296473E5FC64E6C07F0DF7322C88E4014BC1BF29
+6A65E6D5E8EA12BCD9F53C4B3E0F8202E082E4ADC8604D59862EA62AEFE80F44
+E917E635D59A06D6F05BE53CA22058BC8BE3AE39FD965D6C622F0571BDB4E9AC
+C3987A5821D142E62ED17402E332430E92FE10B9DF8E3C0B17E78EF098BF4CC7
+88D7585BA61F5784143323AA813192C5BAB971956B5CDE027CE8BF56C8C8391C
+12719AC323DCCC8425A7A637957DCE2369B73B1089CE53430D341BA0EE8DB907
+C722B00404D43FDF76E93774896F8DA82BBA116051BC4BC2101B5655F76D76C7
+868CB3E452D1A9945CDC9A467C6A1D74966C01B8FA7C8A2E3AB73CC66910A771
+AA23E6F809CDFF8280042A97B0FBF3212CED3416A7E9E1CD33B39A491872CAB5
+1F73D7AC7A7D7ABC70DDA7C51ECBACAE9FD3A5EC9F51F68B149561C41BE5F059
+48FC70F61E1AD84CB2230FAF1E88114973F1A81732C73CD8CA14CCFEEACE7038
+14CE80A9CA48358917D78BCB14E925C2D858232163D0937190C9E138D5CBBC4E
+E6D682B3F596C6CA5E585BE658750587EF9D14116FDB48CB82182AAF32B5B0C9
+0DBF994BC19D887611EFE916FC6D162986CAE900B73C7333290DA365D8E5D7BB
+7BE61119741EBD884D1A5DF8CA8E7EB2F359DE8B3097F61BE2BA74003C1C499C
+B20A617275B4BE6D6FFE2FE00BE02FB72FCA427A366D1CB42719BA55D17DC2FB
+482223E5A69C9D3C5B6F651EB69D00F335A8882E650278A998A2392C0CC0E947
+8EF50B4C80B84047CF9A26BF669254BABC1AE1A6D09675DFA3D5BF9FCC4555CB
+32E446D28F2E5254B160B864F03B70067EB336E185F4E23E0A66DD752872BD3C
+2B1DEB68093E53E9727275091A697231E9D6807405FE5A6A13D881D13C080AED
+B600265E93F5F22DCD02DABE93FE8734C628E91B370812B88F4849CE0DDB7A1E
+0341803B29B510CF216F5DF0C4B5D74C323EBF8788FB492109F8047D224D8E22
+301933535D47D8F7100D27BAC50469D4AD7E34F77685F53ADE69E90877555B1E
+9A3F8FAD10B4215251F335FDE5A4C8F426DD86B3F91BD157AEC3B5C303B802E4
+5869FD1830217FDCF769405E36876E044084C124191EEEC6BE575B818344BADA
+9F51B0214CE7E7DF6891165B427F4DB1744030B6E15AEBE289392677A6C93994
+6F98539465E2B5C7FE0A8211C41DC19D43279E6638BEB06DC30ED8E82551635D
+F80221BBDF299E7B7D6781BF601B6877C7FDB78716BF6B0730F9498F848D3F5C
+0D24F91B767D634C67BC6D979DCD59E7393F284A1BD4E824B9C93BB659E6CB3E
+77F693BB2D1D3219502257D2628C63B79EB4BE2DBF1FB683CCEB7E639A87D599
+D6780961178D9236A086E743EF447A854FBE73C7B983C6BFF0E602AF9366AF00
+6B75763481607E1103693406381601E29CB57A7A66F300820BE79E018970C7E2
+4B7A15DCB7F1B7BF1797F239F3145A37EF67BAE0FC725E95177B0FA091DDAEA7
+AEBE6CEFCB1EC0C244EC7939D6EE1BB525C8902B0923B776350E6AAAF8B181FA
+5BB7809291C9F85FE67A32833EC6E226057D39EF8BB9C71FCF5B081AFFC496A4
+FA719E3B24E9EC9741483447AA8A823048984FFBF209E1609D0E3E2FB13A17A6
+B476E204886DDF9998A6B1BC3144EF6EB322928AB80D36269920465764A08628
+1DA8121E87DAA13CE4FBA818B88D72EEC0DCC5ABE99912905446B18C1703E3FB
+C190D814B34741D3B5A745DD8A445EA8334CC2F26CF2AFF782E924C90D91EAC3
+8EE8FD657C8EA154425FB6260F5B1EC55AC5E7A7F15C56504091C0B8C12F4AEC
+978E6D16ED42ADD83AD5BF66B2643AFB79B59B775BA8D88913CBA64D10185A7E
+A0CF32E350AE655AEA3A76462B7202886DB4F192F2C842852DEC3F3C430EB3E3
+A67983303039E332867D11BFE112CFAF3D4DA98C012DBF69FE4C25A9B8B8FD3A
+6A04F3675E73F202487188A7BAFA7F8DA9E9A2EECA64E7062FC69B95E2A715BA
+66623D40E2CF080DF61ABF9C656D1CE8C44FE31CEE80C0730113582B92D78F01
+B61BC6AB48C856592B57013C3A65CCBB9721F703F1D4560528C20EC19D721545
+BD3CF85A0617D2FAA302C9AF7010D9E16702002042EC5FCEAB97FCA98D6A9198
+8AA663C6DA902AEEF942D8FF037389CA52CDDC66C7044DD1BAAF8706FBD01E04
+2D232FE649E0D0E9F9ADFB8B49C4C0213C5AD1FCCD2F78B758B756ED2EE66D98
+7980D4548C51911E94BFC4F0A1B8C8B3BED0F88B761E745CB4426C0B588CE66B
+4349049897C6BC62F514CBB20B2B0D7F3076B64BF6C142550127374B8B00E0B8
+9DF62ABB9B1F9B6A6F77AC00D2FCF0114AC0C37EA54C1BE43257CD4C298903E5
+8DF8548E83D24843AB59B8D3C26003309DA04432BFB817DA2C197C51D9C9B340
+C74F849171CB3B868D4E0F69B1679FF5998D4A9F91BF3E07FE734C589157C10F
+A05B9902CCE7A17FD9B9FDB25804BB91AC72C746B3F93810CA001E58B07B53E2
+B5A4854624960F5874A2B3217733BAD60DC894ED947727135C6CE916369EB538
+208143B8BE5F0039F4AA35DCFB8FDEBF0D29B27044926B732649355A43CB41F5
+39C53E37B8CB3AD3C8CA248FE48E3FEA3B3A062BAE725C9A90759F26448457B9
+940F7EC7043259B64A8634520560B3F5914E6B2D81EEF2FA5130110CD4E24C2F
+909D8A71E3600C1152FBE85306E0E005D5A665B20AFA7E039C08F52DFED85926
+12E8AE9F17014CED627D19A23308F641A09C9DB5A3CB8C4EA818873D48AC4EE0
+90B0094F29AD39D719099EF49C4DAF61A3EAAB108563529A032CF9145ACD90AC
+6D79E73F6C93A9C6F86E4313732282CF1CD57B6C4A1EC0BE85B8829AE083834C
+049877A4729F0894764E07CBA8B842A83CA8D121065096B98AB299D768EA3FE0
+028089ED4EFEBD415F4F53E80B9C380FB3588176AB7A10452DAE926B00608E6E
+DB7A0EA1DFBA09EFC288E4C1E3702D304E3A49A8366367891600083C3E81CACF
+8B700CE9C04152ED9901BCC35A5F53AAFB97F375502A735EF9A390C0F2CF8946
+8291A94B863D38DEE3B61C998DC2C08DB844FC30F78916FC658A4EB91797E986
+A1D386172188D128F683CB64267A715522091438457CA9AFCFB476F46634D78D
+309AD3280848255EB1465975654ED124F86FBCA22C4CBAE006ECD27072A9E2F1
+2B03B5D312B47D17D0D9A6112BF0697BE5EB3DD040D0BC7D7CAA92F0849A0576
+4A634AF01B3816FB59EB4FD63E28086F4308CC2C2047473CE671FBF817CB6E89
+37BD749C9761921FCF96E10FDBDA6F4ECB0AFBC2B9E3FA77F3D12462EA6D2074
+8549634FCB16F304C1F204689E7C4F1AD1D8A34F20A073A2927974691DC6F248
+B5AFF93BAF96C8F24211502E861D11BC276FB30141D2358C0C3FE709837B2070
+FD7D3BD533EFA423F53E34374ED967BDAB1D9465BC53EDB8EB53764D21A49D65
+6BC45FB6F4C3E663BB93ECA9F3C66534418B4432B0349018EC8C503D7CD38384
+9683AFBC0D6E1FC4C51DF547F927404E475CAE960355B7F63B5C9617BEAABBEF
+061E35DCA59FBF1AA58803170DB43BA1D458F21C7549CF57601D451FACFC93BE
+CF72C626AC0E6EFF7C6C1265DED3ED04308CF0C139630799B7B710D39575AC97
+FF640552D4087E60F5DFED48DD998D29C6532005C8B648E51D4F85A072396E63
+A11CB388893B813213B4FBA4A500D8B8077ACF86845DCCFA3B139F8C86AFE069
+D497DB26E526424DDF6BB981E08D9CC1A5560754B95008CDCC199048EEE8E6C3
+AA3F255C4FE4C392AA947F614D422021A55C4CBF5D9399AFA2E715D31B2A9F95
+0977502A1F511219FAB7DD1D9CB67932C8D0504DB7B2864B2FC1C4CCF03C7FCE
+CD4C0985288172CF5D76EBACF180FDAD74456F832AE0A013EBFED26873DFB861
+A0F2F13D9AF8C90EA667B03956DAF47A7C1CD44DD9517238C1EC060158D55710
+77DF077BDF35E9F96D07FD114FDF30F09FA0480322336275E9B3AF676603DD10
+75D4E9AE727889BD3E313A3F86C6784469D653AFFCE950990DDD65879506E8D9
+A4BBAE3A41D6C269F3A35EFF60E4F0EEA6290C29B81F2BDBB0E33A7B094DAA0C
+EAC603058FA886F40CAEBEF24DA460D2DD891B7C12290235ABD082879EAADB6C
+58291BFF83500EDC255D3FEDDE3E7F1EA5A055EEBECC18679368B17D03053732
+710C58F086B66F254D3CF734A377BF1C8884CC483D42A49E353230DE9B496300
+E388E1C3020C8D70657897350074D51D491C23F69CA20990DB6DB24297CA072B
+1ED9AC18A9D2EBBE141937DA9148B49351B9225AA10B6A8941B5EC833FE9A457
+649EB68FC795C2929ACE8F3A566016EB4518B5BB55223C56908D00190B91C695
+FC183D9862573936A1BAEE758FC074C281C5E73045544E948250976ADCF97B0A
+34CDEB2C05E62B32618236B698CC94AC3A4A317418D71FC85EC79FB2509EB76F
+0E4A9E09EDF79ECD722B0E9033629DD7F976E768EDF05280665EF818709CD03E
+3D9E79AB45D942B9FEF5584B7BB192CF574D80B98A926B4F698A53729A2E9F48
+3192075771433B7C0242127F5359BFE356BFC6FFAE3F78B8847CCDF6FDF6441C
+49580453348C3757813E09D6447ACCA150D05B2517EEB2826767AF869E3EB7BD
+D5CD1BC4DA45209CEE3741077B867A4CC52A1BB8951BB838D25533CFCDB459D2
+80F5A7FEDE77636CB5C512B122351D66281E14E3B80BF84833670981EE2E73BB
+70F5788DC8A943B96ADDB8EB1B2114FEAD89B38A2C744A0D360F0AFD47FC5B23
+C55EE2DEECDEB212084475B5BDA5A6EBAB7EFDFB389FDCC9861FAB518DF6630A
+000522A93907CD055E275EA7284D7166FB93CAD9D90144E7C1BB169635891556
+5CD2BC172EDCAB3B4263CC42BF0F0F3DE6E35BBF0E7FC62FCA92A5E74115C74B
+9557D5319652129289AC3912140A010FF60E4F3891281267FC6D80E528A90D2B
+D843F19E40B054C6886A8801C723C436F833564C1BD4DC92AB40D6337272DF53
+3F40275C0501DEF779F89BBA03CCC31161385D86D27A2532520244087B056868
+2EBE0FA551BA338FCC1E16306C071BF1711D3C675C85E08AF64D3E1A6F633B9F
+44FBDC2E7209B2CCDFC5C7B61D13ED4186F3405999E2A840B22E21F97F410C09
+581A93B11B7C2D887EBBD65A45527D193977CA207CDFA88357F0BBE6DAC094C1
+081FC2E3C0FE8633AA852A913979718608E3AE200B999AB696CF21721E5D9BED
+C8C6C97F485556EF3B80A36F8BBF181B5D04475459C73A951D99890E6B33FE4A
+C93A20B15FF0A4F55A6C5E200BE986C823D331FAC69FA0EEA6888B325D934B6D
+6B55560E4B3D74BE72CAEE1D03A79A64973459D32AFDF167105655C6B17F0BA8
+298D4D1BC7D7918D142EFDC0657D48C426D06553C2232D9A51B635530692B973
+CB475B3DD96750CF7B0B593A50B2A3CD370C9A38C8A229C21BD86A0981E3D11D
+6E29164B01D2776DE681BD49D6EDF45C5D9D4B0D31E19383297331F146ECDC40
+DF77A89E1B3EF3A631595239A93D78F1FE0B0E04C9FE4EEE83E6AF5FA7D5CEDE
+0B9883ACD1F1CC0659770D6B31500D247D417D860927ED7416C414FB7418216D
+57E66624DB53FB344E1AC26100DACFDE01C026B84FA15B82CB77E9A0E37AF526
+A76D130C953928B764606B6C168A7BA484F904D46930A8273A61741F1C0EBB2F
+8FCBB549DE3953876E3C2FB45940F1A98E5195EEA4FAC35EA66BD06F8861FEF5
+D0DA9E93B48DE54CA18F851DB7890DBE364E1D93527E4ADC15716A976274A264
+37F008707D590E6755A56F2DD9BA242B171931AD5BB6F24648A38FF1A3ADCADF
+A156478D8C9DC9A1BFA553D707E94239252DF6E83FC3DB1D144F296FAFF4981B
+C3052DB8D75FD0F74448D936036846AAD5F34B7C385D55F39B8368F184463578
+207CCABA7556D9A43C972BAA26CAA3BF0A82E0877D4D530CB350AFF88D920160
+88D937E0040F69FAECB44060A4E7B151ACD3AD46A659B8AF23EECE07E9029D01
+F77E7BE0A2783281141A8B7A13E013AE5A6BA5D20FC6D6A49473DFBF6E51C952
+D88EBA809ABF4313CA76381CA315858BB7EC4FEEA9C2864EA769F786E15CE30B
+57E8DE5EBD70ABB189D5AB67310C9FFF2BB0D733014148A3084C2E4941AD1360
+0B5E23B6C4462BD69864844955619A25F540
 0000000000000000000000000000000000000000000000000000000000000000
 0000000000000000000000000000000000000000000000000000000000000000
 0000000000000000000000000000000000000000000000000000000000000000
@@ -5227,8 +5220,8 @@ rf /Fl 138[56 1[42 4[56 4[27 1[58 3[54 1[56 97[{}7 90.9091
 rf /Fp 129[48 48 48 48 48 48 48 48 48 48 48 48 48 1[48
 48 48 48 48 48 1[48 48 48 48 48 48 48 48 48 1[48 48 48
 48 48 1[48 3[48 48 48 48 1[48 48 48 1[48 2[48 48 48 48
-48 48 1[48 48 1[48 48 48 48 48 48 7[48 48 48 48 48 48
-1[48 48 48 48 48 48 48 48 48 48 48 33[{}73 90.9091 /CMTT10
+48 48 2[48 1[48 48 48 48 48 48 7[48 48 48 48 48 48 1[48
+48 48 48 48 48 48 48 48 48 48 33[{}72 90.9091 /CMTT10
 rf /Fq 131[91 45 40 48 48 66 48 51 35 36 36 48 51 45
 51 76 25 48 28 25 51 45 28 40 51 40 51 45 25 2[25 45
 25 56 68 68 93 68 68 66 51 67 71 62 71 68 83 57 71 47
@@ -5259,12 +5252,12 @@ b(,)46 b(Case)g(W)-11 b(estern)46 b(Reserv)l(e)g(Univ)l(ersit)l(y)150
 -11 b(oundation)p 150 5141 3600 17 v eop end
 %%Page: 2 2
 TeXDict begin 2 1 bop 150 4413 a Fq(This)35 b(do)s(cumen)m(t)g(describ)
-s(es)g(the)h(GNU)h(History)f(library)f(\(v)m(ersion)i(8.3,)h(10)f
+s(es)g(the)h(GNU)h(History)f(library)f(\(v)m(ersion)i(8.3,)h(15)f
 (Octob)s(er)f(2024\),)j(a)d(pro-)150 4523 y(gramming)23
 b(to)s(ol)g(that)g(pro)m(vides)f(a)h(consisten)m(t)h(user)d(in)m
 (terface)j(for)e(recalling)i(lines)f(of)f(previously)g(t)m(yp)s(ed)150
 4633 y(input.)150 4767 y(Cop)m(yrigh)m(t)602 4764 y(c)577
-4767 y Fn(\015)30 b Fq(1988{2023)35 b(F)-8 b(ree)31 b(Soft)m(w)m(are)h
+4767 y Fn(\015)30 b Fq(1988{2024)35 b(F)-8 b(ree)31 b(Soft)m(w)m(are)h
 (F)-8 b(oundation,)31 b(Inc.)390 4902 y(P)m(ermission)21
 b(is)f(gran)m(ted)h(to)g(cop)m(y)-8 b(,)24 b(distribute)c(and/or)h(mo)s
 (dify)e(this)i(do)s(cumen)m(t)f(under)f(the)390 5011
@@ -5511,115 +5504,121 @@ b(to)g(History)150 1169 y Fq(Man)m(y)31 b(programs)f(read)g(input)g
 b Fl(gnu)g Fq(History)h(library)f(is)g(able)150 1279
 y(to)f(k)m(eep)h(trac)m(k)g(of)f(those)g(lines,)h(asso)s(ciate)g
 (arbitrary)f(data)g(with)g(eac)m(h)h(line,)f(and)g(utilize)h
-(information)150 1388 y(from)g(previous)g(lines)g(in)g(comp)s(osing)h
-(new)f(ones.)275 1527 y(A)24 b(programmer)g(using)g(the)h(History)g
-(library)f(has)h(a)m(v)-5 b(ailable)27 b(functions)d(for)g(remem)m(b)s
-(ering)g(lines)h(on)150 1636 y(a)30 b(history)f(list,)h(asso)s(ciating)
-i(arbitrary)d(data)h(with)f(a)g(line,)i(remo)m(ving)f(lines)f(from)g
-(the)h(list,)g(searc)m(hing)150 1746 y(through)35 b(the)g(list)h(for)f
-(a)h(line)f(con)m(taining)i(an)e(arbitrary)g(text)h(string,)h(and)e
-(referencing)g(an)m(y)h(line)f(in)150 1855 y(the)c(list)g(directly)-8
-b(.)43 b(In)30 b(addition,)h(a)g(history)g Fk(expansion)g
-Fq(function)f(is)h(a)m(v)-5 b(ailable)33 b(whic)m(h)d(pro)m(vides)h
-(for)g(a)150 1965 y(consisten)m(t)h(user)d(in)m(terface)j(across)f
-(di\013eren)m(t)g(programs.)275 2103 y(The)c(user)g(using)g(programs)h
-(written)g(with)g(the)g(History)g(library)g(has)f(the)h(b)s(ene\014t)f
-(of)h(a)h(consisten)m(t)150 2213 y(user)38 b(in)m(terface)j(with)e(a)g
-(set)g(of)h(w)m(ell-kno)m(wn)f(commands)g(for)g(manipulating)g(the)g
-(text)h(of)f(previous)150 2323 y(lines)28 b(and)f(using)g(that)h(text)g
-(in)g(new)f(commands.)39 b(The)27 b(basic)h(history)g(manipulation)f
-(commands)h(are)150 2432 y(similar)j(to)g(the)f(history)h(substitution)
-f(pro)m(vided)g(b)m(y)g Fp(csh)p Fq(.)275 2570 y(The)f(programmer)h
-(can)h(also)g(use)g(the)f(Readline)h(library)-8 b(,)31
-b(whic)m(h)f(includes)g(some)h(history)f(manip-)150 2680
-y(ulation)h(b)m(y)f(default,)h(and)f(has)g(the)h(added)e(adv)-5
-b(an)m(tage)33 b(of)d(command)g(line)h(editing.)275 2818
-y(Before)39 b(declaring)f(an)m(y)h(functions)e(using)h(an)m(y)g
-(functionalit)m(y)i(the)e(History)h(library)e(pro)m(vides)h(in)150
-2928 y(other)29 b(co)s(de,)g(an)g(application)h(writer)f(should)e
+(information)150 1388 y(from)g(previous)g(lines)g(when)g(comp)s(osing)g
+(new)g(ones.)275 1527 y(A)23 b(programmer)f(using)h(the)g(History)h
+(library)e(can)h(use)g(functions)g(to)g(sa)m(v)m(e)i(commands)e(on)g(a)
+g(history)150 1636 y(list,)37 b(asso)s(ciate)h(arbitrary)d(data)h(with)
+f(history)g(list)h(en)m(tries,)i(remo)m(v)m(e)e(en)m(tries)g(from)f
+(the)h(list,)h(searc)m(h)150 1746 y(through)g(the)h(list)g(for)f(a)h
+(line)g(con)m(taining)h(an)e(arbitrary)h(text)g(string,)i(reference)e
+(an)m(y)g(en)m(try)g(in)f(the)150 1855 y(list)e(directly)-8
+b(,)38 b(and)c(read)h(and)f(write)h(the)g(history)g(list)g(from)f(and)h
+(to)g(a)g(\014le.)54 b(In)34 b(addition,)j(a)e(history)150
+1965 y Fk(expansion)25 b Fq(function)g(is)h(a)m(v)-5
+b(ailable)28 b(whic)m(h)d(pro)m(vides)g(for)g(a)h(consisten)m(t)h(user)
+e(in)m(terface)h(across)g(di\013eren)m(t)150 2075 y(programs.)275
+2213 y(Someone)i(using)f(programs)g(written)h(with)g(the)g(History)g
+(library)f(has)h(the)g(b)s(ene\014t)f(of)g(a)i(consisten)m(t)150
+2323 y(user)38 b(in)m(terface)j(with)e(a)g(set)g(of)h(w)m(ell-kno)m(wn)
+f(commands)g(for)g(manipulating)g(the)g(text)h(of)f(previous)150
+2432 y(lines)28 b(and)f(using)g(that)h(text)g(in)g(new)f(commands.)39
+b(The)27 b(basic)h(history)g(manipulation)f(commands)h(are)150
+2542 y(similar)j(to)g(the)f(history)h(substitution)f(pro)m(vided)g(b)m
+(y)g Fp(csh)p Fq(.)275 2680 y(The)f(programmer)h(can)h(also)g(use)g
+(the)f(Readline)h(library)-8 b(,)31 b(whic)m(h)f(includes)g(some)h
+(history)f(manip-)150 2790 y(ulation)h(b)m(y)f(default,)h(and)f(has)g
+(the)h(added)e(adv)-5 b(an)m(tage)33 b(of)d(command)g(line)h(editing.)
+275 2928 y(Before)39 b(declaring)f(an)m(y)h(functions)e(using)h(an)m(y)
+g(functionalit)m(y)i(the)e(History)h(library)e(pro)m(vides)h(in)150
+3037 y(other)29 b(co)s(de,)g(an)g(application)h(writer)f(should)e
 (include)i(the)g(\014le)f Fp(<readline/history.h>)23
-b Fq(in)29 b(an)m(y)g(\014le)150 3037 y(that)c(uses)e(the)h(History)h
-(library's)e(features.)39 b(It)24 b(supplies)f(extern)h(declarations)i
-(for)d(all)i(of)f(the)g(library's)150 3147 y(public)30
-b(functions)g(and)f(v)-5 b(ariables,)32 b(and)d(declares)j(all)f(of)f
-(the)h(public)f(data)h(structures.)150 3393 y Fo(2.2)68
-b(History)46 b(Storage)150 3553 y Fq(The)30 b(history)g(list)h(is)g(an)
-f(arra)m(y)h(of)f(history)h(en)m(tries.)41 b(A)31 b(history)f(en)m(try)
-h(is)f(declared)h(as)f(follo)m(ws:)390 3691 y Fp(typedef)46
-b(void)g(*histdata_t;)390 3910 y(typedef)g(struct)g(_hist_entry)f({)485
-4020 y(char)i(*line;)485 4129 y(char)g(*timestamp;)485
-4239 y(histdata_t)e(data;)390 4349 y(})i(HIST_ENTRY;)275
-4487 y Fq(The)29 b(history)i(list)g(itself)g(migh)m(t)g(therefore)g(b)s
-(e)f(declared)g(as)390 4625 y Fp(HIST_ENTRY)45 b(**the_history_list;)
-275 4763 y Fq(The)29 b(state)j(of)f(the)f(History)h(library)f(is)h
+b Fq(in)29 b(an)m(y)g(\014le)150 3147 y(that)c(uses)f(the)h(History)g
+(library's)f(features.)39 b(It)25 b(supplies)e(declarations)j(for)f
+(all)g(of)g(the)f(library's)h(public)150 3257 y(functions)30
+b(and)g(v)-5 b(ariables,)31 b(and)f(declares)h(all)g(of)g(the)f(public)
+g(data)h(structures.)150 3503 y Fo(2.2)68 b(History)46
+b(Storage)150 3662 y Fq(The)30 b(history)g(list)h(is)g(an)f(arra)m(y)h
+(of)f(history)h(en)m(tries.)41 b(A)31 b(history)f(en)m(try)h(is)f
+(declared)h(as)f(follo)m(ws:)390 3801 y Fp(typedef)46
+b(void)g(*histdata_t;)390 4020 y(typedef)g(struct)g(_hist_entry)f({)485
+4129 y(char)i(*line;)485 4239 y(char)g(*timestamp;)485
+4349 y(histdata_t)e(data;)390 4458 y(})i(HIST_ENTRY;)275
+4596 y Fq(The)29 b(history)i(list)g(itself)g(migh)m(t)g(therefore)g(b)s
+(e)f(declared)g(as)390 4735 y Fp(HIST_ENTRY)45 b(**the_history_list;)
+275 4873 y Fq(The)29 b(state)j(of)f(the)f(History)h(library)f(is)h
 (encapsulated)g(in)m(to)g(a)g(single)g(structure:)390
-4902 y Fp(/*)438 5011 y(*)47 b(A)h(structure)d(used)i(to)g(pass)f
+5011 y Fp(/*)438 5121 y(*)47 b(A)h(structure)d(used)i(to)g(pass)f
 (around)g(the)h(current)f(state)h(of)g(the)g(history.)438
-5121 y(*/)390 5230 y(typedef)f(struct)g(_hist_state)f({)485
-5340 y(HIST_ENTRY)g(**entries;)g(/*)j(Pointer)d(to)j(the)f(entries)e
-(themselves.)g(*/)p eop end
+5230 y(*/)390 5340 y(typedef)f(struct)g(_hist_state)f({)p
+eop end
 %%Page: 5 8
 TeXDict begin 5 7 bop 150 -116 a Fq(Chapter)30 b(2:)41
 b(Programming)30 b(with)g(GNU)h(History)1780 b(5)485
-299 y Fp(int)47 b(offset;)523 b(/*)48 b(The)f(location)e(pointer)h
-(within)g(this)h(array.)f(*/)485 408 y(int)h(length;)523
-b(/*)48 b(Number)e(of)h(elements)e(within)i(this)f(array.)g(*/)485
-518 y(int)h(size;)619 b(/*)48 b(Number)e(of)h(slots)f(allocated)g(to)h
-(this)f(array.)g(*/)485 628 y(int)h(flags;)390 737 y(})g
-(HISTORY_STATE;)275 890 y Fq(If)29 b(the)i(\015ags)g(mem)m(b)s(er)e
-(includes)h Fp(HS_STIFLED)p Fq(,)e(the)j(history)f(has)g(b)s(een)g
-(sti\015ed.)150 1157 y Fo(2.3)68 b(History)46 b(F)-11
-b(unctions)150 1317 y Fq(This)33 b(section)j(describ)s(es)d(the)i
-(calling)g(sequence)g(for)f(the)g(v)-5 b(arious)34 b(functions)g(exp)s
-(orted)g(b)m(y)g(the)g Fl(gnu)150 1426 y Fq(History)d(library)-8
-b(.)150 1644 y Fj(2.3.1)63 b(Initializing)40 b(History)i(and)f(State)f
-(Managemen)m(t)150 1791 y Fq(This)21 b(section)i(describ)s(es)f
-(functions)f(used)g(to)i(initialize)h(and)e(manage)h(the)f(state)h(of)g
-(the)f(History)g(library)150 1900 y(when)29 b(y)m(ou)i(w)m(an)m(t)g(to)
-g(use)f(the)h(history)f(functions)g(in)g(y)m(our)h(program.)3350
-2120 y([F)-8 b(unction])-3599 b Fh(void)54 b(using_history)49
-b Fg(\()p Ff(v)m(oid)p Fg(\))390 2230 y Fq(Begin)41 b(a)f(session)g(in)
-g(whic)m(h)f(the)h(history)g(functions)f(migh)m(t)i(b)s(e)e(used.)69
-b(This)39 b(initializes)j(the)390 2339 y(in)m(teractiv)m(e)33
-b(v)-5 b(ariables.)3350 2560 y([F)d(unction])-3599 b
-Fh(HISTORY_STATE)56 b(*)d(history_get_history_st)q(ate)f
-Fg(\()p Ff(v)m(oid)p Fg(\))390 2669 y Fq(Return)30 b(a)g(structure)g
-(describing)g(the)h(curren)m(t)f(state)i(of)e(the)h(input)e(history)-8
-b(.)3350 2890 y([F)g(unction])-3599 b Fh(void)54 b
-(history_set_history_stat)q(e)e Fg(\()p Ff(HISTOR)-8
-b(Y)p 2262 2890 30 5 v 44 w(ST)g(A)g(TE)32 b(*state)p
-Fg(\))390 2999 y Fq(Set)f(the)f(state)i(of)e(the)h(history)f(list)h
-(according)h(to)f Fk(state)p Fq(.)150 3216 y Fj(2.3.2)63
-b(History)41 b(List)g(Managemen)m(t)150 3363 y Fq(These)32
+299 y Fp(HIST_ENTRY)45 b(**entries;)g(/*)j(Pointer)d(to)j(the)f
+(entries)e(themselves.)g(*/)485 408 y(int)i(offset;)523
+b(/*)48 b(The)f(location)e(pointer)h(within)g(this)h(array.)f(*/)485
+518 y(int)h(length;)523 b(/*)48 b(Number)e(of)h(elements)e(within)i
+(this)f(array.)g(*/)485 628 y(int)h(size;)619 b(/*)48
+b(Number)e(of)h(slots)f(allocated)g(to)h(this)f(array.)g(*/)485
+737 y(int)h(flags;)390 847 y(})g(HISTORY_STATE;)275 978
+y Fq(If)c(the)h(\015ags)h(mem)m(b)s(er)e(includes)h Fp(HS_STIFLED)p
+Fq(,)h(the)f(history)g(has)g(b)s(een)g(sti\015ed)g(\(limited)h(to)g(a)
+150 1087 y(maxim)m(um)30 b(n)m(um)m(b)s(er)f(of)i(en)m(tries\).)150
+1320 y Fo(2.3)68 b(History)46 b(F)-11 b(unctions)150
+1480 y Fq(This)33 b(section)j(describ)s(es)d(the)i(calling)g(sequence)g
+(for)f(the)g(v)-5 b(arious)34 b(functions)g(exp)s(orted)g(b)m(y)g(the)g
+Fl(gnu)150 1589 y Fq(History)d(library)-8 b(.)150 1781
+y Fj(2.3.1)63 b(Initializing)40 b(History)i(and)f(State)f(Managemen)m
+(t)150 1928 y Fq(This)21 b(section)i(describ)s(es)f(functions)f(used)g
+(to)i(initialize)h(and)e(manage)h(the)f(state)h(of)g(the)f(History)g
+(library)150 2037 y(when)29 b(y)m(ou)i(w)m(an)m(t)g(to)g(use)f(the)h
+(history)f(functions)g(in)g(y)m(our)h(program.)3350 2210
+y([F)-8 b(unction])-3599 b Fh(void)54 b(using_history)49
+b Fg(\()p Ff(v)m(oid)p Fg(\))390 2320 y Fq(Begin)40 b(a)g(session)g
+(that)g(will)g(use)f(the)g(history)h(functions.)67 b(This)39
+b(initializes)i(the)f(in)m(teractiv)m(e)390 2430 y(v)-5
+b(ariables.)3350 2603 y([F)d(unction])-3599 b Fh(HISTORY_STATE)56
+b(*)d(history_get_history_st)q(ate)f Fg(\()p Ff(v)m(oid)p
+Fg(\))390 2712 y Fq(Return)30 b(a)g(structure)g(describing)g(the)h
+(curren)m(t)f(state)i(of)e(the)h(input)e(history)-8 b(.)3350
+2885 y([F)g(unction])-3599 b Fh(void)54 b(history_set_history_stat)q(e)
+e Fg(\()p Ff(HISTOR)-8 b(Y)p 2262 2885 30 5 v 44 w(ST)g(A)g(TE)32
+b(*state)p Fg(\))390 2995 y Fq(Set)f(the)f(state)i(of)e(the)h(history)f
+(list)h(according)h(to)f Fk(state)p Fq(.)150 3186 y Fj(2.3.2)63
+b(History)41 b(List)g(Managemen)m(t)150 3333 y Fq(These)32
 b(functions)f(manage)i(individual)f(en)m(tries)g(on)g(the)g(history)g
-(list,)h(or)f(set)h(parameters)f(managing)150 3473 y(the)f(list)g
-(itself.)3350 3693 y([F)-8 b(unction])-3599 b Fh(void)54
+(list,)h(or)f(set)h(parameters)f(managing)150 3443 y(the)f(list)g
+(itself.)3350 3616 y([F)-8 b(unction])-3599 b Fh(void)54
 b(add_history)48 b Fg(\()p Ff(const)34 b(c)m(har)g(*string)p
-Fg(\))390 3803 y Fq(Place)j Fk(string)44 b Fq(at)37 b(the)g(end)e(of)i
-(the)f(history)g(list.)59 b(The)36 b(asso)s(ciated)h(data)g(\014eld)f
-(\(if)g(an)m(y\))h(is)f(set)390 3912 y(to)44 b Fp(NULL)p
+Fg(\))390 3725 y Fq(Add)i Fk(string)44 b Fq(to)38 b(the)f(end)f(of)h
+(the)g(history)f(list,)k(and)c(set)h(the)g(asso)s(ciated)h(data)g
+(\014eld)e(\(if)h(an)m(y\))390 3835 y(to)44 b Fp(NULL)p
 Fq(.)79 b(If)44 b(the)f(maxim)m(um)h(n)m(um)m(b)s(er)e(of)i(history)f
 (en)m(tries)i(has)e(b)s(een)g(set)h(using)f Fp(stifle_)390
-4022 y(history\(\))p Fq(,)28 b(and)h(the)h(new)f(n)m(um)m(b)s(er)g(of)h
-(history)g(en)m(tries)h(w)m(ould)e(exceed)i(that)g(maxim)m(um,)f(the)
-390 4131 y(oldest)h(history)f(en)m(try)h(is)f(remo)m(v)m(ed.)3350
-4352 y([F)-8 b(unction])-3599 b Fh(void)54 b(add_history_time)c
-Fg(\()p Ff(const)34 b(c)m(har)g(*string)p Fg(\))390 4461
+3944 y(history\(\))p Fq(,)26 b(and)i(the)g(new)g(n)m(um)m(b)s(er)e(of)j
+(history)f(en)m(tries)h(w)m(ould)f(exceed)h(that)f(maxim)m(um,)h(this)
+390 4054 y(remo)m(v)m(es)j(the)e(oldest)h(history)g(en)m(try)-8
+b(.)3350 4227 y([F)g(unction])-3599 b Fh(void)54 b(add_history_time)c
+Fg(\()p Ff(const)34 b(c)m(har)g(*string)p Fg(\))390 4337
 y Fq(Change)c(the)h(time)g(stamp)f(asso)s(ciated)i(with)e(the)h(most)f
 (recen)m(t)i(history)e(en)m(try)h(to)g Fk(string)p Fq(.)3350
-4681 y([F)-8 b(unction])-3599 b Fh(HIST_ENTRY)55 b(*)e(remove_history)d
-Fg(\()p Ff(in)m(t)33 b(whic)m(h)p Fg(\))390 4791 y Fq(Remo)m(v)m(e)47
-b(history)f(en)m(try)f(at)i(o\013set)f Fk(whic)m(h)f
-Fq(from)g(the)h(history)-8 b(.)86 b(The)45 b(remo)m(v)m(ed)i(elemen)m
-(t)g(is)390 4901 y(returned)29 b(so)i(y)m(ou)g(can)f(free)h(the)f
-(line,)h(data,)h(and)d(con)m(taining)j(structure.)3350
-5121 y([F)-8 b(unction])-3599 b Fh(histdata_t)55 b(free_history_entry)c
-Fg(\()p Ff(HIST)p 1992 5121 V 44 w(ENTR)-8 b(Y)33 b(*histen)m(t)p
-Fg(\))390 5230 y Fq(F)-8 b(ree)29 b(the)f(history)g(en)m(try)g
-Fk(histen)m(t)j Fq(and)c(an)m(y)i(history)e(library)h(priv)-5
-b(ate)28 b(data)h(asso)s(ciated)g(with)f(it.)390 5340
-y(Returns)h(the)i(application-sp)s(eci\014c)h(data)f(so)g(the)f(caller)
-i(can)e(disp)s(ose)g(of)h(it.)p eop end
+4510 y([F)-8 b(unction])-3599 b Fh(HIST_ENTRY)55 b(*)e(remove_history)d
+Fg(\()p Ff(in)m(t)33 b(whic)m(h)p Fg(\))390 4619 y Fq(Remo)m(v)m(e)45
+b(the)e(history)h(en)m(try)f(at)h(o\013set)g Fk(whic)m(h)f
+Fq(from)g(the)g(history)g(list.)80 b(This)43 b(returns)f(the)390
+4729 y(remo)m(v)m(ed)34 b(elemen)m(t)h(so)f(y)m(ou)f(can)h(free)f(the)h
+(line,)g(data,)h(and)e(con)m(taining)i(structure.)48
+b(Since)34 b(the)390 4838 y(data)29 b(is)f(priv)-5 b(ate)29
+b(to)g(y)m(our)f(application,)i(the)e(History)h(library)f(do)s(esn't)g
+(kno)m(w)g(ho)m(w)g(to)h(free)g(it,)g(if)390 4948 y(necessary)-8
+b(.)3350 5121 y([F)g(unction])-3599 b Fh(histdata_t)55
+b(free_history_entry)c Fg(\()p Ff(HIST)p 1992 5121 V
+44 w(ENTR)-8 b(Y)33 b(*histen)m(t)p Fg(\))390 5230 y
+Fq(F)-8 b(ree)29 b(the)f(history)g(en)m(try)g Fk(histen)m(t)j
+Fq(and)c(an)m(y)i(history)e(library)h(priv)-5 b(ate)28
+b(data)h(asso)s(ciated)g(with)f(it.)390 5340 y(Returns)h(the)i
+(application-sp)s(eci\014c)h(data)f(so)g(the)f(caller)i(can)e(disp)s
+(ose)g(of)h(it.)p eop end
 %%Page: 6 9
 TeXDict begin 6 8 bop 150 -116 a Fq(Chapter)30 b(2:)41
 b(Programming)30 b(with)g(GNU)h(History)1780 b(6)3350
@@ -5631,67 +5630,65 @@ w(t)f(data)p Fg(\))390 518 y Fq(Mak)m(e)c(the)f(history)f(en)m(try)h
 b Fq(and)27 b Fk(data)p Fq(.)41 b(This)27 b(returns)f(the)i(old)g(en)m
 (try)390 628 y(so)37 b(the)h(caller)g(can)f(disp)s(ose)g(of)g(an)m(y)g
 (application-sp)s(eci\014c)i(data.)61 b(In)37 b(the)g(case)h(of)f(an)g
-(in)m(v)-5 b(alid)390 737 y Fk(whic)m(h)p Fq(,)30 b(a)h
-Fp(NULL)e Fq(p)s(oin)m(ter)i(is)f(returned.)3350 941
-y([F)-8 b(unction])-3599 b Fh(void)54 b(clear_history)49
-b Fg(\()p Ff(v)m(oid)p Fg(\))390 1051 y Fq(Clear)31 b(the)f(history)h
-(list)g(b)m(y)f(deleting)h(all)h(the)e(en)m(tries.)3350
-1254 y([F)-8 b(unction])-3599 b Fh(void)54 b(stifle_history)49
-b Fg(\()p Ff(in)m(t)34 b(max)p Fg(\))390 1364 y Fq(Sti\015e)j(the)f
-(history)h(list,)i(remem)m(b)s(ering)d(only)h(the)f(last)i
-Fk(max)43 b Fq(en)m(tries.)60 b(The)36 b(history)g(list)i(will)390
-1473 y(con)m(tain)32 b(only)e Fk(max)37 b Fq(en)m(tries)31
-b(at)g(a)g(time.)3350 1677 y([F)-8 b(unction])-3599 b
-Fh(int)53 b(unstifle_history)e Fg(\()p Ff(v)m(oid)p Fg(\))390
-1787 y Fq(Stop)27 b(sti\015ing)h(the)f(history)-8 b(.)40
-b(This)27 b(returns)f(the)h(previously-set)h(maxim)m(um)f(n)m(um)m(b)s
-(er)f(of)i(history)390 1896 y(en)m(tries)g(\(as)f(set)g(b)m(y)g
-Fp(stifle_history\(\))p Fq(\).)35 b(The)27 b(v)-5 b(alue)27
-b(is)g(p)s(ositiv)m(e)g(if)g(the)g(history)g(w)m(as)g(sti\015ed,)390
-2006 y(negativ)m(e)33 b(if)d(it)h(w)m(asn't.)3350 2210
-y([F)-8 b(unction])-3599 b Fh(int)53 b(history_is_stifled)e
-Fg(\()p Ff(v)m(oid)p Fg(\))390 2319 y Fq(Returns)29 b(non-zero)i(if)g
+(in)m(v)-5 b(alid)390 737 y Fk(whic)m(h)p Fq(,)30 b(this)h(returns)e
+Fp(NULL)p Fq(.)3350 951 y([F)-8 b(unction])-3599 b Fh(void)54
+b(clear_history)49 b Fg(\()p Ff(v)m(oid)p Fg(\))390 1061
+y Fq(Clear)31 b(the)f(history)h(list)g(b)m(y)f(deleting)h(all)h(the)e
+(en)m(tries.)3350 1275 y([F)-8 b(unction])-3599 b Fh(void)54
+b(stifle_history)49 b Fg(\()p Ff(in)m(t)34 b(max)p Fg(\))390
+1385 y Fq(Sti\015e)j(the)f(history)h(list,)i(remem)m(b)s(ering)d(only)h
+(the)f(last)i Fk(max)43 b Fq(en)m(tries.)60 b(The)36
+b(history)g(list)i(will)390 1494 y(con)m(tain)32 b(only)e
+Fk(max)37 b Fq(en)m(tries)31 b(at)g(a)g(time.)3350 1709
+y([F)-8 b(unction])-3599 b Fh(int)53 b(unstifle_history)e
+Fg(\()p Ff(v)m(oid)p Fg(\))390 1818 y Fq(Stop)27 b(sti\015ing)h(the)f
+(history)-8 b(.)40 b(This)27 b(returns)f(the)h(previously-set)h(maxim)m
+(um)f(n)m(um)m(b)s(er)f(of)i(history)390 1928 y(en)m(tries)g(\(as)f
+(set)g(b)m(y)g Fp(stifle_history\(\))p Fq(\).)35 b(The)27
+b(v)-5 b(alue)27 b(is)g(p)s(ositiv)m(e)g(if)g(the)g(history)g(w)m(as)g
+(sti\015ed,)390 2037 y(negativ)m(e)33 b(if)d(it)h(w)m(asn't.)3350
+2251 y([F)-8 b(unction])-3599 b Fh(int)53 b(history_is_stifled)e
+Fg(\()p Ff(v)m(oid)p Fg(\))390 2361 y Fq(Returns)29 b(non-zero)i(if)g
 (the)f(history)h(is)f(sti\015ed,)g(zero)i(if)e(it)h(is)f(not.)150
-2528 y Fj(2.3.3)63 b(Information)42 b(Ab)s(out)f(the)g(History)g(List)
-150 2675 y Fq(These)30 b(functions)g(return)f(information)i(ab)s(out)f
+2575 y Fj(2.3.3)63 b(Information)42 b(Ab)s(out)f(the)g(History)g(List)
+150 2722 y Fq(These)30 b(functions)g(return)f(information)i(ab)s(out)f
 (the)h(en)m(tire)g(history)f(list)h(or)g(individual)e(list)i(en)m
-(tries.)3350 2879 y([F)-8 b(unction])-3599 b Fh(HIST_ENTRY)55
+(tries.)3350 2936 y([F)-8 b(unction])-3599 b Fh(HIST_ENTRY)55
 b(**)e(history_list)c Fg(\()p Ff(v)m(oid)p Fg(\))390
-2989 y Fq(Return)30 b(a)h Fp(NULL)e Fq(terminated)i(arra)m(y)g(of)f
+3046 y Fq(Return)30 b(a)h Fp(NULL)e Fq(terminated)i(arra)m(y)g(of)f
 Fp(HIST_ENTRY)e(*)i Fq(whic)m(h)g(is)h(the)g(curren)m(t)f(input)f
-(history)-8 b(.)390 3098 y(Elemen)m(t)31 b(0)g(of)g(this)f(list)h(is)f
-(the)h(b)s(eginning)f(of)g(time.)42 b(If)29 b(there)i(is)f(no)h
-(history)-8 b(,)31 b(return)e Fp(NULL)p Fq(.)3350 3302
-y([F)-8 b(unction])-3599 b Fh(int)53 b(where_history)d
-Fg(\()p Ff(v)m(oid)p Fg(\))390 3411 y Fq(Returns)29 b(the)i(o\013set)g
-(of)g(the)g(curren)m(t)f(history)g(elemen)m(t.)3350 3615
-y([F)-8 b(unction])-3599 b Fh(HIST_ENTRY)55 b(*)e(current_history)d
-Fg(\()p Ff(v)m(oid)p Fg(\))390 3725 y Fq(Return)24 b(the)h(history)g
-(en)m(try)g(at)h(the)f(curren)m(t)f(p)s(osition,)j(as)e(determined)f(b)
-m(y)h Fp(where_history\(\))p Fq(.)390 3834 y(If)30 b(there)g(is)h(no)f
-(en)m(try)h(there,)g(return)e(a)i Fp(NULL)e Fq(p)s(oin)m(ter.)3350
-4038 y([F)-8 b(unction])-3599 b Fh(HIST_ENTRY)55 b(*)e(history_get)c
-Fg(\()p Ff(in)m(t)33 b(o\013set)p Fg(\))390 4148 y Fq(Return)e(the)g
+(history)-8 b(.)390 3156 y(Elemen)m(t)31 b(0)g(of)g(this)f(list)h(is)f
+(the)h(b)s(eginning)f(of)g(time.)42 b(Return)29 b Fp(NULL)g
+Fq(if)i(there)f(is)h(no)f(history)-8 b(.)3350 3370 y([F)g(unction])
+-3599 b Fh(int)53 b(where_history)d Fg(\()p Ff(v)m(oid)p
+Fg(\))390 3479 y Fq(Return)30 b(the)g(o\013set)i(of)e(the)h(curren)m(t)
+f(history)g(en)m(try)-8 b(.)3350 3693 y([F)g(unction])-3599
+b Fh(HIST_ENTRY)55 b(*)e(current_history)d Fg(\()p Ff(v)m(oid)p
+Fg(\))390 3803 y Fq(Return)24 b(the)h(history)g(en)m(try)g(at)h(the)f
+(curren)m(t)f(p)s(osition,)j(as)e(determined)f(b)m(y)h
+Fp(where_history\(\))p Fq(.)390 3913 y(If)30 b(there)g(is)h(no)f(en)m
+(try)h(there,)g(return)e Fp(NULL)p Fq(.)3350 4127 y([F)-8
+b(unction])-3599 b Fh(HIST_ENTRY)55 b(*)e(history_get)c
+Fg(\()p Ff(in)m(t)33 b(o\013set)p Fg(\))390 4236 y Fq(Return)e(the)g
 (history)h(en)m(try)g(at)g(p)s(osition)g Fk(o\013set)p
 Fq(.)45 b(The)31 b(range)h(of)g(v)-5 b(alid)31 b(v)-5
-b(alues)32 b(of)g Fk(o\013set)j Fq(starts)390 4257 y(at)d
+b(alues)32 b(of)g Fk(o\013set)j Fq(starts)390 4346 y(at)d
 Fp(history_base)c Fq(and)i(ends)h(at)g Fk(history)p 1885
-4257 28 4 v 40 w(length)h Fq(-)f(1)h(\(see)g(Section)g(2.4)g([History)g
-(V)-8 b(ariables],)390 4367 y(page)27 b(9\).)40 b(If)26
-b(there)g(is)g(no)g(en)m(try)h(there,)g(or)f(if)g Fk(o\013set)j
-Fq(is)e(outside)f(the)g(v)-5 b(alid)27 b(range,)g(return)f(a)g
-Fp(NULL)390 4476 y Fq(p)s(oin)m(ter.)3350 4680 y([F)-8
-b(unction])-3599 b Fh(time_t)54 b(history_get_time)c
-Fg(\()p Ff(HIST)p 1678 4680 30 5 v 45 w(ENTR)-8 b(Y)32
-b(*en)m(try)p Fg(\))390 4790 y Fq(Return)g(the)i(time)g(stamp)f(asso)s
-(ciated)h(with)f(the)g(history)g(en)m(try)h Fk(en)m(try)p
-Fq(.)49 b(If)33 b(the)g(timestamp)h(is)390 4899 y(missing)c(or)h(in)m
-(v)-5 b(alid,)31 b(return)e(0.)3350 5103 y([F)-8 b(unction])-3599
-b Fh(int)53 b(history_total_bytes)e Fg(\()p Ff(v)m(oid)p
-Fg(\))390 5213 y Fq(Return)27 b(the)h(n)m(um)m(b)s(er)e(of)i(b)m(ytes)g
-(that)g(the)g(primary)e(history)i(en)m(tries)g(are)g(using.)39
-b(This)27 b(function)390 5322 y(returns)i(the)i(sum)e(of)i(the)f
-(lengths)h(of)f(all)i(the)e(lines)h(in)f(the)g(history)-8
+4346 28 4 v 40 w(length)h Fq(-)f(1)h(\(see)g(Section)g(2.4)g([History)g
+(V)-8 b(ariables],)390 4456 y(page)30 b(9\).)41 b(If)28
+b(there)i(is)f(no)g(en)m(try)g(there,)h(or)f(if)g Fk(o\013set)j
+Fq(is)d(outside)g(the)h(v)-5 b(alid)29 b(range,)h(return)e
+Fp(NULL)p Fq(.)3350 4670 y([F)-8 b(unction])-3599 b Fh(time_t)54
+b(history_get_time)c Fg(\()p Ff(HIST)p 1678 4670 30 5
+v 45 w(ENTR)-8 b(Y)32 b(*en)m(try)p Fg(\))390 4779 y
+Fq(Return)g(the)i(time)g(stamp)f(asso)s(ciated)h(with)f(the)g(history)g
+(en)m(try)h Fk(en)m(try)p Fq(.)49 b(If)33 b(the)g(timestamp)h(is)390
+4889 y(missing)c(or)h(in)m(v)-5 b(alid,)31 b(return)e(0.)3350
+5103 y([F)-8 b(unction])-3599 b Fh(int)53 b(history_total_bytes)e
+Fg(\()p Ff(v)m(oid)p Fg(\))390 5213 y Fq(Return)27 b(the)h(n)m(um)m(b)s
+(er)e(of)i(b)m(ytes)g(that)g(the)g(primary)e(history)i(en)m(tries)g
+(are)g(using.)39 b(This)27 b(function)390 5322 y(returns)i(the)i(sum)e
+(of)i(the)f(lengths)h(of)f(all)i(the)e(lines)h(in)f(the)g(history)-8
 b(.)p eop end
 %%Page: 7 10
 TeXDict begin 7 9 bop 150 -116 a Fq(Chapter)30 b(2:)41
@@ -5699,84 +5696,88 @@ b(Programming)30 b(with)g(GNU)h(History)1780 b(7)150
 299 y Fj(2.3.4)63 b(Mo)m(ving)41 b(Around)h(the)f(History)g(List)150
 446 y Fq(These)30 b(functions)g(allo)m(w)i(the)e(curren)m(t)h(index)f
 (in)m(to)h(the)f(history)h(list)g(to)g(b)s(e)f(set)h(or)f(c)m(hanged.)
-3350 624 y([F)-8 b(unction])-3599 b Fh(int)53 b(history_set_pos)d
-Fg(\()p Ff(in)m(t)34 b(p)s(os)p Fg(\))390 734 y Fq(Set)j(the)g(curren)m
+3350 611 y([F)-8 b(unction])-3599 b Fh(int)53 b(history_set_pos)d
+Fg(\()p Ff(in)m(t)34 b(p)s(os)p Fg(\))390 721 y Fq(Set)j(the)g(curren)m
 (t)f(history)g(o\013set)i(to)f Fk(p)s(os)p Fq(,)h(an)f(absolute)g
 (index)f(in)m(to)i(the)e(list.)60 b(Returns)36 b(1)h(on)390
-844 y(success,)31 b(0)g(if)f Fk(p)s(os)j Fq(is)e(less)f(than)h(zero)g
+830 y(success,)31 b(0)g(if)f Fk(p)s(os)j Fq(is)e(less)f(than)h(zero)g
 (or)f(greater)i(than)e(the)g(n)m(um)m(b)s(er)f(of)i(history)f(en)m
-(tries.)3350 1022 y([F)-8 b(unction])-3599 b Fh(HIST_ENTRY)55
+(tries.)3350 996 y([F)-8 b(unction])-3599 b Fh(HIST_ENTRY)55
 b(*)e(previous_history)d Fg(\()p Ff(v)m(oid)p Fg(\))390
-1132 y Fq(Bac)m(k)30 b(up)e(the)h(curren)m(t)g(history)f(o\013set)i(to)
+1106 y Fq(Bac)m(k)30 b(up)e(the)h(curren)m(t)g(history)f(o\013set)i(to)
 g(the)f(previous)f(history)h(en)m(try)-8 b(,)30 b(and)e(return)g(a)h(p)
-s(oin)m(ter)390 1241 y(to)i(that)g(en)m(try)-8 b(.)41
+s(oin)m(ter)390 1215 y(to)i(that)g(en)m(try)-8 b(.)41
 b(If)30 b(there)h(is)f(no)h(previous)f(en)m(try)-8 b(,)31
-b(return)e(a)i Fp(NULL)e Fq(p)s(oin)m(ter.)3350 1420
-y([F)-8 b(unction])-3599 b Fh(HIST_ENTRY)55 b(*)e(next_history)c
-Fg(\()p Ff(v)m(oid)p Fg(\))390 1530 y Fq(If)20 b(the)h(curren)m(t)f
-(history)h(o\013set)g(refers)g(to)g(a)g(v)-5 b(alid)21
-b(history)f(en)m(try)-8 b(,)24 b(incremen)m(t)d(the)g(curren)m(t)f
-(history)390 1639 y(o\013set.)41 b(If)27 b(the)g(p)s(ossibly-incremen)m
-(ted)g(history)h(o\013set)g(refers)f(to)h(a)f(v)-5 b(alid)28
-b(history)f(en)m(try)-8 b(,)29 b(return)390 1749 y(a)i(p)s(oin)m(ter)f
-(to)h(that)g(en)m(try;)g(otherwise,)g(return)e(a)i Fp(BNULL)e
-Fq(p)s(oin)m(ter.)150 1944 y Fj(2.3.5)63 b(Searc)m(hing)40
-b(the)h(History)h(List)150 2091 y Fq(These)36 b(functions)g(allo)m(w)i
-(searc)m(hing)f(of)f(the)h(history)f(list)h(for)f(en)m(tries)h(con)m
-(taining)h(a)f(sp)s(eci\014c)f(string.)150 2201 y(Searc)m(hing)28
-b(ma)m(y)g(b)s(e)f(p)s(erformed)f(b)s(oth)h(forw)m(ard)f(and)h(bac)m
-(kw)m(ard)h(from)f(the)h(curren)m(t)f(history)h(p)s(osition.)150
-2310 y(The)j(searc)m(h)h(ma)m(y)g(b)s(e)e Fk(anc)m(hored)p
-Fq(,)i(meaning)g(that)g(the)f(string)h(m)m(ust)f(matc)m(h)h(at)g(the)g
-(b)s(eginning)e(of)i(the)150 2420 y(history)e(en)m(try)-8
-b(.)3350 2599 y([F)g(unction])-3599 b Fh(int)53 b(history_search)d
-Fg(\()p Ff(const)34 b(c)m(har)g(*string,)e(in)m(t)i(direction)p
-Fg(\))390 2708 y Fq(Searc)m(h)29 b(the)g(history)g(for)g
-Fk(string)p Fq(,)g(starting)h(at)f(the)g(curren)m(t)g(history)g
-(o\013set.)41 b(If)28 b Fk(direction)i Fq(is)f(less)390
-2818 y(than)40 b(0,)j(then)c(the)h(searc)m(h)h(is)f(through)f(previous)
-h(en)m(tries,)j(otherwise)d(through)g(subsequen)m(t)390
-2927 y(en)m(tries.)i(If)30 b Fk(string)38 b Fq(is)30
+b(return)e Fp(NULL)p Fq(.)3350 1381 y([F)-8 b(unction])-3599
+b Fh(HIST_ENTRY)55 b(*)e(next_history)c Fg(\()p Ff(v)m(oid)p
+Fg(\))390 1490 y Fq(If)20 b(the)h(curren)m(t)f(history)h(o\013set)g
+(refers)g(to)g(a)g(v)-5 b(alid)21 b(history)f(en)m(try)-8
+b(,)24 b(incremen)m(t)d(the)g(curren)m(t)f(history)390
+1600 y(o\013set.)41 b(If)27 b(the)g(p)s(ossibly-incremen)m(ted)g
+(history)h(o\013set)g(refers)f(to)h(a)f(v)-5 b(alid)28
+b(history)f(en)m(try)-8 b(,)29 b(return)390 1709 y(a)i(p)s(oin)m(ter)f
+(to)h(that)g(en)m(try;)g(otherwise,)g(return)e Fp(NULL)p
+Fq(.)150 1896 y Fj(2.3.5)63 b(Searc)m(hing)40 b(the)h(History)h(List)
+150 2043 y Fq(These)23 b(functions)h(searc)m(h)g(the)g(history)g(list)g
+(for)f(en)m(tries)i(con)m(taining)g(a)f(sp)s(eci\014c)g(string.)38
+b(Searc)m(hing)24 b(ma)m(y)150 2153 y(b)s(e)37 b(p)s(erformed)f(b)s
+(oth)h(forw)m(ard)g(and)g(bac)m(kw)m(ard)h(from)f(the)h(curren)m(t)f
+(history)h(p)s(osition.)62 b(The)37 b(searc)m(h)150 2262
+y(ma)m(y)28 b(b)s(e)f Fk(anc)m(hored)p Fq(,)h(meaning)g(that)g(the)g
+(string)f(m)m(ust)h(matc)m(h)g(at)g(the)g(b)s(eginning)f(of)g(a)h
+(history)g(en)m(try)-8 b(.)3350 2428 y([F)g(unction])-3599
+b Fh(int)53 b(history_search)d Fg(\()p Ff(const)34 b(c)m(har)g
+(*string,)e(in)m(t)i(direction)p Fg(\))390 2537 y Fq(Searc)m(h)29
+b(the)g(history)g(for)g Fk(string)p Fq(,)g(starting)h(at)f(the)g
+(curren)m(t)g(history)g(o\013set.)41 b(If)28 b Fk(direction)i
+Fq(is)f(less)390 2647 y(than)40 b(0,)j(then)c(the)h(searc)m(h)h(is)f
+(through)f(previous)h(en)m(tries,)j(otherwise)d(through)g(subsequen)m
+(t)390 2756 y(en)m(tries.)i(If)30 b Fk(string)38 b Fq(is)30
 b(found,)g(then)g(the)g(curren)m(t)h(history)f(index)g(is)g(set)h(to)h
-(that)f(history)f(en)m(try)-8 b(,)390 3037 y(and)33 b(the)g(v)-5
-b(alue)34 b(returned)e(is)i(the)g(o\013set)g(in)f(the)h(line)f(of)h
-(the)g(en)m(try)f(where)g Fk(string)41 b Fq(w)m(as)34
-b(found.)390 3147 y(Otherwise,)c(nothing)h(is)f(c)m(hanged,)h(and)f(a)h
-(-1)g(is)f(returned.)3350 3325 y([F)-8 b(unction])-3599
+(that)f(history)f(en)m(try)-8 b(,)390 2866 y(and)22 b
+Fp(history_search)c Fq(returns)j(the)i(o\013set)g(in)f(the)h(line)g(of)
+f(the)h(en)m(try)f(where)g Fk(string)30 b Fq(w)m(as)23
+b(found.)390 2976 y(Otherwise,)30 b(nothing)h(is)f(c)m(hanged,)h(and)f
+(this)g(returns)f(-1.)3350 3141 y([F)-8 b(unction])-3599
 b Fh(int)53 b(history_search_prefix)f Fg(\()p Ff(const)34
 b(c)m(har)g(*string,)f(in)m(t)g(direction)p Fg(\))390
-3435 y Fq(Searc)m(h)41 b(the)g(history)f(for)g Fk(string)p
+3251 y Fq(Searc)m(h)41 b(the)g(history)f(for)g Fk(string)p
 Fq(,)k(starting)d(at)g(the)g(curren)m(t)f(history)h(o\013set.)72
-b(The)40 b(searc)m(h)h(is)390 3544 y(anc)m(hored:)f(matc)m(hing)31
-b(lines)f(m)m(ust)f(b)s(egin)g(with)g Fk(string)p Fq(.)40
-b(If)29 b Fk(direction)h Fq(is)g(less)f(than)g(0,)i(then)e(the)390
-3654 y(searc)m(h)j(is)f(through)g(previous)g(en)m(tries,)h(otherwise)g
-(through)e(subsequen)m(t)h(en)m(tries.)44 b(If)31 b Fk(string)39
-b Fq(is)390 3764 y(found,)33 b(then)f(the)h(curren)m(t)g(history)g
-(index)g(is)g(set)g(to)h(that)g(en)m(try)-8 b(,)34 b(and)f(the)g
-(return)f(v)-5 b(alue)33 b(is)g(0.)390 3873 y(Otherwise,)d(nothing)h
-(is)f(c)m(hanged,)h(and)f(a)h(-1)g(is)f(returned.)3350
-4052 y([F)-8 b(unction])-3599 b Fh(int)53 b(history_search_pos)e
-Fg(\()p Ff(const)34 b(c)m(har)g(*string,)f(in)m(t)g(direction,)g(in)m
-(t)g(p)s(os)p Fg(\))390 4161 y Fq(Searc)m(h)h(for)g Fk(string)42
-b Fq(in)34 b(the)h(history)f(list,)i(starting)f(at)g
-Fk(p)s(os)p Fq(,)g(an)f(absolute)h(index)e(in)m(to)j(the)e(list.)390
-4271 y(If)i Fk(direction)g Fq(is)g(negativ)m(e,)k(the)c(searc)m(h)h
+b(The)40 b(searc)m(h)h(is)390 3360 y(anc)m(hored:)49
+b(matc)m(hing)36 b(history)e(en)m(tries)i(m)m(ust)e(b)s(egin)g(with)g
+Fk(string)p Fq(.)54 b(If)34 b Fk(direction)h Fq(is)f(less)h(than)390
+3470 y(0,)d(then)e(the)h(searc)m(h)h(is)f(through)f(previous)g(en)m
+(tries,)i(otherwise)g(through)e(subsequen)m(t)g(en)m(tries.)390
+3579 y(If)h Fk(string)40 b Fq(is)31 b(found,)g(then)h(the)g(curren)m(t)
+f(history)h(index)f(is)h(set)g(to)h(that)f(en)m(try)-8
+b(,)33 b(and)e(the)h(return)390 3689 y(v)-5 b(alue)31
+b(is)f(0.)41 b(Otherwise,)31 b(nothing)f(is)g(c)m(hanged,)i(and)d(this)
+i(returns)e(-1.)3350 3855 y([F)-8 b(unction])-3599 b
+Fh(int)53 b(history_search_pos)e Fg(\()p Ff(const)34
+b(c)m(har)g(*string,)f(in)m(t)g(direction,)g(in)m(t)g(p)s(os)p
+Fg(\))390 3964 y Fq(Searc)m(h)h(for)g Fk(string)42 b
+Fq(in)34 b(the)h(history)f(list,)i(starting)f(at)g Fk(p)s(os)p
+Fq(,)g(an)f(absolute)h(index)e(in)m(to)j(the)e(list.)390
+4074 y(If)i Fk(direction)g Fq(is)g(negativ)m(e,)k(the)c(searc)m(h)h
 (pro)s(ceeds)f(bac)m(kw)m(ard)g(from)g Fk(p)s(os)p Fq(,)h(otherwise)f
-(forw)m(ard.)390 4381 y(Returns)43 b(the)h(absolute)h(index)f(of)g(the)
-g(history)g(elemen)m(t)h(where)f Fk(string)52 b Fq(w)m(as)44
-b(found,)i(or)e(-1)390 4490 y(otherwise.)150 4686 y Fj(2.3.6)63
-b(Managing)41 b(the)g(History)h(File)150 4833 y Fq(The)26
-b(History)h(library)f(can)h(read)g(the)f(history)h(from)f(and)g(write)h
-(it)g(to)g(a)g(\014le.)40 b(This)26 b(section)h(do)s(cumen)m(ts)150
-4942 y(the)k(functions)e(for)i(managing)g(a)g(history)f(\014le.)3350
-5121 y([F)-8 b(unction])-3599 b Fh(int)53 b(read_history)c
-Fg(\()p Ff(const)34 b(c)m(har)g(*\014lename)p Fg(\))390
-5230 y Fq(Add)29 b(the)h(con)m(ten)m(ts)h(of)f Fk(\014lename)k
-Fq(to)d(the)f(history)f(list,)i(a)f(line)g(at)g(a)g(time.)41
-b(If)29 b Fk(\014lename)35 b Fq(is)30 b Fp(NULL)p Fq(,)390
-5340 y(then)g(read)g(from)g Fp(~/.history)p Fq(.)38 b(Returns)30
-b(0)g(if)h(successful,)f(or)g Fp(errno)f Fq(if)i(not.)p
+(forw)m(ard.)390 4183 y(Returns)c(the)h(index)g(in)f(the)h(history)g
+(list)h(of)f(the)g(history)g(elemen)m(t)i(where)d Fk(string)41
+b Fq(w)m(as)33 b(found,)390 4293 y(or)d(-1)h(otherwise.)150
+4480 y Fj(2.3.6)63 b(Managing)41 b(the)g(History)h(File)150
+4627 y Fq(The)26 b(History)h(library)f(can)h(read)g(the)f(history)h
+(from)f(and)g(write)h(it)g(to)g(a)g(\014le.)40 b(This)26
+b(section)h(do)s(cumen)m(ts)150 4736 y(the)k(functions)e(for)i
+(managing)g(a)g(history)f(\014le.)3350 4902 y([F)-8 b(unction])-3599
+b Fh(int)53 b(read_history)c Fg(\()p Ff(const)34 b(c)m(har)g
+(*\014lename)p Fg(\))390 5011 y Fq(Add)g(the)h(con)m(ten)m(ts)h(of)f
+Fk(\014lename)k Fq(to)d(the)f(history)f(list,)j(one)e(en)m(try)f(at)i
+(a)f(time.)54 b(If)34 b Fk(\014lename)40 b Fq(is)390
+5121 y Fp(NULL)p Fq(,)33 b(this)h(reads)f(from)g Fp(~/.history)p
+Fq(,)e(if)j(it)g(exists.)50 b(This)33 b(attempts)h(to)g(determine)g
+(whether)390 5230 y(the)23 b(history)h(\014le)f(includes)g(timestamp)h
+(information,)h(and)d(assigns)i(timestamps)g(to)g(the)f(history)390
+5340 y(en)m(tries)31 b(it)g(reads)f(if)h(so.)41 b(Returns)29
+b(0)i(if)f(successful,)g(or)h Fp(errno)e Fq(if)h(not.)p
 eop end
 %%Page: 8 11
 TeXDict begin 8 10 bop 150 -116 a Fq(Chapter)30 b(2:)41
@@ -5789,238 +5790,255 @@ b(Start)28 b(reading)g(at)390 518 y(line)f Fk(from)e
 Fq(and)h(end)f(at)i Fk(to)p Fq(.)41 b(If)25 b Fk(from)h
 Fq(is)g(zero,)i(start)f(at)g(the)f(b)s(eginning.)39 b(If)26
 b Fk(to)31 b Fq(is)c(less)f(than)g Fk(from)p Fq(,)390
-628 y(then)33 b(read)g(un)m(til)g(the)g(end)g(of)g(the)g(\014le.)49
-b(If)33 b Fk(\014lename)38 b Fq(is)33 b Fp(NULL)p Fq(,)g(then)g(read)g
-(from)f Fp(~/.history)p Fq(.)390 737 y(Returns)d(0)i(if)g(successful,)f
-(or)g Fp(errno)f Fq(if)i(not.)3350 898 y([F)-8 b(unction])-3599
-b Fh(int)53 b(write_history)d Fg(\()p Ff(const)34 b(c)m(har)g
-(*\014lename)p Fg(\))390 1007 y Fq(W)-8 b(rite)36 b(the)e(curren)m(t)h
-(history)f(to)h Fk(\014lename)p Fq(,)h(o)m(v)m(erwriting)g
-Fk(\014lename)k Fq(if)34 b(necessary)-8 b(.)54 b(If)34
-b Fk(\014lename)390 1117 y Fq(is)27 b Fp(NULL)p Fq(,)g(then)g(write)g
-(the)h(history)f(list)g(to)h Fp(~/.history)p Fq(.)37
-b(Returns)26 b(0)i(on)f(success,)h(or)f Fp(errno)f Fq(on)390
-1227 y(a)31 b(read)f(or)g(write)h(error.)3350 1387 y([F)-8
-b(unction])-3599 b Fh(int)53 b(append_history)d Fg(\()p
-Ff(in)m(t)33 b(nelemen)m(ts,)i(const)f(c)m(har)f(*\014lename)p
-Fg(\))390 1497 y Fq(App)s(end)g(the)i(last)g Fk(nelemen)m(ts)k
-Fq(of)c(the)g(history)f(list)i(to)f Fk(\014lename)p Fq(.)54
-b(If)34 b Fk(\014lename)40 b Fq(is)34 b Fp(NULL)p Fq(,)h(then)390
-1606 y(app)s(end)29 b(to)i Fp(~/.history)p Fq(.)38 b(Returns)29
-b(0)i(on)f(success,)h(or)f Fp(errno)f Fq(on)i(a)f(read)h(or)f(write)h
-(error.)3350 1767 y([F)-8 b(unction])-3599 b Fh(int)53
-b(history_truncate_file)f Fg(\()p Ff(const)34 b(c)m(har)g(*\014lename,)
-f(in)m(t)h(nlines)p Fg(\))390 1876 y Fq(T)-8 b(runcate)39
-b(the)f(history)h(\014le)f Fk(\014lename)p Fq(,)j(lea)m(ving)f(only)f
-(the)g(last)g Fk(nlines)j Fq(lines.)65 b(If)38 b Fk(\014lename)44
-b Fq(is)390 1986 y Fp(NULL)p Fq(,)29 b(then)i Fp(~/.history)c
-Fq(is)k(truncated.)40 b(Returns)30 b(0)g(on)h(success,)g(or)f
-Fp(errno)f Fq(on)h(failure.)150 2169 y Fj(2.3.7)63 b(History)41
-b(Expansion)150 2316 y Fq(These)30 b(functions)g(implemen)m(t)h
-(history)f(expansion.)3350 2477 y([F)-8 b(unction])-3599
+628 y(this)33 b(reads)h(un)m(til)g(the)f(end)g(of)h(the)g(\014le.)50
+b(This)33 b(attempts)h(to)h(determine)e(whether)g(the)h(history)390
+737 y(\014le)d(includes)f(timestamp)h(information,)h(and)e(assigns)h
+(timestamps)g(to)g(the)g(history)g(en)m(tries)g(it)390
+847 y(reads)f(if)h(so.)41 b(If)30 b Fk(\014lename)35
+b Fq(is)c Fp(NULL)p Fq(,)e(this)i(reads)f(from)g Fp(~/.history)p
+Fq(,)e(if)i(it)h(exists.)42 b(Returns)29 b(0)i(if)390
+956 y(successful,)f(or)h Fp(errno)e Fq(if)h(not.)3350
+1156 y([F)-8 b(unction])-3599 b Fh(int)53 b(write_history)d
+Fg(\()p Ff(const)34 b(c)m(har)g(*\014lename)p Fg(\))390
+1265 y Fq(W)-8 b(rite)34 b(the)f(curren)m(t)g(history)g(to)g
+Fk(\014lename)p Fq(,)h(o)m(v)m(erwriting)g Fk(\014lename)k
+Fq(if)33 b(necessary)-8 b(.)49 b(This)32 b(writes)390
+1375 y(timestamp)37 b(information)g(if)g(the)g Fp
+(history_write_timestamps)30 b Fq(v)-5 b(ariable)38 b(is)e(set)i(to)f
+(a)g(non-)390 1484 y(zero)31 b(v)-5 b(alue.)43 b(If)30
+b Fk(\014lename)36 b Fq(is)31 b Fp(NULL)p Fq(,)e(then)i(write)g(the)g
+(history)f(list)i(to)f Fp(~/.history)p Fq(.)39 b(Returns)30
+b(0)390 1594 y(on)g(success,)h(or)f Fp(errno)f Fq(on)i(a)f(read)h(or)f
+(write)h(error.)3350 1793 y([F)-8 b(unction])-3599 b
+Fh(int)53 b(append_history)d Fg(\()p Ff(in)m(t)33 b(nelemen)m(ts,)i
+(const)f(c)m(har)f(*\014lename)p Fg(\))390 1903 y Fq(App)s(end)39
+b(the)h(last)i Fk(nelemen)m(ts)j Fq(of)c(the)f(history)h(list)g(to)g
+Fk(\014lename)p Fq(.)72 b(This)40 b(writes)g(timestamp)390
+2012 y(information)30 b(if)f(the)h Fp(history_write_timestamps)23
+b Fq(v)-5 b(ariable)30 b(is)f(set)h(to)h(a)e(non-zero)h(v)-5
+b(alue.)41 b(If)390 2122 y Fk(\014lename)d Fq(is)33 b
+Fp(NULL)p Fq(,)g(then)g(app)s(end)e(to)i Fp(~/.history)p
+Fq(.)46 b(Returns)32 b(0)h(on)g(success,)h(or)f Fp(errno)f
+Fq(on)h(a)390 2232 y(read)d(or)h(write)f(error.)3350
+2431 y([F)-8 b(unction])-3599 b Fh(int)53 b(history_truncate_file)f
+Fg(\()p Ff(const)34 b(c)m(har)g(*\014lename,)f(in)m(t)h(nlines)p
+Fg(\))390 2540 y Fq(T)-8 b(runcate)39 b(the)f(history)h(\014le)f
+Fk(\014lename)p Fq(,)j(lea)m(ving)f(only)f(the)g(last)g
+Fk(nlines)j Fq(lines.)65 b(If)38 b Fk(\014lename)44 b
+Fq(is)390 2650 y Fp(NULL)p Fq(,)29 b(this)i(truncates)f
+Fp(~/.history)p Fq(.)38 b(Returns)30 b(0)h(on)f(success,)h(or)f
+Fp(errno)f Fq(on)h(failure.)150 2857 y Fj(2.3.7)63 b(History)41
+b(Expansion)150 3004 y Fq(These)30 b(functions)g(implemen)m(t)h
+(history)f(expansion.)3350 3203 y([F)-8 b(unction])-3599
 b Fh(int)53 b(history_expand)d Fg(\()p Ff(const)34 b(c)m(har)g
-(*string,)e(c)m(har)i(**output)p Fg(\))390 2586 y Fq(Expand)f
+(*string,)e(c)m(har)i(**output)p Fg(\))390 3313 y Fq(Expand)f
 Fk(string)p Fq(,)j(placing)f(the)f(result)h(in)m(to)g
 Fk(output)p Fq(,)g(a)g(p)s(oin)m(ter)f(to)h(a)g(string)f(\(see)i
-(Section)f(1.1)390 2696 y([History)c(In)m(teraction],)i(page)e(1\).)41
-b(Returns:)390 2839 y Fp(0)432 b Fq(If)37 b(no)g(expansions)g(to)s(ok)i
+(Section)f(1.1)390 3422 y([History)c(In)m(teraction],)i(page)e(1\).)41
+b(Returns:)390 3593 y Fp(0)432 b Fq(If)37 b(no)g(expansions)g(to)s(ok)i
 (place)f(\(or,)i(if)d(the)h(only)f(c)m(hange)i(in)e(the)g(text)i(w)m
-(as)f(the)870 2949 y(remo)m(v)-5 b(al)31 b(of)g(escap)s(e)f(c)m
+(as)f(the)870 3702 y(remo)m(v)-5 b(al)31 b(of)g(escap)s(e)f(c)m
 (haracters)i(preceding)e(the)g(history)g(expansion)g(c)m(haracter\);)
-390 3093 y Fp(1)432 b Fq(if)30 b(expansions)g(did)g(tak)m(e)i(place;)
-390 3236 y Fp(-1)384 b Fq(if)30 b(there)h(w)m(as)g(an)f(error)g(in)g
-(expansion;)390 3380 y Fp(2)432 b Fq(if)28 b(the)f(returned)g(line)g
+390 3869 y Fp(1)432 b Fq(if)30 b(expansions)g(did)g(tak)m(e)i(place;)
+390 4036 y Fp(-1)384 b Fq(if)30 b(there)h(w)m(as)g(an)f(error)g(in)g
+(expansion;)390 4203 y Fp(2)432 b Fq(if)28 b(the)f(returned)g(line)g
 (should)g(b)s(e)g(displa)m(y)m(ed,)i(but)e(not)h(executed,)h(as)f(with)
-f(the)h Fp(:p)870 3489 y Fq(mo)s(di\014er)h(\(see)j(Section)f(1.1.3)h
-([Mo)s(di\014ers],)e(page)i(3\).)390 3633 y(If)e(an)g(error)g(o)s
-(ccurred)g(in)g(expansion,)g(then)g Fk(output)i Fq(con)m(tains)g(a)f
-(descriptiv)m(e)g(error)f(message.)3350 3793 y([F)-8
-b(unction])-3599 b Fh(char)54 b(*)e(get_history_event)f
+f(the)h Fp(:p)870 4313 y Fq(mo)s(di\014er)h(\(see)j(Section)f(1.1.3)h
+([Mo)s(di\014ers],)e(page)i(3\).)390 4483 y(If)f(an)g(error)g(o)s
+(ccurred)g(during)f(expansion,)i(then)f Fk(output)i Fq(con)m(tains)g(a)
+e(descriptiv)m(e)i(error)e(mes-)390 4593 y(sage.)3350
+4792 y([F)-8 b(unction])-3599 b Fh(char)54 b(*)e(get_history_event)f
 Fg(\()p Ff(const)34 b(c)m(har)g(*string,)e(in)m(t)h(*cindex,)h(in)m(t)
-565 3903 y(qc)m(har)p Fg(\))390 4012 y Fq(Returns)45
-b(the)g(text)i(of)e(the)h(history)f(ev)m(en)m(t)i(b)s(eginning)e(at)h
-Fk(string)53 b Fp(+)45 b Fk(*cindex)p Fq(.)87 b Fk(*cindex)52
-b Fq(is)390 4122 y(mo)s(di\014ed)28 b(to)i(p)s(oin)m(t)f(to)h(after)g
-(the)g(ev)m(en)m(t)h(sp)s(eci\014er.)39 b(A)m(t)31 b(function)e(en)m
-(try)-8 b(,)30 b Fk(cindex)36 b Fq(p)s(oin)m(ts)29 b(to)h(the)390
-4232 y(index)35 b(in)m(to)i Fk(string)44 b Fq(where)35
-b(the)h(history)g(ev)m(en)m(t)h(sp)s(eci\014cation)g(b)s(egins.)57
-b Fk(qc)m(har)42 b Fq(is)36 b(a)g(c)m(haracter)390 4341
-y(that)27 b(is)g(allo)m(w)m(ed)i(to)f(end)e(the)h(ev)m(en)m(t)h(sp)s
-(eci\014cation)g(in)f(addition)g(to)g(the)g(\\normal")h(terminating)390
-4451 y(c)m(haracters.)3350 4611 y([F)-8 b(unction])-3599
-b Fh(char)54 b(**)e(history_tokenize)f Fg(\()p Ff(const)34
-b(c)m(har)g(*string)p Fg(\))390 4721 y Fq(Return)c(an)h(arra)m(y)g(of)g
-(tok)m(ens)h(parsed)e(out)h(of)g Fk(string)p Fq(,)h(m)m(uc)m(h)e(as)i
-(the)f(shell)g(migh)m(t.)43 b(The)30 b(tok)m(ens)390
-4830 y(are)h(split)g(on)f(the)h(c)m(haracters)h(in)e(the)h
-Fk(history)p 2006 4830 28 4 v 40 w(w)m(ord)p 2241 4830
-V 39 w(delimiters)k Fq(v)-5 b(ariable,)32 b(and)e(shell)g(quoting)390
-4940 y(con)m(v)m(en)m(tions)i(are)f(ob)s(ey)m(ed)g(as)f(describ)s(ed)g
-(b)s(elo)m(w.)3350 5101 y([F)-8 b(unction])-3599 b Fh(char)54
-b(*)e(history_arg_extract)f Fg(\()p Ff(in)m(t)34 b(\014rst,)f(in)m(t)g
-(last,)g(const)h(c)m(har)f(*string)p Fg(\))390 5210 y
-Fq(Extract)41 b(a)g(string)f(segmen)m(t)i(consisting)f(of)f(the)h
-Fk(\014rst)g Fq(through)f Fk(last)j Fq(argumen)m(ts)e(presen)m(t)f(in)
-390 5320 y Fk(string)p Fq(.)h(Argumen)m(ts)30 b(are)h(split)f(using)g
-Fp(history_tokenize)p Fq(.)p eop end
+565 4902 y(qc)m(har)p Fg(\))390 5011 y Fq(Returns)26
+b(the)g(text)i(of)f(the)g(history)f(ev)m(en)m(t)i(b)s(eginning)e(at)h
+Fk(string)35 b Fp(+)26 b Fk(*cindex)p Fq(.)40 b(Mo)s(di\014es)26
+b Fk(*cindex)390 5121 y Fq(to)g(p)s(oin)m(t)f(to)h(after)g(the)f(ev)m
+(en)m(t)i(sp)s(eci\014er.)39 b(A)m(t)26 b(function)f(en)m(try)-8
+b(,)27 b Fk(cindex)32 b Fq(p)s(oin)m(ts)25 b(to)h(the)f(index)g(in)m
+(to)390 5230 y Fk(string)30 b Fq(where)21 b(the)h(history)g(ev)m(en)m
+(t)h(sp)s(eci\014cation)f(b)s(egins.)38 b Fk(qc)m(har)28
+b Fq(is)22 b(a)g(c)m(haracter)i(that)e(is)g(allo)m(w)m(ed)390
+5340 y(to)31 b(end)f(the)g(ev)m(en)m(t)i(sp)s(eci\014cation)f(in)g
+(addition)f(to)h(the)g(\\normal")g(terminating)g(c)m(haracters.)p
+eop end
 %%Page: 9 12
 TeXDict begin 9 11 bop 150 -116 a Fq(Chapter)30 b(2:)41
-b(Programming)30 b(with)g(GNU)h(History)1780 b(9)150
-299 y Fo(2.4)68 b(History)46 b(V)-11 b(ariables)150 458
-y Fq(This)26 b(section)i(describ)s(es)e(the)h(externally-visible)i(v)-5
-b(ariables)28 b(exp)s(orted)e(b)m(y)h(the)g Fl(gnu)g
-Fq(History)g(Library)-8 b(.)3371 641 y([V)g(ariable])-3598
-b Fh(int)53 b(history_base)390 750 y Fq(The)30 b(logical)j(o\013set)e
-(of)g(the)f(\014rst)g(en)m(try)g(in)h(the)f(history)g(list.)3371
-933 y([V)-8 b(ariable])-3598 b Fh(int)53 b(history_length)390
-1043 y Fq(The)30 b(n)m(um)m(b)s(er)f(of)h(en)m(tries)i(curren)m(tly)e
-(stored)h(in)f(the)g(history)g(list.)3371 1225 y([V)-8
-b(ariable])-3598 b Fh(int)53 b(history_max_entries)390
-1335 y Fq(The)45 b(maxim)m(um)h(n)m(um)m(b)s(er)f(of)h(history)g(en)m
-(tries.)88 b(This)45 b(m)m(ust)h(b)s(e)f(c)m(hanged)i(using)e
-Fp(stifle_)390 1444 y(history\(\))p Fq(.)3371 1627 y([V)-8
+b(Programming)30 b(with)g(GNU)h(History)1780 b(9)3350
+299 y([F)-8 b(unction])-3599 b Fh(char)54 b(**)e(history_tokenize)f
+Fg(\()p Ff(const)34 b(c)m(har)g(*string)p Fg(\))390 408
+y Fq(Return)c(an)h(arra)m(y)g(of)g(tok)m(ens)h(parsed)e(out)h(of)g
+Fk(string)p Fq(,)h(m)m(uc)m(h)e(as)i(the)f(shell)g(migh)m(t.)43
+b(The)30 b(tok)m(ens)390 518 y(are)h(split)g(on)f(the)h(c)m(haracters)h
+(in)e(the)h Fk(history)p 2006 518 28 4 v 40 w(w)m(ord)p
+2241 518 V 39 w(delimiters)k Fq(v)-5 b(ariable,)32 b(and)e(shell)g
+(quoting)390 628 y(con)m(v)m(en)m(tions)i(are)f(ob)s(ey)m(ed)g(as)f
+(describ)s(ed)g(b)s(elo)m(w.)3350 815 y([F)-8 b(unction])-3599
+b Fh(char)54 b(*)e(history_arg_extract)f Fg(\()p Ff(in)m(t)34
+b(\014rst,)f(in)m(t)g(last,)g(const)h(c)m(har)f(*string)p
+Fg(\))390 924 y Fq(Extract)41 b(a)g(string)f(segmen)m(t)i(consisting)f
+(of)f(the)h Fk(\014rst)g Fq(through)f Fk(last)j Fq(argumen)m(ts)e
+(presen)m(t)f(in)390 1034 y Fk(string)p Fq(.)h(This)29
+b(splits)i Fk(string)38 b Fq(in)m(to)31 b(argumen)m(ts)g(using)f
+Fp(history_tokenize)p Fq(.)150 1277 y Fo(2.4)68 b(History)46
+b(V)-11 b(ariables)150 1436 y Fq(This)26 b(section)i(describ)s(es)e
+(the)h(externally-visible)i(v)-5 b(ariables)28 b(exp)s(orted)e(b)m(y)h
+(the)g Fl(gnu)g Fq(History)g(Library)-8 b(.)3371 1624
+y([V)g(ariable])-3598 b Fh(int)53 b(history_base)390
+1733 y Fq(The)30 b(logical)j(o\013set)e(of)g(the)f(\014rst)g(en)m(try)g
+(in)h(the)f(history)g(list.)3371 1921 y([V)-8 b(ariable])-3598
+b Fh(int)53 b(history_length)390 2030 y Fq(The)30 b(n)m(um)m(b)s(er)f
+(of)h(en)m(tries)i(curren)m(tly)e(stored)h(in)f(the)g(history)g(list.)
+3371 2217 y([V)-8 b(ariable])-3598 b Fh(int)53 b(history_max_entries)
+390 2327 y Fq(The)45 b(maxim)m(um)h(n)m(um)m(b)s(er)f(of)h(history)g
+(en)m(tries.)88 b(This)45 b(m)m(ust)h(b)s(e)f(c)m(hanged)i(using)e
+Fp(stifle_)390 2437 y(history\(\))p Fq(.)3371 2624 y([V)-8
 b(ariable])-3598 b Fh(int)53 b(history_write_timesta)q(mps)390
-1736 y Fq(If)44 b(non-zero,)49 b(timestamps)c(are)g(written)g(to)g(the)
+2733 y Fq(If)44 b(non-zero,)49 b(timestamps)c(are)g(written)g(to)g(the)
 g(history)f(\014le,)49 b(so)c(they)f(can)h(b)s(e)f(preserv)m(ed)390
-1846 y(b)s(et)m(w)m(een)31 b(sessions.)41 b(The)30 b(default)g(v)-5
+2843 y(b)s(et)m(w)m(een)31 b(sessions.)41 b(The)30 b(default)g(v)-5
 b(alue)31 b(is)f(0,)h(meaning)g(that)g(timestamps)g(are)g(not)f(sa)m(v)
-m(ed.)390 1980 y(The)41 b(curren)m(t)g(timestamp)h(format)g(uses)f(the)
-h(v)-5 b(alue)42 b(of)f Fk(history)p 2697 1980 28 4 v
-41 w(commen)m(t)p 3098 1980 V 41 w(c)m(har)48 b Fq(to)42
-b(delimit)390 2090 y(timestamp)h(en)m(tries)g(in)f(the)g(history)h
-(\014le.)76 b(If)42 b(that)h(v)-5 b(ariable)43 b(do)s(es)f(not)g(ha)m
-(v)m(e)i(a)f(v)-5 b(alue)42 b(\(the)390 2199 y(default\),)31
-b(timestamps)g(will)g(not)f(b)s(e)g(written.)3371 2382
-y([V)-8 b(ariable])-3598 b Fh(char)54 b(history_expansion_char)390
-2491 y Fq(The)35 b(c)m(haracter)i(that)e(in)m(tro)s(duces)g(a)h
-(history)f(ev)m(en)m(t.)57 b(The)34 b(default)i(is)f(`)p
-Fp(!)p Fq('.)56 b(Setting)35 b(this)h(to)g(0)390 2601
-y(inhibits)30 b(history)g(expansion.)3371 2783 y([V)-8
-b(ariable])-3598 b Fh(char)54 b(history_subst_char)390
-2893 y Fq(The)40 b(c)m(haracter)i(that)g(in)m(v)m(ok)m(es)g(w)m(ord)f
+m(ed.)390 2979 y(The)41 b(curren)m(t)g(timestamp)h(format)g(uses)f(the)
+h(v)-5 b(alue)42 b(of)f Fk(history)p 2697 2979 V 41 w(commen)m(t)p
+3098 2979 V 41 w(c)m(har)48 b Fq(to)42 b(delimit)390
+3089 y(timestamp)h(en)m(tries)g(in)f(the)g(history)h(\014le.)76
+b(If)42 b(that)h(v)-5 b(ariable)43 b(do)s(es)f(not)g(ha)m(v)m(e)i(a)f
+(v)-5 b(alue)42 b(\(the)390 3198 y(default\),)31 b(this)f(will)h(not)g
+(write)f(timestamps.)3371 3385 y([V)-8 b(ariable])-3598
+b Fh(char)54 b(history_expansion_char)390 3495 y Fq(The)35
+b(c)m(haracter)i(that)e(in)m(tro)s(duces)g(a)h(history)f(ev)m(en)m(t.)
+57 b(The)34 b(default)i(is)f(`)p Fp(!)p Fq('.)56 b(Setting)35
+b(this)h(to)g(0)390 3605 y(inhibits)30 b(history)g(expansion.)3371
+3792 y([V)-8 b(ariable])-3598 b Fh(char)54 b(history_subst_char)390
+3901 y Fq(The)40 b(c)m(haracter)i(that)g(in)m(v)m(ok)m(es)g(w)m(ord)f
 (substitution)f(if)h(found)e(at)i(the)g(start)g(of)g(a)g(line.)72
-b(The)390 3003 y(default)31 b(is)f(`)p Fp(^)p Fq('.)3371
-3185 y([V)-8 b(ariable])-3598 b Fh(char)54 b(history_comment_char)390
-3295 y Fq(During)37 b(tok)m(enization,)43 b(if)38 b(this)f(c)m
-(haracter)j(is)e(seen)f(as)h(the)g(\014rst)f(c)m(haracter)j(of)e(a)g(w)
-m(ord,)h(then)390 3404 y(it)44 b(and)e(all)j(subsequen)m(t)d(c)m
-(haracters)j(up)d(to)i(a)g(newline)f(are)h(ignored,)i(suppressing)c
-(history)390 3514 y(expansion)30 b(for)g(the)h(remainder)f(of)g(the)h
-(line.)41 b(This)29 b(is)i(disabled)f(b)m(y)g(default.)3371
-3696 y([V)-8 b(ariable])-3598 b Fh(char)54 b(*)e
-(history_word_delimiter)q(s)390 3806 y Fq(The)27 b(c)m(haracters)i
-(that)f(separate)h(tok)m(ens)f(for)f Fp(history_tokenize\(\))p
-Fq(.)35 b(The)27 b(default)h(v)-5 b(alue)28 b(is)f Fp(")390
-3916 y(\\t\\n\(\)<>;&|")p Fq(.)3371 4098 y([V)-8 b(ariable])-3598
-b Fh(char)54 b(*)e(history_search_delimit)q(er_)q(cha)q(rs)390
-4208 y Fq(The)26 b(list)g(of)g(additional)h(c)m(haracters)h(whic)m(h)e
-(can)g(delimit)h(a)f(history)g(searc)m(h)h(string,)g(in)f(addition)390
-4317 y(to)31 b(space,)g(T)-8 b(AB,)32 b(`)p Fp(:)p Fq(')e(and)g(`)p
+b(The)390 4011 y(default)31 b(is)f(`)p Fp(^)p Fq('.)3371
+4198 y([V)-8 b(ariable])-3598 b Fh(char)54 b(history_comment_char)390
+4308 y Fq(During)34 b(tok)m(enization,)39 b(if)c(this)g(c)m(haracter)h
+(app)s(ears)e(as)h(the)g(\014rst)f(c)m(haracter)i(of)f(a)g(w)m(ord,)h
+(then)390 4418 y(it)44 b(and)e(all)j(subsequen)m(t)d(c)m(haracters)j
+(up)d(to)i(a)g(newline)f(are)h(ignored,)i(suppressing)c(history)390
+4527 y(expansion)30 b(for)g(the)h(remainder)f(of)g(the)h(line.)41
+b(This)29 b(is)i(disabled)f(b)m(y)g(default.)3371 4714
+y([V)-8 b(ariable])-3598 b Fh(char)54 b(*)e(history_word_delimiter)q(s)
+390 4824 y Fq(The)27 b(c)m(haracters)i(that)f(separate)h(tok)m(ens)f
+(for)f Fp(history_tokenize\(\))p Fq(.)35 b(The)27 b(default)h(v)-5
+b(alue)28 b(is)f Fp(")390 4934 y(\\t\\n\(\)<>;&|")p Fq(.)3371
+5121 y([V)-8 b(ariable])-3598 b Fh(char)54 b(*)e
+(history_search_delimit)q(er_)q(cha)q(rs)390 5230 y Fq(The)26
+b(list)g(of)g(additional)h(c)m(haracters)h(whic)m(h)e(can)g(delimit)h
+(a)f(history)g(searc)m(h)h(string,)g(in)f(addition)390
+5340 y(to)31 b(space,)g(T)-8 b(AB,)32 b(`)p Fp(:)p Fq(')e(and)g(`)p
 Fp(?)p Fq(')g(in)g(the)h(case)g(of)g(a)g(substring)e(searc)m(h.)41
-b(The)30 b(default)h(is)f(empt)m(y)-8 b(.)3371 4500 y([V)g(ariable])
--3598 b Fh(char)54 b(*)e(history_no_expand_char)q(s)390
-4609 y Fq(The)29 b(list)i(of)f(c)m(haracters)h(whic)m(h)e(inhibit)h
-(history)g(expansion)f(if)h(found)e(immediately)j(follo)m(wing)390
-4719 y Fk(history)p 672 4719 V 40 w(expansion)p 1104
-4719 V 40 w(c)m(har)p Fq(.)41 b(The)30 b(default)g(is)h(space,)g(tab,)g
-(newline,)f(carriage)i(return,)e(and)g(`)p Fp(=)p Fq('.)3371
-4902 y([V)-8 b(ariable])-3598 b Fh(int)53 b(history_quotes_inhibi)q
-(t_ex)q(pan)q(sio)q(n)390 5011 y Fq(If)33 b(non-zero,)j(the)d(history)h
-(expansion)f(co)s(de)h(implemen)m(ts)g(shell-lik)m(e)i(quoting:)48
-b(single-quoted)390 5121 y(w)m(ords)37 b(are)h(not)g(scanned)f(for)g
-(the)h(history)f(expansion)g(c)m(haracter)i(or)f(the)f(history)h
-(commen)m(t)390 5230 y(c)m(haracter,)48 b(and)42 b(double-quoted)h(w)m
-(ords)g(ma)m(y)g(ha)m(v)m(e)h(history)f(expansion)g(p)s(erformed,)i
-(since)390 5340 y(single)31 b(quotes)g(are)g(not)f(sp)s(ecial)h(within)
-f(double)g(quotes.)41 b(The)30 b(default)h(v)-5 b(alue)30
-b(is)h(0.)p eop end
+b(The)30 b(default)h(is)f(empt)m(y)-8 b(.)p eop end
 %%Page: 10 13
 TeXDict begin 10 12 bop 150 -116 a Fq(Chapter)30 b(2:)41
 b(Programming)30 b(with)g(GNU)h(History)1734 b(10)3371
-299 y([V)-8 b(ariable])-3598 b Fh(int)53 b(history_quoting_state)390
-408 y Fq(An)27 b(application)j(ma)m(y)e(set)g(this)g(v)-5
+299 y([V)-8 b(ariable])-3598 b Fh(char)54 b(*)e(history_no_expand_char)
+q(s)390 408 y Fq(The)29 b(list)i(of)f(c)m(haracters)h(whic)m(h)e
+(inhibit)h(history)g(expansion)f(if)h(found)e(immediately)j(follo)m
+(wing)390 518 y Fk(history)p 672 518 28 4 v 40 w(expansion)p
+1104 518 V 40 w(c)m(har)p Fq(.)41 b(The)30 b(default)g(is)h(space,)g
+(tab,)g(newline,)f(carriage)i(return,)e(and)g(`)p Fp(=)p
+Fq('.)3371 712 y([V)-8 b(ariable])-3598 b Fh(int)53 b
+(history_quotes_inhibi)q(t_ex)q(pan)q(sio)q(n)390 822
+y Fq(If)33 b(non-zero,)j(the)d(history)h(expansion)f(co)s(de)h
+(implemen)m(ts)g(shell-lik)m(e)i(quoting:)48 b(single-quoted)390
+931 y(w)m(ords)37 b(are)h(not)g(scanned)f(for)g(the)h(history)f
+(expansion)g(c)m(haracter)i(or)f(the)f(history)h(commen)m(t)390
+1041 y(c)m(haracter,)48 b(and)42 b(double-quoted)h(w)m(ords)g(ma)m(y)g
+(ha)m(v)m(e)h(history)f(expansion)g(p)s(erformed,)i(since)390
+1150 y(single)31 b(quotes)g(are)g(not)f(sp)s(ecial)h(within)f(double)g
+(quotes.)41 b(The)30 b(default)h(v)-5 b(alue)30 b(is)h(0.)3371
+1344 y([V)-8 b(ariable])-3598 b Fh(int)53 b(history_quoting_state)390
+1454 y Fq(An)27 b(application)j(ma)m(y)e(set)g(this)g(v)-5
 b(ariable)29 b(to)f(indicate)h(that)g(the)f(curren)m(t)f(line)h(b)s
-(eing)g(expanded)390 518 y(is)e(sub)5 b(ject)26 b(to)h(existing)g
+(eing)g(expanded)390 1563 y(is)e(sub)5 b(ject)26 b(to)h(existing)g
 (quoting.)40 b(If)26 b(set)g(to)h(`)p Fp(')p Fq(',)g(the)g(history)f
-(expansion)g(function)g(will)g(assume)390 628 y(that)i(the)f(line)h(is)
-f(single-quoted)h(and)f(inhibit)f(expansion)h(un)m(til)h(it)g(reads)e
-(an)i(unquoted)e(closing)390 737 y(single)41 b(quote;)46
-b(if)40 b(set)h(to)f(`)p Fp(")p Fq(',)j(history)e(expansion)f(will)g
-(assume)g(the)g(line)h(is)f(double)g(quoted)390 847 y(un)m(til)26
-b(it)g(reads)f(an)g(unquoted)g(closing)h(double)f(quote.)40
-b(If)25 b(set)g(to)i(zero,)g(the)f(default,)g(the)g(history)390
-956 y(expansion)21 b(function)g(will)g(assume)g(the)g(line)h(is)f(not)g
-(quoted)g(and)g(treat)h(quote)g(c)m(haracters)g(within)390
-1066 y(the)29 b(line)g(as)g(describ)s(ed)f(ab)s(o)m(v)m(e.)42
+(expansion)g(function)g(will)g(assume)390 1673 y(that)i(the)f(line)h
+(is)f(single-quoted)h(and)f(inhibit)f(expansion)h(un)m(til)h(it)g
+(reads)e(an)i(unquoted)e(closing)390 1783 y(single)41
+b(quote;)46 b(if)40 b(set)h(to)f(`)p Fp(")p Fq(',)j(history)e
+(expansion)f(will)g(assume)g(the)g(line)h(is)f(double)g(quoted)390
+1892 y(un)m(til)33 b(it)h(reads)f(an)g(unquoted)f(closing)i(double)f
+(quote.)49 b(If)33 b(set)g(to)h(0,)g(the)g(default,)g(the)f(history)390
+2002 y(expansion)21 b(function)g(will)g(assume)g(the)g(line)h(is)f(not)
+g(quoted)g(and)g(treat)h(quote)g(c)m(haracters)g(within)390
+2111 y(the)29 b(line)g(as)g(describ)s(ed)f(ab)s(o)m(v)m(e.)42
 b(This)28 b(is)h(only)g(e\013ectiv)m(e)i(if)e Fk(history)p
-2726 1066 28 4 v 40 w(quotes)p 3021 1066 V 40 w(inhibit)p
-3324 1066 V 40 w(expansion)390 1176 y Fq(is)h(set.)3371
-1379 y([V)-8 b(ariable])-3598 b Fh(rl_linebuf_func_t)57
-b(*)c(history_inhibit_expans)q(ion)q(_fu)q(ncti)q(on)390
-1489 y Fq(This)32 b(should)h(b)s(e)f(set)i(to)g(the)g(address)e(of)i(a)
-f(function)g(that)h(tak)m(es)h(t)m(w)m(o)g(argumen)m(ts:)46
-b(a)34 b Fp(char)29 b(*)390 1598 y Fq(\()p Fk(string)8
+2726 2111 V 40 w(quotes)p 3021 2111 V 40 w(inhibit)p
+3324 2111 V 40 w(expansion)390 2221 y Fq(is)k(set.)49
+b(This)32 b(is)h(in)m(tended)g(for)f(use)h(b)m(y)g(applications)h(lik)m
+(e)g(Bash)f(whic)m(h)g(allo)m(w)h(quoted)f(strings)390
+2330 y(to)e(span)f(m)m(ultiple)h(lines.)3371 2524 y([V)-8
+b(ariable])-3598 b Fh(rl_linebuf_func_t)57 b(*)c
+(history_inhibit_expans)q(ion)q(_fu)q(ncti)q(on)390 2634
+y Fq(This)32 b(should)h(b)s(e)f(set)i(to)g(the)g(address)e(of)i(a)f
+(function)g(that)h(tak)m(es)h(t)m(w)m(o)g(argumen)m(ts:)46
+b(a)34 b Fp(char)29 b(*)390 2744 y Fq(\()p Fk(string)8
 b Fq(\))27 b(and)f(an)g Fp(int)g Fq(index)g(in)m(to)i(that)f(string)f
 (\()p Fk(i)5 b Fq(\).)40 b(It)27 b(should)f(return)f(a)i(non-zero)g(v)
--5 b(alue)27 b(if)g(the)390 1708 y(history)i(expansion)g(starting)h(at)
+-5 b(alue)27 b(if)g(the)390 2853 y(history)i(expansion)g(starting)h(at)
 g Fk(string[i])j Fq(should)28 b(not)i(b)s(e)e(p)s(erformed;)h(zero)h
-(if)f(the)g(expansion)390 1817 y(should)i(b)s(e)g(done.)45
+(if)f(the)g(expansion)390 2963 y(should)i(b)s(e)g(done.)45
 b(It)32 b(is)g(in)m(tended)g(for)g(use)g(b)m(y)f(applications)i(lik)m
-(e)h(Bash)e(that)g(use)g(the)g(history)390 1927 y(expansion)e(c)m
+(e)h(Bash)e(that)g(use)g(the)g(history)390 3072 y(expansion)e(c)m
 (haracter)i(for)e(additional)i(purp)s(oses.)39 b(By)30
 b(default,)h(this)f(v)-5 b(ariable)31 b(is)g(set)g(to)g
-Fp(NULL)p Fq(.)150 2182 y Fo(2.5)68 b(History)46 b(Programming)g
-(Example)150 2342 y Fq(The)30 b(follo)m(wing)i(program)e(demonstrates)h
+Fp(NULL)p Fq(.)150 3320 y Fo(2.5)68 b(History)46 b(Programming)g
+(Example)150 3480 y Fq(The)30 b(follo)m(wing)i(program)e(demonstrates)h
 (simple)f(use)g(of)h(the)f Fl(gnu)g Fq(History)h(Library)-8
-b(.)390 2463 y Fe(#include)41 b(<stdio.h>)390 2550 y(#include)g
-(<readline/history.h>)390 2725 y(int)390 2812 y(main)f(\(int)g(argc,)h
-(char)f(**argv\))390 2899 y({)468 2986 y(char)h(line[1024],)g(*t;)468
-3073 y(int)f(len,)g(done)h(=)e(0;)468 3248 y(line[0])i(=)f(0;)468
-3422 y(using_history)j(\(\);)468 3509 y(while)e(\(!done\))547
-3597 y({)625 3684 y(printf)g(\("history$)g("\);)625 3771
-y(fflush)g(\(stdout\);)625 3858 y(t)f(=)f(fgets)i(\(line,)f(sizeof)h
-(\(line\))f(-)g(1,)g(stdin\);)625 3945 y(if)g(\(t)g(&&)f(*t\))704
-4032 y({)782 4120 y(len)h(=)g(strlen)g(\(t\);)782 4207
-y(if)g(\(t[len)h(-)e(1])h(==)f('\\n'\))861 4294 y(t[len)h(-)g(1])f(=)h
-('\\0';)704 4381 y(})625 4555 y(if)g(\(!t\))704 4643
-y(strcpy)g(\(line,)h("quit"\);)625 4817 y(if)f(\(line[0]\))704
-4904 y({)782 4991 y(char)g(*expansion;)782 5078 y(int)g(result;)782
-5253 y(result)h(=)e(history_expand)k(\(line,)d(&expansion\);)782
-5340 y(if)g(\(result\))p eop end
+b(.)390 3597 y Fe(#include)41 b(<stdio.h>)390 3684 y(#include)g
+(<readline/history.h>)390 3858 y(int)390 3945 y(main)f(\(int)g(argc,)h
+(char)f(**argv\))390 4032 y({)468 4120 y(char)h(line[1024],)g(*t;)468
+4207 y(int)f(len,)g(done)h(=)e(0;)468 4381 y(line[0])i(=)f(0;)468
+4555 y(using_history)j(\(\);)468 4643 y(while)e(\(!done\))547
+4730 y({)625 4817 y(printf)g(\("history$)g("\);)625 4904
+y(fflush)g(\(stdout\);)625 4991 y(t)f(=)f(fgets)i(\(line,)f(sizeof)h
+(\(line\))f(-)g(1,)g(stdin\);)625 5078 y(if)g(\(t)g(&&)f(*t\))704
+5166 y({)782 5253 y(len)h(=)g(strlen)g(\(t\);)782 5340
+y(if)g(\(t[len)h(-)e(1])h(==)f('\\n'\))p eop end
 %%Page: 11 14
 TeXDict begin 11 13 bop 150 -116 a Fq(Chapter)30 b(2:)41
 b(Programming)30 b(with)g(GNU)h(History)1734 b(11)861
-299 y Fe(fprintf)41 b(\(stderr,)g("\045s\\n",)f(expansion\);)782
-473 y(if)g(\(result)h(<)e(0)h(||)f(result)i(==)f(2\))861
-560 y({)939 648 y(free)g(\(expansion\);)939 735 y(continue;)861
-822 y(})782 996 y(add_history)i(\(expansion\);)782 1083
-y(strncpy)f(\(line,)g(expansion,)g(sizeof)g(\(line\))f(-)g(1\);)782
-1171 y(free)g(\(expansion\);)704 1258 y(})625 1432 y(if)g(\(strcmp)h
-(\(line,)f("quit"\))h(==)f(0\))704 1519 y(done)g(=)f(1;)625
-1606 y(else)h(if)g(\(strcmp)h(\(line,)g("save"\))f(==)g(0\))704
-1694 y(write_history)i(\("history_file"\);)625 1781 y(else)e(if)g
-(\(strcmp)h(\(line,)g("read"\))f(==)g(0\))704 1868 y(read_history)i
-(\("history_file"\);)625 1955 y(else)e(if)g(\(strcmp)h(\(line,)g
-("list"\))f(==)g(0\))704 2042 y({)782 2130 y(register)h(HIST_ENTRY)h
-(**the_list;)782 2217 y(register)f(int)f(i;)782 2391
-y(the_list)h(=)f(history_list)i(\(\);)782 2478 y(if)e(\(the_list\))861
-2565 y(for)g(\(i)f(=)h(0;)f(the_list[i];)j(i++\))939
-2653 y(printf)f(\("\045d:)f(\045s\\n",)h(i)e(+)h(history_base,)i
-(the_list[i]->line\);)704 2740 y(})625 2827 y(else)e(if)g(\(strncmp)h
-(\(line,)g("delete",)g(6\))f(==)f(0\))704 2914 y({)782
-3001 y(int)h(which;)782 3088 y(if)g(\(\(sscanf)h(\(line)f(+)g(6,)g
-("\045d",)g(&which\)\))h(==)f(1\))861 3176 y({)939 3263
+299 y Fe(t[len)40 b(-)g(1])f(=)h('\\0';)704 386 y(})625
+560 y(if)g(\(!t\))704 648 y(strcpy)g(\(line,)h("quit"\);)625
+822 y(if)f(\(line[0]\))704 909 y({)782 996 y(char)g(*expansion;)782
+1083 y(int)g(result;)782 1258 y(result)h(=)e(history_expand)k(\(line,)d
+(&expansion\);)782 1345 y(if)g(\(result\))861 1432 y(fprintf)h
+(\(stderr,)g("\045s\\n",)f(expansion\);)782 1606 y(if)g(\(result)h(<)e
+(0)h(||)f(result)i(==)f(2\))861 1694 y({)939 1781 y(free)g
+(\(expansion\);)939 1868 y(continue;)861 1955 y(})782
+2130 y(add_history)i(\(expansion\);)782 2217 y(strncpy)f(\(line,)g
+(expansion,)g(sizeof)g(\(line\))f(-)g(1\);)782 2304 y(free)g
+(\(expansion\);)704 2391 y(})625 2565 y(if)g(\(strcmp)h(\(line,)f
+("quit"\))h(==)f(0\))704 2653 y(done)g(=)f(1;)625 2740
+y(else)h(if)g(\(strcmp)h(\(line,)g("save"\))f(==)g(0\))704
+2827 y(write_history)i(\("history_file"\);)625 2914 y(else)e(if)g
+(\(strcmp)h(\(line,)g("read"\))f(==)g(0\))704 3001 y(read_history)i
+(\("history_file"\);)625 3088 y(else)e(if)g(\(strcmp)h(\(line,)g
+("list"\))f(==)g(0\))704 3176 y({)782 3263 y(register)h(HIST_ENTRY)h
+(**the_list;)782 3350 y(register)f(int)f(i;)782 3524
+y(the_list)h(=)f(history_list)i(\(\);)782 3611 y(if)e(\(the_list\))861
+3699 y(for)g(\(i)f(=)h(0;)f(the_list[i];)j(i++\))939
+3786 y(printf)f(\("\045d:)f(\045s\\n",)h(i)e(+)h(history_base,)i
+(the_list[i]->line\);)704 3873 y(})625 3960 y(else)e(if)g(\(strncmp)h
+(\(line,)g("delete",)g(6\))f(==)f(0\))704 4047 y({)782
+4134 y(int)h(which;)782 4222 y(if)g(\(\(sscanf)h(\(line)f(+)g(6,)g
+("\045d",)g(&which\)\))h(==)f(1\))861 4309 y({)939 4396
 y(HIST_ENTRY)i(*entry)e(=)g(remove_history)i(\(which\);)939
-3350 y(if)e(\(!entry\))1018 3437 y(fprintf)g(\(stderr,)i("No)d(such)i
-(entry)f(\045d\\n",)h(which\);)939 3524 y(else)1018 3611
-y({)1096 3699 y(free)f(\(entry->line\);)1096 3786 y(free)g(\(entry\);)
-1018 3873 y(})861 3960 y(})782 4047 y(else)861 4134 y({)939
-4222 y(fprintf)h(\(stderr,)g("non-numeric)h(arg)e(given)g(to)g
-(`delete'\\n"\);)861 4309 y(})704 4396 y(})547 4483 y(})390
-4570 y(})p eop end
+4483 y(if)e(\(!entry\))1018 4570 y(fprintf)g(\(stderr,)i("No)d(such)i
+(entry)f(\045d\\n",)h(which\);)939 4658 y(else)1018 4745
+y({)1096 4832 y(free)f(\(entry->line\);)1096 4919 y(free)g(\(entry\);)
+1018 5006 y(})861 5093 y(})782 5181 y(else)861 5268 y({)p
+eop end
 %%Page: 12 15
-TeXDict begin 12 14 bop 3659 -116 a Fq(12)150 299 y Fm(App)t(endix)52
+TeXDict begin 12 14 bop 150 -116 a Fq(Chapter)30 b(2:)41
+b(Programming)30 b(with)g(GNU)h(History)1734 b(12)939
+299 y Fe(fprintf)41 b(\(stderr,)g("non-numeric)h(arg)e(given)g(to)g
+(`delete'\\n"\);)861 386 y(})704 473 y(})547 560 y(})390
+648 y(})p eop end
+%%Page: 13 16
+TeXDict begin 13 15 bop 3659 -116 a Fq(13)150 299 y Fm(App)t(endix)52
 b(A)81 b(GNU)54 b(F)-13 b(ree)53 b(Do)t(cumen)l(tation)e(License)1359
 502 y Fq(V)-8 b(ersion)31 b(1.3,)g(3)g(No)m(v)m(em)m(b)s(er)h(2008)390
 635 y(Cop)m(yrigh)m(t)842 632 y(c)817 635 y Fn(\015)e
@@ -6101,10 +6119,10 @@ b(\\In)m(v)-5 b(arian)m(t)27 b(Sections")g(are)f(certain)g(Secondary)g
 5340 y(b)s(eing)e(those)h(of)g(In)m(v)-5 b(arian)m(t)27
 b(Sections,)i(in)d(the)h(notice)h(that)f(sa)m(ys)g(that)g(the)g(Do)s
 (cumen)m(t)g(is)g(released)p eop end
-%%Page: 13 16
-TeXDict begin 13 15 bop 150 -116 a Fq(App)s(endix)29
+%%Page: 14 17
+TeXDict begin 14 16 bop 150 -116 a Fq(App)s(endix)29
 b(A:)h(GNU)h(F)-8 b(ree)32 b(Do)s(cumen)m(tation)g(License)1603
-b(13)330 299 y(under)26 b(this)i(License.)40 b(If)27
+b(14)330 299 y(under)26 b(this)i(License.)40 b(If)27
 b(a)h(section)h(do)s(es)f(not)f(\014t)h(the)g(ab)s(o)m(v)m(e)h
 (de\014nition)e(of)h(Secondary)f(then)h(it)g(is)330 408
 y(not)k(allo)m(w)m(ed)i(to)e(b)s(e)g(designated)g(as)g(In)m(v)-5
@@ -6195,10 +6213,10 @@ b(Disclaimers)f(are)g(considered)e(to)330 4970 y(b)s(e)k(included)g(b)m
 b(Disclaimers)f(ma)m(y)g(ha)m(v)m(e)g(is)f(v)m(oid)g(and)f(has)h(no)330
 5189 y(e\013ect)32 b(on)e(the)h(meaning)f(of)h(this)f(License.)199
 5340 y(2.)61 b(VERBA)-8 b(TIM)31 b(COPYING)p eop end
-%%Page: 14 17
-TeXDict begin 14 16 bop 150 -116 a Fq(App)s(endix)29
+%%Page: 15 18
+TeXDict begin 15 17 bop 150 -116 a Fq(App)s(endix)29
 b(A:)h(GNU)h(F)-8 b(ree)32 b(Do)s(cumen)m(tation)g(License)1603
-b(14)330 299 y(Y)-8 b(ou)39 b(ma)m(y)f(cop)m(y)h(and)e(distribute)h
+b(15)330 299 y(Y)-8 b(ou)39 b(ma)m(y)f(cop)m(y)h(and)e(distribute)h
 (the)g(Do)s(cumen)m(t)h(in)f(an)m(y)g(medium,)h(either)g(commercially)h
 (or)330 408 y(noncommercially)-8 b(,)48 b(pro)m(vided)42
 b(that)h(this)f(License,)47 b(the)42 b(cop)m(yrigh)m(t)i(notices,)j
@@ -6288,10 +6306,10 @@ b(in)f(the)h(Title)h(P)m(age)g(\(and)f(on)f(the)h(co)m(v)m(ers,)i(if)e
 5340 y(Do)s(cumen)m(t,)j(and)d(from)g(those)i(of)f(previous)f(v)m
 (ersions)h(\(whic)m(h)g(should,)g(if)g(there)g(w)m(ere)g(an)m(y)-8
 b(,)p eop end
-%%Page: 15 18
-TeXDict begin 15 17 bop 150 -116 a Fq(App)s(endix)29
+%%Page: 16 19
+TeXDict begin 16 18 bop 150 -116 a Fq(App)s(endix)29
 b(A:)h(GNU)h(F)-8 b(ree)32 b(Do)s(cumen)m(tation)g(License)1603
-b(15)510 299 y(b)s(e)31 b(listed)h(in)f(the)g(History)h(section)g(of)g
+b(16)510 299 y(b)s(e)31 b(listed)h(in)f(the)g(History)h(section)g(of)g
 (the)f(Do)s(cumen)m(t\).)45 b(Y)-8 b(ou)32 b(ma)m(y)g(use)f(the)g(same)
 h(title)h(as)510 408 y(a)e(previous)f(v)m(ersion)g(if)h(the)f(original)
 i(publisher)d(of)h(that)h(v)m(ersion)g(giv)m(es)h(p)s(ermission.)360
@@ -6370,10 +6388,10 @@ b(arran)m(t)m(y)32 b(Disclaimers.)330 5121 y(If)h(the)g(Mo)s(di\014ed)g
 (designate)h(some)e(or)h(all)g(of)f(these)h(sections)h(as)e(in)m(v)-5
 b(arian)m(t.)48 b(T)-8 b(o)33 b(do)f(this,)h(add)f(their)p
 eop end
-%%Page: 16 19
-TeXDict begin 16 18 bop 150 -116 a Fq(App)s(endix)29
+%%Page: 17 20
+TeXDict begin 17 19 bop 150 -116 a Fq(App)s(endix)29
 b(A:)h(GNU)h(F)-8 b(ree)32 b(Do)s(cumen)m(tation)g(License)1603
-b(16)330 299 y(titles)37 b(to)f(the)f(list)h(of)g(In)m(v)-5
+b(17)330 299 y(titles)37 b(to)f(the)f(list)h(of)g(In)m(v)-5
 b(arian)m(t)36 b(Sections)g(in)f(the)h(Mo)s(di\014ed)f(V)-8
 b(ersion's)36 b(license)g(notice.)57 b(These)330 408
 y(titles)32 b(m)m(ust)e(b)s(e)g(distinct)h(from)e(an)m(y)i(other)g
@@ -6458,10 +6476,10 @@ b(ma)m(y)g(extract)h(a)f(single)g(do)s(cumen)m(t)f(from)g(suc)m(h)g(a)h
 5230 y(do)s(cumen)m(t,)d(and)f(follo)m(w)i(this)e(License)h(in)g(all)g
 (other)g(resp)s(ects)f(regarding)h(v)m(erbatim)g(cop)m(ying)h(of)330
 5340 y(that)d(do)s(cumen)m(t.)p eop end
-%%Page: 17 20
-TeXDict begin 17 19 bop 150 -116 a Fq(App)s(endix)29
+%%Page: 18 21
+TeXDict begin 18 20 bop 150 -116 a Fq(App)s(endix)29
 b(A:)h(GNU)h(F)-8 b(ree)32 b(Do)s(cumen)m(tation)g(License)1603
-b(17)199 299 y(7.)61 b(A)m(GGREGA)-8 b(TION)32 b(WITH)e(INDEPENDENT)h
+b(18)199 299 y(7.)61 b(A)m(GGREGA)-8 b(TION)32 b(WITH)e(INDEPENDENT)h
 (W)m(ORKS)330 441 y(A)d(compilation)i(of)e(the)g(Do)s(cumen)m(t)h(or)f
 (its)g(deriv)-5 b(ativ)m(es)30 b(with)d(other)i(separate)g(and)e(indep)
 s(enden)m(t)330 551 y(do)s(cumen)m(ts)33 b(or)g(w)m(orks,)h(in)f(or)h
@@ -6546,10 +6564,10 @@ b(ha)m(v)m(e)h(receiv)m(ed)h(copies)e(or)h(righ)m(ts)f(from)g(y)m(ou)g
 (reinstated,)i(receipt)f(of)f(a)g(cop)m(y)h(of)f(some)h(or)f(all)h(of)f
 (the)330 5340 y(same)31 b(material)h(do)s(es)e(not)g(giv)m(e)i(y)m(ou)f
 (an)m(y)g(righ)m(ts)f(to)i(use)e(it.)p eop end
-%%Page: 18 21
-TeXDict begin 18 20 bop 150 -116 a Fq(App)s(endix)29
+%%Page: 19 22
+TeXDict begin 19 21 bop 150 -116 a Fq(App)s(endix)29
 b(A:)h(GNU)h(F)-8 b(ree)32 b(Do)s(cumen)m(tation)g(License)1603
-b(18)154 299 y(10.)61 b(FUTURE)30 b(REVISIONS)f(OF)i(THIS)e(LICENSE)330
+b(19)154 299 y(10.)61 b(FUTURE)30 b(REVISIONS)f(OF)i(THIS)e(LICENSE)330
 433 y(The)41 b(F)-8 b(ree)43 b(Soft)m(w)m(are)f(F)-8
 b(oundation)43 b(ma)m(y)f(publish)e(new,)k(revised)d(v)m(ersions)h(of)g
 (the)g(GNU)g(F)-8 b(ree)330 543 y(Do)s(cumen)m(tation)34
@@ -6613,10 +6631,10 @@ f(of)g(that)330 2944 y(license)31 b(published)e(b)m(y)h(that)h(same)g
 g(under)330 3895 y(CC-BY-SA)30 b(on)g(the)h(same)f(site)h(at)g(an)m(y)g
 (time)g(b)s(efore)e(August)h(1,)h(2009,)h(pro)m(vided)e(the)g(MMC)h(is)
 330 4005 y(eligible)h(for)e(relicensing.)p eop end
-%%Page: 19 22
-TeXDict begin 19 21 bop 150 -116 a Fq(App)s(endix)29
+%%Page: 20 23
+TeXDict begin 20 22 bop 150 -116 a Fq(App)s(endix)29
 b(A:)h(GNU)h(F)-8 b(ree)32 b(Do)s(cumen)m(tation)g(License)1603
-b(19)150 299 y Fo(ADDENDUM:)45 b(Ho)l(w)h(to)f(use)g(this)h(License)f
+b(20)150 299 y Fo(ADDENDUM:)45 b(Ho)l(w)h(to)f(use)g(this)h(License)f
 (for)g(y)l(our)g(do)t(cumen)l(ts)150 458 y Fq(T)-8 b(o)35
 b(use)f(this)h(License)g(in)f(a)h(do)s(cumen)m(t)g(y)m(ou)f(ha)m(v)m(e)
 i(written,)g(include)f(a)f(cop)m(y)i(of)f(the)f(License)h(in)g(the)150
@@ -6651,9 +6669,9 @@ y(If)23 b(y)m(our)h(do)s(cumen)m(t)f(con)m(tains)i(non)m(trivial)g
 b(as)g(the)g(GNU)150 2331 y(General)31 b(Public)f(License,)i(to)f(p)s
 (ermit)e(their)i(use)f(in)g(free)g(soft)m(w)m(are.)p
 eop end
-%%Page: 20 23
-TeXDict begin 20 22 bop 150 -116 a Fq(App)s(endix)29
-b(B:)i(Concept)f(Index)2391 b(20)150 100 y Fm(App)t(endix)52
+%%Page: 21 24
+TeXDict begin 21 23 bop 150 -116 a Fq(App)s(endix)29
+b(B:)i(Concept)f(Index)2391 b(21)150 100 y Fm(App)t(endix)52
 b(B)81 b(Concept)51 b(Index)146 434 y Fo(A)150 550 y
 Fb(anc)n(hored)26 b(searc)n(h)12 b Fa(:)i(:)f(:)g(:)g(:)g(:)g(:)g(:)h
 (:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
@@ -6670,10 +6688,10 @@ g(:)g(:)g(:)g(:)34 b Fb(1)150 1431 y(History)26 b(Searc)n(hing)16
 b Fa(:)d(:)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(:)31
 b Fb(7)p eop end
-%%Page: 21 24
-TeXDict begin 21 23 bop 150 -116 a Fq(App)s(endix)29
+%%Page: 22 25
+TeXDict begin 22 24 bop 150 -116 a Fq(App)s(endix)29
 b(C:)h(F)-8 b(unction)31 b(and)f(V)-8 b(ariable)32 b(Index)1832
-b(21)150 100 y Fm(App)t(endix)52 b(C)81 b(F)-13 b(unction)52
+b(22)150 100 y Fm(App)t(endix)52 b(C)81 b(F)-13 b(unction)52
 b(and)h(V)-13 b(ariable)53 b(Index)150 400 y Fe(history_base)10
 b Fa(:)16 b(:)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(:)g(:)h(:)f(:)g(:)g(:)
@@ -6689,11 +6707,11 @@ b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)34 b Fb(10)150
 f(:)g(:)g(:)g(:)g(:)37 b Fb(9)150 836 y Fe(history_max_entries)9
 b Fa(:)18 b(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
 (:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)24 b Fb(9)150
-923 y Fe(history_no_expand_chars)16 b Fa(:)i(:)c(:)f(:)g(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)31
-b Fb(9)150 1010 y Fe(history_quotes_inhibit_expans)q(ion)11
-b Fa(:)19 b(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)25
-b Fb(9)150 1097 y Fe(history_quoting_state)f Fa(:)13
+923 y Fe(history_no_expand_chars)14 b Fa(:)k(:)13 b(:)h(:)f(:)g(:)g(:)g
+(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)28
+b Fb(10)150 1010 y Fe(history_quotes_inhibit_expans)q(ion)9
+b Fa(:)18 b(:)c(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)22
+b Fb(10)150 1097 y Fe(history_quoting_state)i Fa(:)13
 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
 (:)g(:)g(:)h(:)f(:)33 b Fb(10)150 1184 y Fe
 (history_search_delimiter_char)q(s)15 b Fa(:)k(:)13 b(:)g(:)h(:)f(:)g
index c15e95779a71a263ef409f87347e98b4e4eeb344..247e2081303380eda7e2d56daf55568487a337ec 100644 (file)
@@ -12,7 +12,7 @@ This document describes the GNU History library
 a programming tool that provides a consistent user interface for
 recalling lines of previously typed input.
 
-Copyright @copyright{} 1988--2023 Free Software Foundation, Inc.
+Copyright @copyright{} 1988--2024 Free Software Foundation, Inc.
 
 @quotation
 Permission is granted to copy, distribute and/or modify this document
diff --git a/doc/history_3.pdf b/doc/history_3.pdf
new file mode 100644 (file)
index 0000000..237ee0a
Binary files /dev/null and b/doc/history_3.pdf differ
index 8710a3da22ba935e78773b9d1b8ed53c6d7705c9..561c56cc64e14741e650fa1e93d69a01703b7527 100644 (file)
@@ -1,6 +1,6 @@
 %!PS-Adobe-3.0
 %%Creator: groff version 1.23.0
-%%CreationDate: Fri Apr  5 09:11:47 2024
+%%CreationDate: Fri Nov  1 17:48:38 2024
 %%DocumentNeededResources: font Times-Italic
 %%+ font Times-Roman
 %%+ font Times-Bold
@@ -277,395 +277,406 @@ Q F2(COPYRIGHT)72 112.8 Q F1(The GNU History Library is Cop)108 124.8 Q
 (oundation, Inc.)-.15 E F2(DESCRIPTION)72 141.6 Q F1(Man)108 153.6 Q
 2.81(yp)-.15 G .31(rograms read input from the user a line at a time.)
 -2.81 F .309(The GNU History library is able to k)5.309 F .309
-(eep track of)-.1 F .024(those lines, associate arbitrary data with eac\
-h line, and utilize information from pre)108 165.6 R .024
-(vious lines in composing)-.25 F(ne)108 177.6 Q 2.5(wo)-.25 G(nes.)-2.5
-E F2(HIST)72 194.4 Q(OR)-.197 E 2.738(YE)-.383 G(XP)-2.738 E(ANSION)-.81
-E F1 .823(The history library supports a history e)108 206.4 R .822
-(xpansion feature that is identical to the history e)-.15 F .822
-(xpansion in)-.15 F/F3 10/Times-Bold@0 SF(bash)3.322 E F1(.)A
-(This section describes what syntax features are a)108 218.4 Q -.25(va)
--.2 G(ilable.).25 E 1.305(History e)108 235.2 R 1.305
+(eep track of)-.1 F .655(those lines, associate arbitrary data with eac\
+h line, and utilize information from pre)108 165.6 R .655
+(vious lines when com-)-.25 F(posing ne)108 177.6 Q 2.5(wo)-.25 G(nes.)
+-2.5 E .887(The History library pro)108 194.4 R .887
+(vides functions that allo)-.15 F 3.386(wa)-.25 G .886
+(pplications to their)-3.386 F F0(history)3.386 E F1 3.386(,t)C .886
+(he set of pre)-3.386 F(viously-typed)-.25 E .955(lines, which it k)108
+206.4 R .955(eeps in a list.)-.1 F .955
+(Applications can choose which lines to sa)5.955 F 1.255 -.15(ve i)-.2 H
+.956(nto a history list, ho).15 F 3.456(wm)-.25 G(an)-3.456 E(y)-.15 E
+.314(commands to sa)108 218.4 R -.15(ve)-.2 G 2.814(,s).15 G -2.25 -.2
+(av e)-2.814 H 2.814(ah)3.014 G .314(istory list to a \214le, read a hi\
+story list from a \214le, and display lines from the his-)-2.814 F
+(tory in v)108 230.4 Q(arious formats.)-.25 E F2(HIST)72 247.2 Q(OR)
+-.197 E 2.738(YE)-.383 G(XP)-2.738 E(ANSION)-.81 E F1 .822
+(The history library supports a history e)108 259.2 R .823
+(xpansion feature that is identical to the history e)-.15 F .823
+(xpansion in)-.15 F/F3 10/Times-Bold@0 SF(bash)3.323 E F1(.)A
+(This section describes what syntax features are a)108 271.2 Q -.25(va)
+-.2 G(ilable.).25 E 1.306(History e)108 288 R 1.306
 (xpansions introduce w)-.15 F 1.306(ords from the history list into the\
- input stream, making it easy to repeat)-.1 F .21
-(commands, insert the ar)108 247.2 R .21(guments to a pre)-.18 F .209
+ input stream, making it easy to repeat)-.1 F .209
+(commands, insert the ar)108 300 R .209(guments to a pre)-.18 F .21
 (vious command into the current input line, or \214x errors in pre)-.25
-F(vious)-.25 E(commands quickly)108 259.2 Q(.)-.65 E 1.296(History e)108
-276 R 1.297(xpansion is usually performed immediately after a complete \
-line is read.)-.15 F 1.297(It tak)6.297 F 1.297(es place in tw)-.1 F(o)
--.1 E 2.855(parts. The)108 288 R .354(\214rst is to determine which lin\
-e from the history list to use during substitution.)2.855 F .354
-(The second is to)5.354 F .116
-(select portions of that line for inclusion into the current one.)108
-300 R .117(The line selected from the history is the)5.116 F F0 -.15(ev)
-2.617 G(ent).15 E F1(,)A .846
-(and the portions of that line that are acted upon are)108 312 R F0(wor)
-3.346 E(ds)-.37 E F1 5.846(.V)C(arious)-6.956 E F0(modi\214er)3.346 E(s)
--.1 E F1 .846(are a)3.346 F -.25(va)-.2 G .845(ilable to manipulate).25
-F .304(the selected w)108 324 R 2.804(ords. The)-.1 F .304(line is brok)
-2.804 F .304(en into w)-.1 F .304(ords in the same f)-.1 F .304
-(ashion as)-.1 F F3(bash)2.804 E F1 .305(does when reading input, so)
-2.804 F .539(that se)108 336 R -.15(ve)-.25 G .539(ral w).15 F .539
-(ords that w)-.1 F .539
-(ould otherwise be separated are considered one w)-.1 F .538
-(ord when surrounded by quotes)-.1 F(\(see the description of)108 348 Q
-F3(history_tok)2.5 E(enize\(\))-.1 E F1(belo)2.5 E(w\).)-.25 E .574
-(History e)108 364.8 R .574
+F(vious)-.25 E(commands quickly)108 312 Q(.)-.65 E 1.297(History e)108
+328.8 R 1.297(xpansion is usually performed immediately after a complet\
+e line is read.)-.15 F 1.297(It tak)6.297 F 1.296(es place in tw)-.1 F
+(o)-.1 E 3.198(parts. The)108 340.8 R .698(\214rst is to determine whic\
+h history list entry to use during substitution.)3.198 F .699
+(The second is to select)5.699 F
+(portions of that entry to include into the current one.)108 352.8 Q
+.075(The entry selected from the history is the)108 369.6 R F0 -.15(ev)
+2.575 G(ent).15 E F1 2.575(,a)C .074
+(nd the portions of that entry that are acted upon are)-2.575 F F0(wor)
+2.574 E(ds)-.37 E F1(.)A -1.11(Va)108 381.6 S(rious)1.11 E F0
+(modi\214er)2.942 E(s)-.1 E F1 .443(are a)2.943 F -.25(va)-.2 G .443
+(ilable to manipulate the selected w).25 F 2.943(ords. The)-.1 F .443
+(entry is split into w)2.943 F .443(ords in the same)-.1 F -.1(fa)108
+393.6 S .393(shion as).1 F F3(bash)2.893 E F1 .393
+(does when reading input, so that se)2.893 F -.15(ve)-.25 G .392(ral w)
+.15 F .392(ords that w)-.1 F .392(ould otherwise be separated are con-)
+-.1 F .232(sidered one w)108 405.6 R .232
+(ord when surrounded by quotes \(see the description of)-.1 F F3
+(history_tok)2.732 E(enize\(\))-.1 E F1(belo)2.732 E 2.733(w\). The)-.25
+F F0 -.15(ev)2.733 G(ent).15 E(designator)108 417.6 Q F1 1.182
+(selects the e)3.682 F -.15(ve)-.25 G 1.182(nt, the optional).15 F F0
+(wor)3.682 E 3.682(dd)-.37 G(esignator)-3.682 E F1 1.182(selects w)3.682
+F 1.182(ords from the e)-.1 F -.15(ve)-.25 G 1.182(nt, and v).15 F 1.182
+(arious op-)-.25 F(tional)108 429.6 Q F0(modi\214er)2.5 E(s)-.1 E F1
+(are a)2.5 E -.25(va)-.2 G(ilable to manipulate the selected w).25 E
+(ords.)-.1 E .574(History e)108 446.4 R .574
 (xpansions are introduced by the appearance of the history e)-.15 F .575
 (xpansion character)-.15 F 3.075(,w)-.4 G .575(hich is)-3.075 F F3(!)
-3.908 E F1 .575(by de-)3.908 F -.1(fa)108 376.8 S 2.5(ult. Only).1 F
-(backslash \()2.5 E F3(\\).833 E F1 2.5(\)a).833 G
-(nd single quotes can quote the history e)-2.5 E(xpansion character)-.15
-E(.)-.55 E .852(There is a special abbre)108 393.6 R .851
-(viation for substitution, acti)-.25 F 1.151 -.15(ve w)-.25 H .851
-(hen the).15 F F0(quic)3.351 E 3.351(ks)-.2 G(ubstitution)-3.351 E F1
-.851(character \(def)3.351 F(ault)-.1 E F3<00>3.351 E F1 3.351(\)i)C(s)
--3.351 E .357(the \214rst character on the line.)108 405.6 R .358
+3.908 E F1 .575(by de-)3.908 F -.1(fa)108 458.4 S 2.5(ult. History).1 F
+-.15(ex)2.5 G(pansions may appear an).15 E(ywhere in the input, b)-.15 E
+(ut do not nest.)-.2 E(Only backslash \()108 475.2 Q F3(\\).833 E F1 2.5
+(\)a).833 G(nd single quotes can quote the history e)-2.5 E
+(xpansion character)-.15 E(.)-.55 E .852(There is a special abbre)108
+492 R .851(viation for substitution, acti)-.25 F 1.151 -.15(ve w)-.25 H
+.851(hen the).15 F F0(quic)3.351 E 3.351(ks)-.2 G(ubstitution)-3.351 E
+F1 .851(character \(def)3.351 F(ault)-.1 E F3<00>3.351 E F1 3.351(\)i)C
+(s)-3.351 E .357(the \214rst character on the line.)108 504 R .358
 (It selects the pre)5.357 F .358(vious history list entry)-.25 F 2.858
 (,u)-.65 G .358(sing an e)-2.858 F -.15(ve)-.25 G .358
-(nt designator equi).15 F -.25(va)-.25 G(lent).25 E(to)108 417.6 Q F3
-(!!)3.573 E F1 3.573(,a)C 1.073
-(nd substitutes one string for another in that line.)-3.573 F 1.072
-(It is described belo)6.072 F 3.572(wu)-.25 G(nder)-3.572 E F3(Ev)3.572
-E 1.072(ent Designators)-.1 F F1(.)A(This is the only history e)108
-429.6 Q(xpansion that does not be)-.15 E(gin with the history e)-.15 E
-(xpansion character)-.15 E(.)-.55 E F3(Ev)87 446.4 Q(ent Designators)-.1
-E F1 .672(An e)108 458.4 R -.15(ve)-.25 G .672(nt designator is a refer\
-ence to a command line entry in the history list.).15 F .672
-(Unless the reference is ab-)5.672 F(solute, e)108 470.4 Q -.15(ve)-.25
-G(nts are relati).15 E .3 -.15(ve t)-.25 H 2.5(ot).15 G
-(he current position in the history list.)-2.5 E F3(!)108 487.2 Q F1
-(Start a history substitution, e)144 487.2 Q(xcept when follo)-.15 E
-(wed by a)-.25 E F3(blank)2.5 E F1 2.5(,n)C -.25(ew)-2.5 G
-(line, = or \(.).25 E F3(!)108 499.2 Q F0(n)A F1(Refer to command line)
-144 499.2 Q F0(n)2.86 E F1(.).24 E F3<21ad>108 511.2 Q F0(n)A F1
-(Refer to the current command minus)144 511.2 Q F0(n)2.86 E F1(.).24 E
-F3(!!)108 523.2 Q F1(Refer to the pre)144 523.2 Q(vious command.)-.25 E
-(This is a synon)5 E(ym for \231!\2551\232.)-.15 E F3(!)108 535.2 Q F0
-(string)A F1 .865(Refer to the most recent command preceding the curren\
-t position in the history list starting with)144 535.2 R F0(string)
-144.34 547.2 Q F1(.).22 E F3(!?)108 559.2 Q F0(string)A F3([?])A F1
-1.503(Refer to the most recent command preceding the current position i\
-n the history list containing)144 571.2 R F0(string)144.34 583.2 Q F1
-5.497(.T).22 G .497(he trailing)-5.497 F F3(?)2.997 E F1 .497
-(may be omitted if)2.997 F F0(string)3.337 E F1 .496(is follo)3.216 F
-.496(wed immediately by a ne)-.25 F 2.996(wline. If)-.25 F F0(string)
-2.996 E F1(is)2.996 E .39(missing, the string from the most recent sear\
-ch is used; it is an error if there is no pre)144 595.2 R .391
-(vious search)-.25 F(string.)144 607.2 Q F3<00>108 619.2 Q F0(string1)A
-F3<00>A F0(string2)A F3<00>A F1 2.599(Quick substitution.)144 631.2 R
-2.598(Repeat the last command, replacing)7.599 F F0(string1)5.438 E F1
-(with)5.098 E F0(string2)5.438 E F1 7.598(.E).02 G(qui)-7.598 E -.25(va)
--.25 G 2.598(lent to).25 F(\231!!:s\000)144 643.2 Q F0(string1)A F1<00>A
-F0(string2)A F1(\000\232 \(see)A F3(Modi\214ers)2.5 E F1(belo)2.5 E
-(w\).)-.25 E F3(!#)108 655.2 Q F1(The entire command line typed so f)144
-655.2 Q(ar)-.1 E(.)-.55 E F3 -.75(Wo)87 672 S(rd Designators).75 E F1
--.8(Wo)108 684 S 1.313(rd designators are used to select desired w).8 F
-1.314(ords from the e)-.1 F -.15(ve)-.25 G 3.814(nt. A).15 F F3(:)3.814
-E F1 1.314(separates the e)3.814 F -.15(ve)-.25 G 1.314
-(nt speci\214cation).15 F .411(from the w)108 696 R .411(ord designator)
--.1 F 5.411(.I)-.55 G 2.911(tm)-5.411 G .411(ay be omitted if the w)
--2.911 F .411(ord designator be)-.1 F .411(gins with a)-.15 F F3<00>
-2.911 E F1(,)A F3($)2.911 E F1(,)A F3(*)2.911 E F1(,)A F3<ad>2.911 E F1
-2.911(,o)C(r)-2.911 E F3(%)2.911 E F1 5.41(.W)C(ords)-6.21 E .515
-(are numbered from the be)108 708 R .516
-(ginning of the line, with the \214rst w)-.15 F .516
-(ord being denoted by 0 \(zero\).)-.1 F -.8(Wo)5.516 G .516(rds are in-)
-.8 F(serted into the current line separated by single spaces.)108 720 Q
-(GNU History 8.3)72 768 Q(2024 March 29)134.29 E(1)198.45 E 0 Cg EP
+(nt designator equi).15 F -.25(va)-.25 G(lent).25 E(to)108 516 Q F3(!!)
+3.285 E F1 3.285(,a)C .784
+(nd substitutes one string for another in that entry)-3.285 F 5.784(.I)
+-.65 G 3.284(ti)-5.784 G 3.284(sd)-3.284 G .784(escribed belo)-3.284 F
+3.284(wu)-.25 G(nder)-3.284 E F3(Ev)3.284 E .784(ent Designators)-.1 F
+F1(.)A(This is the only history e)108 528 Q(xpansion that does not be)
+-.15 E(gin with the history e)-.15 E(xpansion character)-.15 E(.)-.55 E
+F3(Ev)87 544.8 Q(ent Designators)-.1 E F1 .585(An e)108 556.8 R -.15(ve)
+-.25 G .586
+(nt designator is a reference to an entry in the history list.).15 F
+.586(The e)5.586 F -.15(ve)-.25 G .586
+(nt designator consists of the por).15 F(-)-.2 E 1.306(tion of the w)108
+568.8 R 1.306(ord be)-.1 F 1.306(ginning with the history e)-.15 F 1.305
+(xpansion character and ending with the w)-.15 F 1.305
+(ord designator if)-.1 F .444(present, or the end of the w)108 580.8 R
+2.944(ord. Unless)-.1 F .444(the reference is absolute, e)2.944 F -.15
+(ve)-.25 G .445(nts are relati).15 F .745 -.15(ve t)-.25 H 2.945(ot).15
+G .445(he current position)-2.945 F(in the history list.)108 592.8 Q F3
+(!)108 609.6 Q F1(Start a history substitution, e)144 609.6 Q
+(xcept when follo)-.15 E(wed by a)-.25 E F3(blank)2.5 E F1 2.5(,n)C -.25
+(ew)-2.5 G(line, carriage return, =, or \(.).25 E F3(!)108 621.6 Q F0(n)
+A F1(Refer to history list entry)144 621.6 Q F0(n)2.86 E F1(.).24 E F3
+<21ad>108 633.6 Q F0(n)A F1(Refer to the current entry minus)144 633.6 Q
+F0(n)2.86 E F1(.).24 E F3(!!)108 645.6 Q F1(Refer to the pre)144 645.6 Q
+(vious entry)-.25 E 5(.T)-.65 G(his is a synon)-5 E
+(ym for \231!\2551\232.)-.15 E F3(!)108 657.6 Q F0(string)A F1 .865(Ref\
+er to the most recent command preceding the current position in the his\
+tory list starting with)144 657.6 R F0(string)144.34 669.6 Q F1(.).22 E
+F3(!?)108 681.6 Q F0(string)A F3([?])A F1 1.503(Refer to the most recen\
+t command preceding the current position in the history list containing)
+144 693.6 R F0(string)144.34 705.6 Q F1 5.497(.T).22 G .497(he trailing)
+-5.497 F F3(?)2.997 E F1 .497(may be omitted if)2.997 F F0(string)3.337
+E F1 .496(is follo)3.216 F .496(wed immediately by a ne)-.25 F 2.996
+(wline. If)-.25 F F0(string)2.996 E F1(is)2.996 E .039(missing, this us\
+es the string from the most recent search; it is an error if there is n\
+o pre)144 717.6 R .04(vious search)-.25 F(string.)144 729.6 Q
+(GNU History 8.3)72 768 Q(2024 October 10)131.235 E(1)195.395 E 0 Cg EP
 %%Page: 2 2
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Italic@0 SF(HIST)72.58 48 Q(OR)-.18 E(Y)-.18 E/F1 10
 /Times-Roman@0 SF 125.855(\(3\) Library)1.27 F(Functions Manual)2.5 E F0
-(HIST)128.935 E(OR)-.18 E(Y)-.18 E F1(\(3\))1.27 E/F2 10/Times-Bold@0 SF
-2.5(0\()108 84 S(zer)-2.5 E(o\))-.18 E F1(The zeroth w)144 96 Q 2.5
-(ord. F)-.1 F(or the shell, this is the command w)-.15 E(ord.)-.1 E F0
-(n)108.36 108 Q F1(The)144 108 Q F0(n)2.5 E F1(th w)A(ord.)-.1 E F2<00>
-108 120 Q F1(The \214rst ar)144 120 Q 2.5(gument. That)-.18 F(is, w)2.5
-E(ord 1.)-.1 E F2($)108 132 Q F1 .064(The last w)144 132 R 2.564
-(ord. This)-.1 F .064(is usually the last ar)2.564 F .064(gument, b)-.18
-F .064(ut will e)-.2 F .064(xpand to the zeroth w)-.15 F .063
-(ord if there is only)-.1 F(one w)144 144 Q(ord in the line.)-.1 E F2(%)
-108 156 Q F1 1.124(The \214rst w)144 156 R 1.124
-(ord matched by the most recent \231?)-.1 F F0(string)A F1 3.624
-(?\232 search,)B 1.125(if the search string be)3.624 F 1.125
-(gins with a)-.15 F(character that is part of a w)144 168 Q(ord.)-.1 E
-F0(x)108.77 180 Q F2<ad>A F0(y)A F1 2.5(Ar)144 180 S(ange of w)-2.5 E
+(HIST)128.935 E(OR)-.18 E(Y)-.18 E F1(\(3\))1.27 E/F2 12/Times-Bold@0 SF
+<00>108 89 Q F0(string1)-5 I F2<00>5 I F0(string2)-5 I F2<00>5 I F1 .753
+(Quick substitution.)144 96 R .753(Repeat the pre)5.753 F .753
+(vious command, replacing)-.25 F F0(string1)3.593 E F1(with)3.253 E F0
+(string2)3.592 E F1 5.752(.E).02 G(qui)-5.752 E -.25(va)-.25 G .752
+(lent to).25 F(\231!!:s)144 108 Q/F3 12/Times-Roman@0 SF<00>5 I F0
+(string1)-5 I F3<00>5 I F0(string2)-5 I F3<00>5 I F1 2.5<9a28>-5 K(see)
+-2.5 E/F4 10/Times-Bold@0 SF(Modi\214ers)2.5 E F1(belo)2.5 E(w\).)-.25 E
+F4(!#)108 120 Q F1(The entire command line typed so f)144 120 Q(ar)-.1 E
+(.)-.55 E F4 -.75(Wo)87 136.8 S(rd Designators).75 E F1 -.8(Wo)108 148.8
+S .067(rd designators are used to select desired w).8 F .067
+(ords from the e)-.1 F -.15(ve)-.25 G 2.567(nt. The).15 F 2.567(ya)-.15
+G .067(re optional; if the w)-2.567 F .068(ord designator)-.1 F(isn')108
+160.8 Q 3.516(ts)-.18 G 1.016(upplied, the history e)-3.516 F 1.016
+(xpansion uses the entire e)-.15 F -.15(ve)-.25 G 3.516(nt. A).15 F F4
+(:)3.516 E F1 1.015(separates the e)3.515 F -.15(ve)-.25 G 1.015
+(nt speci\214cation from the).15 F -.1(wo)108 172.8 S .331
+(rd designator).1 F 5.331(.I)-.55 G 2.832(tm)-5.331 G .332
+(ay be omitted if the w)-2.832 F .332(ord designator be)-.1 F .332
+(gins with a)-.15 F F4<00>2.832 E F1(,)A F4($)2.832 E F1(,)A F4(*)2.832
+E F1(,)A F4<ad>2.832 E F1 2.832(,o)C(r)-2.832 E F4(%)2.832 E F1 5.332
+(.W)C .332(ords are num-)-6.132 F .194(bered from the be)108 184.8 R
+.194(ginning of the line, with the \214rst w)-.15 F .194
+(ord being denoted by 0 \(zero\).)-.1 F -.8(Wo)5.193 G .193
+(rds are inserted into).8 F
+(the current line separated by single spaces.)108 196.8 Q F4 2.5(0\()108
+213.6 S(zer)-2.5 E(o\))-.18 E F1(The zeroth w)144 225.6 Q 2.5(ord. F)-.1
+F(or the shell, and man)-.15 E 2.5(yo)-.15 G
+(ther applications, this is the command w)-2.5 E(ord.)-.1 E F0(n)108.36
+237.6 Q F1(The)144 237.6 Q F0(n)2.5 E F1(th w)A(ord.)-.1 E F4<00>108
+249.6 Q F1(The \214rst ar)144 249.6 Q(gument: w)-.18 E(ord 1.)-.1 E F4
+($)108 261.6 Q F1 .063(The last w)144 261.6 R 2.563(ord. This)-.1 F .063
+(is usually the last ar)2.563 F .064(gument, b)-.18 F .064(ut will e)-.2
+F .064(xpand to the zeroth w)-.15 F .064(ord if there is only)-.1 F
+(one w)144 273.6 Q(ord in the line.)-.1 E F4(%)108 285.6 Q F1 1.125
+(The \214rst w)144 285.6 R 1.125(ord matched by the most recent \231?)
+-.1 F F0(string)A F1 3.624(?\232 search,)B 1.124
+(if the search string be)3.624 F 1.124(gins with a)-.15 F .486
+(character that is part of a w)144 297.6 R 2.986(ord. By)-.1 F(def)2.986
+E .486(ault, searches be)-.1 F .487
+(gin at the end of each line and proceed to)-.15 F(the be)144 309.6 Q
+(ginning, so the \214rst w)-.15 E
+(ord matched is the one closest to the end of the line.)-.1 E F0(x)
+108.77 321.6 Q F4<ad>A F0(y)A F1 2.5(Ar)144 321.6 S(ange of w)-2.5 E
 (ords; \231\255)-.1 E F0(y)A F1 2.5<9a61>C(bbre)-2.5 E(viates \2310\255)
--.25 E F0(y)A F1<9a2e>A F2(*)108 192 Q F1 .219(All of the w)144 192 R
-.219(ords b)-.1 F .219(ut the zeroth.)-.2 F .219(This is a synon)5.219 F
-.219(ym for \231)-.15 F F0(1\255$)A F1 2.719(\232. It)B .218
-(is not an error to use)2.719 F F2(*)2.718 E F1 .218(if there is)2.718 F
-(just one w)144 204 Q(ord in the e)-.1 E -.15(ve)-.25 G
-(nt; the empty string is returned in that case.).15 E F2(x*)108 216 Q F1
-(Abbre)144 216 Q(viates)-.25 E F0(x\255$)2.5 E F1(.)A F2<78ad>108 228 Q
-F1(Abbre)144 228 Q(viates)-.25 E F0(x\255$)2.5 E F1(lik)2.5 E(e)-.1 E F2
-(x*)2.5 E F1 2.5(,b)C(ut omits the last w)-2.7 E 2.5(ord. If)-.1 F F2(x)
-2.5 E F1(is missing, it def)2.5 E(aults to 0.)-.1 E(If a w)108 244.8 Q
-(ord designator is supplied without an e)-.1 E -.15(ve)-.25 G
-(nt speci\214cation, the pre).15 E(vious command is used as the e)-.25 E
--.15(ve)-.25 G(nt.).15 E F2(Modi\214ers)87 261.6 Q F1 .183
-(After the optional w)108 273.6 R .183(ord designator)-.1 F 2.683(,t)-.4
-G .184(here may appear a sequence of one or more of the follo)-2.683 F
-.184(wing modi\214ers,)-.25 F(each preceded by a \231:\232.)108 285.6 Q
+-.25 E F0(y)A F1<9a2e>A F4(*)108 333.6 Q F1 .219(All of the w)144 333.6
+R .219(ords b)-.1 F .219(ut the zeroth.)-.2 F .219(This is a synon)5.219
+F .219(ym for \231)-.15 F F0(1\255$)A F1 2.719(\232. It)B .218
+(is not an error to use)2.719 F F4(*)2.718 E F1 .218(if there is)2.718 F
+(just one w)144 345.6 Q(ord in the e)-.1 E -.15(ve)-.25 G(nt; it e).15 E
+(xpands to the empty string in that case.)-.15 E F4(x*)108 357.6 Q F1
+(Abbre)144 357.6 Q(viates)-.25 E F0(x\255$)2.5 E F1(.)A F4<78ad>108
+369.6 Q F1(Abbre)144 369.6 Q(viates)-.25 E F0(x\255$)2.5 E F1(lik)2.5 E
+(e)-.1 E F4(x*)2.5 E F1 2.5(,b)C(ut omits the last w)-2.7 E 2.5(ord. If)
+-.1 F F4(x)2.5 E F1(is missing, it def)2.5 E(aults to 0.)-.1 E .368
+(If a w)108 386.4 R .368(ord designator is supplied without an e)-.1 F
+-.15(ve)-.25 G .368(nt speci\214cation, the pre).15 F .369
+(vious command is used as the e)-.25 F -.15(ve)-.25 G(nt,).15 E(equi)108
+398.4 Q -.25(va)-.25 G(lent to).25 E F4(!!)2.5 E F1(.)A F4(Modi\214ers)
+87 415.2 Q F1 .47(After the optional w)108 427.2 R .47(ord designator)
+-.1 F 2.97(,t)-.4 G .47(he e)-2.97 F .469
+(xpansion may include a sequence of one or more of the follo)-.15 F
+(wing)-.25 E(modi\214ers, each preceded by a \231:\232.)108 439.2 Q
 (These modify)5 E 2.5(,o)-.65 G 2.5(re)-2.5 G(dit, the w)-2.5 E
 (ord or w)-.1 E(ords selected from the history e)-.1 E -.15(ve)-.25 G
-(nt.).15 E F2(h)108 302.4 Q F1(Remo)144 302.4 Q .3 -.15(ve a t)-.15 H
-(railing \214le name component, lea).15 E(ving only the head.)-.2 E F2
-(t)108 314.4 Q F1(Remo)144 314.4 Q .3 -.15(ve a)-.15 H
-(ll leading \214le name components, lea).15 E(ving the tail.)-.2 E F2(r)
-108 326.4 Q F1(Remo)144 326.4 Q .3 -.15(ve a t)-.15 H(railing suf).15 E
+(nt.).15 E F4(h)108 456 Q F1(Remo)144 456 Q .3 -.15(ve a t)-.15 H
+(railing \214lename component, lea).15 E(ving only the head.)-.2 E F4(t)
+108 468 Q F1(Remo)144 468 Q .3 -.15(ve a)-.15 H
+(ll leading \214lename components, lea).15 E(ving the tail.)-.2 E F4(r)
+108 480 Q F1(Remo)144 480 Q .3 -.15(ve a t)-.15 H(railing suf).15 E
 (\214x of the form)-.25 E F0(.xxx)2.5 E F1 2.5(,l)C(ea)-2.5 E
-(ving the basename.)-.2 E F2(e)108 338.4 Q F1(Remo)144 338.4 Q .3 -.15
-(ve a)-.15 H(ll b).15 E(ut the trailing suf)-.2 E(\214x.)-.25 E F2(p)108
-350.4 Q F1(Print the ne)144 350.4 Q 2.5(wc)-.25 G(ommand b)-2.5 E
-(ut do not e)-.2 E -.15(xe)-.15 G(cute it.).15 E F2(q)108 362.4 Q F1
-(Quote the substituted w)144 362.4 Q
-(ords, escaping further substitutions.)-.1 E F2(x)108 374.4 Q F1 .386
-(Quote the substituted w)144 374.4 R .386(ords as with)-.1 F F2(q)2.886
-E F1 2.886(,b)C .386(ut break into w)-3.086 F .385(ords at)-.1 F F2
-(blanks)2.885 E F1 .385(and ne)2.885 F 2.885(wlines. The)-.25 F F2(q)
-2.885 E F1(and)2.885 E F2(x)2.885 E F1(modi\214ers are mutually e)144
-386.4 Q(xclusi)-.15 E -.15(ve)-.25 G 2.5(;t).15 G
-(he last one supplied is used.)-2.5 E F2(s/)108 398.4 Q F0(old)A F2(/)A
-F0(ne)A(w)-.15 E F2(/)A F1(Substitute)144 410.4 Q F0(ne)3.328 E(w)-.15 E
-F1 .469(for the \214rst occurrence of)3.278 F F0(old)3.199 E F1 .469
-(in the e)3.739 F -.15(ve)-.25 G .469(nt line.).15 F(An)5.469 E 2.969
-(yc)-.15 G .469(haracter may be used as the)-2.969 F .954
-(delimiter in place of /.)144 422.4 R .953
+(ving the basename.)-.2 E F4(e)108 492 Q F1(Remo)144 492 Q .3 -.15(ve a)
+-.15 H(ll b).15 E(ut the trailing suf)-.2 E(\214x.)-.25 E F4(p)108 504 Q
+F1(Print the ne)144 504 Q 2.5(wc)-.25 G(ommand b)-2.5 E(ut do not e)-.2
+E -.15(xe)-.15 G(cute it.).15 E F4(q)108 516 Q F1
+(Quote the substituted w)144 516 Q
+(ords, escaping further substitutions.)-.1 E F4(x)108 528 Q F1 .385
+(Quote the substituted w)144 528 R .385(ords as with)-.1 F F4(q)2.885 E
+F1 2.885(,b)C .386(ut break into w)-3.085 F .386(ords at)-.1 F F4
+(blanks)2.886 E F1 .386(and ne)2.886 F 2.886(wlines. The)-.25 F F4(q)
+2.886 E F1(and)2.886 E F4(x)2.886 E F1(modi\214ers are mutually e)144
+540 Q(xclusi)-.15 E -.15(ve)-.25 G 2.5(;e).15 G
+(xpansion uses the last one supplied.)-2.65 E F4(s/)108 552 Q F0(old)A
+F4(/)A F0(ne)A(w)-.15 E F4(/)A F1(Substitute)144 564 Q F0(ne)3.329 E(w)
+-.15 E F1 .469(for the \214rst occurrence of)3.279 F F0(old)3.199 E F1
+.469(in the e)3.739 F -.15(ve)-.25 G .469(nt line.).15 F(An)5.469 E
+2.969(yc)-.15 G .469(haracter may be used as the)-2.969 F .294
+(delimiter in place of /.)144 576 R .295
 (The \214nal delimiter is optional if it is the last character of the e)
-5.953 F -.15(ve)-.25 G .953(nt line.).15 F .131
-(The delimiter may be quoted in)144 434.4 R F0(old)2.861 E F1(and)3.401
-E F0(ne)2.991 E(w)-.15 E F1 .131(with a single backslash.)2.941 F .131
-(If & appears in)5.131 F F0(ne)2.991 E(w)-.15 E F1 2.631(,i).31 G 2.631
-(ti)-2.631 G 2.631(sr)-2.631 G(e-)-2.631 E .62(placed by)144 446.4 R F0
-(old)3.349 E F1 5.619(.A).77 G .619(single backslash will quote the &.)
--2.5 F(If)5.619 E F0(old)3.349 E F1 .619(is null, it is set to the last)
-3.889 F F0(old)3.349 E F1(substi-)3.889 E .486(tuted, or)144 458.4 R
-2.986(,i)-.4 G 2.986(fn)-2.986 G 2.986(op)-2.986 G(re)-2.986 E .486
-(vious history substitutions took place, the last)-.25 F F0(string)3.326
-E F1 .487(in a)3.206 F F2(!?)2.987 E F0(string)A F2([?])A F1 2.987
-(search. If)5.487 F F0(ne)144.36 470.4 Q(w)-.15 E F1
-(is null, each matching)2.81 E F0(old)2.73 E F1(is deleted.)3.27 E F2(&)
-108 482.4 Q F1(Repeat the pre)144 482.4 Q(vious substitution.)-.25 E F2
-(g)108 494.4 Q F1 .267(Cause changes to be applied o)144 494.4 R -.15
-(ve)-.15 G 2.767(rt).15 G .267(he entire e)-2.767 F -.15(ve)-.25 G .267
-(nt line.).15 F .267(This is used in conjunction with \231)5.267 F F2
-(:s)A F1 2.767<9a28>C(e.g.,)-2.767 E<99>144 506.4 Q F2(:gs/)A F0(old)A
-F2(/)A F0(ne)A(w)-.15 E F2(/)A F1(\232\) or \231)A F2(:&)A F1 2.5
-(\232. If)B(used with \231)2.5 E F2(:s)A F1(\232, an)A 2.5(yd)-.15 G
+5.294 F -.15(ve)-.25 G .295(nt line.).15 F(A)5.295 E .485
+(single backslash will quote the delimiter in)144 588 R F0(old)3.215 E
+F1(and)3.755 E F0(ne)3.344 E(w)-.15 E F1 5.484(.I).31 G 2.984(f&a)-5.484
+G .484(ppears in)-2.984 F F0(ne)3.344 E(w)-.15 E F1 2.984(,i).31 G 2.984
+(ti)-2.984 G 2.984(sr)-2.984 G .484(eplaced with)-2.984 F F0(old)144.23
+600 Q F1 5.04(.A).77 G .04(single backslash will quote the &.)-2.5 F(If)
+5.04 E F0(old)2.77 E F1 .041(is null, it is set to the last)3.31 F F0
+(old)2.771 E F1 .041(substituted, or)3.311 F 2.541(,i)-.4 G 2.541(fn)
+-2.541 G(o)-2.541 E(pre)144 612 Q 1.198
+(vious history substitutions took place, the last)-.25 F F0(string)4.037
+E F1 1.197(in a)3.917 F F4(!?)3.697 E F0(string)A F4([?])A F1 3.697
+(search. If)6.197 F F0(ne)4.057 E(w)-.15 E F1 1.197(is null,)4.007 F
+(each matching)144 624 Q F0(old)2.73 E F1(is deleted.)3.27 E F4(&)108
+636 Q F1(Repeat the pre)144 636 Q(vious substitution.)-.25 E F4(g)108
+648 Q F1 .267(Cause changes to be applied o)144 648 R -.15(ve)-.15 G
+2.767(rt).15 G .267(he entire e)-2.767 F -.15(ve)-.25 G .267(nt line.)
+.15 F .267(This is used in conjunction with \231)5.267 F F4(:s)A F1
+2.768<9a28>C(e.g.,)-2.768 E<99>144 660 Q F4(:gs/)A F0(old)A F4(/)A F0
+(ne)A(w)-.15 E F4(/)A F1(\232\) or \231)A F4(:&)A F1 2.5(\232. If)B
+(used with \231)2.5 E F4(:s)A F1(\232, an)A 2.5(yd)-.15 G
 (elimiter can be used in place of /, and the \214nal de-)-2.5 E
-(limiter is optional if it is the last character of the e)144 518.4 Q
--.15(ve)-.25 G(nt line.).15 E(An)5 E F2(a)2.5 E F1
-(may be used as a synon)2.5 E(ym for)-.15 E F2(g)2.5 E F1(.)A F2(G)108
-530.4 Q F1(Apply the follo)144 530.4 Q(wing \231)-.25 E F2(s)A F1 2.5
-<9a6f>C 2.5<7299>-2.5 G F2(&)-2.5 E F1 2.5<9a6d>C
-(odi\214er once to each w)-2.5 E(ord in the e)-.1 E -.15(ve)-.25 G
-(nt line.).15 E/F3 10.95/Times-Bold@0 SF(PR)72 547.2 Q
+(limiter is optional if it is the last character of the e)144 672 Q -.15
+(ve)-.25 G(nt line.).15 E(An)5 E F4(a)2.5 E F1(may be used as a synon)
+2.5 E(ym for)-.15 E F4(g)2.5 E F1(.)A F4(G)108 684 Q F1(Apply the follo)
+144 684 Q(wing \231)-.25 E F4(s)A F1 2.5<9a6f>C 2.5<7299>-2.5 G F4(&)
+-2.5 E F1 2.5<9a6d>C(odi\214er once to each w)-2.5 E(ord in the e)-.1 E
+-.15(ve)-.25 G(nt line.).15 E/F5 10.95/Times-Bold@0 SF(PR)72 700.8 Q
 (OGRAMMING WITH HIST)-.329 E(OR)-.197 E 2.738(YF)-.383 G(UNCTIONS)-2.738
-E F1(This section describes ho)108 559.2 Q 2.5(wt)-.25 G 2.5(ou)-2.5 G
-(se the History library in other programs.)-2.5 E F2(Intr)87 576 Q
-(oduction to History)-.18 E F1 2.882(Ap)108 588 S .382
-(rogrammer using the History library has a)-2.882 F -.25(va)-.2 G .383
-(ilable functions for remembering lines on a history list, as-).25 F
-.771(sociating arbitrary data with a line, remo)108 600 R .77
-(ving lines from the list, searching through the list for a line con-)
--.15 F .303(taining an arbitrary te)108 612 R .303
-(xt string, and referencing an)-.15 F 2.803(yl)-.15 G .303
-(ine in the list directly)-2.803 F 5.303(.I)-.65 G 2.803(na)-5.303 G
-.303(ddition, a history)-2.803 F F0 -.2(ex)2.803 G(pansion).2 E F1
-(function is a)108 624 Q -.25(va)-.2 G(ilable which pro).25 E
-(vides for a consistent user interf)-.15 E(ace across dif)-.1 E
-(ferent programs.)-.25 E .059(The user using programs written with the \
-History library has the bene\214t of a consistent user interf)108 640.8
-R .058(ace with a)-.1 F .917(set of well-kno)108 652.8 R .917
-(wn commands for manipulating the te)-.25 F .917(xt of pre)-.15 F .917
-(vious lines and using that te)-.25 F .917(xt in ne)-.15 F 3.418(wc)-.25
-G(om-)-3.418 E 4.184(mands. The)108 664.8 R 1.684(basic history manipul\
-ation commands are identical to the history substitution pro)4.184 F
-1.683(vided by)-.15 F F2(bash)108 676.8 Q F1(.)A 1.153
-(The programmer can also use the readline library)108 693.6 R 3.654(,w)
--.65 G 1.154(hich includes some history manipulation by def)-3.654 F
-(ault,)-.1 E(and has the added adv)108 705.6 Q
-(antage of command line editing.)-.25 E 2.263(Before declaring an)108
-722.4 R 4.763(yf)-.15 G 2.263(unctions using an)-4.763 F 4.763(yf)-.15 G
-2.263(unctionality the History library pro)-4.763 F 2.263
-(vides in other code, an)-.15 F(GNU History 8.3)72 768 Q(2024 March 29)
-134.29 E(2)198.45 E 0 Cg EP
+E F1(This section describes ho)108 712.8 Q 2.5(wt)-.25 G 2.5(ou)-2.5 G
+(se the History library in other programs.)-2.5 E(GNU History 8.3)72 768
+Q(2024 October 10)131.235 E(2)195.395 E 0 Cg EP
 %%Page: 3 3
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Italic@0 SF(HIST)72.58 48 Q(OR)-.18 E(Y)-.18 E/F1 10
 /Times-Roman@0 SF 125.855(\(3\) Library)1.27 F(Functions Manual)2.5 E F0
-(HIST)128.935 E(OR)-.18 E(Y)-.18 E F1(\(3\))1.27 E 1.26
-(application writer should include the \214le)108 84 R F0(<r)5.426 E
-(eadline/history)-.37 E(.h>)-.55 E F1 1.261(in an)5.427 F 3.761<798c>
--.15 G 1.261(le that uses the History library')-3.761 F(s)-.55 E 3.037
-(features. It)108 96 R .537(supplies e)3.037 F .537
-(xtern declarations for all of the library')-.15 F 3.037(sp)-.55 G .536
-(ublic functions and v)-3.037 F .536(ariables, and declares)-.25 F
-(all of the public data structures.)108 108 Q/F2 10/Times-Bold@0 SF
-(History Storage)87 124.8 Q F1
-(The history list is an array of history entries.)108 136.8 Q 2.5(Ah)5 G
-(istory entry is declared as follo)-2.5 E(ws:)-.25 E F0(typedef void *)
-108 153.6 Q F2(histdata_t;)2.5 E F1(typedef struct _hist_entry {)108
-170.4 Q(char *line;)113 182.4 Q(char *timestamp;)113 194.4 Q
-(histdata_t data;)113 206.4 Q 2.5(}H)108 218.4 S(IST_ENTR)-2.5 E -.92
-(Y;)-.65 G(The history list itself might therefore be declared as)108
-235.2 Q F0(HIST_ENTR)108 252 Q 2.5(Y*)-.18 G(*)-2.5 E F2
-(the_history_list;)2.5 E F1(The state of the History library is encapsu\
-lated into a single structure:)108 268.8 Q/F3 10/Courier@0 SF(/*)108
-285.6 Q 6(*As)114 297.6 S
+(HIST)128.935 E(OR)-.18 E(Y)-.18 E F1(\(3\))1.27 E/F2 10/Times-Bold@0 SF
+(Intr)87 84 Q(oduction to History)-.18 E F1 2.883(Ap)108 96 S .383
+(rogrammer using the History library has a)-2.883 F -.25(va)-.2 G .382
+(ilable functions for remembering lines on a history list, as-).25 F .77
+(sociating arbitrary data with a line, remo)108 108 R .771
+(ving lines from the list, searching through the list for a line con-)
+-.15 F .303(taining an arbitrary te)108 120 R .303
+(xt string, and referencing an)-.15 F 2.803(yl)-.15 G .303
+(ine in the list directly)-2.803 F 5.303(.I)-.65 G 2.803(na)-5.303 G
+.303(ddition, a history)-2.803 F F0 -.2(ex)2.802 G(pansion).2 E F1
+(function is a)108 132 Q -.25(va)-.2 G(ilable which pro).25 E
+(vides for a consistent user interf)-.15 E(ace across dif)-.1 E
+(ferent programs.)-.25 E .059(The user using programs written with the \
+History library has the bene\214t of a consistent user interf)108 148.8
+R .059(ace with a)-.1 F .918(set of well-kno)108 160.8 R .917
+(wn commands for manipulating the te)-.25 F .917(xt of pre)-.15 F .917
+(vious lines and using that te)-.25 F .917(xt in ne)-.15 F 3.417(wc)-.25
+G(om-)-3.417 E 4.183(mands. The)108 172.8 R 1.684(basic history manipul\
+ation commands are identical to the history substitution pro)4.183 F
+1.684(vided by)-.15 F F2(bash)108 184.8 Q F1(.)A 1.154
+(The programmer can also use the readline library)108 201.6 R 3.654(,w)
+-.65 G 1.153(hich includes some history manipulation by def)-3.654 F
+(ault,)-.1 E(and has the added adv)108 213.6 Q
+(antage of command line editing.)-.25 E .39(Before declaring an)108
+230.4 R 2.89(yf)-.15 G .39(unctions using an)-2.89 F 2.89(yf)-.15 G .39
+(unctionality the History library pro)-2.89 F .39
+(vides in other code, an appli-)-.15 F .067
+(cation writer should include the \214le)108 242.4 R F0(<r)4.233 E
+(eadline/history)-.37 E(.h>)-.55 E F1 .067(in an)4.233 F 2.566<798c>-.15
+G .066(le that uses the History library')-2.566 F 2.566(sf)-.55 G
+(eatures.)-2.566 E .538(It supplies e)108 254.4 R .538
+(xtern declarations for all of the library')-.15 F 3.038(sp)-.55 G .538
+(ublic functions and v)-3.038 F .539(ariables, and declares all of the)
+-.25 F(public data structures.)108 266.4 Q F2(History Storage)87 283.2 Q
+F1(The history list is an array of history entries.)108 295.2 Q 2.5(Ah)5
+G(istory entry is declared as follo)-2.5 E(ws:)-.25 E F0(typedef void *)
+108 312 Q F2(histdata_t;)2.5 E F1(typedef struct _hist_entry {)108 328.8
+Q(char *line;)113 340.8 Q(char *timestamp;)113 352.8 Q(histdata_t data;)
+113 364.8 Q 2.5(}H)108 376.8 S(IST_ENTR)-2.5 E -.92(Y;)-.65 G
+(The history list itself might therefore be declared as)108 393.6 Q F0
+(HIST_ENTR)108 410.4 Q 2.5(Y*)-.18 G(*)-2.5 E F2(the_history_list;)2.5 E
+F1(The state of the History library is encapsulated into a single struc\
+ture:)108 427.2 Q/F3 10/Courier@0 SF(/*)108 444 Q 6(*As)114 456 S
 (tructure used to pass around the current state of the history.)-6 E(*/)
-114 309.6 Q(typedef struct _hist_state {)108 321.6 Q
-(HIST_ENTRY **entries; /* Pointer to entry records. */)120 333.6 Q
-(int offset;)120 345.6 Q(/* The current record. */)66 E(int length;)120
-357.6 Q(/* Number of records in list. */)66 E(int size;)120 369.6 Q
-(/* Number of records allocated. */)78 E(int flags;)120 381.6 Q 6(}H)108
-393.6 S(ISTORY_STATE;)-6 E F1(If the \215ags member includes)108 410.4 Q
+114 468 Q(typedef struct _hist_state {)108 480 Q
+(HIST_ENTRY **entries; /* Pointer to entry records. */)120 492 Q
+(int offset;)120 504 Q(/* The current record. */)66 E(int length;)120
+516 Q(/* Number of records in list. */)66 E(int size;)120 528 Q
+(/* Number of records allocated. */)78 E(int flags;)120 540 Q 6(}H)108
+552 S(ISTORY_STATE;)-6 E F1(If the \215ags member includes)108 568.8 Q
 F2(HS_STIFLED)2.5 E F1 2.5(,t)C(he history has been sti\215ed.)-2.5 E/F4
-10.95/Times-Bold@0 SF(History Functions)72 427.2 Q F1
-(This section describes the calling sequence for the v)108 439.2 Q
+10.95/Times-Bold@0 SF(History Functions)72 585.6 Q F1
+(This section describes the calling sequence for the v)108 597.6 Q
 (arious functions e)-.25 E(xported by the GNU History library)-.15 E(.)
--.65 E F2(Initializing History and State Management)87 456 Q F1 1.274(T\
-his section describes functions used to initialize and manage the state\
- of the History library when you)108 468 R -.1(wa)108 480 S
-(nt to use the history functions in your program.).1 E F0(void)108 496.8
+-.65 E F2(Initializing History and State Management)87 614.4 Q F1 1.274
+(This section describes functions used to initialize and manage the sta\
+te of the History library when you)108 626.4 R -.1(wa)108 638.4 S
+(nt to use the history functions in your program.).1 E F0(void)108 655.2
 Q F2(using_history)2.5 E F1(\()4.166 E F0(void)A F1(\))1.666 E(Be)108
-508.8 Q(gin a session in which the history functions might be used.)-.15
+667.2 Q(gin a session in which the history functions might be used.)-.15
 E(This initializes the interacti)5 E .3 -.15(ve v)-.25 H(ariables.)-.1 E
-F0(HIST)108 525.6 Q(OR)-.18 E(Y_ST)-.18 E -.37(AT)-.5 G 2.5(E*).37 G F2
+F0(HIST)108 684 Q(OR)-.18 E(Y_ST)-.18 E -.37(AT)-.5 G 2.5(E*).37 G F2
 (history_get_history_state)A F1(\()4.166 E F0(void)A F1(\))1.666 E
 (Return a structure describing the current state of the input history)
-108 537.6 Q(.)-.65 E F0(void)108 554.4 Q F2(history_set_history_state)
-2.5 E F1(\()4.166 E F0(HIST)A(OR)-.18 E(Y_ST)-.18 E -.37(AT)-.5 G 2.5
-(E*).37 G(state)-2.5 E F1(\))1.666 E
-(Set the state of the history list according to)108 566.4 Q F0(state)2.5
-E F1(.)A F2(History List Management)87 583.2 Q F1
-(These functions manage indi)108 595.2 Q(vidual entries on the history \
-list, or set parameters managing the list itself.)-.25 E F0(void)108 612
-Q F2(add_history)2.5 E F1(\()4.166 E F0(const c)A(har *string)-.15 E F1
-(\))1.666 E(Place)108 624 Q F0(string)3.28 E F1 .779
-(at the end of the history list.)3.279 F .779
-(The associated data \214eld \(if an)5.779 F .779(y\) is set to)-.15 F
-F2(NULL)3.279 E F1 5.779(.I)C 3.279(ft)-5.779 G .779(he maxi-)-3.279 F
-.786(mum number of history entries has been set using)108 636 R F2
-(sti\215e_history\(\))3.286 E F1 3.286(,a)C .786(nd the ne)-3.286 F
-3.287(wn)-.25 G .787(umber of history entries)-3.287 F -.1(wo)108 648 S
-(uld e).1 E(xceed that maximum, the oldest history entry is remo)-.15 E
--.15(ve)-.15 G(d.).15 E F0(void)108 664.8 Q F2(add_history_time)2.5 E F1
-(\()4.166 E F0(const c)A(har *string)-.15 E F1(\))1.666 E
-(Change the time stamp associated with the most recent history entry to)
-108 676.8 Q F0(string)2.5 E F1(.)A F0(HIST_ENTR)108 693.6 Q 2.5(Y*)-.18
-G F2 -.18(re)C(mo).18 E -.1(ve)-.1 G(_history).1 E F1(\()4.166 E F0
-(int whic)A(h)-.15 E F1(\))1.666 E(Remo)108 705.6 Q .353 -.15(ve h)-.15
-H .053(istory entry at of).15 F(fset)-.25 E F0(whic)2.553 E(h)-.15 E F1
-.053(from the history)2.553 F 5.053(.T)-.65 G .053(he remo)-5.053 F -.15
-(ve)-.15 G 2.553(de).15 G .052(lement is returned so you can free the)
--2.553 F(line, data, and containing structure.)108 717.6 Q
-(GNU History 8.3)72 768 Q(2024 March 29)134.29 E(3)198.45 E 0 Cg EP
+108 696 Q(.)-.65 E F0(void)108 712.8 Q F2(history_set_history_state)2.5
+E F1(\()4.166 E F0(HIST)A(OR)-.18 E(Y_ST)-.18 E -.37(AT)-.5 G 2.5(E*).37
+G(state)-2.5 E F1(\))1.666 E
+(Set the state of the history list according to)108 724.8 Q F0(state)2.5
+E F1(.)A(GNU History 8.3)72 768 Q(2024 October 10)131.235 E(3)195.395 E
+0 Cg EP
 %%Page: 4 4
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Italic@0 SF(HIST)72.58 48 Q(OR)-.18 E(Y)-.18 E/F1 10
 /Times-Roman@0 SF 125.855(\(3\) Library)1.27 F(Functions Manual)2.5 E F0
-(HIST)128.935 E(OR)-.18 E(Y)-.18 E F1(\(3\))1.27 E F0(histdata_t)108 84
-Q/F2 10/Times-Bold@0 SF(fr)2.5 E(ee_history_entry)-.18 E F1(\()4.166 E
-F0(HIST_ENTR)A 2.5(Y*)-.18 G(histent)-2.5 E F1(\))1.666 E .933
-(Free the history entry)108 96 R F0(histent)3.433 E F1 .933(and an)3.433
-F 3.433(yh)-.15 G .933(istory library pri)-3.433 F -.25(va)-.25 G .933
-(te data associated with it.).25 F .934(Returns the applica-)5.933 F
-(tion-speci\214c data so the caller can dispose of it.)108 108 Q F0
-(HIST_ENTR)108 124.8 Q 2.5(Y*)-.18 G F2 -.18(re)C(place_history_entry)
-.18 E F1(\()4.166 E F0(int whic)A -.834(h, const)-.15 F -.15(ch)2.5 G
+(HIST)128.935 E(OR)-.18 E(Y)-.18 E F1(\(3\))1.27 E/F2 10/Times-Bold@0 SF
+(History List Management)87 84 Q F1(These functions manage indi)108 96 Q
+(vidual entries on the history list, or set parameters managing the lis\
+t itself.)-.25 E F0(void)108 112.8 Q F2(add_history)2.5 E F1(\()4.166 E
+F0(const c)A(har *string)-.15 E F1(\))1.666 E(Place)108 124.8 Q F0
+(string)3.279 E F1 .779(at the end of the history list.)3.279 F .779
+(The associated data \214eld \(if an)5.779 F .779(y\) is set to)-.15 F
+F2(NULL)3.279 E F1 5.779(.I)C 3.279(ft)-5.779 G .78(he maxi-)-3.279 F
+.787(mum number of history entries has been set using)108 136.8 R F2
+(sti\215e_history\(\))3.286 E F1 3.286(,a)C .786(nd the ne)-3.286 F
+3.286(wn)-.25 G .786(umber of history entries)-3.286 F -.1(wo)108 148.8
+S(uld e).1 E(xceed that maximum, the oldest history entry is remo)-.15 E
+-.15(ve)-.15 G(d.).15 E F0(void)108 165.6 Q F2(add_history_time)2.5 E F1
+(\()4.166 E F0(const c)A(har *string)-.15 E F1(\))1.666 E
+(Change the time stamp associated with the most recent history entry to)
+108 177.6 Q F0(string)2.5 E F1(.)A F0(HIST_ENTR)108 194.4 Q 2.5(Y*)-.18
+G F2 -.18(re)C(mo).18 E -.1(ve)-.1 G(_history).1 E F1(\()4.166 E F0
+(int whic)A(h)-.15 E F1(\))1.666 E(Remo)108 206.4 Q .352 -.15(ve h)-.15
+H .052(istory entry at of).15 F(fset)-.25 E F0(whic)2.553 E(h)-.15 E F1
+.053(from the history)2.553 F 5.053(.T)-.65 G .053(he remo)-5.053 F -.15
+(ve)-.15 G 2.553(de).15 G .053(lement is returned so you can free the)
+-2.553 F(line, data, and containing structure.)108 218.4 Q F0
+(histdata_t)108 235.2 Q F2(fr)2.5 E(ee_history_entry)-.18 E F1(\()4.166
+E F0(HIST_ENTR)A 2.5(Y*)-.18 G(histent)-2.5 E F1(\))1.666 E .934
+(Free the history entry)108 247.2 R F0(histent)3.433 E F1 .933(and an)
+3.433 F 3.433(yh)-.15 G .933(istory library pri)-3.433 F -.25(va)-.25 G
+.933(te data associated with it.).25 F .933(Returns the applica-)5.933 F
+(tion-speci\214c data so the caller can dispose of it.)108 259.2 Q F0
+(HIST_ENTR)108 276 Q 2.5(Y*)-.18 G F2 -.18(re)C(place_history_entry).18
+E F1(\()4.166 E F0(int whic)A -.834(h, const)-.15 F -.15(ch)2.5 G
 (ar *line).15 E 1.666(,h)-.1 G(istdata_t data)-1.666 E F1(\))3.332 E
-(Mak)108 136.8 Q 3.063(et)-.1 G .563(he history entry at of)-3.063 F
-(fset)-.25 E F0(whic)3.063 E(h)-.15 E F1(ha)3.063 E -.15(ve)-.2 G F0
-(line)3.213 E F1(and)3.063 E F0(data)3.063 E F1 5.562(.T)C .562
-(his returns the old entry so the caller can dis-)-5.562 F(pose of an)
-108 148.8 Q 2.5(ya)-.15 G(pplication-speci\214c data.)-2.5 E
+(Mak)108 288 Q 3.062(et)-.1 G .562(he history entry at of)-3.062 F(fset)
+-.25 E F0(whic)3.062 E(h)-.15 E F1(ha)3.062 E -.15(ve)-.2 G F0(line)
+3.212 E F1(and)3.062 E F0(data)3.062 E F1 5.563(.T)C .563
+(his returns the old entry so the caller can dis-)-5.563 F(pose of an)
+108 300 Q 2.5(ya)-.15 G(pplication-speci\214c data.)-2.5 E
 (In the case of an in)5 E -.25(va)-.4 G(lid).25 E F0(whic)2.5 E(h)-.15 E
-F1 2.5(,a)C F2(NULL)A F1(pointer is returned.)2.5 E F0(void)108 165.6 Q
+F1 2.5(,a)C F2(NULL)A F1(pointer is returned.)2.5 E F0(void)108 316.8 Q
 F2(clear_history)2.5 E F1(\()4.166 E F0(void)A F1(\))1.666 E
-(Clear the history list by deleting all the entries.)108 177.6 Q F0
-(void)108 194.4 Q F2(sti\215e_history)2.5 E F1(\()4.166 E F0(int max)A
+(Clear the history list by deleting all the entries.)108 328.8 Q F0
+(void)108 345.6 Q F2(sti\215e_history)2.5 E F1(\()4.166 E F0(int max)A
 F1(\))1.666 E .38(Sti\215e the history list, remembering only the last)
-108 206.4 R F0(max)2.88 E F1 2.88(entries. The)2.88 F .38
+108 357.6 R F0(max)2.88 E F1 2.88(entries. The)2.88 F .38
 (history list will contain only)2.88 F F0(max)2.88 E F1(entries)2.88 E
-(at a time.)108 218.4 Q F0(int)108 235.2 Q F2(unsti\215e_history)2.5 E
+(at a time.)108 369.6 Q F0(int)108 386.4 Q F2(unsti\215e_history)2.5 E
 F1(\()4.166 E F0(void)A F1(\))1.666 E .46(Stop sti\215ing the history)
-108 247.2 R 5.46(.T)-.65 G .46(his returns the pre)-5.46 F .46
+108 398.4 R 5.46(.T)-.65 G .46(his returns the pre)-5.46 F .46
 (viously-set maximum number of history entries \(as set by)-.25 F F2
-(sti-)2.96 E(\215e_history\(\))108 259.2 Q F1 2.5(\). history)B -.1(wa)
+(sti-)2.96 E(\215e_history\(\))108 410.4 Q F1 2.5(\). history)B -.1(wa)
 2.5 G 2.5(ss).1 G 2.5(ti\215ed. The)-2.5 F -.25(va)2.5 G(lue is positi)
 .25 E .3 -.15(ve i)-.25 H 2.5(ft).15 G(he history w)-2.5 E
 (as sti\215ed, ne)-.1 E -.05(ga)-.15 G(ti).05 E .3 -.15(ve i)-.25 H 2.5
-(fi).15 G 2.5(tw)-2.5 G(asn')-2.6 E(t.)-.18 E F0(int)108 276 Q F2
+(fi).15 G 2.5(tw)-2.5 G(asn')-2.6 E(t.)-.18 E F0(int)108 427.2 Q F2
 (history_is_sti\215ed)2.5 E F1(\()4.166 E F0(void)A F1(\))1.666 E
 (Returns non-zero if the history is sti\215ed, zero if it is not.)108
-288 Q F2(Inf)87 304.8 Q(ormation About the History List)-.25 E F1(These\
+439.2 Q F2(Inf)87 456 Q(ormation About the History List)-.25 E F1(These\
  functions return information about the entire history list or indi)108
-316.8 Q(vidual list entries.)-.25 E F0(HIST_ENTR)108 333.6 Q 2.5(Y*)-.18
-G(*)-2.5 E F2(history_list)2.5 E F1(\()4.166 E F0(void)A F1(\))1.666 E
-.707(Return a)108 345.6 R F2(NULL)3.207 E F1 .707(terminated array of)
-3.207 F F0(HIST_ENTR)3.207 E 3.208(Y*)-.18 G F1 .708
-(which is the current input history)B 5.708(.E)-.65 G .708
-(lement 0 of this)-5.708 F(list is the be)108 357.6 Q(ginning of time.)
+468 Q(vidual list entries.)-.25 E F0(HIST_ENTR)108 484.8 Q 2.5(Y*)-.18 G
+(*)-2.5 E F2(history_list)2.5 E F1(\()4.166 E F0(void)A F1(\))1.666 E
+.708(Return a)108 496.8 R F2(NULL)3.208 E F1 .708(terminated array of)
+3.208 F F0(HIST_ENTR)3.208 E 3.208(Y*)-.18 G F1 .708
+(which is the current input history)B 5.707(.E)-.65 G .707
+(lement 0 of this)-5.707 F(list is the be)108 508.8 Q(ginning of time.)
 -.15 E(If there is no history)5 E 2.5(,r)-.65 G(eturn)-2.5 E F2(NULL)2.5
-E F1(.)A F0(int)108 374.4 Q F2(wher)2.5 E(e_history)-.18 E F1(\()4.166 E
-F0(void)A F1(\))1.666 E(Returns the of)108 386.4 Q
-(fset of the current history element.)-.25 E F0(HIST_ENTR)108 403.2 Q
+E F1(.)A F0(int)108 525.6 Q F2(wher)2.5 E(e_history)-.18 E F1(\()4.166 E
+F0(void)A F1(\))1.666 E(Returns the of)108 537.6 Q
+(fset of the current history element.)-.25 E F0(HIST_ENTR)108 554.4 Q
 2.5(Y*)-.18 G F2(curr)A(ent_history)-.18 E F1(\()4.166 E F0(void)A F1
 (\))1.666 E 1.373
 (Return the history entry at the current position, as determined by)108
-415.2 R F2(wher)3.873 E(e_history\(\))-.18 E F1 6.373(.I)C 3.873(ft)
--6.373 G 1.373(here is no entry)-3.873 F(there, return a)108 427.2 Q F2
-(NULL)2.5 E F1(pointer)2.5 E(.)-.55 E F0(HIST_ENTR)108 444 Q 2.5(Y*)-.18
-G F2(history_get)A F1(\()4.166 E F0(int of)A(fset)-.18 E F1(\))1.666 E
-1.068(Return the history entry at position)108 456 R F0(of)3.569 E(fset)
--.18 E F1 6.069(.T)C 1.069(he range of v)-6.069 F 1.069(alid v)-.25 F
-1.069(alues of)-.25 F F0(of)3.569 E(fset)-.18 E F1 1.069(starts at)3.569
-F F2(history_base)3.569 E F1(and)3.569 E .287(ends at)108 468 R F2
-(history_length)2.787 E F1 2.787<ad31>2.787 G 5.286(.I)-2.787 G 2.786
-(ft)-5.286 G .286(here is no entry there, or if)-2.786 F F0(of)2.786 E
-(fset)-.18 E F1 .286(is outside the v)2.786 F .286(alid range, return a)
--.25 F F2(NULL)2.786 E F1(pointer)108 480 Q(.)-.55 E F0(time_t)108 496.8
-Q F2(history_get_time)2.5 E F1(\()4.166 E F0(HIST_ENTR)A 2.5(Y*)-.18 G
-F1(\))-.834 E(Return the time stamp associated with the history entry p\
-assed as the ar)108 508.8 Q(gument.)-.18 E F0(int)108 525.6 Q F2
-(history_total_bytes)2.5 E F1(\()4.166 E F0(void)A F1(\))1.666 E .391
+566.4 R F2(wher)3.873 E(e_history\(\))-.18 E F1 6.373(.I)C 3.873(ft)
+-6.373 G 1.374(here is no entry)-3.873 F(there, return a)108 578.4 Q F2
+(NULL)2.5 E F1(pointer)2.5 E(.)-.55 E F0(HIST_ENTR)108 595.2 Q 2.5(Y*)
+-.18 G F2(history_get)A F1(\()4.166 E F0(int of)A(fset)-.18 E F1(\))
+1.666 E 1.069(Return the history entry at position)108 607.2 R F0(of)
+3.569 E(fset)-.18 E F1 6.069(.T)C 1.069(he range of v)-6.069 F 1.069
+(alid v)-.25 F 1.069(alues of)-.25 F F0(of)3.569 E(fset)-.18 E F1 1.068
+(starts at)3.569 F F2(history_base)3.568 E F1(and)3.568 E .286(ends at)
+108 619.2 R F2(history_length)2.786 E F1 2.786<ad31>2.786 G 5.286(.I)
+-2.786 G 2.786(ft)-5.286 G .286(here is no entry there, or if)-2.786 F
+F0(of)2.786 E(fset)-.18 E F1 .286(is outside the v)2.786 F .287
+(alid range, return a)-.25 F F2(NULL)2.787 E F1(pointer)108 631.2 Q(.)
+-.55 E F0(time_t)108 648 Q F2(history_get_time)2.5 E F1(\()4.166 E F0
+(HIST_ENTR)A 2.5(Y*)-.18 G F1(\))-.834 E(Return the time stamp associat\
+ed with the history entry passed as the ar)108 660 Q(gument.)-.18 E F0
+(int)108 676.8 Q F2(history_total_bytes)2.5 E F1(\()4.166 E F0(void)A F1
+(\))1.666 E .392
 (Return the number of bytes that the primary history entries are using.)
-108 537.6 R .392(This function returns the sum of the)5.392 F
-(lengths of all the lines in the history)108 549.6 Q(.)-.65 E F2(Mo)87
-566.4 Q(ving Ar)-.1 E(ound the History List)-.18 E F1
-(These functions allo)108 578.4 Q 2.5(wt)-.25 G(he current inde)-2.5 E
-2.5(xi)-.15 G(nto the history list to be set or changed.)-2.5 E F0(int)
-108 595.2 Q F2(history_set_pos)2.5 E F1(\()4.166 E F0(int pos)A F1(\))
-1.666 E .79(Set the current history of)108 607.2 R .79(fset to)-.25 F F0
-(pos)3.29 E F1 3.29(,a)C 3.29(na)-3.29 G .79(bsolute inde)-3.29 F 3.29
-(xi)-.15 G .79(nto the list.)-3.29 F .79(Returns 1 on success, 0 if)5.79
-F F0(pos)3.29 E F1 .79(is less)3.29 F
-(than zero or greater than the number of history entries.)108 619.2 Q F0
-(HIST_ENTR)108 636 Q 2.5(Y*)-.18 G F2(pr)A -.15(ev)-.18 G(ious_history)
-.15 E F1(\()4.166 E F0(void)A F1(\))1.666 E .207
-(Back up the current history of)108 648 R .207(fset to the pre)-.25 F
-.207(vious history entry)-.25 F 2.708(,a)-.65 G .208
-(nd return a pointer to that entry)-2.708 F 5.208(.I)-.65 G 2.708(ft)
--5.208 G .208(here is)-2.708 F(no pre)108 660 Q(vious entry)-.25 E 2.5
-(,r)-.65 G(eturn a)-2.5 E F2(NULL)2.5 E F1(pointer)2.5 E(.)-.55 E F0
-(HIST_ENTR)108 676.8 Q 2.5(Y*)-.18 G F2(next_history)A F1(\()4.166 E F0
-(void)A F1(\))1.666 E .333(If the current history of)108 688.8 R .333
-(fset refers to a v)-.25 F .333(alid history entry)-.25 F 2.833(,i)-.65
-G .333(ncrement the current history of)-2.833 F 2.832(fset. If)-.25 F
-.332(the possi-)2.832 F .201(bly-incremented history of)108 700.8 R .202
-(fset refers to a v)-.25 F .202(alid history entry)-.25 F 2.702(,r)-.65
-G .202(eturn a pointer to that entry; otherwise, return)-2.702 F(a)108
-712.8 Q F2(NULL)2.5 E F1(pointer)2.5 E(.)-.55 E(GNU History 8.3)72 768 Q
-(2024 March 29)134.29 E(4)198.45 E 0 Cg EP
+108 688.8 R .391(This function returns the sum of the)5.392 F
+(lengths of all the lines in the history)108 700.8 Q(.)-.65 E
+(GNU History 8.3)72 768 Q(2024 October 10)131.235 E(4)195.395 E 0 Cg EP
 %%Page: 5 5
 %%BeginPageSetup
 BP
@@ -673,287 +684,311 @@ BP
 /F0 10/Times-Italic@0 SF(HIST)72.58 48 Q(OR)-.18 E(Y)-.18 E/F1 10
 /Times-Roman@0 SF 125.855(\(3\) Library)1.27 F(Functions Manual)2.5 E F0
 (HIST)128.935 E(OR)-.18 E(Y)-.18 E F1(\(3\))1.27 E/F2 10/Times-Bold@0 SF
-(Sear)87 84 Q(ching the History List)-.18 E F1 .006
-(These functions allo)108 96 R 2.506(ws)-.25 G .006(earching of the his\
-tory list for entries containing a speci\214c string.)-2.506 F .005
-(Searching may be)5.005 F 1.451(performed both forw)108 108 R 1.451
-(ard and backw)-.1 F 1.451(ard from the current history position.)-.1 F
-1.452(The search may be)6.452 F F0(anc)3.952 E(hor)-.15 E(ed)-.37 E F1
-(,)A(meaning that the string must match at the be)108 120 Q
-(ginning of the history entry)-.15 E(.)-.65 E F0(int)108 136.8 Q F2
+(Mo)87 84 Q(ving Ar)-.1 E(ound the History List)-.18 E F1
+(These functions allo)108 96 Q 2.5(wt)-.25 G(he current inde)-2.5 E 2.5
+(xi)-.15 G(nto the history list to be set or changed.)-2.5 E F0(int)108
+112.8 Q F2(history_set_pos)2.5 E F1(\()4.166 E F0(int pos)A F1(\))1.666
+E .79(Set the current history of)108 124.8 R .79(fset to)-.25 F F0(pos)
+3.29 E F1 3.29(,a)C 3.29(na)-3.29 G .79(bsolute inde)-3.29 F 3.29(xi)
+-.15 G .79(nto the list.)-3.29 F .79(Returns 1 on success, 0 if)5.79 F
+F0(pos)3.29 E F1 .79(is less)3.29 F
+(than zero or greater than the number of history entries.)108 136.8 Q F0
+(HIST_ENTR)108 153.6 Q 2.5(Y*)-.18 G F2(pr)A -.15(ev)-.18 G
+(ious_history).15 E F1(\()4.166 E F0(void)A F1(\))1.666 E .208
+(Back up the current history of)108 165.6 R .208(fset to the pre)-.25 F
+.208(vious history entry)-.25 F 2.707(,a)-.65 G .207
+(nd return a pointer to that entry)-2.707 F 5.207(.I)-.65 G 2.707(ft)
+-5.207 G .207(here is)-2.707 F(no pre)108 177.6 Q(vious entry)-.25 E 2.5
+(,r)-.65 G(eturn a)-2.5 E F2(NULL)2.5 E F1(pointer)2.5 E(.)-.55 E F0
+(HIST_ENTR)108 194.4 Q 2.5(Y*)-.18 G F2(next_history)A F1(\()4.166 E F0
+(void)A F1(\))1.666 E .332(If the current history of)108 206.4 R .333
+(fset refers to a v)-.25 F .333(alid history entry)-.25 F 2.833(,i)-.65
+G .333(ncrement the current history of)-2.833 F 2.833(fset. If)-.25 F
+.333(the possi-)2.833 F .202(bly-incremented history of)108 218.4 R .202
+(fset refers to a v)-.25 F .202(alid history entry)-.25 F 2.702(,r)-.65
+G .202(eturn a pointer to that entry; otherwise, return)-2.702 F(a)108
+230.4 Q F2(NULL)2.5 E F1(pointer)2.5 E(.)-.55 E F2(Sear)87 247.2 Q
+(ching the History List)-.18 E F1 .005(These functions allo)108 259.2 R
+2.505(ws)-.25 G .006(earching of the history list for entries containin\
+g a speci\214c string.)-2.505 F .006(Searching may be)5.006 F 1.452
+(performed both forw)108 271.2 R 1.452(ard and backw)-.1 F 1.451
+(ard from the current history position.)-.1 F 1.451(The search may be)
+6.451 F F0(anc)3.951 E(hor)-.15 E(ed)-.37 E F1(,)A
+(meaning that the string must match at the be)108 283.2 Q
+(ginning of the history entry)-.15 E(.)-.65 E F0(int)108 300 Q F2
 (history_sear)2.5 E(ch)-.18 E F1(\()4.166 E F0(const c)A(har *string)
--.15 E 1.666(,i)-.1 G(nt dir)-1.666 E(ection)-.37 E F1(\))1.666 E .156
-(Search the history for)108 148.8 R F0(string)2.656 E F1 2.656(,s)C .156
+-.15 E 1.666(,i)-.1 G(nt dir)-1.666 E(ection)-.37 E F1(\))1.666 E .155
+(Search the history for)108 312 R F0(string)2.655 E F1 2.656(,s)C .156
 (tarting at the current history of)-2.656 F 2.656(fset. If)-.25 F F0
-(dir)2.656 E(ection)-.37 E F1 .155(is less than 0, then the search)2.656
-F .801(is through pre)108 160.8 R .801
+(dir)2.656 E(ection)-.37 E F1 .156(is less than 0, then the search)2.656
+F .802(is through pre)108 324 R .802
 (vious entries, otherwise through subsequent entries.)-.25 F(If)5.801 E
-F0(string)3.301 E F1 .802(is found, then the current his-)3.301 F .065
-(tory inde)108 172.8 R 2.565(xi)-.15 G 2.564(ss)-2.565 G .064
+F0(string)3.301 E F1 .801(is found, then the current his-)3.301 F .064
+(tory inde)108 336 R 2.564(xi)-.15 G 2.564(ss)-2.564 G .064
 (et to that history entry)-2.564 F 2.564(,a)-.65 G .064(nd the v)-2.564
 F .064(alue returned is the of)-.25 F .064
-(fset in the line of the entry where)-.25 F F0(string)2.564 E F1 -.1(wa)
-108 184.8 S 2.5(sf).1 G 2.5(ound. Otherwise,)-2.5 F
+(fset in the line of the entry where)-.25 F F0(string)2.565 E F1 -.1(wa)
+108 348 S 2.5(sf).1 G 2.5(ound. Otherwise,)-2.5 F
 (nothing is changed, and the function returns \2551.)2.5 E F0(int)108
-201.6 Q F2(history_sear)2.5 E(ch_pr)-.18 E(e\214x)-.18 E F1(\()4.166 E
+364.8 Q F2(history_sear)2.5 E(ch_pr)-.18 E(e\214x)-.18 E F1(\()4.166 E
 F0(const c)A(har *string)-.15 E 1.666(,i)-.1 G(nt dir)-1.666 E(ection)
--.37 E F1(\))1.666 E .683(Search the history for)108 213.6 R F0(string)
+-.37 E F1(\))1.666 E .684(Search the history for)108 376.8 R F0(string)
 3.183 E F1 3.183(,s)C .683(tarting at the current history of)-3.183 F
 3.183(fset. The)-.25 F .683(search is anchored: matching lines)3.183 F
-1.064(must be)108 225.6 R 1.064(gin with)-.15 F F0(string)3.564 E F1
-6.064(.I)C(f)-6.064 E F0(dir)3.564 E(ection)-.37 E F1 1.063
-(is less than 0, then the search is through pre)3.564 F 1.063
+1.063(must be)108 388.8 R 1.063(gin with)-.15 F F0(string)3.563 E F1
+6.063(.I)C(f)-6.063 E F0(dir)3.563 E(ection)-.37 E F1 1.064
+(is less than 0, then the search is through pre)3.563 F 1.064
 (vious entries, otherwise)-.25 F .34(through subsequent entries.)108
-237.6 R(If)5.34 E F0(string)2.84 E F1 .34
+400.8 R(If)5.34 E F0(string)2.84 E F1 .34
 (is found, then the current history inde)2.84 F 2.84(xi)-.15 G 2.84(ss)
 -2.84 G .34(et to that entry)-2.84 F 2.84(,a)-.65 G .34(nd the re-)-2.84
-F(turn v)108 249.6 Q(alue is 0.)-.25 E
+F(turn v)108 412.8 Q(alue is 0.)-.25 E
 (Otherwise, nothing is changed, and the function returns \2551.)5 E F0
-(int)108 266.4 Q F2(history_sear)2.5 E(ch_pos)-.18 E F1(\()4.166 E F0
+(int)108 429.6 Q F2(history_sear)2.5 E(ch_pos)-.18 E F1(\()4.166 E F0
 (const c)A(har *string)-.15 E 1.666(,i)-.1 G(nt dir)-1.666 E -.834
-(ection, int)-.37 F(pos)2.5 E F1(\))3.332 E .604(Search for)108 278.4 R
-F0(string)3.104 E F1 .604(in the history list, starting at)3.104 F F0
+(ection, int)-.37 F(pos)2.5 E F1(\))3.332 E .603(Search for)108 441.6 R
+F0(string)3.103 E F1 .603(in the history list, starting at)3.103 F F0
 (pos)3.104 E F1 3.104(,a)C 3.104(na)-3.104 G .604(bsolute inde)-3.104 F
-3.104(xi)-.15 G .603(nto the list.)-3.104 F(If)5.603 E F0(dir)3.103 E
-(ection)-.37 E F1 .603(is ne)3.103 F -.05(ga)-.15 G(ti).05 E -.15(ve)
--.25 G(,).15 E .608(the search proceeds backw)108 290.4 R .608(ard from)
+3.104(xi)-.15 G .604(nto the list.)-3.104 F(If)5.604 E F0(dir)3.104 E
+(ection)-.37 E F1 .604(is ne)3.104 F -.05(ga)-.15 G(ti).05 E -.15(ve)
+-.25 G(,).15 E .608(the search proceeds backw)108 453.6 R .608(ard from)
 -.1 F F0(pos)3.108 E F1 3.108(,o)C .608(therwise forw)-3.108 F 3.108
 (ard. Returns)-.1 F .608(the absolute inde)3.108 F 3.108(xo)-.15 G 3.108
-(ft)-3.108 G .608(he history ele-)-3.108 F(ment where)108 302.4 Q F0
+(ft)-3.108 G .608(he history ele-)-3.108 F(ment where)108 465.6 Q F0
 (string)2.5 E F1 -.1(wa)2.5 G 2.5(sf).1 G(ound, or \2551 otherwise.)-2.5
-E F2(Managing the History File)87 319.2 Q F1 .035(The History library c\
-an read the history from and write it to a \214le.)108 331.2 R .035
+E F2(Managing the History File)87 482.4 Q F1 .035(The History library c\
+an read the history from and write it to a \214le.)108 494.4 R .036
 (This section documents the functions for)5.035 F
-(managing a history \214le.)108 343.2 Q F0(int)108 360 Q F2 -.18(re)2.5
-G(ad_history).18 E F1(\()4.166 E F0(const c)A(har *\214lename)-.15 E F1
-(\))1.666 E .051(Add the contents of)108 372 R F0(\214lename)2.551 E F1
-.051(to the history list, a line at a time.)2.551 F(If)5.052 E F0
-(\214lename)2.552 E F1(is)2.552 E F2(NULL)2.552 E F1 2.552(,t)C .052
-(hen read from)-2.552 F F0(\001/.his-)2.552 E(tory)108 384 Q F1 5(.R)C
+(managing a history \214le.)108 506.4 Q F0(int)108 523.2 Q F2 -.18(re)
+2.5 G(ad_history).18 E F1(\()4.166 E F0(const c)A(har *\214lename)-.15 E
+F1(\))1.666 E .052(Add the contents of)108 535.2 R F0(\214lename)2.552 E
+F1 .052(to the history list, a line at a time.)2.552 F(If)5.051 E F0
+(\214lename)2.551 E F1(is)2.551 E F2(NULL)2.551 E F1 2.551(,t)C .051
+(hen read from)-2.551 F F0(\001/.his-)2.551 E(tory)108 547.2 Q F1 5(.R)C
 (eturns 0 if successful, or)-5 E F2(err)2.5 E(no)-.15 E F1(if not.)2.5 E
-F0(int)108 400.8 Q F2 -.18(re)2.5 G(ad_history_range).18 E F1(\()4.166 E
+F0(int)108 564 Q F2 -.18(re)2.5 G(ad_history_range).18 E F1(\()4.166 E
 F0(const c)A(har *\214lename)-.15 E 1.666(,i)-.1 G(nt fr)-1.666 E -.834
-(om, int)-.45 F(to)2.5 E F1(\))3.332 E .053(Read a range of lines from)
-108 412.8 R F0(\214lename)2.553 E F1 2.553(,a)C .053
+(om, int)-.45 F(to)2.5 E F1(\))3.332 E .052(Read a range of lines from)
+108 576 R F0(\214lename)2.553 E F1 2.553(,a)C .053
 (dding them to the history list.)-2.553 F .053(Start reading at line)
-5.053 F F0(fr)2.553 E(om)-.45 E F1 .052(and end at)2.553 F F0(to)2.552 E
-F1(.)A(If)108 424.8 Q F0(fr)2.888 E(om)-.45 E F1 .388
-(is zero, start at the be)2.888 F 2.889(ginning. If)-.15 F F0(to)2.889 E
-F1 .389(is less than)2.889 F F0(fr)2.889 E(om)-.45 E F1 2.889(,t)C .389
-(hen read until the end of the \214le.)-2.889 F(If)5.389 E F0
-(\214lename)2.889 E F1(is)108 436.8 Q F2(NULL)2.5 E F1 2.5(,t)C
+5.053 F F0(fr)2.553 E(om)-.45 E F1 .053(and end at)2.553 F F0(to)2.553 E
+F1(.)A(If)108 588 Q F0(fr)2.889 E(om)-.45 E F1 .389
+(is zero, start at the be)2.889 F 2.889(ginning. If)-.15 F F0(to)2.889 E
+F1 .389(is less than)2.889 F F0(fr)2.889 E(om)-.45 E F1 2.889(,t)C .388
+(hen read until the end of the \214le.)-2.889 F(If)5.388 E F0
+(\214lename)2.888 E F1(is)108 600 Q F2(NULL)2.5 E F1 2.5(,t)C
 (hen read from)-2.5 E F0(\001/.history)2.5 E F1 5(.R)C
 (eturns 0 if successful, or)-5 E F2(err)2.5 E(no)-.15 E F1(if not.)2.5 E
-F0(int)108 453.6 Q F2(write_history)2.5 E F1(\()4.166 E F0(const c)A
-(har *\214lename)-.15 E F1(\))1.666 E .962(Write the current history to)
-108 465.6 R F0(\214lename)3.462 E F1 3.461(,o)C -.15(ve)-3.611 G
+F0(int)108 616.8 Q F2(write_history)2.5 E F1(\()4.166 E F0(const c)A
+(har *\214lename)-.15 E F1(\))1.666 E .961(Write the current history to)
+108 628.8 R F0(\214lename)3.461 E F1 3.461(,o)C -.15(ve)-3.611 G
 (rwriting).15 E F0(\214lename)3.461 E F1 .961(if necessary)3.461 F 5.961
-(.I)-.65 G(f)-5.961 E F0(\214lename)3.461 E F1(is)3.461 E F2(NULL)3.461
-E F1 3.461(,t)C .961(hen write)-3.461 F(the history list to)108 477.6 Q
+(.I)-.65 G(f)-5.961 E F0(\214lename)3.462 E F1(is)3.462 E F2(NULL)3.462
+E F1 3.462(,t)C .962(hen write)-3.462 F(the history list to)108 640.8 Q
 F0(\001/.history)2.5 E F1 5(.R)C(eturns 0 on success, or)-5 E F2(err)2.5
-E(no)-.15 E F1(on a read or write error)2.5 E(.)-.55 E F0(int)108 494.4
+E(no)-.15 E F1(on a read or write error)2.5 E(.)-.55 E F0(int)108 657.6
 Q F2(append_history)2.5 E F1(\()4.166 E F0(int nelements,)A(const c)
-1.666 E(har *\214lename)-.15 E F1(\))1.666 E .716(Append the last)108
-506.4 R F0(nelements)3.216 E F1 .716(of the history list to)3.216 F F0
-(\214lename)3.216 E F1 5.717(.I)C(f)-5.717 E F0(\214lename)3.217 E F1
-(is)3.217 E F2(NULL)3.217 E F1 3.217(,t)C .717(hen append to)-3.217 F F0
-(\001/.history)3.217 E F1(.)A(Returns 0 on success, or)108 518.4 Q F2
+1.666 E(har *\214lename)-.15 E F1(\))1.666 E .717(Append the last)108
+669.6 R F0(nelements)3.217 E F1 .717(of the history list to)3.217 F F0
+(\214lename)3.216 E F1 5.716(.I)C(f)-5.716 E F0(\214lename)3.216 E F1
+(is)3.216 E F2(NULL)3.216 E F1 3.216(,t)C .716(hen append to)-3.216 F F0
+(\001/.history)3.216 E F1(.)A(Returns 0 on success, or)108 681.6 Q F2
 (err)2.5 E(no)-.15 E F1(on a read or write error)2.5 E(.)-.55 E F0(int)
-108 535.2 Q F2(history_truncate_\214le)2.5 E F1(\()4.166 E F0(const c)A
+108 698.4 Q F2(history_truncate_\214le)2.5 E F1(\()4.166 E F0(const c)A
 (har *\214lename)-.15 E 1.666(,i)-.1 G(nt nlines)-1.666 E F1(\))1.666 E
--.35(Tr)108 547.2 S .259(uncate the history \214le).35 F F0(\214lename)
-2.759 E F1 2.758(,l)C(ea)-2.758 E .258(ving only the last)-.2 F F0
+-.35(Tr)108 710.4 S .258(uncate the history \214le).35 F F0(\214lename)
+2.758 E F1 2.758(,l)C(ea)-2.758 E .258(ving only the last)-.2 F F0
 (nlines)2.758 E F1 2.758(lines. If)2.758 F F0(\214lename)2.758 E F1(is)
-2.758 E F2(NULL)2.758 E F1 2.758(,t)C(hen)-2.758 E F0(\001/.history)
-2.758 E F1(is)2.758 E 2.5(truncated. Returns)108 559.2 R 2.5(0o)2.5 G
+2.758 E F2(NULL)2.759 E F1 2.759(,t)C(hen)-2.759 E F0(\001/.history)
+2.759 E F1(is)2.759 E 2.5(truncated. Returns)108 722.4 R 2.5(0o)2.5 G
 2.5(ns)-2.5 G(uccess, or)-2.5 E F2(err)2.5 E(no)-.15 E F1(on f)2.5 E
-(ailure.)-.1 E F2(History Expansion)87 576 Q F1
-(These functions implement history e)108 588 Q(xpansion.)-.15 E F0(int)
-108 604.8 Q F2(history_expand)2.5 E F1(\()4.166 E F0(const c)A
-(har *string)-.15 E 1.666(,c)-.1 G(har **output)-1.816 E F1(\))1.666 E
-(Expand)108 616.8 Q F0(string)2.5 E F1 2.5(,p)C(lacing the result into)
--2.5 E F0(output)2.5 E F1 2.5(,ap)C(ointer to a string.)-2.5 E(Returns:)
-5 E(0)144 628.8 Q .565(If no e)180 628.8 R .565
-(xpansions took place \(or)-.15 F 3.065(,i)-.4 G 3.065(ft)-3.065 G .565
-(he only change in the te)-3.065 F .566(xt w)-.15 F .566(as the remo)-.1
-F -.25(va)-.15 G 3.066(lo).25 G 3.066(fe)-3.066 G(scape)-3.066 E
-(characters preceding the history e)180 640.8 Q(xpansion character\);)
--.15 E(1)144 652.8 Q(if e)180 652.8 Q(xpansions did tak)-.15 E 2.5(ep)
--.1 G(lace;)-2.5 E<ad31>144 664.8 Q(if there w)180 664.8 Q
-(as an error in e)-.1 E(xpansion;)-.15 E(2)144 676.8 Q
-(if the returned line should be displayed, b)180 676.8 Q(ut not e)-.2 E
--.15(xe)-.15 G(cuted, as with the).15 E F2(:p)2.5 E F1(modi\214er)2.5 E
-(.)-.55 E(If an error occurred in e)108 688.8 Q(xpansion, then)-.15 E F0
-(output)2.5 E F1(contains a descripti)2.5 E .3 -.15(ve e)-.25 H
-(rror message.).15 E F0 -.15(ch)108 705.6 S(ar *).15 E F2(get_history_e)
-2.5 E -.1(ve)-.15 G(nt).1 E F1(\()4.166 E F0(const c)A(har *string)-.15
-E 1.666(,i)-.1 G(nt *cinde)-1.666 E -.834(x, int)-.2 F(qc)2.5 E(har)-.15
-E F1(\))3.332 E .263(Returns the te)108 717.6 R .263
-(xt of the history e)-.15 F -.15(ve)-.25 G .263(nt be).15 F .263
-(ginning at)-.15 F F0(string)2.763 E F1(+)2.763 E F0(*cinde)2.763 E(x)
--.2 E F1(.)A F0(*cinde)5.263 E(x)-.2 E F1 .262
-(is modi\214ed to point to after the)2.762 F -2.15 -.25(ev e)108 729.6 T
-3.478(nt speci\214er).25 F 8.478(.A)-.55 G 5.978(tf)-8.478 G 3.478
-(unction entry)-5.978 F(,)-.65 E F0(cinde)5.978 E(x)-.2 E F1 3.478
-(points to the inde)5.978 F 5.978(xi)-.15 G(nto)-5.978 E F0(string)5.978
-E F1 3.478(where the history e)5.978 F -.15(ve)-.25 G(nt).15 E
-(GNU History 8.3)72 768 Q(2024 March 29)134.29 E(5)198.45 E 0 Cg EP
+(ailure.)-.1 E(GNU History 8.3)72 768 Q(2024 October 10)131.235 E(5)
+195.395 E 0 Cg EP
 %%Page: 6 6
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Italic@0 SF(HIST)72.58 48 Q(OR)-.18 E(Y)-.18 E/F1 10
 /Times-Roman@0 SF 125.855(\(3\) Library)1.27 F(Functions Manual)2.5 E F0
-(HIST)128.935 E(OR)-.18 E(Y)-.18 E F1(\(3\))1.27 E 1.01
-(speci\214cation be)108 84 R(gins.)-.15 E F0(qc)6.01 E(har)-.15 E F1
-1.01(is a character that is allo)3.51 F 1.01(wed to end the e)-.25 F
--.15(ve)-.25 G 1.01(nt speci\214cation in addition to the).15 F -.74(``)
-108 96 S(normal').74 E 2.5('t)-.74 G(erminating characters.)-2.5 E F0
--.15(ch)108 112.8 S(ar **).15 E/F2 10/Times-Bold@0 SF(history_tok)2.5 E
-(enize)-.1 E F1(\()4.166 E F0(const c)A(har *string)-.15 E F1(\))1.666 E
-.238(Return an array of tok)108 124.8 R .238(ens parsed out of)-.1 F F0
-(string)2.738 E F1 2.738(,m)C .239(uch as the shell might.)-2.738 F .239
-(The tok)5.239 F .239(ens are split on the charac-)-.1 F(ters in the)108
-136.8 Q F2(history_w)2.5 E(ord_delimiters)-.1 E F1 -.25(va)2.5 G
+(HIST)128.935 E(OR)-.18 E(Y)-.18 E F1(\(3\))1.27 E/F2 10/Times-Bold@0 SF
+(History Expansion)87 84 Q F1(These functions implement history e)108 96
+Q(xpansion.)-.15 E F0(int)108 112.8 Q F2(history_expand)2.5 E F1(\()
+4.166 E F0(const c)A(har *string)-.15 E 1.666(,c)-.1 G(har **output)
+-1.816 E F1(\))1.666 E(Expand)108 124.8 Q F0(string)2.5 E F1 2.5(,p)C
+(lacing the result into)-2.5 E F0(output)2.5 E F1 2.5(,ap)C
+(ointer to a string.)-2.5 E(Returns:)5 E(0)144 136.8 Q .566(If no e)180
+136.8 R .566(xpansions took place \(or)-.15 F 3.065(,i)-.4 G 3.065(ft)
+-3.065 G .565(he only change in the te)-3.065 F .565(xt w)-.15 F .565
+(as the remo)-.1 F -.25(va)-.15 G 3.065(lo).25 G 3.065(fe)-3.065 G
+(scape)-3.065 E(characters preceding the history e)180 148.8 Q
+(xpansion character\);)-.15 E(1)144 160.8 Q(if e)180 160.8 Q
+(xpansions did tak)-.15 E 2.5(ep)-.1 G(lace;)-2.5 E<ad31>144 172.8 Q
+(if there w)180 172.8 Q(as an error in e)-.1 E(xpansion;)-.15 E(2)144
+184.8 Q(if the returned line should be displayed, b)180 184.8 Q
+(ut not e)-.2 E -.15(xe)-.15 G(cuted, as with the).15 E F2(:p)2.5 E F1
+(modi\214er)2.5 E(.)-.55 E(If an error occurred in e)108 196.8 Q
+(xpansion, then)-.15 E F0(output)2.5 E F1(contains a descripti)2.5 E .3
+-.15(ve e)-.25 H(rror message.).15 E F0 -.15(ch)108 213.6 S(ar *).15 E
+F2(get_history_e)2.5 E -.1(ve)-.15 G(nt).1 E F1(\()4.166 E F0(const c)A
+(har *string)-.15 E 1.666(,i)-.1 G(nt *cinde)-1.666 E -.834(x, int)-.2 F
+(qc)2.5 E(har)-.15 E F1(\))3.332 E .262(Returns the te)108 225.6 R .262
+(xt of the history e)-.15 F -.15(ve)-.25 G .262(nt be).15 F .263
+(ginning at)-.15 F F0(string)2.763 E F1(+)2.763 E F0(*cinde)2.763 E(x)
+-.2 E F1(.)A F0(*cinde)5.263 E(x)-.2 E F1 .263
+(is modi\214ed to point to after the)2.763 F -2.15 -.25(ev e)108 237.6 T
+.71(nt speci\214er).25 F 5.71(.A)-.55 G 3.21(tf)-5.71 G .71
+(unction entry)-3.21 F(,)-.65 E F0(cinde)3.21 E(x)-.2 E F1 .709
+(points to the inde)3.21 F 3.209(xi)-.15 G(nto)-3.209 E F0(string)3.209
+E F1 .709(where the history e)3.209 F -.15(ve)-.25 G .709
+(nt speci\214ca-).15 F .527(tion be)108 249.6 R(gins.)-.15 E F0(qc)5.527
+E(har)-.15 E F1 .527(is a character that is allo)3.027 F .527
+(wed to end the e)-.25 F -.15(ve)-.25 G .528
+(nt speci\214cation in addition to the `).15 F(`normal')-.74 E(')-.74 E
+(terminating characters.)108 261.6 Q F0 -.15(ch)108 278.4 S(ar **).15 E
+F2(history_tok)2.5 E(enize)-.1 E F1(\()4.166 E F0(const c)A(har *string)
+-.15 E F1(\))1.666 E .239(Return an array of tok)108 290.4 R .239
+(ens parsed out of)-.1 F F0(string)2.739 E F1 2.739(,m)C .238
+(uch as the shell might.)-2.739 F .238(The tok)5.238 F .238
+(ens are split on the charac-)-.1 F(ters in the)108 302.4 Q F2
+(history_w)2.5 E(ord_delimiters)-.1 E F1 -.25(va)2.5 G
 (riable, and shell quoting con).25 E -.15(ve)-.4 G(ntions are obe).15 E
-(yed.)-.15 E F0 -.15(ch)108 153.6 S(ar *).15 E F2(history_ar)2.5 E
+(yed.)-.15 E F0 -.15(ch)108 319.2 S(ar *).15 E F2(history_ar)2.5 E
 (g_extract)-.1 E F1(\()4.166 E F0(int \214r)A -.834(st, int)-.1 F -.834
-(last, const)2.5 F -.15(ch)2.5 G(ar *string).15 E F1(\))3.332 E .026
-(Extract a string se)108 165.6 R .026(gment consisting of the)-.15 F F0
+(last, const)2.5 F -.15(ch)2.5 G(ar *string).15 E F1(\))3.332 E .025
+(Extract a string se)108 331.2 R .025(gment consisting of the)-.15 F F0
 <8c72>2.526 E(st)-.1 E F1(through)2.526 E F0(last)2.526 E F1(ar)2.526 E
-.025(guments present in)-.18 F F0(string)2.525 E F1 5.025(.A)C -.18(rg)
--5.025 G .025(uments are split).18 F(using)108 177.6 Q F2(history_tok)
-2.5 E(enize\(\))-.1 E F1(.)A F2(History V)87 194.4 Q(ariables)-.92 E F1
-(This section describes the e)108 206.4 Q(xternally-visible v)-.15 E
+.026(guments present in)-.18 F F0(string)2.526 E F1 5.026(.A)C -.18(rg)
+-5.026 G .026(uments are split).18 F(using)108 343.2 Q F2(history_tok)
+2.5 E(enize\(\))-.1 E F1(.)A F2(History V)87 360 Q(ariables)-.92 E F1
+(This section describes the e)108 372 Q(xternally-visible v)-.15 E
 (ariables e)-.25 E(xported by the GNU History Library)-.15 E(.)-.65 E F0
-(int)108 223.2 Q F2(history_base)2.5 E F1(The logical of)108 235.2 Q
-(fset of the \214rst entry in the history list.)-.25 E F0(int)108 252 Q
-F2(history_length)2.5 E F1
-(The number of entries currently stored in the history list.)108 264 Q
-F0(int)108 280.8 Q F2(history_max_entries)2.5 E F1
-(The maximum number of history entries.)108 292.8 Q
+(int)108 388.8 Q F2(history_base)2.5 E F1(The logical of)108 400.8 Q
+(fset of the \214rst entry in the history list.)-.25 E F0(int)108 417.6
+F2(history_length)2.5 E F1
+(The number of entries currently stored in the history list.)108 429.6 Q
+F0(int)108 446.4 Q F2(history_max_entries)2.5 E F1
+(The maximum number of history entries.)108 458.4 Q
 (This must be changed using)5 E F2(sti\215e_history\(\))2.5 E F1(.)A F0
-(int)108 309.6 Q F2(history_write_timestamps)2.5 E F1 .483
+(int)108 475.2 Q F2(history_write_timestamps)2.5 E F1 .484
 (If non-zero, timestamps are written to the history \214le, so the)108
-321.6 R 2.984(yc)-.15 G .484(an be preserv)-2.984 F .484
-(ed between sessions.)-.15 F .484(The de-)5.484 F -.1(fa)108 333.6 S
-.995(ult v).1 F .994(alue is 0, meaning that timestamps are not sa)-.25
+487.2 R 2.983(yc)-.15 G .483(an be preserv)-2.983 F .483
+(ed between sessions.)-.15 F .483(The de-)5.483 F -.1(fa)108 499.2 S
+.994(ult v).1 F .994(alue is 0, meaning that timestamps are not sa)-.25
 F -.15(ve)-.2 G 3.494(d. The).15 F .994
-(current timestamp format uses the v)3.494 F .994(alue of)-.25 F F0
-(history_comment_c)108 345.6 Q(har)-.15 E F1 .051
-(to delimit timestamp entries in the history \214le.)2.551 F .051
-(If that v)5.051 F .052(ariable does not ha)-.25 F .352 -.15(ve a v)-.2
-H(alue)-.1 E(\(the def)108 357.6 Q
-(ault\), timestamps will not be written.)-.1 E F0 -.15(ch)108 374.4 S
-(ar).15 E F2(history_expansion_char)2.5 E F1
-(The character that introduces a history e)108 386.4 Q -.15(ve)-.25 G
-2.5(nt. The).15 F(def)2.5 E(ault is)-.1 E F2(!)2.5 E F1 5(.S)C
+(current timestamp format uses the v)3.494 F .995(alue of)-.25 F F0
+(history_comment_c)108 511.2 Q(har)-.15 E F1 .051
+(to delimit timestamp entries in the history \214le.)2.552 F .051
+(If that v)5.051 F .051(ariable does not ha)-.25 F .351 -.15(ve a v)-.2
+H(alue)-.1 E(\(the def)108 523.2 Q
+(ault\), timestamps will not be written.)-.1 E F0 -.15(ch)108 540 S(ar)
+.15 E F2(history_expansion_char)2.5 E F1
+(The character that introduces a history e)108 552 Q -.15(ve)-.25 G 2.5
+(nt. The).15 F(def)2.5 E(ault is)-.1 E F2(!)2.5 E F1 5(.S)C
 (etting this to 0 inhibits history e)-5 E(xpansion.)-.15 E F0 -.15(ch)
-108 403.2 S(ar).15 E F2(history_subst_char)2.5 E F1
-(The character that in)108 415.2 Q -.2(vo)-.4 G -.1(ke).2 G 2.5(sw).1 G
+108 568.8 S(ar).15 E F2(history_subst_char)2.5 E F1
+(The character that in)108 580.8 Q -.2(vo)-.4 G -.1(ke).2 G 2.5(sw).1 G
 (ord substitution if found at the start of a line.)-2.6 E(The def)5 E
-(ault is)-.1 E F2<00>2.5 E F1(.)A F0 -.15(ch)108 432 S(ar).15 E F2
-(history_comment_char)2.5 E F1 .117(During tok)108 444 R .117
+(ault is)-.1 E F2<00>2.5 E F1(.)A F0 -.15(ch)108 597.6 S(ar).15 E F2
+(history_comment_char)2.5 E F1 .116(During tok)108 609.6 R .117
 (enization, if this character is seen as the \214rst character of a w)
--.1 F .117(ord, then it and all subsequent char)-.1 F(-)-.2 E .276
-(acters up to a ne)108 456 R .276
+-.1 F .117(ord, then it and all subsequent char)-.1 F(-)-.2 E .277
+(acters up to a ne)108 621.6 R .276
 (wline are ignored, suppressing history e)-.25 F .276
-(xpansion for the remainder of the line.)-.15 F .277(This is dis-)5.276
-F(abled by def)108 468 Q(ault.)-.1 E F0 -.15(ch)108 484.8 S(ar *).15 E
+(xpansion for the remainder of the line.)-.15 F .276(This is dis-)5.276
+F(abled by def)108 633.6 Q(ault.)-.1 E F0 -.15(ch)108 650.4 S(ar *).15 E
 F2(history_w)2.5 E(ord_delimiters)-.1 E F1
-(The characters that separate tok)108 496.8 Q(ens for)-.1 E F2
+(The characters that separate tok)108 662.4 Q(ens for)-.1 E F2
 (history_tok)2.5 E(enize\(\))-.1 E F1 5(.T)C(he def)-5 E(ault v)-.1 E
 (alue is)-.25 E F2 2.5("\\)2.5 G(t\\n\(\)<>;&|")-2.5 E F1(.)A F0 -.15
-(ch)108 513.6 S(ar *).15 E F2(history_no_expand_chars)2.5 E F1 2.054
-(The list of characters which inhibit history e)108 525.6 R 2.054
+(ch)108 679.2 S(ar *).15 E F2(history_no_expand_chars)2.5 E F1 2.054
+(The list of characters which inhibit history e)108 691.2 R 2.054
 (xpansion if found immediately follo)-.15 F(wing)-.25 E F2
-(history_expan-)4.554 E(sion_char)108 537.6 Q F1 5(.T)C(he def)-5 E
+(history_expan-)4.555 E(sion_char)108 703.2 Q F1 5(.T)C(he def)-5 E
 (ault is space, tab, ne)-.1 E(wline,)-.25 E F2(\\r)2.5 E F1 2.5(,a)C(nd)
--2.5 E F2(=)2.5 E F1(.)A F0 -.15(ch)108 554.4 S(ar *).15 E F2
-(history_sear)2.5 E(ch_delimiter_chars)-.18 E F1 .401(The list of addit\
-ional characters which can delimit a history search string, in addition\
- to space, tab,)108 566.4 R F0(:)2.901 E F1(and)2.901 E F0(?)2.902 E F1
-(in the case of a substring search.)108 578.4 Q(The def)5 E
-(ault is empty)-.1 E(.)-.65 E F0(int)108 595.2 Q F2
-(history_quotes_inhibit_expansion)2.5 E F1 .186
-(If non-zero, the history e)108 607.2 R .185
-(xpansion code implements shell-lik)-.15 F 2.685(eq)-.1 G .185
-(uoting: single-quoted w)-2.685 F .185(ords are not scanned)-.1 F .836
-(for the history e)108 619.2 R .836
-(xpansion character or the history comment character)-.15 F 3.337(,a)-.4
-G .837(nd double-quoted w)-3.337 F .837(ords may ha)-.1 F -.15(ve)-.2 G
-.245(history e)108 631.2 R .245(xpansion performed, since single quotes\
- are not special within double quotes.)-.15 F .244(The def)5.244 F .244
-(ault v)-.1 F .244(alue is)-.25 F(0.)108 643.2 Q F0(int)108 660 Q F2
-(history_quoting_state)2.5 E F1 .79(An application may set this v)108
-672 R .79(ariable to indicate that the current line being e)-.25 F .79
-(xpanded is subject to e)-.15 F(xisting)-.15 E .473(quoting. If set to)
-108 684 R F0<08>2.973 E F1 2.973(,t)C .473(he history e)-2.973 F .473(x\
-pansion function will assume that the line is single-quoted and inhibit\
- e)-.15 F(x-)-.15 E .272
-(pansion until it reads an unquoted closing single quote; if set to)108
-696 R F0(")2.773 E F1 2.773(,h)C .273(istory e)-2.773 F .273
-(xpansion will assume the line is)-.15 F .298(double quoted until it re\
-ads an unquoted closing double quote. If set to zero, the def)108 708 R
-.297(ault, the history e)-.1 F(xpan-)-.15 E 1.542(sion function will as\
-sume the line is not quoted and treat quote characters within the line \
-as described)108 720 R(GNU History 8.3)72 768 Q(2024 March 29)134.29 E
-(6)198.45 E 0 Cg EP
+-2.5 E F2(=)2.5 E F1(.)A F0 -.15(ch)108 720 S(ar *).15 E F2
+(history_sear)2.5 E(ch_delimiter_chars)-.18 E F1(GNU History 8.3)72 768
+Q(2024 October 10)131.235 E(6)195.395 E 0 Cg EP
 %%Page: 7 7
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Italic@0 SF(HIST)72.58 48 Q(OR)-.18 E(Y)-.18 E/F1 10
 /Times-Roman@0 SF 125.855(\(3\) Library)1.27 F(Functions Manual)2.5 E F0
-(HIST)128.935 E(OR)-.18 E(Y)-.18 E F1(\(3\))1.27 E(abo)108 84 Q -.15(ve)
--.15 G 5(.T).15 G(his is only ef)-5 E(fecti)-.25 E .3 -.15(ve i)-.25 H
-(f).15 E/F2 10/Times-Bold@0 SF(history_quotes_inhibit_expansion)2.5 E F1
-(is set.)2.5 E F0(rl_lineb)108 100.8 Q(uf_func_t *)-.2 E F2
-(history_inhibit_expansion_function)2.5 E F1 .348
-(This should be set to the address of a function that tak)108 112.8 R
-.348(es tw)-.1 F 2.848(oa)-.1 G -.18(rg)-2.848 G .347(uments: a).18 F F2
-.347(char *)2.847 F F1(\()2.847 E F0(string)A F1 2.847(\)a)C .347(nd an)
--2.847 F F2(int)2.847 E F1(inde)2.847 E(x)-.15 E .227
-(into that string \()108 124.8 R F0(i)A F1 2.727(\). It)B .227
+(HIST)128.935 E(OR)-.18 E(Y)-.18 E F1(\(3\))1.27 E .401(The list of add\
+itional characters which can delimit a history search string, in additi\
+on to space, tab,)108 84 R F0(:)2.901 E F1(and)2.901 E F0(?)2.901 E F1
+(in the case of a substring search.)108 96 Q(The def)5 E(ault is empty)
+-.1 E(.)-.65 E F0(int)108 112.8 Q/F2 10/Times-Bold@0 SF
+(history_quotes_inhibit_expansion)2.5 E F1 .185
+(If non-zero, the history e)108 124.8 R .185
+(xpansion code implements shell-lik)-.15 F 2.685(eq)-.1 G .186
+(uoting: single-quoted w)-2.685 F .186(ords are not scanned)-.1 F .837
+(for the history e)108 136.8 R .837
+(xpansion character or the history comment character)-.15 F 3.336(,a)-.4
+G .836(nd double-quoted w)-3.336 F .836(ords may ha)-.1 F -.15(ve)-.2 G
+.244(history e)108 148.8 R .245(xpansion performed, since single quotes\
+ are not special within double quotes.)-.15 F .245(The def)5.245 F .245
+(ault v)-.1 F .245(alue is)-.25 F(0.)108 160.8 Q F0(int)108 177.6 Q F2
+(history_quoting_state)2.5 E F1 .79(An application may set this v)108
+189.6 R .79(ariable to indicate that the current line being e)-.25 F .79
+(xpanded is subject to e)-.15 F(xisting)-.15 E .472(quoting. If set to)
+108 201.6 R F0<08>2.972 E F1 2.973(,t)C .473(he history e)-2.973 F .473
+(xpansion function will assume that the line is single-quoted and inhib\
+it e)-.15 F(x-)-.15 E .273
+(pansion until it reads an unquoted closing single quote; if set to)108
+213.6 R F0(")2.773 E F1 2.772(,h)C .272(istory e)-2.772 F .272
+(xpansion will assume the line is)-.15 F .298(double quoted until it re\
+ads an unquoted closing double quote. If set to zero, the def)108 225.6
+R .298(ault, the history e)-.1 F(xpan-)-.15 E 1.542(sion function will \
+assume the line is not quoted and treat quote characters within the lin\
+e as described)108 237.6 R(abo)108 249.6 Q -.15(ve)-.15 G 5(.T).15 G
+(his is only ef)-5 E(fecti)-.25 E .3 -.15(ve i)-.25 H(f).15 E F2
+(history_quotes_inhibit_expansion)2.5 E F1(is set.)2.5 E F0(rl_lineb)108
+266.4 Q(uf_func_t *)-.2 E F2(history_inhibit_expansion_function)2.5 E F1
+.347(This should be set to the address of a function that tak)108 278.4
+R .348(es tw)-.1 F 2.848(oa)-.1 G -.18(rg)-2.848 G .348(uments: a).18 F
+F2 .348(char *)2.848 F F1(\()2.848 E F0(string)A F1 2.848(\)a)C .348
+(nd an)-2.848 F F2(int)2.848 E F1(inde)2.848 E(x)-.15 E .228
+(into that string \()108 290.4 R F0(i)A F1 2.728(\). It)B .227
 (should return a non-zero v)2.727 F .227(alue if the history e)-.25 F
-.227(xpansion starting at)-.15 F F0(string[i])2.728 E F1 .228
-(should not)2.728 F .019(be performed; zero if the e)108 136.8 R .019
+.227(xpansion starting at)-.15 F F0(string[i])2.727 E F1 .227
+(should not)2.727 F .019(be performed; zero if the e)108 302.4 R .019
 (xpansion should be done.)-.15 F .019
 (It is intended for use by applications lik)5.019 F(e)-.1 E F2(bash)
-2.519 E F1 .018(that use)2.519 F(the history e)108 148.8 Q
+2.519 E F1 .019(that use)2.519 F(the history e)108 314.4 Q
 (xpansion character for additional purposes.)-.15 E(By def)5 E
 (ault, this v)-.1 E(ariable is set to)-.25 E F2(NULL)2.5 E F1(.)A/F3
-10.95/Times-Bold@0 SF(FILES)72 165.6 Q F0(\001/.history)109.666 177.6 Q
-F1(Def)144 189.6 Q(ault \214lename for reading and writing sa)-.1 E -.15
-(ve)-.2 G 2.5(dh).15 G(istory)-2.5 E F3(SEE ALSO)72 206.4 Q F0
-(The Gnu Readline Libr)108 218.4 Q(ary)-.15 E F1 2.5(,B)C(rian F)-2.5 E
-(ox and Chet Rame)-.15 E(y)-.15 E F0(The Gnu History Libr)108 230.4 Q
-(ary)-.15 E F1 2.5(,B)C(rian F)-2.5 E(ox and Chet Rame)-.15 E(y)-.15 E
-F0(bash)108 242.4 Q F1(\(1\))A F0 -.37(re)108 254.4 S(adline).37 E F1
-(\(3\))A F3 -.548(AU)72 271.2 S(THORS).548 E F1(Brian F)108 283.2 Q
+10.95/Times-Bold@0 SF(FILES)72 331.2 Q F0(\001/.history)109.666 343.2 Q
+F1(Def)144 355.2 Q(ault \214lename for reading and writing sa)-.1 E -.15
+(ve)-.2 G 2.5(dh).15 G(istory)-2.5 E F3(SEE ALSO)72 372 Q F0
+(The Gnu Readline Libr)108 384 Q(ary)-.15 E F1 2.5(,B)C(rian F)-2.5 E
+(ox and Chet Rame)-.15 E(y)-.15 E F0(The Gnu History Libr)108 396 Q(ary)
+-.15 E F1 2.5(,B)C(rian F)-2.5 E(ox and Chet Rame)-.15 E(y)-.15 E F0
+(bash)108 408 Q F1(\(1\))A F0 -.37(re)108 420 S(adline).37 E F1(\(3\))A
+F3 -.548(AU)72 436.8 S(THORS).548 E F1(Brian F)108 448.8 Q
 (ox, Free Softw)-.15 E(are F)-.1 E(oundation)-.15 E(bfox@gnu.or)108
-295.2 Q(g)-.18 E(Chet Rame)108 312 Q 1.3 -.65(y, C)-.15 H(ase W).65 E
+460.8 Q(g)-.18 E(Chet Rame)108 477.6 Q 1.3 -.65(y, C)-.15 H(ase W).65 E
 (estern Reserv)-.8 E 2.5(eU)-.15 G(ni)-2.5 E -.15(ve)-.25 G(rsity).15 E
-(chet.rame)108 324 Q(y@case.edu)-.15 E F3 -.11(BU)72 340.8 S 2.738(GR)
-.11 G(EPOR)-2.738 E(TS)-.438 E F1 .16(If you \214nd a b)108 352.8 R .16
+(chet.rame)108 489.6 Q(y@case.edu)-.15 E F3 -.11(BU)72 506.4 S 2.738(GR)
+.11 G(EPOR)-2.738 E(TS)-.438 E F1 .16(If you \214nd a b)108 518.4 R .16
 (ug in the)-.2 F F2(history)2.66 E F1(library)2.66 E 2.66(,y)-.65 G .16
 (ou should report it.)-2.66 F .16(But \214rst, you should mak)5.16 F
-2.66(es)-.1 G .16(ure that it really is)-2.66 F 2.5(ab)108 364.8 S
+2.66(es)-.1 G .16(ure that it really is)-2.66 F 2.5(ab)108 530.4 S
 (ug, and that it appears in the latest v)-2.7 E(ersion of the)-.15 E F2
-(history)2.5 E F1(library that you ha)2.5 E -.15(ve)-.2 G(.).15 E .705
-(Once you ha)108 381.6 R 1.005 -.15(ve d)-.2 H .705(etermined that a b)
-.15 F .704(ug actually e)-.2 F .704(xists, mail a b)-.15 F .704
-(ug report to)-.2 F F0 -.2(bu)3.204 G(g\255r).2 E(eadline)-.37 E F1(@)A
-F0(gnu.or)A(g)-.37 E F1 5.704(.I)C 3.204(fy)-5.704 G(ou)-3.204 E(ha)108
-393.6 Q 1.809 -.15(ve a \214)-.2 H 1.509
-(x, you are welcome to mail that as well!).15 F 1.51
-(Suggestions and `philosophical' b)6.51 F 1.51(ug reports may be)-.2 F
-(mailed to)108 405.6 Q F0 -.2(bu)2.5 G(g\255r).2 E(eadline)-.37 E F1(@)A
+(history)2.5 E F1(library that you ha)2.5 E -.15(ve)-.2 G(.).15 E .704
+(Once you ha)108 547.2 R 1.004 -.15(ve d)-.2 H .704(etermined that a b)
+.15 F .704(ug actually e)-.2 F .704(xists, mail a b)-.15 F .705
+(ug report to)-.2 F F0 -.2(bu)3.205 G(g\255r).2 E(eadline)-.37 E F1(@)A
+F0(gnu.or)A(g)-.37 E F1 5.705(.I)C 3.205(fy)-5.705 G(ou)-3.205 E(ha)108
+559.2 Q 1.81 -.15(ve a \214)-.2 H 1.51
+(x, you are welcome to mail that as well!).15 F 1.509
+(Suggestions and `philosophical' b)6.509 F 1.509(ug reports may be)-.2 F
+(mailed to)108 571.2 Q F0 -.2(bu)2.5 G(g\255r).2 E(eadline)-.37 E F1(@)A
 F0(gnu.or)A(g)-.37 E F1(or posted to the Usenet ne)2.5 E(wsgroup)-.25 E
-F2(gnu.bash.b)2.5 E(ug)-.2 E F1(.)A(Comments and b)108 422.4 Q
+F2(gnu.bash.b)2.5 E(ug)-.2 E F1(.)A(Comments and b)108 588 Q
 (ug reports concerning this manual page should be directed to)-.2 E F0
 -.15(ch)2.5 G(et.r).15 E(ame)-.15 E(y@case)-.3 E(.edu)-.15 E F1(.).25 E
-(GNU History 8.3)72 768 Q(2024 March 29)134.29 E(7)198.45 E 0 Cg EP
+(GNU History 8.3)72 768 Q(2024 October 10)131.235 E(7)195.395 E 0 Cg EP
 %%Trailer
 end
 %%EOF
index 5d4efe530c205ec54cdafee72ac9043c05805f65..9bc71512cee94a15e2a497e0c4e18f4f3f62aae4 100644 (file)
@@ -1,7 +1,7 @@
 @ignore
 This file documents the user interface to the GNU History library.
 
-Copyright (C) 1988-2023 Free Software Foundation, Inc.
+Copyright (C) 1988-2024 Free Software Foundation, Inc.
 Authored by Brian Fox and Chet Ramey.
 
 Permission is granted to make and distribute verbatim copies of this manual
@@ -29,8 +29,8 @@ into another language, under the above conditions for modified versions.
 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}.
+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?
@@ -43,23 +43,27 @@ History Interactively}.
 @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. 
-
-A 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
+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 when composing new ones. 
+
+A programmer using the History library can use functions
+to save commands on a history list,
+associate arbitrary data with history list entries,
+remove entries from the list,
+search through the list for a line containing an arbitrary text string,
+reference any entry in the list directly,
+and read and write the history list from and to a file.
+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
+Someone 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
+in new commands.
+The basic history manipulation commands are similar to
 the history substitution provided by @code{csh}.
 
 The programmer can also use the Readline library, which
@@ -69,15 +73,16 @@ 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.
+History library's features.
+It supplies 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:
+The history list is an array of history entries.
+A history entry is declared as follows:
 
 @example
 typedef void *histdata_t;
@@ -111,7 +116,7 @@ typedef struct _hist_state @{
 @end example
 
 If the flags member includes @code{HS_STIFLED}, the history has been
-stifled.
+stifled (limited to a maximum number of entries).
 
 @node History Functions
 @section History Functions
@@ -145,8 +150,8 @@ 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.
+Begin a session that will use the history functions.
+This initializes the interactive variables.
 @end deftypefun
 
 @deftypefun {HISTORY_STATE *} history_get_history_state (void)
@@ -164,11 +169,11 @@ 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}.
+Add @var{string} to the end of the history list, and
+set the associated data field (if any) to @code{NULL}.
 If the maximum number of history entries has been set using
-@code{stifle_history()}, and the new number of history entries would exceed
-that maximum, the oldest history entry is removed.
+@code{stifle_history()}, and the new number of history entries
+would exceed that maximum, this removes the oldest history entry.
 @end deftypefun
 
 @deftypefun void add_history_time (const char *string)
@@ -177,22 +182,25 @@ Change the time stamp associated with the most recent history entry to
 @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,
+Remove the history entry at offset @var{which} from the history list.
+This returns the removed element so you can free the line, data,
 and containing structure.
+Since the data is private to your application, the History library
+doesn't know how to free it, if necessary.
 @end deftypefun
 
 @deftypefun {histdata_t} free_history_entry (HIST_ENTRY *histent)
 Free the history entry @var{histent} and any history library private
-data associated with it.  Returns the application-specific data
+data associated with it.
+Returns the application-specific data
 so the caller can dispose of it.
 @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 the caller can dispose of any
-application-specific data.  In the case
-of an invalid @var{which}, a @code{NULL} pointer is returned.
+application-specific data.
+In the case of an invalid @var{which}, this returns @code{NULL}.
 @end deftypefun
 
 @deftypefun void clear_history (void)
@@ -205,10 +213,10 @@ The history list will contain only @var{max} entries at a time.
 @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.
+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)
@@ -223,18 +231,19 @@ 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}.
+current input history.
+Element 0 of this list is the beginning of time.
+Return @code{NULL} if there is no history.
 @end deftypefun
 
 @deftypefun int where_history (void)
-Returns the offset of the current history element.
+Return the offset of the current history entry.
 @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.
+@code{where_history()}.
+If there is no entry there, return @code{NULL}.
 @end deftypefun
 
 @deftypefun {HIST_ENTRY *} history_get (int offset)
@@ -243,7 +252,7 @@ The range of valid
 values of @var{offset} starts at @code{history_base} and ends at
 @var{history_length} - 1 (@pxref{History Variables}).
 If there is no entry there, or if @var{offset} is outside the valid
-range, return a @code{NULL} pointer.
+range, return @code{NULL}.
 @end deftypefun
 
 @deftypefun time_t history_get_time (HIST_ENTRY *entry)
@@ -272,8 +281,8 @@ than the number of history entries.
 
 @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.
+return a pointer to that entry.
+If there is no previous entry, return @code{NULL}.
 @end deftypefun
 
 @deftypefun {HIST_ENTRY *} next_history (void)
@@ -281,45 +290,51 @@ If the current history offset refers to a valid history entry,
 increment the current history offset.
 If the possibly-incremented history offset refers to a valid history
 entry, return a pointer to that entry;
-otherwise, return a @code{BNULL} pointer.
+otherwise, return @code{NULL}.
 @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.
+These functions search 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 a 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.
+If @var{string} is found, then the current history index is set to
+that history entry, and @code{history_search}
+returns the offset in the line of the entry where
+@var{string} was found.
+Otherwise, nothing is changed, and this returns -1.
 @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
+offset.
+The search is anchored: matching history entries 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
+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 this returns -1
 @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.
+absolute index into the list.
+If @var{direction} is negative, the search
+proceeds backward from @var{pos}, otherwise forward.
+Returns the index in the history list
+of the history element where @var{string} was
+found, or -1 otherwise.
 @end deftypefun
 
 @node Managing the History File
@@ -329,23 +344,34 @@ 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}.
+Add the contents of @var{filename} to the history list, one entry
+at a time.
+If @var{filename} is @code{NULL}, this reads from @file{~/.history},
+if it exists.
+This attempts to determine whether the history file includes timestamp
+information, and assigns timestamps to the history entries it reads
+if so.
 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.
+If @var{from} is zero, start at the beginning.
+If @var{to} is less than @var{from}, this reads until the end of the file.
+This attempts to determine whether the history file includes timestamp
+information, and assigns timestamps to the history entries it reads
+if so.
+If @var{filename} is @code{NULL}, this reads from @file{~/.history},
+if it exists.
+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.
+This writes timestamp information if the
+@code{history_write_timestamps} variable is set to a non-zero value.
 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.
@@ -353,6 +379,8 @@ Returns 0 on success, or @code{errno} on a read or write error.
 
 @deftypefun int append_history (int nelements, const char *filename)
 Append the last @var{nelements} of the history list to @var{filename}.
+This writes timestamp information if the
+@code{history_write_timestamps} variable is set to a non-zero value.
 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
@@ -360,7 +388,7 @@ Returns 0 on success, or @code{errno} on a read or write error.
 @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.
+If @var{filename} is @code{NULL}, this truncates @file{~/.history}.
 Returns 0 on success, or @code{errno} on failure.
 @end deftypefun
 
@@ -371,7 +399,8 @@ These functions implement history expansion.
 
 @deftypefun int history_expand (const char *string, char **output)
 Expand @var{string}, placing the result into @var{output}, a pointer
-to a string (@pxref{History Interaction}).  Returns:
+to a string (@pxref{History Interaction}).
+Returns:
 @table @code
 @item 0
 If no expansions took place (or, if the only change in
@@ -386,30 +415,33 @@ if the returned line should be displayed, but not executed,
 as with the @code{:p} modifier (@pxref{Modifiers}).
 @end table
 
-If an error occurred in expansion, then @var{output} contains a descriptive
-error message.
+If an error occurred during 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}
+@var{*cindex}.
+Modifies @var{*cindex} 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
+shell might.
+The tokens are split on the characters in the
 @var{history_word_delimiters} variable,
 and shell quoting conventions are obeyed as described below.
 @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}.
+arguments present in @var{string}.
+This splits @var{string} into arguments using @code{history_tokenize}.
 @end deftypefun
 
 @node History Variables
@@ -427,32 +459,35 @@ 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()}.
+The maximum number of history entries.
+This must be changed using @code{stifle_history()}.
 @end deftypevar
 
 @deftypevar int history_write_timestamps
 If non-zero, timestamps are written to the history file, so they can be
-preserved between sessions.  The default value is 0, meaning that
-timestamps are not saved.
+preserved between sessions.
+The default value is 0, meaning that timestamps are not saved.
 
 The current timestamp format uses the value of @var{history_comment_char}
-to delimit timestamp entries in the history file.  If that variable does
-not have a value (the default), timestamps will not be written.
+to delimit timestamp entries in the history file.
+If that variable does not have a value (the default), this will not
+write timestamps.
 @end deftypevar
 
 @deftypevar char history_expansion_char
-The character that introduces a history event.  The default is @samp{!}.
+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{^}.
+a line.
+The default is @samp{^}.
 @end deftypevar
 
 @deftypevar char history_comment_char
-During tokenization, if this character is seen as the first character
+During tokenization, if this character appears 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.
@@ -466,13 +501,14 @@ The default value is @code{" \t\n()<>;&|"}.
 @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.
+a substring search.
+The default is empty.
 @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{=}.
+following @var{history_expansion_char}.
+The default is space, tab, newline, carriage return, and @samp{=}.
 @end deftypevar
 
 @deftypevar int history_quotes_inhibit_expansion
@@ -486,14 +522,18 @@ The default value is 0.
 
 @deftypevar int history_quoting_state
 An application may set this variable to indicate that the current line
-being expanded is subject to existing quoting. If set to @samp{'}, the
+being expanded is subject to existing quoting.
+If set to @samp{'}, the
 history expansion function will assume that the line is single-quoted and
-inhibit expansion until it reads an unquoted closing single quote; if set
-to @samp{"}, history expansion will assume the line is double quoted until
-it reads an unquoted closing double quote. If set to zero, the default,
+inhibit expansion until it reads an unquoted closing single quote;
+if set to @samp{"}, history expansion will assume the line is
+double quoted until it reads an unquoted closing double quote.
+If set to 0, the default,
 the history expansion function will assume the line is not quoted and
 treat quote characters within the line as described above.
 This is only effective if @var{history_quotes_inhibit_expansion} is set.
+This is intended for use by applications like Bash which allow
+quoted strings to span multiple lines.
 @end deftypevar
 
 @deftypevar {rl_linebuf_func_t *} history_inhibit_expansion_function
index 13a818845b829c4aacafff685a3f9d88a335ba84..df4c16d78739916ae3fcf195c2df172906cba418 100644 (file)
@@ -39,33 +39,39 @@ R\bRE\bET\bTU\bUR\bRN\bN V\bVA\bAL\bLU\bUE\bE
        line, it is treated as a newline.
 
 N\bNO\bOT\bTA\bAT\bTI\bIO\bON\bN
-       This section uses an emacs-style notation to denote  keystrokes.   Con-
-       trol  keys are denoted by C-_\bk_\be_\by, e.g., C-n means Control-N.  Similarly,
-       _\bm_\be_\bt_\ba keys are denoted by M-_\bk_\be_\by, so M-x means Meta-X.
-
-       On keyboards without a _\bM_\be_\bt_\ba key, M-_\bx means ESC _\bx, i.e., press  the  Es-
-       cape key then the _\bx key.  This makes ESC the _\bm_\be_\bt_\ba _\bp_\br_\be_\bf_\bi_\bx.  The combina-
-       tion  M-C-_\bx  means ESC-Control-_\bx, or press the Escape key then hold the
-       Control key while pressing the _\bx key.
-
-       On some keyboards, the Meta key modifier produces meta characters  with
-       the  eighth bit (0200) set (you can use the e\ben\bna\bab\bbl\ble\be-\b-m\bme\bet\bta\ba-\b-k\bke\bey\by 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  preceding
+       This section uses Emacs-style editing concepts and  uses  its  notation
+       for  keystrokes.   Control  keys  are denoted by C-_\bk_\be_\by, e.g., C-n means
+       Control-N.  Similarly, _\bm_\be_\bt_\ba keys are denoted by  M-_\bk_\be_\by,  so  M-x  means
+       Meta-X.  The Meta key is often labeled "Alt" or "Option".
+
+       On  keyboards  without a _\bM_\be_\bt_\ba key, M-_\bx means ESC _\bx, i.e., press and re-
+       lease the Escape key, then press and release the _\bx  key,  in  sequence.
+       This  makes  ESC the _\bm_\be_\bt_\ba _\bp_\br_\be_\bf_\bi_\bx.  The combination M-C-_\bx means ESC-Con-
+       trol-_\bx: press and release the Escape key, then press and hold the  Con-
+       trol key while pressing the _\bx key, then release both.
+
+       On  some  keyboards, the Meta key modifier produces characters with the
+       eighth bit (0200) set.  You can use  the  e\ben\bna\bab\bbl\ble\be-\b-m\bme\bet\bta\ba-\b-k\bke\bey\by  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 preceding
        paragraph.
 
-       If  your _\bM_\be_\bt_\ba key produces a key sequence with the ESC meta prefix, you
-       can make M-_\bk_\be_\by key bindings you specify (see R\bRe\bea\bad\bdl\bli\bin\bne\be K\bKe\bey\by B\bBi\bin\bnd\bdi\bin\bng\bgs\b be-
+       If your _\bM_\be_\bt_\ba key produces a key sequence with the ESC meta prefix,  you
+       can  make M-_\bk_\be_\by key bindings you specify (see R\bRe\bea\bad\bdl\bli\bin\bne\be K\bKe\bey\by B\bBi\bin\bnd\bdi\bin\bng\bgs\bs be-
        low) do the same thing by setting the f\bfo\bor\brc\bce\be-\b-m\bme\bet\bta\ba-\b-p\bpr\bre\bef\bfi\bix\bx variable.
 
-       Readline commands may be given numeric _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs, which normally act as
-       a  repeat  count.   Sometimes,  however, it is the sign of the argument
-       that is significant.  Passing a negative argument  to  a  command  that
-       acts  in the forward direction (e.g., k\bki\bil\bll\bl-\b-l\bli\bin\bne\be) makes that command act
-       in a backward direction.  Commands whose behavior with arguments  devi-
+       R\bRe\bea\bad\bdl\bli\bin\bne\be commands may be given numeric _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs, which normally act as
+       a repeat count.  Sometimes, however, it is the  sign  of  the  argument
+       that  is  significant.   Passing  a negative argument to a command that
+       acts in the forward direction (e.g., k\bki\bil\bll\bl-\b-l\bli\bin\bne\be) makes that command  act
+       in  a backward direction.  Commands whose behavior with arguments devi-
        ates from this are noted below.
 
+       The _\bp_\bo_\bi_\bn_\bt is the current cursor position, and _\bm_\ba_\br_\bk refers  to  a  saved
+       cursor position.  The text between the point and mark is referred to as
+       the _\br_\be_\bg_\bi_\bo_\bn.
+
        When  a command is described as _\bk_\bi_\bl_\bl_\bi_\bn_\bg text, the text deleted is saved
        for possible future retrieval (_\by_\ba_\bn_\bk_\bi_\bn_\bg).  The killed text is saved in a
        _\bk_\bi_\bl_\bl _\br_\bi_\bn_\bg.  Consecutive kills accumulate  the  deleted  text  into  one
@@ -73,12 +79,12 @@ N\bNO\bOT\bTA\bAT\bTI\bIO\bON\bN
        separate the chunks of text on the kill ring.
 
 I\bIN\bNI\bIT\bTI\bIA\bAL\bLI\bIZ\bZA\bAT\bTI\bIO\bON\bN F\bFI\bIL\bLE\bE
-       Readline  is  customized  by putting commands in an initialization file
+       R\bRe\bea\bad\bdl\bli\bin\bne\be  is  customized  by putting commands in an initialization file
        (the _\bi_\bn_\bp_\bu_\bt_\br_\bc file).  The name of this file is taken from the  value  of
        the  I\bIN\bNP\bPU\bUT\bTR\bRC\bC  environment variable.  If that variable is unset, the de-
        fault is _\b~_\b/_\b._\bi_\bn_\bp_\bu_\bt_\br_\bc.  If that file  does not exist or cannot  be  read,
-       readline  looks  for _\b/_\be_\bt_\bc_\b/_\bi_\bn_\bp_\bu_\bt_\br_\bc.  When a program which uses the read-
-       line library starts up, r\bre\bea\bad\bdl\bli\bin\bne\be reads the initialization file and sets
+       r\bre\bea\bad\bdl\bli\bin\bne\be  looks  for _\b/_\be_\bt_\bc_\b/_\bi_\bn_\bp_\bu_\bt_\br_\bc.  When a program which uses the r\bre\bea\bad\bd-\b-
+       l\bli\bin\bne\be library starts up, r\bre\bea\bad\bdl\bli\bin\bne\be reads the initialization file and sets
        the key bindings and variables found there, before reading any user in-
        put.
 
@@ -97,25 +103,26 @@ I\bIN\bNI\bIT\bTI\bIA\bAL\bLI\bIZ\bZA\bAT\bTI\bIO\bON\bN F\bFI\bIL\bLE\bE
        or
               C-Meta-u: universal-argument
 
-       into  the _\bi_\bn_\bp_\bu_\bt_\br_\bc would make M-C-u execute the readline command _\bu_\bn_\bi_\bv_\be_\br_\b-
+       into  the _\bi_\bn_\bp_\bu_\bt_\br_\bc would make M-C-u execute the r\bre\bea\bad\bdl\bli\bin\bne\be command _\bu_\bn_\bi_\bv_\be_\br_\b-
        _\bs_\ba_\bl_\b-_\ba_\br_\bg_\bu_\bm_\be_\bn_\bt.
 
        Key bindings may contain the following symbolic character  names:  _\bD_\bE_\bL,
-       _\bE_\bS_\bC, _\bE_\bS_\bC_\bA_\bP_\bE, _\bL_\bF_\bD, _\bN_\bE_\bW_\bL_\bI_\bN_\bE, _\bR_\bE_\bT, _\bR_\bE_\bT_\bU_\bR_\bN, _\bR_\bU_\bB_\bO_\bU_\bT, _\bS_\bP_\bA_\bC_\bE, _\bS_\bP_\bC, and _\bT_\bA_\bB.
+       _\bE_\bS_\bC,  _\bE_\bS_\bC_\bA_\bP_\bE, _\bL_\bF_\bD, _\bN_\bE_\bW_\bL_\bI_\bN_\bE, _\bR_\bE_\bT, _\bR_\bE_\bT_\bU_\bR_\bN, _\bR_\bU_\bB_\bO_\bU_\bT(a_\bd_\be_\bs_\bt_\br_\bu_\bc_\bt_\bi_\bv_\bebackspace),
+       _\bS_\bP_\bA_\bC_\bE, _\bS_\bP_\bC, and _\bT_\bA_\bB.
 
-       In  addition  to  command  names, readline allows keys to be bound to a
+       In addition to command names, r\bre\bea\bad\bdl\bli\bin\bne\be allows keys to  be  bound  to  a
        string that is inserted when the key is pressed (a _\bm_\ba_\bc_\br_\bo).  The differ-
-       ence between a macro and a command is that a macro is enclosed in  sin-
+       ence  between a macro and a command is that a macro is enclosed in sin-
        gle or double quotes.
 
    K\bKe\bey\by B\bBi\bin\bnd\bdi\bin\bng\bgs\bs
-       The  syntax for controlling key bindings in the _\bi_\bn_\bp_\bu_\bt_\br_\bc file is simple.
-       All that is required is the name of the command or the text of a  macro
-       and  a  key sequence to which it should be bound.  The key sequence may
-       be specified in one of two ways: as a symbolic key name, possibly  with
-       _\bM_\be_\bt_\ba_\b or  _\bC_\bo_\bn_\bt_\br_\bo_\bl_\b-  prefixes,  or as a key sequence composed of one or
-       more characters enclosed in double quotes.  The key sequence  and  name
-       are  separated by a colon.  There can be no whitespace between the name
+       The syntax for controlling key bindings in the _\bi_\bn_\bp_\bu_\bt_\br_\bc file is  simple.
+       All  that is required is the name of the command or the text of a macro
+       and a key sequence to which it should be bound.  The key  sequence  may
+       be  specified in one of two ways: as a symbolic key name, possibly with
+       _\bM_\be_\bt_\ba_\bor _\bC_\bo_\bn_\bt_\br_\bo_\bl_\b- prefixes, or as a key sequence  composed  of  one  or
+       more  characters  enclosed in double quotes.  The key sequence and name
+       are separated by a colon.  There can be no whitespace between the  name
        and the colon.
 
        When using the form k\bke\bey\byn\bna\bam\bme\be:_\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\b-_\bn_\ba_\bm_\be or _\bm_\ba_\bc_\br_\bo, _\bk_\be_\by_\bn_\ba_\bm_\be is the name
@@ -125,15 +132,15 @@ I\bIN\bNI\bIT\bTI\bIA\bAL\bLI\bIZ\bZA\bAT\bTI\bIO\bON\bN F\bFI\bIL\bLE\bE
               Meta-Rubout: backward-kill-word
               Control-o: "> output"
 
-       In the above example, _\bC_\b-_\bu is bound to the function  u\bun\bni\biv\bve\ber\brs\bsa\bal\bl-\b-a\bar\brg\bgu\bum\bme\ben\bnt\bt,
-       _\bM_\b-_\bD_\bE_\b is bound to the function b\bba\bac\bck\bkw\bwa\bar\brd\bd-\b-k\bki\bil\bll\bl-\b-w\bwo\bor\brd\bd, and _\bC_\b-_\bo is bound to
-       run the macro expressed on the right hand side (that is, to insert  the
+       In  the above example, _\bC_\b-_\bu is bound to the function u\bun\bni\biv\bve\ber\brs\bsa\bal\bl-\b-a\bar\brg\bgu\bum\bme\ben\bnt\bt,
+       _\bM_\b-_\bD_\bE_\bis bound to the function b\bba\bac\bck\bkw\bwa\bar\brd\bd-\b-k\bki\bil\bll\bl-\b-w\bwo\bor\brd\bd, and _\bC_\b-_\bo is bound  to
+       run  the macro expressed on the right hand side (that is, to insert the
        text "> output" into the line).
 
-       In  the  second  form,  "\b"k\bke\bey\bys\bse\beq\bq"\b":_\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\b-_\bn_\ba_\bm_\be or _\bm_\ba_\bc_\br_\bo, k\bke\bey\bys\bse\beq\bq differs
-       from k\bke\bey\byn\bna\bam\bme\be above in that strings denoting an entire key sequence  may
-       be  specified  by  placing the sequence within double quotes.  Some GNU
-       Emacs style key escapes can be used, as in the following  example,  but
+       In the second form, "\b"k\bke\bey\bys\bse\beq\bq"\b":_\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\b-_\bn_\ba_\bm_\be  or  _\bm_\ba_\bc_\br_\bo,  k\bke\bey\bys\bse\beq\b differs
+       from  k\bke\bey\byn\bna\bam\bme\be above in that strings denoting an entire key sequence may
+       be specified by placing the sequence within double  quotes.   Some  GNU
+       Emacs  style  key escapes can be used, as in the following example, but
        none of the symbolic character names are recognized.
 
               "\C-u": universal-argument
@@ -141,21 +148,21 @@ I\bIN\bNI\bIT\bTI\bIA\bAL\bLI\bIZ\bZA\bAT\bTI\bIO\bON\bN F\bFI\bIL\bLE\bE
               "\e[11~": "Function Key 1"
 
        In this example, _\bC_\b-_\bu is again bound to the function u\bun\bni\biv\bve\ber\brs\bsa\bal\bl-\b-a\bar\brg\bgu\bum\bme\ben\bnt\bt.
-       _\bC_\b-_\b _\bC_\b-_\br is bound to the function r\bre\be-\b-r\bre\bea\bad\bd-\b-i\bin\bni\bit\bt-\b-f\bfi\bil\ble\be, and _\bE_\bS_\bC _\b[ _\b1 _\b1 _\b~ is
+       _\bC_\b-_\b_\bC_\b-_\br is bound to the function r\bre\be-\b-r\bre\bea\bad\bd-\b-i\bin\bni\bit\bt-\b-f\bfi\bil\ble\be, and _\bE_\bS_\bC _\b[ _\b1 _\b1 _\b is
        bound to insert the text "Function Key 1".
 
-       The full set of GNU Emacs style escape sequences available when  speci-
+       The  full set of GNU Emacs style escape sequences available when speci-
        fying key sequences is
               \\b\C\bC-\b-    A control prefix.
-              \\b\M\bM-\b-    Adding  the meta prefix or converting the following char-
-                     acter to a  meta  character,  as  described  below  under
+              \\b\M\bM-\b-    Adding the meta prefix or converting the following  char-
+                     acter  to  a  meta  character,  as  described below under
                      f\bfo\bor\brc\bce\be-\b-m\bme\bet\bta\ba-\b-p\bpr\bre\bef\bfi\bix\bx.
               \\b\e\be     An escape character.
               \\b\\\b\     Backslash.
               \\b\"\b"     Literal ", a double quote.
               \\b\'\b'     Literal ', a single quote.
 
-       In  addition  to  the GNU Emacs style escape sequences, a second set of
+       In addition to the GNU Emacs style escape sequences, a  second  set  of
        backslash escapes is available:
               \\b\a\ba     alert (bell)
               \\b\b\bb     backspace
@@ -165,380 +172,377 @@ I\bIN\bNI\bIT\bTI\bIA\bAL\bLI\bIZ\bZA\bAT\bTI\bIO\bON\bN F\bFI\bIL\bLE\bE
               \\b\r\br     carriage return
               \\b\t\bt     horizontal tab
               \\b\v\bv     vertical tab
-              \\b\_\bn_\bn_\bn   The eight-bit character whose value is  the  octal  value
+              \\b\_\bn_\bn_\bn   The  eight-bit  character  whose value is the octal value
                      _\bn_\bn_\bn (one to three digits).
-              \\b\x\bx_\bH_\bH   The  eight-bit  character  whose value is the hexadecimal
+              \\b\x\bx_\bH_\bH   The eight-bit character whose value  is  the  hexadecimal
                      value _\bH_\bH (one or two hex digits).
 
        When entering the text of a macro, single or double quotes must be used
        to indicate a macro definition.  Unquoted text is assumed to be a func-
-       tion name.  Tthe backslash escapes described above are expanded in  the
-       macro  body.   Backslash  will  quote  any other character in the macro
+       tion  name.  Tthe backslash escapes described above are expanded in the
+       macro body.  Backslash will quote any  other  character  in  the  macro
        text, including " and '.
 
-       B\bBa\bas\bsh\bwill display or modify the current readline key bindings with  the
+       B\bBa\bas\bsh\b will display or modify the current r\bre\bea\bad\bdl\bli\bin\bne\be key bindings with the
        b\bbi\bin\bnd\bd builtin command.  The -\b-o\bo e\bem\bma\bac\bcs\bs or -\b-o\bo v\bvi\bi options to the s\bse\bet\bt builtin
-       will  change  the  editing mode during interactive use.  Other programs
-       using this library provide similar mechanisms.  A user may always  edit
-       the  _\bi_\bn_\bp_\bu_\bt_\br_\bc  file  and  have readline re-read it if a program does not
+       will change the editing mode during interactive  use.   Other  programs
+       using  this library provide similar mechanisms.  A user may always edit
+       the _\bi_\bn_\bp_\bu_\bt_\br_\bc file and have r\bre\bea\bad\bdl\bli\bin\bne\be re-read it if  a  program  does  not
        provide any other means to incorporate new bindings.
 
    V\bVa\bar\bri\bia\bab\bbl\ble\bes\bs
-       Readline has variables that can be used to further customize its behav-
+       R\bRe\bea\bad\bdl\bli\bin\bne\be has variables that can be used to further customize its behav-
        ior.  A variable may be set in the _\bi_\bn_\bp_\bu_\bt_\br_\bc file with a statement of the
        form
 
               s\bse\bet\bt _\bv_\ba_\br_\bi_\ba_\bb_\bl_\be_\b-_\bn_\ba_\bm_\be _\bv_\ba_\bl_\bu_\be
 
-       Except where noted, readline variables can take the values  O\bOn\bn  or  O\bOf\bff\bf
-       (without  regard  to  case).   Unrecognized variable names are ignored.
-       When readline reads a variable value, empty or null values, "on" (case-
-       insensitive), and "1" are equivalent  to  O\bOn\bn.   All  other  values  are
+       Except  where  noted,  r\bre\bea\bad\bdl\bli\bin\bne\be variables can take the values O\bOn\bn or O\bOf\bff\bf
+       (without regard to case).  Unrecognized  variable  names  are  ignored.
+       When r\bre\bea\bad\bdl\bli\bin\bne\be reads a variable value, empty or null values, "on" (case-
+       insensitive),  and  "1"  are  equivalent  to  O\bOn\bn.  All other values are
        equivalent to O\bOf\bff\bf.
 
        The variables and their default values are:
 
        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
-              A  string  variable  that controls the text color and background
-              when displaying the text in the active region (see the  descrip-
-              tion  of e\ben\bna\bab\bbl\ble\be-\b-a\bac\bct\bti\biv\bve\be-\b-r\bre\beg\bgi\bio\bon\bn below).  This string must not take
+              A string variable that controls the text  color  and  background
+              when  displaying the text in the active region (see the descrip-
+              tion of e\ben\bna\bab\bbl\ble\be-\b-a\bac\bct\bti\biv\bve\be-\b-r\bre\beg\bgi\bio\bon\bn 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  ter-
+              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 ter-
               minfo description.  A sample value might be "\e[01;33m".
        a\bac\bct\bti\biv\bve\be-\b-r\bre\beg\bgi\bio\bon\bn-\b-e\ben\bnd\bd-\b-c\bco\bol\blo\bor\br
-              A  string  variable  that  "undoes"  the  effects  of a\bac\bct\bti\biv\bve\be-\b-r\bre\be-\b-
-              g\bgi\bio\bon\bn-\b-s\bst\bta\bar\brt\bt-\b-c\bco\bol\blo\bor\band restores "normal" terminal display  appear-
-              ance  after  displaying  text in the active region.  This string
-              must not take up any physical character positions  on  the  dis-
-              play,  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 ob-
+              A string  variable  that  "undoes"  the  effects  of  a\bac\bct\bti\biv\bve\be-\b-r\bre\be-\b-
+              g\bgi\bio\bon\bn-\b-s\bst\bta\bar\brt\bt-\b-c\bco\bol\blo\bor\b and restores "normal" terminal display appear-
+              ance after displaying text in the active  region.   This  string
+              must  not  take  up any physical character positions on the dis-
+              play, 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  ob-
               tained from the terminal's terminfo description.  A sample value
               might be "\e[0m".
        b\bbe\bel\bll\bl-\b-s\bst\bty\byl\ble\be (\b(a\bau\bud\bdi\bib\bbl\ble\be)\b)
-              Controls what happens when readline wants to ring  the  terminal
-              bell.  If set to n\bno\bon\bne\be, readline never rings the bell.  If set to
-              v\bvi\bis\bsi\bib\bbl\ble\be,  readline  uses a visible bell if one is available.  If
-              set to a\bau\bud\bdi\bib\bbl\ble\be, readline attempts to ring the terminal's bell.
+              Controls  what  happens when r\bre\bea\bad\bdl\bli\bin\bne\be wants to ring the terminal
+              bell.  If set to n\bno\bon\bne\be, r\bre\bea\bad\bdl\bli\bin\bne\be never rings the bell.  If set to
+              v\bvi\bis\bsi\bib\bbl\ble\be, r\bre\bea\bad\bdl\bli\bin\bne\be uses a visible bell if one is  available.   If
+              set to a\bau\bud\bdi\bib\bbl\ble\be, r\bre\bea\bad\bdl\bli\bin\bne\be attempts to ring the terminal's bell.
        b\bbi\bin\bnd\bd-\b-t\btt\bty\by-\b-s\bsp\bpe\bec\bci\bia\bal\bl-\b-c\bch\bha\bar\brs\bs (\b(O\bOn\bn)\b)
-              If set to O\bOn\bn, 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
+              If  set  to O\bOn\bn, r\bre\bea\bad\bdl\bli\bin\bne\be attempts to bind the control characters
+              that are treated specially by the kernel's  terminal  driver  to
+              their r\bre\bea\bad\bdl\bli\bin\bne\be equivalents.  These override the default r\bre\bea\bad\bdl\bli\bin\bne\be
               bindings described here.  Type "stty -a" at a b\bba\bas\bsh\bh prompt to see
-              your current terminal settings, including  the  special  control
+              your  current  terminal  settings, including the special control
               characters (usually c\bcc\bch\bha\bar\brs\bs).
        b\bbl\bli\bin\bnk\bk-\b-m\bma\bat\btc\bch\bhi\bin\bng\bg-\b-p\bpa\bar\bre\ben\bn (\b(O\bOf\bff\bf)\b)
-              If set to O\bOn\bn, readline attempts to briefly move the cursor to an
+              If set to O\bOn\bn, r\bre\bea\bad\bdl\bli\bin\bne\be attempts to briefly move the cursor to an
               opening parenthesis when a closing parenthesis is inserted.
        c\bco\bol\blo\bor\bre\bed\bd-\b-c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bn-\b-p\bpr\bre\bef\bfi\bix\bx (\b(O\bOf\bff\bf)\b)
-              If  set  to  O\bOn\bn, when listing completions, readline displays the
+              If set to O\bOn\bn, when listing completions,  r\bre\bea\bad\bdl\bli\bin\bne\be  displays  the
               common prefix of the set of possible completions using a differ-
-              ent color.  The color definitions are taken from  the  value  of
+              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", readline 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, readline 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  readline  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, readline performs filename matching and completion
+              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,  readline
-              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, readline 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, readline
-              will ask whether or not the user wishes to view them;  otherwise
-              readline  simply lists them on the terminal.  A zero value means
-              readline should never ask; negative values are treated as zero.
+              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\be simply 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, readline 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 _\bm_\be_\bt_\ba _\bp_\br_\be_\bf_\bi_\bx).  The default is _\bO_\bn, but
-              readline will 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\be  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, readline will inhibit word completion.  Completion
-              characters  will  be  inserted into the line as if they had been
+              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
               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
-              it, readline echoes a character corresponding to a signal gener-
+              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 readline 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)
-              The  _\bp_\bo_\bi_\bn_\bt  is the current cursor position, and _\bm_\ba_\br_\bk refers to a
-              saved cursor position.  The text between the point and  mark  is
-              referred  to  as  the  _\br_\be_\bg_\bi_\bo_\bn.  When this variable is set to _\bO_\bn,
-              readline allows certain commands to designate the region as  _\ba_\bc_\b-
-              _\bt_\bi_\bv_\be.   When  the region is active, readline 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 stand-
-              out mode.  The active region shows the text inserted  by  brack-
-              eted-paste  and  any matching text found by incremental and non-
-              incremental history searches.
+              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
+              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, 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 _\bb_\br_\ba_\bc_\bk_\be_\bt_\be_\bd_\b-_\bp_\ba_\bs_\bt_\be _\bm_\bo_\bd_\be; it prevents
-              readline from 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\be  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, readline will try to enable the application key-
+              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, readline 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, readline performs tilde expansion when it attempts
+              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, readline 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   _\bm_\be_\bt_\ba   _\bp_\br_\be_\bf_\bi_\bx).    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), readline 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,  readline  performs
-              the  conversion described above; if it is O\bOf\bff\bf, readline converts
+              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\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 readline 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
+              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
               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, readline 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 readline 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 readline 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 _\br_\be_\ba_\bd_\bl_\bi_\bn_\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 readline 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 readline 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, readline
-              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,  readline 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 readline 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, readline 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 readline 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-
+              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\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, readline 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,  readline 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, readline 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, readline 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,
-              readline does 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\be  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
-       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
+       R\bRe\bea\bad\bdl\bli\bin\bne\be 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.
 
-       $\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
-              readline.  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 readline 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 readline 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 readline versions.  The v\bve\ber\brs\bsi\bio\bon\b expands
-                     to  the  current readline 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 readline 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
@@ -548,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
-                     readline variables 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\be  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
@@ -563,67 +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
-       Readline provides 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\be  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, read-
-       line 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
+       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
        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
-       sequence bound to a readline 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
+       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
        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\bC-\b-r\brs are
-       typed without any intervening characters defining a new search  string,
-       readline uses any remembered search string.
+       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,
+       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-
-       _\bg_\bi_\bo_\bn.  Readline has the concept of an _\ba_\bc_\bt_\bi_\bv_\be _\br_\be_\bg_\bi_\bo_\bn: when the region is
-       active,   readline   redisplay   uses   the  value  of  the  a\bac\bct\bti\biv\bve\be-\b-r\bre\be-\b-
-       g\bgi\bio\bon\bn-\b-s\bst\bta\bar\brt\bt-\b-c\bco\bol\blo\bor\br v\bva\bar\bri\bia\bab\bbl\ble\be t\bto\bo d\bde\ben\bno\bot\bte\be t\bth\bhe\be r\bre\beg\bgi\bio\bon\bn.\b.  S\bSe\bev\bve\ber\bra\bal\bl  c\bco\bom\bmm\bma\ban\bnd\bds\bs  s\bse\bet\bt
-       t\bth\bhe\be r\bre\beg\bgi\bio\bon\bn t\bto\bo a\bac\bct\bti\biv\bve\be;\b; t\bth\bho\bos\bse\be a\bar\bre\be n\bno\bot\bte\bed\bd b\bbe\bel\blo\bow\bw.\b.
+       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-
+       _\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\br 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;
+       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.
@@ -633,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 readline 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-
-              fect if the current readline line does not take up more than one
-              physical line or if the length of the current readline  line  is
+              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
               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.
@@ -662,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
@@ -710,237 +715,238 @@ 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, readline
+              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.
        d\bde\bel\ble\bet\bte\be-\b-c\bch\bha\bar\br (\b(C\bC-\b-d\bd)\b)
               Delete the character at point.  If this function is bound to the
               same character as the tty E\bEO\bOF\bF character, as C\bC-\b-d\bd commonly is, see
-              above for the effects.
+              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 readline 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
-              readline completion is filename completion.
+              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
-              displaying completions, readline 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
+              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
               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)
@@ -948,85 +954,85 @@ 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  readline  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  readline
+              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 read-
-              line 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
+              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
               _\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
-              readline output 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\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.
        d\bdu\bum\bmp\bp-\b-m\bma\bac\bcr\bro\bos\bs
-              Print  all of the readline key sequences bound to macros and the
-              strings they output to the readline output stream.  If a numeric
+              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 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
+              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
               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)
-              When in v\bvi\bi command mode, this switches readline to e\bem\bma\bac\bcs\bs editing
+              When in v\bvi\bi command mode, this switches r\bre\bea\bad\bdl\bli\bin\bne\be to e\bem\bma\bac\bcs\bs editing
               mode.
        v\bvi\bi-\b-e\bed\bdi\bit\bti\bin\bng\bg-\b-m\bmo\bod\bde\be (\b(M\bM-\b-C\bC-\b-j\bj)\b)
               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  readline 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
@@ -1243,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,\b, 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 e11d13acca9c53bef5ef8e99b5c26281362d3f3b..d0708e33ea7737a84453f15d2ed8924cb1ed3434 100644 (file)
@@ -104,28 +104,34 @@ If an
 is read with a non\-empty line, it is treated as a newline.
 .SH NOTATION
 .LP
-This section uses an emacs-style notation to denote keystrokes.
+This section uses Emacs-style editing concepts and uses its
+notation for keystrokes.
 Control keys are denoted by C\-\fIkey\fP, e.g., C\-n means Control\-N.
 Similarly,
 .I meta
 keys are denoted by M\-\fIkey\fP, so M\-x means Meta\-X.
+The Meta key is often labeled
+.Q Alt
+or
+.Q Option .
 .PP
 On keyboards without a
 .I Meta
-key, M\-\fIx\fP means ESC \fIx\fP, i.e., press the Escape key
-then the
+key, M\-\fIx\fP means ESC \fIx\fP, i.e., press and release
+the Escape key, then press and release the
 .I x
-key.
+key, in sequence.
 This makes ESC the \fImeta prefix\fP.
-The combination M\-C\-\fIx\fP means ESC\-Control\-\fIx\fP,
-or press the Escape key
-then hold the Control key while pressing the
+The combination M\-C\-\fIx\fP means ESC\-Control\-\fIx\fP:
+press and release the Escape key,
+then press and hold the Control key while pressing the
 .I x
-key.
+key, then release both.
 .PP
-On some keyboards, the Meta key modifier produces meta characters with
-the eighth bit (0200) set (you can use the \fBenable\-meta\-key\fP variable
-to control whether or not it does this, if the keyboard allows it).
+On some keyboards, the Meta key modifier produces characters with
+the eighth bit (0200) set.
+You can use the \fBenable\-meta\-key\fP 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
 preceding paragraph.
@@ -135,7 +141,8 @@ you can make M-\fIkey\fP key bindings you specify (see
 .B "Readline Key Bindings"
 below) do the same thing by setting the \fBforce\-meta\-prefix\fP variable.
 .PP
-Readline commands may be given numeric
+.B Readline
+commands may be given numeric
 .IR arguments ,
 which normally act as a repeat count.
 Sometimes, however, it is the sign of the argument that is significant.
@@ -145,6 +152,10 @@ makes that command act in a backward direction.
 Commands whose behavior with arguments deviates from this are noted
 below.
 .PP
+The \fIpoint\fP is the current cursor position, and \fImark\fP refers
+to a saved cursor position.
+The text between the point and mark is referred to as the \fIregion\fP.
+.PP
 When a command is described as \fIkilling\fP text, the text
 deleted is saved for possible future retrieval
 (\fIyanking\fP).
@@ -155,16 +166,17 @@ Commands which do not kill text separate the chunks of text
 on the kill ring.
 .SH INITIALIZATION FILE
 .LP
-Readline is customized by putting commands in an initialization
+.B Readline
+is customized by putting commands in an initialization
 file (the \fIinputrc\fP file).
 The name of this file is taken from the value of the
 .B INPUTRC
 environment variable.
 If that variable is unset, the default is
 .IR \*~/.inputrc .
-If that file  does not exist or cannot be read, readline looks for
+If that file  does not exist or cannot be read, \fBreadline\fP looks for
 .IR /etc/inputrc .
-When a program which uses the readline library starts up,
+When a program which uses the \fBreadline\fP library starts up,
 \fBreadline\fP reads the initialization file
 and sets the key bindings and variables found there,
 before reading any user input.
@@ -194,7 +206,7 @@ C\-Meta\-u: universal\-argument
 .LP
 into the
 .I inputrc
-would make M\-C\-u execute the readline command
+would make M\-C\-u execute the \fBreadline\fP command
 .IR universal\-argument .
 .PP
 Key bindings may contain the following symbolic character names:
@@ -205,13 +217,13 @@ Key bindings may contain the following symbolic character names:
 .IR NEWLINE ,
 .IR RET ,
 .IR RETURN ,
-.IR RUBOUT ,
+.IR RUBOUT (a destructive backspace),
 .IR SPACE ,
 .IR SPC ,
 and
 .IR TAB .
 .PP
-In addition to command names, readline allows keys to be bound
+In addition to command names, \fBreadline\fP allows keys to be bound
 to a string that is inserted when the key is pressed (a \fImacro\fP).
 The difference between a macro and a command is that a macro is
 enclosed in single or double quotes.
@@ -365,7 +377,7 @@ Backslash will quote any other character in the macro text,
 including \*" and \*'.
 .PP
 .B Bash
-will display or modify the current readline key bindings with the
+will display or modify the current \fBreadline\fP key bindings with the
 .B bind
 builtin command.
 The
@@ -379,10 +391,11 @@ will change the editing mode during interactive use.
 Other programs using this library provide similar mechanisms.
 A user may always edit the
 .I inputrc
-file and have readline re-read it if a program does not provide
+file and have \fBreadline\fP re-read it if a program does not provide
 any other means to incorporate new bindings.
 .SS Variables
-Readline has variables that can be used to further customize its
+.B Readline
+has variables that can be used to further customize its
 behavior.
 A variable may be set in the
 .I inputrc
@@ -392,13 +405,13 @@ file with a statement of the form
 \fBset\fP \fIvariable\-name\fP \fIvalue\fP
 .RE
 .PP
-Except where noted, readline variables can take the values
+Except where noted, \fBreadline\fP variables can take the values
 .B On
 or
 .B Off
 (without regard to case).
 Unrecognized variable names are ignored.
-When readline reads a variable value, empty or null values,
+When \fBreadline\fP reads a variable value, empty or null values,
 .Q "on"
 (case-insensitive), and
 .Q 1
@@ -440,37 +453,37 @@ A sample value might be
 .Q \ee[0m .
 .TP
 .B bell\-style (audible)
-Controls what happens when readline wants to ring the terminal bell.
-If set to \fBnone\fP, readline never rings the bell.
-If set to \fBvisible\fP, readline uses a visible bell if one is available.
-If set to \fBaudible\fP, readline attempts to ring the terminal's bell.
+Controls what happens when \fBreadline\fP wants to ring the terminal bell.
+If set to \fBnone\fP, \fBreadline\fP never rings the bell.
+If set to \fBvisible\fP, \fBreadline\fP uses a visible bell if one is available.
+If set to \fBaudible\fP, \fBreadline\fP attempts to ring the terminal's bell.
 .TP
 .B bind\-tty\-special\-chars (On)
-If set to \fBOn\fP, readline attempts to bind
+If set to \fBOn\fP, \fBreadline\fP 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.
+terminal driver to their \fBreadline\fP equivalents.
+These override the default \fBreadline\fP bindings described here.
 Type
 .Q "stty \-a"
 at a \fBbash\fP prompt to see your current terminal settings,
 including the special control characters (usually \fBcchars\fP).
 .TP
 .B blink\-matching\-paren (Off)
-If set to \fBOn\fP, readline attempts to briefly move the cursor to an
+If set to \fBOn\fP, \fBreadline\fP attempts to briefly move the cursor to an
 opening parenthesis when a closing parenthesis is inserted.
 .TP
 .B colored\-completion\-prefix (Off)
-If set to \fBOn\fP, when listing completions, readline displays the
+If set to \fBOn\fP, when listing completions, \fBreadline\fP displays the
 common prefix of the set of possible completions using a different color.
 The color definitions are taken from the value of the \fBLS_COLORS\fP
 environment variable.
 If there is a color definition in \fB$LS_COLORS\fP for the custom suffix
 .Q readline-colored-completion-prefix ,
-readline uses this color for
+\fBreadline\fP uses this color for
 the common prefix instead of its default.
 .TP
 .B colored\-stats (Off)
-If set to \fBOn\fP, readline displays possible completions using different
+If set to \fBOn\fP, \fBreadline\fP displays possible completions using different
 colors to indicate their file type.
 The color definitions are taken from the value of the \fBLS_COLORS\fP
 environment variable.
@@ -480,7 +493,7 @@ environment variable.
 .TP
 .BR comment\-begin\ ( \c
 .Q \fB#\fP \fB)\fP
-The string that the readline
+The string that the \fBreadline\fP
 .B insert\-comment
 command inserts.
 This command is bound to
@@ -498,11 +511,12 @@ A value of 0 will cause matches to be displayed one per line.
 The default value is \-1.
 .TP
 .B completion\-ignore\-case (Off)
-If set to \fBOn\fP, readline performs filename matching and completion
+If set to \fBOn\fP, \fBreadline\fP performs filename matching and completion
 in a case\-insensitive fashion.
 .TP
 .B completion\-map\-case (Off)
-If set to \fBOn\fP, and \fBcompletion\-ignore\-case\fP is enabled, readline
+If set to \fBOn\fP, and \fBcompletion\-ignore\-case\fP is enabled,
+\fBreadline\fP
 treats hyphens (\fI\-\fP) and underscores (\fI_\fP) as equivalent when
 performing case\-insensitive filename matching and completion.
 .TP
@@ -510,7 +524,7 @@ performing case\-insensitive filename matching and completion.
 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
+When set to a value greater than zero, \fBreadline\fP
 replaces common prefixes longer than this value
 with an ellipsis when displaying possible completions.
 .TP
@@ -521,17 +535,17 @@ generated by the \fBpossible\-completions\fP 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,
-readline will ask whether or not the user wishes to view them;
-otherwise readline simply lists them on the terminal.
-A zero value means readline should never ask; negative values are
+\fBreadline\fP will ask whether or not the user wishes to view them;
+otherwise \fBreadline\fP simply lists them on the terminal.
+A zero value means \fBreadline\fP should never ask; negative values are
 treated as zero.
 .TP
 .B convert\-meta (On)
-If set to \fBOn\fP, readline will convert characters it reads
+If set to \fBOn\fP, \fBreadline\fP 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 \fImeta prefix\fP).
-The default is \fIOn\fP, but readline will set it to \fIOff\fP
+(converting the character to have the meta prefix).
+The default is \fIOn\fP, but \fBreadline\fP will set it to \fIOff\fP
 if the locale contains
 characters whose encodings may include bytes with the eighth bit set.
 This variable is dependent on the \fBLC_CTYPE\fP locale category, and
@@ -540,17 +554,17 @@ This variable also affects key bindings; see the description of
 \fBforce\-meta\-prefix\fP below.
 .TP
 .B disable\-completion (Off)
-If set to \fBOn\fP, readline will inhibit word completion.
+If set to \fBOn\fP, \fBreadline\fP will inhibit word completion.
 Completion characters will be inserted into the line as if they
 had been mapped to \fBself-insert\fP.
 .TP
 .B echo\-control\-characters (On)
 When set to \fBOn\fP, on operating systems that indicate they support it,
-readline echoes a character corresponding to a signal generated from the
+\fBreadline\fP echoes a character corresponding to a signal generated from the
 keyboard.
 .TP
 .B editing\-mode (emacs)
-Controls whether readline uses a set of key bindings similar
+Controls whether \fBreadline\fP uses a set of key bindings similar
 to \fIEmacs\fP or \fIvi\fP.
 .B editing\-mode
 can be set to either
@@ -570,32 +584,30 @@ non-printing characters, which can be used to embed a terminal control
 sequence into the mode string.
 .TP
 .B enable\-active\-region (On)
-The \fIpoint\fP is the current cursor position, and \fImark\fP refers
-to a saved cursor position.
-The text between the point and mark is referred to as the \fIregion\fP.
-When this variable is set to \fIOn\fP, readline allows certain commands
+When this variable is set to \fIOn\fP, \fBreadline\fP allows certain commands
 to designate the region as \fIactive\fP.
-When the region is active, readline highlights the text in the region using
+When the region is active, \fBreadline\fP highlights
+the text in the region using
 the value of the \fBactive\-region\-start\-color\fP, 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.
 .TP
 .B enable\-bracketed\-paste (On)
-When set to \fBOn\fP, readline configures the terminal to insert each
+When set to \fBOn\fP, \fBreadline\fP 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 \fIbracketed\-paste mode\fP;
-it prevents readline from executing any editing commands bound to key
+it prevents \fBreadline\fP from executing any editing commands bound to key
 sequences appearing in the pasted text.
 .TP
 .B enable\-keypad (Off)
-When set to \fBOn\fP, readline will try to enable the application
+When set to \fBOn\fP, \fBreadline\fP will try to enable the application
 keypad when it is called.
 Some systems need this to enable the arrow keys.
 .TP
 .B enable\-meta\-key (On)
-When set to \fBOn\fP, readline will try to enable any meta modifier
+When set to \fBOn\fP, \fBreadline\fP 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
@@ -604,24 +616,24 @@ character (0200) if the Meta key is held down when the character is
 typed (a meta character).
 .TP
 .B expand\-tilde (Off)
-If set to \fBOn\fP, readline performs tilde expansion when it
+If set to \fBOn\fP, \fBreadline\fP performs tilde expansion when it
 attempts word completion.
 .TP
 .B force\-meta\-prefix (Off)
-If set to \fBOn\fP, readline modifies its behavior when binding key
+If set to \fBOn\fP, \fBreadline\fP modifies its behavior when binding key
 sequences containing \eM- or Meta-
 (see \fBKey Bindings\fP above) by converting a key sequence of the form
 \eM\-\fIC\fP or Meta\-\fIC\fP to the two-character sequence
-\fBESC\fP\fIC\fP (adding the \fImeta prefix\fP).
+\fBESC\fP \fIC\fP (adding the meta prefix).
 If
 .B force\-meta\-prefix
 is set to \fBOff\fP (the default),
-readline uses the value of the
+\fBreadline\fP uses the value of the
 .B convert\-meta
 variable to determine whether to perform this conversion:
 if \fBconvert\-meta\fP is \fBOn\fP,
-readline performs the conversion described above;
-if it is \fBOff\fP, readline converts \fIC\fP to a meta character by
+\fBreadline\fP performs the conversion described above;
+if it is \fBOff\fP, \fBreadline\fP converts \fIC\fP to a meta character by
 setting the eighth bit (0200).
 .TP
 .B history\-preserve\-point (Off)
@@ -640,17 +652,17 @@ Setting \fIhistory\-size\fP to a non-numeric value will set
 the maximum number of history entries to 500.
 .TP
 .B horizontal\-scroll\-mode (Off)
-Setting this variable to \fBOn\fP makes readline use a single line
+Setting this variable to \fBOn\fP makes \fBreadline\fP 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 for terminals of height 1.
 .TP
 .B input\-meta (Off)
-If set to \fBOn\fP, readline will enable eight-bit input (that is, it
+If set to \fBOn\fP, \fBreadline\fP 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 is \fIOff\fP, but readline will set it to \fIOn\fP
+The default is \fIOff\fP, but \fBreadline\fP will set it to \fIOn\fP
 if the locale contains characters whose encodings may include bytes
 with the eighth bit set.
 This variable is dependent on the \fBLC_CTYPE\fP locale category, and
@@ -665,7 +677,7 @@ If this variable has not been given a value, the characters
 \fIESC\fP and \fIC\-J\fP will terminate an incremental search.
 .TP
 .B keymap (emacs)
-Set the current readline keymap.
+Set the current \fBreadline\fP keymap.
 The set of valid keymap names is
 \fIemacs, emacs\-standard, emacs\-meta, emacs\-ctlx, vi,
 vi\-command\fP, and
@@ -678,23 +690,24 @@ the value of
 also affects the default keymap.
 .TP
 .B keyseq\-timeout (500)
-Specifies the duration \fIreadline\fP will wait for a character when
+Specifies the duration \fBreadline\fP 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 does not receive any input within the timeout, it will use the
-shorter but complete key sequence.
+If \fBreadline\fP does not receive any input within the timeout,
+it will use the shorter but complete key sequence.
 The value is specified in milliseconds, so a value of 1000 means that
-readline will wait one second for additional input.
+\fBreadline\fP 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
+non-numeric value, \fBreadline\fP will wait until another key is pressed to
 decide which key sequence to complete.
 .TP
 .B mark\-directories (On)
 If set to \fBOn\fP, completed directory names have a slash appended.
 .TP
 .B mark\-modified\-lines (Off)
-If set to \fBOn\fP, readline displays history lines that have been modified
+If set to \fBOn\fP, \fBreadline\fP displays history lines
+that have been modified
 with a preceding asterisk (\fB*\fP).
 .TP
 .B mark\-symlinked\-directories (Off)
@@ -702,7 +715,7 @@ If set to \fBOn\fP, completed names which are symbolic links to directories
 have a slash appended, subject to the value of \fBmark\-directories\fP.
 .TP
 .B match\-hidden\-files (On)
-This variable, when set to \fBOn\fP, forces readline to match files whose
+This variable, when set to \fBOn\fP, forces \fBreadline\fP to match files whose
 names begin with a
 .Q .
 (hidden files) when performing filename completion.
@@ -716,35 +729,35 @@ list of possible completions (which may be empty) before cycling through
 the list.
 .TP
 .B output\-meta (Off)
-If set to \fBOn\fP, readline will display characters with the
+If set to \fBOn\fP, \fBreadline\fP will display characters with the
 eighth bit set directly rather than as a meta-prefixed escape
 sequence.
-The default is \fIOff\fP, but readline will set it to \fIOn\fP
+The default is \fIOff\fP, but \fBreadline\fP will set it to \fIOn\fP
 if the locale contains characters whose encodings may include
 bytes with the eighth bit set.
 This variable is dependent on the \fBLC_CTYPE\fP locale category, and
 its value may change if the locale changes.
 .TP
 .B page\-completions (On)
-If set to \fBOn\fP, readline uses an internal \fImore\fP-like pager
+If set to \fBOn\fP, \fBreadline\fP uses an internal \fImore\fP-like pager
 to display a screenful of possible completions at a time.
 .TP
 .B prefer\-visible\-bell
 See \fBbell\-style\fP.
 .TP
 .B print\-completions\-horizontally (Off)
-If set to \fBOn\fP, readline will display completions with matches
+If set to \fBOn\fP, \fBreadline\fP will display completions with matches
 sorted horizontally in alphabetical order, rather than down the screen.
 .TP
 .B revert\-all\-at\-newline (Off)
-If set to \fBOn\fP, readline will undo all changes to history lines
+If set to \fBOn\fP, \fBreadline\fP will undo all changes to history lines
 before returning when executing \fBaccept\-line\fP.
 By default,
 history lines may be modified and retain individual undo lists across
 calls to \fBreadline()\fP.
 .TP
 .B search\-ignore\-case (Off)
-If set to \fBOn\fP, readline performs incremental and non-incremental
+If set to \fBOn\fP, \fBreadline\fP performs incremental and non-incremental
 history list searches in a case\-insensitive fashion.
 .TP
 .B show\-all\-if\-ambiguous (Off)
@@ -773,7 +786,7 @@ The mode strings are user-settable (e.g., \fIemacs\-mode\-string\fP).
 If set to \fBOn\fP, 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
+If enabled, \fBreadline\fP 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.
 .TP
@@ -803,7 +816,8 @@ by \fIstat\fP(2) is appended to the filename when listing possible
 completions.
 .PD
 .SS Conditional Constructs
-Readline implements a facility similar in spirit to the conditional
+.B 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.
@@ -814,7 +828,7 @@ The
 .B $if
 construct allows bindings to be made based on the
 editing mode, the terminal being used, or the application using
-readline.
+\fBreadline\fP.
 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.
@@ -822,11 +836,11 @@ unless otherwise noted, no characters are required to isolate it.
 .TP
 .B mode
 The \fBmode=\fP form of the \fB$if\fP directive is used to test
-whether readline is in emacs or vi mode.
+whether \fBreadline\fP is in emacs or vi mode.
 This may be used in conjunction
 with the \fBset keymap\fP command, for instance, to set bindings in
 the \fIemacs\-standard\fP and \fIemacs\-ctlx\fP keymaps only if
-readline is starting out in emacs mode.
+\fBreadline\fP is starting out in emacs mode.
 .TP
 .B term
 The \fBterm=\fP form may be used to include terminal-specific
@@ -846,8 +860,8 @@ for instance.
 .TP
 .B version
 The \fBversion\fP test may be used to perform comparisons against
-specific readline versions.
-The \fBversion\fP expands to the current readline version.
+specific \fBreadline\fP versions.
+The \fBversion\fP expands to the current \fBreadline\fP version.
 The set of comparison operators includes
 .BR = ,
 (and
@@ -869,7 +883,7 @@ and from the version number argument by whitespace.
 .I application
 The \fIapplication\fP construct is used to include
 application-specific settings.
-Each program using the readline
+Each program using the \fBreadline\fP
 library sets the \fIapplication name\fP, and an initialization
 file can test for a particular value.
 This could be used to bind key sequences to functions useful for
@@ -889,7 +903,7 @@ key sequence that quotes the current or previous word in \fBbash\fP:
 .RE
 .TP
 .I variable
-The \fIvariable\fP construct provides simple equality tests for readline
+The \fIvariable\fP construct provides simple equality tests for \fBreadline\fP
 variables and values.
 The permitted comparison operators are \fI=\fP, \fI==\fP, and \fI!=\fP.
 The variable name must be separated from the comparison operator by
@@ -919,7 +933,8 @@ For example, the following directive would read \fI/etc/inputrc\fP:
 .fi
 .RE
 .SH SEARCHING
-Readline provides commands for searching through the command history
+.B Readline
+provides commands for searching through the command history
 for lines containing a specified string.
 There are two search modes:
 .I incremental
@@ -928,7 +943,7 @@ and
 .PP
 Incremental searches begin before the user has finished typing the
 search string.
-As each character of the search string is typed, readline displays
+As each character of the search string is typed, \fBreadline\fP 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.
@@ -947,16 +962,17 @@ To find other matching entries in the history list, type \fBC\-r\fP or
 \fBC\-s\fP 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
+Any other key sequence bound to a \fBreadline\fP command will terminate
 the search and execute 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.
 .PP
-Readline remembers the last incremental search string.
+.B Readline
+remembers the last incremental search string.
 If two \fBC\-r\fPs are typed without any intervening characters defining
-a new search string, readline uses any remembered search string.
+a new search string, \fBreadline\fP uses any remembered search string.
 .PP
 Non-incremental searches read the entire search string before starting
 to search for matching history entries.
@@ -971,10 +987,12 @@ In the following descriptions, \fIpoint\fP refers to the current cursor
 position, and \fImark\fP refers to a cursor position saved by the
 \fBset\-mark\fP command.
 The text between the point and mark is referred to as the \fIregion\fP.
-Readline has the concept of an \fIactive region\fP:
-when the region is active, readline redisplay uses the
-value of the \fBactive\-region\-start\-color variable
-to denote the region.
+.B Readline
+has the concept of an \fIactive region\fP:
+when the region is active, \fBreadline\fP redisplay
+highlights the region using the
+value of the \fBactive-region-start-color\fP variable.
+The \fBenable\-active\-region\fP variable turns this on and off.
 Several commands set the region to active; those are noted below.
 .SS Commands for Moving
 .PD 0
@@ -1005,15 +1023,16 @@ Words are composed of alphanumeric characters (letters and digits).
 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.
+\fBreadline\fP 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.
 .TP
 .B 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
+\fBreadline\fP line does not take up more than one physical line or if
+the length of the current \fBreadline\fP line is
+not greater than the length of the prompt
 plus the screen width.
 .TP
 .B clear\-display (M\-C\-l)
@@ -1160,7 +1179,7 @@ history expansion had been specified.
 The character indicating end-of-file as set, for example, by
 .IR stty (1).
 If this character is read when there are no characters
-on the line, and point is at the beginning of the line, readline
+on the line, and point is at the beginning of the line, \fBreadline\fP
 interprets it as the end of input and returns
 .SM
 .BR EOF .
@@ -1170,6 +1189,7 @@ Delete the character at point.
 If this function is bound to the
 same character as the tty \fBEOF\fP character, as \fBC\-d\fP
 commonly is, see above for the effects.
+This may also be bound to the Delete key on some keyboards.
 .TP
 .B backward\-delete\-char (Rubout)
 Delete the character behind the cursor.
@@ -1196,8 +1216,8 @@ This function is intended to be bound to the
 .Q "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.
+It allows \fBreadline\fP 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 inserted as if each one was bound to \fBself\-insert\fP instead of
 executing any editing commands.
@@ -1354,11 +1374,11 @@ If none of these produces a match, it falls back to filename completion.
 on the other hand,
 allows completion of program functions and variables, and
 only attempts filename completion under certain circumstances.
-The default readline completion is filename completion.
+The default \fBreadline\fP completion is filename completion.
 .TP
 .B possible\-completions (M\-?)
 List the possible completions of the text before point.
-When displaying completions, readline sets the number of columns used
+When displaying completions, \fBreadline\fP sets the number of columns used
 for display to the value of \fBcompletion-display-width\fP, the value of
 the environment variable
 .BR COLUMNS ,
@@ -1475,12 +1495,12 @@ CSI sequences begin with a Control Sequence Indicator (CSI), usually ESC\-[.
 If this sequence is bound to
 .Q \ee[ ,
 keys producing CSI sequences will have no effect
-unless explicitly bound to a readline command, instead of inserting
+unless explicitly bound to a \fBreadline\fP command, instead of inserting
 stray characters into the editing buffer.
 This is unbound by default, but usually bound to ESC\-[.
 .TP
 .B insert\-comment (M\-#)
-Without a numeric argument, insert the value of the readline
+Without a numeric argument, insert the value of the \fBreadline\fP
 .B comment\-begin
 variable at the beginning of the current line.
 If a numeric argument is supplied, this command acts as a toggle: if
@@ -1496,28 +1516,28 @@ will be executed by the shell.
 .TP
 .B dump\-functions
 Print all of the functions and their key bindings
-to the readline output stream.
+to the \fBreadline\fP output stream.
 If a numeric argument is supplied,
 the output is formatted in such a way that it can be made part
 of an \fIinputrc\fP file.
 .TP
 .B dump\-variables
 Print all of the settable variables and their values
-to the readline output stream.
+to the \fBreadline\fP output stream.
 If a numeric argument is supplied,
 the output is formatted in such a way that it can be made part
 of an \fIinputrc\fP file.
 .TP
 .B dump\-macros
-Print all of the readline key sequences bound to macros and the
+Print all of the \fBreadline\fP key sequences bound to macros and the
 strings they output
-to the readline output stream.
+to the \fBreadline\fP output stream.
 If a numeric argument is supplied,
 the output is formatted in such a way that it can be made part
 of an \fIinputrc\fP file.
 .TP
 .B execute\-named\-command (M-x)
-Read a bindable readline command name from the input and execute the
+Read a bindable \fBreadline\fP 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
@@ -1526,7 +1546,7 @@ argument to the function it executes.
 .B emacs\-editing\-mode (C\-e)
 When in
 .B vi
-command mode, this switches readline to
+command mode, this switches \fBreadline\fP to
 .B emacs
 editing mode.
 .TP
@@ -1557,7 +1577,7 @@ 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 readline
+The remaining characters are unbound, which causes \fBreadline\fP
 to ring the bell (subject to the setting of the
 .B bell\-style
 variable).
@@ -1791,7 +1811,7 @@ Chet Ramey, Case Western Reserve University
 chet.ramey@case.edu
 .SH BUG REPORTS
 If you find a bug in
-.B readline,
+.BR readline ,
 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
index ca96ec33a5b635c9feb6d1500d9e2e0c8e88bfc2..b1f9e1897b4fbf9efd549b0833de9551aa1bc5ad 100644 (file)
Binary files a/doc/readline.dvi and b/doc/readline.dvi differ
index c55a6bd6e88481bc6884c64786a77df4bc03bf53..4759f02fac45ab4bc13d8fc1f308530106313f47 100644 (file)
@@ -4,11 +4,11 @@
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 <!-- This manual describes the GNU Readline Library
-(version 8.3, 10 October 2024), a library which aids in the
+(version 8.3, 15 October 2024), a library which aids in the
 consistency of user interface across discrete programs which provide
 a command line interface.
 
-Copyright © 1988-2022 Free Software Foundation, Inc.
+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
@@ -184,8 +184,8 @@ Next: <a href="#Readline-Interaction" accesskey="n" rel="next">Readline Interact
 </div>
 <h3 class="section" id="Introduction-to-Line-Editing"><span>1.1 Introduction to Line Editing<a class="copiable-link" href="#Introduction-to-Line-Editing"> &para;</a></span></h3>
 
-<p>The following paragraphs describe the notation used to represent
-keystrokes.
+<p>The following paragraphs use Emacs style to
+describe the notation used to represent keystrokes.
 </p>
 <p>The text <kbd class="kbd">C-k</kbd> is read as &lsquo;Control-K&rsquo; and describes the character
 produced when the <kbd class="key">k</kbd> key is pressed while the Control key
@@ -193,16 +193,16 @@ is depressed.
 </p>
 <p>The text <kbd class="kbd">M-k</kbd> is read as &lsquo;Meta-K&rsquo; and describes the character
 produced when the Meta key (if you have one) is depressed, and the <kbd class="key">k</kbd>
-key is pressed (a <em class="dfn">meta character</em>).
-The Meta key is labeled <kbd class="key">ALT</kbd> on many keyboards.
+key is pressed (a <em class="dfn">meta character</em>), then both are released.
+The Meta key is labeled <kbd class="key">ALT</kbd> or <kbd class="key">Option</kbd> on many keyboards.
 On keyboards with two keys labeled <kbd class="key">ALT</kbd> (usually to either side of
 the space bar), the <kbd class="key">ALT</kbd> on the left side is generally set to
 work as a Meta key.
-The <kbd class="key">ALT</kbd> 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
+One of the <kbd class="key">ALT</kbd> keys may also be configured
+as some other modifier, such as a
 Compose key for typing accented characters.
 </p>
-<p>On some keyboards, the Meta key modifier produces meta characters with
+<p>On some keyboards, the Meta key modifier produces characters with
 the eighth bit (0200) set.
 You can use the <code class="code">enable-meta-key</code> variable
 to control whether or not it does this, if the keyboard allows it.
@@ -533,7 +533,7 @@ commands in an <em class="dfn">inputrc</em> file, conventionally in their home d
 The name of this file is taken from the value of the
 environment variable <code class="env">INPUTRC</code>.
 If that variable is unset, the default is <samp class="file">~/.inputrc</samp>.
-If that file does not exist or cannot be read, readline looks for
+If that file does not exist or cannot be read, Readline looks for
 <samp class="file">/etc/inputrc</samp>.
 </p>
 <p>When a program which uses the Readline library starts up, Readline reads
@@ -698,7 +698,7 @@ The default value is &lsquo;<samp class="samp">off</samp>&rsquo;.
 <dd><p>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
+When set to a value greater than zero, Readline
 replaces common prefixes longer than this value
 with an ellipsis when displaying possible completions.
 </p>
@@ -819,7 +819,7 @@ sequences containing <kbd class="kbd">\M-</kbd> or <code class="code">Meta-</cod
 (see <code class="code">Key Bindings</code> in <a class="ref" href="#Readline-Init-File-Syntax">Readline Init File Syntax</a>)
 by converting a key sequence of the form
 <kbd class="kbd">\M-</kbd><var class="var">C</var> or <code class="code">Meta-</code><var class="var">C</var> to the two-character sequence
-<kbd class="kbd">ESC</kbd><var class="var">C</var> (adding the meta prefix).
+<kbd class="kbd">ESC</kbd> <var class="var">C</var> (adding the meta prefix).
 If <code class="code">force-meta-prefix</code> is set to &lsquo;<samp class="samp">off</samp>&rsquo; (the default),
 Readline uses the value of the <code class="code">convert-meta</code> variable to determine
 whether to perform this conversion:
@@ -1019,7 +1019,7 @@ The default value is &lsquo;<samp class="samp">off</samp>&rsquo;.
 <dd><p>If set to &lsquo;<samp class="samp">on</samp>&rsquo;, this alters the default completion behavior when
 inserting a single match into the line.
 It&rsquo;s only active when performing completion in the middle of a word.
-If enabled, readline does not insert characters from the completion
+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
@@ -1111,7 +1111,7 @@ expressed on the right hand side (that is, to insert the text
 <var class="var">NEWLINE</var>,
 <var class="var">RET</var>,
 <var class="var">RETURN</var>,
-<var class="var">RUBOUT</var>,
+<var class="var">RUBOUT</var> (a destructive backspace),
 <var class="var">SPACE</var>,
 <var class="var">SPC</var>,
 and
@@ -1483,9 +1483,10 @@ position, and <em class="dfn">mark</em> refers to a cursor position saved by the
 <code class="code">set-mark</code> command.
 The text between the point and mark is referred to as the <em class="dfn">region</em>.
 Readline has the concept of an <em class="emph">active region</em>:
-when the region is active, Readline redisplay uses the
-value of the <code class="code">active-region-start-color</code> variable
-to denote the region.
+when the region is active,
+Readline redisplay highlights the region using the
+value of the <code class="code">active-region-start-color</code> variable.
+The <code class="code">enable-active-region</code> variable turns this on and off.
 Several commands set the region to active; those are noted below.
 </p>
 <ul class="mini-toc">
@@ -1737,6 +1738,7 @@ interprets it as the end of input and returns <small class="sc">EOF</small>.
 If this function is bound to the
 same character as the tty <small class="sc">EOF</small> character, as <kbd class="kbd">C-d</kbd>
 commonly is, see above for the effects.
+This may also be bound to the Delete key on some keyboards.
 </p>
 </dd>
 <dt><a id="index-backward_002ddelete_002dchar-_0028Rubout_0029"></a><span><code class="code">backward-delete-char (Rubout)</code><a class="copiable-link" href="#index-backward_002ddelete_002dchar-_0028Rubout_0029"> &para;</a></span></dt>
@@ -2165,7 +2167,7 @@ This command is unbound by default.
 </p>
 </dd>
 <dt><a id="index-execute_002dnamed_002dcommand-_0028M_002dx_0029"></a><span><code class="code">execute-named-command (M-x)</code><a class="copiable-link" href="#index-execute_002dnamed_002dcommand-_0028M_002dx_0029"> &para;</a></span></dt>
-<dd><p>Read a bindable readline command name from the input and execute the
+<dd><p>Read a bindable Readline command name from the input and execute the
 function to which it&rsquo;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
@@ -2250,10 +2252,11 @@ Next: <a href="#Custom-Functions" accesskey="n" rel="next">Custom Functions</a>,
 <h3 class="section" id="Basic-Behavior-1"><span>2.1 Basic Behavior<a class="copiable-link" href="#Basic-Behavior-1"> &para;</a></span></h3>
 
 <p>Many programs provide a command line interface, such as <code class="code">mail</code>,
-<code class="code">ftp</code>, and <code class="code">sh</code>.  For such programs, the default behaviour of
-Readline is sufficient.  This section describes how to use Readline in
+<code class="code">ftp</code>, and <code class="code">sh</code>.
+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 class="code">gets()</code> or <code class="code">fgets()</code>.
+<code class="code">fgets()</code>.
 </p>
 <a class="index-entry-id" id="index-readline"></a>
 <a class="index-entry-id" id="index-readline_002c-function"></a>
@@ -2263,8 +2266,9 @@ and then reads and returns a single line of text from the user.
 Since it&rsquo;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 <var class="var">prompt</var> is <code class="code">NULL</code> or the empty string, no prompt is displayed.
-The line <code class="code">readline</code> returns is allocated with <code class="code">malloc()</code>;
+If <var class="var">prompt</var> is <code class="code">NULL</code> or the empty string,
+<code class="code">readline()</code> does not display a prompt.
+The line <code class="code">readline()</code> returns is allocated with <code class="code">malloc()</code>;
 the caller should <code class="code">free()</code> the line when it has finished with it.
 The declaration for <code class="code">readline</code> in ANSI C is
 </p>
@@ -2279,13 +2283,16 @@ The declaration for <code class="code">readline</code> in ANSI C is
 <p>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.
 </p>
-<p>If <code class="code">readline</code> encounters an <code class="code">EOF</code> while reading the line, and the
-line is empty at that point, then <code class="code">(char *)NULL</code> is returned.
+<p>If Readline encounters an <code class="code">EOF</code> while reading the line,
+and the line is empty at that point,
+then <code class="code">readline()</code> returns <code class="code">(char *)NULL</code>.
 Otherwise, the line is ended just as if a newline had been typed.
 </p>
 <p>Readline performs some expansion on the <var class="var">prompt</var> before it is
-displayed on the screen.  See the description of <code class="code">rl_expand_prompt</code>
+displayed on the screen.
+See the description of <code class="code">rl_expand_prompt</code>
 (see <a class="pxref" href="#Redisplay">Redisplay</a>) for additional details, especially if <var class="var">prompt</var>
 will contain characters that do not consume physical screen space when
 displayed.
@@ -2301,8 +2308,8 @@ line away in a <em class="dfn">history</em> list of such lines.
 <p>For full details on the GNU History Library, see the associated manual.
 </p>
 <p>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 class="code">gets()</code> library
+users rarely have a burning need to reuse a blank line.
+Here is a function which usefully replaces the standard <code class="code">gets()</code> library
 function, and has the advantage of no static buffer to overflow:
 </p>
 <div class="example">
@@ -2335,8 +2342,9 @@ rl_gets ()
 </pre></div>
 
 <p>This function gives the user the default behaviour of <kbd class="key">TAB</kbd>
-completion: completion on file names.  If you do not want Readline to
-complete on filenames, you can change the binding of the <kbd class="key">TAB</kbd> key
+completion: filename completion.
+If you do not want Readline to
+complete filenames, you can change the binding of the <kbd class="key">TAB</kbd> key
 with <code class="code">rl_bind_key()</code>.
 </p>
 <div class="example">
@@ -2345,8 +2353,8 @@ with <code class="code">rl_bind_key()</code>.
 
 <p><code class="code">rl_bind_key()</code> takes two arguments: <var class="var">key</var> is the character that
 you want to bind, and <var class="var">function</var> is the address of the function to
-call when <var class="var">key</var> is pressed.  Binding <kbd class="key">TAB</kbd> to <code class="code">rl_insert()</code>
-makes <kbd class="key">TAB</kbd> insert itself.
+call when <var class="var">key</var> is pressed.
+Binding <kbd class="key">TAB</kbd> to <code class="code">rl_insert()</code> makes <kbd class="key">TAB</kbd> insert itself.
 <code class="code">rl_bind_key()</code> returns non-zero if <var class="var">key</var> is not a valid
 ASCII character code (between 0 and 255).
 </p>
@@ -2371,21 +2379,25 @@ Next: <a href="#Readline-Variables" accesskey="n" rel="next">Readline Variables<
 
 <p>Readline provides many functions for manipulating the text of
 the line, but it isn&rsquo;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
+programs.
+This section describes the various functions and variables
+defined within the Readline library which allow a program to add
 customized functionality to Readline.
 </p>
 <p>Before declaring any functions that customize Readline&rsquo;s behavior, or
 using any functionality Readline provides in other code, an
 application writer should include the file <code class="code">&lt;readline/readline.h&gt;</code>
-in any file that uses Readline&rsquo;s features.  Since some of the definitions
-in <code class="code">readline.h</code> use the <code class="code">stdio</code> library, the file
-<code class="code">&lt;stdio.h&gt;</code> should be included before <code class="code">readline.h</code>.
+in any file that uses Readline&rsquo;s features.
+Since some of the definitions
+in <code class="code">readline.h</code> use the <code class="code">stdio</code> library, the program
+should include the file <code class="code">&lt;stdio.h&gt;</code>
+before <code class="code">readline.h</code>.
 </p>
 <p><code class="code">readline.h</code> defines a C preprocessor variable that should
 be treated as an integer, <code class="code">RL_READLINE_VERSION</code>, which may
 be used to conditionally compile application code depending on
-the installed Readline version.  The value is a hexadecimal
+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 class="var">MMmm</var>.  <var class="var">MM</var> is the two-digit major
 version number; <var class="var">mm</var> is the two-digit minor version number. 
@@ -2437,6 +2449,7 @@ Instead of the classic C declaration
 <dt><code class="code">typedef char *rl_dequote_func_t (char *, int);</code></dt>
 <dt><code class="code">typedef int rl_compignore_func_t (char **);</code></dt>
 <dt><code class="code">typedef void rl_compdisp_func_t (char **, int, int);</code></dt>
+<dt><code class="code">typedef void rl_macro_print_func_t (const char *, const char *, int, const char *);</code></dt>
 <dt><code class="code">typedef int rl_hook_func_t (void);</code></dt>
 <dt><code class="code">typedef int rl_getc_func_t (FILE *);</code></dt>
 <dt><code class="code">typedef int rl_linebuf_func_t (char *, int);</code></dt>
@@ -2450,6 +2463,8 @@ Instead of the classic C declaration
 <dt><code class="code">typedef void rl_vcppfunc_t (char **);</code></dt>
 </dl>
 
+<p>The <samp class="file">rltypedefs.h</samp> file has more documentation for these types.
+</p>
 <hr>
 </div>
 <div class="subsection-level-extent" id="Function-Writing">
@@ -2473,10 +2488,12 @@ variables that describe the current state of the line read so far.
 <var class="var">key</var> is the key that invoked this function.
 </p>
 <p>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
+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
+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
@@ -2484,8 +2501,8 @@ negative argument.
 </p>
 <p>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.
+All of the builtin Readline bindable command functions
+obey this convention.
 </p>
 <hr>
 </div>
@@ -2501,9 +2518,10 @@ Next: <a href="#Readline-Convenience-Functions" accesskey="n" rel="next">Readlin
 </p>
 <dl class="first-deftypevr first-deftypevar-alias-first-deftypevr">
 <dt class="deftypevr deftypevar-alias-deftypevr" id="index-rl_005fline_005fbuffer"><span class="category-def">Variable: </span><span><code class="def-type">char *</code> <strong class="def-name">rl_line_buffer</strong><a class="copiable-link" href="#index-rl_005fline_005fbuffer"> &para;</a></span></dt>
-<dd><p>This is the line gathered so far.  You are welcome to modify the
-contents of the line, but see <a class="ref" href="#Allowing-Undoing">Allowing Undoing</a>.  The
-function <code class="code">rl_extend_line_buffer</code> is available to increase
+<dd><p>This is the line gathered so far.
+You are welcome to modify the contents of the line,
+but see <a class="ref" href="#Allowing-Undoing">Allowing Undoing</a>.
+The function <code class="code">rl_extend_line_buffer</code> will increase
 the memory allocated to <code class="code">rl_line_buffer</code>.
 </p></dd></dl>
 
@@ -2515,15 +2533,17 @@ the memory allocated to <code class="code">rl_line_buffer</code>.
 
 <dl class="first-deftypevr first-deftypevar-alias-first-deftypevr">
 <dt class="deftypevr deftypevar-alias-deftypevr" id="index-rl_005fend"><span class="category-def">Variable: </span><span><code class="def-type">int</code> <strong class="def-name">rl_end</strong><a class="copiable-link" href="#index-rl_005fend"> &para;</a></span></dt>
-<dd><p>The number of characters present in <code class="code">rl_line_buffer</code>.  When
-<code class="code">rl_point</code> is at the end of the line, <code class="code">rl_point</code> and
-<code class="code">rl_end</code> are equal.
+<dd><p>The number of characters present in <code class="code">rl_line_buffer</code>.
+When <code class="code">rl_point</code> is at the end of the line,
+<code class="code">rl_point</code> and <code class="code">rl_end</code> are equal.
 </p></dd></dl>
 
 <dl class="first-deftypevr first-deftypevar-alias-first-deftypevr">
 <dt class="deftypevr deftypevar-alias-deftypevr" id="index-rl_005fmark"><span class="category-def">Variable: </span><span><code class="def-type">int</code> <strong class="def-name">rl_mark</strong><a class="copiable-link" href="#index-rl_005fmark"> &para;</a></span></dt>
-<dd><p>The <var class="var">mark</var> (saved position) in the current line.  If set, the mark
-and point define a <em class="emph">region</em>.
+<dd><p>The <var class="var">mark</var> (saved position) in the current line.
+If set, the mark and point define a <em class="emph">region</em>.
+Some Readline commands set the mark as part of operating;
+users can also set the mark explicitly.
 </p></dd></dl>
 
 <dl class="first-deftypevr first-deftypevar-alias-first-deftypevr">
@@ -2536,8 +2556,9 @@ to <code class="code">accept-line</code> and is about to return the line to the
 
 <dl class="first-deftypevr first-deftypevar-alias-first-deftypevr">
 <dt class="deftypevr deftypevar-alias-deftypevr" id="index-rl_005feof_005ffound"><span class="category-def">Variable: </span><span><code class="def-type">int</code> <strong class="def-name">rl_eof_found</strong><a class="copiable-link" href="#index-rl_005feof_005ffound"> &para;</a></span></dt>
-<dd><p>Readline will set this variable when it has read an EOF character (e.g., the
-stty &lsquo;<samp class="samp">EOF</samp>&rsquo; character) on an empty line or encountered a read error and
+<dd><p>Readline will set this variable when it has read an EOF character
+(e.g., the stty &lsquo;<samp class="samp">EOF</samp>&rsquo; character) on an empty line
+or has encountered a read error or EOF and 
 is about to return a NULL line to the caller.
 </p></dd></dl>
 
@@ -2550,14 +2571,15 @@ than reading up to a character bound to <code class="code">accept-line</code>.
 
 <dl class="first-deftypevr first-deftypevar-alias-first-deftypevr">
 <dt class="deftypevr deftypevar-alias-deftypevr" id="index-rl_005fpending_005finput"><span class="category-def">Variable: </span><span><code class="def-type">int</code> <strong class="def-name">rl_pending_input</strong><a class="copiable-link" href="#index-rl_005fpending_005finput"> &para;</a></span></dt>
-<dd><p>Setting this to a value makes it the next keystroke read.  This is a
-way to stuff a single character into the input stream.
+<dd><p>Setting this to a value makes it the next keystroke read.
+This is a way to stuff a single character into the input stream.
 </p></dd></dl>
 
 <dl class="first-deftypevr first-deftypevar-alias-first-deftypevr">
 <dt class="deftypevr deftypevar-alias-deftypevr" id="index-rl_005fdispatching"><span class="category-def">Variable: </span><span><code class="def-type">int</code> <strong class="def-name">rl_dispatching</strong><a class="copiable-link" href="#index-rl_005fdispatching"> &para;</a></span></dt>
 <dd><p>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
+zero otherwise.
+Application functions can test this to discover whether
 they were called directly or by Readline&rsquo;s dispatching mechanism.
 </p></dd></dl>
 
@@ -2565,21 +2587,25 @@ they were called directly or by Readline&rsquo;s dispatching mechanism.
 <dt class="deftypevr deftypevar-alias-deftypevr" id="index-rl_005ferase_005fempty_005fline"><span class="category-def">Variable: </span><span><code class="def-type">int</code> <strong class="def-name">rl_erase_empty_line</strong><a class="copiable-link" href="#index-rl_005ferase_005fempty_005fline"> &para;</a></span></dt>
 <dd><p>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.
+the only character on an otherwise-empty line.
+This moves the cursor to the beginning of the newly-blank line.
 </p></dd></dl>
 
 <dl class="first-deftypevr first-deftypevar-alias-first-deftypevr">
 <dt class="deftypevr deftypevar-alias-deftypevr" id="index-rl_005fprompt"><span class="category-def">Variable: </span><span><code class="def-type">char *</code> <strong class="def-name">rl_prompt</strong><a class="copiable-link" href="#index-rl_005fprompt"> &para;</a></span></dt>
-<dd><p>The prompt Readline uses.  This is set from the argument to
+<dd><p>The prompt Readline uses.
+This is set from the argument to
 <code class="code">readline()</code>, and should not be assigned to directly.
 The <code class="code">rl_set_prompt()</code> function (see <a class="pxref" href="#Redisplay">Redisplay</a>) may
 be used to modify the prompt string after calling <code class="code">readline()</code>.
+Readline performs some prompt expansions and analyzes the prompt for
+line breaks, so <code class="code">rl_set_prompt()</code> is preferred.
 </p></dd></dl>
 
 <dl class="first-deftypevr first-deftypevar-alias-first-deftypevr">
 <dt class="deftypevr deftypevar-alias-deftypevr" id="index-rl_005fdisplay_005fprompt"><span class="category-def">Variable: </span><span><code class="def-type">char *</code> <strong class="def-name">rl_display_prompt</strong><a class="copiable-link" href="#index-rl_005fdisplay_005fprompt"> &para;</a></span></dt>
-<dd><p>The string displayed as the prompt.  This is usually identical to
+<dd><p>The string displayed as the prompt.
+This is usually identical to
 <var class="var">rl_prompt</var>, but may be changed temporarily by functions that
 use the prompt string as a message area, such as incremental search.
 </p></dd></dl>
@@ -2597,14 +2623,16 @@ never sets it.
 
 <dl class="first-deftypevr first-deftypevar-alias-first-deftypevr">
 <dt class="deftypevr deftypevar-alias-deftypevr" id="index-rl_005flibrary_005fversion"><span class="category-def">Variable: </span><span><code class="def-type">const char *</code> <strong class="def-name">rl_library_version</strong><a class="copiable-link" href="#index-rl_005flibrary_005fversion"> &para;</a></span></dt>
-<dd><p>The version number of this revision of the library.
+<dd><p>The version number of this revision of the Readline library, as a string
+(e.g., &quot;4.2&quot;).
 </p></dd></dl>
 
 <dl class="first-deftypevr first-deftypevar-alias-first-deftypevr">
 <dt class="deftypevr deftypevar-alias-deftypevr" id="index-rl_005freadline_005fversion"><span class="category-def">Variable: </span><span><code class="def-type">int</code> <strong class="def-name">rl_readline_version</strong><a class="copiable-link" href="#index-rl_005freadline_005fversion"> &para;</a></span></dt>
-<dd><p>An integer encoding the current version of the library.  The encoding is
-of the form 0x<var class="var">MMmm</var>, where <var class="var">MM</var> is the two-digit major version
-number, and <var class="var">mm</var> is the two-digit minor version number.
+<dd><p>An integer encoding the current version of the library.
+The encoding is of the form 0x<var class="var">MMmm</var>,
+where <var class="var">MM</var> is the two-digit major version number,
+and <var class="var">mm</var> is the two-digit minor version number.
 For example, for Readline-4.2, <code class="code">rl_readline_version</code> would have the
 value 0x0402.
 </p></dd></dl>
@@ -2617,9 +2645,12 @@ emulation.
 
 <dl class="first-deftypevr first-deftypevar-alias-first-deftypevr">
 <dt class="deftypevr deftypevar-alias-deftypevr" id="index-rl_005fterminal_005fname"><span class="category-def">Variable: </span><span><code class="def-type">const char *</code> <strong class="def-name">rl_terminal_name</strong><a class="copiable-link" href="#index-rl_005fterminal_005fname"> &para;</a></span></dt>
-<dd><p>The terminal type, used for initialization.  If not set by the application,
+<dd><p>The terminal type, used for initialization.
+If not set by the application,
 Readline sets this to the value of the <code class="env">TERM</code> environment variable
 the first time it is called.
+Readline uses this to look up the terminal capabilities it needs in
+the terminfo database.
 </p></dd></dl>
 
 <dl class="first-deftypevr first-deftypevar-alias-first-deftypevr">
@@ -2650,21 +2681,21 @@ from the kernel when computing the screen dimensions.
 
 <dl class="first-deftypevr first-deftypevar-alias-first-deftypevr">
 <dt class="deftypevr deftypevar-alias-deftypevr" id="index-rl_005flast_005ffunc"><span class="category-def">Variable: </span><span><code class="def-type">rl_command_func_t *</code> <strong class="def-name">rl_last_func</strong><a class="copiable-link" href="#index-rl_005flast_005ffunc"> &para;</a></span></dt>
-<dd><p>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.
+<dd><p>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.
 </p></dd></dl>
 
 <dl class="first-deftypevr first-deftypevar-alias-first-deftypevr">
 <dt class="deftypevr deftypevar-alias-deftypevr" id="index-rl_005fstartup_005fhook"><span class="category-def">Variable: </span><span><code class="def-type">rl_hook_func_t *</code> <strong class="def-name">rl_startup_hook</strong><a class="copiable-link" href="#index-rl_005fstartup_005fhook"> &para;</a></span></dt>
 <dd><p>If non-zero, this is the address of a function to call just
-before <code class="code">readline</code> prints the first prompt.
+before Readline prints the first prompt.
 </p></dd></dl>
 
 <dl class="first-deftypevr first-deftypevar-alias-first-deftypevr">
 <dt class="deftypevr deftypevar-alias-deftypevr" id="index-rl_005fpre_005finput_005fhook"><span class="category-def">Variable: </span><span><code class="def-type">rl_hook_func_t *</code> <strong class="def-name">rl_pre_input_hook</strong><a class="copiable-link" href="#index-rl_005fpre_005finput_005fhook"> &para;</a></span></dt>
 <dd><p>If non-zero, this is the address of a function to call after
-the first prompt has been printed and just before <code class="code">readline</code>
+the first prompt has been printed and just before Readline
 starts reading input characters.
 </p></dd></dl>
 
@@ -2679,9 +2710,9 @@ is no keyboard input.
 <dl class="first-deftypevr first-deftypevar-alias-first-deftypevr">
 <dt class="deftypevr deftypevar-alias-deftypevr" id="index-rl_005fgetc_005ffunction"><span class="category-def">Variable: </span><span><code class="def-type">rl_getc_func_t *</code> <strong class="def-name">rl_getc_function</strong><a class="copiable-link" href="#index-rl_005fgetc_005ffunction"> &para;</a></span></dt>
 <dd><p>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 class="code">rl_getc</code>, the default Readline character input function
-(see <a class="pxref" href="#Character-Input">Character Input</a>).
+to get a character from the input stream.
+By default, it is set to <code class="code">rl_getc</code>, the Readline character
+input function (see <a class="pxref" href="#Character-Input">Character Input</a>).
 In general, an application that sets <var class="var">rl_getc_function</var> should consider
 setting <var class="var">rl_input_available_hook</var> as well.
 </p></dd></dl>
@@ -2689,7 +2720,7 @@ setting <var class="var">rl_input_available_hook</var> as well.
 <dl class="first-deftypevr first-deftypevar-alias-first-deftypevr">
 <dt class="deftypevr deftypevar-alias-deftypevr" id="index-rl_005fsignal_005fevent_005fhook"><span class="category-def">Variable: </span><span><code class="def-type">rl_hook_func_t *</code> <strong class="def-name">rl_signal_event_hook</strong><a class="copiable-link" href="#index-rl_005fsignal_005fevent_005fhook"> &para;</a></span></dt>
 <dd><p>If non-zero, this is the address of a function to call if a read system
-call is interrupted when Readline is reading terminal input.
+call is interrupted by a signal when Readline is reading terminal input.
 </p></dd></dl>
 
 <dl class="first-deftypevr first-deftypevar-alias-first-deftypevr">
@@ -2734,7 +2765,8 @@ redisplay function (see <a class="pxref" href="#Redisplay">Redisplay</a>).
 <dl class="first-deftypevr first-deftypevar-alias-first-deftypevr">
 <dt class="deftypevr deftypevar-alias-deftypevr" id="index-rl_005fprep_005fterm_005ffunction"><span class="category-def">Variable: </span><span><code class="def-type">rl_vintfunc_t *</code> <strong class="def-name">rl_prep_term_function</strong><a class="copiable-link" href="#index-rl_005fprep_005fterm_005ffunction"> &para;</a></span></dt>
 <dd><p>If non-zero, Readline will call indirectly through this pointer
-to initialize the terminal.  The function takes a single argument, an
+to initialize the terminal.
+The function takes a single argument, an
 <code class="code">int</code> flag that says whether or not to use eight-bit characters.
 By default, this is set to <code class="code">rl_prep_terminal</code>
 (see <a class="pxref" href="#Terminal-Management">Terminal Management</a>).
@@ -2743,8 +2775,8 @@ By default, this is set to <code class="code">rl_prep_terminal</code>
 <dl class="first-deftypevr first-deftypevar-alias-first-deftypevr">
 <dt class="deftypevr deftypevar-alias-deftypevr" id="index-rl_005fdeprep_005fterm_005ffunction"><span class="category-def">Variable: </span><span><code class="def-type">rl_voidfunc_t *</code> <strong class="def-name">rl_deprep_term_function</strong><a class="copiable-link" href="#index-rl_005fdeprep_005fterm_005ffunction"> &para;</a></span></dt>
 <dd><p>If non-zero, Readline will call indirectly through this pointer
-to reset the terminal.  This function should undo the effects of
-<code class="code">rl_prep_term_function</code>.
+to reset the terminal.
+This function should undo the effects of <code class="code">rl_prep_term_function</code>.
 By default, this is set to <code class="code">rl_deprep_terminal</code>
 (see <a class="pxref" href="#Terminal-Management">Terminal Management</a>).
 </p></dd></dl>
@@ -2796,8 +2828,10 @@ Readline function.
 <dt class="deftypevr deftypevar-alias-deftypevr" id="index-rl_005freadline_005fstate"><span class="category-def">Variable: </span><span><code class="def-type">int</code> <strong class="def-name">rl_readline_state</strong><a class="copiable-link" href="#index-rl_005freadline_005fstate"> &para;</a></span></dt>
 <dd><p>A variable with bit values that encapsulate the current Readline state.
 A bit is set with the <code class="code">RL_SETSTATE</code> macro, and unset with the
-<code class="code">RL_UNSETSTATE</code> macro.  Use the <code class="code">RL_ISSTATE</code> macro to test
-whether a particular state bit is set.  Current state bits include:
+<code class="code">RL_UNSETSTATE</code> macro.
+Use the <code class="code">RL_ISSTATE</code> macro to test whether a particular state
+bit is set.
+Current state bits include:
 </p>
 <dl class="table">
 <dt><code class="code">RL_STATE_NONE</code></dt>
@@ -2850,7 +2884,7 @@ macro.
 <dd><p>Readline is performing word completion.
 </p></dd>
 <dt><code class="code">RL_STATE_SIGHANDLER</code></dt>
-<dd><p>Readline is currently executing the readline signal handler.
+<dd><p>Readline is currently executing the Readline signal handler.
 </p></dd>
 <dt><code class="code">RL_STATE_UNDOING</code></dt>
 <dd><p>Readline is performing an undo.
@@ -2886,7 +2920,8 @@ elapsed) and is returning that status to the caller.
 </p></dd>
 <dt><code class="code">RL_STATE_EOF</code></dt>
 <dd><p>Readline has read an EOF character (e.g., the stty &lsquo;<samp class="samp">EOF</samp>&rsquo; character)
-or encountered a read error and is about to return a NULL line to the caller.
+or encountered a read error or EOF
+and is about to return a NULL line to the caller.
 </p></dd>
 </dl>
 
@@ -2895,21 +2930,23 @@ or encountered a read error and is about to return a NULL line to the caller.
 <dl class="first-deftypevr first-deftypevar-alias-first-deftypevr">
 <dt class="deftypevr deftypevar-alias-deftypevr" id="index-rl_005fexplicit_005farg"><span class="category-def">Variable: </span><span><code class="def-type">int</code> <strong class="def-name">rl_explicit_arg</strong><a class="copiable-link" href="#index-rl_005fexplicit_005farg"> &para;</a></span></dt>
 <dd><p>Set to a non-zero value if an explicit numeric argument was specified by
-the user.  Only valid in a bindable command function.
+the user.
+It is only valid in a bindable command function.
 </p></dd></dl>
 
 <dl class="first-deftypevr first-deftypevar-alias-first-deftypevr">
 <dt class="deftypevr deftypevar-alias-deftypevr" id="index-rl_005fnumeric_005farg"><span class="category-def">Variable: </span><span><code class="def-type">int</code> <strong class="def-name">rl_numeric_arg</strong><a class="copiable-link" href="#index-rl_005fnumeric_005farg"> &para;</a></span></dt>
 <dd><p>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.
+before executing the current Readline function.
+It is only valid in a bindable command function.
 </p></dd></dl>
 
 <dl class="first-deftypevr first-deftypevar-alias-first-deftypevr">
 <dt class="deftypevr deftypevar-alias-deftypevr" id="index-rl_005fediting_005fmode"><span class="category-def">Variable: </span><span><code class="def-type">int</code> <strong class="def-name">rl_editing_mode</strong><a class="copiable-link" href="#index-rl_005fediting_005fmode"> &para;</a></span></dt>
-<dd><p>Set to a value denoting Readline&rsquo;s current editing mode.  A value of
-<var class="var">1</var> means Readline is currently in emacs mode; <var class="var">0</var>
-means that vi mode is active.
+<dd><p>Set to a value denoting Readline&rsquo;s current editing mode.
+A value of <var class="var">1</var> means Readline is currently in emacs mode;
+<var class="var">0</var> means that vi mode is active.
+This determines the current keymap and key bindings.
 </p></dd></dl>
 
 <hr>
@@ -2946,24 +2983,29 @@ Next: <a href="#Keymaps" accesskey="n" rel="next">Selecting a Keymap</a>, Up: <a
 </div>
 <h4 class="subsection" id="Naming-a-Function"><span>2.4.1 Naming a Function<a class="copiable-link" href="#Naming-a-Function"> &para;</a></span></h4>
 
-<p>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
+<p>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,
+using the descriptive name when referring to the function.
+Thus, in an init file, one might find
 </p>
 <div class="example">
 <pre class="example-preformatted">Meta-Rubout: backward-kill-word
 </pre></div>
 
 <p>This binds the keystroke <kbd class="key">Meta-Rubout</kbd> to the function
-<em class="emph">descriptively</em> named <code class="code">backward-kill-word</code>.  You, as the
-programmer, should bind the functions you write to descriptive names as
-well.  Readline provides a function for doing that:
+<em class="emph">descriptively</em> named <code class="code">backward-kill-word</code>.
+As the programmer, you
+should bind the functions you write to descriptive names as well.
+Readline provides a function for doing that:
 </p>
 <dl class="first-deftypefn first-deftypefun-alias-first-deftypefn">
 <dt class="deftypefn deftypefun-alias-deftypefn" id="index-rl_005fadd_005fdefun"><span class="category-def">Function: </span><span><code class="def-type">int</code> <strong class="def-name">rl_add_defun</strong> <code class="def-code-arguments">(const char *name, rl_command_func_t *function, int key)</code><a class="copiable-link" href="#index-rl_005fadd_005fdefun"> &para;</a></span></dt>
-<dd><p>Add <var class="var">name</var> to the list of named functions.  Make <var class="var">function</var> be
-the function that gets called.  If <var class="var">key</var> is not -1, then bind it to
+<dd><p>Add <var class="var">name</var> to the list of named functions.
+Make <var class="var">function</var> be the function that gets called by key sequences
+that bind to <var class="var">name</var>.
+If <var class="var">key</var> is not -1, then bind it to
 <var class="var">function</var> using <code class="code">rl_bind_key()</code>.
 </p></dd></dl>
 
@@ -2982,14 +3024,16 @@ Next: <a href="#Binding-Keys" accesskey="n" rel="next">Binding Keys</a>, Previou
 </div>
 <h4 class="subsection" id="Selecting-a-Keymap"><span>2.4.2 Selecting a Keymap<a class="copiable-link" href="#Selecting-a-Keymap"> &para;</a></span></h4>
 
-<p>Key bindings take place on a <em class="dfn">keymap</em>.  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
+<p>Key bindings take place on a <em class="dfn">keymap</em>.
+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.
 </p>
 <dl class="first-deftypefn first-deftypefun-alias-first-deftypefn">
 <dt class="deftypefn deftypefun-alias-deftypefn" id="index-rl_005fmake_005fbare_005fkeymap"><span class="category-def">Function: </span><span><code class="def-type">Keymap</code> <strong class="def-name">rl_make_bare_keymap</strong> <code class="def-code-arguments">(void)</code><a class="copiable-link" href="#index-rl_005fmake_005fbare_005fkeymap"> &para;</a></span></dt>
-<dd><p>Returns a new, empty keymap.  The space for the keymap is allocated with
+<dd><p>Returns a new, empty keymap.
+The space for the keymap is allocated with
 <code class="code">malloc()</code>; the caller should free it by calling
 <code class="code">rl_free_keymap()</code> when done.
 </p></dd></dl>
@@ -3014,8 +3058,9 @@ The caller should free <var class="var">keymap</var>.
 
 <dl class="first-deftypefn first-deftypefun-alias-first-deftypefn">
 <dt class="deftypefn deftypefun-alias-deftypefn" id="index-rl_005ffree_005fkeymap"><span class="category-def">Function: </span><span><code class="def-type">void</code> <strong class="def-name">rl_free_keymap</strong> <code class="def-code-arguments">(Keymap keymap)</code><a class="copiable-link" href="#index-rl_005ffree_005fkeymap"> &para;</a></span></dt>
-<dd><p>Free all storage associated with <var class="var">keymap</var>.  This calls
-<code class="code">rl_discard_keymap</code> to free subordindate keymaps and macros.
+<dd><p>Free all storage associated with <var class="var">keymap</var>.
+This calls <code class="code">rl_discard_keymap</code> to free subordindate
+keymaps and macros.
 </p></dd></dl>
 
 <dl class="first-deftypefn first-deftypefun-alias-first-deftypefn">
@@ -3024,8 +3069,9 @@ The caller should free <var class="var">keymap</var>.
 zero if there are any keys bound.
 </p></dd></dl>
 
-<p>Readline has several internal keymaps.  These functions allow you to
-change which keymap is active.
+<p>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.
 </p>
 <dl class="first-deftypefn first-deftypefun-alias-first-deftypefn">
 <dt class="deftypefn deftypefun-alias-deftypefn" id="index-rl_005fget_005fkeymap"><span class="category-def">Function: </span><span><code class="def-type">Keymap</code> <strong class="def-name">rl_get_keymap</strong> <code class="def-code-arguments">(void)</code><a class="copiable-link" href="#index-rl_005fget_005fkeymap"> &para;</a></span></dt>
@@ -3039,19 +3085,22 @@ change which keymap is active.
 
 <dl class="first-deftypefn first-deftypefun-alias-first-deftypefn">
 <dt class="deftypefn deftypefun-alias-deftypefn" id="index-rl_005fget_005fkeymap_005fby_005fname"><span class="category-def">Function: </span><span><code class="def-type">Keymap</code> <strong class="def-name">rl_get_keymap_by_name</strong> <code class="def-code-arguments">(const char *name)</code><a class="copiable-link" href="#index-rl_005fget_005fkeymap_005fby_005fname"> &para;</a></span></dt>
-<dd><p>Return the keymap matching <var class="var">name</var>.  <var class="var">name</var> is one which would
-be supplied in a <code class="code">set keymap</code> inputrc line (see <a class="pxref" href="#Readline-Init-File">Readline Init File</a>).
+<dd><p>Return the keymap matching <var class="var">name</var>.
+<var class="var">name</var> is one which would be supplied in a
+<code class="code">set keymap</code> inputrc line (see <a class="pxref" href="#Readline-Init-File">Readline Init File</a>).
 </p></dd></dl>
 
 <dl class="first-deftypefn first-deftypefun-alias-first-deftypefn">
 <dt class="deftypefn deftypefun-alias-deftypefn" id="index-rl_005fget_005fkeymap_005fname"><span class="category-def">Function: </span><span><code class="def-type">char *</code> <strong class="def-name">rl_get_keymap_name</strong> <code class="def-code-arguments">(Keymap keymap)</code><a class="copiable-link" href="#index-rl_005fget_005fkeymap_005fname"> &para;</a></span></dt>
-<dd><p>Return the name matching <var class="var">keymap</var>.  <var class="var">name</var> is one which would
-be supplied in a <code class="code">set keymap</code> inputrc line (see <a class="pxref" href="#Readline-Init-File">Readline Init File</a>).
+<dd><p>Return the name matching <var class="var">keymap</var>.
+<var class="var">name</var> is one which would be supplied in a
+<code class="code">set keymap</code> inputrc line (see <a class="pxref" href="#Readline-Init-File">Readline Init File</a>).
 </p></dd></dl>
 
 <dl class="first-deftypefn first-deftypefun-alias-first-deftypefn">
 <dt class="deftypefn deftypefun-alias-deftypefn" id="index-rl_005fset_005fkeymap_005fname"><span class="category-def">Function: </span><span><code class="def-type">int</code> <strong class="def-name">rl_set_keymap_name</strong> <code class="def-code-arguments">(const char *name, Keymap keymap)</code><a class="copiable-link" href="#index-rl_005fset_005fkeymap_005fname"> &para;</a></span></dt>
-<dd><p>Set the name of <var class="var">keymap</var>.  This name will then be &quot;registered&quot; and
+<dd><p>Set the name of <var class="var">keymap</var>.
+This name will then be &quot;registered&quot; and
 available for use in a <code class="code">set keymap</code> inputrc directive
 see <a class="pxref" href="#Readline-Init-File">Readline Init File</a>).
 The <var class="var">name</var> may not be one of Readline&rsquo;s builtin keymap names;
@@ -3077,7 +3126,7 @@ Next: <a href="#Associating-Function-Names-and-Bindings" accesskey="n" rel="next
 </div>
 <h4 class="subsection" id="Binding-Keys-1"><span>2.4.3 Binding Keys<a class="copiable-link" href="#Binding-Keys-1"> &para;</a></span></h4>
 
-<p>Key sequences are associate with functions through the keymap.
+<p>Key sequences are associated with functions through the keymap.
 Readline has several internal keymaps: <code class="code">emacs_standard_keymap</code>,
 <code class="code">emacs_meta_keymap</code>, <code class="code">emacs_ctlx_keymap</code>,
 <code class="code">vi_movement_keymap</code>, and <code class="code">vi_insertion_keymap</code>.
@@ -3087,7 +3136,8 @@ this manual assume that.
 <p>Since <code class="code">readline()</code> 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 class="code">readline()</code> will be overridden.
-An alternate mechanism is to install custom key bindings in an
+An alternate mechanism that can avoid this
+is to install custom key bindings in an
 initialization function assigned to the <code class="code">rl_startup_hook</code> variable
 (see <a class="pxref" href="#Readline-Variables">Readline Variables</a>).
 </p>
@@ -3123,12 +3173,14 @@ already bound.
 <dl class="first-deftypefn first-deftypefun-alias-first-deftypefn">
 <dt class="deftypefn deftypefun-alias-deftypefn" id="index-rl_005funbind_005fkey"><span class="category-def">Function: </span><span><code class="def-type">int</code> <strong class="def-name">rl_unbind_key</strong> <code class="def-code-arguments">(int key)</code><a class="copiable-link" href="#index-rl_005funbind_005fkey"> &para;</a></span></dt>
 <dd><p>Bind <var class="var">key</var> to the null function in the currently active keymap.
+This is not the same as binding it to <code class="code">self-insert</code>.
 Returns non-zero in case of error.
 </p></dd></dl>
 
 <dl class="first-deftypefn first-deftypefun-alias-first-deftypefn">
 <dt class="deftypefn deftypefun-alias-deftypefn" id="index-rl_005funbind_005fkey_005fin_005fmap"><span class="category-def">Function: </span><span><code class="def-type">int</code> <strong class="def-name">rl_unbind_key_in_map</strong> <code class="def-code-arguments">(int key, Keymap map)</code><a class="copiable-link" href="#index-rl_005funbind_005fkey_005fin_005fmap"> &para;</a></span></dt>
 <dd><p>Bind <var class="var">key</var> to the null function in <var class="var">map</var>.
+This is not the same as binding it to <code class="code">self-insert</code>.
 Returns non-zero in case of error.
 </p></dd></dl>
 
@@ -3153,7 +3205,8 @@ The return value is non-zero if <var class="var">keyseq</var> is invalid.
 <dl class="first-deftypefn first-deftypefun-alias-first-deftypefn">
 <dt class="deftypefn deftypefun-alias-deftypefn" id="index-rl_005fbind_005fkeyseq_005fin_005fmap"><span class="category-def">Function: </span><span><code class="def-type">int</code> <strong class="def-name">rl_bind_keyseq_in_map</strong> <code class="def-code-arguments">(const char *keyseq, rl_command_func_t *function, Keymap map)</code><a class="copiable-link" href="#index-rl_005fbind_005fkeyseq_005fin_005fmap"> &para;</a></span></dt>
 <dd><p>Bind the key sequence represented by the string <var class="var">keyseq</var> to the function
-<var class="var">function</var>.  This makes new keymaps as necessary.
+<var class="var">function</var> in <var class="var">map</var>.
+This makes new keymaps as necessary.
 Initial bindings are performed in <var class="var">map</var>.
 The return value is non-zero if <var class="var">keyseq</var> is invalid.
 </p></dd></dl>
@@ -3181,10 +3234,14 @@ already bound.
 <dl class="first-deftypefn first-deftypefun-alias-first-deftypefn">
 <dt class="deftypefn deftypefun-alias-deftypefn" id="index-rl_005fgeneric_005fbind"><span class="category-def">Function: </span><span><code class="def-type">int</code> <strong class="def-name">rl_generic_bind</strong> <code class="def-code-arguments">(int type, const char *keyseq, char *data, Keymap map)</code><a class="copiable-link" href="#index-rl_005fgeneric_005fbind"> &para;</a></span></dt>
 <dd><p>Bind the key sequence represented by the string <var class="var">keyseq</var> to the arbitrary
-pointer <var class="var">data</var>.  <var class="var">type</var> says what kind of data is pointed to by
-<var class="var">data</var>; this can be a function (<code class="code">ISFUNC</code>), a macro
-(<code class="code">ISMACR</code>), or a keymap (<code class="code">ISKMAP</code>).  This makes new keymaps as
-necessary.  The initial keymap in which to do bindings is <var class="var">map</var>.
+pointer <var class="var">data</var>.
+<var class="var">type</var> says what kind of data is pointed to by <var class="var">data</var>; this can be
+a function (<code class="code">ISFUNC</code>),
+a macro (<code class="code">ISMACR</code>),
+or a keymap (<code class="code">ISKMAP</code>).
+This makes new keymaps as necessary.
+The initial keymap in which to do bindings is <var class="var">map</var>.
+Returns non-zero in the case of an invalid <var class="var">keyseq</var>, zero otherwise.
 </p></dd></dl>
 
 <dl class="first-deftypefn first-deftypefun-alias-first-deftypefn">
@@ -3210,31 +3267,34 @@ Next: <a href="#Allowing-Undoing" accesskey="n" rel="next">Allowing Undoing</a>,
 <h4 class="subsection" id="Associating-Function-Names-and-Bindings-1"><span>2.4.4 Associating Function Names and Bindings<a class="copiable-link" href="#Associating-Function-Names-and-Bindings-1"> &para;</a></span></h4>
 
 <p>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.
+and the functions invoked by a particular key sequence.
+You may also associate a new function name with an arbitrary function.
 </p>
 <dl class="first-deftypefn first-deftypefun-alias-first-deftypefn">
 <dt class="deftypefn deftypefun-alias-deftypefn" id="index-rl_005fnamed_005ffunction"><span class="category-def">Function: </span><span><code class="def-type">rl_command_func_t *</code> <strong class="def-name">rl_named_function</strong> <code class="def-code-arguments">(const char *name)</code><a class="copiable-link" href="#index-rl_005fnamed_005ffunction"> &para;</a></span></dt>
 <dd><p>Return the function with name <var class="var">name</var>.
+<var class="var">name</var> is a descriptive name users might use in a key binding.
 </p></dd></dl>
 
 <dl class="first-deftypefn first-deftypefun-alias-first-deftypefn">
 <dt class="deftypefn deftypefun-alias-deftypefn" id="index-rl_005ffunction_005fof_005fkeyseq"><span class="category-def">Function: </span><span><code class="def-type">rl_command_func_t *</code> <strong class="def-name">rl_function_of_keyseq</strong> <code class="def-code-arguments">(const char *keyseq, Keymap map, int *type)</code><a class="copiable-link" href="#index-rl_005ffunction_005fof_005fkeyseq"> &para;</a></span></dt>
 <dd><p>Return the function invoked by <var class="var">keyseq</var> in keymap <var class="var">map</var>.
-If <var class="var">map</var> is <code class="code">NULL</code>, the current keymap is used.  If <var class="var">type</var> is
-not <code class="code">NULL</code>, the type of the object is returned in the <code class="code">int</code> variable
-it points to (one of <code class="code">ISFUNC</code>, <code class="code">ISKMAP</code>, or <code class="code">ISMACR</code>).
-It takes a &quot;translated&quot; key sequence and should not be used if the key sequence
-can include NUL.
+If <var class="var">map</var> is <code class="code">NULL</code>, this uses the current keymap.
+If <var class="var">type</var> is not <code class="code">NULL</code>, this returns the type of the object
+in the <code class="code">int</code> variable it points to
+(one of <code class="code">ISFUNC</code>, <code class="code">ISKMAP</code>, or <code class="code">ISMACR</code>).
+It takes a &quot;translated&quot; key sequence and should not be used
+if the key sequence can include NUL.
 </p></dd></dl>
 
 <dl class="first-deftypefn first-deftypefun-alias-first-deftypefn">
 <dt class="deftypefn deftypefun-alias-deftypefn" id="index-rl_005ffunction_005fof_005fkeyseq_005flen"><span class="category-def">Function: </span><span><code class="def-type">rl_command_func_t *</code> <strong class="def-name">rl_function_of_keyseq_len</strong> <code class="def-code-arguments">(const char *keyseq, size_t len, Keymap map, int *type)</code><a class="copiable-link" href="#index-rl_005ffunction_005fof_005fkeyseq_005flen"> &para;</a></span></dt>
 <dd><p>Return the function invoked by <var class="var">keyseq</var> of length <var class="var">len</var>
-in keymap <var class="var">map</var>. Equivalent to <code class="code">rl_function_of_keyseq</code> with the
-addition of the <var class="var">len</var> parameter.
-It takes a &quot;translated&quot; key sequence and should be used if the key sequence
-can include NUL.
+in keymap <var class="var">map</var>.
+Equivalent to <code class="code">rl_function_of_keyseq</code> with the addition
+of the <var class="var">len</var> parameter.
+It takes a &quot;translated&quot; key sequence and should be used
+if the key sequence can include NUL.
 </p></dd></dl>
 
 <dl class="first-deftypefn first-deftypefun-alias-first-deftypefn">
@@ -3243,7 +3303,7 @@ can include NUL.
 including digits, return the index of the first character in <var class="var">keyseq</var>
 following the numeric argument.
 This can be used to skip over the numeric argument (which is available as
-<code class="code">rl_numeric_arg</code> while traversing the key sequence that invoked the
+<code class="code">rl_numeric_arg</code>) while traversing the key sequence that invoked the
 current command.
 </p></dd></dl>
 
@@ -3266,7 +3326,7 @@ keymap <var class="var">map</var>.
 If <var class="var">map</var> is NULL, this uses the current keymap.
 If <var class="var">readable</var> is non-zero,
 the list is formatted in such a way that it can be made part of an
-<code class="code">inputrc</code> file and re-read.
+<code class="code">inputrc</code> file and re-read to recreate the key binding.
 </p></dd></dl>
 
 <dl class="first-deftypefn first-deftypefun-alias-first-deftypefn">
@@ -3285,16 +3345,19 @@ the list is formatted in such a way that it can be made part of an
 
 <dl class="first-deftypefn first-deftypefun-alias-first-deftypefn">
 <dt class="deftypefn deftypefun-alias-deftypefn" id="index-rl_005ffunmap_005fnames"><span class="category-def">Function: </span><span><code class="def-type">const char **</code> <strong class="def-name">rl_funmap_names</strong> <code class="def-code-arguments">(void)</code><a class="copiable-link" href="#index-rl_005ffunmap_005fnames"> &para;</a></span></dt>
-<dd><p>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 <code class="code">free</code> or
-<code class="code">rl_free</code> when you are done.
+<dd><p>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 <code class="code">free</code>
+or <code class="code">rl_free</code> when you are done.
 </p></dd></dl>
 
 <dl class="first-deftypefn first-deftypefun-alias-first-deftypefn">
 <dt class="deftypefn deftypefun-alias-deftypefn" id="index-rl_005fadd_005ffunmap_005fentry"><span class="category-def">Function: </span><span><code class="def-type">int</code> <strong class="def-name">rl_add_funmap_entry</strong> <code class="def-code-arguments">(const char *name, rl_command_func_t *function)</code><a class="copiable-link" href="#index-rl_005fadd_005ffunmap_005fentry"> &para;</a></span></dt>
 <dd><p>Add <var class="var">name</var> to the list of bindable Readline command names, and make
 <var class="var">function</var> the function to be called when <var class="var">name</var> is invoked.
+This returns the index of the newly-added <var class="var">name</var> in the array of
+function names.
 </p></dd></dl>
 
 <hr>
@@ -3307,49 +3370,52 @@ Next: <a href="#Redisplay" accesskey="n" rel="next">Redisplay</a>, Previous: <a
 <h4 class="subsection" id="Allowing-Undoing-1"><span>2.4.5 Allowing Undoing<a class="copiable-link" href="#Allowing-Undoing-1"> &para;</a></span></h4>
 
 <p>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.
+functions much more useful.
+It is certainly easier to try something if you know you can undo it.
 </p>
-<p>If your function simply inserts text once, or deletes text once, and
-uses <code class="code">rl_insert_text()</code> or <code class="code">rl_delete_text()</code> to do it, then
-undoing is already done for you automatically.
+<p>If your function simply inserts text once, or deletes text once,
+and uses <code class="code">rl_insert_text()</code> or <code class="code">rl_delete_text()</code> to do it,
+then Readline does the undoing for you automatically.
 </p>
 <p>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 class="code">rl_begin_undo_group()</code> and
 <code class="code">rl_end_undo_group()</code>.
 </p>
-<p>The types of events that can be undone are:
+<p>The types of events Readline can undo are:
 </p>
 <div class="example smallexample">
 <pre class="example-preformatted">enum undo_code { UNDO_DELETE, UNDO_INSERT, UNDO_BEGIN, UNDO_END }; 
 </pre></div>
 
 <p>Notice that <code class="code">UNDO_DELETE</code> means to insert some text, and
-<code class="code">UNDO_INSERT</code> means to delete some text.  That is, the undo code
-tells what to undo, not how to undo it.  <code class="code">UNDO_BEGIN</code> and
-<code class="code">UNDO_END</code> are tags added by <code class="code">rl_begin_undo_group()</code> and
-<code class="code">rl_end_undo_group()</code>.
+<code class="code">UNDO_INSERT</code> means to delete some text.
+That is, the undo code tells what to undo, not how to undo it.
+<code class="code">UNDO_BEGIN</code> and <code class="code">UNDO_END</code> are tags
+added by <code class="code">rl_begin_undo_group()</code> and <code class="code">rl_end_undo_group()</code>;
+they are how Readline delimits groups of commands that should be
+undone together.
 </p>
 <dl class="first-deftypefn first-deftypefun-alias-first-deftypefn">
 <dt class="deftypefn deftypefun-alias-deftypefn" id="index-rl_005fbegin_005fundo_005fgroup"><span class="category-def">Function: </span><span><code class="def-type">int</code> <strong class="def-name">rl_begin_undo_group</strong> <code class="def-code-arguments">(void)</code><a class="copiable-link" href="#index-rl_005fbegin_005fundo_005fgroup"> &para;</a></span></dt>
-<dd><p>Begins saving undo information in a group construct.  The undo
-information usually comes from calls to <code class="code">rl_insert_text()</code> and
-<code class="code">rl_delete_text()</code>, but could be the result of calls to
+<dd><p>Begins saving undo information in a group construct.
+The undo information usually comes from calls to <code class="code">rl_insert_text()</code>
+and <code class="code">rl_delete_text()</code>, but could be the result of calls to
 <code class="code">rl_add_undo()</code>.
 </p></dd></dl>
 
 <dl class="first-deftypefn first-deftypefun-alias-first-deftypefn">
 <dt class="deftypefn deftypefun-alias-deftypefn" id="index-rl_005fend_005fundo_005fgroup"><span class="category-def">Function: </span><span><code class="def-type">int</code> <strong class="def-name">rl_end_undo_group</strong> <code class="def-code-arguments">(void)</code><a class="copiable-link" href="#index-rl_005fend_005fundo_005fgroup"> &para;</a></span></dt>
-<dd><p>Closes the current undo group started with <code class="code">rl_begin_undo_group
-()</code>.  There should be one call to <code class="code">rl_end_undo_group()</code>
+<dd><p>Closes the current undo group started with <code class="code">rl_begin_undo_group()</code>.
+There should be one call to <code class="code">rl_end_undo_group()</code>
 for each call to <code class="code">rl_begin_undo_group()</code>.
 </p></dd></dl>
 
 <dl class="first-deftypefn first-deftypefun-alias-first-deftypefn">
 <dt class="deftypefn deftypefun-alias-deftypefn" id="index-rl_005fadd_005fundo"><span class="category-def">Function: </span><span><code class="def-type">void</code> <strong class="def-name">rl_add_undo</strong> <code class="def-code-arguments">(enum undo_code what, int start, int end, char *text)</code><a class="copiable-link" href="#index-rl_005fadd_005fundo"> &para;</a></span></dt>
-<dd><p>Remember how to undo an event (according to <var class="var">what</var>).  The affected
-text runs from <var class="var">start</var> to <var class="var">end</var>, and encompasses <var class="var">text</var>.
+<dd><p>Remember how to undo an event (according to <var class="var">what</var>).
+The affected text runs from <var class="var">start</var> to <var class="var">end</var>,
+and encompasses <var class="var">text</var>.
 </p></dd></dl>
 
 <dl class="first-deftypefn first-deftypefun-alias-first-deftypefn">
@@ -3359,20 +3425,22 @@ text runs from <var class="var">start</var> to <var class="var">end</var>, and e
 
 <dl class="first-deftypefn first-deftypefun-alias-first-deftypefn">
 <dt class="deftypefn deftypefun-alias-deftypefn" id="index-rl_005fdo_005fundo"><span class="category-def">Function: </span><span><code class="def-type">int</code> <strong class="def-name">rl_do_undo</strong> <code class="def-code-arguments">(void)</code><a class="copiable-link" href="#index-rl_005fdo_005fundo"> &para;</a></span></dt>
-<dd><p>Undo the first thing on the undo list.  Returns <code class="code">0</code> if there was
-nothing to undo, non-zero if something was undone.
+<dd><p>Undo the first thing on the undo list.
+Returns <code class="code">0</code> if there was nothing to undo,
+non-zero if something was undone.
 </p></dd></dl>
 
 <p>Finally, if you neither insert nor delete text, but directly modify the
 existing text (e.g., change its case), call <code class="code">rl_modifying()</code>
-once, just before you modify the text.  You must supply the indices of
-the text range that you are going to modify.
+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.
 </p>
 <dl class="first-deftypefn first-deftypefun-alias-first-deftypefn">
 <dt class="deftypefn deftypefun-alias-deftypefn" id="index-rl_005fmodifying"><span class="category-def">Function: </span><span><code class="def-type">int</code> <strong class="def-name">rl_modifying</strong> <code class="def-code-arguments">(int start, int end)</code><a class="copiable-link" href="#index-rl_005fmodifying"> &para;</a></span></dt>
 <dd><p>Tell Readline to save the text between <var class="var">start</var> and <var class="var">end</var> as a
-single undo unit.  It is assumed that you will subsequently modify
-that text.
+single undo unit.
+It is assumed that you will subsequently modify that text.
 </p></dd></dl>
 
 <hr>
@@ -3442,17 +3510,18 @@ redisplay.
 <dd><p>The arguments are a format string as would be supplied to <code class="code">printf</code>,
 possibly containing conversion specifications such as &lsquo;<samp class="samp">%d</samp>&rsquo;, and
 any additional arguments necessary to satisfy the conversion specifications.
-The resulting string is displayed in the <em class="dfn">echo area</em>.  The echo area
-is also used to display numeric arguments and search strings.
+The resulting string is displayed in the <em class="dfn">echo area</em>.
+The echo area is also used to display numeric arguments and search strings.
 You should call <code class="code">rl_save_prompt</code> to save the prompt information
 before calling this function.
 </p></dd></dl>
 
 <dl class="first-deftypefn first-deftypefun-alias-first-deftypefn">
 <dt class="deftypefn deftypefun-alias-deftypefn" id="index-rl_005fclear_005fmessage"><span class="category-def">Function: </span><span><code class="def-type">int</code> <strong class="def-name">rl_clear_message</strong> <code class="def-code-arguments">(void)</code><a class="copiable-link" href="#index-rl_005fclear_005fmessage"> &para;</a></span></dt>
-<dd><p>Clear the message in the echo area.  If the prompt was saved with a call to
+<dd><p>Clear the message in the echo area.
+If the prompt was saved with a call to
 <code class="code">rl_save_prompt</code> before the last call to <code class="code">rl_message</code>,
-call <code class="code">rl_restore_prompt</code> before calling this function.
+you must call <code class="code">rl_restore_prompt</code> before calling this function.
 </p></dd></dl>
 
 <dl class="first-deftypefn first-deftypefun-alias-first-deftypefn">
@@ -3465,8 +3534,8 @@ displaying a new message in the message area with <code class="code">rl_message(
 <dt class="deftypefn deftypefun-alias-deftypefn" id="index-rl_005frestore_005fprompt"><span class="category-def">Function: </span><span><code class="def-type">void</code> <strong class="def-name">rl_restore_prompt</strong> <code class="def-code-arguments">(void)</code><a class="copiable-link" href="#index-rl_005frestore_005fprompt"> &para;</a></span></dt>
 <dd><p>Restore the local Readline prompt display state saved by the most
 recent call to <code class="code">rl_save_prompt</code>.
-if <code class="code">rl_save_prompt</code> was called to save the prompt before a call
-to <code class="code">rl_message</code>, this function should be called before the
+if you called <code class="code">rl_save_prompt</code> to save the prompt before a call
+to <code class="code">rl_message</code>, you should call this function before the
 corresponding call to <code class="code">rl_clear_message</code>.
 </p></dd></dl>
 
@@ -3474,9 +3543,11 @@ corresponding call to <code class="code">rl_clear_message</code>.
 <dt class="deftypefn deftypefun-alias-deftypefn" id="index-rl_005fexpand_005fprompt"><span class="category-def">Function: </span><span><code class="def-type">int</code> <strong class="def-name">rl_expand_prompt</strong> <code class="def-code-arguments">(char *prompt)</code><a class="copiable-link" href="#index-rl_005fexpand_005fprompt"> &para;</a></span></dt>
 <dd><p>Expand any special character sequences in <var class="var">prompt</var> and set up the
 local Readline prompt redisplay variables.
-This function is called by <code class="code">readline()</code>.  It may also be called to
-expand the primary prompt if the <code class="code">rl_on_new_line_with_prompt()</code>
-function or <code class="code">rl_already_prompted</code> variable is used.
+This function is called by <code class="code">readline()</code>.
+It may also be called to
+expand the primary prompt if the application uses the
+<code class="code">rl_on_new_line_with_prompt()</code> function or
+<code class="code">rl_already_prompted</code> 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
@@ -3485,13 +3556,15 @@ such characters with the special markers <code class="code">RL_PROMPT_START_IGNO
 and <code class="code">RL_PROMPT_END_IGNORE</code> (declared in <samp class="file">readline.h</samp> as
 &lsquo;<samp class="samp">\001</samp>&rsquo; and &lsquo;<samp class="samp">\002</samp>&rsquo;, respectively).
 This may be used to embed terminal-specific escape sequences in prompts.
+If you don&rsquo;t use these indicators, redisplay will likely produce screen
+contents that don&rsquo;t match the line buffer.
 </p></dd></dl>
 
 <dl class="first-deftypefn first-deftypefun-alias-first-deftypefn">
 <dt class="deftypefn deftypefun-alias-deftypefn" id="index-rl_005fset_005fprompt"><span class="category-def">Function: </span><span><code class="def-type">int</code> <strong class="def-name">rl_set_prompt</strong> <code class="def-code-arguments">(const char *prompt)</code><a class="copiable-link" href="#index-rl_005fset_005fprompt"> &para;</a></span></dt>
-<dd><p>Make Readline use <var class="var">prompt</var> for subsequent redisplay.  This calls
-<code class="code">rl_expand_prompt()</code> to expand the prompt and sets <code class="code">rl_prompt</code>
-to the result.
+<dd><p>Make Readline use <var class="var">prompt</var> for subsequent redisplay.
+This calls <code class="code">rl_expand_prompt()</code> to expand the prompt
+and sets <code class="code">rl_prompt</code> to the result.
 </p></dd></dl>
 
 <hr>
@@ -3525,17 +3598,26 @@ the current line.
 <dt class="deftypefn deftypefun-alias-deftypefn" id="index-rl_005fkill_005ftext"><span class="category-def">Function: </span><span><code class="def-type">int</code> <strong class="def-name">rl_kill_text</strong> <code class="def-code-arguments">(int start, int end)</code><a class="copiable-link" href="#index-rl_005fkill_005ftext"> &para;</a></span></dt>
 <dd><p>Copy the text between <var class="var">start</var> and <var class="var">end</var> 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 class="var">start</var> is less than <var class="var">end</var>,
-the text is appended, otherwise prepended.  If the last command was
-not a kill, a new kill ring slot is used.
+last command was a kill command.
+This deletes the text from the line.
+If <var class="var">start</var> is less than <var class="var">end</var>, the text is appended,
+otherwise it is prepended.
+If the last command was not a kill, this uses a new kill ring slot.
+</p></dd></dl>
+
+<dl class="first-deftypefn first-deftypefun-alias-first-deftypefn">
+<dt class="deftypefn deftypefun-alias-deftypefn" id="index-rl_005freplace_005fline"><span class="category-def">Function: </span><span><code class="def-type">void</code> <strong class="def-name">rl_replace_line</strong> <code class="def-code-arguments">(const char *text, int clear_undo)</code><a class="copiable-link" href="#index-rl_005freplace_005fline"> &para;</a></span></dt>
+<dd><p>Replace the contents of <code class="code">rl_line_buffer</code> with <var class="var">text</var>.
+This preserves the point and mark, if possible.
+If <var class="var">clear_undo</var> is non-zero, this clears the undo list associated
+with the current line.
 </p></dd></dl>
 
 <dl class="first-deftypefn first-deftypefun-alias-first-deftypefn">
 <dt class="deftypefn deftypefun-alias-deftypefn" id="index-rl_005fpush_005fmacro_005finput"><span class="category-def">Function: </span><span><code class="def-type">int</code> <strong class="def-name">rl_push_macro_input</strong> <code class="def-code-arguments">(char *macro)</code><a class="copiable-link" href="#index-rl_005fpush_005fmacro_005finput"> &para;</a></span></dt>
-<dd><p>Cause <var class="var">macro</var> to be inserted into the line, as if it had been invoked
-by a key bound to a macro.  Not especially useful; use
-<code class="code">rl_insert_text()</code> instead.
+<dd><p>Insert <var class="var">macro</var> into the line, as if it had been invoked
+by a key bound to a macro.
+Not especially useful; use <code class="code">rl_insert_text()</code> instead.
 </p></dd></dl>
 
 <hr>
@@ -3565,9 +3647,10 @@ be the keyboard.
 
 <dl class="first-deftypefn first-deftypefun-alias-first-deftypefn">
 <dt class="deftypefn deftypefun-alias-deftypefn" id="index-rl_005fstuff_005fchar"><span class="category-def">Function: </span><span><code class="def-type">int</code> <strong class="def-name">rl_stuff_char</strong> <code class="def-code-arguments">(int c)</code><a class="copiable-link" href="#index-rl_005fstuff_005fchar"> &para;</a></span></dt>
-<dd><p>Insert <var class="var">c</var> into the Readline input stream.  It will be &quot;read&quot;
-before Readline attempts to read characters from the terminal with
-<code class="code">rl_read_key()</code>.  Up to 512 characters may be pushed back.
+<dd><p>Insert <var class="var">c</var> into the Readline input stream.
+It will be &quot;read&quot; before Readline attempts to read characters
+from the terminal with <code class="code">rl_read_key()</code>.
+Applications can push back up to 512 characters.
 <code class="code">rl_stuff_char</code> returns 1 if the character was successfully inserted;
 0 otherwise.
 </p></dd></dl>
@@ -3575,21 +3658,24 @@ before Readline attempts to read characters from the terminal with
 <dl class="first-deftypefn first-deftypefun-alias-first-deftypefn">
 <dt class="deftypefn deftypefun-alias-deftypefn" id="index-rl_005fexecute_005fnext"><span class="category-def">Function: </span><span><code class="def-type">int</code> <strong class="def-name">rl_execute_next</strong> <code class="def-code-arguments">(int c)</code><a class="copiable-link" href="#index-rl_005fexecute_005fnext"> &para;</a></span></dt>
 <dd><p>Make <var class="var">c</var> be the next command to be executed when <code class="code">rl_read_key()</code>
-is called.  This sets <var class="var">rl_pending_input</var>.
+is called.
+This sets <var class="var">rl_pending_input</var>.
 </p></dd></dl>
 
 <dl class="first-deftypefn first-deftypefun-alias-first-deftypefn">
 <dt class="deftypefn deftypefun-alias-deftypefn" id="index-rl_005fclear_005fpending_005finput"><span class="category-def">Function: </span><span><code class="def-type">int</code> <strong class="def-name">rl_clear_pending_input</strong> <code class="def-code-arguments">(void)</code><a class="copiable-link" href="#index-rl_005fclear_005fpending_005finput"> &para;</a></span></dt>
 <dd><p>Unset <var class="var">rl_pending_input</var>, effectively negating the effect of any
-previous call to <code class="code">rl_execute_next()</code>.  This works only if the
-pending input has not already been read with <code class="code">rl_read_key()</code>.
+previous call to <code class="code">rl_execute_next()</code>.
+This works only if the pending input has not already been read
+with <code class="code">rl_read_key()</code>.
 </p></dd></dl>
 
 <dl class="first-deftypefn first-deftypefun-alias-first-deftypefn">
 <dt class="deftypefn deftypefun-alias-deftypefn" id="index-rl_005fset_005fkeyboard_005finput_005ftimeout"><span class="category-def">Function: </span><span><code class="def-type">int</code> <strong class="def-name">rl_set_keyboard_input_timeout</strong> <code class="def-code-arguments">(int u)</code><a class="copiable-link" href="#index-rl_005fset_005fkeyboard_005finput_005ftimeout"> &para;</a></span></dt>
 <dd><p>While waiting for keyboard input in <code class="code">rl_read_key()</code>, Readline will
 wait for <var class="var">u</var> microseconds for input before calling any function
-assigned to <code class="code">rl_event_hook</code>.  <var class="var">u</var> must be greater than or equal
+assigned to <code class="code">rl_event_hook</code>.
+<var class="var">u</var> 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.
@@ -3597,10 +3683,11 @@ Returns the old timeout value.
 
 <dl class="first-deftypefn first-deftypefun-alias-first-deftypefn">
 <dt class="deftypefn deftypefun-alias-deftypefn" id="index-rl_005fset_005ftimeout"><span class="category-def">Function: </span><span><code class="def-type">int</code> <strong class="def-name">rl_set_timeout</strong> <code class="def-code-arguments">(unsigned int secs, unsigned int usecs)</code><a class="copiable-link" href="#index-rl_005fset_005ftimeout"> &para;</a></span></dt>
-<dd><p>Set a timeout for subsequent calls to <code class="code">readline()</code>. If Readline does
-not read a complete line, or the number of characters specified by
-<code class="code">rl_num_chars_to_read</code>, before the duration specified by <var class="var">secs</var>
-(in seconds) and <var class="var">usecs</var> (microseconds), it returns and sets
+<dd><p>Set a timeout for subsequent calls to <code class="code">readline()</code>.
+If Readline does not read a complete line, or the number of characters
+specified by <code class="code">rl_num_chars_to_read</code>,
+before the duration specified by <var class="var">secs</var> (in seconds)
+and <var class="var">usecs</var> (microseconds), it returns and sets
 <code class="code">RL_STATE_TIMEOUT</code> in <code class="code">rl_readline_state</code>.
 Passing 0 for <code class="code">secs</code> and <code class="code">usecs</code> cancels any previously set
 timeout; the convenience macro <code class="code">rl_clear_timeout()</code> is shorthand
@@ -3633,7 +3720,8 @@ Next: <a href="#Utility-Functions" accesskey="n" rel="next">Utility Functions</a
 <dl class="first-deftypefn first-deftypefun-alias-first-deftypefn">
 <dt class="deftypefn deftypefun-alias-deftypefn" id="index-rl_005fprep_005fterminal"><span class="category-def">Function: </span><span><code class="def-type">void</code> <strong class="def-name">rl_prep_terminal</strong> <code class="def-code-arguments">(int meta_flag)</code><a class="copiable-link" href="#index-rl_005fprep_005fterminal"> &para;</a></span></dt>
 <dd><p>Modify the terminal settings for Readline&rsquo;s use, so <code class="code">readline()</code>
-can read a single character at a time from the keyboard.
+can read a single character at a time from the keyboard
+and perform redisplay.
 The <var class="var">meta_flag</var> argument should be non-zero if Readline should
 read eight-bit input.
 </p></dd></dl>
@@ -3661,19 +3749,21 @@ The bindings are performed in <var class="var">kmap</var>.
 
 <dl class="first-deftypefn first-deftypefun-alias-first-deftypefn">
 <dt class="deftypefn deftypefun-alias-deftypefn" id="index-rl_005ftty_005fset_005fechoing"><span class="category-def">Function: </span><span><code class="def-type">int</code> <strong class="def-name">rl_tty_set_echoing</strong> <code class="def-code-arguments">(int value)</code><a class="copiable-link" href="#index-rl_005ftty_005fset_005fechoing"> &para;</a></span></dt>
-<dd><p>Set Readline&rsquo;s idea of whether or not it is echoing output to its output
-stream (<var class="var">rl_outstream</var>).  If <var class="var">value</var> is 0, Readline does not display
-output to <var class="var">rl_outstream</var>; any other value enables output.  The initial
-value is set when Readline initializes the terminal settings.
+<dd><p>Set Readline&rsquo;s idea of whether or not it is
+echoing output to its output stream (<var class="var">rl_outstream</var>).
+If <var class="var">value</var> is 0,
+Readline does not display output to <var class="var">rl_outstream</var>; any other
+value enables output.
+The initial value is set when Readline initializes the terminal settings.
 This function returns the previous value.
 </p></dd></dl>
 
 <dl class="first-deftypefn first-deftypefun-alias-first-deftypefn">
 <dt class="deftypefn deftypefun-alias-deftypefn" id="index-rl_005freset_005fterminal"><span class="category-def">Function: </span><span><code class="def-type">int</code> <strong class="def-name">rl_reset_terminal</strong> <code class="def-code-arguments">(const char *terminal_name)</code><a class="copiable-link" href="#index-rl_005freset_005fterminal"> &para;</a></span></dt>
 <dd><p>Reinitialize Readline&rsquo;s idea of the terminal settings using
-<var class="var">terminal_name</var> as the terminal type (e.g., <code class="code">vt100</code>).
-If <var class="var">terminal_name</var> is <code class="code">NULL</code>, the value of the <code class="code">TERM</code>
-environment variable is used.
+<var class="var">terminal_name</var> as the terminal type (e.g., <code class="code">xterm</code>).
+If <var class="var">terminal_name</var> is <code class="code">NULL</code>, Readline uses the value of the
+<code class="code">TERM</code> environment variable.
 </p></dd></dl>
 
 <hr>
@@ -3688,45 +3778,37 @@ Next: <a href="#Miscellaneous-Functions" accesskey="n" rel="next">Miscellaneous
 <dl class="first-deftypefn first-deftypefun-alias-first-deftypefn">
 <dt class="deftypefn deftypefun-alias-deftypefn" id="index-rl_005fsave_005fstate"><span class="category-def">Function: </span><span><code class="def-type">int</code> <strong class="def-name">rl_save_state</strong> <code class="def-code-arguments">(struct readline_state *sp)</code><a class="copiable-link" href="#index-rl_005fsave_005fstate"> &para;</a></span></dt>
 <dd><p>Save a snapshot of Readline&rsquo;s internal state to <var class="var">sp</var>.
-The contents of the <var class="var">readline_state</var> structure are documented
-in <samp class="file">readline.h</samp>.
+The contents of the <var class="var">readline_state</var> structure are
+documented in <samp class="file">readline.h</samp>.
 The caller is responsible for allocating the structure.
 </p></dd></dl>
 
 <dl class="first-deftypefn first-deftypefun-alias-first-deftypefn">
 <dt class="deftypefn deftypefun-alias-deftypefn" id="index-rl_005frestore_005fstate"><span class="category-def">Function: </span><span><code class="def-type">int</code> <strong class="def-name">rl_restore_state</strong> <code class="def-code-arguments">(struct readline_state *sp)</code><a class="copiable-link" href="#index-rl_005frestore_005fstate"> &para;</a></span></dt>
-<dd><p>Restore Readline&rsquo;s internal state to that stored in <var class="var">sp</var>, which must
-have been saved by a call to <code class="code">rl_save_state</code>.
-The contents of the <var class="var">readline_state</var> structure are documented
-in <samp class="file">readline.h</samp>.
-The caller is responsible for freeing the structure.
+<dd><p>Restore Readline&rsquo;s internal state to that stored in <var class="var">sp</var>,
+which must have been saved by a call to <code class="code">rl_save_state</code>. 
+The contents of the <var class="var">readline_state</var> structure are documented in
+<samp class="file">readline.h</samp>.
+The caller is responsible for freeing the structure. 
 </p></dd></dl>
 
 <dl class="first-deftypefn first-deftypefun-alias-first-deftypefn">
 <dt class="deftypefn deftypefun-alias-deftypefn" id="index-rl_005ffree"><span class="category-def">Function: </span><span><code class="def-type">void</code> <strong class="def-name">rl_free</strong> <code class="def-code-arguments">(void *mem)</code><a class="copiable-link" href="#index-rl_005ffree"> &para;</a></span></dt>
-<dd><p>Deallocate the memory pointed to by <var class="var">mem</var>.  <var class="var">mem</var> must have been
-allocated by <code class="code">malloc</code>.
-</p></dd></dl>
-
-<dl class="first-deftypefn first-deftypefun-alias-first-deftypefn">
-<dt class="deftypefn deftypefun-alias-deftypefn" id="index-rl_005freplace_005fline"><span class="category-def">Function: </span><span><code class="def-type">void</code> <strong class="def-name">rl_replace_line</strong> <code class="def-code-arguments">(const char *text, int clear_undo)</code><a class="copiable-link" href="#index-rl_005freplace_005fline"> &para;</a></span></dt>
-<dd><p>Replace the contents of <code class="code">rl_line_buffer</code> with <var class="var">text</var>.
-The point and mark are preserved, if possible.
-If <var class="var">clear_undo</var> is non-zero, the undo list associated with the
-current line is cleared.
+<dd><p>Deallocate the memory pointed to by <var class="var">mem</var>.
+<var class="var">mem</var> must have been allocated by <code class="code">malloc</code>.
 </p></dd></dl>
 
 <dl class="first-deftypefn first-deftypefun-alias-first-deftypefn">
 <dt class="deftypefn deftypefun-alias-deftypefn" id="index-rl_005fextend_005fline_005fbuffer"><span class="category-def">Function: </span><span><code class="def-type">void</code> <strong class="def-name">rl_extend_line_buffer</strong> <code class="def-code-arguments">(int len)</code><a class="copiable-link" href="#index-rl_005fextend_005fline_005fbuffer"> &para;</a></span></dt>
 <dd><p>Ensure that <code class="code">rl_line_buffer</code> has enough space to hold <var class="var">len</var>
-characters, possibly reallocating it if necessary.
+characters, reallocating it if necessary. 
 </p></dd></dl>
 
 <dl class="first-deftypefn first-deftypefun-alias-first-deftypefn">
 <dt class="deftypefn deftypefun-alias-deftypefn" id="index-rl_005finitialize"><span class="category-def">Function: </span><span><code class="def-type">int</code> <strong class="def-name">rl_initialize</strong> <code class="def-code-arguments">(void)</code><a class="copiable-link" href="#index-rl_005finitialize"> &para;</a></span></dt>
 <dd><p>Initialize or re-initialize Readline&rsquo;s internal state.
-It&rsquo;s not strictly necessary to call this; <code class="code">readline()</code> calls it before
-reading any input.
+It&rsquo;s not strictly necessary to call this;
+<code class="code">readline()</code> calls it before reading any input.
 </p></dd></dl>
 
 <dl class="first-deftypefn first-deftypefun-alias-first-deftypefn">
@@ -3742,12 +3824,13 @@ reading any input.
 <dl class="first-deftypefn first-deftypefun-alias-first-deftypefn">
 <dt class="deftypefn deftypefun-alias-deftypefn" id="index-rl_005fdisplay_005fmatch_005flist"><span class="category-def">Function: </span><span><code class="def-type">void</code> <strong class="def-name">rl_display_match_list</strong> <code class="def-code-arguments">(char **matches, int len, int max)</code><a class="copiable-link" href="#index-rl_005fdisplay_005fmatch_005flist"> &para;</a></span></dt>
 <dd><p>A convenience function for displaying a list of strings in
-columnar format on Readline&rsquo;s output stream.  <code class="code">matches</code> is the list
-of strings, in argv format, such as a list of completion matches.
+columnar format on Readline&rsquo;s output stream.
+<code class="code">matches</code> is the list of strings, in argv format,
+such as a list of completion matches.
 <code class="code">len</code> is the number of strings in <code class="code">matches</code>, and <code class="code">max</code>
-is the length of the longest string in <code class="code">matches</code>.  This function uses
-the setting of <code class="code">print-completions-horizontally</code> to select how the
-matches are displayed (see <a class="pxref" href="#Readline-Init-File-Syntax">Readline Init File Syntax</a>).
+is the length of the longest string in <code class="code">matches</code>.
+This function uses the setting of <code class="code">print-completions-horizontally</code>
+to select how the matches are displayed (see <a class="pxref" href="#Readline-Init-File-Syntax">Readline Init File Syntax</a>).
 When displaying completions, this function sets the number of columns used
 for display to the value of <code class="code">completion-display-width</code>, the value of
 the environment variable <code class="env">COLUMNS</code>, or the screen width, in that order.
@@ -3800,9 +3883,9 @@ Next: <a href="#Alternate-Interface" accesskey="n" rel="next">Alternate Interfac
 <dl class="first-deftypefn first-deftypefun-alias-first-deftypefn">
 <dt class="deftypefn deftypefun-alias-deftypefn" id="index-rl_005fmacro_005fbind"><span class="category-def">Function: </span><span><code class="def-type">int</code> <strong class="def-name">rl_macro_bind</strong> <code class="def-code-arguments">(const char *keyseq, const char *macro, Keymap map)</code><a class="copiable-link" href="#index-rl_005fmacro_005fbind"> &para;</a></span></dt>
 <dd><p>Bind the key sequence <var class="var">keyseq</var> to invoke the macro <var class="var">macro</var>.
-The binding is performed in <var class="var">map</var>.  When <var class="var">keyseq</var> is invoked, the
-<var class="var">macro</var> will be inserted into the line.  This function is deprecated;
-use <code class="code">rl_generic_bind</code> instead.
+The binding is performed in <var class="var">map</var>.
+When <var class="var">keyseq</var> is invoked, the <var class="var">macro</var> will be inserted into the line.
+This function is deprecated; use <code class="code">rl_generic_bind</code> instead.
 </p></dd></dl>
 
 <dl class="first-deftypefn first-deftypefun-alias-first-deftypefn">
@@ -3820,7 +3903,8 @@ that it can be made part of an <code class="code">inputrc</code> file and re-rea
 <dd><p>Make the Readline variable <var class="var">variable</var> have <var class="var">value</var>.
 This behaves as if the Readline command
 &lsquo;<samp class="samp">set <var class="var">variable</var> <var class="var">value</var></samp>&rsquo; had been executed in an <code class="code">inputrc</code>
-file (see <a class="pxref" href="#Readline-Init-File-Syntax">Readline Init File Syntax</a>).
+file (see <a class="pxref" href="#Readline-Init-File-Syntax">Readline Init File Syntax</a>)
+or by <code class="code">rl_parse_and_bind</code>.
 </p></dd></dl>
 
 <dl class="first-deftypefn first-deftypefun-alias-first-deftypefn">
@@ -3848,9 +3932,10 @@ a balancing character when <code class="code">blink-matching-paren</code> has be
 <dd><p>Retrieve the string value of the termcap capability <var class="var">cap</var>.
 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&rsquo;s capabilities, and this function will return
-values for only those capabilities Readline uses.
+terminal-specific operations, like erasing a line.
+Readline does not fetch or use all of a terminal&rsquo;s capabilities,
+and this function will return
+values for only those capabilities Readline fetches.
 </p></dd></dl>
 
 <dl class="first-deftypefn first-deftypefun-alias-first-deftypefn">
@@ -3868,16 +3953,18 @@ Readline saves in the history list.
 
 <dl class="first-deftypefn first-deftypefun-alias-first-deftypefn">
 <dt class="deftypefn deftypefun-alias-deftypefn" id="index-rl_005factivate_005fmark"><span class="category-def">Function: </span><span><code class="def-type">void</code> <strong class="def-name">rl_activate_mark</strong> <code class="def-code-arguments">(void)</code><a class="copiable-link" href="#index-rl_005factivate_005fmark"> &para;</a></span></dt>
-<dd><p>Enable an <em class="emph">active</em> mark.
+<dd><p>Enable an <em class="emph">active</em> region.
 When this is enabled, the text between point and mark (the <var class="var">region</var>) is
-displayed in the terminal&rsquo;s standout mode (a <var class="var">face</var>).
+displayed using the color specified by the value of the
+<code class="code">active-region-start-color</code> variable (a <var class="var">face</var>).
+The default face is the terminal&rsquo;s standout mode.
 This is called by various Readline functions that set the mark and insert
 text, and is available for applications to call.
 </p></dd></dl>
 
 <dl class="first-deftypefn first-deftypefun-alias-first-deftypefn">
 <dt class="deftypefn deftypefun-alias-deftypefn" id="index-rl_005fdeactivate_005fmark"><span class="category-def">Function: </span><span><code class="def-type">void</code> <strong class="def-name">rl_deactivate_mark</strong> <code class="def-code-arguments">(void)</code><a class="copiable-link" href="#index-rl_005fdeactivate_005fmark"> &para;</a></span></dt>
-<dd><p>Turn off the active mark.
+<dd><p>Turn off the active region.
 </p></dd></dl>
 
 <dl class="first-deftypefn first-deftypefun-alias-first-deftypefn">
@@ -3902,17 +3989,21 @@ Next: <a href="#A-Readline-Example" accesskey="n" rel="next">A Readline Example<
 </div>
 <h4 class="subsection" id="Alternate-Interface-1"><span>2.4.12 Alternate Interface<a class="copiable-link" href="#Alternate-Interface-1"> &para;</a></span></h4>
 
-<p>An alternate interface is available to plain <code class="code">readline()</code>.  Some
-applications need to interleave keyboard I/O with file, device, or
-window system I/O, typically by using a main loop to <code class="code">select()</code>
-on various file descriptors.  To accommodate this need, Readline can
-also be invoked as a &lsquo;callback&rsquo; function from an event loop.  There
-are functions available to make this easy.
+<p>For applications that need more granular control than
+plain <code class="code">readline()</code> 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 <code class="code">select()</code>
+on various file descriptors.
+To accommodate this use case, Readline can
+also be invoked as a &lsquo;callback&rsquo; function from an event loop.
+There are functions available to make this easy.
 </p>
 <dl class="first-deftypefn first-deftypefun-alias-first-deftypefn">
-<dt class="deftypefn deftypefun-alias-deftypefn" id="index-rl_005fcallback_005fhandler_005finstall"><span class="category-def">Function: </span><span><code class="def-type">void</code> <strong class="def-name">rl_callback_handler_install</strong> <code class="def-code-arguments">(const char *prompt, rl_vcpfunc_t *lhandler)</code><a class="copiable-link" href="#index-rl_005fcallback_005fhandler_005finstall"> &para;</a></span></dt>
+<dt class="deftypefn deftypefun-alias-deftypefn" id="index-rl_005fcallback_005fhandler_005finstall"><span class="category-def">Function: </span><span><code class="def-type">void</code> <strong class="def-name">rl_callback_handler_install</strong> <code class="def-code-arguments">(const char *prompt, rl_vcpfunc_t *line_handler)</code><a class="copiable-link" href="#index-rl_005fcallback_005fhandler_005finstall"> &para;</a></span></dt>
 <dd><p>Set up the terminal for Readline I/O and display the initial
-expanded value of <var class="var">prompt</var>.  Save the value of <var class="var">lhandler</var> to
+expanded value of <var class="var">prompt</var>.
+Save the value of <var class="var">line_handler</var> 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.
@@ -3926,15 +4017,15 @@ line when it it finished with it.
 should call <code class="code">rl_callback_read_char()</code>, which will read the next
 character from the current input source.
 If that character completes the line, <code class="code">rl_callback_read_char</code> will
-invoke the <var class="var">lhandler</var> function installed by
+invoke the <var class="var">line_handler</var> function installed by
 <code class="code">rl_callback_handler_install</code> to process the line.
-Before calling the <var class="var">lhandler</var> function, the terminal settings are
-reset to the values they had before calling
+Before calling the <var class="var">line_handler</var> function, Readline resets
+the terminal settings to the values they had before calling
 <code class="code">rl_callback_handler_install</code>.
-If the <var class="var">lhandler</var> function returns,
+If the <var class="var">line_handler</var> function returns,
 and the line handler remains installed,
-the terminal settings are modified for Readline&rsquo;s use again.
-<code class="code">EOF</code> is indicated by calling <var class="var">lhandler</var> with a
+Readline modifies the terminal settings for its use again.
+<code class="code">EOF</code> is indicated by calling <var class="var">line_handler</var> with a
 <code class="code">NULL</code> line.
 </p></dd></dl>
 
@@ -3942,19 +4033,21 @@ the terminal settings are modified for Readline&rsquo;s use again.
 <dt class="deftypefn deftypefun-alias-deftypefn" id="index-rl_005fcallback_005fsigcleanup"><span class="category-def">Function: </span><span><code class="def-type">void</code> <strong class="def-name">rl_callback_sigcleanup</strong> <code class="def-code-arguments">(void)</code><a class="copiable-link" href="#index-rl_005fcallback_005fsigcleanup"> &para;</a></span></dt>
 <dd><p>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&rsquo;s internal signal handler
-calls this when appropriate.
+incremental searches).
+This is intended to be used by applications that
+wish to perform their own signal handling;
+Readline&rsquo;s internal signal handler calls this when appropriate.
 </p></dd></dl>
 
 <dl class="first-deftypefn first-deftypefun-alias-first-deftypefn">
 <dt class="deftypefn deftypefun-alias-deftypefn" id="index-rl_005fcallback_005fhandler_005fremove"><span class="category-def">Function: </span><span><code class="def-type">void</code> <strong class="def-name">rl_callback_handler_remove</strong> <code class="def-code-arguments">(void)</code><a class="copiable-link" href="#index-rl_005fcallback_005fhandler_005fremove"> &para;</a></span></dt>
 <dd><p>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 <var class="var">lhandler</var> installed by <code class="code">rl_callback_handler_install</code>
-does not exit the program, either this function or the function referred
-to by the value of <code class="code">rl_deprep_term_function</code> should be called before
-the program exits to reset the terminal settings.
+If the <var class="var">line_handler</var> installed by <code class="code">rl_callback_handler_install</code>
+does not exit the program, your program should call
+either this function or the function referred
+to by the value of <code class="code">rl_deprep_term_function</code>
+before the program exits to reset the terminal settings.
 </p></dd></dl>
 
 <hr>
@@ -3967,10 +4060,11 @@ Next: <a href="#Alternate-Interface-Example" accesskey="n" rel="next">Alternate
 <h4 class="subsection" id="A-Readline-Example-1"><span>2.4.13 A Readline Example<a class="copiable-link" href="#A-Readline-Example-1"> &para;</a></span></h4>
 
 <p>Here is a function which changes lowercase characters to their uppercase
-equivalents, and uppercase characters to lowercase.  If
-this function was bound to &lsquo;<samp class="samp">M-c</samp>&rsquo;, then typing &lsquo;<samp class="samp">M-c</samp>&rsquo; would
-change the case of the character under point.  Typing &lsquo;<samp class="samp">M-1 0 M-c</samp>&rsquo;
-would change the case of the following 10 characters, leaving the cursor on
+equivalents, and uppercase characters to lowercase.
+If this function was bound to &lsquo;<samp class="samp">M-c</samp>&rsquo;, then typing &lsquo;<samp class="samp">M-c</samp>&rsquo; would
+change the case of the character under point.
+Typing &lsquo;<samp class="samp">M-1 0 M-c</samp>&rsquo; would change the case
+of the following 10 characters, leaving the cursor on
 the last character changed.
 </p>
 <div class="example">
@@ -3979,7 +4073,7 @@ int
 invert_case_line (count, key)
      int count, key;
 {
-  register int start, end, i;
+  int start, end, i;
 
   start = rl_point;
 
@@ -4169,20 +4263,22 @@ Next: <a href="#Custom-Completers" accesskey="n" rel="next">Custom Completers</a
 <h3 class="section" id="Readline-Signal-Handling-1"><span>2.5 Readline Signal Handling<a class="copiable-link" href="#Readline-Signal-Handling-1"> &para;</a></span></h3>
 
 <p>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&rsquo;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 application writers with
-functions to do so manually. 
+sometimes on behalf of another process.
+They are intended to indicate exceptional events,
+like a user pressing the terminal&rsquo;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. 
 </p>
 <p>Readline contains an internal signal handler that is installed for a
 number of signals (<code class="code">SIGINT</code>, <code class="code">SIGQUIT</code>, <code class="code">SIGTERM</code>,
 <code class="code">SIGHUP</code>, 
 <code class="code">SIGALRM</code>, <code class="code">SIGTSTP</code>, <code class="code">SIGTTIN</code>, and <code class="code">SIGTTOU</code>).
-When one of these signals is received, the signal handler
+When Readline receives one of these signals, the signal handler
 will reset the terminal attributes to those that were in effect before
 <code class="code">readline()</code> was called, reset the signal handling to what it was
 before <code class="code">readline()</code> was called, and resend the signal to the calling
@@ -4195,22 +4291,24 @@ aborted (see the description of <code class="code">rl_free_line_state()</code> b
 </p>
 <p>There is an additional Readline signal handler, for <code class="code">SIGWINCH</code>, which
 the kernel sends to a process whenever the terminal&rsquo;s size changes (for
-example, if a user resizes an <code class="code">xterm</code>).  The Readline <code class="code">SIGWINCH</code>
-handler updates Readline&rsquo;s internal screen size information, and then calls
-any <code class="code">SIGWINCH</code> signal handler the calling application has installed. 
+example, if a user resizes an <code class="code">xterm</code>).
+The Readline <code class="code">SIGWINCH</code> handler updates
+Readline&rsquo;s internal screen size information, and then calls any
+<code class="code">SIGWINCH</code> signal handler the calling application has installed. 
 Readline calls the application&rsquo;s <code class="code">SIGWINCH</code> signal handler without
-resetting the terminal to its original state.  If the application&rsquo;s signal
-handler does more than update its idea of the terminal size and return (for
-example, a <code class="code">longjmp</code> back to a main processing loop), it <em class="emph">must</em>
-call <code class="code">rl_cleanup_after_signal()</code> (described below), to restore the
-terminal state.
+resetting the terminal to its original state.
+If the application&rsquo;s signal
+handler does more than update its idea of the terminal size and return
+(for example, a <code class="code">longjmp</code> back to a main processing loop),
+it <em class="emph">must</em> call <code class="code">rl_cleanup_after_signal()</code> (described below),
+to restore the terminal state.
 </p>
 <p>When an application is using the callback interface
 (see <a class="pxref" href="#Alternate-Interface">Alternate Interface</a>), Readline installs signal handlers only for
-the duration of the call to <code class="code">rl_callback_read_char</code>.  Applications
-using the callback interface should be prepared to clean up Readline&rsquo;s
-state if they wish to handle the signal before the line handler completes
-and restores the terminal state.
+the duration of the call to <code class="code">rl_callback_read_char</code>.
+Applications using the callback interface should be prepared
+to clean up Readline&rsquo;s state if they wish to handle the signal
+before the line handler completes and restores the terminal state.
 </p>
 <p>If an application using the callback interface wishes to have Readline
 install its signal handlers at the time the application calls
@@ -4221,18 +4319,21 @@ 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 <code class="code">rl_callback_read_char</code>.  This
-can result in an application becoming less responsive to keyboard signals
-like SIGINT.
+to them) until the application calls <code class="code">rl_callback_read_char</code>.
+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 <code class="code">rl_callback_read_char</code>,
-setting this variable may be desirable.
+does not need to do any processing
+between calls to <code class="code">rl_callback_read_char</code>,
+setting this variable may be appropriate.
 </p>
 <p>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 class="code">readline()</code>, not in
-a signal handler, so Readline&rsquo;s internal signal state is not corrupted.
+when they are received.
+It is important that applications change the
+values of these variables only when calling <code class="code">readline()</code>,
+not in a signal handler, so Readline&rsquo;s internal signal state
+is not corrupted.
 </p>
 <dl class="first-deftypevr first-deftypevar-alias-first-deftypevr">
 <dt class="deftypevr deftypevar-alias-deftypevr" id="index-rl_005fcatch_005fsignals"><span class="category-def">Variable: </span><span><code class="def-type">int</code> <strong class="def-name">rl_catch_signals</strong><a class="copiable-link" href="#index-rl_005fcatch_005fsignals"> &para;</a></span></dt>
@@ -4266,7 +4367,7 @@ it should set this variable to a non-zero value.
 <dd><p>If this variable is set to a non-zero value,
 and Readline is handling <code class="code">SIGWINCH</code>, Readline will modify the
 <var class="var">LINES</var> and <var class="var">COLUMNS</var> environment variables upon receipt of a
-<code class="code">SIGWINCH</code>
+<code class="code">SIGWINCH</code>.
 </p>
 <p>The default value of <code class="code">rl_change_environment</code> is 1.
 </p></dd></dl>
@@ -4295,10 +4396,10 @@ all signals, depending on the values of <code class="code">rl_catch_signals</cod
 <dt class="deftypefn deftypefun-alias-deftypefn" id="index-rl_005ffree_005fline_005fstate"><span class="category-def">Function: </span><span><code class="def-type">void</code> <strong class="def-name">rl_free_line_state</strong> <code class="def-code-arguments">(void)</code><a class="copiable-link" href="#index-rl_005ffree_005fline_005fstate"> &para;</a></span></dt>
 <dd><p>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 class="code">rl_cleanup_after_signal()</code>.  The
-Readline signal handler for <code class="code">SIGINT</code> calls this to abort the
-current input line.
+keyboard macro, and any partially-entered numeric argument).
+This should be called before <code class="code">rl_cleanup_after_signal()</code>.
+The Readline signal handler for <code class="code">SIGINT</code> calls this to abort
+the current input line.
 </p></dd></dl>
 
 <dl class="first-deftypefn first-deftypefun-alias-first-deftypefn">
@@ -4311,20 +4412,22 @@ handlers, depending on the values of <code class="code">rl_catch_signals</code>
 <p>If an application wants to force Readline to handle any signals that
 have arrived while it has been executing, <code class="code">rl_check_signals()</code>
 will call Readline&rsquo;s internal signal handler if there are any pending
-signals.  This is primarily intended for those applications that use
+signals.
+This is primarily intended for those applications that use
 a custom <code class="code">rl_getc_function</code> (see <a class="pxref" href="#Readline-Variables">Readline Variables</a>) and wish
 to handle signals received while waiting for input.
 </p>
 <dl class="first-deftypefn first-deftypefun-alias-first-deftypefn">
 <dt class="deftypefn deftypefun-alias-deftypefn" id="index-rl_005fcheck_005fsignals"><span class="category-def">Function: </span><span><code class="def-type">void</code> <strong class="def-name">rl_check_signals</strong> <code class="def-code-arguments">(void)</code><a class="copiable-link" href="#index-rl_005fcheck_005fsignals"> &para;</a></span></dt>
-<dd><p>If there are any pending signals, call Readline&rsquo;s internal signal handling
-functions to process them. <code class="code">rl_pending_signal()</code> can be used independently
+<dd><p>If there are any pending signals, call Readline&rsquo;s internal signal
+handling functions to process them.
+<code class="code">rl_pending_signal()</code> can be used independently
 to determine whether or not there are any pending signals.
 </p></dd></dl>
 
-<p>If an application does not wish Readline to catch <code class="code">SIGWINCH</code>, it may
-call <code class="code">rl_resize_terminal()</code> or <code class="code">rl_set_screen_size()</code> to force
-Readline to update its idea of the terminal size when it receives
+<p>If an application does not wish Readline to catch <code class="code">SIGWINCH</code>,
+it may call <code class="code">rl_resize_terminal()</code> or <code class="code">rl_set_screen_size()</code> 
+to force Readline to update its idea of the terminal size when it receives
 a <code class="code">SIGWINCH</code>.
 </p>
 <dl class="first-deftypefn first-deftypefun-alias-first-deftypefn">
@@ -4343,8 +4446,9 @@ function with <var class="var">sig</var> set to <code class="code">SIGINT</code>
 <dl class="first-deftypefn first-deftypefun-alias-first-deftypefn">
 <dt class="deftypefn deftypefun-alias-deftypefn" id="index-rl_005fset_005fscreen_005fsize"><span class="category-def">Function: </span><span><code class="def-type">void</code> <strong class="def-name">rl_set_screen_size</strong> <code class="def-code-arguments">(int rows, int cols)</code><a class="copiable-link" href="#index-rl_005fset_005fscreen_005fsize"> &para;</a></span></dt>
 <dd><p>Set Readline&rsquo;s idea of the terminal size to <var class="var">rows</var> rows and
-<var class="var">cols</var> columns.  If either <var class="var">rows</var> or <var class="var">columns</var> is less than
-or equal to 0, Readline&rsquo;s idea of that terminal dimension is unchanged.
+<var class="var">cols</var> columns.
+If either <var class="var">rows</var> or <var class="var">columns</var> is less than or equal to 0,
+Readline doesn&rsquo;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.
@@ -4392,7 +4496,8 @@ Previous: <a href="#Readline-Signal-Handling" accesskey="p" rel="prev">Readline
 <a class="index-entry-id" id="index-application_002dspecific-completion-functions"></a>
 
 <p>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
+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.
@@ -4413,20 +4518,24 @@ Next: <a href="#Completion-Functions" accesskey="n" rel="next">Completion Functi
 <h4 class="subsection" id="How-Completing-Works-1"><span>2.6.1 How Completing Works<a class="copiable-link" href="#How-Completing-Works-1"> &para;</a></span></h4>
 
 <p>In order to complete some text, the full list of possible completions
-must be available.  That is, it is not possible to accurately
+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
+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
+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.
 </p>
 <p>There are three major functions used to perform completion:
 </p>
 <ol class="enumerate">
-<li> The user-interface function <code class="code">rl_complete()</code>.  This function is
-called with the same arguments as other bindable Readline functions:
-<var class="var">count</var> and <var class="var">invoking_key</var>.
+<li> The user-interface function <code class="code">rl_complete()</code>.
+This function is called with the same arguments as other bindable
+Readline functions: <var class="var">count</var> and <var class="var">invoking_key</var>.
 It isolates the word to be completed and calls
 <code class="code">rl_completion_matches()</code> to generate a list of possible completions.
 It then either lists the possible completions, inserts the possible
@@ -4440,16 +4549,19 @@ The caller should place the address of its generator function in
 <code class="code">rl_completion_entry_function</code>.
 
 </li><li> The generator function is called repeatedly from
-<code class="code">rl_completion_matches()</code>, returning a string each time.  The
-arguments to the generator function are <var class="var">text</var> and <var class="var">state</var>.
-<var class="var">text</var> is the partial word to be completed.  <var class="var">state</var> 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 class="code">rl_completion_matches()</code>, returning a string each time.
+The arguments to the generator function are <var class="var">text</var> and <var class="var">state</var>.
+<var class="var">text</var> is the partial word to be completed.
+<var class="var">state</var> is zero the first time the function is called,
+allowing the generator to perform any necessary initialization,
+and a positive integer for each subsequent call.
+The generator function returns
 <code class="code">(char *)NULL</code> to inform <code class="code">rl_completion_matches()</code> that there are
-no more possibilities left.  Usually the generator function computes the
+no more possibilities left.
+Usually the generator function computes the
 list of possible completions when <var class="var">state</var> is zero, and returns them
-one at a time on subsequent calls.  Each string the generator function
+one at a time on subsequent calls.
+Each string the generator function
 returns as a match must be allocated with <code class="code">malloc()</code>; Readline
 frees the strings when it has finished with them.
 Such a generator function is referred to as an
@@ -4459,9 +4571,10 @@ Such a generator function is referred to as an
 
 <dl class="first-deftypefn first-deftypefun-alias-first-deftypefn">
 <dt class="deftypefn deftypefun-alias-deftypefn" id="index-rl_005fcomplete"><span class="category-def">Function: </span><span><code class="def-type">int</code> <strong class="def-name">rl_complete</strong> <code class="def-code-arguments">(int ignore, int invoking_key)</code><a class="copiable-link" href="#index-rl_005fcomplete"> &para;</a></span></dt>
-<dd><p>Complete the word at or before point.  You have supplied the function
-that does the initial simple matching selection algorithm (see
-<code class="code">rl_completion_matches()</code>).  The default is to do filename completion.
+<dd><p>Complete the word at or before point.
+You have supplied the function that does the initial simple matching
+selection algorithm (see <code class="code">rl_completion_matches()</code>).
+The default is to do filename completion.
 </p></dd></dl>
 
 <dl class="first-deftypevr first-deftypevar-alias-first-deftypevr">
@@ -4469,11 +4582,11 @@ that does the initial simple matching selection algorithm (see
 <dd><p>This is a pointer to the generator function for
 <code class="code">rl_completion_matches()</code>.
 If the value of <code class="code">rl_completion_entry_function</code> is
-<code class="code">NULL</code> then the default filename generator
-function, <code class="code">rl_filename_completion_function()</code>, is used.
+<code class="code">NULL</code> then Readline uses the default filename generator
+function, <code class="code">rl_filename_completion_function()</code>.
 An <em class="dfn">application-specific completion function</em> is a function whose
 address is assigned to <code class="code">rl_completion_entry_function</code> and whose
-return values are used to  generate possible completions.
+return values are used to generate possible completions.
 </p></dd></dl>
 
 <hr>
@@ -4490,37 +4603,40 @@ Readline.
 </p>
 <dl class="first-deftypefn first-deftypefun-alias-first-deftypefn">
 <dt class="deftypefn deftypefun-alias-deftypefn" id="index-rl_005fcomplete_005finternal"><span class="category-def">Function: </span><span><code class="def-type">int</code> <strong class="def-name">rl_complete_internal</strong> <code class="def-code-arguments">(int what_to_do)</code><a class="copiable-link" href="#index-rl_005fcomplete_005finternal"> &para;</a></span></dt>
-<dd><p>Complete the word at or before point.  <var class="var">what_to_do</var> says what to do
-with the completion.  A value of &lsquo;<samp class="samp">?</samp>&rsquo; means list the possible
-completions.  &lsquo;<samp class="samp">TAB</samp>&rsquo; means do standard completion.  &lsquo;<samp class="samp">*</samp>&rsquo; means
-insert all of the possible completions.  &lsquo;<samp class="samp">!</samp>&rsquo; means to display
-all of the possible completions, if there is more than one, as well as
-performing partial completion.  &lsquo;<samp class="samp">@</samp>&rsquo; is similar to &lsquo;<samp class="samp">!</samp>&rsquo;, but
-possible completions are not listed if the possible completions share
-a common prefix.
+<dd><p>Complete the word at or before point.
+<var class="var">what_to_do</var> says what to do with the completion.
+A value of &lsquo;<samp class="samp">?</samp>&rsquo; means list the possible completions.
+&lsquo;<samp class="samp">TAB</samp>&rsquo; means do standard completion.
+&lsquo;<samp class="samp">*</samp>&rsquo; means insert all of the possible completions.
+&lsquo;<samp class="samp">!</samp>&rsquo; means to display all of the possible completions,
+if there is more than one, as well as performing partial completion.
+&lsquo;<samp class="samp">@</samp>&rsquo; is similar to &lsquo;<samp class="samp">!</samp>&rsquo;, but does not list possible completions
+if the possible completions share a common prefix.
 </p></dd></dl>
 
 <dl class="first-deftypefn first-deftypefun-alias-first-deftypefn">
 <dt class="deftypefn deftypefun-alias-deftypefn" id="index-rl_005fcomplete-1"><span class="category-def">Function: </span><span><code class="def-type">int</code> <strong class="def-name">rl_complete</strong> <code class="def-code-arguments">(int ignore, int invoking_key)</code><a class="copiable-link" href="#index-rl_005fcomplete-1"> &para;</a></span></dt>
-<dd><p>Complete the word at or before point.  You have supplied the function
-that does the initial simple matching selection algorithm (see
-<code class="code">rl_completion_matches()</code> and <code class="code">rl_completion_entry_function</code>).
-The default is to do filename
-completion.  This calls <code class="code">rl_complete_internal()</code> with an
+<dd><p>Complete the word at or before point.
+You have supplied the function that does the initial simple
+matching selection algorithm (see <code class="code">rl_completion_matches()</code> and
+<code class="code">rl_completion_entry_function</code>).
+The default is to do filename completion.
+This calls <code class="code">rl_complete_internal()</code> with an
 argument depending on <var class="var">invoking_key</var>.
 </p></dd></dl>
 
 <dl class="first-deftypefn first-deftypefun-alias-first-deftypefn">
 <dt class="deftypefn deftypefun-alias-deftypefn" id="index-rl_005fpossible_005fcompletions"><span class="category-def">Function: </span><span><code class="def-type">int</code> <strong class="def-name">rl_possible_completions</strong> <code class="def-code-arguments">(int count, int invoking_key)</code><a class="copiable-link" href="#index-rl_005fpossible_005fcompletions"> &para;</a></span></dt>
-<dd><p>List the possible completions.  See description of <code class="code">rl_complete
-()</code>.  This calls <code class="code">rl_complete_internal()</code> with an argument of
-&lsquo;<samp class="samp">?</samp>&rsquo;.
+<dd><p>List the possible completions.
+See description of <code class="code">rl_complete()</code>.
+This calls <code class="code">rl_complete_internal()</code> with an argument of &lsquo;<samp class="samp">?</samp>&rsquo;.
 </p></dd></dl>
 
 <dl class="first-deftypefn first-deftypefun-alias-first-deftypefn">
 <dt class="deftypefn deftypefun-alias-deftypefn" id="index-rl_005finsert_005fcompletions"><span class="category-def">Function: </span><span><code class="def-type">int</code> <strong class="def-name">rl_insert_completions</strong> <code class="def-code-arguments">(int count, int invoking_key)</code><a class="copiable-link" href="#index-rl_005finsert_005fcompletions"> &para;</a></span></dt>
 <dd><p>Insert the list of possible completions into the line, deleting the
-partially-completed word.  See description of <code class="code">rl_complete()</code>.
+partially-completed word.
+See description of <code class="code">rl_complete()</code>.
 This calls <code class="code">rl_complete_internal()</code> with an argument of &lsquo;<samp class="samp">*</samp>&rsquo;.
 </p></dd></dl>
 
@@ -4536,16 +4652,17 @@ the same interface as <code class="code">rl_complete()</code>.
 
 <dl class="first-deftypefn first-deftypefun-alias-first-deftypefn">
 <dt class="deftypefn deftypefun-alias-deftypefn" id="index-rl_005fcompletion_005fmatches"><span class="category-def">Function: </span><span><code class="def-type">char **</code> <strong class="def-name">rl_completion_matches</strong> <code class="def-code-arguments">(const char *text, rl_compentry_func_t *entry_func)</code><a class="copiable-link" href="#index-rl_005fcompletion_005fmatches"> &para;</a></span></dt>
-<dd><p>Returns an array of strings which is a list of completions for
-<var class="var">text</var>.  If there are no completions, returns <code class="code">NULL</code>.
+<dd><p>Returns an array of strings which is a list of completions for <var class="var">text</var>.
+If there are no completions, returns <code class="code">NULL</code>.
 The first entry in the returned array is the substitution for <var class="var">text</var>.
-The remaining entries are the possible completions.  The array is
-terminated with a <code class="code">NULL</code> pointer.
-</p>
-<p><var class="var">entry_func</var> is a function of two args, and returns a
-<code class="code">char *</code>.  The first argument is <var class="var">text</var>.  The second is a
-state argument; it is zero on the first call, and non-zero on subsequent
-calls.  <var class="var">entry_func</var> returns a <code class="code">NULL</code>  pointer to the caller
+The remaining entries are the possible completions.
+The array is terminated with a <code class="code">NULL</code> pointer.
+</p>
+<p><var class="var">entry_func</var> is a function of two args, and returns a <code class="code">char *</code>.
+The first argument is <var class="var">text</var>.
+The second is a state argument;
+it is zero on the first call, and non-zero on subsequent calls.
+<var class="var">entry_func</var> returns a <code class="code">NULL</code> pointer to the caller
 when there are no more matches.
 </p></dd></dl>
 
@@ -4560,10 +4677,11 @@ Readline functions).
 
 <dl class="first-deftypefn first-deftypefun-alias-first-deftypefn">
 <dt class="deftypefn deftypefun-alias-deftypefn" id="index-rl_005fusername_005fcompletion_005ffunction"><span class="category-def">Function: </span><span><code class="def-type">char *</code> <strong class="def-name">rl_username_completion_function</strong> <code class="def-code-arguments">(const char *text, int state)</code><a class="copiable-link" href="#index-rl_005fusername_005fcompletion_005ffunction"> &para;</a></span></dt>
-<dd><p>A completion generator for usernames.  <var class="var">text</var> contains a partial
-username preceded by a random character (usually &lsquo;<samp class="samp">~</samp>&rsquo;).  As with all
-completion generators, <var class="var">state</var> is zero on the first call and non-zero
-for subsequent calls.
+<dd><p>A completion generator for usernames.
+<var class="var">text</var> contains a partial username preceded by a
+random character (usually &lsquo;<samp class="samp">~</samp>&rsquo;).
+As with all completion generators,
+<var class="var">state</var> is zero on the first call and non-zero for subsequent calls.
 </p></dd></dl>
 
 <hr>
@@ -4590,8 +4708,8 @@ The function is called with <var class="var">text</var>, <var class="var">start<
 the boundaries of <var class="var">text</var>, which is a character string.
 If this function exists and returns <code class="code">NULL</code>, or if this variable is
 set to <code class="code">NULL</code>, then <code class="code">rl_complete()</code> will call the value of
-<code class="code">rl_completion_entry_function</code> to generate matches, otherwise the
-array of strings returned will be used.
+<code class="code">rl_completion_entry_function</code> to generate matches, otherwise
+completion will use the array of strings this function returns.
 If this function sets the <code class="code">rl_attempted_completion_over</code>
 variable to a non-zero value, Readline will not perform its default
 completion even if this function returns no matches.
@@ -4600,59 +4718,70 @@ completion even if this function returns no matches.
 <dl class="first-deftypevr first-deftypevar-alias-first-deftypevr">
 <dt class="deftypevr deftypevar-alias-deftypevr" id="index-rl_005ffilename_005fquoting_005ffunction"><span class="category-def">Variable: </span><span><code class="def-type">rl_quote_func_t *</code> <strong class="def-name">rl_filename_quoting_function</strong><a class="copiable-link" href="#index-rl_005ffilename_005fquoting_005ffunction"> &para;</a></span></dt>
 <dd><p>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 class="code">rl_filename_quote_characters</code>
-appears in a completed filename.  The function is called with
-<var class="var">text</var>, <var class="var">match_type</var>, and <var class="var">quote_pointer</var>.  The <var class="var">text</var>
-is the filename to be quoted.  The <var class="var">match_type</var> is either
-<code class="code">SINGLE_MATCH</code>, if there is only one completion match, or
-<code class="code">MULT_MATCH</code>.  Some functions use this to decide whether or not to
-insert a closing quote character.  The <var class="var">quote_pointer</var> is a pointer
-to any opening quote character the user typed.  Some functions choose
-to reset this character.
+application-specific fashion.
+Readline calls this function during filename completion
+if one of the characters in <code class="code">rl_filename_quote_characters</code>
+appears in a completed filename.
+The function is called with
+<var class="var">text</var>, <var class="var">match_type</var>, and <var class="var">quote_pointer</var>.
+The <var class="var">text</var> is the filename to be quoted.
+The <var class="var">match_type</var> is either <code class="code">SINGLE_MATCH</code>,
+if there is only one completion match, or <code class="code">MULT_MATCH</code>.
+Some functions use this to decide whether or not to
+insert a closing quote character.
+The <var class="var">quote_pointer</var> 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&rsquo;s preferable to preserve the user&rsquo;s quoting as much as possible &ndash;
+it&rsquo;s less disruptive.
 </p></dd></dl>
 
 <dl class="first-deftypevr first-deftypevar-alias-first-deftypevr">
 <dt class="deftypevr deftypevar-alias-deftypevr" id="index-rl_005ffilename_005fdequoting_005ffunction"><span class="category-def">Variable: </span><span><code class="def-type">rl_dequote_func_t *</code> <strong class="def-name">rl_filename_dequoting_function</strong><a class="copiable-link" href="#index-rl_005ffilename_005fdequoting_005ffunction"> &para;</a></span></dt>
 <dd><p>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 class="var">text</var>, the text of the word
+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 <var class="var">text</var>, the text of the word
 to be dequoted, and <var class="var">quote_char</var>, which is the quoting character 
-that delimits the filename (usually &lsquo;<samp class="samp">'</samp>&rsquo; or &lsquo;<samp class="samp">&quot;</samp>&rsquo;).  If
-<var class="var">quote_char</var> is zero, the filename was not in an embedded string.
+that delimits the filename (usually &lsquo;<samp class="samp">'</samp>&rsquo; or &lsquo;<samp class="samp">&quot;</samp>&rsquo;).
+If <var class="var">quote_char</var> is zero, the filename was not in a quoted string.
 </p></dd></dl>
 
 <dl class="first-deftypevr first-deftypevar-alias-first-deftypevr">
 <dt class="deftypevr deftypevar-alias-deftypevr" id="index-rl_005fchar_005fis_005fquoted_005fp"><span class="category-def">Variable: </span><span><code class="def-type">rl_linebuf_func_t *</code> <strong class="def-name">rl_char_is_quoted_p</strong><a class="copiable-link" href="#index-rl_005fchar_005fis_005fquoted_005fp"> &para;</a></span></dt>
 <dd><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 class="var">text</var>, the text of the line, and <var class="var">index</var>, the
-index of the character in the line.  It is used to decide whether a
-character found in <code class="code">rl_completer_word_break_characters</code> should be
+mechanism the application uses.
+The function is called with two arguments:
+<var class="var">text</var>, the text of the line,
+and <var class="var">index</var>, the index of the character in the line.
+It is used to decide whether a character found in
+<code class="code">rl_completer_word_break_characters</code> should be
 used to break words for the completer.
 </p></dd></dl>
 
 <dl class="first-deftypevr first-deftypevar-alias-first-deftypevr">
 <dt class="deftypevr deftypevar-alias-deftypevr" id="index-rl_005fignore_005fsome_005fcompletions_005ffunction"><span class="category-def">Variable: </span><span><code class="def-type">rl_compignore_func_t *</code> <strong class="def-name">rl_ignore_some_completions_function</strong><a class="copiable-link" href="#index-rl_005fignore_005fsome_005fcompletions_005ffunction"> &para;</a></span></dt>
-<dd><p>This function, if defined, is called by the completer when real filename
+<dd><p>Readline calls this function, if defined, when filename
 completion is done, after all the matching names have been generated.
 It is passed a <code class="code">NULL</code> terminated array of matches.
-The first element (<code class="code">matches[0]</code>) 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.
+The first element (<code class="code">matches[0]</code>) 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.
 </p></dd></dl>
 
 <dl class="first-deftypevr first-deftypevar-alias-first-deftypevr">
 <dt class="deftypevr deftypevar-alias-deftypevr" id="index-rl_005fdirectory_005fcompletion_005fhook"><span class="category-def">Variable: </span><span><code class="def-type">rl_icppfunc_t *</code> <strong class="def-name">rl_directory_completion_hook</strong><a class="copiable-link" href="#index-rl_005fdirectory_005fcompletion_005fhook"> &para;</a></span></dt>
 <dd><p>This function, if defined, is allowed to modify the directory portion
-of filenames Readline completes.
+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 old value should be freed.
+If the function replaces the string with a new string, it
+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.
@@ -4668,11 +4797,14 @@ The function should not modify the directory argument if it returns 0.
 <dl class="first-deftypevr first-deftypevar-alias-first-deftypevr">
 <dt class="deftypevr deftypevar-alias-deftypevr" id="index-rl_005fdirectory_005frewrite_005fhook_003b"><span class="category-def">Variable: </span><span><code class="def-type">rl_icppfunc_t *</code> <strong class="def-name">rl_directory_rewrite_hook;</strong><a class="copiable-link" href="#index-rl_005fdirectory_005frewrite_005fhook_003b"> &para;</a></span></dt>
 <dd><p>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 <code class="code">rl_directory_completion_hook</code>,
-it only modifies the directory name used in <code class="code">opendir</code>, not what is
-displayed when the possible completions are printed or inserted.  It is
-called before rl_directory_completion_hook.
+a directory name.
+This function takes the address of the directory name
+to be modified as an argument.
+Unlike <code class="code">rl_directory_completion_hook</code>,
+it only modifies the directory name used in <code class="code">opendir()</code>,
+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 <code class="code">opendir()</code>.
@@ -4686,8 +4818,9 @@ The function should not modify the directory argument if it returns 0.
 <dt class="deftypevr deftypevar-alias-deftypevr" id="index-rl_005ffilename_005fstat_005fhook"><span class="category-def">Variable: </span><span><code class="def-type">rl_icppfunc_t *</code> <strong class="def-name">rl_filename_stat_hook</strong><a class="copiable-link" href="#index-rl_005ffilename_005fstat_005fhook"> &para;</a></span></dt>
 <dd><p>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 the modified value
-is passed to <code class="code">stat()</code> to determine the file&rsquo;s type and characteristics.
+This function modifies its filename name argument, and Readline passes
+the modified value to <code class="code">stat()</code>
+to determine the file&rsquo;s type and characteristics.
 This function does not need to remove quote characters from the filename.
 </p>
 <p>The stat hook returns an integer that should be non-zero if
@@ -4697,29 +4830,37 @@ The function should not modify the directory argument if it returns 0.
 
 <dl class="first-deftypevr first-deftypevar-alias-first-deftypevr">
 <dt class="deftypevr deftypevar-alias-deftypevr" id="index-rl_005ffilename_005frewrite_005fhook"><span class="category-def">Variable: </span><span><code class="def-type">rl_dequote_func_t *</code> <strong class="def-name">rl_filename_rewrite_hook</strong><a class="copiable-link" href="#index-rl_005ffilename_005frewrite_005fhook"> &para;</a></span></dt>
-<dd><p>If non-zero, this is the address of a function called when reading
+<dd><p>If non-zero, this is the address of a function
+for Readline to call when reading
 directory entries from the filesystem for completion and comparing
-them to the filename portion of the partial word to be completed
-(after its potential modification by <code class="code">rl_completion_rewrite_hook</code>).
-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: <var class="var">fname</var>, the filename to be converted,
+them to the filename portion of the partial word being completed.
+It modifies the filesystem entries,
+as opposed to <code class="code">rl_completion_rewrite_hook</code>,
+which modifies the word being completed.
+The function takes two arguments:
+<var class="var">fname</var>, the filename to be converted,
 and <var class="var">fnlen</var>, 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.
+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 filesystem format to a character input format.
+Readline compares the converted form against the word to be completed,
+and, if it matches, adds it to the list of matches.
+Readline will free the allocated string.
 </p></dd></dl>
 
 <dl class="first-deftypevr first-deftypevar-alias-first-deftypevr">
 <dt class="deftypevr deftypevar-alias-deftypevr" id="index-rl_005fcompletion_005frewrite_005fhook"><span class="category-def">Variable: </span><span><code class="def-type">rl_dequote_func_t *</code> <strong class="def-name">rl_completion_rewrite_hook</strong><a class="copiable-link" href="#index-rl_005fcompletion_005frewrite_005fhook"> &para;</a></span></dt>
-<dd><p>If non-zero, this is the address of a function to call before
+<dd><p>If non-zero, this is the address of a function
+for Readline to call before
 comparing the filename portion of a word to be completed with directory
 entries from the filesystem.
-The function takes two arguments: <var class="var">fname</var>, the filename to be converted,
+It modifies the word being completed,
+as opposed to <code class="code">rl_filename_rewrite_hook</code>,
+which modifies filesystem entries.
+The function takes two arguments:
+<var class="var">fname</var>, the word to be converted,
 after any <code class="code">rl_filename_dequoting_function</code> has been applied,
 and <var class="var">fnlen</var>, its length in bytes.
 It must either return its first argument (if no conversion takes place)
@@ -4728,8 +4869,8 @@ 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 <code class="code">rl_filename_rewrite_hook</code>, and adds
-any matches to the list of matches.
+their potential modification by <code class="code">rl_filename_rewrite_hook</code>,
+and adds any matches to the list of matches.
 Readline will free the allocated string.
 </p></dd></dl>
 
@@ -4737,7 +4878,7 @@ Readline will free the allocated string.
 <dt class="deftypevr deftypevar-alias-deftypevr" id="index-rl_005fcompletion_005fdisplay_005fmatches_005fhook"><span class="category-def">Variable: </span><span><code class="def-type">rl_compdisp_func_t *</code> <strong class="def-name">rl_completion_display_matches_hook</strong><a class="copiable-link" href="#index-rl_005fcompletion_005fdisplay_005fmatches_005fhook"> &para;</a></span></dt>
 <dd><p>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.
+Readline calls this function instead of displaying the list itself.
 It takes three arguments:
 (<code class="code">char **</code><var class="var">matches</var>, <code class="code">int</code> <var class="var">num_matches</var>, <code class="code">int</code> <var class="var">max_length</var>)
 where <var class="var">matches</var> is the array of matching strings,
@@ -4751,7 +4892,8 @@ You may call that function from this hook.
 <dl class="first-deftypevr first-deftypevar-alias-first-deftypevr">
 <dt class="deftypevr deftypevar-alias-deftypevr" id="index-rl_005fbasic_005fword_005fbreak_005fcharacters"><span class="category-def">Variable: </span><span><code class="def-type">const char *</code> <strong class="def-name">rl_basic_word_break_characters</strong><a class="copiable-link" href="#index-rl_005fbasic_005fword_005fbreak_005fcharacters"> &para;</a></span></dt>
 <dd><p>The basic list of characters that signal a break between words for the
-completer routine.  The default value of this variable is the characters
+completer routine.
+The default value of this variable is the characters
 which break words for completion in Bash:
 <code class="code">&quot; \t\n\&quot;\\'`@$&gt;&lt;=;|&amp;{(&quot;</code>.
 </p></dd></dl>
@@ -4759,37 +4901,44 @@ which break words for completion in Bash:
 <dl class="first-deftypevr first-deftypevar-alias-first-deftypevr">
 <dt class="deftypevr deftypevar-alias-deftypevr" id="index-rl_005fbasic_005fquote_005fcharacters"><span class="category-def">Variable: </span><span><code class="def-type">const char *</code> <strong class="def-name">rl_basic_quote_characters</strong><a class="copiable-link" href="#index-rl_005fbasic_005fquote_005fcharacters"> &para;</a></span></dt>
 <dd><p>A list of quote characters which can cause a word break.
+The default value includes single and double quotes.
 </p></dd></dl>
 
 <dl class="first-deftypevr first-deftypevar-alias-first-deftypevr">
 <dt class="deftypevr deftypevar-alias-deftypevr" id="index-rl_005fcompleter_005fword_005fbreak_005fcharacters"><span class="category-def">Variable: </span><span><code class="def-type">const char *</code> <strong class="def-name">rl_completer_word_break_characters</strong><a class="copiable-link" href="#index-rl_005fcompleter_005fword_005fbreak_005fcharacters"> &para;</a></span></dt>
 <dd><p>The list of characters that signal a break between words for
-<code class="code">rl_complete_internal()</code>.  The default list is the value of
+<code class="code">rl_complete_internal()</code>.
+These characters determine how Readline decides what to complete.
+The default list is the value of
 <code class="code">rl_basic_word_break_characters</code>.
 </p></dd></dl>
 
 <dl class="first-deftypevr first-deftypevar-alias-first-deftypevr">
 <dt class="deftypevr deftypevar-alias-deftypevr" id="index-rl_005fcompletion_005fword_005fbreak_005fhook"><span class="category-def">Variable: </span><span><code class="def-type">rl_cpvfunc_t *</code> <strong class="def-name">rl_completion_word_break_hook</strong><a class="copiable-link" href="#index-rl_005fcompletion_005fword_005fbreak_005fhook"> &para;</a></span></dt>
 <dd><p>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 <code class="code">rl_completer_word_break_characters</code> to be
-used to perform the current completion.  The function may choose to set
-<code class="code">rl_completer_word_break_characters</code> itself.  If the function
-returns <code class="code">NULL</code>, <code class="code">rl_completer_word_break_characters</code> is used.
+deciding where to separate words for word completion.
+It should return a character string like
+<code class="code">rl_completer_word_break_characters</code> to be
+used to perform the current completion.
+The function may choose to set
+<code class="code">rl_completer_word_break_characters</code> itself.
+If the function returns <code class="code">NULL</code>, Readline uses
+<code class="code">rl_completer_word_break_characters</code>.
 </p></dd></dl>
 
 <dl class="first-deftypevr first-deftypevar-alias-first-deftypevr">
 <dt class="deftypevr deftypevar-alias-deftypevr" id="index-rl_005fcompleter_005fquote_005fcharacters"><span class="category-def">Variable: </span><span><code class="def-type">const char *</code> <strong class="def-name">rl_completer_quote_characters</strong><a class="copiable-link" href="#index-rl_005fcompleter_005fquote_005fcharacters"> &para;</a></span></dt>
 <dd><p>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
+Completion occurs on the entire substring, and within the substring,
 <code class="code">rl_completer_word_break_characters</code> are treated as any other character,
 unless they also appear within this list.
 </p></dd></dl>
 
 <dl class="first-deftypevr first-deftypevar-alias-first-deftypevr">
 <dt class="deftypevr deftypevar-alias-deftypevr" id="index-rl_005ffilename_005fquote_005fcharacters"><span class="category-def">Variable: </span><span><code class="def-type">const char *</code> <strong class="def-name">rl_filename_quote_characters</strong><a class="copiable-link" href="#index-rl_005ffilename_005fquote_005fcharacters"> &para;</a></span></dt>
-<dd><p>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.
+<dd><p>A list of characters that cause Readline to quote a filename
+when they appear in a completed filename.
+The default is the null string.
 </p></dd></dl>
 
 <dl class="first-deftypevr first-deftypevar-alias-first-deftypevr">
@@ -4803,48 +4952,44 @@ shell variables and hostnames.
 
 <dl class="first-deftypevr first-deftypevar-alias-first-deftypevr">
 <dt class="deftypevr deftypevar-alias-deftypevr" id="index-rl_005fcompletion_005fquery_005fitems"><span class="category-def">Variable: </span><span><code class="def-type">int</code> <strong class="def-name">rl_completion_query_items</strong><a class="copiable-link" href="#index-rl_005fcompletion_005fquery_005fitems"> &para;</a></span></dt>
-<dd><p>Up to this many items will be displayed in response to a
-possible-completions call.  After that, Readline asks the user for
-confirmation before displaying them.
-The default value is 100.  A negative value 
+<dd><p>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.
 </p></dd></dl>
 
 <dl class="first-deftypevr first-deftypevar-alias-first-deftypevr">
 <dt class="deftypevr deftypevar-alias-deftypevr" id="index-rl_005fcompletion_005fappend_005fcharacter"><span class="category-def">Variable: </span><span><code class="def-type">int</code> <strong class="def-name">rl_completion_append_character</strong><a class="copiable-link" href="#index-rl_005fcompletion_005fappend_005fcharacter"> &para;</a></span></dt>
 <dd><p>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 (&lsquo;<samp class="samp"> </samp>&rsquo;).  Setting this to the null
+line, Readline appends this character to the inserted completion text.
+The default is a space character (&lsquo;<samp class="samp"> </samp>&rsquo;).
+Setting this to the null
 character (&lsquo;<samp class="samp">\0</samp>&rsquo;) prevents anything being appended automatically.
 This can be changed in application-specific completion functions to
 provide the &ldquo;most sensible word separator character&rdquo; according to
 an application-specific command line syntax specification.
-It is set to the default before any application-specific completion function
-is called, and may only be changed within such a function.
+It is set to the default before calling any application-specific completion
+function, and may only be changed within such a function.
 </p></dd></dl>
 
 <dl class="first-deftypevr first-deftypevar-alias-first-deftypevr">
 <dt class="deftypevr deftypevar-alias-deftypevr" id="index-rl_005fcompletion_005fsuppress_005fappend"><span class="category-def">Variable: </span><span><code class="def-type">int</code> <strong class="def-name">rl_completion_suppress_append</strong><a class="copiable-link" href="#index-rl_005fcompletion_005fsuppress_005fappend"> &para;</a></span></dt>
-<dd><p>If non-zero, <var class="var">rl_completion_append_character</var> is not appended to
+<dd><p>If non-zero, Readline will not append the
+<var class="var">rl_completion_append_character</var> 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, and may only be changed within such a function.
-</p></dd></dl>
-
-<dl class="first-deftypevr first-deftypevar-alias-first-deftypevr">
-<dt class="deftypevr deftypevar-alias-deftypevr" id="index-rl_005fcompletion_005fquote_005fcharacter"><span class="category-def">Variable: </span><span><code class="def-type">int</code> <strong class="def-name">rl_completion_quote_character</strong><a class="copiable-link" href="#index-rl_005fcompletion_005fquote_005fcharacter"> &para;</a></span></dt>
-<dd><p>When Readline is completing quoted text, as delimited by one of the
-characters in <var class="var">rl_completer_quote_characters</var>, it sets this variable
-to the quoting character found.
-This is set before any application-specific completion function is called.
+It is set to 0 before calling any application-specific completion function,
+and may only be changed within such a function.
 </p></dd></dl>
 
 <dl class="first-deftypevr first-deftypevar-alias-first-deftypevr">
 <dt class="deftypevr deftypevar-alias-deftypevr" id="index-rl_005fcompletion_005fsuppress_005fquote"><span class="category-def">Variable: </span><span><code class="def-type">int</code> <strong class="def-name">rl_completion_suppress_quote</strong><a class="copiable-link" href="#index-rl_005fcompletion_005fsuppress_005fquote"> &para;</a></span></dt>
 <dd><p>If non-zero, Readline does not append a matching quote character when
 performing completion on a quoted string.
-It is set to 0 before any application-specific completion function
-is called, and may only be changed within such a function.
+It is set to 0 before calling any application-specific completion function,
+and may only be changed within such a function.
 </p></dd></dl>
 
 <dl class="first-deftypevr first-deftypevar-alias-first-deftypevr">
@@ -4852,61 +4997,76 @@ is called, and may only be changed within such a function.
 <dd><p>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 any application-specific completion function is called.
+This is set before calling any application-specific completion function.
+</p></dd></dl>
+
+<dl class="first-deftypevr first-deftypevar-alias-first-deftypevr">
+<dt class="deftypevr deftypevar-alias-deftypevr" id="index-rl_005fcompletion_005fquote_005fcharacter"><span class="category-def">Variable: </span><span><code class="def-type">int</code> <strong class="def-name">rl_completion_quote_character</strong><a class="copiable-link" href="#index-rl_005fcompletion_005fquote_005fcharacter"> &para;</a></span></dt>
+<dd><p>When Readline is completing quoted text, as delimited by one of the
+characters in <var class="var">rl_completer_quote_characters</var>, it sets this variable
+to the quoting character it found.
+This is set before calling any application-specific completion function.
 </p></dd></dl>
 
 <dl class="first-deftypevr first-deftypevar-alias-first-deftypevr">
 <dt class="deftypevr deftypevar-alias-deftypevr" id="index-rl_005fcompletion_005fmark_005fsymlink_005fdirs"><span class="category-def">Variable: </span><span><code class="def-type">int</code> <strong class="def-name">rl_completion_mark_symlink_dirs</strong><a class="copiable-link" href="#index-rl_005fcompletion_005fmark_005fsymlink_005fdirs"> &para;</a></span></dt>
-<dd><p>If non-zero, a slash will be appended to completed filenames that are
+<dd><p>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 <var class="var">mark-directories</var> variable.
 This variable exists so that application-specific completion functions
 can override the user&rsquo;s global preference (set via the
 <var class="var">mark-symlinked-directories</var> Readline variable) if appropriate.
-This variable is set to the user&rsquo;s preference before any
-application-specific completion function is called, so unless that
-function modifies the value, the user&rsquo;s preferences are honored.
+This variable is set to the user&rsquo;s preference before calling any
+application-specific completion function,
+so unless that function modifies the value,
+Readline will honor the user&rsquo;s preferences.
 </p></dd></dl>
 
 <dl class="first-deftypevr first-deftypevar-alias-first-deftypevr">
 <dt class="deftypevr deftypevar-alias-deftypevr" id="index-rl_005fignore_005fcompletion_005fduplicates"><span class="category-def">Variable: </span><span><code class="def-type">int</code> <strong class="def-name">rl_ignore_completion_duplicates</strong><a class="copiable-link" href="#index-rl_005fignore_005fcompletion_005fduplicates"> &para;</a></span></dt>
-<dd><p>If non-zero, then duplicates in the matches are removed.
+<dd><p>If non-zero, then Readline removes duplicates in the set of possible
+completions.
 The default is 1.
 </p></dd></dl>
 
 <dl class="first-deftypevr first-deftypevar-alias-first-deftypevr">
 <dt class="deftypevr deftypevar-alias-deftypevr" id="index-rl_005ffilename_005fcompletion_005fdesired"><span class="category-def">Variable: </span><span><code class="def-type">int</code> <strong class="def-name">rl_filename_completion_desired</strong><a class="copiable-link" href="#index-rl_005ffilename_005fcompletion_005fdesired"> &para;</a></span></dt>
-<dd><p>Non-zero means that the results of the matches are to be treated as
-filenames.  This is <em class="emph">always</em> zero when completion is attempted,
+<dd><p>A non-zero value means that Readline should treat the results of the
+matches as filenames.
+This is <em class="emph">always</em> 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
+within an application-specific completion function.
+If it is set to a
+non-zero value by such a function, Readline
+appends a slash to directory names
+and attempts to quote completed filenames if they contain any
 characters in <code class="code">rl_filename_quote_characters</code> and
 <code class="code">rl_filename_quoting_desired</code> is set to a non-zero value.
 </p></dd></dl>
 
 <dl class="first-deftypevr first-deftypevar-alias-first-deftypevr">
 <dt class="deftypevr deftypevar-alias-deftypevr" id="index-rl_005ffilename_005fquoting_005fdesired"><span class="category-def">Variable: </span><span><code class="def-type">int</code> <strong class="def-name">rl_filename_quoting_desired</strong><a class="copiable-link" href="#index-rl_005ffilename_005fquoting_005fdesired"> &para;</a></span></dt>
-<dd><p>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 class="code">rl_filename_quote_chars</code>.  This is <em class="emph">always</em> non-zero
-when completion is attempted, and can only be changed within an
+<dd><p>A non-zero value means that Readline should quote the results of the 
+matches using double quotes (or an application-specific quoting mechanism)
+if the completed filename contains any characters in
+<code class="code">rl_filename_quote_chars</code>.
+This is <em class="emph">always</em> non-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
+The quoting is performed via a call to the function pointed to
 by <code class="code">rl_filename_quoting_function</code>.
 </p></dd></dl>
 
 <dl class="first-deftypevr first-deftypevar-alias-first-deftypevr">
 <dt class="deftypevr deftypevar-alias-deftypevr" id="index-rl_005ffull_005fquoting_005fdesired"><span class="category-def">Variable: </span><span><code class="def-type">int</code> <strong class="def-name">rl_full_quoting_desired</strong><a class="copiable-link" href="#index-rl_005ffull_005fquoting_005fdesired"> &para;</a></span></dt>
-<dd><p>Non-zero means that Readline should apply filename-style quoting,
+<dd><p>A non-zero value 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
+to all completion matches even if it is not otherwise treating the
 matches as filenames.
-This is <em class="emph">always</em> 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
+This is <em class="emph">always</em> 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 <code class="code">rl_filename_quoting_function</code>.
 </p></dd></dl>
 
@@ -4923,10 +5083,11 @@ It should be set only by an application&rsquo;s completion function.
 <dt class="deftypevr deftypevar-alias-deftypevr" id="index-rl_005fsort_005fcompletion_005fmatches"><span class="category-def">Variable: </span><span><code class="def-type">int</code> <strong class="def-name">rl_sort_completion_matches</strong><a class="copiable-link" href="#index-rl_005fsort_005fcompletion_005fmatches"> &para;</a></span></dt>
 <dd><p>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
+completions).
+The default value is 1, which means that Readline will
 sort the completions and, depending on the value of
-<code class="code">rl_ignore_completion_duplicates</code>, will attempt to remove duplicate
-matches.
+<code class="code">rl_ignore_completion_duplicates</code>, will attempt to remove
+duplicate matches.
 </p></dd></dl>
 
 <dl class="first-deftypevr first-deftypevar-alias-first-deftypevr">
@@ -4934,23 +5095,26 @@ matches.
 <dd><p>Set to a character describing the type of completion Readline is currently
 attempting; see the description of <code class="code">rl_complete_internal()</code>
 (see <a class="pxref" href="#Completion-Functions">Completion Functions</a>) for the list of characters.
-This is set to the appropriate value before any application-specific
-completion function is called, allowing such functions to present
+This is set to the appropriate value before calling
+any application-specific completion function,
+so these functions can present
 the same interface as <code class="code">rl_complete()</code>.
 </p></dd></dl>
 
 <dl class="first-deftypevr first-deftypevar-alias-first-deftypevr">
 <dt class="deftypevr deftypevar-alias-deftypevr" id="index-rl_005fcompletion_005finvoking_005fkey"><span class="category-def">Variable: </span><span><code class="def-type">int</code> <strong class="def-name">rl_completion_invoking_key</strong><a class="copiable-link" href="#index-rl_005fcompletion_005finvoking_005fkey"> &para;</a></span></dt>
 <dd><p>Set to the final character in the key sequence that invoked one of the
-completion functions that call <code class="code">rl_complete_internal()</code>.  This is
-set to the appropriate value before any application-specific completion
-function is called.
+completion functions that call <code class="code">rl_complete_internal()</code>.
+This is set to the appropriate value before calling
+any application-specific completion function.
 </p></dd></dl>
 
 <dl class="first-deftypevr first-deftypevar-alias-first-deftypevr">
 <dt class="deftypevr deftypevar-alias-deftypevr" id="index-rl_005finhibit_005fcompletion"><span class="category-def">Variable: </span><span><code class="def-type">int</code> <strong class="def-name">rl_inhibit_completion</strong><a class="copiable-link" href="#index-rl_005finhibit_005fcompletion"> &para;</a></span></dt>
-<dd><p>If this variable is non-zero, completion is inhibited.  The completion
-character will be inserted as any other bound to <code class="code">self-insert</code>.
+<dd><p>If this variable is non-zero, Readline does not perform completion,
+even if a key binding indicates it should.
+The completion character
+is inserted as if it were bound to <code class="code">self-insert</code>.
 </p></dd></dl>
 
 <hr>
@@ -4963,10 +5127,12 @@ Previous: <a href="#Completion-Variables" accesskey="p" rel="prev">Completion Va
 <h4 class="subsection" id="A-Short-Completion-Example-1"><span>2.6.4 A Short Completion Example<a class="copiable-link" href="#A-Short-Completion-Example-1"> &para;</a></span></h4>
 
 <p>Here is a small application demonstrating the use of the GNU Readline
-library.  It is called <code class="code">fileman</code>, and the source code resides in
-<samp class="file">examples/fileman.c</samp>.  This sample application provides
-completion of command names, line editing features, and access to the
-history list.
+library.
+It is called <code class="code">fileman</code>, and the source code resides in
+<samp class="file">examples/fileman.c</samp>.
+This sample application provides
+command name completion, line editing features,
+and access to the history list.
 </p>
 <div class="example smallexample">
 <pre class="example-preformatted">/* fileman.c -- A tiny application which demonstrates how to use the
@@ -6358,7 +6524,7 @@ Previous: <a href="#Concept-Index" accesskey="p" rel="prev">Concept Index</a>, U
 <tr><td></td><td class="printindex-index-entry"><a href="#index-rl_005fredisplay"><code>rl_redisplay</code></a></td><td class="printindex-index-section"><a href="#Redisplay">Redisplay</a></td></tr>
 <tr><td></td><td class="printindex-index-entry"><a href="#index-rl_005fredisplay_005ffunction">rl_redisplay_function</a></td><td class="printindex-index-section"><a href="#Readline-Variables">Readline Variables</a></td></tr>
 <tr><td></td><td class="printindex-index-entry"><a href="#index-rl_005freparse_005fcolors"><code>rl_reparse_colors</code></a></td><td class="printindex-index-section"><a href="#Miscellaneous-Functions">Miscellaneous Functions</a></td></tr>
-<tr><td></td><td class="printindex-index-entry"><a href="#index-rl_005freplace_005fline"><code>rl_replace_line</code></a></td><td class="printindex-index-section"><a href="#Utility-Functions">Utility Functions</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-rl_005freplace_005fline"><code>rl_replace_line</code></a></td><td class="printindex-index-section"><a href="#Modifying-Text">Modifying Text</a></td></tr>
 <tr><td></td><td class="printindex-index-entry"><a href="#index-rl_005freset_005fafter_005fsignal"><code>rl_reset_after_signal</code></a></td><td class="printindex-index-section"><a href="#Readline-Signal-Handling">Readline Signal Handling</a></td></tr>
 <tr><td></td><td class="printindex-index-entry"><a href="#index-rl_005freset_005fline_005fstate"><code>rl_reset_line_state</code></a></td><td class="printindex-index-section"><a href="#Redisplay">Redisplay</a></td></tr>
 <tr><td></td><td class="printindex-index-entry"><a href="#index-rl_005freset_005fscreen_005fsize"><code>rl_reset_screen_size</code></a></td><td class="printindex-index-section"><a href="#Readline-Signal-Handling">Readline Signal Handling</a></td></tr>
index d2bda964092d6b88da12291ac9b55f454f4012c7..a1be7fea61e63d54747af1eb868489eef1a6e154 100644 (file)
@@ -1,10 +1,10 @@
 This is readline.info, produced by makeinfo version 7.1 from rlman.texi.
 
-This manual describes the GNU Readline Library (version 8.3, 10 October
+This manual describes the GNU Readline Library (version 8.3, 15 October
 2024), a library which aids in the consistency of user interface across
 discrete programs which provide a command line interface.
 
-   Copyright © 1988-2022 Free Software Foundation, Inc.
+   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,
@@ -63,27 +63,26 @@ File: readline.info,  Node: Introduction and Notation,  Next: Readline Interacti
 1.1 Introduction to Line Editing
 ================================
 
-The following paragraphs describe the notation used to represent
-keystrokes.
+The following paragraphs use Emacs style to 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.
+key is pressed (a “meta character”), then both are released.  The Meta
+key is labeled <ALT> or <Option> 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.  One of
+the <ALT> keys may also be configured as some other modifier, such as a
+Compose key for typing accented characters.
+
+   On some keyboards, the Meta key modifier produces 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>
@@ -328,7 +327,7 @@ 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’.
+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.
@@ -463,7 +462,7 @@ Variable Settings
      ‘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
+          modification.  When set to a value greater than zero, Readline
           replaces common prefixes longer than this value with an
           ellipsis when displaying possible completions.
 
@@ -562,7 +561,7 @@ Variable Settings
           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
+          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’,
@@ -722,7 +721,7 @@ Variable Settings
           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
+          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
@@ -792,7 +791,7 @@ Key Bindings
 
           This key binding syntax recognizes a number of symbolic
           character names: DEL, ESC, ESCAPE, LFD, NEWLINE, RET, RETURN,
-          RUBOUT, SPACE, SPC, and TAB.
+          RUBOUT (a destructive backspace), SPACE, SPC, and TAB.
 
      "KEYSEQ": FUNCTION-NAME or MACRO
           KEYSEQ differs from KEYNAME above in that strings denoting an
@@ -1090,9 +1089,10 @@ unbound by default.
 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.
+region is active, Readline redisplay highlights the region using the
+value of the ‘active-region-start-color’ variable.  The
+‘enable-active-region’ variable turns this on and off.  Several commands
+set the region to active; those are noted below.
 
 \1f
 File: readline.info,  Node: Commands For Moving,  Next: Commands For History,  Up: Bindable Readline Commands
@@ -1273,7 +1273,8 @@ File: readline.info,  Node: Commands For Text,  Next: Commands For Killing,  Pre
 ‘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.
+     above for the effects.  This may also be bound to the Delete key on
+     some keyboards.
 
 ‘backward-delete-char (Rubout)’
      Delete the character behind the cursor.  A numeric argument means
@@ -1591,7 +1592,7 @@ File: readline.info,  Node: Miscellaneous Commands,  Prev: Keyboard Macros,  Up:
      default.
 
 ‘execute-named-command (M-x)’
-     Read a bindable readline command name from the input and execute
+     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
@@ -1631,7 +1632,7 @@ and subsequent lines with ‘j’, and so forth.
 aiding in the consistency of user interface across discrete programs
 that need to provide a command line interface.
 
-   Copyright (C) 1988-2023 Free Software Foundation, Inc.
+   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
@@ -1681,28 +1682,28 @@ File: readline.info,  Node: Basic Behavior,  Next: Custom Functions,  Up: Progra
 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 ‘gets()’ or
-‘fgets()’.
+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, no prompt is displayed.  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
+‘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.
+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 ‘(char *)NULL’ is returned.
+   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
@@ -1751,8 +1752,8 @@ and has the advantage of no static buffer to overflow:
      }
 
    This function gives the user the default behaviour of <TAB>
-completion: completion on file names.  If you do not want Readline to
-complete on filenames, you can change the binding of the <TAB> key with
+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);
@@ -1780,15 +1781,15 @@ File: readline.info,  Node: Custom Functions,  Next: Readline Variables,  Prev:
 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.
+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 file ‘<stdio.h>’ should be included before
-‘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
@@ -1847,6 +1848,8 @@ we may write
 
 ‘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 *);’
@@ -1863,6 +1866,8 @@ we may write
 ‘typedef void rl_vcpfunc_t (char *);’
 ‘typedef void rl_vcppfunc_t (char **);’
 
+The ‘rltypedefs.h’ file has more documentation for these types.
+
 \1f
 File: readline.info,  Node: Function Writing,  Prev: Readline Typedefs,  Up: Custom Functions
 
@@ -1890,9 +1895,8 @@ 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.
+successfully, and a value greater than zero if some error occurs.  All
+of the builtin Readline bindable command functions obey this convention.
 
 \1f
 File: readline.info,  Node: Readline Variables,  Next: Readline Convenience Functions,  Prev: Custom Functions,  Up: Programming with GNU Readline
@@ -1905,8 +1909,8 @@ 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’ is available to increase the
-     memory allocated to ‘rl_line_buffer’.
+     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
@@ -1919,7 +1923,8 @@ These variables are available to function writers.
 
  -- Variable: int rl_mark
      The MARK (saved position) in the current line.  If set, the mark
-     and point define a _region_.
+     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
@@ -1929,8 +1934,9 @@ These variables are available to function writers.
 
  -- 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 encountered a
-     read error and is about to return a NULL line to the caller.
+     (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
@@ -1950,14 +1956,16 @@ These variables are available to function writers.
  -- 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.  The cursor
-     is moved to the beginning of the newly-blank line.
+     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()’.
+     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
@@ -1974,7 +1982,8 @@ These variables are available to function writers.
      value; Readline never sets it.
 
  -- Variable: const char * rl_library_version
-     The version number of this revision of the library.
+     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
@@ -1990,7 +1999,9 @@ These variables are available to function writers.
  -- 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.
+     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
@@ -2011,17 +2022,17 @@ These variables are available to function writers.
      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.  May be
-     used to test whether or not a function is being executed twice in
-     succession, for example.
+     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.
+     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
+     first prompt has been printed and just before Readline starts
      reading input characters.
 
  -- Variable: rl_hook_func_t * rl_event_hook
@@ -2032,14 +2043,14 @@ These variables are available to function writers.
  -- 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 default 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.
+     ‘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 when Readline is reading terminal input.
+     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
@@ -2162,7 +2173,7 @@ These variables are available to function writers.
      ‘RL_STATE_COMPLETING’
           Readline is performing word completion.
      ‘RL_STATE_SIGHANDLER’
-          Readline is currently executing the readline signal handler.
+          Readline is currently executing the Readline signal handler.
      ‘RL_STATE_UNDOING’
           Readline is performing an undo.
      ‘RL_STATE_INPUTPENDING’
@@ -2192,22 +2203,24 @@ These variables are available to function writers.
           caller.
      ‘RL_STATE_EOF’
           Readline has read an EOF character (e.g., the stty ‘EOF’
-          character) or encountered a read error and is about to return
-          a NULL line to the caller.
+          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.
+     specified by the user.  It is 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.
+     the user before executing the current Readline function.  It is
+     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.
+     mode is active.  This determines the current keymap and key
+     bindings.
 
 \1f
 File: readline.info,  Node: Readline Convenience Functions,  Next: Readline Signal Handling,  Prev: Readline Variables,  Up: Programming with GNU Readline
@@ -2239,23 +2252,24 @@ File: readline.info,  Node: Function Naming,  Next: Keymaps,  Up: Readline Conve
 2.4.1 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
+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, using 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’.  You, as the programmer,
+_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.  If KEY is not -1, then bind it to
-     FUNCTION using ‘rl_bind_key()’.
+     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
@@ -2301,7 +2315,8 @@ which keymap to use.
      zero if there are any keys bound.
 
    Readline has several internal keymaps.  These functions allow you to
-change which keymap is active.
+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.
@@ -2340,8 +2355,8 @@ File: readline.info,  Node: Binding Keys,  Next: Associating Function Names and
 2.4.3 Binding Keys
 ------------------
 
-Key sequences are associate with functions through the keymap.  Readline
-has several internal keymaps: ‘emacs_standard_keymap’,
+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.
@@ -2349,9 +2364,9 @@ 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 is to install custom key bindings in an
-initialization function assigned to the ‘rl_startup_hook’ variable
-(*note Readline Variables::).
+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.
 
@@ -2376,12 +2391,13 @@ initialization function assigned to the ‘rl_startup_hook’ variable
      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.
-     Returns non-zero in case of error.
+     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.  Returns non-zero in case of
-     error.
+     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)
@@ -2401,9 +2417,9 @@ initialization function assigned to the ‘rl_startup_hook’ variable
  -- 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.  This makes new keymaps as necessary.  Initial
-     bindings are performed in MAP.  The return value is non-zero if
-     KEYSEQ is invalid.
+     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)
@@ -2427,7 +2443,8 @@ initialization function assigned to the ‘rl_startup_hook’ variable
      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.
+     initial keymap in which to do bindings is MAP.  Returns non-zero in
+     the case of an invalid KEYSEQ, zero otherwise.
 
  -- Function: int rl_parse_and_bind (char *line)
      Parse LINE as if it had been read from the ‘inputrc’ file and
@@ -2449,13 +2466,14 @@ 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.
+     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’, the current keymap is used.  If TYPE is not ‘NULL’, the
-     type of the object is returned in the ‘int’ variable it points to
+     ‘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.
@@ -2472,7 +2490,7 @@ associate a new function name with an arbitrary function.
      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
+     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)
@@ -2489,7 +2507,7 @@ associate a new function name with an arbitrary function.
      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.
+     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
@@ -2510,7 +2528,9 @@ associate a new function name with an arbitrary function.
  -- 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.
+     FUNCTION the function to be called when NAME is invoked.  This
+     returns the index of the newly-added NAME in the array of function
+     names.
 
 \1f
 File: readline.info,  Node: Allowing Undoing,  Next: Redisplay,  Prev: Associating Function Names and Bindings,  Up: Readline Convenience Functions
@@ -2519,26 +2539,27 @@ File: readline.info,  Node: Allowing Undoing,  Next: Redisplay,  Prev: Associati
 ----------------------
 
 Supporting the undo command is a painless thing, and makes your
-functions much more useful.  It is certainly easy to try something if
+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 undoing is
-already done for you automatically.
+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 that can be undone are:
+   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()’.
+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
@@ -2547,9 +2568,9 @@ added by ‘rl_begin_undo_group()’ and ‘rl_end_undo_group()’.
      ‘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()’.
+     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)
@@ -2566,7 +2587,8 @@ added by ‘rl_begin_undo_group()’ and ‘rl_end_undo_group()’.
    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.
+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
@@ -2626,8 +2648,8 @@ File: readline.info,  Node: Redisplay,  Next: Modifying Text,  Prev: Allowing Un
 
  -- 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’, call
-     ‘rl_restore_prompt’ before calling this function.
+     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
@@ -2635,23 +2657,25 @@ File: readline.info,  Node: Redisplay,  Next: Modifying Text,  Prev: Allowing Un
 
  -- Function: void rl_restore_prompt (void)
      Restore the local Readline prompt display state saved by the most
-     recent call to ‘rl_save_prompt’.  if ‘rl_save_prompt’ was called to
-     save the prompt before a call to ‘rl_message’, this function should
-     be called before the corresponding call to ‘rl_clear_message’.
+     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 ‘rl_on_new_line_with_prompt()’ function or
-     ‘rl_already_prompted’ variable is used.  It returns the number of
-     visible characters on the last line of the (possibly multi-line)
+     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.
+     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
@@ -2679,14 +2703,19 @@ File: readline.info,  Node: Modifying Text,  Next: Character Input,  Prev: Redis
  -- 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.  The text is deleted.  If START is less than
-     END, the text is appended, otherwise prepended.  If the last
-     command was not a kill, a new kill ring slot is used.
+     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)
-     Cause MACRO to be inserted into the line, as if it had been invoked
-     by a key bound to a macro.  Not especially useful; use
-     ‘rl_insert_text()’ instead.
+     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: readline.info,  Node: Character Input,  Next: Terminal Management,  Prev: Modifying Text,  Up: Readline Convenience Functions
@@ -2709,7 +2738,7 @@ File: readline.info,  Node: Character Input,  Next: Terminal Management,  Prev:
  -- 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()’.  Up to 512 characters may be pushed back.
+     ‘rl_read_key()’.  Applications can push back up to 512 characters.
      ‘rl_stuff_char’ returns 1 if the character was successfully
      inserted; 0 otherwise.
 
@@ -2758,9 +2787,9 @@ File: readline.info,  Node: Terminal Management,  Next: Utility Functions,  Prev
 
  -- 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.  The
-     META_FLAG argument should be non-zero if Readline should read
-     eight-bit input.
+     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
@@ -2786,9 +2815,9 @@ File: readline.info,  Node: Terminal Management,  Next: Utility Functions,  Prev
 
  -- 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., ‘vt100’).  If
-     TERMINAL_NAME is ‘NULL’, the value of the ‘TERM’ environment
-     variable is used.
+     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: readline.info,  Node: Utility Functions,  Next: Miscellaneous Functions,  Prev: Terminal Management,  Up: Readline Convenience Functions
@@ -2811,14 +2840,9 @@ File: readline.info,  Node: Utility Functions,  Next: Miscellaneous Functions,
      Deallocate the memory pointed to by MEM.  MEM must have been
      allocated by ‘malloc’.
 
- -- Function: void rl_replace_line (const char *text, int clear_undo)
-     Replace the contents of ‘rl_line_buffer’ with TEXT.  The point and
-     mark are preserved, if possible.  If CLEAR_UNDO is non-zero, the
-     undo list associated with the current line is cleared.
-
  -- Function: void rl_extend_line_buffer (int len)
      Ensure that ‘rl_line_buffer’ has enough space to hold LEN
-     characters, possibly reallocating it if necessary.
+     characters, reallocating it if necessary.
 
  -- Function: int rl_initialize (void)
      Initialize or re-initialize Readline's internal state.  It's not
@@ -2893,7 +2917,8 @@ File: readline.info,  Node: Miscellaneous Functions,  Next: Alternate Interface,
           *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::).
+     ‘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
@@ -2916,8 +2941,9 @@ File: readline.info,  Node: Miscellaneous Functions,  Next: Alternate Interface,
      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.
+     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’.
@@ -2929,14 +2955,15 @@ File: readline.info,  Node: Miscellaneous Functions,  Next: Alternate Interface,
      saves in the history list.
 
  -- Function: void rl_activate_mark (void)
-     Enable an _active_ mark.  When this is enabled, the text between
-     point and mark (the REGION) is displayed in the terminal's standout
-     mode (a FACE).  This is called by various Readline functions that
-     set the mark and insert text, and is available for applications to
-     call.
+     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 mark.
+     Turn off the active region.
 
  -- Function: void rl_keep_mark_active (void)
      Indicate that the mark should remain active when the current
@@ -2954,18 +2981,19 @@ File: readline.info,  Node: Alternate Interface,  Next: A Readline Example,  Pre
 2.4.12 Alternate Interface
 --------------------------
 
-An alternate interface is available to plain ‘readline()’.  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 need, Readline can also
-be invoked as a 'callback' function from an event loop.  There are
-functions available to make this easy.
+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)
+          rl_vcpfunc_t *line_handler)
      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
+     expanded value of PROMPT.  Save the value of LINE_HANDLER to use as
+     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.
@@ -2975,13 +3003,14 @@ functions available to make this easy.
      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, the
-     terminal settings are reset to the values they had before calling
-     ‘rl_callback_handler_install’.  If the LHANDLER function returns,
-     and the line handler remains installed, the terminal settings are
-     modified for Readline's use again.  ‘EOF’ is indicated by calling
-     LHANDLER with a ‘NULL’ line.
+     the LINE_HANDLER function installed by
+     ‘rl_callback_handler_install’ to process the line.  Before calling
+     the LINE_HANDLER function, Readline resets the terminal settings to
+     the values they had before calling ‘rl_callback_handler_install’.
+     If the LINE_HANDLER function returns, and the line handler remains
+     installed, Readline modifies the terminal settings for its use
+     again.  ‘EOF’ is indicated by calling LINE_HANDLER with a ‘NULL’
+     line.
 
  -- Function: void rl_callback_sigcleanup (void)
      Clean up any internal state the callback interface uses to maintain
@@ -2993,11 +3022,11 @@ functions available to make this easy.
  -- 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, either
-     this function or the function referred to by the value of
-     ‘rl_deprep_term_function’ should be called before the program exits
-     to reset the terminal settings.
+     as independently.  If the LINE_HANDLER 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: readline.info,  Node: A Readline Example,  Next: Alternate Interface Example,  Prev: Alternate Interface,  Up: Readline Convenience Functions
@@ -3017,7 +3046,7 @@ changed.
      invert_case_line (count, key)
           int count, key;
      {
-       register int start, end, i;
+       int start, end, i;
 
        start = rl_point;
 
@@ -3203,16 +3232,16 @@ 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.
+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 one of these signals is
-received, 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
+‘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
@@ -3251,7 +3280,7 @@ 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.
+‘rl_callback_read_char’, setting this variable may be appropriate.
 
    Readline provides two variables that allow application writers to
 control whether or not it will catch certain signals and act on them
@@ -3283,7 +3312,7 @@ signal handler, so Readline's internal signal state is not corrupted.
  -- 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’
+     environment variables upon receipt of a ‘SIGWINCH’.
 
      The default value of ‘rl_change_environment’ is 1.
 
@@ -3346,10 +3375,10 @@ to update its idea of the terminal size when it receives a ‘SIGWINCH’.
  -- 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's idea of that terminal dimension is unchanged.  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.
+     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
@@ -3431,8 +3460,8 @@ functions must do, and provides an example.
      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
+     initialization, and a positive 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
@@ -3450,11 +3479,12 @@ functions must do, and provides an example.
  -- 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 the default filename
-     generator function, ‘rl_filename_completion_function()’, is used.
-     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.
+     ‘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: readline.info,  Node: Completion Functions,  Next: Completion Variables,  Prev: How Completing Works,  Up: Custom Completers
@@ -3471,8 +3501,8 @@ Readline.
      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 possible
-     completions are not listed if the possible completions share a
+     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)
@@ -3484,8 +3514,8 @@ Readline.
      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 ‘?’.
+     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
@@ -3545,15 +3575,16 @@ File: readline.info,  Node: Completion Variables,  Next: A Short Completion Exam
      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 the array of strings returned will be used.  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.
+     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.  This is called if filename
-     completion is being attempted and one of the characters in
+     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
@@ -3561,48 +3592,49 @@ File: readline.info,  Node: Completion Variables,  Next: A Short Completion Exam
      ‘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.
+     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 completion is attempted,
-     so those characters do not interfere with matching the text against
+     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 an embedded string.
+     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 program calling Readline 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.
+     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
-     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 ‘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 each element deleted from the array must be freed.
+     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 Readline completes.  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 old value should be freed.  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()’.
+     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 function replaces the
+     string with a new string, it 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
@@ -3613,8 +3645,8 @@ File: readline.info,  Node: Completion Variables,  Next: A Short Completion Exam
      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 is displayed when the possible
-     completions are printed or inserted.  It is called before
+     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
@@ -3627,9 +3659,9 @@ File: readline.info,  Node: Completion Variables,  Next: A Short Completion Exam
  -- 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 the modified
-     value is passed to ‘stat()’ to determine the file's type and
-     characteristics.  This function does not need to remove quote
+     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
@@ -3637,26 +3669,29 @@ File: readline.info,  Node: Completion Variables,  Next: A Short Completion Exam
      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 to be 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.
+     If non-zero, this is the address of a function for Readline to call
+     when reading directory entries from the filesystem for completion
+     and comparing them to the filename portion of the partial word
+     being completed.  It modifies the filesystem entries, as opposed to
+     ‘rl_completion_rewrite_hook’, which modifies the word being
+     completed.  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 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.
+     Readline compares the converted form against the word to be
+     completed, and, if it matches, adds it 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.  The function takes two
-     arguments: FNAME, the filename to be converted, after any
+     If non-zero, this is the address of a function for Readline to call
+     before comparing the filename portion of a word to be completed
+     with directory entries from the filesystem.  It modifies the word
+     being completed, 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
@@ -3671,8 +3706,8 @@ File: readline.info,  Node: Completion Variables,  Next: A Short Completion Exam
  -- 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.  This function is called in lieu of Readline displaying
-     the list.  It takes three arguments: (‘char **’MATCHES, ‘int’
+     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
@@ -3688,11 +3723,13 @@ File: readline.info,  Node: Completion Variables,  Next: A Short Completion Exam
      \t\n\"\\'`@$><=;|&{("’.
 
  -- Variable: const char * rl_basic_quote_characters
-     A list of quote characters which can cause a word break.
+     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()’.  The default list is the value of
+     ‘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
@@ -3702,18 +3739,18 @@ File: readline.info,  Node: Completion Variables,  Next: A Short Completion Exam
      ‘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’, ‘rl_completer_word_break_characters’ is used.
+     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
+     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 a filename to be quoted by the
-     completer when they appear in a completed filename.  The default is
-     the null string.
+     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
@@ -3723,90 +3760,92 @@ File: readline.info,  Node: Completion Variables,  Next: A Short Completion Exam
      complete shell variables and hostnames.
 
  -- Variable: int rl_completion_query_items
-     Up to this many items will be displayed in response to a
-     possible-completions call.  After that, Readline asks the user for
+     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, this character is appended to the inserted completion
-     text.  The default is a space character (‘ ’).  Setting this to the
-     null character (‘\0’) prevents anything being appended
+     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 any
-     application-specific completion function is called, and may only be
-     changed within such a function.
+     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, 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, and may only be changed within such a 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 found.  This is set before any
-     application-specific completion function is called.
+     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 any application-specific completion function is called, and
+     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 any application-specific completion function is called.
+     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, a slash will be appended to completed filenames that
+     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 any application-specific completion
-     function is called, so unless that function modifies the value, the
-     user's preferences are honored.
+     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 duplicates in the matches are removed.  The
-     default is 1.
+     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
+     A non-zero value means that Readline should treat the results of
+     the matches 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, Readline appends a slash to directory names and 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
+     A non-zero value means that Readline should quote the results of
+     the matches 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 effected
+     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
+     A non-zero value means that Readline should apply filename-style
+     quoting, including any application-specified quoting mechanism, to
+     all completion matches even if it is 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
+     completion function.  The quoting is performed via a call to the
      function pointed to by ‘rl_filename_quoting_function’.
 
  -- Variable: int rl_attempted_completion_over
@@ -3829,19 +3868,19 @@ File: readline.info,  Node: Completion Variables,  Next: A Short Completion Exam
      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
-     any application-specific completion function is called, allowing
-     such functions to present the same interface as ‘rl_complete()’.
+     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 any application-specific
-     completion function is called.
+     is set to the appropriate value before calling any
+     application-specific completion function.
 
  -- Variable: int rl_inhibit_completion
-     If this variable is non-zero, completion is inhibited.  The
-     completion character will be inserted as any other bound to
-     ‘self-insert’.
+     If this variable is non-zero, Readline does not perform completion,
+     even if a key binding indicates it should.  The completion
+     character is inserted as if it were bound to ‘self-insert’.
 
 \1f
 File: readline.info,  Node: A Short Completion Example,  Prev: Completion Variables,  Up: Custom Completers
@@ -3851,8 +3890,8 @@ File: readline.info,  Node: A Short Completion Example,  Prev: Completion Variab
 
 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 completion of
-command names, line editing features, and access to the history list.
+‘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
@@ -4816,7 +4855,7 @@ Concept Index
                                                                (line  6)
 * notation, readline:                    Readline Bare Essentials.
                                                                (line  6)
-* readline, function:                    Basic Behavior.       (line 12)
+* readline, function:                    Basic Behavior.       (line 11)
 * variables, readline:                   Readline Init File Syntax.
                                                                (line 34)
 * yanking text:                          Readline Killing Commands.
@@ -4831,12 +4870,12 @@ Function and Variable Index
 \0\b[index\0\b]
 * Menu:
 
-* _rl_digit_p:                           Utility Functions.   (line  64)
-* _rl_digit_value:                       Utility Functions.   (line  75)
-* _rl_lowercase_p:                       Utility Functions.   (line  61)
-* _rl_to_lower:                          Utility Functions.   (line  71)
-* _rl_to_upper:                          Utility Functions.   (line  67)
-* _rl_uppercase_p:                       Utility Functions.   (line  58)
+* _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.
@@ -4846,7 +4885,7 @@ Function and Variable Index
 * 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-delete-char (Rubout):         Commands For Text.   (line  18)
 * backward-kill-line (C-x Rubout):       Commands For Killing.
                                                               (line  11)
 * backward-kill-word (M-<DEL>):          Commands For Killing.
@@ -4861,9 +4900,9 @@ Function and Variable Index
                                                               (line  68)
 * blink-matching-paren:                  Readline Init File Syntax.
                                                               (line  76)
-* bracketed-paste-begin ():              Commands For Text.   (line  37)
+* bracketed-paste-begin ():              Commands For Text.   (line  38)
 * call-last-kbd-macro (C-x e):           Keyboard Macros.     (line  13)
-* capitalize-word (M-c):                 Commands For Text.   (line  68)
+* capitalize-word (M-c):                 Commands For Text.   (line  69)
 * character-search (C-]):                Miscellaneous Commands.
                                                               (line  41)
 * character-search-backward (M-C-]):     Miscellaneous Commands.
@@ -4906,7 +4945,7 @@ Function and Variable Index
                                                               (line 149)
 * do-lowercase-version (M-A, M-B, M-X, ...): Miscellaneous Commands.
                                                               (line  14)
-* downcase-word (M-l):                   Commands For Text.   (line  64)
+* downcase-word (M-l):                   Commands For Text.   (line  65)
 * dump-functions ():                     Miscellaneous Commands.
                                                               (line  68)
 * dump-macros ():                        Miscellaneous Commands.
@@ -4944,7 +4983,7 @@ Function and Variable Index
                                                               (line 105)
 * force-meta-prefix:                     Readline Init File Syntax.
                                                               (line 216)
-* forward-backward-delete-char ():       Commands For Text.   (line  22)
+* forward-backward-delete-char ():       Commands For Text.   (line  23)
 * forward-char (C-f):                    Commands For Moving. (line  14)
 * forward-search-history (C-s):          Commands For History.
                                                               (line  32)
@@ -5006,7 +5045,7 @@ Function and Variable Index
                                                               (line  98)
 * output-meta:                           Readline Init File Syntax.
                                                               (line 322)
-* overwrite-mode ():                     Commands For Text.   (line  72)
+* overwrite-mode ():                     Commands For Text.   (line  73)
 * page-completions:                      Readline Init File Syntax.
                                                               (line 331)
 * possible-completions (M-?):            Commands For Completion.
@@ -5017,10 +5056,10 @@ Function and Variable Index
                                                               (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)
+* quoted-insert (C-q or C-v):            Commands For Text.   (line  28)
 * re-read-init-file (C-x C-r):           Miscellaneous Commands.
                                                               (line   6)
-* readline:                              Basic Behavior.      (line  12)
+* readline:                              Basic Behavior.      (line  11)
 * redraw-current-line ():                Commands For Moving. (line  51)
 * reverse-search-history (C-r):          Commands For History.
                                                               (line  26)
@@ -5029,35 +5068,35 @@ Function and Variable Index
 * revert-line (M-r):                     Miscellaneous Commands.
                                                               (line  26)
 * rl_activate_mark:                      Miscellaneous Functions.
-                                                              (line  60)
-* rl_add_defun:                          Function Naming.     (line  18)
+                                                              (line  62)
+* rl_add_defun:                          Function Naming.     (line  19)
 * rl_add_funmap_entry:                   Associating Function Names and Bindings.
-                                                              (line  69)
-* rl_add_undo:                           Allowing Undoing.    (line  39)
-* rl_alphabetic:                         Utility Functions.   (line  38)
-* rl_already_prompted:                   Readline Variables.  (line  70)
+                                                              (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 282)
+                                                              (line 291)
 * rl_basic_quote_characters:             Completion Variables.
-                                                              (line 160)
+                                                              (line 165)
 * rl_basic_word_break_characters:        Completion Variables.
-                                                              (line 154)
-* rl_begin_undo_group:                   Allowing Undoing.    (line  28)
+                                                              (line 159)
+* 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  57)
-* rl_bind_keyseq_if_unbound:             Binding Keys.        (line  75)
-* rl_bind_keyseq_if_unbound_in_map:      Binding Keys.        (line  81)
-* rl_bind_keyseq_in_map:                 Binding Keys.        (line  64)
-* rl_binding_keymap:                     Readline Variables.  (line 204)
-* rl_callback_handler_install:           Alternate Interface. (line  13)
-* rl_callback_handler_remove:            Alternate Interface. (line  42)
-* rl_callback_read_char:                 Alternate Interface. (line  22)
-* rl_callback_sigcleanup:                Alternate Interface. (line  35)
+* 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  44)
+* rl_callback_read_char:                 Alternate Interface. (line  23)
+* rl_callback_sigcleanup:                Alternate Interface. (line  37)
 * rl_catch_signals:                      Readline Signal Handling.
                                                               (line  69)
 * rl_catch_sigwinch:                     Readline Signal Handling.
@@ -5065,13 +5104,13 @@ Function and Variable Index
 * rl_change_environment:                 Readline Signal Handling.
                                                               (line  90)
 * rl_char_is_quoted_p:                   Completion Variables.
-                                                              (line  45)
+                                                              (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  54)
+                                                              (line  56)
 * rl_clear_message:                      Redisplay.           (line  51)
 * rl_clear_pending_input:                Character Input.     (line  29)
 * rl_clear_signals:                      Readline Signal Handling.
@@ -5084,166 +5123,166 @@ Function and Variable Index
 * rl_complete_internal:                  Completion Functions.
                                                               (line   9)
 * rl_completer_quote_characters:         Completion Variables.
-                                                              (line 177)
+                                                              (line 184)
 * rl_completer_word_break_characters:    Completion Variables.
-                                                              (line 163)
+                                                              (line 169)
 * rl_completion_append_character:        Completion Variables.
-                                                              (line 202)
+                                                              (line 210)
 * rl_completion_display_matches_hook:    Completion Variables.
-                                                              (line 141)
+                                                              (line 146)
 * 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 232)
+                                                              (line 235)
 * rl_completion_invoking_key:            Completion Variables.
-                                                              (line 305)
+                                                              (line 314)
 * rl_completion_mark_symlink_dirs:       Completion Variables.
-                                                              (line 238)
+                                                              (line 247)
 * rl_completion_matches:                 Completion Functions.
                                                               (line  43)
 * rl_completion_mode:                    Completion Functions.
                                                               (line  36)
 * rl_completion_query_items:             Completion Variables.
-                                                              (line 195)
+                                                              (line 202)
 * rl_completion_quote_character:         Completion Variables.
-                                                              (line 220)
+                                                              (line 241)
 * rl_completion_rewrite_hook:            Completion Variables.
-                                                              (line 125)
+                                                              (line 128)
 * rl_completion_suppress_append:         Completion Variables.
-                                                              (line 214)
+                                                              (line 222)
 * rl_completion_suppress_quote:          Completion Variables.
-                                                              (line 226)
+                                                              (line 229)
 * rl_completion_type:                    Completion Variables.
-                                                              (line 297)
+                                                              (line 306)
 * rl_completion_word_break_hook:         Completion Variables.
-                                                              (line 168)
+                                                              (line 175)
 * rl_copy_keymap:                        Keymaps.             (line  16)
 * rl_copy_text:                          Modifying Text.      (line  14)
 * rl_crlf:                               Redisplay.           (line  33)
 * rl_deactivate_mark:                    Miscellaneous Functions.
-                                                              (line  67)
+                                                              (line  70)
 * rl_delete_text:                        Modifying Text.      (line  10)
-* rl_deprep_term_function:               Readline Variables.  (line 186)
+* rl_deprep_term_function:               Readline Variables.  (line 193)
 * rl_deprep_terminal:                    Terminal Management. (line  12)
-* rl_ding:                               Utility Functions.   (line  35)
+* rl_ding:                               Utility Functions.   (line  30)
 * rl_directory_completion_hook:          Completion Variables.
-                                                              (line  63)
+                                                              (line  65)
 * rl_directory_rewrite_hook;:            Completion Variables.
-                                                              (line  81)
+                                                              (line  83)
 * rl_discard_keymap:                     Keymaps.             (line  25)
-* rl_dispatching:                        Readline Variables.  (line  47)
-* rl_display_match_list:                 Utility Functions.   (line  41)
-* rl_display_prompt:                     Readline Variables.  (line  65)
-* rl_do_undo:                            Allowing Undoing.    (line  47)
-* rl_done:                               Readline Variables.  (line  27)
+* 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 310)
+* rl_editing_mode:                       Readline Variables.  (line 318)
 * rl_empty_keymap:                       Keymaps.             (line  33)
 * rl_end:                                Readline Variables.  (line  18)
-* rl_end_undo_group:                     Allowing Undoing.    (line  34)
-* rl_eof_found:                          Readline Variables.  (line  33)
-* rl_erase_empty_line:                   Readline Variables.  (line  53)
-* rl_event_hook:                         Readline Variables.  (line 130)
+* 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 211)
-* rl_executing_keymap:                   Readline Variables.  (line 200)
-* rl_executing_keyseq:                   Readline Variables.  (line 215)
-* rl_executing_macro:                    Readline Variables.  (line 208)
+* 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 301)
-* rl_extend_line_buffer:                 Utility Functions.   (line  26)
+* rl_explicit_arg:                       Readline Variables.  (line 308)
+* rl_extend_line_buffer:                 Utility Functions.   (line  21)
 * rl_filename_completion_desired:        Completion Variables.
-                                                              (line 253)
+                                                              (line 262)
 * rl_filename_completion_function:       Completion Functions.
                                                               (line  57)
 * rl_filename_dequoting_function:        Completion Variables.
-                                                              (line  36)
+                                                              (line  39)
 * rl_filename_quote_characters:          Completion Variables.
-                                                              (line 183)
+                                                              (line 190)
 * rl_filename_quoting_desired:           Completion Variables.
-                                                              (line 263)
+                                                              (line 272)
 * rl_filename_quoting_function:          Completion Variables.
-                                                              (line  23)
+                                                              (line  24)
 * rl_filename_rewrite_hook:              Completion Variables.
-                                                              (line 109)
+                                                              (line 111)
 * rl_filename_stat_hook:                 Completion Variables.
-                                                              (line  97)
+                                                              (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  44)
+* rl_free_undo_list:                     Allowing Undoing.    (line  45)
 * rl_full_quoting_desired:               Completion Variables.
-                                                              (line 273)
+                                                              (line 282)
 * rl_function_dumper:                    Associating Function Names and Bindings.
-                                                              (line  53)
+                                                              (line  54)
 * rl_function_of_keyseq:                 Associating Function Names and Bindings.
-                                                              (line  13)
+                                                              (line  14)
 * rl_function_of_keyseq_len:             Associating Function Names and Bindings.
-                                                              (line  22)
+                                                              (line  23)
 * rl_funmap_names:                       Associating Function Names and Bindings.
-                                                              (line  63)
-* rl_generic_bind:                       Binding Keys.        (line  87)
-* rl_get_keymap:                         Keymaps.             (line  40)
-* rl_get_keymap_by_name:                 Keymaps.             (line  46)
-* rl_get_keymap_name:                    Keymaps.             (line  51)
+                                                              (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  43)
+                                                              (line  44)
 * rl_getc:                               Character Input.     (line  14)
-* rl_getc_function:                      Readline Variables.  (line 135)
-* rl_gnu_readline_p:                     Readline Variables.  (line  89)
+* rl_getc_function:                      Readline Variables.  (line 142)
+* rl_gnu_readline_p:                     Readline Variables.  (line  94)
 * rl_ignore_completion_duplicates:       Completion Variables.
-                                                              (line 249)
+                                                              (line 258)
 * rl_ignore_some_completions_function:   Completion Variables.
-                                                              (line  55)
+                                                              (line  57)
 * rl_inhibit_completion:                 Completion Variables.
-                                                              (line 311)
-* rl_initialize:                         Utility Functions.   (line  30)
-* rl_input_available_hook:               Readline Variables.  (line 151)
+                                                              (line 320)
+* 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 103)
+* rl_instream:                           Readline Variables.  (line 110)
 * rl_invoking_keyseqs:                   Associating Function Names and Bindings.
-                                                              (line  37)
+                                                              (line  38)
 * rl_invoking_keyseqs_in_map:            Associating Function Names and Bindings.
-                                                              (line  41)
+                                                              (line  42)
 * rl_keep_mark_active:                   Miscellaneous Functions.
-                                                              (line  70)
-* rl_key_sequence_length:                Readline Variables.  (line 219)
+                                                              (line  73)
+* rl_key_sequence_length:                Readline Variables.  (line 226)
 * rl_kill_text:                          Modifying Text.      (line  18)
-* rl_last_func:                          Readline Variables.  (line 116)
-* rl_library_version:                    Readline Variables.  (line  79)
+* 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  59)
+                                                              (line  60)
 * rl_macro_bind:                         Miscellaneous Functions.
                                                               (line   6)
-* rl_macro_display_hook:                 Readline Variables.  (line 192)
+* 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  76)
+                                                              (line  79)
 * rl_message:                            Redisplay.           (line  42)
-* rl_modifying:                          Allowing Undoing.    (line  56)
+* rl_modifying:                          Allowing Undoing.    (line  58)
 * rl_named_function:                     Associating Function Names and Bindings.
                                                               (line  10)
-* rl_num_chars_to_read:                  Readline Variables.  (line  38)
-* rl_numeric_arg:                        Readline Variables.  (line 305)
+* rl_num_chars_to_read:                  Readline Variables.  (line  40)
+* rl_numeric_arg:                        Readline Variables.  (line 313)
 * rl_on_new_line:                        Redisplay.           (line  14)
 * rl_on_new_line_with_prompt:            Redisplay.           (line  18)
-* rl_outstream:                          Readline Variables.  (line 107)
-* rl_parse_and_bind:                     Binding Keys.        (line  95)
-* rl_pending_input:                      Readline Variables.  (line  43)
+* rl_outstream:                          Readline Variables.  (line 114)
+* rl_parse_and_bind:                     Binding Keys.        (line  97)
+* rl_pending_input:                      Readline Variables.  (line  45)
 * rl_pending_signal:                     Readline Signal Handling.
                                                               (line 102)
 * rl_persistent_signal_handlers:         Readline Signal Handling.
@@ -5251,24 +5290,24 @@ Function and Variable Index
 * rl_point:                              Readline Variables.  (line  14)
 * rl_possible_completions:               Completion Functions.
                                                               (line  27)
-* rl_pre_input_hook:                     Readline Variables.  (line 125)
-* rl_prefer_env_winsize:                 Readline Variables.  (line 111)
-* rl_prep_term_function:                 Readline Variables.  (line 179)
+* 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  46)
-* rl_prompt:                             Readline Variables.  (line  59)
-* rl_push_macro_input:                   Modifying Text.      (line  25)
-* rl_read_init_file:                     Binding Keys.        (line 100)
+                                                              (line  47)
+* rl_prompt:                             Readline Variables.  (line  61)
+* rl_push_macro_input:                   Modifying Text.      (line  30)
+* rl_read_init_file:                     Binding Keys.        (line 102)
 * rl_read_key:                           Character Input.     (line   6)
-* rl_readline_name:                      Readline Variables.  (line  98)
-* rl_readline_state:                     Readline Variables.  (line 222)
-* rl_readline_version:                   Readline Variables.  (line  82)
+* 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 173)
+* rl_redisplay_function:                 Readline Variables.  (line 180)
 * rl_reparse_colors:                     Miscellaneous Functions.
-                                                              (line  51)
-* rl_replace_line:                       Utility Functions.   (line  21)
+                                                              (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)
@@ -5281,49 +5320,49 @@ Function and Variable Index
 * 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  71)
+* rl_set_key:                            Binding Keys.        (line  72)
 * rl_set_keyboard_input_timeout:         Character Input.     (line  34)
-* rl_set_keymap:                         Keymaps.             (line  43)
-* rl_set_keymap_name:                    Keymaps.             (line  56)
+* rl_set_keymap:                         Keymaps.             (line  44)
+* rl_set_keymap_name:                    Keymaps.             (line  57)
 * rl_set_paren_blink_timeout:            Miscellaneous Functions.
-                                                              (line  38)
-* rl_set_prompt:                         Redisplay.           (line  80)
+                                                              (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 143)
+* rl_signal_event_hook:                  Readline Variables.  (line 149)
 * rl_sort_completion_matches:            Completion Variables.
-                                                              (line 289)
+                                                              (line 298)
 * rl_special_prefixes:                   Completion Variables.
-                                                              (line 188)
-* rl_startup_hook:                       Readline Variables.  (line 121)
+                                                              (line 195)
+* rl_startup_hook:                       Readline Variables.  (line 128)
 * rl_stuff_char:                         Character Input.     (line  18)
-* rl_terminal_name:                      Readline Variables.  (line  93)
-* rl_timeout_event_hook:                 Readline Variables.  (line 147)
+* 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  29)
+                                                              (line  30)
 * rl_tty_set_default_bindings:           Terminal Management. (line  17)
 * rl_tty_set_echoing:                    Terminal Management. (line  27)
 * rl_tty_unset_default_bindings:         Terminal Management. (line  22)
-* rl_unbind_command_in_map:              Binding Keys.        (line  53)
-* rl_unbind_function_in_map:             Binding Keys.        (line  49)
+* 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  45)
+* 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  32)
+                                                              (line  33)
 * rl_variable_value:                     Miscellaneous Functions.
-                                                              (line  27)
+                                                              (line  28)
 * search-ignore-case:                    Readline Init File Syntax.
                                                               (line 351)
-* self-insert (a, b, A, 1, !, ...):      Commands For Text.   (line  34)
+* self-insert (a, b, A, 1, !, ...):      Commands For Text.   (line  35)
 * set-mark (C-@):                        Miscellaneous Commands.
                                                               (line  33)
 * show-all-if-ambiguous:                 Readline Init File Syntax.
@@ -5337,11 +5376,11 @@ Function and Variable Index
 * 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)
+* tab-insert (M-<TAB>):                  Commands For Text.   (line  32)
 * 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)
+* transpose-chars (C-t):                 Commands For Text.   (line  50)
+* transpose-words (M-t):                 Commands For Text.   (line  56)
 * undo (C-_ or C-x C-u):                 Miscellaneous Commands.
                                                               (line  23)
 * universal-argument ():                 Numeric Arguments.   (line  10)
@@ -5351,7 +5390,7 @@ Function and Variable Index
                                                               (line  16)
 * unix-word-rubout (C-w):                Commands For Killing.
                                                               (line  32)
-* upcase-word (M-u):                     Commands For Text.   (line  60)
+* upcase-word (M-u):                     Commands For Text.   (line  61)
 * vi-cmd-mode-string:                    Readline Init File Syntax.
                                                               (line 390)
 * vi-editing-mode (M-C-j):               Miscellaneous Commands.
@@ -5375,56 +5414,56 @@ Tag Table:
 Node: Top\7f863
 Node: Command Line Editing\7f1588
 Node: Introduction and Notation\7f2240
-Node: Readline Interaction\7f4594
-Node: Readline Bare Essentials\7f5786
-Node: Readline Movement Commands\7f7598
-Node: Readline Killing Commands\7f8598
-Node: Readline Arguments\7f10625
-Node: Searching\7f11686
-Node: Readline Init File\7f13917
-Node: Readline Init File Syntax\7f15115
-Node: Conditional Init Constructs\7f41480
-Node: Sample Init File\7f45869
-Node: Bindable Readline Commands\7f48994
-Node: Commands For Moving\7f50312
-Node: Commands For History\7f52242
-Node: Commands For Text\7f57447
-Node: Commands For Killing\7f61226
-Node: Numeric Arguments\7f63682
-Node: Commands For Completion\7f64838
-Node: Keyboard Macros\7f66925
-Node: Miscellaneous Commands\7f67630
-Node: Readline vi Mode\7f71954
-Node: Programming with GNU Readline\7f73851
-Node: Basic Behavior\7f74837
-Node: Custom Functions\7f78823
-Node: Readline Typedefs\7f80342
-Node: Function Writing\7f82068
-Node: Readline Variables\7f83386
-Node: Readline Convenience Functions\7f97874
-Node: Function Naming\7f98950
-Node: Keymaps\7f100220
-Node: Binding Keys\7f103327
-Node: Associating Function Names and Bindings\7f107931
-Node: Allowing Undoing\7f111572
-Node: Redisplay\7f114194
-Node: Modifying Text\7f118349
-Node: Character Input\7f119600
-Node: Terminal Management\7f122749
-Node: Utility Functions\7f124608
-Node: Miscellaneous Functions\7f128004
-Node: Alternate Interface\7f131728
-Node: A Readline Example\7f134518
-Node: Alternate Interface Example\7f136445
-Node: Readline Signal Handling\7f140064
-Node: Custom Completers\7f149605
-Node: How Completing Works\7f150325
-Node: Completion Functions\7f153700
-Node: Completion Variables\7f157370
-Node: A Short Completion Example\7f175002
-Node: GNU Free Documentation License\7f187675
-Node: Concept Index\7f212852
-Node: Function and Variable Index\7f214373
+Node: Readline Interaction\7f4596
+Node: Readline Bare Essentials\7f5788
+Node: Readline Movement Commands\7f7600
+Node: Readline Killing Commands\7f8600
+Node: Readline Arguments\7f10627
+Node: Searching\7f11688
+Node: Readline Init File\7f13919
+Node: Readline Init File Syntax\7f15117
+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 2c79c2037f99c3065f14ba3fcc23b4b4234fce58..6161743bd065a2e0f23f787da41e8adb3b806c70 100644 (file)
Binary files a/doc/readline.pdf and b/doc/readline.pdf differ
index 907edcdc06e108dc88bb4f3eda21663cc4b939a1..b37cb36d13173c3bfe3de140deef28276dcd7546 100644 (file)
@@ -1,8 +1,8 @@
 %!PS-Adobe-2.0
 %%Creator: dvips(k) 2024.1 (TeX Live 2024)  Copyright 2024 Radical Eye Software
 %%Title: readline.dvi
-%%CreationDate: Fri Oct 11 13:24:25 2024
-%%Pages: 87
+%%CreationDate: Fri Nov  1 21:48:38 2024
+%%Pages: 88
 %%PageOrder: Ascend
 %%BoundingBox: 0 0 612 792
 %%DocumentFonts: CMBX12 CMR10 CMTT10 CMSY10 CMMI12 CMMI10 CMCSC10
@@ -12,7 +12,7 @@
 %DVIPSWebPage: (www.radicaleye.com)
 %DVIPSCommandLine: dvips -D 600 -t letter -o readline.ps readline.dvi
 %DVIPSParameters: dpi=600
-%DVIPSSource:  TeX output 2024.10.11:0924
+%DVIPSSource:  TeX output 2024.11.01:1748
 %%BeginProcSet: tex.pro 0 0
 %!
 /TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S
@@ -6667,8 +6667,8 @@ rf /Fp 135[85 117 1[90 63 64 66 1[90 81 90 134 45 2[45
 rf /Fr 134[71 71 97 71 75 52 53 55 1[75 67 75 112 37
 2[37 75 67 41 61 75 60 75 65 7[102 1[139 102 103 94 75
 100 101 92 101 105 128 81 105 1[50 105 106 85 88 103
-97 96 102 6[37 67 67 67 67 67 67 67 67 67 67 1[37 1[37
-44[{}58 119.552 /CMBX12 rf /Fs 129[48 48 48 48 48 48
+97 96 102 6[37 1[67 67 67 67 67 67 67 67 67 1[37 1[37
+44[{}57 119.552 /CMBX12 rf /Fs 129[48 48 48 48 48 48
 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48
 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48
 48 48 48 48 48 48 48 48 48 48 1[48 48 48 48 48 48 48
@@ -6704,12 +6704,12 @@ b(,)46 b(Case)g(W)-11 b(estern)46 b(Reserv)l(e)g(Univ)l(ersit)l(y)150
 -11 b(oundation)p 150 5141 3600 17 v eop end
 %%Page: 2 2
 TeXDict begin 2 1 bop 150 4413 a Ft(This)28 b(man)m(ual)i(describ)s(es)
-e(the)i(GNU)f(Readline)h(Library)e(\(v)m(ersion)i(8.3,)h(10)f(Octob)s
+e(the)i(GNU)f(Readline)h(Library)e(\(v)m(ersion)i(8.3,)h(15)f(Octob)s
 (er)f(2024\),)j(a)d(library)150 4523 y(whic)m(h)39 b(aids)g(in)g(the)g
 (consistency)h(of)g(user)e(in)m(terface)j(across)f(discrete)g(programs)
 e(whic)m(h)h(pro)m(vide)h(a)150 4633 y(command)30 b(line)h(in)m
 (terface.)150 4767 y(Cop)m(yrigh)m(t)602 4764 y(c)577
-4767 y Fq(\015)f Ft(1988{2022)35 b(F)-8 b(ree)31 b(Soft)m(w)m(are)h(F)
+4767 y Fq(\015)f Ft(1988{2024)35 b(F)-8 b(ree)31 b(Soft)m(w)m(are)h(F)
 -8 b(oundation,)31 b(Inc.)390 4902 y(P)m(ermission)21
 b(is)f(gran)m(ted)h(to)g(cop)m(y)-8 b(,)24 b(distribute)c(and/or)h(mo)s
 (dify)e(this)i(do)s(cumen)m(t)f(under)f(the)390 5011
@@ -6785,13 +6785,13 @@ b(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
 y(1.4.6)93 b(Letting)31 b(Readline)g(T)m(yp)s(e)f(F)-8
 b(or)31 b(Y)-8 b(ou)22 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(:)35
-b Ft(23)399 2759 y(1.4.7)93 b(Keyb)s(oard)29 b(Macros)11
+b Ft(24)399 2759 y(1.4.7)93 b(Keyb)s(oard)29 b(Macros)11
 b Fn(:)17 b(:)e(:)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(:)24 b Ft(24)399 2868 y(1.4.8)93
 b(Some)30 b(Miscellaneous)j(Commands)16 b Fn(:)e(:)h(:)h(:)f(:)h(:)f(:)
 g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
-(:)h(:)f(:)29 b Ft(24)275 2978 y(1.5)92 b(Readline)31
+(:)h(:)f(:)29 b Ft(25)275 2978 y(1.5)92 b(Readline)31
 b(vi)f(Mo)s(de)10 b Fn(:)16 b(:)f(:)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(:)f(:)g(:)h(:)23
@@ -6811,7 +6811,7 @@ f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h
 (:)30 b Ft(29)399 3694 y(2.2.2)93 b(W)-8 b(riting)31
 b(a)g(New)g(F)-8 b(unction)24 b Fn(:)16 b(:)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(:)37 b Ft(29)275 3804 y(2.3)92
+h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)37 b Ft(30)275 3804 y(2.3)92
 b(Readline)31 b(V)-8 b(ariables)11 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(:)h(:)f
@@ -6868,7 +6868,7 @@ b Ft(48)p eop end
 TeXDict begin -2 3 bop 3699 -116 a Ft(ii)399 83 y(2.4.14)93
 b(Alternate)32 b(In)m(terface)g(Example)18 b Fn(:)e(:)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 Ft(49)275 193 y(2.5)92 b(Readline)31
+f(:)g(:)h(:)f(:)h(:)31 b Ft(50)275 193 y(2.5)92 b(Readline)31
 b(Signal)f(Handling)18 b Fn(:)e(:)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(:)31 b Ft(52)275 302
@@ -6888,79 +6888,79 @@ f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)31 b
 Ft(57)399 741 y(2.6.4)93 b(A)30 b(Short)g(Completion)h(Example)15
 b Fn(:)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(:)28 b
-Ft(62)150 991 y Fr(App)t(endix)44 b(A)119 b(GNU)39 b(F)-11
+Ft(63)150 991 y Fr(App)t(endix)44 b(A)119 b(GNU)39 b(F)-11
 b(ree)38 b(Do)t(cumen)l(tation)i(License)25 b Fo(:)20
-b(:)32 b Fr(71)150 1269 y(Concept)45 b(Index)36 b Fo(:)19
+b(:)32 b Fr(72)150 1269 y(Concept)45 b(Index)36 b Fo(:)19
 b(:)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(:)h(:)f(:)g(:)
-h(:)49 b Fr(79)150 1548 y(F)-11 b(unction)44 b(and)h(V)-11
+h(:)49 b Fr(80)150 1548 y(F)-11 b(unction)44 b(and)h(V)-11
 b(ariable)45 b(Index)20 b Fo(:)g(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)
-f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)33 b Fr(80)p
+f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)33 b Fr(81)p
 eop end
 %%Page: 1 5
 TeXDict begin 1 4 bop 3705 -116 a Ft(1)150 299 y Fp(1)80
-b(Command)54 b(Line)f(Editing)150 597 y Ft(This)30 b(c)m(hapter)h
+b(Command)54 b(Line)f(Editing)150 574 y Ft(This)30 b(c)m(hapter)h
 (describ)s(es)e(the)i(basic)g(features)f(of)h(the)f Fm(gnu)g
-Ft(command)h(line)f(editing)h(in)m(terface.)150 870 y
+Ft(command)h(line)f(editing)h(in)m(terface.)150 835 y
 Fr(1.1)68 b(In)l(tro)t(duction)45 b(to)g(Line)h(Editing)150
-1030 y Ft(The)30 b(follo)m(wing)i(paragraphs)d(describ)s(e)h(the)h
-(notation)g(used)f(to)h(represen)m(t)f(k)m(eystrok)m(es.)275
-1186 y(The)35 b(text)i Fl(C-k)f Ft(is)g(read)g(as)h(`Con)m(trol-K')g
-(and)f(describ)s(es)f(the)h(c)m(haracter)i(pro)s(duced)d(when)g(the)h
-Fs(k)150 1295 y Ft(k)m(ey)31 b(is)g(pressed)e(while)h(the)h(Con)m(trol)
-g(k)m(ey)g(is)g(depressed.)275 1451 y(The)g(text)i Fl(M-k)e
-Ft(is)h(read)f(as)i(`Meta-K')g(and)f(describ)s(es)f(the)h(c)m(haracter)
-h(pro)s(duced)e(when)f(the)i(Meta)150 1561 y(k)m(ey)g(\(if)g(y)m(ou)f
-(ha)m(v)m(e)i(one\))e(is)h(depressed,)e(and)h(the)g Fs(k)g
-Ft(k)m(ey)h(is)g(pressed)e(\(a)i Fk(meta)g(c)m(haracter)7
-b Ft(\).)45 b(The)30 b(Meta)150 1670 y(k)m(ey)35 b(is)f(lab)s(eled)h
-Fs(ALT)e Ft(on)h(man)m(y)g(k)m(eyb)s(oards.)52 b(On)33
-b(k)m(eyb)s(oards)h(with)g(t)m(w)m(o)h(k)m(eys)g(lab)s(eled)g
-Fs(ALT)e Ft(\(usually)150 1780 y(to)f(either)g(side)g(of)f(the)h(space)
-g(bar\),)g(the)g Fs(ALT)f Ft(on)g(the)h(left)g(side)f(is)h(generally)h
-(set)f(to)g(w)m(ork)g(as)g(a)f(Meta)150 1890 y(k)m(ey)-8
-b(.)59 b(The)35 b Fs(ALT)g Ft(k)m(ey)i(on)e(the)i(righ)m(t)f(ma)m(y)h
-(also)f(b)s(e)g(con\014gured)f(to)i(w)m(ork)f(as)g(a)g(Meta)h(k)m(ey)g
-(or)f(ma)m(y)h(b)s(e)150 1999 y(con\014gured)30 b(as)g(some)h(other)g
-(mo)s(di\014er,)e(suc)m(h)h(as)h(a)g(Comp)s(ose)f(k)m(ey)h(for)f(t)m
-(yping)h(accen)m(ted)h(c)m(haracters.)275 2155 y(On)j(some)j(k)m(eyb)s
-(oards,)g(the)f(Meta)h(k)m(ey)g(mo)s(di\014er)d(pro)s(duces)h(meta)h(c)
-m(haracters)i(with)d(the)h(eigh)m(th)150 2265 y(bit)26
-b(\(0200\))j(set.)40 b(Y)-8 b(ou)26 b(can)h(use)f(the)g
-Fs(enable-meta-key)c Ft(v)-5 b(ariable)27 b(to)g(con)m(trol)g(whether)f
-(or)g(not)h(it)f(do)s(es)150 2374 y(this,)i(if)g(the)g(k)m(eyb)s(oard)f
-(allo)m(ws)i(it.)41 b(On)26 b(man)m(y)i(others,)h(the)f(terminal)g(or)f
-(terminal)i(em)m(ulator)f(con)m(v)m(erts)150 2484 y(the)h(meta\014ed)g
-(k)m(ey)g(to)h(a)f(k)m(ey)g(sequence)g(b)s(eginning)f(with)h
-Fs(ESC)f Ft(as)g(describ)s(ed)g(in)g(the)h(next)g(paragraph.)275
-2640 y(If)k(y)m(ou)i(do)f(not)g(ha)m(v)m(e)h(a)g(Meta)h(or)e
+995 y Ft(The)j(follo)m(wing)j(paragraphs)d(use)h(Emacs)g(st)m(yle)h(to)
+g(describ)s(e)f(the)g(notation)h(used)e(to)i(represen)m(t)150
+1104 y(k)m(eystrok)m(es.)275 1252 y(The)35 b(text)i Fl(C-k)f
+Ft(is)g(read)g(as)h(`Con)m(trol-K')g(and)f(describ)s(es)f(the)h(c)m
+(haracter)i(pro)s(duced)d(when)g(the)h Fs(k)150 1362
+y Ft(k)m(ey)31 b(is)g(pressed)e(while)h(the)h(Con)m(trol)g(k)m(ey)g(is)
+g(depressed.)275 1510 y(The)g(text)i Fl(M-k)e Ft(is)h(read)f(as)i
+(`Meta-K')g(and)f(describ)s(es)f(the)h(c)m(haracter)h(pro)s(duced)e
+(when)f(the)i(Meta)150 1620 y(k)m(ey)h(\(if)f(y)m(ou)g(ha)m(v)m(e)h
+(one\))g(is)f(depressed,)f(and)g(the)i Fs(k)e Ft(k)m(ey)i(is)f(pressed)
+f(\(a)h Fk(meta)h(c)m(haracter)7 b Ft(\),)34 b(then)e(b)s(oth)150
+1729 y(are)k(released.)56 b(The)35 b(Meta)i(k)m(ey)f(is)f(lab)s(eled)h
+Fs(ALT)e Ft(or)h Fs(Option)f Ft(on)h(man)m(y)h(k)m(eyb)s(oards.)55
+b(On)34 b(k)m(eyb)s(oards)150 1839 y(with)c(t)m(w)m(o)h(k)m(eys)f(lab)s
+(eled)g Fs(ALT)f Ft(\(usually)h(to)g(either)h(side)e(of)h(the)g(space)h
+(bar\),)f(the)g Fs(ALT)f Ft(on)g(the)h(left)h(side)150
+1948 y(is)d(generally)h(set)g(to)f(w)m(ork)g(as)g(a)h(Meta)g(k)m(ey)-8
+b(.)41 b(One)28 b(of)g(the)g Fs(ALT)f Ft(k)m(eys)h(ma)m(y)h(also)g(b)s
+(e)e(con\014gured)g(as)i(some)150 2058 y(other)i(mo)s(di\014er,)e(suc)m
+(h)h(as)h(a)g(Comp)s(ose)f(k)m(ey)h(for)f(t)m(yping)h(accen)m(ted)h(c)m
+(haracters.)275 2206 y(On)42 b(some)j(k)m(eyb)s(oards,)i(the)d(Meta)h
+(k)m(ey)f(mo)s(di\014er)f(pro)s(duces)g(c)m(haracters)i(with)e(the)h
+(eigh)m(th)h(bit)150 2316 y(\(0200\))38 b(set.)56 b(Y)-8
+b(ou)36 b(can)g(use)f(the)h Fs(enable-meta-key)31 b Ft(v)-5
+b(ariable)36 b(to)g(con)m(trol)h(whether)e(or)h(not)f(it)h(do)s(es)150
+2425 y(this,)28 b(if)g(the)g(k)m(eyb)s(oard)f(allo)m(ws)i(it.)41
+b(On)26 b(man)m(y)i(others,)h(the)f(terminal)g(or)f(terminal)i(em)m
+(ulator)f(con)m(v)m(erts)150 2535 y(the)h(meta\014ed)g(k)m(ey)g(to)h(a)
+f(k)m(ey)g(sequence)g(b)s(eginning)f(with)h Fs(ESC)f
+Ft(as)g(describ)s(ed)g(in)g(the)h(next)g(paragraph.)275
+2683 y(If)k(y)m(ou)i(do)f(not)g(ha)m(v)m(e)h(a)g(Meta)h(or)e
 Fs(ALT)f Ft(k)m(ey)-8 b(,)36 b(or)e(another)h(k)m(ey)g(w)m(orking)f(as)
-h(a)f(Meta)i(k)m(ey)-8 b(,)36 b(y)m(ou)f(can)150 2750
+h(a)f(Meta)i(k)m(ey)-8 b(,)36 b(y)m(ou)f(can)150 2793
 y(generally)28 b(ac)m(hiev)m(e)h(the)f(latter)g(e\013ect)g(b)m(y)f(t)m
 (yping)h Fs(ESC)e Fj(\014rst)p Ft(,)i(and)f(then)f(t)m(yping)i
 Fs(k)p Ft(.)39 b(The)26 b Fs(ESC)g Ft(c)m(haracter)150
-2859 y(is)k(kno)m(wn)g(as)h(the)f Fk(meta)i(pre\014x)6
-b Ft(\).)275 3015 y(Either)30 b(pro)s(cess)g(is)g(kno)m(wn)g(as)h
+2902 y(is)k(kno)m(wn)g(as)h(the)f Fk(meta)i(pre\014x)6
+b Ft(\).)275 3050 y(Either)30 b(pro)s(cess)g(is)g(kno)m(wn)g(as)h
 Fk(metafying)39 b Ft(the)30 b Fs(k)g Ft(k)m(ey)-8 b(.)275
-3171 y(If)24 b(y)m(our)i(Meta)g(k)m(ey)h(pro)s(duces)d(a)h(k)m(ey)h
+3198 y(If)24 b(y)m(our)i(Meta)g(k)m(ey)h(pro)s(duces)d(a)h(k)m(ey)h
 (sequence)g(with)f(the)h Fs(ESC)e Ft(meta)i(pre\014x,)g(y)m(ou)f(can)h
-(mak)m(e)g Fl(M-key)150 3281 y Ft(k)m(ey)40 b(bindings)e(y)m(ou)i(sp)s
+(mak)m(e)g Fl(M-key)150 3308 y Ft(k)m(ey)40 b(bindings)e(y)m(ou)i(sp)s
 (ecify)f(\(see)i Fs(Key)29 b(Bindings)37 b Ft(in)i(Section)i(1.3.1)g
-([Readline)f(Init)g(File)g(Syn)m(tax],)150 3390 y(page)31
+([Readline)f(Init)g(File)g(Syn)m(tax],)150 3418 y(page)31
 b(4\))g(do)f(the)h(same)g(thing)f(b)m(y)g(setting)i(the)f
-Fs(force-meta-prefix)25 b Ft(v)-5 b(ariable.)275 3546
+Fs(force-meta-prefix)25 b Ft(v)-5 b(ariable.)275 3566
 y(The)39 b(text)j Fl(M-C-k)d Ft(is)h(read)g(as)h(`Meta-Con)m(trol-k')j
 (and)39 b(describ)s(es)h(the)g(c)m(haracter)i(pro)s(duced)d(b)m(y)150
-3656 y(metafying)31 b Fl(C-k)p Ft(.)275 3812 y(In)k(addition,)j(sev)m
+3675 y(metafying)31 b Fl(C-k)p Ft(.)275 3823 y(In)k(addition,)j(sev)m
 (eral)f(k)m(eys)g(ha)m(v)m(e)g(their)f(o)m(wn)g(names.)58
 b(Sp)s(eci\014cally)-8 b(,)38 b Fs(DEL)p Ft(,)f Fs(ESC)p
 Ft(,)g Fs(LFD)p Ft(,)g Fs(SPC)p Ft(,)g Fs(RET)p Ft(,)150
-3921 y(and)d Fs(TAB)f Ft(all)j(stand)e(for)g(themselv)m(es)i(when)d
+3933 y(and)d Fs(TAB)f Ft(all)j(stand)e(for)g(themselv)m(es)i(when)d
 (seen)i(in)f(this)g(text,)j(or)d(in)h(an)f(init)h(\014le)f(\(see)i
-(Section)f(1.3)150 4031 y([Readline)e(Init)g(File],)h(page)f(4\).)48
+(Section)f(1.3)150 4043 y([Readline)e(Init)g(File],)h(page)f(4\).)48
 b(If)32 b(y)m(our)g(k)m(eyb)s(oard)g(lac)m(ks)i(a)f Fs(LFD)e
 Ft(k)m(ey)-8 b(,)35 b(t)m(yping)d Fs(C-j)g Ft(will)h(output)f(the)150
-4140 y(appropriate)e(c)m(haracter.)43 b(The)30 b Fs(RET)f
+4152 y(appropriate)e(c)m(haracter.)43 b(The)30 b Fs(RET)f
 Ft(k)m(ey)i(ma)m(y)g(b)s(e)f(lab)s(eled)h Fs(Return)d
 Ft(or)j Fs(Enter)d Ft(on)j(some)g(k)m(eyb)s(oards.)150
 4413 y Fr(1.2)68 b(Readline)47 b(In)l(teraction)150 4573
@@ -7194,7 +7194,7 @@ b(.)39 b(The)23 b(name)h(of)f(this)h(\014le)f(is)g(tak)m(en)i(from)e
 b(ariable)25 b Fs(INPUTRC)p Ft(.)150 3365 y(If)30 b(that)g(v)-5
 b(ariable)31 b(is)f(unset,)g(the)h(default)f(is)g Fs(~/.inputrc)p
 Ft(.)38 b(If)30 b(that)g(\014le)h(do)s(es)e(not)i(exist)g(or)f(cannot)h
-(b)s(e)150 3475 y(read,)g(readline)f(lo)s(oks)h(for)f
+(b)s(e)150 3475 y(read,)g(Readline)g(lo)s(oks)f(for)g
 Fs(/etc/inputrc)p Ft(.)275 3625 y(When)i(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 3735 y(and)d(sets)h(an)m(y)f(v)-5
@@ -7348,8 +7348,8 @@ b(is)f(`)p Fs(off)p Ft('.)630 4299 y Fs(completion-prefix-displa)o
 (y-le)o(ngth)1110 4408 y Ft(The)24 b(maxim)m(um)g(length)h(in)f(c)m
 (haracters)i(of)f(the)f(common)h(pre\014x)e(of)i(a)g(list)g(of)1110
 4518 y(p)s(ossible)i(completions)h(that)g(is)g(displa)m(y)m(ed)g
-(without)f(mo)s(di\014cation.)40 b(When)1110 4628 y(set)29
-b(to)h(a)f(v)-5 b(alue)30 b(greater)g(than)e(zero,)j(readline)e
+(without)f(mo)s(di\014cation.)40 b(When)1110 4628 y(set)26
+b(to)h(a)f(v)-5 b(alue)26 b(greater)h(than)e(zero,)j(Readline)e
 (replaces)h(common)f(pre\014xes)1110 4737 y(longer)46
 b(than)f(this)h(v)-5 b(alue)46 b(with)f(an)h(ellipsis)g(when)e(displa)m
 (ying)i(p)s(ossible)1110 4847 y(completions.)630 5011
@@ -7483,28 +7483,28 @@ f(binding)g(k)m(ey)h(se-)1110 3842 y(quences)22 b(con)m(taining)i
 Fl(\\M-)e Ft(or)h Fs(Meta-)e Ft(\(see)i Fs(Key)29 b(Bindings)21
 b Ft(in)h(Section)h(1.3.1)1110 3952 y([Readline)36 b(Init)f(File)i(Syn)
 m(tax],)g(page)f(4\))g(b)m(y)g(con)m(v)m(erting)h(a)e(k)m(ey)i
-(sequence)1110 4061 y(of)d(the)g(form)f Fl(\\M-)p Fk(C)41
-b Ft(or)34 b Fs(Meta-)p Fk(C)39 b Ft(to)c(the)f(t)m(w)m(o-c)m(haracter)
-j(sequence)d Fl(ESC)p Fk(C)1110 4171 y Ft(\(adding)23
-b(the)h(meta)g(pre\014x\).)38 b(If)23 b Fs(force-meta-prefix)18
-b Ft(is)24 b(set)f(to)h(`)p Fs(off)p Ft(')f(\(the)1110
-4281 y(default\),)35 b(Readline)f(uses)f(the)h(v)-5 b(alue)34
-b(of)g(the)g Fs(convert-meta)c Ft(v)-5 b(ariable)34 b(to)1110
-4390 y(determine)d(whether)g(to)h(p)s(erform)e(this)i(con)m(v)m
-(ersion:)44 b(if)31 b Fs(convert-meta)d Ft(is)1110 4500
-y(`)p Fs(on)p Ft(',)23 b(Readline)f(p)s(erforms)e(the)i(con)m(v)m
-(ersion)g(describ)s(ed)f(ab)s(o)m(v)m(e;)k(if)d(it)g(is)f(`)p
-Fs(off)p Ft(',)1110 4609 y(Readline)33 b(con)m(v)m(erts)h
-Fk(C)41 b Ft(to)33 b(a)g(meta)h(c)m(haracter)g(b)m(y)f(setting)g(the)g
-(eigh)m(th)h(bit)1110 4719 y(\(0200\).)43 b(The)30 b(default)h(is)f(`)p
-Fs(off)p Ft('.)630 4902 y Fs(history-preserve-point)1110
-5011 y Ft(If)41 b(set)h(to)h(`)p Fs(on)p Ft(',)i(the)c(history)h(co)s
-(de)g(attempts)h(to)f(place)h(the)f(p)s(oin)m(t)f(\(the)1110
-5121 y(curren)m(t)35 b(cursor)g(p)s(osition\))g(at)h(the)g(same)f(lo)s
-(cation)i(on)e(eac)m(h)h(history)g(line)1110 5230 y(retriev)m(ed)h
-(with)f Fs(previous-history)c Ft(or)37 b Fs(next-history)p
-Ft(.)55 b(The)36 b(default)1110 5340 y(is)30 b(`)p Fs(off)p
-Ft('.)p eop end
+(sequence)1110 4061 y(of)k(the)h(form)e Fl(\\M-)p Fk(C)48
+b Ft(or)41 b Fs(Meta-)p Fk(C)48 b Ft(to)41 b(the)h(t)m(w)m(o-c)m
+(haracter)i(sequence)e Fl(ESC)1110 4171 y Fk(C)e Ft(\(adding)32
+b(the)g(meta)h(pre\014x\).)46 b(If)32 b Fs(force-meta-prefix)27
+b Ft(is)33 b(set)f(to)h(`)p Fs(off)p Ft(')1110 4281 y(\(the)25
+b(default\),)i(Readline)e(uses)f(the)h(v)-5 b(alue)25
+b(of)f(the)h Fs(convert-meta)c Ft(v)-5 b(ariable)1110
+4390 y(to)30 b(determine)f(whether)f(to)i(p)s(erform)d(this)i(con)m(v)m
+(ersion:)41 b(if)29 b Fs(convert-meta)1110 4500 y Ft(is)37
+b(`)p Fs(on)p Ft(',)i(Readline)f(p)s(erforms)d(the)j(con)m(v)m(ersion)g
+(describ)s(ed)e(ab)s(o)m(v)m(e;)42 b(if)37 b(it)h(is)1110
+4609 y(`)p Fs(off)p Ft(',)24 b(Readline)g(con)m(v)m(erts)g
+Fk(C)30 b Ft(to)23 b(a)h(meta)f(c)m(haracter)i(b)m(y)d(setting)i(the)f
+(eigh)m(th)1110 4719 y(bit)30 b(\(0200\).)44 b(The)29
+b(default)i(is)f(`)p Fs(off)p Ft('.)630 4902 y Fs
+(history-preserve-point)1110 5011 y Ft(If)41 b(set)h(to)h(`)p
+Fs(on)p Ft(',)i(the)c(history)h(co)s(de)g(attempts)h(to)f(place)h(the)f
+(p)s(oin)m(t)f(\(the)1110 5121 y(curren)m(t)35 b(cursor)g(p)s
+(osition\))g(at)h(the)g(same)f(lo)s(cation)i(on)e(eac)m(h)h(history)g
+(line)1110 5230 y(retriev)m(ed)h(with)f Fs(previous-history)c
+Ft(or)37 b Fs(next-history)p Ft(.)55 b(The)36 b(default)1110
+5340 y(is)30 b(`)p Fs(off)p Ft('.)p eop end
 %%Page: 9 13
 TeXDict begin 9 12 bop 150 -116 a Ft(Chapter)30 b(1:)41
 b(Command)29 b(Line)i(Editing)2153 b(9)630 299 y Fs(history-size)1110
@@ -7693,8 +7693,8 @@ b(is)f(`)p Fs(off)p Ft('.)630 3185 y Fs(skip-completed-text)1110
 (default)g(completion)h(b)s(eha)m(vior)f(when)f(in-)1110
 3404 y(serting)d(a)h(single)g(matc)m(h)f(in)m(to)h(the)g(line.)40
 b(It's)30 b(only)f(activ)m(e)i(when)d(p)s(erform-)1110
-3513 y(ing)35 b(completion)h(in)e(the)h(middle)f(of)h(a)f(w)m(ord.)53
-b(If)35 b(enabled,)g(readline)g(do)s(es)1110 3623 y(not)41
+3513 y(ing)k(completion)i(in)e(the)g(middle)g(of)g(a)h(w)m(ord.)46
+b(If)32 b(enabled,)g(Readline)h(do)s(es)1110 3623 y(not)41
 b(insert)f(c)m(haracters)i(from)e(the)h(completion)h(that)f(matc)m(h)g
 (c)m(haracters)1110 3733 y(after)c(p)s(oin)m(t)g(in)g(the)g(w)m(ord)f
 (b)s(eing)g(completed,)k(so)d(p)s(ortions)f(of)h(the)g(w)m(ord)1110
@@ -7787,11 +7787,12 @@ h(text)h(`)p Fs(>)1110 4472 y(output)p Ft(')29 b(in)m(to)i(the)g
 (recognizes)i(a)e(n)m(um)m(b)s(er)e(of)h(sym)m(b)s(olic)h(c)m(haracter)
 1110 4725 y(names:)43 b Fk(DEL)p Ft(,)32 b Fk(ESC)p Ft(,)f
 Fk(ESCAPE)p Ft(,)g Fk(LFD)p Ft(,)h Fk(NEWLINE)p Ft(,)h
-Fk(RET)p Ft(,)e Fk(RETURN)p Ft(,)1110 4834 y Fk(R)m(UBOUT)p
-Ft(,)g Fk(SP)-8 b(A)m(CE)p Ft(,)31 b Fk(SPC)p Ft(,)e(and)h
-Fk(T)-8 b(AB)p Ft(.)630 5011 y Fs(")p Fk(k)m(eyseq)r
-Fs(")p Ft(:)41 b Fk(function-name)36 b Ft(or)30 b Fk(macro)1110
-5121 y(k)m(eyseq)24 b Ft(di\013ers)c(from)g Fk(k)m(eyname)27
+Fk(RET)p Ft(,)e Fk(RETURN)p Ft(,)1110 4834 y Fk(R)m(UBOUT)37
+b Ft(\(a)31 b(destructiv)m(e)h(bac)m(kspace\),)g Fk(SP)-8
+b(A)m(CE)p Ft(,)31 b Fk(SPC)p Ft(,)e(and)h Fk(T)-8 b(AB)p
+Ft(.)630 5011 y Fs(")p Fk(k)m(eyseq)r Fs(")p Ft(:)41
+b Fk(function-name)36 b Ft(or)30 b Fk(macro)1110 5121
+y(k)m(eyseq)24 b Ft(di\013ers)c(from)g Fk(k)m(eyname)27
 b Ft(ab)s(o)m(v)m(e)22 b(in)e(that)h(strings)g(denoting)f(an)h(en)m
 (tire)1110 5230 y(k)m(ey)i(sequence)f(can)h(b)s(e)e(sp)s(eci\014ed,)j
 (b)m(y)e(placing)h(the)f(k)m(ey)h(sequence)g(in)e(double)1110
@@ -8033,574 +8034,576 @@ TeXDict begin 18 21 bop 150 -116 a Ft(Chapter)30 b(1:)41
 b(Command)29 b(Line)i(Editing)2107 b(18)390 299 y Fs(#)47
 b(For)g(FTP)390 408 y($if)g(Ftp)390 518 y("\\C-xg":)f("get)g(\\M-?")390
 628 y("\\C-xt":)g("put)g(\\M-?")390 737 y("\\M-.":)g(yank-last-arg)390
-847 y($endif)150 1083 y Fr(1.4)68 b(Bindable)45 b(Readline)i(Commands)
-150 1242 y Ft(This)25 b(section)i(describ)s(es)d(Readline)j(commands)e
+847 y($endif)150 1096 y Fr(1.4)68 b(Bindable)45 b(Readline)i(Commands)
+150 1255 y Ft(This)25 b(section)i(describ)s(es)d(Readline)j(commands)e
 (that)h(ma)m(y)g(b)s(e)f(b)s(ound)f(to)i(k)m(ey)h(sequences.)39
-b(Command)150 1352 y(names)30 b(without)h(an)f(accompan)m(ying)i(k)m
+b(Command)150 1365 y(names)30 b(without)h(an)f(accompan)m(ying)i(k)m
 (ey)f(sequence)g(are)g(un)m(b)s(ound)c(b)m(y)k(default.)275
-1484 y(In)25 b(the)h(follo)m(wing)i(descriptions,)f Fk(p)s(oin)m(t)h
+1505 y(In)25 b(the)h(follo)m(wing)i(descriptions,)f Fk(p)s(oin)m(t)h
 Ft(refers)e(to)h(the)f(curren)m(t)g(cursor)g(p)s(osition,)h(and)f
-Fk(mark)31 b Ft(refers)150 1593 y(to)24 b(a)g(cursor)f(p)s(osition)g
+Fk(mark)31 b Ft(refers)150 1614 y(to)24 b(a)g(cursor)f(p)s(osition)g
 (sa)m(v)m(ed)i(b)m(y)e(the)h Fs(set-mark)d Ft(command.)38
 b(The)23 b(text)h(b)s(et)m(w)m(een)g(the)g(p)s(oin)m(t)f(and)g(mark)150
-1703 y(is)31 b(referred)g(to)h(as)f(the)h Fk(region)p
+1724 y(is)31 b(referred)g(to)h(as)f(the)h Fk(region)p
 Ft(.)44 b(Readline)32 b(has)f(the)h(concept)g(of)f(an)h
 Fj(active)h(r)-5 b(e)g(gion)7 b Ft(:)44 b(when)30 b(the)h(region)150
-1812 y(is)d(activ)m(e,)i(Readline)f(redispla)m(y)f(uses)f(the)h(v)-5
-b(alue)28 b(of)g(the)g Fs(active-region-start-colo)o(r)22
-b Ft(v)-5 b(ariable)28 b(to)150 1922 y(denote)j(the)f(region.)42
-b(Sev)m(eral)31 b(commands)f(set)h(the)g(region)g(to)g(activ)m(e;)i
-(those)e(are)f(noted)h(b)s(elo)m(w.)150 2116 y Fi(1.4.1)63
-b(Commands)42 b(F)-10 b(or)41 b(Mo)m(ving)150 2286 y
-Fs(beginning-of-line)26 b(\(C-a\))630 2395 y Ft(Mo)m(v)m(e)k(to)e(the)g
+1834 y(is)k(activ)m(e,)k(Readline)c(redispla)m(y)h(highligh)m(ts)f(the)
+h(region)f(using)g(the)g(v)-5 b(alue)35 b(of)h(the)f
+Fs(active-region-)150 1943 y(start-color)26 b Ft(v)-5
+b(ariable.)41 b(The)29 b Fs(enable-active-region)24 b
+Ft(v)-5 b(ariable)30 b(turns)d(this)j(on)f(and)f(o\013.)41
+b(Sev)m(eral)150 2053 y(commands)30 b(set)h(the)f(region)h(to)h(activ)m
+(e;)g(those)f(are)g(noted)g(b)s(elo)m(w.)150 2258 y Fi(1.4.1)63
+b(Commands)42 b(F)-10 b(or)41 b(Mo)m(ving)150 2432 y
+Fs(beginning-of-line)26 b(\(C-a\))630 2542 y Ft(Mo)m(v)m(e)k(to)e(the)g
 (start)g(of)f(the)h(curren)m(t)f(line.)40 b(This)27 b(ma)m(y)h(also)h
-(b)s(e)e(b)s(ound)e(to)j(the)g(Home)g(k)m(ey)630 2505
-y(on)i(some)h(k)m(eyb)s(oards.)150 2660 y Fs(end-of-line)c(\(C-e\))630
-2769 y Ft(Mo)m(v)m(e)34 b(to)f(the)f(end)f(of)i(the)f(line.)46
+(b)s(e)e(b)s(ound)e(to)j(the)g(Home)g(k)m(ey)630 2651
+y(on)i(some)h(k)m(eyb)s(oards.)150 2816 y Fs(end-of-line)c(\(C-e\))630
+2926 y Ft(Mo)m(v)m(e)34 b(to)f(the)f(end)f(of)i(the)f(line.)46
 b(This)31 b(ma)m(y)i(also)g(b)s(e)e(b)s(ound)f(to)j(the)f(End)f(k)m(ey)
-i(on)f(some)630 2879 y(k)m(eyb)s(oards.)150 3033 y Fs(forward-char)27
-b(\(C-f\))630 3143 y Ft(Mo)m(v)m(e)32 b(forw)m(ard)e(a)h(c)m(haracter.)
-150 3297 y Fs(backward-char)c(\(C-b\))630 3407 y Ft(Mo)m(v)m(e)32
-b(bac)m(k)g(a)e(c)m(haracter.)150 3561 y Fs(forward-word)d(\(M-f\))630
-3671 y Ft(Mo)m(v)m(e)32 b(forw)m(ard)e(to)h(the)f(end)g(of)g(the)h
+i(on)f(some)630 3035 y(k)m(eyb)s(oards.)150 3200 y Fs(forward-char)27
+b(\(C-f\))630 3310 y Ft(Mo)m(v)m(e)32 b(forw)m(ard)e(a)h(c)m(haracter.)
+150 3475 y Fs(backward-char)c(\(C-b\))630 3584 y Ft(Mo)m(v)m(e)32
+b(bac)m(k)g(a)e(c)m(haracter.)150 3749 y Fs(forward-word)d(\(M-f\))630
+3859 y Ft(Mo)m(v)m(e)32 b(forw)m(ard)e(to)h(the)f(end)g(of)g(the)h
 (next)f(w)m(ord.)41 b(W)-8 b(ords)30 b(are)h(comp)s(osed)f(of)g
-(letters)i(and)630 3781 y(digits.)150 3935 y Fs(backward-word)27
-b(\(M-b\))630 4045 y Ft(Mo)m(v)m(e)36 b(bac)m(k)e(to)g(the)g(start)g
+(letters)i(and)630 3969 y(digits.)150 4133 y Fs(backward-word)27
+b(\(M-b\))630 4243 y Ft(Mo)m(v)m(e)36 b(bac)m(k)e(to)g(the)g(start)g
 (of)g(the)g(curren)m(t)f(or)g(previous)g(w)m(ord.)50
-b(W)-8 b(ords)34 b(are)g(comp)s(osed)630 4154 y(of)d(letters)g(and)f
-(digits.)150 4309 y Fs(previous-screen-line)25 b(\(\))630
-4418 y Ft(A)m(ttempt)41 b(to)g(mo)m(v)m(e)h(p)s(oin)m(t)e(to)h(the)f
+b(W)-8 b(ords)34 b(are)g(comp)s(osed)630 4353 y(of)d(letters)g(and)f
+(digits.)150 4518 y Fs(previous-screen-line)25 b(\(\))630
+4627 y Ft(A)m(ttempt)41 b(to)g(mo)m(v)m(e)h(p)s(oin)m(t)e(to)h(the)f
 (same)h(ph)m(ysical)g(screen)f(column)g(on)g(the)g(previous)630
-4528 y(ph)m(ysical)26 b(screen)f(line.)39 b(This)24 b(will)i(not)f(ha)m
+4737 y(ph)m(ysical)26 b(screen)f(line.)39 b(This)24 b(will)i(not)f(ha)m
 (v)m(e)h(the)f(desired)g(e\013ect)h(if)f(the)h(curren)m(t)e(Readline)
-630 4638 y(line)k(do)s(es)f(not)g(tak)m(e)i(up)d(more)i(than)f(one)g
+630 4846 y(line)k(do)s(es)f(not)g(tak)m(e)i(up)d(more)i(than)f(one)g
 (ph)m(ysical)h(line)g(or)f(if)g(p)s(oin)m(t)h(is)f(not)h(greater)g
-(than)630 4747 y(the)j(length)f(of)h(the)f(prompt)g(plus)f(the)i
-(screen)f(width.)150 4902 y Fs(next-screen-line)c(\(\))630
-5011 y Ft(A)m(ttempt)g(to)f(mo)m(v)m(e)i(p)s(oin)m(t)d(to)i(the)e(same)
+(than)630 4956 y(the)j(length)f(of)h(the)f(prompt)g(plus)f(the)i
+(screen)f(width.)150 5121 y Fs(next-screen-line)c(\(\))630
+5230 y Ft(A)m(ttempt)g(to)f(mo)m(v)m(e)i(p)s(oin)m(t)d(to)i(the)e(same)
 i(ph)m(ysical)f(screen)g(column)f(on)h(the)f(next)h(ph)m(ysical)630
-5121 y(screen)e(line.)39 b(This)23 b(will)g(not)h(ha)m(v)m(e)h(the)e
+5340 y(screen)e(line.)39 b(This)23 b(will)g(not)h(ha)m(v)m(e)h(the)e
 (desired)g(e\013ect)i(if)e(the)g(curren)m(t)h(Readline)g(line)f(do)s
-(es)630 5230 y(not)k(tak)m(e)i(up)e(more)g(than)g(one)g(ph)m(ysical)h
-(line)g(or)f(if)g(the)h(length)f(of)h(the)f(curren)m(t)g(Readline)630
-5340 y(line)k(is)f(not)h(greater)g(than)f(the)h(length)g(of)f(the)h
-(prompt)e(plus)h(the)g(screen)h(width.)p eop end
+(es)p eop end
 %%Page: 19 23
 TeXDict begin 19 22 bop 150 -116 a Ft(Chapter)30 b(1:)41
-b(Command)29 b(Line)i(Editing)2107 b(19)150 299 y Fs(clear-display)27
-b(\(M-C-l\))630 408 y Ft(Clear)33 b(the)g(screen)g(and,)h(if)e(p)s
+b(Command)29 b(Line)i(Editing)2107 b(19)630 299 y(not)27
+b(tak)m(e)i(up)e(more)g(than)g(one)g(ph)m(ysical)h(line)g(or)f(if)g
+(the)h(length)f(of)h(the)f(curren)m(t)g(Readline)630
+408 y(line)k(is)f(not)h(greater)g(than)f(the)h(length)g(of)f(the)h
+(prompt)e(plus)h(the)g(screen)h(width.)150 582 y Fs(clear-display)c
+(\(M-C-l\))630 692 y Ft(Clear)33 b(the)g(screen)g(and,)h(if)e(p)s
 (ossible,)i(the)f(terminal's)g(scrollbac)m(k)i(bu\013er,)e(then)f
-(redra)m(w)630 518 y(the)f(curren)m(t)f(line,)h(lea)m(ving)h(the)e
+(redra)m(w)630 801 y(the)f(curren)m(t)f(line,)h(lea)m(ving)h(the)e
 (curren)m(t)h(line)f(at)h(the)g(top)g(of)f(the)h(screen.)150
-674 y Fs(clear-screen)c(\(C-l\))630 784 y Ft(Clear)35
+975 y Fs(clear-screen)c(\(C-l\))630 1084 y Ft(Clear)35
 b(the)f(screen,)i(then)e(redra)m(w)g(the)h(curren)m(t)f(line,)i(lea)m
-(ving)g(the)f(curren)m(t)f(line)h(at)g(the)630 893 y(top)c(of)f(the)h
-(screen.)150 1049 y Fs(redraw-current-line)25 b(\(\))630
-1159 y Ft(Refresh)30 b(the)g(curren)m(t)h(line.)41 b(By)30
-b(default,)h(this)f(is)h(un)m(b)s(ound.)150 1355 y Fi(1.4.2)63
+(ving)g(the)f(curren)m(t)f(line)h(at)g(the)630 1194 y(top)c(of)f(the)h
+(screen.)150 1367 y Fs(redraw-current-line)25 b(\(\))630
+1477 y Ft(Refresh)30 b(the)g(curren)m(t)h(line.)41 b(By)30
+b(default,)h(this)f(is)h(un)m(b)s(ound.)150 1690 y Fi(1.4.2)63
 b(Commands)42 b(F)-10 b(or)41 b(Manipulating)h(The)f(History)150
-1525 y Fs(accept-line)27 b(\(Newline)h(or)i(Return\))630
-1634 y Ft(Accept)h(the)g(line)f(regardless)h(of)f(where)g(the)g(cursor)
+1869 y Fs(accept-line)27 b(\(Newline)h(or)i(Return\))630
+1979 y Ft(Accept)h(the)g(line)f(regardless)h(of)f(where)g(the)g(cursor)
 f(is.)41 b(If)30 b(this)g(line)g(is)h(non-empt)m(y)-8
-b(,)31 b(y)m(ou)630 1744 y(can)36 b(add)f(it)i(to)f(the)g(history)g
+b(,)31 b(y)m(ou)630 2089 y(can)36 b(add)f(it)i(to)f(the)g(history)g
 (list)h(using)e Fs(add_history\(\))p Ft(.)54 b(If)35
-b(this)h(line)g(is)g(a)g(mo)s(di\014ed)630 1854 y(history)30
+b(this)h(line)g(is)g(a)g(mo)s(di\014ed)630 2198 y(history)30
 b(line,)h(then)f(restore)h(the)g(history)f(line)h(to)g(its)g(original)g
-(state.)150 2010 y Fs(previous-history)26 b(\(C-p\))630
-2119 y Ft(Mo)m(v)m(e)32 b(`bac)m(k')g(through)e(the)g(history)h(list,)g
-(fetc)m(hing)g(the)g(previous)f(command.)150 2275 y Fs(next-history)d
-(\(C-n\))630 2385 y Ft(Mo)m(v)m(e)32 b(`forw)m(ard')f(through)e(the)i
+(state.)150 2372 y Fs(previous-history)26 b(\(C-p\))630
+2481 y Ft(Mo)m(v)m(e)32 b(`bac)m(k')g(through)e(the)g(history)h(list,)g
+(fetc)m(hing)g(the)g(previous)f(command.)150 2655 y Fs(next-history)d
+(\(C-n\))630 2764 y Ft(Mo)m(v)m(e)32 b(`forw)m(ard')f(through)e(the)i
 (history)f(list,)i(fetc)m(hing)f(the)g(next)f(command.)150
-2541 y Fs(beginning-of-history)25 b(\(M-<\))630 2650
+2938 y Fs(beginning-of-history)25 b(\(M-<\))630 3048
 y Ft(Mo)m(v)m(e)32 b(to)g(the)e(\014rst)g(line)g(in)h(the)f(history)-8
-b(.)150 2806 y Fs(end-of-history)26 b(\(M->\))630 2916
+b(.)150 3221 y Fs(end-of-history)26 b(\(M->\))630 3331
 y Ft(Mo)m(v)m(e)32 b(to)g(the)e(end)g(of)g(the)h(input)e(history)-8
 b(,)31 b(i.e.,)h(the)f(line)f(curren)m(tly)h(b)s(eing)f(en)m(tered.)150
-3072 y Fs(reverse-search-history)24 b(\(C-r\))630 3182
+3504 y Fs(reverse-search-history)24 b(\(C-r\))630 3614
 y Ft(Searc)m(h)31 b(bac)m(kw)m(ard)h(starting)g(at)g(the)f(curren)m(t)g
 (line)g(and)g(mo)m(ving)h(`up')e(through)h(the)g(his-)630
-3291 y(tory)26 b(as)h(necessary)-8 b(.)40 b(This)25 b(is)i(an)f
+3723 y(tory)26 b(as)h(necessary)-8 b(.)40 b(This)25 b(is)i(an)f
 (incremen)m(tal)h(searc)m(h.)40 b(This)25 b(command)h(sets)h(the)f
-(region)630 3401 y(to)31 b(the)g(matc)m(hed)g(text)g(and)f(activ)-5
-b(ates)33 b(the)d(region.)150 3557 y Fs(forward-search-history)24
-b(\(C-s\))630 3666 y Ft(Searc)m(h)44 b(forw)m(ard)f(starting)h(at)h
+(region)630 3833 y(to)31 b(the)g(matc)m(hed)g(text)g(and)f(activ)-5
+b(ates)33 b(the)d(region.)150 4007 y Fs(forward-search-history)24
+b(\(C-s\))630 4116 y Ft(Searc)m(h)44 b(forw)m(ard)f(starting)h(at)h
 (the)e(curren)m(t)h(line)g(and)f(mo)m(ving)h(`do)m(wn')g(through)f(the)
-630 3776 y(history)38 b(as)g(necessary)-8 b(.)65 b(This)38
+630 4226 y(history)38 b(as)g(necessary)-8 b(.)65 b(This)38
 b(is)g(an)g(incremen)m(tal)h(searc)m(h.)65 b(This)37
-b(command)h(sets)h(the)630 3886 y(region)31 b(to)g(the)g(matc)m(hed)g
+b(command)h(sets)h(the)630 4335 y(region)31 b(to)g(the)g(matc)m(hed)g
 (text)g(and)f(activ)-5 b(ates)33 b(the)d(region.)150
-4042 y Fs(non-incremental-reverse-)o(sear)o(ch-h)o(ist)o(ory)24
-b(\(M-p\))630 4151 y Ft(Searc)m(h)31 b(bac)m(kw)m(ard)h(starting)g(at)g
+4509 y Fs(non-incremental-reverse-)o(sear)o(ch-h)o(ist)o(ory)24
+b(\(M-p\))630 4618 y Ft(Searc)m(h)31 b(bac)m(kw)m(ard)h(starting)g(at)g
 (the)f(curren)m(t)g(line)g(and)g(mo)m(ving)h(`up')e(through)h(the)g
-(his-)630 4261 y(tory)36 b(as)g(necessary)h(using)e(a)i(non-incremen)m
+(his-)630 4728 y(tory)36 b(as)g(necessary)h(using)e(a)i(non-incremen)m
 (tal)g(searc)m(h)f(for)g(a)g(string)g(supplied)f(b)m(y)h(the)630
-4370 y(user.)k(The)30 b(searc)m(h)h(string)f(ma)m(y)h(matc)m(h)g(an)m
-(ywhere)g(in)f(a)h(history)f(line.)150 4526 y Fs
+4838 y(user.)k(The)30 b(searc)m(h)h(string)f(ma)m(y)h(matc)m(h)g(an)m
+(ywhere)g(in)f(a)h(history)f(line.)150 5011 y Fs
 (non-incremental-forward-)o(sear)o(ch-h)o(ist)o(ory)24
-b(\(M-n\))630 4636 y Ft(Searc)m(h)44 b(forw)m(ard)f(starting)h(at)h
+b(\(M-n\))630 5121 y Ft(Searc)m(h)44 b(forw)m(ard)f(starting)h(at)h
 (the)e(curren)m(t)h(line)g(and)f(mo)m(ving)h(`do)m(wn')g(through)f(the)
-630 4746 y(history)27 b(as)f(necessary)i(using)e(a)h(non-incremen)m
+630 5230 y(history)27 b(as)f(necessary)i(using)e(a)h(non-incremen)m
 (tal)g(searc)m(h)h(for)e(a)h(string)g(supplied)e(b)m(y)i(the)630
-4855 y(user.)40 b(The)30 b(searc)m(h)h(string)f(ma)m(y)h(matc)m(h)g(an)
-m(ywhere)g(in)f(a)h(history)f(line.)150 5011 y Fs
-(history-search-backward)24 b(\(\))630 5121 y Ft(Searc)m(h)35
-b(bac)m(kw)m(ard)g(through)f(the)h(history)g(for)g(the)f(string)h(of)g
-(c)m(haracters)h(b)s(et)m(w)m(een)g(the)630 5230 y(start)g(of)h(the)f
-(curren)m(t)f(line)i(and)e(the)h(p)s(oin)m(t.)58 b(The)35
-b(searc)m(h)i(string)e(m)m(ust)h(matc)m(h)h(at)g(the)630
-5340 y(b)s(eginning)44 b(of)g(a)h(history)g(line.)83
-b(This)44 b(is)g(a)h(non-incremen)m(tal)h(searc)m(h.)84
-b(By)44 b(default,)p eop end
+5340 y(user.)40 b(The)30 b(searc)m(h)h(string)f(ma)m(y)h(matc)m(h)g(an)
+m(ywhere)g(in)f(a)h(history)f(line.)p eop end
 %%Page: 20 24
 TeXDict begin 20 23 bop 150 -116 a Ft(Chapter)30 b(1:)41
-b(Command)29 b(Line)i(Editing)2107 b(20)630 299 y(this)32
-b(command)h(is)f(un)m(b)s(ound,)f(but)h(ma)m(y)h(b)s(e)f(b)s(ound)e(to)
-j(the)g(P)m(age)h(Do)m(wn)f(k)m(ey)g(on)g(some)630 408
-y(k)m(eyb)s(oards.)150 581 y Fs(history-search-forward)24
-b(\(\))630 690 y Ft(Searc)m(h)f(forw)m(ard)e(through)h(the)h(history)f
-(for)g(the)g(string)h(of)f(c)m(haracters)i(b)s(et)m(w)m(een)f(the)f
-(start)630 800 y(of)g(the)h(curren)m(t)f(line)g(and)g(the)g(p)s(oin)m
-(t.)38 b(The)22 b(searc)m(h)g(string)g(m)m(ust)g(matc)m(h)h(at)g(the)g
-(b)s(eginning)630 909 y(of)33 b(a)g(history)f(line.)48
-b(This)32 b(is)h(a)g(non-incremen)m(tal)h(searc)m(h.)48
-b(By)33 b(default,)h(this)e(command)630 1019 y(is)e(un)m(b)s(ound,)e
-(but)i(ma)m(y)h(b)s(e)f(b)s(ound)e(to)j(the)g(P)m(age)h(Up)e(k)m(ey)h
-(on)f(some)h(k)m(eyb)s(oards.)150 1191 y Fs(history-substring-search)o
-(-bac)o(kwar)o(d)24 b(\(\))630 1301 y Ft(Searc)m(h)35
+b(Command)29 b(Line)i(Editing)2107 b(20)150 299 y Fs
+(history-search-backward)24 b(\(\))630 408 y Ft(Searc)m(h)35
 b(bac)m(kw)m(ard)g(through)f(the)h(history)g(for)g(the)f(string)h(of)g
-(c)m(haracters)h(b)s(et)m(w)m(een)g(the)630 1410 y(start)29
-b(of)g(the)g(curren)m(t)g(line)g(and)f(the)h(p)s(oin)m(t.)40
-b(The)29 b(searc)m(h)g(string)g(ma)m(y)g(matc)m(h)h(an)m(ywhere)630
-1520 y(in)i(a)h(history)g(line.)47 b(This)32 b(is)g(a)h(non-incremen)m
-(tal)h(searc)m(h.)47 b(By)33 b(default,)h(this)e(command)630
-1630 y(is)e(un)m(b)s(ound.)150 1802 y Fs(history-substring-search)o
-(-for)o(ward)24 b(\(\))630 1911 y Ft(Searc)m(h)42 b(forw)m(ard)f
-(through)f(the)i(history)f(for)g(the)h(string)f(of)h(c)m(haracters)h(b)
-s(et)m(w)m(een)f(the)630 2021 y(start)29 b(of)g(the)g(curren)m(t)g
-(line)g(and)f(the)h(p)s(oin)m(t.)40 b(The)29 b(searc)m(h)g(string)g(ma)
-m(y)g(matc)m(h)h(an)m(ywhere)630 2131 y(in)i(a)h(history)g(line.)47
-b(This)32 b(is)g(a)h(non-incremen)m(tal)h(searc)m(h.)47
-b(By)33 b(default,)h(this)e(command)630 2240 y(is)e(un)m(b)s(ound.)150
-2412 y Fs(yank-nth-arg)d(\(M-C-y\))630 2522 y Ft(Insert)e(the)i
-(\014rst)e(argumen)m(t)h(to)h(the)f(previous)g(command)f(\(usually)h
-(the)g(second)g(w)m(ord)g(on)630 2632 y(the)k(previous)g(line\))g(at)h
-(p)s(oin)m(t.)40 b(With)31 b(an)f(argumen)m(t)g Fk(n)p
-Ft(,)g(insert)f(the)i Fk(n)p Ft(th)e(w)m(ord)g(from)h(the)630
-2741 y(previous)c(command)h(\(the)h(w)m(ords)e(in)h(the)g(previous)f
-(command)h(b)s(egin)f(with)h(w)m(ord)g(0\).)40 b(A)630
-2851 y(negativ)m(e)28 b(argumen)m(t)e(inserts)f(the)h
-Fk(n)p Ft(th)f(w)m(ord)g(from)g(the)h(end)f(of)h(the)g(previous)f
-(command.)630 2960 y(Once)32 b(the)f(argumen)m(t)h Fk(n)f
-Ft(is)h(computed,)g(this)f(uses)h(the)f(history)h(expansion)f
-(facilities)j(to)630 3070 y(extract)e(the)e Fk(n)p Ft(th)g(w)m(ord,)g
+(c)m(haracters)h(b)s(et)m(w)m(een)g(the)630 518 y(start)g(of)h(the)f
+(curren)m(t)f(line)i(and)e(the)h(p)s(oin)m(t.)58 b(The)35
+b(searc)m(h)i(string)e(m)m(ust)h(matc)m(h)h(at)g(the)630
+628 y(b)s(eginning)44 b(of)g(a)h(history)g(line.)83 b(This)44
+b(is)g(a)h(non-incremen)m(tal)h(searc)m(h.)84 b(By)44
+b(default,)630 737 y(this)32 b(command)h(is)f(un)m(b)s(ound,)f(but)h
+(ma)m(y)h(b)s(e)f(b)s(ound)e(to)j(the)g(P)m(age)h(Do)m(wn)f(k)m(ey)g
+(on)g(some)630 847 y(k)m(eyb)s(oards.)150 1029 y Fs
+(history-search-forward)24 b(\(\))630 1139 y Ft(Searc)m(h)f(forw)m(ard)
+e(through)h(the)h(history)f(for)g(the)g(string)h(of)f(c)m(haracters)i
+(b)s(et)m(w)m(een)f(the)f(start)630 1249 y(of)g(the)h(curren)m(t)f
+(line)g(and)g(the)g(p)s(oin)m(t.)38 b(The)22 b(searc)m(h)g(string)g(m)m
+(ust)g(matc)m(h)h(at)g(the)g(b)s(eginning)630 1358 y(of)33
+b(a)g(history)f(line.)48 b(This)32 b(is)h(a)g(non-incremen)m(tal)h
+(searc)m(h.)48 b(By)33 b(default,)h(this)e(command)630
+1468 y(is)e(un)m(b)s(ound,)e(but)i(ma)m(y)h(b)s(e)f(b)s(ound)e(to)j
+(the)g(P)m(age)h(Up)e(k)m(ey)h(on)f(some)h(k)m(eyb)s(oards.)150
+1650 y Fs(history-substring-search)o(-bac)o(kwar)o(d)24
+b(\(\))630 1760 y Ft(Searc)m(h)35 b(bac)m(kw)m(ard)g(through)f(the)h
+(history)g(for)g(the)f(string)h(of)g(c)m(haracters)h(b)s(et)m(w)m(een)g
+(the)630 1870 y(start)29 b(of)g(the)g(curren)m(t)g(line)g(and)f(the)h
+(p)s(oin)m(t.)40 b(The)29 b(searc)m(h)g(string)g(ma)m(y)g(matc)m(h)h
+(an)m(ywhere)630 1979 y(in)i(a)h(history)g(line.)47 b(This)32
+b(is)g(a)h(non-incremen)m(tal)h(searc)m(h.)47 b(By)33
+b(default,)h(this)e(command)630 2089 y(is)e(un)m(b)s(ound.)150
+2271 y Fs(history-substring-search)o(-for)o(ward)24 b(\(\))630
+2381 y Ft(Searc)m(h)42 b(forw)m(ard)f(through)f(the)i(history)f(for)g
+(the)h(string)f(of)h(c)m(haracters)h(b)s(et)m(w)m(een)f(the)630
+2491 y(start)29 b(of)g(the)g(curren)m(t)g(line)g(and)f(the)h(p)s(oin)m
+(t.)40 b(The)29 b(searc)m(h)g(string)g(ma)m(y)g(matc)m(h)h(an)m(ywhere)
+630 2600 y(in)i(a)h(history)g(line.)47 b(This)32 b(is)g(a)h
+(non-incremen)m(tal)h(searc)m(h.)47 b(By)33 b(default,)h(this)e
+(command)630 2710 y(is)e(un)m(b)s(ound.)150 2892 y Fs(yank-nth-arg)d
+(\(M-C-y\))630 3002 y Ft(Insert)e(the)i(\014rst)e(argumen)m(t)h(to)h
+(the)f(previous)g(command)f(\(usually)h(the)g(second)g(w)m(ord)g(on)630
+3112 y(the)k(previous)g(line\))g(at)h(p)s(oin)m(t.)40
+b(With)31 b(an)f(argumen)m(t)g Fk(n)p Ft(,)g(insert)f(the)i
+Fk(n)p Ft(th)e(w)m(ord)g(from)h(the)630 3221 y(previous)c(command)h
+(\(the)h(w)m(ords)e(in)h(the)g(previous)f(command)h(b)s(egin)f(with)h
+(w)m(ord)g(0\).)40 b(A)630 3331 y(negativ)m(e)28 b(argumen)m(t)e
+(inserts)f(the)h Fk(n)p Ft(th)f(w)m(ord)g(from)g(the)h(end)f(of)h(the)g
+(previous)f(command.)630 3440 y(Once)32 b(the)f(argumen)m(t)h
+Fk(n)f Ft(is)h(computed,)g(this)f(uses)h(the)f(history)h(expansion)f
+(facilities)j(to)630 3550 y(extract)e(the)e Fk(n)p Ft(th)g(w)m(ord,)g
 (as)h(if)f(the)h(`)p Fs(!)p Fl(n)p Ft(')f(history)g(expansion)h(had)e
-(b)s(een)h(sp)s(eci\014ed.)150 3242 y Fs(yank-last-arg)d(\(M-.)i(or)h
-(M-_\))630 3352 y Ft(Insert)k(last)i(argumen)m(t)g(to)g(the)f(previous)
+(b)s(een)h(sp)s(eci\014ed.)150 3733 y Fs(yank-last-arg)d(\(M-.)i(or)h
+(M-_\))630 3842 y Ft(Insert)k(last)i(argumen)m(t)g(to)g(the)f(previous)
 f(command)h(\(the)h(last)f(w)m(ord)g(of)g(the)g(previous)630
-3461 y(history)e(en)m(try\).)51 b(With)34 b(a)g(n)m(umeric)g(argumen)m
+3952 y(history)e(en)m(try\).)51 b(With)34 b(a)g(n)m(umeric)g(argumen)m
 (t,)h(b)s(eha)m(v)m(e)f(exactly)h(lik)m(e)g Fs(yank-nth-arg)p
-Ft(.)630 3571 y(Successiv)m(e)26 b(calls)g(to)f Fs(yank-last-arg)c
+Ft(.)630 4061 y(Successiv)m(e)26 b(calls)g(to)f Fs(yank-last-arg)c
 Ft(mo)m(v)m(e)27 b(bac)m(k)e(through)f(the)h(history)g(list,)i
-(inserting)630 3680 y(the)c(last)g(w)m(ord)f(\(or)h(the)g(w)m(ord)f(sp)
+(inserting)630 4171 y(the)c(last)g(w)m(ord)f(\(or)h(the)g(w)m(ord)f(sp)
 s(eci\014ed)g(b)m(y)g(the)h(argumen)m(t)g(to)g(the)g(\014rst)f(call\))i
-(of)f(eac)m(h)h(line)630 3790 y(in)36 b(turn.)58 b(An)m(y)36
+(of)f(eac)m(h)h(line)630 4281 y(in)36 b(turn.)58 b(An)m(y)36
 b(n)m(umeric)h(argumen)m(t)f(supplied)g(to)h(these)g(successiv)m(e)g
-(calls)h(determines)630 3900 y(the)d(direction)g(to)h(mo)m(v)m(e)g
+(calls)h(determines)630 4390 y(the)d(direction)g(to)h(mo)m(v)m(e)g
 (through)e(the)h(history)-8 b(.)54 b(A)35 b(negativ)m(e)i(argumen)m(t)e
-(switc)m(hes)h(the)630 4009 y(direction)23 b(through)e(the)i(history)f
+(switc)m(hes)h(the)630 4500 y(direction)23 b(through)e(the)i(history)f
 (\(bac)m(k)h(or)g(forw)m(ard\).)37 b(This)22 b(uses)g(the)g(history)g
-(expansion)630 4119 y(facilities)44 b(to)e(extract)g(the)g(last)g(w)m
+(expansion)630 4609 y(facilities)44 b(to)e(extract)g(the)g(last)g(w)m
 (ord,)i(as)e(if)f(the)g(`)p Fs(!$)p Ft(')h(history)f(expansion)g(had)g
-(b)s(een)630 4228 y(sp)s(eci\014ed.)150 4401 y Fs(operate-and-get-next)
-25 b(\(C-o\))630 4510 y Ft(Accept)30 b(the)g(curren)m(t)e(line)i(for)f
+(b)s(een)630 4719 y(sp)s(eci\014ed.)150 4902 y Fs(operate-and-get-next)
+25 b(\(C-o\))630 5011 y Ft(Accept)30 b(the)g(curren)m(t)e(line)i(for)f
 (return)f(to)h(the)h(calling)g(application)h(as)e(if)g(a)h(newline)f
-(had)630 4620 y(b)s(een)22 b(en)m(tered,)k(and)d(fetc)m(h)h(the)f(next)
+(had)630 5121 y(b)s(een)22 b(en)m(tered,)k(and)d(fetc)m(h)h(the)f(next)
 g(line)h(relativ)m(e)h(to)f(the)f(curren)m(t)g(line)h(from)f(the)g
-(history)630 4729 y(for)31 b(editing.)43 b(A)31 b(n)m(umeric)f(argumen)
+(history)630 5230 y(for)31 b(editing.)43 b(A)31 b(n)m(umeric)f(argumen)
 m(t,)i(if)f(supplied,)f(sp)s(eci\014es)h(the)g(history)f(en)m(try)i(to)
-f(use)630 4839 y(instead)g(of)f(the)h(curren)m(t)f(line.)150
-5011 y Fs(fetch-history)d(\(\))630 5121 y Ft(With)e(a)f(n)m(umeric)g
-(argumen)m(t,)i(fetc)m(h)f(that)g(en)m(try)f(from)g(the)g(history)g
-(list)h(and)e(mak)m(e)i(it)g(the)630 5230 y(curren)m(t)30
-b(line.)41 b(Without)30 b(an)g(argumen)m(t,)h(mo)m(v)m(e)g(bac)m(k)g
-(to)f(the)g(\014rst)f(en)m(try)h(in)g(the)g(history)630
-5340 y(list.)p eop end
+f(use)630 5340 y(instead)g(of)f(the)h(curren)m(t)f(line.)p
+eop end
 %%Page: 21 25
 TeXDict begin 21 24 bop 150 -116 a Ft(Chapter)30 b(1:)41
-b(Command)29 b(Line)i(Editing)2107 b(21)150 299 y Fi(1.4.3)63
+b(Command)29 b(Line)i(Editing)2107 b(21)150 299 y Fs(fetch-history)27
+b(\(\))630 408 y Ft(With)e(a)f(n)m(umeric)g(argumen)m(t,)i(fetc)m(h)f
+(that)g(en)m(try)f(from)g(the)g(history)g(list)h(and)e(mak)m(e)i(it)g
+(the)630 518 y(curren)m(t)30 b(line.)41 b(Without)30
+b(an)g(argumen)m(t,)h(mo)m(v)m(e)g(bac)m(k)g(to)f(the)g(\014rst)f(en)m
+(try)h(in)g(the)g(history)630 628 y(list.)150 835 y Fi(1.4.3)63
 b(Commands)42 b(F)-10 b(or)41 b(Changing)g(T)-10 b(ext)150
-464 y Fl(end-of-file)27 b Fs(\(usually)h(C-d\))630 574
+1011 y Fl(end-of-file)27 b Fs(\(usually)h(C-d\))630 1121
 y Ft(The)e(c)m(haracter)h(indicating)h(end-of-\014le)e(as)h(set,)g(for)
 f(example,)i(b)m(y)e Fs(stty)p Ft(.)39 b(If)25 b(this)h(c)m(harac-)630
-683 y(ter)c(is)g(read)g(when)e(there)i(are)h(no)e(c)m(haracters)j(on)d
+1230 y(ter)c(is)g(read)g(when)e(there)i(are)h(no)e(c)m(haracters)j(on)d
 (the)h(line,)i(and)d(p)s(oin)m(t)h(is)g(at)h(the)f(b)s(eginning)630
-793 y(of)31 b(the)f(line,)h(Readline)g(in)m(terprets)g(it)g(as)f(the)h
+1340 y(of)31 b(the)f(line,)h(Readline)g(in)m(terprets)g(it)g(as)f(the)h
 (end)f(of)g(input)f(and)h(returns)f Fm(eof)p Ft(.)150
-939 y Fs(delete-char)e(\(C-d\))630 1048 y Ft(Delete)35
+1507 y Fs(delete-char)e(\(C-d\))630 1617 y Ft(Delete)35
 b(the)f(c)m(haracter)h(at)f(p)s(oin)m(t.)49 b(If)33 b(this)g(function)g
-(is)g(b)s(ound)e(to)j(the)g(same)f(c)m(haracter)630 1158
-y(as)e(the)f(tt)m(y)i Fm(eof)d Ft(c)m(haracter,)j(as)f
-Fl(C-d)e Ft(commonly)i(is,)g(see)g(ab)s(o)m(v)m(e)h(for)e(the)g
-(e\013ects.)150 1304 y Fs(backward-delete-char)25 b(\(Rubout\))630
-1414 y Ft(Delete)32 b(the)f(c)m(haracter)g(b)s(ehind)e(the)h(cursor.)40
+(is)g(b)s(ound)e(to)j(the)g(same)f(c)m(haracter)630 1727
+y(as)i(the)f(tt)m(y)i Fm(eof)e Ft(c)m(haracter,)j(as)e
+Fl(C-d)e Ft(commonly)j(is,)f(see)g(ab)s(o)m(v)m(e)h(for)e(the)h
+(e\013ects.)55 b(This)630 1836 y(ma)m(y)31 b(also)g(b)s(e)f(b)s(ound)e
+(to)j(the)g(Delete)i(k)m(ey)e(on)f(some)h(k)m(eyb)s(oards.)150
+2004 y Fs(backward-delete-char)25 b(\(Rubout\))630 2113
+y Ft(Delete)32 b(the)f(c)m(haracter)g(b)s(ehind)e(the)h(cursor.)40
 b(A)30 b(n)m(umeric)g(argumen)m(t)h(means)f(to)h(kill)g(the)630
-1523 y(c)m(haracters,)h(sa)m(ving)f(them)g(on)f(the)h(kill)g(ring,)f
-(instead)h(of)f(deleting)i(them.)150 1669 y Fs
-(forward-backward-delete-)o(char)24 b(\(\))630 1779 y
+2223 y(c)m(haracters,)h(sa)m(ving)f(them)g(on)f(the)h(kill)g(ring,)f
+(instead)h(of)f(deleting)i(them.)150 2391 y Fs
+(forward-backward-delete-)o(char)24 b(\(\))630 2500 y
 Ft(Delete)40 b(the)f(c)m(haracter)h(under)c(the)j(cursor,)h(unless)d
-(the)i(cursor)e(is)h(at)h(the)g(end)e(of)i(the)630 1888
+(the)i(cursor)e(is)h(at)h(the)g(end)e(of)i(the)630 2610
 y(line,)33 b(in)e(whic)m(h)g(case)i(the)f(c)m(haracter)h(b)s(ehind)d
 (the)i(cursor)f(is)g(deleted.)46 b(By)32 b(default,)g(this)630
-1998 y(is)e(not)h(b)s(ound)d(to)j(a)g(k)m(ey)-8 b(.)150
-2144 y Fs(quoted-insert)27 b(\(C-q)i(or)h(C-v\))630 2254
+2719 y(is)e(not)h(b)s(ound)d(to)j(a)g(k)m(ey)-8 b(.)150
+2887 y Fs(quoted-insert)27 b(\(C-q)i(or)h(C-v\))630 2997
 y Ft(Add)j(the)i(next)f(c)m(haracter)i(t)m(yp)s(ed)e(to)h(the)f(line)h
 (v)m(erbatim.)53 b(This)33 b(is)i(ho)m(w)f(to)h(insert)f(k)m(ey)630
-2363 y(sequences)d(lik)m(e)g Fl(C-q)p Ft(,)f(for)g(example.)150
-2509 y Fs(tab-insert)e(\(M-TAB\))630 2619 y Ft(Insert)i(a)h(tab)f(c)m
-(haracter.)150 2765 y Fs(self-insert)d(\(a,)j(b,)g(A,)f(1,)h(!,)g(...)o
-(\))630 2875 y Ft(Insert)g(the)g(c)m(haracter)i(t)m(yp)s(ed.)150
-3021 y Fs(bracketed-paste-begin)25 b(\(\))630 3130 y
+3106 y(sequences)d(lik)m(e)g Fl(C-q)p Ft(,)f(for)g(example.)150
+3274 y Fs(tab-insert)e(\(M-TAB\))630 3383 y Ft(Insert)i(a)h(tab)f(c)m
+(haracter.)150 3551 y Fs(self-insert)d(\(a,)j(b,)g(A,)f(1,)h(!,)g(...)o
+(\))630 3661 y Ft(Insert)g(the)g(c)m(haracter)i(t)m(yp)s(ed.)150
+3828 y Fs(bracketed-paste-begin)25 b(\(\))630 3938 y
 Ft(This)f(function)h(is)f(in)m(tended)h(to)h(b)s(e)e(b)s(ound)f(to)i
 (the)g Fs(")p Ft(brac)m(k)m(eted)h(paste)p Fs(")f Ft(escap)s(e)h
-(sequence)630 3240 y(sen)m(t)38 b(b)m(y)f(some)h(terminals,)i(and)d
+(sequence)630 4047 y(sen)m(t)38 b(b)m(y)f(some)h(terminals,)i(and)d
 (suc)m(h)g(a)h(binding)e(is)i(assigned)f(b)m(y)h(default.)62
-b(It)38 b(allo)m(ws)630 3349 y(Readline)33 b(to)g(insert)g(the)f
+b(It)38 b(allo)m(ws)630 4157 y(Readline)33 b(to)g(insert)g(the)f
 (pasted)h(text)g(as)g(a)g(single)g(unit)f(without)h(treating)h(eac)m(h)
-f(c)m(har-)630 3459 y(acter)40 b(as)f(if)g(it)g(had)f(b)s(een)g(read)h
+f(c)m(har-)630 4267 y(acter)40 b(as)f(if)g(it)g(had)f(b)s(een)g(read)h
 (from)f(the)h(k)m(eyb)s(oard.)66 b(The)39 b(c)m(haracters)h(are)f
-(inserted)630 3569 y(as)44 b(if)g(eac)m(h)i(one)e(w)m(as)g(b)s(ound)e
+(inserted)630 4376 y(as)44 b(if)g(eac)m(h)i(one)e(w)m(as)g(b)s(ound)e
 (to)j Fs(self-insert)c Ft(instead)j(of)h(executing)g(an)m(y)f(editing)
-630 3678 y(commands.)630 3806 y(Brac)m(k)m(eted)38 b(paste)f(sets)f
+630 4486 y(commands.)630 4624 y(Brac)m(k)m(eted)38 b(paste)f(sets)f
 (the)h(region)f(\(the)h(c)m(haracters)g(b)s(et)m(w)m(een)g(p)s(oin)m(t)
-f(and)g(the)g(mark\))630 3916 y(to)31 b(the)g(inserted)f(text.)42
+f(and)g(the)g(mark\))630 4734 y(to)31 b(the)g(inserted)f(text.)42
 b(It)30 b(sets)h(the)f Fj(active)j(r)-5 b(e)g(gion)p
-Ft(.)150 4062 y Fs(transpose-chars)26 b(\(C-t\))630 4171
+Ft(.)150 4902 y Fs(transpose-chars)26 b(\(C-t\))630 5011
 y Ft(Drag)33 b(the)f(c)m(haracter)h(b)s(efore)f(the)g(cursor)f(forw)m
 (ard)h(o)m(v)m(er)h(the)f(c)m(haracter)i(at)e(the)g(cursor,)630
-4281 y(mo)m(ving)k(the)g(cursor)f(forw)m(ard)g(as)g(w)m(ell.)57
+5121 y(mo)m(ving)k(the)g(cursor)f(forw)m(ard)g(as)g(w)m(ell.)57
 b(If)35 b(the)h(insertion)g(p)s(oin)m(t)f(is)g(at)i(the)e(end)g(of)h
-(the)630 4390 y(line,)24 b(then)e(this)g(transp)s(oses)f(the)h(last)h
+(the)630 5230 y(line,)24 b(then)e(this)g(transp)s(oses)f(the)h(last)h
 (t)m(w)m(o)g(c)m(haracters)g(of)f(the)h(line.)38 b(Negativ)m(e)25
-b(argumen)m(ts)630 4500 y(ha)m(v)m(e)32 b(no)e(e\013ect.)150
-4646 y Fs(transpose-words)c(\(M-t\))630 4756 y Ft(Drag)33
-b(the)g(w)m(ord)f(b)s(efore)g(p)s(oin)m(t)g(past)g(the)h(w)m(ord)f
-(after)g(p)s(oin)m(t,)i(mo)m(ving)f(p)s(oin)m(t)f(past)g(that)630
-4865 y(w)m(ord)c(as)h(w)m(ell.)41 b(If)27 b(the)i(insertion)f(p)s(oin)m
-(t)h(is)f(at)h(the)g(end)e(of)i(the)f(line,)i(this)e(transp)s(oses)g
-(the)630 4975 y(last)j(t)m(w)m(o)h(w)m(ords)e(on)g(the)h(line.)150
-5121 y Fs(upcase-word)c(\(M-u\))630 5230 y Ft(Upp)s(ercase)32
-b(the)g(curren)m(t)g(\(or)g(follo)m(wing\))i(w)m(ord.)45
-b(With)32 b(a)g(negativ)m(e)j(argumen)m(t,)e(upp)s(er-)630
-5340 y(case)e(the)g(previous)f(w)m(ord,)g(but)g(do)g(not)h(mo)m(v)m(e)h
-(the)e(cursor.)p eop end
+b(argumen)m(ts)630 5340 y(ha)m(v)m(e)32 b(no)e(e\013ect.)p
+eop end
 %%Page: 22 26
 TeXDict begin 22 25 bop 150 -116 a Ft(Chapter)30 b(1:)41
-b(Command)29 b(Line)i(Editing)2107 b(22)150 299 y Fs(downcase-word)27
-b(\(M-l\))630 408 y Ft(Lo)m(w)m(ercase)c(the)f(curren)m(t)f(\(or)h
-(follo)m(wing\))i(w)m(ord.)37 b(With)22 b(a)g(negativ)m(e)i(argumen)m
-(t,)g(lo)m(w)m(ercase)630 518 y(the)31 b(previous)e(w)m(ord,)i(but)e
-(do)i(not)f(mo)m(v)m(e)i(the)f(cursor.)150 674 y Fs(capitalize-word)26
-b(\(M-c\))630 784 y Ft(Capitalize)d(the)f(curren)m(t)f(\(or)g(follo)m
+b(Command)29 b(Line)i(Editing)2107 b(22)150 299 y Fs(transpose-words)26
+b(\(M-t\))630 408 y Ft(Drag)33 b(the)g(w)m(ord)f(b)s(efore)g(p)s(oin)m
+(t)g(past)g(the)h(w)m(ord)f(after)g(p)s(oin)m(t,)i(mo)m(ving)f(p)s(oin)
+m(t)f(past)g(that)630 518 y(w)m(ord)c(as)h(w)m(ell.)41
+b(If)27 b(the)i(insertion)f(p)s(oin)m(t)h(is)f(at)h(the)g(end)e(of)i
+(the)f(line,)i(this)e(transp)s(oses)g(the)630 628 y(last)j(t)m(w)m(o)h
+(w)m(ords)e(on)g(the)h(line.)150 797 y Fs(upcase-word)c(\(M-u\))630
+907 y Ft(Upp)s(ercase)32 b(the)g(curren)m(t)g(\(or)g(follo)m(wing\))i
+(w)m(ord.)45 b(With)32 b(a)g(negativ)m(e)j(argumen)m(t,)e(upp)s(er-)630
+1016 y(case)e(the)g(previous)f(w)m(ord,)g(but)g(do)g(not)h(mo)m(v)m(e)h
+(the)e(cursor.)150 1186 y Fs(downcase-word)d(\(M-l\))630
+1296 y Ft(Lo)m(w)m(ercase)c(the)f(curren)m(t)f(\(or)h(follo)m(wing\))i
+(w)m(ord.)37 b(With)22 b(a)g(negativ)m(e)i(argumen)m(t,)g(lo)m(w)m
+(ercase)630 1405 y(the)31 b(previous)e(w)m(ord,)i(but)e(do)i(not)f(mo)m
+(v)m(e)i(the)f(cursor.)150 1575 y Fs(capitalize-word)26
+b(\(M-c\))630 1684 y Ft(Capitalize)d(the)f(curren)m(t)f(\(or)g(follo)m
 (wing\))i(w)m(ord.)38 b(With)21 b(a)h(negativ)m(e)h(argumen)m(t,)h
-(capitalize)630 893 y(the)31 b(previous)e(w)m(ord,)i(but)e(do)i(not)f
-(mo)m(v)m(e)i(the)f(cursor.)150 1049 y Fs(overwrite-mode)26
-b(\(\))630 1159 y Ft(T)-8 b(oggle)35 b(o)m(v)m(erwrite)g(mo)s(de.)48
+(capitalize)630 1794 y(the)31 b(previous)e(w)m(ord,)i(but)e(do)i(not)f
+(mo)m(v)m(e)i(the)f(cursor.)150 1964 y Fs(overwrite-mode)26
+b(\(\))630 2073 y Ft(T)-8 b(oggle)35 b(o)m(v)m(erwrite)g(mo)s(de.)48
 b(With)33 b(an)g(explicit)h(p)s(ositiv)m(e)g(n)m(umeric)f(argumen)m(t,)
-h(switc)m(hes)630 1268 y(to)22 b(o)m(v)m(erwrite)i(mo)s(de.)37
+h(switc)m(hes)630 2183 y(to)22 b(o)m(v)m(erwrite)i(mo)s(de.)37
 b(With)22 b(an)g(explicit)h(non-p)s(ositiv)m(e)f(n)m(umeric)g(argumen)m
-(t,)i(switc)m(hes)e(to)630 1378 y(insert)30 b(mo)s(de.)41
+(t,)i(switc)m(hes)e(to)630 2292 y(insert)30 b(mo)s(de.)41
 b(This)30 b(command)h(a\013ects)h(only)e Fs(emacs)f Ft(mo)s(de;)i
-Fs(vi)f Ft(mo)s(de)g(do)s(es)g(o)m(v)m(erwrite)630 1488
+Fs(vi)f Ft(mo)s(de)g(do)s(es)g(o)m(v)m(erwrite)630 2402
 y(di\013eren)m(tly)-8 b(.)42 b(Eac)m(h)31 b(call)h(to)f
 Fs(readline\(\))c Ft(starts)k(in)f(insert)g(mo)s(de.)630
-1620 y(In)52 b(o)m(v)m(erwrite)h(mo)s(de,)58 b(c)m(haracters)c(b)s
+2541 y(In)52 b(o)m(v)m(erwrite)h(mo)s(de,)58 b(c)m(haracters)c(b)s
 (ound)c(to)j Fs(self-insert)c Ft(replace)k(the)g(text)g(at)630
-1730 y(p)s(oin)m(t)59 b(rather)f(than)h(pushing)e(the)i(text)g(to)h
+2651 y(p)s(oin)m(t)59 b(rather)f(than)h(pushing)e(the)i(text)g(to)h
 (the)f(righ)m(t.)126 b(Characters)59 b(b)s(ound)d(to)630
-1840 y Fs(backward-delete-char)25 b Ft(replace)31 b(the)g(c)m(haracter)
-h(b)s(efore)e(p)s(oin)m(t)g(with)g(a)h(space.)630 1972
+2761 y Fs(backward-delete-char)25 b Ft(replace)31 b(the)g(c)m(haracter)
+h(b)s(efore)e(p)s(oin)m(t)g(with)g(a)h(space.)630 2900
 y(By)g(default,)g(this)g(command)f(is)h(un)m(b)s(ound,)d(but)i(ma)m(y)h
 (b)s(e)f(b)s(ound)e(to)k(the)f(Insert)f(k)m(ey)h(on)630
-2082 y(some)g(k)m(eyb)s(oards.)150 2278 y Fi(1.4.4)63
-b(Killing)42 b(And)e(Y)-10 b(anking)150 2448 y Fs(kill-line)28
-b(\(C-k\))630 2558 y Ft(Kill)e(the)h(text)g(from)e(p)s(oin)m(t)h(to)h
+3010 y(some)g(k)m(eyb)s(oards.)150 3219 y Fi(1.4.4)63
+b(Killing)42 b(And)e(Y)-10 b(anking)150 3396 y Fs(kill-line)28
+b(\(C-k\))630 3506 y Ft(Kill)e(the)h(text)g(from)e(p)s(oin)m(t)h(to)h
 (the)f(end)f(of)h(the)h(curren)m(t)e(line.)40 b(With)27
-b(a)f(negativ)m(e)i(n)m(umeric)630 2667 y(argumen)m(t,)j(kill)g(bac)m
+b(a)f(negativ)m(e)i(n)m(umeric)630 3615 y(argumen)m(t,)j(kill)g(bac)m
 (kw)m(ard)g(from)f(the)g(cursor)g(to)h(the)g(b)s(eginning)e(of)i(the)g
-(line.)150 2823 y Fs(backward-kill-line)25 b(\(C-x)30
-b(Rubout\))630 2933 y Ft(Kill)40 b(bac)m(kw)m(ard)h(from)e(the)h
+(line.)150 3785 y Fs(backward-kill-line)25 b(\(C-x)30
+b(Rubout\))630 3895 y Ft(Kill)40 b(bac)m(kw)m(ard)h(from)e(the)h
 (cursor)g(to)g(the)g(b)s(eginning)g(of)g(the)g(curren)m(t)f(line.)70
-b(With)41 b(a)630 3042 y(negativ)m(e)31 b(n)m(umeric)e(argumen)m(t,)h
+b(With)41 b(a)630 4004 y(negativ)m(e)31 b(n)m(umeric)e(argumen)m(t,)h
 (kill)g(forw)m(ard)f(from)f(the)i(cursor)e(to)i(the)f(end)g(of)g(the)g
-(line.)150 3198 y Fs(unix-line-discard)d(\(C-u\))630
-3308 y Ft(Kill)31 b(bac)m(kw)m(ard)g(from)e(the)i(cursor)f(to)h(the)f
-(b)s(eginning)g(of)h(the)f(curren)m(t)g(line.)150 3464
-y Fs(kill-whole-line)c(\(\))630 3574 y Ft(Kill)37 b(all)g(c)m
+(line.)150 4174 y Fs(unix-line-discard)d(\(C-u\))630
+4283 y Ft(Kill)31 b(bac)m(kw)m(ard)g(from)e(the)i(cursor)f(to)h(the)f
+(b)s(eginning)g(of)h(the)f(curren)m(t)g(line.)150 4453
+y Fs(kill-whole-line)c(\(\))630 4562 y Ft(Kill)37 b(all)g(c)m
 (haracters)h(on)f(the)f(curren)m(t)h(line,)h(no)f(matter)g(where)f(p)s
-(oin)m(t)h(is.)59 b(By)36 b(default,)630 3683 y(this)30
-b(is)h(un)m(b)s(ound.)150 3839 y Fs(kill-word)d(\(M-d\))630
-3949 y Ft(Kill)i(from)f(p)s(oin)m(t)g(to)h(the)g(end)e(of)i(the)f
+(oin)m(t)h(is.)59 b(By)36 b(default,)630 4672 y(this)30
+b(is)h(un)m(b)s(ound.)150 4842 y Fs(kill-word)d(\(M-d\))630
+4951 y Ft(Kill)i(from)f(p)s(oin)m(t)g(to)h(the)g(end)e(of)i(the)f
 (curren)m(t)h(w)m(ord,)f(or)g(if)h(b)s(et)m(w)m(een)g(w)m(ords,)f(to)h
-(the)g(end)630 4058 y(of)h(the)f(next)h(w)m(ord.)40 b(W)-8
+(the)g(end)630 5061 y(of)h(the)f(next)h(w)m(ord.)40 b(W)-8
 b(ord)31 b(b)s(oundaries)e(are)h(the)h(same)g(as)f Fs(forward-word)p
-Ft(.)150 4214 y Fs(backward-kill-word)25 b(\(M-DEL\))630
-4324 y Ft(Kill)k(the)g(w)m(ord)g(b)s(ehind)e(p)s(oin)m(t.)40
+Ft(.)150 5230 y Fs(backward-kill-word)25 b(\(M-DEL\))630
+5340 y Ft(Kill)k(the)g(w)m(ord)g(b)s(ehind)e(p)s(oin)m(t.)40
 b(W)-8 b(ord)29 b(b)s(oundaries)f(are)h(the)g(same)g(as)g
-Fs(backward-word)p Ft(.)150 4480 y Fs(unix-word-rubout)d(\(C-w\))630
-4590 y Ft(Kill)33 b(the)f(w)m(ord)g(b)s(ehind)f(p)s(oin)m(t,)i(using)f
-(white)g(space)h(as)f(a)h(w)m(ord)f(b)s(oundary)-8 b(,)32
-b(sa)m(ving)h(the)630 4699 y(killed)e(text)g(on)g(the)f(kill-ring.)150
-4855 y Fs(unix-filename-rubout)25 b(\(\))630 4965 y Ft(Kill)37
-b(the)f(w)m(ord)g(b)s(ehind)f(p)s(oin)m(t,)j(using)e(white)g(space)h
-(and)f(the)g(slash)g(c)m(haracter)i(as)f(the)630 5074
-y(w)m(ord)30 b(b)s(oundaries,)f(sa)m(ving)i(the)g(killed)g(text)g(on)g
-(the)f(kill-ring.)150 5230 y Fs(delete-horizontal-space)24
-b(\(\))630 5340 y Ft(Delete)33 b(all)e(spaces)g(and)e(tabs)i(around)e
-(p)s(oin)m(t.)41 b(By)31 b(default,)f(this)h(is)f(un)m(b)s(ound.)p
-eop end
+Fs(backward-word)p Ft(.)p eop end
 %%Page: 23 27
 TeXDict begin 23 26 bop 150 -116 a Ft(Chapter)30 b(1:)41
-b(Command)29 b(Line)i(Editing)2107 b(23)150 299 y Fs(kill-region)27
-b(\(\))630 408 y Ft(Kill)k(the)f(text)i(in)e(the)g(curren)m(t)h
-(region.)41 b(By)31 b(default,)f(this)h(command)f(is)g(un)m(b)s(ound.)
-150 554 y Fs(copy-region-as-kill)25 b(\(\))630 663 y
-Ft(Cop)m(y)34 b(the)g(text)h(in)f(the)g(region)g(to)h(the)f(kill)h
-(bu\013er,)f(so)g(it)h(can)f(b)s(e)f(y)m(ank)m(ed)i(righ)m(t)f(a)m(w)m
-(a)m(y)-8 b(.)630 773 y(By)31 b(default,)f(this)h(command)f(is)g(un)m
-(b)s(ound.)150 918 y Fs(copy-backward-word)25 b(\(\))630
-1028 y Ft(Cop)m(y)38 b(the)h(w)m(ord)f(b)s(efore)g(p)s(oin)m(t)g(to)i
-(the)e(kill)h(bu\013er.)64 b(The)38 b(w)m(ord)g(b)s(oundaries)f(are)i
-(the)630 1138 y(same)31 b(as)f Fs(backward-word)p Ft(.)38
-b(By)30 b(default,)h(this)f(command)g(is)h(un)m(b)s(ound.)150
-1283 y Fs(copy-forward-word)26 b(\(\))630 1393 y Ft(Cop)m(y)31
+b(Command)29 b(Line)i(Editing)2107 b(23)150 299 y Fs(unix-word-rubout)
+26 b(\(C-w\))630 408 y Ft(Kill)33 b(the)f(w)m(ord)g(b)s(ehind)f(p)s
+(oin)m(t,)i(using)f(white)g(space)h(as)f(a)h(w)m(ord)f(b)s(oundary)-8
+b(,)32 b(sa)m(ving)h(the)630 518 y(killed)e(text)g(on)g(the)f
+(kill-ring.)150 713 y Fs(unix-filename-rubout)25 b(\(\))630
+822 y Ft(Kill)37 b(the)f(w)m(ord)g(b)s(ehind)f(p)s(oin)m(t,)j(using)e
+(white)g(space)h(and)f(the)g(slash)g(c)m(haracter)i(as)f(the)630
+932 y(w)m(ord)30 b(b)s(oundaries,)f(sa)m(ving)i(the)g(killed)g(text)g
+(on)g(the)f(kill-ring.)150 1126 y Fs(delete-horizontal-space)24
+b(\(\))630 1236 y Ft(Delete)33 b(all)e(spaces)g(and)e(tabs)i(around)e
+(p)s(oin)m(t.)41 b(By)31 b(default,)f(this)h(is)f(un)m(b)s(ound.)150
+1430 y Fs(kill-region)d(\(\))630 1540 y Ft(Kill)k(the)f(text)i(in)e
+(the)g(curren)m(t)h(region.)41 b(By)31 b(default,)f(this)h(command)f
+(is)g(un)m(b)s(ound.)150 1734 y Fs(copy-region-as-kill)25
+b(\(\))630 1844 y Ft(Cop)m(y)34 b(the)g(text)h(in)f(the)g(region)g(to)h
+(the)f(kill)h(bu\013er,)f(so)g(it)h(can)f(b)s(e)f(y)m(ank)m(ed)i(righ)m
+(t)f(a)m(w)m(a)m(y)-8 b(.)630 1954 y(By)31 b(default,)f(this)h(command)
+f(is)g(un)m(b)s(ound.)150 2148 y Fs(copy-backward-word)25
+b(\(\))630 2258 y Ft(Cop)m(y)38 b(the)h(w)m(ord)f(b)s(efore)g(p)s(oin)m
+(t)g(to)i(the)e(kill)h(bu\013er.)64 b(The)38 b(w)m(ord)g(b)s(oundaries)
+f(are)i(the)630 2367 y(same)31 b(as)f Fs(backward-word)p
+Ft(.)38 b(By)30 b(default,)h(this)f(command)g(is)h(un)m(b)s(ound.)150
+2562 y Fs(copy-forward-word)26 b(\(\))630 2671 y Ft(Cop)m(y)31
 b(the)g(w)m(ord)g(follo)m(wing)h(p)s(oin)m(t)f(to)h(the)f(kill)h
 (bu\013er.)42 b(The)30 b(w)m(ord)h(b)s(oundaries)e(are)j(the)630
-1502 y(same)f(as)f Fs(forward-word)p Ft(.)38 b(By)30
+2781 y(same)f(as)f Fs(forward-word)p Ft(.)38 b(By)30
 b(default,)h(this)g(command)f(is)g(un)m(b)s(ound.)150
-1647 y Fs(yank)f(\(C-y\))630 1757 y Ft(Y)-8 b(ank)31
+2975 y Fs(yank)f(\(C-y\))630 3085 y Ft(Y)-8 b(ank)31
 b(the)f(top)h(of)g(the)f(kill)h(ring)f(in)m(to)i(the)e(bu\013er)g(at)h
-(p)s(oin)m(t.)150 1902 y Fs(yank-pop)d(\(M-y\))630 2012
+(p)s(oin)m(t.)150 3279 y Fs(yank-pop)d(\(M-y\))630 3389
 y Ft(Rotate)36 b(the)f(kill-ring,)i(and)d(y)m(ank)h(the)f(new)g(top.)54
 b(Y)-8 b(ou)35 b(can)g(only)f(do)h(this)f(if)h(the)g(prior)630
-2122 y(command)30 b(is)h Fs(yank)e Ft(or)h Fs(yank-pop)p
-Ft(.)150 2307 y Fi(1.4.5)63 b(Sp)s(ecifying)42 b(Numeric)f(Argumen)m
-(ts)150 2472 y Fs(digit-argument)26 b(\()p Fl(M-0)p Fs(,)j
-Fl(M-1)p Fs(,)h(...)f Fl(M--)p Fs(\))630 2581 y Ft(Add)d(this)h(digit)g
+3499 y(command)30 b(is)h Fs(yank)e Ft(or)h Fs(yank-pop)p
+Ft(.)150 3733 y Fi(1.4.5)63 b(Sp)s(ecifying)42 b(Numeric)f(Argumen)m
+(ts)150 3922 y Fs(digit-argument)26 b(\()p Fl(M-0)p Fs(,)j
+Fl(M-1)p Fs(,)h(...)f Fl(M--)p Fs(\))630 4032 y Ft(Add)d(this)h(digit)g
 (to)h(the)f(argumen)m(t)g(already)h(accum)m(ulating,)h(or)e(start)h(a)f
-(new)f(argumen)m(t.)630 2691 y Fl(M--)j Ft(starts)i(a)g(negativ)m(e)i
-(argumen)m(t.)150 2836 y Fs(universal-argument)25 b(\(\))630
-2946 y Ft(This)g(is)g(another)h(w)m(a)m(y)g(to)h(sp)s(ecify)e(an)g
+(new)f(argumen)m(t.)630 4142 y Fl(M--)j Ft(starts)i(a)g(negativ)m(e)i
+(argumen)m(t.)150 4336 y Fs(universal-argument)25 b(\(\))630
+4446 y Ft(This)g(is)g(another)h(w)m(a)m(y)g(to)h(sp)s(ecify)e(an)g
 (argumen)m(t.)40 b(If)25 b(this)g(command)h(is)f(follo)m(w)m(ed)i(b)m
-(y)f(one)630 3055 y(or)k(more)f(digits,)i(optionally)g(with)e(a)h
+(y)f(one)630 4555 y(or)k(more)f(digits,)i(optionally)g(with)e(a)h
 (leading)h(min)m(us)e(sign,)h(those)g(digits)g(de\014ne)f(the)h(ar-)630
-3165 y(gumen)m(t.)41 b(If)28 b(the)i(command)f(is)g(follo)m(w)m(ed)h(b)
+4665 y(gumen)m(t.)41 b(If)28 b(the)i(command)f(is)g(follo)m(w)m(ed)h(b)
 m(y)f(digits,)i(executing)f Fs(universal-argument)630
-3275 y Ft(again)j(ends)e(the)h(n)m(umeric)f(argumen)m(t,)i(but)e(is)h
+4774 y Ft(again)j(ends)e(the)h(n)m(umeric)f(argumen)m(t,)i(but)e(is)h
 (otherwise)g(ignored.)45 b(As)32 b(a)g(sp)s(ecial)h(case,)630
-3384 y(if)g(this)g(command)f(is)h(immediately)h(follo)m(w)m(ed)h(b)m(y)
+4884 y(if)g(this)g(command)f(is)h(immediately)h(follo)m(w)m(ed)h(b)m(y)
 d(a)h(c)m(haracter)i(that)e(is)g(neither)g(a)g(digit)630
-3494 y(nor)41 b(min)m(us)f(sign,)k(the)e(argumen)m(t)f(coun)m(t)h(for)f
+4994 y(nor)41 b(min)m(us)f(sign,)k(the)e(argumen)m(t)f(coun)m(t)h(for)f
 (the)h(next)f(command)g(is)g(m)m(ultiplied)h(b)m(y)630
-3603 y(four.)54 b(The)35 b(argumen)m(t)g(coun)m(t)h(is)f(initially)h
+5103 y(four.)54 b(The)35 b(argumen)m(t)g(coun)m(t)h(is)f(initially)h
 (one,)h(so)e(executing)i(this)e(function)f(the)i(\014rst)630
-3713 y(time)29 b(mak)m(es)h(the)e(argumen)m(t)i(coun)m(t)f(four,)f(a)h
+5213 y(time)29 b(mak)m(es)h(the)e(argumen)m(t)i(coun)m(t)f(four,)f(a)h
 (second)g(time)g(mak)m(es)h(the)e(argumen)m(t)h(coun)m(t)630
-3822 y(sixteen,)i(and)f(so)h(on.)40 b(By)31 b(default,)g(this)f(is)g
-(not)h(b)s(ound)d(to)k(a)e(k)m(ey)-8 b(.)150 4008 y Fi(1.4.6)63
+5322 y(sixteen,)i(and)f(so)h(on.)40 b(By)31 b(default,)g(this)f(is)g
+(not)h(b)s(ound)d(to)k(a)e(k)m(ey)-8 b(.)p eop end
+%%Page: 24 28
+TeXDict begin 24 27 bop 150 -116 a Ft(Chapter)30 b(1:)41
+b(Command)29 b(Line)i(Editing)2107 b(24)150 299 y Fi(1.4.6)63
 b(Letting)40 b(Readline)h(T)m(yp)s(e)g(F)-10 b(or)42
-b(Y)-10 b(ou)150 4173 y Fs(complete)28 b(\(TAB\))630
-4282 y Ft(A)m(ttempt)c(to)f(p)s(erform)e(completion)j(on)f(the)g(text)g
-(b)s(efore)f(p)s(oin)m(t.)39 b(The)22 b(actual)i(completion)630
-4392 y(p)s(erformed)29 b(is)h(application-sp)s(eci\014c.)42
+b(Y)-10 b(ou)150 478 y Fs(complete)28 b(\(TAB\))630 587
+y Ft(A)m(ttempt)c(to)f(p)s(erform)e(completion)j(on)f(the)g(text)g(b)s
+(efore)f(p)s(oin)m(t.)39 b(The)22 b(actual)i(completion)630
+697 y(p)s(erformed)29 b(is)h(application-sp)s(eci\014c.)42
 b(The)30 b(default)h(is)f(\014lename)h(completion.)150
-4537 y Fs(possible-completions)25 b(\(M-?\))630 4647
-Ft(List)35 b(the)g(p)s(ossible)f(completions)i(of)e(the)h(text)h(b)s
+870 y Fs(possible-completions)25 b(\(M-?\))630 979 y
+Ft(List)35 b(the)g(p)s(ossible)f(completions)i(of)e(the)h(text)h(b)s
 (efore)e(p)s(oin)m(t.)54 b(When)34 b(displa)m(ying)h(com-)630
-4756 y(pletions,)f(Readline)f(sets)f(the)h(n)m(um)m(b)s(er)e(of)i
+1089 y(pletions,)f(Readline)f(sets)f(the)h(n)m(um)m(b)s(er)e(of)i
 (columns)f(used)f(for)i(displa)m(y)f(to)h(the)g(v)-5
-b(alue)33 b(of)630 4866 y Fs(completion-display-width)o
+b(alue)33 b(of)630 1199 y Fs(completion-display-width)o
 Ft(,)g(the)j(v)-5 b(alue)37 b(of)g(the)f(en)m(vironmen)m(t)h(v)-5
-b(ariable)38 b Fs(COLUMNS)p Ft(,)630 4975 y(or)30 b(the)h(screen)f
-(width,)g(in)g(that)h(order.)150 5121 y Fs(insert-completions)25
-b(\(M-*\))630 5230 y Ft(Insert)30 b(all)h(completions)h(of)f(the)g
+b(ariable)38 b Fs(COLUMNS)p Ft(,)630 1308 y(or)30 b(the)h(screen)f
+(width,)g(in)g(that)h(order.)150 1481 y Fs(insert-completions)25
+b(\(M-*\))630 1591 y Ft(Insert)30 b(all)h(completions)h(of)f(the)g
 (text)g(b)s(efore)f(p)s(oin)m(t)h(that)g(w)m(ould)f(ha)m(v)m(e)i(b)s
-(een)e(generated)630 5340 y(b)m(y)g Fs(possible-completions)p
-Ft(,)25 b(separated)31 b(b)m(y)f(a)h(space.)p eop end
-%%Page: 24 28
-TeXDict begin 24 27 bop 150 -116 a Ft(Chapter)30 b(1:)41
-b(Command)29 b(Line)i(Editing)2107 b(24)150 299 y Fs(menu-complete)27
-b(\(\))630 408 y Ft(Similar)d(to)g Fs(complete)p Ft(,)f(but)h(replaces)
-g(the)g(w)m(ord)g(to)g(b)s(e)f(completed)i(with)e(a)i(single)f(matc)m
-(h)630 518 y(from)41 b(the)h(list)g(of)g(p)s(ossible)f(completions.)76
-b(Rep)s(eatedly)42 b(executing)h Fs(menu-complete)630
-628 y Ft(steps)28 b(through)e(the)i(list)h(of)e(p)s(ossible)g
-(completions,)j(inserting)e(eac)m(h)g(matc)m(h)h(in)e(turn.)39
-b(A)m(t)630 737 y(the)h(end)f(of)h(the)f(list)i(of)f(completions,)j
-Fs(menu-complete)36 b Ft(rings)j(the)h(b)s(ell)f(\(sub)5
-b(ject)40 b(to)630 847 y(the)d(setting)h(of)e Fs(bell-style)p
-Ft(\))e(and)i(restores)h(the)g(original)h(text.)60 b(An)37
-b(argumen)m(t)g(of)f Fk(n)630 956 y Ft(mo)m(v)m(es)i
-Fk(n)e Ft(p)s(ositions)g(forw)m(ard)g(in)g(the)h(list)g(of)f(matc)m
-(hes;)41 b(a)c(negativ)m(e)i(argumen)m(t)e(mo)m(v)m(es)630
-1066 y(bac)m(kw)m(ard)29 b(through)f(the)h(list.)41 b(This)28
-b(command)g(is)h(in)m(tended)g(to)g(b)s(e)f(b)s(ound)f(to)i
-Fs(TAB)p Ft(,)g(but)630 1176 y(is)h(un)m(b)s(ound)e(b)m(y)i(default.)
-150 1331 y Fs(menu-complete-backward)24 b(\(\))630 1441
+(een)e(generated)630 1700 y(b)m(y)g Fs(possible-completions)p
+Ft(,)25 b(separated)31 b(b)m(y)f(a)h(space.)150 1874
+y Fs(menu-complete)c(\(\))630 1983 y Ft(Similar)d(to)g
+Fs(complete)p Ft(,)f(but)h(replaces)g(the)g(w)m(ord)g(to)g(b)s(e)f
+(completed)i(with)e(a)i(single)f(matc)m(h)630 2093 y(from)41
+b(the)h(list)g(of)g(p)s(ossible)f(completions.)76 b(Rep)s(eatedly)42
+b(executing)h Fs(menu-complete)630 2202 y Ft(steps)28
+b(through)e(the)i(list)h(of)e(p)s(ossible)g(completions,)j(inserting)e
+(eac)m(h)g(matc)m(h)h(in)e(turn.)39 b(A)m(t)630 2312
+y(the)h(end)f(of)h(the)f(list)i(of)f(completions,)j Fs(menu-complete)36
+b Ft(rings)j(the)h(b)s(ell)f(\(sub)5 b(ject)40 b(to)630
+2421 y(the)d(setting)h(of)e Fs(bell-style)p Ft(\))e(and)i(restores)h
+(the)g(original)h(text.)60 b(An)37 b(argumen)m(t)g(of)f
+Fk(n)630 2531 y Ft(mo)m(v)m(es)i Fk(n)e Ft(p)s(ositions)g(forw)m(ard)g
+(in)g(the)h(list)g(of)f(matc)m(hes;)41 b(a)c(negativ)m(e)i(argumen)m(t)
+e(mo)m(v)m(es)630 2641 y(bac)m(kw)m(ard)29 b(through)f(the)h(list.)41
+b(This)28 b(command)g(is)h(in)m(tended)g(to)g(b)s(e)f(b)s(ound)f(to)i
+Fs(TAB)p Ft(,)g(but)630 2750 y(is)h(un)m(b)s(ound)e(b)m(y)i(default.)
+150 2923 y Fs(menu-complete-backward)24 b(\(\))630 3033
 y Ft(Iden)m(tical)36 b(to)g Fs(menu-complete)p Ft(,)d(but)h(mo)m(v)m
 (es)j(bac)m(kw)m(ard)e(through)f(the)i(list)f(of)g(p)s(ossible)630
-1550 y(completions,)j(as)e(if)g Fs(menu-complete)c Ft(had)j(b)s(een)h
+3142 y(completions,)j(as)e(if)g Fs(menu-complete)c Ft(had)j(b)s(een)h
 (giv)m(en)g(a)g(negativ)m(e)i(argumen)m(t.)58 b(This)630
-1660 y(command)30 b(is)h(un)m(b)s(ound)c(b)m(y)k(default.)150
-1815 y Fs(delete-char-or-list)25 b(\(\))630 1925 y Ft(Deletes)41
+3252 y(command)30 b(is)h(un)m(b)s(ound)c(b)m(y)k(default.)150
+3425 y Fs(delete-char-or-list)25 b(\(\))630 3535 y Ft(Deletes)41
 b(the)e(c)m(haracter)h(under)e(the)h(cursor)f(if)h(not)g(at)g(the)h(b)s
-(eginning)e(or)h(end)f(of)h(the)630 2034 y(line)49 b(\(lik)m(e)g
+(eginning)e(or)h(end)f(of)h(the)630 3644 y(line)49 b(\(lik)m(e)g
 Fs(delete-char)p Ft(\).)92 b(A)m(t)49 b(the)f(end)g(of)g(the)g(line,)54
 b(it)48 b(b)s(eha)m(v)m(es)h(iden)m(tically)h(to)630
-2144 y Fs(possible-completions)p Ft(.)35 b(This)30 b(command)g(is)g(un)
-m(b)s(ound)e(b)m(y)i(default.)150 2339 y Fi(1.4.7)63
-b(Keyb)s(oard)41 b(Macros)150 2509 y Fs(start-kbd-macro)26
-b(\(C-x)j(\(\))630 2618 y Ft(Begin)i(sa)m(ving)h(the)e(c)m(haracters)i
+3754 y Fs(possible-completions)p Ft(.)35 b(This)30 b(command)g(is)g(un)
+m(b)s(ound)e(b)m(y)i(default.)150 3967 y Fi(1.4.7)63
+b(Keyb)s(oard)41 b(Macros)150 4146 y Fs(start-kbd-macro)26
+b(\(C-x)j(\(\))630 4255 y Ft(Begin)i(sa)m(ving)h(the)e(c)m(haracters)i
 (t)m(yp)s(ed)e(in)m(to)h(the)g(curren)m(t)f(k)m(eyb)s(oard)g(macro.)150
-2774 y Fs(end-kbd-macro)d(\(C-x)i(\)\))630 2883 y Ft(Stop)e(sa)m(ving)h
+4428 y Fs(end-kbd-macro)d(\(C-x)i(\)\))630 4538 y Ft(Stop)e(sa)m(ving)h
 (the)g(c)m(haracters)g(t)m(yp)s(ed)f(in)m(to)i(the)e(curren)m(t)g(k)m
-(eyb)s(oard)g(macro)h(and)f(sa)m(v)m(e)i(the)630 2993
-y(de\014nition.)150 3148 y Fs(call-last-kbd-macro)c(\(C-x)k(e\))630
-3258 y Ft(Re-execute)37 b(the)e(last)h(k)m(eyb)s(oard)f(macro)h
+(eyb)s(oard)g(macro)h(and)f(sa)m(v)m(e)i(the)630 4647
+y(de\014nition.)150 4820 y Fs(call-last-kbd-macro)c(\(C-x)k(e\))630
+4930 y Ft(Re-execute)37 b(the)e(last)h(k)m(eyb)s(oard)f(macro)h
 (de\014ned,)f(b)m(y)h(making)f(the)g(c)m(haracters)i(in)e(the)630
-3367 y(macro)c(app)s(ear)f(as)g(if)h(t)m(yp)s(ed)f(at)h(the)f(k)m(eyb)s
-(oard.)150 3523 y Fs(print-last-kbd-macro)25 b(\(\))630
-3632 y Ft(Prin)m(t)30 b(the)g(last)h(k)m(eyb)s(oard)f(macro)h
+5040 y(macro)c(app)s(ear)f(as)g(if)h(t)m(yp)s(ed)f(at)h(the)f(k)m(eyb)s
+(oard.)150 5213 y Fs(print-last-kbd-macro)25 b(\(\))630
+5322 y Ft(Prin)m(t)30 b(the)g(last)h(k)m(eyb)s(oard)f(macro)h
 (de\014ned)e(in)h(a)g(format)h(suitable)g(for)f(the)g
-Fk(inputrc)35 b Ft(\014le.)150 3827 y Fi(1.4.8)63 b(Some)41
-b(Miscellaneous)i(Commands)150 3997 y Fs(re-read-init-file)26
-b(\(C-x)j(C-r\))630 4107 y Ft(Read)22 b(in)g(the)g(con)m(ten)m(ts)h(of)
-f(the)g Fk(inputrc)27 b Ft(\014le,)d(and)d(incorp)s(orate)h(an)m(y)h
-(bindings)d(or)i(v)-5 b(ariable)630 4216 y(assignmen)m(ts)31
-b(found)e(there.)150 4372 y Fs(abort)g(\(C-g\))630 4481
+Fk(inputrc)35 b Ft(\014le.)p eop end
+%%Page: 25 29
+TeXDict begin 25 28 bop 150 -116 a Ft(Chapter)30 b(1:)41
+b(Command)29 b(Line)i(Editing)2107 b(25)150 299 y Fi(1.4.8)63
+b(Some)41 b(Miscellaneous)i(Commands)150 466 y Fs(re-read-init-file)26
+b(\(C-x)j(C-r\))630 576 y Ft(Read)22 b(in)g(the)g(con)m(ten)m(ts)h(of)f
+(the)g Fk(inputrc)27 b Ft(\014le,)d(and)d(incorp)s(orate)h(an)m(y)h
+(bindings)d(or)i(v)-5 b(ariable)630 685 y(assignmen)m(ts)31
+b(found)e(there.)150 836 y Fs(abort)g(\(C-g\))630 945
 y Ft(Ab)s(ort)d(the)h(curren)m(t)f(editing)h(command)f(and)g(ring)h
 (the)f(terminal's)h(b)s(ell)g(\(sub)5 b(ject)26 b(to)i(the)630
-4591 y(setting)j(of)g Fs(bell-style)p Ft(\).)150 4746
+1055 y(setting)j(of)g Fs(bell-style)p Ft(\).)150 1205
 y Fs(do-lowercase-version)25 b(\(M-A,)k(M-B,)g(M-)p Fl(x)p
-Fs(,)g(...)o(\))630 4856 y Ft(If)35 b(the)g(meta\014ed)g(c)m(haracter)i
+Fs(,)g(...)o(\))630 1315 y Ft(If)35 b(the)g(meta\014ed)g(c)m(haracter)i
 Fk(x)k Ft(is)35 b(upp)s(er)e(case,)k(run)d(the)h(command)g(that)g(is)g
-(b)s(ound)e(to)630 4965 y(the)g(corresp)s(onding)f(meta\014ed)h(lo)m(w)
+(b)s(ound)e(to)630 1425 y(the)g(corresp)s(onding)f(meta\014ed)h(lo)m(w)
 m(er)i(case)f(c)m(haracter.)50 b(The)32 b(b)s(eha)m(vior)h(is)g
-(unde\014ned)e(if)630 5075 y Fk(x)37 b Ft(is)30 b(already)h(lo)m(w)m
-(er)h(case.)150 5230 y Fs(prefix-meta)27 b(\(ESC\))630
-5340 y Ft(Metafy)32 b(the)e(next)h(c)m(haracter)h(t)m(yp)s(ed.)40
+(unde\014ned)e(if)630 1534 y Fk(x)37 b Ft(is)30 b(already)h(lo)m(w)m
+(er)h(case.)150 1685 y Fs(prefix-meta)27 b(\(ESC\))630
+1794 y Ft(Metafy)32 b(the)e(next)h(c)m(haracter)h(t)m(yp)s(ed.)40
 b(T)m(yping)30 b(`)p Fs(ESC)g(f)p Ft(')g(is)h(equiv)-5
-b(alen)m(t)31 b(to)h(t)m(yping)e Fl(M-f)p Ft(.)p eop
-end
-%%Page: 25 29
-TeXDict begin 25 28 bop 150 -116 a Ft(Chapter)30 b(1:)41
-b(Command)29 b(Line)i(Editing)2107 b(25)150 299 y Fs(undo)29
-b(\(C-_)g(or)h(C-x)g(C-u\))630 408 y Ft(Incremen)m(tal)h(undo,)f
-(separately)h(remem)m(b)s(ered)f(for)g(eac)m(h)i(line.)150
-584 y Fs(revert-line)27 b(\(M-r\))630 693 y Ft(Undo)33
+b(alen)m(t)31 b(to)h(t)m(yping)e Fl(M-f)p Ft(.)150 1945
+y Fs(undo)f(\(C-_)g(or)h(C-x)g(C-u\))630 2054 y Ft(Incremen)m(tal)h
+(undo,)f(separately)h(remem)m(b)s(ered)f(for)g(eac)m(h)i(line.)150
+2205 y Fs(revert-line)27 b(\(M-r\))630 2314 y Ft(Undo)33
 b(all)h(c)m(hanges)g(made)f(to)h(this)f(line.)49 b(This)32
 b(is)h(lik)m(e)i(executing)f(the)f Fs(undo)f Ft(command)630
-803 y(enough)e(times)h(to)g(get)h(bac)m(k)f(to)g(the)f(initial)i
-(state.)150 978 y Fs(tilde-expand)27 b(\(M-~\))630 1088
+2424 y(enough)e(times)h(to)g(get)h(bac)m(k)f(to)g(the)f(initial)i
+(state.)150 2574 y Fs(tilde-expand)27 b(\(M-~\))630 2684
 y Ft(P)m(erform)j(tilde)h(expansion)g(on)f(the)g(curren)m(t)h(w)m(ord.)
-150 1263 y Fs(set-mark)d(\(C-@\))630 1373 y Ft(Set)k(the)g(mark)f(to)h
+150 2834 y Fs(set-mark)d(\(C-@\))630 2944 y Ft(Set)k(the)g(mark)f(to)h
 (the)g(p)s(oin)m(t.)45 b(If)31 b(a)h(n)m(umeric)f(argumen)m(t)h(is)g
-(supplied,)f(set)h(the)g(mark)f(to)630 1482 y(that)g(p)s(osition.)150
-1658 y Fs(exchange-point-and-mark)24 b(\(C-x)29 b(C-x\))630
-1767 y Ft(Sw)m(ap)38 b(the)g(p)s(oin)m(t)h(with)f(the)g(mark.)65
+(supplied,)f(set)h(the)g(mark)f(to)630 3054 y(that)g(p)s(osition.)150
+3204 y Fs(exchange-point-and-mark)24 b(\(C-x)29 b(C-x\))630
+3314 y Ft(Sw)m(ap)38 b(the)g(p)s(oin)m(t)h(with)f(the)g(mark.)65
 b(Set)38 b(the)h(curren)m(t)f(cursor)g(p)s(osition)g(to)h(the)g(sa)m(v)
-m(ed)630 1877 y(p)s(osition,)31 b(then)f(set)h(the)f(mark)g(to)h(the)g
-(old)g(cursor)e(p)s(osition.)150 2052 y Fs(character-search)d(\(C-]\))
-630 2162 y Ft(Read)33 b(a)h(c)m(haracter)g(and)e(mo)m(v)m(e)j(p)s(oin)m
+m(ed)630 3423 y(p)s(osition,)31 b(then)f(set)h(the)f(mark)g(to)h(the)g
+(old)g(cursor)e(p)s(osition.)150 3574 y Fs(character-search)d(\(C-]\))
+630 3683 y Ft(Read)33 b(a)h(c)m(haracter)g(and)e(mo)m(v)m(e)j(p)s(oin)m
 (t)e(to)h(the)f(next)g(o)s(ccurrence)g(of)g(that)h(c)m(haracter.)50
-b(A)630 2271 y(negativ)m(e)33 b(argumen)m(t)d(searc)m(hes)i(for)e
-(previous)g(o)s(ccurrences.)150 2447 y Fs(character-search-backwar)o(d)
-24 b(\(M-C-]\))630 2556 y Ft(Read)30 b(a)g(c)m(haracter)h(and)e(mo)m(v)
+b(A)630 3793 y(negativ)m(e)33 b(argumen)m(t)d(searc)m(hes)i(for)e
+(previous)g(o)s(ccurrences.)150 3943 y Fs(character-search-backwar)o(d)
+24 b(\(M-C-]\))630 4053 y Ft(Read)30 b(a)g(c)m(haracter)h(and)e(mo)m(v)
 m(e)i(p)s(oin)m(t)e(to)i(the)e(previous)g(o)s(ccurrence)h(of)g(that)g
-(c)m(haracter.)630 2666 y(A)g(negativ)m(e)j(argumen)m(t)e(searc)m(hes)g
-(for)f(subsequen)m(t)g(o)s(ccurrences.)150 2841 y Fs(skip-csi-sequence)
-c(\(\))630 2951 y Ft(Read)i(enough)f(c)m(haracters)h(to)g(consume)f(a)h
+(c)m(haracter.)630 4162 y(A)g(negativ)m(e)j(argumen)m(t)e(searc)m(hes)g
+(for)f(subsequen)m(t)g(o)s(ccurrences.)150 4313 y Fs(skip-csi-sequence)
+c(\(\))630 4422 y Ft(Read)i(enough)f(c)m(haracters)h(to)g(consume)f(a)h
 (m)m(ulti-k)m(ey)h(sequence)f(suc)m(h)f(as)g(those)h(de\014ned)630
-3061 y(for)40 b(k)m(eys)h(lik)m(e)g(Home)g(and)f(End.)68
+4532 y(for)40 b(k)m(eys)h(lik)m(e)g(Home)g(and)f(End.)68
 b(CSI)40 b(sequences)g(b)s(egin)g(with)g(a)g(Con)m(trol)h(Sequence)630
-3170 y(Indicator)c(\(CSI\),)f(usually)h(ESC-[.)59 b(If)36
+4642 y(Indicator)c(\(CSI\),)f(usually)h(ESC-[.)59 b(If)36
 b(this)g(sequence)h(is)g(b)s(ound)d(to)k Fs("\\)p Ft(e[)p
-Fs(")p Ft(,)g(k)m(eys)f(pro-)630 3280 y(ducing)31 b(CSI)f(sequences)i
+Fs(")p Ft(,)g(k)m(eys)f(pro-)630 4751 y(ducing)31 b(CSI)f(sequences)i
 (will)g(ha)m(v)m(e)h(no)e(e\013ect)i(unless)e(explicitly)i(b)s(ound)c
-(to)j(a)g(Readline)630 3389 y(command,)g(instead)g(of)g(inserting)g
+(to)j(a)g(Readline)630 4861 y(command,)g(instead)g(of)g(inserting)g
 (stra)m(y)h(c)m(haracters)g(in)m(to)g(the)f(editing)h(bu\013er.)44
-b(This)31 b(is)630 3499 y(un)m(b)s(ound)d(b)m(y)i(default,)h(but)f
-(usually)g(b)s(ound)e(to)j(ESC-[.)150 3674 y Fs(insert-comment)26
-b(\(M-#\))630 3784 y Ft(Without)34 b(a)g(n)m(umeric)g(argumen)m(t,)h
+b(This)31 b(is)630 4970 y(un)m(b)s(ound)d(b)m(y)i(default,)h(but)f
+(usually)g(b)s(ound)e(to)j(ESC-[.)150 5121 y Fs(insert-comment)26
+b(\(M-#\))630 5230 y Ft(Without)34 b(a)g(n)m(umeric)g(argumen)m(t,)h
 (insert)f(the)f(v)-5 b(alue)35 b(of)e(the)h Fs(comment-begin)c
-Ft(v)-5 b(ariable)630 3893 y(at)38 b(the)g(b)s(eginning)f(of)h(the)f
+Ft(v)-5 b(ariable)630 5340 y(at)38 b(the)g(b)s(eginning)f(of)h(the)f
 (curren)m(t)h(line.)63 b(If)37 b(a)h(n)m(umeric)f(argumen)m(t)h(is)g
-(supplied,)g(this)630 4003 y(command)i(acts)h(as)f(a)g(toggle:)62
-b(if)40 b(the)g(c)m(haracters)i(at)e(the)g(b)s(eginning)g(of)g(the)g
-(line)g(do)630 4113 y(not)35 b(matc)m(h)g(the)g(v)-5
-b(alue)35 b(of)f Fs(comment-begin)p Ft(,)f(insert)h(the)h(v)-5
-b(alue;)37 b(otherwise)e(delete)h(the)630 4222 y(c)m(haracters)28
-b(in)f Fs(comment-begin)c Ft(from)j(the)h(b)s(eginning)f(of)h(the)g
-(line.)40 b(In)26 b(either)h(case,)i(the)630 4332 y(line)i(is)f
-(accepted)i(as)e(if)h(a)g(newline)f(had)g(b)s(een)f(t)m(yp)s(ed.)150
-4507 y Fs(dump-functions)d(\(\))630 4617 y Ft(Prin)m(t)g(all)i(of)e
-(the)h(functions)f(and)g(their)g(k)m(ey)h(bindings)e(to)j(the)e
-(Readline)h(output)f(stream.)630 4726 y(If)31 b(a)h(n)m(umeric)g
-(argumen)m(t)g(is)g(supplied,)f(the)h(output)f(is)h(formatted)g(in)f
-(suc)m(h)h(a)g(w)m(a)m(y)g(that)630 4836 y(it)f(can)g(b)s(e)e(made)i
-(part)f(of)g(an)h Fk(inputrc)k Ft(\014le.)41 b(This)29
-b(command)h(is)h(un)m(b)s(ound)c(b)m(y)k(default.)150
-5011 y Fs(dump-variables)26 b(\(\))630 5121 y Ft(Prin)m(t)21
-b(all)h(of)g(the)f(settable)i(v)-5 b(ariables)22 b(and)f(their)g(v)-5
-b(alues)22 b(to)g(the)f(Readline)h(output)f(stream.)630
-5230 y(If)31 b(a)h(n)m(umeric)g(argumen)m(t)g(is)g(supplied,)f(the)h
-(output)f(is)h(formatted)g(in)f(suc)m(h)h(a)g(w)m(a)m(y)g(that)630
-5340 y(it)f(can)g(b)s(e)e(made)i(part)f(of)g(an)h Fk(inputrc)k
-Ft(\014le.)41 b(This)29 b(command)h(is)h(un)m(b)s(ound)c(b)m(y)k
-(default.)p eop end
+(supplied,)g(this)p eop end
 %%Page: 26 30
 TeXDict begin 26 29 bop 150 -116 a Ft(Chapter)30 b(1:)41
-b(Command)29 b(Line)i(Editing)2107 b(26)150 299 y Fs(dump-macros)27
-b(\(\))630 408 y Ft(Prin)m(t)34 b(all)g(of)g(the)g(Readline)g(k)m(ey)h
-(sequences)f(b)s(ound)e(to)i(macros)g(and)f(the)h(strings)g(they)630
-518 y(output)e(to)h(the)f(Readline)h(output)f(stream.)46
+b(Command)29 b(Line)i(Editing)2107 b(26)630 299 y(command)40
+b(acts)h(as)f(a)g(toggle:)62 b(if)40 b(the)g(c)m(haracters)i(at)e(the)g
+(b)s(eginning)g(of)g(the)g(line)g(do)630 408 y(not)35
+b(matc)m(h)g(the)g(v)-5 b(alue)35 b(of)f Fs(comment-begin)p
+Ft(,)f(insert)h(the)h(v)-5 b(alue;)37 b(otherwise)e(delete)h(the)630
+518 y(c)m(haracters)28 b(in)f Fs(comment-begin)c Ft(from)j(the)h(b)s
+(eginning)f(of)h(the)g(line.)40 b(In)26 b(either)h(case,)i(the)630
+628 y(line)i(is)f(accepted)i(as)e(if)h(a)g(newline)f(had)g(b)s(een)f(t)
+m(yp)s(ed.)150 787 y Fs(dump-functions)d(\(\))630 897
+y Ft(Prin)m(t)g(all)i(of)e(the)h(functions)f(and)g(their)g(k)m(ey)h
+(bindings)e(to)j(the)e(Readline)h(output)f(stream.)630
+1006 y(If)31 b(a)h(n)m(umeric)g(argumen)m(t)g(is)g(supplied,)f(the)h
+(output)f(is)h(formatted)g(in)f(suc)m(h)h(a)g(w)m(a)m(y)g(that)630
+1116 y(it)f(can)g(b)s(e)e(made)i(part)f(of)g(an)h Fk(inputrc)k
+Ft(\014le.)41 b(This)29 b(command)h(is)h(un)m(b)s(ound)c(b)m(y)k
+(default.)150 1275 y Fs(dump-variables)26 b(\(\))630
+1385 y Ft(Prin)m(t)21 b(all)h(of)g(the)f(settable)i(v)-5
+b(ariables)22 b(and)f(their)g(v)-5 b(alues)22 b(to)g(the)f(Readline)h
+(output)f(stream.)630 1494 y(If)31 b(a)h(n)m(umeric)g(argumen)m(t)g(is)
+g(supplied,)f(the)h(output)f(is)h(formatted)g(in)f(suc)m(h)h(a)g(w)m(a)
+m(y)g(that)630 1604 y(it)f(can)g(b)s(e)e(made)i(part)f(of)g(an)h
+Fk(inputrc)k Ft(\014le.)41 b(This)29 b(command)h(is)h(un)m(b)s(ound)c
+(b)m(y)k(default.)150 1763 y Fs(dump-macros)c(\(\))630
+1873 y Ft(Prin)m(t)34 b(all)g(of)g(the)g(Readline)g(k)m(ey)h(sequences)
+f(b)s(ound)e(to)i(macros)g(and)f(the)h(strings)g(they)630
+1983 y(output)e(to)h(the)f(Readline)h(output)f(stream.)46
 b(If)32 b(a)g(n)m(umeric)g(argumen)m(t)h(is)f(supplied,)g(the)630
-628 y(output)g(is)f(formatted)i(in)f(suc)m(h)f(a)h(w)m(a)m(y)h(that)g
+2092 y(output)g(is)f(formatted)i(in)f(suc)m(h)f(a)h(w)m(a)m(y)h(that)g
 (it)f(can)g(b)s(e)g(made)g(part)f(of)h(an)g Fk(inputrc)37
-b Ft(\014le.)630 737 y(This)30 b(command)g(is)g(un)m(b)s(ound)e(b)m(y)i
-(default.)150 897 y Fs(execute-named-command)25 b(\(M-x\))630
-1006 y Ft(Read)j(a)g(bindable)f(readline)h(command)g(name)g(from)f(the)
-h(input)f(and)g(execute)j(the)e(func-)630 1116 y(tion)e(to)h(whic)m(h)f
+b Ft(\014le.)630 2202 y(This)30 b(command)g(is)g(un)m(b)s(ound)e(b)m(y)
+i(default.)150 2361 y Fs(execute-named-command)25 b(\(M-x\))630
+2471 y Ft(Read)g(a)h(bindable)f(Readline)g(command)g(name)h(from)e(the)
+i(input)e(and)h(execute)h(the)g(func-)630 2580 y(tion)g(to)h(whic)m(h)f
 (it's)g(b)s(ound,)f(as)h(if)g(the)g(k)m(ey)h(sequence)f(to)h(whic)m(h)e
-(it)i(w)m(as)f(b)s(ound)e(app)s(eared)630 1225 y(in)37
+(it)i(w)m(as)f(b)s(ound)e(app)s(eared)630 2690 y(in)37
 b(the)h(input.)61 b(If)37 b(this)h(function)f(is)g(supplied)g(with)g(a)
-h(n)m(umeric)f(argumen)m(t,)j(it)e(passes)630 1335 y(that)31
+h(n)m(umeric)f(argumen)m(t,)j(it)e(passes)630 2800 y(that)31
 b(argumen)m(t)g(to)g(the)f(function)h(it)f(executes.)150
-1494 y Fs(emacs-editing-mode)25 b(\(C-e\))630 1604 y
+2959 y Fs(emacs-editing-mode)25 b(\(C-e\))630 3068 y
 Ft(When)30 b(in)g Fs(vi)g Ft(command)g(mo)s(de,)g(this)h(causes)f(a)h
 (switc)m(h)g(to)g Fs(emacs)e Ft(editing)i(mo)s(de.)150
-1763 y Fs(vi-editing-mode)26 b(\(M-C-j\))630 1873 y Ft(When)k(in)g
+3228 y Fs(vi-editing-mode)26 b(\(M-C-j\))630 3337 y Ft(When)k(in)g
 Fs(emacs)f Ft(editing)i(mo)s(de,)f(this)h(causes)f(a)h(switc)m(h)g(to)g
-Fs(vi)f Ft(editing)h(mo)s(de.)150 2114 y Fr(1.5)68 b(Readline)47
-b(vi)e(Mo)t(de)150 2273 y Ft(While)32 b(the)g(Readline)g(library)f(do)s
+Fs(vi)f Ft(editing)h(mo)s(de.)150 3578 y Fr(1.5)68 b(Readline)47
+b(vi)e(Mo)t(de)150 3738 y Ft(While)32 b(the)g(Readline)g(library)f(do)s
 (es)g(not)h(ha)m(v)m(e)h(a)f(full)f(set)h(of)g Fs(vi)f
 Ft(editing)h(functions,)f(it)h(do)s(es)g(con)m(tain)150
-2383 y(enough)i(to)h(allo)m(w)g(simple)f(editing)h(of)f(the)g(line.)52
+3847 y(enough)i(to)h(allo)m(w)g(simple)f(editing)h(of)f(the)g(line.)52
 b(The)34 b(Readline)g Fs(vi)g Ft(mo)s(de)f(b)s(eha)m(v)m(es)i(as)f(sp)s
-(eci\014ed)f(in)150 2492 y(the)e Fs(sh)e Ft(description)i(in)f(the)g
-Fm(posix)g Ft(standard.)275 2627 y(In)e(order)g(to)i(switc)m(h)g(in)m
+(eci\014ed)f(in)150 3957 y(the)e Fs(sh)e Ft(description)i(in)f(the)g
+Fm(posix)g Ft(standard.)275 4091 y(In)e(order)g(to)i(switc)m(h)g(in)m
 (teractiv)m(ely)i(b)s(et)m(w)m(een)d Fs(emacs)f Ft(and)g
 Fs(vi)h Ft(editing)g(mo)s(des,)g(use)g(the)g(command)150
-2736 y Fl(M-C-j)36 b Ft(\(b)s(ound)h(to)h(emacs-editing-mo)s(de)i(when)
+4201 y Fl(M-C-j)36 b Ft(\(b)s(ound)h(to)h(emacs-editing-mo)s(de)i(when)
 d(in)g Fs(vi)h Ft(mo)s(de)f(and)g(to)i(vi-editing-mo)s(de)g(in)e
-Fs(emacs)150 2846 y Ft(mo)s(de\).)k(The)30 b(Readline)h(default)f(is)g
-Fs(emacs)f Ft(mo)s(de.)275 2980 y(When)g(y)m(ou)i(en)m(ter)f(a)h(line)f
+Fs(emacs)150 4311 y Ft(mo)s(de\).)k(The)30 b(Readline)h(default)f(is)g
+Fs(emacs)f Ft(mo)s(de.)275 4445 y(When)g(y)m(ou)i(en)m(ter)f(a)h(line)f
 (in)g Fs(vi)f Ft(mo)s(de,)h(y)m(ou)h(are)f(already)h(placed)f(in)g
-(`insertion')g(mo)s(de,)g(as)h(if)f(y)m(ou)150 3090 y(had)f(t)m(yp)s
+(`insertion')g(mo)s(de,)g(as)h(if)f(y)m(ou)150 4555 y(had)f(t)m(yp)s
 (ed)g(an)g(`)p Fs(i)p Ft('.)41 b(Pressing)29 b Fs(ESC)f
 Ft(switc)m(hes)i(y)m(ou)g(in)m(to)h(`command')e(mo)s(de,)h(where)e(y)m
-(ou)i(can)g(edit)g(the)150 3200 y(text)35 b(of)f(the)g(line)g(with)f
+(ou)i(can)g(edit)g(the)150 4664 y(text)35 b(of)f(the)g(line)g(with)f
 (the)h(standard)f Fs(vi)g Ft(mo)m(v)m(emen)m(t)j(k)m(eys,)g(mo)m(v)m(e)
-f(to)f(previous)g(history)f(lines)h(with)150 3309 y(`)p
+f(to)f(previous)g(history)f(lines)h(with)150 4774 y(`)p
 Fs(k)p Ft(')d(and)e(subsequen)m(t)h(lines)h(with)f(`)p
 Fs(j)p Ft(',)g(and)g(so)h(forth.)p eop end
 %%Page: 27 31
@@ -8619,36 +8622,38 @@ b(programs)e(pro)m(vide)h(a)h(command)f(line)g(in)m(terface,)k(suc)m(h)
 Ft(.)63 b(F)-8 b(or)39 b(suc)m(h)150 1386 y(programs,)29
 b(the)f(default)h(b)s(eha)m(viour)f(of)h(Readline)g(is)g(su\016cien)m
 (t.)40 b(This)28 b(section)i(describ)s(es)d(ho)m(w)i(to)g(use)150
-1496 y(Readline)35 b(in)f(the)h(simplest)f(w)m(a)m(y)h(p)s(ossible,)h
-(p)s(erhaps)c(to)j(replace)h(calls)f(in)f(y)m(our)h(co)s(de)f(to)h
-Fs(gets\(\))e Ft(or)150 1605 y Fs(fgets\(\))p Ft(.)275
-1743 y(The)f(function)g Fs(readline\(\))e Ft(prin)m(ts)i(a)g(prompt)g
-Fk(prompt)i Ft(and)e(then)g(reads)g(and)g(returns)f(a)i(single)150
-1852 y(line)c(of)h(text)g(from)e(the)i(user.)39 b(Since)29
-b(it's)h(p)s(ossible)f(to)g(en)m(ter)h(c)m(haracters)h(in)m(to)f(the)f
-(line)g(while)g(quoting)150 1962 y(them)42 b(to)g(disable)g(an)m(y)g
-(Readline)g(editing)h(function)e(they)h(migh)m(t)h(normally)f(ha)m(v)m
-(e,)k(this)41 b(line)h(ma)m(y)150 2072 y(include)35 b(em)m(b)s(edded)f
-(newlines)h(and)f(other)h(sp)s(ecial)h(c)m(haracters.)56
-b(If)35 b Fk(prompt)h Ft(is)f Fs(NULL)f Ft(or)h(the)h(empt)m(y)150
-2181 y(string,)31 b(no)g(prompt)f(is)h(displa)m(y)m(ed.)43
-b(The)31 b(line)g Fs(readline)e Ft(returns)h(is)h(allo)s(cated)i(with)d
-Fs(malloc\(\))p Ft(;)g(the)150 2291 y(caller)g(should)f
-Fs(free\(\))e Ft(the)i(line)h(when)e(it)i(has)f(\014nished)e(with)i
-(it.)41 b(The)29 b(declaration)h(for)f Fs(readline)e
-Ft(in)150 2400 y(ANSI)j(C)g(is)390 2538 y Fs(char)47
+1496 y(Readline)i(in)f(the)h(simplest)f(w)m(a)m(y)i(p)s(ossible,)e(p)s
+(erhaps)e(to)j(replace)h(calls)f(in)f(y)m(our)h(co)s(de)f(to)h
+Fs(fgets\(\))p Ft(.)275 1633 y(The)38 b(function)g Fs(readline\(\))e
+Ft(prin)m(ts)i(a)i(prompt)d Fk(prompt)j Ft(and)e(then)h(reads)f(and)g
+(returns)g(a)h(sin-)150 1743 y(gle)i(line)f(of)g(text)h(from)e(the)h
+(user.)68 b(Since)40 b(it's)g(p)s(ossible)g(to)g(en)m(ter)h(c)m
+(haracters)g(in)m(to)g(the)f(line)g(while)150 1852 y(quoting)32
+b(them)g(to)g(disable)g(an)m(y)g(Readline)g(editing)g(function)g(they)f
+(migh)m(t)i(normally)f(ha)m(v)m(e,)h(this)f(line)150
+1962 y(ma)m(y)41 b(include)f(em)m(b)s(edded)g(newlines)g(and)g(other)g
+(sp)s(ecial)h(c)m(haracters.)73 b(If)40 b Fk(prompt)h
+Ft(is)g Fs(NULL)e Ft(or)i(the)150 2072 y(empt)m(y)34
+b(string,)h Fs(readline\(\))30 b Ft(do)s(es)j(not)h(displa)m(y)g(a)g
+(prompt.)49 b(The)33 b(line)h Fs(readline\(\))d Ft(returns)h(is)i(al-)
+150 2181 y(lo)s(cated)d(with)f Fs(malloc\(\))p Ft(;)e(the)i(caller)h
+(should)e Fs(free\(\))f Ft(the)i(line)g(when)f(it)i(has)e(\014nished)g
+(with)g(it.)41 b(The)150 2291 y(declaration)32 b(for)e
+Fs(readline)e Ft(in)i(ANSI)g(C)g(is)390 2429 y Fs(char)47
 b(*readline)e(\(const)h(char)h(*)p Fl(prompt)p Fs(\);)150
-2676 y Ft(So,)31 b(one)f(migh)m(t)h(sa)m(y)390 2814 y
+2566 y Ft(So,)31 b(one)f(migh)m(t)h(sa)m(y)390 2704 y
 Fs(char)47 b(*line)f(=)h(readline)f(\("Enter)g(a)h(line:)g("\);)150
-2951 y Ft(in)23 b(order)f(to)h(read)g(a)g(line)h(of)f(text)h(from)e
+2842 y Ft(in)23 b(order)f(to)h(read)g(a)g(line)h(of)f(text)h(from)e
 (the)h(user.)38 b(The)22 b(line)h(returned)f(has)g(the)h(\014nal)g
-(newline)g(remo)m(v)m(ed,)150 3061 y(so)31 b(only)f(the)h(text)g
-(remains.)275 3199 y(If)40 b Fs(readline)e Ft(encoun)m(ters)j(an)f
-Fs(EOF)f Ft(while)i(reading)f(the)h(line,)j(and)39 b(the)i(line)g(is)f
-(empt)m(y)h(at)g(that)150 3308 y(p)s(oin)m(t,)30 b(then)f
-Fs(\(char)g(*\)NULL)e Ft(is)j(returned.)39 b(Otherwise,)30
-b(the)f(line)h(is)f(ended)g(just)g(as)g(if)h(a)f(newline)h(had)150
-3418 y(b)s(een)g(t)m(yp)s(ed.)275 3556 y(Readline)22
+(newline)g(remo)m(v)m(ed,)150 2951 y(so)35 b(only)f(the)h(text)g
+(remains.)53 b(This)33 b(means)h(that)h(lines)g(consisting)g(of)g(a)f
+(newline)h(return)e(the)i(empt)m(y)150 3061 y(string.)275
+3199 y(If)25 b(Readline)h(encoun)m(ters)h(an)e Fs(EOF)g
+Ft(while)h(reading)g(the)g(line,)h(and)e(the)h(line)h(is)e(empt)m(y)i
+(at)f(that)h(p)s(oin)m(t,)150 3308 y(then)34 b Fs(readline\(\))e
+Ft(returns)h Fs(\(char)c(*\)NULL)p Ft(.)52 b(Otherwise,)36
+b(the)e(line)h(is)g(ended)f(just)g(as)h(if)f(a)h(newline)150
+3418 y(had)30 b(b)s(een)f(t)m(yp)s(ed.)275 3556 y(Readline)22
 b(p)s(erforms)e(some)j(expansion)e(on)h(the)g Fk(prompt)h
 Ft(b)s(efore)f(it)g(is)g(displa)m(y)m(ed)h(on)f(the)g(screen.)38
 b(See)150 3665 y(the)27 b(description)g(of)h Fs(rl_expand_prompt)22
@@ -8689,12 +8694,12 @@ y(/*)i(If)f(the)g(line)f(has)h(any)g(text)g(in)g(it,)629
 1943 y(save)f(it)h(on)h(the)f(history.)e(*/)485 2052
 y(if)j(\(line_read)d(&&)i(*line_read\))581 2162 y(add_history)e
 (\(line_read\);)485 2381 y(return)i(\(line_read\);)390
-2491 y(})275 2622 y Ft(This)27 b(function)h(giv)m(es)h(the)f(user)g
-(the)g(default)g(b)s(eha)m(viour)g(of)g Fs(TAB)g Ft(completion:)40
-b(completion)30 b(on)e(\014le)150 2732 y(names.)41 b(If)31
-b(y)m(ou)g(do)f(not)h(w)m(an)m(t)g(Readline)h(to)f(complete)h(on)f
-(\014lenames,)g(y)m(ou)g(can)f(c)m(hange)i(the)f(binding)150
-2841 y(of)g(the)f Fs(TAB)g Ft(k)m(ey)h(with)f Fs(rl_bind_key\(\))p
+2491 y(})275 2622 y Ft(This)30 b(function)h(giv)m(es)i(the)e(user)g
+(the)g(default)h(b)s(eha)m(viour)f(of)g Fs(TAB)g Ft(completion:)43
+b(\014lename)32 b(comple-)150 2732 y(tion.)40 b(If)28
+b(y)m(ou)g(do)g(not)g(w)m(an)m(t)h(Readline)f(to)h(complete)g
+(\014lenames,)g(y)m(ou)f(can)g(c)m(hange)h(the)f(binding)f(of)h(the)150
+2841 y Fs(TAB)h Ft(k)m(ey)j(with)e Fs(rl_bind_key\(\))p
 Ft(.)390 2973 y Fs(int)47 b(rl_bind_key)e(\(int)h Fl(key)p
 Fs(,)h(rl_command_func_t)c(*)p Fl(function)p Fs(\);)275
 3104 y(rl_bind_key\(\))29 b Ft(tak)m(es)35 b(t)m(w)m(o)g(argumen)m(ts:)
@@ -8721,19 +8726,19 @@ b Ft(whic)m(h)33 b(p)s(erforms)e(this)h(and)h(other)g(desired)f
 (manipulating)h(the)f(text)h(of)g(the)f(line,)i(but)d(it)i(isn't)f(p)s
 (ossible)150 4551 y(to)37 b(an)m(ticipate)i(the)e(needs)f(of)h(all)g
 (programs.)59 b(This)36 b(section)h(describ)s(es)f(the)h(v)-5
-b(arious)36 b(functions)h(and)150 4660 y(v)-5 b(ariables)27
-b(de\014ned)e(within)g(the)h(Readline)h(library)f(whic)m(h)g(allo)m(w)h
-(a)g(user)e(program)h(to)h(add)e(customized)150 4770
-y(functionalit)m(y)32 b(to)f(Readline.)275 4902 y(Before)37
-b(declaring)g(an)m(y)g(functions)f(that)h(customize)h(Readline's)f(b)s
-(eha)m(vior,)h(or)f(using)f(an)m(y)h(func-)150 5011 y(tionalit)m(y)48
-b(Readline)e(pro)m(vides)f(in)g(other)h(co)s(de,)k(an)45
-b(application)i(writer)e(should)g(include)g(the)h(\014le)150
-5121 y Fs(<readline/readline.h>)28 b Ft(in)33 b(an)m(y)h(\014le)f(that)
-h(uses)f(Readline's)h(features.)51 b(Since)33 b(some)h(of)g(the)f
-(de\014-)150 5230 y(nitions)e(in)g Fs(readline.h)d Ft(use)j(the)h
-Fs(stdio)d Ft(library)-8 b(,)32 b(the)f(\014le)h Fs(<stdio.h>)c
-Ft(should)i(b)s(e)h(included)f(b)s(efore)150 5340 y Fs(readline.h)p
+b(arious)36 b(functions)h(and)150 4660 y(v)-5 b(ariables)42
+b(de\014ned)f(within)g(the)h(Readline)h(library)e(whic)m(h)g(allo)m(w)j
+(a)e(program)f(to)i(add)e(customized)150 4770 y(functionalit)m(y)32
+b(to)f(Readline.)275 4902 y(Before)37 b(declaring)g(an)m(y)g(functions)
+f(that)h(customize)h(Readline's)f(b)s(eha)m(vior,)h(or)f(using)f(an)m
+(y)h(func-)150 5011 y(tionalit)m(y)48 b(Readline)e(pro)m(vides)f(in)g
+(other)h(co)s(de,)k(an)45 b(application)i(writer)e(should)g(include)g
+(the)h(\014le)150 5121 y Fs(<readline/readline.h>)22
+b Ft(in)27 b(an)m(y)h(\014le)f(that)h(uses)f(Readline's)i(features.)40
+b(Since)27 b(some)h(of)g(the)g(de\014ni-)150 5230 y(tions)k(in)f
+Fs(readline.h)d Ft(use)j(the)h Fs(stdio)e Ft(library)-8
+b(,)31 b(the)h(program)f(should)f(include)i(the)f(\014le)g
+Fs(<stdio.h>)150 5340 y Ft(b)s(efore)f Fs(readline.h)p
 Ft(.)p eop end
 %%Page: 29 33
 TeXDict begin 29 32 bop 150 -116 a Ft(Chapter)30 b(2:)41
@@ -8751,2469 +8756,2533 @@ b(jor)150 737 y(v)m(ersion)29 b(n)m(um)m(b)s(er;)g Fk(mm)f
 Ft(is)h(the)g(t)m(w)m(o-digit)j(minor)c(v)m(ersion)i(n)m(um)m(b)s(er.)
 38 b(F)-8 b(or)30 b(Readline)g(4.2,)g(for)f(example,)150
 847 y(the)i(v)-5 b(alue)30 b(of)h Fs(RL_READLINE_VERSION)25
-b Ft(w)m(ould)30 b(b)s(e)g Fs(0x0402)p Ft(.)150 1034
-y Fi(2.2.1)63 b(Readline)40 b(T)m(yp)s(edefs)150 1181
+b Ft(w)m(ould)30 b(b)s(e)g Fs(0x0402)p Ft(.)150 1078
+y Fi(2.2.1)63 b(Readline)40 b(T)m(yp)s(edefs)150 1225
 y Ft(F)-8 b(or)31 b(readabilit)m(y)-8 b(,)33 b(w)m(e)d(declare)i(a)f(n)
 m(um)m(b)s(er)e(of)h(new)g(ob)5 b(ject)31 b(t)m(yp)s(es,)g(all)g(p)s
-(oin)m(ters)f(to)i(functions.)275 1310 y(The)j(reason)h(for)f
+(oin)m(ters)f(to)i(functions.)275 1391 y(The)j(reason)h(for)f
 (declaring)h(these)h(new)e(t)m(yp)s(es)g(is)h(to)h(mak)m(e)f(it)g
-(easier)h(to)f(write)g(co)s(de)g(describing)150 1419
+(easier)h(to)f(write)g(co)s(de)g(describing)150 1501
 y(p)s(oin)m(ters)30 b(to)h(C)f(functions)g(with)g(appropriately)h
 (protot)m(yp)s(ed)f(argumen)m(ts)h(and)f(return)f(v)-5
-b(alues.)275 1548 y(F)d(or)37 b(instance,)j(sa)m(y)d(w)m(e)g(w)m(an)m
+b(alues.)275 1667 y(F)d(or)37 b(instance,)j(sa)m(y)d(w)m(e)g(w)m(an)m
 (t)h(to)g(declare)f(a)h(v)-5 b(ariable)37 b Fk(func)42
 b Ft(as)37 b(a)g(p)s(oin)m(ter)g(to)g(a)h(function)e(whic)m(h)150
-1657 y(tak)m(es)27 b(t)m(w)m(o)g Fs(int)e Ft(argumen)m(ts)h(and)f
+1777 y(tak)m(es)27 b(t)m(w)m(o)g Fs(int)e Ft(argumen)m(ts)h(and)f
 (returns)f(an)i Fs(int)f Ft(\(this)h(is)f(the)h(t)m(yp)s(e)g(of)g(all)h
-(of)e(the)h(Readline)h(bindable)150 1767 y(functions\).)41
+(of)e(the)h(Readline)h(bindable)150 1886 y(functions\).)41
 b(Instead)30 b(of)g(the)h(classic)h(C)e(declaration)275
-1895 y Fs(int)f(\(*func\)\(\);)150 2024 y Ft(or)h(the)h(ANSI-C)f(st)m
-(yle)i(declaration)275 2152 y Fs(int)d(\(*func\)\(int,)e(int\);)150
-2281 y Ft(w)m(e)k(ma)m(y)g(write)275 2409 y Fs(rl_command_func_t)25
-b(*func;)275 2538 y Ft(The)k(full)h(list)i(of)e(function)g(p)s(oin)m
-(ter)g(t)m(yp)s(es)h(a)m(v)-5 b(ailable)33 b(is)150 2685
+2053 y Fs(int)f(\(*func\)\(\);)150 2219 y Ft(or)h(the)h(ANSI-C)f(st)m
+(yle)i(declaration)275 2385 y Fs(int)d(\(*func\)\(int,)e(int\);)150
+2552 y Ft(w)m(e)k(ma)m(y)g(write)275 2718 y Fs(rl_command_func_t)25
+b(*func;)275 2884 y Ft(The)k(full)h(list)i(of)e(function)g(p)s(oin)m
+(ter)g(t)m(yp)s(es)h(a)m(v)-5 b(ailable)33 b(is)150 3091
 y Fs(typedef)28 b(int)i(rl_command_func_t)c(\(int,)i(int\);)150
-2795 y(typedef)g(char)i(*rl_compentry_func_t)24 b(\(const)29
-b(char)g(*,)h(int\);)150 2905 y(typedef)e(char)i
+3201 y(typedef)g(char)i(*rl_compentry_func_t)24 b(\(const)29
+b(char)g(*,)h(int\);)150 3311 y(typedef)e(char)i
 (**rl_completion_func_t)24 b(\(const)29 b(char)g(*,)h(int,)f(int\);)150
-3014 y(typedef)f(char)i(*rl_quote_func_t)c(\(char)i(*,)i(int,)f(char)h
-(*\);)150 3124 y(typedef)e(char)i(*rl_dequote_func_t)25
-b(\(char)k(*,)h(int\);)150 3233 y(typedef)e(int)i(rl_compignore_func_t)
-25 b(\(char)k(**\);)150 3343 y(typedef)f(void)i(rl_compdisp_func_t)25
-b(\(char)k(**,)g(int,)h(int\);)150 3453 y(typedef)e(int)i
-(rl_hook_func_t)c(\(void\);)150 3562 y(typedef)i(int)i(rl_getc_func_t)c
-(\(FILE)j(*\);)150 3672 y(typedef)f(int)i(rl_linebuf_func_t)c(\(char)i
-(*,)i(int\);)150 3781 y(typedef)e(int)i(rl_intfunc_t)d(\(int\);)150
-3891 y(#define)h(rl_ivoidfunc_t)f(rl_hook_func_t)150
-4000 y(typedef)h(int)i(rl_icpfunc_t)d(\(char)i(*\);)150
-4110 y(typedef)f(int)i(rl_icppfunc_t)d(\(char)i(**\);)150
-4220 y(typedef)f(void)i(rl_voidfunc_t)c(\(void\);)150
-4329 y(typedef)i(void)i(rl_vintfunc_t)c(\(int\);)150
-4439 y(typedef)i(void)i(rl_vcpfunc_t)d(\(char)i(*\);)150
-4548 y(typedef)f(void)i(rl_vcppfunc_t)c(\(char)j(**\);)150
-4717 y Fi(2.2.2)63 b(W)-10 b(riting)41 b(a)f(New)h(F)-10
-b(unction)150 4864 y Ft(In)30 b(order)h(to)h(write)f(new)g(functions)f
-(for)h(Readline,)h(y)m(ou)g(need)e(to)i(kno)m(w)f(the)g(calling)i(con)m
-(v)m(en)m(tions)g(for)150 4973 y(k)m(eyb)s(oard-in)m(v)m(ok)m(ed)f
-(functions,)d(and)h(the)g(names)g(of)g(the)g(v)-5 b(ariables)31
-b(that)f(describ)s(e)g(the)g(curren)m(t)g(state)150 5083
-y(of)h(the)f(line)h(read)f(so)h(far.)275 5211 y(The)e(calling)j
-(sequence)f(for)f(a)h(command)f Fs(foo)g Ft(lo)s(oks)g(lik)m(e)390
-5340 y Fs(int)47 b(foo)g(\(int)f(count,)h(int)f(key\))p
-eop end
+3420 y(typedef)f(char)i(*rl_quote_func_t)c(\(char)i(*,)i(int,)f(char)h
+(*\);)150 3530 y(typedef)e(char)i(*rl_dequote_func_t)25
+b(\(char)k(*,)h(int\);)150 3639 y(typedef)e(int)i(rl_compignore_func_t)
+25 b(\(char)k(**\);)150 3749 y(typedef)f(void)i(rl_compdisp_func_t)25
+b(\(char)k(**,)g(int,)h(int\);)150 3859 y(typedef)e(void)i
+(rl_macro_print_func_t)24 b(\(const)29 b(char)g(*,)h(const)f(char)g(*,)
+h(int,)f(const)g(char)150 3968 y(*\);)150 4078 y(typedef)f(int)i
+(rl_hook_func_t)c(\(void\);)150 4187 y(typedef)i(int)i(rl_getc_func_t)c
+(\(FILE)j(*\);)150 4297 y(typedef)f(int)i(rl_linebuf_func_t)c(\(char)i
+(*,)i(int\);)150 4407 y(typedef)e(int)i(rl_intfunc_t)d(\(int\);)150
+4516 y(#define)h(rl_ivoidfunc_t)f(rl_hook_func_t)150
+4626 y(typedef)h(int)i(rl_icpfunc_t)d(\(char)i(*\);)150
+4735 y(typedef)f(int)i(rl_icppfunc_t)d(\(char)i(**\);)150
+4845 y(typedef)f(void)i(rl_voidfunc_t)c(\(void\);)150
+4954 y(typedef)i(void)i(rl_vintfunc_t)c(\(int\);)150
+5064 y(typedef)i(void)i(rl_vcpfunc_t)d(\(char)i(*\);)150
+5174 y(typedef)f(void)i(rl_vcppfunc_t)c(\(char)j(**\);)150
+5340 y Ft(The)h Fs(rltypedefs.h)d Ft(\014le)j(has)g(more)h(do)s(cumen)m
+(tation)g(for)f(these)h(t)m(yp)s(es.)p eop end
 %%Page: 30 34
 TeXDict begin 30 33 bop 150 -116 a Ft(Chapter)30 b(2:)41
 b(Programming)30 b(with)g(GNU)h(Readline)1683 b(30)150
-299 y(where)35 b Fk(coun)m(t)k Ft(is)d(the)g(n)m(umeric)g(argumen)m(t)g
-(\(or)g(1)g(if)g(defaulted\))h(and)e Fk(k)m(ey)44 b Ft(is)36
-b(the)g(k)m(ey)h(that)f(in)m(v)m(ok)m(ed)150 408 y(this)30
-b(function.)275 541 y(It)23 b(is)g(completely)h(up)e(to)i(the)f
-(function)g(as)g(to)h(what)f(should)f(b)s(e)h(done)f(with)h(the)g(n)m
-(umeric)g(argumen)m(t.)150 650 y(Some)40 b(functions)g(use)f(it)i(as)f
-(a)g(rep)s(eat)h(coun)m(t,)i(some)d(as)h(a)f(\015ag,)j(and)c(others)h
-(to)h(c)m(ho)s(ose)g(alternate)150 760 y(b)s(eha)m(vior)i(\(refreshing)
-g(the)h(curren)m(t)f(line)h(as)f(opp)s(osed)g(to)h(refreshing)e(the)i
-(screen,)j(for)c(example\).)150 870 y(Some)33 b(c)m(ho)s(ose)h(to)g
-(ignore)g(it.)50 b(In)32 b(general,)j(if)f(a)f(function)g(uses)g(the)g
-(n)m(umeric)g(argumen)m(t)h(as)f(a)h(rep)s(eat)150 979
-y(coun)m(t,)29 b(it)g(should)e(b)s(e)g(able)h(to)h(do)f(something)g
-(useful)f(with)h(b)s(oth)f(negativ)m(e)j(and)d(p)s(ositiv)m(e)i
-(argumen)m(ts.)150 1089 y(A)m(t)i(the)g(v)m(ery)g(least,)h(it)e(should)
-g(b)s(e)g(a)m(w)m(are)h(that)g(it)g(can)g(b)s(e)f(passed)g(a)g(negativ)
-m(e)j(argumen)m(t.)275 1221 y(A)38 b(command)f(function)h(should)f
-(return)g(0)h(if)g(its)h(action)g(completes)g(successfully)-8
-b(,)41 b(and)c(a)h(v)-5 b(alue)150 1331 y(greater)34
-b(than)f(zero)g(if)g(some)h(error)e(o)s(ccurs.)48 b(This)32
-b(is)h(the)g(con)m(v)m(en)m(tion)i(ob)s(ey)m(ed)f(b)m(y)e(all)i(of)f
-(the)g(builtin)150 1440 y(Readline)e(bindable)f(command)g(functions.)
-150 1677 y Fr(2.3)68 b(Readline)47 b(V)-11 b(ariables)150
-1836 y Ft(These)30 b(v)-5 b(ariables)31 b(are)g(a)m(v)-5
-b(ailable)33 b(to)e(function)f(writers.)3371 2014 y([V)-8
+299 y Fi(2.2.2)63 b(W)-10 b(riting)41 b(a)f(New)h(F)-10
+b(unction)150 446 y Ft(In)30 b(order)h(to)h(write)f(new)g(functions)f
+(for)h(Readline,)h(y)m(ou)g(need)e(to)i(kno)m(w)f(the)g(calling)i(con)m
+(v)m(en)m(tions)g(for)150 555 y(k)m(eyb)s(oard-in)m(v)m(ok)m(ed)f
+(functions,)d(and)h(the)g(names)g(of)g(the)g(v)-5 b(ariables)31
+b(that)f(describ)s(e)g(the)g(curren)m(t)g(state)150 665
+y(of)h(the)f(line)h(read)f(so)h(far.)275 799 y(The)e(calling)j
+(sequence)f(for)f(a)h(command)f Fs(foo)g Ft(lo)s(oks)g(lik)m(e)390
+932 y Fs(int)47 b(foo)g(\(int)f(count,)h(int)f(key\))150
+1066 y Ft(where)35 b Fk(coun)m(t)k Ft(is)d(the)g(n)m(umeric)g(argumen)m
+(t)g(\(or)g(1)g(if)g(defaulted\))h(and)e Fk(k)m(ey)44
+b Ft(is)36 b(the)g(k)m(ey)h(that)f(in)m(v)m(ok)m(ed)150
+1175 y(this)30 b(function.)275 1309 y(It)23 b(is)g(completely)h(up)e
+(to)i(the)f(function)g(as)g(to)h(what)f(should)f(b)s(e)h(done)f(with)h
+(the)g(n)m(umeric)g(argumen)m(t.)150 1418 y(Some)40 b(functions)g(use)f
+(it)i(as)f(a)g(rep)s(eat)h(coun)m(t,)i(some)d(as)h(a)f(\015ag,)j(and)c
+(others)h(to)h(c)m(ho)s(ose)g(alternate)150 1528 y(b)s(eha)m(vior)i
+(\(refreshing)g(the)h(curren)m(t)f(line)h(as)f(opp)s(osed)g(to)h
+(refreshing)e(the)i(screen,)j(for)c(example\).)150 1637
+y(Some)33 b(c)m(ho)s(ose)h(to)g(ignore)g(it.)50 b(In)32
+b(general,)j(if)f(a)f(function)g(uses)g(the)g(n)m(umeric)g(argumen)m(t)
+h(as)f(a)h(rep)s(eat)150 1747 y(coun)m(t,)29 b(it)g(should)e(b)s(e)g
+(able)h(to)h(do)f(something)g(useful)f(with)h(b)s(oth)f(negativ)m(e)j
+(and)d(p)s(ositiv)m(e)i(argumen)m(ts.)150 1857 y(A)m(t)i(the)g(v)m(ery)
+g(least,)h(it)e(should)g(b)s(e)g(a)m(w)m(are)h(that)g(it)g(can)g(b)s(e)
+f(passed)g(a)g(negativ)m(e)j(argumen)m(t.)275 1990 y(A)38
+b(command)f(function)h(should)f(return)g(0)h(if)g(its)h(action)g
+(completes)g(successfully)-8 b(,)41 b(and)c(a)h(v)-5
+b(alue)150 2100 y(greater)45 b(than)f(zero)h(if)f(some)h(error)f(o)s
+(ccurs.)82 b(All)44 b(of)h(the)f(builtin)g(Readline)h(bindable)e
+(command)150 2209 y(functions)30 b(ob)s(ey)g(this)g(con)m(v)m(en)m
+(tion.)150 2448 y Fr(2.3)68 b(Readline)47 b(V)-11 b(ariables)150
+2608 y Ft(These)30 b(v)-5 b(ariables)31 b(are)g(a)m(v)-5
+b(ailable)33 b(to)e(function)f(writers.)3371 2789 y([V)-8
 b(ariable])-3598 b Fh(char)54 b(*)e(rl_line_buffer)390
-2123 y Ft(This)30 b(is)i(the)f(line)g(gathered)h(so)f(far.)43
+2899 y Ft(This)30 b(is)i(the)f(line)g(gathered)h(so)f(far.)43
 b(Y)-8 b(ou)32 b(are)f(w)m(elcome)i(to)f(mo)s(dify)f(the)g(con)m(ten)m
-(ts)i(of)e(the)g(line,)390 2233 y(but)k(see)h(Section)g(2.4.5)h([Allo)m
+(ts)i(of)e(the)g(line,)390 3008 y(but)k(see)h(Section)g(2.4.5)h([Allo)m
 (wing)h(Undoing],)f(page)f(40.)57 b(The)35 b(function)g
-Fs(rl_extend_line_)390 2342 y(buffer)29 b Ft(is)h(a)m(v)-5
-b(ailable)33 b(to)e(increase)g(the)g(memory)f(allo)s(cated)i(to)f
-Fs(rl_line_buffer)p Ft(.)3371 2520 y([V)-8 b(ariable])-3598
-b Fh(int)53 b(rl_point)390 2630 y Ft(The)30 b(o\013set)h(of)g(the)f
-(curren)m(t)h(cursor)e(p)s(osition)i(in)f Fs(rl_line_buffer)c
-Ft(\(the)31 b Fj(p)-5 b(oint)9 b Ft(\).)3371 2808 y([V)-8
-b(ariable])-3598 b Fh(int)53 b(rl_end)390 2917 y Ft(The)27
-b(n)m(um)m(b)s(er)g(of)h(c)m(haracters)h(presen)m(t)f(in)g
-Fs(rl_line_buffer)p Ft(.)36 b(When)27 b Fs(rl_point)f
-Ft(is)i(at)h(the)f(end)390 3027 y(of)j(the)f(line,)h
-Fs(rl_point)d Ft(and)i Fs(rl_end)f Ft(are)h(equal.)3371
-3204 y([V)-8 b(ariable])-3598 b Fh(int)53 b(rl_mark)390
-3314 y Ft(The)36 b Fk(mark)42 b Ft(\(sa)m(v)m(ed)d(p)s(osition\))e(in)g
-(the)g(curren)m(t)f(line.)61 b(If)36 b(set,)k(the)d(mark)f(and)h(p)s
-(oin)m(t)f(de\014ne)h(a)390 3424 y Fj(r)-5 b(e)g(gion)p
-Ft(.)3371 3601 y([V)d(ariable])-3598 b Fh(int)53 b(rl_done)390
-3711 y Ft(Setting)22 b(this)g(to)g(a)g(non-zero)g(v)-5
+Fs(rl_extend_line_)390 3118 y(buffer)29 b Ft(will)h(increase)i(the)e
+(memory)g(allo)s(cated)j(to)e Fs(rl_line_buffer)p Ft(.)3371
+3299 y([V)-8 b(ariable])-3598 b Fh(int)53 b(rl_point)390
+3409 y Ft(The)30 b(o\013set)h(of)g(the)f(curren)m(t)h(cursor)e(p)s
+(osition)i(in)f Fs(rl_line_buffer)c Ft(\(the)31 b Fj(p)-5
+b(oint)9 b Ft(\).)3371 3590 y([V)-8 b(ariable])-3598
+b Fh(int)53 b(rl_end)390 3700 y Ft(The)27 b(n)m(um)m(b)s(er)g(of)h(c)m
+(haracters)h(presen)m(t)f(in)g Fs(rl_line_buffer)p Ft(.)36
+b(When)27 b Fs(rl_point)f Ft(is)i(at)h(the)f(end)390
+3809 y(of)j(the)f(line,)h Fs(rl_point)d Ft(and)i Fs(rl_end)f
+Ft(are)h(equal.)3371 3991 y([V)-8 b(ariable])-3598 b
+Fh(int)53 b(rl_mark)390 4100 y Ft(The)36 b Fk(mark)42
+b Ft(\(sa)m(v)m(ed)d(p)s(osition\))e(in)g(the)g(curren)m(t)f(line.)61
+b(If)36 b(set,)k(the)d(mark)f(and)h(p)s(oin)m(t)f(de\014ne)h(a)390
+4210 y Fj(r)-5 b(e)g(gion)p Ft(.)54 b(Some)35 b(Readline)g(commands)f
+(set)h(the)f(mark)h(as)f(part)h(of)f(op)s(erating;)k(users)33
+b(can)i(also)390 4320 y(set)c(the)f(mark)h(explicitly)-8
+b(.)3371 4501 y([V)g(ariable])-3598 b Fh(int)53 b(rl_done)390
+4611 y Ft(Setting)22 b(this)g(to)g(a)g(non-zero)g(v)-5
 b(alue)23 b(causes)f(Readline)g(to)g(return)f(the)h(curren)m(t)f(line)h
-(immediately)-8 b(.)390 3820 y(Readline)26 b(will)f(set)h(this)f(v)-5
+(immediately)-8 b(.)390 4720 y(Readline)26 b(will)f(set)h(this)f(v)-5
 b(ariable)26 b(when)e(it)i(has)f(read)g(a)g(k)m(ey)h(sequence)g(b)s
-(ound)d(to)j Fs(accept-line)390 3930 y Ft(and)k(is)g(ab)s(out)g(to)h
-(return)f(the)g(line)h(to)g(the)g(caller.)3371 4108 y([V)-8
-b(ariable])-3598 b Fh(int)53 b(rl_eof_found)390 4217
+(ound)d(to)j Fs(accept-line)390 4830 y Ft(and)k(is)g(ab)s(out)g(to)h
+(return)f(the)g(line)h(to)g(the)g(caller.)3371 5011 y([V)-8
+b(ariable])-3598 b Fh(int)53 b(rl_eof_found)390 5121
 y Ft(Readline)28 b(will)g(set)g(this)f(v)-5 b(ariable)28
 b(when)e(it)i(has)f(read)g(an)h(EOF)f(c)m(haracter)i(\(e.g.,)h(the)d
-(stt)m(y)h(`)p Fs(EOF)p Ft(')390 4327 y(c)m(haracter\))42
-b(on)e(an)f(empt)m(y)i(line)f(or)g(encoun)m(tered)g(a)g(read)g(error)f
-(and)h(is)g(ab)s(out)f(to)i(return)e(a)390 4437 y(NULL)30
-b(line)h(to)g(the)g(caller.)3371 4614 y([V)-8 b(ariable])-3598
-b Fh(int)53 b(rl_num_chars_to_read)390 4724 y Ft(Setting)34
-b(this)e(to)i(a)f(p)s(ositiv)m(e)h(v)-5 b(alue)34 b(b)s(efore)e
-(calling)i Fs(readline\(\))d Ft(causes)i(Readline)g(to)h(return)390
-4833 y(after)i(accepting)h(that)g(man)m(y)e(c)m(haracters,)k(rather)d
-(than)f(reading)h(up)e(to)j(a)f(c)m(haracter)h(b)s(ound)390
-4943 y(to)31 b Fs(accept-line)p Ft(.)3371 5121 y([V)-8
-b(ariable])-3598 b Fh(int)53 b(rl_pending_input)390 5230
-y Ft(Setting)26 b(this)f(to)h(a)f(v)-5 b(alue)26 b(mak)m(es)g(it)g(the)
-f(next)g(k)m(eystrok)m(e)i(read.)39 b(This)24 b(is)i(a)f(w)m(a)m(y)h
-(to)g(stu\013)f(a)g(single)390 5340 y(c)m(haracter)32
-b(in)m(to)f(the)g(input)e(stream.)p eop end
+(stt)m(y)h(`)p Fs(EOF)p Ft(')390 5230 y(c)m(haracter\))k(on)f(an)f
+(empt)m(y)h(line)g(or)f(has)g(encoun)m(tered)h(a)g(read)f(error)g(or)h
+(EOF)f(and)g(is)g(ab)s(out)g(to)390 5340 y(return)f(a)i(NULL)f(line)h
+(to)g(the)g(caller.)p eop end
 %%Page: 31 35
 TeXDict begin 31 34 bop 150 -116 a Ft(Chapter)30 b(2:)41
 b(Programming)30 b(with)g(GNU)h(Readline)1683 b(31)3371
-299 y([V)-8 b(ariable])-3598 b Fh(int)53 b(rl_dispatching)390
-408 y Ft(Set)24 b(to)h(a)g(non-zero)g(v)-5 b(alue)24
+299 y([V)-8 b(ariable])-3598 b Fh(int)53 b(rl_num_chars_to_read)390
+408 y Ft(Setting)34 b(this)e(to)i(a)f(p)s(ositiv)m(e)h(v)-5
+b(alue)34 b(b)s(efore)e(calling)i Fs(readline\(\))d Ft(causes)i
+(Readline)g(to)h(return)390 518 y(after)i(accepting)h(that)g(man)m(y)e
+(c)m(haracters,)k(rather)d(than)f(reading)h(up)e(to)j(a)f(c)m(haracter)
+h(b)s(ound)390 628 y(to)31 b Fs(accept-line)p Ft(.)3371
+810 y([V)-8 b(ariable])-3598 b Fh(int)53 b(rl_pending_input)390
+920 y Ft(Setting)26 b(this)f(to)h(a)f(v)-5 b(alue)26
+b(mak)m(es)g(it)g(the)f(next)g(k)m(eystrok)m(e)i(read.)39
+b(This)24 b(is)i(a)f(w)m(a)m(y)h(to)g(stu\013)f(a)g(single)390
+1029 y(c)m(haracter)32 b(in)m(to)f(the)g(input)e(stream.)3371
+1212 y([V)-8 b(ariable])-3598 b Fh(int)53 b(rl_dispatching)390
+1322 y Ft(Set)24 b(to)h(a)g(non-zero)g(v)-5 b(alue)24
 b(if)h(a)f(function)g(is)g(b)s(eing)g(called)i(from)d(a)i(k)m(ey)g
-(binding;)g(zero)g(otherwise.)390 518 y(Application)37
+(binding;)g(zero)g(otherwise.)390 1431 y(Application)37
 b(functions)e(can)h(test)h(this)e(to)i(disco)m(v)m(er)g(whether)e(they)
-h(w)m(ere)g(called)h(directly)f(or)390 628 y(b)m(y)30
-b(Readline's)h(dispatc)m(hing)g(mec)m(hanism.)3371 835
+h(w)m(ere)g(called)h(directly)f(or)390 1541 y(b)m(y)30
+b(Readline's)h(dispatc)m(hing)g(mec)m(hanism.)3371 1724
 y([V)-8 b(ariable])-3598 b Fh(int)53 b(rl_erase_empty_line)390
-944 y Ft(Setting)47 b(this)e(to)i(a)f(non-zero)h(v)-5
+1833 y Ft(Setting)47 b(this)e(to)i(a)f(non-zero)h(v)-5
 b(alue)46 b(causes)h(Readline)f(to)h(completely)g(erase)g(the)f(curren)
-m(t)390 1054 y(line,)f(including)c(an)m(y)g(prompt,)j(an)m(y)d(time)h
+m(t)390 1943 y(line,)f(including)c(an)m(y)g(prompt,)j(an)m(y)d(time)h
 (a)g(newline)f(is)h(t)m(yp)s(ed)f(as)g(the)h(only)f(c)m(haracter)i(on)
-390 1163 y(an)36 b(otherwise-empt)m(y)i(line.)58 b(The)36
-b(cursor)g(is)g(mo)m(v)m(ed)h(to)g(the)g(b)s(eginning)e(of)i(the)f
-(newly-blank)390 1273 y(line.)3371 1480 y([V)-8 b(ariable])-3598
-b Fh(char)54 b(*)e(rl_prompt)390 1590 y Ft(The)26 b(prompt)f(Readline)i
+390 2052 y(an)31 b(otherwise-empt)m(y)h(line.)44 b(This)30
+b(mo)m(v)m(es)j(the)e(cursor)g(to)h(the)f(b)s(eginning)f(of)i(the)f
+(newly-blank)390 2162 y(line.)3371 2345 y([V)-8 b(ariable])-3598
+b Fh(char)54 b(*)e(rl_prompt)390 2454 y Ft(The)26 b(prompt)f(Readline)i
 (uses.)38 b(This)26 b(is)g(set)h(from)e(the)i(argumen)m(t)f(to)h
-Fs(readline\(\))p Ft(,)d(and)i(should)390 1699 y(not)h(b)s(e)f
+Fs(readline\(\))p Ft(,)d(and)i(should)390 2564 y(not)h(b)s(e)f
 (assigned)h(to)h(directly)-8 b(.)41 b(The)26 b Fs(rl_set_prompt\(\))d
-Ft(function)j(\(see)i(Section)g(2.4.6)h([Redis-)390 1809
-y(pla)m(y],)i(page)h(41\))f(ma)m(y)g(b)s(e)f(used)f(to)j(mo)s(dify)d
-(the)i(prompt)e(string)h(after)h(calling)h Fs(readline\(\))p
-Ft(.)3371 2016 y([V)-8 b(ariable])-3598 b Fh(char)54
-b(*)e(rl_display_prompt)390 2125 y Ft(The)31 b(string)h(displa)m(y)m
-(ed)g(as)g(the)g(prompt.)44 b(This)31 b(is)h(usually)f(iden)m(tical)j
-(to)e Fk(rl)p 3031 2125 28 4 v 40 w(prompt)p Ft(,)f(but)g(ma)m(y)390
-2235 y(b)s(e)j(c)m(hanged)g(temp)s(orarily)h(b)m(y)f(functions)g(that)g
+Ft(function)j(\(see)i(Section)g(2.4.6)h([Redis-)390 2673
+y(pla)m(y],)37 b(page)e(41\))h(ma)m(y)f(b)s(e)f(used)f(to)j(mo)s(dify)d
+(the)i(prompt)f(string)g(after)h(calling)h Fs(readline\(\))p
+Ft(.)390 2783 y(Readline)30 b(p)s(erforms)d(some)j(prompt)e(expansions)
+h(and)f(analyzes)i(the)g(prompt)e(for)h(line)g(breaks,)390
+2892 y(so)i Fs(rl_set_prompt\(\))26 b Ft(is)k(preferred.)3371
+3075 y([V)-8 b(ariable])-3598 b Fh(char)54 b(*)e(rl_display_prompt)390
+3185 y Ft(The)31 b(string)h(displa)m(y)m(ed)g(as)g(the)g(prompt.)44
+b(This)31 b(is)h(usually)f(iden)m(tical)j(to)e Fk(rl)p
+3031 3185 28 4 v 40 w(prompt)p Ft(,)f(but)g(ma)m(y)390
+3294 y(b)s(e)j(c)m(hanged)g(temp)s(orarily)h(b)m(y)f(functions)g(that)g
 (use)g(the)h(prompt)e(string)h(as)h(a)f(message)i(area,)390
-2345 y(suc)m(h)30 b(as)h(incremen)m(tal)g(searc)m(h.)3371
-2552 y([V)-8 b(ariable])-3598 b Fh(int)53 b(rl_already_prompted)390
-2661 y Ft(If)36 b(an)g(application)i(wishes)d(to)i(displa)m(y)g(the)f
+3404 y(suc)m(h)30 b(as)h(incremen)m(tal)g(searc)m(h.)3371
+3587 y([V)-8 b(ariable])-3598 b Fh(int)53 b(rl_already_prompted)390
+3696 y Ft(If)36 b(an)g(application)i(wishes)d(to)i(displa)m(y)g(the)f
 (prompt)g(itself,)i(rather)f(than)f(ha)m(v)m(e)h(Readline)g(do)390
-2771 y(it)c(the)g(\014rst)f(time)i Fs(readline\(\))c
+3806 y(it)c(the)g(\014rst)f(time)i Fs(readline\(\))c
 Ft(is)i(called,)j(it)e(should)f(set)h(this)g(v)-5 b(ariable)34
-b(to)f(a)g(non-zero)g(v)-5 b(alue)390 2880 y(after)38
+b(to)f(a)g(non-zero)g(v)-5 b(alue)390 3915 y(after)38
 b(displa)m(ying)h(the)f(prompt.)63 b(The)37 b(prompt)g(m)m(ust)h(also)h
-(b)s(e)e(passed)g(as)i(the)f(argumen)m(t)g(to)390 2990
+(b)s(e)e(passed)g(as)i(the)f(argumen)m(t)g(to)390 4025
 y Fs(readline\(\))30 b Ft(so)j(the)h(redispla)m(y)f(functions)f(can)i
 (up)s(date)e(the)h(displa)m(y)g(prop)s(erly)-8 b(.)48
-b(The)32 b(calling)390 3099 y(application)g(is)e(resp)s(onsible)g(for)g
+b(The)32 b(calling)390 4134 y(application)g(is)e(resp)s(onsible)g(for)g
 (managing)h(the)f(v)-5 b(alue;)31 b(Readline)g(nev)m(er)g(sets)g(it.)
-3371 3306 y([V)-8 b(ariable])-3598 b Fh(const)54 b(char)f(*)g
-(rl_library_version)390 3416 y Ft(The)30 b(v)m(ersion)h(n)m(um)m(b)s
-(er)e(of)h(this)h(revision)f(of)h(the)f(library)-8 b(.)3371
-3623 y([V)g(ariable])-3598 b Fh(int)53 b(rl_readline_version)390
-3733 y Ft(An)34 b(in)m(teger)h(enco)s(ding)f(the)g(curren)m(t)g(v)m
-(ersion)h(of)f(the)g(library)-8 b(.)52 b(The)34 b(enco)s(ding)g(is)g
-(of)g(the)g(form)390 3842 y(0x)p Fk(MMmm)p Ft(,)39 b(where)d
-Fk(MM)47 b Ft(is)36 b(the)h(t)m(w)m(o-digit)i(ma)5 b(jor)36
-b(v)m(ersion)h(n)m(um)m(b)s(er,)g(and)f Fk(mm)g Ft(is)h(the)f(t)m(w)m
-(o-)390 3952 y(digit)i(minor)f(v)m(ersion)h(n)m(um)m(b)s(er.)60
-b(F)-8 b(or)38 b(example,)i(for)d(Readline-4.2,)k Fs
-(rl_readline_version)390 4061 y Ft(w)m(ould)30 b(ha)m(v)m(e)i(the)e(v)
--5 b(alue)31 b(0x0402.)3371 4268 y([V)-8 b(ariable])-3598
-b Fh(int)53 b(rl_gnu_readline_p)390 4378 y Ft(Alw)m(a)m(ys)32
-b(set)f(to)g(1,)g(denoting)f(that)h(this)g(is)f Fm(gnu)g
-Ft(Readline)h(rather)f(than)h(some)f(em)m(ulation.)3371
-4585 y([V)-8 b(ariable])-3598 b Fh(const)54 b(char)f(*)g
-(rl_terminal_name)390 4695 y Ft(The)28 b(terminal)g(t)m(yp)s(e,)h(used)
-e(for)h(initialization.)43 b(If)28 b(not)g(set)h(b)m(y)e(the)i
-(application,)h(Readline)f(sets)390 4804 y(this)h(to)h(the)g(v)-5
-b(alue)31 b(of)f(the)h Fs(TERM)e Ft(en)m(vironmen)m(t)i(v)-5
-b(ariable)31 b(the)g(\014rst)e(time)j(it)e(is)h(called.)3371
-5011 y([V)-8 b(ariable])-3598 b Fh(const)54 b(char)f(*)g
-(rl_readline_name)390 5121 y Ft(This)30 b(v)-5 b(ariable)32
-b(is)g(set)f(to)h(a)g(unique)e(name)h(b)m(y)g(eac)m(h)i(application)f
-(using)f(Readline.)44 b(The)30 b(v)-5 b(alue)390 5230
-y(allo)m(ws)29 b(conditional)h(parsing)d(of)h(the)h(inputrc)e(\014le)h
-(\(see)h(Section)g(1.3.2)g([Conditional)g(Init)f(Con-)390
-5340 y(structs],)j(page)g(14\).)p eop end
+3371 4317 y([V)-8 b(ariable])-3598 b Fh(const)54 b(char)f(*)g
+(rl_library_version)390 4427 y Ft(The)30 b(v)m(ersion)h(n)m(um)m(b)s
+(er)e(of)h(this)h(revision)f(of)h(the)f(Readline)h(library)-8
+b(,)31 b(as)g(a)f(string)h(\(e.g.,)h Fs(")p Ft(4.2)p
+Fs(")p Ft(\).)3371 4609 y([V)-8 b(ariable])-3598 b Fh(int)53
+b(rl_readline_version)390 4719 y Ft(An)34 b(in)m(teger)h(enco)s(ding)f
+(the)g(curren)m(t)g(v)m(ersion)h(of)f(the)g(library)-8
+b(.)52 b(The)34 b(enco)s(ding)g(is)g(of)g(the)g(form)390
+4829 y(0x)p Fk(MMmm)p Ft(,)39 b(where)d Fk(MM)47 b Ft(is)36
+b(the)h(t)m(w)m(o-digit)i(ma)5 b(jor)36 b(v)m(ersion)h(n)m(um)m(b)s
+(er,)g(and)f Fk(mm)g Ft(is)h(the)f(t)m(w)m(o-)390 4938
+y(digit)i(minor)f(v)m(ersion)h(n)m(um)m(b)s(er.)60 b(F)-8
+b(or)38 b(example,)i(for)d(Readline-4.2,)k Fs(rl_readline_version)390
+5048 y Ft(w)m(ould)30 b(ha)m(v)m(e)i(the)e(v)-5 b(alue)31
+b(0x0402.)3371 5230 y([V)-8 b(ariable])-3598 b Fh(int)53
+b(rl_gnu_readline_p)390 5340 y Ft(Alw)m(a)m(ys)32 b(set)f(to)g(1,)g
+(denoting)f(that)h(this)g(is)f Fm(gnu)g Ft(Readline)h(rather)f(than)h
+(some)f(em)m(ulation.)p eop end
 %%Page: 32 36
 TeXDict begin 32 35 bop 150 -116 a Ft(Chapter)30 b(2:)41
 b(Programming)30 b(with)g(GNU)h(Readline)1683 b(32)3371
-299 y([V)-8 b(ariable])-3598 b Fh(FILE)54 b(*)e(rl_instream)390
-408 y Ft(The)40 b(stdio)i(stream)f(from)g(whic)m(h)f(Readline)i(reads)f
-(input.)71 b(If)41 b Fs(NULL)p Ft(,)i(Readline)e(defaults)g(to)390
-518 y Fk(stdin)p Ft(.)3371 704 y([V)-8 b(ariable])-3598
-b Fh(FILE)54 b(*)e(rl_outstream)390 814 y Ft(The)34 b(stdio)h(stream)f
-(to)i(whic)m(h)e(Readline)h(p)s(erforms)e(output.)52
+299 y([V)-8 b(ariable])-3598 b Fh(const)54 b(char)f(*)g
+(rl_terminal_name)390 408 y Ft(The)28 b(terminal)g(t)m(yp)s(e,)h(used)e
+(for)h(initialization.)43 b(If)28 b(not)g(set)h(b)m(y)e(the)i
+(application,)h(Readline)f(sets)390 518 y(this)f(to)g(the)g(v)-5
+b(alue)29 b(of)f(the)g Fs(TERM)e Ft(en)m(vironmen)m(t)j(v)-5
+b(ariable)28 b(the)g(\014rst)f(time)i(it)f(is)g(called.)41
+b(Readline)390 628 y(uses)30 b(this)g(to)h(lo)s(ok)g(up)f(the)g
+(terminal)h(capabilities)h(it)f(needs)f(in)g(the)h(terminfo)f
+(database.)3371 825 y([V)-8 b(ariable])-3598 b Fh(const)54
+b(char)f(*)g(rl_readline_name)390 934 y Ft(This)30 b(v)-5
+b(ariable)32 b(is)g(set)f(to)h(a)g(unique)e(name)h(b)m(y)g(eac)m(h)i
+(application)f(using)f(Readline.)44 b(The)30 b(v)-5 b(alue)390
+1044 y(allo)m(ws)29 b(conditional)h(parsing)d(of)h(the)h(inputrc)e
+(\014le)h(\(see)h(Section)g(1.3.2)g([Conditional)g(Init)f(Con-)390
+1154 y(structs],)j(page)g(14\).)3371 1351 y([V)-8 b(ariable])-3598
+b Fh(FILE)54 b(*)e(rl_instream)390 1461 y Ft(The)40 b(stdio)i(stream)f
+(from)g(whic)m(h)f(Readline)i(reads)f(input.)71 b(If)41
+b Fs(NULL)p Ft(,)i(Readline)e(defaults)g(to)390 1570
+y Fk(stdin)p Ft(.)3371 1767 y([V)-8 b(ariable])-3598
+b Fh(FILE)54 b(*)e(rl_outstream)390 1877 y Ft(The)34
+b(stdio)h(stream)f(to)i(whic)m(h)e(Readline)h(p)s(erforms)e(output.)52
 b(If)34 b Fs(NULL)p Ft(,)h(Readline)g(defaults)f(to)390
-924 y Fk(stdout)p Ft(.)3371 1110 y([V)-8 b(ariable])-3598
-b Fh(int)53 b(rl_prefer_env_winsize)390 1219 y Ft(If)28
+1987 y Fk(stdout)p Ft(.)3371 2184 y([V)-8 b(ariable])-3598
+b Fh(int)53 b(rl_prefer_env_winsize)390 2293 y Ft(If)28
 b(non-zero,)h(Readline)g(giv)m(es)h(v)-5 b(alues)29 b(found)e(in)h(the)
 g Fs(LINES)f Ft(and)h Fs(COLUMNS)e Ft(en)m(vironmen)m(t)j(v)-5
-b(ari-)390 1329 y(ables)41 b(greater)h(precedence)g(than)e(v)-5
+b(ari-)390 2403 y(ables)41 b(greater)h(precedence)g(than)e(v)-5
 b(alues)41 b(fetc)m(hed)h(from)e(the)h(k)m(ernel)h(when)e(computing)h
-(the)390 1439 y(screen)30 b(dimensions.)3371 1625 y([V)-8
+(the)390 2513 y(screen)30 b(dimensions.)3371 2710 y([V)-8
 b(ariable])-3598 b Fh(rl_command_func_t)57 b(*)c(rl_last_func)390
-1734 y Ft(The)34 b(address)g(of)h(the)g(last)h(command)e(function)g
-(Readline)i(executed.)55 b(Ma)m(y)35 b(b)s(e)g(used)f(to)h(test)390
-1844 y(whether)30 b(or)g(not)h(a)f(function)h(is)f(b)s(eing)g(executed)
-h(t)m(wice)h(in)e(succession,)h(for)f(example.)3371 2030
-y([V)-8 b(ariable])-3598 b Fh(rl_hook_func_t)57 b(*)52
-b(rl_startup_hook)390 2140 y Ft(If)34 b(non-zero,)i(this)e(is)h(the)f
-(address)f(of)i(a)g(function)f(to)h(call)g(just)f(b)s(efore)g
-Fs(readline)e Ft(prin)m(ts)i(the)390 2250 y(\014rst)c(prompt.)3371
-2436 y([V)-8 b(ariable])-3598 b Fh(rl_hook_func_t)57
-b(*)52 b(rl_pre_input_hook)390 2545 y Ft(If)35 b(non-zero,)j(this)d(is)
+2819 y Ft(The)33 b(address)f(of)h(the)h(last)g(command)f(function)g
+(Readline)h(executed.)50 b(This)32 b(ma)m(y)i(b)s(e)f(used)f(to)390
+2929 y(test)f(whether)f(or)g(not)h(a)g(function)f(is)g(b)s(eing)g
+(executed)h(t)m(wice)h(in)e(succession,)h(for)g(example.)3371
+3126 y([V)-8 b(ariable])-3598 b Fh(rl_hook_func_t)57
+b(*)52 b(rl_startup_hook)390 3236 y Ft(If)36 b(non-zero,)j(this)e(is)g
+(the)g(address)f(of)h(a)g(function)f(to)i(call)g(just)e(b)s(efore)g
+(Readline)i(prin)m(ts)e(the)390 3345 y(\014rst)30 b(prompt.)3371
+3543 y([V)-8 b(ariable])-3598 b Fh(rl_hook_func_t)57
+b(*)52 b(rl_pre_input_hook)390 3652 y Ft(If)35 b(non-zero,)j(this)d(is)
 g(the)h(address)f(of)g(a)h(function)f(to)i(call)f(after)g(the)g
-(\014rst)f(prompt)f(has)i(b)s(een)390 2655 y(prin)m(ted)30
-b(and)g(just)f(b)s(efore)h Fs(readline)f Ft(starts)h(reading)h(input)e
-(c)m(haracters.)3371 2841 y([V)-8 b(ariable])-3598 b
-Fh(rl_hook_func_t)57 b(*)52 b(rl_event_hook)390 2951
-y Ft(If)40 b(non-zero,)k(this)d(is)f(the)h(address)f(of)h(a)g(function)
-f(to)h(call)h(p)s(erio)s(dically)f(when)f(Readline)h(is)390
-3061 y(w)m(aiting)30 b(for)f(terminal)h(input.)39 b(By)30
-b(default,)g(this)f(will)g(b)s(e)g(called)h(at)g(most)f(ten)h(times)f
-(a)h(second)390 3170 y(if)g(there)h(is)f(no)h(k)m(eyb)s(oard)f(input.)
-3371 3356 y([V)-8 b(ariable])-3598 b Fh(rl_getc_func_t)57
-b(*)52 b(rl_getc_function)390 3466 y Ft(If)30 b(non-zero,)h(Readline)g
-(will)g(call)h(indirectly)e(through)g(this)h(p)s(oin)m(ter)f(to)h(get)h
-(a)e(c)m(haracter)i(from)390 3576 y(the)21 b(input)g(stream.)38
-b(By)21 b(default,)j(it)e(is)f(set)h(to)g Fs(rl_getc)p
-Ft(,)f(the)h(default)f(Readline)h(c)m(haracter)h(input)390
-3685 y(function)f(\(see)i(Section)g(2.4.8)g([Character)g(Input],)f
-(page)h(43\).)39 b(In)22 b(general,)k(an)c(application)i(that)390
-3795 y(sets)31 b Fk(rl)p 635 3795 28 4 v 40 w(getc)p
-835 3795 V 41 w(function)f Ft(should)g(consider)g(setting)h
-Fk(rl)p 2234 3795 V 40 w(input)p 2487 3795 V 39 w(a)m(v)-5
-b(ailable)p 2867 3795 V 43 w(ho)s(ok)36 b Ft(as)30 b(w)m(ell.)3371
-3981 y([V)-8 b(ariable])-3598 b Fh(rl_hook_func_t)57
-b(*)52 b(rl_signal_event_hook)390 4091 y Ft(If)27 b(non-zero,)h(this)f
+(\014rst)f(prompt)f(has)i(b)s(een)390 3762 y(prin)m(ted)30
+b(and)g(just)f(b)s(efore)h(Readline)h(starts)g(reading)g(input)e(c)m
+(haracters.)3371 3959 y([V)-8 b(ariable])-3598 b Fh(rl_hook_func_t)57
+b(*)52 b(rl_event_hook)390 4069 y Ft(If)40 b(non-zero,)k(this)d(is)f
+(the)h(address)f(of)h(a)g(function)f(to)h(call)h(p)s(erio)s(dically)f
+(when)f(Readline)h(is)390 4178 y(w)m(aiting)30 b(for)f(terminal)h
+(input.)39 b(By)30 b(default,)g(this)f(will)g(b)s(e)g(called)h(at)g
+(most)f(ten)h(times)f(a)h(second)390 4288 y(if)g(there)h(is)f(no)h(k)m
+(eyb)s(oard)f(input.)3371 4485 y([V)-8 b(ariable])-3598
+b Fh(rl_getc_func_t)57 b(*)52 b(rl_getc_function)390
+4595 y Ft(If)30 b(non-zero,)h(Readline)g(will)g(call)h(indirectly)e
+(through)g(this)h(p)s(oin)m(ter)f(to)h(get)h(a)e(c)m(haracter)i(from)
+390 4704 y(the)43 b(input)e(stream.)78 b(By)42 b(default,)k(it)d(is)g
+(set)g(to)g Fs(rl_getc)p Ft(,)h(the)f(Readline)g(c)m(haracter)h(input)
+390 4814 y(function)38 b(\(see)i(Section)g(2.4.8)g([Character)g
+(Input],)g(page)f(43\).)68 b(In)38 b(general,)k(an)d(application)390
+4924 y(that)31 b(sets)g Fk(rl)p 832 4924 28 4 v 40 w(getc)p
+1032 4924 V 41 w(function)f Ft(should)g(consider)g(setting)h
+Fk(rl)p 2431 4924 V 40 w(input)p 2684 4924 V 39 w(a)m(v)-5
+b(ailable)p 3064 4924 V 43 w(ho)s(ok)36 b Ft(as)30 b(w)m(ell.)3371
+5121 y([V)-8 b(ariable])-3598 b Fh(rl_hook_func_t)57
+b(*)52 b(rl_signal_event_hook)390 5230 y Ft(If)27 b(non-zero,)h(this)f
 (is)g(the)g(address)f(of)i(a)f(function)g(to)g(call)i(if)e(a)g(read)g
-(system)g(call)h(is)g(in)m(terrupted)390 4200 y(when)h(Readline)i(is)g
-(reading)f(terminal)h(input.)3371 4387 y([V)-8 b(ariable])-3598
-b Fh(rl_hook_func_t)57 b(*)52 b(rl_timeout_event_hook)390
-4496 y Ft(If)25 b(non-zero,)i(this)e(is)g(the)h(address)e(of)h(a)h
-(function)f(to)h(call)g(if)g(Readline)f(times)h(out)g(while)f(reading)
-390 4606 y(input.)3371 4792 y([V)-8 b(ariable])-3598
-b Fh(rl_hook_func_t)57 b(*)52 b(rl_input_available_ho)q(ok)390
-4902 y Ft(If)28 b(non-zero,)j(Readline)e(will)g(use)g(this)g
+(system)g(call)h(is)g(in)m(terrupted)390 5340 y(b)m(y)i(a)h(signal)g
+(when)e(Readline)i(is)g(reading)f(terminal)h(input.)p
+eop end
+%%Page: 33 37
+TeXDict begin 33 36 bop 150 -116 a Ft(Chapter)30 b(2:)41
+b(Programming)30 b(with)g(GNU)h(Readline)1683 b(33)3371
+299 y([V)-8 b(ariable])-3598 b Fh(rl_hook_func_t)57 b(*)52
+b(rl_timeout_event_hook)390 408 y Ft(If)25 b(non-zero,)i(this)e(is)g
+(the)h(address)e(of)h(a)h(function)f(to)h(call)g(if)g(Readline)f(times)
+h(out)g(while)f(reading)390 518 y(input.)3371 719 y([V)-8
+b(ariable])-3598 b Fh(rl_hook_func_t)57 b(*)52 b(rl_input_available_ho)
+q(ok)390 829 y Ft(If)28 b(non-zero,)j(Readline)e(will)g(use)g(this)g
 (function's)g(return)f(v)-5 b(alue)29 b(when)f(it)i(needs)e(to)i
-(determine)390 5011 y(whether)42 b(or)g(not)h(there)f(is)h(a)m(v)-5
+(determine)390 938 y(whether)42 b(or)g(not)h(there)f(is)h(a)m(v)-5
 b(ailable)45 b(input)c(on)i(the)f(curren)m(t)g(input)g(source.)77
-b(The)42 b(default)390 5121 y(ho)s(ok)25 b(c)m(hec)m(ks)i
+b(The)42 b(default)390 1048 y(ho)s(ok)25 b(c)m(hec)m(ks)i
 Fs(rl_instream)p Ft(;)d(if)i(an)f(application)i(is)e(using)g(a)h
-(di\013eren)m(t)g(input)e(source,)j(it)f(should)390 5230
+(di\013eren)m(t)g(input)e(source,)j(it)f(should)390 1157
 y(set)34 b(the)f(ho)s(ok)h(appropriately)-8 b(.)50 b(Readline)34
 b(queries)f(for)h(a)m(v)-5 b(ailable)35 b(input)e(when)f(implemen)m
-(ting)390 5340 y(in)m(tra-k)m(ey-sequence)43 b(timeouts)f(during)d
+(ting)390 1267 y(in)m(tra-k)m(ey-sequence)43 b(timeouts)f(during)d
 (input)h(and)g(incremen)m(tal)i(searc)m(hes.)73 b(This)40
-b(function)p eop end
-%%Page: 33 37
-TeXDict begin 33 36 bop 150 -116 a Ft(Chapter)30 b(2:)41
-b(Programming)30 b(with)g(GNU)h(Readline)1683 b(33)390
-299 y(m)m(ust)26 b(return)f(zero)i(if)f(there)g(is)h(no)f(input)f(a)m
-(v)-5 b(ailable,)29 b(and)d(non-zero)h(if)f(input)f(is)h(a)m(v)-5
-b(ailable.)42 b(This)390 408 y(ma)m(y)36 b(use)e(an)h(application-sp)s
-(eci\014c)i(timeout)f(b)s(efore)e(returning)g(a)i(v)-5
-b(alue;)38 b(Readline)d(uses)g(the)390 518 y(v)-5 b(alue)25
-b(passed)g(to)h Fs(rl_set_keyboard_input_t)o(ime)o(out\()o(\))19
-b Ft(or)25 b(the)g(v)-5 b(alue)25 b(of)h(the)f(user-settable)390
-628 y Fk(k)m(eyseq-timeout)44 b Ft(v)-5 b(ariable.)71
-b(This)39 b(is)h(designed)f(for)h(use)g(b)m(y)g(applications)h(using)e
-(Readline's)390 737 y(callbac)m(k)d(in)m(terface)f(\(see)g(Section)f
-(2.4.12)i([Alternate)f(In)m(terface],)i(page)d(47\),)i(whic)m(h)d(ma)m
-(y)i(not)390 847 y(use)e(the)g(traditional)h Fs(read\(2\))d
-Ft(and)h(\014le)h(descriptor)f(in)m(terface,)k(or)c(other)h
-(applications)h(using)390 956 y(a)28 b(di\013eren)m(t)g(input)e(mec)m
-(hanism.)40 b(If)27 b(an)g(application)i(uses)e(an)g(input)g(mec)m
-(hanism)h(or)f(ho)s(ok)g(that)390 1066 y(can)k(p)s(oten)m(tially)h
-(exceed)f(the)f(v)-5 b(alue)31 b(of)g Fk(k)m(eyseq-timeout)p
-Ft(,)i(it)e(should)e(increase)i(the)g(timeout)g(or)390
-1176 y(set)c(this)g(ho)s(ok)f(appropriately)h(ev)m(en)g(when)e(not)i
-(using)f(the)h(callbac)m(k)i(in)m(terface.)41 b(In)25
-b(general,)k(an)390 1285 y(application)g(that)g(sets)f
-Fk(rl)p 1294 1285 28 4 v 40 w(getc)p 1494 1285 V 41 w(function)g
-Ft(should)f(consider)g(setting)i Fk(rl)p 2883 1285 V
-40 w(input)p 3136 1285 V 39 w(a)m(v)-5 b(ailable)p 3516
-1285 V 43 w(ho)s(ok)390 1395 y Ft(as)31 b(w)m(ell.)3371
-1600 y([V)-8 b(ariable])-3598 b Fh(rl_voidfunc_t)56 b(*)d
-(rl_redisplay_function)390 1710 y Ft(Readline)21 b(will)g(call)h
+b(function)390 1377 y(m)m(ust)26 b(return)f(zero)i(if)f(there)g(is)h
+(no)f(input)f(a)m(v)-5 b(ailable,)29 b(and)d(non-zero)h(if)f(input)f
+(is)h(a)m(v)-5 b(ailable.)42 b(This)390 1486 y(ma)m(y)36
+b(use)e(an)h(application-sp)s(eci\014c)i(timeout)f(b)s(efore)e
+(returning)g(a)i(v)-5 b(alue;)38 b(Readline)d(uses)g(the)390
+1596 y(v)-5 b(alue)25 b(passed)g(to)h Fs(rl_set_keyboard_input_t)o(ime)
+o(out\()o(\))19 b Ft(or)25 b(the)g(v)-5 b(alue)25 b(of)h(the)f
+(user-settable)390 1705 y Fk(k)m(eyseq-timeout)44 b Ft(v)-5
+b(ariable.)71 b(This)39 b(is)h(designed)f(for)h(use)g(b)m(y)g
+(applications)h(using)e(Readline's)390 1815 y(callbac)m(k)d(in)m
+(terface)f(\(see)g(Section)f(2.4.12)i([Alternate)f(In)m(terface],)i
+(page)d(47\),)i(whic)m(h)d(ma)m(y)i(not)390 1924 y(use)e(the)g
+(traditional)h Fs(read\(2\))d Ft(and)h(\014le)h(descriptor)f(in)m
+(terface,)k(or)c(other)h(applications)h(using)390 2034
+y(a)28 b(di\013eren)m(t)g(input)e(mec)m(hanism.)40 b(If)27
+b(an)g(application)i(uses)e(an)g(input)g(mec)m(hanism)h(or)f(ho)s(ok)g
+(that)390 2144 y(can)k(p)s(oten)m(tially)h(exceed)f(the)f(v)-5
+b(alue)31 b(of)g Fk(k)m(eyseq-timeout)p Ft(,)i(it)e(should)e(increase)i
+(the)g(timeout)g(or)390 2253 y(set)c(this)g(ho)s(ok)f(appropriately)h
+(ev)m(en)g(when)e(not)i(using)f(the)h(callbac)m(k)i(in)m(terface.)41
+b(In)25 b(general,)k(an)390 2363 y(application)g(that)g(sets)f
+Fk(rl)p 1294 2363 28 4 v 40 w(getc)p 1494 2363 V 41 w(function)g
+Ft(should)f(consider)g(setting)i Fk(rl)p 2883 2363 V
+40 w(input)p 3136 2363 V 39 w(a)m(v)-5 b(ailable)p 3516
+2363 V 43 w(ho)s(ok)390 2472 y Ft(as)31 b(w)m(ell.)3371
+2673 y([V)-8 b(ariable])-3598 b Fh(rl_voidfunc_t)56 b(*)d
+(rl_redisplay_function)390 2783 y Ft(Readline)21 b(will)g(call)h
 (indirectly)f(through)f(this)h(p)s(oin)m(ter)g(to)g(up)s(date)f(the)h
-(displa)m(y)g(with)f(the)h(curren)m(t)390 1819 y(con)m(ten)m(ts)43
+(displa)m(y)g(with)f(the)h(curren)m(t)390 2892 y(con)m(ten)m(ts)43
 b(of)f(the)g(editing)g(bu\013er.)73 b(By)42 b(default,)j(it)d(is)f(set)
-h(to)h Fs(rl_redisplay)p Ft(,)e(the)h(default)390 1929
+h(to)h Fs(rl_redisplay)p Ft(,)e(the)h(default)390 3002
 y(Readline)31 b(redispla)m(y)g(function)f(\(see)h(Section)g(2.4.6)h
-([Redispla)m(y],)g(page)f(41\).)3371 2134 y([V)-8 b(ariable])-3598
+([Redispla)m(y],)g(page)f(41\).)3371 3203 y([V)-8 b(ariable])-3598
 b Fh(rl_vintfunc_t)56 b(*)d(rl_prep_term_function)390
-2244 y Ft(If)24 b(non-zero,)i(Readline)e(will)h(call)g(indirectly)g
+3313 y Ft(If)24 b(non-zero,)i(Readline)e(will)h(call)g(indirectly)g
 (through)e(this)h(p)s(oin)m(ter)g(to)h(initialize)h(the)e(terminal.)390
-2354 y(The)37 b(function)f(tak)m(es)j(a)e(single)h(argumen)m(t,)i(an)d
+3422 y(The)37 b(function)f(tak)m(es)j(a)e(single)h(argumen)m(t,)i(an)d
 Fs(int)f Ft(\015ag)h(that)h(sa)m(ys)g(whether)e(or)h(not)g(to)h(use)390
-2463 y(eigh)m(t-bit)e(c)m(haracters.)53 b(By)35 b(default,)g(this)f(is)
+3532 y(eigh)m(t-bit)e(c)m(haracters.)53 b(By)35 b(default,)g(this)f(is)
 g(set)h(to)g Fs(rl_prep_terminal)29 b Ft(\(see)35 b(Section)g(2.4.9)390
-2573 y([T)-8 b(erminal)31 b(Managemen)m(t],)i(page)e(44\).)3371
-2778 y([V)-8 b(ariable])-3598 b Fh(rl_voidfunc_t)56 b(*)d
-(rl_deprep_term_functio)q(n)390 2888 y Ft(If)36 b(non-zero,)j(Readline)
+3641 y([T)-8 b(erminal)31 b(Managemen)m(t],)i(page)e(44\).)3371
+3842 y([V)-8 b(ariable])-3598 b Fh(rl_voidfunc_t)56 b(*)d
+(rl_deprep_term_functio)q(n)390 3952 y Ft(If)36 b(non-zero,)j(Readline)
 e(will)g(call)h(indirectly)f(through)f(this)g(p)s(oin)m(ter)h(to)g
-(reset)g(the)g(terminal.)390 2998 y(This)d(function)h(should)f(undo)g
+(reset)g(the)g(terminal.)390 4061 y(This)d(function)h(should)f(undo)g
 (the)h(e\013ects)h(of)f Fs(rl_prep_term_function)p Ft(.)49
-b(By)35 b(default,)i(this)390 3107 y(is)30 b(set)h(to)g
+b(By)35 b(default,)i(this)390 4171 y(is)30 b(set)h(to)g
 Fs(rl_deprep_terminal)26 b Ft(\(see)31 b(Section)g(2.4.9)i([T)-8
-b(erminal)30 b(Managemen)m(t],)j(page)e(44\).)3371 3313
+b(erminal)30 b(Managemen)m(t],)j(page)e(44\).)3371 4372
 y([V)-8 b(ariable])-3598 b Fh(void)54 b(rl_macro_display_hook)390
-3422 y Ft(If)44 b(set,)k(this)c(p)s(oin)m(ts)h(to)g(a)f(function)g
+4482 y Ft(If)44 b(set,)k(this)c(p)s(oin)m(ts)h(to)g(a)f(function)g
 (that)h Fs(rl_macro_dumper)40 b Ft(will)45 b(call)g(to)g(displa)m(y)g
-(a)f(k)m(ey)390 3532 y(sequence)36 b(b)s(ound)e(to)i(a)g(macro.)57
+(a)f(k)m(ey)390 4591 y(sequence)36 b(b)s(ound)e(to)i(a)g(macro.)57
 b(It)36 b(is)g(called)g(with)g(the)f(k)m(ey)i(sequence,)g(the)f
-Fs(")p Ft(un)m(translated)p Fs(")390 3641 y Ft(macro)43
+Fs(")p Ft(un)m(translated)p Fs(")390 4701 y Ft(macro)43
 b(v)-5 b(alue)44 b(\(i.e.,)k(with)42 b(bac)m(kslash)i(escap)s(es)f
 (included,)i(as)f(when)d(passed)i(to)g Fs(rl_macro_)390
-3751 y(bind)p Ft(\),)25 b(the)g Fs(readable)d Ft(argumen)m(t)j(passed)f
+4810 y(bind)p Ft(\),)25 b(the)g Fs(readable)d Ft(argumen)m(t)j(passed)f
 (to)h Fs(rl_macro_dumper)p Ft(,)d(and)i(an)m(y)h(pre\014x)e(to)j
-(displa)m(y)390 3861 y(b)s(efore)k(the)h(k)m(ey)g(sequence.)3371
-4066 y([V)-8 b(ariable])-3598 b Fh(Keymap)54 b(rl_executing_keymap)390
-4176 y Ft(This)35 b(v)-5 b(ariable)37 b(is)f(set)g(to)h(the)f(k)m
+(displa)m(y)390 4920 y(b)s(efore)k(the)h(k)m(ey)g(sequence.)3371
+5121 y([V)-8 b(ariable])-3598 b Fh(Keymap)54 b(rl_executing_keymap)390
+5230 y Ft(This)35 b(v)-5 b(ariable)37 b(is)f(set)g(to)h(the)f(k)m
 (eymap)h(\(see)g(Section)f(2.4.2)i([Keymaps],)g(page)e(36\))i(in)d
-(whic)m(h)390 4285 y(the)c(curren)m(tly)f(executing)i(Readline)f
-(function)f(w)m(as)g(found.)3371 4491 y([V)-8 b(ariable])-3598
-b Fh(Keymap)54 b(rl_binding_keymap)390 4600 y Ft(This)35
-b(v)-5 b(ariable)37 b(is)f(set)g(to)h(the)f(k)m(eymap)h(\(see)g
-(Section)f(2.4.2)i([Keymaps],)g(page)e(36\))i(in)d(whic)m(h)390
-4710 y(the)c(last)g(k)m(ey)g(binding)e(o)s(ccurred.)3371
-4915 y([V)-8 b(ariable])-3598 b Fh(char)54 b(*)e(rl_executing_macro)390
-5025 y Ft(This)30 b(v)-5 b(ariable)31 b(is)f(set)h(to)g(the)g(text)g
-(of)g(an)m(y)f(curren)m(tly-executing)i(macro.)3371 5230
-y([V)-8 b(ariable])-3598 b Fh(int)53 b(rl_executing_key)390
-5340 y Ft(The)30 b(k)m(ey)h(that)g(caused)f(the)h(dispatc)m(h)g(to)g
-(the)f(curren)m(tly-executing)i(Readline)f(function.)p
-eop end
+(whic)m(h)390 5340 y(the)c(curren)m(tly)f(executing)i(Readline)f
+(function)f(w)m(as)g(found.)p eop end
 %%Page: 34 38
 TeXDict begin 34 37 bop 150 -116 a Ft(Chapter)30 b(2:)41
 b(Programming)30 b(with)g(GNU)h(Readline)1683 b(34)3371
-299 y([V)-8 b(ariable])-3598 b Fh(char)54 b(*)e(rl_executing_keyseq)390
-408 y Ft(The)35 b(full)g(k)m(ey)h(sequence)g(that)g(caused)g(the)g
+299 y([V)-8 b(ariable])-3598 b Fh(Keymap)54 b(rl_binding_keymap)390
+408 y Ft(This)35 b(v)-5 b(ariable)37 b(is)f(set)g(to)h(the)f(k)m(eymap)
+h(\(see)g(Section)f(2.4.2)i([Keymaps],)g(page)e(36\))i(in)d(whic)m(h)
+390 518 y(the)c(last)g(k)m(ey)g(binding)e(o)s(ccurred.)3371
+714 y([V)-8 b(ariable])-3598 b Fh(char)54 b(*)e(rl_executing_macro)390
+823 y Ft(This)30 b(v)-5 b(ariable)31 b(is)f(set)h(to)g(the)g(text)g(of)
+g(an)m(y)f(curren)m(tly-executing)i(macro.)3371 1019
+y([V)-8 b(ariable])-3598 b Fh(int)53 b(rl_executing_key)390
+1128 y Ft(The)30 b(k)m(ey)h(that)g(caused)f(the)h(dispatc)m(h)g(to)g
+(the)f(curren)m(tly-executing)i(Readline)f(function.)3371
+1324 y([V)-8 b(ariable])-3598 b Fh(char)54 b(*)e(rl_executing_keyseq)
+390 1433 y Ft(The)35 b(full)g(k)m(ey)h(sequence)g(that)g(caused)g(the)g
 (dispatc)m(h)f(to)i(the)e(curren)m(tly-executing)i(Readline)390
-518 y(function.)3371 695 y([V)-8 b(ariable])-3598 b Fh(int)53
-b(rl_key_sequence_lengt)q(h)390 805 y Ft(The)30 b(n)m(um)m(b)s(er)f(of)
-h(c)m(haracters)i(in)e Fk(rl)p 1617 805 28 4 v 40 w(executing)p
-2032 805 V 41 w(k)m(eyseq)p Ft(.)3371 982 y([V)-8 b(ariable])-3598
-b Fh(int)53 b(rl_readline_state)390 1092 y Ft(A)35 b(v)-5
-b(ariable)35 b(with)f(bit)g(v)-5 b(alues)35 b(that)g(encapsulate)h(the)
-e(curren)m(t)h(Readline)g(state.)54 b(A)34 b(bit)h(is)f(set)390
-1201 y(with)k(the)g Fs(RL_SETSTATE)c Ft(macro,)41 b(and)c(unset)h(with)
-f(the)h Fs(RL_UNSETSTATE)d Ft(macro.)63 b(Use)39 b(the)390
-1311 y Fs(RL_ISSTATE)34 b Ft(macro)k(to)g(test)g(whether)f(a)h
+1543 y(function.)3371 1738 y([V)-8 b(ariable])-3598 b
+Fh(int)53 b(rl_key_sequence_lengt)q(h)390 1848 y Ft(The)30
+b(n)m(um)m(b)s(er)f(of)h(c)m(haracters)i(in)e Fk(rl)p
+1617 1848 28 4 v 40 w(executing)p 2032 1848 V 41 w(k)m(eyseq)p
+Ft(.)3371 2043 y([V)-8 b(ariable])-3598 b Fh(int)53 b
+(rl_readline_state)390 2153 y Ft(A)35 b(v)-5 b(ariable)35
+b(with)f(bit)g(v)-5 b(alues)35 b(that)g(encapsulate)h(the)e(curren)m(t)
+h(Readline)g(state.)54 b(A)34 b(bit)h(is)f(set)390 2263
+y(with)k(the)g Fs(RL_SETSTATE)c Ft(macro,)41 b(and)c(unset)h(with)f
+(the)h Fs(RL_UNSETSTATE)d Ft(macro.)63 b(Use)39 b(the)390
+2372 y Fs(RL_ISSTATE)34 b Ft(macro)k(to)g(test)g(whether)f(a)h
 (particular)f(state)i(bit)e(is)g(set.)62 b(Curren)m(t)36
-b(state)j(bits)390 1421 y(include:)390 1575 y Fs(RL_STATE_NONE)870
-1685 y Ft(Readline)31 b(has)f(not)h(y)m(et)g(b)s(een)f(called,)i(nor)e
-(has)g(it)h(b)s(egun)e(to)i(initialize.)390 1840 y Fs
-(RL_STATE_INITIALIZING)870 1949 y Ft(Readline)g(is)f(initializing)j
-(its)e(in)m(ternal)g(data)g(structures.)390 2104 y Fs
-(RL_STATE_INITIALIZED)870 2213 y Ft(Readline)g(has)f(completed)h(its)g
-(initialization.)390 2368 y Fs(RL_STATE_TERMPREPPED)870
-2478 y Ft(Readline)e(has)g(mo)s(di\014ed)e(the)i(terminal)g(mo)s(des)f
-(to)i(do)e(its)i(o)m(wn)e(input)g(and)g(redis-)870 2587
-y(pla)m(y)-8 b(.)390 2742 y Fs(RL_STATE_READCMD)870 2852
+b(state)j(bits)390 2482 y(include:)390 2650 y Fs(RL_STATE_NONE)870
+2759 y Ft(Readline)31 b(has)f(not)h(y)m(et)g(b)s(een)f(called,)i(nor)e
+(has)g(it)h(b)s(egun)e(to)i(initialize.)390 2924 y Fs
+(RL_STATE_INITIALIZING)870 3034 y Ft(Readline)g(is)f(initializing)j
+(its)e(in)m(ternal)g(data)g(structures.)390 3199 y Fs
+(RL_STATE_INITIALIZED)870 3308 y Ft(Readline)g(has)f(completed)h(its)g
+(initialization.)390 3473 y Fs(RL_STATE_TERMPREPPED)870
+3583 y Ft(Readline)e(has)g(mo)s(di\014ed)e(the)i(terminal)g(mo)s(des)f
+(to)i(do)e(its)i(o)m(wn)e(input)g(and)g(redis-)870 3692
+y(pla)m(y)-8 b(.)390 3857 y Fs(RL_STATE_READCMD)870 3967
 y Ft(Readline)31 b(is)f(reading)h(a)g(command)f(from)g(the)g(k)m(eyb)s
-(oard.)390 3006 y Fs(RL_STATE_METANEXT)870 3116 y Ft(Readline)h(is)f
+(oard.)390 4132 y Fs(RL_STATE_METANEXT)870 4242 y Ft(Readline)h(is)f
 (reading)h(more)f(input)g(after)h(reading)f(the)h(meta-pre\014x)f(c)m
-(haracter.)390 3271 y Fs(RL_STATE_DISPATCHING)870 3380
+(haracter.)390 4407 y Fs(RL_STATE_DISPATCHING)870 4516
 y Ft(Readline)h(is)f(dispatc)m(hing)h(to)g(a)g(command.)390
-3535 y Fs(RL_STATE_MOREINPUT)870 3645 y Ft(Readline)g(is)f(reading)h
+4681 y Fs(RL_STATE_MOREINPUT)870 4791 y Ft(Readline)g(is)f(reading)h
 (more)f(input)g(while)g(executing)i(an)e(editing)h(command.)390
-3799 y Fs(RL_STATE_ISEARCH)870 3909 y Ft(Readline)g(is)f(p)s(erforming)
-g(an)g(incremen)m(tal)i(history)e(searc)m(h.)390 4064
-y Fs(RL_STATE_NSEARCH)870 4173 y Ft(Readline)h(is)f(p)s(erforming)g(a)g
-(non-incremen)m(tal)i(history)e(searc)m(h.)390 4328 y
-Fs(RL_STATE_SEARCH)870 4437 y Ft(Readline)21 b(is)f(searc)m(hing)i(bac)
-m(kw)m(ard)e(or)h(forw)m(ard)e(through)h(the)h(history)f(for)g(a)h
-(string.)390 4592 y Fs(RL_STATE_NUMERICARG)870 4702 y
-Ft(Readline)31 b(is)f(reading)h(a)g(n)m(umeric)f(argumen)m(t.)390
-4856 y Fs(RL_STATE_MACROINPUT)870 4966 y Ft(Readline)25
-b(is)f(curren)m(tly)g(getting)i(its)f(input)e(from)h(a)g
-(previously-de\014ned)f(k)m(eyb)s(oard)870 5076 y(macro.)390
-5230 y Fs(RL_STATE_MACRODEF)870 5340 y Ft(Readline)31
-b(is)f(curren)m(tly)h(reading)f(c)m(haracters)i(de\014ning)e(a)g(k)m
-(eyb)s(oard)h(macro.)p eop end
+4956 y Fs(RL_STATE_ISEARCH)870 5065 y Ft(Readline)g(is)f(p)s(erforming)
+g(an)g(incremen)m(tal)i(history)e(searc)m(h.)390 5230
+y Fs(RL_STATE_NSEARCH)870 5340 y Ft(Readline)h(is)f(p)s(erforming)g(a)g
+(non-incremen)m(tal)i(history)e(searc)m(h.)p eop end
 %%Page: 35 39
 TeXDict begin 35 38 bop 150 -116 a Ft(Chapter)30 b(2:)41
 b(Programming)30 b(with)g(GNU)h(Readline)1683 b(35)390
-299 y Fs(RL_STATE_OVERWRITE)870 408 y Ft(Readline)31
-b(is)f(in)g(o)m(v)m(erwrite)i(mo)s(de.)390 576 y Fs
-(RL_STATE_COMPLETING)870 686 y Ft(Readline)f(is)f(p)s(erforming)g(w)m
-(ord)g(completion.)390 853 y Fs(RL_STATE_SIGHANDLER)870
-963 y Ft(Readline)h(is)f(curren)m(tly)h(executing)g(the)g(readline)g
-(signal)g(handler.)390 1130 y Fs(RL_STATE_UNDOING)870
-1240 y Ft(Readline)g(is)f(p)s(erforming)g(an)g(undo.)390
-1407 y Fs(RL_STATE_INPUTPENDING)870 1517 y Ft(Readline)h(has)f(input)g
-(p)s(ending)f(due)g(to)i(a)g(call)h(to)f Fs(rl_execute_next\(\))p
-Ft(.)390 1684 y Fs(RL_STATE_TTYCSAVED)870 1794 y Ft(Readline)g(has)f
-(sa)m(v)m(ed)i(the)e(v)-5 b(alues)31 b(of)f(the)h(terminal's)g(sp)s
-(ecial)g(c)m(haracters.)390 1961 y Fs(RL_STATE_CALLBACK)870
-2071 y Ft(Readline)44 b(is)f(curren)m(tly)g(using)f(the)h(alternate)i
-(\(callbac)m(k\))h(in)m(terface)e(\(see)g(Sec-)870 2181
-y(tion)31 b(2.4.12)h([Alternate)h(In)m(terface],)f(page)f(47\).)390
-2348 y Fs(RL_STATE_VIMOTION)870 2458 y Ft(Readline)g(is)f(reading)h
-(the)f(argumen)m(t)h(to)g(a)g(vi-mo)s(de)g Fs(")p Ft(motion)p
-Fs(")f Ft(command.)390 2625 y Fs(RL_STATE_MULTIKEY)870
-2735 y Ft(Readline)h(is)f(reading)h(a)g(m)m(ultiple-k)m(eystrok)m(e)i
-(command.)390 2902 y Fs(RL_STATE_VICMDONCE)870 3012 y
-Ft(Readline)40 b(has)f(en)m(tered)g(vi)g(command)g(\(mo)m(v)m(emen)m
-(t\))j(mo)s(de)d(at)h(least)g(one)f(time)870 3121 y(during)29
-b(the)i(curren)m(t)f(call)i(to)f Fs(readline\(\))p Ft(.)390
-3289 y Fs(RL_STATE_DONE)870 3399 y Ft(Readline)d(has)g(read)f(a)i(k)m
-(ey)f(sequence)g(b)s(ound)e(to)i Fs(accept-line)d Ft(and)i(is)h(ab)s
-(out)f(to)870 3508 y(return)i(the)i(line)g(to)g(the)f(caller.)390
-3676 y Fs(RL_STATE_TIMEOUT)870 3785 y Ft(Readline)44
+299 y Fs(RL_STATE_SEARCH)870 408 y Ft(Readline)21 b(is)f(searc)m(hing)i
+(bac)m(kw)m(ard)e(or)h(forw)m(ard)e(through)h(the)h(history)f(for)g(a)h
+(string.)390 552 y Fs(RL_STATE_NUMERICARG)870 662 y Ft(Readline)31
+b(is)f(reading)h(a)g(n)m(umeric)f(argumen)m(t.)390 806
+y Fs(RL_STATE_MACROINPUT)870 915 y Ft(Readline)25 b(is)f(curren)m(tly)g
+(getting)i(its)f(input)e(from)h(a)g(previously-de\014ned)f(k)m(eyb)s
+(oard)870 1025 y(macro.)390 1169 y Fs(RL_STATE_MACRODEF)870
+1278 y Ft(Readline)31 b(is)f(curren)m(tly)h(reading)f(c)m(haracters)i
+(de\014ning)e(a)g(k)m(eyb)s(oard)h(macro.)390 1422 y
+Fs(RL_STATE_OVERWRITE)870 1532 y Ft(Readline)g(is)f(in)g(o)m(v)m
+(erwrite)i(mo)s(de.)390 1676 y Fs(RL_STATE_COMPLETING)870
+1785 y Ft(Readline)f(is)f(p)s(erforming)g(w)m(ord)g(completion.)390
+1929 y Fs(RL_STATE_SIGHANDLER)870 2039 y Ft(Readline)h(is)f(curren)m
+(tly)h(executing)g(the)g(Readline)g(signal)g(handler.)390
+2182 y Fs(RL_STATE_UNDOING)870 2292 y Ft(Readline)g(is)f(p)s(erforming)
+g(an)g(undo.)390 2436 y Fs(RL_STATE_INPUTPENDING)870
+2545 y Ft(Readline)h(has)f(input)g(p)s(ending)f(due)g(to)i(a)g(call)h
+(to)f Fs(rl_execute_next\(\))p Ft(.)390 2689 y Fs(RL_STATE_TTYCSAVED)
+870 2799 y Ft(Readline)g(has)f(sa)m(v)m(ed)i(the)e(v)-5
+b(alues)31 b(of)f(the)h(terminal's)g(sp)s(ecial)g(c)m(haracters.)390
+2943 y Fs(RL_STATE_CALLBACK)870 3052 y Ft(Readline)44
+b(is)f(curren)m(tly)g(using)f(the)h(alternate)i(\(callbac)m(k\))h(in)m
+(terface)e(\(see)g(Sec-)870 3162 y(tion)31 b(2.4.12)h([Alternate)h(In)m
+(terface],)f(page)f(47\).)390 3306 y Fs(RL_STATE_VIMOTION)870
+3415 y Ft(Readline)g(is)f(reading)h(the)f(argumen)m(t)h(to)g(a)g(vi-mo)
+s(de)g Fs(")p Ft(motion)p Fs(")f Ft(command.)390 3559
+y Fs(RL_STATE_MULTIKEY)870 3669 y Ft(Readline)h(is)f(reading)h(a)g(m)m
+(ultiple-k)m(eystrok)m(e)i(command.)390 3813 y Fs(RL_STATE_VICMDONCE)
+870 3922 y Ft(Readline)40 b(has)f(en)m(tered)g(vi)g(command)g(\(mo)m(v)
+m(emen)m(t\))j(mo)s(de)d(at)h(least)g(one)f(time)870
+4032 y(during)29 b(the)i(curren)m(t)f(call)i(to)f Fs(readline\(\))p
+Ft(.)390 4176 y Fs(RL_STATE_DONE)870 4285 y Ft(Readline)d(has)g(read)f
+(a)i(k)m(ey)f(sequence)g(b)s(ound)e(to)i Fs(accept-line)d
+Ft(and)i(is)h(ab)s(out)f(to)870 4395 y(return)i(the)i(line)g(to)g(the)f
+(caller.)390 4539 y Fs(RL_STATE_TIMEOUT)870 4648 y Ft(Readline)44
 b(has)f(timed)g(out)h(\(it)g(did)f(not)g(receiv)m(e)i(a)f(line)f(or)h
-(sp)s(eci\014ed)e(n)m(um)m(b)s(er)870 3895 y(of)36 b(c)m(haracters)i(b)
+(sp)s(eci\014ed)e(n)m(um)m(b)s(er)870 4758 y(of)36 b(c)m(haracters)i(b)
 s(efore)d(the)i(timeout)g(duration)e(sp)s(eci\014ed)h(b)m(y)g
-Fs(rl_set_timeout)870 4004 y Ft(elapsed\))31 b(and)f(is)g(returning)g
-(that)h(status)f(to)h(the)g(caller.)390 4172 y Fs(RL_STATE_EOF)870
-4281 y Ft(Readline)39 b(has)f(read)h(an)f(EOF)h(c)m(haracter)h(\(e.g.,)
+Fs(rl_set_timeout)870 4867 y Ft(elapsed\))31 b(and)f(is)g(returning)g
+(that)h(status)f(to)h(the)g(caller.)390 5011 y Fs(RL_STATE_EOF)870
+5121 y Ft(Readline)39 b(has)f(read)h(an)f(EOF)h(c)m(haracter)h(\(e.g.,)
 i(the)d(stt)m(y)g(`)p Fs(EOF)p Ft(')f(c)m(haracter\))j(or)870
-4391 y(encoun)m(tered)k(a)h(read)e(error)h(and)f(is)h(ab)s(out)g(to)g
-(return)f(a)h(NULL)g(line)g(to)h(the)870 4501 y(caller.)3371
-4701 y([V)-8 b(ariable])-3598 b Fh(int)53 b(rl_explicit_arg)390
-4811 y Ft(Set)39 b(to)g(a)h(non-zero)f(v)-5 b(alue)39
-b(if)g(an)g(explicit)h(n)m(umeric)e(argumen)m(t)i(w)m(as)f(sp)s
-(eci\014ed)f(b)m(y)g(the)h(user.)390 4920 y(Only)30 b(v)-5
-b(alid)30 b(in)h(a)f(bindable)g(command)g(function.)3371
-5121 y([V)-8 b(ariable])-3598 b Fh(int)53 b(rl_numeric_arg)390
-5230 y Ft(Set)45 b(to)h(the)g(v)-5 b(alue)46 b(of)f(an)m(y)h(n)m
-(umeric)f(argumen)m(t)h(explicitly)h(sp)s(eci\014ed)d(b)m(y)h(the)h
-(user)e(b)s(efore)390 5340 y(executing)27 b(the)f(curren)m(t)g
-(Readline)h(function.)38 b(Only)26 b(v)-5 b(alid)26 b(in)g(a)g
-(bindable)f(command)h(function.)p eop end
+5230 y(encoun)m(tered)32 b(a)f(read)g(error)g(or)g(EOF)g(and)g(is)g(ab)
+s(out)g(to)h(return)e(a)i(NULL)f(line)g(to)870 5340 y(the)g(caller.)p
+eop end
 %%Page: 36 40
 TeXDict begin 36 39 bop 150 -116 a Ft(Chapter)30 b(2:)41
 b(Programming)30 b(with)g(GNU)h(Readline)1683 b(36)3371
-299 y([V)-8 b(ariable])-3598 b Fh(int)53 b(rl_editing_mode)390
-408 y Ft(Set)25 b(to)h(a)g(v)-5 b(alue)25 b(denoting)h(Readline's)f
-(curren)m(t)g(editing)h(mo)s(de.)39 b(A)25 b(v)-5 b(alue)25
-b(of)h Fk(1)32 b Ft(means)25 b(Readline)390 518 y(is)30
-b(curren)m(tly)h(in)f(emacs)h(mo)s(de;)f Fk(0)38 b Ft(means)31
-b(that)f(vi)h(mo)s(de)f(is)g(activ)m(e.)150 759 y Fr(2.4)68
+299 y([V)-8 b(ariable])-3598 b Fh(int)53 b(rl_explicit_arg)390
+408 y Ft(Set)31 b(to)h(a)f(non-zero)g(v)-5 b(alue)32
+b(if)f(an)g(explicit)h(n)m(umeric)e(argumen)m(t)i(w)m(as)f(sp)s
+(eci\014ed)f(b)m(y)h(the)g(user.)42 b(It)390 518 y(is)30
+b(only)h(v)-5 b(alid)31 b(in)f(a)g(bindable)g(command)g(function.)3371
+699 y([V)-8 b(ariable])-3598 b Fh(int)53 b(rl_numeric_arg)390
+808 y Ft(Set)45 b(to)h(the)g(v)-5 b(alue)46 b(of)f(an)m(y)h(n)m(umeric)
+f(argumen)m(t)h(explicitly)h(sp)s(eci\014ed)d(b)m(y)h(the)h(user)e(b)s
+(efore)390 918 y(executing)g(the)f(curren)m(t)f(Readline)h(function.)77
+b(It)43 b(is)f(only)h(v)-5 b(alid)43 b(in)f(a)h(bindable)f(command)390
+1027 y(function.)3371 1208 y([V)-8 b(ariable])-3598 b
+Fh(int)53 b(rl_editing_mode)390 1317 y Ft(Set)25 b(to)h(a)g(v)-5
+b(alue)25 b(denoting)h(Readline's)f(curren)m(t)g(editing)h(mo)s(de.)39
+b(A)25 b(v)-5 b(alue)25 b(of)h Fk(1)32 b Ft(means)25
+b(Readline)390 1427 y(is)39 b(curren)m(tly)g(in)g(emacs)h(mo)s(de;)j
+Fk(0)k Ft(means)39 b(that)h(vi)f(mo)s(de)g(is)g(activ)m(e.)69
+b(This)39 b(determines)g(the)390 1537 y(curren)m(t)30
+b(k)m(eymap)h(and)f(k)m(ey)h(bindings.)150 1775 y Fr(2.4)68
 b(Readline)47 b(Con)l(v)l(enience)f(F)-11 b(unctions)150
-983 y Fi(2.4.1)63 b(Naming)41 b(a)g(F)-10 b(unction)150
-1130 y Ft(The)24 b(user)h(can)g(dynamically)g(c)m(hange)h(the)f
-(bindings)f(of)h(k)m(eys)h(while)e(using)h(Readline.)39
-b(This)24 b(is)h(done)g(b)m(y)150 1240 y(represen)m(ting)30
-b(the)h(function)f(with)g(a)g(descriptiv)m(e)h(name.)41
-b(The)30 b(user)f(is)i(able)f(to)h(t)m(yp)s(e)g(the)f(descriptiv)m(e)
-150 1349 y(name)g(when)g(referring)g(to)h(the)f(function.)41
-b(Th)m(us,)29 b(in)h(an)h(init)f(\014le,)h(one)g(migh)m(t)g(\014nd)390
-1484 y Fs(Meta-Rubout:)92 b(backward-kill-word)275 1619
+1998 y Fi(2.4.1)63 b(Naming)41 b(a)g(F)-10 b(unction)150
+2145 y Ft(Readline)27 b(has)e(a)i(descriptiv)m(e)g(string)f(name)g(for)
+g(ev)m(ery)h(function)e(a)i(user)e(can)h(bind)f(to)i(a)f(k)m(ey)h
+(sequence,)150 2254 y(so)39 b(users)f(can)h(dynamically)g(c)m(hange)h
+(the)f(bindings)f(asso)s(ciated)i(with)e(k)m(ey)i(sequences)f(while)f
+(using)150 2364 y(Readline,)d(using)e(the)g(descriptiv)m(e)h(name)g
+(when)e(referring)h(to)h(the)f(function.)50 b(Th)m(us,)33
+b(in)g(an)g(init)h(\014le,)150 2473 y(one)d(migh)m(t)g(\014nd)390
+2607 y Fs(Meta-Rubout:)92 b(backward-kill-word)275 2740
 y Ft(This)84 b(binds)h(the)g(k)m(eystrok)m(e)j Fs(Meta-Rubout)82
 b Ft(to)87 b(the)e(function)h Fj(descriptively)94 b Ft(named)150
-1728 y Fs(backward-kill-word)p Ft(.)63 b(Y)-8 b(ou,)43
-b(as)d(the)g(programmer,)i(should)c(bind)g(the)i(functions)f(y)m(ou)h
-(write)g(to)150 1838 y(descriptiv)m(e)31 b(names)g(as)f(w)m(ell.)42
-b(Readline)31 b(pro)m(vides)f(a)h(function)f(for)g(doing)h(that:)3350
-2023 y([F)-8 b(unction])-3599 b Fh(int)53 b(rl_add_defun)c
-Fg(\()p Ff(const)34 b(c)m(har)g(*name,)f(rl)p 1964 2023
-30 5 v 43 w(command)p 2427 2023 V 45 w(func)p 2656 2023
-V 45 w(t)g(*function,)565 2132 y(in)m(t)g(k)m(ey)p Fg(\))390
-2242 y Ft(Add)h Fk(name)41 b Ft(to)36 b(the)f(list)h(of)g(named)e
+2850 y Fs(backward-kill-word)p Ft(.)68 b(As)41 b(the)g(programmer,)j(y)
+m(ou)d(should)g(bind)e(the)j(functions)e(y)m(ou)i(write)f(to)150
+2959 y(descriptiv)m(e)31 b(names)g(as)f(w)m(ell.)42 b(Readline)31
+b(pro)m(vides)f(a)h(function)f(for)g(doing)h(that:)3350
+3140 y([F)-8 b(unction])-3599 b Fh(int)53 b(rl_add_defun)c
+Fg(\()p Ff(const)34 b(c)m(har)g(*name,)f(rl)p 1964 3140
+30 5 v 43 w(command)p 2427 3140 V 45 w(func)p 2656 3140
+V 45 w(t)g(*function,)565 3249 y(in)m(t)g(k)m(ey)p Fg(\))390
+3359 y Ft(Add)h Fk(name)41 b Ft(to)36 b(the)f(list)h(of)g(named)e
 (functions.)55 b(Mak)m(e)37 b Fk(function)e Ft(b)s(e)g(the)g(function)g
-(that)h(gets)390 2351 y(called.)42 b(If)30 b Fk(k)m(ey)39
-b Ft(is)30 b(not)h(-1,)g(then)f(bind)f(it)i(to)g Fk(function)f
-Ft(using)g Fs(rl_bind_key\(\))p Ft(.)275 2536 y(Using)g(this)g
-(function)g(alone)h(is)f(su\016cien)m(t)g(for)g(most)h(applications.)42
-b(It)30 b(is)g(the)g(recommended)g(w)m(a)m(y)150 2646
-y(to)e(add)e(a)h(few)g(functions)g(to)g(the)g(default)h(functions)e
-(that)i(Readline)f(has)g(built)g(in.)39 b(If)26 b(y)m(ou)i(need)e(to)i
-(do)150 2755 y(something)34 b(other)g(than)f(adding)h(a)g(function)f
+(that)h(gets)390 3468 y(called)c(b)m(y)g(k)m(ey)g(sequences)f(that)h
+(bind)e(to)i Fk(name)p Ft(.)44 b(If)30 b Fk(k)m(ey)40
+b Ft(is)32 b(not)f(-1,)h(then)f(bind)f(it)i(to)g Fk(function)390
+3578 y Ft(using)e Fs(rl_bind_key\(\))p Ft(.)275 3759
+y(Using)g(this)g(function)g(alone)h(is)f(su\016cien)m(t)g(for)g(most)h
+(applications.)42 b(It)30 b(is)g(the)g(recommended)g(w)m(a)m(y)150
+3868 y(to)e(add)e(a)h(few)g(functions)g(to)g(the)g(default)h(functions)
+e(that)i(Readline)f(has)g(built)g(in.)39 b(If)26 b(y)m(ou)i(need)e(to)i
+(do)150 3978 y(something)34 b(other)g(than)f(adding)h(a)g(function)f
 (to)h(Readline,)i(y)m(ou)e(ma)m(y)g(need)f(to)i(use)e(the)h(underlying)
-150 2865 y(functions)c(describ)s(ed)f(b)s(elo)m(w.)150
-3064 y Fi(2.4.2)63 b(Selecting)41 b(a)f(Keymap)150 3211
+150 4087 y(functions)c(describ)s(ed)f(b)s(elo)m(w.)150
+4284 y Fi(2.4.2)63 b(Selecting)41 b(a)f(Keymap)150 4431
 y Ft(Key)f(bindings)e(tak)m(e)j(place)g(on)f(a)g Fk(k)m(eymap)p
 Ft(.)66 b(The)38 b(k)m(eymap)h(is)g(the)g(asso)s(ciation)h(b)s(et)m(w)m
-(een)f(the)g(k)m(eys)150 3321 y(that)29 b(the)g(user)e(t)m(yp)s(es)i
+(een)f(the)g(k)m(eys)150 4541 y(that)29 b(the)g(user)e(t)m(yp)s(es)i
 (and)f(the)g(functions)g(that)h(get)h(run.)39 b(Y)-8
 b(ou)29 b(can)f(mak)m(e)i(y)m(our)e(o)m(wn)h(k)m(eymaps,)g(cop)m(y)150
-3430 y(existing)i(k)m(eymaps,)g(and)f(tell)i(Readline)f(whic)m(h)f(k)m
-(eymap)h(to)g(use.)3350 3615 y([F)-8 b(unction])-3599
+4650 y(existing)i(k)m(eymaps,)g(and)f(tell)i(Readline)f(whic)m(h)f(k)m
+(eymap)h(to)g(use.)3350 4831 y([F)-8 b(unction])-3599
 b Fh(Keymap)54 b(rl_make_bare_keymap)d Fg(\()p Ff(v)m(oid)p
-Fg(\))390 3725 y Ft(Returns)23 b(a)i(new,)g(empt)m(y)f(k)m(eymap.)40
+Fg(\))390 4940 y Ft(Returns)23 b(a)i(new,)g(empt)m(y)f(k)m(eymap.)40
 b(The)23 b(space)i(for)f(the)g(k)m(eymap)h(is)f(allo)s(cated)i(with)e
-Fs(malloc\(\))p Ft(;)390 3834 y(the)31 b(caller)g(should)f(free)g(it)h
+Fs(malloc\(\))p Ft(;)390 5050 y(the)31 b(caller)g(should)f(free)g(it)h
 (b)m(y)f(calling)i Fs(rl_free_keymap\(\))26 b Ft(when)j(done.)3350
-4019 y([F)-8 b(unction])-3599 b Fh(Keymap)54 b(rl_copy_keymap)c
-Fg(\()p Ff(Keymap)34 b(map)p Fg(\))390 4128 y Ft(Return)c(a)g(new)g(k)m
+5230 y([F)-8 b(unction])-3599 b Fh(Keymap)54 b(rl_copy_keymap)c
+Fg(\()p Ff(Keymap)34 b(map)p Fg(\))390 5340 y Ft(Return)c(a)g(new)g(k)m
 (eymap)h(whic)m(h)f(is)h(a)f(cop)m(y)h(of)g Fk(map)p
-Ft(.)3350 4313 y([F)-8 b(unction])-3599 b Fh(Keymap)54
-b(rl_make_keymap)c Fg(\()p Ff(v)m(oid)p Fg(\))390 4423
-y Ft(Return)31 b(a)g(new)g(k)m(eymap)h(with)f(the)h(prin)m(ting)f(c)m
-(haracters)i(b)s(ound)c(to)j(rl)p 2909 4423 28 4 v 40
-w(insert,)g(the)g(lo)m(w)m(ercase)390 4532 y(Meta)24
-b(c)m(haracters)g(b)s(ound)d(to)i(run)e(their)i(equiv)-5
+Ft(.)p eop end
+%%Page: 37 41
+TeXDict begin 37 40 bop 150 -116 a Ft(Chapter)30 b(2:)41
+b(Programming)30 b(with)g(GNU)h(Readline)1683 b(37)3350
+299 y([F)-8 b(unction])-3599 b Fh(Keymap)54 b(rl_make_keymap)c
+Fg(\()p Ff(v)m(oid)p Fg(\))390 408 y Ft(Return)31 b(a)g(new)g(k)m
+(eymap)h(with)f(the)h(prin)m(ting)f(c)m(haracters)i(b)s(ound)c(to)j(rl)
+p 2909 408 28 4 v 40 w(insert,)g(the)g(lo)m(w)m(ercase)390
+518 y(Meta)24 b(c)m(haracters)g(b)s(ound)d(to)i(run)e(their)i(equiv)-5
 b(alen)m(ts,)25 b(and)d(the)h(Meta)h(digits)f(b)s(ound)e(to)i(pro)s
-(duce)390 4642 y(n)m(umeric)30 b(argumen)m(ts.)3350 4827
+(duce)390 628 y(n)m(umeric)30 b(argumen)m(ts.)3350 809
 y([F)-8 b(unction])-3599 b Fh(void)54 b(rl_discard_keymap)c
-Fg(\()p Ff(Keymap)34 b(k)m(eymap)p Fg(\))390 4936 y Ft(F)-8
+Fg(\()p Ff(Keymap)34 b(k)m(eymap)p Fg(\))390 918 y Ft(F)-8
 b(ree)30 b(the)g(storage)h(asso)s(ciated)g(with)e(the)g(data)h(in)f
 Fk(k)m(eymap)p Ft(.)41 b(The)29 b(caller)h(should)f(free)g
-Fk(k)m(eymap)p Ft(.)3350 5121 y([F)-8 b(unction])-3599
+Fk(k)m(eymap)p Ft(.)3350 1099 y([F)-8 b(unction])-3599
 b Fh(void)54 b(rl_free_keymap)49 b Fg(\()p Ff(Keymap)34
-b(k)m(eymap)p Fg(\))390 5230 y Ft(F)-8 b(ree)32 b(all)g(storage)g(asso)
+b(k)m(eymap)p Fg(\))390 1209 y Ft(F)-8 b(ree)32 b(all)g(storage)g(asso)
 s(ciated)g(with)f Fk(k)m(eymap)p Ft(.)42 b(This)30 b(calls)i
 Fs(rl_discard_keymap)26 b Ft(to)32 b(free)f(sub-)390
-5340 y(ordindate)f(k)m(eymaps)h(and)f(macros.)p eop end
-%%Page: 37 41
-TeXDict begin 37 40 bop 150 -116 a Ft(Chapter)30 b(2:)41
-b(Programming)30 b(with)g(GNU)h(Readline)1683 b(37)3350
-299 y([F)-8 b(unction])-3599 b Fh(int)53 b(rl_empty_keymap)d
-Fg(\()p Ff(Keymap)34 b(k)m(eymap)p Fg(\))390 408 y Ft(Return)c
+1318 y(ordindate)f(k)m(eymaps)h(and)f(macros.)3350 1499
+y([F)-8 b(unction])-3599 b Fh(int)53 b(rl_empty_keymap)d
+Fg(\()p Ff(Keymap)34 b(k)m(eymap)p Fg(\))390 1609 y Ft(Return)c
 (non-zero)h(if)g(there)g(are)g(no)f(k)m(eys)i(b)s(ound)c(to)k
 (functions)e(in)g Fk(k)m(eymap)s Ft(;)i(zero)f(if)g(there)g(are)390
-518 y(an)m(y)g(k)m(eys)g(b)s(ound.)275 710 y(Readline)45
+1718 y(an)m(y)g(k)m(eys)g(b)s(ound.)275 1899 y(Readline)45
 b(has)g(sev)m(eral)i(in)m(ternal)f(k)m(eymaps.)86 b(These)45
 b(functions)g(allo)m(w)h(y)m(ou)g(to)g(c)m(hange)g(whic)m(h)150
-820 y(k)m(eymap)31 b(is)f(activ)m(e.)3350 1012 y([F)-8
-b(unction])-3599 b Fh(Keymap)54 b(rl_get_keymap)c Fg(\()p
-Ff(v)m(oid)p Fg(\))390 1122 y Ft(Returns)29 b(the)i(curren)m(tly)f
-(activ)m(e)j(k)m(eymap.)3350 1314 y([F)-8 b(unction])-3599
+2009 y(k)m(eymap)31 b(is)f(activ)m(e.)43 b(This)30 b(is)g(one)h(w)m(a)m
+(y)g(to)g(switc)m(h)g(editing)g(mo)s(des,)f(for)g(example.)3350
+2190 y([F)-8 b(unction])-3599 b Fh(Keymap)54 b(rl_get_keymap)c
+Fg(\()p Ff(v)m(oid)p Fg(\))390 2300 y Ft(Returns)29 b(the)i(curren)m
+(tly)f(activ)m(e)j(k)m(eymap.)3350 2481 y([F)-8 b(unction])-3599
 b Fh(void)54 b(rl_set_keymap)49 b Fg(\()p Ff(Keymap)34
-b(k)m(eymap)p Fg(\))390 1423 y Ft(Mak)m(es)e Fk(k)m(eymap)h
-Ft(the)e(curren)m(tly)f(activ)m(e)j(k)m(eymap.)3350 1616
+b(k)m(eymap)p Fg(\))390 2590 y Ft(Mak)m(es)e Fk(k)m(eymap)h
+Ft(the)e(curren)m(tly)f(activ)m(e)j(k)m(eymap.)3350 2771
 y([F)-8 b(unction])-3599 b Fh(Keymap)54 b(rl_get_keymap_by_name)e
-Fg(\()p Ff(const)34 b(c)m(har)g(*name)p Fg(\))390 1725
+Fg(\()p Ff(const)34 b(c)m(har)g(*name)p Fg(\))390 2881
 y Ft(Return)e(the)i(k)m(eymap)f(matc)m(hing)i Fk(name)p
 Ft(.)49 b Fk(name)38 b Ft(is)c(one)f(whic)m(h)g(w)m(ould)g(b)s(e)f
-(supplied)g(in)h(a)h Fs(set)390 1835 y(keymap)29 b Ft(inputrc)g(line)i
+(supplied)g(in)h(a)h Fs(set)390 2990 y(keymap)29 b Ft(inputrc)g(line)i
 (\(see)g(Section)g(1.3)h([Readline)f(Init)f(File],)i(page)f(4\).)3350
-2027 y([F)-8 b(unction])-3599 b Fh(char)54 b(*)e(rl_get_keymap_name)f
-Fg(\()p Ff(Keymap)34 b(k)m(eymap)p Fg(\))390 2137 y Ft(Return)e(the)i
+3171 y([F)-8 b(unction])-3599 b Fh(char)54 b(*)e(rl_get_keymap_name)f
+Fg(\()p Ff(Keymap)34 b(k)m(eymap)p Fg(\))390 3281 y Ft(Return)e(the)i
 (name)f(matc)m(hing)h Fk(k)m(eymap)p Ft(.)50 b Fk(name)38
 b Ft(is)c(one)f(whic)m(h)g(w)m(ould)g(b)s(e)f(supplied)g(in)h(a)h
-Fs(set)390 2246 y(keymap)29 b Ft(inputrc)g(line)i(\(see)g(Section)g
-(1.3)h([Readline)f(Init)f(File],)i(page)f(4\).)3350 2439
+Fs(set)390 3390 y(keymap)29 b Ft(inputrc)g(line)i(\(see)g(Section)g
+(1.3)h([Readline)f(Init)f(File],)i(page)f(4\).)3350 3571
 y([F)-8 b(unction])-3599 b Fh(int)53 b(rl_set_keymap_name)e
 Fg(\()p Ff(const)34 b(c)m(har)g(*name,)f(Keymap)h(k)m(eymap)p
-Fg(\))390 2548 y Ft(Set)g(the)f(name)h(of)g Fk(k)m(eymap)p
+Fg(\))390 3681 y Ft(Set)g(the)f(name)h(of)g Fk(k)m(eymap)p
 Ft(.)50 b(This)33 b(name)h(will)f(then)h(b)s(e)e Fs(")p
 Ft(registered)p Fs(")i Ft(and)f(a)m(v)-5 b(ailable)36
-b(for)d(use)390 2658 y(in)i(a)g Fs(set)29 b(keymap)k
+b(for)d(use)390 3791 y(in)i(a)g Fs(set)29 b(keymap)k
 Ft(inputrc)h(directiv)m(e)j(see)e(Section)h(1.3)g([Readline)g(Init)e
-(File],)k(page)e(4\).)54 b(The)390 2767 y Fk(name)27
+(File],)k(page)e(4\).)54 b(The)390 3900 y Fk(name)27
 b Ft(ma)m(y)c(not)g(b)s(e)e(one)i(of)f(Readline's)h(builtin)f(k)m
 (eymap)g(names;)j(y)m(ou)e(ma)m(y)g(not)f(add)g(a)g(di\013eren)m(t)390
-2877 y(name)36 b(for)g(one)g(of)g(Readline's)h(builtin)e(k)m(eymaps.)58
+4010 y(name)36 b(for)g(one)g(of)g(Readline's)h(builtin)e(k)m(eymaps.)58
 b(Y)-8 b(ou)37 b(ma)m(y)f(replace)h(the)f(name)g(asso)s(ciated)390
-2986 y(with)31 b(a)g(giv)m(en)h(k)m(eymap)g(b)m(y)f(calling)h(this)f
+4119 y(with)31 b(a)g(giv)m(en)h(k)m(eymap)g(b)m(y)f(calling)h(this)f
 (function)g(more)h(than)e(once)i(with)f(the)g(same)h
-Fk(k)m(eymap)390 3096 y Ft(argumen)m(t.)50 b(Y)-8 b(ou)34
+Fk(k)m(eymap)390 4229 y Ft(argumen)m(t.)50 b(Y)-8 b(ou)34
 b(ma)m(y)h(asso)s(ciate)g(a)f(registered)g Fk(name)39
 b Ft(with)33 b(a)h(new)f(k)m(eymap)h(b)m(y)f(calling)i(this)390
-3206 y(function)c(more)h(than)f(once)i(with)e(the)h(same)g
+4338 y(function)c(more)h(than)f(once)i(with)e(the)h(same)g
 Fk(name)k Ft(argumen)m(t.)45 b(There)31 b(is)h(no)g(w)m(a)m(y)g(to)g
-(remo)m(v)m(e)390 3315 y(a)k(named)e(k)m(eymap)i(once)g(the)f(name)g
+(remo)m(v)m(e)390 4448 y(a)k(named)e(k)m(eymap)i(once)g(the)f(name)g
 (has)g(b)s(een)g(registered.)56 b(Readline)36 b(will)f(mak)m(e)h(a)g
-(cop)m(y)g(of)390 3425 y Fk(name)p Ft(.)41 b(The)30 b(return)f(v)-5
+(cop)m(y)g(of)390 4558 y Fk(name)p Ft(.)41 b(The)30 b(return)f(v)-5
 b(alue)31 b(is)g(greater)g(than)g(zero)g(unless)f Fk(name)35
-b Ft(is)c(one)g(of)f(Readline's)h(builtin)390 3534 y(k)m(eymap)g(names)
+b Ft(is)c(one)g(of)f(Readline's)h(builtin)390 4667 y(k)m(eymap)g(names)
 f(or)h Fk(k)m(eymap)i Ft(is)e(one)f(of)h(Readline's)g(builtin)f(k)m
-(eymaps.)150 3738 y Fi(2.4.3)63 b(Binding)42 b(Keys)150
-3885 y Ft(Key)34 b(sequences)g(are)h(asso)s(ciate)h(with)e(functions)f
-(through)h(the)g(k)m(eymap.)52 b(Readline)35 b(has)f(sev)m(eral)h(in-)
-150 3994 y(ternal)30 b(k)m(eymaps:)40 b Fs(emacs_standard_keymap)p
+(eymaps.)150 4864 y Fi(2.4.3)63 b(Binding)42 b(Keys)150
+5011 y Ft(Key)30 b(sequences)h(are)g(asso)s(ciated)h(with)e(functions)g
+(through)g(the)g(k)m(eymap.)42 b(Readline)31 b(has)f(sev)m(eral)i(in-)
+150 5121 y(ternal)e(k)m(eymaps:)40 b Fs(emacs_standard_keymap)p
 Ft(,)24 b Fs(emacs_meta_keymap)p Ft(,)h Fs(emacs_ctlx_keymap)p
-Ft(,)g Fs(vi_)150 4104 y(movement_keymap)p Ft(,)41 b(and)h
+Ft(,)g Fs(vi_)150 5230 y(movement_keymap)p Ft(,)41 b(and)h
 Fs(vi_insertion_keymap)p Ft(.)71 b Fs(emacs_standard_keymap)37
-b Ft(is)42 b(the)g(default,)150 4213 y(and)30 b(the)g(examples)h(in)f
-(this)h(man)m(ual)f(assume)g(that.)275 4352 y(Since)d
-Fs(readline\(\))e Ft(installs)j(a)g(set)g(of)g(default)g(k)m(ey)g
-(bindings)f(the)h(\014rst)e(time)j(it)f(is)f(called,)j(there)e(is)150
-4461 y(alw)m(a)m(ys)34 b(the)f(danger)f(that)i(a)f(custom)g(binding)e
-(installed)j(b)s(efore)e(the)h(\014rst)e(call)j(to)g
-Fs(readline\(\))c Ft(will)150 4571 y(b)s(e)25 b(o)m(v)m(erridden.)39
-b(An)26 b(alternate)h(mec)m(hanism)f(is)g(to)g(install)h(custom)f(k)m
-(ey)g(bindings)f(in)g(an)h(initialization)150 4681 y(function)37
-b(assigned)g(to)h(the)f Fs(rl_startup_hook)c Ft(v)-5
-b(ariable)38 b(\(see)g(Section)g(2.3)g([Readline)g(V)-8
-b(ariables],)150 4790 y(page)31 b(30\).)275 4929 y(These)f(functions)g
-(manage)h(k)m(ey)g(bindings.)3350 5121 y([F)-8 b(unction])-3599
-b Fh(int)53 b(rl_bind_key)c Fg(\()p Ff(in)m(t)34 b(k)m(ey)-8
-b(,)32 b(rl)p 1441 5121 30 5 v 43 w(command)p 1904 5121
-V 45 w(func)p 2133 5121 V 45 w(t)h(*function)p Fg(\))390
-5230 y Ft(Binds)f Fk(k)m(ey)42 b Ft(to)34 b Fk(function)e
-Ft(in)h(the)g(curren)m(tly)g(activ)m(e)i(k)m(eymap.)49
-b(Returns)32 b(non-zero)i(in)f(the)g(case)390 5340 y(of)e(an)f(in)m(v)
--5 b(alid)31 b Fk(k)m(ey)p Ft(.)p eop end
+b Ft(is)42 b(the)g(default,)150 5340 y(and)30 b(the)g(examples)h(in)f
+(this)h(man)m(ual)f(assume)g(that.)p eop end
 %%Page: 38 42
 TeXDict begin 38 41 bop 150 -116 a Ft(Chapter)30 b(2:)41
-b(Programming)30 b(with)g(GNU)h(Readline)1683 b(38)3350
-299 y([F)-8 b(unction])-3599 b Fh(int)53 b(rl_bind_key_in_map)e
-Fg(\()p Ff(in)m(t)34 b(k)m(ey)-8 b(,)32 b(rl)p 1807 299
-30 5 v 43 w(command)p 2270 299 V 45 w(func)p 2499 299
-V 45 w(t)h(*function,)565 408 y(Keymap)h(map)p Fg(\))390
-518 y Ft(Bind)c Fk(k)m(ey)39 b Ft(to)31 b Fk(function)f
+b(Programming)30 b(with)g(GNU)h(Readline)1683 b(38)275
+299 y(Since)27 b Fs(readline\(\))e Ft(installs)j(a)g(set)g(of)g
+(default)g(k)m(ey)g(bindings)f(the)h(\014rst)e(time)j(it)f(is)f
+(called,)j(there)e(is)150 408 y(alw)m(a)m(ys)e(the)e(danger)g(that)h(a)
+g(custom)f(binding)f(installed)i(b)s(efore)f(the)h(\014rst)e(call)j(to)
+f Fs(readline\(\))c Ft(will)k(b)s(e)150 518 y(o)m(v)m(erridden.)50
+b(An)34 b(alternate)h(mec)m(hanism)f(that)g(can)g(a)m(v)m(oid)h(this)f
+(is)f(to)i(install)f(custom)g(k)m(ey)g(bindings)150 628
+y(in)44 b(an)g(initialization)j(function)c(assigned)h(to)h(the)f
+Fs(rl_startup_hook)c Ft(v)-5 b(ariable)45 b(\(see)g(Section)g(2.3)150
+737 y([Readline)31 b(V)-8 b(ariables],)32 b(page)g(30\).)275
+865 y(These)e(functions)g(manage)h(k)m(ey)g(bindings.)3350
+1027 y([F)-8 b(unction])-3599 b Fh(int)53 b(rl_bind_key)c
+Fg(\()p Ff(in)m(t)34 b(k)m(ey)-8 b(,)32 b(rl)p 1441 1027
+30 5 v 43 w(command)p 1904 1027 V 45 w(func)p 2133 1027
+V 45 w(t)h(*function)p Fg(\))390 1137 y Ft(Binds)f Fk(k)m(ey)42
+b Ft(to)34 b Fk(function)e Ft(in)h(the)g(curren)m(tly)g(activ)m(e)i(k)m
+(eymap.)49 b(Returns)32 b(non-zero)i(in)f(the)g(case)390
+1246 y(of)e(an)f(in)m(v)-5 b(alid)31 b Fk(k)m(ey)p Ft(.)3350
+1409 y([F)-8 b(unction])-3599 b Fh(int)53 b(rl_bind_key_in_map)e
+Fg(\()p Ff(in)m(t)34 b(k)m(ey)-8 b(,)32 b(rl)p 1807 1409
+V 43 w(command)p 2270 1409 V 45 w(func)p 2499 1409 V
+45 w(t)h(*function,)565 1518 y(Keymap)h(map)p Fg(\))390
+1628 y Ft(Bind)c Fk(k)m(ey)39 b Ft(to)31 b Fk(function)f
 Ft(in)g Fk(map)p Ft(.)40 b(Returns)30 b(non-zero)h(in)f(the)h(case)g
 (of)f(an)h(in)m(v)-5 b(alid)31 b Fk(k)m(ey)p Ft(.)3350
-715 y([F)-8 b(unction])-3599 b Fh(int)53 b(rl_bind_key_if_unboun)q(d)e
-Fg(\()p Ff(in)m(t)34 b(k)m(ey)-8 b(,)32 b(rl)p 2016 715
-V 44 w(command)p 2480 715 V 44 w(func)p 2708 715 V 45
-w(t)565 825 y(*function)p Fg(\))390 934 y Ft(Binds)43
+1791 y([F)-8 b(unction])-3599 b Fh(int)53 b(rl_bind_key_if_unboun)q(d)e
+Fg(\()p Ff(in)m(t)34 b(k)m(ey)-8 b(,)32 b(rl)p 2016 1791
+V 44 w(command)p 2480 1791 V 44 w(func)p 2708 1791 V
+45 w(t)565 1900 y(*function)p Fg(\))390 2010 y Ft(Binds)43
 b Fk(k)m(ey)53 b Ft(to)45 b Fk(function)e Ft(if)h(it)h(is)f(not)g
 (already)g(b)s(ound)e(in)i(the)g(curren)m(tly)g(activ)m(e)i(k)m(eymap.)
-390 1044 y(Returns)29 b(non-zero)i(in)f(the)h(case)g(of)g(an)f(in)m(v)
+390 2119 y(Returns)29 b(non-zero)i(in)f(the)h(case)g(of)g(an)f(in)m(v)
 -5 b(alid)31 b Fk(k)m(ey)39 b Ft(or)30 b(if)h Fk(k)m(ey)39
-b Ft(is)30 b(already)h(b)s(ound.)3350 1241 y([F)-8 b(unction])-3599
+b Ft(is)30 b(already)h(b)s(ound.)3350 2282 y([F)-8 b(unction])-3599
 b Fh(int)53 b(rl_bind_key_if_unboun)q(d_in)q(_ma)q(p)e
-Fg(\()p Ff(in)m(t)34 b(k)m(ey)-8 b(,)32 b(rl)p 2382 1241
-V 44 w(command)p 2846 1241 V 44 w(func)p 3074 1241 V
-46 w(t)565 1351 y(*function,)i(Keymap)g(map)p Fg(\))390
-1461 y Ft(Binds)27 b Fk(k)m(ey)36 b Ft(to)28 b Fk(function)f
+Fg(\()p Ff(in)m(t)34 b(k)m(ey)-8 b(,)32 b(rl)p 2382 2282
+V 44 w(command)p 2846 2282 V 44 w(func)p 3074 2282 V
+46 w(t)565 2392 y(*function,)i(Keymap)g(map)p Fg(\))390
+2501 y Ft(Binds)27 b Fk(k)m(ey)36 b Ft(to)28 b Fk(function)f
 Ft(if)g(it)h(is)f(not)h(already)g(b)s(ound)d(in)i Fk(map)p
 Ft(.)39 b(Returns)27 b(non-zero)g(in)g(the)h(case)390
-1570 y(of)j(an)f(in)m(v)-5 b(alid)31 b Fk(k)m(ey)39 b
+2611 y(of)j(an)f(in)m(v)-5 b(alid)31 b Fk(k)m(ey)39 b
 Ft(or)30 b(if)g Fk(k)m(ey)39 b Ft(is)31 b(already)g(b)s(ound.)3350
-1767 y([F)-8 b(unction])-3599 b Fh(int)53 b(rl_unbind_key)d
-Fg(\()p Ff(in)m(t)33 b(k)m(ey)p Fg(\))390 1877 y Ft(Bind)j
-Fk(k)m(ey)45 b Ft(to)37 b(the)f(n)m(ull)g(function)g(in)g(the)h(curren)
-m(tly)f(activ)m(e)i(k)m(eymap.)59 b(Returns)35 b(non-zero)i(in)390
-1987 y(case)31 b(of)g(error.)3350 2184 y([F)-8 b(unction])-3599
-b Fh(int)53 b(rl_unbind_key_in_map)f Fg(\()p Ff(in)m(t)33
-b(k)m(ey)-8 b(,)33 b(Keymap)g(map)p Fg(\))390 2293 y
-Ft(Bind)d Fk(k)m(ey)39 b Ft(to)31 b(the)g(n)m(ull)f(function)g(in)g
-Fk(map)p Ft(.)40 b(Returns)30 b(non-zero)h(in)f(case)h(of)g(error.)3350
-2491 y([F)-8 b(unction])-3599 b Fh(int)53 b(rl_unbind_function_in)q
-(_map)f Fg(\()p Ff(rl)p 1821 2491 V 44 w(command)p 2285
-2491 V 45 w(func)p 2514 2491 V 45 w(t)33 b(*function,)565
-2600 y(Keymap)h(map)p Fg(\))390 2710 y Ft(Un)m(bind)29
-b(all)i(k)m(eys)g(that)g(execute)h Fk(function)e Ft(in)g
-Fk(map)p Ft(.)3350 2907 y([F)-8 b(unction])-3599 b Fh(int)53
-b(rl_unbind_command_in_)q(map)f Fg(\()p Ff(const)34 b(c)m(har)g
-(*command,)f(Keymap)565 3017 y(map)p Fg(\))390 3126 y
-Ft(Un)m(bind)c(all)i(k)m(eys)g(that)g(are)g(b)s(ound)e(to)i
-Fk(command)i Ft(in)d Fk(map)p Ft(.)3350 3324 y([F)-8
-b(unction])-3599 b Fh(int)53 b(rl_bind_keyseq)d Fg(\()p
-Ff(const)34 b(c)m(har)g(*k)m(eyseq,)e(rl)p 2119 3324
-V 44 w(command)p 2583 3324 V 44 w(func)p 2811 3324 V
-46 w(t)565 3433 y(*function)p Fg(\))390 3543 y Ft(Bind)43
+2773 y([F)-8 b(unction])-3599 b Fh(int)53 b(rl_unbind_key)d
+Fg(\()p Ff(in)m(t)33 b(k)m(ey)p Fg(\))390 2883 y Ft(Bind)h
+Fk(k)m(ey)42 b Ft(to)35 b(the)g(n)m(ull)f(function)f(in)h(the)g(curren)
+m(tly)h(activ)m(e)h(k)m(eymap.)52 b(This)34 b(is)g(not)g(the)h(same)390
+2993 y(as)c(binding)e(it)i(to)g Fs(self-insert)p Ft(.)38
+b(Returns)29 b(non-zero)i(in)f(case)h(of)g(error.)3350
+3155 y([F)-8 b(unction])-3599 b Fh(int)53 b(rl_unbind_key_in_map)f
+Fg(\()p Ff(in)m(t)33 b(k)m(ey)-8 b(,)33 b(Keymap)g(map)p
+Fg(\))390 3265 y Ft(Bind)50 b Fk(k)m(ey)59 b Ft(to)52
+b(the)e(n)m(ull)h(function)f(in)h Fk(map)p Ft(.)101 b(This)49
+b(is)i(not)g(the)g(same)g(as)g(binding)e(it)i(to)390
+3374 y Fs(self-insert)p Ft(.)38 b(Returns)29 b(non-zero)i(in)f(case)i
+(of)e(error.)3350 3537 y([F)-8 b(unction])-3599 b Fh(int)53
+b(rl_unbind_function_in)q(_map)f Fg(\()p Ff(rl)p 1821
+3537 V 44 w(command)p 2285 3537 V 45 w(func)p 2514 3537
+V 45 w(t)33 b(*function,)565 3647 y(Keymap)h(map)p Fg(\))390
+3756 y Ft(Un)m(bind)29 b(all)i(k)m(eys)g(that)g(execute)h
+Fk(function)e Ft(in)g Fk(map)p Ft(.)3350 3919 y([F)-8
+b(unction])-3599 b Fh(int)53 b(rl_unbind_command_in_)q(map)f
+Fg(\()p Ff(const)34 b(c)m(har)g(*command,)f(Keymap)565
+4028 y(map)p Fg(\))390 4138 y Ft(Un)m(bind)c(all)i(k)m(eys)g(that)g
+(are)g(b)s(ound)e(to)i Fk(command)i Ft(in)d Fk(map)p
+Ft(.)3350 4301 y([F)-8 b(unction])-3599 b Fh(int)53 b(rl_bind_keyseq)d
+Fg(\()p Ff(const)34 b(c)m(har)g(*k)m(eyseq,)e(rl)p 2119
+4301 V 44 w(command)p 2583 4301 V 44 w(func)p 2811 4301
+V 46 w(t)565 4410 y(*function)p Fg(\))390 4520 y Ft(Bind)43
 b(the)g(k)m(ey)h(sequence)f(represen)m(ted)g(b)m(y)g(the)g(string)g
 Fk(k)m(eyseq)j Ft(to)e(the)f(function)g Fk(function)p
-Ft(,)390 3652 y(b)s(eginning)27 b(in)h(the)h(curren)m(t)f(k)m(eymap.)40
+Ft(,)390 4629 y(b)s(eginning)27 b(in)h(the)h(curren)m(t)f(k)m(eymap.)40
 b(This)28 b(mak)m(es)h(new)e(k)m(eymaps)i(as)f(necessary)-8
-b(.)41 b(The)28 b(return)390 3762 y(v)-5 b(alue)31 b(is)f(non-zero)h
-(if)g Fk(k)m(eyseq)i Ft(is)d(in)m(v)-5 b(alid.)3350 3959
+b(.)41 b(The)28 b(return)390 4739 y(v)-5 b(alue)31 b(is)f(non-zero)h
+(if)g Fk(k)m(eyseq)i Ft(is)d(in)m(v)-5 b(alid.)3350 4902
 y([F)d(unction])-3599 b Fh(int)53 b(rl_bind_keyseq_in_map)f
-Fg(\()p Ff(const)34 b(c)m(har)g(*k)m(eyseq,)565 4069
-y(rl)p 639 4069 V 44 w(command)p 1103 4069 V 44 w(func)p
-1331 4069 V 45 w(t)f(*function,)h(Keymap)g(map)p Fg(\))390
-4178 y Ft(Bind)25 b(the)g(k)m(ey)h(sequence)f(represen)m(ted)g(b)m(y)g
-(the)g(string)g Fk(k)m(eyseq)j Ft(to)e(the)f(function)g
-Fk(function)p Ft(.)39 b(This)390 4288 y(mak)m(es)30 b(new)f(k)m(eymaps)
-g(as)g(necessary)-8 b(.)42 b(Initial)30 b(bindings)d(are)j(p)s
-(erformed)e(in)g Fk(map)p Ft(.)40 b(The)29 b(return)390
-4398 y(v)-5 b(alue)31 b(is)f(non-zero)h(if)g Fk(k)m(eyseq)i
-Ft(is)d(in)m(v)-5 b(alid.)3350 4595 y([F)d(unction])-3599
-b Fh(int)53 b(rl_set_key)c Fg(\()p Ff(const)34 b(c)m(har)g(*k)m(eyseq,)
-e(rl)p 1910 4595 V 44 w(command)p 2374 4595 V 44 w(func)p
-2602 4595 V 45 w(t)h(*function,)565 4704 y(Keymap)h(map)p
-Fg(\))390 4814 y Ft(Equiv)-5 b(alen)m(t)31 b(to)g Fs
-(rl_bind_keyseq_in_map)p Ft(.)3350 5011 y([F)-8 b(unction])-3599
-b Fh(int)53 b(rl_bind_keyseq_if_unb)q(ound)f Fg(\()p
-Ff(const)34 b(c)m(har)g(*k)m(eyseq,)565 5121 y(rl)p 639
-5121 V 44 w(command)p 1103 5121 V 44 w(func)p 1331 5121
-V 45 w(t)f(*function)p Fg(\))390 5230 y Ft(Binds)i Fk(k)m(eyseq)k
-Ft(to)d Fk(function)f Ft(if)g(it)h(is)g(not)g(already)g(b)s(ound)d(in)i
-(the)h(curren)m(tly)f(activ)m(e)j(k)m(eymap.)390 5340
-y(Returns)29 b(non-zero)i(in)f(the)h(case)g(of)g(an)f(in)m(v)-5
-b(alid)31 b Fk(k)m(eyseq)j Ft(or)c(if)g Fk(k)m(eyseq)k
-Ft(is)c(already)h(b)s(ound.)p eop end
+Fg(\()p Ff(const)34 b(c)m(har)g(*k)m(eyseq,)565 5011
+y(rl)p 639 5011 V 44 w(command)p 1103 5011 V 44 w(func)p
+1331 5011 V 45 w(t)f(*function,)h(Keymap)g(map)p Fg(\))390
+5121 y Ft(Bind)h(the)h(k)m(ey)h(sequence)f(represen)m(ted)g(b)m(y)g
+(the)g(string)g Fk(k)m(eyseq)j Ft(to)d(the)g(function)g
+Fk(function)f Ft(in)390 5230 y Fk(map)p Ft(.)44 b(This)30
+b(mak)m(es)j(new)d(k)m(eymaps)i(as)g(necessary)-8 b(.)45
+b(Initial)32 b(bindings)e(are)i(p)s(erformed)e(in)h Fk(map)p
+Ft(.)390 5340 y(The)f(return)f(v)-5 b(alue)31 b(is)f(non-zero)h(if)g
+Fk(k)m(eyseq)i Ft(is)e(in)m(v)-5 b(alid.)p eop end
 %%Page: 39 43
 TeXDict begin 39 42 bop 150 -116 a Ft(Chapter)30 b(2:)41
 b(Programming)30 b(with)g(GNU)h(Readline)1683 b(39)3350
-299 y([F)-8 b(unction])-3599 b Fh(int)53 b(rl_bind_keyseq_if_unb)q
+299 y([F)-8 b(unction])-3599 b Fh(int)53 b(rl_set_key)c
+Fg(\()p Ff(const)34 b(c)m(har)g(*k)m(eyseq,)e(rl)p 1910
+299 30 5 v 44 w(command)p 2374 299 V 44 w(func)p 2602
+299 V 45 w(t)h(*function,)565 408 y(Keymap)h(map)p Fg(\))390
+518 y Ft(Equiv)-5 b(alen)m(t)31 b(to)g Fs(rl_bind_keyseq_in_map)p
+Ft(.)3350 682 y([F)-8 b(unction])-3599 b Fh(int)53 b
+(rl_bind_keyseq_if_unb)q(ound)f Fg(\()p Ff(const)34 b(c)m(har)g(*k)m
+(eyseq,)565 792 y(rl)p 639 792 V 44 w(command)p 1103
+792 V 44 w(func)p 1331 792 V 45 w(t)f(*function)p Fg(\))390
+901 y Ft(Binds)i Fk(k)m(eyseq)k Ft(to)d Fk(function)f
+Ft(if)g(it)h(is)g(not)g(already)g(b)s(ound)d(in)i(the)h(curren)m(tly)f
+(activ)m(e)j(k)m(eymap.)390 1011 y(Returns)29 b(non-zero)i(in)f(the)h
+(case)g(of)g(an)f(in)m(v)-5 b(alid)31 b Fk(k)m(eyseq)j
+Ft(or)c(if)g Fk(k)m(eyseq)k Ft(is)c(already)h(b)s(ound.)3350
+1175 y([F)-8 b(unction])-3599 b Fh(int)53 b(rl_bind_keyseq_if_unb)q
 (ound)q(_in)q(_ma)q(p)e Fg(\()p Ff(const)34 b(c)m(har)g(*k)m(eyseq,)565
-408 y(rl)p 639 408 30 5 v 44 w(command)p 1103 408 V 44
-w(func)p 1331 408 V 45 w(t)f(*function,)h(Keymap)g(map)p
-Fg(\))390 518 y Ft(Binds)d Fk(k)m(eyseq)k Ft(to)e Fk(function)f
+1284 y(rl)p 639 1284 V 44 w(command)p 1103 1284 V 44
+w(func)p 1331 1284 V 45 w(t)f(*function,)h(Keymap)g(map)p
+Fg(\))390 1394 y Ft(Binds)d Fk(k)m(eyseq)k Ft(to)e Fk(function)f
 Ft(if)g(it)g(is)g(not)g(already)h(b)s(ound)d(in)h Fk(map)p
-Ft(.)46 b(Returns)31 b(non-zero)h(in)g(the)390 628 y(case)f(of)g(an)f
+Ft(.)46 b(Returns)31 b(non-zero)h(in)g(the)390 1503 y(case)f(of)g(an)f
 (in)m(v)-5 b(alid)31 b Fk(k)m(eyseq)j Ft(or)c(if)g Fk(k)m(eyseq)k
-Ft(is)c(already)h(b)s(ound.)3350 792 y([F)-8 b(unction])-3599
+Ft(is)c(already)h(b)s(ound.)3350 1667 y([F)-8 b(unction])-3599
 b Fh(int)53 b(rl_generic_bind)d Fg(\()p Ff(in)m(t)34
 b(t)m(yp)s(e,)f(const)g(c)m(har)h(*k)m(eyseq,)f(c)m(har)h(*data,)565
-901 y(Keymap)g(map)p Fg(\))390 1011 y Ft(Bind)27 b(the)g(k)m(ey)h
+1777 y(Keymap)g(map)p Fg(\))390 1886 y Ft(Bind)27 b(the)g(k)m(ey)h
 (sequence)f(represen)m(ted)g(b)m(y)g(the)g(string)g Fk(k)m(eyseq)j
 Ft(to)e(the)f(arbitrary)g(p)s(oin)m(ter)g Fk(data)p Ft(.)390
-1120 y Fk(t)m(yp)s(e)34 b Ft(sa)m(ys)29 b(what)f(kind)g(of)g(data)h(is)
+1996 y Fk(t)m(yp)s(e)34 b Ft(sa)m(ys)29 b(what)f(kind)g(of)g(data)h(is)
 g(p)s(oin)m(ted)f(to)h(b)m(y)g Fk(data)p Ft(;)h(this)e(can)h(b)s(e)f(a)
-g(function)g(\()p Fs(ISFUNC)p Ft(\),)h(a)390 1230 y(macro)h(\()p
+g(function)g(\()p Fs(ISFUNC)p Ft(\),)h(a)390 2106 y(macro)h(\()p
 Fs(ISMACR)p Ft(\),)f(or)g(a)h(k)m(eymap)g(\()p Fs(ISKMAP)p
 Ft(\).)40 b(This)28 b(mak)m(es)j(new)e(k)m(eymaps)g(as)h(necessary)-8
-b(.)41 b(The)390 1339 y(initial)32 b(k)m(eymap)e(in)h(whic)m(h)f(to)h
-(do)f(bindings)f(is)i Fk(map)p Ft(.)3350 1503 y([F)-8
-b(unction])-3599 b Fh(int)53 b(rl_parse_and_bind)e Fg(\()p
-Ff(c)m(har)34 b(*line)p Fg(\))390 1613 y Ft(P)m(arse)c
-Fk(line)35 b Ft(as)29 b(if)h(it)g(had)e(b)s(een)h(read)g(from)g(the)h
+b(.)41 b(The)390 2215 y(initial)c(k)m(eymap)g(in)f(whic)m(h)f(to)i(do)f
+(bindings)f(is)h Fk(map)p Ft(.)57 b(Returns)35 b(non-zero)i(in)f(the)g
+(case)h(of)f(an)390 2325 y(in)m(v)-5 b(alid)31 b Fk(k)m(eyseq)p
+Ft(,)h(zero)f(otherwise.)3350 2489 y([F)-8 b(unction])-3599
+b Fh(int)53 b(rl_parse_and_bind)e Fg(\()p Ff(c)m(har)34
+b(*line)p Fg(\))390 2598 y Ft(P)m(arse)c Fk(line)35 b
+Ft(as)29 b(if)h(it)g(had)e(b)s(een)h(read)g(from)g(the)h
 Fs(inputrc)d Ft(\014le)j(and)e(p)s(erform)g(an)m(y)i(k)m(ey)g(bindings)
-390 1723 y(and)g(v)-5 b(ariable)31 b(assignmen)m(ts)g(found)e(\(see)i
+390 2708 y(and)g(v)-5 b(ariable)31 b(assignmen)m(ts)g(found)e(\(see)i
 (Section)h(1.3)f([Readline)g(Init)f(File],)j(page)e(4\).)3350
-1886 y([F)-8 b(unction])-3599 b Fh(int)53 b(rl_read_init_file)e
+2872 y([F)-8 b(unction])-3599 b Fh(int)53 b(rl_read_init_file)e
 Fg(\()p Ff(const)34 b(c)m(har)g(*\014lename)p Fg(\))390
-1996 y Ft(Read)e(k)m(eybindings)f(and)g(v)-5 b(ariable)32
+2981 y Ft(Read)e(k)m(eybindings)f(and)g(v)-5 b(ariable)32
 b(assignmen)m(ts)g(from)f Fk(\014lename)37 b Ft(\(see)32
-b(Section)g(1.3)h([Readline)390 2106 y(Init)d(File],)i(page)f(4\).)150
-2291 y Fi(2.4.4)63 b(Asso)s(ciating)41 b(F)-10 b(unction)42
-b(Names)f(and)g(Bindings)150 2438 y Ft(These)30 b(functions)g(allo)m(w)
+b(Section)g(1.3)h([Readline)390 3091 y(Init)d(File],)i(page)f(4\).)150
+3277 y Fi(2.4.4)63 b(Asso)s(ciating)41 b(F)-10 b(unction)42
+b(Names)f(and)g(Bindings)150 3424 y Ft(These)30 b(functions)g(allo)m(w)
 h(y)m(ou)g(to)f(\014nd)f(out)h(what)g(k)m(eys)h(in)m(v)m(ok)m(e)h
-(named)e(functions)g(and)f(the)h(functions)150 2548 y(in)m(v)m(ok)m(ed)
+(named)e(functions)g(and)f(the)h(functions)150 3533 y(in)m(v)m(ok)m(ed)
 f(b)m(y)e(a)h(particular)g(k)m(ey)g(sequence.)40 b(Y)-8
 b(ou)28 b(ma)m(y)g(also)h(asso)s(ciate)g(a)f(new)f(function)g(name)h
-(with)f(an)150 2657 y(arbitrary)j(function.)3350 2821
+(with)f(an)150 3643 y(arbitrary)j(function.)3350 3807
 y([F)-8 b(unction])-3599 b Fh(rl_command_func_t)57 b(*)c
 (rl_named_function)e Fg(\()p Ff(const)34 b(c)m(har)g(*name)p
-Fg(\))390 2931 y Ft(Return)c(the)g(function)g(with)g(name)h
-Fk(name)p Ft(.)3350 3095 y([F)-8 b(unction])-3599 b Fh
-(rl_command_func_t)57 b(*)c(rl_function_of_keyseq)f Fg(\()p
-Ff(const)34 b(c)m(har)565 3204 y(*k)m(eyseq,)f(Keymap)g(map,)g(in)m(t)h
-(*t)m(yp)s(e)p Fg(\))390 3314 y Ft(Return)e(the)g(function)h(in)m(v)m
-(ok)m(ed)h(b)m(y)e Fk(k)m(eyseq)k Ft(in)c(k)m(eymap)h
-Fk(map)p Ft(.)47 b(If)32 b Fk(map)j Ft(is)d Fs(NULL)p
-Ft(,)g(the)h(curren)m(t)390 3424 y(k)m(eymap)k(is)g(used.)60
-b(If)37 b Fk(t)m(yp)s(e)42 b Ft(is)37 b(not)g Fs(NULL)p
-Ft(,)h(the)f(t)m(yp)s(e)g(of)g(the)g(ob)5 b(ject)38 b(is)f(returned)f
-(in)h(the)g Fs(int)390 3533 y Ft(v)-5 b(ariable)30 b(it)g(p)s(oin)m(ts)
-g(to)g(\(one)g(of)g Fs(ISFUNC)p Ft(,)e Fs(ISKMAP)p Ft(,)g(or)i
-Fs(ISMACR)p Ft(\).)39 b(It)30 b(tak)m(es)h(a)f Fs(")p
-Ft(translated)p Fs(")f Ft(k)m(ey)390 3643 y(sequence)i(and)f(should)f
-(not)i(b)s(e)e(used)h(if)g(the)h(k)m(ey)g(sequence)g(can)f(include)g
-(NUL.)3350 3807 y([F)-8 b(unction])-3599 b Fh(rl_command_func_t)57
+Fg(\))390 3916 y Ft(Return)28 b(the)h(function)f(with)g(name)h
+Fk(name)p Ft(.)40 b Fk(name)34 b Ft(is)29 b(a)g(descriptiv)m(e)g(name)g
+(users)f(migh)m(t)h(use)f(in)390 4026 y(a)j(k)m(ey)g(binding.)3350
+4190 y([F)-8 b(unction])-3599 b Fh(rl_command_func_t)57
+b(*)c(rl_function_of_keyseq)f Fg(\()p Ff(const)34 b(c)m(har)565
+4299 y(*k)m(eyseq,)f(Keymap)g(map,)g(in)m(t)h(*t)m(yp)s(e)p
+Fg(\))390 4409 y Ft(Return)28 b(the)h(function)g(in)m(v)m(ok)m(ed)i(b)m
+(y)e Fk(k)m(eyseq)j Ft(in)c(k)m(eymap)i Fk(map)p Ft(.)40
+b(If)28 b Fk(map)k Ft(is)d Fs(NULL)p Ft(,)f(this)h(uses)g(the)390
+4519 y(curren)m(t)34 b(k)m(eymap.)55 b(If)34 b Fk(t)m(yp)s(e)40
+b Ft(is)35 b(not)g Fs(NULL)p Ft(,)f(this)h(returns)e(the)i(t)m(yp)s(e)g
+(of)g(the)g(ob)5 b(ject)36 b(in)e(the)h Fs(int)390 4628
+y Ft(v)-5 b(ariable)30 b(it)g(p)s(oin)m(ts)g(to)g(\(one)g(of)g
+Fs(ISFUNC)p Ft(,)e Fs(ISKMAP)p Ft(,)g(or)i Fs(ISMACR)p
+Ft(\).)39 b(It)30 b(tak)m(es)h(a)f Fs(")p Ft(translated)p
+Fs(")f Ft(k)m(ey)390 4738 y(sequence)i(and)f(should)f(not)i(b)s(e)e
+(used)h(if)g(the)h(k)m(ey)g(sequence)g(can)f(include)g(NUL.)3350
+4902 y([F)-8 b(unction])-3599 b Fh(rl_command_func_t)57
 b(*)c(rl_function_of_keyseq_)q(len)f Fg(\()p Ff(const)34
-b(c)m(har)565 3916 y(*k)m(eyseq,)f(size)p 1121 3916 V
+b(c)m(har)565 5011 y(*k)m(eyseq,)f(size)p 1121 5011 V
 44 w(t)g(len,)g(Keymap)h(map,)f(in)m(t)g(*t)m(yp)s(e)p
-Fg(\))390 4026 y Ft(Return)20 b(the)h(function)g(in)m(v)m(ok)m(ed)i(b)m
+Fg(\))390 5121 y Ft(Return)20 b(the)h(function)g(in)m(v)m(ok)m(ed)i(b)m
 (y)e Fk(k)m(eyseq)j Ft(of)d(length)g Fk(len)h Ft(in)e(k)m(eymap)i
 Fk(map)p Ft(.)37 b(Equiv)-5 b(alen)m(t)22 b(to)g Fs(rl_)390
-4135 y(function_of_keyseq)g Ft(with)28 b(the)f(addition)h(of)f(the)h
+5230 y(function_of_keyseq)g Ft(with)28 b(the)f(addition)h(of)f(the)h
 Fk(len)f Ft(parameter.)41 b(It)27 b(tak)m(es)i(a)f Fs(")p
-Ft(translated)p Fs(")390 4245 y Ft(k)m(ey)j(sequence)g(and)f(should)f
-(b)s(e)h(used)f(if)i(the)f(k)m(ey)h(sequence)g(can)g(include)f(NUL.)
-3350 4409 y([F)-8 b(unction])-3599 b Fh(int)53 b(rl_trim_arg_from_keys)
-q(eq)f Fg(\()p Ff(const)34 b(c)m(har)g(*k)m(eyseq,)e(size)p
-2678 4409 V 44 w(t)h(len,)565 4519 y(Keymap)h(map)p Fg(\))390
-4628 y Ft(If)e(there)h(is)f(a)h(n)m(umeric)g(argumen)m(t)g(at)g(the)g
-(b)s(eginning)e(of)i Fk(k)m(eyseq)p Ft(,)h(p)s(ossibly)e(including)g
-(digits,)390 4738 y(return)24 b(the)h(index)f(of)i(the)f(\014rst)f(c)m
-(haracter)i(in)f Fk(k)m(eyseq)j Ft(follo)m(wing)e(the)g(n)m(umeric)e
-(argumen)m(t.)40 b(This)390 4847 y(can)24 b(b)s(e)g(used)f(to)h(skip)g
-(o)m(v)m(er)h(the)f(n)m(umeric)g(argumen)m(t)g(\(whic)m(h)g(is)g(a)m(v)
--5 b(ailable)27 b(as)d Fs(rl_numeric_arg)390 4957 y Ft(while)30
-b(tra)m(v)m(ersing)i(the)f(k)m(ey)g(sequence)g(that)g(in)m(v)m(ok)m(ed)
-g(the)g(curren)m(t)f(command.)3350 5121 y([F)-8 b(unction])-3599
-b Fh(char)54 b(**)e(rl_invoking_keyseqs)g Fg(\()p Ff(rl)p
-1717 5121 V 44 w(command)p 2181 5121 V 44 w(func)p 2409
-5121 V 45 w(t)33 b(*function)p Fg(\))390 5230 y Ft(Return)d(an)i(arra)m
-(y)f(of)h(strings)f(represen)m(ting)g(the)g(k)m(ey)h(sequences)g(used)e
-(to)i(in)m(v)m(ok)m(e)h Fk(function)e Ft(in)390 5340
-y(the)g(curren)m(t)f(k)m(eymap.)p eop end
+Ft(translated)p Fs(")390 5340 y Ft(k)m(ey)j(sequence)g(and)f(should)f
+(b)s(e)h(used)f(if)i(the)f(k)m(ey)h(sequence)g(can)g(include)f(NUL.)p
+eop end
 %%Page: 40 44
 TeXDict begin 40 43 bop 150 -116 a Ft(Chapter)30 b(2:)41
 b(Programming)30 b(with)g(GNU)h(Readline)1683 b(40)3350
-299 y([F)-8 b(unction])-3599 b Fh(char)54 b(**)e(rl_invoking_keyseqs_i)
-q(n_m)q(ap)g Fg(\()p Ff(rl)p 2083 299 30 5 v 44 w(command)p
-2547 299 V 44 w(func)p 2775 299 V 45 w(t)565 408 y(*function,)34
-b(Keymap)g(map)p Fg(\))390 518 y Ft(Return)c(an)i(arra)m(y)f(of)h
-(strings)f(represen)m(ting)g(the)g(k)m(ey)h(sequences)g(used)e(to)i(in)
-m(v)m(ok)m(e)h Fk(function)e Ft(in)390 628 y(the)g(k)m(eymap)f
-Fk(map)p Ft(.)3350 822 y([F)-8 b(unction])-3599 b Fh(void)54
+299 y([F)-8 b(unction])-3599 b Fh(int)53 b(rl_trim_arg_from_keys)q(eq)f
+Fg(\()p Ff(const)34 b(c)m(har)g(*k)m(eyseq,)e(size)p
+2678 299 30 5 v 44 w(t)h(len,)565 408 y(Keymap)h(map)p
+Fg(\))390 518 y Ft(If)e(there)h(is)f(a)h(n)m(umeric)g(argumen)m(t)g(at)
+g(the)g(b)s(eginning)e(of)i Fk(k)m(eyseq)p Ft(,)h(p)s(ossibly)e
+(including)g(digits,)390 628 y(return)24 b(the)h(index)f(of)i(the)f
+(\014rst)f(c)m(haracter)i(in)f Fk(k)m(eyseq)j Ft(follo)m(wing)e(the)g
+(n)m(umeric)e(argumen)m(t.)40 b(This)390 737 y(can)22
+b(b)s(e)e(used)h(to)g(skip)g(o)m(v)m(er)i(the)e(n)m(umeric)g(argumen)m
+(t)h(\(whic)m(h)f(is)g(a)m(v)-5 b(ailable)24 b(as)d Fs(rl_numeric_arg)p
+Ft(\))390 847 y(while)30 b(tra)m(v)m(ersing)i(the)f(k)m(ey)g(sequence)g
+(that)g(in)m(v)m(ok)m(ed)g(the)g(curren)m(t)f(command.)3350
+1043 y([F)-8 b(unction])-3599 b Fh(char)54 b(**)e(rl_invoking_keyseqs)g
+Fg(\()p Ff(rl)p 1717 1043 V 44 w(command)p 2181 1043
+V 44 w(func)p 2409 1043 V 45 w(t)33 b(*function)p Fg(\))390
+1152 y Ft(Return)d(an)i(arra)m(y)f(of)h(strings)f(represen)m(ting)g
+(the)g(k)m(ey)h(sequences)g(used)e(to)i(in)m(v)m(ok)m(e)h
+Fk(function)e Ft(in)390 1262 y(the)g(curren)m(t)f(k)m(eymap.)3350
+1458 y([F)-8 b(unction])-3599 b Fh(char)54 b(**)e
+(rl_invoking_keyseqs_i)q(n_m)q(ap)g Fg(\()p Ff(rl)p 2083
+1458 V 44 w(command)p 2547 1458 V 44 w(func)p 2775 1458
+V 45 w(t)565 1567 y(*function,)34 b(Keymap)g(map)p Fg(\))390
+1677 y Ft(Return)c(an)i(arra)m(y)f(of)h(strings)f(represen)m(ting)g
+(the)g(k)m(ey)h(sequences)g(used)e(to)i(in)m(v)m(ok)m(e)h
+Fk(function)e Ft(in)390 1786 y(the)g(k)m(eymap)f Fk(map)p
+Ft(.)3350 1982 y([F)-8 b(unction])-3599 b Fh(void)54
 b(rl_print_keybinding)d Fg(\()p Ff(const)34 b(c)m(har)g(*name,)f
-(Keymap)h(map,)f(in)m(t)565 932 y(readable)p Fg(\))390
-1041 y Ft(Prin)m(t)d(k)m(ey)g(sequences)g(b)s(ound)d(to)j(Readline)h
+(Keymap)h(map,)f(in)m(t)565 2092 y(readable)p Fg(\))390
+2201 y Ft(Prin)m(t)d(k)m(ey)g(sequences)g(b)s(ound)d(to)j(Readline)h
 (function)e(name)g Fk(name)35 b Ft(in)29 b(k)m(eymap)h
-Fk(map)p Ft(.)40 b(If)30 b Fk(map)390 1151 y Ft(is)h(NULL,)g(this)g
+Fk(map)p Ft(.)40 b(If)30 b Fk(map)390 2311 y Ft(is)h(NULL,)g(this)g
 (uses)g(the)g(curren)m(t)g(k)m(eymap.)44 b(If)30 b Fk(readable)37
 b Ft(is)31 b(non-zero,)h(the)f(list)h(is)f(formatted)390
-1260 y(in)f(suc)m(h)g(a)h(w)m(a)m(y)g(that)g(it)g(can)g(b)s(e)e(made)i
-(part)f(of)h(an)f Fs(inputrc)e Ft(\014le)j(and)f(re-read.)3350
-1455 y([F)-8 b(unction])-3599 b Fh(void)54 b(rl_function_dumper)c
-Fg(\()p Ff(in)m(t)34 b(readable)p Fg(\))390 1564 y Ft(Prin)m(t)i(the)g
+2421 y(in)d(suc)m(h)g(a)h(w)m(a)m(y)g(that)g(it)g(can)g(b)s(e)e(made)i
+(part)f(of)g(an)h Fs(inputrc)d Ft(\014le)i(and)g(re-read)h(to)g
+(recreate)h(the)390 2530 y(k)m(ey)h(binding.)3350 2726
+y([F)-8 b(unction])-3599 b Fh(void)54 b(rl_function_dumper)c
+Fg(\()p Ff(in)m(t)34 b(readable)p Fg(\))390 2836 y Ft(Prin)m(t)i(the)g
 (Readline)g(function)g(names)f(and)g(the)h(k)m(ey)h(sequences)f(curren)
-m(tly)g(b)s(ound)d(to)k(them)390 1674 y(to)32 b Fs(rl_outstream)p
+m(tly)g(b)s(ound)d(to)k(them)390 2945 y(to)32 b Fs(rl_outstream)p
 Ft(.)40 b(If)31 b Fk(readable)36 b Ft(is)c(non-zero,)g(the)f(list)h(is)
 f(formatted)h(in)f(suc)m(h)g(a)g(w)m(a)m(y)i(that)e(it)390
-1783 y(can)g(b)s(e)e(made)i(part)f(of)h(an)f Fs(inputrc)e
-Ft(\014le)j(and)e(re-read.)3350 1978 y([F)-8 b(unction])-3599
+3055 y(can)g(b)s(e)e(made)i(part)f(of)h(an)f Fs(inputrc)e
+Ft(\014le)j(and)e(re-read.)3350 3251 y([F)-8 b(unction])-3599
 b Fh(void)54 b(rl_list_funmap_names)d Fg(\()p Ff(v)m(oid)p
-Fg(\))390 2087 y Ft(Prin)m(t)30 b(the)h(names)f(of)h(all)g(bindable)f
+Fg(\))390 3360 y Ft(Prin)m(t)30 b(the)h(names)f(of)h(all)g(bindable)f
 (Readline)h(functions)f(to)h Fs(rl_outstream)p Ft(.)3350
-2281 y([F)-8 b(unction])-3599 b Fh(const)54 b(char)f(**)g
-(rl_funmap_names)d Fg(\()p Ff(v)m(oid)p Fg(\))390 2391
+3556 y([F)-8 b(unction])-3599 b Fh(const)54 b(char)f(**)g
+(rl_funmap_names)d Fg(\()p Ff(v)m(oid)p Fg(\))390 3666
 y Ft(Return)25 b(a)i(NULL)f(terminated)g(arra)m(y)h(of)f(kno)m(wn)f
 (function)h(names.)39 b(The)26 b(arra)m(y)g(is)g(sorted.)39
-b(The)390 2501 y(arra)m(y)28 b(itself)h(is)f(allo)s(cated,)j(but)c(not)
+b(The)390 3775 y(arra)m(y)28 b(itself)h(is)f(allo)s(cated,)j(but)c(not)
 h(the)h(strings)e(inside.)40 b(Y)-8 b(ou)29 b(should)e(free)h(the)g
-(arra)m(y)-8 b(,)29 b(but)f(not)390 2610 y(the)j(p)s(oin)m(ters,)f
+(arra)m(y)-8 b(,)29 b(but)f(not)390 3885 y(the)j(p)s(oin)m(ters,)f
 (using)g Fs(free)f Ft(or)i Fs(rl_free)d Ft(when)h(y)m(ou)i(are)g(done.)
-3350 2804 y([F)-8 b(unction])-3599 b Fh(int)53 b(rl_add_funmap_entry)e
-Fg(\()p Ff(const)34 b(c)m(har)g(*name,)g(rl)p 2331 2804
-V 43 w(command)p 2794 2804 V 45 w(func)p 3023 2804 V
-45 w(t)565 2914 y(*function)p Fg(\))390 3024 y Ft(Add)e
+3350 4081 y([F)-8 b(unction])-3599 b Fh(int)53 b(rl_add_funmap_entry)e
+Fg(\()p Ff(const)34 b(c)m(har)g(*name,)g(rl)p 2331 4081
+V 43 w(command)p 2794 4081 V 45 w(func)p 3023 4081 V
+45 w(t)565 4190 y(*function)p Fg(\))390 4300 y Ft(Add)e
 Fk(name)38 b Ft(to)33 b(the)g(list)h(of)f(bindable)f(Readline)h
 (command)g(names,)g(and)f(mak)m(e)i Fk(function)f Ft(the)390
-3133 y(function)d(to)h(b)s(e)f(called)h(when)f Fk(name)35
-b Ft(is)c(in)m(v)m(ok)m(ed.)150 3337 y Fi(2.4.5)63 b(Allo)m(wing)41
-b(Undoing)150 3484 y Ft(Supp)s(orting)34 b(the)i(undo)e(command)i(is)g
-(a)g(painless)g(thing,)h(and)e(mak)m(es)i(y)m(our)f(functions)f(m)m(uc)
-m(h)h(more)150 3594 y(useful.)k(It)30 b(is)h(certainly)g(easy)g(to)g
-(try)g(something)g(if)f(y)m(ou)h(kno)m(w)f(y)m(ou)h(can)f(undo)g(it.)
-275 3733 y(If)40 b(y)m(our)h(function)f(simply)g(inserts)h(text)h
-(once,)i(or)d(deletes)h(text)g(once,)i(and)c(uses)h Fs(rl_insert_)150
-3843 y(text\(\))26 b Ft(or)i Fs(rl_delete_text\(\))23
-b Ft(to)29 b(do)f(it,)h(then)f(undoing)f(is)g(already)i(done)f(for)f(y)
-m(ou)h(automatically)-8 b(.)275 3983 y(If)20 b(y)m(ou)g(do)h(m)m
-(ultiple)g(insertions)f(or)h(m)m(ultiple)g(deletions,)j(or)c(an)m(y)h
-(com)m(bination)h(of)e(these)h(op)s(erations,)150 4092
-y(y)m(ou)38 b(should)f(group)h(them)g(together)h(in)m(to)g(one)f(op)s
-(eration.)64 b(This)37 b(is)h(done)g(with)g Fs(rl_begin_undo_)150
-4202 y(group\(\))28 b Ft(and)i Fs(rl_end_undo_group\(\))p
-Ft(.)275 4341 y(The)f(t)m(yp)s(es)i(of)f(ev)m(en)m(ts)i(that)f(can)g(b)
-s(e)e(undone)h(are:)390 4458 y Fe(enum)40 b(undo_code)h({)f
-(UNDO_DELETE,)i(UNDO_INSERT,)g(UNDO_BEGIN,)g(UNDO_END)f(};)275
-4598 y Ft(Notice)32 b(that)f Fs(UNDO_DELETE)c Ft(means)j(to)h(insert)f
-(some)h(text,)h(and)d Fs(UNDO_INSERT)e Ft(means)k(to)g(delete)150
-4707 y(some)d(text.)41 b(That)27 b(is,)i(the)e(undo)g(co)s(de)h(tells)g
-(what)g(to)g(undo,)f(not)h(ho)m(w)g(to)g(undo)e(it.)41
-b Fs(UNDO_BEGIN)25 b Ft(and)150 4817 y Fs(UNDO_END)j
-Ft(are)j(tags)g(added)f(b)m(y)g Fs(rl_begin_undo_group\(\))25
-b Ft(and)30 b Fs(rl_end_undo_group\(\))p Ft(.)3350 5011
-y([F)-8 b(unction])-3599 b Fh(int)53 b(rl_begin_undo_group)e
-Fg(\()p Ff(v)m(oid)p Fg(\))390 5121 y Ft(Begins)32 b(sa)m(ving)g(undo)d
-(information)j(in)e(a)i(group)e(construct.)43 b(The)30
-b(undo)g(information)h(usually)390 5230 y(comes)42 b(from)f(calls)i(to)
-f Fs(rl_insert_text\(\))37 b Ft(and)k Fs(rl_delete_text\(\))p
-Ft(,)f(but)h(could)h(b)s(e)f(the)390 5340 y(result)30
-b(of)h(calls)g(to)g Fs(rl_add_undo\(\))p Ft(.)p eop end
+4409 y(function)22 b(to)g(b)s(e)g(called)h(when)e Fk(name)27
+b Ft(is)22 b(in)m(v)m(ok)m(ed.)39 b(This)22 b(returns)e(the)j(index)e
+(of)h(the)h(newly-added)390 4519 y Fk(name)36 b Ft(in)30
+b(the)g(arra)m(y)h(of)g(function)f(names.)150 4724 y
+Fi(2.4.5)63 b(Allo)m(wing)41 b(Undoing)150 4871 y Ft(Supp)s(orting)34
+b(the)i(undo)e(command)i(is)g(a)g(painless)g(thing,)h(and)e(mak)m(es)i
+(y)m(our)f(functions)f(m)m(uc)m(h)h(more)150 4981 y(useful.)k(It)30
+b(is)h(certainly)g(easier)h(to)f(try)f(something)h(if)f(y)m(ou)h(kno)m
+(w)f(y)m(ou)h(can)g(undo)e(it.)275 5121 y(If)40 b(y)m(our)h(function)f
+(simply)g(inserts)h(text)h(once,)i(or)d(deletes)h(text)g(once,)i(and)c
+(uses)h Fs(rl_insert_)150 5230 y(text\(\))31 b Ft(or)i
+Fs(rl_delete_text\(\))28 b Ft(to)34 b(do)f(it,)h(then)e(Readline)i(do)s
+(es)e(the)h(undoing)f(for)h(y)m(ou)g(automati-)150 5340
+y(cally)-8 b(.)p eop end
 %%Page: 41 45
 TeXDict begin 41 44 bop 150 -116 a Ft(Chapter)30 b(2:)41
-b(Programming)30 b(with)g(GNU)h(Readline)1683 b(41)3350
-299 y([F)-8 b(unction])-3599 b Fh(int)53 b(rl_end_undo_group)e
-Fg(\()p Ff(v)m(oid)p Fg(\))390 408 y Ft(Closes)29 b(the)h(curren)m(t)e
-(undo)g(group)h(started)g(with)g Fs(rl_begin_undo_group)c(\(\))p
-Ft(.)39 b(There)29 b(should)390 518 y(b)s(e)h(one)g(call)i(to)f
+b(Programming)30 b(with)g(GNU)h(Readline)1683 b(41)275
+299 y(If)20 b(y)m(ou)g(do)h(m)m(ultiple)g(insertions)f(or)h(m)m
+(ultiple)g(deletions,)j(or)c(an)m(y)h(com)m(bination)h(of)e(these)h(op)
+s(erations,)150 408 y(y)m(ou)38 b(should)f(group)h(them)g(together)h
+(in)m(to)g(one)f(op)s(eration.)64 b(This)37 b(is)h(done)g(with)g
+Fs(rl_begin_undo_)150 518 y(group\(\))28 b Ft(and)i Fs
+(rl_end_undo_group\(\))p Ft(.)275 655 y(The)f(t)m(yp)s(es)i(of)f(ev)m
+(en)m(ts)i(Readline)f(can)g(undo)e(are:)390 769 y Fe(enum)40
+b(undo_code)h({)f(UNDO_DELETE,)i(UNDO_INSERT,)g(UNDO_BEGIN,)g(UNDO_END)
+f(};)275 906 y Ft(Notice)32 b(that)f Fs(UNDO_DELETE)c
+Ft(means)j(to)h(insert)f(some)h(text,)h(and)d Fs(UNDO_INSERT)e
+Ft(means)k(to)g(delete)150 1016 y(some)d(text.)41 b(That)27
+b(is,)i(the)e(undo)g(co)s(de)h(tells)g(what)g(to)g(undo,)f(not)h(ho)m
+(w)g(to)g(undo)e(it.)41 b Fs(UNDO_BEGIN)25 b Ft(and)150
+1125 y Fs(UNDO_END)e Ft(are)i(tags)h(added)e(b)m(y)h
+Fs(rl_begin_undo_group\(\))19 b Ft(and)24 b Fs(rl_end_undo_group\(\))p
+Ft(;)e(they)j(are)150 1235 y(ho)m(w)30 b(Readline)h(delimits)g(groups)f
+(of)h(commands)f(that)h(should)e(b)s(e)h(undone)f(together.)3350
+1424 y([F)-8 b(unction])-3599 b Fh(int)53 b(rl_begin_undo_group)e
+Fg(\()p Ff(v)m(oid)p Fg(\))390 1534 y Ft(Begins)32 b(sa)m(ving)g(undo)d
+(information)j(in)e(a)i(group)e(construct.)43 b(The)30
+b(undo)g(information)h(usually)390 1643 y(comes)42 b(from)f(calls)i(to)
+f Fs(rl_insert_text\(\))37 b Ft(and)k Fs(rl_delete_text\(\))p
+Ft(,)f(but)h(could)h(b)s(e)f(the)390 1753 y(result)30
+b(of)h(calls)g(to)g Fs(rl_add_undo\(\))p Ft(.)3350 1942
+y([F)-8 b(unction])-3599 b Fh(int)53 b(rl_end_undo_group)e
+Fg(\()p Ff(v)m(oid)p Fg(\))390 2051 y Ft(Closes)32 b(the)h(curren)m(t)f
+(undo)f(group)g(started)i(with)e Fs(rl_begin_undo_group\(\))p
+Ft(.)40 b(There)32 b(should)390 2161 y(b)s(e)e(one)g(call)i(to)f
 Fs(rl_end_undo_group\(\))25 b Ft(for)30 b(eac)m(h)i(call)g(to)f
-Fs(rl_begin_undo_group\(\))p Ft(.)3350 708 y([F)-8 b(unction])-3599
+Fs(rl_begin_undo_group\(\))p Ft(.)3350 2350 y([F)-8 b(unction])-3599
 b Fh(void)54 b(rl_add_undo)48 b Fg(\()p Ff(en)m(um)35
-b(undo)p 1558 708 30 5 v 45 w(co)s(de)e(what,)g(in)m(t)g(start,)g(in)m
-(t)g(end,)h(c)m(har)565 818 y(*text)p Fg(\))390 927 y
-Ft(Remem)m(b)s(er)g(ho)m(w)g(to)h(undo)d(an)i(ev)m(en)m(t)i
+b(undo)p 1558 2350 30 5 v 45 w(co)s(de)e(what,)g(in)m(t)g(start,)g(in)m
+(t)g(end,)h(c)m(har)565 2460 y(*text)p Fg(\))390 2569
+Ft(Remem)m(b)s(er)g(ho)m(w)g(to)h(undo)d(an)i(ev)m(en)m(t)i
 (\(according)f(to)g Fk(what)r Ft(\).)52 b(The)33 b(a\013ected)j(text)f
-(runs)d(from)390 1037 y Fk(start)h Ft(to)e Fk(end)p Ft(,)f(and)g
-(encompasses)h Fk(text)p Ft(.)3350 1227 y([F)-8 b(unction])-3599
+(runs)d(from)390 2679 y Fk(start)h Ft(to)e Fk(end)p Ft(,)f(and)g
+(encompasses)h Fk(text)p Ft(.)3350 2868 y([F)-8 b(unction])-3599
 b Fh(void)54 b(rl_free_undo_list)c Fg(\()p Ff(v)m(oid)p
-Fg(\))390 1336 y Ft(F)-8 b(ree)31 b(the)g(existing)g(undo)f(list.)3350
-1526 y([F)-8 b(unction])-3599 b Fh(int)53 b(rl_do_undo)c
-Fg(\()p Ff(v)m(oid)p Fg(\))390 1636 y Ft(Undo)22 b(the)h(\014rst)g
+Fg(\))390 2978 y Ft(F)-8 b(ree)31 b(the)g(existing)g(undo)f(list.)3350
+3167 y([F)-8 b(unction])-3599 b Fh(int)53 b(rl_do_undo)c
+Fg(\()p Ff(v)m(oid)p Fg(\))390 3276 y Ft(Undo)22 b(the)h(\014rst)g
 (thing)f(on)h(the)g(undo)f(list.)39 b(Returns)22 b Fs(0)g
 Ft(if)h(there)g(w)m(as)g(nothing)g(to)h(undo,)f(non-zero)390
-1745 y(if)30 b(something)h(w)m(as)g(undone.)275 1935
+3386 y(if)30 b(something)h(w)m(as)g(undone.)275 3575
 y(Finally)-8 b(,)32 b(if)f(y)m(ou)h(neither)f(insert)g(nor)f(delete)j
 (text,)f(but)f(directly)g(mo)s(dify)g(the)g(existing)h(text)g(\(e.g.,)
-150 2045 y(c)m(hange)40 b(its)f(case\),)j(call)e Fs(rl_modifying\(\))35
+150 3684 y(c)m(hange)40 b(its)f(case\),)j(call)e Fs(rl_modifying\(\))35
 b Ft(once,)42 b(just)c(b)s(efore)g(y)m(ou)h(mo)s(dify)f(the)h(text.)67
-b(Y)-8 b(ou)39 b(m)m(ust)150 2155 y(supply)29 b(the)h(indices)h(of)f
-(the)h(text)g(range)g(that)g(y)m(ou)g(are)g(going)g(to)g(mo)s(dify)-8
-b(.)3350 2345 y([F)g(unction])-3599 b Fh(int)53 b(rl_modifying)c
-Fg(\()p Ff(in)m(t)34 b(start,)e(in)m(t)i(end)p Fg(\))390
-2454 y Ft(T)-8 b(ell)41 b(Readline)g(to)g(sa)m(v)m(e)g(the)g(text)g(b)s
-(et)m(w)m(een)g Fk(start)i Ft(and)c Fk(end)k Ft(as)e(a)f(single)h(undo)
-e(unit.)70 b(It)40 b(is)390 2564 y(assumed)30 b(that)h(y)m(ou)f(will)h
-(subsequen)m(tly)f(mo)s(dify)f(that)i(text.)150 2766
-y Fi(2.4.6)63 b(Redispla)m(y)3350 2965 y Ft([F)-8 b(unction])-3599
-b Fh(void)54 b(rl_redisplay)49 b Fg(\()p Ff(v)m(oid)p
-Fg(\))390 3075 y Ft(Change)38 b(what's)f(displa)m(y)m(ed)i(on)e(the)h
-(screen)g(to)h(re\015ect)f(the)g(curren)m(t)g(con)m(ten)m(ts)h(of)f
-Fs(rl_line_)390 3185 y(buffer)p Ft(.)3350 3375 y([F)-8
-b(unction])-3599 b Fh(int)53 b(rl_forced_update_disp)q(lay)f
-Fg(\()p Ff(v)m(oid)p Fg(\))390 3484 y Ft(F)-8 b(orce)41
-b(the)f(line)g(to)h(b)s(e)e(up)s(dated)f(and)h(redispla)m(y)m(ed,)k
-(whether)c(or)g(not)h(Readline)h(thinks)e(the)390 3594
-y(screen)30 b(displa)m(y)h(is)f(correct.)3350 3784 y([F)-8
-b(unction])-3599 b Fh(int)53 b(rl_on_new_line)d Fg(\()p
-Ff(v)m(oid)p Fg(\))390 3893 y Ft(T)-8 b(ell)31 b(the)f(up)s(date)f
-(functions)g(that)i(w)m(e)f(ha)m(v)m(e)h(mo)m(v)m(ed)g(on)m(to)g(a)f
-(new)f(\(empt)m(y\))i(line,)g(usually)e(after)390 4003
-y(outputting)i(a)f(newline.)3350 4193 y([F)-8 b(unction])-3599
+b(Y)-8 b(ou)39 b(m)m(ust)150 3794 y(supply)31 b(the)i(indices)f(of)h
+(the)g(text)g(range)g(that)g(y)m(ou)g(are)g(going)h(to)f(mo)s(dify)-8
+b(.)47 b(Readline)33 b(will)g(create)h(an)150 3904 y(undo)29
+b(group)h(for)g(y)m(ou.)3350 4093 y([F)-8 b(unction])-3599
+b Fh(int)53 b(rl_modifying)c Fg(\()p Ff(in)m(t)34 b(start,)e(in)m(t)i
+(end)p Fg(\))390 4202 y Ft(T)-8 b(ell)41 b(Readline)g(to)g(sa)m(v)m(e)g
+(the)g(text)g(b)s(et)m(w)m(een)g Fk(start)i Ft(and)c
+Fk(end)k Ft(as)e(a)f(single)h(undo)e(unit.)70 b(It)40
+b(is)390 4312 y(assumed)30 b(that)h(y)m(ou)f(will)h(subsequen)m(tly)f
+(mo)s(dify)f(that)i(text.)150 4513 y Fi(2.4.6)63 b(Redispla)m(y)3350
+4713 y Ft([F)-8 b(unction])-3599 b Fh(void)54 b(rl_redisplay)49
+b Fg(\()p Ff(v)m(oid)p Fg(\))390 4822 y Ft(Change)38
+b(what's)f(displa)m(y)m(ed)i(on)e(the)h(screen)g(to)h(re\015ect)f(the)g
+(curren)m(t)g(con)m(ten)m(ts)h(of)f Fs(rl_line_)390 4932
+y(buffer)p Ft(.)3350 5121 y([F)-8 b(unction])-3599 b
+Fh(int)53 b(rl_forced_update_disp)q(lay)f Fg(\()p Ff(v)m(oid)p
+Fg(\))390 5230 y Ft(F)-8 b(orce)41 b(the)f(line)g(to)h(b)s(e)e(up)s
+(dated)f(and)h(redispla)m(y)m(ed,)k(whether)c(or)g(not)h(Readline)h
+(thinks)e(the)390 5340 y(screen)30 b(displa)m(y)h(is)f(correct.)p
+eop end
+%%Page: 42 46
+TeXDict begin 42 45 bop 150 -116 a Ft(Chapter)30 b(2:)41
+b(Programming)30 b(with)g(GNU)h(Readline)1683 b(42)3350
+299 y([F)-8 b(unction])-3599 b Fh(int)53 b(rl_on_new_line)d
+Fg(\()p Ff(v)m(oid)p Fg(\))390 408 y Ft(T)-8 b(ell)31
+b(the)f(up)s(date)f(functions)g(that)i(w)m(e)f(ha)m(v)m(e)h(mo)m(v)m
+(ed)g(on)m(to)g(a)f(new)f(\(empt)m(y\))i(line,)g(usually)e(after)390
+518 y(outputting)i(a)f(newline.)3350 693 y([F)-8 b(unction])-3599
 b Fh(int)53 b(rl_on_new_line_with_p)q(romp)q(t)f Fg(\()p
-Ff(v)m(oid)p Fg(\))390 4303 y Ft(T)-8 b(ell)25 b(the)f(up)s(date)f
+Ff(v)m(oid)p Fg(\))390 803 y Ft(T)-8 b(ell)25 b(the)f(up)s(date)f
 (functions)h(that)h(w)m(e)f(ha)m(v)m(e)h(mo)m(v)m(ed)g(on)m(to)h(a)e
-(new)g(line,)i(with)d Fk(rl)p 3106 4303 28 4 v 40 w(prompt)i
-Ft(already)390 4412 y(displa)m(y)m(ed.)41 b(This)28 b(could)g(b)s(e)g
+(new)g(line,)i(with)d Fk(rl)p 3106 803 28 4 v 40 w(prompt)i
+Ft(already)390 913 y(displa)m(y)m(ed.)41 b(This)28 b(could)g(b)s(e)g
 (used)g(b)m(y)g(applications)i(that)f(w)m(an)m(t)h(to)f(output)f(the)h
-(prompt)f(string)390 4522 y(themselv)m(es,)h(but)e(still)h(need)g
+(prompt)f(string)390 1022 y(themselv)m(es,)h(but)e(still)h(need)g
 (Readline)g(to)g(kno)m(w)f(the)h(prompt)e(string)h(length)h(for)f
-(redispla)m(y)-8 b(.)41 b(It)390 4631 y(should)29 b(b)s(e)h(used)g
-(after)h(setting)g Fk(rl)p 1590 4631 V 40 w(already)p
-1920 4631 V 41 w(prompted)p Ft(.)3350 4821 y([F)-8 b(unction])-3599
+(redispla)m(y)-8 b(.)41 b(It)390 1132 y(should)29 b(b)s(e)h(used)g
+(after)h(setting)g Fk(rl)p 1590 1132 V 40 w(already)p
+1920 1132 V 41 w(prompted)p Ft(.)3350 1307 y([F)-8 b(unction])-3599
 b Fh(int)53 b(rl_clear_visible_line)f Fg(\()p Ff(v)m(oid)p
-Fg(\))390 4931 y Ft(Clear)31 b(the)f(screen)h(lines)f(corresp)s(onding)
+Fg(\))390 1417 y Ft(Clear)31 b(the)f(screen)h(lines)f(corresp)s(onding)
 g(to)h(the)f(curren)m(t)g(line's)h(con)m(ten)m(ts.)3350
-5121 y([F)-8 b(unction])-3599 b Fh(int)53 b(rl_reset_line_state)e
-Fg(\()p Ff(v)m(oid)p Fg(\))390 5230 y Ft(Reset)36 b(the)e(displa)m(y)h
+1592 y([F)-8 b(unction])-3599 b Fh(int)53 b(rl_reset_line_state)e
+Fg(\()p Ff(v)m(oid)p Fg(\))390 1702 y Ft(Reset)36 b(the)e(displa)m(y)h
 (state)h(to)g(a)f(clean)g(state)h(and)e(redispla)m(y)h(the)g(curren)m
-(t)g(line)g(starting)g(on)g(a)390 5340 y(new)30 b(line.)p
-eop end
-%%Page: 42 46
-TeXDict begin 42 45 bop 150 -116 a Ft(Chapter)30 b(2:)41
-b(Programming)30 b(with)g(GNU)h(Readline)1683 b(42)3350
-299 y([F)-8 b(unction])-3599 b Fh(int)53 b(rl_crlf)48
-b Fg(\()p Ff(v)m(oid)p Fg(\))390 408 y Ft(Mo)m(v)m(e)32
+(t)g(line)g(starting)g(on)g(a)390 1811 y(new)30 b(line.)3350
+1987 y([F)-8 b(unction])-3599 b Fh(int)53 b(rl_crlf)48
+b Fg(\()p Ff(v)m(oid)p Fg(\))390 2096 y Ft(Mo)m(v)m(e)32
 b(the)f(cursor)f(to)h(the)f(start)h(of)g(the)f(next)h(screen)f(line.)
-3350 640 y([F)-8 b(unction])-3599 b Fh(int)53 b(rl_show_char)c
-Fg(\()p Ff(in)m(t)34 b(c)p Fg(\))390 750 y Ft(Displa)m(y)g(c)m
+3350 2271 y([F)-8 b(unction])-3599 b Fh(int)53 b(rl_show_char)c
+Fg(\()p Ff(in)m(t)34 b(c)p Fg(\))390 2381 y Ft(Displa)m(y)g(c)m
 (haracter)g Fk(c)k Ft(on)32 b Fs(rl_outstream)p Ft(.)44
 b(If)32 b(Readline)h(has)g(not)f(b)s(een)g(set)h(to)g(displa)m(y)g
-(meta)390 860 y(c)m(haracters)27 b(directly)-8 b(,)29
+(meta)390 2491 y(c)m(haracters)27 b(directly)-8 b(,)29
 b(this)c(will)i(con)m(v)m(ert)g(meta)g(c)m(haracters)h(to)e(a)h
-(meta-pre\014xed)f(k)m(ey)g(sequence.)390 969 y(This)k(is)g(in)m
+(meta-pre\014xed)f(k)m(ey)g(sequence.)390 2600 y(This)k(is)g(in)m
 (tended)g(for)g(use)g(b)m(y)h(applications)g(whic)m(h)f(wish)g(to)h(do)
-f(their)h(o)m(wn)f(redispla)m(y)-8 b(.)3350 1201 y([F)g(unction])-3599
+f(their)h(o)m(wn)f(redispla)m(y)-8 b(.)3350 2776 y([F)g(unction])-3599
 b Fh(int)53 b(rl_message)c Fg(\()p Ff(const)34 b(c)m(har)g(*,)k(.)24
-b(.)g(.)12 b Fg(\))390 1311 y Ft(The)20 b(argumen)m(ts)h(are)g(a)g
+b(.)g(.)12 b Fg(\))390 2885 y Ft(The)20 b(argumen)m(ts)h(are)g(a)g
 (format)g(string)g(as)f(w)m(ould)h(b)s(e)f(supplied)f(to)j
-Fs(printf)p Ft(,)f(p)s(ossibly)e(con)m(taining)390 1420
+Fs(printf)p Ft(,)f(p)s(ossibly)e(con)m(taining)390 2995
 y(con)m(v)m(ersion)45 b(sp)s(eci\014cations)g(suc)m(h)f(as)g(`)p
 Fs(\045d)p Ft(',)k(and)c(an)m(y)g(additional)h(argumen)m(ts)g
-(necessary)f(to)390 1530 y(satisfy)e(the)f(con)m(v)m(ersion)i(sp)s
+(necessary)f(to)390 3104 y(satisfy)e(the)f(con)m(v)m(ersion)i(sp)s
 (eci\014cations.)74 b(The)41 b(resulting)h(string)f(is)g(displa)m(y)m
-(ed)h(in)f(the)h Fk(ec)m(ho)390 1639 y(area)p Ft(.)63
+(ed)h(in)f(the)h Fk(ec)m(ho)390 3214 y(area)p Ft(.)63
 b(The)37 b(ec)m(ho)i(area)f(is)g(also)g(used)f(to)h(displa)m(y)g(n)m
 (umeric)f(argumen)m(ts)h(and)f(searc)m(h)h(strings.)390
-1749 y(Y)-8 b(ou)34 b(should)e(call)j Fs(rl_save_prompt)29
+3324 y(Y)-8 b(ou)34 b(should)e(call)j Fs(rl_save_prompt)29
 b Ft(to)34 b(sa)m(v)m(e)h(the)f(prompt)e(information)i(b)s(efore)f
-(calling)i(this)390 1859 y(function.)3350 2091 y([F)-8
+(calling)i(this)390 3433 y(function.)3350 3608 y([F)-8
 b(unction])-3599 b Fh(int)53 b(rl_clear_message)e Fg(\()p
-Ff(v)m(oid)p Fg(\))390 2200 y Ft(Clear)29 b(the)g(message)h(in)f(the)g
+Ff(v)m(oid)p Fg(\))390 3718 y Ft(Clear)29 b(the)g(message)h(in)f(the)g
 (ec)m(ho)h(area.)41 b(If)29 b(the)g(prompt)f(w)m(as)h(sa)m(v)m(ed)h
-(with)f(a)g(call)i(to)e Fs(rl_save_)390 2310 y(prompt)38
-b Ft(b)s(efore)h(the)g(last)h(call)h(to)f Fs(rl_message)p
-Ft(,)f(call)i Fs(rl_restore_prompt)34 b Ft(b)s(efore)39
-b(calling)390 2419 y(this)30 b(function.)3350 2651 y([F)-8
-b(unction])-3599 b Fh(void)54 b(rl_save_prompt)49 b Fg(\()p
-Ff(v)m(oid)p Fg(\))390 2761 y Ft(Sa)m(v)m(e)44 b(the)f(lo)s(cal)i
-(Readline)e(prompt)f(displa)m(y)i(state)g(in)f(preparation)g(for)g
-(displa)m(ying)g(a)g(new)390 2871 y(message)31 b(in)g(the)f(message)i
-(area)f(with)f Fs(rl_message\(\))p Ft(.)3350 3102 y([F)-8
-b(unction])-3599 b Fh(void)54 b(rl_restore_prompt)c Fg(\()p
-Ff(v)m(oid)p Fg(\))390 3212 y Ft(Restore)44 b(the)e(lo)s(cal)i
-(Readline)g(prompt)d(displa)m(y)i(state)h(sa)m(v)m(ed)g(b)m(y)f(the)f
-(most)h(recen)m(t)h(call)g(to)390 3322 y Fs(rl_save_prompt)p
-Ft(.)69 b(if)41 b Fs(rl_save_prompt)d Ft(w)m(as)j(called)i(to)f(sa)m(v)
-m(e)h(the)e(prompt)f(b)s(efore)h(a)h(call)390 3431 y(to)37
-b Fs(rl_message)p Ft(,)f(this)h(function)f(should)g(b)s(e)g(called)i(b)
-s(efore)f(the)g(corresp)s(onding)e(call)j(to)g Fs(rl_)390
-3541 y(clear_message)p Ft(.)3350 3773 y([F)-8 b(unction])-3599
-b Fh(int)53 b(rl_expand_prompt)e Fg(\()p Ff(c)m(har)34
-b(*prompt)p Fg(\))390 3882 y Ft(Expand)41 b(an)m(y)j(sp)s(ecial)f(c)m
-(haracter)h(sequences)f(in)g Fk(prompt)g Ft(and)f(set)i(up)d(the)i(lo)s
-(cal)h(Readline)390 3992 y(prompt)35 b(redispla)m(y)h(v)-5
-b(ariables.)57 b(This)35 b(function)h(is)g(called)h(b)m(y)e
-Fs(readline\(\))p Ft(.)55 b(It)35 b(ma)m(y)i(also)g(b)s(e)390
-4102 y(called)22 b(to)g(expand)f(the)g(primary)f(prompt)g(if)i(the)f
-Fs(rl_on_new_line_with_prom)o(pt\()o(\))15 b Ft(function)390
-4211 y(or)25 b Fs(rl_already_prompted)c Ft(v)-5 b(ariable)26
-b(is)f(used.)39 b(It)25 b(returns)f(the)i(n)m(um)m(b)s(er)e(of)i
-(visible)f(c)m(haracters)390 4321 y(on)34 b(the)g(last)g(line)g(of)g
-(the)g(\(p)s(ossibly)f(m)m(ulti-line\))j(prompt.)50 b(Applications)34
-b(ma)m(y)h(indicate)f(that)390 4430 y(the)28 b(prompt)f(con)m(tains)i
-(c)m(haracters)g(that)g(tak)m(e)g(up)e(no)h(ph)m(ysical)g(screen)g
-(space)g(when)f(displa)m(y)m(ed)390 4540 y(b)m(y)41 b(brac)m(k)m(eting)
-i(a)e(sequence)g(of)g(suc)m(h)g(c)m(haracters)h(with)f(the)g(sp)s
-(ecial)h(mark)m(ers)f Fs(RL_PROMPT_)390 4649 y(START_IGNORE)34
-b Ft(and)j Fs(RL_PROMPT_END_IGNORE)32 b Ft(\(declared)39
-b(in)e Fs(readline.h)e Ft(as)j(`)p Fs(\\001)p Ft(')f(and)390
-4759 y(`)p Fs(\\002)p Ft(',)31 b(resp)s(ectiv)m(ely\).)46
-b(This)31 b(ma)m(y)h(b)s(e)f(used)f(to)j(em)m(b)s(ed)e(terminal-sp)s
-(eci\014c)h(escap)s(e)g(sequences)390 4869 y(in)e(prompts.)3350
-5101 y([F)-8 b(unction])-3599 b Fh(int)53 b(rl_set_prompt)d
-Fg(\()p Ff(const)34 b(c)m(har)g(*prompt)p Fg(\))390 5210
-y Ft(Mak)m(e)28 b(Readline)g(use)f Fk(prompt)h Ft(for)e(subsequen)m(t)h
-(redispla)m(y)-8 b(.)40 b(This)26 b(calls)i Fs(rl_expand_prompt\(\))390
-5320 y Ft(to)j(expand)f(the)g(prompt)g(and)g(sets)g Fs(rl_prompt)e
-Ft(to)j(the)g(result.)p eop end
+(with)f(a)g(call)i(to)e Fs(rl_save_)390 3828 y(prompt)e
+Ft(b)s(efore)h(the)h(last)h(call)g(to)g Fs(rl_message)p
+Ft(,)c(y)m(ou)j(m)m(ust)g(call)h Fs(rl_restore_prompt)24
+b Ft(b)s(efore)390 3937 y(calling)32 b(this)e(function.)3350
+4113 y([F)-8 b(unction])-3599 b Fh(void)54 b(rl_save_prompt)49
+b Fg(\()p Ff(v)m(oid)p Fg(\))390 4222 y Ft(Sa)m(v)m(e)44
+b(the)f(lo)s(cal)i(Readline)e(prompt)f(displa)m(y)i(state)g(in)f
+(preparation)g(for)g(displa)m(ying)g(a)g(new)390 4332
+y(message)31 b(in)g(the)f(message)i(area)f(with)f Fs(rl_message\(\))p
+Ft(.)3350 4507 y([F)-8 b(unction])-3599 b Fh(void)54
+b(rl_restore_prompt)c Fg(\()p Ff(v)m(oid)p Fg(\))390
+4617 y Ft(Restore)44 b(the)e(lo)s(cal)i(Readline)g(prompt)d(displa)m(y)
+i(state)h(sa)m(v)m(ed)g(b)m(y)f(the)f(most)h(recen)m(t)h(call)g(to)390
+4726 y Fs(rl_save_prompt)p Ft(.)g(if)33 b(y)m(ou)g(called)g
+Fs(rl_save_prompt)c Ft(to)34 b(sa)m(v)m(e)g(the)f(prompt)f(b)s(efore)g
+(a)h(call)h(to)390 4836 y Fs(rl_message)p Ft(,)24 b(y)m(ou)i(should)e
+(call)j(this)e(function)g(b)s(efore)g(the)g(corresp)s(onding)g(call)h
+(to)g Fs(rl_clear_)390 4945 y(message)p Ft(.)3350 5121
+y([F)-8 b(unction])-3599 b Fh(int)53 b(rl_expand_prompt)e
+Fg(\()p Ff(c)m(har)34 b(*prompt)p Fg(\))390 5230 y Ft(Expand)41
+b(an)m(y)j(sp)s(ecial)f(c)m(haracter)h(sequences)f(in)g
+Fk(prompt)g Ft(and)f(set)i(up)d(the)i(lo)s(cal)h(Readline)390
+5340 y(prompt)35 b(redispla)m(y)h(v)-5 b(ariables.)57
+b(This)35 b(function)h(is)g(called)h(b)m(y)e Fs(readline\(\))p
+Ft(.)55 b(It)35 b(ma)m(y)i(also)g(b)s(e)p eop end
 %%Page: 43 47
 TeXDict begin 43 46 bop 150 -116 a Ft(Chapter)30 b(2:)41
-b(Programming)30 b(with)g(GNU)h(Readline)1683 b(43)150
-299 y Fi(2.4.7)63 b(Mo)s(difying)43 b(T)-10 b(ext)3350
-502 y Ft([F)i(unction])-3599 b Fh(int)53 b(rl_insert_text)d
-Fg(\()p Ff(const)34 b(c)m(har)g(*text)p Fg(\))390 612
-y Ft(Insert)d Fk(text)k Ft(in)m(to)d(the)g(line)g(at)g(the)g(curren)m
-(t)f(cursor)g(p)s(osition.)45 b(Returns)30 b(the)i(n)m(um)m(b)s(er)f
-(of)g(c)m(har-)390 721 y(acters)g(inserted.)3350 919
-y([F)-8 b(unction])-3599 b Fh(int)53 b(rl_delete_text)d
+b(Programming)30 b(with)g(GNU)h(Readline)1683 b(43)390
+299 y(called)38 b(to)g(expand)f(the)g(primary)f(prompt)g(if)h(the)h
+(application)g(uses)f(the)g Fs(rl_on_new_line_)390 408
+y(with_prompt\(\))c Ft(function)i(or)i Fs(rl_already_prompted)31
+b Ft(v)-5 b(ariable.)59 b(It)36 b(returns)f(the)h(n)m(um)m(b)s(er)390
+518 y(of)k(visible)g(c)m(haracters)h(on)e(the)h(last)h(line)f(of)f(the)
+h(\(p)s(ossibly)f(m)m(ulti-line\))j(prompt.)67 b(Applica-)390
+628 y(tions)44 b(ma)m(y)g(indicate)h(that)g(the)e(prompt)g(con)m(tains)
+i(c)m(haracters)g(that)g(tak)m(e)g(up)e(no)g(ph)m(ysical)390
+737 y(screen)d(space)g(when)f(displa)m(y)m(ed)i(b)m(y)e(brac)m(k)m
+(eting)j(a)e(sequence)g(of)g(suc)m(h)g(c)m(haracters)h(with)f(the)390
+847 y(sp)s(ecial)32 b(mark)m(ers)g Fs(RL_PROMPT_START_IGNORE)26
+b Ft(and)31 b Fs(RL_PROMPT_END_IGNORE)26 b Ft(\(declared)32
+b(in)390 956 y Fs(readline.h)21 b Ft(as)k(`)p Fs(\\001)p
+Ft(')e(and)h(`)p Fs(\\002)p Ft(',)h(resp)s(ectiv)m(ely\).)40
+b(This)23 b(ma)m(y)i(b)s(e)e(used)h(to)g(em)m(b)s(ed)g(terminal-)390
+1066 y(sp)s(eci\014c)29 b(escap)s(e)g(sequences)g(in)g(prompts.)39
+b(If)28 b(y)m(ou)i(don't)f(use)f(these)h(indicators,)h(redispla)m(y)g
+(will)390 1176 y(lik)m(ely)i(pro)s(duce)d(screen)i(con)m(ten)m(ts)h
+(that)f(don't)f(matc)m(h)h(the)g(line)g(bu\013er.)3350
+1356 y([F)-8 b(unction])-3599 b Fh(int)53 b(rl_set_prompt)d
+Fg(\()p Ff(const)34 b(c)m(har)g(*prompt)p Fg(\))390 1465
+y Ft(Mak)m(e)28 b(Readline)g(use)f Fk(prompt)h Ft(for)e(subsequen)m(t)h
+(redispla)m(y)-8 b(.)40 b(This)26 b(calls)i Fs(rl_expand_prompt\(\))390
+1575 y Ft(to)j(expand)f(the)g(prompt)g(and)g(sets)g Fs(rl_prompt)e
+Ft(to)j(the)g(result.)150 1772 y Fi(2.4.7)63 b(Mo)s(difying)43
+b(T)-10 b(ext)3350 1966 y Ft([F)i(unction])-3599 b Fh(int)53
+b(rl_insert_text)d Fg(\()p Ff(const)34 b(c)m(har)g(*text)p
+Fg(\))390 2075 y Ft(Insert)d Fk(text)k Ft(in)m(to)d(the)g(line)g(at)g
+(the)g(curren)m(t)f(cursor)g(p)s(osition.)45 b(Returns)30
+b(the)i(n)m(um)m(b)s(er)f(of)g(c)m(har-)390 2185 y(acters)g(inserted.)
+3350 2365 y([F)-8 b(unction])-3599 b Fh(int)53 b(rl_delete_text)d
 Fg(\()p Ff(in)m(t)33 b(start,)g(in)m(t)g(end)p Fg(\))390
-1028 y Ft(Delete)40 b(the)e(text)h(b)s(et)m(w)m(een)f
+2475 y Ft(Delete)40 b(the)e(text)h(b)s(et)m(w)m(een)f
 Fk(start)i Ft(and)d Fk(end)k Ft(in)c(the)h(curren)m(t)g(line.)63
-b(Returns)36 b(the)i(n)m(um)m(b)s(er)f(of)390 1138 y(c)m(haracters)32
-b(deleted.)3350 1335 y([F)-8 b(unction])-3599 b Fh(char)54
+b(Returns)36 b(the)i(n)m(um)m(b)s(er)f(of)390 2584 y(c)m(haracters)32
+b(deleted.)3350 2765 y([F)-8 b(unction])-3599 b Fh(char)54
 b(*)e(rl_copy_text)d Fg(\()p Ff(in)m(t)34 b(start,)e(in)m(t)h(end)p
-Fg(\))390 1445 y Ft(Return)d(a)g(cop)m(y)h(of)g(the)g(text)g(b)s(et)m
+Fg(\))390 2874 y Ft(Return)d(a)g(cop)m(y)h(of)g(the)g(text)g(b)s(et)m
 (w)m(een)g Fk(start)i Ft(and)d Fk(end)j Ft(in)d(the)h(curren)m(t)f
-(line.)3350 1642 y([F)-8 b(unction])-3599 b Fh(int)53
+(line.)3350 3055 y([F)-8 b(unction])-3599 b Fh(int)53
 b(rl_kill_text)c Fg(\()p Ff(in)m(t)34 b(start,)e(in)m(t)i(end)p
-Fg(\))390 1752 y Ft(Cop)m(y)g(the)g(text)i(b)s(et)m(w)m(een)e
+Fg(\))390 3164 y Ft(Cop)m(y)g(the)g(text)i(b)s(et)m(w)m(een)e
 Fk(start)j Ft(and)d Fk(end)j Ft(in)d(the)g(curren)m(t)g(line)g(to)h
-(the)f(kill)h(ring,)g(app)s(ending)390 1862 y(or)f(prep)s(ending)e(to)j
-(the)f(last)h(kill)f(if)g(the)g(last)h(command)f(w)m(as)g(a)h(kill)f
-(command.)51 b(The)34 b(text)h(is)390 1971 y(deleted.)51
-b(If)33 b Fk(start)j Ft(is)e(less)g(than)f Fk(end)p Ft(,)h(the)g(text)g
-(is)g(app)s(ended,)f(otherwise)h(prep)s(ended.)48 b(If)33
-b(the)390 2081 y(last)e(command)f(w)m(as)h(not)g(a)f(kill,)i(a)f(new)e
-(kill)i(ring)g(slot)g(is)f(used.)3350 2278 y([F)-8 b(unction])-3599
+(the)f(kill)h(ring,)g(app)s(ending)390 3274 y(or)d(prep)s(ending)e(to)j
+(the)f(last)g(kill)h(if)f(the)g(last)h(command)e(w)m(as)i(a)f(kill)h
+(command.)45 b(This)31 b(deletes)390 3383 y(the)h(text)h(from)e(the)h
+(line.)45 b(If)31 b Fk(start)j Ft(is)e(less)g(than)f
+Fk(end)p Ft(,)h(the)g(text)g(is)g(app)s(ended,)f(otherwise)h(it)g(is)
+390 3493 y(prep)s(ended.)39 b(If)29 b(the)i(last)g(command)f(w)m(as)h
+(not)g(a)f(kill,)i(this)e(uses)g(a)h(new)f(kill)h(ring)f(slot.)3350
+3673 y([F)-8 b(unction])-3599 b Fh(void)54 b(rl_replace_line)c
+Fg(\()p Ff(const)34 b(c)m(har)f(*text,)g(in)m(t)g(clear)p
+2406 3673 30 5 v 44 w(undo)p Fg(\))390 3783 y Ft(Replace)42
+b(the)f(con)m(ten)m(ts)h(of)f Fs(rl_line_buffer)36 b
+Ft(with)41 b Fk(text)p Ft(.)72 b(This)40 b(preserv)m(es)g(the)h(p)s
+(oin)m(t)g(and)390 3892 y(mark,)33 b(if)f(p)s(ossible.)45
+b(If)32 b Fk(clear)p 1405 3892 28 4 v 41 w(undo)k Ft(is)c(non-zero,)h
+(this)f(clears)h(the)g(undo)e(list)i(asso)s(ciated)g(with)390
+4002 y(the)e(curren)m(t)f(line.)3350 4182 y([F)-8 b(unction])-3599
 b Fh(int)53 b(rl_push_macro_input)e Fg(\()p Ff(c)m(har)35
-b(*macro)p Fg(\))390 2388 y Ft(Cause)28 b Fk(macro)33
-b Ft(to)c(b)s(e)f(inserted)g(in)m(to)h(the)g(line,)g(as)f(if)h(it)f
-(had)g(b)s(een)g(in)m(v)m(ok)m(ed)h(b)m(y)f(a)h(k)m(ey)g(b)s(ound)d(to)
-390 2497 y(a)31 b(macro.)41 b(Not)31 b(esp)s(ecially)h(useful;)e(use)g
-Fs(rl_insert_text\(\))c Ft(instead.)150 2703 y Fi(2.4.8)63
-b(Character)39 b(Input)3350 2906 y Ft([F)-8 b(unction])-3599
+b(*macro)p Fg(\))390 4292 y Ft(Insert)29 b Fk(macro)35
+b Ft(in)m(to)30 b(the)g(line,)g(as)g(if)f(it)h(had)f(b)s(een)g(in)m(v)m
+(ok)m(ed)i(b)m(y)e(a)h(k)m(ey)g(b)s(ound)e(to)i(a)g(macro.)41
+b(Not)390 4401 y(esp)s(ecially)32 b(useful;)d(use)i Fs
+(rl_insert_text\(\))25 b Ft(instead.)150 4598 y Fi(2.4.8)63
+b(Character)39 b(Input)3350 4792 y Ft([F)-8 b(unction])-3599
 b Fh(int)53 b(rl_read_key)c Fg(\()p Ff(v)m(oid)p Fg(\))390
-3016 y Ft(Return)29 b(the)g(next)h(c)m(haracter)h(a)m(v)-5
+4902 y Ft(Return)29 b(the)g(next)h(c)m(haracter)h(a)m(v)-5
 b(ailable)32 b(from)d(Readline's)h(curren)m(t)f(input)g(stream.)41
-b(This)28 b(han-)390 3126 y(dles)e(input)g(inserted)g(in)m(to)i(the)e
-(input)g(stream)h(via)g Fk(rl)p 2226 3126 28 4 v 40 w(p)s(ending)p
-2583 3126 V 38 w(input)h Ft(\(see)f(Section)h(2.3)f([Read-)390
-3235 y(line)40 b(V)-8 b(ariables],)43 b(page)d(30\))g(and)f
+b(This)28 b(han-)390 5011 y(dles)e(input)g(inserted)g(in)m(to)i(the)e
+(input)g(stream)h(via)g Fk(rl)p 2226 5011 V 40 w(p)s(ending)p
+2583 5011 V 38 w(input)h Ft(\(see)f(Section)h(2.3)f([Read-)390
+5121 y(line)40 b(V)-8 b(ariables],)43 b(page)d(30\))g(and)f
 Fs(rl_stuff_char\(\))p Ft(,)f(macros,)k(and)d(c)m(haracters)h(read)f
-(from)390 3345 y(the)34 b(k)m(eyb)s(oard.)52 b(While)35
+(from)390 5230 y(the)34 b(k)m(eyb)s(oard.)52 b(While)35
 b(w)m(aiting)g(for)f(input,)g(this)g(function)g(will)g(call)i(an)m(y)e
-(function)g(assigned)390 3454 y(to)d(the)g Fs(rl_event_hook)26
-b Ft(v)-5 b(ariable.)3350 3652 y([F)d(unction])-3599
-b Fh(int)53 b(rl_getc)48 b Fg(\()p Ff(FILE)33 b(*stream)p
-Fg(\))390 3761 y Ft(Return)20 b(the)i(next)f(c)m(haracter)i(a)m(v)-5
-b(ailable)24 b(from)c Fk(stream)p Ft(,)k(whic)m(h)d(is)g(assumed)g(to)h
-(b)s(e)e(the)i(k)m(eyb)s(oard.)3350 3959 y([F)-8 b(unction])-3599
-b Fh(int)53 b(rl_stuff_char)d Fg(\()p Ff(in)m(t)33 b(c)p
-Fg(\))390 4068 y Ft(Insert)f Fk(c)39 b Ft(in)m(to)34
-b(the)f(Readline)g(input)f(stream.)49 b(It)33 b(will)g(b)s(e)f
-Fs(")p Ft(read)p Fs(")g Ft(b)s(efore)h(Readline)g(attempts)390
-4178 y(to)27 b(read)g(c)m(haracters)h(from)f(the)g(terminal)g(with)f
-Fs(rl_read_key\(\))p Ft(.)36 b(Up)27 b(to)g(512)h(c)m(haracters)g(ma)m
-(y)390 4288 y(b)s(e)i(pushed)f(bac)m(k.)42 b Fs(rl_stuff_char)27
-b Ft(returns)i(1)i(if)f(the)h(c)m(haracter)h(w)m(as)f(successfully)g
-(inserted;)390 4397 y(0)g(otherwise.)3350 4595 y([F)-8
-b(unction])-3599 b Fh(int)53 b(rl_execute_next)d Fg(\()p
-Ff(in)m(t)34 b(c)p Fg(\))390 4704 y Ft(Mak)m(e)j Fk(c)42
-b Ft(b)s(e)35 b(the)h(next)f(command)h(to)g(b)s(e)f(executed)i(when)d
-Fs(rl_read_key\(\))e Ft(is)k(called.)58 b(This)390 4814
-y(sets)31 b Fk(rl)p 635 4814 V 40 w(p)s(ending)p 992
-4814 V 38 w(input)p Ft(.)3350 5011 y([F)-8 b(unction])-3599
-b Fh(int)53 b(rl_clear_pending_inpu)q(t)e Fg(\()p Ff(v)m(oid)p
-Fg(\))390 5121 y Ft(Unset)42 b Fk(rl)p 729 5121 V 40
-w(p)s(ending)p 1086 5121 V 38 w(input)p Ft(,)i(e\013ectiv)m(ely)h
-(negating)e(the)f(e\013ect)h(of)f(an)m(y)g(previous)f(call)i(to)g
-Fs(rl_)390 5230 y(execute_next\(\))p Ft(.)59 b(This)36
-b(w)m(orks)i(only)g(if)f(the)h(p)s(ending)e(input)h(has)g(not)h
-(already)g(b)s(een)f(read)390 5340 y(with)30 b Fs(rl_read_key\(\))p
-Ft(.)p eop end
+(function)g(assigned)390 5340 y(to)d(the)g Fs(rl_event_hook)26
+b Ft(v)-5 b(ariable.)p eop end
 %%Page: 44 48
 TeXDict begin 44 47 bop 150 -116 a Ft(Chapter)30 b(2:)41
 b(Programming)30 b(with)g(GNU)h(Readline)1683 b(44)3350
-299 y([F)-8 b(unction])-3599 b Fh(int)53 b(rl_set_keyboard_input)q
-(_tim)q(eou)q(t)e Fg(\()p Ff(in)m(t)34 b(u)p Fg(\))390
-408 y Ft(While)41 b(w)m(aiting)g(for)f(k)m(eyb)s(oard)g(input)f(in)h
-Fs(rl_read_key\(\))p Ft(,)f(Readline)i(will)f(w)m(ait)h(for)f
-Fk(u)g Ft(mi-)390 518 y(croseconds)31 b(for)g(input)f(b)s(efore)g
-(calling)j(an)m(y)e(function)f(assigned)i(to)f Fs(rl_event_hook)p
-Ft(.)39 b Fk(u)30 b Ft(m)m(ust)390 628 y(b)s(e)h(greater)i(than)f(or)g
-(equal)g(to)h(zero)f(\(a)h(zero-length)g(timeout)g(is)f(equiv)-5
-b(alen)m(t)33 b(to)g(a)f(p)s(oll\).)45 b(The)390 737
-y(default)31 b(w)m(aiting)g(p)s(erio)s(d)e(is)i(one-ten)m(th)g(of)g(a)g
-(second.)40 b(Returns)30 b(the)g(old)h(timeout)g(v)-5
-b(alue.)3350 957 y([F)d(unction])-3599 b Fh(int)53 b(rl_set_timeout)d
+299 y([F)-8 b(unction])-3599 b Fh(int)53 b(rl_getc)48
+b Fg(\()p Ff(FILE)33 b(*stream)p Fg(\))390 408 y Ft(Return)20
+b(the)i(next)f(c)m(haracter)i(a)m(v)-5 b(ailable)24 b(from)c
+Fk(stream)p Ft(,)k(whic)m(h)d(is)g(assumed)g(to)h(b)s(e)e(the)i(k)m
+(eyb)s(oard.)3350 588 y([F)-8 b(unction])-3599 b Fh(int)53
+b(rl_stuff_char)d Fg(\()p Ff(in)m(t)33 b(c)p Fg(\))390
+697 y Ft(Insert)f Fk(c)39 b Ft(in)m(to)34 b(the)f(Readline)g(input)f
+(stream.)49 b(It)33 b(will)g(b)s(e)f Fs(")p Ft(read)p
+Fs(")g Ft(b)s(efore)h(Readline)g(attempts)390 807 y(to)40
+b(read)f(c)m(haracters)h(from)e(the)i(terminal)f(with)g
+Fs(rl_read_key\(\))p Ft(.)63 b(Applications)39 b(can)h(push)390
+916 y(bac)m(k)28 b(up)e(to)i(512)g(c)m(haracters.)41
+b Fs(rl_stuff_char)23 b Ft(returns)j(1)i(if)f(the)g(c)m(haracter)i(w)m
+(as)e(successfully)390 1026 y(inserted;)j(0)h(otherwise.)3350
+1205 y([F)-8 b(unction])-3599 b Fh(int)53 b(rl_execute_next)d
+Fg(\()p Ff(in)m(t)34 b(c)p Fg(\))390 1315 y Ft(Mak)m(e)j
+Fk(c)42 b Ft(b)s(e)35 b(the)h(next)f(command)h(to)g(b)s(e)f(executed)i
+(when)d Fs(rl_read_key\(\))e Ft(is)k(called.)58 b(This)390
+1424 y(sets)31 b Fk(rl)p 635 1424 28 4 v 40 w(p)s(ending)p
+992 1424 V 38 w(input)p Ft(.)3350 1604 y([F)-8 b(unction])-3599
+b Fh(int)53 b(rl_clear_pending_inpu)q(t)e Fg(\()p Ff(v)m(oid)p
+Fg(\))390 1713 y Ft(Unset)42 b Fk(rl)p 729 1713 V 40
+w(p)s(ending)p 1086 1713 V 38 w(input)p Ft(,)i(e\013ectiv)m(ely)h
+(negating)e(the)f(e\013ect)h(of)f(an)m(y)g(previous)f(call)i(to)g
+Fs(rl_)390 1823 y(execute_next\(\))p Ft(.)59 b(This)36
+b(w)m(orks)i(only)g(if)f(the)h(p)s(ending)e(input)h(has)g(not)h
+(already)g(b)s(een)f(read)390 1932 y(with)30 b Fs(rl_read_key\(\))p
+Ft(.)3350 2112 y([F)-8 b(unction])-3599 b Fh(int)53 b
+(rl_set_keyboard_input)q(_tim)q(eou)q(t)e Fg(\()p Ff(in)m(t)34
+b(u)p Fg(\))390 2221 y Ft(While)41 b(w)m(aiting)g(for)f(k)m(eyb)s(oard)
+g(input)f(in)h Fs(rl_read_key\(\))p Ft(,)f(Readline)i(will)f(w)m(ait)h
+(for)f Fk(u)g Ft(mi-)390 2331 y(croseconds)31 b(for)g(input)f(b)s
+(efore)g(calling)j(an)m(y)e(function)f(assigned)i(to)f
+Fs(rl_event_hook)p Ft(.)39 b Fk(u)30 b Ft(m)m(ust)390
+2440 y(b)s(e)h(greater)i(than)f(or)g(equal)g(to)h(zero)f(\(a)h
+(zero-length)g(timeout)g(is)f(equiv)-5 b(alen)m(t)33
+b(to)g(a)f(p)s(oll\).)45 b(The)390 2550 y(default)31
+b(w)m(aiting)g(p)s(erio)s(d)e(is)i(one-ten)m(th)g(of)g(a)g(second.)40
+b(Returns)30 b(the)g(old)h(timeout)g(v)-5 b(alue.)3350
+2729 y([F)d(unction])-3599 b Fh(int)53 b(rl_set_timeout)d
 Fg(\()p Ff(unsigned)35 b(in)m(t)e(secs,)h(unsigned)h(in)m(t)e(usecs)p
-Fg(\))390 1067 y Ft(Set)f(a)g(timeout)h(for)f(subsequen)m(t)f(calls)j
+Fg(\))390 2839 y Ft(Set)f(a)g(timeout)h(for)f(subsequen)m(t)f(calls)j
 (to)e Fs(readline\(\))p Ft(.)43 b(If)31 b(Readline)i(do)s(es)f(not)g
-(read)g(a)g(com-)390 1177 y(plete)37 b(line,)h(or)e(the)g(n)m(um)m(b)s
+(read)g(a)g(com-)390 2948 y(plete)37 b(line,)h(or)e(the)g(n)m(um)m(b)s
 (er)f(of)h(c)m(haracters)i(sp)s(eci\014ed)d(b)m(y)h Fs
-(rl_num_chars_to_read)p Ft(,)c(b)s(efore)390 1286 y(the)h(duration)g
+(rl_num_chars_to_read)p Ft(,)c(b)s(efore)390 3058 y(the)h(duration)g
 (sp)s(eci\014ed)g(b)m(y)g Fk(secs)38 b Ft(\(in)33 b(seconds\))h(and)e
 Fk(usecs)37 b Ft(\(microseconds\),)f(it)d(returns)g(and)390
-1396 y(sets)22 b Fs(RL_STATE_TIMEOUT)17 b Ft(in)k Fs(rl_readline_state)
+3168 y(sets)22 b Fs(RL_STATE_TIMEOUT)17 b Ft(in)k Fs(rl_readline_state)
 p Ft(.)33 b(P)m(assing)22 b(0)g(for)f Fs(secs)g Ft(and)g
-Fs(usecs)f Ft(cancels)390 1505 y(an)m(y)k(previously)f(set)h(timeout;)j
+Fs(usecs)f Ft(cancels)390 3277 y(an)m(y)k(previously)f(set)h(timeout;)j
 (the)d(con)m(v)m(enience)h(macro)f Fs(rl_clear_timeout\(\))19
-b Ft(is)k(shorthand)390 1615 y(for)30 b(this.)41 b(Returns)29
+b Ft(is)k(shorthand)390 3387 y(for)30 b(this.)41 b(Returns)29
 b(0)i(if)f(the)h(timeout)g(is)g(set)g(successfully)-8
-b(.)3350 1835 y([F)g(unction])-3599 b Fh(int)53 b(rl_timeout_remaining)
+b(.)3350 3566 y([F)g(unction])-3599 b Fh(int)53 b(rl_timeout_remaining)
 f Fg(\()p Ff(unsigned)33 b(in)m(t)f(*secs,)h(unsigned)g(in)m(t)f
-(*usecs)p Fg(\))390 1945 y Ft(Return)38 b(the)h(n)m(um)m(b)s(er)e(of)i
+(*usecs)p Fg(\))390 3676 y Ft(Return)38 b(the)h(n)m(um)m(b)s(er)e(of)i
 (seconds)f(and)g(microseconds)h(remaining)g(in)f(the)h(curren)m(t)f
-(timeout)390 2054 y(duration)26 b(in)g Fk(*secs)31 b
+(timeout)390 3785 y(duration)26 b(in)g Fk(*secs)31 b
 Ft(and)26 b Fk(*usecs)p Ft(,)i(resp)s(ectiv)m(ely)-8
 b(.)41 b(Both)27 b Fk(*secs)k Ft(and)26 b Fk(*usecs)k
-Ft(m)m(ust)c(b)s(e)g(non-NULL)390 2164 y(to)j(return)f(an)m(y)h(v)-5
+Ft(m)m(ust)c(b)s(e)g(non-NULL)390 3895 y(to)j(return)f(an)m(y)h(v)-5
 b(alues.)40 b(The)29 b(return)e(v)-5 b(alue)29 b(is)g(-1)g(on)g(error)f
-(or)h(when)e(there)i(is)g(no)f(timeout)i(set,)390 2274
+(or)h(when)e(there)i(is)g(no)f(timeout)i(set,)390 4004
 y(0)35 b(when)e(the)i(timeout)h(has)e(expired)g(\(lea)m(ving)j
 Fk(*secs)i Ft(and)34 b Fk(*usecs)39 b Ft(unc)m(hanged\),)c(and)f(1)h
-(if)g(the)390 2383 y(timeout)27 b(has)e(not)h(expired.)38
+(if)g(the)390 4114 y(timeout)27 b(has)e(not)h(expired.)38
 b(If)26 b(either)g(of)f Fk(secs)30 b Ft(and)25 b Fk(usecs)k
 Ft(is)d Fs(NULL)p Ft(,)g(the)f(return)g(v)-5 b(alue)26
-b(indicates)390 2493 y(whether)k(the)g(timeout)i(has)e(expired.)150
-2710 y Fi(2.4.9)63 b(T)-10 b(erminal)41 b(Managemen)m(t)3350
-2925 y Ft([F)-8 b(unction])-3599 b Fh(void)54 b(rl_prep_terminal)c
-Fg(\()p Ff(in)m(t)33 b(meta)p 1704 2925 30 5 v 44 w(\015ag)p
-Fg(\))390 3034 y Ft(Mo)s(dify)42 b(the)h(terminal)g(settings)g(for)f
+b(indicates)390 4224 y(whether)k(the)g(timeout)i(has)e(expired.)150
+4419 y Fi(2.4.9)63 b(T)-10 b(erminal)41 b(Managemen)m(t)3350
+4613 y Ft([F)-8 b(unction])-3599 b Fh(void)54 b(rl_prep_terminal)c
+Fg(\()p Ff(in)m(t)33 b(meta)p 1704 4613 30 5 v 44 w(\015ag)p
+Fg(\))390 4722 y Ft(Mo)s(dify)42 b(the)h(terminal)g(settings)g(for)f
 (Readline's)i(use,)h(so)e Fs(readline\(\))c Ft(can)k(read)f(a)h(single)
-390 3144 y(c)m(haracter)32 b(at)g(a)f(time)h(from)e(the)h(k)m(eyb)s
-(oard.)43 b(The)30 b Fk(meta)p 2376 3144 28 4 v 41 w(\015ag)39
-b Ft(argumen)m(t)31 b(should)f(b)s(e)g(non-zero)390 3254
-y(if)g(Readline)h(should)f(read)g(eigh)m(t-bit)i(input.)3350
-3474 y([F)-8 b(unction])-3599 b Fh(void)54 b(rl_deprep_terminal)c
-Fg(\()p Ff(v)m(oid)p Fg(\))390 3583 y Ft(Undo)31 b(the)h(e\013ects)h
-(of)f Fs(rl_prep_terminal\(\))p Ft(,)27 b(lea)m(ving)33
-b(the)f(terminal)g(in)f(the)h(state)h(in)e(whic)m(h)390
-3693 y(it)g(w)m(as)g(b)s(efore)f(the)g(most)h(recen)m(t)g(call)h(to)f
-Fs(rl_prep_terminal\(\))p Ft(.)3350 3913 y([F)-8 b(unction])-3599
-b Fh(void)54 b(rl_tty_set_default_bindi)q(ngs)e Fg(\()p
-Ff(Keymap)34 b(kmap)p Fg(\))390 4023 y Ft(Read)j(the)g(op)s(erating)h
-(system's)f(terminal)g(editing)h(c)m(haracters)g(\(as)g(w)m(ould)e(b)s
-(e)h(displa)m(y)m(ed)g(b)m(y)390 4132 y Fs(stty)p Ft(\))30
-b(to)h(their)f(Readline)h(equiv)-5 b(alen)m(ts.)42 b(The)30
-b(bindings)f(are)i(p)s(erformed)e(in)h Fk(kmap)p Ft(.)3350
-4353 y([F)-8 b(unction])-3599 b Fh(void)54 b(rl_tty_unset_default_bin)q
-(din)q(gs)e Fg(\()p Ff(Keymap)34 b(kmap)p Fg(\))390 4462
-y Ft(Reset)f(the)f(bindings)e(manipulated)i(b)m(y)g Fs
-(rl_tty_set_default_bind)o(ing)o(s)26 b Ft(so)32 b(that)g(the)g(ter-)
-390 4572 y(minal)40 b(editing)g(c)m(haracters)h(are)f(b)s(ound)e(to)i
-Fs(rl_insert)p Ft(.)66 b(The)39 b(bindings)f(are)i(p)s(erformed)e(in)
-390 4681 y Fk(kmap)p Ft(.)3350 4902 y([F)-8 b(unction])-3599
-b Fh(int)53 b(rl_tty_set_echoing)e Fg(\()p Ff(in)m(t)34
-b(v)-6 b(alue)p Fg(\))390 5011 y Ft(Set)48 b(Readline's)g(idea)g(of)g
-(whether)f(or)g(not)h(it)g(is)f(ec)m(hoing)i(output)e(to)i(its)e
-(output)h(stream)390 5121 y(\()p Fk(rl)p 492 5121 V 40
-w(outstream)p Ft(\).)j(If)32 b Fk(v)-5 b(alue)39 b Ft(is)34
-b(0,)g(Readline)g(do)s(es)f(not)h(displa)m(y)f(output)g(to)h
-Fk(rl)p 3115 5121 V 40 w(outstream)p Ft(;)i(an)m(y)390
-5230 y(other)43 b(v)-5 b(alue)43 b(enables)h(output.)77
-b(The)43 b(initial)h(v)-5 b(alue)43 b(is)g(set)g(when)f(Readline)i
-(initializes)h(the)390 5340 y(terminal)31 b(settings.)42
-b(This)29 b(function)h(returns)f(the)i(previous)f(v)-5
-b(alue.)p eop end
+390 4832 y(c)m(haracter)22 b(at)g(a)f(time)g(from)f(the)h(k)m(eyb)s
+(oard)g(and)f(p)s(erform)f(redispla)m(y)-8 b(.)38 b(The)21
+b Fk(meta)p 3169 4832 28 4 v 41 w(\015ag)28 b Ft(argumen)m(t)390
+4942 y(should)h(b)s(e)h(non-zero)h(if)f(Readline)h(should)f(read)g
+(eigh)m(t-bit)i(input.)3350 5121 y([F)-8 b(unction])-3599
+b Fh(void)54 b(rl_deprep_terminal)c Fg(\()p Ff(v)m(oid)p
+Fg(\))390 5230 y Ft(Undo)31 b(the)h(e\013ects)h(of)f
+Fs(rl_prep_terminal\(\))p Ft(,)27 b(lea)m(ving)33 b(the)f(terminal)g
+(in)f(the)h(state)h(in)e(whic)m(h)390 5340 y(it)g(w)m(as)g(b)s(efore)f
+(the)g(most)h(recen)m(t)g(call)h(to)f Fs(rl_prep_terminal\(\))p
+Ft(.)p eop end
 %%Page: 45 49
 TeXDict begin 45 48 bop 150 -116 a Ft(Chapter)30 b(2:)41
 b(Programming)30 b(with)g(GNU)h(Readline)1683 b(45)3350
-299 y([F)-8 b(unction])-3599 b Fh(int)53 b(rl_reset_terminal)e
-Fg(\()p Ff(const)34 b(c)m(har)g(*terminal)p 2232 299
-30 5 v 43 w(name)p Fg(\))390 408 y Ft(Reinitialize)26
-b(Readline's)f(idea)f(of)g(the)g(terminal)h(settings)f(using)g
-Fk(terminal)p 2977 408 28 4 v 40 w(name)29 b Ft(as)24
-b(the)g(termi-)390 518 y(nal)32 b(t)m(yp)s(e)g(\(e.g.,)i
-Fs(vt100)p Ft(\).)44 b(If)31 b Fk(terminal)p 1753 518
-V 41 w(name)37 b Ft(is)31 b Fs(NULL)p Ft(,)h(the)g(v)-5
-b(alue)32 b(of)g(the)g Fs(TERM)e Ft(en)m(vironmen)m(t)390
-628 y(v)-5 b(ariable)31 b(is)g(used.)150 822 y Fi(2.4.10)63
-b(Utilit)m(y)40 b(F)-10 b(unctions)3350 1013 y Ft([F)i(unction])-3599
+299 y([F)-8 b(unction])-3599 b Fh(void)54 b(rl_tty_set_default_bindi)q
+(ngs)e Fg(\()p Ff(Keymap)34 b(kmap)p Fg(\))390 408 y
+Ft(Read)j(the)g(op)s(erating)h(system's)f(terminal)g(editing)h(c)m
+(haracters)g(\(as)g(w)m(ould)e(b)s(e)h(displa)m(y)m(ed)g(b)m(y)390
+518 y Fs(stty)p Ft(\))30 b(to)h(their)f(Readline)h(equiv)-5
+b(alen)m(ts.)42 b(The)30 b(bindings)f(are)i(p)s(erformed)e(in)h
+Fk(kmap)p Ft(.)3350 727 y([F)-8 b(unction])-3599 b Fh(void)54
+b(rl_tty_unset_default_bin)q(din)q(gs)e Fg(\()p Ff(Keymap)34
+b(kmap)p Fg(\))390 837 y Ft(Reset)f(the)f(bindings)e(manipulated)i(b)m
+(y)g Fs(rl_tty_set_default_bind)o(ing)o(s)26 b Ft(so)32
+b(that)g(the)g(ter-)390 946 y(minal)40 b(editing)g(c)m(haracters)h(are)
+f(b)s(ound)e(to)i Fs(rl_insert)p Ft(.)66 b(The)39 b(bindings)f(are)i(p)
+s(erformed)e(in)390 1056 y Fk(kmap)p Ft(.)3350 1265 y([F)-8
+b(unction])-3599 b Fh(int)53 b(rl_tty_set_echoing)e Fg(\()p
+Ff(in)m(t)34 b(v)-6 b(alue)p Fg(\))390 1374 y Ft(Set)48
+b(Readline's)g(idea)g(of)g(whether)f(or)g(not)h(it)g(is)f(ec)m(hoing)i
+(output)e(to)i(its)e(output)h(stream)390 1484 y(\()p
+Fk(rl)p 492 1484 28 4 v 40 w(outstream)p Ft(\).)j(If)32
+b Fk(v)-5 b(alue)39 b Ft(is)34 b(0,)g(Readline)g(do)s(es)f(not)h
+(displa)m(y)f(output)g(to)h Fk(rl)p 3115 1484 V 40 w(outstream)p
+Ft(;)i(an)m(y)390 1594 y(other)43 b(v)-5 b(alue)43 b(enables)h(output.)
+77 b(The)43 b(initial)h(v)-5 b(alue)43 b(is)g(set)g(when)f(Readline)i
+(initializes)h(the)390 1703 y(terminal)31 b(settings.)42
+b(This)29 b(function)h(returns)f(the)i(previous)f(v)-5
+b(alue.)3350 1912 y([F)d(unction])-3599 b Fh(int)53 b
+(rl_reset_terminal)e Fg(\()p Ff(const)34 b(c)m(har)g(*terminal)p
+2232 1912 30 5 v 43 w(name)p Fg(\))390 2022 y Ft(Reinitialize)i
+(Readline's)d(idea)h(of)f(the)g(terminal)h(settings)g(using)e
+Fk(terminal)p 3050 2022 28 4 v 41 w(name)38 b Ft(as)33
+b(the)g(ter-)390 2131 y(minal)k(t)m(yp)s(e)g(\(e.g.,)j
+Fs(xterm)p Ft(\).)58 b(If)36 b Fk(terminal)p 1889 2131
+V 41 w(name)42 b Ft(is)36 b Fs(NULL)p Ft(,)i(Readline)f(uses)f(the)h(v)
+-5 b(alue)37 b(of)g(the)390 2241 y Fs(TERM)29 b Ft(en)m(vironmen)m(t)i
+(v)-5 b(ariable.)150 2452 y Fi(2.4.10)63 b(Utilit)m(y)40
+b(F)-10 b(unctions)3350 2662 y Ft([F)i(unction])-3599
 b Fh(int)53 b(rl_save_state)d Fg(\()p Ff(struct)34 b(readline)p
-1759 1013 30 5 v 44 w(state)f(*sp)p Fg(\))390 1123 y
+1759 2662 30 5 v 44 w(state)f(*sp)p Fg(\))390 2771 y
 Ft(Sa)m(v)m(e)d(a)f(snapshot)e(of)i(Readline's)g(in)m(ternal)g(state)h
 (to)f Fk(sp)p Ft(.)40 b(The)28 b(con)m(ten)m(ts)i(of)e(the)h
-Fk(readline)p 3518 1123 28 4 v 40 w(state)390 1232 y
+Fk(readline)p 3518 2771 28 4 v 40 w(state)390 2881 y
 Ft(structure)g(are)g(do)s(cumen)m(ted)g(in)g Fs(readline.h)p
 Ft(.)38 b(The)28 b(caller)j(is)e(resp)s(onsible)f(for)h(allo)s(cating)j
-(the)390 1342 y(structure.)3350 1518 y([F)-8 b(unction])-3599
+(the)390 2990 y(structure.)3350 3199 y([F)-8 b(unction])-3599
 b Fh(int)53 b(rl_restore_state)e Fg(\()p Ff(struct)34
-b(readline)p 1916 1518 30 5 v 44 w(state)f(*sp)p Fg(\))390
-1628 y Ft(Restore)23 b(Readline's)g(in)m(ternal)g(state)g(to)g(that)g
+b(readline)p 1916 3199 30 5 v 44 w(state)f(*sp)p Fg(\))390
+3309 y Ft(Restore)23 b(Readline's)g(in)m(ternal)g(state)g(to)g(that)g
 (stored)f(in)g Fk(sp)p Ft(,)i(whic)m(h)d(m)m(ust)h(ha)m(v)m(e)i(b)s
-(een)d(sa)m(v)m(ed)i(b)m(y)g(a)390 1737 y(call)30 b(to)g
+(een)d(sa)m(v)m(ed)i(b)m(y)g(a)390 3418 y(call)30 b(to)g
 Fs(rl_save_state)p Ft(.)37 b(The)28 b(con)m(ten)m(ts)j(of)e(the)g
-Fk(readline)p 2470 1737 28 4 v 41 w(state)35 b Ft(structure)29
-b(are)g(do)s(cumen)m(ted)390 1847 y(in)h Fs(readline.h)p
+Fk(readline)p 2470 3418 28 4 v 41 w(state)35 b Ft(structure)29
+b(are)g(do)s(cumen)m(ted)390 3528 y(in)h Fs(readline.h)p
 Ft(.)38 b(The)30 b(caller)i(is)e(resp)s(onsible)f(for)i(freeing)f(the)h
-(structure.)3350 2023 y([F)-8 b(unction])-3599 b Fh(void)54
+(structure.)3350 3737 y([F)-8 b(unction])-3599 b Fh(void)54
 b(rl_free)47 b Fg(\()p Ff(v)m(oid)33 b(*mem)p Fg(\))390
-2133 y Ft(Deallo)s(cate)25 b(the)c(memory)g(p)s(oin)m(ted)g(to)h(b)m(y)
+3847 y Ft(Deallo)s(cate)25 b(the)c(memory)g(p)s(oin)m(ted)g(to)h(b)m(y)
 f Fk(mem)p Ft(.)38 b Fk(mem)21 b Ft(m)m(ust)g(ha)m(v)m(e)i(b)s(een)d
-(allo)s(cated)j(b)m(y)e Fs(malloc)p Ft(.)3350 2309 y([F)-8
-b(unction])-3599 b Fh(void)54 b(rl_replace_line)c Fg(\()p
-Ff(const)34 b(c)m(har)f(*text,)g(in)m(t)g(clear)p 2406
-2309 30 5 v 44 w(undo)p Fg(\))390 2419 y Ft(Replace)41
-b(the)e(con)m(ten)m(ts)i(of)f Fs(rl_line_buffer)35 b
-Ft(with)k Fk(text)p Ft(.)69 b(The)39 b(p)s(oin)m(t)h(and)e(mark)h(are)h
-(pre-)390 2528 y(serv)m(ed,)27 b(if)e(p)s(ossible.)39
-b(If)25 b Fk(clear)p 1422 2528 28 4 v 41 w(undo)k Ft(is)d(non-zero,)h
-(the)f(undo)e(list)i(asso)s(ciated)h(with)e(the)h(curren)m(t)390
-2638 y(line)31 b(is)f(cleared.)3350 2814 y([F)-8 b(unction])-3599
-b Fh(void)54 b(rl_extend_line_buffer)d Fg(\()p Ff(in)m(t)34
-b(len)p Fg(\))390 2924 y Ft(Ensure)29 b(that)h Fs(rl_line_buffer)d
-Ft(has)j(enough)f(space)i(to)g(hold)f Fk(len)g Ft(c)m(haracters,)i(p)s
-(ossibly)d(real-)390 3034 y(lo)s(cating)j(it)f(if)f(necessary)-8
-b(.)3350 3210 y([F)g(unction])-3599 b Fh(int)53 b(rl_initialize)d
-Fg(\()p Ff(v)m(oid)p Fg(\))390 3319 y Ft(Initialize)39
-b(or)e(re-initialize)i(Readline's)f(in)m(ternal)f(state.)62
-b(It's)37 b(not)g(strictly)h(necessary)f(to)h(call)390
-3429 y(this;)31 b Fs(readline\(\))c Ft(calls)32 b(it)f(b)s(efore)f
-(reading)g(an)m(y)h(input.)3350 3605 y([F)-8 b(unction])-3599
+(allo)s(cated)j(b)m(y)e Fs(malloc)p Ft(.)3350 4056 y([F)-8
+b(unction])-3599 b Fh(void)54 b(rl_extend_line_buffer)d
+Fg(\()p Ff(in)m(t)34 b(len)p Fg(\))390 4165 y Ft(Ensure)26
+b(that)j Fs(rl_line_buffer)23 b Ft(has)28 b(enough)f(space)h(to)h(hold)
+e Fk(len)h Ft(c)m(haracters,)h(reallo)s(cating)h(it)390
+4275 y(if)g(necessary)-8 b(.)3350 4484 y([F)g(unction])-3599
+b Fh(int)53 b(rl_initialize)d Fg(\()p Ff(v)m(oid)p Fg(\))390
+4593 y Ft(Initialize)39 b(or)e(re-initialize)i(Readline's)f(in)m
+(ternal)f(state.)62 b(It's)37 b(not)g(strictly)h(necessary)f(to)h(call)
+390 4703 y(this;)31 b Fs(readline\(\))c Ft(calls)32 b(it)f(b)s(efore)f
+(reading)g(an)m(y)h(input.)3350 4912 y([F)-8 b(unction])-3599
 b Fh(int)53 b(rl_ding)48 b Fg(\()p Ff(v)m(oid)p Fg(\))390
-3715 y Ft(Ring)30 b(the)h(terminal)g(b)s(ell,)f(ob)s(eying)h(the)f
-(setting)i(of)e Fs(bell-style)p Ft(.)3350 3891 y([F)-8
+5021 y Ft(Ring)30 b(the)h(terminal)g(b)s(ell,)f(ob)s(eying)h(the)f
+(setting)i(of)e Fs(bell-style)p Ft(.)3350 5230 y([F)-8
 b(unction])-3599 b Fh(int)53 b(rl_alphabetic)d Fg(\()p
-Ff(in)m(t)33 b(c)p Fg(\))390 4001 y Ft(Return)d(1)g(if)h
-Fk(c)36 b Ft(is)30 b(an)h(alphab)s(etic)g(c)m(haracter.)3350
-4177 y([F)-8 b(unction])-3599 b Fh(void)54 b(rl_display_match_list)d
+Ff(in)m(t)33 b(c)p Fg(\))390 5340 y Ft(Return)d(1)g(if)h
+Fk(c)36 b Ft(is)30 b(an)h(alphab)s(etic)g(c)m(haracter.)p
+eop end
+%%Page: 46 50
+TeXDict begin 46 49 bop 150 -116 a Ft(Chapter)30 b(2:)41
+b(Programming)30 b(with)g(GNU)h(Readline)1683 b(46)3350
+299 y([F)-8 b(unction])-3599 b Fh(void)54 b(rl_display_match_list)d
 Fg(\()p Ff(c)m(har)35 b(**matc)m(hes,)e(in)m(t)g(len,)h(in)m(t)f(max)p
-Fg(\))390 4287 y Ft(A)i(con)m(v)m(enience)h(function)e(for)g(displa)m
+Fg(\))390 408 y Ft(A)i(con)m(v)m(enience)h(function)e(for)g(displa)m
 (ying)h(a)g(list)g(of)g(strings)f(in)g(columnar)g(format)h(on)f(Read-)
-390 4396 y(line's)g(output)f(stream.)51 b Fs(matches)31
+390 518 y(line's)g(output)f(stream.)51 b Fs(matches)31
 b Ft(is)j(the)f(list)i(of)e(strings,)i(in)e(argv)h(format,)h(suc)m(h)e
-(as)h(a)g(list)g(of)390 4506 y(completion)26 b(matc)m(hes.)39
+(as)h(a)g(list)g(of)390 628 y(completion)26 b(matc)m(hes.)39
 b Fs(len)24 b Ft(is)g(the)g(n)m(um)m(b)s(er)f(of)i(strings)f(in)g
 Fs(matches)p Ft(,)f(and)h Fs(max)f Ft(is)i(the)f(length)h(of)390
-4616 y(the)h(longest)i(string)e(in)g Fs(matches)p Ft(.)37
+737 y(the)h(longest)i(string)e(in)g Fs(matches)p Ft(.)37
 b(This)25 b(function)h(uses)g(the)g(setting)i(of)e Fs
-(print-completions-)390 4725 y(horizontally)33 b Ft(to)k(select)h(ho)m
+(print-completions-)390 847 y(horizontally)33 b Ft(to)k(select)h(ho)m
 (w)e(the)g(matc)m(hes)i(are)e(displa)m(y)m(ed)h(\(see)g(Section)g
-(1.3.1)h([Readline)390 4835 y(Init)30 b(File)h(Syn)m(tax],)g(page)g
+(1.3.1)h([Readline)390 956 y(Init)30 b(File)h(Syn)m(tax],)g(page)g
 (4\).)42 b(When)29 b(displa)m(ying)i(completions,)h(this)e(function)g
-(sets)g(the)g(n)m(um-)390 4944 y(b)s(er)23 b(of)g(columns)g(used)g(for)
+(sets)g(the)g(n)m(um-)390 1066 y(b)s(er)23 b(of)g(columns)g(used)g(for)
 h(displa)m(y)f(to)i(the)e(v)-5 b(alue)24 b(of)g Fs
 (completion-display-width)p Ft(,)19 b(the)k(v)-5 b(alue)390
-5054 y(of)31 b(the)f(en)m(vironmen)m(t)h(v)-5 b(ariable)31
+1176 y(of)31 b(the)f(en)m(vironmen)m(t)h(v)-5 b(ariable)31
 b Fs(COLUMNS)p Ft(,)e(or)h(the)h(screen)f(width,)g(in)g(that)h(order.)
-275 5230 y(The)g(follo)m(wing)j(are)e(implemen)m(ted)h(as)f(macros,)h
+275 1352 y(The)g(follo)m(wing)j(are)e(implemen)m(ted)h(as)f(macros,)h
 (de\014ned)e(in)h Fs(chardefs.h)p Ft(.)43 b(Applications)33
-b(should)150 5340 y(refrain)d(from)g(using)g(them.)p
-eop end
-%%Page: 46 50
-TeXDict begin 46 49 bop 150 -116 a Ft(Chapter)30 b(2:)41
-b(Programming)30 b(with)g(GNU)h(Readline)1683 b(46)3350
-299 y([F)-8 b(unction])-3599 b Fh(int)53 b(_rl_uppercase_p)d
-Fg(\()p Ff(in)m(t)34 b(c)p Fg(\))390 408 y Ft(Return)c(1)g(if)h
+b(should)150 1462 y(refrain)d(from)g(using)g(them.)3350
+1638 y([F)-8 b(unction])-3599 b Fh(int)53 b(_rl_uppercase_p)d
+Fg(\()p Ff(in)m(t)34 b(c)p Fg(\))390 1747 y Ft(Return)c(1)g(if)h
 Fk(c)36 b Ft(is)30 b(an)h(upp)s(ercase)e(alphab)s(etic)i(c)m(haracter.)
-3350 589 y([F)-8 b(unction])-3599 b Fh(int)53 b(_rl_lowercase_p)d
-Fg(\()p Ff(in)m(t)34 b(c)p Fg(\))390 698 y Ft(Return)c(1)g(if)h
+3350 1924 y([F)-8 b(unction])-3599 b Fh(int)53 b(_rl_lowercase_p)d
+Fg(\()p Ff(in)m(t)34 b(c)p Fg(\))390 2033 y Ft(Return)c(1)g(if)h
 Fk(c)36 b Ft(is)30 b(a)h(lo)m(w)m(ercase)i(alphab)s(etic)e(c)m
-(haracter.)3350 878 y([F)-8 b(unction])-3599 b Fh(int)53
+(haracter.)3350 2210 y([F)-8 b(unction])-3599 b Fh(int)53
 b(_rl_digit_p)c Fg(\()p Ff(in)m(t)34 b(c)p Fg(\))390
-988 y Ft(Return)c(1)g(if)h Fk(c)36 b Ft(is)30 b(a)h(n)m(umeric)f(c)m
-(haracter.)3350 1168 y([F)-8 b(unction])-3599 b Fh(int)53
+2319 y Ft(Return)c(1)g(if)h Fk(c)36 b Ft(is)30 b(a)h(n)m(umeric)f(c)m
+(haracter.)3350 2496 y([F)-8 b(unction])-3599 b Fh(int)53
 b(_rl_to_upper)c Fg(\()p Ff(in)m(t)34 b(c)p Fg(\))390
-1278 y Ft(If)23 b Fk(c)30 b Ft(is)24 b(a)g(lo)m(w)m(ercase)i(alphab)s
+2605 y Ft(If)23 b Fk(c)30 b Ft(is)24 b(a)g(lo)m(w)m(ercase)i(alphab)s
 (etic)e(c)m(haracter,)j(return)c(the)h(corresp)s(onding)e(upp)s(ercase)
-h(c)m(haracter.)3350 1458 y([F)-8 b(unction])-3599 b
+h(c)m(haracter.)3350 2782 y([F)-8 b(unction])-3599 b
 Fh(int)53 b(_rl_to_lower)c Fg(\()p Ff(in)m(t)34 b(c)p
-Fg(\))390 1567 y Ft(If)28 b Fk(c)35 b Ft(is)29 b(an)g(upp)s(ercase)f
+Fg(\))390 2891 y Ft(If)28 b Fk(c)35 b Ft(is)29 b(an)g(upp)s(ercase)f
 (alphab)s(etic)h(c)m(haracter,)i(return)d(the)h(corresp)s(onding)f(lo)m
-(w)m(ercase)j(c)m(harac-)390 1677 y(ter.)3350 1857 y([F)-8
+(w)m(ercase)j(c)m(harac-)390 3001 y(ter.)3350 3177 y([F)-8
 b(unction])-3599 b Fh(int)53 b(_rl_digit_value)d Fg(\()p
-Ff(in)m(t)34 b(c)p Fg(\))390 1967 y Ft(If)c Fk(c)36 b
+Ff(in)m(t)34 b(c)p Fg(\))390 3287 y Ft(If)c Fk(c)36 b
 Ft(is)31 b(a)f(n)m(um)m(b)s(er,)g(return)f(the)h(v)-5
-b(alue)31 b(it)g(represen)m(ts.)150 2163 y Fi(2.4.11)63
-b(Miscellaneous)42 b(F)-10 b(unctions)3350 2357 y Ft([F)i(unction])
+b(alue)31 b(it)g(represen)m(ts.)150 3481 y Fi(2.4.11)63
+b(Miscellaneous)42 b(F)-10 b(unctions)3350 3672 y Ft([F)i(unction])
 -3599 b Fh(int)53 b(rl_macro_bind)d Fg(\()p Ff(const)34
 b(c)m(har)g(*k)m(eyseq,)e(const)i(c)m(har)g(*macro,)565
-2467 y(Keymap)g(map)p Fg(\))390 2576 y Ft(Bind)23 b(the)g(k)m(ey)h
+3782 y(Keymap)g(map)p Fg(\))390 3891 y Ft(Bind)23 b(the)g(k)m(ey)h
 (sequence)g Fk(k)m(eyseq)i Ft(to)e(in)m(v)m(ok)m(e)h(the)f(macro)f
 Fk(macro)p Ft(.)39 b(The)23 b(binding)f(is)i(p)s(erformed)d(in)390
-2686 y Fk(map)p Ft(.)39 b(When)28 b Fk(k)m(eyseq)i Ft(is)e(in)m(v)m(ok)
+4001 y Fk(map)p Ft(.)39 b(When)28 b Fk(k)m(eyseq)i Ft(is)e(in)m(v)m(ok)
 m(ed,)i(the)d Fk(macro)33 b Ft(will)28 b(b)s(e)f(inserted)g(in)m(to)i
-(the)e(line.)41 b(This)26 b(function)390 2795 y(is)k(deprecated;)i(use)
-e Fs(rl_generic_bind)c Ft(instead.)3350 2976 y([F)-8
+(the)e(line.)41 b(This)26 b(function)390 4111 y(is)k(deprecated;)i(use)
+e Fs(rl_generic_bind)c Ft(instead.)3350 4287 y([F)-8
 b(unction])-3599 b Fh(void)54 b(rl_macro_dumper)c Fg(\()p
-Ff(in)m(t)33 b(readable)p Fg(\))390 3085 y Ft(Prin)m(t)27
+Ff(in)m(t)33 b(readable)p Fg(\))390 4396 y Ft(Prin)m(t)27
 b(the)g(k)m(ey)h(sequences)g(b)s(ound)d(to)j(macros)f(and)g(their)g(v)
 -5 b(alues,)28 b(using)f(the)g(curren)m(t)g(k)m(eymap,)390
-3195 y(to)43 b Fs(rl_outstream)p Ft(.)72 b(If)41 b(the)h(application)h
+4506 y(to)43 b Fs(rl_outstream)p Ft(.)72 b(If)41 b(the)h(application)h
 (has)f(assigned)g(a)h(v)-5 b(alue)42 b(to)h Fs(rl_macro_display_)390
-3304 y(hook)p Ft(,)36 b Fs(rl_macro_dumper)31 b Ft(calls)37
+4616 y(hook)p Ft(,)36 b Fs(rl_macro_dumper)31 b Ft(calls)37
 b(it)f(instead)f(of)h(prin)m(ting)f(an)m(ything.)56 b(If)35
-b Fk(readable)41 b Ft(is)36 b(greater)390 3414 y(than)28
+b Fk(readable)41 b Ft(is)36 b(greater)390 4725 y(than)28
 b(zero,)h(the)f(list)h(is)f(formatted)g(in)g(suc)m(h)f(a)h(w)m(a)m(y)h
 (that)g(it)f(can)g(b)s(e)f(made)h(part)g(of)g(an)g Fs(inputrc)390
-3524 y Ft(\014le)i(and)g(re-read.)3350 3704 y([F)-8 b(unction])-3599
+4835 y Ft(\014le)i(and)g(re-read.)3350 5011 y([F)-8 b(unction])-3599
 b Fh(int)53 b(rl_variable_bind)e Fg(\()p Ff(const)34
 b(c)m(har)f(*v)-6 b(ariable,)33 b(const)h(c)m(har)f(*v)-6
-b(alue)p Fg(\))390 3813 y Ft(Mak)m(e)28 b(the)f(Readline)g(v)-5
+b(alue)p Fg(\))390 5121 y Ft(Mak)m(e)28 b(the)f(Readline)g(v)-5
 b(ariable)27 b Fk(v)-5 b(ariable)32 b Ft(ha)m(v)m(e)c
 Fk(v)-5 b(alue)p Ft(.)40 b(This)25 b(b)s(eha)m(v)m(es)i(as)g(if)f(the)h
-(Readline)g(com-)390 3923 y(mand)j(`)p Fs(set)g Fl(variable)e(value)p
+(Readline)g(com-)390 5230 y(mand)j(`)p Fs(set)g Fl(variable)e(value)p
 Ft(')h(had)h(b)s(een)h(executed)g(in)g(an)f Fs(inputrc)f
-Ft(\014le)i(\(see)h(Section)f(1.3.1)390 4032 y([Readline)g(Init)f(File)
-i(Syn)m(tax],)f(page)g(4\).)3350 4213 y([F)-8 b(unction])-3599
-b Fh(char)54 b(*)e(rl_variable_value)f Fg(\()p Ff(const)34
-b(c)m(har)g(*v)-6 b(ariable)p Fg(\))390 4322 y Ft(Return)28
-b(a)i(string)f(represen)m(ting)h(the)f(v)-5 b(alue)30
-b(of)f(the)h(Readline)g(v)-5 b(ariable)30 b Fk(v)-5 b(ariable)p
-Ft(.)41 b(F)-8 b(or)30 b(b)s(o)s(olean)390 4432 y(v)-5
-b(ariables,)31 b(this)g(string)f(is)g(either)h(`)p Fs(on)p
-Ft(')f(or)h(`)p Fs(off)p Ft('.)3350 4612 y([F)-8 b(unction])-3599
-b Fh(void)54 b(rl_variable_dumper)c Fg(\()p Ff(in)m(t)34
-b(readable)p Fg(\))390 4721 y Ft(Prin)m(t)44 b(the)h(Readline)g(v)-5
-b(ariable)45 b(names)f(and)g(their)g(curren)m(t)g(v)-5
-b(alues)45 b(to)g Fs(rl_outstream)p Ft(.)79 b(If)390
-4831 y Fk(readable)37 b Ft(is)32 b(non-zero,)h(the)e(list)i(is)e
-(formatted)h(in)g(suc)m(h)f(a)h(w)m(a)m(y)h(that)f(it)g(can)g(b)s(e)f
-(made)g(part)h(of)390 4941 y(an)e Fs(inputrc)f Ft(\014le)h(and)g
-(re-read.)3350 5121 y([F)-8 b(unction])-3599 b Fh(int)53
-b(rl_set_paren_blink_ti)q(meou)q(t)f Fg(\()p Ff(in)m(t)33
-b(u)p Fg(\))390 5230 y Ft(Set)25 b(the)h(time)f(in)m(terv)-5
-b(al)27 b(\(in)e(microseconds\))h(that)g(Readline)f(w)m(aits)h(when)e
-(sho)m(wing)i(a)f(balancing)390 5340 y(c)m(haracter)32
-b(when)d Fs(blink-matching-paren)c Ft(has)30 b(b)s(een)g(enabled.)p
-eop end
+Ft(\014le)i(\(see)h(Section)f(1.3.1)390 5340 y([Readline)g(Init)f(File)
+i(Syn)m(tax],)f(page)g(4\))g(or)g(b)m(y)f Fs(rl_parse_and_bind)p
+Ft(.)p eop end
 %%Page: 47 51
 TeXDict begin 47 50 bop 150 -116 a Ft(Chapter)30 b(2:)41
 b(Programming)30 b(with)g(GNU)h(Readline)1683 b(47)3350
-299 y([F)-8 b(unction])-3599 b Fh(char)54 b(*)e(rl_get_termcap)e
-Fg(\()p Ff(const)34 b(c)m(har)g(*cap)p Fg(\))390 408
+299 y([F)-8 b(unction])-3599 b Fh(char)54 b(*)e(rl_variable_value)f
+Fg(\()p Ff(const)34 b(c)m(har)g(*v)-6 b(ariable)p Fg(\))390
+408 y Ft(Return)28 b(a)i(string)f(represen)m(ting)h(the)f(v)-5
+b(alue)30 b(of)f(the)h(Readline)g(v)-5 b(ariable)30 b
+Fk(v)-5 b(ariable)p Ft(.)41 b(F)-8 b(or)30 b(b)s(o)s(olean)390
+518 y(v)-5 b(ariables,)31 b(this)g(string)f(is)g(either)h(`)p
+Fs(on)p Ft(')f(or)h(`)p Fs(off)p Ft('.)3350 699 y([F)-8
+b(unction])-3599 b Fh(void)54 b(rl_variable_dumper)c
+Fg(\()p Ff(in)m(t)34 b(readable)p Fg(\))390 809 y Ft(Prin)m(t)44
+b(the)h(Readline)g(v)-5 b(ariable)45 b(names)f(and)g(their)g(curren)m
+(t)g(v)-5 b(alues)45 b(to)g Fs(rl_outstream)p Ft(.)79
+b(If)390 918 y Fk(readable)37 b Ft(is)32 b(non-zero,)h(the)e(list)i(is)
+e(formatted)h(in)g(suc)m(h)f(a)h(w)m(a)m(y)h(that)f(it)g(can)g(b)s(e)f
+(made)g(part)h(of)390 1028 y(an)e Fs(inputrc)f Ft(\014le)h(and)g
+(re-read.)3350 1209 y([F)-8 b(unction])-3599 b Fh(int)53
+b(rl_set_paren_blink_ti)q(meou)q(t)f Fg(\()p Ff(in)m(t)33
+b(u)p Fg(\))390 1318 y Ft(Set)25 b(the)h(time)f(in)m(terv)-5
+b(al)27 b(\(in)e(microseconds\))h(that)g(Readline)f(w)m(aits)h(when)e
+(sho)m(wing)i(a)f(balancing)390 1428 y(c)m(haracter)32
+b(when)d Fs(blink-matching-paren)c Ft(has)30 b(b)s(een)g(enabled.)3350
+1609 y([F)-8 b(unction])-3599 b Fh(char)54 b(*)e(rl_get_termcap)e
+Fg(\()p Ff(const)34 b(c)m(har)g(*cap)p Fg(\))390 1718
 y Ft(Retriev)m(e)29 b(the)e(string)g(v)-5 b(alue)27 b(of)g(the)h
 (termcap)f(capabilit)m(y)i Fk(cap)p Ft(.)40 b(Readline)27
-b(fetc)m(hes)h(the)g(termcap)390 518 y(en)m(try)34 b(for)f(the)h
+b(fetc)m(hes)h(the)g(termcap)390 1828 y(en)m(try)34 b(for)f(the)h
 (curren)m(t)f(terminal)h(name)g(and)f(uses)g(those)h(capabilities)h(to)
-f(mo)m(v)m(e)h(around)e(the)390 628 y(screen)21 b(line)h(and)e(p)s
+f(mo)m(v)m(e)h(around)e(the)390 1938 y(screen)21 b(line)h(and)e(p)s
 (erform)g(other)h(terminal-sp)s(eci\014c)h(op)s(erations,)h(lik)m(e)f
-(erasing)g(a)f(line.)38 b(Readline)390 737 y(do)s(es)d(not)g(use)g(all)
-g(of)h(a)f(terminal's)g(capabilities,)k(and)34 b(this)h(function)g
-(will)g(return)f(v)-5 b(alues)35 b(for)390 847 y(only)30
-b(those)h(capabilities)i(Readline)e(uses.)3350 1023 y([F)-8
-b(unction])-3599 b Fh(void)54 b(rl_reparse_colors)c Fg(\()p
-Ff(v)m(oid)p Fg(\))390 1133 y Ft(Read)31 b(or)f(re-read)h(color)g
-(de\014nitions)f(from)g Fs(LS_COLORS)p Ft(.)3350 1310
-y([F)-8 b(unction])-3599 b Fh(void)54 b(rl_clear_history)c
-Fg(\()p Ff(v)m(oid)p Fg(\))390 1419 y Ft(Clear)27 b(the)h(history)f
-(list)h(b)m(y)f(deleting)h(all)g(of)f(the)h(en)m(tries,)h(in)d(the)i
-(same)f(manner)g(as)g(the)g(History)390 1529 y(library's)42
-b Fs(clear_history\(\))d Ft(function.)78 b(This)42 b(di\013ers)g(from)g
-Fs(clear_history)e Ft(b)s(ecause)i(it)390 1638 y(frees)30
-b(priv)-5 b(ate)31 b(data)g(Readline)g(sa)m(v)m(es)h(in)e(the)h
-(history)f(list.)3350 1815 y([F)-8 b(unction])-3599 b
-Fh(void)54 b(rl_activate_mark)c Fg(\()p Ff(v)m(oid)p
-Fg(\))390 1924 y Ft(Enable)30 b(an)f Fj(active)37 b Ft(mark.)j(When)30
-b(this)f(is)h(enabled,)g(the)g(text)h(b)s(et)m(w)m(een)f(p)s(oin)m(t)g
-(and)f(mark)g(\(the)390 2034 y Fk(region)p Ft(\))c(is)f(displa)m(y)m
-(ed)h(in)f(the)g(terminal's)h(standout)f(mo)s(de)f(\(a)i
-Fk(face)5 b Ft(\).)40 b(This)24 b(is)g(called)h(b)m(y)f(v)-5
-b(arious)390 2144 y(Readline)28 b(functions)f(that)h(set)g(the)f(mark)g
-(and)g(insert)g(text,)j(and)c(is)i(a)m(v)-5 b(ailable)30
-b(for)d(applications)390 2253 y(to)k(call.)3350 2430
-y([F)-8 b(unction])-3599 b Fh(void)54 b(rl_deactivate_mark)c
-Fg(\()p Ff(v)m(oid)p Fg(\))390 2539 y Ft(T)-8 b(urn)29
-b(o\013)i(the)f(activ)m(e)j(mark.)3350 2716 y([F)-8 b(unction])-3599
-b Fh(void)54 b(rl_keep_mark_active)d Fg(\()p Ff(v)m(oid)p
-Fg(\))390 2825 y Ft(Indicate)45 b(that)g(the)g(mark)f(should)g(remain)g
-(activ)m(e)j(when)c(the)i(curren)m(t)f(Readline)h(function)390
-2935 y(completes)28 b(and)e(after)h(redispla)m(y)g(o)s(ccurs.)40
-b(In)26 b(most)h(cases,)h(the)f(mark)g(remains)f(activ)m(e)j(for)e
-(only)390 3045 y(the)k(duration)f(of)g(a)h(single)g(bindable)f
-(Readline)h(function.)3350 3221 y([F)-8 b(unction])-3599
-b Fh(int)53 b(rl_mark_active_p)e Fg(\()p Ff(v)m(oid)p
-Fg(\))390 3331 y Ft(Return)30 b(a)g(non-zero)h(v)-5 b(alue)31
-b(if)f(the)h(mark)f(is)h(curren)m(tly)f(activ)m(e;)j(zero)e(otherwise.)
-150 3525 y Fi(2.4.12)63 b(Alternate)40 b(In)m(terface)150
-3672 y Ft(An)21 b(alternate)j(in)m(terface)f(is)f(a)m(v)-5
-b(ailable)24 b(to)e(plain)g Fs(readline\(\))p Ft(.)35
-b(Some)21 b(applications)i(need)f(to)g(in)m(terlea)m(v)m(e)150
-3781 y(k)m(eyb)s(oard)35 b(I/O)h(with)f(\014le,)i(device,)h(or)e(windo)
-m(w)f(system)g(I/O,)h(t)m(ypically)i(b)m(y)d(using)g(a)h(main)g(lo)s
-(op)f(to)150 3891 y Fs(select\(\))40 b Ft(on)i(v)-5 b(arious)42
-b(\014le)g(descriptors.)76 b(T)-8 b(o)43 b(accommo)s(date)h(this)e
-(need,)j(Readline)e(can)f(also)i(b)s(e)150 4001 y(in)m(v)m(ok)m(ed)33
-b(as)e(a)h(`callbac)m(k')h(function)e(from)g(an)g(ev)m(en)m(t)h(lo)s
-(op.)44 b(There)30 b(are)i(functions)f(a)m(v)-5 b(ailable)33
-b(to)f(mak)m(e)150 4110 y(this)e(easy)-8 b(.)3350 4287
-y([F)g(unction])-3599 b Fh(void)54 b(rl_callback_handler_inst)q(all)e
-Fg(\()p Ff(const)34 b(c)m(har)g(*prompt,)565 4396 y(rl)p
-639 4396 30 5 v 44 w(v)m(cpfunc)p 1016 4396 V 45 w(t)f(*lhandler)p
-Fg(\))390 4506 y Ft(Set)23 b(up)e(the)i(terminal)g(for)f(Readline)h
-(I/O)g(and)f(displa)m(y)h(the)f(initial)i(expanded)e(v)-5
-b(alue)23 b(of)g Fk(prompt)p Ft(.)390 4615 y(Sa)m(v)m(e)34
-b(the)f(v)-5 b(alue)33 b(of)g Fk(lhandler)39 b Ft(to)34
-b(use)e(as)h(a)g(handler)f(function)h(to)g(call)h(when)e(a)h(complete)i
-(line)390 4725 y(of)h(input)f(has)g(b)s(een)g(en)m(tered.)57
-b(The)35 b(handler)g(function)g(receiv)m(es)j(the)e(text)g(of)g(the)g
-(line)g(as)g(an)390 4835 y(argumen)m(t.)k(As)29 b(with)f
-Fs(readline\(\))p Ft(,)e(the)j(handler)e(function)h(should)g
-Fs(free)f Ft(the)h(line)h(when)e(it)i(it)390 4944 y(\014nished)g(with)h
-(it.)3350 5121 y([F)-8 b(unction])-3599 b Fh(void)54
+(erasing)g(a)f(line.)38 b(Readline)390 2047 y(do)s(es)21
+b(not)h(fetc)m(h)h(or)e(use)h(all)g(of)g(a)g(terminal's)g
+(capabilities,)k(and)21 b(this)h(function)f(will)h(return)f(v)-5
+b(alues)390 2157 y(for)30 b(only)h(those)g(capabilities)h(Readline)f
+(fetc)m(hes.)3350 2338 y([F)-8 b(unction])-3599 b Fh(void)54
+b(rl_reparse_colors)c Fg(\()p Ff(v)m(oid)p Fg(\))390
+2447 y Ft(Read)31 b(or)f(re-read)h(color)g(de\014nitions)f(from)g
+Fs(LS_COLORS)p Ft(.)3350 2628 y([F)-8 b(unction])-3599
+b Fh(void)54 b(rl_clear_history)c Fg(\()p Ff(v)m(oid)p
+Fg(\))390 2738 y Ft(Clear)27 b(the)h(history)f(list)h(b)m(y)f(deleting)
+h(all)g(of)f(the)h(en)m(tries,)h(in)d(the)i(same)f(manner)g(as)g(the)g
+(History)390 2848 y(library's)42 b Fs(clear_history\(\))d
+Ft(function.)78 b(This)42 b(di\013ers)g(from)g Fs(clear_history)e
+Ft(b)s(ecause)i(it)390 2957 y(frees)30 b(priv)-5 b(ate)31
+b(data)g(Readline)g(sa)m(v)m(es)h(in)e(the)h(history)f(list.)3350
+3138 y([F)-8 b(unction])-3599 b Fh(void)54 b(rl_activate_mark)c
+Fg(\()p Ff(v)m(oid)p Fg(\))390 3248 y Ft(Enable)40 b(an)g
+Fj(active)46 b Ft(region.)70 b(When)40 b(this)g(is)g(enabled,)i(the)e
+(text)h(b)s(et)m(w)m(een)g(p)s(oin)m(t)f(and)f(mark)390
+3357 y(\(the)26 b Fk(region)p Ft(\))h(is)f(displa)m(y)m(ed)h(using)e
+(the)h(color)h(sp)s(eci\014ed)e(b)m(y)h(the)g(v)-5 b(alue)27
+b(of)f(the)g Fs(active-region-)390 3467 y(start-color)37
+b Ft(v)-5 b(ariable)40 b(\(a)h Fk(face)5 b Ft(\).)71
+b(The)39 b(default)h(face)h(is)f(the)g(terminal's)g(standout)g(mo)s
+(de.)390 3576 y(This)29 b(is)g(called)i(b)m(y)e(v)-5
+b(arious)29 b(Readline)h(functions)f(that)h(set)g(the)g(mark)f(and)g
+(insert)g(text,)i(and)e(is)390 3686 y(a)m(v)-5 b(ailable)33
+b(for)d(applications)h(to)h(call.)3350 3867 y([F)-8 b(unction])-3599
+b Fh(void)54 b(rl_deactivate_mark)c Fg(\()p Ff(v)m(oid)p
+Fg(\))390 3977 y Ft(T)-8 b(urn)29 b(o\013)i(the)f(activ)m(e)j(region.)
+3350 4158 y([F)-8 b(unction])-3599 b Fh(void)54 b(rl_keep_mark_active)d
+Fg(\()p Ff(v)m(oid)p Fg(\))390 4267 y Ft(Indicate)45
+b(that)g(the)g(mark)f(should)g(remain)g(activ)m(e)j(when)c(the)i
+(curren)m(t)f(Readline)h(function)390 4377 y(completes)28
+b(and)e(after)h(redispla)m(y)g(o)s(ccurs.)40 b(In)26
+b(most)h(cases,)h(the)f(mark)g(remains)f(activ)m(e)j(for)e(only)390
+4486 y(the)k(duration)f(of)g(a)h(single)g(bindable)f(Readline)h
+(function.)3350 4667 y([F)-8 b(unction])-3599 b Fh(int)53
+b(rl_mark_active_p)e Fg(\()p Ff(v)m(oid)p Fg(\))390 4777
+y Ft(Return)30 b(a)g(non-zero)h(v)-5 b(alue)31 b(if)f(the)h(mark)f(is)h
+(curren)m(tly)f(activ)m(e;)j(zero)e(otherwise.)150 4974
+y Fi(2.4.12)63 b(Alternate)40 b(In)m(terface)150 5121
+y Ft(F)-8 b(or)39 b(applications)h(that)g(need)e(more)h(gran)m(ular)g
+(con)m(trol)h(than)e(plain)h Fs(readline\(\))d Ft(pro)m(vides,)41
+b(there)150 5230 y(is)j(an)g(alternate)i(in)m(terface.)83
+b(Some)44 b(applications)h(need)f(to)h(in)m(terlea)m(v)m(e)i(k)m(eyb)s
+(oard)d(I/O)g(with)g(\014le,)150 5340 y(device,)34 b(or)f(windo)m(w)f
+(system)h(I/O,)g(t)m(ypically)i(b)m(y)e(using)f(a)h(main)g(lo)s(op)f
+(to)i Fs(select\(\))c Ft(on)j(v)-5 b(arious)33 b(\014le)p
+eop end
+%%Page: 48 52
+TeXDict begin 48 51 bop 150 -116 a Ft(Chapter)30 b(2:)41
+b(Programming)30 b(with)g(GNU)h(Readline)1683 b(48)150
+299 y(descriptors.)62 b(T)-8 b(o)38 b(accommo)s(date)i(this)d(use)g
+(case,)k(Readline)d(can)g(also)h(b)s(e)e(in)m(v)m(ok)m(ed)i(as)e(a)h
+(`callbac)m(k')150 408 y(function)30 b(from)g(an)g(ev)m(en)m(t)i(lo)s
+(op.)41 b(There)30 b(are)h(functions)f(a)m(v)-5 b(ailable)32
+b(to)f(mak)m(e)h(this)e(easy)-8 b(.)3350 590 y([F)g(unction])-3599
+b Fh(void)54 b(rl_callback_handler_inst)q(all)e Fg(\()p
+Ff(const)34 b(c)m(har)g(*prompt,)565 700 y(rl)p 639 700
+30 5 v 44 w(v)m(cpfunc)p 1016 700 V 45 w(t)f(*line)p
+1338 700 V 44 w(handler)p Fg(\))390 809 y Ft(Set)23 b(up)e(the)i
+(terminal)g(for)f(Readline)h(I/O)g(and)f(displa)m(y)h(the)f(initial)i
+(expanded)e(v)-5 b(alue)23 b(of)g Fk(prompt)p Ft(.)390
+919 y(Sa)m(v)m(e)35 b(the)f(v)-5 b(alue)35 b(of)f Fk(line)p
+1256 919 28 4 v 40 w(handler)40 b Ft(to)35 b(use)f(as)g(a)g(handler)f
+(function)h(to)h(call)g(when)e(a)h(complete)390 1029
+y(line)f(of)g(input)g(has)f(b)s(een)h(en)m(tered.)49
+b(The)32 b(handler)g(function)h(receiv)m(es)i(the)e(text)h(of)f(the)g
+(line)h(as)390 1138 y(an)e(argumen)m(t.)48 b(As)33 b(with)f
+Fs(readline\(\))p Ft(,)f(the)h(handler)g(function)g(should)g
+Fs(free)f Ft(the)i(line)g(when)390 1248 y(it)e(it)g(\014nished)e(with)h
+(it.)3350 1430 y([F)-8 b(unction])-3599 b Fh(void)54
 b(rl_callback_read_char)d Fg(\()p Ff(v)m(oid)p Fg(\))390
-5230 y Ft(Whenev)m(er)34 b(an)g(application)h(determines)e(that)i(k)m
+1539 y Ft(Whenev)m(er)34 b(an)g(application)h(determines)e(that)i(k)m
 (eyb)s(oard)e(input)g(is)h(a)m(v)-5 b(ailable,)37 b(it)d(should)f(call)
-390 5340 y Fs(rl_callback_read_char\(\))p Ft(,)17 b(whic)m(h)22
+390 1649 y Fs(rl_callback_read_char\(\))p Ft(,)17 b(whic)m(h)22
 b(will)g(read)f(the)h(next)g(c)m(haracter)h(from)f(the)f(curren)m(t)h
-(input)p eop end
-%%Page: 48 52
-TeXDict begin 48 51 bop 150 -116 a Ft(Chapter)30 b(2:)41
-b(Programming)30 b(with)g(GNU)h(Readline)1683 b(48)390
-299 y(source.)40 b(If)27 b(that)i(c)m(haracter)g(completes)h(the)e
-(line,)h Fs(rl_callback_read_char)22 b Ft(will)28 b(in)m(v)m(ok)m(e)i
-(the)390 408 y Fk(lhandler)47 b Ft(function)40 b(installed)i(b)m(y)e
-Fs(rl_callback_handler_insta)o(ll)35 b Ft(to)41 b(pro)s(cess)f(the)h
-(line.)390 518 y(Before)j(calling)h(the)e Fk(lhandler)49
-b Ft(function,)e(the)c(terminal)h(settings)g(are)g(reset)f(to)h(the)g
-(v)-5 b(alues)390 628 y(they)44 b(had)e(b)s(efore)h(calling)i
-Fs(rl_callback_handler_insta)o(ll)p Ft(.)73 b(If)43 b(the)h
-Fk(lhandler)49 b Ft(function)390 737 y(returns,)27 b(and)h(the)g(line)g
-(handler)f(remains)h(installed,)i(the)e(terminal)g(settings)h(are)f(mo)
-s(di\014ed)f(for)390 847 y(Readline's)k(use)f(again.)42
-b Fs(EOF)29 b Ft(is)i(indicated)g(b)m(y)f(calling)i Fk(lhandler)k
-Ft(with)30 b(a)h Fs(NULL)e Ft(line.)3350 1040 y([F)-8
-b(unction])-3599 b Fh(void)54 b(rl_callback_sigcleanup)e
-Fg(\()p Ff(v)m(oid)p Fg(\))390 1150 y Ft(Clean)26 b(up)e(an)m(y)i(in)m
-(ternal)g(state)h(the)e(callbac)m(k)j(in)m(terface)f(uses)e(to)h(main)m
-(tain)g(state)h(b)s(et)m(w)m(een)f(calls)390 1259 y(to)35
-b(rl)p 572 1259 28 4 v 40 w(callbac)m(k)p 928 1259 V
-42 w(read)p 1142 1259 V 40 w(c)m(har)f(\(e.g.,)j(the)e(state)g(of)f(an)
-m(y)h(activ)m(e)h(incremen)m(tal)f(searc)m(hes\).)54
-b(This)33 b(is)390 1369 y(in)m(tended)f(to)h(b)s(e)e(used)g(b)m(y)h
-(applications)h(that)g(wish)e(to)i(p)s(erform)d(their)j(o)m(wn)f
-(signal)g(handling;)390 1479 y(Readline's)f(in)m(ternal)g(signal)g
-(handler)f(calls)h(this)g(when)e(appropriate.)3350 1672
-y([F)-8 b(unction])-3599 b Fh(void)54 b(rl_callback_handler_remo)q(ve)e
-Fg(\()p Ff(v)m(oid)p Fg(\))390 1782 y Ft(Restore)37 b(the)f(terminal)g
-(to)g(its)h(initial)g(state)g(and)e(remo)m(v)m(e)i(the)f(line)g
-(handler.)56 b(Y)-8 b(ou)36 b(ma)m(y)h(call)390 1891
-y(this)25 b(function)g(from)g(within)g(a)h(callbac)m(k)i(as)d(w)m(ell)i
-(as)f(indep)s(enden)m(tly)-8 b(.)38 b(If)25 b(the)h Fk(lhandler)31
-b Ft(installed)390 2001 y(b)m(y)25 b Fs(rl_callback_handler_insta)o(ll)
-19 b Ft(do)s(es)25 b(not)h(exit)g(the)g(program,)g(either)g(this)f
-(function)g(or)390 2110 y(the)32 b(function)f(referred)f(to)i(b)m(y)g
-(the)f(v)-5 b(alue)32 b(of)g Fs(rl_deprep_term_function)25
-b Ft(should)30 b(b)s(e)h(called)390 2220 y(b)s(efore)f(the)h(program)f
-(exits)h(to)g(reset)g(the)f(terminal)h(settings.)150
-2424 y Fi(2.4.13)63 b(A)41 b(Readline)f(Example)150 2571
+(input)390 1758 y(source.)40 b(If)27 b(that)i(c)m(haracter)g(completes)
+h(the)e(line,)h Fs(rl_callback_read_char)22 b Ft(will)28
+b(in)m(v)m(ok)m(e)i(the)390 1868 y Fk(line)p 537 1868
+V 40 w(handler)d Ft(function)21 b(installed)h(b)m(y)f
+Fs(rl_callback_handler_instal)o(l)15 b Ft(to)22 b(pro)s(cess)f(the)g
+(line.)390 1978 y(Before)32 b(calling)h(the)f Fk(line)p
+1269 1978 V 41 w(handler)37 b Ft(function,)31 b(Readline)h(resets)g
+(the)g(terminal)g(settings)h(to)f(the)390 2087 y(v)-5
+b(alues)37 b(they)f(had)g(b)s(efore)g(calling)h Fs
+(rl_callback_handler_instal)o(l)p Ft(.)53 b(If)35 b(the)i
+Fk(line)p 3411 2087 V 40 w(handler)390 2197 y Ft(function)f(returns,)i
+(and)e(the)h(line)g(handler)f(remains)g(installed,)j(Readline)f(mo)s
+(di\014es)d(the)i(ter-)390 2306 y(minal)31 b(settings)h(for)f(its)g
+(use)g(again.)43 b Fs(EOF)30 b Ft(is)h(indicated)h(b)m(y)f(calling)h
+Fk(line)p 2905 2306 V 40 w(handler)37 b Ft(with)31 b(a)g
+Fs(NULL)390 2416 y Ft(line.)3350 2598 y([F)-8 b(unction])-3599
+b Fh(void)54 b(rl_callback_sigcleanup)e Fg(\()p Ff(v)m(oid)p
+Fg(\))390 2707 y Ft(Clean)26 b(up)e(an)m(y)i(in)m(ternal)g(state)h(the)
+e(callbac)m(k)j(in)m(terface)f(uses)e(to)h(main)m(tain)g(state)h(b)s
+(et)m(w)m(een)f(calls)390 2817 y(to)35 b(rl)p 572 2817
+V 40 w(callbac)m(k)p 928 2817 V 42 w(read)p 1142 2817
+V 40 w(c)m(har)f(\(e.g.,)j(the)e(state)g(of)f(an)m(y)h(activ)m(e)h
+(incremen)m(tal)f(searc)m(hes\).)54 b(This)33 b(is)390
+2927 y(in)m(tended)f(to)h(b)s(e)e(used)g(b)m(y)h(applications)h(that)g
+(wish)e(to)i(p)s(erform)d(their)j(o)m(wn)f(signal)g(handling;)390
+3036 y(Readline's)f(in)m(ternal)g(signal)g(handler)f(calls)h(this)g
+(when)e(appropriate.)3350 3218 y([F)-8 b(unction])-3599
+b Fh(void)54 b(rl_callback_handler_remo)q(ve)e Fg(\()p
+Ff(v)m(oid)p Fg(\))390 3328 y Ft(Restore)25 b(the)f(terminal)h(to)f
+(its)h(initial)g(state)g(and)f(remo)m(v)m(e)h(the)g(line)f(handler.)38
+b(Y)-8 b(ou)24 b(ma)m(y)h(call)g(this)390 3437 y(function)i(from)f
+(within)g(a)i(callbac)m(k)h(as)e(w)m(ell)h(as)f(indep)s(enden)m(tly)-8
+b(.)39 b(If)26 b(the)h Fk(line)p 3050 3437 V 41 w(handler)32
+b Ft(installed)390 3547 y(b)m(y)e Fs(rl_callback_handler_in)o(stal)o(l)
+24 b Ft(do)s(es)29 b(not)h(exit)g(the)g(program,)g(y)m(our)g(program)f
+(should)390 3656 y(call)i(either)f(this)g(function)g(or)g(the)g
+(function)f(referred)g(to)i(b)m(y)f(the)g(v)-5 b(alue)30
+b(of)g Fs(rl_deprep_term_)390 3766 y(function)e Ft(b)s(efore)i(the)h
+(program)f(exits)h(to)g(reset)g(the)g(terminal)f(settings.)150
+3963 y Fi(2.4.13)63 b(A)41 b(Readline)f(Example)150 4110
 y Ft(Here)34 b(is)g(a)g(function)g(whic)m(h)g(c)m(hanges)g(lo)m(w)m
 (ercase)j(c)m(haracters)e(to)f(their)g(upp)s(ercase)f(equiv)-5
-b(alen)m(ts,)37 b(and)150 2680 y(upp)s(ercase)d(c)m(haracters)j(to)f
+b(alen)m(ts,)37 b(and)150 4220 y(upp)s(ercase)d(c)m(haracters)j(to)f
 (lo)m(w)m(ercase.)58 b(If)35 b(this)g(function)g(w)m(as)h(b)s(ound)d
 (to)j(`)p Fs(M-c)p Ft(',)h(then)e(t)m(yping)g(`)p Fs(M-c)p
-Ft(')150 2790 y(w)m(ould)c(c)m(hange)i(the)f(case)g(of)g(the)g(c)m
+Ft(')150 4330 y(w)m(ould)c(c)m(hange)i(the)f(case)g(of)g(the)g(c)m
 (haracter)h(under)d(p)s(oin)m(t.)44 b(T)m(yping)31 b(`)p
 Fs(M-1)f(0)g(M-c)p Ft(')h(w)m(ould)g(c)m(hange)i(the)150
-2900 y(case)e(of)g(the)g(follo)m(wing)g(10)h(c)m(haracters,)g(lea)m
+4439 y(case)e(of)g(the)g(follo)m(wing)g(10)h(c)m(haracters,)g(lea)m
 (ving)g(the)e(cursor)g(on)g(the)h(last)g(c)m(haracter)h(c)m(hanged.)390
-3039 y Fs(/*)47 b(Invert)f(the)h(case)g(of)g(the)g(COUNT)f(following)g
-(characters.)e(*/)390 3148 y(int)390 3258 y(invert_case_line)f
-(\(count,)j(key\))629 3367 y(int)h(count,)f(key;)390
-3477 y({)485 3587 y(register)g(int)h(start,)f(end,)h(i;)485
-3806 y(start)g(=)g(rl_point;)485 4025 y(if)h(\(rl_point)d(>=)i
-(rl_end\))581 4134 y(return)f(\(0\);)485 4354 y(/*)i(Find)e(the)h(end)g
-(of)g(the)g(range)g(to)g(modify.)f(*/)485 4463 y(end)h(=)h(start)e(+)i
-(count;)485 4682 y(/*)g(Force)e(it)h(to)g(be)h(within)e(range.)g(*/)485
-4792 y(if)i(\(end)e(>)i(rl_end\))581 4902 y(end)f(=)g(rl_end;)485
-5011 y(else)g(if)g(\(end)g(<)g(0\))581 5121 y(end)g(=)g(0;)485
-5340 y(if)h(\(start)e(==)h(end\))p eop end
+4573 y Fs(/*)47 b(Invert)f(the)h(case)g(of)g(the)g(COUNT)f(following)g
+(characters.)e(*/)390 4682 y(int)390 4792 y(invert_case_line)f
+(\(count,)j(key\))629 4902 y(int)h(count,)f(key;)390
+5011 y({)485 5121 y(int)h(start,)f(end,)h(i;)485 5340
+y(start)g(=)g(rl_point;)p eop end
 %%Page: 49 53
 TeXDict begin 49 52 bop 150 -116 a Ft(Chapter)30 b(2:)41
-b(Programming)30 b(with)g(GNU)h(Readline)1683 b(49)581
-299 y Fs(return)46 b(\(0\);)485 518 y(/*)i(For)f(positive)e(arguments,)
-g(put)i(point)f(after)h(the)g(last)f(changed)g(character.)f(For)p
-4017 538 42 84 v 629 628 a(negative)g(arguments,)g(put)i(point)f
+b(Programming)30 b(with)g(GNU)h(Readline)1683 b(49)485
+408 y Fs(if)48 b(\(rl_point)d(>=)i(rl_end\))581 518 y(return)f(\(0\);)
+485 737 y(/*)i(Find)e(the)h(end)g(of)g(the)g(range)g(to)g(modify.)f(*/)
+485 847 y(end)h(=)h(start)e(+)i(count;)485 1066 y(/*)g(Force)e(it)h(to)
+g(be)h(within)e(range.)g(*/)485 1176 y(if)i(\(end)e(>)i(rl_end\))581
+1285 y(end)f(=)g(rl_end;)485 1395 y(else)g(if)g(\(end)g(<)g(0\))581
+1504 y(end)g(=)g(0;)485 1724 y(if)h(\(start)e(==)h(end\))581
+1833 y(return)f(\(0\);)485 2052 y(/*)i(For)f(positive)e(arguments,)g
+(put)i(point)f(after)h(the)g(last)f(changed)g(character.)f(For)p
+4017 2073 42 84 v 629 2162 a(negative)g(arguments,)g(put)i(point)f
 (before)h(the)f(last)h(changed)f(character.)f(*/)485
-737 y(rl_point)h(=)h(end;)485 956 y(/*)h(Swap)e(start)h(and)g(end)f(if)
-i(we)f(are)g(moving)f(backwards)f(*/)485 1066 y(if)j(\(start)e(>)h
-(end\))581 1176 y({)676 1285 y(int)g(temp)g(=)g(start;)676
-1395 y(start)g(=)g(end;)676 1504 y(end)g(=)h(temp;)581
-1614 y(})485 1833 y(/*)g(Tell)e(readline)g(that)g(we)i(are)f(modifying)
-e(the)i(line,)629 1943 y(so)g(it)g(will)g(save)f(the)h(undo)g
-(information.)d(*/)485 2052 y(rl_modifying)h(\(start,)h(end\);)485
-2271 y(for)h(\(i)h(=)f(start;)f(i)i(!=)f(end;)f(i++\))581
-2381 y({)676 2491 y(if)i(\(_rl_uppercase_p)43 b
-(\(rl_line_buffer[i]\)\))772 2600 y(rl_line_buffer[i])g(=)k
-(_rl_to_lower)e(\(rl_line_buffer[i]\);)676 2710 y(else)i(if)g
-(\(_rl_lowercase_p)d(\(rl_line_buffer[i]\)\))772 2819
+2271 y(rl_point)h(=)h(end;)485 2491 y(/*)h(Swap)e(start)h(and)g(end)f
+(if)i(we)f(are)g(moving)f(backwards)f(*/)485 2600 y(if)j(\(start)e(>)h
+(end\))581 2710 y({)676 2819 y(int)g(temp)g(=)g(start;)676
+2929 y(start)g(=)g(end;)676 3039 y(end)g(=)h(temp;)581
+3148 y(})485 3367 y(/*)g(Tell)e(readline)g(that)g(we)i(are)f(modifying)
+e(the)i(line,)629 3477 y(so)g(it)g(will)g(save)f(the)h(undo)g
+(information.)d(*/)485 3587 y(rl_modifying)h(\(start,)h(end\);)485
+3806 y(for)h(\(i)h(=)f(start;)f(i)i(!=)f(end;)f(i++\))581
+3915 y({)676 4025 y(if)i(\(_rl_uppercase_p)43 b
+(\(rl_line_buffer[i]\)\))772 4134 y(rl_line_buffer[i])g(=)k
+(_rl_to_lower)e(\(rl_line_buffer[i]\);)676 4244 y(else)i(if)g
+(\(_rl_lowercase_p)d(\(rl_line_buffer[i]\)\))772 4354
 y(rl_line_buffer[i])f(=)k(_rl_to_upper)e(\(rl_line_buffer[i]\);)581
-2929 y(})485 3148 y(return)i(\(0\);)390 3258 y(})150
-3491 y Fi(2.4.14)63 b(Alternate)40 b(In)m(terface)g(Example)150
-3638 y Ft(Here)f(is)g(a)g(complete)h(program)e(that)h(illustrates)h
-(Readline's)f(alternate)h(in)m(terface.)67 b(It)38 b(reads)h(lines)150
-3747 y(from)30 b(the)i(terminal)f(and)f(displa)m(ys)h(them,)h(pro)m
-(viding)f(the)g(standard)f(history)h(and)f(T)-8 b(AB)32
-b(completion)150 3857 y(functions.)40 b(It)31 b(understands)d(the)j
-(EOF)f(c)m(haracter)i(or)e Fs(")p Ft(exit)p Fs(")h Ft(to)g(exit)g(the)g
-(program.)390 4025 y Fs(/*)47 b(Standard)f(include)g(files.)g(stdio.h)f
-(is)j(required.)d(*/)390 4134 y(#include)h(<stdlib.h>)390
-4244 y(#include)g(<string.h>)390 4354 y(#include)g(<unistd.h>)390
-4573 y(/*)h(Used)g(for)g(select\(2\))e(*/)390 4682 y(#include)h
-(<sys/types.h>)390 4792 y(#include)g(<sys/select.h>)390
-5011 y(#include)g(<signal.h>)390 5230 y(#include)g(<errno.h>)390
-5340 y(#include)g(<stdio.h>)p eop end
+4463 y(})485 4682 y(return)i(\(0\);)390 4792 y(})p eop
+end
 %%Page: 50 54
 TeXDict begin 50 53 bop 150 -116 a Ft(Chapter)30 b(2:)41
-b(Programming)30 b(with)g(GNU)h(Readline)1683 b(50)390
-408 y Fs(#include)46 b(<locale.h>)390 628 y(/*)h(Standard)f(readline)f
-(include)h(files.)g(*/)390 737 y(#include)g(<readline/readline.h>)390
-847 y(#include)g(<readline/history.h>)390 1066 y(#if)h(!defined)e
-(\(errno\))390 1176 y(extern)h(int)h(errno;)390 1285
-y(#endif)390 1504 y(static)f(void)h(cb_linehandler)d(\(char)i(*\);)390
-1614 y(static)g(void)h(sighandler)e(\(int\);)390 1833
-y(int)i(running;)390 1943 y(int)g(sigwinch_received;)390
-2052 y(const)f(char)h(*prompt)f(=)h("rltest$)f(";)390
-2271 y(/*)h(Handle)f(SIGWINCH)g(and)h(window)f(size)g(changes)g(when)h
-(readline)e(is)j(not)f(active)f(and)p 3922 2292 42 84
-v 533 2381 a(reading)g(a)h(character.)e(*/)390 2491 y(static)h(void)390
-2600 y(sighandler)f(\(int)i(sig\))390 2710 y({)485 2819
-y(sigwinch_received)d(=)j(1;)390 2929 y(})390 3148 y(/*)g(Callback)f
+b(Programming)30 b(with)g(GNU)h(Readline)1683 b(50)150
+299 y Fi(2.4.14)63 b(Alternate)40 b(In)m(terface)g(Example)150
+446 y Ft(Here)f(is)g(a)g(complete)h(program)e(that)h(illustrates)h
+(Readline's)f(alternate)h(in)m(terface.)67 b(It)38 b(reads)h(lines)150
+555 y(from)30 b(the)i(terminal)f(and)f(displa)m(ys)h(them,)h(pro)m
+(viding)f(the)g(standard)f(history)h(and)f(T)-8 b(AB)32
+b(completion)150 665 y(functions.)40 b(It)31 b(understands)d(the)j(EOF)
+f(c)m(haracter)i(or)e Fs(")p Ft(exit)p Fs(")h Ft(to)g(exit)g(the)g
+(program.)390 847 y Fs(/*)47 b(Standard)f(include)g(files.)g(stdio.h)f
+(is)j(required.)d(*/)390 956 y(#include)h(<stdlib.h>)390
+1066 y(#include)g(<string.h>)390 1176 y(#include)g(<unistd.h>)390
+1395 y(/*)h(Used)g(for)g(select\(2\))e(*/)390 1504 y(#include)h
+(<sys/types.h>)390 1614 y(#include)g(<sys/select.h>)390
+1833 y(#include)g(<signal.h>)390 2052 y(#include)g(<errno.h>)390
+2162 y(#include)g(<stdio.h>)390 2381 y(#include)g(<locale.h>)390
+2600 y(/*)h(Standard)f(readline)f(include)h(files.)g(*/)390
+2710 y(#include)g(<readline/readline.h>)390 2819 y(#include)g
+(<readline/history.h>)390 3039 y(#if)h(!defined)e(\(errno\))390
+3148 y(extern)h(int)h(errno;)390 3258 y(#endif)390 3477
+y(static)f(void)h(cb_linehandler)d(\(char)i(*\);)390
+3587 y(static)g(void)h(sighandler)e(\(int\);)390 3806
+y(int)i(running;)390 3915 y(int)g(sigwinch_received;)390
+4025 y(const)f(char)h(*prompt)f(=)h("rltest$)f(";)390
+4244 y(/*)h(Handle)f(SIGWINCH)g(and)h(window)f(size)g(changes)g(when)h
+(readline)e(is)j(not)f(active)f(and)p 3922 4264 42 84
+v 533 4354 a(reading)g(a)h(character.)e(*/)390 4463 y(static)h(void)390
+4573 y(sighandler)f(\(int)i(sig\))390 4682 y({)485 4792
+y(sigwinch_received)d(=)j(1;)390 4902 y(})390 5121 y(/*)g(Callback)f
 (function)f(called)h(for)h(each)g(line)g(when)f(accept-line)f
-(executed,)g(EOF)533 3258 y(seen,)i(or)g(EOF)g(character)e(read.)94
+(executed,)g(EOF)533 5230 y(seen,)i(or)g(EOF)g(character)e(read.)94
 b(This)47 b(sets)f(a)i(flag)e(and)h(returns;)f(it)h(could)533
-3367 y(also)g(call)f(exit\(3\).)g(*/)390 3477 y(static)g(void)390
-3587 y(cb_linehandler)e(\(char)i(*line\))390 3696 y({)485
-3806 y(/*)i(Can)f(use)f(^D)i(\(stty)e(eof\))h(or)g(`exit')f(to)h(exit.)
-f(*/)485 3915 y(if)i(\(line)e(==)h(NULL)g(||)g(strcmp)f(\(line,)g
-("exit"\))g(==)h(0\))581 4025 y({)676 4134 y(if)h(\(line)e(==)h(0\))772
-4244 y(printf)f(\("\\n"\);)676 4354 y(printf)g(\("exit\\n"\);)676
-4463 y(/*)i(This)e(function)g(needs)g(to)h(be)g(called)g(to)g(reset)f
-(the)h(terminal)f(settings,)p 3874 4483 V 820 4573 a(and)g(calling)g
-(it)h(from)g(the)g(line)g(handler)e(keeps)i(one)g(extra)f(prompt)g
-(from)p 3874 4593 42 76 v 820 4682 a(being)g(displayed.)f(*/)676
-4792 y(rl_callback_handler_remove)c(\(\);)676 5011 y(running)46
-b(=)i(0;)581 5121 y(})485 5230 y(else)581 5340 y({)p
-eop end
+5340 y(also)g(call)f(exit\(3\).)g(*/)p eop end
 %%Page: 51 55
 TeXDict begin 51 54 bop 150 -116 a Ft(Chapter)30 b(2:)41
-b(Programming)30 b(with)g(GNU)h(Readline)1683 b(51)676
-299 y Fs(if)48 b(\(*line\))772 408 y(add_history)d(\(line\);)676
-518 y(printf)h(\("input)g(line:)h(\045s\\n",)f(line\);)676
-628 y(free)h(\(line\);)581 737 y(})390 847 y(})390 1066
-y(int)390 1176 y(main)g(\(int)f(c,)h(char)g(**v\))390
-1285 y({)485 1395 y(fd_set)g(fds;)485 1504 y(int)g(r;)485
-1724 y(/*)h(Set)f(the)f(default)g(locale)g(values)g(according)g(to)h
-(environment)e(variables.)g(*/)p 3874 1744 42 84 v 485
-1833 a(setlocale)h(\(LC_ALL,)f(""\);)485 2052 y(/*)j(Handle)e(window)g
+b(Programming)30 b(with)g(GNU)h(Readline)1683 b(51)390
+299 y Fs(static)46 b(void)390 408 y(cb_linehandler)e(\(char)i(*line\))
+390 518 y({)485 628 y(/*)i(Can)f(use)f(^D)i(\(stty)e(eof\))h(or)g
+(`exit')f(to)h(exit.)f(*/)485 737 y(if)i(\(line)e(==)h(NULL)g(||)g
+(strcmp)f(\(line,)g("exit"\))g(==)h(0\))581 847 y({)676
+956 y(if)h(\(line)e(==)h(0\))772 1066 y(printf)f(\("\\n"\);)676
+1176 y(printf)g(\("exit\\n"\);)676 1285 y(/*)i(This)e(function)g(needs)
+g(to)h(be)g(called)g(to)g(reset)f(the)h(terminal)f(settings,)p
+3874 1305 42 84 v 820 1395 a(and)g(calling)g(it)h(from)g(the)g(line)g
+(handler)e(keeps)i(one)g(extra)f(prompt)g(from)p 3874
+1415 42 76 v 820 1504 a(being)g(displayed.)f(*/)676 1614
+y(rl_callback_handler_remove)c(\(\);)676 1833 y(running)46
+b(=)i(0;)581 1943 y(})485 2052 y(else)581 2162 y({)676
+2271 y(if)g(\(*line\))772 2381 y(add_history)d(\(line\);)676
+2491 y(printf)h(\("input)g(line:)h(\045s\\n",)f(line\);)676
+2600 y(free)h(\(line\);)581 2710 y(})390 2819 y(})390
+3039 y(int)390 3148 y(main)g(\(int)f(c,)h(char)g(**v\))390
+3258 y({)485 3367 y(fd_set)g(fds;)485 3477 y(int)g(r;)485
+3696 y(/*)h(Set)f(the)f(default)g(locale)g(values)g(according)g(to)h
+(environment)e(variables.)g(*/)p 3874 3716 42 84 v 485
+3806 a(setlocale)h(\(LC_ALL,)f(""\);)485 4025 y(/*)j(Handle)e(window)g
 (size)g(changes)g(when)h(readline)e(is)j(not)f(active)f(and)h(reading)
-629 2162 y(characters.)d(*/)485 2271 y(signal)j(\(SIGWINCH,)e
-(sighandler\);)485 2491 y(/*)j(Install)d(the)i(line)g(handler.)f(*/)485
-2600 y(rl_callback_handler_instal)o(l)c(\(prompt,)j(cb_linehandler\);)
-485 2819 y(/*)j(Enter)e(a)h(simple)g(event)f(loop.)94
+629 4134 y(characters.)d(*/)485 4244 y(signal)j(\(SIGWINCH,)e
+(sighandler\);)485 4463 y(/*)j(Install)d(the)i(line)g(handler.)f(*/)485
+4573 y(rl_callback_handler_instal)o(l)c(\(prompt,)j(cb_linehandler\);)
+485 4792 y(/*)j(Enter)e(a)h(simple)g(event)f(loop.)94
 b(This)47 b(waits)f(until)g(something)g(is)h(available)629
-2929 y(to)g(read)f(on)i(readline's)d(input)h(stream)g(\(defaults)f(to)j
-(standard)d(input\))h(and)629 3039 y(calls)g(the)h(builtin)f(character)
+4902 y(to)g(read)f(on)i(readline's)d(input)h(stream)g(\(defaults)f(to)j
+(standard)d(input\))h(and)629 5011 y(calls)g(the)h(builtin)f(character)
 f(read)i(callback)e(to)i(read)g(it.)95 b(It)47 b(does)f(not)629
-3148 y(have)g(to)h(modify)g(the)f(user's)h(terminal)e(settings.)g(*/)
-485 3258 y(running)h(=)i(1;)485 3367 y(while)f(\(running\))581
-3477 y({)676 3587 y(FD_ZERO)f(\(&fds\);)676 3696 y(FD_SET)g(\(fileno)g
-(\(rl_instream\),)e(&fds\);)676 3915 y(r)k(=)f(select)f(\(FD_SETSIZE,)f
-(&fds,)h(NULL,)h(NULL,)f(NULL\);)676 4025 y(if)i(\(r)f(<)g(0)h(&&)f
-(errno)f(!=)h(EINTR\))772 4134 y({)867 4244 y(perror)f(\("rltest:)g
-(select"\);)867 4354 y(rl_callback_handler_remov)o(e)c(\(\);)867
-4463 y(break;)772 4573 y(})676 4682 y(if)48 b(\(sigwinch_received\))390
-4792 y({)485 4902 y(rl_resize_terminal)43 b(\(\);)485
-5011 y(sigwinch_received)h(=)j(0;)390 5121 y(})676 5230
-y(if)h(\(r)f(<)g(0\))390 5340 y(continue;)p eop end
+5121 y(have)g(to)h(modify)g(the)f(user's)h(terminal)e(settings.)g(*/)
+485 5230 y(running)h(=)i(1;)485 5340 y(while)f(\(running\))p
+eop end
 %%Page: 52 56
 TeXDict begin 52 55 bop 150 -116 a Ft(Chapter)30 b(2:)41
-b(Programming)30 b(with)g(GNU)h(Readline)1683 b(52)676
-408 y Fs(if)48 b(\(FD_ISSET)d(\(fileno)h(\(rl_instream\),)e(&fds\)\))
-772 518 y(rl_callback_read_char)e(\(\);)581 628 y(})485
-847 y(printf)47 b(\("rltest:)e(Event)h(loop)h(has)g(exited\\n"\);)485
-956 y(return)g(0;)390 1066 y(})150 1320 y Fr(2.5)68 b(Readline)47
-b(Signal)e(Handling)150 1479 y Ft(Signals)31 b(are)f(async)m(hronous)g
-(ev)m(en)m(ts)i(sen)m(t)f(to)g(a)g(pro)s(cess)f(b)m(y)h(the)f(Unix)g(k)
-m(ernel,)i(sometimes)f(on)g(b)s(ehalf)150 1589 y(of)24
-b(another)f(pro)s(cess.)38 b(They)23 b(are)h(in)m(tended)f(to)h
-(indicate)h(exceptional)g(ev)m(en)m(ts,)i(lik)m(e)d(a)g(user)f
-(pressing)g(the)150 1698 y(terminal's)33 b(in)m(terrupt)f(k)m(ey)-8
+b(Programming)30 b(with)g(GNU)h(Readline)1683 b(52)581
+299 y Fs({)676 408 y(FD_ZERO)46 b(\(&fds\);)676 518 y(FD_SET)g
+(\(fileno)g(\(rl_instream\),)e(&fds\);)676 737 y(r)k(=)f(select)f
+(\(FD_SETSIZE,)f(&fds,)h(NULL,)h(NULL,)f(NULL\);)676
+847 y(if)i(\(r)f(<)g(0)h(&&)f(errno)f(!=)h(EINTR\))772
+956 y({)867 1066 y(perror)f(\("rltest:)g(select"\);)867
+1176 y(rl_callback_handler_remov)o(e)c(\(\);)867 1285
+y(break;)772 1395 y(})676 1504 y(if)48 b(\(sigwinch_received\))390
+1614 y({)485 1724 y(rl_resize_terminal)43 b(\(\);)485
+1833 y(sigwinch_received)h(=)j(0;)390 1943 y(})676 2052
+y(if)h(\(r)f(<)g(0\))390 2162 y(continue;)676 2381 y(if)h(\(FD_ISSET)d
+(\(fileno)h(\(rl_instream\),)e(&fds\)\))772 2491 y
+(rl_callback_read_char)e(\(\);)581 2600 y(})485 2819
+y(printf)47 b(\("rltest:)e(Event)h(loop)h(has)g(exited\\n"\);)485
+2929 y(return)g(0;)390 3039 y(})150 3274 y Fr(2.5)68
+b(Readline)47 b(Signal)e(Handling)150 3433 y Ft(Signals)31
+b(are)f(async)m(hronous)g(ev)m(en)m(ts)i(sen)m(t)f(to)g(a)g(pro)s(cess)
+f(b)m(y)h(the)f(Unix)g(k)m(ernel,)i(sometimes)f(on)g(b)s(ehalf)150
+3543 y(of)24 b(another)f(pro)s(cess.)38 b(They)23 b(are)h(in)m(tended)f
+(to)h(indicate)h(exceptional)g(ev)m(en)m(ts,)i(lik)m(e)d(a)g(user)f
+(pressing)g(the)150 3652 y(terminal's)33 b(in)m(terrupt)f(k)m(ey)-8
 b(,)34 b(or)e(a)g(net)m(w)m(ork)h(connection)h(b)s(eing)e(brok)m(en.)46
-b(There)31 b(is)h(a)h(class)g(of)f(signals)150 1808 y(that)f(can)g(b)s
+b(There)31 b(is)h(a)h(class)g(of)f(signals)150 3762 y(that)f(can)g(b)s
 (e)e(sen)m(t)i(to)g(the)g(pro)s(cess)f(curren)m(tly)g(reading)h(input)e
 (from)h(the)g(k)m(eyb)s(oard.)41 b(Since)30 b(Readline)150
-1918 y(c)m(hanges)41 b(the)e(terminal)i(attributes)f(when)f(it)h(is)f
+3871 y(c)m(hanges)41 b(the)e(terminal)i(attributes)f(when)f(it)h(is)f
 (called,)44 b(it)c(needs)f(to)i(p)s(erform)d(sp)s(ecial)i(pro)s
-(cessing)150 2027 y(when)33 b(suc)m(h)h(a)h(signal)g(is)f(receiv)m(ed)i
+(cessing)150 3981 y(when)33 b(suc)m(h)h(a)h(signal)g(is)f(receiv)m(ed)i
 (in)e(order)g(to)h(restore)f(the)h(terminal)g(to)g(a)f(sane)h(state,)i
-(or)d(pro)m(vide)150 2137 y(application)e(writers)e(with)g(functions)g
-(to)h(do)f(so)h(man)m(ually)-8 b(.)275 2280 y(Readline)40
-b(con)m(tains)i(an)e(in)m(ternal)h(signal)g(handler)f(that)h(is)f
-(installed)h(for)f(a)h(n)m(um)m(b)s(er)e(of)h(signals)150
-2390 y(\()p Fs(SIGINT)p Ft(,)e Fs(SIGQUIT)p Ft(,)f Fs(SIGTERM)p
+(or)d(pro)m(vide)150 4090 y(applications)e(using)d(Readline)i(with)g
+(functions)e(to)j(do)e(so)g(man)m(ually)-8 b(.)275 4222
+y(Readline)40 b(con)m(tains)i(an)e(in)m(ternal)h(signal)g(handler)f
+(that)h(is)f(installed)h(for)f(a)h(n)m(um)m(b)s(er)e(of)h(signals)150
+4332 y(\()p Fs(SIGINT)p Ft(,)e Fs(SIGQUIT)p Ft(,)f Fs(SIGTERM)p
 Ft(,)g Fs(SIGHUP)p Ft(,)g Fs(SIGALRM)p Ft(,)g Fs(SIGTSTP)p
 Ft(,)g Fs(SIGTTIN)p Ft(,)g(and)g Fs(SIGTTOU)p Ft(\).)59
-b(When)150 2499 y(one)27 b(of)g(these)g(signals)g(is)g(receiv)m(ed,)i
-(the)e(signal)g(handler)f(will)h(reset)h(the)e(terminal)i(attributes)f
-(to)g(those)150 2609 y(that)33 b(w)m(ere)g(in)f(e\013ect)h(b)s(efore)f
-Fs(readline\(\))e Ft(w)m(as)i(called,)j(reset)d(the)h(signal)g
-(handling)f(to)h(what)f(it)h(w)m(as)150 2718 y(b)s(efore)26
-b Fs(readline\(\))e Ft(w)m(as)j(called,)i(and)d(resend)g(the)h(signal)g
-(to)h(the)f(calling)h(application.)41 b(If)26 b(and)g(when)150
-2828 y(the)34 b(calling)i(application's)f(signal)g(handler)e(returns,)h
-(Readline)g(will)h(reinitialize)h(the)e(terminal)h(and)150
-2938 y(con)m(tin)m(ue)29 b(to)g(accept)h(input.)39 b(When)28
-b(a)h Fs(SIGINT)d Ft(is)j(receiv)m(ed,)h(the)e(Readline)h(signal)g
-(handler)f(p)s(erforms)150 3047 y(some)39 b(additional)h(w)m(ork,)h
-(whic)m(h)d(will)h(cause)g(an)m(y)h(partially-en)m(tered)g(line)f(to)h
-(b)s(e)e(ab)s(orted)g(\(see)i(the)150 3157 y(description)30
-b(of)h Fs(rl_free_line_state\(\))25 b Ft(b)s(elo)m(w\).)275
-3300 y(There)e(is)i(an)f(additional)h(Readline)g(signal)g(handler,)g
+b(When)150 4441 y(Readline)33 b(receiv)m(es)h(one)f(of)f(these)h
+(signals,)g(the)g(signal)g(handler)e(will)i(reset)g(the)g(terminal)f
+(attributes)150 4551 y(to)27 b(those)h(that)f(w)m(ere)g(in)g(e\013ect)h
+(b)s(efore)e Fs(readline\(\))e Ft(w)m(as)j(called,)i(reset)e(the)g
+(signal)h(handling)e(to)h(what)150 4660 y(it)e(w)m(as)h(b)s(efore)e
+Fs(readline\(\))e Ft(w)m(as)k(called,)h(and)e(resend)f(the)h(signal)h
+(to)f(the)g(calling)i(application.)40 b(If)25 b(and)150
+4770 y(when)j(the)g(calling)i(application's)g(signal)f(handler)f
+(returns,)g(Readline)h(will)g(reinitialize)i(the)d(terminal)150
+4880 y(and)41 b(con)m(tin)m(ue)j(to)e(accept)i(input.)74
+b(When)42 b(a)h Fs(SIGINT)d Ft(is)i(receiv)m(ed,)k(the)c(Readline)h
+(signal)g(handler)150 4989 y(p)s(erforms)34 b(some)j(additional)g(w)m
+(ork,)h(whic)m(h)d(will)i(cause)f(an)m(y)h(partially-en)m(tered)h(line)
+e(to)h(b)s(e)e(ab)s(orted)150 5099 y(\(see)c(the)g(description)f(of)h
+Fs(rl_free_line_state\(\))25 b Ft(b)s(elo)m(w\).)275
+5230 y(There)e(is)i(an)f(additional)h(Readline)g(signal)g(handler,)g
 (for)f Fs(SIGWINCH)p Ft(,)g(whic)m(h)g(the)g(k)m(ernel)h(sends)e(to)j
-(a)150 3410 y(pro)s(cess)i(whenev)m(er)h(the)g(terminal's)g(size)h(c)m
+(a)150 5340 y(pro)s(cess)i(whenev)m(er)h(the)g(terminal's)g(size)h(c)m
 (hanges)g(\(for)f(example,)h(if)f(a)g(user)f(resizes)i(an)e
-Fs(xterm)p Ft(\).)39 b(The)150 3519 y(Readline)d Fs(SIGWINCH)e
-Ft(handler)g(up)s(dates)h(Readline's)h(in)m(ternal)h(screen)e(size)i
-(information,)g(and)e(then)150 3629 y(calls)g(an)m(y)f
-Fs(SIGWINCH)e Ft(signal)i(handler)f(the)h(calling)h(application)g(has)f
-(installed.)51 b(Readline)35 b(calls)g(the)150 3738 y(application's)i
-Fs(SIGWINCH)c Ft(signal)i(handler)g(without)g(resetting)h(the)g
-(terminal)f(to)h(its)g(original)g(state.)150 3848 y(If)31
-b(the)i(application's)g(signal)g(handler)e(do)s(es)g(more)h(than)g(up)s
-(date)f(its)i(idea)f(of)g(the)g(terminal)h(size)g(and)150
-3958 y(return)28 b(\(for)i(example,)h(a)f Fs(longjmp)d
-Ft(bac)m(k)k(to)f(a)g(main)g(pro)s(cessing)f(lo)s(op\),)h(it)g
-Fj(must)39 b Ft(call)31 b Fs(rl_cleanup_)150 4067 y(after_signal\(\))26
-b Ft(\(describ)s(ed)k(b)s(elo)m(w\),)h(to)g(restore)g(the)g(terminal)g
-(state.)275 4210 y(When)38 b(an)h(application)h(is)f(using)g(the)g
-(callbac)m(k)i(in)m(terface)f(\(see)g(Section)g(2.4.12)h([Alternate)f
-(In-)150 4320 y(terface],)48 b(page)c(47\),)j(Readline)c(installs)h
-(signal)g(handlers)e(only)h(for)f(the)h(duration)g(of)g(the)g(call)h
-(to)150 4430 y Fs(rl_callback_read_char)p Ft(.)c(Applications)33
+Fs(xterm)p Ft(\).)39 b(The)p eop end
+%%Page: 53 57
+TeXDict begin 53 56 bop 150 -116 a Ft(Chapter)30 b(2:)41
+b(Programming)30 b(with)g(GNU)h(Readline)1683 b(53)150
+299 y(Readline)36 b Fs(SIGWINCH)e Ft(handler)g(up)s(dates)h(Readline's)
+h(in)m(ternal)h(screen)e(size)i(information,)g(and)e(then)150
+408 y(calls)g(an)m(y)f Fs(SIGWINCH)e Ft(signal)i(handler)f(the)h
+(calling)h(application)g(has)f(installed.)51 b(Readline)35
+b(calls)g(the)150 518 y(application's)i Fs(SIGWINCH)c
+Ft(signal)i(handler)g(without)g(resetting)h(the)g(terminal)f(to)h(its)g
+(original)g(state.)150 628 y(If)31 b(the)i(application's)g(signal)g
+(handler)e(do)s(es)g(more)h(than)g(up)s(date)f(its)i(idea)f(of)g(the)g
+(terminal)h(size)g(and)150 737 y(return)28 b(\(for)i(example,)h(a)f
+Fs(longjmp)d Ft(bac)m(k)k(to)f(a)g(main)g(pro)s(cessing)f(lo)s(op\),)h
+(it)g Fj(must)39 b Ft(call)31 b Fs(rl_cleanup_)150 847
+y(after_signal\(\))26 b Ft(\(describ)s(ed)k(b)s(elo)m(w\),)h(to)g
+(restore)g(the)g(terminal)g(state.)275 979 y(When)38
+b(an)h(application)h(is)f(using)g(the)g(callbac)m(k)i(in)m(terface)f
+(\(see)g(Section)g(2.4.12)h([Alternate)f(In-)150 1089
+y(terface],)48 b(page)c(47\),)j(Readline)c(installs)h(signal)g
+(handlers)e(only)h(for)f(the)h(duration)g(of)g(the)g(call)h(to)150
+1199 y Fs(rl_callback_read_char)p Ft(.)c(Applications)33
 b(using)f(the)g(callbac)m(k)j(in)m(terface)e(should)f(b)s(e)f(prepared)
-g(to)150 4539 y(clean)d(up)d(Readline's)j(state)g(if)e(they)h(wish)f
+g(to)150 1308 y(clean)d(up)d(Readline's)j(state)g(if)e(they)h(wish)f
 (to)h(handle)f(the)h(signal)h(b)s(efore)e(the)h(line)g(handler)f
-(completes)150 4649 y(and)k(restores)h(the)f(terminal)h(state.)275
-4792 y(If)k(an)g(application)i(using)f(the)g(callbac)m(k)h(in)m
+(completes)150 1418 y(and)k(restores)h(the)f(terminal)h(state.)275
+1551 y(If)k(an)g(application)i(using)f(the)g(callbac)m(k)h(in)m
 (terface)h(wishes)d(to)h(ha)m(v)m(e)h(Readline)g(install)f(its)g
-(signal)150 4902 y(handlers)22 b(at)h(the)g(time)h(the)e(application)j
+(signal)150 1660 y(handlers)22 b(at)h(the)g(time)h(the)e(application)j
 (calls)e Fs(rl_callback_handler_instal)o(l)17 b Ft(and)22
-b(remo)m(v)m(e)i(them)150 5011 y(only)f(when)g(a)g(complete)i(line)f
+b(remo)m(v)m(e)i(them)150 1770 y(only)f(when)g(a)g(complete)i(line)f
 (of)f(input)f(has)h(b)s(een)g(read,)i(it)e(should)g(set)g(the)h
-Fs(rl_persistent_signal_)150 5121 y(handlers)c Ft(v)-5
+Fs(rl_persistent_signal_)150 1879 y(handlers)c Ft(v)-5
 b(ariable)23 b(to)f(a)h(non-zero)f(v)-5 b(alue.)39 b(This)21
 b(allo)m(ws)i(an)f(application)i(to)f(defer)e(all)i(of)f(the)h
-(handling)150 5230 y(of)j(the)h(signals)f(Readline)h(catc)m(hes)h(to)f
+(handling)150 1989 y(of)j(the)h(signals)f(Readline)h(catc)m(hes)h(to)f
 (Readline.)39 b(Applications)27 b(should)f(use)f(this)h(v)-5
-b(ariable)27 b(with)f(care;)150 5340 y(it)d(can)g(result)g(in)f
+b(ariable)27 b(with)f(care;)150 2098 y(it)d(can)g(result)g(in)f
 (Readline)h(catc)m(hing)i(signals)e(and)f(not)h(acting)h(on)f(them)f
-(\(or)h(allo)m(wing)i(the)e(application)p eop end
-%%Page: 53 57
-TeXDict begin 53 56 bop 150 -116 a Ft(Chapter)30 b(2:)41
-b(Programming)30 b(with)g(GNU)h(Readline)1683 b(53)150
-299 y(to)36 b(react)g(to)g(them\))g(un)m(til)f(the)h(application)g
-(calls)h Fs(rl_callback_read_char)p Ft(.)49 b(This)35
-b(can)g(result)g(in)150 408 y(an)30 b(application)h(b)s(ecoming)f(less)
-g(resp)s(onsiv)m(e)f(to)i(k)m(eyb)s(oard)e(signals)h(lik)m(e)h(SIGINT.)
-f(If)f(an)h(application)150 518 y(do)s(es)24 b(not)g(w)m(an)m(t)h(or)g
-(need)f(to)h(p)s(erform)d(an)m(y)j(signal)g(handling,)g(or)f(do)s(es)g
-(not)h(need)f(to)g(do)h(an)m(y)f(pro)s(cessing)150 628
-y(b)s(et)m(w)m(een)31 b(calls)h(to)f Fs(rl_callback_read_char)p
-Ft(,)24 b(setting)32 b(this)e(v)-5 b(ariable)31 b(ma)m(y)g(b)s(e)f
-(desirable.)275 756 y(Readline)f(pro)m(vides)f(t)m(w)m(o)i(v)-5
-b(ariables)29 b(that)h(allo)m(w)g(application)g(writers)e(to)h(con)m
-(trol)h(whether)e(or)h(not)150 866 y(it)34 b(will)f(catc)m(h)i(certain)
-f(signals)f(and)g(act)h(on)f(them)g(when)f(they)i(are)f(receiv)m(ed.)51
-b(It)33 b(is)g(imp)s(ortan)m(t)g(that)150 975 y(applications)38
+(\(or)h(allo)m(wing)i(the)e(application)150 2208 y(to)36
+b(react)g(to)g(them\))g(un)m(til)f(the)h(application)g(calls)h
+Fs(rl_callback_read_char)p Ft(.)49 b(This)35 b(can)g(result)g(in)150
+2318 y(an)30 b(application)h(b)s(ecoming)f(less)g(resp)s(onsiv)m(e)f
+(to)i(k)m(eyb)s(oard)e(signals)h(lik)m(e)h(SIGINT.)f(If)f(an)h
+(application)150 2427 y(do)s(es)24 b(not)g(w)m(an)m(t)h(or)g(need)f(to)
+h(p)s(erform)d(an)m(y)j(signal)g(handling,)g(or)f(do)s(es)g(not)h(need)
+f(to)g(do)h(an)m(y)f(pro)s(cessing)150 2537 y(b)s(et)m(w)m(een)31
+b(calls)h(to)f Fs(rl_callback_read_char)p Ft(,)24 b(setting)32
+b(this)e(v)-5 b(ariable)31 b(ma)m(y)g(b)s(e)f(appropriate.)275
+2669 y(Readline)f(pro)m(vides)f(t)m(w)m(o)i(v)-5 b(ariables)29
+b(that)h(allo)m(w)g(application)g(writers)e(to)h(con)m(trol)h(whether)e
+(or)h(not)150 2779 y(it)34 b(will)f(catc)m(h)i(certain)f(signals)f(and)
+g(act)h(on)f(them)g(when)f(they)i(are)f(receiv)m(ed.)51
+b(It)33 b(is)g(imp)s(ortan)m(t)g(that)150 2889 y(applications)38
 b(c)m(hange)g(the)e(v)-5 b(alues)37 b(of)g(these)g(v)-5
 b(ariables)37 b(only)g(when)f(calling)i Fs(readline\(\))p
-Ft(,)d(not)i(in)g(a)150 1085 y(signal)31 b(handler,)f(so)g(Readline's)i
+Ft(,)d(not)i(in)g(a)150 2998 y(signal)31 b(handler,)f(so)g(Readline's)i
 (in)m(ternal)f(signal)g(state)h(is)e(not)h(corrupted.)3371
-1251 y([V)-8 b(ariable])-3598 b Fh(int)53 b(rl_catch_signals)390
-1361 y Ft(If)28 b(this)h(v)-5 b(ariable)30 b(is)f(non-zero,)h(Readline)
+3177 y([V)-8 b(ariable])-3598 b Fh(int)53 b(rl_catch_signals)390
+3287 y Ft(If)28 b(this)h(v)-5 b(ariable)30 b(is)f(non-zero,)h(Readline)
 f(will)g(install)h(signal)f(handlers)f(for)h Fs(SIGINT)p
-Ft(,)f Fs(SIGQUIT)p Ft(,)390 1470 y Fs(SIGTERM)p Ft(,)h
+Ft(,)f Fs(SIGQUIT)p Ft(,)390 3396 y Fs(SIGTERM)p Ft(,)h
 Fs(SIGHUP)p Ft(,)g Fs(SIGALRM)p Ft(,)f Fs(SIGTSTP)p Ft(,)h
-Fs(SIGTTIN)p Ft(,)f(and)i Fs(SIGTTOU)p Ft(.)390 1599
+Fs(SIGTTIN)p Ft(,)f(and)i Fs(SIGTTOU)p Ft(.)390 3529
 y(The)g(default)g(v)-5 b(alue)31 b(of)g Fs(rl_catch_signals)26
-b Ft(is)k(1.)3371 1765 y([V)-8 b(ariable])-3598 b Fh(int)53
-b(rl_catch_sigwinch)390 1875 y Ft(If)37 b(this)h(v)-5
+b Ft(is)k(1.)3371 3708 y([V)-8 b(ariable])-3598 b Fh(int)53
+b(rl_catch_sigwinch)390 3817 y Ft(If)37 b(this)h(v)-5
 b(ariable)38 b(is)g(set)g(to)g(a)g(non-zero)g(v)-5 b(alue,)40
 b(Readline)f(will)f(install)g(a)g(signal)g(handler)f(for)390
-1984 y Fs(SIGWINCH)p Ft(.)390 2113 y(The)30 b(default)g(v)-5
+3927 y Fs(SIGWINCH)p Ft(.)390 4060 y(The)30 b(default)g(v)-5
 b(alue)31 b(of)g Fs(rl_catch_sigwinch)25 b Ft(is)31 b(1.)3371
-2279 y([V)-8 b(ariable])-3598 b Fh(int)53 b(rl_persistent_signal_)q
-(hand)q(ler)q(s)390 2389 y Ft(If)31 b(an)h(application)g(using)g(the)f
+4238 y([V)-8 b(ariable])-3598 b Fh(int)53 b(rl_persistent_signal_)q
+(hand)q(ler)q(s)390 4348 y Ft(If)31 b(an)h(application)g(using)g(the)f
 (callbac)m(k)j(in)m(terface)f(wishes)e(Readline's)h(signal)h(handlers)d
-(to)j(b)s(e)390 2498 y(installed)21 b(and)f(activ)m(e)j(during)d(the)h
+(to)j(b)s(e)390 4457 y(installed)21 b(and)f(activ)m(e)j(during)d(the)h
 (set)g(of)f(calls)i(to)g Fs(rl_callback_read_char)14
-b Ft(that)22 b(constitutes)390 2608 y(an)30 b(en)m(tire)i(single)f
+b Ft(that)22 b(constitutes)390 4567 y(an)30 b(en)m(tire)i(single)f
 (line,)g(it)f(should)g(set)h(this)f(v)-5 b(ariable)31
-b(to)g(a)g(non-zero)g(v)-5 b(alue.)390 2736 y(The)30
+b(to)g(a)g(non-zero)g(v)-5 b(alue.)390 4700 y(The)30
 b(default)g(v)-5 b(alue)31 b(of)g Fs(rl_persistent_signal_han)o(dle)o
-(rs)24 b Ft(is)31 b(0.)3371 2903 y([V)-8 b(ariable])-3598
-b Fh(int)53 b(rl_change_environment)390 3012 y Ft(If)31
+(rs)24 b Ft(is)31 b(0.)3371 4879 y([V)-8 b(ariable])-3598
+b Fh(int)53 b(rl_change_environment)390 4988 y Ft(If)31
 b(this)g(v)-5 b(ariable)32 b(is)f(set)h(to)g(a)g(non-zero)g(v)-5
 b(alue,)32 b(and)f(Readline)h(is)f(handling)g Fs(SIGWINCH)p
-Ft(,)e(Read-)390 3122 y(line)h(will)h(mo)s(dify)e(the)h
+Ft(,)e(Read-)390 5098 y(line)h(will)h(mo)s(dify)e(the)h
 Fk(LINES)35 b Ft(and)29 b Fk(COLUMNS)35 b Ft(en)m(vironmen)m(t)30
 b(v)-5 b(ariables)31 b(up)s(on)d(receipt)j(of)g(a)390
-3231 y Fs(SIGWINCH)390 3360 y Ft(The)f(default)g(v)-5
+5207 y Fs(SIGWINCH)p Ft(.)390 5340 y(The)f(default)g(v)-5
 b(alue)31 b(of)g Fs(rl_change_environment)24 b Ft(is)31
-b(1.)275 3526 y(If)f(an)h(application)h(do)s(es)f(not)g(wish)f(to)i(ha)
-m(v)m(e)g(Readline)g(catc)m(h)g(an)m(y)f(signals,)h(or)f(to)h(handle)e
-(signals)150 3636 y(other)39 b(than)f(those)h(Readline)h(catc)m(hes)g
+b(1.)p eop end
+%%Page: 54 58
+TeXDict begin 54 57 bop 150 -116 a Ft(Chapter)30 b(2:)41
+b(Programming)30 b(with)g(GNU)h(Readline)1683 b(54)275
+299 y(If)30 b(an)h(application)h(do)s(es)f(not)g(wish)f(to)i(ha)m(v)m
+(e)g(Readline)g(catc)m(h)g(an)m(y)f(signals,)h(or)f(to)h(handle)e
+(signals)150 408 y(other)39 b(than)f(those)h(Readline)h(catc)m(hes)g
 (\()p Fs(SIGHUP)p Ft(,)g(for)e(example\),)k(Readline)d(pro)m(vides)g
-(con)m(v)m(enience)150 3745 y(functions)30 b(to)h(do)f(the)h(necessary)
-g(terminal)g(and)e(in)m(ternal)i(state)h(clean)m(up)f(up)s(on)e
-(receipt)i(of)g(a)f(signal.)3350 3912 y([F)-8 b(unction])-3599
+(con)m(v)m(enience)150 518 y(functions)30 b(to)h(do)f(the)h(necessary)g
+(terminal)g(and)e(in)m(ternal)i(state)h(clean)m(up)f(up)s(on)e(receipt)
+i(of)g(a)f(signal.)3350 704 y([F)-8 b(unction])-3599
 b Fh(int)53 b(rl_pending_signal)e Fg(\()p Ff(v)m(oid)p
-Fg(\))390 4021 y Ft(Return)27 b(the)g(signal)h(n)m(um)m(b)s(er)e(of)i
+Fg(\))390 814 y Ft(Return)27 b(the)g(signal)h(n)m(um)m(b)s(er)e(of)i
 (the)f(most)h(recen)m(t)h(signal)f(Readline)g(receiv)m(ed)g(but)f(has)g
-(not)h(y)m(et)390 4131 y(handled,)i(or)g(0)h(if)f(there)h(is)f(no)g(p)s
-(ending)f(signal.)3350 4297 y([F)-8 b(unction])-3599
+(not)h(y)m(et)390 924 y(handled,)i(or)g(0)h(if)f(there)h(is)f(no)g(p)s
+(ending)f(signal.)3350 1110 y([F)-8 b(unction])-3599
 b Fh(void)54 b(rl_cleanup_after_signal)e Fg(\()p Ff(v)m(oid)p
-Fg(\))390 4407 y Ft(This)33 b(function)h(will)g(reset)g(the)g(state)i
+Fg(\))390 1219 y Ft(This)33 b(function)h(will)g(reset)g(the)g(state)i
 (of)e(the)g(terminal)g(to)h(what)f(it)g(w)m(as)g(b)s(efore)g
-Fs(readline\(\))390 4516 y Ft(w)m(as)c(called,)h(and)d(remo)m(v)m(e)j
+Fs(readline\(\))390 1329 y Ft(w)m(as)c(called,)h(and)d(remo)m(v)m(e)j
 (the)f(Readline)g(signal)g(handlers)e(for)h(all)h(signals,)h(dep)s
-(ending)d(on)h(the)390 4626 y(v)-5 b(alues)31 b(of)f
+(ending)d(on)h(the)390 1439 y(v)-5 b(alues)31 b(of)f
 Fs(rl_catch_signals)c Ft(and)k Fs(rl_catch_sigwinch)p
-Ft(.)3350 4792 y([F)-8 b(unction])-3599 b Fh(void)54
+Ft(.)3350 1625 y([F)-8 b(unction])-3599 b Fh(void)54
 b(rl_free_line_state)c Fg(\()p Ff(v)m(oid)p Fg(\))390
-4902 y Ft(This)38 b(will)i(free)f(an)m(y)h(partial)g(state)g(asso)s
+1734 y Ft(This)38 b(will)i(free)f(an)m(y)h(partial)g(state)g(asso)s
 (ciated)h(with)e(the)g(curren)m(t)g(input)f(line)i(\(undo)e(infor-)390
-5011 y(mation,)46 b(an)m(y)d(partial)h(history)e(en)m(try)-8
+1844 y(mation,)46 b(an)m(y)d(partial)h(history)e(en)m(try)-8
 b(,)47 b(an)m(y)42 b(partially-en)m(tered)j(k)m(eyb)s(oard)d(macro,)47
-b(and)42 b(an)m(y)390 5121 y(partially-en)m(tered)50
+b(and)42 b(an)m(y)390 1954 y(partially-en)m(tered)50
 b(n)m(umeric)d(argumen)m(t\).)94 b(This)47 b(should)g(b)s(e)g(called)i
-(b)s(efore)e Fs(rl_cleanup_)390 5230 y(after_signal\(\))p
+(b)s(efore)e Fs(rl_cleanup_)390 2063 y(after_signal\(\))p
 Ft(.)74 b(The)42 b(Readline)h(signal)g(handler)f(for)h
 Fs(SIGINT)e Ft(calls)i(this)g(to)g(ab)s(ort)g(the)390
-5340 y(curren)m(t)30 b(input)g(line.)p eop end
-%%Page: 54 58
-TeXDict begin 54 57 bop 150 -116 a Ft(Chapter)30 b(2:)41
-b(Programming)30 b(with)g(GNU)h(Readline)1683 b(54)3350
-299 y([F)-8 b(unction])-3599 b Fh(void)54 b(rl_reset_after_signal)d
-Fg(\()p Ff(v)m(oid)p Fg(\))390 408 y Ft(This)28 b(will)g(reinitialize)j
-(the)e(terminal)g(and)f(reinstall)h(an)m(y)g(Readline)g(signal)g
-(handlers,)f(dep)s(end-)390 518 y(ing)j(on)f(the)g(v)-5
+2173 y(curren)m(t)30 b(input)g(line.)3350 2359 y([F)-8
+b(unction])-3599 b Fh(void)54 b(rl_reset_after_signal)d
+Fg(\()p Ff(v)m(oid)p Fg(\))390 2469 y Ft(This)28 b(will)g(reinitialize)
+j(the)e(terminal)g(and)f(reinstall)h(an)m(y)g(Readline)g(signal)g
+(handlers,)f(dep)s(end-)390 2578 y(ing)j(on)f(the)g(v)-5
 b(alues)31 b(of)g Fs(rl_catch_signals)26 b Ft(and)j Fs
-(rl_catch_sigwinch)p Ft(.)275 681 y(If)j(an)g(application)i(w)m(an)m
+(rl_catch_sigwinch)p Ft(.)275 2765 y(If)j(an)g(application)i(w)m(an)m
 (ts)g(to)f(force)g(Readline)h(to)f(handle)g(an)m(y)g(signals)g(that)g
-(ha)m(v)m(e)h(arriv)m(ed)f(while)150 790 y(it)j(has)g(b)s(een)f
+(ha)m(v)m(e)h(arriv)m(ed)f(while)150 2874 y(it)j(has)g(b)s(een)f
 (executing,)j Fs(rl_check_signals\(\))31 b Ft(will)36
 b(call)h(Readline's)g(in)m(ternal)g(signal)f(handler)f(if)150
-900 y(there)i(are)g(an)m(y)g(p)s(ending)e(signals.)61
+2984 y(there)i(are)g(an)m(y)g(p)s(ending)e(signals.)61
 b(This)36 b(is)g(primarily)h(in)m(tended)f(for)h(those)g(applications)h
-(that)f(use)150 1010 y(a)h(custom)g Fs(rl_getc_function)33
+(that)f(use)150 3093 y(a)h(custom)g Fs(rl_getc_function)33
 b Ft(\(see)39 b(Section)g(2.3)g([Readline)f(V)-8 b(ariables],)42
-b(page)c(30\))h(and)e(wish)g(to)150 1119 y(handle)30
+b(page)c(30\))h(and)e(wish)g(to)150 3203 y(handle)30
 b(signals)h(receiv)m(ed)h(while)e(w)m(aiting)i(for)e(input.)3350
-1282 y([F)-8 b(unction])-3599 b Fh(void)54 b(rl_check_signals)c
-Fg(\()p Ff(v)m(oid)p Fg(\))390 1391 y Ft(If)40 b(there)h(are)g(an)m(y)g
+3389 y([F)-8 b(unction])-3599 b Fh(void)54 b(rl_check_signals)c
+Fg(\()p Ff(v)m(oid)p Fg(\))390 3499 y Ft(If)40 b(there)h(are)g(an)m(y)g
 (p)s(ending)e(signals,)44 b(call)e(Readline's)g(in)m(ternal)f(signal)g
-(handling)f(functions)390 1501 y(to)j(pro)s(cess)g(them.)77
+(handling)f(functions)390 3608 y(to)j(pro)s(cess)g(them.)77
 b Fs(rl_pending_signal\(\))38 b Ft(can)43 b(b)s(e)f(used)g(indep)s
-(enden)m(tly)f(to)j(determine)390 1611 y(whether)30 b(or)g(not)h(there)
-f(are)h(an)m(y)g(p)s(ending)e(signals.)275 1773 y(If)38
+(enden)m(tly)f(to)j(determine)390 3718 y(whether)30 b(or)g(not)h(there)
+f(are)h(an)m(y)g(p)s(ending)e(signals.)275 3904 y(If)38
 b(an)i(application)g(do)s(es)f(not)h(wish)f(Readline)h(to)g(catc)m(h)h
 Fs(SIGWINCH)p Ft(,)e(it)h(ma)m(y)g(call)h Fs(rl_resize_)150
-1883 y(terminal\(\))24 b Ft(or)j Fs(rl_set_screen_size\(\))22
+4014 y(terminal\(\))24 b Ft(or)j Fs(rl_set_screen_size\(\))22
 b Ft(to)28 b(force)g(Readline)f(to)h(up)s(date)f(its)g(idea)h(of)f(the)
-g(terminal)150 1992 y(size)k(when)f(it)h(receiv)m(es)h(a)e
-Fs(SIGWINCH)p Ft(.)3350 2155 y([F)-8 b(unction])-3599
+g(terminal)150 4124 y(size)k(when)f(it)h(receiv)m(es)h(a)e
+Fs(SIGWINCH)p Ft(.)3350 4310 y([F)-8 b(unction])-3599
 b Fh(void)54 b(rl_echo_signal_char)d Fg(\()p Ff(in)m(t)33
-b(sig)p Fg(\))390 2265 y Ft(If)41 b(an)g(application)h(wishes)f(to)h
+b(sig)p Fg(\))390 4419 y Ft(If)41 b(an)g(application)h(wishes)f(to)h
 (install)g(its)f(o)m(wn)g(signal)h(handlers,)h(but)e(still)h(ha)m(v)m
-(e)g(Readline)390 2374 y(displa)m(y)31 b(c)m(haracters)h(that)f
+(e)g(Readline)390 4529 y(displa)m(y)31 b(c)m(haracters)h(that)f
 (generate)h(signals,)f(calling)h(this)e(function)g(with)g
-Fk(sig)39 b Ft(set)31 b(to)g Fs(SIGINT)p Ft(,)390 2484
+Fk(sig)39 b Ft(set)31 b(to)g Fs(SIGINT)p Ft(,)390 4639
 y Fs(SIGQUIT)p Ft(,)e(or)h Fs(SIGTSTP)e Ft(will)j(displa)m(y)g(the)f(c)
-m(haracter)i(generating)g(that)f(signal.)3350 2647 y([F)-8
+m(haracter)i(generating)g(that)f(signal.)3350 4825 y([F)-8
 b(unction])-3599 b Fh(void)54 b(rl_resize_terminal)c
-Fg(\()p Ff(v)m(oid)p Fg(\))390 2756 y Ft(Up)s(date)30
+Fg(\()p Ff(v)m(oid)p Fg(\))390 4934 y Ft(Up)s(date)30
 b(Readline's)h(in)m(ternal)g(screen)g(size)g(b)m(y)f(reading)h(v)-5
-b(alues)31 b(from)f(the)g(k)m(ernel.)3350 2919 y([F)-8
+b(alues)31 b(from)f(the)g(k)m(ernel.)3350 5121 y([F)-8
 b(unction])-3599 b Fh(void)54 b(rl_set_screen_size)c
 Fg(\()p Ff(in)m(t)34 b(ro)m(ws,)f(in)m(t)g(cols)p Fg(\))390
-3029 y Ft(Set)28 b(Readline's)h(idea)f(of)g(the)g(terminal)g(size)h(to)
+5230 y Ft(Set)28 b(Readline's)h(idea)f(of)g(the)g(terminal)g(size)h(to)
 g Fk(ro)m(ws)i Ft(ro)m(ws)d(and)f Fk(cols)33 b Ft(columns.)40
-b(If)27 b(either)h Fk(ro)m(ws)390 3138 y Ft(or)35 b Fk(columns)k
-Ft(is)c(less)g(than)g(or)g(equal)h(to)g(0,)h(Readline's)f(idea)g(of)f
-(that)h(terminal)f(dimension)g(is)390 3248 y(unc)m(hanged.)k(This)27
-b(is)h(in)m(tended)g(to)g(tell)h(Readline)f(the)g(ph)m(ysical)g
-(dimensions)f(of)h(the)g(terminal,)390 3357 y(and)44
-b(is)h(used)f(in)m(ternally)i(to)f(calculate)j(the)d(maxim)m(um)f(n)m
-(um)m(b)s(er)g(of)h(c)m(haracters)h(that)f(ma)m(y)390
-3467 y(app)s(ear)30 b(on)g(a)h(single)g(line)g(and)e(on)i(the)f
-(screen.)275 3630 y(If)i(an)i(application)g(do)s(es)f(not)h(w)m(an)m(t)
-g(to)g(install)g(a)g Fs(SIGWINCH)d Ft(handler,)j(but)e(is)i(still)g(in)
-m(terested)g(in)150 3739 y(the)d(screen)f(dimensions,)g(it)h(ma)m(y)g
+b(If)27 b(either)h Fk(ro)m(ws)390 5340 y Ft(or)22 b Fk(columns)j
+Ft(is)c(less)h(than)g(or)f(equal)h(to)h(0,)h(Readline)e(do)s(esn't)f(c)
+m(hange)i(that)f(terminal)g(dimension.)p eop end
+%%Page: 55 59
+TeXDict begin 55 58 bop 150 -116 a Ft(Chapter)30 b(2:)41
+b(Programming)30 b(with)g(GNU)h(Readline)1683 b(55)390
+299 y(This)28 b(is)h(in)m(tended)g(to)h(tell)g(Readline)g(the)f(ph)m
+(ysical)h(dimensions)e(of)h(the)g(terminal,)h(and)f(is)g(used)390
+408 y(in)m(ternally)44 b(to)f(calculate)i(the)e(maxim)m(um)f(n)m(um)m
+(b)s(er)f(of)i(c)m(haracters)h(that)f(ma)m(y)g(app)s(ear)f(on)h(a)390
+518 y(single)31 b(line)g(and)f(on)g(the)g(screen.)275
+695 y(If)i(an)i(application)g(do)s(es)f(not)h(w)m(an)m(t)g(to)g
+(install)g(a)g Fs(SIGWINCH)d Ft(handler,)j(but)e(is)i(still)g(in)m
+(terested)g(in)150 804 y(the)d(screen)f(dimensions,)g(it)h(ma)m(y)g
 (query)f(Readline's)h(idea)g(of)f(the)h(screen)f(size.)3350
-3902 y([F)-8 b(unction])-3599 b Fh(void)54 b(rl_get_screen_size)c
+981 y([F)-8 b(unction])-3599 b Fh(void)54 b(rl_get_screen_size)c
 Fg(\()p Ff(in)m(t)34 b(*ro)m(ws,)f(in)m(t)g(*cols)p Fg(\))390
-4011 y Ft(Return)c(Readline's)i(idea)g(of)f(the)g(terminal's)h(size)g
+1091 y Ft(Return)c(Readline's)i(idea)g(of)f(the)g(terminal's)h(size)g
 (in)f(the)g(v)-5 b(ariables)31 b(p)s(oin)m(ted)f(to)g(b)m(y)g(the)h
-(argu-)390 4121 y(men)m(ts.)3350 4284 y([F)-8 b(unction])-3599
+(argu-)390 1200 y(men)m(ts.)3350 1377 y([F)-8 b(unction])-3599
 b Fh(void)54 b(rl_reset_screen_size)d Fg(\()p Ff(v)m(oid)p
-Fg(\))390 4393 y Ft(Cause)30 b(Readline)h(to)g(reobtain)g(the)g(screen)
-f(size)h(and)f(recalculate)j(its)e(dimensions.)275 4556
+Fg(\))390 1486 y Ft(Cause)30 b(Readline)h(to)g(reobtain)g(the)g(screen)
+f(size)h(and)f(recalculate)j(its)e(dimensions.)275 1663
 y(The)e(follo)m(wing)j(functions)e(install)h(and)f(remo)m(v)m(e)i
-(Readline's)f(signal)g(handlers.)3350 4719 y([F)-8 b(unction])-3599
+(Readline's)f(signal)g(handlers.)3350 1840 y([F)-8 b(unction])-3599
 b Fh(int)53 b(rl_set_signals)d Fg(\()p Ff(v)m(oid)p Fg(\))390
-4828 y Ft(Install)40 b(Readline's)h(signal)f(handler)f(for)h
+1949 y Ft(Install)40 b(Readline's)h(signal)f(handler)f(for)h
 Fs(SIGINT)p Ft(,)h Fs(SIGQUIT)p Ft(,)f Fs(SIGTERM)p Ft(,)h
-Fs(SIGHUP)p Ft(,)g Fs(SIGALRM)p Ft(,)390 4938 y Fs(SIGTSTP)p
+Fs(SIGHUP)p Ft(,)g Fs(SIGALRM)p Ft(,)390 2059 y Fs(SIGTSTP)p
 Ft(,)35 b Fs(SIGTTIN)p Ft(,)f Fs(SIGTTOU)p Ft(,)h(and)g
 Fs(SIGWINCH)p Ft(,)f(dep)s(ending)g(on)h(the)g(v)-5 b(alues)36
-b(of)f Fs(rl_catch_)390 5047 y(signals)28 b Ft(and)i
-Fs(rl_catch_sigwinch)p Ft(.)3350 5210 y([F)-8 b(unction])-3599
+b(of)f Fs(rl_catch_)390 2168 y(signals)28 b Ft(and)i
+Fs(rl_catch_sigwinch)p Ft(.)3350 2345 y([F)-8 b(unction])-3599
 b Fh(int)53 b(rl_clear_signals)e Fg(\()p Ff(v)m(oid)p
-Fg(\))390 5320 y Ft(Remo)m(v)m(e)32 b(all)f(of)g(the)g(Readline)g
+Fg(\))390 2455 y Ft(Remo)m(v)m(e)32 b(all)f(of)g(the)g(Readline)g
 (signal)g(handlers)e(installed)i(b)m(y)f Fs(rl_set_signals\(\))p
-Ft(.)p eop end
-%%Page: 55 59
-TeXDict begin 55 58 bop 150 -116 a Ft(Chapter)30 b(2:)41
-b(Programming)30 b(with)g(GNU)h(Readline)1683 b(55)150
-299 y Fr(2.6)68 b(Custom)45 b(Completers)150 458 y Ft(T)m(ypically)-8
-b(,)47 b(a)c(program)g(that)g(reads)f(commands)h(from)f(the)g(user)g
-(has)h(a)g(w)m(a)m(y)g(of)g(disam)m(biguating)150 568
-y(commands)35 b(and)g(data.)56 b(If)35 b(y)m(our)h(program)f(is)g(one)h
-(of)g(these,)h(then)e(it)h(can)g(pro)m(vide)f(completion)i(for)150
-677 y(commands,)29 b(data,)i(or)e(b)s(oth.)39 b(The)29
-b(follo)m(wing)i(sections)f(describ)s(e)e(ho)m(w)i(y)m(our)f(program)g
-(and)f(Readline)150 787 y(co)s(op)s(erate)j(to)h(pro)m(vide)e(this)g
-(service.)150 970 y Fi(2.6.1)63 b(Ho)m(w)40 b(Completing)i(W)-10
-b(orks)150 1117 y Ft(In)26 b(order)f(to)i(complete)h(some)f(text,)h
-(the)f(full)f(list)h(of)f(p)s(ossible)g(completions)h(m)m(ust)g(b)s(e)e
-(a)m(v)-5 b(ailable.)42 b(That)150 1227 y(is,)28 b(it)f(is)g(not)g(p)s
-(ossible)g(to)g(accurately)i(expand)d(a)h(partial)h(w)m(ord)f(without)f
-(kno)m(wing)i(all)f(of)g(the)g(p)s(ossible)150 1336 y(w)m(ords)33
+Ft(.)150 2690 y Fr(2.6)68 b(Custom)45 b(Completers)150
+2850 y Ft(T)m(ypically)-8 b(,)47 b(a)c(program)g(that)g(reads)f
+(commands)h(from)f(the)g(user)g(has)h(a)g(w)m(a)m(y)g(of)g(disam)m
+(biguating)150 2959 y(commands)35 b(and)g(data.)56 b(If)35
+b(y)m(our)h(program)f(is)g(one)h(of)g(these,)h(then)e(it)h(can)g(pro)m
+(vide)f(completion)i(for)150 3069 y(commands,)29 b(data,)i(or)e(b)s
+(oth.)39 b(The)29 b(follo)m(wing)i(sections)f(describ)s(e)e(ho)m(w)i(y)
+m(our)f(program)g(and)f(Readline)150 3178 y(co)s(op)s(erate)j(to)h(pro)
+m(vide)e(this)g(service.)150 3373 y Fi(2.6.1)63 b(Ho)m(w)40
+b(Completing)i(W)-10 b(orks)150 3520 y Ft(In)26 b(order)f(to)i
+(complete)h(some)f(text,)h(the)f(full)f(list)h(of)f(p)s(ossible)g
+(completions)h(m)m(ust)g(b)s(e)e(a)m(v)-5 b(ailable.)42
+b(That)150 3629 y(is,)28 b(it)f(is)g(not)g(p)s(ossible)g(to)g
+(accurately)i(expand)d(a)h(partial)h(w)m(ord)f(without)f(kno)m(wing)i
+(all)f(of)g(the)g(p)s(ossible)150 3739 y(w)m(ords)33
 b(whic)m(h)g(mak)m(e)h(sense)f(in)g(that)g(con)m(text.)51
 b(The)33 b(Readline)h(library)e(pro)m(vides)i(the)f(user)f(in)m
-(terface)150 1446 y(to)d(completion,)h(and)e(t)m(w)m(o)i(of)e(the)h
+(terface)150 3848 y(to)d(completion,)h(and)e(t)m(w)m(o)i(of)e(the)h
 (most)f(common)h(completion)h(functions:)39 b(\014lename)29
-b(and)e(username.)150 1555 y(F)-8 b(or)39 b(completing)g(other)f(t)m
+b(and)e(username.)150 3958 y(F)-8 b(or)39 b(completing)g(other)f(t)m
 (yp)s(es)g(of)h(text,)i(y)m(ou)d(m)m(ust)g(write)g(y)m(our)g(o)m(wn)g
-(completion)h(function.)64 b(This)150 1665 y(section)32
+(completion)h(function.)64 b(This)150 4067 y(section)32
 b(describ)s(es)d(exactly)j(what)f(suc)m(h)f(functions)g(m)m(ust)g(do,)g
-(and)g(pro)m(vides)g(an)h(example.)275 1791 y(There)e(are)i(three)g(ma)
+(and)g(pro)m(vides)g(an)h(example.)275 4199 y(There)e(are)i(three)g(ma)
 5 b(jor)30 b(functions)g(used)g(to)h(p)s(erform)e(completion:)199
-1918 y(1.)61 b(The)43 b(user-in)m(terface)h(function)f
+4331 y(1.)61 b(The)43 b(user-in)m(terface)h(function)f
 Fs(rl_complete\(\))p Ft(.)76 b(This)43 b(function)g(is)g(called)i(with)
-e(the)h(same)330 2027 y(argumen)m(ts)36 b(as)g(other)g(bindable)f
+e(the)h(same)330 4441 y(argumen)m(ts)36 b(as)g(other)g(bindable)f
 (Readline)h(functions:)51 b Fk(coun)m(t)38 b Ft(and)d
-Fk(in)m(v)m(oking)p 3107 2027 28 4 v 41 w(k)m(ey)p Ft(.)57
-b(It)36 b(isolates)330 2137 y(the)i(w)m(ord)f(to)h(b)s(e)f(completed)i
+Fk(in)m(v)m(oking)p 3107 4441 28 4 v 41 w(k)m(ey)p Ft(.)57
+b(It)36 b(isolates)330 4551 y(the)i(w)m(ord)f(to)h(b)s(e)f(completed)i
 (and)d(calls)j Fs(rl_completion_matches\(\))31 b Ft(to)39
-b(generate)g(a)f(list)g(of)330 2247 y(p)s(ossible)31
+b(generate)g(a)f(list)g(of)330 4660 y(p)s(ossible)31
 b(completions.)44 b(It)31 b(then)g(either)g(lists)h(the)f(p)s(ossible)g
-(completions,)h(inserts)f(the)g(p)s(ossible)330 2356
+(completions,)h(inserts)f(the)g(p)s(ossible)330 4770
 y(completions,)50 b(or)45 b(actually)i(p)s(erforms)d(the)h(completion,)
 50 b(dep)s(ending)44 b(on)h(whic)m(h)g(b)s(eha)m(vior)g(is)330
-2466 y(desired.)199 2592 y(2.)61 b(The)33 b(in)m(ternal)h(function)g
+4879 y(desired.)199 5011 y(2.)61 b(The)33 b(in)m(ternal)h(function)g
 Fs(rl_completion_matches\(\))27 b Ft(uses)33 b(an)g
-(application-supplied)h Fk(gener-)330 2702 y(ator)44
+(application-supplied)h Fk(gener-)330 5121 y(ator)44
 b Ft(function)37 b(to)h(generate)g(the)f(list)h(of)f(p)s(ossible)f
 (matc)m(hes,)k(and)d(then)f(returns)g(the)h(arra)m(y)h(of)330
-2811 y(these)h(matc)m(hes.)68 b(The)39 b(caller)h(should)e(place)i(the)
+5230 y(these)h(matc)m(hes.)68 b(The)39 b(caller)h(should)e(place)i(the)
 f(address)f(of)h(its)g(generator)i(function)d(in)h Fs(rl_)330
-2921 y(completion_entry_functio)o(n)p Ft(.)199 3047 y(3.)61
-b(The)22 b(generator)i(function)f(is)g(called)h(rep)s(eatedly)f(from)g
-Fs(rl_completion_matches\(\))o Ft(,)c(returning)330 3157
-y(a)33 b(string)g(eac)m(h)h(time.)48 b(The)32 b(argumen)m(ts)h(to)h
+5340 y(completion_entry_functio)o(n)p Ft(.)p eop end
+%%Page: 56 60
+TeXDict begin 56 59 bop 150 -116 a Ft(Chapter)30 b(2:)41
+b(Programming)30 b(with)g(GNU)h(Readline)1683 b(56)199
+299 y(3.)61 b(The)22 b(generator)i(function)f(is)g(called)h(rep)s
+(eatedly)f(from)g Fs(rl_completion_matches\(\))o Ft(,)c(returning)330
+408 y(a)33 b(string)g(eac)m(h)h(time.)48 b(The)32 b(argumen)m(ts)h(to)h
 (the)f(generator)h(function)e(are)h Fk(text)j Ft(and)c
-Fk(state)p Ft(.)49 b Fk(text)330 3267 y Ft(is)32 b(the)g(partial)h(w)m
+Fk(state)p Ft(.)49 b Fk(text)330 518 y Ft(is)32 b(the)g(partial)h(w)m
 (ord)f(to)h(b)s(e)e(completed.)47 b Fk(state)38 b Ft(is)32
 b(zero)h(the)f(\014rst)g(time)g(the)h(function)e(is)h(called,)330
-3376 y(allo)m(wing)46 b(the)e(generator)h(to)f(p)s(erform)f(an)m(y)h
-(necessary)g(initialization,)51 b(and)43 b(a)h(p)s(ositiv)m(e)h(non-)
-330 3486 y(zero)30 b(in)m(teger)h(for)d(eac)m(h)j(subsequen)m(t)d
-(call.)42 b(The)29 b(generator)h(function)f(returns)f
-Fs(\(char)h(*\)NULL)e Ft(to)330 3595 y(inform)37 b Fs
-(rl_completion_matches\(\))32 b Ft(that)39 b(there)f(are)g(no)g(more)g
-(p)s(ossibilities)h(left.)65 b(Usually)330 3705 y(the)39
-b(generator)h(function)e(computes)h(the)g(list)g(of)g(p)s(ossible)f
-(completions)i(when)e Fk(state)45 b Ft(is)39 b(zero,)330
-3814 y(and)25 b(returns)f(them)i(one)f(at)i(a)f(time)g(on)f(subsequen)m
-(t)g(calls.)40 b(Eac)m(h)26 b(string)g(the)g(generator)g(function)330
-3924 y(returns)31 b(as)h(a)g(matc)m(h)h(m)m(ust)f(b)s(e)f(allo)s(cated)
-j(with)d Fs(malloc\(\))p Ft(;)g(Readline)h(frees)g(the)g(strings)g
-(when)330 4034 y(it)i(has)g(\014nished)e(with)i(them.)51
-b(Suc)m(h)33 b(a)h(generator)h(function)f(is)g(referred)f(to)h(as)h(an)
-e Fk(application-)330 4143 y(sp)s(eci\014c)d(completion)i(function)p
-Ft(.)3350 4303 y([F)-8 b(unction])-3599 b Fh(int)53 b(rl_complete)c
-Fg(\()p Ff(in)m(t)34 b(ignore,)e(in)m(t)i(in)m(v)m(oking)p
-2020 4303 30 5 v 43 w(k)m(ey)p Fg(\))390 4413 y Ft(Complete)d(the)g(w)m
-(ord)g(at)g(or)g(b)s(efore)f(p)s(oin)m(t.)41 b(Y)-8 b(ou)32
+628 y(allo)m(wing)37 b(the)f(generator)h(to)f(p)s(erform)e(an)m(y)i
+(necessary)g(initialization,)k(and)35 b(a)h(p)s(ositiv)m(e)h(in)m
+(teger)330 737 y(for)31 b(eac)m(h)i(subsequen)m(t)e(call.)46
+b(The)31 b(generator)i(function)e(returns)g Fs(\(char)e(*\)NULL)h
+Ft(to)i(inform)f Fs(rl_)330 847 y(completion_matches\(\))20
+b Ft(that)27 b(there)f(are)g(no)f(more)h(p)s(ossibilities)h(left.)40
+b(Usually)26 b(the)g(generator)330 956 y(function)f(computes)h(the)g
+(list)g(of)f(p)s(ossible)h(completions)g(when)f Fk(state)32
+b Ft(is)25 b(zero,)j(and)d(returns)f(them)330 1066 y(one)e(at)h(a)g
+(time)g(on)f(subsequen)m(t)f(calls.)39 b(Eac)m(h)23 b(string)f(the)g
+(generator)i(function)d(returns)g(as)i(a)f(matc)m(h)330
+1176 y(m)m(ust)30 b(b)s(e)g(allo)s(cated)j(with)d Fs(malloc\(\))p
+Ft(;)f(Readline)i(frees)g(the)g(strings)f(when)g(it)h(has)f(\014nished)
+f(with)330 1285 y(them.)64 b(Suc)m(h)37 b(a)h(generator)h(function)f
+(is)g(referred)f(to)i(as)f(an)g Fk(application-sp)s(eci\014c)i
+(completion)330 1395 y(function)p Ft(.)3350 1575 y([F)-8
+b(unction])-3599 b Fh(int)53 b(rl_complete)c Fg(\()p
+Ff(in)m(t)34 b(ignore,)e(in)m(t)i(in)m(v)m(oking)p 2020
+1575 30 5 v 43 w(k)m(ey)p Fg(\))390 1685 y Ft(Complete)d(the)g(w)m(ord)
+g(at)g(or)g(b)s(efore)f(p)s(oin)m(t.)41 b(Y)-8 b(ou)32
 b(ha)m(v)m(e)g(supplied)d(the)i(function)f(that)h(do)s(es)g(the)390
-4522 y(initial)42 b(simple)f(matc)m(hing)i(selection)f(algorithm)h
+1794 y(initial)42 b(simple)f(matc)m(hing)i(selection)f(algorithm)h
 (\(see)f Fs(rl_completion_matches\(\))o Ft(\).)67 b(The)390
-4632 y(default)31 b(is)f(to)h(do)f(\014lename)h(completion.)3371
-4792 y([V)-8 b(ariable])-3598 b Fh(rl_compentry_func_t)58
-b(*)53 b(rl_completion_entry_fun)q(cti)q(on)390 4902
-y Ft(This)39 b(is)h(a)g(p)s(oin)m(ter)g(to)h(the)f(generator)h
-(function)f(for)f Fs(rl_completion_matches\(\))p Ft(.)63
-b(If)40 b(the)390 5011 y(v)-5 b(alue)24 b(of)g Fs
-(rl_completion_entry_funct)o(ion)17 b Ft(is)24 b Fs(NULL)f
-Ft(then)g(the)h(default)g(\014lename)g(generator)390
-5121 y(function,)49 b Fs(rl_filename_completion_)o(fun)o(ctio)o(n\(\))p
-Ft(,)42 b(is)j(used.)84 b(An)44 b Fk(application-sp)s(eci\014c)390
-5230 y(completion)22 b(function)f Ft(is)g(a)h(function)e(whose)h
+1904 y(default)31 b(is)f(to)h(do)f(\014lename)h(completion.)3371
+2084 y([V)-8 b(ariable])-3598 b Fh(rl_compentry_func_t)58
+b(*)53 b(rl_completion_entry_fun)q(cti)q(on)390 2194
+y Ft(This)20 b(is)g(a)h(p)s(oin)m(ter)g(to)g(the)g(generator)h
+(function)e(for)g Fs(rl_completion_matches\(\))p Ft(.)32
+b(If)20 b(the)g(v)-5 b(alue)390 2303 y(of)32 b Fs
+(rl_completion_entry_func)o(tio)o(n)26 b Ft(is)32 b Fs(NULL)e
+Ft(then)h(Readline)i(uses)e(the)h(default)g(\014lename)390
+2413 y(generator)k(function,)g Fs(rl_filename_completion_fu)o(ncti)o
+(on\(\))o Ft(.)49 b(An)34 b Fk(application-sp)s(eci\014c)390
+2522 y(completion)22 b(function)f Ft(is)g(a)h(function)e(whose)h
 (address)f(is)h(assigned)h(to)f Fs(rl_completion_entry_)390
-5340 y(function)28 b Ft(and)i(whose)g(return)f(v)-5 b(alues)31
-b(are)g(used)e(to)j(generate)f(p)s(ossible)f(completions.)p
-eop end
-%%Page: 56 60
-TeXDict begin 56 59 bop 150 -116 a Ft(Chapter)30 b(2:)41
-b(Programming)30 b(with)g(GNU)h(Readline)1683 b(56)150
-299 y Fi(2.6.2)63 b(Completion)41 b(F)-10 b(unctions)150
-446 y Ft(Here)31 b(is)f(the)h(complete)h(list)f(of)f(callable)j
+2632 y(function)28 b Ft(and)i(whose)g(return)f(v)-5 b(alues)31
+b(are)g(used)e(to)j(generate)f(p)s(ossible)f(completions.)150
+2828 y Fi(2.6.2)63 b(Completion)41 b(F)-10 b(unctions)150
+2975 y Ft(Here)31 b(is)f(the)h(complete)h(list)f(of)f(callable)j
 (completion)e(functions)f(presen)m(t)h(in)f(Readline.)3350
-640 y([F)-8 b(unction])-3599 b Fh(int)53 b(rl_complete_internal)f
-Fg(\()p Ff(in)m(t)33 b(what)p 1861 640 30 5 v 44 w(to)p
-1994 640 V 43 w(do)p Fg(\))390 749 y Ft(Complete)k(the)g(w)m(ord)f(at)i
-(or)e(b)s(efore)g(p)s(oin)m(t.)60 b Fk(what)p 2208 749
-28 4 v 40 w(to)p 2328 749 V 41 w(do)41 b Ft(sa)m(ys)c(what)f(to)i(do)e
-(with)g(the)h(com-)390 859 y(pletion.)44 b(A)31 b(v)-5
+3156 y([F)-8 b(unction])-3599 b Fh(int)53 b(rl_complete_internal)f
+Fg(\()p Ff(in)m(t)33 b(what)p 1861 3156 V 44 w(to)p 1994
+3156 V 43 w(do)p Fg(\))390 3265 y Ft(Complete)k(the)g(w)m(ord)f(at)i
+(or)e(b)s(efore)g(p)s(oin)m(t.)60 b Fk(what)p 2208 3265
+28 4 v 40 w(to)p 2328 3265 V 41 w(do)41 b Ft(sa)m(ys)c(what)f(to)i(do)e
+(with)g(the)h(com-)390 3375 y(pletion.)44 b(A)31 b(v)-5
 b(alue)32 b(of)f(`)p Fs(?)p Ft(')g(means)h(list)f(the)h(p)s(ossible)e
 (completions.)45 b(`)p Fs(TAB)p Ft(')31 b(means)g(do)g(standard)390
-969 y(completion.)44 b(`)p Fs(*)p Ft(')32 b(means)f(insert)g(all)h(of)f
-(the)g(p)s(ossible)g(completions.)44 b(`)p Fs(!)p Ft(')32
-b(means)f(to)h(displa)m(y)f(all)390 1078 y(of)k(the)f(p)s(ossible)g
+3484 y(completion.)44 b(`)p Fs(*)p Ft(')32 b(means)f(insert)g(all)h(of)
+f(the)g(p)s(ossible)g(completions.)44 b(`)p Fs(!)p Ft(')32
+b(means)f(to)h(displa)m(y)f(all)390 3594 y(of)k(the)f(p)s(ossible)g
 (completions,)j(if)d(there)h(is)f(more)g(than)h(one,)g(as)g(w)m(ell)g
-(as)g(p)s(erforming)e(partial)390 1188 y(completion.)41
-b(`)p Fs(@)p Ft(')27 b(is)h(similar)f(to)h(`)p Fs(!)p
-Ft(',)h(but)d(p)s(ossible)h(completions)i(are)e(not)h(listed)g(if)f
-(the)g(p)s(ossible)390 1297 y(completions)32 b(share)e(a)g(common)h
-(pre\014x.)3350 1491 y([F)-8 b(unction])-3599 b Fh(int)53
+(as)g(p)s(erforming)e(partial)390 3703 y(completion.)42
+b(`)p Fs(@)p Ft(')30 b(is)g(similar)h(to)g(`)p Fs(!)p
+Ft(',)f(but)g(do)s(es)g(not)g(list)h(p)s(ossible)f(completions)h(if)f
+(the)g(p)s(ossible)390 3813 y(completions)i(share)e(a)g(common)h
+(pre\014x.)3350 3993 y([F)-8 b(unction])-3599 b Fh(int)53
 b(rl_complete)c Fg(\()p Ff(in)m(t)34 b(ignore,)e(in)m(t)i(in)m(v)m
-(oking)p 2020 1491 30 5 v 43 w(k)m(ey)p Fg(\))390 1601
+(oking)p 2020 3993 30 5 v 43 w(k)m(ey)p Fg(\))390 4103
 y Ft(Complete)42 b(the)f(w)m(ord)g(at)h(or)f(b)s(efore)g(p)s(oin)m(t.)
 73 b(Y)-8 b(ou)41 b(ha)m(v)m(e)i(supplied)c(the)j(function)f(that)g(do)
-s(es)390 1710 y(the)33 b(initial)h(simple)f(matc)m(hing)h(selection)h
+s(es)390 4212 y(the)33 b(initial)h(simple)f(matc)m(hing)h(selection)h
 (algorithm)f(\(see)g Fs(rl_completion_matches\(\))27
-b Ft(and)390 1820 y Fs(rl_completion_entry_func)o(tion)o
+b Ft(and)390 4322 y Fs(rl_completion_entry_func)o(tion)o
 Ft(\).)52 b(The)35 b(default)h(is)g(to)h(do)e(\014lename)h(completion.)
-59 b(This)390 1930 y(calls)32 b Fs(rl_complete_internal\(\))24
+59 b(This)390 4432 y(calls)32 b Fs(rl_complete_internal\(\))24
 b Ft(with)30 b(an)g(argumen)m(t)h(dep)s(ending)e(on)h
-Fk(in)m(v)m(oking)p 3314 1930 28 4 v 41 w(k)m(ey)p Ft(.)3350
-2124 y([F)-8 b(unction])-3599 b Fh(int)53 b(rl_possible_completio)q(ns)
+Fk(in)m(v)m(oking)p 3314 4432 28 4 v 41 w(k)m(ey)p Ft(.)3350
+4612 y([F)-8 b(unction])-3599 b Fh(int)53 b(rl_possible_completio)q(ns)
 f Fg(\()p Ff(in)m(t)33 b(coun)m(t,)h(in)m(t)f(in)m(v)m(oking)p
-2622 2124 30 5 v 43 w(k)m(ey)p Fg(\))390 2233 y Ft(List)41
-b(the)f(p)s(ossible)g(completions.)73 b(See)40 b(description)h(of)g
-Fs(rl_complete)27 b(\(\))p Ft(.)70 b(This)40 b(calls)i
-Fs(rl_)390 2343 y(complete_internal\(\))25 b Ft(with)30
-b(an)g(argumen)m(t)h(of)g(`)p Fs(?)p Ft('.)3350 2537
-y([F)-8 b(unction])-3599 b Fh(int)53 b(rl_insert_completions)f
-Fg(\()p Ff(in)m(t)34 b(coun)m(t,)f(in)m(t)g(in)m(v)m(oking)p
-2517 2537 V 44 w(k)m(ey)p Fg(\))390 2646 y Ft(Insert)g(the)h(list)g(of)
-g(p)s(ossible)f(completions)i(in)m(to)f(the)g(line,)h(deleting)g(the)f
-(partially-completed)390 2756 y(w)m(ord.)44 b(See)32
+2622 4612 30 5 v 43 w(k)m(ey)p Fg(\))390 4721 y Ft(List)43
+b(the)g(p)s(ossible)f(completions.)79 b(See)43 b(description)f(of)h
+Fs(rl_complete\(\))p Ft(.)74 b(This)42 b(calls)i Fs(rl_)390
+4831 y(complete_internal\(\))25 b Ft(with)30 b(an)g(argumen)m(t)h(of)g
+(`)p Fs(?)p Ft('.)3350 5011 y([F)-8 b(unction])-3599
+b Fh(int)53 b(rl_insert_completions)f Fg(\()p Ff(in)m(t)34
+b(coun)m(t,)f(in)m(t)g(in)m(v)m(oking)p 2517 5011 V 44
+w(k)m(ey)p Fg(\))390 5121 y Ft(Insert)g(the)h(list)g(of)g(p)s(ossible)f
+(completions)i(in)m(to)f(the)g(line,)h(deleting)g(the)f
+(partially-completed)390 5230 y(w)m(ord.)44 b(See)32
 b(description)g(of)g Fs(rl_complete\(\))p Ft(.)41 b(This)31
 b(calls)i Fs(rl_complete_internal\(\))25 b Ft(with)390
-2865 y(an)30 b(argumen)m(t)h(of)g(`)p Fs(*)p Ft('.)3350
-3059 y([F)-8 b(unction])-3599 b Fh(int)53 b(rl_completion_mode)e
-Fg(\()p Ff(rl)p 1455 3059 V 44 w(command)p 1919 3059
-V 44 w(func)p 2147 3059 V 46 w(t)33 b(*cfunc)p Fg(\))390
-3169 y Ft(Returns)40 b(the)i(appropriate)g(v)-5 b(alue)41
+5340 y(an)30 b(argumen)m(t)h(of)g(`)p Fs(*)p Ft('.)p
+eop end
+%%Page: 57 61
+TeXDict begin 57 60 bop 150 -116 a Ft(Chapter)30 b(2:)41
+b(Programming)30 b(with)g(GNU)h(Readline)1683 b(57)3350
+299 y([F)-8 b(unction])-3599 b Fh(int)53 b(rl_completion_mode)e
+Fg(\()p Ff(rl)p 1455 299 30 5 v 44 w(command)p 1919 299
+V 44 w(func)p 2147 299 V 46 w(t)33 b(*cfunc)p Fg(\))390
+408 y Ft(Returns)40 b(the)i(appropriate)g(v)-5 b(alue)41
 b(to)i(pass)e(to)h Fs(rl_complete_internal\(\))35 b Ft(dep)s(ending)40
-b(on)390 3279 y(whether)g Fk(cfunc)46 b Ft(w)m(as)41
-b(called)h(t)m(wice)g(in)f(succession)g(and)f(the)h(v)-5
-b(alues)41 b(of)g(the)g Fs(show-all-if-)390 3388 y(ambiguous)25
-b Ft(and)i Fs(show-all-if-unmodified)21 b Ft(v)-5 b(ariables.)41
-b(Application-sp)s(eci\014c)29 b(completion)390 3498
-y(functions)h(ma)m(y)h(use)f(this)g(function)g(to)h(presen)m(t)g(the)f
-(same)h(in)m(terface)h(as)f Fs(rl_complete\(\))p Ft(.)3350
-3692 y([F)-8 b(unction])-3599 b Fh(char)54 b(**)e
-(rl_completion_matches)g Fg(\()p Ff(const)34 b(c)m(har)g(*text,)565
-3801 y(rl)p 639 3801 V 44 w(comp)s(en)m(try)p 1145 3801
-V 44 w(func)p 1373 3801 V 45 w(t)f(*en)m(try)p 1767 3801
-V 44 w(func)p Fg(\))390 3911 y Ft(Returns)k(an)h(arra)m(y)g(of)g
-(strings)g(whic)m(h)f(is)h(a)g(list)h(of)f(completions)h(for)e
-Fk(text)p Ft(.)64 b(If)38 b(there)g(are)g(no)390 4020
-y(completions,)f(returns)c Fs(NULL)p Ft(.)52 b(The)34
-b(\014rst)f(en)m(try)i(in)f(the)h(returned)e(arra)m(y)i(is)g(the)f
-(substitution)390 4130 y(for)26 b Fk(text)p Ft(.)40 b(The)26
-b(remaining)h(en)m(tries)g(are)g(the)f(p)s(ossible)g(completions.)40
-b(The)26 b(arra)m(y)h(is)f(terminated)390 4240 y(with)k(a)h
-Fs(NULL)e Ft(p)s(oin)m(ter.)390 4379 y Fk(en)m(try)p
-603 4379 28 4 v 40 w(func)44 b Ft(is)c(a)g(function)f(of)h(t)m(w)m(o)g
-(args,)j(and)38 b(returns)h(a)g Fs(char)30 b(*)p Ft(.)67
-b(The)39 b(\014rst)g(argumen)m(t)h(is)390 4489 y Fk(text)p
-Ft(.)66 b(The)39 b(second)f(is)h(a)g(state)h(argumen)m(t;)j(it)c(is)g
-(zero)g(on)g(the)g(\014rst)f(call,)k(and)c(non-zero)h(on)390
-4598 y(subsequen)m(t)33 b(calls.)52 b Fk(en)m(try)p 1320
-4598 V 41 w(func)38 b Ft(returns)33 b(a)h Fs(NULL)f Ft(p)s(oin)m(ter)g
-(to)i(the)f(caller)h(when)e(there)h(are)g(no)390 4708
-y(more)d(matc)m(hes.)3350 4902 y([F)-8 b(unction])-3599
+b(on)390 518 y(whether)g Fk(cfunc)46 b Ft(w)m(as)41 b(called)h(t)m
+(wice)g(in)f(succession)g(and)f(the)h(v)-5 b(alues)41
+b(of)g(the)g Fs(show-all-if-)390 628 y(ambiguous)25 b
+Ft(and)i Fs(show-all-if-unmodified)21 b Ft(v)-5 b(ariables.)41
+b(Application-sp)s(eci\014c)29 b(completion)390 737 y(functions)h(ma)m
+(y)h(use)f(this)g(function)g(to)h(presen)m(t)g(the)f(same)h(in)m
+(terface)h(as)f Fs(rl_complete\(\))p Ft(.)3350 917 y([F)-8
+b(unction])-3599 b Fh(char)54 b(**)e(rl_completion_matches)g
+Fg(\()p Ff(const)34 b(c)m(har)g(*text,)565 1027 y(rl)p
+639 1027 V 44 w(comp)s(en)m(try)p 1145 1027 V 44 w(func)p
+1373 1027 V 45 w(t)f(*en)m(try)p 1767 1027 V 44 w(func)p
+Fg(\))390 1137 y Ft(Returns)k(an)h(arra)m(y)g(of)g(strings)g(whic)m(h)f
+(is)h(a)g(list)h(of)f(completions)h(for)e Fk(text)p Ft(.)64
+b(If)38 b(there)g(are)g(no)390 1246 y(completions,)f(returns)c
+Fs(NULL)p Ft(.)52 b(The)34 b(\014rst)f(en)m(try)i(in)f(the)h(returned)e
+(arra)m(y)i(is)g(the)f(substitution)390 1356 y(for)26
+b Fk(text)p Ft(.)40 b(The)26 b(remaining)h(en)m(tries)g(are)g(the)f(p)s
+(ossible)g(completions.)40 b(The)26 b(arra)m(y)h(is)f(terminated)390
+1465 y(with)k(a)h Fs(NULL)e Ft(p)s(oin)m(ter.)390 1599
+y Fk(en)m(try)p 603 1599 28 4 v 40 w(func)44 b Ft(is)c(a)g(function)f
+(of)h(t)m(w)m(o)g(args,)j(and)38 b(returns)h(a)g Fs(char)30
+b(*)p Ft(.)67 b(The)39 b(\014rst)g(argumen)m(t)h(is)390
+1708 y Fk(text)p Ft(.)66 b(The)39 b(second)f(is)h(a)g(state)h(argumen)m
+(t;)j(it)c(is)g(zero)g(on)g(the)g(\014rst)f(call,)k(and)c(non-zero)h
+(on)390 1818 y(subsequen)m(t)33 b(calls.)52 b Fk(en)m(try)p
+1320 1818 V 41 w(func)38 b Ft(returns)33 b(a)h Fs(NULL)f
+Ft(p)s(oin)m(ter)g(to)i(the)f(caller)h(when)e(there)h(are)g(no)390
+1927 y(more)d(matc)m(hes.)3350 2107 y([F)-8 b(unction])-3599
 b Fh(char)54 b(*)e(rl_filename_completion)q(_fu)q(nct)q(ion)g
-Fg(\()p Ff(const)34 b(c)m(har)g(*text,)e(in)m(t)565 5011
-y(state)p Fg(\))390 5121 y Ft(A)26 b(generator)h(function)e(for)g
+Fg(\()p Ff(const)34 b(c)m(har)g(*text,)e(in)m(t)565 2217
+y(state)p Fg(\))390 2327 y Ft(A)26 b(generator)h(function)e(for)g
 (\014lename)h(completion)h(in)e(the)h(general)h(case.)40
-b Fk(text)28 b Ft(is)e(a)g(partial)h(\014le-)390 5230
+b Fk(text)28 b Ft(is)e(a)g(partial)h(\014le-)390 2436
 y(name.)38 b(The)21 b(Bash)g(source)h(is)g(a)f(useful)g(reference)h
 (for)f(writing)h(application-sp)s(eci\014c)h(completion)390
-5340 y(functions)30 b(\(the)h(Bash)f(completion)i(functions)e(call)i
-(this)e(and)g(other)g(Readline)h(functions\).)p eop end
-%%Page: 57 61
-TeXDict begin 57 60 bop 150 -116 a Ft(Chapter)30 b(2:)41
-b(Programming)30 b(with)g(GNU)h(Readline)1683 b(57)3350
-299 y([F)-8 b(unction])-3599 b Fh(char)54 b(*)e(rl_username_completion)
-q(_fu)q(nct)q(ion)g Fg(\()p Ff(const)34 b(c)m(har)g(*text,)e(in)m(t)565
-408 y(state)p Fg(\))390 518 y Ft(A)d(completion)g(generator)h(for)e
+2546 y(functions)30 b(\(the)h(Bash)f(completion)i(functions)e(call)i
+(this)e(and)g(other)g(Readline)h(functions\).)3350 2726
+y([F)-8 b(unction])-3599 b Fh(char)54 b(*)e(rl_username_completion)q
+(_fu)q(nct)q(ion)g Fg(\()p Ff(const)34 b(c)m(har)g(*text,)e(in)m(t)565
+2836 y(state)p Fg(\))390 2945 y Ft(A)d(completion)g(generator)h(for)e
 (usernames.)40 b Fk(text)31 b Ft(con)m(tains)f(a)f(partial)g(username)f
-(preceded)g(b)m(y)390 628 y(a)j(random)f(c)m(haracter)i(\(usually)e(`)p
-Fs(~)p Ft('\).)42 b(As)31 b(with)f(all)h(completion)h(generators,)g
-Fk(state)37 b Ft(is)31 b(zero)g(on)390 737 y(the)g(\014rst)e(call)j
-(and)e(non-zero)h(for)f(subsequen)m(t)f(calls.)150 955
+(preceded)g(b)m(y)390 3055 y(a)j(random)f(c)m(haracter)i(\(usually)e(`)
+Fs(~)p Ft('\).)42 b(As)31 b(with)f(all)h(completion)h(generators,)g
+Fk(state)37 b Ft(is)31 b(zero)g(on)390 3164 y(the)g(\014rst)e(call)j
+(and)e(non-zero)h(for)f(subsequen)m(t)f(calls.)150 3361
 y Fi(2.6.3)63 b(Completion)41 b(V)-10 b(ariables)3371
-1170 y Ft([V)i(ariable])-3598 b Fh(rl_compentry_func_t)58
-b(*)53 b(rl_completion_entry_fun)q(cti)q(on)390 1279
+3555 y Ft([V)i(ariable])-3598 b Fh(rl_compentry_func_t)58
+b(*)53 b(rl_completion_entry_fun)q(cti)q(on)390 3665
 y Ft(A)34 b(p)s(oin)m(ter)f(to)h(the)g(generator)h(function)e(for)g
 Fs(rl_completion_matches\(\))p Ft(.)44 b Fs(NULL)32 b
-Ft(means)h(to)390 1389 y(use)d Fs(rl_filename_completion_fu)o(nct)o
+Ft(means)h(to)390 3774 y(use)d Fs(rl_filename_completion_fu)o(nct)o
 (ion\()o(\))p Ft(,)25 b(the)30 b(default)h(\014lename)f(completer.)3371
-1609 y([V)-8 b(ariable])-3598 b Fh(rl_completion_func_t)58
+3954 y([V)-8 b(ariable])-3598 b Fh(rl_completion_func_t)58
 b(*)53 b(rl_attempted_completio)q(n_f)q(unct)q(ion)390
-1719 y Ft(A)35 b(p)s(oin)m(ter)g(to)g(an)g(alternativ)m(e)i(function)d
+4064 y Ft(A)35 b(p)s(oin)m(ter)g(to)g(an)g(alternativ)m(e)i(function)d
 (to)i(create)g(matc)m(hes.)55 b(The)34 b(function)h(is)f(called)i(with)
-390 1829 y Fk(text)p Ft(,)26 b Fk(start)p Ft(,)f(and)d
-Fk(end)p Ft(.)38 b Fk(start)25 b Ft(and)e Fk(end)j Ft(are)d(indices)g
-(in)g Fs(rl_line_buffer)c Ft(de\014ning)j(the)h(b)s(ound-)390
-1938 y(aries)j(of)h Fk(text)p Ft(,)h(whic)m(h)d(is)h(a)h(c)m(haracter)g
-(string.)39 b(If)26 b(this)g(function)f(exists)i(and)e(returns)g
-Fs(NULL)p Ft(,)h(or)g(if)390 2048 y(this)c(v)-5 b(ariable)22
-b(is)g(set)h(to)f Fs(NULL)p Ft(,)h(then)f Fs(rl_complete\(\))c
-Ft(will)k(call)h(the)f(v)-5 b(alue)23 b(of)f Fs(rl_completion_)390
-2157 y(entry_function)i Ft(to)30 b(generate)f(matc)m(hes,)i(otherwise)d
-(the)h(arra)m(y)g(of)f(strings)h(returned)e(will)i(b)s(e)390
-2267 y(used.)37 b(If)22 b(this)g(function)g(sets)h(the)g
-Fs(rl_attempted_completion)o(_ove)o(r)16 b Ft(v)-5 b(ariable)24
-b(to)f(a)f(non-zero)390 2377 y(v)-5 b(alue,)35 b(Readline)g(will)f(not)
-g(p)s(erform)f(its)h(default)g(completion)h(ev)m(en)g(if)f(this)g
-(function)f(returns)390 2486 y(no)d(matc)m(hes.)3371
-2707 y([V)-8 b(ariable])-3598 b Fh(rl_quote_func_t)57
-b(*)52 b(rl_filename_quoting_)q(func)q(tio)q(n)390 2816
-y Ft(A)33 b(p)s(oin)m(ter)f(to)h(a)g(function)g(that)g(will)g(quote)g
-(a)g(\014lename)f(in)h(an)f(application-sp)s(eci\014c)i(fashion.)390
-2926 y(This)k(is)i(called)g(if)f(\014lename)h(completion)g(is)f(b)s
-(eing)g(attempted)i(and)d(one)i(of)f(the)g(c)m(haracters)390
-3036 y(in)33 b Fs(rl_filename_quote_charac)o(ter)o(s)27
-b Ft(app)s(ears)33 b(in)g(a)g(completed)h(\014lename.)50
-b(The)32 b(function)390 3145 y(is)37 b(called)h(with)e
-Fk(text)p Ft(,)k Fk(matc)m(h)p 1438 3145 28 4 v 41 w(t)m(yp)s(e)p
-Ft(,)f(and)d Fk(quote)p 2119 3145 V 41 w(p)s(oin)m(ter)p
-Ft(.)60 b(The)36 b Fk(text)k Ft(is)d(the)g(\014lename)g(to)h(b)s(e)390
-3255 y(quoted.)76 b(The)42 b Fk(matc)m(h)p 1210 3255
-V 41 w(t)m(yp)s(e)48 b Ft(is)42 b(either)h Fs(SINGLE_MATCH)p
-Ft(,)f(if)g(there)g(is)h(only)f(one)h(completion)390
-3364 y(matc)m(h,)33 b(or)e Fs(MULT_MATCH)p Ft(.)41 b(Some)31
-b(functions)g(use)g(this)h(to)g(decide)f(whether)g(or)h(not)f(to)h
-(insert)g(a)390 3474 y(closing)22 b(quote)f(c)m(haracter.)40
-b(The)20 b Fk(quote)p 1751 3474 V 41 w(p)s(oin)m(ter)27
-b Ft(is)21 b(a)g(p)s(oin)m(ter)g(to)g(an)m(y)h(op)s(ening)e(quote)h(c)m
-(haracter)390 3584 y(the)31 b(user)e(t)m(yp)s(ed.)41
-b(Some)30 b(functions)g(c)m(ho)s(ose)h(to)g(reset)g(this)g(c)m
-(haracter.)3371 3804 y([V)-8 b(ariable])-3598 b Fh(rl_dequote_func_t)57
-b(*)c(rl_filename_dequoting_)q(fun)q(cti)q(on)390 3914
-y Ft(A)30 b(p)s(oin)m(ter)f(to)i(a)f(function)f(that)h(will)g(remo)m(v)
-m(e)h(application-sp)s(eci\014c)g(quoting)f(c)m(haracters)h(from)390
-4023 y(a)i(\014lename)g(b)s(efore)f(completion)h(is)g(attempted,)h(so)f
-(those)g(c)m(haracters)h(do)e(not)h(in)m(terfere)g(with)390
-4133 y(matc)m(hing)39 b(the)f(text)i(against)f(names)f(in)g(the)g
-(\014lesystem.)64 b(It)38 b(is)g(called)i(with)d Fk(text)p
-Ft(,)42 b(the)c(text)390 4243 y(of)k(the)h(w)m(ord)f(to)g(b)s(e)g
-(dequoted,)j(and)d Fk(quote)p 2014 4243 V 41 w(c)m(har)p
-Ft(,)j(whic)m(h)d(is)h(the)f(quoting)h(c)m(haracter)g(that)390
-4352 y(delimits)33 b(the)f(\014lename)g(\(usually)h(`)p
-Fs(')p Ft(')f(or)g(`)p Fs(")p Ft('\).)46 b(If)32 b Fk(quote)p
-2368 4352 V 41 w(c)m(har)39 b Ft(is)32 b(zero,)i(the)e(\014lename)g(w)m
-(as)h(not)390 4462 y(in)d(an)g(em)m(b)s(edded)g(string.)3371
-4682 y([V)-8 b(ariable])-3598 b Fh(rl_linebuf_func_t)57
-b(*)c(rl_char_is_quoted_p)390 4792 y Ft(A)37 b(p)s(oin)m(ter)g(to)g(a)g
-(function)g(to)g(call)h(that)g(determines)f(whether)f(or)h(not)g(a)g
-(sp)s(eci\014c)f(c)m(haracter)390 4902 y(in)e(the)h(line)f(bu\013er)g
-(is)g(quoted,)i(according)g(to)f(whatev)m(er)g(quoting)g(mec)m(hanism)g
-(the)f(program)390 5011 y(calling)26 b(Readline)g(uses.)38
-b(The)24 b(function)h(is)g(called)h(with)e(t)m(w)m(o)i(argumen)m(ts:)39
-b Fk(text)p Ft(,)27 b(the)e(text)h(of)f(the)390 5121
-y(line,)31 b(and)g Fk(index)p Ft(,)f(the)h(index)f(of)h(the)g(c)m
-(haracter)i(in)d(the)h(line.)42 b(It)31 b(is)g(used)f(to)h(decide)g
-(whether)g(a)390 5230 y(c)m(haracter)h(found)d(in)g Fs
-(rl_completer_word_break_ch)o(ara)o(cter)o(s)24 b Ft(should)29
-b(b)s(e)h(used)f(to)i(break)390 5340 y(w)m(ords)f(for)g(the)h
-(completer.)p eop end
+390 4173 y Fk(text)p Ft(,)51 b Fk(start)p Ft(,)f(and)45
+b Fk(end)p Ft(.)86 b Fk(start)48 b Ft(and)d Fk(end)k
+Ft(are)d(indices)g(in)f Fs(rl_line_buffer)d Ft(de\014ning)j(the)390
+4283 y(b)s(oundaries)37 b(of)i Fk(text)p Ft(,)j(whic)m(h)c(is)h(a)g(c)m
+(haracter)h(string.)65 b(If)38 b(this)h(function)f(exists)h(and)f
+(returns)390 4393 y Fs(NULL)p Ft(,)j(or)f(if)g(this)g(v)-5
+b(ariable)41 b(is)f(set)g(to)h Fs(NULL)p Ft(,)h(then)d
+Fs(rl_complete\(\))e Ft(will)j(call)h(the)f(v)-5 b(alue)41
+b(of)390 4502 y Fs(rl_completion_entry_func)o(tion)20
+b Ft(to)27 b(generate)h(matc)m(hes,)h(otherwise)e(completion)g(will)g
+(use)390 4612 y(the)38 b(arra)m(y)h(of)f(strings)f(this)h(function)g
+(returns.)62 b(If)38 b(this)f(function)h(sets)g(the)h
+Fs(rl_attempted_)390 4721 y(completion_over)26 b Ft(v)-5
+b(ariable)32 b(to)f(a)g(non-zero)g(v)-5 b(alue,)32 b(Readline)f(will)g
+(not)g(p)s(erform)e(its)i(default)390 4831 y(completion)h(ev)m(en)f(if)
+f(this)g(function)g(returns)g(no)g(matc)m(hes.)3371 5011
+y([V)-8 b(ariable])-3598 b Fh(rl_quote_func_t)57 b(*)52
+b(rl_filename_quoting_)q(func)q(tio)q(n)390 5121 y Ft(A)33
+b(p)s(oin)m(ter)f(to)h(a)g(function)g(that)g(will)g(quote)g(a)g
+(\014lename)f(in)h(an)f(application-sp)s(eci\014c)i(fashion.)390
+5230 y(Readline)27 b(calls)g(this)f(function)g(during)f(\014lename)h
+(completion)i(if)e(one)h(of)f(the)g(c)m(haracters)i(in)e
+Fs(rl_)390 5340 y(filename_quote_character)o(s)16 b Ft(app)s(ears)21
+b(in)g(a)h(completed)h(\014lename.)38 b(The)21 b(function)h(is)g
+(called)p eop end
 %%Page: 58 62
 TeXDict begin 58 61 bop 150 -116 a Ft(Chapter)30 b(2:)41
-b(Programming)30 b(with)g(GNU)h(Readline)1683 b(58)3371
-299 y([V)-8 b(ariable])-3598 b Fh(rl_compignore_func_t)58
-b(*)53 b(rl_ignore_some_complet)q(ion)q(s_fu)q(nct)q(ion)390
-408 y Ft(This)37 b(function,)i(if)f(de\014ned,)g(is)g(called)h(b)m(y)e
-(the)h(completer)h(when)e(real)h(\014lename)g(completion)390
-518 y(is)c(done,)h(after)f(all)h(the)g(matc)m(hing)g(names)e(ha)m(v)m
-(e)j(b)s(een)d(generated.)53 b(It)34 b(is)g(passed)f(a)i
-Fs(NULL)d Ft(ter-)390 628 y(minated)f(arra)m(y)g(of)g(matc)m(hes.)43
-b(The)31 b(\014rst)f(elemen)m(t)i(\()p Fs(matches[0])p
-Ft(\))d(is)h(the)h(maximal)h(substring)390 737 y(common)d(to)g(all)h
-(matc)m(hes.)41 b(This)28 b(function)h(can)g(re-arrange)g(the)g(list)h
-(of)f(matc)m(hes)g(as)g(required,)390 847 y(but)h(eac)m(h)h(elemen)m(t)
-h(deleted)f(from)f(the)h(arra)m(y)g(m)m(ust)f(b)s(e)g(freed.)3371
-1063 y([V)-8 b(ariable])-3598 b Fh(rl_icppfunc_t)56 b(*)d
-(rl_directory_completio)q(n_ho)q(ok)390 1172 y Ft(This)44
-b(function,)49 b(if)d(de\014ned,)i(is)d(allo)m(w)m(ed)i(to)f(mo)s(dify)
-e(the)i(directory)g(p)s(ortion)e(of)i(\014lenames)390
-1282 y(Readline)35 b(completes.)56 b(It)35 b(could)g(b)s(e)f(used)g(to)
-i(expand)e(sym)m(b)s(olic)h(links)g(or)g(shell)g(v)-5
-b(ariables)35 b(in)390 1392 y(pathnames.)70 b(It)41 b(is)f(called)h
-(with)f(the)h(address)e(of)i(a)g(string)f(\(the)h(curren)m(t)f
-(directory)h(name\))390 1501 y(as)d(an)f(argumen)m(t,)j(and)d(ma)m(y)i
-(mo)s(dify)d(that)j(string.)62 b(If)37 b(the)h(string)f(is)h(replaced)g
-(with)f(a)h(new)390 1611 y(string,)j(the)d(old)h(v)-5
-b(alue)39 b(should)e(b)s(e)h(freed.)64 b(An)m(y)39 b(mo)s(di\014ed)e
-(directory)i(name)f(should)g(ha)m(v)m(e)i(a)390 1720
-y(trailing)c(slash.)54 b(The)35 b(mo)s(di\014ed)e(v)-5
-b(alue)36 b(will)f(b)s(e)f(used)g(as)i(part)e(of)h(the)h(completion,)h
-(replacing)390 1830 y(the)32 b(directory)g(p)s(ortion)f(of)h(the)g
-(pathname)f(the)h(user)f(t)m(yp)s(ed.)44 b(A)m(t)33 b(the)f(least,)h
-(ev)m(en)g(if)e(no)h(other)390 1940 y(expansion)j(is)h(p)s(erformed,)f
-(this)h(function)f(should)g(remo)m(v)m(e)i(an)m(y)f(quote)g(c)m
-(haracters)h(from)e(the)390 2049 y(directory)c(name,)g(b)s(ecause)f
-(its)h(result)f(will)h(b)s(e)e(passed)h(directly)h(to)g
-Fs(opendir\(\))p Ft(.)390 2199 y(The)25 b(directory)i(completion)g(ho)s
-(ok)e(returns)g(an)h(in)m(teger)h(that)f(should)f(b)s(e)g(non-zero)i
-(if)e(the)i(func-)390 2309 y(tion)35 b(mo)s(di\014es)e(its)i(directory)
-f(argumen)m(t.)53 b(The)33 b(function)h(should)f(not)i(mo)s(dify)e(the)
-h(directory)390 2419 y(argumen)m(t)d(if)f(it)h(returns)e(0.)3371
-2635 y([V)-8 b(ariable])-3598 b Fh(rl_icppfunc_t)56 b(*)d
-(rl_directory_rewrite_h)q(ook;)390 2744 y Ft(If)24 b(non-zero,)i(this)e
-(is)h(the)f(address)g(of)g(a)h(function)f(to)h(call)g(when)f
-(completing)h(a)g(directory)g(name.)390 2854 y(This)h(function)g(tak)m
-(es)i(the)f(address)f(of)h(the)f(directory)h(name)g(to)g(b)s(e)f(mo)s
-(di\014ed)g(as)h(an)f(argumen)m(t.)390 2963 y(Unlik)m(e)40
-b Fs(rl_directory_completion_h)o(ook)p Ft(,)35 b(it)40
-b(only)f(mo)s(di\014es)f(the)i(directory)f(name)h(used)390
-3073 y(in)35 b Fs(opendir)p Ft(,)g(not)g(what)h(is)f(displa)m(y)m(ed)h
-(when)e(the)i(p)s(ossible)f(completions)h(are)g(prin)m(ted)f(or)g(in-)
-390 3183 y(serted.)k(It)27 b(is)f(called)h(b)s(efore)f(rl)p
-1463 3183 28 4 v 40 w(directory)p 1859 3183 V 41 w(completion)p
-2333 3183 V 41 w(ho)s(ok.)39 b(A)m(t)27 b(the)g(least,)h(ev)m(en)f(if)g
-(no)f(other)390 3292 y(expansion)35 b(is)h(p)s(erformed,)f(this)h
-(function)f(should)g(remo)m(v)m(e)i(an)m(y)f(quote)g(c)m(haracters)h
-(from)e(the)390 3402 y(directory)c(name,)g(b)s(ecause)f(its)h(result)f
-(will)h(b)s(e)e(passed)h(directly)h(to)g Fs(opendir\(\))p
-Ft(.)390 3552 y(The)37 b(directory)i(rewrite)f(ho)s(ok)f(returns)g(an)h
-(in)m(teger)h(that)f(should)f(b)s(e)g(non-zero)i(if)e(the)i(func-)390
-3662 y(tion)c(mo)s(di\014es)e(its)i(directory)f(argumen)m(t.)53
+b(Programming)30 b(with)g(GNU)h(Readline)1683 b(58)390
+299 y(with)24 b Fk(text)p Ft(,)i Fk(matc)m(h)p 1050 299
+28 4 v 41 w(t)m(yp)s(e)p Ft(,)f(and)f Fk(quote)p 1705
+299 V 40 w(p)s(oin)m(ter)p Ft(.)39 b(The)23 b Fk(text)k
+Ft(is)d(the)g(\014lename)g(to)h(b)s(e)e(quoted.)38 b(The)390
+408 y Fk(matc)m(h)p 640 408 V 41 w(t)m(yp)s(e)e Ft(is)30
+b(either)h Fs(SINGLE_MATCH)p Ft(,)c(if)j(there)h(is)f(only)g(one)h
+(completion)h(matc)m(h,)f(or)f Fs(MULT_)390 518 y(MATCH)p
+Ft(.)61 b(Some)38 b(functions)g(use)f(this)h(to)g(decide)g(whether)f
+(or)h(not)g(to)h(insert)e(a)h(closing)h(quote)390 628
+y(c)m(haracter.)62 b(The)36 b Fk(quote)p 1260 628 V 41
+w(p)s(oin)m(ter)43 b Ft(is)37 b(a)g(p)s(oin)m(ter)g(to)h(an)m(y)f(op)s
+(ening)g(quote)g(c)m(haracter)i(the)e(user)390 737 y(t)m(yp)s(ed.)79
+b(Some)43 b(functions)f(c)m(ho)s(ose)i(to)g(reset)g(this)f(c)m
+(haracter)h(if)f(they)h(decide)f(to)h(quote)g(the)390
+847 y(\014lename)30 b(in)f(a)h(di\013eren)m(t)g(st)m(yle.)42
+b(It's)29 b(preferable)h(to)g(preserv)m(e)g(the)f(user's)g(quoting)h
+(as)g(m)m(uc)m(h)g(as)390 956 y(p)s(ossible)g({)h(it's)g(less)f
+(disruptiv)m(e.)3371 1148 y([V)-8 b(ariable])-3598 b
+Fh(rl_dequote_func_t)57 b(*)c(rl_filename_dequoting_)q(fun)q(cti)q(on)
+390 1258 y Ft(A)30 b(p)s(oin)m(ter)f(to)i(a)f(function)f(that)h(will)g
+(remo)m(v)m(e)h(application-sp)s(eci\014c)g(quoting)f(c)m(haracters)h
+(from)390 1367 y(a)38 b(\014lename)h(b)s(efore)f(attempting)h
+(completion,)j(so)c(those)g(c)m(haracters)i(do)e(not)g(in)m(terfere)h
+(with)390 1477 y(matc)m(hing)33 b(the)f(text)g(against)h(names)f(in)f
+(the)h(\014lesystem.)45 b(It)31 b(is)h(called)h(with)e
+Fk(text)p Ft(,)i(the)f(text)h(of)390 1586 y(the)24 b(w)m(ord)g(to)g(b)s
+(e)g(dequoted,)h(and)f Fk(quote)p 1788 1586 V 40 w(c)m(har)p
+Ft(,)i(whic)m(h)e(is)g(the)g(quoting)g(c)m(haracter)i(that)e(delimits)
+390 1696 y(the)f(\014lename)h(\(usually)f(`)p Fs(')p
+Ft(')g(or)g(`)p Fs(")p Ft('\).)39 b(If)23 b Fk(quote)p
+1961 1696 V 40 w(c)m(har)30 b Ft(is)23 b(zero,)j(the)d(\014lename)h(w)m
+(as)f(not)h(in)e(a)i(quoted)390 1806 y(string.)3371 1997
+y([V)-8 b(ariable])-3598 b Fh(rl_linebuf_func_t)57 b(*)c
+(rl_char_is_quoted_p)390 2107 y Ft(A)29 b(p)s(oin)m(ter)h(to)g(a)f
+(function)g(to)h(call)h(that)f(determines)f(whether)g(or)g(not)h(a)f
+(sp)s(eci\014c)g(c)m(haracter)i(in)390 2216 y(the)k(line)g(bu\013er)f
+(is)h(quoted,)h(according)g(to)g(whatev)m(er)f(quoting)g(mec)m(hanism)h
+(the)f(application)390 2326 y(uses.)k(The)26 b(function)g(is)h(called)h
+(with)e(t)m(w)m(o)i(argumen)m(ts:)39 b Fk(text)p Ft(,)28
+b(the)f(text)h(of)f(the)f(line,)i(and)e Fk(index)p Ft(,)390
+2435 y(the)31 b(index)e(of)i(the)f(c)m(haracter)i(in)e(the)h(line.)41
+b(It)30 b(is)h(used)e(to)i(decide)g(whether)f(a)g(c)m(haracter)i(found)
+390 2545 y(in)40 b Fs(rl_completer_word_break_ch)o(arac)o(ter)o(s)35
+b Ft(should)40 b(b)s(e)g(used)g(to)h(break)g(w)m(ords)f(for)h(the)390
+2655 y(completer.)3371 2846 y([V)-8 b(ariable])-3598
+b Fh(rl_compignore_func_t)58 b(*)53 b(rl_ignore_some_complet)q(ion)q
+(s_fu)q(nct)q(ion)390 2956 y Ft(Readline)39 b(calls)g(this)f(function,)
+h(if)f(de\014ned,)h(when)e(\014lename)h(completion)i(is)e(done,)i
+(after)e(all)390 3065 y(the)f(matc)m(hing)i(names)e(ha)m(v)m(e)h(b)s
+(een)f(generated.)62 b(It)38 b(is)f(passed)g(a)g Fs(NULL)f
+Ft(terminated)i(arra)m(y)g(of)390 3175 y(matc)m(hes.)65
+b(The)37 b(\014rst)h(elemen)m(t)h(\()p Fs(matches[0])p
+Ft(\))d(is)i(the)g(maximal)h(substring)e(common)h(to)h(all)390
+3285 y(matc)m(hes.)45 b(This)30 b(function)h(can)h(re-arrange)g(the)f
+(list)h(of)g(matc)m(hes)g(as)g(required,)f(but)g(m)m(ust)g(free)390
+3394 y(eac)m(h)h(elemen)m(t)f(it)g(deletes)h(from)e(the)g(arra)m(y)-8
+b(.)3371 3586 y([V)g(ariable])-3598 b Fh(rl_icppfunc_t)56
+b(*)d(rl_directory_completio)q(n_ho)q(ok)390 3695 y Ft(This)21
+b(function,)j(if)f(de\014ned,)f(is)h(allo)m(w)m(ed)h(to)f(mo)s(dify)e
+(the)i(directory)g(p)s(ortion)e(of)i(\014lenames)f(during)390
+3805 y(completion.)40 b(It)23 b(could)g(b)s(e)g(used)f(to)i(expand)f
+(sym)m(b)s(olic)g(links)g(or)h(shell)f(v)-5 b(ariables)24
+b(in)f(pathnames.)390 3914 y(It)29 b(is)f(called)i(with)f(the)g
+(address)e(of)i(a)g(string)g(\(the)g(curren)m(t)g(directory)g(name\))g
+(as)g(an)f(argumen)m(t,)390 4024 y(and)j(ma)m(y)g(mo)s(dify)g(that)g
+(string.)43 b(If)31 b(the)g(function)g(replaces)h(the)g(string)f(with)g
+(a)g(new)g(string,)g(it)390 4134 y(should)f(free)i(the)f(old)h(v)-5
+b(alue.)43 b(An)m(y)32 b(mo)s(di\014ed)e(directory)i(name)f(should)f
+(ha)m(v)m(e)j(a)e(trailing)i(slash.)390 4243 y(The)38
+b(mo)s(di\014ed)f(v)-5 b(alue)38 b(will)h(b)s(e)e(used)h(as)g(part)g
+(of)g(the)h(completion,)i(replacing)e(the)f(directory)390
+4353 y(p)s(ortion)h(of)g(the)g(pathname)h(the)f(user)f(t)m(yp)s(ed.)67
+b(A)m(t)40 b(the)g(least,)j(ev)m(en)c(if)h(no)f(other)g(expansion)390
+4462 y(is)g(p)s(erformed,)g(this)g(function)f(should)g(remo)m(v)m(e)i
+(an)m(y)f(quote)g(c)m(haracters)h(from)f(the)f(directory)390
+4572 y(name,)31 b(b)s(ecause)f(its)h(result)f(will)h(b)s(e)f(passed)f
+(directly)i(to)h Fs(opendir\(\))p Ft(.)390 4710 y(The)25
+b(directory)i(completion)g(ho)s(ok)e(returns)g(an)h(in)m(teger)h(that)f
+(should)f(b)s(e)g(non-zero)i(if)e(the)i(func-)390 4820
+y(tion)35 b(mo)s(di\014es)e(its)i(directory)f(argumen)m(t.)53
 b(The)33 b(function)h(should)f(not)i(mo)s(dify)e(the)h(directory)390
-3771 y(argumen)m(t)d(if)f(it)h(returns)e(0.)3371 3987
+4929 y(argumen)m(t)d(if)f(it)h(returns)e(0.)3371 5121
 y([V)-8 b(ariable])-3598 b Fh(rl_icppfunc_t)56 b(*)d
-(rl_filename_stat_hook)390 4097 y Ft(If)30 b(non-zero,)h(this)f(is)g
-(the)g(address)f(of)h(a)h(function)f(for)f(the)i(completer)g(to)g(call)
-g(b)s(efore)f(deciding)390 4206 y(whic)m(h)g(c)m(haracter)i(to)e(app)s
-(end)f(to)i(a)f(completed)h(name.)41 b(This)29 b(function)h(mo)s
-(di\014es)f(its)i(\014lename)390 4316 y(name)36 b(argumen)m(t,)h(and)e
-(the)h(mo)s(di\014ed)e(v)-5 b(alue)36 b(is)g(passed)f(to)h
-Fs(stat\(\))e Ft(to)i(determine)g(the)g(\014le's)390
-4426 y(t)m(yp)s(e)41 b(and)f(c)m(haracteristics.)73 b(This)40
-b(function)g(do)s(es)g(not)h(need)f(to)h(remo)m(v)m(e)h(quote)f(c)m
-(haracters)390 4535 y(from)30 b(the)g(\014lename.)390
-4686 y(The)40 b(stat)h(ho)s(ok)f(returns)f(an)h(in)m(teger)h(that)g
-(should)e(b)s(e)h(non-zero)g(if)h(the)f(function)g(mo)s(di\014es)390
-4795 y(its)32 b(directory)f(argumen)m(t.)44 b(The)31
-b(function)f(should)h(not)g(mo)s(dify)g(the)g(directory)h(argumen)m(t)f
-(if)g(it)390 4905 y(returns)e(0.)3371 5121 y([V)-8 b(ariable])-3598
-b Fh(rl_dequote_func_t)57 b(*)c(rl_filename_rewrite_ho)q(ok)390
-5230 y Ft(If)39 b(non-zero,)k(this)d(is)f(the)h(address)f(of)h(a)g
-(function)g(called)g(when)f(reading)h(directory)g(en)m(tries)390
-5340 y(from)25 b(the)h(\014lesystem)f(for)h(completion)g(and)f
-(comparing)h(them)f(to)i(the)e(\014lename)h(p)s(ortion)f(of)h(the)p
-eop end
+(rl_directory_rewrite_h)q(ook;)390 5230 y Ft(If)42 b(non-zero,)47
+b(this)c(is)g(the)g(address)f(of)h(a)g(function)g(to)g(call)h(when)e
+(completing)i(a)f(directory)390 5340 y(name.)60 b(This)36
+b(function)g(tak)m(es)i(the)f(address)f(of)h(the)g(directory)g(name)g
+(to)g(b)s(e)g(mo)s(di\014ed)e(as)i(an)p eop end
 %%Page: 59 63
 TeXDict begin 59 62 bop 150 -116 a Ft(Chapter)30 b(2:)41
 b(Programming)30 b(with)g(GNU)h(Readline)1683 b(59)390
-299 y(partial)41 b(w)m(ord)e(to)i(b)s(e)e(completed)i(\(after)f(its)h
-(p)s(oten)m(tial)g(mo)s(di\014cation)f(b)m(y)g Fs(rl_completion_)390
-408 y(rewrite_hook)p Ft(\).)52 b(The)35 b(function)g(should)f(p)s
-(erform)g(an)m(y)i(necessary)g(application)g(or)f(system-)390
-518 y(sp)s(eci\014c)45 b(con)m(v)m(ersion)i(on)e(the)h(\014lename,)j
-(suc)m(h)c(as)h(con)m(v)m(erting)h(b)s(et)m(w)m(een)f(c)m(haracter)h
-(sets)f(or)390 628 y(con)m(v)m(erting)33 b(from)e(a)g(\014lesystem)h
-(format)f(to)h(a)g(c)m(haracter)g(input)f(format.)43
-b(The)31 b(function)f(tak)m(es)390 737 y(t)m(w)m(o)e(argumen)m(ts:)38
-b Fk(fname)p Ft(,)28 b(the)e(\014lename)g(to)h(b)s(e)f(con)m(v)m
-(erted,)j(and)c Fk(fnlen)p Ft(,)i(its)f(length)h(in)f(b)m(ytes.)40
-b(It)390 847 y(m)m(ust)33 b(either)h(return)f(its)g(\014rst)g(argumen)m
-(t)h(\(if)g(no)f(con)m(v)m(ersion)i(tak)m(es)g(place\))f(or)g(the)f
-(con)m(v)m(erted)390 956 y(\014lename)d(in)g(newly-allo)s(cated)j
-(memory)-8 b(.)41 b(The)30 b(con)m(v)m(erted)h(form)f(is)g(used)g(to)h
-(compare)g(against)390 1066 y(the)25 b(w)m(ord)f(to)i(b)s(e)e
-(completed,)j(and,)f(if)e(it)h(matc)m(hes,)j(is)d(added)f(to)h(the)g
-(list)g(of)g(matc)m(hes.)40 b(Readline)390 1176 y(will)31
-b(free)f(the)h(allo)s(cated)h(string.)3371 1358 y([V)-8
-b(ariable])-3598 b Fh(rl_dequote_func_t)57 b(*)c
-(rl_completion_rewrite_)q(hoo)q(k)390 1468 y Ft(If)38
-b(non-zero,)i(this)e(is)g(the)h(address)e(of)h(a)h(function)e(to)i
-(call)g(b)s(efore)f(comparing)g(the)h(\014lename)390
-1577 y(p)s(ortion)e(of)g(a)g(w)m(ord)g(to)g(b)s(e)g(completed)h(with)f
-(directory)g(en)m(tries)h(from)e(the)i(\014lesystem.)60
-b(The)390 1687 y(function)38 b(tak)m(es)i(t)m(w)m(o)g(argumen)m(ts:)57
-b Fk(fname)p Ft(,)41 b(the)d(\014lename)h(to)g(b)s(e)f(con)m(v)m
-(erted,)k(after)d(an)m(y)g Fs(rl_)390 1797 y(filename_dequoting_funct)o
-(ion)27 b Ft(has)34 b(b)s(een)f(applied,)h(and)g Fk(fnlen)p
-Ft(,)g(its)g(length)g(in)f(b)m(ytes.)52 b(It)390 1906
-y(m)m(ust)33 b(either)h(return)f(its)g(\014rst)g(argumen)m(t)h(\(if)g
-(no)f(con)m(v)m(ersion)i(tak)m(es)g(place\))f(or)g(the)f(con)m(v)m
-(erted)390 2016 y(\014lename)44 b(in)g(newly-allo)s(cated)i(memory)-8
-b(.)82 b(The)44 b(function)f(should)h(p)s(erform)e(an)m(y)j(necessary)
-390 2125 y(application)29 b(or)e(system-sp)s(eci\014c)h(con)m(v)m
-(ersion)h(on)f(the)f(\014lename,)i(suc)m(h)e(as)h(con)m(v)m(erting)h(b)
-s(et)m(w)m(een)390 2235 y(c)m(haracter)44 b(sets)e(or)g(con)m(v)m
-(erting)i(from)d(a)h(c)m(haracter)i(input)d(format)h(to)h(some)f(other)
-g(format.)390 2345 y(Readline)31 b(compares)g(the)f(con)m(v)m(erted)i
-(form)e(against)h(directory)g(en)m(tries,)g(after)g(their)f(p)s(oten)m
-(tial)390 2454 y(mo)s(di\014cation)41 b(b)m(y)f Fs
-(rl_filename_rewrite_hook)p Ft(,)d(and)j(adds)g(an)m(y)h(matc)m(hes)g
-(to)h(the)f(list)g(of)390 2564 y(matc)m(hes.)h(Readline)31
-b(will)g(free)f(the)h(allo)s(cated)h(string.)3371 2746
-y([V)-8 b(ariable])-3598 b Fh(rl_compdisp_func_t)58 b(*)52
-b(rl_completion_display)q(_ma)q(tch)q(es_h)q(ook)390
-2856 y Ft(If)22 b(non-zero,)i(then)e(this)g(is)g(the)g(address)f(of)h
-(a)g(function)g(to)h(call)g(when)e(completing)i(a)g(w)m(ord)e(w)m(ould)
-390 2966 y(normally)h(displa)m(y)h(the)f(list)h(of)f(p)s(ossible)g
-(matc)m(hes.)39 b(This)21 b(function)h(is)g(called)i(in)e(lieu)g(of)g
-(Readline)390 3075 y(displa)m(ying)37 b(the)h(list.)61
-b(It)37 b(tak)m(es)i(three)e(argumen)m(ts:)54 b(\()p
-Fs(char)30 b(**)p Fk(matc)m(hes)p Ft(,)39 b Fs(int)d
-Fk(n)m(um)p 3370 3075 28 4 v 40 w(matc)m(hes)p Ft(,)390
-3185 y Fs(int)26 b Fk(max)p 735 3185 V 40 w(length)p
-Ft(\))h(where)f Fk(matc)m(hes)31 b Ft(is)c(the)f(arra)m(y)h(of)g(matc)m
-(hing)g(strings,)h Fk(n)m(um)p 3152 3185 V 39 w(matc)m(hes)j
-Ft(is)c(the)390 3294 y(n)m(um)m(b)s(er)35 b(of)i(strings)f(in)g(that)h
-(arra)m(y)-8 b(,)39 b(and)d Fk(max)p 2073 3294 V 40 w(length)h
-Ft(is)g(the)f(length)h(of)g(the)f(longest)i(string)390
-3404 y(in)f(that)i(arra)m(y)-8 b(.)63 b(Readline)39 b(pro)m(vides)e(a)h
-(con)m(v)m(enience)i(function,)f Fs(rl_display_match_list)p
-Ft(,)390 3513 y(that)33 b(tak)m(es)g(care)g(of)f(doing)g(the)g(displa)m
-(y)g(to)h(Readline's)g(output)e(stream.)46 b(Y)-8 b(ou)33
-b(ma)m(y)f(call)h(that)390 3623 y(function)d(from)g(this)g(ho)s(ok.)
-3371 3806 y([V)-8 b(ariable])-3598 b Fh(const)54 b(char)f(*)g
-(rl_basic_word_break_ch)q(ara)q(cter)q(s)390 3915 y Ft(The)44
-b(basic)g(list)h(of)f(c)m(haracters)i(that)f(signal)g(a)f(break)g(b)s
-(et)m(w)m(een)h(w)m(ords)f(for)g(the)g(completer)390
-4025 y(routine.)61 b(The)37 b(default)g(v)-5 b(alue)37
+299 y(argumen)m(t.)67 b(Unlik)m(e)40 b Fs(rl_directory_completion_h)o
+(ook)p Ft(,)35 b(it)40 b(only)f(mo)s(di\014es)f(the)h(directory)390
+408 y(name)f(used)e(in)h Fs(opendir\(\))p Ft(,)g(not)h(what)g(Readline)
+g(displa)m(ys)f(when)g(it)h(prin)m(ts)f(or)g(inserts)h(the)390
+518 y(p)s(ossible)j(completions.)76 b(Readline)42 b(calls)h(this)f(b)s
+(efore)f(rl)p 2453 518 28 4 v 40 w(directory)p 2849 518
+V 40 w(completion)p 3322 518 V 42 w(ho)s(ok.)74 b(A)m(t)390
+628 y(the)35 b(least,)j(ev)m(en)e(if)f(no)g(other)g(expansion)g(is)g(p)
+s(erformed,)g(this)g(function)g(should)f(remo)m(v)m(e)j(an)m(y)390
+737 y(quote)e(c)m(haracters)h(from)e(the)h(directory)f(name,)i(b)s
+(ecause)f(its)f(result)h(will)g(b)s(e)e(passed)h(directly)390
+847 y(to)d Fs(opendir\(\))p Ft(.)390 988 y(The)37 b(directory)i
+(rewrite)f(ho)s(ok)f(returns)g(an)h(in)m(teger)h(that)f(should)f(b)s(e)
+g(non-zero)i(if)e(the)i(func-)390 1098 y(tion)c(mo)s(di\014es)e(its)i
+(directory)f(argumen)m(t.)53 b(The)33 b(function)h(should)f(not)i(mo)s
+(dify)e(the)h(directory)390 1207 y(argumen)m(t)d(if)f(it)h(returns)e
+(0.)3371 1405 y([V)-8 b(ariable])-3598 b Fh(rl_icppfunc_t)56
+b(*)d(rl_filename_stat_hook)390 1515 y Ft(If)30 b(non-zero,)h(this)f
+(is)g(the)g(address)f(of)h(a)h(function)f(for)f(the)i(completer)g(to)g
+(call)g(b)s(efore)f(deciding)390 1625 y(whic)m(h)g(c)m(haracter)i(to)e
+(app)s(end)f(to)i(a)f(completed)h(name.)41 b(This)29
+b(function)h(mo)s(di\014es)f(its)i(\014lename)390 1734
+y(name)g(argumen)m(t,)h(and)e(Readline)i(passes)f(the)g(mo)s(di\014ed)f
+(v)-5 b(alue)31 b(to)h Fs(stat\(\))d Ft(to)j(determine)f(the)390
+1844 y(\014le's)24 b(t)m(yp)s(e)g(and)f(c)m(haracteristics.)41
+b(This)23 b(function)g(do)s(es)g(not)h(need)g(to)g(remo)m(v)m(e)h
+(quote)f(c)m(haracters)390 1953 y(from)30 b(the)g(\014lename.)390
+2095 y(The)40 b(stat)h(ho)s(ok)f(returns)f(an)h(in)m(teger)h(that)g
+(should)e(b)s(e)h(non-zero)g(if)h(the)f(function)g(mo)s(di\014es)390
+2204 y(its)32 b(directory)f(argumen)m(t.)44 b(The)31
+b(function)f(should)h(not)g(mo)s(dify)g(the)g(directory)h(argumen)m(t)f
+(if)g(it)390 2314 y(returns)e(0.)3371 2512 y([V)-8 b(ariable])-3598
+b Fh(rl_dequote_func_t)57 b(*)c(rl_filename_rewrite_ho)q(ok)390
+2621 y Ft(If)31 b(non-zero,)h(this)f(is)h(the)f(address)g(of)g(a)h
+(function)f(for)g(Readline)h(to)g(call)h(when)d(reading)i(direc-)390
+2731 y(tory)h(en)m(tries)h(from)f(the)g(\014lesystem)g(for)g
+(completion)h(and)f(comparing)g(them)g(to)h(the)f(\014lename)390
+2841 y(p)s(ortion)27 b(of)g(the)h(partial)g(w)m(ord)f(b)s(eing)g
+(completed.)40 b(It)28 b(mo)s(di\014es)e(the)i(\014lesystem)f(en)m
+(tries,)i(as)f(op-)390 2950 y(p)s(osed)33 b(to)h Fs
+(rl_completion_rewrite_h)o(ook)o Ft(,)29 b(whic)m(h)k(mo)s(di\014es)f
+(the)i(w)m(ord)f(b)s(eing)g(completed.)390 3060 y(The)h(function)g(tak)
+m(es)i(t)m(w)m(o)g(argumen)m(ts:)49 b Fk(fname)p Ft(,)36
+b(the)e(\014lename)h(to)g(b)s(e)f(con)m(v)m(erted,)j(and)d
+Fk(fnlen)p Ft(,)390 3169 y(its)j(length)h(in)e(b)m(ytes.)61
+b(It)37 b(m)m(ust)g(either)g(return)f(its)i(\014rst)e(argumen)m(t)h
+(\(if)g(no)g(con)m(v)m(ersion)h(tak)m(es)390 3279 y(place\))k(or)e(the)
+h(con)m(v)m(erted)h(\014lename)f(in)f(newly-allo)s(cated)i(memory)-8
+b(.)72 b(The)40 b(function)g(should)390 3389 y(p)s(erform)25
+b(an)m(y)h(necessary)h(application)g(or)f(system-sp)s(eci\014c)h(con)m
+(v)m(ersion)g(on)f(the)h(\014lename,)g(suc)m(h)390 3498
+y(as)f(con)m(v)m(erting)h(b)s(et)m(w)m(een)f(c)m(haracter)h(sets)f(or)f
+(con)m(v)m(erting)j(from)d(a)h(\014lesystem)f(format)h(to)g(a)g(c)m
+(har-)390 3608 y(acter)39 b(input)d(format.)63 b(Readline)38
+b(compares)g(the)g(con)m(v)m(erted)h(form)e(against)i(the)f(w)m(ord)f
+(to)i(b)s(e)390 3717 y(completed,)f(and,)e(if)f(it)h(matc)m(hes,)i
+(adds)c(it)i(to)g(the)f(list)h(of)f(matc)m(hes.)57 b(Readline)36
+b(will)f(free)h(the)390 3827 y(allo)s(cated)c(string.)3371
+4025 y([V)-8 b(ariable])-3598 b Fh(rl_dequote_func_t)57
+b(*)c(rl_completion_rewrite_)q(hoo)q(k)390 4134 y Ft(If)27
+b(non-zero,)h(this)g(is)f(the)g(address)g(of)g(a)h(function)f(for)g
+(Readline)h(to)g(call)g(b)s(efore)f(comparing)h(the)390
+4244 y(\014lename)e(p)s(ortion)f(of)h(a)g(w)m(ord)f(to)h(b)s(e)f
+(completed)i(with)e(directory)h(en)m(tries)g(from)g(the)f
+(\014lesystem.)390 4354 y(It)38 b(mo)s(di\014es)g(the)h(w)m(ord)f(b)s
+(eing)g(completed,)j(as)e(opp)s(osed)e(to)i Fs
+(rl_filename_rewrite_hook)p Ft(,)390 4463 y(whic)m(h)j(mo)s(di\014es)f
+(\014lesystem)h(en)m(tries.)76 b(The)41 b(function)h(tak)m(es)h(t)m(w)m
+(o)g(argumen)m(ts:)64 b Fk(fname)p Ft(,)45 b(the)390
+4573 y(w)m(ord)d(to)h(b)s(e)f(con)m(v)m(erted,)47 b(after)c(an)m(y)g
+Fs(rl_filename_dequoting_f)o(unct)o(ion)36 b Ft(has)42
+b(b)s(een)g(ap-)390 4682 y(plied,)c(and)e Fk(fnlen)p
+Ft(,)h(its)g(length)g(in)f(b)m(ytes.)60 b(It)36 b(m)m(ust)h(either)g
+(return)e(its)i(\014rst)e(argumen)m(t)i(\(if)g(no)390
+4792 y(con)m(v)m(ersion)i(tak)m(es)h(place\))f(or)f(the)g(con)m(v)m
+(erted)h(\014lename)f(in)g(newly-allo)s(cated)i(memory)-8
+b(.)63 b(The)390 4902 y(function)37 b(should)f(p)s(erform)f(an)m(y)j
+(necessary)f(application)h(or)f(system-sp)s(eci\014c)h(con)m(v)m
+(ersion)g(on)390 5011 y(the)24 b(\014lename,)i(suc)m(h)d(as)i(con)m(v)m
+(erting)g(b)s(et)m(w)m(een)g(c)m(haracter)h(sets)e(or)g(con)m(v)m
+(erting)i(from)d(a)h(c)m(haracter)390 5121 y(input)35
+b(format)h(to)h(some)f(other)h(format.)58 b(Readline)36
+b(compares)h(the)f(con)m(v)m(erted)h(form)f(against)390
+5230 y(directory)e(en)m(tries,)h(after)f(their)f(p)s(oten)m(tial)i(mo)s
+(di\014cation)e(b)m(y)g Fs(rl_filename_rewrite_hook)p
+Ft(,)390 5340 y(and)d(adds)f(an)m(y)i(matc)m(hes)h(to)f(the)f(list)h
+(of)g(matc)m(hes.)42 b(Readline)31 b(will)f(free)h(the)g(allo)s(cated)h
+(string.)p eop end
+%%Page: 60 64
+TeXDict begin 60 63 bop 150 -116 a Ft(Chapter)30 b(2:)41
+b(Programming)30 b(with)g(GNU)h(Readline)1683 b(60)3371
+299 y([V)-8 b(ariable])-3598 b Fh(rl_compdisp_func_t)58
+b(*)52 b(rl_completion_display)q(_ma)q(tch)q(es_h)q(ook)390
+408 y Ft(If)39 b(non-zero,)j(then)c(this)h(is)g(the)h(address)e(of)h(a)
+h(function)e(to)i(call)g(when)f(completing)h(a)f(w)m(ord)390
+518 y(w)m(ould)44 b(normally)h(displa)m(y)g(the)f(list)h(of)g(p)s
+(ossible)f(matc)m(hes.)84 b(Readline)45 b(calls)h(this)e(function)390
+628 y(instead)j(of)f(displa)m(ying)h(the)g(list)g(itself.)89
+b(It)47 b(tak)m(es)h(three)e(argumen)m(ts:)74 b(\()p
+Fs(char)29 b(**)p Fk(matc)m(hes)p Ft(,)390 737 y Fs(int)h
+Fk(n)m(um)p 745 737 28 4 v 39 w(matc)m(hes)p Ft(,)j Fs(int)d
+Fk(max)p 1505 737 V 40 w(length)p Ft(\))i(where)e Fk(matc)m(hes)36
+b Ft(is)31 b(the)g(arra)m(y)h(of)f(matc)m(hing)h(strings,)390
+847 y Fk(n)m(um)p 571 847 V 39 w(matc)m(hes)43 b Ft(is)37
+b(the)h(n)m(um)m(b)s(er)f(of)g(strings)h(in)f(that)h(arra)m(y)-8
+b(,)41 b(and)c Fk(max)p 2921 847 V 40 w(length)h Ft(is)g(the)g(length)
+390 956 y(of)i(the)g(longest)h(string)e(in)g(that)i(arra)m(y)-8
+b(.)69 b(Readline)40 b(pro)m(vides)g(a)g(con)m(v)m(enience)i(function,)
+g Fs(rl_)390 1066 y(display_match_list)p Ft(,)49 b(that)h(tak)m(es)g
+(care)g(of)g(doing)f(the)g(displa)m(y)h(to)f(Readline's)h(output)390
+1176 y(stream.)41 b(Y)-8 b(ou)31 b(ma)m(y)g(call)h(that)f(function)f
+(from)g(this)g(ho)s(ok.)3371 1354 y([V)-8 b(ariable])-3598
+b Fh(const)54 b(char)f(*)g(rl_basic_word_break_ch)q(ara)q(cter)q(s)390
+1463 y Ft(The)44 b(basic)g(list)h(of)f(c)m(haracters)i(that)f(signal)g
+(a)f(break)g(b)s(et)m(w)m(een)h(w)m(ords)f(for)g(the)g(completer)390
+1573 y(routine.)61 b(The)37 b(default)g(v)-5 b(alue)37
 b(of)h(this)f(v)-5 b(ariable)38 b(is)f(the)g(c)m(haracters)i(whic)m(h)e
-(break)g(w)m(ords)f(for)390 4134 y(completion)c(in)e(Bash:)41
-b Fs(")30 b(\\t\\n\\"\\\\'`@$><=;|&{\(")p Ft(.)3371 4317
+(break)g(w)m(ords)f(for)390 1682 y(completion)c(in)e(Bash:)41
+b Fs(")30 b(\\t\\n\\"\\\\'`@$><=;|&{\(")p Ft(.)3371 1861
 y([V)-8 b(ariable])-3598 b Fh(const)54 b(char)f(*)g
-(rl_basic_quote_charact)q(ers)390 4427 y Ft(A)30 b(list)i(of)e(quote)h
-(c)m(haracters)h(whic)m(h)e(can)h(cause)g(a)f(w)m(ord)g(break.)3371
-4609 y([V)-8 b(ariable])-3598 b Fh(const)54 b(char)f(*)g
-(rl_completer_word_brea)q(k_c)q(hara)q(cte)q(rs)390 4719
-y Ft(The)64 b(list)i(of)f(c)m(haracters)h(that)g(signal)g(a)f(break)g
-(b)s(et)m(w)m(een)g(w)m(ords)g(for)f Fs(rl_complete_)390
-4829 y(internal\(\))p Ft(.)38 b(The)30 b(default)g(list)h(is)g(the)f(v)
--5 b(alue)31 b(of)g Fs(rl_basic_word_break_cha)o(ract)o(ers)p
-Ft(.)3371 5011 y([V)-8 b(ariable])-3598 b Fh(rl_cpvfunc_t)56
-b(*)d(rl_completion_word_brea)q(k_ho)q(ok)390 5121 y
-Ft(If)31 b(non-zero,)i(this)e(is)h(the)f(address)g(of)g(a)h(function)g
-(to)g(call)h(when)d(Readline)i(is)g(deciding)f(where)390
-5230 y(to)k(separate)g(w)m(ords)f(for)g(w)m(ord)g(completion.)54
+(rl_basic_quote_charact)q(ers)390 1970 y Ft(A)32 b(list)g(of)g(quote)g
+(c)m(haracters)h(whic)m(h)f(can)g(cause)g(a)g(w)m(ord)g(break.)44
+b(The)31 b(default)h(v)-5 b(alue)32 b(includes)390 2080
+y(single)f(and)f(double)g(quotes.)3371 2258 y([V)-8 b(ariable])-3598
+b Fh(const)54 b(char)f(*)g(rl_completer_word_brea)q(k_c)q(hara)q(cte)q
+(rs)390 2367 y Ft(The)64 b(list)i(of)f(c)m(haracters)h(that)g(signal)g
+(a)f(break)g(b)s(et)m(w)m(een)g(w)m(ords)g(for)f Fs(rl_complete_)390
+2477 y(internal\(\))p Ft(.)i(These)39 b(c)m(haracters)i(determine)f(ho)
+m(w)f(Readline)i(decides)e(what)h(to)g(complete.)390
+2587 y(The)30 b(default)g(list)h(is)g(the)f(v)-5 b(alue)31
+b(of)g Fs(rl_basic_word_break_char)o(act)o(ers)p Ft(.)3371
+2765 y([V)-8 b(ariable])-3598 b Fh(rl_cpvfunc_t)56 b(*)d
+(rl_completion_word_brea)q(k_ho)q(ok)390 2874 y Ft(If)31
+b(non-zero,)i(this)e(is)h(the)f(address)g(of)g(a)h(function)g(to)g
+(call)h(when)d(Readline)i(is)g(deciding)f(where)390 2984
+y(to)k(separate)g(w)m(ords)f(for)g(w)m(ord)g(completion.)54
 b(It)34 b(should)f(return)g(a)i(c)m(haracter)h(string)e(lik)m(e)i
-Fs(rl_)390 5340 y(completer_word_break_cha)o(ract)o(ers)26
+Fs(rl_)390 3093 y(completer_word_break_cha)o(ract)o(ers)26
 b Ft(to)34 b(b)s(e)e(used)g(to)i(p)s(erform)e(the)h(curren)m(t)f
-(completion.)p eop end
-%%Page: 60 64
-TeXDict begin 60 63 bop 150 -116 a Ft(Chapter)30 b(2:)41
-b(Programming)30 b(with)g(GNU)h(Readline)1683 b(60)390
-299 y(The)24 b(function)h(ma)m(y)g(c)m(ho)s(ose)h(to)f(set)g
-Fs(rl_completer_word_break_ch)o(arac)o(ter)o(s)19 b Ft(itself.)39
-b(If)25 b(the)390 408 y(function)30 b(returns)f Fs(NULL)p
-Ft(,)h Fs(rl_completer_word_break)o(_cha)o(rac)o(ters)24
-b Ft(is)30 b(used.)3371 614 y([V)-8 b(ariable])-3598
-b Fh(const)54 b(char)f(*)g(rl_completer_quote_cha)q(rac)q(ters)390
-724 y Ft(A)34 b(list)g(of)g(c)m(haracters)h(whic)m(h)e(can)h(b)s(e)g
-(used)e(to)j(quote)f(a)g(substring)f(of)h(the)f(line.)51
-b(Completion)390 833 y(o)s(ccurs)26 b(on)g(the)g(en)m(tire)i
-(substring,)e(and)f(within)h(the)g(substring)g Fs
-(rl_completer_word_break)o(_)390 943 y(characters)32
-b Ft(are)k(treated)g(as)f(an)m(y)h(other)f(c)m(haracter,)j(unless)d
-(they)g(also)h(app)s(ear)e(within)h(this)390 1052 y(list.)3371
-1258 y([V)-8 b(ariable])-3598 b Fh(const)54 b(char)f(*)g
-(rl_filename_quote_char)q(act)q(ers)390 1367 y Ft(A)34
-b(list)g(of)g(c)m(haracters)h(that)f(cause)h(a)f(\014lename)g(to)g(b)s
-(e)f(quoted)h(b)m(y)f(the)h(completer)h(when)e(they)390
-1477 y(app)s(ear)d(in)g(a)h(completed)g(\014lename.)41
-b(The)30 b(default)g(is)h(the)f(n)m(ull)h(string.)3371
-1682 y([V)-8 b(ariable])-3598 b Fh(const)54 b(char)f(*)g
-(rl_special_prefixes)390 1792 y Ft(The)27 b(list)i(of)e(c)m(haracters)j
-(that)e(are)g(w)m(ord)f(break)h(c)m(haracters,)i(but)d(should)f(b)s(e)h
-(left)i(in)e Fk(text)k Ft(when)390 1902 y(it)25 b(is)g(passed)f(to)h
-(the)g(completion)h(function.)38 b(Programs)25 b(can)g(use)f(this)h(to)
-g(help)f(determine)h(what)390 2011 y(kind)i(of)h(completing)h(to)f(do.)
-40 b(F)-8 b(or)29 b(instance,)g(Bash)f(sets)g(this)g(v)-5
+(completion.)390 3203 y(The)24 b(function)h(ma)m(y)g(c)m(ho)s(ose)h(to)
+f(set)g Fs(rl_completer_word_break_ch)o(arac)o(ter)o(s)19
+b Ft(itself.)39 b(If)25 b(the)390 3313 y(function)30
+b(returns)f Fs(NULL)p Ft(,)h(Readline)h(uses)f Fs
+(rl_completer_word_break)o(_ch)o(arac)o(ters)o Ft(.)3371
+3491 y([V)-8 b(ariable])-3598 b Fh(const)54 b(char)f(*)g
+(rl_completer_quote_cha)q(rac)q(ters)390 3600 y Ft(A)34
+b(list)g(of)g(c)m(haracters)h(whic)m(h)e(can)h(b)s(e)g(used)e(to)j
+(quote)f(a)g(substring)f(of)h(the)f(line.)51 b(Completion)390
+3710 y(o)s(ccurs)23 b(on)g(the)g(en)m(tire)h(substring,)g(and)f(within)
+f(the)i(substring,)g Fs(rl_completer_word_break)o(_)390
+3819 y(characters)32 b Ft(are)k(treated)g(as)f(an)m(y)h(other)f(c)m
+(haracter,)j(unless)d(they)g(also)h(app)s(ear)e(within)h(this)390
+3929 y(list.)3371 4107 y([V)-8 b(ariable])-3598 b Fh(const)54
+b(char)f(*)g(rl_filename_quote_char)q(act)q(ers)390 4217
+y Ft(A)35 b(list)h(of)f(c)m(haracters)h(that)g(cause)f(Readline)h(to)f
+(quote)h(a)f(\014lename)h(when)d(they)j(app)s(ear)e(in)h(a)390
+4326 y(completed)c(\014lename.)41 b(The)30 b(default)h(is)f(the)h(n)m
+(ull)f(string.)3371 4504 y([V)-8 b(ariable])-3598 b Fh(const)54
+b(char)f(*)g(rl_special_prefixes)390 4614 y Ft(The)27
+b(list)i(of)e(c)m(haracters)j(that)e(are)g(w)m(ord)f(break)h(c)m
+(haracters,)i(but)d(should)f(b)s(e)h(left)i(in)e Fk(text)k
+Ft(when)390 4724 y(it)25 b(is)g(passed)f(to)h(the)g(completion)h
+(function.)38 b(Programs)25 b(can)g(use)f(this)h(to)g(help)f(determine)
+h(what)390 4833 y(kind)i(of)h(completing)h(to)f(do.)40
+b(F)-8 b(or)29 b(instance,)g(Bash)f(sets)g(this)g(v)-5
 b(ariable)28 b(to)h Fs(")p Ft($@)p Fs(")e Ft(so)h(that)g(it)h(can)390
-2121 y(complete)j(shell)e(v)-5 b(ariables)31 b(and)f(hostnames.)3371
-2326 y([V)-8 b(ariable])-3598 b Fh(int)53 b(rl_completion_query_i)q
-(tems)390 2436 y Ft(Up)36 b(to)h(this)f(man)m(y)g(items)h(will)f(b)s(e)
-g(displa)m(y)m(ed)h(in)e(resp)s(onse)h(to)h(a)f(p)s
-(ossible-completions)h(call.)390 2545 y(After)44 b(that,)49
-b(Readline)c(asks)f(the)h(user)e(for)h(con\014rmation)h(b)s(efore)e
-(displa)m(ying)i(them.)82 b(The)390 2655 y(default)36
-b(v)-5 b(alue)37 b(is)f(100.)58 b(A)36 b(negativ)m(e)i(v)-5
-b(alue)37 b(indicates)g(that)f(Readline)h(should)e(nev)m(er)h(ask)g
-(for)390 2765 y(con\014rmation.)3371 2970 y([V)-8 b(ariable])-3598
-b Fh(int)53 b(rl_completion_append_)q(char)q(act)q(er)390
-3080 y Ft(When)33 b(a)h(single)f(completion)i(alternativ)m(e)h(matc)m
-(hes)e(at)g(the)f(end)g(of)g(the)h(command)f(line,)h(this)390
-3189 y(c)m(haracter)23 b(is)e(app)s(ended)f(to)i(the)g(inserted)f
-(completion)i(text.)39 b(The)20 b(default)i(is)g(a)f(space)h(c)m
-(haracter)390 3299 y(\(`)31 b('\).)40 b(Setting)27 b(this)g(to)g(the)g
-(n)m(ull)f(c)m(haracter)j(\(`)p Fs(\\0)p Ft('\))e(prev)m(en)m(ts)g(an)m
-(ything)g(b)s(eing)f(app)s(ended)f(auto-)390 3408 y(matically)-8
-b(.)41 b(This)22 b(can)i(b)s(e)f(c)m(hanged)h(in)f(application-sp)s
-(eci\014c)h(completion)h(functions)e(to)h(pro)m(vide)390
-3518 y(the)d(\\most)i(sensible)e(w)m(ord)g(separator)h(c)m(haracter")h
-(according)f(to)g(an)f(application-sp)s(eci\014c)i(com-)390
-3628 y(mand)28 b(line)i(syn)m(tax)f(sp)s(eci\014cation.)42
-b(It)29 b(is)g(set)h(to)g(the)f(default)g(b)s(efore)g(an)m(y)g
-(application-sp)s(eci\014c)390 3737 y(completion)j(function)e(is)g
-(called,)i(and)e(ma)m(y)h(only)f(b)s(e)g(c)m(hanged)h(within)f(suc)m(h)
-g(a)h(function.)3371 3943 y([V)-8 b(ariable])-3598 b
-Fh(int)53 b(rl_completion_suppres)q(s_ap)q(pen)q(d)390
-4052 y Ft(If)33 b(non-zero,)i Fk(rl)p 949 4052 28 4 v
-39 w(completion)p 1421 4052 V 42 w(app)s(end)p 1755 4052
-V 38 w(c)m(haracter)42 b Ft(is)33 b(not)g(app)s(ended)f(to)i(matc)m
-(hes)g(at)g(the)g(end)390 4162 y(of)28 b(the)f(command)h(line,)h(as)e
-(describ)s(ed)g(ab)s(o)m(v)m(e.)41 b(It)27 b(is)h(set)g(to)g(0)g(b)s
-(efore)g(an)m(y)f(application-sp)s(eci\014c)390 4271
-y(completion)32 b(function)e(is)g(called,)i(and)e(ma)m(y)h(only)f(b)s
-(e)g(c)m(hanged)h(within)f(suc)m(h)g(a)h(function.)3371
-4477 y([V)-8 b(ariable])-3598 b Fh(int)53 b(rl_completion_quote_c)q
-(hara)q(cte)q(r)390 4587 y Ft(When)36 b(Readline)h(is)f(completing)h
-(quoted)g(text,)h(as)f(delimited)g(b)m(y)f(one)g(of)g(the)h(c)m
-(haracters)g(in)390 4696 y Fk(rl)p 457 4696 V 40 w(completer)p
-885 4696 V 41 w(quote)p 1145 4696 V 41 w(c)m(haracters)p
-Ft(,)43 b(it)c(sets)g(this)g(v)-5 b(ariable)40 b(to)g(the)f(quoting)g
-(c)m(haracter)i(found.)390 4806 y(This)30 b(is)g(set)h(b)s(efore)f(an)m
-(y)h(application-sp)s(eci\014c)g(completion)h(function)e(is)h(called.)
-3371 5011 y([V)-8 b(ariable])-3598 b Fh(int)53 b(rl_completion_suppres)
-q(s_qu)q(ote)390 5121 y Ft(If)32 b(non-zero,)h(Readline)g(do)s(es)f
-(not)h(app)s(end)d(a)j(matc)m(hing)g(quote)g(c)m(haracter)h(when)d(p)s
-(erforming)390 5230 y(completion)25 b(on)e(a)h(quoted)g(string.)38
-b(It)24 b(is)f(set)h(to)h(0)f(b)s(efore)f(an)m(y)h(application-sp)s
-(eci\014c)h(completion)390 5340 y(function)30 b(is)g(called,)i(and)e
-(ma)m(y)h(only)g(b)s(e)e(c)m(hanged)i(within)f(suc)m(h)g(a)h(function.)
-p eop end
+4943 y(complete)j(shell)e(v)-5 b(ariables)31 b(and)f(hostnames.)3371
+5121 y([V)-8 b(ariable])-3598 b Fh(int)53 b(rl_completion_query_i)q
+(tems)390 5230 y Ft(This)24 b(determines)h(the)g(maxim)m(um)f(n)m(um)m
+(b)s(er)g(of)h(items)g(that)h(p)s(ossible-completions)g(will)f(displa)m
+(y)390 5340 y(unconditionally)-8 b(.)49 b(If)32 b(there)h(are)g(more)g
+(p)s(ossible)g(completions)g(than)g(this,)g(Readline)h(asks)f(the)p
+eop end
 %%Page: 61 65
 TeXDict begin 61 64 bop 150 -116 a Ft(Chapter)30 b(2:)41
-b(Programming)30 b(with)g(GNU)h(Readline)1683 b(61)3371
-299 y([V)-8 b(ariable])-3598 b Fh(int)53 b(rl_completion_found_q)q
-(uote)390 408 y Ft(When)31 b(Readline)i(is)e(completing)i(quoted)f
+b(Programming)30 b(with)g(GNU)h(Readline)1683 b(61)390
+299 y(user)35 b(for)g(con\014rmation)g(b)s(efore)g(displa)m(ying)h
+(them.)56 b(The)35 b(default)g(v)-5 b(alue)36 b(is)f(100.)57
+b(A)36 b(negativ)m(e)390 408 y(v)-5 b(alue)31 b(indicates)g(that)g
+(Readline)g(should)e(nev)m(er)i(ask)g(for)f(con\014rmation.)3371
+587 y([V)-8 b(ariable])-3598 b Fh(int)53 b(rl_completion_append_)q
+(char)q(act)q(er)390 696 y Ft(When)48 b(a)h(single)g(completion)g
+(alternativ)m(e)i(matc)m(hes)e(at)g(the)g(end)e(of)i(the)f(command)g
+(line,)390 806 y(Readline)40 b(app)s(ends)d(this)i(c)m(haracter)i(to)f
+(the)f(inserted)g(completion)i(text.)68 b(The)39 b(default)g(is)h(a)390
+915 y(space)35 b(c)m(haracter)h(\(`)31 b('\).)54 b(Setting)35
+b(this)f(to)h(the)g(n)m(ull)f(c)m(haracter)i(\(`)p Fs(\\0)p
+Ft('\))f(prev)m(en)m(ts)g(an)m(ything)g(b)s(e-)390 1025
+y(ing)d(app)s(ended)f(automatically)-8 b(.)50 b(This)31
+b(can)h(b)s(e)g(c)m(hanged)h(in)f(application-sp)s(eci\014c)i
+(completion)390 1134 y(functions)k(to)h(pro)m(vide)g(the)g(\\most)g
+(sensible)g(w)m(ord)f(separator)h(c)m(haracter")i(according)f(to)f(an)
+390 1244 y(application-sp)s(eci\014c)31 b(command)f(line)h(syn)m(tax)f
+(sp)s(eci\014cation.)42 b(It)30 b(is)g(set)g(to)h(the)f(default)g(b)s
+(efore)390 1354 y(calling)f(an)m(y)e(application-sp)s(eci\014c)i
+(completion)f(function,)g(and)e(ma)m(y)i(only)f(b)s(e)g(c)m(hanged)g
+(within)390 1463 y(suc)m(h)j(a)h(function.)3371 1641
+y([V)-8 b(ariable])-3598 b Fh(int)53 b(rl_completion_suppres)q(s_ap)q
+(pen)q(d)390 1751 y Ft(If)24 b(non-zero,)i(Readline)g(will)e(not)h(app)
+s(end)e(the)h Fk(rl)p 2087 1751 28 4 v 40 w(completion)p
+2560 1751 V 42 w(app)s(end)p 2894 1751 V 38 w(c)m(haracter)33
+b Ft(to)25 b(matc)m(hes)390 1861 y(at)32 b(the)g(end)f(of)g(the)h
+(command)f(line,)i(as)e(describ)s(ed)g(ab)s(o)m(v)m(e.)45
+b(It)32 b(is)f(set)h(to)h(0)e(b)s(efore)h(calling)h(an)m(y)390
+1970 y(application-sp)s(eci\014c)46 b(completion)g(function,)i(and)c
+(ma)m(y)i(only)f(b)s(e)f(c)m(hanged)h(within)f(suc)m(h)h(a)390
+2080 y(function.)3371 2258 y([V)-8 b(ariable])-3598 b
+Fh(int)53 b(rl_completion_suppres)q(s_qu)q(ote)390 2367
+y Ft(If)32 b(non-zero,)h(Readline)g(do)s(es)f(not)h(app)s(end)d(a)j
+(matc)m(hing)g(quote)g(c)m(haracter)h(when)d(p)s(erforming)390
+2477 y(completion)38 b(on)e(a)h(quoted)g(string.)59 b(It)37
+b(is)f(set)h(to)g(0)g(b)s(efore)g(calling)h(an)m(y)e(application-sp)s
+(eci\014c)390 2587 y(completion)c(function,)e(and)g(ma)m(y)h(only)f(b)s
+(e)g(c)m(hanged)h(within)f(suc)m(h)g(a)h(function.)3371
+2765 y([V)-8 b(ariable])-3598 b Fh(int)53 b(rl_completion_found_q)q
+(uote)390 2874 y Ft(When)31 b(Readline)i(is)e(completing)i(quoted)f
 (text,)h(it)f(sets)g(this)g(v)-5 b(ariable)32 b(to)h(a)f(non-zero)g(v)
--5 b(alue)32 b(if)390 518 y(the)21 b(w)m(ord)g(b)s(eing)g(completed)h
+-5 b(alue)32 b(if)390 2984 y(the)21 b(w)m(ord)g(b)s(eing)g(completed)h
 (con)m(tains)g(or)f(is)g(delimited)h(b)m(y)f(an)m(y)g(quoting)h(c)m
-(haracters,)i(including)390 628 y(bac)m(kslashes.)42
-b(This)29 b(is)i(set)g(b)s(efore)f(an)m(y)g(application-sp)s(eci\014c)i
-(completion)g(function)e(is)g(called.)3371 800 y([V)-8
-b(ariable])-3598 b Fh(int)53 b(rl_completion_mark_sy)q(mlin)q(k_d)q
-(irs)390 909 y Ft(If)31 b(non-zero,)i(a)f(slash)g(will)g(b)s(e)f(app)s
-(ended)f(to)j(completed)g(\014lenames)e(that)i(are)f(sym)m(b)s(olic)g
-(links)390 1019 y(to)25 b(directory)g(names,)g(sub)5
+(haracters,)i(including)390 3093 y(bac)m(kslashes.)42
+b(This)29 b(is)i(set)g(b)s(efore)f(calling)h(an)m(y)g(application-sp)s
+(eci\014c)h(completion)g(function.)3371 3271 y([V)-8
+b(ariable])-3598 b Fh(int)53 b(rl_completion_quote_c)q(hara)q(cte)q(r)
+390 3381 y Ft(When)36 b(Readline)h(is)f(completing)h(quoted)g(text,)h
+(as)f(delimited)g(b)m(y)f(one)g(of)g(the)h(c)m(haracters)g(in)390
+3491 y Fk(rl)p 457 3491 V 40 w(completer)p 885 3491 V
+41 w(quote)p 1145 3491 V 41 w(c)m(haracters)p Ft(,)31
+b(it)f(sets)f(this)g(v)-5 b(ariable)30 b(to)g(the)g(quoting)f(c)m
+(haracter)i(it)f(found.)390 3600 y(This)g(is)g(set)h(b)s(efore)f
+(calling)i(an)m(y)e(application-sp)s(eci\014c)i(completion)g(function.)
+3371 3778 y([V)-8 b(ariable])-3598 b Fh(int)53 b(rl_completion_mark_sy)
+q(mlin)q(k_d)q(irs)390 3888 y Ft(If)29 b(non-zero,)i(Readline)g(app)s
+(ends)d(a)i(slash)g(to)g(completed)h(\014lenames)f(that)h(are)f(sym)m
+(b)s(olic)g(links)390 3998 y(to)25 b(directory)g(names,)g(sub)5
 b(ject)24 b(to)h(the)f(v)-5 b(alue)25 b(of)f(the)h(user-settable)g
-Fk(mark-directories)k Ft(v)-5 b(ariable.)390 1129 y(This)27
+Fk(mark-directories)k Ft(v)-5 b(ariable.)390 4107 y(This)27
 b(v)-5 b(ariable)28 b(exists)g(so)f(that)h(application-sp)s(eci\014c)h
 (completion)g(functions)e(can)g(o)m(v)m(erride)i(the)390
-1238 y(user's)42 b(global)h(preference)g(\(set)g(via)g(the)f
-Fk(mark-symlink)m(ed-directories)48 b Ft(Readline)43
-b(v)-5 b(ariable\))390 1348 y(if)38 b(appropriate.)62
-b(This)37 b(v)-5 b(ariable)38 b(is)g(set)g(to)g(the)g(user's)f
-(preference)g(b)s(efore)g(an)m(y)h(application-)390 1457
-y(sp)s(eci\014c)31 b(completion)i(function)f(is)f(called,)j(so)e
-(unless)f(that)h(function)f(mo)s(di\014es)g(the)h(v)-5
-b(alue,)33 b(the)390 1567 y(user's)d(preferences)g(are)h(honored.)3371
-1739 y([V)-8 b(ariable])-3598 b Fh(int)53 b(rl_ignore_completion_)q
-(dupl)q(ica)q(tes)390 1849 y Ft(If)30 b(non-zero,)h(then)f(duplicates)h
-(in)f(the)h(matc)m(hes)g(are)g(remo)m(v)m(ed.)42 b(The)29
-b(default)i(is)f(1.)3371 2021 y([V)-8 b(ariable])-3598
-b Fh(int)53 b(rl_filename_completio)q(n_de)q(sir)q(ed)390
-2131 y Ft(Non-zero)33 b(means)f(that)g(the)g(results)f(of)h(the)g(matc)
-m(hes)h(are)f(to)h(b)s(e)e(treated)i(as)f(\014lenames.)45
-b(This)390 2240 y(is)40 b Fj(always)49 b Ft(zero)41 b(when)e
-(completion)i(is)f(attempted,)j(and)d(can)g(only)g(b)s(e)f(c)m(hanged)i
-(within)e(an)390 2350 y(application-sp)s(eci\014c)i(completion)g
-(function.)67 b(If)39 b(it)h(is)f(set)h(to)h(a)e(non-zero)h(v)-5
-b(alue)40 b(b)m(y)f(suc)m(h)h(a)390 2459 y(function,)24
-b(directory)f(names)f(ha)m(v)m(e)h(a)g(slash)f(app)s(ended)e(and)i
-(Readline)h(attempts)g(to)g(quote)g(com-)390 2569 y(pleted)35
-b(\014lenames)g(if)g(they)h(con)m(tain)g(an)m(y)f(c)m(haracters)i(in)e
-Fs(rl_filename_quote_chara)o(cter)o(s)390 2679 y Ft(and)30
-b Fs(rl_filename_quoting_des)o(ired)24 b Ft(is)30 b(set)h(to)g(a)g
-(non-zero)g(v)-5 b(alue.)3371 2851 y([V)d(ariable])-3598
-b Fh(int)53 b(rl_filename_quoting_d)q(esir)q(ed)390 2960
-y Ft(Non-zero)29 b(means)f(that)h(the)f(results)g(of)g(the)g(matc)m
-(hes)i(are)e(to)h(b)s(e)e(quoted)h(using)g(double)f(quotes)390
-3070 y(\(or)43 b(an)f(application-sp)s(eci\014c)i(quoting)f(mec)m
-(hanism\))g(if)f(the)h(completed)g(\014lename)g(con)m(tains)390
-3180 y(an)m(y)28 b(c)m(haracters)h(in)e Fs(rl_filename_quote_chars)p
-Ft(.)34 b(This)27 b(is)g Fj(always)37 b Ft(non-zero)28
-b(when)f(comple-)390 3289 y(tion)h(is)g(attempted,)h(and)e(can)h(only)g
-(b)s(e)f(c)m(hanged)h(within)f(an)h(application-sp)s(eci\014c)h
-(completion)390 3399 y(function.)37 b(The)21 b(quoting)g(is)g
-(e\013ected)i(via)e(a)h(call)g(to)g(the)f(function)g(p)s(oin)m(ted)g
-(to)g(b)m(y)g Fs(rl_filename_)390 3508 y(quoting_function)p
-Ft(.)3371 3680 y([V)-8 b(ariable])-3598 b Fh(int)53 b
-(rl_full_quoting_desir)q(ed)390 3790 y Ft(Non-zero)45
-b(means)e(that)h(Readline)h(should)d(apply)h(\014lename-st)m(yle)j
-(quoting,)h(including)d(an)m(y)390 3900 y(application-sp)s(eci\014ed)d
-(quoting)g(mec)m(hanism,)i(to)e(all)g(completion)g(matc)m(hes)h(ev)m
-(en)f(if)f(w)m(e)h(are)390 4009 y(not)35 b(otherwise)h(treating)h(the)e
-(matc)m(hes)i(as)e(\014lenames.)55 b(This)35 b(is)g Fj(always)45
-b Ft(zero)36 b(when)e(comple-)390 4119 y(tion)28 b(is)g(attempted,)h
-(and)e(can)h(only)g(b)s(e)f(c)m(hanged)h(within)f(an)h(application-sp)s
-(eci\014c)h(completion)390 4228 y(function.)37 b(The)21
-b(quoting)g(is)g(e\013ected)i(via)e(a)h(call)g(to)g(the)f(function)g(p)
-s(oin)m(ted)g(to)g(b)m(y)g Fs(rl_filename_)390 4338 y(quoting_function)
-p Ft(.)3371 4510 y([V)-8 b(ariable])-3598 b Fh(int)53
-b(rl_attempted_completi)q(on_o)q(ver)390 4620 y Ft(If)93
+4217 y(user's)i(global)i(preference)f(\(set)h(via)f(the)g
+Fk(mark-symlink)m(ed-directories)37 b Ft(Readline)32
+b(v)-5 b(ariable\))33 b(if)390 4326 y(appropriate.)38
+b(This)20 b(v)-5 b(ariable)22 b(is)f(set)h(to)g(the)f(user's)g
+(preference)g(b)s(efore)g(calling)i(an)m(y)e(application-)390
+4436 y(sp)s(eci\014c)28 b(completion)h(function,)f(so)h(unless)e(that)i
+(function)e(mo)s(di\014es)h(the)g(v)-5 b(alue,)29 b(Readline)g(will)390
+4545 y(honor)h(the)g(user's)g(preferences.)3371 4724
+y([V)-8 b(ariable])-3598 b Fh(int)53 b(rl_ignore_completion_)q(dupl)q
+(ica)q(tes)390 4833 y Ft(If)28 b(non-zero,)h(then)f(Readline)g(remo)m
+(v)m(es)i(duplicates)e(in)g(the)g(set)h(of)f(p)s(ossible)f
+(completions.)41 b(The)390 4943 y(default)31 b(is)f(1.)3371
+5121 y([V)-8 b(ariable])-3598 b Fh(int)53 b(rl_filename_completio)q
+(n_de)q(sir)q(ed)390 5230 y Ft(A)43 b(non-zero)g(v)-5
+b(alue)43 b(means)f(that)h(Readline)g(should)f(treat)i(the)e(results)h
+(of)f(the)h(matc)m(hes)h(as)390 5340 y(\014lenames.)38
+b(This)21 b(is)h Fj(always)31 b Ft(zero)23 b(when)e(completion)i(is)f
+(attempted,)j(and)d(can)g(only)g(b)s(e)f(c)m(hanged)p
+eop end
+%%Page: 62 66
+TeXDict begin 62 65 bop 150 -116 a Ft(Chapter)30 b(2:)41
+b(Programming)30 b(with)g(GNU)h(Readline)1683 b(62)390
+299 y(within)39 b(an)h(application-sp)s(eci\014c)i(completion)f
+(function.)69 b(If)39 b(it)i(is)f(set)g(to)h(a)f(non-zero)g(v)-5
+b(alue)390 408 y(b)m(y)40 b(suc)m(h)f(a)h(function,)i(Readline)e(app)s
+(ends)e(a)i(slash)f(to)i(directory)f(names)g(and)f(attempts)h(to)390
+518 y(quote)i(completed)h(\014lenames)f(if)g(they)g(con)m(tain)h(an)m
+(y)f(c)m(haracters)h(in)f Fs(rl_filename_quote_)390 628
+y(characters)28 b Ft(and)h Fs(rl_filename_quoting_desire)o(d)24
+b Ft(is)31 b(set)g(to)g(a)f(non-zero)h(v)-5 b(alue.)3371
+816 y([V)d(ariable])-3598 b Fh(int)53 b(rl_filename_quoting_d)q(esir)q
+(ed)390 925 y Ft(A)31 b(non-zero)g(v)-5 b(alue)31 b(means)g(that)g
+(Readline)g(should)f(quote)h(the)g(results)g(of)g(the)g(matc)m(hes)g
+(using)390 1035 y(double)37 b(quotes)g(\(or)h(an)f(application-sp)s
+(eci\014c)i(quoting)e(mec)m(hanism\))h(if)f(the)g(completed)i(\014le-)
+390 1144 y(name)25 b(con)m(tains)h(an)m(y)f(c)m(haracters)h(in)f
+Fs(rl_filename_quote_chars)p Ft(.)32 b(This)24 b(is)h
+Fj(always)34 b Ft(non-zero)390 1254 y(when)22 b(completion)i(is)f
+(attempted,)j(and)c(can)h(only)g(b)s(e)g(c)m(hanged)g(within)g(an)f
+(application-sp)s(eci\014c)390 1363 y(completion)34 b(function.)48
+b(The)32 b(quoting)h(is)g(p)s(erformed)e(via)i(a)h(call)g(to)f(the)g
+(function)g(p)s(oin)m(ted)f(to)390 1473 y(b)m(y)e Fs
+(rl_filename_quoting_funct)o(ion)p Ft(.)3371 1661 y([V)-8
+b(ariable])-3598 b Fh(int)53 b(rl_full_quoting_desir)q(ed)390
+1771 y Ft(A)28 b(non-zero)h(v)-5 b(alue)29 b(means)f(that)g(Readline)h
+(should)e(apply)h(\014lename-st)m(yle)i(quoting,)f(including)390
+1880 y(an)m(y)34 b(application-sp)s(eci\014ed)g(quoting)f(mec)m
+(hanism,)i(to)f(all)g(completion)h(matc)m(hes)f(ev)m(en)g(if)f(it)h(is)
+390 1990 y(not)h(otherwise)h(treating)h(the)e(matc)m(hes)i(as)e
+(\014lenames.)55 b(This)35 b(is)g Fj(always)45 b Ft(zero)36
+b(when)e(comple-)390 2099 y(tion)28 b(is)g(attempted,)h(and)e(can)h
+(only)g(b)s(e)f(c)m(hanged)h(within)f(an)h(application-sp)s(eci\014c)h
+(completion)390 2209 y(function.)78 b(The)42 b(quoting)i(is)f(p)s
+(erformed)e(via)j(a)f(call)h(to)g(the)f(function)g(p)s(oin)m(ted)f(to)i
+(b)m(y)f Fs(rl_)390 2318 y(filename_quoting_functio)o(n)p
+Ft(.)3371 2506 y([V)-8 b(ariable])-3598 b Fh(int)53 b
+(rl_attempted_completi)q(on_o)q(ver)390 2616 y Ft(If)93
 b(an)h(application-sp)s(eci\014c)i(completion)f(function)f(assigned)g
-(to)h Fs(rl_attempted_)390 4729 y(completion_function)48
+(to)h Fs(rl_attempted_)390 2725 y(completion_function)48
 b Ft(sets)53 b(this)g(v)-5 b(ariable)54 b(to)g(a)f(non-zero)h(v)-5
-b(alue,)60 b(Readline)53 b(will)h(not)390 4839 y(p)s(erform)28
+b(alue,)60 b(Readline)53 b(will)h(not)390 2835 y(p)s(erform)28
 b(its)i(default)g(\014lename)g(completion)h(ev)m(en)f(if)g(the)f
-(application's)i(completion)g(function)390 4949 y(returns)e(no)h(matc)m
+(application's)i(completion)g(function)390 2945 y(returns)e(no)h(matc)m
 (hes.)42 b(It)31 b(should)e(b)s(e)h(set)h(only)f(b)m(y)h(an)f
-(application's)i(completion)f(function.)3371 5121 y([V)-8
+(application's)i(completion)f(function.)3371 3133 y([V)-8
 b(ariable])-3598 b Fh(int)53 b(rl_sort_completion_ma)q(tche)q(s)390
-5230 y Ft(If)29 b(an)h(application)h(sets)f(this)g(v)-5
+3242 y Ft(If)29 b(an)h(application)h(sets)f(this)g(v)-5
 b(ariable)31 b(to)f(0,)h(Readline)f(will)g(not)g(sort)g(the)g(list)h
-(of)f(completions)390 5340 y(\(whic)m(h)25 b(implies)f(that)i(it)f
+(of)f(completions)390 3352 y(\(whic)m(h)25 b(implies)f(that)i(it)f
 (cannot)g(remo)m(v)m(e)h(an)m(y)f(duplicate)g(completions\).)40
-b(The)24 b(default)h(v)-5 b(alue)25 b(is)p eop end
-%%Page: 62 66
-TeXDict begin 62 65 bop 150 -116 a Ft(Chapter)30 b(2:)41
-b(Programming)30 b(with)g(GNU)h(Readline)1683 b(62)390
-299 y(1,)32 b(whic)m(h)f(means)g(that)h(Readline)g(will)f(sort)h(the)f
-(completions)h(and,)f(dep)s(ending)f(on)h(the)g(v)-5
-b(alue)390 408 y(of)31 b Fs(rl_ignore_completion_du)o(pli)o(cate)o(s)p
+b(The)24 b(default)h(v)-5 b(alue)25 b(is)390 3461 y(1,)32
+b(whic)m(h)f(means)g(that)h(Readline)g(will)f(sort)h(the)f(completions)
+h(and,)f(dep)s(ending)f(on)h(the)g(v)-5 b(alue)390 3571
+y(of)31 b Fs(rl_ignore_completion_du)o(pli)o(cate)o(s)p
 Ft(,)25 b(will)30 b(attempt)i(to)f(remo)m(v)m(e)h(duplicate)f(matc)m
-(hes.)3371 593 y([V)-8 b(ariable])-3598 b Fh(int)53 b
-(rl_completion_type)390 702 y Ft(Set)35 b(to)h(a)f(c)m(haracter)i
-(describing)e(the)g(t)m(yp)s(e)g(of)g(completion)i(Readline)e(is)g
-(curren)m(tly)h(attempt-)390 812 y(ing;)f(see)f(the)g(description)f(of)
-g Fs(rl_complete_internal\(\))28 b Ft(\(see)34 b(Section)g(2.6.2)h
-([Completion)390 922 y(F)-8 b(unctions],)39 b(page)f(56\))f(for)g(the)g
-(list)g(of)g(c)m(haracters.)61 b(This)36 b(is)g(set)i(to)f(the)g
-(appropriate)f(v)-5 b(alue)390 1031 y(b)s(efore)31 b(an)m(y)h
-(application-sp)s(eci\014c)h(completion)g(function)f(is)f(called,)j
-(allo)m(wing)f(suc)m(h)e(functions)390 1141 y(to)g(presen)m(t)g(the)f
-(same)h(in)m(terface)h(as)e Fs(rl_complete\(\))p Ft(.)3371
-1325 y([V)-8 b(ariable])-3598 b Fh(int)53 b(rl_completion_invokin)q
-(g_ke)q(y)390 1435 y Ft(Set)41 b(to)g(the)g(\014nal)g(c)m(haracter)h
+(hes.)3371 3759 y([V)-8 b(ariable])-3598 b Fh(int)53
+b(rl_completion_type)390 3868 y Ft(Set)26 b(to)g(a)f(c)m(haracter)i
+(describing)e(the)h(t)m(yp)s(e)f(of)h(completion)h(Readline)f(is)f
+(curren)m(tly)g(attempting;)390 3978 y(see)h(the)f(description)g(of)g
+Fs(rl_complete_internal\(\))18 b Ft(\(see)26 b(Section)g(2.6.2)h
+([Completion)f(F)-8 b(unc-)390 4088 y(tions],)33 b(page)f(56\))h(for)f
+(the)f(list)i(of)e(c)m(haracters.)47 b(This)30 b(is)i(set)g(to)h(the)f
+(appropriate)f(v)-5 b(alue)32 b(b)s(efore)390 4197 y(calling)40
+b(an)m(y)g(application-sp)s(eci\014c)g(completion)g(function,)i(so)d
+(these)g(functions)g(can)g(presen)m(t)390 4307 y(the)31
+b(same)f(in)m(terface)i(as)f Fs(rl_complete\(\))p Ft(.)3371
+4495 y([V)-8 b(ariable])-3598 b Fh(int)53 b(rl_completion_invokin)q
+(g_ke)q(y)390 4604 y Ft(Set)41 b(to)g(the)g(\014nal)g(c)m(haracter)h
 (in)e(the)h(k)m(ey)g(sequence)h(that)f(in)m(v)m(ok)m(ed)h(one)f(of)g
-(the)g(completion)390 1544 y(functions)c(that)h(call)h
+(the)g(completion)390 4714 y(functions)c(that)h(call)h
 Fs(rl_complete_internal\(\))p Ft(.)56 b(This)37 b(is)g(set)h(to)g(the)g
-(appropriate)f(v)-5 b(alue)390 1654 y(b)s(efore)30 b(an)m(y)h
-(application-sp)s(eci\014c)h(completion)f(function)f(is)h(called.)3371
-1838 y([V)-8 b(ariable])-3598 b Fh(int)53 b(rl_inhibit_completion)390
-1948 y Ft(If)28 b(this)g(v)-5 b(ariable)29 b(is)f(non-zero,)i
-(completion)f(is)f(inhibited.)40 b(The)28 b(completion)h(c)m(haracter)h
-(will)f(b)s(e)390 2057 y(inserted)h(as)h(an)m(y)g(other)f(b)s(ound)e
-(to)k Fs(self-insert)p Ft(.)150 2257 y Fi(2.6.4)63 b(A)40
-b(Short)i(Completion)g(Example)150 2403 y Ft(Here)30
-b(is)f(a)g(small)h(application)g(demonstrating)f(the)h(use)e(of)i(the)f
-(GNU)h(Readline)f(library)-8 b(.)40 b(It)30 b(is)f(called)150
-2513 y Fs(fileman)p Ft(,)40 b(and)f(the)h(source)g(co)s(de)g(resides)f
-(in)g Fs(examples/fileman.c)p Ft(.)64 b(This)39 b(sample)h(application)
-150 2623 y(pro)m(vides)26 b(completion)i(of)e(command)g(names,)h(line)f
-(editing)h(features,)h(and)d(access)j(to)f(the)f(history)g(list.)p
-eop end
+(appropriate)f(v)-5 b(alue)390 4823 y(b)s(efore)30 b(calling)i(an)m(y)f
+(application-sp)s(eci\014c)g(completion)h(function.)3371
+5011 y([V)-8 b(ariable])-3598 b Fh(int)53 b(rl_inhibit_completion)390
+5121 y Ft(If)44 b(this)g(v)-5 b(ariable)45 b(is)g(non-zero,)k(Readline)
+c(do)s(es)f(not)g(p)s(erform)f(completion,)50 b(ev)m(en)45
+b(if)f(a)h(k)m(ey)390 5230 y(binding)30 b(indicates)i(it)f(should.)41
+b(The)31 b(completion)h(c)m(haracter)g(is)f(inserted)g(as)g(if)g(it)h
+(w)m(ere)f(b)s(ound)390 5340 y(to)g Fs(self-insert)p
+Ft(.)p eop end
 %%Page: 63 67
 TeXDict begin 63 66 bop 150 -116 a Ft(Chapter)30 b(2:)41
-b(Programming)30 b(with)g(GNU)h(Readline)1683 b(63)390
+b(Programming)30 b(with)g(GNU)h(Readline)1683 b(63)150
+299 y Fi(2.6.4)63 b(A)40 b(Short)i(Completion)g(Example)150
+446 y Ft(Here)30 b(is)f(a)g(small)h(application)g(demonstrating)f(the)h
+(use)e(of)i(the)f(GNU)h(Readline)f(library)-8 b(.)40
+b(It)30 b(is)f(called)150 555 y Fs(fileman)p Ft(,)40
+b(and)f(the)h(source)g(co)s(de)g(resides)f(in)g Fs(examples/fileman.c)p
+Ft(.)64 b(This)39 b(sample)h(application)150 665 y(pro)m(vides)30
+b(command)g(name)h(completion,)h(line)f(editing)g(features,)f(and)g
+(access)i(to)f(the)g(history)f(list.)p eop end
+%%Page: 64 68
+TeXDict begin 64 67 bop 150 -116 a Ft(Chapter)30 b(2:)41
+b(Programming)30 b(with)g(GNU)h(Readline)1683 b(64)390
 299 y Fe(/*)40 b(fileman.c)h(--)f(A)f(tiny)h(application)i(which)e
 (demonstrates)i(how)e(to)g(use)g(the)508 386 y(GNU)g(Readline)h
 (library.)80 b(This)40 b(application)i(interactively)g(allows)f(users)
@@ -11250,9 +11319,9 @@ y(int)e(com_cd)g(PARAMS\(\(char)i(*\)\);)390 4570 y(int)e(com_quit)h
 (call)i(to)e(do)h(the)g(job.)g(*/)468 5268 y(char)h(*doc;)f(/*)g
 (Documentation)i(for)e(this)g(function.)80 b(*/)p eop
 end
-%%Page: 64 68
-TeXDict begin 64 67 bop 150 -116 a Ft(Chapter)30 b(2:)41
-b(Programming)30 b(with)g(GNU)h(Readline)1683 b(64)390
+%%Page: 65 69
+TeXDict begin 65 68 bop 150 -116 a Ft(Chapter)30 b(2:)41
+b(Programming)30 b(with)g(GNU)h(Readline)1683 b(65)390
 299 y Fe(})39 b(COMMAND;)390 473 y(COMMAND)i(commands[])g(=)f({)468
 560 y({)g("cd",)g(com_cd,)h("Change)g(to)f(directory)h(DIR")f(},)468
 648 y({)g("delete",)h(com_delete,)h("Delete)f(FILE")f(},)468
@@ -11288,9 +11357,9 @@ y({)468 3786 y(char)h(*line,)f(*s;)468 3960 y(setlocale)i(\(LC_ALL,)f
 (leading)f(and)g(trailing)h(whitespace)h(from)e(the)g(line.)743
 5268 y(Then,)g(if)g(there)g(is)g(anything)h(left,)g(add)e(it)h(to)g
 (the)g(history)h(list)p eop end
-%%Page: 65 69
-TeXDict begin 65 68 bop 150 -116 a Ft(Chapter)30 b(2:)41
-b(Programming)30 b(with)g(GNU)h(Readline)1683 b(65)743
+%%Page: 66 70
+TeXDict begin 66 69 bop 150 -116 a Ft(Chapter)30 b(2:)41
+b(Programming)30 b(with)g(GNU)h(Readline)1683 b(66)743
 299 y Fe(and)40 b(execute)h(it.)f(*/)625 386 y(s)g(=)f(stripwhite)j
 (\(line\);)625 560 y(if)e(\(*s\))704 648 y({)782 735
 y(add_history)i(\(s\);)782 822 y(execute_line)g(\(s\);)704
@@ -11318,9 +11387,9 @@ b(Return)41 b(a)e(NULL)h(pointer)h(if)f(NAME)g(isn't)g(a)g(command)g
 (name.)h(*/)390 5006 y(COMMAND)g(*)390 5093 y(find_command)h(\(char)e
 (*name\))390 5181 y({)468 5268 y(register)h(int)f(i;)p
 eop end
-%%Page: 66 70
-TeXDict begin 66 69 bop 150 -116 a Ft(Chapter)30 b(2:)41
-b(Programming)30 b(with)g(GNU)h(Readline)1683 b(66)468
+%%Page: 67 71
+TeXDict begin 67 70 bop 150 -116 a Ft(Chapter)30 b(2:)41
+b(Programming)30 b(with)g(GNU)h(Readline)1683 b(67)468
 386 y Fe(for)40 b(\(i)g(=)f(0;)h(commands[i].name;)j(i++\))547
 473 y(if)d(\(strcmp)g(\(name,)h(commands[i].name\))i(==)d(0\))625
 560 y(return)h(\(&commands[i]\);)468 735 y(return)g(\(\(COMMAND)g
@@ -11362,9 +11431,9 @@ b(Return)40 b(the)g(array)h(of)e(matches,)508 5093 y(or)g(NULL)h(if)g
 (there)h(aren't)f(any.)g(*/)390 5181 y(char)g(**)390
 5268 y(fileman_completion)j(\(const)e(char)f(*text,)h(int)f(start,)g
 (int)g(end\))p eop end
-%%Page: 67 71
-TeXDict begin 67 70 bop 150 -116 a Ft(Chapter)30 b(2:)41
-b(Programming)30 b(with)g(GNU)h(Readline)1683 b(67)390
+%%Page: 68 72
+TeXDict begin 68 71 bop 150 -116 a Ft(Chapter)30 b(2:)41
+b(Programming)30 b(with)g(GNU)h(Readline)1683 b(68)390
 299 y Fe({)468 386 y(char)41 b(**matches;)468 560 y(matches)g(=)f
 (\(char)g(**\)NULL;)468 735 y(/*)g(If)g(this)g(word)g(is)g(at)f(the)h
 (start)h(of)e(the)h(line,)h(then)f(it)g(is)f(a)h(command)586
@@ -11403,9 +11472,9 @@ g(system)g(\(\).)80 b(This)40 b(is)f(for)h(the)g(LIST,)h(VIEW)f(and)g
 (syscom[1024];)390 5093 y(/*)g(List)g(the)g(file\(s\))h(named)f(in)g
 (arg.)g(*/)390 5181 y(int)390 5268 y(com_list)h(\(char)f(*arg\))p
 eop end
-%%Page: 68 72
-TeXDict begin 68 71 bop 150 -116 a Ft(Chapter)30 b(2:)41
-b(Programming)30 b(with)g(GNU)h(Readline)1683 b(68)390
+%%Page: 69 73
+TeXDict begin 69 72 bop 150 -116 a Ft(Chapter)30 b(2:)41
+b(Programming)30 b(with)g(GNU)h(Readline)1683 b(69)390
 299 y Fe({)468 386 y(if)40 b(\(!arg\))547 473 y(arg)g(=)f("";)468
 648 y(snprintf)i(\(syscom,)h(sizeof)e(\(syscom\),)h("ls)f(-FClg)h
 (\045s",)f(arg\);)468 735 y(return)h(\(system)g(\(syscom\)\);)390
@@ -11436,9 +11505,9 @@ b(access)h(at:)f(\045s",)g(ctime)g(\(&finfo.st_atime\)\);)468
 5006 y(printf)h(\(")157 b(Last)41 b(modified)g(at:)f(\045s",)g(ctime)g
 (\(&finfo.st_mtime\)\);)468 5093 y(return)h(\(0\);)390
 5181 y(})p eop end
-%%Page: 69 73
-TeXDict begin 69 72 bop 150 -116 a Ft(Chapter)30 b(2:)41
-b(Programming)30 b(with)g(GNU)h(Readline)1683 b(69)390
+%%Page: 70 74
+TeXDict begin 70 73 bop 150 -116 a Ft(Chapter)30 b(2:)41
+b(Programming)30 b(with)g(GNU)h(Readline)1683 b(70)390
 299 y Fe(int)390 386 y(com_delete)41 b(\(char)g(*arg\))390
 473 y({)468 560 y(too_dangerous)i(\("delete"\);)468 648
 y(return)e(\(1\);)390 735 y(})390 909 y(/*)f(Print)g(out)g(help)g(for)g
@@ -11464,9 +11533,9 @@ b(Possibilities)42 b(are:\\n",)f(arg\);)625 2740 y(for)f(\(i)g(=)f(0;)h
 y({)468 4745 y(if)g(\(chdir)h(\(arg\))f(==)g(-1\))547
 4832 y({)625 4919 y(perror)h(\(arg\);)625 5006 y(return)g(1;)547
 5093 y(})468 5268 y(com_pwd)g(\(""\);)p eop end
-%%Page: 70 74
-TeXDict begin 70 73 bop 150 -116 a Ft(Chapter)30 b(2:)41
-b(Programming)30 b(with)g(GNU)h(Readline)1683 b(70)468
+%%Page: 71 75
+TeXDict begin 71 74 bop 150 -116 a Ft(Chapter)30 b(2:)41
+b(Programming)30 b(with)g(GNU)h(Readline)1683 b(71)468
 299 y Fe(return)41 b(\(0\);)390 386 y(})390 560 y(/*)f(Print)g(out)g
 (the)g(current)h(working)g(directory.)g(*/)390 648 y(int)390
 735 y(com_pwd)g(\(char)f(*ignore\))390 822 y({)468 909
@@ -11493,8 +11562,8 @@ y({)625 4134 y(fprintf)h(\(stderr,)g("\045s:)f(Argument)h
 (required.\\n",)i(caller\);)625 4222 y(return)e(\(0\);)547
 4309 y(})468 4483 y(return)g(\(1\);)390 4570 y(})p eop
 end
-%%Page: 71 75
-TeXDict begin 71 74 bop 3659 -116 a Ft(71)150 299 y Fp(App)t(endix)52
+%%Page: 72 76
+TeXDict begin 72 75 bop 3659 -116 a Ft(72)150 299 y Fp(App)t(endix)52
 b(A)81 b(GNU)54 b(F)-13 b(ree)53 b(Do)t(cumen)l(tation)e(License)1359
 502 y Ft(V)-8 b(ersion)31 b(1.3,)g(3)g(No)m(v)m(em)m(b)s(er)h(2008)390
 635 y(Cop)m(yrigh)m(t)842 632 y(c)817 635 y Fq(\015)e
@@ -11575,10 +11644,10 @@ b(\\In)m(v)-5 b(arian)m(t)27 b(Sections")g(are)f(certain)g(Secondary)g
 5340 y(b)s(eing)e(those)h(of)g(In)m(v)-5 b(arian)m(t)27
 b(Sections,)i(in)d(the)h(notice)h(that)f(sa)m(ys)g(that)g(the)g(Do)s
 (cumen)m(t)g(is)g(released)p eop end
-%%Page: 72 76
-TeXDict begin 72 75 bop 150 -116 a Ft(App)s(endix)29
+%%Page: 73 77
+TeXDict begin 73 76 bop 150 -116 a Ft(App)s(endix)29
 b(A:)h(GNU)h(F)-8 b(ree)32 b(Do)s(cumen)m(tation)g(License)1603
-b(72)330 299 y(under)26 b(this)i(License.)40 b(If)27
+b(73)330 299 y(under)26 b(this)i(License.)40 b(If)27
 b(a)h(section)h(do)s(es)f(not)f(\014t)h(the)g(ab)s(o)m(v)m(e)h
 (de\014nition)e(of)h(Secondary)f(then)h(it)g(is)330 408
 y(not)k(allo)m(w)m(ed)i(to)e(b)s(e)g(designated)g(as)g(In)m(v)-5
@@ -11669,10 +11738,10 @@ b(Disclaimers)f(are)g(considered)e(to)330 4970 y(b)s(e)k(included)g(b)m
 b(Disclaimers)f(ma)m(y)g(ha)m(v)m(e)g(is)f(v)m(oid)g(and)f(has)h(no)330
 5189 y(e\013ect)32 b(on)e(the)h(meaning)f(of)h(this)f(License.)199
 5340 y(2.)61 b(VERBA)-8 b(TIM)31 b(COPYING)p eop end
-%%Page: 73 77
-TeXDict begin 73 76 bop 150 -116 a Ft(App)s(endix)29
+%%Page: 74 78
+TeXDict begin 74 77 bop 150 -116 a Ft(App)s(endix)29
 b(A:)h(GNU)h(F)-8 b(ree)32 b(Do)s(cumen)m(tation)g(License)1603
-b(73)330 299 y(Y)-8 b(ou)39 b(ma)m(y)f(cop)m(y)h(and)e(distribute)h
+b(74)330 299 y(Y)-8 b(ou)39 b(ma)m(y)f(cop)m(y)h(and)e(distribute)h
 (the)g(Do)s(cumen)m(t)h(in)f(an)m(y)g(medium,)h(either)g(commercially)h
 (or)330 408 y(noncommercially)-8 b(,)48 b(pro)m(vided)42
 b(that)h(this)f(License,)47 b(the)42 b(cop)m(yrigh)m(t)i(notices,)j
@@ -11762,10 +11831,10 @@ b(in)f(the)h(Title)h(P)m(age)g(\(and)f(on)f(the)h(co)m(v)m(ers,)i(if)e
 5340 y(Do)s(cumen)m(t,)j(and)d(from)g(those)i(of)f(previous)f(v)m
 (ersions)h(\(whic)m(h)g(should,)g(if)g(there)g(w)m(ere)g(an)m(y)-8
 b(,)p eop end
-%%Page: 74 78
-TeXDict begin 74 77 bop 150 -116 a Ft(App)s(endix)29
+%%Page: 75 79
+TeXDict begin 75 78 bop 150 -116 a Ft(App)s(endix)29
 b(A:)h(GNU)h(F)-8 b(ree)32 b(Do)s(cumen)m(tation)g(License)1603
-b(74)510 299 y(b)s(e)31 b(listed)h(in)f(the)g(History)h(section)g(of)g
+b(75)510 299 y(b)s(e)31 b(listed)h(in)f(the)g(History)h(section)g(of)g
 (the)f(Do)s(cumen)m(t\).)45 b(Y)-8 b(ou)32 b(ma)m(y)g(use)f(the)g(same)
 h(title)h(as)510 408 y(a)e(previous)f(v)m(ersion)g(if)h(the)f(original)
 i(publisher)d(of)h(that)h(v)m(ersion)g(giv)m(es)h(p)s(ermission.)360
@@ -11844,10 +11913,10 @@ b(arran)m(t)m(y)32 b(Disclaimers.)330 5121 y(If)h(the)g(Mo)s(di\014ed)g
 (designate)h(some)e(or)h(all)g(of)f(these)h(sections)h(as)e(in)m(v)-5
 b(arian)m(t.)48 b(T)-8 b(o)33 b(do)f(this,)h(add)f(their)p
 eop end
-%%Page: 75 79
-TeXDict begin 75 78 bop 150 -116 a Ft(App)s(endix)29
+%%Page: 76 80
+TeXDict begin 76 79 bop 150 -116 a Ft(App)s(endix)29
 b(A:)h(GNU)h(F)-8 b(ree)32 b(Do)s(cumen)m(tation)g(License)1603
-b(75)330 299 y(titles)37 b(to)f(the)f(list)h(of)g(In)m(v)-5
+b(76)330 299 y(titles)37 b(to)f(the)f(list)h(of)g(In)m(v)-5
 b(arian)m(t)36 b(Sections)g(in)f(the)h(Mo)s(di\014ed)f(V)-8
 b(ersion's)36 b(license)g(notice.)57 b(These)330 408
 y(titles)32 b(m)m(ust)e(b)s(e)g(distinct)h(from)e(an)m(y)i(other)g
@@ -11932,10 +12001,10 @@ b(ma)m(y)g(extract)h(a)f(single)g(do)s(cumen)m(t)f(from)g(suc)m(h)g(a)h
 5230 y(do)s(cumen)m(t,)d(and)f(follo)m(w)i(this)e(License)h(in)g(all)g
 (other)g(resp)s(ects)f(regarding)h(v)m(erbatim)g(cop)m(ying)h(of)330
 5340 y(that)d(do)s(cumen)m(t.)p eop end
-%%Page: 76 80
-TeXDict begin 76 79 bop 150 -116 a Ft(App)s(endix)29
+%%Page: 77 81
+TeXDict begin 77 80 bop 150 -116 a Ft(App)s(endix)29
 b(A:)h(GNU)h(F)-8 b(ree)32 b(Do)s(cumen)m(tation)g(License)1603
-b(76)199 299 y(7.)61 b(A)m(GGREGA)-8 b(TION)32 b(WITH)e(INDEPENDENT)h
+b(77)199 299 y(7.)61 b(A)m(GGREGA)-8 b(TION)32 b(WITH)e(INDEPENDENT)h
 (W)m(ORKS)330 441 y(A)d(compilation)i(of)e(the)g(Do)s(cumen)m(t)h(or)f
 (its)g(deriv)-5 b(ativ)m(es)30 b(with)d(other)i(separate)g(and)e(indep)
 s(enden)m(t)330 551 y(do)s(cumen)m(ts)33 b(or)g(w)m(orks,)h(in)f(or)h
@@ -12020,10 +12089,10 @@ b(ha)m(v)m(e)h(receiv)m(ed)h(copies)e(or)h(righ)m(ts)f(from)g(y)m(ou)g
 (reinstated,)i(receipt)f(of)f(a)g(cop)m(y)h(of)f(some)h(or)f(all)h(of)f
 (the)330 5340 y(same)31 b(material)h(do)s(es)e(not)g(giv)m(e)i(y)m(ou)f
 (an)m(y)g(righ)m(ts)f(to)i(use)e(it.)p eop end
-%%Page: 77 81
-TeXDict begin 77 80 bop 150 -116 a Ft(App)s(endix)29
+%%Page: 78 82
+TeXDict begin 78 81 bop 150 -116 a Ft(App)s(endix)29
 b(A:)h(GNU)h(F)-8 b(ree)32 b(Do)s(cumen)m(tation)g(License)1603
-b(77)154 299 y(10.)61 b(FUTURE)30 b(REVISIONS)f(OF)i(THIS)e(LICENSE)330
+b(78)154 299 y(10.)61 b(FUTURE)30 b(REVISIONS)f(OF)i(THIS)e(LICENSE)330
 433 y(The)41 b(F)-8 b(ree)43 b(Soft)m(w)m(are)f(F)-8
 b(oundation)43 b(ma)m(y)f(publish)e(new,)k(revised)d(v)m(ersions)h(of)g
 (the)g(GNU)g(F)-8 b(ree)330 543 y(Do)s(cumen)m(tation)34
@@ -12087,10 +12156,10 @@ f(of)g(that)330 2944 y(license)31 b(published)e(b)m(y)h(that)h(same)g
 g(under)330 3895 y(CC-BY-SA)30 b(on)g(the)h(same)f(site)h(at)g(an)m(y)g
 (time)g(b)s(efore)e(August)h(1,)h(2009,)h(pro)m(vided)e(the)g(MMC)h(is)
 330 4005 y(eligible)h(for)e(relicensing.)p eop end
-%%Page: 78 82
-TeXDict begin 78 81 bop 150 -116 a Ft(App)s(endix)29
+%%Page: 79 83
+TeXDict begin 79 82 bop 150 -116 a Ft(App)s(endix)29
 b(A:)h(GNU)h(F)-8 b(ree)32 b(Do)s(cumen)m(tation)g(License)1603
-b(78)150 299 y Fr(ADDENDUM:)45 b(Ho)l(w)h(to)f(use)g(this)h(License)f
+b(79)150 299 y Fr(ADDENDUM:)45 b(Ho)l(w)h(to)f(use)g(this)h(License)f
 (for)g(y)l(our)g(do)t(cumen)l(ts)150 458 y Ft(T)-8 b(o)35
 b(use)f(this)h(License)g(in)f(a)h(do)s(cumen)m(t)g(y)m(ou)f(ha)m(v)m(e)
 i(written,)g(include)f(a)f(cop)m(y)i(of)f(the)f(License)h(in)g(the)150
@@ -12125,9 +12194,9 @@ y(If)23 b(y)m(our)h(do)s(cumen)m(t)f(con)m(tains)i(non)m(trivial)g
 b(as)g(the)g(GNU)150 2331 y(General)31 b(Public)f(License,)i(to)f(p)s
 (ermit)e(their)i(use)f(in)g(free)g(soft)m(w)m(are.)p
 eop end
-%%Page: 79 83
-TeXDict begin 79 82 bop 150 -116 a Ft(Concept)31 b(Index)2927
-b(79)150 100 y Fp(Concept)52 b(Index)146 434 y Fr(A)150
+%%Page: 80 84
+TeXDict begin 80 83 bop 150 -116 a Ft(Concept)31 b(Index)2927
+b(80)150 100 y Fp(Concept)52 b(Index)146 434 y Fr(A)150
 550 y Fb(application-sp)r(eci\014c)27 b(completion)f(functions)e
 Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)37 b Fb(55)146 796 y
 Fr(C)150 913 y Fb(command)26 b(editing)6 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)
@@ -12160,8 +12229,8 @@ b(readline)11 b Fa(:)j(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
 b Fa(:)12 b(:)h(:)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(:)32 b Fb(3)p eop end
-%%Page: 80 84
-TeXDict begin 80 83 bop 3659 -116 a Ft(80)150 299 y Fp(F)-13
+%%Page: 81 85
+TeXDict begin 81 84 bop 3659 -116 a Ft(81)150 299 y Fp(F)-13
 b(unction)52 b(and)h(V)-13 b(ariable)53 b(Index)p 156
 740 41 6 v 150 860 a Fe(_rl_digit_p)10 b Fa(:)16 b(:)d(:)g(:)g(:)h(:)f
 (:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
@@ -12182,7 +12251,7 @@ g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)32
 b Fb(46)146 1569 y Fr(A)150 1689 y Fe(abort)27 b(\(C-g\))17
 b Fa(:)d(:)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(:)h
-(:)31 b Fb(24)150 1777 y Fe(accept-line)d(\(Newline)g(or)e(Return\))14
+(:)31 b Fb(25)150 1777 y Fe(accept-line)d(\(Newline)g(or)e(Return\))14
 b Fa(:)g(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)28
 b Fb(19)150 1866 y(activ)n(e-region-end-color)20 b Fa(:)13
 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
@@ -12239,7 +12308,7 @@ 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(:)g(:)h(:)f(:)21
 b Fb(6)150 4405 y Fe(complete)27 b(\(TAB\))10 b Fa(:)k(:)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(:)24 b Fb(23)150 4494
+g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)24 b Fb(24)150 4494
 y(completion-displa)n(y-width)10 b Fa(:)k(:)f(:)g(:)g(:)g(:)g(:)h(:)f
 (:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)25
 b Fb(6)150 4582 y(completion-ignore-case)c Fa(:)13 b(:)g(:)g(:)g(:)h(:)
@@ -12268,25 +12337,25 @@ g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
 b Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
 (:)h(:)f(:)g(:)g(:)g(:)g(:)21 b Fb(24)2025 1116 y Fe
 (delete-horizontal-space)31 b(\(\))13 b Fa(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)28 b Fb(22)2025
+(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)28 b Fb(23)2025
 1205 y Fe(digit-argument)h(\()p Fc(M-0)p Fe(,)d Fc(M-1)p
 Fe(,)h(...)f Fc(M--)p Fe(\))13 b Fa(:)h(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g
 (:)28 b Fb(23)2025 1294 y(disable-completion)20 b Fa(:)13
 b(:)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(:)34 b Fb(7)2025
 1383 y Fe(do-lowercase-version)c(\(M-A,)d(M-B,)f(M-)p
-Fc(x)p Fe(,)h(...\))12 b Fa(:)i(:)27 b Fb(24)2025 1472
+Fc(x)p Fe(,)h(...\))12 b Fa(:)i(:)27 b Fb(25)2025 1472
 y Fe(downcase-word)h(\(M-l\))14 b Fa(:)g(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)
 g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)28
 b Fb(22)2025 1561 y Fe(dump-functions)h(\(\))19 b Fa(:)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(:)g(:)34 b Fb(25)2025
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)34 b Fb(26)2025
 1650 y Fe(dump-macros)28 b(\(\))10 b Fa(:)j(:)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(:)24 b Fb(26)2025 1737 y Fe(dump-variables)29
 b(\(\))19 b Fa(:)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(:)g(:)34
-b Fb(25)2021 2019 y Fr(E)2025 2140 y Fb(ec)n(ho-con)n(trol-c)n
+b Fb(26)2021 2019 y Fr(E)2025 2140 y Fb(ec)n(ho-con)n(trol-c)n
 (haracters)13 b Fa(:)h(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
 (:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)29
 b Fb(7)2025 2229 y(editing-mo)r(de)10 b Fa(:)j(:)g(:)g(:)g(:)g(:)g(:)h
@@ -12326,7 +12395,7 @@ b Fa(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)34 b Fb(25)2025
 f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)35 b Fb(8)2021 3663 y
 Fr(F)2025 3785 y Fe(fetch-history)28 b(\(\))22 b Fa(:)13
 b(:)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(:)36 b Fb(20)2025
+(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)36 b Fb(21)2025
 3874 y(force-meta-pre\014x)13 b Fa(:)f(:)h(:)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(8)2025 3963 y Fe
@@ -12344,7 +12413,7 @@ b Fa(:)d(:)h(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
 g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)30 b Fb(8)2025
 4710 y Fe(history-search-backward)h(\(\))13 b Fa(:)g(:)g(:)h(:)f(:)g(:)
 g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)28 b
-Fb(19)2025 4799 y Fe(history-search-forward)i(\(\))16
+Fb(20)2025 4799 y Fe(history-search-forward)i(\(\))16
 b Fa(:)e(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)
 f(:)g(:)30 b Fb(20)2025 4888 y(history-size)22 b Fa(:)13
 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
@@ -12356,9 +12425,9 @@ b Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)22 b Fb(20)2025
 5153 y(horizon)n(tal-scroll-mo)r(de)10 b Fa(:)15 b(:)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(:)25 b Fb(9)p eop end
-%%Page: 81 85
-TeXDict begin 81 84 bop 150 -116 a Ft(F)-8 b(unction)31
-b(and)f(V)-8 b(ariable)32 b(Index)2370 b(81)146 294 y
+%%Page: 82 86
+TeXDict begin 82 85 bop 150 -116 a Ft(F)-8 b(unction)31
+b(and)f(V)-8 b(ariable)32 b(Index)2370 b(82)146 294 y
 Fr(I)150 414 y Fb(input-meta)9 b Fa(:)j(:)h(:)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(:)23 b Fb(9)150
@@ -12366,7 +12435,7 @@ g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)23 b Fb(9)150
 g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
 (:)26 b Fb(25)150 592 y Fe(insert-completions)k(\(M-*\))18
 b Fa(:)c(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)g(:)33 b Fb(23)150 679 y(isearc)n(h-terminators)9
+g(:)g(:)g(:)33 b Fb(24)150 679 y(isearc)n(h-terminators)9
 b Fa(:)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(:)24
 b Fb(9)146 943 y Fr(K)150 1064 y Fb(k)n(eymap)14 b Fa(:)e(:)h(:)g(:)h
@@ -12424,9 +12493,9 @@ b Fa(:)15 b(:)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(:)20
 b Fb(10)150 4205 y Fe(possible-completions)30 b(\(M-?\))13
 b Fa(:)h(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
-h(:)27 b Fb(23)150 4293 y Fe(prefix-meta)h(\(ESC\))20
+h(:)27 b Fb(24)150 4293 y Fe(prefix-meta)h(\(ESC\))20
 b Fa(:)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(:)33 b Fb(24)150
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)33 b Fb(25)150
 4382 y Fe(previous-history)c(\(C-p\))6 b Fa(:)15 b(:)e(:)g(:)g(:)g(:)g
 (:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)21
 b Fb(19)150 4471 y Fe(previous-screen-line)30 b(\(\))21
@@ -12438,7 +12507,7 @@ Fr(Q)150 4953 y Fe(quoted-insert)29 b(\(C-q)d(or)g(C-v\))10
 b Fa(:)k(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
 g(:)g(:)24 b Fb(21)2021 294 y Fr(R)2025 410 y Fe(re-read-init-file)29
 b(\(C-x)e(C-r\))17 b Fa(:)d(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)g(:)g(:)32 b Fb(24)2025 498 y Fe(readline)18
+(:)f(:)g(:)g(:)g(:)32 b Fb(25)2025 498 y Fe(readline)18
 b Fa(:)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(27)2025 585 y Fe(redraw-current-line)d(\(\))6
@@ -12466,10 +12535,10 @@ Fa(:)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(45)2025 1371 y Fe(rl_begin_undo_group)7 b Fa(:)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(40)2025 1459 y
+(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)22 b Fb(41)2025 1459 y
 Fe(rl_bind_key)10 b Fa(:)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(37)2025 1546 y Fe
+g(:)h(:)f(:)g(:)g(:)g(:)25 b Fb(38)2025 1546 y Fe
 (rl_bind_key_if_unbound)16 b Fa(:)i(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g
 (:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)31
 b Fb(38)2025 1633 y Fe(rl_bind_key_if_unbound_in_map)16
@@ -12481,54 +12550,55 @@ y Fe(rl_bind_keyseq)f Fa(:)13 b(:)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(:)34 b Fb(38)2025 1896 y Fe(rl_bind_keyseq_if_unbound)9
 b Fa(:)18 b(:)c(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)g(:)h(:)23 b Fb(38)2025 1983 y Fe(rl_bind_keyseq_if_unbound_in_m)q
+(:)g(:)h(:)23 b Fb(39)2025 1983 y Fe(rl_bind_keyseq_if_unbound_in_m)q
 (ap)8 b Fa(:)19 b(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)23
 b Fb(39)2025 2070 y Fe(rl_bind_keyseq_in_map)h Fa(:)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(38)2025 2158 y Fe
 (rl_callback_handler_install)27 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)35 b Fb(47)2025 2245 y
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)35 b Fb(48)2025 2245 y
 Fe(rl_callback_handler_remove)6 b Fa(:)19 b(:)13 b(:)g(:)g(:)h(:)f(:)g
 (:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)21 b Fb(48)2025
 2332 y Fe(rl_callback_read_char)j Fa(:)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(47)2025 2420 y Fe(rl_callback_sigcleanup)16 b Fa(:)i(:)13
+b Fb(48)2025 2420 y Fe(rl_callback_sigcleanup)16 b Fa(:)i(:)13
 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
 (:)g(:)g(:)31 b Fb(48)2025 2507 y Fe(rl_check_signals)15
 b Fa(:)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(54)2025 2595 y Fe(rl_cleanup_after_signal)14 b Fa(:)k(:)13
 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)h(:)28 b Fb(53)2025 2682 y Fe(rl_clear_history)15
+(:)h(:)28 b Fb(54)2025 2682 y Fe(rl_clear_history)15
 b Fa(:)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(47)2025 2769 y Fe(rl_clear_message)15 b Fa(:)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(42)2025 2857 y Fe(rl_clear_pending_input)16
 b Fa(:)i(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)31 b Fb(43)2025 2944 y Fe(rl_clear_signals)15
+(:)g(:)h(:)f(:)g(:)g(:)31 b Fb(44)2025 2944 y Fe(rl_clear_signals)15
 b Fa(:)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(54)2025 3031 y Fe(rl_clear_visible_line)24 b Fa(:)13
+Fb(55)2025 3031 y Fe(rl_clear_visible_line)24 b Fa(:)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(41)2025 3119 y Fe(rl_complete)17
-b Fa(:)e(:)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(:)31
-b Fb(55,)c(56)2025 3206 y Fe(rl_complete_internal)f Fa(:)13
-b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)36 b Fb(56)2025 3293 y Fe(rl_completion_matches)
-24 b Fa(:)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(56)2025 3381 y
-Fe(rl_completion_mode)10 b Fa(:)17 b(:)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(:)24
-b Fb(56)2025 3468 y Fe(rl_copy_keymap)f Fa(:)13 b(:)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(:)34 b Fb(36)2025 3556 y Fe(rl_copy_text)8
-b Fa(:)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(43)2025 3643 y Fe(rl_crlf)g Fa(:)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
+(:)g(:)g(:)g(:)g(:)34 b Fb(42)2025 3119 y Fe(rl_complete)10
+b Fa(:)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(56)2025 3206 y Fe(rl_complete_internal)h
+Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
+(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)36 b Fb(56)2025 3293 y
+Fe(rl_completion_matches)24 b Fa(:)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(57)2025 3381 y Fe(rl_completion_mode)10 b Fa(:)17
+b(:)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(:)24 b Fb(57)2025 3468
+y Fe(rl_copy_keymap)f Fa(:)13 b(:)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(:)34 b Fb(36)2025 3556 y Fe(rl_copy_text)8 b Fa(:)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(43)2025 3643 y Fe(rl_crlf)g Fa(:)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(42)2025 3730 y Fe(rl_deactivate_mark)10 b Fa(:)17
 b(:)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(:)24 b Fb(47)2025 3818
@@ -12542,9 +12612,9 @@ b Fa(:)17 b(:)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(:)35 b Fb(45)2025
 4080 y Fe(rl_discard_keymap)12 b Fa(:)17 b(:)c(:)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(:)27 b Fb(36)2025 4167 y Fe(rl_display_match_list)d
+g(:)g(:)27 b Fb(37)2025 4167 y Fe(rl_display_match_list)d
 Fa(:)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(45)2025 4255 y Fe(rl_do_undo)13
+(:)g(:)g(:)g(:)g(:)g(:)g(:)34 b Fb(46)2025 4255 y Fe(rl_do_undo)13
 b Fa(:)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(41)2025 4342 y Fe(rl_echo_signal_char)7
@@ -12557,14 +12627,14 @@ b Fa(:)17 b(:)c(:)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(:)27 b Fb(41)2025
 4604 y Fe(rl_execute_next)17 b Fa(:)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(43)2025 4691 y Fe(rl_expand_prompt)15
+g(:)g(:)g(:)32 b Fb(44)2025 4691 y Fe(rl_expand_prompt)15
 b Fa(:)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(42)2025 4779 y Fe(rl_extend_line_buffer)24 b Fa(:)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(45)2025 4866 y Fe
 (rl_filename_completion_functio)q(n)11 b Fa(:)19 b(:)13
-b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)25 b Fb(56)2025
+b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)25 b Fb(57)2025
 4954 y Fe(rl_forced_update_display)11 b Fa(:)19 b(:)13
 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
 (:)26 b Fb(41)2025 5041 y Fe(rl_free)c Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)
@@ -12572,13 +12642,13 @@ 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(45)2025 5128 y Fe(rl_free_keymap)23 b Fa(:)13 b(:)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(:)34 b Fb(36)p eop end
-%%Page: 82 86
-TeXDict begin 82 85 bop 150 -116 a Ft(F)-8 b(unction)31
-b(and)f(V)-8 b(ariable)32 b(Index)2370 b(82)150 260 y
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)34 b Fb(37)p eop end
+%%Page: 83 87
+TeXDict begin 83 86 bop 150 -116 a Ft(F)-8 b(unction)31
+b(and)f(V)-8 b(ariable)32 b(Index)2370 b(83)150 260 y
 Fe(rl_free_line_state)10 b Fa(:)17 b(:)c(:)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(53)150 348 y Fe(rl_free_undo_list)12 b Fa(:)17 b(:)c(:)g(:)h(:)f
+b Fb(54)150 348 y Fe(rl_free_undo_list)12 b Fa(:)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(41)150 437 y Fe(rl_function_dumper)10
 b Fa(:)17 b(:)c(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
@@ -12602,12 +12672,12 @@ b(:)c(:)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(37)150 1145
 y Fe(rl_get_screen_size)10 b Fa(:)17 b(:)c(:)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(54)150 1234 y Fe(rl_get_termcap)f Fa(:)13 b(:)g(:)g(:)g(:)h(:)f
+24 b Fb(55)150 1234 y Fe(rl_get_termcap)f Fa(:)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(47)150 1322 y Fe(rl_getc)22
 b Fa(:)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(43)150 1411 y Fe(rl_initialize)25
+h(:)f(:)g(:)g(:)g(:)35 b Fb(44)150 1411 y Fe(rl_initialize)25
 b Fa(:)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(45)150 1499 y Fe(rl_insert_completions)24 b Fa(:)13
@@ -12617,7 +12687,7 @@ b Fa(:)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(43)150 1676 y Fe(rl_invoking_keyseqs)7 b Fa(:)17
 b(:)d(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)21 b Fb(39)150 1765 y
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)21 b Fb(40)150 1765 y
 Fe(rl_invoking_keyseqs_in_map)7 b Fa(:)18 b(:)13 b(:)h(:)f(:)g(:)g(:)g
 (:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)21 b Fb(40)150
 1853 y Fe(rl_keep_mark_active)7 b Fa(:)17 b(:)d(:)f(:)g(:)g(:)g(:)g(:)g
@@ -12637,7 +12707,7 @@ Fa(:)17 b(:)d(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
 (:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)21 b Fb(36)150
 2384 y Fe(rl_make_keymap)i Fa(:)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(36)150 2473 y Fe(rl_mark_active_p)15
+(:)f(:)g(:)g(:)34 b Fb(37)150 2473 y Fe(rl_mark_active_p)15
 b Fa(:)h(:)e(:)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(:)29 b
 Fb(47)150 2561 y Fe(rl_message)13 b Fa(:)i(:)e(:)h(:)f(:)g(:)g(:)g(:)g
@@ -12650,14 +12720,14 @@ g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
 (:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)26
 b Fb(39)150 2827 y Fe(rl_on_new_line)d Fa(:)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(41)150 2915 y Fe
+(:)g(:)g(:)h(:)f(:)g(:)g(:)34 b Fb(42)150 2915 y Fe
 (rl_on_new_line_with_prompt)7 b Fa(:)18 b(:)13 b(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)21 b Fb(41)150
+g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)21 b Fb(42)150
 3004 y Fe(rl_parse_and_bind)12 b Fa(:)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(39)150 3092 y Fe(rl_pending_signal)12
 b Fa(:)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(53)150
+(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)26 b Fb(54)150
 3181 y Fe(rl_possible_completions)14 b Fa(:)k(:)13 b(:)h(:)f(:)g(:)g(:)
 g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)28
 b Fb(56)150 3269 y Fe(rl_prep_terminal)15 b Fa(:)h(:)e(:)f(:)g(:)g(:)g
@@ -12680,14 +12750,14 @@ b Fa(:)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(47)150
 3889 y Fe(rl_replace_line)17 b Fa(:)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(45)150 3978 y Fe(rl_reset_after_signal)24
+g(:)g(:)g(:)32 b Fb(43)150 3978 y Fe(rl_reset_after_signal)24
 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
 (:)g(:)g(:)g(:)g(:)h(:)f(:)33 b Fb(54)150 4066 y Fe
 (rl_reset_line_state)7 b Fa(:)17 b(:)d(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
 (:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)21
-b Fb(41)150 4155 y Fe(rl_reset_screen_size)26 b Fa(:)13
+b Fb(42)150 4155 y Fe(rl_reset_screen_size)26 b Fa(:)13
 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)g(:)36 b Fb(54)150 4243 y Fe(rl_reset_terminal)12
+(:)h(:)f(:)g(:)g(:)g(:)36 b Fb(55)150 4243 y Fe(rl_reset_terminal)12
 b Fa(:)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(45)150
 4332 y Fe(rl_resize_terminal)10 b Fa(:)17 b(:)c(:)g(:)g(:)g(:)g(:)h(:)f
@@ -12705,7 +12775,7 @@ b Fb(42)150 4686 y Fe(rl_save_state)25 b Fa(:)13 b(:)h(:)f(:)g(:)g(:)g
 g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)37 b Fb(45)150 4774 y
 Fe(rl_set_key)13 b Fa(:)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(38)150 4863 y Fe
+g(:)g(:)g(:)h(:)f(:)g(:)27 b Fb(39)150 4863 y Fe
 (rl_set_keyboard_input_timeout)17 b Fa(:)h(:)c(:)f(:)g(:)g(:)g(:)g(:)g
 (:)g(:)h(:)f(:)g(:)g(:)30 b Fb(44)150 4951 y Fe(rl_set_keymap)25
 b Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
@@ -12714,15 +12784,15 @@ b Fb(37)150 5040 y Fe(rl_set_keymap_name)10 b Fa(:)17
 b(:)c(:)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(37)150 5128
 y Fe(rl_set_paren_blink_timeout)7 b Fa(:)18 b(:)13 b(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)21 b Fb(46)2025
+g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)21 b Fb(47)2025
 260 y Fe(rl_set_prompt)k Fa(:)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(42)2025 348 y Fe(rl_set_screen_size)10
+f(:)g(:)g(:)g(:)37 b Fb(43)2025 348 y Fe(rl_set_screen_size)10
 b Fa(:)17 b(:)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(:)24 b Fb(54)2025
 436 y Fe(rl_set_signals)f Fa(:)13 b(:)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(:)34 b Fb(54)2025 524 y Fe(rl_set_timeout)23
+g(:)h(:)f(:)34 b Fb(55)2025 524 y Fe(rl_set_timeout)23
 b Fa(:)13 b(:)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(:)34
 b Fb(44)2025 612 y Fe(rl_show_char)8 b Fa(:)15 b(:)f(:)f(:)g(:)g(:)g(:)
@@ -12730,18 +12800,18 @@ 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(42)2025
 700 y Fe(rl_stuff_char)j Fa(:)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(43)2025 789 y Fe(rl_timeout_remaining)26
+f(:)g(:)g(:)g(:)37 b Fb(44)2025 789 y Fe(rl_timeout_remaining)26
 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
 (:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)36 b Fb(44)2025 877 y
 Fe(rl_trim_arg_from_keyseq)14 b Fa(:)k(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g
 (:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)28
-b Fb(39)2025 965 y Fe(rl_tty_set_default_bindings)f Fa(:)13
+b Fb(40)2025 965 y Fe(rl_tty_set_default_bindings)f Fa(:)13
 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)35
-b Fb(44)2025 1053 y Fe(rl_tty_set_echoing)10 b Fa(:)17
+b Fb(45)2025 1053 y Fe(rl_tty_set_echoing)10 b Fa(:)17
 b(:)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(:)24 b Fb(44)2025 1141
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)24 b Fb(45)2025 1141
 y Fe(rl_tty_unset_default_bindings)16 b Fa(:)j(:)13 b(:)g(:)h(:)f(:)g
-(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)30 b Fb(44)2025 1229 y
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)30 b Fb(45)2025 1229 y
 Fe(rl_unbind_command_in_map)11 b Fa(:)19 b(:)13 b(:)g(:)g(:)g(:)g(:)h
 (:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)26
 b Fb(38)2025 1317 y Fe(rl_unbind_function_in_map)9 b
@@ -12758,10 +12828,10 @@ b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)25 b Fb(57)2025
 (:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
 h(:)f(:)29 b Fb(46)2025 1758 y Fe(rl_variable_dumper)10
 b Fa(:)17 b(:)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(:)24 b Fb(46)2025
+(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)24 b Fb(47)2025
 1845 y Fe(rl_variable_value)12 b Fa(:)17 b(:)c(:)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(:)27 b Fb(46)2021 2100 y Fr(S)2025 2219 y Fb(searc)n
+g(:)g(:)27 b Fb(47)2021 2100 y Fr(S)2025 2219 y Fb(searc)n
 (h-ignore-case)11 b Fa(:)k(:)e(:)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(:)
 26 b Fb(11)2025 2307 y Fe(self-insert)i(\(a,)e(b,)g(A,)g(1,)g(!,)g(...)
@@ -12793,21 +12863,21 @@ b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
 (:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)23 b Fb(21)2025 3559 y
 Fe(transpose-words)29 b(\(M-t\))9 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)h
 (:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)23
-b Fb(21)2021 3823 y Fr(U)2025 3942 y Fe(undo)j(\(C-_)h(or)f(C-x)g
+b Fb(22)2021 3823 y Fr(U)2025 3942 y Fe(undo)j(\(C-_)h(or)f(C-x)g
 (C-u\))12 b Fa(:)i(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
 (:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)27 b Fb(25)2025
 4030 y Fe(universal-argument)i(\(\))9 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g
 (:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
 23 b Fb(23)2025 4118 y Fe(unix-filename-rubout)30 b(\(\))21
 b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)35 b Fb(22)2025 4207 y Fe(unix-line-discard)29
+(:)g(:)g(:)h(:)f(:)35 b Fb(23)2025 4207 y Fe(unix-line-discard)29
 b(\(C-u\))22 b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
 g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)35 b Fb(22)2025 4295
 y Fe(unix-word-rubout)29 b(\(C-w\))6 b Fa(:)14 b(:)g(:)f(:)g(:)g(:)g(:)
 g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)21
-b Fb(22)2025 4382 y Fe(upcase-word)28 b(\(M-u\))20 b
+b Fb(23)2025 4382 y Fe(upcase-word)28 b(\(M-u\))20 b
 Fa(:)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(:)g(:)34 b Fb(21)2021
+(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)34 b Fb(22)2021
 4646 y Fr(V)2025 4765 y Fb(vi-cmd-mo)r(de-string)18 b
 Fa(:)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(:)33 b Fb(11)2025
@@ -12819,9 +12889,9 @@ b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
 5028 y(visible-stats)11 b Fa(:)j(:)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(:)26 b Fb(12)p eop end
-%%Page: 83 87
-TeXDict begin 83 86 bop 150 -116 a Ft(F)-8 b(unction)31
-b(and)f(V)-8 b(ariable)32 b(Index)2370 b(83)146 294 y
+%%Page: 84 88
+TeXDict begin 84 87 bop 150 -116 a Ft(F)-8 b(unction)31
+b(and)f(V)-8 b(ariable)32 b(Index)2370 b(84)146 294 y
 Fr(Y)150 410 y Fe(yank)27 b(\(C-y\))20 b Fa(:)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(:)34 b
diff --git a/doc/readline_3.pdf b/doc/readline_3.pdf
new file mode 100644 (file)
index 0000000..982e519
Binary files /dev/null and b/doc/readline_3.pdf differ
index 67c4c35ff0a0779bd9030b636f4b074695567c0b..4f14f7c7ec167908957ab4047c2f92a8e0561da4 100644 (file)
@@ -1,13 +1,13 @@
 %!PS-Adobe-3.0
 %%Creator: groff version 1.23.0
-%%CreationDate: Fri Apr  5 09:11:47 2024
+%%CreationDate: Fri Nov  1 17:48:38 2024
 %%DocumentNeededResources: font Times-Italic
 %%+ font Times-Roman
 %%+ font Times-Bold
 %%+ font Courier
 %%+ font Courier-Bold
 %%DocumentSuppliedResources: procset grops 1.23 0
-%%Pages: 17
+%%Pages: 18
 %%PageOrder: Ascend
 %%DocumentMedia: Default 612 792 0 () ()
 %%Orientation: Portrait
@@ -285,1376 +285,1563 @@ F1(\(3\)).73 E/F2 10.95/Times-Bold@0 SF -.219(NA)72 84 S(ME).219 E F1
 (re)108 235.2 S(adline).18 E F1 .088
 (will read a line from the terminal and return it, using)2.588 F F3(pr)
 2.587 E(ompt)-.18 E F1 .087(as a prompt.)2.587 F(If)5.087 E F3(pr)2.587
-E(ompt)-.18 E F1(is)2.587 E F3(NULL)2.587 E F1(or)2.587 E .399
-(the empty string, no prompt is issued.)108 247.2 R .399
-(The line returned is allocated with)5.399 F F0(malloc)3.28 E F1 .4
-(\(3\); the caller must free it).31 F .262(when \214nished.)108 259.2 R
-.261(The line returned has the \214nal ne)5.262 F .261(wline remo)-.25 F
--.15(ve)-.15 G .261(d, so only the te).15 F .261
-(xt of the line remains.)-.15 F(Since)5.261 E(it')108 271.2 Q 3.55(sp)
--.55 G 1.05(ossible to enter characters into the line while quoting the\
-m to disable an)-3.55 F(y)-.15 E F3 -.18(re)3.55 G(adline).18 E F1 1.05
-(editing function)3.55 F(the)108 283.2 Q 2.5(ym)-.15 G(ight normally ha)
--2.5 E -.15(ve)-.2 G 2.5(,t).15 G(his line may include embedded ne)-2.5
-E(wlines and other special characters.)-.25 E F3 -.18(re)108 300 S
-(adline).18 E F1(of)3.79 E 1.29
+E(ompt)-.18 E F1(is)2.587 E F3(NULL)2.587 E F1(or)2.587 E .09
+(the empty string,)108 247.2 R F3 -.18(re)2.59 G(adline).18 E F1 .09
+(does not issue a prompt.)2.59 F .091
+(The line returned is allocated with)5.091 F F0(malloc)2.971 E F1 .091
+(\(3\); the caller).31 F .347(must free it when \214nished.)108 259.2 R
+.347(The line returned has the \214nal ne)5.347 F .346(wline remo)-.25 F
+-.15(ve)-.15 G .346(d, so only the te).15 F .346(xt of the line re-)-.15
+F 2.851(mains. Since)108 271.2 R(it')2.851 E 2.851(sp)-.55 G .351(ossib\
+le to enter characters into the line while quoting them to disable an)
+-2.851 F(y)-.15 E F3 -.18(re)2.852 G(adline).18 E F1(edit-)2.852 E .41
+(ing function the)108 283.2 R 2.91(ym)-.15 G .41(ight normally ha)-2.91
+F -.15(ve)-.2 G 2.91(,t).15 G .41(his line may include embedded ne)-2.91
+F .41(wlines and other special charac-)-.25 F(ters.)108 295.2 Q F3 -.18
+(re)108 312 S(adline).18 E F1(of)3.789 E 1.289
 (fers editing capabilities while the user is entering the line.)-.25 F
-1.289(By def)6.289 F 1.289(ault, the line editing com-)-.1 F
-(mands are similar to those of emacs.)108 312 Q 2.5(Av)5 G
+1.29(By def)6.29 F 1.29(ault, the line editing com-)-.1 F
+(mands are similar to those of emacs.)108 324 Q 2.5(Av)5 G
 (i\255style line editing interf)-2.5 E(ace is also a)-.1 E -.25(va)-.2 G
 (ilable.).25 E .272
-(This manual page describes only the most basic use of)108 328.8 R F3
+(This manual page describes only the most basic use of)108 340.8 R F3
 -.18(re)2.772 G(adline).18 E F1 5.272(.M)C .272
-(uch more functionality is a)-5.272 F -.25(va)-.2 G .272(ilable; see).25
-F F0(The GNU Readline Libr)108 340.8 Q(ary)-.15 E F1(and)2.5 E F0
+(uch more functionality is a)-5.272 F -.25(va)-.2 G .271(ilable; see).25
+F F0(The GNU Readline Libr)108 352.8 Q(ary)-.15 E F1(and)2.5 E F0
 (The GNU History Libr)2.5 E(ary)-.15 E F1(for additional information.)
-2.5 E F2(RETURN V)72 357.6 Q(ALUE)-1.478 E F3 -.18(re)108 369.6 S
-(adline).18 E F1 1.09(returns the te)3.59 F 1.09(xt of the line read.)
--.15 F 3.589(Ab)6.09 G 1.089(lank line returns the empty string.)-3.589
-F(If)6.089 E F3(EOF)3.589 E F1 1.089(is encountered)3.589 F .283
-(while reading a line, and the line is empty)108 381.6 R(,)-.65 E F3
-(NULL)2.783 E F1 .283(is returned.)2.783 F .283(If an)5.283 F F3(EOF)
-2.783 E F1 .283(is read with a non\255empty line, it)2.783 F
-(is treated as a ne)108 393.6 Q(wline.)-.25 E F2(NO)72 410.4 Q -.986(TA)
--.438 G(TION)-.054 E F1 .077
-(An Emacs-style notation is used to denote k)108 422.4 R -.15(ey)-.1 G
-(strok).15 E 2.576(es. Control)-.1 F -.1(ke)2.576 G .076
-(ys are denoted by C\255)-.05 F F0 -.1(ke)C(y)-.2 E F1 2.576(,e)C .076
-(.g., C\255n means)-2.576 F 2.582(Control\255N. Similarly)108 434.4 R(,)
--.65 E F0(meta)2.962 E F1 -.1(ke)2.842 G .082(ys are denoted by M\255)
--.05 F F0 -.1(ke)C(y)-.2 E F1 2.583(,s)C 2.583(oM)-2.583 G .083
-(\255x means Meta\255X.)-2.583 F .083(\(On k)5.083 F -.15(ey)-.1 G .083
-(boards without a).15 F F0(meta)108.38 446.4 Q F1 -.1(ke)3.472 G 2.012
--.65(y, M)-.05 H<ad>.65 E F0(x)A F1 .712(means ESC)3.212 F F0(x)3.212 E
-F1 3.212(,i)C .712(.e., press the Escape k)-3.212 F 1.011 -.15(ey t)-.1
-H .711(hen the).15 F F0(x)3.981 E F1 -.1(ke)3.741 G 4.511 -.65(y. T)-.05
-H .711(his mak).65 F .711(es ESC the)-.1 F F0 .711(meta pr)3.211 F
-(e\214x)-.37 E F1(.)A .48(The combination M\255C\255)108 458.4 R F0(x)A
-F1 .48(means ESC\255Control\255)2.98 F F0(x)A F1 2.98(,o)C 2.98(rp)-2.98
-G .48(ress the Escape k)-2.98 F .78 -.15(ey t)-.1 H .48
-(hen hold the Control k).15 F .78 -.15(ey w)-.1 H(hile).15 E
-(pressing the)108 470.4 Q F0(x)3.27 E F1 -.1(ke)3.03 G -.65(y.)-.05 G
-(\)).65 E .596(Readline commands may be gi)108 487.2 R -.15(ve)-.25 G
-3.096(nn).15 G(umeric)-3.096 E F0(ar)3.426 E(guments)-.37 E F1 3.096(,w)
-.27 G .596(hich normally act as a repeat count.)-3.096 F(Sometimes,)
-5.595 E(ho)108 499.2 Q(we)-.25 E -.15(ve)-.25 G 1.418 -.4(r, i).15 H
-3.118(ti).4 G 3.119(st)-3.118 G .619(he sign of the ar)-3.119 F .619
+2.5 E F2(RETURN V)72 369.6 Q(ALUE)-1.478 E F3 -.18(re)108 381.6 S
+(adline).18 E F1 1.089(returns the te)3.589 F 1.089
+(xt of the line read.)-.15 F 3.589(Ab)6.089 G 1.09
+(lank line returns the empty string.)-3.589 F(If)6.09 E F3(EOF)3.59 E F1
+1.09(is encountered)3.59 F .6
+(while reading a line, and the line is empty)108 393.6 R(,)-.65 E F3
+-.18(re)3.1 G(adline).18 E F1(returns)3.1 E F3(NULL)3.1 E F1 5.6(.I)C
+3.1(fa)-5.6 G(n)-3.1 E F3(EOF)3.1 E F1 .6(is read with a non\255empty)
+3.1 F(line, it is treated as a ne)108 405.6 Q(wline.)-.25 E F2(NO)72
+422.4 Q -.986(TA)-.438 G(TION)-.054 E F1 .862(This section uses Emacs-s\
+tyle editing concepts and uses its notation for k)108 434.4 R -.15(ey)
+-.1 G(strok).15 E 3.362(es. Control)-.1 F -.1(ke)3.362 G .862
+(ys are de-)-.05 F .55(noted by C\255)108 446.4 R F0 -.1(ke)C(y)-.2 E F1
+3.05(,e)C .55(.g., C\255n means Control\255N.)-3.05 F(Similarly)5.55 E
+(,)-.65 E F0(meta)3.43 E F1 -.1(ke)3.31 G .55(ys are denoted by M\255)
+-.05 F F0 -.1(ke)C(y)-.2 E F1 3.05(,s)C 3.05(oM)-3.05 G .55(\255x means)
+-3.05 F 2.5(Meta\255X. The)108 458.4 R(Meta k)2.5 E .3 -.15(ey i)-.1 H
+2.5(so).15 G(ften labeled \231)-2.5 E(Alt\232 or \231Option\232.)-.8 E
+.149(On k)108 475.2 R -.15(ey)-.1 G .149(boards without a).15 F F0(Meta)
+3.329 E F1 -.1(ke)2.909 G 1.449 -.65(y, M)-.05 H<ad>.65 E F0(x)A F1 .149
+(means ESC)2.649 F F0(x)2.649 E F1 2.649(,i)C .15
+(.e., press and release the Escape k)-2.649 F -.15(ey)-.1 G 2.65(,t)-.5
+G .15(hen press and)-2.65 F 2.687(release the)108 487.2 R F0(x)5.957 E
+F1 -.1(ke)5.717 G 3.987 -.65(y, i)-.05 H 5.187(ns).65 G 5.187
+(equence. This)-5.187 F(mak)5.187 E 2.687(es ESC the)-.1 F F0 2.686
+(meta pr)5.187 F(e\214x)-.37 E F1 7.686(.T)C 2.686
+(he combination M\255C\255)-7.686 F F0(x)A F1(means)5.186 E
+(ESC\255Control\255)108 499.2 Q F0(x)A F1 2.635(:p)C .135
+(ress and release the Escape k)-2.635 F -.15(ey)-.1 G 2.635(,t)-.5 G
+.135(hen press and hold the Control k)-2.635 F .436 -.15(ey w)-.1 H .136
+(hile pressing the).15 F F0(x)3.406 E F1 -.1(ke)108 511.2 S 1.3 -.65
+(y, t)-.05 H(hen release both.).65 E .217(On some k)108 528 R -.15(ey)
+-.1 G .217(boards, the Meta k).15 F .517 -.15(ey m)-.1 H .216
+(odi\214er produces characters with the eighth bit \(0200\) set.).15 F
+-1.1(Yo)5.216 G 2.716(uc)1.1 G .216(an use)-2.716 F(the)108 540 Q F3
+(enable\255meta\255k)3.315 E(ey)-.1 E F1 -.25(va)3.315 G .816
+(riable to control whether or not it does this, if the k).25 F -.15(ey)
+-.1 G .816(board allo).15 F .816(ws it.)-.25 F .816(On man)5.816 F(y)
+-.15 E .568(others, the terminal or terminal emulator con)108 552 R -.15
+(ve)-.4 G .568(rts the meta\214ed k).15 F .868 -.15(ey t)-.1 H 3.068
+(oak).15 G .868 -.15(ey s)-3.168 H .568(equence be).15 F .568
+(ginning with ESC)-.15 F(as described in the preceding paragraph.)108
+564 Q .029(If your)108 580.8 R F0(Meta)2.529 E F1 -.1(ke)2.529 G 2.529
+(yp)-.05 G .029(roduces a k)-2.529 F .329 -.15(ey s)-.1 H .03
+(equence with the ESC meta pre\214x, you can mak).15 F 2.53(eM)-.1 G(-)
+-2.53 E F0 -.1(ke)C(y)-.2 E F1 -.1(ke)2.53 G 2.53(yb)-.05 G .03
+(indings you)-2.53 F(specify \(see)108 592.8 Q F3(Readline K)2.5 E
+(ey Bindings)-.25 E F1(belo)2.5 E(w\) do the same thing by setting the)
+-.25 E F3 -.25(fo)2.5 G -.18(rc).25 G(e\255meta\255pr).18 E(e\214x)-.18
+E F1 -.25(va)2.5 G(riable.).25 E F3(Readline)108 609.6 Q F1 .437
+(commands may be gi)2.937 F -.15(ve)-.25 G 2.937(nn).15 G(umeric)-2.937
+E F0(ar)3.267 E(guments)-.37 E F1 2.936(,w).27 G .436
+(hich normally act as a repeat count.)-2.936 F(Sometimes,)5.436 E(ho)108
+621.6 Q(we)-.25 E -.15(ve)-.25 G 1.418 -.4(r, i).15 H 3.118(ti).4 G
+3.119(st)-3.118 G .619(he sign of the ar)-3.119 F .619
 (gument that is signi\214cant.)-.18 F -.15(Pa)5.619 G .619(ssing a ne)
 .15 F -.05(ga)-.15 G(ti).05 E .919 -.15(ve a)-.25 H -.18(rg).15 G .619
-(ument to a command that).18 F 1.019(acts in the forw)108 511.2 R 1.018
-(ard direction \(e.g.,)-.1 F F3(kill\255line)3.518 E F1 3.518(\)c)C
-1.018(auses that command to act in a backw)-3.518 F 1.018
-(ard direction.)-.1 F(Com-)6.018 E(mands whose beha)108 523.2 Q
-(vior with ar)-.2 E(guments de)-.18 E(viates from this are noted belo)
--.25 E -.65(w.)-.25 G .811(When a command is described as)108 540 R F0
+(ument to a command that).18 F .296(acts in the forw)108 633.6 R .296
+(ard direction \(e.g.,)-.1 F F3(kill\255line)2.796 E F1 2.796(\)m)C(ak)
+-2.796 E .296(es that command act in a backw)-.1 F .296(ard direction.)
+-.1 F(Commands)5.296 E(whose beha)108 645.6 Q(vior with ar)-.2 E
+(guments de)-.18 E(viates from this are noted belo)-.25 E -.65(w.)-.25 G
+(The)108 662.4 Q F0(point)3.245 E F1 .745
+(is the current cursor position, and)3.245 F F0(mark)3.245 E F1 .745
+(refers to a sa)3.245 F -.15(ve)-.2 G 3.245(dc).15 G .745
+(ursor position.)-3.245 F .745(The te)5.745 F .745(xt between the)-.15 F
+(point and mark is referred to as the)108 674.4 Q F0 -.37(re)2.5 G(gion)
+-.03 E F1(.)A .812(When a command is described as)108 691.2 R F0
 (killing)3.311 E F1(te)3.311 E .811(xt, the te)-.15 F .811
-(xt deleted is sa)-.15 F -.15(ve)-.2 G 3.311(df).15 G .812
-(or possible future retrie)-3.311 F -.25(va)-.25 G 3.312(l\().25 G F0
-(yank-)-3.312 E(ing)108 552 Q F1 2.529(\). The)B .029(killed te)2.529 F
-.029(xt is sa)-.15 F -.15(ve)-.2 G 2.529(di).15 G 2.529(na)-2.529 G F0
-.029(kill ring)B F1 5.029(.C)C(onsecuti)-5.029 E .329 -.15(ve k)-.25 H
-.029(ills cause the te).15 F .029(xt to be accumulated into one unit,)
--.15 F .567(which can be yank)108 564 R .567(ed all at once.)-.1 F .567
-(Commands which do not kill te)5.567 F .567
+(xt deleted is sa)-.15 F -.15(ve)-.2 G 3.311(df).15 G .811
+(or possible future retrie)-3.311 F -.25(va)-.25 G 3.311(l\().25 G F0
+(yank-)-3.311 E(ing)108 703.2 Q F1 3.673(\). The)B 1.174(killed te)3.673
+F 1.174(xt is sa)-.15 F -.15(ve)-.2 G 3.674(di).15 G 3.674(na)-3.674 G
+F0 1.174(kill ring)B F1 6.174(.C)C(onsecuti)-6.174 E 1.474 -.15(ve k)
+-.25 H 1.174(ills accumulate the deleted te).15 F 1.174
+(xt into one unit,)-.15 F .567(which can be yank)108 715.2 R .567
+(ed all at once.)-.1 F .567(Commands which do not kill te)5.567 F .567
 (xt separate the chunks of te)-.15 F .567(xt on the kill)-.15 F(ring.)
-108 576 Q F2(INITIALIZA)72 592.8 Q(TION FILE)-1.04 E F1 .091(Readline i\
-s customized by putting commands in an initialization \214le \(the)108
-604.8 R F0(inputr)2.591 E(c)-.37 E F1 2.591(\214le\). The)2.591 F .091
-(name of this \214le)2.591 F .007(is tak)108 616.8 R .007(en from the v)
--.1 F .007(alue of the)-.25 F F3(INPUTRC)2.507 E F1(en)2.507 E .007
-(vironment v)-.4 F 2.507(ariable. If)-.25 F .007(that v)2.507 F .007
-(ariable is unset, the def)-.25 F .008(ault is)-.1 F F0(\001/.in-)2.608
-E(putr)108 628.8 Q(c)-.37 E F1 5.905(.I).31 G 3.405(ft)-5.905 G .905
-(hat \214le)-3.405 F .905(does not e)5.905 F .904
-(xist or cannot be read, the ultimate def)-.15 F .904(ault is)-.1 F F0
-(/etc/inputr)4.554 E(c)-.37 E F1 5.904(.W).31 G .904(hen a program)
--5.904 F 1.158(which uses the readline library starts up, the init \214\
-le is read, and the k)108 640.8 R 1.459 -.15(ey b)-.1 H 1.159
-(indings and v).15 F 1.159(ariables are set.)-.25 F .029
-(There are only a fe)108 652.8 R 2.529(wb)-.25 G .029
-(asic constructs allo)-2.529 F .028(wed in the readline init \214le.)
--.25 F .028(Blank lines are ignored.)5.028 F .028(Lines be)5.028 F(gin-)
--.15 E .553(ning with a)108 664.8 R F3(#)3.053 E F1 .554(are comments.)
-3.053 F .554(Lines be)5.554 F .554(ginning with a)-.15 F F3($)3.054 E F1
-.554(indicate conditional constructs.)3.054 F .554(Other lines denote)
-5.554 F -.1(ke)108 676.8 S 2.987(yb)-.05 G .487(indings and v)-2.987 F
-.487(ariable settings.)-.25 F .487
-(Each program using this library may add its o)5.487 F .486
-(wn commands and bind-)-.25 F(ings.)108 688.8 Q -.15(Fo)108 705.6 S 2.5
-(re).15 G(xample, placing)-2.65 E(M\255Control\255u: uni)144 722.4 Q
--.15(ve)-.25 G(rsal\255ar).15 E(gument)-.18 E(GNU Readline 8.3)72 768 Q
-(2024 March 29)128.74 E(1)198.45 E 0 Cg EP
+108 727.2 Q(GNU Readline 8.3)72 768 Q(2024 October 10)125.685 E(1)
+195.395 E 0 Cg EP
 %%Page: 2 2
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Italic@0 SF(READLINE)72.63 48 Q/F1 10/Times-Roman@0 SF
 118.765(\(3\) Library).73 F(Functions Manual)2.5 E F0(READLINE)121.895 E
-F1(\(3\)).73 E(or)108 84 Q(C\255Meta\255u: uni)144 96 Q -.15(ve)-.25 G
-(rsal\255ar).15 E(gument)-.18 E(into the)108 112.8 Q F0(inputr)2.51 E(c)
--.37 E F1 -.1(wo)2.81 G(uld mak).1 E 2.5(eM)-.1 G(\255C\255u e)-2.5 E
--.15(xe)-.15 G(cute the readline command).15 E F0(univer)2.58 E
-(sal\255ar)-.1 E(gument)-.37 E F1(.).68 E 1.153(The follo)108 129.6 R
-1.154(wing symbolic character names are recognized while processing k)
--.25 F 1.454 -.15(ey b)-.1 H(indings:).15 E F0(DEL)4.234 E F1(,).53 E F0
-(ESC)4.164 E F1(,).72 E F0(ES-)4.164 E(CAPE)108 141.6 Q F1(,).73 E F0
-(LFD)3.08 E F1(,).28 E F0(NEWLINE)3.2 E F1(,).73 E F0(RET)3.13 E F1(,)
-1.27 E F0(RETURN)3.13 E F1(,)1.1 E F0 -.4(RU)2.5 G(BOUT).4 E F1(,)1.27 E
-F0(SP)2.83 E -.3(AC)-.9 G(E).3 E F1(,).73 E F0(SPC)2.83 E F1 2.5(,a).72
-G(nd)-2.5 E F0 -.5(TA)2.5 G(B).5 E F1(.).27 E .209
-(In addition to command names, readline allo)108 158.4 R .209(ws k)-.25
-F -.15(ey)-.1 G 2.709(st).15 G 2.709(ob)-2.709 G 2.709(eb)-2.709 G .209
-(ound to a string that is inserted when the k)-2.709 F .509 -.15(ey i)
--.1 H(s).15 E(pressed \(a)108 170.4 Q F0(macr)2.5 E(o)-.45 E F1(\).)A/F2
-10/Times-Bold@0 SF -.25(Ke)87 187.2 S 2.5(yB).25 G(indings)-2.5 E F1
-.366(The syntax for controlling k)108 199.2 R .666 -.15(ey b)-.1 H .366
+F1(\(3\)).73 E/F2 10.95/Times-Bold@0 SF(INITIALIZA)72 84 Q(TION FILE)
+-1.04 E/F3 10/Times-Bold@0 SF(Readline)108 96 Q F1 .912
+(is customized by putting commands in an initialization \214le \(the)
+3.412 F F0(inputr)3.413 E(c)-.37 E F1 3.413(\214le\). The)3.413 F .913
+(name of this)3.413 F .514(\214le is tak)108 108 R .514(en from the v)
+-.1 F .514(alue of the)-.25 F F3(INPUTRC)3.014 E F1(en)3.014 E .514
+(vironment v)-.4 F 3.014(ariable. If)-.25 F .514(that v)3.014 F .514
+(ariable is unset, the def)-.25 F .513(ault is)-.1 F F0(\001/.inputr)
+108.1 120 Q(c)-.37 E F1 5.67(.I).31 G 3.17(ft)-5.67 G .67(hat \214le)
+-3.17 F .67(does not e)5.67 F .671(xist or cannot be read,)-.15 F F3
+-.18(re)3.171 G(adline).18 E F1 .671(looks for)3.171 F F0(/etc/inputr)
+4.321 E(c)-.37 E F1 5.671(.W).31 G .671(hen a program)-5.671 F .254
+(which uses the)108 132 R F3 -.18(re)2.754 G(adline).18 E F1 .254
+(library starts up,)2.754 F F3 -.18(re)2.754 G(adline).18 E F1 .253
+(reads the initialization \214le and sets the k)2.754 F .553 -.15(ey b)
+-.1 H .253(indings and).15 F -.25(va)108 144 S
+(riables found there, before reading an).25 E 2.5(yu)-.15 G(ser input.)
+-2.5 E .34(There are only a fe)108 160.8 R 2.84(wb)-.25 G .34
+(asic constructs allo)-2.84 F .34(wed in the inputrc \214le.)-.25 F .34
+(Blank lines are ignored.)5.34 F .34(Lines be)5.34 F(ginning)-.15 E .779
+(with a)108 172.8 R F3(#)3.279 E F1 .778(are comments.)3.278 F .778
+(Lines be)5.778 F .778(ginning with a)-.15 F F3($)3.278 E F1 .778
+(indicate conditional constructs.)3.278 F .778(Other lines denote k)
+5.778 F -.15(ey)-.1 G(bindings and v)108 184.8 Q(ariable settings.)-.25
+E .08(The def)108 201.6 R .08(ault k)-.1 F -.15(ey)-.1 G .08
+(-bindings in this document may be changed using k).15 F .381 -.15(ey b)
+-.1 H .081(inding commands in the).15 F F0(inputr)2.591 E(c)-.37 E F1
+(\214le.)2.891 E(Programs that use this library may add their o)108
+213.6 Q(wn commands and bindings.)-.25 E -.15(Fo)108 230.4 S 2.5(re).15
+G(xample, placing)-2.65 E(M\255Control\255u: uni)144 247.2 Q -.15(ve)
+-.25 G(rsal\255ar).15 E(gument)-.18 E(or)108 259.2 Q
+(C\255Meta\255u: uni)144 271.2 Q -.15(ve)-.25 G(rsal\255ar).15 E(gument)
+-.18 E(into the)108 288 Q F0(inputr)2.51 E(c)-.37 E F1 -.1(wo)2.81 G
+(uld mak).1 E 2.5(eM)-.1 G(\255C\255u e)-2.5 E -.15(xe)-.15 G(cute the)
+.15 E F3 -.18(re)2.5 G(adline).18 E F1(command)2.5 E F0(univer)2.58 E
+(sal\255ar)-.1 E(gument)-.37 E F1(.).68 E -2.15 -.25(Ke y)108 304.8 T
+1.443(bindings may contain the follo)4.193 F 1.442
+(wing symbolic character names:)-.25 F F0(DEL)4.522 E F1(,).53 E F0(ESC)
+4.452 E F1(,).72 E F0(ESCAPE)4.452 E F1(,).73 E F0(LFD)4.522 E F1(,).28
+E F0(NEW)4.642 E(-)-.37 E(LINE)108 316.8 Q F1(,).73 E F0(RET)3.13 E F1
+(,)1.27 E F0(RETURN)3.13 E F1(,)1.1 E F0 -.4(RU)2.5 G(BOUT).4 E F1(\(a)
+1.27 E F0(destructive).35 E F1(backspace\),).18 E F0(SP)2.83 E -.3(AC)
+-.9 G(E).3 E F1(,).73 E F0(SPC)2.83 E F1 2.5(,a).72 G(nd)-2.5 E F0 -.5
+(TA)2.5 G(B).5 E F1(.).27 E .078(In addition to command names,)108 333.6
+R F3 -.18(re)2.578 G(adline).18 E F1(allo)2.578 E .078(ws k)-.25 F -.15
+(ey)-.1 G 2.578(st).15 G 2.578(ob)-2.578 G 2.578(eb)-2.578 G .079
+(ound to a string that is inserted when the k)-2.578 F .379 -.15(ey i)
+-.1 H(s).15 E .193(pressed \(a)108 345.6 R F0(macr)2.693 E(o)-.45 E F1
+2.692(\). The)B(dif)2.692 E .192(ference between a macro and a command \
+is that a macro is enclosed in single or)-.25 F(double quotes.)108 357.6
+Q F3 -.25(Ke)87 374.4 S 2.5(yB).25 G(indings)-2.5 E F1 .366
+(The syntax for controlling k)108 386.4 R .666 -.15(ey b)-.1 H .366
 (indings in the).15 F F0(inputr)2.876 E(c)-.37 E F1 .366
 (\214le is simple.)3.176 F .366(All that is required is the name of the)
-5.366 F .264(command or the te)108 211.2 R .264(xt of a macro and a k)
--.15 F .564 -.15(ey s)-.1 H .264(equence to which it should be bound.)
-.15 F .263(The name may be speci-)5.264 F .138(\214ed in one of tw)108
-223.2 R 2.638(ow)-.1 G .138(ays: as a symbolic k)-2.738 F .438 -.15
-(ey n)-.1 H .138(ame, possibly with).15 F F0(Meta\255)2.638 E F1(or)
-2.638 E F0(Contr)2.638 E(ol\255)-.45 E F1(pre\214x)2.638 E .138
-(es, or as a k)-.15 F .439 -.15(ey s)-.1 H(e-).15 E 3.409(quence. The)
-108 235.2 R .909(name and k)3.409 F 1.209 -.15(ey s)-.1 H .909
-(equence are separated by a colon.).15 F .909
-(There can be no whitespace between the)5.909 F(name and the colon.)108
-247.2 Q .361(When using the form)108 264 R F2 -.1(ke)2.861 G(yname).1 E
-F1(:)A F0(function-name).833 E F1(or)2.861 E F0(macr)2.861 E(o)-.45 E F1
-(,)A F0 -.1(ke)2.861 G(yname)-.2 E F1 .362(is the name of a k)3.042 F
-.662 -.15(ey s)-.1 H .362(pelled out in Eng-).15 F 2.5(lish. F)108 276 R
-(or e)-.15 E(xample:)-.15 E/F3 10/Courier@0 SF
-(Control-u: universal\255argument)144 292.8 Q
-(Meta-Rubout: backward\255kill\255word)144 304.8 Q
-(Control-o: "> output")144 316.8 Q F1 .148(In the abo)108 333.6 R .448
--.15(ve ex)-.15 H(ample,).15 E F0(C\255u)2.488 E F1 .148
-(is bound to the function)2.898 F F2(uni)2.647 E -.1(ve)-.1 G
-(rsal\255ar).1 E(gument)-.1 E F1(,)A F0(M-DEL)3.327 E F1 .147
-(is bound to the function)3.177 F F2(backward\255kill\255w)108 345.6 Q
-(ord)-.1 E F1 3.005(,a)C(nd)-3.005 E F0(C\255o)2.845 E F1 .505
-(is bound to run the macro e)3.185 F .506
-(xpressed on the right hand side \(that is, to in-)-.15 F(sert the te)
-108 357.6 Q(xt \231> output\232 into the line\).)-.15 E .056
-(In the second form,)108 374.4 R F2("k)2.556 E(eyseq")-.1 E F1(:)A F0
+5.366 F .012(command or the te)108 398.4 R .012(xt of a macro and a k)
+-.15 F .311 -.15(ey s)-.1 H .011(equence to which it should be bound.)
+.15 F .011(The k)5.011 F .311 -.15(ey s)-.1 H .011(equence may be).15 F
+.694(speci\214ed in one of tw)108 410.4 R 3.194(ow)-.1 G .695
+(ays: as a symbolic k)-3.294 F .995 -.15(ey n)-.1 H .695
+(ame, possibly with).15 F F0(Meta\255)3.195 E F1(or)3.195 E F0(Contr)
+3.195 E(ol\255)-.45 E F1(pre\214x)3.195 E .695(es, or as a)-.15 F -.1
+(ke)108 422.4 S 2.803(ys)-.05 G .303
+(equence composed of one or more characters enclosed in double quotes.)
+-2.803 F .302(The k)5.302 F .602 -.15(ey s)-.1 H .302(equence and name)
+.15 F(are separated by a colon.)108 434.4 Q
+(There can be no whitespace between the name and the colon.)5 E .16
+(When using the form)108 451.2 R F3 -.1(ke)2.66 G(yname).1 E F1(:)A F0
+(function\255name).833 E F1(or)2.66 E F0(macr)2.66 E(o)-.45 E F1(,)A F0
+-.1(ke)2.66 G(yname)-.2 E F1 .161(is the name of a k)2.84 F .461 -.15
+(ey s)-.1 H .161(pelled out in Eng-).15 F 2.5(lish. F)108 463.2 R(or e)
+-.15 E(xample:)-.15 E/F4 10/Courier@0 SF
+(Control-u: universal\255argument)144 480 Q
+(Meta-Rubout: backward\255kill\255word)144 492 Q(Control-o: "> output")
+144 504 Q F1 .699(In the abo)108 520.8 R .998 -.15(ve ex)-.15 H(ample,)
+.15 E F0(C\255u)3.038 E F1 .698(is bound to the function)3.448 F F3(uni)
+3.198 E -.1(ve)-.1 G(rsal\255ar).1 E(gument)-.1 E F1(,)A F0(M\255DEL)
+3.878 E F1 .698(is bound to the func-)3.728 F(tion)108 532.8 Q F3
+(backward\255kill\255w)2.758 E(ord)-.1 E F1 2.758(,a)C(nd)-2.758 E F0
+(C\255o)2.598 E F1 .258(is bound to run the macro e)2.938 F .259
+(xpressed on the right hand side \(that is, to)-.15 F(insert the te)108
+544.8 Q(xt \231> output\232 into the line\).)-.15 E .056
+(In the second form,)108 561.6 R F3("k)2.556 E(eyseq")-.1 E F1(:)A F0
 (function\255name).833 E F1(or)2.556 E F0(macr)2.556 E(o)-.45 E F1(,)A
-F2 -.1(ke)2.556 G(yseq).1 E F1(dif)2.555 E .055(fers from)-.25 F F2 -.1
+F3 -.1(ke)2.556 G(yseq).1 E F1(dif)2.555 E .055(fers from)-.25 F F3 -.1
 (ke)2.555 G(yname).1 E F1(abo)2.555 E .355 -.15(ve i)-.15 H 2.555(nt).15
-G .055(hat strings)-2.555 F 1.284(denoting an entire k)108 386.4 R 1.584
+G .055(hat strings)-2.555 F 1.284(denoting an entire k)108 573.6 R 1.584
 -.15(ey s)-.1 H 1.284(equence may be speci\214ed by placing the sequenc\
-e within double quotes.).15 F(Some)6.284 E .386(GNU Emacs style k)108
-398.4 R .686 -.15(ey e)-.1 H .385(scapes can be used, as in the follo)
-.15 F .385(wing e)-.25 F .385(xample, b)-.15 F .385
-(ut the symbolic character names)-.2 F(are not recognized.)108 410.4 Q
-F3("\\C\255u": universal\255argument)144 427.2 Q
-("\\C\255x\\C\255r": re\255read\255init\255file)144 439.2 Q
-("\\e[11\001": "Function Key 1")144 451.2 Q F1 .198(In this e)108 468 R
-(xample,)-.15 E F0(C-u)2.538 E F1 .199(is ag)2.949 F .199
-(ain bound to the function)-.05 F F2(uni)2.699 E -.1(ve)-.1 G
-(rsal\255ar).1 E(gument)-.1 E F1(.)A F0 .199(C-x C-r)5.039 F F1 .199
-(is bound to the function)3.429 F F2 -.18(re)108 480 S<ad72>.18 E
-(ead\255init\255\214le)-.18 E F1 2.5(,a)C(nd)-2.5 E F0(ESC [ 1 1 \001)
-3.01 E F1(is bound to insert the te)2.61 E(xt \231Function K)-.15 E .3
--.15(ey 1)-.25 H<9a2e>.15 E
-(The full set of GNU Emacs style escape sequences a)108 496.8 Q -.25(va)
+e within double quotes.).15 F(Some)6.284 E .102(GNU Emacs style k)108
+585.6 R .402 -.15(ey e)-.1 H .102(scapes can be used, as in the follo)
+.15 F .102(wing e)-.25 F .101(xample, b)-.15 F .101
+(ut none of the symbolic character)-.2 F(names are recognized.)108 597.6
+Q F4("\\C\255u": universal\255argument)144 614.4 Q
+("\\C\255x\\C\255r": re\255read\255init\255file)144 626.4 Q
+("\\e[11\001": "Function Key 1")144 638.4 Q F1 .314(In this e)108 655.2
+R(xample,)-.15 E F0(C\255u)2.654 E F1 .314(is ag)3.064 F .315
+(ain bound to the function)-.05 F F3(uni)2.815 E -.1(ve)-.1 G
+(rsal\255ar).1 E(gument)-.1 E F1(.)A F0 .315(C\255x C\255r)5.155 F F1
+.315(is bound to the func-)3.545 F(tion)108 667.2 Q F3 -.18(re)2.5 G
+<ad72>.18 E(ead\255init\255\214le)-.18 E F1 2.5(,a)C(nd)-2.5 E F0
+(ESC [ 1 1 \001)3.01 E F1(is bound to insert the te)2.61 E
+(xt \231Function K)-.15 E .3 -.15(ey 1)-.25 H<9a2e>.15 E
+(The full set of GNU Emacs style escape sequences a)108 684 Q -.25(va)
 -.2 G(ilable when specifying k).25 E .3 -.15(ey s)-.1 H(equences is).15
-E F2<5c43ad>144 508.8 Q F1(control pre\214x)180 508.8 Q F2<5c4dad>144
-520.8 Q F1(meta pre\214x)180 520.8 Q F2(\\e)144 532.8 Q F1
-(an escape character)180 532.8 Q F2(\\\\)144 544.8 Q F1(backslash)180
-544.8 Q F2(\\")144 556.8 Q F1(literal ", a double quote)180 556.8 Q F2
-<5c08>144 568.8 Q F1(literal \010, a single quote)180 568.8 Q(In additi\
-on to the GNU Emacs style escape sequences, a second set of backslash e\
-scapes is a)108 585.6 Q -.25(va)-.2 G(ilable:).25 E F2(\\a)144 597.6 Q
-F1(alert \(bell\))180 597.6 Q F2(\\b)144 609.6 Q F1(backspace)180 609.6
-Q F2(\\d)144 621.6 Q F1(delete)180 621.6 Q F2(\\f)144 633.6 Q F1
-(form feed)180 633.6 Q F2(\\n)144 645.6 Q F1(ne)180 645.6 Q(wline)-.25 E
-F2(\\r)144 657.6 Q F1(carriage return)180 657.6 Q F2(\\t)144 669.6 Q F1
-(horizontal tab)180 669.6 Q F2(\\v)144 681.6 Q F1 -.15(ve)180 681.6 S
-(rtical tab).15 E F2(\\)144 693.6 Q F0(nnn)A F1
-(the eight-bit character whose v)180 693.6 Q(alue is the octal v)-.25 E
-(alue)-.25 E F0(nnn)2.5 E F1(\(one to three digits\))2.5 E F2(\\x)144
-705.6 Q F0(HH)A F1(the eight-bit character whose v)180 705.6 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 .74
-(When entering the te)108 722.4 R .74(xt of a macro, single or double q\
-uotes should be used to indicate a macro de\214nition.)-.15 F
-(GNU Readline 8.3)72 768 Q(2024 March 29)128.74 E(2)198.45 E 0 Cg EP
+E F3<5c43ad>144 696 Q F1 2.5(Ac)180 696 S(ontrol pre\214x.)-2.5 E
+(GNU Readline 8.3)72 768 Q(2024 October 10)125.685 E(2)195.395 E 0 Cg EP
 %%Page: 3 3
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Italic@0 SF(READLINE)72.63 48 Q/F1 10/Times-Roman@0 SF
 118.765(\(3\) Library).73 F(Functions Manual)2.5 E F0(READLINE)121.895 E
-F1(\(3\)).73 E .089(Unquoted te)108 84 R .089
-(xt is assumed to be a function name.)-.15 F .09(In the macro body)5.089
-F 2.59(,t)-.65 G .09(he backslash escapes described abo)-2.59 F -.15(ve)
--.15 G(are e)108 96 Q 2.5(xpanded. Backslash)-.15 F(will quote an)2.5 E
-2.5(yo)-.15 G(ther character in the macro te)-2.5 E
-(xt, including " and \010.)-.15 E/F2 10/Times-Bold@0 SF(Bash)108 112.8 Q
-F1(allo)2.93 E .43(ws the current readline k)-.25 F .73 -.15(ey b)-.1 H
-.429(indings to be displayed or modi\214ed with the).15 F F2(bind)2.929
-E F1 -.2(bu)2.929 G .429(iltin command.).2 F 1.095
-(The editing mode may be switched during interacti)108 124.8 R 1.395
--.15(ve u)-.25 H 1.095(se by using the).15 F F2<ad6f>3.595 E F1 1.095
-(option to the)3.595 F F2(set)3.595 E F1 -.2(bu)3.595 G 1.095
-(iltin com-).2 F 3.076(mand. Other)108 136.8 R .576
-(programs using this library pro)3.076 F .575(vide similar mechanisms.)
--.15 F(The)5.575 E F0(inputr)3.085 E(c)-.37 E F1 .575
-(\214le may be edited and)3.385 F(re-read if a program does not pro)108
-148.8 Q(vide an)-.15 E 2.5(yo)-.15 G(ther means to incorporate ne)-2.5 E
-2.5(wb)-.25 G(indings.)-2.5 E F2 -.92(Va)87 165.6 S(riables).92 E F1
-.043(Readline has v)108 177.6 R .043
+F1(\(3\)).73 E/F2 10/Times-Bold@0 SF<5c4dad>144 84 Q F1 .747
+(Adding the meta pre\214x or con)180 84 R -.15(ve)-.4 G .747
+(rting the follo).15 F .747(wing character to a meta character)-.25 F
+3.247(,a)-.4 G 3.247(sd)-3.247 G(e-)-3.247 E(scribed belo)180 96 Q 2.5
+(wu)-.25 G(nder)-2.5 E F2 -.25(fo)2.5 G -.18(rc).25 G(e-meta-pr).18 E
+(e\214x)-.18 E F1(.)A F2(\\e)144 108 Q F1(An escape character)180 108 Q
+(.)-.55 E F2(\\\\)144 120 Q F1(Backslash.)180 120 Q F2(\\")144 132 Q F1
+(Literal ", a double quote.)180 132 Q F2<5c08>144 144 Q F1
+(Literal \010, a single quote.)180 144 Q(In addition to the GNU Emacs s\
+tyle escape sequences, a second set of backslash escapes is a)108 160.8
+Q -.25(va)-.2 G(ilable:).25 E F2(\\a)144 172.8 Q F1(alert \(bell\))180
+172.8 Q F2(\\b)144 184.8 Q F1(backspace)180 184.8 Q F2(\\d)144 196.8 Q
+F1(delete)180 196.8 Q F2(\\f)144 208.8 Q F1(form feed)180 208.8 Q F2
+(\\n)144 220.8 Q F1(ne)180 220.8 Q(wline)-.25 E F2(\\r)144 232.8 Q F1
+(carriage return)180 232.8 Q F2(\\t)144 244.8 Q F1(horizontal tab)180
+244.8 Q F2(\\v)144 256.8 Q F1 -.15(ve)180 256.8 S(rtical tab).15 E F2
+(\\)144 268.8 Q F0(nnn)A F1(The eight-bit character whose v)180 268.8 Q
+(alue is the octal v)-.25 E(alue)-.25 E F0(nnn)2.5 E F1
+(\(one to three digits\).)2.5 E F2(\\x)144 280.8 Q F0(HH)A F1
+(The eight-bit character whose v)180 280.8 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 1.141(When entering the te)108
+297.6 R 1.141(xt of a macro, single or double quotes must be used to in\
+dicate a macro de\214nition.)-.15 F .447(Unquoted te)108 309.6 R .446
+(xt is assumed to be a function name.)-.15 F .446
+(Tthe backslash escapes described abo)5.446 F .746 -.15(ve a)-.15 H .446
+(re e).15 F .446(xpanded in)-.15 F(the macro body)108 321.6 Q 5(.B)-.65
+G(ackslash will quote an)-5 E 2.5(yo)-.15 G
+(ther character in the macro te)-2.5 E(xt, including " and \010.)-.15 E
+F2(Bash)108 338.4 Q F1 1.196(will display or modify the current)3.696 F
+F2 -.18(re)3.696 G(adline).18 E F1 -.1(ke)3.696 G 3.696(yb)-.05 G 1.196
+(indings with the)-3.696 F F2(bind)3.696 E F1 -.2(bu)3.697 G 1.197
+(iltin command.).2 F(The)6.197 E F2<ad6f>3.697 E(emacs)108 350.4 Q F1
+(or)3.349 E F2 .849(\255o vi)3.349 F F1 .849(options to the)3.349 F F2
+(set)3.349 E F1 -.2(bu)3.349 G .849
+(iltin will change the editing mode during interacti).2 F 1.149 -.15
+(ve u)-.25 H 3.348(se. Other).15 F(pro-)3.348 E 1.355
+(grams using this library pro)108 362.4 R 1.355
+(vide similar mechanisms.)-.15 F 3.855(Au)6.355 G 1.355(ser may al)
+-3.855 F -.1(wa)-.1 G 1.355(ys edit the).1 F F0(inputr)3.865 E(c)-.37 E
+F1 1.355(\214le and ha)4.165 F -.15(ve)-.2 G F2 -.18(re)108 374.4 S
+(adline).18 E F1(re-read it if a program does not pro)2.5 E(vide an)-.15
+E 2.5(yo)-.15 G(ther means to incorporate ne)-2.5 E 2.5(wb)-.25 G
+(indings.)-2.5 E F2 -.92(Va)87 391.2 S(riables).92 E(Readline)108 403.2
+Q F1 .453(has v)2.953 F .452
 (ariables that can be used to further customize its beha)-.25 F(vior)-.2
-E 5.043(.A)-.55 G -.25(va)-2.5 G .043(riable may be set in the).25 F F0
-(inpu-)2.554 E(tr)108 189.6 Q(c)-.37 E F1
-(\214le with a statement of the form)2.81 E F2(set)144 206.4 Q F0
-(variable\255name value)2.5 E F1 .79(Except where noted, readline v)108
-223.2 R .79(ariables can tak)-.25 F 3.29(et)-.1 G .79(he v)-3.29 F
-(alues)-.25 E F2(On)3.29 E F1(or)3.29 E F2(Off)3.29 E F1 .79
-(\(without re)3.29 F -.05(ga)-.15 G .79(rd to case\).).05 F(Unrecog-)
-5.79 E .508(nized v)108 235.2 R .508(ariable names are ignored.)-.25 F
-.508(When readline reads a v)5.508 F .508(ariable v)-.25 F .508
-(alue, empty or null v)-.25 F .509(alues, \231on\232 \(case-)-.25 F
-(insensiti)108 247.2 Q -.15(ve)-.25 G .594(\), and \2311\232 are equi)
-.15 F -.25(va)-.25 G .594(lent to).25 F F2(On)3.094 E F1 5.594(.A)C .594
-(ll other v)-5.594 F .593(alues are equi)-.25 F -.25(va)-.25 G .593
-(lent to).25 F F2(Off)3.093 E F1 5.593(.T)C .593(he v)-5.593 F .593
-(ariables and their)-.25 F(def)108 259.2 Q(ault v)-.1 E(alues are:)-.25
-E F2(acti)108 276 Q -.1(ve)-.1 G<ad72>.1 E(egion\255start\255color)-.18
-E F1 2.729(As)144 288 S .229(tring v)-2.729 F .229
-(ariable that controls the te)-.25 F .229
+E 5.452(.A)-.55 G -.25(va)-2.5 G .452(riable may be set in the).25 F F0
+(in-)2.962 E(putr)108 415.2 Q(c)-.37 E F1
+(\214le with a statement of the form)2.81 E F2(set)144 432 Q F0
+(variable\255name value)2.5 E F1 .626(Except where noted,)108 448.8 R F2
+-.18(re)3.127 G(adline).18 E F1 -.25(va)3.127 G .627(riables can tak).25
+F 3.127(et)-.1 G .627(he v)-3.127 F(alues)-.25 E F2(On)3.127 E F1(or)
+3.127 E F2(Off)3.127 E F1 .627(\(without re)3.127 F -.05(ga)-.15 G .627
+(rd to case\).).05 F(Unrecog-)5.627 E .345(nized v)108 460.8 R .345
+(ariable names are ignored.)-.25 F(When)5.345 E F2 -.18(re)2.845 G
+(adline).18 E F1 .345(reads a v)2.845 F .345(ariable v)-.25 F .345
+(alue, empty or null v)-.25 F .345(alues, \231on\232 \(case-)-.25 F
+(insensiti)108 472.8 Q -.15(ve)-.25 G(\), and \2311\232 are equi).15 E
+-.25(va)-.25 G(lent to).25 E F2(On)2.5 E F1 5(.A)C(ll other v)-5 E
+(alues are equi)-.25 E -.25(va)-.25 G(lent to).25 E F2(Off)2.5 E F1(.)A
+(The v)108 489.6 Q(ariables and their def)-.25 E(ault v)-.1 E
+(alues are:)-.25 E F2(acti)108 506.4 Q -.1(ve)-.1 G<ad72>.1 E
+(egion\255start\255color)-.18 E F1 2.729(As)144 518.4 S .229(tring v)
+-2.729 F .229(ariable that controls the te)-.25 F .229
 (xt color and background when displaying the te)-.15 F .23
-(xt in the acti)-.15 F -.15(ve)-.25 G(re)144 300 Q 1.527
+(xt in the acti)-.15 F -.15(ve)-.25 G(re)144 530.4 Q 1.527
 (gion \(see the description of)-.15 F F2(enable\255acti)4.026 E -.1(ve)
 -.1 G<ad72>.1 E(egion)-.18 E F1(belo)4.026 E 4.026(w\). This)-.25 F
 1.526(string must not tak)4.026 F 4.026(eu)-.1 G 4.026(pa)-4.026 G -.15
-(ny)-4.026 G(ph)144 312 Q .283
+(ny)-4.026 G(ph)144 542.4 Q .283
 (ysical character positions on the display)-.05 F 2.783(,s)-.65 G 2.784
 (oi)-2.783 G 2.784(ts)-2.784 G .284
 (hould consist only of terminal escape sequences.)-2.784 F .45
-(It is output to the terminal before displaying the te)144 324 R .45
+(It is output to the terminal before displaying the te)144 554.4 R .45
 (xt in the acti)-.15 F .75 -.15(ve r)-.25 H -.15(eg).15 G 2.95
 (ion. This).15 F -.25(va)2.95 G .45(riable is reset to).25 F .378
-(the def)144 336 R .378(ault v)-.1 F .378(alue whene)-.25 F -.15(ve)-.25
-G 2.878(rt).15 G .379(he terminal type changes.)-2.878 F .379(The def)
-5.379 F .379(ault v)-.1 F .379(alue is the string that puts the)-.25 F
-.655(terminal in standout mode, as obtained from the terminal')144 348 R
+(the def)144 566.4 R .378(ault v)-.1 F .378(alue whene)-.25 F -.15(ve)
+-.25 G 2.878(rt).15 G .379(he terminal type changes.)-2.878 F .379
+(The def)5.379 F .379(ault v)-.1 F .379
+(alue is the string that puts the)-.25 F .655
+(terminal in standout mode, as obtained from the terminal')144 578.4 R
 3.154(st)-.55 G .654(erminfo description.)-3.154 F 3.154(As)5.654 G .654
-(ample v)-3.154 F(alue)-.25 E(might be \231\\e[01;33m\232.)144 360 Q F2
-(acti)108 372 Q -.1(ve)-.1 G<ad72>.1 E(egion\255end\255color)-.18 E F1
-3.777(As)144 384 S 1.277(tring v)-3.777 F 1.277
+(ample v)-3.154 F(alue)-.25 E(might be \231\\e[01;33m\232.)144 590.4 Q
+F2(acti)108 602.4 Q -.1(ve)-.1 G<ad72>.1 E(egion\255end\255color)-.18 E
+F1 3.777(As)144 614.4 S 1.277(tring v)-3.777 F 1.277
 (ariable that \231undoes\232 the ef)-.25 F 1.277(fects of)-.25 F F2
 (acti)3.777 E -.1(ve)-.1 G<ad72>.1 E(egion\255start\255color)-.18 E F1
 1.278(and restores \231normal\232)3.778 F .216
-(terminal display appearance after displaying te)144 396 R .216
+(terminal display appearance after displaying te)144 626.4 R .216
 (xt in the acti)-.15 F .516 -.15(ve r)-.25 H -.15(eg).15 G 2.716
 (ion. This).15 F .216(string must not tak)2.716 F 2.716(eu)-.1 G(p)
--2.716 E(an)144 408 Q 3.737(yp)-.15 G -.05(hy)-3.737 G 1.237
+-2.716 E(an)144 638.4 Q 3.737(yp)-.15 G -.05(hy)-3.737 G 1.237
 (sical character positions on the display).05 F 3.737(,s)-.65 G 3.737
 (oi)-3.737 G 3.737(ts)-3.737 G 1.238
 (hould consist only of terminal escape se-)-3.737 F 2.928(quences. It)
-144 420 R .428(is output to the terminal after displaying the te)2.928 F
-.427(xt in the acti)-.15 F .727 -.15(ve r)-.25 H -.15(eg).15 G 2.927
+144 650.4 R .428(is output to the terminal after displaying the te)2.928
+.427(xt in the acti)-.15 F .727 -.15(ve r)-.25 H -.15(eg).15 G 2.927
 (ion. This).15 F -.25(va)2.927 G .427(riable is).25 F .518
-(reset to the def)144 432 R .518(ault v)-.1 F .518(alue whene)-.25 F
+(reset to the def)144 662.4 R .518(ault v)-.1 F .518(alue whene)-.25 F
 -.15(ve)-.25 G 3.018(rt).15 G .518(he terminal type changes.)-3.018 F
 .518(The def)5.518 F .518(ault v)-.1 F .518(alue is the string that)-.25
 F .252(restores the terminal from standout mode, as obtained from the t\
-erminal')144 444 R 2.751(st)-.55 G .251(erminfo description.)-2.751 F(A)
-5.251 E(sample v)144 456 Q(alue might be \231\\e[0m\232.)-.25 E F2
-(bell\255style \(audible\))108 468 Q F1 .01
-(Controls what happens when readline w)144 480 R .011
-(ants to ring the terminal bell.)-.1 F .011(If set to)5.011 F F2(none)
-2.511 E F1 2.511(,r)C .011(eadline ne)-2.511 F -.15(ve)-.25 G(r).15 E
-.94(rings the bell.)144 492 R .94(If set to)5.94 F F2(visible)3.44 E F1
-3.44(,r)C .94(eadline uses a visible bell if one is a)-3.44 F -.25(va)
--.2 G 3.44(ilable. If).25 F .94(set to)3.44 F F2(audible)3.44 E F1(,)A
-(readline attempts to ring the terminal')144 504 Q 2.5(sb)-.55 G(ell.)
--2.5 E F2(bind\255tty\255special\255chars \(On\))108 516 Q F1 .178
-(If set to)144 528 R F2(On)2.678 E F1 .178(\(the def)2.678 F .178
-(ault\), readline attempts to bind the control)-.1 F .178
-(characters that are treated specially)5.178 F 1.196(by the k)144 540 R
-(ernel')-.1 E 3.696(st)-.55 G 1.196(erminal dri)-3.696 F -.15(ve)-.25 G
-3.696(rt).15 G 3.695(ot)-3.696 G 1.195(heir readline equi)-3.695 F -.25
-(va)-.25 G 3.695(lents. These).25 F -.15(ove)3.695 G 1.195
-(rride the def).15 F 1.195(ault readline)-.1 F .306
-(bindings described here.)144 552 R -.8(Ty)5.307 G .307
-(pe \231stty -a\232 at a).8 F F2(bash)2.807 E F1 .307
-(prompt to see your current terminal settings, in-)2.807 F
-(cluding the special control characters \(usually)144 564 Q F2(cchars)
-2.5 E F1(\).)A F2(blink\255matching\255par)108 576 Q(en \(Off\))-.18 E
-F1 .21(If set to)144 588 R F2(On)2.71 E F1 2.71(,r)C .21
-(eadline attempts to brie\215y mo)-2.71 F .51 -.15(ve t)-.15 H .21
-(he cursor to an opening parenthesis when a closing).15 F
-(parenthesis is inserted.)144 600 Q F2(color)108 612 Q
-(ed\255completion\255pr)-.18 E(e\214x \(Off\))-.18 E F1 .515(If set to)
-144 624 R F2(On)3.015 E F1 3.015(,w)C .515(hen listing completions, rea\
-dline displays the common pre\214x of the set of possible)-3.015 F 2.936
-(completions using a dif)144 636 R 2.936(ferent color)-.25 F 7.936(.T)
--.55 G 2.936(he color de\214nitions are tak)-7.936 F 2.935
-(en from the v)-.1 F 2.935(alue of the)-.25 F F2(LS_COLORS)144 648 Q F1
-(en)3.076 E .577(vironment v)-.4 F 3.077(ariable. If)-.25 F .577
-(there is a color de\214nition in)3.077 F F2($LS_COLORS)3.077 E F1 .577
-(for the cus-)3.077 F .07(tom suf)144 660 R .069(\214x \231readline-col\
-ored-completion-pre\214x\232, readline uses this color for the common p\
-re\214x in-)-.25 F(stead of its def)144 672 Q(ault.)-.1 E F2(color)108
-684 Q(ed\255stats \(Off\))-.18 E F1 1.579(If set to)144 696 R F2(On)
-4.079 E F1 4.079(,r)C 1.579
-(eadline displays possible completions using dif)-4.079 F 1.58
-(ferent colors to indicate their \214le)-.25 F 2.5(type. The)144 708 R
-(color de\214nitions are tak)2.5 E(en from the v)-.1 E(alue of the)-.25
-E F2(LS_COLORS)2.5 E F1(en)2.5 E(vironment v)-.4 E(ariable.)-.25 E
-(GNU Readline 8.3)72 768 Q(2024 March 29)128.74 E(3)198.45 E 0 Cg EP
+erminal')144 674.4 R 2.751(st)-.55 G .251(erminfo description.)-2.751 F
+(A)5.251 E(sample v)144 686.4 Q(alue might be \231\\e[0m\232.)-.25 E F2
+(bell\255style \(audible\))108 698.4 Q F1 1.284
+(Controls what happens when)144 710.4 R F2 -.18(re)3.784 G(adline).18 E
+F1 -.1(wa)3.784 G 1.284(nts to ring the terminal bell.).1 F 1.284
+(If set to)6.284 F F2(none)3.784 E F1(,)A F2 -.18(re)3.784 G(adline).18
+E F1(ne)144 722.4 Q -.15(ve)-.25 G 3.954(rr).15 G 1.454(ings the bell.)
+-3.954 F 1.454(If set to)6.454 F F2(visible)3.954 E F1(,)A F2 -.18(re)
+3.954 G(adline).18 E F1 1.454(uses a visible bell if one is a)3.954 F
+-.25(va)-.2 G 3.953(ilable. If).25 F 1.453(set to)3.953 F
+(GNU Readline 8.3)72 768 Q(2024 October 10)125.685 E(3)195.395 E 0 Cg EP
 %%Page: 4 4
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Italic@0 SF(READLINE)72.63 48 Q/F1 10/Times-Roman@0 SF
 118.765(\(3\) Library).73 F(Functions Manual)2.5 E F0(READLINE)121.895 E
-F1(\(3\)).73 E/F2 10/Times-Bold@0 SF(comment\255begin \()108 84 Q F1<99>
-A F2(#)A F1<9a>A F2(\))A F1 1.396(The string that is inserted when the)
-144 96 R F2(insert\255comment)3.896 E F1 1.396(command is e)3.896 F -.15
-(xe)-.15 G 3.896(cuted. This).15 F 1.396(command is)3.896 F(bound to)144
-108 Q F2(M\255#)2.5 E F1(in emacs mode and to)2.5 E F2(#)2.5 E F1
-(in vi command mode.)2.5 E F2(completion\255display\255width \(\2551\))
-108 120 Q F1 1.453(The number of screen columns used to display possibl\
-e matches when performing completion.)144 132 R .194(The v)144 144 R
-.193(alue is ignored if it is less than 0 or greater than the terminal \
-screen width.)-.25 F 2.693(Av)5.193 G .193(alue of 0 will)-2.943 F
-(cause matches to be displayed one per line.)144 156 Q(The def)5 E
-(ault v)-.1 E(alue is \2551.)-.25 E F2(completion\255ignor)108 168 Q
-(e\255case \(Off\))-.18 E F1(If set to)144 180 Q F2(On)2.5 E F1 2.5(,r)C
-(eadline performs \214lename matching and completion in a case\255insen\
-siti)-2.5 E .3 -.15(ve f)-.25 H(ashion.).05 E F2
-(completion\255map\255case \(Off\))108 192 Q F1 .093(If set to)144 204 R
-F2(On)2.593 E F1 2.593(,a)C(nd)-2.593 E F2(completion\255ignor)2.593 E
-(e\255case)-.18 E F1 .093(is enabled, readline treats h)2.593 F .093
-(yphens \()-.05 F F0<ad>A F1 2.593(\)a)C .094(nd underscores)-2.593 F
-(\()144 216 Q F0(_)A F1 2.5(\)a)C 2.5(se)-2.5 G(qui)-2.5 E -.25(va)-.25
-G(lent when performing case\255insensiti).25 E .3 -.15(ve \214)-.25 H
-(lename matching and completion.).15 E F2(completion\255pr)108 228 Q
-(e\214x\255display\255length \(0\))-.18 E F1 .829(The length in charact\
-ers of the common pre\214x of a list of possible completions that is di\
-splayed)144 240 R 1.274(without modi\214cation.)144 252 R 1.274
-(When set to a v)6.274 F 1.274(alue greater than zero, common pre\214x)
--.25 F 1.275(es longer than this)-.15 F -.25(va)144 264 S(lue are repla\
-ced with an ellipsis when displaying possible completions.).25 E F2
-(completion\255query\255items \(100\))108 276 Q F1 .53
-(This determines when the user is queried about vie)144 288 R .529
+F1(\(3\)).73 E/F2 10/Times-Bold@0 SF(audible)144 84 Q F1(,)A F2 -.18(re)
+2.5 G(adline).18 E F1(attempts to ring the terminal')2.5 E 2.5(sb)-.55 G
+(ell.)-2.5 E F2(bind\255tty\255special\255chars \(On\))108 96 Q F1 .515
+(If set to)144 108 R F2(On)3.016 E F1(,)A F2 -.18(re)3.016 G(adline).18
+E F1 .516(attempts to bind the control characters that are treated spec\
+ially by the k)3.016 F(er)-.1 E(-)-.2 E(nel')144 120 Q 3.605(st)-.55 G
+1.105(erminal dri)-3.605 F -.15(ve)-.25 G 3.605(rt).15 G 3.605(ot)-3.605
+G(heir)-3.605 E F2 -.18(re)3.605 G(adline).18 E F1(equi)3.605 E -.25(va)
+-.25 G 3.605(lents. These).25 F -.15(ove)3.605 G 1.105(rride the def).15
+F(ault)-.1 E F2 -.18(re)3.605 G(adline).18 E F1(bindings)3.605 E .858
+(described here.)144 132 R -.8(Ty)5.858 G .858
+(pe \231stty \255a\232 at a).8 F F2(bash)3.359 E F1 .859
+(prompt to see your current terminal settings, including)3.359 F
+(the special control characters \(usually)144 144 Q F2(cchars)2.5 E F1
+(\).)A F2(blink\255matching\255par)108 156 Q(en \(Off\))-.18 E F1 .057
+(If set to)144 168 R F2(On)2.557 E F1(,)A F2 -.18(re)2.557 G(adline).18
+E F1 .057(attempts to brie\215y mo)2.557 F .356 -.15(ve t)-.15 H .056
+(he cursor to an opening parenthesis when a closing).15 F
+(parenthesis is inserted.)144 180 Q F2(color)108 192 Q
+(ed\255completion\255pr)-.18 E(e\214x \(Off\))-.18 E F1 .351(If set to)
+144 204 R F2(On)2.852 E F1 2.852(,w)C .352(hen listing completions,)
+-2.852 F F2 -.18(re)2.852 G(adline).18 E F1 .352
+(displays the common pre\214x of the set of possible)2.852 F 2.936
+(completions using a dif)144 216 R 2.936(ferent color)-.25 F 7.936(.T)
+-.55 G 2.936(he color de\214nitions are tak)-7.936 F 2.935
+(en from the v)-.1 F 2.935(alue of the)-.25 F F2(LS_COLORS)144 228 Q F1
+(en)3.076 E .577(vironment v)-.4 F 3.077(ariable. If)-.25 F .577
+(there is a color de\214nition in)3.077 F F2($LS_COLORS)3.077 E F1 .577
+(for the cus-)3.077 F 1.176(tom suf)144 240 R 1.176
+(\214x \231readline-colored-completion-pre\214x\232,)-.25 F F2 -.18(re)
+3.676 G(adline).18 E F1 1.176(uses this color for the common pre\214x)
+3.676 F(instead of its def)144 252 Q(ault.)-.1 E F2(color)108 264 Q
+(ed\255stats \(Off\))-.18 E F1 1.392(If set to)144 276 R F2(On)3.893 E
+F1(,)A F2 -.18(re)3.893 G(adline).18 E F1 1.393
+(displays possible completions using dif)3.893 F 1.393
+(ferent colors to indicate their \214le)-.25 F 2.5(type. The)144 288 R
+(color de\214nitions are tak)2.5 E(en from the v)-.1 E(alue of the)-.25
+E F2(LS_COLORS)2.5 E F1(en)2.5 E(vironment v)-.4 E(ariable.)-.25 E F2
+(comment\255begin \()108 300 Q F1<99>A F2(#)A F1<9a>A F2(\))A F1 .477
+(The string that the)144 312 R F2 -.18(re)2.977 G .477
+(adline insert\255comment).18 F F1 .477(command inserts.)2.977 F .477
+(This command is bound to)5.477 F F2(M\255#)2.976 E F1
+(in emacs mode and to)144 324 Q F2(#)2.5 E F1(in vi command mode.)2.5 E
+F2(completion\255display\255width \(\2551\))108 336 Q F1 1.453(The numb\
+er of screen columns used to display possible matches when performing c\
+ompletion.)144 348 R .194(The v)144 360 R .193(alue is ignored if it is\
+ less than 0 or greater than the terminal screen width.)-.25 F 2.693(Av)
+5.193 G .193(alue of 0 will)-2.943 F
+(cause matches to be displayed one per line.)144 372 Q(The def)5 E
+(ault v)-.1 E(alue is \2551.)-.25 E F2(completion\255ignor)108 384 Q
+(e\255case \(Off\))-.18 E F1(If set to)144 396 Q F2(On)2.5 E F1(,)A F2
+-.18(re)2.5 G(adline).18 E F1
+(performs \214lename matching and completion in a case\255insensiti)2.5
+E .3 -.15(ve f)-.25 H(ashion.).05 E F2
+(completion\255map\255case \(Off\))108 408 Q F1 1.573(If set to)144 420
+R F2(On)4.074 E F1 4.074(,a)C(nd)-4.074 E F2(completion\255ignor)4.074 E
+(e\255case)-.18 E F1 1.574(is enabled,)4.074 F F2 -.18(re)4.074 G
+(adline).18 E F1 1.574(treats h)4.074 F 1.574(yphens \()-.05 F F0<ad>A
+F1 4.074(\)a)C 1.574(nd under)-4.074 F(-)-.2 E(scores \()144 432 Q F0(_)
+A F1 2.5(\)a)C 2.5(se)-2.5 G(qui)-2.5 E -.25(va)-.25 G
+(lent when performing case\255insensiti).25 E .3 -.15(ve \214)-.25 H
+(lename matching and completion.).15 E F2(completion\255pr)108 444 Q
+(e\214x\255display\255length \(0\))-.18 E F1 .689(The maximum length in\
+ characters of the common pre\214x of a list of possible completions th\
+at is)144 456 R .243(displayed without modi\214cation.)144 468 R .243
+(When set to a v)5.243 F .243(alue greater than zero,)-.25 F F2 -.18(re)
+2.743 G(adline).18 E F1 .244(replaces common)2.743 F(pre\214x)144 480 Q
+(es longer than this v)-.15 E
+(alue with an ellipsis when displaying possible completions.)-.25 E F2
+(completion\255query\255items \(100\))108 492 Q F1 .53
+(This determines when the user is queried about vie)144 504 R .529
 (wing the number of possible completions gen-)-.25 F .56(erated by the)
-144 300 R F2(possible\255completions)3.06 E F1 3.06(command. It)3.06 F
+144 516 R F2(possible\255completions)3.06 E F1 3.06(command. It)3.06 F
 .561(may be set to an)3.061 F 3.061(yi)-.15 G(nte)-3.061 E .561(ger v)
--.15 F .561(alue greater than or)-.25 F .783(equal to zero.)144 312 R
+-.15 F .561(alue greater than or)-.25 F .783(equal to zero.)144 528 R
 .783(If the number of possible completions is greater than or equal to \
-the v)5.783 F .782(alue of this)-.25 F -.25(va)144 324 S .367
-(riable, readline will ask whether or not the user wishes to vie).25 F
-2.868(wt)-.25 G .368(hem; otherwise the)-2.868 F 2.868(ya)-.15 G .368
-(re simply)-2.868 F(listed on the terminal.)144 336 Q 2.5(An)5 G -2.25
--.15(eg a)-2.5 H(ti).15 E .3 -.15(ve v)-.25 H
-(alue causes readline to ne)-.1 E -.15(ve)-.25 G 2.5(ra).15 G(sk.)-2.5 E
-F2(con)108 348 Q -.1(ve)-.4 G(rt\255meta \(On\)).1 E F1 .613(If set to)
-144 360 R F2(On)3.113 E F1 3.113(,r)C .613(eadline will con)-3.113 F
--.15(ve)-.4 G .613(rt characters with the eighth bit set to an ASCII k)
-.15 F .912 -.15(ey s)-.1 H .612(equence by).15 F 1.315(stripping the ei\
-ghth bit and pre\214xing it with an escape character \(in ef)144 372 R
-1.316(fect, using escape as the)-.25 F F0 .503(meta pr)144 384 R(e\214x)
--.37 E F1 3.003(\). The)B(def)3.003 E .503(ault is)-.1 F F0(On)3.003 E
-F1 3.003(,b)C .503(ut readline will set it to)-3.203 F F0(Of)3.003 E(f)
--.18 E F1 .502(if the locale contains eight-bit char)3.003 F(-)-.2 E
-3.049(acters. This)144 396 R -.25(va)3.049 G .549
-(riable is dependent on the).25 F F2(LC_CTYPE)3.049 E F1 .549
-(locale cate)3.049 F(gory)-.15 E 3.049(,a)-.65 G .55
-(nd may change if the lo-)-3.049 F(cale is changed.)144 408 Q F2
-(disable\255completion \(Off\))108 420 Q F1 .038(If set to)144 432 R F2
-(On)2.538 E F1 2.538(,r)C .038(eadline will inhibit w)-2.538 F .038
-(ord completion.)-.1 F .038
-(Completion characters will be inserted into the)5.038 F(line as if the)
-144 444 Q 2.5(yh)-.15 G(ad been mapped to)-2.5 E F2(self-insert)2.5 E F1
-(.)A F2(echo\255contr)108 456 Q(ol\255characters \(On\))-.18 E F1 1.21
-(When set to)144 468 R F2(On)3.71 E F1 3.71(,o)C 3.71(no)-3.71 G 1.211
-(perating systems that indicate the)-3.71 F 3.711(ys)-.15 G 1.211
-(upport it, readline echoes a character)-3.711 F
-(corresponding to a signal generated from the k)144 480 Q -.15(ey)-.1 G
-(board.).15 E F2(editing\255mode \(emacs\))108 492 Q F1 .142
-(Controls whether readline be)144 504 R .141(gins with a set of k)-.15 F
-.441 -.15(ey b)-.1 H .141(indings similar to).15 F F0(Emacs)2.641 E F1
-(or)2.641 E F0(vi)2.641 E F1(.)A F2(editing\255mode)5.141 E F1
-(can be set to either)144 516 Q F2(emacs)2.5 E F1(or)2.5 E F2(vi)2.5 E
-F1(.)A F2(emacs\255mode\255string \(@\))108 528 Q F1 .517(If the)144 540
-R F0(show\255mode\255in\255pr)3.017 E(ompt)-.45 E F1 -.25(va)3.017 G
-.518(riable is enabled, this string is displayed immediately before the)
-.25 F .622
-(last line of the primary prompt when emacs editing mode is acti)144 552
-R -.15(ve)-.25 G 5.622(.T).15 G .622(he v)-5.622 F .621(alue is e)-.25 F
-.621(xpanded lik)-.15 F 3.121(ea)-.1 G -.1(ke)144 564 S 3.339(yb)-.05 G
-.839(inding, so the standard set of meta- and control pre\214x)-3.339 F
-.84(es and backslash escape sequences is)-.15 F -.2(av)144 576 S 2.798
-(ailable. Use)-.05 F .298(the \\1 and \\2 escapes to be)2.798 F .298
-(gin and end sequences of non-printing characters, which)-.15 F
-(can be used to embed a terminal control sequence into the mode string.)
-144 588 Q F2(enable\255acti)108 600 Q -.1(ve)-.1 G<ad72>.1 E
-(egion \(On\))-.18 E F1(The)144 612 Q F0(point)3.245 E F1 .746
-(is the current cursor position, and)3.245 F F0(mark)3.246 E F1 .746
-(refers to a sa)3.246 F -.15(ve)-.2 G 3.246(dc).15 G .746
-(ursor position.)-3.246 F .746(The te)5.746 F .746(xt be-)-.15 F .344
-(tween the point and mark is referred to as the)144 624 R F0 -.37(re)
-2.844 G(gion)-.03 E F1 5.344(.W)C .344(hen this v)-5.344 F .344
-(ariable is set to)-.25 F F0(On)2.844 E F1 2.844(,r)C .344(eadline al-)
--2.844 F(lo)144 636 Q .098(ws certain commands to designate the re)-.25
-F .098(gion as)-.15 F F0(active)2.598 E F1 5.098(.W)C .098(hen the re)
--5.098 F .098(gion is acti)-.15 F -.15(ve)-.25 G 2.598(,r).15 G .098
-(eadline high-)-2.598 F .971(lights the te)144 648 R .971(xt in the re)
--.15 F .971(gion using the v)-.15 F .971(alue of the)-.25 F F2(acti)3.47
-E -.1(ve)-.1 G<ad72>.1 E(egion\255start\255color)-.18 E F1 3.47(,w)C .97
-(hich def)-3.47 F .97(aults to)-.1 F .484
-(the string that enables the terminal')144 660 R 2.985(ss)-.55 G .485
-(tandout mode.)-2.985 F .485(The acti)5.485 F .785 -.15(ve r)-.25 H -.15
-(eg).15 G .485(ion sho).15 F .485(ws the te)-.25 F .485(xt inserted by)
--.15 F(brack)144 672 Q(eted-paste and an)-.1 E 2.5(ym)-.15 G(atching te)
--2.5 E(xt found by incremental and non-incremental history searches.)
--.15 E F2(enable\255brack)108 684 Q(eted\255paste \(On\))-.1 E F1 .841
-(When set to)144 696 R F2(On)3.341 E F1 3.341(,r)C .841(eadline con\214\
-gures the terminal to insert each paste into the editing b)-3.341 F(uf)
--.2 E .84(fer as a)-.25 F .799(single string of characters, instead of \
-treating each character as if it had been read from the k)144 708 R -.15
-(ey)-.1 G(-).15 E 4.486(board. This)144 720 R(pre)4.486 E -.15(ve)-.25 G
-1.986(nts readline from e).15 F -.15(xe)-.15 G 1.986(cuting an).15 F
-4.486(ye)-.15 G 1.986(diting commands bound to k)-4.486 F 2.285 -.15
-(ey s)-.1 H(equences).15 E(GNU Readline 8.3)72 768 Q(2024 March 29)
-128.74 E(4)198.45 E 0 Cg EP
+the v)5.783 F .782(alue of this)-.25 F -.25(va)144 540 S(riable,).25 E
+F2 -.18(re)2.515 G(adline).18 E F1 .015
+(will ask whether or not the user wishes to vie)2.515 F 2.516(wt)-.25 G
+.016(hem; otherwise)-2.516 F F2 -.18(re)2.516 G(adline).18 E F1(simply)
+2.516 E 1.35(lists them on the terminal.)144 552 R 3.849(Az)6.35 G 1.349
+(ero v)-3.849 F 1.349(alue means)-.25 F F2 -.18(re)3.849 G(adline).18 E
+F1 1.349(should ne)3.849 F -.15(ve)-.25 G 3.849(ra).15 G 1.349(sk; ne)
+-3.849 F -.05(ga)-.15 G(ti).05 E 1.649 -.15(ve v)-.25 H 1.349(alues are)
+-.1 F(treated as zero.)144 564 Q F2(con)108 576 Q -.1(ve)-.4 G
+(rt\255meta \(On\)).1 E F1 .534(If set to)144 588 R F2(On)3.034 E F1(,)A
+F2 -.18(re)3.034 G(adline).18 E F1 .535(will con)3.034 F -.15(ve)-.4 G
+.535(rt characters it reads that ha).15 F .835 -.15(ve t)-.2 H .535
+(he eighth bit set to an ASCII k).15 F -.15(ey)-.1 G .475(sequence by c\
+learing the eighth bit and pre\214xing it with an escape character \(co\
+n)144 600 R -.15(ve)-.4 G .475(rting the char).15 F(-)-.2 E .617
+(acter to ha)144 612 R .917 -.15(ve t)-.2 H .617(he meta pre\214x\).).15
+F .617(The def)5.617 F .617(ault is)-.1 F F0(On)3.117 E F1 3.117(,b)C
+(ut)-3.317 E F2 -.18(re)3.117 G(adline).18 E F1 .617(will set it to)
+3.117 F F0(Of)3.117 E(f)-.18 E F1 .617(if the locale con-)3.117 F .957(\
+tains characters whose encodings may include bytes with the eighth bit \
+set.)144 624 R .957(This v)5.957 F .957(ariable is de-)-.25 F .37
+(pendent on the)144 636 R F2(LC_CTYPE)2.87 E F1 .371(locale cate)2.87 F
+(gory)-.15 E 2.871(,a)-.65 G .371(nd may change if the locale changes.)
+-2.871 F .371(This v)5.371 F(ariable)-.25 E(also af)144 648 Q(fects k)
+-.25 E .3 -.15(ey b)-.1 H(indings; see the description of).15 E F2 -.25
+(fo)2.5 G -.18(rc).25 G(e\255meta\255pr).18 E(e\214x)-.18 E F1(belo)2.5
+E -.65(w.)-.25 G F2(disable\255completion \(Off\))108 660 Q F1 .906
+(If set to)144 672 R F2(On)3.406 E F1(,)A F2 -.18(re)3.406 G(adline).18
+E F1 .906(will inhibit w)3.406 F .906(ord completion.)-.1 F .905
+(Completion characters will be inserted into)5.906 F(the line as if the)
+144 684 Q 2.5(yh)-.15 G(ad been mapped to)-2.5 E F2(self-insert)2.5 E F1
+(.)A F2(echo\255contr)108 696 Q(ol\255characters \(On\))-.18 E F1 1.036
+(When set to)144 708 R F2(On)3.536 E F1 3.536(,o)C 3.536(no)-3.536 G
+1.037(perating systems that indicate the)-3.536 F 3.537(ys)-.15 G 1.037
+(upport it,)-3.537 F F2 -.18(re)3.537 G(adline).18 E F1 1.037
+(echoes a character)3.537 F
+(corresponding to a signal generated from the k)144 720 Q -.15(ey)-.1 G
+(board.).15 E(GNU Readline 8.3)72 768 Q(2024 October 10)125.685 E(4)
+195.395 E 0 Cg EP
 %%Page: 5 5
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Italic@0 SF(READLINE)72.63 48 Q/F1 10/Times-Roman@0 SF
 118.765(\(3\) Library).73 F(Functions Manual)2.5 E F0(READLINE)121.895 E
-F1(\(3\)).73 E(appearing in the pasted te)144 84 Q(xt.)-.15 E/F2 10
-/Times-Bold@0 SF(enable\255k)108 96 Q(eypad \(Off\))-.1 E F1 .892
-(When set to)144 108 R F2(On)3.393 E F1 3.393(,r)C .893
-(eadline will try to enable the application k)-3.393 F -.15(ey)-.1 G
-.893(pad when it is called.).15 F .893(Some sys-)5.893 F
-(tems need this to enable the arro)144 120 Q 2.5(wk)-.25 G -.15(ey)-2.6
-G(s.).15 E F2(enable\255meta\255k)108 132 Q(ey \(On\))-.1 E F1 .64
-(When set to)144 144 R F2(On)3.14 E F1 3.14(,r)C .64
-(eadline will try to enable an)-3.14 F 3.14(ym)-.15 G .64
-(eta modi\214er k)-3.14 F .94 -.15(ey t)-.1 H .64
-(he terminal claims to support).15 F(when it is called.)144 156 Q
-(On man)5 E 2.5(yt)-.15 G(erminals, the meta k)-2.5 E .3 -.15(ey i)-.1 H
-2.5(su).15 G(sed to send eight-bit characters.)-2.5 E F2
-(expand\255tilde \(Off\))108 168 Q F1(If set to)144 180 Q F2(On)2.5 E F1
-2.5(,t)C(ilde e)-2.5 E(xpansion is performed when readline attempts w)
--.15 E(ord completion.)-.1 E F2(history\255pr)108 192 Q(eser)-.18 E -.1
-(ve)-.1 G(\255point \(Off\)).1 E F1 .552(If set to)144 204 R F2(On)3.052
-E F1 3.052(,t)C .552(he history code attempts to place point at the sam\
-e location on each history line re-)-3.052 F(trie)144 216 Q -.15(ve)-.25
-G 2.5(dw).15 G(ith)-2.5 E F2(pr)2.5 E -.15(ev)-.18 G(ious-history).15 E
-F1(or)2.5 E F2(next-history)2.5 E F1(.)A F2(history\255size \(unset\))
-108 228 Q F1 .949(Set the maximum number of history entries sa)144 240 R
--.15(ve)-.2 G 3.448(di).15 G 3.448(nt)-3.448 G .948(he history list.)
--3.448 F .948(If set to zero, an)5.948 F 3.448(ye)-.15 G(xisting)-3.598
-E .482(history entries are deleted and no ne)144 252 R 2.982(we)-.25 G
-.483(ntries are sa)-2.982 F -.15(ve)-.2 G 2.983(d. If).15 F .483
-(set to a v)2.983 F .483(alue less than zero, the num-)-.25 F .356
-(ber of history entries is not limited.)144 264 R .356(By def)5.356 F
-.355(ault, the number of history entries is not limited.)-.1 F .355
-(If an)5.355 F .82(attempt is made to set)144 276 R F0(history\255size)
-3.32 E F1 .821(to a non-numeric v)3.321 F .821
-(alue, the maximum number of history en-)-.25 F
-(tries will be set to 500.)144 288 Q F2(horizontal\255scr)108 300 Q
-(oll\255mode \(Off\))-.18 E F1 .449(When set to)144 312 R F2(On)2.949 E
-F1 2.949(,m)C(ak)-2.949 E .448
-(es readline use a single line for display)-.1 F 2.948(,s)-.65 G .448
-(crolling the input horizontally on a)-2.948 F 1.194(single screen line\
- when it becomes longer than the screen width rather than wrapping to a\
- ne)144 324 R(w)-.25 E 2.5(line. This)144 336 R
+F1(\(3\)).73 E/F2 10/Times-Bold@0 SF(editing\255mode \(emacs\))108 84 Q
+F1 .014(Controls whether)144 96 R F2 -.18(re)2.514 G(adline).18 E F1
+.013(uses a set of k)2.513 F .313 -.15(ey b)-.1 H .013
+(indings similar to).15 F F0(Emacs)2.513 E F1(or)2.513 E F0(vi)2.513 E
+F1(.)A F2(editing\255mode)5.013 E F1 .013(can be)2.513 F(set to either)
+144 108 Q F2(emacs)2.5 E F1(or)2.5 E F2(vi)2.5 E F1(.)A F2
+(emacs\255mode\255string \(@\))108 120 Q F1 .517(If the)144 132 R F0
+(show\255mode\255in\255pr)3.017 E(ompt)-.45 E F1 -.25(va)3.017 G .518
+(riable is enabled, this string is displayed immediately before the).25
+F .622(last line of the primary prompt when emacs editing mode is acti)
+144 144 R -.15(ve)-.25 G 5.622(.T).15 G .622(he v)-5.622 F .621
+(alue is e)-.25 F .621(xpanded lik)-.15 F 3.121(ea)-.1 G -.1(ke)144 156
+S 3.117(yb)-.05 G .617
+(inding, so the standard set of meta- and control- pre\214x)-3.117 F
+.618(es and backslash escape sequences is)-.15 F -.2(av)144 168 S 2.577
+(ailable. The)-.05 F .077(\\1 and \\2 escapes be)2.577 F .076
+(gin and end sequences of non-printing characters, which can be)-.15 F
+(used to embed a terminal control sequence into the mode string.)144 180
+Q F2(enable\255acti)108 192 Q -.1(ve)-.1 G<ad72>.1 E(egion \(On\))-.18 E
+F1 .621(When this v)144 204 R .621(ariable is set to)-.25 F F0(On)3.121
+E F1(,)A F2 -.18(re)3.121 G(adline).18 E F1(allo)3.121 E .621
+(ws certain commands to designate the re)-.25 F .622(gion as)-.15 F F0
+(ac-)3.122 E(tive)144 216 Q F1 5.083(.W)C .083(hen the re)-5.083 F .083
+(gion is acti)-.15 F -.15(ve)-.25 G(,).15 E F2 -.18(re)2.583 G(adline)
+.18 E F1 .083(highlights the te)2.583 F .083(xt in the re)-.15 F .083
+(gion using the v)-.15 F .082(alue of the)-.25 F F2(ac-)2.582 E(ti)144
+228 Q -.1(ve)-.1 G<ad72>.1 E(egion\255start\255color)-.18 E F1 3.432(,w)
+C .932(hich def)-3.432 F .933
+(aults to the string that enables the terminal')-.1 F 3.433(ss)-.55 G
+.933(tandout mode.)-3.433 F .033(The acti)144 240 R .333 -.15(ve r)-.25
+H -.15(eg).15 G .033(ion sho).15 F .033(ws the te)-.25 F .033
+(xt inserted by brack)-.15 F .033(eted-paste and an)-.1 F 2.532(ym)-.15
+G .032(atching te)-2.532 F .032(xt found by incre-)-.15 F
+(mental and non-incremental history searches.)144 252 Q F2
+(enable\255brack)108 264 Q(eted\255paste \(On\))-.1 E F1 .687
+(When set to)144 276 R F2(On)3.187 E F1(,)A F2 -.18(re)3.187 G(adline)
+.18 E F1 .687
+(con\214gures the terminal to insert each paste into the editing b)3.187
+F(uf)-.2 E .687(fer as a)-.25 F .799(single string of characters, inste\
+ad of treating each character as if it had been read from the k)144 288
+R -.15(ey)-.1 G(-).15 E 2.624(board. This)144 300 R .124(is called)2.624
+F F0(br)2.624 E(ac)-.15 E -.1(ke)-.2 G .124(ted\255paste mode).1 F F1
+2.625(;i)C 2.625(tp)-2.625 G(re)-2.625 E -.15(ve)-.25 G(nts).15 E F2
+-.18(re)2.625 G(adline).18 E F1 .125(from e)2.625 F -.15(xe)-.15 G .125
+(cuting an).15 F 2.625(ye)-.15 G .125(diting com-)-2.625 F
+(mands bound to k)144 312 Q .3 -.15(ey s)-.1 H
+(equences appearing in the pasted te).15 E(xt.)-.15 E F2(enable\255k)108
+324 Q(eypad \(Off\))-.1 E F1 .74(When set to)144 336 R F2(On)3.24 E F1
+(,)A F2 -.18(re)3.24 G(adline).18 E F1 .739
+(will try to enable the application k)3.24 F -.15(ey)-.1 G .739
+(pad when it is called.).15 F .739(Some sys-)5.739 F
+(tems need this to enable the arro)144 348 Q 2.5(wk)-.25 G -.15(ey)-2.6
+G(s.).15 E F2(enable\255meta\255k)108 360 Q(ey \(On\))-.1 E F1 .339
+(When set to)144 372 R F2(On)2.839 E F1(,)A F2 -.18(re)2.839 G(adline)
+.18 E F1 .339(will try to enable an)2.839 F 2.839(ym)-.15 G .34
+(eta modi\214er k)-2.839 F .64 -.15(ey t)-.1 H .34
+(he terminal claims to support.).15 F .577(On man)144 384 R 3.077(yt)
+-.15 G .577(erminals, the Meta k)-3.077 F .876 -.15(ey i)-.1 H 3.076(su)
+.15 G .576(sed to send eight-bit characters; this v)-3.076 F .576
+(ariable checks for the)-.25 F .867(terminal capability that indicates \
+the terminal can enable and disable a mode that sets the eighth)144 396
+R .363(bit of a character \(0200\) if the Meta k)144 408 R .663 -.15
+(ey i)-.1 H 2.863(sh).15 G .363(eld do)-2.863 F .363
+(wn when the character is typed \(a meta charac-)-.25 F(ter\).)144 420 Q
+F2(expand\255tilde \(Off\))108 432 Q F1(If set to)144 444 Q F2(On)2.5 E
+F1(,)A F2 -.18(re)2.5 G(adline).18 E F1(performs tilde e)2.5 E
+(xpansion when it attempts w)-.15 E(ord completion.)-.1 E F2 -.25(fo)108
+456 S -.18(rc).25 G(e\255meta\255pr).18 E(e\214x \(Off\))-.18 E F1 .481
+(If set to)144 468 R F2(On)2.981 E F1(,)A F2 -.18(re)2.981 G(adline).18
+E F1 .481(modi\214es its beha)2.981 F .481(vior when binding k)-.2 F
+.782 -.15(ey s)-.1 H .482(equences containing \\M- or Meta-).15 F(\(see)
+144 480 Q F2 -.25(Ke)2.785 G 2.785(yB).25 G(indings)-2.785 E F1(abo)
+2.784 E -.15(ve)-.15 G 2.784(\)b).15 G 2.784(yc)-2.784 G(on)-2.784 E
+-.15(ve)-.4 G .284(rting a k).15 F .584 -.15(ey s)-.1 H .284
+(equence of the form \\M\255).15 F F0(C)A F1 .284(or Meta\255)2.784 F F0
+(C)A F1 .284(to the tw)2.784 F(o-)-.1 E .78(character sequence)144 492 R
+F2(ESC)3.28 E F0(C)3.28 E F1 .78(\(adding the meta pre\214x\).)3.28 F
+(If)5.78 E F2 -.25(fo)3.28 G -.18(rc).25 G(e\255meta\255pr).18 E(e\214x)
+-.18 E F1 .78(is set to)3.28 F F2(Off)3.28 E F1 .78(\(the de-)3.28 F -.1
+(fa)144 504 S(ult\),).1 E F2 -.18(re)2.917 G(adline).18 E F1 .417
+(uses the v)2.917 F .417(alue of the)-.25 F F2(con)2.916 E -.1(ve)-.4 G
+(rt\255meta).1 E F1 -.25(va)2.916 G .416
+(riable to determine whether to perform this).25 F(con)144 516 Q -.15
+(ve)-.4 G .095(rsion: if).15 F F2(con)2.595 E -.1(ve)-.4 G(rt\255meta).1
+E F1(is)2.595 E F2(On)2.595 E F1(,)A F2 -.18(re)2.595 G(adline).18 E F1
+.095(performs the con)2.595 F -.15(ve)-.4 G .095(rsion described abo).15
+F -.15(ve)-.15 G 2.595(;i).15 G 2.595(fi)-2.595 G 2.595(ti)-2.595 G(s)
+-2.595 E F2(Off)2.595 E F1(,)A F2 -.18(re)144 528 S(adline).18 E F1(con)
+2.5 E -.15(ve)-.4 G(rts).15 E F0(C)2.5 E F1
+(to a meta character by setting the eighth bit \(0200\).)2.5 E F2
+(history\255pr)108 540 Q(eser)-.18 E -.1(ve)-.1 G(\255point \(Off\)).1 E
+F1 .553(If set to)144 552 R F2(On)3.052 E F1 3.052(,t)C .552(he history\
+ code attempts to place point at the same location on each history line\
+ re-)-3.052 F(trie)144 564 Q -.15(ve)-.25 G 2.5(dw).15 G(ith)-2.5 E F2
+(pr)2.5 E -.15(ev)-.18 G(ious-history).15 E F1(or)2.5 E F2(next-history)
+2.5 E F1(.)A F2(history\255size \(unset\))108 576 Q F1 .948
+(Set the maximum number of history entries sa)144 588 R -.15(ve)-.2 G
+3.448(di).15 G 3.448(nt)-3.448 G .948(he history list.)-3.448 F .949
+(If set to zero, an)5.948 F 3.449(ye)-.15 G(xisting)-3.599 E .483
+(history entries are deleted and no ne)144 600 R 2.983(we)-.25 G .483
+(ntries are sa)-2.983 F -.15(ve)-.2 G 2.983(d. If).15 F .482(set to a v)
+2.983 F .482(alue less than zero, the num-)-.25 F .523
+(ber of history entries is not limited.)144 612 R .523(By def)5.523 F
+.523(ault, the number of history entries is not limited.)-.1 F(Set-)
+5.523 E(ting)144 624 Q F0(history\255size)2.5 E F1(to a non-numeric v)
+2.5 E(alue will set the maximum number of history entries to 500.)-.25 E
+F2(horizontal\255scr)108 636 Q(oll\255mode \(Off\))-.18 E F1 .849
+(Setting this v)144 648 R .849(ariable to)-.25 F F2(On)3.349 E F1(mak)
+3.349 E(es)-.1 E F2 -.18(re)3.349 G(adline).18 E F1 .849
+(use a single line for display)3.349 F 3.348(,s)-.65 G .848
+(crolling the input hori-)-3.348 F .067(zontally on a single screen lin\
+e when it becomes longer than the screen width rather than wrapping)144
+660 R(to a ne)144 672 Q 2.5(wl)-.25 G 2.5(ine. This)-2.5 F
 (setting is automatically enabled for terminals of height 1.)2.5 E F2
-(input\255meta \(Off\))108 348 Q F1 .367(If set to)144 360 R F2(On)2.867
-E F1 2.867(,r)C .367(eadline will enable eight-bit input \(that is, it \
-will not clear the eighth bit in the char)-2.867 F(-)-.2 E .956
-(acters it reads\), re)144 372 R -.05(ga)-.15 G .956
-(rdless of what the terminal claims it can support.).05 F .957(The name)
-5.956 F F2(meta\255\215ag)3.457 E F1 .957(is a)3.457 F(synon)144 384 Q
-.77(ym for this v)-.15 F 3.27(ariable. The)-.25 F(def)3.27 E .77
-(ault is)-.1 F F0(Of)3.27 E(f)-.18 E F1 3.27(,b)C .77
-(ut readline will set it to)-3.47 F F0(On)3.27 E F1 .77
-(if the locale contains)3.27 F 1.866(eight-bit characters.)144 396 R
-1.866(This v)6.866 F 1.867(ariable is dependent on the)-.25 F F2
-(LC_CTYPE)4.367 E F1 1.867(locale cate)4.367 F(gory)-.15 E 4.367(,a)-.65
-G 1.867(nd may)-4.367 F(change if the locale is changed.)144 408 Q F2
-(isear)108 420 Q(ch\255terminators \()-.18 E F1<99>A F2(C\255[C\255J)A
-F1<9a>A F2(\))A F1 .439(The string of characters that should terminate \
-an incremental search without subsequently e)144 432 R -.15(xe)-.15 G
-(cut-).15 E .934(ing the character as a command.)144 444 R .935
-(If this v)5.935 F .935(ariable has not been gi)-.25 F -.15(ve)-.25 G
-3.435(nav).15 G .935(alue, the characters)-3.685 F F0(ESC)3.435 E F1
-(and)144 456 Q F0(C\255J)2.5 E F1(will terminate an incremental search.)
-2.5 E F2 -.1(ke)108 468 S(ymap \(emacs\)).1 E F1 2.323
-(Set the current readline k)144 480 R -.15(ey)-.1 G 4.823(map. The).15 F
-2.323(set of le)4.823 F -.05(ga)-.15 G 4.823(lk).05 G -.15(ey)-4.923 G
-2.323(map names is).15 F F0 2.323(emacs, emacs-standar)4.823 F(d,)-.37 E
-.781(emacs-meta, emacs-ctlx, vi, vi-mo)144 492 R(ve)-.1 E 3.282(,v)-.1 G
-(i-command)-3.282 E F1 3.282(,a)C(nd)-3.282 E F0(vi-insert)3.572 E F1(.)
-.68 E F0(vi)5.782 E F1 .782(is equi)3.282 F -.25(va)-.25 G .782(lent to)
-.25 F F0(vi-command)3.282 E F1(;)A F0(emacs)144 504 Q F1 .683(is equi)
-3.183 F -.25(va)-.25 G .683(lent to).25 F F0(emacs-standar)3.183 E(d)
--.37 E F1 5.682(.T)C .682(he def)-5.682 F .682(ault v)-.1 F .682
-(alue is)-.25 F F0(emacs)3.372 E F1 5.682(.T).27 G .682(he v)-5.682 F
-.682(alue of)-.25 F F2(editing\255mode)3.182 E F1(also af)144 516 Q
-(fects the def)-.25 E(ault k)-.1 E -.15(ey)-.1 G(map.).15 E F2 -.1(ke)
-108 528 S(yseq\255timeout \(500\)).1 E F1 .367(Speci\214es the duration)
-144 540 R F0 -.37(re)2.867 G(adline).37 E F1 .367(will w)2.867 F .367
-(ait for a character when reading an ambiguous k)-.1 F .668 -.15(ey s)
--.1 H(equence).15 E .525(\(one that can form a complete k)144 552 R .825
+(input\255meta \(Off\))108 684 Q F1 .237(If set to)144 696 R F2(On)2.737
+E F1(,)A F2 -.18(re)2.737 G(adline).18 E F1 .236(will enable eight-bit \
+input \(that is, it will not clear the eighth bit in the char)2.737 F(-)
+-.2 E .195(acters it reads\), re)144 708 R -.05(ga)-.15 G .195
+(rdless of what the terminal claims it can support.).05 F .196(The def)
+5.195 F .196(ault is)-.1 F F0(Of)2.696 E(f)-.18 E F1 2.696(,b)C(ut)
+-2.896 E F2 -.18(re)2.696 G(ad-).18 E(line)144 720 Q F1 .34
+(will set it to)2.84 F F0(On)2.84 E F1 .339(if the locale contains char\
+acters whose encodings may include bytes with the)2.84 F
+(GNU Readline 8.3)72 768 Q(2024 October 10)125.685 E(5)195.395 E 0 Cg EP
+%%Page: 6 6
+%%BeginPageSetup
+BP
+%%EndPageSetup
+/F0 10/Times-Italic@0 SF(READLINE)72.63 48 Q/F1 10/Times-Roman@0 SF
+118.765(\(3\) Library).73 F(Functions Manual)2.5 E F0(READLINE)121.895 E
+F1(\(3\)).73 E .786(eighth bit set.)144 84 R .786(This v)5.786 F .786
+(ariable is dependent on the)-.25 F/F2 10/Times-Bold@0 SF(LC_CTYPE)3.286
+E F1 .786(locale cate)3.286 F(gory)-.15 E 3.286(,a)-.65 G .786(nd its v)
+-3.286 F .786(alue may)-.25 F(change if the locale changes.)144 96 Q
+(The name)5 E F2(meta\255\215ag)2.5 E F1(is a synon)2.5 E(ym for)-.15 E
+F2(input\255meta)2.5 E F1(.)A F2(isear)108 108 Q(ch\255terminators \()
+-.18 E F1<99>A F2(C\255[C\255J)A F1<9a>A F2(\))A F1 .439(The string of \
+characters that should terminate an incremental search without subseque\
+ntly e)144 120 R -.15(xe)-.15 G(cut-).15 E .934
+(ing the character as a command.)144 132 R .935(If this v)5.935 F .935
+(ariable has not been gi)-.25 F -.15(ve)-.25 G 3.435(nav).15 G .935
+(alue, the characters)-3.685 F F0(ESC)3.435 E F1(and)144 144 Q F0
+(C\255J)2.5 E F1(will terminate an incremental search.)2.5 E F2 -.1(ke)
+108 156 S(ymap \(emacs\)).1 E F1 1.82(Set the current)144 168 R F2 -.18
+(re)4.32 G(adline).18 E F1 -.1(ke)4.32 G 4.32(ymap. The)-.05 F 1.82
+(set of v)4.32 F 1.82(alid k)-.25 F -.15(ey)-.1 G 1.82(map names is).15
+F F0 1.82(emacs, emacs\255standar)4.32 F(d,)-.37 E .041
+(emacs\255meta, emacs\255ctlx, vi, vi\255command)144 180 R F1 2.542(,a)C
+(nd)-2.542 E F0(vi\255insert)2.832 E F1(.).68 E F0(vi)5.042 E F1 .042
+(is equi)2.542 F -.25(va)-.25 G .042(lent to).25 F F0(vi\255command)
+2.542 E F1(;)A F0(emacs)2.542 E F1 .482(is equi)144 192 R -.25(va)-.25 G
+.482(lent to).25 F F0(emacs\255standar)2.982 E(d)-.37 E F1 5.482(.T)C
+.482(he def)-5.482 F .482(ault v)-.1 F .481(alue is)-.25 F F0(emacs)
+2.981 E F1 2.981(;t)C .481(he v)-2.981 F .481(alue of)-.25 F F2
+(editing\255mode)2.981 E F1 .481(also af-)2.981 F(fects the def)144 204
+Q(ault k)-.1 E -.15(ey)-.1 G(map.).15 E F2 -.1(ke)108 216 S
+(yseq\255timeout \(500\)).1 E F1 .234(Speci\214es the duration)144 228 R
+F2 -.18(re)2.734 G(adline).18 E F1 .234(will w)2.734 F .234
+(ait for a character when reading an ambiguous k)-.1 F .535 -.15(ey s)
+-.1 H(equence).15 E .525(\(one that can form a complete k)144 240 R .825
 -.15(ey s)-.1 H .524(equence using the input read so f).15 F(ar)-.1 E
 3.024(,o)-.4 G 3.024(rc)-3.024 G .524(an tak)-3.024 F 3.024(ea)-.1 G
-.524(dditional in-)-3.024 F .806(put to complete a longer k)144 564 R
-1.106 -.15(ey s)-.1 H 3.306(equence\). If).15 F .806(no input is recei)
-3.306 F -.15(ve)-.25 G 3.306(dw).15 G .807(ithin the timeout,)-3.306 F
-F0 -.37(re)3.307 G(adline).37 E F1(will)3.307 E .907(use the shorter b)
-144 576 R .907(ut complete k)-.2 F 1.207 -.15(ey s)-.1 H 3.407
-(equence. The).15 F -.25(va)3.407 G .907
-(lue is speci\214ed in milliseconds, so a v).25 F .906(alue of)-.25 F
-.05(1000 means that)144 588 R F0 -.37(re)2.55 G(adline).37 E F1 .05
-(will w)2.55 F .05(ait one second for additional input.)-.1 F .05
-(If this v)5.05 F .05(ariable is set to a v)-.25 F(alue)-.25 E .051
-(less than or equal to zero, or to a non-numeric v)144 600 R(alue,)-.25
-E F0 -.37(re)2.551 G(adline).37 E F1 .051(will w)2.551 F .051
-(ait until another k)-.1 F .351 -.15(ey i)-.1 H 2.551(sp).15 G(ressed)
--2.551 E(to decide which k)144 612 Q .3 -.15(ey s)-.1 H
-(equence to complete.).15 E F2(mark\255dir)108 624 Q(ectories \(On\))
--.18 E F1(If set to)144 636 Q F2(On)2.5 E F1 2.5(,c)C
+.524(dditional in-)-3.024 F .179(put to complete a longer k)144 252 R
+.479 -.15(ey s)-.1 H 2.679(equence\). If).15 F F2 -.18(re)2.679 G
+(adline).18 E F1 .179(does not recei)2.679 F .48 -.15(ve a)-.25 H .48
+-.15(ny i).15 H .18(nput within the timeout,).15 F 1.446
+(it will use the shorter b)144 264 R 1.446(ut complete k)-.2 F 1.746
+-.15(ey s)-.1 H 3.946(equence. The).15 F -.25(va)3.946 G 1.445
+(lue is speci\214ed in milliseconds, so a).25 F -.25(va)144 276 S .319
+(lue of 1000 means that).25 F F2 -.18(re)2.819 G(adline).18 E F1 .319
+(will w)2.819 F .319(ait one second for additional input.)-.1 F .32
+(If this v)5.32 F .32(ariable is set)-.25 F .905(to a v)144 288 R .905
+(alue less than or equal to zero, or to a non-numeric v)-.25 F(alue,)
+-.25 E F2 -.18(re)3.404 G(adline).18 E F1 .904(will w)3.404 F .904
+(ait until another)-.1 F -.1(ke)144 300 S 2.5(yi)-.05 G 2.5(sp)-2.5 G
+(ressed to decide which k)-2.5 E .3 -.15(ey s)-.1 H
+(equence to complete.).15 E F2(mark\255dir)108 312 Q(ectories \(On\))
+-.18 E F1(If set to)144 324 Q F2(On)2.5 E F1 2.5(,c)C
 (ompleted directory names ha)-2.5 E .3 -.15(ve a s)-.2 H(lash appended.)
-.15 E F2(mark\255modi\214ed\255lines \(Off\))108 648 Q F1(If set to)144
-660 Q F2(On)2.5 E F1 2.5(,h)C(istory lines that ha)-2.5 E .3 -.15(ve b)
--.2 H(een modi\214ed are displayed with a preceding asterisk \().15 E F2
-(*)A F1(\).)A F2(mark\255symlink)108 672 Q(ed\255dir)-.1 E
-(ectories \(Off\))-.18 E F1 .175(If set to)144 684 R F2(On)2.675 E F1
-2.675(,c)C .175
-(ompleted names which are symbolic links to directories ha)-2.675 F .475
--.15(ve a s)-.2 H .175(lash appended \(sub-).15 F(ject to the v)144 696
-Q(alue of)-.25 E F2(mark\255dir)2.5 E(ectories)-.18 E F1(\).)A
-(GNU Readline 8.3)72 768 Q(2024 March 29)128.74 E(5)198.45 E 0 Cg EP
-%%Page: 6 6
+.15 E F2(mark\255modi\214ed\255lines \(Off\))108 336 Q F1(If set to)144
+348 Q F2(On)2.5 E F1(,)A F2 -.18(re)2.5 G(adline).18 E F1
+(displays history lines that ha)2.5 E .3 -.15(ve b)-.2 H
+(een modi\214ed with a preceding asterisk \().15 E F2(*)A F1(\).)A F2
+(mark\255symlink)108 360 Q(ed\255dir)-.1 E(ectories \(Off\))-.18 E F1
+.226(If set to)144 372 R F2(On)2.727 E F1 2.727(,c)C .227
+(ompleted names which are symbolic links to directories ha)-2.727 F .527
+-.15(ve a s)-.2 H .227(lash appended, sub-).15 F(ject to the v)144 384 Q
+(alue of)-.25 E F2(mark\255dir)2.5 E(ectories)-.18 E F1(.)A F2
+(match\255hidden\255\214les \(On\))108 396 Q F1 .513(This v)144 408 R
+.513(ariable, when set to)-.25 F F2(On)3.013 E F1 3.013(,f)C(orces)
+-3.013 E F2 -.18(re)3.013 G(adline).18 E F1 .513
+(to match \214les whose names be)3.013 F .513(gin with a \231.)-.15 F
+5.512<9a28>-.7 G(hid-)-5.512 E .736
+(den \214les\) when performing \214lename completion.)144 420 R .737
+(If set to)5.737 F F2(Off)3.237 E F1 3.237(,t)C .737
+(he user must include the leading)-3.237 F<992e>144 432 Q 5<9a69>-.7 G
+2.5(nt)-5 G(he \214lename to be completed.)-2.5 E F2
+(menu\255complete\255display\255pr)108 444 Q(e\214x \(Off\))-.18 E F1
+1.586(If set to)144 456 R F2(On)4.086 E F1 4.086(,m)C 1.585(enu complet\
+ion displays the common pre\214x of the list of possible completions)
+-4.086 F(\(which may be empty\) before c)144 468 Q
+(ycling through the list.)-.15 E F2(output\255meta \(Off\))108 480 Q F1
+.361(If set to)144 492 R F2(On)2.861 E F1(,)A F2 -.18(re)2.861 G(adline)
+.18 E F1 .362(will display characters with the eighth bit set directly \
+rather than as a meta-)2.861 F(pre\214x)144 504 Q .731
+(ed escape sequence.)-.15 F .731(The def)5.731 F .731(ault is)-.1 F F0
+(Of)3.231 E(f)-.18 E F1 3.231(,b)C(ut)-3.431 E F2 -.18(re)3.231 G
+(adline).18 E F1 .73(will set it to)3.231 F F0(On)3.23 E F1 .73
+(if the locale contains)3.23 F .53
+(characters whose encodings may include bytes with the eighth bit set.)
+144 516 R .53(This v)5.53 F .53(ariable is dependent)-.25 F(on the)144
+528 Q F2(LC_CTYPE)2.5 E F1(locale cate)2.5 E(gory)-.15 E 2.5(,a)-.65 G
+(nd its v)-2.5 E(alue may change if the locale changes.)-.25 E F2
+(page\255completions \(On\))108 540 Q F1 .645(If set to)144 552 R F2(On)
+3.145 E F1(,)A F2 -.18(re)3.145 G(adline).18 E F1 .645(uses an internal)
+3.145 F F0(mor)3.145 E(e)-.37 E F1(-lik)A 3.145(ep)-.1 G .645
+(ager to display a screenful of possible comple-)-3.145 F
+(tions at a time.)144 564 Q F2(pr)108 576 Q(efer\255visible\255bell)-.18
+E F1(See)144 588 Q F2(bell\255style)2.5 E F1(.)A F2
+(print\255completions\255horizontally \(Off\))108 600 Q F1 .04
+(If set to)144 612 R F2(On)2.54 E F1(,)A F2 -.18(re)2.54 G(adline).18 E
+F1 .041(will display completions with matches sorted horizontally in al\
+phabetical or)2.541 F(-)-.2 E(der)144 624 Q 2.5(,r)-.4 G(ather than do)
+-2.5 E(wn the screen.)-.25 E F2 -2.29 -.18(re v)108 636 T
+(ert\255all\255at\255newline \(Off\)).08 E F1 .773(If set to)144 648 R
+F2(On)3.273 E F1(,)A F2 -.18(re)3.273 G(adline).18 E F1 .772
+(will undo all changes to history lines before returning when e)3.273 F
+-.15(xe)-.15 G(cuting).15 E F2(ac-)3.272 E(cept\255line)144 660 Q F1
+5.662(.B)C 3.162(yd)-5.662 G(ef)-3.162 E .663
+(ault, history lines may be modi\214ed and retain indi)-.1 F .663
+(vidual undo lists across calls)-.25 F(to)144 672 Q F2 -.18(re)2.5 G
+(adline\(\)).18 E F1(.)A F2(sear)108 684 Q(ch\255ignor)-.18 E
+(e\255case \(Off\))-.18 E F1 .103(If set to)144 696 R F2(On)2.603 E F1
+(,)A F2 -.18(re)2.603 G(adline).18 E F1 .103(performs incremental and n\
+on-incremental history list searches in a case\255in-)2.603 F(sensiti)
+144 708 Q .3 -.15(ve f)-.25 H(ashion.).05 E(GNU Readline 8.3)72 768 Q
+(2024 October 10)125.685 E(6)195.395 E 0 Cg EP
+%%Page: 7 7
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Italic@0 SF(READLINE)72.63 48 Q/F1 10/Times-Roman@0 SF
 118.765(\(3\) Library).73 F(Functions Manual)2.5 E F0(READLINE)121.895 E
-F1(\(3\)).73 E/F2 10/Times-Bold@0 SF(match\255hidden\255\214les \(On\))
-108 84 Q F1 .013(This v)144 96 R .013(ariable, when set to)-.25 F F2(On)
-2.513 E F1 2.513(,f)C .013
-(orces readline to match \214les whose names be)-2.513 F .013
-(gin with a \231.)-.15 F 5.012<9a28>-.7 G(hidden)-5.012 E .126
-(\214les\) when performing \214lename completion.)144 108 R .127
-(If set to)5.127 F F2(Off)2.627 E F1 2.627(,t)C .127
-(he user must include the leading \231.)-2.627 F 5.127<9a69>-.7 G(n)
--5.127 E(the \214lename to be completed.)144 120 Q F2
-(menu\255complete\255display\255pr)108 132 Q(e\214x \(Off\))-.18 E F1
-1.586(If set to)144 144 R F2(On)4.086 E F1 4.086(,m)C 1.585(enu complet\
-ion displays the common pre\214x of the list of possible completions)
--4.086 F(\(which may be empty\) before c)144 156 Q
-(ycling through the list.)-.15 E F2(output\255meta \(Off\))108 168 Q F1
-.506(If set to)144 180 R F2(On)3.006 E F1 3.006(,r)C .507(eadline will \
-display characters with the eighth bit set directly rather than as a me\
-ta-)-3.006 F(pre\214x)144 192 Q .885(ed escape sequence.)-.15 F .884
-(The def)5.884 F .884(ault is)-.1 F F0(Of)3.384 E(f)-.18 E F1 3.384(,b)C
-.884(ut readline will set it to)-3.584 F F0(On)3.384 E F1 .884
-(if the locale contains)3.384 F 1.866(eight-bit characters.)144 204 R
-1.866(This v)6.866 F 1.867(ariable is dependent on the)-.25 F F2
-(LC_CTYPE)4.367 E F1 1.867(locale cate)4.367 F(gory)-.15 E 4.367(,a)-.65
-G 1.867(nd may)-4.367 F(change if the locale is changed.)144 216 Q F2
-(page\255completions \(On\))108 228 Q F1 .809(If set to)144 240 R F2(On)
-3.308 E F1 3.308(,r)C .808(eadline uses an internal)-3.308 F F0(mor)
-3.308 E(e)-.37 E F1(-lik)A 3.308(ep)-.1 G .808
-(ager to display a screenful of possible comple-)-3.308 F
-(tions at a time.)144 252 Q F2
-(print\255completions\255horizontally \(Off\))108 264 Q F1 .227
-(If set to)144 276 R F2(On)2.727 E F1 2.727(,r)C .227(eadline will disp\
-lay completions with matches sorted horizontally in alphabetical or)
--2.727 F(-)-.2 E(der)144 288 Q 2.5(,r)-.4 G(ather than do)-2.5 E
-(wn the screen.)-.25 E F2 -2.29 -.18(re v)108 300 T
-(ert\255all\255at\255newline \(Off\)).08 E F1 .699(If set to)144 312 R
-F2(On)3.199 E F1 3.199(,r)C .699
-(eadline will undo all changes to history lines before returning when)
--3.199 F F2(accept\255line)3.198 E F1(is)3.198 E -.15(exe)144 324 S
-2.686(cuted. By).15 F(def)2.686 E .186
-(ault, history lines may be modi\214ed and retain indi)-.1 F .186
-(vidual undo lists across calls to)-.25 F F2 -.18(re)144 336 S(adline)
-.18 E F1(.)A F2(sear)108 348 Q(ch\255ignor)-.18 E(e\255case \(Off\))-.18
-E F1 .29(If set to)144 360 R F2(On)2.79 E F1 2.79(,r)C .289(eadline per\
-forms incremental and non-incremental history list searches in a case\
-\255in-)-2.79 F(sensiti)144 372 Q .3 -.15(ve f)-.25 H(ashion.).05 E F2
-(sho)108 384 Q(w\255all\255if\255ambiguous \(Off\))-.1 E F1 .303
-(This alters the def)144 396 R .303(ault beha)-.1 F .304
-(vior of the completion functions.)-.2 F .304(If set to)5.304 F F2(On)
-2.804 E F1 2.804(,w)C .304(ords which ha)-2.904 F .604 -.15(ve m)-.2 H
-(ore).15 E 1.264(than one possible completion cause the matches to be l\
-isted immediately instead of ringing the)144 408 R(bell.)144 420 Q F2
-(sho)108 432 Q(w\255all\255if\255unmodi\214ed \(Off\))-.1 E F1 5.345
-(This alters the def)144 444 R 5.345(ault beha)-.1 F 5.345
+F1(\(3\)).73 E/F2 10/Times-Bold@0 SF(sho)108 84 Q
+(w\255all\255if\255ambiguous \(Off\))-.1 E F1 .303(This alters the def)
+144 96 R .303(ault beha)-.1 F .304(vior of the completion functions.)-.2
+F .304(If set to)5.304 F F2(On)2.804 E F1 2.804(,w)C .304(ords which ha)
+-2.904 F .604 -.15(ve m)-.2 H(ore).15 E 1.264(than one possible complet\
+ion cause the matches to be listed immediately instead of ringing the)
+144 108 R(bell.)144 120 Q F2(sho)108 132 Q
+(w\255all\255if\255unmodi\214ed \(Off\))-.1 E F1 5.345
+(This alters the def)144 144 R 5.345(ault beha)-.1 F 5.345
 (vior of the completion functions in a f)-.2 F 5.346(ashion similar to)
--.1 F F2(sho)144 456 Q(w\255all\255if\255ambiguous)-.1 E F1 6.691(.I)C
+-.1 F F2(sho)144 156 Q(w\255all\255if\255ambiguous)-.1 E F1 6.691(.I)C
 4.191(fs)-6.691 G 1.691(et to)-4.191 F F2(On)4.191 E F1 4.191(,w)C 1.691
 (ords which ha)-4.291 F 1.991 -.15(ve m)-.2 H 1.691
-(ore than one possible completion).15 F 1.039(without an)144 468 R 3.539
+(ore than one possible completion).15 F 1.039(without an)144 168 R 3.539
 (yp)-.15 G 1.039
 (ossible partial completion \(the possible completions don')-3.539 F
 3.539(ts)-.18 G 1.04(hare a common pre\214x\))-3.539 F(cause the matche\
-s to be listed immediately instead of ringing the bell.)144 480 Q F2
-(sho)108 492 Q(w\255mode\255in\255pr)-.1 E(ompt \(Off\))-.18 E F1 1.022
-(If set to)144 504 R F2(On)3.522 E F1 3.522(,a)C 1.022
+s to be listed immediately instead of ringing the bell.)144 180 Q F2
+(sho)108 192 Q(w\255mode\255in\255pr)-.1 E(ompt \(Off\))-.18 E F1 1.022
+(If set to)144 204 R F2(On)3.522 E F1 3.522(,a)C 1.022
 (dd a string to the be)-3.522 F 1.021
 (ginning of the prompt indicating the editing mode: emacs, vi)-.15 F
-(command, or vi insertion.)144 516 Q(The mode strings are user)5 E
+(command, or vi insertion.)144 216 Q(The mode strings are user)5 E
 (-settable \(e.g.,)-.2 E F0(emacs\255mode\255string)2.5 E F1(\).)A F2
-(skip\255completed\255text \(Off\))108 528 Q F1 .094(If set to)144 540 R
+(skip\255completed\255text \(Off\))108 228 Q F1 .094(If set to)144 240 R
 F2(On)2.594 E F1 2.594(,t)C .095(his alters the def)-2.594 F .095
 (ault completion beha)-.1 F .095
-(vior when inserting a single match into the line.)-.2 F(It')144 552 Q
-2.546(so)-.55 G .046(nly acti)-2.546 F .346 -.15(ve w)-.25 H .046
-(hen performing completion in the middle of a w).15 F 2.545(ord. If)-.1
-F .045(enabled, readline does not)2.545 F 1.394(insert characters from \
-the completion that match characters after point in the w)144 564 R
-1.395(ord being com-)-.1 F(pleted, so portions of the w)144 576 Q
-(ord follo)-.1 E(wing the cursor are not duplicated.)-.25 E F2
-(vi\255cmd\255mode\255string \(\(cmd\)\))108 588 Q F1 .518(If the)144
-600 R F0(show\255mode\255in\255pr)3.018 E(ompt)-.45 E F1 -.25(va)3.018 G
+(vior when inserting a single match into the line.)-.2 F(It')144 252 Q
+3.394(so)-.55 G .894(nly acti)-3.394 F 1.194 -.15(ve w)-.25 H .893
+(hen performing completion in the middle of a w).15 F 3.393(ord. If)-.1
+F(enabled,)3.393 E F2 -.18(re)3.393 G(adline).18 E F1(does)3.393 E .283
+(not insert characters from the completion that match characters after \
+point in the w)144 264 R .283(ord being com-)-.1 F
+(pleted, so portions of the w)144 276 Q(ord follo)-.1 E
+(wing the cursor are not duplicated.)-.25 E F2
+(vi\255cmd\255mode\255string \(\(cmd\)\))108 288 Q F1 .518(If the)144
+300 R F0(show\255mode\255in\255pr)3.018 E(ompt)-.45 E F1 -.25(va)3.018 G
 .517(riable is enabled, this string is displayed immediately before the)
 .25 F .475(last line of the primary prompt when vi editing mode is acti)
-144 612 R .775 -.15(ve a)-.25 H .476(nd in command mode.).15 F .476
-(The v)5.476 F(alue)-.25 E .33(is e)144 624 R .33(xpanded lik)-.15 F
-2.83(eak)-.1 G .63 -.15(ey b)-2.93 H .33
-(inding, so the standard set of meta- and control pre\214x).15 F .33
-(es and backslash es-)-.15 F .244(cape sequences is a)144 636 R -.25(va)
--.2 G 2.744(ilable. Use).25 F .244(the \\1 and \\2 escapes to be)2.744 F
-.245(gin and end sequences of non-printing)-.15 F(characters, which can\
- be used to embed a terminal control sequence into the mode string.)144
-648 Q F2(vi\255ins\255mode\255string \(\(ins\)\))108 660 Q F1 .518
-(If the)144 672 R F0(show\255mode\255in\255pr)3.018 E(ompt)-.45 E F1
+144 312 R .775 -.15(ve a)-.25 H .476(nd in command mode.).15 F .476
+(The v)5.476 F(alue)-.25 E .135(is e)144 324 R .135(xpanded lik)-.15 F
+2.634(eak)-.1 G .434 -.15(ey b)-2.734 H .134
+(inding, so the standard set of meta- and control- pre\214x).15 F .134
+(es and backslash es-)-.15 F .404(cape sequences is a)144 336 R -.25(va)
+-.2 G 2.904(ilable. The).25 F .405(\\1 and \\2 escapes be)2.904 F .405
+(gin and end sequences of non-printing char)-.15 F(-)-.2 E(acters, whic\
+h can be used to embed a terminal control sequence into the mode string\
+.)144 348 Q F2(vi\255ins\255mode\255string \(\(ins\)\))108 360 Q F1 .518
+(If the)144 372 R F0(show\255mode\255in\255pr)3.018 E(ompt)-.45 E F1
 -.25(va)3.018 G .517
 (riable is enabled, this string is displayed immediately before the).25
 F .186(last line of the primary prompt when vi editing mode is acti)144
-684 R .486 -.15(ve a)-.25 H .186(nd in insertion mode.).15 F .187(The v)
-5.186 F .187(alue is)-.25 F -.15(ex)144 696 S .924(panded lik).15 F
-3.424(eak)-.1 G 1.224 -.15(ey b)-3.524 H .924
-(inding, so the standard set of meta- and control pre\214x).15 F .923
-(es and backslash es-)-.15 F .244(cape sequences is a)144 708 R -.25(va)
--.2 G 2.744(ilable. Use).25 F .244(the \\1 and \\2 escapes to be)2.744 F
-.245(gin and end sequences of non-printing)-.15 F(characters, which can\
- be used to embed a terminal control sequence into the mode string.)144
-720 Q(GNU Readline 8.3)72 768 Q(2024 March 29)128.74 E(6)198.45 E 0 Cg
-EP
-%%Page: 7 7
+384 R .486 -.15(ve a)-.25 H .186(nd in insertion mode.).15 F .187(The v)
+5.186 F .187(alue is)-.25 F -.15(ex)144 396 S .716(panded lik).15 F
+3.216(eak)-.1 G 1.016 -.15(ey b)-3.316 H .716
+(inding, so the standard set of meta- and control- pre\214x).15 F .715
+(es and backslash es-)-.15 F .404(cape sequences is a)144 408 R -.25(va)
+-.2 G 2.904(ilable. The).25 F .405(\\1 and \\2 escapes be)2.904 F .405
+(gin and end sequences of non-printing char)-.15 F(-)-.2 E(acters, whic\
+h can be used to embed a terminal control sequence into the mode string\
+.)144 420 Q F2(visible\255stats \(Off\))108 432 Q F1 .847(If set to)144
+444 R F2(On)3.346 E F1 3.346(,ac)C .846(haracter denoting a \214le')
+-3.346 F 3.346(st)-.55 G .846(ype as reported by)-3.346 F F0(stat)3.346
+E F1 .846(\(2\) is appended to the \214lename)B
+(when listing possible completions.)144 456 Q F2(Conditional Constructs)
+87 472.8 Q(Readline)108 484.8 Q F1 .494(implements a f)2.994 F .494(aci\
+lity similar in spirit to the conditional compilation features of the C\
+ preproces-)-.1 F .775(sor which allo)108 496.8 R .775(ws k)-.25 F 1.075
+-.15(ey b)-.1 H .775(indings and v).15 F .774
+(ariable settings to be performed as the result of tests.)-.25 F .774
+(There are four)5.774 F(parser directi)108 508.8 Q -.15(ve)-.25 G 2.5
+(sa).15 G -.25(va)-2.7 G(ilable.).25 E F2($if)108 525.6 Q F1(The)144
+525.6 Q F2($if)2.962 E F1 .462(construct allo)2.962 F .463(ws bindings \
+to be made based on the editing mode, the terminal being used,)-.25 F
+.788(or the application using)144 537.6 R F2 -.18(re)3.288 G(adline).18
+E F1 5.788(.T)C .787(he te)-5.788 F .787(xt of the test, after an)-.15 F
+3.287(yc)-.15 G .787(omparison operator)-3.287 F 3.287(,e)-.4 G .787
+(xtends to)-3.437 F(the end of the line; unless otherwise noted, no cha\
+racters are required to isolate it.)144 549.6 Q F2(mode)144 566.4 Q F1
+(The)180 566.4 Q F2(mode=)3.557 E F1 1.057(form of the)3.557 F F2($if)
+3.557 E F1(directi)3.557 E 1.358 -.15(ve i)-.25 H 3.558(su).15 G 1.058
+(sed to test whether)-3.558 F F2 -.18(re)3.558 G(adline).18 E F1 1.058
+(is in emacs or vi)3.558 F 3.065(mode. This)180 578.4 R .565
+(may be used in conjunction with the)3.065 F F2 .565(set k)3.065 F
+(eymap)-.1 E F1 .565(command, for instance, to)3.065 F .517
+(set bindings in the)180 590.4 R F0(emacs\255standar)3.017 E(d)-.37 E F1
+(and)3.017 E F0(emacs\255ctlx)3.017 E F1 -.1(ke)3.018 G .518
+(ymaps only if)-.05 F F2 -.18(re)3.018 G(adline).18 E F1 .518
+(is starting)3.018 F(out in emacs mode.)180 602.4 Q F2(term)144 619.2 Q
+F1(The)180 619.2 Q F2(term=)3.197 E F1 .696
+(form may be used to include terminal-speci\214c k)3.197 F .996 -.15
+(ey b)-.1 H .696(indings, perhaps to bind).15 F .654(the k)180 631.2 R
+.954 -.15(ey s)-.1 H .654(equences output by the terminal').15 F 3.154
+(sf)-.55 G .654(unction k)-3.154 F -.15(ey)-.1 G 3.154(s. The).15 F -.1
+(wo)3.154 G .654(rd on the right side of).1 F(the)180 643.2 Q F2(=)3.232
+E F1 .732(is tested ag)3.232 F .732(ainst both the full name of the ter\
+minal and the portion of the terminal)-.05 F .159
+(name before the \214rst)180 655.2 R F2<ad>2.659 E F1 5.159(.T)C .159
+(his allo)-5.159 F(ws)-.25 E F0(xterm)3.429 E F1 .159(to match both)
+2.979 F F0(xterm)3.43 E F1(and)2.98 E F0(xterm\255256color)3.43 E F1
+2.66(,f).73 G(or)-2.66 E(instance.)180 667.2 Q F2 -.1(ve)144 684 S
+(rsion).1 E F1(The)180 696 Q F2 -.1(ve)2.891 G(rsion).1 E F1 .391
+(test may be used to perform comparisons ag)2.891 F .391
+(ainst speci\214c)-.05 F F2 -.18(re)2.89 G(adline).18 E F1 -.15(ve)2.89
+G(rsions.).15 E(The)180 708 Q F2 -.1(ve)2.57 G(rsion).1 E F1 -.15(ex)
+2.57 G .071(pands to the current).15 F F2 -.18(re)2.571 G(adline).18 E
+F1 -.15(ve)2.571 G 2.571(rsion. The).15 F .071
+(set of comparison operators in-)2.571 F(cludes)180 720 Q F2(=)3.064 E
+F1 3.064(,\()C(and)-3.064 E F2(==)3.064 E F1(\),)A F2(!=)3.064 E F1(,)A
+F2(<=)3.064 E F1(,)A F2(>=)3.064 E F1(,)A F2(<)3.064 E F1 3.064(,a)C(nd)
+-3.064 E F2(>)3.064 E F1 5.563(.T)C .563(he v)-5.563 F .563
+(ersion number supplied on the right side)-.15 F(GNU Readline 8.3)72 768
+Q(2024 October 10)125.685 E(7)195.395 E 0 Cg EP
+%%Page: 8 8
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Italic@0 SF(READLINE)72.63 48 Q/F1 10/Times-Roman@0 SF
 118.765(\(3\) Library).73 F(Functions Manual)2.5 E F0(READLINE)121.895 E
-F1(\(3\)).73 E/F2 10/Times-Bold@0 SF(visible\255stats \(Off\))108 84 Q
-F1 .847(If set to)144 96 R F2(On)3.346 E F1 3.346(,ac)C .846
-(haracter denoting a \214le')-3.346 F 3.346(st)-.55 G .846
-(ype as reported by)-3.346 F F0(stat)3.346 E F1 .846
-(\(2\) is appended to the \214lename)B
-(when listing possible completions.)144 108 Q F2(Conditional Constructs)
-87 124.8 Q F1 .05(Readline implements a f)108 136.8 R .05(acility simil\
-ar in spirit to the conditional compilation features of the C preproces\
-sor)-.1 F .097(which allo)108 148.8 R .097(ws k)-.25 F .396 -.15(ey b)
--.1 H .096(indings and v).15 F .096
-(ariable settings to be performed as the result of tests.)-.25 F .096
-(There are four parser)5.096 F(directi)108 160.8 Q -.15(ve)-.25 G 2.5
-(su).15 G(sed.)-2.5 E F2($if)108 177.6 Q F1(The)144 177.6 Q F2($if)2.962
-E F1 .462(construct allo)2.962 F .463(ws bindings to be made based on t\
-he editing mode, the terminal being used,)-.25 F .962
-(or the application using readline.)144 189.6 R .961(The te)5.962 F .961
-(xt of the test, after an)-.15 F 3.461(yc)-.15 G .961
-(omparison operator)-3.461 F 3.461(,e)-.4 G .961(xtends to)-3.611 F(the\
- end of the line; unless otherwise noted, no characters are required to\
- isolate it.)144 201.6 Q F2(mode)144 218.4 Q F1(The)180 218.4 Q F2
-(mode=)3.711 E F1 1.211(form of the)3.711 F F2($if)3.711 E F1(directi)
-3.711 E 1.511 -.15(ve i)-.25 H 3.711(su).15 G 1.211
-(sed to test whether readline is in emacs or vi)-3.711 F 3.065
-(mode. This)180 230.4 R .565(may be used in conjunction with the)3.065 F
-F2 .565(set k)3.065 F(eymap)-.1 E F1 .565(command, for instance, to)
-3.065 F .029(set bindings in the)180 242.4 R F0(emacs-standar)2.529 E(d)
--.37 E F1(and)2.529 E F0(emacs-ctlx)2.529 E F1 -.1(ke)2.529 G .029
-(ymaps only if readline is starting out)-.05 F(in emacs mode.)180 254.4
-Q F2(term)144 271.2 Q F1(The)180 271.2 Q F2(term=)3.197 E F1 .696
-(form may be used to include terminal-speci\214c k)3.197 F .996 -.15
-(ey b)-.1 H .696(indings, perhaps to bind).15 F .654(the k)180 283.2 R
-.954 -.15(ey s)-.1 H .654(equences output by the terminal').15 F 3.154
-(sf)-.55 G .654(unction k)-3.154 F -.15(ey)-.1 G 3.154(s. The).15 F -.1
-(wo)3.154 G .654(rd on the right side of).1 F(the)180 295.2 Q F2(=)3.004
-E F1 .504(is tested ag)3.004 F .503(ainst the full name of the terminal\
- and the portion of the terminal name)-.05 F(before the \214rst)180
-307.2 Q F2<ad>2.5 E F1 5(.T)C(his allo)-5 E(ws)-.25 E F0(sun)2.84 E F1
-(to match both)2.74 E F0(sun)2.84 E F1(and)2.74 E F0(sun\255cmd)2.84 E
-F1 2.5(,f).77 G(or instance.)-2.5 E F2 -.1(ve)144 324 S(rsion).1 E F1
-(The)180 336 Q F2 -.1(ve)3.108 G(rsion).1 E F1 .608
-(test may be used to perform comparisons ag)3.108 F .609
-(ainst speci\214c readline v)-.05 F(ersions.)-.15 E(The)180 348 Q F2 -.1
-(ve)2.772 G(rsion).1 E F1 -.15(ex)2.772 G .272
-(pands to the current readline v).15 F 2.771(ersion. The)-.15 F .271
-(set of comparison operators in-)2.771 F(cludes)180 360 Q F2(=)3.063 E
-F1 3.063(,\()C(and)-3.063 E F2(==)3.063 E F1(\),)A F2(!=)3.063 E F1(,)A
-F2(<=)3.063 E F1(,)A F2(>=)3.063 E F1(,)A F2(<)3.063 E F1 3.063(,a)C(nd)
--3.063 E F2(>)3.064 E F1 5.564(.T)C .564(he v)-5.564 F .564
-(ersion number supplied on the right side)-.15 F .318
-(of the operator consists of a major v)180 372 R .318(ersion number)-.15
-F 2.818(,a)-.4 G 2.818(no)-2.818 G .318
-(ptional decimal point, and an op-)-2.818 F .1(tional minor v)180 384 R
-.1(ersion \(e.g.,)-.15 F F2(7.1)2.6 E F1 .1(\). If the minor v)B .101
-(ersion is omitted, it is assumed to be)-.15 F F2(0)2.601 E F1 5.101(.T)
-C(he)-5.101 E .06(operator may be separated from the string)180 396 R F2
--.1(ve)2.56 G(rsion).1 E F1 .06(and from the v)2.56 F .06
-(ersion number ar)-.15 F(gument)-.18 E(by whitespace.)180 408 Q F0
-(application)144.33 424.8 Q F1(The)180 436.8 Q F0(application)3.226 E F1
-.726(construct is used to include application-speci\214c settings.)3.226
-F .726(Each program)5.726 F .114(using the readline library sets the)180
-448.8 R F0 .114(application name)2.614 F F1 2.614(,a)C .114
-(nd an initialization \214le can test for a)-2.614 F .5(particular v)180
-460.8 R 3(alue. This)-.25 F .501(could be used to bind k)3 F .801 -.15
-(ey s)-.1 H .501(equences to functions useful for a spe-).15 F .397
-(ci\214c program.)180 472.8 R -.15(Fo)5.397 G 2.896(ri).15 G .396
+F1(\(3\)).73 E .318(of the operator consists of a major v)180 84 R .318
+(ersion number)-.15 F 2.818(,a)-.4 G 2.818(no)-2.818 G .318
+(ptional decimal point, and an op-)-2.818 F .461(tional minor v)180 96 R
+.461(ersion \(e.g.,)-.15 F/F2 10/Times-Bold@0 SF(7.1)2.961 E F1 2.961
+(\). If)B .461(the minor v)2.961 F .461(ersion is omitted, it def)-.15 F
+.46(aults to)-.1 F F2(0)2.96 E F1 5.46(.T)C .46(he op-)-5.46 F .829
+(erator may be separated from the string)180 108 R F2 -.1(ve)3.329 G
+(rsion).1 E F1 .829(and from the v)3.329 F .83(ersion number ar)-.15 F
+(gument)-.18 E(by whitespace.)180 120 Q F0(application)144.33 136.8 Q F1
+(The)180 148.8 Q F0(application)3.226 E F1 .726
+(construct is used to include application-speci\214c settings.)3.226 F
+.726(Each program)5.726 F .431(using the)180 160.8 R F2 -.18(re)2.931 G
+(adline).18 E F1 .431(library sets the)2.931 F F0 .431(application name)
+2.931 F F1 2.931(,a)C .432(nd an initialization \214le can test for)
+-2.931 F 2.536(ap)180 172.8 S .036(articular v)-2.536 F 2.536
+(alue. This)-.25 F .036(could be used to bind k)2.536 F .336 -.15(ey s)
+-.1 H .035(equences to functions useful for a spe-).15 F .396
+(ci\214c program.)180 184.8 R -.15(Fo)5.396 G 2.896(ri).15 G .396
 (nstance, the follo)-2.896 F .396(wing command adds a k)-.25 F .696 -.15
-(ey s)-.1 H .396(equence that quotes the).15 F(current or pre)180 484.8
+(ey s)-.1 H .397(equence that quotes the).15 F(current or pre)180 196.8
 Q(vious w)-.25 E(ord in)-.1 E F2(bash)2.5 E F1(:)A/F3 10/Courier-Bold@0
-SF($if)180 501.6 Q/F4 10/Courier@0 SF(Bash)6 E 6(#Q)180 513.6 S
+SF($if)180 213.6 Q/F4 10/Courier@0 SF(Bash)6 E 6(#Q)180 225.6 S
 (uote the current or previous word)-6 E("\\C-xq": "\\eb\\"\\ef\\"")180
-525.6 Q F3($endif)180 537.6 Q F0(variable)144.29 554.4 Q F1(The)180
-566.4 Q F0(variable)3.776 E F1 1.276(construct pro)3.776 F 1.276
-(vides simple equality tests for readline v)-.15 F 1.277(ariables and v)
--.25 F(alues.)-.25 E .08(The permitted comparison operators are)180
-578.4 R F0(=)2.579 E F1(,)A F0(==)2.579 E F1 2.579(,a)C(nd)-2.579 E F0
-(!=)2.579 E F1 5.079(.T)C .079(he v)-5.079 F .079
-(ariable name must be sepa-)-.25 F .98(rated from the comparison operat\
-or by whitespace; the operator may be separated from)180 590.4 R .13
-(the v)180 602.4 R .13(alue on the right hand side by whitespace.)-.25 F
-.129(Both string and boolean v)5.129 F .129(ariables may be)-.25 F
-(tested. Boolean v)180 614.4 Q(ariables must be tested ag)-.25 E
-(ainst the v)-.05 E(alues)-.25 E F0(on)2.5 E F1(and)2.5 E F0(of)2.5 E(f)
--.18 E F1(.)A F2($endif)108 631.2 Q F1(This command, as seen in the pre)
-144 631.2 Q(vious e)-.25 E(xample, terminates an)-.15 E F2($if)2.5 E F1
-(command.)2.5 E F2($else)108 648 Q F1(Commands in this branch of the)144
-648 Q F2($if)2.5 E F1(directi)2.5 E .3 -.15(ve a)-.25 H(re e).15 E -.15
-(xe)-.15 G(cuted if the test f).15 E(ails.)-.1 E F2($include)108 664.8 Q
-F1 .356(This directi)144 676.8 R .656 -.15(ve t)-.25 H(ak).15 E .356
-(es a single \214lename as an ar)-.1 F .357
-(gument and reads commands and bindings from that)-.18 F 2.5(\214le. F)
-144 688.8 R(or e)-.15 E(xample, the follo)-.15 E(wing directi)-.25 E .3
--.15(ve w)-.25 H(ould read).05 E F0(/etc/inputr)2.5 E(c)-.37 E F1(:)A F2
-($include)144 705.6 Q F0(/etc/inputr)5.833 E(c)-.37 E F1
-(GNU Readline 8.3)72 768 Q(2024 March 29)128.74 E(7)198.45 E 0 Cg EP
-%%Page: 8 8
+237.6 Q F3($endif)180 249.6 Q F0(variable)144.29 266.4 Q F1(The)180
+278.4 Q F0(variable)3.54 E F1 1.039(construct pro)3.539 F 1.039
+(vides simple equality tests for)-.15 F F2 -.18(re)3.539 G(adline).18 E
+F1 -.25(va)3.539 G 1.039(riables and v).25 F(alues.)-.25 E .079
+(The permitted comparison operators are)180 290.4 R F0(=)2.579 E F1(,)A
+F0(==)2.579 E F1 2.579(,a)C(nd)-2.579 E F0(!=)2.579 E F1 5.079(.T)C .079
+(he v)-5.079 F .08(ariable name must be sepa-)-.25 F .98(rated from the\
+ comparison operator by whitespace; the operator may be separated from)
+180 302.4 R 1.587(the v)180 314.4 R 1.587
+(alue on the right hand side by whitespace.)-.25 F 1.587
+(String and boolean v)6.587 F 1.588(ariables may be)-.25 F 2.5
+(tested. Boolean)180 326.4 R -.25(va)2.5 G(riables must be tested ag).25
+E(ainst the v)-.05 E(alues)-.25 E F0(on)2.5 E F1(and)2.5 E F0(of)2.5 E
+(f)-.18 E F1(.)A F2($else)108 343.2 Q F1(Commands in this branch of the)
+144 343.2 Q F2($if)2.5 E F1(directi)2.5 E .3 -.15(ve a)-.25 H(re e).15 E
+-.15(xe)-.15 G(cuted if the test f).15 E(ails.)-.1 E F2($endif)108 360 Q
+F1(This command, as seen in the pre)144 360 Q(vious e)-.25 E
+(xample, terminates an)-.15 E F2($if)2.5 E F1(command.)2.5 E F2
+($include)108 376.8 Q F1 .411(This directi)144 388.8 R .711 -.15(ve t)
+-.25 H(ak).15 E .411(es a single \214lename as an ar)-.1 F .41
+(gument and reads commands and k)-.18 F .71 -.15(ey b)-.1 H .41
+(indings from).15 F(that \214le.)144 400.8 Q -.15(Fo)5 G 2.5(re).15 G
+(xample, the follo)-2.65 E(wing directi)-.25 E .3 -.15(ve w)-.25 H
+(ould read).05 E F0(/etc/inputr)2.5 E(c)-.37 E F1(:)A F2($include)144
+417.6 Q F0(/etc/inputr)5.833 E(c)-.37 E/F5 10.95/Times-Bold@0 SF
+(SEARCHING)72 434.4 Q F2(Readline)108 446.4 Q F1(pro)3.331 E .832(vides\
+ commands for searching through the command history for lines containin\
+g a speci\214ed)-.15 F 2.5(string. There)108 458.4 R(are tw)2.5 E 2.5
+(os)-.1 G(earch modes:)-2.5 E F0(incr)2.51 E(emental)-.37 E F1(and)3.01
+E F0(non-incr)2.86 E(emental)-.37 E F1(.).51 E .698
+(Incremental searches be)108 475.2 R .698
+(gin before the user has \214nished typing the search string.)-.15 F
+.697(As each character of the)5.697 F .978(search string is typed,)108
+487.2 R F2 -.18(re)3.478 G(adline).18 E F1 .978(displays the ne)3.478 F
+.978(xt entry from the history matching the string typed so f)-.15 F(ar)
+-.1 E(.)-.55 E .529(An incremental search requires only as man)108 499.2
+R 3.029(yc)-.15 G .529
+(haracters as needed to \214nd the desired history entry)-3.029 F 5.528
+(.W)-.65 G(hen)-5.528 E .517(using emacs editing mode, type)108 511.2 R
+F2(C\255r)3.017 E F1 .517(to search backw)3.017 F .517
+(ard in the history for a particular string.)-.1 F -.8(Ty)5.517 G(ping)
+.8 E F2(C\255s)3.018 E F1 .453(searches forw)108 523.2 R .452
+(ard through the history)-.1 F 5.452(.T)-.65 G .452
+(he characters present in the v)-5.452 F .452(alue of the)-.25 F F2
+(isear)2.952 E(ch-terminators)-.18 E F1 -.25(va)2.952 G(ri-).25 E .746
+(able are used to terminate an incremental search.)108 535.2 R .747
+(If that v)5.747 F .747(ariable has not been assigned a v)-.25 F(alue,)
+-.25 E F0(ESC)3.247 E F1(and)3.247 E F0(C\255J)108 547.2 Q F1 .962
+(will terminate an incremental search.)3.462 F F0(C\255g)5.961 E F1 .961
+(will abort an incremental search and restore the original)3.461 F 2.5
+(line. When)108 559.2 R(the search is terminated, the history entry con\
+taining the search string becomes the current line.)2.5 E 2.406 -.8
+(To \214)108 576 T .806
+(nd other matching entries in the history list, type).8 F F2(C\255r)
+3.306 E F1(or)3.306 E F2(C\255s)3.306 E F1 .806(as appropriate.)3.306 F
+.807(This will search back-)5.806 F -.1(wa)108 588 S .258(rd or forw).1
+F .258(ard in the history for the ne)-.1 F .258
+(xt entry matching the search string typed so f)-.15 F(ar)-.1 E 5.258
+(.A)-.55 G .558 -.15(ny o)-5.258 H .258(ther k).15 F .558 -.15(ey s)-.1
+H(e-).15 E .221(quence bound to a)108 600 R F2 -.18(re)2.721 G(adline)
+.18 E F1 .221(command will terminate the search and e)2.721 F -.15(xe)
+-.15 G .221(cute that command.).15 F -.15(Fo)5.222 G 2.722(ri).15 G .222
+(nstance, a)-2.722 F(ne)108 612 Q .338
+(wline will terminate the search and accept the line, thereby e)-.25 F
+-.15(xe)-.15 G .337(cuting the command from the history list.).15 F
+2.997(Am)108 624 S -.15(ove)-2.997 G .497
+(ment command will terminate the search, mak).15 F 2.997(et)-.1 G .497
+(he last line found the current line, and be)-2.997 F .498(gin edit-)
+-.15 F(ing.)108 636 Q F2(Readline)108 652.8 Q F1 1.476
+(remembers the last incremental search string.)3.976 F 1.476(If tw)6.476
+F(o)-.1 E F2(C\255r)3.976 E F1 3.976(sa)C 1.475(re typed without an)
+-3.976 F 3.975(yi)-.15 G(nterv)-3.975 E(ening)-.15 E
+(characters de\214ning a ne)108 664.8 Q 2.5(ws)-.25 G(earch string,)-2.5
+E F2 -.18(re)2.5 G(adline).18 E F1(uses an)2.5 E 2.5(yr)-.15 G
+(emembered search string.)-2.5 E .012(Non-incremental searches read the\
+ entire search string before starting to search for matching history en\
+tries.)108 681.6 R(The search string may be typed by the user or be par\
+t of the contents of the current line.)108 693.6 Q(GNU Readline 8.3)72
+768 Q(2024 October 10)125.685 E(8)195.395 E 0 Cg EP
+%%Page: 9 9
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Italic@0 SF(READLINE)72.63 48 Q/F1 10/Times-Roman@0 SF
 118.765(\(3\) Library).73 F(Functions Manual)2.5 E F0(READLINE)121.895 E
-F1(\(3\)).73 E/F2 10.95/Times-Bold@0 SF(SEARCHING)72 84 Q F1 1.004
-(Readline pro)108 96 R 1.003(vides commands for searching through the c\
-ommand history for lines containing a speci\214ed)-.15 F 2.5
-(string. There)108 108 R(are tw)2.5 E 2.5(os)-.1 G(earch modes:)-2.5 E
-F0(incr)2.51 E(emental)-.37 E F1(and)3.01 E F0(non-incr)2.86 E(emental)
--.37 E F1(.).51 E .697(Incremental searches be)108 124.8 R .697
-(gin before the user has \214nished typing the search string.)-.15 F
-.698(As each character of the)5.698 F .113
-(search string is typed, readline displays the ne)108 136.8 R .112
-(xt entry from the history matching the string typed so f)-.15 F(ar)-.1
-E 5.112(.A)-.55 G(n)-5.112 E .544
-(incremental search requires only as man)108 148.8 R 3.044(yc)-.15 G
-.544(haracters as needed to \214nd the desired history entry)-3.044 F
-5.545(.T)-.65 G 3.045(os)-6.345 G(earch)-3.045 E(backw)108 160.8 Q .181
-(ard in the history for a particular string, type)-.1 F/F3 10
-/Times-Bold@0 SF(C\255r)2.681 E F1 5.181(.T)C(yping)-5.981 E F3(C\255s)
-2.68 E F1 .18(searches forw)2.68 F .18(ard through the history)-.1 F(.)
--.65 E .354(The characters present in the v)108 172.8 R .354
-(alue of the)-.25 F F3(isear)2.854 E(ch-terminators)-.18 E F1 -.25(va)
-2.854 G .354(riable are used to terminate an incremen-).25 F .6
-(tal search.)108 184.8 R .6(If that v)5.6 F .6
-(ariable has not been assigned a v)-.25 F .6(alue the)-.25 F F0(Escape)
-3.1 E F1(and)3.1 E F3(C\255J)3.1 E F1 .6(characters will terminate an)
-3.1 F .122(incremental search.)108 196.8 R F3(C\255G)5.122 E F1 .122
-(will abort an incremental search and restore the original line.)2.622 F
-.123(When the search is)5.123 F(terminated, the history entry containin\
-g the search string becomes the current line.)108 208.8 Q 2.407 -.8
-(To \214)108 225.6 T .806
-(nd other matching entries in the history list, type).8 F F3(C\255s)
-3.306 E F1(or)3.306 E F3(C\255r)3.306 E F1 .806(as appropriate.)3.306 F
-.806(This will search back-)5.806 F -.1(wa)108 237.6 S .535(rd or forw)
-.1 F .535(ard in the history for the ne)-.1 F .536
-(xt line matching the search string typed so f)-.15 F(ar)-.1 E 5.536(.A)
--.55 G .836 -.15(ny o)-5.536 H .536(ther k).15 F .836 -.15(ey s)-.1 H
-(e-).15 E .385
-(quence bound to a readline command will terminate the search and e)108
-249.6 R -.15(xe)-.15 G .384(cute that command.).15 F -.15(Fo)5.384 G
-2.884(ri).15 G .384(nstance, a)-2.884 F(ne)108 261.6 Q .337
-(wline will terminate the search and accept the line, thereby e)-.25 F
--.15(xe)-.15 G .338(cuting the command from the history list.).15 F
-2.998(Am)108 273.6 S -.15(ove)-2.998 G .497
-(ment command will terminate the search, mak).15 F 2.997(et)-.1 G .497
-(he last line found the current line, and be)-2.997 F .497(gin edit-)
--.15 F(ing.)108 285.6 Q .567(Non-incremental searches read the entire s\
-earch string before starting to search for matching history lines.)108
-302.4 R(The search string may be typed by the user or be part of the co\
-ntents of the current line.)108 314.4 Q F2(EDITING COMMANDS)72 331.2 Q
-F1 1.392(The follo)108 343.2 R 1.391
+F1(\(3\)).73 E/F2 10.95/Times-Bold@0 SF(EDITING COMMANDS)72 84 Q F1
+1.392(The follo)108 96 R 1.391
 (wing is a list of the names of the commands and the def)-.25 F 1.391
 (ault k)-.1 F 1.691 -.15(ey s)-.1 H 1.391(equences to which the).15 F
-3.891(ya)-.15 G(re)-3.891 E 2.5(bound. Command)108 355.2 R
+3.891(ya)-.15 G(re)-3.891 E 2.5(bound. Command)108 108 R
 (names without an accompan)2.5 E(ying k)-.15 E .3 -.15(ey s)-.1 H
-(equence are unbound by def).15 E(ault.)-.1 E .054(In the follo)108 372
-R .054(wing descriptions,)-.25 F F0(point)2.554 E F1 .055
+(equence are unbound by def).15 E(ault.)-.1 E .054(In the follo)108
+124.8 R .054(wing descriptions,)-.25 F F0(point)2.554 E F1 .055
 (refers to the current cursor position, and)2.554 F F0(mark)2.555 E F1
-.055(refers to a cursor position)2.555 F(sa)108 384 Q -.15(ve)-.2 G 2.5
-(db).15 G 2.5(yt)-2.5 G(he)-2.5 E F3(set\255mark)2.5 E F1 2.5
-(command. The)2.5 F(te)2.5 E
-(xt between the point and mark is referred to as the)-.15 E F0 -.37(re)
-2.5 G(gion)-.03 E F1(.)A F3(Commands f)87 400.8 Q(or Mo)-.25 E(ving)-.1
-E(beginning\255of\255line \(C\255a\))108 412.8 Q F1(Mo)144 424.8 Q .3
--.15(ve t)-.15 H 2.5(ot).15 G(he start of the current line.)-2.5 E F3
-(end\255of\255line \(C\255e\))108 436.8 Q F1(Mo)144 448.8 Q .3 -.15
-(ve t)-.15 H 2.5(ot).15 G(he end of the line.)-2.5 E F3 -.25(fo)108
-460.8 S(rward\255char \(C\255f\)).25 E F1(Mo)144 472.8 Q .3 -.15(ve f)
--.15 H(orw).15 E(ard a character)-.1 E(.)-.55 E F3
-(backward\255char \(C\255b\))108 484.8 Q F1(Mo)144 496.8 Q .3 -.15(ve b)
--.15 H(ack a character).15 E(.)-.55 E F3 -.25(fo)108 508.8 S(rward\255w)
-.25 E(ord \(M\255f\))-.1 E F1(Mo)144 520.8 Q .823 -.15(ve f)-.15 H(orw)
-.15 E .523(ard to the end of the ne)-.1 F .523(xt w)-.15 F 3.023(ord. W)
--.1 F .522(ords are composed of alphanumeric characters \(let-)-.8 F
-(ters and digits\).)144 532.8 Q F3(backward\255w)108 544.8 Q
-(ord \(M\255b\))-.1 E F1(Mo)144 556.8 Q 1.71 -.15(ve b)-.15 H 1.41
+.055(refers to a cursor position)2.555 F(sa)108 136.8 Q -.15(ve)-.2 G
+2.679(db).15 G 2.679(yt)-2.679 G(he)-2.679 E/F3 10/Times-Bold@0 SF
+(set\255mark)2.679 E F1 2.679(command. The)2.679 F(te)2.679 E .178
+(xt between the point and mark is referred to as the)-.15 F F0 -.37(re)
+2.678 G(gion)-.03 E F1(.)A F3(Read-)5.178 E(line)108 148.8 Q F1 .381
+(has the concept of an)2.881 F F0 .381(active r)2.881 F -.4(eg)-.37 G
+(ion).4 E F1 2.881(:w)C .381(hen the re)-2.881 F .381(gion is acti)-.15
+F -.15(ve)-.25 G(,).15 E F3 -.18(re)2.881 G(adline).18 E F1 .382
+(redisplay highlights the re)2.881 F(gion)-.15 E .23(using the v)108
+160.8 R .229(alue of the)-.25 F F3(acti)2.729 E -.1(ve)-.1 G(-r).1 E
+(egion-start-color)-.18 E F1 -.25(va)2.729 G 2.729(riable. The).25 F F3
+(enable\255acti)2.729 E -.1(ve)-.1 G<ad72>.1 E(egion)-.18 E F1 -.25(va)
+2.729 G .229(riable turns this on).25 F(and of)108 172.8 Q 2.5(f. Se)
+-.25 F -.15(ve)-.25 G(ral commands set the re).15 E(gion to acti)-.15 E
+-.15(ve)-.25 G 2.5(;t).15 G(hose are noted belo)-2.5 E -.65(w.)-.25 G F3
+(Commands f)87 189.6 Q(or Mo)-.25 E(ving)-.1 E
+(beginning\255of\255line \(C\255a\))108 201.6 Q F1(Mo)144 213.6 Q .3
+-.15(ve t)-.15 H 2.5(ot).15 G(he start of the current line.)-2.5 E
+(This may also be bound to the Home k)5 E .3 -.15(ey o)-.1 H 2.5(ns).15
+G(ome k)-2.5 E -.15(ey)-.1 G(boards.).15 E F3
+(end\255of\255line \(C\255e\))108 225.6 Q F1(Mo)144 237.6 Q .3 -.15
+(ve t)-.15 H 2.5(ot).15 G(he end of the line.)-2.5 E
+(This may also be bound to the End k)5 E .3 -.15(ey o)-.1 H 2.5(ns).15 G
+(ome k)-2.5 E -.15(ey)-.1 G(boards.).15 E F3 -.25(fo)108 249.6 S
+(rward\255char \(C\255f\)).25 E F1(Mo)144 261.6 Q .3 -.15(ve f)-.15 H
+(orw).15 E(ard a character)-.1 E(.)-.55 E F3
+(backward\255char \(C\255b\))108 273.6 Q F1(Mo)144 285.6 Q .3 -.15(ve b)
+-.15 H(ack a character).15 E(.)-.55 E F3 -.25(fo)108 297.6 S(rward\255w)
+.25 E(ord \(M\255f\))-.1 E F1(Mo)144 309.6 Q .822 -.15(ve f)-.15 H(orw)
+.15 E .522(ard to the end of the ne)-.1 F .523(xt w)-.15 F 3.023(ord. W)
+-.1 F .523(ords are composed of alphanumeric characters \(let-)-.8 F
+(ters and digits\).)144 321.6 Q F3(backward\255w)108 333.6 Q
+(ord \(M\255b\))-.1 E F1(Mo)144 345.6 Q 1.71 -.15(ve b)-.15 H 1.41
 (ack to the start of the current or pre).15 F 1.41(vious w)-.25 F 3.91
 (ord. W)-.1 F 1.41(ords are composed of alphanumeric)-.8 F
-(characters \(letters and digits\).)144 568.8 Q F3(pr)108 580.8 Q -.15
-(ev)-.18 G(ious\255scr).15 E(een\255line)-.18 E F1 .891(Attempt to mo)
-144 592.8 R 1.191 -.15(ve p)-.15 H .891(oint to the same ph).15 F .891
-(ysical screen column on the pre)-.05 F .89(vious ph)-.25 F .89
-(ysical screen line.)-.05 F 1.055(This will not ha)144 604.8 R 1.355
--.15(ve t)-.2 H 1.055(he desired ef).15 F 1.056
-(fect if the current readline line does not tak)-.25 F 3.556(eu)-.1 G
-3.556(pm)-3.556 G 1.056(ore than one)-3.556 F(ph)144 616.8 Q(ysical lin\
-e or if point is not greater than the length of the prompt plus the scr\
-een width.)-.05 E F3(next\255scr)108 628.8 Q(een\255line)-.18 E F1 .638
-(Attempt to mo)144 640.8 R .938 -.15(ve p)-.15 H .638
-(oint to the same ph).15 F .637(ysical screen column on the ne)-.05 F
-.637(xt ph)-.15 F .637(ysical screen line. This)-.05 F .194(will not ha)
-144 652.8 R .494 -.15(ve t)-.2 H .194(he desired ef).15 F .194
-(fect if the current readline line does not tak)-.25 F 2.695(eu)-.1 G
-2.695(pm)-2.695 G .195(ore than one ph)-2.695 F(ysical)-.05 E .164(line\
- or if the length of the current readline line is not greater than the \
-length of the prompt plus the)144 664.8 R(screen width.)144 676.8 Q F3
-(clear\255display \(M\255C\255l\))108 688.8 Q F1 1.498
-(Clear the screen and, if possible, the terminal')144 700.8 R 3.999(ss)
--.55 G 1.499(crollback b)-3.999 F(uf)-.2 E(fer)-.25 E 3.999(,t)-.4 G
-1.499(hen redra)-3.999 F 3.999(wt)-.15 G 1.499(he current line,)-3.999 F
-(lea)144 712.8 Q(ving the current line at the top of the screen.)-.2 E
-(GNU Readline 8.3)72 768 Q(2024 March 29)128.74 E(8)198.45 E 0 Cg EP
-%%Page: 9 9
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Italic@0 SF(READLINE)72.63 48 Q/F1 10/Times-Roman@0 SF
-118.765(\(3\) Library).73 F(Functions Manual)2.5 E F0(READLINE)121.895 E
-F1(\(3\)).73 E/F2 10/Times-Bold@0 SF(clear\255scr)108 84 Q
-(een \(C\255l\))-.18 E F1 1.36(Clear the screen, then redra)144 96 R
-3.86(wt)-.15 G 1.36(he current line, lea)-3.86 F 1.36
-(ving the current line at the top of the screen.)-.2 F -.4(Wi)144 108 S
-(th an ar).4 E
-(gument, refresh the current line without clearing the screen.)-.18 E F2
--.18(re)108 120 S(draw\255curr).18 E(ent\255line)-.18 E F1
-(Refresh the current line.)144 132 Q F2(Commands f)87 148.8 Q
+(characters \(letters and digits\).)144 357.6 Q F3(pr)108 369.6 Q -.15
+(ev)-.18 G(ious\255scr).15 E(een\255line)-.18 E F1 .89(Attempt to mo)144
+381.6 R 1.19 -.15(ve p)-.15 H .89(oint to the same ph).15 F .891
+(ysical screen column on the pre)-.05 F .891(vious ph)-.25 F .891
+(ysical screen line.)-.05 F .911(This will not ha)144 393.6 R 1.211 -.15
+(ve t)-.2 H .911(he desired ef).15 F .911(fect if the current)-.25 F F3
+-.18(re)3.411 G(adline).18 E F1 .91(line does not tak)3.41 F 3.41(eu)-.1
+G 3.41(pm)-3.41 G .91(ore than one)-3.41 F(ph)144 405.6 Q(ysical line o\
+r if point is not greater than the length of the prompt plus the screen\
+ width.)-.05 E F3(next\255scr)108 417.6 Q(een\255line)-.18 E F1 .481
+(Attempt to mo)144 429.6 R .781 -.15(ve p)-.15 H .481
+(oint to the same ph).15 F .481(ysical screen column on the ne)-.05 F
+.482(xt ph)-.15 F .482(ysical screen line.)-.05 F(This)5.482 E .05
+(will not ha)144 441.6 R .35 -.15(ve t)-.2 H .05(he desired ef).15 F .05
+(fect if the current)-.25 F F3 -.18(re)2.549 G(adline).18 E F1 .049
+(line does not tak)2.549 F 2.549(eu)-.1 G 2.549(pm)-2.549 G .049
+(ore than one ph)-2.549 F(ysical)-.05 E .033
+(line or if the length of the current)144 453.6 R F3 -.18(re)2.533 G
+(adline).18 E F1 .034
+(line is not greater than the length of the prompt plus the)2.533 F
+(screen width.)144 465.6 Q F3(clear\255display \(M\255C\255l\))108 477.6
+Q F1 1.499(Clear the screen and, if possible, the terminal')144 489.6 R
+3.999(ss)-.55 G 1.498(crollback b)-3.999 F(uf)-.2 E(fer)-.25 E 3.998(,t)
+-.4 G 1.498(hen redra)-3.998 F 3.998(wt)-.15 G 1.498(he current line,)
+-3.998 F(lea)144 501.6 Q
+(ving the current line at the top of the screen.)-.2 E F3(clear\255scr)
+108 513.6 Q(een \(C\255l\))-.18 E F1 1.36(Clear the screen, then redra)
+144 525.6 R 3.86(wt)-.15 G 1.36(he current line, lea)-3.86 F 1.36
+(ving the current line at the top of the screen.)-.2 F -.4(Wi)144 537.6
+S(th an ar).4 E
+(gument, refresh the current line without clearing the screen.)-.18 E F3
+-.18(re)108 549.6 S(draw\255curr).18 E(ent\255line)-.18 E F1
+(Refresh the current line.)144 561.6 Q F3(Commands f)87 578.4 Q
 (or Manipulating the History)-.25 E(accept\255line \(Newline, Retur)108
-160.8 Q(n\))-.15 E F1 .364(Accept the line re)144 172.8 R -.05(ga)-.15 G
+590.4 Q(n\))-.15 E F1 .365(Accept the line re)144 602.4 R -.05(ga)-.15 G
 .364(rdless of where the cursor is.).05 F .364
 (If this line is non-empty)5.364 F 2.864(,i)-.65 G 2.864(tm)-2.864 G
-.365(ay be added to the)-2.864 F .741
-(history list for future recall with)144 184.8 R F2(add_history\(\))
-3.241 E F1 5.741(.I)C 3.241(ft)-5.741 G .74
-(he line is a modi\214ed history line, the history)-3.241 F
-(line is restored to its original state.)144 196.8 Q F2(pr)108 208.8 Q
--.15(ev)-.18 G(ious\255history \(C\255p\)).15 E F1(Fetch the pre)144
-220.8 Q(vious command from the history list, mo)-.25 E
-(ving back in the list.)-.15 E F2(next\255history \(C\255n\))108 232.8 Q
-F1(Fetch the ne)144 244.8 Q(xt command from the history list, mo)-.15 E
-(ving forw)-.15 E(ard in the list.)-.1 E F2
-(beginning\255of\255history \(M\255<\))108 256.8 Q F1(Mo)144 268.8 Q .3
--.15(ve t)-.15 H 2.5(ot).15 G(he \214rst line in the history)-2.5 E(.)
--.65 E F2(end\255of\255history \(M\255>\))108 280.8 Q F1(Mo)144 292.8 Q
-.3 -.15(ve t)-.15 H 2.5(ot).15 G(he end of the input history)-2.5 E 2.5
-(,i)-.65 G(.e., the line currently being entered.)-2.5 E F2
-(operate\255and\255get\255next \(C\255o\))108 304.8 Q F1 .733(Accept th\
-e current line for return to the calling application as if a ne)144
-316.8 R .733(wline had been entered, and)-.25 F .368(fetch the ne)144
-328.8 R .367(xt line relati)-.15 F .667 -.15(ve t)-.25 H 2.867(ot).15 G
-.367(he current line from the history for editing.)-2.867 F 2.867(An)
-5.367 G .367(umeric ar)-2.867 F .367(gument, if)-.18 F(supplied, speci\
-\214es the history entry to use instead of the current line.)144 340.8 Q
-F2(fetch\255history)108 352.8 Q F1 -.4(Wi)144 364.8 S .256
-(th a numeric ar).4 F .256
-(gument, fetch that entry from the history list and mak)-.18 F 2.757(ei)
--.1 G 2.757(tt)-2.757 G .257(he current line.)-2.757 F -.4(Wi)5.257 G
-(th-).4 E(out an ar)144 376.8 Q(gument, mo)-.18 E .3 -.15(ve b)-.15 H
-(ack to the \214rst entry in the history list.).15 E F2 -2.29 -.18(re v)
-108 388.8 T(erse\255sear).08 E(ch\255history \(C\255r\))-.18 E F1 1.313
-(Search backw)144 400.8 R 1.312(ard starting at the current line and mo)
--.1 F 1.312(ving \231up\232 through the history as necessary)-.15 F(.)
--.65 E(This is an incremental search.)144 412.8 Q F2 -.25(fo)108 424.8 S
-(rward\255sear).25 E(ch\255history \(C\255s\))-.18 E F1 .972
-(Search forw)144 436.8 R .973(ard starting at the current line and mo)
--.1 F .973(ving \231do)-.15 F .973
-(wn\232 through the history as necessary)-.25 F(.)-.65 E
-(This is an incremental search.)144 448.8 Q F2(non\255incr)108 460.8 Q
-(emental\255r)-.18 E -2.3 -.15(ev e)-.18 H(rse\255sear).15 E
-(ch\255history \(M\255p\))-.18 E F1 .165(Search backw)144 472.8 R .164(\
-ard through the history starting at the current line using a non-increm\
-ental search for)-.1 F 2.5(as)144 484.8 S(tring supplied by the user)
--2.5 E(.)-.55 E F2(non\255incr)108 496.8 Q(emental\255f)-.18 E
-(orward\255sear)-.25 E(ch\255history \(M\255n\))-.18 E F1 1.353
-(Search forw)144 508.8 R 1.354(ard through the history using a non-incr\
-emental search for a string supplied by the)-.1 F(user)144 520.8 Q(.)
--.55 E F2(history\255sear)108 532.8 Q(ch\255backward)-.18 E F1 .951
-(Search backw)144 544.8 R .951(ard through the history for the string o\
-f characters between the start of the current)-.1 F .12
-(line and the current cursor position \(the)144 556.8 R F0(point)2.62 E
-F1 2.62(\). The)B .12(search string must match at the be)2.62 F .12
-(ginning of a)-.15 F(history line.)144 568.8 Q
-(This is a non-incremental search.)5 E F2(history\255sear)108 580.8 Q
-(ch\255f)-.18 E(orward)-.25 E F1 .249(Search forw)144 592.8 R .249(ard \
-through the history for the string of characters between the start of t\
-he current line)-.1 F .035(and the point.)144 604.8 R .035
-(The search string must match at the be)5.035 F .036
-(ginning of a history line.)-.15 F .036(This is a non-incre-)5.036 F
-(mental search.)144 616.8 Q F2(history\255substring\255sear)108 628.8 Q
-(ch\255backward)-.18 E F1 .951(Search backw)144 640.8 R .951(ard throug\
-h the history for the string of characters between the start of the cur\
-rent)-.1 F .007(line and the current cursor position \(the)144 652.8 R
-F0(point)2.507 E F1 2.507(\). The)B .007(search string may match an)
-2.507 F .007(ywhere in a history)-.15 F 2.5(line. This)144 664.8 R
-(is a non-incremental search.)2.5 E F2(history\255substring\255sear)108
-676.8 Q(ch\255f)-.18 E(orward)-.25 E F1 .249(Search forw)144 688.8 R
-.249(ard through the history for the string of characters between the s\
-tart of the current line)-.1 F .318(and the point.)144 700.8 R .319
-(The search string may match an)5.318 F .319(ywhere in a history line.)
--.15 F .319(This is a non-incremental)5.319 F(search.)144 712.8 Q
-(GNU Readline 8.3)72 768 Q(2024 March 29)128.74 E(9)198.45 E 0 Cg EP
+.364(ay be added to the)-2.864 F .776
+(history list for future recall with)144 614.4 R F3(add_history\(\))
+3.276 E F1 5.776(.I)C 3.276(ft)-5.776 G .776
+(he line is a modi\214ed history line, restore the)-3.276 F
+(history line to its original state.)144 626.4 Q F3(pr)108 638.4 Q -.15
+(ev)-.18 G(ious\255history \(C\255p\)).15 E F1(Fetch the pre)144 650.4 Q
+(vious command from the history list, mo)-.25 E(ving back in the list.)
+-.15 E F3(next\255history \(C\255n\))108 662.4 Q F1(Fetch the ne)144
+674.4 Q(xt command from the history list, mo)-.15 E(ving forw)-.15 E
+(ard in the list.)-.1 E F3(beginning\255of\255history \(M\255<\))108
+686.4 Q F1(Mo)144 698.4 Q .3 -.15(ve t)-.15 H 2.5(ot).15 G
+(he \214rst line in the history)-2.5 E(.)-.65 E(GNU Readline 8.3)72 768
+Q(2024 October 10)125.685 E(9)195.395 E 0 Cg EP
 %%Page: 10 10
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Italic@0 SF(READLINE)72.63 48 Q/F1 10/Times-Roman@0 SF
 118.765(\(3\) Library).73 F(Functions Manual)2.5 E F0(READLINE)121.895 E
-F1(\(3\)).73 E/F2 10/Times-Bold@0 SF(yank\255nth\255ar)108 84 Q 2.5(g\()
--.1 G<4dad43ad7929>-2.5 E F1 .622(Insert the \214rst ar)144 96 R .622
-(gument to the pre)-.18 F .622(vious command \(usually the second w)-.25
-F .622(ord on the pre)-.1 F .622(vious line\))-.25 F .772(at point.)144
-108 R -.4(Wi)5.773 G .773(th an ar).4 F(gument)-.18 E F0(n)3.633 E F1
-3.273(,i).24 G .773(nsert the)-3.273 F F0(n)3.273 E F1 .773(th w)B .773
-(ord from the pre)-.1 F .773(vious command \(the w)-.25 F .773
-(ords in the)-.1 F(pre)144 120 Q .292(vious command be)-.25 F .292
-(gin with w)-.15 F .291(ord 0\).)-.1 F 2.791(An)5.291 G -2.25 -.15(eg a)
--2.791 H(ti).15 E .591 -.15(ve a)-.25 H -.18(rg).15 G .291
-(ument inserts the).18 F F0(n)2.791 E F1 .291(th w)B .291
-(ord from the end of)-.1 F .236(the pre)144 132 R .236(vious command.)
--.25 F .236(Once the ar)5.236 F(gument)-.18 E F0(n)2.736 E F1 .236
-(is computed, the ar)2.736 F .236(gument is e)-.18 F .237
-(xtracted as if the \231!)-.15 F F0(n)A F1<9a>A(history e)144 144 Q
-(xpansion had been speci\214ed.)-.15 E F2(yank\255last\255ar)108 156 Q
-2.5(g\()-.1 G -1.667(M\255. ,)-2.5 F -1.667(M\255_ \))2.5 F F1 1.308
-(Insert the last ar)144 168 R 1.308(gument to the pre)-.18 F 1.307
-(vious command \(the last w)-.25 F 1.307(ord of the pre)-.1 F 1.307
-(vious history entry\).)-.25 F -.4(Wi)144 180 S .203(th a numeric ar).4
-F .203(gument, beha)-.18 F .504 -.15(ve ex)-.2 H .204(actly lik).15 F(e)
--.1 E F2(yank\255nth\255ar)2.704 E(g)-.1 E F1 5.204(.S)C(uccessi)-5.204
-E .504 -.15(ve c)-.25 H .204(alls to).15 F F2(yank\255last\255ar)2.704 E
-(g)-.1 E F1(mo)144 192 Q .807 -.15(ve b)-.15 H .507
+F1(\(3\)).73 E/F2 10/Times-Bold@0 SF(end\255of\255history \(M\255>\))108
+84 Q F1(Mo)144 96 Q .3 -.15(ve t)-.15 H 2.5(ot).15 G
+(he end of the input history)-2.5 E 2.5(,i)-.65 G
+(.e., the line currently being entered.)-2.5 E F2
+(operate\255and\255get\255next \(C\255o\))108 108 Q F1 .733(Accept the \
+current line for return to the calling application as if a ne)144 120 R
+.733(wline had been entered, and)-.25 F .367(fetch the ne)144 132 R .367
+(xt line relati)-.15 F .667 -.15(ve t)-.25 H 2.867(ot).15 G .367
+(he current line from the history for editing.)-2.867 F 2.867(An)5.367 G
+.367(umeric ar)-2.867 F .368(gument, if)-.18 F(supplied, speci\214es th\
+e history entry to use instead of the current line.)144 144 Q F2
+(fetch\255history)108 156 Q F1 -.4(Wi)144 168 S .257(th a numeric ar).4
+F .257(gument, fetch that entry from the history list and mak)-.18 F
+2.756(ei)-.1 G 2.756(tt)-2.756 G .256(he current line.)-2.756 F -.4(Wi)
+5.256 G(th-).4 E(out an ar)144 180 Q(gument, mo)-.18 E .3 -.15(ve b)-.15
+H(ack to the \214rst entry in the history list.).15 E F2 -2.29 -.18
+(re v)108 192 T(erse\255sear).08 E(ch\255history \(C\255r\))-.18 E F1
+1.312(Search backw)144 204 R 1.312
+(ard starting at the current line and mo)-.1 F 1.312
+(ving \231up\232 through the history as necessary)-.15 F(.)-.65 E .29
+(This is an incremental search.)144 216 R .29(This command sets the re)
+5.29 F .29(gion to the matched te)-.15 F .29(xt and acti)-.15 F -.25(va)
+-.25 G .29(tes the).25 F(re)144 228 Q(gion.)-.15 E F2 -.25(fo)108 240 S
+(rward\255sear).25 E(ch\255history \(C\255s\))-.18 E F1 .972
+(Search forw)144 252 R .973(ard starting at the current line and mo)-.1
+F .973(ving \231do)-.15 F .973(wn\232 through the history as necessary)
+-.25 F(.)-.65 E .29(This is an incremental search.)144 264 R .29
+(This command sets the re)5.29 F .29(gion to the matched te)-.15 F .29
+(xt and acti)-.15 F -.25(va)-.25 G .29(tes the).25 F(re)144 276 Q(gion.)
+-.15 E F2(non\255incr)108 288 Q(emental\255r)-.18 E -2.3 -.15(ev e)-.18
+H(rse\255sear).15 E(ch\255history \(M\255p\))-.18 E F1 .164
+(Search backw)144 300 R .164(ard through the history starting at the cu\
+rrent line using a non-incremental search for)-.1 F 2.5(as)144 312 S
+(tring supplied by the user)-2.5 E 5(.T)-.55 G
+(he search string may match an)-5 E(ywhere in a history line.)-.15 E F2
+(non\255incr)108 324 Q(emental\255f)-.18 E(orward\255sear)-.25 E
+(ch\255history \(M\255n\))-.18 E F1 1.354(Search forw)144 336 R 1.354(a\
+rd through the history using a non-incremental search for a string supp\
+lied by the)-.1 F(user)144 348 Q 5(.T)-.55 G
+(he search string may match an)-5 E(ywhere in a history line.)-.15 E F2
+(history\255sear)108 360 Q(ch\255backward)-.18 E F1 .95(Search backw)144
+372 R .951(ard through the history for the string of characters between\
+ the start of the current)-.1 F .34(line and the point.)144 384 R .34
+(The search string must match at the be)5.34 F .34
+(ginning of a history line.)-.15 F .34(This is a non-)5.34 F
+(incremental search.)144 396 Q(This may be bound to the P)5 E(age Up k)
+-.15 E .3 -.15(ey o)-.1 H 2.5(ns).15 G(ome k)-2.5 E -.15(ey)-.1 G
+(boards.).15 E F2(history\255sear)108 408 Q(ch\255f)-.18 E(orward)-.25 E
+F1 .248(Search forw)144 420 R .249(ard through the history for the stri\
+ng of characters between the start of the current line)-.1 F .036
+(and the point.)144 432 R .036(The search string must match at the be)
+5.036 F .035(ginning of a history line.)-.15 F .035
+(This is a non-incre-)5.035 F(mental search.)144 444 Q
+(This may be bound to the P)5 E(age Do)-.15 E(wn k)-.25 E .3 -.15(ey o)
+-.1 H 2.5(ns).15 G(ome k)-2.5 E -.15(ey)-.1 G(boards.).15 E F2
+(history\255substring\255sear)108 456 Q(ch\255backward)-.18 E F1 .95
+(Search backw)144 468 R .951(ard through the history for the string of \
+characters between the start of the current)-.1 F .676
+(line and the point.)144 480 R .676(The search string may match an)5.676
+F .676(ywhere in a history line.)-.15 F .675(This is a non-incre-)5.676
+F(mental search.)144 492 Q F2(history\255substring\255sear)108 504 Q
+(ch\255f)-.18 E(orward)-.25 E F1 .248(Search forw)144 516 R .249(ard th\
+rough the history for the string of characters between the start of the\
+ current line)-.1 F .319(and the point.)144 528 R .319
+(The search string may match an)5.319 F .319(ywhere in a history line.)
+-.15 F .318(This is a non-incremental)5.318 F(search.)144 540 Q F2
+(yank\255nth\255ar)108 552 Q 2.5(g\()-.1 G<4dad43ad7929>-2.5 E F1 .622
+(Insert the \214rst ar)144 564 R .622(gument to the pre)-.18 F .622
+(vious command \(usually the second w)-.25 F .622(ord on the pre)-.1 F
+.622(vious line\))-.25 F .773(at point.)144 576 R -.4(Wi)5.773 G .773
+(th an ar).4 F(gument)-.18 E F0(n)3.633 E F1 3.273(,i).24 G .773
+(nsert the)-3.273 F F0(n)3.273 E F1 .773(th w)B .773(ord from the pre)
+-.1 F .773(vious command \(the w)-.25 F .773(ords in the)-.1 F(pre)144
+588 Q .291(vious command be)-.25 F .291(gin with w)-.15 F .291(ord 0\).)
+-.1 F 2.791(An)5.291 G -2.25 -.15(eg a)-2.791 H(ti).15 E .591 -.15(ve a)
+-.25 H -.18(rg).15 G .291(ument inserts the).18 F F0(n)2.791 E F1 .291
+(th w)B .292(ord from the end of)-.1 F .699(the pre)144 600 R .699
+(vious command.)-.25 F .699(Once the ar)5.699 F(gument)-.18 E F0(n)3.199
+E F1 .698(is computed, this uses the history e)3.199 F .698(xpansion f)
+-.15 F(acili-)-.1 E(ties to e)144 612 Q(xtract the)-.15 E F0(n)2.5 E F1
+(th w)A(ord, as if the \231!)-.1 E F0(n)A F1 2.5<9a68>C(istory e)-2.5 E
+(xpansion had been speci\214ed.)-.15 E F2(yank\255last\255ar)108 624 Q
+2.5(g\()-.1 G -1.667(M\255. ,)-2.5 F -1.667(M\255_ \))2.5 F F1 1.307
+(Insert the last ar)144 636 R 1.307(gument to the pre)-.18 F 1.307
+(vious command \(the last w)-.25 F 1.308(ord of the pre)-.1 F 1.308
+(vious history entry\).)-.25 F -.4(Wi)144 648 S .204(th a numeric ar).4
+F .204(gument, beha)-.18 F .504 -.15(ve ex)-.2 H .204(actly lik).15 F(e)
+-.1 E F2(yank\255nth\255ar)2.704 E(g)-.1 E F1 5.203(.S)C(uccessi)-5.203
+E .503 -.15(ve c)-.25 H .203(alls to).15 F F2(yank\255last\255ar)2.703 E
+(g)-.1 E F1(mo)144 660 Q .806 -.15(ve b)-.15 H .507
 (ack through the history list, inserting the last w).15 F .507
 (ord \(or the w)-.1 F .507(ord speci\214ed by the ar)-.1 F(gument)-.18 E
-.416(to the \214rst call\) of each line in turn.)144 204 R(An)5.416 E
+.416(to the \214rst call\) of each line in turn.)144 672 R(An)5.416 E
 2.916(yn)-.15 G .416(umeric ar)-2.916 F .416
-(gument supplied to these successi)-.18 F .716 -.15(ve c)-.25 H .416
-(alls de-).15 F 1.218(termines the direction to mo)144 216 R 1.518 -.15
+(gument supplied to these successi)-.18 F .715 -.15(ve c)-.25 H .415
+(alls de-).15 F 1.217(termines the direction to mo)144 684 R 1.518 -.15
 (ve t)-.15 H 1.218(hrough the history).15 F 6.218(.A)-.65 G(ne)-2.5 E
--.05(ga)-.15 G(ti).05 E 1.517 -.15(ve a)-.25 H -.18(rg).15 G 1.217
-(ument switches the direction).18 F .494
-(through the history \(back or forw)144 228 R 2.994(ard\). The)-.1 F
-.494(history e)2.994 F .494(xpansion f)-.15 F .494
-(acilities are used to e)-.1 F .494(xtract the last)-.15 F(ar)144 240 Q
-(gument, as if the \231!$\232 history e)-.18 E
-(xpansion had been speci\214ed.)-.15 E F2(Commands f)87 256.8 Q
-(or Changing T)-.25 E(ext)-.92 E F0(end\255of\255\214le)108 268.8 Q F2
-(\(usually C\255d\))2.5 E F1 .652
-(The character indicating end-of-\214le as set, for e)144 280.8 R .651
-(xample, by)-.15 F F0(stty)3.491 E F1 3.151(\(1\). If).32 F .651
-(this character is read when)3.151 F .167
-(there are no characters on the line, and point is at the be)144 292.8 R
-.167(ginning of the line, readline interprets it as)-.15 F
-(the end of input and returns)144 304.8 Q/F3 9/Times-Bold@0 SF(EOF)2.5 E
-/F4 9/Times-Roman@0 SF(.)A F2(delete\255char \(C\255d\))108 316.8 Q F1
-.442(Delete the character at point.)144 328.8 R .442
-(If this function is bound to the same character as the tty)5.442 F F2
-(EOF)2.941 E F1(char)2.941 E(-)-.2 E(acter)144 340.8 Q 2.5(,a)-.4 G(s)
--2.5 E F2(C\255d)2.5 E F1(commonly is, see abo)2.5 E .3 -.15(ve f)-.15 H
-(or the ef).15 E(fects.)-.25 E F2(backward\255delete\255char \(Rubout\))
-108 352.8 Q F1 .552(Delete the character behind the cursor)144 364.8 R
-5.553(.W)-.55 G .553(hen gi)-5.553 F -.15(ve)-.25 G 3.053(nan).15 G .553
-(umeric ar)-3.053 F .553(gument, sa)-.18 F .853 -.15(ve t)-.2 H .553
-(he deleted te).15 F .553(xt on)-.15 F(the kill ring.)144 376.8 Q F2
--.25(fo)108 388.8 S(rward\255backward\255delete\255char).25 E F1 .474
-(Delete the character under the cursor)144 400.8 R 2.974(,u)-.4 G .474
+-.05(ga)-.15 G(ti).05 E 1.518 -.15(ve a)-.25 H -.18(rg).15 G 1.218
+(ument switches the direction).18 F .419
+(through the history \(back or forw)144 696 R 2.919(ard\). This)-.1 F
+.419(uses the history e)2.919 F .418(xpansion f)-.15 F .418
+(acilities to e)-.1 F .418(xtract the last)-.15 F -.1(wo)144 708 S
+(rd, as if the \231!$\232 history e).1 E(xpansion had been speci\214ed.)
+-.15 E(GNU Readline 8.3)72 768 Q(2024 October 10)125.685 E(10)190.395 E
+0 Cg EP
+%%Page: 11 11
+%%BeginPageSetup
+BP
+%%EndPageSetup
+/F0 10/Times-Italic@0 SF(READLINE)72.63 48 Q/F1 10/Times-Roman@0 SF
+118.765(\(3\) Library).73 F(Functions Manual)2.5 E F0(READLINE)121.895 E
+F1(\(3\)).73 E/F2 10/Times-Bold@0 SF(Commands f)87 84 Q(or Changing T)
+-.25 E(ext)-.92 E F0(end\255of\255\214le)108 96 Q F2(\(usually C\255d\))
+2.5 E F1 .651(The character indicating end-of-\214le as set, for e)144
+108 R .651(xample, by)-.15 F F0(stty)3.491 E F1 3.151(\(1\). If).32 F
+.652(this character is read when)3.152 F .03
+(there are no characters on the line, and point is at the be)144 120 R
+.029(ginning of the line,)-.15 F F2 -.18(re)2.529 G(adline).18 E F1 .029
+(interprets it as)2.529 F(the end of input and returns)144 132 Q/F3 9
+/Times-Bold@0 SF(EOF)2.5 E/F4 9/Times-Roman@0 SF(.)A F2
+(delete\255char \(C\255d\))108 144 Q F1 .441
+(Delete the character at point.)144 156 R .442
+(If this function is bound to the same character as the tty)5.441 F F2
+(EOF)2.942 E F1(char)2.942 E(-)-.2 E(acter)144 168 Q 2.539(,a)-.4 G(s)
+-2.539 E F2(C\255d)2.539 E F1 .039(commonly is, see abo)2.539 F .339
+-.15(ve f)-.15 H .039(or the ef).15 F 2.539(fects. This)-.25 F .039
+(may also be bound to the Delete k)2.539 F .338 -.15(ey o)-.1 H(n).15 E
+(some k)144 180 Q -.15(ey)-.1 G(boards.).15 E F2
+(backward\255delete\255char \(Rubout\))108 192 Q F1 .552
+(Delete the character behind the cursor)144 204 R 5.553(.W)-.55 G .553
+(hen gi)-5.553 F -.15(ve)-.25 G 3.053(nan).15 G .553(umeric ar)-3.053 F
+.553(gument, sa)-.18 F .853 -.15(ve t)-.2 H .553(he deleted te).15 F
+.553(xt on)-.15 F(the kill ring.)144 216 Q F2 -.25(fo)108 228 S
+(rward\255backward\255delete\255char).25 E F1 .474
+(Delete the character under the cursor)144 240 R 2.974(,u)-.4 G .474
 (nless the cursor is at the end of the line, in which case the)-2.974 F
-(character behind the cursor is deleted.)144 412.8 Q F2
-(quoted\255insert \(C\255q, C\255v\))108 424.8 Q F1 1.228(Add the ne)144
-436.8 R 1.228(xt character that you type to the line v)-.15 F 3.728
-(erbatim. This)-.15 F 1.228(is ho)3.728 F 3.729(wt)-.25 G 3.729(oi)
--3.729 G 1.229(nsert characters lik)-3.729 F(e)-.1 E F2(C\255q)144 448.8
-Q F1 2.5(,f)C(or e)-2.5 E(xample.)-.15 E F2(tab\255insert \(M-T)108
-460.8 Q(AB\))-.9 E F1(Insert a tab character)144 472.8 Q(.)-.55 E F2
-(self\255insert \(a, b, A, 1, !,)108 484.8 Q F1 1.666(...)2.5 G F2(\))
--1.666 E F1(Insert the character typed.)144 496.8 Q F2
-(transpose\255chars \(C\255t\))108 508.8 Q F1 .322
-(Drag the character before point forw)144 520.8 R .321(ard o)-.1 F -.15
-(ve)-.15 G 2.821(rt).15 G .321(he character at point, mo)-2.821 F .321
-(ving point forw)-.15 F .321(ard as well.)-.1 F .372
-(If point is at the end of the line, then this transposes the tw)144
-532.8 R 2.872(oc)-.1 G .373(haracters before point.)-2.872 F(Ne)5.373 E
--.05(ga)-.15 G(ti).05 E .673 -.15(ve a)-.25 H -.2(r-).15 G(guments ha)
-144 544.8 Q .3 -.15(ve n)-.2 H 2.5(oe).15 G -.25(ff)-2.5 G(ect.).25 E F2
-(transpose\255w)108 556.8 Q(ords \(M\255t\))-.1 E F1 .024(Drag the w)144
-568.8 R .024(ord before point past the w)-.1 F .023(ord after point, mo)
+(character behind the cursor is deleted.)144 252 Q F2
+(quoted\255insert \(C\255q, C\255v\))108 264 Q F1 .778(Add the ne)144
+276 R .779(xt character typed to the line v)-.15 F 3.279(erbatim. This)
+-.15 F .779(is ho)3.279 F 3.279(wt)-.25 G 3.279(oi)-3.279 G .779
+(nsert characters lik)-3.279 F(e)-.1 E F2(C\255q)3.279 E F1 3.279(,f)C
+(or)-3.279 E -.15(ex)144 288 S(ample.).15 E F2(tab\255insert \(M-T)108
+300 Q(AB\))-.9 E F1(Insert a tab character)144 312 Q(.)-.55 E F2
+(self\255insert \(a, b, A, 1, !,)108 324 Q F1 1.666(...)2.5 G F2(\))
+-1.666 E F1(Insert the character typed.)144 336 Q F2(brack)108 348 Q
+(eted\255paste\255begin)-.1 E F1 .573
+(This function is intended to be bound to the \231brack)144 360 R .572
+(eted paste\232 escape sequence sent by some ter)-.1 F(-)-.2 E .45
+(minals, and such a binding is assigned by def)144 372 R 2.95(ault. It)
+-.1 F(allo)2.95 E(ws)-.25 E F2 -.18(re)2.95 G(adline).18 E F1 .45
+(to insert the pasted te)2.95 F .45(xt as a)-.15 F .952(single unit wit\
+hout treating each character as if it had been read from the k)144 384 R
+-.15(ey)-.1 G 3.451(board. The).15 F(pasted)3.451 E 1.118
+(characters are inserted as if each one w)144 396 R 1.119(as bound to)
+-.1 F F2(self\255insert)3.619 E F1 1.119(instead of e)3.619 F -.15(xe)
+-.15 G 1.119(cuting an).15 F 3.619(ye)-.15 G(diting)-3.619 E(commands.)
+144 408 Q(Brack)144 420 Q(eted paste sets the re)-.1 E
+(gion to the inserted te)-.15 E(xt and acti)-.15 E -.25(va)-.25 G
+(tes the re).25 E(gion.)-.15 E F2(transpose\255chars \(C\255t\))108 432
+Q F1 .322(Drag the character before point forw)144 444 R .321(ard o)-.1
+F -.15(ve)-.15 G 2.821(rt).15 G .321(he character at point, mo)-2.821 F
+.321(ving point forw)-.15 F .321(ard as well.)-.1 F .372
+(If point is at the end of the line, then this transposes the tw)144 456
+R 2.872(oc)-.1 G .373(haracters before point.)-2.872 F(Ne)5.373 E -.05
+(ga)-.15 G(ti).05 E .673 -.15(ve a)-.25 H -.2(r-).15 G(guments ha)144
+468 Q .3 -.15(ve n)-.2 H 2.5(oe).15 G -.25(ff)-2.5 G(ect.).25 E F2
+(transpose\255w)108 480 Q(ords \(M\255t\))-.1 E F1 .024(Drag the w)144
+492 R .024(ord before point past the w)-.1 F .023(ord after point, mo)
 -.1 F .023(ving point o)-.15 F -.15(ve)-.15 G 2.523(rt).15 G .023(hat w)
 -2.523 F .023(ord as well.)-.1 F .023(If point)5.023 F
-(is at the end of the line, this transposes the last tw)144 580.8 Q 2.5
-(ow)-.1 G(ords on the line.)-2.6 E F2(upcase\255w)108 592.8 Q
-(ord \(M\255u\))-.1 E F1 1.698(Uppercase the current \(or follo)144
-604.8 R 1.698(wing\) w)-.25 F 4.198(ord. W)-.1 F 1.698(ith a ne)-.4 F
--.05(ga)-.15 G(ti).05 E 1.999 -.15(ve a)-.25 H -.18(rg).15 G 1.699
-(ument, uppercase the pre).18 F(vious)-.25 E -.1(wo)144 616.8 S(rd, b).1
-E(ut do not mo)-.2 E .3 -.15(ve p)-.15 H(oint.).15 E F2(do)108 628.8 Q
-(wncase\255w)-.1 E(ord \(M\255l\))-.1 E F1(Lo)144 640.8 Q 1.648
+(is at the end of the line, this transposes the last tw)144 504 Q 2.5
+(ow)-.1 G(ords on the line.)-2.6 E F2(upcase\255w)108 516 Q
+(ord \(M\255u\))-.1 E F1 1.698(Uppercase the current \(or follo)144 528
+R 1.698(wing\) w)-.25 F 4.198(ord. W)-.1 F 1.698(ith a ne)-.4 F -.05(ga)
+-.15 G(ti).05 E 1.999 -.15(ve a)-.25 H -.18(rg).15 G 1.699
+(ument, uppercase the pre).18 F(vious)-.25 E -.1(wo)144 540 S(rd, b).1 E
+(ut do not mo)-.2 E .3 -.15(ve p)-.15 H(oint.).15 E F2(do)108 552 Q
+(wncase\255w)-.1 E(ord \(M\255l\))-.1 E F1(Lo)144 564 Q 1.648
 (wercase the current \(or follo)-.25 F 1.648(wing\) w)-.25 F 4.148
 (ord. W)-.1 F 1.647(ith a ne)-.4 F -.05(ga)-.15 G(ti).05 E 1.947 -.15
 (ve a)-.25 H -.18(rg).15 G 1.647(ument, lo).18 F 1.647(wercase the pre)
--.25 F(vious)-.25 E -.1(wo)144 652.8 S(rd, b).1 E(ut do not mo)-.2 E .3
--.15(ve p)-.15 H(oint.).15 E F2(capitalize\255w)108 664.8 Q
-(ord \(M\255c\))-.1 E F1 1.974(Capitalize the current \(or follo)144
-676.8 R 1.974(wing\) w)-.25 F 4.474(ord. W)-.1 F 1.974(ith a ne)-.4 F
--.05(ga)-.15 G(ti).05 E 2.274 -.15(ve a)-.25 H -.18(rg).15 G 1.975
-(ument, capitalize the pre).18 F(vious)-.25 E -.1(wo)144 688.8 S(rd, b)
-.1 E(ut do not mo)-.2 E .3 -.15(ve p)-.15 H(oint.).15 E F2 -.1(ove)108
-700.8 S(rwrite\255mode).1 E F1 -.8(To)144 712.8 S .438(ggle o).8 F -.15
-(ve)-.15 G .438(rwrite mode.).15 F -.4(Wi)5.438 G .438(th an e).4 F .438
+-.25 F(vious)-.25 E -.1(wo)144 576 S(rd, b).1 E(ut do not mo)-.2 E .3
+-.15(ve p)-.15 H(oint.).15 E F2(capitalize\255w)108 588 Q
+(ord \(M\255c\))-.1 E F1 1.974(Capitalize the current \(or follo)144 600
+R 1.974(wing\) w)-.25 F 4.474(ord. W)-.1 F 1.974(ith a ne)-.4 F -.05(ga)
+-.15 G(ti).05 E 2.274 -.15(ve a)-.25 H -.18(rg).15 G 1.975
+(ument, capitalize the pre).18 F(vious)-.25 E -.1(wo)144 612 S(rd, b).1
+E(ut do not mo)-.2 E .3 -.15(ve p)-.15 H(oint.).15 E F2 -.1(ove)108 624
+S(rwrite\255mode).1 E F1 -.8(To)144 636 S .438(ggle o).8 F -.15(ve)-.15
+G .438(rwrite mode.).15 F -.4(Wi)5.438 G .438(th an e).4 F .438
 (xplicit positi)-.15 F .737 -.15(ve n)-.25 H .437(umeric ar).15 F .437
 (gument, switches to o)-.18 F -.15(ve)-.15 G .437(rwrite mode.).15 F -.4
-(Wi)144 724.8 S .78(th an e).4 F .781(xplicit non-positi)-.15 F 1.081
--.15(ve n)-.25 H .781(umeric ar).15 F .781
-(gument, switches to insert mode.)-.18 F .781(This command af)5.781 F
-(fects)-.25 E(GNU Readline 8.3)72 768 Q(2024 March 29)128.74 E(10)193.45
-E 0 Cg EP
-%%Page: 11 11
+(Wi)144 648 S .78(th an e).4 F .781(xplicit non-positi)-.15 F 1.081 -.15
+(ve n)-.25 H .781(umeric ar).15 F .781(gument, switches to insert mode.)
+-.18 F .781(This command af)5.781 F(fects)-.25 E(only)144 660 Q F2
+(emacs)4.395 E F1(mode;)4.395 E F2(vi)4.395 E F1 1.894(mode does o)4.395
+F -.15(ve)-.15 G 1.894(rwrite dif).15 F(ferently)-.25 E 6.894(.E)-.65 G
+1.894(ach call to)-6.894 F F0 -.37(re)4.394 G(adline\(\)).37 E F1 1.894
+(starts in insert)4.394 F(mode.)144 672 Q .092(In o)144 684 R -.15(ve)
+-.15 G .092(rwrite mode, characters bound to).15 F F2(self\255insert)
+2.593 E F1 .093(replace the te)2.593 F .093
+(xt at point rather than pushing the)-.15 F(te)144 696 Q .774
+(xt to the right.)-.15 F .773(Characters bound to)5.774 F F2
+(backward\255delete\255char)3.273 E F1 .773
+(replace the character before point)3.273 F .52(with a space.)144 708 R
+.52(By def)5.52 F .52(ault, this command is unbound, b)-.1 F .52
+(ut may be bound to the Insert k)-.2 F .82 -.15(ey o)-.1 H 3.02(ns).15 G
+(ome)-3.02 E -.1(ke)144 720 S(yboards.)-.05 E(GNU Readline 8.3)72 768 Q
+(2024 October 10)125.685 E(11)190.395 E 0 Cg EP
+%%Page: 12 12
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Italic@0 SF(READLINE)72.63 48 Q/F1 10/Times-Roman@0 SF
 118.765(\(3\) Library).73 F(Functions Manual)2.5 E F0(READLINE)121.895 E
-F1(\(3\)).73 E(only)144 84 Q/F2 10/Times-Bold@0 SF(emacs)4.395 E F1
-(mode;)4.395 E F2(vi)4.395 E F1 1.894(mode does o)4.395 F -.15(ve)-.15 G
-1.894(rwrite dif).15 F(ferently)-.25 E 6.894(.E)-.65 G 1.894
-(ach call to)-6.894 F F0 -.37(re)4.394 G(adline\(\)).37 E F1 1.894
-(starts in insert)4.394 F 3.968(mode. In)144 96 R -.15(ove)3.968 G 1.468
-(rwrite mode, characters bound to).15 F F2(self\255insert)3.969 E F1
-1.469(replace the te)3.969 F 1.469(xt at point rather than)-.15 F .958
-(pushing the te)144 108 R .958(xt to the right.)-.15 F .957
-(Characters bound to)5.958 F F2(backward\255delete\255char)3.457 E F1
-.957(replace the character)3.457 F(before point with a space.)144 120 Q
-(By def)5 E(ault, this command is unbound.)-.1 E F2(Killing and Y)87
-136.8 Q(anking)-.85 E(kill\255line \(C\255k\))108 148.8 Q F1
-(Kill the te)144 160.8 Q(xt from point to the end of the line.)-.15 E F2
-(backward\255kill\255line \(C\255x Rubout\))108 172.8 Q F1(Kill backw)
-144 184.8 Q(ard to the be)-.1 E(ginning of the line.)-.15 E F2
-(unix\255line\255discard \(C\255u\))108 196.8 Q F1(Kill backw)144 208.8
-Q(ard from point to the be)-.1 E(ginning of the line.)-.15 E
-(The killed te)5 E(xt is sa)-.15 E -.15(ve)-.2 G 2.5(do).15 G 2.5(nt)
--2.5 G(he kill-ring.)-2.5 E F2(kill\255whole\255line)108 220.8 Q F1
+F1(\(3\)).73 E/F2 10/Times-Bold@0 SF(Killing and Y)87 84 Q(anking)-.85 E
+(kill\255line \(C\255k\))108 96 Q F1 1.415(Kill the te)144 108 R 1.414
+(xt from point to the end of the current line.)-.15 F -.4(Wi)6.414 G
+1.414(th a ne).4 F -.05(ga)-.15 G(ti).05 E 1.714 -.15(ve n)-.25 H 1.414
+(umeric ar).15 F 1.414(gument, kill)-.18 F(backw)144 120 Q
+(ard from the cursor to the be)-.1 E(ginning of the line.)-.15 E F2
+(backward\255kill\255line \(C\255x Rubout\))108 132 Q F1 .025
+(Kill backw)144 144 R .025(ard to the be)-.1 F .025
+(ginning of the current line.)-.15 F -.4(Wi)5.025 G .025(th a ne).4 F
+-.05(ga)-.15 G(ti).05 E .326 -.15(ve n)-.25 H .026(umeric ar).15 F .026
+(gument, kill forw)-.18 F(ard)-.1 E
+(from the cursor to the end of the line.)144 156 Q F2
+(unix\255line\255discard \(C\255u\))108 168 Q F1(Kill backw)144 180 Q
+(ard from point to the be)-.1 E(ginning of the line, sa)-.15 E
+(ving the killed te)-.2 E(xt on the kill-ring.)-.15 E F2
+(kill\255whole\255line)108 192 Q F1
 (Kill all characters on the current line, no matter where point is.)144
-232.8 Q F2(kill\255w)108 244.8 Q(ord \(M\255d\))-.1 E F1 1.308
-(Kill from point the end of the current w)144 256.8 R 1.308
-(ord, or if between w)-.1 F 1.308(ords, to the end of the ne)-.1 F 1.308
-(xt w)-.15 F(ord.)-.1 E -.8(Wo)144 268.8 S
+204 Q F2(kill\255w)108 216 Q(ord \(M\255d\))-.1 E F1 .729
+(Kill from point to the end of the current w)144 228 R .728
+(ord, or if between w)-.1 F .728(ords, to the end of the ne)-.1 F .728
+(xt w)-.15 F(ord.)-.1 E -.8(Wo)144 240 S
 (rd boundaries are the same as those used by).8 E F2 -.25(fo)2.5 G
-(rward\255w).25 E(ord)-.1 E F1(.)A F2(backward\255kill\255w)108 280.8 Q
-(ord \(M\255Rubout\))-.1 E F1(Kill the w)144 292.8 Q(ord behind point.)
--.1 E -.8(Wo)5 G(rd boundaries are the same as those used by).8 E F2
-(backward\255w)2.5 E(ord)-.1 E F1(.)A F2(unix\255w)108 304.8 Q
-(ord\255rubout \(C\255w\))-.1 E F1 .365(Kill the w)144 316.8 R .365
-(ord behind point, using white space as a w)-.1 F .364(ord boundary)-.1
-F 5.364(.T)-.65 G .364(he killed te)-5.364 F .364(xt is sa)-.15 F -.15
-(ve)-.2 G 2.864(do).15 G 2.864(nt)-2.864 G(he)-2.864 E(kill-ring.)144
-328.8 Q F2(unix\255\214lename\255rubout)108 340.8 Q F1 .166(Kill the w)
-144 352.8 R .166
+(rward\255w).25 E(ord)-.1 E F1(.)A F2(backward\255kill\255w)108 252 Q
+(ord \(M\255Rubout\))-.1 E F1(Kill the w)144 264 Q(ord behind point.)-.1
+E -.8(Wo)5 G(rd boundaries are the same as those used by).8 E F2
+(backward\255w)2.5 E(ord)-.1 E F1(.)A F2(unix\255w)108 276 Q
+(ord\255rubout \(C\255w\))-.1 E F1 1.062(Kill the w)144 288 R 1.063
+(ord behind point, using white space as a w)-.1 F 1.063(ord boundary)-.1
+F 3.563(,s)-.65 G -.2(av)-3.563 G 1.063(ing the killed te).2 F 1.063
+(xt on the)-.15 F(kill-ring.)144 300 Q F2(unix\255\214lename\255rubout)
+108 312 Q F1 .266(Kill the w)144 324 R .266
 (ord behind point, using white space and the slash character as the w)
--.1 F .167(ord boundaries.)-.1 F(The)5.167 E(killed te)144 364.8 Q
-(xt is sa)-.15 E -.15(ve)-.2 G 2.5(do).15 G 2.5(nt)-2.5 G(he kill-ring.)
--2.5 E F2(delete\255horizontal\255space \(M\255\\\))108 376.8 Q F1
-(Delete all spaces and tabs around point.)144 388.8 Q F2(kill\255r)108
-400.8 Q(egion)-.18 E F1 .302(Kill the te)144 412.8 R .301
-(xt between the point and)-.15 F F0(mark)2.801 E F1(\(sa)2.801 E -.15
-(ve)-.2 G 2.801(dc).15 G .301(ursor position\).)-2.801 F .301(This te)
-5.301 F .301(xt is referred to as the)-.15 F F0 -.37(re)2.801 G(-).37 E
-(gion)144 424.8 Q F1(.)A F2(copy\255r)108 436.8 Q(egion\255as\255kill)
--.18 E F1(Cop)144 448.8 Q 2.5(yt)-.1 G(he te)-2.5 E(xt in the re)-.15 E
-(gion to the kill b)-.15 E(uf)-.2 E(fer)-.25 E(.)-.55 E F2
-(copy\255backward\255w)108 460.8 Q(ord)-.1 E F1(Cop)144 472.8 Q 4.8(yt)
--.1 G 2.3(he w)-4.8 F 2.3(ord before point to the kill b)-.1 F(uf)-.2 E
-(fer)-.25 E 7.301(.T)-.55 G 2.301(he w)-7.301 F 2.301
-(ord boundaries are the same as)-.1 F F2(back-)4.801 E(ward\255w)144
-484.8 Q(ord)-.1 E F1(.)A F2(copy\255f)108 496.8 Q(orward\255w)-.25 E
-(ord)-.1 E F1(Cop)144 508.8 Q 4.508(yt)-.1 G 2.008(he w)-4.508 F 2.008
-(ord follo)-.1 F 2.008(wing point to the kill b)-.25 F(uf)-.2 E(fer)-.25
-E 7.007(.T)-.55 G 2.007(he w)-7.007 F 2.007
-(ord boundaries are the same as)-.1 F F2 -.25(fo)4.507 G -.37(r-).25 G
-(ward\255w)144 520.8 Q(ord)-.1 E F1(.)A F2(yank \(C\255y\))108 532.8 Q
-F1 -1(Ya)144 544.8 S(nk the top of the kill ring into the b)1 E(uf)-.2 E
-(fer at point.)-.25 E F2(yank\255pop \(M\255y\))108 556.8 Q F1
-(Rotate the kill ring, and yank the ne)144 568.8 Q 2.5(wt)-.25 G 2.5
+-.1 F .265(ord boundaries, sa)-.1 F(v-)-.2 E(ing the killed te)144 336 Q
+(xt on the kill-ring.)-.15 E F2
+(delete\255horizontal\255space \(M\255\\\))108 348 Q F1
+(Delete all spaces and tabs around point.)144 360 Q F2(kill\255r)108 372
+Q(egion)-.18 E F1(Kill the te)144 384 Q(xt in the current re)-.15 E
+(gion.)-.15 E F2(copy\255r)108 396 Q(egion\255as\255kill)-.18 E F1(Cop)
+144 408 Q 2.5(yt)-.1 G(he te)-2.5 E(xt in the re)-.15 E
+(gion to the kill b)-.15 E(uf)-.2 E(fer)-.25 E 2.5(,s)-.4 G 2.5(oi)-2.5
+G 2.5(tc)-2.5 G(an be yank)-2.5 E(ed immediately)-.1 E(.)-.65 E F2
+(copy\255backward\255w)108 420 Q(ord)-.1 E F1(Cop)144 432 Q 4.8(yt)-.1 G
+2.3(he w)-4.8 F 2.3(ord before point to the kill b)-.1 F(uf)-.2 E(fer)
+-.25 E 7.301(.T)-.55 G 2.301(he w)-7.301 F 2.301
+(ord boundaries are the same as)-.1 F F2(back-)4.801 E(ward\255w)144 444
+Q(ord)-.1 E F1(.)A F2(copy\255f)108 456 Q(orward\255w)-.25 E(ord)-.1 E
+F1(Cop)144 468 Q 4.508(yt)-.1 G 2.008(he w)-4.508 F 2.008(ord follo)-.1
+F 2.008(wing point to the kill b)-.25 F(uf)-.2 E(fer)-.25 E 7.007(.T)
+-.55 G 2.007(he w)-7.007 F 2.007(ord boundaries are the same as)-.1 F F2
+-.25(fo)4.507 G -.37(r-).25 G(ward\255w)144 480 Q(ord)-.1 E F1(.)A F2
+(yank \(C\255y\))108 492 Q F1 -1(Ya)144 504 S
+(nk the top of the kill ring into the b)1 E(uf)-.2 E(fer at point.)-.25
+E F2(yank\255pop \(M\255y\))108 516 Q F1
+(Rotate the kill ring, and yank the ne)144 528 Q 2.5(wt)-.25 G 2.5
 (op. Only)-2.5 F -.1(wo)2.5 G(rks follo).1 E(wing)-.25 E F2(yank)2.5 E
-F1(or)2.5 E F2(yank\255pop)2.5 E F1(.)A F2(Numeric Ar)87 585.6 Q
-(guments)-.1 E(digit\255ar)108 597.6 Q(gument \(M\2550, M\2551,)-.1 E F1
+F1(or)2.5 E F2(yank\255pop)2.5 E F1(.)A F2(Numeric Ar)87 544.8 Q
+(guments)-.1 E(digit\255ar)108 556.8 Q(gument \(M\2550, M\2551,)-.1 E F1
 1.666(...)2.5 G F2 2.5(,M)-1.666 G<adad29>-2.5 E F1 .367
-(Add this digit to the ar)144 609.6 R .367
+(Add this digit to the ar)144 568.8 R .367
 (gument already accumulating, or start a ne)-.18 F 2.867(wa)-.25 G -.18
 (rg)-2.867 G 2.867(ument. M\255\255).18 F .367(starts a ne)2.867 F -.05
-(ga)-.15 G(-).05 E(ti)144 621.6 Q .3 -.15(ve a)-.25 H -.18(rg).15 G
-(ument.).18 E F2(uni)108 633.6 Q -.1(ve)-.1 G(rsal\255ar).1 E(gument)-.1
-E F1 .779(This is another w)144 645.6 R .779(ay to specify an ar)-.1 F
+(ga)-.15 G(-).05 E(ti)144 580.8 Q .3 -.15(ve a)-.25 H -.18(rg).15 G
+(ument.).18 E F2(uni)108 592.8 Q -.1(ve)-.1 G(rsal\255ar).1 E(gument)-.1
+E F1 .779(This is another w)144 604.8 R .779(ay to specify an ar)-.1 F
 3.279(gument. If)-.18 F .779(this command is follo)3.279 F .778
 (wed by one or more digits,)-.25 F 1.376
 (optionally with a leading minus sign, those digits de\214ne the ar)144
-657.6 R 3.876(gument. If)-.18 F 1.376(the command is fol-)3.876 F(lo)144
-669.6 Q 1.17(wed by digits, e)-.25 F -.15(xe)-.15 G(cuting).15 E F2(uni)
+616.8 R 3.876(gument. If)-.18 F 1.376(the command is fol-)3.876 F(lo)144
+628.8 Q 1.17(wed by digits, e)-.25 F -.15(xe)-.15 G(cuting).15 E F2(uni)
 3.67 E -.1(ve)-.1 G(rsal\255ar).1 E(gument)-.1 E F1(ag)3.67 E 1.17
 (ain ends the numeric ar)-.05 F 1.17(gument, b)-.18 F 1.17(ut is other)
--.2 F(-)-.2 E .898(wise ignored.)144 681.6 R .898
+-.2 F(-)-.2 E .898(wise ignored.)144 640.8 R .898
 (As a special case, if this command is immediately follo)5.898 F .898
-(wed by a character that is)-.25 F .243
-(neither a digit or minus sign, the ar)144 693.6 R .243
-(gument count for the ne)-.18 F .243(xt command is multiplied by four)
--.15 F 5.242(.T)-.55 G(he)-5.242 E(ar)144 705.6 Q .378
-(gument count is initially one, so e)-.18 F -.15(xe)-.15 G .378
-(cuting this function the \214rst time mak).15 F .378(es the ar)-.1 F
-.378(gument count)-.18 F(four)144 717.6 Q 2.5(,as)-.4 G(econd time mak)
--2.5 E(es the ar)-.1 E(gument count sixteen, and so on.)-.18 E
-(GNU Readline 8.3)72 768 Q(2024 March 29)128.74 E(11)193.45 E 0 Cg EP
-%%Page: 12 12
+(wed by a character that is)-.25 F 1.23
+(neither a digit nor minus sign, the ar)144 652.8 R 1.23
+(gument count for the ne)-.18 F 1.23(xt command is multiplied by four)
+-.15 F(.)-.55 E .822(The ar)144 664.8 R .822
+(gument count is initially one, so e)-.18 F -.15(xe)-.15 G .823
+(cuting this function the \214rst time mak).15 F .823(es the ar)-.1 F
+(gument)-.18 E(count four)144 676.8 Q 2.5(,as)-.4 G(econd time mak)-2.5
+E(es the ar)-.1 E(gument count sixteen, and so on.)-.18 E F2(Completing)
+87 693.6 Q(complete \(T)108 705.6 Q(AB\))-.9 E F1 .682
+(Attempt to perform completion on the te)144 717.6 R .681
+(xt before point.)-.15 F .681(The actual completion performed is ap-)
+5.681 F(plication-speci\214c.)144 729.6 Q F2(Bash)5.485 E F1 2.985(,f)C
+.486(or instance, attempts programmable completion \214rst, otherwise t\
+reating)-2.985 F(GNU Readline 8.3)72 768 Q(2024 October 10)125.685 E(12)
+190.395 E 0 Cg EP
+%%Page: 13 13
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Italic@0 SF(READLINE)72.63 48 Q/F1 10/Times-Roman@0 SF
 118.765(\(3\) Library).73 F(Functions Manual)2.5 E F0(READLINE)121.895 E
-F1(\(3\)).73 E/F2 10/Times-Bold@0 SF(Completing)87 84 Q(complete \(T)108
-96 Q(AB\))-.9 E F1 .682(Attempt to perform completion on the te)144 108
-R .681(xt before point.)-.15 F .681
-(The actual completion performed is ap-)5.681 F(plication-speci\214c.)
-144 120 Q F2(Bash)6.243 E F1 3.743(,f)C 1.244
-(or instance, attempts completion treating the te)-3.743 F 1.244
-(xt as a v)-.15 F 1.244(ariable \(if the)-.25 F(te)144 132 Q .553(xt be)
--.15 F .553(gins with)-.15 F F2($)3.053 E F1 .552
-(\), username \(if the te)B .552(xt be)-.15 F .552(gins with)-.15 F F2
-<01>3.052 E F1 .552(\), hostname \(if the te)B .552(xt be)-.15 F .552
-(gins with)-.15 F F2(@)3.052 E F1 .552(\), or)B .929
-(command \(including aliases and functions\) in turn.)144 144 R .93
-(If none of these produces a match, \214lename)5.929 F 1.274
-(completion is attempted.)144 156 R F2(Gdb)6.273 E F1 3.773(,o)C 3.773
-(nt)-3.773 G 1.273(he other hand, allo)-3.773 F 1.273
-(ws completion of program functions and)-.25 F -.25(va)144 168 S(riable\
-s, and only attempts \214lename completion under certain circumstances.)
-.25 E F2(possible\255completions \(M\255?\))108 180 Q F1 .261
-(List the possible completions of the te)144 192 R .262
-(xt before point.)-.15 F .262
-(When displaying completions, readline sets)5.262 F 1.002
-(the number of columns used for display to the v)144 204 R 1.002
-(alue of)-.25 F F2(completion-display-width)3.502 E F1 3.502(,t)C 1.002
-(he v)-3.502 F 1.002(alue of)-.25 F(the en)144 216 Q(vironment v)-.4 E
-(ariable)-.25 E/F3 9/Times-Bold@0 SF(COLUMNS)2.5 E/F4 9/Times-Roman@0 SF
-(,)A F1(or the screen width, in that order)2.25 E(.)-.55 E F2
-(insert\255completions \(M\255*\))108 228 Q F1 .783
-(Insert all completions of the te)144 240 R .783(xt before point that w)
+F1(\(3\)).73 E .435(the te)144 84 R .435(xt as a v)-.15 F .434
+(ariable \(if the te)-.25 F .434(xt be)-.15 F .434(gins with)-.15 F/F2
+10/Times-Bold@0 SF($)2.934 E F1 .434(\), username \(if the te)B .434
+(xt be)-.15 F .434(gins with)-.15 F F2<01>2.934 E F1 .434
+(\), hostname \(if)B .087(the te)144 96 R .087(xt be)-.15 F .087
+(gins with)-.15 F F2(@)2.587 E F1 .087
+(\), or command \(including aliases, functions, and b)B .088
+(uiltins\) in turn.)-.2 F .088(If none of)5.088 F .105
+(these produces a match, it f)144 108 R .104
+(alls back to \214lename completion.)-.1 F F2(Gdb)5.104 E F1 2.604(,o)C
+2.604(nt)-2.604 G .104(he other hand, allo)-2.604 F .104(ws com-)-.25 F
+.872(pletion of program functions and v)144 120 R .873
+(ariables, and only attempts \214lename completion under certain)-.25 F
+2.5(circumstances. The)144 132 R(def)2.5 E(ault)-.1 E F2 -.18(re)2.5 G
+(adline).18 E F1(completion is \214lename completion.)2.5 E F2
+(possible\255completions \(M\255?\))108 144 Q F1 .061
+(List the possible completions of the te)144 156 R .061
+(xt before point.)-.15 F .061(When displaying completions,)5.061 F F2
+-.18(re)2.56 G(adline).18 E F1(sets)2.56 E 1.002
+(the number of columns used for display to the v)144 168 R 1.002
+(alue of)-.25 F F2(completion-display-width)3.502 E F1 3.502(,t)C 1.003
+(he v)-3.502 F 1.003(alue of)-.25 F(the en)144 180 Q(vironment v)-.4 E
+(ariable)-.25 E F2(COLUMNS)2.5 E F1 2.5(,o)C 2.5(rt)-2.5 G
+(he screen width, in that order)-2.5 E(.)-.55 E F2
+(insert\255completions \(M\255*\))108 192 Q F1 .783
+(Insert all completions of the te)144 204 R .783(xt before point that w)
 -.15 F .783(ould ha)-.1 F 1.083 -.15(ve b)-.2 H .783(een generated by)
-.15 F F2(possible\255com-)3.283 E(pletions)144 252 Q F1(.)A F2
-(menu\255complete)108 264 Q F1 .929(Similar to)144 276 R F2(complete)
-3.429 E F1 3.429(,b)C .929(ut replaces the w)-3.629 F .929
-(ord to be completed with a single match from the list of)-.1 F 1.193
-(possible completions.)144 288 R 1.193(Repeated e)6.193 F -.15(xe)-.15 G
-1.193(cution of).15 F F2(menu\255complete)3.694 E F1 1.194
-(steps through the list of possible)3.694 F .829
-(completions, inserting each match in turn.)144 300 R .828
-(At the end of the list of completions, the bell is rung)5.828 F .727
-(\(subject to the setting of)144 312 R F2(bell\255style)3.227 E F1 3.227
-(\)a)C .727(nd the original te)-3.227 F .727(xt is restored.)-.15 F .727
-(An ar)5.727 F .727(gument of)-.18 F F0(n)3.227 E F1(mo)3.227 E -.15(ve)
--.15 G(s).15 E F0(n)3.228 E F1 1.73(positions forw)144 324 R 1.73
-(ard in the list of matches; a ne)-.1 F -.05(ga)-.15 G(ti).05 E 2.03
--.15(ve a)-.25 H -.18(rg).15 G 1.73(ument may be used to mo).18 F 2.03
--.15(ve b)-.15 H(ackw).15 E(ard)-.1 E(through the list.)144 336 Q
-(This command is intended to be bound to)5 E F2 -.9(TA)2.5 G(B).9 E F1
-2.5(,b)C(ut is unbound by def)-2.7 E(ault.)-.1 E F2
-(menu\255complete\255backward)108 348 Q F1 .82(Identical to)144 360 R F2
-(menu\255complete)3.32 E F1 3.32(,b)C .82(ut mo)-3.52 F -.15(ve)-.15 G
-3.32(sb).15 G(ackw)-3.32 E .82
+.15 F F2(possible\255com-)3.282 E(pletions)144 216 Q F1 2.5(,s)C
+(eparated by a space.)-2.5 E F2(menu\255complete)108 228 Q F1 .928
+(Similar to)144 240 R F2(complete)3.428 E F1 3.428(,b)C .929
+(ut replaces the w)-3.628 F .929
+(ord to be completed with a single match from the list of)-.1 F 1.618
+(possible completions.)144 252 R 1.618(Repeatedly e)6.618 F -.15(xe)-.15
+G(cuting).15 E F2(menu\255complete)4.118 E F1 1.618
+(steps through the list of possible)4.118 F .42
+(completions, inserting each match in turn.)144 264 R .421
+(At the end of the list of completions,)5.421 F F2(menu\255complete)
+2.921 E F1 .22(rings the bell \(subject to the setting of)144 276 R F2
+(bell\255style)2.719 E F1 2.719(\)a)C .219(nd restores the original te)
+-2.719 F 2.719(xt. An)-.15 F(ar)2.719 E .219(gument of)-.18 F F0(n)2.719
+E F1(mo)144 288 Q -.15(ve)-.15 G(s).15 E F0(n)2.546 E F1 .046
+(positions forw)2.546 F .046(ard in the list of matches; a ne)-.1 F -.05
+(ga)-.15 G(ti).05 E .346 -.15(ve a)-.25 H -.18(rg).15 G .046(ument mo)
+.18 F -.15(ve)-.15 G 2.546(sb).15 G(ackw)-2.546 E .046(ard through the)
+-.1 F 2.5(list. This)144 300 R(command is intended to be bound to)2.5 E
+F2 -.9(TA)2.5 G(B).9 E F1 2.5(,b)C(ut is unbound by def)-2.7 E(ault.)-.1
+E F2(menu\255complete\255backward)108 312 Q F1 .82(Identical to)144 324
+R F2(menu\255complete)3.32 E F1 3.32(,b)C .82(ut mo)-3.52 F -.15(ve)-.15
+G 3.32(sb).15 G(ackw)-3.32 E .82
 (ard through the list of possible completions, as if)-.1 F F2
-(menu\255complete)144 372 Q F1(had been gi)2.5 E -.15(ve)-.25 G 2.5(nan)
+(menu\255complete)144 336 Q F1(had been gi)2.5 E -.15(ve)-.25 G 2.5(nan)
 .15 G -2.25 -.15(eg a)-2.5 H(ti).15 E .3 -.15(ve a)-.25 H -.18(rg).15 G
 2.5(ument. This).18 F(command is unbound by def)2.5 E(ault.)-.1 E F2
-(delete\255char\255or\255list)108 384 Q F1 .374
-(Deletes the character under the cursor if not at the be)144 396 R .373
-(ginning or end of the line \(lik)-.15 F(e)-.1 E F2(delete-char)2.873 E
-F1(\).)A(If at the end of the line, beha)144 408 Q -.15(ve)-.2 G 2.5(si)
-.15 G(dentically to)-2.5 E F2(possible-completions)2.5 E F1(.)A F2 -.25
-(Ke)87 424.8 S(yboard Macr).25 E(os)-.18 E(start\255kbd\255macr)108
-436.8 Q 2.5(o\()-.18 G(C\255x \()-2.5 E(\)).833 E F1(Be)144 448.8 Q
-(gin sa)-.15 E(ving the characters typed into the current k)-.2 E -.15
-(ey)-.1 G(board macro.).15 E F2(end\255kbd\255macr)108 460.8 Q 2.5(o\()
--.18 G(C\255x \))-2.5 E(\)).833 E F1(Stop sa)144 472.8 Q
+(delete\255char\255or\255list)108 348 Q F1 .234
+(Deletes the character under the cursor if not at the be)144 360 R .234
+(ginning or end of the line \(lik)-.15 F(e)-.1 E F2(delete\255char)2.735
+E F1(\).)A .305(At the end of the line, it beha)144 372 R -.15(ve)-.2 G
+2.805(si).15 G .305(dentically to)-2.805 F F2(possible\255completions)
+2.805 E F1 5.305(.T)C .305(his command is unbound)-5.305 F(by def)144
+384 Q(ault.)-.1 E F2 -.25(Ke)87 400.8 S(yboard Macr).25 E(os)-.18 E
+(start\255kbd\255macr)108 412.8 Q 2.5(o\()-.18 G(C\255x \()-2.5 E(\))
+.833 E F1(Be)144 424.8 Q(gin sa)-.15 E
+(ving the characters typed into the current k)-.2 E -.15(ey)-.1 G
+(board macro.).15 E F2(end\255kbd\255macr)108 436.8 Q 2.5(o\()-.18 G
+(C\255x \))-2.5 E(\)).833 E F1(Stop sa)144 448.8 Q
 (ving the characters typed into the current k)-.2 E -.15(ey)-.1 G
 (board macro and store the de\214nition.).15 E F2
-(call\255last\255kbd\255macr)108 484.8 Q 2.5(o\()-.18 G(C\255x e\))-2.5
-E F1(Re-e)144 496.8 Q -.15(xe)-.15 G .999(cute the last k).15 F -.15(ey)
+(call\255last\255kbd\255macr)108 460.8 Q 2.5(o\()-.18 G(C\255x e\))-2.5
+E F1(Re-e)144 472.8 Q -.15(xe)-.15 G .999(cute the last k).15 F -.15(ey)
 -.1 G .999(board macro de\214ned, by making the characters in the macro\
- appear as if).15 F(typed at the k)144 508.8 Q -.15(ey)-.1 G(board.).15
-E F2(print\255last\255kbd\255macr)108 520.8 Q 2.5(o\()-.18 G(\))-2.5 E
-F1(Print the last k)144 532.8 Q -.15(ey)-.1 G
+ appear as if).15 F(typed at the k)144 484.8 Q -.15(ey)-.1 G(board.).15
+E F2(print\255last\255kbd\255macr)108 496.8 Q 2.5(o\()-.18 G(\))-2.5 E
+F1(Print the last k)144 508.8 Q -.15(ey)-.1 G
 (board macro de\214ned in a format suitable for the).15 E F0(inputr)2.5
-E(c)-.37 E F1(\214le.)2.5 E F2(Miscellaneous)87 549.6 Q -.18(re)108
-561.6 S<ad72>.18 E(ead\255init\255\214le \(C\255x C\255r\))-.18 E F1
-1.777(Read in the contents of the)144 573.6 R F0(inputr)4.277 E(c)-.37 E
+E(c)-.37 E F1(\214le.)2.5 E F2(Miscellaneous)87 525.6 Q -.18(re)108
+537.6 S<ad72>.18 E(ead\255init\255\214le \(C\255x C\255r\))-.18 E F1
+1.777(Read in the contents of the)144 549.6 R F0(inputr)4.277 E(c)-.37 E
 F1 1.776(\214le, and incorporate an)4.276 F 4.276(yb)-.15 G 1.776
 (indings or v)-4.276 F 1.776(ariable assignments)-.25 F(found there.)144
-585.6 Q F2(abort \(C\255g\))108 597.6 Q F1 3.248
-(Abort the current editing command and ring the terminal')144 609.6 R
+561.6 Q F2(abort \(C\255g\))108 573.6 Q F1 3.248
+(Abort the current editing command and ring the terminal')144 585.6 R
 5.749(sb)-.55 G 3.249(ell \(subject to the setting of)-5.749 F F2
-(bell\255style)144 621.6 Q F1(\).)A F2(do\255lo)108 633.6 Q(wer)-.1 E
+(bell\255style)144 597.6 Q F1(\).)A F2(do\255lo)108 609.6 Q(wer)-.1 E
 (case\255v)-.18 E(ersion \(M\255A, M\255B, M\255)-.1 E F0(x)A F2(,)A F1
 1.666(...)2.5 G F2(\))-1.666 E F1 1.739(If the meta\214ed character)144
-645.6 R F0(x)4.239 E F1 1.739
+621.6 R F0(x)4.239 E F1 1.739
 (is uppercase, run the command that is bound to the corresponding)4.239
-F(meta\214ed lo)144 657.6 Q(wercase character)-.25 E 5(.T)-.55 G
+F(meta\214ed lo)144 633.6 Q(wercase character)-.25 E 5(.T)-.55 G
 (he beha)-5 E(vior is unde\214ned if)-.2 E F0(x)2.5 E F1(is already lo)
-2.5 E(wercase.)-.25 E F2(pr)108 669.6 Q(e\214x\255meta \(ESC\))-.18 E F1
-(Metafy the ne)144 681.6 Q(xt character typed.)-.15 E F3(ESC)5 E F2(f)
-2.25 E F1(is equi)2.5 E -.25(va)-.25 G(lent to).25 E F2(Meta\255f)2.5 E
-F1(.)A F2(undo \(C\255_, C\255x C\255u\))108 693.6 Q F1
-(Incremental undo, separately remembered for each line.)144 705.6 Q
-(GNU Readline 8.3)72 768 Q(2024 March 29)128.74 E(12)193.45 E 0 Cg EP
-%%Page: 13 13
+2.5 E(wercase.)-.25 E F2(pr)108 645.6 Q(e\214x\255meta \(ESC\))-.18 E F1
+(Metafy the ne)144 657.6 Q(xt character typed.)-.15 E/F3 9/Times-Bold@0
+SF(ESC)5 E F2(f)2.25 E F1(is equi)2.5 E -.25(va)-.25 G(lent to).25 E F2
+(Meta\255f)2.5 E F1(.)A F2(undo \(C\255_, C\255x C\255u\))108 669.6 Q F1
+(Incremental undo, separately remembered for each line.)144 681.6 Q F2
+-2.29 -.18(re v)108 693.6 T(ert\255line \(M\255r\)).08 E F1 .23
+(Undo all changes made to this line.)144 705.6 R .231(This is lik)5.23 F
+2.731(ee)-.1 G -.15(xe)-2.881 G .231(cuting the).15 F F2(undo)2.731 E F1
+.231(command enough times to re-)2.731 F
+(turn the line to its initial state.)144 717.6 Q(GNU Readline 8.3)72 768
+Q(2024 October 10)125.685 E(13)190.395 E 0 Cg EP
+%%Page: 14 14
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Italic@0 SF(READLINE)72.63 48 Q/F1 10/Times-Roman@0 SF
 118.765(\(3\) Library).73 F(Functions Manual)2.5 E F0(READLINE)121.895 E
-F1(\(3\)).73 E/F2 10/Times-Bold@0 SF -2.29 -.18(re v)108 84 T
-(ert\255line \(M\255r\)).08 E F1 .23
-(Undo all changes made to this line.)144 96 R .231(This is lik)5.23 F
-2.731(ee)-.1 G -.15(xe)-2.881 G .231(cuting the).15 F F2(undo)2.731 E F1
-.231(command enough times to re-)2.731 F
-(turn the line to its initial state.)144 108 Q F2
-(tilde\255expand \(M\255&\))108 120 Q F1(Perform tilde e)144 132 Q
-(xpansion on the current w)-.15 E(ord.)-.1 E F2
-(set\255mark \(C\255@, M\255<space>\))108 144 Q F1
-(Set the mark to the point.)144 156 Q(If a numeric ar)5 E
-(gument is supplied, the mark is set to that position.)-.18 E F2
-(exchange\255point\255and\255mark \(C\255x C\255x\))108 168 Q F1(Sw)144
-180 Q .283(ap the point with the mark.)-.1 F .283
-(The current cursor position is set to the sa)5.283 F -.15(ve)-.2 G
-2.782(dp).15 G .282(osition, and the old)-2.782 F(cursor position is sa)
-144 192 Q -.15(ve)-.2 G 2.5(da).15 G 2.5(st)-2.5 G(he mark.)-2.5 E F2
-(character\255sear)108 204 Q(ch \(C\255]\))-.18 E F1 3.111(Ac)144 216 S
-.611(haracter is read and point is mo)-3.111 F -.15(ve)-.15 G 3.112(dt)
-.15 G 3.112(ot)-3.112 G .612(he ne)-3.112 F .612
-(xt occurrence of that character)-.15 F 5.612(.A)-.55 G(ne)-2.5 E -.05
-(ga)-.15 G(ti).05 E .912 -.15(ve a)-.25 H -.18(rg).15 G(u-).18 E
-(ment searches for pre)144 228 Q(vious occurrences.)-.25 E F2
-(character\255sear)108 240 Q(ch\255backward \(M\255C\255]\))-.18 E F1
-2.695(Ac)144 252 S .194(haracter is read and point is mo)-2.695 F -.15
-(ve)-.15 G 2.694(dt).15 G 2.694(ot)-2.694 G .194(he pre)-2.694 F .194
-(vious occurrence of that character)-.25 F 5.194(.A)-.55 G(ne)-2.5 E
--.05(ga)-.15 G(ti).05 E .494 -.15(ve a)-.25 H -.2(r-).15 G
-(gument searches for subsequent occurrences.)144 264 Q F2
-(skip\255csi\255sequence)108 276 Q F1 1.826
-(Read enough characters to consume a multi-k)144 288 R 2.126 -.15(ey s)
+F1(\(3\)).73 E/F2 10/Times-Bold@0 SF(tilde\255expand \(M\255~\))108 84 Q
+F1(Perform tilde e)144 96 Q(xpansion on the current w)-.15 E(ord.)-.1 E
+F2(set\255mark \(C\255@, M\255<space>\))108 108 Q F1
+(Set the mark to the point.)144 120 Q(If a numeric ar)5 E
+(gument is supplied, set the mark to that position.)-.18 E F2
+(exchange\255point\255and\255mark \(C\255x C\255x\))108 132 Q F1(Sw)144
+144 Q .872(ap the point with the mark.)-.1 F .871
+(Set the current cursor position to the sa)5.871 F -.15(ve)-.2 G 3.371
+(dp).15 G .871(osition, then set the)-3.371 F
+(mark to the old cursor position.)144 156 Q F2(character\255sear)108 168
+Q(ch \(C\255]\))-.18 E F1 1.1(Read a character and mo)144 180 R 1.4 -.15
+(ve p)-.15 H 1.101(oint to the ne).15 F 1.101
+(xt occurrence of that character)-.15 F 6.101(.A)-.55 G(ne)-2.5 E -.05
+(ga)-.15 G(ti).05 E 1.401 -.15(ve a)-.25 H -.18(rg).15 G(ument).18 E
+(searches for pre)144 192 Q(vious occurrences.)-.25 E F2
+(character\255sear)108 204 Q(ch\255backward \(M\255C\255]\))-.18 E F1
+1.071(Read a character and mo)144 216 R 1.371 -.15(ve p)-.15 H 1.071
+(oint to the pre).15 F 1.071(vious occurrence of that character)-.25 F
+6.07(.A)-.55 G(ne)-2.5 E -.05(ga)-.15 G(ti).05 E 1.37 -.15(ve a)-.25 H
+-.18(rg).15 G(u-).18 E(ment searches for subsequent occurrences.)144 228
+Q F2(skip\255csi\255sequence)108 240 Q F1 1.826
+(Read enough characters to consume a multi-k)144 252 R 2.126 -.15(ey s)
 -.1 H 1.827(equence such as those de\214ned for k).15 F -.15(ey)-.1 G
-4.327(sl).15 G(ik)-4.327 E(e)-.1 E .791(Home and End.)144 300 R .791
-(Such sequences be)5.791 F .791
+4.327(sl).15 G(ik)-4.327 E(e)-.1 E .219(Home and End.)144 264 R .219
+(CSI sequences be)5.219 F .218
 (gin with a Control Sequence Indicator \(CSI\), usually ESC\255[.)-.15 F
-.286(If this sequence is bound to \231\\[\232, k)144 312 R -.15(ey)-.1 G
-2.786(sp).15 G .286(roducing such sequences will ha)-2.786 F .587 -.15
-(ve n)-.2 H 2.787(oe).15 G -.25(ff)-2.787 G .287(ect unless e).25 F
-(xplic-)-.15 E .026(itly bound to a readline command, instead of insert\
-ing stray characters into the editing b)144 324 R(uf)-.2 E(fer)-.25 E
-5.026(.T)-.55 G(his)-5.026 E(is unbound by def)144 336 Q(ault, b)-.1 E
-(ut usually bound to ESC\255[.)-.2 E F2(insert\255comment \(M\255#\))108
-348 Q F1 -.4(Wi)144 360 S .48(thout a numeric ar).4 F .48(gument, the v)
--.18 F .481(alue of the readline)-.25 F F2(comment\255begin)2.981 E F1
--.25(va)2.981 G .481(riable is inserted at the).25 F(be)144 372 Q .245
-(ginning of the current line.)-.15 F .245(If a numeric ar)5.245 F .244
-(gument is supplied, this command acts as a toggle: if)-.18 F .321
-(the characters at the be)144 384 R .321
-(ginning of the line do not match the v)-.15 F .321(alue of)-.25 F F2
-(comment\255begin)2.821 E F1 2.822(,t)C .322(he v)-2.822 F .322(alue is)
--.25 F 1.014(inserted, otherwise the characters in)144 396 R F2
-(comment-begin)3.514 E F1 1.014(are deleted from the be)3.514 F 1.013
-(ginning of the line.)-.15 F 1.468
-(In either case, the line is accepted as if a ne)144 408 R 1.468
-(wline had been typed.)-.25 F 1.469(The def)6.469 F 1.469(ault v)-.1 F
-1.469(alue of)-.25 F F2(com-)3.969 E(ment\255begin)144 420 Q F1(mak)
-2.983 E .483(es the current line a shell comment.)-.1 F .483
-(If a numeric ar)5.483 F .482(gument causes the comment)-.18 F
-(character to be remo)144 432 Q -.15(ve)-.15 G(d, the line will be e).15
-E -.15(xe)-.15 G(cuted by the shell.).15 E F2(dump\255functions)108 444
-Q F1 .626(Print all of the functions and their k)144 456 R .926 -.15
-(ey b)-.1 H .627(indings to the readline output stream.).15 F .627
-(If a numeric ar)5.627 F(gu-)-.18 E
-(ment is supplied, the output is formatted in such a w)144 468 Q
+(If)5.218 E .137(this sequence is bound to \231\\e[\232, k)144 276 R
+-.15(ey)-.1 G 2.637(sp).15 G .137(roducing CSI sequences will ha)-2.637
+F .438 -.15(ve n)-.2 H 2.638(oe).15 G -.25(ff)-2.638 G .138
+(ect unless e).25 F(xplicitly)-.15 E .297(bound to a)144 288 R F2 -.18
+(re)2.797 G(adline).18 E F1 .297
+(command, instead of inserting stray characters into the editing b)2.797
+F(uf)-.2 E(fer)-.25 E 5.296(.T)-.55 G .296(his is)-5.296 F
+(unbound by def)144 300 Q(ault, b)-.1 E(ut usually bound to ESC\255[.)
+-.2 E F2(insert\255comment \(M\255#\))108 312 Q F1 -.4(Wi)144 324 S .532
+(thout a numeric ar).4 F .533(gument, insert the v)-.18 F .533
+(alue of the)-.25 F F2 -.18(re)3.033 G .533(adline comment\255begin).18
+F F1 -.25(va)3.033 G .533(riable at the be-).25 F .792
+(ginning of the current line.)144 336 R .791(If a numeric ar)5.791 F
+.791(gument is supplied, this command acts as a toggle: if)-.18 F .863
+(the characters at the be)144 348 R .864
+(ginning of the line do not match the v)-.15 F .864(alue of)-.25 F F2
+(comment\255begin)3.364 E F1 3.364(,i)C .864(nsert the)-3.364 F -.25(va)
+144 360 S .305(lue; otherwise delete the characters in).25 F F2
+(comment-begin)2.804 E F1 .304(from the be)2.804 F .304
+(ginning of the line.)-.15 F .304(In either)5.304 F .947
+(case, the line is accepted as if a ne)144 372 R .948
+(wline had been typed.)-.25 F .948(The def)5.948 F .948(ault v)-.1 F
+.948(alue of)-.25 F F2(comment\255begin)3.448 E F1 .363
+(causes this command to mak)144 384 R 2.863(et)-.1 G .363
+(he current line a shell comment.)-2.863 F .362(If a numeric ar)5.362 F
+.362(gument causes the)-.18 F(comment character to be remo)144 396 Q
+-.15(ve)-.15 G(d, the line will be e).15 E -.15(xe)-.15 G
+(cuted by the shell.).15 E F2(dump\255functions)108 408 Q F1 .473
+(Print all of the functions and their k)144 420 R .773 -.15(ey b)-.1 H
+.473(indings to the).15 F F2 -.18(re)2.973 G(adline).18 E F1 .473
+(output stream.)2.973 F .473(If a numeric ar)5.473 F(gu-)-.18 E
+(ment is supplied, the output is formatted in such a w)144 432 Q
 (ay that it can be made part of an)-.1 E F0(inputr)2.5 E(c)-.37 E F1
-(\214le.)2.5 E F2(dump\255v)108 480 Q(ariables)-.1 E F1 .283
-(Print all of the settable v)144 492 R .283(ariables and their v)-.25 F
-.283(alues to the readline output stream.)-.25 F .283(If a numeric ar)
-5.283 F(gu-)-.18 E
-(ment is supplied, the output is formatted in such a w)144 504 Q
+(\214le.)2.5 E F2(dump\255v)108 444 Q(ariables)-.1 E F1 .13
+(Print all of the settable v)144 456 R .13(ariables and their v)-.25 F
+.129(alues to the)-.25 F F2 -.18(re)2.629 G(adline).18 E F1 .129
+(output stream.)2.629 F .129(If a numeric ar)5.129 F(gu-)-.18 E
+(ment is supplied, the output is formatted in such a w)144 468 Q
 (ay that it can be made part of an)-.1 E F0(inputr)2.5 E(c)-.37 E F1
-(\214le.)2.5 E F2(dump\255macr)108 516 Q(os)-.18 E F1 .592
-(Print all of the readline k)144 528 R .892 -.15(ey s)-.1 H .592
-(equences bound to macros and the strings the).15 F 3.093(yo)-.15 G
-3.093(utput. If)-3.093 F 3.093(an)3.093 G(umeric)-3.093 E(ar)144 540 Q
-.528(gument is supplied, the output is formatted in such a w)-.18 F .528
-(ay that it can be made part of an)-.1 F F0(inputr)3.027 E(c)-.37 E F1
-(\214le.)144 552 Q F2(emacs\255editing\255mode \(C\255e\))108 564 Q F1
-(When in)144 576 Q F2(vi)2.5 E F1(command mode, this causes a switch to)
-2.5 E F2(emacs)2.5 E F1(editing mode.)2.5 E F2
-(vi\255editing\255mode \(M\255C\255j\))108 588 Q F1(When in)144 600 Q F2
-(emacs)2.5 E F1(editing mode, this causes a switch to)2.5 E F2(vi)2.5 E
-F1(editing mode.)2.5 E/F3 10.95/Times-Bold@0 SF(DEF)72 616.8 Q -.548(AU)
+(\214le.)2.5 E F2(dump\255macr)108 480 Q(os)-.18 E F1 .088
+(Print all of the)144 492 R F2 -.18(re)2.589 G(adline).18 E F1 -.1(ke)
+2.589 G 2.589(ys)-.05 G .089
+(equences bound to macros and the strings the)-2.589 F 2.589(yo)-.15 G
+.089(utput to the)-2.589 F F2 -.18(re)2.589 G(adline).18 E F1 .244
+(output stream.)144 504 R .244(If a numeric ar)5.244 F .243
+(gument is supplied, the output is formatted in such a w)-.18 F .243
+(ay that it can)-.1 F(be made part of an)144 516 Q F0(inputr)2.5 E(c)
+-.37 E F1(\214le.)2.5 E F2(execute\255named\255command \(M-x\))108 528 Q
+F1 1.083(Read a bindable)144 540 R F2 -.18(re)3.583 G(adline).18 E F1
+1.083(command name from the input and e)3.583 F -.15(xe)-.15 G 1.084
+(cute the function to which it').15 F(s)-.55 E .279(bound, as if the k)
+144 552 R .579 -.15(ey s)-.1 H .279(equence to which it w).15 F .278
+(as bound appeared in the input.)-.1 F .278(If this function is sup-)
+5.278 F(plied with a numeric ar)144 564 Q(gument, it passes that ar)-.18
+E(gument to the function it e)-.18 E -.15(xe)-.15 G(cutes.).15 E F2
+(emacs\255editing\255mode \(C\255e\))108 576 Q F1(When in)144 588 Q F2
+(vi)2.5 E F1(command mode, this switches)2.5 E F2 -.18(re)2.5 G(adline)
+.18 E F1(to)2.5 E F2(emacs)2.5 E F1(editing mode.)2.5 E F2
+(vi\255editing\255mode \(M\255C\255j\))108 600 Q F1(When in)144 612 Q F2
+(emacs)2.5 E F1(editing mode, this switches to)2.5 E F2(vi)2.5 E F1
+(editing mode.)2.5 E/F3 10.95/Times-Bold@0 SF(DEF)72 628.8 Q -.548(AU)
 -.986 G 2.014 -1.007(LT K).548 H(EY BINDINGS)1.007 E F1 .064(The follo)
-108 628.8 R .064(wing is a list of the def)-.25 F .064
+108 640.8 R .064(wing is a list of the def)-.25 F .064
 (ault emacs and vi bindings.)-.1 F .065
 (Characters with the eighth bit set are written as)5.065 F .527
-(M\255<character>, and are referred to as)108 640.8 R F0(meta\214ed)
+(M\255<character>, and are referred to as)108 652.8 R F0(meta\214ed)
 3.407 E F1 3.027(characters. The)3.797 F .527
 (printable ASCII characters not mentioned)3.027 F 1.115
-(in the list of emacs standard bindings are bound to the)108 652.8 R F2
+(in the list of emacs standard bindings are bound to the)108 664.8 R F2
 (self\255insert)3.615 E F1 1.116(function, which just inserts the gi)
 3.615 F -.15(ve)-.25 G(n).15 E .945(character into the input line.)108
-664.8 R .945(In vi insertion mode, all characters not speci\214cally me\
-ntioned are bound to)5.945 F F2(self\255insert)108 676.8 Q F1 5.337(.C)C
+676.8 R .945(In vi insertion mode, all characters not speci\214cally me\
+ntioned are bound to)5.945 F F2(self\255insert)108 688.8 Q F1 5.337(.C)C
 .337(haracters assigned to signal generation by)-5.337 F F0(stty)3.177 E
 F1 .338(\(1\) or the terminal dri).32 F -.15(ve)-.25 G 1.138 -.4(r, s)
-.15 H .338(uch as C-Z or C-C,).4 F .188(retain that function.)108 688.8
+.15 H .338(uch as C-Z or C-C,).4 F .188(retain that function.)108 700.8
 R .188(Upper and lo)5.188 F .188(wer case meta\214ed characters are bou\
-nd to the same function in the emacs)-.25 F .304(mode meta k)108 700.8 R
--.15(ey)-.1 G 2.804(map. The).15 F .305(remaining characters are unboun\
-d, which causes readline to ring the bell \(subject)2.804 F
-(to the setting of the)108 712.8 Q F2(bell\255style)2.5 E F1 -.25(va)2.5
-G(riable\).).25 E(GNU Readline 8.3)72 768 Q(2024 March 29)128.74 E(13)
-193.45 E 0 Cg EP
-%%Page: 14 14
+nd to the same function in the emacs)-.25 F .13(mode meta k)108 712.8 R
+-.15(ey)-.1 G 2.63(map. The).15 F .131
+(remaining characters are unbound, which causes)2.63 F F2 -.18(re)2.631
+G(adline).18 E F1 .131(to ring the bell \(subject)2.631 F
+(to the setting of the)108 724.8 Q F2(bell\255style)2.5 E F1 -.25(va)2.5
+G(riable\).).25 E(GNU Readline 8.3)72 768 Q(2024 October 10)125.685 E
+(14)190.395 E 0 Cg EP
+%%Page: 15 15
 %%BeginPageSetup
 BP
 %%EndPageSetup
@@ -1695,8 +1882,8 @@ R 3.333("")151.2 412.8 S(to "/")-.833 E(self-insert)5 E 2.5("0" to)151.2
 ("M-1" digit-ar)151.2 686.4 R(gument)-.18 E 2.5("M-2" digit-ar)151.2
 698.4 R(gument)-.18 E 2.5("M-3" digit-ar)151.2 710.4 R(gument)-.18 E 2.5
 ("M-4" digit-ar)151.2 722.4 R(gument)-.18 E(GNU Readline 8.3)72 768 Q
-(2024 March 29)128.74 E(14)193.45 E 0 Cg EP
-%%Page: 15 15
+(2024 October 10)125.685 E(15)190.395 E 0 Cg EP
+%%Page: 16 16
 %%BeginPageSetup
 BP
 %%EndPageSetup
@@ -1716,124 +1903,125 @@ F1(\(3\)).73 E 2.5("M-5" digit-ar)151.2 84 R(gument)-.18 E 2.5
 ("M-P" non-incremental-re)151.2 264 R -.15(ve)-.25 G(rse-search-history)
 .15 E 2.5("M-R" re)151.2 276 R -.15(ve)-.25 G(rt-line).15 E 2.5
 ("M-T" transpose-w)151.2 288 R(ords)-.1 E 2.5("M-U" upcase-w)151.2 300 R
-(ord)-.1 E 2.5("M-Y" yank-pop)151.2 312 R 2.5
-("M-\\" delete-horizontal-space)151.2 324 R 2.5("M-\001" tilde-e)151.2
-336 R(xpand)-.15 E 2.5("M-C-?" backw)151.2 348 R(ard-kill-w)-.1 E(ord)
--.1 E 2.5("M-_" yank-last-ar)151.2 360 R(g)-.18 E
-(Emacs Control-X bindings)151.2 376.8 Q 2.5("C-XC-G" abort)151.2 393.6 R
-2.5("C-XC-R" re-read-init-\214le)151.2 405.6 R 2.5("C-XC-U" undo)151.2
-417.6 R 2.5("C-XC-X" e)151.2 429.6 R(xchange-point-and-mark)-.15 E 2.5
-("C-X\(" start-kbd-macro)151.2 441.6 R 2.5("C-X\)" end-kbd-macro)151.2
-453.6 R 2.5("C-XE" call-last-kbd-macro)151.2 465.6 R 2.5("C-XC-?" backw)
-151.2 477.6 R(ard-kill-line)-.1 E/F2 10/Times-Bold@0 SF
-(VI Mode bindings)87 494.4 Q F1(VI Insert Mode functions)151.2 506.4 Q
-2.5("C-D" vi-eof-maybe)151.2 523.2 R 2.5("C-H" backw)151.2 535.2 R
-(ard-delete-char)-.1 E 2.5("C-I" complete)151.2 547.2 R 2.5
-("C-J" accept-line)151.2 559.2 R 2.5("C-M" accept-line)151.2 571.2 R 2.5
-("C-N" menu-complete)151.2 583.2 R 2.5("C-P" menu-complete-backw)151.2
-595.2 R(ard)-.1 E 2.5("C-R" re)151.2 607.2 R -.15(ve)-.25 G
-(rse-search-history).15 E 2.5("C-S" forw)151.2 619.2 R
-(ard-search-history)-.1 E 2.5("C-T" transpose-chars)151.2 631.2 R 2.5
-("C-U" unix-line-discard)151.2 643.2 R 2.5("C-V" quoted-insert)151.2
-655.2 R 2.5("C-W" vi-unix-w)151.2 667.2 R(ord-rubout)-.1 E 2.5
-("C-Y" yank)151.2 679.2 R 2.5("C-[" vi-mo)151.2 691.2 R -.15(ve)-.15 G
-(ment-mode).15 E 2.5("C-_" vi-undo)151.2 703.2 R 3.333("")151.2 715.2 S
-(to "\001")-.833 E(self-insert)5 E 2.5("C-?" backw)151.2 727.2 R
-(ard-delete-char)-.1 E(GNU Readline 8.3)72 768 Q(2024 March 29)128.74 E
-(15)193.45 E 0 Cg EP
-%%Page: 16 16
+(ord)-.1 E 2.5("M-X" e)151.2 312 R -.15(xe)-.15 G(cute-named-command).15
+E 2.5("M-Y" yank-pop)151.2 324 R 2.5("M-\\" delete-horizontal-space)
+151.2 336 R 2.5("M-\001" tilde-e)151.2 348 R(xpand)-.15 E 2.5
+("M-C-?" backw)151.2 360 R(ard-kill-w)-.1 E(ord)-.1 E 2.5
+("M-_" yank-last-ar)151.2 372 R(g)-.18 E(Emacs Control-X bindings)151.2
+388.8 Q 2.5("C-XC-G" abort)151.2 405.6 R 2.5
+("C-XC-R" re-read-init-\214le)151.2 417.6 R 2.5("C-XC-U" undo)151.2
+429.6 R 2.5("C-XC-X" e)151.2 441.6 R(xchange-point-and-mark)-.15 E 2.5
+("C-X\(" start-kbd-macro)151.2 453.6 R 2.5("C-X\)" end-kbd-macro)151.2
+465.6 R 2.5("C-XE" call-last-kbd-macro)151.2 477.6 R 2.5("C-XC-?" backw)
+151.2 489.6 R(ard-kill-line)-.1 E/F2 10/Times-Bold@0 SF
+(VI Mode bindings)87 506.4 Q F1(VI Insert Mode functions)151.2 518.4 Q
+2.5("C-D" vi-eof-maybe)151.2 535.2 R 2.5("C-H" backw)151.2 547.2 R
+(ard-delete-char)-.1 E 2.5("C-I" complete)151.2 559.2 R 2.5
+("C-J" accept-line)151.2 571.2 R 2.5("C-M" accept-line)151.2 583.2 R 2.5
+("C-N" menu-complete)151.2 595.2 R 2.5("C-P" menu-complete-backw)151.2
+607.2 R(ard)-.1 E 2.5("C-R" re)151.2 619.2 R -.15(ve)-.25 G
+(rse-search-history).15 E 2.5("C-S" forw)151.2 631.2 R
+(ard-search-history)-.1 E 2.5("C-T" transpose-chars)151.2 643.2 R 2.5
+("C-U" unix-line-discard)151.2 655.2 R 2.5("C-V" quoted-insert)151.2
+667.2 R 2.5("C-W" vi-unix-w)151.2 679.2 R(ord-rubout)-.1 E 2.5
+("C-Y" yank)151.2 691.2 R 2.5("C-[" vi-mo)151.2 703.2 R -.15(ve)-.15 G
+(ment-mode).15 E 2.5("C-_" vi-undo)151.2 715.2 R 3.333("")151.2 727.2 S
+(to "\001")-.833 E(self-insert)5 E(GNU Readline 8.3)72 768 Q
+(2024 October 10)125.685 E(16)190.395 E 0 Cg EP
+%%Page: 17 17
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Italic@0 SF(READLINE)72.63 48 Q/F1 10/Times-Roman@0 SF
 118.765(\(3\) Library).73 F(Functions Manual)2.5 E F0(READLINE)121.895 E
-F1(\(3\)).73 E(VI Command Mode functions)151.2 84 Q 2.5
-("C-D" vi-eof-maybe)151.2 100.8 R 2.5("C-E" emacs-editing-mode)151.2
-112.8 R 2.5("C-G" abort)151.2 124.8 R 2.5("C-H" backw)151.2 136.8 R
-(ard-char)-.1 E 2.5("C-J" accept-line)151.2 148.8 R 2.5("C-K" kill-line)
-151.2 160.8 R 2.5("C-L" clear)151.2 172.8 R(-screen)-.2 E 2.5
-("C-M" accept-line)151.2 184.8 R 2.5("C-N" ne)151.2 196.8 R(xt-history)
--.15 E 2.5("C-P" pre)151.2 208.8 R(vious-history)-.25 E 2.5
-("C-Q" quoted-insert)151.2 220.8 R 2.5("C-R" re)151.2 232.8 R -.15(ve)
--.25 G(rse-search-history).15 E 2.5("C-S" forw)151.2 244.8 R
-(ard-search-history)-.1 E 2.5("C-T" transpose-chars)151.2 256.8 R 2.5
-("C-U" unix-line-discard)151.2 268.8 R 2.5("C-V" quoted-insert)151.2
-280.8 R 2.5("C-W" vi-unix-w)151.2 292.8 R(ord-rubout)-.1 E 2.5
-("C-Y" yank)151.2 304.8 R 2.5("C-_" vi-undo)151.2 316.8 R -4.166 3.333
-("" f)151.2 328.8 T(orw)-3.333 E(ard-char)-.1 E 2.5("#" insert-comment)
-151.2 340.8 R 2.5("$" end-of-line)151.2 352.8 R 2.5("%" vi-match)151.2
-364.8 R 2.5("&" vi-tilde-e)151.2 376.8 R(xpand)-.15 E 2.5
-("*" vi-complete)151.2 388.8 R 2.5("+" ne)151.2 400.8 R(xt-history)-.15
-E 2.5("," vi-char)151.2 412.8 R(-search)-.2 E 2.5("-" pre)151.2 424.8 R
-(vious-history)-.25 E 2.5("." vi-redo)151.2 436.8 R 2.5("/" vi-search)
-151.2 448.8 R 2.5("0" be)151.2 460.8 R(ginning-of-line)-.15 E
-("1" to "9")151.2 472.8 Q(vi-ar)5 E(g-digit)-.18 E 2.5(";" vi-char)151.2
-484.8 R(-search)-.2 E 2.5("=" vi-complete)151.2 496.8 R 2.5
-("?" vi-search)151.2 508.8 R 2.5("A" vi-append-eol)151.2 520.8 R 2.5
-("B" vi-pre)151.2 532.8 R(v-w)-.25 E(ord)-.1 E 2.5("C" vi-change-to)
-151.2 544.8 R 2.5("D" vi-delete-to)151.2 556.8 R 2.5("E" vi-end-w)151.2
-568.8 R(ord)-.1 E 2.5("F" vi-char)151.2 580.8 R(-search)-.2 E 2.5
-("G" vi-fetch-history)151.2 592.8 R 2.5("I" vi-insert-be)151.2 604.8 R
-(g)-.15 E 2.5("N" vi-search-ag)151.2 616.8 R(ain)-.05 E 2.5("P" vi-put)
-151.2 628.8 R 2.5("R" vi-replace)151.2 640.8 R 2.5("S" vi-subst)151.2
-652.8 R 2.5("T" vi-char)151.2 664.8 R(-search)-.2 E 2.5("U" re)151.2
-676.8 R -.15(ve)-.25 G(rt-line).15 E 2.5("W" vi-ne)151.2 688.8 R(xt-w)
--.15 E(ord)-.1 E 2.5("X" vi-rubout)151.2 700.8 R 2.5("Y" vi-yank-to)
-151.2 712.8 R 2.5("\\" vi-complete)151.2 724.8 R(GNU Readline 8.3)72 768
-Q(2024 March 29)128.74 E(16)193.45 E 0 Cg EP
-%%Page: 17 17
+F1(\(3\)).73 E 2.5("C-?" backw)151.2 84 R(ard-delete-char)-.1 E
+(VI Command Mode functions)151.2 100.8 Q 2.5("C-D" vi-eof-maybe)151.2
+117.6 R 2.5("C-E" emacs-editing-mode)151.2 129.6 R 2.5("C-G" abort)151.2
+141.6 R 2.5("C-H" backw)151.2 153.6 R(ard-char)-.1 E 2.5
+("C-J" accept-line)151.2 165.6 R 2.5("C-K" kill-line)151.2 177.6 R 2.5
+("C-L" clear)151.2 189.6 R(-screen)-.2 E 2.5("C-M" accept-line)151.2
+201.6 R 2.5("C-N" ne)151.2 213.6 R(xt-history)-.15 E 2.5("C-P" pre)151.2
+225.6 R(vious-history)-.25 E 2.5("C-Q" quoted-insert)151.2 237.6 R 2.5
+("C-R" re)151.2 249.6 R -.15(ve)-.25 G(rse-search-history).15 E 2.5
+("C-S" forw)151.2 261.6 R(ard-search-history)-.1 E 2.5
+("C-T" transpose-chars)151.2 273.6 R 2.5("C-U" unix-line-discard)151.2
+285.6 R 2.5("C-V" quoted-insert)151.2 297.6 R 2.5("C-W" vi-unix-w)151.2
+309.6 R(ord-rubout)-.1 E 2.5("C-Y" yank)151.2 321.6 R 2.5("C-_" vi-undo)
+151.2 333.6 R -4.166 3.333("" f)151.2 345.6 T(orw)-3.333 E(ard-char)-.1
+E 2.5("#" insert-comment)151.2 357.6 R 2.5("$" end-of-line)151.2 369.6 R
+2.5("%" vi-match)151.2 381.6 R 2.5("&" vi-tilde-e)151.2 393.6 R(xpand)
+-.15 E 2.5("*" vi-complete)151.2 405.6 R 2.5("+" ne)151.2 417.6 R
+(xt-history)-.15 E 2.5("," vi-char)151.2 429.6 R(-search)-.2 E 2.5
+("-" pre)151.2 441.6 R(vious-history)-.25 E 2.5("." vi-redo)151.2 453.6
+R 2.5("/" vi-search)151.2 465.6 R 2.5("0" be)151.2 477.6 R
+(ginning-of-line)-.15 E("1" to "9")151.2 489.6 Q(vi-ar)5 E(g-digit)-.18
+E 2.5(";" vi-char)151.2 501.6 R(-search)-.2 E 2.5("=" vi-complete)151.2
+513.6 R 2.5("?" vi-search)151.2 525.6 R 2.5("A" vi-append-eol)151.2
+537.6 R 2.5("B" vi-pre)151.2 549.6 R(v-w)-.25 E(ord)-.1 E 2.5
+("C" vi-change-to)151.2 561.6 R 2.5("D" vi-delete-to)151.2 573.6 R 2.5
+("E" vi-end-w)151.2 585.6 R(ord)-.1 E 2.5("F" vi-char)151.2 597.6 R
+(-search)-.2 E 2.5("G" vi-fetch-history)151.2 609.6 R 2.5
+("I" vi-insert-be)151.2 621.6 R(g)-.15 E 2.5("N" vi-search-ag)151.2
+633.6 R(ain)-.05 E 2.5("P" vi-put)151.2 645.6 R 2.5("R" vi-replace)151.2
+657.6 R 2.5("S" vi-subst)151.2 669.6 R 2.5("T" vi-char)151.2 681.6 R
+(-search)-.2 E 2.5("U" re)151.2 693.6 R -.15(ve)-.25 G(rt-line).15 E 2.5
+("W" vi-ne)151.2 705.6 R(xt-w)-.15 E(ord)-.1 E 2.5("X" vi-rubout)151.2
+717.6 R 2.5("Y" vi-yank-to)151.2 729.6 R(GNU Readline 8.3)72 768 Q
+(2024 October 10)125.685 E(17)190.395 E 0 Cg EP
+%%Page: 18 18
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Italic@0 SF(READLINE)72.63 48 Q/F1 10/Times-Roman@0 SF
 118.765(\(3\) Library).73 F(Functions Manual)2.5 E F0(READLINE)121.895 E
-F1(\(3\)).73 E 2.5("\000" vi-\214rst-print)151.2 84 R 2.5
-("_" vi-yank-ar)151.2 96 R(g)-.18 E 2.5("`" vi-goto-mark)151.2 108 R 2.5
-("a" vi-append-mode)151.2 120 R 2.5("b" vi-pre)151.2 132 R(v-w)-.25 E
-(ord)-.1 E 2.5("c" vi-change-to)151.2 144 R 2.5("d" vi-delete-to)151.2
-156 R 2.5("e" vi-end-w)151.2 168 R(ord)-.1 E 2.5("f" vi-char)151.2 180 R
-(-search)-.2 E 2.5("h" backw)151.2 192 R(ard-char)-.1 E 2.5
-("i" vi-insertion-mode)151.2 204 R 2.5("j" ne)151.2 216 R(xt-history)
--.15 E 2.5("k" pre)151.2 228 R(vious-history)-.25 E 2.5("l" forw)151.2
-240 R(ard-char)-.1 E 2.5("m" vi-set-mark)151.2 252 R 2.5
-("n" vi-search-ag)151.2 264 R(ain)-.05 E 2.5("p" vi-put)151.2 276 R 2.5
-("r" vi-change-char)151.2 288 R 2.5("s" vi-subst)151.2 300 R 2.5
-("t" vi-char)151.2 312 R(-search)-.2 E 2.5("u" vi-undo)151.2 324 R 2.5
-("w" vi-ne)151.2 336 R(xt-w)-.15 E(ord)-.1 E 2.5("x" vi-delete)151.2 348
-R 2.5("y" vi-yank-to)151.2 360 R 2.5("|" vi-column)151.2 372 R 2.5
-("\001" vi-change-case)151.2 384 R/F2 10.95/Times-Bold@0 SF(SEE ALSO)72
-400.8 Q F0(The Gnu Readline Libr)108 412.8 Q(ary)-.15 E F1 2.5(,B)C
-(rian F)-2.5 E(ox and Chet Rame)-.15 E(y)-.15 E F0(The Gnu History Libr)
-108 424.8 Q(ary)-.15 E F1 2.5(,B)C(rian F)-2.5 E(ox and Chet Rame)-.15 E
-(y)-.15 E F0(bash)108 436.8 Q F1(\(1\))A F2(FILES)72 453.6 Q F0
-(\001/.inputr)109.666 465.6 Q(c)-.37 E F1(Indi)144 477.6 Q(vidual)-.25 E
-/F3 10/Times-Bold@0 SF -.18(re)2.5 G(adline).18 E F1
-(initialization \214le)2.5 E F2 -.548(AU)72 494.4 S(THORS).548 E F1
-(Brian F)108 506.4 Q(ox, Free Softw)-.15 E(are F)-.1 E(oundation)-.15 E
-(bfox@gnu.or)108 518.4 Q(g)-.18 E(Chet Rame)108 535.2 Q 1.3 -.65(y, C)
--.15 H(ase W).65 E(estern Reserv)-.8 E 2.5(eU)-.15 G(ni)-2.5 E -.15(ve)
--.25 G(rsity).15 E(chet.rame)108 547.2 Q(y@case.edu)-.15 E F2 -.11(BU)72
-564 S 2.738(GR).11 G(EPOR)-2.738 E(TS)-.438 E F1 .691(If you \214nd a b)
-108 576 R .691(ug in)-.2 F F3 -.18(re)3.191 G(adline,).18 E F1 .691
-(you should report it.)3.191 F .69(But \214rst, you should mak)5.69 F
-3.19(es)-.1 G .69(ure that it really is a b)-3.19 F(ug,)-.2 E
-(and that it appears in the latest v)108 588 Q(ersion of the)-.15 E F3
+F1(\(3\)).73 E 2.5("\\" vi-complete)151.2 84 R 2.5
+("\000" vi-\214rst-print)151.2 96 R 2.5("_" vi-yank-ar)151.2 108 R(g)
+-.18 E 2.5("`" vi-goto-mark)151.2 120 R 2.5("a" vi-append-mode)151.2 132
+R 2.5("b" vi-pre)151.2 144 R(v-w)-.25 E(ord)-.1 E 2.5("c" vi-change-to)
+151.2 156 R 2.5("d" vi-delete-to)151.2 168 R 2.5("e" vi-end-w)151.2 180
+R(ord)-.1 E 2.5("f" vi-char)151.2 192 R(-search)-.2 E 2.5("h" backw)
+151.2 204 R(ard-char)-.1 E 2.5("i" vi-insertion-mode)151.2 216 R 2.5
+("j" ne)151.2 228 R(xt-history)-.15 E 2.5("k" pre)151.2 240 R
+(vious-history)-.25 E 2.5("l" forw)151.2 252 R(ard-char)-.1 E 2.5
+("m" vi-set-mark)151.2 264 R 2.5("n" vi-search-ag)151.2 276 R(ain)-.05 E
+2.5("p" vi-put)151.2 288 R 2.5("r" vi-change-char)151.2 300 R 2.5
+("s" vi-subst)151.2 312 R 2.5("t" vi-char)151.2 324 R(-search)-.2 E 2.5
+("u" vi-undo)151.2 336 R 2.5("w" vi-ne)151.2 348 R(xt-w)-.15 E(ord)-.1 E
+2.5("x" vi-delete)151.2 360 R 2.5("y" vi-yank-to)151.2 372 R 2.5
+("|" vi-column)151.2 384 R 2.5("\001" vi-change-case)151.2 396 R/F2
+10.95/Times-Bold@0 SF(SEE ALSO)72 412.8 Q F0(The Gnu Readline Libr)108
+424.8 Q(ary)-.15 E F1 2.5(,B)C(rian F)-2.5 E(ox and Chet Rame)-.15 E(y)
+-.15 E F0(The Gnu History Libr)108 436.8 Q(ary)-.15 E F1 2.5(,B)C
+(rian F)-2.5 E(ox and Chet Rame)-.15 E(y)-.15 E F0(bash)108 448.8 Q F1
+(\(1\))A F2(FILES)72 465.6 Q F0(\001/.inputr)109.666 477.6 Q(c)-.37 E F1
+(Indi)144 489.6 Q(vidual)-.25 E/F3 10/Times-Bold@0 SF -.18(re)2.5 G
+(adline).18 E F1(initialization \214le)2.5 E F2 -.548(AU)72 506.4 S
+(THORS).548 E F1(Brian F)108 518.4 Q(ox, Free Softw)-.15 E(are F)-.1 E
+(oundation)-.15 E(bfox@gnu.or)108 530.4 Q(g)-.18 E(Chet Rame)108 547.2 Q
+1.3 -.65(y, C)-.15 H(ase W).65 E(estern Reserv)-.8 E 2.5(eU)-.15 G(ni)
+-2.5 E -.15(ve)-.25 G(rsity).15 E(chet.rame)108 559.2 Q(y@case.edu)-.15
+E F2 -.11(BU)72 576 S 2.738(GR).11 G(EPOR)-2.738 E(TS)-.438 E F1 .691
+(If you \214nd a b)108 588 R .691(ug in)-.2 F F3 -.18(re)3.191 G(adline)
+.18 E F1 3.191(,y)C .691(ou should report it.)-3.191 F .69
+(But \214rst, you should mak)5.69 F 3.19(es)-.1 G .69
+(ure that it really is a b)-3.19 F(ug,)-.2 E
+(and that it appears in the latest v)108 600 Q(ersion of the)-.15 E F3
 -.18(re)2.5 G(adline).18 E F1(library that you ha)2.5 E -.15(ve)-.2 G(.)
-.15 E .704(Once you ha)108 604.8 R 1.004 -.15(ve d)-.2 H .704
+.15 E .704(Once you ha)108 616.8 R 1.004 -.15(ve d)-.2 H .704
 (etermined that a b).15 F .704(ug actually e)-.2 F .704(xists, mail a b)
 -.15 F .705(ug report to)-.2 F F0 -.2(bu)3.205 G(g\255r).2 E(eadline)
 -.37 E F1(@)A F0(gnu.or)A(g)-.37 E F1 5.705(.I)C 3.205(fy)-5.705 G(ou)
--3.205 E(ha)108 616.8 Q 1.81 -.15(ve a \214)-.2 H 1.51
+-3.205 E(ha)108 628.8 Q 1.81 -.15(ve a \214)-.2 H 1.51
 (x, you are welcome to mail that as well!).15 F 1.509
 (Suggestions and `philosophical' b)6.509 F 1.509(ug reports may be)-.2 F
-(mailed to)108 628.8 Q F0 -.2(bu)2.5 G(g-r).2 E(eadline)-.37 E F1(@)A F0
+(mailed to)108 640.8 Q F0 -.2(bu)2.5 G(g-r).2 E(eadline)-.37 E F1(@)A F0
 (gnu.or)A(g)-.37 E F1(or posted to the Usenet ne)2.5 E(wsgroup)-.25 E F3
-(gnu.bash.b)2.5 E(ug)-.2 E F1(.)A(Comments and b)108 645.6 Q
+(gnu.bash.b)2.5 E(ug)-.2 E F1(.)A(Comments and b)108 657.6 Q
 (ug reports concerning this manual page should be directed to)-.2 E F0
 -.15(ch)2.5 G(et.r).15 E(ame)-.15 E(y@case)-.3 E(.edu)-.15 E F1(.).25 E
-F2 -.11(BU)72 662.4 S(GS).11 E F1(It')108 674.4 Q 2.5(st)-.55 G
+F2 -.11(BU)72 674.4 S(GS).11 E F1(It')108 686.4 Q 2.5(st)-.55 G
 (oo big and too slo)-2.5 E -.65(w.)-.25 G(GNU Readline 8.3)72 768 Q
-(2024 March 29)128.74 E(17)193.45 E 0 Cg EP
+(2024 October 10)125.685 E(18)190.395 E 0 Cg EP
 %%Trailer
 end
 %%EOF
index d046b87d1fbdfa5bcfe15cd8f64979104b56cadb..d016c76259a71b724c8cde16c9cb33fdf1a980c6 100644 (file)
@@ -13,7 +13,7 @@ This manual describes the GNU Readline Library
 consistency of user interface across discrete programs which provide
 a command line interface.
 
-Copyright @copyright{} 1988--2022 Free Software Foundation, Inc.
+Copyright @copyright{} 1988--2024 Free Software Foundation, Inc.
 
 @quotation
 Permission is granted to copy, distribute and/or modify this document
index 2218916bf0d0cb2906490d2167337c7f58a1873a..dadca6a6ddff31cbcd221ca100b49db57fa3c842 100644 (file)
@@ -7,7 +7,7 @@ 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--2023 Free Software Foundation, Inc.
+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
@@ -57,10 +57,11 @@ in your own programs, this section is for you.
 @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
+@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()}.
+@code{fgets()}.
 
 @findex readline
 @cindex readline, function
@@ -70,8 +71,9 @@ 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 @var{prompt} is @code{NULL} or the empty string, no prompt is displayed.
-The line @code{readline} returns is allocated with @code{malloc()};
+If @var{prompt} is @code{NULL} or the empty string,
+@code{readline()} does not display a prompt.
+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
 
@@ -88,13 +90,16 @@ So, one might say
 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 @code{readline} encounters an @code{EOF} while reading the line, and the
-line is empty at that point, then @code{(char *)NULL} is returned.
+If Readline encounters an @code{EOF} while reading the line,
+and the line is empty at that point,
+then @code{readline()} returns @code{(char *)NULL}.
 Otherwise, the line is ended just as if a newline had been typed.
 
 Readline performs some expansion on the @var{prompt} before it is
-displayed on the screen.  See the description of @code{rl_expand_prompt}
+displayed on the screen.
+See the description of @code{rl_expand_prompt}
 (@pxref{Redisplay}) for additional details, especially if @var{prompt}
 will contain characters that do not consume physical screen space when
 displayed.
@@ -111,8 +116,8 @@ line away in a @dfn{history} list of such lines.
 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
+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
@@ -145,8 +150,9 @@ rl_gets ()
 @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
+completion: filename completion.
+If you do not want Readline to
+complete filenames, you can change the binding of the @key{TAB} key
 with @code{rl_bind_key()}.
 
 @example
@@ -155,8 +161,8 @@ with @code{rl_bind_key()}.
 
 @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.
+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).
 
@@ -175,21 +181,25 @@ custom completers (@pxref{Custom Completers}).
 
 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
+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 @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}.
+in any file that uses Readline's features.
+Since some of the definitions
+in @code{readline.h} use the @code{stdio} library, the program
+should include the file @code{<stdio.h>}
+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
+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. 
@@ -245,6 +255,8 @@ The full list of function pointer types available is
 
 @item typedef void rl_compdisp_func_t (char **, int, int);
 
+@item typedef void rl_macro_print_func_t (const char *, const char *, int, const char *);
+
 @item typedef int rl_hook_func_t (void);
 
 @item typedef int rl_getc_func_t (FILE *);
@@ -263,6 +275,9 @@ The full list of function pointer types available is
 
 @end table
 
+@noindent
+The @file{rltypedefs.h} file has more documentation for these types.
+
 @node Function Writing
 @subsection Writing a New Function
 
@@ -281,10 +296,12 @@ 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
+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
+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
@@ -292,8 +309,8 @@ 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.
+All of the builtin Readline bindable command functions
+obey this convention.
 
 @node Readline Variables
 @section Readline Variables
@@ -301,9 +318,10 @@ command functions.
 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
+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} will increase
 the memory allocated to @code{rl_line_buffer}.
 @end deftypevar
 
@@ -313,14 +331,16 @@ The offset of the current cursor position in @code{rl_line_buffer}
 @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.
+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}.
+The @var{mark} (saved position) in the current line.
+If set, the mark and point define a @emph{region}.
+Some Readline commands set the mark as part of operating;
+users can also set the mark explicitly.
 @end deftypevar
 
 @deftypevar int rl_done
@@ -331,8 +351,9 @@ to @code{accept-line} and is about to return the line to the caller.
 @end deftypevar
 
 @deftypevar int rl_eof_found
-Readline will set this variable when it has read an EOF character (e.g., the
-stty @samp{EOF} character) on an empty line or encountered a read error and
+Readline will set this variable when it has read an EOF character
+(e.g., the stty @samp{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.
 @end deftypevar
 
@@ -343,32 +364,37 @@ 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.
+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
+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.
+the only character on an otherwise-empty line.
+This moves the cursor 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
+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()}.
+Readline performs some prompt expansions and analyzes the prompt for
+line breaks, so @code{rl_set_prompt()} is preferred.
 @end deftypevar
 
 @deftypevar {char *} rl_display_prompt
-The string displayed as the prompt.  This is usually identical to
+The string displayed as the prompt.
+This is usually identical to
 @var{rl_prompt}, but may be changed temporarily by functions that
 use the prompt string as a message area, such as incremental search.
 @end deftypevar
@@ -384,13 +410,15 @@ never sets it.
 @end deftypevar
 
 @deftypevar {const char *} rl_library_version
-The version number of this revision of the library.
+The version number of this revision of the Readline library, as a string
+(e.g., "4.2").
 @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.
+@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
@@ -401,9 +429,12 @@ emulation.
 @end deftypevar
 
 @deftypevar {const char *} rl_terminal_name
-The terminal type, used for initialization.  If not set by the application,
+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.
+Readline uses this to look up the terminal capabilities it needs in
+the terminfo database.
 @end deftypevar
 
 @deftypevar {const char *} rl_readline_name
@@ -429,19 +460,19 @@ from the kernel when computing the screen dimensions.
 @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.
+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.
 @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.
+before 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}
+the first prompt has been printed and just before Readline
 starts reading input characters.
 @end deftypevar
 
@@ -454,16 +485,16 @@ is no keyboard input.
 
 @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}).
+to get a character from the input stream.
+By default, it is set to @code{rl_getc}, the Readline character
+input function (@pxref{Character Input}).
 In general, an application that sets @var{rl_getc_function} should consider
 setting @var{rl_input_available_hook} as well.
 @end deftypevar
 
 @deftypevar {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 when Readline is reading terminal input.
+call is interrupted by a signal when Readline is reading terminal input.
 @end deftypevar
 
 @deftypevar {rl_hook_func_t *} rl_timeout_event_hook
@@ -504,7 +535,8 @@ redisplay function (@pxref{Redisplay}).
 
 @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
+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}).
@@ -512,8 +544,8 @@ By default, this is set to @code{rl_prep_terminal}
 
 @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}.
+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
@@ -557,8 +589,10 @@ The number of characters in @var{rl_executing_keyseq}.
 @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:
+@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
@@ -595,7 +629,7 @@ 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.
+Readline is currently executing the Readline signal handler.
 @item RL_STATE_UNDOING
 Readline is performing an undo.
 @item RL_STATE_INPUTPENDING
@@ -621,26 +655,29 @@ characters before the timeout duration specified by @code{rl_set_timeout}
 elapsed) and is returning that status to the caller.
 @item RL_STATE_EOF
 Readline has read an EOF character (e.g., the stty @samp{EOF} character)
-or encountered a read error and is about to return a NULL line to the caller.
+or encountered a read error or EOF
+and is about to return a NULL 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.
+the user.
+It is 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.
+before executing the current Readline function.
+It is 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.
+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.
+This determines the current keymap and key bindings.
 @end deftypevar
 
 @node Readline Convenience Functions
@@ -667,23 +704,28 @@ means that vi mode is active.
 @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
+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,
+using 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:
+@emph{descriptively} named @code{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:
 
 @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
+Add @var{name} to the list of named functions.
+Make @var{function} be the function that gets called by key sequences
+that bind to @var{name}.
+If @var{key} is not -1, then bind it to
 @var{function} using @code{rl_bind_key()}.
 @end deftypefun
 
@@ -696,13 +738,15 @@ 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
+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
+Returns a new, empty keymap.
+The space for the keymap is allocated with
 @code{malloc()}; the caller should free it by calling
 @code{rl_free_keymap()} when done.
 @end deftypefun
@@ -723,8 +767,9 @@ The caller should free @var{keymap}.
 @end deftypefun
 
 @deftypefun void rl_free_keymap (Keymap keymap)
-Free all storage associated with @var{keymap}.  This calls
-@code{rl_discard_keymap} to free subordindate keymaps and macros.
+Free all storage associated with @var{keymap}.
+This calls @code{rl_discard_keymap} to free subordindate
+keymaps and macros.
 @end deftypefun
 
 @deftypefun int rl_empty_keymap (Keymap keymap)
@@ -732,8 +777,9 @@ Return non-zero if there are no keys bound to functions in @var{keymap};
 zero if there are any keys bound.
 @end deftypefun
 
-Readline has several internal keymaps.  These functions allow you to
-change which keymap is active.
+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.
 
 @deftypefun Keymap rl_get_keymap (void)
 Returns the currently active keymap.
@@ -744,17 +790,20 @@ 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}).
+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}).
+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
 
 @deftypefun int rl_set_keymap_name (const char *name, Keymap keymap)
-Set the name of @var{keymap}.  This name will then be "registered" and
+Set the name of @var{keymap}.
+This name will then be "registered" and
 available for use in a @code{set keymap} inputrc directive
 @pxref{Readline Init File}).
 The @var{name} may not be one of Readline's builtin keymap names;
@@ -774,7 +823,7 @@ builtin keymaps.
 @node Binding Keys
 @subsection Binding Keys
 
-Key sequences are associate with functions through the keymap.
+Key sequences are associated 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}.
@@ -784,7 +833,8 @@ 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
+An alternate mechanism that can avoid this
+is to install custom key bindings in an
 initialization function assigned to the @code{rl_startup_hook} variable
 (@pxref{Readline Variables}).
 
@@ -815,11 +865,13 @@ already bound.
 
 @deftypefun int rl_unbind_key (int key)
 Bind @var{key} to the null function in the currently active keymap.
+This is not the same as binding it to @code{self-insert}.
 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}.
+This is not the same as binding it to @code{self-insert}.
 Returns non-zero in case of error.
 @end deftypefun
 
@@ -840,7 +892,8 @@ The return value is non-zero if @var{keyseq} is invalid.
 
 @deftypefun int rl_bind_keyseq_in_map (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.
+@var{function} in @var{map}.
+This makes new keymaps as necessary.
 Initial bindings are performed in @var{map}.
 The return value is non-zero if @var{keyseq} is invalid.
 @end deftypefun
@@ -864,10 +917,14 @@ already bound.
 
 @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}.
+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}.
+Returns non-zero in the case of an invalid @var{keyseq}, zero otherwise.
 @end deftypefun
 
 @deftypefun int rl_parse_and_bind (char *line)
@@ -885,28 +942,31 @@ Read keybindings and variable assignments from @var{filename}
 @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.
+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}.
+@var{name} is a descriptive name users might use in a key binding.
 @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}).
-It takes a "translated" key sequence and should not be used if the key sequence
-can include NUL.
+If @var{map} is @code{NULL}, this uses the current keymap.
+If @var{type} is not @code{NULL}, this returns the type of the object
+in the @code{int} variable it points to
+(one of @code{ISFUNC}, @code{ISKMAP}, or @code{ISMACR}).
+It takes a "translated" key sequence and should not be used
+if the key sequence can include NUL.
 @end deftypefun
 
 @deftypefun {rl_command_func_t *} rl_function_of_keyseq_len (const char *keyseq, size_t len, Keymap map, int *type)
 Return the function invoked by @var{keyseq} of length @var{len}
-in keymap @var{map}. Equivalent to @code{rl_function_of_keyseq} with the
-addition of the @var{len} parameter.
-It takes a "translated" key sequence and should be used if the key sequence
-can include NUL.
+in keymap @var{map}.
+Equivalent to @code{rl_function_of_keyseq} with the addition
+of the @var{len} parameter.
+It takes a "translated" key sequence and should be used
+if the key sequence can include NUL.
 @end deftypefun
 
 @deftypefun {int} rl_trim_arg_from_keyseq (const char *keyseq, size_t len, Keymap map)
@@ -914,7 +974,7 @@ If there is a numeric argument at the beginning of @var{keyseq}, possibly
 including digits, return the index of the first character in @var{keyseq}
 following the numeric argument.
 This can be used to skip over the numeric argument (which is available as
-@code{rl_numeric_arg} while traversing the key sequence that invoked the
+@code{rl_numeric_arg}) while traversing the key sequence that invoked the
 current command.
 @end deftypefun
 
@@ -934,7 +994,7 @@ keymap @var{map}.
 If @var{map} is NULL, this uses the current keymap.
 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.
+@code{inputrc} file and re-read to recreate the key binding.
 @end deftypefun
 
 @deftypefun void rl_function_dumper (int readable)
@@ -950,61 +1010,67 @@ 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 free the array, but not the pointers, using @code{free} or
-@code{rl_free} when you are done.
+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 @code{free}
+or @code{rl_free} when you are done.
 @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.
+This returns the index of the newly-added @var{name} in the array of
+function names.
 @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.
+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 @code{rl_insert_text()} or @code{rl_delete_text()} to do it, then
-undoing is already done for you automatically.
+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 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 @code{rl_begin_undo_group()} and
 @code{rl_end_undo_group()}.
 
-The types of events that can be undone are:
+The types of events Readline can undo 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()}.
+@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()};
+they are how Readline delimits groups of commands that should be
+undone together.
 
 @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
+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()}
+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}.
+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)
@@ -1012,19 +1078,21 @@ 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.
+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.
+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.
 
 @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.
+single undo unit.
+It is assumed that you will subsequently modify that text.
 @end deftypefun
 
 @node Redisplay
@@ -1079,16 +1147,17 @@ redisplay.
 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.
+The resulting string is displayed in the @dfn{echo area}.
+The echo area is also used to display numeric arguments and search strings.
 You should call @code{rl_save_prompt} to save the prompt information
 before calling this function.
 @end deftypefun
 
 @deftypefun int rl_clear_message (void)
-Clear the message in the echo area.  If the prompt was saved with a call to
+Clear the message in the echo area.
+If the prompt was saved with a call to
 @code{rl_save_prompt} before the last call to @code{rl_message},
-call @code{rl_restore_prompt} before calling this function.
+you must call @code{rl_restore_prompt} before calling this function.
 @end deftypefun
 
 @deftypefun void rl_save_prompt (void)
@@ -1099,17 +1168,19 @@ displaying a new message in the message area with @code{rl_message()}.
 @deftypefun void rl_restore_prompt (void)
 Restore the local Readline prompt display state saved by the most
 recent call to @code{rl_save_prompt}.
-if @code{rl_save_prompt} was called to save the prompt before a call
-to @code{rl_message}, this function should be called before the
+if you called @code{rl_save_prompt} to save the prompt before a call
+to @code{rl_message}, you should call this function before the
 corresponding call to @code{rl_clear_message}.
 @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.
+This function is called by @code{readline()}.
+It may also be called to
+expand the primary prompt if the application uses the
+@code{rl_on_new_line_with_prompt()} function or
+@code{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
@@ -1118,12 +1189,14 @@ such characters with the special markers @code{RL_PROMPT_START_IGNORE}
 and @code{RL_PROMPT_END_IGNORE} (declared in @file{readline.h} as
 @samp{\001} and @samp{\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.
 @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.
+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
@@ -1147,16 +1220,24 @@ the current line.
 @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.
+last command was a kill command.
+This deletes the text from the line.
+If @var{start} is less than @var{end}, the text is appended,
+otherwise it is prepended.
+If the last command was not a kill, this uses a new kill ring slot.
 @end deftypefun
 
+@deftypefun void rl_replace_line (const char *text, int clear_undo)
+Replace the contents of @code{rl_line_buffer} with @var{text}.
+This preserves the point and mark, if possible.
+If @var{clear_undo} is non-zero, this clears the undo list associated
+with the current line.
+@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.
+Insert @var{macro} 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
@@ -1177,38 +1258,43 @@ 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.
+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()}.
+Applications can push back up to 512 characters.
 @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}.
+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()}.
+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}.  @var{u} must be greater than or equal
+assigned to @code{rl_event_hook}.
+@var{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.
 @end deftypefun
 
 @deftypefun int rl_set_timeout (unsigned int secs, unsigned int usecs)
-Set a timeout for subsequent calls to @code{readline()}. If Readline does
-not read a complete line, or the number of characters specified by
-@code{rl_num_chars_to_read}, before the duration specified by @var{secs}
-(in seconds) and @var{usecs} (microseconds), it returns and sets
+Set a timeout for subsequent calls to @code{readline()}.
+If Readline does not read a complete line, or the number of characters
+specified by @code{rl_num_chars_to_read},
+before the duration specified by @var{secs} (in seconds)
+and @var{usecs} (microseconds), it returns and sets
 @code{RL_STATE_TIMEOUT} in @code{rl_readline_state}.
 Passing 0 for @code{secs} and @code{usecs} cancels any previously set
 timeout; the convenience macro @code{rl_clear_timeout()} is shorthand
@@ -1233,7 +1319,8 @@ the return value indicates whether the timeout has expired.
 
 @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.
+can read a single character at a time from the keyboard
+and perform redisplay.
 The @var{meta_flag} argument should be non-zero if Readline should
 read eight-bit input.
 @end deftypefun
@@ -1254,62 +1341,57 @@ The bindings are performed in @var{kmap}.
 Reset the bindings manipulated by @code{rl_tty_set_default_bindings} so
 that the terminal editing characters are bound to @code{rl_insert}.
 The bindings are performed in @var{kmap}.
-@end deftypefun
+@end deftypefun 
 
 @deftypefun int rl_tty_set_echoing (int value)
-Set Readline's idea of whether or not it is echoing output to its output
-stream (@var{rl_outstream}).  If @var{value} is 0, Readline does not display
-output to @var{rl_outstream}; any other value enables output.  The initial
-value is set when Readline initializes the terminal settings.
+Set Readline's idea of whether or not it is
+echoing output to its output stream (@var{rl_outstream}).
+If @var{value} is 0,
+Readline does not display output to @var{rl_outstream}; any other
+value enables output.
+The initial value is set when Readline initializes the terminal settings.
 This function returns the previous value.
-@end deftypefun
+@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.
+@var{terminal_name} as the terminal type (e.g., @code{xterm}).
+If @var{terminal_name} is @code{NULL}, Readline uses the value of the
+@code{TERM} environment variable.
 @end deftypefun
 
 @node Utility Functions
-@subsection Utility Functions
+@subsection Utility Functions 
 
 @deftypefun int rl_save_state (struct readline_state *sp)
 Save a snapshot of Readline's internal state to @var{sp}.
-The contents of the @var{readline_state} structure are documented
-in @file{readline.h}.
+The contents of the @var{readline_state} structure are
+documented in @file{readline.h}.
 The caller is responsible for allocating the structure.
-@end deftypefun
+@end deftypefun 
 
 @deftypefun int rl_restore_state (struct readline_state *sp)
-Restore Readline's internal state to that stored in @var{sp}, which must
-have been saved by a call to @code{rl_save_state}.
-The contents of the @var{readline_state} structure are documented
-in @file{readline.h}.
-The caller is responsible for freeing the structure.
-@end deftypefun
+Restore Readline's internal state to that stored in @var{sp},
+which must have been saved by a call to @code{rl_save_state}. 
+The contents of the @var{readline_state} structure are documented in
+@file{readline.h}.
+The caller is responsible for freeing the structure. 
+@end deftypefun 
 
 @deftypefun void rl_free (void *mem)
-Deallocate the memory pointed to by @var{mem}.  @var{mem} must have been
-allocated by @code{malloc}.
-@end deftypefun
-
-@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
+Deallocate the memory pointed to by @var{mem}.
+@var{mem} must have been allocated by @code{malloc}.
+@end deftypefun 
 
 @deftypefun void 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.
+characters, 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.
+It's not strictly necessary to call this;
+@code{readline()} calls it before reading any input.
 @end deftypefun
 
 @deftypefun int rl_ding (void)
@@ -1322,12 +1404,13 @@ Return 1 if @var{c} is an alphabetic character.
 
 @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.
+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}).
+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}).
 When displaying completions, this function sets the number of columns used
 for display to the value of @code{completion-display-width}, the value of
 the environment variable @env{COLUMNS}, or the screen width, in that order.
@@ -1367,9 +1450,9 @@ If @var{c} is a number, return the value it represents.
 
 @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.
+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)
@@ -1385,7 +1468,8 @@ that it can be made part of an @code{inputrc} file and re-read.
 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}).
+file (@pxref{Readline Init File Syntax})
+or by @code{rl_parse_and_bind}.
 @end deftypefun
 
 @deftypefun {char *} rl_variable_value (const char *variable)
@@ -1409,9 +1493,10 @@ a balancing character when @code{blink-matching-paren} has been enabled.
 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.
+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.
 @end deftypefun
 
 @deftypefun {void} rl_reparse_colors (void)
@@ -1426,15 +1511,17 @@ Readline saves in the history list.
 @end deftypefun
 
 @deftypefun {void} rl_activate_mark (void)
-Enable an @emph{active} mark.
+Enable an @emph{active} region.
 When this is enabled, the text between point and mark (the @var{region}) is
-displayed in the terminal's standout mode (a @var{face}).
+displayed using the color specified by the value of the
+@code{active-region-start-color} variable (a @var{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.
 @end deftypefun
 
 @deftypefun {void} rl_deactivate_mark (void)
-Turn off the active mark.
+Turn off the active region.
 @end deftypefun
 
 @deftypefun {void} rl_keep_mark_active (void)
@@ -1451,16 +1538,20 @@ Return a non-zero value if the mark is currently active; zero otherwise.
 @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 accommodate 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)
+For applications that need more granular control than
+plain @code{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 @code{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.
+
+@deftypefun void rl_callback_handler_install (const char *prompt, rl_vcpfunc_t *line_handler)
 Set up the terminal for Readline I/O and display the initial
-expanded value of @var{prompt}.  Save the value of @var{lhandler} to
+expanded value of @var{prompt}.
+Save the value of @var{line_handler} 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.
@@ -1473,43 +1564,46 @@ 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 installed by
+invoke the @var{line_handler} function installed 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
+Before calling the @var{line_handler} function, Readline resets
+the terminal settings to the values they had before calling
 @code{rl_callback_handler_install}.
-If the @var{lhandler} function returns,
+If the @var{line_handler} function returns,
 and the line handler remains installed,
-the terminal settings are modified for Readline's use again.
-@code{EOF} is indicated by calling @var{lhandler} with a
+Readline modifies the terminal settings for its use again.
+@code{EOF} is indicated by calling @var{line_handler} with a
 @code{NULL} line.
 @end deftypefun
 
 @deftypefun 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.
+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.
 @end deftypefun
 
 @deftypefun 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 @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.
+If the @var{line_handler} installed by @code{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 @code{rl_deprep_term_function}
+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
+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
@@ -1518,7 +1612,7 @@ int
 invert_case_line (count, key)
      int count, key;
 @{
-  register int start, end, i;
+  int start, end, i;
 
   start = rl_point;
 
@@ -1695,20 +1789,22 @@ main (int c, char **v)
 @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 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 application writers with
-functions to do so manually. 
+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 (@code{SIGINT}, @code{SIGQUIT}, @code{SIGTERM},
 @code{SIGHUP}, 
 @code{SIGALRM}, @code{SIGTSTP}, @code{SIGTTIN}, and @code{SIGTTOU}).
-When one of these signals is received, the signal handler
+When Readline receives one of these signals, 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
@@ -1721,22 +1817,24 @@ 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. 
+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.
+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.
 
 When an application is using the callback interface
 (@pxref{Alternate Interface}), Readline installs signal handlers only for
-the duration of the call to @code{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.
+the duration of the call to @code{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
@@ -1747,18 +1845,21 @@ 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 @code{rl_callback_read_char}.  This
-can result in an application becoming less responsive to keyboard signals
-like SIGINT.
+to them) until the application calls @code{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 @code{rl_callback_read_char},
-setting this variable may be desirable.
+does not need to do any processing
+between calls to @code{rl_callback_read_char},
+setting this variable may be appropriate.
 
 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.
+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
@@ -1788,7 +1889,7 @@ The default value of @code{rl_persistent_signal_handlers} is 0.
 If this variable is set to a non-zero value,
 and Readline is handling @code{SIGWINCH}, Readline will modify the
 @var{LINES} and @var{COLUMNS} environment variables upon receipt of a
-@code{SIGWINCH}
+@code{SIGWINCH}.
 
 The default value of @code{rl_change_environment} is 1.
 @end deftypevar
@@ -1814,10 +1915,10 @@ all signals, depending on the values of @code{rl_catch_signals} and
 @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.
+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)
@@ -1829,19 +1930,21 @@ handlers, depending on the values of @code{rl_catch_signals} and
 If an application wants to force Readline to handle any signals that
 have arrived while it has been executing, @code{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
+signals.
+This is primarily intended for those applications that use
 a custom @code{rl_getc_function} (@pxref{Readline Variables}) and wish
 to handle signals received while waiting for input.
 
 @deftypefun void rl_check_signals (void)
-If there are any pending signals, call Readline's internal signal handling
-functions to process them. @code{rl_pending_signal()} can be used independently
+If there are any pending signals, call Readline's internal signal
+handling functions to process them.
+@code{rl_pending_signal()} can be used independently
 to determine whether or not there are any pending signals.
 @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 it receives
+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 it receives
 a @code{SIGWINCH}.
 
 @deftypefun void rl_echo_signal_char (int sig)
@@ -1857,8 +1960,9 @@ Update Readline's internal screen size by reading values from the kernel.
 
 @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.  If either @var{rows} or @var{columns} is less than
-or equal to 0, Readline's idea of that terminal dimension is unchanged.
+@var{cols} columns.
+If either @var{rows} or @var{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.
@@ -1896,7 +2000,8 @@ Remove all of the Readline signal handlers installed by
 @cindex application-specific completion functions
 
 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
+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.
@@ -1912,21 +2017,25 @@ cooperate to provide this service.
 @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
+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
+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
+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}.
+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
@@ -1942,16 +2051,19 @@ The caller should place the address of its generator function in
 
 @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{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 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
+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
+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.
 Such a generator function is referred to as an
@@ -1960,20 +2072,21 @@ Such a generator function is referred to as an
 @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.
+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.
+@code{NULL} then Readline uses the default filename generator
+function, @code{rl_filename_completion_function()}.
 An @dfn{application-specific completion function} is a function whose
 address is assigned to @code{rl_completion_entry_function} and whose
-return values are used to  generate possible completions.
+return values are used to generate possible completions.
 @end deftypevar
 
 @node Completion Functions
@@ -1983,34 +2096,37 @@ 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.  @samp{@@} is similar to @samp{!}, but
-possible completions are not listed if the possible completions share
-a common prefix.
+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.
+@samp{@@} is similar to @samp{!}, but does not list possible completions
+if the possible completions share a common prefix.
 @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
+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{?}.
+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()}.
+partially-completed word.
+See description of @code{rl_complete()}.
 This calls @code{rl_complete_internal()} with an argument of @samp{*}.
 @end deftypefun
 
@@ -2024,16 +2140,17 @@ 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}.
+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
+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
 
@@ -2046,10 +2163,11 @@ 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.
+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
@@ -2068,8 +2186,8 @@ The function is called with @var{text}, @var{start}, and @var{end}.
 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.
+@code{rl_completion_entry_function} to generate matches, otherwise
+completion will use the array of strings this function returns.
 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.
@@ -2077,55 +2195,66 @@ completion even if this function returns no matches.
 
 @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.
+application-specific fashion.
+Readline calls this function during filename completion
+if 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 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.
 @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
+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 @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.
+that delimits the filename (usually @samp{'} or @samp{"}).
+If @var{quote_char} is zero, the filename was not in a quoted 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
+mechanism the application 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
+Readline calls this function, if defined, when 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.
+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
+must free each element it deletes from the array.
 @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.
+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 old value should be freed.
+If the function replaces the string with a new string, it
+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.
@@ -2140,11 +2269,14 @@ The function should not modify the directory argument if it returns 0.
 
 @deftypevar {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 @code{rl_directory_completion_hook},
-it only modifies the directory name used in @code{opendir}, not what is
-displayed when the possible completions are printed or inserted.  It is
-called before rl_directory_completion_hook.
+a directory name.
+This function takes the address of the directory name
+to be modified as an argument.
+Unlike @code{rl_directory_completion_hook},
+it only modifies the directory name used in @code{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 @code{opendir()}.
@@ -2157,8 +2289,9 @@ The function should not modify the directory argument if it returns 0.
 @deftypevar {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 the modified value
-is passed to @code{stat()} to determine the file's type and characteristics.
+This function modifies its filename name argument, and Readline passes
+the modified value to @code{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
@@ -2167,28 +2300,36 @@ The function should not modify the directory argument if it returns 0.
 @end deftypevar
 
 @deftypevar {rl_dequote_func_t *} rl_filename_rewrite_hook
-If non-zero, this is the address of a function called when reading
+If non-zero, this is the address of a function
+for Readline to call when reading
 directory entries from the filesystem for completion and comparing
-them to the filename portion of the partial word to be completed
-(after its potential modification by @code{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: @var{fname}, the filename to be converted,
+them to the filename portion of the partial word being completed.
+It modifies the filesystem entries,
+as opposed to @code{rl_completion_rewrite_hook},
+which modifies the word being completed.
+The function takes two arguments:
+@var{fname}, the filename to be converted,
 and @var{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.
+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 filesystem format to a character input format.
+Readline compares the converted form against the word to be completed,
+and, if it matches, adds it to the list of matches.
+Readline will free the allocated string.
 @end deftypevar
 
 @deftypevar {rl_dequote_func_t *} rl_completion_rewrite_hook
-If non-zero, this is the address of a function to call before
+If non-zero, this is the address of a function
+for Readline to call before
 comparing the filename portion of a word to be completed with directory
 entries from the filesystem.
-The function takes two arguments: @var{fname}, the filename to be converted,
+It modifies the word being completed,
+as opposed to @code{rl_filename_rewrite_hook},
+which modifies filesystem entries.
+The function takes two arguments:
+@var{fname}, the word to be converted,
 after any @code{rl_filename_dequoting_function} has been applied,
 and @var{fnlen}, its length in bytes.
 It must either return its first argument (if no conversion takes place)
@@ -2197,15 +2338,15 @@ 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 @code{rl_filename_rewrite_hook}, and adds
-any matches to the list of matches.
+their potential modification by @code{rl_filename_rewrite_hook},
+and adds any matches to the list of matches.
 Readline will free the allocated string.
 @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.
+Readline calls this function instead of displaying the list itself.
 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,
@@ -2218,40 +2359,48 @@ You may call that function from this hook.
 
 @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
+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.
+The default value includes single and double quotes.
 @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_complete_internal()}.
+These characters determine how Readline decides what to complete.
+The default list is the value of
 @code{rl_basic_word_break_characters}.
 @end deftypevar
 
 @deftypevar {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 @code{rl_completer_word_break_characters} to be
-used to perform the current completion.  The function may choose to set
-@code{rl_completer_word_break_characters} itself.  If the function
-returns @code{NULL}, @code{rl_completer_word_break_characters} is used.
+deciding where to separate words for word completion.
+It should return a character string like
+@code{rl_completer_word_break_characters} to be
+used to perform the current completion.
+The function may choose to set
+@code{rl_completer_word_break_characters} itself.
+If the function returns @code{NULL}, Readline uses
+@code{rl_completer_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
+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.
+A list of characters that cause Readline to quote a filename
+when they appear in a completed filename.
+The default is the null string.
 @end deftypevar
 
 @deftypevar {const char *} rl_special_prefixes
@@ -2263,100 +2412,111 @@ 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, Readline asks the user for
-confirmation before displaying them.
-The default value is 100.  A negative value 
+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.
 @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
+line, Readline appends this character 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 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 any application-specific completion function
-is called, and may only be changed within such a function.
+It is set to the default before calling any application-specific completion
+function, and may only be changed within such a function.
 @end deftypevar
 
 @deftypevar int rl_completion_suppress_append
-If non-zero, @var{rl_completion_append_character} is not appended to
+If non-zero, Readline will not append the
+@var{rl_completion_append_character} 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, and may only be changed within such a function.
-@end deftypevar
-
-@deftypevar int rl_completion_quote_character
-When Readline is completing quoted text, as delimited by one of the
-characters in @var{rl_completer_quote_characters}, it sets this variable
-to the quoting character found.
-This is set before any application-specific completion function is called.
+It is set to 0 before calling any application-specific completion function,
+and may only be changed within such a function.
 @end deftypevar
 
 @deftypevar 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 any application-specific completion function
-is called, and may only be changed within such a function.
+It is set to 0 before calling any application-specific completion function,
+and may only be changed within such a function.
 @end deftypevar
 
 @deftypevar 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 any application-specific completion function is called.
+This is set before calling any application-specific completion function.
+@end deftypevar
+
+@deftypevar int rl_completion_quote_character
+When Readline is completing quoted text, as delimited by one of the
+characters in @var{rl_completer_quote_characters}, it sets this variable
+to the quoting character it found.
+This is set before calling any application-specific completion function.
 @end deftypevar
 
 @deftypevar int rl_completion_mark_symlink_dirs
-If non-zero, a slash will be appended to completed filenames that are
+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 @var{mark-directories} variable.
 This variable exists so that application-specific 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-specific completion function is called, so unless that
-function modifies the value, the user's preferences are honored.
+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.
 @end deftypevar
 
 @deftypevar int rl_ignore_completion_duplicates
-If non-zero, then duplicates in the matches are removed.
+If non-zero, then Readline removes duplicates in the set of possible
+completions.
 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 when completion is attempted,
+A non-zero value means that Readline should treat the results of the
+matches as filenames.
+This is @emph{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
+within an application-specific completion function.
+If it is set to a
+non-zero value by such a function, Readline
+appends a slash to directory names
+and 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
-when completion is attempted, and can only be changed within an
+A non-zero value means that Readline should quote the results of the 
+matches 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 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
+The quoting is performed via a call to the function pointed to
 by @code{rl_filename_quoting_function}.
 @end deftypevar
 
 @deftypevar int rl_full_quoting_desired
-Non-zero means that Readline should apply filename-style quoting,
+A non-zero value 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
+to all completion matches even if it is not otherwise treating the
 matches as filenames.
-This is @emph{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
+This is @emph{always} 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 @code{rl_filename_quoting_function}.
 @end deftypevar
 
@@ -2371,41 +2531,47 @@ It should be set only by an application's completion function.
 @deftypevar 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
+completions).
+The default value is 1, which means that Readline will
 sort the completions and, depending on the value of
-@code{rl_ignore_completion_duplicates}, will attempt to remove duplicate
-matches.
+@code{rl_ignore_completion_duplicates}, will attempt to remove
+duplicate matches.
 @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.
-This is set to the appropriate value before any application-specific
-completion function is called, allowing such functions to present
+This is set to the appropriate value before calling
+any application-specific completion function,
+so these functions can present
 the same interface as @code{rl_complete()}.
 @end deftypevar
 
 @deftypevar int rl_completion_invoking_key
 Set to the final character in the key sequence that invoked one of the
-completion functions that call @code{rl_complete_internal()}.  This is
-set to the appropriate value before any application-specific completion
-function is called.
+completion functions that call @code{rl_complete_internal()}.
+This is set to the appropriate value before calling
+any application-specific completion function.
 @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}.
+If this variable is non-zero, Readline does not perform completion,
+even if a key binding indicates it should.
+The completion character
+is inserted as if it were 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.
+library.
+It is called @code{fileman}, and the source code resides in
+@file{examples/fileman.c}.
+This sample application provides
+command name completion, line editing features,
+and access to the history list.
 
 @page
 @smallexample
index f8080719bacd2c3425ccb2fa8db614fb09a39c1d..d4918f8df260debcb1660e4ec26ebe6636d4ea5a 100644 (file)
@@ -82,8 +82,8 @@ Line editing can be enabled at any time using the @option{-o emacs} or
 @node Introduction and Notation
 @section Introduction to Line Editing
 
-The following paragraphs describe the notation used to represent
-keystrokes.
+The following paragraphs use Emacs style to
+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
@@ -91,16 +91,16 @@ 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 (a @dfn{meta character}).
-The Meta key is labeled @key{ALT} on many keyboards.
+key is pressed (a @dfn{meta character}), then both are released.
+The Meta key is labeled @key{ALT} or @key{Option} 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
+One of the @key{ALT} keys may also 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
+On some keyboards, the Meta key modifier produces characters with
 the eighth bit (0200) set.
 You can use the @code{enable-meta-key} variable
 to control whether or not it does this, if the keyboard allows it.
@@ -381,7 +381,7 @@ shell variable @env{INPUTRC}.
 environment variable @env{INPUTRC}.
 @end ifclear
 If that variable is unset, the default is @file{~/.inputrc}.
-If that file does not exist or cannot be read, readline looks for
+If that file does not exist or cannot be read, Readline looks for
 @file{/etc/inputrc}.
 @ifset BashFeatures
 The @w{@code{bind}} builtin command can also be used to set Readline
@@ -553,7 +553,7 @@ The default value is @samp{off}.
 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
+When set to a value greater than zero, Readline
 replaces common prefixes longer than this value
 with an ellipsis when displaying possible completions.
 
@@ -674,7 +674,7 @@ sequences containing @kbd{\M-} or @code{Meta-}
 (see @code{Key Bindings} in @ref{Readline Init File Syntax})
 by converting a key sequence of the form
 @kbd{\M-}@var{C} or @code{Meta-}@var{C} to the two-character sequence
-@kbd{ESC}@var{C} (adding the meta prefix).
+@kbd{ESC} @var{C} (adding the meta prefix).
 If @code{force-meta-prefix} is set to @samp{off} (the default),
 Readline uses the value of the @code{convert-meta} variable to determine
 whether to perform this conversion:
@@ -876,7 +876,7 @@ The default value is @samp{off}.
 If set to @samp{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
+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
@@ -971,7 +971,7 @@ This key binding syntax recognizes a number of symbolic character names:
 @var{NEWLINE},
 @var{RET},
 @var{RETURN},
-@var{RUBOUT},
+@var{RUBOUT} (a destructive backspace),
 @var{SPACE},
 @var{SPC},
 and
@@ -1312,9 +1312,10 @@ 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}.
 Readline has the concept of an @emph{active region}:
-when the region is active, Readline redisplay uses the
-value of the @code{active-region-start-color} variable
-to denote the region.
+when the region is active,
+Readline redisplay highlights the region using the
+value of the @code{active-region-start-color} variable.
+The @code{enable-active-region} variable turns this on and off.
 Several commands set the region to active; those are noted below.
 
 @node Commands For Moving
@@ -1528,6 +1529,7 @@ Delete the character at point.
 If this function is bound to the
 same character as the tty @sc{eof} character, as @kbd{C-d}
 commonly is, see above for the effects.
+This may also be bound to the Delete key on some keyboards.
 
 @item backward-delete-char (Rubout)
 Delete the character behind the cursor.
@@ -1978,7 +1980,7 @@ of an @var{inputrc} file.
 This command is unbound by default.
 
 @item execute-named-command (M-x)
-Read a bindable readline command name from the input and execute the
+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
@@ -2094,7 +2096,7 @@ so forth.
 When the user attempts word completion for an argument to a command for
 which a completion specification (a @dfn{compspec}) has been defined
 using the @code{complete} builtin (@pxref{Programmable Completion Builtins}),
-\fBreadline\fP invokes the programmable completion facilities. 
+Readline invokes the programmable completion facilities. 
 
 First, Bash identifies the command name.
 If a compspec has been defined for that command, the
@@ -2562,7 +2564,7 @@ the @option{-E} option indicates that other supplied options should
 apply to ``empty'' command completion; and
 the @option{-I} option indicates that other supplied options should
 apply to completion on the initial word on the line.
-These are determined in the same way as the \fBcomplete\fP builtin.
+These are determined in the same way as the @code{complete} builtin.
 
 If multiple options are supplied, the @option{-D} option takes precedence
 over @option{-E}, and both take precedence over @option{-I}
index d673f6539073d1fee06a05d867bd46af9863166c..ad16be8e29b5335d423f8357b0d79080af5082d9 100644 (file)
Binary files a/doc/rluserman.dvi and b/doc/rluserman.dvi differ
index 477135c2210264c6065c80ae0872bb04f5dce3fb..b5f88d8069394c12f34df892d1a20d6fd40333ee 100644 (file)
@@ -4,11 +4,11 @@
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 <!-- This manual describes the end user interface of the GNU Readline Library
-(version 8.3, 10 October 2024), a library which aids in the
+(version 8.3, 15 October 2024), a library which aids in the
 consistency of user interface across discrete programs which provide
 a command line interface.
 
-Copyright © 1988-2022 Free Software Foundation, Inc.
+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
@@ -140,8 +140,8 @@ Next: <a href="#Readline-Interaction" accesskey="n" rel="next">Readline Interact
 </div>
 <h3 class="section" id="Introduction-to-Line-Editing"><span>1.1 Introduction to Line Editing<a class="copiable-link" href="#Introduction-to-Line-Editing"> &para;</a></span></h3>
 
-<p>The following paragraphs describe the notation used to represent
-keystrokes.
+<p>The following paragraphs use Emacs style to
+describe the notation used to represent keystrokes.
 </p>
 <p>The text <kbd class="kbd">C-k</kbd> is read as &lsquo;Control-K&rsquo; and describes the character
 produced when the <kbd class="key">k</kbd> key is pressed while the Control key
@@ -149,16 +149,16 @@ is depressed.
 </p>
 <p>The text <kbd class="kbd">M-k</kbd> is read as &lsquo;Meta-K&rsquo; and describes the character
 produced when the Meta key (if you have one) is depressed, and the <kbd class="key">k</kbd>
-key is pressed (a <em class="dfn">meta character</em>).
-The Meta key is labeled <kbd class="key">ALT</kbd> on many keyboards.
+key is pressed (a <em class="dfn">meta character</em>), then both are released.
+The Meta key is labeled <kbd class="key">ALT</kbd> or <kbd class="key">Option</kbd> on many keyboards.
 On keyboards with two keys labeled <kbd class="key">ALT</kbd> (usually to either side of
 the space bar), the <kbd class="key">ALT</kbd> on the left side is generally set to
 work as a Meta key.
-The <kbd class="key">ALT</kbd> 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
+One of the <kbd class="key">ALT</kbd> keys may also be configured
+as some other modifier, such as a
 Compose key for typing accented characters.
 </p>
-<p>On some keyboards, the Meta key modifier produces meta characters with
+<p>On some keyboards, the Meta key modifier produces characters with
 the eighth bit (0200) set.
 You can use the <code class="code">enable-meta-key</code> variable
 to control whether or not it does this, if the keyboard allows it.
@@ -489,7 +489,7 @@ commands in an <em class="dfn">inputrc</em> file, conventionally in their home d
 The name of this file is taken from the value of the
 environment variable <code class="env">INPUTRC</code>.
 If that variable is unset, the default is <samp class="file">~/.inputrc</samp>.
-If that file does not exist or cannot be read, readline looks for
+If that file does not exist or cannot be read, Readline looks for
 <samp class="file">/etc/inputrc</samp>.
 </p>
 <p>When a program which uses the Readline library starts up, Readline reads
@@ -654,7 +654,7 @@ The default value is &lsquo;<samp class="samp">off</samp>&rsquo;.
 <dd><p>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
+When set to a value greater than zero, Readline
 replaces common prefixes longer than this value
 with an ellipsis when displaying possible completions.
 </p>
@@ -775,7 +775,7 @@ sequences containing <kbd class="kbd">\M-</kbd> or <code class="code">Meta-</cod
 (see <code class="code">Key Bindings</code> in <a class="ref" href="#Readline-Init-File-Syntax">Readline Init File Syntax</a>)
 by converting a key sequence of the form
 <kbd class="kbd">\M-</kbd><var class="var">C</var> or <code class="code">Meta-</code><var class="var">C</var> to the two-character sequence
-<kbd class="kbd">ESC</kbd><var class="var">C</var> (adding the meta prefix).
+<kbd class="kbd">ESC</kbd> <var class="var">C</var> (adding the meta prefix).
 If <code class="code">force-meta-prefix</code> is set to &lsquo;<samp class="samp">off</samp>&rsquo; (the default),
 Readline uses the value of the <code class="code">convert-meta</code> variable to determine
 whether to perform this conversion:
@@ -975,7 +975,7 @@ The default value is &lsquo;<samp class="samp">off</samp>&rsquo;.
 <dd><p>If set to &lsquo;<samp class="samp">on</samp>&rsquo;, this alters the default completion behavior when
 inserting a single match into the line.
 It&rsquo;s only active when performing completion in the middle of a word.
-If enabled, readline does not insert characters from the completion
+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
@@ -1067,7 +1067,7 @@ expressed on the right hand side (that is, to insert the text
 <var class="var">NEWLINE</var>,
 <var class="var">RET</var>,
 <var class="var">RETURN</var>,
-<var class="var">RUBOUT</var>,
+<var class="var">RUBOUT</var> (a destructive backspace),
 <var class="var">SPACE</var>,
 <var class="var">SPC</var>,
 and
@@ -1439,9 +1439,10 @@ position, and <em class="dfn">mark</em> refers to a cursor position saved by the
 <code class="code">set-mark</code> command.
 The text between the point and mark is referred to as the <em class="dfn">region</em>.
 Readline has the concept of an <em class="emph">active region</em>:
-when the region is active, Readline redisplay uses the
-value of the <code class="code">active-region-start-color</code> variable
-to denote the region.
+when the region is active,
+Readline redisplay highlights the region using the
+value of the <code class="code">active-region-start-color</code> variable.
+The <code class="code">enable-active-region</code> variable turns this on and off.
 Several commands set the region to active; those are noted below.
 </p>
 <ul class="mini-toc">
@@ -1693,6 +1694,7 @@ interprets it as the end of input and returns <small class="sc">EOF</small>.
 If this function is bound to the
 same character as the tty <small class="sc">EOF</small> character, as <kbd class="kbd">C-d</kbd>
 commonly is, see above for the effects.
+This may also be bound to the Delete key on some keyboards.
 </p>
 </dd>
 <dt><a id="index-backward_002ddelete_002dchar-_0028Rubout_0029"></a><span><code class="code">backward-delete-char (Rubout)</code><a class="copiable-link" href="#index-backward_002ddelete_002dchar-_0028Rubout_0029"> &para;</a></span></dt>
@@ -2121,7 +2123,7 @@ This command is unbound by default.
 </p>
 </dd>
 <dt><a id="index-execute_002dnamed_002dcommand-_0028M_002dx_0029"></a><span><code class="code">execute-named-command (M-x)</code><a class="copiable-link" href="#index-execute_002dnamed_002dcommand-_0028M_002dx_0029"> &para;</a></span></dt>
-<dd><p>Read a bindable readline command name from the input and execute the
+<dd><p>Read a bindable Readline command name from the input and execute the
 function to which it&rsquo;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
index a1d40cf2d99dc789b828e8e0fb2b421929956f74..19a3e3fc4fe48a318a43a7c62a113f8e4785b049 100644 (file)
@@ -2,11 +2,11 @@ This is rluserman.info, produced by makeinfo version 7.1 from
 rluserman.texi.
 
 This manual describes the end user interface of the GNU Readline Library
-(version 8.3, 10 October 2024), a library which aids in the consistency
+(version 8.3, 15 October 2024), a library which aids in the consistency
 of user interface across discrete programs which provide a command line
 interface.
 
-   Copyright © 1988-2022 Free Software Foundation, Inc.
+   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,
@@ -61,27 +61,26 @@ File: rluserman.info,  Node: Introduction and Notation,  Next: Readline Interact
 1.1 Introduction to Line Editing
 ================================
 
-The following paragraphs describe the notation used to represent
-keystrokes.
+The following paragraphs use Emacs style to 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.
+key is pressed (a “meta character”), then both are released.  The Meta
+key is labeled <ALT> or <Option> 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.  One of
+the <ALT> keys may also be configured as some other modifier, such as a
+Compose key for typing accented characters.
+
+   On some keyboards, the Meta key modifier produces 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>
@@ -326,7 +325,7 @@ 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’.
+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.
@@ -461,7 +460,7 @@ Variable Settings
      ‘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
+          modification.  When set to a value greater than zero, Readline
           replaces common prefixes longer than this value with an
           ellipsis when displaying possible completions.
 
@@ -560,7 +559,7 @@ Variable Settings
           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
+          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’,
@@ -720,7 +719,7 @@ Variable Settings
           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
+          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
@@ -790,7 +789,7 @@ Key Bindings
 
           This key binding syntax recognizes a number of symbolic
           character names: DEL, ESC, ESCAPE, LFD, NEWLINE, RET, RETURN,
-          RUBOUT, SPACE, SPC, and TAB.
+          RUBOUT (a destructive backspace), SPACE, SPC, and TAB.
 
      "KEYSEQ": FUNCTION-NAME or MACRO
           KEYSEQ differs from KEYNAME above in that strings denoting an
@@ -1088,9 +1087,10 @@ unbound by default.
 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.
+region is active, Readline redisplay highlights the region using the
+value of the ‘active-region-start-color’ variable.  The
+‘enable-active-region’ variable turns this on and off.  Several commands
+set the region to active; those are noted below.
 
 \1f
 File: rluserman.info,  Node: Commands For Moving,  Next: Commands For History,  Up: Bindable Readline Commands
@@ -1271,7 +1271,8 @@ File: rluserman.info,  Node: Commands For Text,  Next: Commands For Killing,  Pr
 ‘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.
+     above for the effects.  This may also be bound to the Delete key on
+     some keyboards.
 
 ‘backward-delete-char (Rubout)’
      Delete the character behind the cursor.  A numeric argument means
@@ -1589,7 +1590,7 @@ File: rluserman.info,  Node: Miscellaneous Commands,  Prev: Keyboard Macros,  Up
      default.
 
 ‘execute-named-command (M-x)’
-     Read a bindable readline command name from the input and execute
+     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
@@ -2113,27 +2114,27 @@ Tag Table:
 Node: Top\7f906
 Node: Command Line Editing\7f1428
 Node: Introduction and Notation\7f2082
-Node: Readline Interaction\7f4437
-Node: Readline Bare Essentials\7f5630
-Node: Readline Movement Commands\7f7443
-Node: Readline Killing Commands\7f8444
-Node: Readline Arguments\7f10472
-Node: Searching\7f11534
-Node: Readline Init File\7f13766
-Node: Readline Init File Syntax\7f14965
-Node: Conditional Init Constructs\7f41331
-Node: Sample Init File\7f45721
-Node: Bindable Readline Commands\7f48847
-Node: Commands For Moving\7f50166
-Node: Commands For History\7f52097
-Node: Commands For Text\7f57303
-Node: Commands For Killing\7f61083
-Node: Numeric Arguments\7f63540
-Node: Commands For Completion\7f64697
-Node: Keyboard Macros\7f66785
-Node: Miscellaneous Commands\7f67491
-Node: Readline vi Mode\7f71816
-Node: GNU Free Documentation License\7f72810
+Node: Readline Interaction\7f4439
+Node: Readline Bare Essentials\7f5632
+Node: Readline Movement Commands\7f7445
+Node: Readline Killing Commands\7f8446
+Node: Readline Arguments\7f10474
+Node: Searching\7f11536
+Node: Readline Init File\7f13768
+Node: Readline Init File Syntax\7f14967
+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
 
index 3dc6198bcc43646e4e23efd1691d8706fa1f16f3..e18b74d10e9eb6fb49a4ce7c54f0df98add0d6ae 100644 (file)
Binary files a/doc/rluserman.pdf and b/doc/rluserman.pdf differ
index 6f8259b75db87aebbb5d7411aba60450c2bba65c..35fc303aad6f5f290a37219a88ab628f5ac607c8 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 11 13:24:25 2024
+%%CreationDate: Fri Nov  1 21:48:38 2024
 %%Pages: 37
 %%PageOrder: Ascend
 %%BoundingBox: 0 0 612 792
@@ -12,7 +12,7 @@
 %DVIPSWebPage: (www.radicaleye.com)
 %DVIPSCommandLine: dvips -D 600 -t letter -o rluserman.ps rluserman.dvi
 %DVIPSParameters: dpi=600
-%DVIPSSource:  TeX output 2024.10.11:0924
+%DVIPSSource:  TeX output 2024.11.01:1748
 %%BeginProcSet: tex.pro 0 0
 %!
 /TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S
@@ -5237,12 +5237,12 @@ b(ree)45 b(Soft)l(w)l(are)h(F)-11 b(oundation)p 150 5141
 %%Page: 2 2
 TeXDict begin 2 1 bop 150 4413 a Fo(This)38 b(man)m(ual)h(describ)s(es)
 f(the)h(end)f(user)g(in)m(terface)i(of)f(the)g(GNU)g(Readline)g
-(Library)f(\(v)m(ersion)i(8.3,)150 4523 y(10)35 b(Octob)s(er)f(2024\),)
+(Library)f(\(v)m(ersion)i(8.3,)150 4523 y(15)35 b(Octob)s(er)f(2024\),)
 k(a)d(library)f(whic)m(h)g(aids)g(in)g(the)h(consistency)g(of)g(user)e
 (in)m(terface)j(across)f(discrete)150 4633 y(programs)30
 b(whic)m(h)g(pro)m(vide)h(a)f(command)g(line)h(in)m(terface.)150
 4767 y(Cop)m(yrigh)m(t)602 4764 y(c)577 4767 y Fl(\015)f
-Fo(1988{2022)35 b(F)-8 b(ree)31 b(Soft)m(w)m(are)h(F)-8
+Fo(1988{2024)35 b(F)-8 b(ree)31 b(Soft)m(w)m(are)h(F)-8
 b(oundation,)31 b(Inc.)390 4902 y(P)m(ermission)21 b(is)f(gran)m(ted)h
 (to)g(cop)m(y)-8 b(,)24 b(distribute)c(and/or)h(mo)s(dify)e(this)i(do)s
 (cumen)m(t)f(under)f(the)390 5011 y(terms)25 b(of)h(the)f(GNU)h(F)-8
@@ -5318,13 +5318,13 @@ b(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
 y(1.4.6)93 b(Letting)31 b(Readline)g(T)m(yp)s(e)f(F)-8
 b(or)31 b(Y)-8 b(ou)22 b Fi(:)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(:)35
-b Fo(23)399 2759 y(1.4.7)93 b(Keyb)s(oard)29 b(Macros)11
+b Fo(24)399 2759 y(1.4.7)93 b(Keyb)s(oard)29 b(Macros)11
 b Fi(:)17 b(:)e(:)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(:)24 b Fo(24)399 2868 y(1.4.8)93
 b(Some)30 b(Miscellaneous)j(Commands)16 b Fi(:)e(:)h(:)h(:)f(:)h(:)f(:)
 g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
-(:)h(:)f(:)29 b Fo(24)275 2978 y(1.5)92 b(Readline)31
+(:)h(:)f(:)29 b Fo(25)275 2978 y(1.5)92 b(Readline)31
 b(vi)f(Mo)s(de)10 b Fi(:)16 b(:)f(:)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(:)f(:)g(:)h(:)23
@@ -5333,68 +5333,68 @@ b(F)-11 b(ree)38 b(Do)t(cumen)l(tation)i(License)25 b
 Fj(:)20 b(:)32 b Fm(27)p eop end
 %%Page: 1 4
 TeXDict begin 1 3 bop 3705 -116 a Fo(1)150 299 y Fk(1)80
-b(Command)54 b(Line)f(Editing)150 597 y Fo(This)30 b(c)m(hapter)h
+b(Command)54 b(Line)f(Editing)150 574 y Fo(This)30 b(c)m(hapter)h
 (describ)s(es)e(the)i(basic)g(features)f(of)h(the)f Fh(gnu)g
-Fo(command)h(line)f(editing)h(in)m(terface.)150 870 y
+Fo(command)h(line)f(editing)h(in)m(terface.)150 835 y
 Fm(1.1)68 b(In)l(tro)t(duction)45 b(to)g(Line)h(Editing)150
-1030 y Fo(The)30 b(follo)m(wing)i(paragraphs)d(describ)s(e)h(the)h
-(notation)g(used)f(to)h(represen)m(t)f(k)m(eystrok)m(es.)275
-1186 y(The)35 b(text)i Fg(C-k)f Fo(is)g(read)g(as)h(`Con)m(trol-K')g
-(and)f(describ)s(es)f(the)h(c)m(haracter)i(pro)s(duced)d(when)g(the)h
-Fn(k)150 1295 y Fo(k)m(ey)31 b(is)g(pressed)e(while)h(the)h(Con)m(trol)
-g(k)m(ey)g(is)g(depressed.)275 1451 y(The)g(text)i Fg(M-k)e
-Fo(is)h(read)f(as)i(`Meta-K')g(and)f(describ)s(es)f(the)h(c)m(haracter)
-h(pro)s(duced)e(when)f(the)i(Meta)150 1561 y(k)m(ey)g(\(if)g(y)m(ou)f
-(ha)m(v)m(e)i(one\))e(is)h(depressed,)e(and)h(the)g Fn(k)g
-Fo(k)m(ey)h(is)g(pressed)e(\(a)i Ff(meta)g(c)m(haracter)7
-b Fo(\).)45 b(The)30 b(Meta)150 1670 y(k)m(ey)35 b(is)f(lab)s(eled)h
-Fn(ALT)e Fo(on)h(man)m(y)g(k)m(eyb)s(oards.)52 b(On)33
-b(k)m(eyb)s(oards)h(with)g(t)m(w)m(o)h(k)m(eys)g(lab)s(eled)g
-Fn(ALT)e Fo(\(usually)150 1780 y(to)f(either)g(side)g(of)f(the)h(space)
-g(bar\),)g(the)g Fn(ALT)f Fo(on)g(the)h(left)g(side)f(is)h(generally)h
-(set)f(to)g(w)m(ork)g(as)g(a)f(Meta)150 1890 y(k)m(ey)-8
-b(.)59 b(The)35 b Fn(ALT)g Fo(k)m(ey)i(on)e(the)i(righ)m(t)f(ma)m(y)h
-(also)f(b)s(e)g(con\014gured)f(to)i(w)m(ork)f(as)g(a)g(Meta)h(k)m(ey)g
-(or)f(ma)m(y)h(b)s(e)150 1999 y(con\014gured)30 b(as)g(some)h(other)g
-(mo)s(di\014er,)e(suc)m(h)h(as)h(a)g(Comp)s(ose)f(k)m(ey)h(for)f(t)m
-(yping)h(accen)m(ted)h(c)m(haracters.)275 2155 y(On)j(some)j(k)m(eyb)s
-(oards,)g(the)f(Meta)h(k)m(ey)g(mo)s(di\014er)d(pro)s(duces)h(meta)h(c)
-m(haracters)i(with)d(the)h(eigh)m(th)150 2265 y(bit)26
-b(\(0200\))j(set.)40 b(Y)-8 b(ou)26 b(can)h(use)f(the)g
-Fn(enable-meta-key)c Fo(v)-5 b(ariable)27 b(to)g(con)m(trol)g(whether)f
-(or)g(not)h(it)f(do)s(es)150 2374 y(this,)i(if)g(the)g(k)m(eyb)s(oard)f
-(allo)m(ws)i(it.)41 b(On)26 b(man)m(y)i(others,)h(the)f(terminal)g(or)f
-(terminal)i(em)m(ulator)f(con)m(v)m(erts)150 2484 y(the)h(meta\014ed)g
-(k)m(ey)g(to)h(a)f(k)m(ey)g(sequence)g(b)s(eginning)f(with)h
-Fn(ESC)f Fo(as)g(describ)s(ed)g(in)g(the)h(next)g(paragraph.)275
-2640 y(If)k(y)m(ou)i(do)f(not)g(ha)m(v)m(e)h(a)g(Meta)h(or)e
+995 y Fo(The)j(follo)m(wing)j(paragraphs)d(use)h(Emacs)g(st)m(yle)h(to)
+g(describ)s(e)f(the)g(notation)h(used)e(to)i(represen)m(t)150
+1104 y(k)m(eystrok)m(es.)275 1252 y(The)35 b(text)i Fg(C-k)f
+Fo(is)g(read)g(as)h(`Con)m(trol-K')g(and)f(describ)s(es)f(the)h(c)m
+(haracter)i(pro)s(duced)d(when)g(the)h Fn(k)150 1362
+y Fo(k)m(ey)31 b(is)g(pressed)e(while)h(the)h(Con)m(trol)g(k)m(ey)g(is)
+g(depressed.)275 1510 y(The)g(text)i Fg(M-k)e Fo(is)h(read)f(as)i
+(`Meta-K')g(and)f(describ)s(es)f(the)h(c)m(haracter)h(pro)s(duced)e
+(when)f(the)i(Meta)150 1620 y(k)m(ey)h(\(if)f(y)m(ou)g(ha)m(v)m(e)h
+(one\))g(is)f(depressed,)f(and)g(the)i Fn(k)e Fo(k)m(ey)i(is)f(pressed)
+f(\(a)h Ff(meta)h(c)m(haracter)7 b Fo(\),)34 b(then)e(b)s(oth)150
+1729 y(are)k(released.)56 b(The)35 b(Meta)i(k)m(ey)f(is)f(lab)s(eled)h
+Fn(ALT)e Fo(or)h Fn(Option)f Fo(on)h(man)m(y)h(k)m(eyb)s(oards.)55
+b(On)34 b(k)m(eyb)s(oards)150 1839 y(with)c(t)m(w)m(o)h(k)m(eys)f(lab)s
+(eled)g Fn(ALT)f Fo(\(usually)h(to)g(either)h(side)e(of)h(the)g(space)h
+(bar\),)f(the)g Fn(ALT)f Fo(on)g(the)h(left)h(side)150
+1948 y(is)d(generally)h(set)g(to)f(w)m(ork)g(as)g(a)h(Meta)g(k)m(ey)-8
+b(.)41 b(One)28 b(of)g(the)g Fn(ALT)f Fo(k)m(eys)h(ma)m(y)h(also)g(b)s
+(e)e(con\014gured)g(as)i(some)150 2058 y(other)i(mo)s(di\014er,)e(suc)m
+(h)h(as)h(a)g(Comp)s(ose)f(k)m(ey)h(for)f(t)m(yping)h(accen)m(ted)h(c)m
+(haracters.)275 2206 y(On)42 b(some)j(k)m(eyb)s(oards,)i(the)d(Meta)h
+(k)m(ey)f(mo)s(di\014er)f(pro)s(duces)g(c)m(haracters)i(with)e(the)h
+(eigh)m(th)h(bit)150 2316 y(\(0200\))38 b(set.)56 b(Y)-8
+b(ou)36 b(can)g(use)f(the)h Fn(enable-meta-key)31 b Fo(v)-5
+b(ariable)36 b(to)g(con)m(trol)h(whether)e(or)h(not)f(it)h(do)s(es)150
+2425 y(this,)28 b(if)g(the)g(k)m(eyb)s(oard)f(allo)m(ws)i(it.)41
+b(On)26 b(man)m(y)i(others,)h(the)f(terminal)g(or)f(terminal)i(em)m
+(ulator)f(con)m(v)m(erts)150 2535 y(the)h(meta\014ed)g(k)m(ey)g(to)h(a)
+f(k)m(ey)g(sequence)g(b)s(eginning)f(with)h Fn(ESC)f
+Fo(as)g(describ)s(ed)g(in)g(the)h(next)g(paragraph.)275
+2683 y(If)k(y)m(ou)i(do)f(not)g(ha)m(v)m(e)h(a)g(Meta)h(or)e
 Fn(ALT)f Fo(k)m(ey)-8 b(,)36 b(or)e(another)h(k)m(ey)g(w)m(orking)f(as)
-h(a)f(Meta)i(k)m(ey)-8 b(,)36 b(y)m(ou)f(can)150 2750
+h(a)f(Meta)i(k)m(ey)-8 b(,)36 b(y)m(ou)f(can)150 2793
 y(generally)28 b(ac)m(hiev)m(e)h(the)f(latter)g(e\013ect)g(b)m(y)f(t)m
 (yping)h Fn(ESC)e Fe(\014rst)p Fo(,)i(and)f(then)f(t)m(yping)i
 Fn(k)p Fo(.)39 b(The)26 b Fn(ESC)g Fo(c)m(haracter)150
-2859 y(is)k(kno)m(wn)g(as)h(the)f Ff(meta)i(pre\014x)6
-b Fo(\).)275 3015 y(Either)30 b(pro)s(cess)g(is)g(kno)m(wn)g(as)h
+2902 y(is)k(kno)m(wn)g(as)h(the)f Ff(meta)i(pre\014x)6
+b Fo(\).)275 3050 y(Either)30 b(pro)s(cess)g(is)g(kno)m(wn)g(as)h
 Ff(metafying)39 b Fo(the)30 b Fn(k)g Fo(k)m(ey)-8 b(.)275
-3171 y(If)24 b(y)m(our)i(Meta)g(k)m(ey)h(pro)s(duces)d(a)h(k)m(ey)h
+3198 y(If)24 b(y)m(our)i(Meta)g(k)m(ey)h(pro)s(duces)d(a)h(k)m(ey)h
 (sequence)g(with)f(the)h Fn(ESC)e Fo(meta)i(pre\014x,)g(y)m(ou)f(can)h
-(mak)m(e)g Fg(M-key)150 3281 y Fo(k)m(ey)40 b(bindings)e(y)m(ou)i(sp)s
+(mak)m(e)g Fg(M-key)150 3308 y Fo(k)m(ey)40 b(bindings)e(y)m(ou)i(sp)s
 (ecify)f(\(see)i Fn(Key)29 b(Bindings)37 b Fo(in)i(Section)i(1.3.1)g
-([Readline)f(Init)g(File)g(Syn)m(tax],)150 3390 y(page)31
+([Readline)f(Init)g(File)g(Syn)m(tax],)150 3418 y(page)31
 b(4\))g(do)f(the)h(same)g(thing)f(b)m(y)g(setting)i(the)f
-Fn(force-meta-prefix)25 b Fo(v)-5 b(ariable.)275 3546
+Fn(force-meta-prefix)25 b Fo(v)-5 b(ariable.)275 3566
 y(The)39 b(text)j Fg(M-C-k)d Fo(is)h(read)g(as)h(`Meta-Con)m(trol-k')j
 (and)39 b(describ)s(es)h(the)g(c)m(haracter)i(pro)s(duced)d(b)m(y)150
-3656 y(metafying)31 b Fg(C-k)p Fo(.)275 3812 y(In)k(addition,)j(sev)m
+3675 y(metafying)31 b Fg(C-k)p Fo(.)275 3823 y(In)k(addition,)j(sev)m
 (eral)f(k)m(eys)g(ha)m(v)m(e)g(their)f(o)m(wn)g(names.)58
 b(Sp)s(eci\014cally)-8 b(,)38 b Fn(DEL)p Fo(,)f Fn(ESC)p
 Fo(,)g Fn(LFD)p Fo(,)g Fn(SPC)p Fo(,)g Fn(RET)p Fo(,)150
-3921 y(and)d Fn(TAB)f Fo(all)j(stand)e(for)g(themselv)m(es)i(when)d
+3933 y(and)d Fn(TAB)f Fo(all)j(stand)e(for)g(themselv)m(es)i(when)d
 (seen)i(in)f(this)g(text,)j(or)d(in)h(an)f(init)h(\014le)f(\(see)i
-(Section)f(1.3)150 4031 y([Readline)e(Init)g(File],)h(page)f(4\).)48
+(Section)f(1.3)150 4043 y([Readline)e(Init)g(File],)h(page)f(4\).)48
 b(If)32 b(y)m(our)g(k)m(eyb)s(oard)g(lac)m(ks)i(a)f Fn(LFD)e
 Fo(k)m(ey)-8 b(,)35 b(t)m(yping)d Fn(C-j)g Fo(will)h(output)f(the)150
-4140 y(appropriate)e(c)m(haracter.)43 b(The)30 b Fn(RET)f
+4152 y(appropriate)e(c)m(haracter.)43 b(The)30 b Fn(RET)f
 Fo(k)m(ey)i(ma)m(y)g(b)s(e)f(lab)s(eled)h Fn(Return)d
 Fo(or)j Fn(Enter)d Fo(on)j(some)g(k)m(eyb)s(oards.)150
 4413 y Fm(1.2)68 b(Readline)47 b(In)l(teraction)150 4573
@@ -5628,7 +5628,7 @@ b(.)39 b(The)23 b(name)h(of)f(this)h(\014le)f(is)g(tak)m(en)i(from)e
 b(ariable)25 b Fn(INPUTRC)p Fo(.)150 3365 y(If)30 b(that)g(v)-5
 b(ariable)31 b(is)f(unset,)g(the)h(default)f(is)g Fn(~/.inputrc)p
 Fo(.)38 b(If)30 b(that)g(\014le)h(do)s(es)e(not)i(exist)g(or)f(cannot)h
-(b)s(e)150 3475 y(read,)g(readline)f(lo)s(oks)h(for)f
+(b)s(e)150 3475 y(read,)g(Readline)g(lo)s(oks)f(for)g
 Fn(/etc/inputrc)p Fo(.)275 3625 y(When)i(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 3735 y(and)d(sets)h(an)m(y)f(v)-5
@@ -5782,8 +5782,8 @@ b(is)f(`)p Fn(off)p Fo('.)630 4299 y Fn(completion-prefix-displa)o
 (y-le)o(ngth)1110 4408 y Fo(The)24 b(maxim)m(um)g(length)h(in)f(c)m
 (haracters)i(of)f(the)f(common)h(pre\014x)e(of)i(a)g(list)g(of)1110
 4518 y(p)s(ossible)i(completions)h(that)g(is)g(displa)m(y)m(ed)g
-(without)f(mo)s(di\014cation.)40 b(When)1110 4628 y(set)29
-b(to)h(a)f(v)-5 b(alue)30 b(greater)g(than)e(zero,)j(readline)e
+(without)f(mo)s(di\014cation.)40 b(When)1110 4628 y(set)26
+b(to)h(a)f(v)-5 b(alue)26 b(greater)h(than)e(zero,)j(Readline)e
 (replaces)h(common)f(pre\014xes)1110 4737 y(longer)46
 b(than)f(this)h(v)-5 b(alue)46 b(with)f(an)h(ellipsis)g(when)e(displa)m
 (ying)i(p)s(ossible)1110 4847 y(completions.)630 5011
@@ -5917,28 +5917,28 @@ f(binding)g(k)m(ey)h(se-)1110 3842 y(quences)22 b(con)m(taining)i
 Fg(\\M-)e Fo(or)h Fn(Meta-)e Fo(\(see)i Fn(Key)29 b(Bindings)21
 b Fo(in)h(Section)h(1.3.1)1110 3952 y([Readline)36 b(Init)f(File)i(Syn)
 m(tax],)g(page)f(4\))g(b)m(y)g(con)m(v)m(erting)h(a)e(k)m(ey)i
-(sequence)1110 4061 y(of)d(the)g(form)f Fg(\\M-)p Ff(C)41
-b Fo(or)34 b Fn(Meta-)p Ff(C)39 b Fo(to)c(the)f(t)m(w)m(o-c)m(haracter)
-j(sequence)d Fg(ESC)p Ff(C)1110 4171 y Fo(\(adding)23
-b(the)h(meta)g(pre\014x\).)38 b(If)23 b Fn(force-meta-prefix)18
-b Fo(is)24 b(set)f(to)h(`)p Fn(off)p Fo(')f(\(the)1110
-4281 y(default\),)35 b(Readline)f(uses)f(the)h(v)-5 b(alue)34
-b(of)g(the)g Fn(convert-meta)c Fo(v)-5 b(ariable)34 b(to)1110
-4390 y(determine)d(whether)g(to)h(p)s(erform)e(this)i(con)m(v)m
-(ersion:)44 b(if)31 b Fn(convert-meta)d Fo(is)1110 4500
-y(`)p Fn(on)p Fo(',)23 b(Readline)f(p)s(erforms)e(the)i(con)m(v)m
-(ersion)g(describ)s(ed)f(ab)s(o)m(v)m(e;)k(if)d(it)g(is)f(`)p
-Fn(off)p Fo(',)1110 4609 y(Readline)33 b(con)m(v)m(erts)h
-Ff(C)41 b Fo(to)33 b(a)g(meta)h(c)m(haracter)g(b)m(y)f(setting)g(the)g
-(eigh)m(th)h(bit)1110 4719 y(\(0200\).)43 b(The)30 b(default)h(is)f(`)p
-Fn(off)p Fo('.)630 4902 y Fn(history-preserve-point)1110
-5011 y Fo(If)41 b(set)h(to)h(`)p Fn(on)p Fo(',)i(the)c(history)h(co)s
-(de)g(attempts)h(to)f(place)h(the)f(p)s(oin)m(t)f(\(the)1110
-5121 y(curren)m(t)35 b(cursor)g(p)s(osition\))g(at)h(the)g(same)f(lo)s
-(cation)i(on)e(eac)m(h)h(history)g(line)1110 5230 y(retriev)m(ed)h
-(with)f Fn(previous-history)c Fo(or)37 b Fn(next-history)p
-Fo(.)55 b(The)36 b(default)1110 5340 y(is)30 b(`)p Fn(off)p
-Fo('.)p eop end
+(sequence)1110 4061 y(of)k(the)h(form)e Fg(\\M-)p Ff(C)48
+b Fo(or)41 b Fn(Meta-)p Ff(C)48 b Fo(to)41 b(the)h(t)m(w)m(o-c)m
+(haracter)i(sequence)e Fg(ESC)1110 4171 y Ff(C)e Fo(\(adding)32
+b(the)g(meta)h(pre\014x\).)46 b(If)32 b Fn(force-meta-prefix)27
+b Fo(is)33 b(set)f(to)h(`)p Fn(off)p Fo(')1110 4281 y(\(the)25
+b(default\),)i(Readline)e(uses)f(the)h(v)-5 b(alue)25
+b(of)f(the)h Fn(convert-meta)c Fo(v)-5 b(ariable)1110
+4390 y(to)30 b(determine)f(whether)f(to)i(p)s(erform)d(this)i(con)m(v)m
+(ersion:)41 b(if)29 b Fn(convert-meta)1110 4500 y Fo(is)37
+b(`)p Fn(on)p Fo(',)i(Readline)f(p)s(erforms)d(the)j(con)m(v)m(ersion)g
+(describ)s(ed)e(ab)s(o)m(v)m(e;)42 b(if)37 b(it)h(is)1110
+4609 y(`)p Fn(off)p Fo(',)24 b(Readline)g(con)m(v)m(erts)g
+Ff(C)30 b Fo(to)23 b(a)h(meta)f(c)m(haracter)i(b)m(y)d(setting)i(the)f
+(eigh)m(th)1110 4719 y(bit)30 b(\(0200\).)44 b(The)29
+b(default)i(is)f(`)p Fn(off)p Fo('.)630 4902 y Fn
+(history-preserve-point)1110 5011 y Fo(If)41 b(set)h(to)h(`)p
+Fn(on)p Fo(',)i(the)c(history)h(co)s(de)g(attempts)h(to)f(place)h(the)f
+(p)s(oin)m(t)f(\(the)1110 5121 y(curren)m(t)35 b(cursor)g(p)s
+(osition\))g(at)h(the)g(same)f(lo)s(cation)i(on)e(eac)m(h)h(history)g
+(line)1110 5230 y(retriev)m(ed)h(with)f Fn(previous-history)c
+Fo(or)37 b Fn(next-history)p Fo(.)55 b(The)36 b(default)1110
+5340 y(is)30 b(`)p Fn(off)p Fo('.)p eop end
 %%Page: 9 12
 TeXDict begin 9 11 bop 150 -116 a Fo(Chapter)30 b(1:)41
 b(Command)29 b(Line)i(Editing)2153 b(9)630 299 y Fn(history-size)1110
@@ -6127,8 +6127,8 @@ b(is)f(`)p Fn(off)p Fo('.)630 3185 y Fn(skip-completed-text)1110
 (default)g(completion)h(b)s(eha)m(vior)f(when)f(in-)1110
 3404 y(serting)d(a)h(single)g(matc)m(h)f(in)m(to)h(the)g(line.)40
 b(It's)30 b(only)f(activ)m(e)i(when)d(p)s(erform-)1110
-3513 y(ing)35 b(completion)h(in)e(the)h(middle)f(of)h(a)f(w)m(ord.)53
-b(If)35 b(enabled,)g(readline)g(do)s(es)1110 3623 y(not)41
+3513 y(ing)k(completion)i(in)e(the)g(middle)g(of)g(a)h(w)m(ord.)46
+b(If)32 b(enabled,)g(Readline)h(do)s(es)1110 3623 y(not)41
 b(insert)f(c)m(haracters)i(from)e(the)h(completion)h(that)f(matc)m(h)g
 (c)m(haracters)1110 3733 y(after)c(p)s(oin)m(t)g(in)g(the)g(w)m(ord)f
 (b)s(eing)g(completed,)k(so)d(p)s(ortions)f(of)h(the)g(w)m(ord)1110
@@ -6221,11 +6221,12 @@ h(text)h(`)p Fn(>)1110 4472 y(output)p Fo(')29 b(in)m(to)i(the)g
 (recognizes)i(a)e(n)m(um)m(b)s(er)e(of)h(sym)m(b)s(olic)h(c)m(haracter)
 1110 4725 y(names:)43 b Ff(DEL)p Fo(,)32 b Ff(ESC)p Fo(,)f
 Ff(ESCAPE)p Fo(,)g Ff(LFD)p Fo(,)h Ff(NEWLINE)p Fo(,)h
-Ff(RET)p Fo(,)e Ff(RETURN)p Fo(,)1110 4834 y Ff(R)m(UBOUT)p
-Fo(,)g Ff(SP)-8 b(A)m(CE)p Fo(,)31 b Ff(SPC)p Fo(,)e(and)h
-Ff(T)-8 b(AB)p Fo(.)630 5011 y Fn(")p Ff(k)m(eyseq)r
-Fn(")p Fo(:)41 b Ff(function-name)36 b Fo(or)30 b Ff(macro)1110
-5121 y(k)m(eyseq)24 b Fo(di\013ers)c(from)g Ff(k)m(eyname)27
+Ff(RET)p Fo(,)e Ff(RETURN)p Fo(,)1110 4834 y Ff(R)m(UBOUT)37
+b Fo(\(a)31 b(destructiv)m(e)h(bac)m(kspace\),)g Ff(SP)-8
+b(A)m(CE)p Fo(,)31 b Ff(SPC)p Fo(,)e(and)h Ff(T)-8 b(AB)p
+Fo(.)630 5011 y Fn(")p Ff(k)m(eyseq)r Fn(")p Fo(:)41
+b Ff(function-name)36 b Fo(or)30 b Ff(macro)1110 5121
+y(k)m(eyseq)24 b Fo(di\013ers)c(from)g Ff(k)m(eyname)27
 b Fo(ab)s(o)m(v)m(e)22 b(in)e(that)h(strings)g(denoting)f(an)h(en)m
 (tire)1110 5230 y(k)m(ey)i(sequence)f(can)h(b)s(e)e(sp)s(eci\014ed,)j
 (b)m(y)e(placing)h(the)f(k)m(ey)h(sequence)g(in)e(double)1110
@@ -6467,574 +6468,576 @@ TeXDict begin 18 20 bop 150 -116 a Fo(Chapter)30 b(1:)41
 b(Command)29 b(Line)i(Editing)2107 b(18)390 299 y Fn(#)47
 b(For)g(FTP)390 408 y($if)g(Ftp)390 518 y("\\C-xg":)f("get)g(\\M-?")390
 628 y("\\C-xt":)g("put)g(\\M-?")390 737 y("\\M-.":)g(yank-last-arg)390
-847 y($endif)150 1083 y Fm(1.4)68 b(Bindable)45 b(Readline)i(Commands)
-150 1242 y Fo(This)25 b(section)i(describ)s(es)d(Readline)j(commands)e
+847 y($endif)150 1096 y Fm(1.4)68 b(Bindable)45 b(Readline)i(Commands)
+150 1255 y Fo(This)25 b(section)i(describ)s(es)d(Readline)j(commands)e
 (that)h(ma)m(y)g(b)s(e)f(b)s(ound)f(to)i(k)m(ey)h(sequences.)39
-b(Command)150 1352 y(names)30 b(without)h(an)f(accompan)m(ying)i(k)m
+b(Command)150 1365 y(names)30 b(without)h(an)f(accompan)m(ying)i(k)m
 (ey)f(sequence)g(are)g(un)m(b)s(ound)c(b)m(y)k(default.)275
-1484 y(In)25 b(the)h(follo)m(wing)i(descriptions,)f Ff(p)s(oin)m(t)h
+1505 y(In)25 b(the)h(follo)m(wing)i(descriptions,)f Ff(p)s(oin)m(t)h
 Fo(refers)e(to)h(the)f(curren)m(t)g(cursor)g(p)s(osition,)h(and)f
-Ff(mark)31 b Fo(refers)150 1593 y(to)24 b(a)g(cursor)f(p)s(osition)g
+Ff(mark)31 b Fo(refers)150 1614 y(to)24 b(a)g(cursor)f(p)s(osition)g
 (sa)m(v)m(ed)i(b)m(y)e(the)h Fn(set-mark)d Fo(command.)38
 b(The)23 b(text)h(b)s(et)m(w)m(een)g(the)g(p)s(oin)m(t)f(and)g(mark)150
-1703 y(is)31 b(referred)g(to)h(as)f(the)h Ff(region)p
+1724 y(is)31 b(referred)g(to)h(as)f(the)h Ff(region)p
 Fo(.)44 b(Readline)32 b(has)f(the)h(concept)g(of)f(an)h
 Fe(active)h(r)-5 b(e)g(gion)7 b Fo(:)44 b(when)30 b(the)h(region)150
-1812 y(is)d(activ)m(e,)i(Readline)f(redispla)m(y)f(uses)f(the)h(v)-5
-b(alue)28 b(of)g(the)g Fn(active-region-start-colo)o(r)22
-b Fo(v)-5 b(ariable)28 b(to)150 1922 y(denote)j(the)f(region.)42
-b(Sev)m(eral)31 b(commands)f(set)h(the)g(region)g(to)g(activ)m(e;)i
-(those)e(are)f(noted)h(b)s(elo)m(w.)150 2116 y Fd(1.4.1)63
-b(Commands)42 b(F)-10 b(or)41 b(Mo)m(ving)150 2286 y
-Fn(beginning-of-line)26 b(\(C-a\))630 2395 y Fo(Mo)m(v)m(e)k(to)e(the)g
+1834 y(is)k(activ)m(e,)k(Readline)c(redispla)m(y)h(highligh)m(ts)f(the)
+h(region)f(using)g(the)g(v)-5 b(alue)35 b(of)h(the)f
+Fn(active-region-)150 1943 y(start-color)26 b Fo(v)-5
+b(ariable.)41 b(The)29 b Fn(enable-active-region)24 b
+Fo(v)-5 b(ariable)30 b(turns)d(this)j(on)f(and)f(o\013.)41
+b(Sev)m(eral)150 2053 y(commands)30 b(set)h(the)f(region)h(to)h(activ)m
+(e;)g(those)f(are)g(noted)g(b)s(elo)m(w.)150 2258 y Fd(1.4.1)63
+b(Commands)42 b(F)-10 b(or)41 b(Mo)m(ving)150 2432 y
+Fn(beginning-of-line)26 b(\(C-a\))630 2542 y Fo(Mo)m(v)m(e)k(to)e(the)g
 (start)g(of)f(the)h(curren)m(t)f(line.)40 b(This)27 b(ma)m(y)h(also)h
-(b)s(e)e(b)s(ound)e(to)j(the)g(Home)g(k)m(ey)630 2505
-y(on)i(some)h(k)m(eyb)s(oards.)150 2660 y Fn(end-of-line)c(\(C-e\))630
-2769 y Fo(Mo)m(v)m(e)34 b(to)f(the)f(end)f(of)i(the)f(line.)46
+(b)s(e)e(b)s(ound)e(to)j(the)g(Home)g(k)m(ey)630 2651
+y(on)i(some)h(k)m(eyb)s(oards.)150 2816 y Fn(end-of-line)c(\(C-e\))630
+2926 y Fo(Mo)m(v)m(e)34 b(to)f(the)f(end)f(of)i(the)f(line.)46
 b(This)31 b(ma)m(y)i(also)g(b)s(e)e(b)s(ound)f(to)j(the)f(End)f(k)m(ey)
-i(on)f(some)630 2879 y(k)m(eyb)s(oards.)150 3033 y Fn(forward-char)27
-b(\(C-f\))630 3143 y Fo(Mo)m(v)m(e)32 b(forw)m(ard)e(a)h(c)m(haracter.)
-150 3297 y Fn(backward-char)c(\(C-b\))630 3407 y Fo(Mo)m(v)m(e)32
-b(bac)m(k)g(a)e(c)m(haracter.)150 3561 y Fn(forward-word)d(\(M-f\))630
-3671 y Fo(Mo)m(v)m(e)32 b(forw)m(ard)e(to)h(the)f(end)g(of)g(the)h
+i(on)f(some)630 3035 y(k)m(eyb)s(oards.)150 3200 y Fn(forward-char)27
+b(\(C-f\))630 3310 y Fo(Mo)m(v)m(e)32 b(forw)m(ard)e(a)h(c)m(haracter.)
+150 3475 y Fn(backward-char)c(\(C-b\))630 3584 y Fo(Mo)m(v)m(e)32
+b(bac)m(k)g(a)e(c)m(haracter.)150 3749 y Fn(forward-word)d(\(M-f\))630
+3859 y Fo(Mo)m(v)m(e)32 b(forw)m(ard)e(to)h(the)f(end)g(of)g(the)h
 (next)f(w)m(ord.)41 b(W)-8 b(ords)30 b(are)h(comp)s(osed)f(of)g
-(letters)i(and)630 3781 y(digits.)150 3935 y Fn(backward-word)27
-b(\(M-b\))630 4045 y Fo(Mo)m(v)m(e)36 b(bac)m(k)e(to)g(the)g(start)g
+(letters)i(and)630 3969 y(digits.)150 4133 y Fn(backward-word)27
+b(\(M-b\))630 4243 y Fo(Mo)m(v)m(e)36 b(bac)m(k)e(to)g(the)g(start)g
 (of)g(the)g(curren)m(t)f(or)g(previous)g(w)m(ord.)50
-b(W)-8 b(ords)34 b(are)g(comp)s(osed)630 4154 y(of)d(letters)g(and)f
-(digits.)150 4309 y Fn(previous-screen-line)25 b(\(\))630
-4418 y Fo(A)m(ttempt)41 b(to)g(mo)m(v)m(e)h(p)s(oin)m(t)e(to)h(the)f
+b(W)-8 b(ords)34 b(are)g(comp)s(osed)630 4353 y(of)d(letters)g(and)f
+(digits.)150 4518 y Fn(previous-screen-line)25 b(\(\))630
+4627 y Fo(A)m(ttempt)41 b(to)g(mo)m(v)m(e)h(p)s(oin)m(t)e(to)h(the)f
 (same)h(ph)m(ysical)g(screen)f(column)g(on)g(the)g(previous)630
-4528 y(ph)m(ysical)26 b(screen)f(line.)39 b(This)24 b(will)i(not)f(ha)m
+4737 y(ph)m(ysical)26 b(screen)f(line.)39 b(This)24 b(will)i(not)f(ha)m
 (v)m(e)h(the)f(desired)g(e\013ect)h(if)f(the)h(curren)m(t)e(Readline)
-630 4638 y(line)k(do)s(es)f(not)g(tak)m(e)i(up)d(more)i(than)f(one)g
+630 4846 y(line)k(do)s(es)f(not)g(tak)m(e)i(up)d(more)i(than)f(one)g
 (ph)m(ysical)h(line)g(or)f(if)g(p)s(oin)m(t)h(is)f(not)h(greater)g
-(than)630 4747 y(the)j(length)f(of)h(the)f(prompt)g(plus)f(the)i
-(screen)f(width.)150 4902 y Fn(next-screen-line)c(\(\))630
-5011 y Fo(A)m(ttempt)g(to)f(mo)m(v)m(e)i(p)s(oin)m(t)d(to)i(the)e(same)
+(than)630 4956 y(the)j(length)f(of)h(the)f(prompt)g(plus)f(the)i
+(screen)f(width.)150 5121 y Fn(next-screen-line)c(\(\))630
+5230 y Fo(A)m(ttempt)g(to)f(mo)m(v)m(e)i(p)s(oin)m(t)d(to)i(the)e(same)
 i(ph)m(ysical)f(screen)g(column)f(on)h(the)f(next)h(ph)m(ysical)630
-5121 y(screen)e(line.)39 b(This)23 b(will)g(not)h(ha)m(v)m(e)h(the)e
+5340 y(screen)e(line.)39 b(This)23 b(will)g(not)h(ha)m(v)m(e)h(the)e
 (desired)g(e\013ect)i(if)e(the)g(curren)m(t)h(Readline)g(line)f(do)s
-(es)630 5230 y(not)k(tak)m(e)i(up)e(more)g(than)g(one)g(ph)m(ysical)h
-(line)g(or)f(if)g(the)h(length)f(of)h(the)f(curren)m(t)g(Readline)630
-5340 y(line)k(is)f(not)h(greater)g(than)f(the)h(length)g(of)f(the)h
-(prompt)e(plus)h(the)g(screen)h(width.)p eop end
+(es)p eop end
 %%Page: 19 22
 TeXDict begin 19 21 bop 150 -116 a Fo(Chapter)30 b(1:)41
-b(Command)29 b(Line)i(Editing)2107 b(19)150 299 y Fn(clear-display)27
-b(\(M-C-l\))630 408 y Fo(Clear)33 b(the)g(screen)g(and,)h(if)e(p)s
+b(Command)29 b(Line)i(Editing)2107 b(19)630 299 y(not)27
+b(tak)m(e)i(up)e(more)g(than)g(one)g(ph)m(ysical)h(line)g(or)f(if)g
+(the)h(length)f(of)h(the)f(curren)m(t)g(Readline)630
+408 y(line)k(is)f(not)h(greater)g(than)f(the)h(length)g(of)f(the)h
+(prompt)e(plus)h(the)g(screen)h(width.)150 582 y Fn(clear-display)c
+(\(M-C-l\))630 692 y Fo(Clear)33 b(the)g(screen)g(and,)h(if)e(p)s
 (ossible,)i(the)f(terminal's)g(scrollbac)m(k)i(bu\013er,)e(then)f
-(redra)m(w)630 518 y(the)f(curren)m(t)f(line,)h(lea)m(ving)h(the)e
+(redra)m(w)630 801 y(the)f(curren)m(t)f(line,)h(lea)m(ving)h(the)e
 (curren)m(t)h(line)f(at)h(the)g(top)g(of)f(the)h(screen.)150
-674 y Fn(clear-screen)c(\(C-l\))630 784 y Fo(Clear)35
+975 y Fn(clear-screen)c(\(C-l\))630 1084 y Fo(Clear)35
 b(the)f(screen,)i(then)e(redra)m(w)g(the)h(curren)m(t)f(line,)i(lea)m
-(ving)g(the)f(curren)m(t)f(line)h(at)g(the)630 893 y(top)c(of)f(the)h
-(screen.)150 1049 y Fn(redraw-current-line)25 b(\(\))630
-1159 y Fo(Refresh)30 b(the)g(curren)m(t)h(line.)41 b(By)30
-b(default,)h(this)f(is)h(un)m(b)s(ound.)150 1355 y Fd(1.4.2)63
+(ving)g(the)f(curren)m(t)f(line)h(at)g(the)630 1194 y(top)c(of)f(the)h
+(screen.)150 1367 y Fn(redraw-current-line)25 b(\(\))630
+1477 y Fo(Refresh)30 b(the)g(curren)m(t)h(line.)41 b(By)30
+b(default,)h(this)f(is)h(un)m(b)s(ound.)150 1690 y Fd(1.4.2)63
 b(Commands)42 b(F)-10 b(or)41 b(Manipulating)h(The)f(History)150
-1525 y Fn(accept-line)27 b(\(Newline)h(or)i(Return\))630
-1634 y Fo(Accept)h(the)g(line)f(regardless)h(of)f(where)g(the)g(cursor)
+1869 y Fn(accept-line)27 b(\(Newline)h(or)i(Return\))630
+1979 y Fo(Accept)h(the)g(line)f(regardless)h(of)f(where)g(the)g(cursor)
 f(is.)41 b(If)30 b(this)g(line)g(is)h(non-empt)m(y)-8
-b(,)31 b(y)m(ou)630 1744 y(can)36 b(add)f(it)i(to)f(the)g(history)g
+b(,)31 b(y)m(ou)630 2089 y(can)36 b(add)f(it)i(to)f(the)g(history)g
 (list)h(using)e Fn(add_history\(\))p Fo(.)54 b(If)35
-b(this)h(line)g(is)g(a)g(mo)s(di\014ed)630 1854 y(history)30
+b(this)h(line)g(is)g(a)g(mo)s(di\014ed)630 2198 y(history)30
 b(line,)h(then)f(restore)h(the)g(history)f(line)h(to)g(its)g(original)g
-(state.)150 2010 y Fn(previous-history)26 b(\(C-p\))630
-2119 y Fo(Mo)m(v)m(e)32 b(`bac)m(k')g(through)e(the)g(history)h(list,)g
-(fetc)m(hing)g(the)g(previous)f(command.)150 2275 y Fn(next-history)d
-(\(C-n\))630 2385 y Fo(Mo)m(v)m(e)32 b(`forw)m(ard')f(through)e(the)i
+(state.)150 2372 y Fn(previous-history)26 b(\(C-p\))630
+2481 y Fo(Mo)m(v)m(e)32 b(`bac)m(k')g(through)e(the)g(history)h(list,)g
+(fetc)m(hing)g(the)g(previous)f(command.)150 2655 y Fn(next-history)d
+(\(C-n\))630 2764 y Fo(Mo)m(v)m(e)32 b(`forw)m(ard')f(through)e(the)i
 (history)f(list,)i(fetc)m(hing)f(the)g(next)f(command.)150
-2541 y Fn(beginning-of-history)25 b(\(M-<\))630 2650
+2938 y Fn(beginning-of-history)25 b(\(M-<\))630 3048
 y Fo(Mo)m(v)m(e)32 b(to)g(the)e(\014rst)g(line)g(in)h(the)f(history)-8
-b(.)150 2806 y Fn(end-of-history)26 b(\(M->\))630 2916
+b(.)150 3221 y Fn(end-of-history)26 b(\(M->\))630 3331
 y Fo(Mo)m(v)m(e)32 b(to)g(the)e(end)g(of)g(the)h(input)e(history)-8
 b(,)31 b(i.e.,)h(the)f(line)f(curren)m(tly)h(b)s(eing)f(en)m(tered.)150
-3072 y Fn(reverse-search-history)24 b(\(C-r\))630 3182
+3504 y Fn(reverse-search-history)24 b(\(C-r\))630 3614
 y Fo(Searc)m(h)31 b(bac)m(kw)m(ard)h(starting)g(at)g(the)f(curren)m(t)g
 (line)g(and)g(mo)m(ving)h(`up')e(through)h(the)g(his-)630
-3291 y(tory)26 b(as)h(necessary)-8 b(.)40 b(This)25 b(is)i(an)f
+3723 y(tory)26 b(as)h(necessary)-8 b(.)40 b(This)25 b(is)i(an)f
 (incremen)m(tal)h(searc)m(h.)40 b(This)25 b(command)h(sets)h(the)f
-(region)630 3401 y(to)31 b(the)g(matc)m(hed)g(text)g(and)f(activ)-5
-b(ates)33 b(the)d(region.)150 3557 y Fn(forward-search-history)24
-b(\(C-s\))630 3666 y Fo(Searc)m(h)44 b(forw)m(ard)f(starting)h(at)h
+(region)630 3833 y(to)31 b(the)g(matc)m(hed)g(text)g(and)f(activ)-5
+b(ates)33 b(the)d(region.)150 4007 y Fn(forward-search-history)24
+b(\(C-s\))630 4116 y Fo(Searc)m(h)44 b(forw)m(ard)f(starting)h(at)h
 (the)e(curren)m(t)h(line)g(and)f(mo)m(ving)h(`do)m(wn')g(through)f(the)
-630 3776 y(history)38 b(as)g(necessary)-8 b(.)65 b(This)38
+630 4226 y(history)38 b(as)g(necessary)-8 b(.)65 b(This)38
 b(is)g(an)g(incremen)m(tal)h(searc)m(h.)65 b(This)37
-b(command)h(sets)h(the)630 3886 y(region)31 b(to)g(the)g(matc)m(hed)g
+b(command)h(sets)h(the)630 4335 y(region)31 b(to)g(the)g(matc)m(hed)g
 (text)g(and)f(activ)-5 b(ates)33 b(the)d(region.)150
-4042 y Fn(non-incremental-reverse-)o(sear)o(ch-h)o(ist)o(ory)24
-b(\(M-p\))630 4151 y Fo(Searc)m(h)31 b(bac)m(kw)m(ard)h(starting)g(at)g
+4509 y Fn(non-incremental-reverse-)o(sear)o(ch-h)o(ist)o(ory)24
+b(\(M-p\))630 4618 y Fo(Searc)m(h)31 b(bac)m(kw)m(ard)h(starting)g(at)g
 (the)f(curren)m(t)g(line)g(and)g(mo)m(ving)h(`up')e(through)h(the)g
-(his-)630 4261 y(tory)36 b(as)g(necessary)h(using)e(a)i(non-incremen)m
+(his-)630 4728 y(tory)36 b(as)g(necessary)h(using)e(a)i(non-incremen)m
 (tal)g(searc)m(h)f(for)g(a)g(string)g(supplied)f(b)m(y)h(the)630
-4370 y(user.)k(The)30 b(searc)m(h)h(string)f(ma)m(y)h(matc)m(h)g(an)m
-(ywhere)g(in)f(a)h(history)f(line.)150 4526 y Fn
+4838 y(user.)k(The)30 b(searc)m(h)h(string)f(ma)m(y)h(matc)m(h)g(an)m
+(ywhere)g(in)f(a)h(history)f(line.)150 5011 y Fn
 (non-incremental-forward-)o(sear)o(ch-h)o(ist)o(ory)24
-b(\(M-n\))630 4636 y Fo(Searc)m(h)44 b(forw)m(ard)f(starting)h(at)h
+b(\(M-n\))630 5121 y Fo(Searc)m(h)44 b(forw)m(ard)f(starting)h(at)h
 (the)e(curren)m(t)h(line)g(and)f(mo)m(ving)h(`do)m(wn')g(through)f(the)
-630 4746 y(history)27 b(as)f(necessary)i(using)e(a)h(non-incremen)m
+630 5230 y(history)27 b(as)f(necessary)i(using)e(a)h(non-incremen)m
 (tal)g(searc)m(h)h(for)e(a)h(string)g(supplied)e(b)m(y)i(the)630
-4855 y(user.)40 b(The)30 b(searc)m(h)h(string)f(ma)m(y)h(matc)m(h)g(an)
-m(ywhere)g(in)f(a)h(history)f(line.)150 5011 y Fn
-(history-search-backward)24 b(\(\))630 5121 y Fo(Searc)m(h)35
-b(bac)m(kw)m(ard)g(through)f(the)h(history)g(for)g(the)f(string)h(of)g
-(c)m(haracters)h(b)s(et)m(w)m(een)g(the)630 5230 y(start)g(of)h(the)f
-(curren)m(t)f(line)i(and)e(the)h(p)s(oin)m(t.)58 b(The)35
-b(searc)m(h)i(string)e(m)m(ust)h(matc)m(h)h(at)g(the)630
-5340 y(b)s(eginning)44 b(of)g(a)h(history)g(line.)83
-b(This)44 b(is)g(a)h(non-incremen)m(tal)h(searc)m(h.)84
-b(By)44 b(default,)p eop end
+5340 y(user.)40 b(The)30 b(searc)m(h)h(string)f(ma)m(y)h(matc)m(h)g(an)
+m(ywhere)g(in)f(a)h(history)f(line.)p eop end
 %%Page: 20 23
 TeXDict begin 20 22 bop 150 -116 a Fo(Chapter)30 b(1:)41
-b(Command)29 b(Line)i(Editing)2107 b(20)630 299 y(this)32
-b(command)h(is)f(un)m(b)s(ound,)f(but)h(ma)m(y)h(b)s(e)f(b)s(ound)e(to)
-j(the)g(P)m(age)h(Do)m(wn)f(k)m(ey)g(on)g(some)630 408
-y(k)m(eyb)s(oards.)150 581 y Fn(history-search-forward)24
-b(\(\))630 690 y Fo(Searc)m(h)f(forw)m(ard)e(through)h(the)h(history)f
-(for)g(the)g(string)h(of)f(c)m(haracters)i(b)s(et)m(w)m(een)f(the)f
-(start)630 800 y(of)g(the)h(curren)m(t)f(line)g(and)g(the)g(p)s(oin)m
-(t.)38 b(The)22 b(searc)m(h)g(string)g(m)m(ust)g(matc)m(h)h(at)g(the)g
-(b)s(eginning)630 909 y(of)33 b(a)g(history)f(line.)48
-b(This)32 b(is)h(a)g(non-incremen)m(tal)h(searc)m(h.)48
-b(By)33 b(default,)h(this)e(command)630 1019 y(is)e(un)m(b)s(ound,)e
-(but)i(ma)m(y)h(b)s(e)f(b)s(ound)e(to)j(the)g(P)m(age)h(Up)e(k)m(ey)h
-(on)f(some)h(k)m(eyb)s(oards.)150 1191 y Fn(history-substring-search)o
-(-bac)o(kwar)o(d)24 b(\(\))630 1301 y Fo(Searc)m(h)35
+b(Command)29 b(Line)i(Editing)2107 b(20)150 299 y Fn
+(history-search-backward)24 b(\(\))630 408 y Fo(Searc)m(h)35
 b(bac)m(kw)m(ard)g(through)f(the)h(history)g(for)g(the)f(string)h(of)g
-(c)m(haracters)h(b)s(et)m(w)m(een)g(the)630 1410 y(start)29
-b(of)g(the)g(curren)m(t)g(line)g(and)f(the)h(p)s(oin)m(t.)40
-b(The)29 b(searc)m(h)g(string)g(ma)m(y)g(matc)m(h)h(an)m(ywhere)630
-1520 y(in)i(a)h(history)g(line.)47 b(This)32 b(is)g(a)h(non-incremen)m
-(tal)h(searc)m(h.)47 b(By)33 b(default,)h(this)e(command)630
-1630 y(is)e(un)m(b)s(ound.)150 1802 y Fn(history-substring-search)o
-(-for)o(ward)24 b(\(\))630 1911 y Fo(Searc)m(h)42 b(forw)m(ard)f
-(through)f(the)i(history)f(for)g(the)h(string)f(of)h(c)m(haracters)h(b)
-s(et)m(w)m(een)f(the)630 2021 y(start)29 b(of)g(the)g(curren)m(t)g
-(line)g(and)f(the)h(p)s(oin)m(t.)40 b(The)29 b(searc)m(h)g(string)g(ma)
-m(y)g(matc)m(h)h(an)m(ywhere)630 2131 y(in)i(a)h(history)g(line.)47
-b(This)32 b(is)g(a)h(non-incremen)m(tal)h(searc)m(h.)47
-b(By)33 b(default,)h(this)e(command)630 2240 y(is)e(un)m(b)s(ound.)150
-2412 y Fn(yank-nth-arg)d(\(M-C-y\))630 2522 y Fo(Insert)e(the)i
-(\014rst)e(argumen)m(t)h(to)h(the)f(previous)g(command)f(\(usually)h
-(the)g(second)g(w)m(ord)g(on)630 2632 y(the)k(previous)g(line\))g(at)h
-(p)s(oin)m(t.)40 b(With)31 b(an)f(argumen)m(t)g Ff(n)p
-Fo(,)g(insert)f(the)i Ff(n)p Fo(th)e(w)m(ord)g(from)h(the)630
-2741 y(previous)c(command)h(\(the)h(w)m(ords)e(in)h(the)g(previous)f
-(command)h(b)s(egin)f(with)h(w)m(ord)g(0\).)40 b(A)630
-2851 y(negativ)m(e)28 b(argumen)m(t)e(inserts)f(the)h
-Ff(n)p Fo(th)f(w)m(ord)g(from)g(the)h(end)f(of)h(the)g(previous)f
-(command.)630 2960 y(Once)32 b(the)f(argumen)m(t)h Ff(n)f
-Fo(is)h(computed,)g(this)f(uses)h(the)f(history)h(expansion)f
-(facilities)j(to)630 3070 y(extract)e(the)e Ff(n)p Fo(th)g(w)m(ord,)g
+(c)m(haracters)h(b)s(et)m(w)m(een)g(the)630 518 y(start)g(of)h(the)f
+(curren)m(t)f(line)i(and)e(the)h(p)s(oin)m(t.)58 b(The)35
+b(searc)m(h)i(string)e(m)m(ust)h(matc)m(h)h(at)g(the)630
+628 y(b)s(eginning)44 b(of)g(a)h(history)g(line.)83 b(This)44
+b(is)g(a)h(non-incremen)m(tal)h(searc)m(h.)84 b(By)44
+b(default,)630 737 y(this)32 b(command)h(is)f(un)m(b)s(ound,)f(but)h
+(ma)m(y)h(b)s(e)f(b)s(ound)e(to)j(the)g(P)m(age)h(Do)m(wn)f(k)m(ey)g
+(on)g(some)630 847 y(k)m(eyb)s(oards.)150 1029 y Fn
+(history-search-forward)24 b(\(\))630 1139 y Fo(Searc)m(h)f(forw)m(ard)
+e(through)h(the)h(history)f(for)g(the)g(string)h(of)f(c)m(haracters)i
+(b)s(et)m(w)m(een)f(the)f(start)630 1249 y(of)g(the)h(curren)m(t)f
+(line)g(and)g(the)g(p)s(oin)m(t.)38 b(The)22 b(searc)m(h)g(string)g(m)m
+(ust)g(matc)m(h)h(at)g(the)g(b)s(eginning)630 1358 y(of)33
+b(a)g(history)f(line.)48 b(This)32 b(is)h(a)g(non-incremen)m(tal)h
+(searc)m(h.)48 b(By)33 b(default,)h(this)e(command)630
+1468 y(is)e(un)m(b)s(ound,)e(but)i(ma)m(y)h(b)s(e)f(b)s(ound)e(to)j
+(the)g(P)m(age)h(Up)e(k)m(ey)h(on)f(some)h(k)m(eyb)s(oards.)150
+1650 y Fn(history-substring-search)o(-bac)o(kwar)o(d)24
+b(\(\))630 1760 y Fo(Searc)m(h)35 b(bac)m(kw)m(ard)g(through)f(the)h
+(history)g(for)g(the)f(string)h(of)g(c)m(haracters)h(b)s(et)m(w)m(een)g
+(the)630 1870 y(start)29 b(of)g(the)g(curren)m(t)g(line)g(and)f(the)h
+(p)s(oin)m(t.)40 b(The)29 b(searc)m(h)g(string)g(ma)m(y)g(matc)m(h)h
+(an)m(ywhere)630 1979 y(in)i(a)h(history)g(line.)47 b(This)32
+b(is)g(a)h(non-incremen)m(tal)h(searc)m(h.)47 b(By)33
+b(default,)h(this)e(command)630 2089 y(is)e(un)m(b)s(ound.)150
+2271 y Fn(history-substring-search)o(-for)o(ward)24 b(\(\))630
+2381 y Fo(Searc)m(h)42 b(forw)m(ard)f(through)f(the)i(history)f(for)g
+(the)h(string)f(of)h(c)m(haracters)h(b)s(et)m(w)m(een)f(the)630
+2491 y(start)29 b(of)g(the)g(curren)m(t)g(line)g(and)f(the)h(p)s(oin)m
+(t.)40 b(The)29 b(searc)m(h)g(string)g(ma)m(y)g(matc)m(h)h(an)m(ywhere)
+630 2600 y(in)i(a)h(history)g(line.)47 b(This)32 b(is)g(a)h
+(non-incremen)m(tal)h(searc)m(h.)47 b(By)33 b(default,)h(this)e
+(command)630 2710 y(is)e(un)m(b)s(ound.)150 2892 y Fn(yank-nth-arg)d
+(\(M-C-y\))630 3002 y Fo(Insert)e(the)i(\014rst)e(argumen)m(t)h(to)h
+(the)f(previous)g(command)f(\(usually)h(the)g(second)g(w)m(ord)g(on)630
+3112 y(the)k(previous)g(line\))g(at)h(p)s(oin)m(t.)40
+b(With)31 b(an)f(argumen)m(t)g Ff(n)p Fo(,)g(insert)f(the)i
+Ff(n)p Fo(th)e(w)m(ord)g(from)h(the)630 3221 y(previous)c(command)h
+(\(the)h(w)m(ords)e(in)h(the)g(previous)f(command)h(b)s(egin)f(with)h
+(w)m(ord)g(0\).)40 b(A)630 3331 y(negativ)m(e)28 b(argumen)m(t)e
+(inserts)f(the)h Ff(n)p Fo(th)f(w)m(ord)g(from)g(the)h(end)f(of)h(the)g
+(previous)f(command.)630 3440 y(Once)32 b(the)f(argumen)m(t)h
+Ff(n)f Fo(is)h(computed,)g(this)f(uses)h(the)f(history)h(expansion)f
+(facilities)j(to)630 3550 y(extract)e(the)e Ff(n)p Fo(th)g(w)m(ord,)g
 (as)h(if)f(the)h(`)p Fn(!)p Fg(n)p Fo(')f(history)g(expansion)h(had)e
-(b)s(een)h(sp)s(eci\014ed.)150 3242 y Fn(yank-last-arg)d(\(M-.)i(or)h
-(M-_\))630 3352 y Fo(Insert)k(last)i(argumen)m(t)g(to)g(the)f(previous)
+(b)s(een)h(sp)s(eci\014ed.)150 3733 y Fn(yank-last-arg)d(\(M-.)i(or)h
+(M-_\))630 3842 y Fo(Insert)k(last)i(argumen)m(t)g(to)g(the)f(previous)
 f(command)h(\(the)h(last)f(w)m(ord)g(of)g(the)g(previous)630
-3461 y(history)e(en)m(try\).)51 b(With)34 b(a)g(n)m(umeric)g(argumen)m
+3952 y(history)e(en)m(try\).)51 b(With)34 b(a)g(n)m(umeric)g(argumen)m
 (t,)h(b)s(eha)m(v)m(e)f(exactly)h(lik)m(e)g Fn(yank-nth-arg)p
-Fo(.)630 3571 y(Successiv)m(e)26 b(calls)g(to)f Fn(yank-last-arg)c
+Fo(.)630 4061 y(Successiv)m(e)26 b(calls)g(to)f Fn(yank-last-arg)c
 Fo(mo)m(v)m(e)27 b(bac)m(k)e(through)f(the)h(history)g(list,)i
-(inserting)630 3680 y(the)c(last)g(w)m(ord)f(\(or)h(the)g(w)m(ord)f(sp)
+(inserting)630 4171 y(the)c(last)g(w)m(ord)f(\(or)h(the)g(w)m(ord)f(sp)
 s(eci\014ed)g(b)m(y)g(the)h(argumen)m(t)g(to)g(the)g(\014rst)f(call\))i
-(of)f(eac)m(h)h(line)630 3790 y(in)36 b(turn.)58 b(An)m(y)36
+(of)f(eac)m(h)h(line)630 4281 y(in)36 b(turn.)58 b(An)m(y)36
 b(n)m(umeric)h(argumen)m(t)f(supplied)g(to)h(these)g(successiv)m(e)g
-(calls)h(determines)630 3900 y(the)d(direction)g(to)h(mo)m(v)m(e)g
+(calls)h(determines)630 4390 y(the)d(direction)g(to)h(mo)m(v)m(e)g
 (through)e(the)h(history)-8 b(.)54 b(A)35 b(negativ)m(e)i(argumen)m(t)e
-(switc)m(hes)h(the)630 4009 y(direction)23 b(through)e(the)i(history)f
+(switc)m(hes)h(the)630 4500 y(direction)23 b(through)e(the)i(history)f
 (\(bac)m(k)h(or)g(forw)m(ard\).)37 b(This)22 b(uses)g(the)g(history)g
-(expansion)630 4119 y(facilities)44 b(to)e(extract)g(the)g(last)g(w)m
+(expansion)630 4609 y(facilities)44 b(to)e(extract)g(the)g(last)g(w)m
 (ord,)i(as)e(if)f(the)g(`)p Fn(!$)p Fo(')h(history)f(expansion)g(had)g
-(b)s(een)630 4228 y(sp)s(eci\014ed.)150 4401 y Fn(operate-and-get-next)
-25 b(\(C-o\))630 4510 y Fo(Accept)30 b(the)g(curren)m(t)e(line)i(for)f
+(b)s(een)630 4719 y(sp)s(eci\014ed.)150 4902 y Fn(operate-and-get-next)
+25 b(\(C-o\))630 5011 y Fo(Accept)30 b(the)g(curren)m(t)e(line)i(for)f
 (return)f(to)h(the)h(calling)g(application)h(as)e(if)g(a)h(newline)f
-(had)630 4620 y(b)s(een)22 b(en)m(tered,)k(and)d(fetc)m(h)h(the)f(next)
+(had)630 5121 y(b)s(een)22 b(en)m(tered,)k(and)d(fetc)m(h)h(the)f(next)
 g(line)h(relativ)m(e)h(to)f(the)f(curren)m(t)g(line)h(from)f(the)g
-(history)630 4729 y(for)31 b(editing.)43 b(A)31 b(n)m(umeric)f(argumen)
+(history)630 5230 y(for)31 b(editing.)43 b(A)31 b(n)m(umeric)f(argumen)
 m(t,)i(if)f(supplied,)f(sp)s(eci\014es)h(the)g(history)f(en)m(try)i(to)
-f(use)630 4839 y(instead)g(of)f(the)h(curren)m(t)f(line.)150
-5011 y Fn(fetch-history)d(\(\))630 5121 y Fo(With)e(a)f(n)m(umeric)g
-(argumen)m(t,)i(fetc)m(h)f(that)g(en)m(try)f(from)g(the)g(history)g
-(list)h(and)e(mak)m(e)i(it)g(the)630 5230 y(curren)m(t)30
-b(line.)41 b(Without)30 b(an)g(argumen)m(t,)h(mo)m(v)m(e)g(bac)m(k)g
-(to)f(the)g(\014rst)f(en)m(try)h(in)g(the)g(history)630
-5340 y(list.)p eop end
+f(use)630 5340 y(instead)g(of)f(the)h(curren)m(t)f(line.)p
+eop end
 %%Page: 21 24
 TeXDict begin 21 23 bop 150 -116 a Fo(Chapter)30 b(1:)41
-b(Command)29 b(Line)i(Editing)2107 b(21)150 299 y Fd(1.4.3)63
+b(Command)29 b(Line)i(Editing)2107 b(21)150 299 y Fn(fetch-history)27
+b(\(\))630 408 y Fo(With)e(a)f(n)m(umeric)g(argumen)m(t,)i(fetc)m(h)f
+(that)g(en)m(try)f(from)g(the)g(history)g(list)h(and)e(mak)m(e)i(it)g
+(the)630 518 y(curren)m(t)30 b(line.)41 b(Without)30
+b(an)g(argumen)m(t,)h(mo)m(v)m(e)g(bac)m(k)g(to)f(the)g(\014rst)f(en)m
+(try)h(in)g(the)g(history)630 628 y(list.)150 835 y Fd(1.4.3)63
 b(Commands)42 b(F)-10 b(or)41 b(Changing)g(T)-10 b(ext)150
-464 y Fg(end-of-file)27 b Fn(\(usually)h(C-d\))630 574
+1011 y Fg(end-of-file)27 b Fn(\(usually)h(C-d\))630 1121
 y Fo(The)e(c)m(haracter)h(indicating)h(end-of-\014le)e(as)h(set,)g(for)
 f(example,)i(b)m(y)e Fn(stty)p Fo(.)39 b(If)25 b(this)h(c)m(harac-)630
-683 y(ter)c(is)g(read)g(when)e(there)i(are)h(no)e(c)m(haracters)j(on)d
+1230 y(ter)c(is)g(read)g(when)e(there)i(are)h(no)e(c)m(haracters)j(on)d
 (the)h(line,)i(and)d(p)s(oin)m(t)h(is)g(at)h(the)f(b)s(eginning)630
-793 y(of)31 b(the)f(line,)h(Readline)g(in)m(terprets)g(it)g(as)f(the)h
+1340 y(of)31 b(the)f(line,)h(Readline)g(in)m(terprets)g(it)g(as)f(the)h
 (end)f(of)g(input)f(and)h(returns)f Fh(eof)p Fo(.)150
-939 y Fn(delete-char)e(\(C-d\))630 1048 y Fo(Delete)35
+1507 y Fn(delete-char)e(\(C-d\))630 1617 y Fo(Delete)35
 b(the)f(c)m(haracter)h(at)f(p)s(oin)m(t.)49 b(If)33 b(this)g(function)g
-(is)g(b)s(ound)e(to)j(the)g(same)f(c)m(haracter)630 1158
-y(as)e(the)f(tt)m(y)i Fh(eof)d Fo(c)m(haracter,)j(as)f
-Fg(C-d)e Fo(commonly)i(is,)g(see)g(ab)s(o)m(v)m(e)h(for)e(the)g
-(e\013ects.)150 1304 y Fn(backward-delete-char)25 b(\(Rubout\))630
-1414 y Fo(Delete)32 b(the)f(c)m(haracter)g(b)s(ehind)e(the)h(cursor.)40
+(is)g(b)s(ound)e(to)j(the)g(same)f(c)m(haracter)630 1727
+y(as)i(the)f(tt)m(y)i Fh(eof)e Fo(c)m(haracter,)j(as)e
+Fg(C-d)e Fo(commonly)j(is,)f(see)g(ab)s(o)m(v)m(e)h(for)e(the)h
+(e\013ects.)55 b(This)630 1836 y(ma)m(y)31 b(also)g(b)s(e)f(b)s(ound)e
+(to)j(the)g(Delete)i(k)m(ey)e(on)f(some)h(k)m(eyb)s(oards.)150
+2004 y Fn(backward-delete-char)25 b(\(Rubout\))630 2113
+y Fo(Delete)32 b(the)f(c)m(haracter)g(b)s(ehind)e(the)h(cursor.)40
 b(A)30 b(n)m(umeric)g(argumen)m(t)h(means)f(to)h(kill)g(the)630
-1523 y(c)m(haracters,)h(sa)m(ving)f(them)g(on)f(the)h(kill)g(ring,)f
-(instead)h(of)f(deleting)i(them.)150 1669 y Fn
-(forward-backward-delete-)o(char)24 b(\(\))630 1779 y
+2223 y(c)m(haracters,)h(sa)m(ving)f(them)g(on)f(the)h(kill)g(ring,)f
+(instead)h(of)f(deleting)i(them.)150 2391 y Fn
+(forward-backward-delete-)o(char)24 b(\(\))630 2500 y
 Fo(Delete)40 b(the)f(c)m(haracter)h(under)c(the)j(cursor,)h(unless)d
-(the)i(cursor)e(is)h(at)h(the)g(end)e(of)i(the)630 1888
+(the)i(cursor)e(is)h(at)h(the)g(end)e(of)i(the)630 2610
 y(line,)33 b(in)e(whic)m(h)g(case)i(the)f(c)m(haracter)h(b)s(ehind)d
 (the)i(cursor)f(is)g(deleted.)46 b(By)32 b(default,)g(this)630
-1998 y(is)e(not)h(b)s(ound)d(to)j(a)g(k)m(ey)-8 b(.)150
-2144 y Fn(quoted-insert)27 b(\(C-q)i(or)h(C-v\))630 2254
+2719 y(is)e(not)h(b)s(ound)d(to)j(a)g(k)m(ey)-8 b(.)150
+2887 y Fn(quoted-insert)27 b(\(C-q)i(or)h(C-v\))630 2997
 y Fo(Add)j(the)i(next)f(c)m(haracter)i(t)m(yp)s(ed)e(to)h(the)f(line)h
 (v)m(erbatim.)53 b(This)33 b(is)i(ho)m(w)f(to)h(insert)f(k)m(ey)630
-2363 y(sequences)d(lik)m(e)g Fg(C-q)p Fo(,)f(for)g(example.)150
-2509 y Fn(tab-insert)e(\(M-TAB\))630 2619 y Fo(Insert)i(a)h(tab)f(c)m
-(haracter.)150 2765 y Fn(self-insert)d(\(a,)j(b,)g(A,)f(1,)h(!,)g(...)o
-(\))630 2875 y Fo(Insert)g(the)g(c)m(haracter)i(t)m(yp)s(ed.)150
-3021 y Fn(bracketed-paste-begin)25 b(\(\))630 3130 y
+3106 y(sequences)d(lik)m(e)g Fg(C-q)p Fo(,)f(for)g(example.)150
+3274 y Fn(tab-insert)e(\(M-TAB\))630 3383 y Fo(Insert)i(a)h(tab)f(c)m
+(haracter.)150 3551 y Fn(self-insert)d(\(a,)j(b,)g(A,)f(1,)h(!,)g(...)o
+(\))630 3661 y Fo(Insert)g(the)g(c)m(haracter)i(t)m(yp)s(ed.)150
+3828 y Fn(bracketed-paste-begin)25 b(\(\))630 3938 y
 Fo(This)f(function)h(is)f(in)m(tended)h(to)h(b)s(e)e(b)s(ound)f(to)i
 (the)g Fn(")p Fo(brac)m(k)m(eted)h(paste)p Fn(")f Fo(escap)s(e)h
-(sequence)630 3240 y(sen)m(t)38 b(b)m(y)f(some)h(terminals,)i(and)d
+(sequence)630 4047 y(sen)m(t)38 b(b)m(y)f(some)h(terminals,)i(and)d
 (suc)m(h)g(a)h(binding)e(is)i(assigned)f(b)m(y)h(default.)62
-b(It)38 b(allo)m(ws)630 3349 y(Readline)33 b(to)g(insert)g(the)f
+b(It)38 b(allo)m(ws)630 4157 y(Readline)33 b(to)g(insert)g(the)f
 (pasted)h(text)g(as)g(a)g(single)g(unit)f(without)h(treating)h(eac)m(h)
-f(c)m(har-)630 3459 y(acter)40 b(as)f(if)g(it)g(had)f(b)s(een)g(read)h
+f(c)m(har-)630 4267 y(acter)40 b(as)f(if)g(it)g(had)f(b)s(een)g(read)h
 (from)f(the)h(k)m(eyb)s(oard.)66 b(The)39 b(c)m(haracters)h(are)f
-(inserted)630 3569 y(as)44 b(if)g(eac)m(h)i(one)e(w)m(as)g(b)s(ound)e
+(inserted)630 4376 y(as)44 b(if)g(eac)m(h)i(one)e(w)m(as)g(b)s(ound)e
 (to)j Fn(self-insert)c Fo(instead)j(of)h(executing)g(an)m(y)f(editing)
-630 3678 y(commands.)630 3806 y(Brac)m(k)m(eted)38 b(paste)f(sets)f
+630 4486 y(commands.)630 4624 y(Brac)m(k)m(eted)38 b(paste)f(sets)f
 (the)h(region)f(\(the)h(c)m(haracters)g(b)s(et)m(w)m(een)g(p)s(oin)m(t)
-f(and)g(the)g(mark\))630 3916 y(to)31 b(the)g(inserted)f(text.)42
+f(and)g(the)g(mark\))630 4734 y(to)31 b(the)g(inserted)f(text.)42
 b(It)30 b(sets)h(the)f Fe(active)j(r)-5 b(e)g(gion)p
-Fo(.)150 4062 y Fn(transpose-chars)26 b(\(C-t\))630 4171
+Fo(.)150 4902 y Fn(transpose-chars)26 b(\(C-t\))630 5011
 y Fo(Drag)33 b(the)f(c)m(haracter)h(b)s(efore)f(the)g(cursor)f(forw)m
 (ard)h(o)m(v)m(er)h(the)f(c)m(haracter)i(at)e(the)g(cursor,)630
-4281 y(mo)m(ving)k(the)g(cursor)f(forw)m(ard)g(as)g(w)m(ell.)57
+5121 y(mo)m(ving)k(the)g(cursor)f(forw)m(ard)g(as)g(w)m(ell.)57
 b(If)35 b(the)h(insertion)g(p)s(oin)m(t)f(is)g(at)i(the)e(end)g(of)h
-(the)630 4390 y(line,)24 b(then)e(this)g(transp)s(oses)f(the)h(last)h
+(the)630 5230 y(line,)24 b(then)e(this)g(transp)s(oses)f(the)h(last)h
 (t)m(w)m(o)g(c)m(haracters)g(of)f(the)h(line.)38 b(Negativ)m(e)25
-b(argumen)m(ts)630 4500 y(ha)m(v)m(e)32 b(no)e(e\013ect.)150
-4646 y Fn(transpose-words)c(\(M-t\))630 4756 y Fo(Drag)33
-b(the)g(w)m(ord)f(b)s(efore)g(p)s(oin)m(t)g(past)g(the)h(w)m(ord)f
-(after)g(p)s(oin)m(t,)i(mo)m(ving)f(p)s(oin)m(t)f(past)g(that)630
-4865 y(w)m(ord)c(as)h(w)m(ell.)41 b(If)27 b(the)i(insertion)f(p)s(oin)m
-(t)h(is)f(at)h(the)g(end)e(of)i(the)f(line,)i(this)e(transp)s(oses)g
-(the)630 4975 y(last)j(t)m(w)m(o)h(w)m(ords)e(on)g(the)h(line.)150
-5121 y Fn(upcase-word)c(\(M-u\))630 5230 y Fo(Upp)s(ercase)32
-b(the)g(curren)m(t)g(\(or)g(follo)m(wing\))i(w)m(ord.)45
-b(With)32 b(a)g(negativ)m(e)j(argumen)m(t,)e(upp)s(er-)630
-5340 y(case)e(the)g(previous)f(w)m(ord,)g(but)g(do)g(not)h(mo)m(v)m(e)h
-(the)e(cursor.)p eop end
+b(argumen)m(ts)630 5340 y(ha)m(v)m(e)32 b(no)e(e\013ect.)p
+eop end
 %%Page: 22 25
 TeXDict begin 22 24 bop 150 -116 a Fo(Chapter)30 b(1:)41
-b(Command)29 b(Line)i(Editing)2107 b(22)150 299 y Fn(downcase-word)27
-b(\(M-l\))630 408 y Fo(Lo)m(w)m(ercase)c(the)f(curren)m(t)f(\(or)h
-(follo)m(wing\))i(w)m(ord.)37 b(With)22 b(a)g(negativ)m(e)i(argumen)m
-(t,)g(lo)m(w)m(ercase)630 518 y(the)31 b(previous)e(w)m(ord,)i(but)e
-(do)i(not)f(mo)m(v)m(e)i(the)f(cursor.)150 674 y Fn(capitalize-word)26
-b(\(M-c\))630 784 y Fo(Capitalize)d(the)f(curren)m(t)f(\(or)g(follo)m
+b(Command)29 b(Line)i(Editing)2107 b(22)150 299 y Fn(transpose-words)26
+b(\(M-t\))630 408 y Fo(Drag)33 b(the)g(w)m(ord)f(b)s(efore)g(p)s(oin)m
+(t)g(past)g(the)h(w)m(ord)f(after)g(p)s(oin)m(t,)i(mo)m(ving)f(p)s(oin)
+m(t)f(past)g(that)630 518 y(w)m(ord)c(as)h(w)m(ell.)41
+b(If)27 b(the)i(insertion)f(p)s(oin)m(t)h(is)f(at)h(the)g(end)e(of)i
+(the)f(line,)i(this)e(transp)s(oses)g(the)630 628 y(last)j(t)m(w)m(o)h
+(w)m(ords)e(on)g(the)h(line.)150 797 y Fn(upcase-word)c(\(M-u\))630
+907 y Fo(Upp)s(ercase)32 b(the)g(curren)m(t)g(\(or)g(follo)m(wing\))i
+(w)m(ord.)45 b(With)32 b(a)g(negativ)m(e)j(argumen)m(t,)e(upp)s(er-)630
+1016 y(case)e(the)g(previous)f(w)m(ord,)g(but)g(do)g(not)h(mo)m(v)m(e)h
+(the)e(cursor.)150 1186 y Fn(downcase-word)d(\(M-l\))630
+1296 y Fo(Lo)m(w)m(ercase)c(the)f(curren)m(t)f(\(or)h(follo)m(wing\))i
+(w)m(ord.)37 b(With)22 b(a)g(negativ)m(e)i(argumen)m(t,)g(lo)m(w)m
+(ercase)630 1405 y(the)31 b(previous)e(w)m(ord,)i(but)e(do)i(not)f(mo)m
+(v)m(e)i(the)f(cursor.)150 1575 y Fn(capitalize-word)26
+b(\(M-c\))630 1684 y Fo(Capitalize)d(the)f(curren)m(t)f(\(or)g(follo)m
 (wing\))i(w)m(ord.)38 b(With)21 b(a)h(negativ)m(e)h(argumen)m(t,)h
-(capitalize)630 893 y(the)31 b(previous)e(w)m(ord,)i(but)e(do)i(not)f
-(mo)m(v)m(e)i(the)f(cursor.)150 1049 y Fn(overwrite-mode)26
-b(\(\))630 1159 y Fo(T)-8 b(oggle)35 b(o)m(v)m(erwrite)g(mo)s(de.)48
+(capitalize)630 1794 y(the)31 b(previous)e(w)m(ord,)i(but)e(do)i(not)f
+(mo)m(v)m(e)i(the)f(cursor.)150 1964 y Fn(overwrite-mode)26
+b(\(\))630 2073 y Fo(T)-8 b(oggle)35 b(o)m(v)m(erwrite)g(mo)s(de.)48
 b(With)33 b(an)g(explicit)h(p)s(ositiv)m(e)g(n)m(umeric)f(argumen)m(t,)
-h(switc)m(hes)630 1268 y(to)22 b(o)m(v)m(erwrite)i(mo)s(de.)37
+h(switc)m(hes)630 2183 y(to)22 b(o)m(v)m(erwrite)i(mo)s(de.)37
 b(With)22 b(an)g(explicit)h(non-p)s(ositiv)m(e)f(n)m(umeric)g(argumen)m
-(t,)i(switc)m(hes)e(to)630 1378 y(insert)30 b(mo)s(de.)41
+(t,)i(switc)m(hes)e(to)630 2292 y(insert)30 b(mo)s(de.)41
 b(This)30 b(command)h(a\013ects)h(only)e Fn(emacs)f Fo(mo)s(de;)i
-Fn(vi)f Fo(mo)s(de)g(do)s(es)g(o)m(v)m(erwrite)630 1488
+Fn(vi)f Fo(mo)s(de)g(do)s(es)g(o)m(v)m(erwrite)630 2402
 y(di\013eren)m(tly)-8 b(.)42 b(Eac)m(h)31 b(call)h(to)f
 Fn(readline\(\))c Fo(starts)k(in)f(insert)g(mo)s(de.)630
-1620 y(In)52 b(o)m(v)m(erwrite)h(mo)s(de,)58 b(c)m(haracters)c(b)s
+2541 y(In)52 b(o)m(v)m(erwrite)h(mo)s(de,)58 b(c)m(haracters)c(b)s
 (ound)c(to)j Fn(self-insert)c Fo(replace)k(the)g(text)g(at)630
-1730 y(p)s(oin)m(t)59 b(rather)f(than)h(pushing)e(the)i(text)g(to)h
+2651 y(p)s(oin)m(t)59 b(rather)f(than)h(pushing)e(the)i(text)g(to)h
 (the)f(righ)m(t.)126 b(Characters)59 b(b)s(ound)d(to)630
-1840 y Fn(backward-delete-char)25 b Fo(replace)31 b(the)g(c)m(haracter)
-h(b)s(efore)e(p)s(oin)m(t)g(with)g(a)h(space.)630 1972
+2761 y Fn(backward-delete-char)25 b Fo(replace)31 b(the)g(c)m(haracter)
+h(b)s(efore)e(p)s(oin)m(t)g(with)g(a)h(space.)630 2900
 y(By)g(default,)g(this)g(command)f(is)h(un)m(b)s(ound,)d(but)i(ma)m(y)h
 (b)s(e)f(b)s(ound)e(to)k(the)f(Insert)f(k)m(ey)h(on)630
-2082 y(some)g(k)m(eyb)s(oards.)150 2278 y Fd(1.4.4)63
-b(Killing)42 b(And)e(Y)-10 b(anking)150 2448 y Fn(kill-line)28
-b(\(C-k\))630 2558 y Fo(Kill)e(the)h(text)g(from)e(p)s(oin)m(t)h(to)h
+3010 y(some)g(k)m(eyb)s(oards.)150 3219 y Fd(1.4.4)63
+b(Killing)42 b(And)e(Y)-10 b(anking)150 3396 y Fn(kill-line)28
+b(\(C-k\))630 3506 y Fo(Kill)e(the)h(text)g(from)e(p)s(oin)m(t)h(to)h
 (the)f(end)f(of)h(the)h(curren)m(t)e(line.)40 b(With)27
-b(a)f(negativ)m(e)i(n)m(umeric)630 2667 y(argumen)m(t,)j(kill)g(bac)m
+b(a)f(negativ)m(e)i(n)m(umeric)630 3615 y(argumen)m(t,)j(kill)g(bac)m
 (kw)m(ard)g(from)f(the)g(cursor)g(to)h(the)g(b)s(eginning)e(of)i(the)g
-(line.)150 2823 y Fn(backward-kill-line)25 b(\(C-x)30
-b(Rubout\))630 2933 y Fo(Kill)40 b(bac)m(kw)m(ard)h(from)e(the)h
+(line.)150 3785 y Fn(backward-kill-line)25 b(\(C-x)30
+b(Rubout\))630 3895 y Fo(Kill)40 b(bac)m(kw)m(ard)h(from)e(the)h
 (cursor)g(to)g(the)g(b)s(eginning)g(of)g(the)g(curren)m(t)f(line.)70
-b(With)41 b(a)630 3042 y(negativ)m(e)31 b(n)m(umeric)e(argumen)m(t,)h
+b(With)41 b(a)630 4004 y(negativ)m(e)31 b(n)m(umeric)e(argumen)m(t,)h
 (kill)g(forw)m(ard)f(from)f(the)i(cursor)e(to)i(the)f(end)g(of)g(the)g
-(line.)150 3198 y Fn(unix-line-discard)d(\(C-u\))630
-3308 y Fo(Kill)31 b(bac)m(kw)m(ard)g(from)e(the)i(cursor)f(to)h(the)f
-(b)s(eginning)g(of)h(the)f(curren)m(t)g(line.)150 3464
-y Fn(kill-whole-line)c(\(\))630 3574 y Fo(Kill)37 b(all)g(c)m
+(line.)150 4174 y Fn(unix-line-discard)d(\(C-u\))630
+4283 y Fo(Kill)31 b(bac)m(kw)m(ard)g(from)e(the)i(cursor)f(to)h(the)f
+(b)s(eginning)g(of)h(the)f(curren)m(t)g(line.)150 4453
+y Fn(kill-whole-line)c(\(\))630 4562 y Fo(Kill)37 b(all)g(c)m
 (haracters)h(on)f(the)f(curren)m(t)h(line,)h(no)f(matter)g(where)f(p)s
-(oin)m(t)h(is.)59 b(By)36 b(default,)630 3683 y(this)30
-b(is)h(un)m(b)s(ound.)150 3839 y Fn(kill-word)d(\(M-d\))630
-3949 y Fo(Kill)i(from)f(p)s(oin)m(t)g(to)h(the)g(end)e(of)i(the)f
+(oin)m(t)h(is.)59 b(By)36 b(default,)630 4672 y(this)30
+b(is)h(un)m(b)s(ound.)150 4842 y Fn(kill-word)d(\(M-d\))630
+4951 y Fo(Kill)i(from)f(p)s(oin)m(t)g(to)h(the)g(end)e(of)i(the)f
 (curren)m(t)h(w)m(ord,)f(or)g(if)h(b)s(et)m(w)m(een)g(w)m(ords,)f(to)h
-(the)g(end)630 4058 y(of)h(the)f(next)h(w)m(ord.)40 b(W)-8
+(the)g(end)630 5061 y(of)h(the)f(next)h(w)m(ord.)40 b(W)-8
 b(ord)31 b(b)s(oundaries)e(are)h(the)h(same)g(as)f Fn(forward-word)p
-Fo(.)150 4214 y Fn(backward-kill-word)25 b(\(M-DEL\))630
-4324 y Fo(Kill)k(the)g(w)m(ord)g(b)s(ehind)e(p)s(oin)m(t.)40
+Fo(.)150 5230 y Fn(backward-kill-word)25 b(\(M-DEL\))630
+5340 y Fo(Kill)k(the)g(w)m(ord)g(b)s(ehind)e(p)s(oin)m(t.)40
 b(W)-8 b(ord)29 b(b)s(oundaries)f(are)h(the)g(same)g(as)g
-Fn(backward-word)p Fo(.)150 4480 y Fn(unix-word-rubout)d(\(C-w\))630
-4590 y Fo(Kill)33 b(the)f(w)m(ord)g(b)s(ehind)f(p)s(oin)m(t,)i(using)f
-(white)g(space)h(as)f(a)h(w)m(ord)f(b)s(oundary)-8 b(,)32
-b(sa)m(ving)h(the)630 4699 y(killed)e(text)g(on)g(the)f(kill-ring.)150
-4855 y Fn(unix-filename-rubout)25 b(\(\))630 4965 y Fo(Kill)37
-b(the)f(w)m(ord)g(b)s(ehind)f(p)s(oin)m(t,)j(using)e(white)g(space)h
-(and)f(the)g(slash)g(c)m(haracter)i(as)f(the)630 5074
-y(w)m(ord)30 b(b)s(oundaries,)f(sa)m(ving)i(the)g(killed)g(text)g(on)g
-(the)f(kill-ring.)150 5230 y Fn(delete-horizontal-space)24
-b(\(\))630 5340 y Fo(Delete)33 b(all)e(spaces)g(and)e(tabs)i(around)e
-(p)s(oin)m(t.)41 b(By)31 b(default,)f(this)h(is)f(un)m(b)s(ound.)p
-eop end
+Fn(backward-word)p Fo(.)p eop end
 %%Page: 23 26
 TeXDict begin 23 25 bop 150 -116 a Fo(Chapter)30 b(1:)41
-b(Command)29 b(Line)i(Editing)2107 b(23)150 299 y Fn(kill-region)27
-b(\(\))630 408 y Fo(Kill)k(the)f(text)i(in)e(the)g(curren)m(t)h
-(region.)41 b(By)31 b(default,)f(this)h(command)f(is)g(un)m(b)s(ound.)
-150 554 y Fn(copy-region-as-kill)25 b(\(\))630 663 y
-Fo(Cop)m(y)34 b(the)g(text)h(in)f(the)g(region)g(to)h(the)f(kill)h
-(bu\013er,)f(so)g(it)h(can)f(b)s(e)f(y)m(ank)m(ed)i(righ)m(t)f(a)m(w)m
-(a)m(y)-8 b(.)630 773 y(By)31 b(default,)f(this)h(command)f(is)g(un)m
-(b)s(ound.)150 918 y Fn(copy-backward-word)25 b(\(\))630
-1028 y Fo(Cop)m(y)38 b(the)h(w)m(ord)f(b)s(efore)g(p)s(oin)m(t)g(to)i
-(the)e(kill)h(bu\013er.)64 b(The)38 b(w)m(ord)g(b)s(oundaries)f(are)i
-(the)630 1138 y(same)31 b(as)f Fn(backward-word)p Fo(.)38
-b(By)30 b(default,)h(this)f(command)g(is)h(un)m(b)s(ound.)150
-1283 y Fn(copy-forward-word)26 b(\(\))630 1393 y Fo(Cop)m(y)31
+b(Command)29 b(Line)i(Editing)2107 b(23)150 299 y Fn(unix-word-rubout)
+26 b(\(C-w\))630 408 y Fo(Kill)33 b(the)f(w)m(ord)g(b)s(ehind)f(p)s
+(oin)m(t,)i(using)f(white)g(space)h(as)f(a)h(w)m(ord)f(b)s(oundary)-8
+b(,)32 b(sa)m(ving)h(the)630 518 y(killed)e(text)g(on)g(the)f
+(kill-ring.)150 713 y Fn(unix-filename-rubout)25 b(\(\))630
+822 y Fo(Kill)37 b(the)f(w)m(ord)g(b)s(ehind)f(p)s(oin)m(t,)j(using)e
+(white)g(space)h(and)f(the)g(slash)g(c)m(haracter)i(as)f(the)630
+932 y(w)m(ord)30 b(b)s(oundaries,)f(sa)m(ving)i(the)g(killed)g(text)g
+(on)g(the)f(kill-ring.)150 1126 y Fn(delete-horizontal-space)24
+b(\(\))630 1236 y Fo(Delete)33 b(all)e(spaces)g(and)e(tabs)i(around)e
+(p)s(oin)m(t.)41 b(By)31 b(default,)f(this)h(is)f(un)m(b)s(ound.)150
+1430 y Fn(kill-region)d(\(\))630 1540 y Fo(Kill)k(the)f(text)i(in)e
+(the)g(curren)m(t)h(region.)41 b(By)31 b(default,)f(this)h(command)f
+(is)g(un)m(b)s(ound.)150 1734 y Fn(copy-region-as-kill)25
+b(\(\))630 1844 y Fo(Cop)m(y)34 b(the)g(text)h(in)f(the)g(region)g(to)h
+(the)f(kill)h(bu\013er,)f(so)g(it)h(can)f(b)s(e)f(y)m(ank)m(ed)i(righ)m
+(t)f(a)m(w)m(a)m(y)-8 b(.)630 1954 y(By)31 b(default,)f(this)h(command)
+f(is)g(un)m(b)s(ound.)150 2148 y Fn(copy-backward-word)25
+b(\(\))630 2258 y Fo(Cop)m(y)38 b(the)h(w)m(ord)f(b)s(efore)g(p)s(oin)m
+(t)g(to)i(the)e(kill)h(bu\013er.)64 b(The)38 b(w)m(ord)g(b)s(oundaries)
+f(are)i(the)630 2367 y(same)31 b(as)f Fn(backward-word)p
+Fo(.)38 b(By)30 b(default,)h(this)f(command)g(is)h(un)m(b)s(ound.)150
+2562 y Fn(copy-forward-word)26 b(\(\))630 2671 y Fo(Cop)m(y)31
 b(the)g(w)m(ord)g(follo)m(wing)h(p)s(oin)m(t)f(to)h(the)f(kill)h
 (bu\013er.)42 b(The)30 b(w)m(ord)h(b)s(oundaries)e(are)j(the)630
-1502 y(same)f(as)f Fn(forward-word)p Fo(.)38 b(By)30
+2781 y(same)f(as)f Fn(forward-word)p Fo(.)38 b(By)30
 b(default,)h(this)g(command)f(is)g(un)m(b)s(ound.)150
-1647 y Fn(yank)f(\(C-y\))630 1757 y Fo(Y)-8 b(ank)31
+2975 y Fn(yank)f(\(C-y\))630 3085 y Fo(Y)-8 b(ank)31
 b(the)f(top)h(of)g(the)f(kill)h(ring)f(in)m(to)i(the)e(bu\013er)g(at)h
-(p)s(oin)m(t.)150 1902 y Fn(yank-pop)d(\(M-y\))630 2012
+(p)s(oin)m(t.)150 3279 y Fn(yank-pop)d(\(M-y\))630 3389
 y Fo(Rotate)36 b(the)f(kill-ring,)i(and)d(y)m(ank)h(the)f(new)g(top.)54
 b(Y)-8 b(ou)35 b(can)g(only)f(do)h(this)f(if)h(the)g(prior)630
-2122 y(command)30 b(is)h Fn(yank)e Fo(or)h Fn(yank-pop)p
-Fo(.)150 2307 y Fd(1.4.5)63 b(Sp)s(ecifying)42 b(Numeric)f(Argumen)m
-(ts)150 2472 y Fn(digit-argument)26 b(\()p Fg(M-0)p Fn(,)j
-Fg(M-1)p Fn(,)h(...)f Fg(M--)p Fn(\))630 2581 y Fo(Add)d(this)h(digit)g
+3499 y(command)30 b(is)h Fn(yank)e Fo(or)h Fn(yank-pop)p
+Fo(.)150 3733 y Fd(1.4.5)63 b(Sp)s(ecifying)42 b(Numeric)f(Argumen)m
+(ts)150 3922 y Fn(digit-argument)26 b(\()p Fg(M-0)p Fn(,)j
+Fg(M-1)p Fn(,)h(...)f Fg(M--)p Fn(\))630 4032 y Fo(Add)d(this)h(digit)g
 (to)h(the)f(argumen)m(t)g(already)h(accum)m(ulating,)h(or)e(start)h(a)f
-(new)f(argumen)m(t.)630 2691 y Fg(M--)j Fo(starts)i(a)g(negativ)m(e)i
-(argumen)m(t.)150 2836 y Fn(universal-argument)25 b(\(\))630
-2946 y Fo(This)g(is)g(another)h(w)m(a)m(y)g(to)h(sp)s(ecify)e(an)g
+(new)f(argumen)m(t.)630 4142 y Fg(M--)j Fo(starts)i(a)g(negativ)m(e)i
+(argumen)m(t.)150 4336 y Fn(universal-argument)25 b(\(\))630
+4446 y Fo(This)g(is)g(another)h(w)m(a)m(y)g(to)h(sp)s(ecify)e(an)g
 (argumen)m(t.)40 b(If)25 b(this)g(command)h(is)f(follo)m(w)m(ed)i(b)m
-(y)f(one)630 3055 y(or)k(more)f(digits,)i(optionally)g(with)e(a)h
+(y)f(one)630 4555 y(or)k(more)f(digits,)i(optionally)g(with)e(a)h
 (leading)h(min)m(us)e(sign,)h(those)g(digits)g(de\014ne)f(the)h(ar-)630
-3165 y(gumen)m(t.)41 b(If)28 b(the)i(command)f(is)g(follo)m(w)m(ed)h(b)
+4665 y(gumen)m(t.)41 b(If)28 b(the)i(command)f(is)g(follo)m(w)m(ed)h(b)
 m(y)f(digits,)i(executing)f Fn(universal-argument)630
-3275 y Fo(again)j(ends)e(the)h(n)m(umeric)f(argumen)m(t,)i(but)e(is)h
+4774 y Fo(again)j(ends)e(the)h(n)m(umeric)f(argumen)m(t,)i(but)e(is)h
 (otherwise)g(ignored.)45 b(As)32 b(a)g(sp)s(ecial)h(case,)630
-3384 y(if)g(this)g(command)f(is)h(immediately)h(follo)m(w)m(ed)h(b)m(y)
+4884 y(if)g(this)g(command)f(is)h(immediately)h(follo)m(w)m(ed)h(b)m(y)
 d(a)h(c)m(haracter)i(that)e(is)g(neither)g(a)g(digit)630
-3494 y(nor)41 b(min)m(us)f(sign,)k(the)e(argumen)m(t)f(coun)m(t)h(for)f
+4994 y(nor)41 b(min)m(us)f(sign,)k(the)e(argumen)m(t)f(coun)m(t)h(for)f
 (the)h(next)f(command)g(is)g(m)m(ultiplied)h(b)m(y)630
-3603 y(four.)54 b(The)35 b(argumen)m(t)g(coun)m(t)h(is)f(initially)h
+5103 y(four.)54 b(The)35 b(argumen)m(t)g(coun)m(t)h(is)f(initially)h
 (one,)h(so)e(executing)i(this)e(function)f(the)i(\014rst)630
-3713 y(time)29 b(mak)m(es)h(the)e(argumen)m(t)i(coun)m(t)f(four,)f(a)h
+5213 y(time)29 b(mak)m(es)h(the)e(argumen)m(t)i(coun)m(t)f(four,)f(a)h
 (second)g(time)g(mak)m(es)h(the)e(argumen)m(t)h(coun)m(t)630
-3822 y(sixteen,)i(and)f(so)h(on.)40 b(By)31 b(default,)g(this)f(is)g
-(not)h(b)s(ound)d(to)k(a)e(k)m(ey)-8 b(.)150 4008 y Fd(1.4.6)63
+5322 y(sixteen,)i(and)f(so)h(on.)40 b(By)31 b(default,)g(this)f(is)g
+(not)h(b)s(ound)d(to)k(a)e(k)m(ey)-8 b(.)p eop end
+%%Page: 24 27
+TeXDict begin 24 26 bop 150 -116 a Fo(Chapter)30 b(1:)41
+b(Command)29 b(Line)i(Editing)2107 b(24)150 299 y Fd(1.4.6)63
 b(Letting)40 b(Readline)h(T)m(yp)s(e)g(F)-10 b(or)42
-b(Y)-10 b(ou)150 4173 y Fn(complete)28 b(\(TAB\))630
-4282 y Fo(A)m(ttempt)c(to)f(p)s(erform)e(completion)j(on)f(the)g(text)g
-(b)s(efore)f(p)s(oin)m(t.)39 b(The)22 b(actual)i(completion)630
-4392 y(p)s(erformed)29 b(is)h(application-sp)s(eci\014c.)42
+b(Y)-10 b(ou)150 478 y Fn(complete)28 b(\(TAB\))630 587
+y Fo(A)m(ttempt)c(to)f(p)s(erform)e(completion)j(on)f(the)g(text)g(b)s
+(efore)f(p)s(oin)m(t.)39 b(The)22 b(actual)i(completion)630
+697 y(p)s(erformed)29 b(is)h(application-sp)s(eci\014c.)42
 b(The)30 b(default)h(is)f(\014lename)h(completion.)150
-4537 y Fn(possible-completions)25 b(\(M-?\))630 4647
-Fo(List)35 b(the)g(p)s(ossible)f(completions)i(of)e(the)h(text)h(b)s
+870 y Fn(possible-completions)25 b(\(M-?\))630 979 y
+Fo(List)35 b(the)g(p)s(ossible)f(completions)i(of)e(the)h(text)h(b)s
 (efore)e(p)s(oin)m(t.)54 b(When)34 b(displa)m(ying)h(com-)630
-4756 y(pletions,)f(Readline)f(sets)f(the)h(n)m(um)m(b)s(er)e(of)i
+1089 y(pletions,)f(Readline)f(sets)f(the)h(n)m(um)m(b)s(er)e(of)i
 (columns)f(used)f(for)i(displa)m(y)f(to)h(the)g(v)-5
-b(alue)33 b(of)630 4866 y Fn(completion-display-width)o
+b(alue)33 b(of)630 1199 y Fn(completion-display-width)o
 Fo(,)g(the)j(v)-5 b(alue)37 b(of)g(the)f(en)m(vironmen)m(t)h(v)-5
-b(ariable)38 b Fn(COLUMNS)p Fo(,)630 4975 y(or)30 b(the)h(screen)f
-(width,)g(in)g(that)h(order.)150 5121 y Fn(insert-completions)25
-b(\(M-*\))630 5230 y Fo(Insert)30 b(all)h(completions)h(of)f(the)g
+b(ariable)38 b Fn(COLUMNS)p Fo(,)630 1308 y(or)30 b(the)h(screen)f
+(width,)g(in)g(that)h(order.)150 1481 y Fn(insert-completions)25
+b(\(M-*\))630 1591 y Fo(Insert)30 b(all)h(completions)h(of)f(the)g
 (text)g(b)s(efore)f(p)s(oin)m(t)h(that)g(w)m(ould)f(ha)m(v)m(e)i(b)s
-(een)e(generated)630 5340 y(b)m(y)g Fn(possible-completions)p
-Fo(,)25 b(separated)31 b(b)m(y)f(a)h(space.)p eop end
-%%Page: 24 27
-TeXDict begin 24 26 bop 150 -116 a Fo(Chapter)30 b(1:)41
-b(Command)29 b(Line)i(Editing)2107 b(24)150 299 y Fn(menu-complete)27
-b(\(\))630 408 y Fo(Similar)d(to)g Fn(complete)p Fo(,)f(but)h(replaces)
-g(the)g(w)m(ord)g(to)g(b)s(e)f(completed)i(with)e(a)i(single)f(matc)m
-(h)630 518 y(from)41 b(the)h(list)g(of)g(p)s(ossible)f(completions.)76
-b(Rep)s(eatedly)42 b(executing)h Fn(menu-complete)630
-628 y Fo(steps)28 b(through)e(the)i(list)h(of)e(p)s(ossible)g
-(completions,)j(inserting)e(eac)m(h)g(matc)m(h)h(in)e(turn.)39
-b(A)m(t)630 737 y(the)h(end)f(of)h(the)f(list)i(of)f(completions,)j
-Fn(menu-complete)36 b Fo(rings)j(the)h(b)s(ell)f(\(sub)5
-b(ject)40 b(to)630 847 y(the)d(setting)h(of)e Fn(bell-style)p
-Fo(\))e(and)i(restores)h(the)g(original)h(text.)60 b(An)37
-b(argumen)m(t)g(of)f Ff(n)630 956 y Fo(mo)m(v)m(es)i
-Ff(n)e Fo(p)s(ositions)g(forw)m(ard)g(in)g(the)h(list)g(of)f(matc)m
-(hes;)41 b(a)c(negativ)m(e)i(argumen)m(t)e(mo)m(v)m(es)630
-1066 y(bac)m(kw)m(ard)29 b(through)f(the)h(list.)41 b(This)28
-b(command)g(is)h(in)m(tended)g(to)g(b)s(e)f(b)s(ound)f(to)i
-Fn(TAB)p Fo(,)g(but)630 1176 y(is)h(un)m(b)s(ound)e(b)m(y)i(default.)
-150 1331 y Fn(menu-complete-backward)24 b(\(\))630 1441
+(een)e(generated)630 1700 y(b)m(y)g Fn(possible-completions)p
+Fo(,)25 b(separated)31 b(b)m(y)f(a)h(space.)150 1874
+y Fn(menu-complete)c(\(\))630 1983 y Fo(Similar)d(to)g
+Fn(complete)p Fo(,)f(but)h(replaces)g(the)g(w)m(ord)g(to)g(b)s(e)f
+(completed)i(with)e(a)i(single)f(matc)m(h)630 2093 y(from)41
+b(the)h(list)g(of)g(p)s(ossible)f(completions.)76 b(Rep)s(eatedly)42
+b(executing)h Fn(menu-complete)630 2202 y Fo(steps)28
+b(through)e(the)i(list)h(of)e(p)s(ossible)g(completions,)j(inserting)e
+(eac)m(h)g(matc)m(h)h(in)e(turn.)39 b(A)m(t)630 2312
+y(the)h(end)f(of)h(the)f(list)i(of)f(completions,)j Fn(menu-complete)36
+b Fo(rings)j(the)h(b)s(ell)f(\(sub)5 b(ject)40 b(to)630
+2421 y(the)d(setting)h(of)e Fn(bell-style)p Fo(\))e(and)i(restores)h
+(the)g(original)h(text.)60 b(An)37 b(argumen)m(t)g(of)f
+Ff(n)630 2531 y Fo(mo)m(v)m(es)i Ff(n)e Fo(p)s(ositions)g(forw)m(ard)g
+(in)g(the)h(list)g(of)f(matc)m(hes;)41 b(a)c(negativ)m(e)i(argumen)m(t)
+e(mo)m(v)m(es)630 2641 y(bac)m(kw)m(ard)29 b(through)f(the)h(list.)41
+b(This)28 b(command)g(is)h(in)m(tended)g(to)g(b)s(e)f(b)s(ound)f(to)i
+Fn(TAB)p Fo(,)g(but)630 2750 y(is)h(un)m(b)s(ound)e(b)m(y)i(default.)
+150 2923 y Fn(menu-complete-backward)24 b(\(\))630 3033
 y Fo(Iden)m(tical)36 b(to)g Fn(menu-complete)p Fo(,)d(but)h(mo)m(v)m
 (es)j(bac)m(kw)m(ard)e(through)f(the)i(list)f(of)g(p)s(ossible)630
-1550 y(completions,)j(as)e(if)g Fn(menu-complete)c Fo(had)j(b)s(een)h
+3142 y(completions,)j(as)e(if)g Fn(menu-complete)c Fo(had)j(b)s(een)h
 (giv)m(en)g(a)g(negativ)m(e)i(argumen)m(t.)58 b(This)630
-1660 y(command)30 b(is)h(un)m(b)s(ound)c(b)m(y)k(default.)150
-1815 y Fn(delete-char-or-list)25 b(\(\))630 1925 y Fo(Deletes)41
+3252 y(command)30 b(is)h(un)m(b)s(ound)c(b)m(y)k(default.)150
+3425 y Fn(delete-char-or-list)25 b(\(\))630 3535 y Fo(Deletes)41
 b(the)e(c)m(haracter)h(under)e(the)h(cursor)f(if)h(not)g(at)g(the)h(b)s
-(eginning)e(or)h(end)f(of)h(the)630 2034 y(line)49 b(\(lik)m(e)g
+(eginning)e(or)h(end)f(of)h(the)630 3644 y(line)49 b(\(lik)m(e)g
 Fn(delete-char)p Fo(\).)92 b(A)m(t)49 b(the)f(end)g(of)g(the)g(line,)54
 b(it)48 b(b)s(eha)m(v)m(es)h(iden)m(tically)h(to)630
-2144 y Fn(possible-completions)p Fo(.)35 b(This)30 b(command)g(is)g(un)
-m(b)s(ound)e(b)m(y)i(default.)150 2339 y Fd(1.4.7)63
-b(Keyb)s(oard)41 b(Macros)150 2509 y Fn(start-kbd-macro)26
-b(\(C-x)j(\(\))630 2618 y Fo(Begin)i(sa)m(ving)h(the)e(c)m(haracters)i
+3754 y Fn(possible-completions)p Fo(.)35 b(This)30 b(command)g(is)g(un)
+m(b)s(ound)e(b)m(y)i(default.)150 3967 y Fd(1.4.7)63
+b(Keyb)s(oard)41 b(Macros)150 4146 y Fn(start-kbd-macro)26
+b(\(C-x)j(\(\))630 4255 y Fo(Begin)i(sa)m(ving)h(the)e(c)m(haracters)i
 (t)m(yp)s(ed)e(in)m(to)h(the)g(curren)m(t)f(k)m(eyb)s(oard)g(macro.)150
-2774 y Fn(end-kbd-macro)d(\(C-x)i(\)\))630 2883 y Fo(Stop)e(sa)m(ving)h
+4428 y Fn(end-kbd-macro)d(\(C-x)i(\)\))630 4538 y Fo(Stop)e(sa)m(ving)h
 (the)g(c)m(haracters)g(t)m(yp)s(ed)f(in)m(to)i(the)e(curren)m(t)g(k)m
-(eyb)s(oard)g(macro)h(and)f(sa)m(v)m(e)i(the)630 2993
-y(de\014nition.)150 3148 y Fn(call-last-kbd-macro)c(\(C-x)k(e\))630
-3258 y Fo(Re-execute)37 b(the)e(last)h(k)m(eyb)s(oard)f(macro)h
+(eyb)s(oard)g(macro)h(and)f(sa)m(v)m(e)i(the)630 4647
+y(de\014nition.)150 4820 y Fn(call-last-kbd-macro)c(\(C-x)k(e\))630
+4930 y Fo(Re-execute)37 b(the)e(last)h(k)m(eyb)s(oard)f(macro)h
 (de\014ned,)f(b)m(y)h(making)f(the)g(c)m(haracters)i(in)e(the)630
-3367 y(macro)c(app)s(ear)f(as)g(if)h(t)m(yp)s(ed)f(at)h(the)f(k)m(eyb)s
-(oard.)150 3523 y Fn(print-last-kbd-macro)25 b(\(\))630
-3632 y Fo(Prin)m(t)30 b(the)g(last)h(k)m(eyb)s(oard)f(macro)h
+5040 y(macro)c(app)s(ear)f(as)g(if)h(t)m(yp)s(ed)f(at)h(the)f(k)m(eyb)s
+(oard.)150 5213 y Fn(print-last-kbd-macro)25 b(\(\))630
+5322 y Fo(Prin)m(t)30 b(the)g(last)h(k)m(eyb)s(oard)f(macro)h
 (de\014ned)e(in)h(a)g(format)h(suitable)g(for)f(the)g
-Ff(inputrc)35 b Fo(\014le.)150 3827 y Fd(1.4.8)63 b(Some)41
-b(Miscellaneous)i(Commands)150 3997 y Fn(re-read-init-file)26
-b(\(C-x)j(C-r\))630 4107 y Fo(Read)22 b(in)g(the)g(con)m(ten)m(ts)h(of)
-f(the)g Ff(inputrc)27 b Fo(\014le,)d(and)d(incorp)s(orate)h(an)m(y)h
-(bindings)d(or)i(v)-5 b(ariable)630 4216 y(assignmen)m(ts)31
-b(found)e(there.)150 4372 y Fn(abort)g(\(C-g\))630 4481
+Ff(inputrc)35 b Fo(\014le.)p eop end
+%%Page: 25 28
+TeXDict begin 25 27 bop 150 -116 a Fo(Chapter)30 b(1:)41
+b(Command)29 b(Line)i(Editing)2107 b(25)150 299 y Fd(1.4.8)63
+b(Some)41 b(Miscellaneous)i(Commands)150 466 y Fn(re-read-init-file)26
+b(\(C-x)j(C-r\))630 576 y Fo(Read)22 b(in)g(the)g(con)m(ten)m(ts)h(of)f
+(the)g Ff(inputrc)27 b Fo(\014le,)d(and)d(incorp)s(orate)h(an)m(y)h
+(bindings)d(or)i(v)-5 b(ariable)630 685 y(assignmen)m(ts)31
+b(found)e(there.)150 836 y Fn(abort)g(\(C-g\))630 945
 y Fo(Ab)s(ort)d(the)h(curren)m(t)f(editing)h(command)f(and)g(ring)h
 (the)f(terminal's)h(b)s(ell)g(\(sub)5 b(ject)26 b(to)i(the)630
-4591 y(setting)j(of)g Fn(bell-style)p Fo(\).)150 4746
+1055 y(setting)j(of)g Fn(bell-style)p Fo(\).)150 1205
 y Fn(do-lowercase-version)25 b(\(M-A,)k(M-B,)g(M-)p Fg(x)p
-Fn(,)g(...)o(\))630 4856 y Fo(If)35 b(the)g(meta\014ed)g(c)m(haracter)i
+Fn(,)g(...)o(\))630 1315 y Fo(If)35 b(the)g(meta\014ed)g(c)m(haracter)i
 Ff(x)k Fo(is)35 b(upp)s(er)e(case,)k(run)d(the)h(command)g(that)g(is)g
-(b)s(ound)e(to)630 4965 y(the)g(corresp)s(onding)f(meta\014ed)h(lo)m(w)
+(b)s(ound)e(to)630 1425 y(the)g(corresp)s(onding)f(meta\014ed)h(lo)m(w)
 m(er)i(case)f(c)m(haracter.)50 b(The)32 b(b)s(eha)m(vior)h(is)g
-(unde\014ned)e(if)630 5075 y Ff(x)37 b Fo(is)30 b(already)h(lo)m(w)m
-(er)h(case.)150 5230 y Fn(prefix-meta)27 b(\(ESC\))630
-5340 y Fo(Metafy)32 b(the)e(next)h(c)m(haracter)h(t)m(yp)s(ed.)40
+(unde\014ned)e(if)630 1534 y Ff(x)37 b Fo(is)30 b(already)h(lo)m(w)m
+(er)h(case.)150 1685 y Fn(prefix-meta)27 b(\(ESC\))630
+1794 y Fo(Metafy)32 b(the)e(next)h(c)m(haracter)h(t)m(yp)s(ed.)40
 b(T)m(yping)30 b(`)p Fn(ESC)g(f)p Fo(')g(is)h(equiv)-5
-b(alen)m(t)31 b(to)h(t)m(yping)e Fg(M-f)p Fo(.)p eop
-end
-%%Page: 25 28
-TeXDict begin 25 27 bop 150 -116 a Fo(Chapter)30 b(1:)41
-b(Command)29 b(Line)i(Editing)2107 b(25)150 299 y Fn(undo)29
-b(\(C-_)g(or)h(C-x)g(C-u\))630 408 y Fo(Incremen)m(tal)h(undo,)f
-(separately)h(remem)m(b)s(ered)f(for)g(eac)m(h)i(line.)150
-584 y Fn(revert-line)27 b(\(M-r\))630 693 y Fo(Undo)33
+b(alen)m(t)31 b(to)h(t)m(yping)e Fg(M-f)p Fo(.)150 1945
+y Fn(undo)f(\(C-_)g(or)h(C-x)g(C-u\))630 2054 y Fo(Incremen)m(tal)h
+(undo,)f(separately)h(remem)m(b)s(ered)f(for)g(eac)m(h)i(line.)150
+2205 y Fn(revert-line)27 b(\(M-r\))630 2314 y Fo(Undo)33
 b(all)h(c)m(hanges)g(made)f(to)h(this)f(line.)49 b(This)32
 b(is)h(lik)m(e)i(executing)f(the)f Fn(undo)f Fo(command)630
-803 y(enough)e(times)h(to)g(get)h(bac)m(k)f(to)g(the)f(initial)i
-(state.)150 978 y Fn(tilde-expand)27 b(\(M-~\))630 1088
+2424 y(enough)e(times)h(to)g(get)h(bac)m(k)f(to)g(the)f(initial)i
+(state.)150 2574 y Fn(tilde-expand)27 b(\(M-~\))630 2684
 y Fo(P)m(erform)j(tilde)h(expansion)g(on)f(the)g(curren)m(t)h(w)m(ord.)
-150 1263 y Fn(set-mark)d(\(C-@\))630 1373 y Fo(Set)k(the)g(mark)f(to)h
+150 2834 y Fn(set-mark)d(\(C-@\))630 2944 y Fo(Set)k(the)g(mark)f(to)h
 (the)g(p)s(oin)m(t.)45 b(If)31 b(a)h(n)m(umeric)f(argumen)m(t)h(is)g
-(supplied,)f(set)h(the)g(mark)f(to)630 1482 y(that)g(p)s(osition.)150
-1658 y Fn(exchange-point-and-mark)24 b(\(C-x)29 b(C-x\))630
-1767 y Fo(Sw)m(ap)38 b(the)g(p)s(oin)m(t)h(with)f(the)g(mark.)65
+(supplied,)f(set)h(the)g(mark)f(to)630 3054 y(that)g(p)s(osition.)150
+3204 y Fn(exchange-point-and-mark)24 b(\(C-x)29 b(C-x\))630
+3314 y Fo(Sw)m(ap)38 b(the)g(p)s(oin)m(t)h(with)f(the)g(mark.)65
 b(Set)38 b(the)h(curren)m(t)f(cursor)g(p)s(osition)g(to)h(the)g(sa)m(v)
-m(ed)630 1877 y(p)s(osition,)31 b(then)f(set)h(the)f(mark)g(to)h(the)g
-(old)g(cursor)e(p)s(osition.)150 2052 y Fn(character-search)d(\(C-]\))
-630 2162 y Fo(Read)33 b(a)h(c)m(haracter)g(and)e(mo)m(v)m(e)j(p)s(oin)m
+m(ed)630 3423 y(p)s(osition,)31 b(then)f(set)h(the)f(mark)g(to)h(the)g
+(old)g(cursor)e(p)s(osition.)150 3574 y Fn(character-search)d(\(C-]\))
+630 3683 y Fo(Read)33 b(a)h(c)m(haracter)g(and)e(mo)m(v)m(e)j(p)s(oin)m
 (t)e(to)h(the)f(next)g(o)s(ccurrence)g(of)g(that)h(c)m(haracter.)50
-b(A)630 2271 y(negativ)m(e)33 b(argumen)m(t)d(searc)m(hes)i(for)e
-(previous)g(o)s(ccurrences.)150 2447 y Fn(character-search-backwar)o(d)
-24 b(\(M-C-]\))630 2556 y Fo(Read)30 b(a)g(c)m(haracter)h(and)e(mo)m(v)
+b(A)630 3793 y(negativ)m(e)33 b(argumen)m(t)d(searc)m(hes)i(for)e
+(previous)g(o)s(ccurrences.)150 3943 y Fn(character-search-backwar)o(d)
+24 b(\(M-C-]\))630 4053 y Fo(Read)30 b(a)g(c)m(haracter)h(and)e(mo)m(v)
 m(e)i(p)s(oin)m(t)e(to)i(the)e(previous)g(o)s(ccurrence)h(of)g(that)g
-(c)m(haracter.)630 2666 y(A)g(negativ)m(e)j(argumen)m(t)e(searc)m(hes)g
-(for)f(subsequen)m(t)g(o)s(ccurrences.)150 2841 y Fn(skip-csi-sequence)
-c(\(\))630 2951 y Fo(Read)i(enough)f(c)m(haracters)h(to)g(consume)f(a)h
+(c)m(haracter.)630 4162 y(A)g(negativ)m(e)j(argumen)m(t)e(searc)m(hes)g
+(for)f(subsequen)m(t)g(o)s(ccurrences.)150 4313 y Fn(skip-csi-sequence)
+c(\(\))630 4422 y Fo(Read)i(enough)f(c)m(haracters)h(to)g(consume)f(a)h
 (m)m(ulti-k)m(ey)h(sequence)f(suc)m(h)f(as)g(those)h(de\014ned)630
-3061 y(for)40 b(k)m(eys)h(lik)m(e)g(Home)g(and)f(End.)68
+4532 y(for)40 b(k)m(eys)h(lik)m(e)g(Home)g(and)f(End.)68
 b(CSI)40 b(sequences)g(b)s(egin)g(with)g(a)g(Con)m(trol)h(Sequence)630
-3170 y(Indicator)c(\(CSI\),)f(usually)h(ESC-[.)59 b(If)36
+4642 y(Indicator)c(\(CSI\),)f(usually)h(ESC-[.)59 b(If)36
 b(this)g(sequence)h(is)g(b)s(ound)d(to)k Fn("\\)p Fo(e[)p
-Fn(")p Fo(,)g(k)m(eys)f(pro-)630 3280 y(ducing)31 b(CSI)f(sequences)i
+Fn(")p Fo(,)g(k)m(eys)f(pro-)630 4751 y(ducing)31 b(CSI)f(sequences)i
 (will)g(ha)m(v)m(e)h(no)e(e\013ect)i(unless)e(explicitly)i(b)s(ound)c
-(to)j(a)g(Readline)630 3389 y(command,)g(instead)g(of)g(inserting)g
+(to)j(a)g(Readline)630 4861 y(command,)g(instead)g(of)g(inserting)g
 (stra)m(y)h(c)m(haracters)g(in)m(to)g(the)f(editing)h(bu\013er.)44
-b(This)31 b(is)630 3499 y(un)m(b)s(ound)d(b)m(y)i(default,)h(but)f
-(usually)g(b)s(ound)e(to)j(ESC-[.)150 3674 y Fn(insert-comment)26
-b(\(M-#\))630 3784 y Fo(Without)34 b(a)g(n)m(umeric)g(argumen)m(t,)h
+b(This)31 b(is)630 4970 y(un)m(b)s(ound)d(b)m(y)i(default,)h(but)f
+(usually)g(b)s(ound)e(to)j(ESC-[.)150 5121 y Fn(insert-comment)26
+b(\(M-#\))630 5230 y Fo(Without)34 b(a)g(n)m(umeric)g(argumen)m(t,)h
 (insert)f(the)f(v)-5 b(alue)35 b(of)e(the)h Fn(comment-begin)c
-Fo(v)-5 b(ariable)630 3893 y(at)38 b(the)g(b)s(eginning)f(of)h(the)f
+Fo(v)-5 b(ariable)630 5340 y(at)38 b(the)g(b)s(eginning)f(of)h(the)f
 (curren)m(t)h(line.)63 b(If)37 b(a)h(n)m(umeric)f(argumen)m(t)h(is)g
-(supplied,)g(this)630 4003 y(command)i(acts)h(as)f(a)g(toggle:)62
-b(if)40 b(the)g(c)m(haracters)i(at)e(the)g(b)s(eginning)g(of)g(the)g
-(line)g(do)630 4113 y(not)35 b(matc)m(h)g(the)g(v)-5
-b(alue)35 b(of)f Fn(comment-begin)p Fo(,)f(insert)h(the)h(v)-5
-b(alue;)37 b(otherwise)e(delete)h(the)630 4222 y(c)m(haracters)28
-b(in)f Fn(comment-begin)c Fo(from)j(the)h(b)s(eginning)f(of)h(the)g
-(line.)40 b(In)26 b(either)h(case,)i(the)630 4332 y(line)i(is)f
-(accepted)i(as)e(if)h(a)g(newline)f(had)g(b)s(een)f(t)m(yp)s(ed.)150
-4507 y Fn(dump-functions)d(\(\))630 4617 y Fo(Prin)m(t)g(all)i(of)e
-(the)h(functions)f(and)g(their)g(k)m(ey)h(bindings)e(to)j(the)e
-(Readline)h(output)f(stream.)630 4726 y(If)31 b(a)h(n)m(umeric)g
-(argumen)m(t)g(is)g(supplied,)f(the)h(output)f(is)h(formatted)g(in)f
-(suc)m(h)h(a)g(w)m(a)m(y)g(that)630 4836 y(it)f(can)g(b)s(e)e(made)i
-(part)f(of)g(an)h Ff(inputrc)k Fo(\014le.)41 b(This)29
-b(command)h(is)h(un)m(b)s(ound)c(b)m(y)k(default.)150
-5011 y Fn(dump-variables)26 b(\(\))630 5121 y Fo(Prin)m(t)21
-b(all)h(of)g(the)f(settable)i(v)-5 b(ariables)22 b(and)f(their)g(v)-5
-b(alues)22 b(to)g(the)f(Readline)h(output)f(stream.)630
-5230 y(If)31 b(a)h(n)m(umeric)g(argumen)m(t)g(is)g(supplied,)f(the)h
-(output)f(is)h(formatted)g(in)f(suc)m(h)h(a)g(w)m(a)m(y)g(that)630
-5340 y(it)f(can)g(b)s(e)e(made)i(part)f(of)g(an)h Ff(inputrc)k
-Fo(\014le.)41 b(This)29 b(command)h(is)h(un)m(b)s(ound)c(b)m(y)k
-(default.)p eop end
+(supplied,)g(this)p eop end
 %%Page: 26 29
 TeXDict begin 26 28 bop 150 -116 a Fo(Chapter)30 b(1:)41
-b(Command)29 b(Line)i(Editing)2107 b(26)150 299 y Fn(dump-macros)27
-b(\(\))630 408 y Fo(Prin)m(t)34 b(all)g(of)g(the)g(Readline)g(k)m(ey)h
-(sequences)f(b)s(ound)e(to)i(macros)g(and)f(the)h(strings)g(they)630
-518 y(output)e(to)h(the)f(Readline)h(output)f(stream.)46
+b(Command)29 b(Line)i(Editing)2107 b(26)630 299 y(command)40
+b(acts)h(as)f(a)g(toggle:)62 b(if)40 b(the)g(c)m(haracters)i(at)e(the)g
+(b)s(eginning)g(of)g(the)g(line)g(do)630 408 y(not)35
+b(matc)m(h)g(the)g(v)-5 b(alue)35 b(of)f Fn(comment-begin)p
+Fo(,)f(insert)h(the)h(v)-5 b(alue;)37 b(otherwise)e(delete)h(the)630
+518 y(c)m(haracters)28 b(in)f Fn(comment-begin)c Fo(from)j(the)h(b)s
+(eginning)f(of)h(the)g(line.)40 b(In)26 b(either)h(case,)i(the)630
+628 y(line)i(is)f(accepted)i(as)e(if)h(a)g(newline)f(had)g(b)s(een)f(t)
+m(yp)s(ed.)150 787 y Fn(dump-functions)d(\(\))630 897
+y Fo(Prin)m(t)g(all)i(of)e(the)h(functions)f(and)g(their)g(k)m(ey)h
+(bindings)e(to)j(the)e(Readline)h(output)f(stream.)630
+1006 y(If)31 b(a)h(n)m(umeric)g(argumen)m(t)g(is)g(supplied,)f(the)h
+(output)f(is)h(formatted)g(in)f(suc)m(h)h(a)g(w)m(a)m(y)g(that)630
+1116 y(it)f(can)g(b)s(e)e(made)i(part)f(of)g(an)h Ff(inputrc)k
+Fo(\014le.)41 b(This)29 b(command)h(is)h(un)m(b)s(ound)c(b)m(y)k
+(default.)150 1275 y Fn(dump-variables)26 b(\(\))630
+1385 y Fo(Prin)m(t)21 b(all)h(of)g(the)f(settable)i(v)-5
+b(ariables)22 b(and)f(their)g(v)-5 b(alues)22 b(to)g(the)f(Readline)h
+(output)f(stream.)630 1494 y(If)31 b(a)h(n)m(umeric)g(argumen)m(t)g(is)
+g(supplied,)f(the)h(output)f(is)h(formatted)g(in)f(suc)m(h)h(a)g(w)m(a)
+m(y)g(that)630 1604 y(it)f(can)g(b)s(e)e(made)i(part)f(of)g(an)h
+Ff(inputrc)k Fo(\014le.)41 b(This)29 b(command)h(is)h(un)m(b)s(ound)c
+(b)m(y)k(default.)150 1763 y Fn(dump-macros)c(\(\))630
+1873 y Fo(Prin)m(t)34 b(all)g(of)g(the)g(Readline)g(k)m(ey)h(sequences)
+f(b)s(ound)e(to)i(macros)g(and)f(the)h(strings)g(they)630
+1983 y(output)e(to)h(the)f(Readline)h(output)f(stream.)46
 b(If)32 b(a)g(n)m(umeric)g(argumen)m(t)h(is)f(supplied,)g(the)630
-628 y(output)g(is)f(formatted)i(in)f(suc)m(h)f(a)h(w)m(a)m(y)h(that)g
+2092 y(output)g(is)f(formatted)i(in)f(suc)m(h)f(a)h(w)m(a)m(y)h(that)g
 (it)f(can)g(b)s(e)g(made)g(part)f(of)h(an)g Ff(inputrc)37
-b Fo(\014le.)630 737 y(This)30 b(command)g(is)g(un)m(b)s(ound)e(b)m(y)i
-(default.)150 897 y Fn(execute-named-command)25 b(\(M-x\))630
-1006 y Fo(Read)j(a)g(bindable)f(readline)h(command)g(name)g(from)f(the)
-h(input)f(and)g(execute)j(the)e(func-)630 1116 y(tion)e(to)h(whic)m(h)f
+b Fo(\014le.)630 2202 y(This)30 b(command)g(is)g(un)m(b)s(ound)e(b)m(y)
+i(default.)150 2361 y Fn(execute-named-command)25 b(\(M-x\))630
+2471 y Fo(Read)g(a)h(bindable)f(Readline)g(command)g(name)h(from)e(the)
+i(input)e(and)h(execute)h(the)g(func-)630 2580 y(tion)g(to)h(whic)m(h)f
 (it's)g(b)s(ound,)f(as)h(if)g(the)g(k)m(ey)h(sequence)f(to)h(whic)m(h)e
-(it)i(w)m(as)f(b)s(ound)e(app)s(eared)630 1225 y(in)37
+(it)i(w)m(as)f(b)s(ound)e(app)s(eared)630 2690 y(in)37
 b(the)h(input.)61 b(If)37 b(this)h(function)f(is)g(supplied)g(with)g(a)
-h(n)m(umeric)f(argumen)m(t,)j(it)e(passes)630 1335 y(that)31
+h(n)m(umeric)f(argumen)m(t,)j(it)e(passes)630 2800 y(that)31
 b(argumen)m(t)g(to)g(the)f(function)h(it)f(executes.)150
-1494 y Fn(emacs-editing-mode)25 b(\(C-e\))630 1604 y
+2959 y Fn(emacs-editing-mode)25 b(\(C-e\))630 3068 y
 Fo(When)30 b(in)g Fn(vi)g Fo(command)g(mo)s(de,)g(this)h(causes)f(a)h
 (switc)m(h)g(to)g Fn(emacs)e Fo(editing)i(mo)s(de.)150
-1763 y Fn(vi-editing-mode)26 b(\(M-C-j\))630 1873 y Fo(When)k(in)g
+3228 y Fn(vi-editing-mode)26 b(\(M-C-j\))630 3337 y Fo(When)k(in)g
 Fn(emacs)f Fo(editing)i(mo)s(de,)f(this)h(causes)f(a)h(switc)m(h)g(to)g
-Fn(vi)f Fo(editing)h(mo)s(de.)150 2114 y Fm(1.5)68 b(Readline)47
-b(vi)e(Mo)t(de)150 2273 y Fo(While)32 b(the)g(Readline)g(library)f(do)s
+Fn(vi)f Fo(editing)h(mo)s(de.)150 3578 y Fm(1.5)68 b(Readline)47
+b(vi)e(Mo)t(de)150 3738 y Fo(While)32 b(the)g(Readline)g(library)f(do)s
 (es)g(not)h(ha)m(v)m(e)h(a)f(full)f(set)h(of)g Fn(vi)f
 Fo(editing)h(functions,)f(it)h(do)s(es)g(con)m(tain)150
-2383 y(enough)i(to)h(allo)m(w)g(simple)f(editing)h(of)f(the)g(line.)52
+3847 y(enough)i(to)h(allo)m(w)g(simple)f(editing)h(of)f(the)g(line.)52
 b(The)34 b(Readline)g Fn(vi)g Fo(mo)s(de)f(b)s(eha)m(v)m(es)i(as)f(sp)s
-(eci\014ed)f(in)150 2492 y(the)e Fn(sh)e Fo(description)i(in)f(the)g
-Fh(posix)g Fo(standard.)275 2627 y(In)e(order)g(to)i(switc)m(h)g(in)m
+(eci\014ed)f(in)150 3957 y(the)e Fn(sh)e Fo(description)i(in)f(the)g
+Fh(posix)g Fo(standard.)275 4091 y(In)e(order)g(to)i(switc)m(h)g(in)m
 (teractiv)m(ely)i(b)s(et)m(w)m(een)d Fn(emacs)f Fo(and)g
 Fn(vi)h Fo(editing)g(mo)s(des,)g(use)g(the)g(command)150
-2736 y Fg(M-C-j)36 b Fo(\(b)s(ound)h(to)h(emacs-editing-mo)s(de)i(when)
+4201 y Fg(M-C-j)36 b Fo(\(b)s(ound)h(to)h(emacs-editing-mo)s(de)i(when)
 d(in)g Fn(vi)h Fo(mo)s(de)f(and)g(to)i(vi-editing-mo)s(de)g(in)e
-Fn(emacs)150 2846 y Fo(mo)s(de\).)k(The)30 b(Readline)h(default)f(is)g
-Fn(emacs)f Fo(mo)s(de.)275 2980 y(When)g(y)m(ou)i(en)m(ter)f(a)h(line)f
+Fn(emacs)150 4311 y Fo(mo)s(de\).)k(The)30 b(Readline)h(default)f(is)g
+Fn(emacs)f Fo(mo)s(de.)275 4445 y(When)g(y)m(ou)i(en)m(ter)f(a)h(line)f
 (in)g Fn(vi)f Fo(mo)s(de,)h(y)m(ou)h(are)f(already)h(placed)f(in)g
-(`insertion')g(mo)s(de,)g(as)h(if)f(y)m(ou)150 3090 y(had)f(t)m(yp)s
+(`insertion')g(mo)s(de,)g(as)h(if)f(y)m(ou)150 4555 y(had)f(t)m(yp)s
 (ed)g(an)g(`)p Fn(i)p Fo('.)41 b(Pressing)29 b Fn(ESC)f
 Fo(switc)m(hes)i(y)m(ou)g(in)m(to)h(`command')e(mo)s(de,)h(where)e(y)m
-(ou)i(can)g(edit)g(the)150 3200 y(text)35 b(of)f(the)g(line)g(with)f
+(ou)i(can)g(edit)g(the)150 4664 y(text)35 b(of)f(the)g(line)g(with)f
 (the)h(standard)f Fn(vi)g Fo(mo)m(v)m(emen)m(t)j(k)m(eys,)g(mo)m(v)m(e)
-f(to)f(previous)g(history)f(lines)h(with)150 3309 y(`)p
+f(to)f(previous)g(history)f(lines)h(with)150 4774 y(`)p
 Fn(k)p Fo(')d(and)e(subsequen)m(t)h(lines)h(with)f(`)p
 Fn(j)p Fo(',)g(and)g(so)h(forth.)p eop end
 %%Page: 27 30
index ae9ec6eb4f8f267d80202adccfe193aa622b7fd1..51255cacbc6d503d359c4a84bf46d8005ea6e7a0 100644 (file)
@@ -2,8 +2,8 @@
 @comment %**start of header (This is for running Texinfo on a region.)
 @setfilename rluserman.info
 @settitle GNU Readline Library
-@include version.texi
 
+@include version.texi
 @comment %**end of header (This is for running Texinfo on a region.)
 
 @copying
@@ -12,7 +12,7 @@ This manual describes the end user interface of the GNU Readline Library
 consistency of user interface across discrete programs which provide
 a command line interface.
 
-Copyright @copyright{} 1988--2022 Free Software Foundation, Inc.
+Copyright @copyright{} 1988--2024 Free Software Foundation, Inc.
 
 @quotation
 Permission is granted to copy, distribute and/or modify this document
index 13b55884c34c1c37a4107661b53e922d4c365ceb..dd5adb29fb6c1d23b636419b51b11855aa280aaf 100644 (file)
@@ -4855,9 +4855,9 @@ sub update_sec_num {
     my $ret;
 
     $level--; # here we start at 0
-    if ($name =~ /^appendix/ || defined(@appendix_sec_num)) {
+    if ($name =~ /^appendix/ || @appendix_sec_num) {
        # appendix style
-       if (defined(@appendix_sec_num)) {
+       if (@appendix_sec_num) {
            &incr_sec_num($level, @appendix_sec_num);
        } else {
            @appendix_sec_num = ('A', 0, 0, 0);
@@ -4865,7 +4865,7 @@ sub update_sec_num {
        $ret = join('.', @appendix_sec_num[0..$level]);
     } else {
        # normal style
-       if (defined(@normal_sec_num)) 
+       if (@normal_sec_num)
        {
          &incr_sec_num($level, @normal_sec_num);
        } 
index d838538464f6e2e8bcdc69bbe632d4f3d2831802..330b3e934d7366fb34fed175ca96db1a2e9e240f 100644 (file)
@@ -5,7 +5,7 @@ Copyright (C) 1988-2024 Free Software Foundation, Inc.
 @set EDITION 8.3
 @set VERSION 8.3
 
-@set UPDATED 10 October 2024
+@set UPDATED 15 October 2024
 @set UPDATED-MONTH October 2024
 
-@set LASTCHANGE Thu Oct 10 16:33:55 EDT 2024
+@set LASTCHANGE Tue Oct 15 16:54:39 EDT 2024
index 5f34a42387ec1b79d27179b6fb88a856ce70ff66..68ec161ae34d6c220e9287643fd01fbd21b48fb4 100644 (file)
Binary files a/examples/._rlwrap-0.46.1.tar.gz and b/examples/._rlwrap-0.46.1.tar.gz differ
index a5fb11d2ed017e314dfdd055d8d6bf4944cca886..3499d40ce8434581024cae7ba04420af94c9798b 100644 (file)
@@ -742,7 +742,8 @@ history_do_write (const char *filename, int nelements, int overwrite)
   int file, mode, rv, exists;
   struct stat finfo;
 #ifdef HISTORY_USE_MMAP
-  size_t cursize;
+  size_t cursize, newsize;
+  off_t offset;
 
   history_lines_written_to_file = 0;
 
@@ -798,7 +799,11 @@ history_do_write (const char *filename, int nelements, int overwrite)
 #ifdef HISTORY_USE_MMAP
     if (ftruncate (file, buffer_size+cursize) == -1)
       goto mmap_error;
-    buffer = (char *)mmap (0, buffer_size, PROT_READ|PROT_WRITE, MAP_WFLAGS, file, cursize);
+    /* for portability, ensure that we round cursize to a multiple of the
+       page size. */
+    offset = cursize & ~(getpagesize () - 1);
+    newsize = buffer_size + cursize - offset;
+    buffer = (char *)mmap (0, newsize, PROT_READ|PROT_WRITE, MAP_WFLAGS, file, offset);
     if ((void *)buffer == MAP_FAILED)
       {
 mmap_error:
@@ -812,6 +817,7 @@ mmap_error:
        FREE (tempname);
        return rv;
       }
+    j = cursize - offset;
 #else    
     buffer = (char *)malloc (buffer_size);
     if (buffer == 0)
@@ -826,9 +832,10 @@ mmap_error:
        FREE (tempname);
        return rv;
       }
+    j = 0;
 #endif
 
-    for (j = 0, i = history_length - nelements; i < history_length; i++)
+    for (i = history_length - nelements; i < history_length; i++)
       {
        if (history_write_timestamps && the_history[i]->timestamp && the_history[i]->timestamp[0])
          {
@@ -842,7 +849,10 @@ mmap_error:
       }
 
 #ifdef HISTORY_USE_MMAP
-    if (msync (buffer, buffer_size, MS_ASYNC) != 0 || munmap (buffer, buffer_size) != 0)
+    /* make sure we unmap the pages even if the sync fails */
+    if (msync (buffer, newsize, MS_ASYNC) != 0)
+      rv = errno;
+    if (munmap (buffer, newsize) != 0 && rv == 0)
       rv = errno;
 #else
     if (write (file, buffer, buffer_size) < 0)
index 0f275a8d7bb9b9e767871dead674077b52daa35b..4721e3a29f488c0e5a1e2dd0337426ca883d070e 100644 (file)
--- a/history.h
+++ b/history.h
@@ -40,7 +40,7 @@ typedef void *histdata_t;
 
 /* Let's not step on anyone else's define for now, since we don't use this yet. */
 #ifndef HS_HISTORY_VERSION
-#  define HS_HISTORY_VERSION 0x0802    /* History 8.2 */
+#  define HS_HISTORY_VERSION 0x0803    /* History 8.3 */
 #endif
 
 /* The structure used to store a history entry. */
index 9ddf9ce3355d11cf45999b45de77f80b61579e4d..7c1a717b013b285c5df96e289f63171d2b532273 100644 (file)
--- a/isearch.c
+++ b/isearch.c
@@ -742,10 +742,11 @@ opcode_dispatch:
     /* Add character to search string and continue search. */
     default:
 #if defined (HANDLE_MULTIBYTE)
-      wlen = (cxt->mb[0] == 0 || cxt->mb[1] == 0) ? 1 : RL_STRLEN (cxt->mb);
-#else
-      wlen = 1;
+      if (MB_CUR_MAX > 1 && rl_byte_oriented == 0)
+       wlen = (cxt->mb[0] == 0 || cxt->mb[1] == 0) ? 1 : RL_STRLEN (cxt->mb);
+      else
 #endif
+      wlen = 1;
       if (cxt->search_string_index + wlen + 1 >= cxt->search_string_size)
        {
          cxt->search_string_size += 128;       /* 128 much greater than MB_CUR_MAX */
index c58328a90faad94eb863eb9605d482fc3f5517d2..03ab24ab2a7f66a5a7dc1f369a999d8300d246e6 100644 (file)
@@ -1222,6 +1222,7 @@ rl_initialize (void)
 
   /* We aren't done yet.  We haven't even gotten started yet! */
   rl_done = 0;
+  rl_eof_found = 0;
   RL_UNSETSTATE(RL_STATE_DONE|RL_STATE_TIMEOUT|RL_STATE_EOF);
 
   /* Tell the history routines what is going on. */
index d7a441e23a6c438bf77f41d300c00cfbaa97f82b..803617570da78d4fda74d94c10ff7bfc3fe3bb89 100644 (file)
--- a/search.c
+++ b/search.c
@@ -69,7 +69,7 @@ static int _rl_history_search_flags;
 static char *history_search_string;
 static size_t history_string_size;
 
-static void make_history_line_current (HIST_ENTRY *);
+static void make_history_line_current (int, int);
 static int noninc_search_from_pos (char *, int, int, int, int *);
 static int noninc_dosearch (char *, int, int);
 static int noninc_search (int, int);
@@ -96,43 +96,21 @@ _rl_unsave_saved_search_line (void)
   _rl_saved_line_for_search = (HIST_ENTRY *)NULL;
 }
 
-/* We're going to replace the undo list with the one created by inserting
-   the matching line we found, so we want to free rl_undo_list if it's not
-   from a history entry. We assume the undo list does not come from a
-   history entry if we are at the end of the history, entering a new line.
-
-   The call to _rl_maybe_replace_line() has already ensured that any undo
-   list pointing to a history entry has already been saved back to the
-   history and set rl_undo_list to NULL. */
-
+/* Make the data from the history entry at offset NEWPOS be the contents of
+   the current line, which is at offset CURPOS. We use the same strategy
+   as incremental search.
+   This doesn't do anything with rl_point beyond bounds checking; the caller
+   must set it to any desired value. */
 static void
-dispose_saved_search_line (void)
+make_history_line_current (int curpos, int newpos)
 {
-  UNDO_LIST *xlist;
-
-  if (_hs_at_end_of_history () == 0)
-    _rl_unsave_saved_search_line ();
-  else if (_rl_saved_line_for_search)
-    {
-      xlist = _rl_saved_line_for_search ? (UNDO_LIST *)_rl_saved_line_for_search->data : 0;
-      if (xlist)
-       _rl_free_undo_list (xlist);
-      _rl_saved_line_for_search->data = 0;
-      _rl_free_saved_search_line ();
-    }
-}
+  if (newpos < curpos)
+    rl_get_previous_history (curpos - newpos, 0);
+  else
+    rl_get_next_history (newpos - curpos, 0);
 
-/* Make the data from the history entry ENTRY be the contents of the
-   current line.  This doesn't do anything with rl_point; the caller
-   must set it. */
-static void
-make_history_line_current (HIST_ENTRY *entry)
-{
-  /* Now we create a new undo list with a single insert for this text.
-     WE DON'T CHANGE THE ORIGINAL HISTORY ENTRY UNDO LIST */
-  rl_undo_list = 0;    /* XXX */
-  _rl_replace_text (entry->line, 0, rl_end);
   _rl_fix_point (1);
+
 #if defined (VI_MODE)
   if (rl_editing_mode == vi_mode)
     /* POSIX.2 says that the `U' command doesn't affect the copy of any
@@ -195,12 +173,12 @@ noninc_search_from_pos (char *string, int pos, int dir, int flags, int *ncp)
 
 /* Search for a line in the history containing STRING.  If DIR is < 0, the
    search is backwards through previous entries, else through subsequent
-   entries.  Returns 1 if the search was successful, 0 otherwise. */
+   entries. Leaves noninc_history_pos set to the offset of the found history
+   entry, if successful. Returns 1 if the search was successful, 0 otherwise. */
 static int
 noninc_dosearch (char *string, int dir, int flags)
 {
   int oldpos, pos, ind;
-  HIST_ENTRY *entry;
 
   if (string == 0 || *string == '\0' || noninc_history_pos < 0)
     {
@@ -212,29 +190,20 @@ noninc_dosearch (char *string, int dir, int flags)
   if (pos == -1)
     {
       /* Search failed, current history position unchanged. */
-      _rl_unsave_saved_search_line ();
       rl_clear_message ();
-      rl_point = 0;
+      rl_point = 0;            /* caller will fix it up if needed */
       rl_ding ();
       return 0;
     }
 
+  oldpos = where_history ();
   noninc_history_pos = pos;
+  make_history_line_current (oldpos, noninc_history_pos);
 
-  /* We're committed to making the line we found the current contents of
-     rl_line_buffer. We can dispose of _rl_saved_line_for_search. */
-  dispose_saved_search_line ();
-
-  oldpos = where_history ();
-  history_set_pos (noninc_history_pos);
-  entry = current_history ();          /* will never be NULL after successful search */
-  
 #if defined (VI_MODE)
-  if (rl_editing_mode != vi_mode)
+  if (rl_editing_mode == vi_mode)
+    history_set_pos (noninc_history_pos);      /* XXX */
 #endif
-    history_set_pos (oldpos);
-
-  make_history_line_current (entry);
 
   if (_rl_enable_active_region && ((flags & SF_PATTERN) == 0) && ind >= 0 && ind < rl_end)
     {
@@ -271,10 +240,6 @@ _rl_nsearch_init (int dir, int pchar)
   cxt->direction = dir;
   cxt->history_pos = cxt->save_line;
 
-  /* If the current line has changed, put it back into the history if necessary
-     and clear the undo list. */
-  _rl_maybe_replace_line (1);
-
   _rl_saved_line_for_search = _rl_alloc_saved_line ();
 
   /* Clear the undo list, since reading the search string should create its
@@ -405,7 +370,7 @@ _rl_nsearch_dispatch (_rl_search_cxt *cxt, int c)
         }
       else
         _rl_insert_char (1, c);
-      break;
+     break;
 
     default:
 #if defined (HANDLE_MULTIBYTE)
@@ -422,15 +387,26 @@ _rl_nsearch_dispatch (_rl_search_cxt *cxt, int c)
   return 1;
 }
 
-/* Perform one search according to CXT, using NONINC_SEARCH_STRING.  Return
-   -1 if the search should be aborted, any other value means to clean up
-   using _rl_nsearch_cleanup ().  Returns 1 if the search was successful,
-   0 otherwise. */
+/* Perform one search according to CXT, using NONINC_SEARCH_STRING, which
+   we determine, via a call to noninc_dosearch().
+   Return -1 if the search should be aborted, any other value means to clean
+   up using _rl_nsearch_cleanup ().
+   If the search is not successful, we will restore the original line, so
+   make sure we restore rl_point.
+   Returns 1 if the search was successful, 0 otherwise. */
 static int
 _rl_nsearch_dosearch (_rl_search_cxt *cxt)
 {
+  int r;
+
   rl_mark = cxt->save_mark;
 
+  /* We're committed to using the contents of rl_line_buffer as the search
+     string, whatever they are. We no longer need the undo list generated
+     by reading the search string. The old undo list will be restored
+     by _rl_unsave_saved_search_line(). */
+  rl_free_undo_list ();
+
   /* If rl_point == 0, we want to re-use the previous search string and
      start from the saved history position.  If there's no previous search
      string, punt. */
@@ -438,7 +414,7 @@ _rl_nsearch_dosearch (_rl_search_cxt *cxt)
     {
       if (noninc_search_string == 0)
        {
-         _rl_free_saved_search_line ();
+         _rl_unsave_saved_search_line ();      /* XXX */
          rl_ding ();
          if (cxt->sflags & SF_FREEPMT)
            rl_restore_prompt ();
@@ -457,11 +433,7 @@ _rl_nsearch_dosearch (_rl_search_cxt *cxt)
       /* We don't want the subsequent undo list generated by the search
         matching a history line to include the contents of the search string,
         so we need to clear rl_line_buffer here. If we don't want that,
-        change the #if 1 to an #if 0 below. We clear the undo list
-        generated by reading the search string.  (If the search fails, the
-        old undo list will be restored by _rl_unsave_line.) */
-
-      rl_free_undo_list ();
+        change the #if 1 to an #if 0 below. */
 #if 1
       rl_line_buffer[rl_point = rl_end = 0] = '\0';
 #endif
@@ -470,7 +442,15 @@ _rl_nsearch_dosearch (_rl_search_cxt *cxt)
   if (cxt->sflags & SF_FREEPMT)
     rl_restore_prompt ();
   cxt->sflags &= ~SF_FREEPMT;
-  return (noninc_dosearch (noninc_search_string, cxt->direction, cxt->sflags&SF_PATTERN));
+
+  /* We are finished using the line buffer to read the search string, restore
+     the original contents without doing a redisplay. */
+  _rl_unsave_saved_search_line ();             /* XXX */
+
+  r = noninc_dosearch (noninc_search_string, cxt->direction, cxt->sflags&SF_PATTERN);
+  if (r == 0)  /* search failed, we will restore the original line */
+    rl_point = cxt->save_point;
+  return r;
 }
 
 /* Search non-interactively through the history list.  DIR < 0 means to
@@ -537,19 +517,21 @@ rl_noninc_reverse_search (int count, int key)
 int
 rl_noninc_forward_search_again (int count, int key)
 {
-  int r;
+  int r, flags;
 
   if (!noninc_search_string)
     {
       rl_ding ();
       return (1);
     }
+
+  flags = 0;
 #if defined (VI_MODE)
   if (VI_COMMAND_MODE() && key == 'N')
-    r = noninc_dosearch (noninc_search_string, 1, SF_PATTERN);
-  else
+    flags = SF_PATTERN;
 #endif
-    r = noninc_dosearch (noninc_search_string, 1, 0);
+
+  r = noninc_dosearch (noninc_search_string, 1, flags);
   return (r != 1);
 }
 
@@ -559,19 +541,21 @@ rl_noninc_forward_search_again (int count, int key)
 int
 rl_noninc_reverse_search_again (int count, int key)
 {
-  int r;
+  int r, flags;
 
   if (!noninc_search_string)
     {
       rl_ding ();
       return (1);
     }
+
+  flags = 0;
 #if defined (VI_MODE)
   if (VI_COMMAND_MODE() && key == 'n')
-    r = noninc_dosearch (noninc_search_string, -1, SF_PATTERN);
-  else
+    flags = SF_PATTERN;
 #endif
-    r = noninc_dosearch (noninc_search_string, -1, 0);
+
+  r = noninc_dosearch (noninc_search_string, -1, flags);
   return (r != 1);
 }
 
@@ -596,7 +580,11 @@ _rl_nsearch_callback (_rl_search_cxt *cxt)
   return ((r >= 0) ? _rl_nsearch_cleanup (cxt, r) : (r != 1));
 }
 #endif
-  
+
+/* The strategy is to find the line to move to (COUNT occurrences of
+   HISTORY_SEARCH_STRING in direction DIR), then use the same mechanism that
+   incremental search uses to move to it. That's wrapped up in
+   make_history_line_current(). */    
 static int
 rl_history_search_internal (int count, int dir)
 {
@@ -604,15 +592,9 @@ rl_history_search_internal (int count, int dir)
   int ret, oldpos, newcol;
   char *t;
 
-  /* If the current line has changed, put it back into the history if necessary
-     and clear the undo list. */
-  _rl_maybe_replace_line (1);
-
-  _rl_saved_line_for_search = _rl_alloc_saved_line ();
+  oldpos = where_history ();   /* where are we now? */
   temp = (HIST_ENTRY *)NULL;
 
-  oldpos = where_history ();
-
   /* Search COUNT times through the history for a line matching
      history_search_string.  If history_search_string[0] == '^', the
      line must match from the start; otherwise any substring can match.
@@ -629,6 +611,7 @@ rl_history_search_internal (int count, int dir)
       _rl_history_search_pos = ret;
       history_set_pos (_rl_history_search_pos);
       temp = current_history ();       /* will never be NULL after successful search */
+      history_set_pos (oldpos);
 
       /* Don't find multiple instances of the same line. */
       if (prev_line_found && STREQ (prev_line_found, temp->line))
@@ -640,7 +623,6 @@ rl_history_search_internal (int count, int dir)
   /* If we didn't find anything at all, return without changing history offset */
   if (temp == 0)
     {
-      _rl_unsave_saved_search_line ();
       rl_ding ();
       /* If you don't want the saved history line (last match) to show up
          in the line buffer after the search fails, change the #if 0 to
@@ -654,17 +636,13 @@ rl_history_search_internal (int count, int dir)
         }
 #else
       rl_point = _rl_history_search_len;       /* _rl_unsave_line changes it */
-      rl_mark = rl_end;
+      rl_mark = rl_end;                                /* XXX */
 #endif
       return 1;
     }
 
-  /* We're committed to making the line we found the current contents of
-     rl_line_buffer. We can dispose of _rl_saved_line_for_search. */
-  dispose_saved_search_line ();
-
   /* Copy the line we found into the current line buffer. */
-  make_history_line_current (temp);
+  make_history_line_current (oldpos, _rl_history_search_pos);
 
   /* decide where to put rl_point -- need to change this for pattern search */
   if (_rl_history_search_flags & ANCHORED_SEARCH)
diff --git a/util.c b/util.c
index 2bcc776aeb15a01266341339d86eb21f1ee6d4b5..d03c899e57002afe4f4837cb73040bdee01aae89 100644 (file)
--- a/util.c
+++ b/util.c
@@ -205,9 +205,9 @@ rl_tilde_expand (int ignore, int key)
   end = start;
   do
     end++;
-  while (whitespace (rl_line_buffer[end]) == 0 && end < rl_end);
+  while (end < rl_end && whitespace (rl_line_buffer[end]) == 0);
 
-  if (whitespace (rl_line_buffer[end]) || end >= rl_end)
+  if (end >= rl_end || whitespace (rl_line_buffer[end]))
     end--;
 
   /* If the first character of the current word is a tilde, perform